(57)【要約】【課題】アクセス権を有するユーザによる情報の再利用に起因する情報漏洩を防止する。【解決手段】アプリケーション監視部１０６は、文書格納領域１０１に格納された保護文書の内容を再利用するためにＯＳ１０２またはアプリケーション１０３が行うコピーや貼り付けなどの特定の処理を監視し、捕捉する。特定の処理が捕捉されると、制御部１０７は、第１のアクセス権が設定された第１の文書の内容を再利用した第２の文書に、第１のアクセス権を継承する第２のアクセス権を設定するための各種処理を行う。例えば、共有メモリ制御部１１１は、第１の文書の内容が共有メモリ１０４を介して第２の文書で再利用されていることを、継承管理テーブル１０８を用いて管理する。そして、ファイル保存制御部１１０は、継承管理テーブル１０８を参照して、第１のアクセス権に基づく第２のアクセス権を第２の文書に設定する。【選択図】図１
2010176431.tif 000002
【特許請求の範囲】
【請求項１】
暗号化された複数の電子文書に対するアクセス権を表すアクセス権情報により第１のアクセス権が設定されている、暗号化された第１の電子文書に含まれる内容が、第２の電子文書において再利用される場合に行われる１つ以上の処理を監視して捕捉する捕捉ステップと、
前記捕捉ステップにおいて前記１つ以上の処理を捕捉した場合、前記アクセス権情報を更新することにより前記第１のアクセス権に基づく第２のアクセス権を前記第２の電子文書に設定する設定ステップと、
前記第２の電子文書を暗号化して保存する保存ステップと、
をコンピュータに実行させることを特徴とするアクセス制御プログラム。
【請求項２】
前記１つ以上の処理は、前記第１の電子文書において前記内容を表す第１のデータの共有メモリへの書き込みに伴う第１の処理と、前記内容を表し前記共有メモリに格納された第２のデータの前記第２の電子文書への書き込みに伴う第２の処理とを含み、
前記第１の処理が捕捉されたとき、前記第１のデータを暗号化することにより前記第２のデータを生成して前記共有メモリに書き込む書き込みステップと、
前記第２の処理が捕捉されたとき、前記第２のデータを復号して前記第２の電子文書に貼り付ける貼り付けステップと、
をさらに前記コンピュータに実行させることを特徴とする請求項１に記載のアクセス制御プログラム。
【請求項３】
前記書き込みステップは、前記第１の電子文書を識別する識別情報と前記第２のデータとを関連づけるデータ関連づけステップを含み、
前記貼り付けステップは、前記第２のデータに関連づけられた前記識別情報に基づいて前記第１の電子文書を前記第２の電子文書に関連づける第１の継承管理情報を生成する第１の継承管理ステップを含み、
前記設定ステップは、前記第１の継承管理情報を参照して前記第２の電子文書に前記第１の電子文書が関連づけられていることを認識することにより、前記第２のアクセス権の根拠とすべき前記第１のアクセス権を認識する認識ステップを含む、
ことを特徴とする請求項２に記載のアクセス制御プログラム。
【請求項４】
前記１つ以上の処理はさらに、前記第２のデータが書き込まれた前記第２の電子文書の保存に伴う第３の処理を含み、
前記設定ステップは、前記捕捉ステップで前記第３の処理が捕捉されたことを契機として実行される、
ことを特徴とする請求項２に記載のアクセス制御プログラム。
【請求項５】
前記内容が前記第２の電子文書において再利用されたとき、前記第１の電子文書と前記第２の電子文書を関連づける第２の継承管理情報を生成して記憶する第２の継承管理ステップと、
前記第１のアクセス権が変更されたとき、前記第２の継承管理情報を参照することで、前記第２の継承管理情報により規定される２つの電子文書間の継承関係の推移的閉包として定義される推移的継承関係が前記第１の電子文書に対して成立する、前記第２の電子文書を含む１つ以上の電子文書を認識し、認識した前記１つ以上の電子文書それぞれのアクセス権を、前記第１のアクセス権の変更を直接または間接に反映することにより、再設定する再設定ステップを、
さらに前記コンピュータに実行させることを特徴とする請求項１に記載のアクセス制御プログラム。
【請求項６】
コンピュータが、
暗号化された複数の電子文書に対するアクセス権を表すアクセス権情報により第１のアクセス権が設定されている、暗号化された第１の電子文書に含まれる内容が、第２の電子文書において再利用される場合に行われる１つ以上の処理を監視して捕捉し、
前記１つ以上の処理を捕捉した場合、前記アクセス権情報を更新することにより前記第１のアクセス権に基づく第２のアクセス権を前記第２の電子文書に設定し、
前記第２の電子文書を暗号化して保存する、
ことを特徴とするアクセス制御方法。
【請求項７】
暗号化された複数の電子文書に対するアクセス権を表すアクセス権情報により第１のアクセス権が設定されている、暗号化された第１の電子文書に含まれる内容が、第２の電子文書において再利用される場合に行われる１つ以上の処理を監視して捕捉する捕捉手段と、
前記捕捉手段が前記１つ以上の処理を捕捉した場合、前記アクセス権情報を更新することにより前記第１のアクセス権に基づく第２のアクセス権を前記第２の電子文書に設定する設定手段と、
前記第２の電子文書を暗号化して保存する保存制御手段と、
を備えることを特徴とするアクセス制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子文書の内容が漏洩するのを防止する技術に関する。
【背景技術】
【０００２】
近年、多くの情報が電子文書化されるようになり、機密情報を含む電子文書の保護の重要性が増している。そこで、電子文書の内容が漏洩するのを防ぐための様々なアクセス制御技術が開発されている。
【０００３】
例えば、ある方法によれば、コンピュータリソースに対するプロセスまたはオペレーティングシステムからの操作要求が、コンピュータリソースにアクセスする前に捕捉される。そして、捕捉された操作要求によって指定されるコンピュータリソースに対するアクセス権限があるか否かが判定される。
【０００４】
判定の結果、アクセス権限があれば当該操作要求がオペレーティングシステムに渡され、その結果が要求元プロセスに返される。判定の結果、アクセス権限がなければ当該操作要求は拒否される。
【０００５】
また、別の方法によれば、機密ファイルへのアクセスを許可する業務アプリケーションの情報が、予め管理サーバに登録される。登録されたアプリケーション情報は、各クライアントに随時、配信される。
【０００６】
業務アプリケーションで機密ファイルを参照する際は、業務アプリケーション起動時に、サーバに予め登録されているアプリケーションか否かを判断するアプリケーション認証が行われる。アプリケーション認証をパスした場合のみ、Ｉ／Ｏ捕捉モジュールに自らのプロセス情報が登録される。Ｉ／Ｏ捕捉モジュールは、登録されているプロセス情報に一致するプロセスのみ機密情報へのアクセスを許可し、それ以外の場合はアクセスを拒否する。
【０００７】
さらに、アクセス元のアクセス権限に対応するファイルデータを提供するファイル提供方法も知られている。このファイル提供方法は、ファイルの所定の領域にあるデータごとにアクセス権限を設定し、アクセス元のアクセス権限を満たしているデータを、所定の組み合わせによって連結し、連結されたデータをアクセス元に提供する方法である。
【０００８】
また、クリップボードを介しての保護データのコンピュータシステム外への持ち出しを防止する技術も知られている。例えば、ともに保護対象フォルダへのアクセス権を有する書込ユニットと貼付ユニットを有する情報漏洩防止装置が知られている。
【０００９】
書込ユニットは、主記憶装置内のクリップボードに、保護対象フォルダ内に格納された操作対象のデータを書き込むとき、保護対象フォルダに対応づけられた暗号鍵を使用してデータを暗号化し、暗号化データをクリップボードに書き込む。貼付ユニットは、クリップボードに書き込まれた暗号化データを、補助記憶装置内に格納されるファイルに貼り付けるとき、暗号化データを復号してからそのファイルに貼り付ける。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００７−４８３１０号公報
【特許文献２】特開２００７−１２８２０５号公報
【特許文献３】特開２００７−１８０６６号公報
【特許文献４】特開２００６−１５５１５５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上記のように、情報漏洩の防止のための様々な技術が存在するが、アクセス権を有するユーザによる情報の再利用に起因する情報漏洩を防止する技術には改善の余地がある。
そこで本発明は、アクセス権を有するユーザによる情報の再利用に起因する情報漏洩を防止することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の一態様によればアクセス制御プログラムが提供される。前記アクセス制御プログラムは、捕捉ステップと設定ステップと保存ステップとをコンピュータに実行させるプログラムである。
【００１３】
前記捕捉ステップは、暗号化された複数の電子文書に対するアクセス権を表すアクセス権情報により第１のアクセス権が設定されている、暗号化された第１の電子文書に含まれる内容が、第２の電子文書において再利用される場合に行われる１つ以上の処理を監視して捕捉するステップである。
【００１４】
前記設定ステップは、前記捕捉ステップにおいて前記１つ以上の処理を捕捉した場合、前記アクセス権情報を更新することにより前記第１のアクセス権に基づく第２のアクセス権を前記第２の電子文書に設定するステップである。
【００１５】
前記保存ステップは、前記第２の電子文書を暗号化して保存するステップである。
また、本発明の別の態様によれば前記アクセス制御プログラムにしたがってコンピュータが実行するアクセス制御方法が提供される。本発明のさらに別の態様によれば、前記アクセス制御方法を実行するアクセス制御装置が提供される。
【発明の効果】
【００１６】
開示の技術によれば、第１の電子文書に含まれる内容が第２の電子文書において再利用されると、第１の電子文書の第１のアクセス権に基づく第２のアクセス権が、第２の電子文書に自動的に設定される。よって、第１の電子文書に含まれる内容が第２の電子文書を介して不特定の者に漏洩することを防ぐことができる。
【図面の簡単な説明】
【００１７】
【図１】第１実施形態のシステム構成図である。
【図２】第１実施形態の作用の一例を示す図である。
【図３】第１実施形態によるアクセス権の継承の一例を示す図である。
【図４】第１実施形態の継承管理テーブルの一例を示す図である。
【図５】第１実施形態のアクセス権管理テーブルの一例を示す図である。
【図６】第１実施形態において文書全体をコピーするときのフローチャートである。
【図７】第１実施形態において文書中のデータをコピーするときのフローチャートである。
【図８】第１実施形態において文書にデータを貼り付けるときのフローチャートである。
【図９】第１実施形態において文書を保存するときのフローチャートである。
【図１０】第１実施形態の作用の一例を示すタイミングチャートである。
【図１１】第２実施形態のシステム構成図である。
【図１２】第２実施形態において文書に格納されるアクセス権情報の一例を示す図である。
【図１３】第２実施形態において文書全体をコピーするときのフローチャートである。
【図１４】第２実施形態において文書を保存するときのフローチャートである。
【図１５】第３実施形態のアクセス権管理テーブルの一例を示す図である。
【図１６】第３実施形態において文書全体をコピーするときのフローチャートである。
【図１７】第３実施形態において文書を保存するときのフローチャートである。
【図１８】第３実施形態においてアクセス権を連鎖的に変更する処理のフローチャートである。
【図１９】第３実施形態において文書間のデータ再利用の関係を示す図である。
【図２０】第３実施形態においてアクセス権が連鎖的に変更されていく経過を示す図である。
【図２１】コンピュータの構成図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。まず、図１〜図１０を参照して第１実施形態について説明し、次に図１１〜図１４を参照して第２実施形態について説明し、続いて図１５〜図２０を参照して第３実施形態について説明し、最後にその他の変形例などについて説明する。
【００１９】
図１は、第１実施形態のシステム構成図である。図１のシステムでは、コンピュータ１００がネットワーク２００を介してアクセス権管理サーバ３００に接続されている。
アクセス権管理サーバ３００は、保護すべき内容を含む電子文書に対するユーザ別のアクセス制御に使われるアクセス権情報を格納したアクセス権管理テーブル３０１を有する。本実施形態では、保護すべき内容を含む電子文書は、暗号化とアクセス権の設定により、保護される。
【００２０】
なお、以下の説明において「内容」または「情報」という用語は、データ形式の違いによらず情報が表す内容自体に注目する場合に用いることとし、情報を表す具体的な「データ」とは区別する。例えば、保護すべき内容は、どのような形式のデータによって表されようとも常に保護されるべきである。
【００２１】
また、詳しくは図５とともに後述するが、本実施形態では、単なるユーザ別のアクセス制御よりも細かい粒度でのアクセス制御のために、アクセス権管理テーブル３０１が含むアクセス権情報は、ユーザ別かつアプリケーション別にアクセス権を表している。
【００２２】
アクセス権管理テーブル３０１により管理される電子文書は、本実施形態ではコンピュータ１００に格納された電子文書である。しかし、不図示のファイルサーバや外部記憶装置がさらにネットワーク２００に接続されていてもよく、アクセス権管理テーブル３０１により、さらに、ファイルサーバまたは外部記憶装置に格納された電子文書が管理されてもよい。
【００２３】
なお、以下では電子文書を単に「文書」と称することがある。文書の内容および形式は任意である。例えば、文書は、テキスト、スプレッドシート、図形、画像、音声などで表された様々な内容を含むことができる。
【００２４】
コンピュータ１００は、例えばＰＣ（Personal Computer）、ワークステーションなど任意のコンピュータである。コンピュータ１００は、ハードディスク装置などの不揮発性記憶装置により実現される文書格納領域１０１を有する。文書格納領域１０１には多種多様な文書のファイルが格納される。文書格納領域１０１に格納される文書には、保護すべき内容を含む文書もあれば、保護する必要のない文書もある。
【００２５】
また、コンピュータ１００にはＯＳ（Operating System）１０２と１つ以上のアプリケーション１０３がインストールされており、コンピュータ１００はＯＳ１０２にしたがって動作する。ＯＳ１０２は、ファイルシステム、ＡＰＩ（Application Programming Interface）、その他の基本的な機能を提供する。ユーザは、ＯＳ１０２またはアプリケーション１０３を介して、文書格納領域１０１に格納された文書にアクセスする。
【００２６】
また、ＯＳ１０２は、共有メモリ１０４を介したデータの再利用を可能とする。例えば、ＯＳ１０２は、共有メモリ１０４を使ったクリップボードを提供し、コピー・アンド・ペーストやカット・アンド・ペーストの機能を実現する。共有メモリ１０４は、クリップボード以外にも、プロセス間でのデータの共有のために用いられることがある。したがって、第１の文書に含まれる内容が共有メモリ１０４を介して第２の文書において再利用されることがある。
【００２７】
ＯＳ１０２はさらに、スクリーンショットを撮る機能を提供してもよい。ＯＳ１０２は、スクリーンショットを撮るための入力がなされたら、スクリーンショットの画像データを、クリップボードとしての共有メモリ１０４に格納してもよい。それにより、スクリーンショットの画像データを任意の文書への貼り付けることが可能となる。
【００２８】
本実施形態によるコンピュータ１００はさらに、アクセス制御部１０５を備える。アクセス制御部１０５は、アプリケーション１０３を監視するアプリケーション監視部１０６と、アクセス権の継承のために必要な各種の制御を行う制御部１０７を備える。制御部１０７は、継承管理テーブル１０８、ファイルオープン制御部１０９、ファイル保存制御部１１０、および共有メモリ制御部１１１を備える。共有メモリ制御部１１１は、書き込み制御部１１２と貼り付け制御部１１３を備える。
【００２９】
アプリケーション監視部１０６は、アプリケーション１０３からＯＳ１０２への特定の種類の要求を監視し、捕捉する。例えば、アプリケーション監視部１０６は、アプリケーション１０３からのＡＰＩ関数呼び出しをフックすることで、アプリケーション１０３からＯＳ１０２への要求を捕捉する。アプリケーション監視部１０６は、捕捉した要求を制御部１０７内の各部に送る。
【００３０】
本実施形態のアプリケーション監視部１０６は、さらに、アプリケーション１０３からの特定の種類の要求に対するＯＳ１０２の応答を監視して捕捉する。例えば、アプリケーション監視部１０６は、ＡＰＩ関数の返り値を捕捉してもよい。アプリケーション監視部１０６は、捕捉した応答を制御部１０７内の各部に送る。
【００３１】
また、詳しくは後述するが、アプリケーション監視部１０６は、ＯＳ１０２が行う一部の処理も監視している。
制御部１０７は、アプリケーション監視部１０６が捕捉した処理に応じて、文書間でアクセス権を継承するために必要な制御を行う。
【００３２】
以下では、第１の電子文書に第１のアクセス権が設定されているとき、第１のアクセス権に基づいて第２のアクセス権を第２の電子文書に設定することを、第１の電子文書から第２の電子文書へのアクセス権の継承という。
【００３３】
アクセス権は、１つの電子文書から継承される場合もあるし、複数の電子文書から多重継承される場合もある。つまり、継承における「子」に当たる１つの電子文書に対し、１つまたは複数の「親」に当たる電子文書が存在する。
【００３４】
本実施形態では、保護すべき第１の電子文書が存在し、第１の電子文書に含まれる内容が第２の電子文書において再利用されるとき、制御部１０７は、第１の電子文書から第２の電子文書へとアクセス権が継承されるように、アクセス権を制御する。第１と第２の電子文書は、文書格納領域１０１に格納される。
【００３５】
なお、継承において「子」に当たる第２の文書には、継承において「親」に当たる第１の電子文書に設定されている第１のアクセス権と同じか、それよりも強く制限された第２のアクセス権が設定される。なぜなら、第１の電子文書の内容が再利用されたときに、情報の漏洩を確実に防ぐためである。第１のアクセス権に基づいて第２のアクセス権が具体的にはどのように設定されるのかという例は、後述する。
【００３６】
なお、文書に含まれる内容、つまり文書に含まれる情報が再利用される仕方は様々であり、例えば、下記（ａ１）〜（ａ３）のような観点から分類することができる。
（ａ１）第１の電子文書が含む内容のうちの一部のみが第２の電子文書で再利用されるのか、それとも、第１の電子文書が含むすべての内容が第２の電子文書で再利用されるのか、という観点。
【００３７】
（ａ２）第１の電子文書から第２の電子文書へと、直接的に内容が再利用されるのか、それとも、１つ以上の別の電子文書を介して、間接的に第１の電子文書から第２の電子文書へと内容が再利用されるのか、という観点。
【００３８】
（ａ３）再利用される内容が、第１の電子文書と第２の電子文書において同じ形式のデータにより表されるのか、それとも、同じ内容を表すデータの形式は第１の電子文書と第２の電子文書で異なるのか、という観点。
【００３９】
例えば、（ａ２）の観点について、第１の電子文書の内容が直接的に第２の電子文書で再利用される場合だけを例にとっても、第１の電子文書の内容は以下の（ｂ１）〜（ｂ６）のように様々な仕方で再利用される。
【００４０】
（ｂ１）ＯＳ１０２により第１の電子文書がコピーされ、第２の電子文書として保存される。
（ｂ２）第１の電子文書がアプリケーション１０３により開かれ、「別名で保存」などのメニューにより、第２の電子文書として保存される。
【００４１】
（ｂ３）第１の電子文書から第２の電子文書へ、データがコピー・アンド・ペーストまたはカット・アンド・ペーストされる。
（ｂ４）第１の電子文書から第２の電子文書へ、データがエクスポートされる。
【００４２】
（ｂ５）第１の電子文書がアプリケーション１０３により開かれ、ＧＵＩ（Graphical User Interface）により第１の電子文書の内容が表示された状況で、スクリーンショットが撮られる。そして、スクリーンショットの画像データが、第２の電子文書に貼り付けられる。
【００４３】
（ｂ６）ＣＬＩ（Command Line Interface）を介して、１つ以上のコマンドとともに入出力リダイレクションまたはパイプを用いることで、第１の電子文書の一部または全部が、新たな第２の電子文書として保存されるか、または既存の第２の電子文書に追加される。
【００４４】
なお、（ｂ２）〜（ｂ６）はそれぞれ、（ａ１）または（ａ３）の観点からさらに分類されうる。
例えば、（ｂ３）は、コピーの範囲に応じて（ａ１）の観点からさらに分類される。また、保存、貼り付け、およびインポートなどのメニューにおいて、データ形式の選択が可能なアプリケーション１０３では、（ｂ２）〜（ｂ４）が、メニューから選択されるデータ形式に応じて（ａ３）の観点からさらに分類される。
【００４５】
また、（ｂ５）は、（ａ３）の観点に関しては、同じ内容の情報が異なるデータ形式で再利用される場合が多い。例えば、元はテキスト形式で表されていた情報が、スクリーンショットの画像データとして表されて再利用されることがある。
【００４６】
以下では、主に（ｂ１）と（ｂ３）の場合について詳しく説明する。しかし、ＯＳ１０２またはアプリケーション１０３の１つ以上の処理により、第１の電子文書に含まれる内容が第２の電子文書において再利用されるという点では、（ｂ１）〜（ｂ６）は共通している。したがって、（ｂ１）〜（ｂ６）のいずれの場合であっても、以下に説明する方法または以下の方法を適宜変形した方法により、アクセス権の継承を実現することができる。
【００４７】
つまり、アプリケーション監視部１０６は、保護すべき第１の電子文書に含まれる内容が第２の電子文書において再利用される場合に行われる１つ以上の処理を監視し、捕捉する。そして、制御部１０７は、捕捉された処理に応じて、第１の電子文書から第２の電子文書へとアクセス権を継承させる。
【００４８】
すなわち、アプリケーション監視部１０６は、保護すべき第１の電子文書に含まれる内容が、例えば（ｂ１）〜（ｂ６）のいずれかにより第２の電子文書で再利用される場合に行われる１つ以上の処理を監視する。例えば、コピー・アンド・ペーストによる情報の再利用に関して、アプリケーション監視部１０６は、コピーに伴う要求または応答、およびペーストに伴う要求または応答を監視し、捕捉する。その結果として、制御部１０７は、第１の電子文書に含まれる内容が第２の電子文書で再利用されたことを認識することができる。
【００４９】
継承管理テーブル１０８は、詳しくは図４とともに説明するとおり、第１の電子文書と第２の電子文書とを関連づけることにより、「第１の電子文書に含まれる内容が第２の電子文書で再利用されている」ということを表す第１の継承管理情報を含む。正確には、第１の継承管理情報は、未確定の再利用について示している。
【００５０】
再利用された内容を元々含んでいた第１の電子文書は、アクセス権の継承における親に当たり、内容が再利用された先の第２の電子文書は、アクセス権の継承における子に当たる。
【００５１】
ファイルオープン制御部１０９は、文書格納領域１０１に格納された電子文書のファイルを開くときの制御を行う。ファイルオープン制御部１０９の動作の詳細は、図５とともに後述する。
【００５２】
ファイル保存制御部１１０は、開いている電子文書のファイルを文書格納領域１０１に保存するときの制御を行う。ファイル保存制御部１１０の動作の詳細は、図６および図９とともに後述する。
【００５３】
また、共有メモリ制御部１１１は、共有メモリ１０４へのアクセスが生じたときの制御を行う。具体的には、共有メモリ制御部１１１が備える書き込み制御部１１２は、共有メモリ１０４へデータが書き込まれるときの制御を行う。また、共有メモリ制御部１１１が備える貼り付け制御部１１３は、共有メモリ１０４からデータが読み出され、電子文書に
貼り付けられるときの制御を行う。書き込み制御部１１２と貼り付け制御部１１３の動作の詳細は、図７および図８とともに後述する。
【００５４】
後述するように、ファイルオープン制御部１０９、ファイル保存制御部１１０、書き込み制御部１１２、および貼り付け制御部１１３は、アクセス権管理サーバ３００を介してアクセス権管理テーブル３０１を参照して制御を実行する。さらに、ファイル保存制御部１１０は、アクセス権管理サーバ３００を介してアクセス権管理テーブル３０１を変更する場合もある。
【００５５】
なお、例えば、コンピュータ１００が後述の図２１のコンピュータ５００のように構成されてもよい。その場合、上記の各部を含むアクセス制御部１０５は、図２１のＣＰＵ（Central Processing Unit）５０１が図２１のＲＡＭ（Random Access Memory）５０３にプログラムをロードして実行することでミドルウェアとして実現される。アクセス制御部１０５がミドルウェアとして実現されることの利点の１つは、既存のＯＳ１０２を変更することなく、図６〜図９に示す処理によってアクセス権の継承を実現することが可能となる点である。
【００５６】
また、継承管理テーブル１０８はＲＡＭ５０３により実現される。アクセス権管理テーブル３０１の参照および変更のためのアクセス権管理サーバ３００との通信は、図２１の通信インターフェイス５０４を介して行われる。
【００５７】
続いて、図１のシステムによるアクセス権の継承の概要を、図２と図３の例を用いて説明する。その後、具体的な制御について図４〜図１０を参照して説明する。
図２は、第１実施形態の作用の一例を示す図である。図２は、コピー・アンド・ペーストにより情報が再利用される場合の、図１のシステムの作用の概要を説明する図である。
【００５８】
図２において、文書Ｄ１は保護すべき情報を含むので、アクセス権が設定されている。図２の例では、説明の簡単化のため、アクセス権のうち読み出し権限を例として説明し、不図示の特定のユーザＵのみがアプリケーション１０３によって文書Ｄ１を読み出す権限を有するとする。
【００５９】
また、情報を保護するために、文書Ｄ１は暗号化されて文書格納領域１０１に格納されている。図２では、暗号化されていることを鍵の印で示してある。以下では、アクセス権管理テーブル３０１によりアクセス権が設定され、暗号化された文書を「保護文書」という。また、アクセス権管理テーブル３０１によりアクセス権が設定されておらず、暗号化もされていない文書を「非保護文書」という。
【００６０】
また、暗号化された形式を「保護形式」、暗号化されていない形式を「非保護形式」という。保護形式において用いられる暗号化アルゴリズムは任意である。保護文書の定義については、図５とともに再度述べる。
【００６１】
他方、文書Ｄ２は、元々は、特に保護すべき情報を含まない。よって、文書Ｄ２は、暗号化されずに文書格納領域１０１に格納されている。また、文書Ｄ２へのアクセスは制限されておらず、すなわち、任意のユーザが文書Ｄ２に対する読み出し権限と書き込み権限を有する。
【００６２】
ユーザＵがアプリケーション１０３から文書Ｄ１を開くとき、アプリケーション１０３は、文書Ｄ１を復号する。
ここで、文書Ｄ１に含まれるデータの一例としてオブジェクトＸに注目し、共有メモリ１０４により実現されるクリップボードを介してオブジェクトＸが文書Ｄ２にコピー・ア
ンド・ペーストされるとする。オブジェクトＸは、テキスト、画像、その他の任意のオブジェクトであってよい。
【００６３】
この場合、もし、アクセス制御部１０５による制御が行われないと、本来は文書Ｄ１において保護されているはずのオブジェクトＸの内容を、暗号化されていない文書Ｄ２を通じて、任意のユーザが知ることができるようになってしまう。つまり、オブジェクトＸが表す情報が漏洩する危険が生じる。
【００６４】
このように、文書Ｄ１へのアクセスを制御するだけでは、文書Ｄ１へのアクセス権を有するユーザＵの操作に起因する、他の文書を介した情報漏洩を防ぐのには不十分である。
そこで、本実施形態では、オブジェクトＸが文書Ｄ１から文書Ｄ２にコピー・アンド・ペーストされた場合であっても、オブジェクトＸが表す情報が文書Ｄ２を介して漏洩することのないように、アクセス制御部１０５が制御を行う。つまり、アクセス制御部１０５は、文書Ｄ１のアクセス権を文書Ｄ２に継承させることで文書Ｄ２へのアクセスを制限し、文書Ｄ２からの情報の漏洩を防ぐ制御を行う。
【００６５】
アクセス制御部１０５内の各部による制御の詳細は、図４〜図１０とともに後述するが、アクセス制御部１０５全体の動作として概要を説明すれば次のとおりである。
アクセス制御部１０５は、オブジェクトＸが文書Ｄ１からクリップボードへとコピーされるとき、オブジェクトＸを暗号化し、文書Ｄ１のアクセス権情報をオブジェクトＸに付加する。そして、オブジェクトＸが文書Ｄ２に貼り付けられようとするとき、アクセス制御部１０５は、貼り付けを実行してよいか否かを判定する。
【００６６】
図２の例では、ユーザＵの権限で実行されるアプリケーション１０３により文書Ｄ２が開かれているとする。また、オブジェクトＸには、文書Ｄ１のアクセス権情報が付加されている。つまり、文書Ｄ１のアクセス権情報により、ユーザＵには、アプリケーション１０３からオブジェクトＸを読み出す権限が付与されている。
【００６７】
したがって、アクセス制御部１０５は「文書Ｄ２を開いているユーザＵとアプリケーション１０３の組み合わせには、オブジェクトＸに対する読み取り権限と文書Ｄ２に対する書き込み権限があるので、貼り付けを実行してよい」と判断する。この判断において、アクセス制御部１０５はアクセス権管理テーブル３０１を参照する。
【００６８】
アクセス制御部１０５は、「貼り付けを実行してよい」と判断すると、クリップボード上の暗号化されたオブジェクトＸを復号して文書Ｄ２に貼り付ける。
そして、アクセス制御部１０５は、オブジェクトＸに付加されたアクセス権情報、すなわち文書Ｄ１のアクセス権情報を、文書Ｄ２のアクセス権情報に反映するための処理を行う。換言すれば、アクセス制御部１０５は、オブジェクトＸの貼り付けを機に、「文書Ｄ１のアクセス権を文書Ｄ２が継承すべきである」という関係を記憶する。
【００６９】
そして、オブジェクトＸが貼り付けられた文書Ｄ２が保存されようとするとき、アクセス制御部１０５は、記憶した関係に基づいて、文書Ｄ１から継承したアクセス権情報を文書Ｄ２に関連づけて、アクセス権管理テーブル３０１に登録する。また、アクセス制御部１０５は、文書Ｄ２を暗号化してから文書格納領域１０１に保存する。
【００７０】
以上の制御により、オブジェクトＸが文書Ｄ１から文書Ｄ２にコピー・アンド・ペーストされた場合、文書Ｄ１から文書Ｄ２へとアクセス権が継承される。例えば、ユーザＵのみが文書Ｄ１の読み出し権限を有する場合、継承の結果、ユーザＵのみが文書Ｄ２に対する読み出し権限を有することになる。したがって、オブジェクトＸが表す情報が、文書Ｄ２を介して、文書Ｄ１の読み出し権限を持たない他のユーザに漏洩する、という危険が回
避される。
【００７１】
図３は、第１実施形態によるアクセス権の継承の一例を示す図である。図３でも説明の簡単化のため、アクセス権のうち読み出し権限を例として説明する。
図２の例に関しては、説明の簡単化のため、文書Ｄ１の読み出し権限をユーザＵのみが有すると仮定した。しかし、複数のユーザが同じ１つの文書の読み出し権限を有する場合も一般的である。また、図２の例では、アクセス権の継承において子に当たる文書Ｄ２から見て、親に当たるのは文書Ｄ１のみである。しかし、複数の親からアクセス権を継承する場合もありうる。
【００７２】
図３の例では、ユーザＵ１、Ｕ２、およびＵ３のみが文書Ｄ１１の読み出し権限を有し、ユーザＵ１とＵ２のみが文書Ｄ１２の読み出し権限を有する。また、元々はユーザＵ２とＵ３のみが文書Ｄ１３の読み出し権限を有する。つまり、読み出し権限の設定された文書Ｄ１１〜Ｄ１３はいずれも保護文書である。
【００７３】
図３は、文書Ｄ１１とＤ１２の双方の情報が文書Ｄ１３において再利用される場合に、アクセス制御部１０５がどのようなアクセス権を文書Ｄ１３に設定すべきかを説明している。換言すると、図３は、どのように文書Ｄ１１とＤ１２からアクセス権を文書Ｄ１３へと継承させるべきかを説明している。
【００７４】
すなわち、文書Ｄ１１とＤ１２から情報を再利用した後の文書Ｄ１３のアクセス権は、下記（ｃ１）〜（ｃ３）のすべてを満たす必要がある。
（ｃ１）文書Ｄ１１のアクセス権と同等か、文書Ｄ１１のアクセス権よりも厳しく制限されている。
【００７５】
（ｃ２）文書Ｄ１２のアクセス権と同等か、文書Ｄ１２のアクセス権よりも厳しく制限されている。
（ｃ３）情報が再利用される前の元の文書Ｄ１３のアクセス権と同等か、情報が再利用される前の元の文書Ｄ１３のアクセス権よりも厳しく制限されている。
【００７６】
例えば、「いかなるユーザも、情報が再利用された後の文書Ｄ１３の読み出し権限を持たない」という設定は、（ｃ１）〜（ｃ３）のすべてを満たすが、必要以上に制限が厳しい。そこで、アクセス制御部１０５は、例えば、（ｃ１）〜（ｃ３）のすべてを満たすという条件のもとで、最も制限の緩い設定を、情報が再利用された後の新たな文書Ｄ１３に適用する。
【００７７】
図３の例では、ユーザＵ１は元の文書Ｄ１３の読み出し権限がなく、ユーザＵ３は文書Ｄ１２の読み出し権限がなく、ユーザＵ１〜Ｕ３以外の他のユーザには、文書Ｄ１１、Ｄ１２、および元の文書Ｄ１３の読み出し権限がない。したがって、アクセス制御部１０５は、情報が再利用された後の文書Ｄ１３に対して、ユーザＵ２のみが読み出し権限を有するよう、アクセス権情報を設定する。
【００７８】
なお、上記の説明では簡単のために読み出し権限の継承のみを例示したが、書き込み権限などその他の種類のアクセス権も同様にして継承される。
続いて、図４〜図１０を参照して、図２と図３に概要を例示したアクセス権の継承について詳細に説明する。
【００７９】
図４は、第１実施形態の継承管理テーブルの一例を示す図である。本実施形態においてアクセス制御部１０５内の制御部１０７が備える継承管理テーブル１０８は、図４のように、現在アプリケーション１０３が開いている文書のＩＤ（identifier）を、１つ以上の
、直接または間接のコピー元文書のＩＤと関連づけるテーブルである。文書ＩＤは、電子文書を識別する識別情報の具体例である。
【００８０】
なお、以下では、第１の文書に含まれるデータが、第２の文書にコピー・アンド・ペーストまたはカット・アンド・ペーストされて再利用されるとき、第１の文書を「コピー元文書」といい、第２の文書を「コピー先文書」という。コピー元文書はアクセス権の継承における親に当たり、コピー先文書は子に当たる。
【００８１】
図４の左列は開いている文書のＩＤを示し、右列はコピー元文書のＩＤを示し、左列と右列は１対ｎの関係である。後述するように、継承管理テーブル１０８は、動的に更新される。また、図４の左列には保護文書または非保護文書の文書ＩＤが記録され、右列には保護文書のＩＤのみが記録される。
【００８２】
また、例えば「ＤＯＣ１」という文書ＩＤの文書のことを単に「文書ＤＯＣ１」と表記する。逆に、「文書ＤＯＣ１」という表記は、文書ＩＤが「ＤＯＣ１」であることを含意するものとする。
【００８３】
図４によれば、「ＤＯＣ１」という文書ＩＤが「ＤＯＣ２」という文書ＩＤと関連づけられている。すなわち、文書ＤＯＣ１は、保護文書ＤＯＣ２から再利用した情報を含むことを図４は示している。図４は、文書ＤＯＣ１が保護文書であるか非保護文書であるかについては表していない。
【００８４】
また、図４は、文書ＤＯＣ３が保護文書ＤＯＣ４から再利用した情報を含み、保護文書ＤＯＣ４が保護文書ＤＯＣ５から再利用した情報を含むことを示している。したがって、文書ＤＯＣ３は、保護文書ＤＯＣ４を介して間接的に保護文書ＤＯＣ５の情報を再利用している可能性がある。
【００８５】
本実施形態では、このように間接的な再利用の可能性がある場合、「文書ＤＯＣ５は文書ＤＯＣ３の間接のコピー元文書である」という。また、間接的な再利用の可能性がある場合、継承管理テーブル１０８は、図４に示すように、文書ＩＤ「ＤＯＣ３」に文書ＩＤ「ＤＯＣ４」だけではなく、文書ＩＤ「ＤＯＣ５」も関連づけて記憶している。
【００８６】
なお、間接的な再利用の可能性があることと、実際に情報の間接的な再利用が行われることは違う。例えば、保護文書ＤＯＣ４に含まれる情報のうち保護文書ＤＯＣ５から再利用されたのではない情報を、文書ＤＯＣ３が保護文書ＤＯＣ４から再利用する場合がある。
【００８７】
この場合、実際には保護文書ＤＯＣ５の情報は、文書ＤＯＣ３で再利用されているわけではない。しかし、上記の定義から文書ＤＯＣ５は文書ＤＯＣ３の間接のコピー元文書である。上記のように間接のコピー元文書が定義される理由は、アクセス権の継承における管理の粒度が文書単位であるためである。
【００８８】
また、図４は、保護文書ＤＯＣ６と保護文書ＤＯＣ７がともに現在開かれており、互いに情報を再利用しあっているということも表している。
つまり、図４において、保護文書ＤＯＣ６は、保護文書ＤＯＣ７のコピー元文書でもありコピー先文書でもある。同様に、保護文書ＤＯＣ７は、保護文書ＤＯＣ６のコピー元文書でもありコピー先文書でもある。
【００８９】
したがって、保護文書ＤＯＣ６と保護文書ＤＯＣ７の間では、アクセス権の継承における親子関係も循環的であり、例えば保護文書ＤＯＣ６は保護文書ＤＯＣ６自身の先祖でも
あり子孫でもある。このような循環的な関係は、３つ以上の文書において循環的に互いの情報が再利用された場合にも生じる。
【００９０】
本実施形態では、循環的な関係が生じた場合、左列の「開いている文書のＩＤ」自体が「コピー元文書のＩＤ」として右列に記憶されることのないよう、継承管理テーブル１０８が、後述の図８の処理によって制御される。
【００９１】
次に、図５を参照してアクセス権管理テーブル３０１について説明する。図５は、第１実施形態のアクセス権管理テーブルの一例を示す図である。
図５において、アクセス権管理テーブル３０１には、「文書ＩＤ」列と「ユーザＩＤまたはグループＩＤ」列と「保護文書を扱えるアプリケーションＩＤ」列と「権限」列がある。アクセス権管理テーブル３０１は、「ユーザＩＤまたはグループＩＤ」列と「保護文書を扱えるアプリケーションＩＤ」列と「権限」列の組み合わせにより表されるアクセス権情報を、個々の文書ＩＤに関連づけている。アクセス権情報はＡＣ（Access Control）情報と呼ばれることもある。
【００９２】
本実施形態において、アクセス権管理テーブル３０１の「文書ＩＤ」列に文書ＩＤが登録された文書は、図２に関して説明した保護文書のみである。前述のとおり、保護文書は、保護すべき情報を含むために、アクセス権が設定され、暗号化されて図１の文書格納領域１０１に格納されている。
【００９３】
すなわち、アクセス権管理テーブル３０１は、各保護文書に設定されたユーザ別かつアプリケーション別のアクセス権を管理するテーブルであり、非保護文書については何も管理しない。
【００９４】
図５の例では、「ユーザＩＤまたはグループＩＤ」列には保護文書にアクセス可能なユーザまたはグループのＩＤのみが含まれる。また、「保護文書を扱えるアプリケーションＩＤ」にはそれらのユーザまたはグループが保護文書にアクセスするときに使用が許可されるアプリケーションのＩＤのみが含まれる。そして、「権限」列には、それらのアプリケーションによって実行することが許可された操作が格納されている。
【００９５】
本実施形態では、後述するように、ファイル保存制御部１１０または書き込み制御部１１２からの要求に基づいて、アクセス権管理サーバ３００が文書ＩＤを発行する。アクセス権管理サーバ３００は、文書を識別する文書索引情報と、発行された文書ＩＤを関連づけて管理する。例えば、文書索引情報は、文書格納領域１０１におけるパスを含むファイル名でもよく、ＯＳ１０２が提供するファイルシステム上でファイルを一意に識別する識別番号でもよい。
【００９６】
なお、以下では文書に関する表記と同じく、例えば「ＵＳＥＲ１」というユーザＩＤのユーザを単に「ユーザＵＳＥＲ１」と表記し、「ＧＲＯＵＰ１」というグループＩＤのユーザグループを単に「グループＧＲＯＵＰ１」と表記する。同様に、例えば「ＡＰＰ−Ｕ１−１」というアプリケーションＩＤのアプリケーションを単に「アプリケーションＡＰＰ−Ｕ１−１」と表記する。
【００９７】
図５では、「権限」列において、読み出し権限（つまり閲覧権限）は「Ｒｅａｄ」と表され、書き込み権限（つまり編集権限）は「Ｗｒｉｔｅ」と表され、印刷権限は「Ｐｒｉｎｔ」と表されている。削除権限など、その他の種類の権限がさらに定義されていてもよい。
【００９８】
図５によれば、例えば、ユーザＵＳＥＲ１により起動されたアプリケーションＡＰＰ−
Ｕ１−１が文書ＤＯＣ１にアクセスする場合、文書ＤＯＣ１の読み込みは許可されるが、文書ＤＯＣ１への書き込みや文書ＤＯＣ１の印刷は許可されない。また、同じユーザＵＳＥＲ１により起動された別のアプリケーションＡＰＰ−Ｕ１−２が同じ文書ＤＯＣ１にアクセスする場合、文書ＤＯＣ１の読み込みと文書ＤＯＣ１への書き込みが許可される。
【００９９】
ユーザＵＳＥＲ２などの他のユーザや、グループＧＲＯＵＰ１などのユーザグループに関しても同様に、アクセス権情報が定義されている。そして、ユーザＩＤまたはグループＩＤと、アプリケーションＩＤと、権限との組み合わせにより表現されるこれらのアクセス権情報の集合が、文書ＤＯＣ１に関連づけられている。
【０１００】
なお、図５のアクセス権管理テーブル３０１は、明示的な指定がなければ権限がない形式で表されている。例えば、ユーザＵＳＥＲ１により起動されたアプリケーションＡＰＰ−Ｕ１−１が文書ＤＯＣ１にアクセスする場合に関して、「権限」列に「Ｗｒｉｔｅ」という明示的な指定がないことは、書き込み権限がないことを表す。しかし、各種類の権限について、例えばフラグを用いて権限がないことを明示的に表現する形式も可能である。
【０１０１】
以上説明した図５のアクセス権管理テーブル３０１は、図１のファイルオープン制御部１０９、ファイル保存制御部１１０、書き込み制御部１１２、および貼り付け制御部１１３から、アクセス権管理サーバ３００を介して参照または変更される。
【０１０２】
例えば、アプリケーション１０３がＯＳ１０２に対して文書を開くことを要求すると、アプリケーション監視部１０６が要求を捕捉する。捕捉した要求が、文書を開くためのオープン要求であることから、アプリケーション監視部１０６は、ファイルオープン制御部１０９に、捕捉したオープン要求を通知する。
【０１０３】
オープン要求は、開こうとする文書を識別する文書索引情報を含む。また、アプリケーション監視部１０６は、オープン要求を発したアプリケーション１０３のアプリケーションＩＤと、アプリケーション１０３を起動したユーザのユーザＩＤも検出し、オープン要求とともにファイルオープン制御部１０９に通知する。文書索引情報は、例えば、文書格納領域１０１におけるパスを含むファイル名でもよく、ＯＳ１０２が提供するファイルシステム上でファイルを識別するｉｎｏｄｅ番号などの識別番号でもよい。
【０１０４】
オープン要求が通知されると、ファイルオープン制御部１０９は、オープン要求に応じて文書を開くべきか否かを、アクセス権管理サーバ３００を介してアクセス権管理テーブル３０１を参照することにより、判定する。
【０１０５】
つまり、ファイルオープン制御部１０９は、アクセス権管理サーバ３００に対して、オープン要求に含まれる文書索引情報に対応する文書ＩＤが存在し、かつアクセス権管理テーブル３０１に登録されているか否かを調べるよう要求する。文書索引情報に対応する文書ＩＤが存在し、かつアクセス権管理テーブル３０１に登録されていれば、オープン要求は保護文書に関するものである。文書索引情報に対応する文書ＩＤが存在しないか、存在したとしてもアクセス権管理テーブル３０１に登録されていなければ、オープン要求は非保護文書に関するものである。
【０１０６】
また、ファイルオープン制御部１０９は、保護文書に関するオープン要求の場合はさらに、アクセス権管理テーブル３０１において下記（ｄ１）と（ｄ２）が関連づけられているか否かを調べるようアクセス権管理サーバ３００に要求する。
【０１０７】
（ｄ１）オープン要求が出された保護文書の文書ＩＤ。
（ｄ２）オープン要求とともに通知された、ユーザＩＤ（または当該ユーザＩＤが属す
るグループのグループＩＤ）およびアプリケーションＩＤ、ならびに読み出し権限の組み合わせで表されるアクセス権情報。
【０１０８】
アクセス権管理サーバ３００は、ファイルオープン制御部１０９からの要求にしたがってアクセス権管理テーブル３０１を参照し、ファイルオープン制御部１０９に下記（ｅ１）〜（ｅ３）のいずれかの応答を返す。
【０１０９】
（ｅ１）オープン要求は非保護文書に関するものである。
（ｅ２）オープン要求は保護文書に関するものである。要求された保護文書に対する読み出し権限は、オープン要求とともに通知されたユーザＩＤとアプリケーションＩＤの組み合わせに対して付与されている。
【０１１０】
（ｅ３）オープン要求は保護文書に関するものである。要求された保護文書に対する読み出し権限は、オープン要求とともに通知されたユーザＩＤとアプリケーションＩＤの組み合わせに対して付与されていない。
【０１１１】
アクセス権管理サーバ３００から（ｅ１）の応答を得た場合、ファイルオープン制御部１０９は、オープン要求を受け入れてよいと判断し、オープン要求をＯＳ１０２に通知する。ＯＳ１０２は、オープン要求にしたがって非保護文書を開き、開いた非保護文書にアクセスするためのインターフェイスをアプリケーション１０３に提供する。例えば、ＯＳ１０２は、アプリケーション１０３にファイルハンドルを返すことで、インターフェイスを提供することができる。
【０１１２】
また、アクセス権管理サーバ３００から（ｅ２）の応答を得た場合、ファイルオープン制御部１０９は、オープン要求を受け入れてよいと判断し、要求された保護文書を非保護形式に変換して開く。すなわち、ファイルオープン制御部１０９は、暗号化されている保護文書を復号して開く。そして、ファイルオープン制御部１０９は、復号されて開かれた保護文書にアクセスするための、例えばファイルハンドルなどのインターフェイスを、アプリケーション１０３に提供する。
【０１１３】
例えば、ユーザＵＳＥＲ１により起動され、ユーザＵＳＥＲ１の権限において実行されているアプリケーションＡＰＰ−Ｕ１−１が、保護文書ＤＯＣ１を開くようオープン要求を発したとする。この場合、図５のとおり、読み出し権限が付与されているので、ファイルオープン制御部１０９は（ｅ２）の応答を得る。
【０１１４】
また、アクセス権管理サーバ３００から（ｅ３）の応答を得た場合、ファイルオープン制御部１０９は、オープン要求を受け入れてはならないと判断し、アプリケーション１０３に例えばエラーコードを返す。
【０１１５】
ファイル保存制御部１１０、書き込み制御部１１２、および貼り付け制御部１１３が図５のアクセス権管理テーブル３０１を参照または変更する処理については、図６〜図９のフローチャートとともに後述する。
【０１１６】
続いて、図６〜図９を参照して、図４と図５の情報を用いた図１のシステムの動作について説明する。なお、混乱のおそれがないので、図６に関してのみ、図４に関して定義したのとは多少異なる意味で「コピー元文書」と「コピー先文書」という用語を用いるが、コピー元文書に含まれる内容がコピー先文書において再利用されるという点では違いはない。
【０１１７】
図６は、第１実施形態において文書全体をコピーするときのフローチャートである。保
護文書である第１の文書が第２の文書としてコピーされると、第１の文書の内容は第２の文書において丸ごと再利用される。そこで、図１のアクセス制御部１０５は図６の処理により、第２の文書から情報が漏洩するのを防ぐ。
【０１１８】
ステップＳ１０１において、ＯＳ１０２に対する文書のコピーの要求（以下、「文書コピー要求」という）が発生する。
例えば、ＯＳ１０２により提供されるＧＵＩにより表示された文書のアイコンが選択され、指定されたフォルダにコピーを作成するためのメニューが選択され、フォルダの指定がなされると、文書コピー要求が生じる。
【０１１９】
また、ＣＬＩにおいてファイルをコピーするコマンドが入力された場合にも、文書コピー要求が生じる。
次のステップＳ１０２でＯＳ１０２は、文書コピー要求にしたがって文書をコピーし、コピーが完了したことをアプリケーション１０３に報告する。以下、この報告を「文書コピー完了報告」という。
【０１２０】
アプリケーション監視部１０６は文書コピー完了報告を監視しているので、ステップＳ１０２において、文書コピー完了報告を捕捉して横取りし、ファイル保存制御部１１０に通知する。
【０１２１】
そして、ステップＳ１０３でファイル保存制御部１１０は、ステップＳ１０２で捕捉された文書コピー完了報告が保護文書に関するものか否かを、アクセス権管理テーブル３０１を参照することにより判定する。
【０１２２】
本実施形態では、文書コピー完了報告には、コピー元文書、すなわちコピーすべきオリジナルの文書と、コピー先文書、すなわちステップＳ１０２のコピーにより新たに作成された文書をそれぞれ識別する文書索引情報が含まれる。あるいは、アプリケーション監視部１０６は、ステップＳ１０１で文書コピー要求を監視して捕捉することにより、コピー元文書とコピー先文書それぞれの文書索引情報を認識してもよい。
【０１２３】
ステップＳ１０３においてファイル保存制御部１１０は、アクセス権管理サーバ３００に対して、コピー元文書の文書索引情報に対応する文書ＩＤが存在し、かつアクセス権管理テーブル３０１に登録されているか否かを調べるよう要求する。コピー元文書の文書索引情報に対応する文書ＩＤがアクセス権管理テーブル３０１に登録されていれば、コピー元文書は保護文書であり、登録されていなければ、コピー元文書は非保護文書である。
【０１２４】
コピー元文書が保護文書の場合、処理はステップＳ１０３からステップＳ１０４に移行し、コピー元文書が非保護文書の場合、処理はステップＳ１０３からステップＳ１０５に移行する。
【０１２５】
ステップＳ１０４でファイル保存制御部１１０は、コピー先文書を保護形式化する（つまり暗号化する）。なお、実施形態によっては、保護形式の暗号化されたコピー元文書をステップＳ１０２でＯＳ１０２が単純にコピーしただけで暗号化されたコピー先文書が生成されることもある。その場合は、ステップＳ１０４で改めてコピー先文書を保護形式化する必要はない。
【０１２６】
また、ステップＳ１０４でファイル保存制御部１１０は、コピー先文書に新たな文書ＩＤを発行してコピー先文書の文書索引情報と新たな文書ＩＤとを関連づけて管理するようアクセス権管理サーバ３００に要求する。アクセス権管理サーバ３００は、要求にしたがって新たな文書ＩＤを発行してコピー先文書の文書索引情報と関連づけ、発行した文書Ｉ
Ｄをファイル保存制御部１１０に通知する。
【０１２７】
さらに、ファイル保存制御部１１０は、アクセス権管理サーバ３００を介して、アクセス権管理テーブル３０１におけるコピー元文書のアクセス権情報をコピー先文書に付加し、付加したアクセス権情報をアクセス権管理テーブル３０１に登録する。
【０１２８】
例えば、コピー元文書が文書ＤＯＣ１であり、コピー先文書に発行された新規の文書ＩＤが「ＤＯＣ１００」であるとする。この場合、ファイル保存制御部１１０からの要求に応じてアクセス権管理サーバ３００は、図５のアクセス権管理テーブル３０１において「ＤＯＣ１」という文書ＩＤに関連づけられたアクセス権情報一式をコピーし、文書ＩＤ「ＤＯＣ１００」と関連づけてアクセス権管理テーブル３０１に登録する。その結果、アクセス権管理テーブル３０１には「ＤＯＣ１００」という文書ＩＤに関連づけられた新たなエントリが追加される。
【０１２９】
最後に、ステップＳ１０５においてファイル保存制御部１１０が、ステップＳ１０２で捕捉された文書コピー完了報告の宛先であるＧＵＩ、ＣＬＩ、あるいはその他のプロセスに、コピーの完了を報告する。そして、図６の処理は終了する。したがって、コピー元文書が非保護文書の場合は、単にＯＳ１０２からの文書コピー完了報告がアプリケーション１０３に転送されるだけである。
【０１３０】
なお、図６の処理は、アプリケーション監視部１０６が文書コピー要求を監視して捕捉するよう、変形することもできる。その場合、アプリケーション監視部１０６は捕捉した文書コピー要求をファイル保存制御部１１０に通知し、ファイル保存制御部１１０はＯＳ１０２に文書コピー要求を転送する。また、文書コピー完了報告はＯＳ１０２からファイル保存制御部１１０に送られる。しかし、ステップＳ１０４におけるアクセス権の継承は図６と同様である。
【０１３１】
以上の図６の処理によれば、例えば保護文書ＤＯＣ１がコピーされて新たな文書ＤＯＣ１００が作成された場合、文書ＤＯＣ１００には文書ＤＯＣ１と同じアクセス権が設定される。つまり、文書ＤＯＣ１００は文書ＤＯＣ１のアクセス権を継承している。したがって、コピー元文書ＤＯＣ１へのアクセス権を持たないユーザに、コピー先文書ＤＯＣ１００を介して、コピー元文書ＤＯＣ１に含まれる情報が漏洩することはない。
【０１３２】
業務アプリケーションごとに機密ファイルへのアクセスを許可または禁止する従来の方法では、任意のユーザが、機密ファイルへのアクセスが許可された業務アプリケーションを用いて機密ファイルの内容を再利用することができる。つまり、ＲＢＡＣ（Roll-Based
Access Control）が行われていない。しかし、本実施形態では、図５のアクセス権管理テーブル３０１のように、ユーザ別にアクセス権を設定することができ、ＲＢＡＣを実現することができる。
【０１３３】
また、図６の処理は、コピー元文書が文書格納領域１０１のどのフォルダに格納されているかに依存せず、コピー先文書が文書格納領域１０１のどのフォルダに作成されるかにも依存しない。また、図６の処理は透過的に実行される。
【０１３４】
したがって、コピー元文書へのアクセス権を有するユーザは、コピー元文書が保護文書であるか否かを意識する必要がなく、任意のフォルダの任意の文書を、任意のフォルダにコピーすることができる。つまり、本実施形態によれば、保護すべき文書をユーザが特定の保護フォルダに移動する必要がないので、ユーザが文書の移動を忘れたせいで情報が漏洩してしまう、といった事態に陥ることがない。
【０１３５】
続いて、図７〜図１０を参照して、共有メモリ１０４を介した情報の再利用におけるアクセス制御部１０５の動作について詳しく説明する。なお、以下では、共有メモリ１０４により実現されるクリップボードを介したコピー・アンド・ペーストによる情報の再利用について具体的に説明するが、共有メモリ１０４を介した情報の再利用はコピー・アンド・ペーストに限らない。
【０１３６】
図７は、第１実施形態において文書中のデータをコピーするときのフローチャートである。
ステップＳ２０１において、アプリケーション１０３は、現在開いている文書中のデータを共有メモリ１０４にコピーするようＯＳ１０２に要求する。以下、この要求を「データコピー要求」という。
【０１３７】
例えば、アプリケーション１０３が現在開いている文書中の一部または全部の範囲が選択され、選択された範囲のデータをコピーするよう、ユーザから入力装置を介して指示される。すると、アプリケーション１０３は、選択された範囲のデータをクリップボードとしての共有メモリ１０４にコピーするためのデータコピー要求を発する。
【０１３８】
次のステップＳ２０２でＯＳ１０２は、アプリケーション１０３からのデータコピー要求にしたがって、データを共有メモリ１０４にコピーし、コピーの完了をアプリケーション１０３に報告する。なお、一般にＯＳ１０２が提供するクリップボードでは、コピーのたびにデータが上書きされ、以前クリップボードにコピーされたデータは残らない。
【０１３９】
アプリケーション監視部１０６は、ＯＳ１０２からアプリケーション１０３へのコピー完了報告を監視しているので、ステップＳ２０２でコピー完了報告を捕捉して横取りする。
【０１４０】
コピー完了報告の宛先またはコピー完了報告そのものから、アプリケーション監視部１０６は、データコピー要求を発したアプリケーション１０３のアプリケーションＩＤとコピー元文書の文書索引情報を認識する。
【０１４１】
そして、アプリケーション監視部１０６は、書き込み制御部１１２に、データコピー要求を発したアプリケーションのアプリケーションＩＤとコピー元文書の文書索引情報を通知する。
【０１４２】
続いてステップＳ２０３で、書き込み制御部１１２は、コピー元文書が保護文書か否かを、アクセス権管理テーブル３０１を参照して判定する。例えば、書き込み制御部１１２は、ネットワーク２００を介してアクセス権管理サーバ３００に、コピー元文書の文書索引情報を指定した問い合わせを行う。すなわち、指定された文書索引情報に対応する文書ＩＤが存在し、かつアクセス権管理テーブル３０１に登録されているか否かを調べるよう、書き込み制御部１１２はアクセス権管理サーバ３００に要求する。
【０１４３】
指定された文書索引情報に対応する文書ＩＤが存在し、かつアクセス権管理テーブル３０１に登録されていれば、データコピー要求は保護文書に関するものである。指定された文書索引情報に対応する文書ＩＤが存在しないか、存在したとしてもアクセス権管理テーブル３０１に登録されていなければ、データコピー要求は非保護文書に関するものである。
【０１４４】
アクセス権管理サーバ３００は、データコピー要求が保護文書と非保護文書のいずれに関するのかを書き込み制御部１１２に応答する。また、データコピー要求が保護文書に関する場合、アクセス権管理サーバ３００はさらに、コピー元文書の文書ＩＤを書き込み制
御部１１２に通知する。
【０１４５】
コピー元文書が保護文書の場合、処理はステップＳ２０３からステップＳ２０４に移行し、コピー元文書が非保護文書の場合、処理はステップＳ２０３からステップＳ２０５に移行する。
【０１４６】
ステップＳ２０４で書き込み制御部１１２は、ステップＳ２０２で共有メモリ１０４に書き込まれたデータを保護形式化する。すなわち、書き込み制御部１１２は、共有メモリ１０４上のデータを暗号化して共有メモリ１０４に上書きする。暗号化アルゴリズムは任意である。
【０１４７】
また、書き込み制御部１１２は、ステップＳ２０３で通知されたコピー元文書の文書ＩＤを共有メモリ１０４上の空いている領域に書き込み、共有メモリ１０４上の保護形式化されたデータと関連づける。
【０１４８】
また、もしコピー元文書の文書ＩＤが図４の継承管理テーブル１０８において「開いている文書のＩＤ」列に登録されている場合は、書き込み制御部１１２は、関連づけられた「コピー元文書のＩＤ」列の１つ以上の文書ＩＤを取得する。そして、書き込み制御部１１２は取得した１つ以上の文書ＩＤをさらに、共有メモリ１０４上の保護形式化されたデータと関連づけて、共有メモリ１０４上の空いている領域に書き込む。そして、書き込み制御部１１２はコピーの完了をアプリケーション１０３に報告し、図７の処理は終了する。
【０１４９】
例えば、保護文書ＤＯＣ２がコピー元文書である場合、ステップＳ２０４の処理により共有メモリ１０４には、保護文書ＤＯＣ２からコピーされて保護形式化されたデータと、文書ＩＤ「ＤＯＣ２」とが、互いに関連づけられた状態で格納される。
【０１５０】
あるいは、保護文書ＤＯＣ４がコピー元文書であり、継承管理テーブル１０８が図４に示した状態だとする。この場合、継承管理テーブル１０８において「開いている文書のＩＤ」列にコピー元文書の文書ＩＤ「ＤＯＣ４」が登録されており、「コピー元文書のＩＤ」列に関連づけられて登録されているのは文書ＩＤ「ＤＯＣ５」である。
【０１５１】
したがって、この場合、ステップＳ２０４の処理により共有メモリ１０４には、保護文書ＤＯＣ４からコピーされて保護形式化されたデータと、２つの文書ＩＤ「ＤＯＣ４」および「ＤＯＣ５」とが、関連づけられた状態で格納される。
【０１５２】
他方、コピー元文書が非保護文書の場合は、ステップＳ２０５で書き込み制御部１１２が、コピー元文書が保護文書から再利用したデータを含むか否かを、継承管理テーブル１０８を参照することにより判断する。
【０１５３】
より正確には、ステップＳ２０５では、コピー元文書が保護文書から再利用したデータを実際に含むか否かではなく、コピー元文書が保護文書から再利用したデータを含む可能性があるか否かが判断される。換言すれば、ステップＳ２０５では、図４に関して述べた間接的再利用の可能性があるか否かが判断される。
【０１５４】
例えば、コピー元文書が非保護文書ＤＯＣ３であるとする。図４の継承管理テーブル１０８を参照すると、「開いている文書のＩＤ」列には文書ＩＤ「ＤＯＣ３」が登録されている。後述の図８の処理から明らかなとおり、この場合、コピー元文書ＤＯＣ３は、保護文書から再利用したデータを含む可能性がある。
【０１５５】
コピー元文書が保護文書から再利用したデータを含む可能性がある場合、処理はステップＳ２０６に移行する。コピー元文書が保護文書から再利用したデータを含む可能性がない場合は、書き込み制御部１１２がコピーの完了をアプリケーション１０３に報告し、図７の処理が終了する。
【０１５６】
ステップＳ２０６が実行されるのは、ステップＳ２０２でのコピーにおける直接のコピー元文書自体は非保護文書であり、かつ、保護文書からの間接的な情報の再利用の可能性がある場合である。したがって、共有メモリ１０４上のデータを保護する必要がある。
【０１５７】
そこで、ステップＳ２０６では、書き込み制御部１１２が、ステップＳ２０２で共有メモリ１０４にコピーされたデータを保護形式化する。さらに、書き込み制御部１１２は、ステップＳ２０３で通知されたコピー元文書の文書ＩＤに関連づけられて継承管理テーブル１０８の「コピー元文書のＩＤ」列に登録されている文書ＩＤを、１つ以上の間接的なコピー元文書の文書ＩＤとして取得する。
【０１５８】
例えば、コピー元文書が非保護文書ＤＯＣ３の場合、図４の継承管理テーブル１０８によれば、「開いている文書のＩＤ」列の文書ＩＤ「ＤＯＣ３」に対応して「コピー元文書のＩＤ」列には文書ＩＤ「ＤＯＣ４」および「ＤＯＣ５」が登録されている。したがって、書き込み制御部１１２は間接的なコピー元文書の文書ＩＤとして文書ＩＤ「ＤＯＣ４」および「ＤＯＣ５」を取得する。
【０１５９】
そして、書き込み制御部１１２は、継承管理テーブル１０８から取得した情報（例えば上記の例では２つの文書ＩＤ「ＤＯＣ４」および「ＤＯＣ５」）をさらに、共有メモリ１０４上の保護形式化されたデータと関連づけて、共有メモリ１０４上の空いている領域に書き込む。そして、書き込み制御部１１２がコピーの完了をアプリケーション１０３に報告し、図７の処理は終了する。
【０１６０】
なお、以上説明した図７の処理を、図２における保護文書Ｄ１からクリップボードへのオブジェクトＸのコピー時の処理と比較すると、図２でのオブジェクトＸへのアクセス権情報の付加は、図７のステップＳ２０４またはＳ２０６において行われている。
【０１６１】
つまり、文書ＩＤを共有メモリ１０４にコピーし、保護形式化されたデータと関連づけることは、共有メモリ１０４上のデータにアクセス権情報を付加することである。なぜなら、データに文書ＩＤを関連づけることによって、アクセス権管理テーブル３０１で文書ＩＤに関連づけられているアクセス権情報が、間接的に共有メモリ１０４上のデータに関連づけられるからである。
【０１６２】
図８は、第１実施形態において文書にデータを貼り付けるときのフローチャートである。
ステップＳ３０１において、アプリケーション１０３は、現在開いている文書中に、共有メモリ１０４に格納されたデータを貼り付けるよう、ＯＳ１０２に要求する。以下、この要求を「貼り付け要求」という。
【０１６３】
また、ステップＳ３０１では、貼り付け要求を監視しているアプリケーション監視部１０６が、貼り付け要求を捕捉して横取りする。本実施形態では、貼り付け要求自体が、貼り付け要求を発したアプリケーション１０３のアプリケーションＩＤ、および、貼り付け要求にしたがってデータを貼り付けるべきコピー先文書の文書索引情報を含むものとする。アプリケーション監視部１０６は、捕捉した貼り付け要求を貼り付け制御部１１３に通知する。
【０１６４】
次のステップＳ３０２で貼り付け制御部１１３は、ステップＳ３０１でアプリケーション監視部１０６が捕捉した貼り付け要求が、保護形式のデータの貼り付け要求であるか否かを判断する。すなわち、貼り付け制御部１１３は、クリップボードを実現する共有メモリ１０４上のデータに関連づけられて共有メモリ１０４に格納された文書ＩＤが存在するか否かを判断する。
【０１６５】
もし、共有メモリ１０４上のデータに関連づけられた文書ＩＤが存在すれば、共有メモリ１０４上のデータは、図７のステップＳ２０４またはＳ２０６で保護形式化されたデータである。したがって、ステップＳ３０２で貼り付け制御部１１３は、「ステップＳ３０１でアプリケーション監視部１０６が捕捉した貼り付け要求は、保護形式のデータの貼り付け要求である」と判断し、処理はステップＳ３０３に移行する。
【０１６６】
逆に、共有メモリ１０４上のデータに何の文書ＩＤも関連づけられていない場合は、図７のステップＳ２０５で、コピー元文書は保護文書から再利用したデータを含む可能性がないと判断された場合である。つまり、共有メモリ１０４には、図７のステップＳ２０２でＯＳ１０２によりコピーされただけで保護形式化されていないデータが格納されている。したがって、ステップＳ３０２で貼り付け制御部１１３は、「ステップＳ３０１でアプリケーション監視部１０６が捕捉した貼り付け要求は、非保護形式のデータの貼り付け要求である」と判断し、処理はステップＳ３０９に移行する。
【０１６７】
ステップＳ３０３で貼り付け制御部１１３は、貼り付けの実行を許可すべきか否かを判断する。
すなわち、貼り付け制御部１１３は、共有メモリ１０４上の保護形式化されたデータへのアクセス権を、貼り付け要求を発したアプリケーションが有するか否かを判断する。ここで、「共有メモリ１０４上のデータへのアクセス権を有する」とは、「共有メモリ１０４上のデータに文書ＩＤが関連づけられた１つ以上の文書のすべてに対して、少なくとも読み出し権限を有する」ということを意味する。
【０１６８】
例えば、共有メモリ１０４上のデータに文書ＩＤ「ＤＯＣ１」が関連づけられており、コピー先文書は、ユーザＵＳＥＲ１の権限で実行されるアプリケーションＡＰＰ−Ｕ１−１により現在開かれているとする。また、アクセス権管理テーブル３０１は図５のとおりであるとする。
【０１６９】
この場合、貼り付け制御部１１３は、共有メモリ１０４を参照することでデータに関連づけられた文書ＩＤ「ＤＯＣ１」を取得することができる。また、貼り付け制御部１１３は、ステップＳ３０１で貼り付け要求からアプリケーションＩＤ「ＡＰＰ−Ｕ１−１」を既に取得している。また、例えばＯＳ１０２に問い合わせることにより、貼り付け制御部１１３は、アプリケーションＡＰＰ−Ｕ１−１がユーザＵＳＥＲ１の権限で実行さされていることを認識することができる。
【０１７０】
したがって、ステップＳ３０３で貼り付け制御部１１３は、認識した結果に基づいて、アクセス権管理サーバ３００を介してアクセス権管理テーブル３０１を参照し、共有メモリ１０４上のデータへのアクセス権をアプリケーションＡＰＰ−Ｕ１−１が有するか否かを判断する。つまり、貼り付け制御部１１３は、文書ＩＤ「ＤＯＣ１」とアプリケーションＩＤ「ＡＰＰ−Ｕ１−１」とユーザＩＤ「ＵＳＥＲ１」の組み合わせに対して読み出し権限が設定されているか否かをアクセス権管理サーバ３００に問い合わせる。アクセス権管理サーバ３００は、アクセス権管理テーブル３０１を参照して読み出し権限の有無を応答する。
【０１７１】
図５の例では、文書ＩＤ「ＤＯＣ１」とアプリケーションＩＤ「ＡＰＰ−Ｕ１−１」と
ユーザＩＤ「ＵＳＥＲ１」の組み合わせに対して読み出し権限が設定されている。したがって、ステップＳ３０３において貼り付け制御部１１３は貼り付けの実行を許可し、処理はステップＳ３０５に移行する。
【０１７２】
逆に、アクセス権管理テーブル３０１を参照した結果、貼り付け要求を発したアプリケーションが共有メモリ１０４上のデータへのアクセス権を持たないと判明したら、処理はステップＳ３０４に移行する。
【０１７３】
ステップＳ３０４で、貼り付け制御部１１３は、貼り付け不可のメッセージをコンピュータ１００の画面に表示するとともに、貼り付け不可を示すエラーコードを、貼り付け要求を発したアプリケーション１０３に返す。あるいは、メッセージの表示は省略してもよい。そして、図８の処理が終了する。
【０１７４】
ステップＳ３０５は、貼り付けの実行が許可される場合に実行される。ステップＳ３０５で貼り付け制御部１１３は、共有メモリ１０４上のデータを復号することによって非保護形式に変換し、変換後のデータを、コピー先文書に貼り付ける。
【０１７５】
続くステップＳ３０６〜Ｓ３０８は、アクセス権継承のための処理である。ステップＳ３０６において貼り付け制御部１１３は、コピー先文書が継承管理テーブル１０８に未登録の非保護文書であるか否かを判断する。
【０１７６】
上記のように、本実施形態ではアクセス権管理サーバ３００が、ファイルシステム内で文書を識別するための文書索引情報と、アクセス権管理のための文書ＩＤとの対応を管理している。よって、貼り付け制御部１１３は、貼り付け要求により示されるコピー先文書の文書索引情報をキーにしてアクセス権管理サーバ３００に問い合わせる。その結果、貼り付け制御部１１３は、コピー先文書に対して既に文書ＩＤが発行されているか否かを認識し、もし文書ＩＤが発行済みならば発行された文書ＩＤを認識する。
【０１７７】
コピー先文書に対してまだ文書ＩＤが発行されていなければ、コピー先文書は、継承管理テーブル１０８に未登録の非保護文書である。よって、処理はステップＳ３０７に移行する。
【０１７８】
コピー先文書に対して文書ＩＤが発行済みならば、コピー先文書は、保護文書であるか、または、継承管理テーブル１０８に登録済みの非保護文書である。よって、処理はステップＳ３０８に移行する。
【０１７９】
ステップＳ３０７では、継承管理テーブル１０８に未登録の非保護文書であるコピー先文書に対して新たな文書ＩＤを発行するよう、貼り付け制御部１１３がアクセス権管理サーバ３００に要求する。アクセス権管理サーバ３００は新たな文書ＩＤを発行し、コピー先文書の文書索引情報と関連づけ、発行した文書ＩＤを貼り付け制御部１１３に通知する。そして処理はステップＳ３０８に移行する。
【０１８０】
ステップＳ３０８では、貼り付け制御部１１３が、共有メモリ１０４上のデータに関連づけられた文書ＩＤのうちコピー先文書の文書ＩＤ以外のすべての文書ＩＤを、コピー先文書の文書ＩＤと関連づけて継承管理テーブル１０８に登録する。また、貼り付け制御部１１３は貼り付けの完了をアプリケーション１０３に報告する。
【０１８１】
例えば、コピー先文書が文書ＤＯＣ３であり、共有メモリ１０４上のデータには文書ＩＤ「ＤＯＣ４」と「ＤＯＣ５」が関連づけられているとする。この場合、貼り付け制御部１１３は、図４に示すようにコピー先文書の文書ＩＤ「ＤＯＣ３」を継承管理テーブル１
０８の左列に登録するとともに、対応する右列には、データに関連づけられた文書ＩＤ「ＤＯＣ４」と「ＤＯＣ５」を登録する。ステップＳ３０８により、「文書ＤＯＣ３は、保護文書ＤＯＣ４および保護文書ＤＯＣ５からアクセス権を継承すべきである」ということが継承管理テーブル１０８に表現される。
【０１８２】
また、例えば、コピー先文書が文書ＤＯＣ６であり、共有メモリ１０４上のデータには文書ＩＤ「ＤＯＣ６」と「ＤＯＣ７」が関連づけられているとする。この場合、貼り付け制御部１１３は、図４に示すようにコピー先文書の文書ＩＤ「ＤＯＣ６」に対応づけて文書ＩＤ「ＤＯＣ７」のみを継承管理テーブル１０８の右列に登録する。
【０１８３】
ステップＳ３０９は、ステップＳ３０１でアプリケーション監視部１０６が捕捉した貼り付け要求が、非保護形式の貼り付け要求である場合に実行される。この場合、アクセス制限の必要はなく、貼り付けるべきデータを復号する必要もない。
【０１８４】
したがって、ステップＳ３０９で貼り付け制御部１１３は、ステップＳ３０１で通知された貼り付け要求をＯＳ１０２に通知する。そして、ＯＳ１０２は共有メモリ１０４上のデータをコピー先文書に貼り付け、貼り付けの終了をアプリケーション１０３に報告する。そして図８の処理が終了する。
【０１８５】
なお、以上説明した図８の処理を図２における文書Ｄ２へのオブジェクトＸの貼り付け時の処理と比較すると、図２の貼り付け実行の判定は図８のステップＳ３０３に対応する。また、図２の復号は図８のステップＳ３０５に対応し、図２のアクセス権情報の反映のための処理は図８のステップＳ３０８に対応する。
【０１８６】
図９は、第１実施形態において文書を保存するときのフローチャートである。
ステップＳ４０１において、アプリケーション１０３は、現在開いている文書の保存をＯＳ１０２に要求する。以下、この要求を「保存要求」といい、保存が要求された文書を「対象文書」という。
【０１８７】
また、ステップＳ４０１では、保存要求を監視しているアプリケーション監視部１０６が、保存要求を捕捉し、横取りしている。本実施形態では、保存要求自体が、保存要求を発したアプリケーション１０３のアプリケーションＩＤ、および対象文書の文書索引情報を含むものとする。アプリケーション監視部１０６は、捕捉した保存要求をファイル保存制御部１１０に通知する。
【０１８８】
次のステップＳ４０２でファイル保存制御部１１０は、対象文書が、図４の継承管理テーブル１０８の「開いている文書のＩＤ」列に文書ＩＤが登録された文書であるか否かを判断する。そのために、ファイル保存制御部１１０は、文書索引情報と文書ＩＤの関連づけを管理するアクセス権管理サーバ３００に、対象文書に対して文書ＩＤが発行済みであるか否かを問い合わせ、文書ＩＤが発行済みならば文書ＩＤを取得する。
【０１８９】
対象文書に対して文書ＩＤが発行されていない場合、処理はステップＳ４０３に移行する。また、対象文書に対して文書ＩＤが発行済みだが、対象文書の文書ＩＤが継承管理テーブル１０８の「開いている文書のＩＤ」列に登録されていない場合も、処理はステップＳ４０３に移行する。
【０１９０】
逆に、対象文書に対して文書ＩＤが発行済みであり、かつ、対象文書の文書ＩＤが継承管理テーブル１０８の「開いている文書のＩＤ」列に登録されている場合、処理はステップＳ４０６に移行する。
【０１９１】
ステップＳ４０３以降の処理は、対象文書が今回アプリケーション１０３によって開かれて以降は、保護文書からのデータの再利用が生じていない場合、すなわち、新たなアクセス権の継承が生じない場合に実行される。
【０１９２】
ステップＳ４０３でファイル保存制御部１１０は、対象文書が保護文書であるか否かを判断する。ファイル保存制御部１１０は、ステップＳ４０２での文書ＩＤの問い合わせ結果に基づいてステップＳ４０３の判断を行うことができる。
【０１９３】
すなわち、ステップＳ４０２において対象文書に文書ＩＤが発行されていないと判明している場合、対象文書は非保護文書である。
また、文書ＩＤが発行されている場合、対象文書が非保護文書ならば、継承管理テーブル１０８の「開いている文書のＩＤ」列に文書ＩＤが登録されている。しかし、ステップ４０３が実行されるのは、対象文書の文書ＩＤが継承管理テーブル１０８の「開いている文書のＩＤ」列に登録されていない場合である。したがって、ステップＳ４０３では、「文書ＩＤが発行されているならば、対象文書は保護文書である」とファイル保存制御部１１０が判断することができる。
【０１９４】
ステップＳ４０３において、対象文書が保護文書であるとファイル保存制御部１１０が判断すると、処理はステップＳ４０４に移行する。ファイル保存制御部１１０は、ステップＳ４０４において対象文書を保護形式化し、続いてステップＳ４０５において、保護形式化した対象文書を文書格納領域１０１に保存し、アプリケーション１０３に保存完了を報告する。そして、図９の処理が終了する。
【０１９５】
他方、ステップＳ４０３において、対象文書が非保護文書であるとファイル保存制御部１１０が判断すると、処理はステップＳ４０５に移行する。ステップＳ４０５では、ファイル保存制御部１１０が対象文書を文書格納領域１０１に保存してアプリケーション１０３に保存完了を報告し、図９の処理が終了する。
【０１９６】
ステップＳ４０６以降の処理は、対象文書の文書ＩＤが継承管理テーブル１０８の「開いている文書のＩＤ」列に登録されている場合、すなわち、新たなアクセス権の継承が必要な場合に実行される。新たなアクセス権の継承が必要であるということは、「今回アプリケーション１０３によって開かれる前に対象文書が既に保護文書であったか否かによらず、対象文書は、今後はアクセス権の設定された保護文書として管理される」ということを意味する。したがって、ステップＳ４０６においてファイル保存制御部１１０は、対象文書を保護形式化する。
【０１９７】
そして、ステップＳ４０７において、ファイル保存制御部１１０は、今回アプリケーション１０３によって開かれるときまでは対象文書が非保護文書であったか否かを判断する。すなわち、ファイル保存制御部１１０は、ステップＳ４０２で取得した対象文書の文書ＩＤがアクセス権管理テーブル３０１の「文書ＩＤ」列に登録されているか否かをアクセス権管理サーバ３００に問い合わせる。
【０１９８】
対象文書の文書ＩＤがアクセス権管理テーブル３０１の「文書ＩＤ」列に登録されていなければ、今回アプリケーション１０３によって開かれた時点で対象文書は非保護文書であったので、処理はステップＳ４０８に移行する。逆に、対象文書の文書ＩＤがアクセス権管理テーブル３０１の「文書ＩＤ」列に登録されていれば、今回アプリケーション１０３によって開かれる前から対象文書が保護文書であったので、処理はステップＳ４０９に移行する。
【０１９９】
ステップＳ４０８においてファイル保存制御部１１０は、アクセス権管理サーバ３００
を介して、アクセス権管理テーブル３０１の「文書ＩＤ」列に対象文書の文書ＩＤを新規登録する。ここで、ファイル保存制御部１１０は、保存しようとする対象文書に関連づけられた継承管理テーブル１０８上の情報を、アクセス権管理テーブル３０１に反映する。
【０２００】
具体的には、ファイル保存制御部１１０は、図４の継承管理テーブル１０８において、「開いている文書のＩＤ」列に登録された対象文書の文書ＩＤに関連づけられて「コピー元文書のＩＤ」列に登録された１つ以上の文書ＩＤを取得する。そして、ファイル保存制御部１１０は、取得したそれぞれの文書ＩＤに関連づけられたアクセス権情報を、アクセス権管理サーバ３００を介してアクセス権管理テーブル３０１を参照することにより取得する。ファイル保存制御部１１０はさらに、取得したアクセス権情報を所定の条件によりマージして、対象文書に関連づけるべき新たなアクセス権情報を生成する。
【０２０１】
例えば、対象文書の文書ＩＤに関連づけられて「コピー元文書のＩＤ」列に登録されているのが、１つの文書ＩＤ「ＤＯＣ１０」のみであるとする。この場合、ファイル保存制御部１１０は文書ＩＤ「ＤＯＣ１０」に関連づけられたアクセス権情報一式をアクセス権管理テーブル３０１から取得する。そして、ファイル保存制御部１１０は、取得した文書ＤＯＣ１０のアクセス権情報そのものを、対象文書に関連づけるべき新たなアクセス権情報として用いる。
【０２０２】
あるいは、対象文書の文書ＩＤに関連づけられて「コピー元文書のＩＤ」列に登録されているのが、２つの文書ＩＤ「ＤＯＣ２０」と「ＤＯＣ３０」であるとする。この場合、ファイル保存制御部１１０は文書ＩＤ「ＤＯＣ２０」と「ＤＯＣ３０」にそれぞれ関連づけられたアクセス権情報一式をアクセス権管理テーブル３０１から取得する。
【０２０３】
そして、ファイル保存制御部１１０は、文書ＩＤ「ＤＯＣ２０」と「ＤＯＣ３０」に関連づけられたそれぞれのアクセス権情報を下記の「ＡＮＤ条件」でマージすることで、対象文書に関連づけるべきアクセス権情報を生成する。つまり、ファイル保存制御部１１０は、文書ＩＤ「ＤＯＣ２０」と「ＤＯＣ３０」に関連づけられたそれぞれのアクセス権情報でともにアクセス権が設定されている組み合わせに対してのみ、対象文書にもアクセス権を設定する。「ＡＮＤ条件」は次のように形式化することができる。
【０２０４】
図５のアクセス権管理テーブル３０１において、文書ＩＤが「Ｄ」、ユーザＩＤまたはグループＩＤが「Ｕ」、アプリケーションＩＤが「Ａ」の組み合わせに対する読み出し権限を式（１）により表す。読み出し権限が設定されている場合、式（１）の値はｔｒｕｅ、設定されていない場合、式（１）の値はｆａｌｓｅである。
【０２０５】
Ｒｅａｄ（Ｄ，Ｕ，Ａ）                                      （１）
ここで、対象文書の文書ＩＤを「Ｄ」とし、継承管理テーブル１０８において文書ＩＤ「Ｄ」には、「コピー元文書のＩＤ」として文書ＩＤ「Ｄ１」、……、「ＤＮ」が関連づけられているとする（Ｎ≧１）。
【０２０６】
また、１≦ｊ≦Ｐとして、各「Ｕｊ」は、「Ｄ１」〜「ＤＮ」のうち少なくとも１つの文書ＩＤに関連づけられてアクセス権管理テーブル３０１に登録されているユーザＩＤまたはグループＩＤであるとする。さらに、１≦ｋ≦Ｑとして、各「Ａｋ」は、「Ｄ１」〜「ＤＮ」のうち少なくとも１つの文書ＩＤに関連づけられてアクセス権管理テーブル３０１に登録されているアプリケーションＩＤであるとする。
【０２０７】
このとき、上記「ＡＮＤ条件」は、式（２）のようにＮ個の真理値の論理積を算出することで対象文書Ｄのアクセス権情報を生成する、というマージ方法を規定する。
Ｒｅａｄ（Ｄ，Ｕｊ，Ａｋ）
＝Ｒｅａｄ（Ｄ１，Ｕｊ，Ａｋ）∧
……∧Ｒｅａｄ（ＤＮ，Ｕｊ，Ａｋ）                      （２）
より正確には、「ＡＮＤ条件」によれば、ファイル保存制御部１１０は、すべての１≦ｊ≦Ｐおよび１≦ｋ≦Ｑの組み合わせについて、式（２）により対象文書Ｄに設定すべき読み出し権限を算出する。また、ファイル保存制御部１１０は、同様の論理積の演算により、書き込み権限や印刷権限など他の種類の権限も算出する。
【０２０８】
そして、ファイル保存制御部１１０は、算出結果を、対象文書Ｄに関連づけるべきアクセス権情報としてアクセス権管理テーブル３０１に設定するよう、アクセス権管理サーバ３００に要求する。つまり、ファイル保存制御部１１０は、アクセス権管理サーバ３００を介してアクセス権管理テーブル３０１に新たなアクセス権情報を追加する。
【０２０９】
さらにステップＳ４０８においてファイル保存制御部１１０は、アクセス権管理テーブル３０１に反映した継承管理テーブル１０８の情報を削除する。つまり、式（２）の記法を用いて説明すると、「文書ＩＤ」列の「Ｄ」と、「コピー元文書のＩＤ」列の「Ｄ１」〜「ＤＮ」との組を、ファイル保存制御部１１０は継承管理テーブル１０８から削除する。
【０２１０】
また、ステップＳ４０７において対象文書が既に保護文書であったと判断された場合、ファイル保存制御部１１０はステップＳ４０９の処理を実行する。すなわち、ファイル保存制御部１１０は、保存しようとする対象文書に関連づけられた継承管理テーブル１０８上の情報を、アクセス権管理テーブル３０１に反映する。
【０２１１】
例えば、ステップＳ４０８と類似の「ＡＮＤ条件」にしたがって、ステップＳ４０９では、ファイル保存制御部１１０が式（３）の論理積演算により、対象文書Ｄのアクセス権情報を生成する。
【０２１２】
Ｒｅａｄ（Ｄ，Ｕｊ，Ａｋ）
＝Ｒｅａｄ（Ｄ，Ｕｊ，Ａｋ）∧Ｒｅａｄ（Ｄ１，Ｕｊ，Ａｋ）∧
……∧Ｒｅａｄ（ＤＮ，Ｕｊ，Ａｋ）                      （３）
つまり、ステップＳ４０９では、対象文書Ｄ自体に元々設定されていたアクセス権情報と、対象文書Ｄにおいて再利用されているデータの源である他の文書Ｄ１〜ＤＮのアクセス権情報とを、ファイル保存制御部１１０がマージする。それにより、ファイル保存制御部１１０は対象文書Ｄの新たなアクセス権情報を生成し、アクセス権管理サーバ３００を介して、新たなアクセス権情報をアクセス権管理テーブル３０１に設定する。
【０２１３】
なお、式（３）から明らかなように、継承管理テーブル１０８が図４に示した状態のとき、文書ＤＯＣ６とＤＯＣ７のどちらが先に保存されるかによらず同じように、文書ＤＯＣ６とＤＯＣ７それぞれのアクセス権情報は更新される。
【０２１４】
さらにステップＳ４０９においてファイル保存制御部１１０は、アクセス権管理テーブル３０１に反映した継承管理テーブル１０８の情報を削除する。つまり、式（３）の記法を用いて説明すると、「文書ＩＤ」列の「Ｄ」と、「コピー元文書のＩＤ」列の「Ｄ１」〜「ＤＮ」との組を、ファイル保存制御部１１０は継承管理テーブル１０８から削除する。
【０２１５】
このように、ステップＳ４０８とＳ４０９では、ファイル保存制御部１１０は、継承管理テーブル１０８を参照して対象文書Ｄに文書Ｄ１〜文書ＤＮが関連づけられていることを認識する。それによって、ファイル保存制御部１１０は、対象文書Ｄに設定すべき新たなアクセス権を算出する根拠として参照すべきなのは文書Ｄ１〜文書ＤＮのアクセス権情
報であると認識することができる。
【０２１６】
ステップＳ４０８またはＳ４０９の実行後、処理はステップＳ４０５に移行する。ステップＳ４０５においてファイル保存制御部１１０は、ステップＳ４０６で保護形式化した対象文書を文書格納領域１０１に保存してアプリケーション１０３に保存完了を報告し、図９の処理は終了する。
【０２１７】
なお、以上説明した図９の処理を図２における文書Ｄ２の保存時の処理と比較すると、図２における文書Ｄ２のアクセス権情報の登録は図９のステップＳ４０８またはＳ４０９で行われる。また、図２における暗号化は図９のステップＳ４０６で行われ、図２における保存は図９のステップＳ４０５で行われる。
【０２１８】
また、以上の図７〜図９の処理によれば、例えば保護文書ＤＯＣ１から文書ＤＯＣ１００へデータがコピー・アンド・ペーストされ、保護文書ＤＯＣ１の内容が文書ＤＯＣ１００で再利用された場合、文書ＤＯＣ１００は保護文書ＤＯＣ１のアクセス権を継承する。アクセス権の継承は、文書ＤＯＣ１００が元々保護文書であったか非保護文書であったかによらない。
【０２１９】
したがって、コピー元文書ＤＯＣ１へのアクセス権を持たないユーザに、コピー先文書ＤＯＣ１００を介して、コピー元文書ＤＯＣ１に含まれる情報が漏洩することはない。また、図７〜図９の処理も、図６の処理と同様、コピー元文書ＤＯＣ１およびコピー先文書ＤＯＣ１００が格納されるフォルダ依存せず、かつ透過的に実行される。したがって、本実施形態によれば、ユーザの負担なしに、確実にアクセス権の継承が実現される。
【０２２０】
図１０は、第１実施形態の作用の一例を示すタイミングチャートである。図１０は主に継承管理テーブル１０８の動的な変化について説明する図である。図１０では、継承管理テーブル１０８の変化に応じて、「１０８ａ」〜「１０８ｆ」という添え字を含む参照符号を用いている。
【０２２１】
また、図１０の例では、説明の簡単化のため、以下の（ｆ１）〜（ｆ５）のように仮定し、アクセス権管理テーブル３０１の図示は省略した。
（ｆ１）ユーザＵは、文書に対するすべての操作を、アプリケーションＡを介して行う。
【０２２２】
（ｆ２）保護文書Ｄ２１、Ｄ２３、Ｄ２４、およびＤ２６が既に文書格納領域１０１に格納されている。
（ｆ３）ユーザＵとアプリケーションＡの組み合わせに対して、保護文書Ｄ２１、Ｄ２３、Ｄ２４、およびＤ２６に対する読み出し権限と書き込み権限が付与されている。
【０２２３】
（ｆ４）非保護文書Ｄ２２とＤ２５が、既に文書格納領域１０１に格納されている。実際には、図１０における初期状態では、非保護文書Ｄ２２とＤ２５にはまだ文書ＩＤ「Ｄ２２」と「Ｄ２５」が発行されていないが、説明の便宜上、「非保護文書Ｄ２２」および「非保護文書Ｄ２５」とよぶ。
【０２２４】
（ｆ５）初期状態の継承管理テーブル１０８ａには何も登録されていない。
以上の仮定のもとで、本実施形態によれば、次のようにして継承管理テーブル１０８の内容は動的に変化する。
【０２２５】
例えばユーザＵからの入力にしたがって、保護文書Ｄ２１からのデータＡのコピーが要求される。すると、共有メモリ１０４には、データＡと文書ＩＤ「Ｄ２１」が関連づけら
れて格納される。
【０２２６】
そして、ユーザＵからの入力にしたがって、非保護文書Ｄ２２へのデータＡの貼り付けが要求されると、新たな文書ＩＤ「Ｄ２２」が発行される。また、継承管理テーブル１０８ｂのように、「開いている文書のＩＤ」と「コピー元文書のＩＤ」の組として、文書ＩＤ「Ｄ２２」と「Ｄ２１」の組が登録される。
【０２２７】
さらに、ユーザＵからの入力にしたがって、保護文書Ｄ２３からのデータＢのコピーが要求される。すると、共有メモリ１０４には、データＢと文書ＩＤ「Ｄ２３」が関連づけられて格納される。
【０２２８】
そして、ユーザＵからの入力にしたがって、非保護文書Ｄ２２へのデータＢの貼り付けが要求される。すると、継承管理テーブル１０８ｃのように、「開いている文書のＩＤ」列の文書ＩＤ「Ｄ２２」に、さらに「コピー元文書のＩＤ」として文書ＩＤ「Ｄ２３」が関連づけられて登録される。
【０２２９】
さらにユーザＵからの入力にしたがって、保護文書Ｄ２４へのデータＢの貼り付けが要求される。すると、継承管理テーブル１０８ｄのように、文書ＩＤ「Ｄ２４」と「Ｄ２３」の組がさらに登録される。
【０２３０】
また、保護すべきデータＡとＢを含む非保護文書Ｄ２２からの、データＣのコピーが要求される。すると、共有メモリ１０４には、データＣと文書ＩＤ「Ｄ２１」および「Ｄ２３」とが関連づけられて格納される。データＣに関連づけられる文書ＩＤ「Ｄ２１」および「Ｄ２３」は、継承管理テーブル１０８ｄにおいて文書ＩＤ「Ｄ２２」に関連づけられているものである。
【０２３１】
なお、図１０ではデータＢとＣの一部が重複しているが、データＣは非保護文書Ｄ２２内の任意のデータである。たとえデータＣが、データＡとＢのいずれとも重複しない場合であっても、本実施形態によれば、継承管理テーブル１０８ｄに基づいて、共有メモリ１０４では、文書ＩＤ「Ｄ２１」と「Ｄ２３」がデータＣに関連づけられる。
【０２３２】
つまり、本実施形態によれば、データＡとＢが貼り付けられた後は、非保護文書Ｄ２２からのいかなるデータのコピーも、保護文書Ｄ２１およびＤ２３からの間接的な再利用の可能性があると見なされる。そして、保護文書からの間接的な再利用の可能性がある場合は常に、アクセス権の継承が行われる。
【０２３３】
そして、ユーザＵからの入力にしたがって、データＣの非保護文書Ｄ２５への貼り付けが要求されると、新たな文書ＩＤ「Ｄ２５」が発行される。また、継承管理テーブル１０８ｅのように、「開いている文書のＩＤ」列には新たに文書ＩＤ「Ｄ２５」が登録され、対応する「コピー元文書のＩＤ」列には、データＣに対応づけられた文書ＩＤ「Ｄ２１」と「Ｄ２３」が登録される。
【０２３４】
さらにユーザＵからの入力にしたがって、データＣの保護文書Ｄ２６への貼り付けが要求される。すると、継承管理テーブル１０８ｆのように、「開いている文書のＩＤ」列には新たに文書ＩＤ「Ｄ２６」が登録され、対応する「コピー元文書のＩＤ」列には、データＣに対応づけられた文書ＩＤ「Ｄ２１」と「Ｄ２３」が登録される。
【０２３５】
この後、保護文書Ｄ２４およびＤ２６、ならびに非保護文書Ｄ２２およびＤ２５が保存される際には、継承管理テーブル１０８ｆに基づいたアクセス権の継承が行われる。
以上第１実施形態について詳細に説明したが、図６の処理と図７〜図９の処理の共通点
をまとめると以下のとおりである。
【０２３６】
すなわち、暗号化された電子文書である保護文書には、ユーザ別のアクセス権を表すアクセス権情報によりアクセス権が設定されている。また、アクセス権情報は文書ＩＤと関連づけられてアクセス権管理テーブル３０１に格納されている。
【０２３７】
そして、アプリケーション監視部１０６は、保護文書である第１の文書に含まれる内容が第２の文書において再利用される場合に行われる１つ以上の処理を監視して捕捉する捕捉手段として機能する。
【０２３８】
例えば、図６の処理では、第１の電子文書をコピーして第２の電子文書として保存することに伴う処理として、文書コピー完了報告が監視される。
また、図７の処理では、第１の電子文書が含むデータの共有メモリ１０４への書き込みに伴う処理として、データコピー要求に対するコピーの完了報告が監視される。また、図８の処理では、共有メモリ１０４に格納されたデータの第２の電子文書への書き込みに伴う処理として、貼り付け要求が監視される。そして、図９の処理では、第２の電子文書の保存に伴う処理として、保存要求が監視される。
【０２３９】
処理の種類によっては、１つの処理が捕捉されただけでは保護文書からの情報の再利用が確定しない。例えば、データコピー要求が生じたとしても、コピーされたデータが再利用されるとは限らない。
【０２４０】
よって、捕捉手段としてのアプリケーション監視部１０６が複数の処理の組を監視することで、保護文書からの情報の再利用が確定したことをアクセス制御部１０５が認識することができる場合もある。
【０２４１】
保護文書からの情報の再利用が確定したことを示すような１つまたは複数の処理が捕捉されると、ファイル保存制御部１１０は設定手段として機能する。すなわち、ファイル保存制御部１１０は、アクセス権管理テーブル３０１のアクセス権情報を更新することにより、第１の電子文書の第１のアクセス権に基づく第２のアクセス権を第２の電子文書に設定する。
【０２４２】
式（２）および式（３）のように、第２のアクセス権は、第１のアクセス権を継承しており、第１のアクセス権と同等か第１のアクセス権より強く制限されている。また、既に元の第２のアクセス権が第２の電子文書に設定されている場合は、第２のアクセス権は、元の第２のアクセス権と同等か元の第２のアクセス権より強く制限されてもいる。
【０２４３】
また、ファイル保存制御部１１０は、第２の電子文書を暗号化して保存する保存制御手段としても機能する。
続いて、図１１〜図１４を参照して第２実施形態について説明する。第１実施形態との共通点については説明を適宜省略する。
【０２４４】
図１１は、第２実施形態のシステム構成図である。第１実施形態に関する図１におけるネットワーク２００、アクセス権管理サーバ３００、およびアクセス権管理テーブル３０１は、図１１にはない。なぜなら、第１実施形態においてアクセス権管理テーブル３０１に格納されているアクセス権情報は、第２実施形態では、保護文書のヘッダ領域に格納されるからである。
【０２４５】
なお、保護文書のヘッダ領域は、保護文書のデータ領域と物理的に隣接して文書格納領域１０１に格納されていてもよく、データ領域とは物理的に離れて文書格納領域１０１に
格納されていてもよい。例えば、ＯＳ１０２によって提供されるファイルシステムに応じて、代替データストリームまたはリソースフォークなどを保護文書のヘッダ領域として利用することが可能である。
【０２４６】
すなわち、第１実施形態では、アクセス権情報はアクセス権管理テーブル３０１で集中管理されているが、第２実施形態では、アクセス権情報は文書格納領域１０１に分散して格納されている。第２実施形態のコンピュータ１００は、スタンドアロンでアクセス権の継承を行うことができる。
【０２４７】
また、第２実施形態ではアクセス権管理サーバ３００を利用しないので、ＯＳ１０２が提供するファイルシステム上で文書を識別するための文書索引情報と文書ＩＤとの関係は、制御部１０７が管理する。例えば、制御部１０７は、文書格納領域１０１を実現するのと同じ不揮発性の記憶装置に記憶された不図示のテーブルを用いて、文書索引情報と文書ＩＤとの関係を管理する。また、文書ＩＤの発行も制御部１０７が行う。
【０２４８】
また、制御部１０７内の各部は、第１実施形態では文書ＩＤをアクセス権管理サーバ３００に問い合わせることがあるが、第２実施形態では、制御部１０７が備える上記の不図示のテーブルを参照することで、文書索引情報から文書ＩＤを認識することができる。
【０２４９】
さらに、制御部１０７内の各部は、第１実施形態ではアクセス権管理サーバ３００を介してアクセス権管理テーブル３０１の参照および更新を行っている。しかし、第２実施形態では、制御部１０７内の各部は、アクセス権管理サーバ３００を介さずに、文書格納領域１０１に分散されたアクセス権情報を参照したり更新したりする。
【０２５０】
図１２は、第２実施形態において文書に格納されるアクセス権情報の一例を示す図である。図１２のアクセス権情報４０１は、ユーザＩＤまたはグループＩＤと、アプリケーションＩＤと、権限との組み合わせで表されている。
【０２５１】
第１実施形態の図５と比較すると、図１２では図５の「文書ＩＤ」列が削除されている。また、図５のアクセス権管理テーブル３０１は複数の文書に対応するアクセス権情報を含むのに対し、図１２では１つの文書に対応するアクセス権情報４０１のみが示されている。しかし、それ以外の点では、図１２と図５は同様である。
【０２５２】
図５との違いの理由は、図１２のアクセス権情報４０１は個々の保護文書のヘッダ領域に格納されるので、どの保護文書と対応するかを明示する必要がないためである。
図１３は、第２実施形態において文書全体をコピーするときのフローチャートである。図１３の処理は第１実施形態の図６の処理と類似なので、適宜説明を省略する。
【０２５３】
ステップＳ５０１において、ＧＵＩやＣＬＩを介してＯＳ１０２に対する文書コピー要求が発生する。
次のステップＳ５０２で、ＯＳ１０２は、文書コピー要求にしたがって文書をコピーし、コピーが完了したことをアプリケーション１０３に報告する。アプリケーション監視部１０６は文書コピー完了報告を捕捉して横取りし、ファイル保存制御部１１０に通知する。
【０２５４】
そして、ステップＳ５０３でファイル保存制御部１１０は、ステップＳ５０２で捕捉された文書コピー完了報告が保護文書に関するものか否かを判定する。判定は、コピー元文書のヘッダ領域に図１２のようなアクセス権情報４０１が格納されているか否かをファイル保存制御部１１０が調べることにより行われる。
【０２５５】
本実施形態において文書コピー完了報告には、コピー元文書とコピー先文書をそれぞれ識別する文書索引情報が含まれるので、ファイル保存制御部１１０はコピー元文書のヘッダ領域を参照することができる。あるいは、アプリケーション監視部１０６は、ステップＳ５０１で文書コピー要求を監視して捕捉することにより、コピー元文書とコピー先文書それぞれの文書索引情報を認識してもよい。
【０２５６】
そこで、ステップＳ５０３においてファイル保存制御部１１０は、コピー元文書のヘッダ領域を参照し、そこにアクセス権情報４０１が格納されていればコピー元文書が保護文書であると判断し、処理はステップＳ５０４に移行する。コピー元文書のヘッダ領域にアクセス権情報４０１が格納されていなければ、ファイル保存制御部１１０は、コピー元文書が非保護文書であると判断し、処理はステップＳ５０５に移行する。
【０２５７】
ステップＳ５０４でファイル保存制御部１１０は、コピー先文書、すなわちステップＳ５０２のコピーにより新たに作成された文書を保護形式化する。
また、ステップＳ５０４でファイル保存制御部１１０は、コピー先文書に新たな文書ＩＤを発行してコピー先文書の文書索引情報と新たな文書ＩＤとを関連づけて管理するよう制御部１０７に要求する。制御部１０７は、要求にしたがって新たな文書ＩＤを発行してコピー先文書の文書索引情報と関連づけ、発行した文書ＩＤをファイル保存制御部１１０に通知する。
【０２５８】
さらに、ファイル保存制御部１１０は、コピー元文書のヘッダ領域を参照してコピー元文書のアクセス権情報４０１を取得し、取得したアクセス権情報４０１をコピー先文書のアクセス権情報としてコピー先文書のヘッダ領域に格納する。
【０２５９】
最後に、ステップＳ５０５では、ファイル保存制御部１１０が、ステップＳ５０２で捕捉した文書コピー完了報告の宛先のＧＵＩ、ＣＬＩ、あるいはその他のプロセスに、コピーの完了を報告する。そして、図１３の処理は終了する。
【０２６０】
続いて、第２実施形態において文書中のデータをコピーするときにアクセス制御部１０５が行う処理について説明する。文書中のデータをコピーするときにアクセス制御部１０５が行う処理は、第１実施形態の図７の処理と類似している。違いは、図７のステップＳ２０３の代わりに第２実施形態では以下の処理が行われる点である。
【０２６１】
すなわち、第２実施形態では、書き込み制御部１１２は、コピー元文書が保護文書か否かを、コピー元文書のヘッダ領域を参照して判定する。ヘッダ領域にアクセス権情報４０１が格納されていればコピー元文書は保護文書であり、ヘッダ領域にアクセス権情報４０１が格納されていなければコピー元文書は非保護文書である。なお、第２実施形態では、コピー元文書が保護文書の場合、書き込み制御部１１２は制御部１０７からコピー元文書の文書ＩＤを取得する。
【０２６２】
次に、第２実施形態において文書にデータを貼り付けるときにアクセス制御部１０５が行う処理について説明する。文書にデータを貼り付けるときにアクセス制御部１０５が行う処理は、第１実施形態の図８の処理と類似している。違いは、図８のステップＳ３０３、Ｓ３０６、およびＳ３０７の代わりに第２実施形態では以下の処理が行われる点である。
【０２６３】
第１実施形態のステップＳ３０３の判断は、貼り付け制御部１１３がアクセス権管理テーブル３０１を参照することにより行われる。それに対し、第２実施形態では、貼り付け制御部１１３は、アクセス権管理テーブル３０１の代わりに、共有メモリ１０４上のデータに関連づけられた１つ以上文書ＩＤが割り当てられている各文書のヘッダ領域のアクセ
ス権情報４０１を参照する。
【０２６４】
また、貼り付け制御部１１３は、コピー先文書に対して既に文書ＩＤが発行されているか否かを、ステップＳ３０６ではアクセス権管理サーバ３００に問い合わせるが、第２実施形態では制御部１０７に問い合わせる。
【０２６５】
さらに、ステップＳ３０７ではアクセス権管理サーバ３００が文書ＩＤを発行するが、第２実施形態では制御部１０７が文書ＩＤを発行する。
続いて、第２実施形態において文書を保存するときにアクセス制御部１０５が行う処理について説明する。図１４は、第２実施形態において文書を保存するときのフローチャートである。図１４のうち、第１実施形態の図９と同様の部分については、適宜説明を省略する。
【０２６６】
ステップＳ６０１において、アプリケーション１０３は、現在開いている文書（すなわち対象文書）の保存をＯＳ１０２に要求する。アプリケーション監視部１０６は、保存要求を捕捉し、捕捉した保存要求をファイル保存制御部１１０に通知する。
【０２６７】
次にステップＳ６０２でファイル保存制御部１１０は、対象文書が、図４の継承管理テーブル１０８の「開いている文書のＩＤ」列に文書ＩＤが登録された文書であるか否かを判断する。すなわち、ファイル保存制御部１１０は、文書索引情報と文書ＩＤの関連づけを管理する制御部１０７に、対象文書に対して文書ＩＤが発行済みであるか否かを問い合わせ、文書ＩＤが発行済みならば文書ＩＤを取得する。
【０２６８】
対象文書に対して文書ＩＤが発行されていない場合、処理はステップＳ６０３に移行する。また、対象文書に対して文書ＩＤが発行済みだが、対象文書の文書ＩＤが継承管理テーブル１０８の「開いている文書のＩＤ」列に登録されていない場合も、処理はステップＳ６０３に移行する。
【０２６９】
逆に、対象文書に対して文書ＩＤが発行済みであり、かつ、対象文書の文書ＩＤが継承管理テーブル１０８の「開いている文書のＩＤ」列に登録されている場合、処理はステップＳ６０６に移行する。
【０２７０】
ステップＳ６０３以降の処理は、対象文書が今回アプリケーション１０３によって開かれて以降は、保護文書からのデータの再利用が生じていない場合、すなわち、新たなアクセス権の継承が生じない場合に実行される。
【０２７１】
ステップＳ６０３でファイル保存制御部１１０は、第１実施形態の図９のステップＳ４０３と同様の方法により、対象文書が保護文書であるか否かを判断する。ステップＳ６０３において、対象文書が保護文書であるとファイル保存制御部１１０が判断すると、処理はステップＳ６０４に移行する。
【０２７２】
ファイル保存制御部１１０は、ステップＳ６０４において対象文書を保護形式化し、続いてステップＳ６０５において、保護形式化した対象文書を文書格納領域１０１に保存し、アプリケーション１０３に保存完了を報告する。そして、図１４の処理が終了する。
【０２７３】
また、ステップＳ６０３において、対象文書が非保護文書であるとファイル保存制御部１１０が判断すると、続いてファイル保存制御部１１０はステップＳ６０５で対象文書を文書格納領域１０１に保存し、アプリケーション１０３に保存完了を報告する。そして、図１４の処理が終了する。
【０２７４】
ステップＳ６０６以降の処理は、対象文書の文書ＩＤが継承管理テーブル１０８の「開いている文書のＩＤ」列に登録されている場合、すなわち、新たなアクセス権の継承が必要な場合に実行される。第１実施形態のステップＳ４０６と同様に、ファイル保存制御部１１０は、ステップＳ６０６において対象文書を保護形式化する。
【０２７５】
そして、ステップＳ６０７において、ファイル保存制御部１１０は、今回アプリケーション１０３によって開かれるときまでは対象文書が非保護文書であったか否かを判断する。すなわち、ファイル保存制御部１１０は、対象文書のヘッダ領域を参照し、ヘッダ領域にアクセス権情報４０１が格納されていれば対象文書が保護文書であると判断し、そうでなければ対象文書は非保護文書であると判断する。
【０２７６】
対象文書が既に保護文書であった場合は、処理はステップＳ６０９に移行し、現状では対象文書が非保護文書である場合には、処理はステップＳ６０８に移行する。
ステップＳ６０８において、ファイル保存制御部１１０は、保存しようとする対象文書に関連づけられた継承管理テーブル１０８上の情報を反映したアクセス権情報４０１を生成する。そして、ファイル保存制御部１１０は、生成したアクセス権情報４０１を対象文書に付加する。すなわち、ファイル保存制御部１１０は、対象文書のヘッダ領域にアクセス権情報４０１を格納する。
【０２７７】
ステップＳ６０８でファイル保存制御部１１０がアクセス権情報４０１を生成する方法は、第１実施形態のステップＳ４０８と同様である。例えば、ファイル保存制御部１１０は式（２）を用いて「ＡＮＤ条件」にしたがってアクセス権情報４０１を生成する。さらに、第１実施形態と同様に、ステップＳ６０８においてファイル保存制御部１１０は、アクセス権情報４０１に反映した継承管理テーブル１０８の情報を削除する。
【０２７８】
また、ステップＳ６０７において対象文書が既に保護文書であったと判断した場合、ファイル保存制御部１１０はステップＳ６０９の処理を実行する。すなわち、ファイル保存制御部１１０は、保存しようとする対象文書に関連づけられた継承管理テーブル１０８上の情報を、対象文書のヘッダ領域に格納されているアクセス権情報４０１に反映する。例えば、ファイル保存制御部１１０は第１実施形態と同じ式（３）を用いて、「ＡＮＤ条件」にしたがってアクセス権情報４０１を更新する。そして、第１実施形態と同様に、ステップＳ６０９においてファイル保存制御部１１０は、アクセス権情報４０１に反映した継承管理テーブル１０８の情報を削除する。
【０２７９】
ステップＳ６０８またはＳ６０９の実行後、ファイル保存制御部１１０は、ステップＳ６０６で保護形式化した対象文書を文書格納領域１０１に保存してアプリケーション１０３に保存完了を報告し、図１４の処理は終了する。
【０２８０】
以上説明した第２実施形態も、第１実施形態と同様に、ユーザに負担をかけることなく確実にアクセス権の継承を実現して情報の漏洩を防ぐことができるという効果を奏する。さらに、第２実施形態によれば、コンピュータ１００単独でアクセス権の継承を実現することもできる。
【０２８１】
続いて、図１５〜図２０を参照して第３実施形態について説明する。第１実施形態との共通点については説明を適宜省略する。
第３実施形態は、コピー元文書のアクセス権が変更されたとき、コピー元文書の新たなアクセス権を、コピー先文書のアクセス権にも反映させる実施形態である。また、後述するように、第３実施形態においてアクセス権の反映は、連鎖的に繰り返される。すなわち、アクセス権の継承における親の文書のアクセス権が変更されると、子の文書だけではなく、すべての子孫の文書において連鎖的にアクセス権が変更される。
【０２８２】
第３実施形態におけるシステム構成は、第１実施形態の図１とほぼ同様である。ただし、第１実施形態のアクセス権管理テーブル３０１は図５のように構成されているが、第３実施形態のアクセス権管理テーブル３０１ｂは図１５のように構成されている。
【０２８３】
図１５は、第３実施形態のアクセス権管理テーブルの一例を示す図である。図１５のアクセス権管理テーブル３０１ｂは、「コピー元文書ＩＤ」列がある点で図５と異なる。それ以外の「文書ＩＤ」、「ユーザＩＤまたはグループＩＤ」、「保護文書を扱えるアプリケーションＩＤ」、「権限」という４列に関しては、図５と同様なので説明を省略する。「コピー元文書ＩＤ」列は、アクセス権の連鎖的な反映を実現するために設けられている。
【０２８４】
図１５において、「文書ＩＤ」列の文書ＩＤには、「コピー元文書ＩＤ」列の文書ＩＤのリストが関連づけられている。「コピー元文書ＩＤ」列の文書ＩＤのリストは、空の場合もあり、１つの文書ＩＤのみを含む場合もあり、複数の文書ＩＤを含む場合もある。
【０２８５】
図１５の例では、「文書ＩＤ」列の「ＤＯＣ１」に、「ＤＯＣ２」と「ＤＯＣ５」を含む「コピー元文書ＩＤ」列のリストが関連づけられており、以下の（ｇ１）と（ｇ２）を表している。
【０２８６】
（ｇ１）保護文書ＤＯＣ２から直接的に文書ＤＯＣ１へとデータが再利用された。または、１つ以上の非保護文書を介して間接的に保護文書ＤＯＣ２の内容が文書ＤＯＣ１において再利用された可能性がある（つまり、保護文書ＤＯＣ２は保護文書ＤＯＣ１の間接的なコピー元文書である）。
【０２８７】
（ｇ２）保護文書ＤＯＣ５から直接的に文書ＤＯＣ１へとデータが再利用された。または、１つ以上の非保護文書を介して間接的に保護文書ＤＯＣ５の内容が文書ＤＯＣ１において再利用された可能性がある（つまり、保護文書ＤＯＣ５は保護文書ＤＯＣ１の間接的なコピー元文書である）。
【０２８８】
なお、「コピー元文書ＩＤ」列に空リストが登録されるのは、他の保護文書から再利用したデータを含まない場合である。「コピー元文書ＩＤ」列がどのようにして設定されるかは、図１６および図１７とともに後述する。上記（ｇ１）と（ｇ２）のとおり、「文書ＩＤ」列と「コピー元文書ＩＤ」列の組み合わせは、図４の継承管理テーブル１０８で管理される第１の継承管理情報と類似の第２の継承管理情報の例である。ただし、継承管理テーブル１０８は文書が開かれている間だけ動的に作成されて書き換えられるのに対し、アクセス権管理テーブル３０１ｂは文書が開かれていなくても不揮発性メモリに保持されている。
【０２８９】
図１６は、第３実施形態において文書全体をコピーするときのフローチャートである。図１６の処理は、第１実施形態の図６の処理と類似しているので、共通点の説明は適宜省略する。
【０２９０】
ステップＳ７０１において、ＯＳ１０２に対する文書コピー要求が発生する。
次のステップＳ７０２で、ＯＳ１０２は文書コピー要求にしたがって文書をコピーし、コピーが完了したことをアプリケーション１０３に報告する。すると、アプリケーション監視部１０６が文書コピー完了報告を捕捉して横取りし、ファイル保存制御部１１０に通知する。
【０２９１】
そして、ステップＳ７０３でファイル保存制御部１１０は、ステップＳ７０２で捕捉さ
れた文書コピー完了報告が保護文書に関するものか否かを、アクセス権管理テーブル３０１ｂを参照することにより判定する。判定の方法の詳細は、第１実施形態のステップＳ１０３と同様である。
【０２９２】
コピー元文書が保護文書の場合、処理はステップステップＳ７０３からステップＳ７０４に移行し、コピー元文書が非保護文書の場合、処理はステップＳ７０３からステップＳ７０５に移行する。
【０２９３】
ステップＳ７０４でファイル保存制御部１１０は、コピー先文書を保護形式化する。
また、ステップＳ７０４でファイル保存制御部１１０は、コピー先文書に新たな文書ＩＤを発行してコピー先文書の文書索引情報と新たな文書ＩＤとを関連づけて管理するようアクセス権管理サーバ３００に要求する。アクセス権管理サーバ３００は、要求にしたがって新たな文書ＩＤを発行してコピー先文書の文書索引情報と関連づけ、発行した文書ＩＤをファイル保存制御部１１０に通知する。
【０２９４】
また、ファイル保存制御部１１０は、アクセス権管理サーバ３００を介して、コピー先文書用の新規の文書ＩＤとコピー元文書の文書ＩＤとを関連づけてアクセス権管理テーブル３０１ｂに登録し、コピー元文書のアクセス権をコピー先文書にも付加する。すなわち、ファイル保存制御部１１０は、アクセス権管理サーバ３００に、下記（ｈ１）〜（ｈ３）のように設定された新たなエントリをアクセス権管理テーブル３０１ｂに追加するよう要求し、アクセス権管理サーバ３００は要求にしたがう。
【０２９５】
（ｈ１）「文書ＩＤ」列は、コピー先文書の文書ＩＤ
（ｈ２）「コピー元文書ＩＤ」列は、コピー元文書の文書ＩＤのみからなるリスト
（ｈ３）他の３列は、「文書ＩＤ」列にコピー元文書の文書ＩＤが登録されたエントリのコピー
そして、最後にステップＳ７０５では、ファイル保存制御部１１０が、ステップＳ７０２で捕捉された文書コピー完了報告の宛先のＧＵＩ、ＣＬＩ、あるいはその他のプロセスに、コピーの完了を報告する。そして、図１６の処理は終了する。
【０２９６】
次に、第３実施形態において文書中のデータをコピーするときの処理について説明する。文書中のデータをコピーするときの処理は、第１実施形態の図７の処理と類似している。違いは、図７のステップＳ２０４において書き込み制御部１１２が保護形式化したデータに関連づけて共有メモリ１０４上に書き込む内容である。すなわち、書き込み制御部１１２は、第３実施形態では、コピー元文書の文書ＩＤのみを共有メモリ１０４にコピーして、保護形式化したデータと関連づける。
【０２９７】
第１実施形態では、適切なアクセス権の継承を実現するために、保護文書において１つ以上の他の保護文書または非保護文書を介して間接的に再利用したデータに関して、間接的なコピー元文書を管理する必要がある。そのため、ステップＳ２０４で書き込み制御部１１２は、継承管理テーブル１０８から取得した文書ＩＤも、保護形式化したデータに関連づけている。
【０２９８】
しかし、第３実施形態では、後述の図１８の処理によって、間接的なコピー元文書のアクセス権を適切に継承することができる。そのため、第３実施形態ではステップＳ２０４では継承管理テーブル１０８の参照が省略され、コピー元文書の文書ＩＤのみがデータと関連づけられる。
【０２９９】
なお、第３実施形態において文書にデータを貼り付けるときの処理は、第１実施形態の図８の処理と同様なので説明を省略する。
図１７は、第３実施形態において文書を保存するときのフローチャートである。第１実施形態の図９の処理と同様の部分については、適宜説明を省略する。
【０３００】
ステップＳ８０１において、アプリケーション１０３は、対象文書の保存要求をＯＳ１０２に対して発する。また、アプリケーション監視部１０６が保存要求を捕捉する。
次のステップＳ８０２でファイル保存制御部１１０は、対象文書が、図４の継承管理テーブル１０８の「開いている文書のＩＤ」列に文書ＩＤが登録された文書であるか否かを判断する。
【０３０１】
対象文書に対して文書ＩＤが発行されていない場合、処理はステップＳ８０３に移行する。また、対象文書に対して文書ＩＤが発行済みだが、対象文書の文書ＩＤが継承管理テーブル１０８の「開いている文書のＩＤ」列に登録されていない場合も、処理はステップＳ８０３に移行する。
【０３０２】
逆に、対象文書に対して文書ＩＤが発行済みであり、かつ、対象文書の文書ＩＤが継承管理テーブル１０８の「開いている文書のＩＤ」列に登録されている場合、処理はステップＳ８０６に移行する。
【０３０３】
ステップＳ８０３以降の処理は、対象文書が今回アプリケーション１０３によって開かれて以降は、保護文書からのデータの再利用が生じていない場合、すなわち、新たなアクセス権の継承が生じない場合に実行される。ステップＳ８０３でファイル保存制御部１１０は、対象文書が保護文書であるか否かを判断する。
【０３０４】
ステップＳ８０３において、対象文書が保護文書であるとファイル保存制御部１１０が判断すると、処理はステップＳ８０４に移行する。ファイル保存制御部１１０は、ステップＳ８０４において対象文書を保護形式化する。続いて、ファイル保存制御部１１０は、ステップＳ８０５において、保護形式化した対象文書を文書格納領域１０１に保存してアプリケーション１０３に保存完了を報告する。そして、図１７の処理が終了する。
【０３０５】
他方、ステップＳ８０３において、対象文書が非保護文書であるとファイル保存制御部１１０が判断すると、処理はステップＳ８０５に移行する。ステップＳ８０５では、ファイル保存制御部１１０が対象文書を文書格納領域１０１に保存してアプリケーション１０３に保存完了を報告し、図１７の処理が終了する。
【０３０６】
ステップＳ８０６以降の処理は、新たなアクセス権の継承が必要な場合に実行される。したがって、ステップＳ８０６においてファイル保存制御部１１０は、対象文書を保護形式化する。
【０３０７】
そして、ステップＳ８０７でファイル保存制御部１１０は、今回アプリケーション１０３によって開かれるときまでは対象文書が非保護文書であったか否かを、第１実施形態のステップＳ４０７と同様の方法により判断する。対象文書が既に保護文書であった場合、処理はステップＳ８０９に移行し、対象文書が現在は非保護文書の場合、処理はステップＳ８０８に移行する。
【０３０８】
ステップＳ８０８においてファイル保存制御部１１０は、アクセス権管理サーバ３００を介して、アクセス権管理テーブル３０１ｂの「文書ＩＤ」列に対象文書を新規登録する。また、ファイル保存制御部１１０は、アクセス権管理サーバ３００を介して、アクセス権管理テーブル３０１ｂにおいて、「文書ＩＤ」列に新たに登録された対象文書の文書ＩＤと関連づけて「コピー元文書ＩＤ」列のリストを設定する。
【０３０９】
すなわち、ファイル保存制御部１１０は、図４の継承管理テーブル１０８において「開いている文書のＩＤ」列に登録された対象文書の文書ＩＤと関連づけられて「コピー元文書のＩＤ」列に登録されている１つ以上の文書ＩＤを取得する。そして、アクセス権管理サーバ３００を介してファイル保存制御部１１０は、図１５のアクセス権管理テーブル３０１ｂにおいて、新規登録した対象文書の文書ＩＤに関連づけて、取得した文書ＩＤからなるリストを「コピー元文書ＩＤ」列に登録する。
【０３１０】
さらに、ファイル保存制御部１１０は、第１実施形態のステップＳ４０８と同様の方法により、保存しようとする対象文書に関連づけられた継承管理テーブル１０８の「コピー元文書のＩＤ」列の情報をアクセス権管理テーブル３０１ｂに反映する。すなわち、ファイル保存制御部１１０は、第１実施形態と同様に「ＡＮＤ条件」などの所定の条件にしたがって対象文書に関連づけるべき新たなアクセス権情報を生成する。そして、ファイル保存制御部１１０は、アクセス権管理サーバ３００を介してアクセス権管理テーブル３０１ｂに、生成したアクセス権情報を対象文書の文書ＩＤと関連づけて登録する。
【０３１１】
さらに、第１実施形態と同様に、ステップＳ８０８においてファイル保存制御部１１０は、アクセス権管理テーブル３０１ｂに反映した継承管理テーブル１０８の情報を削除する。
【０３１２】
また、ステップＳ８０７において対象文書が既に保護文書であったと判断された場合、ファイル保存制御部１１０はステップＳ８０９の処理を実行する。すなわち、ファイル保存制御部１１０は、対象文書の文書ＩＤに関連づけられて継承管理テーブル１０８の「コピー元文書のＩＤ」列に登録されている１つ以上の文書ＩＤを取得する。そして、ファイル保存制御部１１０はアクセス権管理サーバ３００を介して、アクセス権管理テーブル３０１ｂにおいて対象文書の文書ＩＤに関連づけられている「コピー元文書ＩＤ」列のリストに、取得した文書ＩＤを追加する。
【０３１３】
さらに、ファイル保存制御部１１０は、第１実施形態のステップＳ４０９と同様にして、保存しようとする対象文書に関連づけられた継承管理テーブル１０８上の情報を、アクセス権管理テーブル３０１ｂに反映する。また、ファイル保存制御部１１０は、第１実施形態と同様に、アクセス権管理テーブル３０１ｂに反映した継承管理テーブル１０８の情報を削除する。
【０３１４】
ステップＳ８０８またはＳ８０９の実行後、処理はステップＳ８０５に移行する。ステップＳ８０５においてファイル保存制御部１１０は、ステップＳ８０６で保護形式化した対象文書を文書格納領域１０１に保存してアプリケーション１０３に保存官僚を報告し、図１７の処理は終了する。
【０３１５】
続いて、第３実施形態におけるアクセス権の連鎖的な変更について、図１８〜図２０を参照して説明する。
図１８は、第３実施形態においてアクセス権を連鎖的に変更する処理のフローチャートである。
【０３１６】
ステップＳ９０１で、文書ＩＤがｉの文書のアクセス権の設定が変更される。ステップＳ９０１の「変更」は、例えば、下記（ｉ１）〜（ｉ３）を含む。
（ｉ１）既存の保護文書ｉに関してアクセス権管理テーブル３０１ｂに登録されているアクセス権情報が、図１７のステップＳ８０９において変更される。
【０３１７】
（ｉ２）非保護文書ｉが、図１７のステップＳ８０８において新たに保護文書としてアクセス権管理テーブル３０１ｂに登録されることで、アクセス権が未設定の状態からアク
セス権が設定された状態に変化する。
【０３１８】
（ｉ３）新たな保護文書ｉが図１６の処理によって作成され、アクセス権管理テーブル３０１ｂに登録される。
（ｉ１）〜（ｉ３）はいずれもファイル保存制御部１１０による変化である。例えば、本実施形態では、ファイル保存制御部１１０を実現するためのプログラムにおいて、アクセス権管理サーバ３００を介してアクセス権管理テーブル３０１ｂを更新するためのプロシージャには図１８の処理の呼び出しが含まれる。したがって、確実にアクセス権の連鎖的な変更が行われる。
【０３１９】
ステップＳ９０２では、ファイル保存制御部１１０が、文書ｉが既存の保護文書か否かを判断する。そして、（ｉ１）の場合は、文書ｉが既存の保護文書なので処理がステップＳ９０３に移行する。（ｉ２）と（ｉ３）の場合は、文書ｉは既存の保護文書ではなく、図１８の処理の直前に保護形式化されたものである。この場合、文書ｉのアクセス権を継承すべき他の文書は現段階では存在しないので、図１８の処理が終了する。
【０３２０】
ステップＳ９０３以降においてファイル保存制御部１１０は、「変更済み文書リスト」および「未変更文書リスト」と名付けた２つのリストを利用する。ファイル保存制御部１１０は、２つのリストを利用することで、複数の文書が循環的にデータを再利用しあう関係にある場合にも対処しつつ、アクセス権を連鎖的に変更することができる。
【０３２１】
変更済み文書リストは、保護文書ｉのアクセス権の変更に応じてアクセス権を変更すべき保護文書のうち、既にアクセス権の変更が済んでいるもののリストである。未変更文書リストは、処理の進行にしたがって、保護文書ｉのアクセス権の変更に応じてアクセス権を変更すべき保護文書であることが判明したが、まだアクセス権の変更が済んでいないもののリストである。
【０３２２】
ステップＳ９０３でファイル保存制御部１１０は、変更済み文書リストを初期化する。すなわち、ファイル保存制御部１１０は、ｉという文書ＩＤのみを有する変更済み文書リストを作成する。
【０３２３】
次に、ステップＳ９０４でファイル保存制御部１１０は、文書ｉの情報を再利用している他の文書の文書ＩＤで、未変更文書リストを初期化する。具体的には、ファイル保存制御部１１０は、空リストを未変更文書リストとして作成し、ｉという文書ＩＤをキーにして図１５のアクセス権管理テーブル３０１ｂの「コピー元文書ＩＤ」列のリストを検索する。そして、ファイル保存制御部１１０は、ｉという文書ＩＤを含むリストと関連づけられた「文書ＩＤ」列の文書ＩＤをすべて未変更文書リストに追加する。
【０３２４】
ステップＳ９０３とＳ９０４の初期化の後、ファイル保存制御部１１０はステップＳ９０５〜Ｓ９１１を繰り返し実行する。
ステップＳ９０５において、ファイル保存制御部１１０は未変更文書リストが空か否かを判定する。未変更文書リストが空ならば図１８の処理は終了し、未変更文書リストが空でなければ処理はステップＳ９０６に移行する。
【０３２５】
ステップＳ９０６において、ファイル保存制御部１１０は、未変更文書リストから１つの文書ＩＤを取り出す。本実施形態では、ファイル保存制御部１１０は、未変更文書リストの先頭の文書ＩＤを取り出す。以下では、ステップＳ９０６で取り出した文書ＩＤをｐとする。
【０３２６】
次にステップＳ９０７において、ファイル保存制御部１１０は、アクセス権管理サーバ
３００を介してアクセス権管理テーブル３０１ｂを参照し、「文書ＩＤ」列のｐという文書ＩＤに関連づけられた「コピー元文書ＩＤ」列の文書ＩＤを取得する。例えば、ｐ＝「ＤＯＣ１」の場合、図１５のアクセス権管理テーブル３０１ｂから、ファイル保存制御部１１０は、「コピー元文書ＩＤ」列の「ＤＯＣ２」と「ＤＯＣ５」を取得する。
【０３２７】
そして、ファイル保存制御部１１０は、取得した文書ＩＤを有する文書および文書ｐ自身のアクセス権情報を、アクセス権管理サーバ３００を介してアクセス権管理テーブル３０１ｂから取得する。例えば、ｐ＝「ＤＯＣ１」の場合、ファイル保存制御部１１０は文書ＤＯＣ２と文書ＤＯＣ５と文書ＤＯＣ１のアクセス権情報を取得する。
【０３２８】
そして、ファイル保存制御部１１０は、取得したアクセス権情報に基づいて、文書ｐに新たに設定すべきアクセス権情報を生成する。例えば、ｐ＝「ＤＯＣ１」の場合、ファイル保存制御部１１０は、取得した文書ＤＯＣ１、ＤＯＣ２、およびＤＯＣ５のアクセス権情報から、式（３）の「ＡＮＤ条件」により、文書ＤＯＣ１の新たなアクセス権情報を生成する。
【０３２９】
ファイル保存制御部１１０は、生成した文書ｐの新たなアクセス権情報を、アクセス権管理サーバ３００を介してアクセス権管理テーブル３０１ｂに上書きして設定する。
続いてファイル保存制御部１１０は、ステップＳ９０８で変更済み文書リストにｐという文書ＩＤを追加し、ステップＳ９０９で未変更文書リストからｐという文書ＩＤを削除する。
【０３３０】
そして、ステップＳ９１０でファイル保存制御部１１０は、アクセス権管理サーバ３００を介してアクセス権管理テーブル３０１ｂを参照し、文書ｐの情報を再利用している文書の文書ＩＤを取得する。つまり、ステップＳ９０４と同様の方法で、ｐという文書ＩＤをキーにしてファイル保存制御部１１０はアクセス権管理テーブル３０１ｂの「コピー元文書ＩＤ」列を検索し、対応する「文書ＩＤ」列の文書ＩＤを取得する。
【０３３１】
ステップＳ９１０の結果、文書ＩＤが１つも得られない場合もあるし、１つまたは複数の文書ＩＤが得られる場合もある。
次にステップＳ９１１においてファイル保存制御部１１０は、ステップＳ９１０で取得した文書ＩＤのうち変更済み文書リストと未変更文書リストのどちらにもないものを、未変更文書リストに追加する。本実施形態では、ファイル保存制御部１１０は、未変更文書リストの末尾に文書ＩＤを追加する。
【０３３２】
ステップＳ９１１の後、処理はステップＳ９０５に戻る。ステップＳ９０５〜Ｓ９１１が繰り返し実行されることにより、保護文書ｉのアクセス権を直接または間接に継承しているすべての保護文書のアクセス権が、保護文書ｉのアクセス権の変更に応じて連鎖的に変更される。
【０３３３】
続いて、図１８の処理の具体例を、図１９と図２０を参照して説明する。
図１９は、第３実施形態において文書間のデータ再利用の関係を示す図である。図１９（ａ）において各矢印は、コピー元文書のＩＤからコピー先文書のＩＤへ向かっている。図１９（ｂ）は、図１９（ａ）のようにデータが再利用された場合のアクセス権管理テーブル３０１ｂの例であり、「文書ＩＤ」列と「コピー元文書ＩＤ」列の関連づけは、図１９（ａ）における矢印に対応する。なお、説明の簡単化のため、図１９（ｂ）ではアクセス権管理テーブル３０１ｂのうち「ユーザＩＤまたはグループＩＤ」列、「保護文書を扱えるアプリケーションＩＤ」列、「権限」列の内容は適宜省略されている。
【０３３４】
図１９（ａ）の例では、文書Ｄ３１は他の保護文書から再利用した情報を含まない。よ
って、文書ＩＤ「Ｄ３１」を指す矢印は存在せず、図１９（ｂ）において「文書ＩＤ」列の文書ＩＤ「Ｄ３１」に関連づけられたコピー元文書ＩＤは存在しない。
【０３３５】
また、文書Ｄ３１の情報が文書Ｄ３２と文書Ｄ３４において再利用される。したがって、図１９（ｂ）のごとく、「文書ＩＤ」列の文書ＩＤ「Ｄ３２」と「Ｄ３４」には、いずれも「コピー元文書ＩＤ」列に文書ＩＤ「Ｄ３１」が関連づけられている。
【０３３６】
また、文書Ｄ３２の情報が文書Ｄ３３において再利用される。文書Ｄ３３では、さらに、文書Ｄ３４の情報も再利用されている。したがって、図１９（ｂ）のごとく、「文書ＩＤ」列の文書ＩＤ「Ｄ３３」には「コピー元文書ＩＤ」列に文書ＩＤ「Ｄ３２」と「Ｄ３４」が関連づけられている。
【０３３７】
なお、文書Ｄ３３の情報を再利用している文書は存在しないので、「コピー元文書ＩＤ」列には文書ＩＤ「Ｄ３３」は存在しない。
また、文書Ｄ３４の情報は文書Ｄ３５でも再利用されている。また、文書Ｄ３５の情報は、文書Ｄ３４で再利用されている。つまり、文書Ｄ３４と文書Ｄ３５は、互いに情報を再利用しあっており、文書Ｄ３４と文書Ｄ３５の親子関係は循環的である。この循環的な再利用は、図１９（ｂ）において、次のように表されている。すなわち、「文書ＩＤ」列の文書ＩＤ「Ｄ３４」には「コピー元文書ＩＤ」列の文書ＩＤ「Ｄ３５」が関連づけられ、「文書ＩＤ」列の文書ＩＤ「Ｄ３５」には「コピー元文書ＩＤ」列の文書ＩＤ「Ｄ３４」が関連づけられている。
【０３３８】
以上図１９を参照して説明したように情報の再利用が行われた状況において、文書Ｄ３１のアクセス権の設定が変更されるとする。すると、ファイル保存制御部１１０が図１８の処理を実行することで、文書Ｄ３２〜Ｄ３５のアクセス権も連鎖的に変更される。以下では、アクセス権が順次変更されていく経過について、図２０を参照して説明する。
【０３３９】
図２０は、第３実施形態においてアクセス権が連鎖的に変更されていく経過を示す図である。図２０は、アクセス権が変更される文書の文書ＩＤ、図１８におけるステップの番号、未変更文書リストの状態、および変更済み文書リストの状態を表形式で表している。
【０３４０】
図１８の処理が開始されるステップＳ９０１において、文書Ｄ３１のアクセス権が変更されるが、次のステップＳ９０２まで未変更文書リストと変更済み文書リストはともに空である。ステップＳ９０３で変更済み文書リストには文書ＩＤ「Ｄ３１」が追加され、ステップＳ９０４で未変更文書リストには、文書ＩＤ「Ｄ３２」と「Ｄ３４」が追加される。
【０３４１】
ステップＳ９０５で未変更文書リストが空ではないと判断され、続くステップＳ９０６〜Ｓ９１１においてはｐ＝「Ｄ３２」である。よって、ステップＳ９０７で文書Ｄ３２のアクセス権は、文書Ｄ３２自身と文書Ｄ３１にそれぞれ関連づけられたアクセス権情報に基づいて更新される。
【０３４２】
そして、ステップＳ９０８とＳ９０９によって文書ＩＤ「Ｄ３２」は未変更文書リストから変更済み文書リストへ移動する。また、文書ＩＤ「Ｄ３３」が、ステップＳ９１０で取得されてステップＳ９１１で未変更文書リストに追加される。
【０３４３】
再びステップＳ９０５で未変更文書リストが空ではないと判断され、続くステップＳ９０６〜Ｓ９１１においては、ｐ＝「Ｄ３４」である。よって、ステップＳ９０７で文書Ｄ３４のアクセス権は、文書Ｄ３４自身、文書Ｄ３１、および文書Ｄ３５のアクセス権情報に基づいて更新される。
【０３４４】
そして、ステップＳ９０８とＳ９０９によって文書ＩＤ「Ｄ３４」は未変更文書リストから変更済み文書リストへ移動する。また、ステップＳ９１０では文書ＩＤ「Ｄ３３」と「Ｄ３５」が取得されるが、文書ＩＤ「Ｄ３３」は既に未変更文書リストに含まれている。よって、ステップＳ９１１では文書ＩＤ「Ｄ３５」のみが新たに未変更文書リストに追加される。
【０３４５】
３回目に実行されるステップＳ９０５でも未変更文書リストは空ではないと判断される。続くステップＳ９０６〜Ｓ９１１においては、ｐ＝「Ｄ３３」である。よって、ステップＳ９０７で文書Ｄ３３のアクセス権は、文書Ｄ３３自身、文書Ｄ３２、および文書Ｄ３４のアクセス権情報に基づいて更新される。
【０３４６】
そして、ステップＳ９０８とＳ９０９によって文書ＩＤ「Ｄ３３」は未変更文書リストから変更済み文書リストへ移動する。また、ステップＳ９１０では１つも文書ＩＤが取得されないので、ステップＳ９１１では未変更文書リストが変化しない。
【０３４７】
４回目に実行されるステップＳ９０５でも未変更文書リストは空ではないと判断される。続くステップＳ９０６〜Ｓ９１１においては、ｐ＝「Ｄ３５」である。よって、ステップＳ９０７で文書Ｄ３５のアクセス権は、文書Ｄ３５自身と文書Ｄ３４のアクセス権情報に基づいて更新される。
【０３４８】
そして、ステップＳ９０８とＳ９０９によって文書ＩＤ「Ｄ３５」は未変更文書リストから変更済み文書リストへ移動する。また、ステップＳ９１０で文書ＩＤ「Ｄ３４」が取得されるが、文書ＩＤ「Ｄ３４」は既に変更済み文書リストに含まれている。よって、ステップＳ９１１では未変更文書リストが変化しない。
【０３４９】
つまり、未変更文書リストが空の状態で処理はステップＳ９０５に戻り、そこで図１８の処理が終了する。
以上図１８〜図２０を参照して説明したアクセス権の連鎖的な再設定の処理は、次のように形式化してまとめられる。
【０３５０】
図１５に関して（ｇ１）と（ｇ２）に例示したように、「非保護文書ｘから直接的に保護文書ｙへとデータが再利用されたか、または１つ以上の非保護文書を介して間接的に保護文書ｘの内容が保護文書ｙにおいて再利用された」という関係を「Ｒ」とする。換言すれば、関係Ｒは、図１６または図１７の処理により設定された、図１５のアクセス権管理テーブル３０１ｂにおける「文書ＩＤ」列と「コピー元文書ＩＤ」列の組み合わせで表される第２の継承管理情報により規定される、２つの電子文書間の継承関係である。例えば、図１９の例では式（４）が成り立つ。
【０３５１】
（Ｄ３１  Ｒ  Ｄ３２）∧（Ｄ３２  Ｒ  Ｄ３３）∧
（Ｄ３１  Ｒ  Ｄ３４）∧（Ｄ３４  Ｒ  Ｄ３３）∧
（Ｄ３４  Ｒ  Ｄ３５）∧（Ｄ３５  Ｒ  Ｄ３４）              （４）
ここで、関係Ｒの推移的閉包として定義される関係を「Ｒ＋」と表し、「推移的継承関係」ということにする。図１８の処理は、保護文書ｉのアクセス権が変更されたとき、推移的継承関係Ｒ＋が保護文書ｉに対して成立する１つ以上の電子文書を認識し、認識した１つ以上の電子文書それぞれのアクセス権を再設定する処理である。各電子文書のアクセス権の再設定では、保護文書ｉのアクセス権の変更が直接または間接に反映される。
【０３５２】
例えば、図１９の例では式（５）が成り立つ。
（Ｄ３１  Ｒ＋  Ｄ３２）∧（Ｄ３１  Ｒ＋  Ｄ３３）∧
（Ｄ３１  Ｒ＋  Ｄ３４）∧（Ｄ３１  Ｒ＋  Ｄ３５）            （５）
よって、図２０に示したように、推移的継承関係Ｒ＋が保護文書Ｄ３１に対して成立する４つの保護文書Ｄ３２〜Ｄ３５が認識され、それぞれのアクセス権が再設定される。また、保護文書Ｄ３２〜Ｄ３５それぞれのアクセス権は、文書Ｄ３１のアクセス権情報を直接参照して再設定されるか、または、既に再設定された他の保護文書のアクセス権情報を介して間接的に文書Ｄ３１のアクセス権の変更を反映して再設定される。
【０３５３】
以上、第１〜第３実施形態について詳細に説明したが、上記実施形態で説明したコンピュータ１００およびアクセス権管理サーバ３００は、例えば、図２１のコンピュータ５００のように構成されていてもよい。図２１は、コンピュータの構成図である。
【０３５４】
コンピュータ５００は、ＣＰＵ（Central Processing Unit）５０１、ＲＯＭ（Read Only memory）５０２、ＲＡＭ（Random Access Memory）５０３、通信インターフェイス５０４、入力装置５０５、出力装置５０６、記憶装置５０７、および、可搬型記憶媒体５１０の駆動装置５０８を備える。コンピュータ５００が備えるこれら各部は、バス５０９により接続されている。
【０３５５】
また、コンピュータ５００は通信インターフェイス５０４を介してネットワーク５１１に接続されている。ネットワーク５１１は、ＬＡＮ（Local Area Network）やインターネットなどの任意のネットワークである。
【０３５６】
ＣＰＵ５０１は、ＲＡＭ５０３に各種プログラムをロードし、ＲＡＭ５０３をワーキングエリアとして用いながら各種プログラムを実行する。
ＣＰＵ５０１が実行する各種プログラムは、ＲＯＭ５０２または記憶装置５０７に予め格納されていてもよく、ネットワーク５１１を介してプログラム提供者５１２から提供され、記憶装置５０７に格納されてもよい。あるいは、ＣＰＵ５０１が実行する各種プログラムは、可搬型記憶媒体５１０に格納され、駆動装置５０８にセットされた可搬型記憶媒体５１０からＲＡＭ５０３にロードされ、ＣＰＵ５０１により実行されてもよい。可搬型記憶媒体５１０としては、ＣＤ（Compact Disc）やＤＶＤ（Digital Versatile Disk）などの光ディスク、光磁気ディスク、磁気ディスク、不揮発性半導体メモリなど様々な形式の記憶媒体を使用することができる。
【０３５７】
入力装置５０５は、マウスなどのポインティングデバイスやキーボードである。出力装置５０６は、例えば液晶ディスプレイなどの表示装置である。記憶装置５０７は、ハードディスク装置などの磁気ディスク装置でもよく、他の種類の記憶装置でもよい。
【０３５８】
例えば、図１および図１１のコンピュータ１００がコンピュータ５００のように構成される場合、共有メモリ１０４と継承管理テーブル１０８はＲＡＭ５０３により実現され、文書格納領域１０１は記憶装置５０７により実現される。第２実施形態では、文書索引情報と文書ＩＤを関連づけて管理するための不図示のテーブルも記憶装置５０７に格納される。
【０３５９】
また、ＯＳ１０２とアプリケーション１０３それぞれのプログラムは、例えば、記憶装置５０７に予め格納されている。ＣＰＵ５０１は、ＯＳ１０２とアプリケーション１０３のプログラムをＲＡＭ５０３にロードして実行する。
【０３６０】
アクセス制御部１０５のうち、ＲＡＭ５０３により実現される継承管理テーブル１０８以外は、ＣＰＵ５０１が上記各種プログラムを実行することにより実現される。
すなわち、アプリケーション１０３やＯＳ１０２を監視し、図６〜図９、図１３、図１４、図１６、図１７の処理の契機を認識するためのプログラムを実行することで、ＣＰＵ
５０１はアプリケーション監視部１０６として機能する。また、図５に関して説明した、文書を開くときの処理のためのプログラムを実行することで、ＣＰＵ５０１はファイルオープン制御部１０９として機能する。
【０３６１】
そして、図６、図９、図１３、図１４、図１６〜図１８の処理のためのプログラムを実行することで、ＣＰＵ５０１はファイル保存制御部１１０として機能する。また、図７の処理（あるいは第２実施形態や第３実施形態における図７と類似の処理）のためのプログラムを実行することで、ＣＰＵ５０１は書き込み制御部１１２として機能する。さらに、図８の処理（あるいは第２実施形態や第３実施形態における図８と類似の処理）のためのプログラムを実行することで、ＣＰＵ５０１は貼り付け制御部１１３としても機能する。
【０３６２】
以上のように、ＣＰＵ５０１とＲＡＭ５０３は、アクセス制御部１０５を実現している。
なお、第１および第３実施形態では、アクセス制御部１０５の各部とアクセス権管理サーバ３００との間の通信に通信インターフェイス５０４も使われる。
【０３６３】
また、図１のアクセス権管理サーバ３００がコンピュータ５００のように構成される場合、アクセス権管理テーブル３０１、および文書索引情報と文書ＩＤを関連づけて管理するための不図示のテーブルは、記憶装置５０７に格納される。図１のネットワーク２００は図２１のネットワーク５１１に相当する。
【０３６４】
なお、本発明は上記の第１〜第３実施形態に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
上記では、アクセス権がユーザ別に定義される例を具体的に示したが、実施形態によっては、アクセス権はユーザ別に設定されるとは限らない。アクセス権の制限には、例えば、パスワードによる制限や、権利者のレベルすなわち個々の権利者に付与された権限のレベルに応じた制限など、様々な種類がある。
【０３６５】
例えば、実施形態によっては、「文書Ｄは、ある特定のパスワードを知っているユーザなら誰でも読み出し権限がある」といった、パスワード別のアクセス権の制限も可能である。また、「レベル０のユーザは文書Ｄに対して何のアクセス権もなく、レベル１以上のユーザは文書Ｄに対する読み出し権限を有し、レベル２以上のユーザはさらに文書Ｄに対する書き込み権限も有する」といった、権限のレベル別のアクセス権の制限も可能である。
【０３６６】
例えば、権限のレベルに応じた制限が行われる実施形態では、図５のアクセス権管理テーブル３０１において、「ユーザＩＤまたはグループＩＤ」列の代わりに、権限のレベルの値を格納する列が用いられてもよい。同様に、図１２のアクセス権情報４０１や図１５のアクセス権管理テーブル３０１ｂの構成も、「ユーザ別」、「パスワード別」、「権限のレベル別」などの、アクセス権を制限する基準（つまりアクセス権を管理する単位）に応じて、適宜変更することができる。なお、各フローチャートに示した処理は、アクセス権管理テーブルなどの構成の違いに応じて、適宜変形されて実行される。
【０３６７】
また、別の観点からの変形として、ファイル保存制御部１１０は、上記で説明した動作のほかに、入力装置５０５などを介して受け取った明示的な要求（以下「保護要求」という）に基づいて、非保護文書を保護文書に変換する処理をさらに行ってもよい。保護要求は、設定すべきアクセス権情報を含む。
【０３６８】
第１実施形態の場合、保護要求を受け取ったファイル保存制御部１１０は、アクセス権管理サーバ３００に文書ＩＤの発行を要求する。そして、発行された文書ＩＤと保護要求
で指定されたアクセス権情報をアクセス権管理テーブル３０１に登録するよう、アクセス権管理サーバ３００に要求する。
【０３６９】
第２実施形態の場合、保護要求を受け取ったファイル保存制御部１１０は、制御部１０７に文書ＩＤの発行を要求し、変換しようとする非保護文書のヘッダ領域に、保護要求で指定されたアクセス権情報を格納する。
【０３７０】
第３実施形態の場合は第１実施形態と同様である。
そして、ファイル保存制御部１１０は、保護要求にしたがって非保護文書を暗号化して保護文書に変換する。
【０３７１】
また、図４の継承管理テーブル１０８、図５のアクセス権管理テーブル３０１、図１２のアクセス権情報４０１、および図１５のアクセス権管理テーブル３０１ｂは、表形式で表現されている。しかし、表形式以外のデータ形式を採用してもよい。例えば、図５、図１２、および図１５に含まれるアクセス権情報は、ＸＭＬ（Extensible Markup Language）などのマークアップ言語により表現されていてもよい。
【０３７２】
また、図５、図１２、または図１５における「保護文書を扱えるアプリケーションＩＤ」列を省略する実施形態も可能である。すなわち、「保護文書を扱えるアプリケーションＩＤ」列は、アプリケーション別の管理のための列なので、単にユーザ別のアクセス制御を行えばよい実施形態においては不要である。
【０３７３】
また、複数の端末を介して複数のユーザが同時にログインすることが可能なシステムに第１〜第３実施形態を適用する場合、図４の継承管理テーブル１０８は、文書を開いているユーザを示す「ユーザＩＤ」列をさらに有していてもよい。
【０３７４】
また、第１実施形態の図４の例は、保護文書ＤＯＣ５から保護文書ＤＯＣ４へとデータがコピー・アンド・ペーストされた後、かつ保護文書ＤＯＣ４がまだ保存されていない段階を表している。図４によれば、この段階でさらに、保護文書ＤＯＣ４から文書ＤＯＣ３へとデータがコピー・アンド・ペーストされている。第１実施形態では、図４のような場合、文書ＩＤ「ＤＯＣ３」には文書ＩＤ「ＤＯＣ４」と「ＤＯＣ５」の双方が関連づけられる。
【０３７５】
しかし、保護文書ＤＯＣ４からデータがコピーされるとき、図７のステップＳ２０４において、直接のコピー元文書の文書ＩＤ「ＤＯＣ４」のみをデータに関連づけるよう、第１実施形態を変形してもよい。その場合、図９のステップＳ４０８とＳ４０９は次のように変形される。
【０３７６】
つまり、変形例におけるステップＳ４０８とＳ４０９でファイル保存制御部１１０は、継承管理テーブル１０８を参照し、「開いている文書のＩＤ」列の対象文書の文書ＩＤ「ＤＯＣ３」に関連づけられて「コピー元文書のＩＤ」列に格納された文書ＩＤ「ＤＯＣ４」を取得する。
【０３７７】
そして、ファイル保存制御部１１０は、継承管理テーブル１０８を再度参照することで、取得した文書ＩＤ「ＤＯＣ４」を「開いている文書のＩＤ」列に含むエントリを検索する。それによってファイル保存制御部１１０は、文書ＩＤ「ＤＯＣ４」に関連づけられて「コピー元文書のＩＤ」列に格納された文書ＩＤ「ＤＯＣ５」を取得する。
【０３７８】
このように、継承管理テーブル１０８を複数回参照することで、ファイル保存制御部１１０は、文書ＤＯＣ３の親に当たる文書ＤＯＣ４だけでなく、文書ＤＯＣ３の先祖に当た
る他の保護文書の文書ＩＤ「ＤＯＣ５」も取得することができる。変形例では、こうして取得した先祖の文書のアクセス権情報を「ＡＮＤ条件」にしたがってマージすることで、ファイル保存制御部１１０は対象文書のアクセス権情報を生成する。
【０３７９】
また、第１実施形態または第３実施形態において、アクセス制御部１０５は、アクセス権管理テーブル３０１または３０１ｂを、アクセス権管理サーバ３００からコンピュータ１００にダウンロードし、例えば文書格納領域１０１に格納してもよい。アクセス制御部１０５は、ダウンロードしたアクセス権管理テーブル３０１または３０１ｂに、必要に応じて有効期限を設定してもよい。
【０３８０】
有効期限内においてアクセス制御部１０５内の各部は、文書格納領域１０１にダウンロードしたアクセス権管理テーブル３０１または３０１ｂを、上記第１または第３実施形態と同様に参照または変更する。以上により、ネットワーク２００から切り離されたローカルマシン（つまりコンピュータ１００）であっても、有効期限内であれば一時的に、スタンドアロンでアクセス権の継承を行うことができる。
【０３８１】
あるいは、有効期限を設定せず、恒常的にアクセス権管理テーブル３０１または３０１ｂが文書格納領域１０１に格納されおり、コンピュータ１００が単独でアクセス権の継承を行う実施形態も可能である。
【０３８２】
また、上記第１〜第３実施形態では、アクセス権の継承において式（１）〜（３）を使って定義される「ＡＮＤ条件」により、新たなアクセス権情報をファイル保存制御部１１０が生成している。しかし、式（２）の代わりに式（６）を用いたり、式（３）の代わりに式（７）を用いたりすることもできる。
【０３８３】
Ｒｅａｄ（Ｄ，Ｕｊ，Ａｋ）
＝（Ｒｅａｄ（Ｄ１，Ｕｊ，Ａｋ）∨Ｗｒｉｔｅ（Ｄ１，Ｕｊ，Ａｋ））∧
……
∧（Ｒｅａｄ（ＤＮ，Ｕｊ，Ａｋ）∨Ｗｒｉｔｅ（ＤＮ，Ｕｊ，Ａｋ））
（６）
Ｒｅａｄ（Ｄ，Ｕｊ，Ａｋ）
＝Ｒｅａｄ（Ｄ，Ｕｊ，Ａｋ）∧
（Ｒｅａｄ（Ｄ１，Ｕｊ，Ａｋ）∨Ｗｒｉｔｅ（Ｄ１，Ｕｊ，Ａｋ））∧
……
∧（Ｒｅａｄ（ＤＮ，Ｕｊ，Ａｋ）∨Ｗｒｉｔｅ（ＤＮ，Ｕｊ，Ａｋ））
（７）
また、図５、図１２、および図１５では、権限の種類として、読み出し権限、書き込み権限、印刷権限を例示した。しかし、実施形態によっては、さらに、実行、削除、検索、データのコピーなど、その他の様々な操作に対応する様々な種類の権限が管理されてもよい。逆に、例えば印刷権限という種類の権限がなくてもよい。どのような種類の権限を管理するかに応じて、「ＡＮＤ条件」も適宜変形可能である。
【０３８４】
なお、上記実施形態ではアクセス制御部１０５がミドルウェアとして実装される。よって、ＯＳ１０２が提供するファイルシステムにおけるアクセス制御の仕様とは関係なく、アクセス権管理テーブル３０１または３０１ｂにおける権限の種類を決めることができる。
【０３８５】
また、第２実施形態と第３実施形態を組み合わせてもよい。つまり、図１２のアクセス権情報４０１に、図１５のアクセス権管理テーブル３０１ｂの「コピー元文書ＩＤ」列を追加し、第３実施形態の図１８と同様の処理を行うよう、第２実施形態を変形することも
できる。
【０３８６】
また、第１〜第３実施形態では、文書格納領域１０１に格納された文書がアクセス権の継承の対象である。しかし、コンピュータ１００とは別のファイルサーバなど、外部の記憶装置に格納された文書をアクセス権の継承の対象としてもよい。
【０３８７】
また、例えば図１０に示したように、第１〜第３実施形態では、コピーされたデータと関連づけられて文書ＩＤも共有メモリ１０４に格納される。しかし、文書ＩＤは、コピーされたデータが格納される共有メモリ１０４とは別のＲＡＭ上の領域に格納されてもよい。
【０３８８】
なお、文書ＩＤの代わりに文書索引情報を用いる実施形態も可能である。その場合、アクセス権管理サーバ３００または制御部１０７が、文書ＩＤを発行したり文書索引情報と文書ＩＤの関連を管理したりする必要はない。
【０３８９】
また、上記各実施形態では、主に上記（ｂ１）と（ｂ３）によって情報が再利用されるときのアクセス権の継承について説明した。しかし、（ｂ２）、（ｂ４）〜（ｂ６）に関しても、情報の再利用に伴う特定の処理をアプリケーション監視部１０６が監視して捕捉することにより、アクセス制御部１０５がアクセス権の継承を実現することができる。監視すべき処理は、例えば、システムコールなどのＯＳ１０２への要求でもよく、ＯＳ１０２からの応答でもよい。
【０３９０】
例えば、（ｂ２）の「別名で保存」メニューによる情報の再利用に関しては、図９の処理を以下のように変形することでアクセス権の継承を実現することができる。すなわち、現在開かれている文書Ｘを別の文書Ｙとして保存しようとする場合、ステップ４０１と同様に保存要求をアプリケーション監視部１０６が捕捉する。そして、ステップＳ４０２と同様にファイル保存制御部１１０が、文書Ｘは継承管理テーブル１０８の「開いている文書のＩＤ」列に登録されているか否かを判断する。
【０３９１】
文書ＩＤ「Ｘ」が継承管理テーブル１０８の「開いている文書のＩＤ」列に登録されていなければ、ステップＳ４０３と同様に、文書Ｘが元から保護文書であったか否かをファイル保存制御部１１０が判断する。
【０３９２】
文書Ｘが非保護文書ならば、ファイル保存制御部１１０はステップＳ４０５と同様に、文書Ｙも非保護文書として文書格納領域１０１に保存する。
しかし、文書Ｘが保護文書ならば、ファイル保存制御部１１０はステップＳ４０４の代わりに、文書Ｙを保護形式化し、アクセス権管理サーバ３００に対して文書Ｙへの文書ＩＤの発行を要求する。そして、文書Ｘのアクセス権情報をコピーして、発行された文書ＩＤ「Ｙ」と関連づけてアクセス権管理テーブル３０１に登録するよう、ファイル保存制御部１１０はアクセス権管理サーバ３００に要求する。また、ファイル保存制御部１１０は、保護形式化した文書ＹをステップＳ４０５と同様にして文書格納領域１０１に格納する。
【０３９３】
また、ステップＳ４０２において文書ＩＤ「Ｘ」が継承管理テーブル１０８の「開いている文書のＩＤ」列に登録されていれば、ファイル保存制御部１１０はステップＳ４０６と同様に文書Ｙを保護形式化する。さらに、ファイル保存制御部１１０は、アクセス権管理サーバ３００に対して文書Ｙへの文書ＩＤの発行を要求する。
【０３９４】
そして、ファイル保存制御部１１０は次のようにして文書Ｙのアクセス権情報を生成する。すなわち、ファイル保存制御部１１０は、文書ＩＤ「Ｘ」に関連づけられて継承管理
テーブル１０８の「コピー元文書のＩＤ」列に登録されている保護文書のアクセス権情報と、文書Ｘのアクセス権情報を「ＡＮＤ条件」などによってマージする。
【０３９５】
ファイル保存制御部１１０はアクセス権管理サーバ３００を介して、文書ＩＤ「Ｙ」と生成したアクセス権情報とを関連づけてアクセス権管理テーブル３０１に登録する。なお、図９とは異なり、ファイル保存制御部１１０は、文書ＩＤ「Ｘ」に関連づけられた継承管理テーブル１０８上の情報は削除しない。
【０３９６】
また、文書の保存を契機としてアクセス権の継承が行われる上記第１〜第３実施形態を、データの貼り付けを契機としてアクセス権の継承が行われるように変形することも可能である。例えば、図９のステップＳ４０８またはＳ４０９におけるアクセス権管理テーブル３０１の更新と継承管理テーブル１０８からのエントリの削除を、図８のステップＳ３０８の直後に行うよう、第１実施形態を変形することができる。第２および第３実施形態も同様に変形可能である。
【０３９７】
なお、この変形例においては、例えば図８のステップＳ３０３とＳ３０５の間に、ユーザに対してダイアログを表示するステップを追加してもよい。ダイアログは、例えば、「データの貼り付けを実行するとアクセス権が継承される」という警告と、「貼り付けを実行するか否か」という質問を含む。
【０３９８】
質問に対するユーザの回答が入力装置から入力されると、貼り付け制御部１１３は入力された回答に基づいて、ステップＳ３０５以下の処理を続けるか、または図８の処理を中止する。ダイアログを用いることで、例えばユーザの貼り付け操作のミスが原因で、ユーザが知らないうちに意図しないアクセス権の継承が行われるという事態を防止することができる。
【０３９９】
同様に、第１実施形態の図９のステップＳ４０２とＳ４０６の間にダイアログを表示するステップが追加されてもよい。
また、以上説明した様々な実施形態は、クリップボードの内容を閲覧するためのアプリケーションまたはメニューを考慮して変形することもできる。以下では、第１実施形態を変形する場合を例にして説明する。
【０４００】
クリップボードには、ＯＳ１０２によって提供されるものと、特定のアプリケーション内または特定のアプリケーションスイート内で提供されるものがある。以下、前者を「ＯＳクリップボード」といい、後者を「アプリケーション・クリップボード」ということにする。いずれも、共有メモリ１０４により実現可能である。
【０４０１】
ＯＳクリップボードは、一般には、コピー操作またはカット操作のたびに書き換えられ、履歴を保持しない。しかし、アプリケーション・クリップボードの中には、コピーまたはカットされた複数のデータを保持し、保持した複数のデータの中の任意の１つをユーザの選択に応じて貼り付ける機能を提供するものがある。
【０４０２】
ＯＳクリップボードの内容は、「クリップボードビューア」と呼ばれる種類のアプリケーションを使って閲覧可能である。アプリケーション・クリップボードの内容は、例えばアプリケーション内から特定のメニュー（以下「クリップボード閲覧メニュー」という）を選択することで閲覧可能である。
【０４０３】
第１実施形態では図７のステップＳ２０４において、書き込み制御部１１２は、共有メモリ１０４にコピーされたデータを暗号化している。ここで、ステップＳ２０４の暗号化が行われないと仮定すると、クリップボードビューアまたはクリップボード閲覧メニュー
の画面にはデータの内容が表示される。したがって、例えばクリップボードビューアの画面のスクリーンショットを撮って非保護文書に貼り付ける操作が行われると、保護すべき情報が漏洩してしまう。
【０４０４】
しかし、上記のように第１実施形態によれば、実際はステップＳ２０４でデータは暗号化されている。よって、クリップボードビューアまたはクリップボード閲覧メニューを介した情報漏洩のおそれはない。
【０４０５】
ただし、利便性という観点からは、データが暗号化されていることにより、ＯＳクリップボードやアプリケーション・クリップボードの内容をユーザが閲覧することができず、不便なことがある。そこで、クリップボードビューアやクリップボード閲覧メニューの存在を考慮して、第１実施形態を次のように変形してもよい。
【０４０６】
図７のステップＳ２０１のようにデータコピー要求が発せられると、書き込み制御部１１２は図７の処理を実行する。本変形例では、書き込み制御部１１２は、ステップＳ２０４またはステップＳ２０６を実行した後、クリップボードビューアに関して次の処理をさらに実行する。
【０４０７】
すなわち、書き込み制御部１１２は、共有メモリ１０４上のデータに関連づけた文書ＩＤに基づいて、図８のステップＳ３０３と類似の方法で、クリップボードビューアを起動したユーザが共有メモリ１０４上のデータへのアクセス権を持つか否かを判断する。なお、クリップボードビューアのアプリケーションＩＤを含むアクセス権情報は、事前に図５にアクセス権管理テーブル３０１に適宜設定されているものとする。
【０４０８】
共有メモリ１０４上にコピーされたデータへのアクセス権を、クリップボードビューアを起動したユーザが持つ場合、書き込み制御部１１２は、共有メモリ１０４上にコピーされたデータを復号してクリップボードビューアに読み込ませる。それにより、情報漏洩の防止とクリップボードビューアの利便性が両立する。
【０４０９】
次に、アプリケーション１０３を含むアプリケーションスイートが、履歴を保持するアプリケーション・クリップボードおよびクリップボード閲覧メニューを提供する場合の本変形例の動作を説明する。ここで、アプリケーション・クリップボードを実現する共有メモリ１０４上にはＭ個のデータが存在するとする（Ｍ≧１）。Ｍ個のデータは、保護形式化されていないものと、保護形式化されて文書ＩＤと関連づけられたものの両方を含んでいてもよい。
【０４１０】
データコピー要求が発せられると、書き込み制御部１１２は、共有メモリ１０４上にコピーされたＭ個のデータのそれぞれについて、上記と同様にしてアプリケーション１０３を起動したユーザが当該データへのアクセス権を持つか否かを判断する。
【０４１１】
アクセス権がある場合、書き込み制御部１１２は当該データを復号し、クリップボード閲覧メニューに表示すべきデータとして、共有メモリ１０４上のデータの代わりに復号したデータをアプリケーション１０３に読み込ませる。他方、アクセス権がない場合、書き込み制御部１１２は、暗号化されている当該データまたはダミーデータを、クリップボード閲覧メニューに表示すべきデータとして、アプリケーション１０３に読み込ませる。
【０４１２】
その結果、クリップボード閲覧メニューには、アクセス権のあるデータのみが復号化された状態で表示される。それにより、情報漏洩の防止とクリップボード閲覧メニューの利便性が両立する。
【０４１３】
最後に、さらに下記の付記を開示する。
（付記１）
暗号化された複数の電子文書に対するアクセス権を表すアクセス権情報により第１のアクセス権が設定されている、暗号化された第１の電子文書に含まれる内容が、第２の電子文書において再利用される場合に行われる１つ以上の処理を監視して捕捉する捕捉ステップと、
前記捕捉ステップにおいて前記１つ以上の処理を捕捉した場合、前記アクセス権情報を更新することにより前記第１のアクセス権に基づく第２のアクセス権を前記第２の電子文書に設定する設定ステップと、
前記第２の電子文書を暗号化して保存する保存ステップと、
をコンピュータに実行させることを特徴とするアクセス制御プログラム。
（付記２）
前記１つ以上の処理は、前記第１の電子文書において前記内容を表す第１のデータの共有メモリへの書き込みに伴う第１の処理と、前記内容を表し前記共有メモリに格納された第２のデータの前記第２の電子文書への書き込みに伴う第２の処理とを含み、
前記第１の処理が捕捉されたとき、前記第１のデータを暗号化することにより前記第２のデータを生成して前記共有メモリに書き込む書き込みステップと、
前記第２の処理が捕捉されたとき、前記第２のデータを復号して前記第２の電子文書に貼り付ける貼り付けステップと、
をさらに前記コンピュータに実行させることを特徴とする付記１に記載のアクセス制御プログラム。
（付記３）
前記書き込みステップは、前記第１の電子文書を識別する識別情報と前記第２のデータとを関連づけるデータ関連づけステップを含み、
前記貼り付けステップは、前記第２のデータに関連づけられた前記識別情報に基づいて前記第１の電子文書を前記第２の電子文書に関連づける第１の継承管理情報を生成する第１の継承管理ステップを含み、
前記設定ステップは、前記第１の継承管理情報を参照して前記第２の電子文書に前記第１の電子文書が関連づけられていることを認識することにより、前記第２のアクセス権の根拠とすべき前記第１のアクセス権を認識する認識ステップを含む、
ことを特徴とする付記２に記載のアクセス制御プログラム。
（付記４）
前記１つ以上の処理はさらに、前記第２のデータが書き込まれた前記第２の電子文書の保存に伴う第３の処理を含み、
前記設定ステップは、前記捕捉ステップで前記第３の処理が捕捉されたことを契機として実行される、
ことを特徴とする付記２に記載のアクセス制御プログラム。
（付記５）
前記設定ステップは、前記捕捉ステップで前記第２の処理が捕捉されたことを契機として実行されることを特徴とする付記２に記載のアクセス制御プログラム。
（付記６）
前記設定ステップの前に、既に前記第２の電子文書に元の第２のアクセス権が設定されていた場合は、
前記設定ステップでは、前記第１のアクセス権と前記元の第２のアクセス権の双方に基づいて、前記第１のアクセス権以上に制限され、かつ前記元の第２のアクセス権以上に制限された前記第２のアクセス権が設定される、
ことを特徴とする付記１に記載のアクセス制御プログラム。
（付記７）
前記第１の電子文書が複数あり、
複数の前記第１の電子文書それぞれが表す前記内容が前記第２の電子文書において再利
用されたとき、前記設定ステップでは、複数の前記第１の電子文書それぞれの前記第１のアクセス権に基づいて、前記第２のアクセス権が前記第２の電子文書に設定され、
前記第２のアクセス権は、複数の前記第１の電子文書それぞれの前記第１のアクセス権のいずれと比較しても、同じか、またはより制限されている、
ことを特徴とする付記１に記載のアクセス制御プログラム。
（付記８）
前記内容が前記第２の電子文書において再利用されたとき、前記第１の電子文書と前記第２の電子文書を関連づける第２の継承管理情報を生成して記憶する第２の継承管理ステップと、
前記第１のアクセス権が変更されたとき、前記第２の継承管理情報を参照することで、前記第２の継承管理情報により規定される２つの電子文書間の継承関係の推移的閉包として定義される推移的継承関係が前記第１の電子文書に対して成立する、前記第２の電子文書を含む１つ以上の電子文書を認識し、認識した前記１つ以上の電子文書それぞれのアクセス権を、前記第１のアクセス権の変更を直接または間接に反映することにより、再設定する再設定ステップを、
さらに前記コンピュータに実行させることを特徴とする付記１に記載のアクセス制御プログラム。
（付記９）
前記１つ以上の処理は、前記第１の電子文書をコピーして前記第２の電子文書として保存することに伴う第４の処理を含むことを特徴とする付記１に記載のアクセス制御プログラム。
（付記１０）
前記設定ステップにおいて、前記第２のアクセス権は前記第１のアクセス権と同じに設定されることを特徴とする付記９に記載のアクセス制御プログラム。
（付記１１）
前記アクセス権情報は、前記第１および第２の電子文書とは分離されて集中管理されていることを特徴とする付記１に記載のアクセス制御プログラム。
（付記１２）
ネットワークを介して前記コンピュータと接続されたサーバにより前記アクセス権情報が集中管理されており、
前記コンピュータは前記サーバを介して前記アクセス権情報の参照および変更を行う、
ことを特徴とする付記１１に記載のアクセス制御プログラム。
（付記１３）
前記アクセス権情報は分散しており、
前記アクセス権情報のうち前記第１のアクセス権と前記第２のアクセス権をそれぞれ表す部分は、前記第１の文書と前記第２の文書にそれぞれ個別に付加されている、
ことを特徴とする付記１に記載のアクセス制御プログラム。
（付記１４）
前記アクセス権情報は、アプリケーション別にアクセス権を表していることを特徴とする付記１に記載のアクセス制御プログラム。
（付記１５）
コンピュータが、
暗号化された複数の電子文書に対するアクセス権を表すアクセス権情報により第１のアクセス権が設定されている、暗号化された第１の電子文書に含まれる内容が、第２の電子文書において再利用される場合に行われる１つ以上の処理を監視して捕捉し、
前記１つ以上の処理を捕捉した場合、前記アクセス権情報を更新することにより前記第１のアクセス権に基づく第２のアクセス権を前記第２の電子文書に設定し、
前記第２の電子文書を暗号化して保存する、
ことを特徴とするアクセス制御方法。
（付記１６）
暗号化された複数の電子文書に対するアクセス権を表すアクセス権情報により第１のアクセス権が設定されている、暗号化された第１の電子文書に含まれる内容が、第２の電子文書において再利用される場合に行われる１つ以上の処理を監視して捕捉する捕捉手段と、
前記捕捉手段が前記１つ以上の処理を捕捉した場合、前記アクセス権情報を更新することにより前記第１のアクセス権に基づく第２のアクセス権を前記第２の電子文書に設定する設定手段と、
前記第２の電子文書を暗号化して保存する保存制御手段と、
を備えることを特徴とするアクセス制御装置。
【符号の説明】
【０４１４】
１００      コンピュータ
１０１      文書格納領域
１０２      ＯＳ
１０３      アプリケーション
１０４      共有メモリ
１０５      アクセス制御部
１０６      アプリケーション監視部
１０７      制御部
１０８、１０８ａ〜１０８ｆ      継承管理テーブル
１０９      ファイルオープン制御部
１１０      ファイル保存制御部
１１１      共有メモリ制御部
１１２      書き込み制御部
１１３      貼り付け制御部
２００      ネットワーク
３００      アクセス権管理サーバ
３０１、３０１ｂ      アクセス権管理テーブル
４０１      アクセス権情報
５００      コンピュータ
５０１      ＣＰＵ
５０２      ＲＯＭ
５０３      ＲＡＭ
５０４      通信インターフェイス
５０５      入力装置
５０６      出力装置
５０７      記憶装置
５０８      駆動装置
５０９      バス
５１０      可搬型記憶媒体
５１１      ネットワーク
５１２      プログラム提供者
Ｄ１〜Ｄ３５      文書
Ｘ      オブジェクト
Ａ〜Ｃ      データ
Ｉ１〜Ｉ３      文書ＩＤ
【図１】
2010176431.tif 000003
【図４】
2010176431.tif 000004
【図５】
2010176431.tif 000005
【図６】
2010176431.tif 000006
【図７】
2010176431.tif 000007
【図８】
2010176431.tif 000008
【図９】
2010176431.tif 000009
【図１０】
2010176431.tif 000010
【図１１】
2010176431.tif 000011
【図１２】
2010176431.tif 000012
【図１３】
2010176431.tif 000013
【図１４】
2010176431.tif 000014
【図１５】
2010176431.tif 000015
【図１６】
2010176431.tif 000016
【図１７】
2010176431.tif 000017
【図１８】
2010176431.tif 000018
【図１９】
2010176431.tif 000019
【図２０】
2010176431.tif 000020
【図２１】
2010176431.tif 000021
【図２】
2010176431.tif 000022
【図３】
2010176431.tif 000023