One-Time Password

Les mots de passe à usage unique (OTP pour One-Time Password) offrent une sécurité renforcée pour l'accès aux systèmes informatiques.


 * Projet pour Apache HTTPD
 * http://code.google.com/p/mod-authn-otp/w/list
 * http://code.google.com/p/mod-authn-otp/wiki/Tokens
 * Produits commerciaux
 * http://www.gemalto.com/brochures/download/protiva_server.pdf
 * http://www.gemalto.com/brochures/download/authentication_fr.pdf
 * Utilisation possible
 * http://fr.wikipedia.org/wiki/Authentification_forte

L'implémentation des OTP passe le plus souvent par des jetons. Ces jetons marche presque tous sur le même principe : Fonctions de hachage cryptographique.

Une bonne fonction de hachage rend les tâches si dessous difficile :

1. Pré image : Connaissant y, trouver x ∈ X tel que h(x) = y

2. Seconde pré image : Connaissant x ∈ X, trouver x' ∈ X tel que x' ∈ x et h(x) = h(x')

3. Collision : Trouver x et x' tels que x ∈ x' et h(x) = h(x‘)

L'idée est qu'il est "facile" de calculer h(x) sachant x, mais "difficile" de calculer x sachant h(x).

Le jeton nous donne un OTP en utilisant sa fonction de hachage avec 2 paramètres : Un secret que seul le serveur d'authentification (serveur ACE) connais, et un chiffre qui rend l'authentification unique (One-Time). On trouve alors 3 type de jeton qui correspond à 3 stratégies de génération de mot de passe différent:

1. temporel : Utilise une horloge pour avoir un chiffre unique.

2. compteur : Utilise le nombre de fois ou le jeton est utilisé.

3. Défi/réponse : Le serveur donne le chiffre, qu'on doit alors retaper sur le jeton.