lundi 22 décembre 2008

One Time Password , 3 secrets et compagnie avec yubikey La firme yubico

La firme yubico produit une clé USB délivrant à chaque utilisation un mot de passe jetable (OTP).
L'utilisateur ne paye que la clé, le service d'authentification est gratuit , les librairies sont libres.

Et en plus, on peut s'en servir de porte-clé !




Lorsque la yubikey est sollicitée , elle génère un token de 44 octets qui prennent la forme d'une chaine de caractère qui serait 'tapée' sur le clavier de l'ordinateur. Cette pseudo clé USB simule la frappe de 44 caractères sur votre clavier. cette séquence est chaque fois différente mais présente toujours la structure suivante :

* secret ID :(6 octets)
* session counter: (2 octets)
* horodatage: (3 oct)
* compteur de session :(1 oct)
* valeur aleatoire :(2 oct)
* Controle CRC : (2 oct)


Le tout encodé en AES 128 bits puis protegé par l'encodage MODHEX

La firme propose un service de validation en ligne des OTP. Mais il est possible de monter soit même un service de validation interne à son entreprise.

Le cout de cette clé : de 10 $ à 25 $ en fonction du volume.

La liste des services ou logiciels compatibles s'allonge tous les jours :

* Login sous Windows
* PAM
* SSH
* openID
* VPN
* Rails
* openSSO
* APACHE
* et ... Mandriva.



Déroulement d'une connexion:

* L'utilisateur glisse sa clé dans un port USB
* Le formulaire web lui demande son OTP.
* L'utilisateur presse le bouton de la clé ou 2 fois la touche verrouillage du pavé numérique.
* La clé inscrit les 44 caractères dans le champs du formulaire.
* Apres vérification auprès du fournisseur d'identité un autre formulaire est envoyé demandant le nom d'utilisateur et le mot de passe.
* L'utilisateur complète le formulaire et est accepté par le service.

REMARQUE IMPORTANTE: il serait possible de mettre les 3 secrets dans la même page, mais cela serait moins sécurisé car un pirate pourrait capturer les 3 secrets dans un seul échange (revoir ou relire le 'seigneur des anneaux' pour les questions de secret partagé) .

Aucun commentaire: