(57)【要約】  アクセス制御規則なしにファイルの情報漏洩を防止する情報漏洩防止装置を提供する。情報漏洩防止装置は、データ処理装置、ファイル記憶装置、鍵記憶装置を有する。データ処理装置は、アプリケーションの実行を、このアプリケーションを特定する識別子とこのアプリケーションを起動したユーザを特定する識別子との組であるアクセス識別子によって、このアプリケーションを起動したユーザ毎に検知する実行検知手段と、鍵記憶装置に、アクセス識別子に固有の暗号鍵と復号鍵の組が存在するか否かを確認する鍵確認手段と、アクセス識別子に固有の暗号鍵と復号鍵とを作成し、このアクセス識別子と暗号鍵と復号鍵との組を鍵要素として鍵記憶装置に保存する鍵生成手段と、アプリケーションによるファイルへのアクセスをユーザ毎に検知するアクセス検知手段と、アクセス識別子に固有の暗号鍵及び復号鍵の組を前記鍵記憶装置から取得し、この暗号鍵及び復号鍵の組を用いてデータの暗号化及び復号を行う暗号復号手段とを備える。
2009125830.tif 000002
【特許請求の範囲】
【請求項１】
複数のアプリケーションを複数のユーザ毎にそれぞれ実行するデータ処理装置と、
前記アプリケーションの実行に係るファイルを記憶するファイル記憶装置と、
前記ファイルのデータの暗号化及び復号に用いる暗号鍵及び復号鍵の組を保存する鍵記憶装置と、を有し、
前記データ処理装置は、
前記アプリケーションの実行を、前記アプリケーションを特定する識別子と前記アプリケーションを起動したユーザを特定する識別子との組であるアクセス識別子によって、前記アプリケーションを起動したユーザ毎に検知する実行検知手段と、
前記鍵記憶装置に、前記アクセス識別子に固有の暗号鍵と復号鍵の組が存在するか否かを確認する鍵確認手段と、
前記鍵確認手段が前記アクセス識別子に固有の暗号鍵と復号鍵の組が前記鍵記憶装置に存在しない旨を確認した場合に、前記アクセス識別子に固有の前記暗号鍵と前記復号鍵とを作成し、該アクセス識別子と前記暗号鍵と前記復号鍵との組を鍵要素として前記鍵記憶装置に保存する鍵生成手段と、
前記アプリケーションによる前記ファイルへのアクセスを前記ユーザ毎に検知するアクセス検知手段と、
前記アクセス識別子に固有の暗号鍵及び復号鍵の組を前記鍵記憶装置から取得し、該取得した暗号鍵及び復号鍵の組を用いてデータの暗号化及び復号を行う暗号復号手段と、を備えることを特徴とする情報漏洩防止装置。
【請求項２】
前記実行検知手段は、検知した前記アクセス識別子を前記鍵確認手段に送信し、
前記鍵確認手段は、該受信した前記アクセス識別子を含む前記鍵要素が前記鍵記憶装置に存在するか否かを確認することを特徴とする請求項１に記載の情報漏洩防止装置。
【請求項３】
前記鍵確認手段は、前記実行検知手段から受信したアクセス識別子を含む鍵要素が前記鍵記憶装置に存在しない場合、前記アクセス識別子を前記鍵生成手段に送信し、
前記鍵生成手段は、該受信した前記アクセス識別子に対して固有の前記暗号鍵と前記復号鍵の組を生成し、前記アクセス識別子と前記暗号鍵と前記復号鍵との組を前記鍵要素として前記鍵記憶装置に保存することを特徴とする請求項１又は２記載の情報漏洩防止装置。
【請求項４】
前記アクセス検知手段は、前記アプリケーションによる前記ファイルへの書き込みを検知すると、前記アクセス識別子と前記ファイルのファイル識別子と該書き込みに係るデータとから成る書き込み識別子を前記暗号復号手段に送信し、
前記暗号復号手段は、該受信した前記書き込み識別子が含む前記アクセス識別子について前記鍵記憶装置を検索し、該検索で抽出した前記鍵要素から前記暗号鍵を取得し、該取得した前記暗号鍵を用いて暗号化した前記データを前記ファイルに書き込むことを特徴とする請求項１乃至３のいずれか１項に記載の情報漏洩防止装置。
【請求項５】
前記アクセス検知手段は、前記アプリケーションによる前記ファイルの読み込みを検知すると、前記アクセス識別子と前記ファイルのファイル識別子とから成る読み込み識別子を前記暗号復号手段に送信し、
前記暗号復号手段は、該受信した前記読み込み識別子が含む前記アクセス識別子について前記鍵記憶装置を検索し、該検索で抽出した前記鍵要素から前記復号鍵を取得し、該取得した前記復号鍵を用いて前記ファイルから読み込んだデータを復号し、前記アプリケーションに渡すことを特徴とする請求項１乃至４のいずれか１項に記載の情報漏洩防止装置。
【請求項６】
前記暗号鍵及び前記復号鍵は、それぞれ秘密鍵又は公開鍵のいずれかである、又は、前記暗号鍵及び前記復号鍵は、共通鍵であることを特徴とする請求項１乃至５のいずれか１項に記載の情報漏洩防止装置。
【請求項７】
前記ファイル識別子は、前記ファイルのフルパス名であることを特徴とする請求項４又は５に記載の情報漏洩防止装置。
【請求項８】
前記アクセス識別子は、前記アプリケーションを特定する識別子として、前記アプリケーションの実行ファイル名を、前記ユーザを特定する識別子として、前記ユーザのＩＤを、それぞれ含むことを特徴とする請求項１乃至５のいずれか１項に記載の情報漏洩防止装置。
【請求項９】
前記データ処理装置は、前記アクセス識別子をファイルに付与する識別子付与手段を更に備えることを特徴とする請求項１乃至３のいずれか１項に記載の情報漏洩防止装置。
【請求項１０】
前記アクセス検知手段は、前記アプリケーションによるファイルの作成を検知すると、前記アクセス識別子及び前記ファイルのファイル識別子を前記識別子付与手段に送信し、
前記識別子付与手段は、該受信した前記ファイル識別子を有するファイルに、該受信した前記アクセス識別子を付与することを特徴とする請求項９に記載の情報漏洩防止装置。
【請求項１１】
前記アクセス検知手段は、前記アプリケーションによるファイルへの書き込みを検知すると、前記アクセス識別子が前記ファイルに付与されているか否かを調べ、付与されている場合は前記アクセス識別子と前記ファイル識別子と該書き込みに係るデータとから成る書き込み識別子を前記暗号復号手段に送信し、付与されていない場合は前記アプリケーションにエラー識別子を返し、
前記暗号復号手段は、該受信した前記書き込み識別子が含む前記アクセス識別子について前記鍵記憶装置を検索し、該検索で抽出した前記鍵要素から前記暗号鍵を取得し、該取得した前記暗号鍵を用いて暗号化した前記データを前記ファイルに書き込むことを特徴とする請求項９又は１０に記載の情報漏洩防止装置。
【請求項１２】
前記アクセス検知手段は、前記アプリケーションによるファイルの読み込みを検知すると、前記アクセス識別子が前記ファイルに付与されているか否かを調べ、付与されている場合は前記アクセス識別子と前記ファイル識別子とから成る読み込み識別子を前記暗号復号手段に送信し、付与されていない場合は前記アプリケーションにエラー識別子を返し、
前記暗号復号手段は、該受信した前記読み込み識別子が含む前記アクセス識別子について前記鍵記憶装置を検索し、該検索で抽出した前記鍵要素から前記復号鍵を取得し、該取得した前記復号鍵を用いて前記ファイルから読み込んだデータを復号し、前記アプリケーションに渡すことを特徴とする請求項９乃至１１のいずれか１項に記載の情報漏洩防止装置。
【請求項１３】
前記暗号鍵及び前記復号鍵は、それぞれ秘密鍵又は公開鍵のいずれかである、又は、前記暗号鍵及び前記復号鍵は、共通鍵であることを特徴とする請求項１１又は１２に記載の情報漏洩防止装置。
【請求項１４】
前記ファイル識別子は、前記ファイルのフルパス名であることを特徴とする請求項１０乃至１２のいずれか１項に記載の情報漏洩防止装置。
【請求項１５】
前記アクセス識別子は、前記アプリケーションを特定する識別子として、前記アプリケーションの実行ファイル名を、前記ユーザを特定する識別子として、前記ユーザのＩＤを、それぞれ含むことを特徴とする請求項９乃至１２のいずれか１項に記載の情報漏洩防止装置。
【請求項１６】
複数のアプリケーションを複数のユーザ毎にそれぞれ実行するデータ処理装置と、前記アプリケーションの実行に係るファイルを記憶するファイル記憶装置と、前記ファイルのデータの暗号化及び復号に用いる暗号鍵及び復号鍵の組を保存する鍵記憶装置と、を有するシステムにおける情報漏洩防止方法であって、
前記アプリケーションの実行を、前記アプリケーションを特定する識別子と前記アプリケーションを起動したユーザを特定する識別子との組であるアクセス識別子によって、前記アプリケーションを起動したユーザ毎に検知する実行検知手順と、
前記鍵記憶装置に、前記アクセス識別子に固有の暗号鍵と復号鍵の組が存在するか否かを確認する鍵確認手順と、
前記鍵確認手順で前記アクセス識別子に固有の暗号鍵と復号鍵の組が前記鍵記憶装置に存在しない旨が確認された場合に、前記アクセス識別子に固有の暗号鍵と復号鍵の組を生成し、該アクセス識別子と前記暗号鍵と前記復号鍵との組を鍵要素として前記鍵記憶装置に保存する鍵生成手順と、
前記アプリケーションによる前記ファイルへのアクセスを前記ユーザ毎に検知するアクセス検知手順と、
前記アクセス識別子に固有の暗号鍵及び復号鍵の組を前記鍵記憶装置から取得する手順と、
該取得した暗号鍵及び復号鍵の組を用いてデータの暗号化及び復号を行う暗号復号手順と、
を備えることを特徴とする情報漏洩防止方法。
【請求項１７】
前記アクセス検知手順は、前記アプリケーションによる前記ファイルへの書き込みを検知すると、前記アクセス識別子と前記ファイルのファイル識別子と該書き込みに係るデータとから成る書き込み識別子を前記暗号復号手順に引き渡し、
前記暗号復号手順は、前記書き込み識別子が含む前記アクセス識別子について前記鍵記憶装置を検索し、該検索で抽出した前記鍵要素から前記暗号鍵を取得し、該取得した前記暗号鍵を用いて暗号化した前記データを前記ファイルに書き込むことを特徴とする請求項１６に記載の情報漏洩防止方法。
【請求項１８】
前記アクセス検知手順は、前記アプリケーションによる前記ファイルの読み込みを検知すると、前記アクセス識別子と前記ファイルのファイル識別子とから成る読み込み識別子を前記暗号復号手順に引き渡し、
前記暗号復号手順は、該受信した前記読み込み識別子が含む前記アクセス識別子について前記鍵記憶装置を検索し、該検索で抽出した前記鍵要素から前記復号鍵を取得し、該取得した前記復号鍵を用いて前記ファイルから読み込んだデータを復号し、前記アプリケーションに渡すことを特徴とする請求項１６又は１７に記載の情報漏洩防止方法。
【請求項１９】
前記暗号鍵及び前記復号鍵は、それぞれ秘密鍵又は公開鍵のいずれかである、又は、前記暗号鍵及び前記復号鍵は、共通鍵であることを特徴とする請求項１６乃至１８のいずれか１項に記載の情報漏洩防止方法。
【請求項２０】
前記ファイル識別子は、前記ファイルのフルパス名であることを特徴とする請求項１７又は１８に記載の情報漏洩防止方法。
【請求項２１】
前記アクセス識別子は、前記アプリケーションを特定する識別子として、前記アプリケーションの実行ファイル名を、前記ユーザを特定する識別子として、前記ユーザのＩＤを、それぞれ含むことを特徴とする請求項１６乃至１８のいずれか１項に記載の情報漏洩防止方法。
【請求項２２】
前記アクセス識別子をファイルに付与する識別子付与手順を更に備え、
前記アクセス検知手順は、前記アプリケーションによるファイルの作成を検知すると、前記アクセス識別子及び前記ファイルのファイル識別子を前記識別子付与手順に引き渡し、
前記識別子付与手順は、前記ファイル識別子を有するファイルに、前記アクセス識別子を付与することを特徴とする請求項１６に記載の情報漏洩防止方法。
【請求項２３】
前記アクセス検知手順は、前記アプリケーションによるファイルへの書き込みを検知すると、前記アクセス識別子が前記ファイルに付与されているか否かを調べ、付与されている場合は前記アクセス識別子と前記ファイル識別子と該書き込みに係るデータとから成る書き込み識別子を前記暗号復号手順に引き渡し、付与されていない場合は前記アプリケーションにエラー識別子を返し、
前記暗号復号手順は、前記書き込み識別子が含む前記アクセス識別子について前記鍵記憶装置を検索し、該検索で抽出した前記鍵要素から前記暗号鍵を取得し、該取得した前記暗号鍵を用いて暗号化した前記データを前記ファイルに書き込むことを特徴とする請求項２２に記載の情報漏洩防止方法。
【請求項２４】
前記アクセス検知手順は、前記アプリケーションによるファイルの読み込みを検知すると、前記アクセス識別子が前記ファイルに付与されているか否かを調べ、付与されている場合は前記アクセス識別子と前記ファイル識別子とから成る読み込み識別子を前記暗号復号手順に引き渡し、付与されていない場合は前記アプリケーションにエラー識別子を返し、
前記暗号復号手順は、前記読み込み識別子が含む前記アクセス識別子について前記鍵記憶装置を検索し、該検索で抽出した前記鍵要素から前記復号鍵を取得し、該取得した前記復号鍵を用いて前記ファイルから読み込んだデータを復号し、前記アプリケーションに渡すことを特徴とする請求項２２又は２３に記載の情報漏洩防止方法。
【請求項２５】
前記暗号鍵及び前記復号鍵は、それぞれ秘密鍵又は公開鍵のいずれかである、又は、前記暗号鍵及び前記復号鍵は、共通鍵であることを特徴とする請求項２３又は２４に記載の情報漏洩防止方法。
【請求項２６】
前記ファイル識別子は、前記ファイルのフルパス名であることを特徴とする請求項２２乃至２４のいずれか１項に記載の情報漏洩防止方法。
【請求項２７】
前記アクセス識別子は、前記アプリケーションを特定する識別子として、前記アプリケーションの実行ファイル名を、前記ユーザを特定する識別子として、前記ユーザのＩＤを、それぞれ含むことを特徴とする請求項２２乃至２４のいずれか１項に記載の情報漏洩防止方法。
【請求項２８】
複数のアプリケーションを複数のユーザ毎にそれぞれ実行するデータ処理装置と、前記アプリケーションの実行に係るファイルを記憶するファイル記憶装置と、前記ファイルのデータの暗号化及び復号に用いる暗号鍵及び復号鍵の組を保存する鍵記憶装置と、を有するシステムにおける情報漏洩防止プログラムであって、
前記アプリケーションの実行を、前記アプリケーションを特定する識別子と前記アプリケーションを起動したユーザを特定する識別子との組であるアクセス識別子によって、前記アプリケーションを起動したユーザ毎に検知する実行検知処理と、
前記鍵記憶装置に、前記アクセス識別子に固有の暗号鍵と復号鍵の組が存在するか否かを確認する鍵確認処理と、
前記鍵確認処理で前記アクセス識別子に固有の暗号鍵と復号鍵の組が前記鍵記憶装置に存在しない旨が確認された場合に、前記アクセス識別子に固有の暗号鍵と復号鍵の組を生成し、該アクセス識別子と前記暗号鍵と前記復号鍵との組を鍵要素として前記鍵記憶装置に保存する鍵生成処理と、
前記アプリケーションによる前記ファイルへのアクセスを前記ユーザ毎に検知するアクセス検知処理と、
前記アクセス識別子に固有の暗号鍵及び復号鍵の組を前記鍵記憶装置から取得する処理と、
該取得した暗号鍵及び復号鍵の組を用いてデータの暗号化及び復号を行う暗号復号処理と、
をコンピュータに実行させることを特徴とする情報漏洩防止プログラム。
【請求項２９】
前記アクセス検知処理は、前記アプリケーションによる前記ファイルへの書き込みを検知すると、前記アクセス識別子と前記ファイルのファイル識別子と該書き込みに係るデータとから成る書き込み識別子を前記暗号復号処理に引き渡し、
前記暗号復号処理は、前記書き込み識別子が含む前記アクセス識別子について前記鍵記憶装置を検索し、該検索で抽出した前記鍵要素から前記暗号鍵を取得し、該取得した前記暗号鍵を用いて暗号化した前記データを前記ファイルに書き込むことを特徴とする請求項２８に記載の情報漏洩防止プログラム。
【請求項３０】
前記アクセス検知処理は、前記アプリケーションによる前記ファイルの読み込みを検知すると、前記アクセス識別子と前記ファイルのファイル識別子とから成る読み込み識別子を前記暗号復号処理に引き渡し、
前記暗号復号処理は、該受信した前記読み込み識別子が含む前記アクセス識別子について前記鍵記憶装置を検索し、該検索で抽出した前記鍵要素から前記復号鍵を取得し、該取得した前記復号鍵を用いて前記ファイルから読み込んだデータを復号し、前記アプリケーションに渡すことを特徴とする請求項２８又は２９に記載の情報漏洩防止プログラム。
【請求項３１】
前記暗号鍵及び前記復号鍵は、それぞれ秘密鍵又は公開鍵のいずれかである、又は、前記暗号鍵及び前記復号鍵は、共通鍵であることを特徴とする請求項２８乃至３０のいずれか１項に記載の情報漏洩防止プログラム。
【請求項３２】
前記ファイル識別子は、前記ファイルのフルパス名であることを特徴とする請求項２９又は３０に記載の情報漏洩防止プログラム。
【請求項３３】
前記アクセス識別子は、前記アプリケーションを特定する識別子として、前記アプリケーションの実行ファイル名を、前記ユーザを特定する識別子として、前記ユーザのＩＤを、それぞれ含むことを特徴とする請求項２８乃至３０のいずれか１項に記載の情報漏洩防止プログラム。
【請求項３４】
前記アクセス検知処理は、前記アプリケーションによるファイルの作成を検知すると、前記アクセス識別子及び前記ファイルのファイル識別子を取得し、
前記アクセス検知処理から前記アクセス識別子及び前記ファイル識別子を取得し、前記ファイル識別子を有するファイルに、前記アクセス識別子を付与する識別子付与処理を更にコンピュータに実行させることを特徴とする請求項２８に記載の情報漏洩防止プログラム。
【請求項３５】
前記アクセス検知処理は、前記アプリケーションによるファイルへの書き込みを検知すると、前記アクセス識別子が前記ファイルに付与されているか否かを調べ、付与されている場合は前記アクセス識別子と前記ファイル識別子と該書き込みに係るデータとから成る書き込み識別子を前記暗号復号処理に引き渡し、付与されていない場合は前記アプリケーションにエラー識別子を返し、
前記暗号復号処理は、前記書き込み識別子が含む前記アクセス識別子について前記鍵記憶装置を検索し、該検索で抽出した前記鍵要素から前記暗号鍵を取得し、該取得した前記暗号鍵を用いて暗号化した前記データを前記ファイルに書き込むことを特徴とする請求項３４に記載の情報漏洩防止プログラム。
【請求項３６】
前記アクセス検知処理は、前記アプリケーションによるファイルの読み込みを検知すると、前記アクセス識別子が前記ファイルに付与されているか否かを調べ、付与されている場合は前記アクセス識別子と前記ファイル識別子とから成る読み込み識別子を前記暗号復号処理に引き渡し、付与されていない場合は前記アプリケーションにエラー識別子を返し、
前記暗号復号処理は、前記読み込み識別子が含む前記アクセス識別子について前記鍵記憶装置を検索し、該検索で抽出した前記鍵要素から前記復号鍵を取得し、該取得した前記復号鍵を用いて前記ファイルから読み込んだデータを復号し、前記アプリケーションに渡すことを特徴とする請求項３４又は３５に記載の情報漏洩防止プログラム。
【請求項３７】
前記暗号鍵及び前記復号鍵は、それぞれ秘密鍵又は公開鍵のいずれかである、又は、前記暗号鍵及び前記復号鍵は、共通鍵であることを特徴とする請求項３５又は３６に記載の情報漏洩防止プログラム。
【請求項３８】
前記ファイル識別子は、前記ファイルのフルパス名であることを特徴とする請求項３４乃至３６のいずれか１項に記載の情報漏洩防止プログラム。
【請求項３９】
前記アクセス識別子は、前記アプリケーションを特定する識別子として、前記アプリケーションの実行ファイル名を、前記ユーザを特定する識別子として、前記ユーザのＩＤを、それぞれ含むことを特徴とする請求項３４乃至３６のいずれか１項に記載の情報漏洩防止プログラム。
【請求項４０】
請求項１乃至１５のいずれか１項に記載の情報漏洩防止装置を備えたことを特徴とする端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報漏洩防止装置、その方法及びそのプログラムに係り、特に端末内で作成したファイルからの情報漏洩防止に関し、アプリケーションとそのアプリケーションの利用者を組としてファイルを暗号化し、ファイルを作成した利用者であっても、そのファイルの作成に用いたアプリケーション以外からはファイルを利用できないようにする情報漏洩防止装置、その方法及びそのプログラムに関する。
【背景技術】
【０００２】
近年、ウィルス感染による、ＰＣ（Personal Computer）などの端末に記録されているファイルやファイル内の情報の流出が増えている。このようなファイルの流出を防ぐためには、ファイルへのアクセス権限を適切に設定し、アプリケーションによるファイルへのアクセスを設定したアクセス権限に基づいて適切に制御することが有効である。【０００３】
アクセス権限の設定とアクセス権限に基づくアクセス制御技術として、非特許文献１があげられる。非特許文献１では、任意アクセス制御と強制アクセス制御について述べている。【０００４】
任意アクセス制御では、リソースの所有者がアクセス者の属性ごとにアクセス権限を設定する。ＯＳ（Operating System）は、設定されたアクセス権限に基づき、アクセス者によるリソースへのアクセスを制御する。【０００５】
任意アクセス制御の例として、Ｌｉｎｕｘにおけるファイルへのアクセス制御があげられる。Ｌｉｎｕｘでは、ファイルの所有者がファイルに対して、ユーザ（アクセス者）の属性（所有者、グループ、全員）ごとにアクセス権限（読み込み、書き込み、実行）を設定する。そのため、ファイルへのアクセス権限の設定は、ファイルの所有者に依存し、また、ファイルごとに設定を行う必要がある。このため、すべてのファイルに対して適切なアクセス権限が設定されていることは保証できない。【０００６】
一方、任意アクセス制御のようなアクセス制御規則が存在しない環境では、ウィルスなどによるファイル内からの情報漏洩が起こり得る。その理由は、任意アクセス制御ではユーザ単位でアクセス制御を行うため、ウィルスがユーザ権限で動作すれば、ユーザが作成したファイルから情報を取得できるためである。【０００７】
強制アクセス制御では、システム管理者がアクセス者とリソースをセキュリティ・レベルで段階分けする。そして、アクセス者がアクセス可能なリソースとそのリソースに対するアクセス権限を、セキュリティ・レベル単位で設定する。この設定をセキュリティポリシと呼ぶ。【０００８】
ＯＳは、セキュリティポリシに基づき、アクセス者によるリソースへのアクセスを制御する。そのため、セキュリティポリシが適切に設定されていれば、ウィルスが動作したとしても、アクセス可能なリソースが限定され、重要なファイルやファイル内の情報の流出を防ぐことができる。【０００９】
強制アクセス制御の例として、ＳＥＬｉｎｕｘ（Security-Enhanced Linux）におけるファイルへのアクセス制御があげられる。ＳＥＬｉｎｕｘでは、管理者がアクセス者（アプリケーション）がリソース（たとえばファイル）に対してどのようなアクセス（たとえば読み込み、書き込み）が可能かをアクセス制御規則として記述する。【００１０】
ＳＥＬｉｎｕｘは、アクセス制御規則に基づいてアプリケーションによるファイルへのアクセスを制御する。そのため、リソースへのアクセス権限の設定は管理者が一元管理できるが、アクセス者、リソース、アクセスの関係をアクセス制御規則として記述する必要があり、アクセス者数、リソースの種類、アクセスの種類の増加に伴い、アクセス制御規則が複雑になる。【００１１】
以上のように、任意アクセス制御は、強制アクセス制御と比較してアクセス権限の管理が容易であるが、すべてのファイルに対して適切なアクセス権限が設定されていることは保証できないため、ウィルスなどに感染したときに情報漏洩が容易に起こりうる。【００１２】
一方で、強制アクセス制御は、ウィルスなどに感染したときの情報漏洩が起こりにくいが、アクセス制御規則の作成が複雑であり、ユーザ数、アプリケーション（アプリケーションソフトウェア）数、リソースの種類、アクセスの種類の増減に伴い保守が必要となる。【００１３】
そのため、暗号鍵を用いてファイルを暗号化し、復号鍵を用いて暗号化したファイルを復号する技術がある（例えば、特許文献１〜４参照）。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開２００６−２６２４５０号公報
【特許文献２】特開２００７−１０８８８３号公報
【特許文献３】特開平０２−００４０３７号公報
【特許文献４】特開平０９−１３４３１１号公報
【非特許文献】
【００１５】
【非特許文献１】アクセス制御の種類---DAC,MAC,RBAC（http://itpro.nikkeibp.co.jp/article/COLUMN/20060526/239136/）
【発明の概要】
【発明が解決しようとする課題】
【００１６】
しかしながら、特許文献１の技術は、モデル名等のユーザが変更不能な機器固有の情報と管理者情報等のユーザが変更可能な情報とから鍵を生成している。この方式では、暗号化時及び復号化時に鍵を毎回生成するため、暗号化と復号で同じ鍵を使う共通暗号鍵方式しか採用できないという問題点がある。【００１７】
特許文献２の技術は、アクセス権ＩＤをアクセス管理サーバに送信し、アクセス管理サーバから暗号鍵を受信してファイルを暗号化し、暗号化ファイルを所定領域に格納する。このため、あらかじめ保管されている鍵を用いてファイルを暗号化する方式しか利用できないという問題点がある。【００１８】
特許文献３は、パケットから知ったユーザ識別子から、ファイルへのアクセス権をチェックするというものに過ぎない。【００１９】
又、特許文献４は、媒体から読み出した媒体ＩＤから個別鍵を生成し、この個別鍵を用いて媒体から読み出した許諾情報を復号してデータ復号鍵を生成し、このデータ復号鍵で媒体から読み出した暗号化データを復号して元のデータを生成する。これにより、暗号化データの機密保持を図る。このため、特許文献４では、鍵の生成等のアクセス制御が煩雑であるという問題点がある。【００２０】
本発明は、上記に鑑みてなされたもので、強制アクセス制御等のようなアクセス制御規則を必要とせずにウィルスなどによるファイル内からの情報漏洩を防止する情報漏洩防止装置、その方法及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【００２１】
上述の課題を解決するため、本発明に係る情報漏洩防止装置は、複数のアプリケーションを複数のユーザ毎にそれぞれ実行するデータ処理装置と、前記アプリケーションの実行に係るファイルを記憶するファイル記憶装置と、前記ファイルのデータの暗号化及び復号に用いる暗号鍵及び復号鍵の組を保存する鍵記憶装置と、を有し、前記データ処理装置は、前記アプリケーションの実行を、前記アプリケーションを特定する識別子と前記アプリケーションを起動したユーザを特定する識別子との組であるアクセス識別子によって、前記アプリケーションを起動したユーザ毎に検知する実行検知手段と、前記鍵記憶装置に、前記アクセス識別子に固有の暗号鍵と復号鍵の組が存在するか否かを確認する鍵確認手段と、前記鍵確認手段が前記アクセス識別子に固有の暗号鍵と復号鍵の組が前記鍵記憶装置に存在しない旨を確認した場合に、前記アクセス識別子に固有の前記暗号鍵と前記復号鍵とを作成し、該アクセス識別子と前記暗号鍵と前記復号鍵との組を鍵要素として前記鍵記憶装置に保存する鍵生成手段と、前記アプリケーションによる前記ファイルへのアクセスを前記ユーザ毎に検知するアクセス検知手段と、前記アクセス識別子に固有の暗号鍵及び復号鍵の組を前記鍵記憶装置から取得し、該取得した暗号鍵及び復号鍵の組を用いてデータの暗号化及び復号を行う暗号復号手段と、を備えることを特徴とする。【００２２】
上述の課題を解決するため、本発明に係る情報漏洩防止方法は、複数のアプリケーションを複数のユーザ毎にそれぞれ実行するデータ処理装置と、前記アプリケーションの実行に係るファイルを記憶するファイル記憶装置と、前記ファイルのデータの暗号化及び復号に用いる暗号鍵及び復号鍵の組を保存する鍵記憶装置と、を有するシステムにおける情報漏洩防止方法であって、前記アプリケーションの実行を、前記アプリケーションを特定する識別子と前記アプリケーションを起動したユーザを特定する識別子との組であるアクセス識別子によって、前記アプリケーションを起動したユーザ毎に検知する実行検知手順と、前記鍵記憶装置に、前記アクセス識別子に固有の暗号鍵と復号鍵の組が存在するか否かを確認する鍵確認手順と、前記鍵確認手順で前記アクセス識別子に固有の暗号鍵と復号鍵の組が前記鍵記憶装置に存在しない旨が確認された場合に、前記アクセス識別子に固有の暗号鍵と復号鍵の組を生成し、該アクセス識別子と前記暗号鍵と前記復号鍵との組を鍵要素として前記鍵記憶装置に保存する鍵生成手順と、前記アプリケーションによる前記ファイルへのアクセスを前記ユーザ毎に検知するアクセス検知手順と、前記アクセス識別子に固有の暗号鍵及び復号鍵の組を前記鍵記憶装置から取得する手順と、該取得した暗号鍵及び復号鍵の組を用いてデータの暗号化及び復号を行う暗号復号手順と、を備えることを特徴とする。【００２３】
上述の課題を解決するため、本発明に係る情報漏洩防止プログラムは、複数のアプリケーションを複数のユーザ毎にそれぞれ実行するデータ処理装置と、前記アプリケーションの実行に係るファイルを記憶するファイル記憶装置と、前記ファイルのデータの暗号化及び復号に用いる暗号鍵及び復号鍵の組を保存する鍵記憶装置と、を有するシステムにおける情報漏洩防止プログラムであって、前記アプリケーションの実行を、前記アプリケーションを特定する識別子と前記アプリケーションを起動したユーザを特定する識別子との組であるアクセス識別子によって、前記アプリケーションを起動したユーザ毎に検知する実行検知処理と、前記鍵記憶装置に、前記アクセス識別子に固有の暗号鍵と復号鍵の組が存在するか否かを確認する鍵確認処理と、前記鍵確認処理で前記アクセス識別子に固有の暗号鍵と復号鍵の組が前記鍵記憶装置に存在しない旨が確認された場合に、前記アクセス識別子に固有の暗号鍵と復号鍵の組を生成し、該アクセス識別子と前記暗号鍵と前記復号鍵との組を鍵要素として前記鍵記憶装置に保存する鍵生成処理と、前記アプリケーションによる前記ファイルへのアクセスを前記ユーザ毎に検知するアクセス検知処理と、前記アクセス識別子に固有の暗号鍵及び復号鍵の組を前記鍵記憶装置から取得する処理と、該取得した暗号鍵及び復号鍵の組を用いてデータの暗号化及び復号を行う暗号復号処理と、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００２４】
本発明によれば、アプリケーションの実行を、アプリケーションを特定する識別子とこのアプリケーションを起動したユーザを特定する識別子との組であるアクセス識別子によって、ユーザ毎に検知し、アクセス識別子に固有の暗号鍵と復号鍵の組が鍵記憶装置に存在しない場合に、このアクセス識別子に固有の暗号鍵と復号鍵とを作成し、アプリケーションによる前記ファイルへのアクセスを前記ユーザ毎に検知し、アクセス識別子に固有の暗号鍵及び復号鍵を用いてデータの暗号化及び復号を行うことにより、強制アクセス制御等のようなアクセス制御規則を必要とせずにウィルスなどによるファイル内からの情報漏洩を防止する情報漏洩防止装置、その方法及びそのプログラムを得ることができる。
【図面の簡単な説明】
【００２５】
【図１】本発明の第１の実施の形態に係る情報漏洩防止装置を用いた端末の構成を示すブロック図である。
【図２】図１に示す実行検知手段の動作を示す流れ図である。
【図３】図１に示す鍵確認手段の動作を示す流れ図である。
【図４】図１に示す鍵生成手段の動作を示す流れ図である。
【図５】図１に示すアクセス検知手段の動作を示す流れ図である。
【図６】図１に示す暗号復号手段の動作を示す流れ図である。
【図７】図１に示す情報漏洩防止装置を用いた端末の具体例を示すブロック図である。
【図８】本発明の第２の実施の形態に係る情報漏洩防止装置を用いた端末の構成を示すブロック図である。
【図９】図８に示すアクセス検知手段の動作を示す流れ図である。
【図１０】図８に示す識別子付与手段の動作を示す流れ図である。
【図１１】図８に示す情報漏洩防止装置を用いた端末の具体例を示すブロック図である。
【発明を実施するための形態】
【００２６】
次に、本発明に係る情報漏洩防止装置、その方法及びそのプログラムの実施の形態について、図面を参照して詳細に説明する。
【００２７】
［第１の実施の形態］
図１は、本発明の第１の実施の形態に係る情報漏洩防止装置を用いた端末の構成を示すブロック図である。この図１において、本実施の形態に係る情報漏洩防止装置は、端末５０に搭載されている。この端末５０は、データ処理装置１０と、鍵記憶装置２０と、ファイル記憶装置３０と、複数のアプリケーション（アプリケーションソフトウェア）１〜Ｎとを含む。
【００２８】
データ処理装置１０は、複数のアプリケーション１〜Ｎを複数のユーザ毎にそれぞれ実行するもので、本実施の形態では、実行検知手段１０１と、鍵確認手段１０２と、鍵生成手段１０３と、アクセス検知手段１０４と、暗号復号手段１０５とを含む。
【００２９】
実行検知手段１０１は、アクセス識別子が示すアプリケーションの実行を検知すると、アクセス識別子を鍵確認手段１０２に送信する。なお、アクセス識別子とは、ユーザを特定する識別子とアプリケーションを特定する識別子との組のことをいう。ユーザを特定する識別子には、ユーザのＩＤを用いればよいし、アプリケーションを特定する識別子は、そのアプリケーションの実行ファイル名でよい。
【００３０】
鍵確認手段１０２は、アクセス識別子を実行検知手段１０１から受信すると、鍵記憶装置２０にアクセス識別子を含む鍵要素が存在するか否かを確認する。鍵要素が存在しない場合は、実行検知手段１０１から受信したアクセス識別子を鍵生成手段１０３に送信する。なお、鍵要素とは、アクセス識別子と鍵の組のことをいい、鍵とは、データの暗号化に用いる暗号鍵と暗号化されたデータを復号する復号鍵とが組になったものをいう。
【００３１】
鍵生成手段１０３は、アクセス識別子を鍵確認手段１０２から受信すると、そのアクセス識別子に対して一意な鍵を生成し、そのアクセス識別子及び作成した鍵からなる鍵要素を鍵記憶装置２０に保存する。
【００３２】
アクセス検知手段１０４は、ファイルへの書き込みを検知すると、書き込み識別子を暗号復号手段１０５に送信し、ファイルの読み込みを検知すると、読み込み識別子を暗号復号手段１０５に送信する。なお、書き込み識別子とは、書き込みを指示したアクセス識別子とファイル識別子と書き込むデータとの組のことをいい、読み込み識別子とは、読み込みを指示したアクセス識別子とファイル識別子の組のことをいう。ファイル識別子には、そのファイルのファイル名を用いる。
【００３３】
暗号復号手段１０５は、書き込み識別子をアクセス検知手段１０４から受信すると、この書き込み識別子に含まれるアクセス識別子を有する鍵要素を鍵記憶装置２０から検索し、この検索によって抽出した鍵要素から暗号鍵を取得し、書き込みデータをこの暗号鍵で暗号化した後に、ファイル記憶装置３０上のファイル識別子が示すファイルに暗号化したデータを書き込む。
【００３４】
又、暗号復号手段１０５は、読み込み識別子をアクセス検知手段１０４から受信すると、この読み込み識別子に含まれるアクセス識別子を有する鍵要素を鍵記憶装置２０から検索し、この検索によって抽出した鍵要素から復号鍵を取得し、ファイル記憶装置３０上のファイル識別子が示すファイルから読み込んだデータを復号鍵で復号した後に、アクセス識別子が示すアプリケーションに復号したデータを渡す。
【００３５】
鍵記憶装置２０は、前述の鍵要素を記憶する。
【００３６】
ファイル記憶装置３０は、アプリケーションが作成したファイルを記憶する。
【００３７】
次に、図１〜図６を参照して、本実施の形態に係る情報漏洩防止装置の全体の動作について詳細に説明する。なお、鍵記憶装置２０には鍵要素が登録されていないとする。
【００３８】
図２は、図１に示す実行検知手段１０１の動作を示す流れ図である。今、ユーザＡ（図示せず）がアプリケーションＭ（１≦Ｍ≦Ｎ）を起動したとする。このときユーザＡとアプリケーションＭからなるアクセス識別子をアクセス識別子α（図示せず）と表記する。
【００３９】
実行検知手段１０１は、アプリケーションＭの実行を検知すると（ステップＳ１０１）、アクセス識別子αを鍵確認手段１０２に送信する（ステップＳ１０２）。
【００４０】
図３は、図１に示す鍵確認手段１０２の動作を示す流れ図である。この図４において、鍵確認手段１０２はアクセス識別子αを受信すると（ステップＳ２０１）、鍵記憶装置２０にアクセス識別子αを含む鍵要素が存在するか否かを確認する（ステップＳ２０２）。
【００４１】
前述のように、鍵記憶装置２０には、鍵要素が保存されていないため、鍵確認手段１０２は、アクセス識別子αを鍵生成手段１０３に送信する（ステップＳ２０３）。
【００４２】
一方で、ステップＳ２０２において、鍵記憶装置２０に鍵要素が保存されている場合（ＹＥＳ）、鍵確認手段１０２は、アクセス識別子αを鍵生成手段１０３に送信することなく、図３の処理を終了する。
【００４３】
図４は、図１に示す鍵生成手段１０３の動作を示す流れ図である。この図４において、鍵生成手段１０３は、アクセス識別子αを鍵確認手段１０２から受信すると（ステップＳ３０１）、アクセス識別子αに対して一意な鍵α１（鍵α１は、暗号鍵α２と復号鍵α３との組を指す）を生成し（ステップＳ３０２）、アクセス識別子αと鍵α１からなる鍵要素α４を生成する（ステップＳ３０３）。そして、鍵要素α４を鍵記憶装置２０に保存する（ステップＳ３０４）。
【００４４】
今、アプリケーションＭがファイル識別子１（図示せず）を持つファイル１（図示せず）にデータ１（図示せず）の書き込みを行うとする場合を、図５及び図６を用いて説明する。ここで、図５は、図１に示すアクセス検知手段１０４の動作を示す流れ図であり、図６は、図１に示す暗号復号手段１０５の動作を示す流れ図である。
【００４５】
まず、図５のステップＳ４０１において、アクセス検知手段１０４は、ファイル１への書き込みを検知すると（ＹＥＳ）、アクセス識別子αとファイル識別子１とデータ１からなる書き込み識別子１（図示せず）を暗号復号手段１０５に送信する（ステップＳ４０２）。
【００４６】
次に、図６において、暗号復号手段１０５は、書き込み識別子１を受信すると（ステップＳ５０１）、アクセス識別子αを含む鍵要素α４を鍵記憶装置２０から検索し、鍵要素α４から暗号鍵α２を取得する（ステップＳ５０２）。
【００４７】
更に、暗号復号手段１０５は、取得した暗号鍵α２を用いてデータ１を暗号化した後に、ファイル記憶装置３０上のファイル１に暗号化したデータ１を書き込む（ステップＳ５０３）。
【００４８】
次に、アプリケーションＭがファイル識別子１を持つファイル１からデータ２（図示せず）の読み込みを行うとする場合を、図５及び図６を用いて説明する。
【００４９】
図５のステップＳ４０１において、ファイル１への書き込みを検知しなかった場合（ＮＯ）、アクセス検知手段１０４は、ステップＳ４０３において読み込みを検知したか否かを確認し、検知した場合（ＹＥＳ）、アクセス識別子αとファイル識別子１からなる読み込み識別子１（図示せず）を暗号復号手段１０５に送信する（ステップＳ４０４）。
【００５０】
なお、ステップＳ４０３において、読み込みを検知しなかった場合（ＮＯ）、アクセス検知手段１０４は、書き込み識別子又は読み込み識別子を暗号復号手段１０５に送信することなく、図６の処理を終了する。
【００５１】
図６のステップＳ５０１において、書き込み識別子を受信しなかった場合（ＮＯ）、暗号復号手段１０５は、ステップＳ５０４において読み込み識別子１を受信したか否かを確認し、受信した場合（ＹＥＳ）、アクセス識別子αを含む鍵要素α４を鍵記憶装置２０から検索し、鍵要素α４から復号鍵α３を取得する（ステップＳ５０５）。
【００５２】
続いて、暗号復号手段１０５は、ファイル記憶装置３０上のファイル１から読み込んだデータ２を復号鍵α３で復号した後に、アプリケーションＭに復号したデータ２を渡す（ステップＳ５０６）。
【００５３】
なお、ステップＳ５０４において、読み込み識別子を受信しなかった場合（ＮＯ）、暗号復号手段１０５は、データの暗号化又は復号を行うことなく、図６の処理を終了する。
【００５４】
次に、図１に示す本実施の形態に係る情報漏洩防止装置を用いた端末の具体例について、図７を参照して説明する。
【００５５】
図１に示す端末５０は、一例として、図７に示すＰＣ（Personal Computer）５１に適用される。このＰＣ５１は、データ処理装置としてプログラム制御で動作するＣＰＵ（Central Processing Unit）１１を、鍵記憶装置として書き換え可能な不揮発性メモリであるＦｌａｓｈメモリ２１を、ファイル記憶装置としてＨＤＤ（Hard Disk Drive）３１を、複数のアプリケーションとしてメーラ４１とＷＥＢサーバ４２とを持つ。
【００５６】
ＣＰＵ１１は、図７の例では、実行検知手段１１１、鍵確認手段１１２、鍵生成手段１１３、アクセス検知手段１１４及び暗号復号手段１１５として動作する。これら各手段１１１〜１１５としてＣＰＵ１１を動作させるプログラムは、情報漏洩防止プログラムとして、ＰＣ５１内のプログラムを格納する記憶装置（非図示）に格納されている。
【００５７】
ここで、ユーザＡとメーラ４１からなるアクセス識別子をＡＩＤ１とする。また、Ｆｌａｓｈメモリ２１には鍵要素が保存されていないとし、ファイル識別子としてファイル名を用いるとする。
【００５８】
今、ユーザＡがメーラ４１を起動したとする。実行検知手段１１１は、メーラ４１の起動を検知すると、ＡＩＤ１を鍵確認手段１１２に送信する。
【００５９】
鍵確認手段１１２は、ＡＩＤ１を受信すると、Ｆｌａｓｈメモリ２１からＡＩＤ１を含む鍵要素が存在するか否かを確認する。今、Ｆｌａｓｈメモリ２１には鍵要素が保存されていないため、ＡＩＤ１を鍵生成手段１１３に送信する。
【００６０】
鍵生成手段１１３は、ＡＩＤ１を受信すると、ＡＩＤ１に対して一意な暗号鍵１と復号鍵１からなるＫＥＹ１を生成する。このとき、暗号鍵１と復号鍵１は、それぞれ、秘密鍵１と公開鍵１であるとする。鍵生成手段１１３は、ＡＩＤ１とＫＥＹ１からなる鍵要素１をＦｌａｓｈメモリ２１に保存する。
【００６１】
今、メーラ４１がＨＤＤ３１上に存在するファイル名／ｍａｉｌ／ｍａｉｌ０１であるファイル１にデータ１の書き込みを行うとする。
【００６２】
アクセス検知手段１１４は、ファイル１への書き込みを検知すると、ＡＩＤ１と／ｍａｉｌ／ｍａｉｌ０１とデータ１とからなる書き込み識別子ＷＩＤ１を暗号復号手段１１５に送信する。
【００６３】
暗号復号手段１１５は、ＷＩＤ１を受信すると、ＡＩＤ１を含む鍵要素１をＦｌａｓｈメモリ２１から検索し、鍵要素１から秘密鍵１を取得する。取得した秘密鍵１を用いてデータ１を暗号化した後に、ＨＤＤ３１上のファイル１に暗号化したデータ１を書き込む。
【００６４】
次に、メーラ４１がＨＤＤ３１上に存在するファイル１からデータ２の読み込みを行うとする。
【００６５】
アクセス検知手段１１４は、ファイル１への読み込みを検知すると、ＡＩＤ１と／ｍａｉｌ／ｍａｉｌ０１からなる読み込み識別子ＲＩＤ１を暗号復号手段１１５に送信する。
【００６６】
暗号復号手段１１５は、ＲＩＤ１を受信すると、ＡＩＤ１を含む鍵要素１をＦｌａｓｈメモリ２１から検索し、鍵要素１から公開鍵１を取得する。更に、暗合化されたデータ２をファイル１から読み込んだ後、データ２を公開鍵１で復号し、復号したデータ２をメーラ４１に渡す。
【００６７】
次に、ユーザＡがＷＥＢサーバ４２を起動したとする。このとき、ユーザＡとＷＥＢサーバ４２からなるアクセス識別子をＡＩＤ２とする。
【００６８】
実行検知手段１１１は、ＷＥＢサーバ４２の起動を検知すると、ＡＩＤ２を鍵確認手段１１２に送信する。
【００６９】
鍵確認手段１１２は、ＡＩＤ２を受信すると、Ｆｌａｓｈメモリ２１にＡＩＤ２を含む鍵要素が存在するか否かを確認する。今、Ｆｌａｓｈメモリ２１には、ＡＩＤ２を含む鍵要素が保存されていないため、ＡＩＤ２を鍵生成手段１１３に送信する。
【００７０】
鍵生成手段１１３は、ＡＩＤ２を受信すると、ＡＩＤ２に対して一意な暗号鍵２と復号鍵２からなるＫＥＹ２を生成する。このとき、暗号鍵２と復号鍵２はそれぞれ、秘密鍵２と公開鍵２であるとする。鍵生成手段１１３は、ＡＩＤ２とＫＥＹ２からなる鍵要素２をＦｌａｓｈメモリ２１に保存する。
【００７１】
今、ＷＥＢサーバ４２がＨＤＤ３１上に存在するファイル１からデータ３の読み込みを行うとする。
【００７２】
アクセス検知手段１１４は、ファイル１からデータ３の読み込みを検知すると、ＡＩＤ２と／ｍａｉｌ／ｍａｉｌ０１からなる読み込み識別子ＲＩＤ２を暗号復号手段１１５に送信する。
【００７３】
暗号復号手段１１５は、ＲＩＤ２を受信すると、ＡＩＤ２を含む鍵要素２をＦｌａｓｈメモリ２１から検索し、鍵要素２から公開鍵２を取得する。暗号化されたデータ３をファイル２から読み込んだ後、公開鍵２を用いてデータ３の復号を試みる。データ３は、秘密鍵１で暗号化されたものなので、公開鍵２による復号は失敗する。そのため、暗号化されたままのデータ３をＷＥＢサーバ４２に渡す。
【００７４】
以上説明したように、本実施の形態では、ファイルに書き込まれるデータはユーザとアプリケーションの組から定まる一意な暗号鍵で暗号化されるため、ファイルが流出してもファイル内のデータが読み込まれるおそれはない。また、暗号化されたデータを復号できるのは、ユーザとアプリケーションの組だけであるため、ユーザ権限で動作するウィルスなどに感染しても、ウィルスはファイル内のデータを復号できない。そのため、ファイル内のデータが漏洩することを防ぐことができる。
【００７５】
又、ファイル内のデータはユーザとアプリケーションの組から一意に定まる暗号鍵で暗号化され、データを書き込んだユーザとアプリケーションの組のみ暗号化したデータを復号できる。そのため、アプリケーションによるファイルに対するアクセス制御を必要とせずにデータの漏洩を防ぐことでき、アクセス制御規則が不要となる。
【００７６】
更に、ファイル内のデータの暗号、復号に用いる鍵はユーザとアプリケーションの組から一意に定まるように自動で生成されるため、あらかじめ暗号鍵、復号鍵を用意する必要がなく、ユーザやアプリケーションの増加に対して保守をする必要がない。
【００７７】
［第２の実施の形態］
次に、本発明の第２の実施の形態について図面を参照して詳細に説明する。ここで、図８は、本実施の形態に係る情報漏洩防止装置を用いた端末の構成を示すブロック図である。
【００７８】
図８を参照すると、本実施の形態は、第１の実施の形態の構成要素に加え、ファイルの作成を指示したアクセス識別子をファイルに付与する識別子付与手段１０６を新たに備える。
【００７９】
又、本実施の形態のアクセス検知手段１０４に代えて、アクセス検知手段１０７を備える。
【００８０】
このアクセス検知手段１０７は、ファイルの作成を検知すると、ファイルの作成を指示したアクセス識別子とファイル識別子とを識別子付与手段１０６に送信する。
【００８１】
又、アクセス検知手段１０７は、ファイルへの書き込みを検知すると、書き込みを指示したアクセス識別子が、ファイル識別子が示すファイルに付与されているか調べ、付与されている場合は、書き込み識別子を暗号復号手段１０５に送信し、付与されていない場合は、エラー識別子をアクセス識別子が示すアプリケーションに返す。
【００８２】
更に、アクセス検知手段１０７は、ファイルの読み込みを検知すると、読み込みを指示したアクセス識別子がファイル識別子が示すファイルに付与されているか否かを調べ、付与されている場合は、読み込み識別子を暗号復号手段１０５に送信し、付与されていない場合は、エラー識別子をアクセス識別子が示すアプリケーションに返す。
【００８３】
次に、図８、図９及び図１０を参照して、本実施の形態の全体の動作について詳細に説明する。ここで、図９は、図８に示すアクセス検知手段１０７の動作を示す流れ図であり、図１０は、図８に示す識別子付与手段１０６の動作を示す流れ図である。
【００８４】
なお、本実施の形態の全体の動作は、識別子付与手段１０６とアクセス検知手段１０７以外は第１の実施の形態と同じであるため、かかる部分についての詳細な説明は省略する。
【００８５】
まず、ユーザＡ（図示せず）とアプリケーションＭ（１≦Ｍ≦Ｎ）からなるアクセス識別子をアクセス識別子αとする。今、ユーザＡが起動したアプリケーションＭが、ファイル識別子２（図示せず）を持つファイル２の作成を試みたとする。
【００８６】
図９において、アクセス検知手段１０７は、ファイル２の作成を検知すると（ステップＳ６０１）、ファイル２の作成を指示したアクセス識別子αとファイル識別子２を識別子付与手段１０６に送信する（ステップＳ６０２）。
【００８７】
図１０において、識別子付与手段１０６は、アクセス検知手段１０７から受信したアクセス識別子αを（ステップＳ７０１）、ファイル識別子２を有するファイル２に付与する（ステップＳ７０２）。
【００８８】
今、アプリケーションＭがファイル２にデータの書き込みを行うとする。
【００８９】
図９のステップＳ６０１において、ファイルの作成を検知しなかった場合（ＮＯ）、アクセス検知手段１０７は、ステップＳ６０３においてファイル２への書き込みを検知したか否かを確認し、検知した場合（ＹＥＳ）、アクセス識別子αがファイル２に付与されているか否かを調べる（ステップＳ６０４）。
【００９０】
ファイル２には、アクセス識別子αが付与されているため、アクセス検知手段１０７は、アクセス識別子αとファイル識別子２と書き込みデータ２（図示せず）からなる書き込み識別子２（図示せず）を、暗号復号手段１０５に送信する（ステップＳ６０５）。
【００９１】
一方で、ステップＳ６０４において、アクセス識別子がファイルに付与されていない場合は、アプリケーションＭにエラー識別子を返す（ステップＳ６０９）。
【００９２】
又、図９のステップＳ６０６において、ファイルへの書き込みを検知しなかった場合（ＮＯ）、アクセス検知手段１０７は、ファイル２からの読み込みを検知したか否かを確認し、検知した場合（ＹＥＳ）、アクセス識別子αがファイル２に付与されているかを調べる（ステップＳ６０７）。
【００９３】
ファイル２にはアクセス識別子αが付与されているため、アクセス検知手段１０７は、アクセス識別子αとファイル識別子２からなる読み込み識別子２（図示せず）を暗号復号手段１０５に送信する（ステップＳ６０８）。
【００９４】
一方で、ステップＳ６０７において、アクセス識別子が付与されていない場合は、アプリケーションＭにエラー識別子を返す（ステップＳ６０９）。
【００９５】
なお、ステップＳ６０６において、ファイルの読み込みを検知しなかった場合（ＮＯ）、アクセス検知手段１０７は、図９の処理を終了する。
【００９６】
次に、図８に示す図１に示す本実施の形態に係る情報漏洩防止装置を用いた端末５０の具体例について、図１１を参照して説明する。
【００９７】
図８に示す端末５０は、一例として、図１１に示すＰＤＡ（Personal Digital Assistant）５２に適用される。このＰＤＡ５２は、データ処理装置としてプログラム制御で動作するＣＰＵ（Central Processing Unit）１２を、鍵記憶装置として書き換え可能な不揮発性メモリであるＦｌａｓｈメモリ（１）２２を、ファイル記憶装置としてＦｌａｓｈメモリ（２）２３を、複数のアプリケーションとしてアドレス帳４５とウィルス４６とを持つ。
【００９８】
ＣＰＵ１２は、図１１の例では、実行検知手段１２１、鍵確認手段１２２、鍵生成手段１２３、アクセス検知手段１２７、暗号復号手段１２５及び識別子付与手段１２６として動作する。これら各手段１２１〜１２６としてＣＰＵ１１を動作させるプログラムは、情報漏洩防止プログラムとして、ＰＤＡ５２内のプログラムを格納する記憶装置（非図示）に格納されている。
【００９９】
ここで、ユーザＡとアドレス帳４５からなるアクセス識別子をＡＩＤ１とする。またＦｌａｓｈメモリ（１）２２には、ＡＩＤ１と、ＡＩＤ１に一意な暗号鍵１及び復号鍵１からなるＫＥＹ１と、を備える鍵要素１が保存されているとする。このとき、暗号鍵１及び復号鍵１は、共通鍵１であるとする（すなわち、暗号鍵１＝復号鍵１）。
【０１００】
又、Ｆｌａｓｈメモリ（２）２３のファイルシステムは、ファイルとアクセス識別子を関連付ける領域を持つものとし、ファイル識別子としてファイル名を用いるとする。
【０１０１】
今、ユーザＡがアドレス帳４５を起動したとする。実行検知手段１２１はアドレス帳４５の起動を検知すると、ＡＩＤ１を鍵確認手段１２２に送信する。
【０１０２】
鍵確認手段１２２は、ＡＩＤ１を受信すると、Ｆｌａｓｈメモリ（１）２２からＡＩＤ１を含む鍵要素が存在するか否かを確認する。今、Ｆｌａｓｈメモリ（１）２２には、鍵要素１が保存されているため、鍵確認手段１２２は、ＡＩＤ１を鍵生成手段１２３に送信しない。
【０１０３】
今、アドレス帳４５が、ファイル名／ａｄｄｒ／ａｄｄｒ０１であるファイル１の作成を試みたとする。
【０１０４】
アクセス検知手段１２７は、ファイル１の作成を検知すると、ファイル１の作成を指示したＡＩＤ１と／ａｄｄｒ／ａｄｄｒ０１とを識別子付与手段１２６に送信する。
【０１０５】
識別子付与手段１２６は、ＡＩＤ１をファイル名が／ａｄｄｒ／ａｄｄｒ０１であるファイル１に付与する（Ｆｌａｓｈメモリ（２）２３のファイルシステム上で、ファイル１とＡＩＤ１を関連付ける）。
【０１０６】
今、アドレス帳４５がＦｌａｓｈメモリ（２）２３上に存在するファイル名／ａｄｄｒ／ａｄｄｒ０１であるファイル１にデータ１の書き込みを行うとする。
【０１０７】
アクセス検知手段１２７は、ファイル１への書き込みを検知すると、ＡＩＤ１がファイル１に付与されているか調べる。ファイル１には、ＡＩＤ１が付与されているため、ＡＩＤ１と／ａｄｄｒ／ａｄｄｒ０１からなる書き込み識別子ＷＩＤ１を暗号復号手段１２５に送信する。
【０１０８】
暗号復号手段１２５は、ＷＩＤ１を受信すると、ＡＩＤ１を含む鍵要素１をＦｌａｓｈメモリ（１）２２から検索し、鍵要素１から共通鍵１を取得する。取得した共通鍵１を用いてデータ１を暗号化した後に、Ｆｌａｓｈメモリ（２）２３上のファイル１に暗号化したデータ１を書き込む。
【０１０９】
次に、ウィルス４６がユーザＡの権限で起動したとする。このとき、ユーザＡとウィルス４６からなるアクセス識別子をＡＩＤ２とする。
【０１１０】
実行検知手段１２１は、ウィルス４６の起動を検知すると、ＡＩＤ２を鍵確認手段１２２に送信する。
【０１１１】
鍵確認手段１２２は、ＡＩＤ２を受信すると、Ｆｌａｓｈメモリ（１）２２からＡＩＤ２を含む鍵要素の取得を試みる。今、Ｆｌａｓｈメモリには、ＡＩＤ２を含む鍵要素が保存されていないため、ＡＩＤ２を鍵生成手段１２３に送信する。
【０１１２】
鍵生成手段１２３は、ＡＩＤ２を受信すると、ＡＩＤ２に対して一意な暗号鍵２と復号鍵２とからなるＫＥＹ２を生成する。このとき、暗号鍵２及び復号鍵２は、共通鍵２であるとする。ＡＩＤ２とＫＥＹ２からなる鍵要素２をＦｌａｓｈメモリ（１）２２に保存する。
【０１１３】
今、ウィルス４６がＦｌａｓｈメモリ（２）２３上に存在するファイル１からデータ２の読み込みを行うとする。
【０１１４】
アクセス検知手段１２７は、ファイル１からの読み込みを検知すると、ＡＩＤ２がファイル１に付与されているか調べる。ファイル１には、ＡＩＤ２は付与されていないため、エラー識別子をウィルス４６に返す。
【０１１５】
以上説明したように、本実施の形態では、第１の実施の形態での効果に加え、ファイルを作成したユーザとアプリケーションとの組のみがそのファイルにアクセスできる。そのため、他のユーザとアプリケーションの組によりファイル内のデータの改ざんを防ぐことができる。
【０１１６】
更に、ファイルからデータを読み込むときに復号できない場合、読み込みアクセス自体が拒否されるため、アプリケーションが復号されていない意味のないデータを読み込むことがなくなるため、本実施の形態に係るＰＤＡ等の装置自体の性能が向上する。
【０１１７】
又、上記各実施の形態に係る情報漏洩防止装置では、鍵記憶装置及びファイル記憶装置としてそれぞれＦｌａｓｈメモリ及びＨＤＤを、アプリケーションとしてメーラ及びＷＥＢサーバ、又はアドレス帳及びウィルスを、端末としてＰＣ又はＰＤＡを、それぞれ例に挙げて説明したが、鍵記憶装置、ファイル記憶装置、アプリケーション及び端末はこれらの例に限定されず、他のものであってもよい。
【０１１８】
なお、上記各実施の形態に係る情報漏洩防止装置は、ハードウェア、ソフトウェア又はこれらの組合せにより実現することができるが、そのハードウェア、ソフトウェア構成は特に限定されるものではなく、上述したデータ処理装置、ファイル記憶装置、及び鍵記憶装置を有し、データ処理装置の各手段の機能を実現可能な構成であれば、いずれのものでも適用可能である。例えば、上記データ処理装置の各手段の機能毎に回路や部品（ソフトウェアモジュール等）を独立させて個別に構成したものでも、複数の機能を１つの回路や部品に組み入れて一体的に構成したものでも、いずれのものであってもよい。
【０１１９】
また、上記データ処理装置の各手段の機能を、プログラムコードを用いて実現する場合、かかるプログラムコード及びこれを記録する記録媒体は、本発明の範疇に含まれる。この場合、オペレーティングシステム（ＯＳ）等の他のソフトウェアと共に上記各手段の機能が実現される場合は、それらのプログラムコードも含まれる。
【０１２０】
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１２１】
この出願は、２００８年４月１０日に出願された日本出願特願２００８−１０２４２８号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【０１２２】
本発明によれば、ユーザとアプリケーションの組ごとに一意な暗号鍵と復号鍵を生成することで、ユーザとアプリケーションの組ごとにファイルへ記録するデータを暗号化し、その他のユーザとアプリケーションとの組による当該ファイルへのアクセスを防止し、当該ファイルに記録されたデータの漏洩を防止する情報漏洩防止装置、その方法及びそのプログラムの用途に利用できる。本発明は、情報漏洩防止装置を用いたＰＣ、ＰＤＡなどの端末の用途にも利用できる。
【符号の説明】
【０１２３】
１〜Ｎ、Ｍ  アプリケーション
１０  データ処理装置
１１、１２  ＣＰＵ
２０  鍵記憶装置
２１  Ｆｌａｓｈメモリ
２２  Ｆｌａｓｈメモリ（１）
２３  Ｆｌａｓｈメモリ（２）
３０  ファイル記憶装置
３１  ＨＤＤ
４１  メーラ
４２  ＷＥＢサーバ
４５  アドレス帳
４６  ウィルス
５０  端末
５１  ＰＣ
５２  ＰＤＡ
１０１  実行検知手段
１０２  鍵確認手段
１０３  鍵生成手段
１０４、１０７  アクセス検知手段
１０５  暗号復号手段
１０６  識別子付与手段
１１１  実行検知手段
１１２  鍵確認手段
１１３  鍵生成手段
１１４  アクセス検知手段
１１５  暗号復号手段
１２１  実行検知手段
１２２  鍵確認手段
１２３  鍵生成手段
１２５  暗号復号手段
１２６  識別子付与手段
１２７  アクセス検知手段
【図１】
2009125830.tif 000003
【図２】
2009125830.tif 000004
【図３】
2009125830.tif 000005
【図４】
2009125830.tif 000006
【図５】
2009125830.tif 000007
【図６】
2009125830.tif 000008
【図７】
2009125830.tif 000009
【図８】
2009125830.tif 000010
【図９】
2009125830.tif 000011
【図１０】
2009125830.tif 000012
【図１１】
2009125830.tif 000013
【国際調査報告】
2009125830.tif 000014
2009125830.tif 000015
2009125830.tif 000016
2009125830.tif 000017