Je lisais de la documentation sur l'OTP et j'ai vu quelques implémentations (sur linux) mais rien que je trouve transcendant.

Premier résultat sur google :
OPIE.

Je trouve que le système s/key est tout juste utile afin d'éviter le rejeu et l'écoute, mais pas de façon satisfaisante, un petit rappel du protocoles :

1. Demande de connexion
2. Envoie numéro de séquence, plus un seed
3. Génération du mot de passe du côté utilisateur avec hash^nSeq(seed + password)

La protection réside sur un nombre de répétition faible (999 max), un hash en md5 qui se calcul très rapidement, et un sel de 40 bits.

En écoutant une transaction on a déjà

1. Le sel
2. Le numéro de séquence

Il nous manque donc juste la pass-phrase. Comme l'utilisateur se sent "rassuré", par l'otp il aura tendance à utiliser des mots de passes plus faible. Ce qui en fait un protocole qui peut-être cassé off-line.

Source :
http://www.securiteinfo.com/cryptographie/otp.shtml

Deuxième résultats : OTPW

Cette fois une implémentation que je trouve largement meilleur :

1. Demande de connexion
2. Envoie d'un numéro de séquence
3. Récupération dans la liste de ce numéro de séquence

Mais je ne la trouve pas optimal :
- On doit désactiver le stack protector, pour une librairie partagé je trouve pas ça incroyable.

- On obtient pas une authentification forte, (un seul facteur d'authentification).

Et vous qu'utilisez-vous et pourquoi ?

Dans l'idéal, je cherche une solution qui fournit une authentification forte, avec une génération de mot de passe indépendant.

Je m'intéresse principalement à linux et des solutions gratuite, mais si vous avez d'autres pistes et retour d'expérience je suis aussi preneur.







Particulièrement celle d'OPIE qui utilise un s/key, je la trouve un peu inutile, et je me demande si ma source est fiable :

Le principe que j'ai compris est le suivant :



Donc il founit juste