¿Es realmente posible almacenar contraseñas de forma segura, pero poder ver la contraseña?

14

En cada lugar donde miraba, la gente recomendaba que almacenar las contraseñas a través del cifrado es como almacenar las contraseñas en texto sin formato. Pero cada lugar que he buscado, todos recomiendan usar un administrador de contraseñas como KeePass.

Supongo que la pregunta real que me pregunto es ¿de qué manera KeePass u otros administradores de contraseñas son más seguros que almacenarlos en texto sin formato?

La única razón por la que pregunto es porque estoy planeando construir un servidor doméstico. Me gustaría implementar un administrador de contraseñas en línea que envíe las contraseñas a través de HTTPS a múltiples dispositivos. Probablemente esto será solo para mierdas y risitas. No estoy confiando en mi código de mierda en todas mis contraseñas. Pero todavía me interesa cómo KeePass pudo hacerlo.

    
pregunta Michael 11.05.2015 - 02:12
fuente

3 respuestas

16

El contexto lo es todo.

  

almacenar contraseñas a través de cifrado es como almacenar contraseñas en texto sin formato.

Este consejo se refiere a los programas cliente que implementan un administrador de contraseñas falsas que almacena la contraseña para acceder al servicio en línea en formato cifrado para que no tenga que escribir la contraseña para acceder a ese servicio. Este tipo de cifrado es discutible porque para permitir el inicio de sesión sin contraseña, la clave de descifrado del administrador de contraseñas debe almacenarse junto con la propia contraseña cifrada, esto no le brinda más seguridad que el simple almacenamiento de texto sin formato.

Por otro lado, un administrador de contraseñas adecuado cifra su contraseña con una contraseña maestra (o, más comúnmente, la contraseña maestra cifra la clave maestra utilizada para cifrar sus datos). Esto es seguro porque no puede desbloquear el administrador de contraseñas sin la contraseña maestra. Esto significa que debe escribir la contraseña maestra cada vez que el administrador de contraseñas deseche la clave de descifrado (por ejemplo, definitivamente durante el reinicio y cuando finalice el proceso del administrador de contraseñas y dependiendo de la configuración, posiblemente sobre hibernación, suspensión / suspensión o pantalla apagada) .

    
respondido por el Lie Ryan 11.05.2015 - 03:11
fuente
2

Hay algunas cosas diferentes a considerar aquí.

1. Gestionar contraseñas para aplicaciones web y propósitos de autenticación

Usted menciona que la gente dice que "almacenar las contraseñas a través del cifrado es como almacenar las contraseñas en texto sin formato". Pienso que lo que quieren decir (aunque no tengo idea de quiénes 'son') es que almacenar las contraseñas en una base de datos con fines de autenticación de sitios web es una idea horrible, incluso si están cifradas. Estoy de acuerdo con eso.

Tener incluso una copia encriptada de las contraseñas de las personas es una idea horrible para cualquier sitio web porque presenta un objetivo encantador. En su lugar, lo que debe hacer es implementar un algoritmo de hashing unidireccional que toma mi contraseña - "awpasspassword" y la cambia constantemente en el mismo alboroto al azar como "DF5A FL23 IA92 76S4 0K7S". De esa manera, tendrá una lista de cadenas como la que se encuentra entre comillas y sin contraseñas de las que hablar. Y como los hachís son como hacer salchichas, nunca se puede obtener la contraseña de la carne molida. Sin embargo, siempre puede tomar una entrada y verificarla contra un hash. Si desea implementar esto, también debe buscar Sales que agreguen una buena cantidad de seguridad también.

2. Gestionar contraseñas para uso personal

Cualquier administrador de contraseñas decente es mucho más seguro que el plan de almacenamiento de contraseñas de texto. Si valen la pena, necesitan una contraseña para descifrar y, a veces, un archivo de claves u otra verificación para desbloquear. Lo que hace que sea muy difícil robar sus contraseñas si elige una buena clave. Las preocupaciones sobre el malware son legítimas, pero si tienes un malware de registro de claves, probablemente serás atornillado en la misma medida que si alguien hubiera logrado milagrosamente descifrar tu cifrado. TLDR: utilizar un administrador de contraseñas. También hay muchos otros beneficios .

