(57)【要約】秘密を保護するための技術は、信頼できないオペレーティングシステムを動作させ得るホスト上でエンベロープのように機能するカプセル化モジュールにおいてマスタシークレットキーを囲むことを含み得る。カプセル化モジュール自体は、アンチデバッグ技術等の種々のソフトウェアセキュリティ技術（これはリバースエンジニアリングをより困難にする）により難読化されて保護され得る。次いで、ホスト上のカプセル化モジュールに格納された上記マスターキーからセッションキー又はファイルキーが導出され得る。該セッションキー又はファイルキー各々はホスト上のセッション又はファイルを保護する。更に、マスタシークレット及びセッションキー又はファイルキーがホストの不揮発性記憶装置へとスワップされることを防ぐために、コードが与えられ得る。
2010517449.tif 000002
【特許請求の範囲】
【請求項１】
ホストと、
動作中に、ホストにマスタシークレットキーを供給する認証エンジンと、
ホストで動作するカプセル化モジュールにして、動作中に、ホストにおいて前記マスタシークレットキーを囲み、保持しかつ保護するカプセル化モジュールとを備え、
前記カプセル化モジュール自体は種々のセキュリティ技術により難読化されて保護されるシステム。
【請求項２】
前記マスタシークレットキーを管理しかつ格納するように動作するキーデータベースを更に備える請求項１のシステム。
【請求項３】
前記ホストは安全でないシステムもしくは信頼できないシステムである請求項１のシステム。
【請求項４】
一つ又は複数の暗号化規則を管理しかつ格納するように動作する暗号化規則データベースを更に備える請求項１のシステム。
【請求項５】
前記認証エンジンは前記一つ又は複数の暗号化規則を前記プセル化モジュールに供給する請求項４のシステム。
【請求項６】
前記認証エンジンは、前記マスタシークレットキーをホストに供給する前に該マスタシークレットキーを暗号化する請求項１のシステム。
【請求項７】
前記カプセル化モジュールは、前記マスタシークレットキーが暗号化される場合、ホストにおいて該マスタシークレットキーを受け入れかつ複合化するために用いるコードを囲み、保持しかつ保護する請求項６のシステム。
【請求項８】
前記カプセル化モジュールは、ホストにおいてすべてのセキュリティセンシティブなコード及びシークレットキーを囲み、保持しかつ保護する請求項１のシステム。
【請求項９】
前記カプセル化モジュールは、前記キー及び前記コードが揮発性記憶装置から直接読み取られることを防ぐために該キー及びコードを難読化する請求項８のシステム。
【請求項１０】
前記カプセル化モジュールは、該カプセル化モジュールに格納されたマスタシークレットキーから一つ又は複数のセッションキー又はファイルキーを生成する請求項１のシステム。
【請求項１１】
前記一つ又は複数のセッションキー又はファイルキー各々は、ホストにおいてセッション又はファイルを保護する請求項１０のシステム。
【請求項１２】
前記カプセル化モジュールは、一つ又は複数のセッションキー又はファイルキーをランダムに生成し、これらをカプセル化モジュールに格納された前記マスターキーにより暗号化する請求項１のシステム。
【請求項１３】
前記カプセル化モジュールは、前記マスタシークレットキー及び前記一つ又は複数のセッションキー又はファイルキーが不揮発性記憶装置へとスワップされることを防ぐために用いるコードを囲み、保持しかつ保護する請求項１のシステム。
【請求項１４】
マスタシークレットキーを格納して管理するステップと、
前記マスタシークレットキーをホストに供給するステップと、
前記マスタシークレットキーをホストにおけるカプセル化モジュール内で囲んで保持するステップと、
種々のセキュリティ技術により前記カプセル化モジュールを安全に難読化して保護するステップとを含む方法。
【請求項１５】
前記マスタシークレットキーを、これをホストに供給する前に暗号化するステップを更に含む請求項１４の方法。
【請求項１６】
前記マスタシークレットキーが暗号化される場合、ホストにおいて該マスタシークレットキーを受け入れかつ複合化するために用いるコードを囲み、保持しかつ保護するステップを更に含む請求項１５の方法。
【請求項１７】
前記ホストにおいてすべてのセキュリティセンシティブなコード及びシークレットキーを囲み、保持しかつ保護するステップを更に含む請求項１４の方法。
【請求項１８】
前記キー及び前記コードが揮発性記憶装置から直接読み取られることを防ぐために該キー及びコードを難読化するステップを更に含む請求項１７の方法。
【請求項１９】
前記マスタシークレットキーから一つ又は複数のセッションキー又はファイルキーを生成するステップを更に含む請求項１４の方法。
【請求項２０】
一つ又は複数の暗号化規則を格納しかつ管理するステップと、
該一つ又は複数の暗号化規則をホストに供給するステップとを更に含む請求項１４の方法。
【請求項２１】
一つ又は複数のセッションキー又はファイルキーをランダムに生成し、これらを、前記一つ又は複数の暗号化規則に基づいて前記マスターキーにより暗号化するステップを更に含む請求項２０の方法。
【請求項２２】
前記マスタシークレットキー及び前記一つ又は複数のセッションキー又はファイルキーが不揮発性記憶装置へとスワップされることを防ぐために用いるコードを囲み、保持しかつ保護するステップを更に含む請求項１４の方法。
【請求項２３】
マスタシークレットキーを格納して管理するための手段と、
前記マスタシークレットキーをホストに供給するための手段と、
前記マスタシークレットキーをホストにおけるカプセル化モジュール内で囲んで保持するための手段と、
種々のセキュリティ技術により前記カプセル化モジュールを安全に難読化して保護するための手段とを備えるシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信頼できない受信者における秘密の保護に関する。
【背景技術】
【０００２】
いくつかのシステムでは、低セキュアな（「信頼できない」）受信者に秘密（シークレット）を配信することが要求される。例えば、ホストは、キーを受け取るために信頼されているかもしれないが、信頼できないオペレーティングシステムを実行している。この文書の目的のための信頼できないオペレーティングシステムは、攻撃者がアクセスでき、攻撃者がオペレーティングシステム上でフトウェアを実行でき、また、攻撃者がことによるとオペレーティングシステム上で高い特権を得ることができるものである。汎用のオペレーティングシステムは、ほとんどの設定で信頼できないと考えることができる。
【０００３】
秘密を安全に配信することは解決された課題である。しかしながら、秘密が信頼できない受信者に到達して復号化（解読）される場合に、セキュリティリスクが取り込まれる。あるプログラムに存在する秘密は、攻撃者にとって読み取ることが容易である。該攻撃者は、例えば、彼の特権を十分に高めた後、スワップ空間又はプログラムプロセスメモリから該秘密を読み取ることができる。
【０００４】
これらは、信頼できない受信者に関連する問題及び課題のほんのサブセット（部分集合）であり、例証として先行技術の弱さを特徴付けることが企図される。関連技術の上記例及びそれに関連する限定は、例示であって他を除外するものではないことが企図される。関連技術の他の限定は、本明細書の読込み及び図面の検討により当業者には明らかとなる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
以下の実施形態及び実施形態の様相は、模範的で例示的であることが企図されかつ範囲を限定しないシステム、ツール及び方法と共に記述され例示される。種々の実施形態において、上述した問題点の一つ又は複数は、低減もしくは取り除かれ、他の実施形態は他の改善に向けられる。
【課題を解決するための手段】
【０００６】
秘密を保護するための技術は、信頼できないオペレーティングシステムを動作（実行）させ得るホスト上でエンベロープ（封筒）のように機能するカプセル化モジュールにおいてマスタシークレットキーを囲む（封入する）ことを含み得る。カプセル化モジュール自体は、アンチデバッグ技術等の種々のソフトウェアセキュリティ技術（これはリバースエンジニアリングをより困難にする）により難読化されて保護され得る。次いで、ホスト上のカプセル化モジュールに格納された上記マスターキーからセッションキー又はファイルキーが導出され得る。該セッションキー又はファイルキー各々はホスト上のセッション又はファイルを保護する。更に、マスタシークレット及びセッションキー又はファイルキーがホストの不揮発性記憶装置へとスワップされることを防ぐために、コードが与えられ得る。
【０００７】
提案したシステムは、他にも利点があるが、秘密が信頼できない受信者においてでさえまあまあ十分に保護されることを提供することができる。ここに記述した技術のこの利点及び他の利点は、以下の説明の読込み及び図面の検討により当業者には明らかとなろう。
【０００８】
本発明の実施形態が図面に例示される。しかしながら、該実施形態及び図面は、限定的というよりも例示的なものであり、これらは本発明の例を提供する。
【図面の簡単な説明】
【０００９】
【図１】図１は、信頼できない環境においての秘密の保護をサポートするシステム１００の例を示す。
【図２】図２は、信頼できない環境においての秘密の保護をサポートする方法の例であるフローチャート２００を示す。
【発明を実施するための形態】
【００１０】
以下の説明において、本発明の実施形態の完全な理解を与えるため、いくつかの具体的な詳細が提示される。しかしながら、当業者は、上記具体的な詳細の一つ又は複数を伴うことなく、又は他の構成要素等と組み合わせて、本発明が実施され得ることを認識するであろう。他の例において、本発明の種々の実施形態の様相を不明瞭にすることを避けるため、周知の実施（実行）又は動作（操作）は詳細には示されず又は記述されない。
【００１１】
図１は、秘密（シークレット）の保護をサポートするシステム１００の例を示す。システム１００は、ホスト１０２と、認証エンジン１０４と、キーデータベース１０６と、構成（コンフィギュレーション）規則データベース１０８と、ホスト１０２において少なくともマスタシークレット（キー）を含むカプセル化モジュール（エンベロープ）１１０とを含む。
【００１２】
ホスト１０２は、いかなる既知のもしくは都合の良いコンピュータシステムをも含み得る。ホスト１０２は、ファイルサーバとして機能し得、又は、いくつかの他の機能を有し得る。例示の実施形態において、ホスト１０２は、バス１１８に接続されたファイルシステム１１２、フィルタドライバ１１４、及びプロセッサ１１６を含む。ファイルシステム１１２、フィルタドライバ１１４、プロセッサ１１６及びバス１１８の機能は関連技術分野において良く知られているため、これらの構成要素の詳細な説明は不要であると思われる。別の実施形態において、バスの無いアーキテクチャが使用され得る点に留意が必要かもしれない。
【００１３】
概念的に、フィルタドライバ１１４は、ファイルシステム１１２と、ファイルシステム１１２からのファイルを使用するプロセスとの間にオペレーティングシステムの一部として挿入される。フィルタドライバ１１４は、認証エンジン１０４によって構成規則データベース１０８から与えられた構成規則を利用する。該構成規則は、限定ではなく一例として、認証エンジン１０４によりキーデータベース１０６から与えられた第１キーを用いて第１ディレクトリにおけるすべてが暗号化されるという規則を含み得る。（あるいは、第１キーは、局所的に生成され得、又は、キーデータベース１０６以外のある場所から受け取り得る。）別の例として、構成規則は、第１ユーザが、特定のファイルにアクセスする時に暗号化（された）データ（例えば暗号文（暗号テキスト））を受け取るという規則を含み得る。
【００１４】
例示の実施形態において、ホスト１０２は、例えば認証エンジン１０４よりも低セキュアな（「信頼できない」）システムである。ホスト１０２は、これがキーを受け取ることができる程十分に信頼できるが、例えば、信頼できないオペレーティングシステムを実行しているかもしれない。従って、マスタシークレットは、「in the clear」で（暗号化されずに）ホスト１０２に置かれることは決してないであろう。セキュリティリスクが十分に低いと考えられる場合、上記マスターキーから導出されるキー等の他のキーは、ホスト１０２において暗号化されずに使用され得る。
【００１５】
例示の実施形態において、カプセル化モジュール１１０は、ホスト１０２上で動作する（実行される）ソフトウェア、ファームウェア、ハードウェア、又はこれらの組合せであり得る。カプセル化モジュール１１０は、「エンベロープ（封筒）」のように機能することができ、これは、上記マスタシークレット；（例えば、別のホストからの又はファイルの読取りからの交換のために）暗号化マスタシークレットを受け取って復号化するために用いるコード；及び、上記マスタシークレットからのセッションキーを生成するために用いるコード、を囲み、保持しかつ保護するように動作する。カプセル化モジュール１１０自体（及びそこに含まれるコード）は、アンチデバッグ技術等の種々のソフトウェアセキュリティ技術により難読化されて保護され得、これはリバースエンジニアリングをより困難にする。
【００１６】
信頼できないホストにおいては完全な保護は実現可能ではないことに留意が必要であり得る。そのため、セキュリティ技術は、一般に、セキュリティを破ることをより困難にすることを含む。カプセル化モジュール１１０の一つの利点は、すべてのセキュリティセンシティブ（セキュリティ依存）のコード及び／又はシークレットがすべてカプセル化モジュール１１０内にあり、そのため、少なくともある程度まで、カプセル化モジュール１１０のみが攻撃に対して保護される必要がある点である。
【００１７】
例示の実施形態において、セッションキー又はファイルキーは、カプセル化モジュール１１０に格納されたマスターキーから導き出されるかもしくは生成される。これらはたった一つのセッション又はファイルを保護するので、該セッションキー又はファイルキーは価値がより低く、セキュリティリスクが十分に低いと思われる場合、カプセル化モジュール１１０に格納されることなく直接使用可能である。セッションキーを導き出す別の選択肢は、カプセル化モジュール１１０においてランダムセッションキーを生成し、これを格納のためにマスターキーにより暗号化することであろう。この選択肢では、カプセル化モジュール１１０は、要求があり次第、暗号化セッションキーを復号化するコードを含み得る。
【００１８】
例示の実施形態において、カプセル化モジュール１１０は更に、マスタシークレット及びセッションキー又はファイルキーがホスト１０２の不揮発性記憶装置（例えばディスク）へとスワップ（交換）されることを防ぐために用いるコードを包含し、保持しかつ保護することができる。更に、カプセル化モジュールは、マスタシークレットキー及び／又はコードがホスト１０２の揮発性記憶装置（例えばメモリ）から直接読み取られることを防ぐため、これらを難読化（分かりにくく）し得る。例示の実施形態において、カプセル化モジュールにおけるコードのすべては、その動作の解読をより困難にするために難読化される。
【００１９】
認証エンジン１０４は、いかなる既知のもしくは都合の良いコンピュータシステムをも含み得る。認証エンジン１０４は、ホスト１０２に接続される器具として、又は、例えばネットワーク接続を通じてホスト１０２に接続されるいくつかの他の装置又はコンピュータとして実現されてもされなくてもよい。認証エンジン１０４は、キーデータベース１０６及び構成規則データベース１０８からのマスタシークレットキー及び構成規則それぞれをホスト１０２へと供給する。ここで用いる用語「エンジン」は、一般に、目的を達成するために用いられるソフトウェア、ファームウェア、ハードウェア、又は他の構成要素の任意の組合せのことをいう。
【００２０】
認証エンジン１０４は、ホスト１０２を管理する管理者と同じ管理者によって管理され得る。あるいは、管理者は、認証エンジン１０４を管理する責任を負い得、また、より低いレベルの管理者はホスト１０２を管理する責任を負い得る。後者は比較的大きい企業でより一般的であろう。（認証エンジン１０４の管理者がホスト１０２に与えられるキー及び暗号化規則に対するアクセス権を有するため）認証エンジン１０４の管理者はホスト１０２のセキュリティの少なくともいくつかを破ることができるかもしれない点に留意が必要であり得るが、その逆は必ずしも真ではない。
【００２１】
例示の実施形態において、キーデータベース１０６は、暗号化されてもされなくてもよいマスタシークレットを含む。しかしながら、例示の実施形態において、マスタシークレットは、暗号化されてキーデータベース１０６に格納されるか、又は、認証エンジン１０４によるホスト１０２への送信前に暗号化される。例示の実施形態において、暗号化（された）マスタシークレットは、セキュアキーサーバ（例えば認証エンジン１０４）と受信者（例えばホスト１０２）との間にＳＳＬ接続により提供される。該暗号化は、ＳＳＬスタックとカプセル化モジュール１１０内への挿入との間においてマスタシークレットを保護するのに役立つ。カプセル化モジュール１１０は暗号化マスターキーを受け取ると、これを適切に復号化する（例えば、難読化されたコンパイルイン対称キーもしくはコード、又はＲＳＡキーを用いて）。
【００２２】
例示の実施形態において、マスターキーは、セキュアキーサーバからではないある他の態様で提供され得る。例えば、マスターキーは、ＵＳＢディスク等の携帯型記憶装置におけるホスト１０２に提供され得る。ディスクにマスタシークレットを供給することは、セキュアキーサーバから例えばＳＳＬ接続を通じてマスタシークレットを提供するよりもおそらくセキュアが低い。しかしながら、該キーが受け取られる正確な態様は実施の具体的な選択肢である。
【００２３】
図１の例において、動作中、認証エンジン１０４は、キーデータベース１０６において管理され格納され得るマスタシークレットキーを、ホスト１０２において動作するカプセル化モジュール１１０に供給する。これは、マスタシークレットキーを「clear air」で（暗号化せずに）格納する程十分に安全ではないであろう。カプセル化モジュール１１０は、次いで、ホストにおいてマスタシークレットキーを囲み、保持しかつ保護し、ホストにおいてカプセル化モジュール自体は種々のセキュリティ技術により難読化されて保護される。マスタシークレットキーに加えて、カプセル化モジュール１１０はまた、ホストにおけるすべてのセキュリティセンシティブコード（マスタシークレットキーが暗号化される場合にホストにおけるマスタシークレットキーを受け入れて複合化するために用いられるコードを含む）及び秘密キーを囲み得る。更に、カプセル化モジュール１１０は、マスタシークレットキーから一つ又は複数のセッションキーも又はファイルキーを生成することができ、これらはそれぞれホストにおいてセッション又はファイルを保護する。
【００２４】
例示の実施形態において、カプセル化モジュール１１０は、限定ではなく一例としてアプリケーション・プログラミング・インターフェース（ＡＰＩ）に対する次のコール（呼出し）により、生成され初期化され得る。
Encapsulation_モジュールenvelope = new encapsulation_module(EncryptedMasterKey);
カプセル化モジュール１１０は、暗号化（された）マスターキーEncryptedMasterKeyを受け取ると、該暗号化マスターキーを適切に複合化する。
【００２５】
例示の実施形態において、セッション（又はファイル）キーは、限定ではなく一例としてカプセル化モジュールからの次の関数コール（関数呼出し）を用いてカプセル化モジュール１１０から生成され得る。
SessionKey key = envelope.generate(FileOrDocumentIdentifier);
ここで、SessionKeyは、該ファイルを暗号化及び復号化するために使用され得、FileOrDocumentIdentifierはファイル名等の固定公開値であり得る。
【００２６】
例示の実施形態において、カプセル化モジュール１１０は、特定のメモリ位置（記憶場所）に暗号化マスタシークレット（キー）を移し（固定メモリ）、必要に応じて該固定メモリにおける該暗号化マスタシークレットを複合化し、次いで、該特定のメモリ位置を次のように難読化（分かりにくくする）ことにより、暗号化マスタシークレット（キー）を難読化し得る。限定ではなく一例として、次の関数がカプセル化モジュール１１０により呼び出され得る。
ObtainPinnedMemory()
Move(EncryptedMasterKey, PinnedMemory)
ObfuscatedMasterKeyDecrypt(PinnedMemory)
Obfuscate(PinnedMemory)
【００２７】
例示の実施形態において、カプセル化モジュール１１０は、上記固定メモリを逆難読化し、次いで、マスタシークレットを該メモリ位置からハッシュすることにより、該固定メモリからマスタシークレットを取得し得る。
DeObfuscate(PinnedMemory)
key = Hash(PRF(FileOrDocumentIdentifier), PinnedMemory)
Obfuscate(PinnedMemory)
return key
ここで、PRF()は疑似ランダム関数であり得、また、Hash()は不揮発性暗号ハッシュであり得る。
【００２８】
先の数欄で示した例は、カプセル化モジュールの実施（実装）を例示する。当業者は、この教示を、カプセル化モジュールの生成及び管理のためのいくつかの異なる実施を含むように拡張することができるであろう。この簡易な例示は、上記Hash()操作に対し暗号化しないマスターキーを有する欠点がある点に留意するべきである。そのため、正確な時間でプロセスメモリをダンプし得る攻撃者は、マスターキーを見出し得る。より高度な実施では、マスターキーが常時マスクされるか、又はマスターキーの一部のみがある一定の時間においてマスクがとられるように、逆難読化とキー導出関数を組み合わせるであろう。該簡易な例示は、状況を複雑にすることなく、重要なコンセプトを伝えるために選択された。
【００２９】
図２は、信頼できない環境においてシークレットの保護をサポートする方法の例のフローチャート２００を示す。この方法及び他の方法は直列に（連続的に）配置されたモジュールとして示される。しかしながら、これら方法のモジュールは、必要に応じて順番が変えられるかあるいは並行実行に対して配置され得る。
【００３０】
図２の例において、フローチャート２００はモジュール２０２でスタートし、モジュール２０２においてマスタシークレットキーは安全に格納されて管理される。ここで、マスタシークレットキーは、セキュアサーバ又は携帯型記憶装置（これは、限定はしないが、スマートカード、ＵＳＢドライブもしくは携帯型ディスクドライブ）におけるキーデータベースに安全に格納される。
【００３１】
図２の例において、フローチャート２００はモジュール２０４へと続き、モジュール２０４においてマスタシークレットキーはホストに供給される。ここで、マスタシークレットキーは、該マスタシークレットが格納されていたセキュアサーバと受信者であるホストとの間のＳＳＬ接続によりホストへと送られる前に暗号化され得る。マスタシークレットキーがその暗号化された形式でホストで受け入れらると、これはコード又はキーにより適切に復号化される。
【００３２】
図２の例において、フローチャート２００はモジュール２０６へと続き、モジュール２０６においてマスタシークレットキーは、ホストにおいて安全に囲まれかつ保持される。より具体的には、マスタシークレットキーは、ホストで動作するエンベロープ状カプセル化モジュール内に封入され得る。実際には、ホストにおいてただ一つの集中型データ管理コンポーネントのみが潜在的な攻撃からの保護を必要として、セキュア（安全）でないホストにおける保護をより簡単にするように、すべてのセキュリティセンシティブなコード及び／又はシークレットキーはカプセル化モジュール内に共に保存され得る。
【００３３】
図２の例において、フローチャート２００はモジュール２０８で終了し、モジュール２０８において、カプセル化モジュール自体は、種々のソフトウェア技術によりホストにおいて難読化されて安全に保護され得る。ここで、そのようなソフトウェア技術は、ハッカーもしくは侵入者がソフトウェアデバッグ用ツールを用いてソフトウェアモジュールにおいて囲まれたコンテンツ（例えばキー及びコード）へと侵入することを防ぐためにしばしば使用されるアンチデバッグ技術を含むが、これに限定はされない。
【００３４】
該詳細な説明のいくつかの部分は、コンピュータメモリ内のデータビットに対する操作のアルゴリズム及び記号表現に関して提示される。これらのアルゴリズムの記述及び表現は、データ処理技術分野の当業者が、彼らのワークの実体を他の当業者に最も効果的に伝えるために使用する手段である。アルゴリズムは、ここでは、また一般的に、所望の結果に至る動作（操作）の自己矛盾のないシーケンスであると考えられる。該動作は、物理量の物理的操作（加工）を必要とするものである。通常、必ずではないが、これらの量は、格納、移送、組合せ、比較、及び他の方法による処理が可能な電気的又は磁気的信号の形態をとる。主に共通利用の理由で、これらの信号を、ビット、値、要素、記号、文字、ターム（用語）、番号その他と称することが時には都合が良いことが分かっている。
【００３５】
しかしながら、これらのすべて及び類似の用語は、適切な物理量に関連付けられることとなり、かつこれらの量に適用される単に都合の良いラベルにすぎないことが心に留められるべきである。以下の記述から明らかなものとして特に明記しない限り、該説明全体にわたって、「処理（processing）」又は「計算（computing）」又は「計算（calculating）」又は「決定（determining）」又は「表示（displaying）」等の用語を用いる記述は、コンピュータシステム内のレジスタ及びメモリ内で物理（電子的）量として表されたデータを、コンピュータシステムのメモリ又はレジスタ又は他のそのような情報記憶、送信もしくは表示装置内の物理量として同様に表された他のデータへと処理及び変形するコンピュータシステム又は類似の電子計算装置の動作及びプロセスを意味することが理解される。
【００３６】
ここに記述したアルゴリズム及び技術はまた、該アルゴリズム及び技術を実行するための装置に関連する。この装置は、所要の目的のために特に構成され得、又は、汎用コンピュータにして、該コンピュータに格納されたコンピュータプログラムによって選択的に作動もしくは再構成される汎用コンピュータから成り得る。そのようなコンピュータプログラムは、コンピュータ可読記憶媒体、例えば、読出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気もしくは光カード、フロッピーディスク（登録商標）、光ディスク、ＣＤ−ＲＯＭ、光磁気ディスクを含む任意のタイプのディスク、又は、電子命令を格納するのに適した任意のタイプの媒体、及び、コンピュータシステムバスに接続された各々等（これらに限定はされない）に格納され得る。
【００３７】
ここで用いられる用語「実施形態」は、限定ではなく一例として示すのに役立つ実施形態を意味する。
【００３８】
上述の例及び実施形態は模範的なものでありかつ本発明の範囲を限定しないことが当業者には理解される。該明細書の読込み及び該図面の検討により当業者には明らかな本発明に対するすべての置換、強化、均等及び改良は、本発明の真の精神及び範囲に含まれることが企図される。そのため、特許請求の範囲が、そのようなすべての変更、置換及び均等を、本発明の真の精神及び範囲に入るものとして含むことが企図される。
【符号の説明】
【００３９】
１００  システム
１０２  ホスト
１０４  認証エンジン
１０６  キーデータベース
１０８  構成規則データベース
１１０  カプセル化モジュール
１１２  ファイルシステム
１１４  フィルタドライバ
１１６  プロセッサ
１１８  バス  
【図１】
2010517449.tif 000003
【図２】
2010517449.tif 000004
【国際調査報告】
2010517449.tif 000005