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
Partager