プロセッサから分離したコントローラ上で、前記プロセッサに関して隔離された実行及び記憶の両方と1以上のセンサシステムと通信する暗号化サービスモジュールとを有する前記コントローラにより暗号化サービスを実行するステップと、ファームウェア完全性を検証するため、前記コントローラと前記プロセッサとの間で暗号化情報を通信するステップと、から構成される方法。前記ファームウェア完全性は、計算システムにおいて前記コントローラと前記プロセッサとの間の暗号化情報の通信によって実行される暗号化サービスにより検証され、前記コントローラは、前記暗号化サービスを実行するため内部暗号化サービスモジュールをサポートするロジックを有するベースボード管理コントローラを含む暗号化コントローラを有する、請求項1記載の方法。前記計算システムは、前記コントローラと前記プロセッサとを利用する計算プラットフォームを有し、前記計算システムは、デスクトップ計算装置、ラップトップ計算装置、サーバ、ブレードサーバ、ワークステーション、並びに携帯情報端末、ページャ、携帯電話機及びテレビセットトップボックスの1以上を含む、請求項1記載の方法。前記ファームウェア完全性は、ファームウェアの完全性を示し、前記ファームウェアは、ソフトウェア又はハードウェアを含み、前記ソフトウェアは、BIOSBasicInput/OutputSystemに関する第1命令、オペレーティングシステムに関する第2命令、及び前記コントローラに関する第3命令の1以上を有する実行可能なプログラミングコードを含み、前記ファームウェアは、前記BIOSを含む、請求項1記載の方法。前記コントローラは、改良された乱数を生成するため、前記センサシステムからセキュリティ指標を収集し、前記収集されたセキュリティ指標は、前記コントローラ内のTPMTrustedPlatformModuleにわたされる、請求項1記載の方法。前記TPMは、前記ファームウェアの検証が成功した場合、認証セキュア状態がオペレーティングシステムに送信され、前記検証が失敗した場合、失敗状態が記録される、請求項5記載の方法。前記コントローラは、複数のプロセッサに接続される、請求項1記載の方法。暗号化処理のためにセキュリティ指標を提供するため、前記コントローラを介しエントロピーデータを収集するステップをさらに有する、請求項1記載の方法。信頼性のないファームウェアイメージを検出するため、前記コントローラを介しブートブロックの暗号化ハッシュを計算するステップをさらに有する、請求項1記載の方法。前記コントローラを介し隔離されたメモリに秘密鍵を保持するステップをさらに有し、前記隔離されたメモリは、前記プロセッサから隔離される、請求項1記載の方法。前記1以上のセンサシステムは、温度データ、電圧データ、キープレスレートデータ及び電力損失データの1以上を含むエントロピーデータを有する、請求項1記載の方法。プロセッサから分離したコントローラ上で、前記プロセッサに関して隔離された実行及び記憶の両方と1以上のセンサシステムと通信する暗号化サービスモジュールとを有する前記コントローラにより暗号化サービスを実行するステップと、ファームウェア完全性を検証するため、前記コントローラと前記プロセッサとの間で暗号化情報を通信するステップと、をマシーンに実行させる命令を有するプログラム。前記ファームウェア完全性は、計算システムにおいて前記コントローラと前記プロセッサとの間の暗号化情報の通信によって実行される暗号化サービスにより検証され、前記コントローラは、前記暗号化サービスを実行するため内部暗号化サービスモジュールをサポートするロジックを有するベースボード管理コントローラを含む暗号化コントローラを有する、請求項12記載のプログラム。前記計算システムは、前記コントローラと前記プロセッサとを利用する計算プラットフォームを有し、前記計算システムは、デスクトップ計算装置、ラップトップ計算装置、サーバ、ブレードサーバ、ワークステーション、並びに携帯情報端末、ページャ、携帯電話機及びテレビセットトップボックスの1以上を含む、請求項12記載のプログラム。前記ファームウェア完全性は、ファームウェアの完全性を示し、前記ファームウェアは、ソフトウェア又はハードウェアを含み、前記ソフトウェアは、BIOSBasicInput/OutputSystemに関する第1命令、オペレーティングシステムに関する第2命令、及び前記コントローラに関する第3命令の1以上を有する実行可能なプログラミングコードを含み、前記ファームウェアは、前記BIOSを含む、請求項12記載のプログラム。前記コントローラは、改良された乱数を生成するため、前記センサシステムからセキュリティ指標を収集し、前記収集されたセキュリティ指標は、前記コントローラ内のTPMTrustedPlatformModuleにわたされる、請求項12記載のプログラム。前記TPMは、前記ファームウェアの検証が成功した場合、認証セキュア状態がオペレーティングシステムに送信され、前記検証が失敗した場合、失敗状態が記録される、請求項16記載のプログラム。前記コントローラは、複数のプロセッサに接続される、請求項12記載のプログラム。暗号化処理のためにセキュリティ指標を提供するため、前記コントローラを介しエントロピーデータを収集するステップをさらに実行させる、請求項12記載のプログラム。信頼性のないファームウェアイメージを検出するため、前記コントローラを介しブートブロックの暗号化ハッシュを計算するステップをさらに実行させる、請求項12記載のプログラム。前記コントローラを介し隔離されたメモリに秘密鍵を保持するステップをさらに実行させ、前記隔離されたメモリは、前記プロセッサから隔離される、請求項12記載のプログラム。前記1以上のセンサシステムは、温度データ、電圧データ、キープレスレートデータ及び電力損失データの1以上を含むエントロピーデータを有する、請求項12記載のプログラム。プロセッサから分離したコントローラであって、前記プロセッサに関して隔離された実行及び記憶の両方と1以上のセンサシステムと通信する暗号化サービスモジュールとを有する前記コントローラ上で暗号化サービスを実行するための暗号化サービスモジュールと、ファームウェア完全性を検証するため、前記コントローラと前記プロセッサとの間で暗号化情報を通信するためのデータ経路と、を有するシステム。前記ファームウェア完全性は、計算システムにおいて前記コントローラと前記プロセッサとの間の暗号化情報の通信によって実行される暗号化サービスにより検証され、前記コントローラは、前記暗号化サービスを実行するため内部暗号化サービスモジュールをサポートするロジックを有するベースボード管理コントローラを含む暗号化コントローラを有する、請求項23記載のシステム。前記計算システムは、前記コントローラと前記プロセッサとを利用する計算プラットフォームを有し、前記計算システムは、デスクトップ計算装置、ラップトップ計算装置、サーバ、ブレードサーバ、ワークステーション、並びに携帯情報端末、ページャ、携帯電話機及びテレビセットトップボックスの1以上を含む、請求項23記載のシステム。前記ファームウェア完全性は、ファームウェアの完全性を示し、前記ファームウェアは、ソフトウェア又はハードウェアを含み、前記ソフトウェアは、BIOSBasicInput/OutputSystemに関する第1命令、オペレーティングシステムに関する第2命令、及び前記コントローラに関する第3命令の1以上を有する実行可能なプログラミングコードを含み、前記ファームウェアは、前記BIOSを含む、請求項23記載のシステム。前記コントローラは、改良された乱数を生成するため、前記センサシステムからセキュリティ指標を収集し、前記収集されたセキュリティ指標は、前記コントローラ内のTPMTrustedPlatformModuleにわたされる、請求項23記載のシステム。前記TPMは、前記ファームウェアの検証が成功した場合、認証セキュア状態がオペレーティングシステムに送信され、前記検証が失敗した場合、失敗状態が記録される、請求項27記載のシステム。前記コントローラは、複数のプロセッサに接続される、請求項23記載のシステム。前記コントローラは、暗号化処理のためにセキュリティ指標を提供するため、前記コントローラを介しエントロピーデータを収集する、請求項23記載のシステム。前記コントローラは、信頼性のないファームウェアイメージを検出するため、前記コントローラを介しブートブロックの暗号化ハッシュを計算する、請求項23記載のシステム。前記コントローラは、前記コントローラを介し隔離されたメモリに秘密鍵を保持し、前記隔離されたメモリは、前記プロセッサから隔離される、請求項23記載のシステム。前記1以上のセンサシステムは、温度データ、電圧データ、キープレスレートデータ及び電力損失データの1以上を含むエントロピーデータを有する、請求項23記載のシステム。本発明の課題は、上記問題点に鑑み、安全なブートプロセスを介しサーバまたはパーソナルコンピュータ上の情報を保護するためのシステムを提供することである。上記課題を解決するため、本発明の一特徴は、プロセッサから分離したコントローラ上で、前記プロセッサに関して隔離された実行及び記憶の両方と1以上のセンサシステムと通信する暗号化サービスモジュールとを有する前記コントローラにより暗号化サービスを実行するステップと、ファームウェア完全性を検証するため、前記コントローラと前記プロセッサとの間で暗号化情報を通信するステップとから構成される方法に関する。本発明によると、安全なブートプロセスを介しサーバまたはパーソナルコンピュータ上の情報を保護するためのシステムを提供することができる。図1に関して示されるように、計算プラットフォーム10は、別のベースボードbaseboard管理コントローラにリンクしたプログラミングコードBIOSBasicInputOutputSystem命令、オペレーティングシステム命令及びアプリケーションコードを含むを実行するのに適したプロセッサ12を有する。このリンク接続は、汎用的な情報入出力ラインであってもよいし、あるいは専用データポート18であってもよい。ベースボード管理コントローラ14はまた、内部の暗号化サービスモジュール16をサポートするメモリ及びまたは論理を有する。さらに、ベースボード管理コントローラ14は、以下に限定するものではないが、温度や電圧レベルなどのエントロピックデータ、キープレスデータあるいはパワー損失データを含みうる各種センサシステム20から情報を受け取る。動作中、暗号化サービスは、ベース管理コントローラ14と一体化された内部暗号化サービスモジュール16によりサポートされる。ベースボード管理コントローラは、メインプロセッサに関する実行及びメモリを隔離し、BIOS完全性を検証するため、ベースボード管理コントローラとメインプロセッサとの間で暗号化情報を通信する。これにより、BIOSコードセグメントをそのプラットフォーム及び現在の構成例えば、プラットフォーム内のハードウェア構成などと結び付けるより安全なブート処理を介しプラットフォームセキュリティを計算する拡張されたプロテクションを可能にする。理解されるように、計算プラットフォーム10は、プラットフォームのブート処理の以降における解析及び検証に対する処理を実行する任意の製品を含む。計算プラットフォーム10の例としては、以下に限定するものではないが、コンピュータ例えば、デスクトップ、ラップトップ、サーバ、ブレードサーバ、ワークステーション、携帯情報端末などやそれに付属する任意の周辺装置、通信機器例えば、携帯電話器、ページャなど、テレビセットトップボックスなどがあげられる。リンクとは、電線、光ファイバ、ケーブル、バストレースbustraceまたは赤外線、無線周波数RFや他の任意の無線信号機構を利用した無線チャネルなどの論理的または物理的通信経路として広くは定義される。さらに、情報という用語は、データ、アドレス及びまたは制御の1以上のビットとして定義される。コードとは、実行時に特定の機能を実行するソフトウェアまたはファームウェアを含む。コードの例として、アプリケーション、アプレットまたは他の任意の命令系列があげられる。典型的には、ベースボード管理コントローラ14は、システム管理ソフトウェアとプラットフォーム管理ハードウェアとの間のインタフェースを管理し、自律的モニタリング、イベントログ処理及びリカバリ制御を提供し、システム管理ソフトウェアとプラットフォームコンポーネントを相互接続するサポートされたバスシステムとの間のゲートウェイとして機能する。ベースボード管理コントローラは、異なる管理機能を有する各種計算プラットフォームに一体化することが可能であり、マザーボード上に1つの集積コンポーネントを有することが可能であり、あるいは複数の個別のコントローラから一体的に構成される分散システムにより表すことも可能である。例えば、業務用サーバの複雑なマルチボードセットは、余分な電源の管理及び制御、RAID、拡張IOなどの異なるサブシステムを監視する複数の管理コントローラを利用することができる。動作中、ベースボード管理コントローラ14は、INITやNMIなどのアサート時に、電源投入のリセットを適用するプロセッサを決定する指針エージェントとして機能する。指針決定を発効するための通常の入力には、以前のブート処理に関する状態及びハードウェアの物理的完全性の測定すなわち、誤り検出、BISTエラー、キープレスデータ、応答しないCPUなどが含まれる。暗号化モジュールは、追加的な指針変数、すなわち、暗号化完全性を計算モジュールに提供する。さらに理解されるように、暗号化処理は、難読化obfuscation、完全性保護などを通じてデータセキュリティを向上させるのに実行される処理である。理想的には、暗号化処理は、それが変更不可能または容易には置換不可能であるため、信頼しうるプロセスを有する孤立した計算エンジン上で実行される。信頼性の高いプロセスには、保護された格納、デジタル署名及びPKIPublicKeyInfrastructureキーサポートが含まれうる。さらに、暗号化処理には、キーなどのデータ保護が含まれてもよく、特定の計算プラットフォーム構成に対し内部的に生成される非対称鍵ペアのバインディングbindingまたはシーリングsealingを伴うものであってもよい。他の暗号化処理には、ハッシュ処理、すなわち、ハッシュ値と呼ばれる固定長表現への情報の一方向変換が含まれてもよい。通常、ハッシュ値は、もとの情報より実質的にサイズの小さいものである。いくつかのケースでは、ハッシュ処理は1:1変換を伴うかもしれない。ハッシュ関数の1つのタイプは、TheNationalInstituteofStandardsofTechnologyにより特定されたようなTheSecureHashAlgorithmSHA-1と呼ばれるものがある。実際、暗号化サービスモジュール16によりサポートされる可能性のある様々な暗号化処理を利用して、例えば、ROMのBIOS画像の真正性を保証することにより計算プラットフォームのセキュリティを向上させることができる。図2は、図1を参照して説明されたようなベースボード管理コントローラの暗号化サービスモジュールを実現するための一般的プロセスを概略的に示す。プロセス30は、BIOS画像の完全性を検証するため、ベースボード管理コントローラにより実行される暗号化チェック34によりブートプロセス32を開始する。暗号化チェックが失敗するとボックス36、オペレーティングシステムは、適切なイベントフラグにより計算プラットフォームのセキュリティが保証し得ないということが通知される。逆に、暗号化チェックが成功するとボックス38、オペレーティングシステムは、適切なイベントフラグにより計算プラットフォームのセキュリティが信頼できるものであるということが通知される。図3に示されるように、複数のBIOS画像に任意的に与えられる複数のプロセッサ51~54のサーバ管理ベースボードコントローラと共に用いるのに適した具体的な実施例50が説明される。図に示されるように、TCPATrustedComputerPlatformArchitecturewww.trustedpc.org1.0に準拠したシステムにより求められる機能を備えたインテルSHVStandardHigh-VolumeサーバマザーボードにおけるIPMIIntelPLatformManagementInterfaceに準拠したBMCBaseboardManagementController56などのサーバ管理ベースボードコントローラが、暗号化サービスをサポートするため、BMC56上で実行されるファームウェアとしてTPMTrustedPlatformModule58により拡張可能である。理解されるように、IPMIに準拠したシステムは、典型的には、自律的監視のためIPMIntelligentPlatformManagementを利用し、プラットフォーム管理ハードウェア及びファームウェアにおいて直接的に実現される機能を復元する。IPMの主要な特徴は、メインプロセッサ、BIOS及びオペレーティングシステムから独立して、インベントリinventory、モニタリング、ログ処理及びリカバリ制御機能が利用可能であるということである。プラットフォーム管理機能はまた、システムがオフ状態にも利用可能とすることができる。プラットフォーム状態情報の取得が可能であり、システム管理ソフトウェア及び通常のインバンドin-band管理機構が利用可能でない状況の下、リカバリ動作を開始することができる。IPMIを介し利用可能な独立したモニタリング、ログ処理及びアクセス機能は、計算プラットフォームハードウェアに組み込まれた管理可能性を提供する。これは、特定のオペレーティングシステムに利用可能なシステム管理ソフトウェアがないシステム、あるいはエンドユーザがシステム管理ソフトウェアをロードまたはイネーブルとしないことを選択したシステムをサポートすることができる。IPMIは、オペレーティングシステムの下で実行するシステム管理ソフトウェアと共に最適に利用される。これは、IPMI管理情報へのインバンドアクセスを提供し、IPMIを管理アプリケーション及びオペレーティングシステムOSにより提供される追加的な管理機能と一体化することにより、管理可能性レベルを向上させる。システム管理ソフトウェア及びOSは、プラットフォーム管理サブシステムにより直接的に提供される場合より、精緻な制御、誤り処理及び変更を提供することができる。IPMIは、DMI、WMI、CIM、SNMPなどの標準的な管理ソフトウェアインタフェースを介し明らかとされるモニタリング及び制御機能を提供する管理ソフトウェアニュートラルであるハードウェアレベルインタフェース仕様である。ハードウェアレベルインタフェースとして、IPMIは、BMC56の上の典型的な管理ソフトウェアスタックのボトムに配置される。BMC56は、システム管理ソフトウェアとプラットフォーム管理ハードウェアとの間のインタフェースを管理し、自律的モニタリング、イベントログ処理及びリカバリ制御を提供し、システム管理ソフトウェアとIPMBとの間のゲートウェイ及び共通に利用可能な他の任意のバスシステム例えば、ICMBIntelligentChassisManagementBusとして利用される。IPMIは、IPMBを用いて追加的管理コントローラをシステムと接続することにより、プラットフォーム管理の拡張をサポートする。IPMBは、主要なシステムモジュール間を経由するI2Cに基づくシリアルバスである。IPMBは、管理コントローラとの通信及び管理コントローラ間の通信に利用される。これは、筺体構成をベースボードと一体化させる標準化された方法を与える。追加的管理コントローラは、典型的には中央のBMCから離れたシステム内部の他のボード上に分散化されているため、ときどきサテライトコントローラと呼ばれる。相互接続を標準化することにより、ベースボードは、異なる管理機能を有する各種筺体に容易に一体化することができる。IPMIの複数の管理コントローラに対するサポートはまた、当該アーキテクチャがスケーラブルであることを意味する。業務用サーバの複雑なマルチボードセットは、余分な電源モニタリング及び制御、RAID、拡張IOなどの異なるサブシステムを監視するための複数の管理コントローラを利用することができる。エントリレベルのシステムはBMCに一体化されるすべての管理機能を有することができるが、IPMIはまたベースボード管理コントローラを介しアクセスされる他のプライベートバスまたはLPC上の非インテリジェントI2C装置IPMIコマンドを扱わない装置へのアクセスに利用可能な低レベルI2Cアクセスコマンドを有する。上述のようなIPMIに準拠した環境で実行されるTPM58はセキュリティを保証することが可能である。なぜなら、その実行は隠され、その格納はメインマイクロプロセッサコンプレックスIA32またはIPFファミリのSMPから隠されているからである。実際、BMC56によりサポートされるTPM58モジュールのプライベートメモリとハードウェアリソースは、ウイルス、誤ったドライバ及びメインマイクロプロセッサコンプレックス上で実行される他の信頼性の低いコードがTPMの秘密を脅かすことを防ぐ。このような秘密には、暗号鍵や実行されたコードのハッシュなどが含まれる。TPM58のBMC56上での実現は、SHVプラットフォームにセキュリティ機能を追加する一方、TPMに特化したコプロセッサを分離するのに伴う費用を最小化する。TPM58へのそれのサブシステムのカプセル化を介した通信は、IPMIプロトコル内のTCPAコマンドセットのトンネル化を介し、またはTCPAメッセージ処理に対し排他的に予約された追加的コマンドデータポートをコプロセッサにエクスポートさせることにより可能となる。前者は、サーバ管理とコプロセッサのセキュリティのハイブリッド機能を採用する初期のシステムに対するハードウェアを必要としないため好ましい。また、TCPAの改ざん耐性要求が、コプロセッサの物理的包囲を拡張するシステムベンダにより満たされ、承認されていない主体がサブシステムの物理的完全性を脅かそうとするものであるか示すことが可能となる。TPM58は、適度な不揮発性格納要件最小8キロバイトを有する。また、TPMの暗号化サービスは、時間が重視されるものでなく、ソフトウェア的に実現可能でありすなわち、TPMは秘密の格納及びダイジェストの署名などの秘密処理を行う一方、SSLなどの一括暗号化がメインマイクロプロセッサにより実行される、これにより、サーバ管理コプロセッサが上記機能により拡張されることを可能にする。また、キープレスレートや電圧などのセキュリティ測定値や、TPM58により利用及び収集可能な他のエントロピー関連データがBMC56により現在収集され、情報がTPM58にわたされるすなわち、BMCは、警告のために温度および電圧を測定する。このエントロピーの収集温度センサの読取りなどは、擬似乱数生成器の算術的ソフトウェアにより実現に比較して、RNGRandomNumberGenerationを向上させることが可能である。また、TPMは電力損失の検出及び追跡を行う必要があるため、BMC58は、電力損失データを追跡し、実際にマイクロプロセッサコンプレックスへのパワーオングッドpower-on-good信号を限定する必要がある。図4は、図3を参照して説明されたようなベースボード管理システムの暗号化サービスモジュールを実現するための一般的プロセス70を詳細に示す。BMC最初に及びブートシステムの初期リセット72の後、ハードウェア自己テストが実行される74。成功すると仮定すると、安全な信頼性の高いシステムの一部を構成しているか確認するため、ブートブロック記述子がテストされる。安全なシステムの一部を構成している場合、ブートブロックがTPMに読み込まれ82、BIOS完全性を検証するため、ハッシュ処理または他の暗号化サービスが実行される86。ブートブロックが認証されると、認証された安全な状態がオペレーティングシステムに送信され90、そうでない場合には、失敗が記録される76。あるいは、ハードウェア自己テストが失敗した場合には、ブートプロセスを失敗とすることも可能であり76及び90、あるいは計算プラットフォームが信頼性の高いシステムの一部でない場合には、安全でない状態のフラグがオペレーティングシステムにわたすようにすることも可能である84。BMCは、メインCPUコンプレックスへの電力オンリセット信号を制御するという点で主要なエージェントであり、このため、メインCPUからの第1のコードフェッチの前に、ブートブロックの認証プロセスを実行することができるすなわち、低速のBMCTPMマイクロプロセッサにおいて認証論理が実行されるまで、リセットからメインのCPUを取り出さない。実際、メインCPUへのこれらのアサートした制御ラインの安全性資格が設置される。上記方法及びシステムを実現するソフトウェアは、実行対象の命令群としてコンピュータプラットフォームまたはシステムのメモリに格納することが可能である。さらに、上記方法及びシステムを実行するための命令は、フラッシュメモリ、磁気ディスク及び光ディスクを含む他の形態のマシーン読み出し可能メディアに格納することが可能である。例えば、本発明の方法は、ディスクドライブまたはコンピュータ読み出し可能メディアドライブを介しアクセス可能な磁気ディスクや光ディスクなどのマシーン読み出し可能メディアに格納することが可能である。さらに、この命令は、圧縮された形式または実行可能な形式によりデータネットワークを介し計算装置にダウンロードすることが可能である。あるいは、上記方法及びシステムを実行するための論理は、LSILarge-ScaleIntegrated回路などの個別のハードウェアコンポーネント、ASICApplication-SpecificIntegratedCircuit、EEPROMElectricallyErasableProgrammableRead-OnlyMemoryなどのファームウェア、あるいは電気、光、音響及び他の形態の伝搬信号例えば、無線または赤外線光信号などを介し情報を中継する空間的に遠隔のコンピュータなどの追加的なコンピュータ及びまたはマシーン読み出し可能メディアにおいて実現可能である。明細書中における実施例、一実施例、いくつかの実施例あるいは他の実施例の表現は、当該実施例に関し説明された機能、構成または特徴が少なくとも一部の実施例に含まれるが、必ずしも本発明のすべての実施例に含まれるわけではないことを意味している。実施例、一実施例またはいくつかの実施例などの様々な態様は、必ずしもすべてが同一の実施例を言及しているわけではない。本明細書において、コンポーネント、機能、構成または特徴が含まれてもよい、含まれうるまたは含むことが可能であると記載されている場合、当該コンポーネント、機能、構成または特徴が含まれる必要はない。明細書または請求項においてある要素を示す場合、それは当該要素が1つのみ存在することを意味するものではない。明細書または請求項が追加的要素を示す場合、それは当該追加的要素が複数存在することを排除するものではない。本開示の利益を有する当業者は、上記説明及び図面からの他の多くの変形が、本発明の範囲内において可能であると理解するであろう。従って、本発明の範囲を規定するのは、任意の補正を含む以下の請求項である。