JP2008541248A - コンテンツ暗号化ファイアウォールシステム - Google Patents

コンテンツ暗号化ファイアウォールシステム Download PDF

Info

Publication number
JP2008541248A
JP2008541248A JP2008510378A JP2008510378A JP2008541248A JP 2008541248 A JP2008541248 A JP 2008541248A JP 2008510378 A JP2008510378 A JP 2008510378A JP 2008510378 A JP2008510378 A JP 2008510378A JP 2008541248 A JP2008541248 A JP 2008541248A
Authority
JP
Japan
Prior art keywords
content
storage
key
policy
rules
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008510378A
Other languages
English (en)
Other versions
JP2008541248A5 (ja
Inventor
シン テオウ,カー
ダイノウ,アーネスト
ニコラエフ,レオニド
ザノス,ダニエル
Original Assignee
クリプトミル テクノロジーズ リミティド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by クリプトミル テクノロジーズ リミティド filed Critical クリプトミル テクノロジーズ リミティド
Publication of JP2008541248A publication Critical patent/JP2008541248A/ja
Publication of JP2008541248A5 publication Critical patent/JP2008541248A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database

Abstract

コンピューティングステーションとストレージまたはコンテンツとの間の様々な操作を管理するシステムおよび方法。規則の集合を備えるポリシによって、ストレージまたはホスティングコンテンツコンテナとコンピューティングステーションとの間でのコンテンツ(データ)の交換またはアクセスを伴うかまたはそれをもたらし得る任意の操作の管理が可能である。規則は、ストレージの種類、コンテンツの種類、コンテンツの属性、およびストレージ装置および/またはコンテンツに関連する他の属性を含む個々の基準によって定義してもよい。ポリシは個々のユーザに対してコンピューティングステーション上で動的にインストール/更新され、ポリシの評価に基づいてコンピューティングステーションとストレージまたはコンテンツとの間で行われ得るデータ操作を管理する。ポリシの評価に基づいて、要求された操作は、許可、ある領域に制限、または拒否される。

Description

本発明は、一般にデータ通信の分野に関し、特に、暗号化による安全な方式により、一般化されたポリシによる管理の元でストレージとコンピューティングステーションとの間のデータ通信を管理する方法に関する。
従来、組織内では、ユーザに関連するデータは、ユーザコンピュータに関連するハードディスクまたはサーバに関連するハードディスク上に格納されていた。個人がディスクドライブ上に格納されたデータへのアクセスを希望する場合、まずコンピュータにログオンすることを要求された。一旦ログインし適当なディスクドライブへのアクセスが許可されると、ユーザはコンテンツにアクセスすることができた。
現在のコンピューティング環境では、組織間および組織内のユーザ間で転送および交換されるデータの量は常に増大している。その結果、従来のディスクドライブは、データ格納のための新しい方法論によって増強されつつある。データの可搬性に対する要望は、モバイルストレージ装置の開発につながった。こうしたモバイルストレージ装置の例には、USBストレージ装置、外部ハードドライブ、CD、およびDVDが含まれる。こうしたモバイルストレージ装置によって、様々なユーザとコンピューティングステーションとの間の情報が容易に流れるようになる。
ストレージの使用に関連する固有のリスクが存在する。本書で使用される場合、ストレージという用語は、電子的にアクセス可能なデータコンテンツを備えた物理または論理エンティティを指す。本書で使用される場合、コンテンツという用語は、電子的にアクセス、格納、または伝送が可能な、データを収容するアプリケーション固有の論理データ構造を備えた論理エンティティ(例えば、ワープロファイル、スプレッドシートファイル、またはデータベースファイル等の電子アプリケーションファイル)やその構造を記述する関連メタデータを指す。ポリシという用語は、本書で使用される場合、コンピューティングステーションやストレージへのアクセス、ならびにコンピューティングステーションとストレージとの間のデータ通信を制御する規則の集合を指す。組織内では、組織が所有権を有するコンテンツは、許可されない個人/エンティティによるアクセスから保護しなければならない。
コンテンツ、またはデータの横領の潜在的脅威に対処するため、組織によっては、ある種のストレージ装置の使用を禁止したところもある。この場合、セキュリティ上のリスクはある程度抑制される。一方、モバイルストレージ装置はデータの転送および格納を容易にする非常に効率的なツールだが、作業効率と生産性が犠牲になっている。組織によっては、モバイルストレージ装置の使用を完全に禁止するのが有効または効率的とは限らないという認識から、各組織のセキュリティプロトコルに応じてモバイルストレージ装置の制限付き使用を許可するポリシを導入したところもある。しかし、こうしたポリシに関しては、ポリシを自動的に施行する有効な制御機構が欠けている。従って、モバイルストレージ手段が関与するデータ転送に関する1つまたは複数のポリシへの準拠は、エンドユーザに委ねられることが多い。自動施行機構を有しないポリシは、モバイルストレージ装置の使用を通じてもたらされる、1)機密情報を収容したモバイルストレージ装置が盗難または紛失にあった場合、2)モバイルストレージ装置から許可されていないコンピューティング装置への機密データのコピー、および3)コンピューティング装置からモバイルストレージ装置への機密データのコピー、といった種類の脅威には対処できない。
コンピューティングステーションとストレージすなわちコンテンツとの間の様々な操作を管理するシステムおよび方法。コンピューティングステーションは、パーソナルデスクトップコンピュータ、ワークステーションコンピュータ、サーバコンピュータ、ラップトップコンピュータ、またはモバイルハンドヘルドコンピュータでもよい。ストレージとは、電子的にアクセス可能なコンテンツすなわちデータを備えた物理または論理エンティティである。物理ストレージはコンピューティングステーションの内部にあってもよく、また外部にあって、外部インタフェースを介してコンピューティングステーションと接続されるものでもよい。物理ストレージの例には、USBフラッシュドライブ、CD、DVD、ZIP(登録商標)ディスク、ハードドライブ、ネットワークドライブ、フロッピ(登録商標)ディスク、PCMCIAドライブが含まれる。論理ストレージの例は、ファイルである。コンテンツとは、データを収容するアプリケーション固有の論理データ構造を備えた論理エンティティや関連メタデータである。コンテンツの例には、XMLファイル、HTMLファイル、画像ファイル、ワープロファイル、スプレッドシートファイル、データベースファイルおよびそれらに含まれるコンテンツ/データのサブセットが含まれる。
ストレージとコンピューティングステーションとの間のコンテンツ(データ)の交換またはアクセスを伴うかまたはそれをもたらし得る操作の管理が可能である。操作には、コンテンツの読み取り、コンテンツの書き込み、コンテンツのコピー、コンテンツの削除、ファイルの実行、コンピューティングステーションにとってアクセスが可能になるストレージのマウント、および特定のインタフェースを介したコンテンツの伝送の許可が含まれる場合があるが、それらに制限されない。
コンピューティングステーションとストレージとの間で行われ得る操作を管理するため、管理者アプリケーションおよびクライアントアプリケーションを使用する。管理者アプリケーションは、アクセスが信頼できるユーザに制限されるように、サーバのような、信頼できるコンピューティングステーションにインストールする。クライアントアプリケーションは、コンピューティングステーションによるストレージとの対話が管理できるように、ラップトップのようなコンピューティングステーションにインストールする。
クライアントアプリケーションは、コンピューティングステーションとストレージとの間で許可される操作に基づいて、各コンピューティングステーションに対してカスタマイズされる。クライアントアプリケーションは、定義される様々なポリシによってカスタマイズされる。定義されるポリシによって、コンピューティングステーションとストレージとの間で行われ得る操作を支配および管理する規則の集合が提供される。ポリシは、管理者アプリケーションを使用する管理者または他の信頼できる個人/エンティティによって決定される。
ポリシは様々な規則に応じて定義してよい。さらに詳しく言うと、規則は、ストレージの種類、インタフェース、コンテンツの種類、メタデータ情報、操作、および様々な認証識別子に応じて指定してよい。
ストレージとは、そこにデータを格納できる任意の構成要素でよい。ストレージは内部でコンピューティングステーションに接続してもよく、外部でインタフェースによって接続されるようになっていてもよい。ストレージは必ずしも1つの物理装置である必要はなく、1つまたは複数のストレージ装置から構成されてもよい。
インタフェースとは、コンピューティングステーションとストレージとの間を接続する構成要素である。こうしたインタフェースの例には、PCI、USB、SCSIといったデータバス、およびイーサネット(登録商標)およびファイバチャネルといったネットワークインタフェースが含まれる場合がある。
コンテンツの種類とは、ストレージに収容されるコンテンツ(データ)のフォーマットである。異なる種類のコンテンツが存在し得るので、例えば、コンテンツが画像アプリケーションまたは文書処理アプリケーションのどちらに関連するかに基づく規則といった、特定のコンテンツの種類に関連する規則を定義することが可能であってもよい。
メタデータ情報とはコンテンツに関する情報である。例えば、メタデータ情報は、コンテンツに関連する属性でもよく、ファイルの作成日、ファイル名、ファイルの所有者、およびファイルに関連し得るアクセス許可が含まれることがある。
認証識別子は、ユーザ、エンティティまたはコンテンツ自体に関連する識別子を含んでもよい。例えば、ユーザ識別子によって、個々のユーザについてのコンピューティングステーションとストレージとの間のデータ操作を管理する規則を定義することができる。また、認証識別子は、セキュリティドメイン及びセキュリティサブドメインを含んでもよい。これによって、割り当てられるセキュリティドメインおよびセキュリティサブドメインに応じてコンピューティングステーションとストレージとの間で行われ得る操作を管理できるような、コンピューティングステーション及びストレージが割り当てられるドメインの定義を可能にするものである。
クライアントアプリケーションは、定義された、個々のコンピューティングステーションに関連する規則を施行する。クライアントアプリケーションは、コンピューティングステーションに接続される全てのインタフェースを監視し、定義された規則に基づいて、ストレージから、またはストレージへなされたどの要求を許可すべきかを決定する。
また、管理者アプリケーションは、ストレージをプロビジョニングするために使用される。ストレージのプロビジョニングとは、ストレージに暗号化された情報を書き込むようにする処理を指す。この処理によって、プロビジョニング済のストレージとインタフェースを取ろうとする試みが行われた時、コンピューティングステーションのクライアントアプリケーションが、定義済の規則に基づいてストレージとコンピューティングステーションとの間のどの操作(もしあれば)を許可すべきかを決定することができるようになる。
本出願で説明されるシステムおよび方法の実施形態をよりよく理解し、それらをいかに実現するかをより明瞭に示すため、例として添付の図面を参照する。
本発明のコンテンツ暗号化ファイアウォールシステム(CCFS)10を図示する図1を参照する。CCFS10は、管理者アプリケーション14がインストールされているか、または管理者アプリケーション14からアクセス可能な1つまたは複数の管理者ステーション12と、クライアントアプリケーション18がインストールされたコンピューティングステーション16とから構成されている。管理者ステーション12は、ネットワークを介してコンピューティングステーション16に接続してもよい。管理者ステーション12およびコンピューティングステーション16はストレージ20に接続してもよい。ストレージ20はコンテンツ22を収容し、インタフェース24によって管理者ステーション12および/またはコンピューティングステーション16に接続される。
管理者ステーション12は、サーバ型コンピュータのようなコンピュータであり、そのアクセスは、ネットワーク管理者のようなネットワーク内の信頼できる個人に制限されている。管理者ステーション12には、管理者アプリケーション14がインストールされており、これについては以下でより詳細に説明する。
コンピューティングステーション16は、パーソナルデスクトップコンピュータ、ワークステーションコンピュータ、サーバコンピュータ、ラップトップコンピュータ、またはモバイル/ハンドヘルドコンピュータといった任意の種類のコンピューティング装置でよい。コンピューティングステーション16には、クライアントアプリケーション18がインストールされており、これについては以下でより詳細に説明する。
管理者ステーション12およびコンピューティングステーション16は、ストレージ20に関連づけられてもよい。ストレージ20は、コンテンツ22を収容してもよい。ストレージ20の例には、磁気ハードディスク、フラッシュディスク、フロッピディスク、CD、DVD、ZIPディスク、iPods(登録商標)、外部ファイヤワイヤ(登録商標)ドライブ、外部USBドライブ、PCMCIAフラッシュドライブ、ネットワークドライブおよびファイルが含まれるが、それらに制限されない。ストレージ20は、コンピューティングステーション16の内部または外部にあるものでよい。ストレージ20上に格納されるコンテンツ22は、異なるフォーマットでもよい。ストレージ20上に格納された個々のファイルに関連するコンテンツ22は、ファイルのフォーマットを示すファイル名を有する。例えば、コンテンツは、画像、テキスト文書、マルチメディアファイル、等に関連づけてもよい。
コンテンツまたはデータは、関連するメタデータを有する。メタデータは、コンテンツ22を記述する情報である。メタデータは、ファイル名、ファイルの作成日、ファイルの作成者、およびファイルに課され得る何らかのアクセス制限に関する情報といった情報を含んでもよい。メタデータの存在は、ファイルを作成するために使用された個々のアプリケーションまたは操作に依存する。ソフトウェアアプリケーションの中には、作成したファイルに関連するメタデータを有しないものもあることに注意されたい。
ストレージ20は、インタフェース24によって管理者ステーション12またはコンピューティングステーション14に接続してもよい。インタフェース24には、PCI、USB、ファイヤワイヤ(IEEE1394)、ATA(IDE)、SATA、SCSI、イーサネット、またはファイバチャネルが含まれる場合があるが、それらに制限されない。
管理者アプリケーション14の構成要素を例示の実施形態で図示する図2を参照する。管理者アプリケーション14は、セキュリティドメインモジュール30、ポリシ定義モジュール32、およびプロビジョニングモジュール34を収容する。セキュリティドメインモジュール30は様々なドメインの定義を可能にするが、その際管理者ステーション12、コンピューティングステーション16、ストレージ20またはコンテンツ22、およびネットワークのユーザは、1つまたは複数のドメインに関連する場合がある。ドメインを図3に例示し、以下でさらに詳細に説明する。ポリシ定義モジュール32は、コンピューティングステーション16とストレージ20またはコンテンツ22との間の対話を支配するポリシの、管理者または他の信頼できる個人/エンティティによる定義を可能にする。定義されたポリシによって、コンピューティングステーション16とストレージ20との間で行われ得る様々な種類の対話が決定される。ポリシを定義し、その後ポリシを施行する方法を以下で詳細に説明する。ポリシは、マウント操作、コピー操作、削除操作、安全な削除操作、読み取り操作、書き込み操作、伝送操作、および実行操作を含むが、それらに制限されない様々な種類の対話を管理する。マウント操作は、ストレージ20またはコンテンツ22をコンピューティングステーション16がアクセスできるようにする。コピー操作は、通常はファイルである、コンテンツ(データ)の一定のブロックの、ストレージ20からのコピーに関わる。削除操作は、コンテンツまたはデータをストレージ20またはコンテンツ22から除去する処理である。コンテンツまたはデータの削除は、一般に、削除するコンテンツが格納されているストレージの特定のブロックを割り当てられていないストレージとして指定することによって、その後ストレージのその特定のブロックに上書きできるようにすることに関わる。安全な削除操作は、この削除操作とは対照的に、ストレージ20のブロックに上書きを実行する。読み取り操作は、ストレージ20からのコンテンツの取り出しに関わる。書き込み操作は、ストレージ20へのコンテンツまたはデータの記録に関わる。伝送操作は、ストレージ20またはコンテンツ22から、特定のインタフェース24を介して、インタフェース24に接続された装置にデータを送ることに関わる。実行操作は、実行可能な命令形式(例えば、.exeファイル)でストレージ装置上に格納されたコンテンツを読み取ることに関わる。
ポリシモジュール32は、コンピューティングステーション16とストレージ20またはコンテンツ22との間の対話を支配する規則を指定するために使用される。規則は、クライアントアプリケーション18によってコンピューティングステーション上にインストールされる。ポリシは、制御基準と呼ばれるものに基づく、規則の集合として定義される。制御基準は、コンピューティングステーション16とストレージ20またはコンテンツ22との間で許可される対話の厳密な性質を指定するために使用される。制御基準は、ストレージ20の種類、インタフェースの種類、コンテンツの種類、コンテンツに関連する属性(メタデータ)、認証識別子、および上記で論じた操作を含む。認証識別子は、一般にポリシを定義するために使用され得る識別子を指すために使用され、セキュリティドメインおよびセキュリティサブドメイン、ならびにユーザ名を含む。
プロビジョニングモジュール34は、ストレージ20上にプロビジョニング済モジュールをインストールするために使用される。プロビジョニング済モジュール26とそのコンテンツについては以下でさらに詳細に説明する。プロビジョニング済モジュール26がストレージ20またはコンテンツ22上にインストールされると、ストレージ20またはコンテンツ22はプロビジョニング済と呼ばれる。プロビジョニング済モジュール26がインストールされていないストレージ20またはコンテンツ22は、未プロビジョニングと呼ばれる。プロビジョニング済モジュール26は暗号化データを備え、ストレージ20またはコンテンツ22に書き込まれるデータを暗号化する。プロビジョニング済モジュール26は、コンピューティングステーション16がコンピューティングステーション16とストレージ20またはコンテンツ22との間で(もしあれば)どの操作が実行可能かを決定することを可能にする。
セキュリティドメインをさらに詳細に説明する図3を参照する。図3では、一般に組織に関連するコンピューティングステーション16のグループを指す組織ネットワーク50を例示する。セキュリティドメインのメンバであるコンピューティングステーション16および管理者ステーション12のいくつかは、コンピュータネットワークを介して接続するものでもよい。しかしながら、コンピューティングステーション16または管理者ステーション12は、必ずしもセキュリティドメインの一部であるコンピュータネットワークの一部である必要はない。図3では、組織50内の全てのコンピューティングステーションが1つのセキュリティドメイン60に属することが示されている。システム10は、少なくとも1つのセキュリティドメイン60の作成を必要とする。システム10は、1つまたは複数のセキュリティサブドメインを有してもよい。図3では、セキュリティサブドメイン62aおよびセキュリティサブドメイン62bという、2つのセキュリティサブドメインが存在することが示されている。セキュリティサブドメインは、一般に、ある部門に関連し得るかまたはコンピューティング装置間に何らかの他の論理関係が存在し得る全てのコンピューティング装置を含むように編成される。コンピューティング装置は、全てのコンピューティング装置16上にインストールされるクライアントアプリケーション18によって、セキュリティドメインおよびオプションのセキュリティサブドメインに関連付けられる。以下でさらに詳細に説明するクライアントアプリケーション18は、暗号化およびデジタル署名によって暗号で保護されるようにコンピューティング装置16上にインストールされる。クライアントアプリケーション18は検出の有無にかかわらず改竄されない。その結果、管理者による指定がない限り、コンピューティングステーション16に関連するセキュリティドメインおよびセキュリティサブドメインも変更されない。
クライアントアプリケーション18の構成要素を例示の実施形態で図示する図4を参照する。クライアントアプリケーション18は、CCFS10の一部となる全てのコンピューティングステーション16上にインストールされる。クライアントアプリケーションは、ポリシの作成を通じてコンピューティングステーション16についてカスタマイズされるソフトウェアアプリケーションである。クライアントアプリケーションは、クライアントアプリケーションがインストールされたそれぞれのコンピューティング装置を、セキュリティドメインおよびオプションのセキュリティサブドメインに割り当てる役目を果たす。1つの実施形態では、クライアントアプリケーション18は、ポリシモジュール70、ファイアウォールモジュール72、および監視モジュール74を備える。ポリシモジュール70は、個々のコンピューティングステーション16に関連して指定された規則から構成される。規則を指定する方法を以下で詳細に説明する。ファイアウォールモジュール72は、コンピューティングステーション16とストレージ20またはコンテンツ22との間で行われ得る操作を制御する。ファイアウォールモジュール72は、ポリシモジュール70において定義され含まれる規則を施行する。規則は、あるストレージ20またはコンテンツ22によって、あるいはあるストレージ20またはコンテンツ22に対して実行される個々の操作に関する要求を許可または拒否する。ファイアウォールモジュール72は、ストレージ20またはコンテンツ22がコンピューティングステーションとのインタフェースを取ろうとする試行を検出する監視モジュール74からの情報を受け取る。監視モジュール74によって、コンピューティング装置16とストレージ20またはコンテンツ22との間でなされる要求の性質(すなわち、読み取り操作、書き込み操作、および上記で説明した他の操作、といった要求される操作の種類)が決定される。クライアントアプリケーション18は、コンピューティングステーション16上にインストールされると、以下でさらに詳細に説明するように暗号で保護される。したがって、アプリケーションのコンテンツ(特に、規則を収容するポリシモジュール70)は変更されない。クライアントアプリケーション18の各構成要素は、一旦それぞれのコンピューティングステーション16上にインストールしてから、管理者が、クライアントアプリケーション18の他の構成要素に影響を与えることなく交換または変更することができる。
ここで、セキュリティドメイン作成方法100のステップを図示する図5を参照する。ドメイン作成方法100は、管理者アプリケーション14、さらに詳しく言うとセキュリティドメインモジュール30の一部である。上記のように、管理者は、システム10について少なくとも1つのセキュリティドメインを作成する必要がある。管理者アプリケーション14は、セキュリティドメインの作成と、その後のセキュリティドメインおよびセキュリティサブドメインの管理を担当する。
セキュリティドメイン作成方法100はステップ102で開始される。ここで、管理者に、新しいセキュリティドメインの作成、または新しいセキュリティサブドメインの作成(セキュリティドメインが存在する場合)というオプションが与えられる。ユーザが新しいセキュリティドメインの作成を選択すると、方法100はステップ104に進む。ステップ104では、セキュリティドメインの名前がユーザによって指定され、セキュリティドメインモジュールはセキュリティドメイン秘密を生成する。セキュリティドメイン秘密は、暗号化のために使用されるグローバル一意識別子である。これは、ユーザが指定するセキュリティドメインの名前と無関係であり、管理者アプリケーション14によって再生成されることはない。
ユーザが新しいセキュリティドメインを指定すると、方法100はステップ106に進む。ステップ106では、ステップ104で指定されたセキュリティドメインに関連する新しいセキュリティサブドメインを指定するオプションが提供される。ステップ106はオプションのステップである。ステップ106では、1つのセキュリティドメインについて1つまたは複数のセキュリティサブドメインを定義してよい。ユーザが定義する各セキュリティサブドメインに関して、セキュリティドメインモジュールは、全体で一意の識別子であり、生成される他のいかなるセキュリティドメイン秘密またはセキュリティサブドメイン秘密とも異なるセキュリティサブドメイン秘密を生成する。
ユーザが、ステップ104でセキュリティドメインを指定し、ステップ106で作成すするセキュリティサブドメインをオプションで指定すると、セキュリティドメインの名前および秘密、ならびにセキュリティサブドメインの名前および秘密は、暗号化されて管理者ステーション12上に格納される。
ステップ102において、ユーザが、既存のセキュリティドメインについてのセキュリティサブドメインの定義を選択した場合、方法100はステップ108に進む。ステップ108では、ユーザは、新しいセキュリティサブドメインを定義する対象となるセキュリティドメインを指定する。ステップ108では、ユーザは、既に作成済のセキュリティドメインを提示され、セキュリティドメインの1つを選択する。
ステップ108でユーザがセキュリティドメインを選択すると、方法100はステップ110に進む。ステップ110では、ユーザは作成を希望する新しいセキュリティサブドメインを指定する。ユーザが新しいセキュリティサブドメインを作成すると、作成されたセキュリティサブドメインの名前および秘密は、管理者ステーション12上に安全に格納される。
管理者は、方法100をいつ呼び出してもよく、従って、セキュリティドメインおよびセキュリティサブドメインはいつ作成してもよい。ポリシは、管理者アプリケーション14へのアクセス権を有する管理者または他の信頼できるユーザが指定する。システム10の中で、1つまたはそれ以上のポリシを定義してよい。ポリシとは、それぞれのポリシに関連したコンピューティングステーション16と、ストレージ20またはコンテンツ22との間の対話を支配する規則の集合を指す。ポリシは、クライアントアプリケーション18の一部、さらに詳しく言うと、ポリシモジュール70の一部としてコンピューティングステーション16上にインストールされる。
管理者アプリケーション14は、管理者または他の信頼できる個人による規則の集合の定義を可能にするポリシ定義モジュール32を収容する。規則の集合によって、コンピューティング装置16とストレージ20またはコンテンツ22との間の対話が支配される。
規則指定方法150のステップを例示の実施形態で図示する図6を参照する。規則指定方法150は、管理者ステーション上で管理者または他の信頼できる個人によって実行される。規則指定方法150の結果、規則の集合からなるポリシが定義される。このポリシはその後、クライアントアプリケーション18に、さらに詳しく言うと、ポリシモジュール70の一部として含めてよい。ポリシおよび規則の指定方法は、以前作成したポリシおよび規則を編集するために使用してもよい。
規則指定方法150はステップ152で開始され、そこでは管理者が、作成する規則の名前を指定する。
そして、方法150はステップ154に進み、そこでは制御基準が指定される。制御基準は、前に説明したように、ストレージの種類、コンテンツの種類、インタフェース、およびメタデータに関する情報、認証識別子、(and(論理積)、or(論理和)、not(否定)、および他の論理識別子といった)演算子を含んでもよいが、それらに制限されない。
そして、方法150はステップ156に進み、そこでは論理演算子が選択される。これは、and(論理積)、or(論理和)、not(否定)、nor(否定和)、exclusive or(排他的論理和)、is(equal)〜(〜である(〜と等しい))、is not〜(〜でない)、less than〜(〜より小さい)、greater than〜(〜より大きい)、is a member of〜(〜のメンバである)、is not a member of〜(〜のメンバでない)、などでもよいが、それらに制限されない。ステップ154で指定された制御基準とステップ156で指定された論理演算子とを結合し、ブール代数の標準規則に従って真または偽の評価が可能な論理式を作成する。論理式の例は、“Storage is Provisioned(ストレージはプロビジョニング済である)”である。ここで、Storageは制御基準であり、Provisionedはストレージのあり得る属性であり、論理演算子は“is”である。この式の真または偽を評価する。
次に、方法150はステップ158に進み、そこで、追加の制御基準を指定する場合、方法150はステップ154に戻る。追加の基準を選択しない場合、方法150はステップ160に進む。ステップ160では、管理者は、規則で指定された全ての論理演算が真である場合になされる動作を指定する。可能な動作として、許可、読み取り専用許可、拒否、暗号化、通知を含んでもよいがそれらに制限されない。この許可動作によって、規則で指定された制御基準によって識別されたストレージ20またはコンテンツ22への全てのアクセスを許可する。読み取り専用許可動作は、読み取り操作を許可するが、書き込みのような他の操作はブロックする。拒否動作は、全ての操作をブロックする。暗号化動作は、書き込みデータを暗号化することおよび読み取りデータを解読することを指定する。通知動作は、指定された制御基準が真である場合、情報メッセージを送ることを指定する。通知動作は、メッセージテキストおよびメッセージの配布先で修飾してもよい。可能な配布先は、ログファイル、電子メールアドレスまたは電話番号でもよい。
ステップ160が完了したとき、規則は定義されている。USBストレージが未プロビジョニングの場合そのストレージへのアクセスをブロックする規則の例は、“If (Storage Is USB) And (Provisioned Is False) Then Deny(もし(ストレージはUSBである)かつ(プロビジョニング済は偽である)ならば拒否する)”である。メタデータのカテゴリが汎用とマークされている場合、プロビジョニング済または未プロビジョニングの何れのストレージからもワープロ文書ファイルの読み取りを許可する規則の例は、“If (Operation Is Read) And (ContentType Is WordDoc) And (MetadataCategory Is “General”) Then Permit(もし(操作は読み取りである)かつ(コンテンツの種類はワープロ文書である)かつ(メタデータカテゴリは「汎用」である)ならば許可する)”である。あるプログラムがアプリケーションの許可リストにない場合その実行をブロックする規則の例は、“If (Operation Is Execute) And (ContentType Is Not a Member of ApplicationList) Then Deny(もし(操作は実行である)かつ(コンテンツ種類はアプリケーションリストのメンバではない)ならば拒否する)”である。
ポリシを構成すべく定義済規則のリストを指定することによってそのポリシを作成してもよい。そして、クライアントアプリケーション18を備えたシステム10の一部となるコンピューティングステーション16上に、このポリシをインストールしてもよい。そして、ポリシモジュール70を収容するクライアントアプリケーションを使用して、その特定のコンピューティングステーション16またはそのコンピューティングステーションにログオンする特定のユーザに対して適当なポリシを施行する。管理者アプリケーション14、および特に、ポリシ定義モジュール32を使用してポリシを定義するので、管理者ステーション12上でクライアントアプリケーション18をカスタマイズする際に、定義されたポリシをクライアントアプリケーション18のポリシモジュール70に含めてもよい。クライアントアプリケーション18はそれぞれのポリシと共に、ネットワークインストールまたは他の従来の手段によってインストールしてもよい。クライアントアプリケーション18、および特にポリシモジュール70は、コンピューティングステーション20上にインストールされると、非対称型または対称型の暗号化手段を提供し、ポリシの許可されていない改竄または変更を検出する。
上記で説明したように、ストレージ20またはコンテンツ22は、プロビジョニング済または未プロビジョニングの何れかである場合がある。プロビジョニング済のストレージ20またはコンテンツ22には、プロビジョニング済モジュール26が書き込まれる。図8で説明するプロビジョニング済モジュール26は、クライアントアプリケーション18が、個々のプロビジョニング済ストレージ20またはコンテンツ22と通信すべきか否か、かつ通信すべき場合、プロビジョニング済ストレージ20またはコンテンツ22とコンピューティングステーション16との間でどんな操作が許可されるかを決定することを可能にする。
ここで、プロビジョニング方法300のステップを1つの例示の実施形態で図示する図7を参照する。プロビジョニング済モジュール26のコンテンツを詳細に説明した図8を参照することによって、プロビジョニング済モジュール26をさらに説明する。プロビジョニング方法300は、プロビジョニング済モジュール26を通じてポリシ情報をストレージ20またはコンテンツ22上にインストールする処理である。プロビジョニング方法300はステップ305で開始される。ここで、管理者が、ストレージ20またはコンテンツ22に対して、方法150で作成されたポリシ、セキュリティドメインおよびオプションのセキュリティサブドメインを指定する。
そして、方法300はステップ310に進む。ステップ310では、図8に示す暗号鍵366のような暗号材料が生成され、その後ストレージ20またはコンテンツ22を保護するために使用される。
そして、方法300はステップ315に進む。ここでは、暗号による保護がプロビジョニング済モジュール26に適用される。暗号による保護は、暗号鍵366を暗号化し、プロビジョニング済モジュール26に関連する署名を計算することを含む。
そして、方法300はステップ320に進む。ここで、プロビジョニング済モジュール26がストレージ20またはコンテンツ22に書き込まれる。
再び、プロビジョニング済モジュール26がインストールされたストレージ20またはコンテンツ22を図示する図8を参照する。プロビジョニング済モジュール26は、クライアントアプリケーション18によるストレージ20またはコンテンツ22に対するアクセスの制御およびポリシの施行を可能にする。プロビジョニング済モジュール26中に収容される情報は、プロビジョニング方法300でなされた選択に基づいている。
1つの実施形態では、プロビジョニング済モジュール26は一意識別子352を含み、これを使用してプロビジョニング済モジュール26を識別する。プロビジョニング済モジュール26はプロビジョニング情報355を含む。このプロビジョニング情報355は、セキュリティドメイン、セキュリティサブドメイン、ユーザ供給の識別子、有効期限情報、ならびに、暗号鍵366およびプロビジョニングモジュール26自体を保護するために使用される追加の暗号材料を提供する。プロビジョニング方法300の代替実施形態では、プロビジョニング済モジュール26についての有効期限日を指定してもよい。有効期限日とは、その日以降ストレージ20またはコンテンツ22の内容がどのコンピューティングステーション16からも読み取りできなくなる日付であり、こうした日付はプロビジョニング情報355の一部であってもよい。暗号鍵366はストレージ20またはコンテンツ22に書き込まれたデータを暗号化するために使用され、署名368はプロビジョニング済モジュール26の完全性を検証するために使用される。1つの実施形態では、暗号鍵366は、ストレージ20またはコンテンツ22に最初に書き込まれる時に、PKCS#5のような動的鍵生成手段を使用して生成された暗号鍵によって暗号化される。デフォルトのパスワードおよびセキュリティドメイン秘密は、以下で説明するように鍵導出関数への入力として使用される。鍵導出関数は、暗号鍵366の暗号化に使用される鍵を動的に生成する。プロビジョニング済のストレージ20またはコンテンツ22を使用して、システム10の一部であるコンピューティングステーション16とインタフェースを取る場合、ユーザは自分のパスワードを入力して指定されたデフォルトのパスワードを変更する必要がある。セキュリティドメイン秘密と共に入力されるパスワードは、デフォルトのパスワードについて指定されたのと同じ手段を使用して暗号鍵366を暗号化するために使用される。1つの実施形態では、署名フィールド368は、プロビジョニング済モジュール26のコンテンツが変更されたか否かを決定するためにシステム10が使用するHMAC SHA256署名を収容する。
ストレージ20またはコンテンツ22上に暗号鍵366を格納した結果、(それぞれのポリシおよびその規則が操作を許可する場合に)ストレージ20またはコンテンツ22に書き込まれるデータは、暗号鍵366によって暗号化される。その結果、ユーザがシステム10の一部でないコンピューティングステーション16を使用してプロビジョニング済のストレージ20またはコンテンツ22にアクセスしようとすると、コンピューティングステーション16は暗号化されたデータにアクセスすることができず、しかるべき解読を行うことができない。
ここで、コンピューティングステーション16の構成要素とストレージ20またはコンテンツ22との間の対話を1つの例示の実施形態で図示する構成図を示す図9を参照する。アプリケーション400は、ストレージ20またはコンテンツ22からのデータを要求し得るコンピューティングステーション16に常駐またはそれに接続する何らかのアプリケーションであってよい。こうしたアプリケーションの例を提示の目的で提供すると、例えば、ワープロアプリケーション、ウェブブラウザ、およびデータベースプログラムを含んでもよい。ファイルシステム405は、コンピューティングステーション16上にインストールされるオペレーティングシステムの一部であり、アプリケーション400からのデータに対する要求を受け取りそれに応答するために使用される。従来のシステムでは、ファイルシステム405は、特定のロケーションから取り出そうとするデータに対するアプリケーション400からの要求を受け取った後、その要求をストレージ/コンテンツドライバ410に送るものであった。ストレージ/コンテンツドライバ410は、ストレージ20またはコンテンツ22からのデータを最初に受け取るオペレーティングシステムドライバである。ストレージ/コンテンツドライバ410は、例えば、いずれもストレージ/コンテンツドライバ410の一部になり得るボリュームクラスドライバ、ディスククラスドライバ、およびポートドライバといった複数のドライバから構成してもよい。システム10では、クライアントアプリケーション18、さらに詳しく言うと、監視モジュール74は、ファイルシステム405とストレージ/コンテンツドライバ410との間の全ての要求を受け取る。監視モジュール74は、なされている要求の性質をファイアウォールモジュール72に送り、ファイアウォールモジュール72は、ポリシモジュール70で指定された規則に基づいて、その要求を許可すべきか否かを決定する。従って、クライアントアプリケーション18は、ポリシモジュールの一部として含まれたポリシを施行し、ポリシがサポートする操作だけを許可する。
装置アクセス方法500のステップを図示する図10を参照する。装置アクセス方法500はクライアントアプリケーション18によって実行され、コンピューティングステーション16がストレージ20またはコンテンツ22と対話してよいか否かを決定するために使用される。一例として、プロビジョニング済のストレージ20またはコンテンツ22へのアクセス試行に関して、装置アクセス方法500が図示されている。
方法500はステップ502で開始され、そこではクライアントアプリケーション18がデータに対する要求を受け取る。方法500は、1つの実施形態に関して一例として使用されているファイルシステム405から、データに対する要求を受け取ってもよい。
そして、方法500はステップ504に進む。ここで、データの要求先となるストレージ20またはコンテンツ22、さらに詳しく言うと、プロビジョニング済モジュール26が、クライアントアプリケーション18の監視モジュール74によって検出される。そして、方法500はステップ506に進み、そこではポリシモジュール70から、コンピューティングステーション16上にインストールされたポリシを取り出す。
そして、方法500はステップ508に進む。ここで、プロビジョニング済モジュール26からプロビジョニング情報355が取り出される。そして、方法500はステップ508に進む。ここで、プロビジョニング済モジュール26からプロビジョニング情報355が取り出される。そして、方法500はステップ512に進む。ここで、ステップ506で取り出されたセキュリティドメイン情報がステップ508で取り出されたセキュリティドメイン情報と比較される。それらが一致する場合、方法500はステップ520に進む。それらが一致しない場合、方法500はステップ516に進む。また、(セキュリティサブドメインが指定されている場合)セキュリティサブドメインが一致するか否かを検査するオプションのステップをステップ512で実行してもよい。ステップ516では、コンピューティングステーション16とストレージ20またはコンテンツ22との間で実行される操作に対する要求が拒否され、その操作の実行を要求したアプリケーション400は、操作が実行されない旨通知される。これによって、プロビジョニング済のストレージ20またはコンテンツ22にアクセスするためには、プロビジョニング済のストレージ20またはコンテンツ22がコンピューティングステーション16と同じセキュリティドメインに関連していなければならなくなる。1つの実施形態では、ポリシモジュール70はセキュリティドメイン秘密を収容し、プロビジョニング情報355はセキュリティドメイン秘密のハッシュ値(SHA−256)を収容する。ポリシモジュール70中のセキュリティドメイン秘密のハッシュ値を計算し、それをプロビジョニング情報355中のハッシュ値と比較することによって、ステップ512での照合がなされる。
そして、方法500はステップ520に進む。ここで、要求された操作に関する制御基準情報が取り出される。要求に関する制御基準は、アクセスが要求されたデータに関連し得るメタデータおよび他のコンテンツ関連情報を提供する。
そして、方法500はステップ524に進む。ここで、ステップ520のコンテンツ識別情報を使用して、506で取り出されたポリシを構成する規則が評価される。規則評価の詳細を図11で説明する。規則が要求された操作の実行を許可しないことが決定されると、方法500はステップ516に進み要求は拒否される。そうでない場合、方法500はステップ526に進み、動作が許可される。
規則評価方法600のステップを図示する図11を参照する。方法600はある特定のポリシに関連する全ての規則を評価するために使用される。
方法600はステップ602で開始される。ここで、クライアントアプリケーション18、さらに詳しく言うと、ポリシモジュール70からポリシが取り出される。そして、方法600はステップ604に進む。ここで、デフォルトとして、規則評価方法の結果が、要求された動作を拒否するように設定される。
そして、方法600はステップ606に進む。ここで、ポリシに評価すべき別の規則がまだあるか否かを決定する検査が行われる。ステップ606で、評価すべき規則がないことが決定されると、方法600はステップ608に進む。ステップ608では、規則評価方法の結果が拒否に設定されているか否かを決定する検査が実行される。結果が拒否に設定されている場合、方法600はステップ610に進む。ここで、方法600が終了し、要求された操作が拒否される。ステップ608で、結果が拒否に設定されていないことが検査によって示された場合、許可となるので、方法600はステップ612に進み、そこでは要求された操作が許可される。
ステップ606で、評価すべき規則がまだあると決定された場合、方法600はステップ614に進み、そこでは規則が評価される。規則が真と評価された場合、方法600はステップ616に進み、そこでは、その規則に関連する動作が要求された操作を拒否するように設定されているか否かが決定される。動作が要求された操作を拒否するように設定されている場合、方法600はステップ610に進む。ここで、要求された操作が拒否され、方法600は終了する。
ステップ616で、動作が要求を拒否しないと決定された場合、方法600はステップ618に進む。ここで、動作が許可されるか否かを決定する検査が実行される。動作が許可される場合、方法600はステップ620に進み、そこで、結果が許可に設定される。ステップ618で、検査の結果動作が許可に設定されておらず、(かつ拒否に設定されていないことが以前に決定されている場合)、方法600はステップ622に進み、そこで、動作が実行される。ステップ622で動作が実行されるのは、その動作が操作を許可または拒否する以外の、通知の要求に関するものであり得るからである。
ステップ618で実行された検査の結果とは無関係に、ステップ620および622の両方が完了すると、方法600はステップ606に戻り、評価すべき他の規則がまだあるか否かを決定する。
これまで説明したデータの暗号化の際に使用される鍵は、鍵管理システムで利用される鍵導出階層を使用して導出される。以下ルート鍵と呼ばれる鍵はシステム10に関連する。ルート鍵は、対称鍵または非対称鍵でよく、(例えば、プロビジョニング済モジュール26の一部である暗号鍵366のような)暗号化の際に使用される鍵を導出するために、システム10によって使用される。
以下の節では、「鍵管理」という表題の下で、鍵管理システムを説明する。
[鍵管理]
CCFSは安全な鍵を使用して認証、完全性検査、暗号化/解読を実行するので、鍵管理はその寿命全体を通じてCCFS全体のセキュリティに責任を負う非常に重要な構成要素である。
CCFS鍵管理プロトコルは、1)強力な暗号化、2)十分なスループット、3)鍵回復、4)ワンステップ電子データシュレッド、5)良好な鍵の予測不可能性、および6)ポリシ主導のデータアクセス、をサポートする。
CCFS鍵管理(KM)は、頂点にある1つのマスタ鍵(MK)とその下の従属鍵のツリーとによる階層的鍵モデルを使用する。レベルNの各鍵は、レベルN−1のその親、並びにNレベルのセキュリティオフィサおよび、場合によっては、他のNレベルの秘密保持者によって生成された種メッセージに依存する(レベル0が最上位で、レベル1が次位、以下それに続く)。一方、そのN+1レベルの子鍵を導出するには、レベルNの鍵を使用しなければならない。MK以外の各鍵は正確に1つの親を有するが、それに関連する多くの子鍵を有し得る。関連とは、その親鍵を種メッセージに適用することによって、チケット(下記参照)および専用鍵導出関数(KDF)が子鍵を導出できるということである。
MK以外の各鍵は、垂直および水平両方向に依存する(下記の式参照)。KDFとして、KMSはパスワードベース鍵導出関数−PBKDF(例えば、PKCS#5 v2標準に記載のPBKDF2)を使用する。PBKDFは良好な鍵エントロピーを示す。KMSでは、PBKDFのための種として、M個のプライベートパスワードから種を生成し、それらのうち任意のK個を使用して種を再生できる(MおよびK(K≦M−1)の値は設定可能である)、シャミアの鍵分割スキームか、またはストレートパスワードかの何れかをサポートする。これは上記の特徴(6)に対処する。KMSプロトコルは、対称型の高度暗号標準−AESを利用することによって(例えば、AES−256を使用することによって)、特徴(1)に対処する。AES暗号は非常に強力であると共に大きなスループットを可能にし、ソフトウェアのみによっても達成できる(上記の特徴1、2)。鍵は、ユーザログインおよびPBKDFを使用したパスワードによってラップされた媒体上に格納される。これは鍵の配布を容易にする。
容易なワンステップ暗号シュレッドを促進するため、MK以外の各レベルの鍵は共有チケットを有する。チケットは、(各鍵に一意の)種と共にそのレベルの鍵を導出するために使用されるSHAの半分のバイト数のメッセージである。何れかのレベルでチケットを破壊することによって、そのレベル(を含む)から下位の全ての鍵が事実上回復不能になる。
各レベルのチケットは、HSMに格納されユーザIDおよびパスワードによってアクセス可能となるか、またはローカルに格納され、例えば、PKCS#5プロトコルを使用したラップが可能になる。N+1レベルの鍵を回復しなければならない時はいつでも、秘密保持者はその秘密を供給しなければならず、関連するチケットを取得しなければならない。そのレベルのチケットを取得する処理は専用アプリケーションによって一度だけ可能になり、その後そのレベルの全ての鍵が作成/回復可能になる。
以下、鍵管理システムで利用される鍵導出関数の例を示す。
PrK、PubKはMKPのプライベート鍵および公開鍵である。
P1、P2、・・・は、MKのための種(シャミアの技術用語における共有秘密)を生成する、パスワード保持者のパスワードである。
SHAMIR−シャミアの鍵分割手順。
SHA−安全なハッシュ関数(例えば、32バイトのフィンガープリントを生成するSHA2)。
PBKDF−パスワード主導鍵導出関数。
AESn−レベルNのAES鍵。
この場合、鍵導出処理は以下の通りである。
MK導出:
PBKDF(PrK(SHA(SHAMIR(P1,P2,...,PM))))=AES0
そして、MKフィンガープリント(MKF)を以下のように計算する。
PubK(SHA(SHAMIR(P1,P2,...,PM)))=MKF
MKFは公知であり、これを使用してMKが正しく回復されたか否かを検証する。
MKFを検証するため、
1)HSMはPrKを使用してMKFを解読しSHA(SHAMIR(P1,P2,...))を得る。
2)SHAMIR関数を適用して種:SHAMIR(P1,P2,...)を得る。
3)種に対するSHAを計算する。
4)3)の結果を1)と比較する。
どちらの式もP1,...,PKである入力のみによってHSMにおいて実現されなければならない。
レベルN+1の鍵導出は以下の式を通じて達成される。
PBKDF(AESn(<SHAの前半(種|T)>))=AESn+1
ここで、TはNレベルのチケットであり、演算「|」はバイトストリームの連結を意味する。
種は、鍵AESn+1の元で保護されようとしているデータを担当するセキュリティオフィサによって選択された秘密、またはN+1レベルの秘密保持者からの入力に対してSHAMIR手順によって生成された共有秘密の何れかでもよい。鍵管理システムで選択できるようになっている。
各ルート鍵は鍵階層の始点であり、ルートから直接的または間接的に導出される鍵によって保護されるオブジェクトの集合であるセキュリティドメインを定義する。異なるドメインのオブジェクトは解読できないので、アクセスできない。ドメインは暗号境界を表すが、これは多くのセキュリティ規則に適合しなければならないため重要である。同じ暗号機構を適用することによって、任意の数のセキュリティサブドメインを作成することができる。例えば、いくつかのチケットが同じバイトサブセットを有する場合、それらは事実上同じサブドメインに入る。共有チケット情報を知られないようにすることによって、オブジェクトはアクセスされなくなる。従って、鍵によって暗号操作を実行する任意のアプリケーションは、ドメインおよびサブドメイン両方の制限に基づいてアクセスポリシを課すことができる。十分に長いチケットを適用することによって、任意の望ましいレベルを達成できる。ドメイン/サブドメイン制限を促進するため、鍵を生成するのと同時に、(例えば、大きな一意の整数の形態で)ドメイン/サブドメインIDを生成してもよい。
MK以外のNレベルの鍵はどれも、ラップされた鍵と共に媒体上にローカルに格納されたポリシファイルを有しなければならない(鍵のラップについては鍵配布の節を参照)。鍵ポリシファイルはX.509 v3証明書またはバイナリファイルとして符号化してもよい。
ポリシファイルは、ポリシ作成日、鍵の有効期限日、アクセスレベル(CCFS管理者、または外部ユーザの何れか)、暗号形態のセキュリティドメインIDまたはそのSHA、暗号形態のセキュリティサブドメインIDまたはそのSHA、確認スケジュール(ポリシを確認する時間間隔)、鍵に関連するユーザのログイン名(何人かのユーザを同じ鍵に関連させてもよいが、1人のユーザに関連するのは1つの鍵だけである)、鍵が関連するボリューム、管理者のログイン名、起動状態、鍵のハッシュ(ドライバのID)、署名(例えば、HMAC−SHAに基づく)、といったフィールドの一部または全部を収容する。
鍵ポリシファイルがバイナリファイルとして符号化されている場合、暗号化されていないフィールドの配置は以下のようでもよい。符号化はASN.1アプローチを使用してもよい。各フィールドは1バイトのタグ、バイト長、およびバイト値、すなわち{tag,length_byte、value_bytes...}を有する。
ポリシ全体は、例えば、PKCS#5プロトコルを使用したラップ鍵によって暗号化される。ラップ鍵は専用のラップパスワードを使用して作成されるが、このラップパスワードはどこにも格納されず、鍵とポリシファイルとの両方が配布される都度適用される。ラップの前に、ポリシファイルはラップパスワードによって再署名される。
従って、ラップには、鍵を作成するために使用されたパスワードと、ラップパスワードとの両方のパスワードが必要である。このことはラップ処理に対する認証を提供する。しかし、鍵とポリシファイルとの両方をアンラップし、ポリシの署名を検査するために必要とされるのはラップパスワードだけである。
鍵回復は、ラップ鍵のパスワードを知らずに暗号鍵を復元する能力である。これはパスワードを紛失した際にデータの回復を可能にする非常に重要な機能である。しかし、鍵回復をエンドユーザが行うことはできないので、データに対する強力な暗号による保護が提供される。許可された秘密保持者だけが、専用アプリケーションの助けによって、MK以外の任意の鍵を回復することができる。
シャミアのしきい値スキームを適用したり鍵導出の式を適用したりすることによって種を復元するのに必要なレベルのチケットおよび十分な秘密保持者を有する場合にMK以外の任意の鍵を回復することができる鍵回復機能が、鍵スキームおよびそれに関する専用アプリケーションに組み込まれる。このアプリケーションは、まず、秘密保持者の証明書または個人プロファイルファイルの何れかを検証することによって、秘密保持者の信用性を検証する。
鍵を消去したりまたは鍵を保持するHSMをゼロ化したりすることによって、鍵は破壊される。また、いくつかの秘密を破壊すると、秘密保持者は、たとえチケットを取得してもその鍵を回復できなくなる。破壊される秘密の数はしきい値を越えなければならない。鍵を破壊すると、その鍵によって暗号化されたデータは使用不能になる。
電子シュレッドとは、その鍵によって暗号化された任意のデータを、事実上、無用な「電子ゴミ」にするような回復不能な鍵の破壊を指す。レベル全体を電子シュレッドするには、まずそのレベルのチケットを破壊した後、特定のノードの物理鍵と共に、シャミアの閾値スキームを無効にするのに十分な秘密を破壊しなければならない。大量の電子シュレッドを促進するためには、専用階層が必要である(次節参照)。
鍵管理および電子シュレッドを促進する鍵階層に関するいくつかの示唆が存在する。例えば、いくつかのデータをオフサイトでアーカイブしようとする場合、周知のノードからの部分木を表す鍵(単数または複数)によって暗号化しなければならない。そして、そのノードについての鍵を破壊することによって有効にデータがシュレッドされる。代替的には、アーカイブされたボリューム内のいくつかのデータが異なる寿命(異なる寿命範囲または有効期間)を有する場合、同じ有効期間のデータを独立した鍵(単数または複数)の部分木によって暗号化すべきである。鍵階層中の各ノードでは、有効期間が交互にならないように、データを暗号化するために使用される鍵の新しい部分木を開始すべきである。有効期限日を有しないデータを第1のレベルの鍵によって暗号化してもよい。一般に、鍵階層が深くなるほど、データの寿命は短くなる。
対称型暗号化は、入力データ長が、例えば8バイト(DES/DES3の場合)または16/32バイト(AES−128/256の場合)で割り切れることを必要とするので、データの長さが不適合な場合、暗号化の前に何らかの余分のデータを追加し、解読したデータを表示する前に余分のデータを取り除くようにしなければならない。この処理をパディングと呼ぶ。標準的なパディングスキームはまだないが、1つのスキームが広範に使用され「事実上の」標準になっている。RSAセキュリティーズ社(RSA Securities)のPKCS#1標準で符号化するRSA鍵と共にこのスキームを説明する。
このスキームは以下のように動作する。暗号化の前に、入力データは常にパディングされる。つまり、AESの場合データの長さが16で割り切れる場合でも、追加の16バイトが追加される。さらに正確に言うと、Lが入力データの長さ(単位:バイト)、%がLを16で割るときの剰余演算子、である時、追加されるバイト数Nは、式N=16−(L % 16)によって計算できる。Nは[1−16]の範囲内である。Nバイトを追加することによって、L+Nは16で割り切れるようになる。追加された各バイトは、Nに等しい同じ値を含む。その後、パディングされたデータを暗号化する。
解読の後解読されたデータを提示する前に、パディングした部分を取り除かなければならない。そのアルゴリズムは、1)最終バイトの値Nを得る、2)少なくともN個の最終バイトが全て値Nを有するか否かを検査する、3)N個の最終バイトを「削除」し、Nを減算することによってデータ長を更新する(「削除」は単に長さを更新することによって行ってもよい)、というように説明することができる。
このパディングスキームはかなり以前から使用されているので、他の暗号プロバイダが当方のデータを処理しなければならないという相互運用性を必要とする場合でも、他の暗号プロバイダはPKCS#1パディングを理解しているだろう。
鍵管理システムをサポートするためには、1)ハッシュ関数−SHA1またはSHA2、2)ECB/CBCモードでのAES−256(AES−256/ECBモードはTWEAKと結合して「カットアンドペースト」攻撃を防止する)、3)TWEAK実装、4)PKCS#5 v2に記載のPBKDF2鍵導出関数、5)PKCS#1標準によるPKCS#1パディング、6)HMAC−SHA署名/検証、および7)ディフィ−ヘルマン鍵共有方式、のサポートが必要である。
鍵管理システムが顧客のPKIインフラストラクチャに統合され、また、ユーザの鍵およびポリシを配布するための証明書をサポートする必要がある場合、PKIおよびRSAのサポートが必要になることがある。
PKI鍵管理システムは、1)ASN.1パーサ、2)PKCS1、5、8、9、10および恐らくPKCS11およびPKCS12のサポート、3)標準X.509証明書の拡張子および属性のサポート、4)予想される顧客専用の属性および拡張子ならびにワールドワイド名を備えたX.509 v3証明書のサポート、5)サードパーティ暗号プロバイダとシームレスに作業するために予想される、ディフィ−ヘルマン鍵交換(PKCS#3)、CBCモードのトリプルDES、およびPKCS#11のサポート、を必要とする。
何らかの種類の暗号サポートを必要とする全ての構成要素が共有する共通暗号インタフェース(暗号抽象層−CAL)が必要な場合がある。この層は、当方の将来の顧客が既に使用し、そのため信頼を置き使用の継続を希望しているサードパーティの暗号ライブラリのような異なる暗号プロバイダに容易にプラグインできるものでなければならない。CALは、サードパーティの暗号ライブラリと共に多数のハードウェア暗号プロバイダおよび暗号アクセラレータをサポートすることができる。CALは、(一方はAES用、もう一方はSHA1およびHMAC−SHA1用といった)異なるタスクのための(ソフトウェアまたはハードウェアの)異なる暗号プロバイダの登録を可能にする。
各セキュリティシステムは、通常、他の鍵またはルート証明書などの最も重要なデータを保護するために使用される、ルート鍵(RK)またはマスタ鍵と呼ばれる少なくとも1つの非常に重要なセキュリティ鍵を有する。この鍵自体を保護することが課題である。MKを保護するためには、1)全ての保護が利用可能な安全な物理ロケーション、2)MKをFIPS−140.1レベル2以上の安全なハードウェアモジュールに格納する、および3)シャミアの鍵分割スキーム、という3つの基本的なアプローチが存在する。
MKを保護することは問題の一方の側面に過ぎない。もう一方の側面は、MKが必要な場合容易に利用できるようにしておくことである。MKを1つしか有しない場合、「この鍵を紛失したらどうすればよいか?」という別の問題が出てくる。追加のコピーを作成することがこの問題を緩和する普通のアプローチであるが、これはセキュリティリスクを追加し鍵の取り消しを複雑にする。最初の2つのアプローチは、理論的に、MKの高いストレージセキュリティを達成するが、容易な利用可能性および簡単な取り消し処置の両方を欠いている。最後の2つの問題を有効に解決するために、シャミアの鍵分割スキーム(SKS)を導入した。
SKSの概念は、鍵、パスワード等となり得る任意のビット列である共有秘密(S)をN個の部分に分割するが、その際K<Nであり、K個より少ない部分を有してもSを回復できないが、任意のK個以上の部分を有すればSを明瞭に回復できるというものである。
SKSスキームは多くの数学的実現を有するが、シャミア自身が提案した、最も簡単な、しきい値秘密分散法と呼ばれる概念を以下で説明する。
確率的アルゴリズムPAはしきい値秘密分散法を定義する。ここでは入力としてある有限の集合FSから秘密Sを受け取り、n個の分散情報、すなわち、ビット列S1,...,Snを出力する。最後に、秘密分散スキームでは、0<K<Nであるしきい値Kが使用される。このアルゴリズムは、以下で概説するプライバシと正当性の要求に適合しなければならない。プライバシに関しては、インデックス{1,2,...n}のサイズがK−1以下の任意のサブセットIを取り、任意の入力S’に対してアルゴリズムが実行されると、{Si|i∈I}の確率分布はS’と独立である。正当性に関しては、インデックス{1,2,...N}のサイズがK以上の任意のサブセットJを取ると、アルゴリズムによって、{Si|i∈J}からSが計算される。実際に、{Si|i∈J}からSを計算する有効なアルゴリズムが存在する。
一例として、P>Nである、ある素数Pについて、S=ZPと設定し、Kが希望するしきい値であると想定する。すると、シャミアが提案したアルゴリズムを以下のように記述することができる。
1)要素a1,a2,...an∈ZPをランダムに選択し、f(x)を多項式とする。
f(x)=S+a1*x+a2*(x**2)+...+ak*(x **k) 別言すれば、f(0)=Sとなる次数が最大KのZPにおけるランダム多項式を選択する。
2)si=f(i) mod P、i=1,...,Nによって、分散情報を定義する。
このスキームは、ラグランジュ補間の古典的な結果のため、上記で概説した特性を有する。ラグランジェ補間では、任意のフィールドFと、xiが判明している場合のxiとyiの組の任意の集合{(xi,yi)|0<i<K+1}∈F×Fについて、次数が最大KであるFに対して、g(xi)=yi、i=1...K+1となる1つの多項式g(x)が確かに存在する。この多項式の全ての係数は有効に計算することができる。証明のため、
Figure 2008541248
という多項式が、g(xi)=1で、j≠Iの場合g(xj)=0を満足し、最大Kの次数を有することに注意されたい。従って、
g(x)=y11(x)+...+yk+1k+1(x)
は適切な特性を有する。従って、構造によって直接的に、gは有効に計算可能であるということになる。2つの異なる多項式g(x)、g’(x)がどちらも解であったとすれば、g(x)−g’(x)は次数が最大KでK+1個の根を有するゼロでない多項式となる。しかしながら、このような多項式は存在しないので、1つの解しかあり得ない。
コンテンツ暗号化ファイアウォールシステムに関連する構成要素を例示する構成図である。 管理者アプリケーションの構成要素を例示する構成図である。 1つのセキュリティドメインと複数のセキュリティサブドメインとの図である。 クライアントアプリケーションの構成要素を例示する構成図である。 セキュリティドメイン作成方法のステップを例示するフローチャートである。 規則指定方法のステップを例示するフローチャートである。 プロビジョニング方法のステップを例示するフローチャートである。 プロビジョニング済モジュールを例示する構成図である。 クライアントアプリケーションの構成要素とコンピューティングステーションとの間の対話を例示する構成図である。 コンテンツアクセス方法のステップを例示するフローチャートである。 規則評価方法のステップを例示するフローチャートである。

