Résumé
Le chiffrement à clé publique utilise une paire de clés liées mathématiquement — une publique et une privée — pour sécuriser les données en transit et vérifier l’identité de l’expéditeur. Contrairement aux anciens systèmes symétriques, il n’est plus nécessaire que les deux parties partagent une clé secrète à l’avance. Bien que puissant, il présente des risques tels que les attaques par force brute et les vulnérabilités de type « man-in-the-middle », qui nécessitent une gestion rigoureuse des clés pour être atténués.
Fonctionnement du chiffrement à clé publique
Le chiffrement à clé publique utilise en réalité deux jeux de clés. L’une, la clé publique, est largement partagée avec toute personne avec laquelle vous pourriez souhaiter établir une connexion à l’avenir. L’autre, la clé privée, est strictement protégée et connue de vous seul.
Les algorithmes génèrent les clés. Bien qu’ils soient liés, ils ne peuvent pas être utilisés pour se décoder mutuellement. Une personne disposant de votre clé publique devrait recourir à des techniques de piratage particulièrement complexes pour ne serait-ce qu’approcher la structure générale de votre clé privée.
Des systèmes comme celui-ci préservent à la fois la confidentialité et l’efficacité. Vous savez que vos données sont protégées en transit et au repos. Mais il n’est pas nécessaire d’engager de longues discussions de configuration avec une autre partie pour établir une connexion.
Les experts estiment qu’il est essentiel que chacun comprenne la cryptographie, en particulier si des membres de votre entreprise travaillent à distance. Si vous n’utilisez pas correctement (ou pas du tout) le chiffrement à clé publique, vous pourriez exposer votre entreprise à des risques catastrophiques.
Qu’est-ce qu’une clé cryptographique ?
Nous utilisons toutes et tous des clés au quotidien pour ouvrir des boîtes aux lettres, des coffres et des portes. Les clés cryptographiques servent également à verrouiller et déverrouiller des barrières pour permettre l’accès. Mais contrairement à leurs équivalents physiques, les clés cryptographiques ne sont pas en métal. À la place, il s’agit de code.
Une clé cryptographique brouille les chiffres et les lettres afin qu’ils soient illisibles pour les personnes. Votre texte d’origine (en clair) passe par une clé et prend une nouvelle forme (chiffrement). Une clé inverse le processus.
Il existe plusieurs types de clés cryptographiques.
- Public : Comme son nom l’indique, ce type de clé est largement accessible et toute personne peut la consulter.
- Privée : cette forme de clé est strictement protégée et sécurisée. Vous seul devriez en avoir connaissance.
- Hybride : Ce système complexe, conçu sur mesure pour des environnements très sensibles, utilise une combinaison de clés publiques et privées.
Aux débuts de l’informatique, toutes les entreprises utilisaient des systèmes symétriques. Les deux parties devaient disposer de copies de la même clé pour chiffrer et déchiffrer les données.
Mais à mesure que de plus en plus d’entreprises se sont connectées et que le besoin de communiquer s’est accru, la gestion de toutes ces clés est devenue contraignante. En réponse, les développeurs ont créé des systèmes asymétriques, comme le chiffrement à clé publique. Avec ce procédé, deux parties ont besoin de clés distinctes mais liées.
Comment fonctionne la cryptographie à clé publique ?
Deux parties disposant de clés associées communiquent via la cryptographie à clé publique. Une clé chiffre les données, et l’autre les déchiffre.
Supposons qu’Alice souhaite envoyer un message à Bob. Un attaquant, Tom, est à l’écoute. Alice :
- Utilise la clé publique de Bob pour chiffrer son message.
- L’envoie à Bob.
- Attend que Bob utilise sa clé privée pour le déchiffrer.
Comme ils sont publics, Tom a accès à la fois au texte chiffré et à la clé publique de Bob. Cependant, Tom ne connaît pas la clé secrète de Bob, car Bob la garde confidentielle.
Qu’est-ce qu’une signature numérique en cryptographie à clé publique ?
Et si Bob devait vérifier que c’est bien Alice qui a envoyé le message, et non Tom ? Cette fois, Alice :
- Chiffre un message destiné à Bob à l’aide de deux clés : la clé publique de Bob et sa propre clé privée.
- Envoie le message.
- Attend que Bob le déchiffre en utilisant à la fois sa propre clé privée et la clé publique d’Alice.
Puisque seule la clé privée d’Alice a pu chiffrer un message pouvant être déchiffré par sa clé publique, et qu’Alice conserve sa clé privée confidentielle, Bob sait que ce message ne peut provenir de personne d’autre. On parle ici de signature numérique.
Quelles sont les applications courantes du chiffrement à clé publique ?
En plus des signatures numériques, le chiffrement à clé publique peut être utile pour :
- Sécuriser les connexions web. Le certificat de sécurité d’un site web (ou certificat Secure Sockets Layer/Transport Layer Security (SSL/TLS)) contient une clé publique. Les clés privées associées sont installées sur les serveurs. Les deux parties effectuent une « poignée de main » avant que les données ne soient transmises. Des sites web tels que Google et SalesForce s’appuient sur ce protocole.
- Bitcoin. Cette forme de monnaie numérique repose sur la cryptographie à clé publique pour la sûreté et la sécurité.
Quels sont les atouts et les limites de la cryptographie à clé publique ?
De nombreuses méthodes de chiffrement existent. Faut-il s’appuyer sur un système à clé publique ou privilégier une autre solution ? Comprendre les risques et les avantages peut vous aider à prendre une décision éclairée.
| Forces | Faiblesses |
|---|---|
| Confidentialité : seuls les destinataires autorisés peuvent lire les messages chiffrés | Vulnérabilité aux attaques par recherche exhaustive de clés |
| Authenticité : les signatures numériques confirment l’intégrité des messages | Vulnérabilité aux attaques de type homme du milieu |
| Non-répudiation : les expéditeurs et expéditrices ne peuvent pas contester le contenu des messages | Complexité de la programmation et défis liés à la mise en œuvre |
| Enjeux liés à la gestion des clés (formation, administration, récupération) |
Ces avantages ont permis de découvrir de nombreuses applications pour la cryptographie à clé publique, allant de Pretty Good Privacy (PGP) et Hypertext Transfer Protocol Secure (HTTPS) à OpenID Connect (OIDC) et Web Authentication (WebAuthn). Il est également utilisé pour les certificats Secure Shell, permettant aux administrateurs et administratrices de se connecter à des serveurs partout sans avoir à mémoriser leurs mots de passe.
Mais certains défis subsistent, notamment :
- Vulnérabilité aux attaques par force brute visant la recherche de clés. Des ordinateurs ultra-rapides dotés d’une grande puissance de calcul peuvent effectuer des recherches approfondies pour extraire les détails des clés privées. En théorie, cela pourrait ne prendre que quelques minutes.
- Vulnérabilité aux attaques de type homme du milieu. Un hacker peut intercepter un message, le modifier et tromper l’ordinateur hôte afin d’établir une connexion non sécurisée. Dans ce cas, un hacker peut lire quasiment tous les messages destinés à votre serveur.
- Défis liés à la programmation. La cryptographie à clé publique peut être complexe à comprendre et à mettre en œuvre à partir de zéro, mais heureusement pour les développeurs, de nombreuses bibliothèques existent pour prendre en charge les tâches les plus techniques. La célèbre Networking and Cryptography Library (NaCl) propose une interface de programmation d’application (API) appelée Box API, qui simplifie la gestion de la cryptographie à clé publique.
- Enjeux de la gestion des clés. Une approche basée sur une clé publique implique que vous devrez anticiper la gestion de la formation et de l’adhésion des utilisateurs et utilisatrices, l’administration du système, la maintenance ainsi que la récupération des clés.
Aide d’Okta
Chez Okta, nous utilisons le chiffrement à clé publique dans nos propres systèmes afin de vérifier les sessions chiffrées pour nos utilisateurs et utilisatrices. Nous avons également développé une suite complète d’outils que vous pouvez utiliser pour veiller à ce que les bonnes personnes au sein de votre entreprise disposent des autorisations appropriées.
Nous pouvons vous aider à comprendre ce que signifie le chiffrement et comment il peut vous être utile. Nous pouvons également mettre en place des services pour vous. Contactez-nous et commençons.
Foire aux questions (FAQ)
Quelle est la différence entre une clé publique et une clé privée ?
Une clé publique est partagée librement avec toute personne avec laquelle vous souhaitez communiquer, tandis qu’une clé privée est strictement protégée et connue de vous seul. Les deux clés sont liées mathématiquement : l’une chiffre les données et l’autre les déchiffre, mais disposer de la clé publique rend la détermination de la clé privée extrêmement difficile.
Pourquoi les développeurs et développeuses sont-ils passés du chiffrement symétrique au chiffrement asymétrique ?
Aux débuts de l’informatique, les systèmes symétriques exigeaient que les deux parties détiennent une copie de la même clé. À mesure que de plus en plus d’entreprises se sont connectées et que le besoin de communiquer s’est accru, la gestion de toutes ces clés est devenue contraignante. Les systèmes asymétriques comme le chiffrement à clé publique ont résolu ce problème en permettant à deux parties d’utiliser des clés distinctes mais liées.
Qu’est-ce qu’une signature numérique et comment fonctionne-t-elle ?
Une signature numérique est créée lorsqu’une personne expéditrice chiffre un message à l’aide de la clé publique de la personne destinataire et de sa propre clé privée. Le ou la destinataire peut alors déchiffrer le message à l’aide de sa propre clé privée et de la clé publique de l’expéditeur ou de l’expéditrice. Comme seule la clé privée de l’expéditeur ou de l’expéditrice peut produire un message déchiffrable avec sa clé publique, le ou la destinataire peut vérifier l’origine du message.
Quels sont les principaux risques de sécurité liés à la cryptographie à clé publique ?
Deux risques majeurs sont les attaques par recherche exhaustive de clés, où des ordinateurs puissants tentent de découvrir les détails d’une clé privée, et les attaques de type homme du milieu, où un hacker intercepte et modifie des messages afin d’établir une connexion non sécurisée. Des pratiques rigoureuses de gestion et de mise en œuvre des clés contribuent à limiter ces risques.
Qu’est-ce que la gestion des clés et pourquoi est-elle importante ?
La gestion des clés désigne l’ensemble des pratiques encadrant la manière dont les clés cryptographiques sont traitées tout au long de leur cycle de vie, notamment la formation et l’adhésion des utilisateurs et utilisatrices, l’administration des systèmes, la maintenance et la récupération des clés. Sans une approche solide de la gestion des clés, même un système à clé publique bien mis en place peut devenir un risque pour la sécurité.
Où le chiffrement à clé publique est-il utilisé dans les technologies du quotidien ?
Le chiffrement à clé publique est à la base de nombreuses technologies courantes, notamment Hypertext Transfer Protocol Secure (HTTPS) pour les connexions web sécurisées, Pretty Good Privacy (PGP) pour le chiffrement des e-mails, Bitcoin pour la sécurité des monnaies numériques, OpenID Connect (OIDC) et Web Authentication (WebAuthn) pour les protocoles d’identité, ainsi que les certificats secure shell pour l’administration des serveurs.
Références
Pourquoi la cryptographie est une cybercompétence clé à développer pendant le confinement 2.0. (décembre 2020), ITProPortal.
Qu’est-ce qui rend la blockchain Bitcoin sécurisée ? (Novembre 2020). Déchiffrer.
Algorithmes de chiffrement symétrique : longue vie au chiffrement. (Novembre 2020). Security Boulevard.
Attaques de type Man-in-the-Middle : une menace mobile croissante mais évitable. (avril 2020), Dark Reading.
IBM Cloud adopte la cryptographie résistante aux ordinateurs quantiques. (Novembre 2020). Silicon Angle.