web-dev-qa-db-ja.com

動的対静的な信頼のルート

TCG仕様(TPMデバイスの場合)では、セキュアブートとトラステッドブートを使用して、信頼の静的ルートを構築する方法を指定します。別の方法はIntel's Dynamic Intel TXTテクノロジーを使用した起動です。私はセキュリティの観点から、どちらが望ましいか、そして主な違いは何ですか? ?ありがとう

7
Nark

それは複雑です。

どちらも測定の信頼のルートであり、実行環境の測定に使用できます。

SRTMの主な問題は、プラットフォームのブートシーケンス全体(BIOS構成、サードパーティのブートROM(ネットワークカードなど)など)の測定値を保持する必要があることであり、これには多数のコードが含まれます。これを変更するには、新しい測定が必要です。

DRTMの目的は、システムの実行中に白紙の状態からコードを実行する機能を提供することで、これらすべてを回避することでした(SRTMのように再起動する必要はありません)。ただし、TXTは悪意のある脆弱性 [〜#〜] smm [〜#〜] (システム管理モード/ ring -2)またはIntelの ME/AMT (Management Engine/Active Management Technology/ring -3)。簡単に言うと、これはSMMおよびMEコードが後発射から分離されておらず、悪意のあるコードがアクセスできることを意味します測定されていませんが、実際に白紙の状態ではありません。

これらは非常に複雑な攻撃であり、研究者(ITL)によってのみ実証されていますが、可能性があります。これは、TXTが脆弱であるとしても、価値があると考えているからです。

SRTMの測定(PCR 0-1)に含まれているSMMコードを測定するには、DRTMでSRTMを使用することをお勧めします。これは理論的には、保守するSRTMが非常に少なく、コードが実際に製造元からのものであることを確認しますが、悪意がないことを意味するわけではありません(たとえば、computrace?)。

インテルME/AMTでは、私の知る限り何もできません。誰かが新しい欠陥を見つけてマルウェアを挿入した場合、セキュリティモデルは機能しなくなります。これは非常に難しいと言われています。また、ITLの再調査/攻撃以降、IntelのMEセキュリティモデルが改善されました。

結論として、DRTMはSRTMよりも安全ではありません。両方を使用するのがおそらく最良のセットアップです。欠陥がないと仮定すると、それはあなたがIntel(それは当然のことです)とプラットフォームの製造元(BIOS/SMM)を信頼する必要があることを意味します。これは、TXT via Tboot を使用して簡単に実行できます。PCONF(0-1)、SINIT(17)、およびMLEポリシー(18)を使用)。 this を参照してください。

SRTMとDRTMのしくみの概要については、 this を参照してください。

11
northox