TPM V2.0 – Befehls- und Signalprofil
Dieses Dokument enthält Spezifikationen der von Windows 8 unterstützten TPM-Signalschnittstelle und listet TPM 2.0-Befehle auf, für die Folgendes gilt:
Sie werden von Windows 8 verwendet und müssen daher für eine Windows-Hardwarezertifizierung implementiert werden.
Sie werden nicht von Windows 8 verwendet, ihre Implementierung wird aber aus anderen Gründen empfohlen (z. B. TPM-Verwaltung, voraussichtliche Nutzung von Drittanbieter-Apps und OEM-Nutzung).
Sie werden nicht von Windows 8 verwendet, ihre Implementierung ist aber optional.
Es wird keine andere Signalschnittstelle unterstützt, aber es können zusätzliche TPM 2.0-Befehle, die von Windows nicht verwendet werden, in einem TPM 2.0-Gerät implementiert werden, das mit dieser Spezifikation konform ist. Wenden Sie sich an Microsoft, um weitere Informationen zu anbieterspezifischen Befehlsbereichen zu erhalten.
Befehls- und Signalprofil
Anforderungen
Für dieses Profil muss ein TPM der Version 2.0 implementiert sein, um Windows 8 zu unterstützen:
Implementiert die TCG TPM 2.0-Bibliotheksspezifikation einschließlich kritischer Sicherheitspatches (Informationen zur Kompatibilität mit späteren Versionen der Spezifikation erhalten Sie von Microsoft. Bei der Zertifizierung von TPMs für 2015 muss v0.99 zusammen mit erforderlichen Sicherheitspatches implementiert werden. Informationen zu den erforderlichen Sicherheitspatches erhalten Sie von Microsoft.)
Ist immer aktiv, muss also nicht programmgesteuert oder durch einen Benutzer aktiviert werden.
Wird mit einem primären Seed für Zustimmung und Speicherung bereitgestellt.
Anforderungsmatrix
Signale und Hinweise | Enthalten | Optional | Hinweise |
---|---|---|---|
_TPM_Init |
X |
||
_TPM_Hash_Start |
X |
||
_TPM_Hash_Data |
X |
||
_TPM_Hash_End |
X |
Befehle | Enthalten | Optional | Hinweise |
---|---|---|---|
Startbefehle |
|||
TPM2_Startup |
X |
Nur von der Firmware verwendet |
|
TPM2_Shutdown |
X |
||
Testbefehle |
|||
TPM2_SelfTest |
X |
||
TPM2_IncrementalSelfTest |
X |
||
TPM2_GetTestResult |
X |
||
Sitzungsbefehle |
|||
TPM2_StartAuthSession |
X |
||
TPM2_PolicyRestart |
X |
||
Objektbefehle |
|||
TPM2_Create |
X |
||
TPM2_Load |
X |
||
TPM2_LoadExternal |
X |
Empfohlen |
|
TPM2_ReadPublic |
X |
||
TPM2_ActivateCredential |
X |
||
TPM2_MakeCredential |
X |
Empfohlen |
|
TPM2_Unseal |
X |
||
TPM2_ObjectChangeAuth |
X |
||
Duplizierungsbefehle |
|||
TPM2_Duplicate |
X |
||
TPM2_Rewrap |
X |
||
TPM2_Import |
X |
||
Asymmetrische primitive Typen |
|||
TPM2_RSA_Encrypt |
X |
||
TPM2_RSA_Decrypt |
X |
||
TPM2_ECDH_KeyGen |
X |
||
TPM2_ECDH_ZGen |
X |
||
TPM2_ECC_Parameters |
X |
||
Symmetrische primitive Typen |
|||
TPM2_EncryptDecrypt |
X |
||
TPM2_Hash |
X |
||
TPM2_HMAC |
X |
||
Zufallszahlengenerator |
|||
TPM2_GetRandom |
X |
||
TPM2_StirRandom |
X |
||
Hash-/HMAC-/Ereignissequenzen |
|||
TPM2_HMAC_Start |
X |
||
TPM2_HashSequenceStart |
X |
Empfohlen |
|
TPM2_SequenceUpdate |
X |
Empfohlen |
|
TPM2_SequenceComplete |
X |
Empfohlen |
|
TPM2_EventSequenceComplete |
X |
Empfohlen |
|
Nachweisbefehle |
|||
TPM2_Certify |
X |
||
TPM2_CertifyCreation |
X |
||
TPM2_Quote |
X |
||
TPM2_GetSessionAuditDigest |
X |
||
TPM2_GetCommandAuditDigest |
X |
||
TPM2_GetTime |
X |
||
Anonyme Nachweisbefehle |
|||
TPM2_Commit |
X |
||
Signaturüberprüfungsbefehle |
|||
TPM2_VerifySignature |
X |
Empfohlen |
|
TPM2_Sign |
X |
||
Befehlsüberwachung |
|||
TPM2_SetCommandCodeAuditStatus |
X |
||
Integritätssammlung |
|||
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 |
||
Erweiterte Autorisierungsbefehle |
|||
TPM2_PolicySigned |
X |
Empfohlen |
|
TPM2_PolicySecret |
X |
||
TPM2_PolicyTicket |
X |
Empfohlen |
|
TPM2_PolicyOR |
X |
||
TPM2_PolicyPCR |
X |
||
TPM2_PolicyLocality |
X |
||
TPM2_PolicyNV |
X |
||
TPM2_PolicyCounterTimer |
X |
Empfohlen |
|
TPM2_PolicyCommandCode |
X |
||
TPM2_PolicyPhysicalPresence |
X |
||
TPM2_PolicyCpHash |
X |
Empfohlen |
|
TPM2_PolicyNameHash |
X |
Empfohlen |
|
TPM2_PolicyDuplicationSelect |
X |
Empfohlen |
|
TPM2_PolicyAuthorize |
X |
Empfohlen |
|
TPM2_PolicyAuthValue |
X |
||
TPM2_PolicyPassword |
X |
Empfohlen |
|
TPM2_PolicyGetDigest |
X |
||
Hierarchiebefehle |
|||
TPM2_CreatePrimary |
X |
||
TPM2_HierarchyControl |
X |
||
TPM2_SetPrimaryPolicy |
X |
||
TPM2_ChangePPS |
X |
||
TPM2_ChangeEPS |
X |
||
TPM2_Clear |
X |
||
TPM2_ClearControl |
X |
||
TPM2_HierarchyChangeAuth |
X |
||
Wörterbuchangriffsfunktionen |
|||
TPM2_DictionaryAttackLockReset |
X |
||
TPM2_DictionaryAttackParameters |
X |
||
Verschiedene Verwaltungsfunktionen |
|||
TPM2_PP_Commands |
X |
||
TPM2_SetAlgorithmSet |
X |
||
Feldupgrade |
|||
TPM2_FieldUpgradeStart |
X |
Bereitstellung eines Updatemechanismus von Microsoft dringend empfohlen |
|
TPM2_FieldUpgradeData |
X |
||
TPM2_FirmwareRead |
X |
||
Kontextverwaltung |
|||
TPM2_ContextSave |
X |
||
TPM2_ContextLoad |
X |
||
TPM2_FlushContext |
X |
||
TPM2_EvictControl |
X |
||
Uhren und Timer |
|||
TPM2_ReadClock |
X |
Verwendet zum Lesen des Startzählers |
|
TPM2_ClockSet |
X |
Wahrscheinlich nur von Firmware verwendet |
|
TPM2_ClockRateAdjust |
X |
||
Funktionalitätsbefehle |
|||
TPM2_GetCapability |
X |
||
TPM2_TestParms |
X |
||
Nicht flüchtiger Speicher |
|||
TPM2_NV_DefineSpace |
X |
||
TPM2_NV_UndefineSpace |
X |
Win 8 verwendet möglicherweise stattdessen „Clear“ |
|
TPM2_NV_UndefineSpaceSpecial |
X |
||
TPM2_NV_ReadPublic |
X |
||
TPM2_NV_Write |
X |
Wahrscheinlich nur von OEM verwendet |
|
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 |