Nos gustaría desarrollar una aplicación que se comunique de manera segura a otra aplicación en otra máquina. Para ello nos gustaría utilizar el cifrado. Podemos usar criptografía simétrica o asimétrica, no es un problema de diseño clave en este momento.
Nuestra especificación requiere dos niveles de acceso separados:
-
Un administrador de claves que puede instalar y reemplazar una clave en la máquina
-
La aplicación puede usar esta clave para cifrar la información sin tener conocimiento de la clave en sí misma.
La aplicación utilizará (con suerte) un servicio de nivel de sistema operativo para cifrar los datos sin obtener acceso directo a la clave en sí. El sistema operativo debe almacenar la clave de forma segura y otorgar solo acceso de uso a la aplicación.
Normalmente, este tipo de implementación se realiza a través de un dispositivo externo, como una tarjeta inteligente o un HSM. Mi pregunta es si Windows admite de forma nativa este tipo de administración de claves sin un dispositivo o proveedor externo.