Profil de commande et de signal TPM V2.0

Ce document spécifie l’interface de signalisation TPM prise en charge par Windows 8 et répertorie les commandes TPM 2.0 qui :

  1. Sont utilisés par Windows 8 et doivent donc être implémentés pour la certification matérielle Windows ;

  2. Ne sont pas utilisés par Windows 8, mais il est recommandé d’implémenter pour d’autres raisons (par exemple, la gestion du module de plateforme sécurisée, l’utilisation attendue des applications tierces et l’utilisation OEM). et

  3. Ne sont pas utilisés par Windows 8, mais sont facultatifs à implémenter.

Aucune autre interface de signalisation n’est prise en charge, mais des commandes TPM 2.0 supplémentaires qui ne sont pas utilisées par Windows peuvent être implémentées dans un appareil TPM 2.0 conforme à cette spécification. Contactez Microsoft pour plus d’informations sur les plages de commandes spécifiques au fournisseur.

Profil de commande et de signal

Conditions requises

Ce profil nécessite qu’un module TPM 2.0 implémenté pour prendre en charge Windows 8 :

  • Implémente la spécification de bibliothèque TCG TPM 2.0, y compris les correctifs de sécurité critiques (pour la compatibilité avec la version ultérieure de la spécification, contactez Microsoft. Pour la certification des modules TPM en 2015, la condition requise est d’implémenter la version 0.99 ainsi que les correctifs de sécurité requis. Pour plus d’informations sur les correctifs de sécurité requis, contactez Microsoft.)

  • Est toujours actif ; c’est-à-dire pas besoin d’une activation programmatique ou pilotée par l’utilisateur.

  • Est approvisionné avec une valeur initiale principale pour l’approbation et le stockage.

Matrice d’exigences

Signaux et indications Inclus Facultatif Notes

_TPM_Init

X

_TPM_Hash_Start

X

_TPM_Hash_Data

X

_TPM_Hash_End

X

Commandes Inclus Facultatif Notes

Commandes de démarrage

TPM2_Startup

X

Utilisé par le microprogramme uniquement

TPM2_Shutdown

X

Test des commandes

TPM2_SelfTest

X

TPM2_IncrementalSelfTest

X

TPM2_GetTestResult

X

Commandes de session

TPM2_StartAuthSession

X

TPM2_PolicyRestart

X

Commandes d’objet

TPM2_Create

X

TPM2_Load

X

TPM2_LoadExternal

X

Recommandé

TPM2_ReadPublic

X

TPM2_ActivateCredential

X

TPM2_MakeCredential

X

Recommandé

TPM2_Unseal

X

TPM2_ObjectChangeAuth

X

Commandes de duplication

TPM2_Duplicate

X

TPM2_Rewrap

X

TPM2_Import

X

Primitives asymétriques

TPM2_RSA_Encrypt

X

TPM2_RSA_Decrypt

X

TPM2_ECDH_KeyGen

X

TPM2_ECDH_ZGen

X

TPM2_ECC_Parameters

X

Primitives symétriques

TPM2_EncryptDecrypt

X

TPM2_Hash

X

TPM2_HMAC

X

Générateur de nombres aléatoires

TPM2_GetRandom

X

TPM2_StirRandom

X

Séquences de hachage/HMAC/événement

TPM2_HMAC_Start

X

TPM2_HashSequenceStart

X

Recommandé

TPM2_SequenceUpdate

X

Recommandé

TPM2_SequenceComplete

X

Recommandé

TPM2_EventSequenceComplete

X

Recommandé

Commandes d’attestation

TPM2_Certify

X

TPM2_CertifyCreation

X

TPM2_Quote

X

TPM2_GetSessionAuditDigest

X

TPM2_GetCommandAuditDigest

X

TPM2_GetTime

X

Commandes d’attestation anonyme

TPM2_Commit

X

Commandes de vérification de signature

TPM2_VerifySignature

X

Recommandé

TPM2_Sign

X

Audit des commandes

TPM2_SetCommandCodeAuditStatus

X

Collection d’intégrité

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

Commandes d’autorisation améliorées

TPM2_PolicySigned

X

Recommandé

TPM2_PolicySecret

X

TPM2_PolicyTicket

X

Recommandé

TPM2_PolicyOR

X

TPM2_PolicyPCR

X

TPM2_PolicyLocality

X

TPM2_PolicyNV

X

TPM2_PolicyCounterTimer

X

Recommandé

TPM2_PolicyCommandCode

X

TPM2_PolicyPhysicalPresence

X

TPM2_PolicyCpHash

X

Recommandé

TPM2_PolicyNameHash

X

Recommandé

TPM2_PolicyDuplicationSelect

X

Recommandé

TPM2_PolicyAuthorize

X

Recommandé

TPM2_PolicyAuthValue

X

TPM2_PolicyPassword

X

Recommandé

TPM2_PolicyGetDigest

X

Commandes hiérarchiques

TPM2_CreatePrimary

X

TPM2_HierarchyControl

X

TPM2_SetPrimaryPolicy

X

TPM2_ChangePPS

X

TPM2_ChangeEPS

X

TPM2_Clear

X

TPM2_ClearControl

X

TPM2_HierarchyChangeAuth

X

Fonctions d’attaque de dictionnaire

TPM2_DictionaryAttackLockReset

X

TPM2_DictionaryAttackParameters

X

Fonctions de gestion diverses

TPM2_PP_Commands

X

TPM2_SetAlgorithmSet

X

Mise à niveau de champ

TPM2_FieldUpgradeStart

X

Microsoft recommande vivement qu’un mécanisme de mise à jour soit fourni

TPM2_FieldUpgradeData

X

TPM2_FirmwareRead

X

Gestion du contexte

TPM2_ContextSave

X

TPM2_ContextLoad

X

TPM2_FlushContext

X

TPM2_EvictControl

X

Horloges et minuteurs

TPM2_ReadClock

X

Utilisé pour lire le compteur de démarrage

TPM2_ClockSet

X

Probablement utilisé par le microprogramme uniquement

TPM2_ClockRateAdjust

X

Commandes de fonctionnalité

TPM2_GetCapability

X

TPM2_TestParms

X

Stockage non volatile

TPM2_NV_DefineSpace

X

TPM2_NV_UndefineSpace

X

Win 8 peut utiliser Clear à la place

TPM2_NV_UndefineSpaceSpecial

X

TPM2_NV_ReadPublic

X

TPM2_NV_Write

X

Probablement utilisé par oem uniquement

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