¿Cuál es el algoritmo detrás de las OTP (contraseñas de un solo uso)?

Los algoritmos de generación de OTP generalmente usan pseudoaleatoria o aleatoriedad. Algunos se basan en la sincronización de tiempo, mientras que otros usan algoritmos matemáticos.

El algoritmo OTP basado en tiempo (TOTP) genera una contraseña basada en la marca de tiempo actual, la clave secreta compartida (o puede ser algo único para cada cuenta). Las contraseñas generadas juntas a tiempo a partir de la misma clave secreta serán iguales.

El algoritmo de contraseña de un solo uso basado en el tiempo (TOTP) es un algoritmo que calcula una contraseña de un solo uso a partir de una clave secreta compartida y la hora actual. Se adoptó como el estándar RFC 6238 del Grupo de Trabajo de Ingeniería de Internet, es la piedra angular de la Iniciativa para la Autenticación Abierta (OATH) y se usa en varios sistemas de autenticación de dos factores.

TOTP es un ejemplo de un código de autenticación de mensaje basado en hash (HMAC). Combina una clave secreta con la marca de tiempo actual utilizando una función de cifrado hash para generar una contraseña de un solo uso. Debido a que la latencia de la red y los relojes no sincronizados pueden hacer que el destinatario de la contraseña tenga que intentar un rango de tiempos posibles para autenticarse, la marca de tiempo generalmente aumenta en intervalos de 30 segundos, lo que reduce el espacio de búsqueda potencial.

Contribución de contenido – Wikipedia

More Interesting

¿Cómo se programan y hacen los bots del juego (creados por jugadores) para conectarse con el juego y controlarlo?

Quicksort: ¿Cuál es el algoritmo de ordenación rápida?

Cómo conectar el modelo BPMN con la estructura de datos existente

¿Cuáles son los algoritmos importantes que todo desarrollador de software graduado debe saber?

En Facebook, ¿qué determina los ocho amigos que se muestran en esa cuadrícula de imágenes de perfil 4 × 2?

Cómo demostrar que en cada árbol de búsqueda binaria n-nodo hay exactamente n-1 rotaciones posibles

¿Cómo pueden los estudiantes de electricidad y electrónica llegar a ser buenos en algoritmos y estructuras de datos?

Cómo mejorar la lógica o la presentación de la conjetura descrita en una respuesta para que más personas puedan entender lo que creo que es un método sorprendente para crear algorítmicamente un conjunto primo potencialmente infinito

¿Cuáles son los algoritmos comunes que uno debe conocer?

¿Qué es la ordenación de tramas en las redes?

¿Cuáles son algunas situaciones en las que conceptos algorítmicos como la complejidad del código y la programación dinámica dieron como resultado un mejor código en un proyecto de desarrollo real?

¿Cuál es la solución a la siguiente relación de recurrencia: [matemáticas] T (n) = 3T (n-1) - 7T (n-2) + 9T (n-3) [/ matemáticas], con las siguientes condiciones iniciales: [ matemática] T (0) = 1 [/ matemática], [matemática] T (1) = 6 [/ matemática], [matemática] T (2) = 7 [/ matemática]. ¿Qué es una expresión para [math] T (n) [/ math] de modo que no haya términos [math] T (i (\ frac {n} {j}) ^ {k}) [/ math] a la derecha ¿lado?

¿Qué es un algoritmo en C?

¿Qué representan realmente los números de Grundy en un juego?

¿Los algoritmos de aprendizaje y las estructuras de datos son muy importantes para la informática y la programación?