Protocole de Needham-Schroeder

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir Needham et Schroeder.

Le protocole de Needham-Schroeder est un protocole d'authentification dans les réseaux informatiques conçu pour être utilisé dans des réseaux non sûrs (Internet par exemple), et inventé par Roger Needham et Michael Schroeder en 1978. Le protocole permet à des tiers communicant à travers un réseaux de prouver (l'un à l'autre respectivement) leurs identités respectives.

Protocole symétrique[modifier | modifier le code]

En notation security protocol notation, quand Alice (A) s'authentifie auprès de Bob (B) en utilisant un serveur (S), le protocole se décrit :

Alice informe le serveur qu'elle veut communiquer avec Bob.

Le serveur génère et envoie une copie chiffrée avec (la clé secrète que le serveur partage avec B) à Alice pour qu'elle fasse suivre à Bob, une copie claire est envoyée à Alice. Le nombre à usage unique garantit le maintien de la session, et que est "frais".

Alice transmet la clé Bob.

Bob envoie à Alice un nombre à usage unique chiffré avec pour montrer qu'il a la clé.

Alice effectue une opération simple sur le nombre, le ré-encode et renvoie pour prouver qu'elle est toujours disponible et qu'elle a la clé.

Ce protocole n'est plus considéré sûr parce que Bob ne sait pas si la clé est nouvelle (une attaque de type replay est possible)

Protocole asymétrique[modifier | modifier le code]

1. A → S : A, B

Alice demande la clé publique de Bob au serveur.

2. S → A : {KPB, B}KSS

Le serveur répond à Alice avec la clé publique de Bob en même temps que son identité, le tout étant signé par la clé du serveur.

3. A → B : {NA, A}KPB

Alice choisit un nonce, le chiffre avec la clé publique de Bob avant de lui envoyer.

4. B → S : B, A

Bob demande la clé publique d’Alice au serveur.

5. S → B : {KPA, A}KSS

Le serveur répond à Bob avec la clé publique d’Alice en même temps que son identité, le tout étant signé par la clé du serveur

6. B → A : {NA, NB}KPA

Bob choisit un nonce, le chiffre avec la clé publique de Alice en même temps que le nonce que celle-ci a généré afin de prouver qu’il a pu déchiffrer le message envoyé à l’étape 3.

7. A → B : {NB}KPB

Alice envoie NB à Bob pour prouver qu’elle a pu déchiffrer le message envoyé à l’étape précédente.