Claims (19)

  1. モバイルストレージ装置のストレージまたはコンテンツとコンピューティングステーションとの間の対話を管理する方法であって、前記方法が、
    a)前記モバイルストレージ装置のストレージまたはコンテンツと前記コンピューティングステーションとの間で実行する操作に関する要求がなされているか否かを決定するステップと、
    b)前記ストレージまたはコンテンツからプロビジョニング情報を取り出すステップと、
    c)前記ストレージまたはコンテンツに関連するセキュリティドメイン情報と前記コンピューティングステーションに関連するセキュリティドメイン情報とを比較するステップと、
    d)前記要求された操作に基づいて実現すべき動作を決定するため前記コンピューティングステーションに関連する1つまたは複数の規則を評価するステップと、を含む方法。
  2. 前記要求された操作を、マウント操作、コピー操作、削除操作、安全な削除操作、読み取り操作、書き込み操作、伝送操作、および実行操作からなるグループから選択することができる、請求項1に記載の方法。
  3. 前記プロビジョニング情報が一意識別子を含む、請求項1に記載の方法。
  4. 前記プロビジョニング情報がセキュリティドメイン情報を含む、請求項1に記載の方法。
  5. 前記プロビジョニング情報がセキュリティサブドメイン情報を含むことができる、請求項4に記載の方法。
  6. 前記1つまたは複数の規則を評価する前記ステップが、前記ストレージまたはコンテンツの種類を決定するステップを含む、請求項1に記載の方法。
  7. 前記1つまたは複数の規則を評価するステップが、前記ストレージまたはコンテンツ上に格納されたコンテンツの種類を決定するステップを含む、請求項1に記載の方法。
  8. 前記1つまたは複数の規則を評価するステップが、前記ストレージまたはコンテンツ上に格納された前記コンテンツの種類に関連するメタデータ情報を決定するステップを含む、請求項7に記載の方法。
  9. 前記1つまたは複数の規則を評価する前記ステップが、前記ストレージまたはコンテンツに関連するインタフェースの種類を決定するステップを含む、請求項1に記載の方法。
  10. 前記実現すべき動作が前記要求された操作を許可する動作である、請求項1に記載の方法。
  11. 前記実現すべき動作が前記要求された操作を拒否する動作である、請求項1に記載の方法。
  12. 前記実現すべき動作が前記要求された操作を読み取り専用で許可する動作である、請求項1に記載の方法。
  13. 前記プロビジョニング情報が、前記ストレージまたはコンテンツ上で暗号によって保護されている、請求項1に記載の方法。
  14. コンピューティングステーションとストレージまたはコンテンツとの間の対話を支配するポリシを導入する方法であって、前記方法が、
    a)前記ポリシに関連する1つまたは複数の規則を定義するステップであって、要求された操作、1つまたは複数の制御基準、1つまたは複数の論理演算および1つまたは複数の動作に基づいて、該1つまたは複数の規則を定義するステップと、
    b)前記定義された1つまたは複数の規則に基づいて、ポリシモジュールを作成するステップと、
    c)前記コンピューティングステーション上に前記ポリシモジュールをインストールするステップと、を含む方法。
  15. 前記要求された操作を、マウント操作、コピー操作、削除操作、安全な削除操作、読み取り操作、書き込み操作、伝送操作、および実行操作からなるグループから選択することができる、請求項14に記載の方法。
  16. モバイルストレージ装置上のストレージまたはコンテンツをプロビジョニングする方法であって、前記方法が、
    a)前記ストレージまたはコンテンツに関連する1つまたは複数の規則から構成されるポリシを指定するステップと、
    b)暗号鍵および署名を生成するステップと、
    c)プロビジョニング情報を生成し、前記暗号鍵、署名およびプロビジョニング情報を前記ストレージまたはコンテンツ上に書き込むステップと、を含む方法。
  17. 前記プロビジョニング情報がセキュリティドメイン情報を含む、請求項16に記載の方法。
  18. 前記プロビジョニング情報がセキュリティサブドメイン情報を含む、請求項16に記載の方法。
  19. 前記プロビジョニング情報が有効期限情報を含む、請求項16に記載の方法。
