Cryptographie asymétrique
La cryptographie asymétrique, ou cryptographie à clé publique est un domaine relativement récent de la cryptographie. Elle permet d'assurer la confidentialité d'une communication, ou d'authentifier les participants, sans que cela repose sur une donnée secrÚte partagée entre ceux-ci, contrairement à la cryptographie symétrique qui nécessite ce secret partagé préalable[1].
La cryptographie asymĂ©trique peut ĂȘtre illustrĂ©e avec l'exemple du chiffrement Ă clĂ© publique et privĂ©e, dont le but, comme tout chiffrement, est de garantir la confidentialitĂ© d'une donnĂ©e lors d'une transmission de celle-ci. Le terme asymĂ©trique s'explique par le fait qu'il utilise deux clĂ©s diffĂ©rentes, l'une, la clĂ© publique, pour chiffrer, l'autre, la clĂ© privĂ©e, pour dĂ©chiffrer. L'utilisateur qui souhaite recevoir des messages engendre un tel couple de clĂ©s. Il ne transmet Ă personne la clĂ© privĂ©e alors que la clĂ© publique est transmissible sans restriction[2]. Quiconque souhaite lui envoyer un message confidentiel utilise la clĂ© publique pour chiffrer celui-ci. Le message chiffrĂ© obtenu ne peut ĂȘtre dĂ©chiffrĂ© que connaissant la clĂ© privĂ©e. Il peut donc ĂȘtre communiquĂ© publiquement : la confidentialitĂ© du message original est garantie. Le destinataire, qui n'a communiquĂ© Ă personne sa clĂ© privĂ©e, est le seul Ă pouvoir, Ă l'aide de celle-ci, dĂ©chiffrer le message transmis pour reconstituer le message original[1].
Un problÚme crucial pour l'émetteur est de s'assurer que la clé publique qu'il utilise est bien celle du destinataire souhaité[1].
Ce systĂšme a deux utilisations majeures :
- la confidentialitĂ©âŻdes messages reçus : c'est celle qu'on vient de dĂ©crire, l'expĂ©diteur utilise la clĂ© publique du destinataire pour chiffrer son message. Le destinataire utilise sa clĂ© privĂ©e pour dĂ©chiffrer le message de l'expĂ©diteur, garantissant la confidentialitĂ© du contenu ;
- l'authentification de l'expĂ©diteur d'un message (pas nĂ©cessairement confidentiel)âŻ: l'expĂ©diteur utilise sa clĂ© privĂ©e pour chiffrer un message que n'importe qui peut dĂ©chiffrer avec la clĂ© publique de l'expĂ©diteur, ce qui garantit que le message a Ă©tĂ© chiffrĂ© par l'expĂ©diteur, seul Ă possĂ©der la clĂ© privĂ©e ; c'est le mĂ©canisme utilisĂ© par la signature numĂ©rique pour authentifier l'auteur d'un message[3].
Historique
Concept
Le concept de cryptographie Ă clĂ© publique â autre nom de la cryptographie asymĂ©trique â est gĂ©nĂ©ralement attribuĂ© Ă Whitfield Diffie et Ă Martin Hellman qui l'ont prĂ©sentĂ© au public Ă la National Computer Conference en 1976[4], puis publiĂ© quelques mois plus tard dans New Directions in Cryptography[5]. Le concept aurait cependant Ă©tĂ© dĂ©couvert indĂ©pendamment par d'autres chercheurs Ă la mĂȘme Ă©poque.
Ralph Merkle aurait fait la mĂȘme dĂ©couverte Ă la mĂȘme Ă©poque[6], mĂȘme si ses articles[7] ne furent publiĂ©s qu'en 1978.
Mise en Ćuvre
Dans leur article de 1976, W. Diffie et M. Hellman n'avaient pas pu donner l'exemple d'un systÚme à clé publique, n'en ayant pas trouvé. Il fallut attendre 1978 pour avoir un exemple[8] donné par Ronald Rivest, Adi Shamir et Leonard Adleman, le RSA, abréviation tirée des trois noms de ses auteurs. Les trois hommes fondÚrent par la suite la société RSA Security. Le systÚme Merkle-Hellman[9] est généralement considéré comme la premiÚre réalisation pratique d'un systÚme de chiffrement à clé publique[10], il a cependant été prouvé non sûr par Shamir en 1982[11].
Recherches secrĂštes du GCHQ
ParallÚlement aux recherches publiques, les services du chiffre britannique (GCHQ, Government Communications Headquarters) auraient mené des recherches secrÚtes aboutissant à des concepts et outils de chiffrement asymétrique dÚs la premiÚre moitié des années 1970[12] :
- James Ellis, du GCHQ aurait proposé le concept avant Hellman et Diffie;
- Clifford Cocks aurait décrit dÚs 1973 ce qu'on appelle l'algorithme RSA ;
- Malcolm J. Williamson aurait inventé un protocole d'échange de clé trÚs proche de celui de Diffie et de Hellman dÚs 1974.
Ces découvertes n'auraient été rendues publiques par le GCHQ qu'en 1997[12].
DĂ©couverte publique
En 1976, un cryptosystĂšme Ă clĂ© asymĂ©trique a Ă©tĂ© publiĂ© par Whitfield Diffie et Martin Hellman qui, influencĂ©s par les travaux de Ralph Merkle sur la distribution de clĂ© publique, ont divulguĂ© une mĂ©thode d'accord de clĂ© publique. Cette mĂ©thode d'Ă©change de clĂ©s, qui utilise l'exponentiation dans un corps fini, est devenue connue sous le nom d'Ă©change de clĂ©s Diffie-Hellman[13]. Il s'agissait de la premiĂšre mĂ©thode pratique publiĂ©e pour Ă©tablir une clĂ© secrĂšte partagĂ©e sur un canal de communication authentifiĂ© (mais non confidentiel) sans utiliser de secret partagĂ© prĂ©alable. La « technique d'accord de clĂ© publique » de Merkle, devenue connue sous le nom de Merkle's Puzzles, a Ă©tĂ© inventĂ©e en 1974 et publiĂ©e seulement en 1978. Cela fait du chiffrement asymĂ©trique un domaine plutĂŽt nouveau de la cryptographie, bien que la cryptographie en elle-mĂȘme remonte Ă plus de 2 000 ans[14].
En 1977, une gĂ©nĂ©ralisation du schĂ©ma de Cocks a Ă©tĂ© inventĂ©e indĂ©pendamment par Ronald Rivest, Adi Shamir et Leonard Adleman, tous alors au MIT. Ces derniers auteurs ont publiĂ© leurs travaux en 1978 dans la colonne Scientific American de Martin Gardner, et l'algorithme est devenu connu sous le nom de RSA, leurs initiales. RSA utilise l'exponentiation modulo un produit de deux trĂšs grands nombres premiers, pour chiffrer et dĂ©chiffrer, effectuant Ă la fois le chiffrement Ă clĂ© publique et les signatures numĂ©riques Ă clĂ© publique. Sa sĂ©curitĂ© est liĂ©e Ă l'extrĂȘme difficultĂ© de factoriser de grands entiers, un problĂšme pour lequel il n'y a pas de technique gĂ©nĂ©rale efficace connue (bien que la factorisation premiĂšre puisse ĂȘtre obtenue par des attaques par force brute ; cela devient d'autant plus difficile que les facteurs premiers sont trĂšs grands). Une description de l'algorithme a Ă©tĂ© publiĂ©e dans la colonne Mathematical Games du numĂ©ro d'aoĂ»t 1977 de Scientific American[15].
Depuis les années 1970, un grand nombre et une grande variété de techniques de chiffrement, de signature numérique, d'accord de clé et d'autres techniques ont été développées, notamment le cryptosystÚme Rabin, le chiffrement ElGamal, le DSA et la cryptographie à courbe elliptique.
Fonctionnement
Principe général
La cryptographie asymétrique, ou cryptographie à clé publique est fondée sur l'existence de fonctions à sens unique et à trappe secrÚte.
Les fonctions Ă sens unique sont des fonctions mathĂ©matiques telles qu'une fois appliquĂ©es Ă un message, il est extrĂȘmement difficile de retrouver le message original.
L'existence d'une trappe secrÚte permet cependant à la personne qui a conçu la fonction à sens unique de déchiffrer facilement le message grùce à un élément d'information qu'elle possÚde, appelé clé privée.
Supposons qu'Alice souhaite recevoir un message secret de Bob sur un canal susceptible d'ĂȘtre Ă©coutĂ© par un attaquant passif Eve :
- Alice transmet Ă Bob une fonction Ă sens unique pour laquelle elle seule connait la trappe secrĂšte ;
- Bob utilise la fonction transmise par Alice pour chiffrer son message secret ;
- Alice réceptionne le message chiffré puis le déchiffre grùce à la trappe secrÚte ;
- Si Eve rĂ©ceptionne Ă©galement le message alors qu'il circule sur le canal public, elle ne peut le dĂ©chiffrer, mĂȘme si elle a Ă©galement interceptĂ© l'envoi de la fonction Ă sens unique, car elle n'a pas connaissance de la trappe secrĂšte.
La terminologie classiquement retenue est :
- pour la fonction Ă sens unique : «âŻclĂ© publiqueâŻÂ» ;
- pour la trappe secrĂšte : «âŻclĂ© privĂ©eâŻÂ».
En pratique, sont utilisĂ©es des fonctions de chiffrement classiques, les termes «âŻclĂ© publiqueâŻÂ» et «âŻclĂ© privĂ©eâŻÂ» correspondant alors Ă des paramĂštres employĂ©s pour ces fonctions.
Fonctionnement pratique
Alice souhaite pouvoir recevoir des messages chiffrés de n'importe qui.
Diffusion des clés publiques
Elle génÚre alors une valeur à partir d'une fonction à sens unique et à trappe secrÚte à l'aide d'un algorithme de chiffrement asymétrique (liste ici), par exemple RSA[16].
Alice diffuse à tout le monde la fonction pour chiffrer les messages (notée clé publique) mais garde secrÚte la fonction de décodage (notée clé privée).
Chiffrement
L'un des rĂŽles de la clĂ© publique est de permettre le chiffrement ; c'est donc cette clĂ© qu'utilisera Bob pour envoyer des messages chiffrĂ©s Ă Alice. L'autre clĂ© â l'information secrĂšte â sert Ă dĂ©chiffrer. Ainsi, Alice, et elle seule, peut prendre connaissance des messages de Bob. La connaissance d'une clĂ© ne permet pas de dĂ©duire l'autre.
Authentification de l'origine
D'autre part, l'utilisation par Alice de sa clé privée sur le condensat d'un message, permettra à Bob de vérifier que le message provient bien d'Alice : il appliquera la clé publique d'Alice au condensat fourni (condensat chiffré avec la clé privée d'Alice) et retrouve donc le condensat original du message. Il lui suffira de comparer le condensat ainsi obtenu et le condensat réel du message pour savoir si Alice est bien l'expéditeur. C'est donc ainsi que Bob sera rassuré sur l'origine du message reçu : il appartient bien à Alice. C'est sur ce mécanisme notamment que fonctionne la signature numérique.
Analyse fonctionnelle
Le coffre-fort
Le chiffrement : Alice a choisi un coffre-fort. Elle l'envoie ouvert à Bob, et en garde la clé. Lorsque Bob veut écrire à Alice, il y dépose son message, ferme le coffre, il n'a pas besoin de la clé pour cela, et le renvoie à Alice. à sa réception, seule Alice peut ouvrir le coffre, puisqu'elle seule en possÚde la clé, à supposer le coffre inviolable, et que personne ne puisse refaire la clé.
L'authentification ou la signature : Alice place un message dans le coffre-fort qu'elle ferme avec sa clé privée avant de l'envoyer à Bob. Si Bob parvient à ouvrir le coffre à l'aide de la clé publique d'Alice (dont il dispose), c'est que c'est bien le coffre fermé par Alice puisque la clé de Bob ne permet d'ouvrir que les coffres fermés par Alice. Bob est donc certain que c'est bien Alice qui y a placé le message.
La boĂźte Ă deux serrures
Une autre analogie envisageable serait d'imaginer une boĂźte avec deux serrures diffĂ©rentes. Lorsque l'on ferme la boĂźte d'un cĂŽtĂ©, seule la clĂ© correspondant Ă l'autre serrure permet l'ouverture de la boĂźte et vice-versa. Une des clĂ©s est privĂ©e et conservĂ©e secrĂšte, l'autre est dite publique et un exemplaire peut-ĂȘtre obtenu par quiconque souhaite utiliser la boĂźte.
Pour chiffrer un message Bob prend la boßte, y place son message, et la ferme à l'aide de la clé publique. Seul le détenteur de la clé privée permettant d'accéder à l'autre serrure, Alice en l'occurrence, sera en mesure de rouvrir la boßte.
Pour signer un message, Alice le place dans la boßte et ferme celle-ci à l'aide de sa clé privée. Ainsi n'importe qui ayant récupéré la clé publique pourra ouvrir la boßte. Mais comme la boßte a été fermée par la clé privée, cette personne sera assurée que c'est bien Alice, seule détentrice de cette clé, qui aura placé le message dans la boßte et fermé ladite boßte.
Inconvénients et limites
Comme pour tous les systĂšmes liĂ©s Ă la sĂ©curitĂ©, il est important d'identifier les faiblesses potentielles. Outre le mauvais choix d'un algorithme Ă clĂ© asymĂ©trique (il y en a peu qui sont largement considĂ©rĂ©s comme satisfaisants) ou une longueur de clĂ© trop courte, le principal risque de sĂ©curitĂ© est que la clĂ© privĂ©e d'une paire soit connue. En contrepartie de leurs propriĂ©tĂ©s spĂ©cifiques, les chiffrements asymĂ©triques sont globalement moins performants que leurs Ă©quivalents symĂ©triques : les temps de traitement sont plus longs et, pour un niveau de sĂ©curitĂ© Ă©quivalent, les clĂ©s doivent ĂȘtre beaucoup plus longues.
Algorithmes
Tous les schĂ©mas Ă clĂ© publique sont en thĂ©orie sensibles Ă une "attaque par force brute"[17]. Cependant, une telle attaque n'est pas pratique si la quantitĂ© de calcul nĂ©cessaire pour rĂ©ussir - appelĂ© le "facteur de travail" par Claude Shannon - est hors de portĂ©e de tous les attaquants potentiels. Dans de nombreux cas, le facteur de travail peut ĂȘtre augmentĂ© en choisissant simplement une clĂ© plus longue. Mais d'autres algorithmes peuvent intrinsĂšquement avoir des facteurs de travail beaucoup plus faibles, ce qui rend la rĂ©sistance Ă une attaque par force brute (par exemple, Ă partir de touches plus longues) non pertinente. Certains algorithmes spĂ©ciaux et spĂ©cifiques ont Ă©tĂ© dĂ©veloppĂ©s pour aider Ă attaquer certains algorithmes de cryptage Ă clĂ© publique ; le RSA et systĂšme de cryptage ElGamal ont des attaques connues qui sont beaucoup plus rapides que l'approche de la force brute[18]. Cependant, aucun d'entre eux n'est suffisamment amĂ©liorĂ© pour ĂȘtre rĂ©ellement pratique.
Des faiblesses majeures ont Ă©tĂ© trouvĂ©es pour plusieurs algorithmes de clĂ©s asymĂ©triques autrefois prometteurs. Le cryptosystĂšme Merkle â Hellman a Ă©tĂ© jugĂ© peu sĂ»r aprĂšs le dĂ©veloppement d'une nouvelle attaque[19]. Comme pour toutes les fonctions cryptographiques, les implĂ©mentations Ă clĂ© publique peuvent ĂȘtre vulnĂ©rables aux attaques par canal auxiliaire qui exploitent les fuites d'informations pour simplifier la recherche d'une clĂ© secrĂšte. Ceux-ci sont souvent indĂ©pendants de l'algorithme utilisĂ©. Des recherches sont en cours pour Ă la fois dĂ©couvrir et se protĂ©ger contre de nouvelles attaques.
Altération des clés publiques
Une autre vulnĂ©rabilitĂ© de sĂ©curitĂ© potentielle dans l'utilisation de clĂ©s asymĂ©triques est la possibilitĂ© d'une attaque "man-in-the-middle", dans laquelle la communication des clĂ©s publiques est interceptĂ©e par un tiers (le "man in the middle") puis modifiĂ©e pour fournir des clĂ©s publiques diffĂ©rentes Ă la place. Les messages et les rĂ©ponses chiffrĂ©s doivent, dans tous les cas, ĂȘtre interceptĂ©s, dĂ©chiffrĂ©s et rechiffrĂ©s par l'attaquant Ă l'aide des clĂ©s publiques correctes pour les diffĂ©rents segments de communication afin d'Ă©viter tout soupçon.
Une communication est dite non sĂ©curisĂ©e lorsque les donnĂ©es sont transmises d'une maniĂšre qui permet l'interception (Ă©galement appelĂ©e "reniflage"). Ces termes font rĂ©fĂ©rence Ă la lecture des donnĂ©es privĂ©es de l'expĂ©diteur dans leur intĂ©gralitĂ©. Une communication est particuliĂšrement dangereuse lorsque les interceptions ne peuvent ĂȘtre empĂȘchĂ©es ou surveillĂ©es par l'expĂ©diteur[20].
Une attaque de l'homme du milieu peut ĂȘtre difficile Ă mettre en Ćuvre en raison de la complexitĂ© des protocoles de sĂ©curitĂ© modernes. Cependant, la tĂąche devient plus simple lorsqu'un expĂ©diteur utilise des mĂ©dias non sĂ©curisĂ©s tels que des rĂ©seaux publics, Internet ou une communication sans fil. Dans ces cas, un attaquant peut compromettre l'infrastructure de communication plutĂŽt que les donnĂ©es elles-mĂȘmes. Un membre du personnel malveillant hypothĂ©tique d'un fournisseur d'accĂšs Internet (FAI) pourrait trouver une attaque de l'homme du milieu relativement simple. La capture de la clĂ© publique nĂ©cessiterait uniquement de rechercher la clĂ© lorsqu'elle est envoyĂ©e via le matĂ©riel de communication du FAI ; dans les schĂ©mas de clĂ©s asymĂ©triques correctement mis en Ćuvre, ce n'est pas un risque significatif.
Dans certaines attaques avancĂ©es de l'homme du milieu, un cĂŽtĂ© de la communication verra les donnĂ©es d'origine tandis que l'autre recevra une variante malveillante. Les attaques asymĂ©triques de l'homme du milieu peuvent empĂȘcher les utilisateurs de rĂ©aliser que leur connexion est compromise. Cela reste le cas mĂȘme lorsque les donnĂ©es d'un utilisateur sont connues pour ĂȘtre compromises parce que les donnĂ©es semblent correctes pour l'autre utilisateur. Cela peut conduire Ă des dĂ©saccords dĂ©routants entre les utilisateurs tels que "ce doit ĂȘtre de votre cĂŽtĂ© !" lorsque aucun des utilisateurs n'est en faute. Par consĂ©quent, les attaques de l'homme du milieu ne peuvent ĂȘtre entiĂšrement Ă©vitĂ©es que lorsque l'infrastructure de communication est physiquement contrĂŽlĂ©e par l'une ou les deux parties ; par exemple via une route cĂąblĂ©e Ă l'intĂ©rieur du propre bĂątiment de l'expĂ©diteur. En rĂ©sumĂ©, les clĂ©s publiques sont plus faciles Ă modifier lorsque le matĂ©riel de communication utilisĂ© par un expĂ©diteur est contrĂŽlĂ© par un attaquant[21] - [22] - [23].
Infrastructure à clés publiques
Une approche pour prévenir de telles attaques implique l'utilisation d'une infrastructure à clé publique (PKI) ; un ensemble de rÎles, de politiques et de procédures nécessaires pour créer, gérer, distribuer, utiliser, stocker et révoquer des certificats numériques et gérer le chiffrement à clé publique.
Cependant, cela a des faiblesses potentielles. Par exemple, l'autoritĂ© de certification Ă©mettant le certificat doit ĂȘtre reconnue par toutes les parties participantes pour avoir correctement vĂ©rifiĂ© l'identitĂ© du dĂ©tenteur de la clĂ©, pour s'ĂȘtre assurĂ©e de l'exactitude de la clĂ© publique lorsqu'elle Ă©met un certificat, pour ĂȘtre Ă l'abri du piratage informatique, et avoir pris des dispositions avec tous les participants pour vĂ©rifier tous leurs certificats avant que les communications protĂ©gĂ©es puissent commencer.
Malgré ses problÚmes théoriques et potentiels, cette approche est largement utilisée. Les exemples incluent TLS et son prédécesseur SSL, qui sont couramment utilisés pour assurer la sécurité des transactions du navigateur Web (par exemple, pour envoyer en toute sécurité les détails de la carte de crédit à une boutique en ligne).
Outre la rĂ©sistance Ă l'attaque d'une paire de clĂ©s particuliĂšre, la sĂ©curitĂ© de la hiĂ©rarchie de certification doit ĂȘtre prise en compte lors du dĂ©ploiement de systĂšmes Ă clĂ© publique. Certaines autoritĂ©s de certification - gĂ©nĂ©ralement un programme spĂ©cialement conçu Ă cet effet et exĂ©cutĂ© sur un ordinateur serveur - garantissent les identitĂ©s attribuĂ©es Ă des clĂ©s privĂ©es spĂ©cifiques en produisant un certificat numĂ©rique. Les certificats numĂ©riques Ă clĂ© publique sont gĂ©nĂ©ralement valides pendant plusieurs annĂ©es Ă la fois, de sorte que les clĂ©s privĂ©es associĂ©es doivent ĂȘtre conservĂ©es en toute sĂ©curitĂ© pendant cette pĂ©riode. Lorsqu'une clĂ© privĂ©e utilisĂ©e pour la crĂ©ation de certificats Ă un niveau supĂ©rieur dans la hiĂ©rarchie du serveur PKI est compromise ou accidentellement divulguĂ©e, une "attaque de l'homme au milieu" est possible, rendant tout certificat subordonnĂ© totalement non sĂ©curisĂ©.
Articulation avec le chiffrement symétrique
La cryptographie asymétrique répond à un besoin majeur de la cryptographie symétrique : le partage sécurisé d'une clé entre deux correspondants, afin de prévenir l'interception de cette clé par une personne tierce non autorisée, et donc la lecture des données chiffrées sans autorisation.
Les mĂ©canismes de chiffrement symĂ©trique Ă©tant moins coĂ»teux en temps de calcul, ceux-ci sont prĂ©fĂ©rĂ©s aux mĂ©canismes de chiffrement asymĂ©trique. Cependant toute utilisation de clĂ© de chiffrement symĂ©trique nĂ©cessite que les deux correspondants se partagent cette clĂ©, c'est-Ă -dire la connaissent avant l'Ă©change. Ceci peut ĂȘtre un problĂšme si la communication de cette clĂ© s'effectue par l'intermĂ©diaire d'un medium non sĂ©curisĂ©, «âŻen clairâŻÂ». Afin de pallier cet inconvĂ©nient, on utilise un mĂ©canisme de chiffrement asymĂ©trique pour la seule phase d'Ă©change de la clĂ© symĂ©trique, et l'on utilise cette derniĂšre pour tout le reste de l'Ă©change.
Applications
MĂ©canismes d'authentification
Un inconvénient majeur de l'utilisation des mécanismes de chiffrement asymétriques est le fait que la clé publique est distribuée à toutes les personnes : Bob, Carole et Alice souhaitant échanger des données de façon confidentielle. De ce fait, lorsque la personne possédant la clé privée, Alice, déchiffre les données chiffrées, elle n'a aucun moyen de vérifier avec certitude la provenance de ces données (Bob ou Carole) : on parle de problÚmes d'authentification.
Afin de résoudre ce problÚme, on utilise des mécanismes d'authentification permettant de garantir la provenance des informations chiffrées. Ces mécanismes sont eux aussi fondés sur le chiffrement asymétrique dont le principe est le suivant : Bob souhaite envoyer des données chiffrées à Alice en lui garantissant qu'il en est l'expéditeur.
- Bob crée une paire de clés asymétriques : il définit une clé privée et diffuse librement sa clé publique (notamment à Alice)
- Alice crée une paire de clés asymétriques : elle définit une clé privée et diffuse librement sa clé publique (notamment à Bob)
- Bob effectue un condensat de son message «âŻen clairâŻÂ» puis chiffre ce condensat avec sa clĂ© privĂ©e
- Bob chiffre une seconde fois son message déjà chiffré avec la clé publique d'Alice
- Bob envoie alors le message chiffré à Alice
- Alice reçoit le message chiffrĂ© de Bob (mais qu'un tiers, par exemple Ăve, pourrait intercepter)
- Alice est en mesure de déchiffrer le message avec sa clé privée. Elle obtient alors un message lisible sous forme de condensat. Eve quant à elle ne peut pas déchiffrer le message intercepté de Bob car elle ne connait pas la clé privée d'Alice. En revanche Alice n'est pas sûre que le message déchiffré (sous forme de condensat) est bien celui de Bob
- Pour le lire, Alice va alors déchiffrer le condensat (chiffré avec la clé privée de Bob) avec la clé publique de Bob. Par ce moyen, Alice peut avoir la certitude que Bob est l'expéditeur. Dans le cas contraire, le message est indéchiffrable et elle pourra présumer qu'une personne malveillante a tenté de lui envoyer un message en se faisant passer pour Bob
Cette méthode d'authentification utilise la spécificité des paires de clés asymétriques : si l'on chiffre un message en utilisant la clé publique, alors on peut déchiffrer le message en utilisant la clé privée ; l'inverse est aussi possible : si l'on chiffre en utilisant la clé privée alors on peut déchiffrer en utilisant la clé publique.
Certificats
La cryptographie asymĂ©trique est Ă©galement utilisĂ©e avec les certificats numĂ©riques, celui-ci contenant la clĂ© publique de l'entitĂ© associĂ©e au certificat. La clĂ© privĂ©e est quant Ă elle stockĂ©e au niveau de cette derniĂšre entitĂ©. Une application des certificats est par exemple la mise en Ćuvre d'une infrastructure Ă clĂ©s publiques (PKI) pour gĂ©rer l'authentification et la signature numĂ©rique d'une entitĂ©, par exemple un serveur web (Apache avec le module SSL par exemple), ou simplement un client souhaitant signer et chiffrer des informations Ă l'aide de son certificat de la façon dĂ©crite dans les sections prĂ©cĂ©dentes.
Sécurité
Un chiffrement symétrique au moyen d'une clé de 128 bits propose 2128 (~ 3,4 1038) façons de chiffrer un message. Un pirate qui essaierait de déchiffrer le message par la force brute devrait les essayer une par une.
Pour les systÚmes à clé publique, il en va autrement. Tout d'abord les clés sont plus longues (par exemple 2048 bits minimum pour RSA) ; en effet, elles possÚdent une structure mathématique trÚs particuliÚre (on ne peut pas choisir une suite de bits aléatoire comme clé secrÚte, par exemple dans le cas du RSA, seuls les nombres premiers sont utilisés). Certains algorithmes exploitant cette structure sont plus efficaces qu'une recherche exhaustive sur, par exemple, 1 024 bits. Ainsi, dans le cas de RSA, le crible général par corps de nombres (NFS en anglais) est une méthode plus efficace que la recherche exhaustive pour la factorisation.
Il faut noter le développement actuel de la cryptographie utilisant les courbes elliptiques, qui permettent (au prix d'une théorie et d'implémentations plus complexes) l'utilisation de clés nettement plus petites que celles des algorithmes classiques (une taille de 160 bits étant considérée comme trÚs sûre actuellement), pour un niveau de sécurité équivalent.
Dans son édition du 6 septembre 2013, le journal The Guardian affirmait que la NSA était capable de déchiffrer la plupart des données chiffrées circulant sur Internet[24]. De nombreuses sources ont cependant indiqué que la NSA n'avait pas mathématiquement cassé les chiffrements mais s'appuierait sur des faiblesses d'implémentation des protocoles de sécurité[25] - [26].
Notes et références
- Katz et Lindell 2014, p. 375.
- GPG Handbook
- Katz et Lindell 2014, p. 439.
- Diffie et Hellman juin 1976.
- Diffie et Hellman novembre 1976.
- Menezes, Van Oorschot et Vanstone 1997, p. 47.
- Merkle 1978.
- Rivest, Shamir et Adleman 1978.
- Merkle et Hellman 1978.
- Menezes, Van Oorschot et Vanstone 1997, p. 300.
- Shamir 1983.
- Singh 1999.
- (en) W. Diffie et M. Hellman, « New directions in cryptography », IEEE Transactions on Information Theory, vol. 22, no 6,â , p. 644â654 (ISSN 0018-9448, DOI 10.1109/TIT.1976.1055638, lire en ligne, consultĂ© le )
- Sara Robinson, « Still Guarding Secrets after Years of Attacks, RSA Earns Accolades for its Founders », SIAM News, vol. 36, no 5,â (lire en ligne)
- Rivest, Shamir et Adleman 1983.
- Christof Paar, Jan Pelzl et Bart Preneel, Understanding Cryptography: A Textbook for Students and Practitioners, Springer, (ISBN 978-3-642-04100-6, lire en ligne)
- Mavroeidis, Vasileios, and Kamer Vishi, "The Impact of Quantum Computing on Present Cryptography", International Journal of Advanced Computer Science and Applications, 31 March 2018
- Adi Shamir, « A polynomial time algorithm for breaking the basic Merkle-Hellman cryptosystem », 23rd Annual Symposium on Foundations of Computer Science (SFCS 1982),â , p. 145â152 (DOI 10.1109/SFCS.1982.5, lire en ligne)
- Abi Tunggal, « What Is a Man-in-the-Middle Attack and How Can It Be Prevented - What is the difference between a man-in-the-middle attack and sniffing? », sur UpGuard, (consulté le )
- Abi Tunggal, « What Is a Man-in-the-Middle Attack and How Can It Be Prevented - Where do man-in-the-middle attacks happen? », sur UpGuard, (consulté le )
- martin, « China, GitHub and the man-in-the-middle » [archive du ], sur GreatFire, (consulté le )
- percy, « Authorities launch man-in-the-middle attack on Google », sur GreatFire, (consulté le )
- Ball, Borger et Greenwald 2013.
- Schneier 2013.
- Simonite 2013.
Annexes
Bibliographie
- [BarthĂ©lemy, Rolland et VĂ©ron 2005] Pierre BarthĂ©lemy, Robert Rolland et Pascal VĂ©ron (prĂ©f. Jacques Stern), Cryptographie : principes et mises en Ćuvre, Paris, Hermes Science Publications : Lavoisier, coll. « Collection Informatique », , 414 p., brochĂ© (ISBN 2-7462-1150-5, ISSN 1242-7691, OCLC 85891916).
- [Diffie et Hellman juin 1976] (en) Whitfield Diffie et Martin E. Hellman, « Multiuser cryptographic technics », Proceedings of AFIPS National Computer Conference,â , p. 109-112 (DOI 10.1145/1499799.1499815).
- [Diffie et Hellman novembre 1976] (en) Whitfield Diffie et Martin E. Hellman, « New directions in cryptography », IEEE Trans. Inf. Theory, vol. 22, no 6,â , p. 644-654.
- [Katz et Lindell 2014] (en) Jonathan Katz et Yehuda Lindell, Introduction to Modern Cryptography, 2nd Edition, Boca Raton, Chapman and Hall, , 583 p. (ISBN 978-1-4665-7026-9, lire en ligne), III. Public-Key (Asymmetric) Cryptography.
- [Menezes, Van Oorschot et Vanstone 1997] (en) A. J. Menezes, P. C. Van Oorschot et S. A. Vanstone, Handbook of Applied Cryptography, Boca Raton, CRC Press, coll. « CRC Press Series on Discrete Mathematics and Its Applications », , 780 p. (ISBN 978-0-8493-8523-0, OCLC 247238920).
- [Merkle 1978] (en) Ralph C. Merkle, « Secure communications over insecure channels », Communications of the ACM, vol. 21,â , p. 294-299.
- [Merkle et Hellman 1978] (en) Ralph C. Merkle et Martin E. Hellman, « Hiding information and signatures in trapdoor functions », IEEE Trans. Inf. Theory, vol. 24,â , p. 525-530.
- [Rivest, Shamir et Adleman 1978] (en) Ronald Rivest, Adi Shamir et Leonard Adleman, « A method for obtaining digital signatures and public-key cryptosystems », Communications of the ACM, vol. 21,â , p. 120-126 (lire en ligne).
- [Rivest, Shamir et Adleman 1983] (en) Ronald L. Rivest, Adi Shamir et Leonard L. Adleman, « Cryptographic communications system and method », United States Patent, no 4405829,â (lire en ligne).
- [Shamir 1983] (en) Adi Shamir, « A polynomial time algorithm for breaking the basic Merkle-Hellman crypto-system », Advances in cryptology, Proceedings of Crypto 82,â , p. 279-288.
- [Singh 1999] Simon Singh (trad. de l'anglais par Catherine Coqueret), Histoire des codes secrets : De l'Ăgypte des pharaons Ă l'ordinateur quantique [« The code Book »], Paris, Jean-Claude LattĂšs, , 430 p. (ISBN 978-2-7096-2048-2, OCLC 43323003), chap. 6 (« Alice et Bernard s'affichent en public »).
Articles connexes
- Cryptographie hybride
- Infrastructures à clés Publiques (PKI)
- Authentification
- Authentification forte
- Alice et Bob
- Signature numérique
- Chiffrement
- Chiffrement fondé sur l'identité
- Chiffrement par attributs
- Liste dâalgorithmes de cryptographie asymĂ©trique
Logiciels de cryptographie asymétrique
- Pretty Good Privacy ou PGP, logiciel existant en versions payante et gratuite (aux fonctionnalités plus réduites).
- GNU Privacy Guard ou GPG ou GnuPG, version Libre (open-source) et gratuite de PGP.
- OpenSSL (Open Secure Socket Layer), version libre et gratuite permettant, notamment, de développer des fonctionnalités à base de chiffrement asymétrique.
- Acid Cryptofiler, logiciel développé par la Délégation Générale pour l'armement pour un usage gouvernemental.
Liens externes
- [Ball, Borger et Greenwald 2013] (en) James Ball, Julian Borger et Glenn Greenwald, « Revealed : how US and UK spy agencies defeat internet privacy and security », sur The Guardian, (consulté le ).
- [Schneier 2013] (en) Bruce Schneier, « The NSA Is Breaking Most Encryption on the Internet », sur Schneier on Security, (consulté le ).
- [Simonite 2013] (en) Tom Simonite, « NSA Leak Leaves Crypto-Math Intact but Highlights Known Workarounds », sur MIT Technology Review, (consulté le ).
- [GPG] (en) « The GNU Privacy Handbook » (consulté le )