web-dev-qa-db-ja.com

TPMを使用してプラットフォーム認証を実行する方法

私は現在TPM(Trusted Platform Module)を見ていて、TPMがプラットフォーム認証をどのように提供するのか疑問に思っています。正当なホストがクラウドにデプロイされていると仮定します。 TPMを使用して、接続しているホストが、同じ構成を持つ他のホストではなく、まさにそのホストであることを確認するにはどうすればよいですか?

原則として、そのホストにはTPMが搭載されているため、裏書きキーは一意であるので、EK(裏書きキー)の公開キーで確認できます。たとえば、TPMを使用して、EKの秘密キーでメッセージを暗号化できます。そして、EKの公開鍵でそれを解読します。しかし、ドキュメントを調べたところ、EKの秘密鍵で任意のメッセージを明示的に暗号化するAPIが見つかりませんでした。

では、通常、TPMを使用してこのようなホスト認証を実行するにはどうすればよいでしょうか。

4
user1834567

必要なのは リモート認証 (QUOTE操作)です。

これはプライバシーの問題となるため、保証キー(EK)に直接アクセスすることはできません。この一意の識別子を使用してシステムを追跡できます。 EKは、認証IDキー(AIK)と組み合わせて、または直接匿名認証( [〜#〜] daa [〜#〜] )と組み合わせて使用​​できます。

  • AIKモデルは、第三者にあなたのEKの有効性を主張するプライバシーCA(認証局)を利用します。 IDを保護するために複数のAIKを作成できます(たとえば、サードパーティごとに1つのAIK、セキュリティドメインごとに1つのAIK)。
  • DAAモデルは、「 ゼロ知識証明 」を使用して、EKを匿名で検証します。ゼロ知識プロトコルがどのように機能するかについての一般的な考えを得るには this を参照してください。

OpenAttestation Intelのオープンソースソリューションである PrivateCA とこの presentation をご覧になることをお勧めします。

5
northox

Northoxの発言に対するわずかな修正:リモート認証ではAIKが使用されるため、これが必要です。利用可能なものに応じて、プライバシーCAまたはDAAのいずれかを使用して、適切に認定されたAIKを取得できます。

ただし、この種の使用の場合、AIK証明書は実際には必要ない場合があります。マシンへの物理アクセス(または同等の安全なチャネル)がある場合は、AIKを生成し、その公開キーをエクスポートして使用することができます。それを認証します。

1