「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
- マザーボードに搭載するセキュリティチップ
- リソースの限られたパッシブ コンポーネント
- 以下を 1 つのコンポーネントにまとめたもの。
- RSA 2048 ビット キー ジェネレーター
- 乱数ジェネレーター
- EK、SRK、AIKを格納する不揮発性メモリ
- 暗号化、暗号化解除、署名を行う暗号化エンジン
- PCRとRSA キーを格納する不揮発性メモリ
- ハードウェア ベースのセキュリティ関連の関数を提供する。
- セキュリティで保護された暗号化プロセッサが暗号化の操作を実行するために用意されている。
- 複数の物理的なセキュリティ メカニズム、改ざんされ難くすることが含まれている。
- 処理に独自の内部ファームウェアおよび論理回路を使用するため、
OSに依存せず、OSやAPPに存在する可能性がある脆弱性にさらされることが無い。
機能 †
- 暗号化キーの生成、格納、使用制限。
- EK(保証キー)を使うことで、TPM テクノロジを使ってプラットフォーム デバイスを認証。
- セキュリティ対策を取得して格納することで、プラットフォームの整合性を保つ。
- TPM は受動的なデバイスで、コマンドを受信して応答を返す。
Ver †
TPM 1.2 †
- RSA と SHA-1 ハッシュ アルゴリズムの使用のみが許可。
セキュリティ上の理由から、一部のエンティティは SHA-1 の使用を避け始めている。
- マザーボード上にはんだ付けされたディスクリートなシリコン コンポーネント
- ディスクリートとファームウェアでポリシー設定に違いがある。
- ロックアウトのポリシーが異なるため、サポートの問題が生じることがある。
TPM 2.0 †
- ISO 標準 (ISO/IEC 11889:2015) として承認
- OEM において、特定の国や地域のために標準構成に例外を設ける必要をなくすために役立つ
- 異なる実装間でより一貫性のあるエクスペリエンスを実現。
- デバイス間で一貫したロックアウト エクスペリエンスを確立する。
- 暗号化アルゴリズムをより柔軟にすることで、より高速な暗号化を実現。
- SHA-256 と ECC をサポート
- ECC は、署名とキー生成のパフォーマンスを高める場合に重要。
ディスクリートとファームウェア †
- ディスクリート TPM、ファームウェア TPM、統合 TPMがある。
- ディスクリートとファームウェアの特性は同じ
- ハードウェア ベースのセキュリティで保護された実行を使用。
- TPM 機能の一部にファームウェアを使う。
- 改ざんに対して抵抗する機能が備わっている。
- セキュリティに関する固有の制限事項/リスクがある。
ディスクリート TPM †
- ディスクリート (dTPM) なシリコン コンポーネント
- TPM 独自の半導体パッケージ内にある個別のコンポーネント
ファームウェア TPM †
- ファームウェア上で TPM を汎用の計算装置の信頼された実行モードで実行
- システムのメイン SoC 上の信頼された実行環境 (TEE) で動作する、
ファームウェア (fTPM) ベースのコンポーネントとして提供。
- Intel
- Intel Management Engine (ME)
- Converged Security Engine (CSE)
- AMD
AMD Security Processor
- ARM
Trustzone Trusted Application (TA)
- デスクトップ Windows システム用のファームウェア TPM
チップ ベンダーは、ファームウェア TPM の実装を
他のチップ ファームウェアと共に OEM に提供。
統合 TPM †
1 つ以上の半導体パッケージに他のコンポーネントと共に統合された専用のハードウェアを使用
TPMとWindows †
- 将来的には、Windows が備えている他の多くの主要な
セキュリティ機能のコンポーネントとなる可能性がある。
- 2016 年 7 月 28 日以降に出荷されるすべての Windows 10 デバイスは、
TPM 2.0 ディスクリートまたはファームウェアを使用している。
TPM キー †
キーの作成 †
"ラッピング" / "バインディング" †
TPM が組み込まれたコンピューターは、
TPM だけが暗号化を解除できるように、
暗号化キーを作成して、キーを暗号化できる。
"封印" / "開封" †
- 封印
特定のプラットフォーム測定値に関連付けられたキーを作成。
- 開封
プラットフォーム測定値がキー作成時の値と一致する場合にのみラップ解除。
キーの組のプライベート部分 †
- キーの組のプライベート部分は、OSで制御されるメモリとは別に保持される。
- 署名と、TPM によって定義された限られた操作にだけ使うことができる。
- キーを 封印できるので、キーを使用するために開封するまでは、
システムの状態に関して一定の保証 (システムの "信頼性" を規定する保証)できる。
構成証明 †
- TPM キーの構成証明は、キーが TPM にバインドされていることを暗号で証明するプロトコル。
- 構成証明を使うことで、特定の暗号化操作が特定のコンピューターのTPMで行われたことを保証できる。
仕組み †
構成証明情報 †
検証対象 †
生成された
検証項目 †
上記をサーバーが受け取った場合、サーバーは次の項目を確認する。
- AIK(認証IDキー)証明書
- 署名が有効であること。
- 期間が有効であること。
- チェーン
- 信頼されたルートに到達できること。
- EKU OID "2.23.133.8.3" (フレンドリ名は "認証 ID キーの証明書") に対して有効になっていること。
- 発行元の CA の証明書がすべて有効期間内にあり、失効していないこと。
- 構成証明ステートメント
- KeyAttestation? BLOB の署名は、AIK 公開キーを使います。
- KeyAttestation? BLOB に含まれる公開キーは、
クライアントが構成証明ステートメントと共に送信した公開 RSA キーと一致します。
EK(保証キー) †
- TPM には、保証キーと呼ばれる非対称キーのペア (RSA サイズ 2048 ビット)が(製造時から)埋め込まれている。
- 保証キーは、TPM の身分証明書として機能する。
- すべての TPM を識別できる。
- 変更、削除したりすることはできない。
キーペア †
EKPub †
- 保証キーと呼ばれる非対称キーのペア (RSA サイズ 2048 ビット)の公開キー
- 所有者パスワードの定義ハッシュを含む TPM の所有権を得る場合など、機密性の高いパラメタを安全に送るために使われる。
EKPriv †
- 保証キーと呼ばれる非対称キーのペア (RSA サイズ 2048 ビット)の秘密キー
- AIK(認証IDキー)などのセカンダリ キーを作成する際に使われる。
証明書 †
EKCert: EK(保証キー)証明書 †
- EKPubの製造元から発行されたEK証明書(TPM を初めて初期化するときに作成される)
- ローカル プロセス、アプリケーション、クラウド サービスに対して TPM の信頼性
(例えば、特定のメーカによって製造された本物の TPM であること)を証明するために使われる。
プラットフォーム証明書 †
特定の TPM が特定のデバイスに統合されていることを示す。
所有 †
SRK(ストレージ ルート キー) †
- ストレージ ルート キーはユーザが TPM の所有権を取得するときに作成される。
- 都度、作成される TPM キーが TPM なしで使用されることがないように保護する事が目的。
所有者パスワード †
- 所有者パスワードを設定できるユーザが TPM を所有していることになる。
- 1 つの TPM に設定できる所有者パスワードは 1 つだけ。
- パスワードを知っているすべてのユーザーが事実上の TPM 所有者になる。
AIK(認証IDキー) †
非対称キーのペア (RSA サイズ 2048 ビット)
用途 †
- TPM 2.0 の認証機能を使ってデバイスの正常性をレポートする。
- しかし、EK(保証キー)証明書ではプライバシーに関する問題が発生する可能性がある。
- この問題を防ぐため、TPM の ID として代替される。
- これにより、暗号証明 (TPM キーの構成証明) などの機能を提供する。
AIK(認証IDキー)証明書 †
- AIK(認証IDキー)に対応する証明書は、AIK(認証IDキー)証明書
用途 †
- TPM 内に AIK(認証IDキー)が存在すること証明する。
- 特定の TPM の AIK(認証IDキー)によって認証された他のキーを証明する。
Windows 10 では、 †
- EK(保証キー)証明書が有る場合
- Microsoft Cloud CAサービスなどのサードパーティサービスと連携してAIK(認証IDキー)証明書をプロビジョニングする。
- 発行された AIK(認証IDキー)証明書には、EK(保証キー)証明書が使われたことを証明するために特別な OID が追加される。
- EK(保証キー)証明書が無い場合
- AIK(認証IDキー)証明書を発行できる(これは、Microsoft Cloud CAサービスによって発行されたものではない)。
- この証明書は、製造時にデバイスに書き込まれたEK(保証キー)証明書ほどの信頼性はないが、
TPM がない場合の Microsoft Passport などの高度なシナリオとの互換性は確保される。
- デバイスを拒否するか承諾するかを決めることができる。
- 価値の高い資産へのアクセスを許可しないこともできる。
PCR(プラットフォーム構成レジスタ) †
TPM 内で何らかの一意のプロパティを格納したメモリ ロケーション
参考 †
- TPM 所有者パスワードの変更
- TPM の所有権の初期化と構成
- TPM ロックアウトの管理
- TPM コマンドの管理
- TPM 2.0 デバイスでの PCR バンクの切り替え
- TPM グループ ポリシー設定
- TPM バックアップをサポートするための AD DS スキーマ拡張機能
- AD DS への TPM 回復情報のバックアップ
その他の端末のセキュリティ †
TEE(Trusted Execution Environment) †
SE(Secure Element) †
USBドングル †
挿さないとPCが動かないハードウエア型の鍵デバイス
Tags: :認証基盤