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 003

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 Précédente  1  2  3 
Pseudo Discussion
3 visiteurs sur cette news (0 membre et 3 anonymes)
Page Précédente  1  2  3 
Hors ligne GuGus963 # Posté le 18/08/2008 à 13:31:13
Thelonious Monk is a god
Avatar

Études : Télécom Bretagne

Citation : Pas de titre
C'est logique qu'il ne donne pas le code source de l'algorithme, un algorithme de chiffrement connu, c'est un algo que l'on peut estimer cassé


Mais bien sûr ! :lol:
Perso je ferais pas confiance à un algo soit disant très sûr... que personne ne peut vérifier.
Tu connais AES, blowfish ?
Faut jamais faire reposer la sécurité sur un code source caché... (sécurité par l'obscurité)

Citation : wikipédia
Le principe de Kerckhoffs a été énoncé par Auguste Kerckhoffs à la fin XIXe siècle dans un article en deux parties La cryptographie militaire du Journal des sciences militaires (vol. IX, pp. 5–38, Janvier 1883, pp. 161–191, Février 1883). Ce principe exprime que la sécurité d'un cryptosystème ne doit reposer que sur le secret de la clef. Autrement dit, tous les autres paramètres doivent être supposés publiquement connus. Il a été reformulé, peut-être indépendamment, par Claude Shannon : « l'adversaire connaît le système ». Cette formulation est connue sous le nom de la maxime de Shannon. C'est le principe le plus souvent adopté par les cryptologues, par opposition à la sécurité par l'obscurité.

Interviewer: "What other interests do you have?"
Monk: "Life in general."
Interviewer: "What do you do about it?"
Monk: "Keep breathing."
...
Interviewer: "What do you think the purpose of life is?"
Monk: "To die."

« Jimi Hendrix isn't as good as me! » David Gilmour
« Prince, ce que vous êtes, vous l’êtes par le hasard de la naissance. Ce que je suis, je le suis par moi. Des princes, il y en a et il y en aura encore des milliers. Il n’y a qu’un Beethoven. » Ludwig van Beethoven
 
Hors ligne wgmpgp # Posté le 18/08/2008 à 14:03:22
Rotoclap true fan
Avatar
Groupe : Bannis

Études : EPITA

Citation : M3t4Linux
Moi, je me demande à quoi sert la cryptographie pour des particuliers??

Que peuvent avoir les utilisateurs d'aussi confidentiels pour vouloir chiffrer du contenu??

Une recette révolutionnaire d'un gâteau??

Chiffrer des fichiers qui ne doivent pas être accessibles en cas de vol (moi ça me ferait chier qu'on me pique certains trucs si jamais j'me fais voler mon disque dur), vérifier l'intégrité d'un fichier téléchargé (idem, ça me ferait chier de télécharger un truc dont les données ont étées modifiées avant rediffusion, sans prévenir), vérifier l'utilisateur à l'origine d'un mail/message (très pratique pour tout ce qui est mailing lists ou mails importants).

Le SSL, utilisé pour chiffrer les transactions importantes (qui évite notamment qu'on te pique tes infos banquaires quand tu commande en ligne), est de plus en plus courant de nos jours, les wifi sont maintenant encryptés en AES (ou TKIP selon les gens) pour éviter le sniffage des informations, etc.

La cryptographie est partout de nos jours. Elle est juste transparente pour l'utilisateur ;) .
 
Hors ligne Renault # Posté le 18/08/2008 à 15:32:02
Powered by GNU/Linux Fedora
Avatar
Newsers
Flux RSS

Ville : Ollioules
Pays : France métropolitaine
Études : ISEN Toulon

J'ajoute que Jabber et peut être d'autres messageries supportent la cryptographie pour éviter que les administrateurs des serveurs regardent le contenu des messages (après tout ça ne les regarde pas). Quand on voit que certaines entreprises le font constamment (notamment sous tutelle de l'État et sa lutte contre le n'importe quoi).

La cryptographie est utilisé partout aujourd'hui et reste utile, en cas de vol de disque dur on est bien content d'avoir des partitions cryptées surtout si on a des données sensibles (informations bancaires, état des comptes financiers, fichiers du boulot top secret, mots de passe et identifiants et d'autres).

Après pour ce qui est du cassage, à part quelques rares entreprises et les agences gouvernementales bien équipées, on aura du mal à casser votre clé...

« L'entropie d'un code augmente avec le temps qui s'écoule et le nombre de développeurs qui s'y ajoutent » — De moi même.

Si vous n'êtes pas satisfait d'un Logiciel Libre, plutôt que de troller ou de critiquer, vous pouvez rapporter des bogues ou soumettre des patchs. C'est communautaire, c'est pour chacun puisse apporter sa pierre à l’édifice.


 
Hors ligne Calysto # Posté le 18/08/2008 à 15:36:39
Moyomoh!
Avatar

Études : SUPINFO Canada à Montréal

Citation : GuGus963
Citation : Pas de titre
C'est logique qu'il ne donne pas le code source de l'algorithme, un algorithme de chiffrement connu, c'est un algo que l'on peut estimer cassé


Mais bien sûr ! :lol:
Perso je ferais pas confiance à un algo soit disant très sûr... que personne ne peut vérifier.


La divulgation d'un algo de cryptage est considéré comme un cassage d'algo dans les entreprises spécialisé dans la cryptographie. Si une personne connaissant l'algo (et qui sont en général très peu) se permet de le divulguer, il a intérêt a avoir un sacré avocat ;) Connaitre l'algo ne veut pas dire que tu déchiffreras les données utilisant cet algo (encore faut il connaitre les clés), mais son secret est une des conditions de sécurité. Tu crois vraiment que les plus grandes entreprises vont diffuser leur algo parce que leurs clients veulent être certains que ces algos soient sûr? Ce ne sont pas les clients qui iront vérifier la fiabilité de l'algo et ils font confiance aux experts sécurité de l'entreprise. De la même, les armées ne vont pas s'amuser à diffuser leur algo, ça ne leur sert à rien.

Pour l'intérêt de la cryptographie pour les particuliers, de mon point de vu, le plus grand intérêt, c'est la signature des mails qui leur donne une valeur juridique alors qu'un mail non signé ne vaut strictement que dalle devant un tribunal.

"L'objet de la philosophie, c'est de partir d'une chose si simple que ça ne vaut pas la peine d'en parler et d'arriver à une chose si compliquée que personne n'y comprend plus rien."
Bertrand Russell.

Big Brother Awards
 
Hors ligne Renault # Posté le 18/08/2008 à 15:59:13
Powered by GNU/Linux Fedora
Avatar
Newsers
Flux RSS

Ville : Ollioules
Pays : France métropolitaine
Études : ISEN Toulon

Un courriel non signé a de la valeur devant un tribunal, pas formel mais peut en avoir. Comme tout document numérique.

Après ce qui est bizarre, GPG, libre et modifiable etc. Est sans doute l'un des plus utilisés et plus surs méthodes de cryptage car il a été vérifié x fois et se base sur PGP qui est réputé pour être sûr. Et jusque là à part les agences gouvernementales, je ne vois personne capable de casser le code de ces algorithmes tellement qu'il faut des moyens colossaux pour le faire dans un délai raisonnable. De toute façon si la France veut que tu montres le contenu de fichier chiffré, tu devras leur fournir la clé comme le stipule la loi concernant cette pratique, au moins ils n'ont pas besoin de sortir des serveurs de malades pour faire ce boulot. :D

« L'entropie d'un code augmente avec le temps qui s'écoule et le nombre de développeurs qui s'y ajoutent » — De moi même.

Si vous n'êtes pas satisfait d'un Logiciel Libre, plutôt que de troller ou de critiquer, vous pouvez rapporter des bogues ou soumettre des patchs. C'est communautaire, c'est pour chacun puisse apporter sa pierre à l’édifice.


 
Hors ligne bluestorm # Posté le 18/08/2008 à 16:03:59
dont ask to ask
Avatar
Groupe : Anciens
Flux RSS

Citation
Tu crois vraiment que les plus grandes entreprises vont diffuser leur algo parce que leurs clients veulent être certains que ces algos soient sûr? Ce ne sont pas les clients qui iront vérifier la fiabilité de l'algo et ils font confiance aux experts sécurité de l'entreprise.

Sauf que la plupart des entreprises, même très grandes, n'ont pas les compétences pour concevoir des algos solides et nouveaux.

Pour info, quand les américains ont eu besoin d'un nouveau algorithme de chiffrement (DES commençant à se faire vieux), ils ont fait un appel public aux chercheurs, qui ont mis au point, discuté, testé et comparé de nombreux algorithmes avant que AES soit choisi (c'est pour cela qu'on appelle maintenant cet épisode le processus AES).

Les spécialistes de la sécurité se sont depuis longtemps rendu compte qu'une discussion ouverte était la plus sûre des protections, et c'est à ma connaissance la méthode employée par tous les individus responsables dans ce domaine, car (à part peut-être les institutions militaires des plus grands états comme les USA ou la Chine) peu de gens ont les moyens de nos jours de créer de toutes pièces des algorithmes de chiffrement solides.
 
Hors ligne Calysto # Posté le 18/08/2008 à 16:52:20
Moyomoh!
Avatar

Études : SUPINFO Canada à Montréal

Citation : bluestorm
Citation
Tu crois vraiment que les plus grandes entreprises vont diffuser leur algo parce que leurs clients veulent être certains que ces algos soient sûr? Ce ne sont pas les clients qui iront vérifier la fiabilité de l'algo et ils font confiance aux experts sécurité de l'entreprise.

Sauf que la plupart des entreprises, même très grandes, n'ont pas les compétences pour concevoir des algos solides et nouveaux.


Quand je parle des entreprises, je parle des entreprises spécialisés en crypto (type Nagra) qui ne vont pas diffuser leur algo à leurs entreprises clientes ;)

@Renault: il me semble avoir vu en cours de droit qu'un mail non signé à moins de valeur qu'une lettre. Il peut être utilisé mais là où une lettre peut avoir un poids important, un mail est négligeable à coté (il ne peut pas faire office de preuve) alors que signé, il a la même valeur qu'une lettre.

"L'objet de la philosophie, c'est de partir d'une chose si simple que ça ne vaut pas la peine d'en parler et d'arriver à une chose si compliquée que personne n'y comprend plus rien."
Bertrand Russell.

Big Brother Awards
 
Connecté Thunderseb # Posté le 18/08/2008 à 17:36:32
Responsable de la validation
Avatar
Validateurs

Ville : Liège
Pays : Belgique

Skyrock fait de bons algos aussi. Ils ont inventé un système que seuls les ados peuvent lire : skyblog. C'est pas mal trouvé quand on y pense.
 
Hors ligne gouttegd # Posté le 19/08/2008 à 01:50:33
Serenity is a RAID 1 array.
Avatar

Citation : Calysto
@Renault: il me semble avoir vu en cours de droit qu'un mail non signé à moins de valeur qu'une lettre. Il peut être utilisé mais là où une lettre peut avoir un poids important, un mail est négligeable à coté (il ne peut pas faire office de preuve) alors que signé, il a la même valeur qu'une lettre.

En France (et a priori c'est aussi valable pour toute l'Union Européenne), une signature électronique, pour peu qu'elle fasse appel à des procédés « présumés fiables », a la même valeur qu'une signature manuscrite (source).

En revanche, si le procédé de signature n'est pas « présumé fiable », le document signé « ne pourra pas être refusé au titre de preuve en justice mais ne pourra prétendre à un niveau de reconnaissance équivalant à celui de la signature manuscrite. »

« Je vous aiderai si vous me promettez d'aider quelqu'un d'autre en retour. » --- Anonyme
« Soyez vigilant lorsque vous vous exprimez dans un forum électronique. Vos fautes de frappes et de syntaxe vous poursuivront pour l'éternité. » --- Linus B. Torvalds

De la gestion automatique des dépendances...
 
Hors ligne lerat # Posté le 19/08/2008 à 22:22:18
Fiero di essere italiano
Avatar

Voici un lien pdf très intéresant ! Voir les points 5, 6 et 7 ; ils parlent des cryptages et algorithmes.

Voici un extrait pour ceux qui comprennent (donc pas moi :D)
Citation
These are the default key lengths, algorithms, and padding mades used :
-HMAC : Default keys are 256 bits. SHA1 used as the hash algorithm.
-AES : Default keys are 128 bis. 192 and 256 bit keys are also supported.
-DSA : DSA-SHA1 signing algorithm used by default. Default key size is 1024 bits.
-RSA Encryption : RSA-OAEP encryption is used. Default key size is 2048 bits. 1024, 768, and 512 bit keys are also supported.
-RSA Signature : RAS-SHA1 signing is used. Default key size is 2048 bits. 1024,768, and 512 bit keys are also supported.

C'est pas l'homme qui prend la bière, c'est la bièr' qui prend l'homme. Moi, la bière, elle m'a pris, je m'souviens, à l'unif.

 
Hors ligne Bakakun # Posté le 25/08/2008 à 15:44:22
\o/
Avatar

Ville : Bicqueley
Pays : France métropolitaine
Études : ESIAL

Bonne news, mais le coté histoire est un peu bafoué, même si le but n'est pas la.

Image utilisateur
 
Pour accéder à cette section
Connectez-vous !
connexion_rpx

Revenir à la liste des news