Aller au menu - Aller au contenu

Keyczar : le chiffrement à la portée de tous les programmeurs

Revenir à la liste des news
Participer à la discussion

Informations

Contributeur(s) : wgmpgp
Publié : le 16/08/2008 à 11:04:17
Catégorie : Programmation
Visualisations : 1 308

Keyczar : le chiffrement à la portée de tous les [...]

Image utilisateur
La cryptographie est un procédé utilisé depuis l’antiquité pour transporter des informations sans en permettre l’interception par des éventuels ennemis. En effet, certains messages sont parfois cruciaux et leur découverte pourraît être grave en conséquences. Ainsi, elle fut notamment utilisée à des fins militaires dans ses débuts : on peut notamment citer l’exemple de la machine de chiffrement Enigma, qui était utilisée par les allemands durant la seconde guerre mondiale.

De nos jours, les méthodes utilisées pour le chiffrement d’informations ont bien évolué depuis l’antiquité  : en effet, les contraintes ne sont pas les mêmes qu’à l’époque, et empêchent donc une utilisation pratique des vieilles méthodes de chiffrement (j’en donnerai quelques exemples plus bas). De plus, la cryptographie s’est maintenant démocratisée et est utilisée dans la vie de tous les jours pour rendre nos communications confidentielles : en effet, on peut notamment citer l’exemple du SSL sécurisant les communications sur l’Internet, ou même nos téléphones portables, qui chiffrent nos communications grâce à des informations contenues dans leur carte SIM.

Cependant, malgré de nombreuses bibliothèques, la mise en place de chiffrement dans un programme est souvent compliquée et nécessite beaucoup de connaissances théoriques. C’est sur ce constat que les équipes de la Google Online Security ont développé leur nouveau bébé, nommé Keyczar, permettant en une ligne de crypter des informations en faisant abstraction des détails techniques. De plus, cette bibliothèque est libre, c’est à dire que son code source est ouvert à tous et réutilisable dans vos applications.

Avant de vous expliquer quels sont les avantages et les fonctionnalités de Keyczar par rapport aux autres bibliothèques de chiffrement existantes, faisons tout d’abord un petit rappel des principes de base de la cryptographie, qui vous permettront ensuite de mieux comprendre les fonctionnalités de Keyczar.

Le chiffrement : comment ça marche ?



Tout d’abord, on peut dissocier deux cas de chiffrements : les algorithmes de chiffrement symétriques, et les algorithmes asymétriques. Alors que les premiers nécessitent de communiquer une clé pour crypter ou décrypter le message, les seconds utilisent eux deux clés différentes : une pour le chiffrement et une pour le déchiffrement.

Les algorithmes de chiffrement symétriques



Chronologiquement, ces algorithmes ont été les plus utilisés car ce sont les plus simples à mettre en place, et car c’est également le moyen le plus intuitif. Déja dans la Grèce antique, en 600 avant J.C, ce genre de chiffrements existaient via l’usage d’un scytale, un baton en bois. Les romains utilisèrent ensuite une autre méthode de chiffrement, qui consistait en un décalage des lettres de l’alphabet. On utilise encore ce genre d’algorithmes, comme le montre l’adoption du standard AES en octobre 2000.

Cependant, le chiffrement symétrique pose un problème : pour que l’interlocuteur puisse déchiffrer notre message chiffré, il doit connaître la clé que nous avons utilisée. Mais pour lui fournir la clé, il n’y a que deux moyens : soit l’avoir communiquée directement de manière sûre avant d’être séparés, soit la communiquer chiffrée… ce qui nous fait un beau cercle vicieux obligeant la plupart du temps à transmettre la clé de façon non sécurisée, rendant ainsi le chiffrement vulnérable.

Les algorithmes de chiffrement asymétriques



Les algorithmes de chiffrement asymétriques se basent sur l’arithmétique (un domaine des mathématiques) pour créer deux clés réciproques par interlocuteur. Pour communiquer à deux, nous avons donc chacun deux clés, générées automatiquement par un programme par exemple (on peut notamment citer openssl, très utilisé de nos jours à cet effet). La première clé, aussi appelée clé publique, n’est utilisée que pour crypter les informations, on peut donc la diffuser sans soucis (d’où son nom de clé publique). La seconde, clé privée, ne doit pas être diffusée : elle est la seule à pouvoir déchiffrer des messages chiffrés avec la clé publique qui va de paire.

