La plupart des responsables sécurité et des informaticiens considèrent la cryptographie, ou « crypto », comme une « boite noire ». Ils ne souhaitent pas forcément comprendre son fonctionnement, car cela fait appel à des concepts mathématiques complexes et inaccessibles au commun des mortels. Cette idée recèle une partie de vérité, mais les principes de base sont simples à comprendre. Un examen de ces derniers permet de savoir lequel il faut utiliser, dans quel cas, et avec quel degré de sécurité réelle.
NOTA BENE : Pour éviter toute confusion, l’article désignera par « crypté » tout élément non « lisible », et par « décrypter » les techniques qui permettent de le rendre lisible. Si on dispose de la clé, on parlera de « déchiffrer » (au plutôt que « décrypter »). « Décrypter » consiste donc à rouler dans une voiture sans avoir la clé de contact, tandis que « déchiffrer » revient à rouler dans une voiture dont on possède la clé (ce qui ne signifie pas forcément qu’on en est le propriétaire)…
Dans son histoire courte « Le scarabée d’or » éditée en 1843, Edgar Allan Poe explique les rudiments du cassage de code secret, et imagine que l’esprit humain pourra casser n’importe quel code que l’ingéniosité humaine pourrait concevoir. Pendant le siècle et demi suivant, la bagarre entre les concepteurs de codes et les briseurs de code a connu des intrications et les complications qui auraient fait le bonheur d’Edgar Poe. Un code réputé incassable a bien été inventé en 1918, bien que son invulnérabilité n’ait pas été prouvée avant les années 1940. Le code dit « symétrique » était plutôt impraticable, parce qu’il exigeait de l’expéditeur et du récepteur de convenir à l’avance d’une clé -un chiffre aléatoire secret-, avec dans certains cas une utilisation unique chaque fois qu’un message secret a été transmis. Des codes plus pratiques, avec des clés courtes et réutilisables, voire aucune clé secrète du tout, n’ont été développés dans les années 70, mais à ce jour ils stagnent dans un flou mathématique, sans qu’aucune preuve de « cassabilité » ou d’invulnérabilité ne soit réellement établie.
L’art de la cryptographie apparaît il y a plus 2 500 ans avec les Egyptiens, Les Grecs puis les Romains. Jules César et son fameux « code 3 » ont joué un rôle important dans l’Histoire. Le message codé ou « cryptogramme » le plus célèbre, la note de Zimmermann, a probablement précipité l’entrée des États-Unis dans la Première Guerre mondiale. Quand le cryptogramme a été cassé en 1917, les Américains comprirent que l’Allemagne avait essayé d’attirer le Mexique à adhérer à son effort de guerre, en promettant des territoires américains au Mexique en cas de victoire. Presque simultanément, les Américains Gilbert S. Vernam d’ATT Company et Joseph Mauborane des transmissions de l’armée américaine ont développé le premier code réputé incassable appelé le chiffre de Vernam. Une particularité distinctive de ce code est son besoin de clé unique utilisée pour crypter le message transmis, en n’étant jamais réutilisée pour envoyer un autre message. (Le chiffre de Vernam est également connu comme le carnet à feuilles jetable des espions, chaque feuille étant utilisée pour coder un message puis détruite soigneusement, comme le magnétophone dans « Mission Impossible »…). La découverte du chiffrement de Vernam a généré peu d’utilisations industrielles à l’époque. D’une part, parce que l’invulnérabilité n’a été prouvée que beaucoup plus tard ; d’autre part, parce que ses conditions d’utilisation étaient peu pratiques pour les particuliers et les entreprises. Du moins, jusqu’à l’apparition de l’ordinateur personnel vers 1980.
• La crypto symétrique : de la seconde guerre mondiale à Che Guevara
En 1967 l’armée bolivienne capture et exécute le révolutionnaire Che Guevara, et trouve sur son corps un brouillon de message à transmettre au Président cubain Fidel Castro. Le Che a employé le fameux chiffrement réputé incassable inventé par Gilbert Vernam en 1918. Les lettres composant le message du Che (en Espagnol) sont traduites une première fois en un nombre décimal à deux chiffres par une règle fixe.
Par lui-même ce procédé n’aurait assuré pratiquement aucune protection. Les chiffres du message sont alors répartis dans des blocs à cinq chiffres. Ils deviennent la ligne supérieure de chaque groupe de trois lignes sur la feuille de brouillon. La ligne au milieu de chaque groupe incarne la clé, une combinaison de chiffres aléatoires connus seulement de Guevara et Castro :