JP2008510378A 2005-05-13 2006-05-15 コンテンツ暗号化ファイアウォールシステム Pending JP2008541248A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US68049405P 2005-05-13 2005-05-13
PCT/CA2006/000775 WO2006119641A2 (en) 2005-05-13 2006-05-15 Content cryptographic firewall system

Publications (2)

Publication Number Publication Date
JP2008541248A true JP2008541248A (ja) 2008-11-20
JP2008541248A5 JP2008541248A5 (ja) 2009-07-02

Family

ID=37396907

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008510378A Pending JP2008541248A (ja) 2005-05-13 2006-05-15 コンテンツ暗号化ファイアウォールシステム

Country Status (7)

Country Link
US (1) US8464354B2 (ja)
EP (1) EP1902401B1 (ja)
JP (1) JP2008541248A (ja)
CN (1) CN101366034A (ja)
AU (1) AU2006246222A1 (ja)
CA (1) CA2623141C (ja)
WO (1) WO2006119641A2 (ja)

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10181953B1 (en) 2013-09-16 2019-01-15 Amazon Technologies, Inc. Trusted data verification
WO2007097439A1 (ja) * 2006-02-21 2007-08-30 Nec Corporation プログラムの実行制御システム、実行制御方法、実行制御用コンピュータプログラム
US8266702B2 (en) * 2006-10-31 2012-09-11 Microsoft Corporation Analyzing access control configurations
GB2462442A (en) * 2008-08-06 2010-02-10 Zybert Computing Ltd A remote server centrally controls access to data stored in a data container in an encrypted form
GB2505375B (en) * 2009-05-05 2014-04-09 Egress Software Technologies Ltd Secure data exchange desktop
US8468345B2 (en) 2009-11-16 2013-06-18 Microsoft Corporation Containerless data for trustworthy computing and data services
US10348693B2 (en) * 2009-12-15 2019-07-09 Microsoft Technology Licensing, Llc Trustworthy extensible markup language for trustworthy computing and data services
US9537650B2 (en) 2009-12-15 2017-01-03 Microsoft Technology Licensing, Llc Verifiable trust for data through wrapper composition
CN102195775B (zh) * 2010-03-15 2016-03-02 中兴通讯股份有限公司 一种云计算密钥的加密和解密方法及装置
US9237155B1 (en) 2010-12-06 2016-01-12 Amazon Technologies, Inc. Distributed policy enforcement with optimizing policy transformations
US9432342B1 (en) 2011-03-08 2016-08-30 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US9300637B1 (en) * 2011-03-08 2016-03-29 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US8694646B1 (en) 2011-03-08 2014-04-08 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US9356993B1 (en) 2011-03-08 2016-05-31 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US11228566B1 (en) 2011-03-08 2022-01-18 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US9231920B1 (en) 2011-12-13 2016-01-05 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US9413526B1 (en) * 2011-03-08 2016-08-09 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US9292696B1 (en) 2011-03-08 2016-03-22 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US8726398B1 (en) 2011-12-13 2014-05-13 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US9338220B1 (en) 2011-03-08 2016-05-10 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US9852311B1 (en) 2011-03-08 2017-12-26 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US9667741B1 (en) * 2011-03-08 2017-05-30 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US8769642B1 (en) 2011-05-31 2014-07-01 Amazon Technologies, Inc. Techniques for delegation of access privileges
US9721071B2 (en) * 2011-06-29 2017-08-01 Sonic Ip, Inc. Binding of cryptographic content using unique device characteristics with server heuristics
US9203613B2 (en) 2011-09-29 2015-12-01 Amazon Technologies, Inc. Techniques for client constructed sessions
US9197409B2 (en) 2011-09-29 2015-11-24 Amazon Technologies, Inc. Key derivation techniques
US9178701B2 (en) 2011-09-29 2015-11-03 Amazon Technologies, Inc. Parameter based key derivation
US8892865B1 (en) 2012-03-27 2014-11-18 Amazon Technologies, Inc. Multiple authority key derivation
US9215076B1 (en) 2012-03-27 2015-12-15 Amazon Technologies, Inc. Key generation for hierarchical data access
US8739308B1 (en) 2012-03-27 2014-05-27 Amazon Technologies, Inc. Source identification for unauthorized copies of content
US9660972B1 (en) 2012-06-25 2017-05-23 Amazon Technologies, Inc. Protection from data security threats
US9258118B1 (en) * 2012-06-25 2016-02-09 Amazon Technologies, Inc. Decentralized verification in a distributed system
US9405900B2 (en) 2013-03-13 2016-08-02 General Electric Company Intelligent cyberphysical intrusion detection and prevention systems and methods for industrial control systems
US9407440B2 (en) 2013-06-20 2016-08-02 Amazon Technologies, Inc. Multiple authority data security and access
US9521000B1 (en) 2013-07-17 2016-12-13 Amazon Technologies, Inc. Complete forward access sessions
US9237019B2 (en) 2013-09-25 2016-01-12 Amazon Technologies, Inc. Resource locators with keys
US9311500B2 (en) 2013-09-25 2016-04-12 Amazon Technologies, Inc. Data security using request-supplied keys
US10243945B1 (en) 2013-10-28 2019-03-26 Amazon Technologies, Inc. Managed identity federation
US9317363B2 (en) * 2013-11-06 2016-04-19 International Business Machines Corporation Management of a secure delete operation in a parity-based system
US9420007B1 (en) 2013-12-04 2016-08-16 Amazon Technologies, Inc. Access control using impersonization
US9369461B1 (en) 2014-01-07 2016-06-14 Amazon Technologies, Inc. Passcode verification using hardware secrets
US9374368B1 (en) 2014-01-07 2016-06-21 Amazon Technologies, Inc. Distributed passcode verification system
US9292711B1 (en) 2014-01-07 2016-03-22 Amazon Technologies, Inc. Hardware secret usage limits
US9262642B1 (en) 2014-01-13 2016-02-16 Amazon Technologies, Inc. Adaptive client-aware session security as a service
US10771255B1 (en) 2014-03-25 2020-09-08 Amazon Technologies, Inc. Authenticated storage operations
US9258117B1 (en) 2014-06-26 2016-02-09 Amazon Technologies, Inc. Mutual authentication with symmetric secrets and signatures
US10326597B1 (en) 2014-06-27 2019-06-18 Amazon Technologies, Inc. Dynamic response signing capability in a distributed system
CN104468615B (zh) * 2014-12-25 2018-03-20 西安电子科技大学 基于数据共享的文件访问和修改权限控制方法
US10630686B2 (en) 2015-03-12 2020-04-21 Fornetix Llc Systems and methods for organizing devices in a policy hierarchy
US10965459B2 (en) 2015-03-13 2021-03-30 Fornetix Llc Server-client key escrow for applied key management system and process
US11456876B2 (en) * 2015-03-26 2022-09-27 Assa Abloy Ab Virtual credentials and licenses
US10122689B2 (en) 2015-06-16 2018-11-06 Amazon Technologies, Inc. Load balancing with handshake offload
US10122692B2 (en) 2015-06-16 2018-11-06 Amazon Technologies, Inc. Handshake offload
US10127398B2 (en) * 2015-09-18 2018-11-13 Rovi Guides, Inc. Methods and systems for implementing parental controls
US10469262B1 (en) * 2016-01-27 2019-11-05 Verizon Patent ad Licensing Inc. Methods and systems for network security using a cryptographic firewall
US11063980B2 (en) * 2016-02-26 2021-07-13 Fornetix Llc System and method for associating encryption key management policy with device activity
US10116440B1 (en) 2016-08-09 2018-10-30 Amazon Technologies, Inc. Cryptographic key management for imported cryptographic keys
US9641676B1 (en) 2016-08-17 2017-05-02 Authority Software LLC Call center audio redaction process and system
US11233642B2 (en) * 2017-04-27 2022-01-25 Hewlett-Packard Development Company, L.P. Regulating document access
US11032271B2 (en) * 2019-02-01 2021-06-08 Rsa Security Llc Authentication based on shared secret seed updates for one-time passcode generation
US11223473B2 (en) 2019-02-01 2022-01-11 EMC IP Holding Company LLC Client-driven shared secret updates for client authentication

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001195309A (ja) * 2000-01-13 2001-07-19 Casio Comput Co Ltd セキュリティ管理システムおよびそのプログラム記録媒体
JP2002132457A (ja) * 2000-10-26 2002-05-10 Victor Co Of Japan Ltd 情報記録装置及び情報再生装置並びに情報記録再生装置
JP2003114830A (ja) * 2001-07-09 2003-04-18 Matsushita Electric Ind Co Ltd コンテンツ管理システムおよび情報記録媒体
JP2004192601A (ja) * 2002-10-17 2004-07-08 Hitachi Ltd ポリシー設定支援ツール
WO2005008385A2 (en) * 2003-07-07 2005-01-27 Cryptography Research, Inc. Reprogrammable security for controlling piracy and enabling interactive content
JP2005056429A (ja) * 2003-08-07 2005-03-03 Microsoft Corp 信頼された環境から信頼されていない環境への信頼性の投影
JP2005056418A (ja) * 2003-07-31 2005-03-03 Internatl Business Mach Corp <Ibm> ドキュメント・コンポーネント用セキュリティ・コンテナ
JP2005122474A (ja) * 2003-10-16 2005-05-12 Fujitsu Ltd 情報漏洩防止プログラムおよびその記録媒体並びに情報漏洩防止装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100452071C (zh) * 1995-02-13 2009-01-14 英特特拉斯特技术公司 用于安全交易管理和电子权利保护的系统和方法
US6158010A (en) 1998-10-28 2000-12-05 Crosslogix, Inc. System and method for maintaining security in a distributed computer network
US7272723B1 (en) 1999-01-15 2007-09-18 Safenet, Inc. USB-compliant personal key with integral input and output devices
US6643783B2 (en) * 1999-10-27 2003-11-04 Terence T. Flyntz Multi-level secure computer with token-based access control
CN100495420C (zh) 2000-02-21 2009-06-03 特科2000国际有限公司 便携式数据存储装置
US20050015608A1 (en) 2003-07-16 2005-01-20 Pkware, Inc. Method for strongly encrypting .ZIP files
US6892309B2 (en) 2002-02-08 2005-05-10 Enterasys Networks, Inc. Controlling usage of network resources by a user at the user's entry point to a communications network based on an identity of the user
WO2004017592A1 (en) * 2002-08-19 2004-02-26 Research In Motion Limited System and method for secure control of resources of wireless mobile communication device
US7478248B2 (en) * 2002-11-27 2009-01-13 M-Systems Flash Disk Pioneers, Ltd. Apparatus and method for securing data on a portable storage device
US7237021B2 (en) 2003-04-04 2007-06-26 Bluearc Uk Limited Network-attached storage system, device, and method supporting multiple storage device types
US7240219B2 (en) * 2003-05-25 2007-07-03 Sandisk Il Ltd. Method and system for maintaining backup of portable storage devices
US20050005170A1 (en) 2003-06-26 2005-01-06 International Business Machines Corporation Minimizing information gathered by access decision engines in access control systems
US20050066069A1 (en) * 2003-09-19 2005-03-24 Kenichi Kaji Personal computer control system using portable memory medium and portable telephone set, and portable memory medium and portable telephone set therefor
JP2005092745A (ja) 2003-09-19 2005-04-07 Sangikyou:Kk 携帯型記憶媒体を用いたパソコン制御システム及び携帯型記憶媒体
WO2005054973A2 (en) * 2003-12-03 2005-06-16 Safend Method and system for improving computer network security
US20050182925A1 (en) 2004-02-12 2005-08-18 Yoshihiro Tsukamura Multi-mode token

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001195309A (ja) * 2000-01-13 2001-07-19 Casio Comput Co Ltd セキュリティ管理システムおよびそのプログラム記録媒体
JP2002132457A (ja) * 2000-10-26 2002-05-10 Victor Co Of Japan Ltd 情報記録装置及び情報再生装置並びに情報記録再生装置
JP2003114830A (ja) * 2001-07-09 2003-04-18 Matsushita Electric Ind Co Ltd コンテンツ管理システムおよび情報記録媒体
JP2004192601A (ja) * 2002-10-17 2004-07-08 Hitachi Ltd ポリシー設定支援ツール
WO2005008385A2 (en) * 2003-07-07 2005-01-27 Cryptography Research, Inc. Reprogrammable security for controlling piracy and enabling interactive content
JP2007535718A (ja) * 2003-07-07 2007-12-06 クリプターグラフィー リサーチ インコーポレイテッド 海賊行為を規制し、インタラクティブコンテンツを使用可能にするための再プログラマブルなセキュリティ
JP2005056418A (ja) * 2003-07-31 2005-03-03 Internatl Business Mach Corp <Ibm> ドキュメント・コンポーネント用セキュリティ・コンテナ
JP2005056429A (ja) * 2003-08-07 2005-03-03 Microsoft Corp 信頼された環境から信頼されていない環境への信頼性の投影
JP2005122474A (ja) * 2003-10-16 2005-05-12 Fujitsu Ltd 情報漏洩防止プログラムおよびその記録媒体並びに情報漏洩防止装置

