DPAPI equivalente en linux?

9

Tengo un servidor de aplicaciones y un servidor db. Quiero enviar ciertos datos a la base de datos encriptada, utilizando un DEK (clave de encriptación de datos). Idealmente, este DEK está protegido contra la lectura en el sistema de archivos de Linux y se cifra mediante KEK (clave de cifrado de clave). En Windows, usaría DPAPI para proteger KEK, pero en Linux, no estoy seguro de cuál es la mejor manera de mantener segura esta clave (sin un HSM).

Estoy abierto a alternar arquitecturas o paradigmas comunes que las personas usan para resolver este problema.

    
pregunta Tom Hinkley 23.01.2014 - 02:56
fuente

1 respuesta

6

Si el código malicioso se puede ejecutar en el contexto del usuario, DPAPI no ofrece protección, ya que dicho código malicioso puede simplemente pedirle a DPAPI que lo descifre.

El único escenario contra el que protege, es si los datos o el disco son robados, pero la contraseña no se conoce. La contraseña se puede restablecer fácilmente, pero esto hace que los datos protegidos por DPAPI sean inaccesibles. Un atacante tendría que descifrar el hash de contraseña de la caché de credenciales de Windows, pero tenga en cuenta que esta es generalmente una tarea muy factible. Si sabe que esto es lo que tiene que hacer, probablemente pueda hacerlo en la mayoría de los casos.

Su problema real es "cómo administrar fácilmente el KEK".

DPAPI se encarga de la administración de claves mediante la incorporación de la contraseña de Windows. Necesitaría un módulo PAM para hacer esto en Linux, y no hay uno.

Debería considerar la posibilidad de participar en lo que sea que el usuario ya esté usando, por ejemplo. Llavero OSX, KWallet de KDE, GnomeKeyring de Gnome, etc., que creo que tienen API.

Si estabas usando Python, deberías considerar algo como esto:

respondido por el Ben 24.01.2014 - 13:15
fuente

Lea otras preguntas en las etiquetas