web-dev-qa-db-ja.com

トラステッドコンピューティングとリモート認証の展開のステータス

Trusted Computing(Wikipedia) に基づくさまざまなクライアント側コントロールのハードウェアサポートは、長年にわたって進化しています。 TCPM、TPM、TXT(LaGrande、DRTM)。

BitLockerの「透過操作モード」を介した便利なディスク暗号化のための1つの実用的なアプリケーションを聞いたことがあります。

信頼できるコンピューティングテクノロジーのアプリケーションには他にどのような例がありますか?関心のある2つのカテゴリを分けます。

  • スタンドアロン、変更されたファイルから「ユーザーと所有者」を保護します。 Bitlockerは1つの例ですが、これには、 Attacking TXT(Joanna Rutkowska) )で説明されている、信頼されていない環境から信頼された仮想マシンへの「TXT遅延起動」
  • 「リモート認証」:これが承認されたソフトウェアを実行していることを別のシステムにデモンストレーションします(たとえば、サーバーがブラウザを信頼できるようにする、オンラインゲームの公平性のために)

オープンソースのアプリケーションは私にとって最も興味深いものです。

注:私は、ユーザーコントロールに対するさまざまな脅威のために、TCが「危険なコンピューティング」と見なされる可能性があるという問題をよく認識しています。より効果的なDRMおよび関連する政治問題を介して。ただし、その側面についてはここでは説明しないでください。

18
nealmcb

一般に、TPMとTXTを理解する必要があります。これらのテクノロジーはすべて、誤解があるため、これらから保護することを目的としています。TPMは、通常、5つの異なるプロセスを有効にし、それらのみを有効にします。

  • 完全性測定–プラットフォームコンポーネントの暗号化ハッシュの計算
  • 認証された起動–プラットフォームの状態(コンポーネントの合計)を確実に測定して保存するプロセス
  • シールドストレージ–プラットフォームが特定の状態にある場合にのみデータを取得できるように、プラットフォームにデータを格納するプロセス
  • 証明–プラットフォームの現在の状態を確実に報告するプロセス
  • 分離された実行–ソフトウェアの妨げられない実行を可能にします

Intelの観点からは、TXTは、TPM、プロセッサの動作に対する変更、およびチップセットの動作に対する変更を含む、信頼できるコンピューティング機能の全体です。

TXTテクノロジーの主な機能は、TPMのすべての機能に加えて

  • 保護された実行(ハードウェアベースのドメイン分離)
  • 保護されたメモリページ(メモリ、ソフトウェア、DMA、GPUカード、SMMを介してアクセスできる4つの方法すべてに対する保護を提供します)
  • 保護された入力
  • 保護されたグラフィック
  • 高信頼チャネルを有効にする(2台のコンピューター間、または1台のコンピューター間のデバイス間)

あなたが言及する遅延起動機能はオプションのTXT機能であり、ブートプロセスのすべてのステップではなく、システムがブートされた後に測定を行うことができます。これはやや複雑です。

一般にTrusted Computingは巨大なプロジェクトであり、世界中で多くの研究が何年にもわたって行われており、短期、中期、長期の目標があります。私はその研究の一部であることをここに開示しなければなりません。

次に、実際の実装について説明します(ただし、これらは私の分野外です)。

まず第一に、すべての主要なシステムメーカーは、TPMを利用するエンタープライズハードウェアとソフトウェアを持っています。エンタープライズシステムの大多数を生産しているデルやHPなどの企業は、( HP ProtectTools )のようなソフトウェアを使用しています。この例では、TPMを利用してプリブート認証を使用しています。マイクロソフトは永遠にこの研究に携わっており、Vistaより前にTPMをサポートするビットロッカーをリリースしました。実際、ビットロッカーは暗号化だけではありません。完全性チェックの部分を実装するセキュアスタートアップという別の機能があります(暗号化コンポーネントがなくても可能です)。透過的な操作は認証に関係しています。プリブート認証モードでも機能します。また、symantecやmcaffeeなどのセキュリティソフトウェアベンターには、TPMに依存または利用するソフトウェアがあります。

現在、TPMと認証またはその他の機能を処理する他の商用またはすぐに使用できるオープンソースソフトウェアについては知りません。 (しかし、私があまり見ていなかったと言ったように、多分別のメンバーはもっと知っています)。

