Frage

Ich suche ein One-Time-Passwort-Authentifizierungssystem (J2ME für Telefon, PHP für Server-Seite) bei der Entwicklung

Ich versuche, meinen Kopf um den Prozess zu bekommen, hier ist das, was ich verstehe

  1. user> Eingänge Zufallsgeheimnis (S) in der Hash-n-mal
  2. Benutzer> vorträgt S ^ n auf Server
  3. Server> speichert n und S ^ n
  4. user> erzeugt (s ^ n) -1 und sendet an den Server
  5. Server> nimmt Benutzereingaben und gilt Hashfunktion 1 mehr Zeit und prüft sie gegen die zuvor gespeicherten Hash

Nun, von RFC2289 lesen (S / Key) Es ist ein Samen, der an den Client ausgegeben wird, und verkettet mit dem Geheimnis des Benutzers, wenn sie Eingang eine eindeutige Kennung (in Schritt 4) Wie wird das Saatgut erstellt, es zufällig ist, wird gespeichert.

War es hilfreich?

Lösung

Den Samen ist vereinbarte durch den Server und der Client bei der Initialisierung der Passwort-Sequenz. Es wird deshalb nur einmal vor OTPs zur Authentifizierung verwendet werden. Das Saatgut sollte zufällig sein, aber der Kunde soll wählen können. Mit anderen Worten kann der Server einen zufälligen Samen vorschlagen, aber der Kunde sollte eine Option mit seinem eigenen (random) Samen zu kommen hat. Das Saatgut sollte dann von dem Server gespeichert werden. Die Server verwenden eigentlich nicht bei der Authentifizierung. Sie speichert es einfach so, dass sie es den Benutzer während der Authentifizierung präsentieren, zusammen mit der Sequenznummer. Sowohl Samen und Sequenznummer sind nicht geheim .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top