Compartir a través de


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:

  1. Son utilizados por Windows 8 y, por lo tanto, deben implementarse para la certificación de hardware de Windows;

  2. 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).

  3. 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