¿Método de almacenamiento de contraseñas fácil de usar, simple y seguro? [cerrado]

1

Deseo reducir la barrera de entrada a un método más seguro para generar / almacenar contraseñas. El principal obstáculo para cualquiera con el que haya hablado o tratado de convencer de cambiar a una base de datos de contraseñas no es necesariamente complejidad, sino complejidad percibida.

Hasta ahora he convencido a algunas personas para que eviten reutilizar las contraseñas y he señalado recursos para crear contraseñas más seguras o para proporcionar instrucciones sobre cómo hacerlo. Esto ahora deja el problema de almacenar estas contraseñas de forma segura.

Teniendo en cuenta:

  • No es posible memorizar todas las contraseñas.
  • Tampoco es posible almacenar todas las contraseñas escritas y protegidas.

¿Existen métodos comunes o mejores prácticas para permitir que los usuarios que carecen de experiencia técnica puedan almacenar contraseñas de manera segura?

Editar: Mi versión anterior de esta pregunta fue puesta en espera como una solicitud de producto, esto sería correcto ya que estaba buscando un archivo de texto cifrado "base de datos". Repito los requisitos establecidos allí, ya que mantiene la base para la respuesta de @ Craig y un resumen de lo simples que eran mis requisitos.

Mi ideal tendría una funcionalidad extremadamente limitada:

  • Requiere una frase de contraseña para abrir / descifrar el archivo 'base de datos'.
  • Al abrirse la base de datos, al usuario simplemente se le presenta un editor de texto sin formato.
  • La configuración mínima aparece inmediatamente en la interfaz de usuario.
  • Un generador de contraseñas de un solo clic, con valores predeterminados 'sensibles'.
  • El soporte de Windows es una necesidad, multiplataforma beneficiosa, pero no un requisito.
pregunta Phizes 03.01.2015 - 10:40
fuente

1 respuesta

1

Ha habido algunos "editores de cifrado de texto" durante mucho tiempo. No sé qué tipo de longevidad tiene la mayoría de ellos, realmente. UltraEdit cifrará archivos de texto y ha existido por siempre. Una búsqueda corta mostró estas alternativas:

enlace

enlace

enlace

enlace

enlace

La criptografía puede ser muy difícil de hacer bien, por lo que desea investigar los antecedentes de la solución que elija. Si haces el tuyo, quieres diseñarlo con cuidado o terminar haciendo promesas que realmente no estás cumpliendo. Tienes que descifrar los datos para verlos. Pero cuando lo descifras tienes que almacenarlo y presentarlo. Donde haces eso Si lo escribe en el disco sin encriptar, incluso inadvertidamente a través de los archivos temporales que su aplicación puede crear, entonces ha comprometido la integridad de su solución. Si lo descifra solo a la memoria, eso es bueno, pero tiene que poder sobrescribirlo de manera segura cuando su programa se cierra, y es potencialmente vulnerable mientras el programa se está ejecutando. Si está utilizando una herramienta de desarrollo con recolección de basura como la mayoría de las modernas (Java, .NET C # / VB, etc.), entonces realmente no tiene control sobre lo que hace el GC con la memoria en la que están almacenadas las cadenas. Puede pasar mucho tiempo antes de que la memoria se borre. En el caso de .NET, las cadenas son inmutables (usted no puede sobrescribirlas), pero hay una clase de cadena segura que se puede sobrescribir (pero es más difícil de usar). O puede fijar la memoria en secciones de código no administradas y hacer lo que quiera. Lo que también es más difícil. Pero entonces aún debe considerar la posibilidad de que las copias de texto claro de sus datos terminen en el archivo de paginación de Windows (o en el archivo de intercambio de Linux / UNIX), etc.

La criptografía es difícil de obtener "bien". :-)

    
respondido por el Craig 03.01.2015 - 13:54
fuente

Lea otras preguntas en las etiquetas