(57)【要約】  一実施例では、プロセッサに接続される周辺コントローラは、ストレージコントローラを有することができる。このストレージコントローラは、周辺コントローラに接続される不揮発性ストレージへのアクセスを制御可能である。ストレージは、セキュアパーティションとオープンパーティションの双方を含むものであってもよく、ストレージコントローラは、プロセッサがセキュアモードにあるときに限ってセキュアパーティションへのアクセスを可能にすることができる。さらに、第三者のコードの実行などの非セキュア処理中、セキュアパーティションの可視性が阻止できる。他の実施例が開示及び請求される。
2013539106.tif 000002
【特許請求の範囲】
【請求項１】
命令を実行するプロセッサと、
第１リンクを介し前記プロセッサに接続される周辺コントローラであって、前記周辺コントローラに接続される不揮発性ストレージを制御するストレージコントローラを有する前記周辺コントローラと、
を有する装置であって、
前記ストレージコントローラは、セキュアモードにおいて前記不揮発性ストレージのセキュアパーティションへのアクセスを可能にし、前記セキュアモード以外では前記セキュアパーティションの可視性を阻止する装置。
【請求項２】
前記周辺コントローラはさらに、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）を格納するフラッシュメモリとインタフェースをとるためのフラッシュインタフェースを有する、請求項１記載の装置。
【請求項３】
前記ＢＩＯＳの少なくとも一部は、システム処理中に前記セキュアパーティションに格納される、請求項２記載の装置。
【請求項４】
少なくとも１つのシステムパスワードは、前記セキュアパーティションに格納される、請求項２記載の装置。
【請求項５】
前記プロセッサは、前記セキュアモードへのエントリを示すため、システムマネージメントインタラプト（ＳＭＩ）信号を前記周辺コントローラに送信し、
前記ストレージコントローラは、前記ＳＭＩ信号に応答して前記セキュアパーティションを開く、請求項１記載の装置。
【請求項６】
前記ストレージコントローラは、前記セキュアパーティションへの格納前にデータを暗号化する、請求項５記載の装置。
【請求項７】
前記不揮発性ストレージは、非セキュアモードにより実行されるアプリケーションのためのアプリケーション情報への高速キャッシュアクセスを提供する、請求項１記載の装置。
【請求項８】
前記ＢＩＯＳは、前記セキュアパーティションを生成し、前記ストレージコントローラの複数のバウンダリレジスタにおいて前記セキュアパーティションの領域を設定し、前記生成後に前記セキュアパーティションをロックする、請求項２記載の装置。
【請求項９】
前記ＢＩＯＳは、非セキュアモードにおいて前記セキュアパーティションの一部へのリードアクセスを可能にし、前記非セキュアモードにおいて前記一部へのライトアクセスを阻止する、請求項８記載の装置。
【請求項１０】
システムの信頼されたモードの信頼されたコードを用いて、前記システムのファームウェアストレージから分離した前記システムの不揮発性ストレージのセキュアパーティションであって、信頼されない動作モード中は隠される前記セキュアパーティションを設定するステップと、
前記信頼されたモードへのエントリを示すインタラプト信号に応答して、前記セキュアパーティションへのアクセスを可能にするステップと、
前記信頼されたモード中に前記セキュアパーティションにアクセスし、前記セキュアパーティションに格納されている情報を用いて少なくとも１つの処理を実行するステップと、を有する方法。
【請求項１１】
前記不揮発性ストレージに接続されるストレージコントローラのコンフィギュレーションレジスタを介し前記信頼されないモードにおいて隠される前記セキュアパーティションを維持するステップをさらに有する、請求項１０記載の方法。
【請求項１２】
前記信頼されたモードにおいて前記少なくとも１つの処理を実行した後、信頼されないコードが前記セキュアパーティションの少なくとも一部にアクセス可能となるように、前記信頼されないモードにおいて前記セキュアパーティションが可視的であり続けることを可能にするステップをさらに有する、請求項１０記載の方法。
【請求項１３】
前記セキュアパーティションへのさらなるアクセスから前記信頼されないコードを阻止するため、前記インタラプト信号に続く次のインタラプト信号に対して前記セキュアパーティションをロックするステップをさらに有する、請求項１２記載の方法。
【請求項１４】
プロセッサに接続される周辺コントローラのストレージコントローラを介し前記不揮発性ストレージのオープンパーティションに信頼されないコードがアクセスすることを可能にし、前記ストレージコントローラを介し前記不揮発性ストレージのセキュアパーティションへのアクセスから前記信頼されないコードを阻止するステップをさらに有する、請求項１０記載の方法。
【請求項１５】
前記周辺コントローラに接続されるファームウェアストレージにおいてファームウェアにアクセスし、前記ファームウェアストレージからよりも速い前記ファームウェアへのアクセスを可能にするため、前記セキュアパーティションの前記ファームウェアの少なくとも一部を格納するステップをさらに有する、請求項１４記載の方法。
【請求項１６】
実行されるとシステムに、
周辺コントローラに接続される不揮発性ストレージの位置に対するメモリアクセスリクエストを受信するステップとであって、前記不揮発性ストレージは、アプリケーションコードにアクセス可能な第１部分と、前記アプリケーションコードにアクセス不可であって、隠されている第２部分とを有する、前記受信するステップと、
前記システムが信頼されたモードにあるか判断し、前記システムが信頼されたモードにある場合、前記メモリアクセスリクエストを実行するため、前記第２部分へのアクセスを可能にするステップと、
前記システムが信頼されたモードにない場合、前記第２部分へのアクセスを阻止するステップと、を実行させる命令を有する非一時的なマシーン可読記憶媒体を有する物。
【請求項１７】
前記システムが信頼されたモードにない場合、前記不揮発性ストレージが利用不可であることを前記メモリアクセスリクエストの要求元に前記システムが通知することを可能にする命令をさらに有する、請求項１６記載の物。
【請求項１８】
前記メモリアクセスリクエストがライトリクエストである場合、前記システムがデータを暗号化し、前記メモリアクセスリクエストのデータを前記第２部分に格納することを可能にする命令をさらに有する、請求項１６記載の物。
【請求項１９】
前記メモリアクセスリクエストがリードリクエストである場合、前記メモリアクセスリクエストに応答して、前記システムが前記第２部分から取得したデータを解読することを可能にする命令をさらに有する、請求項１８記載の物。
【請求項２０】
前記第２部分へのアクセスを阻止するステップは、前記メモリアクセスリクエストが欠落したストレージ位置に対するものであることを示すため、前記メモリアクセスリクエストの要求元にメッセージを送信することを含む、請求項１６記載の物。
【発明の詳細な説明】
【背景技術】
【０００１】
コンピュータシステムは、システムソフトウェアの一部、すなわち、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）の一部であるシステムマネージメントモード（ＳＭＭ）と呼ばれるモードを実装する。このＳＭＭは、システムマネージメントモードランダムアクセスメモリ（ＳＭＲＡＭ）と呼ばれるシステムメモリにおける小型のプロテクトされた位置から実行される。一部のセキュリティアタックは、メモリへのアクセスに基づく。また、このメモリ領域はスペース制約されている。
【０００２】
このプロテクトされたメモリに加えて、各種パスワードなどの他のセキュア情報がシステムに存在する。システムパスワードの格納位置は、ＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）又はホストにより可視的な不揮発性メモリに含まれ、ホスト（プロセッサやオペレーティングシステム（ＯＳ）など）がそれらを読むことができる。パスワード自体は暗号化可能であるが、悪意のあるユーザは依然としてそれらを削除できる。パスワードが削除又は無効になると、攻撃者は自らのパスワードを設定することが可能になり、各種アタックをもたらす。
【０００３】
ＴＳＥＧ（Ｔｏｐ  Ｓｅｇｍｅｎｔ  ｏｆ  ｍｅｍｏｒｙ）は、ＢＩＯＳ  ＳＭＭランタイム及び特定のデバッグ利用のために設けられたシステムメモリ（ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）など）の一部である。現在のチップセットは、ＢＩＯＳ機能スペースのための４メガバイト（ＭＢ）を有する８メガバイトに当該スペースを制限してもよいが、将来のチップセットでは、これははるかに大きくなりうる。しかしながら、ＴＳＥＧ  ＦＲＡＭのすべてが、４ギガバイト（ＧＢ）以下のホストから取得される。これは、プラットフォーム上の貴重なリソースであり、ＢＩＯＳは、それの利用を最小限にすることを求める（これは、３２ビットＯＳ及びＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）−ＥｘｐｒｅｓｓＴＭシステムにとって特に希少であり、後者のメモリマップドＩ／Ｏは４ＧＢ以下のリソースのさらに多くを取得している）。さらに、セキュリティの懸念のため、ＢＩＯＳは、ＳＭＲＡＭ／ＴＳＥＧの外部をコールしない。従って、ＴＳＥＧ  ＲＡＭは、すべてのＳＭＭベース機能の制限を提供する。さらに、ＢＩＯＳフラッシュデバイスはＯＳ／ホストにより可読であるため、セキュアなＢＩＯＳ専用の不揮発性ＲＡＭストアはない。これはまた、セキュリティの懸念をもたらす。例えば、各種コンフィギュレーション情報が、低電力状態中に非プロテクトＤＲＡＭに格納され、これは、ＤＲＡＭがセルフリフレッシュ状態にある間、悪意のあるユーザが非プロテクトデータにアクセスすることを可能にし得る。
【図面の簡単な説明】
【０００４】
【図１】図１は、本発明の一実施例によるシステムの一部のブロック図である。
【図２】図２は、図１のシステムのさらなるブロック図である。
【図３】図３は、本発明の実施例によるセキュアパーティションとして利用する高速不揮発性ストレージの一部の初期設定のフロー図である。
【図４】図４は、本発明の実施例によるセキュアパーティションを設定するためのさらなる処理の方法のフロー図である。
【図５】図５は、本発明の実施例によるセキュアパーティションを利用する方法のフロー図である。
【図６】図６は、本発明の実施例によるセキュアパーティションに対するアクセスリクエストを処理する方法のフロー図である。
【図７】図７は、本発明の一実施例によるシステムのブロック図である。
【図８】図８は、本発明の他の実施例によるシステムのブロック図である。
【発明を実施するための形態】
【０００５】
各実施例は、ＢＩＯＳ機能及びセキュアなログ処理のためのセキュア不揮発性（ＮＶ）ストアとして高速不揮発性（ＮＶ）メモリの一部を利用する。このように、各種ファームウェア、他のシステムソフトウェア、セキュアテーブル、パスワードなどがシステム実行中に格納可能である（また、関連するプロセッサの低電力状態中に状態を維持してもよい）。図１を参照して、本発明の一実施例によるシステムの一部のブロック図が示される。図１に示されるように、システム１００は、サーバシステム、デスクトップシステム、ラップトップシステム、ネットブック、携帯電話、スマートフォン、モバイルインターネットデバイスなどの何れかのタイプのコンピュータシステムであってもよい。図示されるように、システム１００は、命令を実行するための１以上の処理コアを含む中央処理ユニット（ＣＰＵ）１１０を有する。図示されるように、サーバなどのマルチプロセッサシステムの実現形態では、複数のリンクが、１つのプロセッサソケットであるＣＰＵ１１０を、同様に設定可能な他のプロセッサソケットに接続するため設けられてもよい。プロセッサコアに加えて、例えば、電力管理機能、パフォーマンスモニタリングなどの各種処理を扱うＣＰＵの他のロジックであってもよい統合メモリコントローラ（ＩＭＣ）や非コアロジックなどの他の各種回路がＣＰＵ内に含まれてもよい。
【０００６】
図示されるように、ＣＰＵ１１０は、リンク１１５を介し周辺コントローラハブ（ＰＣＨ）１２０に接続される。一実施例では、リンク１１５は、本発明の範囲はこれに限定されるものでないが、ダイレクトメディアインタフェース（ＤＭＩ）リンクであってもよい。ＰＣＨ１２０は、ＰＣＨに接続可能なシステムの各種周辺コンポーネントのためのインタフェースを提供する。例えば、各種入出力（ＩＯ）デバイス、メモリデバイスなどがＰＣＨ１２０に接続されてもよい。図１の実施例では、このような１つのデバイスは、ＢＩＯＳイメージ及び他のシステムファームウェアを格納可能なフラッシュメモリ１３０などの不揮発性ストレージであってもよい。当該メモリとの通信を可能にするため、ＳＰＩ（Ｓｅｒｉａｌ  Ｐｅｒｉｐｈｅｒａｌ  Ｉｎｔｅｒｆａｃｅ）１２５は、フラッシュメモリ１３０との通信の制御及び実現を提供する。
【０００７】
さらに図示されるように、ＰＣＨ１２０はさらに、他のストレージデバイス、すなわち、不揮発性ストレージ１４０との制御及び通信を提供するストレージコントローラ１２８を有してもよい。一実施例では、ストレージコントローラ１２８は、セキュアパーティションに提供される前に、任意的にデータを暗号化可能である（また、当該パーティションから読み出すときに暗号化されたデータを解読可能である）小型の汎用プロセッサコアとすることができる。このように、ＮＶＲＡＭチップがベースボードから破棄され、読み出しを防ぐことができる。各種実施例では、ＮＶストレージ１４０は、ユーザレベルアプリケーションなどの実行中に迅速な保存処理を可能にするため、フラッシュドライブなどのアプリケーション最適化ストレージであってもよい。すなわち、ＮＶストレージ１４０は、アプリケーション中に利用される情報の迅速なキャッシュのために利用可能な、いわゆる、ソリッドステートストレージデバイスとして機能する。図示されるように、不揮発性ストレージ１４０は、通常のシステム処理中に当該ホストの利用のために利用可能なオープン領域１４０ａを有する。しかしながら、図２に関して説明されるように、ＮＶストレージ１４０はさらに、ホストの利用から隠されたままにすることが可能なセキュアパーティションを含むものであってもよい。すなわち、セキュアパーティションは、システムがＳＭＭなどのセキュア処理モードにない場合、可視的であることが阻止されてもよい。
【０００８】
図２を参照して、図１のシステムの他のブロック図が示される。ここで、システムがＳＭＭなどのプロテクトモードにあるとき、それの可視的なセキュアパーティション１４０ｂを有するＮＶストレージ１４０が示される。すなわち、ＣＰＵ１１０がＳＭＭモードに入るとき、図２に示されるように、それは、信号１１８をＰＣＨ１２０に送信する。各種実施例では、当該信号は、システムマネージメントインタラプト（ＳＭＩ）信号又はバーチャルレガシワイヤ（ＶＬＷ）信号であってもよい。他の実施例は、ＳＭＭモード中にのみレジスタが変更されることを可能にし、これにより、ＶＬＷメッセージを介し実現される同一のセキュリティ機構を提供するＳＭＭモードにおけるリード・ライト（ＲＷ）として定義されるストレージコントローラなどのコンフィギュレーションレジスタに設定されるときに限って可視的であるセキュアな隠された部分を提供する。このＶＬＷ又は対応するＳＭＩ信号は、ＣＰＵ処理コアが現在ＳＭＩの内部にあることを示す。この状態情報は、ＰＣＨ１２０の内部に格納される。ストレージコントローラ１２８は、内部のＳＭＭ状態遷移の指示を受信し、セキュアパーティション１４０ｂを開く。ＳＭＩのエンドにおいて、ＢＩＯＳは、セキュアパーティションを再ロックするため、ＰＣＨ１２０のＳＭＩ（ＥＯＳ）ビットのエンドをクリアする。これが実行されるとき、ストレージコントローラ１２８は当該パーティションを隠す。従って、セキュアパーティションは、後述されるように、ＢＩＯＳがＳＭＭプロテクションの外部でホストによりアドレッシングされることを可能にすることを選択しない場合、ＳＭＩ中に限って可視的である。
【０００９】
さらに、ストレージコントローラ１２８は、セキュアパーティションの少なくとも一部の特権をロックするため設けられる。これはさらに、後述されるように、セキュアパーティションの設定中にＢＩＯＳ  ＳＭＭハンドラにより規定されるようなセクタへのホストの読み出し専用アクセスを可能にする。一部の実施例では、これらの領域は、エラーログ、ＢＩＯＳアップデート、データテーブルなどを格納するため、１００キロバイトから数メガバイトまでの範囲とすることができる。本発明の範囲はこれに限定されるものでないが、ＢＩＯＳイメージ、他のシステムファームウェア又はソフトウェア、システムパスワード及び他のセキュア情報などの各種セキュア情報がセキュアパーティションに格納可能である。図１及び２の実施例では当該ハイレベルビューにより示されたが、本発明の範囲はこれに限定されず、各種実施例では、さらなるコンポーネントがシステムに存在しうることが理解されるであろう。
【００１０】
初期的なプラットフォームのパワーオンセルフテスト（ＰＯＳＴ）中、ＢＩＯＳは、セキュアなＳＭＭの利用のためにＮＶストレージ１４０の一部を設定可能である。図３を参照して、本発明の実施例によるセキュアパーティションとして利用される高速不揮発性ストレージの一部の初期的な設定のフロー図が示される。図３に示されるように、方法２００は、不揮発性ストレージに接続される周辺コントローラハブのストレージコントローラを用いて実現されてもよい。図示されるように、方法２００は、プラットフォームリセット信号を受信することによって開始される（ブロック２１０）。当該信号に応答して、ストレージコントローラは、不揮発性ストレージを初期化する（ブロック２２０）。ストレージコントローラは、典型的には、ウェアレベリング、スペアリング、ブロックマイグレーション及びコンパクションなどの信頼性及びパフォーマンスのある各種機能を実現するＮＡＮＤフラッシュなどの実際のストレージメディアを管理するための機能及び命令処理のためのホストインタフェースを管理するための計算タスク系列及びリアルタイムオペレーティングシステムを有する埋め込み処理サブシステムであってもよいことに留意されたい。この埋め込みサブシステムは、ホストからのリード／ライト命令の受付前のリセット指示に応答して、自らを初期化する。次に、セキュアパーティションがすでに作成されたか判断される（ダイヤモンド２２５）。例えば、セキュアパーティションが存在するか示すための指示が、ストレージコントローラの制御レジスタに設定されてもよい。このような部分が生成されていない場合、制御はブロック２３０に移行し、ＢＩＯＳはセキュアパーティションを生成することが可能とされる。そうでない場合、制御はブロック２４０に移行し、ＢＩＯＳ  ＳＭＭハンドラなどを介しＢＩＯＳモードにおいて、以前に生成されたセキュアパーティションが再提供可能である。すなわち、各種実施例では、不揮発性セキュアパーティションがＢＩＯＳにより生成されると、ＢＩＯＳ  ＳＭＭハンドラのみが当該パーティションを再提供可能である。
【００１１】
制御は次にブロック２５０に移行し、システム処理は、例えば、何れかのプリブートアクティビティを終了し、オペレーティングシステムに制御オフをわたすことによって、継続されてもよい。当該セキュアパーティションの設定後、システムのセキュアモードにおいてエージェントが動作することによってのみ可視的となるように、それは隠されてもよい。従って、各種実施例では、当該セキュアパーティションへのアクセスは、システムがシステムマネージメントモードにあるときに限って可能とされてもよい。これは、例えば、システムがシステムマネージメントモードにあるときに設定されるＰＣＨの制御レジスタのフラグなどによって決定されてもよい。しかしながら、アクティブなＳＭＭを示すための他の何れかの手段が、他の実施例により実現可能である。例えば、ＳＭＭインタプロセッサインタラプト（ＩＰＩ）などのＣＰＵ専用システムマネージメントモードインタラプトは、ホストＣＰＵがＳＭＭにあることを示すのに利用可能であり、ＣＰＵローカルアドバンストプログラマブルインタラプトコントローラ（ＡＰＩＣ）は、当該“ｉｎ−ｓｍｍ”指示をＰＣＨに伝えることが可能である。
【００１２】
セキュア情報のパーティションへの格納を含む、セキュアパーティションの設定に関するさらなる詳細が、本発明の実施例によるセキュアパーティションを設定するためのさらなる処理の方法のフロー図である図４に関して示すことが可能である。図４に示されるように、方法３００は、ＰＯＳＴ  ＢＩＯＳの開始に応答して開始される。まず、セキュアパーティションがすでにセットアップされているか判断される（ダイヤモンド３２０）。設定されていない場合、制御はブロック３３０に移行し、セキュアパーティションがセットアップ及び設定される。より詳細には、所望の情報が、各種位置からの情報を含むセキュアパーティションに格納される。例えば、一般性を失うことなく、ＢＩＯＳはデータを何れかからのパーティションにプッシュできる。何れの情報を格納すべきかの判断は、所与の信頼機構に基づきＢＩＯＳ次第であってもよい。例えば、セキュアサービスパーティションは、セキュアなインタプロセッサマネージメントインタフェース（ＩＰＭＩ）−ＫＣＳ／ブロックトランスファ（ＢＴ）通信経路を介して、ベースボードマネージメントコントローラ（ＢＭＣ）からＢＩＯＳにロード可能である。さらに、セキュアパーティションの設定を有効にするため、セキュアパーティションのベース及びリミットレジスタが、これに従って設定されてもよい。これらのレジスタは、ＰＣＨのストレージコントローラに配置されるか、又はアクセス可能であってもよい。例えば、ベースレジスタは、セキュアパーティションの開始に対応する位置に設定されてもよい（ホストに自由にアクセス可能な不揮発性ストレージのセグメントの先頭にあってもよい）。さらに、リミットレジスタはセキュアパーティションのトップエンドに設定されてもよい。上述されるように、各種処理中、これらのベース及びリミットレジスタは、ＳＭＭ処理中に再設定されてもよい。
【００１３】
図４をさらに参照して、制御は次にブロック３４０に移行し、ＢＩＯＳはＳＭＩイベント中にセキュアなストレージパーティションを利用可能である。本発明の範囲はこれに限定されないが、ＳＭＭコアは、当該ストレージを用いて、ＵＥＦＩ（Ｕｎｉｆｉｅｄ  Ｅｘｔｅｎｓｉｂｌｅ  Ｆｉｒｍｗａｒｅ  Ｉｎｔｅｒｆａｃｅ）プレ初期化（ＰＩ）ＳＭＭドライバ実行（ＤＸＥ）設計のため、さらなるＳＭＭドライバ／ハンドラ／機能を格納することができる。ここでは、各ＳＭＭハンドラは、当該ストレージから“ロード”可能なＰＥ／ＣＯＦＦ（Ｐｏｒｔａｂｌｅ  Ｅｘｅｃｕｔａｂｌｅ  ａｎｄ  Ｃｏｍｍｏｎ  Ｏｂｊｅｃｔ  Ｆｉｌｅ  Ｆｏｒｍａｔ）実行可能イメージである。また、ＳＭＭドライバは、当該領域を用いてエラーログを格納可能である。これらは、ＰＣＩ、メモリシングルビットエラー（ＳＢＥ）及びマルチビットエラー（ＭＢＥ）を含むことができる。当該領域はまた、ＵＥＦＩ  ＰＩファームウェアボリュームなどのフルシステムＢＩＯＳアップデートを格納可能であり、高可用性サーバのため、リセット数は制限され、これにより、ＢＩＯＳアップデート系列は、ホストからＳＭＭドライバに送信可能であり、次のリセットにわたってアプリケーション用のＳＭＭセキュアストレージにキュー／格納可能である。当該領域はまた、ＡＣＰＩ（Ａｄｖａｎｃｅｄ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  ａｎｄ  Ｐｏｗｅｒ  Ｉｎｔｅｒｆａｃｅ）システム状態Ｓ５においてＢＩＯＳにより格納され、プラットフォーム設定が“変更”されなかったときにＳ３再スタート又は後続のＳ４／Ｓ５においてリプレイ又はリプログラミングされるチップセット設定を含みうる。当該領域はまた、ＳＭＢＩＯＳ及びＡＣＰＩテーブルを格納するのに利用され、これにより、“ギャップ”中に、信頼されていない第三者のドライバ／ローダが実行されると、テーブルはプロテクト可能であり、及び／又はＩｎｔｅｌＴＭ  Ｔｒｕｓｔｅｄ  Ｅｘｅｃｕｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ（ＴＸＴ）  ＳＥＮＴＥＲイベントにより開始されるものなど、信頼された環境が開始すると、テーブルはＢＩＯＳ  ＳＭＭにより信頼された環境のためメモリにコピー可能である。任意的には、ＢＩＯＳは、セキュアパーティションをＳＭＩ−ｔｏ−ＳＭＩベースによりホストにオープンにしたままにすることができる。すなわち、一部の利用モデルでは、セキュアパーティションは、１つのＳＭＭモードの終了時にオープンにされたままであってもよい。しかしながら、このような実現形態では、定期的なＳＭＭモードは、以下のＳＭＭにおいて、セキュアパーティションが信頼されていないエージェントによるそれへの自由なアクセスを阻止するためロック可能である。さらに図４を参照して、最終的に制御はブロック３６０にわたされ、ＯＳはブートされる。
【００１４】
このような設定処理後、以降のＳＭＩ信号に対して、ＢＩＯＳ  ＳＭＭハンドラが呼び出され、すべてのコアがＳＭＭランデブに入るようにしてもよい。図５を参照して、本発明の実施例によりセキュアパーティションを利用する方法のフロー図が示される。図５に示されるように、方法４００は、ＳＭＭハンドラが呼び出されると開始される（ブロック４１０）。その後、制御はブロック４２０に移行し、ＢＩＯＳハンドラはセキュアパーティションを利用する。例えば、高速で各種処理を実現するため当該高速メモリは、ＢＩＯＳイメージの一部を実行するため、又はパスワードなどのセキュア情報にアクセスするためアクセス可能である。
【００１５】
セキュアパーティションのこのような利用後、制御はダイヤモンド４３０に移行し、セキュアパーティションがホストにオープンなままにできるか判断される。オープンなままにできる場合、ブロック４４０に示されるように、パーティションはホストに可視的にされたままである。そうでない場合、制御はブロック４５０に移行し、セキュアパーティションはロックされる。例えば、不揮発性ストレージに関するストレージコントローラの制御レジスタにあるフラグは、セキュアパーティションがロックされていることを示すよう設定されてもよい。従って、不揮発性ストレージの当該部分は、ホストのアクセス又はさらにビューに対して非可視的である。
【００１６】
ブロック４４０と４５０の双方から、制御はブロック４６０に移行し、ＳＭＩ（ＥＯＳ）インジケータのエンドが設定され、制御はブロック４７０に移行し、ＢＩＯＳ  ＳＭＭハンドラがＯＳに制御を返す。他の実施例では、ＯＳに制御を返す代わりに、制御はシステムの他のファームウェアなどの他のシステムソフトウェアに返されてもよい。図５の実施例において当該実現形態により示されたが、本発明の範囲がこれに限定されないことが理解されるであろう。
【００１７】
上述されるように、当該セキュアパーティションは、ホストの動作モード中にアクセス又はさらに閲覧からプロテクトされてもよい。図６を参照して、本発明の実施例によるセキュアパーティションに対するアクセスリクエストを処理するための方法のフロー図が示される。図６に示されるように、方法５００は、ランタイムフローの実行中に開始される。当該フロー中、ブロックリード／ライトリクエストが、不揮発性ホストメモリの先頭の上にある高速不揮発性ストレージの位置に受信される（ブロック５２０）。次に、システムがＳＭＭモードなどのセキュアモードにあるか判断される（ダイヤモンド５３０）。上述されるように、当該判定は、ＰＣＨにあるＳＭＭフラグを参照して行われてもよい。システムがセキュアモードにない場合、制御はブロック５３５に移行し、当該リクエストは利用不可であるとして又は欠落したストレージ位置に対するものであるとして拒絶される。
【００１８】
他方、システムがセキュアモードにあると判断される場合、制御はダイヤモンド５３０から５４０に移行し、当該リクエストが、ベース及びリミットレジスタを参照して決定されるようなセキュアパーティション範囲内に属するか判断される。セキュアパーティション範囲内に属さない場合、制御は上述されたブロック５３５に移行する。セキュアパーティション範囲内に属する場合、有効なリクエストがセキュアパーティション内にある場合、制御はダイヤモンド５５０に移行する。そこでは、当該リクエストがリードリクエストであるか判断される。リードリクエストである場合、当該リードリクエストは、セキュアパーティションの位置からデータにアクセスし、セキュアパーティションにある間に当該データが暗号化されていた場合には当該データを解読することによって完了する。すなわち、セキュアパーティションに格納される情報のさらなるプロテイションを提供する各種実現形態では、情報の暗号化が行われる。
【００１９】
他方、当該リクエストがライトリクエストである場合、制御はブロック５６０に移行し、当該データはセキュアパーティションに格納される。再び、実現形態が暗号化を提供している場合、ストレージコントローラは、セキュアパーティションへのそれの格納前にデータを暗号化してもよい。図６の実施例にでは当該実現形態が示されたが、本発明の範囲がこれに限定されないことが理解されるであろう。
【００２０】
各実施例は多数の異なるシステムタイプにより実現されてもよい。図７を参照して、本発明の実施例によるシステムのブロック図が示される。図７に示されるように、マルチプロセッサシステム６００は、ポイント・ツー・ポイントインタコネクトシステムであり、ポイント・ツー・ポイントインタコネクト６５０を介し接続される第１プロセッサ６７０及び第２プロセッサ６８０を有する。図７に示されるように、プロセッサ６７０，６８０のそれぞれは、可能性としてはより多くのコアがプロセッサにあってもよいが、第１及び第２プロセッサコア（すなわち、プロセッサコア６７４ａ，６７４ｂ及びプロセッサコア６８４ａ，６８４ｂ）を含むマルチコアプロセッサであってもよい。
【００２１】
図７をさらに参照して、第１プロセッサ６７０はさらに、メモリコントローラハブ（ＭＣＨ）６７２と、ポイント・ツー・ポイント（Ｐ−Ｐ）インタフェース６７６，６７８とを有する。同様に、第２プロセッサ６８０は、ＭＣＨ６８２と、Ｐ−Ｐインタフェース６８６，６８８とを有する。図７に示されるように、ＭＣＨ６７２，６８２は、これらのプロセッサを各自のメモリ、すなわち、各プロセッサにローカルに付属されるシステムメモリ（ＤＲＡＭなど）の一部であってもよいメモリ６３２，６３４に接続する。第１プロセッサ６７０及び第２プロセッサ６８０はそれぞれ、Ｐ−Ｐインタコネクト６５２，６５４を介しチップセット６９０に接続されてもよい。図７に示されるように、チップセット６９０は、Ｐ−Ｐインタフェース６９４，６９８を有する。
【００２２】
さらに、チップセット６９０は、Ｐ−Ｐインタコネクト６３９によりハイパフォーマンスグラフィックスエンジン６３８とチップセット６９０とを接続するためのインタフェース６９２を有する。さらに、チップセット６９０は、本発明の実施例による１以上のセキュア又は隠されたパーティションを有することが可能な高速不揮発性ストレージであってもよいストレージ６１９とインタフェースをとるためのストレージコントローラであってもよいインタフェース６９５を有してもよい。さらに、チップセット６９０は、インタフェース６９６を介し第１バス６１６に接続されてもよい。図７に示されるように、各種入出力（Ｉ／Ｏ）デバイス６１４は、第１バス６１６と第２バス６２０とを接続するバスブリッジ６１８と共に、第１バス６１６に接続される。一実施例では、キーボード／マウス６２２、通信デバイス６２６、ディスクドライブなどのデータストレージユニット６２８又はコード６３０を有する他のマスストレージデバイスなどを含む各種デバイスが、第２バス６２０に接続されてもよい。さらに、オーディオＩ／Ｏ６２４が第２バス６２０に接続されてもよい。
【００２３】
上述されるように、各実施例は、携帯電話などのモバイルデバイスを含む他のタイプのシステムに搭載可能である。図８を参照して、本発明の他の実施例によるシステムのブロック図が示される。図８に示されるように、システム７００は、モバイルデバイスであってもよく、各種コンポーネントを含むものであってもよい。図８のハイレベルビューに示されるように、当該デバイスの中央処理ユニットであってもよいアプリケーションプロセッサ７１０は、ストレージ７１５を含む各種コンポーネントと通信する。各種実施例では、ストレージ７１５は、プログラムとデータストレージ部分との双方を含むものであってもよく、本発明の実施例によるセキュアパーティションへのセキュアストレージを提供することが可能である。アプリケーションプロセッサ７１０はさらに、各種実施例では、実行時にディスプレイに出現可能なタッチキーパッドなどの１以上の入力デバイスとディスプレイとを含むものであってもよい入出力システム７２０に接続されてもよい。
【００２４】
アプリケーションプロセッサ７１０はまた、出力用の音声及びデータ通信などの信号を調整すると共に、入力された電話及び他の信号を調整するベースバンドプロセッサ７３０に接続される。図示されるように、ベースバンドプロセッサ７３０は、送信機能と受信機能との双方を可能にする送受信機７４０に接続される。さらに、送受信機７４０は、無線ワイドエリアネットワーク（３Ｇ又は４Ｇネットワークなど）及び／又は無線ローカルエリアネットワーク（ＩＥＥＥ８０２．１１規格によるいわゆるＷＩ−ＦＩＴＭネットワークやＢＬＵＥＴＯＯＴＨ（登録商標）など）を介し、音声及びデータ信号を送受信可能な何れかのタイプのアンテナとすることが可能なアンテナ７５０と通信してもよい。図示されるように、システム７００はさらに、モバイル環境における処理を可能にするための充電可能なバッテリを有する充電可能な電源７２５を有してもよい。図８の実施例では当該実現形態により示されたが、本発明の範囲はこれに限定されるものでない。
【００２５】
各実施例はコードにより実現されてもよいが、命令を実行するようシステムをプログラムするのに利用可能な命令を格納した記憶媒体に格納されてもよい。当該記憶媒体は、限定することなく、フロッピー（登録商標）ディスク、光ディスク、ソリッドステートドライブ（ＳＳＤ）、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ−ＲＷ（ＣＤ−Ｒｅｗｒｉｔａｂｌｅ）及び光磁気ディスクを含む何れかのタイプのディスク、ＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）やＳＲＡＭ（Ｓｔａｔｉｃ  ＲＡＭ）などのＲＡＭ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、フラッシュメモリ、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、磁気若しくは光カードなどの半導体デバイス、又は電子命令を格納するのに適した他の何れかのタイプの媒体を含むものであってもよい。
【００２６】
ストレージコントローラはＳＡＴＡ（Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ）コントローラと共にＰＣＨにおいて実現されてもよいため、各実施例は、ディスクドライブなどのマスストレージに暗号化されて情報の少なくとも一部を存続するための暗号化ハードドライブインタフェースなど、他の新たな技術により利用可能である。
【００２７】
本発明が限定数の実施例に関して説明されたが、当業者は、そこから多数の改良及び変形を理解するであろう。添付した請求項はこのようなすべての改良及び変形を本発明の真の趣旨及び範囲内に属するものとしてカバーすることが意図されている。
【図１】
2013539106.tif 000003
【図２】
2013539106.tif 000004
【図３】
2013539106.tif 000005
【図４】
2013539106.tif 000006
【図５】
2013539106.tif 000007
【図６】
2013539106.tif 000008
【図７】
2013539106.tif 000009
【図８】
2013539106.tif 000010
【国際調査報告】
2013539106.tif 000011
2013539106.tif 000012
2013539106.tif 000013