実験的なツール、概念実証ソフトウェア、または単なるペーパーと仕様が必要な場合は、たくさんあります。プロジェクトには長期的な目標があり、証明は長期的な目標の1つです。次に、LinuxでTPMのすべての機能をサポートするために必要なソフトウェアスタックのリファレンス実装の例を示します。 http://www.opentc.net/publications/OpenTC_PET_prototype_documentation_v1.0.pdf (ソフトウェアは http://www.opentc.net

読者の興味を引くために、ネットワークアクセスコントロールは活発な研究分野です。そのツールにはすでに商用ツールが存在している可能性があります。 TPMを使用したNACの一般的な考え方は、当然、起動されたソフトウェアの整合性だけでなく、適用されたパッチのレベルについても、特定の測定を提供することによって安全であると確認できる場合にのみ、ネットワーク内のデバイスを許可することです。アンチウイルス定義、ファイアウォール構成...その他の調査例:携帯電話のファームウェアを無線で安全に無線で更新する必要があるモバイルキャリアなどのソフトウェアダウンロード、特にSoftware Defined Radioのソフトウェア。もちろん、デジタルビデオブロードキャスティング(DVB)は領域または研究です。dvbレシーバーは既にスマートカードを使用してキーを格納しているため、代わりにTPMを使用できます。

非常に長期的な目標は?すべてのシステムとモバイルデバイスにTPM(暗号化コプロセッサー、安全なストレージ)があり、ユーザーの操作なしでオンデマンドで公開キーペアを生成できる世界を想像してください。世界的なPKI-管理方法と処理方法に関する研究が進行中ですそれ!

私は質問の範囲をはるかに超えてドリフトしていると思うので、これで十分でしょう。

18
john

すべての関連ツールがLinuxで利用可能であり、おそらく他のどこよりも多いでしょう。

オープンソースの精神の多くは、自分ですべてを構築する必要があります。 「IBM blueprint eCryptFS TPM」をグーグルする場合は、MS Bitlockerの無料バージョンをお勧めします。ズボンは、Firefoxなどとの統合を可能にするPKCS#11インターフェースもサポートしています。 Linux IMAを使用すると、Linuxでも優れた柔軟な測定アーキテクチャが得られます。フリッカーでは、LateLaunchテクノロジーを使用して簡単なプログラムを開始することもできます。

ただし、主要な目標の1つである「リモート認証」は、非常に制約された設定を除いて、依然として不可能/非実用的です。考えられる構成が多すぎ、更新が頻繁に行われているため、SHA-1測定の一般的な(数千項目の長さの)リストに基づいてセキュリティを実施することはできません。異なるOSアーキテクチャが役立ちます(google 'Turaya')が、MS管理は2004年にNGSCBを棚上げし、Linux 3.0はまだマイクロカーネルではありません。

私の知る限りでは、ユーザーI/Oの「信頼されたハードウェア」はずっと以前に意図されたものでしたが、実現することはできませんでした。 Intel TXTはVT-dを実装していますが、ハードウェアベースのキーボードロガーなどには役立ちません。そのようなものに対する需要はほとんどありません。DRTMの現在の実装にはいくつかの概念的な問題もあります。/LateLaunch onx86。AMTとSMMは本質的に完全に独立したRTMを作成することを防ぎます。これは修正するのは簡単ではなく、Intelは要求の欠如のためにそうすることを多かれ少なかれ拒否しました:不明な「リング- 1〜2週間ごとに新しいブラウザのエクスプロイトが引き続き発生する場合は、3インチ攻撃。

DRTMの問題のよいリソース: http://invisiblethingslab.com/itl/Resources.html

また、Flickerは最近拡張され、SFに移動されました: http://flickertcb.sourceforge.net/

TPMをスマートカードとして使用することは別として、フリッカーはおそらくデスクトップにとって最も興味深いツールです。モバイル領域での興味深い開発は、「オンボード資格情報(ObC)」とソフトウェアベースの証明(SWATT、Pioneer、最近では「PUFベースの証明」)です。ここでは、ソフトウェアスタックがはるかに複雑でなく、開発サイクルが遅いため、証明はより実用的です。

8
pepe

この質問にはすでに回答済みですが、古くなっているように感じます。

Trusted Computingについて新しいことがいくつかあります。

2
northox