Cryptographie asymétrique

La cryptographie asymétrique, ou cryptographie à clé publique, est une méthode de chiffrement qui s'oppose à la cryptographie symétrique.



Catégories :

Cryptologie

Recherche sur Google Images :


Source image : korben.info
Cette image est un résultat de recherche de Google Image. Elle est peut-être réduite par rapport à l'originale et/ou protégée par des droits d'auteur.

Page(s) en rapport avec ce sujet :

  • La cryptographie asymétrique est intrinsèquement lente de par les ... 2e et 3e étapes : Bob chiffre le message avec la clé publique d'Alice et envoie le ... (source : christophe-rambaud)

La cryptographie asymétrique, ou cryptographie à clé publique, est une méthode de chiffrement qui s'oppose à la cryptographie symétrique. Elle repose sur l'utilisation d'une clé publique (qui est diffusée) et d'une clé privée (gardée secrète), l'une servant à coder le message et l'autre de le décoder. Ainsi, l'expéditeur peut utiliser la clé publique du destinataire pour coder un message que seul le destinataire (en possession de la clé privée) peut décoder, garantissant la confidentialité du contenu. Inversement, l'expéditeur peut utiliser sa propre clé privée pour coder un message que le destinataire peut décoder avec la clé publique ; c'est le mécanisme utilisé par la signature numérique pour authentifier l'auteur d'un message.

Principe

La cryptographie asymétrique, ou cryptographie à clé publique est fondée sur l'existence de fonctions à sens unique — une fois la fonction appliquée à un message, il est extrêmement complexe de retrouver le message original.

En réalité, on utilise en cryptographie asymétrique des fonctions à sens unique ainsi qu'à brèche secrète. Une telle fonction est complexe à inverser, à moins de posséder une information spécifique, tenue secrète, appelée clé privée.

À partir d'une telle fonction, voici comment se déroulent les choses : Alice souhaite pouvoir recevoir des messages chiffrés de tout le monde. Elle génère alors une valeur à partir d'une fonction à sens unique ainsi qu'à brèche secrète avec un algorithme de chiffrement asymétrique (liste ici), par exemple RSA.

Alice diffuse à n'importe qui la fonction pour coder les messages (notée clé publique) mais garde secrète la fonction de décodage (notée clé privée).

1re étape : Alice génère deux clés. La clé publique (verte) qu'elle envoie à Bob et la clé privée (rouge) qu'elle conserve précieusement sans la divulguer à quiconque.
2e et 3e étapes : Bob chiffre le message avec la clé publique d'Alice et envoie le texte chiffré. Alice déchiffre le message grâce à sa clé privée.

Chiffrement

