
Temos o prazer de anunciar a nova linha de chaves TOTP de hardware programável do TOKEN2. A principal inovação é a capacidade de sincronizar o relógio do sistema de chaves de hardware por meio da API NFC usando aplicativos especiais - uma versão para Android e Windows 10 está sendo preparada.
Ainda não há aplicativos para iOS: apesar dos chips NFC estarem fisicamente presentes nos modelos mais recentes do iPhone, a Apple ainda não fornece uma API pública para seu uso.
Para que é isso?
Diferentemente dos aplicativos TOTP móveis, nas chaves de hardware, não há como sincronizar a hora via NTP, através de uma rede celular ou de um sinal de rádio: as chaves de hardware do dispositivo são completamente isoladas e independentes, e usam o relógio na placa como fonte de tempo preciso. Nos anos 1933-1934. Os físicos Scheibe e Adelsberger, do Instituto Imperial de Física e Tecnologia de Berlim, aproveitaram as possibilidades de usar o efeito piezoelétrico para medir o tempo. É esse efeito subjacente ao relógio do sistema das chaves de hardware. A precisão desses relógios varia de ± 0,3 a ± 1,1 s / dia, dependendo da qualidade. Se essa precisão for suficiente para um relógio de pulso convencional, nas chaves de hardware, uma diferença de tempo maior que um determinado limite pode levar a uma recusa de ativação e / ou autenticação. Esse limite depende do sistema específico (por exemplo, o Microsoft Azure MFA permite até 600 segundos de viés nas duas direções) quando se trata do primeiro registro de uma chave de hardware. Além disso, o processo de sincronização de deslocamento durante o uso da tecla para entrar já está claramente descrito na
RFC 6238RFC 6238 / 6. RessincronizaçãoDevido a possíveis desvios do relógio entre um cliente e uma validação
RECOMENDAMOS que o validador seja definido com um limite específico
ao número de etapas que um provador pode estar "fora de sincronia" antes de
sendo rejeitado.
Esse limite pode ser definido para frente e para trás a partir do valor calculado.
intervalo de tempo após o recebimento do valor OTP. Se o intervalo de tempo for
30 segundos, conforme recomendado, e o validador está configurado para aceitar apenas
dois passos para trás, o desvio máximo de tempo decorrido seria
89 segundos, ou seja, 29 segundos no intervalo de tempo calculado e
60 segundos para duas etapas de retrocesso.
Isso significaria que o validador poderia realizar uma validação contra o
hora atual e, em seguida, mais duas validações para cada etapa anterior
(para um total de 3 validações). Após a validação bem-sucedida, o
servidor de validação pode registrar o desvio do relógio detectado para o token
em termos do número de etapas de tempo. Quando um novo OTP é recebido
Após esta etapa, o validador pode validar o OTP com o atual
registro de data e hora ajustado com o número registrado de desvios do relógio de tempo
para o token.
Além disso, é importante observar que quanto mais tempo um provador não enviar
um OTP para um sistema de validação, quanto maior (potencialmente) o
desvio acumulado do relógio entre o provador e o verificador. Em tais
casos, a ressincronização automática descrita acima pode não funcionar
se o desvio exceder o limite permitido. Adicionais
medidas de autenticação devem ser usadas para autenticar com segurança o
provador e ressincronize explicitamente o desvio do relógio entre o
provador e validador.
Ou seja, se o servidor de autenticação atender a todos os requisitos da RFC e se a chave não for usada muito raramente para autenticação, por exemplo, pelo menos duas vezes por ano (o número exato pode ser calculado levando em consideração a precisão do oscilador e o tempo permitido pelo servidor), as compensações de tempo serão levadas em consideração no lado do servidor e os problemas não devem surgir. Ao usar chaves nessas condições, a função de sincronização de tempo não é, em princípio, necessária.
No entanto, a função de sincronização de horário pode ser útil nos seguintes casos:
- Se a implementação do servidor TOTP não seguir a Recomendação 6 da RFC6238. Um exemplo dessa implementação é o DUO :
O desvio de token TOTP e a ressincronização não são suportados. Como resultado, os tokens TOTP importados podem não funcionar para autenticação com o Duo Security ou podem não funcionar para autenticação após um período variável de tempo ...
- Se um lote de chaves de hardware foi comprado por um longo tempo, mas elas precisaram ser ativadas apenas após algum tempo - nesse caso, simplesmente não há mecanismo de sincronização em muitos sistemas.
- Se o dongle for usado para login com menos frequência do que o necessário para sincronização. Por exemplo, se um usuário deseja "copiar" o mesmo perfil TOTP (mais precisamente, um segredo compartilhado) para dois dispositivos: a) em um aplicativo móvel no telefone para uso diário eb) em uma chave de hardware programável como backup, para um dia chuvoso . Portanto, se esse dia chuvoso chegar em 3 a 4 anos, o token de hardware não poderá mais ser usado precisamente devido à diferença de horário. Além disso, a bateria do token, que não liga há muito tempo, quase não perde capacidade. Portanto, neste caso, é bastante simples "trazer" o relógio para eles para retorná-los à operação.
Análise de segurançaComo sempre, esse tipo de inovação é sempre baseado em um equilíbrio de conforto / conveniência e nível de segurança. As chaves programáveis com a capacidade de sincronizar o tempo dos ataques à rede (phishing, pessoas no meio etc.) - na maioria dos casos, nossos clientes usam tokens TOTP precisamente para se proteger contra esses ataques); eles certamente protegerão totalmente, mas essa possibilidade implica uma probabilidade insignificante e puramente
teórica de um ataque por meio de um ataque de repetição (ataque de repetição) com a condição de que os atacantes podem:
- Obtenha o primeiro fator (senha).
- Tenha acesso físico à chave de hardware sem o conhecimento do proprietário por um tempo suficientemente longo (consulte a etapa 3.).
- Usando o aplicativo, por meio da NFC, traduza o tempo da chave para uma data específica e registre um número suficiente de códigos gerados. Isso não funcionará com um script, porque para gerar códigos, você precisa clicar no botão físico, e o código atual só pode ser visto na tela (não é transmitido via NFC).
- Retorne o tempo de volta ( para que o proprietário não adivinhe nada ).
- Por fim, efetue login usando a senha (etapa 1) e um dos códigos recebidos na etapa 3.
Esse risco, como vemos, pode surgir apenas sob a condição de acesso físico ao dispositivo; por exemplo, um ataque pode ser realizado por um colega sentado próximo e, por algum motivo, também sabendo a senha. Mas nessas condições, o uso de tokens TOTP clássicos levará ao mesmo risco. A propósito, o risco de comprometer tokens com a função de sincronização de horário é comparável ao risco de dispositivos fido u2f - se um invasor tiver acesso temporário e imperceptível a uma chave u2f com uma senha, ele poderá fazer login no sistema com essa chave e adicionar outra (sua) chave e em seguida, devolva a chave original ao proprietário da mesma forma - de acordo com a especificação, uma conta pode ter mais de uma chave u2f e qualquer uma pode ser usada para login paralelo. Fatores como
as senhas Perfect paper correm o mesmo risco.
Como você pode ver, o ataque é bastante complexo e improvável e, em geral, o nível de risco do uso desses tokens pode ser comparado ao uso de um aplicativo como o Google Authenticator em um smartphone sem código PIN, sem acesso à rede e que o usuário sempre carrega consigo.
Para os clientes que ainda consideram esse risco bastante amplo, nossas recomendações sobre o assunto são as seguintes:
- O limite de acesso físico a esse tipo de chave é aproximadamente o mesmo que para cartões bancários (a propósito, nossas chaves estão no formato de cartões bancários).
- Use teclas programáveis sem a função de sincronização de tempo ( miniOTP-1 )
- Use chaves programáveis com uma função de sincronização de tempo, combinada com a remoção da chave secreta. Ou seja, quando o tempo do token mudar, a semente será redefinida e será necessário digitá-la novamente (miniOTP-3, a data de lançamento do modelo será anunciada adicionalmente)
Onde comprar?A pré-encomenda está aberta no nosso site. Use o código promocional
HABR2019 para um desconto de 10% (número limitado de cupons). Entrega por correio normal (SwissPost ou La Poste France). Com a entrega nos países da CEI, ainda não há problemas.