Proteger una clave privada en Azure

1

¿Hay alguna forma en Azure de proteger una clave privada para que solo yo tenga la clave? ¿Nadie más puede obtener la llave?

Entiendo que esto podría ser imposible ya que el código que tenemos en Azure necesita la clave para validar el XML entrante y firmar el XML saliente y, por lo tanto, ese código lo tiene. Pero lo pregunto con la esperanza de que haya una manera de evitar que cualquier persona lo obtenga.

Lo pregunto porque a lo largo de los años he aprendido que, ocasionalmente, alguien en quien creías podía confiar totalmente, no puede ser.

    
pregunta David Thielen 02.03.2018 - 23:19
fuente

3 respuestas

1

Azure tiene una función específica para este bóveda de claves de Azure Estos están respaldados por los HSM - esto es lo que quieres. Debe asignar acceso a la aplicación a través de los principios de servicio y la autenticación / autorización habitual, pero así es como desea almacenar las claves de las aplicaciones en Azure.

  

" Con Key Vault, Microsoft no ve ni extrae sus claves. "

    
respondido por el McMatty 03.03.2018 - 02:09
fuente
0

Esta es una pregunta un tanto amplia y en realidad es más un problema arquitectónico y filosófico. Buscar un producto en particular a menudo es una mala idea en este sitio, por lo que ofreceré algunos consejos.

¿Cómo se define "nadie más"? ¿Código en la aplicación, otras aplicaciones en la máquina virtual, aplicaciones en otras máquinas virtuales, atacantes que atacan su sitio web, aplicaciones en el host de la máquina virtual, administradores de centros de datos, etc.? Esto abarcará el diseño del sistema.

Ya que estamos hablando de claves, el diseño corto y simple es mover el acceso y el uso de la clave fuera del ámbito de los que la atacan (respuesta útil, ¿verdad?).

Moviéndose hacia afuera:

  • Codificado en los binarios de la aplicación (cualquier persona que lea sobre los binarios puede obtener las claves)
  • Almacenado en un archivo de configuración en el disco (cualquier persona que lea sobre la configuración puede obtener las claves)
  • Almacenado localmente en el almacén de certificados de Windows (solo los administradores locales pueden obtener las claves)
  • Almacenado en un almacén de certificados en otra máquina con servicios remotos para acceder (solo los administradores locales en la máquina remota pueden obtener las claves)
  • En un módulo de seguridad respaldado por hardware (HSM) (nadie puede obtener las claves)

En cada paso, introduce límites y dificulta el acceso a las teclas. Esos límites existen como servicios autenticados de algún tipo. En general, entregas el trabajo a estos servicios y ellos tocan las teclas, de esa manera tu aplicación no.

La compensación es la complejidad y la capacidad de administración para lograr un nivel de seguridad efectivo.

    
respondido por el Steve 03.03.2018 - 00:32
fuente
0

Si lo entiendo correctamente, "nadie más" significa en su caso " no mi equipo " (por lo tanto, personas con acceso al código fuente, servidores, etc.).

Veo solo dos soluciones:

Opción A:

  1. Extraiga la funcionalidad de firma (cree un servicio / servidor de firma).
  2. Ejecute esto en un entorno / server / vm dedicado (almacene la clave aquí).
  3. Restrinja el acceso a esto según sea necesario.

Opción B:

Restrinja el acceso a su servidor / servicio actual.

    
respondido por el Ratlos 03.03.2018 - 02:35
fuente

Lea otras preguntas en las etiquetas