(57)【特許請求の範囲】
【請求項１】
データの分類及び／又は、ソフトウェアアプリケーションにおけるデータアイテムに関する１又は複数の情報権利管理（ＩＲＭ）及び／又は暗号化ポリシーの実施を可能にするための方法であって、
ａ）前記アプリケーションを実行する各端末装置にエージェントをインストールするステップと、
ｂ）実施されるべき前記１又は複数のＩＲＭ及び／又は暗号化ポリシーを含み、各端末装置にインストールされたエージェントと通信する中央管理モジュールを提供するステップと、
ｃ）前記中央管理モジュールによって、前記１又は複数のＩＲＭ及び／又は暗号化ポリシーを各エージェントに配布するステップと、
前記１又は複数のＩＲＭ及び／又は暗号化ポリシーの少なくとも１つを選択することの指定に応答して、
ｄ）前記端末装置上で実行し前記データアイテムにアクセスするアプリケーションにおける前記データアイテムに、前記選択された少なくとも１つのポリシーを適用するステップであって、前記選択された少なくとも１つのポリシーに基づいて前記データアイテムを拡張するステップを含む、ステップと、
を含む方法。
【請求項２】
前記エージェントは、
ａ）前記アプリケーションによってデータアイテム又はファイルを受け取った時に、前記アプリケーションを識別し前記ファイルの元のＩＲＭ権についての情報を抽出するために、前記エージェントを使用し、
ｂ）ユーザーが前記ファイルにアクセスした時に行い得る操作を示すアクティビティに関するアプリケーションＡＰＩ又はオペレーティングシステムＡＰＩの処理に対する呼び出しをインターセプトするための、前記アプリケーションの自然な処理を妨げない専用ランタイムコードユニットを、前記エージェントによって前記アプリケーションの固有コードに導入し、
ｃ）要求された処理を実行する前に、アクセス中のユーザーに関するアクセス対象のデータアイテムに対する許可を受け取るために前記エージェントと通信する実行中プロセスを強化し、
ｄ）提供されたコンテンツの前記ＩＲＭ権と適合する処理のみを有効にする、
ことによって、前記アプリケーションを実行する前記端末装置上において使用権を実施する、請求項１に記載の方法。
【請求項３】
アプリケーションが複数のファイルを並列して別個のウィンドウで開くたびに、前記ウィンドウの特性に応じた権利を計算する一方で、ウィンドウをどのように提供すべきかを決定するために、前記ウィンドウとその対応するファイル及びＩＲＭとの相関をとることを前記エージェントに行わせる、請求項１に記載の方法。
【請求項４】
前記エージェントは、ユーザーが「名前を付けて保存」ボタンをクリックするか又はキーボードのショートカットを使用することによって「保存」若しくは「名前を付けて保存」処理を起動させたことを識別した時に、前記エージェントが分類及びＩＲＭ関連コンテンツを有する変更された「保存」ウィンドウを表示するようにオペレーティングシステムレベルに介入することを可能にすることによって、前記アプリケーションを実行する前記端末装置上でデータ分類を実施する、請求項１に記載の方法。
【請求項５】
前記変更されたウィンドウは、下位分類化コントロールを用いて作成される、請求項４に記載の方法。
【請求項６】
前記分類は、予め決められた企業ポリシーに従って自動的に実施される、又は前記データを作成、編集、若しくは消費するユーザーによって決定される、請求項４に記載の方法。
【請求項７】
前記変更されたウィンドウは、前記データの要求された分類に関する推奨を前記ユーザーに提供する、請求項４に記載の方法。
【請求項８】
ファイルの分類は、前記ファイルのフォーマット若しくは名前を変更することを伴って又は伴わずに前記ファイルを保存するたびに承継される、請求項４に記載の方法。
【請求項９】
前記変更されたウィンドウは、全ての付加的な分類特徴を有するサイドバーを標準的なウィンドウに付加することによって作成される、請求項４に記載の方法。
【請求項１０】
前記変更されたウィンドウは、「保存」ボタンに先行し、適切な分類を定義するよう前記ユーザーに促す「次へ」ボタンを付加することによって作成される、請求項４に記載の方法。
【請求項１１】
前記ウィンドウの特性は、ウィンドウのタイトル又はウィンドウのコンテンツを含む、請求項３に記載の方法。
【請求項１２】
前記相関から非決定的な結果を受け取った時に、前記アプリケーションによって開かれている全てのファイルに対して最も高い標準を有するＩＲＭを適用するステップを更に含む、請求項３に記載の方法。
【請求項１３】
フック及びオーバーライドする標準的なオペレーティングシステムレベルの機能並びにＡＰＩを用いてＩＲＭ権が適用される、請求項２に記載の方法。
【請求項１４】
前記ＡＰＩは、アプリケーションレベルのボタン又は標準的なクリップボードＡＰＩによって起動される標準的なＷｉｎｄｏｗｓ  ＡＰＩである、請求項１３に記載の方法。
【請求項１５】
ａ）前記オペレーティングシステムによって提供される標準的なダイアログをオーバーライドし、
ｂ）前記アプリケーションを前記ファイルの拡張されていないバージョンと共に動作させ続けるようにカーネルモジュールを使用する、
ことによって、拡張をデータアイテム内に持続させ、拡張されたデータアイテムのコピー又は編集されたバージョンに拡張を承継させるステップを更に含む、請求項１３に記載の方法。
【請求項１６】
ａ）拡張されたファイルの変換をコンテンツの類似性によって識別するために、ＷｉｎｄｏｗｓＫｅｒｎｅｌレベルのモジュールを使用するステップと、
ｂ）前記ファイルを元のファイルの拡張を含むバージョンと置換する、又は前記拡張を対象のファイルに付加するステップと、
を更に含む、請求項１５に記載の方法。
【請求項１７】
データの分類及び／又は、ソフトウェアアプリケーションにおけるデータアイテムに関する１又は複数の情報権利管理（ＩＲＭ）及び／又は暗号化ポリシーの実施を有するコンピューター実装システムであって、
ａ）前記アプリケーションを実行し、エージェントがインストールされる複数の端末装置と、
ｂ）実施されるべき前記１又は複数のＩＲＭ及び／又は暗号化ポリシーを含み、各端末装置にインストールされたエージェントと通信する中央管理モジュールを実行するコンピューターであって、前記中央管理モジュールは、
ｂ．１）前記１又は複数のＩＲＭ及び／又は暗号化ポリシーを各エージェントに配布し、
前記１又は複数のＩＲＭ及び／又は暗号化ポリシーの少なくとも１つを選択することの指定に応答して、
ｂ．２）前記端末装置上で実行し前記データアイテムにアクセスするアプリケーションにおける前記データアイテムに、前記選択された少なくとも１つのポリシーを適用し、前記選択された少なくとも１つのポリシーを適用することは、前記選択された少なくとも１つのポリシーに基づいて前記データアイテムを拡張することを含む、
ように適応している、コンピューターと、
を備えるコンピューター実装システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報技術の分野に関連する。より具体的には、本発明は、企業環境のコンピューターネットワークによって実行される、ソフトウェアアプリケーションにおいてデータの分類と情報権利管理（ＩＲＭ）能力の実施を可能にするための方法に関連する。
【背景技術】
【０００２】
情報権利管理（ＩＲＭ）は、多くの組織において、（財務データ、知的財産、及び役員の通信などの）企業の機密情報を不正のアクセス及び使用から保護するのに用いられている。ＩＲＭは、コピー、ドラッグ／ドロップ、印刷、画面コピー、保存、閲覧操作などのアクションをどのユーザーがデータに対して行えるかを決定するために、アクセス及び使用権の実施を主として含む。ＩＲＭが可能であるためには、暗号化データを消費する各アプリケーションは、復号鍵を受信し、データを復号し、アクセスを許可するための復号済みデータをユーザーに提供できなければならない。この目的のために、暗号化／復号化及びデータの交換を含むアプリケーションには、全ての使用権の能力が鍵の管理と共に統合されるべきであり、それによって、当該アプリケーション内の機能を有効化又は無効化し使用権を実施するために、各データアイテムの一連の許可が分析されることとなる。このことは、ＩＲＭの実装がアプリケーションの種類に強く依存し、したがってアプリケーション毎に異なるという状況をもたらす。
【０００３】
ＩＲＭをアプリケーションに実装するための既存の解決策の１つは、ＩＲＭベンダーによって通常提供されるＩＲＭソフトウェア開発キット（ＳＤＫ：これは、あるソフトウェア開発プラットフォーム向けのアプリケーションの作成を可能にするソフトウェア開発ツールである）を使用することである。これをすることによって、ＩＲＭのためのコードが、アプリケーションの固有コードの一部として開発される。しかしながら、この解決策は、各アプリケーションの固有コードの変更を必要とするため、特に、多くのソフトウェアプロバイダーからの多くのアプリケーション、既製品のシェルフアプリケーション（shelf application）のほとんどを使う企業においては、面倒でコストが高い。この場合、この解決策は、それら多くの異なるアプリケーションベンダーの協力を必要とする。また、時には、アプリケーションベンダーとＩＲＭベンダーとの関係は、サードパーティーベンダーによるＩＲＭの実装を不可能にする。加えて、全てのＩＲＭベンダーが全ての開発技術において使用可能なＳＤＫを提供しているわけではなく、また全てのアプリケーションベンダーがそのようなＳＤＫを統合しようとするとは限らないし、その一方で、サードパーティーによるソース又はバイナリの改変は、アプリケーションベンダーのライセンスによって禁止されている。
【０００４】
同じような問題は、データアイテムの分類を表示し、追加し、変更することが、当該データを提供するアプリケーションを介してユーザーによって要求された場合に発生する。時には、データの分類はセキュリティ上の理由のため必須である。例えば、もしデータが機密の内容（例えばクレジットカード番号）を含んでいるなら、それは機密扱いされなければならない。
【０００５】
主要な困難さの１つは、各アプリケーションが異なるＵＩ、異なるＵＩのレイアウト、及び異なる技術を有しているという事実であり、このことがユーザビリティの問題を負わせる。問題の１つは、たとえＵＩレイアウトがアプリケーション毎に異なっていても、アプリケーションの各ユーザーに均一なユーザビリティ体験を提供することが望まれるということである。均一性の問題に対する従来の解決策の１つは、例えばツールバーを用いた分類能力を実装するためのＳＤＫを使用することである。しかしながら、このことは、そのような均一性を得るために各アプリケーションにおけるＵＩレイアウトを変更することを必要とする。別の解決策はアドオン（別のソフトウェアアプリケーションを強化する１つのソフトウェア）を使用することであるが、これもまた、各アプリケーションに異なるアドオンを統合することを必要とする。
【０００６】
分類能力を統合する別の方法は、タイトルバー（ウィンドウの装飾の一部であり、通常は水平のバーとしてウィンドウの最上部に配置されるグラフィカルな操作エレメント）などの汎用の場所を用いることである。しかしながら、タイトルバーを持たないアプリケーションもあり、またいかなる場合においても、分類能力を得るために中央のタイトルバーを用いると、ユーザーの自然な作業の流れ（即ち、ほとんど任意のアプリケーションを使用する際にユーザーが行う自然なシーケンス）の邪魔になる。例えば、作成したデータアイテムを保存するために、ユーザーはタイトルバーを使うことを求められるだろう。同じような妨害は、分類能力を提供するために（アプリケーションの外部の）ポップアップを使用する際に現れる。分類能力を提供するために（ウィンドウズエクスプローラーなどの）ファイルエクスプローラーを通じて右クリックを使用することも可能であるが、これもまた、ユーザーはアプリケーションを閉じて異なるツールを使う必要があるため、ユーザーの自然な作業の流れの邪魔になる。
【発明の概要】
【０００７】
ユーザーの自然な作業の流れを邪魔しない、ソフトウェアアプリケーションにおいてデータの分類と情報権利管理（ＩＲＭ）能力の実施を可能にするための方法を提供することが、本発明の目的である。
【０００８】
あらゆるアプリケーションに対して汎用性がある、ソフトウェアアプリケーションにおいてデータの分類と情報権利管理（ＩＲＭ）能力の実施を可能にするための方法を提供することが、本発明の別の目的である。
【０００９】
個別のアプリケーションとの統合を必要とせず、目標のアプリケーションに適合した開発労力を必要としない、ソフトウェアアプリケーションにおいてデータの分類と情報権利管理（ＩＲＭ）能力の実施を可能にするための方法を提供することが、本発明の更なる目的である。
【００１０】
既存のアプリケーション（バイナリ）をアップグレード又は修正する要求のないエコシステムの中でユーザーが分類とＩＲＭを実現できるようにするための方法を提供することが、本発明の更なる目的である。
【００１１】
本発明の他の目的及び利点は、本説明が進むにつれて明らかとなるだろう。
【００１２】
本発明は、ソフトウェアアプリケーションにおいてデータの分類及び／又は情報権利管理（ＩＲＭ）能力の実施及び／又は暗号化を可能にするための方法を対象としている。提案される方法によれば、エージェントが、アプリケーションを実行する各端末装置にインストールされ、実施されるべきＩＲＭ、暗号化、及び分類ポリシーを含む中央管理モジュールが、各端末装置にインストールされたエージェントと通信する。中央管理モジュールは、適切なＩＲＭ及び／又は分類ポリシーを各エージェントに配布し、端末装置上で実行するアプリケーションにポリシーを適用する。
【００１３】
前記エージェントは、
ａ）前記アプリケーションによってデータアイテム又はファイルを受け取った時に、前記アプリケーションを識別し前記ファイルの元のＩＲＭ権についての情報を抽出するために、前記エージェントを使用し、
ｂ）ユーザーが前記ファイルにアクセスした時に行い得る操作を示すアクティビティに関するアプリケーションＡＰＩ又はオペレーティングシステムＡＰＩの処理に対する呼び出しをインターセプトするための、前記アプリケーションの自然な処理を妨げない専用ランタイムコードユニットを、前記エージェントによって前記アプリケーションの固有コードに導入し、
ｃ）要求された処理を実行する前に、アクセス中のユーザーに関するアクセス対象のデータアイテムに対する許可を受け取るために前記エージェントと通信する実行中プロセスを強化し、
ｄ）提供されたコンテンツの前記ＩＲＭ許可と適合する処理のみを有効にする、
ことによって、前記アプリケーションを実行する前記端末装置上において使用権を実施するのに用いられることができる。
【００１４】
アプリケーションが複数のファイルを並列して別個のウィンドウで開くたびに、前記エージェントは、（ウィンドウのタイトル又はウィンドウのコンテンツを含み得る）前記ウィンドウの特性に応じた権利を計算する一方で、ウィンドウをどのように提供すべきかを決定するために、前記ウィンドウとその対応するファイル及びＩＲＭとの相関をとることを可能とされる。
【００１５】
前記エージェントは、ユーザーが「名前を付けて保存」ボタンをクリックするか又はキーボードのショートカットを使用することによって「保存」若しくは「名前を付けて保存」処理を起動させたことを識別した時に、前記エージェントが分類及びＩＲＭ関連コンテンツを有する（例えば下位分類化コントロールを用いて作成されることができる）変更された「保存」ウィンドウを表示するようにオペレーティングシステムレベルに介入することを可能にすることによって、前記アプリケーションを実行する前記端末装置上でデータ分類を実施するように適応することができる。
【００１６】
分類は、予め決められた企業ポリシーに従って自動的に実施される、又は前記データを作成、編集、若しくは消費するユーザーによって決定されることができる。
【００１７】
前記変更されたウィンドウは、前記データの要求された分類に関する推奨を前記ユーザーに提供するように適応することができる。
【００１８】
ファイルの分類は、前記ファイルのフォーマット若しくは名前を変更することを伴って又は伴わずに前記ファイルを保存するたびに承継されることができる。
【００１９】
前記変更されたウィンドウは、全ての付加的な分類特徴を有するサイドバーを標準的なウィンドウに付加することによって、又は、「保存」ボタンに先行し、適切な分類を定義するよう前記ユーザーに促す「次へ」ボタンを付加することによって、作成されることができる。
【００２０】
前記相関から非決定的な結果を受け取った時に、ＩＲＭは、前記アプリケーションによって開かれている全てのファイルに対して最も高い標準を適用されることができる。フック及びオーバーライドする標準的なオペレーティングシステムレベルの機能並びにＡＰＩ（例えば、アプリケーションレベルのボタン又は標準的なクリップボードＡＰＩによって起動される標準的なＷｉｎｄｏｗｓ  ＡＰＩ）を用いてＩＲＭ権が適用されることができる。
【００２１】
ａ）前記オペレーティングシステムによって提供される標準的なダイアログをオーバーライドし、
ｂ）前記アプリケーションを前記ファイルの拡張されていないバージョンと共に動作させ続けるようにカーネルモジュールを使用する、
ことによって、拡張は、データアイテム内に持続させられることができ、また拡張は、拡張されたデータアイテムのコピー又は編集されたバージョンに承継されることができる。
【００２２】
ＷｉｎｄｏｗｓＫｅｒｎｅｌレベルのモジュールは、拡張されたファイルの変換をコンテンツの類似性によって識別するために、及び、前記ファイルを元のファイルの拡張を含むバージョンと置換する、又は前記拡張を対象のファイルに付加するために、用いられることができる。
【００２３】
本発明はまた、ソフトウェアアプリケーションにおけるデータの分類及び／又は情報権利管理（ＩＲＭ）能力の実施及び／又は暗号化を有するコンピューター実装システムであって、
ａ）前記アプリケーションを実行し、エージェントがインストールされる複数の端末装置と、
ｂ）実施されるべきＩＲＭ、暗号化、及び分類ポリシーを含み、各端末装置にインストールされたエージェントと通信する中央管理モジュールを実行するコンピューターであって、前記中央管理モジュールは、
ｂ．１）適切なＩＲＭ及び／又は分類ポリシーを各エージェントに配布し、
ｂ．２）前記端末装置上で実行するアプリケーションに前記ポリシーを適用する、
ように適応している、コンピューターと、
を備えるコンピューター実装システムを対象としている。
【図面の簡単な説明】
【００２４】
【図１】図１は、分類関連ボタンによって変更された「保存」ウィンドウを有する「保存」インターフェイスの一例を示す。
【発明を実施するための形態】
【００２５】
ソフトウェアアプリケーションにおいてデータの分類と情報権利管理（ＩＲＭ）能力の実施を可能にするための方法は、２つの部分を含む。第１の部分は、データアイテムを付加的な特徴で拡張することである。そのような特徴は、元のコンテンツの暗号化、ＩＲＭポリシーの追加、分類の追加、及び任意の他の機能強化を含むことが可能である。そのようにすることによって、強化されたファイルのコピーが作成され、このコピーは、そのデータの中に付加的な特徴を保持する。第２の部分において、それらの拡張は消費アプリケーション（consuming application）によってサポートされない（当該アプリケーションが、そのファイルを拡張するのに使用された暗号化又はＩＲＭ方式に対するサポートを有していない場合のように）。拡張はアプリケーションから隠蔽されるべきであるため、本発明は、それらの拡張がアプリケーションのアクションに対してやはり有効であり持続されることを可能にするための方法を提案する。
【００２６】
ＵＳ  ２０１０／０１４６６００は、組織のコンピューターネットワークにおける自動データ保護のためのシステム及び方法を開示し、それによれば、データアイテムを分類するための複数の情報プロファイルが、特定の情報プロファイルに属するデータアイテムを保護するためのルールと共に定義される。データアイテムは、定義された情報プロファイルに従って分類され、それらの分類と一組の定義されたポリシールールとに応答して、保護方法がデータアイテムに適用される。データアイテムの分類は、データアイテムの内容又は場所の変化に応答して自動的に更新されることができ、適用される保護方法は、定義されたルールに従って、データアイテムの分類又は場所の変化に応答して、データアイテムのライフサイクル全体を通して、自動的に維持及び適合される。したがって、本発明によって提案される方法は、付加的なセットのアプリケーション、データアイテムのフォーマット、及びデータアイテムの変形においてＩＲＭポリシーを統合し実装するために、ＵＳ  ２０１０／０１４６６００のデータ保護方法を拡大するように用いられることができる。
【００２７】
本発明によって提案される方法は、アプリケーションが拡張されたファイルにアクセスし、拡張されたファイルを編集、作成し、拡張されたファイルに対して作用することができるようにアプリケーションに能力を埋め込むことによって、アプリケーションを拡張することを提案する。１つの例は、非ＩＲＭ認識（non-IRM aware）サードパーティーソフトウェアによる暗号化されたデータアイテムを提供し、その一方でＩＲＭ使用権をこのサードパーティーソフトウェアに対して適用することである。加えて、アプリケーションのユーザーインターフェイスは、コンテンツへの拡張を編集及び追加する方法で拡張される。これは全て、アプリケーションの固有コードを変更することなくなされる。そのようにすることによって、データの分類及びデータ使用権の実施を閲覧し、定義し、又は変更するユーザーの能力が、ベンダーの協力を必要とすることなく可能とされるだろう。その代わりに、そのような特徴は実行時にアプリケーションに追加され、アプリケーションのバイナリはそれが最初に作成されたまま保持される。
【００２８】
使用されるアーキテクチャは、ＩＲＭ及び分類ポリシーを含み各端末装置にインストールされているエージェントと通信する、中央管理モジュールを含む。中央管理モジュールは、適切なＩＲＭ又は分類ポリシーを各エージェントに配布し、次いで各エージェントは、そのポリシーを端末装置上で走っている任意の定義されたアプリケーションに適用する。
【００２９】
＜実行中のアプリケーションにおけるＩＲＭ能力の実現＞
本発明の提案される拡張は、任意のフォーマット及びアプリケーションにＩＲＭ能力を付加することである。端末装置上におけるＩＲＭ（又は使用権）の実施は、本発明を実装したエージェントによってなされる。（ＩＲＭ保護された）ファイルなどのデータアイテムをアプリケーションによって受信すると、エージェントは、（例えば、実行中のアプリケーションによって作成されたプロセスに従って、又はそのデジタル署名に従って）アプリケーションを識別し、当該ファイルの元の暗号化についての情報を抽出する。（コピー処理の試行を識別するための）クリップボードアクティビティ、（印刷処理の試行を識別するための）プリンタースプールアクティビティ、及びユーザーがファイルにアクセスする際に行うかもしれない操作を示す他の予め決められたアクティビティなどの、アプリケーションのＡＰＩ又はオペレーティングシステムにおける標準的な処理の呼び出しをインターセプトするためのフック（hook）を事前に形成するために、（アプリケーションの自然な動作を妨害しない）専用のランタイムコードユニットが、エージェントによってアプリケーションの固有コードに導入される。要求された処理を実施する前に、実行中のプロセスは、アクセスしようとしているユーザーについてアクセス対象のデータアイテムに対する許可を得るためにエージェントと通信し、提供されたコンテンツのＩＲＭ許可に適合する処理のみを有効にする。許可及びＩＲＭポリシーは、ＩＲＭ保護されたファイルの中に埋め込まれる。例えば、あるファイルにアクセスするユーザー「Ａ」は、それを彼の端末装置上で閲覧することができるが、その内容を印刷することは許可されず、その一方で、同じファイルに彼の端末装置を介してアクセスする別のユーザー「Ｂ」は、当該内容を閲覧及び印刷することができる、ということが可能である。
【００３０】
（Ａｄｏｂｅ  Ａｃｒｏｂａｔ  Ｒｅａｄｅｒなどの）いくつかのアプリケーションは、各文書を別個のウィンドウに提示しながら、単一のプロセスの中で複数の文書を同時に提供することができる。この場合、エージェントは、使用権をウィンドウにどのように適用すべきかを決定するために、アクセス対象のファイルと、その対応するＩＲＭポリシーと、当該文書を表示する特定のウィンドウとの相関をとるだろう。これは、ウィンドウのプロパティ、類似のタイトル、内容、親及び子ウィンドウ、作成時間等を考慮に入れる。エージェントが文書のウィンドウを１つのデータアイテムと明確に一致させられない場合、ウィンドウの内容に対して可能性のある照合結果として特定された全ての文書から、最も高い標準を有するＩＲＭが、そのウィンドウに対して用いられるだろう。
【００３１】
例えば、（暗号化されて改変され、ＩＲＭ権を割り当てられ、又はファイルの内容の外側に他の拡張を適用された）テキストファイルにＭｉｃｒｏｓｏｆｔ  Ｎｏｔｅｐａｄテキスト編集アプリケーションによってアクセスすると、端末装置のエージェントは、そのような拡張を含むものとして当該ファイルを識別する。これは、エージェントの一部分であるファイルシステムフィルタードライバーによってなされることが可能である。もしそのファイルが当該ファイルに対して平文のアクセス権を有すべき（即ち「信頼された」）アプリケーションによってアクセスされると、当該ファイルは、そのアプリケーションの無防備な処理を機能停止させ（ＷｉｎｄｏｗｓにおけるＩＲＭ＿ＭＪ＿Ｃｒｅａｔｅ）、エージェントにファイル参照を供給する。次いで、エージェントは、そのアプリケーションによってサポートされていない拡張から当該ファイルをクリーニングし、暗号化の場合には、エージェントは、ファイルの復号を可能とするためにユーザー識別情報を用いて適切な鍵を取得する。クリーニングされたレプリカは、特定のプロセスのみがアクセスできるようなセキュリティ保護された方法で保存される。一旦この処理が行われると、ドライバーは、Ｎｏｔｅｐａｄによってなされたファイルを開こうとするＯＳ呼び出しを再解析し、その呼び出しを復号化されたレプリカにそのままリダイレクトする。このように、アプリケーションはクリーニングされたファイルに実際にアクセスしており、その内容を利用することが可能である。もしこのユーザーが、例えばデータを閲覧することだけを可能とし、印刷又はコピーをブロックする許可を有しているなら、Ｎｏｔｅｐａｄは依然として、復号化された安全なコピーからのコンテンツを提供することが可能であり、したがってユーザーは、当該コンテンツを閲覧することが可能であるだろう。しかしながら、Ｎｏｔｅｐａｄに導入されたコードは、ユーザーがそのファイルを印刷し又はその内容をコピーするのを許可しないだろう。もしこのユーザーが、当該データに対する何らかのレベルのアクセス権を提供する許可を全く有していないなら、Ｎｏｔｅｐａｄは、たとえユーザーがそれをダブルクリックしても、（エージェントはユーザーのためにそれを復号化しないので）その内容を表示することを許可されないだろう。データアイテムをインターセプトする方法は様々であり得る。それは、ウェブブラウザー又は他の記憶及びネットワーク媒体などの他の媒体からのファイルアクセスをサポートすることが可能である。
【００３２】
アプリケーション依存的にならないように、またユーザーの自然な作業の流れを妨げないように、本発明によって提案される方法は、（アプリケーションレベルではなく）標準的なオペレーティングシステムレベルの機能及びＡＰＩをフック（hook）しオーバーライドすることを用いる。例えば、統一された印刷ＡＰＩがＷｉｎｄｏｗｓオペレーティングシステムによって提供される。このＡＰＩ呼び出しは、エージェントによりサードパーティアプリケーションに導入されたコードによって、ＩＲＭ権を適用するために、及びこのアプリケーションからの無権限のコンテンツの印刷を防ぐために、オーバーライドされることができる。別の例は、通常はアプリケーションレベルの「保存」／「名前を付けて保存」ボタンによって起動される、標準的なＷｉｎｄｏｗｓＡＰＩを介してＷｉｎｄｏｗｓオペレーティングシステムによって提供される標準的な「名前を付けて保存」ウィンドウである。このＡＰＩは、コンテンツのトラックフォーマット又は位置変換に加えて、保存時にユーザーインターフェイスを提供するためにオーバーライドされることが可能である。そのような変換を追跡することによって、ファイルの拡張は、名前を付けて保存処理の際に維持されることが可能である。
【００３３】
別の例は、Ｗｉｎｄｏｗｓによって提供されるものと同様の標準的なクリップボードＡＰＩであり、これは、クリップボード及びドラッグアンドドロップのようなシステムサービスを介したセキュリティ保護された文書からのコピーの内容を無効化するＩＲＭ権を実施するように、オーバーライドされることが可能である。
【００３４】
アプリケーションがＩＲＭ保護されたファイルを開くと、ファイルの使用権が取得される。ＩＲＭ権によってカバーされたアクションが行われると、イベントが発生したアプリケーション、イベントが起きたウィンドウ又は上位ウィンドウのタイトル、イベントの引き金となった又はイベントに関連する親及び子プロセスＩＤを含むプロセスＩＤと同様に、イベント詳細が検査される。当該詳細は、そのイベントが要求するデータを保持している元のファイルを推測するのに用いられる。次いで、そのファイルに関連付けられた権利が、当該イベントが有効とされるべきかブロックされるべきかを検証するために評価される。
【００３５】
ＩＲＭ権の実施に加えて、本発明は、拡張をデータアイテム内に持続させる方法、及び、同じデータを保持するがそのバイナリフォーマットが異なる「論理的コピー」を含む拡張されたデータアイテムのコピー又は編集されたバージョンに拡張を承継させる方法を提供する。これは、例えば、オペレーティングシステムにより提供される標準的な名前を付けて保存ダイアログをオーバーライドすることによって可能となる。これによって、システムは、データアイテムのコピーがどこにどんなフォーマットで保存されているかを識別し、ソースファイルからの拡張をそのコピーに複製することが可能である。そのような拡張の承継は、ユーザーの通常のフローを妨害することなくなされることが可能であり、その一方で、カーネルモジュールは、アプリケーションをファイルの非拡張バージョンと共に常時動作させ続けるのに用いられることが可能である。
【００３６】
加えて、これは、拡張されたファイルの変換をコンテンツの類似性によって識別し、また、元のファイルの拡張を含むバージョンで当該ファイルを置換するか、あるいはその拡張を名前を付けて保存の対象に付加する、Ｗｉｎｄｏｗｓ  Ｋｅｒｎｅｌレベルのモジュールと結合されることが可能である。
【００３７】
＜権利評価の例＞
我々がコンテンツファイルを開くサードパーティアプリケーションを有し、このコンテンツファイルには、エンドユーザーが当該ファイルからのコンテンツをコピーするのを防ぐＩＲＭ拡張が付加されていると想定する。この場合、ユーザー入力への応答として、あるいはプログラムに従ってコピー操作がアプリケーションによって試みられると、標準的なオペレーティングシステムＡＰＩが、コンテンツをオペレーティングシステム提供の「クリップボード」内に格納するために呼び出されるだろう。そのようなＡＰＩの呼び出しは、本発明によりサードパーティアプリケーションに導入されたランタイムコードモジュールによってインターセプトされる。次いで、このアクションを許可すべきかブロックすべきかが決定され、これは全て、本原理の権利に依存する。
【００３８】
これを決定するために、アプリケーションウィンドウデータ及び／又はウィンドウタイトルに加えて、アプリケーションのプロセス情報が用いられる。それらは、データのコピー元である元のファイルを推測するために、及び当該ファイルを拡張しているＩＲＭ権ポリシーによってそのユーザーに「コピー」権が許可されているかどうかを評価するために、用いられる。例えば、ＭｉｃｒｏｓｏｆｔのＮｏｔｅｐａｄテキスト編集アプリケーションにおいて、ウィンドウタイトルは、Ｎｏｔｅｐａｄによって提供されるファイル名を保持する。Ｎｏｔｅｐａｄによってアクセスされているファイルを追跡し続けることと相まって、ウィンドウタイトルは、Ｎｏｔｅｐａｄが現在どんなファイルを提供しているかを判定することを可能にする。一旦ファイルが推測されると、その拡張が、ＩＲＭ権と同様に、Ｎｏｔｅｐａｄの実行中のインスタンスに適用されることが可能である。これによって、印刷、ドラッグ、画面コピー、名前を付けて保存、及び保存のような、ＩＲＭ権によって制御されＮｏｔｅｐａｄによって実行されるアプリケーション操作が、Ｎｏｔｅｐａｄによって消費されるデータファイルの中に見出される拡張に従って実施されることが可能である。
【００３９】
いくつかの場合において、ファイルの完全なパスではなくファイル名のような、イベントから元のファイルの場所についての部分的な情報のみが存在する。加えて、もしアプリケーションが、同じファイル名を有するが異なる権利を有する複数のファイルを開くと、可能性のある複数のファイルが、拡張を読み取る候補となり得る。これは例えば、ＩＲＭ権をＡｄｏｂｅ  Ｒｅａｄｅｒアプリケーションに対して実施する場合に起こり得る。Ａｄｏｂｅ  Ｒｅａｄｅｒは、そのウィンドウタイトル内に文書のタイトルを提供する。これは、Ａｄｏｂｅ  Ｒｅａｄｅｒによって提供されるファイルを、Ａｄｏｂｅ  Ｒｅａｄｅｒによってアクセスされる一組のファイルから、それらのそれぞれのタイトルを解釈することによって推測することを可能にするかもしれないが、１よりも多い数の一致するファイル候補が存在し得る。この場合、可能性のある全てのファイル候補の権利が評価され、最も限定的な権利の組が使用される。
【００４０】
＜分類能力の実現＞
同様に、分類能力が実現されてエージェントによって端末装置上でＩＲＭ（又は使用権）を実施するのに用いられてよく、又はその代わりに、付加的なＩＲＭの実施を伴わずに単独で動作する。分類を実現する方法は、アプリケーションが保存インターフェイスを示していることを（エージェントにより導入された、標準的なオペレーティングシステムの保存ＡＰＩをオーバーライドするフッキングコード（hooking code）によって）識別することによるものであり、エージェントは、図１に示されるように、分類関連ボタンを有する変更された「保存」ウィンドウを表示するだろう。
【００４１】
実装の一例は、コードユニット（ＤＬＬ及び／又はスレッド）をアプリケーションのメモリ空間に導入することによる。これは、アプリケーションのアドレス空間へのアクセスを得ることを可能にする。専用のコードがアプリケーションに導入される場合において、任意の動的にリンクされた機能（例えばＷｉｎｄｏｗｓ  ＡＰＩ機能）を我々の機能でオーバーライドすることによって継続することが可能である。これは、アプリケーションの振る舞いを置換又は変更し、アプリケーション自体に加えて又はその代わりに専用のコードを挿入する能力を与える。例えば、Ｗｉｎｄｏｗｓ  ＡＰＩのフッキングが、Ｗｉｎｄｏｗｓ提供の標準的な名前を付けて保存ダイアログボックスのインスタンスの作成をインターセプトするために用いられることができる。
【００４２】
一般的に、オペレーティングシステムによって提供される標準的なウィンドウは、ウィンドウに要素（新たなＵＩ）を追加することを可能にするために、標準的なＡＰＩを有するだろう。これは例えばＷｉｎｄｏｗｓの標準的な「名前を付けて保存」ダイアログボックスの場合である。（コントロールをカスタマイズするための）そのようなインターフェイス（が提供されていない）、又はそれが所望の使用にとって限定的すぎる場合、ウィンドウの下位分類化（subclassing）が、下位分類された（subclassed）ウィンドウを変化させる又は下位分類されたウィンドウに特徴を追加するのに用いられることが可能である。このようにして、実行中のアプリケーションに代用のウィンドウの呼び出しを行わせることが可能であり、この代用のウィンドウは、新しい分類特徴の全てを含むように再形成されることが可能である。
【００４３】
分類は、コンテンツ分析、コンテキスト分析（例えば、ユーザーの識別情報、アプリケーションのソース、メタデータ、ＩＰ、又は、データアクセスイベント若しくはコンピューター環境から分析されることが可能な任意の他のメタデータ）を用いて自動的であって（企業ポリシーに従って予め決められて）よく、又は、ほとんどの場合においてデータを編集若しくは消費するユーザーによって決定されてもよい。システムはまた、変更されたウィンドウを用いて、（「機密」、「内部」、「人材データ」、「秘密」、又は「極秘」などの）要求される分類に関する推奨をユーザーに提供することもできる。
【００４４】
コンテンツの作成を完了すると、ユーザーは通常、「保存」ボタンを押すことによってそれを保存する。この場合、変更されたウィンドウが、自動的な分類をユーザーに対して表示するか、又は、リストから分類を定義若しくは選択するよう彼に促すだろう。もし分類が自動的に設定されておらず、また組織のポリシーによって要求されるのならば、ユーザーは、適切な分類を選択するまでは、そのデータアイテムを保存することをブロックされ得る。このようにして、アプリケーションは、データを分類し、データ分類を編集し、それを完全に固有の方法でエンドユーザーに提示する能力によって拡張されることができる。
【００４５】
アプリケーションウィンドウを変更する別の方法は、それにサイドバーを付加することであり、このサイドバーは、それがウィンドウの自然なグラフィック拡張であるように配置され、調整されるだろう。この場合、全ての付加的な分類特徴は、元のＵＩ要素を変更することなく、サイドバーに表示されるだろう。
【００４６】
アプリケーションウィンドウに分類能力を付加する別の方法は、「保存」ボタンを「次へ」ボタンで置き換えることであり、この「次へ」ボタンは、ユーザーに適切な分類を定義するよう促す。この場合、「保存」ボタンは、ユーザーがファイルを保存するのを完了できるようにするために、その後でのみ表示されるだろう。
【００４７】
＜ファイル拡張の持続性＞
拡張されたデータアイテムを用いて動作するとしても、そのアイテムは、消費アプリケーションによって変更（保存）されることがある。本発明によれば、「保存」処理を用いてファイルを保存するたびに、暗号化及び（ＩＲＭ許可から導かれる）使用権のレベル、ファイル（若しくは別のデータアイテム）又は他のメタデータの分類を含む、全ての拡張を維持することが重要である。これが必要であるのは、データアイテムの拡張のうちのいくつか又は全ては、アプリケーションにデータアイテムへのアクセスを与える前に取り去られ、保存時に失われることがあるからである。これは、例えばファイルが保存される先のパスを特定し、拡張を再適用することによってなされることが可能である。
【００４８】
また、いくつかの場合において、データアイテムは、異なる名前で、異なる場所へ、及び／又は異なるファイルフォーマットで、アプリケーションによって保存されることがある。これは、通常、「名前を付けて保存」インターフェイスを用いることによってなされる。そのような操作が行われると、元のファイルの拡張を維持することが必要とされる。データアイテムのそのような変換されたインスタンスを識別することは困難である。なぜなら、データアイテムは、変換（「名前を付けて保存」）を実行するとそのフォーマット又は内部表現を変化させることがあり、そのため、そのバイナリコンテンツ又は場所（パス）によっては簡単には識別され得ないからである。
【００４９】
そのような承継プロセスの考え得る実装は、新しい名前、場所、及び／又はフォーマットへのデータアイテムの「名前を付けて保存」操作を識別するために、オペレーティングシステムの一般的な「名前を付けて保存」ダイアログボックスとの統合を使用する。
【００５０】
プロセスの一例は、ユーザーは初めに、分類されＩＲＭ保護されたＰＤＦファイルをＡｄｏｂｅ  Ｒｅａｄｅｒによって開き、次いで、そのファイルを元のファイルとは異なる名前で異なる場所に平文として保存するために、「名前を付けて保存」操作を行う。「名前を付けて保存」ダイアログに統合することにより、そのような「名前を付けて保存」操作を識別し、分類及びＩＲＭデータを保存された平文ファイルに適用することが可能になる。
【００５１】
本発明のいくつかの実施態様が例示として説明されたが、本発明は、クレームの範囲を超えることなく、当業者の範囲内にある数多くの均等物又は代替的な解決策を用いることにより、多くの変更、変形、及び改変と共に実施されることが可能である、ということが明らかであるだろう。
【図１】
0006670318.tif 000002