(57)【特許請求の範囲】
【請求項１】
永続的セキュリティシステム（１０）であって、
オペレーティングシステム（ＯＳ）（３４）と、基本入出力システム（ＢＩＯＳ）（２４）と、ハードディスクドライブ（ＨＤＤ）（４４）とを備えるコンピューティングシステム（１２）
を備え、
前記ＯＳ（３４）は、前記ＢＩＯＳ（２４）へのコールを開始し、
前記ＢＩＯＳ（２４）は、前記コンピューティングシステム（１２）のブートオペレーション中に、セキュリティルーチン（３２）のインスタンスが前記ＨＤＤ（４４）に記憶されているか否かを判断し、記憶されていない場合に、前記セキュリティルーチン（３２）のインスタンスを前記ＨＤＤ（４４）へ書き込む
永続的セキュリティシステム。
【請求項２】
前記ＨＤＤ（４４）は、
暗号化されたＨＤＤ（４４）
を備える
請求項１に記載の永続的セキュリティシステム。
【請求項３】
前記ＯＳ（３４）は、ＨＤＤ（４４）の解読認証の後に、前記ＢＩＯＳ（２４）への前記コールを開始するように構成されている
請求項１に記載の永続的セキュリティシステム。
【請求項４】
前記セキュリティルーチン（３２）のインスタンスは、前記ＢＩＯＳ（２４）にある
請求項１に記載の永続的セキュリティシステム。
【請求項５】
永続的セキュリティ方法であって、
オペレーティングシステム（ＯＳ）（３４）からコンピューティングシステム（１２）の基本入出力システム（ＢＩＯＳ）（２４）へのコールを開始することと、
前記ＢＩＯＳ（２４）が、前記コンピューティングシステム（１２）のブートオペレーション中に、セキュリティルーチン（３２）のインスタンスがＨＤＤ（４４）に記憶されているか否かを判断することと、
前記セキュリティルーチン（３２）のインスタンスが前記ＨＤＤ（４４）に記憶されていない場合に、前記ＢＩＯＳ（２４）が、前記セキュリティルーチン（３２）のインスタンスを前記コンピュータシステム（１２）のハードディスクドライブ（ＨＤＤ）（４４）へ書き込むことと
を含む永続的セキュリティ方法。
【請求項６】
ＨＤＤ（４４）の解読認証の後に、前記ＢＩＯＳ（２４）の前記コールを開始すること
をさらに含む請求項５に記載の永続的セキュリティ方法。
【請求項７】
前記セキュリティルーチン（３２）のインスタンスが前記ＨＤＤ（４４）に記憶されていない場合に、前記ＨＤＤ（４４）への書き込みのために、前記ＢＩＯＳ（２４）から前記セキュリティルーチン（３２）のインスタンスをリトリーブ（retrieve）すること
をさらに含む請求項５に記載の永続的セキュリティ方法。
【請求項８】
前記ＢＩＯＳ（２４）へのコールを開始する前に、前記ＨＤＤ（４４）上にあるデータを解読するための鍵（６２）を取得すること
をさらに含む請求項５に記載の永続的セキュリティ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、永続的セキュリティシステム及び永続的セキュリティ方法に関する。
【背景技術】
【０００２】
コンピューティングシステムは、時に、ハードディスクドライブ（ＨＤＤ）のフルボリューム／フルディスク暗号化を利用することがある。この場合、データは、暗号化されたフォーマットでＨＤＤに記憶され、その後、そのデータをユーザ又は別のアプリケーションに提供する前に解読されなければならない。
しかしながら、ＨＤＤは暗号化された状態にあるために、鍵又は他のタイプの解読コンポーネントが、（たとえば、認証オペレーションに応答して）取得又は生成されるまで、通常、ＨＤＤからデータを得ることに関するオペレーション及びＨＤＤにデータを書き込むことに関するオペレーションを延期しなければならず、それによって、特にコンピューティングシステムのブート中、ＨＤＤのアクセス性は制限されることになる。
【発明の概要】
【課題を解決するための手段】
【０００３】
本発明にかかるシステムは、永続的セキュリティシステム（１０）であって、オペレーティングシステム（ＯＳ）（３４）と、基本入出力システム（ＢＩＯＳ）（２４）と、ハードディスクドライブ（ＨＤＤ）（４４）とを備えるコンピューティングシステム（１２）を備え、前記ＯＳ（３４）は、前記ＢＩＯＳ（２４）へのコールを開始して、前記ＢＩＯＳ（２４）に、セキュリティルーチン（３２）のインスタンスを前記ＨＤＤ（４４）へ書き込ませるように構成されている。
【図面の簡単な説明】
【０００４】
次に、本発明及びその利点のより完全な理解のために、添付図面と共に取り入れられた以下の説明を参照する。
【０００５】
【図１】永続的セキュリティシステムの一実施形態を示す図である。
【図２】永続的セキュリティ方法の一実施形態を示すフロー図である。
【発明を実施するための形態】
【０００６】
本発明の好ましい実施形態及びその利点は、図面の図１及び図２を参照することによって最も良く理解される。同じ符号は、さまざまな図面の同じ部分及び対応する部分に使用されている。
【０００７】
図１は、永続的セキュリティシステム１０の一実施形態を示すブロック図である。
手短に言えば、システム１０の実施形態は、暗号化されたハードディスクドライブ（ＨＤＤ）上へ基本入出力システム（basic input/output system:ＢＩＯＳ）によって自動的にロードされるコンピューティングシステムの永続的セキュリティコンポーネント（及び／又は検証された、暗号化されたＨＤＤ上でのその存在（presence））を提供して、ＨＤＤがあるコンピューティングシステムがブートされるごとに、セキュリティコンポーネントが、その実行のために、ＨＤＤからオペレーティングシステムに利用可能になるようにする。
したがって、たとえセキュリティコンポーネントが不注意又は故意にＨＤＤから削除／消去されたとしても、システム１０の実施形態は、コンピューティングシステムのブート中に、ＢＩＯＳに、セキュリティコンポーネントをＨＤＤ上へ自動的に再ロードさせ、それによって、コンピューティングシステムの各ユーザセッションの間、コンピューティングシステム上にその存在を維持する。
【０００８】
図１に示す実施形態では、システム１０は、コンピューティングシステム１２を備える。コンピューティングシステム１２は、マザーボード２０上に配置される組み込みファームウェア１６及びトラステッドプラットフォームモジュール（trusted platform module:ＴＰＭ）１８を有する。
コンピューティングシステム１２は、任意のタイプのコンピューティングデバイスを備えうる。この任意のタイプのコンピューティングデバイスは、デスクトップコンピュータ、ノートブックコンピュータ、携帯情報端末、及びタブレットコンピュータ等であるが、これらに限定されるものではない。
【０００９】
図１に示す実施形態では、組み込みファームウェア１６は、（たとえば、フラッシュメモリコンポーネントに記憶されている）ＢＩＯＳ２４を備える。ＢＩＯＳ２４には、ブートルーチン３０及びアセット（asset）保護セキュリティルーチン３２が記憶されている。
ブートルーチン３０及びセキュリティルーチン３２は、中央処理装置（ＣＰＵ）４０によって実行可能な一組の命令を備える。
いくつかの実施形態では、ブートルーチン３２は、（たとえば、電源投入イベントに応答して、又は、スリープ、ハイバネーション（hibernation）若しくは他のタイプの電力削減動作モードからのウェイク（wake）イベントに応答して）コンピューティングシステム１２のブートオペレーション中に実行される一組の命令を備える。この一組の命令は、パワーオンセルフテスト（power-on self-test:ＰＯＳＴ）ルーチン等であるが、これに限定されるものではない。
【００１０】
図１に示す実施形態では、アセット保護セキュリティルーチン３２は、アセット追跡及び／又は報告システムの一部として使用される一組の命令を備える。
たとえば、いくつかの実施形態では、アセット保護セキュリティルーチン３２によって、コンピューティングシステム１２のオペレーティングシステム（ＯＳ）３４は、通信ネットワーク３８（たとえば、インターネット又は他のタイプの有線通信ネットワーク若しくは無線通信ネットワーク）を介してリモートセキュリティサービス３６とインターフェースして、コンピューティングシステム１２のセキュリティイベントが存在するか否かを判断することが可能になり、且つ／又は、セキュリティサービス３６に情報を提供してコンピューティングシステム１２の追跡及び／若しくは回復を容易にすることが可能になる。
コンピューティングシステム１２のセキュリティイベントは、たとえば、コンピューティングシステム１２が紛失又は盗難されたとしてセキュリティサービス３６に報告された場合に存在し得る。
したがって、作動中、コンピューティングシステム１２が通信ネットワーク３８に接続されたことに応答して、アセット保護セキュリティルーチン３２は、ＯＳ３４によって実行され、ＯＳ３４にセキュリティサービス３６と通信及び／又はインターフェースさせるように構成され、それによって、コンピューティングシステム１２のセキュリティイベント（たとえば、インターネットプロトコル（ＩＰ）アドレスのロギング及び／又は他の動作）が存在する場合に、セキュリティサービス３６は、コンピューティングシステム１２に関する特定の動作を行って、コンピューティングシステム１２の追跡及び／又は回復を容易にすることが可能になる。
図１に示す実施形態では、永続的セキュリティコンポーネントは、アセット追跡セキュリティのコンポーネント（たとえば、物理的なコンピューティングシステム１２）を備える。
しかしながら、システム１０の実施形態は、他のタイプのセキュリティコンポーネント（たとえば、データ保護手段、セキュリティクレデンシャル（credential）認証等）に使用できることが理解されるべきである。
【００１１】
通常、ＴＰＭ１８は、システム１２のプラットフォーム４２上の一定のソフトウェア及びハードウェアの測定（完全性メトリック）の値を記憶及び報告するのに使用される。
たとえば、いくつかの実施形態では、ＴＰＭ１８は、ＨＤＤ４４及び組み込みファームウェア１６の完全性を測定、記憶、及び報告するのに使用される。
しかしながら、ＴＰＭ１８は、他のデバイス及び／又はハードウェアの完全性を記憶及び報告するのに使用することができ、プラットフォーム情報と、パスワード、鍵及び証明書等の秘密情報（secret）とをセキュアに記憶するのに使用される。
図１に示す実施形態では、システム１２は、ＯＳ３４によって起動され且つ／又は別の方法で実行されうる１つ又は複数の実行可能アプリケーション５２も備える。
【００１２】
図１に示す実施形態では、ＨＤＤ４４は、プロセッサ５４と、ディスクメモリ５６とを備える。
ＨＤＤ４４は、ディスクメモリ５６に記憶されているデータが暗号化フォーマットで記憶されるような、暗号化されたＨＤＤ４４を構成する。
したがって、図１に示す実施形態では、ＨＤＤ４４は、ディスクメモリ５６のマスタブートレコードセクタに記憶されている暗号化／解読セキュリティルーチン６０を備える。
この暗号化／解読セキュリティルーチン６０は、ディスクメモリ５６に書き込まれるデータを暗号化し、ユーザ又は特定のアプリケーション５２に提供される、ディスクメモリ５６からリトリーブ（retrieve）されたデータを解読するためのものである。
たとえば、暗号化／解読セキュリティルーチン６０は、ディスクメモリ５６上に記憶されるデータを暗号化し、ディスクメモリ５６からリトリーブされたデータを解読するための、プロセッサ５４によって実行可能な一組の命令を備える。
いくつかの実施形態では、暗号化／解読セキュリティルーチン６０は、ディスクメモリ５６に関連付けられるデータを暗号化及び解読するための鍵を取得し且つ／又は別の方法で生成するのに必要な解読認証をＨＤＤ４４に提供するのにも使用される。
たとえば、いくつかの実施形態では、暗号化／解読セキュリティルーチン６０は、暗号化／解読鍵にアクセスし且つ／又は暗号化／解読鍵を生成するために、ユーザ又はエージェントによって提供されたセキュリティ情報及び／又はセキュリティクレデンシャルを認証し且つ／又は別の方法でその有効性を確認するのに使用される。
したがって、いくつかの実施形態では、セキュリティクレデンシャル認証／有効性確認に応答して、暗号化／解読セキュリティルーチン６０は、ＨＤＤ４４にＴＰＭ１８とインターフェースさせて、ＨＤＤ４４上に記憶されるデータの暗号化及びＨＤＤ４４からリトリーブされたデータの解読を行うのに使用される暗号化／解読鍵６２を、ＴＰＭ１８からリトリーブし且つ／又は別の方法でＴＰＭ１８によって生成させる。
しかしながら、暗号化／解読鍵６２は、別のコンポーネントによって（たとえば、ＯＳ３４、特定のアプリケーション５２、又はそれ以外のものによって）生成され得、且つ／又は、別のコンポーネントからリトリーブされ得ることが、理解されるべきである。
また、いくつかの実施形態では、コンピューティングシステム１２は、ＴＰＭ１８なしで構成され得ることも、理解されるべきである。
【００１３】
作動中、アセット保護セキュリティルーチン３２のインスタンスが、ＢＩＯＳ２４によってＨＤＤ４４のディスクメモリ５６上に書き込まれ且つ／又は別の方法でロードされる（図１のアセット保護セキュリティルーチン６４として示す）。
アセット保護ルーチン６４は、コンピューティングシステム１２において（たとえば、コンピューティングシステム１２のユーザに本質的に見えない）バックグラウンドで実行され且つ／又は動作するように、好ましくは、ＯＳ３４によって自動的に（すなわち、ユーザの行為又は起動なしに）実行される。
いくつかの実施形態では、ディスクメモリ５６上にロードされたアセット保護セキュリティルーチン３２のインスタンスは、情報の小さなトークン又はカーネルを備える。この情報は、ネットワーク３８へのコンピューティングシステム１２の接続時に、より完全なルーチンがセキュリティサービス３６からディスクメモリ５６上にダウンロードされることを容易にするのに使用される。
しかしながら、システム１０が別の方法で構成され得ることが理解されるべきである。
たとえば、いくつかの実施形態では、より完全なルーチン又はプログラムは、他の場所に留まる（remain）ことができる（すなわち、より完全なルーチンは、ＨＤＤ４４以外のロケーションに留まることができる）。
さらに、ＨＤＤ４４上にロードされたアセット保護ルーチン６４のインスタンスが、ＯＳ３４若しくはコンピューティングシステム１２上にある別のアプリケーションが従う動作、又はＯＳ３４若しくはその別のアプリケーションによって処理される動作の方向付け又は再方向付けを引き起こすフラグ、ポインタ、又は他の要素を含み得ることも、理解されるべきである。
【００１４】
作動中、ＯＳ３４が、コンピューティングシステム１２のブート後に、ＨＤＤ４４上に記憶されているアセット保護セキュリティルーチン６４のインスタンスを自動的に起動し且つ／又は別の方法で実行するように、ＢＩＯＳ２４は、ＨＤＤ４４のディスクメモリ５６上に、アセット保護セキュリティルーチン３２のインスタンスを自動的にロードするように構成されている。
好ましくは、コンピューティングシステム１２の各ブートオペレーション中に、ＢＩＯＳ２４は、アセット保護セキュリティルーチン３２のインスタンスがＨＤＤ４４上に記憶されているか否かを自動的に判断するように構成されている。
たとえば、コンピューティングシステム１２が初めてブートされるときにアセット保護セキュリティルーチン３２のインスタンスがＨＤＤ４４上に存在しない場合もあるし、ＨＤＤ４４上に以前記憶されているアセット保護セキュリティルーチン６４のインスタンスが不注意又は故意にＨＤＤ４４から削除又は消去されている場合もある。
したがって、アセット保護セキュリティルーチン３２のインスタンスがＨＤＤ４４に存在しない場合には、ＢＩＯＳ２４は、コンピューティングシステム１２の各ブート時に、アセット保護セキュリティルーチン３２のインスタンスをＨＤＤ４４上に自動的にロードするように構成されている。
したがって、作動中、ＢＩＯＳ２４は、コンピューティングシステム１２のブート中に、ＨＤＤ４４とインターフェースして、アセット保護セキュリティルーチン３２のインスタンスがディスクメモリ５６上に存在するか否かを判断する。
アセット保護セキュリティルーチン３２のインスタンスがＨＤＤ４４上に存在しない場合、ＢＩＯＳ２４は、アセット保護セキュリティルーチン３２のインスタンスをディスクメモリ５６に自動的にロードし且つ／又は記憶して、ＯＳ３４によるその実行を容易にする。
【００１５】
好ましくは、ＢＩＯＳ２４は、コンピューティングシステム１２がブートされるごとに、存在を検証し、必要である場合には、ＨＤＤ４４上のアセット保護セキュリティルーチン３２のインスタンスをロードする。
しかしながら、ＨＤＤ４４は暗号化されているので、ブートルーチン３０の実行中、ＨＤＤ４４は、まだ解読されていない（すなわち、ＨＤＤ４４がＢＩＯＳ２４によってアクセスできないように、暗号化／解読鍵６２を取得し且つ／又は生成するためのセキュリティ認証オペレーションは、ＯＳ３４によってまだ行われていない）。
したがって、システム１０の実施形態は、ブートルーチン３０が完了しコンピューティングシステム１２の制御がＯＳ３４に移行された後に、アセット保護セキュリティルーチン３２のインスタンスがＢＩＯＳ２４によってＨＤＤ４上にロードされ且つ／又は記憶されることを可能にする。
作動中、ＢＩＯＳ２４によるブートルーチン３０の完了及びＯＳ３４へのコンピューティングシステム１２の制御の移行後、および、ＯＳ３４によるＨＤＤ４４の解読後、ＯＳ３４は、ＢＩＯＳ２４へのコールを開始して、ＢＩＯＳ２４が、存在を検証し、必要である場合には、アセット保護セキュリティルーチン３２のインスタンスをＨＤＤ４４上にロードすることを可能にする。
ＯＳ３４は、好ましくは、ウィンドウ管理インスツルメンテーション（windows management instrumentation：ＷＭＩ）インターフェース信号又は他のタイプの信号のコールを開始し且つ／又はＢＩＯＳ２４に発行して、アセット保護セキュリティルーチン３２のインスタンスの検証／ＨＤＤ４４上へのロードを容易にする。
したがって、ＯＳ３４からのコールの受信に応答して、ＢＩＯＳ２４は、ＨＤＤ４４とインターフェースし、アセット保護セキュリティルーチン３２のインスタンスがディスクメモリ５６にあり且つ／又は別の方法で存在する（たとえば、図１のアセット保護セキュリティルーチン６４として表される）か否かを判断する。
アセット保護セキュリティルーチン３２のインスタンスがディスクメモリ５６上に存在する場合、ＢＩＯＳ２４は、コンピューティングシステム１２の制御をＯＳ３４に返す。
アセット保護セキュリティルーチン３２のインスタンスがＨＤＤ４４上に存在しない場合、ＢＩＯＳ２４は、アセット保護セキュリティルーチン３２のインスタンスをＨＤＤ４４上に自動的にロードさせる。
ＢＩＯＳ２４は、その後、コンピューティングシステム１２の制御をＯＳ３４に返し、ＯＳ３４は、ＨＤＤ４４上のアセット保護セキュリティルーチン３２のインスタンス（たとえば、アセット保護セキュリティルーチン６４）を実行する。
上述した実施形態では、ＯＳ３４は、ＢＩＯＳ２４へのコールを開始し、ＢＩＯＳ２４は、アセット保護セキュリティルーチン３２のインスタンスがＨＤＤ４４上に存在することを検証する。
しかしながら、いくつかの実施形態では、このような検証はＯＳ３４によって行われ得、それによって、ＨＤＤ４４上のアセット保護セキュリティルーチン３２のインスタンスが現在ＨＤＤ４４上にある場合にＢＩＯＳ２４へのコールの必要性を軽減できることが、理解されるべきである。
【００１６】
図２は、永続的セキュリティ方法の一実施形態を示すフロー図である。
この方法は、ブロック２００において開始する。ブロック２００において、ＢＩＯＳ２４は、ブートルーチン３０を使用してコンピューティングシステム１２のブートシーケンスを開始する。
ブロック２０２において、ＢＩＯＳ２４は、ブートルーチン３０に基づくコンピューティングシステム１２のブートプロセスの自身の割り当てを完了し、コンピューティングシステム１２の制御をＯＳ３４に移す。
【００１７】
ブロック２０４において、ＯＳ３４は、暗号化／解読セキュリティルーチン６０を開始し且つ／又は別の方法で実行して、ＨＤＤ４４に関連付けられるデータの暗号化／解読を容易にする。
判定ブロック２０６において、暗号化／解読鍵６２を取得し且つ／又は別の方法で生成するために、セキュリティクレデンシャルが認証され且つ／又は別の方法でその正当性が確認されているか否かの判断が行われる。
セキュリティクレデンシャルが認証されておらず、その正当性が確認されていない場合、ＨＤＤ４４上のいかなるデータ（たとえば、ＯＳ３４）へのアクセスも妨げられるので、この方法は終了する。
判定ブロック２０６において、セキュリティクレデンシャルが認証され又はその正当性が確認されている場合、この方法は、ブロック２０８に進む。
ブロック２０８において、ＯＳ３４は、暗号化されたＨＤＤ４４に関連付けられる暗号化／解読鍵６２をリトリーブし且つ／又は別の方法で取得する。
ブロック２１０において、ＯＳ３４は、ＢＩＯＳ２４へのコールを開始する。
ブロック２１１において、ＢＩＯＳ２４は、アセット保護セキュリティルーチン３２の少なくとも一部を起動し且つ／又は別の方法で実行して、アセット保護セキュリティルーチン３２のインスタンスがＨＤＤ４４上に存在するか否かを判断する。
【００１８】
判定ブロック２１２において、アセット保護セキュリティルーチン３２のインスタンスがＨＤＤ４４上に存在するか否かの判断が行われる。
アセット保護セキュリティルーチン３２のインスタンスが、ＨＤＤ４４のディスクメモリ５６上に存在しない場合、この方法は、ブロック２１４に進む。
ブロック２１４において、ＢＩＯＳ２４は、アセット保護セキュリティルーチン３２のインスタンスをリトリーブして、ＨＤＤ４４上にロードし且つ／又は別の方法で記憶する。
ブロック２１６において、ＢＩＯＳ２４は、アセット保護セキュリティルーチン３２のインスタンスをＨＤＤ４４上に記憶させる。
たとえば、ＢＩＯＳ２４は、ＯＳ３４とインターフェースして、暗号化／解読セキュリティルーチン６０を介し暗号化／解読鍵６２を使用してアセット保護セキュリティルーチン３２のインスタンスが暗語化フォーマットでＨＤＤ４４上に記憶されるのを容易にする。
ブロック２１８において、ＢＩＯＳ２４は、コンピューティングシステム１２の制御をＯＳ３４に返す。
ブロック２２０において、ＯＳ３４は、（たとえば、図１にアセット保護セキュリティルーチン６４として示される）ＨＤＤ４４に記憶されているアセット保護セキュリティルーチンのインスタンス６４を実行し且つ／又は起動する。
判定ブロック２１２において、アセット保護セキュリティルーチン３２のインスタンスがＨＤＤ４４上に存在すると判断される場合、この方法は、ブロック２１８に進む。
ブロック２１８において、コンピューティングシステム１２の制御は、ＯＳ３４に返される。
【００１９】
このように、システム１０の実施形態によって、たとえＨＤＤが完全に暗号化されたものとして構成されていても、永続的セキュリティコンポーネントをＨＤＤ上にインストールすることが可能になる。
システム１０の実施形態は、ＨＤＤが解読された後（すなわち、セキュリティクレデンシャルの正当性確認及びＨＤＤの暗号化／解読鍵の生成／獲得の後）に、組み込みファームウェアからＨＤＤへセキュリティコンポーネントをロードすることによって、オペレーティングシステムにより自動的に実行可能となるように、暗号化されたＨＤＤ上のセキュリティコンポーネントの存在を維持する。
【符号の説明】
【００２０】
１０  永続的セキュリティシステム
１２  コンピューティングシステム
１６  組み込みファームウェア
１８  トラステッドプラットフォームモジュール（ＴＰＭ）
２０  マザーボード
３０  ブートルーチン
３２，６４  アセット保護セキュリティルーチン
３４  オペレーティングシステム
３６  セキュリティサービス
３８  ネットワーク
４２  プラットフォーム
４４  ハードディスクドライブ
５２  アプリケーション
５４  プロセッサ
５６  ディスクメモリ
６０  暗号化／解読セキュリティルーチン
６２  暗号化／解読鍵
【図１】
0004848458.tif 000002
【図２】
0004848458.tif 000003