Я смотрю на разработку системы аутентификации по одноразовому паролю (j2me для телефона, php для серверной части)
Я пытаюсь разобраться в этом процессе, вот что я понимаю
- пользователь> вводит случайный секрет (S) в хэш n раз
- пользователь> отправляет S ^ n на сервер
- сервер> сохраняет n и S ^ n
- пользователь> генерирует (S ^ n) -1 и отправляет на сервер
- server> принимает пользовательский ввод и применяет функцию хеширования еще 1 раз и проверяет ее по ранее сохраненному хешу
Теперь из чтения RFC2289 (S / Key). Существует начальное число, которое выдается клиенту и соединяется с секретом пользователя, когда они вводят уникальный идентификатор (на шаге 4). это хранится.