Vous le savez sans doute : lorsque vous envoyez un email son contenu est aussi secret que si vous envoyiez une carte-postale par la poste. Certes pouvoir lire le contenu d'un email à l'insu de l'expéditeur n'est pas à la portée du premier novice mais il est relativement facile pour un connaisseur d'intercepter un email. Encore plus inquiétant, il est hyper-facile pour n'importe quel fournisseur d'accès de lire les emails de ses clients.

Des systèmes d'espionnage à grande échelle comme Echelon sont soupçonnés d'avoir accès au trafic Internet.

C'est le protocole de courrier électronique utilisé couramment sur le Net qui est notamment à l'origine de ces problèmes d'absence de confidentialité. L'unique solution est donc de chiffrer ses messages et ainsi de les préserver des regards indiscrets. Et pourquoi ne pas chiffrer tous ses messages ? Car comme le disait Philipp Zimmerman, créateur du logiciel PGP, il est tout naturel de mettre ses lettres dans des enveloppes lorsqu'on les envoie par la poste alors pourquoi en faire de même avec le courrier électronique ? Certes un courrier chiffré peut paraître suspect, mais si tout le monde le faisait pour tout son courrier, ce serait alors différent. En effet qui peut suspecter une lettre dans une enveloppe ?

Pratiquement pour mener à bien un chiffrement d'un courrier électronique (ou de n'importe quelles données), il faut un algorithme de chiffrement ainsi qu'une clé (qui peut être un mot de passe). Lorsque le système de chiffrement n'est basé que sur une clé privée, on dit qu'il s'agit de chiffrement symétrique car pour chiffrer on utilise une clé qui sera aussi utilisée pour effectuer l'opération inverse : le déchiffrement. Cela implique donc que l'expéditeur et le destinataire partagent le secret de la clé. Mais le point faible de cette technique est qu'il est indispensable que l'expéditeur communique auparavant au destinataire sa clé secrète qu'il a utilisé pour chiffrer son message car sinon le déchiffrement est impossible. Ce système ne peut convenir que pour des personnes proches géographiquement l'une de l'autre car il faut bien communiquer la clé secrète à l'avance et seule une rencontre physique est assez sécurisée.

