secure remote password protocol (SRP)

Posté le mercredi 31 janvier 2007 à 5 h 54, Read it in english with Google

SRP est un protocole en fin de developpement distribuĂ© par Stanford permettant une mĂ©thode d’authentification login/password sĂ©curisĂ©e sans utiliser le système RSA de clef public et leurs certificats.

Je ne vous parle pas de la sécurité des mots de passes betement hashés avant les transmissions, tout ce qui passe par le réseau peut etre écouté et donc reproduit.

Pourquoi ? parce que toutes les mĂ©thodes basĂ©es sur les certificats d’authenticitĂ©s sont très couteuses ou pas sĂ©curisĂ© si le certificat n’a pas Ă©tĂ© Ă©mis par une sociĂ©tĂ© tiers. C’est le cas de la plupart des serveurs SSH qui utilisent un certificat fait maison : la première fois que vous le recevez, comment pouvez vous etre sur Ă  100% que ce certificat provient bien du serveur auquel vous tentĂ© de vous connectez ? Dans le cas des certificat authentifier, une signature en inclue Ă  l’intĂ©rieur se qui permet de vĂ©rifier l’authenticitĂ© Ă  l’aide d’un autre certificat (d’authenticitĂ© celui-ci) prĂ©-enregistrĂ© dans la pluspart des machines.

le Secure Remote Password Protocol propose donc une alternative gratuite en se qui concerne les authentifications. Je dirais que c’est une variante de l’algorythme de Diffie-Hellman avec un hashage du couple login/password avant. Je ne vais pas vous Ă©crire la dĂ©marche ici, vous comprendrez mieux avec l’exemple.

Mais si vous connaissez un peu Diffie-Hellman vous serez qui n’est pas possible de tout faire en une seul requete, donc ne comptez pas la dessus pour l’intĂ©grĂ© dans un seul formulaire html, il faudra deux pages au moins pour aboutir au rĂ©sultat sans une XMLHttpRequest.

Qu’elles avantages par rapport Ă  ceux Ă©xistant ? Et bien tout d’habord, vous en connaissez beaucoup des protocoles d’authentifications sĂ©curisĂ© hormis ceux basĂ© sur les certificats ? moi pas. Je connais bien la mĂ©thode utilisĂ© par SPIP :

H() function de hashage.
pa = password entré par Alice
pb = password que Bob connait déjà
u = login
Alice veut s'authentifier sur bob,
Alice envoie u
bob renvoie {
k1 = nombre/chaine précédente associée au profil d'alice
}
alice renvoie {
h1 = H(pa,k1)
h2 = H(pa,k2)
k2 = nombre/chaine aléatoire
u
}
Bob va recherché k1 à l'aide de u et vérifie que h1 = H(pb,k1)
si vrai :
pb = h2
k1 = k2
k1 et pb sont stocké dans la base de donnée et l'authentification réussie, bob va renvoyé un identifiant de session.

mais cette méthode nécéssite de stocker un champ supplémentaire dans la DB et génèrent également une activité de celle-ci du au fait que le grain de sable (K1) doit etre stocké dans la base de donnée.
Le SRP lit uniquement les données.

C’est donc un protocole qui, bien qu’un peu compliquĂ©, mĂ©rite d’etre remarquĂ© et implĂ©mentĂ©.

wikipedia || interview de Tom Wu créateur du SRP protocol

5 réponses à “secure remote password protocol (SRP)”

  1. thier

    c’est trĂ©s interessant j’aurais aimĂ© avoir son utilisation avec sfs

  2. Clipperz, Gestionnaire de mot de passe en ligne contient sur le sujet :

    […] base de donnĂ©es. La clef de codage est votre propre mot de passe. La fonction de hashage pour le protocol SRP est SHA-2, une extension que de SHA-256 : H = SHA-256 (SHA-256 (m)). L’encryptage utilisĂ© […]

    le vendredi 5 octobre 2007 @ 20 h 50
  3. Cryptage des mots de passe | unanoia contient sur le sujet :

    […] http://www.xorax.info/blog/news/111-secure-remote-password-protocol-srp.html […]

    le mercredi 10 novembre 2010 @ 19 h 12
  4. Cryptage des mots de passe. | Systèmes Embarqués contient sur le sujet :

    […] http://www.xorax.info/blog/news/111-secure-remote-password-protocol-srp.html […]

    le vendredi 12 novembre 2010 @ 12 h 57
  5. Lertsenem

    Une erreur dans la description du protocole : Bob ne va pas vĂ©rifier que h1 == H(pb, k1), puisque cela signifierai que pa == pb. Or pb est dĂ©jĂ  un hash (et c’est normal, on ne doit pas stocker de mots de passes en clair cĂ´tĂ© serveur). Bob vĂ©rifie donc simplement h1 == pb.

Laissez un commentaire :