Ainsi, si Alice veut envoyer un message secret à Bob, elle va demander à Bob sa clé publique (en pratique, on peut la trouver dans des annuaires de clés sur Internet par exemple), chiffrer son message avec la clé publique de Bob, et lui envoyer le message chiffré. Ainsi, Bob, seul détenteur de la clé privée, est le seul à pouvoir décrypter le message.

Pour reprendre une analogie que l’on trouve souvent pour simplifier l’explication, on peut imaginer que Alice possède un coffre-fort et sa clé. Elle envoie le coffre-fort ouvert à Bob en gardant la clé. Bob va ensuite placer le message dans le coffre et le refermer, avant de le renvoyer à Alice. Alice était la seule à posséder la clé du coffre, elle peut maintenant l’ouvrir.

Les fonctionnalités de Keyczar



Image utilisateur
La visée de Keyczar est d’être un outil à la fois simple et fiable à l’utilisation. Ainsi, il permet le chiffrement et le déchiffrement, aussi bien symétrique qu’asymétrique, et cela en une ligne de code. Les deux langages pouvant actuellement utiliser cette bibliothèque sont Java et Python, et une traduction du projet vers le C++ est actuellement en cours.

Ainsi, pour crypter symétriquement un message, on fait très simplement comme ceci en langage Python :

Code : Python
1
message_crypte = Crypter.Read("/chemin/vers/les/cles").Encrypt("Message")


On fait de cette façon abstraction de tous les détails d’implémentation derrière, qui sont de toute façon gérés par Keyczar. Les clés sont générées par un outil fourni avec la bibliothèque, très simple d’utilisation lui aussi. À côté des fonctionnalités de chiffrement, cette bibliothèque permet aussi de signer des messages pour en assurer l’intégrité et l’expéditeur (ainsi, vos messages ne pourront pas être modifiés à votre insu).

Un des plus gros défauts de cette bibliothèque est cependant sa jeunesse : en effet, sortie le 11 août dernier, pratiquement aucune application ne l’utilise à ce jour, et la documentation est encore loin d’être abondante. De plus, elle n’est actuellement utilisable que dans deux langages différents, mais cela risque de changer dans les semaines à venir. ;)

Liens externes



71 Participations

Pour accéder à cette section
Connectez-vous !
connexion_rpx
Page 1  2  3  Suivante
Pseudo Discussion
1 visiteur sur cette news (0 membre et 1 Anonyme)
Page 1  2  3  Suivante
Hors ligne Ssx3max # Posté le 16/08/2008 à 11:09:04
Avatar

Ville : Locmiquélic
Pays : France métropolitaine

Super news encore une fois, mais a part le python, c'est quoi l'autre langage ?

Image utilisateur

Follow me on Twitter
“Linux is only free if your time is worthless.” (Linus Torvalds)
 
Hors ligne wgmpgp # Posté le 16/08/2008 à 11:09:50
Rotoclap true fan
Avatar

études : EPITA

Citation
Les deux langages pouvant actuellement utiliser cette bibliothèque sont Java et Python, et une traduction du projet vers le C++ est actuellement en cours.


;)
 
Hors ligne BSoD # Posté le 16/08/2008 à 11:13:44

Intéressant, mais j'aurais bien aimé en savoir plus sur l'algo utilisé.

Est-ce basé sur RSA (comme PGP) ou est-ce un algo totalement nouveau ?

Bonne news en tout cas. :)
Hors ligne Ssx3max # Posté le 16/08/2008 à 11:14:02
Avatar

Ville : Locmiquélic
Pays : France métropolitaine

Ah ouais ça m'apprendra a sauter un demi paragraphe ><

Image utilisateur

Follow me on Twitter
“Linux is only free if your time is worthless.” (Linus Torvalds)
 
Hors ligne Michacke # Posté le 16/08/2008 à 11:17:16
Je suis l'ombre de moi même !
Avatar

Bonne news ;) . Dommage que ce cryptage ne soit pas possible dans d'autres langages autres que le Java et le Python ... :o

Bannis sous demande. Supression => trop délicat alors, j'ai été bannis avec mon consentement ;) .
 
Hors ligne wgmpgp # Posté le 16/08/2008 à 11:17:48
Rotoclap true fan
Avatar

études : EPITA

Citation : BSoD
Intéressant, mais j'aurais bien aimer en savoir plus sur l'algo utilisé.

Est-ce basé sur RSA (comme PGP) ou est-ce un algo totalement nouveau ?

Bonne news en tout cas. :)

