以下、本発明について実施形態をもって説明するが、本発明は、後述する実施形態に限定されるものではない。
図1は、本発明の一実施形態に係る情報処理装置の機能構成を示す図である。情報処置装置100は、電子文書を作成および編集可能なアプリケーションを実装するデスクトップ型PCやノート型PC、タブレット型PC等の各種コンピュータ、スマートフォンや携帯電話、PDA等の携帯情報端末などの情報処理装置である。
情報処置装置100は、Windows(登録商標)7、Windows Vista(登録商標)、Windows XP(登録商標)、Windows200X Server(登録商標)、Windows Mobile(登録商標)等のWindowsシリーズ、Mac OS(登録商標)、UNIX(登録商標)、LINUX(登録商標)、Android(登録商標)、Google Chrome Os、TRON、ITRONなどのOSの管理下で、アセンブラ、C、C++、Java(登録商標)、JavaScript(登録商標)、PERL、PHP、RUBY、PYTHONなどのプログラム言語で記述された本発明のプログラムを実行する。
情報処置装置100は、本発明のプログラムを実行するための実行空間を提供するRAM、プログラムやデータなどを持続的に保持するためのハードディスク装置(HDD)やフラッシュメモリなどの記憶装置を含んでおり、本発明のプログラムを実行することにより、後述する本実施形態の各機能を情報処置装置100上に実現する。本実施形態の各機能部は、上述したプログラミング言語などで記述された装置実行可能なプログラムにより実現できる。本発明のプログラムは、他の情報処理装置が可読な形式でネットワークを介して伝送することができる。
情報処理装置100は、アプリケーションプログラム110,130と、OS120とを含んで構成される。
OS120は、情報処理装置100の全体制御を行うシステムプログラムであり、アプリケーションプログラム110,130間で電子文書のコンテンツデータをコピーする機能を提供する。情報処理装置100は、コピーすべきコンテンツデータと、そのラベルとを一時的に保存する共有のメモリ領域(以下、「クリップボード」とする。)121を備えている。OS120は、コピー元のアプリケーションプログラム110からのコピー(複製)要求により、当該アプリケーションが処理する電子文書に含まれるコンテキストデータを、コピー対象のデータ(以下、「コピーデータ」とする。)122としてクリップボード121に保存する。そして、OS120は、コピー先のアプリケーションプログラム130からのペースト(貼り付け)要求により、クリップボード121に保存されたコピーデータ122を、コピー先のアプリケーションプログラム130が処理する電子文書にコピーする。
アプリケーションプログラム110は、電子文書のコンテンツデータを作成および編集可能なエディタ等のソフトウェアプログラムである。アプリケーションプログラム110は、本発明が提供するプログラムであるプラグインモジュール111と、当該プラグインモジュールが管理するラベルテーブル114とを実装している。
プラグインモジュール111は、コピー部112と、ラベル継承部113と、アクセス制御部115と、ラベル更新部116とを含む。
コピー部112は、アプリケーションプログラム110を使用中のユーザが、キーボードやマウス、タッチパネル等の入力インタフェースを用いて発行したコピー要求を検出し、ユーザがコピー指定したコンテキストデータを、コピーデータ122としてクリップボード121に保存する。
ラベル継承部113は、コピー元のアプリケーションプログラム110が処理する電子文書の秘密性、すなわち、電子文書のコンテキストデータに秘密情報が含まれるか否かを示すラベルが登録されたラベルテーブル114を参照し、当該電子文書に割り当てられている総てのラベルを、コピーデータ122のメタ情報としてクリップボード121に保存する。なお、ラベルテーブル114については、図5を参照して詳細に説明する。
アクセス制御部115は、秘密情報を有する可能性のある電子文書のアクセスを制御する。アクセス制御部115は、電子文書ファイルのオープンやその印刷出力処理等のアクセスを検出すると、ラベルテーブル114に登録されたアクセス対象の電子文書のラベルを使用して、当該電子文書へのアクセス(例えば、読み取り処理、書き込み、出力処理など)を制限または許可する。
例えば、アクセス制御部115は、アクセス対象の電子文書に秘密情報が含まれる場合には、当該電子文書のコンテンツデータの出力処理を制限することができる。また、電子文書に対する読み取り処理が要求された場合、アクセス制御部115は、ラベルテーブル114を参照して、当該電子文書に秘密情報が含まれるか否か判断する。当該電子文書に秘密情報が含まれる場合には、アクセス制御部115は、ユーザの識別情報と、ユーザ毎のアクセス権(例えば、読み取り処理、書き込み、出力処理などの権限)と、電子文書の識別情報とが登録された認証テーブル(図示せず)をさらに参照し、アクセス要求するユーザが、読み取り処理が要求される電子文書の読み取り処理を許可されているか否か判断し、その結果に応じて、読み取り処理を許可または許否することができる。
ラベル更新部116は、ラベルテーブル114に登録されたラベル情報であるラベルおよびラベルの生成時間を更新する。ラベルには、コピー元の電子文書に割り当てられたラベルを継承する暫定的なラベル(以下、「潜在ラベル」とする。)と、コピーデータがペーストされた電子文書のコンテンツデータをスキャンすることによって確定するラベル(以下、「確定ラベル」とする。)とがある。本実施形態の潜在ラベルおよび確定ラベルには、それぞれ秘密情報である機密情報または個人情報が電子文書に存在することを示すラベルがある。他の実施形態では、例えば、さらに限定された者のみがアクセス可能な最高機密情報、未発表の研究内容や製品情報、給与情報等の種々の秘密情報を示すラベルを採用することができる。
ラベル更新部116は、秘密情報である文字列や数字列等が登録されたデータベース(図示せず)を参照し、電子文書に含まれるコンテンツデータと当該秘密情報とが合致するか否か判断することによって電子文書の秘密性を検査する。そして、ラベル更新部116は、その検査結果に応じて、ラベルテーブル114のラベル情報を更新する。すなわち、ラベル更新部116は、秘密情報が存在すると判断した場合には、潜在ラベルを確定ラベルに変更し、または、既に確定した確定ラベルを維持する。一方、秘密情報が存在しないと判断した場合には、ラベル更新部116は、当該電子文書に関連付けられた確定ラベルおよび潜在ラベルを削除する。
本実施形態では、ラベル更新部116は、電子文書に対するアクセス要求時または定期的にラベル情報を更新する。他の実施形態では、アプリケーションプログラム110,130が電子文書を保存する場合にラベル情報を更新してもよい。
アプリケーションプログラム130は、アプリケーションプログラム110と同様に、電子文書を作成および編集可能なソフトウェアプログラムであり、プラグインモジュール131と、当該プラグインモジュールが管理するラベルテーブル134とを実装している。
プラグインモジュール131は、ペースト部132と、ラベル継承部133と、アクセス制御部135と、ラベル更新部136とを含む。なお、アクセス制御部135およびラベル更新部136は、アクセス制御部115およびラベル更新部116と同様の機能を有するため、以下、説明を省略する。
ペースト部132は、アプリケーションプログラム130を使用中のユーザが入力インタフェースを用いて発行したペースト要求を検出し、クリップボード121に保存されたコピーデータ122を、アプリケーションプログラム130が処理する電子文書にペーストする。本実施形態では、ペースト部132は、クリップボード121に保存された複数のコピーデータ122の中からユーザが選択指定したコピーデータ122をペーストすることができる。
他の実施形態では、コピーデータをマスクするフィルタリング部をプラグインモジュール131に設けてもよい。この場合、フィルタリング部は、コピーデータをペーストする際に、上述したラベル更新部116と同様に、電子文書の秘密性を検査し、その検査結果に応じてコピーデータに含まれる秘密情報をマスクする。そして、ペースト部132は、秘密情報をマスクしたコピーデータをペーストすることができる。
ラベル継承部133は、コピー先のアプリケーションプログラム130が処理する電子文書にペーストしたコピーデータのメタ情報であるラベル123をクリップボード121から取得し、当該電子文書に関連付けてラベルテーブル134に登録する。ラベル継承部133は、コピー元の電子文書に関連付けられたラベル123を、コピー先の電子文書のラベルとして暫定的に登録することにより、コピー元からラベルを継承する。なお、ラベルテーブル134については、図5を参照して詳細に説明する。
図1に示す実施形態では、説明を明確にすべく、コピー部112およびラベル継承部113と、ペースト部132およびラベル継承部133とが、別個のプラグインモジュール111,131に実装されているが、本発明の情報処理装置100は、これらの機能部をプラグインモジュール111,131にそれぞれ実装させて、アプリケーションプログラム110,130間における双方向のコピーおよびペースト処理を実現することができる。
図2は、図1に示す実施形態の情報処理装置が実行する処理の一実施形態を示すフローチャートである。以下、図2を参照して、情報処理装置100が実行する処理について説明する。
図2の処理は、ステップS200から開始し、ステップS201では、プラグインモジュール111,131が、ユーザの指示によって発行されるアプリケーションプログラム110,130に対する所定の要求を検出したか否か判断する。要求を検出していない場合には(no)、ステップS201の処理を反復させて要求を待機する。一方、要求を検出したと判断した場合には(yes)、処理をステップS202に分岐させる。
ステップS202では、プラグインモジュール111,131は、検出した要求の種類を判断し、その種類に応じて処理をステップS203、ステップS205またはステップS207に分岐させる。具体的には、プラグインモジュール111,131は、コピー要求、ペースト要求およびアクセス要求を検出した場合には、それぞれステップS203、ステップS205およびステップS207に処理を分岐する。
ステップS203では、コピー部112は、コピー元の電子文書に含まれるユーザが指定したコンテキストデータをクリップボード121に保存する。ステップS204では、ラベル継承部113が、当該コンテキストデータを含むコピー元の電子文書に割り当てられている総てのラベルをクリップボード121に保存し、ステップS210で処理が終了する。
ステップS205では、ペースト部132は、クリップボード121からコピーデータを取得し、コピー先のアプリケーションプログラムが処理する電子文書にペーストする。ステップS206では、ラベル継承部133が、クリップボード121からコピーデータのラベルを取得し、潜在ラベルとしてラベルテーブル134に登録し、ステップS210で処理が終了する。
ステップS207では、アクセス制御部115,135がラベル更新部116,136を呼び出し、ラベル更新部116,136が、ラベルテーブル114,134を更新する。ステップS208では、アクセス制御部115,135は、要求された処理が許可されるか否か判断する。要求された処理が許可されないと判断した場合には(no)、処理をステップS210に分岐して終了させる。一方、要求された処理が許可されると判断した場合には(yes)、処理をステップS209に分岐させる。ステップS209では、アプリケーションプログラム110,130は、要求された処理を実行し、ステップS210で処理が終了する。
本実施形態では、コピーデータをペーストする場合に、コピーデータをスキャンせず、図3を参照して説明する別のプロセスで秘密情報の有無を判定するため、ペースト時の操作性を向上させることができる。
図3は、本実施形態の情報処理装置が実行する潜在ラベルの確定処理を示すフローチャートである。本実施形態では、潜在ラベルの確定処理を定期的に実行するが、他の実施形態では、アプリケーションプログラム110,130が電子文書を保存するときに、潜在ラベルの確定処理を実行してもよい。以下、図3を参照して、潜在ラベルの確定処理について説明する。
図3の処理は、ステップS300から開始し、ステップS301では、プラグインモジュール111,131のラベル更新部116,136が、ラベルテーブル114,134を参照し、アプリケーションプログラム110,130が処理している電子文書に潜在ラベルが関連付けて登録されているか否か判断する。潜在ラベルが登録されていない場合には(no)、処理をステップS309に分岐させる。一方、潜在ラベルが登録されている場合には(yes)、処理をステップS302に分岐させる。
ステップS302では、ラベル更新部116,136は、ラベルテーブル114,134に登録されたラベル情報の更新が必要か否か判断する。本実施形態では、ラベル更新部116,136は、ラベルテーブル114,134を参照し、コピーデータのペースト時刻である潜在ラベルの生成時刻と電子文書の更新時刻とを比較し、電子文書の更新時刻の方が新しい場合に、ラベル情報の更新が必要であると判断する。
ステップS302の判定でラベル情報の更新が不要であると判断した場合には(no)、処理をステップS309に分岐させる。一方、ラベル情報の更新が必要であると判断した場合には(yes)、処理をステップS303に分岐させる。
ステップS303では、ラベル更新部116,136は、当該潜在ラベルの種類を判断し、機密情報を示すラベルである場合には、処理をステップS304に分岐させ、個人情報を示すラベルである場合には、処理をステップS307に分岐させる。
ステップS304では、ラベル更新部116,136は、潜在ラベルが関連付けられた電子文書をスキャンして、実際に機密情報が含まれるか否か検査し、機密情報が含まれると判断した場合には(yes)、処理をステップS305に分岐させる。ステップS305では、ラベル更新部116,136は、当該潜在ラベルを、機密情報が含まれていることを示す確定ラベルに変更する。
一方、ステップS304の判定で、機密情報が含まれていないと判断した場合には(no)、処理をステップS306に分岐させる。ステップS306では、ラベル更新部116,136は、ラベルテーブル114,134から当該潜在ラベルを削除する。
ステップS307では、ラベル更新部116,136は、潜在ラベルが関連付けられた電子文書をスキャンして、実際に個人情報が含まれるか否か検査し、個人情報が含まれると判断した場合には(yes)、処理をステップS308に分岐させる。ステップS308では、ラベル更新部116,136は、当該潜在ラベルを、個人情報が含まれていることを示す確定ラベルに変更する。
一方、ステップS307で、個人情報が含まれていないと判断した場合には(no)、処理をステップS306に分岐し、ステップS306でラベル更新部116,136は、ラベルテーブル114,134から当該潜在ラベルを削除する。
ステップS309では、ラベル更新部116,136は、アプリケーションプログラム110,130が処理している電子文書に割り当てられている総てのラベルについて、上述した処理を実行したか否か判断する。総てのラベルについて当該処理を実行していない場合には(no)、処理をステップS303に戻して、総てのラベルについて当該処理を実行する。一方、総てのラベルについて当該処理を実行した場合には(yes)、ステップS310で処理が終了する。
図4は、本実施形態の情報処理装置がアクセス要求を受信した場合に実行するラベル情報の更新処理を示すフローチャートである。以下、図4を参照して、図2に示すステップS207で実行されるラベル情報の更新処理について説明する。
図4の処理は、ステップS400から開始し、ステップS401では、プラグインモジュール111,131のラベル更新部116,136が、ラベルテーブル114,134に登録されたラベル情報の更新が必要か否か判断する。
本実施形態では、ラベル更新部116,136は、ラベルテーブル114,134を参照し、アクセス要求の対象である電子文書のラベルの生成時刻と電子文書の更新時刻とを比較し、電子文書の更新時刻の方が新しい場合に、ラベル情報の更新が必要であると判断する。他の実施形態では、アクセス要求の対象である電子文書のラベルがラベルテーブル114,134に登録されている場合に、ラベル情報の更新が必要であると判断してもよい。
ステップS401の判定でラベル情報の更新が不要であると判断した場合には(no)、処理をステップS409に分岐させる。一方、ラベル情報の更新が必要であると判断した場合には(yes)、処理をステップS402に分岐させる。
ステップS402では、ラベル更新部116,136は、ラベルテーブル114,134を参照し、アクセス要求の対象である電子文書に関連付けられたラベルの種類を判断する。当該ラベルが機密情報を示す確定ラベルまたは潜在ラベルである場合には、処理をステップS403に分岐させる。一方、当該ラベルが個人情報を示す確定ラベルまたは潜在ラベルである場合には、処理をステップS407に分岐させる。
ステップS403では、ラベル更新部116,136は、機密情報を示すラベルが関連付けられた電子文書をスキャンして、実際に機密情報が含まれるか否か検査する。機密情報が含まれていないと判断した場合には(no)、処理をステップS404に分岐させる。ステップS404では、ラベル更新部116,136は、ラベルテーブル114,134から当該ラベルを削除する。
一方、ステップS403で、機密情報が含まれると判断した場合には(yes)、処理をステップS405に分岐させる。ステップS405では、ラベル更新部116,136は、機密情報を示すラベルが潜在ラベルか否か判断し、潜在ラベルでない場合には(no)、処理をステップS409に分岐させる。一方、当該ラベルが潜在ラベルである場合には(yes)、処理をステップS406に分岐させる。ステップS406では、ラベル更新部116,136は、当該潜在ラベルを、機密情報が含まれていることを示す確定ラベルに変更する。
ステップS407では、ラベル更新部116,136は、個人情報を示すラベルが関連付けられた電子文書をスキャンして、実際に個人情報が含まれるか否か検査する。個人情報が含まれていないと判断した場合には(no)、処理をステップS408に分岐させる。ステップS408では、ラベル更新部116,136は、ラベルテーブル114,134から当該ラベルを削除する。
一方、ステップS407で、個人情報が含まれると判断した場合には(yes)、処理をステップS405に分岐させる。ステップS405では、ラベル更新部116,136は、個人情報を示すラベルが潜在ラベルか否か判断し、潜在ラベルでない場合には(no)、処理をステップS409に分岐させる。一方、当該ラベルが潜在ラベルである場合には(yes)、処理をステップS406に分岐させる。ステップS406では、ラベル更新部116,136は、当該潜在ラベルを、個人情報が含まれていることを示す確定ラベルに変更する。
ステップS409では、ラベル更新部116,136は、アクセス要求の対象である電子文書に割り当てられている総てのラベルについて、上述した処理を実行したか否か判断する。総てのラベルについて当該処理を実行していない場合には(no)、処理をステップS402に戻し、総てのラベルについて当該処理を実行する。一方、総てのラベルについて当該処理を実行した場合には(yes)、ステップS410で処理が終了する。
本実施形態では、機密情報および個人情報の判定を個別のプロセスで行っているため、低負荷で迅速な判定が可能になる。また、上述した実施形態では、機密情報の判定を同一のプロセスで判定しているが、他の実施形態では、機密情報を重要度(例えば、高度機密情報、中度機密情報、低度機密情報等)によってさらに細分化し、重要度毎のラベルを電子文書に関連付けてもよい。
図5は、図1に示す実施形態の情報処理装置が使用するラベルテーブルの一実施形態を示す図である。以下、図5を参照して、ラベルテーブル510,520について説明する。
ラベルテーブル510は、コピー元のアプリケーションプログラムに実装されるプラグインモジュール111が使用するデータテーブルである。ラベルテーブル510には、電子文書識別情報511と、ラベル512と、ラベル生成時刻513と、電子文書更新時刻514とが関連付けて登録される。
電子文書識別情報511は、コピー元のアプリケーションプログラムが処理する電子文書を固有に識別する情報である。ラベル512は、電子文書識別情報が示す電子文書の秘密性を示すラベルである。ラベル生成時刻513は、各ラベルを登録または更新した時刻である。電子文書更新時刻514は、電子文書識別情報が示す電子文書をユーザが保存して更新した時刻である。
ラベルテーブル510には、電子文書識別情報「doc_2011/06/3」が示す電子文書のラベルとして、電子文書のスキャンによって既に確定した機密情報の確定ラベルである「Definitely Confidential」と、未だ確定していない個人情報の潜在ラベルである「Possibly PII(Personally Identifiable Information)」とが登録されている。すなわち、当該電子文書には、機密情報が含まれていることを示すと共に、他の電子文書から個人情報が含まれている可能性のあるコピーデータがペーストされたことを示している。
ラベルテーブル520は、コピー先のアプリケーションプログラムに実装されるプラグインモジュール131が使用するデータテーブルである。ラベルテーブル520には、ラベルテーブル510と同様に、電子文書識別情報521と、ラベル522と、ラベル生成時刻523と、電子文書更新時刻524とが関連付けて登録される。
ラベルテーブル520には、ラベルテーブル510から継承したラベルが登録されている。すなわち、ラベルテーブル520には、ラベルテーブル510に登録されている機密情報の確定ラベル「Definitely Confidential」および個人情報の潜在ラベル「Possibly PII」が、それぞれ機密情報の潜在ラベルである「Possibly Confidential」と、個人情報の潜在ラベルである「Possibly PII」に変更されて登録されている。
本実施形態のラベルテーブル510,520には、それぞれ1の電子文書識別情報が登録されているが、他の実施形態では、複数の電子文書のラベル情報を登録することができ、プラグインモジュール111,131は、それぞれ複数の電子文書を管理することができる。
図6は、本発明の他の実施形態に係る情報処理装置の機能構成を示す図である。なお、本実施形態の情報処理装置600は、上述した情報処理装置100と同様であるため、以下、相違点を中心に説明する。
情報処理装置600は、情報処理装置100と同様に、アプリケーションプログラム610,630と、OS620とを含む。本実施形態では、アプリケーションプログラム610,630ではなく、OS620にプラグインモジュール621が実装される。
プラグインモジュール621は、コピー部622と、ラベル継承部623と、ラベルテーブル624と、ペースト部625と、アクセス制御部626と、ラベル更新部627とを含む。コピー部622、アクセス制御部626およびラベル更新部627は、それぞれコピー部112、アクセス制御部115,135およびラベル更新部116,136と同様の機能を有する。
ペースト部625は、ペースト部132の機能に加えて、コピー先のアプリケーションプログラムにコピーデータをペーストしてよいか否か判断する。ペースト部625は、本発明が提供するコピーおよびペースト機能の使用が許可されるアプリケーションプログラムを規定した定義ファイル等の定義情報を参照し、ペースト要求を発行したアプリケーションの識別情報が当該定義情報に含まれているか否か判断することにより、当該アプリケーションプログラムにコピーデータをペーストしてよいか否か判断することができる。
ラベル継承部623は、コピー元のアプリケーションプログラムのラベルをコピー先のアプリケーションに継承する。本実施形態では、アプリケーションプログラム610,630は、コピー元の電子文書に含まれるユーザが指定したコンテキストデータをクリップボード628に保存する場合や、クリップボード628に保存されたコピーデータをコピー先の電子文書にペーストする場合、当該アプリケーションプログラムの識別情報と、当該アプリケーションプログラムが処理する電子文書の識別情報とをプラグインモジュール621に送信する。
プラグインモジュール621がアプリケーションプログラム610からコピー要求を受信した場合、ラベル継承部623は、ラベルテーブル624を参照し、アプリケーションプログラム610から受信したアプリケーションプログラムの識別情報と、当該アプリケーションプログラムが処理する電子文書の識別情報とを使用して、当該電子文書のラベルを取得し、クリップボード628に保存する。
プラグインモジュール621がアプリケーションプログラム630からペースト要求を受信した場合、ラベル継承部623は、ペーストすべきコピーデータのラベルをクリップボード628から取得し、コピー先のアプリケーションプログラム630から受信したアプリケーションプログラムの識別情報と、当該アプリケーションプログラムが処理する電子文書の識別情報とを使用して、当該電子文書のラベルとしてラベルテーブル624に暫定的に登録する。
図7は、図6に示す実施形態の情報処理装置が実行する処理の一実施形態を示すフローチャートである。以下、図7を参照して、情報処理装置600が実行する処理について説明する。
図7の処理は、ステップS700から開始し、ステップS701では、プラグインモジュール621が、アプリケーションプログラム610,630に対するユーザの指示によって発行される所定の要求を検出したか否か判断する。要求を検出していない場合には(no)、ステップS701の処理を反復させて要求を待機する。一方、要求を検出したと判断した場合には(yes)、処理をステップS702に分岐させる。
ステップS702では、プラグインモジュール621は、検出した要求の種類を判断し、その種類に応じて処理をステップS703、ステップS705またはステップS708に分岐させる。具体的には、プラグインモジュール621は、コピー要求、ペースト要求およびアクセス要求を検出した場合には、それぞれステップS703、ステップS705およびステップS708に処理を分岐する。
ステップS703では、コピー部622は、コピー元の電子文書に含まれるユーザが指定したコンテキストデータをクリップボード628に保存する。ステップS704では、ラベル継承部623が、当該コンテキストデータを含むコピー元の電子文書に割り当てられている総てのラベルをクリップボード628に保存し、ステップS711で処理が終了する。
ステップS705では、ペースト部625は、ペースト要求元のアプリケーションプログラムがペーストを許可されているか否か判断する。ペーストが許可されていない場合には(no)、処理をステップS711に分岐して終了する。一方、ペーストが許可されている場合には(yes)、処理をステップS706に分岐させる。
ステップS706では、ペースト部625は、クリップボード628からコピーデータを取得し、コピー先のアプリケーションプログラムが処理する電子文書にペーストする。ステップS707では、ラベル継承部623が、クリップボード628からコピーデータのラベルを取得し、潜在ラベルとしてラベルテーブル624に登録し、ステップS711で処理が終了する。
ステップS708では、アクセス制御部626がラベル更新部627を呼び出し、ラベル更新部627が、ラベルテーブル624を更新する。ステップS709では、アクセス制御部626は、要求された処理が許可されるか否か判断する。要求された処理が許可されないと判断した場合には(no)、処理をステップS711に分岐して終了させる。一方、要求された処理が許可されると判断した場合には(yes)、処理をステップS710に分岐させる。ステップS710では、アクセス制御部626は、アクセス要求元のアプリケーションに当該要求された処理を実行させて、ステップS711で処理が終了する。
図8は、図6に示す実施形態の情報処理装置が使用するラベルテーブルの一実施形態を示す図である。以下、図8を参照して、ラベルテーブル800について、ラベルテーブル510,520と相違する点を中心に説明する。
ラベルテーブル800には、本発明が提供するコピー機能およびペースト機能を利用可能なアプリケーションを固有に識別する情報であるアプリケーション識別情報811と、電子文書識別情報812と、ラベル種類813と、ラベル生成時刻814と、電子文書更新時刻815とが関連付けて登録される。
本実施形態では、ラベル継承部623は、ラベルテーブル800を参照し、コピー元またはコピー先のアプリケーションプログラムから取得するアプリケーション識別情報811および電子文書識別情報812を使用して該当する電子文書を特定してコピー元の電子文書のラベルを取得し、コピー先の電子文書のラベルとして暫定的に登録することができる。
ラベル更新部627は、起動中のアプリケーションプログラムから取得するアプリケーション識別情報811に関連付けられた電子文書の秘密性を判定して、当該電子文書に暫定的に割り当てられた潜在ラベルを確定することができる。また、ラベル更新部627は、アクセス要求元のアプリケーションプログラムから取得するアプリケーション識別情報および電子文書識別情報812を使用してアクセス要求対象の電子文書を特定し、当該電子文書の秘密性を判定して、当該電子文書のラベル情報を更新することができる。
これまで本実施形態につき説明してきたが、本発明は、上述した実施形態に限定されるものではなく、当該実施形態の機能手段の変更や削除、他の機能手段の追加など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。