説明

データ監視プログラム、データ監視方法及びデータ監視装置

【課題】情報漏えいを防止することを課題とする。
【解決手段】クライアント端末10は、データの暗号化および復号化と該データの監視とを実行する監視用プログラムを用いて、該データを暗号化した第1の暗号化データを生成する。さらに、クライアント端末10は、第1の暗号化データに監視用プログラムを付加する。さらに、クライアント端末10は、監視用プログラムが付加された第1の暗号化データに先の暗号化とは異なる他の暗号化を実行することによって第2の暗号化データを生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ監視プログラム、データ監視方法及びデータ監視装置に関する。
【背景技術】
【0002】
データ(data)の閲覧権限を持たない者にデータが入手されたとしてもデータの内容を閲覧できないようにするために、データを暗号化する技術が用いられる。ところが、データを暗号化したとしてもその暗号化データ(encryption data)が一度復号化されると、復号化されたデータが改めて暗号化されない限り、データの内容は自由に閲覧されてしまう。
【0003】
このことから、データを監視する技術として、次のような技術が開示されている。例えば、クライアント(client)にインストール(install)された監視用プログラムが、アプリケーションからOSへ出力された暗号化データに対するAPIをフックしてデータの暗号化および復号化を自動的に行う特許文献1の技術が開示されている。また、文書が原本であるのか、あるいは原本の複写であるのかを監視するための監視用プログラムをデータに付加する特許文献2の技術が開示されている。なお、上記の「アプリケーション」は、「application program」の略称である。「OS」は、「operating system」の略称である。また、「API」は、「Application Program Interface」の略称である。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2003−39788号公報
【特許文献2】特開平10−260903号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところが、上記の特許文献1の技術では、監視用プログラムが予めインストールされていない端末でデータの暗号化および復号化を自動化することはできず、データが復号化された場合に再度暗号化することができない。
【0006】
ここで、一例として、特許文献2の技術を流用して、特許文献1に開示される監視用プログラム、すなわち暗号化および復号化を自動化するプログラムをデータに付加することも想定される。これによって、監視用プログラムがインストールされていない端末でも暗号化データに対する操作を監視し、データの暗号化および復号化を自動的に行うことも考えられる。
【0007】
しかしながら、データに監視用プログラムを付加した場合には、データは監視用プログラムによって暗号化されるものの、監視用プログラムは平文のままユーザに晒されることになる。このため、データが復号化された段階で監視用プログラムが悪意を持つ操作者によって削除された場合には、情報漏えいを防ぐことはできない。さらに、監視用プログラムが削除されないように、データを監視用プログラムごと暗号化することも考えられる。ところが、データを監視用プログラムごと暗号化したとしても、データ及び監視用プログラムが復号化されてから監視用プログラムが起動するまでの期間にデータが複写される可能性が依然として残る。
【0008】
このように、上記の特許文献1の技術を採用しても、特許文献2の技術を採用しても、特許文献1及び特許文献2の技術を組み合わせて採用したとしても、情報漏えいを防止できないという問題が残る。
【0009】
開示の技術は、上記に鑑みてなされたものであって、情報漏えいを防止できるデータ監視プログラム、データ監視方法及びデータ監視装置を提供することを目的とする。
【課題を解決するための手段】
【0010】
本願の開示するデータ監視プログラムは、コンピュータに、データの暗号化および復号化と該データの監視とを実行する監視用プログラムを用いて、該データを暗号化した第1の暗号化データを生成する処理を実行させる。さらに、前記データ監視プログラムは、前記コンピュータに、前記第1の暗号化データに前記監視用プログラムを付加する処理を実行させる。さらに、前記データ監視プログラムは、前記コンピュータに、前記監視用プログラムが付加された前記第1の暗号化データに前記暗号化とは異なる他の暗号化を実行することによって第2の暗号化データを生成する処理を実行させる。
【発明の効果】
【0011】
本願の開示するデータ監視プログラムの一つの態様によれば、情報漏えいを防止できるという効果を奏する。
【図面の簡単な説明】
【0012】
【図1】図1は、実施例1に係る情報漏えい対処システムの構成を示す図である。
【図2】図2は、実施例1に係るクライアント端末の構成を示すブロック図である。
【図3】図3は、実行形式暗号化データの生成方法を説明するための図である。
【図4】図4は、実施例1に係る外部端末の構成を示すブロック図である。
【図5】図5は、実行形式暗号化データの復号化方法を説明するための図である。
【図6】図6は、実施例1に係る暗号化処理の手順を示すフローチャートである。
【図7】図7は、図4に示したOS実行部、復号プログラム実行部、監視用プログラム実行部及びアプリ実行部間の制御シーケンスを示す図である。
【図8】図8は、実施例1に係るデータ更新処理の手順を示すフローチャートである。
【図9】図9は、実施例1に係るデータ更新処理の手順を示すフローチャートである。
【図10】図10は、実施例2に係るデータ監視プログラムを実行するコンピュータの一例について説明するための図である。
【発明を実施するための形態】
【0013】
以下に、本願の開示するデータ監視プログラム、データ監視方法及びデータ監視装置の実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例1】
【0014】
[システム構成]
まず、実施例1に係る情報漏えい対処システムについて説明する。図1は、実施例1に係る情報漏えい対処システムの構成を示す図である。なお、図1の例では、組織に所属するエンドユーザ(end user)によって使用されるクライアント端末10A〜10Cから外部端末70へデータが持ち出される場合に持出し後のデータが流出することを防止する例を想定する。
【0015】
図1に示す情報漏えい対処システム1には、複数のクライアント端末10A〜10Cと、管理サーバ30と、コンソール50とが収容される。一方、情報漏えい対処システム1の外部には、ユーザが所属する組織の外部で使用される外部端末70が存在する。
【0016】
図1の例では、3つのクライアント端末、1つの管理サーバ、1つのコンソールをそれぞれ図示したが、開示のシステムは図示の構成に限定されない。すなわち、情報漏えい対処システム1は、任意の数のクライアント端末、管理サーバ及びコンソールを収容できる。また、図1の例では、1つの外部端末を図示したが、ユーザに情報漏えい対処システム1の外部で使用させる外部端末は任意の数であってかまわない。以下では、クライアント端末10A〜10Cの各装置を区別なく総称する場合には、「クライアント端末10」と記載する。
【0017】
これらクライアント端末10A〜10Cと管理サーバ30とは、構内通信網を介して相互に通信可能に接続される。かかる構内通信網には、有線または無線を問わず、LAN(Local Area Network)やVPN(Virtual Private Network)などの任意の種類の通信網を採用できる。また、クライアント端末10A〜10C及び管理サーバ30と外部端末70とは、ネットワーク(network)5を介して相互に通信可能に接続される。かかるネットワーク5には、インターネット(Internet)、LANやVPNなどの任意の種類の通信網を採用できる。なお、図1の例では、管理サーバ30とコンソール50とが直接接続される場合を例示したが、両者はネットワークを介して接続されることとしてもよい。
【0018】
管理サーバ(server)30は、クライアント端末10を管理するサーバ装置である。この管理サーバ30は、情報漏えいに対処するための情報漏えい対処ソフト(software)を構内通信網を介して自装置に接続されるクライアント端末10にそれぞれダウンロードさせた後にインストール(install)させる。かかる情報漏えい対処ソフトには、機能ごとにモジュール化された複数のアプリケーション(application software)が含まれる。以下では、アプリケーションのことを「アプリ」と略記する。なお、管理サーバ30には、クライアント端末10の管理機能だけでなく、後述のクライアント端末10の機能を同居させることもできる。
【0019】
これら情報漏えい対処ソフトに含まれるアプリの一例としては、持出し監視アプリや多重暗号化アプリなどが挙げられる。このうち、持出し監視アプリは、一例として、クライアント端末10からのデータの持出しを監視する機能を有する。また、多重暗号化アプリは、一例として、クライアント端末10から持ち出されるデータ、すなわち情報漏えい対処システム1の外部で使用される可能性があるデータを多重に暗号化する機能を有する。ここで言う「持出し」とは、データを可搬用の物理媒体に複製することによって持ち出す形態、メール(mail)にデータを添付して送信することによって持ち出す形態やデータを印刷することによって持ち出す形態などを指す。かかる可搬用の物理媒体の一例としては、USBメモリ(USB memory)、フレキシブルディスク、いわゆるFD、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどが挙げられる。
【0020】
なお、ここでは、上記の持出し監視アプリや多重暗号化アプリを例示したが、クライアント端末10にインストールさせるアプリはこれに限定されない。これらのアプリ以外にも、クライアント端末10で実行される操作ログ(log)を採取する操作ログ採取アプリやクライアント端末10における特定の操作を制限する操作制限アプリをインストールさせることとしてもかまわない。また、ここでは、管理サーバ30からダウンロードされた情報漏えい対処ソフトをクライアント端末10にインストールさせる場合を説明したが、インストールの形態はこれに限定されない。一例としては、可搬用の物理媒体を経由して情報漏えい対処ソフトをクライアント端末10にインストールさせることとしてもよい。他の一例としては、クライアント端末10に情報漏えい対処ソフトをプリインストールさせることとしてもよい。
【0021】
このようにしてクライアント端末10にインストールされた持出し監視アプリによって、管理サーバ30は、クライアント端末10から持ち出されたデータの持出しログを収集できる。かかる持出しログの収集は、管理サーバ30及びクライアント端末10が構内通信網を介して接続状態にある場合には、任意のタイミング(timing)で収集できる。一例としては、クライアント端末10で持出しログが収集される度にその持出しログをリアルタイム(real time)で収集することができる。他の一例としては、クライアント端末10が構内通信網に接続されたり、クライアント端末10が起動されたことを契機に多重暗号化アプリによって採取されていた持出しログを収集することもできる。
【0022】
コンソール(console)50は、管理者権限を有する者によって使用される端末である。なお、管理者権限(administrators)は、システム管理者によって予め設定される。かかるコンソール50の機能の一例としては、管理サーバ30に収集された持出しログを閲覧する機能の他、クライアント端末10で動作する多重暗号化アプリのポリシー(policy)を管理サーバ30に設定する機能などが挙げられる。
【0023】
ここで言う「ポリシー」とは、クライアント端末10からのデータの持出しを無条件または条件付きで認めるか、あるいは全面的に禁止するかという方針を指す。例えば、データの持出しを無条件に認める設定がなされた場合には、多重暗号化アプリでデータを暗号化させずともデータを持ち出すことができる。また、データの持出しを条件付きで認める設定がなされた場合には、多重暗号化アプリによってデータが暗号化されることを条件にデータの持出しが許可される。また、データの持出しを全面的に禁止する設定がなされた場合には、多重暗号化アプリによってデータが暗号化されたとしてもデータを持ち出すことはできない。なお、ここでは、データの持出しが条件付きで認める設定がなされた場合、すなわち情報漏えい対処システム1の外部には暗号化データが持ち出される場合を想定して以下の説明を行う。
【0024】
クライアント端末10は、エンドユーザによって使用される端末装置である。かかるクライアント端末10の一態様としては、パソコン(PC:personal computer)を始めとする固定端末の他、携帯電話機、PHS(Personal Handyphone System)やPDA(Personal Digital Assistant)などの移動体端末も採用できる。ここでは、一例として、パソコン、以下「PC」と略記をクライアント端末10とする場合を想定して以下の説明を行うが、他の情報処理装置を使用する場合も同様である。なお、クライアント端末10は、管理サーバ30として動作することもできる。
【0025】
かかるクライアント端末10には、上述した持出し監視アプリ及び多重暗号化アプリを含む情報漏えい対処ソフトがインストールされる。このようしてクライアント端末10にインストールされた情報漏えい対処ソフトは、OSの起動とともに自動的に起動される。この情報漏えい対処ソフトに含まれる各アプリは、OSが動作中である限り、互いの生存状況、例えばプロセス(process)の起動の有無を監視する処理を継続する。そして、あるアプリの停止が他のアプリによって検知された場合には、他のアプリは、停止したアプリを再起動させる命令、例えばAPI(Application Program Interface)をクライアント端末10のOSに出す。これによって、各アプリは、クライアント端末10の電源がオン状態である限り、動作し続けることになる。
【0026】
外部端末70は、情報漏えい対処システム1の外部でユーザに使用される端末である。かかる外部端末70の一態様としては、パソコンを始めとする固定端末の他、携帯電話機、PHSやPDAなどの移動体端末も採用できる。なお、図1の例では、クライアント端末10から持ち出されたデータが外部端末70に持ち込まれる場合を想定する。かかる「持ち込み」とは、可搬用の物理媒体に記憶されたデータを読み出すことによって持ち込む形態、メールに添付されたデータを受信することによって持ち込む形態などを指す。
【0027】
ここで、本実施例に係るクライアント端末10は、データの暗号化および復号化とデータの監視とを実行する監視用プログラムを用いて、所定のデータを暗号化した第1暗号化データを生成する。さらに、本実施例に係るクライアント端末10は、第1の暗号化データに監視用プログラムを付加した上で監視用プログラムが付加された第1暗号化データに第1暗号化データの生成時とは異なる他の暗号化を実行することによって第2暗号化データを生成する。
【0028】
このため、本実施例に係るクライアント端末10では、第2暗号化データが復号化された場合には、元のデータは第1暗号化データとして暗号化されたままである一方で、監視用プログラムだけが先に復号化される。それゆえ、本実施例に係るクライアント端末10では、復号時に、先に復号された監視用プログラムがデータを監視できる状況下で第1暗号化データを復号できる。また、本実施例に係るクライアント端末10では、第2暗号化データが復号化されるまで監視用プログラムも暗号化されているので、監視用プログラムが平文のままユーザに晒されることもない。なお、復号化が、外部端末70にて実行された場合でも同様である。
【0029】
このように、本実施例に係るクライアント端末10では、監視用プログラムを監視対象とするデータと不可分とし、データの参照や更新が終了した場合には監視用プログラムによってデータを再び暗号化できる。したがって、本実施例に係るクライアント端末10によれば、監視用プログラムによってデータが定常的に暗号化された状態を保つことができ、情報漏えいを防止することが可能になる。
【0030】
[クライアント端末の構成]
続いて、本実施例に係るクライアント端末の構成について説明する。図2は、実施例1に係るクライアント端末の構成を示すブロック図である。図2に示すように、クライアント端末10は、入力部11と、通信I/F部12と、記憶部13と、制御部14とを有する。なお、クライアント端末10は、図2に示した機能部以外にも既知のコンピュータが有する各種の機能部、例えば表示部などの表示デバイス、音声入力部や音声出力部などの音声デバイス等を有するものとする。
【0031】
このうち、入力部11は、各種の情報、例えば後述のOS実行部15やアプリ実行部16に対する指示入力を受け付ける入力デバイスである。かかる入力部11の一例としては、英字、かな、数字や記号などのキーを始め、シフトキーやコントロールキーなどの補助キーが整列されたキーボード(keyboard)が挙げられる。他の一例としては、ポインティングデバイス(pointing device)の一態様であるマウス(mouse)が挙げられる。
【0032】
通信I/F部12は、他の装置、例えば他のクライアント端末10、管理サーバ30や外部端末70との間で通信を行うためのインタフェース(interface)である。
【0033】
記憶部13は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)やフラッシュメモリ(flash memory)などの半導体メモリ素子などの記憶装置である。なお、記憶部13は、上記の種類の記憶装置に限定されるものではなく、ハードディスク(hard disk)、光ディスクなどの記憶装置であってもかまわない。
【0034】
記憶部13は、制御部14で実行されるOS(Operating System)や各種の情報漏えい対処ソフトの他、汎用アプリ、例えばワープロソフト、表計算ソフト、作図ソフトやメールソフトなどの各種プログラムを記憶する。さらに、記憶部13は、制御部14で実行されるプログラムの実行に必要なデータなどを記憶する。一例として、記憶部13は、データ13aと、監視用プログラム13bと、復号プログラム13cと、持出しログ情報13dとを併せて記憶する。
【0035】
データ13aは、各種のアプリによって使用されるユーザのデータである。このデータ13aは、後述のOS実行部15によってファイル(file)単位で取り扱われる。例えば、データ13aは、後述のOS実行部15が提供するファイルを管理するファイル管理ツール(tool)によってユーザが入力部11を介して行ったファイル操作、例えば参照、複製、改名などが実行される。
【0036】
監視用プログラム13bは、データの暗号化および復号化とデータの監視とを実行するプログラムファイルである。かかる監視用プログラム13bは、監視対象とするデータ、例えばクライアント端末10から持ち出されるファイルを暗号化することによって第1暗号化ファイルを生成する機能を有する。また、監視用プログラム13bは、後述の付加部18bによって第1暗号化データに付加された後に後述の第2の生成部18cによって第1暗号化データごと暗号化されることによって第2暗号化データが生成される。なお、監視用プログラム13bが実行する暗号化及び復号化には、DES(Data Encryption Standard)やFEAL(Fast data Encipherment ALgorithm)などの秘密鍵暗号のアルゴリズム(algorithm)を任意に採用できる。
【0037】
復号プログラム13cは、第2暗号化データを復号化するプログラムファイルである。かかる復号プログラム13cは、後述の第2の生成部18cによって第2暗号化データに付加される。これによって、復号時にユーザが実行操作を行うだけで自動的に第1暗号化データまで復号化できるようになる。なお、復号プログラム13cが実行する復号化には、DESやFEALなどの秘密鍵暗号のアルゴリズムの他、公開鍵暗号のアルゴリムを任意に採用することができる。
【0038】
持出しログ情報13dは、クライアント端末10から持ち出されたデータのログを表す情報である。かかる持出しログ情報13dは、後述の多重暗号化アプリ実行部18によって実行形式暗号化データが生成された場合に後述の持出し監視アプリ実行部17によって採取された後に登録される。また、持出しログ情報13dは、後述のログ送信部18dによって管理サーバ30へアップロード(upload)される。
【0039】
制御部14は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路またはASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路である。
【0040】
制御部14は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部14は、図2に示すように、OS実行部15と、アプリ実行部16と、持出し監視アプリ実行部17と、多重暗号化アプリ実行部18とを有する。
【0041】
このうち、OS実行部15は、コンピュータシステム(computer system)全体を管理する基本ソフトウェアであるOS(Operating System)の実行を制御する処理部である。一例としては、OS実行部15は、ファイルを管理するファイル管理ツールを有し、データの削除、参照、移動、複製などのデータ操作を実行する。これらのデータ操作のうち、持出しに関連するデータの複製操作は、後述の持出し監視アプリ実行部17によって監視される。例えば、図示しない可搬用の物理媒体をコピー先とするデータの複製操作などが後述の持出し監視アプリ実行部17によってフックされる。
【0042】
アプリ実行部16は、アプリケーションプログラムの実行を制御する処理部である。かかるアプリの一例としては、ワープロソフト、表計算ソフト、作図ソフトやメールソフトなどの各種ソフトが挙げられる。アプリ実行部16は、入力部11を介して参照、更新、改名保存、印刷、ハードコピーなどのデータ操作を受け付けた場合に、データ操作に対応するAPIをOS実行部15へ出力する。ここで言う「改名保存」とは、ファイル名を変更した上で別のファイルとして保存することを指す。また、「ハードコピー(hard copy)」とは、図示しない表示部に表示されている画面をコピー、言い換えればキャプチャ(capture)することを指す。これらのデータ操作のうち、持出しに関連するデータ操作は、後述の持出し監視アプリ実行部17によって監視される。例えば、図示しない可搬用の物理媒体を保存先とする改名保存、メールにファイルを添付する添付操作やハードコピーなどのAPIが後述の持出し監視アプリ実行部17によってフックされる。
【0043】
持出し監視アプリ実行部17は、持出し監視アプリの実行を制御する処理部である。一例としては、持出し監視アプリ実行部17は、OS実行部15によって受け付けられたデータ操作およびアプリ実行部17からOS実行部15へ出力されたAPIをフックすることによってデータの持出し操作を監視する。例えば、持出し監視アプリ実行部17は、可搬用の物理媒体をコピー先とするデータの複製操作をOS実行部15からフックする。また、持出し監視アプリ実行部17は、可搬用の物理媒体を保存先とする改名保存、メールにファイルを添付する添付操作やハードコピーなどのAPIなどをアプリ実行部16からフックする。他の一例としては、持出し監視アプリ実行部17は、多重暗号化アプリ実行部18によって後述の実行形式暗号化データが生成された場合に、持ち出されたデータのファイル名、持出し日時、対応するアプリの種類などを含む持出しログを生成する。そして、持出し監視アプリ実行部17は、先のように生成した持出しログを記憶部13に登録する。
【0044】
多重暗号化アプリ実行部18は、多重暗号化アプリの実行を制御する処理部である。この多重暗号化アプリ実行部18は、図2に示すように、第1の生成部18aと、付加部18bと、第2の生成部18cと、ログ送信部18dとをさらに有する。
【0045】
このうち、第1の生成部18aは、記憶部13に記憶された監視用プログラム13bを用いて、所定のデータを暗号化することによって第1暗号化データを生成する処理部である。一例としては、第1の生成部18aは、持出し監視アプリ実行部17によってデータの持出し操作が検出された場合に、持出し後のデータに対するアクセス権および利用者認証情報の設定を受け付ける。かかるアクセス権の設定の一例としては、データの参照、更新、印刷、複製、ハードコピー及び/又は改名保存の許可または不許可が設定される。また、利用者認証情報の一例としては、パスワード(password)を始め、生体情報などを設定することができる。その後、第1の生成部18aは、記憶部13に記憶されたデータ13aのうちデータ操作に対応するデータを暗号鍵k1を用いて暗号化する。これによって、平文のデータから第1暗号化データが生成される。
【0046】
付加部18bは、第1の生成部18aによって生成された第1暗号化データに記憶部13に記憶された監視用プログラム13bを付加する処理部である。一例としては、付加部18bは、ユーザによって設定された持出し後のデータに対するアクセス権および利用者認証情報を監視用プログラムへ埋め込んだ上でその監視用プログラムを第1暗号化データに付加する。このように、利用者認証情報を監視用プログラムに埋め込むことによって、第1暗号化データが復号化されるに際して、監視用プログラムに利用者認証を実行させることができるので、第三者によってデータが参照される可能性を低減できる。さらに、アクセス権を監視用プログラムに埋め込むことによって、第1暗号化データが復号化されて平文のデータが参照された場合に、ユーザによって設定されたアクセス権にしたがってデータに対するアクセスを監視用プログラムに制御させることができる。
【0047】
第2の生成部18cは、付加部18bによって監視用プログラムが付加された第1暗号化データに監視用プログラムによる暗号化とは異なる他の暗号化を実行することによって第2の暗号化データを生成する処理部である。ここで、第1暗号化データを生成する場合と第2暗号化データを生成する場合とで同じ暗号化を行ったのでは、いずれかのアルゴリズムが漏えい又は解析された場合に第三者によって平文のデータが入手されてしまう可能性もある。よって、第2の生成部18cは、監視用プログラムによって採用されるアルゴリズムとは異なる方式の暗号化を行うか、あるいは同じ方式の暗号化であっても異なる暗号鍵を用いて暗号化を行うのが好ましい。なお、ここでは、同一の暗号方式で異なる暗号鍵k2を用いて、監視用プログラムが付加された第1暗号化データを暗号化する場合を想定する。
【0048】
また、第2の生成部18cは、暗号化によって生成した第2暗号化データに記憶部13に記憶された復号プログラム13cを付加することによって実行形式暗号化データを生成する。このように実行可能形式の第2暗号化データを生成することによって、復号時にユーザが実行操作を行うだけで自動的に第1暗号化データまで復号化できるようになる。なお、ここでは、第2暗号化データに復号プログラムを付加する場合を例示したが、開示の装置はこれに限定されない。例えば、第2暗号化データをそのまま持ち出させ、持出し先の装置にインストールされている復号ソフトによって第2暗号化データを復号化させることとしてもかまわない。
【0049】
ここで、図3を用いて、実行形式暗号化データの生成方法を説明する。図3は、実行形式暗号化データの生成方法を説明するための図である。図3に示すように、第1の生成部18aは、持出し操作がなされたデータを暗号化することによって第1暗号化データを生成する(ステップS21)。そして、付加部18bは、ユーザによって設定された持出し後のデータに対するアクセス権および利用者認証情報を監視用プログラムへ埋め込んだ上でその監視用プログラムを第1暗号化データに付加する(ステップS22)。続いて、第2の生成部18cは、監視用プログラムが付加された第1暗号化データに監視用プログラムによる暗号化とは異なる暗号化を実行することによって第2の暗号化データを生成する(ステップS23)。そして、第2の生成部18cは、暗号化によって生成した第2暗号化データに記憶部13に記憶された復号プログラム13cを付加することによって実行形式暗号化データを生成する(ステップS24)。このように実行形式暗号化データが生成されてから持出しが許可される。その後、OS実行部15やアプリ実行部16によって可搬用の物理媒体へ実行形式暗号化データが複製、改名保存あるいはハードコピーされたり、メールに実行形式暗号化データが添付されて送信されたりする。
【0050】
ログ送信部18dは、記憶部13に記憶された持出しログ情報13dを管理サーバ30へ送信する処理部である。このログ送信部18dは、持出しログ情報13dを任意のタイミングで管理サーバ30へ送信できる。一例としては、ログ送信部18dは、持出し監視アプリ実行部17によって持出しログ情報が生成される度にその持出しログ情報をリアルタイム送信することができる。他の一例としては、ログ送信部18dは、クライアント端末10が起動されたことやネットワークに接続されたことを契機に記憶部13に記憶されていた持出しログ情報13dを送信することもできる。
【0051】
[外部端末の構成]
次に、本実施例に係る外部端末の構成について説明する。図4は、実施例1に係る外部端末の構成を示すブロック図である。図4に示すように、外部端末70は、入力部71と、通信I/F部72と、記憶部73と、制御部74とを有する。なお、外部端末70は、図4に示した機能部以外にも既知のコンピュータが有する各種の機能部、例えば表示部などの表示デバイス、音声入力部や音声出力部などの音声デバイス等を有するものとする。
【0052】
このうち、入力部71は、各種の情報、例えば後述のOS実行部75やアプリ実行部76に対する指示入力を受け付ける入力デバイスである。かかる入力部71の一例としては、英字、かな、数字や記号などのキーを始め、シフトキーやコントロールキーなどの補助キーが整列されたキーボード(keyboard)が挙げられる。他の一例としては、ポインティングデバイス(pointing device)の一態様であるマウス(mouse)が挙げられる。
【0053】
通信I/F部72は、他の装置、例えばクライアント端末10や管理サーバ30との間で通信を行うためのインタフェース(interface)である。
【0054】
記憶部73は、例えば、RAM、ROMやフラッシュメモリなどの半導体メモリ素子などの記憶装置である。なお、記憶部73は、上記の種類の記憶装置に限定されるものではなく、ハードディスク、光ディスクなどの記憶装置であってもかまわない。
【0055】
記憶部73は、制御部74で実行されるOSや汎用アプリ、例えばワープロソフト、表計算ソフト、作図ソフトやメールソフトなどの各種プログラムを記憶する。さらに、記憶部73は、制御部74で実行されるプログラムの実行に必要なデータなどを記憶する。一例として、記憶部73は、実行形式暗号化データ73aと、作業データ73bとを併せて記憶する。
【0056】
実行形式暗号化データ73aは、多重暗号化アプリによって多重に暗号化された持出しデータである。かかる実行形式暗号化データ73aは、可搬用の物理媒体から読み出すことによって持ち込まれたり、また、メールから添付ファイルを取り込むことによって持ち込まれたりする。
【0057】
作業データ73bは、第2暗号化データの復号化、第1暗号化データの復号化および持出しデータの平文に対する処理などの作業に伴って発生するデータである。かかる作業データ73bが記憶されるメモリ領域は、第1暗号化データ、監視用プログラム、持出しデータの平文、アプリによって作業中に生成された中間ファイルなどが展開されている限りは、後述の監視用プログラム実行部78によって参照が禁止される。
【0058】
制御部74は、例えば、CPUやMPUなどの電子回路またはASICやFPGAなどの集積回路である。制御部74は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部74は、図2に示すように、OS実行部75と、アプリ実行部76と、復号プログラム実行部77と、監視用プログラム実行部78とを有する。
【0059】
OS実行部75は、コンピュータシステム全体を管理する基本ソフトウェアであるOSの実行を制御する処理部である。一例としては、OS実行部75は、ファイルを管理するファイル管理ツールを有し、データの削除、参照、移動、複製などのデータ操作を実行する。このとき、OS実行部75は、記憶部73に記憶された実行形式暗号化データ73aの実行操作を受け付けた場合に、実行形式暗号化データ73aから復号プログラムを抽出した上でその復号プログラムを起動させる。これによって、復号プログラム実行部77が立ち上がる。その後、復号プログラム実行部77によって後述の監視用プログラム実行部78が起動されると、OS実行部75は、監視用プログラム実行部78によって記憶部13に対するデータの参照または更新がフックされる。これによって、OS実行部75のデータ参照機能は、監視用プログラム実行部78が終了されるまで、監視用プログラム実行部78に乗っ取られる。
【0060】
アプリ実行部76は、アプリケーションプログラムの実行を制御する処理部である。かかるアプリの一例としては、ワープロソフト、表計算ソフト、作図ソフトやメールソフトなどの各種ソフトが挙げられる。一例としては、監視用プログラム実行部78によって第1暗号化データから持出しデータの平文が復号化された場合に、持出しデータに対応するアプリケーションプログラムが後述のアクセス権監視部78bによって起動される。これによってアプリ実行部76が立ち上がる。その後、アプリ実行部76は、記憶部73に対するデータの参照または更新がフックされる。これによって、アプリ実行部76のデータ参照機能は、監視用プログラム実行部78が終了されるまで、監視用プログラム実行部78に乗っ取られる。なお、アプリ実行部76が、監視用プログラム実行部78によって第1暗号化データから持出しデータの平文が復号化される前に起動していたとしても、監視用プログラム実行部78の起動後にはアプリ実行部76のデータ参照機能が乗っ取られる。
【0061】
復号プログラム実行部77は、復号プログラムの実行を制御する処理部である。これを説明すると、復号プログラム実行部77は、記憶部73に記憶された実行形式暗号化データ73aの実行操作を受け付けた場合に、OS実行部75によって起動される。そして、復号プログラム実行部77は、記憶部73に記憶された実行形式暗号化データ73aから得られる第2暗号化データを暗号鍵k2を用いて記憶部13内の所定の領域へ復号化する。このようにして復号化された第2暗号化データの復号化データは、作業データ73bとして記憶部73内に保持される。続いて、復号プログラム実行部77は、第2暗号化データの復号化データから監視用プログラムを抽出した上でその監視用プログラムを起動させ、そのまま復号プログラムを終了する。これによって、監視用プログラム実行部78が立ち上がる。このように、復号プログラム実行部77は、第2の暗号化データが復号化されることを契機に監視用プログラムを直ちに起動させる。このため、監視用プログラムが平文のままユーザに晒される時間を最小化できる。
【0062】
監視用プログラム実行部78は、監視用プログラムの実行を制御する処理部である。これを説明すると、監視用プログラム実行部78は、第2暗号化データが復号された場合に、復号プログラム実行部77によって起動される。そして、監視用プログラム実行部78は、記憶部73に対するOS実行部75及びアプリ実行部76の参照または更新をフックする。これによって、監視用プログラム実行部78は、OS実行部75及びアプリ実行部76のデータ参照機能を乗っ取り、作業データ73bが記憶されているメモリ領域へのアクセスを遮断する。
【0063】
かかる監視用プログラム実行部78は、上記のデータ参照機能の乗っ取り以外にも、図4に示した各機能部に対応する機能を有する。監視用プログラム実行部78は、図4に示すように、復号化部78aと、アクセス権監視部78bと、ログ送信部78cと、データ更新部78dとを有する。
【0064】
このうち、復号化部78aは、復号プログラム実行部77によって第2暗号化データから復号化された第1暗号化データを復号化する処理部である。一例としては、復号化部78aは、第1暗号化データを暗号鍵k1を用いて記憶部73内の所定の領域へ復号化する。このようにして復号化された持出しデータの平文は、作業データ73bとして記憶部73内に保持される。
【0065】
ここで、図5を用いて、実行形式暗号化データの復号化方法を説明する。図5は、実行形式暗号化データの復号化方法を説明するための図である。図5に示すように、OS実行部75は、実行形式暗号化データ73aから復号プログラムを抽出した上で復号プログラムを起動させる(ステップS61)。これによって、復号プログラム実行部77が立ち上がる。そして、復号プログラム実行部77は、記憶部73に記憶された実行形式暗号化データ73aから得られる第2暗号化データを暗号鍵k2を用いて復号化する(ステップS62)。続いて、復号プログラム実行部77は、第2暗号化データの復号化データから監視用プログラムを抽出した上でその監視用プログラムを起動させる(ステップS63)。これによって、監視用プログラム実行部78が立ち上げる。その後、復号化部78aは、第1暗号化データを暗号鍵k1を用いて復号化する(ステップS64)。これによって、持出しデータの平文が得られる。
【0066】
アクセス権監視部78bは、持出しデータの平文に対するアクセス権を監視する処理部である。これを説明すると、アクセス権監視部78bは、復号化部78aによって持出しデータが復号化された場合に、ユーザから利用者認証情報の入力を受付け、暗号化時に予め監視用プログラムに埋め込まれていた利用者認証情報と比較することにより利用者認証を行う。このとき、アクセス権監視部78bは、利用者認証に成功することを条件に持出しデータに対応するアプリを起動させる。これによって、アプリ実行部76が立ち上がる。なお、上記の利用者認証時に所定の回数にわたって誤ったパスワードが入力された場合には、作業データ73bのみならず、記憶部73に記憶された実行形式暗号化データ73aを併せて削除することとしてもよい。また、実行形式暗号化データ73aが生成されてから所定の期間が経過した場合にも、作業データ73b及び実行形式暗号化データ73aを削除することとしてもかまわない。
【0067】
なお、OS実行部75により、復号プログラムが実行された後(図5のS61)、ユーザからの利用者認証情報の入力を受付け、利用者認証に成功した場合に、S62を実行するとしてもよい。この場合は、データの暗号化を行うクライアント端末10の第2の生成部18cが、利用者認証情報設定を復号プログラムに埋め込む。そして、第2の生成部18cは、実行形式暗号化データを生成する。なお、アクセス権の設定は、第1の生成部18aが行う。
【0068】
また、第1暗号化データを暗号鍵k1を用いて復号化するまえに、アクセス権監視部78bは、利用者認証を行っても良い。そして、利用者認証が成功した場合に、復号化部78aは、第1暗号化データを暗号鍵k1を用いて復号化し、持出しデータの平文を得るとしても良い。利用者認証が成功した場合に復号化するほうが、情報に対するセキュリティが強化され、より情報漏えいを防止することができる。
【0069】
その後、アクセス権監視部78bは、アプリ実行部76からOS実行部75へ出力されるAPIをフックして監視する。このとき、アクセス権監視部78bは、アプリ実行部76からフックしたAPIに対応する命令がアプリの終了命令でない場合には、そのAPIに対応するデータ操作にアクセス権が設定されているか否かを判定する。
【0070】
ここで、APIに対応するデータ操作にアクセス権が設定されていない場合には、アクセス権監視部78bは、データ操作の実行を禁止する。その上で、アクセス権監視部78bは、持出しデータのファイル名、アクセス日時やアクセス権のないデータ操作がなされた旨などを含むアクセスログを生成する。このようにして生成されたアクセスログは、後述のログ送信部78cによって管理サーバ30にアップロードされる。
【0071】
一方、APIに対応するデータ操作にアクセス権が設定されている場合には、アクセス権監視部78bは、今回なされたデータ操作が「改名保存」であるか否かをさらに判定する。このとき、今回なされたデータ操作が「改名保存」である場合には、後述のデータ更新部78dによって実行中の持出しデータから新たな実行形式暗号化データが生成される。そして、アクセス権監視部78bは、改名前のファイル名、改名後のファイル名や保存日時などを含むアクセスログを生成する。また、今回なされたデータ操作が「改名保存」ではない場合には、アクセス権監視部78bは、今回なされたデータ操作の実行を許可する。そして、アクセス権監視部78bは、データ操作の種別や操作日時などを含むアクセスログを生成する。
【0072】
このようにして、アクセス権監視部78bは、データの参照、更新、印刷、ハードピー及び改名保存のうち、暗号化時に予めアクセス権が設定されているデータ操作だけを許可してアプリ実行部76に実行させる。なお、ここでは、実行されたデータ操作にアクセス権が設定されている場合、さらには、アクセス権が設定されていない場合にも、アクセスログを生成する場合を例示したが、開示の装置はこれに限定されない。例えば、アクセス権監視部78bは、実行されたデータ操作にアクセス権が設定されていなかった場合にだけアクセスログを生成することもできる。
【0073】
ログ送信部78cは、アクセス権監視部78bによって生成されたアクセスログを管理サーバ30へ送信する処理部である。このログ送信部78cは、アクセスログを任意のタイミングで管理サーバ30へ送信できる。一例としては、ログ送信部78cは、アクセス権監視部78bによってアクセスログが生成される度にそのアクセスログをリアルタイム送信することができる。他の一例としては、ログ送信部17cは、外部端末70が起動されたことやネットワーク5に接続されたことを契機に記憶部13に記憶されていたアクセスログを送信することもできる。
【0074】
このようにアクセスログを管理サーバ30へ送信することによって、ユーザによって持ち出されたデータの移動経路を追跡することが可能になる。なお、アクセスログを一定期間にわたって蓄積してから送信する場合には、アプリを終了する際に後述のデータ更新部78dによってアクセスログを監視用プログラムに埋め込ませて実行形式暗号化データ73aを上書きさせればよい。
【0075】
データ更新部78dは、記憶部73に記憶された実行形式暗号化データ73aを更新する処理部である。一例としては、データ更新部78dは、アプリ実行部76によって実行されている持出しデータが更新されていない場合、すなわち持出しデータの参照だけがなされた場合には、次のような処理を行う。すなわち、データ更新部78dは、記憶部73に記憶されている作業データ73b、すなわち持出しデータ及び第1暗号化データを削除する。また、データ更新部78dは、アプリ実行部76によって実行されている持出しデータが更新されている場合には、実行中の持出しデータから新たな実行形式暗号化データを生成する。そして、データ更新部78dは、記憶部73に記憶された実行形式暗号化データ73aに今回生成した新たな実行形式暗号化データを上書き更新する。
【0076】
データ更新部78dは、持出しデータの平文が複製される場合に、持出しデータの平文から実行形式暗号化データを生成する。一例としては、データ更新部78dは、アプリ実行部76からフックしたAPIに対応するデータ操作が「改名保存」である場合には、アプリ実行部76によって実行されている持出しデータから実行形式暗号化データを生成する。なお、データ更新部78dは、持出しデータの平文に対してクライアント端末10における多重暗号化アプリ実行部18と同様の処理を実行する。
【0077】
このように、アプリ実行部76によるアプリの実行が終了した場合には、監視用プログラム実行部78は、OS実行部75及びアプリ実行部76のデータ参照機能の乗っ取りを解除し、監視プログラムを終了する。
【0078】
[処理の流れ]
次に、本実施例に係るクライアント端末及び外部端末における処理の流れについて説明する。なお、ここでは、まず、クライアント端末10によって実行される(1)暗号化処理を説明する。次に、外部端末70のOS実行部75、復号プログラム実行部77、監視用プログラム実行部78及びアプリ実行部76によって実行される(2)制御シーケンスを説明する。続いて、外部端末70の監視用プログラム実行部78及びアプリ実行部76によって実行される(3)データ更新処理を説明する。
【0079】
(1)暗号化処理
図6は、実施例1に係る暗号化処理の手順を示すフローチャートである。この暗号化処理は、持出し監視アプリ実行部17によってデータの持出し操作が検出された場合に、処理が起動する。
【0080】
図6に示すように、データの持出し操作が検出された場合(ステップS101肯定)に、第1の生成部18aは、持出し後のデータに対するアクセス権および利用者認証情報の設定を受け付ける(ステップS102)。続いて、第1の生成部18aは、記憶部13に記憶されたデータ13aのうちデータ操作に対応するデータを暗号化することによって平文のデータから第1暗号化データを生成する(ステップS103)。
【0081】
そして、付加部18bは、ユーザによって設定された持出し後のデータに対するアクセス権および利用者認証情報を監視用プログラムへ埋め込んだ上でその監視用プログラムを第1暗号化データに付加する(ステップS104)。
【0082】
続いて、第2の生成部18cは、付加部18bによって監視用プログラムが付加された第1暗号化データに監視用プログラムによる暗号化とは異なる他の暗号化を実行することによって第2の暗号化データを生成する(ステップS105)。その後、第2の生成部18cは、暗号化によって生成した第2暗号化データに記憶部13に記憶された復号プログラム13cを付加し(ステップS106)、処理を終了する。このようにして持出し対象とするデータから実行形式暗号化データが生成される。
【0083】
(2)制御シーケンス
図7は、図4に示したOS実行部、復号プログラム実行部、監視用プログラム実行部及びアプリ実行部間の制御シーケンスを示す図である。この制御シーケンスは、記憶部73に記憶された実行形式暗号化データ73aの実行操作を受け付けた場合に、処理が起動する。
【0084】
図7に示すように、実行形式暗号化データ73aの実行操作を受け付けると(ステップS301)、OS実行部75は、実行形式暗号化データ73aから復号プログラムを抽出し(ステップS302)、抽出した復号プログラムを起動させる(ステップS303)。
【0085】
そして、復号プログラム実行部77は、記憶部73に記憶された実行形式暗号化データ73aから得られる第2暗号化データを暗号鍵k2を用いて復号化する(ステップS304)。続いて、復号プログラム実行部77は、第2暗号化データの復号化データから監視用プログラムを抽出し(ステップS305)、抽出した監視用プログラムを起動させ(ステップS306)、そのまま復号プログラムを終了する。
【0086】
その後、監視用プログラム実行部78は、OS実行部75のデータ参照機能の乗っ取りを開始する(ステップS307)。続いて、アクセス権監視部78bは、ユーザから利用者認証情報の入力を受付け、暗号化時に予め監視用プログラムに埋め込まれていた利用者認証情報と比較することにより利用者認証を行う(ステップS308)。
【0087】
このとき、アクセス権監視部78bによる利用者認証に成功することを条件に、復号化部78aは、復号プログラム実行部77によって第2暗号化データから復号化された第1暗号化データを復号化する(ステップS309)。その後、アクセス権監視部78bは、復号化部78aによって第1暗号化データから復号化された持出しデータに対応するアプリを起動させる(ステップS310)。
【0088】
そして、監視用プログラム実行部78及びアプリ実行部76は、記憶部73に記憶された実行形式暗号化データ73aを更新する「データ更新処理」を実行する(ステップS311)。その後、アプリが終了されてデータ更新処理が終了すると、監視用プログラム実行部78は、OS実行部75のデータ参照機能の乗っ取りを解除し(ステップS312)、監視プログラムを終了する。
【0089】
(3)データ更新処理
図8及び図9は、実施例1に係るデータ更新処理の手順を示すフローチャートである。この処理は、上記のステップS311に対応する処理であり、アクセス権監視部78bによって持出しデータに対応するアプリが起動された場合に開始される。
【0090】
図8に示すように、アクセス権監視部78bは、アプリ実行部76からOS実行部75へ出力されるAPIをフックして監視する(ステップS501)。このとき、アクセス権監視部78bは、アプリ実行部76からフックしたAPIに対応する命令がアプリの終了命令でない場合(ステップS502否定)には、そのAPIに対応するデータ操作にアクセス権が設定されているか否かを判定する(ステップS503)。
【0091】
ここで、APIに対応するデータ操作にアクセス権が設定されていない場合(ステップS503否定)には、アクセス権監視部78bは、データ操作の実行を禁止する(ステップS504)。その上で、アクセス権監視部78bは、持出しデータのファイル名、アクセス日時やアクセス権のないデータ操作がなされた旨などを含むアクセスログを生成する(ステップS505)。続いて、ログ送信部78cは、アクセス権監視部78bによって生成されたアクセスログを管理サーバ30へ送信し(ステップS506)、ステップS501の処理に戻る。
【0092】
一方、APIに対応するデータ操作にアクセス権が設定されている場合(ステップS503肯定)には、アクセス権監視部78bは、今回なされたデータ操作が「改名保存」であるか否かをさらに判定する(ステップS507)。
【0093】
このとき、今回なされたデータ操作が「改名保存」である場合(ステップS507肯定)には、データ更新部78dは、実行中の持出しデータから新たな実行形式暗号化データを生成する(ステップS508)。そして、アクセス権監視部78bは、改名前のファイル名、改名後のファイル名や保存日時などを含むアクセスログを生成する(ステップS509)。その後、ログ送信部78cは、アクセス権監視部78bによって生成されたアクセスログを管理サーバ30へ送信し(ステップS510)、ステップS501の処理に戻る。
【0094】
また、今回なされたデータ操作が「改名保存」ではない場合(ステップS507否定)には、アクセス権監視部78bは、今回なされたデータ操作の実行を許可する(ステップS511)。そして、アクセス権監視部78bは、データ操作の種別や操作日時などを含むアクセスログを生成する(ステップS509)。その後、ログ送信部78cは、アクセス権監視部78bによって生成されたアクセスログを管理サーバ30へ送信し(ステップS510)、ステップS501の処理に戻る。
【0095】
また、アプリ実行部76からフックしたAPIに対応する命令がアプリの終了命令である場合(ステップS502肯定)に、データ更新部78dは、アプリ実行部76によって実行されている持出しデータが更新されているか否かを判定する(ステップS512)。
【0096】
このとき、アプリ実行部76によって実行されている持出しデータが更新されていない場合(ステップS512否定)には、データ更新部78dは、次のような処理を実行する。すなわち、データ更新部78dは、記憶部73に記憶されている作業データ73b、すなわち持出しデータ及び第1暗号化データを削除し(ステップS513)、処理を終了する。
【0097】
一方、アプリ実行部76によって実行されている持出しデータが更新されている場合(ステップS512肯定)には、データ更新部78dは、実行中の持出しデータから新たな実行形式暗号化データを生成する(ステップS514)。そして、データ更新部78dは、記憶部73に記憶された実行形式暗号化データ73aに今回生成した新たな実行形式暗号化データを上書きし(ステップS515)、処理を終了する。
【0098】
[実施例1の効果]
上述してきたように、本実施例に係るクライアント端末10は、データの暗号化及び復号化とデータの監視を実行する監視用プログラムを用いて、データを暗号化した後にその暗号化データに監視用プログラムを付加してさらに別の暗号化を行う機能を有する。
【0099】
このため、本実施例に係るクライアント端末10では、第2暗号化データが復号化された場合には、元のデータは第1暗号化データとして暗号化されたままである一方で、監視用プログラムだけが先に復号化される。それゆえ、本実施例に係るクライアント端末10では、復号時に、先に復号された監視用プログラムがデータを監視できる状況下で第1暗号化データを復号できる。また、本実施例に係るクライアント端末10では、第2暗号化データが復号化されるまで監視用プログラムも暗号化されているので、監視用プログラムが平文のままユーザに晒されることもない。
【0100】
このように、本実施例に係るクライアント端末10では、監視用プログラムを監視対象とするデータと不可分とし、データの参照や更新が終了した場合には監視用プログラムによってデータを再び暗号化できる。したがって、本実施例に係るクライアント端末10によれば、監視用プログラムによってデータが定常的に暗号化された状態を保つことができ、情報漏えいを防止することが可能である。
【0101】
また、本実施例に係るクライアント端末10は、第2暗号化データが外部端末70で復号化されることを契機に起動する監視用プログラムを付加する。このため、本実施例に係るクライアント端末10では、第2の暗号化データが復号化されると直ちに監視用プログラムを起動できる。よって、本実施例に係るクライアント端末10によれば、監視用プログラムが平文のままユーザに晒される時間を最小化できる。
【0102】
さらに、本実施例に係るクライアント端末10は、外部端末70で動作されるOS及びアプリによって復号化後の監視用プログラムが動作するメモリ領域が参照されることを禁止する監視用プログラムを付加する。このため、本実施例に係るクライアント端末10では、第2暗号化データ、第1暗号化データ及び監視用プログラムが動作しているメモリ領域へのアクセスを遮断できる。よって、本実施例に係るクライアント端末10によれば、持出しデータが複製されたり、改名保存されたりするのを防止できる。
【0103】
また、本実施例に係るクライアント端末10は、データへの操作を監視するとともに、該操作を検知した場合に操作ログを生成する処理を実行する該監視用プログラムを付加する。このため、本実施例に係るクライアント端末10では、持出しデータに対する操作ログを持出し元の組織によって管理される装置に収集させることができる。よって、本実施例に係るクライアント端末10によれば、ユーザによって持ち出されたデータの移動経路を追跡できる。
【0104】
さらに、本実施例に係るクライアント端末10は、データを操作する権限を有する利用者を認証する認証情報を含む第1暗号化データを生成する。このため、本実施例に係るクライアント端末10では、持出しデータが持ち込まれた端末で持出しデータを操作する者がデータを操作する権限を有する者か否かを認証できる。よって、本実施例に係るクライアント端末10によれば、データを操作する権限を有する者だけにデータを操作させることができ、第三者によってデータが参照される可能性を低減できる。
【0105】
また、本実施例に係る外部端末70は、監視用プログラムを用いて暗号化された第1暗号化データに監視用プログラムが付加された上でさらに暗号化された第2暗号化データを復号化する。そして、本実施例に係る外部端末70は、第2暗号化データから復号化された監視用プログラムを用いて、第2暗号化データから復号化された第1暗号化データを復号化する。このため、本実施例に係る外部端末70では、監視用プログラムを監視対象とするデータと不可分とし、データの参照や更新が終了した場合には監視用プログラムによってデータを再び暗号化できる。したがって、本実施例に係る外部端末70によれば、監視用プログラムによってデータが定常的に暗号化された状態を保つことができ、情報漏えいを防止することが可能である。
【実施例2】
【0106】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【0107】
[分散と統合]
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、第1の生成部18a、付加部18b、第2の生成部18cまたはログ送信部18dをクライアント端末の外部装置としてネットワーク経由で接続するようにしてもよい。また、第1の生成部18a、付加部18b、第2の生成部18cまたはログ送信部18dを別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記のクライアント端末の機能を実現するようにしてもよい。例えば、復号プログラム実行部77、監視用プログラム実行部78、復号化部78a、アクセス権監視部78b、ログ送信部78c又はデータ更新部78dを外部端末の外部装置としてネットワーク経由で接続するようにしてもよい。また、復号プログラム実行部77、監視用プログラム実行部78、復号化部78a、アクセス権監視部78b、ログ送信部78c又はデータ更新部78dを別の装置がそれぞれ有するように構成する。その上で、ネットワーク接続されて協働することで、上記の外部端末の機能を実現するようにしてもよい。
【0108】
[データ監視プログラム]
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図10を用いて、上記の実施例と同様の機能を有するデータ監視プログラムを実行するコンピュータの一例について説明する。なお、ここでは、クライアント端末10と同様の機能を有する暗号化側のデータ監視プログラムを実行するコンピュータの例を説明するが、外部端末70と同様の機能を有する復号化側データ監視プログラムを実行する場合も同様である。
【0109】
図10は、実施例2に係るデータ監視プログラムを実行するコンピュータの一例について説明するための図である。図10に示すように、実施例2におけるコンピュータ100は、操作部110aと、マイク110bと、スピーカ110cと、ディスプレイ120と、通信部130とを有する。さらに、このコンピュータ100は、CPU150と、ROM160と、HDD(Hard Disk Drive)170と、RAM(Random Access Memory)180と有する。これら110〜180の各部はバス140を介して接続される。
【0110】
ROM160には、上記の実施例2で示した第1の生成部18aと、付加部18bと、第2の生成部18cと、ログ送信部18dと同様の機能を発揮する制御プログラムが予め記憶される。つまり、ROM160には、図10に示すように、第1の生成プログラム160aと、付加プログラム160bと、第2の生成プログラム160cと、ログ送信プログラム160dとが記憶される。これらのプログラム160a〜160dについては、図2に示したクライアント端末の各構成要素と同様、適宜統合又は分離しても良い。なお、RAM160に格納される各データは、常に全てのデータがRAM160に格納される必要はなく、処理に必要なデータのみがRAM160に格納されれば良い。
【0111】
そして、CPU150が、これらのプログラム160a〜160dをROM160から読み出して実行する。これによって、CPU150は、図10に示すように、各プログラム160a〜160dについては、第1の生成プロセス150a、付加プロセス150b、第2の生成プロセス150c及びログ送信プロセス150dとして機能するようになる。これらプロセス150a〜150dは、図2に示した第1の生成部18aと、付加部18bと、第2の生成部18cと、ログ送信部18dとにそれぞれ対応する。なお、CPU150上で仮想的に実現される各処理部は、常に全ての処理部がCPU150上で動作する必要はなく、処理に必要な処理部のみが仮想的に実現されれば良い。そして、CPU150は、RAM180に格納された情報を用いて、データ監視プログラムを実行する。
【0112】
なお、上記のデータ監視プログラムについては、必ずしも最初からHDD170やROM160に記憶させておく必要はない。例えば、コンピュータ100に挿入されるフレキシブルディスク、いわゆるFD、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させる。そして、コンピュータ100がこれらの可搬用の物理媒体から各プログラムを取得して実行するようにしてもよい。また、公衆回線、インターネット、LAN、WANなどを介してコンピュータ100に接続される他のコンピュータまたはサーバ装置などに各プログラムを記憶させておき、コンピュータ100がこれらから各プログラムを取得して実行するようにしてもよい。
【0113】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【0114】
(付記1)コンピュータに、
データの暗号化および復号化と該データの監視とを実行する監視用プログラムを用いて、該データを暗号化した第1の暗号化データを生成し、
前記第1の暗号化データに前記監視用プログラムを付加し、
前記監視用プログラムが付加された前記第1の暗号化データに前記暗号化とは異なる他の暗号化を実行することによって第2の暗号化データを生成する
処理を実行させることを特徴とするデータ監視プログラム。
【0115】
(付記2)前記監視用プログラムを付加する処理において、前記第2の暗号化データが前記コンピュータまたは他のコンピュータで復号化されることを契機に起動する監視用プログラムを付加する処理を実行させることを特徴とする付記1に記載のデータ監視プログラム。
【0116】
(付記3)前記監視用プログラムを付加する処理において、前記データへの操作を監視するとともに、該操作を検知した場合に操作ログを生成する処理を実行する該監視用プログラムを付加することを特徴とする付記1乃至付記2記載のデータ監視プログラム。
【0117】
(付記4)前記第1の暗号化データを生成する処理において、前記データを操作する権限を有する利用者を認証する認証情報を含む該第1の暗号化データを生成することを特徴とする付記1乃至付記3のいずれか一項に記載のデータ監視プログラム。
【0118】
(付記5)前記監視用プログラムを付加する処理において、前記コンピュータまたは前記他のコンピュータで動作される基本ソフトウェア及びアプリケーションによって復号化後の監視用プログラムが動作するメモリ領域が参照されることを禁止する監視用プログラムを付加する処理を実行させることを特徴とする付記1乃至付記4のいずれか一項に記載のデータ監視プログラム。
【0119】
(付記6)前記コンピュータに、
データの暗号化および復号化とデータの監視とを実行する監視用プログラムを用いて暗号化された第1の暗号化データに前記監視用プログラムが付加された上でさらに暗号化された第2の暗号化データを復号化し、
前記第2の暗号化データから復号化された監視用プログラムを用いて、前記第2の暗号化データから復号化された第1の暗号化データを復号化する
処理を実行させることを特徴とするデータ監視プログラム。
【0120】
(付記7)コンピュータが、
データの暗号化および復号化と該データの監視とを実行する監視用プログラムを用いて、該データを暗号化した第1の暗号化データを生成し、
前記第1の暗号化データに前記監視用プログラムを付加し、
前記監視用プログラムが付加された前記第1の暗号化データに前記暗号化とは異なる他の暗号化を実行することによって第2の暗号化データを生成する
処理を実行することを特徴とするデータ監視方法。
【0121】
(付記8)前記コンピュータが、
データの暗号化および復号化とデータの監視とを実行する監視用プログラムを用いて暗号化された第1の暗号化データに前記監視用プログラムが付加された上でさらに暗号化された第2の暗号化データを復号化し、
前記第2の暗号化データから復号化された監視用プログラムを用いて、前記第2の暗号化データから復号化された第1の暗号化データを復号化する
処理を実行することを特徴とするデータ監視方法。
【0122】
(付記9)データの暗号化および復号化と該データの監視とを実行する監視用プログラムを用いて、該データを暗号化した第1の暗号化データを生成する第1の生成部と、
前記第1の暗号化データに前記監視用プログラムを付加する付加部と、
前記監視用プログラムが付加された前記第1の暗号化データに前記暗号化とは異なる他の暗号化を実行することによって第2の暗号化データを生成する第2の生成部と
を有することを特徴とするデータ監視装置。
【0123】
(付記10)データの暗号化および復号化とデータの監視とを実行する監視用プログラムを用いて暗号化された第1の暗号化データに前記監視用プログラムが付加された上でさらに暗号化された第2の暗号化データを復号化する第1の復号化部と、
前記第2の暗号化データから復号化された監視用プログラムを用いて、前記第2の暗号化データから復号化された第1の暗号化データを復号化する第2の復号化部と
を有することを特徴とするデータ監視装置。
【符号の説明】
【0124】
1 情報漏えい対処システム
5 ネットワーク
10 クライアント端末
11 入力部
12 通信I/F部
13 記憶部
13a データ
13b 監視用プログラム
13c 復号プログラム
13d 持出しログ情報
14 制御部
15 OS実行部
16 アプリ実行部
17 持出し監視アプリ実行部
18 多重暗号化アプリ実行部
18a 第1の生成部
18b 付加部
18c 第2の生成部
18d ログ送信部
30 管理サーバ
50 コンソール
70 外部端末
71 入力部
72 通信I/F部
73 記憶部
73a 実行形式暗号化データ
73b 作業データ
74 制御部
75 OS実行部
76 アプリ実行部
77 復号プログラム実行部
78 監視用プログラム実行部
78a 復号化部
78b アクセス権監視部
78c ログ送信部
78d データ更新部

