¿Esta contraseña dentro de un archivo es segura? Una paradoja de seguridad

2

Preámbulo: He sido un acechador durante mucho tiempo, pero el primer póster al sitio de Seguridad de la información, así que por favor sea amable conmigo.

La situación: Me encontré con una situación en la que necesitaba almacenar de forma segura una contraseña en un archivo. Ahora sé que actualmente existen muchas prácticas recomendadas y estándares de la industria para realizar esa tarea pero, uno de mis primeros pensamientos fugaces sobre el problema, fue almacenar la contraseña en un archivo al que solo se puede acceder si ya tiene la contraseña que está escrita en el archivo.

Hacer esto resuelve un problema legítimo y hay varias formas mejores de hacerlo que no sea guardar la contraseña en texto plano. Soy consciente de esto, pero la pregunta es más bien de ¿por qué no de esta manera? Parece ser una solución simple y, a menudo, las soluciones simples son las mejores.

Ejemplo

La contraseña del usuario es mypass , esta contraseña se almacena en texto sin formato en el archivo password.txt .

La carpeta en la que está password.txt es propiedad de UserA .

Asumptions

El disco está cifrado para que solo el Usuario que posee un archivo pueda leerlo.

La protección relativa para los permisos de archivo y las contraseñas de usuario son las mismas.

Los permisos para esa carpeta y todos los objetos dentro de esa carpeta niegan explícitamente todo acceso a todo dentro de la carpeta, excepto al propietario. (por el bien del argumento, digamos que ningún otro usuario, incluyendo root / NT Authority / etc) tiene acceso a esta carpeta y su contenido; solo usuario A

Por lo tanto :

Para leer la contraseña en password.txt (que es mypass ) necesita la contraseña mypass .

Si tuviera que descifrar la contraseña ( mypass ) para obtener acceso al archivo password.txt , de todos modos estaría descifrando mypass .

Pregunta

Entonces, en un sentido teórico, si pudiera cumplir con todas las condiciones de las suposiciones, ¿estaría segura mi contraseña si el contenido del archivo que contiene mi contraseña estaba en un archivo seguro?

¿Hay un nombre para este tipo de seguridad como se describe en esta pregunta?

¿Hay algún defecto grave lógico en un sistema como este para asegurar una contraseña en un archivo?

Mantenlo en teoría

Intenté mantener esto tan indiferente para el sistema operativo como sea posible porque el propósito de esta pregunta es no cuestionar si este es un método viable . De hecho, existen varios métodos populares para realizar esta tarea y la mayoría requerirá que todas las contraseñas guardadas en el archivo estén encriptadas:

es decir, El cmdlet send-mailmessage para PoSh tiene un parámetro

-credentials (username,password) 

pero explícitamente no aceptará la contraseña en texto sin formato. Esto se implementó para desalentar activamente a los profesionales de TI de guardar contraseñas en texto sin formato en los archivos. Solo quiero saber por qué está desanimado.

EDITAR 16/01/2016 En primer lugar, ¡muchas gracias a todos por sus rápidas respuestas y comentarios sobre esta pregunta! He editado mi publicación para aclarar un par de puntos que se mencionaron.

Se agregaron Comentarios en la sección Situación para explicar que esta es una práctica común en SA / Automatización. También, agregue una sección de "Mantenlo en forma teórica **" para aclarar que deseo mantener esta teoría tan agudamente como sea posible. Gracias!

    
pregunta Get-HomeByFiveOClock 15.01.2016 - 22:33
fuente

2 respuestas

2

La falla lógica en el esquema es que necesita conocer la contraseña para poder acceder a la contraseña. Esto anula cualquier uso válido para almacenar la contraseña en primer lugar. Entonces, no es tanto una paradoja como una falacia.

Si su verdadero objetivo es simplemente almacenar una contraseña de la forma más segura posible, entonces su arquitectura generalmente tiene sentido, pero reemplace la construcción de una contraseña en un archivo que requiera la misma contraseña con esa de un administrador de contraseñas, cuando la contraseña se almacena en un administrador de contraseñas protegido por una contraseña maestra segura y un segundo factor.

    
respondido por el Xander 15.01.2016 - 23:00
fuente
0

Esto parece una protección débil para algo tan importante como una contraseña. Su solución se basa en el supuesto de que solo porque usted es el único usuario en su computadora, todo lo que ejecuta es de confianza. Desafortunadamente, este no es el caso.

Windows Control de cuentas de usuario se creó para ayudar a proteger contra la ejecución de código malicioso. Pero el directorio aleatorio que está utilizando no está protegido por UAC. Por lo tanto, está abierto a cualquier proceso que se ejecute bajo su cuenta de usuario.

En general, las contraseñas se consideran tan importantes que ni siquiera se almacenan encriptadas. Más bien, se utilizan hashes irreversibles para almacenarlos. Por ejemplo, Windows solo almacena un hash de la contraseña de su cuenta. Entonces, si bien entiendo que desea tener acceso fácil y automatizado a su contraseña, creo que cualquier solución preocupada por la seguridad le requerirá que cifre la contraseña y proporcione una contraseña en el momento del acceso.

Uno podría argumentar que, dado que está creando una solución única, nadie pensaría en buscar en este directorio su contraseña para que esté seguro. Pero esto es solo el antiguo seguridad a través de la oscuridad .

    
respondido por el Neil Smithline 16.01.2016 - 00:51
fuente

Lea otras preguntas en las etiquetas