En la nota del servidor doméstico Si no confía en su código para un servidor doméstico que es un administrador de contraseñas, no compre un USB e instale un administrador de contraseñas en el USB. Puede copiar su archivo de contraseña en él y desplazarse con todas sus contraseñas fácilmente accesibles en el USB cifrado. Tampoco tiene que preocuparse por perderla con una contraseña segura porque está cifrada. Yay!

¡Pruebe a mantener keepass out antes de construir su propio servidor defectuoso!

    
respondido por el Fernando 11.05.2015 - 08:00
fuente
1

Hay dos cosas que afectan a la seguridad en general:

  1. ¿Qué tienes que hacer?
  2. ¿Qué deben hacer los atacantes para superar su seguridad?

El segundo es el más obvio; cuanto más fácil es para los atacantes "romper" la seguridad, menos seguro estás. El primero, aunque también es importante; Si su seguridad le impide hacer lo que tiene para el sistema, entonces no tiene sentido, pero a menudo se trata de una presión contraria porque no puede cerrar un posible uso del sistema para protegerlo si hacerlo no tiene sentido.

Ahora, veamos dos escenarios de almacenamiento de contraseñas:

  1. Las contraseñas se almacenan en un servidor para que los usuarios puedan autenticarse.
  2. Las contraseñas se almacenan para que el usuario pueda utilizarlas.

Estos dos escenarios son diferentes según ambos criterios:

"¿Qué tienes que hacer?"

En el primer escenario, no es necesario recuperar la contraseña; solo necesitamos poder establecer que una contraseña que se nos pasa al iniciar sesión la coincide.

En el escenario de segundos, debemos poder recuperar la contraseña real.

"¿Qué deben hacer los atacantes para superar tu seguridad?"

Con el cifrado basado en contraseña maestra reversible, los atacantes deben obtener el almacén de contraseñas y romper el cifrado u obtener la contraseña maestra.

Si el descifrado en sí mismo se realiza en el mismo servidor que la verificación de la contraseña, en cualquier caso en el que los atacantes hayan accedido al archivo de contraseñas, es muy probable que también hayan accedido al lugar donde se almacena la contraseña maestra. mientras que eso podría por ejemplo Requieren descompilar algún código o algo, tienen todo lo que necesitan para leer las contraseñas.

Si el descifrado se realiza basándose en que el usuario conoce la contraseña maestra, al obtener el almacén de contraseñas no es más probable que haya obtenido la contraseña maestra, ya que solo está en la memoria del usuario.

Como tal, el cifrado de las contraseñas para el tipo de usos que KeePass y otras tiendas (PasswordSafe, LastPass, etc.) tienen como objetivo no proporciona más funcionalidad de la que realmente se necesita (a diferencia de la verificación, donde la recuperación de la contraseña en sí no tiene sentido ) y no tan débil.

También pueden volver a tener una mayor seguridad al no tener las computadoras que tienen una copia de la tienda operando como servidores 24/7 donde pueden ser atacados en una ubicación conocida 24/7, aunque esa parte desaparece si usa la nube Almacenamiento o un repositorio para almacenar el almacén de contraseñas.

KeePass es ciertamente menos seguro que tener ninguna de las contraseñas almacenadas en cualquier lugar, pero casi nadie es capaz de almacenar contraseñas razonables como d@[email protected],xve1Q+W.CkocPL/,XWbky en cada servicio por separado.

Tener un almacén de contraseñas cifradas para tal uso es una reducción en la seguridad que trae consigo una funcionalidad que nos permite evitar mayores reducciones en la seguridad.

Tener un almacén de contraseñas cifradas en un servidor para verificar los inicios de sesión es una reducción mucho mayor en la seguridad (porque tenemos que estar menos seguros con el almacenamiento de la clave también) que no permite un aumento en la funcionalidad, excepto algunas cosas que son en sí mismas una muy mala idea (decirles a los usuarios sus contraseñas).

    
respondido por el Jon Hanna 11.05.2015 - 11:26
fuente

Lea otras preguntas en las etiquetas