JP2004030099A - Equipment and method for preventing information leakage - Google Patents

Equipment and method for preventing information leakage Download PDF

Info

Publication number
JP2004030099A
JP2004030099A JP2002183878A JP2002183878A JP2004030099A JP 2004030099 A JP2004030099 A JP 2004030099A JP 2002183878 A JP2002183878 A JP 2002183878A JP 2002183878 A JP2002183878 A JP 2002183878A JP 2004030099 A JP2004030099 A JP 2004030099A
Authority
JP
Japan
Prior art keywords
key
capsule
application
application program
user
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
JP2002183878A
Other languages
Japanese (ja)
Other versions
JP4265156B2 (en
Inventor
Kazuya Miyazaki
宮崎 一哉
Harumitsu Nakajima
中嶋 春光
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2002183878A priority Critical patent/JP4265156B2/en
Publication of JP2004030099A publication Critical patent/JP2004030099A/en
Application granted granted Critical
Publication of JP4265156B2 publication Critical patent/JP4265156B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To prevent information leakage by allowing to change a key for reading an encoded file (application data) for every file or for every user to increase concealment and safety. <P>SOLUTION: A capsule generation means 1 generates a capsule 23 containing encoding application data 28 encoded application data 27 by means of a key 22 generated for every capsule 23 and an encoding key 29 encoded by means of the key 22 by means of the publication key 25 of a user. A capsule processing means 50 decodes the encoding key 29 by means of the secret key 26 of the user to form a second decoded key and decodes the encoding application data by means of the second decoded key to deliver the encoding application data to an application program 2. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
この発明は、パソコンなどの計算機上のアプリケーションで参照や編集など操作を施すデータの開示を暗号処理を用いて安全に制御し、不正に情報が漏洩してしまうことを防止する情報漏洩防止装置に関するものである。
【0002】
【従来の技術】
図8は例えば、特開平10−301856に示された従来の情報漏洩防止装置のブロック図であり、1001は外部記憶装置に入出力の要求を行うアプリケーション、1002はユーザIDとパスワードに基づきユーザを認証するユーザ認証手段、1003はアプリケーション1001からの入出力要求に対応してドライバ1004に指示して入出力処理を行うファイルシステム、1004はファイルの各種処理を行うドライバ、1005はファイルのオープン処理を行うオープン手段、1006はファイルの読み込み処理を行うリード手段、1007はファイルの書き出し処理を行うライト手段、1008はファイルのクローズ処理を行うクローズ手段、1009は外部記憶装置1010のファイルからデータを読み込んだり書き出したりするI/O手段、1010はデータを格納する外部記憶装置である。
【0003】
次に動作について説明する。
図9は図8に示す従来技術におけるデータの読み込み動作を示すフローチャートであり、S1001はアプリケーション1001がファイルシステム1003を通してドライバ1004に対して読み込み要求を行うステップ、S102はユーザ認証手段1002がユーザ認証を行うステップ、S1003はユーザ認証手段1002が認証結果を判定するステップ、S1004は外部記憶装置1010からデータを読み込むステップである。
【0004】
まず、アプリケーション1001はファイルシステム1003ドライバ1004に対して読み込み要求を行う(ステップS1001)。次にユーザ認証手段1002は、ユーザIDとパスワードにより読み込み要求を行ったユーザを認証する (ステップS1002)。次にドライバ1004はオープン手段1005により対象のファイルをオープンし、リード手段1006は対象のデータが暗号化されていた場合、そのユーザが対象のファイルにアクセス可能か否かを自身が持つ規則に従ってアクセスの可否を判定を行う (ステップS1003)。判定の結果アクセス可能であれば、リード手段1006は要求されたデータをI/O手段1009を通して外部記憶装置1010から読み出し、そのデータが暗号化されている場合、自身が持つ復号鍵を用いて復号した上でアプリケーション1001に返す(ステップS1004)。
【0005】
外部記憶装置1010にデータを書き出す場合、アプリケーション1001の書き出し要求に対応して、ライト手段1007は、自身の持つ暗号化鍵で対象データを暗号化した上で、I/O手段1009を通して外部記憶装置1010に書き出す。
【0006】
この従来の技術は、アプリケーションが暗号化されたファイル利用するときに、既存のアプリケーションには手を加えずに、一旦、ファイル中のすべてのデータを復号した作業ファイルを作成せずにアプリケーションで利用できるようにすること、およびデータを書き出す際にも必ず暗号化した上で外部記憶装置に書き出すによって、データの秘匿性を高めようとするものである。
【0007】
【発明が解決しようとする課題】
この従来の技術は、以上のように構成されているため、データを復号する鍵をシステムで固定的に保持する必要があるため、安全性に問題があった。
すなわち、ファイルごとあるいはユーザごとにデータを復号する鍵を変えることができず、1つの鍵の漏洩によりすべてのデータの復号が可能となってしまうという問題があった。
【0008】
また上記従来の技術は、ユーザの認証をデータの暗号化や復号の処理とは完全に独立して行うため、認証処理に失敗した場合や認証処理が改竄された場合に不正なユーザによるデータの復号が可能となってしまうという問題があった。
【0009】
この発明は上記のような問題点を解決するためになされたもので、暗号化されたファイル(アプリケーションデータ)を読み出すための鍵をファイル毎あるいはユーザ毎に変更可能とすることにより情報の漏洩を防止し、秘匿性、安全性を高めることを目的とする。
【0010】
【課題を解決するための手段】
この発明に係る情報漏洩防止装置は、特定の利用者のみに開示されるアプリケーションデータの漏洩を防止する情報漏洩防止装置であり、カプセル生成手段と、カプセル処理手段と、記憶手段とを備え、上記カプセル生成手段は、任意のデータを暗号化する第1の鍵と該第1の鍵で暗号化されたデータを復号する第2の鍵を生成し、上記第1の鍵で上記アプリケーションデータを暗号化した暗号化アプリケーションデータと、上記第2の鍵を上記利用者の公開鍵で暗号化した暗号化済第2鍵とを含むカプセルを生成し、上記カプセル処理手段は、上記カプセル生成手段が生成したカプセルを獲得し、該獲得したカプセルに含まれる暗号化アプリケーションデータを上記記憶手段に書き出し、上記利用者から上記利用者の公開鍵に対応する利用者の秘密鍵を獲得し、該獲得した利用者の秘密鍵で上記カプセルに含まれる暗号化済第2鍵を復号して復号済第2鍵とし、上記記憶手段から上記暗号化アプリケーションデータを読み出し、該読み出した暗号化アプリケーションデータを上記復号済第2鍵で復号し、上記記憶手段は上記カプセル処理手段により書き出された暗号化アプリケーションデータを記憶するようにしたものである。
【0011】
またこの発明に係る情報漏洩防止装置は、上記第1の鍵と第2の鍵は同一であって、共通鍵方式の鍵であるようにしたものである。
【0012】
またこの発明に係る情報漏洩防止装置は、上記カプセル生成手段が生成するカプセルは、上記アプリケーションデータを使用するアプリケーションプログラムを特定するアプリケーション情報をさらに含み、上記カプセル処理手段はさらに、上記獲得したカプセルから上記アプリケーション情報を獲得して該アプリケーション情報に対応するアプリケーションプログラムを起動し、該起動されたアプリケーションプログラムが当該カプセル処理手段の管理対象であるかを判定し、該起動されたアプリケーションプログラムが当該カプセル処理手段の管理対象であると判定した場合は、上記起動されたアプリケーションプログラムが出した読み出し要求に対応して上記記憶装置から読み出し復号した暗号化アプリケーションデータを上記起動されたアプリケーションプログラムに渡すようにしたものである。
【0013】
またこの発明に係る情報漏洩防止装置は、上記カプセル処理手段は、上記起動されたアプリケーションプログラムが当該カプセル処理手段の管理対象であるかを判定する際に、上記記憶手段に記憶された暗号化アプリケーションデータに対する上記起動されたアプリケーションプログラムによる読み出し要求を用いるようにしたものである。
【0014】
またこの発明に係る情報漏洩防止装置は、上記カプセル処理手段は、カプセル実行手段と、ドライバとを備え、上記カプセル実行手段は、上記カプセル生成手段が生成したカプセルを獲得し、該獲得したカプセルに含まれる暗号化アプリケーションデータを上記記憶手段に書き出すよう上記ドライバに指示し、上記利用者から上記利用者の秘密鍵を獲得し、該獲得した利用者の秘密鍵で上記カプセルに含まれる暗号化済第2鍵を復号して復号済第2鍵とし、上記カプセルからアプリケーション情報を獲得して該アプリケーション情報に対応するアプリケーションプログラムを起動し、上記ドライバは、上記起動されたアプリケーションプログラムが当該ドライバの管理対象であるかを判定し、上記起動されたアプリケーションプログラムが当該ドライバの管理対象であると判定した場合は、上記起動されたアプリケーションプログラムが出した読み出し要求に対応して上記記憶装置から上記暗号化アプリケーションデータを読み出し、該読み出した暗号化アプリケーションデータを上記カプセル実行手段が復号した復号済第2鍵で復号して上記アプリケーションプログラムに渡すようにしたものである。
【0015】
またこの発明に係る情報漏洩防止装置は、上記カプセル実行手段は、コンピュータが、上記カプセル生成手段が生成したカプセルを獲得し、該獲得したカプセルに含まれる暗号化アプリケーションデータを上記記憶手段に書き出すよう上記ドライバに指示し、上記利用者から上記利用者の秘密鍵を獲得し、該獲得した利用者の秘密鍵で上記カプセルに含まれる暗号化済第2鍵を復号して復号済第2鍵とし、上記カプセルからアプリケーション情報を獲得して該アプリケーション情報に対応するアプリケーションプログラムを起動するプログラムを実行することにより実現されるようにしたものである。
【0016】
またこの発明に係る情報漏洩防止装置は、上記ドライバは、コンピュータが、上記カプセル実行手段により起動されたアプリケーションプログラムが当該ドライバの管理対象であるかを判定し、上記起動されたアプリケーションプログラムが当該ドライバの管理対象であると判定した場合は、上記起動されたアプリケーションプログラムが出した読み出し要求に対応して上記記憶装置から上記暗号化アプリケーションデータを読み出し、該読み出した暗号化アプリケーションデータを上記カプセル実行手段が復号した復号済第2鍵で復号して上記アプリケーションプログラムに渡すプログラムを実行することにより実現されるようにしたものである。
【0017】
またこの発明に係る情報漏洩防止装置は、上記ドライバは、上記起動されたアプリケーションプログラムが当該ドライバの管理対象であるかを判定する際に、上記記憶手段に記憶された暗号化アプリケーションデータに対する上記起動されたアプリケーションプログラムによる読み出し要求を用いるようにしたものである。
【0018】
またこの発明に係る情報漏洩防止装置は、上記第1の鍵と第2の鍵は同一であって、共通鍵方式の鍵であるようにしたものである。
【0019】
またこの発明に係る情報漏洩防止装置は、上記ドライバは、上記カプセル実行手段から復号済第2鍵を獲得し、上記アプリケーションプログラムが上記読み出し要求に対応して受取り使用したアプリケーションデータの上記記憶手段への書き出し要求をした時は、該アプリケーションデータを上記復号済第2鍵で暗号化して上記記憶手段に書き出すようにしたものである。
【0020】
またこの発明に係る情報漏洩防止装置は、上記第1の鍵は上記カプセルの公開鍵であり、上記第2の鍵は該カプセルの公開鍵に対応する秘密鍵であるようにしたものである。
【0021】
またこの発明に係る情報漏洩防止装置は、上記カプセル生成手段が生成するカプセルはさらに上記第1の鍵を含み、上記カプセル実行手段は獲得したカプセルから上記第1の鍵を獲得し、上記ドライバは、上記カプセル実行手段から上記第1の鍵を獲得し、上記アプリケーションプログラムが上記読み出し要求に対応して受取り使用したアプリケーションデータの上記記憶手段への書き出し要求をした時は、該アプリケーションデータを上記第1の鍵で暗号化して上記記憶手段に書き出すようにしたものである。
【0022】
またこの発明に係る情報漏洩防止装置は、上記カプセル実行手段は、ドライバ監視手段と第1のアプリケーション制御手段を備え、上記ドライバ監視手段は、上記ドライバが動作していてかつ該ドライバが改竄されていないことを検証し、検証できなかった場合は、上記第1のアプリケーション制御手段に指示して上記アプリケーションプログラムを停止するようにしたものである。
【0023】
またこの発明に係る情報漏洩防止装置は、上記ドライバは、ドライバ監視手段監視手段と第2のアプリケーション制御手段を備え、上記ドライバ監視手段監視手段は、上記ドライバ監視手段が動作していてかつ該ドライバ監視手段が改竄されていないことを検証し、検証できなかった場合は、上記第2のアプリケーション制御手段に指示して上記アプリケーションプログラムを停止するようにしたものである。
【0024】
またこの発明に係る情報漏洩防止装置は、上記第1の鍵と第2の鍵はカプセル毎に生成されるようにしたものである。
【0025】
またこの発明に係る情報漏洩防止装置は、上記利用者の公開鍵と利用者の秘密鍵に代えて、任意のデータの暗号化および復号に適用可能な共通鍵方式の鍵である利用者鍵を用いるようにしたものである。
【0026】
またこの発明に係る情報漏洩防止方法は、カプセル生成手段と、カプセル処理手段と、記憶手段とを備え特定の利用者のみに開示されるアプリケーションデータの漏洩を防止する情報漏洩防止装置における情報漏洩防止方法であり、下記ステップを含むようにしたものである。
(1)カプセル生成手段が、任意のデータを暗号化する第1の鍵と該第1の鍵で暗号化されたデータを復号する第2の鍵を生成する鍵生成ステップ;
(2)カプセル生成手段が、上記第1の鍵で上記アプリケーションデータを暗号化した暗号化アプリケーションデータと、上記第2の鍵を上記利用者の公開鍵で暗号化した暗号化済第2鍵とを含むカプセルを生成するカプセル生成ステップ;
(3)カプセル処理手段が、上記カプセル生成ステップにおいてカプセル生成手段が生成したカプセルを獲得し、該獲得したカプセルに含まれる暗号化アプリケーションデータを上記記憶手段に書き出す暗号化アプリケーションデータ書き出しステップ;
(4)カプセル処理手段が、上記利用者から上記利用者の公開鍵に対応する利用者の秘密鍵を獲得し、該獲得した利用者の秘密鍵で上記カプセルに含まれる暗号化済第2鍵を復号して復号済第2鍵とする鍵復号ステップ;
(5)カプセル処理手段が、上記暗号化アプリケーションデータ書き出しステップで上記記憶手段に書き出した暗号化アプリケーションデータを記憶手段から読み出し該読み出した暗号化アプリケーションデータを上記復号済第2鍵で復号する暗号化アプリケーションデータ復号ステップ。
【0027】
またこの発明に係る情報漏洩防止方法は、上記カプセル生成ステップにおいて上記カプセル生成手段が生成するカプセルは、上記アプリケーションデータを使用するアプリケーションプログラムを特定するアプリケーション情報をさらに含み、上記カプセル処理手段はさらに、下記動作を行うようにしたものである。。
(6)上記獲得したカプセルから上記アプリケーション情報を獲得して該アプリケーション情報に対応するアプリケーションプログラムを起動するアプリケーションプログラム起動ステップ;
(7)上記アプリケーションプログラム起動ステップにおいて起動されたアプリケーションプログラムが、当該カプセル処理手段の管理対象であるかを判定するアプリケーションプログラム判定ステップ;
(8)上記アプリケーションプログラム判定ステップにおいて、上記起動されたアプリケーションプログラムが当該カプセル処理手段の管理対象であると判定した場合は、上記起動されたアプリケーションプログラムが出した読み出し要求に対応して上記記憶装置から読み出し復号した暗号化アプリケーションデータを上記起動されたアプリケーションプログラムに渡すアプリケーションデータ読み出しステップ。
【0028】
またこの発明に係る情報漏洩防止方法は、上記利用者の公開鍵と利用者の秘密鍵に代えて、任意のデータの暗号化および復号に適用可能な共通鍵方式の鍵である利用者鍵を用いるようにしたものである。
【0029】
【発明の実施の形態】
実施の形態1.
図1〜図4を用いて、この発明の実施の形態1について説明する。
図1はこの実施の形態における情報漏洩防止装置のブロック図、図2はカプセルの構成およカプセル生成サーバを含むシステムの構成を示す図、図3はカプセル実行時の動作を説明するフローチャート、図4は読み出し時の動作を説明するフローチャートである。
【0030】
図1において、1は図2で示すカプセルを処理するカプセル実行手段、2はアプリケーションデータを利用する既存のアプリケーションプログラム、3はアプリケーションプログラム2からの要求に対応して入出力手段9を利用して外部記憶装置10にデータの入出力を行うドライバ、4はアプリケーションプログラム2の要求に対応し、入出力手段9を利用して外部記憶装置10へデータを書き出す書き出し手段、5は鍵管理手段、6は鍵管理手段5の指示により鍵管理手段5から与えられた鍵を利用して書き出し手段4から与えられたデータを暗号化する暗号化手段、7は鍵管理手段5の指示により鍵管理手段5から与えられた鍵を利用して読み込み手段8から与えられたデータを復号する復号手段、8はアプリケーションプログラム2からの読み込み要求に対応し、入出力手段9を利用して外部記憶装置10からデータを読み込む読み込み手段、9はドライバ3からの要求に従って外部記憶装置10にデータを書き出したり読み込んだりする入出力手段、10はアプリケーションデータを格納するハードディスクドライブやフレキシブルディスクドライブなどの外部記憶装置である。50は上記カプセル実行手段1とドライバ3を含むカプセル処理手段である。
【0031】
図2はカプセルの構成およびカプセルを生成するカプセル生成サーバを含むシステムの構成を示す図である。
図において、21は鍵Ka22及びカプセル23を生成するカプセル生成サーバ、24はこのシステムの利用者であり、公開鍵対である公開鍵Kp25及び秘密鍵Kq26を保有する。この秘密鍵26は利用者毎にそれぞれ異なり、例えば図示しないICカードなどの解析や改竄のできないハードウェア内に格納されている。鍵Ka22はカプセル毎に生成される。
27はアプリケーション2が利用するアプリケーションデータ、28はこのアプリケーションデータが上記鍵Ka22で暗号化された暗号化アプリケーションデータ、29は上記鍵Ka22が上記利用者の公開鍵18で暗号化された暗号化済鍵Kac、30は上記アプリケーションデータ19を利用するアプリケーション2を起動するためのアプリケーション情報である。
【0032】
図2のカプセル生成サーバ21は、図1に示した情報漏洩防止装置を管理する管理者(図示せず)と同一のシステム管理者により管理されている。利用者24はこのシステム管理者に対して自分の公開鍵Kp25を提出して利用許諾を申請し、システム管理者はアプリケーションデータ27の閲覧を許可する利用者24に対してのみ、その公開鍵Kp25で鍵Ka22を暗号化してカプセル23を生成する。
このカプセル23は、利用者24とアプリケーションデータ27を指定することにより特定可能なように識別情報が付加されている。
【0033】
上記カプセル実行手段1およびドライバ3はCPUとワーキングメモリとしてのRAM等からなり、図示しない記憶手段に格納されたソフトウェアである情報漏洩防止プログラムに従って動作する。
上記外部記憶装置10がこの発明における記憶手段であり、カプセル生成サーバ21がこの発明におけるカプセル生成手段である。またここでは、鍵Ka22がこの発明における同一である第1の鍵と第2の鍵であり、第1の鍵と第2の鍵すなわち鍵Ka22は共通鍵方式の鍵である。
また暗号化鍵Kac29がこの発明における暗号化済第2鍵である。
さらに、カプセル生成サーバ21が鍵Ka22を生成する動作がこの発明における鍵生成ステップ、カプセル生成サーバ21がカプセル23を生成する動作がこの発明におけるカプセル生成ステップである。
【0034】
次に動作について説明する。
最初に、カプセル実行時の初期処理について、図3に示すフローチャートに基づいて説明する。
まず、利用者24が閲覧したいアプリケーションデータ27を含むカプセル23を指定すると、カプセル実行手段1が指定されたカプセル23から暗号化プリケーションデータ28、暗号化鍵Ka29、アプリケーション情報30を取り出す(ステップS1)。カプセル実行手段1がカプセル23を獲得する方法は任意であり、ネットワークを利用してもよいし、可搬型の記憶媒体を用いて、カプセル生成サーバ21からカプセル実行手段1に移動してもよい。
【0035】
次にカプセル実行手段1は利用者の秘密鍵Kq26を取得し、その秘密鍵Kq26により、暗号化済鍵Kac29を復号して鍵Ka22を得る(ステップS2)。
この秘密鍵Kq26は、前述の通り利用者毎にそれぞれ異なった鍵であり、ICカードなどの解析や改竄のできないハードウェア内に格納して配布されているので、アプリケーションデータの利用を許可する利用者の公開鍵Kq25で鍵Ka22を暗号化しておくことにより、暗号化済鍵Kac29を復号して鍵Ka22得ることのできる利用者を厳密に特定することができる。
上記復号された鍵Kac22がこの発明における復号済第2鍵であり、上記ステップ2がこの発明における鍵復号ステップである。
【0036】
次にカプセル実行手段1は、暗号化アプリケーションデータ28をそのまま外部記憶装置10に書き出すようにドライバ3に依頼する。ドライバ3は書き出し手段4により、暗号化アプリケーションデータ28を入出力手段9を通して外部記憶装置10に書き出す(ステップS3)。このとき、カプセル実行手段1は、ドライバ3を介して入出力手段9よりアプリケーションデータ28の参照先(外部記憶装置1上での格納場所に関する情報)を獲得する。
上記ステップ3がこの発明における暗号化アプリケーションデータ書き出しステップである。
【0037】
次にカプセル実行手段1は、アプリケーション情報30に基づき、アプリケーションプログラム2を起動し、アプリケーションプログラム2を識別するハンドラ(例えばプロセスID)を得る(ステップS4)。
このステップS4がこの発明におけるアプリケーションプログラム起動ステップである。
次にカプセル実行手段1は、ドライバ3の鍵管理手段5に、アプリケーションプログラム2のハンドラ、ステップS2で復号した鍵Ka22、暗号化アプリケーションデータ28の外部記憶装置10における参照先を渡し、鍵管理手段5はそれらを関連付けて保管する(ステップS5)。
次にカプセル実行手段1は、外部記憶装置10に置かれた暗号化アプリケーションデータ28の参照先をアプリケーション2に通知する(ステップS6)。
【0038】
以上の動作により、鍵管理手段5には
・アプリケーションプログラムのハンドラ
・復号された鍵Ka22
・暗号化アプリケーションデータの外部記憶装置10における参照先(この参照先をR1とする)
が渡され、鍵管理手段5はこれらの情報を関連付けて保管し、上記ハンドラにより識別されるアプリケーションプログラムを管理対象のアプリケーションプログラムと認識する。
また、アプリケーションプログラム2には
・暗号化アプリケーションデータの外部記憶装置10における参照先
が渡され、
外部記憶装置10には
・暗号化アプリケーションデータ28
が渡されたことになる。
以上の初期処理は、利用者とアプリケーションデータの少なくとも一方が変る毎に実行が必要である。
【0039】
次に、アプリケーションプログラム2によるアプリケーションデータ読み込み動作について、図4に示すフローチャートに基づいて説明する。
アプリケーションプログラム2が、外部記憶装置10からのアプリケーションデータの読み込み要求をドライバ3に発行する(ステップS7)。この読込み要求には、要求元のアプリケーションプログラムを特定する情報とアプリケーションデータの外部記憶装置10上での参照先を含む。
【0040】
次にドライバ3内の鍵管理手段5が、自己が関連付けて保管している情報に基づき、読み込み要求の要求元が管理対象のアプリケーションプログラムであるか否か、および読み込み対象のデータが管理対象のアプリケーションデータであるか否かを検証(判定)する(ステップS8)。
このステップ8がこの発明におけるアプリケーションプログラム判定ステップである。
このアプリケーションプログラムの検証は、読込み要求に含まれるアプリケーションプログラムを特定する情報により特定されるアプリケーションプログラムがが上記ハンドラで特定されるアプリケーションプログラムと一致するか否かで行い、アプリケーションデータの検証は、鍵管理手段5が保有する参照先R1が読込み要求に含まれる参照先と一致するか否かで検証する。
【0041】
双方とも管理対象であるか否かを判定し(ステップS9)、双方とも管理対象であった場合、鍵管理手段5は自己の管理する復号された鍵Ka22を読み込み手段8に与え、読み込み手段8は要求のあった暗号化アプリケーションデータ28を入出力手段9を利用して外部記憶装置10から取出し、その暗号化アプリケーションデータ28を復号された鍵Ka22によって復号して、アプリケーションプログラム2に返す(ステップS10)。
このステップ10がこの発明における暗号化アプリケーションデータ復号ステップおよびアプリケーションデータ読み出しステップである。
【0042】
次に、アプリケーションプログラム2によるアプリケーションデータ書き出し動作について説明する。
アプリケーション2がドライバ3にアプリケーションデータの書き出し要求を発行すると、鍵管理手段5が自己が関連付けて保管している情報に基づき、書き出し要求の要求元が管理対象のアプリケーションであるか否かを検証し、管理対象であった場合、鍵管理手段で管理する復号された鍵Ka22でアプリケーションデータを暗号化し、入出力手段9を利用して外部記憶装置10に書き出す。
【0043】
以上のように暗号化アプリケーションデータを復号するための鍵(鍵Ka)は、利用者の公開鍵で暗号化されてカプセル化されており、利用者がアプリケーションデータを読み出す際に復号されて鍵管理手段に渡されるため、システムに固定的に埋め込んでおくことがなく、アプリケーションデータをより安全に秘匿できるという効果がある。
【0044】
また、暗号化アプリケーションデータをその暗号化アプリケーションデータを復号するための鍵(鍵Ka22)と一体化して扱う、すなわち1つのカプセル内に暗号化アプリケーションデータと鍵Kaを暗号化した暗号化済鍵Kac29とを格納しているため、アプリケーションデータごとや利用者ごとに異なった鍵で暗号化が可能となり、アプリケーションデータをより安全に秘匿できるという効果がある。
【0045】
また、利用者の持つ秘密鍵でのみアプリケーションデータを復号するための鍵Kaを復号して得るようにできるため、利用者の認証の成功/不成功と復号用の鍵の獲得の可否が一致することを保証でき、アプリケーションデータをより安全に秘匿できるという効果がある。
【0046】
また、ファイルやフォルダだけでなくアプリケーションプログラムも管理しているので、アプリケーションプログラムにより管理外のファイルやフォルダに平文のデータを書き出してしまうことを防止することができる。
【0047】
なお以上の説明では、鍵Ka22はカプセル毎に生成されるとしたが、利用者毎、あるいはアプリケーションデータ毎に異なるように生成してもよい。
【0048】
また以上の説明では、利用者の公開鍵Kp25と利用者の秘密鍵Kq26を用いる例を示したが、この利用者の公開鍵Kp25と利用者の秘密鍵Kq26に代えて、利用者24が保持し、任意のデータの暗号化および復号に適用可能な共通鍵方式の鍵である利用者鍵を用いてもよい。この利用者鍵は前記利用者の秘密鍵Kq26と同様に利用者毎に異なり、ICカードなどの解析や改竄のできないハードウェア内に格納して配布されるようにする。これにより、アプリケーションデータの利用を許可する利用者の利用者鍵で鍵Ka22を暗号化しておくことにより、暗号化済鍵Kac29を復号して鍵Ka22得ることのできる利用者を厳密に特定することができる。
【0049】
またこの利用者鍵はカプセル実行手段1とカプセル生成サーバ21とが利用者のパスワードなど利用者の固有情報から生成するようにしてもよい。
この場合、カプセル実行手段1とカプセル生成サーバ21は例えばハッシュ関数を用いた鍵生成アルゴリズムを含む同一の利用者鍵生成手段を持ち、カプセル生成サーバ21はカプセル生成時に、カプセル実行手段1はカプセル実行時に、それぞれ利用者に固有情報の入力を促し、入力された固有情報から上記利用者鍵生成手段を用いて共通の利用者鍵を生成する。
上記鍵生成アルゴリズムは、利用者の固有情報に対して利用者鍵が一意に対応するように構成されている。従って、カプセル実行手段1およびカプセル生成サーバ21が利用者から利用者鍵そのものを獲得せずに、利用者により入力された固有情報から利用者鍵を生成することも、利用者から利用者鍵を獲得することに該当する。
このように利用者鍵を利用者の固有情報から生成するようにすれば、利用者はICカード等を使用しなくてもよく、操作性が向上するという効果がある。
【0050】
実施の形態2.
実施の形態2を、図3〜図5を用いて説明する。
実施の形態1では、カプセル生成サーバ21が生成する鍵Kaは、アプリケーションデータの暗号化と復号に使用される共通鍵方式の鍵である例を説明したが、この実施の形態2においては、カプセル生成サーバ21は公開鍵対を生成する例を説明する。
【0051】
図5において、41、42はそれぞれカプセル生成サーバ21が生成した秘密鍵Kxとこれに対応する公開鍵Kyであり、43は上記秘密鍵Kx41が利用者の公開鍵Kp25によって暗号化された暗号化済秘密鍵Kxcである。また暗号化アプリケーションデータ28はアプリケーションデータ27が公開鍵Ky42で暗号化されたものである。
カプセル生成サーバ21は暗号化アプリケーションデータ28、暗号化済秘密鍵Kxc、アプリケーション情報30、上記公開鍵Ky42を含むカプセル44を生成する。
その他、実施の形態1で説明した図2の構成と同一または相当部分には同一の符号を付して説明を省略する。
またこのカプセル44を使用する情報漏洩防止装置のブロック図は実施の形態1で説明した図1と同様である。
上記公開鍵Ky42がこの発明における第1の鍵、秘密鍵Kx41がこの発明における第2の鍵である。
【0052】
次に動作について説明するが、この実施の形態においても、実施の形態1で説明した図3、図4のフローチャートに準じた動作を行う。
最初に、カプセル実行時の初期処理について、図3に示すフローチャートに基づいて説明する。
まず、カプセル実行手段1が図5のカプセル44を獲得し、このカプセル44から暗号化プリケーションデータ28、暗号化済秘密鍵Kxc43、アプリケーション情報30、公開鍵Ky42を取り出す(ステップS1)。
【0053】
次にカプセル実行手段1は利用者の秘密鍵Kq26を取得し、その秘密鍵Kq26により、暗号化済秘密鍵Kxc43を復号して秘密鍵Kx41を得る(ステップS2)。
【0054】
次にカプセル実行手段1は、暗号化アプリケーションデータ28をそのまま外部記憶装置10に書き出すようにドライバ3に依頼する。ドライバ3は書き出し手段4により、暗号化アプリケーションデータ28を入出力手段9を通して外部記憶装置10に書き出す(ステップS3)。このとき、カプセル実行手段1は、ドライバ3を介して入出力手段9よりアプリケーションデータの参照先(外部記憶装置1上での格納場所に関する情報)を獲得する。
【0055】
次にカプセル実行手段1は、アプリケーション情報30に基づき、アプリケーションプログラム2を起動し、アプリケーションプログラム2を識別するハンドラ(例えばプロセスID)を得る(ステップS4)。
次にカプセル実行手段1は、ドライバ3の鍵管理手段5に、アプリケーションのハンドラ、ステップS2で復号した秘密鍵Kx41、暗号化アプリケーションデータ28の外部記憶装置10における参照先、公開鍵Ky42を渡し、鍵管理手段5はそれらを関連付けて保管する(ステップS5)。
次にカプセル実行手段1は、外部記憶装置10に置かれた暗号化アプリケーションデータ28の参照先をアプリケーション2に通知する(ステップS6)。
【0056】
以上の動作により、鍵管理手段5には
・アプリケーションプログラムのハンドラ
・復号された秘密鍵Kx41
・公開鍵Ky42
・暗号化アプリケーションデータの外部記憶装置10における参照先(この参照先をR1とする)
が渡され、鍵管理手段5はこれらの情報を関連付けて保管し、上記ハンドラにより識別されるアプリケーションプログラムを管理対象のアプリケーションプログラムと認識する。
また、アプリケーションプログラム2には
・暗号化アプリケーションデータの外部記憶装置10における参照先
が渡され、
外部記憶装置10には
・暗号化アプリケーションデータ28
が渡されたことになる。
【0057】
次に、アプリケーションプログラム2によるアプリケーションデータ読み込み動作について、図4に示すフローチャートに基づいて説明する。
この動作も実施の形態1と同様であり、アプリケーションプログラム2が、外部記憶装置10からのアプリケーションデータの読み込み要求をドライバ3に発行する(ステップS7)。この読込み要求には、要求元のアプリケーションプログラムを特定する情報とアプリケーションデータの外部記憶装置10上での参照先を含む。
【0058】
次にドライバ3内の鍵管理手段5が、自己が関連付けて保管している情報に基づき、読み込み要求の要求元が管理対象のアプリケーションプログラムであるか否か、および読み込み対象のデータが管理対象のアプリケーションデータであるか否かを検証する(ステップS8)。
【0059】
双方とも管理対象であるか否かを判定し(ステップS9)、双方とも管理対象であった場合、鍵管理手段5は自己の管理する復号された秘密Kxc43を読み込み手段8に与え、読み込み手段8は要求のあった暗号化アプリケーションデータ28を入出力手段9を利用して外部記憶装置10から取出し、その暗号化アプリケーションデータ28を復号された秘密鍵Kx41によって復号して、アプリケーションプログラム2に返す(ステップS10)。
【0060】
次に、アプリケーションプログラム2によるアプリケーションデータ書き出し動作について説明する。
アプリケーション2がドライバ3にアプリケーションデータの書き出し要求を発行すると、鍵管理手段5が自己が関連付けて保管している情報に基づき、書き出し要求の要求元が管理対象のアプリケーションであるか否かを検証し、管理対象であった場合、鍵管理手段で管理する復号された公開鍵Ky42でアプリケーションデータを暗号化し、入出力手段9を利用して外部記憶装置10に書き出す。
【0061】
以上のように暗号化アプリケーションデータを復号するための鍵(秘密鍵Kx41)は、利用者の公開鍵で暗号化されてカプセル化されており、利用者がアプリケーションデータを読み出す際に復号されて鍵管理手段に渡されるため、システムに固定的に埋め込んでおくことがなく、アプリケーションデータをより安全に秘匿できるという効果がある。
【0062】
また、暗号化アプリケーションデータをその暗号化アプリケーションデータを復号するための鍵(秘密鍵Kx41)と一体化して扱う、すなわち1つのカプセル内に暗号化アプリケーションデータと秘密鍵Kx41を暗号化した暗号化済秘密鍵Kxcとを格納しているため、アプリケーションデータごとや利用者ごとに異なった鍵で暗号化が可能となり、アプリケーションデータをより安全に秘匿できるという効果がある。
【0063】
また、利用者の持つ秘密鍵でのみアプリケーションデータを復号するための鍵Kxを復号して得るようにできるため、利用者の認証の成功/不成功と復号用の鍵の獲得の可否が一致することを保証でき、アプリケーションデータをより安全に秘匿できるという効果がある。
【0064】
また、ファイルやフォルダだけでなくアプリケーションプログラムも管理しているので、アプリケーションプログラムにより管理外のファイルやフォルダに平文のデータを書き出してしまうことを防止することができる。
【0065】
また以上の説明では、利用者の公開鍵Kp25と利用者の秘密鍵Kq26を用いる例を示したが、この利用者の公開鍵Kp25と利用者の秘密鍵Kq26に代えて、利用者24が保持し、任意のデータの暗号化および復号に適用可能な共通鍵方式の鍵である利用者鍵を用いてもよい。この利用者鍵は前記利用者の秘密鍵Kq26と同様に利用者毎に異なり、ICカードなどの解析や改竄のできないハードウェア内に格納して配布されるようにする。これにより、アプリケーションデータの利用を許可する利用者の利用者鍵で鍵x41を暗号化しておくことにより、暗号化済秘密鍵Kxc43を復号して秘密鍵Kx41を得ることのできる利用者を厳密に特定することができる。
【0066】
またこの利用者鍵は、実施の形態1で説明したのと同様の利用者鍵生成手段を用いて、カプセル実行手段1とカプセル生成サーバ21とが利用者の固有情報から生成するようにしてもよく、実施の形態1で説明したのと同様の効果を奏する。
【0067】
実施の形態3.
実施の形態3を図6を用いて説明する。
以上の実施の形態1では、アプリケーションデータの書き出し処理の際に、ドライバの暗号化手段が回避されるような状況には対処できなかったが、この実施の形態では、そのような状況に対処できるような実施の形態を示す。
【0068】
図6は、この実施の形態の構成を示すブロック図である。
図において図1と同一または相当部分には同一の符号を付して説明を省略する。
15はドライバ3の起動状況や真正性を監視するドライバ監視手段、16はアプリケーションを強制終了させるアプリケーション制御手段である。
このアプリケーション制御手段16がこの発明における第1のアプリケーション制御手段である。
【0069】
次に動作について説明する。
カプセル実行手段1は、ドライバ監視手段15によりドライバ3が起動していることをカプセル実行手段1が起動している間に繰り返し検証する。また、ドライバ3の真正性(ドライバ3が改竄されていないこと)を情報漏洩プログラムの一部でありドライバ3を実現するドライバプログラムのハッシュ値やサイズなどを計算し、その値がドライバ監視手段15に予め与えられていた正しい値と同等か否かを検証する。もしもいずれかの検証に失敗した場合、すなわちドライバ3が動作していてかつドライバ3が改竄されてないことが検証できなかった場合は、カプセル実行手段1のアプリケーション制御手段16により、対象のアプリケーションプログラム2を強制終了させる。
その他の動作は実施の形態1または実施の形態2で説明した動作と同様である。
【0070】
以上のように、カプセル実行手段がドライバの起動状況や真正性を検証し、ドライバの異常状態を検出した場合にアプリケーションを強制終了するようにしているので、アプリケーションがアプリケーションデータの保存処理を行ったときに暗号処理を回避して平文のまま外部記憶装置にアプリケーションデータを書き出してしまうことを防止できる。
【0071】
なお上記の例では,ドライバ監視手段15がドライバ3を監視する例を示したが、ドライバ監視手段15が回避されたり障害が発生した場合に備えて、図7のように、ドライバ3がカプセル実行手段監視手段17と、このカプセル実行監視手段17の指示に応じてアプリケーションプログラム2を強制終了させるアプリケーション制御手段18(第2のアプリケーション制御手段)を備えるようにしてもよい。
【0072】
ドライバ3は、カプセル実行手段監視手段17によりカプセル実行手段1が起動していることをドライバ3が起動している間に繰り返し検証する。また、カプセル実行手段1の真正性(カプセル実行手段1が改竄されていないこと)を情報漏洩プログラムの一部でありカプセル実行手段1を実現するカプセル実行プログラムのハッシュ値やサイズなどを計算し、その値がカプセル実行手段監視手段17に予め与えられていた正しい値と同等か否かを検証する。もしもいずれかの検証に失敗した場合、ドライバ3のアプリケーション制御手段18により、対象のアプリケーション2を強制終了させる。
その他の動作は実施の形態1または実施の形態2で説明した動作と同様である。
【0073】
この場合、ドライバがカプセル実行手段の異常状態を検出した場合にアプリケーションを強制終了するようにしているので、カプセル実行手段がドライバの異常状態を検出できずに、結果的にアプリケーションがアプリケーションデータの保存処理を行ったときに暗号処理を回避して平文のまま外部記憶装置にアプリケーションデータを書き出してしまうことを防止できる。
【0074】
上記カプセル実行手段監視手段17とアプリケーション制御手段18はドライバ3とは別に備えられてもよい。
【0075】
【発明の効果】
以上のように、この発明によればアプリケーションデータをより安全に秘匿できるという効果がある。
【図面の簡単な説明】
【図1】本発明の実施の形態1、2における情報漏洩防止装置のブロック図。
【図2】本発明の実施の形態1におけるカプセルの構成およカプセル生成サーバを含むシステムの構成を示す図。
【図3】本発明の実施の形態1、2におけるカプセル実行時の初期処理の動作を説明するフローチャート図。
【図4】本発明の実施の形態1、2における読み出し時の動作を説明するフローチャート図。
【図5】本発明の実施の形態2におけるカプセルの構成およカプセル生成サーバを含むシステムの構成を示す図。
【図6】本発明の実施の形態3における情報漏洩防止装置のブロック図。
【図7】本発明の実施の形態3における情報漏洩防止装置のその他の形態を示すブロック図。
【図8】従来の情報漏洩防止装置のブロック図。
【図9】従来の情報漏洩防止装置における読み出し時の動作を説明するフローチャート図。
【符号の説明】
1 カプセル実行手段、 2 アプリケーションプログラム、 3 ドライバ、 4 書き出し手段、 5 鍵管理手段、 6 暗号化手段、 7 復号手段、 8 読み込み手段、 9 入出力手段、 10 外部記憶装置、 15 ドライバ監視手段、 16 アプリケーション制御手段、 17 カプセル実行手段監視手段、 18 アプリケーション制御手段、 21 カプセル生成サーバ、 22 鍵Ka、 23 カプセル、 24 利用者、 25 公開鍵Kp、 26 秘密鍵Kq、 27、アプリケーションデータ、 28 暗号化アプリケーションデータ、 29 暗号化済鍵Kac、 30 アプリケーション情報、 41 秘密鍵Kx、 42 公開鍵Ky、 43 暗号化済秘密鍵Kxc、 43 カプセル、 50 カプセル処理手段、 1001アプリケーション、 1002 ユーザ認証手段、 1003 ファイルシステム、 1004 ドライバ、 1005 オープン手段、 1006 リード手段、 1007 ライト手段、 1008 クローズ手段、 1009 I/O手段、 1010 外部記憶装置。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an information leakage prevention device that safely controls the disclosure of data to be operated by a computer or other application on a computer or the like by using encryption processing to prevent information from being illegally leaked. Things.
[0002]
[Prior art]
FIG. 8 is a block diagram of a conventional information leakage prevention device disclosed in, for example, Japanese Patent Application Laid-Open No. Hei 10-301856, wherein 1001 denotes an application for requesting input / output to an external storage device, and 1002 denotes a user based on a user ID and a password. A user authentication unit for performing authentication; 1003, a file system that instructs a driver 1004 to perform input / output processing in response to an input / output request from the application 1001; 1004, a driver that performs various types of file processing; Open means 1006, reading means 1006 for reading a file, writing means 1007 for writing a file, closing means 1008 for closing a file, 1009 reading data from a file in an external storage device 1010. Write out That I / O unit, 1010 denotes an external storage device for storing data.
[0003]
Next, the operation will be described.
FIG. 9 is a flowchart showing the data reading operation in the prior art shown in FIG. 8. In step S1001, the application 1001 issues a reading request to the driver 1004 through the file system 1003. In step S102, the user authentication unit 1002 performs user authentication. Step S1003 is a step in which the user authentication unit 1002 determines an authentication result. Step S1004 is a step in which data is read from the external storage device 1010.
[0004]
First, the application 1001 issues a read request to the file system 1003 driver 1004 (step S1001). Next, the user authentication unit 1002 authenticates the user who has issued the read request using the user ID and the password (step S1002). Next, the driver 1004 opens the target file by the opening means 1005, and when the target data is encrypted, the driver 1004 determines whether or not the user can access the target file according to its own rules. It is determined whether or not is possible (step S1003). If access is possible as a result of the determination, the read means 1006 reads the requested data from the external storage device 1010 through the I / O means 1009, and if the data is encrypted, decrypts it using its own decryption key. Then, it returns to the application 1001 (step S1004).
[0005]
When writing data to the external storage device 1010, in response to a write request from the application 1001, the writing unit 1007 encrypts the target data with its own encryption key, and then writes the data to the external storage device via the I / O unit 1009. Write to 1010.
[0006]
According to this conventional technology, when an application uses an encrypted file, the existing application is not used and the application is used without creating a work file that once decrypts all the data in the file. It is intended to enhance the confidentiality of data by making it possible to encrypt data and writing the data to an external storage device after encrypting the data.
[0007]
[Problems to be solved by the invention]
This conventional technique is configured as described above, so that a key for decrypting data must be fixedly held in the system, and thus has a problem in security.
That is, the key for decrypting data cannot be changed for each file or for each user, and there is a problem that the leakage of one key makes it possible to decrypt all data.
[0008]
In addition, the above-described conventional technology performs user authentication completely independently of data encryption and decryption processing. Therefore, if authentication processing fails or the authentication processing is tampered with, unauthorized user data There is a problem that decoding becomes possible.
[0009]
SUMMARY OF THE INVENTION The present invention has been made to solve the above-described problems, and it is possible to prevent information leakage by enabling a key for reading an encrypted file (application data) to be changed for each file or each user. The purpose is to prevent and increase confidentiality and security.
[0010]
[Means for Solving the Problems]
An information leakage prevention device according to the present invention is an information leakage prevention device that prevents leakage of application data disclosed only to a specific user, and includes a capsule generation unit, a capsule processing unit, and a storage unit. The capsule generation means generates a first key for encrypting arbitrary data and a second key for decrypting data encrypted with the first key, and encrypts the application data with the first key. Generating a capsule including the encrypted encrypted application data and an encrypted second key obtained by encrypting the second key with the public key of the user; And obtains the encrypted application data contained in the obtained capsule in the storage means, and obtains the usage corresponding to the user's public key from the user. And decrypts the encrypted second key contained in the capsule with the acquired user's private key to obtain a decrypted second key, reads the encrypted application data from the storage means, The read encrypted application data is decrypted with the decrypted second key, and the storage means stores the encrypted application data written by the capsule processing means.
[0011]
In the information leakage prevention device according to the present invention, the first key and the second key are the same, and are keys of a common key system.
[0012]
Further, in the information leakage prevention device according to the present invention, the capsule generated by the capsule generating means further includes application information for specifying an application program using the application data, and the capsule processing means further includes: The application information is acquired, an application program corresponding to the application information is started, and it is determined whether the started application program is to be managed by the capsule processing means. If it is determined that the encrypted application data is to be managed by the means, the encrypted application data read and decrypted from the storage device in response to the read request issued by the started application program is executed. It was one in which was to be passed to the application program.
[0013]
Also, in the information leakage prevention device according to the present invention, the capsule processing means may determine whether the activated application program is to be managed by the capsule processing means. A read request for the data by the activated application program is used.
[0014]
Further, in the information leakage prevention device according to the present invention, the capsule processing means includes a capsule executing means and a driver, and the capsule executing means acquires the capsule generated by the capsule generating means, and stores the capsule in the acquired capsule. Instructing the driver to write the included encrypted application data into the storage means, obtaining the user's secret key from the user, and using the obtained user's secret key to obtain the encrypted The second key is decrypted to obtain a decrypted second key, the application information is obtained from the capsule, and an application program corresponding to the application information is started. The application program that has been started is If it is determined that the application data is to be managed by the driver, the encrypted application data is read from the storage device in response to the read request issued by the activated application program, and the read encrypted application data is executed by the capsule. The means decrypts the decrypted second key and passes it to the application program.
[0015]
Also, in the information leakage prevention device according to the present invention, the capsule executing means may be such that the computer acquires the capsule generated by the capsule generating means and writes the encrypted application data included in the obtained capsule to the storage means. Instruct the driver to obtain the user's secret key from the user, and decrypt the encrypted second key contained in the capsule with the obtained user's secret key to obtain a decrypted second key. , Is obtained by acquiring application information from the capsule and executing a program for starting an application program corresponding to the application information.
[0016]
Also, in the information leakage prevention device according to the present invention, the driver may be configured such that the computer determines whether the application program started by the capsule executing means is a management target of the driver, and the started application program If it is determined that the application data is to be managed, the encrypted application data is read from the storage device in response to the read request issued by the activated application program, and the read encrypted application data is stored in the capsule execution unit. Is executed by executing a program decrypted with the decrypted second key and passed to the application program.
[0017]
Further, in the information leakage prevention device according to the present invention, when the driver determines whether the activated application program is a management target of the driver, the driver activates the encrypted application data stored in the storage unit. A read request by the application program is used.
[0018]
In the information leakage prevention device according to the present invention, the first key and the second key are the same, and are keys of a common key system.
[0019]
Further, in the information leakage prevention device according to the present invention, the driver acquires the decrypted second key from the capsule execution unit, and stores the decrypted second key in the storage unit of the application data received and used by the application program in response to the read request. Is issued, the application data is encrypted with the decrypted second key and written to the storage means.
[0020]
Further, in the information leakage prevention device according to the present invention, the first key is a public key of the capsule, and the second key is a secret key corresponding to the public key of the capsule.
[0021]
Further, in the information leakage prevention device according to the present invention, the capsule generated by the capsule generating means further includes the first key, the capsule executing means obtains the first key from the obtained capsule, and the driver Acquiring the first key from the capsule executing means, and when the application program issues a write request to the storage means for the application data received and used in response to the read request, In this case, the data is encrypted with one key and written to the storage means.
[0022]
Also, in the information leakage prevention device according to the present invention, the capsule execution means includes a driver monitoring means and a first application control means, and the driver monitoring means operates the driver and alters the driver. The first application control unit is instructed to stop the application program if it is verified that there is no application program.
[0023]
Also, in the information leakage prevention device according to the present invention, the driver includes a driver monitoring unit monitoring unit and a second application control unit, and the driver monitoring unit monitoring unit is configured to execute the driver monitoring unit when the driver monitoring unit is operating. The monitoring means verifies that the data has not been tampered with. If the verification cannot be performed, the second application control means is instructed to stop the application program.
[0024]
In the information leakage prevention device according to the present invention, the first key and the second key are generated for each capsule.
[0025]
Further, the information leakage prevention device according to the present invention uses a user key, which is a key of a common key system applicable to encryption and decryption of arbitrary data, instead of the user's public key and the user's secret key. It is intended to be used.
[0026]
Further, an information leakage prevention method according to the present invention is directed to an information leakage prevention apparatus that includes a capsule generation unit, a capsule processing unit, and a storage unit and that prevents leakage of application data disclosed only to a specific user. A method comprising the following steps.
(1) a key generation step in which the capsule generation means generates a first key for encrypting arbitrary data and a second key for decrypting data encrypted with the first key;
(2) Encapsulation means for encrypting the application data with the first key and encrypting the application data, and encrypting the second key with a public key of the user and an encrypted second key. A capsule generating step of generating a capsule including:
(3) an encryption application data writing step in which the capsule processing means obtains the capsule generated by the capsule generation means in the capsule generation step, and writes the encrypted application data included in the obtained capsule into the storage means;
(4) The capsule processing means obtains the user's private key corresponding to the user's public key from the user, and the encrypted second key included in the capsule with the obtained user's private key. A key decryption step for decrypting the second key as a decrypted second key;
(5) Encryption in which the capsule processing means reads the encrypted application data written in the storage means in the encrypted application data writing step from the storage means and decrypts the read encrypted application data with the decrypted second key. Application data decryption step.
[0027]
Further, in the information leakage prevention method according to the present invention, the capsule generated by the capsule generating means in the capsule generating step further includes application information for specifying an application program using the application data, and the capsule processing means further includes: The following operation is performed. .
(6) an application program starting step of obtaining the application information from the obtained capsule and starting an application program corresponding to the application information;
(7) an application program determining step of determining whether the application program started in the application program starting step is to be managed by the capsule processing means;
(8) In the application program determining step, when it is determined that the activated application program is to be managed by the capsule processing means, the storage device corresponds to a read request issued by the activated application program. Reading the decrypted encrypted application data from the application program to the activated application program.
[0028]
Further, the information leakage prevention method according to the present invention includes a user key, which is a key of a common key system applicable to encryption and decryption of arbitrary data, instead of the user's public key and the user's secret key. It is intended to be used.
[0029]
BEST MODE FOR CARRYING OUT THE INVENTION
Embodiment 1 FIG.
Embodiment 1 of the present invention will be described with reference to FIGS.
FIG. 1 is a block diagram of an information leakage prevention device according to this embodiment, FIG. 2 is a diagram showing a configuration of a capsule and a system including a capsule generation server, and FIG. 4 is a flowchart for explaining the operation at the time of reading.
[0030]
In FIG. 1, reference numeral 1 denotes capsule executing means for processing the capsule shown in FIG. 2, 2 denotes an existing application program using application data, and 3 denotes input / output means 9 in response to a request from the application program 2. A driver for inputting and outputting data to and from the external storage device 10, a writing unit 4 for writing data to the external storage device 10 using the input / output unit 9 in response to a request from the application program 2, a key management unit 5 Is encryption means for encrypting the data given from the writing means 4 using the key given from the key management means 5 in accordance with the instruction of the key management means 5, and 7 is the key management means 5 in accordance with the instruction of the key management means 5. Decrypting means for decrypting the data provided from the reading means 8 using the key provided from the application program 2; Reading means for reading data from the external storage device 10 using the input / output means 9 in response to the read request from the external storage device 9, and input / output means 9 for writing / reading data to / from the external storage device 10 according to a request from the driver 3. Reference numeral 10 denotes an external storage device such as a hard disk drive or a flexible disk drive for storing application data. Reference numeral 50 denotes a capsule processing unit including the capsule execution unit 1 and the driver 3.
[0031]
FIG. 2 is a diagram illustrating a configuration of a capsule and a configuration of a system including a capsule generation server that generates a capsule.
In the figure, 21 is a capsule generation server that generates a key Ka22 and a capsule 23, and 24 is a user of this system, and holds a public key Kp25 and a secret key Kq26, which are a public key pair. The secret key 26 is different for each user, and is stored in, for example, an unillustrated hardware such as an IC card which cannot be analyzed or tampered with. The key Ka22 is generated for each capsule.
27 is application data used by the application 2; 28 is encrypted application data obtained by encrypting the application data with the key Ka22; 29 is encrypted data obtained by encrypting the key Ka22 with the public key 18 of the user The key Kac, 30 is application information for starting the application 2 using the application data 19.
[0032]
The capsule generation server 21 of FIG. 2 is managed by the same system administrator as the administrator (not shown) that manages the information leakage prevention device shown in FIG. The user 24 submits his / her public key Kp25 to the system administrator and applies for a license. The system administrator applies the public key Kp25 only to the user 24 who is permitted to view the application data 27. Encrypts the key Ka22 to generate the capsule 23.
The capsule 23 has identification information added so that the capsule 23 can be specified by designating the user 24 and the application data 27.
[0033]
The capsule executor 1 and the driver 3 each include a CPU and a RAM as a working memory, and operate according to an information leakage prevention program, which is software stored in a storage (not shown).
The external storage device 10 is a storage unit in the present invention, and the capsule generation server 21 is a capsule generation unit in the present invention. Further, here, the key Ka22 is the first key and the second key which are the same in the present invention, and the first key and the second key, that is, the key Ka22 are keys of the common key system.
The encryption key Kac29 is the second encrypted key in the present invention.
Further, the operation in which the capsule generation server 21 generates the key Ka22 is a key generation step in the present invention, and the operation in which the capsule generation server 21 generates the capsule 23 is a capsule generation step in the present invention.
[0034]
Next, the operation will be described.
First, the initial processing at the time of executing the capsule will be described with reference to the flowchart shown in FIG.
First, when the user 24 designates the capsule 23 including the application data 27 to be viewed, the capsule executing means 1 extracts the encrypted application data 28, the encryption key Ka29, and the application information 30 from the designated capsule 23 (step S1). ). The method by which the capsule executing means 1 acquires the capsule 23 is arbitrary, and may use a network or may move from the capsule generation server 21 to the capsule executing means 1 by using a portable storage medium.
[0035]
Next, the capsule executing means 1 obtains the user's secret key Kq26, and decrypts the encrypted key Kac29 with the secret key Kq26 to obtain the key Ka22 (step S2).
As described above, the secret key Kq26 is different for each user, and is stored and distributed in hardware such as an IC card which cannot be analyzed or tampered with. By encrypting the key Ka22 with the public key Kq25 of the user, the user who can decrypt the encrypted key Kac29 and obtain the key Ka22 can be strictly specified.
The decrypted key Kac22 is the decrypted second key in the present invention, and step 2 is a key decryption step in the present invention.
[0036]
Next, the capsule executing means 1 requests the driver 3 to write the encrypted application data 28 to the external storage device 10 as it is. The driver 3 writes the encrypted application data 28 to the external storage device 10 through the input / output unit 9 by the writing unit 4 (step S3). At this time, the capsule execution unit 1 obtains a reference destination (information on a storage location on the external storage device 1) of the application data 28 from the input / output unit 9 via the driver 3.
Step 3 is the step of writing the encrypted application data in the present invention.
[0037]
Next, the capsule executing means 1 starts the application program 2 based on the application information 30, and obtains a handler (for example, a process ID) for identifying the application program 2 (Step S4).
Step S4 is an application program starting step in the present invention.
Next, the capsule execution unit 1 passes the handler of the application program 2, the key Ka22 decrypted in step S2, and the reference destination of the encrypted application data 28 in the external storage device 10 to the key management unit 5 of the driver 3, 5 stores them in association with each other (step S5).
Next, the capsule executing means 1 notifies the application 2 of the reference destination of the encrypted application data 28 stored in the external storage device 10 (Step S6).
[0038]
By the above operation, the key management means 5
・ Application program handler
・ Decrypted key Ka22
Reference of the encrypted application data in the external storage device 10 (this reference is referred to as R1)
Is passed, and the key management unit 5 stores these pieces of information in association with each other, and recognizes the application program identified by the handler as an application program to be managed.
Also, application program 2
Reference destination of the encrypted application data in the external storage device 10
Is passed,
The external storage device 10
-Encrypted application data 28
Has been passed.
The above initial processing needs to be executed every time at least one of the user and the application data changes.
[0039]
Next, an operation of reading application data by the application program 2 will be described with reference to a flowchart shown in FIG.
The application program 2 issues a request to read application data from the external storage device 10 to the driver 3 (Step S7). This read request includes information specifying the application program of the request source and a reference destination of the application data on the external storage device 10.
[0040]
Next, the key management unit 5 in the driver 3 determines whether the request source of the read request is an application program to be managed and whether the data to be read is a management target based on the information stored in association with itself. It is verified (determined) whether the data is application data (step S8).
Step 8 is an application program determining step in the present invention.
The verification of the application program is performed by checking whether an application program specified by the information specifying the application program included in the read request matches the application program specified by the handler. It is verified whether the reference destination R1 held by the management unit 5 matches the reference destination included in the read request.
[0041]
It is determined whether both are to be managed (step S9). If both are to be managed, the key management means 5 gives the decrypted key Ka22 managed by itself to the reading means 8, and the reading means 8 Extracts the requested encrypted application data 28 from the external storage device 10 using the input / output means 9, decrypts the encrypted application data 28 with the decrypted key Ka22, and returns it to the application program 2 (step S10).
Step 10 is the encrypted application data decryption step and the application data read step in the present invention.
[0042]
Next, an operation of writing application data by the application program 2 will be described.
When the application 2 issues a write request for application data to the driver 3, the key management unit 5 verifies whether or not the request source of the write request is the application to be managed, based on the information stored in association with itself. If the data is to be managed, the application data is encrypted with the decrypted key Ka22 managed by the key management means, and written to the external storage device 10 using the input / output means 9.
[0043]
As described above, the key (key Ka) for decrypting the encrypted application data is encrypted with the user's public key and encapsulated, and is decrypted when the user reads the application data, and the key management is performed. Since it is passed to the means, there is an effect that application data can be more securely concealed without being fixedly embedded in the system.
[0044]
In addition, the encrypted application data and the key for decrypting the encrypted application data (key Ka22) are handled integrally, that is, the encrypted application data and the encrypted key Kac29 obtained by encrypting the key Ka in one capsule. Is stored, the encryption can be performed with a different key for each application data and each user, and the application data can be more securely concealed.
[0045]
Further, since the key Ka for decrypting the application data can be decrypted and obtained only with the secret key of the user, the success / failure of the user authentication matches the possibility of obtaining the decryption key. And the application data can be more securely concealed.
[0046]
Further, since not only files and folders but also application programs are managed, it is possible to prevent writing of plaintext data to unmanaged files and folders by the application programs.
[0047]
In the above description, the key Ka22 is generated for each capsule. However, the key Ka22 may be generated differently for each user or each application data.
[0048]
In the above description, an example is shown in which the user's public key Kp25 and the user's secret key Kq26 are used, but the user 24 holds the public key Kp25 and the user's secret key Kq26 instead of the user's public key Kp25. However, a user key which is a key of a common key system applicable to encryption and decryption of arbitrary data may be used. This user key differs for each user similarly to the user's secret key Kq26, and is stored and distributed in hardware such as an IC card which cannot be analyzed or tampered with. Thus, by encrypting the key Ka22 with the user key of the user who permits the use of the application data, the user who can decrypt the encrypted key Kac29 and obtain the key Ka22 can be strictly specified. Can be.
[0049]
Further, the user key may be generated by the capsule executing means 1 and the capsule generation server 21 from the user's unique information such as the user's password.
In this case, the capsule execution means 1 and the capsule generation server 21 have the same user key generation means including a key generation algorithm using a hash function, for example. At times, each user is prompted to input unique information, and a common user key is generated from the input unique information by using the user key generating means.
The key generation algorithm is configured such that the user key uniquely corresponds to the user's unique information. Therefore, the capsule execution means 1 and the capsule generation server 21 can generate the user key from the unique information input by the user without obtaining the user key itself from the user, and can also generate the user key from the user. It corresponds to acquiring.
If the user key is generated from the unique information of the user in this manner, the user does not need to use an IC card or the like, and there is an effect that the operability is improved.
[0050]
Embodiment 2 FIG.
Embodiment 2 will be described with reference to FIGS.
In the first embodiment, an example has been described in which the key Ka generated by the capsule generation server 21 is a key of a common key system used for encryption and decryption of application data. An example in which the generation server 21 generates a public key pair will be described.
[0051]
In FIG. 5, reference numerals 41 and 42 denote a secret key Kx generated by the capsule generation server 21 and a corresponding public key Ky, respectively. Reference numeral 43 denotes an encryption obtained by encrypting the secret key Kx41 with the user's public key Kp25. The secret key Kxc. The encrypted application data 28 is obtained by encrypting the application data 27 with the public key Ky42.
The capsule generation server 21 generates a capsule 44 including the encrypted application data 28, the encrypted secret key Kxc, the application information 30, and the public key Ky42.
In addition, the same or corresponding portions as those in the configuration of FIG. 2 described in the first embodiment are denoted by the same reference numerals, and description thereof is omitted.
The block diagram of the information leakage prevention device using the capsule 44 is the same as that of FIG. 1 described in the first embodiment.
The public key Ky42 is the first key in the present invention, and the secret key Kx41 is the second key in the present invention.
[0052]
Next, the operation will be described. In this embodiment, the operation according to the flowcharts of FIGS. 3 and 4 described in the first embodiment is performed.
First, the initial processing at the time of executing the capsule will be described with reference to the flowchart shown in FIG.
First, the capsule executing means 1 acquires the capsule 44 of FIG. 5, and extracts the encrypted application data 28, the encrypted private key Kxc43, the application information 30, and the public key Ky42 from the capsule 44 (step S1).
[0053]
Next, the capsule executing means 1 obtains the user's secret key Kq26, and decrypts the encrypted secret key Kxc43 with the secret key Kq26 to obtain a secret key Kx41 (step S2).
[0054]
Next, the capsule executing means 1 requests the driver 3 to write the encrypted application data 28 to the external storage device 10 as it is. The driver 3 writes the encrypted application data 28 to the external storage device 10 through the input / output unit 9 by the writing unit 4 (step S3). At this time, the capsule executing means 1 obtains a reference destination of the application data (information on a storage location on the external storage device 1) from the input / output means 9 via the driver 3.
[0055]
Next, the capsule executing means 1 starts the application program 2 based on the application information 30, and obtains a handler (for example, a process ID) for identifying the application program 2 (Step S4).
Next, the capsule executing means 1 passes the handler of the application, the secret key Kx41 decrypted in step S2, the reference destination of the encrypted application data 28 in the external storage device 10, and the public key Ky42 to the key managing means 5 of the driver 3, The key management means 5 stores them in association with each other (step S5).
Next, the capsule executing means 1 notifies the application 2 of the reference destination of the encrypted application data 28 stored in the external storage device 10 (Step S6).
[0056]
By the above operation, the key management means 5
・ Application program handler
・ Decrypted secret key Kx41
・ Public key Ky42
Reference of the encrypted application data in the external storage device 10 (this reference is referred to as R1)
Is passed, and the key management unit 5 stores these pieces of information in association with each other, and recognizes the application program identified by the handler as an application program to be managed.
Also, application program 2
Reference destination of the encrypted application data in the external storage device 10
Is passed,
The external storage device 10
-Encrypted application data 28
Has been passed.
[0057]
Next, an operation of reading application data by the application program 2 will be described with reference to a flowchart shown in FIG.
This operation is also the same as in the first embodiment, and the application program 2 issues a request to read application data from the external storage device 10 to the driver 3 (Step S7). This read request includes information specifying the application program of the request source and a reference destination of the application data on the external storage device 10.
[0058]
Next, the key management means 5 in the driver 3 determines whether the request source of the read request is an application program to be managed, and determines whether the data to be read is It is verified whether the data is application data (step S8).
[0059]
It is determined whether or not both are to be managed (step S9). If both are to be managed, the key management unit 5 gives the decrypted secret Kxc 43 managed by itself to the reading unit 8, and the reading unit 8 Extracts the requested encrypted application data 28 from the external storage device 10 using the input / output means 9, decrypts the encrypted application data 28 with the decrypted secret key Kx41, and returns it to the application program 2 ( Step S10).
[0060]
Next, an operation of writing application data by the application program 2 will be described.
When the application 2 issues a write request for application data to the driver 3, the key management unit 5 verifies whether or not the request source of the write request is the application to be managed, based on the information stored in association with itself. If it is a management target, the application data is encrypted with the decrypted public key Ky42 managed by the key management means, and written to the external storage device 10 using the input / output means 9.
[0061]
As described above, the key (private key Kx41) for decrypting the encrypted application data is encrypted and encapsulated with the user's public key, and is decrypted and read when the user reads the application data. Since it is passed to the management means, there is an effect that application data can be more securely concealed without being fixedly embedded in the system.
[0062]
Also, the encrypted application data and the key for decrypting the encrypted application data (private key Kx41) are handled integrally, that is, the encrypted application data and the private key Kx41 are encrypted and encrypted in one capsule. Since the secret key Kxc is stored, encryption can be performed with a different key for each application data and each user, and the application data can be more securely concealed.
[0063]
In addition, since the key Kx for decrypting the application data can be decrypted and obtained only with the secret key possessed by the user, the success / failure of the user authentication matches the possibility of obtaining the decryption key. And the application data can be more securely concealed.
[0064]
Further, since not only files and folders but also application programs are managed, it is possible to prevent writing of plaintext data to unmanaged files and folders by the application programs.
[0065]
In the above description, an example is shown in which the user's public key Kp25 and the user's secret key Kq26 are used, but the user 24 holds the public key Kp25 and the user's secret key Kq26 instead of the user's public key Kp25. However, a user key which is a key of a common key system applicable to encryption and decryption of arbitrary data may be used. This user key differs for each user similarly to the user's secret key Kq26, and is stored and distributed in hardware such as an IC card which cannot be analyzed or tampered with. Thereby, by encrypting the key x41 with the user key of the user who permits the use of the application data, the user who can decrypt the encrypted secret key Kxc43 and obtain the secret key Kx41 is strictly determined. Can be identified.
[0066]
The user key may be generated by the capsule executing means 1 and the capsule generation server 21 from the user's unique information using the same user key generation means as described in the first embodiment. Often, the same effects as described in the first embodiment can be obtained.
[0067]
Embodiment 3 FIG.
Embodiment 3 will be described with reference to FIG.
In the above-described first embodiment, it is not possible to cope with a situation in which the encryption means of the driver is avoided during the writing process of the application data. However, this embodiment can cope with such a situation. Such an embodiment will be described.
[0068]
FIG. 6 is a block diagram showing the configuration of this embodiment.
In the figure, the same or corresponding parts as those in FIG.
Reference numeral 15 denotes driver monitoring means for monitoring the activation status and authenticity of the driver 3, and 16 denotes application control means for forcibly terminating the application.
This application control means 16 is the first application control means in the present invention.
[0069]
Next, the operation will be described.
The capsule executing means 1 repeatedly verifies that the driver 3 is activated by the driver monitoring means 15 while the capsule executing means 1 is activated. In addition, the authenticity of the driver 3 (that the driver 3 is not falsified) is calculated as a hash value or a size of a driver program which is a part of the information leakage program and realizes the driver 3, and the calculated value is used as the driver monitoring means 15. Is verified as to whether it is equal to the correct value given in advance. If any of the verifications fails, that is, if it is not possible to verify that the driver 3 is operating and that the driver 3 has not been tampered with, the application control unit 16 of the capsule execution unit 1 uses the target application program. Terminate 2 forcibly.
Other operations are the same as the operations described in the first or second embodiment.
[0070]
As described above, since the capsule execution unit verifies the activation status and authenticity of the driver and forcibly terminates the application when an abnormal state of the driver is detected, the application performs the process of storing the application data. Occasionally, encryption processing can be avoided to prevent application data from being written to an external storage device in plain text.
[0071]
In the above example, the driver monitoring unit 15 monitors the driver 3. However, in case that the driver monitoring unit 15 is avoided or a failure occurs, the driver 3 executes the capsule execution as shown in FIG. A means monitoring means 17 and an application control means 18 (second application control means) for forcibly terminating the application program 2 in response to an instruction from the capsule execution monitoring means 17 may be provided.
[0072]
The driver 3 repeatedly verifies that the capsule executing means 1 is activated by the capsule executing means monitoring means 17 while the driver 3 is activated. Further, the authenticity of the capsule execution unit 1 (that the capsule execution unit 1 is not falsified) is calculated by calculating a hash value, a size, and the like of the capsule execution program that is a part of the information leakage program and realizes the capsule execution unit 1. It is verified whether the value is equal to a correct value given to the capsule executing means monitoring means 17 in advance. If any of the verifications fails, the application control unit 18 of the driver 3 forcibly terminates the target application 2.
Other operations are the same as the operations described in the first or second embodiment.
[0073]
In this case, the application is forcibly terminated when the driver detects an abnormal state of the capsule execution unit. Therefore, the capsule execution unit cannot detect the abnormal state of the driver, and as a result, the application saves the application data. When the processing is performed, the encryption processing can be avoided and the application data can be prevented from being written out to the external storage device as plain text.
[0074]
The capsule executing means monitoring means 17 and the application control means 18 may be provided separately from the driver 3.
[0075]
【The invention's effect】
As described above, according to the present invention, there is an effect that application data can be more securely concealed.
[Brief description of the drawings]
FIG. 1 is a block diagram of an information leakage prevention device according to Embodiments 1 and 2 of the present invention.
FIG. 2 is a diagram showing a configuration of a capsule and a configuration of a system including a capsule generation server according to the first embodiment of the present invention.
FIG. 3 is a flowchart illustrating an operation of an initial process at the time of executing a capsule according to the first and second embodiments of the present invention.
FIG. 4 is a flowchart illustrating an operation at the time of reading in the first and second embodiments of the present invention.
FIG. 5 is a diagram showing a configuration of a capsule and a configuration of a system including a capsule generation server according to the second embodiment of the present invention.
FIG. 6 is a block diagram of an information leakage prevention device according to a third embodiment of the present invention.
FIG. 7 is a block diagram showing another embodiment of the information leakage prevention device according to the third embodiment of the present invention.
FIG. 8 is a block diagram of a conventional information leakage prevention device.
FIG. 9 is a flowchart illustrating an operation at the time of reading in a conventional information leakage prevention device.
[Explanation of symbols]
1 capsule execution means, 2 application program, 3 driver, 4 writing means, 5 key management means, 6 encryption means, 7 decryption means, 8 reading means, 9 input / output means, 10 external storage device, 15 driver monitoring means, 16 Application control means, 17 capsule execution means monitoring means, 18 application control means, 21 capsule generation server, 22 key Ka, 23 capsules, 24 users, 25 public key Kp, 26 secret key Kq, 27, application data, 28 encryption Application data, 29 encrypted key Kac, 30 application information, 41 secret key Kx, 42 public key Ky, 43 encrypted secret key Kxc, 43 capsules, 50 capsule processing means, 1001 application, 1002 user authentication means 1003 file system, 1004 drivers, 1005 open means, 1006 read means, 1007 write means, 1008 closed unit, 1009 I / O unit, 1010 an external storage device.

