oathtool nunca concorda com o Google Authenticator

3

Eu uso o Google Authenticator atualmente para 2FA, coisas como conexão com VPN etc. Eu queria ver se eu poderia obter o código de seis dígitos na minha caixa OSX, mas por algum motivo oathtool nunca retorna o mesmo valor do Authenticator. E o código do Autenticador funciona, o oathtool não funciona.

Curiosamente, também experimentei um simulador do iOS com o link no mesmo sistema e o código que ele produz concorda com oathtool e não autenticador.

Suspeitei que talvez fosse um problema de sincronização de tempo, mas depois de sincronizar manualmente meu horário do OSX, o código é o mesmo. Eu estou querendo saber se talvez existam parâmetros padrão no algoritmo TOTP que não combinam, mas eu não sei o que eles seriam.

O comando oathtool produz algo como o seguinte

% oathtool --verbose --base32 --totp "$SECRET"
Hex secret: ...
Base32 secret: ...
Digits: 6
Window size: 0
Step size (seconds): 30
Start time: 1970-01-01 00:00:00 UTC (0)
Current time: 2016-10-20 22:27:22 UTC (1477002442)
Counter: 0x2EF3E06 (49233414)

(Observe que $SECRET acima é o mesmo valor usado para gerar o código QR usado pelo Autenticador.)

Alguma razão pela qual estes não concordam?

Atualizar

Eu tentei mexer com o tempo de 30 segundos em ambos os lados do tempo do meu sistema usando

oathtool --now "$(perl -e'use DateTime; print DateTime->now()->subtract(seconds=>30)->strftime( "%Y-%m-%d %H:%M:%S %Z" )')" -b --totp $SECRET -w 20|sort

O perl acima gera tempo no formato

2016-10-20 23:36:15 UTC

Eu também imprimo 20 números a cada vez, mas nenhum deles parece corresponder ao que eu tenho no Autenticador.

    
por jar 21.10.2016 / 00:35

0 respostas