• ambroisebaudot

La cryptographie, sujet de niche ou base des communications ?

Données chiffrés, cryptage, chiffrement de bout-en-bout, HTTPS… Autant de termes familiers omniprésents aujourd’hui, mais dont on ne sait pas toujours à quoi ils correspondent en réalité. Pourquoi tant d’importance accordée au chiffrement ? Mais avant tout, qu’est-ce que la cryptographie ?

La cryptographie est une science, visant à assurer la confidentialité des échanges. Il faut pour cela :

  • S’assurer de l’identité de ceux qui discutent (si je veux parler à Alice, il ne faut pas que quelqu’un d’autre puisse se faire passer pour Alice),

  • S’assurer que personne d’autre ne pourra lire cette conversation secrète (mon message ne doit pas pouvoir être intercepté et déchiffré).

A noter : en cybersécurité, d’autres facteurs entrent en ligne de compte, comme l’intégrité du message (il ne doit pas pouvoir être altéré, ou plutôt je dois pouvoir détecter s’il a été altéré ou non), ou encore la disponibilité.



Motivations


Sans la cryptographie, tout Internet serait public. Autrement dit, on ne pourrait par exemple pas effectuer de paiement sur internet ni accéder à ses mails sans divulguer ses informations personnelles (mot de passe, numéro de CB…). De même, vos communications seraient compréhensibles par tous. C’est donc la cryptographie qui vous permet d’assurer la confidentialité sur internet, d’utiliser différents services (tout ce qui nécessite mot de passe, identifiant…) et de manière plus générale, d’assurer la confidentialité sur tous les canaux de communication et de stockage (ondes radiotéléphoniques, communications filaires, serveurs, etc.).


Histoire


Depuis la nuit des temps, vouloir envoyer un message secret a été une préoccupation, notamment pour les usages militaires et politiques. Ainsi, le « chiffre de César » est sans doute le chiffrement ancien le plus connu (il consiste à décaler l’alphabet utilisé). Mais beaucoup de chiffrements de toutes époques (de la Grèce Antique à nos jours, en passant par le Moyen-Âge), et de tous lieux restent aujourd’hui des mystères impossibles à déchiffrer.

Plus récemment, c’est au XXème siècle que l’usage des techniques de cryptographie est devenue un standard, principalement pendant les guerres mondiales (notamment Enigma, utilisé par les Allemands pendant la 2nde guerre). L’arrivée des communications par les ondes a rendu l’usage de la cryptographie indispensable, d’abord pour des usages militaires, puis à destination du grand public.


Comment chiffrer un message aujourd’hui ? Qu’est-ce que la cryptographie concrètement ?


Primitives

Intéressons-nous dans un premier temps à chiffrer un mot. Ou un nombre. On utilise généralement une « clef », dont on suppose qu’elle ne sera pas connue du public (nous reviendrons sur ce point). Par exemple, pour chiffrer un nombre x, je peux convenir que tous les nombres seront multipliés par 193. 193 est la clef : on a besoin de connaître ce nombre pour utiliser mon système de chiffrement. Autrement, il est inintelligible.

Une primitive cryptographique est un ensemble de fonctions, dont l’une, « chiffrement » prend en entrée un texte à chiffrer, éventuellement une clef, et renvoie le texte chiffré. L’autre, « déchiffrement », prend en entrée un texte chiffré, éventuellement une clef, et renvoie le texte déchiffré.


Protocoles

Mais cela ne suffit pas. Les primitives sont la partie « mathématique » du problème. Mais si Bob dit à Alice « utilisons 193 comme clef », n’importe qui peut les espionner. Ou encore, sur internet, sans même s’échanger la clef, on peut usurper l’identité d’un destinataire. Par exemple, Amazon m’envoie un remboursement. Un pirate peut se faire passer pour moi, usurper mon identité, et poursuivre la conversation avec Amazon au lieu de moi.

Pour cela, des protocoles sont mis en place. Ces protocoles cryptographiques assurent différentes propriétés, comme l’authenticité des destinataires, ou encore la confidentialité du contenu. Par exemple, TLS est un de ces protocoles.

Une combinaison « primitive – protocole » est appelé crypto-système. C’est en réalité ce crypto-système qui permet d’envoyer et de recevoir des messages chiffrés.


Systèmes symétriques et asymétriques

