Mayor seguridad con keepass

8

Estoy usando keepass para proteger las contraseñas. Tengo una contraseña razonable, pero si alguien consiguió el archivo, estoy seguro de que con el tiempo podrían forzarlo.

También estaba pensando en usar un archivo clave, pero como es probable que este se guarde junto con el archivo keepass si alguien robara mi teléfono o computadora portátil, no aumentaría la seguridad. (No debe confundirse con esta pregunta que está preocupada por los registradores clave)

Estaba pensando entonces en generar 1000 archivos clave para almacenar junto con el archivo de datos. Solo uno de los cuales sería el real que se utilizó. Suponiendo que aumentaría la seguridad, como si alguien intentara atacar a la fuerza bruta, tendría que probar combinaciones de contraseña / archivo de clave. Haciendo bruta forzando un par de veces más difícil.

¿Se trata de una suposición correcta o sería bastante fácil deducir el archivo de clave del almacén cifrado?

    
pregunta Jeremy French 26.11.2012 - 11:29
fuente

5 respuestas

5

La defensa en profundidad rara vez es algo malo, pero desafiaría que tener varios certificados para trabajar realmente no agregue mucho a su seguridad y agregue mucho a los gastos generales. En general, los mejores mecanismos criptográficos aumentan la dificultad exponencialmente para un esfuerzo lineal, es decir, agregar un carácter alfanumérico / simbólico aleatorio a una contraseña hace que sea 80 veces más difícil de adivinar. A ese ritmo, agregar dos caracteres a su contraseña hace que sea 6400 veces más difícil de adivinar, lo cual es una dificultad aún mayor que sus 1000 archivos clave de un ataque de fuerza bruta en la contraseña.

Dicho esto, su enfoque todavía tiene mérito si intentan atacar el archivo clave directamente a través de alguna debilidad descubierta en el archivo clave, pero si esa magnitud de un problema se encuentra en el almacenamiento de claves, es probable que sea el momento considere el almacén de claves invalidado en su totalidad si desea mantener un nivel de seguridad lo suficientemente alto como para considerar el momento en que el cifrado del archivo es una amenaza.

    
respondido por el AJ Henderson 26.11.2012 - 15:23
fuente
8

La elección del archivo clave entre 1000 archivos posibles, suponiendo que puede hacerlo perfectamente (por ejemplo, la elección no se filtra a través de los tiempos de acceso), es equivalente a agregar tres dígitos al final de la contraseña. Agregar tres dígitos significa recordar (más allá de la contraseña) un número de tres dígitos, que es exactamente el mismo esfuerzo de memoria que recordar cuál de los 1000 archivos clave debe usar.

Por lo tanto, en lugar de usar sus archivos clave, simplemente agregue los datos secretos adicionales (el número de tres dígitos) a su contraseña. Esto será al menos tan seguro como sus archivos clave (y probablemente más sea seguro, porque su elección de archivo probablemente se filtrará de alguna manera) y mucho menos complicado de usar.

    
respondido por el Thomas Pornin 26.11.2012 - 16:26
fuente
7

El método de la aguja en un pajar que estás empleando es precisamente lo que hago con TrueCrypt. Hay alrededor de 600 archivos clave en un directorio en una memoria flash, y se utilizan ~ 10 de ellos.

El flash stick tiene un interruptor de solo lectura de hardware, que evita que el sistema operativo actualice los metadatos de "Último acceso". Tenga esto en cuenta si está utilizando un medio grabable para el almacenamiento: los archivos clave a los que tiene acceso se entregarán (probablemente) en la fecha de acceso. También agregué algunos "chaff" adicionales a esto al asignar al azar las fechas creadas / modificadas / a las que se accedió en los archivos, para que todas las fechas no sean confiables.

Esto hace que sea muy difícil encontrar los archivos clave correctos: 1,545,269,050,000,000,000,000,000 combinaciones posibles, suponiendo 10 elegidas de entre 600 archivos, si el orden no importa y cualquier archivo de clave solo puede usarse una vez. Cada combinación debe probarse con todas las contraseñas potenciales, haciendo que esa fuerza bruta sea completamente inviable. Mientras esté utilizando archivos de claves aleatorias de tamaño suficiente (por lo general uso 4kB o más), tampoco hay una forma viable de forzar el contenido. La clave es (generalmente) generada por un hash del contenido del archivo, o un compuesto de esos hashes si se usa más de un archivo de clave, combinado con el hash de la contraseña. Tenga en cuenta que "hash" podría significar un hash simple como SHA256, o la salida de un algoritmo de derivación de clave como PBKDF2 o bcrypt. Como tal, calcular la clave sin los archivos de claves es imposible. A la inversa, es imposible identificar el archivo de claves del volumen, ya que necesitaría saber la clave para deducir tal cosa.

Para abordar el posible ataque de tiempo de caché mencionado en los comentarios de fatfredyy, esto es altamente improbable. El ataque propuesto implica leer varios archivos y comparar sus tiempos de acceso. Un archivo leído recientemente debería leer más rápido que los demás, ya que estaría en el caché. Sin embargo, los tiempos de lectura del disco son ruidosos en los discos duros (los tiempos de búsqueda de los sectores actuales desconocidos hacen que las cosas sean interesantes) y el acceso a la memoria caché tiene un efecto Heisenberg. en términos de potencial para los ataques de tiempo. Un problema similar ocurre en los SSD, que emplean relativamente poco almacenamiento en caché de lectura y un montón de almacenamiento en caché de escritura. En algunos sistemas, es posible que la lectura secuencial de archivos en un directorio provoque que los archivos posteriores sean recuperados previamente, lo que complica aún más el ataque de sincronización. Aparte de extraer físicamente los datos de caché de hardware de la unidad, no creo que esto sea factible.

    
respondido por el Polynomial 26.11.2012 - 12:09
fuente
4

¿Por qué no almacenas el archivo de clave en una llave usb? Si alguien le robara su computadora portátil todavía necesitaría la llave. Si lo haces, tienes una autenticación de dos factores.

    
respondido por el Techbrunch 26.11.2012 - 18:26
fuente
1

Si usa un directorio de inicio cifrado (por ejemplo) y toma otras medidas de seguridad locales, puede denegar el acceso al atacante a su base de datos keepass por completo. Si descuida su seguridad local, entonces alguien podría instalar un keylogger (software o hardware) o un rootkit que le indicará qué archivo de claves está utilizando y potencialmente su contraseña maestra.

    
respondido por el user5065 27.11.2012 - 21:32
fuente

Lea otras preguntas en las etiquetas