-そもそもトラステッドとは?-
トラステッド(Trusted)とは、英訳で「信頼された」という意味です。
昨今、情報システムによる犯罪が巧妙化しており、ニュースでも毎日のように「顧客や機密情報の流出」、「(外部からの攻撃により)サービスの停止」、「ホームページの改ざん」などの被害が報告されています。
もちろん、これらの犯罪に対抗する為に様々な対策が行われてきました。
よく言われるような情報セキュリティとして、パスワード認証やファイル・通信の暗号化を始め、無数に存在します。
但し、これらの認証、暗号化(暗号鍵や電子証明等)などは全てソフトウェアベースで処理が行われています。ソフトウェアには「改ざん」が付き物で、アプリケーションはおろか、OS、BIOSに至るまでこれに該当します。改ざんされたソフトウェアはとても「信頼された」とは言えないでしょう。
これらのセキュリティを強化する為にインテルが立ち上げたハードウェア・プラットフォームが「インテル トラステッド・エグゼキューション・テクノロジー(Intel TXT)」である。
-Intel TXTとは?-
Intel TXTはハードウェアとしてCPU / チップセット / TPM、ソフトウェアとしてACMで構成されています。
TPM(Trusted Platform Module)
TPMはセキュリティ処理用の専用マイコンのようなものであり、暗号化による処理と秘密鍵の管理を行います。このTPMにはハードウェア構成やBIOS、ブートローダなどから得たハッシュ値が記憶され、PCの起動時にこれらのハッシュ値と照合し、改ざんを検出することが可能です。
OSやアプリケーションでも、TPMに対応したものならば同様に改ざんを検出することができ、結果としてBIOSからアプリケーションに至るまで「信頼された」状態を保つことができます。
ACM(Authenticated Code Module)
コンピュータの構成をハッシュの確認(メジャーメント)し、システムの変更や改ざんを検知する為のソフトウェアです。これはTXT対応のCPUで用意された命令セットで動作されます。
これらを使用し改ざんが検出された場合、それを通知し、次の起動プロセス(BIOS、ブートローダ、OS等)の起動を中止することができます。このようなBIOS(TPM)レベルからOS、アプリケーションまでのエジャーメントの流れを「「トラストチェーン」と呼んでいます。
Intel TXTのHPでイラスト付きで紹介されています。
WindowsのBitLockerでシステムドライブを暗号化してみよう
正直、Intel TXTを全ての動作を見るのは困難です。ここでは、TPMを使用するアプリケーションとしてWindows8の「BitLocker」で動作を確認したいと思います。
なお、後半ではBitLocker以外の方法で、Intel TXTを検証しようとしてコケた失敗談のレビューもあります(^ω^;)・・・
<注意>
本レビューの内容は独自で調査&試行錯誤して動作させた結果であり、セキュリティ的な運用上正しいという確証はありません。試される場合は自己責任でお願いします。また、本文中はUEFIをBIOSと表記しています。
-BitLockerを試す-
Windowsのストレージデータの暗号化ツールのBitLockerを試してみましょう。
■TPMの所有権を確保する。
まずは、TPMの所有権を確保します。
コントロールパネルのBitLockerドライブ暗号化を開くと左下の関連項目に「TPMの管理」がありますのでこれをクリックします。(ファイル名を指定して実行で「tpm.msc」と入力してもOKです。)
すると、TPMの管理画面が開きますので「TPMを準備する」をクリックし、所有者パスワードを入力すると、TPMの所有権を得ることができTPMを使用する機能が使えるようになります。
■BitLockerでシステムドライブを暗号化する。
本レビューでは300GBのSSDを以下のパーティションに分けており、Windows7と8のデュアルブート構成にしています。
・Cドライブ:Windows7Ultimate(64bit) 110GB
・Dドライブ:Windows8Enterprise(64bit) 110GB ←ここを暗号化する
・Eドライブ:データ共有用 残りの約70GB
今回はWindows8でDドライブ全体を暗号化します。
コントロールパネルに「BitLockerドライブ暗号化」があるので開きます。
現在の起動ドライブ(Windows8が入っているドライブ)が一番上に表示されているので、「BitLockerを有効にする」をクリックします。
回復キーのバックアップ方法を聞かれます。
回復キーは実質、暗号化されたドライブにアクセスする為のパスワードです。
(但し、キーの番号は自動に生成される為、任意に設定することはできません。また、キーは48文字の数字となります)
今回はファイルに保存してみました。
保存はテキストファイルで行われます。
暗号化するドライブ内に保存しようとすると怒られます(^^;
(そりゃあ、このドライブが開けなくなったときの回復キーですからね・・・)
保存されたテキストファイルを開くと下記のように、IDと回復キーが記載されています。IDが暗号化ドライブの固有の番号で、それを開くのが回復キーですね。
次にドライブを暗号化する範囲の選択をします。
今回はドライブ全体(Dドライブ全体ということです)を暗号化します。
BitLockerシステムチェックをするか聞いてきます。
安全牌だと思ってチェックしておきましょう。
これで、 BitLockerの設定は終わりです。
再起動後に暗号化が行われます。
再起動後、暗号化が行われます。
進捗は%表示で見ることができます。この間は普通にPCを使うことができます。
私の環境では25分程度で、暗号化が完了しました。
■BitLockerの効果を確認する。
Windows8のシステムドライブが暗号化されました。
そこで、デュアルブートのWindows7側から、このドライブにアクセスしてみましょう。
Windows7から見ても、ドライブに施錠されたマークが付いています。
これを右クリックのメニューで開こうとすると・・・
はい。速攻でアクセス拒否されました・・・暗号化されていますね。
普通にダブルクリックで開くと、回復キーを使用してドライブのロックを解除する画面が現れます。
回復キーを入力するを開き、回復キー入力(テキストからのコピペでOK)します。
これで一時的にアクセスできるようになりました。
ドライブのアイコンの鍵マークも銀色の開錠したマークになります。
もちろん、暗号化を行ったWindows8側からは何の問題も無くアクセスできます。
■ハードウェア構成を変更するとどうなるの?
TPMにはハードウェア情報のハッシュも含まれており、結果として今回のようなTPMを使用して暗号化されたドライブを他のPC(異なるハードウェア構成)のマシンに移しても起動しないはずです。
つまり、ハードディスクやSSDが盗難にあっても、犯人側で開くことができないということです。その効果を実際に試して確認してみましょう。
まずはメモリを1枚抜いて容量を減らしてみました。
→これだけだと、普通に立ち上がります・・・
次に起動用SSDのポートをS-ATA6Gのポートから、3Gのポートへ変更してみました。
すると、起動中にこのメッセージが現れました。
要はハードウェア構成が変わったから起動できませんってことです。
起動する為には回復キーを入力する必要があります。
Intel TXTはトラストチェーンでは、ハードウェア構成やBIOS等のソフトウェアをメジャーメントし、「信頼された」と確認されると次のステートへと移ります。
今回のようにハードウェア構成が変わると「信頼されていない状態」となり、BitLockerドライブにロックがかかったと言えると思います。
-失敗談 (´;ω;‘)-
せっかく、スクリーンショット撮りまくったので見てやってください(´;ω;‘)・・・
実は今回の私のレビューは厳密に言えば、Intel TXTとTPMの区別が付いていないような気がしています。「システムの変更・改ざんを検知し、信頼されたプログラムだけを実行する」と言うことを試してみたかったのですが、私の実力と情報収集力では判りませんでした(´;ω;‘)
ただ、一部に関してはIntel TXTに対応したソフトという確証までは得られたのでその点についてレビューします。
1.BIOS(ハードウェアの構成を変更)
BIOSでIntel Trusted Execution TechnologyのEnableに、
同時にTPM関係もEnableになっていることを確認します。
(TXTのみデフォルトでは無効になっていました。)
元々、私のイメージでは、以下のようになると思っていました。
TXT、TPMを有効にした状態ででOSをインストール。
↓
OS上でTPMを有効にする。
(この時点のハードウェアやソフトウェアの情報がTPMに書き込まれる)
↓
ハードウェアの構成を変更すると「信頼されていない構成なので」警告が出て立ち上がらない。
と踏んで、OSインストール→TPM所有者設定後に、
メモリ、セカンドHDD、光学ドライブ類、PCI接続のサウンドカードの抜き差しをしてみましたが、マザーボードのEvent Logに一部の変更が記録されるだけ(TXTとは別にこのようなロギング機能がある)で、普通に起動してしまいました・・・
そもそも、構成を変えて「信頼する状態で無い」場合にBIOSでどのような動作するのかが全くわかりませんし、マザーボードのドキュメントを見ても、IntelのHPのTXTのページに誘導されるだけで全くわからないです(´・ω・‘)・・・
2.VMware vSphere 5.1
VMM(仮想マシンマネージャ)で有名なVMwareのソフトです。
Windows上で動作するVMware Playerとは異なり、vSphere自体をVMM専用サーバーOSをしてインストールし、VMMサーバーとして動作します。
その後、他のクライアントマシンから、VMMサーバーに仮想マシンを構築し、WindowsやLinux等のOSを入れることになります。
このvSphereはIntel TXTに対応する旨を謳っています。
っという訳で試してみました。
vSphereを空っぽのハードディスクにインストール。
(以下、サーバーと呼びます。こちらがvPro対応マシンです)
ドライブ関係以外の設定は無く15分程度で終わります。
実質のサーバーOSなので地味です。マウス操作もできません。
vSphereインストール後、他のマシンのブラウザから、このマシンのIPアドレスにアクセスすると、クライアントツール(vSphere Client)がダウンロードできます。
これをクライアントマシンにインストールして起動すると、VMMサーバー側で設定したパスワード聞かれ、入力するとVMware Playerの高機能版のような、仮想マシンの管理画面が出てきます。
仮想マシンの作成方法は、ほぼVMware Playerと同じなので迷うところは少ないと思います。OSのインストールはクライアント側、サーバー側のどちらからの光学ドライブでも行えます。(クライアント側ならディスクイメージ等でも可能)
今回はサーバー側のUSB接続のDVDドライブを認識した為、それでWindows7 Ultimate(64bit)をインストールしました。但し、VMware toolsをインストールしてもAeroは有効になりませんでした。
ここで仮想マシンはを終了し、先ほどのvSphere Clientの構成タブのソフトウェア→詳細設定→Miscを開きます。
IntelのPDFを見ると、ここに「Misc.enableTboot」という項目があり、0→1にすると書かれているのですが・・・
そんな項目がありません(´;ω;‘)・・・
っと、言うことでダメもとで、サーバー側の起動ログを見てみると・・・
ログを見る限り、
・TPMがサポート及び開始できません。このマシンはTPMをサポートしていないか
無効にされています。
・Intel TXTを有効にするには(TPMを)有効にしなければならない。
・Intel TXT ErrorCodeで出ていますが詳細不明。
・3枚目の写真でTPMに関するファイルやディレクトリが見つかっていない?
(或いは追加でパッケージが必要なのかも?)
となっており、結果としてTPMとTXTが有効になっていないっぽいです。
この後、BIOSでTPMの有効/無効、TXTの有効/無効、TPMの初期化/(Windows上で所有権確保)の組み合わせで起動してみましたが、上記のエラーコードこそ変化するものの、他のメッセージに変化はありませんでした・・・私の実力ではこの辺が限界です(´・ω・‘)・・・
ただ、ログに上記の項目が出現することから、
このソフトはIntel TXTに対応していると言えます(`・ω・´)キリッ!
3.HyTrust + VMware vSphere
IntelのTXTのデモ動画にも登場しているVMwareの管理ツールがHyTrustです。
デモ動画に登場しているくらいなので、試しやすいと思ったのですが、体験版は登録してから、担当者からの連絡後にダウンロードするタイプのようで英語でかつ個人ユーザーでは手を出せなかったので断念しました。(電話で英語の連絡が来たら、私ではどうしようも無いですし(^^; )
4.McAfee Deep Defender + ePolicy Orchestrator
もう一つのIntelのデモ動画に載っていた組み合わせです。
OSの外からウイルスの動きを察知することで従来では発見が困難だったRootkitを検出できます。Intel VTの技術を使用しています。(現在のMcAfeeはインテルの傘下にあり、ハードウェア支援のセキュリティソフトなどを販売しています)
ネットワーク上の統合型のセキュリティ管理ソフトです。
この組み合わせで検証しようとしましたが、Intel TXTの効果を見るためには、前者のソフトではWindows7環境、後者のソフトではWindowServer2008等を用意する必要があます。サーバーOSと2台のIntel TXT環境(どちらも必要なのか判らないですが・・・)準備がすぐにできないので断念しました。
以上が今回の失敗談です。
BIOSやクライアントOSレベルで確認できれば良かったのですが、現状ではそこまで簡単に検証はできないようです・・・
-最後に-
ちょっと愚痴っぽくなっていますが(^ω^;)・・・
今回のレビューは非常に難易度が高いものでした。
レビュー内でBitLockerを使用し、ハードウェア構成が変わるとロックされ起動しないと書きましたが、これがTPMだけでは無くIntel TXTを使用しているという確証が得られませんでした。(実際、ハードウェア構成を変更して起動を試みるときに、Intel TXTの無効化も試したのですが普通に起動してしまいました。)
他にもTPMを使用するソフトはある程度は見つかり動作も確認できましたが、それはあくまでもIntel TXTを構成する要素の1つに過ぎません。本当は、BIOSからアプリケーション上までのトラストチェーンを確認したかったのですが、私の実力では手法を確立できませんでした。
今のところ、Intel TXTに関しては対応ソフトがエンタープライズ寄りの製品ばかりで、情報もあまり多くはありません。現状ではハード的なインフラはともかく、ソフトウェアベースで普及しているとは言い難いと思います。(せっかく、コンシューマー向けのメインストリームCPUであるCoreiシリーズにIntel TXT機能を持たしたのに勿体ない!)
恐らく、最も普及しない(情報が少ない)理由としては、具体的な動作が理解しにくいからだと思います。
例えば、「信頼されていない」とは具体的にどのようなときなのかが判りませんでした。(ハードウェア・ソフトウェアの既知の良好な構成のハッシュをTPMをに記録し、それと違った場合が信頼されていないとされているようですが・・・)
逆に「信頼された」構成がいつの時点なのかと言うこともわかりません。所有権を得たときなのか・・・
次に「信頼されていない」ときの動作がよくわかりません。アプリケーションやOSレベルでは起動停止の処置がされると思いますが、BIOSだとどうなるのでしょうか?今回はTPMの所有者と確立していない/した状態で色々ハードウェア構成を変更しましたが、Event logに記録されるだけで特に問題なく起動できてしまいました。
せめて、マザーボードのドキュメントでIntel TXTとBIOSの動作について書いていたならば、もう少し状況が変わったかも知れません。それも具体的に「どのようなときにどのような動作をするのか」と書いて欲しいです(´・ω・‘)
恐らく、今回のレビューは苦戦している方が多いと思います。本気でTXTを普及させるには、ユーザーが直接体験できるような評価ソフトと、充実したドキュメントが欲しいところです。
ハードウェアを使用したトラステッド・エグゼキューション・テクノロジー自体の構想は有用だと思いますので、是非Intelさんには本気で普及させる施策に期待したいところです。
ZIGSOWにログインするとコメントやこのアイテムを持っているユーザー全員に質問できます。