Avec Internet et le courrier électronique, ce mode de chiffrement est totalement inadéquat, il faut alors utiliser un chiffrement dit asymétrique basé sur une clé privé et une clé publique pour chaque personne. La clé publique est connue de tout le monde (on peut même l'envoyer librement vers un serveur de clé) et sert à chiffrer des données. Une fois les données chiffrées par la clé publique, seule la clé privée correspondante (qui doit être conservée dans le plus grand secret) peut déchiffrer le message, et aucune autre. Une personne X qui veut envoyer un message chiffré à Y récuperera d'abord la clé publique de Y qu'il utilisera pour chiffrer le message ; Y devra utiliser sa clé privée que seul lui possède pour déchiffrer le message. L'algorithme de gestion de clés publiques et privées le plus connu est sans doute RSA , des intiales de ses inventeurs. Il est basé sur la difficulté de factorisation des nombres premiers et restera valable tant que personne n'aura trouvé un algorithme rapide de factorisation. Les progrès de l'informatique quantique pourraient toutefois compromettre ce mode de chiffrement. Un autre algorithme existe également, ElGamal (DH/DSS) basé lui sur les logarithmes discrets. Ce sont ces algorithmes qui sont utilisés dans PGP, le plus célèbre logiciel de cryptage asymétrique créé par Phil Zimmermann. Il est théoriquement possible de casser des messages chiffrés par des techniques de cryptanalyse ou de factorisation, mais au-delà d'une clé d'une certaine longueur, cela devient impraticable car nécessitant des temps de calculs astronomiques.

Ainsi aujourd'hui le chiffrement symétrique en 128 bits (qui équivaut à peu près à 1024 bits en cryptage asymétrique comme RSA) est encore largement suffisant pour protéger ses données de la cryptanalyse pendant un bon bout de temps. Par contre le cryptage symétrique à 40 bits implanté sur les navigateurs téléchargés hors des USA et utilisé avec la technologie SSL est complétement dépassé : pour la NSA casser un message crypté en 40 bits est l'affaire d'une fraction de seconde ; pour le particulier il faut quelques heures. En théorie chaque bit supplémentaire double la difficulté du cassage par force brute (essai exhausitf de toutes les possibilités de clé).

Idéalement pour prétendre avoir un message chiffré théoriquement indécodable avec un algo symétrique, il est nécessaire que la clé secrète soit aussi longue que le message à chiffré. Bien entendu dans la pratique c'est irréalisable, et dans la plupart des pays, les clés dépassant une certaine longueur sont illégales (en France : 128 bits max).

Signature

En fait l'utilisation la plus répandue du fameux logiciel PGP est l'authentification de message. PGP peut ainsi générer en guise de signature une sorte de résumé du document obtenu par un algorithme de hachage (le plus utilisé est le SHA1 qui est aussi reconnu comme le plus sûr). Grâce à cette signature on peut s'assurer que le message provient bien d'un certain expéditeur et qu'il n'a pas été modifié par un tiers (seule la clé privée peut signer le message et la clé publique peut vérifier la signature). En effet la signature qui est fabriquée ne correspond qu'à un unique document. Le fait de modifier ne serait-ce qu'une lettre dans un document de plusieurs millions de caractères change complétement la signature (effet d'avalanche). De plus, il est impossible de faire machine arrière en fabriquant un document correspondant à une signature. La signature est donc infalsifiable et garantit l'origine et l'intégrité du message. Par contre on ne peut avoir aucune garantie sur la date et l'heure de la signature car elles sont conditionnées par la configuration de l'OS du signataire (qui peut antidater ou postdater ses signatures). Pour pallier à cette faille, on peut avoir recours à des services spécialisés de "timestamping". On peut citer à ce titre l'excellent stamper de itconsult.co.uk : il suffit de lui envoyer un message pour qu'il le signe avec une date irréfutable.

Comment peut-on dire qu'une clé publique est digne de confiance ?

C'est le gros problème des systèmes de chiffrement et de signature à clé publique et privée. Car comment savoir si une certaine clé publique appartient vraiment à la personne indiquée. En effet n'importe qui peut créer une clé au nom d'un autre. Par exemple X peut créer une clé au nom de Bob et la publier sur un serveur de clé publique. Ceux qui veulent écrire à Bob risquent de lui écrire en utilisant la clé publique de X. Après il suffit à X d'intercepter le message crypté avec sa clé publique et de le déchiffrer avec la clé privée correspondante qu'il est le seul à avoir.

C'est pourquoi il est indispensable de savoir si une clé publique est digne de confiance. Pour cela, la meilleure méthode est que la personne vous remette en main propre sa clé publique ; mais cette solution s'applique mal à Internet où les gens ne peuvent pas toujours se rencontrer physiquement. Ainsi demandez à la personne par téléphone ou de vive voix le numéro du fingerprint (empreinte) de sa vraie clé publique (le fingerprint est une sorte de résumé infalsifiable de la clé obtenu par un procédé de hachage), si le fingerprint communiqué est identique au fingerprint de sa présumée clé publique que vous possédez, alors ça va. Sinon la clé publique que vous possédez est celle d'un imposteur.

Une fois que vous êtes sûr de la provenance d'une clé, vous pouvez la signer et montrer ainsi que vous vous portez garant de son authenticité. On peut ainsi reconnaître les clé dignes de confiance au nombre de signatures qu'elles comptent ; mais cela ne vous dispense pas de faire une vérification du fingerprint si vous doutez de l'authenticité de la clé.
Il existe également des organismes spécialisés dans la certification de clés publiques (clés PGP ou clés SSL), le plus connu étant Verisign (qui a racheté Thawte le second du secteur). Généralement ces certifications sont payantes mais garantissent l'authenticité de la clé publique en supposant l'autorité de certification sérieuse.

Chiffrement

Bien entendu PGP sert aussi à chiffrer des messages. En fait les algorithmes asymétriques ne sont utilisés que pour chiffrer une clé de session qui chiffrera elle-même le reste du message par un algorithme symétrique. En effet le chiffrer en asymétrique est extrêmement long et exigeant en calculs mathématiques ce qui explique le recours systématique au chiffrement symétrique moins coûteux.
Il est aussi possible de signer et chiffrer un document en une même opération.

Stéganographie

Vous vous demandez sans doute qu'est-ce que la stéganographie, mot curieusement absent de nos dictionnaires. La stégano désigne en fait l'art de dissimuler des informations au milieu d'informations en clair complètement anodines. Par exemple il est possible de faire de la stéganographie avec des images, du son et même du texte. Concrètement un logiciel de stéganographie pourra par exemple dénaturer quelques pixels d'une image pour y installer les informations à cacher. Ces modifications sont imperceptibles et il est impossible pour quiconque de dire que telle ou telle image ou son recèle une information cachée. Et c'est bien là l'intérêt de cette technique ! La stéganographie peut s'avérer ainsi très utile pour les habitants de pays où la cryptographie est sévèrement réprimée. Personne ne pourra prouver que votre photo de vacances abrite des informations cachées très sensibles. Une telle photo anodine n'éveillera l'attention de personne.

Il est même possible de faire de la stéganographie avec du texte pur ASCII, mais attention c'est un peu plus difficile. L'exemple le plus célèbre de stéganographie est sans doute la lettre de George Sand adressée à Alfred de Musset. Bien entendu cet exemple de stéganographie est bien rudimentaire. De nos jours, l'informatique nous permet de faire de la stéganographie beaucoup plus évoluée et imperceptible. Cependant il est clair que la stéganographie informatique avec du texte pur est la moins efficace : il existe des logiciels capables de noyer un texte chiffré mais le texte anodin créé autour n'a souvent ni queue ni tête.

En fait le principal problème concernant la stéganographie est qu'elle est très consommatrice d'octets. Pour cacher une information, il faut la diluer suffisamment. Pour abriter un texte d'une certaine longueur, il faudra avoir à disposition une image ou un son de taille beaucoup plus importante. Par exemple si l'on utilise la technique la plus simple qui consiste à remplacer un bit de chaque pixel de l'image par un bit du message chiffré ; si l'on suppose que chaque pixel est codé sur 24 bits, l'image devra avoir une taille 24 fois plus importante que le message à dissimuler.

Ainsi pour dissimuler le message caché de George Sand, il aurait fallu une image d'au moins 11Ko.

Si tout le monde se mettait à stéganographier ses emails, le trafic IP exploserait. Cependant la stéganographie semble la seule solution efficace face à des systèmes d'espionnages étatiques comme Echelon.

En Grande-Bretagne, une loi autorise les autorités à espionner à volonté les emails directement chez les FAI. Une personne ayant émis un message chiffré peut être obligée à communiquer son message en clair aux autorité sous peine de 2 ans d'emprisonnement. Nul doute qu'avec de telles mesures, la stéganographie a de beaux jours devant elles !

La stéganographie ne sert pas uniquement à des fins cryptographiques : il est possible d'insérer dans une image ou un son des informations de copyright par une technique stéganographique appelée "watermarking". Certaines sociétés spécialisées dans ce domaine comme Digimarc ou Cognicity prétendent que les images et sons peuvent conserver un tatouage de copyright même après retouche ou conversion de formats. Cependant c'est encore loin d'être le cas !

Quelques sites intéressants sur PGP et la cryptologie en général

PGP International
C'est sur ce site que vous pouvez télécharger la version internationale de PGP. En fait la version internationale diffère de la version US par la possibilité d'utiliser des clé RSA.
Anecdote intéressante : du fait que la législation US interdit l'export de PGP de façon électronique, pour fabriquer la version internationale, PGP a été exporté sous forme de documents imprimés sur lesquels figurait le code source. Puis ensuite les documents ont été scannés, traités OCR puis le source a été recompilé.

OpenPGP en français
Un site très intéressant où vous pourrez télécharger les nouvelles versions de logiciels implémentant le standard OpenPGP notamment traduites en français. La documentation en format PDF de PGP y est également traduite pour le plus grand plaisir des francophones.

ScramDisk
La référence en matière d'utilitaire de cryptage de disque. Un grand choix d'algos puissants sont disponibles. Le code source de SD est téléchargeable librement. SD est un freeware. Il offre même des fonctions de stéganographie (il peut cacher vos données secrètes dans des images anodines).

PGP Timestamping %%%
Ce site vous signe instantanément vos documents et garantit la date et l'heure de la signature. De nombreuses options sont possibles : il est aussi possible d'envoyer automatiquement à une adresse email un document avec heure et date d'envoi indiscutables.

ZipLip.com %%%
Vous n'avez pas de logiciel de crypto sous la main ou votre destinataire n'en a pas ? Vous pouvez tout de même envoyer un email depuis le Web avec un minimum de sécurité. Il suffit de remplir le formulaire d'envoi de email crypté de ZipLip et votre destinataire recevra une URL où muni du mot de passe il pourra lire votre message. Il sera nécessaire que vous et votre destinataire ait déjà convenu d'un mot de passe car ZipLip n'assure que du cryptage avec clé secrète.

Thawte.com %%%
Thawte (qui a été racheté par le leader du secteur Verisign) offre à quiconque en fait la demande des certificats S/MIME généralement mieux supportés par les logiciels de messagerie que les clés PGP. Attention toutefois : afin d'authentifier votre demande, vous devrez fournir des éléments très personnels comme votre numéro de sécu ou de carte d'identité.
Thawte peut également servir de tiers certificateur gratuit pour votre clé PGP.

🗓 Publié le lundi 10 avril 2006
Envoyez vos commentaires à propos de cet article