Sans rentrer dans les détails, on peut noter l’existence de deux familles principales de crypto-systèmes : les crypto-systèmes symétriques et asymétriques.

  • Les crypto-systèmes symétriques utilisent la même clef pour chiffrer et déchiffrer les messages. Par exemple, « multiplier les nombres par 193 » est un chiffrement symétrique : si on connaît la clef, on peut chiffrer et déchiffrer un message. Ces systèmes sont généralement peu coûteux (en termes de temps, de mémoire, etc.), mais plus difficile à sécuriser d’un point de vue protocole.


  • Les crypto-systèmes asymétriques n’utilisent pas ce principe. Chaque utilisateur dispose d’une paire de clef : une privée, utilisée pour le déchiffrement (seul moi peut déchiffrer), et une publique, utilisée pour le chiffrement (tout le monde peut m’envoyer un message chiffré). Ces systèmes sont plus chers, et utilisent des opérations à sens unique.

Par exemple, multiplier des nombres premiers entre eux est une opération à sens unique. En effet, faire 17*29 (=493) est facile. Mais factoriser, à partir de 493, retrouver la seule décomposition entière (i.e. retrouver 17 et 29), est difficile. La cryptographie asymétrique se base sur ce genre de problème à sens unique. Pour aller plus loin : problèmes à base de logarithme discret, courbes elliptiques.


Attaques

Les attaques sont très nombreuses en cryptographie, en utilisant des méthodes très diverses. Des problèmes tels que la difficulté à générer un nombre aléatoire, ou bien prédire la répercussion d’une perturbation lors du chiffrement (variation du texte à chiffrer), ou encore les attaques par canaux auxiliaires (sur le matériel, indépendamment des crypto-méthodes), sont des sujets très étudiés et très actuels. Une faille dans un crypto-système peut avoir d’immenses répercussions, notamment sur Internet (comme la perte de la confidentialité de tous les échanges, par exemple).


Qui fait quoi ?


  • Les utilisateurs : tout le monde utilise sans le savoir la cryptographie.

  • Les chercheurs : face à des problématiques très actuelles (méthodes sur le point d’être dépassées par la puissance du matériel informatique, mise en service industrielle des systèmes quantiques, etc.), de nouvelles méthodes font l’objet d’études car les standards doivent en permanence s’adapter.

  • Les Etats, les grandes entreprises, développent fortement leurs systèmes de cryptographie, stimulant cette recherche.

  • Les éditeurs, les concepteurs de langage informatique, de logiciels, etc. actualisent leurs méthodes et solutions en fonction des failles trouvées.

Quant à nous, nous devons savoir à quoi correspondent les termes utilisés. "Chiffré avec telle méthode" ne signifie pas forcément que vos échange sont sûrs. Et même si vous utilisez un crypto-système "sûr" (RSA, par exemple), gardez à l'esprit que c'est la méthode qui est sûre, à partir d'une certaine taille de clef, sous certaines conditions, dans une certaine limite ; par exemple, votre message ne sera pas très sûr si vous vous contentez d'une clef (mot de passe) faible.


Enfin, rappelons que la cryptographie n'est qu'un maillon de la chaîne. La force de la chaîne est la force du maillon le plus faible : si vous envoyez un message chiffré de manière sûre d'un point de vue cryptographique, vous devez tout autant prêter attention au reste de la chaîne (de l'ordinateur potentiellement infecté à vos voisins qui regardent votre écran).,


Coup de projecteur


La cryptographie est un éternel « match de tennis » depuis des millénaires, opposant cryptographie (chiffrement) et cryptanalyse (attaque), qui ne sont qu’une et même science. Les standards actuels ne seront plus en mesure de répondre aux problématiques actuelles d’ici quelques années (puissances de calculs, systèmes quantiques, etc.), peut-être moins. La recherche, très active dans ce domaine, propose des embryons de piste (comme la cryptographie post-quantique), qui doivent continuer de se développer pour permettre de déployer de nouveaux standards. Sans crypto-systèmes fiables, c’est l’utilisation d’Internet tout entier, de votre téléphone, de votre CB sans contact, qui prendra fin.


Ambroise BAUDOT







Ouvrage de référence :

  • Simon Singh, The Code Book: The Science of Secrecy from Ancient Egypt to Quantum Cryptography, 2000

Introduction de l'ANSSI :

Pour aller plus loin, exemple de cryptographie post-quantique :

59 vues0 commentaire