Un des avantages de cette lib (ou des inconvénients, selon comment on voit les choses, moi je trouve ça plutôt cool vu le but de cette lib), est que l'algorithme utilisé dépend fortement de l'implémentation, et que c'est transparent pour les utilisateurs. Je suppose que c'est basé sur AES pour le chiffrement symétrique, et RSA pour l'asymétrique, mais sans certitude.

EDIT: Pour celui juste au dessus, comme je l'ai dit dans ma news, c'est une lib très jeune, qui sera amenée à évoluer dans le futur. Les développeurs n'ayant pas besoin d'autres langages que Java et Python, ils n'ont pas développé cette lib pour d'autres langages. Ça sera le boulot réalisé par les contributeurs externes, je suppose :) .
 
Hors ligne Zanpa # Posté le 16/08/2008 à 11:21:55
Avatar

Ce qui me fait rire, c'est que les explications sur le cryptage paraissent issues d'un Science et Vie Junior d'il y a quelques années : Alice et Bob, Enigma, les scytales et le cryptage de César :D
Hors ligne kedare # Posté le 16/08/2008 à 11:21:58
101010
Avatar
Flux RSS

Ville : Neauphle le château
Pays : France métropolitaine
études : IRIS

la version python respecte pas les conventions de nommage du langage -> poubelle

Image utilisateur Image utilisateur Image utilisateur

Institut Supérieur de Ressources Informatiques
 
Hors ligne Vinch # Posté le 16/08/2008 à 11:24:19
Avatar

Citation : Zanpa
Ce qui me fait rire, c'est que les explications sur le cryptage paraissent issues d'un Science et Vie Junior d'il y a quelques années : Alice et Bob, Enigma, les scytales et le cryptage de César :D


Je croit que tu as raison, surtout avec l'histoire des Clés privées et publiques :-° . Mais merci, ça peut servir à ceux qui utilisent Java ou Python.
Hors ligne wgmpgp # Posté le 16/08/2008 à 11:27:36
Rotoclap true fan
Avatar

études : EPITA

Citation : Zanpa
Ce qui me fait rire, c'est que les explications sur le cryptage paraissent issues d'un Science et Vie Junior d'il y a quelques années : Alice et Bob, Enigma, les scytales et le cryptage de César :D

Alice et Bob c'est des classiques en cryptographie, tu trouves ça partout. Pour les scytales, le cryptage de César et Enigma, c'est une pure coïncidence, j'ai jamais lu Science et Vie Junior ;) .

Et pour Kedare, soit, c'est pas PEP8-compliant, mais PyQt4 non plus, et pas mal d'autres libs également, ça m'a jamais géné de les utiliser. Et c'est pas comme si tu codais en Python aussi :-° .
 
Hors ligne Michacke # Posté le 16/08/2008 à 11:29:15
Je suis l'ombre de moi même !
Avatar

Pourrai-je savoir quand as-tu proposé cette news wgmpgp ?

Bannis sous demande. Supression => trop délicat alors, j'ai été bannis avec mon consentement ;) .
 
Hors ligne wgmpgp # Posté le 16/08/2008 à 11:31:38
Rotoclap true fan
Avatar

études : EPITA

Citation : Michacke
Pourrai-je savoir quand as-tu proposé cette news wgmpgp ?

Euh, il y a 3 jours exactement si mes souvenirs sont bons ;) . Avoir des contacts chez les newsers ça aide, tavu ? :-°
 
Hors ligne Michacke # Posté le 16/08/2008 à 11:31:53
Je suis l'ombre de moi même !
Avatar

Ok, merci ;) .

Bannis sous demande. Supression => trop délicat alors, j'ai été bannis avec mon consentement ;) .
 
Hors ligne Barbatos # Posté le 16/08/2008 à 11:39:46
UrT addict.
Avatar

Ville : Petit couronne
Pays : France métropolitaine

Bonne news, merci. :)

Image utilisateur

Urban Terror, un FPS gratuit en ligne basé sur le moteur q3.
http://urbanterror.net
http://urban-terror.fr
Image utilisateur
 
Hors ligne Gartek # Posté le 16/08/2008 à 11:47:17
Avatar

Très très bonne news, merci beaucoup.
Connecté Ferterps # Posté le 16/08/2008 à 12:04:13
Avatar

Ville : Waldighoffen
Pays : France métropolitaine

Bonne news, vivement que la traduction en C++ soit finie !

