暗号処理をする機器
やっほー。この時間にご飯食べすぎるとこの後眠くなりますよね。
そんなことは置いておいて、前回のエントリ最後に宣言した通り、今回は暗号化処理の機器に関してまとめます。
今回はTPMとHSMに関してまとめます。
★TPM(Trusted Platform Module)
暗号鍵の生成・保管、public keyとprivate keyの生成・保存、デジタル署名の生成と検証、プラットフォームの完全性検証が可能。Windowsのドライブ暗号化機能であるBit Lockerも鍵の保存にTPMを用いる。ハードウェアの処理時間や消費電力、電磁波などの特徴から暗号解読を試みる攻撃に対して情報漏洩を防止。
<<<<<主な機能>>>>>
- Protected Capabilities(保護機能)
保護領域(Shielded Locations:レジスタ・メモリなど機密性を要求する場所)にアクセスするための権限を持つコマンドセット。鍵の管理、乱数生成、そしてシステムの状態にデータを結びつける役割を果たす。
- Attestation(構成機能)
情報の正確さを確認するプロセス。TPM外の要素がShielded Locations, Protected Capabilities, Root of Trustについて正確さを確認できる。プラットフォームは、自身の完全性に影響する特性の記述の正確さを確認できる。
- Integrity Measurement and Report(完全性の測定と保存通知)
プラットフォームの完全性に影響するプラットフォームの特性に関する計測値を取得し、それらのMessage Digest値をPCRに保存する。Root of MeasurementはRTM(Root of Trust for Measurement)と呼ばれる。Static RTMは起動時を、Dynamic RTMは信頼できない状態から信頼できる状態への推移をRoot of Measurementとする。完全性の通知(Integrity Report)はPCRに完全性についての計測値を保存する構成証明のための実行プロセス。
- セキュアブート
TPMで起動時にソフトウェアの改竄を検知する。
<<<<<TPMで管理される鍵>>>>>
- Signing Keys
非対称鍵でアプリケーションデータとメッセージの署名に利用される。移行の可否を設定可能。
- AIK Keys(Attestation Identity Keys)
移行可能なSignig Keys。TPMで作成されたデータやPCRレジスタ値への署名のみに使用。
- Storage Keys
非対称鍵で、データや他の鍵の暗号化・復号に使用される。鍵やTPM外で管理されるデータを暗号化できる。
- Bind Keys
プラットフォーム上で小さいサイズのデータ(ex. 対称鍵)を暗号化し、別のプラットフォーム上で復号するために用いる。
- Legacy Keys
TPM外で生成される鍵で署名や暗号操作に使用後、TPMへインポートされる。
- Authentication Keys
TPMが関連するトランスポートセッション(ホストとTPM間でのデータ交換の際のバスの暗号化)の保護に用いる。
<<<<<TPMの特別な鍵(保証鍵とStorage Root Key)>>>>>
- 保証鍵(Endorsement Keys)
TPMハードウェアに永続的に組み込まれるPublic KeyとPrivate Keyの鍵ペアで、通常製造時に書き込まれる。Public Keyを使い、正規のTPMかを識別する。プラットフォームの所有者の確立時に所有者許可データの復号とAIK作成に関連するメッセージの復号に使用される。
- Storage Root Key(SRK)
TPMハードウェアに保存される鍵。アプリケーションが作成する鍵を暗号化・復号するマスタ・キー役割を果たす。ユーザがTPMの所有権を取得するときにSRKが作成され、ユーザ設定がクリアされた後に新たなユーザが所有権を取得した時には新しくSRKが作成される。
<<<<<TPMに含まれる証明書>>>>>
- Edorsement 証明書
EKのPublic Keyを含む証明書。保証鍵が保護されていることを証明する。
- プラットフォーム証明書
プラットフォームにより作成され、プラットフォームのセキュリティ要素が保護されていることを証明する。
- 適合証明書
評価機関により生成され、プラットフォームのセキュリティ特性に関する信用状を発行する依頼人を証明する。
★HSM(Hardware Security Module)
暗号鍵の作成(ハードウェアのRandom Number Generatorを含む)、鍵交換、鍵配送、鍵のインポート/エクスポート、鍵の保管、鍵の破壊(ゼロ化)、改竄の痕跡記録(タンパー証跡)などの管理を行う。
今回はここまで。