説明

可搬記憶媒体及び該可搬記憶媒体に係るデータ処理方法

【課題】USBメモリ等の可搬記憶媒体に保存されているデータが暗号化されていた場合において、アプリケーションで当該データを利用する際には、当該データが復号化された上でメモリ空間上にロードされ利用される。ロードされた内容をアプリケーションが可搬記憶媒体以外の場所に保存できない仕組みを提供する。
【解決手段】情報処理装置に接続される可搬記憶媒体1であって、デジタルコンテンツを格納するためのユーザ領域11とシステム領域10を備える。システム領域10には、アプリケーションの動作を監視し、前記アプリケーションにより実行されるAPI又はオペレーティングシステムからアプリケーションに通知されるメッセージの種類に応じ前記APIの実行又は前記メッセージに係る処理の実行を禁止するDLLが保存される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子計算機に着脱可能な可搬記憶媒体に関する。特に情報漏洩防止に係る技術に関する。
【背景技術】
【0002】
電子計算機に対して着脱可能な可搬記憶媒体による情報漏洩が問題となっている。かかる問題を解決するための技術として、可搬記憶媒体へのデータの書き込み時にデータを暗号化し、可搬記憶媒体からの読み込み時にデータを複合化する技術が知られている。当該技術を用いることで、可搬記憶媒体の所有者以外の第三者が、該可搬記憶媒体に保存されたデータを利用することを防止することができる。
【0003】
可搬記憶媒体への読み込み、書き込み操作を行う電子計算機を制限し、さらにネットワークを用い当該電子計算機を管理及び制御することで情報漏洩を防止する手段が特許文献1に開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2010−92202
【発明の概要】
【発明が解決しようとする課題】
【0005】
可搬記憶媒体に保存されているデータが暗号化されている場合において、アプリケーションで当該データを利用する際には、当該データが復号化された上でメモリ空間上にロードされ利用される。何らかの手段によりロードされた内容をアプリケーションが可搬記憶媒体以外の場所に保存した場合、当該保存されたデータにより情報漏洩が生じうる。
【課題を解決するための手段】
【0006】
情報処理装置に接続される可搬記憶媒体であって、書き換え可能な記憶領域を備え、前記記憶領域は、デジタルコンテンツを格納するためのユーザ領域と、前記情報処理装置上で動作するアプリケーションによる前記ユーザ領域へのアクセスが可能となった後に前記情報処理装置上で起動され、前記アプリケーションの動作を監視し、前記アプリケーションにより実行されるAPI(Application Programming Interface)又はオペレーティングシステムからアプリケーションに通知されるメッセージの種類に応じ前記APIの実行又は前記メッセージに係る処理の実行を禁止するライブラリを有するシステム領域と、を備えることを特徴とする。
【発明の効果】
【0007】
ユーザ領域に格納されているデータをメモリ空間上にロードしたアプリケーションについて、当該アプリケーションによるAPIの実行、及び、オペレーティングシステムから通知されるメッセージに応じた処理の実行を制限する。これにより、ユーザ領域に格納されているデータの漏洩を防止することが可能になる。
【図面の簡単な説明】
【0008】
【図1】本実施例に係るハードウェア構成図の一例である。
【図2】本実施例に係る監視用DLLの動作の概略図である。
【図3】本実施例の動作フロー図である。
【図4】本実施例に係る監視用DLLの動作フロー図(その1)である。
【図5】本実施例に係る監視用DLLの動作フロー図(その2)である。
【図6】本実施例に係る監視用DLLの動作フロー図(その3)である。
【発明を実施するための形態】
【0009】
本実施例に係るハードウェア構成図の一例を図1に示す。本実施例に係る可搬記憶媒体の一例であるUSBメモリ1は、システム領域10と、ユーザ領域11とを備える。システム領域10には、後述する監視用DLL101、パスワード認証ソフト、呼び出し履歴が格納される。ユーザ領域11には、ユーザの利用に供するデータがパスワード認証ソフトにより暗号化された上で保存される。
【0010】
本実施例に係る監視用DLL101は、DLL(Dynamic Link Library)の一例である。OS上で動作するアプリケーションは、API(Application Programming Interface)を通じて、OSが提供する機能を利用することが可能となる。APIを実行することで実際に実行される関数等のプログラムコードが、DLLに格納されている。
【0011】
USBメモリ1は、電子計算機の一例であるパーソナルコンピュータ(以下、PCと記す)2に接続される。PC2は、記憶媒体の一例である内蔵ハードディスク20を備え、周辺機器21と接続される。ここで周辺機器21とは、外付けハードディスクドライブ、USBメモリ、プリンター等のことを言う。
【0012】
図2に本実施例に係る監視用DLL101の動作の概略図を示す。図2に示す例では、PC2上で実行されるアプリケーション201が、APIを実行し、OSが標準的に備える標準DLL202の備えるプログラムコードを呼び出す場合を想定している。実行に係るAPIが監視対象のAPIであった場合に、監視用DLL101が割り込みを行う。即ち、監視用DLL101は、アプリケーションによるAPIの実行に応じて、APIの実行に伴う標準DLL202のプログラムコードの呼び出しを阻害する。さらに、アプリケーションによるAPIの実行に応じて、監視用DLL101の備える監視用関数が呼び出される。そして、監視用関数が呼び出された場合、条件に応じて、アプリケーションが呼び出そうとしていたプログラムコードを呼び出すか、あるいは、当該プログラムコードの呼び出しを中止した上で、アプリケーションに対してエラーを返す。
【0013】
以下に、本実施例が監視対象とするAPIの一例を示す。例えばWindows(登録商標)においては、NtCreateFile という名前の、ファイル生成を行うためのAPIを監視する。これにより、許可しないファイルの保存を防ぐことが可能となる。また、Windows(登録商標)においては、SetClipboardDataという名前の、クリップボードへのデータ格納を行うためのAPIを監視する。これにより、許可しない文字列や画像データのコピー、カット、ペーストを防ぐことが可能となる。また、Windows(登録商標)においては、OpenPrinterという名前の、プリントサーバに接続するAPIを監視する。これにより、許可しない印刷を防ぐことが可能となる。また、Windows(登録商標)においては、DeviceIoControlという名前の各種周辺機器との入出力を行うためのデバイスドライバを制御するAPIを監視する。これにより、許可しないネットワークへの接続を防ぎ、データの漏洩を防止することが可能となる。
【0014】
また、監視用DLL101は、OSがアプリケーションに対して送るメッセージを監視し、割り込みを行う。例えばWindows(登録商標)においては、VK_SNAPSHOTという名前の画面の表示内容をコピーするためのAPIを監視する。これにより、画面の表示内容が不正に保存されることを防止することが可能となる。
【0015】
図3に本実施例に係る監視用DLL101の動作フローの全体図を示す。ユーザの操作に応じて、USBメモリ1のシステム領域10に格納されているパスワード認証ソフトが起動される(S0)。当該パスワード認証ソフトの使用により、USBメモリ1中のユーザ領域11に係るドライブがオープンされる(S1)。ステップS1により、ユーザ領域11に格納されているファイルにアクセスが可能となり、PC2上で監視用DLL101が起動し常駐する(S2)。ユーザの操作に応じて、PC2上で動作するアプリケーションにより、ユーザ領域11に格納されているファイルがオープンされる (S4)。監視用DLL101は、PC2上で実行されているユーザ領域11中のファイルをオープンした当該アプリケーションで実行されているAPIのテーブルを検索する(S6)。監視用DLL101は、検索結果を元にして、対象となるAPIの飛び先アドレスをOSの備えるDLL202から、監視用DLL101の備える監視用関数へと変更する(S8)。以上、ステップS0からS8までの動作により、ユーザ領域11に格納しているファイルをオープンしたアプリケーションを監視することが可能となる。以下のステップS10からS16は、監視用DLL101が実際にアプリケーションを監視する際の動作に関するステップである。アプリケーションが、監視用DLL101の監視用関数を呼び出すと(S10)、監視用DLL101は、呼び出しに係る履歴をUSBメモリ1のシステム領域10に保存する(S11)。そして、監視用DLL101は、条件判断を行う(S12)。当該条件判断の詳細については後述する。監視用DLL101は条件判断の結果、当該アプリケーションからの監視用関数の呼出が条件に適合しない(S12:NO)と判断した場合は、アプリケーションに対してエラーを返す(S16)。また、監視用関数の呼び出しが条件に適合する場合(S12:YES)、アプリケーションに対してOSの備えるDLLに係るプログラムコードの呼び出しを許可する。
【0016】
図4に監視用DLL101の動作フロー(その1)を示す。イベント待ち状態において(S20)、なんらかのアプリケーションがUSBメモリ1のユーザ領域11中のファイルをオープンする(S22)。監視用DLL101は、当該アプリケーションの動作を検知して、当該アプリケーションを監視用DLL101の備えるリストに登録する(S24)。そして、イベント待ちの状態に戻る(S2E)。これら一連の動作により、ユーザ領域11に保存されているデータをメモリ空間上にロードしたアプリケーションの監視が可能となる。
【0017】
図5に監視用DLL101の動作フロー(その2)を示す。ここでは、監視用DLL101の監視対象となるAPIの呼び出しがなされた場合の動作フローを説明する。なお、図5に示すのは、Windows(登録商標)におけるファイル保存用のAPIであるNtCreateFileが実行される場合である。イベント待ち状態において(S20)、PC上でアプリケーションにより、NtCreateFile等の監視対象となるAPIの呼び出しがなされる(S210)。ここで、監視用DLL101は、当該アプリケーションが監視用DLL101の備えるリストに登録されているか否かを判断する(S212)。ここで、アプリケーションがリストに登録されていない場合は(S212:NO)、監視用DLL101は保存を許可する。すなわち、NtCreateFile等のAPIの呼び出しを許可する(S218)。そして、イベント待ち状態に戻る(S2E)。当該アプリケーションが監視用DLL101のリストに登録されている場合(S212:YES)、監視用DLL101は、NtCreateFileによるファイルの保存先を判断する(S214)。USBメモリ1の備えるデータ保存用領域であるユーザ領域11への保存の場合(S216:YES)、監視用DLL101は保存を許可する(S218)。そして、イベント待ち状態へ戻る(S2E)。NtCreateFileによるファイルの保存先が、USBメモリ1の備えるユーザ領域11でなかった場合(S214:NO)、監視用DLL101はアプリケーションに対して、エラーメッセージを返し、NtCreateFileの実行を阻害する。そして、イベント待ち状態に戻る(S2E)。これら一連の動作により、アプリケーションによりメモリ空間上に保存されたユーザ領域11に係るデータのUSBメモリ1以外の記憶媒体への保存を防止することが可能となる。図5に示す動作フローは、ファイル生成に係るAPIであるNtCreateFileの監視並びに動作の禁止及び許可を行うための動作フローであるが、他のAPIやメッセージについても当然同様の監視並びに動作の禁止及び許可を行うことが可能である。
【0018】
図6に監視用DLL101の動作フロー(その3)を示す。イベント待ち状態(S20)において、監視用DLL101が、アプリケーションの終了を検知する(S220)。監視用DLL101は、当該終了したアプリケーションが監視用DLL101の備えるリストに登録されているか否かを判断する(S222)。リストに登録されていない場合(S222:NO)、監視用DLL101は何もすることなく、イベント待ち状態に戻る(S2E)。当該終了したアプリケーションがリストに登録されていた場合(S222:YES)、監視用DLL101はリストから当該アプリケーションの登録を削除し(S244)、イベント待ち状態に戻る(S2E)。
【0019】
以下、本実施例に開示の技術の奏する作用効果を記す。ユーザ領域11にデータを暗号化し保存することで、情報漏洩の発生を防止することが可能となる。さらに、データの暗号化、及び、復号化に係る手段を可搬記憶媒体のシステム領域10に格納することで、予め電子計算機の環境を変更する必要性無く、情報漏洩の発生の防止という効果を得ることが可能となる。
【0020】
また、本実施例に開示の方法によると、電子計算機の環境を予め変更することなく、システム領域10にAPIの実行、及びOSのメッセージに応じた処理の実行に係る履歴情報を保存することが可能となる。
【0021】
尚、本発明は前記実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良、変形が可能であることは言うまでもない。
【0022】
尚、本実施例に開示する監視用DLL101はDLLの一例であり、データ及びファイルはデジタルコンテンツの一例である。
【符号の説明】
【0023】
1:USBメモリ
10:システム領域
11:ユーザ領域
2:パーソナルコンピュータ
20:内蔵ハードディスク
21:周辺機器
101:監視用DLL
201:アプリケーション
202:標準DLL