:: Tutoriel de configuration d'awesome ::
Citation : Citation
90% of teens today would die if Facebook was completely destroyed. If you are one of the 10% that would be laughing, copy and paste this to your signature.
 
Hors ligne kedare # Posté le 16/08/2008 à 12:08:06
101010
Avatar
Flux RSS

Ville : Neauphle le château
Pays : France métropolitaine
études : IRIS

Citation : wgmpgp

Et pour Kedare, soit, c'est pas PEP8-compliant, mais PyQt4 non plus, et pas mal d'autres libs également, ça m'a jamais géné de les utiliser. Et c'est pas comme si tu codais en Python aussi :-° .

ouais mais moi c'est pour tout langage, si l'api ne respecte pas la convention de nommage du langage, je l'utilise pas :-° (d'ailleur c'est ce qui me saoulais beaucoups dans python, il y a plein de lib qui respecte pas ca, alors qu'en ruby ou java c'est super rare)

Image utilisateur Image utilisateur Image utilisateur

Institut Supérieur de Ressources Informatiques
 
Hors ligne Black- # Posté le 16/08/2008 à 12:19:43
Possimpible
Avatar

Bonne news :)
 
Hors ligne Orangeloulou # Posté le 16/08/2008 à 12:46:19
Orange ? Niam !
Avatar

Bonne news:) J'ai adoré l'exemple simplifié xD
Sinon, intéressant c Keyczar ^^, je vais essayer pour voir :D

Image utilisateur
Si votre sujet est résolu, pensez à nous le faire savoir grâce au bouton Image utilisateur en bas de la page, merci.
 
Hors ligne seb2020 # Posté le 16/08/2008 à 12:53:06
Suisse -> Valais
Avatar

études : Ecole des Metiers du Valais

intéressant comme outils.
Hors ligne alt3rnat1x # Posté le 16/08/2008 à 13:07:24
Avatar

Citation : Zanpa
Ce qui me fait rire, c'est que les explications sur le cryptage paraissent issues d'un Science et Vie Junior d'il y a quelques années : Alice et Bob, Enigma, les scytales et le cryptage de César :D
J'ai pensé exactement la même chose en lisant l'article ^^

Image utilisateur
 
Hors ligne Artefact2 # Posté le 16/08/2008 à 13:14:54
Attention, je mords
Avatar

Ville : Reims
Pays : France métropolitaine

La nouvelle est intéressante.

Citation : Niouze
Les romains utilisèrent ensuite une autre méthode de chiffrement, qui consistait en un décalage des lettres de l’alphabet.


Vigénère ou ROT13 ? Si c'est la deuxième option, ce passage n'est pas correct. En effet, on parle de chiffrement lorsque c'est la clé qui permet de déchiffrer le message. Le fait de savoir le fonctionnement de l'algorithme n'y change rien. On parle cepandant de codage lorsque c'est le fait de ne pas savoir l'algorithme de chiffrement qui rend le message difficile a décoder (il n'y a pas de clé).

Ca fait plaisir aussi de ne pas avoir entendu une seule fois le mot "crypter" qui vient de nulle part et qui n'existe pas ^^

Image utilisateur
Image utilisateur
 
Hors ligne wgmpgp # Posté le 16/08/2008 à 13:17:58
Rotoclap true fan
Avatar

études : EPITA

Citation : Artefact2
La nouvelle est intéressante.

Citation : Niouze
Les romains utilisèrent ensuite une autre méthode de chiffrement, qui consistait en un décalage des lettres de l’alphabet.


Vigénère ou ROT13 ? Si c'est la deuxième option, ce passage n'est pas correct. En effet, on parle de chiffrement lorsque c'est la clé qui permet de déchiffrer le message. Le fait de savoir le fonctionnement de l'algorithme n'y change rien. On parle cepandant de codage lorsque c'est le fait de ne pas savoir l'algorithme de chiffrement qui rend le message difficile a décoder (il n'y a pas de clé).

Ca fait plaisir aussi de ne pas avoir entendu une seule fois le mot "crypter" qui vient de nulle part et qui n'existe pas ^^

Nope, renseigne toi sur le chiffrement de césar, qui est bien antérieur à Vigenère ou ROT13, mais également beaucoup plus basique ;) .
 
Hors ligne Vorex # Posté le 16/08/2008 à 13:26:30
Ecouter, Comprendre, Se taire

Ville : Chartres
Pays : France métropolitaine
études : CESI Paris

