(57)【要約】  コンピューティング装置とストレージ装置との間の様々な操作を管理するシステムおよび方法。ストレージ装置は、データを格納可能な装置上に収容されるストレージ手段である。ストレージ装置とコンピューティングステーションとの間のコンテンツ（データ）の交換またはアクセスを伴うかまたはそれをもたらし得る任意の操作は、規則の集合を備えるポリシによって管理可能である。規則は、ストレージ装置の種類、コンテンツの種類、コンテンツの属性、およびストレージ装置および／またはコンテンツに関連する他の属性を含む個々の基準によって定義してもよい。ポリシは個々のユーザに対してコンピューティングステーション上に動的にインストールされ、ポリシの評価に基づいてコンピューティングステーションとストレージ装置との間で行われ得るデータ操作を管理する。ポリシの評価に基づいて、要求された操作は、許可、ある領域に制限、または拒否される。
2008541247.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティングステーションとモバイルストレージ手段との間の対話を管理する方法であって、前記方法が、
ａ）前記モバイルストレージ手段によってなされる操作の要求について、前記コンピューティング装置に関連する１つまたは複数のインタフェースを監視するステップと、
ｂ）前記操作の要求と、前記モバイルストレージ手段に関連する情報とを識別するステップと、
ｃ）前記コンピューティングステーションに関連する１つまたは複数の規則を備えるポリシを取り出すステップと、
ｄ）前記操作の要求の許可が可能か否かを決定するため、前記ポリシに関連する前記１つまたは複数の規則を評価するステップと、を含む方法。
【請求項２】
前記操作の要求が、マウント操作、コピー操作、削除操作、安全な削除操作、読み取り操作、書き込み操作、伝送操作、および実行操作からなるグループから選択される、請求項１に記載の方法。
【請求項３】
前記モバイルストレージ手段に関連する前記情報が、一意識別子、セキュリティドメインのハッシュ、セキュリティサブドメインのハッシュ、ユーザＩＤ、有効期限日、プロビジョニング日付、暗号情報、暗号鍵、および署名からなるグループから選択される、請求項１に記載の方法。
【請求項４】
コンピューティングステーションとモバイルストレージ手段との間の対話を管理する方法であって、前記方法が、
ａ）１つまたは複数の許可可能な操作を備える、前記コンピューティング装置についてのポリシを定義するステップと、
ｂ）前記ポリシを前記コンピューティングステーションがアクセスできるようにすることによって、前記ポリシを前記コンピューティングステーションに関連させるステップと、
ｃ）前記モバイルストレージ手段からの操作の要求に応答して、前記ポリシを前記モバイルストレージ手段から取り出された情報に基づいて評価するステップと、を含む方法。
【請求項５】
前記ポリシがさらに、セキュリティドメイン情報を備える、請求項４に記載の方法。
【請求項６】
前記ポリシがさらに、セキュリティサブドメイン情報を備える、請求項４に記載の方法。
【請求項７】
前記要求される操作は、マウント操作、コピー操作、削除操作、安全な削除操作、読み取り操作、書き込み操作、伝送操作、および実行操作からなるグループから選択される、請求項４に記載の方法。
【請求項８】
前記モバイルストレージ手段から取り出される情報がセキュリティドメイン情報を含む、請求項４に記載の方法。
【請求項９】
前記モバイルストレージ手段から取り出される情報がセキュリティサブドメイン情報を含む、請求項４に記載の方法。
【請求項１０】
前記モバイルストレージ手段から取り出される情報がプロビジョニング情報を含む、請求項４に記載の方法。
【請求項１１】
コンピュータプログラムコードへのアクセスを有するコンピューティング装置であって、実行される際、前記コンピューティング装置が、
ａ）コンピューティング装置とモバイルストレージ手段との間で行われ得る操作を制限し、
ｂ）前記モバイルストレージ手段によって、またはそれに対してなされる操作の要求を検出するため、前記コンピューティング装置に関連する１つまたは複数のインタフェースを監視し、
ｃ）前記コンピューティング装置と前記モバイルストレージ手段との間の対話を管理するポリシに関連する１つまたは複数の規則を施行するように構成されるコンピューティング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にデータ通信の分野に関し、特に、モバイルストレージメディアとコンピューティング装置との間のデータ通信を管理する方法に関する。
【背景技術】
【０００２】
従来、組織内では、ユーザに関連するデータは、ユーザのコンピュータまたはユーザのコンピュータが接続されたサーバに関連するハードディスク上に格納されていた。個人がディスクドライブ上に格納されたデータへのアクセスを希望する場合、コンピュータにログオンし、適当なディスクドライブへアクセスできるようにしなければならなかった。
【０００３】
現在のコンピューティング環境では、組織間および組織内のユーザ間で転送および交換されるデータの量は常に増大している。その結果、従来のディスクドライブはデータを格納する異なる方法論によって置き換えられつつある。データの可搬性に対する要望は、モバイルストレージ手段の開発につながった。こうしたモバイルストレージ手段の例は、ＵＳＢストレージ手段、外部ハードドライブ、ＣＤ、およびＤＶＤを含む。こうしたモバイルストレージ手段によって、様々なコンピューティングステーション間で情報が容易に流れるようになる。
【０００４】
しかし、こうしたモバイルストレージ手段の使用に関連する固有のリスクが存在する。組織内では、組織が所有権を有するデータは、そのデータへのアクセスを許可されていない個人／エンティティによるアクセスから確実に保護されていなければならない。モバイルストレージ手段の使用を通じて、許可を有する個人にもまたは有しない個人にも、機密上重要なデータを極めて簡単にアクセス、修正、コピーまたは除去できるようになっている。
【０００５】
モバイルストレージ手段によってもたらされるデータの横領の潜在的な脅威に対処するため、組織によってはこうした装置の使用を禁止したところもある。この場合セキュリティ上のリスクはある程度抑制されるが、モバイルストレージ手段はデータの転送および格納を容易にする非常に効率的なツールであるため、作業効率と生産性が犠牲になっている。組織によっては、モバイルストレージ手段の使用を完全に禁止するのが有効または効率的とは限らないという認識から、各組織のセキュリティプロトコルに応じてモバイルストレージ手段の制限付き使用を許可するポリシを導入したところもある。しかし、こうしたポリシは、ポリシを自動的に施行する有効な制御機構を欠いており、モバイルストレージ手段に関与するデータ転送に関する１つまたは複数のポリシへの準拠は、エンドユーザに委ねられている。自動施行機構を有しないポリシは、モバイルストレージ手段の使用を通じてもたらされる、１）機密情報を収容したモバイルストレージ手段が盗難または紛失にあった場合、２）モバイルストレージ手段から許可されていないコンピューティング装置への機密データのコピー、および３）コンピューティング装置からモバイルストレージ手段への機密データのコピー、といった種類の脅威には対処できない。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
自動ポリシ施行機構は、上記で説明したようなモバイルストレージ手段の使用を通じてもたらされる脅威に確実に対処する必要があるが、同時に、個々のユーザが必要とし得る様々なデータアクセスの要求を考慮してカスタマイズされたポリシの設計を可能にするべきである。
【課題を解決するための手段】
【０００７】
コンピューティングステーションとストレージ装置との間の様々な操作を管理するシステムおよび方法である。コンピューティングステーションは、パーソナルデスクトップコンピュータ、ワークステーションコンピュータ、サーバコンピュータ、ラップトップコンピュータ、またはモバイルハンドヘルドコンピュータでもよい。ストレージ装置とは、データを格納することのできる装置上に収容されるストレージ手段である。装置はコンピューティングステーションの内部にあってもよく、また外部にあって、外部インタフェースを介してコンピューティングステーションと接続されるものでもよい。関連するストレージ手段を有する装置の例は、ＵＳＢフラッシュドライブ、ＣＤ、ＤＶＤ、ＺＩＰ（登録商標）ディスク、ハードドライブ、フロッピ（登録商標）ディスク、ＰＣＭＣＩＡドライブ、ネットワークドライブを含む。
【０００８】
ストレージ装置とコンピューティングステーションとの間のコンテンツ（データ）の交換またはアクセスを伴うかまたはそれをもたらし得る操作の管理が可能である。操作とは、コンテンツの読み取り、コンテンツの書き込み、コンテンツのコピー、コンテンツの削除、ファイルの実行、コンピューティング装置にとってアクセスが可能になるストレージ装置のマウント、および特定のインタフェースを介したコンテンツの伝送の許可を含んでもよいが、それらに制限されない。
【０００９】
コンピューティングステーションとストレージ装置との間で行われ得る操作を管理するため、管理者アプリケーションおよびクライアントアプリケーションを使用する。管理者アプリケーションは、アクセスが信頼できるユーザに制限されるように、サーバのような、信頼できるコンピューティング装置にインストールされる。クライアントアプリケーションは、コンピューティング装置によるストレージ装置との対話が管理できるように、コンピューティング装置にインストールされる。
【００１０】
クライアントアプリケーションは、コンピューティング装置と様々なストレージ装置との間で許可される操作に基づいて、各コンピューティング装置についてカスタマイズされる。クライアントアプリケーションは、定義される様々なポリシによってカスタマイズされる。定義されるポリシは、コンピューティングステーションとストレージ装置との間で行われ得る操作を支配および管理する規則の集合を提供する。ポリシは、管理者アプリケーションを使用する管理者または他の信頼できる個人／エンティティによって決定される。
【００１１】
ポリシは様々な規則に応じて定義してよい。さらに詳しく言うと、規則は、ストレージ装置の種類、インタフェース、コンテンツの種類、メタデータ情報、操作、および様々な認証識別子に応じて指定してよい。
【００１２】
ストレージ装置の種類は、そこにデータを格納できるストレージ要素を収容する任意の構成要素でよい。ストレージ装置は、内部でコンピューティングステーションに接続してもよく、外部でインタフェースによって接続されるようになっていてもよい。ハードドライブのような１つの物理装置は１つまたは複数のストレージ装置から構成されるとみなすこともできるため、ストレージ装置は必ずしも１つの物理装置である必要はない。ハードドライブまたは任意の他のストレージ手段のセクタまたはセクションをストレージ装置とみなしてもよく、さらには例えば、ハードドライブ上に格納された１つの特定のファイルさえもストレージ装置とみなしてよい。
【００１３】
インタフェースとは、コンピューティング装置とストレージ装置との間を接続する構成要素であり、こうしたインタフェースの例は、ＰＣＩ、ＵＳＢ、ＳＣＳＩおよびその他のこの種のバス、およびイーサネット（登録商標）およびファイバといった他のネットワークインタフェースを含んでもよい。
【００１４】
コンテンツの種類とは、ストレージ装置上に格納されるコンテンツ（データ）のフォーマットである。ストレージ装置上には異なる種類のコンテンツが存在し得るので、例えば、コンテンツが．ｊｐｇまたは．ｄｏｃのいずれのファイルの種類に関連するかに基づく規則といった、特定のコンテンツの種類に関連する規則を定義することが可能であってもよい。
【００１５】
メタデータ情報とはコンテンツおよびコンテンツが関連するファイルに関する情報に関する。例えば、メタデータ情報は、ファイルの作成日、ファイル名、ファイルの所有者、およびファイルに関連し得るアクセス許可を含む、コンテンツに関連する属性に関するものでもよい。
【００１６】
認証識別子は、ユーザ、エンティティまたはコンテンツ自体に関連する識別子を含んでもよい。例えば、ユーザ識別子によって、個々のユーザについてのコンピューティング装置とストレージ装置との間のデータ操作を管理する規則を定義することができる。また、認証識別子は、セキュリティドメインおよびセキュリティサブドメインを含んでもよい。これによって、割り当てられるセキュリティドメインおよびセキュリティサブドメインに応じてコンピューティング装置とストレージ装置との間で行われ得る操作を管理できるような、コンピューティング装置及びストレージ装置が割り当てられるドメインの定義を可能にするものである。
【００１７】
クライアントアプリケーションは、定義された、個々のコンピューティング装置に関連する規則を施行する。クライアントアプリケーションは、コンピューティング装置に接続される全てのインタフェースを監視し、定義された規則に基づいて、ストレージ装置から、またはそれに対して実行すべき個々の操作についてなされたどの要求を許可すべきかを決定する。
【００１８】
また、管理者アプリケーションは、ストレージ装置をプロビジョニングするために使用される。ストレージ装置のプロビジョニングとは、プロビジョニング済のストレージ装置とコンピューティング装置との間でインタフェースを取ろうとする試みがなされた時、定義された規則に基づいて、コンピューティング装置のクライアントアプリケーションが、ストレージ装置とコンピューティング装置との間のどの操作（もしあれば）を許可すべきかを決定できるように、ストレージ装置に暗号化された情報を書き込むようにする処理を指す。
【００１９】
本出願で説明されるシステムおよび方法の実施形態をよりよく理解し、それらをいかに実現するかをより明瞭に示すため、例として添付の図面を参照する。
【発明を実施するための最良の形態】
【００２０】
従来のネットワーク１０内に見られる様々な構成要素を例示する構成図を示す図１を参照する。この従来のネットワーク１０を使用して、組織、または（ホームオフィスネットワークのような）他のエンティティに関連するネットワーク内に見出される様々なコンピューティング装置を表す。組織ネットワーク１０は関連する１つまたは複数のサーバ１２を有してもよい。サーバ１２は様々な目的のために設計し使用してよい。サーバ１２は、ファイルサーバ、プリントサーバ、ウェブサーバ、メールサーバ、ＬＡＮサーバとして機能してもよく、一般に何らかの機能を担当する中央コンピュータプロセッサが必要とされる場合使用されるものであってよい。従来のネットワーク１０のユーザは、サーバに接続されると、サーバからのプログラム、ファイル、および他の情報にアクセスすることができる。ネットワーク１０内で一般に利用されるサーバはウェブサーバ、メールサーバ、およびＬＡＮサーバである。例示の目的で、図１では１つのサーバを示す。しかし、ネットワーク１０は関連する多数のサーバ１２、または様々なタスクを実行できる１つのサーバ１２を有してもよい。
【００２１】
従来のネットワーク１０は関連するコンピューティング装置１４を有する。コンピューティング装置１４は、パーソナルデスクトップコンピュータ、ワークステーションコンピュータ、サーバコンピュータ、ラップトップコンピュータ、またはモバイル／ハンドヘルドコンピュータを含むが、それらに制限されない。コンピューティング装置１４は、有線または無線接続によってサーバ１２に接続してもよい。
【００２２】
各コンピューティング装置１４は関連するストレージ手段１６を有してもよい。ストレージ手段１６はコンピューティング装置１４およびサーバ１２に永久ストレージのための機構を提供する。コンピューティング装置１２は一般に、コンピューティング装置１４上に配置されるか、またはサーバ１２に関連するストレージ手段１６を使用してもよい。
【００２３】
データ転送の必要性の増大に伴って、モバイルストレージ手段１８が使用されるようになっている。モバイルストレージ手段１８は、ＵＳＢフラッシュドライブ、ＣＤ、ＤＶＤ、ＺＩＰディスク、ｉＰｏｄ（登録商標）、外部ファイヤワイヤ（登録商標）ドライブ、外部ＵＳＢドライブ、ＰＣＭＣＩＡフラッシュドライブ、ネットワーク接続（無線／有線）ドライブ、およびハードドライブを含んでもよいが、それらに制限されない。ストレージ装置上に格納されたファイル、またはモバイルストレージ装置上に格納されたコンテンツのブロックはモバイルストレージ手段１８と考えてよいということに注意されたい。モバイルストレージ手段１８は従来のストレージ手段１６と比較していろいろな利点を提供する。一例として、ＵＳＢストレージ手段によって（ＵＳＢはストレージ手段のコンピューティング装置１４への接続を可能にする標準ポートである）、ＵＳＢは４８０Ｍｂｐｓ（百万ビット／秒）のデータ転送速度をサポートするが、これはシリアルポートに関連するデータ転送速度よりも著しく高速である。また、ＵＳＢ装置は、コンピューティング装置１４を再起動する必要なしに接続または切断できる。
【００２４】
従来のネットワーク１０では、サーバ１２またはコンピューティング装置１４の何れかに関連するストレージ手段１６上に格納されたデータをモバイルストレージ手段１８に転送してもよい。また、サーバ１２およびコンピューティング装置１４はモバイルストレージ手段１８からデータを読み取ることもできる。モバイルストレージ手段１８は、インタフェース２０によってサーバ１２およびコンピューティング装置１４と通信することができる。インタフェース２０は、サーバ１２およびコンピューティング装置１４とモバイルストレージ手段１８との間の通信手段を提供する。利用し得るインタフェースの例は、ＰＣＩ、ＵＳＢ、ファイヤワイヤ（ＩＥＥＥ１３９４）、ＡＴＡ（ＩＤＥ）、ＳＡＴＡ、ＳＣＳＩ、およびイーサネット、ファイバチャネル、およびＷｉＦｉ（登録商標）（８０２．１１ｘ）を含むネットワークインタフェースを含んでもよいが、それらに制限されない。
【００２５】
モバイルストレージ手段１８とコンピューティング装置１４との間でデータが転送されることがあるため、ストレージ手段１６上に格納されたデータが許可されていないユーザによって悪用およびアクセスされる可能性が存在する。
【００２６】
コンピューティング装置１４とモバイルストレージ手段１８との間の操作を管理する規則から構成される、ポリシを確立するシステムおよび方法が提供される。本出願で使用される場合、規則とは、コンピューティング装置１４とモバイルストレージ手段１８との間のある操作を実行してもよいか否かを決定および管理するものである。
【００２７】
ここで、本発明の暗号制御システム３２によって構成されたネットワークを示す図２を参照する。暗号制御システム３２は、モバイルストレージ手段１８とサーバ１２およびコンピューティング装置１４との間の電子コンテンツ（データ）の交換を制御および管理する。サーバ１２として機能するコンピューティング装置には管理アプリケーション３６がインストールされている。管理者アプリケーション３６は、ネットワーク３０の保守の責任を負う管理者にアクセスが制限されたサーバ１２上にインストールされる。
【００２８】
暗号制御システム３２の一部である各コンピューティング装置１４には、クライアントアプリケーション３８がインストールされているか、またはクライアントアプリケーション３８へのアクセスが可能な状態になっている。クライアントアプリケーション３８は、以下でさらに詳細に説明するように、管理者によって個々のコンピューティング装置１４についてカスタマイズされるソフトウェアアプリケーションである。以下でさらに詳細に説明するように、クライアントアプリケーション３８は、モバイルストレージ手段１８とコンピューティング装置１４との間の操作を制御および管理するように機能する。
【００２９】
暗号制御システム３２では、モバイルストレージ手段１８にモバイル装置モジュール４０をインストールしてもよい。モバイル装置モジュール４０をインストールしたモバイルストレージ手段をプロビジョニング済モバイルストレージ手段１８と呼ぶ。モバイル装置モジュール４０をインストールしていないモバイルストレージ手段１８は未プロビジョニングと呼ばれる。モバイル装置モジュール４０は、暗号制御システム３２内のコンピューティング装置１４が、モバイルストレージ手段１８とコンピューティング装置との間の個々の操作を実行してよいか否かを決定できるような手段を提供する。モバイル装置情報モジュール４０は、モバイルストレージ手段１８上に書き込まれる暗号化データを収容する。暗号化データは、モバイルストレージ手段１８に関連する情報のコンピューティング装置１４による識別を可能にするものであり、コンピューティング装置１４とモバイルストレージ手段１８との間の操作が実行可能か否かを決定するために使用される。また、以下で説明するように、プロビジョニング済モバイルストレージ手段１８に書き込まれる全てのデータは暗号化される。モバイル装置モジュール４０のコンテンツを以下でさらに詳細に説明する。
【００３０】
ここで、管理者アプリケーション３６、およびその構成要素をより詳細に図示する図３を参照する。管理者アプリケーション３６は、プロビジョニングモジュール４４、ポリシ定義モジュール４６、セキュリティドメインモジュール４８、導入モジュール５０、暗号化モジュール５２、および基本設定モジュール５４を含むがそれらに制限されない様々なモジュールから構成されている。プロビジョニングモジュール４４は、以下で説明するように、モバイルストレージ手段１８上に収容されるストレージにモバイル装置モジュール４０を書き込むために使用される。ポリシ定義モジュール４６は、コンピューティング装置１４とモバイルストレージ手段１８との間で許容できる操作を定義する規則から構成される様々なポリシを定義するために管理者によって使用される。規則は、コンピューティング装置１４とモバイルストレージ手段１８との間で行われ得る様々な操作を制御するために使用される。セキュリティドメインモジュール４８は、暗号制御システム３２内の様々なセキュリティドメインを定義するために使用される。以下でさらに詳細に説明するように、セキュリティドメインは、様々なコンピューティング装置１４をグループ分けする方法として機能する。例えば、組織ネットワーク３０内の全てのコンピューティング装置１４は１つのセキュリティドメインに属してもよく、またネットワーク３０に関連する様々なドメインに分割されてもよい。導入モジュール５０は、個々のコンピューティング装置１４上にインストールすべきクライアントアプリケーション３８を定義するため管理者によって使用される。暗号化モジュール５２は、以下でさらに説明するように、クライアントアプリケーション３８およびモバイルストレージモジュール４０のコンテンツの暗号化に関して使用される暗号化設定の管理者による修正を可能にする。基本設定モジュール５４はさらに、管理者アプリケーション３６に関連するセキュリティ設定の管理者による修正および保存を可能にするものであり、以下で詳細に説明する。
【００３１】
クライアントアプリケーション３８の構成要素を示す図４を参照する。クライアントアプリケーション３８は、コンピューティング装置１４とモバイルストレージ手段１８との間で行われ得る操作に関して定義された規則を施行する。クライアントアプリケーション３８は、コンピューティング装置１４に接続する全てのインタフェース２０を監視し、コンピューティング装置１４とモバイルストレージ手段１８との間でどの種類の操作が試みられているかを決定する。クライアントアプリケーション３８は、コンピューティング装置１４のオペレーティングシステムに関連する装置ドライバと通信し、定義された規則を施行する。クライアントアプリケーション３８は、各コンピューティング装置１４について管理者アプリケーション３６によってカスタマイズされるソフトウェアアプリケーションであり、コンピューティング装置１４上にインストールされる。クライアントアプリケーション３８は、ファイアウォールモジュール６０、ポリシモジュール６２、および監視モジュール６４から構成される。ファイアウォールモジュール６０は、以下でさらに詳細に説明するように、ポリシモジュール６２中に定義され組み込まれた規則を施行することによって、コンピューティング装置１４とモバイルストレージ手段１８との間で行われ得る操作を制御する。ポリシモジュール６２は、個々のコンピューティング装置１４について定義された様々な規則を含む。監視モジュール６４は、ポリシモジュール６２の決定に応じて適切な操作が実行されるように、コンピューティング装置１４によって、またはコンピューティング装置１４に対してなされるデータに対する全ての要求を監視するために使用される。クライアントアプリケーション３８は暗号で保護されており、クライアントアプリケーション３８のデータを改竄することはできない。１つの実施形態では、クライアントアプリケーション３８は、パスワードベースのＨＭＡＣ−ＳＨＡ２５６（ＦＩＰＳ１８０−２、セキュアハッシュスタンダード、ＮＩＳＴ）のような安全な署名によって暗号で保護されている。クライアントアプリケーション３８が改竄された場合、この署名の変化が検出される。
【００３２】
本発明の１つの実施形態を参照して暗号制御システムの操作を説明する。管理者アプリケーション３６がインストールされた後、暗号制御システム３２の操作に関する動作の経路に関して多様なオプションが選択可能である。管理者アプリケーション３６は周知の手段を利用してインストールされる。
【００３３】
ここで、１つの実施形態に係る管理者オプションメニュー１００の例のスクリーンショットを示す図５を参照する。管理者は、管理者オプションメニュー画面１００上で管理者に対して提示されるオプションから選択することができる。１つの実施形態では、管理者オプションメニュー１００は、管理者が選択し得る、メディアマネージャアイコン１０２、ポリシマネージャアイコン１０４、セキュリティドメインマネージャアイコン１０６、導入設定アイコン１０８、暗号化ポリシアイコン１１０、および基本設定アイコン１１２といったオプションを含む。
【００３４】
１つの組織のために暗号制御システム３２を設定するため、管理者は１つのセキュリティドメインを必要とする。少なくとも１つのセキュリティドメインを設定するため、セキュリティドメインマネージャアイコン１０６を選択する。セキュリティドメインマネージャアイコン１０６を選択した結果ユーザに対して表示されるセキュリティドメイン画面１３０を示す図６を参照する。本発明の暗号制御システム３２は、個々の組織ネットワークについての様々なセキュリティドメインおよびセキュリティサブドメインの定義を可能にする。
【００３５】
セキュリティドメインおよびセキュリティサブドメインの概念をさらに例示するため、組織ネットワーク３０内で全てのコンピューティング装置がセキュリティドメイン１９０に属していることを示す図７を参照する。また、セキュリティドメイン１９０内に、１つまたは複数のオプションのセキュリティサブドメイン１９２が存在してもよい。図７では、セキュリティサブドメイン１９２ａおよびセキュリティサブドメイン１９２ｂという２つのセキュリティサブドメインが例示されている。セキュリティサブドメインは一般に、組織内の特定の部門に関連する全てのコンピューティング装置を含むように編成されるか、または様々なコンピューティング装置１４間の何らかの他の論理関係に基づいて編成される。モバイルストレージ手段１８をセキュリティサブドメイン１９２に関連させることによって、暗号制御システム３２は、確実に、同じセキュリティサブドメイン１９２の一部でないコンピューティング装置１４間でデータを転送するためにモバイルストレージ手段１８を使用できないようにすることができる。データ転送のこうした制限は、データの所有権が特定の部門に属するとみなされ、他の部門のメンバがそのデータにアクセスしないことが望ましい場合の組織内で望ましい。本発明の別の実施形態では、複数のセキュリティドメイン１９０が組織ネットワーク３０に関連することもあり得る。
【００３６】
再び、セキュリティドメインメニュー１３０の例を１つの実施形態で示す図６を参照する。セキュリティドメイン画面１３０は、セキュリティドメイン１９０およびセキュリティサブドメイン１９２をどのように定義すればよいかという１つの実施形態を例示する。セキュリティドメイン画面１３０は、セキュリティドメインフィールド１３２、新規セキュリティドメインフラグ１３４、新規セキュリティサブドメインフラグ１３６、およびセキュリティサブドメインフィールド１３８を有する。管理者は、新規セキュリティドメインフラグ１３４を使用して、新しいセキュリティドメイン１９０を作成することができる。新規セキュリティドメインフラグ１３４を選択すると、管理者は、セキュリティドメインフィールド１３２に、自分が希望するセキュリティドメイン１９０の名前を入力することができる。管理者が既存のセキュリティドメイン１９０に新しいセキュリティサブドメイン１９２を追加することを希望する場合、管理者は１つのセキュリティドメイン１９０を選択する。管理者は、セキュリティサブドメインフラグ１３６およびセキュリティサブドメインフィールド１３８を使用することによって、それを行うことができる。
【００３７】
管理者は、希望する数のセキュリティドメインおよびセキュリティサブドメイン１９２を定義することができる。管理者が少なくとも１つのセキュリティドメイン１９０を指定した場合、管理者はコンピューティング装置１４またはユーザに関連するポリシを指定することができる。ポリシという用語は、モバイルストレージ手段１８とコンピューティング装置１４との間で許可される操作を定義する規則の集合をあらわすために使用される。ポリシは１人の特定のユーザに関して管理者が定義してもよく、またユーザのクラスについて定義してもよい。１つの実施形態では、管理者は、ポリシマネージャアイコン１０４を選択することによって、操作を管理するポリシを指定することができる。暗号制御システム３２の中では、１つの管理ネットワーク３０について複数のポリシを指定してもよい。
【００３８】
ここで、１つの例示実施形態でポリシ指定方法２００の各ステップを示す図８を参照する。ポリシ指定方法２００は、プロビジョニング済および未プロビジョニングの装置に関して許可される操作を指定するため管理者によって使用される。ポリシ指定方法２００の各ステップを実行するために管理者によって使用されるポリシエディタメニュー１５０の１つの実施形態を示す図９を参照してポリシ指定方法２００を説明する。ポリシ指定方法２００は、管理者がポリシマネージャアイコン１０４を選択することによって呼び出される。
【００３９】
ここで、ポリシエディタメニュー１５０を示す図９を参照する。ポリシエディタメニュー１５０は、ポリシ名フィールド１５２、修正設定フィールド１５４、メディアインタフェースフィールド１５６、プロビジョニング済フィールド１５８、未プロビジョニングフィールド１６０、制限アクセスタブ１６２、保存ボタン１６４、およびキャンセルボタン１６６を含んでいる。ポリシエディタメニューは、モバイルストレージ手段１８とコンピューティング装置１４との間で許可される操作を定義するポリシを定義または更新するために管理者によって使用される。
【００４０】
ポリシ指定方法２００はステップ２０２で開始され、そこでは作成または編集される特定のポリシの名前がポリシ名フィールド１５２に入力される。管理者は、ポリシ指定方法の一部として含まれる様々な種類のコンピューティング装置１４を追加および削除することができる。作成または修正するポリシの名前を指定すると、ステップ２０４で、管理者は、アクセス制限フィールド１６２を使用することによって、このポリシについて全てのデータ操作を制限するオプションを有する。管理者がアクセス制限フィールド１６２を選択した場合、このポリシに関連するコンピューティング装置１４は、あらゆるモバイルストレージ手段１８と対話できなくなる。
【００４１】
そして、ポリシ指定方法２００はステップ２０６に進む。ここで、管理者は、修正設定フィールド１５６を使用することによって修正すべき設定を指定する。１つの実施形態では、ユーザはパスワード設定、またはモバイル装置制御設定、またはロック設定を修正することを選択してもよい。ユーザがパスワード設定の修正を選択した場合、方法２００はステップ２０８に進む。ステップ２０８では、ユーザは、管理者や管理者アプリケーションへアクセスし得る任意の他のユーザに関連する任意のパスワード要求を指定することができる。ステップ２０８が完了すると、方法２００はステップ２０６に戻り、そこでは管理者は他の設定を修正してもよい。
【００４２】
ステップ２０６で、ユーザがモバイル装置制御を指定するオプションを選択した場合、方法２００はステップ２１０に進む。ステップ２１０では、管理者は、コンピューティング装置１４とプロビジョニング済または未プロビジョニングのモバイルストレージ手段１８との間で許可されるデータ操作の種類を指定することができる。ステップ２１０では、管理者は許可および／または制限される様々な操作を選択することができる。操作とは、コンピューティング装置１４とモバイルストレージ手段１８との間で行われ得る様々な動作を表す。操作は、マウント操作、コピー操作、削除操作、安全な削除操作、読み取り操作、書き込み操作、伝送操作、実行操作、およびブロック操作を含んでもよいが、それらに制限されない。
【００４３】
マウント操作は、モバイルストレージ手段１８上に収容されるデータにアクセスできるようにモバイルストレージ手段１８とコンピューティング装置１４とのインタフェースを取ることを意味する。コピー操作は、モバイルストレージ手段１８上に格納されたデータのコピーを行う処理に関わる。削除操作は、モバイルストレージ手段１８からデータを削除することに関わる。削除操作と安全な削除操作との違いは、安全な削除操作は削除を要求されたデータに上書きを行うが、削除操作はファイルディレクトリインデックスからデータに関連するファイルの名前を除去するが実際にデータを削除するわけではないという点にある。読み取り操作は、モバイルストレージ手段１８からのデータの取り出しに関わる。書き込み操作は、モバイルストレージ手段１８にデータを書き込む処理に関わる。伝送操作は、インタフェースを介して情報を伝送する処理に関わる。実行操作は、実行可能形式でモバイルストレージ手段１８上に格納されるデータを読み取る処理に関わる。
【００４４】
そして、方法２００はステップ２１２に進む。ここで、１つの実施形態では、管理者は、メディアインタフェースフィールド１５６で参照される各プロビジョニング済モバイルストレージ手段１８について、許可される様々なデータ操作を選択してもよい。詳しく言うと、管理者は、ブロックタブ１５８ａを選択することによって、特定の種類のプロビジョニング済モバイルストレージ手段１８との間でデータ操作が実行されないように指定してもよい。ブロックタブ１５８ａが選択されている場合、所定のポリシは、コンピューティング装置１４とプロビジョニング済モバイルストレージ手段１８との間の全てのデータ操作を許可しない。管理者は、両者間のデータ操作のブロックを選択する代わりに、読み取り専用タブ１５８ｂを選択することによって、プロビジョニング済モバイルストレージ手段１８からの読み取りだけをコンピューティング装置１４に許可してもよい。また、管理者は、読み取り／書き込みタブ１５８ｃを選択してもよく、この場合、プロビジョニング済モバイルストレージ手段１８について、特定のポリシに関連するコンピューティング装置１４は、モバイルストレージ手段１８からの読み取りおよびそれへの書き込みを行うことができる。
【００４５】
そして、ポリシ指定方法２００はステップ２１４に進む。ここで、未プロビジョニングのモバイルストレージ手段１８とコンピューティング装置１４との間で許可可能な操作が指定される。１つの実施形態では、管理者は、２つのオプションのうち、未プロビジョニングのモバイルストレージ手段１８とコンピューティング装置１４との間の全てのデータ操作をブロックするか、または読み取り専用操作を許可するかの何れかを選択する。しかし、他の操作も定義可能であることに注意されたい。管理者は、ブロックタブ１６０ａを選択することによって、データ操作のブロックを選択できる。この実施形態では、管理者は読み取り操作のみを許可するオプションを有し、その場合コンピューティング装置１４は、未プロビジョニングのモバイル装置１８から読み取りを行うことができる。管理者は、読み取り専用タブ１６０ｂによって読み取り操作だけを許可することができる。管理者がポリシ指定方法２００のここまでのステップを完了すると、方法２００はステップ２１６に進んでもよい。ステップ２１６では、管理者は、ステップ２１２および２１４で指定された様々な規則を保存するため保存ボタン１６４を選択し、ポリシ設定はファイルに保存される。一旦保存されると、ポリシ設定は修正のために取り出すことができる。ステップ２１４が完了すると、管理者は他の設定を修正することを選択してステップ２０６に戻ってもよい。
【００４６】
ステップ２０６で、管理者がモバイル装置１８のロックに関する設定の修正を選択した場合、方法２００はステップ２１８に進む。１つの実施形態では、ステップ２１８は、プロビジョニング済モバイルストレージ手段に関連するセキュリティサブドメイン１９２に基づくモバイルストレージ手段１８へのアクセスのブロックに関する。ポリシエディタロックメニュー１８０の例の１つの実施形態を示す図１０を参照する。ポリシエディタロックメニュー１８０は、ユーザがステップ２１８に進むことを選択すると、ユーザに対して表示される。１つの実施形態では、ポリシエディタロックメニュー１８０は、セキュリティサブドメインロックフィールド１８２、ユーザＩＤロックフィールド１８４、およびユーザＩＤ有効化フィールド１８６を含む。セキュリティサブドメインフィールド１８２を使用して「オン」オプションを選択することによって、コンピューティング装置１４は、他のセキュリティサブドメイン１９２に関連するモバイルストレージ手段１８にアクセスすることはできなくなる。ユーザＩＤロックフィールド１８４がアクティブになると、コンピューティング装置１４とインタフェースを有する第１のモバイルストレージ手段１８に関連し得るユーザ名がコンピューティング装置１８上に記録される。ユーザ名がコンピューティング装置１８上に記録されると、他のユーザ名に関連するモバイルストレージ手段１８は、そのコンピューティング装置１４によって使用されなくなる。ユーザＩＤ有効化フィールド１８６は、ユーザＩＤロックフィールド１８２によってなされた指定によって提供される制御をアクティブにするかまたは非アクティブにするかを指定するために使用される。
【００４７】
以上、１つの特定実施形態を参照してポリシ指定方法２００のステップを説明した。図８およびポリシエディタメニュー１５０の例から見られるように、ポリシ指定方法２００のステップは様々な順序で実行してよく、ポリシ指定方法２００について説明されたステップは、ポリシを定義するために実行し得るステップの１つの可能な順序を例示するために提供されるものである。
【００４８】
例示したようにポリシ指定方法２００を使用して、指定済の規則に基づいて様々に異なるポリシを定義してもよい。一旦少なくとも１つのポリシが１つのセキュリティドメインと共に定義されると、コンピューティング装置１４は、クライアントアプリケーション３８をインストールし得る暗号制御システム３２の一部となる。クライアントアプリケーション３８は、暗号制御システム３２の一部となるコンピューティング装置１４上にインストールされる。
【００４９】
コンピューティング装置１４上にインストールするようにクライアントアプリケーション３８を準備するため、管理者は、管理者アプリケーション３６の一部である導入モジュール５０を利用する。１つの実施形態では、導入モジュール５０は、管理者が管理者オプションメニュー１００から導入設定アイコン１０８を選択すると呼び出される。ここで、クライアントアプリケーション準備方法２５０の各ステップを１つの実施形態で図示する図１１を参照する。クライアントアプリケーション準備方法２５０によって、管理者は、コンピューティング装置１４とモバイルストレージ手段１８との間で行われ得る許可可能な操作に関してカスタマイズされた、特定のコンピューティング装置１４上にインストールされるクライアントアプリケーション３８を作成できる。１つの実施形態では、クライアントアプリケーション３８は関連するセキュリティドメイン１９０、オプションのセキュリティサブドメイン１９２、およびポリシ指定方法２００を通じて定義されたポリシを有する。
【００５０】
導入設定メニュー２７０を１つの実施形態で示す図１２を参照し、クライアントアプリケーション準備方法２５０の各ステップをさらに例示する。導入設定メニュー２７０は、導入設定アイコン１０８が選択されると、管理者に対して表示される。１つの実施形態では、導入設定メニュー２７０は、セキュリティドメインフィールド２７２、セキュリティサブドメイン２７４、ポリシフィールド２７６、保存アイコン２７８、およびキャンセルフィールド２８０を備える。
【００５１】
クライアントアプリケーション準備方法２５０はステップ２５２で開始される。ステップ２５２では、特定のセキュリティドメイン１９０がセキュリティドメインフィールド２５２で指定される。以前に作成した任意のセキュリティドメイン１９０を使用してよい。そして、方法２５０はステップ２５４に進む。ここで、オプションのセキュリティドメイン１９２をセキュリティサブドメインフィールド２７４で指定してもよい。
【００５２】
そして、方法２５０はステップ２５６に進む。ここで、クライアントアプリケーション３８に関連するポリシがポリシフィールド２７６で指定される。ポリシ指定方法２００を通じて定義したポリシをステップ２５６で指定してよい。
【００５３】
そして、方法２５０はステップ２５８に進む。ここで、指定された設定（セキュリティドメイン１９０、セキュリティサブドメイン１９２、およびポリシ）が保存され導入ファイルが作成される。
【００５４】
暗号制御システム３２内では、様々なクライアントアプリケーション３８を指定できる。様々なポリシおよびセキュリティドメインおよびセキュリティサブドメインを定義できるので、クライアントアプリケーション３８は、特定のコンピューティング装置１４または様々なコンピューティング装置のユーザに適合させることができる。
【００５５】
方法２５０が完了すると、特定のポリシおよびセキュリティドメイン、およびオプションのセキュリティサブドメイン１９２向けのクライアントアプリケーション３８が作成されている。そして、クライアントアプリケーション３８は適当なコンピューティング装置１４上にインストールすることができる。インストールされた時、クライアントアプリケーション３８は暗号で保護されている。クライアントアプリケーション３８のコンテンツを保護するため、様々な形態の暗号化を利用してよい。１つの実施形態では、コンテンツはＡＥＳ２５６ビット暗号によって暗号化されている。また、クライアントアプリケーションの全てのコンテンツは、安全な署名ＨＭＡＣ−ＳＨＡ２５６（ＦＩＰＳ１８０−２、セキュアハッシュスタンダード、ＮＩＳＴ）によって保護されている。また、ＲＳＡまたはＥＣＣといった、非対称公開鍵ベースの暗号化スキームを利用してもよい。
【００５６】
一旦、クライアントアプリケーション３８が、選択されたコンピューティング装置１４上にインストールされると、暗号制御システム３２は動作中となる。クライアントアプリケーション３８はモバイルストレージ手段１８からの、およびモバイルストレージ手段１８への全ての要求を監視する。クライアントアプリケーション３８が、選択されたコンピューティング装置１４上にインストールされると、暗号制御システム３２は、プロビジョニング済および未プロビジョニングのモバイルストレージ手段１８との間の対話を管理することができる。
【００５７】
ここで、プロビジョニング方法３００を参照してモバイルストレージ手段１８のプロビジョニングを説明する。プロビジョニング方法３００の各ステップを１つの例示実施形態で示す図１３を参照する。プロビジョニング方法３００は、ステップ３０２で開始され、そこでは、プロビジョニングするモバイルストレージ手段を、管理者アプリケーションを実行しているコンピューティング装置に接続する。モバイルストレージ手段１８は、インタフェース２０を介してコンピューティング装置１４に接続される。そして、方法３００はステップ３０４に進む。ここで、管理者が、管理者メニュー１００からメディアマネージャアイコン１０４を選択する。メディアマネージャアイコン１０４が選択されると、メディアプロビジョニングメニュー３５０がユーザに対して表示される。ここで、メディアプロビジョニングメニュー３５０の例を１つの例示実施形態で示す図１４を参照する。そして、方法３００はステップ３０６に進む。ここで、モバイルストレージ手段１８が接続するドライブが、メディアロケーションフィールド３５２によって指定される。メディアロケーションフィールド３５２は、ユーザに対して、コンピューティング装置１４に関連するドライブレターを表示する。表示されるドライブレターは、マイクロソフトメニューズ（Ｍｉｃｒｏｓｏｆｔ  Ｍｅｎｕｓ）（登録商標）または使用される何らかの他のオペレーティングシステムに関連するものと同じである。ユーザは、モバイルストレージ手段１８の接続先であるドライブレターを指定する。そして、方法３００はステップ３０８に進む。ここで、モバイルストレージ手段１８に関連する特定のセキュリティドメイン１９０を指定する。モバイルストレージ手段１８は、１つのセキュリティドメイン１９０に関連しなければならない。セキュリティドメイン１９０はセキュリティドメインフィールド３５４で指定される。
【００５８】
そして、方法３００はオプションのステップ３１０に進む。ここで、セキュリティサブドメイン１９２を指定してもよい。セキュリティサブドメイン１９２はセキュリティサブドメインフィールド３５６で指定してよい。そして、方法３００はステップ３１４に進む。ここで、ストレージに関連し得る何らかのメタデータの指定に関して使用されるメディアラベルを指定する。ステップ３１４は、メディアラベルをメディアラベルフィールド３６０に入力することによって達成される。
【００５９】
そして、方法３００はオプションのステップ３１６に進む。ここで、有効期限日を指定してもよい。有効期限日とは、その日の後、モバイルストレージ手段１８が使用できなくなる日付である。ユーザがコンピューティング装置１４に関連する日付を変更して有効期限日に到達しないようにすることのないように、コンピューティング装置１４は、外部の日時サーバを使用して現在の日時を決定してもよい。従って、この場合、コンピューティング装置１４に関連する日付を変更しようとする悪意のある試みが成功することはない。
【００６０】
そして、方法３００はオプションのステップ３１８に進む。ここで、管理者は、モバイルストレージ手段上に収容されたコンテンツの削除を選択してもよい。ステップ３１８で安全な削除操作を選択すると、モバイルストレージ手段１８のストレージの全てのセクタが上書きされる。これは、モバイルストレージ手段１８上に収容されたファイル（もしあれば）を単純に削除するのとは対照的である。安全な削除操作は、削除されるコンテンツに関連するセクタが上書きされることを意味する。安全な削除操作を選択するオプションは、図の３５０中に示される安全な削除ボックス３６２を選択することによって実行される。
【００６１】
そして、方法３００はステップ３２０に進む。ここで、管理者は、以前の全てのステップが正しい情報を指定したことを検証して、モバイルストレージ手段をプロビジョニング済であると指定する。
【００６２】
そして、方法３００はステップ３２２に進む。ここで、モバイルストレージ手段１８上に位置するストレージの未使用セクタにモバイル装置モジュール４０を表すヘッダを書き込むことによって、モバイルストレージ手段１８がプロビジョニングされる。モバイルストレージ手段１８に関連するストレージ４００を例示のみの目的で示す図１５を参照する。図１５は、モバイルストレージ手段１８上に位置するストレージ４００の例示構造を示す。モバイルストレージ手段１８のストレージ４００は一般に、モバイル装置モジュール４０およびストレージブロック４０２という２つの領域に分割してよい。モバイル装置モジュール４０は、モバイルストレージ手段１８のストレージブロック４０２へのアクセスを制御する情報を収容する。詳しく言うと、モバイル装置モジュール４０中に収容される情報は、プロビジョニング方法３００で指定されたオプションに基づいている。
【００６３】
１つの実施形態では、モバイル装置モジュール４０は、モバイル装置モジュール４０を識別するために使用される一意識別子４１４を含む。また、１つの実施形態では、ヘッダブロックは、セキュリティドメインのハッシュ４１６、セキュリティサブドメインが指定されている場合セキュリティサブドメインのハッシュ４１８、ユーザＩＤ４２０、有効期限日４２２、プロビジョニング日付４２４、暗号情報４２６、暗号鍵４２８、および署名４３０を含む。ヘッダブロックに関連する様々な属性を暗号化してもよく、特に、暗号鍵４２８を暗号化してもよい。１つの実施形態では、セキュリティドメインのハッシュ４１６は、プロビジョニング方法３００の一部として指定されたセキュリティドメイン１９０のＳＨＡ２５６ハッシュである。１つの実施形態では、セキュリティサブドメインのハッシュ４１８は、プロビジョニング方法３００の一部として指定されている場合、セキュリティサブドメイン１９２のＳＨＡ２５６ハッシュである。暗号情報４２６は、利用される暗号化の種類（例えば、ＡＥＳまたはＤＥＳの何れか）を、使用される暗号化の強度（例えば、１２８ビットまたは２５６ビット）と共に表す。以下でさらに詳細に説明するように、暗号鍵４２８は、モバイルストレージ手段１８に書き込まれる全てのデータを暗号化するために使用される鍵である。１つの実施形態では、暗号鍵４２８は最初にモバイル装置１８に書き込まれた時に、デフォルトのパスワードによって暗号化される。そして、プロビジョニングされたモバイルストレージ手段１８が、暗号制御システム３２の一部であるコンピューティング装置１４とインタフェースを取るために使用される時、ユーザは自分のパスワードを入力して指定されているデフォルトのパスワードを変更するように要求される。そして、ユーザのパスワードを使用して暗号鍵４２８を暗号化する。１つの実施形態では、署名フィールド４３２は、モバイル装置モジュール４０のコンテンツが変更されたか否かを決定するために暗号制御システム３２によって使用されるＨＭＡＣ−ＳＨＡ２５６署名を収容する。
【００６４】
モバイルストレージ装置上に暗号鍵４２８を格納した結果、（規則によって書き込み操作が許可されると決定される場合）モバイルストレージ装置１８に書き込まれるデータは、暗号鍵４２８によって暗号化される。ユーザが、暗号制御システム３２の一部でないコンピューティング装置１４を使用してプロビジョニング済のモバイルストレージ手段１８にアクセスしようとする場合、データが暗号化されているためコンピューティング装置１４はデータにアクセスできず、適切な解読を実行することができない。
【００６５】
ここで、ユーザログインメニュー４５０の例を示す図１６を参照する。クライアントアプリケーション３８をインストールしたコンピューティング装置１４とプロビジョニング済のモバイルストレージ装置１８とのインタフェースを取ろうとする試みがなされると、ログイン画面がユーザに提示される。１つの実施形態では、ログイン画面はユーザログインメニュー４５０でもよい。ユーザログインメニュー４５０は、ユーザが、暗号制御システム３２の一部であるコンピューティング装置１４によってプロビジョニング済のモバイル装置１８を初めて使用しようとする時に表示されるものである。ユーザは、ユーザログインメニュー４５０で新しいパスワードを指定するように要求される。新しいパスワードは、暗号鍵４２８を暗号化するために使用される。
【００６６】
その後、暗号制御システムの一部であるコンピューティング装置１４とプロビジョニング済のモバイルストレージ装置１８とのインタフェースを取る試みがなされると、クライアントアプリケーション３８はアクセス制御方法４６０を利用して、モバイルストレージ手段１８とコンピューティング装置１４との間で操作が許可されているか否かを決定する。アクセス制御方法４６０の各ステップを１つの実施形態で示す図１７を参照する。
【００６７】
アクセス制御方法４６０は、クライアントアプリケーション３８がインストールされているコンピューティング装置１４にプロビジョニング済のモバイルストレージ装置１８が接続される際に開始される。方法４６０はステップ４６２で開始され、そこでは、ユーザが、モバイルストレージ装置１８に関連するパスワードを入力するように促される。そして、方法４６０はステップ４６４に進み、ステップ４６２でユーザが入力したパスワードが有効か否かを決定する。この実施形態では、パスワードは永久に格納されず、入力されたパスワードの有効性を決定するために使用される鍵導出関数として機能する。ステップ４６４でユーザが有効なパスワードを入力したと決定されると、方法４６０はステップ４６６に進む。ステップ４６６では、セキュリティドメインのハッシュ４１６が、クライアントアプリケーション３８が保持するセキュリティドメインのハッシュと比較される。一致すれば、方法４６０はステップ４６８に進む。ここで、セキュリティサブドメイン１９２が指定されている場合、セキュリティサブドメインのハッシュ４１８が、クライアントアプリケーション３８が保持するセキュリティサブドメインのハッシュと比較される。一致すれば、方法４６０はステップ４７０に進む。ここで、（有効期限日が提供されている場合）プロビジョニング済のモバイルストレージ装置１８に関連しモバイル装置モジュール４０の一部である有効期限日が検査され、日付が有効であるか否かが確認される。ステップ４６４、４６６、４６８または４７０の何れかの結果が肯定でない場合、方法４６０はステップ４７２に進む。ここで、特定のモバイルストレージ手段１８へのコンピューティング装置１４のアクセスが拒否される。ステップ４６４、４６６、４６８および４７０の結果が全て肯定の場合、方法４６０はステップ４７４に進む。ここで、モバイルストレージ手段１８へのアクセスが許可され、任意の他の組織の試行が適当なポリシ中に含まれる規則に基づいて評価されることになる。
【００６８】
ここで、コンピューティング装置１４の構成要素とモバイルストレージ手段１８との間の対話を例示する構成図を示す図１８を参照する。クライアントアプリケーション３８がインストールされているという点で暗号制御システム３２の一部であるコンピューティング装置１４について、クライアントアプリケーション３８の監視モジュール６４は、コンピューティング装置１４に関連する全てのインタフェースを監視し、モバイルストレージ手段１８に対する、またはモバイルストレージ手段１８からの何らかの操作が要求されたか否かを決定する。図１７では、アプリケーション４８０は、モバイルストレージ手段１８からのデータを要求し得る、コンピューティング装置１４上に存在するかまたはコンピューティング装置１４に接続された任意のアプリケーションでよい。こうしたアプリケーションの例は例示の目的で提供され、ワープロアプリケーション、ウェブブラウザ、およびデータベースプログラムを含んでもよい。ファイルシステムドライバ４８５は、コンピューティング装置１４上にインストールされたオペレーティングシステムの一部であり、アプリケーションからのデータ要求に応答するために使用される。従来のシステムでは、ファイルシステムドライバ４８５は、特定のロケーションから取り出すべきデータに対するアプリケーション４８０からの要求を受け取り、その要求を下位ドライバ４９０に送るものであった。下位ドライバ４９０は、モバイル装置１８からのデータを最初に受け取るオペレーティングシステムのドライバである。下位ドライバ４９０は、例えば、ボリュームクラスドライバ、ディスククラスドライバおよびポートドライバといった、下位ドライバ４９０の一部となり得る１つより多いドライバから構成してもよい。暗号制御システム３２では、クライアントアプリケーション３８は、ファイルシステムドライバ４８５と下位ドライバ４９０との間の全ての要求を受け取る。クライアントアプリケーション３８は定義された適当なポリシを施行し、ポリシがサポートする操作だけを許可する。
【００６９】
装置アクセス方法５００の各ステップを示す図１９を参照する。装置アクセス方法５００はクライアントアプリケーション３８によって実行され、コンピューティング装置１８がモバイルストレージ手段１８と対話できるか否かを決定するために使用される。
【００７０】
方法５００はステップ５０２で開始され、そこでは、クライアントアプリケーション３８がファイルシステムドライバ４８０からデータに対する要求を受け取る。方法５００は、オペレーティングシステムに関連する任意のドライバからデータに対する要求を受け取ってもよく、ファイルシステムドライバ４８０は、本発明の実施形態に関連する一例として使用されている。そして、方法５００はステップ５０４に進み、そこで、要求に関する情報が識別される。要求に関する情報は、要求の発行元および要求の対象となる装置に関する情報、並びに、装置１８がプロビジョニング済装置または未プロビジョニング装置のいずれであるかといった、特定の装置１８に関する情報を含んでもよい。
【００７１】
そして、方法５００はステップ５０６に進む。ここで、クライアントアプリケーション３８に関連するポリシを取り出す。ポリシは、上記で説明したように管理者によって定義されたものであり、それぞれのコンピューティング装置に関連する規則の集合を備える。そして、方法５００はステップ５０８に進み、ステップ５０４で取り出した情報を考慮して、管理者が定義した規則を分析することによって、要求が許可できるか否かを決定する。ステップ５０８で、要求を許可できると決定された場合、方法５００はステップ５１２に進み、そこで、要求が許可される。ステップ５０８で、規則が要求を許可しないと決定された場合、方法５００はステップ５１０に進む。ここで、要求が拒否され、下位ドライバ４８０は、要求が拒否されたことを通知される。
【００７２】
これまで説明したデータの暗号化の際に使用される鍵は、鍵管理システムで利用される鍵導出階層を使用して導出される。以下においてルート鍵と呼ばれる鍵は暗号制御システム１０に関連する。ルート鍵は、対称鍵または非対称鍵でよく、（例えば、モバイルストレージモジュールの一部である暗号鍵３６６のような）暗号化の際に使用される鍵を導出するために、暗号制御システム１０によって使用される。
【００７３】
次の節では、「鍵管理」という表題の下で、鍵管理システムを説明する。
【００７４】
１つの例示実施形態では、プロビジョニング情報に対してなされた更新または一時的なポリシのバイパスが確実に許可されるように、専用の動的に生成されるコードを利用してもよい。コードは、コードの以前の値を知っていてもその次の値を予測するのが確実に困難であるような周知のアルゴリズムを使用して、種データと呼ばれるものから生成してもよい。擬似乱数生成器はそうしたアルゴリズムの良い例である。種データはコンピューティングステーションに固有ではなく、ランダムであるべきである。種情報と、経過時間、ネットワークロケーション、等といったいくつかの外部条件とに基づいて生成されるコードは、動的デジタル署名と同様の働きをする。コードまたは動的署名は、種データおよび外部条件の双方の変化に基づいて変化する。これによって、コンピューティング装置のための認証機構が提供される。種が前もってコンピューティング装置に安全に配布され、外部条件が既知であれば、ポリシの変化と共に供給されるコードは、その変化に従って機能する前にコンピューティング装置によって検証することができる。
【００７５】
鍵管理システムは安全な鍵を使用して認証、完全性検査、暗号化／解読を実行するので、鍵管理はその寿命全体を通じてＣＣＦＳ全体のセキュリティに責任を負う非常に重要な構成要素である。
【００７６】
鍵管理プロトコルは、１）強力な暗号化、２）十分なスループット、３）鍵回復、４）ワンステップ電子データシュレッド、５）良好な鍵の予測不可能性、および６）ポリシ主導のデータアクセス、をサポートする。
【００７７】
鍵管理（ＫＭ）は、頂点にある１つのマスタ鍵（ＭＫ）とその下の従属鍵のツリーとによる階層的鍵モデルを使用する。レベルＮの各鍵は、レベルＮ−１のその親、並びにＮレベルのセキュリティオフィサおよび、場合によっては、他のＮレベルの秘密保持者によって生成された種メッセージに依存する（レベル０が最上位で、レベル１が次位、以下それに続く）。一方、そのＮ＋１レベルの子鍵を導出するには、レベルＮの鍵を使用しなければならない。ＭＫ以外の各鍵は正確に１つの親を有するが、それに関連する多くの子鍵を有し得る。関連とは、その親鍵を種メッセージに適用することによって、チケット（下記参照）および専用鍵導出関数（ＫＤＦ）が子鍵を導出できるということである。
【００７８】
ＭＫ以外の各鍵は、垂直および水平両方向に依存する（下記の式参照）。ＫＤＦとして、ＫＭＳはパスワードベース鍵導出関数−ＰＢＫＤＦ（例えば、ＰＫＣＳ＃５  ｖ２標準に記載のＰＢＫＤＦ２）を使用する。ＰＢＫＤＦは良好な鍵エントロピーを示す（特徴５）。ＫＭＳでは、ＰＢＫＤＦのための種として、Ｍ個のプライベートパスワードから種を生成し、それらのうち任意のＫ個を使用して種を再生できる（ＭおよびＫ（Ｋ≦Ｍ−１）の値は設定可能である）、シャミアの鍵分割スキームか、またはストレートパスワードかの何れかをサポートする。これは上記の特徴（６）に対処する。ＫＭＳプロトコルは、対称型の高度暗号標準−ＡＥＳを利用することによって（例えば、ＡＥＳ−２５６を使用することによって）、特徴（１）に対処する。ＡＥＳ暗号は非常に強力であると共に大きなスループットを可能にし、ソフトウェアのみによっても達成できる（上記の特徴１、２）。鍵は、ユーザログインおよびＰＢＫＤＦを使用したパスワードによってラップされた媒体上に格納される。これは鍵の配布を容易にする。
【００７９】
容易なワンステップ暗号シュレッドを促進するため、ＭＫ以外の各レベルの鍵は共有チケットを有する。チケットは、（各鍵に一意の）種と共にそのレベルの鍵を導出するために使用されるＳＨＡの半分のバイト数のメッセージである。何れかのレベルでチケットを破壊することによって、そのレベル（を含む）から下位の全ての鍵が事実上回復不能になる。
【００８０】
各レベルのチケットは、ＨＳＭに格納されユーザＩＤおよびパスワードによってアクセス可能となるか、またはローカルに格納され、例えば、ＰＫＣＳ＃５プロトコルを使用したラップが可能になる。Ｎ＋１レベルの鍵を回復しなければならない時はいつでも、秘密保持者はその秘密を供給しなければならず、関連するチケットを取得しなければならない。そのレベルのチケットを取得する処理は専用アプリケーションによって一度だけ可能になり、その後そのレベルの全ての鍵が作成／回復可能になる。
【００８１】
以下、鍵管理システムで利用される鍵導出関数の例を示す。
ＰｒＫ、ＰｕｂＫはＭＫＰのプライベート鍵および公開鍵である。
Ｐ１、Ｐ２、・・・は、ＭＫのための種（シャミアの技術用語における共有秘密）を生成する、パスワード保持者のパスワードである。
ＳＨＡＭＩＲ−シャミアの鍵分割手順。
ＳＨＡ−安全なハッシュ関数（例えば、３２バイトのフィンガープリントを生成するＳＨＡ２）。
ＰＢＫＤＦ−パスワード主導鍵導出関数。
ＡＥＳｎ−レベルＮのＡＥＳ鍵。
この場合、鍵導出処理は以下の通りである。
ＭＫ導出：
ＰＢＫＤＦ（ＰｒＫ（ＳＨＡ（ＳＨＡＭＩＲ（Ｐ１，Ｐ２，．．．，ＰＭ））））＝ＡＥＳ0
そして、ＭＫフィンガープリント（ＭＫＦ）を以下のように計算する。
ＰｕｂＫ（ＳＨＡ（ＳＨＡＭＩＲ（Ｐ１，Ｐ２，．．．，ＰＭ）））＝ＭＫＦ
ＭＫＦは公知であり、これを使用してＭＫが正しく回復されたか否かを検証する。
ＭＫＦを検証するため、
１）ＨＳＭはＰｒＫを使用してＭＫＦを解読しＳＨＡ（ＳＨＡＭＩＲ（Ｐ１，Ｐ２，．．．））を得る。
２）ＳＨＡＭＩＲ関数を適用して種：ＳＨＡＭＩＲ（Ｐ１，Ｐ２，．．．）を得る。
３）種に対するＳＨＡを計算する。
４）３）の結果を１）と比較する。
どちらの式もＰ１，．．．，ＰＫである入力のみによってＨＳＭにおいて実現されなければならない。
【００８２】
レベルＮ＋１の鍵導出は以下の式を通じて達成される。
ＰＢＫＤＦ（ＡＥＳｎ（＜ＳＨＡの前半（種｜Ｔ）＞））＝ＡＥＳn+1
【００８３】
ここで、ＴはＮレベルのチケットであり、演算「｜」はバイトストリームの連結を意味する。
【００８４】
種は、鍵ＡＥＳn+1の元で保護されようとしているデータを担当するセキュリティオフィサによって選択された秘密、またはＮ＋１レベルの秘密保持者からの入力に対してＳＨＡＭＩＲ手順によって生成された共有秘密の何れかでもよい。鍵管理システムで選択できるようになっている。
【００８５】
各ルート鍵は鍵階層の始点であり、ルートから直接的または間接的に導出される鍵によって保護されるオブジェクトの集合であるセキュリティドメインを定義する。異なるドメインのオブジェクトは解読できないので、アクセスできない。ドメインは暗号境界を表すが、これは多くのセキュリティ規則に適合しなければならないため重要である。同じ暗号機構を適用することによって、任意の数のセキュリティサブドメインを作成することができる。例えば、いくつかのチケットが同じバイトサブセットを有する場合、それらは事実上同じサブドメインに入る。共有チケット情報を知られないようにすることによって、オブジェクトはアクセスされなくなる。従って、鍵によって暗号操作を実行する任意のアプリケーションは、ドメインおよびサブドメイン両方の制限に基づいてアクセスポリシを課すことができる。十分に長いチケットを適用することによって、任意の望ましいレベルを達成できる。ドメイン／サブドメイン制限を促進するため、鍵を生成するのと同時に、（例えば、大きな一意の整数の形態で）ドメイン／サブドメインＩＤを生成してもよい。
【００８６】
ＭＫ以外のＮレベルの鍵はどれも、ラップされた鍵と共に媒体上にローカルに格納されたポリシファイルを有しなければならない（鍵のラップについては鍵配布の節を参照）。鍵ポリシファイルはＸ．５０９  ｖ３証明書またはバイナリファイルとして符号化してもよい。
【００８７】
ポリシファイルは、ポリシ作成日、鍵の有効期限日、アクセスレベル（管理者、または外部ユーザの何れか）、暗号形態のセキュリティドメインＩＤまたはそのＳＨＡ、暗号形態のセキュリティサブドメインＩＤまたはそのＳＨＡ、確認スケジュール（ポリシを確認する時間間隔）、鍵に関連するユーザのログイン名（何人かのユーザを同じ鍵に関連させてもよいが、１人のユーザに関連するのは１つの鍵だけである）、鍵が関連するボリューム、管理者のログイン名、起動状態、鍵のハッシュ（ドライバのＩＤ）、署名（例えば、ＨＭＡＣ−ＳＨＡに基づく）、といったフィールドの全部または一部を収容する。
【００８８】
鍵ポリシファイルがバイナリファイルとして符号化されている場合、暗号化されていないフィールドの配置は以下のようでもよい。符号化はＡＳＮ．１アプローチを使用してもよい。各フィールドは１バイトのタグ、バイト長、およびバイト値、すなわち｛ｔａｇ，ｌｅｎｇｔｈ＿ｂｙｔｅ、ｖａｌｕｅ＿ｂｙｔｅｓ．．．｝を有する。
【００８９】
ポリシ全体は、例えば、ＰＫＣＳ＃５プロトコルを使用したラップ鍵によって暗号化される。ラップ鍵は専用のラップパスワードを使用して作成されるが、このラップパスワードはどこにも格納されず、鍵とポリシファイルとの両方が配布される都度適用される。ラップの前に、ポリシファイルはラップパスワードによって再署名される。
【００９０】
従って、ラップには、鍵を作成するために使用されたパスワードと、ラップパスワードとの両方のパスワードが必要である。このことはラップ処理に対する認証を提供する。しかし、鍵とポリシファイルとの両方をアンラップし、ポリシの署名を検査するために必要とされるのはラップパスワードだけである。
【００９１】
鍵回復は、ラップ鍵のパスワードを知らずに暗号鍵を復元する能力である。これはパスワードを紛失した際にデータの回復を可能にする非常に重要な機能である。しかし、鍵回復をエンドユーザが行うことはできないので、データに対する強力な暗号による保護が提供される。許可された秘密保持者だけが、専用アプリケーションの助けによって、ＭＫ以外の任意の鍵を回復することができる。
【００９２】
シャミアのしきい値スキームを適用したり鍵導出の式を適用したりすることによって種を復元するのに必要なレベルのチケットおよび十分な秘密保持者を有する場合にＭＫ以外の任意の鍵を回復することができる鍵回復機能が、鍵スキームおよびそれに関する専用アプリケーションに組み込まれる。このアプリケーションは、まず、秘密保持者の証明書または個人プロファイルファイルの何れかを検証することによって、秘密保持者の信用性を検証する。
【００９３】
鍵を消去したりまたは鍵を保持するＨＳＭをゼロ化したりすることによって、鍵は破壊される。また、いくつかの秘密を破壊すると、秘密保持者は、たとえチケットを取得してもその鍵を回復できなくなる。破壊される秘密の数はしきい値を越えなければならない。鍵を破壊すると、その鍵によって暗号化されたデータは使用不能になる。
【００９４】
電子シュレッドとは、その鍵によって暗号化された任意のデータを、事実上、無用な「電子ゴミ」にするような回復不能な鍵の破壊を指す。レベル全体を電子シュレッドするには、まずそのレベルのチケットを破壊した後、特定のノードの物理鍵と共に、シャミアの閾値スキームを無効にするのに十分な秘密を破壊しなければならない。大量の電子シュレッドを促進するためには、専用階層が必要である（次節参照）。
【００９５】
鍵管理および電子シュレッドを促進する鍵階層に関するいくつかの示唆が存在する。例えば、いくつかのデータをオフサイトでアーカイブしようとする場合、周知のノードからの部分木を表す鍵（単数または複数）によって暗号化しなければならない。そして、そのノードについての鍵を破壊することによって有効にデータがシュレッドされる。代替的には、アーカイブされたボリューム内のいくつかのデータが異なる寿命（異なる寿命範囲または有効期間）を有する場合、同じ有効期間のデータを独立した鍵（単数または複数）の部分木によって暗号化すべきである。鍵階層中の各ノードでは、有効期間が交互にならないように、データを暗号化するために使用される鍵の新しい部分木を開始すべきである。有効期限日を有しないデータを第１のレベルの鍵によって暗号化してもよい。一般に、鍵階層が深くなるほど、データの寿命は短くなる。
【００９６】
対称型暗号化は、入力データ長が、例えば８バイト（ＤＥＳ／ＤＥＳ３の場合）または１６／３２バイト（ＡＥＳ−１２８／２５６の場合）で割り切れることを必要とするので、データの長さが不適合な場合、暗号化の前に何らかの余分のデータを追加し、解読したデータを表示する前に余分のデータを取り除くようにしなければならない。この処理をパディングと呼ぶ。標準的なパディングスキームはまだないが、１つのスキームが広範に使用され「事実上の」標準になっている。ＲＳＡセキュリティーズ社（ＲＳＡ  Ｓｅｃｕｒｉｔｉｅｓ）のＰＫＣＳ＃１標準で符号化するＲＳＡ鍵と共にこのスキームを説明する。
【００９７】
このスキームは以下のように動作する。暗号化の前に、入力データは常にパディングされる。つまり、ＡＥＳの場合データの長さが１６で割り切れる場合でも、追加の１６バイトが追加される。さらに正確に言うと、Ｌが入力データの長さ（単位：バイト）、％がＬを１６で割るときの剰余演算子、である時、追加されるバイト数Ｎは、式Ｎ＝１６−（Ｌ  ％  １６）によって計算できる。Ｎは［１−１６］の範囲内である。Ｎバイトを追加することによって、Ｌ＋Ｎは１６で割り切れるようになる。追加された各バイトは、Ｎに等しい同じ値を含む。その後、パディングされたデータを暗号化する。
【００９８】
解読の後解読されたデータを提示する前に、パディングした部分を取り除かなければならない。そのアルゴリズムは、１）最終バイトの値Ｎを得る、２）少なくともＮ個の最終バイトが全て値Ｎを有するか否かを検査する、３）Ｎ個の最終バイトを「削除」し、Ｎを減算することによってデータ長を更新する（「削除」は単に長さを更新することによって行ってもよい）、というように説明することができる。
【００９９】
このパディングスキームはかなり以前から使用されているので、他の暗号プロバイダが当方のデータを処理しなければならないという相互運用性を必要とする場合でも、他の暗号プロバイダはＰＫＣＳ＃１パディングを理解しているだろう。
【０１００】
鍵管理システムをサポートするためには、１）ハッシュ関数−ＳＨＡ１またはＳＨＡ２、２）ＥＣＢ／ＣＢＣモードでのＡＥＳ−２５６（ＡＥＳ−２５６／ＥＣＢモードはＴＷＥＡＫと結合して「カットアンドペースト」攻撃を防止する）、３）ＴＷＥＡＫ実装、４）ＰＫＣＳ＃５  ｖ２に記載のＰＢＫＤＦ２鍵導出関数、５）ＰＫＣＳ＃１標準によるＰＫＣＳ＃１パディング、６）ＨＭＡＣ−ＳＨＡ署名／検証、および７）ディフィ−ヘルマン鍵共有方式、のサポートが必要である。
【０１０１】
鍵管理システムが顧客のＰＫＩインフラストラクチャに統合され、また、ユーザの鍵およびポリシを配布するための証明書をサポートする必要がある場合、ＰＫＩおよびＲＳＡのサポートが必要になることがある。
【０１０２】
ＰＫＩ鍵管理システムは、１）ＡＳＮ．１パーサ、２）ＰＫＣＳ１、５、８、９、１０および恐らくＰＫＣＳ１１およびＰＫＣＳ１２のサポート、３）標準Ｘ．５０９証明書の拡張子および属性のサポート、４）予想される顧客専用の属性および拡張子ならびにワールドワイド名を備えたＸ．５０９  ｖ３証明書のサポート、５）サードパーティ暗号プロバイダとシームレスに作業するために予想される、ディフィ−ヘルマン鍵交換（ＰＫＣＳ＃３）、ＣＢＣモードのトリプルＤＥＳ、およびＰＫＣＳ＃１１のサポート、を必要とする。
【０１０３】
何らかの種類の暗号サポートを必要とする全ての構成要素が共有する共通暗号インタフェース（暗号抽象層−ＣＡＬ）が必要な場合がある。この層は、当方の将来の顧客が既に使用し、そのため信頼を置き使用の継続を希望しているサードパーティの暗号ライブラリのような異なる暗号プロバイダに容易にプラグインできるものでなければならない。ＣＡＬは、サードパーティの暗号ライブラリと共に多数のハードウェア暗号プロバイダおよび暗号アクセラレータをサポートすることができる。ＣＡＬは、（一方はＡＥＳ用、もう一方はＳＨＡ１およびＨＭＡＣ−ＳＨＡ１用といった）異なるタスクのための（ソフトウェアまたはハードウェアの）異なる暗号プロバイダの登録を可能にする。
【０１０４】
各セキュリティシステムは、通常、他の鍵またはルート証明書などの最も重要なデータを保護するために使用される、ルート鍵（ＲＫ）またはマスタ鍵と呼ばれる少なくとも１つの非常に重要なセキュリティ鍵を有する。この鍵自体を保護することが課題である。ＭＫを保護するためには、１）全ての保護が利用可能な安全な物理ロケーション、２）ＭＫをＦＩＰＳ−１４０．１レベル２以上の安全なハードウェアモジュールに格納する、および３）シャミアの鍵分割スキーム、という３つの基本的なアプローチが存在する。
【０１０５】
ＭＫを保護することは問題の一方の側面に過ぎない。もう一方の側面は、ＭＫが必要な場合容易に利用できるようにしておくことである。ＭＫを１つしか有しない場合、「この鍵を紛失したらどうすればよいか？」という別の問題が出てくる。追加のコピーを作成することがこの問題を緩和する普通のアプローチであるが、これはセキュリティリスクを追加し鍵の取り消しを複雑にする。最初の２つのアプローチは、理論的に、ＭＫの高いストレージセキュリティを達成するが、容易な利用可能性および簡単な取り消し処置の両方を欠いている。最後の２つの問題を有効に解決するために、シャミアの鍵分割スキーム（ＳＫＳ）を導入した。
【０１０６】
ＳＫＳの概念は、鍵、パスワード等となり得る任意のビット列である共有秘密（Ｓ）をＮ個の部分に分割するが、その際Ｋ＜Ｎであり、Ｋ個より少ない部分を有してもＳを回復できないが、任意のＫ個以上の部分を有すればＳを明瞭に回復できるというものである。
【０１０７】
ＳＫＳスキームは多くの数学的実現を有するが、シャミア自身が提案した、最も簡単な、しきい値秘密分散法と呼ばれる概念を以下で説明する。
【０１０８】
確率的アルゴリズムＰＡはしきい値秘密分散法を定義する。ここでは入力としてある有限の集合ＦSから秘密Ｓを受け取り、ｎ個の分散情報、すなわち、ビット列Ｓ１，．．．，Ｓｎを出力する。最後に、秘密分散スキームでは、０＜Ｋ＜Ｎであるしきい値Ｋが使用される。このアルゴリズムは、以下で概説するプライバシと正当性の要求に適合しなければならない。プライバシに関しては、インデックス｛１，２，．．．ｎ｝のサイズがＫ−１以下の任意のサブセットＩを取り、任意の入力Ｓ’に対してアルゴリズムが実行されると、｛Ｓｉ｜ｉ∈Ｉ｝の確率分布はＳ’と独立である。正当性に関しては、インデックス｛１，２，．．．Ｎ｝のサイズがＫ以上の任意のサブセットＪを取ると、アルゴリズムによって、｛Ｓｉ｜ｉ∈Ｊ｝からＳが計算される。実際に、｛Ｓｉ｜ｉ∈Ｊ｝からＳを計算する有効なアルゴリズムが存在する。
【０１０９】
一例として、Ｐ＞Ｎである、ある素数Ｐについて、Ｓ＝ＺPと設定し、Ｋが希望するしきい値であると想定する。すると、シャミアが提案したアルゴリズムを以下のように記述することができる。
１）要素ａ1，ａ2，．．．ａn∈ＺPをランダムに選択し、ｆ（ｘ）を多項式とする。
ｆ（ｘ）＝Ｓ＋ａ1＊ｘ＋ａ2＊（ｘ＊＊２）＋．．．＋ａk＊（ｘ＊＊ｋ）
別言すれば、ｆ（０）＝Ｓとなる次数が最大ＫのＺPにおけるランダム多項式を選択する。
２）ｓi＝ｆ（ｉ）  ｍｏｄ  Ｐ、ｉ＝１，．．．，Ｎによって、分散情報を定義する。
【０１１０】
このスキームは、ラグランジュ補間の古典的な結果のため、上記で概説した特性を有する。ラグランジェ補間では、任意のフィールドＦと、ｘiが判明している場合のｘiとｙiの組の任意の集合｛（ｘi，ｙi）｜０＜ｉ＜Ｋ＋１｝∈Ｆ×Ｆについて、次数が最大ＫであるＦに対して、ｇ（ｘi）＝ｙi、ｉ＝１．．．Ｋ＋１となる１つの多項式ｇ（ｘ）が確かに存在する。この多項式の全ての係数は有効に計算することができる。証明のため、
【数１】
2008541247.tif 000003
という多項式が、ｇ（ｘi）＝１で、ｊ≠Ｉの場合ｇ（ｘj）＝０を満足し、最大Ｋの次数を有することに注意されたい。従って、
ｇ（ｘ）＝ｙ1ｇ1（ｘ）＋．．．＋ｙk+1ｇk+1（ｘ）
は適切な特性を有する。従って、構造によって直接的に、ｇは有効に計算可能であるということになる。２つの異なる多項式ｇ（ｘ）、ｇ’（ｘ）がどちらも解であったとすれば、ｇ（ｘ）−ｇ’（ｘ）は次数が最大ＫでＫ＋１個の根を有するゼロでない多項式となる。しかしながら、このような多項式は存在しないので、１つの解しかあり得ない。
【０１１１】
１つの実施形態に関して本発明を説明した。しかし、本発明の範囲から離れることなく他の変形および修正をなし得ることを当業者は理解するだろう。
【図面の簡単な説明】
【０１１２】
【図１】従来のネットワークの構成要素を例示する構成図である。
【図２】本発明に関連するネットワークの構成要素を例示する構成図である。
【図３】管理者アプリケーションの構成要素を例示する構成図である。
【図４】クライアントアプリケーションの構成要素を例示する構成図である。
【図５】管理者オプションメニューの例のスクリーンショットである。
【図６】セキュリティドメインメニューの例のスクリーンショットである。
【図７】１つのセキュリティドメインおよび複数のセキュリティサブドメインに応じて編成されたネットワークの図である。
【図８】ポリシ指定方法の各ステップを例示するフローチャートである。
【図９】ポリシエディタメニューの例のスクリーンショットである。
【図１０】ポリシエディタロックメニューの例のスクリーンショットである。
【図１１】クライアントアプリケーション準備方法の各ステップを例示するフローチャートである。
【図１２】導入メニューの例のスクリーンショットである。
【図１３】プロビジョニング方法の各ステップを例示するフローチャートである。
【図１４】メディアプロビジョニングメニューの例のスクリーンショットである。
【図１５】モバイル装置モジュールのコンテンツを例示する構成図である。
【図１６】ユーザログインメニューの例のスクリーンショットである。
【図１７】アクセス制御方法の各ステップを例示するフローチャートである。
【図１８】コンピューティング装置に関連するクライアントアプリケーションと構成要素との間の対話を例示する構成図である。
【図１９】装置アクセス方法の各ステップを例示するフローチャートである。
【図１】
2008541247.tif 000004
【図２】
2008541247.tif 000005
【図３】
2008541247.tif 000006
【図４】
2008541247.tif 000007
【図５】
2008541247.tif 000008
【図６】
2008541247.tif 000009
【図７】
2008541247.tif 000010
【図８】
2008541247.tif 000011
【図９】
2008541247.tif 000012
【図１０】
2008541247.tif 000013
【図１１】
2008541247.tif 000014
【図１２】
2008541247.tif 000015
【図１３】
2008541247.tif 000016
【図１４】
2008541247.tif 000017
【図１５】
2008541247.tif 000018
【図１６】
2008541247.tif 000019
【図１７】
2008541247.tif 000020
【図１８】
2008541247.tif 000021
【図１９】
2008541247.tif 000022
【国際調査報告】
2008541247.tif 000023
2008541247.tif 000024
2008541247.tif 000025