¿Cómo almacenar y administrar de manera segura códigos de respaldo únicos para 2FA?

18

Ya estoy usando 31 servicios con autenticación de segundo factor y el número está creciendo. Además de tener múltiples dispositivos de autenticación, decidí por o tuve que generar un conjunto separado de códigos de respaldo únicos (llamémoslos OTBC).

Uso el administrador de contraseñas con 2FA para almacenar todas mis contraseñas. Ejecuto el administrador de contraseñas solo en las máquinas que poseo y manejo. Sin embargo, soy móvil, por lo que no puedo usar una bóveda física (por ejemplo, para almacenar OTBC impresos). El administrador de contraseñas introdujo su propio conjunto de OTBC.

Estoy considerando cuál es la mejor práctica para administrar de forma segura OTBC. Supongo que puedo perder todos los dispositivos 2FA y esto no debería impedirme acceder a los servicios utilizando el OTBC.

Tengo entendido que OTBC debe tratarse con el mismo nivel de precauciones de seguridad que las contraseñas. De lo contrario, dejan 2FA inexistente.

Uno de los propósitos de 2FA es la protección contra el uso de contraseñas obtenidas al violar el administrador de contraseñas en dispositivos no autenticados. Por lo tanto, OTBC a los servicios respectivos no se puede almacenar junto con sus contraseñas en el administrador de contraseñas, de lo contrario, esto dejaría 2FA inexistente.

En consecuencia, tengo la necesidad de dos administradores de contraseñas separados uno para las contraseñas, uno para OTBC.

Ahora, cada uno de los administradores de contraseñas introduce su propio conjunto de OTBC (para hacer una copia de seguridad de 2FA para la contraseña maestra) que no se puede memorizar.

Deben almacenarse fuera de sus respectivas bases de datos de administrador de contraseñas. Por lo tanto, puedo almacenarlos fuera del sistema o de manera cruzada:

Passwords-DB <== passwords for services  +  OTBC for OTBC-DB
OTBC-DB <== OTBC for services  +  OTBC for Passwords-DB

Siempre que las contraseñas: una para Contraseñas-DB y otra para OTBC-DB no se almacenen fuera de mi cerebro, ¿es el método más simple para administrar OTBC y existen fallas de seguridad o riesgos ocultos en este esquema?

    
pregunta techraf 24.10.2015 - 11:56
fuente

3 respuestas

3

El problema con el almacenamiento de OTBC en el dispositivo es que si su dispositivo se ve comprometido con el software, por ejemplo, una infección de virus, un troyano, un ataque de copia, etc., entonces está tostado.

Tenga en cuenta que una vez que desbloquee Password-DB, una entidad malintencionada podría acceder a OTBC para el OTBC-DB y luego acceder a eso también.

Mi sugerencia para gestionarlos de forma segura es utilizar 2 bases de datos separadas, una para OTBC y otra para contraseñas / 2FA. Por supuesto, NO accede a la base de datos OTBC a menos que sea absolutamente necesario.

El OTBC para estos dos administradores de contraseñas, se almacena en un archivo de texto cifrado. En el mismo archivo de texto, almacena la semilla para el OTBC-DB, por ejemplo, NO tiene acceso 2FA al OTBC-DB a menos que se encuentre en una emergencia absoluta.

Para acceder a la contraseña-DB / 2FA, necesita lo siguiente:

  • 1: Tu contraseña de cerebro A.
  • 2: código 2FA o código OTBC tomado de un archivo de texto cifrado.

Para acceder a OTBC-DB, necesita lo siguiente:

  • 1: Tu contraseña de cerebro B.
  • 2: El contenido del archivo cifrado (¡Siempre!).

El archivo cifrado se alojará en su servicio en la nube.

Ahora a cómo debe cifrar ese archivo de texto:

Le sugeriría que utilice un servicio que, en el caso de un desencadenante de contraseña secreta, envíe su clave de cifrado a un correo electrónico, PERO, solo después de haber esperado al menos 24 horas, después de recibir un correo electrónico para "cancelarlo". / p>

Entonces, cuando pierde todos sus dispositivos 2FA, ingresa su "contraseña de emergencia" secreta en el servicio. Luego esperas 24 horas, luego tienes tu contraseña aleatoria para tu archivo encriptado, que se usa junto con la contraseña B de Brain para acceder a tu base de datos OTBC.

Sin embargo, si un pirata informático intentara acceder a la clave de emergencia, se le daría la oportunidad de cancelarla, y luego el pirata informático no podría acceder a ella.

    
respondido por el sebastian nielsen 07.11.2015 - 03:50
fuente
2

Uso un YubiKey NEO para todos los métodos de 2 factores, incluido TOTP. La compatibilidad con NFC me permite utilizarlo con mi teléfono. Escribí un poco más en por qué compré dos de ellos que es bastante relevante para su pregunta.

Aquí es cómo esto terminó trabajando para mí en términos de tu pregunta:

Disponibilidad

Una llave viaja conmigo todo el tiempo en mi llavero y una llave permanece almacenada en casa. Sospecho que la única manera probable de perderlos a la vez es un incendio en el que no cojo mis llaves al salir. No almaceno ningún código OTBC, pero si lo incorporara, lo haría imprimiéndolos y guardándolos en una caja de seguridad. Mencionó que la movilidad es un problema para usted que limita la impresión de cosas, pero volvería a hacerlo porque es difícil obtener una mejor respuesta. Una persona de confianza con la que puede ponerse en contacto o un sistema de almacenamiento en línea son sus únicas otras opciones y ese sistema de almacenamiento es tortugas hasta el final.

Ya que es un dispositivo dedicado y físicamente duradero, ha sido útil cuando rompí mi teléfono. Puedo usar cualquier computadora con un puerto USB o cualquier teléfono con soporte NFC para autenticar.

Seguridad

La YubiKey no tiene una API "obtener secreto", solo una solicitud de token de lectura basada en una marca de tiempo. Por lo tanto, a menos que posea mi clave en ese momento o la hiciera de una vez desde la cual generó un token futuro, no puede iniciar sesión en un servicio. Eso limita el riesgo de compromiso del dispositivo. Tampoco suele estar en contacto con un dispositivo que también proporciona alguna limitación de las ventanas de tiempo para el acceso.

Si no puedo explicar ambas claves, sé que mi disponibilidad es baja y que mi seguridad se considera sospechosa. En ese momento, iría a rotar mis credenciales e inscribiría una nueva clave.

    
respondido por el Jeff Ferland 06.11.2015 - 01:07
fuente
1

Los almacenaría en una bóveda de contraseña cifrada (algo como Dashlane, Lastpass o 1password) en la sección de notas. Se podrá sincronizar a través de dispositivos móviles y encriptados también. Suponiendo que no esté utilizando la misma contraseña que su contraseña maestra, estaría seguro.

    
respondido por el daguy666 13.05.2016 - 03:08
fuente

Lea otras preguntas en las etiquetas