Claims (19)

特定の利用者のみに開示されるアプリケーションデータの漏洩を防止する情報漏洩防止装置であり、
カプセル生成手段と、カプセル処理手段と、記憶手段とを備え、
上記カプセル生成手段は、
任意のデータを暗号化する第1の鍵と該第1の鍵で暗号化されたデータを復号する第2の鍵を生成し、上記第1の鍵で上記アプリケーションデータを暗号化した暗号化アプリケーションデータと、上記第2の鍵を上記利用者の公開鍵で暗号化した暗号化済第2鍵とを含むカプセルを生成し、
上記カプセル処理手段は、
上記カプセル生成手段が生成したカプセルを獲得し、該獲得したカプセルに含まれる暗号化アプリケーションデータを上記記憶手段に書き出し、上記利用者から上記利用者の公開鍵に対応する利用者の秘密鍵を獲得し、該獲得した利用者の秘密鍵で上記カプセルに含まれる暗号化済第2鍵を復号して復号済第2鍵とし、
上記記憶手段から上記暗号化アプリケーションデータを読み出し、該読み出した暗号化アプリケーションデータを上記復号済第2鍵で復号し、
上記記憶手段は
上記カプセル処理手段により書き出された暗号化アプリケーションデータを記憶する
ことを特徴とする情報漏洩防止装置。
It is an information leakage prevention device that prevents leakage of application data disclosed only to specific users,
Capsule generation means, capsule processing means, and storage means,
The capsule generation means,
An encryption application that generates a first key for encrypting arbitrary data and a second key for decrypting data encrypted with the first key, and encrypts the application data with the first key; Generating a capsule including data and an encrypted second key obtained by encrypting the second key with the public key of the user;
The capsule processing means includes:
Obtaining the capsule generated by the capsule generating means, writing the encrypted application data included in the obtained capsule to the storage means, and obtaining the user's private key corresponding to the user's public key from the user And decrypting the encrypted second key included in the capsule with the obtained user's private key to obtain a decrypted second key;
Reading the encrypted application data from the storage means, decrypting the read encrypted application data with the decrypted second key,
An information leakage prevention device, wherein the storage means stores the encrypted application data written by the capsule processing means.
上記第1の鍵と第2の鍵は同一であって、共通鍵方式の鍵であることを特徴とする請求項1に記載の情報漏洩防止装置。2. The information leakage prevention device according to claim 1, wherein the first key and the second key are the same and are keys of a common key system. 上記カプセル生成手段が生成するカプセルは、上記アプリケーションデータを使用するアプリケーションプログラムを特定するアプリケーション情報をさらに含み、
上記カプセル処理手段はさらに、
上記獲得したカプセルから上記アプリケーション情報を獲得して該アプリケーション情報に対応するアプリケーションプログラムを起動し、
該起動されたアプリケーションプログラムが当該カプセル処理手段の管理対象であるかを判定し、
該起動されたアプリケーションプログラムが当該カプセル処理手段の管理対象であると判定した場合は、上記起動されたアプリケーションプログラムが出した読み出し要求に対応して上記記憶装置から読み出し復号した暗号化アプリケーションデータを上記起動されたアプリケーションプログラムに渡す
ことを特徴とする請求項1に記載の情報漏洩防止装置。
The capsule generated by the capsule generating means further includes application information for specifying an application program using the application data,
The capsule processing means further comprises:
Acquiring the application information from the acquired capsule and starting an application program corresponding to the application information;
Determining whether the started application program is a management target of the capsule processing means,
If it is determined that the activated application program is to be managed by the capsule processing means, the encrypted application data read and decrypted from the storage device in response to the read request issued by the activated application program is stored in the storage device. 2. The information leakage prevention device according to claim 1, wherein the information is passed to a started application program.
上記カプセル処理手段は、
上記起動されたアプリケーションプログラムが当該カプセル処理手段の管理対象であるかを判定する際に、
上記記憶手段に記憶された暗号化アプリケーションデータに対する上記起動されたアプリケーションプログラムによる読み出し要求を用いる
ことを特徴とする請求項3に記載の情報漏洩防止装置。
The capsule processing means includes:
When determining whether the started application program is managed by the capsule processing unit,
4. The information leakage prevention device according to claim 3, wherein a read request for the encrypted application data stored in the storage means by the activated application program is used.
上記カプセル処理手段は、カプセル実行手段と、ドライバとを備え、
上記カプセル実行手段は、
上記カプセル生成手段が生成したカプセルを獲得し、該獲得したカプセルに含まれる暗号化アプリケーションデータを上記記憶手段に書き出すよう上記ドライバに指示し、上記利用者から上記利用者の秘密鍵を獲得し、該獲得した利用者の秘密鍵で上記カプセルに含まれる暗号化済第2鍵を復号して復号済第2鍵とし、上記カプセルからアプリケーション情報を獲得して該アプリケーション情報に対応するアプリケーションプログラムを起動し、
上記ドライバは、
上記起動されたアプリケーションプログラムが当該ドライバの管理対象であるかを判定し、
上記起動されたアプリケーションプログラムが当該ドライバの管理対象であると判定した場合は、上記起動されたアプリケーションプログラムが出した読み出し要求に対応して上記記憶装置から上記暗号化アプリケーションデータを読み出し、該読み出した暗号化アプリケーションデータを上記カプセル実行手段が復号した復号済第2鍵で復号して上記アプリケーションプログラムに渡す
ことを特徴とする請求項3に記載の情報漏洩防止装置。
The capsule processing means includes a capsule execution means and a driver,
The capsule executing means includes:
Obtaining the capsule generated by the capsule generation means, instructing the driver to write the encrypted application data included in the obtained capsule to the storage means, obtaining the secret key of the user from the user, The encrypted second key included in the capsule is decrypted with the obtained user's secret key to obtain a decrypted second key, application information is obtained from the capsule, and an application program corresponding to the application information is started. And
The above driver is
Determine whether the started application program is managed by the driver,
When it is determined that the started application program is managed by the driver, the encrypted application data is read from the storage device in response to a read request issued by the started application program, and the read application program is read. 4. The information leakage prevention device according to claim 3, wherein the encrypted application data is decrypted with the decrypted second key decrypted by the capsule executing means and passed to the application program.
上記カプセル実行手段は、
コンピュータが、
上記カプセル生成手段が生成したカプセルを獲得し、該獲得したカプセルに含まれる暗号化アプリケーションデータを上記記憶手段に書き出すよう上記ドライバに指示し、上記利用者から上記利用者の秘密鍵を獲得し、該獲得した利用者の秘密鍵で上記カプセルに含まれる暗号化済第2鍵を復号して復号済第2鍵とし、上記カプセルからアプリケーション情報を獲得して該アプリケーション情報に対応するアプリケーションプログラムを起動する
プログラムを実行することにより実現される
ことを特徴とする請求項5に記載の情報漏洩防止装置。
The capsule executing means includes:
Computer
Obtaining the capsule generated by the capsule generation means, instructing the driver to write the encrypted application data included in the obtained capsule to the storage means, obtaining the secret key of the user from the user, The encrypted second key included in the capsule is decrypted with the obtained user's secret key to obtain a decrypted second key, application information is obtained from the capsule, and an application program corresponding to the application information is started. The information leakage prevention device according to claim 5, wherein the information leakage prevention device is realized by executing a program that performs the information leakage.
上記ドライバは、
コンピュータが、
上記カプセル実行手段により起動されたアプリケーションプログラムが当該ドライバの管理対象であるかを判定し、上記起動されたアプリケーションプログラムが当該ドライバの管理対象であると判定した場合は、上記起動されたアプリケーションプログラムが出した読み出し要求に対応して上記記憶装置から上記暗号化アプリケーションデータを読み出し、該読み出した暗号化アプリケーションデータを上記カプセル実行手段が復号した復号済第2鍵で復号して上記アプリケーションプログラムに渡す
プログラムを実行することにより実現される
ことを特徴とする請求項5に記載の情報漏洩防止装置。
The above driver is
Computer
It is determined whether the application program started by the capsule execution unit is managed by the driver. If the started application program is determined to be managed by the driver, the started application program is A program for reading the encrypted application data from the storage device in response to the issued read request, decrypting the read encrypted application data with the decrypted second key decrypted by the capsule executing means, and passing the decrypted encrypted application data to the application program 6. The information leakage prevention device according to claim 5, wherein the information leakage prevention device is realized by executing the following.
上記ドライバは、
上記起動されたアプリケーションプログラムが当該ドライバの管理対象であるかを判定する際に、
上記記憶手段に記憶された暗号化アプリケーションデータに対する上記起動されたアプリケーションプログラムによる読み出し要求を用いる
ことを特徴とする請求項5に記載の情報漏洩防止装置。
The above driver is
When determining whether the started application program is managed by the driver,
6. The information leakage prevention device according to claim 5, wherein a read request for the encrypted application data stored in the storage unit by the activated application program is used.
上記第1の鍵と第2の鍵は同一であって、共通鍵方式の鍵であることを特徴とする請求項3から請求項8のいずれか1項に記載の情報漏洩防止装置。The information leakage prevention device according to any one of claims 3 to 8, wherein the first key and the second key are the same and are keys of a common key system. 上記ドライバは、
上記カプセル実行手段から復号済第2鍵を獲得し、
上記アプリケーションプログラムが上記読み出し要求に対応して受取り使用したアプリケーションデータの上記記憶手段への書き出し要求をした時は、該アプリケーションデータを上記復号済第2鍵で暗号化して上記記憶手段に書き出す
ことを特徴とする請求項9に記載の情報漏洩防止装置。
The above driver is
Obtaining a decrypted second key from the capsule execution means;
When the application program makes a request to write the received and used application data to the storage means in response to the read request, the application program encrypts the application data with the decrypted second key and writes it to the storage means. The information leakage prevention device according to claim 9, wherein:
上記第1の鍵は上記カプセルの公開鍵であり、上記第2の鍵は該カプセルの公開鍵に対応する秘密鍵であることを特徴とする請求項3から請求項8のいずれか1項に記載の情報漏洩防止装置。9. The method according to claim 3, wherein the first key is a public key of the capsule, and the second key is a secret key corresponding to a public key of the capsule. Information leakage prevention device as described. 上記カプセル生成手段が生成するカプセルはさらに上記第1の鍵を含み、
上記カプセル実行手段は獲得したカプセルから上記第1の鍵を獲得し、
上記ドライバは、
上記カプセル実行手段から上記第1の鍵を獲得し、
上記アプリケーションプログラムが上記読み出し要求に対応して受取り使用したアプリケーションデータの上記記憶手段への書き出し要求をした時は、該アプリケーションデータを上記第1の鍵で暗号化して上記記憶手段に書き出す
ことを特徴とする請求項11に記載の情報漏洩防止装置。
The capsule generated by the capsule generating means further includes the first key,
The capsule executing means obtains the first key from the obtained capsule,
The above driver is
Obtaining the first key from the capsule executing means;
When the application program makes a request to write application data received and used in response to the read request to the storage means, the application data is encrypted with the first key and written to the storage means. The information leakage prevention device according to claim 11, wherein
上記カプセル実行手段は、ドライバ監視手段と第1のアプリケーション制御手段を備え、
上記ドライバ監視手段は、上記ドライバが動作していてかつ該ドライバが改竄されていないことを検証し、
検証できなかった場合は、上記第1のアプリケーション制御手段に指示して上記アプリケーションプログラムを停止する
ことを特徴とする請求項5に記載の情報漏洩防止装置。
The capsule execution means includes a driver monitoring means and a first application control means,
The driver monitoring means verifies that the driver is operating and that the driver has not been tampered with,
6. The information leakage prevention device according to claim 5, wherein when the verification fails, the first application control unit is instructed to stop the application program.
上記ドライバは、ドライバ監視手段監視手段と第2のアプリケーション制御手段を備え、
上記ドライバ監視手段監視手段は、上記ドライバ監視手段が動作していてかつ該ドライバ監視手段が改竄されていないことを検証し、
検証できなかった場合は、上記第2のアプリケーション制御手段に指示して上記アプリケーションプログラムを停止する
ことを特徴とする請求項13に記載の情報漏洩防止装置。
The driver includes a driver monitoring unit monitoring unit and a second application control unit,
The driver monitoring means monitoring means verifies that the driver monitoring means is operating and that the driver monitoring means has not been tampered with,
14. The information leakage prevention device according to claim 13, wherein when verification cannot be performed, the second application control unit is instructed to stop the application program.
上記第1の鍵と第2の鍵はカプセル毎に生成されることを特徴とする請求項1から請求項14のいずれか1項に記載の情報漏洩防止装置。The information leakage prevention device according to any one of claims 1 to 14, wherein the first key and the second key are generated for each capsule. 上記利用者の公開鍵と利用者の秘密鍵に代えて、任意のデータの暗号化および復号に適用可能な共通鍵方式の鍵である利用者鍵を用いることを特徴とする請求項1から請求項15のいずれか1項に記載の情報漏洩防止装置。2. The method according to claim 1, wherein a user key, which is a key of a common key system applicable to encryption and decryption of arbitrary data, is used in place of the user's public key and the user's secret key. Item 16. The information leakage prevention device according to any one of items 15. カプセル生成手段と、カプセル処理手段と、記憶手段とを備え特定の利用者のみに開示されるアプリケーションデータの漏洩を防止する情報漏洩防止装置における情報漏洩防止方法であり、下記ステップを含むことを特徴とする情報漏洩防止方法。
(1)カプセル生成手段が、任意のデータを暗号化する第1の鍵と該第1の鍵で暗号化されたデータを復号する第2の鍵を生成する鍵生成ステップ;
(2)カプセル生成手段が、上記第1の鍵で上記アプリケーションデータを暗号化した暗号化アプリケーションデータと、上記第2の鍵を上記利用者の公開鍵で暗号化した暗号化済第2鍵とを含むカプセルを生成するカプセル生成ステップ;
(3)カプセル処理手段が、上記カプセル生成ステップにおいてカプセル生成手段が生成したカプセルを獲得し、該獲得したカプセルに含まれる暗号化アプリケーションデータを上記記憶手段に書き出す暗号化アプリケーションデータ書き出しステップ;
(4)カプセル処理手段が、上記利用者から上記利用者の公開鍵に対応する利用者の秘密鍵を獲得し、該獲得した利用者の秘密鍵で上記カプセルに含まれる暗号化済第2鍵を復号して復号済第2鍵とする鍵復号ステップ;
(5)カプセル処理手段が、上記暗号化アプリケーションデータ書き出しステップで上記記憶手段に書き出した暗号化アプリケーションデータを記憶手段から読み出し該読み出した暗号化アプリケーションデータを上記復号済第2鍵で復号する暗号化アプリケーションデータ復号ステップ。
An information leakage prevention method for an information leakage prevention device that includes a capsule generation unit, a capsule processing unit, and a storage unit and that prevents application data disclosed only to a specific user from leaking, including the following steps: Information leakage prevention method.
(1) a key generation step in which the capsule generation means generates a first key for encrypting arbitrary data and a second key for decrypting data encrypted with the first key;
(2) Encapsulation means for encrypting the application data with the first key and encrypting the application data, and encrypting the second key with a public key of the user and an encrypted second key. A capsule generating step of generating a capsule including:
(3) an encryption application data writing step in which the capsule processing means obtains the capsule generated by the capsule generation means in the capsule generation step, and writes the encrypted application data included in the obtained capsule into the storage means;
(4) The capsule processing means obtains the user's private key corresponding to the user's public key from the user, and the encrypted second key included in the capsule with the obtained user's private key. A key decryption step for decrypting the second key as a decrypted second key;
(5) Encryption in which the capsule processing means reads the encrypted application data written in the storage means in the encrypted application data writing step from the storage means and decrypts the read encrypted application data with the decrypted second key. Application data decryption step.
請求項17に記載の情報漏洩防止方法において、上記カプセル生成ステップにおいて上記カプセル生成手段が生成するカプセルは、上記アプリケーションデータを使用するアプリケーションプログラムを特定するアプリケーション情報をさらに含み、
上記カプセル処理手段はさらに、下記動作を行うことを特徴とする情報漏洩防止方法。
(6)上記獲得したカプセルから上記アプリケーション情報を獲得して該アプリケーション情報に対応するアプリケーションプログラムを起動するアプリケーションプログラム起動ステップ;
(7)上記アプリケーションプログラム起動ステップにおいて起動されたアプリケーションプログラムが、当該カプセル処理手段の管理対象であるかを判定するアプリケーションプログラム判定ステップ;
(8)上記アプリケーションプログラム判定ステップにおいて、上記起動されたアプリケーションプログラムが当該カプセル処理手段の管理対象であると判定した場合は、上記起動されたアプリケーションプログラムが出した読み出し要求に対応して上記記憶装置から読み出し復号した暗号化アプリケーションデータを上記起動されたアプリケーションプログラムに渡すアプリケーションデータ読み出しステップ。
18. The information leakage prevention method according to claim 17, wherein the capsule generated by the capsule generation unit in the capsule generation step further includes application information for specifying an application program using the application data,
The method for preventing information leakage, wherein the capsule processing means further performs the following operation.
(6) an application program starting step of obtaining the application information from the obtained capsule and starting an application program corresponding to the application information;
(7) an application program determining step of determining whether the application program started in the application program starting step is to be managed by the capsule processing means;
(8) In the application program determining step, when it is determined that the activated application program is to be managed by the capsule processing means, the storage device corresponds to a read request issued by the activated application program. Reading the decrypted encrypted application data from the application program to the activated application program.
上記利用者の公開鍵と利用者の秘密鍵に代えて、任意のデータの暗号化および復号に適用可能な共通鍵方式の鍵である利用者鍵を用いることを特徴とする請求項17または請求項18に記載の情報漏洩防止方法。18. The method according to claim 17, wherein a user key, which is a key of a common key system applicable to encryption and decryption of arbitrary data, is used instead of the user's public key and the user's secret key. Item 19. An information leakage prevention method according to Item 18.
JP2002183878A 2002-06-25 2002-06-25 Information leakage prevention device and information leakage prevention method Expired - Fee Related JP4265156B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002183878A JP4265156B2 (en) 2002-06-25 2002-06-25 Information leakage prevention device and information leakage prevention method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002183878A JP4265156B2 (en) 2002-06-25 2002-06-25 Information leakage prevention device and information leakage prevention method

