TBS の使用
TPM 基本サービス機能は、次の 4 つの機能領域に分かれています。
異なるエンティティが互いのリソースにアクセスできないようにするために、TBS に送信された各コマンドは特定のエンティティに関連付けられます。 これは、エンティティに対して 1 つ以上のコンテキストを作成することによって実現されます。このコンテキストは、そのエンティティによって送信された後続の各コマンドに関連付けられます。 各コマンドにはコンテキスト オブジェクトが含まれています。これにより、TBS は適切なコンテキストで TPM コマンドを実行できます。 コマンドによって作成されたすべてのオブジェクトは、コンテキストが閉じられると TPM からフラッシュされます。
エンティティは、最初に TBS にアクセスする前にコンテキストを作成し、TBS アクセスの実行が完了するまでコンテキストを維持します。 たとえば、TSS の場合、TSS の TCG コア サービス (TCS) 機能は、起動時に TBS コンテキストを作成し、シャットダウンするまでそのコンテキストをアクティブに保ちます。
Windows Server 2008 および Windows Vista の場合、TBS は TBS API へのアクセスを管理者、NT AUTHORITY\LocalService、および NT AUTHORITY\NetworkService アカウントに制限します。 既定では、これらのアカウントは TBS に接続してコンテキストを作成できる唯一のアカウントです。 アクセス制限は、文字列 (REG_SZ) レジストリ値名 SecurityDescriptor を使用してレジストリ キー Access を作成することで変更できます
-
データ型
- REG_SZ
HKEY_LOCAL_MACHINE
Software
Microsoft
TPM
Access
SecurityDescriptor = SecurityDescriptor
例:
O:BAG:BAD:(A;;0x00000001;;;BA)(A;;0x00000001;;;NS)(A;;0x00000001;;;LS)
既定では、TBS でサポートされるコンテキストの最大数は 25 です。 この数値は、HKEY_LOCAL_MACHINESoftware\Microsoft\Tpm で MaxContexts という名前の DWORD レジストリ値を\作成または変更することで変更できます。 リアルタイム TBS コンテキストの使用状況を確認するには、パフォーマンス モニター ツールを使用して TBS コンテキストの数を追跡します。
Windows 8、Windows Server 2012 以降の場合、TBS は標準ユーザーと管理者へのアクセスを許可します。 SecurityDescriptor と MaxContexts レジストリ キーは廃止されました。 Windows 8、Windows Server 2012 以降では、TBS はコマンド ブロックを使用して特定のコマンドへのアクセスを制限します。
Windows 10バージョン 1607 の場合、TBS は AppContainer アプリケーションからのアクセスを許可します。 TPM バージョンごとに、 BlockedAppContainerCommands キーと AllowedW8AppContainerCommands キーがそれぞれ、ブロックされた TPM コマンドと許可される TPM コマンドの一致リストと共に追加されています。
バージョン 1803 Windows 10では、AllowedW8AppContainerCommands の下のレジストリ キーはサポートされなくなりました。