Un des rôles de la clé publique est de permettre le chiffrement ; c'est par conséquent cette clé qu'utilisera Bob pour envoyer des messages chiffrés à Alice. L'autre clé — l'information secrète — permet de chiffrer. Ainsi, Alice, et elle seule, peut prendre connaissance des messages de Bob, à condition que la brèche ne soit pas trouvée.

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 apporté (condensat chiffré avec la clé privée d'Alice) et retrouve par conséquent 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 par conséquent mais aussi Bob sera rassuré sur l'origine du message reçu : il appartient bien à Alice. C'est sur ce mécanisme surtout que fonctionne la signature numérique.

Ressemblances

Le coffre-fort

Le chiffrement : Alice a choisi un coffre-fort. Elle l'envoie ouvert à Bob, et en garde la clé. Quand Bob veut écrire à Alice, il y dépose son message, ferme le coffre, et le renvoie à Alice. À sa réception, seule Alice peut ouvrir le coffre, dans la mesure où elle seule en possède la clé, à supposer le coffre inviolable, et que personne ne puisse retrouver 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, avec la clé publique d'Alice (dont il dispose), à ouvrir le coffre-fort c'est que c'est bien celui d'Alice et par conséquent que c'est bien elle qui y a positionné le message.

La boîte à deux serrures

Une autre ressemblance envisageable serait d'imaginer une boîte avec deux serrures différentes. Quand 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 avec 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 avec sa clé privée. Ainsi tout le monde 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 positionné le message dans la boîte et fermé ladite boîte.

Applications

Transmission sécurisée de la clé 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, pour prévenir l'interception de cette clé par une personne tierce non autorisée, et par conséquent 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». Pour pallier cet inconvénient, on utilise un mécanisme de chiffrement asymétrique pour l'unique phase d'échange de la clé symétrique, et on utilise cette dernière pour tout le reste de l'échange.

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 à l'ensemble des personnes : Bob, Carole, … souhaitant échanger des données de façon confidentielle. Par conséquent, quand 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. Pour résoudre ce problème, on utilise des mécanismes d'authentification servant à garantir la provenance des informations chiffrées. Ces mécanismes sont eux aussi fondés sur le chiffrement asymétrique.

Principe d'authentification par chiffrement asymétrique :

Objectif : Bob souhaite envoyer des données chiffrées à Alice en lui garantissant qu'il en est l'expéditeur.

  1. Bob crée une paire de clés asymétriques : il conserve la clé privée et diffuse librement la clé publique (surtout à Alice)
  2. Alice crée une paire de clés asymétriques : clé privée (qu'elle conserve), clé publique (qu'elle diffuse librement, surtout à Bob)
  3. Bob effectue un condensat de son message «en clair» puis chiffre ce condensat avec sa propre clé privée
  4. Bob chiffre son message avec la clé publique d'Alice.
  5. Bob envoie le message chiffré accompagné du condensat chiffré.
  6. Alice reçoit le message chiffré de Bob, accompagné du condensat.
  7. Alice déchiffre le message avec sa propre clé privée. À ce stade le message est lisible mais elle ne peut pas être sûre que Bob en est l'expéditeur.
  8. Alice déchiffre le condensat avec la clé publique de Bob. A ce stade elle est sûre que le condensat vient de Bob.
  9. Alice utilise la même fonction de hachage sur le texte en clair et compare avec le condensat déchiffré de Bob. Si les deux condensats correspondent, alors Alice peut avoir la certitude que Bob est l'expéditeur. Dans le cas opposé, on peut présumer qu'une personne malveillante a tenté d'envoyer un message à Alice en se faisant passer pour Bob !

Cette méthode d'authentification utilise la spécificité des paires de clés asymétriques : si 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 envisageable : si on chiffre en utilisant la clé privée alors on peut déchiffrer en utilisant la clé publique.

Certificats

La cryptographie asymétrique est aussi utilisée avec les certificats numériques, ce dernier 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 avec son certificat de la façon décrite dans les sections précédentes.

Une clé privée inviolable ?

Un chiffrement symétrique au moyen d'une clé de 128 bit propose 2128 (un nombre à trente-huit chiffres) 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 dispositifs à clé publique, il en va autrement. Dans un premier temps les clés sont plus longues (par exemple 1 024 bit minimum pour RSA)  ; ceci est dû au fait qu'elles possèdent une structure mathématique particulièrement spécifique (on ne peut pas choisir une suite de bits aléatoire comme clé secrète, car, dans le cas du RSA, seuls les nombres premiers sont utilisés). Par la suite, il y a clairement mieux à faire qu'une recherche exhaustive sur , par exemple, 1 024 bit, à savoir exploiter la structure mathématique de la clé (pour RSA, cela mène à 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 bit étant reconnue comme particulièrement sûre aujourd'hui), pour un niveau de sécurité équivalent.

Historique

Le concept de cryptographie à clé publique — autre nom de la cryptographie asymétrique — est dû à Whitfield Diffie ainsi qu'à Martin Hellman. Il fut présenté pour la première fois à la National Computer Conference en 1976, puis publié quelques mois plus tard dans New Directions in Cryptography.

En réalité[1], James Ellis, qui travaillait au service du chiffre britannique (GCHQ, Government Communications Headquarters), avait eu cette idée peu avant. En 1973, C. C. Cocks décrivit (pour le même service du chiffre) ce qu'on a nommé l'algorithme RSA. Enfin, en 1974, M. J. Williamson invente un protocole d'échange de clé particulièrement proche de celui de Diffie et de Hellman. Ces découvertes n'ont été rendues publiques qu'en 1997 par le GCHQ.

Dans leur article de 1976, W. Diffie et M. Hellman n'avaient pas pu donner l'exemple d'un dispositif à clé publique, n'en ayant pas trouvé. Il fallut attendre 1978 pour avoir un premier exemple, dans l'article A Method for Obtaining Digital Signatures and Public-key Cryptosystems de Ronald Rivest, Adi Shamir et Leonard Adleman, le RSA, abréviation tirée des trois noms de ses auteurs. C'est du moins la version académique. Les trois hommes fondèrent aussi la société RSA Security.

Références

  1. S. Singh, Histoire des codes secrets, Lattès, 1999, 430 p. (ISBN 2709620480)   (Chapitre Alice et Bernard s'affichent en public, section Un autre historique …)

Voir aussi

Logiciels de cryptographie asymétrique

Recherche sur Amazone (livres) :



Ce texte est issu de l'encyclopédie Wikipedia. Vous pouvez consulter sa version originale dans cette encyclopédie à l'adresse http://fr.wikipedia.org/wiki/Cryptographie_asym%C3%A9trique.
Voir la liste des contributeurs.
La version présentée ici à été extraite depuis cette source le 10/03/2010.
Ce texte est disponible sous les termes de la licence de documentation libre GNU (GFDL).
La liste des définitions proposées en tête de page est une sélection parmi les résultats obtenus à l'aide de la commande "define:" de Google.
Cette page fait partie du projet Wikibis.
Accueil Recherche Aller au contenuDébut page
ContactContact ImprimerImprimer liens d'évitement et raccourcis clavierAccessibilité
Aller au menu