(57)【特許請求の範囲】
【請求項１】
端末装置が備える汎用インターフェースに対して着脱可能な記憶装置であって、
前記端末装置によって択一的に認識される読み出しのみ可能な第１の記憶領域、読み出しおよび書き込みとも可能な第２の記憶領域、および、前記端末装置において実行されるプロセスのうち、前記第２の記憶領域に対するプロセスの動作を制限するリストを記憶した第３の記憶領域と、
前記第１の記憶領域に記憶され、前記端末装置に認識される記憶領域を該第１の記憶領域から前記第２の記憶領域へと切り替えるための切り替えプログラムと、
前記第１の記憶領域に記憶され、前記端末装置に前記記憶装置が接続されたときに前記切り替えプログラムを前記端末装置において起動させるための起動ファイルと、
前記第１の記憶領域に記憶され、前記リストにしたがって情報漏洩を防止する情報漏洩防止プログラムと、
を備え、
前記第１の記憶領域および前記第２の記憶領域はそれぞれ異なるパーティションであり、
前記切り替えプログラムは、前記端末装置に、前記第１の記憶領域であるパーティションを不可視状態に切り替えさせた後、前記第２の記憶領域であるパーティションを可視状態に切り替えさせることを特徴とする記憶装置。
【請求項２】
前記切り替えプログラムにしたがって前記端末装置が発行する切り替え命令を受信することで、前記端末装置に認識される記憶領域を前記第１の記憶領域から前記第２の記憶領域へと切り替える第１のコントローラと、
を更に備え、
前記第１のコントローラは、前記切り替え命令を受信すると、前記第１の記憶領域の論理ユニット番号と前記第２の記憶領域の論理ユニット番号を変更することを特徴とする請求項１に記載の記憶装置。
【請求項３】
前記切り替えプログラムは、前記端末装置に認識される記憶領域を前記第１の記憶領域から前記第２の記憶領域へと切り替えたとしても前記記憶装置に割り当てられるドライブレターを維持する維持手段として前記端末装置を機能させることを特徴とする請求項１または２に記載の記憶装置。
【請求項４】
端末装置が備える汎用インターフェースに対して着脱可能な記憶装置の制御方法であって、
前記記憶装置は、
前記端末装置によって択一的に認識される読み出しのみ可能な第１の記憶領域、読み出しおよび書き込みとも可能な第２の記憶領域、および、前記端末装置において実行されるプロセスのうち、前記第２の記憶領域に対するプロセスの動作を制限するリストを記憶した第３の記憶領域と、
前記第１の記憶領域に記憶され、前記端末装置に認識される記憶領域を該第１の記憶領域から前記第２の記憶領域へと切り替えるための切り替えプログラムと、
前記第１の記憶領域に記憶され、前記端末装置に前記記憶装置が接続されたときに前記切り替えプログラムを前記端末装置において起動させるための起動ファイルと、
前記第１の記憶領域に記憶され、前記リストにしたがって情報漏洩を防止する情報漏洩防止プログラムと、
を備え、
前記制御方法は、
前記端末装置が前記記憶装置に接続されると、前記第１の記憶領域から前記起動ファイルを読み出して実行するステップと、
前記起動ファイルにしたがって前記切り替えプログラムを実行するステップと、
前記切り替えプログラムにしたがって前記端末装置に認識される記憶領域を前記第１の記憶領域から前記第２の記憶領域へと切り替えるステップであって、前記第１の記憶領域および前記第２の記憶領域はそれぞれ異なるパーティションであり、前記第１の記憶領域であるパーティションを不可視状態に切り替えた後、前記第２の記憶領域であるパーティションを可視状態に切り替えるステップと
を含むことを特徴とする制御方法。
【請求項５】
端末装置が備える汎用インターフェースに対して着脱可能であり、前記端末装置によって択一的に認識される読み出しのみ可能な第１の記憶領域、読み出しおよび書き込みとも可能な第２の記憶領域、および、前記端末装置において実行されるプロセスのうち、前記第２の記憶領域に対するプロセスの動作を制限するリストを記憶した第３の記憶領域を備えた記憶装置において、前記端末装置に接続されたときにコンピュータプログラムを前記端末装置において起動させるための起動ファイルと、前記リストにしたがって情報漏洩を防止する情報漏洩防止プログラムとともに前記第１の記憶領域に記憶されたコンピュータプログラムであって、
前記記憶装置が前記端末装置に接続されたことで前記第１の記憶領域から読み出された前記起動ファイルにしたがって前記コンピュータプログラムが前記端末装置によって起動されると、
前記端末装置に認識される記憶領域を前記第１の記憶領域から前記第２の記憶領域へと切り替える切り替え手段であって、前記第１の記憶領域および前記第２の記憶領域はそれぞれ異なるパーティションであり、前記第１の記憶領域であるパーティションを不可視状態に切り替えた後、前記第２の記憶領域であるパーティションを可視状態に切り替える切り替え手段として、前記端末装置を機能させることを特徴とするコンピュータプログラム。
【請求項６】
着脱可能な記憶装置を汎用インターフェースに接続する端末装置であって、
前記記憶装置は、
前記端末装置によって択一的に認識される読み出しのみ可能な第１の記憶領域、読み出しおよび書き込みとも可能な第２の記憶領域、および、前記端末装置において実行されるプロセスのうち、前記第２の記憶領域に対するプロセスの動作を制限するリストを記憶した第３の記憶領域と、
前記第１の記憶領域に記憶され、前記端末装置に認識される記憶領域を該第１の記憶領域から前記第２の記憶領域へと切り替えるための切り替えプログラムと、
前記第１の記憶領域に記憶され、前記端末装置に前記記憶装置が接続されたときに前記切り替えプログラムを前記端末装置において起動させるための起動ファイルと、
前記第１の記憶領域に記憶され、前記リストにしたがって情報漏洩を防止する情報漏洩防止プログラムと、
を備え、
前記端末装置は、
前記記憶装置が接続されると、前記第１の記憶領域から前記起動ファイルを読み出し、該起動ファイルにしたがって前記切り替えプログラムを実行する手段と、
前記切り替えプログラムにしたがって前記端末装置から認識可能な記憶領域を前記第１の記憶領域から前記第２の記憶領域へと切り替える切り替え手段であって、前記第１の記憶領域および前記第２の記憶領域はそれぞれ異なるパーティションであり、前記切り替えプログラムにしたがって前記第１の記憶領域であるパーティションを不可視状態に切り替えた後、前記第２の記憶領域であるパーティションを可視状態に切り替える切り替え手段と
を含むことを特徴とする端末装置。
【請求項７】
前記情報漏洩防止プログラムは、前記リストに登録されているファイル操作プログラムまたはメーラープログラムによるファイルの漏洩を防止するためにレジストリを一時的に変更する、又は変更されたレジストリを変更前へ戻すレジストリ変更手段として、前記端末装置を機能させることを特徴とする請求項１に記載の記憶装置。
【請求項８】
前記情報漏洩防止プログラムは、前記リストに登録されているファイル操作プログラムによるファイルの漏洩を防止するために、
接続されている、又は追加接続される特定の通信装置を一時的に無効化する手段として、前記端末装置を機能させることを特徴とする請求項１に記載の記憶装置。
【請求項９】
前記情報漏洩防止プログラムは、フレキシブルディスクドライブによるファイルの漏洩を防止するために、接続されている、又は追加接続されるフレキシブルドライブを一時的に無効化する手段として、前記端末装置を機能させることを特徴とする請求項１に記載の記憶装置。
【請求項１０】
前記情報漏洩防止プログラムは、情報漏洩対象ファイルまたはその一部を前記端末装置のメモリ上で複製するためのダイアログの表示が指定されると、当該ダイアログの表示を禁止するダイアログ禁止手段として、前記端末装置を機能させることを特徴とする請求項１に記載の記憶装置。
【請求項１１】
前記情報漏洩防止プログラムは、情報漏洩対象ファイルまたはその一部についての複数のウインドウ間でのドラックアンドドロップを監視し、ドラックアンドドロップが指定されると、その実行を禁止するドラックアンドドロップ禁止手段として、前記端末装置を機能させることを特徴とする請求項１に記載の記憶装置。
【請求項１２】
前記情報漏洩防止プログラムは、クリップボードの使用を独占することで、情報漏洩対象ファイルまたはその一部を該クリップボードへコピーすることを防止するクリップボード独占手段として、前記端末装置を機能させることを特徴とする請求項１に記載の記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶装置、情報処理装置、端末装置およびコンピュータプログラムに係り、とりわけ情報漏洩等を抑制するためのセキュリティ技術に関する。
【背景技術】
【０００２】
情報化社会である今日、業務形態としてパーソナルコンピュータに代表される情報端末装置（以下端末装置）を用いることが多くなっている。官公庁、企業、公共施設を始めとした組織では、保有する情報がデジタルデータで扱われる。デジタル化された業務用書類は、複製や頒布が極めて容易である。それゆえ、データの機密性、完全性、可用性を確保するための情報セキュリティ技術へのニーズが高まっている。
【０００３】
一方、端末装置の汎用性の高い外部記憶装置として、持ち運びが可能な様々なリムーバブルディスクが普及している。とりわけ、ＵＳＢコネクタを一体化した小型で着脱可能なＵＳＢストレージデバイスは、近年、目覚しく普及している。使用形態も様々で、例えば、業務作業に必要な情報を予めＵＳＢストレージデバイスに記憶して持ち出し、外出先の端末装置に接続して作業を行うことも可能である。
【０００４】
しかし、ＵＳＢストレージデバイスは便利である反面、セキュリティに関して脆弱であった。例えば、悪意ある者がＵＳＢストレージデバイスに記憶されている機密情報を、故意に第３者の端末装置へ移動したり、複製したりすることが挙げられる。
【０００５】
従来、このような情報漏洩を防止する技術が提案されている。特許文献１によれば、個人認証機能により認証された特定使用者だけが、保護・秘匿すべき秘匿領域にあるデータを保存・消去することができ、特定使用者の情報を保護できるＵＳＢストレージデバイスが提案されている。
【０００６】
また、ＵＳＢストレージデバイスの読取技術として、特許文献２によれば、記憶装置内部の記憶領域のうち、１つをＣＤ−ＲＯＭデバイスとして、もう１つをリムーバブルディスク領域としてＰＣに認識させて読取る方法が提案されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−３０１７７２号公報
【特許文献２】特許第３６９９７１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、特許文献１に記載されている漏洩防止方法では、ＵＳＢストレージデバイスに記憶されている機密情報を外部の端末装置で閲覧した後、記憶させたままで消去を忘れてしまうということがあり、その結果その端末装置から情報漏洩が発生する。
【０００９】
また、その他の課題として、特許文献２に記載されたＵＳＢの読取方法では、同時に２つのドライブをＰＣに認識させることが前提となっている。そのため、ドライブレターが枯渇しやすくなったり、ＰＣが備えるドライブに割り当てられるドライブレターがユーザの意図したものと異なってしまったりするなど、ＰＣのドライブ環境に大きな影響を与えかねない。
【００１０】
そこで、本発明は、記憶装置の記憶領域内部の機密情報が、外部の端末装置等から漏洩することを防止する記憶装置等を提供することを目的とする。
なお、他の課題については明細書の全体を通して理解できよう。
【課題を解決するための手段】
【００１１】
第１の観点によれば、
汎用インターフェースを介して情報処理装置と接続される記憶装置において、
第１の情報を格納する第１の記憶領域と、
編集可能な第２の情報を格納する読み出し書き込み可能な第２の記憶領域とを有し、
第１の情報は、
第２の情報が漏洩することを防止する情報漏洩防止プログラムと、
第２の情報の格納が許容される格納先を特定するデータとのうち少なくとも一方と
を含むことを特徴とする記憶装置が提供される。
【００１２】
第２の観点によれば、
第１の情報は、情報処理装置に記憶装置が接続されたときに情報漏洩防止プログラムを情報処理装置において起動させるための起動ファイルをさらに含むことを特徴とする記憶装置が提供される。
【００１３】
第３の観点によれば、
情報漏洩防止プログラムは、情報処理装置をサーバと接続し、サーバから受信した情報によって第１の情報を更新する更新手段として情報処理装置を機能させることを特徴とする記憶装置が提供される。
【００１４】
第４の観点によれば、
第１の情報は、前記第２の情報をアクセスする対象者を特定するデータを含むことを特徴とする記憶装置が提供される。
【００１５】
第５の観点によれば、
情報漏洩防止プログラムは、情報処理装置が第２の情報を閲覧することを許可するとともに、情報処理装置へ第２の情報を格納することを禁止するコンピュータプログラムであることを特徴とする記憶装置が提供される。
【００１６】
第６の観点によれば、
情報漏洩防止プログラムは、情報処理装置が第２の情報を編集し、編集した第２の情報を第２の記憶領域に格納することを許可するコンピュータプログラムであることを特徴とする記憶装置が提供される。
【００１７】
第７の観点によれば、
情報処理装置から記憶装置が取り外されたことを検出する取り外し検出手段と、
記憶装置が情報処理装置から取り外されたことが検出されると、第１の情報および第２の情報を情報処理装置からクリアないしアンインストールする手段として、
情報処理装置を機能させることを特徴とする記憶装置が提供される。
【００１８】
第８の観点によれば、
情報漏洩防止プログラムは、
第２の情報の格納先が第１の情報によって特定されている場合、情報処理装置が第２の情報を第２の記憶領域に加えて特定されている格納先にも格納することを許可することを特徴とする記憶装置が提供される。
【００１９】
第９の観点によれば、
情報漏洩防止プログラムは、ネットワークに接続された情報処理装置が第２の情報をネットワーク上に配信することを許可することを特徴とする記憶装置が提供される。
【００２０】
第１０の観点によれば、
情報漏洩防止プログラムは、情報処理装置のプログラム動作を監視及び制御する手段として情報処理装置を機能させることで、情報処理装置へ第２の情報を格納することを禁止することを特徴とする記憶装置が提供される。
【００２１】
第１１の観点によれば、
情報処理装置のプログラム動作を監視及び制御する手段は、カーネルモードにて動作することを特徴とする記憶装置が提供される。
【００２２】
第１２の観点によれば、
情報漏洩防止プログラムは、情報処理装置のレジストリを監視し、レジストリの変更があった場合、レジストリにおいて変更された情報を変更前の情報に戻す手段として情報処理装置を機能させることを特徴とする記憶装置が提供される。
【００２３】
第１３の観点によれば、
変更前の情報に戻す手段は、第２の情報を電子メールにより送信すること、または第２の情報を壁紙として使用すること禁止する手段であることを特徴とする記憶装置が提供される。
【００２４】
第１４の観点によれば、
情報漏洩防止プログラムは、情報処理装置に情報を格納するデバイスと、情報処理装置から情報を送信するデバイスを無効化する手段として情報処理装置を機能させることを特徴とする記憶装置が提供される。
【００２５】
第１５の観点によれば、
デバイスを無効化する手段は、フレキシブルドライブディスクへの情報の書き込み、またはネットワークへの情報のアップロードを禁止する手段であることを特徴とする記憶装置が提供される。
【００２６】
第１６の観点によれば、
情報漏洩防止プログラムは、第２の情報を情報処理装置へ格納することに導く操作を禁止する手段として情報処理装置を機能させることを特徴とする記憶装置が提供される。
【００２７】
第１７の観点によれば、
操作を禁止する手段は、ダイアログ表示、ドラックアンドドロップ、クリップボードの利用のいずれか一つ、または複数の組み合わせを禁止する手段であることを特徴とする請求項１６記載の記憶装置が提供される。
【００２８】
第１８の観点によれば、
着脱可能な記憶装置を汎用インターフェースに接続可能な情報処理装置において、
記憶装置は、
第１の情報を格納する第１の記憶領域と、
編集可能な第２の情報を格納する読み出し書き込み可能な第２の記憶領域とを有し、
第１の情報は、第２の情報の漏洩防止のために取扱いを制御する情報を備え、
情報処理装置は、第１の情報を第１の記憶領域から読み出して実行する
ことを特徴とする情報処理装置が提供される。
【００２９】
第１９の観点によれば、
情報処理装置において、
第１の情報を格納する読み出し専用の第１の記憶領域と、
編集可能な第２の情報を格納する読み出し書き込み可能な第２の記憶領域とを有し、
第１の情報は、第２の情報の格納先の特定を制御する情報であることを特徴とする情報処理装置が提供される。
第２０の観点によれば、
第１の情報は、第２の情報が漏洩することを防止する情報漏洩防止プログラムを含むことを特徴とする情報処理装置が提供される。
【００３０】
第２１の観点によれば、
汎用インターフェースを介して情報処理装置と接続される記憶装置の第１の記憶領域から第１の情報を読み出す第１のステップと、
記憶装置の第２の記憶領域に記憶された編集可能な第２の情報の情報処理装置における取扱いを第１の情報により制御することで、第２の情報の漏洩を防止する第２のステップと
を情報処理装置に実行させるコンピュータプログラムであって、
第１の情報は、
第２の情報の格納が許容される格納先を含むことを特徴とするコンピュータプログラムが提供される。
【００３１】
本発明の第２２の観点によれば、
端末装置が備える汎用インターフェースに対して着脱可能な記憶装置であって、
端末装置によって択一的に認識される第１の記憶領域および第２の記憶領域と、
第１の記憶領域に記憶され、端末装置に認識される記憶領域を第１の記憶領域から第２の記憶領域へと切り替えるための切り替えプログラムと、
第１の記憶領域に記憶され、端末装置に記憶装置が接続されたときに切り替えプログラムを端末装置において起動させるための起動ファイルと、
を備え、
端末装置は、記憶装置が接続されると、第１の記憶領域から起動ファイルを読み出して実行することで切り替えプログラムを起動し、端末装置に認識される記憶領域を第１の記憶領域から第２の記憶領域へと切り替える切り替え手段として機能することを特徴とする記憶装置が提供される。
【００３２】
本発明の第２３の観点によれば、
第１の記憶領域は、読み出しのみ可能な記憶領域であり、第２の記憶領域は、読み出しおよび書き込みとも可能な記憶領域であることを特徴とする記憶装置が提供される。
【００３３】
本発明の第２４の観点によれば、
起動ファイルは、ａｕｔｏｒｕｎ．ｉｎｆファイルであることを特徴とする記憶装置が提供される。
【００３４】
本発明の第２５の観点によれば、
第１の記憶領域および第２の記憶領域はそれぞれ異なるパーティションであり、
切り替えプログラムは、第１の記憶領域であるパーティションを不可視状態に切り替えた後、第２の記憶領域であるパーティションを可視状態に切り替えることを特徴とする記憶装置が提供される。
【００３５】
本発明の第２６の観点によれば、
切り替えプログラムにしたがって端末装置が発行する切り替え命令を受信することで、端末装置に認識される記憶領域を第１の記憶領域から第２の記憶領域へと切り替える第１のコントローラを備えることを特徴とする記憶装置が提供される。
【００３６】
本発明の第２７の観点によれば、
第１のコントローラは、切り替え命令を受信すると、第１の記憶領域の論理ユニット番号と第２の記憶領域の論理ユニット番号を変更することを特徴とする記憶装置が提供される。
【００３７】
本発明の第２８の観点によれば、
切り替えプログラムは、端末装置に認識される記憶領域を第１の記憶領域から第２の記憶領域へと切り替えたとしても記憶装置に割り当てられるドライブレターを維持する維持手段として端末装置を機能させることを特徴とする記憶装置が提供される。
【００３８】
本発明の第２９の観点によれば、
切り替えプログラムは、第１の記憶領域に記憶されている情報漏洩防止プログラムを端末装置にインストールしてから、端末装置に認識される記憶領域を第１の記憶領域から第２の記憶領域へと切り替えることを特徴とする記憶装置が提供される。
【００３９】
本発明の第３０の観点によれば、
情報漏洩防止プログラムは、
記憶装置が端末装置から取り外されたことを検出する取り外し検出手段と、
記憶装置が端末装置から取り外されたことが検出されると、記憶装置から端末装置へとインストールされたプログラムおよびファイルをアンインストールする手段として、端末装置を機能させることを特徴とする記憶装置が提供される。
【００４０】
本発明の第３１の観点によれば、
端末装置において実行されるプロセスのうち、第２の記憶領域に対するアクセスを許可されたプロセスの識別情報を登録したホワイトリストを記憶した第３の記憶領域をさらに含み、
情報漏洩防止プログラムは、
端末装置において実行されているプロセスの識別情報が、ホワイトリストに登録されている識別情報と一致するか否かに応じて、第２の記憶領域に対するアクセスを制限するアクセス制限手段として、端末装置を機能させることを特徴とする記憶装置が提供される。
【００４１】
本発明の第３２の観点によれば、
第３の記憶領域には、端末装置において実行されるプロセスのうち、アクセス対象の如何にかかわらず、動作をキャンセルされるプロセスの識別情報を登録したブラックリストを記憶しており、
情報漏洩防止プログラムは、
端末装置において実行されているプロセスの識別情報が、ブラックリストに登録されている識別情報と一致すると、プロセスによる動作をキャンセルするキャンセル手段として、端末装置を機能させることを特徴とする記憶装置が提供される。
【００４２】
本発明の第３３の観点によれば、
アクセス制限手段は、
端末装置において実行されているプロセスの識別情報が、ブラックリストおよびホワイトリストのいずれにも登録されていない場合、このプロセスが記憶装置の記憶領域にアクセスすることを限定することを特徴とする記憶装置が提供される。
【００４３】
本発明の第３４の観点によれば、
記憶装置に予め記憶されている認証情報と、端末装置または記憶装置に設けられた入力手段から入力された認証情報とを用いて認証処理を実行する認証手段をさらに含み、認証処理が成功すると、切り替えプログラムが、端末装置に認識される記憶領域を第１の記憶領域から第２の記憶領域へと切り替えることを特徴とする記憶装置が提供される。
【００４４】
本発明の第３５の観点によれば、
記憶装置に予め記憶されている認証情報と、端末装置または記憶装置に設けられた入力手段から入力された認証情報とを用いて認証処理を実行する認証手段をさらに含み、認証処理が成功すると、情報漏洩防止プログラムは、記憶装置に対するアクセスの制限を解除する解除手段として端末装置を機能させることを特徴とする記憶装置が提供される。
【００４５】
本発明の第３６の観点によれば、
切り替えプログラムは、記憶装置に認証情報が予め記憶されていなければ、認証情報の初期登録を実行する登録手段として端末装置を機能させることを特徴とする記憶装置が提供される。
【００４６】
本発明の第３７の観点によれば、
認証情報は、端末装置に付与されているＭＡＣアドレス、型式番号、製造番号およびＩＰアドレスのうち１つまたは複数を含む端末装置登録情報であることを特徴とする記憶装置が提供される。
【００４７】
本発明の第３８の観点によれば、
認証情報は、ユーザを特定するための識別子、パスワード、暗証番号、バイオメトリクス情報のうち１つまたは複数を含むユーザ登録情報であることを特徴とする記憶装置が提供される。
【００４８】
本発明の第３９の観点によれば、
端末装置が備える汎用インターフェースに対して着脱可能な記憶装置の制御方法であって、
記憶装置は、
端末装置によって択一的に認識される第１の記憶領域および第２の記憶領域と、
第１の記憶領域に記憶され、端末装置に認識される記憶領域を第１の記憶領域から第２の記憶領域へと切り替えるための切り替えプログラムと、
第１の記憶領域に記憶され、端末装置に記憶装置が接続されたときに切り替えプログラムを端末装置において起動させるための起動ファイルと、
を備え、
端末装置が記憶装置に接続されると、第１の記憶領域から起動ファイルを読み出して実行するステップと、
起動ファイルにしたがって切り替えプログラムを実行するステップと、
切り替えプログラムにしたがって端末装置に認識される記憶領域を第１の記憶領域から第２の記憶領域へと切り替えるステップと
を含むことを特徴とする制御方法が提供される。
【００４９】
本発明の第４０の観点によれば、
端末装置が備える汎用インターフェースに対して着脱可能であり、端末装置によって択一的に認識される第１の記憶領域および第２の記憶領域とを備えた記憶装置において、端末装置に接続されたときにコンピュータプログラムを端末装置において起動させるための起動ファイルとともに第１の記憶領域に記憶されたコンピュータプログラムであって、記憶装置が端末装置に接続されたことで第１の記憶領域から読み出された起動ファイルにしたがってコンピュータプログラムが端末装置によって起動されると、端末装置に認識される記憶領域を第１の記憶領域から第２の記憶領域へと切り替える切り替え手段として端末装置を機能させることを特徴とするコンピュータプログラムが提供される。
【００５０】
本発明の第４１の観点によれば、
切り替え手段は、第１の記憶領域に記憶されている情報漏洩防止プログラムを端末装置にインストールしてから、端末装置に認識される記憶領域を第１の記憶領域から第２の記憶領域へと切り替えることを特徴とするコンピュータプログラムが提供される。
【００５１】
本発明の第４２の観点によれば、
情報漏洩防止プログラムは、
記憶装置が端末装置から取り外されたことを検出する取り外し検出手段と、
記憶装置が端末装置から取り外されたことが検出されると、記憶装置から端末装置へとインストールされたプログラムおよびファイルをアンインストールする手段として、端末装置を機能させることを特徴とする観点２２に記載のコンピュータプログラムが提供される。
【００５２】
本発明の第４３の観点によれば、
着脱可能な記憶装置を汎用インターフェースに接続する端末装置であって、
記憶装置は、
端末装置によって択一的に認識される第１の記憶領域および第２の記憶領域と、
第１の記憶領域に記憶され、端末装置に認識される記憶領域を第１の記憶領域から第２の記憶領域へと切り替えるための切り替えプログラムと、
第１の記憶領域に記憶され、端末装置に記憶装置が接続されたときに切り替えプログラムを端末装置において起動させるための起動ファイルと、
を備え、
端末装置は、
記憶装置が接続されると、第１の記憶領域から起動ファイルを読み出し、起動ファイルにしたがって切り替えプログラムを実行する手段と、
切り替えプログラムにしたがって端末装置から認識可能な記憶領域を第１の記憶領域から第２の記憶領域へと切り替える切り替え手段と
を含むことを特徴とする端末装置が提供される。
【００５３】
第４４の観点によれば、
情報漏洩防止プログラムは、ホワイトリストに登録されているファイル操作プログラムまたはメーラープログラムによるファイルの漏洩を防止するためにレジストリを一時的に変更するレジストリ変更手段として、端末装置を機能させることを特徴とする記憶装置が提供される。
【００５４】
第４５の観点によれば、
情報漏洩防止プログラムは、ホワイトリストに登録されているファイル操作プログラムによるファイルの漏洩を防止するために通信装置から外部へ送信されるファイルが情報漏洩対象ファイルであるか否かを監視し、情報漏洩対象ファイルが送信対象として指定されると、その送信を禁止する送信禁止手段として、端末装置を機能させることを特徴とする記憶装置が提供される。
【００５５】
第４６の観点によれば、
情報漏洩防止プログラムは、フレキシブルディスクドライブに書き込まれるファイルが情報漏洩対象ファイルであるか否かを監視し、情報漏洩対象ファイルが書き込み対象として指定されると、その書き込みを禁止する書き込み禁止手段として、端末装置を機能させることを特徴とする記憶装置が提供される。
【００５６】
第４７の観点によれば、
情報漏洩防止プログラムは、情報漏洩対象ファイルまたはその一部を端末装置のメモリ上で複製するためのダイアログの表示が指定されると、当該ダイアログの表示を禁止するダイアログ禁止手段として、端末装置を機能させることを特徴とする記憶装置が提供される。
【００５７】
第４８の観点によれば、
情報漏洩防止プログラムは、情報漏洩対象ファイルまたはその一部についての複数のウインドウ間でのドラックアンドドロップを監視し、ドラックアンドドロップが指定されると、その実行を禁止するドラックアンドドロップ禁止手段として、端末装置を機能させることを特徴とする記憶装置が提供される。
【００５８】
第４９の観点によれば、
情報漏洩防止プログラムは、クリップボードの使用を独占することで、情報漏洩対象ファイルまたはその一部を該クリップボードへコピーすることを防止するクリップボード独占手段として、端末装置を機能させることを特徴とする記憶装置が提供される。
【００５９】
第５０の観点によれば、
汎用インターフェースを介して情報処理装置と接続される記憶装置において、
第１の情報を格納する第１の記憶領域と、
編集可能な第２の情報を格納する読み出し書き込み可能な第２の記憶領域とを有し、
第１の情報は、
第２の情報の漏洩を防止するために第２の情報の取扱いを制御する情報漏洩防止プログラムと、
前情報漏洩防止プログラムを情報処理装置において起動させるための起動ファイルと
を含むことを特徴とする記憶装置が提供される。
【００６０】
第５１の観点によれば、
情報漏洩防止プログラムは、
情報処理装置が所定のサーバと接続可能か否かを判定する接続判定手段と、
情報処理装置が所定のサーバと接続可能であれば、所定のサーバから受信した第１の情報を第２の情報に適用し、情報処理装置が所定のサーバと接続可能でなければ、第１の記憶領域に記憶されている第１の情報を第２の情報に適用する情報切り替え手段
として情報処理装置を機能させることを特徴とする記憶装置が提供される。
【００６１】
第５２の観点によれば、
情報漏洩防止プログラムは、
単一の個人が記憶装置を使用するのどうかを判定する使用者判定手段と、
単一の個人が記憶装置を使用するのであれば、第１の記憶領域に記憶されている第１の情報を第２の情報に適用し、単一の個人が記憶装置を使用するのでなければ、所定のサーバから受信した第１の情報を第２の情報に適用する情報切り替え手段
として情報処理装置を機能させることを特徴とする記憶装置が提供される。
【００６２】
第５３の観点によれば、
情報漏洩防止プログラムは、
予め定められた単一の情報処理装置が記憶装置を使用するのか、予め定められた複数の情報処理装置が記憶装置を使用するのかを判定する判定手段と、
単一の情報処理装置が記憶装置を使用するのであれば、第１の記憶領域に記憶されている第１の情報を第２の情報に適用し、複数の情報処理装置が記憶装置を使用するのであれば、所定のサーバから受信した第１の情報を第２の情報に適用する情報切り替え手段
として情報処理装置を機能させることを特徴とする記憶装置が提供される。
【００６３】
第５４の観点によれば、
第１の情報は、
第２の情報を第２の記憶領域から読み出して不揮発性記憶手段へ格納することができる複数の情報処理装置の識別情報と、
複数の情報処理装置のそれぞれが第２の情報を第２の記憶領域から読み出して不揮発性記憶手段へ格納することができる時間帯を示す時間帯情報と
を含み、
情報漏洩防止プログラムは、
記憶装置が接続されている情報処理装置の識別情報に対応した時間帯情報に基づいて、情報処理装置による第２の情報の取扱いを制限することを特徴とする記憶装置が提供される。
【００６４】
第５５の観点によれば、
第１の情報は、
複数のユーザのそれぞれに対応した第２の情報の取扱いを規定したユーザ設定を含むことを特徴とする記憶装置が提供される。
【００６５】
第５６の観点によれば、
第１の情報は、
それぞれ一人以上のユーザからなるユーザグループごとに、第２の情報の取扱いを規定したユーザ設定を含むことを特徴とする記憶装置が提供される。
【発明の効果】
【００６６】
第１、第１８ないし第２１、及び第５０の観点によれば、汎用インターフェースを介して記憶装置が接続可能な情報処理装置から、記憶装置にある重要な情報が漏洩することを防止できる。
【００６７】
第２の観点によれば、情報漏洩防止プログラムを起動するためのユーザの負担を軽減することができる。
【００６８】
第３の観点によれば、情報の漏洩防止に必要となる情報を最新の情報に維持しやすくなる。情報の漏洩防止に必要となる情報をサーバから遠隔的に更新できるため、記憶装置のセキュリティに関する管理に柔軟性をもたらすことができる。
【００６９】
第４の観点によれば、更に対象者以外に漏洩することを防止できる。
【００７０】
第５の観点によれば、情報処理装置において第２の情報を閲覧可能にしつつ、ハードディスクなどの不揮発性の記憶装置への格納を禁止することができる。
【００７１】
第６の観点によれば、情報処理装置において編集された第２の情報を第２の記憶領域に格納することが可能となる。これにより、情報漏洩を抑制しつつ、第２の情報を様々な情報処理装置を用いて更新することが可能となる。
【００７２】
第７の観点によれば、情報処理装置から記憶装置が取り外されると、第１の情報および第２の情報を情報処理装置からアンインストールすることで、情報漏洩を抑制できる。
【００７３】
第８の観点によれば、第２の情報の格納先が特定されている場合、第２の情報を第２の記憶領域以外を格納先とすることができる。例外的に、第２の情報の格納先が特定されていれば、その格納先への情報の格納を許容することで、使用者の利便性が確保されよう。
【００７４】
第９の観点によれば、情報処理装置を通じて第２の情報をネットワーク上に配信することを可能にできる。
【００７５】
第１０の観点によれば、第２の情報が情報処理装置内に格納されることを禁止できＵＳＢメモリのデータを残したまま放置するのを防止できる。
【００７６】
第１１の観点によれば、情報処理装置のプログラム動作を監視、制御を行う手段がカーネルモードにて動作するため、情報漏洩をコンピュータ上効率良く防止できる。
【００７７】
第１２の観点によれば、レジストリの変更があった場合、レジストリを変更前の情報に戻すことで、情報漏洩やレジストリの改ざんを抑制できる。
【００７８】
第１３の観点によれば、第２の情報が、メール送信されたり壁紙として使用されたりして情報漏洩することを抑制できる。
【００７９】
第１４ないし第１５の観点によれば、情報漏洩を引き起こす可能性のあるデバイスを予め無効化することで、情報漏洩を抑制できる。
【００８０】
第１６ないし第１７の観点によれば、ダイアログ表示、ドラックアンドドロップ、クリップボードなど、第２の情報の全部又はその一部の情報漏洩を招く動作を抑制することができる。
【００８１】
第１９、２０の観点によれば、複数のユーザが情報処理装置を利用する場合他人のデータファイルを誤って漏洩するのを防止できる。
【００８２】
本発明の第２２、第３９、第４０および第４３の観点によれば、記憶装置を端末装置に接続すると、自動的に、記憶領域が切り替えられるため、ユーザの負担が軽くなるだろう。すなわち、第１の記憶領域および第２の記憶領域は、端末装置によって択一的に認識されるため、端末装置への影響も軽減しよう。
【００８３】
第２３の観点によれば、第１の記憶領域を読み出しのみ可能とし、第２の記憶領域を読み出しおよび書き込みとも可能とすることで、情報漏洩の防止が期待できる。一般に、機密情報等は、読み出しおよび書き込みとも可能な第２の記憶領域に記憶される、そゆれえ、切り替えプログラムがインストールされなければ、機密情報等が記憶された第２の記憶領域が端末装置によって認識されないからである。
【００８４】
第２４の観点によれば、広く普及したａｕｔｏｒｕｎ．ｉｎｆファイルが利用されるため、簡単で精度良く、かつ低コストで記憶装置を提供できる。
【００８５】
第２５の観点によれば、複数の記憶領域がパーティションによって実現されるため、記憶装置が備えるメモリなどのハードウエアに依存することなく、本願発明を実現できる。また、第２の記憶領域についてはサイズを変更したり、パーティションを分割したりすることも容易となる利点もある。
【００８６】
第２６の観点によれば、第１および第２の記憶領域が物理的に異なるメモリ上に確保されるため、第２の記憶領域を除き見ることを抑制しやすくなる。パーティション技術により複数の記憶領域を確保すると、パーティションを可視状態にすることで、複数の記憶領域が同時に端末装置に認識されてしまう。よって、物理的にメモリを切り替える構成を採用すれば、複数の記憶領域を同時に認識させることは極めて困難となる。
【００８７】
第２７の観点によれば、論理ユニット番号を変更するだけで、比較的簡単に、記憶領域の切り替えを実現できる。
【００８８】
第２８の観点によれば、ドライブレターが維持されるようになるため、ユーザは、記憶領域が変更されたことを気にしなくて済む。また、ドライブレターが枯渇しにくくなる。
【００８９】
第２９および第４１の観点によれば、情報漏洩防止プログラムが端末装置にインストールされてから第２の記憶領域が認識可能となるため、第２の記憶領域に関する情報漏洩を抑制しやすくなる。すなわち、情報漏洩防止プログラムがインストールされなければ、第２の記憶領域が認識可能とならないからである。
【００９０】
第３０および第４２の観点によれば、記憶装置が端末装置から外されたときは、関連するプログラムやファイルがすべて削除されるため、情報の漏洩が抑制される。
【００９１】
第３１の観点によれば、ホワイトリストに登録されていないプロセスが第２の記憶領域にアクセスすることを制限できるため、意図しないプロセスによって情報が漏洩する事態を抑制できる。
【００９２】
第３２の観点によれば、ブラックリストに登録されているプロセスはアクセスを禁止されるため、悪質なウイルス等から記憶装置や端末装置を保護しやすくなる。
【００９３】
第３３の観点によれば、ホワイトリストにもブラックリストにも登録されていないプロセスが第２の記憶領域にアクセスすることを限定できるため、ユーザが意図的に許可したプロセス以外のアクセスを制限できる。
【００９４】
第３４の観点によれば、認証が成功しなければ、第２の記憶領域へのアクセスが許可されないため、情報漏洩の可能性をさらに低減できる。
【００９５】
第３５の観点によれば、認証が成功しなければ、第２の記憶領域へのアクセスの制限が解除されないため、情報漏洩の可能性をさらに低減できる。
【００９６】
第３６の観点によれば、認証情報が何も登録されていないときは認証情報を初期登録することが可能となる。
【００９７】
第３７および３８の観点によれば、端末装置やユーザの固有情報が使用されるため、認証処理のセキュリティを高めることが期待される。
【００９８】
第４４の観点によれば、ホワイトリストに登録せざるを得ないファイル操作プログラムによるファイルの漏洩についても防止できるようになる。
【００９９】
第４５の観点によれば、ホワイトリストに登録せざるを得ないファイル操作プログラムによる通信装置を介したファイルの漏洩についても防止できるようになる。
【０１００】
第４６の観点によれば、特殊な状況下で発生しうるフレキシブルディスクドライブを通じたファイルの漏洩を防止できる。
【０１０１】
第４７の観点によれば、所定のダイアログの表示を禁止することで、情報漏洩対象ファイルまたはその一部が端末装置のメモリ上での複製を防止できる。
【０１０２】
第４８の観点によれば、情報漏洩対象ファイルまたはその一部についての複数のウインドウ間でのドラックアンドドロップによる情報漏洩を防止できる。
【０１０３】
第４９の観点によれば、クリップボードの使用を独占することで、情報漏洩対象ファイルまたはその一部をクリップボードへコピーすることを防止できるようになる。
【０１０４】
第５１の観点によれば、サーバと接続可能であればサーバに保持されている情報にしたがって情報漏洩を防止でき、サーバと接続可能でなければ記憶装置に情報にしたがって情報漏洩を防止できる。例えば、サーバと接続できないような環境では、より厳格なアクセス制限を適用することが可能となる。
【０１０５】
第５２及び第５３の観点によれば、単一の個人が使用するのか、複数の個人からなるグループが使用するのかに応じて、セキュリティレベルを変更することが可能となる。
【０１０６】
第５４の観点によれば、記憶装置が情報処理装置に接続されている時間帯に応じてセキュリティレベルを変更することが可能となる。
【０１０７】
第５５の観点によれば、複数のユーザが記憶装置を使用する場合に、ユーザごとにセキュリティレベルを変更することが可能となる。
第５６の観点によれば、ユーザグループごとに、セキュリティレベルを変更することが可能となる。
【図面の簡単な説明】
【０１０８】
【図１】本発明に係る記憶装置の実施形態であるＵＳＢストレージデバイスとそれに接続される端末装置とを示す概略構成図である。
【図２】実施例１に係るフラッシュメモリ１５に確保された記憶領域および当該記憶領域へ記憶されているデータ、ソフトウエア、インストーラの一例を示した図である。
【図３】実施例に係る領域変更処理の一例を示したフローチャートである。
【図４】実施例に係る端末装置が取得した記憶領域の管理情報の一例を示す図である。
【図５】実施例に係る端末装置が取得した記憶領域の管理情報の一例を示す図である。
【図６】実施例に係る端末装置によって認識された第１の記憶領域の一例を示す図である。
【図７】実施例に係る端末装置によって認識された第２の記憶領域の一例を示す図である。
【図８】実施例に係るＵＳＢストレージデバイス１０が端末装置２０から外されたときに実行されるアンインストール処理の一例を示すフローチャートである。
【図９】実施例に係るＬＵＮの管理情報（管理テーブル）の一例を示す図である。
【図１０】ＬＵＮを書き換える前の管理テーブル（初期値）を示す図である。
【図１１】ＬＵＮを書き換えた後の管理テーブルを示す図である。
【図１２】実施例に係る管理テーブル（初期値）の一例を示す図である。
【図１３】実施例に係る管理テーブル（書き換え後）の一例を示す図である。
【図１４】実施例に係る記憶装置の記憶内容と端末装置の記憶内容との一例を示す図である。
【図１５】実施例３に係る記憶領域の切り替え方法の一例を示したフローチャートである。
【図１６】ホワイトリストの一例を示す図である。
【図１７】ブラックリストの一例を示す図である。
【図１８】利用制限機能の動作の一例を示したフローチャートである。
【図１９】カーネル部が処理するイベントの一例を示す図である。
【図２０】カーネル部が開始されてから定常状態に至るまでのシーケンスを示した図である。
【図２１】図１９に示した３番目のイベントの動作を示したフローチャートである。
【図２２】図１９に示した４番目のイベントの動作を示したフローチャートである。
【図２３ａ】図１９に示した５番目のイベントの動作を示したフローチャートである。
【図２３ｂ】図１９に示した６番目のイベントの動作を示したフローチャートである。
【図２４】実施例４に係るユーザ部での制御手段及びその代表例と制御理由を示す一覧表である。
【図２５】実施形態に係るグループ管理の一例を示したシーケンス図である。
【図２６】サーバ装置のＨＤＤ２５に記憶されるＵＳＢメモリ固有値テーブルを示した図である。
【図２７】サーバ装置のＨＤＤ２５に記憶されるＰＣ固有値テーブルを示した図である。
【図２８】サーバ装置のＨＤＤ２５に記憶されるユーザテーブルを示した図である。
【図２９】サーバ装置のＨＤＤ２５に記憶されるグループテーブルを示した図である。
【図３０】ホストＰＣ登録情報１８−１を適用する端末装置２０の動作の一例を示したフローチャートである。
【図３１】ホストＰＣ登録情報１８−１の登録を示したシーケンス図である。
【図３２】ホストＰＣ登録情報１８−１の登録を行うまでの変形例を示したシーケンス図である。
【発明を実施するための形態】
【０１０９】
以下に本発明の一実施形態を示す。以下で説明される個別の実施形態は、本発明の上位概念、中位概念および下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
【０１１０】
図１は、本発明に係る記憶装置の実施形態であるＵＳＢストレージデバイスとそれに接続される端末装置とを示す概略構成図である。ここでは、汎用インターフェースであるＵＳＢインターフェースにメモリを一体化したＵＳＢストレージデバイスについて説明するが、本発明は、メモリ以外の記憶媒体を採用するＵＳＢストレージデバイスに適用できる。また、端末装置とのインターフェースもＵＳＢインターフェースに限定されることはなく、ＩＥＥＥ１３９４、ワイヤレスＵＳＢなどであってもよい。
【０１１１】
ＵＳＢストレージデバイス１０は、端末装置が備える汎用インターフェースに対して着脱可能な記憶装置の一例であり、コントローラ１２、ＵＳＢインターフェース１３、発光ダイオード（ＬＥＤ）１４、フラッシュメモリ１５、指紋認証デバイス１１を備えている。
【０１１２】
コントローラ１２は、メモリ制御部１２−１、メモリ情報記憶部１２−２、ＵＳＢインターフェース制御部１２−３、および、ＬＥＤ制御部１２−４を備える。メモリ制御部１２−１は、ＵＳＢインターフェース１３を介して受信した命令に従って、フラッシュメモリ１５に対してデータの読み出し、書き込みおよび削除を実行する。メモリ情報記憶部１２−２は、フラッシュメモリ１５に確保された複数の記憶領域に関する情報（例：パーティションのサイズ、ドライブレターなど）を記憶する。ＵＳＢインターフェース制御部１２−３は、後述するＵＳＢインターフェース１３の各部を制御する。ＬＥＤ制御部１２−４は、後述するＬＥＤ１４の発光を制御する。
【０１１３】
ＵＳＢインターフェース１３は、ＵＳＢバス３１を介して、パーソナルコンピュータなどの端末装置２０と通信を行う。ＵＳＢインターフェース１３は、パケット送受信部１３−１、シリアルパラレル変換部１３−２、パケット生成分解部１３−３、および、ＵＳＢバスパワー制御部１３−４とを備える。パケット送受信部１３−１は、図示しないＵＳＢコネクタと接続され、ＵＳＢ規格に基づいたパケットを送受信する。シリアルパラレル変換部１３−２は、シリアルデータとパラレルデータとを相互に変換する。パケット生成分解部１３−３は、端末装置と通信を行うためのパケットの生成およびパケットを分解してデータの取り出しを行う。ＵＳＢバスパワー制御部１３−４は、端末装置から供給される電力の管理およびＵＳＢストレージデバイス１０の各部への電力の配分を行う。
【０１１４】
ＬＥＤ１４は、フラッシュメモリ１５に対してファイルの読み出し、書き込み、削除が実行されている際に点灯する発光体である。フラッシュメモリ１５に対してファイルの読み出し、書き込みおよび削除が実行中であることを利用者に示す。
【０１１５】
フラッシュメモリ１５は、記憶保持動作が不要な半導体メモリであり、ファイルや情報を記憶することができる。記憶したデータは、メモリ制御部１２−１によって読み出し、書き込み、削除をすることもできる。フラッシュメモリ１５は、記憶保持動作が必要な他の記憶素子に置換されてもよい。
【０１１６】
指紋認証デバイス１１は、指紋を読み取ることで使用者認証を行うデバイスである。指紋認証デバイス１１は、他のバイオメトリクスを実行する認証デバイスに置換されてもよい。この指紋認証デバイス１１についてはいわゆるオプションであって、指紋認証を使用者認証に含めない場合には不要である。一方で、指紋認証デバイス１１がＵＳＢストレージデバイス１０に搭載されているからといって使用者認証が指紋認証に限定される必要もない。すなわち、指紋認証デバイス１１は認証機能を無効とされてもよいし、無効に加えて、他の認証方法が採用されてもよい。例えば、端末装置に付与されているＭＡＣアドレス、型式番号、製造番号およびＩＰアドレスのうち１つまたは複数を含む端末装置登録情報を予めフラッシュメモリ１５に記憶しておき、端末装置２０から受信した情報と比較することで、認証を実行してもよい。また、ユーザを特定するための識別子、パスワード、暗証番号、バイオメトリクス情報のうち１つまたは複数を含むユーザ登録情報を予めフラッシュメモリ１５に記憶しておき、端末装置２０から受信した情報と比較することで、認証を実行してもよい。なお、一般的な指紋認証デバイスには、内部で認証を済ませ端末装置側へ認証結果を送信するものと、指紋データを端末装置側に送信して端末装置側で認証を行うものとがある。本発明では、どちらが採用されてもよい。
【０１１７】
端末装置２０は、ＵＳＢストレージデバイス１０の接続先であり、例えば、パーソナルコンピュータである。端末装置２０は、例えば、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、ディスクコントローラ２４、ハードディスクドライブ（ＨＤＤ）２５、ＣＤ／ＤＶＤドライブ２６、モニタ２７、ポインティングデバイス２８、ＵＳＢインターフェース２９、システムバス３０を備えている。
【０１１８】
ＣＰＵ２１は、ＲＯＭ２２やＨＤＤ２５に記憶されているコンピュータプログラムに基づいて各部を制御するプロセッサである。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２３は、ワークエリアとして機能する。ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２２は、不揮発性の記憶素子であり、ファームウエアなどを記憶する。ディスクコントローラ２４は、ＨＤＤ２５、ＣＤ／ＤＶＤドライブ２６に対する読み書きを制御する。ＨＤＤ２５には、オペレーティングシステム、アプリケーションプログラムなどが記憶されている。なお、ＵＳＢストレージデバイス１０から転送される、記憶領域の切り替えプログラムや情報漏洩防止プログラムなどもＨＤＤ２５に格納される。ＣＰＵ２１と各部は、システムバス３０を介して命令やデータの送受信を実行する。
【０１１９】
ＵＳＢインターフェース２９は、ＵＳＢバス３１を介してＵＳＢストレージデバイス１０内部のＵＳＢインターフェース１３と接続する。すなわち、ＵＳＢバス３１を介して端末装置２０とＵＳＢストレージデバイス１０とが双方向にデータの送受信を行う。
【０１２０】
以降の説明では、端末装置２０がパーソナルコンピュータであることを前提にしているが、端末装置２０が一般的なパーソナルコンピュータと同等以上、若しくはそれに準ずる演算処理能力を有する機器であるならばその種類、機種は限定されるものではない。例えば、ネットワークを介さない情報処理装置であってもよい。
【０１２１】
［実施例１］
図２は、実施例１に係るフラッシュメモリ１５に確保された記憶領域および当該記憶領域へ記憶されているデータ、ソフトウエア、インストーラの一例を示した図である。とりわけ、実施例１では、端末装置２０によって択一的に認識される第１の記憶領域１６および第２の記憶領域１７とがＵＳＢストレージデバイス１０に確保される。このように複数の記憶領域を確保する方法はいくつか存在する。
【０１２２】
例えば、単一のデバイスであるフラッシュメモリ１５を、ソフトウエア上で二つの領域（第１の記憶領域１６、第２の記憶領域１７）に分割する方法がある。なお、読み出しのみ可能な領域を第１の記憶領域１６とし、読み出し、書き込みが可能な領域を第２の記憶領域１７をとする。
【０１２３】
領域を分割する２つ目の方法は、複数のフラッシュメモリを必要に応じてソフトウエア上で分割して二つの記憶領域を確保する方法である。例えば、４つのフラッシュメモリ素子がある場合、１つめフラッシュメモリ素子を第１の記憶領域１６とし、残りの３つのフラッシュメモリ素子を第２の記憶領域１７に割り当ててもよい。
【０１２４】
なお、端末装置２０のＣＰＵ２１（オペレーティングシステム：ＯＳ）から複数の領域を選択的に認識する方法としては、ＬＵＮ（論理ユニット番号）を使用する方法がある。ＬＵＮは、１つのターゲットでありながら、複数のアクセス可能な論理装置を有するデバイスにおいて、各論理装置を識別するために付与されるアドレス（広義）のことである。ＯＳ（およびそのドライバ、以下同様）は、１つのＬＵＮを割り振った論理ドライブを、ドライブレターを付与した１つの物理ドライブとして認識する。単一のデバイスへ複数のＬＵＮを割り振ればその割り振られたＬＵＮの数だけ物理ドライブを作成できる。
【０１２５】
本発明においては、複数のアクセス可能な論理装置（第１の記憶領域、第２の記憶領域、（秘匿領域））にそれぞれＬＵＮを割り当てることで、一つのターゲットであるＵＳＢストレージデバイスを複数の論理ドライブ（物理ドライブ）を有するデバイスとしてＯＳに認識できるようにしている。
【０１２６】
複数の記憶領域のうち、第１の記憶領域１６は、ＵＳＢストレージデバイス１０が端末装置２０に接続された際にデフォルトで認識される記憶領域であり、その内部にはソフトウエア部１６−１ａと、自動インストーラ１６−２が記憶されている。
【０１２７】
ソフトウエア部１６−１ａは、１つ以上のアプリケーションプログラム、その設定ファイルなど、複数のコンピュータプログラムおよびその他のファイルを含む。アプリケーションプログラムには、少なくとも、端末装置２０が認識する記憶領域を切り替える記憶領域変更プログラムが含まれる。すなわち、記憶領域変更プログラムは、第１の記憶領域１６に記憶され、端末装置２０に認識される記憶領域を第１の記憶領域１６から第２の記憶領域１７へと切り替えるコンピュータプログラムである。
【０１２８】
自動インストーラ１６−２は、ソフトウエア部１６−１ａを端末装置２０へインストール（格納）するインストーラプログラム（例：ａｕｔｏｒｕｎ．ｉｎｆやｓｅｔｕｐ．ｅｘｅ）である。これらソフトウエア部１６−１ａと自動インストーラ１６−２は連動してインストール動作が行えるものであればよい。すなわち、ソフトウエアの記憶形式は特に本発明にとって重要ではなく、自動インストーラ１６−２もソフトウエア部１６−１ａを端末装置２０へインストールできるのであれば形式を問わない。
【０１２９】
例えば、ソフトウエア部１６−１ａが書庫形式等で圧縮された１つのファイルである場合、ａｕｔｏｒｕｎ．ｉｎｆなどの起動ファイルにしたがってＣＰＵ２１が自動インストーラ１６−２を起動する。ａｕｔｏｒｕｎ．ｉｎｆなどの起動ファイルは、第１の記憶領域１７に記憶され、端末装置２０に記憶装置（ＵＳＢストレージデバイス１０）が接続されたときに切り替えプログラムを端末装置２０において起動させるためのソフトウエアである。
【０１３０】
起動した自動インストーラ１６−２は、圧縮されたソフトウエア部１６−１ａを解凍し、ＨＤＤ２５のディレクトリへ展開する。一方、ソフトウエア部１６−１ａが無圧縮で記憶されているのであれば、起動した自動インストーラ１６−２は、ソフトウエア部１６−１ａをそのまま端末装置２０のＨＤＤ２５にコピーする。
【０１３１】
一方、ソフトウエア部１６−１ａは自己解凍形式の実行ファイルであってもよい。この場合、ａｕｔｏｒｕｎ．ｉｎｆなどの起動ファイルを除き、自動インストーラ１６−２を不要にできる利点がある。以下の実施例では、ソフトウエア部１６−１ａのインストールに自動インストーラ１６−２が必要であるということを前提に話を進める。
【０１３２】
第２の記憶領域１７は、使用者が接続した端末装置２０を操作し使用するデータ（例：文書ファイル、画像ファイル、プログラムファイル等）である、ユーザ使用ファイル１７−１が格納されている。
【０１３３】
ＨＤＤ内記憶領域２５−１は、端末装置２０が備えるＨＤＤ２５に確保された記憶領域である。ソフトウエア部２５−２ａは、第１の記憶領域１６内にあるソフトウエア部１６−１ａが、ＨＤＤ内記憶領域２５−１へインストールされたものである。ソフトウエア部２５−２ａは、プログラム実行部２５−４ａを含む。プログラム実行部２５−４ａは、例えば、記憶領域変更プログラム、ＵＳＢストレージデバイス１０が外された際のソフトウエアの一部または全部を削除する自動アンインストールプログラム、および、ソフトウエア部２５−２ａに含まれるアプリケーションプラグラムの動作確認等を行うチェックプログラムなどである。チェックプログラムが必要な理由は次の通りである。本実施例では、ＵＳＢストレージデバイス１０に記憶されているアプリケーションプログラムのインストールをオートランで自動的に行うため、インストール失敗時に手動で再インストールすることが困難である。そこで、正常にインストールできているかどうかをチェックするチェックプログラムが必要となる。正常にインストールできていないときは、チェックプログラムは、自動インストーラ１６−２を再度起動する。
【０１３４】
図３は、実施例に係る領域変更処理の一例を示したフローチャートである。領域変更処理は、端末装置２０にＵＳＢストレージデバイス１０が接続されると開始される。
【０１３５】
ステップＳ３０１で、端末装置２０のＯＳ（ＣＰＵ２１）は、ＵＳＢバス３１を介して接続されたＵＳＢストレージデバイス１０のコントローラ１２と通信を開始する。ここでまずＯＳは、ＵＳＢストレージデバイス１０を制御するためのデバイスドライバが有するデバイス情報取得コマンドによって、ＵＳＢストレージデバイス１０のデバイス情報を取得する。例えば、ＯＳからの指令はデバイスドライバを介してＳＣＳＩコマンド等に変換されてＵＳＢコントローラによって行われる。ＵＳＢストレージデバイス１０のコントローラ１２は、ＵＳＢインターフェース１３を介してこのコマンドを受け取り、コントローラ１２が記憶しているデバイス情報を返答する。
【０１３６】
このデバイス情報取得コマンドは、例えば、Ｇｅｔ＿Ｄｅｓｃｒｉｐｔｏｒコマンド（ＵＳＢ標準デバイスに含まれるＵＳＢ規格のコマンド）に代表されるコマンドである。ＵＳＢストレージデバイス１０から端末装置２０へ送信されるデバイス情報は、例えば、接続されたＵＳＢ機器（ＵＳＢストレージデバイス１０）のディスクリプタである。ディスクリプタは、図示されないＵＳＢストレージデバイス１０の管理領域に格納されている。以降はＵＳＢ規格コマンドおよびＳＣＳＩコマンドを中心に話を進めるが、もちろんＡＴＡＰＩなど、サブクラスとして定義かつ使用可能なものであれば何でもよい。また、サブクラス毎に途中に公知の一つ以上のコマンド変換手段を介してコマンドの送受信を行ってもよい。
【０１３７】
ステップＳ３０２で、ＯＳ（ＣＰＵ２１）は、ＳＥＴ  Ａｄｄｒｅｓｓコマンドに代表されるアドレス設定コマンド（ＵＳＢストレージデバイス１０のアドレスを問い合せるコマンド）をＵＳＢストレージデバイス１０に送信し、ＵＳＢストレージデバイス１０からアドレス設定を受信する。以降で、ＯＳは、受信したアドレス設定にしたがってフレームを送信する。
【０１３８】
ステップＳ３０３で、ＯＳ（ＣＰＵ２１）は、「Ｇｅｔ  Ｍａｘ  Ｌｏｇｉｃａｌ  Ｕｎｉｔ  Ｎｕｍｂｅｒ  ＡＰＩ」コマンドに代表される論理ドライブ数取得コマンドにて、論理ユニット番号（ＬＵＮ）の値をＵＳＢストレージデバイス１０から取得する。デフォルトで、ＵＳＢストレージデバイス１０のコントローラ１２は、第１の記憶領域１６の論理ユニット（ＬＵＮ）の値が１であることを示す情報を返信する。
【０１３９】
ステップＳ３０４で、ＯＳ（ＣＰＵ２１）は、Ｉｎｑｕｉｒｙコマンド（これはＳＣＳＩのコマンド）に代表されるフォーマット情報取得コマンドを用いて第１の記憶領域１６のフォーマット情報を得る。ＵＳＢストレージデバイス１０のコントローラ１２は、フォーマット情報としてＣＤ−ＲＯＭであることを示すＩＳＯ  ９６６０を返信する。ＯＳは、受信したフォーマット情報（例：ＩＳＯ  ９６６０）により、第１の記憶領域１６がＣＤ−ＲＯＭドライブであることを認識する。
【０１４０】
図４は、実施例に係る端末装置が取得した記憶領域の管理情報の一例を示す図である。図４によれば、第１の記憶領域のＬＵＮが０であり、フォーマットがＩＳＯ９６６０であり、ＯＳから認識可能であり、クラスがマスストレージであり、サブクラスがＳＣＳＩであることが示されている。
【０１４１】
図４によれば、第２の記憶領域１７にはＬＵＮが設定されていないため、ドライブとしてＯＳ側から認識されないようになっている。
【０１４２】
ステップＳ３０５で、ＯＳ（ＣＰＵ２１）は、ドライブとして認識した第１の記憶領域１６から自動インストーラ１６−２を起動し、起動した自動インストーラ１６−２にしたがってソフトウエア部１６−１ａをＨＤＤ２５の記憶領域２５−１へインストールする。例えば、ＣＰＵ２１は、ＯＳにしたがってａｕｔｏｒｕｎ．ｉｎｆを読み出してそこに記述されている自動インストーラを起動する。ここでは自動インストールの例としてオートランインストールを用いたが、他の自動インストール技術を用いてもかまわない。
【０１４３】
なお、この際にインストールされるファイルは、ソフトウエア部１６−１ａの一部だけでもよい。プログラムやソフトウエアがすべてインストールされない一つの例としては、期間限定配布のプログラムをソフトウエア部１６−１ａに記憶させておいて、インストールの際に接続先ＰＣの日時をチェックして配布期間内であればインストールを続行、期間外であれば当該プログラムに関してはインストールを行わない、といった例が考えられる。
【０１４４】
ステップＳ３０６で、ＯＳ（ＣＰＵ２１）は、起動した自動インストーラ１６−２にしたがって、ソフトウエア部２５−２ａに含まれる記憶領域変更プログラム（プログラム実行部２５−４ａ）を起動する。
【０１４５】
ステップＳ３０７で、記憶領域変更プログラム（ＣＰＵ２１）は、記憶領域の切り替えを開始する。例えば、ＣＰＵ２１は、第１の記憶領域と第２の記憶領域の認識フラグ（認識可／不可）を書き換えるための認識フラグ書換命令をＵＳＢストレージデバイス１０へ送信する。ＵＳＢストレージデバイス１０のコントローラ１２は、認識フラグ書換命令を受信すると、第１の記憶領域１６の認識フラグを認識不可に書き換え、第２の記憶領域１７の認識フラグを認識可に書き換える。さらに、コントローラ１２は、第１の記憶領域１６のＬＵＮを「０」から「ｎｕｌｌ」に書き換えた後、第２の記憶領域１７のＬＵＮを「ｎｕｌｌ」から「０」へ書き換える。これによって、第１の記憶領域１６が開放され、第２の記憶領域１７が端末装置２０のＯＳから認識されるようになる。
【０１４６】
図５は、実施例に係る端末装置が取得した記憶領域の管理情報の一例を示す図である。図５によれば、第２の記憶領域の認識フラグが「可」に変更され、ＬＵＮも「０」に割り当てられている。反対に、第１の記憶領域の認識フラグが「不可」に変更され、ＬＵＮも「ｎｕｌｌ」に割り当てられている。
【０１４７】
ステップＳ３０８で、記憶領域変更プログラム（ＣＰＵ２１）は、第１の記憶領域１６のドライブレターと第２の記憶領域１７とのドライブレターとを同一にするか否かを判定する。同一にするか否かは、予め設定ファイルなどに記憶されているものとする。例えば、ＯＳ（ＣＰＵ２１）が管理しているＬＵＮの一覧に、同一のドライブレターとするか否かの設定項目を設け、その設定項目を予めユーザの希望に応じて設定する。
【０１４８】
同一のドライブレターにする場合は、ステップＳ３０９に進み、異なるドライブレターにする場合は、ステップＳ３１０に進む。
【０１４９】
ステップＳ３０９で、記憶領域変更プログラム（ＣＰＵ２１）は、ドライブレターの同一化処理を実行する。例えば、ＭＳ−ＤＯＳのコマンドである「Ｓｕｂｓｔ」コマンドを記述したバッチファイルでドライブレターを固定する。このバッチファイルもＵＳＢストレージデバイス１０に予め記憶されているものとする。一方で、記憶領域変更プログラム（ＣＰＵ２１）がダイアログをモニタ２７に表示し、同一のドライブレターを記憶するか否かをユーザに問い合せ、その問い合せ結果に基づいて同一化処理を実行してもよい。また、記憶領域変更プログラム（ＣＰＵ２１）は、割り当てるドライブレターをユーザに問い合せ、キーボードなどの入力装置から入力されたドライブレターを第２の記憶領域１７に割り当ててもよい。この場合、ユーザは、第１の記憶領域１６に割り当てられていたドライブレターを入力してもよい。
【０１５０】
ステップＳ３１０で、記憶領域変更プログラム（ＣＰＵ２１）は、第１の記憶領域１６の認識を開放する。例えば、ＣＰＵ２１も、ＯＳ側に記憶されている第１の記憶領域１６のＬＵＮを「０」から「ｎｕｌｌ」に書き換える。これにより、ＯＳは、第１の記憶領域１６の認識ができなくなる。
【０１５１】
ステップＳ３１１で、記憶領域変更プログラム（ＣＰＵ２１）は、第２の記憶領域１７の認識処理を開始する。例えば、ＣＰＵ２１は、第２の記憶領域１７のＬＵＮを「ｎｕｌｌ」から「０」へ書き換える。これにより、ＯＳは、第２の記憶領域１６を認識できるようになる。
【０１５２】
図５によれば、ＯＳは、第２の記憶領域１７をＦＡＴでフォーマットされたリムーバブルディスクドライブであると認識する。このリムーバブルディスク領域にはユーザ使用ファイル１７−１が含まれている。
【０１５３】
ここでが、ＣＤ−ＲＯＭ領域として認識されるフォーマット情報としてＩＳＯ９６６０をあげ、リムーバブルディスク領域として認識されるフォーマット情報としてＦＡＴを挙げたが、もちろんこれらは一例にすぎない。
【０１５４】
本実施例では、ＬＵＮおよび認識フラグを書き換えることで記憶領域の切り替えを実行しているが、ＵＳＢストレージデバイス１０の内部にある管理情報を直接的または間接的に用いて第１の記憶領域１６の認識を開放して第２の記憶領域１７を認識させてもよい。例えば、ＵＳＢデバイスの解放コマンドを第１の記憶領域１６へ適用し、その直後に初期化コマンドを第２の記憶領域１７へ適用すれば、記憶領域を切り替えることができる。
【０１５５】
また、管理情報を予め二つ用意しておいて、最初にＵＳＢストレージデバイス１０が端末装置２０に接続されたときは一つ目の管理情報が使用され、自動インストールにおいて二つ目の管理情報に変更されてもよい。なお、ＬＵＮの値、最初に読み込まれる管理情報は毎回リセットされるものとする。これは、ＯＳが取得した第一の記憶領域１６および第二の記憶領域１７に関する情報が、このＵＳＢストレージデバイス１０が端末装置２０から外されたときにアンインストールされ、その後の再接続の際にＯＳが再びＵＳＢストレージデバイス１０の情報を取得するからである。
【０１５６】
以上説明したように、本実施例によれば、端末装置２０において擬似的にＣＤ−ＲＯＭドライブとリムーバブルディスク等が入れ替わる形となる。つまり、ＵＳＢストレージデバイス含まれるＣＤ−ＲＯＭ領域とリムーバブル領域は同時に認識されることはない。また、ＣＤ−ＲＯＭ領域とリムーバブル領域のドライブレターが同一であれば、一つの追加されたドライブがＣＤ−ＲＯＭ領域からリムーバブル領域に入れ替わったように、ユーザには擬似的に認識させることができる。
【０１５７】
図６は、実施例に係る端末装置によって認識された第１の記憶領域の一例を示す図である。図７は、実施例に係る端末装置によって認識された第２の記憶領域の一例を示す図である。両者を比較すると、実際の記憶領域が切り替わっているにもかかわらず、ドライブレターが一致していることがわかる。記憶領域が切り替わっていることは、記憶されているファイルの内容が異なっているため、理解できよう。
【０１５８】
図８は、実施例に係るＵＳＢストレージデバイス１０が端末装置２０から外されたときに実行されるアンインストール処理の一例を示すフローチャートである。ここでは、上述した自動インストーラが常駐しており、自動インストーラがアンインストール処理を実行するものとする。
【０１５９】
ステップＳ８０１で、自動インストーラ（ＣＰＵ２１）は、ＵＳＢストレージデバイス１０が端末装置２０から外されたか否かを監視する。外されたことを検出すると、ステップＳ８０２へ進む。このように、ＣＰＵ２１は、記憶装置が端末装置から取り外されたことを検出する取り外し検出手段の一例である。
【０１６０】
ステップＳ８０２で、ＣＰＵ２１は、ＵＳＢストレージデバイス１０が備えるフラッシュメモリ１５の記憶領域に記憶されているファイルを使用しているアプリケーションプログラムが動作中でないかどうかをチェックする。動作中のアプリケーションプログラムが残っていればステップＳ８０３に進み、動作中のアプリケーションプログラムが残っていなければステップＳ８０４に進む。
【０１６１】
ステップＳ８０３で、ＣＰＵ２１は、動作中のアプリケーションプログラムをすべて終了させる。この際に、ＣＰＵ２１は、自動終了を示すダイアログ等をモニタ２７に表示してもよい。例えば、「記憶装置が引き抜かれました、このアプリを強制終了します」というダイアログが表示される。
【０１６２】
ステップＳ８０４で、ＣＰＵ２１は、ＵＳＢストレージデバイス１０の記憶領域のファイルを操作するアクティブなウインドウが残っているか否かをチェックする。アクティブなウインドウが残っていればステップＳ８０５に進み、アクティブなウインドウが残っていなければステップＳ８０６に進む。
【０１６３】
ステップＳ８０５で、ＣＰＵ２１は、ウインドウ操作を自動終了（ウインドウをクローズ）する。このの際にも、ウインドウをクローズすることを示すダイアログがモニタ２７に表示されてもよい。
【０１６４】
ステップＳ８０６で、ＣＰＵ２１は、ＵＳＢストレージデバイス１０から端末装置２０へインストールさされたプログラムやファイルをアンインストール（削除）する。アンインストールは、自動インストーラが備える削除機能が利用されてもよい。また、ＵＳＢストレージデバイス１０から端末装置２０へコピーされたファイルもＣＰＵ２１が自動的に削除する。なお、ＲＡＭ２３に記憶されている第２の記憶領域１７からのファイルデータは編集されてＲＡＭ２３に記憶し直しがなされる。そしてユーザによりＵＳＢストレージデバイス１０への記憶を指示するとこの編集済みのデータがＵＳＢストレージデバイス１０の領域２に記憶され上書きもしくは新たに格納される。ＵＳＢストレージデバイス１０を外すとＲＡＭ２３のデータはクリアされる。また、ＲＡＭ２３のデータによる文書や画像は編集前・編集後、モニタ２７により閲覧ができる。後述するがＵＳＢストレージデバイス１０により端末装置２０が対象ホストとして登録されたものでない場合は、ＲＡＭ２３のデータによる文書や画像は閲覧ができてもＨＤＤ２５には格納保存されないし、メールでネットワークへ送信することもできない。従ってＵＳＢストレージデバイス１０を端末から外すと端末にも他のところにも何も残らないので、ＵＳＢストレージデバイス１０のデータが複製や漏洩がされることはない。
【０１６５】
例えば、必要なプログラムやファイルがすべて「Ｓｏｆｔ−ａ」というディレクトリに収められており、自動インストール作業がディレクトリ「Ｓｏｆｔ−ａ」を丸ごとコピーしたものであったとする。例えば  Ｅ：￥Ｓｏｆｔ−ａ  ⇒  Ｃ：￥Ｐｒｏｇｒａｍ  Ｆｉｌｅｓ￥Ｓｏｆｔ−ａ。この場合、ＣＰＵ２１は、このディレクトリ（Ｃ：￥Ｐｒｏｇｒａｍ  Ｆｉｌｅｓ￥Ｓｏｆｔ−ａ）を削除する。これは自動解凍書庫（例えば  Ｓｏｆｔ−ｂ．ｅｘｅ  を解凍してディレクトリＳｏｆｔ−ｂが生成され、Ｃ：￥Ｐｒｏｇｒａｍ  Ｆｉｌｅｓ￥Ｓｏｆｔ−ｂへコピーされる等）の場合でも同様である。
【０１６６】
なお、一部のファイルやプログラムについては削除やアンインストールの対象から除外してもよい。例えば、ＵＳＢストレージデバイス１０が動画ファイルに代表されるマルチメディアファイルの配布に用いられ、第１の記憶領域１６に専用プレーヤー（ソフトウエア）を、第２の記憶領域１７に動画ファイルをインストールさせておくものと仮定する。さらに、後日、専用プレーヤー対応の動画をｗｅｂで配信するサービスを提供する場合、専用プレーヤーをアンインストールせずに残しておくという運用例が考えられる。
【０１６７】
本実施形態において、第１の記憶領域に記憶させておくソフトウエアは端末装置２０に自動インストールして実行できるものであれば何でもよい。例えば、動画ファイルを端末装置２０で視聴するための再生ソフトおよび動画ファイルの再生に必要なコーデックセットをＵＳＢストレージデバイス１０に記憶しておき、これらを自動インストールする。また、第２の記憶領域には、例えば、映画のダイジェスト動画やゲームのトレーラー動画を記憶させておいて、使用者に視聴させる、といった運用も考えられる。これらは一例にすぎず、本発明は、アプリケーションが何であるかに依存することはない。
【０１６８】
以上説明したように、端末装置２０は、ＵＳＢストレージデバイス１０が接続されると、第１の記憶領域１６から起動ファイルを読み出して実行することで切り替えプログラムを起動し、端末装置に認識される記憶領域を第１の記憶領域から第２の記憶領域１７へと切り替える切り替え手段として機能する。また、ＣＰＵ２１は、記憶装置が端末装置から取り外されたことが検出されると、記憶装置から端末装置へとインストールされたプログラムおよびファイルをアンインストールする手段の一例である。
【０１６９】
［実施例２］
上述した実施例では、認識可能な記憶領域を切り替えるために、ＬＵＮの変更と認識フラグの変更とを用いたが、いずれか一方のみでもよい。
【０１７０】
まず、ＵＳＢストレージデバイス１０におけるＬＵＮの管理方法について説明する。ＬＵＮはＵＳＢストレージデバイス１０の内部にあるコントローラ１２の中にテーブルとして管理されている。
【０１７１】
図９は、実施例に係るＬＵＮの管理情報（管理テーブル）の一例を示す図である。この例では、３つの記憶領域Ａ、Ｂ、ＣがＵＳＢストレージデバイス１０に設けられているものとする。図９からわかるように、ＬＵＮは記憶領域ごとに割り振られている。また、管理テーブルには、各記憶領域のフォーマット、クラス、サブクラスなどの項目が含まれている。なお、管理テーブルを記憶する、コントローラ１２の内部記憶領域をメモリ情報記憶部１２−２と呼ぶことにする。上述したように、端末装置２０のＯＳ（ＣＰＵ２１）も、この管理テーブルの内容を取得して、ドライブを定義する。
【０１７２】
まず、ＵＳＢストレージデバイス１０が端末装置２０に接続されると、ＬＵＮに関連付けられる情報として「論理アドレス」がＯＳから割り振られる。ここでいう「論理アドレス」、「物理アドレス」は、仮想記憶空間における、論理上の記憶領域のアドレスと物理上の記憶領域のアドレスとをそれぞれ指す。通常、論理アドレスと物理アドレスとの対応付けが行われることによってはじめてＵＳＢストレージデバイス１０はファイルの読み書きができるようになる。
【０１７３】
「論理アドレス」は、ＵＳＢストレージデバイス１０のトータルの記憶容量に合わせて予め指定された構成単位でもって一定数割り当てられる。この論理アドレスの割り当てと同時に、「論理アドレス」と記憶装置内の物理的な記憶領域にある「物理アドレス」との対応付けとが行われる。この対応付けはコントローラ１２が備えるメモリ制御部１２−１が管理テーブルを使用して実行する。なお、ＬＵＮが割り当てられていないときにも対応付けは行われる。
【０１７４】
ＬＵＮを書き換えることで、認識される記憶領域を切り替える方法を以下で説明する。
【０１７５】
なお、図１０は、ＬＵＮを書き換える前の管理テーブル（初期値）を示す図である。つまり、ＵＳＢストレージデバイス１０が端末装置２０へ接続される度に管理テーブルは初期値へと初期化される。これによって、毎回、ＵＳＢストレージデバイス１０が端末装置２０へ接続されると最初に初期値の管理テーブルが呼び出されることになる。図１０によれば、第１の記憶領域１６のＬＵＮに０が設定されており、第２の記憶領域１７のＬＵＮにｎｕｌｌ（ＮＵＬ）が設定されているため、第１の記憶領域１６のみが認識されることになる。
【０１７６】
図１１は、ＬＵＮを書き換えた後の管理テーブルを示す図である。上述した記憶領域の変更が実行されると、第１の記憶領域１６のＬＵＮは０⇒ＮＵＬＬに変更され、第２の記憶領域１７のＬＵＮはＮＵＬＬ⇒０に変更される。この場合、第１の記憶領域のＬＵＮが無くなるため、第一の記憶領域はＯＳからドライブとして扱われず、ＯＳから認識されなくなる。
【０１７７】
次に、第２の記憶領域１７の接続を擬似認識させるための信号をコントローラ１２がＵＳＢインターフェース１３を介してＯＳ（端末装置２０）へ送信する。ＯＳ（ＣＰＵ２１）は、第１の記憶領域１６を認識したときと同様に、第２の記憶領域１７に関しても一連のコマンドを送信し、情報を取得する。これらのコマンドには、例えば、次のコマンドが含まれる。
【０１７８】
○  デバイス情報取得コマンド「Ｇｅｔ＿Ｄｅｓｃｒｉｐｔｏｒコマンド」
○  アドレス設定コマンド  「ＳＥＴ  Ａｄｄｒｅｓｓコマンド」
○  論理ドライブ数取得コマンド  「Ｇｅｔ  Ｍａｘ  Ｌｏｇｉｃａｌ  Ｕｎｉｔ  Ｎｕｍｂｅｒ  ＡＰＩコマンド」（認識フラグ書き換えに拠る時は不要）
○  フォーマット情報取得コマンド「Ｉｎｑｕｉｒｙコマンド」
これらの一連のコマンドによってＯＳはＵＳＢストレージデバイス１０から管理テーブルにより管理されている情報を取得てきる。もちろん使用環境に応じて記憶領域をＯＳ側がドライブとして認識する際に必要となるコマンドがあればそれを同時に使用してもよい。
【０１７９】
ＯＳ（ＣＰＵ２１）は、上記のコマンドに対する返信をＵＳＢストレージデバイス１０から受信することで、第２の記憶領域１７をドライブとして認識する。
【０１８０】
次に、認識フラグを用いた記憶領域の切り替え方法について説明する。認識フラグは、ＵＳＢストレージデバイス１０の論理ドライブをＯＳにドライブとして認識させるか否かを示すフラグである。
【０１８１】
図１２は、実施例に係る管理テーブル（初期値）の一例を示す図である。図１２によれば、２つの記憶領域にはＬＵＮがそれぞれ割り当てられているものの、記憶領域Ａの認識フラグが「可」であり、記憶領域Ｂの認識フラグが「不可」である。よって、コントローラ１２は、論理的な第一の記憶領域のアドレスと物理的な第一の記憶領域Ａのアドレスとを対応させる（アドレスマッピング）。
【０１８２】
図１３は、実施例に係る管理テーブル（書き換え後）の一例を示す図である。図１２と比較すると、図１３では認識フラグが書き換えられている。すなわち、記憶領域Ａの認識フラグが「不可」であり、記憶領域Ｂの認識フラグが「可」である。この場合、コントローラ１２は、アドレスマッピングを変更し、論理的な第一の記憶領域のアドレスと物理的な第２の記憶領域Ｂのアドレスとを対応させる。このように、認識フラグだけを用いても認識可能な記憶領域を変更することができる。
【０１８３】
このようにコントローラ１２は、切り替えプログラムにしたがって端末装置２０が発行する切り替え命令（例：コマンド）を受信することで、端末装置に認識される記憶領域を第１の記憶領域から第２の記憶領域へと切り替える第１のコントローラとして機能する。また、コントローラ１２は、切り替え命令を受信すると、第１の記憶領域に対応するメモリと第２の記憶領域に対応するメモリとのアドレスマッピングを入れ替えるコントローラの一例でもある。
【０１８４】
なお、フィルタドライバ（特開２００７−２７２４３０号公報）を用いても認識可能な記憶領域を変更することができる。コントローラ１２に対するＳＣＳＩコマンドの返答を制御することで、フィルタドライバは、ＯＳからの各種コマンドに対して、管理テーブル（図１０〜図１３）の管理情報に基づいて返答を順次行う。フィルタドライバも、ＵＳＢストレージデバイス１０から端末装置２０へインストールされる記憶領域変更プログラムの一例である。
【０１８５】
また、第１の記憶領域１６および第２の記憶領域１７をそれぞれ異なるパーティションにより確保し、記憶領域変更プログラムが、第１の記憶領域であるパーティションを不可視状態に切り替えた後、第２の記憶領域であるパーティションを可視状態に切り替えてもよい。このように、パーティションの可視／不可視を変更することでも、認識可能な記憶領域を切り替えることができる。
【０１８６】
［実施例３］
本実施例では、第１の記憶領域１６に記憶されているセキュリティソフトウエアを端末装置２０にインストールしてから、端末装置に認識される記憶領域を第１の記憶領域から第２の記憶領域へと切り替える方法について説明する。セキュリティソフトウエアとしては、例えば、情報漏洩防止プログラムがあり、記憶領域変更プログラムを含む。
【０１８７】
なお、本発明では、端末装置２０に第１の記憶領域を認識させた後に、セキュリティソフトウエアを端末装置２０にインストールし、第２の記憶領域へと切り替える方法について説明しているが、これに限定されない。
【０１８８】
例えば、第１の記憶領域、及び第２の記憶領域ともに端末装置２０に認識させてから、セキュリティソフトウエアを端末装置２０にインストールすることも可能である。これにより、第１の記憶領域、及び第２の記憶領域を端末装置２０に認識させる方法に係わらず、後述するセキュリティソフトウエアの様々な処理を実行可能とする。
【０１８９】
図１４は、実施例に係る記憶装置の記憶内容と端末装置の記憶内容との一例を示す図である。既に説明した箇所には同一の参照符号を付すことで、説明を簡潔にする。
【０１９０】
本実施例では、フラッシュメモリ１５をソフトウエア上で制御することにより第１の記憶領域１６、第２の記憶領域１７、第３の記憶領域１８の三つの記憶領域に分割している。これらの記憶領域の分割方法は既に説明した通りである。
【０１９１】
第１の記憶領域１６は、ＵＳＢストレージデバイス１０が端末装置２０に接続された際に自動的に読み込まれるセキュリティソフトウエア部１６−１ｂと自動インストーラ１６−２を記憶している。セキュリティソフトウエア部１６−１ｂは、上述したソフトウエア部１６−１ａの具体例である。
【０１９２】
セキュリティソフトウエア部１６−１ｂは、情報漏洩防止手段を実現するために必要となるファイルをすべて備えたソフトウエアである。自動インストーラ１６−２は、セキュリティソフトウエア部１６−１ｂをインストールするためのソフトウエアである。
【０１９３】
セキュリティソフトウエア部１６−１ｂと自動インストーラ１６−２との組み合わせ、後述の動作を行えるものであればどんな組み合わせでもよい。また、インストール方式も本発明の実施に支障をきたすものでなければどのような方式が採用されてもよい。例えば、セキュリティソフトウエア部１６−１ｂが書庫形式等で圧縮されていて、自動インストーラ１６−２がセキュリティソフトウエア部１６−１ｂを解凍しながらディレクトリへ展開してもよい。一方、セキュリティソフトウエア部１６−１ｂが既にディレクトリに展開されている状態であれば、そのディレクトリをそのまま端末装置２０の記憶領域２５−１にコピーするといったインストール方式でもよい。
【０１９４】
一方、セキュリティソフトウエア部１６−１ｂが自己解凍形式のファイルであれば、自動インストーラ１６−２を省略できよう。以下の実施例では、セキュリティソフトウエア部１６−１ｂのインストールに自動インストーラ１６−２が採用されるものとする。なお、端末装置２０にインストールしたファイルのアンインストールについても、本発明の目的を達成できるかぎり、どのようなアンインストール方式が採用されてもよい。
【０１９５】
第２の記憶領域１７には、情報漏洩防止の対象となるユーザ使用ファイル１７−１が格納されている。
【０１９６】
第３の記憶領域１８は、コントローラ１２からデータを読み書きできるものの、端末装置２０からは読み書きも認識もできない秘匿領域である。第３の記憶領域１８には、ホストＰＣ登録情報１８−１、ユーザ登録情報１８−２、ホワイトリスト１８−３およびブラックリスト１８−４が格納されている。なお、これに限定されず、上述した登録情報およびリストは、単数または複数の組み合わせを第３の記憶領域１８に格納することも可能である。
【０１９７】
なお、以下では、第３の記憶領域１８の全体が秘匿領域であるという設定の下で話を進める。しかし、この秘匿領域は端末装置２０から独立した第３の記憶領域１８に限定されるものではない。例えば、第１の記憶領域１６、第２の記憶領域１７の一部に設けられたディレクトリを第３の記憶領域１８としてもよい。この場合、このディレクトリは暗号化されており、コントローラ１２が復号できるものとする。これにより、端末装置２０は、第３の記憶領域１８であるディレクトリの存在を知ることができても、そこに記憶されている情報を取得することができない。
【０１９８】
ホストＰＣ登録情報１８−１は、例えば、端末装置２０が予め登録されているホストＰＣであるか否かを判断するための認証情報（端末装置登録情報）を含んでいる。認証情報は、例えば、端末装置２０のＭＡＣアドレス、型式番号、製造番号、ＩＰアドレス、管理番号のうちいずれか１つまたは複数である。管理番号は、例えば、組織が独自に端末装置２０、またはその端末装置の使用管理者を識別するためのデータを指す。必ずしも番号でなくてもよく、何らかの識別情報であれば十分であるが、ここでは、便宜上、管理番号と呼ぶことにする。管理番号を用いた実施例として、例えば、端末装置２０の管理番号を、端末装置２０およびＵＳＢストレージデバイス１０とも記憶しておき、両者を接続する際に双方の管理番号を比較することで、端末装置２０が正当なものか否かを認証できる。管理番号は、組織内で配布および管理されている外部デバイス（例：ＵＳＢトークン）へ予め記憶されている組織内管理番号であってもよい。
【０１９９】
ユーザ登録情報１８−２は、登録された使用者（ユーザ）であるかどうかを認証するための認証情報である。ユーザ登録情報１８−２は、例えば、使用者が入力する暗証番号、パスワード、バイオメトリクスの情報などである。これらの情報は平文のまま記憶されていてもよいし、暗号化されていてもよい。また、ユーザ登録情報１８−２は、複数の使用者の認証情報を含んでいてもよい。この場合、ＵＳＢストレージデバイス１０を複数のユーザ間で共用することが可能となる。
【０２００】
ホワイトリスト１８−３は、例えば、端末装置２０において実行されるプロセス（例：アプリケーション）のうち、第２の記憶領域１７に対するアクセスを許可されたプロセスの識別情報を登録したリストである。また、ホワイトリスト１８−３は、例えば、ＵＳＢストレージデバイス１０の接続中に動作が許可されるプロセスの一覧であってもよい。セキュリティソフトウエア部１６−１ｂは、端末装置２０において実行されているプロセスの識別情報が、ホワイトリストに登録されている識別情報と一致するか否かに応じて、第２の記憶領域１７に対するアクセスを制限するアクセス制限手段として、ＣＰＵ２１を機能させる。
【０２０１】
ブラックリスト１８−４は、例えば、端末装置２０において実行されるプロセスのうち、アクセス対象の如何にかかわらず、アクセスを禁止されるプロセスの識別情報を登録したリストである。なお、ブラックリスト１８−４は、一切動作が許可されないプロセスの一覧であってもよい。セキュリティソフトウエア部１６−１ｂは、例えば、端末装置において実行されているプロセスの識別情報が、ブラックリストに登録されている識別情報と一致すると、プロセスによるアクセスを禁止するアクセス禁止手段として、ＣＰＵ２１を機能させる。
【０２０２】
ＨＤＤ内記憶領域２５−１は、端末装置２０に備えられたＨＤＤ２５の中の記憶領域である。セキュリティソフトウエア部２５−２は、第１の記憶領域１６に記憶されているセキュリティソフトウエア部１６−１がインストールされたものである。認証実行部２５−３は、セキュリティソフトウエア部２５−２の要素の一つで、端末装置や使用者の認証を行う。制御プログラム２５−４ｂは、情報漏洩防止機能や、使用者に応じたユーザ使用ファイルの選択および表示を実行するプログラムである。
【０２０３】
図１５は、実施例３に係る記憶領域の切り替え方法の一例を示したフローチャートである。ここでは、ＵＳＢストレージデバイス１０を端末装置２０に接続し、使用者がＵＳＢストレージデバイス１０の第２の記憶領域に記憶されているファイルを操作できるようになるまでの手順の詳細について説明する。なお、実施例１や２と共通する事項については既に説明したので、説明を簡潔にする。
【０２０４】
ステップＳ１５０１で、ＵＳＢストレージデバイス１０が端末装置２０に接続される。これにより、端末装置２０のＵＳＢインターフェース２９とＵＳＢストレージデバイス１０のＵＳＢインターフェース１３との間でＵＳＢ規格に従った接続処理が実行される。ＵＳＢレベルでの接続が確立されると、ステップＳ１５０２へ進む。
【０２０５】
ステップＳ１５０２で、端末装置２０のＯＳ（ＣＰＵ２１）は、読み出しのみが可能なＣＤ−ＲＯＭ領域としてＵＳＢストレージデバイス１０の第１の記憶領域１６を認識する。なお、この時点で第２の記憶領域１７はＣＰＵ２１によって認識されてはいない。また、第３の記憶領域１８は秘匿領域であるため、ＣＰＵ２１によって認識されない。ＣＰＵ２１は、ａｕｔｏｒｕｎ．ｉｎｆなどの起動ファイルにしたがって自動インストーラ１６−２を起動する。ＣＰＵ２１は、起動した自動インストーラ１６−２にしたがって、第１の記憶領域１６に記憶されているセキュリティソフトウエア部１６−１ｂを端末装置２０へインストールする。
【０２０６】
ステップＳ１５０３で、ＣＰＵ２１は、端末装置２０にインストールされたセキュリティソフトウエア部１６−１ｂの一部である制御プログラム２５−４ｂ（領域変更プログラム）を起動する。
【０２０７】
ステップＳ１５０４で、ＣＰＵ２１は、領域変更プログラムにしたがって、第３の記憶領域１８にユーザ登録情報１８−２が記憶されているか否かを判定する。第３の記憶領域１８は秘匿領域であるため、ＣＰＵ２１や領域変更プログラムは第３の記憶領域１８を直接的に認識することができない。そこで、領域変更プログラムがコントローラ１２に対して所定の問い合せコマンドを送信する。ＵＳＢストレージデバイス１０のコントローラ１２は、受信した問い合せコマンドにしたがって、第３の記憶領域１８にアクセスし、ユーザ登録情報１８−２が記憶されているか否かを確認する。コントローラ１２は、この確認結果をレスポンスとして端末装置２０へ返信する。ＣＰＵ２１は、このレスポンスの内容を解析することで、第３の記憶領域１８にユーザ登録情報１８−２が記憶されているか否かを判定する。ユーザ登録情報が存在する場合には、ステップＳ１５０５に進む。
【０２０８】
ステップＳ１５０５で、ＣＰＵ２１は、領域変更プログラムにしたがって、認証実行部２５−３（認証プログラム）を起動し、使用者認証を実行する。例えば、ポインティングデバイス２８やキーボード等の入力装置から入力されたパスワードや暗証番号などの認証情報をＣＰＵ２１がコントローラ１２へ転送し、コントローラ１２が受信した認証情報をユーザ登録情報１８−２と比較する。あるいは、ＵＳＢストレージデバイス１０に設けられた指紋認証デバイス１１が読み取った指紋情報を、コントローラ１２が、ユーザ登録情報１８−２の一部である指紋情報と比較する。なお、セキュリティ強度は低下するが、コントローラ１２が、ユーザ登録情報１８−２を端末装置２０へ送信し、認証実行部２５−３が、受信したユーザ登録情報１８−２と入力された認証情報とを比較してもよい。指紋認証では、指紋認証デバイス１１が読み取った指紋情報も端末装置へ転送されることになる。
【０２０９】
なお、パスワードや暗証番号は秘匿性向上のための制限、例えば文字数制限等が設けられてもよいし、照合、比較される認証情報が暗号アルゴリズム等により暗号化されていてもよい。認証に使用される認証情報は、例えば、ユーザを特定するための識別子、パスワード、暗証番号、バイオメトリクス情報のうち１つまたは複数を含む使用者登録情報であってもよい。
【０２１０】
ＣＰＵ２１は、使用者認証に成功したか否かを判定する。成功したのであれば、ステップＳ１５１１に進む。一方、失敗したのであれば、ステップＳ１５０６に進む。なお、ＣＰＵ２１、コントローラ１２および認証実行部２５−３は、記憶装置に予め記憶されている認証情報と、端末装置または記憶装置に設けられた入力手段から入力された認証情報とを用いて認証処理を実行する認証手段の一例である。
【０２１１】
ステップＳ１５０６で、ＣＰＵ２１は、使用者認証に失敗した回数が規定回数以内か否かを判定する。規定回数以内であれば、ステップＳ１５０５に戻り、再度、使用者認証が実行される。この規定回数はパスワードの制限や指紋認証デバイス１１の他人受入率や本人拒否率に基づいて設定されてもよい。なお、失敗回数が規定回数を超えると、ステップＳ１５０７に進む。
【０２１２】
ステップＳ１５０７で、ＣＰＵ２１は、強制終了を実行する。例えば、ＣＰＵ２１は、インストールされたプログラムやファイルをアンインストールする。この際に、ＣＰＵ２１は、ＵＳＢストレージデバイス１０の接続を解除したり、第１の記憶領域１６（認識されている場合は第２の記憶領域１７および第３の記憶領域１８）を認識されない状態へ移行させたりする。認識可能状態から認識不可能状態への変更方法は実施例１で説明した通りである。もちろん、ＣＰＵ２１は、第２の記憶領域１７からＨＤＤ２５へコピーされた漏洩防止の対象となる情報もＨＤＤ２５から消去する。さらに、ＣＰＵ２１は、ＨＤＤ２５に記憶されていた漏洩防止の対象となる情報が第２の記憶領域１７に記憶されているときは、その情報も削除することが望ましい。
【０２１３】
ところで、ステップＳ１５０４でユーザ登録データを確認できなかった場合、ステップＳ１５０８に進む。
【０２１４】
ステップＳ１５０８で、ＣＰＵ２１は、領域変更プログラムにしたがって、新規登録を行うかどうかの問い合わせをモニタ２７に表示する。ＣＰＵ２１は、端末装置２０の入力装置から入力された情報に基づいて、使用者が新規登録を希望しているか否かを判定する。新規登録を行う場合、ステップＳ１５０９に進む。
【０２１５】
ステップＳ１５０９で、ＣＰＵ２１は、初期登録（新規登録）を実行する。新規登録とは、次回以降の認証時に使用されるユーザ登録情報１８−２を第３の記憶領域１８へ書き込む動作である。なお、端末装置２０からは第３の記憶領域に直接書き込めないため、所定のコマンドをコントローラ１２に発行して、コントローラ１２が第３の記憶領域１８へユーザ登録情報１８−２を記憶する。新規登録が完了すると、ステップＳ１５１１に進む。このように、ＣＰＵ２１、コントローラ１２および関与するプログラムなどは、記憶装置に認証情報が予め記憶されていなければ認証情報の初期登録を実行する登録手段の一例である。
【０２１６】
なお、新規登録を行わない場合はステップ１５１０に進む。ステップＳ１５１０で、ＣＰＵ２１は、強制終了を実行する。強制終了処理は、ステップＳ１５０７について説明した通りである。これにより、端末装置２０へインストールされたプログラムはアンインストールされ、ＵＳＢストレージデバイス１０は自動的に、認識されない状態となる。
【０２１７】
ステップＳ１５１１で、ＣＰＵ２１は、認証実行部２５−３を用いて、端末装置２０がホストＰＣ登録情報１８−１により予め指定されたホストＰＣであるかどうかを判定する。ＣＰＵ２１は、ホストＰＣ登録情報１８−１を直接的には読み出せないため、使用者認証と同様の方法で認証情報の取得または転送を実行する。認証情報は、例えば、端末装置に付与されているＭＡＣアドレス、型式番号、製造番号およびＩＰアドレスのうち１つまたは複数を含む端末装置登録情報である。接続先の端末装置２０がホストＰＣでなければ、ステップＳ１５１２に進む。
【０２１８】
ステップＳ１５１２で、ＣＰＵ２１は、セキュリティソフトウエア部２５−２に含まれる制御プログラム２５−４ｂの一機能である利用制限機能を起動する。この利用制限機能は、第３の記憶領域１８に記憶されているホワイトリスト１８−３やブラックリスト１８−４を用いてファイルへのアクセスを制御したり、ファイルの移動や複製を防止したりする機能である。これらの機能の詳細については後述する。
【０２１９】
一方、端末装置２０がホストＰＣであると判断された場合は、ステップＳ１５１２をスキップして、ステップＳ１５１３に進む。そのため、利用制限機能は適用されない。使用者は、端末装置２０とＵＳＢストレージデバイス１０との間で自由にユーザ使用ファイル１７−１を使用することができる。
【０２２０】
すなわち、予め指定された情報（ホストＰＣ登録情報）によって、ユーザ使用ファイル１７−１を、端末装置２０に保存することも可能であり、端末装置２０を介してネットワーク配信することも可能である。
【０２２１】
ステップＳ１５１３で、ＣＰＵ２１は、領域変更プログラムに従い、端末装置２０により認識可能な記憶領域を第１の記憶領域１６から第２の記憶領域１７に切り替える。すなわち、第１の記憶領域１６が端末装置２０上で認識されなくなると同時に第２の記憶領域１７が認識されることになる。
【０２２２】
なお、現在認識されている記憶領域に応じてＬＥＤ１４の発光色を切り替えてもよい。例えば、ＬＥＤ制御部１２−４は、第１の記憶領域１６が認識されているときは赤色ＬＥＤを点灯させ、第２の記憶領域１７が認識されているときは緑色のＬＥＤを点灯させる。これにより、使用者は、ＵＳＢストレージデバイス１０の記憶領域のうちどの記憶領域が端末装置２０によって認識されているかを視覚的に認識できるようになる。これは、記憶領域が切り替えられてもドライブレターが同一の維持されるケースで特に有用であろう。
【０２２３】
ステップＳ１５１４で、ＣＰＵ２１は、第２の記憶領域１７に記憶されているファイルを端末装置２０の操作によって操作できるような待機状態に移行する。なお、利用制限機能が適用されている場合は、第２の記憶領域１７に対して利用制限が課される。また、使用者認証が適正の場合、制御プログラム２５−３によって、使用者に応じたユーザ使用ファイル１７−１のみを、端末装置２０上に画面表示させてもよい。これにより、他の使用者のユーザ使用ファイルへのアクセスが禁止されるため、機密情報の保護や情報漏洩を防止しながら、複数の使用者が同一のＵＳＢストレージデバイス１０を利用することができる。
【０２２４】
このように実施例３によれば、領域変更プログラムは、第１の記憶領域１６に記憶されている情報漏洩防止プログラムを端末装置２０にインストールしてから、端末装置２０に認識される記憶領域を第１の記憶領域１６から第２の記憶領域１７へと切り替えることができる。
【０２２５】
なお、第３の記憶領域１８は秘匿領域である。そのため、情報漏洩プログラムが端末装置２０を通じて秘匿領域に記憶されている情報を読み出すための読み出し命令を送信すると、コントローラ１２は、秘匿領域から情報を読み出して、端末装置に対して情報を送信する。これにより、認証情報や極めて重要な情報を保護することが可能となる。
【０２２６】
また、実施例３によれば、記憶装置に予め記憶されている認証情報と、端末装置または記憶装置に設けられた入力手段から入力された認証情報とを用いて認証処理を実行する認証手段を提供できる。すなわち、認証処理が成功すると、切り替えプログラムが、端末装置に認識される記憶領域を第１の記憶領域から第２の記憶領域へと切り替える。よって、認証処理に成功しない限り、第２の記憶領域１７からユーザ使用ファイル１７−１が端末装置２０へ読み出されることは抑制できる。これは、認証処理が成功すると、情報漏洩防止プログラムは、記憶装置に対するアクセスの制限を解除する解除手段としてＣＰＵ２１を機能させる事を意味しよう。
【０２２７】
なお、実施例３においても、ＵＳＢストレージデバイス１０が端末装置２０から外されたときは、図８を用いて説明したアンインストール処理が制御プログラム２５−４ｂによって実行される。
【０２２８】
図１６は、ホワイトリストの一例を示す図である。ホワイトリスト１８−３には、第２の記憶領域１７に記憶されているファイルへのアクセスを許可されるプロセスの識別情報（例：名称）が登録されている。このホワイトリスト１８−３に記録されているプロセスは、予め汎用性、安全性の高いアプリケーションに関するプロセスをデフォルトで含んでいる。ネットワークの管理者等が、安全若しくは有用であると判断したプロセスの名称がホワイトリスト１８−３に追加されてもよい。
【０２２９】
図１７は、ブラックリストの一例を示す図である。ブラックリスト１８−４は、利用制限機能がアクティブのときには、一切動作が許可されないプロセスの名称を登録したリストである。こちらもホワイトリスト１８−３と同様に、ウイルスやワーム等に含まれる危険性高いプロセスや情報漏洩に関するプロセスがデフォルトで含まれている。管理者が有害と判断したプロセスや使用者が無用であると判断したプロセスをブラックリストに追加してもよい。
【０２３０】
情報漏洩防止プログラムとして機能する制御プログラム２５−４ｂの利用制限機能は、プロセスが発生する度にホワイトリスト１８−３とブラックリスト１８−４を読み出し、プロセスの動作を制御する。
【０２３１】
図１８は、利用制限機能の動作の一例を示したフローチャートである。
【０２３２】
ステップＳ１８０１で、ＣＰＵ２１は、起動している情報漏洩防止プログラムにしたがって、発生したプロセスがブラックリスト１８−４に登録されているかを判定する。ブラックリスト１８−４が第３の記憶領域１８に記憶されている場合は、ＣＰＵ２１が直接的に読み取れない。そこで、認証処理と同様に、ＣＰＵ２１は、発生したプロセスの名称をコントローラ１２に転送し、コントローラ１２が、この名称とブラックリスト１８−４とを比較し、比較結果をＣＰＵ２１に返送する。あるいは、ブラックリスト１８−４をコントローラ１２がＣＰＵ２１に転送し、ＣＰＵ２１が、比較処理を実行してもよい。ブラックリスト１８−４に登録されたプロセスであれば、ステップＳ１８０２に進む。
【０２３３】
ステップＳ１８０２で、ＣＰＵ２１は、そのプロセスの動作そのものをキャンセルする。これにより、既知のウイルスやワームによる予期せぬ動作をストップさせることができる。また、印刷またはそれに関連するプロセス、ネットワーク接続に関連するプロセス、画面を画像として取り込むプロセス（プリントスクリーン等）も動作を禁止される。このように、ＣＰＵ２１はプロセスによるアクセスを禁止するアクセス禁止手段やプロセスの動作をキャンセルするキャンセル手段として機能することになる。
【０２３４】
発生したプロセスの名称がブラックリスト１８−４に登録されていない場合、ステップＳ１８０３に進む。
【０２３５】
ステップＳ１８０３で、ＣＰＵ２１は、発生したプロセスの名称がホワイトリスト１８−３に登録されているかどうかを判定する。この判定処理もブラックリストに関する判定処理と同様の処理となる。ホワイトリスト１８−３に登録されているプロセスである場合、ステップＳ１８０４に進む。
【０２３６】
ステップＳ１８０４で、ＣＰＵ２１は、そのプロセスによる第２の記憶領域１７からのファイルの移動や複製を防止する。このように、情報漏洩防止プログラムは、端末装置２０において実行されているプロセスの識別情報がホワイトリストに登録されている識別情報と一致するか否かに応じて、第２の記憶領域１７に対するアクセスを制限するアクセス制限手段として、端末装置２０を機能させる。
【０２３７】
一方、ブラックリスト１８−４にもホワイトリスト１８−３にも登録されていないプロセスであれば、ステップＳ１８０５に進む。
【０２３８】
ステップＳ１８０５で、ＣＰＵ２１は、そのプロセスのアクセス先を解析し、アクセス先がフラッシュメモリ１５内の記憶領域であれば、そのプロセスの動作をキャンセルすべく当該プロセス終了させる。これにより、ホワイトリスト１８−３に登録されていない未知のアプリケーションによるフラッシュメモリ１５へのアクセスをストップさせることができる。つまり、ホワイトリスト１８−３に登録されていないプロセスはフラッシュメモリ１５内の記憶領域にアクセスすることができない。このように、ブラックリストおよびホワイトリストのいずれにも登録されていない場合、このプロセスが記憶装置の記憶領域にアクセスすることが限定されることになる。
【０２３９】
なお、ファイル移動複製防止処理（Ｓ１８０４）は、例えば、フラッシュメモリ１５内の記憶領域に記憶されているファイル自身もしくはその一部（クリップボード等）に関する「切り取り」や「コピー」後の「貼り付け」を禁止したり、当該ファイルを操作するアプリケーション中にある「名前をつけて保存」を禁止したり、または、ドラッグ＆ドロップ等によるファイルの移動に関する処理を制限する処理である。また、フラッシュメモリ１５内部の記憶領域または当該記憶領域に属するディレクトリがアクティブなウインドウとして表示されていた場合、ファイル移動複製防止機能は、ウインドウ内部からのドラッグ＆ドロップ、アプリケーション間におけるクリップボードの移動、一部のダイアログ表示、他の着脱可能なリムーバブルディスクへの書き込みなど、フラッシュメモリ１５内部の記憶領域内にあるファイルについて一切の移動や複製を禁止してもよい。
【０２４０】
一方でファイルの編集や処理がフラッシュメモリ１５内部の記憶領域内部に留まるなど、記憶領域内部からのデータの移動が実質的に発生しないプロセスは、ホワイトリスト１８−３によってその動作が許可される。具体的には、ファイルの上書き保存や編集、記憶領域内部にあるファイル間の情報のやり取り、ドライブが異なるファイル間の情報のやり取りなど、ＵＳＢストレージデバイス１０内で実行される処理は制限無く実行されることになる。
【０２４１】
上述したホワイトリストやブラックリストへのプロセス名の追加や更新の手法はいくつか考えられる。例えば、端末装置２０が、ＵＳＢストレージデバイス１０に記憶されているホワイトリストやブラックリストを直接編集する手法が考えられる。また、サーバからクライアント（端末装置２０）が受信した最新のホワイトリストやブラックリストを、ＵＳＢバスを介してコントローラ１２が受信し、それを第３の記憶領域に書き込むといった手法も考えられる。後者は、リモート更新と呼べるであろう。
【０２４２】
［実施例４］
以下では、上述した利用制限機能、すなわち、ＵＳＢストレージデバイス１０を利用した、情報の持ち出し防止機能について説明する。
【０２４３】
持ち出し防止機能とは以下５つの機能の総称である。
【０２４４】
（１）  予め指定されたディレクトリ内に存在するファイルとファイル内部のデータをその指定ディレクトリの外へ保存する（端末装置２０の電源が落ちても記憶されている）ことを禁止する機能。なお、ディレクトリは、ＰＣの記憶装置に確保されたディレクトリ、ＵＳＢメモリに確保されたディレクトリなど、ＰＣからアクセス可能な任意のディレクトリである。
【０２４５】
（２）  （１）の機能を実現しつつ、予め指定されているディレクトリ内に存在するファイルとファイル内部のデータの閲覧については許可する機能。
【０２４６】
（３）  予め指定されているディレクトリ内に存在するファイルとファイル内部のデータの編集を許可しつつ、そのディレクトリ内部（Ｓｕｂディレクトリも含む）にだけ保存する機能。
【０２４７】
（４）  予め指定されていない任意のディレクトリに存在するファイルとファイル内部のデータの閲覧・編集・保存を制限しない機能。
【０２４８】
（５）  何らかの識別子（例：ＭＡＣアドレス）により、ＨｏｓｔＰＣという特別なＰＣを設置し、そのＨｏｓｔＰＣ内では（１）ないし（３）による制限が一切かからないようにする機能。これにより、予め指定されているディレクトリ内のファイルとファイル内のデータであっても、通常どおり、他のディレクトリへ保存できるようになる。
【０２４９】
実施例４では、（１）〜（５）の機能を実現するために、以下で説明する５種類の制御機構を設ける。これらの制御機構について以下で説明していく。なお、上述した機能は、第１の制御機構（ファイルシステムフィルタドライバ）によってほぼ実現できる。第１の制御機構の基本的な部分は、実施例３で説明した通りである。
【０２５０】
ただし、第１の制御機構のみではいくつかの漏れが生じうる。そこで、その漏れを補完するために第２ないし第５の制御機構が追加されている。
【０２５１】
なお、指定ディレクトリ内のファイルおよびファイル内データの持ち出し防止方法として、例えば、以下の２種類が考えられる。
【０２５２】
（ａ）．  ファイル単位での移動および複製の防止
（ｂ）．  メモリに展開されているファイル内のデータの移動および複製の防止
［情報漏洩防止機能］
以下に実施例４における情報漏洩防止機能について説明する。情報漏洩防止機能はファイルシステムフィルタドライバである「カーネル部」と、そのカーネル部を補う「ユーザ部」とに分かれる。ファイルシステムフィルタドライバについて軽く触れる
［ファイルシステムフィルタドライバ（ＦＳＦｉＤ）］
ＦＳＦｉＤは、ファイルシステムが行おうとすることの前後に割り込み、ログを取得したり、改ざんしたりすることができるコンピュータプログラムであり、ＵＳＢストレージデバイス１０から端末装置２０へインストールされる。ＦＳＦｉＤは、先述の通りカーネルモードで動作する。
【０２５３】
以降は情報漏洩防止機能を、このファイルシステムフィルタドライバであるカーネル部と、それ以外の部分であるユーザ部とに分けて説明する。カーネル部は、フィルタマネージャ（ＦｌｔＭｇｒ）が存在しないと動作しない。ＦｌｔＭｇｒは、例えば、公知の機能である（ｈｔｔｐ：／／ｗｗｗ．ｍｉｃｒｏｓｏｆｔ．ｃｏｍ／ｊａｐａｎ／ｗｈｄｃ／ｄｒｉｖｅｒ／ｆｉｌｔｅｒｄｒｖ／ｄｅｆａｕｌｔ．ｍｓｐｘ参照のこと）。
【０２５４】
また、ユーザ部は後述するカーネル部が行う機能の補助並びに情報漏洩防止機能における補完機能を有する。以下に以降の説明に用いる主な語句について列挙し、説明する。なお以下に列挙した語句以外に必要な語句に関しては適宜列挙する。
【０２５５】
＊  プロセス識別子  プロセスを予め想定した手法に基づき、識別する識別子であり、プロセスが特定できればその形式は問わない。例としてはプロセスのＩＤ，ハッシュ値、プロセスの作者名、会社名等が挙げられる。
【０２５６】
＊  ファイル識別子は、ファイルを予め想定した手法に基づき、識別する識別子であり、ファイルが特定できればその形式は問わない。例としてはファイル名、ＩＤ，ハッシュ値、プロセスの作者名、会社名、属性、拡張子等が挙げられる。
【０２５７】
＊  プロセス判定部は、プロセスが後述のブラックリスト、ホワイトリストのいずれかに属するかを判定する機能を有する。ブラックリスト及びホワイトリストには、各プロセスを識別するためのプロセス識別子が登録されている。
【０２５８】
＊  監視リスト  監視対象となるプロセスのプロセス識別子を登録したリストである。監視リストは、例えば、カーネル内のヒープ領域に保存される。なお、実際に起動されているプロセスのうち、上述のブラックリストまたはホワイトリストに登録されているプロセスが検出されると、検出されたプロセスのプロセス識別子がこの監視リストに登録される。
【０２５９】
＊  監視ファイルリスト  監視対象となるファイル識別子のリストである。監視ファイルリストは、例えば、カーネル内のヒープ領域に保存される。
【０２６０】
＊  パス識別子は、ファイルやプロセスに含まれる監視対象であるか否かのフラグを示す。監視対象であるか否かはそのディレクトリのフルパスで判断される。パス識別子は、例えば、カーネル内のヒープ領域に保存される。
【０２６１】
＊  ブラックリストは、主に使用が許されないプロセスを示すプロセス識別子を保持するリストである。
【０２６２】
＊  ホワイトリストは、主に使用が許可されているプロセスを示すプロセス識別子を保持するリストである。
【０２６３】
＊  ＩＯマネージャは、すべてのファイルＩＯをつかさどるオブジェクトであり、ドライバ間の対話を受け持つものである。
【０２６４】
＊  プロセスマネージャは、プロセスのマウント・アンマウントを制御するマネージャである。
【０２６５】
図１９は、カーネル部が処理するイベントの一例を示す図である。図１９によれば、各イベントのイベント名、イベントの通知元、イベントの発生タイミング、イベントに対する処理の内容が記載されている。
【０２６６】
各イベントの概略についてここで説明する図１９において、
イベント１「初期化」とは、ファイル操作の監視を行うために必要となる変数を初期化（変数に初期値を代入すること）する。
【０２６７】
イベント２「監視対象設定」とは、監視対象、つまりはファイル情報漏洩防止機能の適用対象となるドライブ、ディレクトリを指定する動作を表す。本発明においては主として第二の記憶領域１７がそれへ該当する。しかし、これに限定されず任意のドライブ、ディレクトリを監視対象とすることも可能である。
【０２６８】
イベント３「ファイル操作開始通信の処理前」とは、一切のファイル操作開始に処理する「ファイル操作開始通信」をＩＯマネージャが処理する前に割り込み、操作する内容のことを示す。すなわち、このイベント３は、全てのファイル操作の基点となる処理をＯＳのファイルシステムが実行する前に、本実施例に係る情報漏洩防止プログラムが必要な操作を行うタイミングを示している。
【０２６９】
イベント４「ファイル操作開始通信の処理後」とは、一切のファイル操作開始に処理する「ファイル操作開始通信」をＩＯマネージャが処理する前に割り込み、操作する内容のことを示す。この時イベント３で与えた情報（属性）等を用いて処理を行う。すなわち、イベント４は、全てのファイル操作ログの基点となる処理をＯＳのファイルシステムが行った後に、本実施例に係る情報漏洩防止プログラムが必要な操作を行うタイミングを示している。
【０２７０】
イベント５  「プロセスの起動」とは、プロセスの起動時に割り込んで行う処理である。
【０２７１】
イベント６  「プロセスの終了」とは、プロセスの終了時に割り込んで行う処理である。なお、イベント１，２は前記のユーザ部、イベント３，４はＯＳのフィルタマネージャ、イベント５，６はＯＳのプロセスマネージャによって通知される。すなわち、プロセスマネージャは、情報漏洩防止プログラムのカーネル部へイベントを通知する。
【０２７２】
図２０はイベント１の初期化並びにイベント２の監視対象設定を示す。まずユーザ部がカーネル部のロードを行う（ステップＳ２００１）。そしてカーネル部はこのロードを受けて、カーネル部が有するホワイトリストとブラックリストの初期化の他、監視を行う為の初期化を行う（ステップＳ２００２）。ここで、初期化とは、プログラム開始時に必ず行うプログラム内で用いるスタックやヒープにアサインする変数の初期化（初期値の代入）のことである。カーネル部は、初期化が終わるとユーザ部に初期化が完了したことを通知する（ステップＳ２００３）。 
カーネル部は、監視対象となる指定ドライブとディレクトリをユーザ部により通知される（ステップＳ２００４）。カーネル部は、監視対象となる指定ドライブとディレクトリをヒープ領域の変数に登録する（ステップＳ２００５）。その後、カーネル部は一連の準備が整ったことをユーザ部へと通知する（ステップＳ２００６）。
【０２７３】
図２１は、図１９に示したイベント３の動作を示したフローチャートである。イベント３は、ファイル操作開始通信が発行されたときのイベントである。ファイル操作開始通信は、何らかのファイル操作が行われようとしていることを示す。ファイル操作開始通信が発行されることとファイル操作が行われることは同値である。つまり、イベント３は、ファイル操作の起点となるイベントである。すべてのファイル操作の起点であるファイル操作開始通信がＩＯマネージャによって処理される前に、フィルタマネージャは、操作の内容分析し、必要な情報を記録しておく。
【０２７４】
ステップＳ２１０１で、カーネル部は、発生したプロセス識別子とブラックリストに登録されているプロセス識別子とを比較する。一致すれば、ステップＳ２１０２に進み、カーネル部は、ブラックリストに登録されているプロセスであることを示すＢｌａｃｋ属性情報をヒープ内の変数に付加する。ステップＳ２１０１で、不一致であれば、ステップＳ２１０３に進む。
【０２７５】
ステップＳ２１０３で、カーネル部は、発生したプロセスの識別子とホワイトリストに登録されているプロセス識別子とを比較する。一致すれば、ステップＳ２１０４に進み、カーネル部は、「ホワイト」のフラグをヒープ内の変数につける。ステップＳ２１０３で、不一致であれば、ステップＳ２１０５に進む。ちなみにこの段階で「ホワイト」の属性情報が確定したわけではないことをお断りしておく。
【０２７６】
ステップＳ２１０５で、カーネル部は、ヒープ内の変数であるパス識別子をチェックし、操作の対象のディレクトリが監視対象かどうかを判断し、監視対象であることがわかればステップＳ２１０６に進む。
【０２７７】
ステップＳ２１０６で、カーネル部は、ステップ２２０４でヒープ内の変数に
付加された「ホワイト」フラグの有無を判定する。フラグが無ければ、Ｓ２１０７で、ホワイトリストに登録されていないプロセスであることを示すＮｏｔ  Ｗｈｉｔｅ属性をヒープ内の変数に付加する一方、フラグがあれば、ステップＳ２１０８で、カーネル部は、監視リスト監視リスト内のプロセス識別子と、現在のプロセス識別子とを比較する。両者が一致すれば、ステップＳ２１０９に進む。
【０２７８】
ステップＳ２１０９で、カーネル部は、監視ファイルリスト内のファイル識別子と現在のファイル識別子とを比較する。両者が一致しなければ、ステップＳ２１１０に進み、カーネル部は、監視ファイルリストに現在のファイル識別子を新規に追加する。この場合は何の属性情報もヒープ内の変数には付加されない（ステップＳ２１１３）。
【０２７９】
一方、Ｓ２１０８で、監視リスト内のプロセス識別子と、現在のプロセス識別子とが一致しなければ、ステップＳ２１１１に進む。ステップＳ２１１１で、カーネル部は、監視リストに現在のプロセス識別子を追加する。なお、この場合も最終的に何の属性情報もヒープ内の変数には付加されない。
【０２８０】
ところで、ステップＳ２１０５で、操作対象が監視対象でなければ、ステップＳ２１１２に進む。ステップＳ２１１２ではステップＳ２１０８と同様の照合が行われる。すなわち、カーネル部は、監視リスト内のプロセス識別子と、現在のプロセス識別子とを比較する。両者が一致しなければ、ステップＳ２１１３で何の属性情報もヒープ内の変数には付加されない。
【０２８１】
一方、ステップＳ２１１２でプロセス識別子の照合が一致した場合にはステップＳ２１１４に進み、先のステップＳ２１０９同様監視ファイルリスト内のファイル識別子と合致するかどうかをチェックする。合致していなければステップＳ２１１３に進み、何の属性情報も付加されない。
【０２８２】
ここでファイル識別子の合致が確認されればステップＳ２１１５へ進み「Ｉｓ  ｗｈｉｔｅ」属性情報がヒープ内の変数に付加される。
【０２８３】
以上のようにして、各プロセスはイベント２にてＩｓ  Ｗｈｉｔｅ、Ｎｏｔ  Ｗｈｉｔｅ、Ｂｌａｃｋ、ｎｏｎｅ（何の属性も付与されていないこと）が判明する。
【０２８４】
なお、ｎｏｎｅ（何の属性も付与されていないこと）の場合、例えば、監視対象とされたユーザ使用ファイル１７−１を編集し、編集したデータを第２の記憶領域１７に保存することである。
【０２８５】
図２２は、図１９に示した４番目のイベントの動作を示したフローチャートである。ステップＳ２２０１で、カーネル部は、属性情報がＩｓ  Ｗｈｉｔｅであるか否かを判定する。ＩｓＷｈｉｔｅでなければ、ステップＳ２２０２に進み、カーネル部は、ファイル操作開始通信をキャンセルする。
【０２８６】
一方、ＩｓＷｈｉｔｅであれば、ステップＳ２２０３に進む。ステップＳ２２０３で、カーネル部は、操作内容をチェックする。この時、操作内容が「ファイルの新規作成」であれば、ステップＳ２２０４に進み、カーネル部は、新規作成されたファイルの強制削除を実行する。
【０２８７】
一方で、既存ファイルへの上書き、若しくは書き換えであれば、ステップＳ２２０５で、カーネル部は、ファイル操作開始通信をキャンセルする。また、ステップＳ２２０４の終了後もステップＳ２２０５へ移動し、ファイル操作開始通信はキャンセルされる。
【０２８８】
また、ステップＳ２２０３におけるチェックで先述の３つの動作でなければここでは何の処理も行われない（Ｓ２２０６）。
【０２８９】
すなわち、例えば、ファイルの新規作成や、ファイルの保存は禁止されるが、端末装置２０におけるＲＡＭ２３上でのファイルの編集は可能である。
【０２９０】
図２３ａ、図２３ｂは、図１９に示したイベント５およびイベント６の動作を示したフローチャートである。イベント５では、起動するプロセスのプロセス識別子をホワイトリストかブラックリストに登録されているプロセス識別子と照合し、いずれかのリストに登録されているプロセス識別子であれば、そのプロセス識別子を監視リストに追加する。動するプロセスのプロセス識別子がどちらのリストにも該当しない場合は何もしない。６番目のイベントでは、終了するプロセスのプロセス識別子をから削除する。
【０２９１】
図２３ａはイベント５のプロセス起動時の動作を示す。ステップＳ２３０１で、プロセスマネージャは、プロセスの開始をカーネル部に通知する。ここでカーネル部は一時的にプロセスの開始に割り込んで当該プロセスをストップさせている。ステップＳ２３０２で、カーネル部は、プロセス識別子を取得する。ステップＳ２３０３で、カーネル部は、プロセス判定部を用いて取得したプロセスがホワイトリスト、ブラックリストのいずれかに属しているかを判定する。ここでホワイトリストに属すると判定されればステップＳ２３０４で、カーネル部は、対象となる識別子をＷｈｉｔｅＬｉｓｔに登録する。一方、プロセス判定部により当該プロセスがブラックリストに属するものと判定されればステップＳ２３０５へ進み、当該プロセスのプロセス識別子がブラックリストへ追加される。
【０２９２】
また、いずれにも属しない時は直接ステップＳ２３０６へ進み、プロセスマネージャへプロセスの開始を再開させる、これはステップＳ２３０４でのホワイトリストへの追加、並びにステップＳ２３０５でのブラックリストの追加後も同様である。
【０２９３】
図２３ｂは、プロセス終了時の動作を示す。カーネル部はプロセスマネージャからプロセス終了通知を受信する。この時はプロセス起動時同様にプロセス終了を途中でストップさせる（ステップＳ２３０７）。次いでステップＳ２３０８へ進み、カーネル部は終了する当該プロセスのプロセス識別子を取得する。そしてステップＳ２３０９へ進み、ホワイトリストから該当するプロセス識別子があるかどうかをチェックする、そしてあれば当該プロセス識別子を削除する（ステップ２３１０）。
【０２９４】
同様にステップＳ２３１１ではブラックリスト内のプロセス識別子と当該プロセス識別子を照合して、合致すればステップＳ２３１２へ進み、ブラックリスト内の当該識別子を削除する。
【０２９５】
そしてまた、いずれにも属しない時は直接ステップＳ２３１３へ進み、プロセスマネージャへプロセスの終了を再開させる、これはステップＳ２３１０でのホワイトリスト内からの削除、並びにステップＳ２３１２でのブラックリスト内からの削除後も同様である。
【０２９６】
以上、カーネル部が行う情報漏洩防止機能について説明をしてきた、以降は主としてカーネル部による情報漏洩防止機能にて防ぐことが困難、若しくは運用上の負荷の軽減を考慮し、ユーザーモードで動作する内容について記す。
【０２９７】
ユーザ部による制御を行う、理由としてはホワイトリストに登録されているプロセスの中の情報漏洩に関係する項目、ＯＳの仕様によってカーネル部では制御できない項目等である。
【０２９８】
以降の項目にてユーザ部で制御する代表例並びに制御方法について説明する。なお、ユーザ部の制御は主として各ＯＳに沿った信号、情報、レジストリ、標準のＡＰＩ、等に代表される各種パラメータ、関数、それらの変換手段等、それらを含むプログラム又はファイル等を用いて行われる。
【０２９９】
図２４は、実施例４に係るユーザ部での制御内容の代表例及び制御理由を示す表である。
【０３００】
以下に各項目について詳細に説明する。
【０３０１】
［レジストリ変更防止手段］
レジストリ変更防止手段は特定のレジストリの変更を監視して、レジストリ変更があった場合、すぐに当該レジストリを変更前の状態に戻す手段である。また、監視が解除されると、レジストリを監視状態の前の状態に戻す。
【０３０２】
図２４中「レジストリ変更防止手段の代表例」には３つの制御内容の代表例が示されている。１つ目の制御内容は、Ｅｘｐｌｏｒｅｒのコンテキストメニューにある「送る」という項目を防止することである。Ｅｘｐｌｏｒｅｒはホワイトリストに登録される、極めて汎用性のあるプロセスである。それゆえ、Ｅｘｐｌｏｒｅｒによって作成されたファイルをメールに添付することを、カーネル部は防ぐことができない。その補完機能としてレジストリ変更防止手段が、とりわけ、「送る」という項目の有効化を防止する。
【０３０３】
２つ目の制御内容は、壁紙の変更を防止することである。漏洩防止対象のファイルが画像ファイルであれば、一般に、壁紙として使用できる。上述したように画紙を制御するＥｘｐｌｏｒｅｒは、ホワイトリストに登録される。よって、カーネル部が壁紙への使用を禁止できない。それゆえ、カーネル部を補助する当手段が、漏洩防止対象ファイルの壁紙へ使用を禁止する。
【０３０４】
３つ目の制御内容は、規定のメーラの登録を削除することである。これは、上記同様ホワイトリストに登録されているメーラが任意のファイルを送信することを、カーネル部は防ぐことができないからである。
【０３０５】
このように、情報漏洩防止プログラムは、ホワイトリストに登録されているファイル操作プログラムまたはメーラープログラムによるファイルの漏洩を防止するためにレジストリの変更を監視、並びに防止させるレジストリ変更防止手段として、端末装置を機能させる。
【０３０６】
［デバイス無効化手段］
デバイス無効化手段は、デバイスを無効化、あるいは有効化を禁止する手段である。デバイス無効化手段は、特定のデバイスが新しく）追加されても、デバイス変更信号を感知したタイミングで、このデバイスを無効化する。一方、デバイス制御機構は、監視が解除されると、禁止されていたデバイスを監視前の状態に戻す。
【０３０７】
図２５中の「デバイス無効化手段代表例」は、実施例４に係るデバイスにおける制御デバイスと制御理由とを示す図である。なお、デバイス無効化手段は、例えばユーザがＷｉｎｄｏｗｓ（登録商標）のデバイスマネージャというＵＩ上でドライブを無効にする操作と同等のことを実現する機能である。
【０３０８】
図２５によれば、制御デバイスはＦＤＤ（フレキシブルドライブディスク）とＮＩＣ（ネットワーク通信カード）である。ＦＤＤのディスクをＯＳが認識していない間、カーネル部をＡｔｔａｃｈすることができない。よって、手順によってはファイルを１個だけ持ち出すことが出来てしまう可能性がある。それゆえ、制御デバイスはＦＤＤを監視することで、ファイルの移動を禁止する。
【０３０９】
ＮＩＣを監視する理由は、Ｅｘｐｌｏｒｅｒがホワイトリストに登録されているため、監視対象内のファイルをアップロードされてしまうことをカーネル部が防止できないからである。よって、デバイス無効化手段は、ＮＩＣからアップロードされるファイルが漏洩防止対象ファイルであれば、アップロードを禁止する。
【０３１０】
このように実施例４によれば、フレキシブルディスクドライブに書き込まれるファイルが情報漏洩対象ファイルであるか否かを監視し、情報漏洩対象ファイルが書き込み対象として指定されると、その書き込みを禁止する書き込み禁止手段として、端末装置を機能させる。
【０３１１】
また、情報漏洩防止プログラムは、ホワイトリストに登録されているファイル操作プログラムによるファイルの漏洩を防止するために通信装置から外部へ送信されるファイルが情報漏洩対象ファイルであるか否かを監視し、情報漏洩対象ファイルが送信対象として指定されると、その送信を禁止する送信禁止手段として、端末装置を機能させる。
【０３１２】
［グローバルフック手段］
グローバルフック手段は、各種メッセージの処理を制限する機能である。監視が解除されると、この制御も解除される。
【０３１３】
図２４中の「グローバルフック手段の代表例」には、実施例４に係るグローバルフック手段における制御内容の代表例及びその制御理由が示されている。１つ目は、予め指定されているダイアログを表示させないようにする機能である。具体的にはキャプションやウィンドウクラスが登録内容と一致した場合、グローバルフック手段は、そのダイアログを止める。これは、例えば「名前をつけて保存」「名前を変更して保存」「オブジェクトの挿入」に代表される、ファイルシステムに関与しないメモリ上の操作はカーネル部で制御できないためである。それゆえ、グローバルフック手段は、このような操作に関するダイアログをストップさせる、若しくは無効化する。
【０３１４】
２つ目は、マウスに代表されるポインティングデバイス等によるウインドウをまたぐＤｒａｇ＆Ｄｒｏｐを禁止する機能である。これはファイル内のデータをポインティングデバイス等がＤｒａｇ＆Ｄｒｏｐで持ち出すことをカーネル部が防ぐことができないためである。
【０３１５】
例えばマウスの場合、ウインドウ中で複数のファイルを選択しドラッグしようとする際にはマウス上のボタンを押したままカーゾルを移動させる操作する必要がある。このボタンを押した際の座標をグローバルフック手段が捕らえており、ボタンが離された際にボタンを押した際の座標と違えばその動作を無効化する等によって実施される。
【０３１６】
このように実施例４によれば、情報漏洩防止プログラムは、情報漏洩対象ファイルまたはその一部を端末装置のメモリ上で複製するためのダイアログの表示が指定されると、当該ダイアログの表示を禁止するダイアログ禁止手段として、端末装置を機能させる。
【０３１７】
また、情報漏洩防止プログラムは、情報漏洩対象ファイルまたはその一部についての複数のウインドウ間でのドラックアンドドロップを監視し、ドラックアンドドロップが指定されると、その実行を禁止するドラックアンドドロップ禁止手段として、端末装置を機能させる。
【０３１８】
［クリップボード利用防止手段］
クリップボード利用防止手段は、文字通りクリップボードの利用を防止する為の手段である。これは監視対象となっているファイルがクリップボード中の一時記憶を経て漏洩してしまうことを防ぐ為の機能である。
【０３１９】
図２４中の「クリップボード利用防止手段の代表例」には本手段による２つの例が記載されている。これらは共にクリップボード利用防止手段がクリップボードを独占してしまうことにより、他のプロセスがクリップボードを一切利用できなくすることで実施される。これはカーネル部がクリップボードによるファイル内のデータの持ち出しを制御できないためである。監視が解除されると、クリップボード制御機構も解除される。
【０３２０】
このように実施例４によれば、情報漏洩防止プログラムは、クリップボードの使用を独占することで、情報漏洩対象ファイルまたはその一部を該クリップボードへコピーすることを防止するクリップボード独占手段として、端末装置を機能させる。
【０３２１】
以上でユーザ部による情報漏洩防止の制御についての説明を終了する。
【０３２２】
以上でもって実施例４における情報漏洩防止手段の詳細について説明をしてきたが、本発明におけるカーネル部の制御とユーザ部の制御の形態は互いに補完関係にある。よって今後技術の進展やＯＳの仕様変更によってカーネル部での制御とユーザ部での制御が入れ替わる可能性等が考えられるが、それらの制御も以上の手段に準ずる範囲であれば本発明の範疇に含まれることは明らかであろう。
【０３２３】
なお、実施例３や実施例４に記載の情報漏洩防止プログラムは、ＵＳＢストレージデバイス１０から分離されて単独で使用されてもよい。例えば、
（１）第２の記憶領域１７と第３の記憶領域１８はそのままで、第１の記憶領域１６の代わりに、ＨＤＤ２５におけるフォルダやディレクトリに、上記第１の領域に相当するものを設け、そこに実施例と同様な情報漏洩防止プログラムを予め格納して、ＵＳＢストレージデバイス１０の第２領域１７のデータファイルの漏洩防止を上記実施例と同様に行うことも可能である。
（２）第１の記憶記憶領域１６、第２の記憶領域１７の代わりに、ＨＤＤ２５における任意のフォルダやディレクトリに、上記記憶領域１，２に相当するものを設け、そこに実施例と同様な情報漏洩防止プログラムとデータファイルを格納して、そのデータファイルの漏洩防止のために同様のプログラム制御が適用されてもよい。これにより端末を複数のユーザが利用する場合他人のデータファイルを誤って漏洩するのを防止できる。
【０３２４】
さらに、上記（１）（２）の場合、サーバからクライアント（端末装置２０）のＨＤＤ２５に、情報漏洩防止プログラムを格納することも可能である。
【０３２５】
また、サーバから、最新の情報漏洩プログラムをクライアント（端末装置２０）が受信し、ＵＳＢストレージ１０、またはＨＤＤ２５の第一の記憶領域１６に、追加や更新するということも可能である。
【０３２６】
［実施例５］
実施例５では、上述した実施例の変形例について説明する。具体的には、ホストＰＣからアクセス可能なネットワーク（通常はイントラネット）上にサーバを配置し、サーバからＵＳＢストレージデバイスに記憶されている情報を更新する。ＵＳＢストレージデバイスに記憶されている情報を更新できるようにすることで、ユーザごとにセキュリティ設定を変更するなど、セキュリティ設定に柔軟性をもたらすことができる。
【０３２７】
この柔軟性によって、ＵＳＢストレージデバイスに対してグループ管理を適用できる。グループ管理とは、複数のユーザによりグループを構成し、そのグループに属するユーザに対しては共通のセキュリティ設定を適用することである。また、グループは複数のＰＣによって構成されても良い。この場合、グループに属するＰＣのすべてをホストＰＣとすることが可能となる。
【０３２８】
ところで、情報漏洩防止機能を有していない一般のＵＳＢメモリであれば、あるＰＣから他のＰＣへと自由にデータを運ぶことが可能となる。しかし、上述の情報漏洩防止機能を適用されたＵＳＢストレージデバイスでは、任意のデータをあるＰＣから他のＰＣへと運ぶことは制限される。すなわち、セキュリティ設定が厳格である場合、ＵＳＢストレージデバイスを使用可能なホストＰＣが１台に限定されてしまうこともある。このような課題についても、グループ管理を導入することで解決できる。すなわち、特定のグループに所属する複数のＰＣをホストＰＣとして、ＵＳＢストレージデバイスに登録できるようにする。これにより、特定のグループ内ではＵＳＢストレージデバイスを一般のＵＳＢメモリのように使用することが可能となる。もちろん、未登録のＰＣにＵＳＢストレージデバイスを装着したときは、上述した情報漏洩防止機能が作動するため、データの移動等は制限される。
【０３２９】
図２５は、実施形態に係るグループ管理の一例を示したシーケンス図である。ここでは、説明を簡潔にするために、サーバ装置及びクライアント装置のハードウエア構成は、端末装置２０と同等であるものとする。
【０３３０】
ステップＳ２５０１で、サーバ装置のＣＰＵ２１は、デバイスＩＤとユーザＩＤとの関連付けを実行する。ここで、デバイスＩＤは、ホストＰＣとなる端末装置２０を識別するためのＰＣ固有値及びＵＳＢストレージデバイスを識別するためのＵＳＢメモリ固有値を示す。なお、ＰＣ固有値は、上述したホストＰＣ登録情報１８−１に相当する。
【０３３１】
図２６は、サーバ装置のＨＤＤ２５に記憶されるＵＳＢメモリ固有値テーブルを示した図である。ＵＳＢメモリ固有値テーブル２６０１は、ＵＳＢメモリの固有値とグループＩＤとを関連付けるテーブルである。なお、図中の＊はテーブルのプライマリキーを意味している。グループＩＤは、各グループＩＤを識別するための識別情報である。サーバ装置のＣＰＵ２１は、キーボードやポインティングデバイス２８を通じて入力されたＵＳＢメモリの固有値とグループＩＤとを関連付けて、ＵＳＢメモリ固有値テーブル２６０１に登録する。
【０３３２】
図２７は、サーバ装置のＨＤＤ２５に記憶されるＰＣ固有値テーブルを示した図である。ＰＣ固有値テーブル２７０１は、ホストＰＣの固有値とグループＩＤとを関連付けるテーブルである。サーバ装置のＣＰＵ２１は、キーボードやポインティングデバイス２８を通じて入力されたＰＣ固有値とグループＩＤとを関連付けて、ＰＣ固有値テーブル２７０１に登録する。
【０３３３】
なお、各ＰＣについて、ホストＰＣとして動作可能な時間帯（開始日時及び終了日時）もＰＣ固有値テーブル２７０１に登録されてもよい。この場合、第１の情報（ホストＰＣ登録情報）は、第２の情報（ユーザ使用ファイル１７−１）を第２の記憶領域１７から読み出して不揮発性記憶手段（端末装置２０のＨＤＤ２５）へ格納することができる複数の情報処理装置の識別情報（ＰＣ固有値）と、複数の情報処理装置のそれぞれが第２の情報を第２の記憶領域１７から読み出して不揮発性記憶手段へ格納することができる時間帯を示す時間帯情報とを含むことになる。さらに、情報漏洩防止プログラムであるセキュリティソフトウエアは、記憶装置１０が接続されている端末装置２０の識別情報（ＰＣ固有値）に対応した時間帯情報に基づいて、第２の情報の取扱いを制限することになる。
【０３３４】
なお、第１の情報（ホストＰＣ登録情報１８−１）は、複数のユーザのそれぞれに対応した第２の情報の取扱いを規定したユーザ設定（図２９に示す各種セキュリティレベル）を含む。
【０３３５】
また、第１の情報（ホストＰＣ登録情報１８−１）は、それぞれ一人以上のユーザからなるユーザグループごとに、第２の情報の取扱いを規定したユーザ設定（グループごとの各種セキュリティレベル）を含む。
【０３３６】
ステップＳ２５０２で、サーバ装置のＣＰＵ２１は、キーボードやポインティングデバイス２８を通じて入力された情報に従って、各グループごとのセキュリティを設定する。
【０３３７】
図２８は、サーバ装置のＨＤＤ２５に記憶されるユーザテーブルを示した図である。ユーザテーブル２８０１は、ユーザＩＤと、グループＩＤと、優先レベルとを関係付けるテーブルである。ユーザＩＤは、各ユーザを識別するための識別情報である。優先レベルは、例えば、個人向けのセキュリティ機能を優先して適用するか、グループ向けのセキュリティ機能を優先して適用するかを示す情報である。
【０３３８】
サーバ装置のＣＰＵ２１は、キーボードやポインティングデバイス２８を通じて入力された情報に従って、ユーザＩＤと、グループＩＤと、優先レベルとを対応付けてユーザテーブル２８０１に登録する。
【０３３９】
図２９は、サーバ装置のＨＤＤ２５に記憶されるグループテーブルを示した図である。グループテーブル２９０１は、グループＩＤと、セキュリティレベルとを関連付けるテーブルである。セキュリティレベルは、各種セキュリティ機能の有効／無効を示す情報である。セキュリティレベルの一例を以下に列挙する。
【０３４０】
初期化のＯＮ／ＯＦＦ
クリップボード使用禁止のＯＮ／ＯＦＦ
ドラッグ＆ドロップ使用禁止のＯＮ／ＯＦＦ
特定ダイアログボックスの使用禁止（名前を付けてファイルを保存等）のＯＮ／ＯＦＦ
印刷禁止のＯＮ／ＯＦＦ
ネットワーク切断のＯＮ／ＯＦＦ
ホワイトリスト及びブラックリスト更新のＯＮ／ＯＦＦ
なお、初期化とは、例えば、ユーザ使用ファイル１７−１の削除することや、ホストＰＣ登録情報情報１８−１、ユーザ登録情報１８−２、ホワイトリスト１８−３及びブラックリスト１８−４の更新することを意味する。ただし、サーバに接続されていない端末装置２０でＵＳＢストレージデバイス（記憶装置１０）が使用される場合、ホワイトリスト１８−３及びブラックリスト１８−４の削除は実行しないものとする。
【０３４１】
サーバ装置のＣＰＵ２１は、キーボードやポインティングデバイス２８を通じて入力された情報に従って、グループＩＤと、各種セキュリティレベルとを対応付けてグループテーブル２９０１に登録する。
【０３４２】
ステップＳ２５０３で、サーバ装置のＣＰＵ２１は、所定のタイミングで、クライアントへ設定情報を送信する。所定のタイミングは、例えば、端末装置２０において起動したセキュリティソフトウエア２５−２から送信された設定情報の要求をサーバ装置が受信したタイミングである。サーバ装置のＣＰＵ２１は、設定情報の要求に含まれているユーザＩＤから上述のテーブルに基づいてグループＩＤを特定し、グループＩＤに対応するＰＣ固有値、優先レベル及び各種セキュリティレベルを決定する。サーバ装置のＣＰＵ２１は、決定したＰＣ固有値と、優先レベルと、セキュリティレベルと、最新のホワイトリスト及びブラックリストとを設定情報に搭載する。なお、設定情報に、最新バージョンのセキュリティソフトウエアが含まれていてもよい。この場合、第１の記憶領域に記憶されているセキュリティソフトウエア１６−１ｂが最新バージョンに更新されることになる。
【０３４３】
ステップＳ２５０４で、クライアントである端末装置２０のＣＰＵ２１は、設定情報を受信し、記憶装置１０のセキュリティ設定を変更する。端末装置２０のＣＰＵ２１は、設定情報に含まれていたＰＣ固有値を、コントローラ１２を通じてホストＰＣ登録情報１８−１に書き込む。同様に、ＣＰＵ２１は、受信した優先レベルとセキュリティレベルも第３の記憶領域１８に書き込む。さらに、ＣＰＵ２１は、受信したワイトリスト及びブラックリストも第３の記憶領域１８に書き込む。
【０３４４】
なお、初期化がＯＮに設定されている場合、ステップＳ２５０５で、サーバ装置のＣＰＵ２１は、初期化処理要求を端末装置２０へ送信する。ステップＳ２５０６で、ＣＰＵ２１は、初期化処理を実行する。なお、端末装置２０のＣＰＵ２１は、キーボード等の入力装置から入力されたパスワードと記憶装置１０に記憶されているユーザ登録情報１８−２に含まれているパスワードとが一致しているか否かを判定してもよい。そして、ＣＰＵ２１は、両者が一致している場合にのみ、初期化処理を実行する。
【０３４５】
図３０は、ホストＰＣ登録情報１８−１を適用する端末装置２０の動作の一例を示したフローチャートである。ステップＳ３００１で、ＣＰＵ２１は、第３の記憶領域１８に記憶されている優先レベルを、コントローラ１２を介して読み出し、優先レベルが個人に設定されているか、グループに設定されているかを判定する否かを判定する。この判定処理は、単一の個人が記憶装置１０を使用するのか、複数の個人が記憶装置１０を使用するのかを判定する処理である。また、この判定処理は、単一の端末装置２０が記憶装置１０を使用するのか、複数の端末装置２０が記憶装置１０を使用するのかを判定する処理である。
優先レベルが個人に設定されていなければ（グループに設定されていれば）、ステップＳ３００２に進む。
【０３４６】
ステップＳ３００２で、ＣＰＵ２１は、予め登録されている所定のサーバと通信可能か否かを判定する。所定のサーバのＵＲＬまたはアドレスの情報は予めセキュリティソフトウエア１６−１ｂが備えている。サーバと通信可能であれば、ステップＳ３００３に進む。
【０３４７】
ステップＳ３００３で、ＣＰＵ１２は、サーバから受信した設定情報に含まれていたＰＣ固有値を、記憶装置１０に記憶されているホストＰＣ登録情報１８−１の代わりに、セキュリティソフトウエア１６−１ｂに適用する。
【０３４８】
一方、ステップＳ３００１で、優先レベルが個人に設定されていると判定された場合、または、ステップＳ３００２で、所定のサーバと通信できないと判定された場合、ステップＳ３００４に進む。
【０３４９】
ステップＳ３００４で、ＣＰＵ２１は、記憶装置１０に記憶されているホストＰＣ登録情報１８−１をセキュリティソフトウエア１６−１ｂに適用する。
【０３５０】
このように、情報漏洩防止プログラムであるセキュリティソフトウエアは、情端末装置２０が所定のサーバと接続可能か否かを判定する接続判定手段（Ｓ３００２）と、端末装置２０が所定のサーバと接続可能であれば、所定のサーバから受信した第１の情報を第２の情報に適用し（Ｓ３００３）、端末装置２０が所定のサーバと接続可能でなければ、第１の記憶領域に記憶されている第１の情報を第２の情報に適用する（Ｓ３００４）情報切り替え手段として端末装置２０を機能させる。
【０３５１】
また、セキュリティソフトウエアは、単一の個人が記憶装置１０を使用するのどうかを判定する使用者判定手段（Ｓ３００１）と、単一の個人が記憶装置１０を使用するのであれば、第１の記憶領域に記憶されている第１の情報を第２の情報に適用し（Ｓ３００４）、単一の個人が記憶装置１０を使用するのでなければ、所定のサーバから受信した第１の情報を第２の情報に適用する（Ｓ３００３）情報切り替え手段として端末装置２０を機能させる。
【０３５２】
同様に、セキュリティソフトウエアは、予め定められた単一の端末装置２０が記憶装置１０を使用するのか、予め定められた複数の端末装置２０が記憶装置１０を使用するのかを判定する判定手段（Ｓ３００１）と、単一の端末装置２０が記憶装置１０を使用するのであれば、第１の記憶領域に記憶されている第１の情報を第２の情報に適用し（Ｓ３００４）、複数の端末装置２０が記憶装置１０を使用するのであれば、所定のサーバから受信した第１の情報を第２の情報に適用する（Ｓ３００３）情報切り替え手段として情報処理装置を機能させる。
【０３５３】
図３１は、ホストＰＣ登録情報１８−１の登録を示したシーケンス図である。ステップＳ３１０１で、クライアントである端末装置２０のＣＰＵ２１は、記憶装置１０内に予めアドレスが登録されている所定のサーバへ応答確認要求を送信する。これは、端末装置２０がサーバと接続されているか否かを確認するためである。
【０３５４】
ステップＳ３１０２で、サーバ装置のＣＰＵ２１は、応答確認要求を受信すると、所定のサーバである旨の情報を端末装置２０へ送信する。また、サーバ装置のＣＰＵ２１は、ＨＤＤ２５に記憶しているホストＰＣ登録情報（例えば、ＰＣ固有値等）も一緒に端末装置２０へ送信してもよい。
【０３５５】
ステップＳ３１０３で、端末装置２０のＣＰＵ２１は、サーバから送信された所定のサーバである旨の情報と、記憶装置１０内に予め登録されている所定のサーバに関する情報が一致しているか否かを判定する。両者が一致していなければ、ＣＰＵ２１は、受信した情報を破棄する。一方、両者が一致している場合、ステップＳ３１０４に進む。
【０３５６】
ステップＳ３１０４で、ＣＰＵ２１は、サーバから送信されたホストＰＣ登録情報をホストＰＣ登録情報１８−１へ登録する。
【０３５７】
図３２は、ホストＰＣ登録情報１８−１の登録を行うまでの変形例を示したシーケンス図である。ステップＳ３２０１で、クライアントである端末装置２０のＣＰＵ２１は、クライアントに関する情報（例えば、ユーザＩＤやデバイスＩＤ等）をサーバへ送信する。ステップＳ３２０２で、サーバ装置のＣＰＵ２１は、端末装置２０から受信したクライアントに関する情報と、予めＨＤＤ２５に記憶しているクライアントに関する情報とが一致しているか否かを判定する。両者が一致していなければ、ＣＰＵ２１は、エラー処理を実行する。両者が一致している場合、ステップＳ３２０３に進む。
【０３５８】
ステップＳ３２０３で、サーバ装置のＣＰＵ２１は、受信したクライアントに関する情報に対応したホストＰＣ登録情報（例えば、グループＩＤ等）を端末装置２０に送信する。
【０３５９】
ステップＳ３２０４で、端末装置２０のＣＰＵ２１は、サーバから受信したホストＰＣ登録情報を記憶装置１０のホストＰＣ登録情報１８−１として登録する。なお、ホストＰＣ登録情報１８−１の更新は、記憶装置１０が端末装置２０に接続されたごとに実行されてもよいし、ユーザの利便性を考慮して所定の期間ごと（例えば四半期毎）に実行されてもよい。
【０３６０】
以上説明したように、本実施例によれば、情報漏洩防止プログラムであるセキュリティソフトウエア２５−１は、端末装置２０をサーバと接続し、サーバから受信した情報によって第１の情報を更新する更新手段として端末装置２０を機能させる。よって、サーバを介してホストＰＣ登録情報等を更新することが可能となる。すなわち、また、ホストＰＣ登録情報には、特定のグループに属する複数のＰＣの固有値が記憶されるため、複数のホストＰＣを実現できる。例えば、特定のグループに属した複数のＰＣ間では、記憶装置１０を一般的なＵＳＢメモリとして使用することが可能となる。一方で、特定のグループに属していない社外のＰＣについては、ホストＰＣになれないため、記憶装置１０に関するデータへのアクセスが制限される。よって、記憶装置１０のセキュリティを柔軟に維持することができる。
【０３６１】
本実施例では、グループ管理によって、ユーザグループごとに、セキュリティレベルを変更することが可能となる。もちろん、ユーザごとのセキュリティレベルをサーバから受信してホストＰＣ登録情報１８−１に保持すれば、ユーザごとにセキュリティレベルを変更することが可能となる。
【図１】
0005457427.tif 000002
【図２】
0005457427.tif 000003
【図３】
0005457427.tif 000004
【図４】
0005457427.tif 000005
【図５】
0005457427.tif 000006
【図６】
0005457427.tif 000007
【図７】
0005457427.tif 000008
【図８】
0005457427.tif 000009
【図９】
0005457427.tif 000010
【図１０】
0005457427.tif 000011
【図１１】
0005457427.tif 000012
【図１２】
0005457427.tif 000013
【図１３】
0005457427.tif 000014
【図１４】
0005457427.tif 000015
【図１５】
0005457427.tif 000016
【図１６】
0005457427.tif 000017
【図１７】
0005457427.tif 000018
【図１８】
0005457427.tif 000019
【図１９】
0005457427.tif 000020
【図２０】
0005457427.tif 000021
【図２１】
0005457427.tif 000022
【図２２】
0005457427.tif 000023
【図２３ａ】
0005457427.tif 000024
【図２３ｂ】
0005457427.tif 000025
【図２４】
0005457427.tif 000026
【図２５】
0005457427.tif 000027
【図２６】
0005457427.tif 000028
【図２７】
0005457427.tif 000029
【図２８】
0005457427.tif 000030
【図２９】
0005457427.tif 000031
【図３０】
0005457427.tif 000032
【図３１】
0005457427.tif 000033
【図３２】
0005457427.tif 000034