Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 12357|Resposta: 0

Diferença dinâmica de token OTP, TOTP e HOTP

[Copiar link]
Publicado em 25/07/2020 16:41:17 | | | |
Visão geral

A autenticação em dois fatores (também conhecida como 2FA) é um mecanismo que combina dois métodos diferentes de autenticação para autenticar usuários. Em março de 2011, o Google anunciou o uso da autenticação em dois fatores online, seguida pela MSN e Yahoo.

Além de verificar o nome de usuário e a senha, a autenticação em dois fatores também requer a combinação de outro dispositivo físico, como um token RSA ou um telefone celular.
Produtos certificados por dois fatores podem ser amplamente divididos em duas categorias:

Dispositivos de hardware que podem gerar tokens
App para smartphone

OTP

A senha usada na verificação em duas etapas é uma senha de uso único (OTP), também conhecida como senha dinâmica. É uma tecnologia de autenticação forte que utiliza criptografia para compartilhar chaves entre clientes e servidores, sendo um meio técnico muito conveniente para aprimorar a autenticação estática atual por senha, além de ser uma importante tecnologia de autenticação de verificação em duas etapas.

OTP é a abreviação de One-Time Password, que significa senha de uso único. Ele é dividido nos seguintes dois tipos:

HOTP (Algoritmo de Senha Única Baseado em HMAC)

HOTP é uma senha de uso único gerada com base no algoritmo HMAC, também conhecida como senha dinâmica para sincronização de eventos, que é uma especificação de algoritmo publicada pelo ITEF, e o pseudocódigo é o seguinte:



O cliente e o servidor negociam uma chave K antecipadamente para a geração de uma senha de uso único. O cliente e o servidor têm cada um um contador de eventos C e sincronizam os valores de contagem antecipadamente. Trunque é um algoritmo que converte uma string de 20 bytes gerada pelo HMAC-SHA-1 em vários dígitos decimais.

TOTP (Algoritmo de Senha Única Baseado em Tempo)

TOTP é uma versão aprimorada do HOTP que usa o tempo para substituir o contador de eventos C do HOTP, também conhecido como cifra dinâmica para sincronização temporal. Pseudocódigo:


T0 é o tempo inicial do teste, que por padrão é 0  
X é o passo de tempo, que por padrão é 30 segundos
A documentação oficial apresenta um castanho, assumindo o tempo unix atual = 59, T0 = 0, X = 30, então T=1
Assumindo o tempo unix atual=60, T0=0, X=30, então T=2
Ou seja, o valor de T é arredondado para baixo e o decimal é descartado



A partir da figura acima, podemos ver que existem dois elementos principais do algoritmo de entrada: um é a chave compartilhada (também conhecida como semente), e o outro é a contagem (ou fator de tempo), que é calculada por um algoritmo específico. Se ambos os elementos forem consistentes, o lado do servidor e o lado do cliente calcularão o mesmo resultado, permitindo a funcionalidade de autenticação.





Anterior:A série Angular 9 (XII) gera tokens dinâmicos baseados em OTPs
Próximo:.NET/C# gera senhas de uso único baseadas no TOTP
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com