Compartir a través de


estructura ENCLAVE_IDENTITY (ntenclv.h)

Describe la identidad del módulo principal de un enclave.

Sintaxis

typedef struct ENCLAVE_IDENTITY {
  UINT8  OwnerId[IMAGE_ENCLAVE_LONG_ID_LENGTH];
  UINT8  UniqueId[IMAGE_ENCLAVE_LONG_ID_LENGTH];
  UINT8  AuthorId[IMAGE_ENCLAVE_LONG_ID_LENGTH];
  UINT8  FamilyId[IMAGE_ENCLAVE_SHORT_ID_LENGTH];
  UINT8  ImageId[IMAGE_ENCLAVE_SHORT_ID_LENGTH];
  UINT32 EnclaveSvn;
  UINT32 SecureKernelSvn;
  UINT32 PlatformSvn;
  UINT32 Flags;
  UINT32 SigningLevel;
  UINT32 EnclaveType;
} ENCLAVE_IDENTITY;

Miembros

OwnerId[IMAGE_ENCLAVE_LONG_ID_LENGTH]

Identificador del propietario del enclave.

UniqueId[IMAGE_ENCLAVE_LONG_ID_LENGTH]

Identificador único del módulo principal del enclave.

AuthorId[IMAGE_ENCLAVE_LONG_ID_LENGTH]

Identificador de autor del módulo principal para el enclave.

FamilyId[IMAGE_ENCLAVE_SHORT_ID_LENGTH]

Identificador de familia del módulo principal para el enclave.

ImageId[IMAGE_ENCLAVE_SHORT_ID_LENGTH]

Identificador de imagen del módulo principal del enclave.

EnclaveSvn

Número de versión de seguridad del módulo principal para el enclave.

SecureKernelSvn

Número de versión de seguridad del kernel del modo seguro virtual (VSM).

PlatformSvn

Número de versión de seguridad de la plataforma que hospeda el enclave.

Flags

Marcas que describen la directiva en tiempo de ejecución para el enclave.

Valor Significado
ENCLAVE_FLAG_FULL_DEBUG_ENABLED
0x00000001
El enclave admite la depuración.
ENCLAVE_FLAG_DYNAMIC_DEBUG_ENABLED
0x00000002
El enclave admite la depuración dinámica.
ENCLAVE_FLAG_DYNAMIC_DEBUG_ACTIVE
0x00000004
La depuración dinámica está activada para el enclave.

SigningLevel

Nivel de firma del módulo principal para el enclave.

EnclaveType

Observaciones

Cada enclave tiene un ENCLAVE_IDENTITY que se configura cuando se crea el enclave y se establece cuando se inicializa el enclave. Contiene varias propiedades que se describen a continuación:

Propiedad ¿Cómo se genera esta propiedad? ¿Cuál es el valor para validar esta propiedad?
OwnerId de Establezca cuando se cree el enclave (CreateEnclave) y denota el propietario (creador) del enclave. Se puede usar para distinguir entre enclaves creados por el mismo propietario.
UniqueId Mide de forma única todo el contenido de la imagen de enclave. Cuando se carga la imagen principal de un enclave, el resumen contenido en la parte PKCS#1 de la firma Authenticode se captura como identificador único del enclave. Se puede usar para distinguir la instancia exacta de un enclave determinado, incluidas las propiedades del código que se ejecutan dentro del enclave y la información del firmante.
AuthorId Un publicador puede querer usar un certificado determinado para firmar diferentes enclaves de VBS y seguir teniendo una relación de confianza diferente desde una perspectiva de sellado. El identificador de autor identifica de forma única un publicador de enclave. El identificador de autor es un hash de:

: identificador del firmante.
: el nombre del firmante en el certificado hoja.
- La información de OPUS en la firma (si existe). Esto se agrega a través de la infraestructura de firma de signtool.exe. En escenarios en los que Microsoft firma envíos de terceros, también se usa para distinguir distintos remitentes.
Se puede usar para distinguir al publicador del enclave con fines de firma.
FamilyId Identificador único (GUID) asignado al enclave por su autor. Denota enclaves de la misma familia. Se puede usar para distinguir entre enclaves con la misma familia. Se puede usar para aplicar las operaciones de importación, sellado y etcetera. las operaciones en enclaves con la misma FamilyId.
ImageId Identificador único (GUID) asignado al enclave por su autor. Se puede usar para distinguir entre enclaves con la misma imagen. Se puede usar para aplicar las operaciones de importación, sellado y etcetera. Las operaciones en enclaves con la misma ImageId.
enclaveSvn Número de versión de seguridad de la imagen principal dentro del enclave. Comparado con minimumSvn en la importación de módulos para determinar si se rechaza la importación. También se usa en las operaciones de firma.
PlatformSvn Número de versión de seguridad del kernel de VSM. No se permite que ningún enclave desellará ningún dato sellado por un enclave SVN posterior.
marcas Marcas que describen la directiva en tiempo de ejecución del enclave:

- ENCLAVE_FLAG_FULL_DEBUG_ENABLED: indica que el enclave admite la depuración.
- ENCLAVE_FLAG_DYNAMIC_DEBUG_ENABLED: indica que el enclave admite la depuración dinámica.
- ENCLAVE_FLAG_DYNAMIC_DEBUG_ACTIVE: indica que la depuración dinámica se ha activado para el enclave.
Se puede usar para confirmar si el enclave tiene habilitada la depuración o si se ha activado. Se pueden usar varias permutaciones para validar el estado del enclave.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 10, versión 1709 [solo aplicaciones de escritorio]
servidor mínimo admitido Windows Server 2016 [solo aplicaciones de escritorio]
encabezado de ntenclv.h

Consulte también

VBS_ENCLAVE_REPORT

estructuras de enclave

CreateEnclave