【特許請求の範囲】
【請求項1】
コンピュータに、
データの暗号化および復号化と該データの監視とを実行する監視用プログラムを用いて、該データを暗号化した第1の暗号化データを生成し、
前記第1の暗号化データに前記監視用プログラムを付加し、
前記監視用プログラムが付加された前記第1の暗号化データに前記暗号化とは異なる他の暗号化を実行することによって第2の暗号化データを生成する
処理を実行させることを特徴とするデータ監視プログラム。
【請求項2】
前記監視用プログラムを付加する処理において、前記第2の暗号化データが前記コンピュータまたは他のコンピュータで復号化されることを契機に起動する監視用プログラムを付加する処理を実行させることを特徴とする請求項1に記載のデータ監視プログラム。
【請求項3】
前記監視用プログラムを付加する処理において、前記データへの操作を監視するとともに、該操作を検知した場合に操作ログを生成する処理を実行する該監視用プログラムを付加することを特徴とする請求項1乃至請求項2記載のデータ監視プログラム。
【請求項4】
前記第1の暗号化データを生成する処理において、前記データを操作する権限を有する利用者を認証する認証情報を含む該第1の暗号化データを生成することを特徴とする請求項1乃至請求項3のいずれか一項に記載のデータ監視プログラム。
【請求項5】
コンピュータに、
データの暗号化および復号化とデータの監視とを実行する監視用プログラムを用いて暗号化された第1の暗号化データに前記監視用プログラムが付加された上でさらに暗号化された第2の暗号化データを復号化し、
前記第2の暗号化データから復号化された監視用プログラムを用いて、前記第2の暗号化データから復号化された第1の暗号化データを復号化する
処理を実行させることを特徴とするデータ監視プログラム。
【請求項6】
コンピュータが、
データの暗号化および復号化と該データの監視とを実行する監視用プログラムを用いて、該データを暗号化した第1の暗号化データを生成し、
前記第1の暗号化データに前記監視用プログラムを付加し、
前記監視用プログラムが付加された前記第1の暗号化データに前記暗号化とは異なる他の暗号化を実行することによって第2の暗号化データを生成する
処理を実行することを特徴とするデータ監視方法。
【請求項7】
データの暗号化および復号化と該データの監視とを実行する監視用プログラムを用いて、該データを暗号化した第1の暗号化データを生成する第1の生成部と、
前記第1の暗号化データに前記監視用プログラムを付加する付加部と、
前記監視用プログラムが付加された前記第1の暗号化データに前記暗号化とは異なる他の暗号化を実行することによって第2の暗号化データを生成する第2の生成部と
を有することを特徴とするデータ監視装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2012−83922(P2012−83922A)
【公開日】平成24年4月26日(2012.4.26)
【国際特許分類】
【出願番号】特願2010−229079(P2010−229079)
【出願日】平成22年10月8日(2010.10.8)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】