(57)【要約】【課題】情報漏えいを防止することを課題とする。【解決手段】クライアント端末１０は、データの暗号化および復号化と該データの監視とを実行する監視用プログラムを用いて、該データを暗号化した第１の暗号化データを生成する。さらに、クライアント端末１０は、第１の暗号化データに監視用プログラムを付加する。さらに、クライアント端末１０は、監視用プログラムが付加された第１の暗号化データに先の暗号化とは異なる他の暗号化を実行することによって第２の暗号化データを生成する。【選択図】図２
2012083922.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
データの暗号化および復号化と該データの監視とを実行する監視用プログラムを用いて、該データを暗号化した第１の暗号化データを生成し、
前記第１の暗号化データに前記監視用プログラムを付加し、
前記監視用プログラムが付加された前記第１の暗号化データに前記暗号化とは異なる他の暗号化を実行することによって第２の暗号化データを生成する
処理を実行させることを特徴とするデータ監視プログラム。
【請求項２】
前記監視用プログラムを付加する処理において、前記第２の暗号化データが前記コンピュータまたは他のコンピュータで復号化されることを契機に起動する監視用プログラムを付加する処理を実行させることを特徴とする請求項１に記載のデータ監視プログラム。
【請求項３】
前記監視用プログラムを付加する処理において、前記データへの操作を監視するとともに、該操作を検知した場合に操作ログを生成する処理を実行する該監視用プログラムを付加することを特徴とする請求項１乃至請求項２記載のデータ監視プログラム。
【請求項４】
前記第１の暗号化データを生成する処理において、前記データを操作する権限を有する利用者を認証する認証情報を含む該第１の暗号化データを生成することを特徴とする請求項１乃至請求項３のいずれか一項に記載のデータ監視プログラム。
【請求項５】
コンピュータに、
データの暗号化および復号化とデータの監視とを実行する監視用プログラムを用いて暗号化された第１の暗号化データに前記監視用プログラムが付加された上でさらに暗号化された第２の暗号化データを復号化し、
前記第２の暗号化データから復号化された監視用プログラムを用いて、前記第２の暗号化データから復号化された第１の暗号化データを復号化する
処理を実行させることを特徴とするデータ監視プログラム。
【請求項６】
コンピュータが、
データの暗号化および復号化と該データの監視とを実行する監視用プログラムを用いて、該データを暗号化した第１の暗号化データを生成し、
前記第１の暗号化データに前記監視用プログラムを付加し、
前記監視用プログラムが付加された前記第１の暗号化データに前記暗号化とは異なる他の暗号化を実行することによって第２の暗号化データを生成する
処理を実行することを特徴とするデータ監視方法。
【請求項７】
データの暗号化および復号化と該データの監視とを実行する監視用プログラムを用いて、該データを暗号化した第１の暗号化データを生成する第１の生成部と、
前記第１の暗号化データに前記監視用プログラムを付加する付加部と、
前記監視用プログラムが付加された前記第１の暗号化データに前記暗号化とは異なる他の暗号化を実行することによって第２の暗号化データを生成する第２の生成部と
を有することを特徴とするデータ監視装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ監視プログラム、データ監視方法及びデータ監視装置に関する。
【背景技術】
【０００２】
データ（data）の閲覧権限を持たない者にデータが入手されたとしてもデータの内容を閲覧できないようにするために、データを暗号化する技術が用いられる。ところが、データを暗号化したとしてもその暗号化データ（encryption  data）が一度復号化されると、復号化されたデータが改めて暗号化されない限り、データの内容は自由に閲覧されてしまう。
【０００３】
このことから、データを監視する技術として、次のような技術が開示されている。例えば、クライアント（client）にインストール（install）された監視用プログラムが、アプリケーションからＯＳへ出力された暗号化データに対するＡＰＩをフックしてデータの暗号化および復号化を自動的に行う特許文献１の技術が開示されている。また、文書が原本であるのか、あるいは原本の複写であるのかを監視するための監視用プログラムをデータに付加する特許文献２の技術が開示されている。なお、上記の「アプリケーション」は、「application  program」の略称である。「ＯＳ」は、「operating  system」の略称である。また、「ＡＰＩ」は、「Application  Program  Interface」の略称である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−３９７８８号公報
【特許文献２】特開平１０−２６０９０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところが、上記の特許文献１の技術では、監視用プログラムが予めインストールされていない端末でデータの暗号化および復号化を自動化することはできず、データが復号化された場合に再度暗号化することができない。
【０００６】
ここで、一例として、特許文献２の技術を流用して、特許文献１に開示される監視用プログラム、すなわち暗号化および復号化を自動化するプログラムをデータに付加することも想定される。これによって、監視用プログラムがインストールされていない端末でも暗号化データに対する操作を監視し、データの暗号化および復号化を自動的に行うことも考えられる。
【０００７】
しかしながら、データに監視用プログラムを付加した場合には、データは監視用プログラムによって暗号化されるものの、監視用プログラムは平文のままユーザに晒されることになる。このため、データが復号化された段階で監視用プログラムが悪意を持つ操作者によって削除された場合には、情報漏えいを防ぐことはできない。さらに、監視用プログラムが削除されないように、データを監視用プログラムごと暗号化することも考えられる。ところが、データを監視用プログラムごと暗号化したとしても、データ及び監視用プログラムが復号化されてから監視用プログラムが起動するまでの期間にデータが複写される可能性が依然として残る。
【０００８】
このように、上記の特許文献１の技術を採用しても、特許文献２の技術を採用しても、特許文献１及び特許文献２の技術を組み合わせて採用したとしても、情報漏えいを防止できないという問題が残る。
【０００９】
開示の技術は、上記に鑑みてなされたものであって、情報漏えいを防止できるデータ監視プログラム、データ監視方法及びデータ監視装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本願の開示するデータ監視プログラムは、コンピュータに、データの暗号化および復号化と該データの監視とを実行する監視用プログラムを用いて、該データを暗号化した第１の暗号化データを生成する処理を実行させる。さらに、前記データ監視プログラムは、前記コンピュータに、前記第１の暗号化データに前記監視用プログラムを付加する処理を実行させる。さらに、前記データ監視プログラムは、前記コンピュータに、前記監視用プログラムが付加された前記第１の暗号化データに前記暗号化とは異なる他の暗号化を実行することによって第２の暗号化データを生成する処理を実行させる。
【発明の効果】
【００１１】
本願の開示するデータ監視プログラムの一つの態様によれば、情報漏えいを防止できるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施例１に係る情報漏えい対処システムの構成を示す図である。
【図２】図２は、実施例１に係るクライアント端末の構成を示すブロック図である。
【図３】図３は、実行形式暗号化データの生成方法を説明するための図である。
【図４】図４は、実施例１に係る外部端末の構成を示すブロック図である。
【図５】図５は、実行形式暗号化データの復号化方法を説明するための図である。
【図６】図６は、実施例１に係る暗号化処理の手順を示すフローチャートである。
【図７】図７は、図４に示したＯＳ実行部、復号プログラム実行部、監視用プログラム実行部及びアプリ実行部間の制御シーケンスを示す図である。
【図８】図８は、実施例１に係るデータ更新処理の手順を示すフローチャートである。
【図９】図９は、実施例１に係るデータ更新処理の手順を示すフローチャートである。
【図１０】図１０は、実施例２に係るデータ監視プログラムを実行するコンピュータの一例について説明するための図である。
【発明を実施するための形態】
【００１３】
以下に、本願の開示するデータ監視プログラム、データ監視方法及びデータ監視装置の実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１４】
［システム構成］
まず、実施例１に係る情報漏えい対処システムについて説明する。図１は、実施例１に係る情報漏えい対処システムの構成を示す図である。なお、図１の例では、組織に所属するエンドユーザ（end  user）によって使用されるクライアント端末１０Ａ〜１０Ｃから外部端末７０へデータが持ち出される場合に持出し後のデータが流出することを防止する例を想定する。
【００１５】
図１に示す情報漏えい対処システム１には、複数のクライアント端末１０Ａ〜１０Ｃと、管理サーバ３０と、コンソール５０とが収容される。一方、情報漏えい対処システム１の外部には、ユーザが所属する組織の外部で使用される外部端末７０が存在する。
【００１６】
図１の例では、３つのクライアント端末、１つの管理サーバ、１つのコンソールをそれぞれ図示したが、開示のシステムは図示の構成に限定されない。すなわち、情報漏えい対処システム１は、任意の数のクライアント端末、管理サーバ及びコンソールを収容できる。また、図１の例では、１つの外部端末を図示したが、ユーザに情報漏えい対処システム１の外部で使用させる外部端末は任意の数であってかまわない。以下では、クライアント端末１０Ａ〜１０Ｃの各装置を区別なく総称する場合には、「クライアント端末１０」と記載する。
【００１７】
これらクライアント端末１０Ａ〜１０Ｃと管理サーバ３０とは、構内通信網を介して相互に通信可能に接続される。かかる構内通信網には、有線または無線を問わず、ＬＡＮ（Local  Area  Network）やＶＰＮ（Virtual  Private  Network）などの任意の種類の通信網を採用できる。また、クライアント端末１０Ａ〜１０Ｃ及び管理サーバ３０と外部端末７０とは、ネットワーク（network）５を介して相互に通信可能に接続される。かかるネットワーク５には、インターネット（Internet）、ＬＡＮやＶＰＮなどの任意の種類の通信網を採用できる。なお、図１の例では、管理サーバ３０とコンソール５０とが直接接続される場合を例示したが、両者はネットワークを介して接続されることとしてもよい。
【００１８】
管理サーバ（server）３０は、クライアント端末１０を管理するサーバ装置である。この管理サーバ３０は、情報漏えいに対処するための情報漏えい対処ソフト（software）を構内通信網を介して自装置に接続されるクライアント端末１０にそれぞれダウンロードさせた後にインストール（install）させる。かかる情報漏えい対処ソフトには、機能ごとにモジュール化された複数のアプリケーション（application  software）が含まれる。以下では、アプリケーションのことを「アプリ」と略記する。なお、管理サーバ３０には、クライアント端末１０の管理機能だけでなく、後述のクライアント端末１０の機能を同居させることもできる。
【００１９】
これら情報漏えい対処ソフトに含まれるアプリの一例としては、持出し監視アプリや多重暗号化アプリなどが挙げられる。このうち、持出し監視アプリは、一例として、クライアント端末１０からのデータの持出しを監視する機能を有する。また、多重暗号化アプリは、一例として、クライアント端末１０から持ち出されるデータ、すなわち情報漏えい対処システム１の外部で使用される可能性があるデータを多重に暗号化する機能を有する。ここで言う「持出し」とは、データを可搬用の物理媒体に複製することによって持ち出す形態、メール（mail）にデータを添付して送信することによって持ち出す形態やデータを印刷することによって持ち出す形態などを指す。かかる可搬用の物理媒体の一例としては、ＵＳＢメモリ（USB  memory）、フレキシブルディスク、いわゆるＦＤ、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどが挙げられる。
【００２０】
なお、ここでは、上記の持出し監視アプリや多重暗号化アプリを例示したが、クライアント端末１０にインストールさせるアプリはこれに限定されない。これらのアプリ以外にも、クライアント端末１０で実行される操作ログ（log）を採取する操作ログ採取アプリやクライアント端末１０における特定の操作を制限する操作制限アプリをインストールさせることとしてもかまわない。また、ここでは、管理サーバ３０からダウンロードされた情報漏えい対処ソフトをクライアント端末１０にインストールさせる場合を説明したが、インストールの形態はこれに限定されない。一例としては、可搬用の物理媒体を経由して情報漏えい対処ソフトをクライアント端末１０にインストールさせることとしてもよい。他の一例としては、クライアント端末１０に情報漏えい対処ソフトをプリインストールさせることとしてもよい。
【００２１】
このようにしてクライアント端末１０にインストールされた持出し監視アプリによって、管理サーバ３０は、クライアント端末１０から持ち出されたデータの持出しログを収集できる。かかる持出しログの収集は、管理サーバ３０及びクライアント端末１０が構内通信網を介して接続状態にある場合には、任意のタイミング（timing）で収集できる。一例としては、クライアント端末１０で持出しログが収集される度にその持出しログをリアルタイム（real  time）で収集することができる。他の一例としては、クライアント端末１０が構内通信網に接続されたり、クライアント端末１０が起動されたことを契機に多重暗号化アプリによって採取されていた持出しログを収集することもできる。
【００２２】
コンソール（console）５０は、管理者権限を有する者によって使用される端末である。なお、管理者権限（administrators）は、システム管理者によって予め設定される。かかるコンソール５０の機能の一例としては、管理サーバ３０に収集された持出しログを閲覧する機能の他、クライアント端末１０で動作する多重暗号化アプリのポリシー（policy）を管理サーバ３０に設定する機能などが挙げられる。
【００２３】
ここで言う「ポリシー」とは、クライアント端末１０からのデータの持出しを無条件または条件付きで認めるか、あるいは全面的に禁止するかという方針を指す。例えば、データの持出しを無条件に認める設定がなされた場合には、多重暗号化アプリでデータを暗号化させずともデータを持ち出すことができる。また、データの持出しを条件付きで認める設定がなされた場合には、多重暗号化アプリによってデータが暗号化されることを条件にデータの持出しが許可される。また、データの持出しを全面的に禁止する設定がなされた場合には、多重暗号化アプリによってデータが暗号化されたとしてもデータを持ち出すことはできない。なお、ここでは、データの持出しが条件付きで認める設定がなされた場合、すなわち情報漏えい対処システム１の外部には暗号化データが持ち出される場合を想定して以下の説明を行う。
【００２４】
クライアント端末１０は、エンドユーザによって使用される端末装置である。かかるクライアント端末１０の一態様としては、パソコン（ＰＣ：personal  computer）を始めとする固定端末の他、携帯電話機、ＰＨＳ（Personal  Handyphone  System）やＰＤＡ（Personal  Digital  Assistant）などの移動体端末も採用できる。ここでは、一例として、パソコン、以下「ＰＣ」と略記をクライアント端末１０とする場合を想定して以下の説明を行うが、他の情報処理装置を使用する場合も同様である。なお、クライアント端末１０は、管理サーバ３０として動作することもできる。
【００２５】
かかるクライアント端末１０には、上述した持出し監視アプリ及び多重暗号化アプリを含む情報漏えい対処ソフトがインストールされる。このようしてクライアント端末１０にインストールされた情報漏えい対処ソフトは、ＯＳの起動とともに自動的に起動される。この情報漏えい対処ソフトに含まれる各アプリは、ＯＳが動作中である限り、互いの生存状況、例えばプロセス（process）の起動の有無を監視する処理を継続する。そして、あるアプリの停止が他のアプリによって検知された場合には、他のアプリは、停止したアプリを再起動させる命令、例えばＡＰＩ（Application  Program  Interface）をクライアント端末１０のＯＳに出す。これによって、各アプリは、クライアント端末１０の電源がオン状態である限り、動作し続けることになる。
【００２６】
外部端末７０は、情報漏えい対処システム１の外部でユーザに使用される端末である。かかる外部端末７０の一態様としては、パソコンを始めとする固定端末の他、携帯電話機、ＰＨＳやＰＤＡなどの移動体端末も採用できる。なお、図１の例では、クライアント端末１０から持ち出されたデータが外部端末７０に持ち込まれる場合を想定する。かかる「持ち込み」とは、可搬用の物理媒体に記憶されたデータを読み出すことによって持ち込む形態、メールに添付されたデータを受信することによって持ち込む形態などを指す。
【００２７】
ここで、本実施例に係るクライアント端末１０は、データの暗号化および復号化とデータの監視とを実行する監視用プログラムを用いて、所定のデータを暗号化した第１暗号化データを生成する。さらに、本実施例に係るクライアント端末１０は、第１の暗号化データに監視用プログラムを付加した上で監視用プログラムが付加された第１暗号化データに第１暗号化データの生成時とは異なる他の暗号化を実行することによって第２暗号化データを生成する。
【００２８】
このため、本実施例に係るクライアント端末１０では、第２暗号化データが復号化された場合には、元のデータは第１暗号化データとして暗号化されたままである一方で、監視用プログラムだけが先に復号化される。それゆえ、本実施例に係るクライアント端末１０では、復号時に、先に復号された監視用プログラムがデータを監視できる状況下で第１暗号化データを復号できる。また、本実施例に係るクライアント端末１０では、第２暗号化データが復号化されるまで監視用プログラムも暗号化されているので、監視用プログラムが平文のままユーザに晒されることもない。なお、復号化が、外部端末７０にて実行された場合でも同様である。
【００２９】
このように、本実施例に係るクライアント端末１０では、監視用プログラムを監視対象とするデータと不可分とし、データの参照や更新が終了した場合には監視用プログラムによってデータを再び暗号化できる。したがって、本実施例に係るクライアント端末１０によれば、監視用プログラムによってデータが定常的に暗号化された状態を保つことができ、情報漏えいを防止することが可能になる。
【００３０】
［クライアント端末の構成］
続いて、本実施例に係るクライアント端末の構成について説明する。図２は、実施例１に係るクライアント端末の構成を示すブロック図である。図２に示すように、クライアント端末１０は、入力部１１と、通信Ｉ／Ｆ部１２と、記憶部１３と、制御部１４とを有する。なお、クライアント端末１０は、図２に示した機能部以外にも既知のコンピュータが有する各種の機能部、例えば表示部などの表示デバイス、音声入力部や音声出力部などの音声デバイス等を有するものとする。
【００３１】
このうち、入力部１１は、各種の情報、例えば後述のＯＳ実行部１５やアプリ実行部１６に対する指示入力を受け付ける入力デバイスである。かかる入力部１１の一例としては、英字、かな、数字や記号などのキーを始め、シフトキーやコントロールキーなどの補助キーが整列されたキーボード（keyboard）が挙げられる。他の一例としては、ポインティングデバイス（pointing  device）の一態様であるマウス（mouse）が挙げられる。
【００３２】
通信Ｉ／Ｆ部１２は、他の装置、例えば他のクライアント端末１０、管理サーバ３０や外部端末７０との間で通信を行うためのインタフェース（interface）である。
【００３３】
記憶部１３は、例えば、ＲＡＭ（Random  Access  Memory)、ＲＯＭ（Read  Only  Memory)やフラッシュメモリ（flash  memory）などの半導体メモリ素子などの記憶装置である。なお、記憶部１３は、上記の種類の記憶装置に限定されるものではなく、ハードディスク（hard  disk）、光ディスクなどの記憶装置であってもかまわない。
【００３４】
記憶部１３は、制御部１４で実行されるＯＳ（Operating  System）や各種の情報漏えい対処ソフトの他、汎用アプリ、例えばワープロソフト、表計算ソフト、作図ソフトやメールソフトなどの各種プログラムを記憶する。さらに、記憶部１３は、制御部１４で実行されるプログラムの実行に必要なデータなどを記憶する。一例として、記憶部１３は、データ１３ａと、監視用プログラム１３ｂと、復号プログラム１３ｃと、持出しログ情報１３ｄとを併せて記憶する。
【００３５】
データ１３ａは、各種のアプリによって使用されるユーザのデータである。このデータ１３ａは、後述のＯＳ実行部１５によってファイル（file）単位で取り扱われる。例えば、データ１３ａは、後述のＯＳ実行部１５が提供するファイルを管理するファイル管理ツール（tool）によってユーザが入力部１１を介して行ったファイル操作、例えば参照、複製、改名などが実行される。
【００３６】
監視用プログラム１３ｂは、データの暗号化および復号化とデータの監視とを実行するプログラムファイルである。かかる監視用プログラム１３ｂは、監視対象とするデータ、例えばクライアント端末１０から持ち出されるファイルを暗号化することによって第１暗号化ファイルを生成する機能を有する。また、監視用プログラム１３ｂは、後述の付加部１８ｂによって第１暗号化データに付加された後に後述の第２の生成部１８ｃによって第１暗号化データごと暗号化されることによって第２暗号化データが生成される。なお、監視用プログラム１３ｂが実行する暗号化及び復号化には、ＤＥＳ（Data  Encryption  Standard）やＦＥＡＬ（Fast  data  Encipherment  ALgorithm）などの秘密鍵暗号のアルゴリズム（algorithm）を任意に採用できる。
【００３７】
復号プログラム１３ｃは、第２暗号化データを復号化するプログラムファイルである。かかる復号プログラム１３ｃは、後述の第２の生成部１８ｃによって第２暗号化データに付加される。これによって、復号時にユーザが実行操作を行うだけで自動的に第１暗号化データまで復号化できるようになる。なお、復号プログラム１３ｃが実行する復号化には、ＤＥＳやＦＥＡＬなどの秘密鍵暗号のアルゴリズムの他、公開鍵暗号のアルゴリムを任意に採用することができる。
【００３８】
持出しログ情報１３ｄは、クライアント端末１０から持ち出されたデータのログを表す情報である。かかる持出しログ情報１３ｄは、後述の多重暗号化アプリ実行部１８によって実行形式暗号化データが生成された場合に後述の持出し監視アプリ実行部１７によって採取された後に登録される。また、持出しログ情報１３ｄは、後述のログ送信部１８ｄによって管理サーバ３０へアップロード（upload）される。
【００３９】
制御部１４は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路またはＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路である。
【００４０】
制御部１４は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部１４は、図２に示すように、ＯＳ実行部１５と、アプリ実行部１６と、持出し監視アプリ実行部１７と、多重暗号化アプリ実行部１８とを有する。
【００４１】
このうち、ＯＳ実行部１５は、コンピュータシステム（computer  system）全体を管理する基本ソフトウェアであるＯＳ（Operating  System）の実行を制御する処理部である。一例としては、ＯＳ実行部１５は、ファイルを管理するファイル管理ツールを有し、データの削除、参照、移動、複製などのデータ操作を実行する。これらのデータ操作のうち、持出しに関連するデータの複製操作は、後述の持出し監視アプリ実行部１７によって監視される。例えば、図示しない可搬用の物理媒体をコピー先とするデータの複製操作などが後述の持出し監視アプリ実行部１７によってフックされる。
【００４２】
アプリ実行部１６は、アプリケーションプログラムの実行を制御する処理部である。かかるアプリの一例としては、ワープロソフト、表計算ソフト、作図ソフトやメールソフトなどの各種ソフトが挙げられる。アプリ実行部１６は、入力部１１を介して参照、更新、改名保存、印刷、ハードコピーなどのデータ操作を受け付けた場合に、データ操作に対応するＡＰＩをＯＳ実行部１５へ出力する。ここで言う「改名保存」とは、ファイル名を変更した上で別のファイルとして保存することを指す。また、「ハードコピー（hard  copy）」とは、図示しない表示部に表示されている画面をコピー、言い換えればキャプチャ（capture）することを指す。これらのデータ操作のうち、持出しに関連するデータ操作は、後述の持出し監視アプリ実行部１７によって監視される。例えば、図示しない可搬用の物理媒体を保存先とする改名保存、メールにファイルを添付する添付操作やハードコピーなどのＡＰＩが後述の持出し監視アプリ実行部１７によってフックされる。
【００４３】
持出し監視アプリ実行部１７は、持出し監視アプリの実行を制御する処理部である。一例としては、持出し監視アプリ実行部１７は、ＯＳ実行部１５によって受け付けられたデータ操作およびアプリ実行部１７からＯＳ実行部１５へ出力されたＡＰＩをフックすることによってデータの持出し操作を監視する。例えば、持出し監視アプリ実行部１７は、可搬用の物理媒体をコピー先とするデータの複製操作をＯＳ実行部１５からフックする。また、持出し監視アプリ実行部１７は、可搬用の物理媒体を保存先とする改名保存、メールにファイルを添付する添付操作やハードコピーなどのＡＰＩなどをアプリ実行部１６からフックする。他の一例としては、持出し監視アプリ実行部１７は、多重暗号化アプリ実行部１８によって後述の実行形式暗号化データが生成された場合に、持ち出されたデータのファイル名、持出し日時、対応するアプリの種類などを含む持出しログを生成する。そして、持出し監視アプリ実行部１７は、先のように生成した持出しログを記憶部１３に登録する。
【００４４】
多重暗号化アプリ実行部１８は、多重暗号化アプリの実行を制御する処理部である。この多重暗号化アプリ実行部１８は、図２に示すように、第１の生成部１８ａと、付加部１８ｂと、第２の生成部１８ｃと、ログ送信部１８ｄとをさらに有する。
【００４５】
このうち、第１の生成部１８ａは、記憶部１３に記憶された監視用プログラム１３ｂを用いて、所定のデータを暗号化することによって第１暗号化データを生成する処理部である。一例としては、第１の生成部１８ａは、持出し監視アプリ実行部１７によってデータの持出し操作が検出された場合に、持出し後のデータに対するアクセス権および利用者認証情報の設定を受け付ける。かかるアクセス権の設定の一例としては、データの参照、更新、印刷、複製、ハードコピー及び／又は改名保存の許可または不許可が設定される。また、利用者認証情報の一例としては、パスワード（password）を始め、生体情報などを設定することができる。その後、第１の生成部１８ａは、記憶部１３に記憶されたデータ１３ａのうちデータ操作に対応するデータを暗号鍵ｋ１を用いて暗号化する。これによって、平文のデータから第１暗号化データが生成される。
【００４６】
付加部１８ｂは、第１の生成部１８ａによって生成された第１暗号化データに記憶部１３に記憶された監視用プログラム１３ｂを付加する処理部である。一例としては、付加部１８ｂは、ユーザによって設定された持出し後のデータに対するアクセス権および利用者認証情報を監視用プログラムへ埋め込んだ上でその監視用プログラムを第１暗号化データに付加する。このように、利用者認証情報を監視用プログラムに埋め込むことによって、第１暗号化データが復号化されるに際して、監視用プログラムに利用者認証を実行させることができるので、第三者によってデータが参照される可能性を低減できる。さらに、アクセス権を監視用プログラムに埋め込むことによって、第１暗号化データが復号化されて平文のデータが参照された場合に、ユーザによって設定されたアクセス権にしたがってデータに対するアクセスを監視用プログラムに制御させることができる。
【００４７】
第２の生成部１８ｃは、付加部１８ｂによって監視用プログラムが付加された第１暗号化データに監視用プログラムによる暗号化とは異なる他の暗号化を実行することによって第２の暗号化データを生成する処理部である。ここで、第１暗号化データを生成する場合と第２暗号化データを生成する場合とで同じ暗号化を行ったのでは、いずれかのアルゴリズムが漏えい又は解析された場合に第三者によって平文のデータが入手されてしまう可能性もある。よって、第２の生成部１８ｃは、監視用プログラムによって採用されるアルゴリズムとは異なる方式の暗号化を行うか、あるいは同じ方式の暗号化であっても異なる暗号鍵を用いて暗号化を行うのが好ましい。なお、ここでは、同一の暗号方式で異なる暗号鍵ｋ２を用いて、監視用プログラムが付加された第１暗号化データを暗号化する場合を想定する。
【００４８】
また、第２の生成部１８ｃは、暗号化によって生成した第２暗号化データに記憶部１３に記憶された復号プログラム１３ｃを付加することによって実行形式暗号化データを生成する。このように実行可能形式の第２暗号化データを生成することによって、復号時にユーザが実行操作を行うだけで自動的に第１暗号化データまで復号化できるようになる。なお、ここでは、第２暗号化データに復号プログラムを付加する場合を例示したが、開示の装置はこれに限定されない。例えば、第２暗号化データをそのまま持ち出させ、持出し先の装置にインストールされている復号ソフトによって第２暗号化データを復号化させることとしてもかまわない。
【００４９】
ここで、図３を用いて、実行形式暗号化データの生成方法を説明する。図３は、実行形式暗号化データの生成方法を説明するための図である。図３に示すように、第１の生成部１８ａは、持出し操作がなされたデータを暗号化することによって第１暗号化データを生成する（ステップＳ２１）。そして、付加部１８ｂは、ユーザによって設定された持出し後のデータに対するアクセス権および利用者認証情報を監視用プログラムへ埋め込んだ上でその監視用プログラムを第１暗号化データに付加する（ステップＳ２２）。続いて、第２の生成部１８ｃは、監視用プログラムが付加された第１暗号化データに監視用プログラムによる暗号化とは異なる暗号化を実行することによって第２の暗号化データを生成する（ステップＳ２３）。そして、第２の生成部１８ｃは、暗号化によって生成した第２暗号化データに記憶部１３に記憶された復号プログラム１３ｃを付加することによって実行形式暗号化データを生成する（ステップＳ２４）。このように実行形式暗号化データが生成されてから持出しが許可される。その後、ＯＳ実行部１５やアプリ実行部１６によって可搬用の物理媒体へ実行形式暗号化データが複製、改名保存あるいはハードコピーされたり、メールに実行形式暗号化データが添付されて送信されたりする。
【００５０】
ログ送信部１８ｄは、記憶部１３に記憶された持出しログ情報１３ｄを管理サーバ３０へ送信する処理部である。このログ送信部１８ｄは、持出しログ情報１３ｄを任意のタイミングで管理サーバ３０へ送信できる。一例としては、ログ送信部１８ｄは、持出し監視アプリ実行部１７によって持出しログ情報が生成される度にその持出しログ情報をリアルタイム送信することができる。他の一例としては、ログ送信部１８ｄは、クライアント端末１０が起動されたことやネットワークに接続されたことを契機に記憶部１３に記憶されていた持出しログ情報１３ｄを送信することもできる。
【００５１】
［外部端末の構成］
次に、本実施例に係る外部端末の構成について説明する。図４は、実施例１に係る外部端末の構成を示すブロック図である。図４に示すように、外部端末７０は、入力部７１と、通信Ｉ／Ｆ部７２と、記憶部７３と、制御部７４とを有する。なお、外部端末７０は、図４に示した機能部以外にも既知のコンピュータが有する各種の機能部、例えば表示部などの表示デバイス、音声入力部や音声出力部などの音声デバイス等を有するものとする。
【００５２】
このうち、入力部７１は、各種の情報、例えば後述のＯＳ実行部７５やアプリ実行部７６に対する指示入力を受け付ける入力デバイスである。かかる入力部７１の一例としては、英字、かな、数字や記号などのキーを始め、シフトキーやコントロールキーなどの補助キーが整列されたキーボード（keyboard）が挙げられる。他の一例としては、ポインティングデバイス（pointing  device）の一態様であるマウス（mouse）が挙げられる。
【００５３】
通信Ｉ／Ｆ部７２は、他の装置、例えばクライアント端末１０や管理サーバ３０との間で通信を行うためのインタフェース（interface）である。
【００５４】
記憶部７３は、例えば、ＲＡＭ、ＲＯＭやフラッシュメモリなどの半導体メモリ素子などの記憶装置である。なお、記憶部７３は、上記の種類の記憶装置に限定されるものではなく、ハードディスク、光ディスクなどの記憶装置であってもかまわない。
【００５５】
記憶部７３は、制御部７４で実行されるＯＳや汎用アプリ、例えばワープロソフト、表計算ソフト、作図ソフトやメールソフトなどの各種プログラムを記憶する。さらに、記憶部７３は、制御部７４で実行されるプログラムの実行に必要なデータなどを記憶する。一例として、記憶部７３は、実行形式暗号化データ７３ａと、作業データ７３ｂとを併せて記憶する。
【００５６】
実行形式暗号化データ７３ａは、多重暗号化アプリによって多重に暗号化された持出しデータである。かかる実行形式暗号化データ７３ａは、可搬用の物理媒体から読み出すことによって持ち込まれたり、また、メールから添付ファイルを取り込むことによって持ち込まれたりする。
【００５７】
作業データ７３ｂは、第２暗号化データの復号化、第１暗号化データの復号化および持出しデータの平文に対する処理などの作業に伴って発生するデータである。かかる作業データ７３ｂが記憶されるメモリ領域は、第１暗号化データ、監視用プログラム、持出しデータの平文、アプリによって作業中に生成された中間ファイルなどが展開されている限りは、後述の監視用プログラム実行部７８によって参照が禁止される。
【００５８】
制御部７４は、例えば、ＣＰＵやＭＰＵなどの電子回路またはＡＳＩＣやＦＰＧＡなどの集積回路である。制御部７４は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部７４は、図２に示すように、ＯＳ実行部７５と、アプリ実行部７６と、復号プログラム実行部７７と、監視用プログラム実行部７８とを有する。
【００５９】
ＯＳ実行部７５は、コンピュータシステム全体を管理する基本ソフトウェアであるＯＳの実行を制御する処理部である。一例としては、ＯＳ実行部７５は、ファイルを管理するファイル管理ツールを有し、データの削除、参照、移動、複製などのデータ操作を実行する。このとき、ＯＳ実行部７５は、記憶部７３に記憶された実行形式暗号化データ７３ａの実行操作を受け付けた場合に、実行形式暗号化データ７３ａから復号プログラムを抽出した上でその復号プログラムを起動させる。これによって、復号プログラム実行部７７が立ち上がる。その後、復号プログラム実行部７７によって後述の監視用プログラム実行部７８が起動されると、ＯＳ実行部７５は、監視用プログラム実行部７８によって記憶部１３に対するデータの参照または更新がフックされる。これによって、ＯＳ実行部７５のデータ参照機能は、監視用プログラム実行部７８が終了されるまで、監視用プログラム実行部７８に乗っ取られる。
【００６０】
アプリ実行部７６は、アプリケーションプログラムの実行を制御する処理部である。かかるアプリの一例としては、ワープロソフト、表計算ソフト、作図ソフトやメールソフトなどの各種ソフトが挙げられる。一例としては、監視用プログラム実行部７８によって第１暗号化データから持出しデータの平文が復号化された場合に、持出しデータに対応するアプリケーションプログラムが後述のアクセス権監視部７８ｂによって起動される。これによってアプリ実行部７６が立ち上がる。その後、アプリ実行部７６は、記憶部７３に対するデータの参照または更新がフックされる。これによって、アプリ実行部７６のデータ参照機能は、監視用プログラム実行部７８が終了されるまで、監視用プログラム実行部７８に乗っ取られる。なお、アプリ実行部７６が、監視用プログラム実行部７８によって第１暗号化データから持出しデータの平文が復号化される前に起動していたとしても、監視用プログラム実行部７８の起動後にはアプリ実行部７６のデータ参照機能が乗っ取られる。
【００６１】
復号プログラム実行部７７は、復号プログラムの実行を制御する処理部である。これを説明すると、復号プログラム実行部７７は、記憶部７３に記憶された実行形式暗号化データ７３ａの実行操作を受け付けた場合に、ＯＳ実行部７５によって起動される。そして、復号プログラム実行部７７は、記憶部７３に記憶された実行形式暗号化データ７３ａから得られる第２暗号化データを暗号鍵ｋ２を用いて記憶部１３内の所定の領域へ復号化する。このようにして復号化された第２暗号化データの復号化データは、作業データ７３ｂとして記憶部７３内に保持される。続いて、復号プログラム実行部７７は、第２暗号化データの復号化データから監視用プログラムを抽出した上でその監視用プログラムを起動させ、そのまま復号プログラムを終了する。これによって、監視用プログラム実行部７８が立ち上がる。このように、復号プログラム実行部７７は、第２の暗号化データが復号化されることを契機に監視用プログラムを直ちに起動させる。このため、監視用プログラムが平文のままユーザに晒される時間を最小化できる。
【００６２】
監視用プログラム実行部７８は、監視用プログラムの実行を制御する処理部である。これを説明すると、監視用プログラム実行部７８は、第２暗号化データが復号された場合に、復号プログラム実行部７７によって起動される。そして、監視用プログラム実行部７８は、記憶部７３に対するＯＳ実行部７５及びアプリ実行部７６の参照または更新をフックする。これによって、監視用プログラム実行部７８は、ＯＳ実行部７５及びアプリ実行部７６のデータ参照機能を乗っ取り、作業データ７３ｂが記憶されているメモリ領域へのアクセスを遮断する。
【００６３】
かかる監視用プログラム実行部７８は、上記のデータ参照機能の乗っ取り以外にも、図４に示した各機能部に対応する機能を有する。監視用プログラム実行部７８は、図４に示すように、復号化部７８ａと、アクセス権監視部７８ｂと、ログ送信部７８ｃと、データ更新部７８ｄとを有する。
【００６４】
このうち、復号化部７８ａは、復号プログラム実行部７７によって第２暗号化データから復号化された第１暗号化データを復号化する処理部である。一例としては、復号化部７８ａは、第１暗号化データを暗号鍵ｋ１を用いて記憶部７３内の所定の領域へ復号化する。このようにして復号化された持出しデータの平文は、作業データ７３ｂとして記憶部７３内に保持される。
【００６５】
ここで、図５を用いて、実行形式暗号化データの復号化方法を説明する。図５は、実行形式暗号化データの復号化方法を説明するための図である。図５に示すように、ＯＳ実行部７５は、実行形式暗号化データ７３ａから復号プログラムを抽出した上で復号プログラムを起動させる（ステップＳ６１）。これによって、復号プログラム実行部７７が立ち上がる。そして、復号プログラム実行部７７は、記憶部７３に記憶された実行形式暗号化データ７３ａから得られる第２暗号化データを暗号鍵ｋ２を用いて復号化する（ステップＳ６２）。続いて、復号プログラム実行部７７は、第２暗号化データの復号化データから監視用プログラムを抽出した上でその監視用プログラムを起動させる（ステップＳ６３）。これによって、監視用プログラム実行部７８が立ち上げる。その後、復号化部７８ａは、第１暗号化データを暗号鍵ｋ１を用いて復号化する（ステップＳ６４）。これによって、持出しデータの平文が得られる。
【００６６】
アクセス権監視部７８ｂは、持出しデータの平文に対するアクセス権を監視する処理部である。これを説明すると、アクセス権監視部７８ｂは、復号化部７８ａによって持出しデータが復号化された場合に、ユーザから利用者認証情報の入力を受付け、暗号化時に予め監視用プログラムに埋め込まれていた利用者認証情報と比較することにより利用者認証を行う。このとき、アクセス権監視部７８ｂは、利用者認証に成功することを条件に持出しデータに対応するアプリを起動させる。これによって、アプリ実行部７６が立ち上がる。なお、上記の利用者認証時に所定の回数にわたって誤ったパスワードが入力された場合には、作業データ７３ｂのみならず、記憶部７３に記憶された実行形式暗号化データ７３ａを併せて削除することとしてもよい。また、実行形式暗号化データ７３ａが生成されてから所定の期間が経過した場合にも、作業データ７３ｂ及び実行形式暗号化データ７３ａを削除することとしてもかまわない。
【００６７】
なお、ＯＳ実行部７５により、復号プログラムが実行された後（図５のＳ６１）、ユーザからの利用者認証情報の入力を受付け、利用者認証に成功した場合に、Ｓ６２を実行するとしてもよい。この場合は、データの暗号化を行うクライアント端末１０の第２の生成部１８ｃが、利用者認証情報設定を復号プログラムに埋め込む。そして、第２の生成部１８ｃは、実行形式暗号化データを生成する。なお、アクセス権の設定は、第１の生成部１８ａが行う。
【００６８】
また、第１暗号化データを暗号鍵ｋ１を用いて復号化するまえに、アクセス権監視部７８ｂは、利用者認証を行っても良い。そして、利用者認証が成功した場合に、復号化部７８ａは、第１暗号化データを暗号鍵ｋ１を用いて復号化し、持出しデータの平文を得るとしても良い。利用者認証が成功した場合に復号化するほうが、情報に対するセキュリティが強化され、より情報漏えいを防止することができる。
【００６９】
その後、アクセス権監視部７８ｂは、アプリ実行部７６からＯＳ実行部７５へ出力されるＡＰＩをフックして監視する。このとき、アクセス権監視部７８ｂは、アプリ実行部７６からフックしたＡＰＩに対応する命令がアプリの終了命令でない場合には、そのＡＰＩに対応するデータ操作にアクセス権が設定されているか否かを判定する。
【００７０】
ここで、ＡＰＩに対応するデータ操作にアクセス権が設定されていない場合には、アクセス権監視部７８ｂは、データ操作の実行を禁止する。その上で、アクセス権監視部７８ｂは、持出しデータのファイル名、アクセス日時やアクセス権のないデータ操作がなされた旨などを含むアクセスログを生成する。このようにして生成されたアクセスログは、後述のログ送信部７８ｃによって管理サーバ３０にアップロードされる。
【００７１】
一方、ＡＰＩに対応するデータ操作にアクセス権が設定されている場合には、アクセス権監視部７８ｂは、今回なされたデータ操作が「改名保存」であるか否かをさらに判定する。このとき、今回なされたデータ操作が「改名保存」である場合には、後述のデータ更新部７８ｄによって実行中の持出しデータから新たな実行形式暗号化データが生成される。そして、アクセス権監視部７８ｂは、改名前のファイル名、改名後のファイル名や保存日時などを含むアクセスログを生成する。また、今回なされたデータ操作が「改名保存」ではない場合には、アクセス権監視部７８ｂは、今回なされたデータ操作の実行を許可する。そして、アクセス権監視部７８ｂは、データ操作の種別や操作日時などを含むアクセスログを生成する。
【００７２】
このようにして、アクセス権監視部７８ｂは、データの参照、更新、印刷、ハードピー及び改名保存のうち、暗号化時に予めアクセス権が設定されているデータ操作だけを許可してアプリ実行部７６に実行させる。なお、ここでは、実行されたデータ操作にアクセス権が設定されている場合、さらには、アクセス権が設定されていない場合にも、アクセスログを生成する場合を例示したが、開示の装置はこれに限定されない。例えば、アクセス権監視部７８ｂは、実行されたデータ操作にアクセス権が設定されていなかった場合にだけアクセスログを生成することもできる。
【００７３】
ログ送信部７８ｃは、アクセス権監視部７８ｂによって生成されたアクセスログを管理サーバ３０へ送信する処理部である。このログ送信部７８ｃは、アクセスログを任意のタイミングで管理サーバ３０へ送信できる。一例としては、ログ送信部７８ｃは、アクセス権監視部７８ｂによってアクセスログが生成される度にそのアクセスログをリアルタイム送信することができる。他の一例としては、ログ送信部１７ｃは、外部端末７０が起動されたことやネットワーク５に接続されたことを契機に記憶部１３に記憶されていたアクセスログを送信することもできる。
【００７４】
このようにアクセスログを管理サーバ３０へ送信することによって、ユーザによって持ち出されたデータの移動経路を追跡することが可能になる。なお、アクセスログを一定期間にわたって蓄積してから送信する場合には、アプリを終了する際に後述のデータ更新部７８ｄによってアクセスログを監視用プログラムに埋め込ませて実行形式暗号化データ７３ａを上書きさせればよい。
【００７５】
データ更新部７８ｄは、記憶部７３に記憶された実行形式暗号化データ７３ａを更新する処理部である。一例としては、データ更新部７８ｄは、アプリ実行部７６によって実行されている持出しデータが更新されていない場合、すなわち持出しデータの参照だけがなされた場合には、次のような処理を行う。すなわち、データ更新部７８ｄは、記憶部７３に記憶されている作業データ７３ｂ、すなわち持出しデータ及び第１暗号化データを削除する。また、データ更新部７８ｄは、アプリ実行部７６によって実行されている持出しデータが更新されている場合には、実行中の持出しデータから新たな実行形式暗号化データを生成する。そして、データ更新部７８ｄは、記憶部７３に記憶された実行形式暗号化データ７３ａに今回生成した新たな実行形式暗号化データを上書き更新する。
【００７６】
データ更新部７８ｄは、持出しデータの平文が複製される場合に、持出しデータの平文から実行形式暗号化データを生成する。一例としては、データ更新部７８ｄは、アプリ実行部７６からフックしたＡＰＩに対応するデータ操作が「改名保存」である場合には、アプリ実行部７６によって実行されている持出しデータから実行形式暗号化データを生成する。なお、データ更新部７８ｄは、持出しデータの平文に対してクライアント端末１０における多重暗号化アプリ実行部１８と同様の処理を実行する。
【００７７】
このように、アプリ実行部７６によるアプリの実行が終了した場合には、監視用プログラム実行部７８は、ＯＳ実行部７５及びアプリ実行部７６のデータ参照機能の乗っ取りを解除し、監視プログラムを終了する。
【００７８】
［処理の流れ］
次に、本実施例に係るクライアント端末及び外部端末における処理の流れについて説明する。なお、ここでは、まず、クライアント端末１０によって実行される（１）暗号化処理を説明する。次に、外部端末７０のＯＳ実行部７５、復号プログラム実行部７７、監視用プログラム実行部７８及びアプリ実行部７６によって実行される（２）制御シーケンスを説明する。続いて、外部端末７０の監視用プログラム実行部７８及びアプリ実行部７６によって実行される（３）データ更新処理を説明する。
【００７９】
（１）暗号化処理
図６は、実施例１に係る暗号化処理の手順を示すフローチャートである。この暗号化処理は、持出し監視アプリ実行部１７によってデータの持出し操作が検出された場合に、処理が起動する。
【００８０】
図６に示すように、データの持出し操作が検出された場合（ステップＳ１０１肯定）に、第１の生成部１８ａは、持出し後のデータに対するアクセス権および利用者認証情報の設定を受け付ける（ステップＳ１０２）。続いて、第１の生成部１８ａは、記憶部１３に記憶されたデータ１３ａのうちデータ操作に対応するデータを暗号化することによって平文のデータから第１暗号化データを生成する（ステップＳ１０３）。
【００８１】
そして、付加部１８ｂは、ユーザによって設定された持出し後のデータに対するアクセス権および利用者認証情報を監視用プログラムへ埋め込んだ上でその監視用プログラムを第１暗号化データに付加する（ステップＳ１０４）。
【００８２】
続いて、第２の生成部１８ｃは、付加部１８ｂによって監視用プログラムが付加された第１暗号化データに監視用プログラムによる暗号化とは異なる他の暗号化を実行することによって第２の暗号化データを生成する（ステップＳ１０５）。その後、第２の生成部１８ｃは、暗号化によって生成した第２暗号化データに記憶部１３に記憶された復号プログラム１３ｃを付加し（ステップＳ１０６）、処理を終了する。このようにして持出し対象とするデータから実行形式暗号化データが生成される。
【００８３】
（２）制御シーケンス
図７は、図４に示したＯＳ実行部、復号プログラム実行部、監視用プログラム実行部及びアプリ実行部間の制御シーケンスを示す図である。この制御シーケンスは、記憶部７３に記憶された実行形式暗号化データ７３ａの実行操作を受け付けた場合に、処理が起動する。
【００８４】
図７に示すように、実行形式暗号化データ７３ａの実行操作を受け付けると（ステップＳ３０１）、ＯＳ実行部７５は、実行形式暗号化データ７３ａから復号プログラムを抽出し（ステップＳ３０２）、抽出した復号プログラムを起動させる（ステップＳ３０３）。
【００８５】
そして、復号プログラム実行部７７は、記憶部７３に記憶された実行形式暗号化データ７３ａから得られる第２暗号化データを暗号鍵ｋ２を用いて復号化する（ステップＳ３０４）。続いて、復号プログラム実行部７７は、第２暗号化データの復号化データから監視用プログラムを抽出し（ステップＳ３０５）、抽出した監視用プログラムを起動させ（ステップＳ３０６）、そのまま復号プログラムを終了する。
【００８６】
その後、監視用プログラム実行部７８は、ＯＳ実行部７５のデータ参照機能の乗っ取りを開始する（ステップＳ３０７）。続いて、アクセス権監視部７８ｂは、ユーザから利用者認証情報の入力を受付け、暗号化時に予め監視用プログラムに埋め込まれていた利用者認証情報と比較することにより利用者認証を行う（ステップＳ３０８）。
【００８７】
このとき、アクセス権監視部７８ｂによる利用者認証に成功することを条件に、復号化部７８ａは、復号プログラム実行部７７によって第２暗号化データから復号化された第１暗号化データを復号化する（ステップＳ３０９）。その後、アクセス権監視部７８ｂは、復号化部７８ａによって第１暗号化データから復号化された持出しデータに対応するアプリを起動させる（ステップＳ３１０）。
【００８８】
そして、監視用プログラム実行部７８及びアプリ実行部７６は、記憶部７３に記憶された実行形式暗号化データ７３ａを更新する「データ更新処理」を実行する（ステップＳ３１１）。その後、アプリが終了されてデータ更新処理が終了すると、監視用プログラム実行部７８は、ＯＳ実行部７５のデータ参照機能の乗っ取りを解除し（ステップＳ３１２）、監視プログラムを終了する。
【００８９】
（３）データ更新処理
図８及び図９は、実施例１に係るデータ更新処理の手順を示すフローチャートである。この処理は、上記のステップＳ３１１に対応する処理であり、アクセス権監視部７８ｂによって持出しデータに対応するアプリが起動された場合に開始される。
【００９０】
図８に示すように、アクセス権監視部７８ｂは、アプリ実行部７６からＯＳ実行部７５へ出力されるＡＰＩをフックして監視する（ステップＳ５０１）。このとき、アクセス権監視部７８ｂは、アプリ実行部７６からフックしたＡＰＩに対応する命令がアプリの終了命令でない場合（ステップＳ５０２否定）には、そのＡＰＩに対応するデータ操作にアクセス権が設定されているか否かを判定する（ステップＳ５０３）。
【００９１】
ここで、ＡＰＩに対応するデータ操作にアクセス権が設定されていない場合（ステップＳ５０３否定）には、アクセス権監視部７８ｂは、データ操作の実行を禁止する（ステップＳ５０４）。その上で、アクセス権監視部７８ｂは、持出しデータのファイル名、アクセス日時やアクセス権のないデータ操作がなされた旨などを含むアクセスログを生成する（ステップＳ５０５）。続いて、ログ送信部７８ｃは、アクセス権監視部７８ｂによって生成されたアクセスログを管理サーバ３０へ送信し（ステップＳ５０６）、ステップＳ５０１の処理に戻る。
【００９２】
一方、ＡＰＩに対応するデータ操作にアクセス権が設定されている場合（ステップＳ５０３肯定）には、アクセス権監視部７８ｂは、今回なされたデータ操作が「改名保存」であるか否かをさらに判定する（ステップＳ５０７）。
【００９３】
このとき、今回なされたデータ操作が「改名保存」である場合（ステップＳ５０７肯定）には、データ更新部７８ｄは、実行中の持出しデータから新たな実行形式暗号化データを生成する（ステップＳ５０８）。そして、アクセス権監視部７８ｂは、改名前のファイル名、改名後のファイル名や保存日時などを含むアクセスログを生成する（ステップＳ５０９）。その後、ログ送信部７８ｃは、アクセス権監視部７８ｂによって生成されたアクセスログを管理サーバ３０へ送信し（ステップＳ５１０）、ステップＳ５０１の処理に戻る。
【００９４】
また、今回なされたデータ操作が「改名保存」ではない場合（ステップＳ５０７否定）には、アクセス権監視部７８ｂは、今回なされたデータ操作の実行を許可する（ステップＳ５１１）。そして、アクセス権監視部７８ｂは、データ操作の種別や操作日時などを含むアクセスログを生成する（ステップＳ５０９）。その後、ログ送信部７８ｃは、アクセス権監視部７８ｂによって生成されたアクセスログを管理サーバ３０へ送信し（ステップＳ５１０）、ステップＳ５０１の処理に戻る。
【００９５】
また、アプリ実行部７６からフックしたＡＰＩに対応する命令がアプリの終了命令である場合（ステップＳ５０２肯定）に、データ更新部７８ｄは、アプリ実行部７６によって実行されている持出しデータが更新されているか否かを判定する（ステップＳ５１２）。
【００９６】
このとき、アプリ実行部７６によって実行されている持出しデータが更新されていない場合（ステップＳ５１２否定）には、データ更新部７８ｄは、次のような処理を実行する。すなわち、データ更新部７８ｄは、記憶部７３に記憶されている作業データ７３ｂ、すなわち持出しデータ及び第１暗号化データを削除し（ステップＳ５１３）、処理を終了する。
【００９７】
一方、アプリ実行部７６によって実行されている持出しデータが更新されている場合（ステップＳ５１２肯定）には、データ更新部７８ｄは、実行中の持出しデータから新たな実行形式暗号化データを生成する（ステップＳ５１４）。そして、データ更新部７８ｄは、記憶部７３に記憶された実行形式暗号化データ７３ａに今回生成した新たな実行形式暗号化データを上書きし（ステップＳ５１５）、処理を終了する。
【００９８】
［実施例１の効果］
上述してきたように、本実施例に係るクライアント端末１０は、データの暗号化及び復号化とデータの監視を実行する監視用プログラムを用いて、データを暗号化した後にその暗号化データに監視用プログラムを付加してさらに別の暗号化を行う機能を有する。
【００９９】
このため、本実施例に係るクライアント端末１０では、第２暗号化データが復号化された場合には、元のデータは第１暗号化データとして暗号化されたままである一方で、監視用プログラムだけが先に復号化される。それゆえ、本実施例に係るクライアント端末１０では、復号時に、先に復号された監視用プログラムがデータを監視できる状況下で第１暗号化データを復号できる。また、本実施例に係るクライアント端末１０では、第２暗号化データが復号化されるまで監視用プログラムも暗号化されているので、監視用プログラムが平文のままユーザに晒されることもない。
【０１００】
このように、本実施例に係るクライアント端末１０では、監視用プログラムを監視対象とするデータと不可分とし、データの参照や更新が終了した場合には監視用プログラムによってデータを再び暗号化できる。したがって、本実施例に係るクライアント端末１０によれば、監視用プログラムによってデータが定常的に暗号化された状態を保つことができ、情報漏えいを防止することが可能である。
【０１０１】
また、本実施例に係るクライアント端末１０は、第２暗号化データが外部端末７０で復号化されることを契機に起動する監視用プログラムを付加する。このため、本実施例に係るクライアント端末１０では、第２の暗号化データが復号化されると直ちに監視用プログラムを起動できる。よって、本実施例に係るクライアント端末１０によれば、監視用プログラムが平文のままユーザに晒される時間を最小化できる。
【０１０２】
さらに、本実施例に係るクライアント端末１０は、外部端末７０で動作されるＯＳ及びアプリによって復号化後の監視用プログラムが動作するメモリ領域が参照されることを禁止する監視用プログラムを付加する。このため、本実施例に係るクライアント端末１０では、第２暗号化データ、第１暗号化データ及び監視用プログラムが動作しているメモリ領域へのアクセスを遮断できる。よって、本実施例に係るクライアント端末１０によれば、持出しデータが複製されたり、改名保存されたりするのを防止できる。
【０１０３】
また、本実施例に係るクライアント端末１０は、データへの操作を監視するとともに、該操作を検知した場合に操作ログを生成する処理を実行する該監視用プログラムを付加する。このため、本実施例に係るクライアント端末１０では、持出しデータに対する操作ログを持出し元の組織によって管理される装置に収集させることができる。よって、本実施例に係るクライアント端末１０によれば、ユーザによって持ち出されたデータの移動経路を追跡できる。
【０１０４】
さらに、本実施例に係るクライアント端末１０は、データを操作する権限を有する利用者を認証する認証情報を含む第１暗号化データを生成する。このため、本実施例に係るクライアント端末１０では、持出しデータが持ち込まれた端末で持出しデータを操作する者がデータを操作する権限を有する者か否かを認証できる。よって、本実施例に係るクライアント端末１０によれば、データを操作する権限を有する者だけにデータを操作させることができ、第三者によってデータが参照される可能性を低減できる。
【０１０５】
また、本実施例に係る外部端末７０は、監視用プログラムを用いて暗号化された第１暗号化データに監視用プログラムが付加された上でさらに暗号化された第２暗号化データを復号化する。そして、本実施例に係る外部端末７０は、第２暗号化データから復号化された監視用プログラムを用いて、第２暗号化データから復号化された第１暗号化データを復号化する。このため、本実施例に係る外部端末７０では、監視用プログラムを監視対象とするデータと不可分とし、データの参照や更新が終了した場合には監視用プログラムによってデータを再び暗号化できる。したがって、本実施例に係る外部端末７０によれば、監視用プログラムによってデータが定常的に暗号化された状態を保つことができ、情報漏えいを防止することが可能である。
【実施例２】
【０１０６】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【０１０７】
［分散と統合］
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、第１の生成部１８ａ、付加部１８ｂ、第２の生成部１８ｃまたはログ送信部１８ｄをクライアント端末の外部装置としてネットワーク経由で接続するようにしてもよい。また、第１の生成部１８ａ、付加部１８ｂ、第２の生成部１８ｃまたはログ送信部１８ｄを別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記のクライアント端末の機能を実現するようにしてもよい。例えば、復号プログラム実行部７７、監視用プログラム実行部７８、復号化部７８ａ、アクセス権監視部７８ｂ、ログ送信部７８ｃ又はデータ更新部７８ｄを外部端末の外部装置としてネットワーク経由で接続するようにしてもよい。また、復号プログラム実行部７７、監視用プログラム実行部７８、復号化部７８ａ、アクセス権監視部７８ｂ、ログ送信部７８ｃ又はデータ更新部７８ｄを別の装置がそれぞれ有するように構成する。その上で、ネットワーク接続されて協働することで、上記の外部端末の機能を実現するようにしてもよい。
【０１０８】
［データ監視プログラム］
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図１０を用いて、上記の実施例と同様の機能を有するデータ監視プログラムを実行するコンピュータの一例について説明する。なお、ここでは、クライアント端末１０と同様の機能を有する暗号化側のデータ監視プログラムを実行するコンピュータの例を説明するが、外部端末７０と同様の機能を有する復号化側データ監視プログラムを実行する場合も同様である。
【０１０９】
図１０は、実施例２に係るデータ監視プログラムを実行するコンピュータの一例について説明するための図である。図１０に示すように、実施例２におけるコンピュータ１００は、操作部１１０ａと、マイク１１０ｂと、スピーカ１１０ｃと、ディスプレイ１２０と、通信部１３０とを有する。さらに、このコンピュータ１００は、ＣＰＵ１５０と、ＲＯＭ１６０と、ＨＤＤ（Hard  Disk  Drive）１７０と、ＲＡＭ（Random  Access  Memory）１８０と有する。これら１１０〜１８０の各部はバス１４０を介して接続される。
【０１１０】
ＲＯＭ１６０には、上記の実施例２で示した第１の生成部１８ａと、付加部１８ｂと、第２の生成部１８ｃと、ログ送信部１８ｄと同様の機能を発揮する制御プログラムが予め記憶される。つまり、ＲＯＭ１６０には、図１０に示すように、第１の生成プログラム１６０ａと、付加プログラム１６０ｂと、第２の生成プログラム１６０ｃと、ログ送信プログラム１６０ｄとが記憶される。これらのプログラム１６０ａ〜１６０ｄについては、図２に示したクライアント端末の各構成要素と同様、適宜統合又は分離しても良い。なお、ＲＡＭ１６０に格納される各データは、常に全てのデータがＲＡＭ１６０に格納される必要はなく、処理に必要なデータのみがＲＡＭ１６０に格納されれば良い。
【０１１１】
そして、ＣＰＵ１５０が、これらのプログラム１６０ａ〜１６０ｄをＲＯＭ１６０から読み出して実行する。これによって、ＣＰＵ１５０は、図１０に示すように、各プログラム１６０ａ〜１６０ｄについては、第１の生成プロセス１５０ａ、付加プロセス１５０ｂ、第２の生成プロセス１５０ｃ及びログ送信プロセス１５０ｄとして機能するようになる。これらプロセス１５０ａ〜１５０ｄは、図２に示した第１の生成部１８ａと、付加部１８ｂと、第２の生成部１８ｃと、ログ送信部１８ｄとにそれぞれ対応する。なお、ＣＰＵ１５０上で仮想的に実現される各処理部は、常に全ての処理部がＣＰＵ１５０上で動作する必要はなく、処理に必要な処理部のみが仮想的に実現されれば良い。そして、ＣＰＵ１５０は、ＲＡＭ１８０に格納された情報を用いて、データ監視プログラムを実行する。
【０１１２】
なお、上記のデータ監視プログラムについては、必ずしも最初からＨＤＤ１７０やＲＯＭ１６０に記憶させておく必要はない。例えば、コンピュータ１００に挿入されるフレキシブルディスク、いわゆるＦＤ、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させる。そして、コンピュータ１００がこれらの可搬用の物理媒体から各プログラムを取得して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１００に接続される他のコンピュータまたはサーバ装置などに各プログラムを記憶させておき、コンピュータ１００がこれらから各プログラムを取得して実行するようにしてもよい。
【０１１３】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１１４】
（付記１）コンピュータに、
データの暗号化および復号化と該データの監視とを実行する監視用プログラムを用いて、該データを暗号化した第１の暗号化データを生成し、
前記第１の暗号化データに前記監視用プログラムを付加し、
前記監視用プログラムが付加された前記第１の暗号化データに前記暗号化とは異なる他の暗号化を実行することによって第２の暗号化データを生成する
処理を実行させることを特徴とするデータ監視プログラム。
【０１１５】
（付記２）前記監視用プログラムを付加する処理において、前記第２の暗号化データが前記コンピュータまたは他のコンピュータで復号化されることを契機に起動する監視用プログラムを付加する処理を実行させることを特徴とする付記１に記載のデータ監視プログラム。
【０１１６】
（付記３）前記監視用プログラムを付加する処理において、前記データへの操作を監視するとともに、該操作を検知した場合に操作ログを生成する処理を実行する該監視用プログラムを付加することを特徴とする付記１乃至付記２記載のデータ監視プログラム。
【０１１７】
（付記４）前記第１の暗号化データを生成する処理において、前記データを操作する権限を有する利用者を認証する認証情報を含む該第１の暗号化データを生成することを特徴とする付記１乃至付記３のいずれか一項に記載のデータ監視プログラム。
【０１１８】
（付記５）前記監視用プログラムを付加する処理において、前記コンピュータまたは前記他のコンピュータで動作される基本ソフトウェア及びアプリケーションによって復号化後の監視用プログラムが動作するメモリ領域が参照されることを禁止する監視用プログラムを付加する処理を実行させることを特徴とする付記１乃至付記４のいずれか一項に記載のデータ監視プログラム。
【０１１９】
（付記６）前記コンピュータに、
データの暗号化および復号化とデータの監視とを実行する監視用プログラムを用いて暗号化された第１の暗号化データに前記監視用プログラムが付加された上でさらに暗号化された第２の暗号化データを復号化し、
前記第２の暗号化データから復号化された監視用プログラムを用いて、前記第２の暗号化データから復号化された第１の暗号化データを復号化する
処理を実行させることを特徴とするデータ監視プログラム。
【０１２０】
（付記７）コンピュータが、
データの暗号化および復号化と該データの監視とを実行する監視用プログラムを用いて、該データを暗号化した第１の暗号化データを生成し、
前記第１の暗号化データに前記監視用プログラムを付加し、
前記監視用プログラムが付加された前記第１の暗号化データに前記暗号化とは異なる他の暗号化を実行することによって第２の暗号化データを生成する
処理を実行することを特徴とするデータ監視方法。
【０１２１】
（付記８）前記コンピュータが、
データの暗号化および復号化とデータの監視とを実行する監視用プログラムを用いて暗号化された第１の暗号化データに前記監視用プログラムが付加された上でさらに暗号化された第２の暗号化データを復号化し、
前記第２の暗号化データから復号化された監視用プログラムを用いて、前記第２の暗号化データから復号化された第１の暗号化データを復号化する
処理を実行することを特徴とするデータ監視方法。
【０１２２】
（付記９）データの暗号化および復号化と該データの監視とを実行する監視用プログラムを用いて、該データを暗号化した第１の暗号化データを生成する第１の生成部と、
前記第１の暗号化データに前記監視用プログラムを付加する付加部と、
前記監視用プログラムが付加された前記第１の暗号化データに前記暗号化とは異なる他の暗号化を実行することによって第２の暗号化データを生成する第２の生成部と
を有することを特徴とするデータ監視装置。
【０１２３】
（付記１０）データの暗号化および復号化とデータの監視とを実行する監視用プログラムを用いて暗号化された第１の暗号化データに前記監視用プログラムが付加された上でさらに暗号化された第２の暗号化データを復号化する第１の復号化部と、
前記第２の暗号化データから復号化された監視用プログラムを用いて、前記第２の暗号化データから復号化された第１の暗号化データを復号化する第２の復号化部と
を有することを特徴とするデータ監視装置。
【符号の説明】
【０１２４】
１    情報漏えい対処システム
５    ネットワーク
１０    クライアント端末
１１    入力部
１２    通信Ｉ／Ｆ部
１３    記憶部
１３ａ  データ
１３ｂ  監視用プログラム
１３ｃ  復号プログラム
１３ｄ  持出しログ情報
１４    制御部
１５    ＯＳ実行部
１６    アプリ実行部
１７    持出し監視アプリ実行部
１８    多重暗号化アプリ実行部
１８ａ  第１の生成部
１８ｂ  付加部
１８ｃ  第２の生成部
１８ｄ  ログ送信部
３０    管理サーバ
５０    コンソール
７０    外部端末
７１    入力部
７２    通信Ｉ／Ｆ部
７３    記憶部
７３ａ  実行形式暗号化データ
７３ｂ  作業データ
７４    制御部
７５    ＯＳ実行部
７６    アプリ実行部
７７    復号プログラム実行部
７８    監視用プログラム実行部
７８ａ  復号化部
７８ｂ  アクセス権監視部
７８ｃ  ログ送信部
７８ｄ  データ更新部
【図１】
2012083922.tif 000003
【図２】
2012083922.tif 000004
【図３】
2012083922.tif 000005
【図４】
2012083922.tif 000006
【図５】
2012083922.tif 000007
【図６】
2012083922.tif 000008
【図７】
2012083922.tif 000009
【図８】
2012083922.tif 000010
【図９】
2012083922.tif 000011
【図１０】
2012083922.tif 000012