¿Las mejores prácticas para almacenar de manera útil códigos de respaldo de autenticación de dos factores?

5

Para una gran cantidad de servicios web que ofrecen autenticación de dos factores, después de configurar el sistema, se le proporciona una lista corta de códigos de respaldo (almohadillas de una sola vez) que tienen alrededor de 7 a 10 caracteres. Están diseñados para ser utilizados en los casos en que no tenga acceso a su segundo factor de autenticación, como un dispositivo perdido, viajes, etc.

¿Cuáles son algunas buenas maneras / ideas para poder llevar consigo los códigos de respaldo de su persona para que sean:

  
  1. No identifica obviamente a qué servicio están conectados, para que otros no vean "Google Acct: 9824 24 312"
  2.   
  3. Por ejemplo, no puede ser utilizado fácilmente por alguien que roba un notecard con los códigos de respaldo.
  4.   
  5. Es fácil para el usuario entenderlo y utilizarlo sin los medios más avanzados que una calculadora básica (solo un ejemplo, podría haber medios sin ningún tipo de dispositivo)
  6.   
    
pregunta 0d0h0m0s 19.12.2014 - 20:05
fuente

3 respuestas

3

Use el método Pad de una sola vez para cifrar los códigos. Luego puedes descifrarlos fácilmente con un lápiz y papel siempre que recuerdes la clave. Dado que los caracteres del código 2fa son casi uniformes (es probable que todos los caracteres aparezcan en cada posición clave), puede usar una clave no uniforme, como una frase fácil de recordar.

Una ventaja adicional al cifrar sus códigos es que puede llevar varias copias de ellos (una en su maleta, otra en su billetera, otra en una URL pública) y no preocuparse por la pérdida o el robo de las mismas.

Uno de los puntos débiles de esto es que si usas la misma clave para usar el One-Time Pad para encriptar todos tus códigos de respaldo 2fa y uno de tus códigos se fuerza por la fuerza bruta, el atacante puede derivar la clave y luego descifrar todos tus códigos . Si bien es una práctica habitual que los proveedores de cuentas realicen inicios de sesión con límite para ayudar a prevenir ataques de fuerza bruta, algunos proveedores de cuentas pueden tener una protección peor que otros y no se debe asumir que todos los proveedores de cuentas tienen la protección adecuada. La seguridad de su código de respaldo 2fa es tan buena como el proveedor de cuenta más débil. Por lo tanto, debe usar una clave diferente para cada cuenta, lo que anula uno de los principales beneficios de este método: que solo tiene que memorizar una clave.

Sobre la uniformidad de los códigos 2FA

Al usar One-Time Pads (OTP) para cifrar una oración, la clave debe ser uniforme para proteger Contra el análisis de frecuencia. Pero en general, ya sea el texto simple o la clave deben ser uniformes. Google Authenticator y otros proveedores 2fa utilizan un hash generado por SHA-1 para generar los códigos 2fa, que es el estándar para HOTP (RFC4226) y TOTP (RFC6238) . Si bien SHA-1 puede no ser perfectamente uniforme, SHA-1 es casi uniforme y lo suficientemente cerca para ser uniforme Ese análisis de frecuencia no es un ataque factible. Por lo tanto, cualquier clave no obvia, como una frase u oración fácil de recordar, puede usarse para cifrar los códigos 2fa.

    
respondido por el Justin J Stark 01.03.2018 - 20:28
fuente
1

Una de las ideas que tuve fue aplicar algún tipo de proceso simple (o cifrado) a los códigos de respaldo para que queden ocultos, pero que puedan decodificarse al recordar el proceso. Quizás algo como ROT13 o xor. Después de eso, los imprimiría en una plantilla de tarjeta de presentación y los establecería como información de contacto. Esto se reduce a la seguridad a través de la oscuridad, pero al menos parcialmente ayuda con el problema.

    
respondido por el 0d0h0m0s 19.12.2014 - 20:06
fuente
0

Almacenarlos en tu persona es una mala idea.

Los códigos de respaldo son contraseñas de bypass. Son esencialmente una puerta trasera a través de su cuenta protegida por 2FA . Son más poderosos que la contraseña de la cuenta normal.

Teniendo esto en cuenta, debes considerar si deseas mantenerlos en todo. Después de todo, si existen códigos de respaldo, se vuelven más valiosos que la contraseña de su cuenta. Su cuenta sería más segura si no existiera ninguna de esas contraseñas de respaldo: son la antítesis de por qué 2FA existe en primer lugar. Debe tratarlos como contraseñas de primera clase. ¿Lleva sus contraseñas regulares en forma escrita en su billetera?

Hay una gran probabilidad de que estos códigos sean para su cuenta de GMail, o su cuenta de iCloud o su cuenta de Amazon ... No es necesario especificar para qué servicio son, los más comunes y obvios serán Probado y muy probablemente el ladrón tendrá razón. Dicho esto, no creo que haya una mejor práctica para esto.

Yo (solo parcialmente) no estoy de acuerdo con la respuesta que aconseja usar un teclado de una sola vez para códigos de respaldo. Hacer esto requiere que genere y recuerde tantas claves como contraseñas, lo que equivale a recordar las contraseñas. Ya sea que las claves puedan ser frases de contraseña fáciles de recordar o no, solo puede recordar tantas (y generalmente obtiene códigos de respaldo en lotes de diez, y no puede escribir las claves ). Si insiste en escribir códigos de respaldo, considere esta solución.

Pero mi consejo es que si realmente debe mantener los códigos de respaldo en "usted mismo", considere aprender uno (o dos) por servicio y deshabilitar el resto. Por favor no los escribas.

    
respondido por el korrigan 02.03.2018 - 18:41
fuente

Lea otras preguntas en las etiquetas