「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>認証基盤]] * 目次 [#iaff72f7] #contents *概要 [#q026e1cf] -マザーボードに搭載するセキュリティチップ -リソースの限られたパッシブ コンポーネント -以下を 1 つのコンポーネントにまとめたもの。 --RSA 2048 ビット キー ジェネレーター --乱数ジェネレーター --[[EK>#k149fce1]]、[[SRK>#kd5f06b4]]、[[AIK>#e8431d17]]を格納する不揮発性メモリ --暗号化、暗号化解除、署名を行う暗号化エンジン --[[PCR>]]とRSA キーを格納する不揮発性メモリ -ハードウェア ベースのセキュリティ関連の関数を提供する。 --セキュリティで保護された暗号化プロセッサが暗号化の操作を実行するために用意されている。 --複数の物理的なセキュリティ メカニズム、改ざんされ難くすることが含まれている。 --処理に独自の内部ファームウェアおよび論理回路を使用するため、~ OSに依存せず、OSやAPPに存在する可能性がある脆弱性にさらされることが無い。 *TPM キー [#b3bd2f7c] **キーの作成 [#uf2e393b] ***"ラッピング" / "バインディング" [#s97a28b5] TPM が組み込まれたコンピューターは、~ TPM だけが暗号化を解除できるように、~ 暗号化キーを作成して、キーを暗号化できる。 ***"封印" / "開封" [#g1a0c76d] -封印~ 特定のプラットフォーム測定値に関連付けられたキーを作成。 -開封~ プラットフォーム測定値がキー作成時の値と一致する場合にのみラップ解除。 **キーの組のプライベート部分 [#nfb2110d] -キーの組のプライベート部分は、OSで制御されるメモリとは別に保持される。 -署名と、TPM によって定義された限られた操作にだけ使うことができる。 -キーを 封印できるので、キーを使用するために開封するまでは、~ システムの状態に関して一定の保証 (システムの "信頼性" を規定する保証)できる。 *構成証明 [#s7dac846] -TPM キーの構成証明は、キーが TPM にバインドされていることを暗号で証明するプロトコル。 -構成証明を使うことで、特定の暗号化操作が特定のコンピューターのTPMで行われたことを保証できる。 **仕組み [#ha92f8c8] -CAは、[[EKPub>#v59abd9e]]または[[EKCert>#r7fc03b4]]経由でTPMの信頼を確立。 -[[構成証明情報>#u5b29714]]を要求したサーバに送信、これを検証する。 **構成証明情報 [#u5b29714] ***検証対象 [#tf3cfa96] 生成された -RSA キー -[[AIK(認証IDキー)証明書>#v29ad5c2]] -構成証明ステートメント ***検証項目 [#w304c3d1] [[上記>#tf3cfa96]]をサーバーが受け取った場合、サーバーは次の項目を確認する。 -[[AIK(認証IDキー)証明書>#v29ad5c2]] --署名が有効であること。 --期間が有効であること。 --チェーン ---信頼されたルートに到達できること。 ---EKU OID "2.23.133.8.3" (フレンドリ名は "認証 ID キーの証明書") に対して有効になっていること。 ---発行元の CA の証明書がすべて有効期間内にあり、失効していないこと。 -構成証明ステートメント --KeyAttestation BLOB の署名は、AIK 公開キーを使います。 --KeyAttestation BLOB に含まれる公開キーは、~ クライアントが構成証明ステートメントと共に送信した公開 RSA キーと一致します。 *EK(保証キー) [#k149fce1] -TPM には、保証キーと呼ばれる非対称キーのペア (RSA サイズ 2048 ビット)が(製造時から)埋め込まれている。 -保証キーは、TPM の身分証明書として機能する。 --すべての TPM を識別できる。 --変更、削除したりすることはできない。 -保証キーには、多くの場合、[[1 つまたは 2 つのデジタル証明書>#he3620a8]]が付属する。 **キーペア [#vaafff18] ***EKPub [#v59abd9e] -保証キーと呼ばれる非対称キーのペア (RSA サイズ 2048 ビット)の公開キー -所有者パスワードの定義ハッシュを含む TPM の所有権を得る場合など、機密性の高いパラメタを安全に送るために使われる。 ***EKPriv [#a1ed087b] -保証キーと呼ばれる非対称キーのペア (RSA サイズ 2048 ビット)の秘密キー -[[AIK(認証IDキー)>#e8431d17]]などのセカンダリ キーを作成する際に使われる。 **証明書 [#he3620a8] ***EKCert: EK(保証キー)証明書 [#r7fc03b4] -EKPubの製造元から発行されたEK証明書(TPM を初めて初期化するときに作成される) --TPMの製造時 --オンライン サービスと通信時 -ローカル プロセス、アプリケーション、クラウド サービスに対して TPM の信頼性~ (例えば、特定のメーカによって製造された本物の TPM であること)を証明するために使われる。 -[[このTPM で生成されるその他のすべてのキー>#b3bd2f7c]]のルート信頼が作成される。 ***プラットフォーム証明書 [#r7e3dfa3] 特定の TPM が特定のデバイスに統合されていることを示す。 *所有 [#k5aeeca8] **SRK(ストレージ ルート キー) [#kd5f06b4] -ストレージ ルート キーはユーザが TPM の所有権を取得するときに作成される。 -都度、作成される [[TPM キー>#b3bd2f7c]]が TPM なしで使用されることがないように保護する事が目的。 **所有者パスワード [#x79da219] -TPM の所有者が誰であるかを定義する。 -所有者パスワードを設定できるユーザが TPM を所有していることになる。 --1 つの TPM に設定できる所有者パスワードは 1 つだけ。 --パスワードを知っているすべてのユーザーが事実上の TPM 所有者になる。 *AIK(認証IDキー) [#e8431d17] 非対称キーのペア (RSA サイズ 2048 ビット) **用途 [#c6269d38] -TPM 2.0 の認証機能を使ってデバイスの正常性をレポートする。 -しかし、[[EK(保証キー)証明書>#r7fc03b4]]ではプライバシーに関する問題が発生する可能性がある。 -この問題を防ぐため、TPM の ID として代替される。 -これにより、暗号証明 (TPM キーの構成証明) などの機能を提供する。 **AIK(認証IDキー)証明書 [#v29ad5c2] -AIK(認証IDキー)に対応する証明書は、AIK(認証IDキー)証明書 ***用途 [#y6463043] -TPM 内に AIK(認証IDキー)が存在すること証明する。 -特定の TPM の AIK(認証IDキー)によって認証された他のキーを証明する。 ***Windows 10 では、 [#d0c998c0] -[[EK(保証キー)証明書>#r7fc03b4]]が有る場合 --Microsoft Cloud CAサービスなどのサードパーティサービスと連携してAIK(認証IDキー)証明書をプロビジョニングする。 --発行された AIK(認証IDキー)証明書には、[[EK(保証キー)証明書>#r7fc03b4]]が使われたことを証明するために特別な OID が追加される。 -[[EK(保証キー)証明書>#r7fc03b4]]が無い場合 --AIK(認証IDキー)証明書を発行できる(これは、Microsoft Cloud CAサービスによって発行されたものではない)。 --この証明書は、製造時にデバイスに書き込まれた[[EK(保証キー)証明書>#r7fc03b4]]ほどの信頼性はないが、~ TPM がない場合の [[Microsoft Passport]] などの高度なシナリオとの互換性は確保される。 ---デバイスを拒否するか承諾するかを決めることができる。 ---価値の高い資産へのアクセスを許可しないこともできる。 *参考 [#a7ddf65c] -TPM キーの構成証明~ https://technet.microsoft.com/ja-jp/library/dn581921.aspx -Windows 10 ベースのデバイスの正常性の制御 (Windows)~ https://technet.microsoft.com/ja-jp/library/mt592023.aspx -TPM 管理~ https://technet.microsoft.com/ja-jp/library/cc755108.aspx --TPM 管理の概要~ https://technet.microsoft.com/ja-jp/library/cc730635.aspx --TPM 管理スナップインを使用する --トラステッド プラットフォーム モジュールを管理する --初めて使用するために TPM をセットアップする --TPM で使用されるキーおよびパスワードとは --TPM 管理のトラブルシューティング --TPM 管理に関する参照情報 -TPM キーの構成証明 | Microsoft Docs~ https://docs.microsoft.com/ja-jp/windows-server/identity/ad-ds/manage/component-updates/tpm-key-attestation -IdM実験室: [翻訳]Azure ADとWindows 10におけるMicrosoft Passport for Work~ http://idmlab.eidentity.jp/2016/03/azure-adwindows-10microsoft-passport.html ---- Tags: [[:認証基盤]]