Cómo usar DPAPI en un entorno de equilibrio de carga

7



DPAPI se puede usar para cifrar los datos secretos.
Tenemos la intención de utilizarlo en nuestra aplicación web para cifrar algunos datos y almacenar los datos cifrados en la base de datos. Cuando sea necesario, desciframos los datos y los presentamos en la IU (página web). Funciona bien si alojamos la aplicación web en un solo servidor web. Pero el problema aparece cuando lo migramos a un entorno de equilibrio de carga: alojar la aplicación web en varios servidores web. Porque la aplicación no puede descifrar los datos cifrados en otra máquina.

Nos referimos a cierta información de Internet, parece que necesitamos configurar una cuenta de usuario móvil y ejecutar el grupo de aplicaciones con esa cuenta.

La razón por la que queremos utilizar DPAPI es que no implicará un trabajo de administración adicional en las claves.

¿Tienes alguna experiencia similar, cómo resuelves el problema? ¿O algunas otras sugerencias?

    
pregunta Robin Xing 05.03.2012 - 08:03
fuente

1 respuesta

5

Hay dos cambios relativamente pequeños que debes hacer en tu configuración.

En primer lugar, siempre debe usar DPAPI en USER_MODE , este es un parámetro para los métodos de DPAPI.
(Los métodos .Protect() de las clases ProtectedData y ProtectedMemory toman un parámetro de alcance adicional, esto debe establecerse en DataProtectionScope.CurrentUser para ProtectedData , o MemoryProtectionScope.SameLogon para ProtectedMemory , dependiendo de lo que esté usando. ) (Si está llamando directamente a las funciones WINAPI, y espero que no las esté usando, también puede enviar el parámetro USER_MODE directamente. Ah, y use las clases .NET en su lugar).

En segundo lugar, debe utilizar las clases DPAPI para cifrar su clave de cifrado, no los datos directamente.
En otras palabras, genera una sola clave de cifrado, la distribuye a todos sus servidores y hace que almacenen la clave a través de DPAPI. (Sí, probablemente necesitará una pequeña utilidad para esto).
Esto hará que los procesos de administración de claves sean mucho más fáciles, la clave se comparte, por lo que el descifrado es más fácil y aún está protegido por el cifrado DPAPI.

    
respondido por el AviD 05.03.2012 - 08:52
fuente

Lea otras preguntas en las etiquetas