(57)【特許請求の範囲】
【請求項１】
プロセッサから分離したコントローラ上で、前記プロセッサに関して隔離された実行及び記憶の両方と１以上のセンサシステムと通信する暗号化サービスモジュールとを有する前記コントローラにより暗号化サービスを実行するステップと、
前記暗号化サービスを実行するのに前記コントローラと前記プロセッサとの間で暗号化情報を通信するステップであって、前記コントローラは前記１以上のセンサシステムのセンサシステムからセキュリティ指標を収集し、前記収集されたセキュリティ指標は前記コントローラ内のＴＰＭ（Ｔｒｕｓｔｅｄ  Ｐｌａｔｆｏｒｍ  Ｍｏｄｕｌｅ）にわたされる、前記通信するステップと、
から構成される方法。
【請求項２】
ファームウェア完全性は、計算システムにおいて前記コントローラと前記プロセッサとの間の暗号化情報の通信によって実行される暗号化サービスにより検証され、
前記コントローラは、前記暗号化サービスを実行するため内部暗号化サービスモジュールをサポートするロジックを有するベースボード管理コントローラを含む暗号化コントローラを有する、請求項１記載の方法。
【請求項３】
計算システムは、前記コントローラと前記プロセッサとを利用する計算プラットフォームを有し、
前記計算システムは、デスクトップ計算装置、ラップトップ計算装置、サーバ、ブレードサーバ、ワークステーション、並びに携帯情報端末、ページャ、携帯電話機及びテレビセットトップボックスの１以上を含む、請求項１記載の方法。
【請求項４】
前記ファームウェア完全性は、ファームウェアの完全性を示し、
前記ファームウェアは、前記ＢＩＯＳを含む、請求項２記載の方法。
【請求項５】
前記セキュリティ指標は、改良された乱数を生成するのに利用され、
前記ＴＰＭは、前記コントローラ内の暗号化サービスをサポートするための内部暗号化サービスモジュールとして機能する、請求項１記載の方法。
【請求項６】
前記ＴＰＭは、ファームウェアの検証が成功した場合、認証セキュア状態がオペレーティングシステムに送信され、前記検証が失敗した場合、失敗状態が記録される、請求項５記載の方法。
【請求項７】
前記コントローラは、複数のプロセッサに接続され、
前記コントローラは、電源オンリセット又はアサート初期化の適用を含む１以上の機能を前記複数のプロセッサの何れが実行するか決定する第１指針エージェントとして機能し、
指針の決定は、誤り検出、テストの失敗、キー押下データ及び非応答のＣＰＵ（Ｃｏｍｐｕｔｅｒ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）の１以上を含む入力により実行され、
前記暗号化サービスモジュールとして機能する前記ＴＰＭは、さらなる指針変数を提供するための第２指針エージェントとして機能する、請求項１記載の方法。
【請求項８】
前記セキュリティ指標は、暗号化処理について収集され、
前記セキュリティ指標は、温度レベル、電圧レベル、キー押下データ及び電力損失データの１以上を有する暗号化データを含む、請求項１記載の方法。
【請求項９】
信頼性のないファームウェアイメージを検出するため、前記コントローラを介しブートブロックの暗号化ハッシュを計算するステップをさらに有する、請求項１記載の方法。
【請求項１０】
前記コントローラを介し隔離されたメモリに秘密鍵を保持するステップをさらに有し、
前記隔離されたメモリは、前記プロセッサから隔離される、請求項１記載の方法。
【請求項１１】
前記１以上のセンサシステムは、温度データ、電圧データ、キープレスレートデータ及び電力損失データの１以上を含むエントロピーデータを有する、請求項１記載の方法。
【請求項１２】
プロセッサから分離したコントローラ上で、前記プロセッサに関して隔離された実行及び記憶の両方と１以上のセンサシステムと通信する暗号化サービスモジュールとを有する前記コントローラにより暗号化サービスを実行するステップと、
前記暗号化サービスを実行するのに前記コントローラと前記プロセッサとの間で暗号化情報を通信するステップであって、前記コントローラは前記１以上のセンサシステムのセンサシステムからセキュリティ指標を収集するよう構成され、前記収集されたセキュリティ指標は前記コントローラ内のＴＰＭ（Ｔｒｕｓｔｅｄ  Ｐｌａｔｆｏｒｍ  Ｍｏｄｕｌｅ）にわたされる、前記通信するステップと、
をマシーンに実行させる命令を有するソフトウェア。
【請求項１３】
ファームウェア完全性は、計算システムにおいて前記コントローラと前記プロセッサとの間の暗号化情報の通信によって実行される暗号化サービスにより検証され、
前記コントローラは、前記暗号化サービスを実行するため内部暗号化サービスモジュールをサポートするロジックを有するベースボード管理コントローラを含む暗号化コントローラを有する、請求項１２記載のソフトウェア。
【請求項１４】
計算システムは、前記コントローラと前記プロセッサとを利用する計算プラットフォームを有し、
前記計算システムは、デスクトップ計算装置、ラップトップ計算装置、サーバ、ブレードサーバ、ワークステーション、並びに携帯情報端末、ページャ、携帯電話機及びテレビセットトップボックスの１以上を含む、請求項１２記載のソフトウェア。
【請求項１５】
前記ファームウェア完全性は、ファームウェアの完全性を示し、
前記ファームウェアは、前記ＢＩＯＳを含む、請求項１３記載のソフトウェア。
【請求項１６】
前記セキュリティ指標は、改良された乱数を生成するのに利用され、
前記ＴＰＭは、前記コントローラ内の暗号化サービスをサポートするための内部暗号化サービスモジュールとして機能する、請求項１２記載のソフトウェア。
【請求項１７】
前記ＴＰＭは、ファームウェアの検証が成功した場合、認証セキュア状態がオペレーティングシステムに送信され、前記検証が失敗した場合、失敗状態が記録される、請求項１６記載のソフトウェア。
【請求項１８】
前記コントローラは、複数のプロセッサに接続され、
前記コントローラは、電源オンリセット又はアサート初期化の適用を含む１以上の機能を前記複数のプロセッサの何れが実行するか決定する第１指針エージェントとして機能し、
指針の決定は、誤り検出、テストの失敗、キー押下データ及び非応答のＣＰＵ（Ｃｏｍｐｕｔｅｒ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）の１以上を含む入力により実行され、
前記暗号化サービスモジュールとして機能する前記ＴＰＭは、さらなる指針変数を提供するための第２指針エージェントとして機能する、請求項１２記載のソフトウェア。
【請求項１９】
前記セキュリティ指標は、暗号化処理について収集され、
前記セキュリティ指標は、温度レベル、電圧レベル、キー押下データ及び電力損失データの１以上を有する暗号化データを含む、請求項１２記載のソフトウェア。
【請求項２０】
信頼性のないファームウェアイメージを検出するため、前記コントローラを介しブートブロックの暗号化ハッシュを計算するステップをさらに実行させる、請求項１２記載のソフトウェア。
【請求項２１】
前記コントローラを介し隔離されたメモリに秘密鍵を保持するステップをさらに実行させ、
前記隔離されたメモリは、前記プロセッサから隔離される、請求項１２記載のソフトウェア。
【請求項２２】
前記１以上のセンサシステムは、温度データ、電圧データ、キープレスレートデータ及び電力損失データの１以上を含むエントロピーデータを有する、請求項１２記載のソフトウェア。
【請求項２３】
プロセッサから分離したコントローラであって、前記プロセッサに関して隔離された実行及び記憶の両方と１以上のセンサシステムと通信する暗号化サービスモジュールとを有する前記コントローラ上で暗号化サービスを実行するための暗号化サービスモジュールと、
前記暗号化サービスを実行するのに前記コントローラと前記プロセッサとの間で暗号化情報を通信するためのデータ経路と、
を有するシステムであって、
前記コントローラは、前記１以上のセンサシステムのセンサシステムからセキュリティ指標を収集し、
前記収集されたセキュリティ指標は、前記コントローラ内のＴＰＭ（Ｔｒｕｓｔｅｄ  Ｐｌａｔｆｏｒｍ  Ｍｏｄｕｌｅ）にわたされるシステム。
【請求項２４】
ファームウェア完全性は、計算システムにおいて前記コントローラと前記プロセッサとの間の暗号化情報の通信によって実行される暗号化サービスにより検証され、
前記コントローラは、前記暗号化サービスを実行するため内部暗号化サービスモジュールをサポートするロジックを有するベースボード管理コントローラを含む暗号化コントローラを有する、請求項２３記載のシステム。
【請求項２５】
計算システムは、前記コントローラと前記プロセッサとを利用する計算プラットフォームを有し、
前記計算システムは、デスクトップ計算装置、ラップトップ計算装置、サーバ、ブレードサーバ、ワークステーション、並びに携帯情報端末、ページャ、携帯電話機及びテレビセットトップボックスの１以上を含む、請求項２３記載のシステム。
【請求項２６】
前記ファームウェア完全性は、ファームウェアの完全性を示し、
前記ファームウェアは、前記ＢＩＯＳを含む、請求項２３記載のシステム。
【請求項２７】
前記コントローラは、改良された乱数を生成するため、前記センサシステムからセキュリティ指標を収集し、
前記ＴＰＭは、前記コントローラ内の暗号化サービスをサポートするための内部暗号化サービスモジュールとして機能する、請求項２３記載のシステム。
【請求項２８】
前記ＴＰＭは、前記ファームウェアの検証が成功した場合、認証セキュア状態がオペレーティングシステムに送信され、前記検証が失敗した場合、失敗状態が記録される、請求項２７記載のシステム。
【請求項２９】
前記コントローラは、複数のプロセッサに接続され、
前記コントローラは、電源オンリセット又はアサート初期化の適用を含む１以上の機能を前記複数のプロセッサの何れが実行するか決定する第１指針エージェントとして機能し、
指針の決定は、誤り検出、テストの失敗、キー押下データ及び非応答のＣＰＵ（Ｃｏｍｐｕｔｅｒ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）の１以上を含む入力により実行され、
前記暗号化サービスモジュールとして機能する前記ＴＰＭは、さらなる指針変数を提供するための第２指針エージェントとして機能する、請求項２３記載のシステム。
【請求項３０】
前記セキュリティ指標は、暗号化処理について収集され、
前記セキュリティ指標は、温度レベル、電圧レベル、キー押下データ及び電力損失データの１以上を有する暗号化データを含む、請求項２３記載のシステム。
【請求項３１】
前記コントローラは、信頼性のないファームウェアイメージを検出するため、前記コントローラを介しブートブロックの暗号化ハッシュを計算する、請求項２３記載のシステム。
【請求項３２】
前記コントローラは、前記コントローラを介し隔離されたメモリに秘密鍵を保持し、
前記隔離されたメモリは、前記プロセッサから隔離される、請求項２３記載のシステム。
【請求項３３】
前記１以上のセンサシステムは、温度データ、電圧データ、キープレスレートデータ及び電力損失データの１以上を含むエントロピーデータを有する、請求項２３記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータセキュリティの技術分野に関する。特に、本発明は、安全なブートプロセスを介しサーバまたはパーソナルコンピュータ上の情報を保護するためのシステムに関する。
【背景技術】
【０００２】
電子、ウェブまたはソフトウェアエージェントに基づく取引への依存性が高まるに従って、あるコンピュータユーザのために動作するコンピュータの身元の信頼性の高い特定がますます重要となってきている。パーソナルコンピュータを操作するユーザから、ローカルネットワークサーバ、ワイドエリアネットワークまたはインターネットへのゲートウェイサーバ及び最終的には目的とするコンピュータに至るまで拡張可能な取引チェーン（ｔｒａｎｓａｃｔｉｏｎａｌ  ｃｈａｉｎ）の各種部分間の認証を可能にするため、多くの規格が開発されてきた。ネットワークにおける「信頼性の高いプラットフォーム」となるため、コンピュータは、送信されたハードウェアまたはソフトウェアに基づく識別情報の変更を可能にする、あるいは他のコンピュータシステムのなりすまし（ｓｐｏｏｆｉｎｇ）を可能にするプリブートソフトウェアプログラムにより破壊されないよう信頼性の高いものでなければならない。この信頼性の基礎は、コンピュータプラットフォームが意図した目的に対し信頼すべきものとなりうるという既知の権限者による宣言である。
【０００３】
ＴＣＰＡ（Ｔｒｕｓｔｅｄ  Ｃｏｍｐｕｔｉｎｇ  Ｐｌａｔｆｏｒｍ  Ａｌｌｉａｎｃｅ）は、ユーザ及びコンピュータを信頼できるものと認識するための１つの可能な規格を提供する。当該規格に準拠した典型的な電源入力処理では、別のハードウェアモジュール（暗号化ハッシュ技術を利用して）がＢＩＯＳに問い合わせ、それが信頼性のあるものとすることができるか判断し、ＢＩＯＳはユーザに問い合わせ、ユーザがプラットフォームを利用することを承認されていることを保証する。そのあと、ＢＩＯＳは、オペレーティングシステム（ＯＳ）ローダとハードウェアモジュールとやりとりし、このＯＳローダが信頼性のあるものとすることができるか判断する。ＯＳローダは、ＯＳカーネルのロード時に、どのソフトウェアがそれ以前にシステムにアクセスしたか知るため、情報をＯＳカーネルに送信する。事実上、これにより当該ポイントからコンピュータシステムは、ＯＳカーネルにより完全に制御されるということを明らかにする。適切なネットワーク認証技術が利用される場合、ユーザと第三者の両方は、コンピュータが「信頼性のある」ものであると確信することができる。残念ながら、別のハードウェアモジュール及び実現形態の追加的コストは、本システムまたは類似のシステムの普及を限定的なものにしている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の課題は、上記問題点に鑑み、安全なブートプロセスを介しサーバまたはパーソナルコンピュータ上の情報を保護するためのシステムを提供することである。
【課題を解決するための手段】
【０００５】
上記課題を解決するため、本発明の一特徴は、プロセッサから分離したコントローラ上で、前記プロセッサに関して隔離された実行及び記憶の両方と１以上のセンサシステムと通信する暗号化サービスモジュールとを有する前記コントローラにより暗号化サービスを実行するステップと、ファームウェア完全性を検証するため、前記コントローラと前記プロセッサとの間で暗号化情報を通信するステップとから構成される方法に関する。
【発明の効果】
【０００６】
本発明によると、安全なブートプロセスを介しサーバまたはパーソナルコンピュータ上の情報を保護するためのシステムを提供することができる。
【図面の簡単な説明】
【０００７】
【図１】図１は、ベースボード管理コントローラにより提供される暗号化サービスを有する計算プラットフォームの一実施例である。
【図２】図２は、ＩＰＭプロトコル、ＩＰＭＩ及び準拠したベースボード管理コントローラを利用した複数のプロセッサ及び複数のＢＩＯＳ画像をサポートする一実施例である。
【図３】図３は、複数のプロセッサをサポートするベースボード管理コントローラを示す。
【図４】図４は、ベースボード管理コントローラシステムにおける暗号化サービスモジュールを実現するためのプロセスを示す。
【発明を実施するための形態】
【０００８】
図１に関して示されるように、計算プラットフォーム１０は、別のベースボード（ｂａｓｅｂｏａｒｄ）管理コントローラにリンクしたプログラミングコード（ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ/Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）命令、オペレーティングシステム命令及びアプリケーションコードを含む）を実行するのに適したプロセッサ１２を有する。このリンク接続は、汎用的な情報入出力ラインであってもよいし、あるいは専用データポート１８であってもよい。ベースボード管理コントローラ１４はまた、内部の暗号化サービスモジュール１６をサポートするメモリ及び/または論理を有する。さらに、ベースボード管理コントローラ１４は、以下に限定するものではないが、温度や電圧レベルなどのエントロピックデータ、キープレスデータあるいはパワー損失データを含みうる各種センサシステム２０から情報を受け取る。
【０００９】
動作中、暗号化サービスは、ベース管理コントローラ１４と一体化された内部暗号化サービスモジュール１６によりサポートされる。ベースボード管理コントローラは、メインプロセッサに関する実行及びメモリを隔離し、ＢＩＯＳ完全性を検証するため、ベースボード管理コントローラとメインプロセッサとの間で暗号化情報を通信する。これにより、ＢＩＯＳコードセグメントをそのプラットフォーム及び現在の構成（例えば、プラットフォーム内のハードウェア構成など）と結び付けるより安全なブート処理を介しプラットフォームセキュリティを計算する拡張されたプロテクションを可能にする。
【００１０】
理解されるように、計算プラットフォーム１０は、プラットフォームのブート処理の以降における解析及び検証に対する処理を実行する任意の製品を含む。計算プラットフォーム１０の例としては、以下に限定するものではないが、コンピュータ（例えば、デスクトップ、ラップトップ、サーバ、ブレードサーバ、ワークステーション、携帯情報端末など）やそれに付属する任意の周辺装置、通信機器（例えば、携帯電話器、ページャなど）、テレビセットトップボックスなどがあげられる。「リンク」とは、電線、光ファイバ、ケーブル、バストレース（ｂｕｓ  ｔｒａｃｅ）または赤外線、無線周波数（ＲＦ）や他の任意の無線信号機構を利用した無線チャネルなどの論理的または物理的通信経路として広くは定義される。さらに、「情報」という用語は、データ、アドレス及び/または制御の１以上のビットとして定義される。「コード」とは、実行時に特定の機能を実行するソフトウェアまたはファームウェアを含む。コードの例として、アプリケーション、アプレットまたは他の任意の命令系列があげられる。
【００１１】
典型的には、ベースボード管理コントローラ１４は、システム管理ソフトウェアとプラットフォーム管理ハードウェアとの間のインタフェースを管理し、自律的モニタリング、イベントログ処理及びリカバリ制御を提供し、システム管理ソフトウェアとプラットフォームコンポーネントを相互接続するサポートされたバスシステムとの間のゲートウェイとして機能する。ベースボード管理コントローラは、異なる管理機能を有する各種計算プラットフォームに一体化することが可能であり、マザーボード上に１つの集積コンポーネントを有することが可能であり、あるいは複数の個別のコントローラから一体的に構成される分散システムにより表すことも可能である。例えば、業務用サーバの複雑なマルチボードセットは、余分な電源の管理及び制御、ＲＡＩＤ、拡張Ｉ/Ｏなどの異なるサブシステムを監視する複数の管理コントローラを利用することができる。動作中、ベースボード管理コントローラ１４は、ＩＮＩＴやＮＭＩなどのアサート時に、電源投入のリセットを適用するプロセッサを決定する指針エージェントとして機能する。指針決定を発効するための通常の入力には、以前のブート処理に関する状態及びハードウェアの物理的完全性の測定（すなわち、誤り検出、ＢＩＳＴエラー、キープレスデータ、応答しないＣＰＵなど）が含まれる。暗号化モジュールは、追加的な指針変数、すなわち、暗号化完全性を計算モジュールに提供する。
【００１２】
さらに理解されるように、「暗号化処理」は、難読化（ｏｂｆｕｓｃａｔｉｏｎ）、完全性保護などを通じてデータセキュリティを向上させるのに実行される処理である。理想的には、暗号化処理は、それが変更不可能または容易には置換不可能であるため、信頼しうるプロセスを有する孤立した計算エンジン上で実行される。信頼性の高いプロセスには、保護された格納、デジタル署名及びＰＫＩ（Ｐｕｂｌｉｃ  Ｋｅｙ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ）キーサポートが含まれうる。さらに、暗号化処理には、キーなどのデータ保護が含まれてもよく、特定の計算プラットフォーム構成に対し内部的に生成される非対称鍵ペアのバインディング（ｂｉｎｄｉｎｇ）またはシーリング（ｓｅａｌｉｎｇ）を伴うものであってもよい。他の暗号化処理には、ハッシュ処理、すなわち、ハッシュ値と呼ばれる固定長表現への情報の一方向変換が含まれてもよい。通常、「ハッシュ値」は、もとの情報より実質的にサイズの小さいものである。いくつかのケースでは、ハッシュ処理は１：１変換を伴うかもしれない。ハッシュ関数の１つのタイプは、Ｔｈｅ  Ｎａｔｉｏｎａｌ  Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｓｔａｎｄａｒｄｓ  ｏｆ  Ｔｅｃｈｎｏｌｏｇｙにより特定されたようなＴｈｅ  Ｓｅｃｕｒｅ  Ｈａｓｈ  Ａｌｇｏｒｉｔｈｍ（ＳＨＡ−１）と呼ばれるものがある。実際、暗号化サービスモジュール１６によりサポートされる可能性のある様々な暗号化処理を利用して、例えば、ＲＯＭのＢＩＯＳ画像の真正性を保証することにより計算プラットフォームのセキュリティを向上させることができる。
【００１３】
図２は、図１を参照して説明されたようなベースボード管理コントローラの暗号化サービスモジュールを実現するための一般的プロセスを概略的に示す。プロセス３０は、ＢＩＯＳ画像の完全性を検証するため、ベースボード管理コントローラにより実行される暗号化チェック３４によりブートプロセス３２を開始する。暗号化チェックが失敗すると（ボックス３６）、オペレーティングシステムは、適切なイベントフラグにより計算プラットフォームのセキュリティが保証し得ないということが通知される。逆に、暗号化チェックが成功すると（ボックス３８）、オペレーティングシステムは、適切なイベントフラグにより計算プラットフォームのセキュリティが信頼できるものであるということが通知される。
【００１４】
図３に示されるように、複数のＢＩＯＳ画像に任意的に与えられる複数のプロセッサ５１〜５４のサーバ管理ベースボードコントローラと共に用いるのに適した具体的な実施例５０が説明される。図に示されるように、ＴＣＰＡ（Ｔｒｕｓｔｅｄ  Ｃｏｍｐｕｔｅｒ  Ｐｌａｔｆｏｒｍ  Ａｒｃｈｉｔｅｃｔｕｒｅ）（ｗｗｗ．ｔｒｕｓｔｅｄｐｃ．ｏｒｇ）１．０に準拠したシステムにより求められる機能を備えたインテルＳＨＶ（Ｓｔａｎｄａｒｄ  Ｈｉｇｈ−Ｖｏｌｕｍｅ）サーバマザーボードにおけるＩＰＭＩ（Ｉｎｔｅｌ  ＰＬａｔｆｏｒｍ  Ｍａｎａｇｅｍｅｎｔ  Ｉｎｔｅｒｆａｃｅ）に準拠したＢＭＣ（Ｂａｓｅｂｏａｒｄ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｔｒｏｌｌｅｒ）５６などのサーバ管理ベースボードコントローラが、暗号化サービスをサポートするため、ＢＭＣ５６上で実行されるファームウェアとしてＴＰＭ（Ｔｒｕｓｔｅｄ  Ｐｌａｔｆｏｒｍ  Ｍｏｄｕｌｅ）５８により拡張可能である。
【００１５】
理解されるように、ＩＰＭＩに準拠したシステムは、典型的には、自律的監視のためＩＰＭ（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｐｌａｔｆｏｒｍ  Ｍａｎａｇｅｍｅｎｔ）を利用し、プラットフォーム管理ハードウェア及びファームウェアにおいて直接的に実現される機能を復元する。ＩＰＭの主要な特徴は、メインプロセッサ、ＢＩＯＳ及びオペレーティングシステムから独立して、インベントリ（ｉｎｖｅｎｔｏｒｙ）、モニタリング、ログ処理及びリカバリ制御機能が利用可能であるということである。プラットフォーム管理機能はまた、システムがオフ状態にも利用可能とすることができる。プラットフォーム状態情報の取得が可能であり、システム管理ソフトウェア及び通常の「インバンド（ｉｎ−ｂａｎｄ）」管理機構が利用可能でない状況の下、リカバリ動作を開始することができる。ＩＰＭＩを介し利用可能な独立したモニタリング、ログ処理及びアクセス機能は、計算プラットフォームハードウェアに組み込まれた管理可能性を提供する。これは、特定のオペレーティングシステムに利用可能なシステム管理ソフトウェアがないシステム、あるいはエンドユーザがシステム管理ソフトウェアをロードまたはイネーブルとしないことを選択したシステムをサポートすることができる。
【００１６】
ＩＰＭＩは、オペレーティングシステムの下で実行するシステム管理ソフトウェアと共に最適に利用される。これは、ＩＰＭＩ管理情報へのインバンドアクセスを提供し、ＩＰＭＩを管理アプリケーション及びオペレーティングシステム（ＯＳ）により提供される追加的な管理機能と一体化することにより、管理可能性レベルを向上させる。システム管理ソフトウェア及びＯＳは、プラットフォーム管理サブシステムにより直接的に提供される場合より、精緻な制御、誤り処理及び変更を提供することができる。ＩＰＭＩは、ＤＭＩ、ＷＭＩ、ＣＩＭ、ＳＮＭＰなどの標準的な管理ソフトウェアインタフェースを介し明らかとされるモニタリング及び制御機能を提供する「管理ソフトウェアニュートラル」であるハードウェアレベルインタフェース仕様である。
【００１７】
ハードウェアレベルインタフェースとして、ＩＰＭＩは、ＢＭＣ５６の上の典型的な管理ソフトウェアスタックのボトムに配置される。ＢＭＣ５６は、システム管理ソフトウェアとプラットフォーム管理ハードウェアとの間のインタフェースを管理し、自律的モニタリング、イベントログ処理及びリカバリ制御を提供し、システム管理ソフトウェアとＩＰＭＢとの間のゲートウェイ及び共通に利用可能な他の任意のバスシステム（例えば、ＩＣＭＢ（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｃｈａｓｓｉｓ  Ｍａｎａｇｅｍｅｎｔ  Ｂｕｓ））として利用される。ＩＰＭＩは、ＩＰＭＢを用いて追加的管理コントローラをシステムと接続することにより、プラットフォーム管理の拡張をサポートする。ＩＰＭＢは、主要なシステムモジュール間を経由するＩ２Ｃに基づくシリアルバスである。ＩＰＭＢは、管理コントローラとの通信及び管理コントローラ間の通信に利用される。これは、筺体構成をベースボードと一体化させる標準化された方法を与える。追加的管理コントローラは、典型的には「中央の」ＢＭＣから離れたシステム内部の他のボード上に分散化されているため、ときどきサテライトコントローラと呼ばれる。相互接続を標準化することにより、ベースボードは、異なる管理機能を有する各種筺体に容易に一体化することができる。ＩＰＭＩの複数の管理コントローラに対するサポートはまた、当該アーキテクチャがスケーラブルであることを意味する。業務用サーバの複雑なマルチボードセットは、余分な電源モニタリング及び制御、ＲＡＩＤ、拡張Ｉ/Ｏなどの異なるサブシステムを監視するための複数の管理コントローラを利用することができる。エントリレベルのシステムはＢＭＣに一体化されるすべての管理機能を有することができるが、ＩＰＭＩはまたベースボード管理コントローラを介しアクセスされる他のプライベートバスまたはＬＰＣ上の「非インテリジェント」Ｉ２Ｃ装置（ＩＰＭＩコマンドを扱わない装置）へのアクセスに利用可能な「低レベル」Ｉ２Ｃアクセスコマンドを有する。
【００１８】
上述のようなＩＰＭＩに準拠した環境で実行されるＴＰＭ５８はセキュリティを保証することが可能である。なぜなら、その実行は隠され、その格納はメインマイクロプロセッサコンプレックス（ＩＡ３２またはＩＰＦファミリのＳＭＰ）から隠されているからである。実際、ＢＭＣ５６によりサポートされるＴＰＭ５８モジュールのプライベートメモリとハードウェアリソースは、ウイルス、誤ったドライバ及びメインマイクロプロセッサコンプレックス上で実行される他の信頼性の低いコードがＴＰＭの秘密を脅かすことを防ぐ。このような秘密には、暗号鍵や実行されたコードのハッシュなどが含まれる。ＴＰＭ５８のＢＭＣ５６上での実現は、ＳＨＶプラットフォームにセキュリティ機能を追加する一方、ＴＰＭに特化したコプロセッサを分離するのに伴う費用を最小化する。
【００１９】
ＴＰＭ５８へのそれのサブシステムのカプセル化を介した通信は、ＩＰＭＩプロトコル内のＴＣＰＡコマンドセットのトンネル化を介し、またはＴＣＰＡメッセージ処理に対し排他的に予約された追加的コマンドデータポートをコプロセッサにエクスポートさせることにより可能となる。前者は、サーバ管理とコプロセッサのセキュリティのハイブリッド機能を採用する初期のシステムに対するハードウェアを必要としないため好ましい。また、ＴＣＰＡの改ざん耐性要求が、コプロセッサの物理的包囲を拡張するシステムベンダにより満たされ、承認されていない主体がサブシステムの物理的完全性を脅かそうとするものであるか示すことが可能となる。
【００２０】
ＴＰＭ５８は、適度な不揮発性格納要件（最小８キロバイト）を有する。また、ＴＰＭの暗号化サービスは、時間が重視されるものでなく、ソフトウェア的に実現可能であり（すなわち、ＴＰＭは秘密の格納及びダイジェストの署名などの秘密処理を行う一方、ＳＳＬなどの一括暗号化がメインマイクロプロセッサにより実行される）、これにより、サーバ管理コプロセッサが上記機能により拡張されることを可能にする。また、キープレスレートや電圧などのセキュリティ測定値や、ＴＰＭ５８により利用及び収集可能な他のエントロピー関連データがＢＭＣ５６により現在収集され、情報がＴＰＭ５８にわたされる（すなわち、ＢＭＣは、警告のために温度および電圧を測定する）。このエントロピーの収集（温度センサの読取りなど）は、擬似乱数生成器の算術的ソフトウェアにより実現に比較して、ＲＮＧ（Ｒａｎｄｏｍ  Ｎｕｍｂｅｒ  Ｇｅｎｅｒａｔｉｏｎ）を向上させることが可能である。また、ＴＰＭは電力損失の検出及び追跡を行う必要があるため、ＢＭＣ５８は、電力損失データを追跡し、実際にマイクロプロセッサコンプレックスへのパワーオングッド（ｐｏｗｅｒ−ｏｎ−ｇｏｏｄ）信号を限定する必要がある。
【００２１】
図４は、図３を参照して説明されたようなベースボード管理システムの暗号化サービスモジュールを実現するための一般的プロセス７０を詳細に示す。ＢＭＣ（最初に）及びブートシステムの初期リセット（７２）の後、ハードウェア自己テストが実行される（７４）。成功すると仮定すると、安全な（信頼性の高い）システムの一部を構成しているか確認するため、ブートブロック記述子がテストされる。安全なシステムの一部を構成している場合、ブートブロックがＴＰＭに読み込まれ（８２）、ＢＩＯＳ完全性を検証するため、ハッシュ処理または他の暗号化サービスが実行される（８６）。ブートブロックが認証されると、認証された（安全な）状態がオペレーティングシステムに送信され（９０）、そうでない場合には、失敗が記録される（７６）。あるいは、ハードウェア自己テストが失敗した場合には、ブートプロセスを失敗とすることも可能であり（７６及び９０）、あるいは計算プラットフォームが信頼性の高いシステムの一部でない場合には、「安全でない」状態のフラグがオペレーティングシステムにわたすようにすることも可能である（８４）。ＢＭＣは、メインＣＰＵコンプレックスへの電力オンリセット信号を制御するという点で主要なエージェントであり、このため、メインＣＰＵからの第１のコードフェッチの前に、ブートブロックの認証プロセスを実行することができる（すなわち、低速のＢＭＣ/ＴＰＭマイクロプロセッサにおいて認証論理が実行されるまで、リセットからメインのＣＰＵを取り出さない）。実際、メインＣＰＵへのこれらのアサートした制御ラインの安全性資格が設置される。
【００２２】
上記方法及びシステムを実現するソフトウェアは、実行対象の命令群としてコンピュータプラットフォームまたはシステムのメモリに格納することが可能である。さらに、上記方法及びシステムを実行するための命令は、フラッシュメモリ、磁気ディスク及び光ディスクを含む他の形態のマシーン読み出し可能メディアに格納することが可能である。例えば、本発明の方法は、ディスクドライブ（またはコンピュータ読み出し可能メディアドライブ）を介しアクセス可能な磁気ディスクや光ディスクなどのマシーン読み出し可能メディアに格納することが可能である。さらに、この命令は、圧縮された形式または実行可能な形式によりデータネットワークを介し計算装置にダウンロードすることが可能である。
【００２３】
あるいは、上記方法及びシステムを実行するための論理は、ＬＳＩ（Ｌａｒｇｅ−Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ）回路などの個別のハードウェアコンポーネント、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ−Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）などのファームウェア、あるいは電気、光、音響及び他の形態の伝搬信号（例えば、無線または赤外線光信号など）を介し情報を中継する空間的に遠隔のコンピュータなどの追加的なコンピュータ及び/またはマシーン読み出し可能メディアにおいて実現可能である。
【００２４】
明細書中における「実施例」、「一実施例」、「いくつかの実施例」あるいは「他の実施例」の表現は、当該実施例に関し説明された機能、構成または特徴が少なくとも一部の実施例に含まれるが、必ずしも本発明のすべての実施例に含まれるわけではないことを意味している。「実施例」、「一実施例」または「いくつかの実施例」などの様々な態様は、必ずしもすべてが同一の実施例を言及しているわけではない。
【００２５】
本明細書において、コンポーネント、機能、構成または特徴が「含まれてもよい」、「含まれうる」または「含むことが可能である」と記載されている場合、当該コンポーネント、機能、構成または特徴が含まれる必要はない。明細書または請求項において「ある」要素を示す場合、それは当該要素が１つのみ存在することを意味するものではない。明細書または請求項が「追加的」要素を示す場合、それは当該追加的要素が複数存在することを排除するものではない。
【００２６】
本開示の利益を有する当業者は、上記説明及び図面からの他の多くの変形が、本発明の範囲内において可能であると理解するであろう。従って、本発明の範囲を規定するのは、任意の補正を含む以下の請求項である。
【符号の説明】
【００２７】
１０  計算プラットフォーム
１２  プロセッサ
１４  ベースボード管理コントローラ
１６  内部暗号化サービスモジュール
１８  専用データポート
【図１】
0005551130.tif 000002
【図２】
0005551130.tif 000003
【図３】
0005551130.tif 000004
【図４】
0005551130.tif 000005