On additionne alors le chiffre de la première et deuxième ligne pour produire un cryptogramme, formant le résultat sur la troisième ligne, qui est la seule envoyée par des moyens classiques interceptables comme le télégraphe ou la radio ondes courtes.
En raison de l’addition des chiffres principaux avec ceux aléatoires, ce cryptogramme devient lui-même une chaine décimale aléatoire, ne diffusant aucune information sur le message original, excepté pour quelqu’un qui connait la clé. À l’autre bout, le bureau du code de Castro soustrait les mêmes chiffres au message reçu reconstruisant alors dans l’ordre les nombres de la rangée supérieure, ce qui donne le message en clair. Nombre d’espions et de diplomates ont employé le chiffre de Vernam tout au long du 20ème siècle.
La clé, plutôt que d’utiliser des chiffres décimaux, utilise maintenant des éléments binaires 0 et 1, et les additions et les soustractions étant effectuées en base 2 par la machine, plutôt qu’en base 10 à la main.
Néanmoins, la clef doit encore être disponible à la fois lorsqu’elle permet de produire le code et au moment du déchiffrement. Donc, elle doit être parfaitement conservée durant toutes les phases de livraison et de stockage pour l’empêcher de tomber entre les mains d’un adversaire.
En raison de cette limitation, les soldats et les diplomates ont continué à utiliser des systèmes plus faibles utilisant des clés plus courtes ou réutilisées. C’est pourquoi, pendant la Deuxième Guerre mondiale, les alliés ont pu lire la plupart des messages secrets transmis par les Allemands et les Japonais. Il n’était pas aisé de casser ces codes, mais c’était surtout une question de temps. Par exemple, certaines lettres ont une fréquence plus élevée dans une langue, le « e » ou le « s » plutôt que le « q » ou le « x »… En comptant les occurrences d’une série, on pouvait éventuellement en déduire des lettres, voire des syllabes utilisées davantage dans une langue, comme « et » ou « par »… Ce dispositif s’appelle la cryptanalyse. Les Américains ont donc utilisé des Indiens Navajo pour leurs messages « source » ce qui brouillait le message en clair pour les Japonais qui cherchaient des mots en Anglais… Mais en essayant toutes les combinaisons possibles avec 26 lettres et 10 chiffres, on finira fatalement par casser le code. On appelle cette technique le « brute force ». La tâche formidable de casser des codes de plus en plus sophistiqués fût donc l’un des facteurs qui ont stimulé le développement des ordinateurs capables d’exécuter des millions d’opérations, donc de tentatives par seconde.
• Crypto asymétrique recourt à des clés publiques
Sous l’impulsion de l’armée américaine, l’intérêt universitaire pour la cryptologie s’est développé au milieu des années 70, quand Whitfield Diffie, Martin E. Hellman et Ralph C. Merkle, de l’Université de Stanford, ont conçu le principe de la cryptographie à clefs publiques (PKC).
Un peu après, en 1977, Ronald L. Rivest, Adi Shamir et Leonard M. Adleman, du MIT, ont conçu une application pratique : l’infrastructure à clefs publiques asymétriques ou PKI. Ces systèmes diffèrent de tous les codes précédents, du fait que les parties souhaitant communiquer n’ont pas besoin de convenir d’une clé secrète à l’avance. L’idée de la PKI pour un utilisateur, que nous appellerons Alice, est de choisir aléatoirement une paire mutuellement inversible employée à la fois pour le chiffrage et le déchiffrage ; elle publie alors les instructions pour effectuer le chiffrage (clef publique) mais pas le déchiffrage (clef privée).
Un autre utilisateur, appelé Bob, peut alors utiliser l’algorithme public d’Alice pour préparer un message que seule Alice peut déchiffrer. Ainsi, n’importe qui, y compris Alice, peut utiliser l’algorithme de chiffrement public de Bob pour préparer un message que seulement lui peut déchiffrer. C’est simple il suffisait d’y penser ! Ainsi, Alice et Bob peuvent converser secrètement sans partager le moindre secret préalable.
Les PKI sont donc particulièrement appropriées pour chiffrer le courrier électronique et les transactions commerciales, qui se produisent souvent entre les parties qui, à la différence des diplomates et des espions, n’ont pas prévu préalablement leur besoin de communiquer secrètement. En contrepartie, on ne sait pas si ces systèmes utilisés dans toutes nos transactions bancaires -par exemple à travers SSL et HTTPS- sont réellement solides.
En effet, Shamir en 1982, maintenant à l’institut de Weizmann de la Science en Israël, à craqué l’un de ces systèmes le knapsack cipher. En juillet 2004, deux jeunes femmes de l’Université de Shanghai ont annoncé la possibilité de calcul d’inversion de MD5 et SHA1, protocoles largement utilisés dans toutes nos communications chiffrées.
Edgar Poe doit sourire dans sa tombe ! Il se pourrait qu’il y ait une méthode d’attaque intelligente, jusqu’ici non découverte, qui pourrait casser tout code secret actuel en quelques minutes, voire « au fil de l’eau ». Il se peut qu’Alice et Bob aient du souci à se faire si une puissance nationale ou économique disposait d’une telle puissance de calcul…
Diffie et Hellman ont d’ailleurs alerté de nombreuses fois la communauté scientifique dans les années 90, en expliquant qu’il y avait une faille grossière dans le codage de deux bits de DES (triple DES est largement utilisé dans nos communications chiffrées notamment dans HTTPS ). Il se pourrait que cette faille ait été introduite volontairement lors de la conception du code pour permettre à une puissance nationale de décoder facilement les échanges cryptés sur son territoire. Ainsi, la confidentialité des données et des flux chiffrés ne la serait pas pour tout le monde…
Partager |
|
![]() Mauro ISRAEL, Expert sécurité Professeur à l’ENST au Mastère Spécialisé en Sécurité - Professeur à l’Université des Sciences et Techniques de Lille au Mastère en Intelligence Economique Global e-business - ISO27001 Certified Lead Auditor. Site web : www.netwizz.com |



