ファームウェアベースのTPM(fTPM)を搭載したPCの数が増えているようです。 Intel NUC 。
私が理解している限り、これらのソリューションは、CPUの特別な命令を使用してTPMチップを実際にエミュレートします( ARM TrustZone または Intel SGX )。これにより、システムに別のチップが必要ないため、fTPMはより安価でシンプルなソリューションになります。
ただし、ディスクリートTPMチップには物理的な攻撃に対するある程度の保護がありますが、その方法がわかりません。これは現在のfTPM実装で可能ですか。
たとえば、このテーマに関するこの論文で、著者はこの形式の攻撃について明示的に述べています。考慮されませんでした:
[…]ただし、ハードウェアへの物理的アクセスまたはハードウェアの変更を必要とする電力分析またはその他のサイドチャネル攻撃に対しては防御しません。 。
このホワイトペーパーには、Intel SGXベースのアプローチのいくつかの欠点も記載されています。これらの制限は後の開発で対処されますか?プラットフォームトラストテクノロジー(PTT)、多分?
または何かが足りないので、fTPMによって生成された秘密鍵を物理的にアクセスしても読み取れませんか?
コメント
- 多くの母親ハードウェアTPMを備えたボードも、物理的な攻撃に対して脆弱です。 TPM自体が強化されている場合でも(多くの場合' t)、CPUとTPM間のバスは通常' tではありません。そのため、攻撃者がTPMからキーを抽出できない場合でも' CPUが良好な状態にあると信じ込ませ、TPMに署名させることができます。
- @Gillesこの質問は、ソフトウェアとハードウェアのTPM実装の比較ではなく、fTPM実装に対するオフライン攻撃の可能性に関するものです。
回答
すべてのソフトウェア実装はハードウェア実装よりも脆弱です。 tpmの実際のチップが物理的な改ざんにも耐えられるようになっている場合、CPUは汎用チップであり、簡単に追跡できます。
コメント
- ソフトウェアの実装は、ハードウェアの実装よりも必ずしも弱いわけではありません。ソフトウェアとハードウェアの両方に悪い解決策が存在します。 fTPMソリューションがこの形式の攻撃に耐性がないと主張する情報源はありますか?
- @AlexeyVesnin OPは、エミュレートできる通常の命令ではないTrustZoneとSGXについて言及しています。これらは、TPMファームウェアを購入できるシンプルでありながらHWベースの信頼のルートを提供します。言い換えると、fTPMはソフトウェアで純粋に実行されません。
- SGXといくつかのTZ実装は、メモリバスを暗号化します。盗聴は情報を導きません。実際のところ、これにより、マザーボード上の別のチップを介してTPMを実装するよりも安全になる可能性があります。
- "とはどういう意味ですか。トレース"?これは意味がありません。言うまでもなく、dTPM(特に1.2より前)はプラットフォームリセット攻撃に対して脆弱であり、fTPMには影響しません。
- ただし、CPU内に保存されます。つまり、技術的にはチップセットに格納されますが(CPUはチップセットの特定の部分であるため)、改ざんされにくい物理コンポーネント自体に格納されます。 'トレースを監視して、PCHとCPUの間でデータを傍受できる以上にキーを取得することはできません。キーを取得するには、1)CPUを攻撃して侵害する(グリッチなど)、2)JTAGでデバッグする、または3)物理的にキャップを外して、内部の微視的なトレースを取得する必要があります。 dTPMのLPCのように、キーを運ぶ露出したバスはありません。