Techniques de cryptographie
Il fait tellement partie de notre quotidien que nous l’ignorons. Nous l’utilisons comme nous le faisons d’une voiture sans savoir par quel miracle technique elle avance ou d’un téléviseur sans nous douter de tous les domaines de la physique mis en œuvre pour recevoir le son et l’image. Le chiffrement, qui nous permet d’accéder aux réseaux sociaux et aux sites web avec mot de passe, est quant à lui une application magistrale des mathématiques (et plus particulièrement de l’arithmétique).
Principe et définitions
Selon le Larousse, le chiffrement est une « opération qui consiste à transformer un message à transmettre, dit "message clair", en un autre message, inintelligible pour un tiers, dit "message chiffré", en vue d’assurer le secret de sa transmission » et la cryptographie est « l’ensemble des techniques de chiffrement qui assurent l’inviolabilité des textes et, en informatique, de données ». Ne pas confondre avec la stéganographie qui est la technique visant à dissimuler le support du message (encre invisible, par exemple).
Donc, un algorithme crypte le message émis avec une clé, puis un autre algorithme fait l’opération inverse à l’aide d’une autre clé (ou la même) afin que le message redevienne clair pour le destinataire. Ainsi, pour déchiffrer un message, un cyberattaquant doit connaître la règle générale de chiffrement (l’algorithme) et un paramètre spécifique au message (la clé).
Un chiffrement est vulnérable aux attaques par force brute, c’est-à-dire à l’essai de toutes les possibilités pour déchiffrer un message. Plus la clé est longue, moins le cyberattaquant risque de la découvrir mais plus le traitement prend du temps.
Au sens strict, le codage est le fait de remplacer des mots par d’autres tandis que le chiffrement consiste à remplacer des caractères.
Historique
On a trouvé des hiéroglyphes et une tablette babylonienne datant de plusieurs millénaires qui laissent supposer un langage codé.
La scytale spartiate était un cylindre de bois autour duquel on enroulait une bande de cuir avec un message inscrit. Une fois déroulée, le texte devenait illisible sans le cylindre de la bonne taille.
Le chiffre de César était plutôt rudimentaire. C’est une méthode de substitution dans laquelle chaque lettre est remplacée par une autre située un certain nombre de places plus loin dans l’alphabet. Par exemple, si l’on décale de trois lettres, CESAR devient FHVDU.
Dans notre exemple où la clé est simplement +3, un Z devient C puisqu’on revient nécessairement au début de l’alphabet pour coder les lettres qui le terminent.
Ce système peut être perfectionné avec des clés qui ne sont pas de simples additions. On appelle code de César toute technique qui associe le rang d’une lettre au rang d’une autre, modulo 26 (pour les alphabets à 26 lettres).
Le Moyen Âge et la Renaissance ont vu apparaître des méthodes plus sophistiquées comme le chiffre de Vigenère, une amélioration du chiffre de César (la clé diffère selon le rang du caractère dans le message).
Au vingtième siècle, le chiffrement a pris une importance stratégique, notamment lors des guerres mondiales. La machine Enigma, utilisée par l’Allemagne nazie, a été un défi majeur pour les Alliés, qui ont réussi à la déchiffrer grâce aux travaux du génial Alan Turing. On peut considérer que le premier ordinateur de l’histoire fut construit pour cette mission de décryptage.
À cette époque, pour plus de sûreté, les États-Unis appliquaient le chiffrement à des langues dont il n’existait alors aucun dictionnaire de traduction, en l’occurrence celles des Amérindiens. Si par exemple l’émetteur et le récepteur étaient des Navajos qui s’exprimaient dans leur langue, même le meilleur mathématicien du monde ne pouvait déchiffrer leurs messages !
Techniques d’aujourd’hui
Il existe principalement deux techniques.
- le chiffrement symétrique est une technique où une seule clé sert à chiffrer et déchiffrer. L'expéditeur et le destinataire doivent donc la connaître pour que le message soit crypté puis décrypté. Exemples : DES (Data Encryption Standard), AES (Advanced Encryption Standard) … Le Triple DES (3DES) est aussi appelé chiffrement par blocs puisqu'il convertit le message en texte chiffré par blocs. Il génère des clés de 192 bits. AES génère quant à lui des clés de 128, 192 ou 256 bits. Toute attaque par force brute est vouée à l’échec !
Comme les algorithmes symétriques sont relativement économes en ressources informatiques, leurs avantages sont la rapidité, l’efficacité et une bonne adaptation aux fortes volumétries. Les inconvénients sont la difficulté de gestion et d’échange sécurisé de la clé. Par ailleurs, la gestion de clés à plusieurs utilisateurs est plutôt complexe. - Le chiffrement asymétrique a été introduit dans les années 1970. Il repose sur une paire de clés : l'une publique (pour chiffrer) et l'autre privée (pour déchiffrer). Celle-ci n’est possédée que par les personnes autorisées. Exemples : RSA, ECC (Elliptic Curve Cryptography) … Avec ses clés de 1 024, 2 048 ou 4 096 bits, RSA est une technique idéale pour la protection d’informations très sensibles.
Le principal avantage est l’élimination du problème d’échange de clé. Comme ce système est plus évolutif, la clé peut être partagée par plusieurs utilisateurs. En revanche, les calculs sont complexes, ce qui rend la technique plus lente et plus gourmande en ressources que le chiffrement symétrique.
Les applications qui existent sur Internet utilisent souvent une combinaison des deux techniques : le chiffrement asymétrique pour la connexion parce qu’il est le plus sûr, puis le symétrique lors de la session web ou de la conversation parce qu’il est le plus rapide.
Protections
L’Infrastructure à Clé Publique (PKI) est un ensemble de technologies et de procédures qui permettent de gérer les clés de chiffrement et les certificats numériques, assurant la sécurité des communications, l’authentification des utilisateurs et l’intégrité des données.
Voyons quelques exemples de communications protégées par le chiffrement.
- Messageries sécurisées : WhatsApp, Signal et d’autres applications utilisent le chiffrement de bout en bout, ce qui signifie que seuls l’expéditeur et le destinataire sont capables de lire les messages. Même les serveurs de l’entreprise ne le peuvent pas. Ce type de chiffrement repose souvent sur des protocoles comme Signal Protocol, qui combine les chiffrements asymétrique et symétrique.
- Protocoles sécurisés : HTTPS assure la confidentialité des échanges sur Internet (d’accord, le site sur lequel vous vous trouvez n’est pas HTTPS, mais il ne vous propose aucun échange !).
- TLS (Transport Layer Security) protège les communications sur Internet en sécurisant les connexions entre clients et serveurs.
- IPsec (Internet Protocol Security) assure la confidentialité et l’authentification des communications au niveau réseau, notamment pour les VPN.
Les données sont elles aussi sécurisées.
- Le stockage chiffré permet de protéger les fichiers et les disques durs contre les accès non autorisés en rendant les données illisibles sans la clé de déchiffrement. Des solutions comme BitLocker (intégré à Windows) et VeraCrypt (logiciel open source) utilisent des algorithmes de chiffrement puissants, comme AES, pour sécuriser les données. Cette solution est particulièrement utile en cas de vol ou de perte d’un appareil, empêchant ainsi des individus malveillants d’accéder aux informations stockées. Un chiffrement matériel intégré peut même s’ajouter pour améliorer la sécurité.
- Les cartes bancaires utilisent le chiffrement pour sécuriser les paiements.
- WPA3 (Wi-Fi Protected Access 3) renforce la sécurité des réseaux wifi grâce au chiffrement qui assure une excellente protection contre les attaques par force brute.
L’authenticité d’un document est assurée par la signature numérique.
Les certificats numériques sont quant à eux des documents électroniques utilisés pour garantir l'identité d'un individu, d'une organisation ou d'un site web. Ils sont délivrés par une autorité de certification (CA) et contiennent des informations telles que le nom du titulaire, la clé publique associée et la signature de l’autorité de certification. Ils jouent un rôle essentiel dans la sécurisation des communications en garantissant que les parties impliquées sont bien celles qu'elles prétendent être. Les certificats numériques sont notamment utilisés pour le protocole HTTPS, assurant ainsi la sécurité des échanges entre navigateurs et sites web.
Défis et Perspectives
À l’avenir, les ordinateurs quantiques pourraient casser les algorithmes actuels, d’où le développement du chiffrement post-quantique.
Certains gouvernements veulent limiter l’usage du chiffrement pour des raisons de lutte contre la criminalité, ce qui soulève un problème éthique : comment concilier sécurité et respect de la vie privée ?