OTP S/Key - Como as sementes são geradas, elas são aleatórias a cada vez?
-
21-09-2019 - |
Pergunta
Estou olhando para o desenvolvimento de um sistema de autenticação de senha única (J2ME para telefone, PHP para o lado do servidor)
Estou tentando entender o processo, aqui está o que eu entendo
- Usuário> insere secretos aleatórios no hash n número de vezes
- Usuário> envia S^n para servidor
- servidor> salva n e s^n
- Usuário> gera (S^n) -1 e envia ao servidor
- Servidor> leva a entrada do usuário e aplica a função Hashing 1 mais tempo e verifica -a contra o hash armazenado anteriormente
Agora, desde a leitura do RFC2289 (s/key), há uma semente que é emitida ao cliente e concatenada com o segredo do usuário quando eles inseram um identificador exclusivo (na etapa 4) Como é criada essa semente, é aleatória, é armazenada .
Solução
A semente é concordou pelo servidor e pelo cliente durante a inicialização da sequência de senha. Portanto, é feito apenas uma vez antes de o OTPS ser usado para autenticação. A semente deve ser aleatória, mas o cliente deve ser capaz de escolhê -la. Em outras palavras, o servidor pode sugerir uma semente aleatória, mas o cliente deve ter a opção de criar sua própria semente (aleatória). A semente deve ser armazenada pelo servidor. o Servidor realmente não usa durante a autenticação. Ele o armazena apenas para que possa apresentá -lo ao usuário durante a autenticação, juntamente com o número da sequência. Número de sementes e sequência não são secretos.