jeudi 3 novembre 2011

Sécurité : Mécanismes d'authentification

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, ... 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.

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.

Bob crée une paire de clés asymétriques : il conserve la clé privée et envoie la clé publique à Alice
Alice crée une paire de clés asymétriques : clé privée (qu'elle conserve), clé publique (qu'elle diffuse librement, notamment à Bob)
Bob effectue un condensat de son message "en clair" puis chiffre ce condensat avec sa propre clé privée
Bob chiffre son message avec la clé publique d'Alice.
Bob envoie le message chiffré accompagné du condensat chiffré.
Alice reçoit le message chiffré de Bob, accompagné du condensat.
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.
Alice déchiffre le condensat avec la clé publique de Bob.
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 contraire, on peut présager 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 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.
 
Ainsi donc si le condensat reçu par Alice a été chiffré par une clé privée, pour le déchiffrer, elle utilise la clé publique de l'expéditeur présumé. L'utilisation de la clé publique de Bob fait apparaitre le condensat envoyé par Bob.
 
Si au contraire, ce n'est pas Bob qui a envoyé le message, lorsque la personne malveillante a chiffré le condensat, elle a utilisé sa propre clé privée : pas celle de Bob ! Ainsi donc le déchiffrage avec la clé publique de Bob mènera à un texte erroné et lorsque Alice le comparera à son propre condensat, elle verra qu'ils ne correspondent pas : elle en déduira que Bob n'est pas l'expéditeur mais une autre personne !

Aucun commentaire:

Enregistrer un commentaire