Leer en inglés

Compartir a través de


Conceptos básicos

En este artículo se definen algunos conceptos básicos relacionados con Microsoft Azure Attestation.

JSON Web Token (JWT)

JSON Web Token (JWT) es un método de RFC7519 estándar abierto para transmitir información de forma segura entre entidades como un objeto de notación de objetos JavaScript (JSON). Esta información se puede comprobar y es de confianza porque está firmada digitalmente. Los JWT se pueden firmar mediante un secreto o un par de claves pública y privada.

Clave de web JSON (JWK)

La clave web de JSON (JWK) es una estructura de datos JSON que representa una clave criptográfica. Esta especificación también define una estructura de datos Set JSON de JWK que representa un conjunto de JWK.

Proveedor de atestación

El proveedor de atestación pertenece al proveedor de recursos de Azure denominado Microsoft.Attestation. El proveedor de recursos es un punto de conexión de servicio que proporciona el contrato REST de Azure Attestation y se implementa mediante Azure Resource Manager. Cada proveedor de atestación respeta una directiva específica y reconocible. Los proveedores de atestación se crean con una directiva predeterminada para cada tipo de atestación (tenga en cuenta que el enclave de VBS no tiene ninguna directiva predeterminada). Consulte los ejemplos de directivas de atestación para más información sobre la directiva predeterminada de SGX.

Solicitud de atestación

La solicitud de atestación es un objeto JSON serializado que la aplicación cliente envía al proveedor de atestación. El objeto de solicitud para el enclave de SGX tiene dos propiedades:

  • "Quote": El valor de la propiedad "Quote" es una cadena que contiene una representación codificada en Base64URL de la comilla de atestación.
  • "EnclaveHeldData": El valor de la propiedad "EnclaveHeldData" es una cadena que contiene una representación codificada en Base64URL de los datos mantenidos del enclave.

Azure Attestation valida el "Quote" proporcionado para asegurarse de que el hash SHA256 de los datos contenidos del enclave proporcionado se expresa en los primeros 32 bytes del campo reportData de la cita.

Directiva de atestación

La directiva de atestación se usa para procesar la evidencia de atestación. Los clientes pueden configurarla. El núcleo de Azure Attestation es un motor de directivas, que procesa las notificaciones que constituyen la evidencia. Las directivas se usan para determinar si Azure Attestation emitirá un token de atestación en función de la evidencia (o no) y, por tanto, avale el atestador (o no). En consecuencia, si no se pasan todas las directivas, no se emite ningún token JWT.

Si la directiva predeterminada del proveedor de atestación no satisface las necesidades, los clientes pueden crear directivas personalizadas en cualquiera de las regiones admitidas por Azure Attestation. La administración de directivas es una característica clave que se proporciona a los clientes mediante Azure Attestation. Las directivas son específicas del tipo de atestación y se pueden usar para identificar enclaves o agregar notificaciones al token de salida o modificar notificaciones en un token de salida.

Vea ejemplos de una directiva de atestación.

Ventajas de la firma de directivas

Una directiva de atestación es lo que determina en última instancia si Azure Attestation emite un token de atestación. La directiva también determina las notificaciones que se van a generar en el token de atestación. Es fundamental que la directiva evaluada por el servicio sea la directiva escrita por el administrador y que no haya sido manipulada ni modificada por entidades externas.

El modelo de confianza define el modelo de autorización del proveedor de atestación para definir y actualizar la directiva. Se admiten dos modelos: uno basado en la autorización de Microsoft Entra y otro basado en la posesión de claves criptográficas administradas por el cliente (conocidas como "modelo aislado"). El modelo aislado permite a Azure Attestation asegurarse de que la directiva enviada por el cliente no está manipulada.

En el modelo aislado, el administrador crea un proveedor de atestación que especifica un conjunto de certificados X.509 de firma de confianza en un archivo. A continuación, el administrador puede agregar una directiva firmada al proveedor de atestación. Azure Attestation, al procesar la solicitud de atestación, valida la firma de la directiva mediante la clave pública representada por el parámetro "jwk" o "x5c" en el encabezado. Azure Attestation comprueba si la clave pública del encabezado de solicitud está en la lista de certificados de firma de confianza asociados al proveedor de atestación. De esta manera, el usuario de confianza (Azure Attestation) puede confiar en una directiva firmada con los certificados X.509 que conozca.

Consulte los ejemplos de certificado de firma de directivas.

Token de atestación

La respuesta de Azure Attestation es una cadena JSON cuyo valor contiene JWT. Azure Attestation empaqueta las notificaciones y genera un JWT firmado. La operación de firma se realiza mediante un certificado autofirmado con un nombre de sujeto que coincide con el elemento AttestUri del proveedor de atestación.

La API de obtención de metadatos de OpenID devuelve una respuesta de configuración de OpenID según lo especificado por el protocolo de detección de OpenID Connect. La API recupera los metadatos sobre los certificados de firma que Azure Attestation use.

Consulte Ejemplos de un token de atestación.

Cifrado de datos en reposo

Para proteger los datos de clientes, Azure Attestation conserva sus datos en Azure Storage. Azure Storage proporciona cifrado de datos en reposo a medida que los datos se escriben en centros de datos y los descifra para que los clientes puedan acceder a ellos. Este cifrado se produce mediante una clave de cifrado administrada de Microsoft.

Además de proteger los datos en Azure Storage, Azure Attestation también aprovecha Azure Disk Encryption (ADE) para cifrar las máquinas virtuales del servicio. Si Azure Attestation se ejecuta en un enclave en entornos informáticos confidenciales de Azure, la extensión ADE no se admite actualmente. En estos escenarios, para evitar que los datos se almacenen en memoria, el archivo de paginación está deshabilitado.

No se conservan datos de clientes en las unidades de disco duro locales de Azure Attestation.

Pasos siguientes