¿Cómo obtener la contraseña TOTP con hmac sha 512 como función hash?

5

Nunca antes aprendí sobre javascript y la seguridad de la red, pero últimamente he tenido algunos problemas de programación, pero tengo que enviar el enlace de mi proyecto a través de la solicitud de publicación http, y tengo que averiguar la contraseña, la autenticación usa TOTP con hmac sha 512 como función de hashing con una clave secreta dada, durante los últimos días estoy tratando de entender de qué se trata, como totp hotp hmac, etc., y tengo la idea de que tengo que convertir la clave secreta de acuerdo con el algoritmo, ¿verdad? Pero el algoritmo es muy nuevo para mí y confundo lo que debo hacer para generar la contraseña, ¿alguien podría ayudarme? O al menos explícame qué debo hacer?

    
pregunta gilang 17.03.2016 - 20:17
fuente

1 respuesta

4

Hay un buen RFC que describe el TOTP: RFC 6238 , que menciona también el uso de SHA-512. Hice esto en mi implementación del token OTP en Javascript. Pero incluso el RFC tiene ejemplos de código en Java (igual que freeOTP).

El algoritmo es básicamente el mismo para todos los hashes. La idea básica es tomar tiempo (redondeado a un límite de 30 segundos de manera predeterminada) y generar el HOTP de este valor (en lugar del contador para HOTP).

HOTP más tarde es básicamente HMAC con código secreto codificado en hexadecimal y con el contador (desde arriba para TOTP) rellenado a una cantidad específica de dígitos. Del hash resultante, tomas solo una parte específica de acuerdo con RFC.

Para jugar, hay varias aplicaciones web / jsfiddle que pueden generar el TOTP sobre la marcha, pero son ciertamente no para uso en el mundo real.

    
respondido por el Jakuje 17.03.2016 - 20:33
fuente

Lea otras preguntas en las etiquetas