¿Cómo almacenar de forma segura las contraseñas para un administrador de contraseñas basado en un equipo en línea?

2

¿Quiero crear un administrador de contraseñas basado en un equipo en línea seguro?

La idea es que quiero poder compartir las contraseñas con otras personas del equipo, de manera segura, de modo que si toda la base de datos está en peligro, el pirata informático aún no podrá acceder a los datos. Recuerde que este proceso debe ser reversible, por lo que, obviamente, el hash no es una solución.

En un sistema de un solo usuario, la solución es obviamente el cifrado con una contraseña maestra, que está memorizada por el usuario (es decir, no está almacenada en la base de datos)

En una situación de equipo, podríamos tener una contraseña maestra que todos los usuarios del equipo conozcan. Esto se utiliza para cifrar / descifrar las contraseñas almacenadas.

El problema es que requiere que todos los equipos recuerden la misma contraseña. Esto es un problema si un usuario es miembro de 5 equipos diferentes, ¡él / ella tendrá que recordar 5 contraseñas maestras!

¿Hay alternativas mejores?

    
pregunta Yahya Uddin 21.08.2016 - 15:04
fuente

3 respuestas

2

Un apporach fácil sería que usted podría almacenar las Contraseñas como mensajes encriptados PGP donde cada miembro del grupo definido se considera un destinatario (por ejemplo, GPG Keychain en Mac agrega su clave on como destinatario por defecto para que pueda descifrar el cifrado mensajes a otros).

Entonces, un usuario desea agregar una contraseña, la cifra con las claves de pub de sus compañeros de equipo y todos pueden descifrarla con sus claves privadas. aún así, si se piratea la base de datos, nadie puede descifrarla sin las claves privadas de los miembros del equipo.

Si almacena sus claves privadas correctamente, esta podría ser una alternativa relativamente segura

    
respondido por el Martin Fischer 21.08.2016 - 15:15
fuente
2

Bueno, eche un vistazo al 1 documento de Pasaporte para equipos . Describe exactamente cómo hacemos esto. [Revelación: trabajo para AgileBits, los creadores de 1Password.]

De alguna manera es similar a respuesta de Martin Fischer pero en lugar de usar PGP / GPG, se basa en el Uso de claves públicas en un administrador de contraseñas. Y en lugar de que cada contraseña se cifre con la clave pública del share-ee, funciona a través de una serie de lo que llamamos "bóvedas". Los elementos de cada bóveda están cifrados con una clave de bóveda simétrica (AES-GCM), pero las claves de la bóveda se cifran con las claves públicas de los miembros de la bóveda. Por lo tanto, compartir una bóveda significa encriptar la clave de la bóveda con la clave pública de la persona con la que estás compartiendo.

Para que todo funcione sin problemas para las personas (además de garantizar que todas las claves se generen del lado del cliente y nunca, nunca se envíen sin encriptar) necesitamos una cadena de claves algo más complicada para cifrar las claves que cifran las claves que lo que sugiere la respuesta de Martin. , pero esta complejidad es en gran parte invisible para el usuario.

    
respondido por el Jeffrey Goldberg 22.08.2016 - 01:34
fuente
1

Una oración común en seguridad es si un secreto es compartido por más de 2 personas, entonces ya no es un secreto . En TI, la segunda persona suele ser la computadora, por lo que solo un ser humano debería saberlo.

En mi humilde opinión, debe imitar los correos cifrados que se envían a diferentes destinatarios:

  • el mensaje está cifrado con un algoritmo simétrico y una clave aleatoria
  • la clave se cifra con un algoritmo asimétrico y la clave pública de cualquiera de los destinatarios, esas claves cifradas se agregan al mensaje

Cuando un destinatario recibe el mensaje, usa su clave privada para recuperar la clave simétrica y de ahí el mensaje original.

Podrías hacer lo mismo con tus contraseñas seguras: - Cada caja fuerte del equipo está encriptada con una clave simétrica. - una copia de esa clave cifrada con la clave pública de cada miembro del equipo se guarda en la base de datos

De esa manera:

  • todas las contraseñas necesarias para un equipo se mantienen juntas
  • los miembros del equipo solo pueden leerlos
  • cada miembro solo debe conocer su propia clave privada, o más exactamente la contraseña que desbloquea el archivo que contiene la clave ...
respondido por el Serge Ballesta 21.08.2016 - 18:31
fuente

Lea otras preguntas en las etiquetas