Conforme descrito em seu artigo original, o Thiago descobriu como funciona a versão para celulares Android do token do Bradesco e, com base no algoritmo do token e em uma chave criptográfica armazenada nele, o conseguiu criar um clone de seu token utilizando um Arduino, como mostra o vídeo abaixo.
Existe um algoritmo padrão de mercado para criar os tokens OTP ( "One Time Password"), chamado OATH (sigla criada a partir de "Open Authentication") - que, inclusive, é um padrão que tem sua própria RFC. Desde que foi criado, muitos fabricantes adotaram este padrão, embora alguns fabricantes mais antigos e tradicionais de tokens (como RSA e Vasco) ainda utilizem seus algoritmos proprietários.
O padrão OATH utiliza um algoritmo aberto para geração das senhas, cuja especificação está disponível no próprio site do projeto: é, basicamente, um algoritmo que utiliza uma "semente" única (um valor único para cada token), uma espécie de contador (que pode ser baseado em tempo, isto é, utilizando um relógio para medir o tempo desde um momento inicial) e combina isso tudo utilizando um algoritmo de hash criptográfico (os mesmos utilizados para fazer assinaturas digitais), o HMAC-SHA-1.
Ou seja, não há nenhum mistério e, muito menos, nenhuma ciência oculta no funcionamento destes tokens, que são amplamente utilizados para redes privadas de empresas (VPNs) e acessos a sites de Internet Banking em todo o mundo. No final das contas, independente do algoritmo utilizado, o segredo e a segurança dos tokens segue o mesmo princípio dos algoritmos de criptografia: está na chave, ou seja, na semente única que serve de base para cada token funcionar.
Nenhum comentário:
Postar um comentário