Protocole d'identification challenge/response simple

Le
Benjamin Dauvergne
Salut,

Je me suis donné un petit challenge tout seul, celui de créer un petit
protocole challenge/response à secret partagé aussi simple que possible
et j'aurai aimé vous le soumettre pour savoir si ça vous parait solide,
voir déjà connu. Je vous le décris:

Le secret est une paire d'entiers de même taille par exemple 32bits, nommés
nA et nB.

Le protocole se déroule ainsi entre deux parties A et B:

1. A génère aléatoirement un entier nommé m1, il envoit à B le nombre
m1' := m1 XOR nA.

2. B génère un nombre aléatoire m2, il récupère m1 à partir de m1' en
faisant m1 := m1' XOR nA, puis il envoit à B les deux nombres m1'' := m1
XOR m2 et m2' := m2 XOR mB.

A vérifie que m1'' XOR m2' XOR mB = m1, il sait ainsi si B possède le
secret.

3. (Optionnel) Un dernier round permet à A de s'authentifier auprès de
B: B génère un nombre m3, il envoit à B: m2'' := m2 XOR m3 et m3' := m3
XOR mA.

Alors ? C'est nul ou pas ? ;-) Pour moi la sécu repose uniquement sur
l'utilisation de bons générateurs aléatoires, sinon j'ai pas
l'impression qu'il soit possible de prévoir les valeurs qui vont être
masquées et ainsi de récupérer les masques (les deux secrets) mais je me
trompe peut-être.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fabien LE LEZ
Le #16522761
On 11 Aug 2008 10:23:48 GMT, Benjamin Dauvergne

User-Agent: slrn/0.9.8.1pl1 (Debian)



Comme d'hab', slrn déconne :-(
Apparemment tu postes en UTF-8 (je crois), mais aucun header n'est là
pour l'indiquer. Du coup ton message est illisible.

Cf http://www.Fabien.li/temp/Image3.png
Nicolas George
Le #16523051
Benjamin Dauvergne wrote in message
1. A génère aléatoirement un entier nommé m1, il envoit à B le nombre
m1' := m1 XOR nA.

2. B génère un nombre aléatoire m2, il récupère m1 à partir de m1' en
faisant m1 := m1' XOR nA, puis il envoit à B les deux nombres m1'' := m1
XOR m2 et m2' := m2 XOR mB.

A vérifie que m1'' XOR m2' XOR mB = m1, il sait ainsi si B possède le
secret.



Bien. Je suis un espion qui a enregistré cette conversation. J'ai à ma
disposition trois nombres :

X1 = m1 XOR nA
X2 = m1 XOR m2
X3 = m2 XOR nB

J'essaie de me faire passer pour B auprès de A. Je reçois donc un quatrième
nombre :

X1b = m1b XOR nA

Je peux envoyer comme réponse :

Je choisis virtuellement :

m2b = nA XOR m1 XOR m2

Je ne le connais pas, mais ça me donne :

X2b = m1b XOR m2b = m1b XOR nA XOR m1 XOR m2 = X1b XOR X2
X3b = m2b XOR nB = nA XOR m1 XOR m2 XOR nb = X1 XOR X3

que je peux calculer tous les deux. Et hop, je suis authentifié.
Benjamin Dauvergne
Le #16523511
Le 11-08-2008, Nicolas George
Benjamin Dauvergne wrote in message
que je peux calculer tous les deux. Et hop, je suis authentifié.


Bon ben je vais continuer à chercher alors ;-)
Nicolas George
Le #16523501
Benjamin Dauvergne wrote in message
Bon ben je vais continuer à chercher alors ;-)



Pas la peine de chercher, il suffit de trouver :

http://www.cacr.math.uwaterloo.ca/hac/about/chap10.pdf
Publicité
Poster une réponse
Anonyme