Publications (2)

Publication Number Publication Date
JP2004030099A true JP2004030099A (en) 2004-01-29
JP4265156B2 JP4265156B2 (en) 2009-05-20

Family

ID=31179909

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002183878A Expired - Fee Related JP4265156B2 (en) 2002-06-25 2002-06-25 Information leakage prevention device and information leakage prevention method

Country Status (1)

Country Link
JP (1) JP4265156B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010503092A (en) * 2006-09-07 2010-01-28 インターナショナル・ビジネス・マシーンズ・コーポレーション Storage system and storage device
JP2011530754A (en) * 2008-08-11 2011-12-22 インターナショナル・ビジネス・マシーンズ・コーポレーション Improved I / O control and efficiency in encrypted file systems
JP2013527533A (en) * 2010-05-20 2013-06-27 アブシオ コーポレイション Method and apparatus for providing content

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010503092A (en) * 2006-09-07 2010-01-28 インターナショナル・ビジネス・マシーンズ・コーポレーション Storage system and storage device
JP2011530754A (en) * 2008-08-11 2011-12-22 インターナショナル・ビジネス・マシーンズ・コーポレーション Improved I / O control and efficiency in encrypted file systems
JP2013527533A (en) * 2010-05-20 2013-06-27 アブシオ コーポレイション Method and apparatus for providing content