Also Published As

Publication number Publication date
AU2006246222A1 (en) 2006-11-16
EP1902401A2 (en) 2008-03-26
CA2623141A1 (en) 2006-11-16
WO2006119641A2 (en) 2006-11-16
CA2623141C (en) 2014-07-22
US20100058072A1 (en) 2010-03-04
CN101366034A (zh) 2009-02-11
US8464354B2 (en) 2013-06-11
WO2006119641A3 (en) 2007-01-04
EP1902401A4 (en) 2012-04-04
EP1902401B1 (en) 2017-03-29

Similar Documents

Publication Publication Date Title
EP1902401B1 (en) Content cryptographic firewall system
CA2623137C (en) Cryptographic control for mobile storage means
US7792300B1 (en) Method and apparatus for re-encrypting data in a transaction-based secure storage system
US20100095118A1 (en) Cryptographic key management system facilitating secure access of data portions to corresponding groups of users
US7751570B2 (en) Method and apparatus for managing cryptographic keys
US7320076B2 (en) Method and apparatus for a transaction-based secure storage file system
KR20100114066A (ko) 암호화된 파일 엑세스를 위한 방법 및 시스템
US20080235521A1 (en) Method and encryption tool for securing electronic data storage devices
KR101220160B1 (ko) 모바일 클라우드 환경에서 안전한 프록시 재암호화 기반의 데이터 관리 방법
JP6049914B2 (ja) 暗号システム、鍵生成装置及び再暗号化装置
KR20120091507A (ko) 데이터 접근 권한 관리 방법 및 장치
US10726104B2 (en) Secure document management
US20230021749A1 (en) Wrapped Keys with Access Control Predicates
US20220086000A1 (en) Cryptographic systems
WO2024013924A1 (ja) 暗号システム、鍵発行装置、鍵発行方法及び鍵発行プログラム
CA2582867A1 (en) Method and encryption tool for securing electronic data storage devices

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090515

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090515

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110607

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110907

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110914

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120214