Comando y perfil de señal de TPM V2.0
En este documento se especifica la interfaz de señalización de TPM compatible con Windows 8 y se enumeran los comandos de TPM 2.0 que:
Son utilizados por Windows 8 y, por lo tanto, deben implementarse para la certificación de hardware de Windows;
No se usan en Windows 8, pero se recomienda implementar por otros motivos (por ejemplo, la administración de TPM, el uso esperado de aplicaciones de terceros y el uso de OEM).
No se usan en Windows 8, pero son opcionales para implementar.
No se admite ninguna otra interfaz de señalización, pero se pueden implementar comandos TPM 2.0 adicionales que Windows no use en un dispositivo TPM 2.0 que sea compatible con esta especificación. Póngase en contacto con Microsoft para obtener más información sobre los intervalos de comandos específicos del proveedor.
Perfil de comando y señal
Requisitos
Este perfil requiere que un TPM 2.0 implementado para admitir Windows 8:
Implementa la especificación de biblioteca TCG TPM 2.0, incluidas las revisiones de seguridad críticas (por compatibilidad con la versión posterior de la especificación, póngase en contacto con Microsoft. Para certificar TPM en 2015, el requisito es implementar v0.99 junto con las revisiones de seguridad necesarias. Para obtener información sobre las revisiones de seguridad necesarias, póngase en contacto con Microsoft).
Siempre está activo; Es decir, no es necesario realizar la activación mediante programación o controlada por el usuario.
Se aprovisiona con una inicialización principal para aprobación y almacenamiento.
Matriz de requisitos
Señales e indicaciones | Incluido | Opcionales | Notas |
---|---|---|---|
_TPM_Init |
X |
||
_TPM_Hash_Start |
X |
||
_TPM_Hash_Data |
X |
||
_TPM_Hash_End |
X |
Comandos | Incluido | Opcionales | Notas |
---|---|---|---|
Comandos de inicio |
|||
TPM2_Startup |
X |
Usado solo por el firmware |
|
TPM2_Shutdown |
X |
||
Comandos de prueba |
|||
TPM2_SelfTest |
X |
||
TPM2_IncrementalSelfTest |
X |
||
TPM2_GetTestResult |
X |
||
Comandos de sesión |
|||
TPM2_StartAuthSession |
X |
||
TPM2_PolicyRestart |
X |
||
Comandos de objeto |
|||
TPM2_Create |
X |
||
TPM2_Load |
X |
||
TPM2_LoadExternal |
X |
Recomendado |
|
TPM2_ReadPublic |
X |
||
TPM2_ActivateCredential |
X |
||
TPM2_MakeCredential |
X |
Recomendado |
|
TPM2_Unseal |
X |
||
TPM2_ObjectChangeAuth |
X |
||
Comandos de duplicación |
|||
TPM2_Duplicate |
X |
||
TPM2_Rewrap |
X |
||
TPM2_Import |
X |
||
Primitivos asimétricos |
|||
TPM2_RSA_Encrypt |
X |
||
TPM2_RSA_Decrypt |
X |
||
TPM2_ECDH_KeyGen |
X |
||
TPM2_ECDH_ZGen |
X |
||
TPM2_ECC_Parameters |
X |
||
Primitivos simétricos |
|||
TPM2_EncryptDecrypt |
X |
||
TPM2_Hash |
X |
||
TPM2_HMAC |
X |
||
Generador de números aleatorios |
|||
TPM2_GetRandom |
X |
||
TPM2_StirRandom |
X |
||
Secuencias de eventos hash/HMAC/ |
|||
TPM2_HMAC_Start |
X |
||
TPM2_HashSequenceStart |
X |
Recomendado |
|
TPM2_SequenceUpdate |
X |
Recomendado |
|
TPM2_SequenceComplete |
X |
Recomendado |
|
TPM2_EventSequenceComplete |
X |
Recomendado |
|
Comandos de atestación |
|||
TPM2_Certify |
X |
||
TPM2_CertifyCreation |
X |
||
TPM2_Quote |
X |
||
TPM2_GetSessionAuditDigest |
X |
||
TPM2_GetCommandAuditDigest |
X |
||
TPM2_GetTime |
X |
||
Comandos de atestación anónima |
|||
TPM2_Commit |
X |
||
Comandos de verificación de firma |
|||
TPM2_VerifySignature |
X |
Recomendado |
|
TPM2_Sign |
X |
||
Auditoría de comandos |
|||
TPM2_SetCommandCodeAuditStatus |
X |
||
Colección de integridad |
|||
TPM2_PCR_Extend |
X |
||
TPM2_PCR_Event |
X |
||
TPM2_PCR_Read |
X |
||
TPM2_PCR_Allocate |
X |
||
TPM2_PCR_SetAuthPolicy |
X |
||
TPM2_PCR_SetAuthValue |
X |
||
TPM2_PCR_Reset |
X |
||
Comandos de autorización mejorados |
|||
TPM2_PolicySigned |
X |
Recomendado |
|
TPM2_PolicySecret |
X |
||
TPM2_PolicyTicket |
X |
Recomendado |
|
TPM2_PolicyOR |
X |
||
TPM2_PolicyPCR |
X |
||
TPM2_PolicyLocality |
X |
||
TPM2_PolicyNV |
X |
||
TPM2_PolicyCounterTimer |
X |
Recomendado |
|
TPM2_PolicyCommandCode |
X |
||
TPM2_PolicyPhysicalPresence |
X |
||
TPM2_PolicyCpHash |
X |
Recomendado |
|
TPM2_PolicyNameHash |
X |
Recomendado |
|
TPM2_PolicyDuplicationSelect |
X |
Recomendado |
|
TPM2_PolicyAuthorize |
X |
Recomendado |
|
TPM2_PolicyAuthValue |
X |
||
TPM2_PolicyPassword |
X |
Recomendado |
|
TPM2_PolicyGetDigest |
X |
||
Comandos de jerarquía |
|||
TPM2_CreatePrimary |
X |
||
TPM2_HierarchyControl |
X |
||
TPM2_SetPrimaryPolicy |
X |
||
TPM2_ChangePPS |
X |
||
TPM2_ChangeEPS |
X |
||
TPM2_Clear |
X |
||
TPM2_ClearControl |
X |
||
TPM2_HierarchyChangeAuth |
X |
||
Funciones de ataque de diccionario |
|||
TPM2_DictionaryAttackLockReset |
X |
||
TPM2_DictionaryAttackParameters |
X |
||
Funciones de administración varias |
|||
TPM2_PP_Commands |
X |
||
TPM2_SetAlgorithmSet |
X |
||
Actualización de campos |
|||
TPM2_FieldUpgradeStart |
X |
Microsoft recomienda encarecidamente que se proporcione algún mecanismo de actualización. |
|
TPM2_FieldUpgradeData |
X |
||
TPM2_FirmwareRead |
X |
||
Administración de contextos |
|||
TPM2_ContextSave |
X |
||
TPM2_ContextLoad |
X |
||
TPM2_FlushContext |
X |
||
TPM2_EvictControl |
X |
||
Relojes y temporizadores |
|||
TPM2_ReadClock |
X |
Se usa para leer el contador de arranque |
|
TPM2_ClockSet |
X |
Es probable que solo lo use el firmware. |
|
TPM2_ClockRateAdjust |
X |
||
Comandos de funcionalidad |
|||
TPM2_GetCapability |
X |
||
TPM2_TestParms |
X |
||
Almacenamiento no volátil |
|||
TPM2_NV_DefineSpace |
X |
||
TPM2_NV_UndefineSpace |
X |
Win 8 puede usar Clear en su lugar |
|
TPM2_NV_UndefineSpaceSpecial |
X |
||
TPM2_NV_ReadPublic |
X |
||
TPM2_NV_Write |
X |
Lo más probable es que solo lo use oem. |
|
TPM2_NV_Increment |
X |
||
TPM2_NV_Extend |
X |
||
TPM2_NV_SetBits |
X |
||
TPM2_NV_WriteLock |
X |
||
TPM2_NV_GlobalWriteLock |
X |
||
TPM2_NV_Read |
X |
||
TPM2_NV_ReadLock |
X |
||
TPM2_NV_ChangeAuth |
X |
||
TPM2_NV_Certify |
x |