¿Es razonable almacenar claves TOTP cifradas + credenciales de autenticación en un solo dispositivo (para el usuario final)?

3

Mi modelo de seguridad actual (al menos para las contraseñas) es almacenarlas cifradas en reposo y usar GPG (en combinación con un Yubikey) para realizar el cifrado / descifrado. Estoy usando pass ( enlace ) para ayudar a automatizar el proceso de cifrado / descifrado. Estos archivos se almacenan a las 0700 y planeo sincronizarlos con iCloud Drive o con un repositorio git adecuado (en algún momento). En este momento, simplemente los estoy respaldando en un Ironkey (D20402A). Estoy usando subclaves de 4096 bits para el cifrado / descifrado GPG.

Sin embargo, los códigos TOTP, todavía los almaceno en mi iPhone (usando Google Authenticator). Sé que hay soluciones de terceros como Authy, pero me gustaría migrar fuera de mi teléfono si es posible.

Idealmente, me gustaría almacenar mis claves secretas TOTP de una manera que pueda ser recuperada (y respaldada adecuadamente) desde mi computadora para facilitar las secuencias de comandos y la automatización. Hay algunos servicios como AWS que requieren un código TOTP junto con mis credenciales de autenticación normales que motivan esto.

¿El almacenamiento de estos secretos TOTP junto con mis contraseñas (siempre que ambos estén encriptados) es lo suficientemente seguro o simplemente una mala idea? La forma en que lo veo hay básicamente cuatro elementos necesarios para que alguien desbloquee mis claves:

  • Computadora física (cifrado de disco completo mediante APFS) o Ironkey
  • Physical Yubikey (o la copia de seguridad, o la copia de seguridad de la llave maestra)
  • Contraseña de descifrado del disco o Ironkey
  • Mi PIN de Yubikey

Hay una herramienta llamada enlace que puedo usar para esto.

No entiendo si esta es una solución de seguridad aceptable. Por un lado, el aspecto del "segundo factor" que trae TOTP se subvierte al almacenar todos los secretos en un solo dispositivo.

Por otro lado, estoy razonablemente seguro de que el dispositivo y los métodos que planeo usar en torno a mi solución propuesta son lo suficientemente adecuados para proteger esta información. Reconozco que todo esto vuela por la ventana si mi máquina está comprometida (pero eso me deja atornillado en cualquier situación).

    
pregunta Aea 05.09.2018 - 20:23
fuente

1 respuesta

3

Ya que menciona que utiliza las funciones de tarjeta inteligente de su Yubikey para almacenar la clave de cifrado PGP necesaria para acceder a la base de datos pass , diría que está bien mantener los secretos compartidos de TOTP junto con otros datos de contraseña. TOTP es un mecanismo para garantizar la autenticación de 2 factores, por lo que mientras requiera que Yubikey los descifre, todavía está utilizando 2 factores (yubikey = algo que tiene, el PIN = algo que sabe).

Sin embargo, aquí hay una importante advertencia: en los modernos teléfonos con Android se está produciendo mucho más sandboxing de aplicaciones que en una moderna estación de trabajo con Linux. Cualquier persona que pueda ejecutar código en su estación de trabajo (como su usuario) probablemente podrá obtener esos secretos TOTP de la RAM o esperar hasta que inserte el yubikey y los desencripte directamente una vez que conozcan el PIN. Por otro lado, el almacenamiento y la memoria que pertenecen a una aplicación TOTP en su teléfono estarán generalmente mejor aislados de las otras aplicaciones que está usando, por lo que requeriría un compromiso de nivel de raíz antes de que un atacante pueda Accede a los secretos almacenados en una aplicación TOTP.

Si esa es una compensación aceptable para usted, entonces puede poner en secreto esos secretos TOTP compartidos. Si no es así, debes mantenerlos en el teléfono inteligente.

    
respondido por el mricon 05.09.2018 - 20:46
fuente

Lea otras preguntas en las etiquetas