La plupart des gens connaissent aujourd'hui l'idée de base de la cryptographie, à savoir le chiffrement d'un message pour le sécuriser de manière à ce qu'il ne soit pas lisible par tout le monde. Cette familiarité n'est pas surprenante étant donné la multitude de cas d'utilisation du cryptage, qui vont des signatures numériques et des certificats SSL qui sécurisent les sites web aux crypto-monnaies comme le bitcoin et aux infrastructures à clé publique (PKI).
Cependant, la cryptographie ne se résume pas à ce que l'on pourrait croire. Les algorithmes cryptographiques sont des formules mathématiques définies et très complexes, dont les plus anciennes sont antérieures à la technologie moderne.
Aujourd'hui, deux types de cryptographie sont souvent utilisés : la cryptographie symétrique et la cryptographie asymétrique. Cet article explore les différences entre ces deux types de cryptographie, les avantages et les inconvénients de chacun et les cas d'utilisation courants de chaque approche.
Qu'est-ce que la cryptographie symétrique ?
La cryptographie symétrique utilise des permutations mathématiques pour crypter un message en texte clair. Elle utilise également la même permutation mathématique, appelée clé, pour décrypter les messages.
Il est important de noter que la même lettre en texte clair n'apparaît pas toujours de la même manière dans le message crypté (par exemple, "SSS" ne serait pas crypté en trois caractères identiques), ce qui rend difficile le décodage du message crypté sans la clé.
Même s'il est difficile de décrypter des messages sans la clé, le fait que cette approche utilise la même clé pour le cryptage et le décryptage crée un risque. Plus précisément, les personnes (ou les technologies) qui souhaitent correspondre par le biais du chiffrement symétrique doivent partager la clé pour le faire, et si le canal utilisé pour partager la clé est compromis, l'ensemble du système de partage des messages sécurisés l'est également, puisque toute personne possédant la clé peut chiffrer ou déchiffrer ces communications.
Selon les normes actuelles, le cryptage symétrique est un algorithme cryptographique relativement simple, mais il était autrefois considéré comme le nec plus ultra et était utilisé par l'armée allemande pendant la Seconde Guerre mondiale.
Qu'est-ce que la cryptographie asymétrique ?
La cryptographie asymétrique utilise également des permutations mathématiques pour crypter un message en texte clair, mais elle utilise deux permutations différentes, encore appelées clés, pour crypter et décrypter les messages. Avec la cryptographie asymétrique, une clé publique qui peut être partagée avec n'importe qui est utilisée pour crypter les messages, tandis qu'une clé privée qui n'est connue que du destinataire est utilisée pour décrypter les messages.
Il doit être relativement facile de calculer la clé publique à partir de la clé privée, mais presque impossible de faire l'inverse et de générer la clé privée à partir de la clé publique. Trois permutations mathématiques populaires, connues sous le nom de RSA, ECC et Diffie-Hellman, permettent d'atteindre cet objectif aujourd'hui. Chacune utilise des algorithmes différents, mais elles reposent toutes sur les mêmes principes de base. Par exemple, l'algorithme RSA 2048 bits génère aléatoirement deux nombres premiers de 1024 bits chacun, puis les multiplie. La réponse à cette équation est la clé publique, tandis que les deux nombres premiers qui ont créé la réponse sont la clé privée.
Comment cela fonctionne-t-il exactement ? Supposons qu'Alice veuille envoyer un message privé à Bob. Bob peut partager sa clé publique avec Alice, qui l'utilise alors pour crypter son message. Une fois le message chiffré, seule la clé privée de Bob peut le déchiffrer. Cela signifie que tant que Bob s'assure que personne d'autre ne possède sa clé privée, personne ne peut lire le message crypté
L'exemple ci-dessus offre un moyen plus sûr de chiffrer les messages que la cryptographie symétrique ; cependant, la cryptographie asymétrique permet également d'autres cas d'utilisation plus avancés.
Prenons l'exemple des signatures numériques. Dans ce cas, Bob peut vouloir envoyer un message à Alice et y ajouter une signature numérique afin qu'elle puisse vérifier que c'est bien Bob qui l'a envoyé. Il peut le faire en chiffrant une signature à l'aide de sa clé privée. Lorsqu'Alice reçoit le message, elle peut utiliser la clé publique de Bob pour vérifier que Bob (ou une personne possédant la clé privée de Bob) a bien envoyé le message et que celui-ci n'a pas été modifié en cours de route (car s'il a été modifié, la vérification échoue).
Il est important de noter que tous ces exemples sont à sens unique. Pour inverser l'un d'entre eux (par exemple, pour que Bob puisse envoyer des messages privés à Alice et qu'Alice puisse envoyer à Bob des messages contenant sa signature numérique), Alice a besoin de sa propre clé privée et doit partager la clé publique correspondante avec Bob.
Quels sont les avantages et les inconvénients de la cryptographie symétrique par rapport à la cryptographie asymétrique ?
La cryptographie asymétrique est peut-être plus avancée que la cryptographie symétrique, mais les deux sont encore utilisées aujourd'hui - et souvent en tandem. Cela s'explique par le fait que chaque approche présente des avantages et des inconvénients. Il existe deux grands compromis entre la cryptographie symétrique et la cryptographie asymétrique : La vitesse et la sécurité.
Vitesse : la cryptographie symétrique l'emporte sur la cryptographie asymétrique
Tout d'abord, nous avons la vitesse, où la cryptographie symétrique a un énorme avantage sur la cryptographie asymétrique. La cryptographie symétrique est plus rapide à exécuter (en termes de cryptage et de décryptage) parce que les clés utilisées sont beaucoup plus courtes que celles de la cryptographie asymétrique. En outre, le fait qu'une seule clé soit utilisée (contre deux pour la cryptographie asymétrique) rend l'ensemble du processus plus rapide.
En revanche, la vitesse plus lente de la cryptographie asymétrique rend non seulement le processus de partage des messages beaucoup moins efficace, mais elle peut également créer des problèmes de performance, car les processus du réseau s'enlisent en essayant de crypter et/ou de décrypter les messages à l'aide de la cryptographie asymétrique. Cela peut entraîner des processus lents, des problèmes de capacité de mémoire et un épuisement rapide des batteries.
Sécurité : La cryptographie asymétrique l'emporte sur la cryptographie symétrique
Deuxièmement, nous avons la sécurité, pour laquelle la cryptographie asymétrique présente un avantage par rapport à la cryptographie symétrique. La cryptographie symétrique comporte un risque élevé en ce qui concerne la transmission des clés, étant donné que la même clé utilisée pour crypter les messages doit être partagée avec toute personne qui a besoin de décrypter ces messages. Chaque fois que la clé est partagée, le risque d'interception par un tiers involontaire existe.
La cryptographie asymétrique offre une meilleure sécurité car elle utilise deux clés différentes : une clé publique qui n'est utilisée que pour crypter les messages, ce qui la rend accessible à tous, et une clé privée pour décrypter les messages, qui n'a jamais besoin d'être partagée. Comme la clé privée n'a jamais besoin d'être partagée, elle permet de s'assurer que seul le destinataire prévu peut décrypter les messages codés et crée une signature numérique infalsifiable.
Comment les cryptographies symétrique et asymétrique sont-elles utilisées aujourd'hui ?
La cryptographie symétrique et la cryptographie asymétrique sont toutes deux utilisées fréquemment aujourd'hui, y compris en conjonction l'une avec l'autre. Voici quelques-uns des cas d'utilisation les plus courants pour chaque approche, ainsi que les raisons pour lesquelles cette approche est la plus judicieuse dans chaque cas.
Cas d'utilisation courants de la cryptographie symétrique
La cryptographie symétrique est généralement utilisée lorsque la vitesse est prioritaire par rapport à une sécurité accrue, tout en gardant à l'esprit que le cryptage d'un message offre toujours un niveau de sécurité élevé. Voici quelques-uns des cas d'utilisation les plus courants de la cryptographie symétrique :
- Services bancaires : Cryptage des informations relatives aux cartes de crédit ou d'autres informations personnellement identifiables (IPI) requises pour les transactions.
- Stockage de données : Cryptage des données stockées sur un appareil lorsque ces données ne sont pas transférées.
Cas d'utilisation courants de la cryptographie asymétrique
La cryptographie asymétrique est généralement utilisée lorsque la sécurité est plus importante que la rapidité et lorsque la vérification de l'identité est nécessaire, car la cryptographie symétrique n'est pas compatible avec cette dernière. Les cas d'utilisation les plus courants de la cryptographie asymétrique sont les suivants :
- Signatures numériques : Confirmation de l'identité d'une personne qui signe un document
- Blockchain : Confirmation de l'identité pour autoriser les transactions en crypto-monnaie
- Infrastructure à clé publique (PKI) : Réglementation des clés de chiffrement par l'émission et la gestion de certificats numériques.
Cas d'utilisation courants pour les cryptographies symétrique et asymétrique combinées
Enfin, de nombreux cas d'utilisation combinent la cryptographie symétrique et asymétrique pour améliorer à la fois la vitesse et la sécurité. La plupart de ces cas utilisent la cryptographie symétrique pour crypter l'essentiel des informations, puis la cryptographie asymétrique pour crypter la clé de cryptage/décryptage symétrique (qui peut à son tour être utilisée pour décrypter l'intégralité du contenu du message). Voici quelques-unes des utilisations les plus courantes de cette approche hybride :
- SSL/TLS: Utilisation de la cryptographie asymétrique pour chiffrer une clé de chiffrement symétrique à usage unique, qui est à son tour utilisée pour chiffrer/déchiffrer le contenu de cette session de navigation Internet.
- Systèmes de chat mobile : Utilisation de la cryptographie asymétrique pour vérifier l'identité des participants au début d'une conversation, puis de la cryptographie symétrique pour crypter le contenu de la conversation en cours.
Que faut-il savoir de plus sur la cryptographie symétrique et asymétrique ?
Pour en savoir plus sur la cryptographie symétrique et la cryptographie asymétrique et sur le rôle qu'elles jouent dans la sécurité de l'entreprise numérique d'aujourd'hui, consultez le document suivant Le guide définitif de la cryptographie symétrique et asymétrique PKI.