Tres bonne news, et le coté "histoire" et "explication" est très bien écrit, merci bien que je ne pense pas m'en servir c'est toujours bon de savoir que ca existe.

Vorex
 
Hors ligne Tranber # Posté le 16/08/2008 à 13:47:25
Avatar

Ville : Villejuif
Pays : France métropolitaine
études : Sup'Biotech

Merci très bonne news même si je ne pense pas l'utiliser (une traduction en PHP ? :lol: )

Et si on faisait des news codées ? o_O

Image utilisateur
 
Hors ligne elmh # Posté le 16/08/2008 à 13:51:03
Baka !
Avatar

études : Université de Reims

Y'a plusieurs fois le mot crypter dans la news au fait... 8-)
Même si je ne vois pas le mal avec ce mot :p

Citation : wgmpgp
De nos jours, les méthodes utilisées pour le chiffrement d’informations ont bien évoluées depuis l’antiquité


Je tenais juste à signaler la faute sur le deuxième participe passé ;)

Et encore une petite ici :
Citation : wgmpgp
et empêchent donc une utilisation pratique des vielles méthodes

le mot vieille ayant perdu un de ses i :)

News néanmoins intéressante.

Voie ambiguë d'un cœur qui au zéphyr préfère les jattes de kiwis.

Image utilisateur
 
Hors ligne wgmpgp # Posté le 16/08/2008 à 14:02:47
Rotoclap true fan
Avatar

études : EPITA

elmh -> Tu aurais du utiliser le lien « Signaler une erreur » en bas de la news ;) . Néanmoins, je fais remonter ça aux newsers tout de suite :) .
 
Hors ligne Gapan # Posté le 16/08/2008 à 14:11:58
Avatar

études : SUPINFO Pays de la Loire à Nantes

Citation : Artefact2
Ca fait plaisir aussi de ne pas avoir entendu une seule fois le mot "crypter" qui vient de nulle part et qui n'existe pas ^^

Le mot crypter existe pas ?
T'as vu ça où ? :o
Hors ligne BSoD # Posté le 16/08/2008 à 14:13:29

Citation : Gapan
Citation : Artefact2
Ca fait plaisir aussi de ne pas avoir entendu une seule fois le mot "crypter" qui vient de nulle part et qui n'existe pas ^^

Le mot crypter existe pas ?
T'as vu ça où ? :o


Citation : Wikipédia
Le terme « cryptage » est un anglicisme, tiré de l'anglais encryption. En français, on doit employer le mot chiffrement.
L'Académie française précise que le mot « cryptage » est à bannir et il ne figure pas dans son dictionnaire même si on peut le trouver dans des usuels. Toutefois, « crypter » est souvent employé, surtout au passif, dans le cadre de la télévision payante (on « crypte » des chaînes). D'ailleurs la racine grecque kryptô (caché) justifie pleinement son utilisation chaque fois que le chiffrement, c’est-à-dire la conversion en chiffres, est utilisé pour cacher le message, le déchiffrement constitue la conversion des chiffres en lettres pour retrouver le message, alors que le décryptage consiste à le découvrir.

Afin de répondre à l'interrogation « mais pour quelle raison ne pas employer ce mot ? », le premier argument consiste à reprendre les différentes définitions des mots chiffrer/déchiffrer et de décrypter (voir l'article cryptographie). Décrypter désignant le fait de « retrouver le message clair correspondant à un message chiffré sans posséder la clé de déchiffrement », l'usage tel qu'il tend à se développer du pseudo-couple crypter/décrypter va simplement les faire tendre à l'état de synonyme de chiffrer/déchiffrer (tout comme les anglophones avec encipher/decipher et encrypt/decrypt). Ainsi plutôt que de gagner un nouveau mot (en l'occurrence crypter) sans nouveau sens, nous perdrons un ancien sens, le sens actuel de décrypter.
Hors ligne wgmpgp # Posté le 16/08/2008 à 14:14:36
Rotoclap true fan
Avatar

études : EPITA

Citation : Gapan
Citation : Artefact2
Ca fait plaisir aussi de ne pas avoir entendu une seule fois le mot "crypter" qui vient de nulle part et qui n'existe pas ^^

Le mot crypter existe pas ?
T'as vu ça où ? :o

Disons plutôt qu'on a repris le mot anglais « to encrypt » pour illustrer un concept qui existait déja sous le nom de chiffrement...
 
Pour accéder à cette section
Connectez-vous !
connexion_rpx

Revenir à la liste des news