Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Protocole d'identification challenge/response simple

4 réponses
Avatar
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.

4 réponses

Avatar
Fabien LE LEZ
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
Avatar
Nicolas George
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é.
Avatar
Benjamin Dauvergne
Le 11-08-2008, Nicolas George <nicolas$ a écrit :
Benjamin Dauvergne wrote in message
:
que je peux calculer tous les deux. Et hop, je suis authentifié.


Bon ben je vais continuer à chercher alors ;-)
Avatar
Nicolas George
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