(57)【要約】      （修正有）【課題】ＵＳＢメモリ等の可搬記憶媒体に保存されているデータが暗号化されていた場合において、アプリケーションで当該データを利用する際には、当該データが復号化された上でメモリ空間上にロードされ利用される。ロードされた内容をアプリケーションが可搬記憶媒体以外の場所に保存できない仕組みを提供する。【解決手段】情報処理装置に接続される可搬記憶媒体１であって、デジタルコンテンツを格納するためのユーザ領域１１とシステム領域１０を備える。システム領域１０には、アプリケーションの動作を監視し、前記アプリケーションにより実行されるＡＰＩ又はオペレーティングシステムからアプリケーションに通知されるメッセージの種類に応じ前記ＡＰＩの実行又は前記メッセージに係る処理の実行を禁止するＤＬＬが保存される。【選択図】図１
2012018578.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置に接続される可搬記憶媒体であって、書き換え可能な記憶領域を備え、前記記憶領域は、デジタルコンテンツを格納するためのユーザ領域と、前記情報処理装置上で動作するアプリケーションの動作を監視し、前記アプリケーションにより実行されるＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）又はオペレーティングシステムからアプリケーションに通知されるメッセージの種類に応じ前記ＡＰＩの実行又は前記メッセージに係る処理の実行を禁止するＤＬＬ（Ｄｙｎａｍｉｃ  Ｌｉｎｋ  Ｌｉｂｒａｒｙ）を有するシステム領域と、を備えることを特徴とする可搬記憶媒体。
【請求項２】
前記システム領域は、前記ユーザ領域へデジタルコンテンツを暗号化した上で格納する手段と、前記暗号化されたデジタルコンテンツを復号化する手段と、を備えることを特徴とする請求項１に記載の可搬記憶媒体。
【請求項３】
前記情報処理装置上で動作する前記アプリケーションにより実行されるＡＰＩに係る処理及び前記オペレーティングシステムから前記アプリケーションに通知されるメッセージに係る処理の履歴をシステム領域へ保存する手段を備えることを特徴とする請求項１又は２に記載の可搬記憶媒体。
【請求項４】
前記ＤＬＬは、アプリケーションによる前記ユーザ領域へのアクセスが可能となった後に前記情報処理装置上で起動されることを特徴とする請求項１乃至３に記載の可搬記憶媒体。
【請求項５】
前記ＤＬＬは、デジタルコンテンツの格納に係るＡＰＩが実行される場合、前記デジタルコンテンツの格納に係るＡＰＩによるデジタルコンテンツの格納先が前記記憶装置の有する前記ユーザ領域でない場合、前記デジタルコンテンツの保存に係るＡＰＩの実行を禁止することを特徴とする請求項１乃至４に記載の可搬記憶媒体。
【請求項６】
前記ＤＬＬは、前記アプリケーションにより前記情報処理装置に接続される印刷機器へのデータ転送に係るＡＰＩが実行される場合、前記印刷機器へのデータ転送に係るＡＰＩの実行を禁止することを特徴とする請求項１乃至４に記載の可搬記憶媒体。
【請求項７】
情報処理装置と、前記情報処理装置に接続される可搬記憶媒体とを備えるシステムにおいて実行するデータ処理方法であり、
前記情報処理装置上で動作する前記可搬記憶媒体の備えるＤＬＬによりアプリケーションの動作を監視するステップと、
前記アプリケーションにより実行されるＡＰＩの種類に応じ前記ＡＰＩの実行を前記モジュールにより禁止するステップと、
を備えることを特徴とするデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子計算機に着脱可能な可搬記憶媒体に関する。特に情報漏洩防止に係る技術に関する。
【背景技術】
【０００２】
電子計算機に対して着脱可能な可搬記憶媒体による情報漏洩が問題となっている。かかる問題を解決するための技術として、可搬記憶媒体へのデータの書き込み時にデータを暗号化し、可搬記憶媒体からの読み込み時にデータを複合化する技術が知られている。当該技術を用いることで、可搬記憶媒体の所有者以外の第三者が、該可搬記憶媒体に保存されたデータを利用することを防止することができる。
【０００３】
可搬記憶媒体への読み込み、書き込み操作を行う電子計算機を制限し、さらにネットワークを用い当該電子計算機を管理及び制御することで情報漏洩を防止する手段が特許文献１に開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−９２２０２
【発明の概要】
【発明が解決しようとする課題】
【０００５】
可搬記憶媒体に保存されているデータが暗号化されている場合において、アプリケーションで当該データを利用する際には、当該データが復号化された上でメモリ空間上にロードされ利用される。何らかの手段によりロードされた内容をアプリケーションが可搬記憶媒体以外の場所に保存した場合、当該保存されたデータにより情報漏洩が生じうる。
【課題を解決するための手段】
【０００６】
情報処理装置に接続される可搬記憶媒体であって、書き換え可能な記憶領域を備え、前記記憶領域は、デジタルコンテンツを格納するためのユーザ領域と、前記情報処理装置上で動作するアプリケーションによる前記ユーザ領域へのアクセスが可能となった後に前記情報処理装置上で起動され、前記アプリケーションの動作を監視し、前記アプリケーションにより実行されるＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）又はオペレーティングシステムからアプリケーションに通知されるメッセージの種類に応じ前記ＡＰＩの実行又は前記メッセージに係る処理の実行を禁止するライブラリを有するシステム領域と、を備えることを特徴とする。
【発明の効果】
【０００７】
ユーザ領域に格納されているデータをメモリ空間上にロードしたアプリケーションについて、当該アプリケーションによるＡＰＩの実行、及び、オペレーティングシステムから通知されるメッセージに応じた処理の実行を制限する。これにより、ユーザ領域に格納されているデータの漏洩を防止することが可能になる。
【図面の簡単な説明】
【０００８】
【図１】本実施例に係るハードウェア構成図の一例である。
【図２】本実施例に係る監視用ＤＬＬの動作の概略図である。
【図３】本実施例の動作フロー図である。
【図４】本実施例に係る監視用ＤＬＬの動作フロー図（その１）である。
【図５】本実施例に係る監視用ＤＬＬの動作フロー図（その２）である。
【図６】本実施例に係る監視用ＤＬＬの動作フロー図（その３）である。
【発明を実施するための形態】
【０００９】
本実施例に係るハードウェア構成図の一例を図１に示す。本実施例に係る可搬記憶媒体の一例であるＵＳＢメモリ１は、システム領域１０と、ユーザ領域１１とを備える。システム領域１０には、後述する監視用ＤＬＬ１０１、パスワード認証ソフト、呼び出し履歴が格納される。ユーザ領域１１には、ユーザの利用に供するデータがパスワード認証ソフトにより暗号化された上で保存される。
【００１０】
本実施例に係る監視用ＤＬＬ１０１は、ＤＬＬ（Ｄｙｎａｍｉｃ  Ｌｉｎｋ  Ｌｉｂｒａｒｙ）の一例である。ＯＳ上で動作するアプリケーションは、ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）を通じて、ＯＳが提供する機能を利用することが可能となる。ＡＰＩを実行することで実際に実行される関数等のプログラムコードが、ＤＬＬに格納されている。
【００１１】
ＵＳＢメモリ１は、電子計算機の一例であるパーソナルコンピュータ（以下、ＰＣと記す）２に接続される。ＰＣ２は、記憶媒体の一例である内蔵ハードディスク２０を備え、周辺機器２１と接続される。ここで周辺機器２１とは、外付けハードディスクドライブ、ＵＳＢメモリ、プリンター等のことを言う。
【００１２】
図２に本実施例に係る監視用ＤＬＬ１０１の動作の概略図を示す。図２に示す例では、ＰＣ２上で実行されるアプリケーション２０１が、ＡＰＩを実行し、ＯＳが標準的に備える標準ＤＬＬ２０２の備えるプログラムコードを呼び出す場合を想定している。実行に係るＡＰＩが監視対象のＡＰＩであった場合に、監視用ＤＬＬ１０１が割り込みを行う。即ち、監視用ＤＬＬ１０１は、アプリケーションによるＡＰＩの実行に応じて、ＡＰＩの実行に伴う標準ＤＬＬ２０２のプログラムコードの呼び出しを阻害する。さらに、アプリケーションによるＡＰＩの実行に応じて、監視用ＤＬＬ１０１の備える監視用関数が呼び出される。そして、監視用関数が呼び出された場合、条件に応じて、アプリケーションが呼び出そうとしていたプログラムコードを呼び出すか、あるいは、当該プログラムコードの呼び出しを中止した上で、アプリケーションに対してエラーを返す。
【００１３】
以下に、本実施例が監視対象とするＡＰＩの一例を示す。例えばＷｉｎｄｏｗｓ（登録商標）においては、ＮｔＣｒｅａｔｅＦｉｌｅ という名前の、ファイル生成を行うためのＡＰＩを監視する。これにより、許可しないファイルの保存を防ぐことが可能となる。また、Ｗｉｎｄｏｗｓ（登録商標）においては、ＳｅｔＣｌｉｐｂｏａｒｄＤａｔａという名前の、クリップボードへのデータ格納を行うためのＡＰＩを監視する。これにより、許可しない文字列や画像データのコピー、カット、ペーストを防ぐことが可能となる。また、Ｗｉｎｄｏｗｓ（登録商標）においては、ＯｐｅｎＰｒｉｎｔｅｒという名前の、プリントサーバに接続するＡＰＩを監視する。これにより、許可しない印刷を防ぐことが可能となる。また、Ｗｉｎｄｏｗｓ（登録商標）においては、ＤｅｖｉｃｅＩｏＣｏｎｔｒｏｌという名前の各種周辺機器との入出力を行うためのデバイスドライバを制御するＡＰＩを監視する。これにより、許可しないネットワークへの接続を防ぎ、データの漏洩を防止することが可能となる。
【００１４】
また、監視用ＤＬＬ１０１は、ＯＳがアプリケーションに対して送るメッセージを監視し、割り込みを行う。例えばＷｉｎｄｏｗｓ（登録商標）においては、ＶＫ＿ＳＮＡＰＳＨＯＴという名前の画面の表示内容をコピーするためのＡＰＩを監視する。これにより、画面の表示内容が不正に保存されることを防止することが可能となる。
【００１５】
図３に本実施例に係る監視用ＤＬＬ１０１の動作フローの全体図を示す。ユーザの操作に応じて、ＵＳＢメモリ１のシステム領域１０に格納されているパスワード認証ソフトが起動される（Ｓ０）。当該パスワード認証ソフトの使用により、ＵＳＢメモリ１中のユーザ領域１１に係るドライブがオープンされる（Ｓ１）。ステップＳ１により、ユーザ領域１１に格納されているファイルにアクセスが可能となり、ＰＣ２上で監視用ＤＬＬ１０１が起動し常駐する（Ｓ２）。ユーザの操作に応じて、ＰＣ２上で動作するアプリケーションにより、ユーザ領域１１に格納されているファイルがオープンされる （Ｓ４）。監視用ＤＬＬ１０１は、ＰＣ２上で実行されているユーザ領域１１中のファイルをオープンした当該アプリケーションで実行されているＡＰＩのテーブルを検索する（Ｓ６）。監視用ＤＬＬ１０１は、検索結果を元にして、対象となるＡＰＩの飛び先アドレスをＯＳの備えるＤＬＬ２０２から、監視用ＤＬＬ１０１の備える監視用関数へと変更する（Ｓ８）。以上、ステップＳ０からＳ８までの動作により、ユーザ領域１１に格納しているファイルをオープンしたアプリケーションを監視することが可能となる。以下のステップＳ１０からＳ１６は、監視用ＤＬＬ１０１が実際にアプリケーションを監視する際の動作に関するステップである。アプリケーションが、監視用ＤＬＬ１０１の監視用関数を呼び出すと（Ｓ１０）、監視用ＤＬＬ１０１は、呼び出しに係る履歴をＵＳＢメモリ１のシステム領域１０に保存する（Ｓ１１）。そして、監視用ＤＬＬ１０１は、条件判断を行う（Ｓ１２）。当該条件判断の詳細については後述する。監視用ＤＬＬ１０１は条件判断の結果、当該アプリケーションからの監視用関数の呼出が条件に適合しない（Ｓ１２：ＮＯ）と判断した場合は、アプリケーションに対してエラーを返す（Ｓ１６）。また、監視用関数の呼び出しが条件に適合する場合（Ｓ１２：ＹＥＳ）、アプリケーションに対してＯＳの備えるＤＬＬに係るプログラムコードの呼び出しを許可する。
【００１６】
図４に監視用ＤＬＬ１０１の動作フロー（その１）を示す。イベント待ち状態において（Ｓ２０）、なんらかのアプリケーションがＵＳＢメモリ１のユーザ領域１１中のファイルをオープンする（Ｓ２２）。監視用ＤＬＬ１０１は、当該アプリケーションの動作を検知して、当該アプリケーションを監視用ＤＬＬ１０１の備えるリストに登録する（Ｓ２４）。そして、イベント待ちの状態に戻る（Ｓ２Ｅ）。これら一連の動作により、ユーザ領域１１に保存されているデータをメモリ空間上にロードしたアプリケーションの監視が可能となる。
【００１７】
図５に監視用ＤＬＬ１０１の動作フロー（その２）を示す。ここでは、監視用ＤＬＬ１０１の監視対象となるＡＰＩの呼び出しがなされた場合の動作フローを説明する。なお、図５に示すのは、Ｗｉｎｄｏｗｓ（登録商標）におけるファイル保存用のＡＰＩであるＮｔＣｒｅａｔｅＦｉｌｅが実行される場合である。イベント待ち状態において（Ｓ２０）、ＰＣ上でアプリケーションにより、ＮｔＣｒｅａｔｅＦｉｌｅ等の監視対象となるＡＰＩの呼び出しがなされる（Ｓ２１０）。ここで、監視用ＤＬＬ１０１は、当該アプリケーションが監視用ＤＬＬ１０１の備えるリストに登録されているか否かを判断する（Ｓ２１２）。ここで、アプリケーションがリストに登録されていない場合は（Ｓ２１２：ＮＯ）、監視用ＤＬＬ１０１は保存を許可する。すなわち、ＮｔＣｒｅａｔｅＦｉｌｅ等のＡＰＩの呼び出しを許可する（Ｓ２１８）。そして、イベント待ち状態に戻る（Ｓ２Ｅ）。当該アプリケーションが監視用ＤＬＬ１０１のリストに登録されている場合（Ｓ２１２：ＹＥＳ）、監視用ＤＬＬ１０１は、ＮｔＣｒｅａｔｅＦｉｌｅによるファイルの保存先を判断する（Ｓ２１４）。ＵＳＢメモリ１の備えるデータ保存用領域であるユーザ領域１１への保存の場合（Ｓ２１６：ＹＥＳ）、監視用ＤＬＬ１０１は保存を許可する（Ｓ２１８）。そして、イベント待ち状態へ戻る（Ｓ２Ｅ）。ＮｔＣｒｅａｔｅＦｉｌｅによるファイルの保存先が、ＵＳＢメモリ１の備えるユーザ領域１１でなかった場合（Ｓ２１４：ＮＯ）、監視用ＤＬＬ１０１はアプリケーションに対して、エラーメッセージを返し、ＮｔＣｒｅａｔｅＦｉｌｅの実行を阻害する。そして、イベント待ち状態に戻る（Ｓ２Ｅ）。これら一連の動作により、アプリケーションによりメモリ空間上に保存されたユーザ領域１１に係るデータのＵＳＢメモリ１以外の記憶媒体への保存を防止することが可能となる。図５に示す動作フローは、ファイル生成に係るＡＰＩであるＮｔＣｒｅａｔｅＦｉｌｅの監視並びに動作の禁止及び許可を行うための動作フローであるが、他のＡＰＩやメッセージについても当然同様の監視並びに動作の禁止及び許可を行うことが可能である。
【００１８】
図６に監視用ＤＬＬ１０１の動作フロー（その３）を示す。イベント待ち状態（Ｓ２０）において、監視用ＤＬＬ１０１が、アプリケーションの終了を検知する（Ｓ２２０）。監視用ＤＬＬ１０１は、当該終了したアプリケーションが監視用ＤＬＬ１０１の備えるリストに登録されているか否かを判断する（Ｓ２２２）。リストに登録されていない場合（Ｓ２２２：ＮＯ）、監視用ＤＬＬ１０１は何もすることなく、イベント待ち状態に戻る（Ｓ２Ｅ）。当該終了したアプリケーションがリストに登録されていた場合（Ｓ２２２：ＹＥＳ）、監視用ＤＬＬ１０１はリストから当該アプリケーションの登録を削除し（Ｓ２４４）、イベント待ち状態に戻る（Ｓ２Ｅ）。
【００１９】
以下、本実施例に開示の技術の奏する作用効果を記す。ユーザ領域１１にデータを暗号化し保存することで、情報漏洩の発生を防止することが可能となる。さらに、データの暗号化、及び、復号化に係る手段を可搬記憶媒体のシステム領域１０に格納することで、予め電子計算機の環境を変更する必要性無く、情報漏洩の発生の防止という効果を得ることが可能となる。
【００２０】
また、本実施例に開示の方法によると、電子計算機の環境を予め変更することなく、システム領域１０にＡＰＩの実行、及びＯＳのメッセージに応じた処理の実行に係る履歴情報を保存することが可能となる。
【００２１】
尚、本発明は前記実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良、変形が可能であることは言うまでもない。
【００２２】
尚、本実施例に開示する監視用ＤＬＬ１０１はＤＬＬの一例であり、データ及びファイルはデジタルコンテンツの一例である。
【符号の説明】
【００２３】
１：ＵＳＢメモリ
１０：システム領域
１１：ユーザ領域
２：パーソナルコンピュータ
２０：内蔵ハードディスク
２１：周辺機器
１０１：監視用ＤＬＬ
２０１：アプリケーション
２０２：標準ＤＬＬ
【図１】
2012018578.tif 000003
【図２】
2012018578.tif 000004
【図３】
2012018578.tif 000005
【図４】
2012018578.tif 000006
【図５】
2012018578.tif 000007
【図６】
2012018578.tif 000008
【手続補正書】
【提出日】平成23年3月25日(2011.3.25)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子計算機に着脱可能な可搬記憶媒体に関する。特に情報漏洩防止に係る技術に関する。
【背景技術】
【０００２】
電子計算機に対して着脱可能な可搬記憶媒体による情報漏洩が問題となっている。かかる問題を解決するための技術として、可搬記憶媒体へのデータの書き込み時にデータを暗号化し、可搬記憶媒体からの読み込み時にデータを複合化する技術が知られている。当該技術を用いることで、可搬記憶媒体の所有者以外の第三者が、該可搬記憶媒体に保存されたデータを利用することを防止することができる。
【０００３】
可搬記憶媒体への読み込み、書き込み操作を行う電子計算機を制限し、さらにネットワークを用い当該電子計算機を管理及び制御することで情報漏洩を防止する手段が特許文献１に開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−９２２０２
【発明の概要】
【発明が解決しようとする課題】
【０００５】
可搬記憶媒体に保存されているデータが暗号化されている場合において、アプリケーションで当該データを利用する際には、当該データが復号化された上でメモリ空間上にロードされ利用される。何らかの手段によりロードされた内容をアプリケーションが可搬記憶媒体以外の場所に保存した場合、当該保存されたデータにより情報漏洩が生じうる。
【課題を解決するための手段】
【０００６】
情報処理装置に接続される可搬記憶媒体であって、書き換え可能な記憶領域を備え、前記記憶領域は、デジタルコンテンツを格納するためのユーザ領域と、前記情報処理装置上で動作するアプリケーションの動作を監視し、前記アプリケーションにより実行されるイベントに応じて、イベントに対して割り込みを行う監視ＤＬＬ（Ｄｙｎａｍｉｃ  Ｌｉｎｋ  Ｌｉｂｒａｒｙ）を有するシステム領域と、を備えることを特徴とする。
ここで、イベントとは、アプリケーションにより実行されるＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）の実行、又はオペレーティングシステムからアプリケーションに通知されるメッセージに係る処理である。
また、監視ＤＬＬは、アプリケーションがユーザ領域に格納されている前記デジタルコンテンツをオープンしたことを検出する検出手段と、検出手段に応じて、該アプリケーションをリストに登録する登録手段とを備えている。
さらに、実行されるイベントが監視ＤＬＬの監視対象のイベントであるか否かを判断する第１判断手段を備え、監視ＤＬＬは、第１判断手段によりイベントが対象となるイベントであると判断される場合に、該イベントに対して割り込みを行い、アプリケーションがリストに登録されているか否かを判断する第２判断手段と、第２判断手段により登録されていると判断される場合に、イベントの実行条件に応じて、該イベントの実行の可否を制御する制御手段と、を備えている。
例えば、イベントがデジタルコンテンツの格納の場合には、制御手段は、デジタルコンテンツの格納先がユーザ領域であるか否かを判断する第３判断手段を備え、第３判断手段により格納先はユーザ領域でないと判断される場合、アプリケーションによる格納を禁止する。
また、イベントがアプリケーションによるデジタルコンテンツの印刷の場合には、制御手段は、デジタルコンテンツの印刷を禁止する。
【発明の効果】
【０００７】
ユーザ領域に格納されているデータであるデジタルコンテンツをメモリ空間上にロードしたアプリケーションについて、当該アプリケーションによるイベントの実行、例えば、ＡＰＩの実行、又は、オペレーティングシステムから通知されるメッセージに応じた処理の実行に応じて、監視ＤＬＬは、そのイベントに対して割り込みを行う。
これにより、メモリ空間上にロードしたデジタルコンテンツの監視が可能となり、必要に応じて対象となるイベントに係るプログラムコードの呼び出しの可否が判断される。アプリケーションにより実行されるＡＰＩの実行、又はオペレーティングシステムからアプリケーションに通知されるメッセージによるデジタルコンテンツのユーザ領域外への格納や印刷などを監視し、必要に応じてこれらの処理を禁止することができる。ユーザ領域に格納されているデータの漏洩を防止することが可能になる。
【図面の簡単な説明】
【０００８】
【図１】本実施例に係るハードウェア構成図の一例である。
【図２】本実施例に係る監視用ＤＬＬの動作の概略図である。
【図３】本実施例の動作フロー図である。
【図４】本実施例に係る監視用ＤＬＬの動作フロー図（その１）である。
【図５】本実施例に係る監視用ＤＬＬの動作フロー図（その２）である。
【図６】本実施例に係る監視用ＤＬＬの動作フロー図（その３）である。
【発明を実施するための形態】
【０００９】
本実施例に係るハードウェア構成図の一例を図１に示す。本実施例に係る可搬記憶媒体の一例であるＵＳＢメモリ１は、システム領域１０と、ユーザ領域１１とを備える。システム領域１０には、後述する監視用ＤＬＬ１０１、パスワード認証ソフト、呼び出し履歴が格納される。ユーザ領域１１には、ユーザの利用に供するデータがパスワード認証ソフトにより暗号化された上で保存される。
【００１０】
本実施例に係る監視用ＤＬＬ１０１は、ＤＬＬ（Ｄｙｎａｍｉｃ  Ｌｉｎｋ  Ｌｉｂｒａｒｙ）の一例である。ＯＳ上で動作するアプリケーションは、ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）を通じて、ＯＳが提供する機能を利用することが可能となる。ＡＰＩを実行することで実際に実行される関数等のプログラムコードが、ＤＬＬに格納されている。
【００１１】
ＵＳＢメモリ１は、電子計算機の一例であるパーソナルコンピュータ（以下、ＰＣと記す）２に接続される。ＰＣ２は、記憶媒体の一例である内蔵ハードディスク２０を備え、周辺機器２１と接続される。ここで周辺機器２１とは、外付けハードディスクドライブ、ＵＳＢメモリ、プリンター等のことを言う。
【００１２】
図２に本実施例に係る監視用ＤＬＬ１０１の動作の概略図を示す。図２に示す例では、ＰＣ２上で実行されるアプリケーション２０１が、ＡＰＩを実行し、ＯＳが標準的に備える標準ＤＬＬ２０２の備えるプログラムコードを呼び出す場合を想定している。実行に係るＡＰＩが監視対象のＡＰＩであった場合に、監視用ＤＬＬ１０１が割り込みを行う。即ち、監視用ＤＬＬ１０１は、アプリケーションによるＡＰＩの実行に応じて、ＡＰＩの実行に伴う標準ＤＬＬ２０２のプログラムコードの呼び出しを阻害する。さらに、アプリケーションによるＡＰＩの実行に応じて、監視用ＤＬＬ１０１の備える監視用関数が呼び出される。そして、監視用関数が呼び出された場合、条件に応じて、アプリケーションが呼び出そうとしていたプログラムコードを呼び出すか、あるいは、当該プログラムコードの呼び出しを中止した上で、アプリケーションに対してエラーを返す。
【００１３】
以下に、本実施例が監視対象とするＡＰＩの一例を示す。例えばＷｉｎｄｏｗｓ（登録商標）においては、ＮｔＣｒｅａｔｅＦｉｌｅという名前の、ファイル生成を行うためのＡＰＩを監視する。これにより、許可しないファイルの保存を防ぐことが可能となる。また、Ｗｉｎｄｏｗｓ（登録商標）においては、ＳｅｔＣｌｉｐｂｏａｒｄＤａｔａという名前の、クリップボードへのデータ格納を行うためのＡＰＩを監視する。これにより、許可しない文字列や画像データのコピー、カット、ペーストを防ぐことが可能となる。また、Ｗｉｎｄｏｗｓ（登録商標）においては、ＯｐｅｎＰｒｉｎｔｅｒという名前の、プリントサーバに接続するＡＰＩを監視する。これにより、許可しない印刷を防ぐことが可能となる。また、Ｗｉｎｄｏｗｓ（登録商標）においては、ＤｅｖｉｃｅＩｏＣｏｎｔｒｏｌという名前の各種周辺機器との入出力を行うためのデバイスドライバを制御するＡＰＩを監視する。これにより、許可しないネットワークへの接続を防ぎ、データの漏洩を防止することが可能となる。
【００１４】
また、監視用ＤＬＬ１０１は、ＯＳがアプリケーションに対して送るメッセージを監視し、割り込みを行う。例えばＷｉｎｄｏｗｓ（登録商標）においては、ＶＫ＿ＳＮＡＰＳＨＯＴという名前の画面の表示内容をコピーするためのＡＰＩを監視する。これにより、画面の表示内容が不正に保存されることを防止することが可能となる。 
【００１５】
図３に本実施例に係る監視用ＤＬＬ１０１の動作フローの全体図を示す。ユーザの操作に応じて、ＵＳＢメモリ１のシステム領域１０に格納されているパスワード認証ソフトが起動される（Ｓ０）。当該パスワード認証ソフトの使用により、ＵＳＢメモリ１中のユーザ領域１１に係るドライブがオープンされる（Ｓ１）。ステップＳ１により、ユーザ領域１１に格納されているファイルにアクセスが可能となり、ＰＣ２上で監視用ＤＬＬ１０１が起動し常駐する（Ｓ２）。ユーザの操作に応じて、ＰＣ２上で動作するアプリケーションにより、ユーザ領域１１に格納されているファイルがオープンされる（Ｓ４）。監視用ＤＬＬ１０１は、ＰＣ２上で実行されているユーザ領域１１中のファイルをオープンした当該アプリケーションで実行されているＡＰＩのテーブルを検索する（Ｓ６）。監視用ＤＬＬ１０１は、検索結果を元にして、対象となるＡＰＩの飛び先アドレスをＯＳの備えるＤＬＬ２０２から、監視用ＤＬＬ１０１の備える監視用関数へと変更する（Ｓ８）。以上、ステップＳ０からＳ８までの動作により、ユーザ領域１１に格納しているファイルをオープンしたアプリケーションを監視することが可能となる。以下のステップＳ１０からＳ１６は、監視用ＤＬＬ１０１が実際にアプリケーションを監視する際の動作に関するステップである。アプリケーションが、監視用ＤＬＬ１０１の監視用関数を呼び出すと（Ｓ１０）、監視用ＤＬＬ１０１は、呼び出しに係る履歴をＵＳＢメモリ１のシステム領域１０に保存する（Ｓ１１）。そして、監視用ＤＬＬ１０１は、条件判断を行う（Ｓ１２）。当該条件判断の詳細については後述する。監視用ＤＬＬ１０１は条件判断の結果、当該アプリケーションからの監視用関数の呼出が条件に適合しない（Ｓ１２：ＮＯ）と判断した場合は、アプリケーションに対してエラーを返す（Ｓ１６）。また、監視用関数の呼び出しが条件に適合する場合（Ｓ１２：ＹＥＳ）、アプリケーションに対してＯＳの備えるＤＬＬに係るプログラムコードの呼び出しを許可する。
【００１６】
図４に監視用ＤＬＬ１０１の動作フロー（その１）を示す。イベント待ち状態において（Ｓ２０）、なんらかのアプリケーションがＵＳＢメモリ１のユーザ領域１１中のファイルをオープンする（Ｓ２２）。監視用ＤＬＬ１０１は、当該アプリケーションの動作を検知して、当該アプリケーションを監視用ＤＬＬ１０１の備えるリストに登録する（Ｓ２４）。そして、イベント待ちの状態に戻る（Ｓ２Ｅ）。これら一連の動作により、ユーザ領域１１に保存されているデータをメモリ空間上にロードしたアプリケーションの監視が可能となる。
【００１７】
図５に監視用ＤＬＬ１０１の動作フロー（その２）を示す。ここでは、監視用ＤＬＬ１０１の監視対象となるＡＰＩの呼び出しがなされた場合の動作フローを説明する。なお、図５に示すのは、Ｗｉｎｄｏｗｓ（登録商標）におけるファイル保存用のＡＰＩであるＮｔＣｒｅａｔｅＦｉｌｅが実行される場合である。イベント待ち状態において（Ｓ２０）、ＰＣ上でアプリケーションにより、ＮｔＣｒｅａｔｅＦｉｌｅ等の監視対象となるＡＰＩの呼び出しがなされる（Ｓ２１０）。ここで、監視用ＤＬＬ１０１は、当該アプリケーションが監視用ＤＬＬ１０１の備えるリストに登録されているか否かを判断する（Ｓ２１２）。ここで、アプリケーションがリストに登録されていない場合は（Ｓ２１２：ＮＯ）、監視用ＤＬＬ１０１は保存を許可する。すなわち、ＮｔＣｒｅａｔｅＦｉｌｅ等のＡＰＩの呼び出しを許可する（Ｓ２１８）。そして、イベント待ち状態に戻る（Ｓ２Ｅ）。当該アプリケーションが監視用ＤＬＬ１０１のリストに登録されている場合（Ｓ２１２：ＹＥＳ）、監視用ＤＬＬ１０１は、ＮｔＣｒｅａｔｅＦｉｌｅによるファイルの保存先を判断する（Ｓ２１４）。ＵＳＢメモリ１の備えるデータ保存用領域であるユーザ領域１１への保存の場合（Ｓ２１６：ＹＥＳ）、監視用ＤＬＬ１０１は保存を許可する（Ｓ２１８）。そして、イベント待ち状態へ戻る（Ｓ２Ｅ）。ＮｔＣｒｅａｔｅＦｉｌｅによるファイルの保存先が、ＵＳＢメモリ１の備えるユーザ領域１１でなかった場合（Ｓ２１４：ＮＯ）、監視用ＤＬＬ１０１はアプリケーションに対して、エラーメッセージを返し、ＮｔＣｒｅａｔｅＦｉｌｅの実行を阻害する。そして、イベント待ち状態に戻る（Ｓ２Ｅ）。これら一連の動作により、アプリケーションによりメモリ空間上に保存されたユーザ領域１１に係るデータのＵＳＢメモリ１以外の記憶媒体への保存を防止することが可能となる。図５に示す動作フローは、ファイル生成に係るＡＰＩであるＮｔＣｒｅａｔｅＦｉｌｅの監視並びに動作の禁止及び許可を行うための動作フローであるが、他のＡＰＩやメッセージについても当然同様の監視並びに動作の禁止及び許可を行うことが可能である。
【００１８】
図６に監視用ＤＬＬ１０１の動作フロー（その３）を示す。イベント待ち状態（Ｓ２０）において、監視用ＤＬＬ１０１が、アプリケーションの終了を検知する（Ｓ２２０）。監視用ＤＬＬ１０１は、当該終了したアプリケーションが監視用ＤＬＬ１０１の備えるリストに登録されているか否かを判断する（Ｓ２２２）。リストに登録されていない場合（Ｓ２２２：ＮＯ）、監視用ＤＬＬ１０１は何もすることなく、イベント待ち状態に戻る（Ｓ２Ｅ）。当該終了したアプリケーションがリストに登録されていた場合（Ｓ２２２：ＹＥＳ）、監視用ＤＬＬ１０１はリストから当該アプリケーションの登録を削除し（Ｓ２４４）、イベント待ち状態に戻る（Ｓ２Ｅ）。
【００１９】
以下、本実施例に開示の技術の奏する作用効果を記す。ユーザ領域１１にデータを暗号化し保存することで、情報漏洩の発生を防止することが可能となる。さらに、データの暗号化、及び、復号化に係る手段を可搬記憶媒体のシステム領域１０に格納することで、予め電子計算機の環境を変更する必要性無く、情報漏洩の発生の防止という効果を得ることが可能となる。
【００２０】
また、本実施例に開示の方法によると、電子計算機の環境を予め変更することなく、システム領域１０にＡＰＩの実行、及びＯＳのメッセージに応じた処理の実行に係る履歴情報を保存することが可能となる。
【００２１】
尚、本発明は前記実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良、変形が可能であることは言うまでもない。
【００２２】
尚、本実施例に開示する監視用ＤＬＬ１０１はＤＬＬの一例であり、データ及びファイルはデジタルコンテンツの一例である。
【符号の説明】
【００２３】
１：ＵＳＢメモリ
１０：システム領域
１１：ユーザ領域
２：パーソナルコンピュータ
２０：内蔵ハードディスク
２１：周辺機器
１０１：監視用ＤＬＬ
２０１：アプリケーション
２０２：標準ＤＬＬ
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
情報処理装置に接続される可搬記憶媒体であって、
書き換え可能な記憶領域を備え、前記記憶領域は、
デジタルコンテンツを格納するためのユーザ領域と、
前記情報処理装置上で動作するアプリケーションの動作を監視し、前記アプリケーションにより実行されるイベントに応じて、該イベントに対して割り込みを行う監視ＤＬＬ（Ｄｙｎａｍｉｃ  Ｌｉｎｋ  Ｌｉｂｒａｒｙ）を有するシステム領域と、を備えることを特徴とする可搬記憶媒体。
【請求項２】
前記イベントは、前記アプリケーションにより実行されるＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）の実行、又はオペレーティングシステムから前記アプリケーションに通知されるメッセージに係る処理であることを特徴とする請求項１に記載の可搬記憶媒体。
【請求項３】
前記システム領域は、前記ユーザ領域へ前記デジタルコンテンツを暗号化した上で格納し、前記ユーザ領域から暗号化された前記デジタルコンテンツを復号化した上で読み出す手段、を備えることを特徴とする請求項１又は２に記載の可搬記憶媒体。
【請求項４】
前記監視ＤＬＬによる割り込みの履歴を前記システム領域へ保存する手段、を備えることを特徴とする請求項１乃至３の何れか１項に記載の可搬記憶媒体。
【請求項５】
前記監視ＤＬＬは、前記アプリケーションによる前記ユーザ領域へのアクセスが可能となった後に起動され、前記情報処理装置上に常駐することを特徴とする請求項１乃至４の何れか１項に記載の可搬記憶媒体。
【請求項６】
前記監視ＤＬＬは、
前記アプリケーションが前記ユーザ領域に格納されている前記デジタルコンテンツをオープンしたことを検出する検出手段と、
前記検出手段に応じて、該アプリケーションをリストに登録する登録手段と、を備えることを特徴とする請求項１乃至５の何れか１項に記載の可搬記憶媒体。
【請求項７】
実行される前記イベントが前記監視ＤＬＬの監視対象のイベントであるか否かを判断する第１判断手段を備え、
前記監視ＤＬＬは、
前記第１判断手段により前記イベントが対象となるイベントであると判断される場合に、該イベントに対して割り込みを行い、
前記アプリケーションが前記リストに登録されているか否かを判断する第２判断手段と、
前記第２判断手段により登録されていると判断される場合に、前記イベントの実行条件に応じて、該イベントの実行の可否を制御する制御手段と、を備えることを特徴とする請求項６に記載の可搬記憶媒体。
【請求項８】
前記イベントがデジタルコンテンツの格納の際、
前記制御手段は、
前記デジタルコンテンツの格納先が前記ユーザ領域であるか否かを判断する第３判断手段を備え、
前記第３判断手段により格納先は前記ユーザ領域でないと判断される場合、前記アプリケーションによる格納を禁止することを特徴とする請求項７に記載の可搬記憶媒体。
【請求項９】
前記イベントが前記アプリケーションによるデジタルコンテンツの印刷の際、
前記制御手段は、
前記デジタルコンテンツの印刷を禁止することを特徴とする請求項７に記載の可搬記憶媒体。
【請求項１０】
情報処理装置と前記情報処理装置に接続される可搬記憶媒体とを備えるシステムにおけるデータ処理方法であって、
前記情報処理装置上で動作するアプリケーションの動作を監視するステップと、
前記アプリケーションにより実行されるイベントに応じて、該イベントに対して割り込みを行うステップと、を備えることを特徴とするデータ処理方法。