Partilhar via


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:

  1. São usados por Windows 8 e, portanto, necessários para serem implementados para a Certificação de Hardware do Windows;

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

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