Comando e perfil de sinal do TPM V2.0
Este documento especifica a interface de sinalização do TPM compatível com Windows 8 e lista os comandos do TPM 2.0 que:
São usados por Windows 8 e, portanto, necessários para serem implementados para a Certificação de Hardware do Windows;
Não são usados por Windows 8 mas são recomendados para implementar por outros motivos (por exemplo, gerenciamento de TPM, uso esperado de aplicativos de terceiros e uso de OEM.); e
Não são usados por Windows 8, mas são opcionais para implementar.
Nenhuma outra interface de sinalização tem suporte, mas comandos adicionais do TPM 2.0 que não são usados pelo Windows podem ser implementados em um dispositivo TPM 2.0 que esteja em conformidade com essa especificação. Entre em contato com a Microsoft para obter mais informações sobre intervalos de comandos específicos do fornecedor.
Perfil de comando e sinal
Requisitos
Esse perfil requer que um TPM 2.0 seja implementado para dar suporte a Windows 8:
Implementa a Especificação da Biblioteca TCG TPM 2.0, incluindo patches de segurança críticos (para compatibilidade com a versão posterior da especificação, entre em contato com a Microsoft. Para certificar TPMs em 2015, o requisito é implementar a v0.99 juntamente com os patches de segurança necessários. Para obter informações sobre os patches de segurança necessários, entre em contato com a Microsoft.)
Está sempre ativo; Ou seja, não há necessidade de ativação programática ou controlada pelo usuário.
É provisionado com uma semente primária para Endosso e Armazenamento.
Matriz de requisitos
Sinais e indicações | Incluído | Opcional | Observações |
---|---|---|---|
_TPM_Init |
X |
||
_TPM_Hash_Start |
X |
||
_TPM_Hash_Data |
X |
||
_TPM_Hash_End |
X |
Comandos | Incluído | Opcional | Observações |
---|---|---|---|
Comandos de inicialização |
|||
TPM2_Startup |
X |
Usado apenas pelo firmware |
|
TPM2_Shutdown |
X |
||
Testando comandos |
|||
TPM2_SelfTest |
X |
||
TPM2_IncrementalSelfTest |
X |
||
TPM2_GetTestResult |
X |
||
Comandos de sessão |
|||
TPM2_StartAuthSession |
X |
||
TPM2_PolicyRestart |
X |
||
Comandos de objeto |
|||
TPM2_Create |
X |
||
TPM2_Load |
X |
||
TPM2_LoadExternal |
X |
Recomendadas |
|
TPM2_ReadPublic |
X |
||
TPM2_ActivateCredential |
X |
||
TPM2_MakeCredential |
X |
Recomendadas |
|
TPM2_Unseal |
X |
||
TPM2_ObjectChangeAuth |
X |
||
Comandos de duplicação |
|||
TPM2_Duplicate |
X |
||
TPM2_Rewrap |
X |
||
TPM2_Import |
X |
||
Primitivos assimé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 |
||
Gerador de número aleatório |
|||
TPM2_GetRandom |
X |
||
TPM2_StirRandom |
X |
||
Hash/HMAC/Sequências de Eventos |
|||
TPM2_HMAC_Start |
X |
||
TPM2_HashSequenceStart |
X |
Recomendadas |
|
TPM2_SequenceUpdate |
X |
Recomendadas |
|
TPM2_SequenceComplete |
X |
Recomendadas |
|
TPM2_EventSequenceComplete |
X |
Recomendadas |
|
Comandos de atestado |
|||
TPM2_Certify |
X |
||
TPM2_CertifyCreation |
X |
||
TPM2_Quote |
X |
||
TPM2_GetSessionAuditDigest |
X |
||
TPM2_GetCommandAuditDigest |
X |
||
TPM2_GetTime |
X |
||
Comandos de atestado anônimo |
|||
TPM2_Commit |
X |
||
Comandos de verificação de assinatura |
|||
TPM2_VerifySignature |
X |
Recomendadas |
|
TPM2_Sign |
X |
||
Auditoria de comando |
|||
TPM2_SetCommandCodeAuditStatus |
X |
||
Coleção de integridade |
|||
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 autorização aprimorados |
|||
TPM2_PolicySigned |
X |
Recomendadas |
|
TPM2_PolicySecret |
X |
||
TPM2_PolicyTicket |
X |
Recomendadas |
|
TPM2_PolicyOR |
X |
||
TPM2_PolicyPCR |
X |
||
TPM2_PolicyLocality |
X |
||
TPM2_PolicyNV |
X |
||
TPM2_PolicyCounterTimer |
X |
Recomendadas |
|
TPM2_PolicyCommandCode |
X |
||
TPM2_PolicyPhysicalPresence |
X |
||
TPM2_PolicyCpHash |
X |
Recomendadas |
|
TPM2_PolicyNameHash |
X |
Recomendadas |
|
TPM2_PolicyDuplicationSelect |
X |
Recomendadas |
|
TPM2_PolicyAuthorize |
X |
Recomendadas |
|
TPM2_PolicyAuthValue |
X |
||
TPM2_PolicyPassword |
X |
Recomendadas |
|
TPM2_PolicyGetDigest |
X |
||
Comandos de hierarquia |
|||
TPM2_CreatePrimary |
X |
||
TPM2_HierarchyControl |
X |
||
TPM2_SetPrimaryPolicy |
X |
||
TPM2_ChangePPS |
X |
||
TPM2_ChangeEPS |
X |
||
TPM2_Clear |
X |
||
TPM2_ClearControl |
X |
||
TPM2_HierarchyChangeAuth |
X |
||
Funções de ataque de dicionário |
|||
TPM2_DictionaryAttackLockReset |
X |
||
TPM2_DictionaryAttackParameters |
X |
||
Funções de gerenciamento diversas |
|||
TPM2_PP_Commands |
X |
||
TPM2_SetAlgorithmSet |
X |
||
Atualização de campo |
|||
TPM2_FieldUpgradeStart |
X |
A Microsoft recomenda fortemente que algum mecanismo de atualização seja fornecido |
|
TPM2_FieldUpgradeData |
X |
||
TPM2_FirmwareRead |
X |
||
Gerenciamento de Contexto |
|||
TPM2_ContextSave |
X |
||
TPM2_ContextLoad |
X |
||
TPM2_FlushContext |
X |
||
TPM2_EvictControl |
X |
||
Relógios e Temporizadores |
|||
TPM2_ReadClock |
X |
Usado para ler o contador de inicialização |
|
TPM2_ClockSet |
X |
Provavelmente usado apenas por firmware |
|
TPM2_ClockRateAdjust |
X |
||
Comandos de funcionalidade |
|||
TPM2_GetCapability |
X |
||
TPM2_TestParms |
X |
||
Armazenamento não volátil |
|||
TPM2_NV_DefineSpace |
X |
||
TPM2_NV_UndefineSpace |
X |
Em vez disso, o Win 8 pode usar Clear |
|
TPM2_NV_UndefineSpaceSpecial |
X |
||
TPM2_NV_ReadPublic |
X |
||
TPM2_NV_Write |
X |
Provavelmente usado apenas pelo 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 |