Also Published As

Publication number Publication date
JP4265156B2 (en) 2009-05-20

Similar Documents

Publication Publication Date Title
US20210294879A1 (en) Securing executable code integrity using auto-derivative key
JP4089171B2 (en) Computer system
JP4913871B2 (en) Upgrade memory cards with security mechanisms to prevent copying of secure content and applications
US6044155A (en) Method and system for securely archiving core data secrets
JP4099039B2 (en) Program update method
JP4702957B2 (en) Tamper resistant virtual machine
EP1168141B1 (en) A secure and open computer platform
US20110113235A1 (en) PC Security Lock Device Using Permanent ID and Hidden Keys
JP2005310122A (en) File locker, and mechanism for providing and using file locker
US20020112161A1 (en) Method and system for software authentication in a computer system
TW200405963A (en) Sleep protection
JP4662138B2 (en) Information leakage prevention method and system
JPWO2006004130A1 (en) Data management method, program thereof, and program recording medium
JP2007034875A (en) Use management method for peripheral, electronic system and constituent device therefor
US6336189B1 (en) Apparatus and method for data capsule generation
JPH1198134A (en) Method for detecting fraudulent alteration and copy of cookie, and program storage medium
TW201344488A (en) Method and system for protecting PHP program
JP2009059008A (en) File management system
KR20040058278A (en) Method and device for protecting information against unauthorised use
JPH1139156A (en) Enciphered data decoding device
JP4265156B2 (en) Information leakage prevention device and information leakage prevention method
KR20080096054A (en) Method for writing data by encryption and reading the data thereof
JP2008147946A (en) Authentication method, authentication system, and external recording medium
JP4213452B2 (en) Data processing system
JP2000099385A (en) Method and system for security for sharing file among plural users and storage medium for programming and recording the same method

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20040707

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050617

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080919

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081021

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: 20090127

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090209

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120227

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees