JP2010176431A - アクセス制御プログラム、アクセス制御方法、およびアクセス制御装置 - Google Patents

アクセス制御プログラム、アクセス制御方法、およびアクセス制御装置 Download PDF

Info

Publication number
JP2010176431A
JP2010176431A JP2009018839A JP2009018839A JP2010176431A JP 2010176431 A JP2010176431 A JP 2010176431A JP 2009018839 A JP2009018839 A JP 2009018839A JP 2009018839 A JP2009018839 A JP 2009018839A JP 2010176431 A JP2010176431 A JP 2010176431A
Authority
JP
Japan
Prior art keywords
document
access right
control unit
access
information
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.)
Granted
Application number
JP2009018839A
Other languages
English (en)
Other versions
JP5298891B2 (ja
Inventor
Takeharu Terada
剛陽 寺田
Takayuki Hasebe
高行 長谷部
Toshitatsu Noda
敏達 野田
Masahiko Takenaka
正彦 武仲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009018839A priority Critical patent/JP5298891B2/ja
Publication of JP2010176431A publication Critical patent/JP2010176431A/ja
Application granted granted Critical
Publication of JP5298891B2 publication Critical patent/JP5298891B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

【課題】アクセス権を有するユーザによる情報の再利用に起因する情報漏洩を防止する。
【解決手段】アプリケーション監視部106は、文書格納領域101に格納された保護文書の内容を再利用するためにOS102またはアプリケーション103が行うコピーや貼り付けなどの特定の処理を監視し、捕捉する。特定の処理が捕捉されると、制御部107は、第1のアクセス権が設定された第1の文書の内容を再利用した第2の文書に、第1のアクセス権を継承する第2のアクセス権を設定するための各種処理を行う。例えば、共有メモリ制御部111は、第1の文書の内容が共有メモリ104を介して第2の文書で再利用されていることを、継承管理テーブル108を用いて管理する。そして、ファイル保存制御部110は、継承管理テーブル108を参照して、第1のアクセス権に基づく第2のアクセス権を第2の文書に設定する。
【選択図】図1

Description

本発明は、電子文書の内容が漏洩するのを防止する技術に関する。
近年、多くの情報が電子文書化されるようになり、機密情報を含む電子文書の保護の重要性が増している。そこで、電子文書の内容が漏洩するのを防ぐための様々なアクセス制御技術が開発されている。
例えば、ある方法によれば、コンピュータリソースに対するプロセスまたはオペレーティングシステムからの操作要求が、コンピュータリソースにアクセスする前に捕捉される。そして、捕捉された操作要求によって指定されるコンピュータリソースに対するアクセス権限があるか否かが判定される。
判定の結果、アクセス権限があれば当該操作要求がオペレーティングシステムに渡され、その結果が要求元プロセスに返される。判定の結果、アクセス権限がなければ当該操作要求は拒否される。
また、別の方法によれば、機密ファイルへのアクセスを許可する業務アプリケーションの情報が、予め管理サーバに登録される。登録されたアプリケーション情報は、各クライアントに随時、配信される。
業務アプリケーションで機密ファイルを参照する際は、業務アプリケーション起動時に、サーバに予め登録されているアプリケーションか否かを判断するアプリケーション認証が行われる。アプリケーション認証をパスした場合のみ、I/O捕捉モジュールに自らのプロセス情報が登録される。I/O捕捉モジュールは、登録されているプロセス情報に一致するプロセスのみ機密情報へのアクセスを許可し、それ以外の場合はアクセスを拒否する。
さらに、アクセス元のアクセス権限に対応するファイルデータを提供するファイル提供方法も知られている。このファイル提供方法は、ファイルの所定の領域にあるデータごとにアクセス権限を設定し、アクセス元のアクセス権限を満たしているデータを、所定の組み合わせによって連結し、連結されたデータをアクセス元に提供する方法である。
また、クリップボードを介しての保護データのコンピュータシステム外への持ち出しを防止する技術も知られている。例えば、ともに保護対象フォルダへのアクセス権を有する書込ユニットと貼付ユニットを有する情報漏洩防止装置が知られている。
書込ユニットは、主記憶装置内のクリップボードに、保護対象フォルダ内に格納された操作対象のデータを書き込むとき、保護対象フォルダに対応づけられた暗号鍵を使用してデータを暗号化し、暗号化データをクリップボードに書き込む。貼付ユニットは、クリップボードに書き込まれた暗号化データを、補助記憶装置内に格納されるファイルに貼り付けるとき、暗号化データを復号してからそのファイルに貼り付ける。
特開2007−48310号公報 特開2007−128205号公報 特開2007−18066号公報 特開2006−155155号公報
上記のように、情報漏洩の防止のための様々な技術が存在するが、アクセス権を有するユーザによる情報の再利用に起因する情報漏洩を防止する技術には改善の余地がある。
そこで本発明は、アクセス権を有するユーザによる情報の再利用に起因する情報漏洩を防止することを目的とする。
本発明の一態様によればアクセス制御プログラムが提供される。前記アクセス制御プログラムは、捕捉ステップと設定ステップと保存ステップとをコンピュータに実行させるプログラムである。
前記捕捉ステップは、暗号化された複数の電子文書に対するアクセス権を表すアクセス権情報により第1のアクセス権が設定されている、暗号化された第1の電子文書に含まれる内容が、第2の電子文書において再利用される場合に行われる1つ以上の処理を監視して捕捉するステップである。
前記設定ステップは、前記捕捉ステップにおいて前記1つ以上の処理を捕捉した場合、前記アクセス権情報を更新することにより前記第1のアクセス権に基づく第2のアクセス権を前記第2の電子文書に設定するステップである。
前記保存ステップは、前記第2の電子文書を暗号化して保存するステップである。
また、本発明の別の態様によれば前記アクセス制御プログラムにしたがってコンピュータが実行するアクセス制御方法が提供される。本発明のさらに別の態様によれば、前記アクセス制御方法を実行するアクセス制御装置が提供される。
開示の技術によれば、第1の電子文書に含まれる内容が第2の電子文書において再利用されると、第1の電子文書の第1のアクセス権に基づく第2のアクセス権が、第2の電子文書に自動的に設定される。よって、第1の電子文書に含まれる内容が第2の電子文書を介して不特定の者に漏洩することを防ぐことができる。
第1実施形態のシステム構成図である。 第1実施形態の作用の一例を示す図である。 第1実施形態によるアクセス権の継承の一例を示す図である。 第1実施形態の継承管理テーブルの一例を示す図である。 第1実施形態のアクセス権管理テーブルの一例を示す図である。 第1実施形態において文書全体をコピーするときのフローチャートである。 第1実施形態において文書中のデータをコピーするときのフローチャートである。 第1実施形態において文書にデータを貼り付けるときのフローチャートである。 第1実施形態において文書を保存するときのフローチャートである。 第1実施形態の作用の一例を示すタイミングチャートである。 第2実施形態のシステム構成図である。 第2実施形態において文書に格納されるアクセス権情報の一例を示す図である。 第2実施形態において文書全体をコピーするときのフローチャートである。 第2実施形態において文書を保存するときのフローチャートである。 第3実施形態のアクセス権管理テーブルの一例を示す図である。 第3実施形態において文書全体をコピーするときのフローチャートである。 第3実施形態において文書を保存するときのフローチャートである。 第3実施形態においてアクセス権を連鎖的に変更する処理のフローチャートである。 第3実施形態において文書間のデータ再利用の関係を示す図である。 第3実施形態においてアクセス権が連鎖的に変更されていく経過を示す図である。 コンピュータの構成図である。
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。まず、図1〜図10を参照して第1実施形態について説明し、次に図11〜図14を参照して第2実施形態について説明し、続いて図15〜図20を参照して第3実施形態について説明し、最後にその他の変形例などについて説明する。
図1は、第1実施形態のシステム構成図である。図1のシステムでは、コンピュータ100がネットワーク200を介してアクセス権管理サーバ300に接続されている。
アクセス権管理サーバ300は、保護すべき内容を含む電子文書に対するユーザ別のアクセス制御に使われるアクセス権情報を格納したアクセス権管理テーブル301を有する。本実施形態では、保護すべき内容を含む電子文書は、暗号化とアクセス権の設定により、保護される。
なお、以下の説明において「内容」または「情報」という用語は、データ形式の違いによらず情報が表す内容自体に注目する場合に用いることとし、情報を表す具体的な「データ」とは区別する。例えば、保護すべき内容は、どのような形式のデータによって表されようとも常に保護されるべきである。
また、詳しくは図5とともに後述するが、本実施形態では、単なるユーザ別のアクセス制御よりも細かい粒度でのアクセス制御のために、アクセス権管理テーブル301が含むアクセス権情報は、ユーザ別かつアプリケーション別にアクセス権を表している。
アクセス権管理テーブル301により管理される電子文書は、本実施形態ではコンピュータ100に格納された電子文書である。しかし、不図示のファイルサーバや外部記憶装置がさらにネットワーク200に接続されていてもよく、アクセス権管理テーブル301により、さらに、ファイルサーバまたは外部記憶装置に格納された電子文書が管理されてもよい。
なお、以下では電子文書を単に「文書」と称することがある。文書の内容および形式は任意である。例えば、文書は、テキスト、スプレッドシート、図形、画像、音声などで表された様々な内容を含むことができる。
コンピュータ100は、例えばPC(Personal Computer)、ワークステーションなど任意のコンピュータである。コンピュータ100は、ハードディスク装置などの不揮発性記憶装置により実現される文書格納領域101を有する。文書格納領域101には多種多様な文書のファイルが格納される。文書格納領域101に格納される文書には、保護すべき内容を含む文書もあれば、保護する必要のない文書もある。
また、コンピュータ100にはOS(Operating System)102と1つ以上のアプリケーション103がインストールされており、コンピュータ100はOS102にしたがって動作する。OS102は、ファイルシステム、API(Application Programming Interface)、その他の基本的な機能を提供する。ユーザは、OS102またはアプリケーション103を介して、文書格納領域101に格納された文書にアクセスする。
また、OS102は、共有メモリ104を介したデータの再利用を可能とする。例えば、OS102は、共有メモリ104を使ったクリップボードを提供し、コピー・アンド・ペーストやカット・アンド・ペーストの機能を実現する。共有メモリ104は、クリップボード以外にも、プロセス間でのデータの共有のために用いられることがある。したがって、第1の文書に含まれる内容が共有メモリ104を介して第2の文書において再利用されることがある。
OS102はさらに、スクリーンショットを撮る機能を提供してもよい。OS102は、スクリーンショットを撮るための入力がなされたら、スクリーンショットの画像データを、クリップボードとしての共有メモリ104に格納してもよい。それにより、スクリーンショットの画像データを任意の文書への貼り付けることが可能となる。
本実施形態によるコンピュータ100はさらに、アクセス制御部105を備える。アクセス制御部105は、アプリケーション103を監視するアプリケーション監視部106と、アクセス権の継承のために必要な各種の制御を行う制御部107を備える。制御部107は、継承管理テーブル108、ファイルオープン制御部109、ファイル保存制御部110、および共有メモリ制御部111を備える。共有メモリ制御部111は、書き込み制御部112と貼り付け制御部113を備える。
アプリケーション監視部106は、アプリケーション103からOS102への特定の種類の要求を監視し、捕捉する。例えば、アプリケーション監視部106は、アプリケーション103からのAPI関数呼び出しをフックすることで、アプリケーション103からOS102への要求を捕捉する。アプリケーション監視部106は、捕捉した要求を制御部107内の各部に送る。
本実施形態のアプリケーション監視部106は、さらに、アプリケーション103からの特定の種類の要求に対するOS102の応答を監視して捕捉する。例えば、アプリケーション監視部106は、API関数の返り値を捕捉してもよい。アプリケーション監視部106は、捕捉した応答を制御部107内の各部に送る。
また、詳しくは後述するが、アプリケーション監視部106は、OS102が行う一部の処理も監視している。
制御部107は、アプリケーション監視部106が捕捉した処理に応じて、文書間でアクセス権を継承するために必要な制御を行う。
以下では、第1の電子文書に第1のアクセス権が設定されているとき、第1のアクセス権に基づいて第2のアクセス権を第2の電子文書に設定することを、第1の電子文書から第2の電子文書へのアクセス権の継承という。
アクセス権は、1つの電子文書から継承される場合もあるし、複数の電子文書から多重継承される場合もある。つまり、継承における「子」に当たる1つの電子文書に対し、1つまたは複数の「親」に当たる電子文書が存在する。
本実施形態では、保護すべき第1の電子文書が存在し、第1の電子文書に含まれる内容が第2の電子文書において再利用されるとき、制御部107は、第1の電子文書から第2の電子文書へとアクセス権が継承されるように、アクセス権を制御する。第1と第2の電子文書は、文書格納領域101に格納される。
なお、継承において「子」に当たる第2の文書には、継承において「親」に当たる第1の電子文書に設定されている第1のアクセス権と同じか、それよりも強く制限された第2のアクセス権が設定される。なぜなら、第1の電子文書の内容が再利用されたときに、情報の漏洩を確実に防ぐためである。第1のアクセス権に基づいて第2のアクセス権が具体的にはどのように設定されるのかという例は、後述する。
なお、文書に含まれる内容、つまり文書に含まれる情報が再利用される仕方は様々であり、例えば、下記(a1)〜(a3)のような観点から分類することができる。
(a1)第1の電子文書が含む内容のうちの一部のみが第2の電子文書で再利用されるのか、それとも、第1の電子文書が含むすべての内容が第2の電子文書で再利用されるのか、という観点。
(a2)第1の電子文書から第2の電子文書へと、直接的に内容が再利用されるのか、それとも、1つ以上の別の電子文書を介して、間接的に第1の電子文書から第2の電子文書へと内容が再利用されるのか、という観点。
(a3)再利用される内容が、第1の電子文書と第2の電子文書において同じ形式のデータにより表されるのか、それとも、同じ内容を表すデータの形式は第1の電子文書と第2の電子文書で異なるのか、という観点。
例えば、(a2)の観点について、第1の電子文書の内容が直接的に第2の電子文書で再利用される場合だけを例にとっても、第1の電子文書の内容は以下の(b1)〜(b6)のように様々な仕方で再利用される。
(b1)OS102により第1の電子文書がコピーされ、第2の電子文書として保存される。
(b2)第1の電子文書がアプリケーション103により開かれ、「別名で保存」などのメニューにより、第2の電子文書として保存される。
(b3)第1の電子文書から第2の電子文書へ、データがコピー・アンド・ペーストまたはカット・アンド・ペーストされる。
(b4)第1の電子文書から第2の電子文書へ、データがエクスポートされる。
(b5)第1の電子文書がアプリケーション103により開かれ、GUI(Graphical User Interface)により第1の電子文書の内容が表示された状況で、スクリーンショットが撮られる。そして、スクリーンショットの画像データが、第2の電子文書に貼り付けられる。
(b6)CLI(Command Line Interface)を介して、1つ以上のコマンドとともに入出力リダイレクションまたはパイプを用いることで、第1の電子文書の一部または全部が、新たな第2の電子文書として保存されるか、または既存の第2の電子文書に追加される。
なお、(b2)〜(b6)はそれぞれ、(a1)または(a3)の観点からさらに分類されうる。
例えば、(b3)は、コピーの範囲に応じて(a1)の観点からさらに分類される。また、保存、貼り付け、およびインポートなどのメニューにおいて、データ形式の選択が可能なアプリケーション103では、(b2)〜(b4)が、メニューから選択されるデータ形式に応じて(a3)の観点からさらに分類される。
また、(b5)は、(a3)の観点に関しては、同じ内容の情報が異なるデータ形式で再利用される場合が多い。例えば、元はテキスト形式で表されていた情報が、スクリーンショットの画像データとして表されて再利用されることがある。
以下では、主に(b1)と(b3)の場合について詳しく説明する。しかし、OS102またはアプリケーション103の1つ以上の処理により、第1の電子文書に含まれる内容が第2の電子文書において再利用されるという点では、(b1)〜(b6)は共通している。したがって、(b1)〜(b6)のいずれの場合であっても、以下に説明する方法または以下の方法を適宜変形した方法により、アクセス権の継承を実現することができる。
つまり、アプリケーション監視部106は、保護すべき第1の電子文書に含まれる内容が第2の電子文書において再利用される場合に行われる1つ以上の処理を監視し、捕捉する。そして、制御部107は、捕捉された処理に応じて、第1の電子文書から第2の電子文書へとアクセス権を継承させる。
すなわち、アプリケーション監視部106は、保護すべき第1の電子文書に含まれる内容が、例えば(b1)〜(b6)のいずれかにより第2の電子文書で再利用される場合に行われる1つ以上の処理を監視する。例えば、コピー・アンド・ペーストによる情報の再利用に関して、アプリケーション監視部106は、コピーに伴う要求または応答、およびペーストに伴う要求または応答を監視し、捕捉する。その結果として、制御部107は、第1の電子文書に含まれる内容が第2の電子文書で再利用されたことを認識することができる。
継承管理テーブル108は、詳しくは図4とともに説明するとおり、第1の電子文書と第2の電子文書とを関連づけることにより、「第1の電子文書に含まれる内容が第2の電子文書で再利用されている」ということを表す第1の継承管理情報を含む。正確には、第1の継承管理情報は、未確定の再利用について示している。
再利用された内容を元々含んでいた第1の電子文書は、アクセス権の継承における親に当たり、内容が再利用された先の第2の電子文書は、アクセス権の継承における子に当たる。
ファイルオープン制御部109は、文書格納領域101に格納された電子文書のファイルを開くときの制御を行う。ファイルオープン制御部109の動作の詳細は、図5とともに後述する。
ファイル保存制御部110は、開いている電子文書のファイルを文書格納領域101に保存するときの制御を行う。ファイル保存制御部110の動作の詳細は、図6および図9とともに後述する。
また、共有メモリ制御部111は、共有メモリ104へのアクセスが生じたときの制御を行う。具体的には、共有メモリ制御部111が備える書き込み制御部112は、共有メモリ104へデータが書き込まれるときの制御を行う。また、共有メモリ制御部111が備える貼り付け制御部113は、共有メモリ104からデータが読み出され、電子文書に
貼り付けられるときの制御を行う。書き込み制御部112と貼り付け制御部113の動作の詳細は、図7および図8とともに後述する。
後述するように、ファイルオープン制御部109、ファイル保存制御部110、書き込み制御部112、および貼り付け制御部113は、アクセス権管理サーバ300を介してアクセス権管理テーブル301を参照して制御を実行する。さらに、ファイル保存制御部110は、アクセス権管理サーバ300を介してアクセス権管理テーブル301を変更する場合もある。
なお、例えば、コンピュータ100が後述の図21のコンピュータ500のように構成されてもよい。その場合、上記の各部を含むアクセス制御部105は、図21のCPU(Central Processing Unit)501が図21のRAM(Random Access Memory)503にプログラムをロードして実行することでミドルウェアとして実現される。アクセス制御部105がミドルウェアとして実現されることの利点の1つは、既存のOS102を変更することなく、図6〜図9に示す処理によってアクセス権の継承を実現することが可能となる点である。
また、継承管理テーブル108はRAM503により実現される。アクセス権管理テーブル301の参照および変更のためのアクセス権管理サーバ300との通信は、図21の通信インターフェイス504を介して行われる。
続いて、図1のシステムによるアクセス権の継承の概要を、図2と図3の例を用いて説明する。その後、具体的な制御について図4〜図10を参照して説明する。
図2は、第1実施形態の作用の一例を示す図である。図2は、コピー・アンド・ペーストにより情報が再利用される場合の、図1のシステムの作用の概要を説明する図である。
図2において、文書D1は保護すべき情報を含むので、アクセス権が設定されている。図2の例では、説明の簡単化のため、アクセス権のうち読み出し権限を例として説明し、不図示の特定のユーザUのみがアプリケーション103によって文書D1を読み出す権限を有するとする。
また、情報を保護するために、文書D1は暗号化されて文書格納領域101に格納されている。図2では、暗号化されていることを鍵の印で示してある。以下では、アクセス権管理テーブル301によりアクセス権が設定され、暗号化された文書を「保護文書」という。また、アクセス権管理テーブル301によりアクセス権が設定されておらず、暗号化もされていない文書を「非保護文書」という。
また、暗号化された形式を「保護形式」、暗号化されていない形式を「非保護形式」という。保護形式において用いられる暗号化アルゴリズムは任意である。保護文書の定義については、図5とともに再度述べる。
他方、文書D2は、元々は、特に保護すべき情報を含まない。よって、文書D2は、暗号化されずに文書格納領域101に格納されている。また、文書D2へのアクセスは制限されておらず、すなわち、任意のユーザが文書D2に対する読み出し権限と書き込み権限を有する。
ユーザUがアプリケーション103から文書D1を開くとき、アプリケーション103は、文書D1を復号する。
ここで、文書D1に含まれるデータの一例としてオブジェクトXに注目し、共有メモリ104により実現されるクリップボードを介してオブジェクトXが文書D2にコピー・ア
ンド・ペーストされるとする。オブジェクトXは、テキスト、画像、その他の任意のオブジェクトであってよい。
この場合、もし、アクセス制御部105による制御が行われないと、本来は文書D1において保護されているはずのオブジェクトXの内容を、暗号化されていない文書D2を通じて、任意のユーザが知ることができるようになってしまう。つまり、オブジェクトXが表す情報が漏洩する危険が生じる。
このように、文書D1へのアクセスを制御するだけでは、文書D1へのアクセス権を有するユーザUの操作に起因する、他の文書を介した情報漏洩を防ぐのには不十分である。
そこで、本実施形態では、オブジェクトXが文書D1から文書D2にコピー・アンド・ペーストされた場合であっても、オブジェクトXが表す情報が文書D2を介して漏洩することのないように、アクセス制御部105が制御を行う。つまり、アクセス制御部105は、文書D1のアクセス権を文書D2に継承させることで文書D2へのアクセスを制限し、文書D2からの情報の漏洩を防ぐ制御を行う。
アクセス制御部105内の各部による制御の詳細は、図4〜図10とともに後述するが、アクセス制御部105全体の動作として概要を説明すれば次のとおりである。
アクセス制御部105は、オブジェクトXが文書D1からクリップボードへとコピーされるとき、オブジェクトXを暗号化し、文書D1のアクセス権情報をオブジェクトXに付加する。そして、オブジェクトXが文書D2に貼り付けられようとするとき、アクセス制御部105は、貼り付けを実行してよいか否かを判定する。
図2の例では、ユーザUの権限で実行されるアプリケーション103により文書D2が開かれているとする。また、オブジェクトXには、文書D1のアクセス権情報が付加されている。つまり、文書D1のアクセス権情報により、ユーザUには、アプリケーション103からオブジェクトXを読み出す権限が付与されている。
したがって、アクセス制御部105は「文書D2を開いているユーザUとアプリケーション103の組み合わせには、オブジェクトXに対する読み取り権限と文書D2に対する書き込み権限があるので、貼り付けを実行してよい」と判断する。この判断において、アクセス制御部105はアクセス権管理テーブル301を参照する。
アクセス制御部105は、「貼り付けを実行してよい」と判断すると、クリップボード上の暗号化されたオブジェクトXを復号して文書D2に貼り付ける。
そして、アクセス制御部105は、オブジェクトXに付加されたアクセス権情報、すなわち文書D1のアクセス権情報を、文書D2のアクセス権情報に反映するための処理を行う。換言すれば、アクセス制御部105は、オブジェクトXの貼り付けを機に、「文書D1のアクセス権を文書D2が継承すべきである」という関係を記憶する。
そして、オブジェクトXが貼り付けられた文書D2が保存されようとするとき、アクセス制御部105は、記憶した関係に基づいて、文書D1から継承したアクセス権情報を文書D2に関連づけて、アクセス権管理テーブル301に登録する。また、アクセス制御部105は、文書D2を暗号化してから文書格納領域101に保存する。
以上の制御により、オブジェクトXが文書D1から文書D2にコピー・アンド・ペーストされた場合、文書D1から文書D2へとアクセス権が継承される。例えば、ユーザUのみが文書D1の読み出し権限を有する場合、継承の結果、ユーザUのみが文書D2に対する読み出し権限を有することになる。したがって、オブジェクトXが表す情報が、文書D2を介して、文書D1の読み出し権限を持たない他のユーザに漏洩する、という危険が回
避される。
図3は、第1実施形態によるアクセス権の継承の一例を示す図である。図3でも説明の簡単化のため、アクセス権のうち読み出し権限を例として説明する。
図2の例に関しては、説明の簡単化のため、文書D1の読み出し権限をユーザUのみが有すると仮定した。しかし、複数のユーザが同じ1つの文書の読み出し権限を有する場合も一般的である。また、図2の例では、アクセス権の継承において子に当たる文書D2から見て、親に当たるのは文書D1のみである。しかし、複数の親からアクセス権を継承する場合もありうる。
図3の例では、ユーザU1、U2、およびU3のみが文書D11の読み出し権限を有し、ユーザU1とU2のみが文書D12の読み出し権限を有する。また、元々はユーザU2とU3のみが文書D13の読み出し権限を有する。つまり、読み出し権限の設定された文書D11〜D13はいずれも保護文書である。
図3は、文書D11とD12の双方の情報が文書D13において再利用される場合に、アクセス制御部105がどのようなアクセス権を文書D13に設定すべきかを説明している。換言すると、図3は、どのように文書D11とD12からアクセス権を文書D13へと継承させるべきかを説明している。
すなわち、文書D11とD12から情報を再利用した後の文書D13のアクセス権は、下記(c1)〜(c3)のすべてを満たす必要がある。
(c1)文書D11のアクセス権と同等か、文書D11のアクセス権よりも厳しく制限されている。
(c2)文書D12のアクセス権と同等か、文書D12のアクセス権よりも厳しく制限されている。
(c3)情報が再利用される前の元の文書D13のアクセス権と同等か、情報が再利用される前の元の文書D13のアクセス権よりも厳しく制限されている。
例えば、「いかなるユーザも、情報が再利用された後の文書D13の読み出し権限を持たない」という設定は、(c1)〜(c3)のすべてを満たすが、必要以上に制限が厳しい。そこで、アクセス制御部105は、例えば、(c1)〜(c3)のすべてを満たすという条件のもとで、最も制限の緩い設定を、情報が再利用された後の新たな文書D13に適用する。
図3の例では、ユーザU1は元の文書D13の読み出し権限がなく、ユーザU3は文書D12の読み出し権限がなく、ユーザU1〜U3以外の他のユーザには、文書D11、D12、および元の文書D13の読み出し権限がない。したがって、アクセス制御部105は、情報が再利用された後の文書D13に対して、ユーザU2のみが読み出し権限を有するよう、アクセス権情報を設定する。
なお、上記の説明では簡単のために読み出し権限の継承のみを例示したが、書き込み権限などその他の種類のアクセス権も同様にして継承される。
続いて、図4〜図10を参照して、図2と図3に概要を例示したアクセス権の継承について詳細に説明する。
図4は、第1実施形態の継承管理テーブルの一例を示す図である。本実施形態においてアクセス制御部105内の制御部107が備える継承管理テーブル108は、図4のように、現在アプリケーション103が開いている文書のID(identifier)を、1つ以上の
、直接または間接のコピー元文書のIDと関連づけるテーブルである。文書IDは、電子文書を識別する識別情報の具体例である。
なお、以下では、第1の文書に含まれるデータが、第2の文書にコピー・アンド・ペーストまたはカット・アンド・ペーストされて再利用されるとき、第1の文書を「コピー元文書」といい、第2の文書を「コピー先文書」という。コピー元文書はアクセス権の継承における親に当たり、コピー先文書は子に当たる。
図4の左列は開いている文書のIDを示し、右列はコピー元文書のIDを示し、左列と右列は1対nの関係である。後述するように、継承管理テーブル108は、動的に更新される。また、図4の左列には保護文書または非保護文書の文書IDが記録され、右列には保護文書のIDのみが記録される。
また、例えば「DOC1」という文書IDの文書のことを単に「文書DOC1」と表記する。逆に、「文書DOC1」という表記は、文書IDが「DOC1」であることを含意するものとする。
図4によれば、「DOC1」という文書IDが「DOC2」という文書IDと関連づけられている。すなわち、文書DOC1は、保護文書DOC2から再利用した情報を含むことを図4は示している。図4は、文書DOC1が保護文書であるか非保護文書であるかについては表していない。
また、図4は、文書DOC3が保護文書DOC4から再利用した情報を含み、保護文書DOC4が保護文書DOC5から再利用した情報を含むことを示している。したがって、文書DOC3は、保護文書DOC4を介して間接的に保護文書DOC5の情報を再利用している可能性がある。
本実施形態では、このように間接的な再利用の可能性がある場合、「文書DOC5は文書DOC3の間接のコピー元文書である」という。また、間接的な再利用の可能性がある場合、継承管理テーブル108は、図4に示すように、文書ID「DOC3」に文書ID「DOC4」だけではなく、文書ID「DOC5」も関連づけて記憶している。
なお、間接的な再利用の可能性があることと、実際に情報の間接的な再利用が行われることは違う。例えば、保護文書DOC4に含まれる情報のうち保護文書DOC5から再利用されたのではない情報を、文書DOC3が保護文書DOC4から再利用する場合がある。
この場合、実際には保護文書DOC5の情報は、文書DOC3で再利用されているわけではない。しかし、上記の定義から文書DOC5は文書DOC3の間接のコピー元文書である。上記のように間接のコピー元文書が定義される理由は、アクセス権の継承における管理の粒度が文書単位であるためである。
また、図4は、保護文書DOC6と保護文書DOC7がともに現在開かれており、互いに情報を再利用しあっているということも表している。
つまり、図4において、保護文書DOC6は、保護文書DOC7のコピー元文書でもありコピー先文書でもある。同様に、保護文書DOC7は、保護文書DOC6のコピー元文書でもありコピー先文書でもある。
したがって、保護文書DOC6と保護文書DOC7の間では、アクセス権の継承における親子関係も循環的であり、例えば保護文書DOC6は保護文書DOC6自身の先祖でも
あり子孫でもある。このような循環的な関係は、3つ以上の文書において循環的に互いの情報が再利用された場合にも生じる。
本実施形態では、循環的な関係が生じた場合、左列の「開いている文書のID」自体が「コピー元文書のID」として右列に記憶されることのないよう、継承管理テーブル108が、後述の図8の処理によって制御される。
次に、図5を参照してアクセス権管理テーブル301について説明する。図5は、第1実施形態のアクセス権管理テーブルの一例を示す図である。
図5において、アクセス権管理テーブル301には、「文書ID」列と「ユーザIDまたはグループID」列と「保護文書を扱えるアプリケーションID」列と「権限」列がある。アクセス権管理テーブル301は、「ユーザIDまたはグループID」列と「保護文書を扱えるアプリケーションID」列と「権限」列の組み合わせにより表されるアクセス権情報を、個々の文書IDに関連づけている。アクセス権情報はAC(Access Control)情報と呼ばれることもある。
本実施形態において、アクセス権管理テーブル301の「文書ID」列に文書IDが登録された文書は、図2に関して説明した保護文書のみである。前述のとおり、保護文書は、保護すべき情報を含むために、アクセス権が設定され、暗号化されて図1の文書格納領域101に格納されている。
すなわち、アクセス権管理テーブル301は、各保護文書に設定されたユーザ別かつアプリケーション別のアクセス権を管理するテーブルであり、非保護文書については何も管理しない。
図5の例では、「ユーザIDまたはグループID」列には保護文書にアクセス可能なユーザまたはグループのIDのみが含まれる。また、「保護文書を扱えるアプリケーションID」にはそれらのユーザまたはグループが保護文書にアクセスするときに使用が許可されるアプリケーションのIDのみが含まれる。そして、「権限」列には、それらのアプリケーションによって実行することが許可された操作が格納されている。
本実施形態では、後述するように、ファイル保存制御部110または書き込み制御部112からの要求に基づいて、アクセス権管理サーバ300が文書IDを発行する。アクセス権管理サーバ300は、文書を識別する文書索引情報と、発行された文書IDを関連づけて管理する。例えば、文書索引情報は、文書格納領域101におけるパスを含むファイル名でもよく、OS102が提供するファイルシステム上でファイルを一意に識別する識別番号でもよい。
なお、以下では文書に関する表記と同じく、例えば「USER1」というユーザIDのユーザを単に「ユーザUSER1」と表記し、「GROUP1」というグループIDのユーザグループを単に「グループGROUP1」と表記する。同様に、例えば「APP−U1−1」というアプリケーションIDのアプリケーションを単に「アプリケーションAPP−U1−1」と表記する。
図5では、「権限」列において、読み出し権限(つまり閲覧権限)は「Read」と表され、書き込み権限(つまり編集権限)は「Write」と表され、印刷権限は「Print」と表されている。削除権限など、その他の種類の権限がさらに定義されていてもよい。
図5によれば、例えば、ユーザUSER1により起動されたアプリケーションAPP−
U1−1が文書DOC1にアクセスする場合、文書DOC1の読み込みは許可されるが、文書DOC1への書き込みや文書DOC1の印刷は許可されない。また、同じユーザUSER1により起動された別のアプリケーションAPP−U1−2が同じ文書DOC1にアクセスする場合、文書DOC1の読み込みと文書DOC1への書き込みが許可される。
ユーザUSER2などの他のユーザや、グループGROUP1などのユーザグループに関しても同様に、アクセス権情報が定義されている。そして、ユーザIDまたはグループIDと、アプリケーションIDと、権限との組み合わせにより表現されるこれらのアクセス権情報の集合が、文書DOC1に関連づけられている。
なお、図5のアクセス権管理テーブル301は、明示的な指定がなければ権限がない形式で表されている。例えば、ユーザUSER1により起動されたアプリケーションAPP−U1−1が文書DOC1にアクセスする場合に関して、「権限」列に「Write」という明示的な指定がないことは、書き込み権限がないことを表す。しかし、各種類の権限について、例えばフラグを用いて権限がないことを明示的に表現する形式も可能である。
以上説明した図5のアクセス権管理テーブル301は、図1のファイルオープン制御部109、ファイル保存制御部110、書き込み制御部112、および貼り付け制御部113から、アクセス権管理サーバ300を介して参照または変更される。
例えば、アプリケーション103がOS102に対して文書を開くことを要求すると、アプリケーション監視部106が要求を捕捉する。捕捉した要求が、文書を開くためのオープン要求であることから、アプリケーション監視部106は、ファイルオープン制御部109に、捕捉したオープン要求を通知する。
オープン要求は、開こうとする文書を識別する文書索引情報を含む。また、アプリケーション監視部106は、オープン要求を発したアプリケーション103のアプリケーションIDと、アプリケーション103を起動したユーザのユーザIDも検出し、オープン要求とともにファイルオープン制御部109に通知する。文書索引情報は、例えば、文書格納領域101におけるパスを含むファイル名でもよく、OS102が提供するファイルシステム上でファイルを識別するinode番号などの識別番号でもよい。
オープン要求が通知されると、ファイルオープン制御部109は、オープン要求に応じて文書を開くべきか否かを、アクセス権管理サーバ300を介してアクセス権管理テーブル301を参照することにより、判定する。
つまり、ファイルオープン制御部109は、アクセス権管理サーバ300に対して、オープン要求に含まれる文書索引情報に対応する文書IDが存在し、かつアクセス権管理テーブル301に登録されているか否かを調べるよう要求する。文書索引情報に対応する文書IDが存在し、かつアクセス権管理テーブル301に登録されていれば、オープン要求は保護文書に関するものである。文書索引情報に対応する文書IDが存在しないか、存在したとしてもアクセス権管理テーブル301に登録されていなければ、オープン要求は非保護文書に関するものである。
また、ファイルオープン制御部109は、保護文書に関するオープン要求の場合はさらに、アクセス権管理テーブル301において下記(d1)と(d2)が関連づけられているか否かを調べるようアクセス権管理サーバ300に要求する。
(d1)オープン要求が出された保護文書の文書ID。
(d2)オープン要求とともに通知された、ユーザID(または当該ユーザIDが属す
るグループのグループID)およびアプリケーションID、ならびに読み出し権限の組み合わせで表されるアクセス権情報。
アクセス権管理サーバ300は、ファイルオープン制御部109からの要求にしたがってアクセス権管理テーブル301を参照し、ファイルオープン制御部109に下記(e1)〜(e3)のいずれかの応答を返す。
(e1)オープン要求は非保護文書に関するものである。
(e2)オープン要求は保護文書に関するものである。要求された保護文書に対する読み出し権限は、オープン要求とともに通知されたユーザIDとアプリケーションIDの組み合わせに対して付与されている。
(e3)オープン要求は保護文書に関するものである。要求された保護文書に対する読み出し権限は、オープン要求とともに通知されたユーザIDとアプリケーションIDの組み合わせに対して付与されていない。
アクセス権管理サーバ300から(e1)の応答を得た場合、ファイルオープン制御部109は、オープン要求を受け入れてよいと判断し、オープン要求をOS102に通知する。OS102は、オープン要求にしたがって非保護文書を開き、開いた非保護文書にアクセスするためのインターフェイスをアプリケーション103に提供する。例えば、OS102は、アプリケーション103にファイルハンドルを返すことで、インターフェイスを提供することができる。
また、アクセス権管理サーバ300から(e2)の応答を得た場合、ファイルオープン制御部109は、オープン要求を受け入れてよいと判断し、要求された保護文書を非保護形式に変換して開く。すなわち、ファイルオープン制御部109は、暗号化されている保護文書を復号して開く。そして、ファイルオープン制御部109は、復号されて開かれた保護文書にアクセスするための、例えばファイルハンドルなどのインターフェイスを、アプリケーション103に提供する。
例えば、ユーザUSER1により起動され、ユーザUSER1の権限において実行されているアプリケーションAPP−U1−1が、保護文書DOC1を開くようオープン要求を発したとする。この場合、図5のとおり、読み出し権限が付与されているので、ファイルオープン制御部109は(e2)の応答を得る。
また、アクセス権管理サーバ300から(e3)の応答を得た場合、ファイルオープン制御部109は、オープン要求を受け入れてはならないと判断し、アプリケーション103に例えばエラーコードを返す。
ファイル保存制御部110、書き込み制御部112、および貼り付け制御部113が図5のアクセス権管理テーブル301を参照または変更する処理については、図6〜図9のフローチャートとともに後述する。
続いて、図6〜図9を参照して、図4と図5の情報を用いた図1のシステムの動作について説明する。なお、混乱のおそれがないので、図6に関してのみ、図4に関して定義したのとは多少異なる意味で「コピー元文書」と「コピー先文書」という用語を用いるが、コピー元文書に含まれる内容がコピー先文書において再利用されるという点では違いはない。
図6は、第1実施形態において文書全体をコピーするときのフローチャートである。保
護文書である第1の文書が第2の文書としてコピーされると、第1の文書の内容は第2の文書において丸ごと再利用される。そこで、図1のアクセス制御部105は図6の処理により、第2の文書から情報が漏洩するのを防ぐ。
ステップS101において、OS102に対する文書のコピーの要求(以下、「文書コピー要求」という)が発生する。
例えば、OS102により提供されるGUIにより表示された文書のアイコンが選択され、指定されたフォルダにコピーを作成するためのメニューが選択され、フォルダの指定がなされると、文書コピー要求が生じる。
また、CLIにおいてファイルをコピーするコマンドが入力された場合にも、文書コピー要求が生じる。
次のステップS102でOS102は、文書コピー要求にしたがって文書をコピーし、コピーが完了したことをアプリケーション103に報告する。以下、この報告を「文書コピー完了報告」という。
アプリケーション監視部106は文書コピー完了報告を監視しているので、ステップS102において、文書コピー完了報告を捕捉して横取りし、ファイル保存制御部110に通知する。
そして、ステップS103でファイル保存制御部110は、ステップS102で捕捉された文書コピー完了報告が保護文書に関するものか否かを、アクセス権管理テーブル301を参照することにより判定する。
本実施形態では、文書コピー完了報告には、コピー元文書、すなわちコピーすべきオリジナルの文書と、コピー先文書、すなわちステップS102のコピーにより新たに作成された文書をそれぞれ識別する文書索引情報が含まれる。あるいは、アプリケーション監視部106は、ステップS101で文書コピー要求を監視して捕捉することにより、コピー元文書とコピー先文書それぞれの文書索引情報を認識してもよい。
ステップS103においてファイル保存制御部110は、アクセス権管理サーバ300に対して、コピー元文書の文書索引情報に対応する文書IDが存在し、かつアクセス権管理テーブル301に登録されているか否かを調べるよう要求する。コピー元文書の文書索引情報に対応する文書IDがアクセス権管理テーブル301に登録されていれば、コピー元文書は保護文書であり、登録されていなければ、コピー元文書は非保護文書である。
コピー元文書が保護文書の場合、処理はステップS103からステップS104に移行し、コピー元文書が非保護文書の場合、処理はステップS103からステップS105に移行する。
ステップS104でファイル保存制御部110は、コピー先文書を保護形式化する(つまり暗号化する)。なお、実施形態によっては、保護形式の暗号化されたコピー元文書をステップS102でOS102が単純にコピーしただけで暗号化されたコピー先文書が生成されることもある。その場合は、ステップS104で改めてコピー先文書を保護形式化する必要はない。
また、ステップS104でファイル保存制御部110は、コピー先文書に新たな文書IDを発行してコピー先文書の文書索引情報と新たな文書IDとを関連づけて管理するようアクセス権管理サーバ300に要求する。アクセス権管理サーバ300は、要求にしたがって新たな文書IDを発行してコピー先文書の文書索引情報と関連づけ、発行した文書I
Dをファイル保存制御部110に通知する。
さらに、ファイル保存制御部110は、アクセス権管理サーバ300を介して、アクセス権管理テーブル301におけるコピー元文書のアクセス権情報をコピー先文書に付加し、付加したアクセス権情報をアクセス権管理テーブル301に登録する。
例えば、コピー元文書が文書DOC1であり、コピー先文書に発行された新規の文書IDが「DOC100」であるとする。この場合、ファイル保存制御部110からの要求に応じてアクセス権管理サーバ300は、図5のアクセス権管理テーブル301において「DOC1」という文書IDに関連づけられたアクセス権情報一式をコピーし、文書ID「DOC100」と関連づけてアクセス権管理テーブル301に登録する。その結果、アクセス権管理テーブル301には「DOC100」という文書IDに関連づけられた新たなエントリが追加される。
最後に、ステップS105においてファイル保存制御部110が、ステップS102で捕捉された文書コピー完了報告の宛先であるGUI、CLI、あるいはその他のプロセスに、コピーの完了を報告する。そして、図6の処理は終了する。したがって、コピー元文書が非保護文書の場合は、単にOS102からの文書コピー完了報告がアプリケーション103に転送されるだけである。
なお、図6の処理は、アプリケーション監視部106が文書コピー要求を監視して捕捉するよう、変形することもできる。その場合、アプリケーション監視部106は捕捉した文書コピー要求をファイル保存制御部110に通知し、ファイル保存制御部110はOS102に文書コピー要求を転送する。また、文書コピー完了報告はOS102からファイル保存制御部110に送られる。しかし、ステップS104におけるアクセス権の継承は図6と同様である。
以上の図6の処理によれば、例えば保護文書DOC1がコピーされて新たな文書DOC100が作成された場合、文書DOC100には文書DOC1と同じアクセス権が設定される。つまり、文書DOC100は文書DOC1のアクセス権を継承している。したがって、コピー元文書DOC1へのアクセス権を持たないユーザに、コピー先文書DOC100を介して、コピー元文書DOC1に含まれる情報が漏洩することはない。
業務アプリケーションごとに機密ファイルへのアクセスを許可または禁止する従来の方法では、任意のユーザが、機密ファイルへのアクセスが許可された業務アプリケーションを用いて機密ファイルの内容を再利用することができる。つまり、RBAC(Roll-Based
Access Control)が行われていない。しかし、本実施形態では、図5のアクセス権管理テーブル301のように、ユーザ別にアクセス権を設定することができ、RBACを実現することができる。
また、図6の処理は、コピー元文書が文書格納領域101のどのフォルダに格納されているかに依存せず、コピー先文書が文書格納領域101のどのフォルダに作成されるかにも依存しない。また、図6の処理は透過的に実行される。
したがって、コピー元文書へのアクセス権を有するユーザは、コピー元文書が保護文書であるか否かを意識する必要がなく、任意のフォルダの任意の文書を、任意のフォルダにコピーすることができる。つまり、本実施形態によれば、保護すべき文書をユーザが特定の保護フォルダに移動する必要がないので、ユーザが文書の移動を忘れたせいで情報が漏洩してしまう、といった事態に陥ることがない。
続いて、図7〜図10を参照して、共有メモリ104を介した情報の再利用におけるアクセス制御部105の動作について詳しく説明する。なお、以下では、共有メモリ104により実現されるクリップボードを介したコピー・アンド・ペーストによる情報の再利用について具体的に説明するが、共有メモリ104を介した情報の再利用はコピー・アンド・ペーストに限らない。
図7は、第1実施形態において文書中のデータをコピーするときのフローチャートである。
ステップS201において、アプリケーション103は、現在開いている文書中のデータを共有メモリ104にコピーするようOS102に要求する。以下、この要求を「データコピー要求」という。
例えば、アプリケーション103が現在開いている文書中の一部または全部の範囲が選択され、選択された範囲のデータをコピーするよう、ユーザから入力装置を介して指示される。すると、アプリケーション103は、選択された範囲のデータをクリップボードとしての共有メモリ104にコピーするためのデータコピー要求を発する。
次のステップS202でOS102は、アプリケーション103からのデータコピー要求にしたがって、データを共有メモリ104にコピーし、コピーの完了をアプリケーション103に報告する。なお、一般にOS102が提供するクリップボードでは、コピーのたびにデータが上書きされ、以前クリップボードにコピーされたデータは残らない。
アプリケーション監視部106は、OS102からアプリケーション103へのコピー完了報告を監視しているので、ステップS202でコピー完了報告を捕捉して横取りする。
コピー完了報告の宛先またはコピー完了報告そのものから、アプリケーション監視部106は、データコピー要求を発したアプリケーション103のアプリケーションIDとコピー元文書の文書索引情報を認識する。
そして、アプリケーション監視部106は、書き込み制御部112に、データコピー要求を発したアプリケーションのアプリケーションIDとコピー元文書の文書索引情報を通知する。
続いてステップS203で、書き込み制御部112は、コピー元文書が保護文書か否かを、アクセス権管理テーブル301を参照して判定する。例えば、書き込み制御部112は、ネットワーク200を介してアクセス権管理サーバ300に、コピー元文書の文書索引情報を指定した問い合わせを行う。すなわち、指定された文書索引情報に対応する文書IDが存在し、かつアクセス権管理テーブル301に登録されているか否かを調べるよう、書き込み制御部112はアクセス権管理サーバ300に要求する。
指定された文書索引情報に対応する文書IDが存在し、かつアクセス権管理テーブル301に登録されていれば、データコピー要求は保護文書に関するものである。指定された文書索引情報に対応する文書IDが存在しないか、存在したとしてもアクセス権管理テーブル301に登録されていなければ、データコピー要求は非保護文書に関するものである。
アクセス権管理サーバ300は、データコピー要求が保護文書と非保護文書のいずれに関するのかを書き込み制御部112に応答する。また、データコピー要求が保護文書に関する場合、アクセス権管理サーバ300はさらに、コピー元文書の文書IDを書き込み制
御部112に通知する。
コピー元文書が保護文書の場合、処理はステップS203からステップS204に移行し、コピー元文書が非保護文書の場合、処理はステップS203からステップS205に移行する。
ステップS204で書き込み制御部112は、ステップS202で共有メモリ104に書き込まれたデータを保護形式化する。すなわち、書き込み制御部112は、共有メモリ104上のデータを暗号化して共有メモリ104に上書きする。暗号化アルゴリズムは任意である。
また、書き込み制御部112は、ステップS203で通知されたコピー元文書の文書IDを共有メモリ104上の空いている領域に書き込み、共有メモリ104上の保護形式化されたデータと関連づける。
また、もしコピー元文書の文書IDが図4の継承管理テーブル108において「開いている文書のID」列に登録されている場合は、書き込み制御部112は、関連づけられた「コピー元文書のID」列の1つ以上の文書IDを取得する。そして、書き込み制御部112は取得した1つ以上の文書IDをさらに、共有メモリ104上の保護形式化されたデータと関連づけて、共有メモリ104上の空いている領域に書き込む。そして、書き込み制御部112はコピーの完了をアプリケーション103に報告し、図7の処理は終了する。
例えば、保護文書DOC2がコピー元文書である場合、ステップS204の処理により共有メモリ104には、保護文書DOC2からコピーされて保護形式化されたデータと、文書ID「DOC2」とが、互いに関連づけられた状態で格納される。
あるいは、保護文書DOC4がコピー元文書であり、継承管理テーブル108が図4に示した状態だとする。この場合、継承管理テーブル108において「開いている文書のID」列にコピー元文書の文書ID「DOC4」が登録されており、「コピー元文書のID」列に関連づけられて登録されているのは文書ID「DOC5」である。
したがって、この場合、ステップS204の処理により共有メモリ104には、保護文書DOC4からコピーされて保護形式化されたデータと、2つの文書ID「DOC4」および「DOC5」とが、関連づけられた状態で格納される。
他方、コピー元文書が非保護文書の場合は、ステップS205で書き込み制御部112が、コピー元文書が保護文書から再利用したデータを含むか否かを、継承管理テーブル108を参照することにより判断する。
より正確には、ステップS205では、コピー元文書が保護文書から再利用したデータを実際に含むか否かではなく、コピー元文書が保護文書から再利用したデータを含む可能性があるか否かが判断される。換言すれば、ステップS205では、図4に関して述べた間接的再利用の可能性があるか否かが判断される。
例えば、コピー元文書が非保護文書DOC3であるとする。図4の継承管理テーブル108を参照すると、「開いている文書のID」列には文書ID「DOC3」が登録されている。後述の図8の処理から明らかなとおり、この場合、コピー元文書DOC3は、保護文書から再利用したデータを含む可能性がある。
コピー元文書が保護文書から再利用したデータを含む可能性がある場合、処理はステップS206に移行する。コピー元文書が保護文書から再利用したデータを含む可能性がない場合は、書き込み制御部112がコピーの完了をアプリケーション103に報告し、図7の処理が終了する。
ステップS206が実行されるのは、ステップS202でのコピーにおける直接のコピー元文書自体は非保護文書であり、かつ、保護文書からの間接的な情報の再利用の可能性がある場合である。したがって、共有メモリ104上のデータを保護する必要がある。
そこで、ステップS206では、書き込み制御部112が、ステップS202で共有メモリ104にコピーされたデータを保護形式化する。さらに、書き込み制御部112は、ステップS203で通知されたコピー元文書の文書IDに関連づけられて継承管理テーブル108の「コピー元文書のID」列に登録されている文書IDを、1つ以上の間接的なコピー元文書の文書IDとして取得する。
例えば、コピー元文書が非保護文書DOC3の場合、図4の継承管理テーブル108によれば、「開いている文書のID」列の文書ID「DOC3」に対応して「コピー元文書のID」列には文書ID「DOC4」および「DOC5」が登録されている。したがって、書き込み制御部112は間接的なコピー元文書の文書IDとして文書ID「DOC4」および「DOC5」を取得する。
そして、書き込み制御部112は、継承管理テーブル108から取得した情報(例えば上記の例では2つの文書ID「DOC4」および「DOC5」)をさらに、共有メモリ104上の保護形式化されたデータと関連づけて、共有メモリ104上の空いている領域に書き込む。そして、書き込み制御部112がコピーの完了をアプリケーション103に報告し、図7の処理は終了する。
なお、以上説明した図7の処理を、図2における保護文書D1からクリップボードへのオブジェクトXのコピー時の処理と比較すると、図2でのオブジェクトXへのアクセス権情報の付加は、図7のステップS204またはS206において行われている。
つまり、文書IDを共有メモリ104にコピーし、保護形式化されたデータと関連づけることは、共有メモリ104上のデータにアクセス権情報を付加することである。なぜなら、データに文書IDを関連づけることによって、アクセス権管理テーブル301で文書IDに関連づけられているアクセス権情報が、間接的に共有メモリ104上のデータに関連づけられるからである。
図8は、第1実施形態において文書にデータを貼り付けるときのフローチャートである。
ステップS301において、アプリケーション103は、現在開いている文書中に、共有メモリ104に格納されたデータを貼り付けるよう、OS102に要求する。以下、この要求を「貼り付け要求」という。
また、ステップS301では、貼り付け要求を監視しているアプリケーション監視部106が、貼り付け要求を捕捉して横取りする。本実施形態では、貼り付け要求自体が、貼り付け要求を発したアプリケーション103のアプリケーションID、および、貼り付け要求にしたがってデータを貼り付けるべきコピー先文書の文書索引情報を含むものとする。アプリケーション監視部106は、捕捉した貼り付け要求を貼り付け制御部113に通知する。
次のステップS302で貼り付け制御部113は、ステップS301でアプリケーション監視部106が捕捉した貼り付け要求が、保護形式のデータの貼り付け要求であるか否かを判断する。すなわち、貼り付け制御部113は、クリップボードを実現する共有メモリ104上のデータに関連づけられて共有メモリ104に格納された文書IDが存在するか否かを判断する。
もし、共有メモリ104上のデータに関連づけられた文書IDが存在すれば、共有メモリ104上のデータは、図7のステップS204またはS206で保護形式化されたデータである。したがって、ステップS302で貼り付け制御部113は、「ステップS301でアプリケーション監視部106が捕捉した貼り付け要求は、保護形式のデータの貼り付け要求である」と判断し、処理はステップS303に移行する。
逆に、共有メモリ104上のデータに何の文書IDも関連づけられていない場合は、図7のステップS205で、コピー元文書は保護文書から再利用したデータを含む可能性がないと判断された場合である。つまり、共有メモリ104には、図7のステップS202でOS102によりコピーされただけで保護形式化されていないデータが格納されている。したがって、ステップS302で貼り付け制御部113は、「ステップS301でアプリケーション監視部106が捕捉した貼り付け要求は、非保護形式のデータの貼り付け要求である」と判断し、処理はステップS309に移行する。
ステップS303で貼り付け制御部113は、貼り付けの実行を許可すべきか否かを判断する。
すなわち、貼り付け制御部113は、共有メモリ104上の保護形式化されたデータへのアクセス権を、貼り付け要求を発したアプリケーションが有するか否かを判断する。ここで、「共有メモリ104上のデータへのアクセス権を有する」とは、「共有メモリ104上のデータに文書IDが関連づけられた1つ以上の文書のすべてに対して、少なくとも読み出し権限を有する」ということを意味する。
例えば、共有メモリ104上のデータに文書ID「DOC1」が関連づけられており、コピー先文書は、ユーザUSER1の権限で実行されるアプリケーションAPP−U1−1により現在開かれているとする。また、アクセス権管理テーブル301は図5のとおりであるとする。
この場合、貼り付け制御部113は、共有メモリ104を参照することでデータに関連づけられた文書ID「DOC1」を取得することができる。また、貼り付け制御部113は、ステップS301で貼り付け要求からアプリケーションID「APP−U1−1」を既に取得している。また、例えばOS102に問い合わせることにより、貼り付け制御部113は、アプリケーションAPP−U1−1がユーザUSER1の権限で実行さされていることを認識することができる。
したがって、ステップS303で貼り付け制御部113は、認識した結果に基づいて、アクセス権管理サーバ300を介してアクセス権管理テーブル301を参照し、共有メモリ104上のデータへのアクセス権をアプリケーションAPP−U1−1が有するか否かを判断する。つまり、貼り付け制御部113は、文書ID「DOC1」とアプリケーションID「APP−U1−1」とユーザID「USER1」の組み合わせに対して読み出し権限が設定されているか否かをアクセス権管理サーバ300に問い合わせる。アクセス権管理サーバ300は、アクセス権管理テーブル301を参照して読み出し権限の有無を応答する。
図5の例では、文書ID「DOC1」とアプリケーションID「APP−U1−1」と
ユーザID「USER1」の組み合わせに対して読み出し権限が設定されている。したがって、ステップS303において貼り付け制御部113は貼り付けの実行を許可し、処理はステップS305に移行する。
逆に、アクセス権管理テーブル301を参照した結果、貼り付け要求を発したアプリケーションが共有メモリ104上のデータへのアクセス権を持たないと判明したら、処理はステップS304に移行する。
ステップS304で、貼り付け制御部113は、貼り付け不可のメッセージをコンピュータ100の画面に表示するとともに、貼り付け不可を示すエラーコードを、貼り付け要求を発したアプリケーション103に返す。あるいは、メッセージの表示は省略してもよい。そして、図8の処理が終了する。
ステップS305は、貼り付けの実行が許可される場合に実行される。ステップS305で貼り付け制御部113は、共有メモリ104上のデータを復号することによって非保護形式に変換し、変換後のデータを、コピー先文書に貼り付ける。
続くステップS306〜S308は、アクセス権継承のための処理である。ステップS306において貼り付け制御部113は、コピー先文書が継承管理テーブル108に未登録の非保護文書であるか否かを判断する。
上記のように、本実施形態ではアクセス権管理サーバ300が、ファイルシステム内で文書を識別するための文書索引情報と、アクセス権管理のための文書IDとの対応を管理している。よって、貼り付け制御部113は、貼り付け要求により示されるコピー先文書の文書索引情報をキーにしてアクセス権管理サーバ300に問い合わせる。その結果、貼り付け制御部113は、コピー先文書に対して既に文書IDが発行されているか否かを認識し、もし文書IDが発行済みならば発行された文書IDを認識する。
コピー先文書に対してまだ文書IDが発行されていなければ、コピー先文書は、継承管理テーブル108に未登録の非保護文書である。よって、処理はステップS307に移行する。
コピー先文書に対して文書IDが発行済みならば、コピー先文書は、保護文書であるか、または、継承管理テーブル108に登録済みの非保護文書である。よって、処理はステップS308に移行する。
ステップS307では、継承管理テーブル108に未登録の非保護文書であるコピー先文書に対して新たな文書IDを発行するよう、貼り付け制御部113がアクセス権管理サーバ300に要求する。アクセス権管理サーバ300は新たな文書IDを発行し、コピー先文書の文書索引情報と関連づけ、発行した文書IDを貼り付け制御部113に通知する。そして処理はステップS308に移行する。
ステップS308では、貼り付け制御部113が、共有メモリ104上のデータに関連づけられた文書IDのうちコピー先文書の文書ID以外のすべての文書IDを、コピー先文書の文書IDと関連づけて継承管理テーブル108に登録する。また、貼り付け制御部113は貼り付けの完了をアプリケーション103に報告する。
例えば、コピー先文書が文書DOC3であり、共有メモリ104上のデータには文書ID「DOC4」と「DOC5」が関連づけられているとする。この場合、貼り付け制御部113は、図4に示すようにコピー先文書の文書ID「DOC3」を継承管理テーブル1
08の左列に登録するとともに、対応する右列には、データに関連づけられた文書ID「DOC4」と「DOC5」を登録する。ステップS308により、「文書DOC3は、保護文書DOC4および保護文書DOC5からアクセス権を継承すべきである」ということが継承管理テーブル108に表現される。
また、例えば、コピー先文書が文書DOC6であり、共有メモリ104上のデータには文書ID「DOC6」と「DOC7」が関連づけられているとする。この場合、貼り付け制御部113は、図4に示すようにコピー先文書の文書ID「DOC6」に対応づけて文書ID「DOC7」のみを継承管理テーブル108の右列に登録する。
ステップS309は、ステップS301でアプリケーション監視部106が捕捉した貼り付け要求が、非保護形式の貼り付け要求である場合に実行される。この場合、アクセス制限の必要はなく、貼り付けるべきデータを復号する必要もない。
したがって、ステップS309で貼り付け制御部113は、ステップS301で通知された貼り付け要求をOS102に通知する。そして、OS102は共有メモリ104上のデータをコピー先文書に貼り付け、貼り付けの終了をアプリケーション103に報告する。そして図8の処理が終了する。
なお、以上説明した図8の処理を図2における文書D2へのオブジェクトXの貼り付け時の処理と比較すると、図2の貼り付け実行の判定は図8のステップS303に対応する。また、図2の復号は図8のステップS305に対応し、図2のアクセス権情報の反映のための処理は図8のステップS308に対応する。
図9は、第1実施形態において文書を保存するときのフローチャートである。
ステップS401において、アプリケーション103は、現在開いている文書の保存をOS102に要求する。以下、この要求を「保存要求」といい、保存が要求された文書を「対象文書」という。
また、ステップS401では、保存要求を監視しているアプリケーション監視部106が、保存要求を捕捉し、横取りしている。本実施形態では、保存要求自体が、保存要求を発したアプリケーション103のアプリケーションID、および対象文書の文書索引情報を含むものとする。アプリケーション監視部106は、捕捉した保存要求をファイル保存制御部110に通知する。
次のステップS402でファイル保存制御部110は、対象文書が、図4の継承管理テーブル108の「開いている文書のID」列に文書IDが登録された文書であるか否かを判断する。そのために、ファイル保存制御部110は、文書索引情報と文書IDの関連づけを管理するアクセス権管理サーバ300に、対象文書に対して文書IDが発行済みであるか否かを問い合わせ、文書IDが発行済みならば文書IDを取得する。
対象文書に対して文書IDが発行されていない場合、処理はステップS403に移行する。また、対象文書に対して文書IDが発行済みだが、対象文書の文書IDが継承管理テーブル108の「開いている文書のID」列に登録されていない場合も、処理はステップS403に移行する。
逆に、対象文書に対して文書IDが発行済みであり、かつ、対象文書の文書IDが継承管理テーブル108の「開いている文書のID」列に登録されている場合、処理はステップS406に移行する。
ステップS403以降の処理は、対象文書が今回アプリケーション103によって開かれて以降は、保護文書からのデータの再利用が生じていない場合、すなわち、新たなアクセス権の継承が生じない場合に実行される。
ステップS403でファイル保存制御部110は、対象文書が保護文書であるか否かを判断する。ファイル保存制御部110は、ステップS402での文書IDの問い合わせ結果に基づいてステップS403の判断を行うことができる。
すなわち、ステップS402において対象文書に文書IDが発行されていないと判明している場合、対象文書は非保護文書である。
また、文書IDが発行されている場合、対象文書が非保護文書ならば、継承管理テーブル108の「開いている文書のID」列に文書IDが登録されている。しかし、ステップ403が実行されるのは、対象文書の文書IDが継承管理テーブル108の「開いている文書のID」列に登録されていない場合である。したがって、ステップS403では、「文書IDが発行されているならば、対象文書は保護文書である」とファイル保存制御部110が判断することができる。
ステップS403において、対象文書が保護文書であるとファイル保存制御部110が判断すると、処理はステップS404に移行する。ファイル保存制御部110は、ステップS404において対象文書を保護形式化し、続いてステップS405において、保護形式化した対象文書を文書格納領域101に保存し、アプリケーション103に保存完了を報告する。そして、図9の処理が終了する。
他方、ステップS403において、対象文書が非保護文書であるとファイル保存制御部110が判断すると、処理はステップS405に移行する。ステップS405では、ファイル保存制御部110が対象文書を文書格納領域101に保存してアプリケーション103に保存完了を報告し、図9の処理が終了する。
ステップS406以降の処理は、対象文書の文書IDが継承管理テーブル108の「開いている文書のID」列に登録されている場合、すなわち、新たなアクセス権の継承が必要な場合に実行される。新たなアクセス権の継承が必要であるということは、「今回アプリケーション103によって開かれる前に対象文書が既に保護文書であったか否かによらず、対象文書は、今後はアクセス権の設定された保護文書として管理される」ということを意味する。したがって、ステップS406においてファイル保存制御部110は、対象文書を保護形式化する。
そして、ステップS407において、ファイル保存制御部110は、今回アプリケーション103によって開かれるときまでは対象文書が非保護文書であったか否かを判断する。すなわち、ファイル保存制御部110は、ステップS402で取得した対象文書の文書IDがアクセス権管理テーブル301の「文書ID」列に登録されているか否かをアクセス権管理サーバ300に問い合わせる。
対象文書の文書IDがアクセス権管理テーブル301の「文書ID」列に登録されていなければ、今回アプリケーション103によって開かれた時点で対象文書は非保護文書であったので、処理はステップS408に移行する。逆に、対象文書の文書IDがアクセス権管理テーブル301の「文書ID」列に登録されていれば、今回アプリケーション103によって開かれる前から対象文書が保護文書であったので、処理はステップS409に移行する。
ステップS408においてファイル保存制御部110は、アクセス権管理サーバ300
を介して、アクセス権管理テーブル301の「文書ID」列に対象文書の文書IDを新規登録する。ここで、ファイル保存制御部110は、保存しようとする対象文書に関連づけられた継承管理テーブル108上の情報を、アクセス権管理テーブル301に反映する。
具体的には、ファイル保存制御部110は、図4の継承管理テーブル108において、「開いている文書のID」列に登録された対象文書の文書IDに関連づけられて「コピー元文書のID」列に登録された1つ以上の文書IDを取得する。そして、ファイル保存制御部110は、取得したそれぞれの文書IDに関連づけられたアクセス権情報を、アクセス権管理サーバ300を介してアクセス権管理テーブル301を参照することにより取得する。ファイル保存制御部110はさらに、取得したアクセス権情報を所定の条件によりマージして、対象文書に関連づけるべき新たなアクセス権情報を生成する。
例えば、対象文書の文書IDに関連づけられて「コピー元文書のID」列に登録されているのが、1つの文書ID「DOC10」のみであるとする。この場合、ファイル保存制御部110は文書ID「DOC10」に関連づけられたアクセス権情報一式をアクセス権管理テーブル301から取得する。そして、ファイル保存制御部110は、取得した文書DOC10のアクセス権情報そのものを、対象文書に関連づけるべき新たなアクセス権情報として用いる。
あるいは、対象文書の文書IDに関連づけられて「コピー元文書のID」列に登録されているのが、2つの文書ID「DOC20」と「DOC30」であるとする。この場合、ファイル保存制御部110は文書ID「DOC20」と「DOC30」にそれぞれ関連づけられたアクセス権情報一式をアクセス権管理テーブル301から取得する。
そして、ファイル保存制御部110は、文書ID「DOC20」と「DOC30」に関連づけられたそれぞれのアクセス権情報を下記の「AND条件」でマージすることで、対象文書に関連づけるべきアクセス権情報を生成する。つまり、ファイル保存制御部110は、文書ID「DOC20」と「DOC30」に関連づけられたそれぞれのアクセス権情報でともにアクセス権が設定されている組み合わせに対してのみ、対象文書にもアクセス権を設定する。「AND条件」は次のように形式化することができる。
図5のアクセス権管理テーブル301において、文書IDが「D」、ユーザIDまたはグループIDが「U」、アプリケーションIDが「A」の組み合わせに対する読み出し権限を式(1)により表す。読み出し権限が設定されている場合、式(1)の値はtrue、設定されていない場合、式(1)の値はfalseである。
Read(D,U,A) (1)
ここで、対象文書の文書IDを「D」とし、継承管理テーブル108において文書ID「D」には、「コピー元文書のID」として文書ID「D」、……、「D」が関連づけられているとする(N≧1)。
また、1≦j≦Pとして、各「U」は、「D」〜「D」のうち少なくとも1つの文書IDに関連づけられてアクセス権管理テーブル301に登録されているユーザIDまたはグループIDであるとする。さらに、1≦k≦Qとして、各「A」は、「D」〜「D」のうち少なくとも1つの文書IDに関連づけられてアクセス権管理テーブル301に登録されているアプリケーションIDであるとする。
このとき、上記「AND条件」は、式(2)のようにN個の真理値の論理積を算出することで対象文書Dのアクセス権情報を生成する、というマージ方法を規定する。
Read(D,U,A
=Read(D,U,A)∧
……∧Read(D,U,A) (2)
より正確には、「AND条件」によれば、ファイル保存制御部110は、すべての1≦j≦Pおよび1≦k≦Qの組み合わせについて、式(2)により対象文書Dに設定すべき読み出し権限を算出する。また、ファイル保存制御部110は、同様の論理積の演算により、書き込み権限や印刷権限など他の種類の権限も算出する。
そして、ファイル保存制御部110は、算出結果を、対象文書Dに関連づけるべきアクセス権情報としてアクセス権管理テーブル301に設定するよう、アクセス権管理サーバ300に要求する。つまり、ファイル保存制御部110は、アクセス権管理サーバ300を介してアクセス権管理テーブル301に新たなアクセス権情報を追加する。
さらにステップS408においてファイル保存制御部110は、アクセス権管理テーブル301に反映した継承管理テーブル108の情報を削除する。つまり、式(2)の記法を用いて説明すると、「文書ID」列の「D」と、「コピー元文書のID」列の「D」〜「D」との組を、ファイル保存制御部110は継承管理テーブル108から削除する。
また、ステップS407において対象文書が既に保護文書であったと判断された場合、ファイル保存制御部110はステップS409の処理を実行する。すなわち、ファイル保存制御部110は、保存しようとする対象文書に関連づけられた継承管理テーブル108上の情報を、アクセス権管理テーブル301に反映する。
例えば、ステップS408と類似の「AND条件」にしたがって、ステップS409では、ファイル保存制御部110が式(3)の論理積演算により、対象文書Dのアクセス権情報を生成する。
Read(D,U,A
=Read(D,U,A)∧Read(D,U,A)∧
……∧Read(D,U,A) (3)
つまり、ステップS409では、対象文書D自体に元々設定されていたアクセス権情報と、対象文書Dにおいて再利用されているデータの源である他の文書D〜Dのアクセス権情報とを、ファイル保存制御部110がマージする。それにより、ファイル保存制御部110は対象文書Dの新たなアクセス権情報を生成し、アクセス権管理サーバ300を介して、新たなアクセス権情報をアクセス権管理テーブル301に設定する。
なお、式(3)から明らかなように、継承管理テーブル108が図4に示した状態のとき、文書DOC6とDOC7のどちらが先に保存されるかによらず同じように、文書DOC6とDOC7それぞれのアクセス権情報は更新される。
さらにステップS409においてファイル保存制御部110は、アクセス権管理テーブル301に反映した継承管理テーブル108の情報を削除する。つまり、式(3)の記法を用いて説明すると、「文書ID」列の「D」と、「コピー元文書のID」列の「D」〜「D」との組を、ファイル保存制御部110は継承管理テーブル108から削除する。
このように、ステップS408とS409では、ファイル保存制御部110は、継承管理テーブル108を参照して対象文書Dに文書D〜文書Dが関連づけられていることを認識する。それによって、ファイル保存制御部110は、対象文書Dに設定すべき新たなアクセス権を算出する根拠として参照すべきなのは文書D〜文書Dのアクセス権情
報であると認識することができる。
ステップS408またはS409の実行後、処理はステップS405に移行する。ステップS405においてファイル保存制御部110は、ステップS406で保護形式化した対象文書を文書格納領域101に保存してアプリケーション103に保存完了を報告し、図9の処理は終了する。
なお、以上説明した図9の処理を図2における文書D2の保存時の処理と比較すると、図2における文書D2のアクセス権情報の登録は図9のステップS408またはS409で行われる。また、図2における暗号化は図9のステップS406で行われ、図2における保存は図9のステップS405で行われる。
また、以上の図7〜図9の処理によれば、例えば保護文書DOC1から文書DOC100へデータがコピー・アンド・ペーストされ、保護文書DOC1の内容が文書DOC100で再利用された場合、文書DOC100は保護文書DOC1のアクセス権を継承する。アクセス権の継承は、文書DOC100が元々保護文書であったか非保護文書であったかによらない。
したがって、コピー元文書DOC1へのアクセス権を持たないユーザに、コピー先文書DOC100を介して、コピー元文書DOC1に含まれる情報が漏洩することはない。また、図7〜図9の処理も、図6の処理と同様、コピー元文書DOC1およびコピー先文書DOC100が格納されるフォルダ依存せず、かつ透過的に実行される。したがって、本実施形態によれば、ユーザの負担なしに、確実にアクセス権の継承が実現される。
図10は、第1実施形態の作用の一例を示すタイミングチャートである。図10は主に継承管理テーブル108の動的な変化について説明する図である。図10では、継承管理テーブル108の変化に応じて、「108a」〜「108f」という添え字を含む参照符号を用いている。
また、図10の例では、説明の簡単化のため、以下の(f1)〜(f5)のように仮定し、アクセス権管理テーブル301の図示は省略した。
(f1)ユーザUは、文書に対するすべての操作を、アプリケーションAを介して行う。
(f2)保護文書D21、D23、D24、およびD26が既に文書格納領域101に格納されている。
(f3)ユーザUとアプリケーションAの組み合わせに対して、保護文書D21、D23、D24、およびD26に対する読み出し権限と書き込み権限が付与されている。
(f4)非保護文書D22とD25が、既に文書格納領域101に格納されている。実際には、図10における初期状態では、非保護文書D22とD25にはまだ文書ID「D22」と「D25」が発行されていないが、説明の便宜上、「非保護文書D22」および「非保護文書D25」とよぶ。
(f5)初期状態の継承管理テーブル108aには何も登録されていない。
以上の仮定のもとで、本実施形態によれば、次のようにして継承管理テーブル108の内容は動的に変化する。
例えばユーザUからの入力にしたがって、保護文書D21からのデータAのコピーが要求される。すると、共有メモリ104には、データAと文書ID「D21」が関連づけら
れて格納される。
そして、ユーザUからの入力にしたがって、非保護文書D22へのデータAの貼り付けが要求されると、新たな文書ID「D22」が発行される。また、継承管理テーブル108bのように、「開いている文書のID」と「コピー元文書のID」の組として、文書ID「D22」と「D21」の組が登録される。
さらに、ユーザUからの入力にしたがって、保護文書D23からのデータBのコピーが要求される。すると、共有メモリ104には、データBと文書ID「D23」が関連づけられて格納される。
そして、ユーザUからの入力にしたがって、非保護文書D22へのデータBの貼り付けが要求される。すると、継承管理テーブル108cのように、「開いている文書のID」列の文書ID「D22」に、さらに「コピー元文書のID」として文書ID「D23」が関連づけられて登録される。
さらにユーザUからの入力にしたがって、保護文書D24へのデータBの貼り付けが要求される。すると、継承管理テーブル108dのように、文書ID「D24」と「D23」の組がさらに登録される。
また、保護すべきデータAとBを含む非保護文書D22からの、データCのコピーが要求される。すると、共有メモリ104には、データCと文書ID「D21」および「D23」とが関連づけられて格納される。データCに関連づけられる文書ID「D21」および「D23」は、継承管理テーブル108dにおいて文書ID「D22」に関連づけられているものである。
なお、図10ではデータBとCの一部が重複しているが、データCは非保護文書D22内の任意のデータである。たとえデータCが、データAとBのいずれとも重複しない場合であっても、本実施形態によれば、継承管理テーブル108dに基づいて、共有メモリ104では、文書ID「D21」と「D23」がデータCに関連づけられる。
つまり、本実施形態によれば、データAとBが貼り付けられた後は、非保護文書D22からのいかなるデータのコピーも、保護文書D21およびD23からの間接的な再利用の可能性があると見なされる。そして、保護文書からの間接的な再利用の可能性がある場合は常に、アクセス権の継承が行われる。
そして、ユーザUからの入力にしたがって、データCの非保護文書D25への貼り付けが要求されると、新たな文書ID「D25」が発行される。また、継承管理テーブル108eのように、「開いている文書のID」列には新たに文書ID「D25」が登録され、対応する「コピー元文書のID」列には、データCに対応づけられた文書ID「D21」と「D23」が登録される。
さらにユーザUからの入力にしたがって、データCの保護文書D26への貼り付けが要求される。すると、継承管理テーブル108fのように、「開いている文書のID」列には新たに文書ID「D26」が登録され、対応する「コピー元文書のID」列には、データCに対応づけられた文書ID「D21」と「D23」が登録される。
この後、保護文書D24およびD26、ならびに非保護文書D22およびD25が保存される際には、継承管理テーブル108fに基づいたアクセス権の継承が行われる。
以上第1実施形態について詳細に説明したが、図6の処理と図7〜図9の処理の共通点
をまとめると以下のとおりである。
すなわち、暗号化された電子文書である保護文書には、ユーザ別のアクセス権を表すアクセス権情報によりアクセス権が設定されている。また、アクセス権情報は文書IDと関連づけられてアクセス権管理テーブル301に格納されている。
そして、アプリケーション監視部106は、保護文書である第1の文書に含まれる内容が第2の文書において再利用される場合に行われる1つ以上の処理を監視して捕捉する捕捉手段として機能する。
例えば、図6の処理では、第1の電子文書をコピーして第2の電子文書として保存することに伴う処理として、文書コピー完了報告が監視される。
また、図7の処理では、第1の電子文書が含むデータの共有メモリ104への書き込みに伴う処理として、データコピー要求に対するコピーの完了報告が監視される。また、図8の処理では、共有メモリ104に格納されたデータの第2の電子文書への書き込みに伴う処理として、貼り付け要求が監視される。そして、図9の処理では、第2の電子文書の保存に伴う処理として、保存要求が監視される。
処理の種類によっては、1つの処理が捕捉されただけでは保護文書からの情報の再利用が確定しない。例えば、データコピー要求が生じたとしても、コピーされたデータが再利用されるとは限らない。
よって、捕捉手段としてのアプリケーション監視部106が複数の処理の組を監視することで、保護文書からの情報の再利用が確定したことをアクセス制御部105が認識することができる場合もある。
保護文書からの情報の再利用が確定したことを示すような1つまたは複数の処理が捕捉されると、ファイル保存制御部110は設定手段として機能する。すなわち、ファイル保存制御部110は、アクセス権管理テーブル301のアクセス権情報を更新することにより、第1の電子文書の第1のアクセス権に基づく第2のアクセス権を第2の電子文書に設定する。
式(2)および式(3)のように、第2のアクセス権は、第1のアクセス権を継承しており、第1のアクセス権と同等か第1のアクセス権より強く制限されている。また、既に元の第2のアクセス権が第2の電子文書に設定されている場合は、第2のアクセス権は、元の第2のアクセス権と同等か元の第2のアクセス権より強く制限されてもいる。
また、ファイル保存制御部110は、第2の電子文書を暗号化して保存する保存制御手段としても機能する。
続いて、図11〜図14を参照して第2実施形態について説明する。第1実施形態との共通点については説明を適宜省略する。
図11は、第2実施形態のシステム構成図である。第1実施形態に関する図1におけるネットワーク200、アクセス権管理サーバ300、およびアクセス権管理テーブル301は、図11にはない。なぜなら、第1実施形態においてアクセス権管理テーブル301に格納されているアクセス権情報は、第2実施形態では、保護文書のヘッダ領域に格納されるからである。
なお、保護文書のヘッダ領域は、保護文書のデータ領域と物理的に隣接して文書格納領域101に格納されていてもよく、データ領域とは物理的に離れて文書格納領域101に
格納されていてもよい。例えば、OS102によって提供されるファイルシステムに応じて、代替データストリームまたはリソースフォークなどを保護文書のヘッダ領域として利用することが可能である。
すなわち、第1実施形態では、アクセス権情報はアクセス権管理テーブル301で集中管理されているが、第2実施形態では、アクセス権情報は文書格納領域101に分散して格納されている。第2実施形態のコンピュータ100は、スタンドアロンでアクセス権の継承を行うことができる。
また、第2実施形態ではアクセス権管理サーバ300を利用しないので、OS102が提供するファイルシステム上で文書を識別するための文書索引情報と文書IDとの関係は、制御部107が管理する。例えば、制御部107は、文書格納領域101を実現するのと同じ不揮発性の記憶装置に記憶された不図示のテーブルを用いて、文書索引情報と文書IDとの関係を管理する。また、文書IDの発行も制御部107が行う。
また、制御部107内の各部は、第1実施形態では文書IDをアクセス権管理サーバ300に問い合わせることがあるが、第2実施形態では、制御部107が備える上記の不図示のテーブルを参照することで、文書索引情報から文書IDを認識することができる。
さらに、制御部107内の各部は、第1実施形態ではアクセス権管理サーバ300を介してアクセス権管理テーブル301の参照および更新を行っている。しかし、第2実施形態では、制御部107内の各部は、アクセス権管理サーバ300を介さずに、文書格納領域101に分散されたアクセス権情報を参照したり更新したりする。
図12は、第2実施形態において文書に格納されるアクセス権情報の一例を示す図である。図12のアクセス権情報401は、ユーザIDまたはグループIDと、アプリケーションIDと、権限との組み合わせで表されている。
第1実施形態の図5と比較すると、図12では図5の「文書ID」列が削除されている。また、図5のアクセス権管理テーブル301は複数の文書に対応するアクセス権情報を含むのに対し、図12では1つの文書に対応するアクセス権情報401のみが示されている。しかし、それ以外の点では、図12と図5は同様である。
図5との違いの理由は、図12のアクセス権情報401は個々の保護文書のヘッダ領域に格納されるので、どの保護文書と対応するかを明示する必要がないためである。
図13は、第2実施形態において文書全体をコピーするときのフローチャートである。図13の処理は第1実施形態の図6の処理と類似なので、適宜説明を省略する。
ステップS501において、GUIやCLIを介してOS102に対する文書コピー要求が発生する。
次のステップS502で、OS102は、文書コピー要求にしたがって文書をコピーし、コピーが完了したことをアプリケーション103に報告する。アプリケーション監視部106は文書コピー完了報告を捕捉して横取りし、ファイル保存制御部110に通知する。
そして、ステップS503でファイル保存制御部110は、ステップS502で捕捉された文書コピー完了報告が保護文書に関するものか否かを判定する。判定は、コピー元文書のヘッダ領域に図12のようなアクセス権情報401が格納されているか否かをファイル保存制御部110が調べることにより行われる。
本実施形態において文書コピー完了報告には、コピー元文書とコピー先文書をそれぞれ識別する文書索引情報が含まれるので、ファイル保存制御部110はコピー元文書のヘッダ領域を参照することができる。あるいは、アプリケーション監視部106は、ステップS501で文書コピー要求を監視して捕捉することにより、コピー元文書とコピー先文書それぞれの文書索引情報を認識してもよい。
そこで、ステップS503においてファイル保存制御部110は、コピー元文書のヘッダ領域を参照し、そこにアクセス権情報401が格納されていればコピー元文書が保護文書であると判断し、処理はステップS504に移行する。コピー元文書のヘッダ領域にアクセス権情報401が格納されていなければ、ファイル保存制御部110は、コピー元文書が非保護文書であると判断し、処理はステップS505に移行する。
ステップS504でファイル保存制御部110は、コピー先文書、すなわちステップS502のコピーにより新たに作成された文書を保護形式化する。
また、ステップS504でファイル保存制御部110は、コピー先文書に新たな文書IDを発行してコピー先文書の文書索引情報と新たな文書IDとを関連づけて管理するよう制御部107に要求する。制御部107は、要求にしたがって新たな文書IDを発行してコピー先文書の文書索引情報と関連づけ、発行した文書IDをファイル保存制御部110に通知する。
さらに、ファイル保存制御部110は、コピー元文書のヘッダ領域を参照してコピー元文書のアクセス権情報401を取得し、取得したアクセス権情報401をコピー先文書のアクセス権情報としてコピー先文書のヘッダ領域に格納する。
最後に、ステップS505では、ファイル保存制御部110が、ステップS502で捕捉した文書コピー完了報告の宛先のGUI、CLI、あるいはその他のプロセスに、コピーの完了を報告する。そして、図13の処理は終了する。
続いて、第2実施形態において文書中のデータをコピーするときにアクセス制御部105が行う処理について説明する。文書中のデータをコピーするときにアクセス制御部105が行う処理は、第1実施形態の図7の処理と類似している。違いは、図7のステップS203の代わりに第2実施形態では以下の処理が行われる点である。
すなわち、第2実施形態では、書き込み制御部112は、コピー元文書が保護文書か否かを、コピー元文書のヘッダ領域を参照して判定する。ヘッダ領域にアクセス権情報401が格納されていればコピー元文書は保護文書であり、ヘッダ領域にアクセス権情報401が格納されていなければコピー元文書は非保護文書である。なお、第2実施形態では、コピー元文書が保護文書の場合、書き込み制御部112は制御部107からコピー元文書の文書IDを取得する。
次に、第2実施形態において文書にデータを貼り付けるときにアクセス制御部105が行う処理について説明する。文書にデータを貼り付けるときにアクセス制御部105が行う処理は、第1実施形態の図8の処理と類似している。違いは、図8のステップS303、S306、およびS307の代わりに第2実施形態では以下の処理が行われる点である。
第1実施形態のステップS303の判断は、貼り付け制御部113がアクセス権管理テーブル301を参照することにより行われる。それに対し、第2実施形態では、貼り付け制御部113は、アクセス権管理テーブル301の代わりに、共有メモリ104上のデータに関連づけられた1つ以上文書IDが割り当てられている各文書のヘッダ領域のアクセ
ス権情報401を参照する。
また、貼り付け制御部113は、コピー先文書に対して既に文書IDが発行されているか否かを、ステップS306ではアクセス権管理サーバ300に問い合わせるが、第2実施形態では制御部107に問い合わせる。
さらに、ステップS307ではアクセス権管理サーバ300が文書IDを発行するが、第2実施形態では制御部107が文書IDを発行する。
続いて、第2実施形態において文書を保存するときにアクセス制御部105が行う処理について説明する。図14は、第2実施形態において文書を保存するときのフローチャートである。図14のうち、第1実施形態の図9と同様の部分については、適宜説明を省略する。
ステップS601において、アプリケーション103は、現在開いている文書(すなわち対象文書)の保存をOS102に要求する。アプリケーション監視部106は、保存要求を捕捉し、捕捉した保存要求をファイル保存制御部110に通知する。
次にステップS602でファイル保存制御部110は、対象文書が、図4の継承管理テーブル108の「開いている文書のID」列に文書IDが登録された文書であるか否かを判断する。すなわち、ファイル保存制御部110は、文書索引情報と文書IDの関連づけを管理する制御部107に、対象文書に対して文書IDが発行済みであるか否かを問い合わせ、文書IDが発行済みならば文書IDを取得する。
対象文書に対して文書IDが発行されていない場合、処理はステップS603に移行する。また、対象文書に対して文書IDが発行済みだが、対象文書の文書IDが継承管理テーブル108の「開いている文書のID」列に登録されていない場合も、処理はステップS603に移行する。
逆に、対象文書に対して文書IDが発行済みであり、かつ、対象文書の文書IDが継承管理テーブル108の「開いている文書のID」列に登録されている場合、処理はステップS606に移行する。
ステップS603以降の処理は、対象文書が今回アプリケーション103によって開かれて以降は、保護文書からのデータの再利用が生じていない場合、すなわち、新たなアクセス権の継承が生じない場合に実行される。
ステップS603でファイル保存制御部110は、第1実施形態の図9のステップS403と同様の方法により、対象文書が保護文書であるか否かを判断する。ステップS603において、対象文書が保護文書であるとファイル保存制御部110が判断すると、処理はステップS604に移行する。
ファイル保存制御部110は、ステップS604において対象文書を保護形式化し、続いてステップS605において、保護形式化した対象文書を文書格納領域101に保存し、アプリケーション103に保存完了を報告する。そして、図14の処理が終了する。
また、ステップS603において、対象文書が非保護文書であるとファイル保存制御部110が判断すると、続いてファイル保存制御部110はステップS605で対象文書を文書格納領域101に保存し、アプリケーション103に保存完了を報告する。そして、図14の処理が終了する。
ステップS606以降の処理は、対象文書の文書IDが継承管理テーブル108の「開いている文書のID」列に登録されている場合、すなわち、新たなアクセス権の継承が必要な場合に実行される。第1実施形態のステップS406と同様に、ファイル保存制御部110は、ステップS606において対象文書を保護形式化する。
そして、ステップS607において、ファイル保存制御部110は、今回アプリケーション103によって開かれるときまでは対象文書が非保護文書であったか否かを判断する。すなわち、ファイル保存制御部110は、対象文書のヘッダ領域を参照し、ヘッダ領域にアクセス権情報401が格納されていれば対象文書が保護文書であると判断し、そうでなければ対象文書は非保護文書であると判断する。
対象文書が既に保護文書であった場合は、処理はステップS609に移行し、現状では対象文書が非保護文書である場合には、処理はステップS608に移行する。
ステップS608において、ファイル保存制御部110は、保存しようとする対象文書に関連づけられた継承管理テーブル108上の情報を反映したアクセス権情報401を生成する。そして、ファイル保存制御部110は、生成したアクセス権情報401を対象文書に付加する。すなわち、ファイル保存制御部110は、対象文書のヘッダ領域にアクセス権情報401を格納する。
ステップS608でファイル保存制御部110がアクセス権情報401を生成する方法は、第1実施形態のステップS408と同様である。例えば、ファイル保存制御部110は式(2)を用いて「AND条件」にしたがってアクセス権情報401を生成する。さらに、第1実施形態と同様に、ステップS608においてファイル保存制御部110は、アクセス権情報401に反映した継承管理テーブル108の情報を削除する。
また、ステップS607において対象文書が既に保護文書であったと判断した場合、ファイル保存制御部110はステップS609の処理を実行する。すなわち、ファイル保存制御部110は、保存しようとする対象文書に関連づけられた継承管理テーブル108上の情報を、対象文書のヘッダ領域に格納されているアクセス権情報401に反映する。例えば、ファイル保存制御部110は第1実施形態と同じ式(3)を用いて、「AND条件」にしたがってアクセス権情報401を更新する。そして、第1実施形態と同様に、ステップS609においてファイル保存制御部110は、アクセス権情報401に反映した継承管理テーブル108の情報を削除する。
ステップS608またはS609の実行後、ファイル保存制御部110は、ステップS606で保護形式化した対象文書を文書格納領域101に保存してアプリケーション103に保存完了を報告し、図14の処理は終了する。
以上説明した第2実施形態も、第1実施形態と同様に、ユーザに負担をかけることなく確実にアクセス権の継承を実現して情報の漏洩を防ぐことができるという効果を奏する。さらに、第2実施形態によれば、コンピュータ100単独でアクセス権の継承を実現することもできる。
続いて、図15〜図20を参照して第3実施形態について説明する。第1実施形態との共通点については説明を適宜省略する。
第3実施形態は、コピー元文書のアクセス権が変更されたとき、コピー元文書の新たなアクセス権を、コピー先文書のアクセス権にも反映させる実施形態である。また、後述するように、第3実施形態においてアクセス権の反映は、連鎖的に繰り返される。すなわち、アクセス権の継承における親の文書のアクセス権が変更されると、子の文書だけではなく、すべての子孫の文書において連鎖的にアクセス権が変更される。
第3実施形態におけるシステム構成は、第1実施形態の図1とほぼ同様である。ただし、第1実施形態のアクセス権管理テーブル301は図5のように構成されているが、第3実施形態のアクセス権管理テーブル301bは図15のように構成されている。
図15は、第3実施形態のアクセス権管理テーブルの一例を示す図である。図15のアクセス権管理テーブル301bは、「コピー元文書ID」列がある点で図5と異なる。それ以外の「文書ID」、「ユーザIDまたはグループID」、「保護文書を扱えるアプリケーションID」、「権限」という4列に関しては、図5と同様なので説明を省略する。「コピー元文書ID」列は、アクセス権の連鎖的な反映を実現するために設けられている。
図15において、「文書ID」列の文書IDには、「コピー元文書ID」列の文書IDのリストが関連づけられている。「コピー元文書ID」列の文書IDのリストは、空の場合もあり、1つの文書IDのみを含む場合もあり、複数の文書IDを含む場合もある。
図15の例では、「文書ID」列の「DOC1」に、「DOC2」と「DOC5」を含む「コピー元文書ID」列のリストが関連づけられており、以下の(g1)と(g2)を表している。
(g1)保護文書DOC2から直接的に文書DOC1へとデータが再利用された。または、1つ以上の非保護文書を介して間接的に保護文書DOC2の内容が文書DOC1において再利用された可能性がある(つまり、保護文書DOC2は保護文書DOC1の間接的なコピー元文書である)。
(g2)保護文書DOC5から直接的に文書DOC1へとデータが再利用された。または、1つ以上の非保護文書を介して間接的に保護文書DOC5の内容が文書DOC1において再利用された可能性がある(つまり、保護文書DOC5は保護文書DOC1の間接的なコピー元文書である)。
なお、「コピー元文書ID」列に空リストが登録されるのは、他の保護文書から再利用したデータを含まない場合である。「コピー元文書ID」列がどのようにして設定されるかは、図16および図17とともに後述する。上記(g1)と(g2)のとおり、「文書ID」列と「コピー元文書ID」列の組み合わせは、図4の継承管理テーブル108で管理される第1の継承管理情報と類似の第2の継承管理情報の例である。ただし、継承管理テーブル108は文書が開かれている間だけ動的に作成されて書き換えられるのに対し、アクセス権管理テーブル301bは文書が開かれていなくても不揮発性メモリに保持されている。
図16は、第3実施形態において文書全体をコピーするときのフローチャートである。図16の処理は、第1実施形態の図6の処理と類似しているので、共通点の説明は適宜省略する。
ステップS701において、OS102に対する文書コピー要求が発生する。
次のステップS702で、OS102は文書コピー要求にしたがって文書をコピーし、コピーが完了したことをアプリケーション103に報告する。すると、アプリケーション監視部106が文書コピー完了報告を捕捉して横取りし、ファイル保存制御部110に通知する。
そして、ステップS703でファイル保存制御部110は、ステップS702で捕捉さ
れた文書コピー完了報告が保護文書に関するものか否かを、アクセス権管理テーブル301bを参照することにより判定する。判定の方法の詳細は、第1実施形態のステップS103と同様である。
コピー元文書が保護文書の場合、処理はステップステップS703からステップS704に移行し、コピー元文書が非保護文書の場合、処理はステップS703からステップS705に移行する。
ステップS704でファイル保存制御部110は、コピー先文書を保護形式化する。
また、ステップS704でファイル保存制御部110は、コピー先文書に新たな文書IDを発行してコピー先文書の文書索引情報と新たな文書IDとを関連づけて管理するようアクセス権管理サーバ300に要求する。アクセス権管理サーバ300は、要求にしたがって新たな文書IDを発行してコピー先文書の文書索引情報と関連づけ、発行した文書IDをファイル保存制御部110に通知する。
また、ファイル保存制御部110は、アクセス権管理サーバ300を介して、コピー先文書用の新規の文書IDとコピー元文書の文書IDとを関連づけてアクセス権管理テーブル301bに登録し、コピー元文書のアクセス権をコピー先文書にも付加する。すなわち、ファイル保存制御部110は、アクセス権管理サーバ300に、下記(h1)〜(h3)のように設定された新たなエントリをアクセス権管理テーブル301bに追加するよう要求し、アクセス権管理サーバ300は要求にしたがう。
(h1)「文書ID」列は、コピー先文書の文書ID
(h2)「コピー元文書ID」列は、コピー元文書の文書IDのみからなるリスト
(h3)他の3列は、「文書ID」列にコピー元文書の文書IDが登録されたエントリのコピー
そして、最後にステップS705では、ファイル保存制御部110が、ステップS702で捕捉された文書コピー完了報告の宛先のGUI、CLI、あるいはその他のプロセスに、コピーの完了を報告する。そして、図16の処理は終了する。
次に、第3実施形態において文書中のデータをコピーするときの処理について説明する。文書中のデータをコピーするときの処理は、第1実施形態の図7の処理と類似している。違いは、図7のステップS204において書き込み制御部112が保護形式化したデータに関連づけて共有メモリ104上に書き込む内容である。すなわち、書き込み制御部112は、第3実施形態では、コピー元文書の文書IDのみを共有メモリ104にコピーして、保護形式化したデータと関連づける。
第1実施形態では、適切なアクセス権の継承を実現するために、保護文書において1つ以上の他の保護文書または非保護文書を介して間接的に再利用したデータに関して、間接的なコピー元文書を管理する必要がある。そのため、ステップS204で書き込み制御部112は、継承管理テーブル108から取得した文書IDも、保護形式化したデータに関連づけている。
しかし、第3実施形態では、後述の図18の処理によって、間接的なコピー元文書のアクセス権を適切に継承することができる。そのため、第3実施形態ではステップS204では継承管理テーブル108の参照が省略され、コピー元文書の文書IDのみがデータと関連づけられる。
なお、第3実施形態において文書にデータを貼り付けるときの処理は、第1実施形態の図8の処理と同様なので説明を省略する。
図17は、第3実施形態において文書を保存するときのフローチャートである。第1実施形態の図9の処理と同様の部分については、適宜説明を省略する。
ステップS801において、アプリケーション103は、対象文書の保存要求をOS102に対して発する。また、アプリケーション監視部106が保存要求を捕捉する。
次のステップS802でファイル保存制御部110は、対象文書が、図4の継承管理テーブル108の「開いている文書のID」列に文書IDが登録された文書であるか否かを判断する。
対象文書に対して文書IDが発行されていない場合、処理はステップS803に移行する。また、対象文書に対して文書IDが発行済みだが、対象文書の文書IDが継承管理テーブル108の「開いている文書のID」列に登録されていない場合も、処理はステップS803に移行する。
逆に、対象文書に対して文書IDが発行済みであり、かつ、対象文書の文書IDが継承管理テーブル108の「開いている文書のID」列に登録されている場合、処理はステップS806に移行する。
ステップS803以降の処理は、対象文書が今回アプリケーション103によって開かれて以降は、保護文書からのデータの再利用が生じていない場合、すなわち、新たなアクセス権の継承が生じない場合に実行される。ステップS803でファイル保存制御部110は、対象文書が保護文書であるか否かを判断する。
ステップS803において、対象文書が保護文書であるとファイル保存制御部110が判断すると、処理はステップS804に移行する。ファイル保存制御部110は、ステップS804において対象文書を保護形式化する。続いて、ファイル保存制御部110は、ステップS805において、保護形式化した対象文書を文書格納領域101に保存してアプリケーション103に保存完了を報告する。そして、図17の処理が終了する。
他方、ステップS803において、対象文書が非保護文書であるとファイル保存制御部110が判断すると、処理はステップS805に移行する。ステップS805では、ファイル保存制御部110が対象文書を文書格納領域101に保存してアプリケーション103に保存完了を報告し、図17の処理が終了する。
ステップS806以降の処理は、新たなアクセス権の継承が必要な場合に実行される。したがって、ステップS806においてファイル保存制御部110は、対象文書を保護形式化する。
そして、ステップS807でファイル保存制御部110は、今回アプリケーション103によって開かれるときまでは対象文書が非保護文書であったか否かを、第1実施形態のステップS407と同様の方法により判断する。対象文書が既に保護文書であった場合、処理はステップS809に移行し、対象文書が現在は非保護文書の場合、処理はステップS808に移行する。
ステップS808においてファイル保存制御部110は、アクセス権管理サーバ300を介して、アクセス権管理テーブル301bの「文書ID」列に対象文書を新規登録する。また、ファイル保存制御部110は、アクセス権管理サーバ300を介して、アクセス権管理テーブル301bにおいて、「文書ID」列に新たに登録された対象文書の文書IDと関連づけて「コピー元文書ID」列のリストを設定する。
すなわち、ファイル保存制御部110は、図4の継承管理テーブル108において「開いている文書のID」列に登録された対象文書の文書IDと関連づけられて「コピー元文書のID」列に登録されている1つ以上の文書IDを取得する。そして、アクセス権管理サーバ300を介してファイル保存制御部110は、図15のアクセス権管理テーブル301bにおいて、新規登録した対象文書の文書IDに関連づけて、取得した文書IDからなるリストを「コピー元文書ID」列に登録する。
さらに、ファイル保存制御部110は、第1実施形態のステップS408と同様の方法により、保存しようとする対象文書に関連づけられた継承管理テーブル108の「コピー元文書のID」列の情報をアクセス権管理テーブル301bに反映する。すなわち、ファイル保存制御部110は、第1実施形態と同様に「AND条件」などの所定の条件にしたがって対象文書に関連づけるべき新たなアクセス権情報を生成する。そして、ファイル保存制御部110は、アクセス権管理サーバ300を介してアクセス権管理テーブル301bに、生成したアクセス権情報を対象文書の文書IDと関連づけて登録する。
さらに、第1実施形態と同様に、ステップS808においてファイル保存制御部110は、アクセス権管理テーブル301bに反映した継承管理テーブル108の情報を削除する。
また、ステップS807において対象文書が既に保護文書であったと判断された場合、ファイル保存制御部110はステップS809の処理を実行する。すなわち、ファイル保存制御部110は、対象文書の文書IDに関連づけられて継承管理テーブル108の「コピー元文書のID」列に登録されている1つ以上の文書IDを取得する。そして、ファイル保存制御部110はアクセス権管理サーバ300を介して、アクセス権管理テーブル301bにおいて対象文書の文書IDに関連づけられている「コピー元文書ID」列のリストに、取得した文書IDを追加する。
さらに、ファイル保存制御部110は、第1実施形態のステップS409と同様にして、保存しようとする対象文書に関連づけられた継承管理テーブル108上の情報を、アクセス権管理テーブル301bに反映する。また、ファイル保存制御部110は、第1実施形態と同様に、アクセス権管理テーブル301bに反映した継承管理テーブル108の情報を削除する。
ステップS808またはS809の実行後、処理はステップS805に移行する。ステップS805においてファイル保存制御部110は、ステップS806で保護形式化した対象文書を文書格納領域101に保存してアプリケーション103に保存官僚を報告し、図17の処理は終了する。
続いて、第3実施形態におけるアクセス権の連鎖的な変更について、図18〜図20を参照して説明する。
図18は、第3実施形態においてアクセス権を連鎖的に変更する処理のフローチャートである。
ステップS901で、文書IDがiの文書のアクセス権の設定が変更される。ステップS901の「変更」は、例えば、下記(i1)〜(i3)を含む。
(i1)既存の保護文書iに関してアクセス権管理テーブル301bに登録されているアクセス権情報が、図17のステップS809において変更される。
(i2)非保護文書iが、図17のステップS808において新たに保護文書としてアクセス権管理テーブル301bに登録されることで、アクセス権が未設定の状態からアク
セス権が設定された状態に変化する。
(i3)新たな保護文書iが図16の処理によって作成され、アクセス権管理テーブル301bに登録される。
(i1)〜(i3)はいずれもファイル保存制御部110による変化である。例えば、本実施形態では、ファイル保存制御部110を実現するためのプログラムにおいて、アクセス権管理サーバ300を介してアクセス権管理テーブル301bを更新するためのプロシージャには図18の処理の呼び出しが含まれる。したがって、確実にアクセス権の連鎖的な変更が行われる。
ステップS902では、ファイル保存制御部110が、文書iが既存の保護文書か否かを判断する。そして、(i1)の場合は、文書iが既存の保護文書なので処理がステップS903に移行する。(i2)と(i3)の場合は、文書iは既存の保護文書ではなく、図18の処理の直前に保護形式化されたものである。この場合、文書iのアクセス権を継承すべき他の文書は現段階では存在しないので、図18の処理が終了する。
ステップS903以降においてファイル保存制御部110は、「変更済み文書リスト」および「未変更文書リスト」と名付けた2つのリストを利用する。ファイル保存制御部110は、2つのリストを利用することで、複数の文書が循環的にデータを再利用しあう関係にある場合にも対処しつつ、アクセス権を連鎖的に変更することができる。
変更済み文書リストは、保護文書iのアクセス権の変更に応じてアクセス権を変更すべき保護文書のうち、既にアクセス権の変更が済んでいるもののリストである。未変更文書リストは、処理の進行にしたがって、保護文書iのアクセス権の変更に応じてアクセス権を変更すべき保護文書であることが判明したが、まだアクセス権の変更が済んでいないもののリストである。
ステップS903でファイル保存制御部110は、変更済み文書リストを初期化する。すなわち、ファイル保存制御部110は、iという文書IDのみを有する変更済み文書リストを作成する。
次に、ステップS904でファイル保存制御部110は、文書iの情報を再利用している他の文書の文書IDで、未変更文書リストを初期化する。具体的には、ファイル保存制御部110は、空リストを未変更文書リストとして作成し、iという文書IDをキーにして図15のアクセス権管理テーブル301bの「コピー元文書ID」列のリストを検索する。そして、ファイル保存制御部110は、iという文書IDを含むリストと関連づけられた「文書ID」列の文書IDをすべて未変更文書リストに追加する。
ステップS903とS904の初期化の後、ファイル保存制御部110はステップS905〜S911を繰り返し実行する。
ステップS905において、ファイル保存制御部110は未変更文書リストが空か否かを判定する。未変更文書リストが空ならば図18の処理は終了し、未変更文書リストが空でなければ処理はステップS906に移行する。
ステップS906において、ファイル保存制御部110は、未変更文書リストから1つの文書IDを取り出す。本実施形態では、ファイル保存制御部110は、未変更文書リストの先頭の文書IDを取り出す。以下では、ステップS906で取り出した文書IDをpとする。
次にステップS907において、ファイル保存制御部110は、アクセス権管理サーバ
300を介してアクセス権管理テーブル301bを参照し、「文書ID」列のpという文書IDに関連づけられた「コピー元文書ID」列の文書IDを取得する。例えば、p=「DOC1」の場合、図15のアクセス権管理テーブル301bから、ファイル保存制御部110は、「コピー元文書ID」列の「DOC2」と「DOC5」を取得する。
そして、ファイル保存制御部110は、取得した文書IDを有する文書および文書p自身のアクセス権情報を、アクセス権管理サーバ300を介してアクセス権管理テーブル301bから取得する。例えば、p=「DOC1」の場合、ファイル保存制御部110は文書DOC2と文書DOC5と文書DOC1のアクセス権情報を取得する。
そして、ファイル保存制御部110は、取得したアクセス権情報に基づいて、文書pに新たに設定すべきアクセス権情報を生成する。例えば、p=「DOC1」の場合、ファイル保存制御部110は、取得した文書DOC1、DOC2、およびDOC5のアクセス権情報から、式(3)の「AND条件」により、文書DOC1の新たなアクセス権情報を生成する。
ファイル保存制御部110は、生成した文書pの新たなアクセス権情報を、アクセス権管理サーバ300を介してアクセス権管理テーブル301bに上書きして設定する。
続いてファイル保存制御部110は、ステップS908で変更済み文書リストにpという文書IDを追加し、ステップS909で未変更文書リストからpという文書IDを削除する。
そして、ステップS910でファイル保存制御部110は、アクセス権管理サーバ300を介してアクセス権管理テーブル301bを参照し、文書pの情報を再利用している文書の文書IDを取得する。つまり、ステップS904と同様の方法で、pという文書IDをキーにしてファイル保存制御部110はアクセス権管理テーブル301bの「コピー元文書ID」列を検索し、対応する「文書ID」列の文書IDを取得する。
ステップS910の結果、文書IDが1つも得られない場合もあるし、1つまたは複数の文書IDが得られる場合もある。
次にステップS911においてファイル保存制御部110は、ステップS910で取得した文書IDのうち変更済み文書リストと未変更文書リストのどちらにもないものを、未変更文書リストに追加する。本実施形態では、ファイル保存制御部110は、未変更文書リストの末尾に文書IDを追加する。
ステップS911の後、処理はステップS905に戻る。ステップS905〜S911が繰り返し実行されることにより、保護文書iのアクセス権を直接または間接に継承しているすべての保護文書のアクセス権が、保護文書iのアクセス権の変更に応じて連鎖的に変更される。
続いて、図18の処理の具体例を、図19と図20を参照して説明する。
図19は、第3実施形態において文書間のデータ再利用の関係を示す図である。図19(a)において各矢印は、コピー元文書のIDからコピー先文書のIDへ向かっている。図19(b)は、図19(a)のようにデータが再利用された場合のアクセス権管理テーブル301bの例であり、「文書ID」列と「コピー元文書ID」列の関連づけは、図19(a)における矢印に対応する。なお、説明の簡単化のため、図19(b)ではアクセス権管理テーブル301bのうち「ユーザIDまたはグループID」列、「保護文書を扱えるアプリケーションID」列、「権限」列の内容は適宜省略されている。
図19(a)の例では、文書D31は他の保護文書から再利用した情報を含まない。よ
って、文書ID「D31」を指す矢印は存在せず、図19(b)において「文書ID」列の文書ID「D31」に関連づけられたコピー元文書IDは存在しない。
また、文書D31の情報が文書D32と文書D34において再利用される。したがって、図19(b)のごとく、「文書ID」列の文書ID「D32」と「D34」には、いずれも「コピー元文書ID」列に文書ID「D31」が関連づけられている。
また、文書D32の情報が文書D33において再利用される。文書D33では、さらに、文書D34の情報も再利用されている。したがって、図19(b)のごとく、「文書ID」列の文書ID「D33」には「コピー元文書ID」列に文書ID「D32」と「D34」が関連づけられている。
なお、文書D33の情報を再利用している文書は存在しないので、「コピー元文書ID」列には文書ID「D33」は存在しない。
また、文書D34の情報は文書D35でも再利用されている。また、文書D35の情報は、文書D34で再利用されている。つまり、文書D34と文書D35は、互いに情報を再利用しあっており、文書D34と文書D35の親子関係は循環的である。この循環的な再利用は、図19(b)において、次のように表されている。すなわち、「文書ID」列の文書ID「D34」には「コピー元文書ID」列の文書ID「D35」が関連づけられ、「文書ID」列の文書ID「D35」には「コピー元文書ID」列の文書ID「D34」が関連づけられている。
以上図19を参照して説明したように情報の再利用が行われた状況において、文書D31のアクセス権の設定が変更されるとする。すると、ファイル保存制御部110が図18の処理を実行することで、文書D32〜D35のアクセス権も連鎖的に変更される。以下では、アクセス権が順次変更されていく経過について、図20を参照して説明する。
図20は、第3実施形態においてアクセス権が連鎖的に変更されていく経過を示す図である。図20は、アクセス権が変更される文書の文書ID、図18におけるステップの番号、未変更文書リストの状態、および変更済み文書リストの状態を表形式で表している。
図18の処理が開始されるステップS901において、文書D31のアクセス権が変更されるが、次のステップS902まで未変更文書リストと変更済み文書リストはともに空である。ステップS903で変更済み文書リストには文書ID「D31」が追加され、ステップS904で未変更文書リストには、文書ID「D32」と「D34」が追加される。
ステップS905で未変更文書リストが空ではないと判断され、続くステップS906〜S911においてはp=「D32」である。よって、ステップS907で文書D32のアクセス権は、文書D32自身と文書D31にそれぞれ関連づけられたアクセス権情報に基づいて更新される。
そして、ステップS908とS909によって文書ID「D32」は未変更文書リストから変更済み文書リストへ移動する。また、文書ID「D33」が、ステップS910で取得されてステップS911で未変更文書リストに追加される。
再びステップS905で未変更文書リストが空ではないと判断され、続くステップS906〜S911においては、p=「D34」である。よって、ステップS907で文書D34のアクセス権は、文書D34自身、文書D31、および文書D35のアクセス権情報に基づいて更新される。
そして、ステップS908とS909によって文書ID「D34」は未変更文書リストから変更済み文書リストへ移動する。また、ステップS910では文書ID「D33」と「D35」が取得されるが、文書ID「D33」は既に未変更文書リストに含まれている。よって、ステップS911では文書ID「D35」のみが新たに未変更文書リストに追加される。
3回目に実行されるステップS905でも未変更文書リストは空ではないと判断される。続くステップS906〜S911においては、p=「D33」である。よって、ステップS907で文書D33のアクセス権は、文書D33自身、文書D32、および文書D34のアクセス権情報に基づいて更新される。
そして、ステップS908とS909によって文書ID「D33」は未変更文書リストから変更済み文書リストへ移動する。また、ステップS910では1つも文書IDが取得されないので、ステップS911では未変更文書リストが変化しない。
4回目に実行されるステップS905でも未変更文書リストは空ではないと判断される。続くステップS906〜S911においては、p=「D35」である。よって、ステップS907で文書D35のアクセス権は、文書D35自身と文書D34のアクセス権情報に基づいて更新される。
そして、ステップS908とS909によって文書ID「D35」は未変更文書リストから変更済み文書リストへ移動する。また、ステップS910で文書ID「D34」が取得されるが、文書ID「D34」は既に変更済み文書リストに含まれている。よって、ステップS911では未変更文書リストが変化しない。
つまり、未変更文書リストが空の状態で処理はステップS905に戻り、そこで図18の処理が終了する。
以上図18〜図20を参照して説明したアクセス権の連鎖的な再設定の処理は、次のように形式化してまとめられる。
図15に関して(g1)と(g2)に例示したように、「非保護文書xから直接的に保護文書yへとデータが再利用されたか、または1つ以上の非保護文書を介して間接的に保護文書xの内容が保護文書yにおいて再利用された」という関係を「R」とする。換言すれば、関係Rは、図16または図17の処理により設定された、図15のアクセス権管理テーブル301bにおける「文書ID」列と「コピー元文書ID」列の組み合わせで表される第2の継承管理情報により規定される、2つの電子文書間の継承関係である。例えば、図19の例では式(4)が成り立つ。
(D31 R D32)∧(D32 R D33)∧
(D31 R D34)∧(D34 R D33)∧
(D34 R D35)∧(D35 R D34) (4)
ここで、関係Rの推移的閉包として定義される関係を「R」と表し、「推移的継承関係」ということにする。図18の処理は、保護文書iのアクセス権が変更されたとき、推移的継承関係Rが保護文書iに対して成立する1つ以上の電子文書を認識し、認識した1つ以上の電子文書それぞれのアクセス権を再設定する処理である。各電子文書のアクセス権の再設定では、保護文書iのアクセス権の変更が直接または間接に反映される。
例えば、図19の例では式(5)が成り立つ。
(D31 R D32)∧(D31 R D33)∧
(D31 R D34)∧(D31 R D35) (5)
よって、図20に示したように、推移的継承関係Rが保護文書D31に対して成立する4つの保護文書D32〜D35が認識され、それぞれのアクセス権が再設定される。また、保護文書D32〜D35それぞれのアクセス権は、文書D31のアクセス権情報を直接参照して再設定されるか、または、既に再設定された他の保護文書のアクセス権情報を介して間接的に文書D31のアクセス権の変更を反映して再設定される。
以上、第1〜第3実施形態について詳細に説明したが、上記実施形態で説明したコンピュータ100およびアクセス権管理サーバ300は、例えば、図21のコンピュータ500のように構成されていてもよい。図21は、コンピュータの構成図である。
コンピュータ500は、CPU(Central Processing Unit)501、ROM(Read Only memory)502、RAM(Random Access Memory)503、通信インターフェイス504、入力装置505、出力装置506、記憶装置507、および、可搬型記憶媒体510の駆動装置508を備える。コンピュータ500が備えるこれら各部は、バス509により接続されている。
また、コンピュータ500は通信インターフェイス504を介してネットワーク511に接続されている。ネットワーク511は、LAN(Local Area Network)やインターネットなどの任意のネットワークである。
CPU501は、RAM503に各種プログラムをロードし、RAM503をワーキングエリアとして用いながら各種プログラムを実行する。
CPU501が実行する各種プログラムは、ROM502または記憶装置507に予め格納されていてもよく、ネットワーク511を介してプログラム提供者512から提供され、記憶装置507に格納されてもよい。あるいは、CPU501が実行する各種プログラムは、可搬型記憶媒体510に格納され、駆動装置508にセットされた可搬型記憶媒体510からRAM503にロードされ、CPU501により実行されてもよい。可搬型記憶媒体510としては、CD(Compact Disc)やDVD(Digital Versatile Disk)などの光ディスク、光磁気ディスク、磁気ディスク、不揮発性半導体メモリなど様々な形式の記憶媒体を使用することができる。
入力装置505は、マウスなどのポインティングデバイスやキーボードである。出力装置506は、例えば液晶ディスプレイなどの表示装置である。記憶装置507は、ハードディスク装置などの磁気ディスク装置でもよく、他の種類の記憶装置でもよい。
例えば、図1および図11のコンピュータ100がコンピュータ500のように構成される場合、共有メモリ104と継承管理テーブル108はRAM503により実現され、文書格納領域101は記憶装置507により実現される。第2実施形態では、文書索引情報と文書IDを関連づけて管理するための不図示のテーブルも記憶装置507に格納される。
また、OS102とアプリケーション103それぞれのプログラムは、例えば、記憶装置507に予め格納されている。CPU501は、OS102とアプリケーション103のプログラムをRAM503にロードして実行する。
アクセス制御部105のうち、RAM503により実現される継承管理テーブル108以外は、CPU501が上記各種プログラムを実行することにより実現される。
すなわち、アプリケーション103やOS102を監視し、図6〜図9、図13、図14、図16、図17の処理の契機を認識するためのプログラムを実行することで、CPU
501はアプリケーション監視部106として機能する。また、図5に関して説明した、文書を開くときの処理のためのプログラムを実行することで、CPU501はファイルオープン制御部109として機能する。
そして、図6、図9、図13、図14、図16〜図18の処理のためのプログラムを実行することで、CPU501はファイル保存制御部110として機能する。また、図7の処理(あるいは第2実施形態や第3実施形態における図7と類似の処理)のためのプログラムを実行することで、CPU501は書き込み制御部112として機能する。さらに、図8の処理(あるいは第2実施形態や第3実施形態における図8と類似の処理)のためのプログラムを実行することで、CPU501は貼り付け制御部113としても機能する。
以上のように、CPU501とRAM503は、アクセス制御部105を実現している。
なお、第1および第3実施形態では、アクセス制御部105の各部とアクセス権管理サーバ300との間の通信に通信インターフェイス504も使われる。
また、図1のアクセス権管理サーバ300がコンピュータ500のように構成される場合、アクセス権管理テーブル301、および文書索引情報と文書IDを関連づけて管理するための不図示のテーブルは、記憶装置507に格納される。図1のネットワーク200は図21のネットワーク511に相当する。
なお、本発明は上記の第1〜第3実施形態に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
上記では、アクセス権がユーザ別に定義される例を具体的に示したが、実施形態によっては、アクセス権はユーザ別に設定されるとは限らない。アクセス権の制限には、例えば、パスワードによる制限や、権利者のレベルすなわち個々の権利者に付与された権限のレベルに応じた制限など、様々な種類がある。
例えば、実施形態によっては、「文書Dは、ある特定のパスワードを知っているユーザなら誰でも読み出し権限がある」といった、パスワード別のアクセス権の制限も可能である。また、「レベル0のユーザは文書Dに対して何のアクセス権もなく、レベル1以上のユーザは文書Dに対する読み出し権限を有し、レベル2以上のユーザはさらに文書Dに対する書き込み権限も有する」といった、権限のレベル別のアクセス権の制限も可能である。
例えば、権限のレベルに応じた制限が行われる実施形態では、図5のアクセス権管理テーブル301において、「ユーザIDまたはグループID」列の代わりに、権限のレベルの値を格納する列が用いられてもよい。同様に、図12のアクセス権情報401や図15のアクセス権管理テーブル301bの構成も、「ユーザ別」、「パスワード別」、「権限のレベル別」などの、アクセス権を制限する基準(つまりアクセス権を管理する単位)に応じて、適宜変更することができる。なお、各フローチャートに示した処理は、アクセス権管理テーブルなどの構成の違いに応じて、適宜変形されて実行される。
また、別の観点からの変形として、ファイル保存制御部110は、上記で説明した動作のほかに、入力装置505などを介して受け取った明示的な要求(以下「保護要求」という)に基づいて、非保護文書を保護文書に変換する処理をさらに行ってもよい。保護要求は、設定すべきアクセス権情報を含む。
第1実施形態の場合、保護要求を受け取ったファイル保存制御部110は、アクセス権管理サーバ300に文書IDの発行を要求する。そして、発行された文書IDと保護要求
で指定されたアクセス権情報をアクセス権管理テーブル301に登録するよう、アクセス権管理サーバ300に要求する。
第2実施形態の場合、保護要求を受け取ったファイル保存制御部110は、制御部107に文書IDの発行を要求し、変換しようとする非保護文書のヘッダ領域に、保護要求で指定されたアクセス権情報を格納する。
第3実施形態の場合は第1実施形態と同様である。
そして、ファイル保存制御部110は、保護要求にしたがって非保護文書を暗号化して保護文書に変換する。
また、図4の継承管理テーブル108、図5のアクセス権管理テーブル301、図12のアクセス権情報401、および図15のアクセス権管理テーブル301bは、表形式で表現されている。しかし、表形式以外のデータ形式を採用してもよい。例えば、図5、図12、および図15に含まれるアクセス権情報は、XML(Extensible Markup Language)などのマークアップ言語により表現されていてもよい。
また、図5、図12、または図15における「保護文書を扱えるアプリケーションID」列を省略する実施形態も可能である。すなわち、「保護文書を扱えるアプリケーションID」列は、アプリケーション別の管理のための列なので、単にユーザ別のアクセス制御を行えばよい実施形態においては不要である。
また、複数の端末を介して複数のユーザが同時にログインすることが可能なシステムに第1〜第3実施形態を適用する場合、図4の継承管理テーブル108は、文書を開いているユーザを示す「ユーザID」列をさらに有していてもよい。
また、第1実施形態の図4の例は、保護文書DOC5から保護文書DOC4へとデータがコピー・アンド・ペーストされた後、かつ保護文書DOC4がまだ保存されていない段階を表している。図4によれば、この段階でさらに、保護文書DOC4から文書DOC3へとデータがコピー・アンド・ペーストされている。第1実施形態では、図4のような場合、文書ID「DOC3」には文書ID「DOC4」と「DOC5」の双方が関連づけられる。
しかし、保護文書DOC4からデータがコピーされるとき、図7のステップS204において、直接のコピー元文書の文書ID「DOC4」のみをデータに関連づけるよう、第1実施形態を変形してもよい。その場合、図9のステップS408とS409は次のように変形される。
つまり、変形例におけるステップS408とS409でファイル保存制御部110は、継承管理テーブル108を参照し、「開いている文書のID」列の対象文書の文書ID「DOC3」に関連づけられて「コピー元文書のID」列に格納された文書ID「DOC4」を取得する。
そして、ファイル保存制御部110は、継承管理テーブル108を再度参照することで、取得した文書ID「DOC4」を「開いている文書のID」列に含むエントリを検索する。それによってファイル保存制御部110は、文書ID「DOC4」に関連づけられて「コピー元文書のID」列に格納された文書ID「DOC5」を取得する。
このように、継承管理テーブル108を複数回参照することで、ファイル保存制御部110は、文書DOC3の親に当たる文書DOC4だけでなく、文書DOC3の先祖に当た
る他の保護文書の文書ID「DOC5」も取得することができる。変形例では、こうして取得した先祖の文書のアクセス権情報を「AND条件」にしたがってマージすることで、ファイル保存制御部110は対象文書のアクセス権情報を生成する。
また、第1実施形態または第3実施形態において、アクセス制御部105は、アクセス権管理テーブル301または301bを、アクセス権管理サーバ300からコンピュータ100にダウンロードし、例えば文書格納領域101に格納してもよい。アクセス制御部105は、ダウンロードしたアクセス権管理テーブル301または301bに、必要に応じて有効期限を設定してもよい。
有効期限内においてアクセス制御部105内の各部は、文書格納領域101にダウンロードしたアクセス権管理テーブル301または301bを、上記第1または第3実施形態と同様に参照または変更する。以上により、ネットワーク200から切り離されたローカルマシン(つまりコンピュータ100)であっても、有効期限内であれば一時的に、スタンドアロンでアクセス権の継承を行うことができる。
あるいは、有効期限を設定せず、恒常的にアクセス権管理テーブル301または301bが文書格納領域101に格納されおり、コンピュータ100が単独でアクセス権の継承を行う実施形態も可能である。
また、上記第1〜第3実施形態では、アクセス権の継承において式(1)〜(3)を使って定義される「AND条件」により、新たなアクセス権情報をファイル保存制御部110が生成している。しかし、式(2)の代わりに式(6)を用いたり、式(3)の代わりに式(7)を用いたりすることもできる。
Read(D,U,A
=(Read(D,U,A)∨Write(D,U,A))∧
……
∧(Read(D,U,A)∨Write(D,U,A))
(6)
Read(D,U,A
=Read(D,U,A)∧
(Read(D,U,A)∨Write(D,U,A))∧
……
∧(Read(D,U,A)∨Write(D,U,A))
(7)
また、図5、図12、および図15では、権限の種類として、読み出し権限、書き込み権限、印刷権限を例示した。しかし、実施形態によっては、さらに、実行、削除、検索、データのコピーなど、その他の様々な操作に対応する様々な種類の権限が管理されてもよい。逆に、例えば印刷権限という種類の権限がなくてもよい。どのような種類の権限を管理するかに応じて、「AND条件」も適宜変形可能である。
なお、上記実施形態ではアクセス制御部105がミドルウェアとして実装される。よって、OS102が提供するファイルシステムにおけるアクセス制御の仕様とは関係なく、アクセス権管理テーブル301または301bにおける権限の種類を決めることができる。
また、第2実施形態と第3実施形態を組み合わせてもよい。つまり、図12のアクセス権情報401に、図15のアクセス権管理テーブル301bの「コピー元文書ID」列を追加し、第3実施形態の図18と同様の処理を行うよう、第2実施形態を変形することも
できる。
また、第1〜第3実施形態では、文書格納領域101に格納された文書がアクセス権の継承の対象である。しかし、コンピュータ100とは別のファイルサーバなど、外部の記憶装置に格納された文書をアクセス権の継承の対象としてもよい。
また、例えば図10に示したように、第1〜第3実施形態では、コピーされたデータと関連づけられて文書IDも共有メモリ104に格納される。しかし、文書IDは、コピーされたデータが格納される共有メモリ104とは別のRAM上の領域に格納されてもよい。
なお、文書IDの代わりに文書索引情報を用いる実施形態も可能である。その場合、アクセス権管理サーバ300または制御部107が、文書IDを発行したり文書索引情報と文書IDの関連を管理したりする必要はない。
また、上記各実施形態では、主に上記(b1)と(b3)によって情報が再利用されるときのアクセス権の継承について説明した。しかし、(b2)、(b4)〜(b6)に関しても、情報の再利用に伴う特定の処理をアプリケーション監視部106が監視して捕捉することにより、アクセス制御部105がアクセス権の継承を実現することができる。監視すべき処理は、例えば、システムコールなどのOS102への要求でもよく、OS102からの応答でもよい。
例えば、(b2)の「別名で保存」メニューによる情報の再利用に関しては、図9の処理を以下のように変形することでアクセス権の継承を実現することができる。すなわち、現在開かれている文書Xを別の文書Yとして保存しようとする場合、ステップ401と同様に保存要求をアプリケーション監視部106が捕捉する。そして、ステップS402と同様にファイル保存制御部110が、文書Xは継承管理テーブル108の「開いている文書のID」列に登録されているか否かを判断する。
文書ID「X」が継承管理テーブル108の「開いている文書のID」列に登録されていなければ、ステップS403と同様に、文書Xが元から保護文書であったか否かをファイル保存制御部110が判断する。
文書Xが非保護文書ならば、ファイル保存制御部110はステップS405と同様に、文書Yも非保護文書として文書格納領域101に保存する。
しかし、文書Xが保護文書ならば、ファイル保存制御部110はステップS404の代わりに、文書Yを保護形式化し、アクセス権管理サーバ300に対して文書Yへの文書IDの発行を要求する。そして、文書Xのアクセス権情報をコピーして、発行された文書ID「Y」と関連づけてアクセス権管理テーブル301に登録するよう、ファイル保存制御部110はアクセス権管理サーバ300に要求する。また、ファイル保存制御部110は、保護形式化した文書YをステップS405と同様にして文書格納領域101に格納する。
また、ステップS402において文書ID「X」が継承管理テーブル108の「開いている文書のID」列に登録されていれば、ファイル保存制御部110はステップS406と同様に文書Yを保護形式化する。さらに、ファイル保存制御部110は、アクセス権管理サーバ300に対して文書Yへの文書IDの発行を要求する。
そして、ファイル保存制御部110は次のようにして文書Yのアクセス権情報を生成する。すなわち、ファイル保存制御部110は、文書ID「X」に関連づけられて継承管理
テーブル108の「コピー元文書のID」列に登録されている保護文書のアクセス権情報と、文書Xのアクセス権情報を「AND条件」などによってマージする。
ファイル保存制御部110はアクセス権管理サーバ300を介して、文書ID「Y」と生成したアクセス権情報とを関連づけてアクセス権管理テーブル301に登録する。なお、図9とは異なり、ファイル保存制御部110は、文書ID「X」に関連づけられた継承管理テーブル108上の情報は削除しない。
また、文書の保存を契機としてアクセス権の継承が行われる上記第1〜第3実施形態を、データの貼り付けを契機としてアクセス権の継承が行われるように変形することも可能である。例えば、図9のステップS408またはS409におけるアクセス権管理テーブル301の更新と継承管理テーブル108からのエントリの削除を、図8のステップS308の直後に行うよう、第1実施形態を変形することができる。第2および第3実施形態も同様に変形可能である。
なお、この変形例においては、例えば図8のステップS303とS305の間に、ユーザに対してダイアログを表示するステップを追加してもよい。ダイアログは、例えば、「データの貼り付けを実行するとアクセス権が継承される」という警告と、「貼り付けを実行するか否か」という質問を含む。
質問に対するユーザの回答が入力装置から入力されると、貼り付け制御部113は入力された回答に基づいて、ステップS305以下の処理を続けるか、または図8の処理を中止する。ダイアログを用いることで、例えばユーザの貼り付け操作のミスが原因で、ユーザが知らないうちに意図しないアクセス権の継承が行われるという事態を防止することができる。
同様に、第1実施形態の図9のステップS402とS406の間にダイアログを表示するステップが追加されてもよい。
また、以上説明した様々な実施形態は、クリップボードの内容を閲覧するためのアプリケーションまたはメニューを考慮して変形することもできる。以下では、第1実施形態を変形する場合を例にして説明する。
クリップボードには、OS102によって提供されるものと、特定のアプリケーション内または特定のアプリケーションスイート内で提供されるものがある。以下、前者を「OSクリップボード」といい、後者を「アプリケーション・クリップボード」ということにする。いずれも、共有メモリ104により実現可能である。
OSクリップボードは、一般には、コピー操作またはカット操作のたびに書き換えられ、履歴を保持しない。しかし、アプリケーション・クリップボードの中には、コピーまたはカットされた複数のデータを保持し、保持した複数のデータの中の任意の1つをユーザの選択に応じて貼り付ける機能を提供するものがある。
OSクリップボードの内容は、「クリップボードビューア」と呼ばれる種類のアプリケーションを使って閲覧可能である。アプリケーション・クリップボードの内容は、例えばアプリケーション内から特定のメニュー(以下「クリップボード閲覧メニュー」という)を選択することで閲覧可能である。
第1実施形態では図7のステップS204において、書き込み制御部112は、共有メモリ104にコピーされたデータを暗号化している。ここで、ステップS204の暗号化が行われないと仮定すると、クリップボードビューアまたはクリップボード閲覧メニュー
の画面にはデータの内容が表示される。したがって、例えばクリップボードビューアの画面のスクリーンショットを撮って非保護文書に貼り付ける操作が行われると、保護すべき情報が漏洩してしまう。
しかし、上記のように第1実施形態によれば、実際はステップS204でデータは暗号化されている。よって、クリップボードビューアまたはクリップボード閲覧メニューを介した情報漏洩のおそれはない。
ただし、利便性という観点からは、データが暗号化されていることにより、OSクリップボードやアプリケーション・クリップボードの内容をユーザが閲覧することができず、不便なことがある。そこで、クリップボードビューアやクリップボード閲覧メニューの存在を考慮して、第1実施形態を次のように変形してもよい。
図7のステップS201のようにデータコピー要求が発せられると、書き込み制御部112は図7の処理を実行する。本変形例では、書き込み制御部112は、ステップS204またはステップS206を実行した後、クリップボードビューアに関して次の処理をさらに実行する。
すなわち、書き込み制御部112は、共有メモリ104上のデータに関連づけた文書IDに基づいて、図8のステップS303と類似の方法で、クリップボードビューアを起動したユーザが共有メモリ104上のデータへのアクセス権を持つか否かを判断する。なお、クリップボードビューアのアプリケーションIDを含むアクセス権情報は、事前に図5にアクセス権管理テーブル301に適宜設定されているものとする。
共有メモリ104上にコピーされたデータへのアクセス権を、クリップボードビューアを起動したユーザが持つ場合、書き込み制御部112は、共有メモリ104上にコピーされたデータを復号してクリップボードビューアに読み込ませる。それにより、情報漏洩の防止とクリップボードビューアの利便性が両立する。
次に、アプリケーション103を含むアプリケーションスイートが、履歴を保持するアプリケーション・クリップボードおよびクリップボード閲覧メニューを提供する場合の本変形例の動作を説明する。ここで、アプリケーション・クリップボードを実現する共有メモリ104上にはM個のデータが存在するとする(M≧1)。M個のデータは、保護形式化されていないものと、保護形式化されて文書IDと関連づけられたものの両方を含んでいてもよい。
データコピー要求が発せられると、書き込み制御部112は、共有メモリ104上にコピーされたM個のデータのそれぞれについて、上記と同様にしてアプリケーション103を起動したユーザが当該データへのアクセス権を持つか否かを判断する。
アクセス権がある場合、書き込み制御部112は当該データを復号し、クリップボード閲覧メニューに表示すべきデータとして、共有メモリ104上のデータの代わりに復号したデータをアプリケーション103に読み込ませる。他方、アクセス権がない場合、書き込み制御部112は、暗号化されている当該データまたはダミーデータを、クリップボード閲覧メニューに表示すべきデータとして、アプリケーション103に読み込ませる。
その結果、クリップボード閲覧メニューには、アクセス権のあるデータのみが復号化された状態で表示される。それにより、情報漏洩の防止とクリップボード閲覧メニューの利便性が両立する。
最後に、さらに下記の付記を開示する。
(付記1)
暗号化された複数の電子文書に対するアクセス権を表すアクセス権情報により第1のアクセス権が設定されている、暗号化された第1の電子文書に含まれる内容が、第2の電子文書において再利用される場合に行われる1つ以上の処理を監視して捕捉する捕捉ステップと、
前記捕捉ステップにおいて前記1つ以上の処理を捕捉した場合、前記アクセス権情報を更新することにより前記第1のアクセス権に基づく第2のアクセス権を前記第2の電子文書に設定する設定ステップと、
前記第2の電子文書を暗号化して保存する保存ステップと、
をコンピュータに実行させることを特徴とするアクセス制御プログラム。
(付記2)
前記1つ以上の処理は、前記第1の電子文書において前記内容を表す第1のデータの共有メモリへの書き込みに伴う第1の処理と、前記内容を表し前記共有メモリに格納された第2のデータの前記第2の電子文書への書き込みに伴う第2の処理とを含み、
前記第1の処理が捕捉されたとき、前記第1のデータを暗号化することにより前記第2のデータを生成して前記共有メモリに書き込む書き込みステップと、
前記第2の処理が捕捉されたとき、前記第2のデータを復号して前記第2の電子文書に貼り付ける貼り付けステップと、
をさらに前記コンピュータに実行させることを特徴とする付記1に記載のアクセス制御プログラム。
(付記3)
前記書き込みステップは、前記第1の電子文書を識別する識別情報と前記第2のデータとを関連づけるデータ関連づけステップを含み、
前記貼り付けステップは、前記第2のデータに関連づけられた前記識別情報に基づいて前記第1の電子文書を前記第2の電子文書に関連づける第1の継承管理情報を生成する第1の継承管理ステップを含み、
前記設定ステップは、前記第1の継承管理情報を参照して前記第2の電子文書に前記第1の電子文書が関連づけられていることを認識することにより、前記第2のアクセス権の根拠とすべき前記第1のアクセス権を認識する認識ステップを含む、
ことを特徴とする付記2に記載のアクセス制御プログラム。
(付記4)
前記1つ以上の処理はさらに、前記第2のデータが書き込まれた前記第2の電子文書の保存に伴う第3の処理を含み、
前記設定ステップは、前記捕捉ステップで前記第3の処理が捕捉されたことを契機として実行される、
ことを特徴とする付記2に記載のアクセス制御プログラム。
(付記5)
前記設定ステップは、前記捕捉ステップで前記第2の処理が捕捉されたことを契機として実行されることを特徴とする付記2に記載のアクセス制御プログラム。
(付記6)
前記設定ステップの前に、既に前記第2の電子文書に元の第2のアクセス権が設定されていた場合は、
前記設定ステップでは、前記第1のアクセス権と前記元の第2のアクセス権の双方に基づいて、前記第1のアクセス権以上に制限され、かつ前記元の第2のアクセス権以上に制限された前記第2のアクセス権が設定される、
ことを特徴とする付記1に記載のアクセス制御プログラム。
(付記7)
前記第1の電子文書が複数あり、
複数の前記第1の電子文書それぞれが表す前記内容が前記第2の電子文書において再利
用されたとき、前記設定ステップでは、複数の前記第1の電子文書それぞれの前記第1のアクセス権に基づいて、前記第2のアクセス権が前記第2の電子文書に設定され、
前記第2のアクセス権は、複数の前記第1の電子文書それぞれの前記第1のアクセス権のいずれと比較しても、同じか、またはより制限されている、
ことを特徴とする付記1に記載のアクセス制御プログラム。
(付記8)
前記内容が前記第2の電子文書において再利用されたとき、前記第1の電子文書と前記第2の電子文書を関連づける第2の継承管理情報を生成して記憶する第2の継承管理ステップと、
前記第1のアクセス権が変更されたとき、前記第2の継承管理情報を参照することで、前記第2の継承管理情報により規定される2つの電子文書間の継承関係の推移的閉包として定義される推移的継承関係が前記第1の電子文書に対して成立する、前記第2の電子文書を含む1つ以上の電子文書を認識し、認識した前記1つ以上の電子文書それぞれのアクセス権を、前記第1のアクセス権の変更を直接または間接に反映することにより、再設定する再設定ステップを、
さらに前記コンピュータに実行させることを特徴とする付記1に記載のアクセス制御プログラム。
(付記9)
前記1つ以上の処理は、前記第1の電子文書をコピーして前記第2の電子文書として保存することに伴う第4の処理を含むことを特徴とする付記1に記載のアクセス制御プログラム。
(付記10)
前記設定ステップにおいて、前記第2のアクセス権は前記第1のアクセス権と同じに設定されることを特徴とする付記9に記載のアクセス制御プログラム。
(付記11)
前記アクセス権情報は、前記第1および第2の電子文書とは分離されて集中管理されていることを特徴とする付記1に記載のアクセス制御プログラム。
(付記12)
ネットワークを介して前記コンピュータと接続されたサーバにより前記アクセス権情報が集中管理されており、
前記コンピュータは前記サーバを介して前記アクセス権情報の参照および変更を行う、
ことを特徴とする付記11に記載のアクセス制御プログラム。
(付記13)
前記アクセス権情報は分散しており、
前記アクセス権情報のうち前記第1のアクセス権と前記第2のアクセス権をそれぞれ表す部分は、前記第1の文書と前記第2の文書にそれぞれ個別に付加されている、
ことを特徴とする付記1に記載のアクセス制御プログラム。
(付記14)
前記アクセス権情報は、アプリケーション別にアクセス権を表していることを特徴とする付記1に記載のアクセス制御プログラム。
(付記15)
コンピュータが、
暗号化された複数の電子文書に対するアクセス権を表すアクセス権情報により第1のアクセス権が設定されている、暗号化された第1の電子文書に含まれる内容が、第2の電子文書において再利用される場合に行われる1つ以上の処理を監視して捕捉し、
前記1つ以上の処理を捕捉した場合、前記アクセス権情報を更新することにより前記第1のアクセス権に基づく第2のアクセス権を前記第2の電子文書に設定し、
前記第2の電子文書を暗号化して保存する、
ことを特徴とするアクセス制御方法。
(付記16)
暗号化された複数の電子文書に対するアクセス権を表すアクセス権情報により第1のアクセス権が設定されている、暗号化された第1の電子文書に含まれる内容が、第2の電子文書において再利用される場合に行われる1つ以上の処理を監視して捕捉する捕捉手段と、
前記捕捉手段が前記1つ以上の処理を捕捉した場合、前記アクセス権情報を更新することにより前記第1のアクセス権に基づく第2のアクセス権を前記第2の電子文書に設定する設定手段と、
前記第2の電子文書を暗号化して保存する保存制御手段と、
を備えることを特徴とするアクセス制御装置。
100 コンピュータ
101 文書格納領域
102 OS
103 アプリケーション
104 共有メモリ
105 アクセス制御部
106 アプリケーション監視部
107 制御部
108、108a〜108f 継承管理テーブル
109 ファイルオープン制御部
110 ファイル保存制御部
111 共有メモリ制御部
112 書き込み制御部
113 貼り付け制御部
200 ネットワーク
300 アクセス権管理サーバ
301、301b アクセス権管理テーブル
401 アクセス権情報
500 コンピュータ
501 CPU
502 ROM
503 RAM
504 通信インターフェイス
505 入力装置
506 出力装置
507 記憶装置
508 駆動装置
509 バス
510 可搬型記憶媒体
511 ネットワーク
512 プログラム提供者
D1〜D35 文書
X オブジェクト
A〜C データ
I1〜I3 文書ID

Claims (7)

  1. 暗号化された複数の電子文書に対するアクセス権を表すアクセス権情報により第1のアクセス権が設定されている、暗号化された第1の電子文書に含まれる内容が、第2の電子文書において再利用される場合に行われる1つ以上の処理を監視して捕捉する捕捉ステップと、
    前記捕捉ステップにおいて前記1つ以上の処理を捕捉した場合、前記アクセス権情報を更新することにより前記第1のアクセス権に基づく第2のアクセス権を前記第2の電子文書に設定する設定ステップと、
    前記第2の電子文書を暗号化して保存する保存ステップと、
    をコンピュータに実行させることを特徴とするアクセス制御プログラム。
  2. 前記1つ以上の処理は、前記第1の電子文書において前記内容を表す第1のデータの共有メモリへの書き込みに伴う第1の処理と、前記内容を表し前記共有メモリに格納された第2のデータの前記第2の電子文書への書き込みに伴う第2の処理とを含み、
    前記第1の処理が捕捉されたとき、前記第1のデータを暗号化することにより前記第2のデータを生成して前記共有メモリに書き込む書き込みステップと、
    前記第2の処理が捕捉されたとき、前記第2のデータを復号して前記第2の電子文書に貼り付ける貼り付けステップと、
    をさらに前記コンピュータに実行させることを特徴とする請求項1に記載のアクセス制御プログラム。
  3. 前記書き込みステップは、前記第1の電子文書を識別する識別情報と前記第2のデータとを関連づけるデータ関連づけステップを含み、
    前記貼り付けステップは、前記第2のデータに関連づけられた前記識別情報に基づいて前記第1の電子文書を前記第2の電子文書に関連づける第1の継承管理情報を生成する第1の継承管理ステップを含み、
    前記設定ステップは、前記第1の継承管理情報を参照して前記第2の電子文書に前記第1の電子文書が関連づけられていることを認識することにより、前記第2のアクセス権の根拠とすべき前記第1のアクセス権を認識する認識ステップを含む、
    ことを特徴とする請求項2に記載のアクセス制御プログラム。
  4. 前記1つ以上の処理はさらに、前記第2のデータが書き込まれた前記第2の電子文書の保存に伴う第3の処理を含み、
    前記設定ステップは、前記捕捉ステップで前記第3の処理が捕捉されたことを契機として実行される、
    ことを特徴とする請求項2に記載のアクセス制御プログラム。
  5. 前記内容が前記第2の電子文書において再利用されたとき、前記第1の電子文書と前記第2の電子文書を関連づける第2の継承管理情報を生成して記憶する第2の継承管理ステップと、
    前記第1のアクセス権が変更されたとき、前記第2の継承管理情報を参照することで、前記第2の継承管理情報により規定される2つの電子文書間の継承関係の推移的閉包として定義される推移的継承関係が前記第1の電子文書に対して成立する、前記第2の電子文書を含む1つ以上の電子文書を認識し、認識した前記1つ以上の電子文書それぞれのアクセス権を、前記第1のアクセス権の変更を直接または間接に反映することにより、再設定する再設定ステップを、
    さらに前記コンピュータに実行させることを特徴とする請求項1に記載のアクセス制御プログラム。
  6. コンピュータが、
    暗号化された複数の電子文書に対するアクセス権を表すアクセス権情報により第1のアクセス権が設定されている、暗号化された第1の電子文書に含まれる内容が、第2の電子文書において再利用される場合に行われる1つ以上の処理を監視して捕捉し、
    前記1つ以上の処理を捕捉した場合、前記アクセス権情報を更新することにより前記第1のアクセス権に基づく第2のアクセス権を前記第2の電子文書に設定し、
    前記第2の電子文書を暗号化して保存する、
    ことを特徴とするアクセス制御方法。
  7. 暗号化された複数の電子文書に対するアクセス権を表すアクセス権情報により第1のアクセス権が設定されている、暗号化された第1の電子文書に含まれる内容が、第2の電子文書において再利用される場合に行われる1つ以上の処理を監視して捕捉する捕捉手段と、
    前記捕捉手段が前記1つ以上の処理を捕捉した場合、前記アクセス権情報を更新することにより前記第1のアクセス権に基づく第2のアクセス権を前記第2の電子文書に設定する設定手段と、
    前記第2の電子文書を暗号化して保存する保存制御手段と、
    を備えることを特徴とするアクセス制御装置。
JP2009018839A 2009-01-29 2009-01-29 アクセス制御プログラム、アクセス制御方法、およびアクセス制御装置 Expired - Fee Related JP5298891B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009018839A JP5298891B2 (ja) 2009-01-29 2009-01-29 アクセス制御プログラム、アクセス制御方法、およびアクセス制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009018839A JP5298891B2 (ja) 2009-01-29 2009-01-29 アクセス制御プログラム、アクセス制御方法、およびアクセス制御装置

Publications (2)

Publication Number Publication Date
JP2010176431A true JP2010176431A (ja) 2010-08-12
JP5298891B2 JP5298891B2 (ja) 2013-09-25

Family

ID=42707334

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009018839A Expired - Fee Related JP5298891B2 (ja) 2009-01-29 2009-01-29 アクセス制御プログラム、アクセス制御方法、およびアクセス制御装置

Country Status (1)

Country Link
JP (1) JP5298891B2 (ja)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012159889A (ja) * 2011-01-28 2012-08-23 Fujitsu Ltd 情報管理装置、情報管理方法および情報管理用プログラム
WO2012176530A1 (ja) * 2011-06-23 2012-12-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 秘密情報を管理する情報処理装置、方法およびプログラム
JP2013222481A (ja) * 2012-04-16 2013-10-28 Sharp Corp 情報記録装置、情報記録媒体および情報記録方法
JP2015099461A (ja) * 2013-11-19 2015-05-28 日本電気株式会社 データ保護装置、方法、および、プログラム
US9218499B2 (en) 2010-12-22 2015-12-22 International Business Machines Corporation Data duplication using a shared storage area with improved access control
JP2017182122A (ja) * 2016-03-28 2017-10-05 コニカミノルタ株式会社 データ提供システム、アクセス権管理装置、データ提供方法、およびコンピュータプログラム
JP2018116510A (ja) * 2017-01-18 2018-07-26 トヨタ自動車株式会社 不正判定システム及び不正判定方法
WO2020066399A1 (ja) * 2018-09-26 2020-04-02 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
JP2021015400A (ja) * 2019-07-11 2021-02-12 富士通株式会社 情報処理プログラム、情報処理装置及び情報処理方法
WO2022186367A1 (ja) * 2021-03-04 2022-09-09 Necソリューションイノベータ株式会社 データ管理装置、データ管理システム、データ管理方法及びコンピュータ読み取り可能な記録媒体
WO2023007570A1 (ja) * 2021-07-27 2023-02-02 ハミングヘッズ株式会社 情報処理方法、プログラム、記憶媒体
WO2024021069A1 (zh) * 2022-07-29 2024-02-01 华为技术有限公司 访问控制方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005056418A (ja) * 2003-07-31 2005-03-03 Internatl Business Mach Corp <Ibm> ドキュメント・コンポーネント用セキュリティ・コンテナ
JP2006155155A (ja) * 2004-11-29 2006-06-15 Fujitsu Ltd 情報漏洩防止装置、方法およびそのプログラム
JP2006268465A (ja) * 2005-03-24 2006-10-05 Canon Inc 電子文書管理システム
JP2007048310A (ja) * 2000-11-20 2007-02-22 Humming Heads Inc 情報処理装置及びその方法、プログラム
JP2007243621A (ja) * 2006-03-08 2007-09-20 Fuji Xerox Co Ltd 画像処理制御装置、プログラム、方法
JP2008123243A (ja) * 2006-11-13 2008-05-29 Fuji Xerox Co Ltd 電子文書管理プログラム及び電子文書管理装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007048310A (ja) * 2000-11-20 2007-02-22 Humming Heads Inc 情報処理装置及びその方法、プログラム
JP2005056418A (ja) * 2003-07-31 2005-03-03 Internatl Business Mach Corp <Ibm> ドキュメント・コンポーネント用セキュリティ・コンテナ
JP2006155155A (ja) * 2004-11-29 2006-06-15 Fujitsu Ltd 情報漏洩防止装置、方法およびそのプログラム
JP2006268465A (ja) * 2005-03-24 2006-10-05 Canon Inc 電子文書管理システム
JP2007243621A (ja) * 2006-03-08 2007-09-20 Fuji Xerox Co Ltd 画像処理制御装置、プログラム、方法
JP2008123243A (ja) * 2006-11-13 2008-05-29 Fuji Xerox Co Ltd 電子文書管理プログラム及び電子文書管理装置

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9218499B2 (en) 2010-12-22 2015-12-22 International Business Machines Corporation Data duplication using a shared storage area with improved access control
JP2012159889A (ja) * 2011-01-28 2012-08-23 Fujitsu Ltd 情報管理装置、情報管理方法および情報管理用プログラム
GB2506074B (en) * 2011-06-23 2017-02-22 Ibm Information processing apparatus, method, and program for managing confidential information
CN103518196A (zh) * 2011-06-23 2014-01-15 国际商业机器公司 管理秘密信息的信息处理设备、方法和程序
GB2506074A (en) * 2011-06-23 2014-03-19 Ibm Information processing device, method, and program which administer secret information
JP5576563B2 (ja) * 2011-06-23 2014-08-20 インターナショナル・ビジネス・マシーンズ・コーポレーション 秘密情報を管理する情報処理装置、方法およびプログラム
US9053333B2 (en) 2011-06-23 2015-06-09 International Business Machines Corporation Managing confidential information
CN103518196B (zh) * 2011-06-23 2016-01-20 国际商业机器公司 管理秘密信息的信息处理设备和方法
WO2012176530A1 (ja) * 2011-06-23 2012-12-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 秘密情報を管理する情報処理装置、方法およびプログラム
JP2013222481A (ja) * 2012-04-16 2013-10-28 Sharp Corp 情報記録装置、情報記録媒体および情報記録方法
JP2015099461A (ja) * 2013-11-19 2015-05-28 日本電気株式会社 データ保護装置、方法、および、プログラム
JP2017182122A (ja) * 2016-03-28 2017-10-05 コニカミノルタ株式会社 データ提供システム、アクセス権管理装置、データ提供方法、およびコンピュータプログラム
JP2018116510A (ja) * 2017-01-18 2018-07-26 トヨタ自動車株式会社 不正判定システム及び不正判定方法
CN108376226A (zh) * 2017-01-18 2018-08-07 丰田自动车株式会社 未授权确定系统和未授权确定方法
WO2020066399A1 (ja) * 2018-09-26 2020-04-02 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
JP2021015400A (ja) * 2019-07-11 2021-02-12 富士通株式会社 情報処理プログラム、情報処理装置及び情報処理方法
JP7288193B2 (ja) 2019-07-11 2023-06-07 富士通株式会社 情報処理プログラム、情報処理装置及び情報処理方法
WO2022186367A1 (ja) * 2021-03-04 2022-09-09 Necソリューションイノベータ株式会社 データ管理装置、データ管理システム、データ管理方法及びコンピュータ読み取り可能な記録媒体
WO2023007570A1 (ja) * 2021-07-27 2023-02-02 ハミングヘッズ株式会社 情報処理方法、プログラム、記憶媒体
WO2024021069A1 (zh) * 2022-07-29 2024-02-01 华为技术有限公司 访问控制方法及装置

Also Published As

Publication number Publication date
JP5298891B2 (ja) 2013-09-25

Similar Documents

Publication Publication Date Title
JP5298891B2 (ja) アクセス制御プログラム、アクセス制御方法、およびアクセス制御装置
US11755935B2 (en) Managing information for model training using distributed blockchain ledger
US11467891B2 (en) Kernel event triggers for content item security
US8528099B2 (en) Policy based management of content rights in enterprise/cross enterprise collaboration
JP4759513B2 (ja) 動的、分散的および協働的な環境におけるデータオブジェクトの管理
CA2716982C (en) Digital signatures on composite resource documents
EP2502144B1 (en) Controlling resource access based on resource properties
US8549278B2 (en) Rights management services-based file encryption system and method
US9245137B2 (en) Management of digital information
US20150121446A1 (en) Accessing protected content for archiving
US8776258B2 (en) Providing access rights to portions of a software application
CN103488954A (zh) 一种文件加密系统
WO2012170960A1 (en) Method and apparatus for file assurance
JP2020502699A (ja) コンピュータファイルメタデータの収集および表示を実施するためのアーキテクチャ、方法および装置
US20130332989A1 (en) Watermarking Detection and Management
JP2008160485A (ja) 文書管理システム及び文書管理方法、文書管理サーバ、作業端末、並びにプログラム
US20220309181A1 (en) Unstructured data access control
GB2561862A (en) Computer device and method for handling files
Zhang et al. Dmsd-fpe: Data masking system for database based on format-preserving encryption
KR100783404B1 (ko) Drm시스템의 콘텐츠 관리방법
JP2015207140A (ja) 情報漏洩防止システムおよび情報漏洩防止方法
Hoole Flexible owner retained access control for document management systems
JP2006023924A (ja) ログ管理装置、ログ管理方法及びログ管理プログラム
JP2006318037A (ja) ライフサイクル管理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111006

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130412

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130521

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130603

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees