web-dev-qa-db-ja.com

TPM-対称キーストレージ

TPMを使用して無制限の数の keys を保存できることを理解しています。ただし、いくつか質問があります。

  • TPMがLPCに接続されていて、そのインターフェイスを通過するデータを保護していると想定します。
  • ルートキーとして使用されるものは、SRKキーアプローチに従う場合、つまり、TPM内のSRKキーハードコードです。
  • 個別のTPMを持つ複数のシステムにこれらのキーをどのように配布できますか?各システムの事前配布でTPMを使用してすべてのキーを事前にエンコードする必要がありますか?.
9
Nark
  1. バージョン1.2では、それがハードウェアに実装される局所性の概念になります。実際には、通信は認証されておらず、1.2は-理論的には まだ脆弱です バージョンへ 1.1リセット攻撃 ですが、証明されたことはありません(攻撃の範囲ははるかに小さいです)。 。考慮すべき重要なことの1つは、すべてのTPMが同等になるわけではなく、セキュリティのレベルを選択できるようになることです。多くのTPMがチップセット内に統合されました-思い出すと2009年以降です。 IntelはそれらのTPMをvProテクノロジーの一部として提供しています。それらは Management Engine内のアプリケーション新しいアーキテクチャのプラットフォームコントローラーハブまたはそれ以外の場合はNorthbridge 内で実行されます。次に、攻撃対象領域がおそらくnullであることを意味します。

  2. SRKは、TPMのプラットフォーム所有者(つまりあなた)が「所有権を取得する」ときに作成されます。つまり、TPMを初期化し、新しく生成されたSRKのパスフレーズを設定します。ハードコードされた唯一のキーはEK(推奨キー)であり、これは(必要な場合)使用されて、外部エンティティに対する有効/準拠TPMであることを証明します。

  3. TPMには 移行可能なキー の概念があり、キーを移動する方法を提供します プラットフォーム間で 。 TPMは対称キーを実際に管理するのではなく、対称キーを使用してBLOBを暗号化することに注意してください。明らかに、ブロブ内の対称キーを暗号化できますが、この対称キーは、使用するために復号化してメモリにロードする必要があるため、TPMの利点から完全に利益を得ることはできません。

6
northox

TPMを使用してシークレットを格納(シール)する場合、TPMは信頼できるシステム状態でのみ取得できますが、取得することはできます。これにより、メモリに表示され(おそらくスワップ)、メインボードでの盗聴に対して脆弱になります。

はい、SRKはTPMに保存されます。それは初期化時に生成され、通常、ソフトウェアの命令で読み取ることはできません(ハードウェアアクセスでリバースエンジニアリングするのは困難です)。

一意のプラットフォームSRKに配布するデータを再暗号化する必要があると思います。ただし、これは単一のストレージキーに対してのみ行うことができます。したがって、基本的には、新しいストレージキーを使用してファイルを暗号化し、すべてのマシンに出荷します。そして、すべてのTPMに対してこのキーを封印します。これの配布は、TPM承認キーの公開部分を使用して安全に行うことができます。

3
eckes