Tutoriales y Manuales
Entradas Mensuales
-
►
2024
(Total:
1019
)
- ► septiembre (Total: 50 )
-
►
2023
(Total:
710
)
- ► septiembre (Total: 65 )
-
▼
2022
(Total:
967
)
- ► septiembre (Total: 72 )
-
▼
agosto
(Total:
71
)
- Grupo de ransomware LockBit utiliza ya tres técnic...
- Google prepara cambios en las VPN que filtran el t...
- Francia descubre más de 20.000 piscinas privadas s...
- Llegan los círculos de Twitter para todo el mundo
- La OTAN investiga la venta online de 80GB de datos...
- Detectar si una unidad SSD de Kingston es falsa
- Así te rastrea Amazon "cada detalle" de tu vida
- Debian abandona Google por DuckDuckGo como buscado...
- LastPass confirma incidente de seguridad y el robo...
- Diferencias y similitudes entre Adblock vs Adblock...
- Google cataloga como abuso infantil la foto de un ...
- Hospital francés de Paris víctima de un ransomware...
- El ex jefe de seguridad denuncia irregularidades e...
- Crean una app que te avisa mediante un sonido cuan...
- PowerOCR es una nueva herramienta de PowerToys que...
- Empresa de Pegasus (NSO Group) cambia de CEO y des...
- Fabrica una sudadera con pantalla que convierte lo...
- Shazam cumple 20 años
- Las VPN en iOS no funcionan correctamente, no son ...
- Canción Janet Jackson bloqueaba ordenadores portát...
- Cliente de Google Cloud recibió ataque DDoS récord...
- El ransomware Vice Society publica datos sensibles...
- Empresa internacional Ista sufre un ciberataque de...
- Investigadores argentinos descubren un fallo que a...
- Empleados de Microsoft filtraron sus credenciales ...
- Oracle auditará los algoritmos de TikTok para sabe...
- Evil PLC: ataque para "Weaponizar" PLCs en redes OT
- Microsoft vuelve a mostrar anuncios en Office
- Jugar a 'Doom' en un tractor John Deere; demuestra...
- MemTest86 identificará el módulo exacto de memoria...
- El Poder Judicial de Córdoba (Argentina) víctima d...
- El navegador interno de Instagram o Facebook inyec...
- Irlanda pide a sus políticos que no tengan "conver...
- Logran hackear terminales de Starlink
- Cisco informa de un incidente de seguridad del ran...
- Ya disponible una nueva versión de Kali Linux: 2022.3
- Facebook da a la policía los mensajes privados de ...
- Spyware Dracarys se hace pasar por app legítimas c...
- Filtradas nuevas imágenes de la interfaz de Pegasu...
- Osde, plan de servicios de salud argentino víctima...
- Filtración de datos en Twilio, Slack y Cloudflare ...
- WhatsApp añade nuevas opciones de privacidad básicas
- Campaña phishing contra CaixaBank usando dominio f...
- Opciones y parámetros del archivo configuración SSH
- Movistar Plus+ podrá seguir bloqueando dominios pi...
- TikTok no es para niños
- Acosador en las redes sociales provocó muerte acci...
- Cómo funciona Google Authenticator y TOTP
- Breach Forums el foro sucesor de Raid Forums (cerr...
- ¿En qué consiste el SIM swapping? Consejos para ev...
- DuckDuckGo finalmente bloqueará los rastreadores d...
- Los ataques DDoS al sector de videojuegos aumenta ...
- Filtran 4TB datos empresa israelí Cellebrite, espe...
- GitLab planeaba eliminar proyectos inactivos duran...
- Las apps más suplantadas por ciberdelincuentes son...
- Los coches autónomos podrían ser un paraíso para l...
- Bloquear llamadas a números de tarificación especi...
- Demandan a Facebook por extraer datos médicos de p...
- Demandan a Visa por monetizar pornografía infantil...
- Recuperar de un vertedero miles de Bitcoins tirado...
- Informe de fiabilidad discos duros mecánicos
- Clonan repositorios de GitHub para añadir malware
- A la venta los datos de clientes y trabajadores de...
- Detenido en Meilla (España) joven de 20 años por e...
- Mítico reproductor música MP3 WinAmp está de vuelta
- No, Nvidia no sortea 50.000 Bitcoins por su 30º an...
- El almacenamiento en la nube de Amazon cierra en 2023
- El CSIC, principal organismo científico de España,...
- Los Gobiernos utilizan cada vez más Twitter para l...
- Vulnerabilidad crítica de restablecimiento de cont...
- Países Bajos y Alemania prohíben en sus escuelas y...
-
►
2021
(Total:
730
)
- ► septiembre (Total: 56 )
-
►
2020
(Total:
212
)
- ► septiembre (Total: 21 )
-
►
2019
(Total:
102
)
- ► septiembre (Total: 14 )
-
►
2017
(Total:
231
)
- ► septiembre (Total: 16 )
-
►
2016
(Total:
266
)
- ► septiembre (Total: 38 )
-
►
2015
(Total:
445
)
- ► septiembre (Total: 47 )
-
►
2014
(Total:
185
)
- ► septiembre (Total: 18 )
-
►
2013
(Total:
100
)
- ► septiembre (Total: 3 )
-
►
2011
(Total:
7
)
- ► septiembre (Total: 1 )
Blogroll
Etiquetas
Entradas populares
-
Después de ver qué es una vCPU y la diferencia entre núcleos (cores) e hilos en los procesadores, pasamos a explicar toda la nomenclatura d...
-
En el panorama en constante evolución de la seguridad de redes, OpnSense se ha convertido en una formidable solución de firewall. Nacido de...
-
Pese a que Gemini ofrece multitudes de opciones, recientemente, se ha dado a conocer una situación fuera de lo común. Hace unos días, un es...
Cómo funciona Google Authenticator y TOTP
Google Authenticator es un autenticador basado en software (soft-token) que implementa un servicio de verificación de dos pasos (2FA). El siguiente diagrama proporciona detalles pero, ¿Cómo garantiza la seguridad?
¿Cómo funciona?
Hay dos etapas involucradas:
- Etapa 1: el usuario habilita la verificación en dos pasos de Google
- Etapa 2: el usuario usa el autenticador para iniciar sesión, etc.
Etapa 1
Pasos 1 y 2: Bob abre la página web para habilitar la verificación en dos pasos. El front-end solicita una clave secreta. El servicio de autenticación genera la clave secreta para Bob y la almacena en la base de datos del back-end.
Paso 3: el servicio de autenticación devuelve un URI a la interfaz. El URI está compuesto por el emisor de la clave, el nombre de usuario y la clave secreta. El URI se muestra en forma de código QR en la página web.
Paso 4: Bob luego usa Google Authenticator para escanear el código QR generado. La clave secreta se almacena en el autenticador del cliente.
Etapa 2
Pasos 1 y 2: Bob quiere iniciar sesión en un sitio web con la verificación de dos pasos de Google. Para esto, necesita la contraseña. Cada 30 segundos, Google Authenticator genera un tokende 6 dígitos mediante el algoritmo TOTP (contraseña de un solo uso basada en tiempo, según RFC 6238). Bob usa el token para ingresar al sitio web
La base del TOTP es una función hash, es decir, un procedimiento criptográfico. A partir de una contraseña secreta y de una marca de tiempo (en EPOCH - tiempo Unix) se forma una secuencia de caracteres codificada. La contraseña es conocida tanto para el usuario como para el servidor.
Pasos 3 y 4: El front-end envía la contraseña que Bob ingresa al back-end para la autenticación. El servicio de autenticación lee la clave secreta de la base de datos y genera un token de 6 dígitos utilizando el mismo algoritmo TOTP que el cliente.
Paso 5: el servicio de autenticación compara los dos token generados por el cliente y el servidor y devuelve el resultado de la comparación a la interfaz. Bob puede continuar con el proceso de inicio de sesión solo si los dos token coinciden.
¿Este mecanismo de autenticación es seguro?
¿Pueden otros obtener la clave secreta?
Necesitamos asegurarnos de que la clave secreta se transmita mediante HTTPS. El cliente del autenticador y la base de datos almacenan la clave secreta y debemos asegurarnos de que las claves secretas estén cifradas.
¿Los delincuentes informáticos pueden adivinar el token de 6 dígitos?
En principio no. El token tiene 6 dígitos, por lo que la contraseña generada tiene 1 millón de combinaciones y cambia cada 30 segundos. Si un atacante quieren adivinar el token cada 30 segundos, deben ingresar 30.000 combinaciones por segundo. Por eso, también debería haber un control de rate-limit para limitar la cantidad de intentos por segundo.
Time-based One-time Password: TOTP
¿Cómo funciona el algoritmo Time-based One-time Password?
La base del TOTP es una función hash, es decir, un procedimiento criptográfico. A partir de una contraseña secreta y de una marca de tiempo se forma una secuencia de caracteres codificada. La contraseña es conocida tanto para el usuario como para el servidor. La indicación de tiempo se lleva a cabo en tiempo Unix.
TOTP es en realidad la evolución de HOTP, siglas de «HMAC-based One-time Password». TOTP también está basado en el procedimiento HMAC, la operación hash en segundo plano. Tanto el dispositivo del usuario como el servidor generan un valor hash a partir de la contraseña secreta en combinación con un contador. Dado que ambos valores son idénticos, la autentificación funciona.
La función hash en sí no está definida; en la práctica se recurre p. ej. a SHA-1 (como en el caso de Google Authenticator), que genera un valor hash con una longitud de 160 bits. Para simplificar, este valor se acorta por medio de una función de compresión. Al final se cuenta, por ejemplo, con un número de seis cifras que el usuario puede introducir fácilmente al iniciar sesión en el servicio web.
Como segundo componente de la función, HOTP está basado en un contador que el servidor y el usuario comparten. El problema en este caso es que la contraseña que se genera es válida hasta que se utiliza. TOTP restringe este hecho: el código generado solo se puede utilizar dentro de un periodo de tiempo determinado. Pero ¿cómo funciona?
Hay tres fórmulas relevantes para el algoritmo Time-based-One-time:
TOTP = HOTP(SecretKey,CurrentTime)
Esta sencilla fórmula se limita a especificar que TOTP es un procedimiento HOTP con dos parámetros, SecretKey y CurrentTime:
- SecretKey: contraseña creada de manera aleatoria conocida tanto por el servidor como por el cliente.
- CurrentTime: momento actual en tiempo Unix.
No obstante, la indicación del tiempo varía cada segundo. Y un segundo no es suficiente para transmitir el código a la aplicación. Es decir, el TOTP ya no sería válido pasado un segundo, puesto que el servidor ya habría generado un nuevo valor hash. Por este motivo, se recurre a una fórmula adicional:
CurrentTime = floor((unixtime(now) – unixtime(T0))/T1)
El parámetro CurrentTime se define por lo tanto de la siguiente manera:
- unixtime(now): momento actual en tiempo Unix.
- unixtime(T0): tiempo Unix en el momento T0 a partir del que se cuenta, en la mayoría de los casos es el 01.01.1970 a medianoche (= 0).
- T1: intervalo en el que el TOTP debe ser válido, generalmente 30 segundos.
- floor: función de redondeo para convertir el valor calculado en un número entero.
La división y el redondeo generan el efecto de que el resultado varía en intervalos.
A continuación, el valor hash generado se acorta para que resulte más fácil para el usuario:
Result = TOTPmod10d
Con el cálculo Módulo se genera una suma de verificación:
- mod 10: módulo con divisor 10
- d: número de cifras que el TOTP debe tener
De esta forma, la base 10 se eleva a la potencia de las cifras que debe tener el código, se divide el TOTP por este valor y se extrae el resto.
Fuentes:
https://blog.segu-info.com.ar/2022/07/como-funciona-google-authenticator-y.html
https://www.ionos.mx/digitalguide/servidores/seguridad/totp/
0 comentarios :
Publicar un comentario
Los comentarios pueden ser revisados en cualquier momento por los moderadores.
Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.
Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.