Question

Je cherche à développer un système d'authentification par mot de passe unique (J2ME pour téléphone, php pour le côté serveur)

Je suis en train d'obtenir ma tête autour du processus, voici ce que je comprends

  1. > utilisateur entrées secrètes aléatoire (S) dans le numéro de hachage n fois
  2. utilisateur> soumet S ^ n au serveur
  3. serveur> enregistre n et S ^ n
  4. utilisateur> génère (S ^ n) -1 et soumet au serveur
  5. serveur> accepte une entrée d'utilisateur et applique une fonction de hachage plus de temps et des contrôles informatiques contre hachage précédemment stockée

Maintenant, à la lecture RFC2289 (S / Key) Il y a une graine qui est délivré au client et concaténée avec le secret de l'utilisateur quand ils entrée d'un identifiant unique (à l'étape 4) Comment est cette graine créée, est-il au hasard, est-il stocké.

Était-ce utile?

La solution

La graine est acceptée par le serveur et le client lors de l'initialisation de la séquence de mot de passe. Il est donc fait qu'une seule fois avant OTPs sont utilisés pour l'authentification. La graine doit être aléatoire, mais le client doit être en mesure de choisir. En d'autres termes, le serveur peut suggérer une graine au hasard, mais le client doit avoir une option pour venir avec son propre (au hasard) semences. La graine doit alors être stocké par le serveur. serveur ne fait pas utiliser lors de l'authentification. Il stocke juste pour qu'il puisse le présenter à l'utilisateur lors de l'authentification, ainsi que le numéro de séquence. Les deux graines et numéro de séquence ne sont pas secrets .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top