為了保留作業的完整性,平臺上的軟體不允許執行某些 TPM 命令。 例如,某些命令只會由系統軟體執行。 當 TBS 封鎖命令時,會適當地傳回錯誤。 根據預設,TBS 會封鎖可能會影響系統隱私權、安全性和穩定性的命令。 TBS 也假設軟體堆疊的其他部分可能會限制對授權實體特定命令的存取。
針對 TPM 1.2 版命令,有三個封鎖命令清單:由組策略控制的清單、由本機系統管理員所控制的清單,以及預設清單。 如果 TPM 命令位於任何清單上,就會遭到封鎖。 不過,有組策略旗標可讓 TBS 忽略本機清單和預設清單。 您可以透過組策略物件編輯器直接編輯或存取組策略旗標。
注意
升級至作系統之後,不會保留本機封鎖命令的清單。 會保留組策略清單上封鎖的命令。
針對 TPM 2.0 版命令,會反轉封鎖的邏輯;它會使用允許的命令清單。 此邏輯會自動封鎖第一次建立清單時不知道的命令。 當命令在 Windows 版本出貨後新增至 TPM 規格時,系統會自動封鎖這些新的命令。 只有登錄的更新會將這些新命令新增至允許的命令清單。
從 Windows 10 1809 開始(Windows Server 2019),允許的 TPM 2.0 命令無法再透過登錄設定來作。 針對這些 Windows 10 版本,TPM 驅動程式中會修正允許的 TPM 2.0 命令。 TPM 1.2 命令仍可透過登錄變更封鎖和解除封鎖。
直接登錄存取
組策略旗標位於登錄機碼 HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Tpm\BlockedCommands。
若要判斷應該使用哪些清單來封鎖 TPM 命令,有兩個 DWORD 值,用來作為布爾值旗標:
“IgnoreDefaultList”
如果 set (value exists and is nonzero),TBS 會忽略預設的 blocked-commands 清單。
“IgnoreLocalList”
如果 set (value exists and is nonzero),TBS 會忽略 local blocked-commands 列表。
組策略物件編輯器
存取組策略物件編輯器
- 點選 [開始] 。
- 點選 [[執行]。
- 在 [Open] 方塊中,輸入 gpedit.msc。 按下 [確定] 。 組策略物件編輯器隨即開啟。
- 展開 [電腦設定]。
- 展開 系統管理範本。
- 展開 System。
- 展開 信任平臺模組服務。
特定封鎖的 TPM1.2 命令清單可以直接在下列位置編輯。
群組原則清單:
HKEY_LOCAL_MACHINE Software Policies Microsoft Tpm BlockedCommands List本機清單:
HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services SharedAccess Parameters Tpm BlockedCommands List預設清單:
HKEY_LOCAL_MACHINE Software Microsoft Tpm BlockedCommands List
在這些登錄機碼中,有REG_SZ類型的登錄值清單。 每個值都代表封鎖的 TPM 命令。 每個登錄機碼都有 [值名稱] 字段和 [值數據] 欄位。 這兩個字段 (“Value Name” 和 “Value data”),應該完全符合要封鎖之 TPM 命令序數的十進位值。
您可以直接在下列位置編輯特定允許的 TPM 2.0 命令清單。 在登錄機碼下,有REG_DWORD類型的登錄值清單。 每個值都代表允許的 TPM 2.0 命令。 每個登錄值都有 名稱 和 值 欄位。 名稱 符合應該允許的十六進位 TPM 2.0 命令序數。 如果允許命令,則 值為 1。 如果命令序數不存在或值為 0,則會封鎖命令。
預設清單:
HKEY_LOCAL_MACHINE Software Microsoft Tpm AllowedW8Commands List
針對 Windows 8、Windows Server 2012 和更新版本,BlockedCommands 和 AllowedW8Commands 登錄機碼分別決定系統管理員帳戶封鎖或允許的 TPM 命令。 用戶帳戶在 BlockedUserCommands 和 AllowedW8UserCommands 登錄機碼中有封鎖或允許的 TPM 命令清單。 在 Windows 10 版本 1607 中,已針對 AppContainer 應用程式引進新的登錄機碼:BlockedAppContainerCommands 和 AllowedW8AppContainerCommands。