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_ENABLED0x00000001 |
El enclave admite la depuración. |
ENCLAVE_FLAG_DYNAMIC_DEBUG_ENABLED0x00000002 |
El enclave admite la depuración dinámica. |
ENCLAVE_FLAG_DYNAMIC_DEBUG_ACTIVE0x00000004 |
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. |
|
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 |