【特許請求の範囲】
【請求項1】
情報処理装置に接続される可搬記憶媒体であって、書き換え可能な記憶領域を備え、前記記憶領域は、デジタルコンテンツを格納するためのユーザ領域と、前記情報処理装置上で動作するアプリケーションの動作を監視し、前記アプリケーションにより実行されるAPI(Application Programming Interface)又はオペレーティングシステムからアプリケーションに通知されるメッセージの種類に応じ前記APIの実行又は前記メッセージに係る処理の実行を禁止するDLL(Dynamic Link Library)を有するシステム領域と、を備えることを特徴とする可搬記憶媒体。
【請求項2】
前記システム領域は、前記ユーザ領域へデジタルコンテンツを暗号化した上で格納する手段と、前記暗号化されたデジタルコンテンツを復号化する手段と、を備えることを特徴とする請求項1に記載の可搬記憶媒体。
【請求項3】
前記情報処理装置上で動作する前記アプリケーションにより実行されるAPIに係る処理及び前記オペレーティングシステムから前記アプリケーションに通知されるメッセージに係る処理の履歴をシステム領域へ保存する手段を備えることを特徴とする請求項1又は2に記載の可搬記憶媒体。
【請求項4】
前記DLLは、アプリケーションによる前記ユーザ領域へのアクセスが可能となった後に前記情報処理装置上で起動されることを特徴とする請求項1乃至3に記載の可搬記憶媒体。
【請求項5】
前記DLLは、デジタルコンテンツの格納に係るAPIが実行される場合、前記デジタルコンテンツの格納に係るAPIによるデジタルコンテンツの格納先が前記記憶装置の有する前記ユーザ領域でない場合、前記デジタルコンテンツの保存に係るAPIの実行を禁止することを特徴とする請求項1乃至4に記載の可搬記憶媒体。
【請求項6】
前記DLLは、前記アプリケーションにより前記情報処理装置に接続される印刷機器へのデータ転送に係るAPIが実行される場合、前記印刷機器へのデータ転送に係るAPIの実行を禁止することを特徴とする請求項1乃至4に記載の可搬記憶媒体。
【請求項7】
情報処理装置と、前記情報処理装置に接続される可搬記憶媒体とを備えるシステムにおいて実行するデータ処理方法であり、
前記情報処理装置上で動作する前記可搬記憶媒体の備えるDLLによりアプリケーションの動作を監視するステップと、
前記アプリケーションにより実行されるAPIの種類に応じ前記APIの実行を前記モジュールにより禁止するステップと、
を備えることを特徴とするデータ処理方法。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2012−18578(P2012−18578A)
【公開日】平成24年1月26日(2012.1.26)
【国際特許分類】
【出願番号】特願2010−156064(P2010−156064)
【出願日】平成22年7月8日(2010.7.8)
【出願人】(390040187)株式会社バッファロー (378)
【Fターム(参考)】