記憶装置、端末装置およびコンピュータプログラム
【課題】記憶装置の記憶領域内部の機密情報が、外部の端末装置等から漏洩することを防止する記憶装置等を提供する。
【解決手段】端末装置が備える汎用インターフェースに対して着脱可能な記憶装置は、読み出しのみ可能な第1の記憶領域と、読み出しおよび書き込みとも可能な第2の記憶領域と、前記第1の記憶領域に、前記第2の記憶領域で保持する情報について、情報の送付先を特定する情報漏洩防止プログラムを備える。
【解決手段】端末装置が備える汎用インターフェースに対して着脱可能な記憶装置は、読み出しのみ可能な第1の記憶領域と、読み出しおよび書き込みとも可能な第2の記憶領域と、前記第1の記憶領域に、前記第2の記憶領域で保持する情報について、情報の送付先を特定する情報漏洩防止プログラムを備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、記憶装置、情報処理装置、端末装置およびコンピュータプログラムに係り、とりわけ情報漏洩等を抑制するためのセキュリティ技術に関する。
【背景技術】
【0002】
情報化社会である今日、業務形態としてパーソナルコンピュータに代表される情報端末装置(以下端末装置)を用いることが多くなっている。官公庁、企業、公共施設を始めとした組織では、保有する情報がデジタルデータで扱われる。デジタル化された業務用書類は、複製や頒布が極めて容易である。それゆえ、データの機密性、完全性、可用性を確保するための情報セキュリティ技術へのニーズが高まっている。
【0003】
一方、端末装置の汎用性の高い外部記憶装置として、持ち運びが可能な様々なリムーバブルディスクが普及している。とりわけ、USBコネクタを一体化した小型で着脱可能なUSBストレージデバイスは、近年、目覚しく普及している。使用形態も様々で、例えば、業務作業に必要な情報を予めUSBストレージデバイスに記憶して持ち出し、外出先の端末装置に接続して作業を行うことも可能である。
【0004】
しかし、USBストレージデバイスは便利である反面、セキュリティに関して脆弱であった。例えば、悪意ある者がUSBストレージデバイスに記憶されている機密情報を、故意に第3者の端末装置へ移動したり、複製したりすることが挙げられる。
【0005】
従来、このような情報漏洩を防止する技術が提案されている。特許文献1によれば、個人認証機能により認証された特定使用者だけが、保護・秘匿すべき秘匿領域にあるデータを保存・消去することができ、特定使用者の情報を保護できるUSBストレージデバイスが提案されている。
【0006】
また、USBストレージデバイスの読取技術として、特許文献2によれば、記憶装置内部の記憶領域のうち、1つをCD−ROMデバイスとして、もう1つをリムーバブルディスク領域としてPCに認識させて読取る方法が提案されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2006−301772号公報
【特許文献2】特許第3699717号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかし、特許文献1に記載されている漏洩防止方法では、USBストレージデバイスに記憶されている機密情報を外部の端末装置で閲覧した後、記憶させたままで消去を忘れてしまうということがあり、その結果その端末装置から情報漏洩が発生する。
【0009】
また、その他の課題として、特許文献2に記載されたUSBの読取方法では、同時に2つのドライブをPCに認識させることが前提となっている。そのため、ドライブレターが枯渇しやすくなったり、PCが備えるドライブに割り当てられるドライブレターがユーザの意図したものと異なってしまったりするなど、PCのドライブ環境に大きな影響を与えかねない。
【0010】
そこで、本発明は、記憶装置の記憶領域内部の機密情報が、外部の端末装置等から漏洩することを防止する記憶装置等を提供することを目的とする。
なお、他の課題については明細書の全体を通して理解できよう。
【課題を解決するための手段】
【0011】
第1の観点によれば、
汎用インターフェースを介して情報処理装置と接続される記憶装置において、
第1の情報を格納する第1の記憶領域と、
編集可能な第2の情報を格納する読み出し書き込み可能な第2の記憶領域とを有し、
第1の情報は、
第2の情報が漏洩することを防止する情報漏洩防止プログラムと、
第2の情報の格納が許容される格納先を特定するデータとのうち少なくとも一方と
を含むことを特徴とする記憶装置が提供される。
【0012】
第2の観点によれば、
第1の情報は、情報処理装置に記憶装置が接続されたときに情報漏洩防止プログラムを情報処理装置において起動させるための起動ファイルをさらに含むことを特徴とする記憶装置が提供される。
【0013】
第3の観点によれば、
情報漏洩防止プログラムは、情報処理装置をサーバと接続し、サーバから受信した情報によって第1の情報を更新する更新手段として情報処理装置を機能させることを特徴とする記憶装置が提供される。
【0014】
第4の観点によれば、
第1の情報は、前記第2の情報をアクセスする対象者を特定するデータを含むことを特徴とする記憶装置が提供される。
【0015】
第5の観点によれば、
情報漏洩防止プログラムは、情報処理装置が第2の情報を閲覧することを許可するとともに、情報処理装置へ第2の情報を格納することを禁止するコンピュータプログラムであることを特徴とする記憶装置が提供される。
【0016】
第6の観点によれば、
情報漏洩防止プログラムは、情報処理装置が第2の情報を編集し、編集した第2の情報を第2の記憶領域に格納することを許可するコンピュータプログラムであることを特徴とする記憶装置が提供される。
【0017】
第7の観点によれば、
情報処理装置から記憶装置が取り外されたことを検出する取り外し検出手段と、
記憶装置が情報処理装置から取り外されたことが検出されると、第1の情報および第2の情報を情報処理装置からクリアないしアンインストールする手段として、
情報処理装置を機能させることを特徴とする記憶装置が提供される。
【0018】
第8の観点によれば、
情報漏洩防止プログラムは、
第2の情報の格納先が第1の情報によって特定されている場合、情報処理装置が第2の情報を第2の記憶領域に加えて特定されている格納先にも格納することを許可することを特徴とする記憶装置が提供される。
【0019】
第9の観点によれば、
情報漏洩防止プログラムは、ネットワークに接続された情報処理装置が第2の情報をネットワーク上に配信することを許可することを特徴とする記憶装置が提供される。
【0020】
第10の観点によれば、
情報漏洩防止プログラムは、情報処理装置のプログラム動作を監視及び制御する手段として情報処理装置を機能させることで、情報処理装置へ第2の情報を格納することを禁止することを特徴とする記憶装置が提供される。
【0021】
第11の観点によれば、
情報処理装置のプログラム動作を監視及び制御する手段は、カーネルモードにて動作することを特徴とする記憶装置が提供される。
【0022】
第12の観点によれば、
情報漏洩防止プログラムは、情報処理装置のレジストリを監視し、レジストリの変更があった場合、レジストリにおいて変更された情報を変更前の情報に戻す手段として情報処理装置を機能させることを特徴とする記憶装置が提供される。
【0023】
第13の観点によれば、
変更前の情報に戻す手段は、第2の情報を電子メールにより送信すること、または第2の情報を壁紙として使用すること禁止する手段であることを特徴とする記憶装置が提供される。
【0024】
第14の観点によれば、
情報漏洩防止プログラムは、情報処理装置に情報を格納するデバイスと、情報処理装置から情報を送信するデバイスを無効化する手段として情報処理装置を機能させることを特徴とする記憶装置が提供される。
【0025】
第15の観点によれば、
デバイスを無効化する手段は、フレキシブルドライブディスクへの情報の書き込み、またはネットワークへの情報のアップロードを禁止する手段であることを特徴とする記憶装置が提供される。
【0026】
第16の観点によれば、
情報漏洩防止プログラムは、第2の情報を情報処理装置へ格納することに導く操作を禁止する手段として情報処理装置を機能させることを特徴とする記憶装置が提供される。
【0027】
第17の観点によれば、
操作を禁止する手段は、ダイアログ表示、ドラックアンドドロップ、クリップボードの利用のいずれか一つ、または複数の組み合わせを禁止する手段であることを特徴とする請求項16記載の記憶装置が提供される。
【0028】
第18の観点によれば、
着脱可能な記憶装置を汎用インターフェースに接続可能な情報処理装置において、
記憶装置は、
第1の情報を格納する第1の記憶領域と、
編集可能な第2の情報を格納する読み出し書き込み可能な第2の記憶領域とを有し、
第1の情報は、第2の情報の漏洩防止のために取扱いを制御する情報を備え、
情報処理装置は、第1の情報を第1の記憶領域から読み出して実行する
ことを特徴とする情報処理装置が提供される。
【0029】
第19の観点によれば、
情報処理装置において、
第1の情報を格納する読み出し専用の第1の記憶領域と、
編集可能な第2の情報を格納する読み出し書き込み可能な第2の記憶領域とを有し、
第1の情報は、第2の情報の格納先の特定を制御する情報であることを特徴とする情報処理装置が提供される。
第20の観点によれば、
第1の情報は、第2の情報が漏洩することを防止する情報漏洩防止プログラムを含むことを特徴とする情報処理装置が提供される。
【0030】
第21の観点によれば、
汎用インターフェースを介して情報処理装置と接続される記憶装置の第1の記憶領域から第1の情報を読み出す第1のステップと、
記憶装置の第2の記憶領域に記憶された編集可能な第2の情報の情報処理装置における取扱いを第1の情報により制御することで、第2の情報の漏洩を防止する第2のステップと
を情報処理装置に実行させるコンピュータプログラムであって、
第1の情報は、
第2の情報の格納が許容される格納先を含むことを特徴とするコンピュータプログラムが提供される。
【0031】
本発明の第22の観点によれば、
端末装置が備える汎用インターフェースに対して着脱可能な記憶装置であって、
端末装置によって択一的に認識される第1の記憶領域および第2の記憶領域と、
第1の記憶領域に記憶され、端末装置に認識される記憶領域を第1の記憶領域から第2の記憶領域へと切り替えるための切り替えプログラムと、
第1の記憶領域に記憶され、端末装置に記憶装置が接続されたときに切り替えプログラムを端末装置において起動させるための起動ファイルと、
を備え、
端末装置は、記憶装置が接続されると、第1の記憶領域から起動ファイルを読み出して実行することで切り替えプログラムを起動し、端末装置に認識される記憶領域を第1の記憶領域から第2の記憶領域へと切り替える切り替え手段として機能することを特徴とする記憶装置が提供される。
【0032】
本発明の第23の観点によれば、
第1の記憶領域は、読み出しのみ可能な記憶領域であり、第2の記憶領域は、読み出しおよび書き込みとも可能な記憶領域であることを特徴とする記憶装置が提供される。
【0033】
本発明の第24の観点によれば、
起動ファイルは、autorun.infファイルであることを特徴とする記憶装置が提供される。
【0034】
本発明の第25の観点によれば、
第1の記憶領域および第2の記憶領域はそれぞれ異なるパーティションであり、
切り替えプログラムは、第1の記憶領域であるパーティションを不可視状態に切り替えた後、第2の記憶領域であるパーティションを可視状態に切り替えることを特徴とする記憶装置が提供される。
【0035】
本発明の第26の観点によれば、
切り替えプログラムにしたがって端末装置が発行する切り替え命令を受信することで、端末装置に認識される記憶領域を第1の記憶領域から第2の記憶領域へと切り替える第1のコントローラを備えることを特徴とする記憶装置が提供される。
【0036】
本発明の第27の観点によれば、
第1のコントローラは、切り替え命令を受信すると、第1の記憶領域の論理ユニット番号と第2の記憶領域の論理ユニット番号を変更することを特徴とする記憶装置が提供される。
【0037】
本発明の第28の観点によれば、
切り替えプログラムは、端末装置に認識される記憶領域を第1の記憶領域から第2の記憶領域へと切り替えたとしても記憶装置に割り当てられるドライブレターを維持する維持手段として端末装置を機能させることを特徴とする記憶装置が提供される。
【0038】
本発明の第29の観点によれば、
切り替えプログラムは、第1の記憶領域に記憶されている情報漏洩防止プログラムを端末装置にインストールしてから、端末装置に認識される記憶領域を第1の記憶領域から第2の記憶領域へと切り替えることを特徴とする記憶装置が提供される。
【0039】
本発明の第30の観点によれば、
情報漏洩防止プログラムは、
記憶装置が端末装置から取り外されたことを検出する取り外し検出手段と、
記憶装置が端末装置から取り外されたことが検出されると、記憶装置から端末装置へとインストールされたプログラムおよびファイルをアンインストールする手段として、端末装置を機能させることを特徴とする記憶装置が提供される。
【0040】
本発明の第31の観点によれば、
端末装置において実行されるプロセスのうち、第2の記憶領域に対するアクセスを許可されたプロセスの識別情報を登録したホワイトリストを記憶した第3の記憶領域をさらに含み、
情報漏洩防止プログラムは、
端末装置において実行されているプロセスの識別情報が、ホワイトリストに登録されている識別情報と一致するか否かに応じて、第2の記憶領域に対するアクセスを制限するアクセス制限手段として、端末装置を機能させることを特徴とする記憶装置が提供される。
【0041】
本発明の第32の観点によれば、
第3の記憶領域には、端末装置において実行されるプロセスのうち、アクセス対象の如何にかかわらず、動作をキャンセルされるプロセスの識別情報を登録したブラックリストを記憶しており、
情報漏洩防止プログラムは、
端末装置において実行されているプロセスの識別情報が、ブラックリストに登録されている識別情報と一致すると、プロセスによる動作をキャンセルするキャンセル手段として、端末装置を機能させることを特徴とする記憶装置が提供される。
【0042】
本発明の第33の観点によれば、
アクセス制限手段は、
端末装置において実行されているプロセスの識別情報が、ブラックリストおよびホワイトリストのいずれにも登録されていない場合、このプロセスが記憶装置の記憶領域にアクセスすることを限定することを特徴とする記憶装置が提供される。
【0043】
本発明の第34の観点によれば、
記憶装置に予め記憶されている認証情報と、端末装置または記憶装置に設けられた入力手段から入力された認証情報とを用いて認証処理を実行する認証手段をさらに含み、認証処理が成功すると、切り替えプログラムが、端末装置に認識される記憶領域を第1の記憶領域から第2の記憶領域へと切り替えることを特徴とする記憶装置が提供される。
【0044】
本発明の第35の観点によれば、
記憶装置に予め記憶されている認証情報と、端末装置または記憶装置に設けられた入力手段から入力された認証情報とを用いて認証処理を実行する認証手段をさらに含み、認証処理が成功すると、情報漏洩防止プログラムは、記憶装置に対するアクセスの制限を解除する解除手段として端末装置を機能させることを特徴とする記憶装置が提供される。
【0045】
本発明の第36の観点によれば、
切り替えプログラムは、記憶装置に認証情報が予め記憶されていなければ、認証情報の初期登録を実行する登録手段として端末装置を機能させることを特徴とする記憶装置が提供される。
【0046】
本発明の第37の観点によれば、
認証情報は、端末装置に付与されているMACアドレス、型式番号、製造番号およびIPアドレスのうち1つまたは複数を含む端末装置登録情報であることを特徴とする記憶装置が提供される。
【0047】
本発明の第38の観点によれば、
認証情報は、ユーザを特定するための識別子、パスワード、暗証番号、バイオメトリクス情報のうち1つまたは複数を含むユーザ登録情報であることを特徴とする記憶装置が提供される。
【0048】
本発明の第39の観点によれば、
端末装置が備える汎用インターフェースに対して着脱可能な記憶装置の制御方法であって、
記憶装置は、
端末装置によって択一的に認識される第1の記憶領域および第2の記憶領域と、
第1の記憶領域に記憶され、端末装置に認識される記憶領域を第1の記憶領域から第2の記憶領域へと切り替えるための切り替えプログラムと、
第1の記憶領域に記憶され、端末装置に記憶装置が接続されたときに切り替えプログラムを端末装置において起動させるための起動ファイルと、
を備え、
端末装置が記憶装置に接続されると、第1の記憶領域から起動ファイルを読み出して実行するステップと、
起動ファイルにしたがって切り替えプログラムを実行するステップと、
切り替えプログラムにしたがって端末装置に認識される記憶領域を第1の記憶領域から第2の記憶領域へと切り替えるステップと
を含むことを特徴とする制御方法が提供される。
【0049】
本発明の第40の観点によれば、
端末装置が備える汎用インターフェースに対して着脱可能であり、端末装置によって択一的に認識される第1の記憶領域および第2の記憶領域とを備えた記憶装置において、端末装置に接続されたときにコンピュータプログラムを端末装置において起動させるための起動ファイルとともに第1の記憶領域に記憶されたコンピュータプログラムであって、記憶装置が端末装置に接続されたことで第1の記憶領域から読み出された起動ファイルにしたがってコンピュータプログラムが端末装置によって起動されると、端末装置に認識される記憶領域を第1の記憶領域から第2の記憶領域へと切り替える切り替え手段として端末装置を機能させることを特徴とするコンピュータプログラムが提供される。
【0050】
本発明の第41の観点によれば、
切り替え手段は、第1の記憶領域に記憶されている情報漏洩防止プログラムを端末装置にインストールしてから、端末装置に認識される記憶領域を第1の記憶領域から第2の記憶領域へと切り替えることを特徴とするコンピュータプログラムが提供される。
【0051】
本発明の第42の観点によれば、
情報漏洩防止プログラムは、
記憶装置が端末装置から取り外されたことを検出する取り外し検出手段と、
記憶装置が端末装置から取り外されたことが検出されると、記憶装置から端末装置へとインストールされたプログラムおよびファイルをアンインストールする手段として、端末装置を機能させることを特徴とする観点22に記載のコンピュータプログラムが提供される。
【0052】
本発明の第43の観点によれば、
着脱可能な記憶装置を汎用インターフェースに接続する端末装置であって、
記憶装置は、
端末装置によって択一的に認識される第1の記憶領域および第2の記憶領域と、
第1の記憶領域に記憶され、端末装置に認識される記憶領域を第1の記憶領域から第2の記憶領域へと切り替えるための切り替えプログラムと、
第1の記憶領域に記憶され、端末装置に記憶装置が接続されたときに切り替えプログラムを端末装置において起動させるための起動ファイルと、
を備え、
端末装置は、
記憶装置が接続されると、第1の記憶領域から起動ファイルを読み出し、起動ファイルにしたがって切り替えプログラムを実行する手段と、
切り替えプログラムにしたがって端末装置から認識可能な記憶領域を第1の記憶領域から第2の記憶領域へと切り替える切り替え手段と
を含むことを特徴とする端末装置が提供される。
【0053】
第44の観点によれば、
情報漏洩防止プログラムは、ホワイトリストに登録されているファイル操作プログラムまたはメーラープログラムによるファイルの漏洩を防止するためにレジストリを一時的に変更するレジストリ変更手段として、端末装置を機能させることを特徴とする記憶装置が提供される。
【0054】
第45の観点によれば、
情報漏洩防止プログラムは、ホワイトリストに登録されているファイル操作プログラムによるファイルの漏洩を防止するために通信装置から外部へ送信されるファイルが情報漏洩対象ファイルであるか否かを監視し、情報漏洩対象ファイルが送信対象として指定されると、その送信を禁止する送信禁止手段として、端末装置を機能させることを特徴とする記憶装置が提供される。
【0055】
第46の観点によれば、
情報漏洩防止プログラムは、フレキシブルディスクドライブに書き込まれるファイルが情報漏洩対象ファイルであるか否かを監視し、情報漏洩対象ファイルが書き込み対象として指定されると、その書き込みを禁止する書き込み禁止手段として、端末装置を機能させることを特徴とする記憶装置が提供される。
【0056】
第47の観点によれば、
情報漏洩防止プログラムは、情報漏洩対象ファイルまたはその一部を端末装置のメモリ上で複製するためのダイアログの表示が指定されると、当該ダイアログの表示を禁止するダイアログ禁止手段として、端末装置を機能させることを特徴とする記憶装置が提供される。
【0057】
第48の観点によれば、
情報漏洩防止プログラムは、情報漏洩対象ファイルまたはその一部についての複数のウインドウ間でのドラックアンドドロップを監視し、ドラックアンドドロップが指定されると、その実行を禁止するドラックアンドドロップ禁止手段として、端末装置を機能させることを特徴とする記憶装置が提供される。
【0058】
第49の観点によれば、
情報漏洩防止プログラムは、クリップボードの使用を独占することで、情報漏洩対象ファイルまたはその一部を該クリップボードへコピーすることを防止するクリップボード独占手段として、端末装置を機能させることを特徴とする記憶装置が提供される。
【0059】
第50の観点によれば、
汎用インターフェースを介して情報処理装置と接続される記憶装置において、
第1の情報を格納する第1の記憶領域と、
編集可能な第2の情報を格納する読み出し書き込み可能な第2の記憶領域とを有し、
第1の情報は、
第2の情報の漏洩を防止するために第2の情報の取扱いを制御する情報漏洩防止プログラムと、
前情報漏洩防止プログラムを情報処理装置において起動させるための起動ファイルと
を含むことを特徴とする記憶装置が提供される。
【0060】
第51の観点によれば、
情報漏洩防止プログラムは、
情報処理装置が所定のサーバと接続可能か否かを判定する接続判定手段と、
情報処理装置が所定のサーバと接続可能であれば、所定のサーバから受信した第1の情報を第2の情報に適用し、情報処理装置が所定のサーバと接続可能でなければ、第1の記憶領域に記憶されている第1の情報を第2の情報に適用する情報切り替え手段
として情報処理装置を機能させることを特徴とする記憶装置が提供される。
【0061】
第52の観点によれば、
情報漏洩防止プログラムは、
単一の個人が記憶装置を使用するのどうかを判定する使用者判定手段と、
単一の個人が記憶装置を使用するのであれば、第1の記憶領域に記憶されている第1の情報を第2の情報に適用し、単一の個人が記憶装置を使用するのでなければ、所定のサーバから受信した第1の情報を第2の情報に適用する情報切り替え手段
として情報処理装置を機能させることを特徴とする記憶装置が提供される。
【0062】
第53の観点によれば、
情報漏洩防止プログラムは、
予め定められた単一の情報処理装置が記憶装置を使用するのか、予め定められた複数の情報処理装置が記憶装置を使用するのかを判定する判定手段と、
単一の情報処理装置が記憶装置を使用するのであれば、第1の記憶領域に記憶されている第1の情報を第2の情報に適用し、複数の情報処理装置が記憶装置を使用するのであれば、所定のサーバから受信した第1の情報を第2の情報に適用する情報切り替え手段
として情報処理装置を機能させることを特徴とする記憶装置が提供される。
【0063】
第54の観点によれば、
第1の情報は、
第2の情報を第2の記憶領域から読み出して不揮発性記憶手段へ格納することができる複数の情報処理装置の識別情報と、
複数の情報処理装置のそれぞれが第2の情報を第2の記憶領域から読み出して不揮発性記憶手段へ格納することができる時間帯を示す時間帯情報と
を含み、
情報漏洩防止プログラムは、
記憶装置が接続されている情報処理装置の識別情報に対応した時間帯情報に基づいて、情報処理装置による第2の情報の取扱いを制限することを特徴とする記憶装置が提供される。
【0064】
第55の観点によれば、
第1の情報は、
複数のユーザのそれぞれに対応した第2の情報の取扱いを規定したユーザ設定を含むことを特徴とする記憶装置が提供される。
【0065】
第56の観点によれば、
第1の情報は、
それぞれ一人以上のユーザからなるユーザグループごとに、第2の情報の取扱いを規定したユーザ設定を含むことを特徴とする記憶装置が提供される。
【発明の効果】
【0066】
第1、第18ないし第21、及び第50の観点によれば、汎用インターフェースを介して記憶装置が接続可能な情報処理装置から、記憶装置にある重要な情報が漏洩することを防止できる。
【0067】
第2の観点によれば、情報漏洩防止プログラムを起動するためのユーザの負担を軽減することができる。
【0068】
第3の観点によれば、情報の漏洩防止に必要となる情報を最新の情報に維持しやすくなる。情報の漏洩防止に必要となる情報をサーバから遠隔的に更新できるため、記憶装置のセキュリティに関する管理に柔軟性をもたらすことができる。
【0069】
第4の観点によれば、更に対象者以外に漏洩することを防止できる。
【0070】
第5の観点によれば、情報処理装置において第2の情報を閲覧可能にしつつ、ハードディスクなどの不揮発性の記憶装置への格納を禁止することができる。
【0071】
第6の観点によれば、情報処理装置において編集された第2の情報を第2の記憶領域に格納することが可能となる。これにより、情報漏洩を抑制しつつ、第2の情報を様々な情報処理装置を用いて更新することが可能となる。
【0072】
第7の観点によれば、情報処理装置から記憶装置が取り外されると、第1の情報および第2の情報を情報処理装置からアンインストールすることで、情報漏洩を抑制できる。
【0073】
第8の観点によれば、第2の情報の格納先が特定されている場合、第2の情報を第2の記憶領域以外を格納先とすることができる。例外的に、第2の情報の格納先が特定されていれば、その格納先への情報の格納を許容することで、使用者の利便性が確保されよう。
【0074】
第9の観点によれば、情報処理装置を通じて第2の情報をネットワーク上に配信することを可能にできる。
【0075】
第10の観点によれば、第2の情報が情報処理装置内に格納されることを禁止できUSBメモリのデータを残したまま放置するのを防止できる。
【0076】
第11の観点によれば、情報処理装置のプログラム動作を監視、制御を行う手段がカーネルモードにて動作するため、情報漏洩をコンピュータ上効率良く防止できる。
【0077】
第12の観点によれば、レジストリの変更があった場合、レジストリを変更前の情報に戻すことで、情報漏洩やレジストリの改ざんを抑制できる。
【0078】
第13の観点によれば、第2の情報が、メール送信されたり壁紙として使用されたりして情報漏洩することを抑制できる。
【0079】
第14ないし第15の観点によれば、情報漏洩を引き起こす可能性のあるデバイスを予め無効化することで、情報漏洩を抑制できる。
【0080】
第16ないし第17の観点によれば、ダイアログ表示、ドラックアンドドロップ、クリップボードなど、第2の情報の全部又はその一部の情報漏洩を招く動作を抑制することができる。
【0081】
第19、20の観点によれば、複数のユーザが情報処理装置を利用する場合他人のデータファイルを誤って漏洩するのを防止できる。
【0082】
本発明の第22、第39、第40および第43の観点によれば、記憶装置を端末装置に接続すると、自動的に、記憶領域が切り替えられるため、ユーザの負担が軽くなるだろう。すなわち、第1の記憶領域および第2の記憶領域は、端末装置によって択一的に認識されるため、端末装置への影響も軽減しよう。
【0083】
第23の観点によれば、第1の記憶領域を読み出しのみ可能とし、第2の記憶領域を読み出しおよび書き込みとも可能とすることで、情報漏洩の防止が期待できる。一般に、機密情報等は、読み出しおよび書き込みとも可能な第2の記憶領域に記憶される、そゆれえ、切り替えプログラムがインストールされなければ、機密情報等が記憶された第2の記憶領域が端末装置によって認識されないからである。
【0084】
第24の観点によれば、広く普及したautorun.infファイルが利用されるため、簡単で精度良く、かつ低コストで記憶装置を提供できる。
【0085】
第25の観点によれば、複数の記憶領域がパーティションによって実現されるため、記憶装置が備えるメモリなどのハードウエアに依存することなく、本願発明を実現できる。また、第2の記憶領域についてはサイズを変更したり、パーティションを分割したりすることも容易となる利点もある。
【0086】
第26の観点によれば、第1および第2の記憶領域が物理的に異なるメモリ上に確保されるため、第2の記憶領域を除き見ることを抑制しやすくなる。パーティション技術により複数の記憶領域を確保すると、パーティションを可視状態にすることで、複数の記憶領域が同時に端末装置に認識されてしまう。よって、物理的にメモリを切り替える構成を採用すれば、複数の記憶領域を同時に認識させることは極めて困難となる。
【0087】
第27の観点によれば、論理ユニット番号を変更するだけで、比較的簡単に、記憶領域の切り替えを実現できる。
【0088】
第28の観点によれば、ドライブレターが維持されるようになるため、ユーザは、記憶領域が変更されたことを気にしなくて済む。また、ドライブレターが枯渇しにくくなる。
【0089】
第29および第41の観点によれば、情報漏洩防止プログラムが端末装置にインストールされてから第2の記憶領域が認識可能となるため、第2の記憶領域に関する情報漏洩を抑制しやすくなる。すなわち、情報漏洩防止プログラムがインストールされなければ、第2の記憶領域が認識可能とならないからである。
【0090】
第30および第42の観点によれば、記憶装置が端末装置から外されたときは、関連するプログラムやファイルがすべて削除されるため、情報の漏洩が抑制される。
【0091】
第31の観点によれば、ホワイトリストに登録されていないプロセスが第2の記憶領域にアクセスすることを制限できるため、意図しないプロセスによって情報が漏洩する事態を抑制できる。
【0092】
第32の観点によれば、ブラックリストに登録されているプロセスはアクセスを禁止されるため、悪質なウイルス等から記憶装置や端末装置を保護しやすくなる。
【0093】
第33の観点によれば、ホワイトリストにもブラックリストにも登録されていないプロセスが第2の記憶領域にアクセスすることを限定できるため、ユーザが意図的に許可したプロセス以外のアクセスを制限できる。
【0094】
第34の観点によれば、認証が成功しなければ、第2の記憶領域へのアクセスが許可されないため、情報漏洩の可能性をさらに低減できる。
【0095】
第35の観点によれば、認証が成功しなければ、第2の記憶領域へのアクセスの制限が解除されないため、情報漏洩の可能性をさらに低減できる。
【0096】
第36の観点によれば、認証情報が何も登録されていないときは認証情報を初期登録することが可能となる。
【0097】
第37および38の観点によれば、端末装置やユーザの固有情報が使用されるため、認証処理のセキュリティを高めることが期待される。
【0098】
第44の観点によれば、ホワイトリストに登録せざるを得ないファイル操作プログラムによるファイルの漏洩についても防止できるようになる。
【0099】
第45の観点によれば、ホワイトリストに登録せざるを得ないファイル操作プログラムによる通信装置を介したファイルの漏洩についても防止できるようになる。
【0100】
第46の観点によれば、特殊な状況下で発生しうるフレキシブルディスクドライブを通じたファイルの漏洩を防止できる。
【0101】
第47の観点によれば、所定のダイアログの表示を禁止することで、情報漏洩対象ファイルまたはその一部が端末装置のメモリ上での複製を防止できる。
【0102】
第48の観点によれば、情報漏洩対象ファイルまたはその一部についての複数のウインドウ間でのドラックアンドドロップによる情報漏洩を防止できる。
【0103】
第49の観点によれば、クリップボードの使用を独占することで、情報漏洩対象ファイルまたはその一部をクリップボードへコピーすることを防止できるようになる。
【0104】
第51の観点によれば、サーバと接続可能であればサーバに保持されている情報にしたがって情報漏洩を防止でき、サーバと接続可能でなければ記憶装置に情報にしたがって情報漏洩を防止できる。例えば、サーバと接続できないような環境では、より厳格なアクセス制限を適用することが可能となる。
【0105】
第52及び第53の観点によれば、単一の個人が使用するのか、複数の個人からなるグループが使用するのかに応じて、セキュリティレベルを変更することが可能となる。
【0106】
第54の観点によれば、記憶装置が情報処理装置に接続されている時間帯に応じてセキュリティレベルを変更することが可能となる。
【0107】
第55の観点によれば、複数のユーザが記憶装置を使用する場合に、ユーザごとにセキュリティレベルを変更することが可能となる。
第56の観点によれば、ユーザグループごとに、セキュリティレベルを変更することが可能となる。
【図面の簡単な説明】
【0108】
【図1】本発明に係る記憶装置の実施形態であるUSBストレージデバイスとそれに接続される端末装置とを示す概略構成図である。
【図2】実施例1に係るフラッシュメモリ15に確保された記憶領域および当該記憶領域へ記憶されているデータ、ソフトウエア、インストーラの一例を示した図である。
【図3】実施例に係る領域変更処理の一例を示したフローチャートである。
【図4】実施例に係る端末装置が取得した記憶領域の管理情報の一例を示す図である。
【図5】実施例に係る端末装置が取得した記憶領域の管理情報の一例を示す図である。
【図6】実施例に係る端末装置によって認識された第1の記憶領域の一例を示す図である。
【図7】実施例に係る端末装置によって認識された第2の記憶領域の一例を示す図である。
【図8】実施例に係るUSBストレージデバイス10が端末装置20から外されたときに実行されるアンインストール処理の一例を示すフローチャートである。
【図9】実施例に係るLUNの管理情報(管理テーブル)の一例を示す図である。
【図10】LUNを書き換える前の管理テーブル(初期値)を示す図である。
【図11】LUNを書き換えた後の管理テーブルを示す図である。
【図12】実施例に係る管理テーブル(初期値)の一例を示す図である。
【図13】実施例に係る管理テーブル(書き換え後)の一例を示す図である。
【図14】実施例に係る記憶装置の記憶内容と端末装置の記憶内容との一例を示す図である。
【図15】実施例3に係る記憶領域の切り替え方法の一例を示したフローチャートである。
【図16】ホワイトリストの一例を示す図である。
【図17】ブラックリストの一例を示す図である。
【図18】利用制限機能の動作の一例を示したフローチャートである。
【図19】カーネル部が処理するイベントの一例を示す図である。
【図20】カーネル部が開始されてから定常状態に至るまでのシーケンスを示した図である。
【図21】図19に示した3番目のイベントの動作を示したフローチャートである。
【図22】図19に示した4番目のイベントの動作を示したフローチャートである。
【図23a】図19に示した5番目のイベントの動作を示したフローチャートである。
【図23b】図19に示した6番目のイベントの動作を示したフローチャートである。
【図24】実施例4に係るユーザ部での制御手段及びその代表例と制御理由を示す一覧表である。
【図25】実施形態に係るグループ管理の一例を示したシーケンス図である。
【図26】サーバ装置のHDD25に記憶されるUSBメモリ固有値テーブルを示した図である。
【図27】サーバ装置のHDD25に記憶されるPC固有値テーブルを示した図である。
【図28】サーバ装置のHDD25に記憶されるユーザテーブルを示した図である。
【図29】サーバ装置のHDD25に記憶されるグループテーブルを示した図である。
【図30】ホストPC登録情報18−1を適用する端末装置20の動作の一例を示したフローチャートである。
【図31】ホストPC登録情報18−1の登録を示したシーケンス図である。
【図32】ホストPC登録情報18−1の登録を行うまでの変形例を示したシーケンス図である。
【発明を実施するための形態】
【0109】
以下に本発明の一実施形態を示す。以下で説明される個別の実施形態は、本発明の上位概念、中位概念および下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
【0110】
図1は、本発明に係る記憶装置の実施形態であるUSBストレージデバイスとそれに接続される端末装置とを示す概略構成図である。ここでは、汎用インターフェースであるUSBインターフェースにメモリを一体化したUSBストレージデバイスについて説明するが、本発明は、メモリ以外の記憶媒体を採用するUSBストレージデバイスに適用できる。また、端末装置とのインターフェースもUSBインターフェースに限定されることはなく、IEEE1394、ワイヤレスUSBなどであってもよい。
【0111】
USBストレージデバイス10は、端末装置が備える汎用インターフェースに対して着脱可能な記憶装置の一例であり、コントローラ12、USBインターフェース13、発光ダイオード(LED)14、フラッシュメモリ15、指紋認証デバイス11を備えている。
【0112】
コントローラ12は、メモリ制御部12−1、メモリ情報記憶部12−2、USBインターフェース制御部12−3、および、LED制御部12−4を備える。メモリ制御部12−1は、USBインターフェース13を介して受信した命令に従って、フラッシュメモリ15に対してデータの読み出し、書き込みおよび削除を実行する。メモリ情報記憶部12−2は、フラッシュメモリ15に確保された複数の記憶領域に関する情報(例:パーティションのサイズ、ドライブレターなど)を記憶する。USBインターフェース制御部12−3は、後述するUSBインターフェース13の各部を制御する。LED制御部12−4は、後述するLED14の発光を制御する。
【0113】
USBインターフェース13は、USBバス31を介して、パーソナルコンピュータなどの端末装置20と通信を行う。USBインターフェース13は、パケット送受信部13−1、シリアルパラレル変換部13−2、パケット生成分解部13−3、および、USBバスパワー制御部13−4とを備える。パケット送受信部13−1は、図示しないUSBコネクタと接続され、USB規格に基づいたパケットを送受信する。シリアルパラレル変換部13−2は、シリアルデータとパラレルデータとを相互に変換する。パケット生成分解部13−3は、端末装置と通信を行うためのパケットの生成およびパケットを分解してデータの取り出しを行う。USBバスパワー制御部13−4は、端末装置から供給される電力の管理およびUSBストレージデバイス10の各部への電力の配分を行う。
【0114】
LED14は、フラッシュメモリ15に対してファイルの読み出し、書き込み、削除が実行されている際に点灯する発光体である。フラッシュメモリ15に対してファイルの読み出し、書き込みおよび削除が実行中であることを利用者に示す。
【0115】
フラッシュメモリ15は、記憶保持動作が不要な半導体メモリであり、ファイルや情報を記憶することができる。記憶したデータは、メモリ制御部12−1によって読み出し、書き込み、削除をすることもできる。フラッシュメモリ15は、記憶保持動作が必要な他の記憶素子に置換されてもよい。
【0116】
指紋認証デバイス11は、指紋を読み取ることで使用者認証を行うデバイスである。指紋認証デバイス11は、他のバイオメトリクスを実行する認証デバイスに置換されてもよい。この指紋認証デバイス11についてはいわゆるオプションであって、指紋認証を使用者認証に含めない場合には不要である。一方で、指紋認証デバイス11がUSBストレージデバイス10に搭載されているからといって使用者認証が指紋認証に限定される必要もない。すなわち、指紋認証デバイス11は認証機能を無効とされてもよいし、無効に加えて、他の認証方法が採用されてもよい。例えば、端末装置に付与されているMACアドレス、型式番号、製造番号およびIPアドレスのうち1つまたは複数を含む端末装置登録情報を予めフラッシュメモリ15に記憶しておき、端末装置20から受信した情報と比較することで、認証を実行してもよい。また、ユーザを特定するための識別子、パスワード、暗証番号、バイオメトリクス情報のうち1つまたは複数を含むユーザ登録情報を予めフラッシュメモリ15に記憶しておき、端末装置20から受信した情報と比較することで、認証を実行してもよい。なお、一般的な指紋認証デバイスには、内部で認証を済ませ端末装置側へ認証結果を送信するものと、指紋データを端末装置側に送信して端末装置側で認証を行うものとがある。本発明では、どちらが採用されてもよい。
【0117】
端末装置20は、USBストレージデバイス10の接続先であり、例えば、パーソナルコンピュータである。端末装置20は、例えば、CPU21、ROM22、RAM23、ディスクコントローラ24、ハードディスクドライブ(HDD)25、CD/DVDドライブ26、モニタ27、ポインティングデバイス28、USBインターフェース29、システムバス30を備えている。
【0118】
CPU21は、ROM22やHDD25に記憶されているコンピュータプログラムに基づいて各部を制御するプロセッサである。RAM(Random Access Memory)23は、ワークエリアとして機能する。ROM(Read Only Memory)22は、不揮発性の記憶素子であり、ファームウエアなどを記憶する。ディスクコントローラ24は、HDD25、CD/DVDドライブ26に対する読み書きを制御する。HDD25には、オペレーティングシステム、アプリケーションプログラムなどが記憶されている。なお、USBストレージデバイス10から転送される、記憶領域の切り替えプログラムや情報漏洩防止プログラムなどもHDD25に格納される。CPU21と各部は、システムバス30を介して命令やデータの送受信を実行する。
【0119】
USBインターフェース29は、USBバス31を介してUSBストレージデバイス10内部のUSBインターフェース13と接続する。すなわち、USBバス31を介して端末装置20とUSBストレージデバイス10とが双方向にデータの送受信を行う。
【0120】
以降の説明では、端末装置20がパーソナルコンピュータであることを前提にしているが、端末装置20が一般的なパーソナルコンピュータと同等以上、若しくはそれに準ずる演算処理能力を有する機器であるならばその種類、機種は限定されるものではない。例えば、ネットワークを介さない情報処理装置であってもよい。
【0121】
[実施例1]
図2は、実施例1に係るフラッシュメモリ15に確保された記憶領域および当該記憶領域へ記憶されているデータ、ソフトウエア、インストーラの一例を示した図である。とりわけ、実施例1では、端末装置20によって択一的に認識される第1の記憶領域16および第2の記憶領域17とがUSBストレージデバイス10に確保される。このように複数の記憶領域を確保する方法はいくつか存在する。
【0122】
例えば、単一のデバイスであるフラッシュメモリ15を、ソフトウエア上で二つの領域(第1の記憶領域16、第2の記憶領域17)に分割する方法がある。なお、読み出しのみ可能な領域を第1の記憶領域16とし、読み出し、書き込みが可能な領域を第2の記憶領域17をとする。
【0123】
領域を分割する2つ目の方法は、複数のフラッシュメモリを必要に応じてソフトウエア上で分割して二つの記憶領域を確保する方法である。例えば、4つのフラッシュメモリ素子がある場合、1つめフラッシュメモリ素子を第1の記憶領域16とし、残りの3つのフラッシュメモリ素子を第2の記憶領域17に割り当ててもよい。
【0124】
なお、端末装置20のCPU21(オペレーティングシステム:OS)から複数の領域を選択的に認識する方法としては、LUN(論理ユニット番号)を使用する方法がある。LUNは、1つのターゲットでありながら、複数のアクセス可能な論理装置を有するデバイスにおいて、各論理装置を識別するために付与されるアドレス(広義)のことである。OS(およびそのドライバ、以下同様)は、1つのLUNを割り振った論理ドライブを、ドライブレターを付与した1つの物理ドライブとして認識する。単一のデバイスへ複数のLUNを割り振ればその割り振られたLUNの数だけ物理ドライブを作成できる。
【0125】
本発明においては、複数のアクセス可能な論理装置(第1の記憶領域、第2の記憶領域、(秘匿領域))にそれぞれLUNを割り当てることで、一つのターゲットであるUSBストレージデバイスを複数の論理ドライブ(物理ドライブ)を有するデバイスとしてOSに認識できるようにしている。
【0126】
複数の記憶領域のうち、第1の記憶領域16は、USBストレージデバイス10が端末装置20に接続された際にデフォルトで認識される記憶領域であり、その内部にはソフトウエア部16−1aと、自動インストーラ16−2が記憶されている。
【0127】
ソフトウエア部16−1aは、1つ以上のアプリケーションプログラム、その設定ファイルなど、複数のコンピュータプログラムおよびその他のファイルを含む。アプリケーションプログラムには、少なくとも、端末装置20が認識する記憶領域を切り替える記憶領域変更プログラムが含まれる。すなわち、記憶領域変更プログラムは、第1の記憶領域16に記憶され、端末装置20に認識される記憶領域を第1の記憶領域16から第2の記憶領域17へと切り替えるコンピュータプログラムである。
【0128】
自動インストーラ16−2は、ソフトウエア部16−1aを端末装置20へインストール(格納)するインストーラプログラム(例:autorun.infやsetup.exe)である。これらソフトウエア部16−1aと自動インストーラ16−2は連動してインストール動作が行えるものであればよい。すなわち、ソフトウエアの記憶形式は特に本発明にとって重要ではなく、自動インストーラ16−2もソフトウエア部16−1aを端末装置20へインストールできるのであれば形式を問わない。
【0129】
例えば、ソフトウエア部16−1aが書庫形式等で圧縮された1つのファイルである場合、autorun.infなどの起動ファイルにしたがってCPU21が自動インストーラ16−2を起動する。autorun.infなどの起動ファイルは、第1の記憶領域17に記憶され、端末装置20に記憶装置(USBストレージデバイス10)が接続されたときに切り替えプログラムを端末装置20において起動させるためのソフトウエアである。
【0130】
起動した自動インストーラ16−2は、圧縮されたソフトウエア部16−1aを解凍し、HDD25のディレクトリへ展開する。一方、ソフトウエア部16−1aが無圧縮で記憶されているのであれば、起動した自動インストーラ16−2は、ソフトウエア部16−1aをそのまま端末装置20のHDD25にコピーする。
【0131】
一方、ソフトウエア部16−1aは自己解凍形式の実行ファイルであってもよい。この場合、autorun.infなどの起動ファイルを除き、自動インストーラ16−2を不要にできる利点がある。以下の実施例では、ソフトウエア部16−1aのインストールに自動インストーラ16−2が必要であるということを前提に話を進める。
【0132】
第2の記憶領域17は、使用者が接続した端末装置20を操作し使用するデータ(例:文書ファイル、画像ファイル、プログラムファイル等)である、ユーザ使用ファイル17−1が格納されている。
【0133】
HDD内記憶領域25−1は、端末装置20が備えるHDD25に確保された記憶領域である。ソフトウエア部25−2aは、第1の記憶領域16内にあるソフトウエア部16−1aが、HDD内記憶領域25−1へインストールされたものである。ソフトウエア部25−2aは、プログラム実行部25−4aを含む。プログラム実行部25−4aは、例えば、記憶領域変更プログラム、USBストレージデバイス10が外された際のソフトウエアの一部または全部を削除する自動アンインストールプログラム、および、ソフトウエア部25−2aに含まれるアプリケーションプラグラムの動作確認等を行うチェックプログラムなどである。チェックプログラムが必要な理由は次の通りである。本実施例では、USBストレージデバイス10に記憶されているアプリケーションプログラムのインストールをオートランで自動的に行うため、インストール失敗時に手動で再インストールすることが困難である。そこで、正常にインストールできているかどうかをチェックするチェックプログラムが必要となる。正常にインストールできていないときは、チェックプログラムは、自動インストーラ16−2を再度起動する。
【0134】
図3は、実施例に係る領域変更処理の一例を示したフローチャートである。領域変更処理は、端末装置20にUSBストレージデバイス10が接続されると開始される。
【0135】
ステップS301で、端末装置20のOS(CPU21)は、USBバス31を介して接続されたUSBストレージデバイス10のコントローラ12と通信を開始する。ここでまずOSは、USBストレージデバイス10を制御するためのデバイスドライバが有するデバイス情報取得コマンドによって、USBストレージデバイス10のデバイス情報を取得する。例えば、OSからの指令はデバイスドライバを介してSCSIコマンド等に変換されてUSBコントローラによって行われる。USBストレージデバイス10のコントローラ12は、USBインターフェース13を介してこのコマンドを受け取り、コントローラ12が記憶しているデバイス情報を返答する。
【0136】
このデバイス情報取得コマンドは、例えば、Get_Descriptorコマンド(USB標準デバイスに含まれるUSB規格のコマンド)に代表されるコマンドである。USBストレージデバイス10から端末装置20へ送信されるデバイス情報は、例えば、接続されたUSB機器(USBストレージデバイス10)のディスクリプタである。ディスクリプタは、図示されないUSBストレージデバイス10の管理領域に格納されている。以降はUSB規格コマンドおよびSCSIコマンドを中心に話を進めるが、もちろんATAPIなど、サブクラスとして定義かつ使用可能なものであれば何でもよい。また、サブクラス毎に途中に公知の一つ以上のコマンド変換手段を介してコマンドの送受信を行ってもよい。
【0137】
ステップS302で、OS(CPU21)は、SET Addressコマンドに代表されるアドレス設定コマンド(USBストレージデバイス10のアドレスを問い合せるコマンド)をUSBストレージデバイス10に送信し、USBストレージデバイス10からアドレス設定を受信する。以降で、OSは、受信したアドレス設定にしたがってフレームを送信する。
【0138】
ステップS303で、OS(CPU21)は、「Get Max Logical Unit Number API」コマンドに代表される論理ドライブ数取得コマンドにて、論理ユニット番号(LUN)の値をUSBストレージデバイス10から取得する。デフォルトで、USBストレージデバイス10のコントローラ12は、第1の記憶領域16の論理ユニット(LUN)の値が1であることを示す情報を返信する。
【0139】
ステップS304で、OS(CPU21)は、Inquiryコマンド(これはSCSIのコマンド)に代表されるフォーマット情報取得コマンドを用いて第1の記憶領域16のフォーマット情報を得る。USBストレージデバイス10のコントローラ12は、フォーマット情報としてCD−ROMであることを示すISO 9660を返信する。OSは、受信したフォーマット情報(例:ISO 9660)により、第1の記憶領域16がCD−ROMドライブであることを認識する。
【0140】
図4は、実施例に係る端末装置が取得した記憶領域の管理情報の一例を示す図である。図4によれば、第1の記憶領域のLUNが0であり、フォーマットがISO9660であり、OSから認識可能であり、クラスがマスストレージであり、サブクラスがSCSIであることが示されている。
【0141】
図4によれば、第2の記憶領域17にはLUNが設定されていないため、ドライブとしてOS側から認識されないようになっている。
【0142】
ステップS305で、OS(CPU21)は、ドライブとして認識した第1の記憶領域16から自動インストーラ16−2を起動し、起動した自動インストーラ16−2にしたがってソフトウエア部16−1aをHDD25の記憶領域25−1へインストールする。例えば、CPU21は、OSにしたがってautorun.infを読み出してそこに記述されている自動インストーラを起動する。ここでは自動インストールの例としてオートランインストールを用いたが、他の自動インストール技術を用いてもかまわない。
【0143】
なお、この際にインストールされるファイルは、ソフトウエア部16−1aの一部だけでもよい。プログラムやソフトウエアがすべてインストールされない一つの例としては、期間限定配布のプログラムをソフトウエア部16−1aに記憶させておいて、インストールの際に接続先PCの日時をチェックして配布期間内であればインストールを続行、期間外であれば当該プログラムに関してはインストールを行わない、といった例が考えられる。
【0144】
ステップS306で、OS(CPU21)は、起動した自動インストーラ16−2にしたがって、ソフトウエア部25−2aに含まれる記憶領域変更プログラム(プログラム実行部25−4a)を起動する。
【0145】
ステップS307で、記憶領域変更プログラム(CPU21)は、記憶領域の切り替えを開始する。例えば、CPU21は、第1の記憶領域と第2の記憶領域の認識フラグ(認識可/不可)を書き換えるための認識フラグ書換命令をUSBストレージデバイス10へ送信する。USBストレージデバイス10のコントローラ12は、認識フラグ書換命令を受信すると、第1の記憶領域16の認識フラグを認識不可に書き換え、第2の記憶領域17の認識フラグを認識可に書き換える。さらに、コントローラ12は、第1の記憶領域16のLUNを「0」から「null」に書き換えた後、第2の記憶領域17のLUNを「null」から「0」へ書き換える。これによって、第1の記憶領域16が開放され、第2の記憶領域17が端末装置20のOSから認識されるようになる。
【0146】
図5は、実施例に係る端末装置が取得した記憶領域の管理情報の一例を示す図である。図5によれば、第2の記憶領域の認識フラグが「可」に変更され、LUNも「0」に割り当てられている。反対に、第1の記憶領域の認識フラグが「不可」に変更され、LUNも「null」に割り当てられている。
【0147】
ステップS308で、記憶領域変更プログラム(CPU21)は、第1の記憶領域16のドライブレターと第2の記憶領域17とのドライブレターとを同一にするか否かを判定する。同一にするか否かは、予め設定ファイルなどに記憶されているものとする。例えば、OS(CPU21)が管理しているLUNの一覧に、同一のドライブレターとするか否かの設定項目を設け、その設定項目を予めユーザの希望に応じて設定する。
【0148】
同一のドライブレターにする場合は、ステップS309に進み、異なるドライブレターにする場合は、ステップS310に進む。
【0149】
ステップS309で、記憶領域変更プログラム(CPU21)は、ドライブレターの同一化処理を実行する。例えば、MS−DOSのコマンドである「Subst」コマンドを記述したバッチファイルでドライブレターを固定する。このバッチファイルもUSBストレージデバイス10に予め記憶されているものとする。一方で、記憶領域変更プログラム(CPU21)がダイアログをモニタ27に表示し、同一のドライブレターを記憶するか否かをユーザに問い合せ、その問い合せ結果に基づいて同一化処理を実行してもよい。また、記憶領域変更プログラム(CPU21)は、割り当てるドライブレターをユーザに問い合せ、キーボードなどの入力装置から入力されたドライブレターを第2の記憶領域17に割り当ててもよい。この場合、ユーザは、第1の記憶領域16に割り当てられていたドライブレターを入力してもよい。
【0150】
ステップS310で、記憶領域変更プログラム(CPU21)は、第1の記憶領域16の認識を開放する。例えば、CPU21も、OS側に記憶されている第1の記憶領域16のLUNを「0」から「null」に書き換える。これにより、OSは、第1の記憶領域16の認識ができなくなる。
【0151】
ステップS311で、記憶領域変更プログラム(CPU21)は、第2の記憶領域17の認識処理を開始する。例えば、CPU21は、第2の記憶領域17のLUNを「null」から「0」へ書き換える。これにより、OSは、第2の記憶領域16を認識できるようになる。
【0152】
図5によれば、OSは、第2の記憶領域17をFATでフォーマットされたリムーバブルディスクドライブであると認識する。このリムーバブルディスク領域にはユーザ使用ファイル17−1が含まれている。
【0153】
ここでが、CD−ROM領域として認識されるフォーマット情報としてISO9660をあげ、リムーバブルディスク領域として認識されるフォーマット情報としてFATを挙げたが、もちろんこれらは一例にすぎない。
【0154】
本実施例では、LUNおよび認識フラグを書き換えることで記憶領域の切り替えを実行しているが、USBストレージデバイス10の内部にある管理情報を直接的または間接的に用いて第1の記憶領域16の認識を開放して第2の記憶領域17を認識させてもよい。例えば、USBデバイスの解放コマンドを第1の記憶領域16へ適用し、その直後に初期化コマンドを第2の記憶領域17へ適用すれば、記憶領域を切り替えることができる。
【0155】
また、管理情報を予め二つ用意しておいて、最初にUSBストレージデバイス10が端末装置20に接続されたときは一つ目の管理情報が使用され、自動インストールにおいて二つ目の管理情報に変更されてもよい。なお、LUNの値、最初に読み込まれる管理情報は毎回リセットされるものとする。これは、OSが取得した第一の記憶領域16および第二の記憶領域17に関する情報が、このUSBストレージデバイス10が端末装置20から外されたときにアンインストールされ、その後の再接続の際にOSが再びUSBストレージデバイス10の情報を取得するからである。
【0156】
以上説明したように、本実施例によれば、端末装置20において擬似的にCD−ROMドライブとリムーバブルディスク等が入れ替わる形となる。つまり、USBストレージデバイス含まれるCD−ROM領域とリムーバブル領域は同時に認識されることはない。また、CD−ROM領域とリムーバブル領域のドライブレターが同一であれば、一つの追加されたドライブがCD−ROM領域からリムーバブル領域に入れ替わったように、ユーザには擬似的に認識させることができる。
【0157】
図6は、実施例に係る端末装置によって認識された第1の記憶領域の一例を示す図である。図7は、実施例に係る端末装置によって認識された第2の記憶領域の一例を示す図である。両者を比較すると、実際の記憶領域が切り替わっているにもかかわらず、ドライブレターが一致していることがわかる。記憶領域が切り替わっていることは、記憶されているファイルの内容が異なっているため、理解できよう。
【0158】
図8は、実施例に係るUSBストレージデバイス10が端末装置20から外されたときに実行されるアンインストール処理の一例を示すフローチャートである。ここでは、上述した自動インストーラが常駐しており、自動インストーラがアンインストール処理を実行するものとする。
【0159】
ステップS801で、自動インストーラ(CPU21)は、USBストレージデバイス10が端末装置20から外されたか否かを監視する。外されたことを検出すると、ステップS802へ進む。このように、CPU21は、記憶装置が端末装置から取り外されたことを検出する取り外し検出手段の一例である。
【0160】
ステップS802で、CPU21は、USBストレージデバイス10が備えるフラッシュメモリ15の記憶領域に記憶されているファイルを使用しているアプリケーションプログラムが動作中でないかどうかをチェックする。動作中のアプリケーションプログラムが残っていればステップS803に進み、動作中のアプリケーションプログラムが残っていなければステップS804に進む。
【0161】
ステップS803で、CPU21は、動作中のアプリケーションプログラムをすべて終了させる。この際に、CPU21は、自動終了を示すダイアログ等をモニタ27に表示してもよい。例えば、「記憶装置が引き抜かれました、このアプリを強制終了します」というダイアログが表示される。
【0162】
ステップS804で、CPU21は、USBストレージデバイス10の記憶領域のファイルを操作するアクティブなウインドウが残っているか否かをチェックする。アクティブなウインドウが残っていればステップS805に進み、アクティブなウインドウが残っていなければステップS806に進む。
【0163】
ステップS805で、CPU21は、ウインドウ操作を自動終了(ウインドウをクローズ)する。このの際にも、ウインドウをクローズすることを示すダイアログがモニタ27に表示されてもよい。
【0164】
ステップS806で、CPU21は、USBストレージデバイス10から端末装置20へインストールさされたプログラムやファイルをアンインストール(削除)する。アンインストールは、自動インストーラが備える削除機能が利用されてもよい。また、USBストレージデバイス10から端末装置20へコピーされたファイルもCPU21が自動的に削除する。なお、RAM23に記憶されている第2の記憶領域17からのファイルデータは編集されてRAM23に記憶し直しがなされる。そしてユーザによりUSBストレージデバイス10への記憶を指示するとこの編集済みのデータがUSBストレージデバイス10の領域2に記憶され上書きもしくは新たに格納される。USBストレージデバイス10を外すとRAM23のデータはクリアされる。また、RAM23のデータによる文書や画像は編集前・編集後、モニタ27により閲覧ができる。後述するがUSBストレージデバイス10により端末装置20が対象ホストとして登録されたものでない場合は、RAM23のデータによる文書や画像は閲覧ができてもHDD25には格納保存されないし、メールでネットワークへ送信することもできない。従ってUSBストレージデバイス10を端末から外すと端末にも他のところにも何も残らないので、USBストレージデバイス10のデータが複製や漏洩がされることはない。
【0165】
例えば、必要なプログラムやファイルがすべて「Soft−a」というディレクトリに収められており、自動インストール作業がディレクトリ「Soft−a」を丸ごとコピーしたものであったとする。例えば E:¥Soft−a ⇒ C:¥Program Files¥Soft−a。この場合、CPU21は、このディレクトリ(C:¥Program Files¥Soft−a)を削除する。これは自動解凍書庫(例えば Soft−b.exe を解凍してディレクトリSoft−bが生成され、C:¥Program Files¥Soft−bへコピーされる等)の場合でも同様である。
【0166】
なお、一部のファイルやプログラムについては削除やアンインストールの対象から除外してもよい。例えば、USBストレージデバイス10が動画ファイルに代表されるマルチメディアファイルの配布に用いられ、第1の記憶領域16に専用プレーヤー(ソフトウエア)を、第2の記憶領域17に動画ファイルをインストールさせておくものと仮定する。さらに、後日、専用プレーヤー対応の動画をwebで配信するサービスを提供する場合、専用プレーヤーをアンインストールせずに残しておくという運用例が考えられる。
【0167】
本実施形態において、第1の記憶領域に記憶させておくソフトウエアは端末装置20に自動インストールして実行できるものであれば何でもよい。例えば、動画ファイルを端末装置20で視聴するための再生ソフトおよび動画ファイルの再生に必要なコーデックセットをUSBストレージデバイス10に記憶しておき、これらを自動インストールする。また、第2の記憶領域には、例えば、映画のダイジェスト動画やゲームのトレーラー動画を記憶させておいて、使用者に視聴させる、といった運用も考えられる。これらは一例にすぎず、本発明は、アプリケーションが何であるかに依存することはない。
【0168】
以上説明したように、端末装置20は、USBストレージデバイス10が接続されると、第1の記憶領域16から起動ファイルを読み出して実行することで切り替えプログラムを起動し、端末装置に認識される記憶領域を第1の記憶領域から第2の記憶領域17へと切り替える切り替え手段として機能する。また、CPU21は、記憶装置が端末装置から取り外されたことが検出されると、記憶装置から端末装置へとインストールされたプログラムおよびファイルをアンインストールする手段の一例である。
【0169】
[実施例2]
上述した実施例では、認識可能な記憶領域を切り替えるために、LUNの変更と認識フラグの変更とを用いたが、いずれか一方のみでもよい。
【0170】
まず、USBストレージデバイス10におけるLUNの管理方法について説明する。LUNはUSBストレージデバイス10の内部にあるコントローラ12の中にテーブルとして管理されている。
【0171】
図9は、実施例に係るLUNの管理情報(管理テーブル)の一例を示す図である。この例では、3つの記憶領域A、B、CがUSBストレージデバイス10に設けられているものとする。図9からわかるように、LUNは記憶領域ごとに割り振られている。また、管理テーブルには、各記憶領域のフォーマット、クラス、サブクラスなどの項目が含まれている。なお、管理テーブルを記憶する、コントローラ12の内部記憶領域をメモリ情報記憶部12−2と呼ぶことにする。上述したように、端末装置20のOS(CPU21)も、この管理テーブルの内容を取得して、ドライブを定義する。
【0172】
まず、USBストレージデバイス10が端末装置20に接続されると、LUNに関連付けられる情報として「論理アドレス」がOSから割り振られる。ここでいう「論理アドレス」、「物理アドレス」は、仮想記憶空間における、論理上の記憶領域のアドレスと物理上の記憶領域のアドレスとをそれぞれ指す。通常、論理アドレスと物理アドレスとの対応付けが行われることによってはじめてUSBストレージデバイス10はファイルの読み書きができるようになる。
【0173】
「論理アドレス」は、USBストレージデバイス10のトータルの記憶容量に合わせて予め指定された構成単位でもって一定数割り当てられる。この論理アドレスの割り当てと同時に、「論理アドレス」と記憶装置内の物理的な記憶領域にある「物理アドレス」との対応付けとが行われる。この対応付けはコントローラ12が備えるメモリ制御部12−1が管理テーブルを使用して実行する。なお、LUNが割り当てられていないときにも対応付けは行われる。
【0174】
LUNを書き換えることで、認識される記憶領域を切り替える方法を以下で説明する。
【0175】
なお、図10は、LUNを書き換える前の管理テーブル(初期値)を示す図である。つまり、USBストレージデバイス10が端末装置20へ接続される度に管理テーブルは初期値へと初期化される。これによって、毎回、USBストレージデバイス10が端末装置20へ接続されると最初に初期値の管理テーブルが呼び出されることになる。図10によれば、第1の記憶領域16のLUNに0が設定されており、第2の記憶領域17のLUNにnull(NUL)が設定されているため、第1の記憶領域16のみが認識されることになる。
【0176】
図11は、LUNを書き換えた後の管理テーブルを示す図である。上述した記憶領域の変更が実行されると、第1の記憶領域16のLUNは0⇒NULLに変更され、第2の記憶領域17のLUNはNULL⇒0に変更される。この場合、第1の記憶領域のLUNが無くなるため、第一の記憶領域はOSからドライブとして扱われず、OSから認識されなくなる。
【0177】
次に、第2の記憶領域17の接続を擬似認識させるための信号をコントローラ12がUSBインターフェース13を介してOS(端末装置20)へ送信する。OS(CPU21)は、第1の記憶領域16を認識したときと同様に、第2の記憶領域17に関しても一連のコマンドを送信し、情報を取得する。これらのコマンドには、例えば、次のコマンドが含まれる。
【0178】
○ デバイス情報取得コマンド「Get_Descriptorコマンド」
○ アドレス設定コマンド 「SET Addressコマンド」
○ 論理ドライブ数取得コマンド 「Get Max Logical Unit Number APIコマンド」(認識フラグ書き換えに拠る時は不要)
○ フォーマット情報取得コマンド「Inquiryコマンド」
これらの一連のコマンドによってOSはUSBストレージデバイス10から管理テーブルにより管理されている情報を取得てきる。もちろん使用環境に応じて記憶領域をOS側がドライブとして認識する際に必要となるコマンドがあればそれを同時に使用してもよい。
【0179】
OS(CPU21)は、上記のコマンドに対する返信をUSBストレージデバイス10から受信することで、第2の記憶領域17をドライブとして認識する。
【0180】
次に、認識フラグを用いた記憶領域の切り替え方法について説明する。認識フラグは、USBストレージデバイス10の論理ドライブをOSにドライブとして認識させるか否かを示すフラグである。
【0181】
図12は、実施例に係る管理テーブル(初期値)の一例を示す図である。図12によれば、2つの記憶領域にはLUNがそれぞれ割り当てられているものの、記憶領域Aの認識フラグが「可」であり、記憶領域Bの認識フラグが「不可」である。よって、コントローラ12は、論理的な第一の記憶領域のアドレスと物理的な第一の記憶領域Aのアドレスとを対応させる(アドレスマッピング)。
【0182】
図13は、実施例に係る管理テーブル(書き換え後)の一例を示す図である。図12と比較すると、図13では認識フラグが書き換えられている。すなわち、記憶領域Aの認識フラグが「不可」であり、記憶領域Bの認識フラグが「可」である。この場合、コントローラ12は、アドレスマッピングを変更し、論理的な第一の記憶領域のアドレスと物理的な第2の記憶領域Bのアドレスとを対応させる。このように、認識フラグだけを用いても認識可能な記憶領域を変更することができる。
【0183】
このようにコントローラ12は、切り替えプログラムにしたがって端末装置20が発行する切り替え命令(例:コマンド)を受信することで、端末装置に認識される記憶領域を第1の記憶領域から第2の記憶領域へと切り替える第1のコントローラとして機能する。また、コントローラ12は、切り替え命令を受信すると、第1の記憶領域に対応するメモリと第2の記憶領域に対応するメモリとのアドレスマッピングを入れ替えるコントローラの一例でもある。
【0184】
なお、フィルタドライバ(特開2007−272430号公報)を用いても認識可能な記憶領域を変更することができる。コントローラ12に対するSCSIコマンドの返答を制御することで、フィルタドライバは、OSからの各種コマンドに対して、管理テーブル(図10〜図13)の管理情報に基づいて返答を順次行う。フィルタドライバも、USBストレージデバイス10から端末装置20へインストールされる記憶領域変更プログラムの一例である。
【0185】
また、第1の記憶領域16および第2の記憶領域17をそれぞれ異なるパーティションにより確保し、記憶領域変更プログラムが、第1の記憶領域であるパーティションを不可視状態に切り替えた後、第2の記憶領域であるパーティションを可視状態に切り替えてもよい。このように、パーティションの可視/不可視を変更することでも、認識可能な記憶領域を切り替えることができる。
【0186】
[実施例3]
本実施例では、第1の記憶領域16に記憶されているセキュリティソフトウエアを端末装置20にインストールしてから、端末装置に認識される記憶領域を第1の記憶領域から第2の記憶領域へと切り替える方法について説明する。セキュリティソフトウエアとしては、例えば、情報漏洩防止プログラムがあり、記憶領域変更プログラムを含む。
【0187】
なお、本発明では、端末装置20に第1の記憶領域を認識させた後に、セキュリティソフトウエアを端末装置20にインストールし、第2の記憶領域へと切り替える方法について説明しているが、これに限定されない。
【0188】
例えば、第1の記憶領域、及び第2の記憶領域ともに端末装置20に認識させてから、セキュリティソフトウエアを端末装置20にインストールすることも可能である。これにより、第1の記憶領域、及び第2の記憶領域を端末装置20に認識させる方法に係わらず、後述するセキュリティソフトウエアの様々な処理を実行可能とする。
【0189】
図14は、実施例に係る記憶装置の記憶内容と端末装置の記憶内容との一例を示す図である。既に説明した箇所には同一の参照符号を付すことで、説明を簡潔にする。
【0190】
本実施例では、フラッシュメモリ15をソフトウエア上で制御することにより第1の記憶領域16、第2の記憶領域17、第3の記憶領域18の三つの記憶領域に分割している。これらの記憶領域の分割方法は既に説明した通りである。
【0191】
第1の記憶領域16は、USBストレージデバイス10が端末装置20に接続された際に自動的に読み込まれるセキュリティソフトウエア部16−1bと自動インストーラ16−2を記憶している。セキュリティソフトウエア部16−1bは、上述したソフトウエア部16−1aの具体例である。
【0192】
セキュリティソフトウエア部16−1bは、情報漏洩防止手段を実現するために必要となるファイルをすべて備えたソフトウエアである。自動インストーラ16−2は、セキュリティソフトウエア部16−1bをインストールするためのソフトウエアである。
【0193】
セキュリティソフトウエア部16−1bと自動インストーラ16−2との組み合わせ、後述の動作を行えるものであればどんな組み合わせでもよい。また、インストール方式も本発明の実施に支障をきたすものでなければどのような方式が採用されてもよい。例えば、セキュリティソフトウエア部16−1bが書庫形式等で圧縮されていて、自動インストーラ16−2がセキュリティソフトウエア部16−1bを解凍しながらディレクトリへ展開してもよい。一方、セキュリティソフトウエア部16−1bが既にディレクトリに展開されている状態であれば、そのディレクトリをそのまま端末装置20の記憶領域25−1にコピーするといったインストール方式でもよい。
【0194】
一方、セキュリティソフトウエア部16−1bが自己解凍形式のファイルであれば、自動インストーラ16−2を省略できよう。以下の実施例では、セキュリティソフトウエア部16−1bのインストールに自動インストーラ16−2が採用されるものとする。なお、端末装置20にインストールしたファイルのアンインストールについても、本発明の目的を達成できるかぎり、どのようなアンインストール方式が採用されてもよい。
【0195】
第2の記憶領域17には、情報漏洩防止の対象となるユーザ使用ファイル17−1が格納されている。
【0196】
第3の記憶領域18は、コントローラ12からデータを読み書きできるものの、端末装置20からは読み書きも認識もできない秘匿領域である。第3の記憶領域18には、ホストPC登録情報18−1、ユーザ登録情報18−2、ホワイトリスト18−3およびブラックリスト18−4が格納されている。なお、これに限定されず、上述した登録情報およびリストは、単数または複数の組み合わせを第3の記憶領域18に格納することも可能である。
【0197】
なお、以下では、第3の記憶領域18の全体が秘匿領域であるという設定の下で話を進める。しかし、この秘匿領域は端末装置20から独立した第3の記憶領域18に限定されるものではない。例えば、第1の記憶領域16、第2の記憶領域17の一部に設けられたディレクトリを第3の記憶領域18としてもよい。この場合、このディレクトリは暗号化されており、コントローラ12が復号できるものとする。これにより、端末装置20は、第3の記憶領域18であるディレクトリの存在を知ることができても、そこに記憶されている情報を取得することができない。
【0198】
ホストPC登録情報18−1は、例えば、端末装置20が予め登録されているホストPCであるか否かを判断するための認証情報(端末装置登録情報)を含んでいる。認証情報は、例えば、端末装置20のMACアドレス、型式番号、製造番号、IPアドレス、管理番号のうちいずれか1つまたは複数である。管理番号は、例えば、組織が独自に端末装置20、またはその端末装置の使用管理者を識別するためのデータを指す。必ずしも番号でなくてもよく、何らかの識別情報であれば十分であるが、ここでは、便宜上、管理番号と呼ぶことにする。管理番号を用いた実施例として、例えば、端末装置20の管理番号を、端末装置20およびUSBストレージデバイス10とも記憶しておき、両者を接続する際に双方の管理番号を比較することで、端末装置20が正当なものか否かを認証できる。管理番号は、組織内で配布および管理されている外部デバイス(例:USBトークン)へ予め記憶されている組織内管理番号であってもよい。
【0199】
ユーザ登録情報18−2は、登録された使用者(ユーザ)であるかどうかを認証するための認証情報である。ユーザ登録情報18−2は、例えば、使用者が入力する暗証番号、パスワード、バイオメトリクスの情報などである。これらの情報は平文のまま記憶されていてもよいし、暗号化されていてもよい。また、ユーザ登録情報18−2は、複数の使用者の認証情報を含んでいてもよい。この場合、USBストレージデバイス10を複数のユーザ間で共用することが可能となる。
【0200】
ホワイトリスト18−3は、例えば、端末装置20において実行されるプロセス(例:アプリケーション)のうち、第2の記憶領域17に対するアクセスを許可されたプロセスの識別情報を登録したリストである。また、ホワイトリスト18−3は、例えば、USBストレージデバイス10の接続中に動作が許可されるプロセスの一覧であってもよい。セキュリティソフトウエア部16−1bは、端末装置20において実行されているプロセスの識別情報が、ホワイトリストに登録されている識別情報と一致するか否かに応じて、第2の記憶領域17に対するアクセスを制限するアクセス制限手段として、CPU21を機能させる。
【0201】
ブラックリスト18−4は、例えば、端末装置20において実行されるプロセスのうち、アクセス対象の如何にかかわらず、アクセスを禁止されるプロセスの識別情報を登録したリストである。なお、ブラックリスト18−4は、一切動作が許可されないプロセスの一覧であってもよい。セキュリティソフトウエア部16−1bは、例えば、端末装置において実行されているプロセスの識別情報が、ブラックリストに登録されている識別情報と一致すると、プロセスによるアクセスを禁止するアクセス禁止手段として、CPU21を機能させる。
【0202】
HDD内記憶領域25−1は、端末装置20に備えられたHDD25の中の記憶領域である。セキュリティソフトウエア部25−2は、第1の記憶領域16に記憶されているセキュリティソフトウエア部16−1がインストールされたものである。認証実行部25−3は、セキュリティソフトウエア部25−2の要素の一つで、端末装置や使用者の認証を行う。制御プログラム25−4bは、情報漏洩防止機能や、使用者に応じたユーザ使用ファイルの選択および表示を実行するプログラムである。
【0203】
図15は、実施例3に係る記憶領域の切り替え方法の一例を示したフローチャートである。ここでは、USBストレージデバイス10を端末装置20に接続し、使用者がUSBストレージデバイス10の第2の記憶領域に記憶されているファイルを操作できるようになるまでの手順の詳細について説明する。なお、実施例1や2と共通する事項については既に説明したので、説明を簡潔にする。
【0204】
ステップS1501で、USBストレージデバイス10が端末装置20に接続される。これにより、端末装置20のUSBインターフェース29とUSBストレージデバイス10のUSBインターフェース13との間でUSB規格に従った接続処理が実行される。USBレベルでの接続が確立されると、ステップS1502へ進む。
【0205】
ステップS1502で、端末装置20のOS(CPU21)は、読み出しのみが可能なCD−ROM領域としてUSBストレージデバイス10の第1の記憶領域16を認識する。なお、この時点で第2の記憶領域17はCPU21によって認識されてはいない。また、第3の記憶領域18は秘匿領域であるため、CPU21によって認識されない。CPU21は、autorun.infなどの起動ファイルにしたがって自動インストーラ16−2を起動する。CPU21は、起動した自動インストーラ16−2にしたがって、第1の記憶領域16に記憶されているセキュリティソフトウエア部16−1bを端末装置20へインストールする。
【0206】
ステップS1503で、CPU21は、端末装置20にインストールされたセキュリティソフトウエア部16−1bの一部である制御プログラム25−4b(領域変更プログラム)を起動する。
【0207】
ステップS1504で、CPU21は、領域変更プログラムにしたがって、第3の記憶領域18にユーザ登録情報18−2が記憶されているか否かを判定する。第3の記憶領域18は秘匿領域であるため、CPU21や領域変更プログラムは第3の記憶領域18を直接的に認識することができない。そこで、領域変更プログラムがコントローラ12に対して所定の問い合せコマンドを送信する。USBストレージデバイス10のコントローラ12は、受信した問い合せコマンドにしたがって、第3の記憶領域18にアクセスし、ユーザ登録情報18−2が記憶されているか否かを確認する。コントローラ12は、この確認結果をレスポンスとして端末装置20へ返信する。CPU21は、このレスポンスの内容を解析することで、第3の記憶領域18にユーザ登録情報18−2が記憶されているか否かを判定する。ユーザ登録情報が存在する場合には、ステップS1505に進む。
【0208】
ステップS1505で、CPU21は、領域変更プログラムにしたがって、認証実行部25−3(認証プログラム)を起動し、使用者認証を実行する。例えば、ポインティングデバイス28やキーボード等の入力装置から入力されたパスワードや暗証番号などの認証情報をCPU21がコントローラ12へ転送し、コントローラ12が受信した認証情報をユーザ登録情報18−2と比較する。あるいは、USBストレージデバイス10に設けられた指紋認証デバイス11が読み取った指紋情報を、コントローラ12が、ユーザ登録情報18−2の一部である指紋情報と比較する。なお、セキュリティ強度は低下するが、コントローラ12が、ユーザ登録情報18−2を端末装置20へ送信し、認証実行部25−3が、受信したユーザ登録情報18−2と入力された認証情報とを比較してもよい。指紋認証では、指紋認証デバイス11が読み取った指紋情報も端末装置へ転送されることになる。
【0209】
なお、パスワードや暗証番号は秘匿性向上のための制限、例えば文字数制限等が設けられてもよいし、照合、比較される認証情報が暗号アルゴリズム等により暗号化されていてもよい。認証に使用される認証情報は、例えば、ユーザを特定するための識別子、パスワード、暗証番号、バイオメトリクス情報のうち1つまたは複数を含む使用者登録情報であってもよい。
【0210】
CPU21は、使用者認証に成功したか否かを判定する。成功したのであれば、ステップS1511に進む。一方、失敗したのであれば、ステップS1506に進む。なお、CPU21、コントローラ12および認証実行部25−3は、記憶装置に予め記憶されている認証情報と、端末装置または記憶装置に設けられた入力手段から入力された認証情報とを用いて認証処理を実行する認証手段の一例である。
【0211】
ステップS1506で、CPU21は、使用者認証に失敗した回数が規定回数以内か否かを判定する。規定回数以内であれば、ステップS1505に戻り、再度、使用者認証が実行される。この規定回数はパスワードの制限や指紋認証デバイス11の他人受入率や本人拒否率に基づいて設定されてもよい。なお、失敗回数が規定回数を超えると、ステップS1507に進む。
【0212】
ステップS1507で、CPU21は、強制終了を実行する。例えば、CPU21は、インストールされたプログラムやファイルをアンインストールする。この際に、CPU21は、USBストレージデバイス10の接続を解除したり、第1の記憶領域16(認識されている場合は第2の記憶領域17および第3の記憶領域18)を認識されない状態へ移行させたりする。認識可能状態から認識不可能状態への変更方法は実施例1で説明した通りである。もちろん、CPU21は、第2の記憶領域17からHDD25へコピーされた漏洩防止の対象となる情報もHDD25から消去する。さらに、CPU21は、HDD25に記憶されていた漏洩防止の対象となる情報が第2の記憶領域17に記憶されているときは、その情報も削除することが望ましい。
【0213】
ところで、ステップS1504でユーザ登録データを確認できなかった場合、ステップS1508に進む。
【0214】
ステップS1508で、CPU21は、領域変更プログラムにしたがって、新規登録を行うかどうかの問い合わせをモニタ27に表示する。CPU21は、端末装置20の入力装置から入力された情報に基づいて、使用者が新規登録を希望しているか否かを判定する。新規登録を行う場合、ステップS1509に進む。
【0215】
ステップS1509で、CPU21は、初期登録(新規登録)を実行する。新規登録とは、次回以降の認証時に使用されるユーザ登録情報18−2を第3の記憶領域18へ書き込む動作である。なお、端末装置20からは第3の記憶領域に直接書き込めないため、所定のコマンドをコントローラ12に発行して、コントローラ12が第3の記憶領域18へユーザ登録情報18−2を記憶する。新規登録が完了すると、ステップS1511に進む。このように、CPU21、コントローラ12および関与するプログラムなどは、記憶装置に認証情報が予め記憶されていなければ認証情報の初期登録を実行する登録手段の一例である。
【0216】
なお、新規登録を行わない場合はステップ1510に進む。ステップS1510で、CPU21は、強制終了を実行する。強制終了処理は、ステップS1507について説明した通りである。これにより、端末装置20へインストールされたプログラムはアンインストールされ、USBストレージデバイス10は自動的に、認識されない状態となる。
【0217】
ステップS1511で、CPU21は、認証実行部25−3を用いて、端末装置20がホストPC登録情報18−1により予め指定されたホストPCであるかどうかを判定する。CPU21は、ホストPC登録情報18−1を直接的には読み出せないため、使用者認証と同様の方法で認証情報の取得または転送を実行する。認証情報は、例えば、端末装置に付与されているMACアドレス、型式番号、製造番号およびIPアドレスのうち1つまたは複数を含む端末装置登録情報である。接続先の端末装置20がホストPCでなければ、ステップS1512に進む。
【0218】
ステップS1512で、CPU21は、セキュリティソフトウエア部25−2に含まれる制御プログラム25−4bの一機能である利用制限機能を起動する。この利用制限機能は、第3の記憶領域18に記憶されているホワイトリスト18−3やブラックリスト18−4を用いてファイルへのアクセスを制御したり、ファイルの移動や複製を防止したりする機能である。これらの機能の詳細については後述する。
【0219】
一方、端末装置20がホストPCであると判断された場合は、ステップS1512をスキップして、ステップS1513に進む。そのため、利用制限機能は適用されない。使用者は、端末装置20とUSBストレージデバイス10との間で自由にユーザ使用ファイル17−1を使用することができる。
【0220】
すなわち、予め指定された情報(ホストPC登録情報)によって、ユーザ使用ファイル17−1を、端末装置20に保存することも可能であり、端末装置20を介してネットワーク配信することも可能である。
【0221】
ステップS1513で、CPU21は、領域変更プログラムに従い、端末装置20により認識可能な記憶領域を第1の記憶領域16から第2の記憶領域17に切り替える。すなわち、第1の記憶領域16が端末装置20上で認識されなくなると同時に第2の記憶領域17が認識されることになる。
【0222】
なお、現在認識されている記憶領域に応じてLED14の発光色を切り替えてもよい。例えば、LED制御部12−4は、第1の記憶領域16が認識されているときは赤色LEDを点灯させ、第2の記憶領域17が認識されているときは緑色のLEDを点灯させる。これにより、使用者は、USBストレージデバイス10の記憶領域のうちどの記憶領域が端末装置20によって認識されているかを視覚的に認識できるようになる。これは、記憶領域が切り替えられてもドライブレターが同一の維持されるケースで特に有用であろう。
【0223】
ステップS1514で、CPU21は、第2の記憶領域17に記憶されているファイルを端末装置20の操作によって操作できるような待機状態に移行する。なお、利用制限機能が適用されている場合は、第2の記憶領域17に対して利用制限が課される。また、使用者認証が適正の場合、制御プログラム25−3によって、使用者に応じたユーザ使用ファイル17−1のみを、端末装置20上に画面表示させてもよい。これにより、他の使用者のユーザ使用ファイルへのアクセスが禁止されるため、機密情報の保護や情報漏洩を防止しながら、複数の使用者が同一のUSBストレージデバイス10を利用することができる。
【0224】
このように実施例3によれば、領域変更プログラムは、第1の記憶領域16に記憶されている情報漏洩防止プログラムを端末装置20にインストールしてから、端末装置20に認識される記憶領域を第1の記憶領域16から第2の記憶領域17へと切り替えることができる。
【0225】
なお、第3の記憶領域18は秘匿領域である。そのため、情報漏洩プログラムが端末装置20を通じて秘匿領域に記憶されている情報を読み出すための読み出し命令を送信すると、コントローラ12は、秘匿領域から情報を読み出して、端末装置に対して情報を送信する。これにより、認証情報や極めて重要な情報を保護することが可能となる。
【0226】
また、実施例3によれば、記憶装置に予め記憶されている認証情報と、端末装置または記憶装置に設けられた入力手段から入力された認証情報とを用いて認証処理を実行する認証手段を提供できる。すなわち、認証処理が成功すると、切り替えプログラムが、端末装置に認識される記憶領域を第1の記憶領域から第2の記憶領域へと切り替える。よって、認証処理に成功しない限り、第2の記憶領域17からユーザ使用ファイル17−1が端末装置20へ読み出されることは抑制できる。これは、認証処理が成功すると、情報漏洩防止プログラムは、記憶装置に対するアクセスの制限を解除する解除手段としてCPU21を機能させる事を意味しよう。
【0227】
なお、実施例3においても、USBストレージデバイス10が端末装置20から外されたときは、図8を用いて説明したアンインストール処理が制御プログラム25−4bによって実行される。
【0228】
図16は、ホワイトリストの一例を示す図である。ホワイトリスト18−3には、第2の記憶領域17に記憶されているファイルへのアクセスを許可されるプロセスの識別情報(例:名称)が登録されている。このホワイトリスト18−3に記録されているプロセスは、予め汎用性、安全性の高いアプリケーションに関するプロセスをデフォルトで含んでいる。ネットワークの管理者等が、安全若しくは有用であると判断したプロセスの名称がホワイトリスト18−3に追加されてもよい。
【0229】
図17は、ブラックリストの一例を示す図である。ブラックリスト18−4は、利用制限機能がアクティブのときには、一切動作が許可されないプロセスの名称を登録したリストである。こちらもホワイトリスト18−3と同様に、ウイルスやワーム等に含まれる危険性高いプロセスや情報漏洩に関するプロセスがデフォルトで含まれている。管理者が有害と判断したプロセスや使用者が無用であると判断したプロセスをブラックリストに追加してもよい。
【0230】
情報漏洩防止プログラムとして機能する制御プログラム25−4bの利用制限機能は、プロセスが発生する度にホワイトリスト18−3とブラックリスト18−4を読み出し、プロセスの動作を制御する。
【0231】
図18は、利用制限機能の動作の一例を示したフローチャートである。
【0232】
ステップS1801で、CPU21は、起動している情報漏洩防止プログラムにしたがって、発生したプロセスがブラックリスト18−4に登録されているかを判定する。ブラックリスト18−4が第3の記憶領域18に記憶されている場合は、CPU21が直接的に読み取れない。そこで、認証処理と同様に、CPU21は、発生したプロセスの名称をコントローラ12に転送し、コントローラ12が、この名称とブラックリスト18−4とを比較し、比較結果をCPU21に返送する。あるいは、ブラックリスト18−4をコントローラ12がCPU21に転送し、CPU21が、比較処理を実行してもよい。ブラックリスト18−4に登録されたプロセスであれば、ステップS1802に進む。
【0233】
ステップS1802で、CPU21は、そのプロセスの動作そのものをキャンセルする。これにより、既知のウイルスやワームによる予期せぬ動作をストップさせることができる。また、印刷またはそれに関連するプロセス、ネットワーク接続に関連するプロセス、画面を画像として取り込むプロセス(プリントスクリーン等)も動作を禁止される。このように、CPU21はプロセスによるアクセスを禁止するアクセス禁止手段やプロセスの動作をキャンセルするキャンセル手段として機能することになる。
【0234】
発生したプロセスの名称がブラックリスト18−4に登録されていない場合、ステップS1803に進む。
【0235】
ステップS1803で、CPU21は、発生したプロセスの名称がホワイトリスト18−3に登録されているかどうかを判定する。この判定処理もブラックリストに関する判定処理と同様の処理となる。ホワイトリスト18−3に登録されているプロセスである場合、ステップS1804に進む。
【0236】
ステップS1804で、CPU21は、そのプロセスによる第2の記憶領域17からのファイルの移動や複製を防止する。このように、情報漏洩防止プログラムは、端末装置20において実行されているプロセスの識別情報がホワイトリストに登録されている識別情報と一致するか否かに応じて、第2の記憶領域17に対するアクセスを制限するアクセス制限手段として、端末装置20を機能させる。
【0237】
一方、ブラックリスト18−4にもホワイトリスト18−3にも登録されていないプロセスであれば、ステップS1805に進む。
【0238】
ステップS1805で、CPU21は、そのプロセスのアクセス先を解析し、アクセス先がフラッシュメモリ15内の記憶領域であれば、そのプロセスの動作をキャンセルすべく当該プロセス終了させる。これにより、ホワイトリスト18−3に登録されていない未知のアプリケーションによるフラッシュメモリ15へのアクセスをストップさせることができる。つまり、ホワイトリスト18−3に登録されていないプロセスはフラッシュメモリ15内の記憶領域にアクセスすることができない。このように、ブラックリストおよびホワイトリストのいずれにも登録されていない場合、このプロセスが記憶装置の記憶領域にアクセスすることが限定されることになる。
【0239】
なお、ファイル移動複製防止処理(S1804)は、例えば、フラッシュメモリ15内の記憶領域に記憶されているファイル自身もしくはその一部(クリップボード等)に関する「切り取り」や「コピー」後の「貼り付け」を禁止したり、当該ファイルを操作するアプリケーション中にある「名前をつけて保存」を禁止したり、または、ドラッグ&ドロップ等によるファイルの移動に関する処理を制限する処理である。また、フラッシュメモリ15内部の記憶領域または当該記憶領域に属するディレクトリがアクティブなウインドウとして表示されていた場合、ファイル移動複製防止機能は、ウインドウ内部からのドラッグ&ドロップ、アプリケーション間におけるクリップボードの移動、一部のダイアログ表示、他の着脱可能なリムーバブルディスクへの書き込みなど、フラッシュメモリ15内部の記憶領域内にあるファイルについて一切の移動や複製を禁止してもよい。
【0240】
一方でファイルの編集や処理がフラッシュメモリ15内部の記憶領域内部に留まるなど、記憶領域内部からのデータの移動が実質的に発生しないプロセスは、ホワイトリスト18−3によってその動作が許可される。具体的には、ファイルの上書き保存や編集、記憶領域内部にあるファイル間の情報のやり取り、ドライブが異なるファイル間の情報のやり取りなど、USBストレージデバイス10内で実行される処理は制限無く実行されることになる。
【0241】
上述したホワイトリストやブラックリストへのプロセス名の追加や更新の手法はいくつか考えられる。例えば、端末装置20が、USBストレージデバイス10に記憶されているホワイトリストやブラックリストを直接編集する手法が考えられる。また、サーバからクライアント(端末装置20)が受信した最新のホワイトリストやブラックリストを、USBバスを介してコントローラ12が受信し、それを第3の記憶領域に書き込むといった手法も考えられる。後者は、リモート更新と呼べるであろう。
【0242】
[実施例4]
以下では、上述した利用制限機能、すなわち、USBストレージデバイス10を利用した、情報の持ち出し防止機能について説明する。
【0243】
持ち出し防止機能とは以下5つの機能の総称である。
【0244】
(1) 予め指定されたディレクトリ内に存在するファイルとファイル内部のデータをその指定ディレクトリの外へ保存する(端末装置20の電源が落ちても記憶されている)ことを禁止する機能。なお、ディレクトリは、PCの記憶装置に確保されたディレクトリ、USBメモリに確保されたディレクトリなど、PCからアクセス可能な任意のディレクトリである。
【0245】
(2) (1)の機能を実現しつつ、予め指定されているディレクトリ内に存在するファイルとファイル内部のデータの閲覧については許可する機能。
【0246】
(3) 予め指定されているディレクトリ内に存在するファイルとファイル内部のデータの編集を許可しつつ、そのディレクトリ内部(Subディレクトリも含む)にだけ保存する機能。
【0247】
(4) 予め指定されていない任意のディレクトリに存在するファイルとファイル内部のデータの閲覧・編集・保存を制限しない機能。
【0248】
(5) 何らかの識別子(例:MACアドレス)により、HostPCという特別なPCを設置し、そのHostPC内では(1)ないし(3)による制限が一切かからないようにする機能。これにより、予め指定されているディレクトリ内のファイルとファイル内のデータであっても、通常どおり、他のディレクトリへ保存できるようになる。
【0249】
実施例4では、(1)〜(5)の機能を実現するために、以下で説明する5種類の制御機構を設ける。これらの制御機構について以下で説明していく。なお、上述した機能は、第1の制御機構(ファイルシステムフィルタドライバ)によってほぼ実現できる。第1の制御機構の基本的な部分は、実施例3で説明した通りである。
【0250】
ただし、第1の制御機構のみではいくつかの漏れが生じうる。そこで、その漏れを補完するために第2ないし第5の制御機構が追加されている。
【0251】
なお、指定ディレクトリ内のファイルおよびファイル内データの持ち出し防止方法として、例えば、以下の2種類が考えられる。
【0252】
(a). ファイル単位での移動および複製の防止
(b). メモリに展開されているファイル内のデータの移動および複製の防止
[情報漏洩防止機能]
以下に実施例4における情報漏洩防止機能について説明する。情報漏洩防止機能はファイルシステムフィルタドライバである「カーネル部」と、そのカーネル部を補う「ユーザ部」とに分かれる。ファイルシステムフィルタドライバについて軽く触れる
[ファイルシステムフィルタドライバ(FSFiD)]
FSFiDは、ファイルシステムが行おうとすることの前後に割り込み、ログを取得したり、改ざんしたりすることができるコンピュータプログラムであり、USBストレージデバイス10から端末装置20へインストールされる。FSFiDは、先述の通りカーネルモードで動作する。
【0253】
以降は情報漏洩防止機能を、このファイルシステムフィルタドライバであるカーネル部と、それ以外の部分であるユーザ部とに分けて説明する。カーネル部は、フィルタマネージャ(FltMgr)が存在しないと動作しない。FltMgrは、例えば、公知の機能である(http://www.microsoft.com/japan/whdc/driver/filterdrv/default.mspx参照のこと)。
【0254】
また、ユーザ部は後述するカーネル部が行う機能の補助並びに情報漏洩防止機能における補完機能を有する。以下に以降の説明に用いる主な語句について列挙し、説明する。なお以下に列挙した語句以外に必要な語句に関しては適宜列挙する。
【0255】
* プロセス識別子 プロセスを予め想定した手法に基づき、識別する識別子であり、プロセスが特定できればその形式は問わない。例としてはプロセスのID,ハッシュ値、プロセスの作者名、会社名等が挙げられる。
【0256】
* ファイル識別子は、ファイルを予め想定した手法に基づき、識別する識別子であり、ファイルが特定できればその形式は問わない。例としてはファイル名、ID,ハッシュ値、プロセスの作者名、会社名、属性、拡張子等が挙げられる。
【0257】
* プロセス判定部は、プロセスが後述のブラックリスト、ホワイトリストのいずれかに属するかを判定する機能を有する。ブラックリスト及びホワイトリストには、各プロセスを識別するためのプロセス識別子が登録されている。
【0258】
* 監視リスト 監視対象となるプロセスのプロセス識別子を登録したリストである。監視リストは、例えば、カーネル内のヒープ領域に保存される。なお、実際に起動されているプロセスのうち、上述のブラックリストまたはホワイトリストに登録されているプロセスが検出されると、検出されたプロセスのプロセス識別子がこの監視リストに登録される。
【0259】
* 監視ファイルリスト 監視対象となるファイル識別子のリストである。監視ファイルリストは、例えば、カーネル内のヒープ領域に保存される。
【0260】
* パス識別子は、ファイルやプロセスに含まれる監視対象であるか否かのフラグを示す。監視対象であるか否かはそのディレクトリのフルパスで判断される。パス識別子は、例えば、カーネル内のヒープ領域に保存される。
【0261】
* ブラックリストは、主に使用が許されないプロセスを示すプロセス識別子を保持するリストである。
【0262】
* ホワイトリストは、主に使用が許可されているプロセスを示すプロセス識別子を保持するリストである。
【0263】
* IOマネージャは、すべてのファイルIOをつかさどるオブジェクトであり、ドライバ間の対話を受け持つものである。
【0264】
* プロセスマネージャは、プロセスのマウント・アンマウントを制御するマネージャである。
【0265】
図19は、カーネル部が処理するイベントの一例を示す図である。図19によれば、各イベントのイベント名、イベントの通知元、イベントの発生タイミング、イベントに対する処理の内容が記載されている。
【0266】
各イベントの概略についてここで説明する図19において、
イベント1「初期化」とは、ファイル操作の監視を行うために必要となる変数を初期化(変数に初期値を代入すること)する。
【0267】
イベント2「監視対象設定」とは、監視対象、つまりはファイル情報漏洩防止機能の適用対象となるドライブ、ディレクトリを指定する動作を表す。本発明においては主として第二の記憶領域17がそれへ該当する。しかし、これに限定されず任意のドライブ、ディレクトリを監視対象とすることも可能である。
【0268】
イベント3「ファイル操作開始通信の処理前」とは、一切のファイル操作開始に処理する「ファイル操作開始通信」をIOマネージャが処理する前に割り込み、操作する内容のことを示す。すなわち、このイベント3は、全てのファイル操作の基点となる処理をOSのファイルシステムが実行する前に、本実施例に係る情報漏洩防止プログラムが必要な操作を行うタイミングを示している。
【0269】
イベント4「ファイル操作開始通信の処理後」とは、一切のファイル操作開始に処理する「ファイル操作開始通信」をIOマネージャが処理する前に割り込み、操作する内容のことを示す。この時イベント3で与えた情報(属性)等を用いて処理を行う。すなわち、イベント4は、全てのファイル操作ログの基点となる処理をOSのファイルシステムが行った後に、本実施例に係る情報漏洩防止プログラムが必要な操作を行うタイミングを示している。
【0270】
イベント5 「プロセスの起動」とは、プロセスの起動時に割り込んで行う処理である。
【0271】
イベント6 「プロセスの終了」とは、プロセスの終了時に割り込んで行う処理である。なお、イベント1,2は前記のユーザ部、イベント3,4はOSのフィルタマネージャ、イベント5,6はOSのプロセスマネージャによって通知される。すなわち、プロセスマネージャは、情報漏洩防止プログラムのカーネル部へイベントを通知する。
【0272】
図20はイベント1の初期化並びにイベント2の監視対象設定を示す。まずユーザ部がカーネル部のロードを行う(ステップS2001)。そしてカーネル部はこのロードを受けて、カーネル部が有するホワイトリストとブラックリストの初期化の他、監視を行う為の初期化を行う(ステップS2002)。ここで、初期化とは、プログラム開始時に必ず行うプログラム内で用いるスタックやヒープにアサインする変数の初期化(初期値の代入)のことである。カーネル部は、初期化が終わるとユーザ部に初期化が完了したことを通知する(ステップS2003)。
カーネル部は、監視対象となる指定ドライブとディレクトリをユーザ部により通知される(ステップS2004)。カーネル部は、監視対象となる指定ドライブとディレクトリをヒープ領域の変数に登録する(ステップS2005)。その後、カーネル部は一連の準備が整ったことをユーザ部へと通知する(ステップS2006)。
【0273】
図21は、図19に示したイベント3の動作を示したフローチャートである。イベント3は、ファイル操作開始通信が発行されたときのイベントである。ファイル操作開始通信は、何らかのファイル操作が行われようとしていることを示す。ファイル操作開始通信が発行されることとファイル操作が行われることは同値である。つまり、イベント3は、ファイル操作の起点となるイベントである。すべてのファイル操作の起点であるファイル操作開始通信がIOマネージャによって処理される前に、フィルタマネージャは、操作の内容分析し、必要な情報を記録しておく。
【0274】
ステップS2101で、カーネル部は、発生したプロセス識別子とブラックリストに登録されているプロセス識別子とを比較する。一致すれば、ステップS2102に進み、カーネル部は、ブラックリストに登録されているプロセスであることを示すBlack属性情報をヒープ内の変数に付加する。ステップS2101で、不一致であれば、ステップS2103に進む。
【0275】
ステップS2103で、カーネル部は、発生したプロセスの識別子とホワイトリストに登録されているプロセス識別子とを比較する。一致すれば、ステップS2104に進み、カーネル部は、「ホワイト」のフラグをヒープ内の変数につける。ステップS2103で、不一致であれば、ステップS2105に進む。ちなみにこの段階で「ホワイト」の属性情報が確定したわけではないことをお断りしておく。
【0276】
ステップS2105で、カーネル部は、ヒープ内の変数であるパス識別子をチェックし、操作の対象のディレクトリが監視対象かどうかを判断し、監視対象であることがわかればステップS2106に進む。
【0277】
ステップS2106で、カーネル部は、ステップ2204でヒープ内の変数に
付加された「ホワイト」フラグの有無を判定する。フラグが無ければ、S2107で、ホワイトリストに登録されていないプロセスであることを示すNot White属性をヒープ内の変数に付加する一方、フラグがあれば、ステップS2108で、カーネル部は、監視リスト監視リスト内のプロセス識別子と、現在のプロセス識別子とを比較する。両者が一致すれば、ステップS2109に進む。
【0278】
ステップS2109で、カーネル部は、監視ファイルリスト内のファイル識別子と現在のファイル識別子とを比較する。両者が一致しなければ、ステップS2110に進み、カーネル部は、監視ファイルリストに現在のファイル識別子を新規に追加する。この場合は何の属性情報もヒープ内の変数には付加されない(ステップS2113)。
【0279】
一方、S2108で、監視リスト内のプロセス識別子と、現在のプロセス識別子とが一致しなければ、ステップS2111に進む。ステップS2111で、カーネル部は、監視リストに現在のプロセス識別子を追加する。なお、この場合も最終的に何の属性情報もヒープ内の変数には付加されない。
【0280】
ところで、ステップS2105で、操作対象が監視対象でなければ、ステップS2112に進む。ステップS2112ではステップS2108と同様の照合が行われる。すなわち、カーネル部は、監視リスト内のプロセス識別子と、現在のプロセス識別子とを比較する。両者が一致しなければ、ステップS2113で何の属性情報もヒープ内の変数には付加されない。
【0281】
一方、ステップS2112でプロセス識別子の照合が一致した場合にはステップS2114に進み、先のステップS2109同様監視ファイルリスト内のファイル識別子と合致するかどうかをチェックする。合致していなければステップS2113に進み、何の属性情報も付加されない。
【0282】
ここでファイル識別子の合致が確認されればステップS2115へ進み「Is white」属性情報がヒープ内の変数に付加される。
【0283】
以上のようにして、各プロセスはイベント2にてIs White、Not White、Black、none(何の属性も付与されていないこと)が判明する。
【0284】
なお、none(何の属性も付与されていないこと)の場合、例えば、監視対象とされたユーザ使用ファイル17−1を編集し、編集したデータを第2の記憶領域17に保存することである。
【0285】
図22は、図19に示した4番目のイベントの動作を示したフローチャートである。ステップS2201で、カーネル部は、属性情報がIs Whiteであるか否かを判定する。IsWhiteでなければ、ステップS2202に進み、カーネル部は、ファイル操作開始通信をキャンセルする。
【0286】
一方、IsWhiteであれば、ステップS2203に進む。ステップS2203で、カーネル部は、操作内容をチェックする。この時、操作内容が「ファイルの新規作成」であれば、ステップS2204に進み、カーネル部は、新規作成されたファイルの強制削除を実行する。
【0287】
一方で、既存ファイルへの上書き、若しくは書き換えであれば、ステップS2205で、カーネル部は、ファイル操作開始通信をキャンセルする。また、ステップS2204の終了後もステップS2205へ移動し、ファイル操作開始通信はキャンセルされる。
【0288】
また、ステップS2203におけるチェックで先述の3つの動作でなければここでは何の処理も行われない(S2206)。
【0289】
すなわち、例えば、ファイルの新規作成や、ファイルの保存は禁止されるが、端末装置20におけるRAM23上でのファイルの編集は可能である。
【0290】
図23a、図23bは、図19に示したイベント5およびイベント6の動作を示したフローチャートである。イベント5では、起動するプロセスのプロセス識別子をホワイトリストかブラックリストに登録されているプロセス識別子と照合し、いずれかのリストに登録されているプロセス識別子であれば、そのプロセス識別子を監視リストに追加する。動するプロセスのプロセス識別子がどちらのリストにも該当しない場合は何もしない。6番目のイベントでは、終了するプロセスのプロセス識別子をから削除する。
【0291】
図23aはイベント5のプロセス起動時の動作を示す。ステップS2301で、プロセスマネージャは、プロセスの開始をカーネル部に通知する。ここでカーネル部は一時的にプロセスの開始に割り込んで当該プロセスをストップさせている。ステップS2302で、カーネル部は、プロセス識別子を取得する。ステップS2303で、カーネル部は、プロセス判定部を用いて取得したプロセスがホワイトリスト、ブラックリストのいずれかに属しているかを判定する。ここでホワイトリストに属すると判定されればステップS2304で、カーネル部は、対象となる識別子をWhiteListに登録する。一方、プロセス判定部により当該プロセスがブラックリストに属するものと判定されればステップS2305へ進み、当該プロセスのプロセス識別子がブラックリストへ追加される。
【0292】
また、いずれにも属しない時は直接ステップS2306へ進み、プロセスマネージャへプロセスの開始を再開させる、これはステップS2304でのホワイトリストへの追加、並びにステップS2305でのブラックリストの追加後も同様である。
【0293】
図23bは、プロセス終了時の動作を示す。カーネル部はプロセスマネージャからプロセス終了通知を受信する。この時はプロセス起動時同様にプロセス終了を途中でストップさせる(ステップS2307)。次いでステップS2308へ進み、カーネル部は終了する当該プロセスのプロセス識別子を取得する。そしてステップS2309へ進み、ホワイトリストから該当するプロセス識別子があるかどうかをチェックする、そしてあれば当該プロセス識別子を削除する(ステップ2310)。
【0294】
同様にステップS2311ではブラックリスト内のプロセス識別子と当該プロセス識別子を照合して、合致すればステップS2312へ進み、ブラックリスト内の当該識別子を削除する。
【0295】
そしてまた、いずれにも属しない時は直接ステップS2313へ進み、プロセスマネージャへプロセスの終了を再開させる、これはステップS2310でのホワイトリスト内からの削除、並びにステップS2312でのブラックリスト内からの削除後も同様である。
【0296】
以上、カーネル部が行う情報漏洩防止機能について説明をしてきた、以降は主としてカーネル部による情報漏洩防止機能にて防ぐことが困難、若しくは運用上の負荷の軽減を考慮し、ユーザーモードで動作する内容について記す。
【0297】
ユーザ部による制御を行う、理由としてはホワイトリストに登録されているプロセスの中の情報漏洩に関係する項目、OSの仕様によってカーネル部では制御できない項目等である。
【0298】
以降の項目にてユーザ部で制御する代表例並びに制御方法について説明する。なお、ユーザ部の制御は主として各OSに沿った信号、情報、レジストリ、標準のAPI、等に代表される各種パラメータ、関数、それらの変換手段等、それらを含むプログラム又はファイル等を用いて行われる。
【0299】
図24は、実施例4に係るユーザ部での制御内容の代表例及び制御理由を示す表である。
【0300】
以下に各項目について詳細に説明する。
【0301】
[レジストリ変更防止手段]
レジストリ変更防止手段は特定のレジストリの変更を監視して、レジストリ変更があった場合、すぐに当該レジストリを変更前の状態に戻す手段である。また、監視が解除されると、レジストリを監視状態の前の状態に戻す。
【0302】
図24中「レジストリ変更防止手段の代表例」には3つの制御内容の代表例が示されている。1つ目の制御内容は、Explorerのコンテキストメニューにある「送る」という項目を防止することである。Explorerはホワイトリストに登録される、極めて汎用性のあるプロセスである。それゆえ、Explorerによって作成されたファイルをメールに添付することを、カーネル部は防ぐことができない。その補完機能としてレジストリ変更防止手段が、とりわけ、「送る」という項目の有効化を防止する。
【0303】
2つ目の制御内容は、壁紙の変更を防止することである。漏洩防止対象のファイルが画像ファイルであれば、一般に、壁紙として使用できる。上述したように画紙を制御するExplorerは、ホワイトリストに登録される。よって、カーネル部が壁紙への使用を禁止できない。それゆえ、カーネル部を補助する当手段が、漏洩防止対象ファイルの壁紙へ使用を禁止する。
【0304】
3つ目の制御内容は、規定のメーラの登録を削除することである。これは、上記同様ホワイトリストに登録されているメーラが任意のファイルを送信することを、カーネル部は防ぐことができないからである。
【0305】
このように、情報漏洩防止プログラムは、ホワイトリストに登録されているファイル操作プログラムまたはメーラープログラムによるファイルの漏洩を防止するためにレジストリの変更を監視、並びに防止させるレジストリ変更防止手段として、端末装置を機能させる。
【0306】
[デバイス無効化手段]
デバイス無効化手段は、デバイスを無効化、あるいは有効化を禁止する手段である。デバイス無効化手段は、特定のデバイスが新しく)追加されても、デバイス変更信号を感知したタイミングで、このデバイスを無効化する。一方、デバイス制御機構は、監視が解除されると、禁止されていたデバイスを監視前の状態に戻す。
【0307】
図25中の「デバイス無効化手段代表例」は、実施例4に係るデバイスにおける制御デバイスと制御理由とを示す図である。なお、デバイス無効化手段は、例えばユーザがWindows(登録商標)のデバイスマネージャというUI上でドライブを無効にする操作と同等のことを実現する機能である。
【0308】
図25によれば、制御デバイスはFDD(フレキシブルドライブディスク)とNIC(ネットワーク通信カード)である。FDDのディスクをOSが認識していない間、カーネル部をAttachすることができない。よって、手順によってはファイルを1個だけ持ち出すことが出来てしまう可能性がある。それゆえ、制御デバイスはFDDを監視することで、ファイルの移動を禁止する。
【0309】
NICを監視する理由は、Explorerがホワイトリストに登録されているため、監視対象内のファイルをアップロードされてしまうことをカーネル部が防止できないからである。よって、デバイス無効化手段は、NICからアップロードされるファイルが漏洩防止対象ファイルであれば、アップロードを禁止する。
【0310】
このように実施例4によれば、フレキシブルディスクドライブに書き込まれるファイルが情報漏洩対象ファイルであるか否かを監視し、情報漏洩対象ファイルが書き込み対象として指定されると、その書き込みを禁止する書き込み禁止手段として、端末装置を機能させる。
【0311】
また、情報漏洩防止プログラムは、ホワイトリストに登録されているファイル操作プログラムによるファイルの漏洩を防止するために通信装置から外部へ送信されるファイルが情報漏洩対象ファイルであるか否かを監視し、情報漏洩対象ファイルが送信対象として指定されると、その送信を禁止する送信禁止手段として、端末装置を機能させる。
【0312】
[グローバルフック手段]
グローバルフック手段は、各種メッセージの処理を制限する機能である。監視が解除されると、この制御も解除される。
【0313】
図24中の「グローバルフック手段の代表例」には、実施例4に係るグローバルフック手段における制御内容の代表例及びその制御理由が示されている。1つ目は、予め指定されているダイアログを表示させないようにする機能である。具体的にはキャプションやウィンドウクラスが登録内容と一致した場合、グローバルフック手段は、そのダイアログを止める。これは、例えば「名前をつけて保存」「名前を変更して保存」「オブジェクトの挿入」に代表される、ファイルシステムに関与しないメモリ上の操作はカーネル部で制御できないためである。それゆえ、グローバルフック手段は、このような操作に関するダイアログをストップさせる、若しくは無効化する。
【0314】
2つ目は、マウスに代表されるポインティングデバイス等によるウインドウをまたぐDrag&Dropを禁止する機能である。これはファイル内のデータをポインティングデバイス等がDrag&Dropで持ち出すことをカーネル部が防ぐことができないためである。
【0315】
例えばマウスの場合、ウインドウ中で複数のファイルを選択しドラッグしようとする際にはマウス上のボタンを押したままカーゾルを移動させる操作する必要がある。このボタンを押した際の座標をグローバルフック手段が捕らえており、ボタンが離された際にボタンを押した際の座標と違えばその動作を無効化する等によって実施される。
【0316】
このように実施例4によれば、情報漏洩防止プログラムは、情報漏洩対象ファイルまたはその一部を端末装置のメモリ上で複製するためのダイアログの表示が指定されると、当該ダイアログの表示を禁止するダイアログ禁止手段として、端末装置を機能させる。
【0317】
また、情報漏洩防止プログラムは、情報漏洩対象ファイルまたはその一部についての複数のウインドウ間でのドラックアンドドロップを監視し、ドラックアンドドロップが指定されると、その実行を禁止するドラックアンドドロップ禁止手段として、端末装置を機能させる。
【0318】
[クリップボード利用防止手段]
クリップボード利用防止手段は、文字通りクリップボードの利用を防止する為の手段である。これは監視対象となっているファイルがクリップボード中の一時記憶を経て漏洩してしまうことを防ぐ為の機能である。
【0319】
図24中の「クリップボード利用防止手段の代表例」には本手段による2つの例が記載されている。これらは共にクリップボード利用防止手段がクリップボードを独占してしまうことにより、他のプロセスがクリップボードを一切利用できなくすることで実施される。これはカーネル部がクリップボードによるファイル内のデータの持ち出しを制御できないためである。監視が解除されると、クリップボード制御機構も解除される。
【0320】
このように実施例4によれば、情報漏洩防止プログラムは、クリップボードの使用を独占することで、情報漏洩対象ファイルまたはその一部を該クリップボードへコピーすることを防止するクリップボード独占手段として、端末装置を機能させる。
【0321】
以上でユーザ部による情報漏洩防止の制御についての説明を終了する。
【0322】
以上でもって実施例4における情報漏洩防止手段の詳細について説明をしてきたが、本発明におけるカーネル部の制御とユーザ部の制御の形態は互いに補完関係にある。よって今後技術の進展やOSの仕様変更によってカーネル部での制御とユーザ部での制御が入れ替わる可能性等が考えられるが、それらの制御も以上の手段に準ずる範囲であれば本発明の範疇に含まれることは明らかであろう。
【0323】
なお、実施例3や実施例4に記載の情報漏洩防止プログラムは、USBストレージデバイス10から分離されて単独で使用されてもよい。例えば、
(1)第2の記憶領域17と第3の記憶領域18はそのままで、第1の記憶領域16の代わりに、HDD25におけるフォルダやディレクトリに、上記第1の領域に相当するものを設け、そこに実施例と同様な情報漏洩防止プログラムを予め格納して、USBストレージデバイス10の第2領域17のデータファイルの漏洩防止を上記実施例と同様に行うことも可能である。
(2)第1の記憶記憶領域16、第2の記憶領域17の代わりに、HDD25における任意のフォルダやディレクトリに、上記記憶領域1,2に相当するものを設け、そこに実施例と同様な情報漏洩防止プログラムとデータファイルを格納して、そのデータファイルの漏洩防止のために同様のプログラム制御が適用されてもよい。これにより端末を複数のユーザが利用する場合他人のデータファイルを誤って漏洩するのを防止できる。
【0324】
さらに、上記(1)(2)の場合、サーバからクライアント(端末装置20)のHDD25に、情報漏洩防止プログラムを格納することも可能である。
【0325】
また、サーバから、最新の情報漏洩プログラムをクライアント(端末装置20)が受信し、USBストレージ10、またはHDD25の第一の記憶領域16に、追加や更新するということも可能である。
【0326】
[実施例5]
実施例5では、上述した実施例の変形例について説明する。具体的には、ホストPCからアクセス可能なネットワーク(通常はイントラネット)上にサーバを配置し、サーバからUSBストレージデバイスに記憶されている情報を更新する。USBストレージデバイスに記憶されている情報を更新できるようにすることで、ユーザごとにセキュリティ設定を変更するなど、セキュリティ設定に柔軟性をもたらすことができる。
【0327】
この柔軟性によって、USBストレージデバイスに対してグループ管理を適用できる。グループ管理とは、複数のユーザによりグループを構成し、そのグループに属するユーザに対しては共通のセキュリティ設定を適用することである。また、グループは複数のPCによって構成されても良い。この場合、グループに属するPCのすべてをホストPCとすることが可能となる。
【0328】
ところで、情報漏洩防止機能を有していない一般のUSBメモリであれば、あるPCから他のPCへと自由にデータを運ぶことが可能となる。しかし、上述の情報漏洩防止機能を適用されたUSBストレージデバイスでは、任意のデータをあるPCから他のPCへと運ぶことは制限される。すなわち、セキュリティ設定が厳格である場合、USBストレージデバイスを使用可能なホストPCが1台に限定されてしまうこともある。このような課題についても、グループ管理を導入することで解決できる。すなわち、特定のグループに所属する複数のPCをホストPCとして、USBストレージデバイスに登録できるようにする。これにより、特定のグループ内ではUSBストレージデバイスを一般のUSBメモリのように使用することが可能となる。もちろん、未登録のPCにUSBストレージデバイスを装着したときは、上述した情報漏洩防止機能が作動するため、データの移動等は制限される。
【0329】
図25は、実施形態に係るグループ管理の一例を示したシーケンス図である。ここでは、説明を簡潔にするために、サーバ装置及びクライアント装置のハードウエア構成は、端末装置20と同等であるものとする。
【0330】
ステップS2501で、サーバ装置のCPU21は、デバイスIDとユーザIDとの関連付けを実行する。ここで、デバイスIDは、ホストPCとなる端末装置20を識別するためのPC固有値及びUSBストレージデバイスを識別するためのUSBメモリ固有値を示す。なお、PC固有値は、上述したホストPC登録情報18−1に相当する。
【0331】
図26は、サーバ装置のHDD25に記憶されるUSBメモリ固有値テーブルを示した図である。USBメモリ固有値テーブル2601は、USBメモリの固有値とグループIDとを関連付けるテーブルである。なお、図中の*はテーブルのプライマリキーを意味している。グループIDは、各グループIDを識別するための識別情報である。サーバ装置のCPU21は、キーボードやポインティングデバイス28を通じて入力されたUSBメモリの固有値とグループIDとを関連付けて、USBメモリ固有値テーブル2601に登録する。
【0332】
図27は、サーバ装置のHDD25に記憶されるPC固有値テーブルを示した図である。PC固有値テーブル2701は、ホストPCの固有値とグループIDとを関連付けるテーブルである。サーバ装置のCPU21は、キーボードやポインティングデバイス28を通じて入力されたPC固有値とグループIDとを関連付けて、PC固有値テーブル2701に登録する。
【0333】
なお、各PCについて、ホストPCとして動作可能な時間帯(開始日時及び終了日時)もPC固有値テーブル2701に登録されてもよい。この場合、第1の情報(ホストPC登録情報)は、第2の情報(ユーザ使用ファイル17−1)を第2の記憶領域17から読み出して不揮発性記憶手段(端末装置20のHDD25)へ格納することができる複数の情報処理装置の識別情報(PC固有値)と、複数の情報処理装置のそれぞれが第2の情報を第2の記憶領域17から読み出して不揮発性記憶手段へ格納することができる時間帯を示す時間帯情報とを含むことになる。さらに、情報漏洩防止プログラムであるセキュリティソフトウエアは、記憶装置10が接続されている端末装置20の識別情報(PC固有値)に対応した時間帯情報に基づいて、第2の情報の取扱いを制限することになる。
【0334】
なお、第1の情報(ホストPC登録情報18−1)は、複数のユーザのそれぞれに対応した第2の情報の取扱いを規定したユーザ設定(図29に示す各種セキュリティレベル)を含む。
【0335】
また、第1の情報(ホストPC登録情報18−1)は、それぞれ一人以上のユーザからなるユーザグループごとに、第2の情報の取扱いを規定したユーザ設定(グループごとの各種セキュリティレベル)を含む。
【0336】
ステップS2502で、サーバ装置のCPU21は、キーボードやポインティングデバイス28を通じて入力された情報に従って、各グループごとのセキュリティを設定する。
【0337】
図28は、サーバ装置のHDD25に記憶されるユーザテーブルを示した図である。ユーザテーブル2801は、ユーザIDと、グループIDと、優先レベルとを関係付けるテーブルである。ユーザIDは、各ユーザを識別するための識別情報である。優先レベルは、例えば、個人向けのセキュリティ機能を優先して適用するか、グループ向けのセキュリティ機能を優先して適用するかを示す情報である。
【0338】
サーバ装置のCPU21は、キーボードやポインティングデバイス28を通じて入力された情報に従って、ユーザIDと、グループIDと、優先レベルとを対応付けてユーザテーブル2801に登録する。
【0339】
図29は、サーバ装置のHDD25に記憶されるグループテーブルを示した図である。グループテーブル2901は、グループIDと、セキュリティレベルとを関連付けるテーブルである。セキュリティレベルは、各種セキュリティ機能の有効/無効を示す情報である。セキュリティレベルの一例を以下に列挙する。
【0340】
初期化のON/OFF
クリップボード使用禁止のON/OFF
ドラッグ&ドロップ使用禁止のON/OFF
特定ダイアログボックスの使用禁止(名前を付けてファイルを保存等)のON/OFF
印刷禁止のON/OFF
ネットワーク切断のON/OFF
ホワイトリスト及びブラックリスト更新のON/OFF
なお、初期化とは、例えば、ユーザ使用ファイル17−1の削除することや、ホストPC登録情報情報18−1、ユーザ登録情報18−2、ホワイトリスト18−3及びブラックリスト18−4の更新することを意味する。ただし、サーバに接続されていない端末装置20でUSBストレージデバイス(記憶装置10)が使用される場合、ホワイトリスト18−3及びブラックリスト18−4の削除は実行しないものとする。
【0341】
サーバ装置のCPU21は、キーボードやポインティングデバイス28を通じて入力された情報に従って、グループIDと、各種セキュリティレベルとを対応付けてグループテーブル2901に登録する。
【0342】
ステップS2503で、サーバ装置のCPU21は、所定のタイミングで、クライアントへ設定情報を送信する。所定のタイミングは、例えば、端末装置20において起動したセキュリティソフトウエア25−2から送信された設定情報の要求をサーバ装置が受信したタイミングである。サーバ装置のCPU21は、設定情報の要求に含まれているユーザIDから上述のテーブルに基づいてグループIDを特定し、グループIDに対応するPC固有値、優先レベル及び各種セキュリティレベルを決定する。サーバ装置のCPU21は、決定したPC固有値と、優先レベルと、セキュリティレベルと、最新のホワイトリスト及びブラックリストとを設定情報に搭載する。なお、設定情報に、最新バージョンのセキュリティソフトウエアが含まれていてもよい。この場合、第1の記憶領域に記憶されているセキュリティソフトウエア16−1bが最新バージョンに更新されることになる。
【0343】
ステップS2504で、クライアントである端末装置20のCPU21は、設定情報を受信し、記憶装置10のセキュリティ設定を変更する。端末装置20のCPU21は、設定情報に含まれていたPC固有値を、コントローラ12を通じてホストPC登録情報18−1に書き込む。同様に、CPU21は、受信した優先レベルとセキュリティレベルも第3の記憶領域18に書き込む。さらに、CPU21は、受信したワイトリスト及びブラックリストも第3の記憶領域18に書き込む。
【0344】
なお、初期化がONに設定されている場合、ステップS2505で、サーバ装置のCPU21は、初期化処理要求を端末装置20へ送信する。ステップS2506で、CPU21は、初期化処理を実行する。なお、端末装置20のCPU21は、キーボード等の入力装置から入力されたパスワードと記憶装置10に記憶されているユーザ登録情報18−2に含まれているパスワードとが一致しているか否かを判定してもよい。そして、CPU21は、両者が一致している場合にのみ、初期化処理を実行する。
【0345】
図30は、ホストPC登録情報18−1を適用する端末装置20の動作の一例を示したフローチャートである。ステップS3001で、CPU21は、第3の記憶領域18に記憶されている優先レベルを、コントローラ12を介して読み出し、優先レベルが個人に設定されているか、グループに設定されているかを判定する否かを判定する。この判定処理は、単一の個人が記憶装置10を使用するのか、複数の個人が記憶装置10を使用するのかを判定する処理である。また、この判定処理は、単一の端末装置20が記憶装置10を使用するのか、複数の端末装置20が記憶装置10を使用するのかを判定する処理である。
優先レベルが個人に設定されていなければ(グループに設定されていれば)、ステップS3002に進む。
【0346】
ステップS3002で、CPU21は、予め登録されている所定のサーバと通信可能か否かを判定する。所定のサーバのURLまたはアドレスの情報は予めセキュリティソフトウエア16−1bが備えている。サーバと通信可能であれば、ステップS3003に進む。
【0347】
ステップS3003で、CPU12は、サーバから受信した設定情報に含まれていたPC固有値を、記憶装置10に記憶されているホストPC登録情報18−1の代わりに、セキュリティソフトウエア16−1bに適用する。
【0348】
一方、ステップS3001で、優先レベルが個人に設定されていると判定された場合、または、ステップS3002で、所定のサーバと通信できないと判定された場合、ステップS3004に進む。
【0349】
ステップS3004で、CPU21は、記憶装置10に記憶されているホストPC登録情報18−1をセキュリティソフトウエア16−1bに適用する。
【0350】
このように、情報漏洩防止プログラムであるセキュリティソフトウエアは、情端末装置20が所定のサーバと接続可能か否かを判定する接続判定手段(S3002)と、端末装置20が所定のサーバと接続可能であれば、所定のサーバから受信した第1の情報を第2の情報に適用し(S3003)、端末装置20が所定のサーバと接続可能でなければ、第1の記憶領域に記憶されている第1の情報を第2の情報に適用する(S3004)情報切り替え手段として端末装置20を機能させる。
【0351】
また、セキュリティソフトウエアは、単一の個人が記憶装置10を使用するのどうかを判定する使用者判定手段(S3001)と、単一の個人が記憶装置10を使用するのであれば、第1の記憶領域に記憶されている第1の情報を第2の情報に適用し(S3004)、単一の個人が記憶装置10を使用するのでなければ、所定のサーバから受信した第1の情報を第2の情報に適用する(S3003)情報切り替え手段として端末装置20を機能させる。
【0352】
同様に、セキュリティソフトウエアは、予め定められた単一の端末装置20が記憶装置10を使用するのか、予め定められた複数の端末装置20が記憶装置10を使用するのかを判定する判定手段(S3001)と、単一の端末装置20が記憶装置10を使用するのであれば、第1の記憶領域に記憶されている第1の情報を第2の情報に適用し(S3004)、複数の端末装置20が記憶装置10を使用するのであれば、所定のサーバから受信した第1の情報を第2の情報に適用する(S3003)情報切り替え手段として情報処理装置を機能させる。
【0353】
図31は、ホストPC登録情報18−1の登録を示したシーケンス図である。ステップS3101で、クライアントである端末装置20のCPU21は、記憶装置10内に予めアドレスが登録されている所定のサーバへ応答確認要求を送信する。これは、端末装置20がサーバと接続されているか否かを確認するためである。
【0354】
ステップS3102で、サーバ装置のCPU21は、応答確認要求を受信すると、所定のサーバである旨の情報を端末装置20へ送信する。また、サーバ装置のCPU21は、HDD25に記憶しているホストPC登録情報(例えば、PC固有値等)も一緒に端末装置20へ送信してもよい。
【0355】
ステップS3103で、端末装置20のCPU21は、サーバから送信された所定のサーバである旨の情報と、記憶装置10内に予め登録されている所定のサーバに関する情報が一致しているか否かを判定する。両者が一致していなければ、CPU21は、受信した情報を破棄する。一方、両者が一致している場合、ステップS3104に進む。
【0356】
ステップS3104で、CPU21は、サーバから送信されたホストPC登録情報をホストPC登録情報18−1へ登録する。
【0357】
図32は、ホストPC登録情報18−1の登録を行うまでの変形例を示したシーケンス図である。ステップS3201で、クライアントである端末装置20のCPU21は、クライアントに関する情報(例えば、ユーザIDやデバイスID等)をサーバへ送信する。ステップS3202で、サーバ装置のCPU21は、端末装置20から受信したクライアントに関する情報と、予めHDD25に記憶しているクライアントに関する情報とが一致しているか否かを判定する。両者が一致していなければ、CPU21は、エラー処理を実行する。両者が一致している場合、ステップS3203に進む。
【0358】
ステップS3203で、サーバ装置のCPU21は、受信したクライアントに関する情報に対応したホストPC登録情報(例えば、グループID等)を端末装置20に送信する。
【0359】
ステップS3204で、端末装置20のCPU21は、サーバから受信したホストPC登録情報を記憶装置10のホストPC登録情報18−1として登録する。なお、ホストPC登録情報18−1の更新は、記憶装置10が端末装置20に接続されたごとに実行されてもよいし、ユーザの利便性を考慮して所定の期間ごと(例えば四半期毎)に実行されてもよい。
【0360】
以上説明したように、本実施例によれば、情報漏洩防止プログラムであるセキュリティソフトウエア25−1は、端末装置20をサーバと接続し、サーバから受信した情報によって第1の情報を更新する更新手段として端末装置20を機能させる。よって、サーバを介してホストPC登録情報等を更新することが可能となる。すなわち、また、ホストPC登録情報には、特定のグループに属する複数のPCの固有値が記憶されるため、複数のホストPCを実現できる。例えば、特定のグループに属した複数のPC間では、記憶装置10を一般的なUSBメモリとして使用することが可能となる。一方で、特定のグループに属していない社外のPCについては、ホストPCになれないため、記憶装置10に関するデータへのアクセスが制限される。よって、記憶装置10のセキュリティを柔軟に維持することができる。
【0361】
本実施例では、グループ管理によって、ユーザグループごとに、セキュリティレベルを変更することが可能となる。もちろん、ユーザごとのセキュリティレベルをサーバから受信してホストPC登録情報18−1に保持すれば、ユーザごとにセキュリティレベルを変更することが可能となる。
【技術分野】
【0001】
本発明は、記憶装置、情報処理装置、端末装置およびコンピュータプログラムに係り、とりわけ情報漏洩等を抑制するためのセキュリティ技術に関する。
【背景技術】
【0002】
情報化社会である今日、業務形態としてパーソナルコンピュータに代表される情報端末装置(以下端末装置)を用いることが多くなっている。官公庁、企業、公共施設を始めとした組織では、保有する情報がデジタルデータで扱われる。デジタル化された業務用書類は、複製や頒布が極めて容易である。それゆえ、データの機密性、完全性、可用性を確保するための情報セキュリティ技術へのニーズが高まっている。
【0003】
一方、端末装置の汎用性の高い外部記憶装置として、持ち運びが可能な様々なリムーバブルディスクが普及している。とりわけ、USBコネクタを一体化した小型で着脱可能なUSBストレージデバイスは、近年、目覚しく普及している。使用形態も様々で、例えば、業務作業に必要な情報を予めUSBストレージデバイスに記憶して持ち出し、外出先の端末装置に接続して作業を行うことも可能である。
【0004】
しかし、USBストレージデバイスは便利である反面、セキュリティに関して脆弱であった。例えば、悪意ある者がUSBストレージデバイスに記憶されている機密情報を、故意に第3者の端末装置へ移動したり、複製したりすることが挙げられる。
【0005】
従来、このような情報漏洩を防止する技術が提案されている。特許文献1によれば、個人認証機能により認証された特定使用者だけが、保護・秘匿すべき秘匿領域にあるデータを保存・消去することができ、特定使用者の情報を保護できるUSBストレージデバイスが提案されている。
【0006】
また、USBストレージデバイスの読取技術として、特許文献2によれば、記憶装置内部の記憶領域のうち、1つをCD−ROMデバイスとして、もう1つをリムーバブルディスク領域としてPCに認識させて読取る方法が提案されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2006−301772号公報
【特許文献2】特許第3699717号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかし、特許文献1に記載されている漏洩防止方法では、USBストレージデバイスに記憶されている機密情報を外部の端末装置で閲覧した後、記憶させたままで消去を忘れてしまうということがあり、その結果その端末装置から情報漏洩が発生する。
【0009】
また、その他の課題として、特許文献2に記載されたUSBの読取方法では、同時に2つのドライブをPCに認識させることが前提となっている。そのため、ドライブレターが枯渇しやすくなったり、PCが備えるドライブに割り当てられるドライブレターがユーザの意図したものと異なってしまったりするなど、PCのドライブ環境に大きな影響を与えかねない。
【0010】
そこで、本発明は、記憶装置の記憶領域内部の機密情報が、外部の端末装置等から漏洩することを防止する記憶装置等を提供することを目的とする。
なお、他の課題については明細書の全体を通して理解できよう。
【課題を解決するための手段】
【0011】
第1の観点によれば、
汎用インターフェースを介して情報処理装置と接続される記憶装置において、
第1の情報を格納する第1の記憶領域と、
編集可能な第2の情報を格納する読み出し書き込み可能な第2の記憶領域とを有し、
第1の情報は、
第2の情報が漏洩することを防止する情報漏洩防止プログラムと、
第2の情報の格納が許容される格納先を特定するデータとのうち少なくとも一方と
を含むことを特徴とする記憶装置が提供される。
【0012】
第2の観点によれば、
第1の情報は、情報処理装置に記憶装置が接続されたときに情報漏洩防止プログラムを情報処理装置において起動させるための起動ファイルをさらに含むことを特徴とする記憶装置が提供される。
【0013】
第3の観点によれば、
情報漏洩防止プログラムは、情報処理装置をサーバと接続し、サーバから受信した情報によって第1の情報を更新する更新手段として情報処理装置を機能させることを特徴とする記憶装置が提供される。
【0014】
第4の観点によれば、
第1の情報は、前記第2の情報をアクセスする対象者を特定するデータを含むことを特徴とする記憶装置が提供される。
【0015】
第5の観点によれば、
情報漏洩防止プログラムは、情報処理装置が第2の情報を閲覧することを許可するとともに、情報処理装置へ第2の情報を格納することを禁止するコンピュータプログラムであることを特徴とする記憶装置が提供される。
【0016】
第6の観点によれば、
情報漏洩防止プログラムは、情報処理装置が第2の情報を編集し、編集した第2の情報を第2の記憶領域に格納することを許可するコンピュータプログラムであることを特徴とする記憶装置が提供される。
【0017】
第7の観点によれば、
情報処理装置から記憶装置が取り外されたことを検出する取り外し検出手段と、
記憶装置が情報処理装置から取り外されたことが検出されると、第1の情報および第2の情報を情報処理装置からクリアないしアンインストールする手段として、
情報処理装置を機能させることを特徴とする記憶装置が提供される。
【0018】
第8の観点によれば、
情報漏洩防止プログラムは、
第2の情報の格納先が第1の情報によって特定されている場合、情報処理装置が第2の情報を第2の記憶領域に加えて特定されている格納先にも格納することを許可することを特徴とする記憶装置が提供される。
【0019】
第9の観点によれば、
情報漏洩防止プログラムは、ネットワークに接続された情報処理装置が第2の情報をネットワーク上に配信することを許可することを特徴とする記憶装置が提供される。
【0020】
第10の観点によれば、
情報漏洩防止プログラムは、情報処理装置のプログラム動作を監視及び制御する手段として情報処理装置を機能させることで、情報処理装置へ第2の情報を格納することを禁止することを特徴とする記憶装置が提供される。
【0021】
第11の観点によれば、
情報処理装置のプログラム動作を監視及び制御する手段は、カーネルモードにて動作することを特徴とする記憶装置が提供される。
【0022】
第12の観点によれば、
情報漏洩防止プログラムは、情報処理装置のレジストリを監視し、レジストリの変更があった場合、レジストリにおいて変更された情報を変更前の情報に戻す手段として情報処理装置を機能させることを特徴とする記憶装置が提供される。
【0023】
第13の観点によれば、
変更前の情報に戻す手段は、第2の情報を電子メールにより送信すること、または第2の情報を壁紙として使用すること禁止する手段であることを特徴とする記憶装置が提供される。
【0024】
第14の観点によれば、
情報漏洩防止プログラムは、情報処理装置に情報を格納するデバイスと、情報処理装置から情報を送信するデバイスを無効化する手段として情報処理装置を機能させることを特徴とする記憶装置が提供される。
【0025】
第15の観点によれば、
デバイスを無効化する手段は、フレキシブルドライブディスクへの情報の書き込み、またはネットワークへの情報のアップロードを禁止する手段であることを特徴とする記憶装置が提供される。
【0026】
第16の観点によれば、
情報漏洩防止プログラムは、第2の情報を情報処理装置へ格納することに導く操作を禁止する手段として情報処理装置を機能させることを特徴とする記憶装置が提供される。
【0027】
第17の観点によれば、
操作を禁止する手段は、ダイアログ表示、ドラックアンドドロップ、クリップボードの利用のいずれか一つ、または複数の組み合わせを禁止する手段であることを特徴とする請求項16記載の記憶装置が提供される。
【0028】
第18の観点によれば、
着脱可能な記憶装置を汎用インターフェースに接続可能な情報処理装置において、
記憶装置は、
第1の情報を格納する第1の記憶領域と、
編集可能な第2の情報を格納する読み出し書き込み可能な第2の記憶領域とを有し、
第1の情報は、第2の情報の漏洩防止のために取扱いを制御する情報を備え、
情報処理装置は、第1の情報を第1の記憶領域から読み出して実行する
ことを特徴とする情報処理装置が提供される。
【0029】
第19の観点によれば、
情報処理装置において、
第1の情報を格納する読み出し専用の第1の記憶領域と、
編集可能な第2の情報を格納する読み出し書き込み可能な第2の記憶領域とを有し、
第1の情報は、第2の情報の格納先の特定を制御する情報であることを特徴とする情報処理装置が提供される。
第20の観点によれば、
第1の情報は、第2の情報が漏洩することを防止する情報漏洩防止プログラムを含むことを特徴とする情報処理装置が提供される。
【0030】
第21の観点によれば、
汎用インターフェースを介して情報処理装置と接続される記憶装置の第1の記憶領域から第1の情報を読み出す第1のステップと、
記憶装置の第2の記憶領域に記憶された編集可能な第2の情報の情報処理装置における取扱いを第1の情報により制御することで、第2の情報の漏洩を防止する第2のステップと
を情報処理装置に実行させるコンピュータプログラムであって、
第1の情報は、
第2の情報の格納が許容される格納先を含むことを特徴とするコンピュータプログラムが提供される。
【0031】
本発明の第22の観点によれば、
端末装置が備える汎用インターフェースに対して着脱可能な記憶装置であって、
端末装置によって択一的に認識される第1の記憶領域および第2の記憶領域と、
第1の記憶領域に記憶され、端末装置に認識される記憶領域を第1の記憶領域から第2の記憶領域へと切り替えるための切り替えプログラムと、
第1の記憶領域に記憶され、端末装置に記憶装置が接続されたときに切り替えプログラムを端末装置において起動させるための起動ファイルと、
を備え、
端末装置は、記憶装置が接続されると、第1の記憶領域から起動ファイルを読み出して実行することで切り替えプログラムを起動し、端末装置に認識される記憶領域を第1の記憶領域から第2の記憶領域へと切り替える切り替え手段として機能することを特徴とする記憶装置が提供される。
【0032】
本発明の第23の観点によれば、
第1の記憶領域は、読み出しのみ可能な記憶領域であり、第2の記憶領域は、読み出しおよび書き込みとも可能な記憶領域であることを特徴とする記憶装置が提供される。
【0033】
本発明の第24の観点によれば、
起動ファイルは、autorun.infファイルであることを特徴とする記憶装置が提供される。
【0034】
本発明の第25の観点によれば、
第1の記憶領域および第2の記憶領域はそれぞれ異なるパーティションであり、
切り替えプログラムは、第1の記憶領域であるパーティションを不可視状態に切り替えた後、第2の記憶領域であるパーティションを可視状態に切り替えることを特徴とする記憶装置が提供される。
【0035】
本発明の第26の観点によれば、
切り替えプログラムにしたがって端末装置が発行する切り替え命令を受信することで、端末装置に認識される記憶領域を第1の記憶領域から第2の記憶領域へと切り替える第1のコントローラを備えることを特徴とする記憶装置が提供される。
【0036】
本発明の第27の観点によれば、
第1のコントローラは、切り替え命令を受信すると、第1の記憶領域の論理ユニット番号と第2の記憶領域の論理ユニット番号を変更することを特徴とする記憶装置が提供される。
【0037】
本発明の第28の観点によれば、
切り替えプログラムは、端末装置に認識される記憶領域を第1の記憶領域から第2の記憶領域へと切り替えたとしても記憶装置に割り当てられるドライブレターを維持する維持手段として端末装置を機能させることを特徴とする記憶装置が提供される。
【0038】
本発明の第29の観点によれば、
切り替えプログラムは、第1の記憶領域に記憶されている情報漏洩防止プログラムを端末装置にインストールしてから、端末装置に認識される記憶領域を第1の記憶領域から第2の記憶領域へと切り替えることを特徴とする記憶装置が提供される。
【0039】
本発明の第30の観点によれば、
情報漏洩防止プログラムは、
記憶装置が端末装置から取り外されたことを検出する取り外し検出手段と、
記憶装置が端末装置から取り外されたことが検出されると、記憶装置から端末装置へとインストールされたプログラムおよびファイルをアンインストールする手段として、端末装置を機能させることを特徴とする記憶装置が提供される。
【0040】
本発明の第31の観点によれば、
端末装置において実行されるプロセスのうち、第2の記憶領域に対するアクセスを許可されたプロセスの識別情報を登録したホワイトリストを記憶した第3の記憶領域をさらに含み、
情報漏洩防止プログラムは、
端末装置において実行されているプロセスの識別情報が、ホワイトリストに登録されている識別情報と一致するか否かに応じて、第2の記憶領域に対するアクセスを制限するアクセス制限手段として、端末装置を機能させることを特徴とする記憶装置が提供される。
【0041】
本発明の第32の観点によれば、
第3の記憶領域には、端末装置において実行されるプロセスのうち、アクセス対象の如何にかかわらず、動作をキャンセルされるプロセスの識別情報を登録したブラックリストを記憶しており、
情報漏洩防止プログラムは、
端末装置において実行されているプロセスの識別情報が、ブラックリストに登録されている識別情報と一致すると、プロセスによる動作をキャンセルするキャンセル手段として、端末装置を機能させることを特徴とする記憶装置が提供される。
【0042】
本発明の第33の観点によれば、
アクセス制限手段は、
端末装置において実行されているプロセスの識別情報が、ブラックリストおよびホワイトリストのいずれにも登録されていない場合、このプロセスが記憶装置の記憶領域にアクセスすることを限定することを特徴とする記憶装置が提供される。
【0043】
本発明の第34の観点によれば、
記憶装置に予め記憶されている認証情報と、端末装置または記憶装置に設けられた入力手段から入力された認証情報とを用いて認証処理を実行する認証手段をさらに含み、認証処理が成功すると、切り替えプログラムが、端末装置に認識される記憶領域を第1の記憶領域から第2の記憶領域へと切り替えることを特徴とする記憶装置が提供される。
【0044】
本発明の第35の観点によれば、
記憶装置に予め記憶されている認証情報と、端末装置または記憶装置に設けられた入力手段から入力された認証情報とを用いて認証処理を実行する認証手段をさらに含み、認証処理が成功すると、情報漏洩防止プログラムは、記憶装置に対するアクセスの制限を解除する解除手段として端末装置を機能させることを特徴とする記憶装置が提供される。
【0045】
本発明の第36の観点によれば、
切り替えプログラムは、記憶装置に認証情報が予め記憶されていなければ、認証情報の初期登録を実行する登録手段として端末装置を機能させることを特徴とする記憶装置が提供される。
【0046】
本発明の第37の観点によれば、
認証情報は、端末装置に付与されているMACアドレス、型式番号、製造番号およびIPアドレスのうち1つまたは複数を含む端末装置登録情報であることを特徴とする記憶装置が提供される。
【0047】
本発明の第38の観点によれば、
認証情報は、ユーザを特定するための識別子、パスワード、暗証番号、バイオメトリクス情報のうち1つまたは複数を含むユーザ登録情報であることを特徴とする記憶装置が提供される。
【0048】
本発明の第39の観点によれば、
端末装置が備える汎用インターフェースに対して着脱可能な記憶装置の制御方法であって、
記憶装置は、
端末装置によって択一的に認識される第1の記憶領域および第2の記憶領域と、
第1の記憶領域に記憶され、端末装置に認識される記憶領域を第1の記憶領域から第2の記憶領域へと切り替えるための切り替えプログラムと、
第1の記憶領域に記憶され、端末装置に記憶装置が接続されたときに切り替えプログラムを端末装置において起動させるための起動ファイルと、
を備え、
端末装置が記憶装置に接続されると、第1の記憶領域から起動ファイルを読み出して実行するステップと、
起動ファイルにしたがって切り替えプログラムを実行するステップと、
切り替えプログラムにしたがって端末装置に認識される記憶領域を第1の記憶領域から第2の記憶領域へと切り替えるステップと
を含むことを特徴とする制御方法が提供される。
【0049】
本発明の第40の観点によれば、
端末装置が備える汎用インターフェースに対して着脱可能であり、端末装置によって択一的に認識される第1の記憶領域および第2の記憶領域とを備えた記憶装置において、端末装置に接続されたときにコンピュータプログラムを端末装置において起動させるための起動ファイルとともに第1の記憶領域に記憶されたコンピュータプログラムであって、記憶装置が端末装置に接続されたことで第1の記憶領域から読み出された起動ファイルにしたがってコンピュータプログラムが端末装置によって起動されると、端末装置に認識される記憶領域を第1の記憶領域から第2の記憶領域へと切り替える切り替え手段として端末装置を機能させることを特徴とするコンピュータプログラムが提供される。
【0050】
本発明の第41の観点によれば、
切り替え手段は、第1の記憶領域に記憶されている情報漏洩防止プログラムを端末装置にインストールしてから、端末装置に認識される記憶領域を第1の記憶領域から第2の記憶領域へと切り替えることを特徴とするコンピュータプログラムが提供される。
【0051】
本発明の第42の観点によれば、
情報漏洩防止プログラムは、
記憶装置が端末装置から取り外されたことを検出する取り外し検出手段と、
記憶装置が端末装置から取り外されたことが検出されると、記憶装置から端末装置へとインストールされたプログラムおよびファイルをアンインストールする手段として、端末装置を機能させることを特徴とする観点22に記載のコンピュータプログラムが提供される。
【0052】
本発明の第43の観点によれば、
着脱可能な記憶装置を汎用インターフェースに接続する端末装置であって、
記憶装置は、
端末装置によって択一的に認識される第1の記憶領域および第2の記憶領域と、
第1の記憶領域に記憶され、端末装置に認識される記憶領域を第1の記憶領域から第2の記憶領域へと切り替えるための切り替えプログラムと、
第1の記憶領域に記憶され、端末装置に記憶装置が接続されたときに切り替えプログラムを端末装置において起動させるための起動ファイルと、
を備え、
端末装置は、
記憶装置が接続されると、第1の記憶領域から起動ファイルを読み出し、起動ファイルにしたがって切り替えプログラムを実行する手段と、
切り替えプログラムにしたがって端末装置から認識可能な記憶領域を第1の記憶領域から第2の記憶領域へと切り替える切り替え手段と
を含むことを特徴とする端末装置が提供される。
【0053】
第44の観点によれば、
情報漏洩防止プログラムは、ホワイトリストに登録されているファイル操作プログラムまたはメーラープログラムによるファイルの漏洩を防止するためにレジストリを一時的に変更するレジストリ変更手段として、端末装置を機能させることを特徴とする記憶装置が提供される。
【0054】
第45の観点によれば、
情報漏洩防止プログラムは、ホワイトリストに登録されているファイル操作プログラムによるファイルの漏洩を防止するために通信装置から外部へ送信されるファイルが情報漏洩対象ファイルであるか否かを監視し、情報漏洩対象ファイルが送信対象として指定されると、その送信を禁止する送信禁止手段として、端末装置を機能させることを特徴とする記憶装置が提供される。
【0055】
第46の観点によれば、
情報漏洩防止プログラムは、フレキシブルディスクドライブに書き込まれるファイルが情報漏洩対象ファイルであるか否かを監視し、情報漏洩対象ファイルが書き込み対象として指定されると、その書き込みを禁止する書き込み禁止手段として、端末装置を機能させることを特徴とする記憶装置が提供される。
【0056】
第47の観点によれば、
情報漏洩防止プログラムは、情報漏洩対象ファイルまたはその一部を端末装置のメモリ上で複製するためのダイアログの表示が指定されると、当該ダイアログの表示を禁止するダイアログ禁止手段として、端末装置を機能させることを特徴とする記憶装置が提供される。
【0057】
第48の観点によれば、
情報漏洩防止プログラムは、情報漏洩対象ファイルまたはその一部についての複数のウインドウ間でのドラックアンドドロップを監視し、ドラックアンドドロップが指定されると、その実行を禁止するドラックアンドドロップ禁止手段として、端末装置を機能させることを特徴とする記憶装置が提供される。
【0058】
第49の観点によれば、
情報漏洩防止プログラムは、クリップボードの使用を独占することで、情報漏洩対象ファイルまたはその一部を該クリップボードへコピーすることを防止するクリップボード独占手段として、端末装置を機能させることを特徴とする記憶装置が提供される。
【0059】
第50の観点によれば、
汎用インターフェースを介して情報処理装置と接続される記憶装置において、
第1の情報を格納する第1の記憶領域と、
編集可能な第2の情報を格納する読み出し書き込み可能な第2の記憶領域とを有し、
第1の情報は、
第2の情報の漏洩を防止するために第2の情報の取扱いを制御する情報漏洩防止プログラムと、
前情報漏洩防止プログラムを情報処理装置において起動させるための起動ファイルと
を含むことを特徴とする記憶装置が提供される。
【0060】
第51の観点によれば、
情報漏洩防止プログラムは、
情報処理装置が所定のサーバと接続可能か否かを判定する接続判定手段と、
情報処理装置が所定のサーバと接続可能であれば、所定のサーバから受信した第1の情報を第2の情報に適用し、情報処理装置が所定のサーバと接続可能でなければ、第1の記憶領域に記憶されている第1の情報を第2の情報に適用する情報切り替え手段
として情報処理装置を機能させることを特徴とする記憶装置が提供される。
【0061】
第52の観点によれば、
情報漏洩防止プログラムは、
単一の個人が記憶装置を使用するのどうかを判定する使用者判定手段と、
単一の個人が記憶装置を使用するのであれば、第1の記憶領域に記憶されている第1の情報を第2の情報に適用し、単一の個人が記憶装置を使用するのでなければ、所定のサーバから受信した第1の情報を第2の情報に適用する情報切り替え手段
として情報処理装置を機能させることを特徴とする記憶装置が提供される。
【0062】
第53の観点によれば、
情報漏洩防止プログラムは、
予め定められた単一の情報処理装置が記憶装置を使用するのか、予め定められた複数の情報処理装置が記憶装置を使用するのかを判定する判定手段と、
単一の情報処理装置が記憶装置を使用するのであれば、第1の記憶領域に記憶されている第1の情報を第2の情報に適用し、複数の情報処理装置が記憶装置を使用するのであれば、所定のサーバから受信した第1の情報を第2の情報に適用する情報切り替え手段
として情報処理装置を機能させることを特徴とする記憶装置が提供される。
【0063】
第54の観点によれば、
第1の情報は、
第2の情報を第2の記憶領域から読み出して不揮発性記憶手段へ格納することができる複数の情報処理装置の識別情報と、
複数の情報処理装置のそれぞれが第2の情報を第2の記憶領域から読み出して不揮発性記憶手段へ格納することができる時間帯を示す時間帯情報と
を含み、
情報漏洩防止プログラムは、
記憶装置が接続されている情報処理装置の識別情報に対応した時間帯情報に基づいて、情報処理装置による第2の情報の取扱いを制限することを特徴とする記憶装置が提供される。
【0064】
第55の観点によれば、
第1の情報は、
複数のユーザのそれぞれに対応した第2の情報の取扱いを規定したユーザ設定を含むことを特徴とする記憶装置が提供される。
【0065】
第56の観点によれば、
第1の情報は、
それぞれ一人以上のユーザからなるユーザグループごとに、第2の情報の取扱いを規定したユーザ設定を含むことを特徴とする記憶装置が提供される。
【発明の効果】
【0066】
第1、第18ないし第21、及び第50の観点によれば、汎用インターフェースを介して記憶装置が接続可能な情報処理装置から、記憶装置にある重要な情報が漏洩することを防止できる。
【0067】
第2の観点によれば、情報漏洩防止プログラムを起動するためのユーザの負担を軽減することができる。
【0068】
第3の観点によれば、情報の漏洩防止に必要となる情報を最新の情報に維持しやすくなる。情報の漏洩防止に必要となる情報をサーバから遠隔的に更新できるため、記憶装置のセキュリティに関する管理に柔軟性をもたらすことができる。
【0069】
第4の観点によれば、更に対象者以外に漏洩することを防止できる。
【0070】
第5の観点によれば、情報処理装置において第2の情報を閲覧可能にしつつ、ハードディスクなどの不揮発性の記憶装置への格納を禁止することができる。
【0071】
第6の観点によれば、情報処理装置において編集された第2の情報を第2の記憶領域に格納することが可能となる。これにより、情報漏洩を抑制しつつ、第2の情報を様々な情報処理装置を用いて更新することが可能となる。
【0072】
第7の観点によれば、情報処理装置から記憶装置が取り外されると、第1の情報および第2の情報を情報処理装置からアンインストールすることで、情報漏洩を抑制できる。
【0073】
第8の観点によれば、第2の情報の格納先が特定されている場合、第2の情報を第2の記憶領域以外を格納先とすることができる。例外的に、第2の情報の格納先が特定されていれば、その格納先への情報の格納を許容することで、使用者の利便性が確保されよう。
【0074】
第9の観点によれば、情報処理装置を通じて第2の情報をネットワーク上に配信することを可能にできる。
【0075】
第10の観点によれば、第2の情報が情報処理装置内に格納されることを禁止できUSBメモリのデータを残したまま放置するのを防止できる。
【0076】
第11の観点によれば、情報処理装置のプログラム動作を監視、制御を行う手段がカーネルモードにて動作するため、情報漏洩をコンピュータ上効率良く防止できる。
【0077】
第12の観点によれば、レジストリの変更があった場合、レジストリを変更前の情報に戻すことで、情報漏洩やレジストリの改ざんを抑制できる。
【0078】
第13の観点によれば、第2の情報が、メール送信されたり壁紙として使用されたりして情報漏洩することを抑制できる。
【0079】
第14ないし第15の観点によれば、情報漏洩を引き起こす可能性のあるデバイスを予め無効化することで、情報漏洩を抑制できる。
【0080】
第16ないし第17の観点によれば、ダイアログ表示、ドラックアンドドロップ、クリップボードなど、第2の情報の全部又はその一部の情報漏洩を招く動作を抑制することができる。
【0081】
第19、20の観点によれば、複数のユーザが情報処理装置を利用する場合他人のデータファイルを誤って漏洩するのを防止できる。
【0082】
本発明の第22、第39、第40および第43の観点によれば、記憶装置を端末装置に接続すると、自動的に、記憶領域が切り替えられるため、ユーザの負担が軽くなるだろう。すなわち、第1の記憶領域および第2の記憶領域は、端末装置によって択一的に認識されるため、端末装置への影響も軽減しよう。
【0083】
第23の観点によれば、第1の記憶領域を読み出しのみ可能とし、第2の記憶領域を読み出しおよび書き込みとも可能とすることで、情報漏洩の防止が期待できる。一般に、機密情報等は、読み出しおよび書き込みとも可能な第2の記憶領域に記憶される、そゆれえ、切り替えプログラムがインストールされなければ、機密情報等が記憶された第2の記憶領域が端末装置によって認識されないからである。
【0084】
第24の観点によれば、広く普及したautorun.infファイルが利用されるため、簡単で精度良く、かつ低コストで記憶装置を提供できる。
【0085】
第25の観点によれば、複数の記憶領域がパーティションによって実現されるため、記憶装置が備えるメモリなどのハードウエアに依存することなく、本願発明を実現できる。また、第2の記憶領域についてはサイズを変更したり、パーティションを分割したりすることも容易となる利点もある。
【0086】
第26の観点によれば、第1および第2の記憶領域が物理的に異なるメモリ上に確保されるため、第2の記憶領域を除き見ることを抑制しやすくなる。パーティション技術により複数の記憶領域を確保すると、パーティションを可視状態にすることで、複数の記憶領域が同時に端末装置に認識されてしまう。よって、物理的にメモリを切り替える構成を採用すれば、複数の記憶領域を同時に認識させることは極めて困難となる。
【0087】
第27の観点によれば、論理ユニット番号を変更するだけで、比較的簡単に、記憶領域の切り替えを実現できる。
【0088】
第28の観点によれば、ドライブレターが維持されるようになるため、ユーザは、記憶領域が変更されたことを気にしなくて済む。また、ドライブレターが枯渇しにくくなる。
【0089】
第29および第41の観点によれば、情報漏洩防止プログラムが端末装置にインストールされてから第2の記憶領域が認識可能となるため、第2の記憶領域に関する情報漏洩を抑制しやすくなる。すなわち、情報漏洩防止プログラムがインストールされなければ、第2の記憶領域が認識可能とならないからである。
【0090】
第30および第42の観点によれば、記憶装置が端末装置から外されたときは、関連するプログラムやファイルがすべて削除されるため、情報の漏洩が抑制される。
【0091】
第31の観点によれば、ホワイトリストに登録されていないプロセスが第2の記憶領域にアクセスすることを制限できるため、意図しないプロセスによって情報が漏洩する事態を抑制できる。
【0092】
第32の観点によれば、ブラックリストに登録されているプロセスはアクセスを禁止されるため、悪質なウイルス等から記憶装置や端末装置を保護しやすくなる。
【0093】
第33の観点によれば、ホワイトリストにもブラックリストにも登録されていないプロセスが第2の記憶領域にアクセスすることを限定できるため、ユーザが意図的に許可したプロセス以外のアクセスを制限できる。
【0094】
第34の観点によれば、認証が成功しなければ、第2の記憶領域へのアクセスが許可されないため、情報漏洩の可能性をさらに低減できる。
【0095】
第35の観点によれば、認証が成功しなければ、第2の記憶領域へのアクセスの制限が解除されないため、情報漏洩の可能性をさらに低減できる。
【0096】
第36の観点によれば、認証情報が何も登録されていないときは認証情報を初期登録することが可能となる。
【0097】
第37および38の観点によれば、端末装置やユーザの固有情報が使用されるため、認証処理のセキュリティを高めることが期待される。
【0098】
第44の観点によれば、ホワイトリストに登録せざるを得ないファイル操作プログラムによるファイルの漏洩についても防止できるようになる。
【0099】
第45の観点によれば、ホワイトリストに登録せざるを得ないファイル操作プログラムによる通信装置を介したファイルの漏洩についても防止できるようになる。
【0100】
第46の観点によれば、特殊な状況下で発生しうるフレキシブルディスクドライブを通じたファイルの漏洩を防止できる。
【0101】
第47の観点によれば、所定のダイアログの表示を禁止することで、情報漏洩対象ファイルまたはその一部が端末装置のメモリ上での複製を防止できる。
【0102】
第48の観点によれば、情報漏洩対象ファイルまたはその一部についての複数のウインドウ間でのドラックアンドドロップによる情報漏洩を防止できる。
【0103】
第49の観点によれば、クリップボードの使用を独占することで、情報漏洩対象ファイルまたはその一部をクリップボードへコピーすることを防止できるようになる。
【0104】
第51の観点によれば、サーバと接続可能であればサーバに保持されている情報にしたがって情報漏洩を防止でき、サーバと接続可能でなければ記憶装置に情報にしたがって情報漏洩を防止できる。例えば、サーバと接続できないような環境では、より厳格なアクセス制限を適用することが可能となる。
【0105】
第52及び第53の観点によれば、単一の個人が使用するのか、複数の個人からなるグループが使用するのかに応じて、セキュリティレベルを変更することが可能となる。
【0106】
第54の観点によれば、記憶装置が情報処理装置に接続されている時間帯に応じてセキュリティレベルを変更することが可能となる。
【0107】
第55の観点によれば、複数のユーザが記憶装置を使用する場合に、ユーザごとにセキュリティレベルを変更することが可能となる。
第56の観点によれば、ユーザグループごとに、セキュリティレベルを変更することが可能となる。
【図面の簡単な説明】
【0108】
【図1】本発明に係る記憶装置の実施形態であるUSBストレージデバイスとそれに接続される端末装置とを示す概略構成図である。
【図2】実施例1に係るフラッシュメモリ15に確保された記憶領域および当該記憶領域へ記憶されているデータ、ソフトウエア、インストーラの一例を示した図である。
【図3】実施例に係る領域変更処理の一例を示したフローチャートである。
【図4】実施例に係る端末装置が取得した記憶領域の管理情報の一例を示す図である。
【図5】実施例に係る端末装置が取得した記憶領域の管理情報の一例を示す図である。
【図6】実施例に係る端末装置によって認識された第1の記憶領域の一例を示す図である。
【図7】実施例に係る端末装置によって認識された第2の記憶領域の一例を示す図である。
【図8】実施例に係るUSBストレージデバイス10が端末装置20から外されたときに実行されるアンインストール処理の一例を示すフローチャートである。
【図9】実施例に係るLUNの管理情報(管理テーブル)の一例を示す図である。
【図10】LUNを書き換える前の管理テーブル(初期値)を示す図である。
【図11】LUNを書き換えた後の管理テーブルを示す図である。
【図12】実施例に係る管理テーブル(初期値)の一例を示す図である。
【図13】実施例に係る管理テーブル(書き換え後)の一例を示す図である。
【図14】実施例に係る記憶装置の記憶内容と端末装置の記憶内容との一例を示す図である。
【図15】実施例3に係る記憶領域の切り替え方法の一例を示したフローチャートである。
【図16】ホワイトリストの一例を示す図である。
【図17】ブラックリストの一例を示す図である。
【図18】利用制限機能の動作の一例を示したフローチャートである。
【図19】カーネル部が処理するイベントの一例を示す図である。
【図20】カーネル部が開始されてから定常状態に至るまでのシーケンスを示した図である。
【図21】図19に示した3番目のイベントの動作を示したフローチャートである。
【図22】図19に示した4番目のイベントの動作を示したフローチャートである。
【図23a】図19に示した5番目のイベントの動作を示したフローチャートである。
【図23b】図19に示した6番目のイベントの動作を示したフローチャートである。
【図24】実施例4に係るユーザ部での制御手段及びその代表例と制御理由を示す一覧表である。
【図25】実施形態に係るグループ管理の一例を示したシーケンス図である。
【図26】サーバ装置のHDD25に記憶されるUSBメモリ固有値テーブルを示した図である。
【図27】サーバ装置のHDD25に記憶されるPC固有値テーブルを示した図である。
【図28】サーバ装置のHDD25に記憶されるユーザテーブルを示した図である。
【図29】サーバ装置のHDD25に記憶されるグループテーブルを示した図である。
【図30】ホストPC登録情報18−1を適用する端末装置20の動作の一例を示したフローチャートである。
【図31】ホストPC登録情報18−1の登録を示したシーケンス図である。
【図32】ホストPC登録情報18−1の登録を行うまでの変形例を示したシーケンス図である。
【発明を実施するための形態】
【0109】
以下に本発明の一実施形態を示す。以下で説明される個別の実施形態は、本発明の上位概念、中位概念および下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
【0110】
図1は、本発明に係る記憶装置の実施形態であるUSBストレージデバイスとそれに接続される端末装置とを示す概略構成図である。ここでは、汎用インターフェースであるUSBインターフェースにメモリを一体化したUSBストレージデバイスについて説明するが、本発明は、メモリ以外の記憶媒体を採用するUSBストレージデバイスに適用できる。また、端末装置とのインターフェースもUSBインターフェースに限定されることはなく、IEEE1394、ワイヤレスUSBなどであってもよい。
【0111】
USBストレージデバイス10は、端末装置が備える汎用インターフェースに対して着脱可能な記憶装置の一例であり、コントローラ12、USBインターフェース13、発光ダイオード(LED)14、フラッシュメモリ15、指紋認証デバイス11を備えている。
【0112】
コントローラ12は、メモリ制御部12−1、メモリ情報記憶部12−2、USBインターフェース制御部12−3、および、LED制御部12−4を備える。メモリ制御部12−1は、USBインターフェース13を介して受信した命令に従って、フラッシュメモリ15に対してデータの読み出し、書き込みおよび削除を実行する。メモリ情報記憶部12−2は、フラッシュメモリ15に確保された複数の記憶領域に関する情報(例:パーティションのサイズ、ドライブレターなど)を記憶する。USBインターフェース制御部12−3は、後述するUSBインターフェース13の各部を制御する。LED制御部12−4は、後述するLED14の発光を制御する。
【0113】
USBインターフェース13は、USBバス31を介して、パーソナルコンピュータなどの端末装置20と通信を行う。USBインターフェース13は、パケット送受信部13−1、シリアルパラレル変換部13−2、パケット生成分解部13−3、および、USBバスパワー制御部13−4とを備える。パケット送受信部13−1は、図示しないUSBコネクタと接続され、USB規格に基づいたパケットを送受信する。シリアルパラレル変換部13−2は、シリアルデータとパラレルデータとを相互に変換する。パケット生成分解部13−3は、端末装置と通信を行うためのパケットの生成およびパケットを分解してデータの取り出しを行う。USBバスパワー制御部13−4は、端末装置から供給される電力の管理およびUSBストレージデバイス10の各部への電力の配分を行う。
【0114】
LED14は、フラッシュメモリ15に対してファイルの読み出し、書き込み、削除が実行されている際に点灯する発光体である。フラッシュメモリ15に対してファイルの読み出し、書き込みおよび削除が実行中であることを利用者に示す。
【0115】
フラッシュメモリ15は、記憶保持動作が不要な半導体メモリであり、ファイルや情報を記憶することができる。記憶したデータは、メモリ制御部12−1によって読み出し、書き込み、削除をすることもできる。フラッシュメモリ15は、記憶保持動作が必要な他の記憶素子に置換されてもよい。
【0116】
指紋認証デバイス11は、指紋を読み取ることで使用者認証を行うデバイスである。指紋認証デバイス11は、他のバイオメトリクスを実行する認証デバイスに置換されてもよい。この指紋認証デバイス11についてはいわゆるオプションであって、指紋認証を使用者認証に含めない場合には不要である。一方で、指紋認証デバイス11がUSBストレージデバイス10に搭載されているからといって使用者認証が指紋認証に限定される必要もない。すなわち、指紋認証デバイス11は認証機能を無効とされてもよいし、無効に加えて、他の認証方法が採用されてもよい。例えば、端末装置に付与されているMACアドレス、型式番号、製造番号およびIPアドレスのうち1つまたは複数を含む端末装置登録情報を予めフラッシュメモリ15に記憶しておき、端末装置20から受信した情報と比較することで、認証を実行してもよい。また、ユーザを特定するための識別子、パスワード、暗証番号、バイオメトリクス情報のうち1つまたは複数を含むユーザ登録情報を予めフラッシュメモリ15に記憶しておき、端末装置20から受信した情報と比較することで、認証を実行してもよい。なお、一般的な指紋認証デバイスには、内部で認証を済ませ端末装置側へ認証結果を送信するものと、指紋データを端末装置側に送信して端末装置側で認証を行うものとがある。本発明では、どちらが採用されてもよい。
【0117】
端末装置20は、USBストレージデバイス10の接続先であり、例えば、パーソナルコンピュータである。端末装置20は、例えば、CPU21、ROM22、RAM23、ディスクコントローラ24、ハードディスクドライブ(HDD)25、CD/DVDドライブ26、モニタ27、ポインティングデバイス28、USBインターフェース29、システムバス30を備えている。
【0118】
CPU21は、ROM22やHDD25に記憶されているコンピュータプログラムに基づいて各部を制御するプロセッサである。RAM(Random Access Memory)23は、ワークエリアとして機能する。ROM(Read Only Memory)22は、不揮発性の記憶素子であり、ファームウエアなどを記憶する。ディスクコントローラ24は、HDD25、CD/DVDドライブ26に対する読み書きを制御する。HDD25には、オペレーティングシステム、アプリケーションプログラムなどが記憶されている。なお、USBストレージデバイス10から転送される、記憶領域の切り替えプログラムや情報漏洩防止プログラムなどもHDD25に格納される。CPU21と各部は、システムバス30を介して命令やデータの送受信を実行する。
【0119】
USBインターフェース29は、USBバス31を介してUSBストレージデバイス10内部のUSBインターフェース13と接続する。すなわち、USBバス31を介して端末装置20とUSBストレージデバイス10とが双方向にデータの送受信を行う。
【0120】
以降の説明では、端末装置20がパーソナルコンピュータであることを前提にしているが、端末装置20が一般的なパーソナルコンピュータと同等以上、若しくはそれに準ずる演算処理能力を有する機器であるならばその種類、機種は限定されるものではない。例えば、ネットワークを介さない情報処理装置であってもよい。
【0121】
[実施例1]
図2は、実施例1に係るフラッシュメモリ15に確保された記憶領域および当該記憶領域へ記憶されているデータ、ソフトウエア、インストーラの一例を示した図である。とりわけ、実施例1では、端末装置20によって択一的に認識される第1の記憶領域16および第2の記憶領域17とがUSBストレージデバイス10に確保される。このように複数の記憶領域を確保する方法はいくつか存在する。
【0122】
例えば、単一のデバイスであるフラッシュメモリ15を、ソフトウエア上で二つの領域(第1の記憶領域16、第2の記憶領域17)に分割する方法がある。なお、読み出しのみ可能な領域を第1の記憶領域16とし、読み出し、書き込みが可能な領域を第2の記憶領域17をとする。
【0123】
領域を分割する2つ目の方法は、複数のフラッシュメモリを必要に応じてソフトウエア上で分割して二つの記憶領域を確保する方法である。例えば、4つのフラッシュメモリ素子がある場合、1つめフラッシュメモリ素子を第1の記憶領域16とし、残りの3つのフラッシュメモリ素子を第2の記憶領域17に割り当ててもよい。
【0124】
なお、端末装置20のCPU21(オペレーティングシステム:OS)から複数の領域を選択的に認識する方法としては、LUN(論理ユニット番号)を使用する方法がある。LUNは、1つのターゲットでありながら、複数のアクセス可能な論理装置を有するデバイスにおいて、各論理装置を識別するために付与されるアドレス(広義)のことである。OS(およびそのドライバ、以下同様)は、1つのLUNを割り振った論理ドライブを、ドライブレターを付与した1つの物理ドライブとして認識する。単一のデバイスへ複数のLUNを割り振ればその割り振られたLUNの数だけ物理ドライブを作成できる。
【0125】
本発明においては、複数のアクセス可能な論理装置(第1の記憶領域、第2の記憶領域、(秘匿領域))にそれぞれLUNを割り当てることで、一つのターゲットであるUSBストレージデバイスを複数の論理ドライブ(物理ドライブ)を有するデバイスとしてOSに認識できるようにしている。
【0126】
複数の記憶領域のうち、第1の記憶領域16は、USBストレージデバイス10が端末装置20に接続された際にデフォルトで認識される記憶領域であり、その内部にはソフトウエア部16−1aと、自動インストーラ16−2が記憶されている。
【0127】
ソフトウエア部16−1aは、1つ以上のアプリケーションプログラム、その設定ファイルなど、複数のコンピュータプログラムおよびその他のファイルを含む。アプリケーションプログラムには、少なくとも、端末装置20が認識する記憶領域を切り替える記憶領域変更プログラムが含まれる。すなわち、記憶領域変更プログラムは、第1の記憶領域16に記憶され、端末装置20に認識される記憶領域を第1の記憶領域16から第2の記憶領域17へと切り替えるコンピュータプログラムである。
【0128】
自動インストーラ16−2は、ソフトウエア部16−1aを端末装置20へインストール(格納)するインストーラプログラム(例:autorun.infやsetup.exe)である。これらソフトウエア部16−1aと自動インストーラ16−2は連動してインストール動作が行えるものであればよい。すなわち、ソフトウエアの記憶形式は特に本発明にとって重要ではなく、自動インストーラ16−2もソフトウエア部16−1aを端末装置20へインストールできるのであれば形式を問わない。
【0129】
例えば、ソフトウエア部16−1aが書庫形式等で圧縮された1つのファイルである場合、autorun.infなどの起動ファイルにしたがってCPU21が自動インストーラ16−2を起動する。autorun.infなどの起動ファイルは、第1の記憶領域17に記憶され、端末装置20に記憶装置(USBストレージデバイス10)が接続されたときに切り替えプログラムを端末装置20において起動させるためのソフトウエアである。
【0130】
起動した自動インストーラ16−2は、圧縮されたソフトウエア部16−1aを解凍し、HDD25のディレクトリへ展開する。一方、ソフトウエア部16−1aが無圧縮で記憶されているのであれば、起動した自動インストーラ16−2は、ソフトウエア部16−1aをそのまま端末装置20のHDD25にコピーする。
【0131】
一方、ソフトウエア部16−1aは自己解凍形式の実行ファイルであってもよい。この場合、autorun.infなどの起動ファイルを除き、自動インストーラ16−2を不要にできる利点がある。以下の実施例では、ソフトウエア部16−1aのインストールに自動インストーラ16−2が必要であるということを前提に話を進める。
【0132】
第2の記憶領域17は、使用者が接続した端末装置20を操作し使用するデータ(例:文書ファイル、画像ファイル、プログラムファイル等)である、ユーザ使用ファイル17−1が格納されている。
【0133】
HDD内記憶領域25−1は、端末装置20が備えるHDD25に確保された記憶領域である。ソフトウエア部25−2aは、第1の記憶領域16内にあるソフトウエア部16−1aが、HDD内記憶領域25−1へインストールされたものである。ソフトウエア部25−2aは、プログラム実行部25−4aを含む。プログラム実行部25−4aは、例えば、記憶領域変更プログラム、USBストレージデバイス10が外された際のソフトウエアの一部または全部を削除する自動アンインストールプログラム、および、ソフトウエア部25−2aに含まれるアプリケーションプラグラムの動作確認等を行うチェックプログラムなどである。チェックプログラムが必要な理由は次の通りである。本実施例では、USBストレージデバイス10に記憶されているアプリケーションプログラムのインストールをオートランで自動的に行うため、インストール失敗時に手動で再インストールすることが困難である。そこで、正常にインストールできているかどうかをチェックするチェックプログラムが必要となる。正常にインストールできていないときは、チェックプログラムは、自動インストーラ16−2を再度起動する。
【0134】
図3は、実施例に係る領域変更処理の一例を示したフローチャートである。領域変更処理は、端末装置20にUSBストレージデバイス10が接続されると開始される。
【0135】
ステップS301で、端末装置20のOS(CPU21)は、USBバス31を介して接続されたUSBストレージデバイス10のコントローラ12と通信を開始する。ここでまずOSは、USBストレージデバイス10を制御するためのデバイスドライバが有するデバイス情報取得コマンドによって、USBストレージデバイス10のデバイス情報を取得する。例えば、OSからの指令はデバイスドライバを介してSCSIコマンド等に変換されてUSBコントローラによって行われる。USBストレージデバイス10のコントローラ12は、USBインターフェース13を介してこのコマンドを受け取り、コントローラ12が記憶しているデバイス情報を返答する。
【0136】
このデバイス情報取得コマンドは、例えば、Get_Descriptorコマンド(USB標準デバイスに含まれるUSB規格のコマンド)に代表されるコマンドである。USBストレージデバイス10から端末装置20へ送信されるデバイス情報は、例えば、接続されたUSB機器(USBストレージデバイス10)のディスクリプタである。ディスクリプタは、図示されないUSBストレージデバイス10の管理領域に格納されている。以降はUSB規格コマンドおよびSCSIコマンドを中心に話を進めるが、もちろんATAPIなど、サブクラスとして定義かつ使用可能なものであれば何でもよい。また、サブクラス毎に途中に公知の一つ以上のコマンド変換手段を介してコマンドの送受信を行ってもよい。
【0137】
ステップS302で、OS(CPU21)は、SET Addressコマンドに代表されるアドレス設定コマンド(USBストレージデバイス10のアドレスを問い合せるコマンド)をUSBストレージデバイス10に送信し、USBストレージデバイス10からアドレス設定を受信する。以降で、OSは、受信したアドレス設定にしたがってフレームを送信する。
【0138】
ステップS303で、OS(CPU21)は、「Get Max Logical Unit Number API」コマンドに代表される論理ドライブ数取得コマンドにて、論理ユニット番号(LUN)の値をUSBストレージデバイス10から取得する。デフォルトで、USBストレージデバイス10のコントローラ12は、第1の記憶領域16の論理ユニット(LUN)の値が1であることを示す情報を返信する。
【0139】
ステップS304で、OS(CPU21)は、Inquiryコマンド(これはSCSIのコマンド)に代表されるフォーマット情報取得コマンドを用いて第1の記憶領域16のフォーマット情報を得る。USBストレージデバイス10のコントローラ12は、フォーマット情報としてCD−ROMであることを示すISO 9660を返信する。OSは、受信したフォーマット情報(例:ISO 9660)により、第1の記憶領域16がCD−ROMドライブであることを認識する。
【0140】
図4は、実施例に係る端末装置が取得した記憶領域の管理情報の一例を示す図である。図4によれば、第1の記憶領域のLUNが0であり、フォーマットがISO9660であり、OSから認識可能であり、クラスがマスストレージであり、サブクラスがSCSIであることが示されている。
【0141】
図4によれば、第2の記憶領域17にはLUNが設定されていないため、ドライブとしてOS側から認識されないようになっている。
【0142】
ステップS305で、OS(CPU21)は、ドライブとして認識した第1の記憶領域16から自動インストーラ16−2を起動し、起動した自動インストーラ16−2にしたがってソフトウエア部16−1aをHDD25の記憶領域25−1へインストールする。例えば、CPU21は、OSにしたがってautorun.infを読み出してそこに記述されている自動インストーラを起動する。ここでは自動インストールの例としてオートランインストールを用いたが、他の自動インストール技術を用いてもかまわない。
【0143】
なお、この際にインストールされるファイルは、ソフトウエア部16−1aの一部だけでもよい。プログラムやソフトウエアがすべてインストールされない一つの例としては、期間限定配布のプログラムをソフトウエア部16−1aに記憶させておいて、インストールの際に接続先PCの日時をチェックして配布期間内であればインストールを続行、期間外であれば当該プログラムに関してはインストールを行わない、といった例が考えられる。
【0144】
ステップS306で、OS(CPU21)は、起動した自動インストーラ16−2にしたがって、ソフトウエア部25−2aに含まれる記憶領域変更プログラム(プログラム実行部25−4a)を起動する。
【0145】
ステップS307で、記憶領域変更プログラム(CPU21)は、記憶領域の切り替えを開始する。例えば、CPU21は、第1の記憶領域と第2の記憶領域の認識フラグ(認識可/不可)を書き換えるための認識フラグ書換命令をUSBストレージデバイス10へ送信する。USBストレージデバイス10のコントローラ12は、認識フラグ書換命令を受信すると、第1の記憶領域16の認識フラグを認識不可に書き換え、第2の記憶領域17の認識フラグを認識可に書き換える。さらに、コントローラ12は、第1の記憶領域16のLUNを「0」から「null」に書き換えた後、第2の記憶領域17のLUNを「null」から「0」へ書き換える。これによって、第1の記憶領域16が開放され、第2の記憶領域17が端末装置20のOSから認識されるようになる。
【0146】
図5は、実施例に係る端末装置が取得した記憶領域の管理情報の一例を示す図である。図5によれば、第2の記憶領域の認識フラグが「可」に変更され、LUNも「0」に割り当てられている。反対に、第1の記憶領域の認識フラグが「不可」に変更され、LUNも「null」に割り当てられている。
【0147】
ステップS308で、記憶領域変更プログラム(CPU21)は、第1の記憶領域16のドライブレターと第2の記憶領域17とのドライブレターとを同一にするか否かを判定する。同一にするか否かは、予め設定ファイルなどに記憶されているものとする。例えば、OS(CPU21)が管理しているLUNの一覧に、同一のドライブレターとするか否かの設定項目を設け、その設定項目を予めユーザの希望に応じて設定する。
【0148】
同一のドライブレターにする場合は、ステップS309に進み、異なるドライブレターにする場合は、ステップS310に進む。
【0149】
ステップS309で、記憶領域変更プログラム(CPU21)は、ドライブレターの同一化処理を実行する。例えば、MS−DOSのコマンドである「Subst」コマンドを記述したバッチファイルでドライブレターを固定する。このバッチファイルもUSBストレージデバイス10に予め記憶されているものとする。一方で、記憶領域変更プログラム(CPU21)がダイアログをモニタ27に表示し、同一のドライブレターを記憶するか否かをユーザに問い合せ、その問い合せ結果に基づいて同一化処理を実行してもよい。また、記憶領域変更プログラム(CPU21)は、割り当てるドライブレターをユーザに問い合せ、キーボードなどの入力装置から入力されたドライブレターを第2の記憶領域17に割り当ててもよい。この場合、ユーザは、第1の記憶領域16に割り当てられていたドライブレターを入力してもよい。
【0150】
ステップS310で、記憶領域変更プログラム(CPU21)は、第1の記憶領域16の認識を開放する。例えば、CPU21も、OS側に記憶されている第1の記憶領域16のLUNを「0」から「null」に書き換える。これにより、OSは、第1の記憶領域16の認識ができなくなる。
【0151】
ステップS311で、記憶領域変更プログラム(CPU21)は、第2の記憶領域17の認識処理を開始する。例えば、CPU21は、第2の記憶領域17のLUNを「null」から「0」へ書き換える。これにより、OSは、第2の記憶領域16を認識できるようになる。
【0152】
図5によれば、OSは、第2の記憶領域17をFATでフォーマットされたリムーバブルディスクドライブであると認識する。このリムーバブルディスク領域にはユーザ使用ファイル17−1が含まれている。
【0153】
ここでが、CD−ROM領域として認識されるフォーマット情報としてISO9660をあげ、リムーバブルディスク領域として認識されるフォーマット情報としてFATを挙げたが、もちろんこれらは一例にすぎない。
【0154】
本実施例では、LUNおよび認識フラグを書き換えることで記憶領域の切り替えを実行しているが、USBストレージデバイス10の内部にある管理情報を直接的または間接的に用いて第1の記憶領域16の認識を開放して第2の記憶領域17を認識させてもよい。例えば、USBデバイスの解放コマンドを第1の記憶領域16へ適用し、その直後に初期化コマンドを第2の記憶領域17へ適用すれば、記憶領域を切り替えることができる。
【0155】
また、管理情報を予め二つ用意しておいて、最初にUSBストレージデバイス10が端末装置20に接続されたときは一つ目の管理情報が使用され、自動インストールにおいて二つ目の管理情報に変更されてもよい。なお、LUNの値、最初に読み込まれる管理情報は毎回リセットされるものとする。これは、OSが取得した第一の記憶領域16および第二の記憶領域17に関する情報が、このUSBストレージデバイス10が端末装置20から外されたときにアンインストールされ、その後の再接続の際にOSが再びUSBストレージデバイス10の情報を取得するからである。
【0156】
以上説明したように、本実施例によれば、端末装置20において擬似的にCD−ROMドライブとリムーバブルディスク等が入れ替わる形となる。つまり、USBストレージデバイス含まれるCD−ROM領域とリムーバブル領域は同時に認識されることはない。また、CD−ROM領域とリムーバブル領域のドライブレターが同一であれば、一つの追加されたドライブがCD−ROM領域からリムーバブル領域に入れ替わったように、ユーザには擬似的に認識させることができる。
【0157】
図6は、実施例に係る端末装置によって認識された第1の記憶領域の一例を示す図である。図7は、実施例に係る端末装置によって認識された第2の記憶領域の一例を示す図である。両者を比較すると、実際の記憶領域が切り替わっているにもかかわらず、ドライブレターが一致していることがわかる。記憶領域が切り替わっていることは、記憶されているファイルの内容が異なっているため、理解できよう。
【0158】
図8は、実施例に係るUSBストレージデバイス10が端末装置20から外されたときに実行されるアンインストール処理の一例を示すフローチャートである。ここでは、上述した自動インストーラが常駐しており、自動インストーラがアンインストール処理を実行するものとする。
【0159】
ステップS801で、自動インストーラ(CPU21)は、USBストレージデバイス10が端末装置20から外されたか否かを監視する。外されたことを検出すると、ステップS802へ進む。このように、CPU21は、記憶装置が端末装置から取り外されたことを検出する取り外し検出手段の一例である。
【0160】
ステップS802で、CPU21は、USBストレージデバイス10が備えるフラッシュメモリ15の記憶領域に記憶されているファイルを使用しているアプリケーションプログラムが動作中でないかどうかをチェックする。動作中のアプリケーションプログラムが残っていればステップS803に進み、動作中のアプリケーションプログラムが残っていなければステップS804に進む。
【0161】
ステップS803で、CPU21は、動作中のアプリケーションプログラムをすべて終了させる。この際に、CPU21は、自動終了を示すダイアログ等をモニタ27に表示してもよい。例えば、「記憶装置が引き抜かれました、このアプリを強制終了します」というダイアログが表示される。
【0162】
ステップS804で、CPU21は、USBストレージデバイス10の記憶領域のファイルを操作するアクティブなウインドウが残っているか否かをチェックする。アクティブなウインドウが残っていればステップS805に進み、アクティブなウインドウが残っていなければステップS806に進む。
【0163】
ステップS805で、CPU21は、ウインドウ操作を自動終了(ウインドウをクローズ)する。このの際にも、ウインドウをクローズすることを示すダイアログがモニタ27に表示されてもよい。
【0164】
ステップS806で、CPU21は、USBストレージデバイス10から端末装置20へインストールさされたプログラムやファイルをアンインストール(削除)する。アンインストールは、自動インストーラが備える削除機能が利用されてもよい。また、USBストレージデバイス10から端末装置20へコピーされたファイルもCPU21が自動的に削除する。なお、RAM23に記憶されている第2の記憶領域17からのファイルデータは編集されてRAM23に記憶し直しがなされる。そしてユーザによりUSBストレージデバイス10への記憶を指示するとこの編集済みのデータがUSBストレージデバイス10の領域2に記憶され上書きもしくは新たに格納される。USBストレージデバイス10を外すとRAM23のデータはクリアされる。また、RAM23のデータによる文書や画像は編集前・編集後、モニタ27により閲覧ができる。後述するがUSBストレージデバイス10により端末装置20が対象ホストとして登録されたものでない場合は、RAM23のデータによる文書や画像は閲覧ができてもHDD25には格納保存されないし、メールでネットワークへ送信することもできない。従ってUSBストレージデバイス10を端末から外すと端末にも他のところにも何も残らないので、USBストレージデバイス10のデータが複製や漏洩がされることはない。
【0165】
例えば、必要なプログラムやファイルがすべて「Soft−a」というディレクトリに収められており、自動インストール作業がディレクトリ「Soft−a」を丸ごとコピーしたものであったとする。例えば E:¥Soft−a ⇒ C:¥Program Files¥Soft−a。この場合、CPU21は、このディレクトリ(C:¥Program Files¥Soft−a)を削除する。これは自動解凍書庫(例えば Soft−b.exe を解凍してディレクトリSoft−bが生成され、C:¥Program Files¥Soft−bへコピーされる等)の場合でも同様である。
【0166】
なお、一部のファイルやプログラムについては削除やアンインストールの対象から除外してもよい。例えば、USBストレージデバイス10が動画ファイルに代表されるマルチメディアファイルの配布に用いられ、第1の記憶領域16に専用プレーヤー(ソフトウエア)を、第2の記憶領域17に動画ファイルをインストールさせておくものと仮定する。さらに、後日、専用プレーヤー対応の動画をwebで配信するサービスを提供する場合、専用プレーヤーをアンインストールせずに残しておくという運用例が考えられる。
【0167】
本実施形態において、第1の記憶領域に記憶させておくソフトウエアは端末装置20に自動インストールして実行できるものであれば何でもよい。例えば、動画ファイルを端末装置20で視聴するための再生ソフトおよび動画ファイルの再生に必要なコーデックセットをUSBストレージデバイス10に記憶しておき、これらを自動インストールする。また、第2の記憶領域には、例えば、映画のダイジェスト動画やゲームのトレーラー動画を記憶させておいて、使用者に視聴させる、といった運用も考えられる。これらは一例にすぎず、本発明は、アプリケーションが何であるかに依存することはない。
【0168】
以上説明したように、端末装置20は、USBストレージデバイス10が接続されると、第1の記憶領域16から起動ファイルを読み出して実行することで切り替えプログラムを起動し、端末装置に認識される記憶領域を第1の記憶領域から第2の記憶領域17へと切り替える切り替え手段として機能する。また、CPU21は、記憶装置が端末装置から取り外されたことが検出されると、記憶装置から端末装置へとインストールされたプログラムおよびファイルをアンインストールする手段の一例である。
【0169】
[実施例2]
上述した実施例では、認識可能な記憶領域を切り替えるために、LUNの変更と認識フラグの変更とを用いたが、いずれか一方のみでもよい。
【0170】
まず、USBストレージデバイス10におけるLUNの管理方法について説明する。LUNはUSBストレージデバイス10の内部にあるコントローラ12の中にテーブルとして管理されている。
【0171】
図9は、実施例に係るLUNの管理情報(管理テーブル)の一例を示す図である。この例では、3つの記憶領域A、B、CがUSBストレージデバイス10に設けられているものとする。図9からわかるように、LUNは記憶領域ごとに割り振られている。また、管理テーブルには、各記憶領域のフォーマット、クラス、サブクラスなどの項目が含まれている。なお、管理テーブルを記憶する、コントローラ12の内部記憶領域をメモリ情報記憶部12−2と呼ぶことにする。上述したように、端末装置20のOS(CPU21)も、この管理テーブルの内容を取得して、ドライブを定義する。
【0172】
まず、USBストレージデバイス10が端末装置20に接続されると、LUNに関連付けられる情報として「論理アドレス」がOSから割り振られる。ここでいう「論理アドレス」、「物理アドレス」は、仮想記憶空間における、論理上の記憶領域のアドレスと物理上の記憶領域のアドレスとをそれぞれ指す。通常、論理アドレスと物理アドレスとの対応付けが行われることによってはじめてUSBストレージデバイス10はファイルの読み書きができるようになる。
【0173】
「論理アドレス」は、USBストレージデバイス10のトータルの記憶容量に合わせて予め指定された構成単位でもって一定数割り当てられる。この論理アドレスの割り当てと同時に、「論理アドレス」と記憶装置内の物理的な記憶領域にある「物理アドレス」との対応付けとが行われる。この対応付けはコントローラ12が備えるメモリ制御部12−1が管理テーブルを使用して実行する。なお、LUNが割り当てられていないときにも対応付けは行われる。
【0174】
LUNを書き換えることで、認識される記憶領域を切り替える方法を以下で説明する。
【0175】
なお、図10は、LUNを書き換える前の管理テーブル(初期値)を示す図である。つまり、USBストレージデバイス10が端末装置20へ接続される度に管理テーブルは初期値へと初期化される。これによって、毎回、USBストレージデバイス10が端末装置20へ接続されると最初に初期値の管理テーブルが呼び出されることになる。図10によれば、第1の記憶領域16のLUNに0が設定されており、第2の記憶領域17のLUNにnull(NUL)が設定されているため、第1の記憶領域16のみが認識されることになる。
【0176】
図11は、LUNを書き換えた後の管理テーブルを示す図である。上述した記憶領域の変更が実行されると、第1の記憶領域16のLUNは0⇒NULLに変更され、第2の記憶領域17のLUNはNULL⇒0に変更される。この場合、第1の記憶領域のLUNが無くなるため、第一の記憶領域はOSからドライブとして扱われず、OSから認識されなくなる。
【0177】
次に、第2の記憶領域17の接続を擬似認識させるための信号をコントローラ12がUSBインターフェース13を介してOS(端末装置20)へ送信する。OS(CPU21)は、第1の記憶領域16を認識したときと同様に、第2の記憶領域17に関しても一連のコマンドを送信し、情報を取得する。これらのコマンドには、例えば、次のコマンドが含まれる。
【0178】
○ デバイス情報取得コマンド「Get_Descriptorコマンド」
○ アドレス設定コマンド 「SET Addressコマンド」
○ 論理ドライブ数取得コマンド 「Get Max Logical Unit Number APIコマンド」(認識フラグ書き換えに拠る時は不要)
○ フォーマット情報取得コマンド「Inquiryコマンド」
これらの一連のコマンドによってOSはUSBストレージデバイス10から管理テーブルにより管理されている情報を取得てきる。もちろん使用環境に応じて記憶領域をOS側がドライブとして認識する際に必要となるコマンドがあればそれを同時に使用してもよい。
【0179】
OS(CPU21)は、上記のコマンドに対する返信をUSBストレージデバイス10から受信することで、第2の記憶領域17をドライブとして認識する。
【0180】
次に、認識フラグを用いた記憶領域の切り替え方法について説明する。認識フラグは、USBストレージデバイス10の論理ドライブをOSにドライブとして認識させるか否かを示すフラグである。
【0181】
図12は、実施例に係る管理テーブル(初期値)の一例を示す図である。図12によれば、2つの記憶領域にはLUNがそれぞれ割り当てられているものの、記憶領域Aの認識フラグが「可」であり、記憶領域Bの認識フラグが「不可」である。よって、コントローラ12は、論理的な第一の記憶領域のアドレスと物理的な第一の記憶領域Aのアドレスとを対応させる(アドレスマッピング)。
【0182】
図13は、実施例に係る管理テーブル(書き換え後)の一例を示す図である。図12と比較すると、図13では認識フラグが書き換えられている。すなわち、記憶領域Aの認識フラグが「不可」であり、記憶領域Bの認識フラグが「可」である。この場合、コントローラ12は、アドレスマッピングを変更し、論理的な第一の記憶領域のアドレスと物理的な第2の記憶領域Bのアドレスとを対応させる。このように、認識フラグだけを用いても認識可能な記憶領域を変更することができる。
【0183】
このようにコントローラ12は、切り替えプログラムにしたがって端末装置20が発行する切り替え命令(例:コマンド)を受信することで、端末装置に認識される記憶領域を第1の記憶領域から第2の記憶領域へと切り替える第1のコントローラとして機能する。また、コントローラ12は、切り替え命令を受信すると、第1の記憶領域に対応するメモリと第2の記憶領域に対応するメモリとのアドレスマッピングを入れ替えるコントローラの一例でもある。
【0184】
なお、フィルタドライバ(特開2007−272430号公報)を用いても認識可能な記憶領域を変更することができる。コントローラ12に対するSCSIコマンドの返答を制御することで、フィルタドライバは、OSからの各種コマンドに対して、管理テーブル(図10〜図13)の管理情報に基づいて返答を順次行う。フィルタドライバも、USBストレージデバイス10から端末装置20へインストールされる記憶領域変更プログラムの一例である。
【0185】
また、第1の記憶領域16および第2の記憶領域17をそれぞれ異なるパーティションにより確保し、記憶領域変更プログラムが、第1の記憶領域であるパーティションを不可視状態に切り替えた後、第2の記憶領域であるパーティションを可視状態に切り替えてもよい。このように、パーティションの可視/不可視を変更することでも、認識可能な記憶領域を切り替えることができる。
【0186】
[実施例3]
本実施例では、第1の記憶領域16に記憶されているセキュリティソフトウエアを端末装置20にインストールしてから、端末装置に認識される記憶領域を第1の記憶領域から第2の記憶領域へと切り替える方法について説明する。セキュリティソフトウエアとしては、例えば、情報漏洩防止プログラムがあり、記憶領域変更プログラムを含む。
【0187】
なお、本発明では、端末装置20に第1の記憶領域を認識させた後に、セキュリティソフトウエアを端末装置20にインストールし、第2の記憶領域へと切り替える方法について説明しているが、これに限定されない。
【0188】
例えば、第1の記憶領域、及び第2の記憶領域ともに端末装置20に認識させてから、セキュリティソフトウエアを端末装置20にインストールすることも可能である。これにより、第1の記憶領域、及び第2の記憶領域を端末装置20に認識させる方法に係わらず、後述するセキュリティソフトウエアの様々な処理を実行可能とする。
【0189】
図14は、実施例に係る記憶装置の記憶内容と端末装置の記憶内容との一例を示す図である。既に説明した箇所には同一の参照符号を付すことで、説明を簡潔にする。
【0190】
本実施例では、フラッシュメモリ15をソフトウエア上で制御することにより第1の記憶領域16、第2の記憶領域17、第3の記憶領域18の三つの記憶領域に分割している。これらの記憶領域の分割方法は既に説明した通りである。
【0191】
第1の記憶領域16は、USBストレージデバイス10が端末装置20に接続された際に自動的に読み込まれるセキュリティソフトウエア部16−1bと自動インストーラ16−2を記憶している。セキュリティソフトウエア部16−1bは、上述したソフトウエア部16−1aの具体例である。
【0192】
セキュリティソフトウエア部16−1bは、情報漏洩防止手段を実現するために必要となるファイルをすべて備えたソフトウエアである。自動インストーラ16−2は、セキュリティソフトウエア部16−1bをインストールするためのソフトウエアである。
【0193】
セキュリティソフトウエア部16−1bと自動インストーラ16−2との組み合わせ、後述の動作を行えるものであればどんな組み合わせでもよい。また、インストール方式も本発明の実施に支障をきたすものでなければどのような方式が採用されてもよい。例えば、セキュリティソフトウエア部16−1bが書庫形式等で圧縮されていて、自動インストーラ16−2がセキュリティソフトウエア部16−1bを解凍しながらディレクトリへ展開してもよい。一方、セキュリティソフトウエア部16−1bが既にディレクトリに展開されている状態であれば、そのディレクトリをそのまま端末装置20の記憶領域25−1にコピーするといったインストール方式でもよい。
【0194】
一方、セキュリティソフトウエア部16−1bが自己解凍形式のファイルであれば、自動インストーラ16−2を省略できよう。以下の実施例では、セキュリティソフトウエア部16−1bのインストールに自動インストーラ16−2が採用されるものとする。なお、端末装置20にインストールしたファイルのアンインストールについても、本発明の目的を達成できるかぎり、どのようなアンインストール方式が採用されてもよい。
【0195】
第2の記憶領域17には、情報漏洩防止の対象となるユーザ使用ファイル17−1が格納されている。
【0196】
第3の記憶領域18は、コントローラ12からデータを読み書きできるものの、端末装置20からは読み書きも認識もできない秘匿領域である。第3の記憶領域18には、ホストPC登録情報18−1、ユーザ登録情報18−2、ホワイトリスト18−3およびブラックリスト18−4が格納されている。なお、これに限定されず、上述した登録情報およびリストは、単数または複数の組み合わせを第3の記憶領域18に格納することも可能である。
【0197】
なお、以下では、第3の記憶領域18の全体が秘匿領域であるという設定の下で話を進める。しかし、この秘匿領域は端末装置20から独立した第3の記憶領域18に限定されるものではない。例えば、第1の記憶領域16、第2の記憶領域17の一部に設けられたディレクトリを第3の記憶領域18としてもよい。この場合、このディレクトリは暗号化されており、コントローラ12が復号できるものとする。これにより、端末装置20は、第3の記憶領域18であるディレクトリの存在を知ることができても、そこに記憶されている情報を取得することができない。
【0198】
ホストPC登録情報18−1は、例えば、端末装置20が予め登録されているホストPCであるか否かを判断するための認証情報(端末装置登録情報)を含んでいる。認証情報は、例えば、端末装置20のMACアドレス、型式番号、製造番号、IPアドレス、管理番号のうちいずれか1つまたは複数である。管理番号は、例えば、組織が独自に端末装置20、またはその端末装置の使用管理者を識別するためのデータを指す。必ずしも番号でなくてもよく、何らかの識別情報であれば十分であるが、ここでは、便宜上、管理番号と呼ぶことにする。管理番号を用いた実施例として、例えば、端末装置20の管理番号を、端末装置20およびUSBストレージデバイス10とも記憶しておき、両者を接続する際に双方の管理番号を比較することで、端末装置20が正当なものか否かを認証できる。管理番号は、組織内で配布および管理されている外部デバイス(例:USBトークン)へ予め記憶されている組織内管理番号であってもよい。
【0199】
ユーザ登録情報18−2は、登録された使用者(ユーザ)であるかどうかを認証するための認証情報である。ユーザ登録情報18−2は、例えば、使用者が入力する暗証番号、パスワード、バイオメトリクスの情報などである。これらの情報は平文のまま記憶されていてもよいし、暗号化されていてもよい。また、ユーザ登録情報18−2は、複数の使用者の認証情報を含んでいてもよい。この場合、USBストレージデバイス10を複数のユーザ間で共用することが可能となる。
【0200】
ホワイトリスト18−3は、例えば、端末装置20において実行されるプロセス(例:アプリケーション)のうち、第2の記憶領域17に対するアクセスを許可されたプロセスの識別情報を登録したリストである。また、ホワイトリスト18−3は、例えば、USBストレージデバイス10の接続中に動作が許可されるプロセスの一覧であってもよい。セキュリティソフトウエア部16−1bは、端末装置20において実行されているプロセスの識別情報が、ホワイトリストに登録されている識別情報と一致するか否かに応じて、第2の記憶領域17に対するアクセスを制限するアクセス制限手段として、CPU21を機能させる。
【0201】
ブラックリスト18−4は、例えば、端末装置20において実行されるプロセスのうち、アクセス対象の如何にかかわらず、アクセスを禁止されるプロセスの識別情報を登録したリストである。なお、ブラックリスト18−4は、一切動作が許可されないプロセスの一覧であってもよい。セキュリティソフトウエア部16−1bは、例えば、端末装置において実行されているプロセスの識別情報が、ブラックリストに登録されている識別情報と一致すると、プロセスによるアクセスを禁止するアクセス禁止手段として、CPU21を機能させる。
【0202】
HDD内記憶領域25−1は、端末装置20に備えられたHDD25の中の記憶領域である。セキュリティソフトウエア部25−2は、第1の記憶領域16に記憶されているセキュリティソフトウエア部16−1がインストールされたものである。認証実行部25−3は、セキュリティソフトウエア部25−2の要素の一つで、端末装置や使用者の認証を行う。制御プログラム25−4bは、情報漏洩防止機能や、使用者に応じたユーザ使用ファイルの選択および表示を実行するプログラムである。
【0203】
図15は、実施例3に係る記憶領域の切り替え方法の一例を示したフローチャートである。ここでは、USBストレージデバイス10を端末装置20に接続し、使用者がUSBストレージデバイス10の第2の記憶領域に記憶されているファイルを操作できるようになるまでの手順の詳細について説明する。なお、実施例1や2と共通する事項については既に説明したので、説明を簡潔にする。
【0204】
ステップS1501で、USBストレージデバイス10が端末装置20に接続される。これにより、端末装置20のUSBインターフェース29とUSBストレージデバイス10のUSBインターフェース13との間でUSB規格に従った接続処理が実行される。USBレベルでの接続が確立されると、ステップS1502へ進む。
【0205】
ステップS1502で、端末装置20のOS(CPU21)は、読み出しのみが可能なCD−ROM領域としてUSBストレージデバイス10の第1の記憶領域16を認識する。なお、この時点で第2の記憶領域17はCPU21によって認識されてはいない。また、第3の記憶領域18は秘匿領域であるため、CPU21によって認識されない。CPU21は、autorun.infなどの起動ファイルにしたがって自動インストーラ16−2を起動する。CPU21は、起動した自動インストーラ16−2にしたがって、第1の記憶領域16に記憶されているセキュリティソフトウエア部16−1bを端末装置20へインストールする。
【0206】
ステップS1503で、CPU21は、端末装置20にインストールされたセキュリティソフトウエア部16−1bの一部である制御プログラム25−4b(領域変更プログラム)を起動する。
【0207】
ステップS1504で、CPU21は、領域変更プログラムにしたがって、第3の記憶領域18にユーザ登録情報18−2が記憶されているか否かを判定する。第3の記憶領域18は秘匿領域であるため、CPU21や領域変更プログラムは第3の記憶領域18を直接的に認識することができない。そこで、領域変更プログラムがコントローラ12に対して所定の問い合せコマンドを送信する。USBストレージデバイス10のコントローラ12は、受信した問い合せコマンドにしたがって、第3の記憶領域18にアクセスし、ユーザ登録情報18−2が記憶されているか否かを確認する。コントローラ12は、この確認結果をレスポンスとして端末装置20へ返信する。CPU21は、このレスポンスの内容を解析することで、第3の記憶領域18にユーザ登録情報18−2が記憶されているか否かを判定する。ユーザ登録情報が存在する場合には、ステップS1505に進む。
【0208】
ステップS1505で、CPU21は、領域変更プログラムにしたがって、認証実行部25−3(認証プログラム)を起動し、使用者認証を実行する。例えば、ポインティングデバイス28やキーボード等の入力装置から入力されたパスワードや暗証番号などの認証情報をCPU21がコントローラ12へ転送し、コントローラ12が受信した認証情報をユーザ登録情報18−2と比較する。あるいは、USBストレージデバイス10に設けられた指紋認証デバイス11が読み取った指紋情報を、コントローラ12が、ユーザ登録情報18−2の一部である指紋情報と比較する。なお、セキュリティ強度は低下するが、コントローラ12が、ユーザ登録情報18−2を端末装置20へ送信し、認証実行部25−3が、受信したユーザ登録情報18−2と入力された認証情報とを比較してもよい。指紋認証では、指紋認証デバイス11が読み取った指紋情報も端末装置へ転送されることになる。
【0209】
なお、パスワードや暗証番号は秘匿性向上のための制限、例えば文字数制限等が設けられてもよいし、照合、比較される認証情報が暗号アルゴリズム等により暗号化されていてもよい。認証に使用される認証情報は、例えば、ユーザを特定するための識別子、パスワード、暗証番号、バイオメトリクス情報のうち1つまたは複数を含む使用者登録情報であってもよい。
【0210】
CPU21は、使用者認証に成功したか否かを判定する。成功したのであれば、ステップS1511に進む。一方、失敗したのであれば、ステップS1506に進む。なお、CPU21、コントローラ12および認証実行部25−3は、記憶装置に予め記憶されている認証情報と、端末装置または記憶装置に設けられた入力手段から入力された認証情報とを用いて認証処理を実行する認証手段の一例である。
【0211】
ステップS1506で、CPU21は、使用者認証に失敗した回数が規定回数以内か否かを判定する。規定回数以内であれば、ステップS1505に戻り、再度、使用者認証が実行される。この規定回数はパスワードの制限や指紋認証デバイス11の他人受入率や本人拒否率に基づいて設定されてもよい。なお、失敗回数が規定回数を超えると、ステップS1507に進む。
【0212】
ステップS1507で、CPU21は、強制終了を実行する。例えば、CPU21は、インストールされたプログラムやファイルをアンインストールする。この際に、CPU21は、USBストレージデバイス10の接続を解除したり、第1の記憶領域16(認識されている場合は第2の記憶領域17および第3の記憶領域18)を認識されない状態へ移行させたりする。認識可能状態から認識不可能状態への変更方法は実施例1で説明した通りである。もちろん、CPU21は、第2の記憶領域17からHDD25へコピーされた漏洩防止の対象となる情報もHDD25から消去する。さらに、CPU21は、HDD25に記憶されていた漏洩防止の対象となる情報が第2の記憶領域17に記憶されているときは、その情報も削除することが望ましい。
【0213】
ところで、ステップS1504でユーザ登録データを確認できなかった場合、ステップS1508に進む。
【0214】
ステップS1508で、CPU21は、領域変更プログラムにしたがって、新規登録を行うかどうかの問い合わせをモニタ27に表示する。CPU21は、端末装置20の入力装置から入力された情報に基づいて、使用者が新規登録を希望しているか否かを判定する。新規登録を行う場合、ステップS1509に進む。
【0215】
ステップS1509で、CPU21は、初期登録(新規登録)を実行する。新規登録とは、次回以降の認証時に使用されるユーザ登録情報18−2を第3の記憶領域18へ書き込む動作である。なお、端末装置20からは第3の記憶領域に直接書き込めないため、所定のコマンドをコントローラ12に発行して、コントローラ12が第3の記憶領域18へユーザ登録情報18−2を記憶する。新規登録が完了すると、ステップS1511に進む。このように、CPU21、コントローラ12および関与するプログラムなどは、記憶装置に認証情報が予め記憶されていなければ認証情報の初期登録を実行する登録手段の一例である。
【0216】
なお、新規登録を行わない場合はステップ1510に進む。ステップS1510で、CPU21は、強制終了を実行する。強制終了処理は、ステップS1507について説明した通りである。これにより、端末装置20へインストールされたプログラムはアンインストールされ、USBストレージデバイス10は自動的に、認識されない状態となる。
【0217】
ステップS1511で、CPU21は、認証実行部25−3を用いて、端末装置20がホストPC登録情報18−1により予め指定されたホストPCであるかどうかを判定する。CPU21は、ホストPC登録情報18−1を直接的には読み出せないため、使用者認証と同様の方法で認証情報の取得または転送を実行する。認証情報は、例えば、端末装置に付与されているMACアドレス、型式番号、製造番号およびIPアドレスのうち1つまたは複数を含む端末装置登録情報である。接続先の端末装置20がホストPCでなければ、ステップS1512に進む。
【0218】
ステップS1512で、CPU21は、セキュリティソフトウエア部25−2に含まれる制御プログラム25−4bの一機能である利用制限機能を起動する。この利用制限機能は、第3の記憶領域18に記憶されているホワイトリスト18−3やブラックリスト18−4を用いてファイルへのアクセスを制御したり、ファイルの移動や複製を防止したりする機能である。これらの機能の詳細については後述する。
【0219】
一方、端末装置20がホストPCであると判断された場合は、ステップS1512をスキップして、ステップS1513に進む。そのため、利用制限機能は適用されない。使用者は、端末装置20とUSBストレージデバイス10との間で自由にユーザ使用ファイル17−1を使用することができる。
【0220】
すなわち、予め指定された情報(ホストPC登録情報)によって、ユーザ使用ファイル17−1を、端末装置20に保存することも可能であり、端末装置20を介してネットワーク配信することも可能である。
【0221】
ステップS1513で、CPU21は、領域変更プログラムに従い、端末装置20により認識可能な記憶領域を第1の記憶領域16から第2の記憶領域17に切り替える。すなわち、第1の記憶領域16が端末装置20上で認識されなくなると同時に第2の記憶領域17が認識されることになる。
【0222】
なお、現在認識されている記憶領域に応じてLED14の発光色を切り替えてもよい。例えば、LED制御部12−4は、第1の記憶領域16が認識されているときは赤色LEDを点灯させ、第2の記憶領域17が認識されているときは緑色のLEDを点灯させる。これにより、使用者は、USBストレージデバイス10の記憶領域のうちどの記憶領域が端末装置20によって認識されているかを視覚的に認識できるようになる。これは、記憶領域が切り替えられてもドライブレターが同一の維持されるケースで特に有用であろう。
【0223】
ステップS1514で、CPU21は、第2の記憶領域17に記憶されているファイルを端末装置20の操作によって操作できるような待機状態に移行する。なお、利用制限機能が適用されている場合は、第2の記憶領域17に対して利用制限が課される。また、使用者認証が適正の場合、制御プログラム25−3によって、使用者に応じたユーザ使用ファイル17−1のみを、端末装置20上に画面表示させてもよい。これにより、他の使用者のユーザ使用ファイルへのアクセスが禁止されるため、機密情報の保護や情報漏洩を防止しながら、複数の使用者が同一のUSBストレージデバイス10を利用することができる。
【0224】
このように実施例3によれば、領域変更プログラムは、第1の記憶領域16に記憶されている情報漏洩防止プログラムを端末装置20にインストールしてから、端末装置20に認識される記憶領域を第1の記憶領域16から第2の記憶領域17へと切り替えることができる。
【0225】
なお、第3の記憶領域18は秘匿領域である。そのため、情報漏洩プログラムが端末装置20を通じて秘匿領域に記憶されている情報を読み出すための読み出し命令を送信すると、コントローラ12は、秘匿領域から情報を読み出して、端末装置に対して情報を送信する。これにより、認証情報や極めて重要な情報を保護することが可能となる。
【0226】
また、実施例3によれば、記憶装置に予め記憶されている認証情報と、端末装置または記憶装置に設けられた入力手段から入力された認証情報とを用いて認証処理を実行する認証手段を提供できる。すなわち、認証処理が成功すると、切り替えプログラムが、端末装置に認識される記憶領域を第1の記憶領域から第2の記憶領域へと切り替える。よって、認証処理に成功しない限り、第2の記憶領域17からユーザ使用ファイル17−1が端末装置20へ読み出されることは抑制できる。これは、認証処理が成功すると、情報漏洩防止プログラムは、記憶装置に対するアクセスの制限を解除する解除手段としてCPU21を機能させる事を意味しよう。
【0227】
なお、実施例3においても、USBストレージデバイス10が端末装置20から外されたときは、図8を用いて説明したアンインストール処理が制御プログラム25−4bによって実行される。
【0228】
図16は、ホワイトリストの一例を示す図である。ホワイトリスト18−3には、第2の記憶領域17に記憶されているファイルへのアクセスを許可されるプロセスの識別情報(例:名称)が登録されている。このホワイトリスト18−3に記録されているプロセスは、予め汎用性、安全性の高いアプリケーションに関するプロセスをデフォルトで含んでいる。ネットワークの管理者等が、安全若しくは有用であると判断したプロセスの名称がホワイトリスト18−3に追加されてもよい。
【0229】
図17は、ブラックリストの一例を示す図である。ブラックリスト18−4は、利用制限機能がアクティブのときには、一切動作が許可されないプロセスの名称を登録したリストである。こちらもホワイトリスト18−3と同様に、ウイルスやワーム等に含まれる危険性高いプロセスや情報漏洩に関するプロセスがデフォルトで含まれている。管理者が有害と判断したプロセスや使用者が無用であると判断したプロセスをブラックリストに追加してもよい。
【0230】
情報漏洩防止プログラムとして機能する制御プログラム25−4bの利用制限機能は、プロセスが発生する度にホワイトリスト18−3とブラックリスト18−4を読み出し、プロセスの動作を制御する。
【0231】
図18は、利用制限機能の動作の一例を示したフローチャートである。
【0232】
ステップS1801で、CPU21は、起動している情報漏洩防止プログラムにしたがって、発生したプロセスがブラックリスト18−4に登録されているかを判定する。ブラックリスト18−4が第3の記憶領域18に記憶されている場合は、CPU21が直接的に読み取れない。そこで、認証処理と同様に、CPU21は、発生したプロセスの名称をコントローラ12に転送し、コントローラ12が、この名称とブラックリスト18−4とを比較し、比較結果をCPU21に返送する。あるいは、ブラックリスト18−4をコントローラ12がCPU21に転送し、CPU21が、比較処理を実行してもよい。ブラックリスト18−4に登録されたプロセスであれば、ステップS1802に進む。
【0233】
ステップS1802で、CPU21は、そのプロセスの動作そのものをキャンセルする。これにより、既知のウイルスやワームによる予期せぬ動作をストップさせることができる。また、印刷またはそれに関連するプロセス、ネットワーク接続に関連するプロセス、画面を画像として取り込むプロセス(プリントスクリーン等)も動作を禁止される。このように、CPU21はプロセスによるアクセスを禁止するアクセス禁止手段やプロセスの動作をキャンセルするキャンセル手段として機能することになる。
【0234】
発生したプロセスの名称がブラックリスト18−4に登録されていない場合、ステップS1803に進む。
【0235】
ステップS1803で、CPU21は、発生したプロセスの名称がホワイトリスト18−3に登録されているかどうかを判定する。この判定処理もブラックリストに関する判定処理と同様の処理となる。ホワイトリスト18−3に登録されているプロセスである場合、ステップS1804に進む。
【0236】
ステップS1804で、CPU21は、そのプロセスによる第2の記憶領域17からのファイルの移動や複製を防止する。このように、情報漏洩防止プログラムは、端末装置20において実行されているプロセスの識別情報がホワイトリストに登録されている識別情報と一致するか否かに応じて、第2の記憶領域17に対するアクセスを制限するアクセス制限手段として、端末装置20を機能させる。
【0237】
一方、ブラックリスト18−4にもホワイトリスト18−3にも登録されていないプロセスであれば、ステップS1805に進む。
【0238】
ステップS1805で、CPU21は、そのプロセスのアクセス先を解析し、アクセス先がフラッシュメモリ15内の記憶領域であれば、そのプロセスの動作をキャンセルすべく当該プロセス終了させる。これにより、ホワイトリスト18−3に登録されていない未知のアプリケーションによるフラッシュメモリ15へのアクセスをストップさせることができる。つまり、ホワイトリスト18−3に登録されていないプロセスはフラッシュメモリ15内の記憶領域にアクセスすることができない。このように、ブラックリストおよびホワイトリストのいずれにも登録されていない場合、このプロセスが記憶装置の記憶領域にアクセスすることが限定されることになる。
【0239】
なお、ファイル移動複製防止処理(S1804)は、例えば、フラッシュメモリ15内の記憶領域に記憶されているファイル自身もしくはその一部(クリップボード等)に関する「切り取り」や「コピー」後の「貼り付け」を禁止したり、当該ファイルを操作するアプリケーション中にある「名前をつけて保存」を禁止したり、または、ドラッグ&ドロップ等によるファイルの移動に関する処理を制限する処理である。また、フラッシュメモリ15内部の記憶領域または当該記憶領域に属するディレクトリがアクティブなウインドウとして表示されていた場合、ファイル移動複製防止機能は、ウインドウ内部からのドラッグ&ドロップ、アプリケーション間におけるクリップボードの移動、一部のダイアログ表示、他の着脱可能なリムーバブルディスクへの書き込みなど、フラッシュメモリ15内部の記憶領域内にあるファイルについて一切の移動や複製を禁止してもよい。
【0240】
一方でファイルの編集や処理がフラッシュメモリ15内部の記憶領域内部に留まるなど、記憶領域内部からのデータの移動が実質的に発生しないプロセスは、ホワイトリスト18−3によってその動作が許可される。具体的には、ファイルの上書き保存や編集、記憶領域内部にあるファイル間の情報のやり取り、ドライブが異なるファイル間の情報のやり取りなど、USBストレージデバイス10内で実行される処理は制限無く実行されることになる。
【0241】
上述したホワイトリストやブラックリストへのプロセス名の追加や更新の手法はいくつか考えられる。例えば、端末装置20が、USBストレージデバイス10に記憶されているホワイトリストやブラックリストを直接編集する手法が考えられる。また、サーバからクライアント(端末装置20)が受信した最新のホワイトリストやブラックリストを、USBバスを介してコントローラ12が受信し、それを第3の記憶領域に書き込むといった手法も考えられる。後者は、リモート更新と呼べるであろう。
【0242】
[実施例4]
以下では、上述した利用制限機能、すなわち、USBストレージデバイス10を利用した、情報の持ち出し防止機能について説明する。
【0243】
持ち出し防止機能とは以下5つの機能の総称である。
【0244】
(1) 予め指定されたディレクトリ内に存在するファイルとファイル内部のデータをその指定ディレクトリの外へ保存する(端末装置20の電源が落ちても記憶されている)ことを禁止する機能。なお、ディレクトリは、PCの記憶装置に確保されたディレクトリ、USBメモリに確保されたディレクトリなど、PCからアクセス可能な任意のディレクトリである。
【0245】
(2) (1)の機能を実現しつつ、予め指定されているディレクトリ内に存在するファイルとファイル内部のデータの閲覧については許可する機能。
【0246】
(3) 予め指定されているディレクトリ内に存在するファイルとファイル内部のデータの編集を許可しつつ、そのディレクトリ内部(Subディレクトリも含む)にだけ保存する機能。
【0247】
(4) 予め指定されていない任意のディレクトリに存在するファイルとファイル内部のデータの閲覧・編集・保存を制限しない機能。
【0248】
(5) 何らかの識別子(例:MACアドレス)により、HostPCという特別なPCを設置し、そのHostPC内では(1)ないし(3)による制限が一切かからないようにする機能。これにより、予め指定されているディレクトリ内のファイルとファイル内のデータであっても、通常どおり、他のディレクトリへ保存できるようになる。
【0249】
実施例4では、(1)〜(5)の機能を実現するために、以下で説明する5種類の制御機構を設ける。これらの制御機構について以下で説明していく。なお、上述した機能は、第1の制御機構(ファイルシステムフィルタドライバ)によってほぼ実現できる。第1の制御機構の基本的な部分は、実施例3で説明した通りである。
【0250】
ただし、第1の制御機構のみではいくつかの漏れが生じうる。そこで、その漏れを補完するために第2ないし第5の制御機構が追加されている。
【0251】
なお、指定ディレクトリ内のファイルおよびファイル内データの持ち出し防止方法として、例えば、以下の2種類が考えられる。
【0252】
(a). ファイル単位での移動および複製の防止
(b). メモリに展開されているファイル内のデータの移動および複製の防止
[情報漏洩防止機能]
以下に実施例4における情報漏洩防止機能について説明する。情報漏洩防止機能はファイルシステムフィルタドライバである「カーネル部」と、そのカーネル部を補う「ユーザ部」とに分かれる。ファイルシステムフィルタドライバについて軽く触れる
[ファイルシステムフィルタドライバ(FSFiD)]
FSFiDは、ファイルシステムが行おうとすることの前後に割り込み、ログを取得したり、改ざんしたりすることができるコンピュータプログラムであり、USBストレージデバイス10から端末装置20へインストールされる。FSFiDは、先述の通りカーネルモードで動作する。
【0253】
以降は情報漏洩防止機能を、このファイルシステムフィルタドライバであるカーネル部と、それ以外の部分であるユーザ部とに分けて説明する。カーネル部は、フィルタマネージャ(FltMgr)が存在しないと動作しない。FltMgrは、例えば、公知の機能である(http://www.microsoft.com/japan/whdc/driver/filterdrv/default.mspx参照のこと)。
【0254】
また、ユーザ部は後述するカーネル部が行う機能の補助並びに情報漏洩防止機能における補完機能を有する。以下に以降の説明に用いる主な語句について列挙し、説明する。なお以下に列挙した語句以外に必要な語句に関しては適宜列挙する。
【0255】
* プロセス識別子 プロセスを予め想定した手法に基づき、識別する識別子であり、プロセスが特定できればその形式は問わない。例としてはプロセスのID,ハッシュ値、プロセスの作者名、会社名等が挙げられる。
【0256】
* ファイル識別子は、ファイルを予め想定した手法に基づき、識別する識別子であり、ファイルが特定できればその形式は問わない。例としてはファイル名、ID,ハッシュ値、プロセスの作者名、会社名、属性、拡張子等が挙げられる。
【0257】
* プロセス判定部は、プロセスが後述のブラックリスト、ホワイトリストのいずれかに属するかを判定する機能を有する。ブラックリスト及びホワイトリストには、各プロセスを識別するためのプロセス識別子が登録されている。
【0258】
* 監視リスト 監視対象となるプロセスのプロセス識別子を登録したリストである。監視リストは、例えば、カーネル内のヒープ領域に保存される。なお、実際に起動されているプロセスのうち、上述のブラックリストまたはホワイトリストに登録されているプロセスが検出されると、検出されたプロセスのプロセス識別子がこの監視リストに登録される。
【0259】
* 監視ファイルリスト 監視対象となるファイル識別子のリストである。監視ファイルリストは、例えば、カーネル内のヒープ領域に保存される。
【0260】
* パス識別子は、ファイルやプロセスに含まれる監視対象であるか否かのフラグを示す。監視対象であるか否かはそのディレクトリのフルパスで判断される。パス識別子は、例えば、カーネル内のヒープ領域に保存される。
【0261】
* ブラックリストは、主に使用が許されないプロセスを示すプロセス識別子を保持するリストである。
【0262】
* ホワイトリストは、主に使用が許可されているプロセスを示すプロセス識別子を保持するリストである。
【0263】
* IOマネージャは、すべてのファイルIOをつかさどるオブジェクトであり、ドライバ間の対話を受け持つものである。
【0264】
* プロセスマネージャは、プロセスのマウント・アンマウントを制御するマネージャである。
【0265】
図19は、カーネル部が処理するイベントの一例を示す図である。図19によれば、各イベントのイベント名、イベントの通知元、イベントの発生タイミング、イベントに対する処理の内容が記載されている。
【0266】
各イベントの概略についてここで説明する図19において、
イベント1「初期化」とは、ファイル操作の監視を行うために必要となる変数を初期化(変数に初期値を代入すること)する。
【0267】
イベント2「監視対象設定」とは、監視対象、つまりはファイル情報漏洩防止機能の適用対象となるドライブ、ディレクトリを指定する動作を表す。本発明においては主として第二の記憶領域17がそれへ該当する。しかし、これに限定されず任意のドライブ、ディレクトリを監視対象とすることも可能である。
【0268】
イベント3「ファイル操作開始通信の処理前」とは、一切のファイル操作開始に処理する「ファイル操作開始通信」をIOマネージャが処理する前に割り込み、操作する内容のことを示す。すなわち、このイベント3は、全てのファイル操作の基点となる処理をOSのファイルシステムが実行する前に、本実施例に係る情報漏洩防止プログラムが必要な操作を行うタイミングを示している。
【0269】
イベント4「ファイル操作開始通信の処理後」とは、一切のファイル操作開始に処理する「ファイル操作開始通信」をIOマネージャが処理する前に割り込み、操作する内容のことを示す。この時イベント3で与えた情報(属性)等を用いて処理を行う。すなわち、イベント4は、全てのファイル操作ログの基点となる処理をOSのファイルシステムが行った後に、本実施例に係る情報漏洩防止プログラムが必要な操作を行うタイミングを示している。
【0270】
イベント5 「プロセスの起動」とは、プロセスの起動時に割り込んで行う処理である。
【0271】
イベント6 「プロセスの終了」とは、プロセスの終了時に割り込んで行う処理である。なお、イベント1,2は前記のユーザ部、イベント3,4はOSのフィルタマネージャ、イベント5,6はOSのプロセスマネージャによって通知される。すなわち、プロセスマネージャは、情報漏洩防止プログラムのカーネル部へイベントを通知する。
【0272】
図20はイベント1の初期化並びにイベント2の監視対象設定を示す。まずユーザ部がカーネル部のロードを行う(ステップS2001)。そしてカーネル部はこのロードを受けて、カーネル部が有するホワイトリストとブラックリストの初期化の他、監視を行う為の初期化を行う(ステップS2002)。ここで、初期化とは、プログラム開始時に必ず行うプログラム内で用いるスタックやヒープにアサインする変数の初期化(初期値の代入)のことである。カーネル部は、初期化が終わるとユーザ部に初期化が完了したことを通知する(ステップS2003)。
カーネル部は、監視対象となる指定ドライブとディレクトリをユーザ部により通知される(ステップS2004)。カーネル部は、監視対象となる指定ドライブとディレクトリをヒープ領域の変数に登録する(ステップS2005)。その後、カーネル部は一連の準備が整ったことをユーザ部へと通知する(ステップS2006)。
【0273】
図21は、図19に示したイベント3の動作を示したフローチャートである。イベント3は、ファイル操作開始通信が発行されたときのイベントである。ファイル操作開始通信は、何らかのファイル操作が行われようとしていることを示す。ファイル操作開始通信が発行されることとファイル操作が行われることは同値である。つまり、イベント3は、ファイル操作の起点となるイベントである。すべてのファイル操作の起点であるファイル操作開始通信がIOマネージャによって処理される前に、フィルタマネージャは、操作の内容分析し、必要な情報を記録しておく。
【0274】
ステップS2101で、カーネル部は、発生したプロセス識別子とブラックリストに登録されているプロセス識別子とを比較する。一致すれば、ステップS2102に進み、カーネル部は、ブラックリストに登録されているプロセスであることを示すBlack属性情報をヒープ内の変数に付加する。ステップS2101で、不一致であれば、ステップS2103に進む。
【0275】
ステップS2103で、カーネル部は、発生したプロセスの識別子とホワイトリストに登録されているプロセス識別子とを比較する。一致すれば、ステップS2104に進み、カーネル部は、「ホワイト」のフラグをヒープ内の変数につける。ステップS2103で、不一致であれば、ステップS2105に進む。ちなみにこの段階で「ホワイト」の属性情報が確定したわけではないことをお断りしておく。
【0276】
ステップS2105で、カーネル部は、ヒープ内の変数であるパス識別子をチェックし、操作の対象のディレクトリが監視対象かどうかを判断し、監視対象であることがわかればステップS2106に進む。
【0277】
ステップS2106で、カーネル部は、ステップ2204でヒープ内の変数に
付加された「ホワイト」フラグの有無を判定する。フラグが無ければ、S2107で、ホワイトリストに登録されていないプロセスであることを示すNot White属性をヒープ内の変数に付加する一方、フラグがあれば、ステップS2108で、カーネル部は、監視リスト監視リスト内のプロセス識別子と、現在のプロセス識別子とを比較する。両者が一致すれば、ステップS2109に進む。
【0278】
ステップS2109で、カーネル部は、監視ファイルリスト内のファイル識別子と現在のファイル識別子とを比較する。両者が一致しなければ、ステップS2110に進み、カーネル部は、監視ファイルリストに現在のファイル識別子を新規に追加する。この場合は何の属性情報もヒープ内の変数には付加されない(ステップS2113)。
【0279】
一方、S2108で、監視リスト内のプロセス識別子と、現在のプロセス識別子とが一致しなければ、ステップS2111に進む。ステップS2111で、カーネル部は、監視リストに現在のプロセス識別子を追加する。なお、この場合も最終的に何の属性情報もヒープ内の変数には付加されない。
【0280】
ところで、ステップS2105で、操作対象が監視対象でなければ、ステップS2112に進む。ステップS2112ではステップS2108と同様の照合が行われる。すなわち、カーネル部は、監視リスト内のプロセス識別子と、現在のプロセス識別子とを比較する。両者が一致しなければ、ステップS2113で何の属性情報もヒープ内の変数には付加されない。
【0281】
一方、ステップS2112でプロセス識別子の照合が一致した場合にはステップS2114に進み、先のステップS2109同様監視ファイルリスト内のファイル識別子と合致するかどうかをチェックする。合致していなければステップS2113に進み、何の属性情報も付加されない。
【0282】
ここでファイル識別子の合致が確認されればステップS2115へ進み「Is white」属性情報がヒープ内の変数に付加される。
【0283】
以上のようにして、各プロセスはイベント2にてIs White、Not White、Black、none(何の属性も付与されていないこと)が判明する。
【0284】
なお、none(何の属性も付与されていないこと)の場合、例えば、監視対象とされたユーザ使用ファイル17−1を編集し、編集したデータを第2の記憶領域17に保存することである。
【0285】
図22は、図19に示した4番目のイベントの動作を示したフローチャートである。ステップS2201で、カーネル部は、属性情報がIs Whiteであるか否かを判定する。IsWhiteでなければ、ステップS2202に進み、カーネル部は、ファイル操作開始通信をキャンセルする。
【0286】
一方、IsWhiteであれば、ステップS2203に進む。ステップS2203で、カーネル部は、操作内容をチェックする。この時、操作内容が「ファイルの新規作成」であれば、ステップS2204に進み、カーネル部は、新規作成されたファイルの強制削除を実行する。
【0287】
一方で、既存ファイルへの上書き、若しくは書き換えであれば、ステップS2205で、カーネル部は、ファイル操作開始通信をキャンセルする。また、ステップS2204の終了後もステップS2205へ移動し、ファイル操作開始通信はキャンセルされる。
【0288】
また、ステップS2203におけるチェックで先述の3つの動作でなければここでは何の処理も行われない(S2206)。
【0289】
すなわち、例えば、ファイルの新規作成や、ファイルの保存は禁止されるが、端末装置20におけるRAM23上でのファイルの編集は可能である。
【0290】
図23a、図23bは、図19に示したイベント5およびイベント6の動作を示したフローチャートである。イベント5では、起動するプロセスのプロセス識別子をホワイトリストかブラックリストに登録されているプロセス識別子と照合し、いずれかのリストに登録されているプロセス識別子であれば、そのプロセス識別子を監視リストに追加する。動するプロセスのプロセス識別子がどちらのリストにも該当しない場合は何もしない。6番目のイベントでは、終了するプロセスのプロセス識別子をから削除する。
【0291】
図23aはイベント5のプロセス起動時の動作を示す。ステップS2301で、プロセスマネージャは、プロセスの開始をカーネル部に通知する。ここでカーネル部は一時的にプロセスの開始に割り込んで当該プロセスをストップさせている。ステップS2302で、カーネル部は、プロセス識別子を取得する。ステップS2303で、カーネル部は、プロセス判定部を用いて取得したプロセスがホワイトリスト、ブラックリストのいずれかに属しているかを判定する。ここでホワイトリストに属すると判定されればステップS2304で、カーネル部は、対象となる識別子をWhiteListに登録する。一方、プロセス判定部により当該プロセスがブラックリストに属するものと判定されればステップS2305へ進み、当該プロセスのプロセス識別子がブラックリストへ追加される。
【0292】
また、いずれにも属しない時は直接ステップS2306へ進み、プロセスマネージャへプロセスの開始を再開させる、これはステップS2304でのホワイトリストへの追加、並びにステップS2305でのブラックリストの追加後も同様である。
【0293】
図23bは、プロセス終了時の動作を示す。カーネル部はプロセスマネージャからプロセス終了通知を受信する。この時はプロセス起動時同様にプロセス終了を途中でストップさせる(ステップS2307)。次いでステップS2308へ進み、カーネル部は終了する当該プロセスのプロセス識別子を取得する。そしてステップS2309へ進み、ホワイトリストから該当するプロセス識別子があるかどうかをチェックする、そしてあれば当該プロセス識別子を削除する(ステップ2310)。
【0294】
同様にステップS2311ではブラックリスト内のプロセス識別子と当該プロセス識別子を照合して、合致すればステップS2312へ進み、ブラックリスト内の当該識別子を削除する。
【0295】
そしてまた、いずれにも属しない時は直接ステップS2313へ進み、プロセスマネージャへプロセスの終了を再開させる、これはステップS2310でのホワイトリスト内からの削除、並びにステップS2312でのブラックリスト内からの削除後も同様である。
【0296】
以上、カーネル部が行う情報漏洩防止機能について説明をしてきた、以降は主としてカーネル部による情報漏洩防止機能にて防ぐことが困難、若しくは運用上の負荷の軽減を考慮し、ユーザーモードで動作する内容について記す。
【0297】
ユーザ部による制御を行う、理由としてはホワイトリストに登録されているプロセスの中の情報漏洩に関係する項目、OSの仕様によってカーネル部では制御できない項目等である。
【0298】
以降の項目にてユーザ部で制御する代表例並びに制御方法について説明する。なお、ユーザ部の制御は主として各OSに沿った信号、情報、レジストリ、標準のAPI、等に代表される各種パラメータ、関数、それらの変換手段等、それらを含むプログラム又はファイル等を用いて行われる。
【0299】
図24は、実施例4に係るユーザ部での制御内容の代表例及び制御理由を示す表である。
【0300】
以下に各項目について詳細に説明する。
【0301】
[レジストリ変更防止手段]
レジストリ変更防止手段は特定のレジストリの変更を監視して、レジストリ変更があった場合、すぐに当該レジストリを変更前の状態に戻す手段である。また、監視が解除されると、レジストリを監視状態の前の状態に戻す。
【0302】
図24中「レジストリ変更防止手段の代表例」には3つの制御内容の代表例が示されている。1つ目の制御内容は、Explorerのコンテキストメニューにある「送る」という項目を防止することである。Explorerはホワイトリストに登録される、極めて汎用性のあるプロセスである。それゆえ、Explorerによって作成されたファイルをメールに添付することを、カーネル部は防ぐことができない。その補完機能としてレジストリ変更防止手段が、とりわけ、「送る」という項目の有効化を防止する。
【0303】
2つ目の制御内容は、壁紙の変更を防止することである。漏洩防止対象のファイルが画像ファイルであれば、一般に、壁紙として使用できる。上述したように画紙を制御するExplorerは、ホワイトリストに登録される。よって、カーネル部が壁紙への使用を禁止できない。それゆえ、カーネル部を補助する当手段が、漏洩防止対象ファイルの壁紙へ使用を禁止する。
【0304】
3つ目の制御内容は、規定のメーラの登録を削除することである。これは、上記同様ホワイトリストに登録されているメーラが任意のファイルを送信することを、カーネル部は防ぐことができないからである。
【0305】
このように、情報漏洩防止プログラムは、ホワイトリストに登録されているファイル操作プログラムまたはメーラープログラムによるファイルの漏洩を防止するためにレジストリの変更を監視、並びに防止させるレジストリ変更防止手段として、端末装置を機能させる。
【0306】
[デバイス無効化手段]
デバイス無効化手段は、デバイスを無効化、あるいは有効化を禁止する手段である。デバイス無効化手段は、特定のデバイスが新しく)追加されても、デバイス変更信号を感知したタイミングで、このデバイスを無効化する。一方、デバイス制御機構は、監視が解除されると、禁止されていたデバイスを監視前の状態に戻す。
【0307】
図25中の「デバイス無効化手段代表例」は、実施例4に係るデバイスにおける制御デバイスと制御理由とを示す図である。なお、デバイス無効化手段は、例えばユーザがWindows(登録商標)のデバイスマネージャというUI上でドライブを無効にする操作と同等のことを実現する機能である。
【0308】
図25によれば、制御デバイスはFDD(フレキシブルドライブディスク)とNIC(ネットワーク通信カード)である。FDDのディスクをOSが認識していない間、カーネル部をAttachすることができない。よって、手順によってはファイルを1個だけ持ち出すことが出来てしまう可能性がある。それゆえ、制御デバイスはFDDを監視することで、ファイルの移動を禁止する。
【0309】
NICを監視する理由は、Explorerがホワイトリストに登録されているため、監視対象内のファイルをアップロードされてしまうことをカーネル部が防止できないからである。よって、デバイス無効化手段は、NICからアップロードされるファイルが漏洩防止対象ファイルであれば、アップロードを禁止する。
【0310】
このように実施例4によれば、フレキシブルディスクドライブに書き込まれるファイルが情報漏洩対象ファイルであるか否かを監視し、情報漏洩対象ファイルが書き込み対象として指定されると、その書き込みを禁止する書き込み禁止手段として、端末装置を機能させる。
【0311】
また、情報漏洩防止プログラムは、ホワイトリストに登録されているファイル操作プログラムによるファイルの漏洩を防止するために通信装置から外部へ送信されるファイルが情報漏洩対象ファイルであるか否かを監視し、情報漏洩対象ファイルが送信対象として指定されると、その送信を禁止する送信禁止手段として、端末装置を機能させる。
【0312】
[グローバルフック手段]
グローバルフック手段は、各種メッセージの処理を制限する機能である。監視が解除されると、この制御も解除される。
【0313】
図24中の「グローバルフック手段の代表例」には、実施例4に係るグローバルフック手段における制御内容の代表例及びその制御理由が示されている。1つ目は、予め指定されているダイアログを表示させないようにする機能である。具体的にはキャプションやウィンドウクラスが登録内容と一致した場合、グローバルフック手段は、そのダイアログを止める。これは、例えば「名前をつけて保存」「名前を変更して保存」「オブジェクトの挿入」に代表される、ファイルシステムに関与しないメモリ上の操作はカーネル部で制御できないためである。それゆえ、グローバルフック手段は、このような操作に関するダイアログをストップさせる、若しくは無効化する。
【0314】
2つ目は、マウスに代表されるポインティングデバイス等によるウインドウをまたぐDrag&Dropを禁止する機能である。これはファイル内のデータをポインティングデバイス等がDrag&Dropで持ち出すことをカーネル部が防ぐことができないためである。
【0315】
例えばマウスの場合、ウインドウ中で複数のファイルを選択しドラッグしようとする際にはマウス上のボタンを押したままカーゾルを移動させる操作する必要がある。このボタンを押した際の座標をグローバルフック手段が捕らえており、ボタンが離された際にボタンを押した際の座標と違えばその動作を無効化する等によって実施される。
【0316】
このように実施例4によれば、情報漏洩防止プログラムは、情報漏洩対象ファイルまたはその一部を端末装置のメモリ上で複製するためのダイアログの表示が指定されると、当該ダイアログの表示を禁止するダイアログ禁止手段として、端末装置を機能させる。
【0317】
また、情報漏洩防止プログラムは、情報漏洩対象ファイルまたはその一部についての複数のウインドウ間でのドラックアンドドロップを監視し、ドラックアンドドロップが指定されると、その実行を禁止するドラックアンドドロップ禁止手段として、端末装置を機能させる。
【0318】
[クリップボード利用防止手段]
クリップボード利用防止手段は、文字通りクリップボードの利用を防止する為の手段である。これは監視対象となっているファイルがクリップボード中の一時記憶を経て漏洩してしまうことを防ぐ為の機能である。
【0319】
図24中の「クリップボード利用防止手段の代表例」には本手段による2つの例が記載されている。これらは共にクリップボード利用防止手段がクリップボードを独占してしまうことにより、他のプロセスがクリップボードを一切利用できなくすることで実施される。これはカーネル部がクリップボードによるファイル内のデータの持ち出しを制御できないためである。監視が解除されると、クリップボード制御機構も解除される。
【0320】
このように実施例4によれば、情報漏洩防止プログラムは、クリップボードの使用を独占することで、情報漏洩対象ファイルまたはその一部を該クリップボードへコピーすることを防止するクリップボード独占手段として、端末装置を機能させる。
【0321】
以上でユーザ部による情報漏洩防止の制御についての説明を終了する。
【0322】
以上でもって実施例4における情報漏洩防止手段の詳細について説明をしてきたが、本発明におけるカーネル部の制御とユーザ部の制御の形態は互いに補完関係にある。よって今後技術の進展やOSの仕様変更によってカーネル部での制御とユーザ部での制御が入れ替わる可能性等が考えられるが、それらの制御も以上の手段に準ずる範囲であれば本発明の範疇に含まれることは明らかであろう。
【0323】
なお、実施例3や実施例4に記載の情報漏洩防止プログラムは、USBストレージデバイス10から分離されて単独で使用されてもよい。例えば、
(1)第2の記憶領域17と第3の記憶領域18はそのままで、第1の記憶領域16の代わりに、HDD25におけるフォルダやディレクトリに、上記第1の領域に相当するものを設け、そこに実施例と同様な情報漏洩防止プログラムを予め格納して、USBストレージデバイス10の第2領域17のデータファイルの漏洩防止を上記実施例と同様に行うことも可能である。
(2)第1の記憶記憶領域16、第2の記憶領域17の代わりに、HDD25における任意のフォルダやディレクトリに、上記記憶領域1,2に相当するものを設け、そこに実施例と同様な情報漏洩防止プログラムとデータファイルを格納して、そのデータファイルの漏洩防止のために同様のプログラム制御が適用されてもよい。これにより端末を複数のユーザが利用する場合他人のデータファイルを誤って漏洩するのを防止できる。
【0324】
さらに、上記(1)(2)の場合、サーバからクライアント(端末装置20)のHDD25に、情報漏洩防止プログラムを格納することも可能である。
【0325】
また、サーバから、最新の情報漏洩プログラムをクライアント(端末装置20)が受信し、USBストレージ10、またはHDD25の第一の記憶領域16に、追加や更新するということも可能である。
【0326】
[実施例5]
実施例5では、上述した実施例の変形例について説明する。具体的には、ホストPCからアクセス可能なネットワーク(通常はイントラネット)上にサーバを配置し、サーバからUSBストレージデバイスに記憶されている情報を更新する。USBストレージデバイスに記憶されている情報を更新できるようにすることで、ユーザごとにセキュリティ設定を変更するなど、セキュリティ設定に柔軟性をもたらすことができる。
【0327】
この柔軟性によって、USBストレージデバイスに対してグループ管理を適用できる。グループ管理とは、複数のユーザによりグループを構成し、そのグループに属するユーザに対しては共通のセキュリティ設定を適用することである。また、グループは複数のPCによって構成されても良い。この場合、グループに属するPCのすべてをホストPCとすることが可能となる。
【0328】
ところで、情報漏洩防止機能を有していない一般のUSBメモリであれば、あるPCから他のPCへと自由にデータを運ぶことが可能となる。しかし、上述の情報漏洩防止機能を適用されたUSBストレージデバイスでは、任意のデータをあるPCから他のPCへと運ぶことは制限される。すなわち、セキュリティ設定が厳格である場合、USBストレージデバイスを使用可能なホストPCが1台に限定されてしまうこともある。このような課題についても、グループ管理を導入することで解決できる。すなわち、特定のグループに所属する複数のPCをホストPCとして、USBストレージデバイスに登録できるようにする。これにより、特定のグループ内ではUSBストレージデバイスを一般のUSBメモリのように使用することが可能となる。もちろん、未登録のPCにUSBストレージデバイスを装着したときは、上述した情報漏洩防止機能が作動するため、データの移動等は制限される。
【0329】
図25は、実施形態に係るグループ管理の一例を示したシーケンス図である。ここでは、説明を簡潔にするために、サーバ装置及びクライアント装置のハードウエア構成は、端末装置20と同等であるものとする。
【0330】
ステップS2501で、サーバ装置のCPU21は、デバイスIDとユーザIDとの関連付けを実行する。ここで、デバイスIDは、ホストPCとなる端末装置20を識別するためのPC固有値及びUSBストレージデバイスを識別するためのUSBメモリ固有値を示す。なお、PC固有値は、上述したホストPC登録情報18−1に相当する。
【0331】
図26は、サーバ装置のHDD25に記憶されるUSBメモリ固有値テーブルを示した図である。USBメモリ固有値テーブル2601は、USBメモリの固有値とグループIDとを関連付けるテーブルである。なお、図中の*はテーブルのプライマリキーを意味している。グループIDは、各グループIDを識別するための識別情報である。サーバ装置のCPU21は、キーボードやポインティングデバイス28を通じて入力されたUSBメモリの固有値とグループIDとを関連付けて、USBメモリ固有値テーブル2601に登録する。
【0332】
図27は、サーバ装置のHDD25に記憶されるPC固有値テーブルを示した図である。PC固有値テーブル2701は、ホストPCの固有値とグループIDとを関連付けるテーブルである。サーバ装置のCPU21は、キーボードやポインティングデバイス28を通じて入力されたPC固有値とグループIDとを関連付けて、PC固有値テーブル2701に登録する。
【0333】
なお、各PCについて、ホストPCとして動作可能な時間帯(開始日時及び終了日時)もPC固有値テーブル2701に登録されてもよい。この場合、第1の情報(ホストPC登録情報)は、第2の情報(ユーザ使用ファイル17−1)を第2の記憶領域17から読み出して不揮発性記憶手段(端末装置20のHDD25)へ格納することができる複数の情報処理装置の識別情報(PC固有値)と、複数の情報処理装置のそれぞれが第2の情報を第2の記憶領域17から読み出して不揮発性記憶手段へ格納することができる時間帯を示す時間帯情報とを含むことになる。さらに、情報漏洩防止プログラムであるセキュリティソフトウエアは、記憶装置10が接続されている端末装置20の識別情報(PC固有値)に対応した時間帯情報に基づいて、第2の情報の取扱いを制限することになる。
【0334】
なお、第1の情報(ホストPC登録情報18−1)は、複数のユーザのそれぞれに対応した第2の情報の取扱いを規定したユーザ設定(図29に示す各種セキュリティレベル)を含む。
【0335】
また、第1の情報(ホストPC登録情報18−1)は、それぞれ一人以上のユーザからなるユーザグループごとに、第2の情報の取扱いを規定したユーザ設定(グループごとの各種セキュリティレベル)を含む。
【0336】
ステップS2502で、サーバ装置のCPU21は、キーボードやポインティングデバイス28を通じて入力された情報に従って、各グループごとのセキュリティを設定する。
【0337】
図28は、サーバ装置のHDD25に記憶されるユーザテーブルを示した図である。ユーザテーブル2801は、ユーザIDと、グループIDと、優先レベルとを関係付けるテーブルである。ユーザIDは、各ユーザを識別するための識別情報である。優先レベルは、例えば、個人向けのセキュリティ機能を優先して適用するか、グループ向けのセキュリティ機能を優先して適用するかを示す情報である。
【0338】
サーバ装置のCPU21は、キーボードやポインティングデバイス28を通じて入力された情報に従って、ユーザIDと、グループIDと、優先レベルとを対応付けてユーザテーブル2801に登録する。
【0339】
図29は、サーバ装置のHDD25に記憶されるグループテーブルを示した図である。グループテーブル2901は、グループIDと、セキュリティレベルとを関連付けるテーブルである。セキュリティレベルは、各種セキュリティ機能の有効/無効を示す情報である。セキュリティレベルの一例を以下に列挙する。
【0340】
初期化のON/OFF
クリップボード使用禁止のON/OFF
ドラッグ&ドロップ使用禁止のON/OFF
特定ダイアログボックスの使用禁止(名前を付けてファイルを保存等)のON/OFF
印刷禁止のON/OFF
ネットワーク切断のON/OFF
ホワイトリスト及びブラックリスト更新のON/OFF
なお、初期化とは、例えば、ユーザ使用ファイル17−1の削除することや、ホストPC登録情報情報18−1、ユーザ登録情報18−2、ホワイトリスト18−3及びブラックリスト18−4の更新することを意味する。ただし、サーバに接続されていない端末装置20でUSBストレージデバイス(記憶装置10)が使用される場合、ホワイトリスト18−3及びブラックリスト18−4の削除は実行しないものとする。
【0341】
サーバ装置のCPU21は、キーボードやポインティングデバイス28を通じて入力された情報に従って、グループIDと、各種セキュリティレベルとを対応付けてグループテーブル2901に登録する。
【0342】
ステップS2503で、サーバ装置のCPU21は、所定のタイミングで、クライアントへ設定情報を送信する。所定のタイミングは、例えば、端末装置20において起動したセキュリティソフトウエア25−2から送信された設定情報の要求をサーバ装置が受信したタイミングである。サーバ装置のCPU21は、設定情報の要求に含まれているユーザIDから上述のテーブルに基づいてグループIDを特定し、グループIDに対応するPC固有値、優先レベル及び各種セキュリティレベルを決定する。サーバ装置のCPU21は、決定したPC固有値と、優先レベルと、セキュリティレベルと、最新のホワイトリスト及びブラックリストとを設定情報に搭載する。なお、設定情報に、最新バージョンのセキュリティソフトウエアが含まれていてもよい。この場合、第1の記憶領域に記憶されているセキュリティソフトウエア16−1bが最新バージョンに更新されることになる。
【0343】
ステップS2504で、クライアントである端末装置20のCPU21は、設定情報を受信し、記憶装置10のセキュリティ設定を変更する。端末装置20のCPU21は、設定情報に含まれていたPC固有値を、コントローラ12を通じてホストPC登録情報18−1に書き込む。同様に、CPU21は、受信した優先レベルとセキュリティレベルも第3の記憶領域18に書き込む。さらに、CPU21は、受信したワイトリスト及びブラックリストも第3の記憶領域18に書き込む。
【0344】
なお、初期化がONに設定されている場合、ステップS2505で、サーバ装置のCPU21は、初期化処理要求を端末装置20へ送信する。ステップS2506で、CPU21は、初期化処理を実行する。なお、端末装置20のCPU21は、キーボード等の入力装置から入力されたパスワードと記憶装置10に記憶されているユーザ登録情報18−2に含まれているパスワードとが一致しているか否かを判定してもよい。そして、CPU21は、両者が一致している場合にのみ、初期化処理を実行する。
【0345】
図30は、ホストPC登録情報18−1を適用する端末装置20の動作の一例を示したフローチャートである。ステップS3001で、CPU21は、第3の記憶領域18に記憶されている優先レベルを、コントローラ12を介して読み出し、優先レベルが個人に設定されているか、グループに設定されているかを判定する否かを判定する。この判定処理は、単一の個人が記憶装置10を使用するのか、複数の個人が記憶装置10を使用するのかを判定する処理である。また、この判定処理は、単一の端末装置20が記憶装置10を使用するのか、複数の端末装置20が記憶装置10を使用するのかを判定する処理である。
優先レベルが個人に設定されていなければ(グループに設定されていれば)、ステップS3002に進む。
【0346】
ステップS3002で、CPU21は、予め登録されている所定のサーバと通信可能か否かを判定する。所定のサーバのURLまたはアドレスの情報は予めセキュリティソフトウエア16−1bが備えている。サーバと通信可能であれば、ステップS3003に進む。
【0347】
ステップS3003で、CPU12は、サーバから受信した設定情報に含まれていたPC固有値を、記憶装置10に記憶されているホストPC登録情報18−1の代わりに、セキュリティソフトウエア16−1bに適用する。
【0348】
一方、ステップS3001で、優先レベルが個人に設定されていると判定された場合、または、ステップS3002で、所定のサーバと通信できないと判定された場合、ステップS3004に進む。
【0349】
ステップS3004で、CPU21は、記憶装置10に記憶されているホストPC登録情報18−1をセキュリティソフトウエア16−1bに適用する。
【0350】
このように、情報漏洩防止プログラムであるセキュリティソフトウエアは、情端末装置20が所定のサーバと接続可能か否かを判定する接続判定手段(S3002)と、端末装置20が所定のサーバと接続可能であれば、所定のサーバから受信した第1の情報を第2の情報に適用し(S3003)、端末装置20が所定のサーバと接続可能でなければ、第1の記憶領域に記憶されている第1の情報を第2の情報に適用する(S3004)情報切り替え手段として端末装置20を機能させる。
【0351】
また、セキュリティソフトウエアは、単一の個人が記憶装置10を使用するのどうかを判定する使用者判定手段(S3001)と、単一の個人が記憶装置10を使用するのであれば、第1の記憶領域に記憶されている第1の情報を第2の情報に適用し(S3004)、単一の個人が記憶装置10を使用するのでなければ、所定のサーバから受信した第1の情報を第2の情報に適用する(S3003)情報切り替え手段として端末装置20を機能させる。
【0352】
同様に、セキュリティソフトウエアは、予め定められた単一の端末装置20が記憶装置10を使用するのか、予め定められた複数の端末装置20が記憶装置10を使用するのかを判定する判定手段(S3001)と、単一の端末装置20が記憶装置10を使用するのであれば、第1の記憶領域に記憶されている第1の情報を第2の情報に適用し(S3004)、複数の端末装置20が記憶装置10を使用するのであれば、所定のサーバから受信した第1の情報を第2の情報に適用する(S3003)情報切り替え手段として情報処理装置を機能させる。
【0353】
図31は、ホストPC登録情報18−1の登録を示したシーケンス図である。ステップS3101で、クライアントである端末装置20のCPU21は、記憶装置10内に予めアドレスが登録されている所定のサーバへ応答確認要求を送信する。これは、端末装置20がサーバと接続されているか否かを確認するためである。
【0354】
ステップS3102で、サーバ装置のCPU21は、応答確認要求を受信すると、所定のサーバである旨の情報を端末装置20へ送信する。また、サーバ装置のCPU21は、HDD25に記憶しているホストPC登録情報(例えば、PC固有値等)も一緒に端末装置20へ送信してもよい。
【0355】
ステップS3103で、端末装置20のCPU21は、サーバから送信された所定のサーバである旨の情報と、記憶装置10内に予め登録されている所定のサーバに関する情報が一致しているか否かを判定する。両者が一致していなければ、CPU21は、受信した情報を破棄する。一方、両者が一致している場合、ステップS3104に進む。
【0356】
ステップS3104で、CPU21は、サーバから送信されたホストPC登録情報をホストPC登録情報18−1へ登録する。
【0357】
図32は、ホストPC登録情報18−1の登録を行うまでの変形例を示したシーケンス図である。ステップS3201で、クライアントである端末装置20のCPU21は、クライアントに関する情報(例えば、ユーザIDやデバイスID等)をサーバへ送信する。ステップS3202で、サーバ装置のCPU21は、端末装置20から受信したクライアントに関する情報と、予めHDD25に記憶しているクライアントに関する情報とが一致しているか否かを判定する。両者が一致していなければ、CPU21は、エラー処理を実行する。両者が一致している場合、ステップS3203に進む。
【0358】
ステップS3203で、サーバ装置のCPU21は、受信したクライアントに関する情報に対応したホストPC登録情報(例えば、グループID等)を端末装置20に送信する。
【0359】
ステップS3204で、端末装置20のCPU21は、サーバから受信したホストPC登録情報を記憶装置10のホストPC登録情報18−1として登録する。なお、ホストPC登録情報18−1の更新は、記憶装置10が端末装置20に接続されたごとに実行されてもよいし、ユーザの利便性を考慮して所定の期間ごと(例えば四半期毎)に実行されてもよい。
【0360】
以上説明したように、本実施例によれば、情報漏洩防止プログラムであるセキュリティソフトウエア25−1は、端末装置20をサーバと接続し、サーバから受信した情報によって第1の情報を更新する更新手段として端末装置20を機能させる。よって、サーバを介してホストPC登録情報等を更新することが可能となる。すなわち、また、ホストPC登録情報には、特定のグループに属する複数のPCの固有値が記憶されるため、複数のホストPCを実現できる。例えば、特定のグループに属した複数のPC間では、記憶装置10を一般的なUSBメモリとして使用することが可能となる。一方で、特定のグループに属していない社外のPCについては、ホストPCになれないため、記憶装置10に関するデータへのアクセスが制限される。よって、記憶装置10のセキュリティを柔軟に維持することができる。
【0361】
本実施例では、グループ管理によって、ユーザグループごとに、セキュリティレベルを変更することが可能となる。もちろん、ユーザごとのセキュリティレベルをサーバから受信してホストPC登録情報18−1に保持すれば、ユーザごとにセキュリティレベルを変更することが可能となる。
【特許請求の範囲】
【請求項1】
汎用インターフェースを介して情報処理装置と接続される記憶装置において、
第1の情報を格納する第1の記憶領域と、
編集可能な第2の情報を格納する読み出し書き込み可能な第2の記憶領域とを有し、
前記第1の情報は、
前記第2の情報が漏洩することを防止する情報漏洩防止プログラムと、
前記第2の情報の格納が許容される格納先と
を含むことを特徴とする記憶装置。
【請求項2】
前記第1の情報は、前記情報処理装置に前記記憶装置が接続されたときに前記情報漏洩防止プログラムを前記情報処理装置において起動させるための起動ファイルをさらに含むことを特徴とする請求項1に記載の記憶装置。
【請求項3】
前記情報漏洩防止プログラムは、
前記情報処理装置をサーバと接続し、該サーバから受信した情報によって前記第1の情報を更新する更新手段として該情報処理装置を機能させることを特徴とする請求項1または2に記載の記憶装置。
【請求項4】
前記第1の情報は、前記第2の情報をアクセスする対象者を特定するデータをさらに含むことを特徴とする請求項1ないし3のいずれか1項に記載の記憶装置。
【請求項5】
前記情報漏洩防止プログラムは、前記情報処理装置が前記第2の情報を閲覧することを許可するとともに、前記情報処理装置へ該第2の情報を格納することを禁止するコンピュータプログラムであることを特徴とする請求項1ないし3のいずれか1項に記載の記憶装置。
【請求項6】
前記情報漏洩防止プログラムは、前記情報処理装置が前記第2の情報を編集し、編集した第2の情報を前記第2の記憶領域に格納することを許可するコンピュータプログラムであることを特徴とする請求項5に記載の記憶装置。
【請求項7】
前記情報漏洩防止プログラムは、
前記情報処理装置から前記記憶装置が取り外されたことを検出する取り外し検出手段と、
前記記憶装置が前記情報処理装置から取り外されたことが検出されると、前記第1の情報および前記第2の情報を前記情報処理装置からクリアないしアンインストールする手段として、
前記情報処理装置を機能させることを特徴とする請求項5に記載の記憶装置。
【請求項8】
前記情報漏洩防止プログラムは、
前記第2の情報の格納先が前記第1の情報によって特定されている場合、前記情報処理装置が前記第2の情報を前記第2の記憶領域に加えて前記特定されている格納先にも格納することを許可することを特徴とする請求項1ないし7のいずれか1項に記載の記憶装置。
【請求項9】
前記情報漏洩防止プログラムは、ネットワークに接続された前記情報処理装置が前記第2の情報を該ネットワーク上に配信することを許可することを特徴とする請求項1ないし8のいずれか1項に記載の記憶装置。
【請求項10】
前記情報漏洩防止プログラムは、前記情報処理装置のプログラム動作を監視及び制御する手段として前記情報処理装置を機能させることで、前記情報処理装置へ前記第2の情報を格納することを禁止することを特徴とする請求項1に記載の記憶装置。
【請求項11】
前記情報処理装置のプログラム動作を監視及び制御する手段は、カーネルモードにて動作することを特徴とする請求項10に記載の記憶装置。
【請求項12】
前記情報漏洩防止プログラムは、前記情報処理装置のレジストリを監視し、該レジストリの変更があった場合、該レジストリにおいて変更された情報を変更前の情報に戻す手段として前記情報処理装置を機能させることを特徴とする請求項1に記載の記憶装置。
【請求項13】
前記変更前の情報に戻す手段は、前記第2の情報を電子メールにより送信すること、または前記第2の情報を壁紙として使用することを禁止する手段であることを特徴とする請求項12に記載の記憶装置。
【請求項14】
前記情報漏洩防止プログラムは、前記情報処理装置に情報を格納するデバイスと、前記情報処理装置から情報を送信するデバイスを無効化する手段として前記情報処理装置を機能させることを特徴とする請求項1記載の記憶装置。
【請求項15】
前記デバイスを無効化する手段は、フレキシブルドライブディスクへの情報の書き込み、またはネットワークへの情報のアップロードを禁止する手段であることを特徴とする請求項14に記載の記憶装置。
【請求項16】
前記情報漏洩防止プログラムは、前記第2の情報を前記情報処理装置へ格納することに導く操作を禁止する手段として前記情報処理装置を機能させることを特徴とする請求項1に記載の記憶装置。
【請求項17】
前記操作を禁止する手段は、ダイアログ表示、ドラックアンドドロップ、クリップボードの利用のいずれか一つ、または複数の組み合わせを禁止する手段であることを特徴とする請求項16に記載の記憶装置。
【請求項18】
着脱可能な記憶装置を汎用インターフェースに接続可能な情報処理装置において、
前記記憶装置は、
第1の情報を格納する第1の記憶領域と、
編集可能な第2の情報を格納する読み出し書き込み可能な第2の記憶領域とを有し、
前記第1の情報は、前記第2の情報の漏洩防止のために取扱いを制御する情報を備え、
前記情報処理装置は、前記第1の情報を前記第1の記憶領域から読み出して実行する
ことを特徴とする情報処理装置。
【請求項19】
情報処理装置において、
第1の情報を格納する第1の記憶領域と、
編集可能な第2の情報を格納する読み出し書き込み可能な第2の記憶領域とを有し、
前記第1の情報は、前記第2の情報の格納先の特定を制御する情報であることを特徴とする情報処理装置。
【請求項20】
前記第1の情報は、前記第2の情報が漏洩することを防止する情報漏洩防止プログラムを含むことを特徴とする請求項19に記載の情報処理装置。
【請求項21】
汎用インターフェースを介して情報処理装置と接続される記憶装置の第1の記憶領域から第1の情報を読み出す第1のステップと、
前記記憶装置の第2の記憶領域に記憶された編集可能な第2の情報の前記情報処理装置における取扱いを前記第1の情報により制御することで、前記第2の情報の漏洩を防止する第2のステップと
を前記情報処理装置に実行させるコンピュータプログラムであって、
前記第1の情報は、
前記第2の情報の格納が許容される格納先
を含むことを特徴とするコンピュータプログラム。
【請求項22】
端末装置が備える汎用インターフェースに対して着脱可能な記憶装置であって、
前記端末装置によって択一的に認識される第1の記憶領域および第2の記憶領域と、
前記第1の記憶領域に記憶され、前記端末装置に認識される記憶領域を該第1の記憶領域から前記第2の記憶領域へと切り替えるための切り替えプログラムと、
前記第1の記憶領域に記憶され、前記端末装置に前記記憶装置が接続されたときに前記切り替えプログラムを前記端末装置において起動させるための起動ファイルと、
を備えることを特徴とする記憶装置。
【請求項23】
前記第1の記憶領域は、読み出しのみ可能な記憶領域であり、前記第2の記憶領域は、読み出しおよび書き込みとも可能な記憶領域であることを特徴とする請求項22に記載の記憶装置。
【請求項24】
前記起動ファイルは、autorun.infファイルであることを特徴とする請求項23に記載の記憶装置。
【請求項25】
前記第1の記憶領域および前記第2の記憶領域はそれぞれ異なるパーティションであり、
前記切り替えプログラムは、前記第1の記憶領域であるパーティションを不可視状態に切り替えた後、前記第2の記憶領域であるパーティションを可視状態に切り替えることを特徴とする請求項22ないし24のいずれか1項に記載の記憶装置。
【請求項26】
前記切り替えプログラムにしたがって前記端末装置が発行する切り替え命令を受信することで、前記端末装置に認識される記憶領域を前記第1の記憶領域から前記第2の記憶領域へと切り替える第1のコントローラを備えることを特徴とする請求項22ないし24のいずれか1項に記載の記憶装置。
【請求項27】
前記第1のコントローラは、前記切り替え命令を受信すると、前記第1の記憶領域の論理ユニット番号と前記第2の記憶領域の論理ユニット番号を変更することを特徴とする請求項26に記載の記憶装置。
【請求項28】
前記切り替えプログラムは、前記端末装置に認識される記憶領域を前記第1の記憶領域から前記第2の記憶領域へと切り替えたとしても前記記憶装置に割り当てられるドライブレターを維持する維持手段として前記端末装置を機能させることを特徴とする請求項22ないし27のいずれか1項に記載の記憶装置。
【請求項29】
前記切り替えプログラムは、前記第1の記憶領域に記憶されている情報漏洩防止プログラムを前記端末装置にインストールしてから、前記端末装置に認識される記憶領域を前記第1の記憶領域から前記第2の記憶領域へと切り替えることを特徴とする請求項22ないし28のいずれか1項に記載の記憶装置。
【請求項30】
前記情報漏洩防止プログラムは、
前記記憶装置が前記端末装置から取り外されたことを検出する取り外し検出手段と、
前記記憶装置が前記端末装置から取り外されたことが検出されると、前記記憶装置から前記端末装置へとインストールされたプログラムおよびファイルをアンインストールする手段として、前記端末装置を機能させることを特徴とする請求項29に記載の記憶装置。
【請求項31】
前記端末装置において実行されるプロセスのうち、前記第2の記憶領域に対するアクセスを許可されたプロセスの識別情報を登録したホワイトリストを記憶した第3の記憶領域をさらに含み、
前記情報漏洩防止プログラムは、
前記端末装置において実行されているプロセスの識別情報が、前記ホワイトリストに登録されている識別情報と一致するか否かに応じて、前記第2の記憶領域に対するアクセスを制限するアクセス制限手段として、前記端末装置を機能させることを特徴とする請求項29または30に記載の記憶装置。
【請求項32】
前記第3の記憶領域には、前記端末装置において実行されるプロセスのうち、アクセス対象の如何にかかわらず、動作をキャンセルされるプロセスの識別情報を登録したブラックリストを記憶しており、
前記情報漏洩防止プログラムは、
前記端末装置において実行されているプロセスの識別情報が、前記ブラックリストに登録されている識別情報と一致すると、当該プロセスによる動作をキャンセルするキャンセル手段として、前記端末装置を機能させることを特徴とする請求項31に記載の記憶装置。
【請求項33】
前記アクセス制限手段は、
前記端末装置において実行されているプロセスの識別情報が、前記ブラックリストおよび前記ホワイトリストのいずれにも登録されていない場合、該プロセスが前記記憶装置の記憶領域にアクセスすることを限定することを特徴とする請求項32に記載の記憶装置。
【請求項34】
前記記憶装置に予め記憶されている認証情報と、前記端末装置または前記記憶装置に設けられた入力手段から入力された認証情報とを用いて認証処理を実行する認証手段をさらに含み、前記認証処理が成功すると、前記切り替えプログラムが、前記端末装置に認識される記憶領域を前記第1の記憶領域から前記第2の記憶領域へと切り替えることを特徴とする請求項22に記載の記憶装置。
【請求項35】
前記記憶装置に予め記憶されている認証情報と、前記端末装置または前記記憶装置に設けられた入力手段から入力された認証情報とを用いて認証処理を実行する認証手段を含み、
前記認証処理が成功すると、前記情報漏洩防止プログラムは、前記記憶装置に対するアクセスの制限を解除する解除手段として前記端末装置を機能させることを特徴とする請求項29に記載の記憶装置。
【請求項36】
前記切り替えプログラムは、前記記憶装置に前記認証情報が予め記憶されていなければ、前記認証情報の初期登録を実行する登録手段として前記端末装置を機能させることを特徴とする請求項34または35に記載の記憶装置。
【請求項37】
前記認証情報は、前記端末装置に付与されているMACアドレス、型式番号、製造番号およびIPアドレスのうち1つまたは複数を含む端末装置登録情報であることを特徴とする請求項34ないし36のいずれか1項に記載の記憶装置。
【請求項38】
前記認証情報は、ユーザを特定するための識別子、パスワード、暗証番号、バイオメトリクス情報のうち1つまたは複数を含むユーザ登録情報であることを特徴とする請求項34ないし37のいずれか1項に記載の記憶装置。
【請求項39】
端末装置が備える汎用インターフェースに対して着脱可能な記憶装置の制御方法であって、
前記記憶装置は、
前記端末装置によって択一的に認識される第1の記憶領域および第2の記憶領域と、
前記第1の記憶領域に記憶され、前記端末装置に認識される記憶領域を該第1の記憶領域から前記第2の記憶領域へと切り替えるための切り替えプログラムと、
前記第1の記憶領域に記憶され、前記端末装置に前記記憶装置が接続されたときに前記切り替えプログラムを前記端末装置において起動させるための起動ファイルと、
を備え、
前記端末装置が前記記憶装置に接続されると、前記第1の記憶領域から前記起動ファイルを読み出して実行するステップと、
前記起動ファイルにしたがって前記切り替えプログラムを実行するステップと、
前記切り替えプログラムにしたがって前記端末装置に認識される記憶領域を前記第1の記憶領域から前記第2の記憶領域へと切り替えるステップと
を含むことを特徴とする制御方法。
【請求項40】
端末装置が備える汎用インターフェースに対して着脱可能であり、前記端末装置によって択一的に認識される第1の記憶領域および第2の記憶領域とを備えた記憶装置において、前記端末装置に接続されたときにコンピュータプログラムを前記端末装置において起動させるための起動ファイルとともに前記第1の記憶領域に記憶されたコンピュータプログラムであって、
前記記憶装置が前記端末装置に接続されたことで前記第1の記憶領域から読み出された前記起動ファイルにしたがって前記コンピュータプログラムが前記端末装置によって起動されると、
前記端末装置に認識される記憶領域を前記第1の記憶領域から前記第2の記憶領域へと切り替える切り替え手段として前記端末装置を機能させることを特徴とするコンピュータプログラム。
【請求項41】
前記切り替え手段は、前記第1の記憶領域に記憶されている情報漏洩防止プログラムを前記端末装置にインストールしてから、前記端末装置に認識される記憶領域を前記第1の記憶領域から前記第2の記憶領域へと切り替えることを特徴とする請求項40に記載のコンピュータプログラム。
【請求項42】
前記情報漏洩防止プログラムは、
前記記憶装置が前記端末装置から取り外されたことを検出する取り外し検出手段と、
前記記憶装置が前記端末装置から取り外されたことが検出されると、前記記憶装置から前記端末装置へとインストールされたプログラムおよびファイルをアンインストールする手段として、前記端末装置を機能させることを特徴とする請求項41に記載のコンピュータプログラム。
【請求項43】
着脱可能な記憶装置を汎用インターフェースに接続する端末装置であって、
前記記憶装置は、
前記端末装置によって択一的に認識される第1の記憶領域および第2の記憶領域と、
前記第1の記憶領域に記憶され、前記端末装置に認識される記憶領域を該第1の記憶領域から前記第2の記憶領域へと切り替えるための切り替えプログラムと、
前記第1の記憶領域に記憶され、前記端末装置に前記記憶装置が接続されたときに前記切り替えプログラムを前記端末装置において起動させるための起動ファイルと、
を備え、
前記端末装置は、
前記記憶装置が接続されると、前記第1の記憶領域から前記起動ファイルを読み出し、該起動ファイルにしたがって前記切り替えプログラムを実行する手段と、
前記切り替えプログラムにしたがって前記端末装置から認識可能な記憶領域を前記第1の記憶領域から前記第2の記憶領域へと切り替える切り替え手段と
を含むことを特徴とする端末装置。
【請求項44】
前記情報漏洩防止プログラムは、前記ホワイトリストに登録されているファイル操作プログラムまたはメーラープログラムによるファイルの漏洩を防止するためにレジストリを一時的に変更する、又は変更されたレジストリを変更前へ戻すレジストリ変更手段として、前記端末装置を機能させることを特徴とする請求項31に記載の記憶装置。
【請求項45】
前記情報漏洩防止プログラムは、前記ホワイトリストに登録されているファイル操作プログラムによるファイルの漏洩を防止するために、
接続されている、又は追加接続される特定の通信装置を一時的に無効化する手段として、前記端末装置を機能させることを特徴とする請求項31に記載の記憶装置。
【請求項46】
前記情報漏洩防止プログラムは、フレキシブルディスクドライブによるファイルの漏洩を防止するために、接続されている、又は追加接続されるフレキシブルドライブを一時的に無効化する手段として、前記端末装置を機能させることを特徴とする請求項31に記載の記憶装置。
【請求項47】
前記情報漏洩防止プログラムは、情報漏洩対象ファイルまたはその一部を前記端末装置のメモリ上で複製するためのダイアログの表示が指定されると、当該ダイアログの表示を禁止するダイアログ禁止手段として、前記端末装置を機能させることを特徴とする請求項31に記載の記憶装置。
【請求項48】
前記情報漏洩防止プログラムは、情報漏洩対象ファイルまたはその一部についての複数のウインドウ間でのドラックアンドドロップを監視し、ドラックアンドドロップが指定されると、その実行を禁止するドラックアンドドロップ禁止手段として、前記端末装置を機能させることを特徴とする請求項31に記載の記憶装置。
【請求項49】
前記情報漏洩防止プログラムは、クリップボードの使用を独占することで、情報漏洩対象ファイルまたはその一部を該クリップボードへコピーすることを防止するクリップボード独占手段として、前記端末装置を機能させることを特徴とする請求項31に記載の記憶装置。
【請求項50】
汎用インターフェースを介して情報処理装置と接続される記憶装置において、
第1の情報を格納する第1の記憶領域と、
編集可能な第2の情報を格納する読み出し書き込み可能な第2の記憶領域とを有し、
前記第1の情報は、
前記第2の情報の漏洩を防止するために該第2の情報の取扱いを制御する情報漏洩防止プログラムと、
前情報漏洩防止プログラムを前記情報処理装置において起動させるための起動ファイルと
を含むことを特徴とする記憶装置。
【請求項51】
前記情報漏洩防止プログラムは、
前記情報処理装置が所定のサーバと接続可能か否かを判定する接続判定手段と、
前記情報処理装置が前記所定のサーバと接続可能であれば、前記所定のサーバから受信した第1の情報を前記第2の情報に適用し、前記情報処理装置が前記所定のサーバと接続可能でなければ、前記第1の記憶領域に記憶されている第1の情報を前記第2の情報に適用する情報切り替え手段
として前記情報処理装置を機能させることを特徴とする請求項1または50に記載の記憶装置。
【請求項52】
前記情報漏洩防止プログラムは、
単一の個人が前記記憶装置を使用するのどうかを判定する使用者判定手段と、
前記単一の個人が前記記憶装置を使用するのであれば、前記第1の記憶領域に記憶されている第1の情報を前記第2の情報に適用し、前記単一の個人が前記記憶装置を使用するのでなければ、所定のサーバから受信した第1の情報を前記第2の情報に適用する情報切り替え手段
として前記情報処理装置を機能させることを特徴とする請求項1または50に記載の記憶装置。
【請求項53】
前記情報漏洩防止プログラムは、
予め定められた単一の情報処理装置が前記記憶装置を使用するのか、予め定められた複数の情報処理装置が前記記憶装置を使用するのかを判定する判定手段と、
前記単一の情報処理装置が前記記憶装置を使用するのであれば、前記第1の記憶領域に記憶されている第1の情報を前記第2の情報に適用し、前記複数の情報処理装置が前記記憶装置を使用するのであれば、所定のサーバから受信した第1の情報を前記第2の情報に適用する情報切り替え手段
として前記情報処理装置を機能させることを特徴とする請求項1または50に記載の記憶装置。
【請求項54】
前記第1の情報は、
前記第2の情報を前記第2の記憶領域から読み出して不揮発性記憶手段へ格納することができる複数の情報処理装置の識別情報と、
前記複数の情報処理装置のそれぞれが前記第2の情報を前記第2の記憶領域から読み出して不揮発性記憶手段へ格納することができる時間帯を示す時間帯情報と
を含み、
前記情報漏洩防止プログラムは、
前記記憶装置が接続されている情報処理装置の識別情報に対応した前記時間帯情報に基づいて、該情報処理装置による前記第2の情報の取扱いを制限することを特徴とする請求項1または50に記載の記憶装置。
【請求項55】
前記第1の情報は、
複数のユーザのそれぞれに対応した前記第2の情報の取扱いを規定したユーザ設定を含むことを特徴とする請求項1または50に記載の記憶装置。
【請求項56】
前記第1の情報は、
それぞれ一人以上のユーザからなるユーザグループごとに、前記第2の情報の取扱いを規定したユーザ設定を含むことを特徴とする請求項1または50に記載の記憶装置。
【請求項1】
汎用インターフェースを介して情報処理装置と接続される記憶装置において、
第1の情報を格納する第1の記憶領域と、
編集可能な第2の情報を格納する読み出し書き込み可能な第2の記憶領域とを有し、
前記第1の情報は、
前記第2の情報が漏洩することを防止する情報漏洩防止プログラムと、
前記第2の情報の格納が許容される格納先と
を含むことを特徴とする記憶装置。
【請求項2】
前記第1の情報は、前記情報処理装置に前記記憶装置が接続されたときに前記情報漏洩防止プログラムを前記情報処理装置において起動させるための起動ファイルをさらに含むことを特徴とする請求項1に記載の記憶装置。
【請求項3】
前記情報漏洩防止プログラムは、
前記情報処理装置をサーバと接続し、該サーバから受信した情報によって前記第1の情報を更新する更新手段として該情報処理装置を機能させることを特徴とする請求項1または2に記載の記憶装置。
【請求項4】
前記第1の情報は、前記第2の情報をアクセスする対象者を特定するデータをさらに含むことを特徴とする請求項1ないし3のいずれか1項に記載の記憶装置。
【請求項5】
前記情報漏洩防止プログラムは、前記情報処理装置が前記第2の情報を閲覧することを許可するとともに、前記情報処理装置へ該第2の情報を格納することを禁止するコンピュータプログラムであることを特徴とする請求項1ないし3のいずれか1項に記載の記憶装置。
【請求項6】
前記情報漏洩防止プログラムは、前記情報処理装置が前記第2の情報を編集し、編集した第2の情報を前記第2の記憶領域に格納することを許可するコンピュータプログラムであることを特徴とする請求項5に記載の記憶装置。
【請求項7】
前記情報漏洩防止プログラムは、
前記情報処理装置から前記記憶装置が取り外されたことを検出する取り外し検出手段と、
前記記憶装置が前記情報処理装置から取り外されたことが検出されると、前記第1の情報および前記第2の情報を前記情報処理装置からクリアないしアンインストールする手段として、
前記情報処理装置を機能させることを特徴とする請求項5に記載の記憶装置。
【請求項8】
前記情報漏洩防止プログラムは、
前記第2の情報の格納先が前記第1の情報によって特定されている場合、前記情報処理装置が前記第2の情報を前記第2の記憶領域に加えて前記特定されている格納先にも格納することを許可することを特徴とする請求項1ないし7のいずれか1項に記載の記憶装置。
【請求項9】
前記情報漏洩防止プログラムは、ネットワークに接続された前記情報処理装置が前記第2の情報を該ネットワーク上に配信することを許可することを特徴とする請求項1ないし8のいずれか1項に記載の記憶装置。
【請求項10】
前記情報漏洩防止プログラムは、前記情報処理装置のプログラム動作を監視及び制御する手段として前記情報処理装置を機能させることで、前記情報処理装置へ前記第2の情報を格納することを禁止することを特徴とする請求項1に記載の記憶装置。
【請求項11】
前記情報処理装置のプログラム動作を監視及び制御する手段は、カーネルモードにて動作することを特徴とする請求項10に記載の記憶装置。
【請求項12】
前記情報漏洩防止プログラムは、前記情報処理装置のレジストリを監視し、該レジストリの変更があった場合、該レジストリにおいて変更された情報を変更前の情報に戻す手段として前記情報処理装置を機能させることを特徴とする請求項1に記載の記憶装置。
【請求項13】
前記変更前の情報に戻す手段は、前記第2の情報を電子メールにより送信すること、または前記第2の情報を壁紙として使用することを禁止する手段であることを特徴とする請求項12に記載の記憶装置。
【請求項14】
前記情報漏洩防止プログラムは、前記情報処理装置に情報を格納するデバイスと、前記情報処理装置から情報を送信するデバイスを無効化する手段として前記情報処理装置を機能させることを特徴とする請求項1記載の記憶装置。
【請求項15】
前記デバイスを無効化する手段は、フレキシブルドライブディスクへの情報の書き込み、またはネットワークへの情報のアップロードを禁止する手段であることを特徴とする請求項14に記載の記憶装置。
【請求項16】
前記情報漏洩防止プログラムは、前記第2の情報を前記情報処理装置へ格納することに導く操作を禁止する手段として前記情報処理装置を機能させることを特徴とする請求項1に記載の記憶装置。
【請求項17】
前記操作を禁止する手段は、ダイアログ表示、ドラックアンドドロップ、クリップボードの利用のいずれか一つ、または複数の組み合わせを禁止する手段であることを特徴とする請求項16に記載の記憶装置。
【請求項18】
着脱可能な記憶装置を汎用インターフェースに接続可能な情報処理装置において、
前記記憶装置は、
第1の情報を格納する第1の記憶領域と、
編集可能な第2の情報を格納する読み出し書き込み可能な第2の記憶領域とを有し、
前記第1の情報は、前記第2の情報の漏洩防止のために取扱いを制御する情報を備え、
前記情報処理装置は、前記第1の情報を前記第1の記憶領域から読み出して実行する
ことを特徴とする情報処理装置。
【請求項19】
情報処理装置において、
第1の情報を格納する第1の記憶領域と、
編集可能な第2の情報を格納する読み出し書き込み可能な第2の記憶領域とを有し、
前記第1の情報は、前記第2の情報の格納先の特定を制御する情報であることを特徴とする情報処理装置。
【請求項20】
前記第1の情報は、前記第2の情報が漏洩することを防止する情報漏洩防止プログラムを含むことを特徴とする請求項19に記載の情報処理装置。
【請求項21】
汎用インターフェースを介して情報処理装置と接続される記憶装置の第1の記憶領域から第1の情報を読み出す第1のステップと、
前記記憶装置の第2の記憶領域に記憶された編集可能な第2の情報の前記情報処理装置における取扱いを前記第1の情報により制御することで、前記第2の情報の漏洩を防止する第2のステップと
を前記情報処理装置に実行させるコンピュータプログラムであって、
前記第1の情報は、
前記第2の情報の格納が許容される格納先
を含むことを特徴とするコンピュータプログラム。
【請求項22】
端末装置が備える汎用インターフェースに対して着脱可能な記憶装置であって、
前記端末装置によって択一的に認識される第1の記憶領域および第2の記憶領域と、
前記第1の記憶領域に記憶され、前記端末装置に認識される記憶領域を該第1の記憶領域から前記第2の記憶領域へと切り替えるための切り替えプログラムと、
前記第1の記憶領域に記憶され、前記端末装置に前記記憶装置が接続されたときに前記切り替えプログラムを前記端末装置において起動させるための起動ファイルと、
を備えることを特徴とする記憶装置。
【請求項23】
前記第1の記憶領域は、読み出しのみ可能な記憶領域であり、前記第2の記憶領域は、読み出しおよび書き込みとも可能な記憶領域であることを特徴とする請求項22に記載の記憶装置。
【請求項24】
前記起動ファイルは、autorun.infファイルであることを特徴とする請求項23に記載の記憶装置。
【請求項25】
前記第1の記憶領域および前記第2の記憶領域はそれぞれ異なるパーティションであり、
前記切り替えプログラムは、前記第1の記憶領域であるパーティションを不可視状態に切り替えた後、前記第2の記憶領域であるパーティションを可視状態に切り替えることを特徴とする請求項22ないし24のいずれか1項に記載の記憶装置。
【請求項26】
前記切り替えプログラムにしたがって前記端末装置が発行する切り替え命令を受信することで、前記端末装置に認識される記憶領域を前記第1の記憶領域から前記第2の記憶領域へと切り替える第1のコントローラを備えることを特徴とする請求項22ないし24のいずれか1項に記載の記憶装置。
【請求項27】
前記第1のコントローラは、前記切り替え命令を受信すると、前記第1の記憶領域の論理ユニット番号と前記第2の記憶領域の論理ユニット番号を変更することを特徴とする請求項26に記載の記憶装置。
【請求項28】
前記切り替えプログラムは、前記端末装置に認識される記憶領域を前記第1の記憶領域から前記第2の記憶領域へと切り替えたとしても前記記憶装置に割り当てられるドライブレターを維持する維持手段として前記端末装置を機能させることを特徴とする請求項22ないし27のいずれか1項に記載の記憶装置。
【請求項29】
前記切り替えプログラムは、前記第1の記憶領域に記憶されている情報漏洩防止プログラムを前記端末装置にインストールしてから、前記端末装置に認識される記憶領域を前記第1の記憶領域から前記第2の記憶領域へと切り替えることを特徴とする請求項22ないし28のいずれか1項に記載の記憶装置。
【請求項30】
前記情報漏洩防止プログラムは、
前記記憶装置が前記端末装置から取り外されたことを検出する取り外し検出手段と、
前記記憶装置が前記端末装置から取り外されたことが検出されると、前記記憶装置から前記端末装置へとインストールされたプログラムおよびファイルをアンインストールする手段として、前記端末装置を機能させることを特徴とする請求項29に記載の記憶装置。
【請求項31】
前記端末装置において実行されるプロセスのうち、前記第2の記憶領域に対するアクセスを許可されたプロセスの識別情報を登録したホワイトリストを記憶した第3の記憶領域をさらに含み、
前記情報漏洩防止プログラムは、
前記端末装置において実行されているプロセスの識別情報が、前記ホワイトリストに登録されている識別情報と一致するか否かに応じて、前記第2の記憶領域に対するアクセスを制限するアクセス制限手段として、前記端末装置を機能させることを特徴とする請求項29または30に記載の記憶装置。
【請求項32】
前記第3の記憶領域には、前記端末装置において実行されるプロセスのうち、アクセス対象の如何にかかわらず、動作をキャンセルされるプロセスの識別情報を登録したブラックリストを記憶しており、
前記情報漏洩防止プログラムは、
前記端末装置において実行されているプロセスの識別情報が、前記ブラックリストに登録されている識別情報と一致すると、当該プロセスによる動作をキャンセルするキャンセル手段として、前記端末装置を機能させることを特徴とする請求項31に記載の記憶装置。
【請求項33】
前記アクセス制限手段は、
前記端末装置において実行されているプロセスの識別情報が、前記ブラックリストおよび前記ホワイトリストのいずれにも登録されていない場合、該プロセスが前記記憶装置の記憶領域にアクセスすることを限定することを特徴とする請求項32に記載の記憶装置。
【請求項34】
前記記憶装置に予め記憶されている認証情報と、前記端末装置または前記記憶装置に設けられた入力手段から入力された認証情報とを用いて認証処理を実行する認証手段をさらに含み、前記認証処理が成功すると、前記切り替えプログラムが、前記端末装置に認識される記憶領域を前記第1の記憶領域から前記第2の記憶領域へと切り替えることを特徴とする請求項22に記載の記憶装置。
【請求項35】
前記記憶装置に予め記憶されている認証情報と、前記端末装置または前記記憶装置に設けられた入力手段から入力された認証情報とを用いて認証処理を実行する認証手段を含み、
前記認証処理が成功すると、前記情報漏洩防止プログラムは、前記記憶装置に対するアクセスの制限を解除する解除手段として前記端末装置を機能させることを特徴とする請求項29に記載の記憶装置。
【請求項36】
前記切り替えプログラムは、前記記憶装置に前記認証情報が予め記憶されていなければ、前記認証情報の初期登録を実行する登録手段として前記端末装置を機能させることを特徴とする請求項34または35に記載の記憶装置。
【請求項37】
前記認証情報は、前記端末装置に付与されているMACアドレス、型式番号、製造番号およびIPアドレスのうち1つまたは複数を含む端末装置登録情報であることを特徴とする請求項34ないし36のいずれか1項に記載の記憶装置。
【請求項38】
前記認証情報は、ユーザを特定するための識別子、パスワード、暗証番号、バイオメトリクス情報のうち1つまたは複数を含むユーザ登録情報であることを特徴とする請求項34ないし37のいずれか1項に記載の記憶装置。
【請求項39】
端末装置が備える汎用インターフェースに対して着脱可能な記憶装置の制御方法であって、
前記記憶装置は、
前記端末装置によって択一的に認識される第1の記憶領域および第2の記憶領域と、
前記第1の記憶領域に記憶され、前記端末装置に認識される記憶領域を該第1の記憶領域から前記第2の記憶領域へと切り替えるための切り替えプログラムと、
前記第1の記憶領域に記憶され、前記端末装置に前記記憶装置が接続されたときに前記切り替えプログラムを前記端末装置において起動させるための起動ファイルと、
を備え、
前記端末装置が前記記憶装置に接続されると、前記第1の記憶領域から前記起動ファイルを読み出して実行するステップと、
前記起動ファイルにしたがって前記切り替えプログラムを実行するステップと、
前記切り替えプログラムにしたがって前記端末装置に認識される記憶領域を前記第1の記憶領域から前記第2の記憶領域へと切り替えるステップと
を含むことを特徴とする制御方法。
【請求項40】
端末装置が備える汎用インターフェースに対して着脱可能であり、前記端末装置によって択一的に認識される第1の記憶領域および第2の記憶領域とを備えた記憶装置において、前記端末装置に接続されたときにコンピュータプログラムを前記端末装置において起動させるための起動ファイルとともに前記第1の記憶領域に記憶されたコンピュータプログラムであって、
前記記憶装置が前記端末装置に接続されたことで前記第1の記憶領域から読み出された前記起動ファイルにしたがって前記コンピュータプログラムが前記端末装置によって起動されると、
前記端末装置に認識される記憶領域を前記第1の記憶領域から前記第2の記憶領域へと切り替える切り替え手段として前記端末装置を機能させることを特徴とするコンピュータプログラム。
【請求項41】
前記切り替え手段は、前記第1の記憶領域に記憶されている情報漏洩防止プログラムを前記端末装置にインストールしてから、前記端末装置に認識される記憶領域を前記第1の記憶領域から前記第2の記憶領域へと切り替えることを特徴とする請求項40に記載のコンピュータプログラム。
【請求項42】
前記情報漏洩防止プログラムは、
前記記憶装置が前記端末装置から取り外されたことを検出する取り外し検出手段と、
前記記憶装置が前記端末装置から取り外されたことが検出されると、前記記憶装置から前記端末装置へとインストールされたプログラムおよびファイルをアンインストールする手段として、前記端末装置を機能させることを特徴とする請求項41に記載のコンピュータプログラム。
【請求項43】
着脱可能な記憶装置を汎用インターフェースに接続する端末装置であって、
前記記憶装置は、
前記端末装置によって択一的に認識される第1の記憶領域および第2の記憶領域と、
前記第1の記憶領域に記憶され、前記端末装置に認識される記憶領域を該第1の記憶領域から前記第2の記憶領域へと切り替えるための切り替えプログラムと、
前記第1の記憶領域に記憶され、前記端末装置に前記記憶装置が接続されたときに前記切り替えプログラムを前記端末装置において起動させるための起動ファイルと、
を備え、
前記端末装置は、
前記記憶装置が接続されると、前記第1の記憶領域から前記起動ファイルを読み出し、該起動ファイルにしたがって前記切り替えプログラムを実行する手段と、
前記切り替えプログラムにしたがって前記端末装置から認識可能な記憶領域を前記第1の記憶領域から前記第2の記憶領域へと切り替える切り替え手段と
を含むことを特徴とする端末装置。
【請求項44】
前記情報漏洩防止プログラムは、前記ホワイトリストに登録されているファイル操作プログラムまたはメーラープログラムによるファイルの漏洩を防止するためにレジストリを一時的に変更する、又は変更されたレジストリを変更前へ戻すレジストリ変更手段として、前記端末装置を機能させることを特徴とする請求項31に記載の記憶装置。
【請求項45】
前記情報漏洩防止プログラムは、前記ホワイトリストに登録されているファイル操作プログラムによるファイルの漏洩を防止するために、
接続されている、又は追加接続される特定の通信装置を一時的に無効化する手段として、前記端末装置を機能させることを特徴とする請求項31に記載の記憶装置。
【請求項46】
前記情報漏洩防止プログラムは、フレキシブルディスクドライブによるファイルの漏洩を防止するために、接続されている、又は追加接続されるフレキシブルドライブを一時的に無効化する手段として、前記端末装置を機能させることを特徴とする請求項31に記載の記憶装置。
【請求項47】
前記情報漏洩防止プログラムは、情報漏洩対象ファイルまたはその一部を前記端末装置のメモリ上で複製するためのダイアログの表示が指定されると、当該ダイアログの表示を禁止するダイアログ禁止手段として、前記端末装置を機能させることを特徴とする請求項31に記載の記憶装置。
【請求項48】
前記情報漏洩防止プログラムは、情報漏洩対象ファイルまたはその一部についての複数のウインドウ間でのドラックアンドドロップを監視し、ドラックアンドドロップが指定されると、その実行を禁止するドラックアンドドロップ禁止手段として、前記端末装置を機能させることを特徴とする請求項31に記載の記憶装置。
【請求項49】
前記情報漏洩防止プログラムは、クリップボードの使用を独占することで、情報漏洩対象ファイルまたはその一部を該クリップボードへコピーすることを防止するクリップボード独占手段として、前記端末装置を機能させることを特徴とする請求項31に記載の記憶装置。
【請求項50】
汎用インターフェースを介して情報処理装置と接続される記憶装置において、
第1の情報を格納する第1の記憶領域と、
編集可能な第2の情報を格納する読み出し書き込み可能な第2の記憶領域とを有し、
前記第1の情報は、
前記第2の情報の漏洩を防止するために該第2の情報の取扱いを制御する情報漏洩防止プログラムと、
前情報漏洩防止プログラムを前記情報処理装置において起動させるための起動ファイルと
を含むことを特徴とする記憶装置。
【請求項51】
前記情報漏洩防止プログラムは、
前記情報処理装置が所定のサーバと接続可能か否かを判定する接続判定手段と、
前記情報処理装置が前記所定のサーバと接続可能であれば、前記所定のサーバから受信した第1の情報を前記第2の情報に適用し、前記情報処理装置が前記所定のサーバと接続可能でなければ、前記第1の記憶領域に記憶されている第1の情報を前記第2の情報に適用する情報切り替え手段
として前記情報処理装置を機能させることを特徴とする請求項1または50に記載の記憶装置。
【請求項52】
前記情報漏洩防止プログラムは、
単一の個人が前記記憶装置を使用するのどうかを判定する使用者判定手段と、
前記単一の個人が前記記憶装置を使用するのであれば、前記第1の記憶領域に記憶されている第1の情報を前記第2の情報に適用し、前記単一の個人が前記記憶装置を使用するのでなければ、所定のサーバから受信した第1の情報を前記第2の情報に適用する情報切り替え手段
として前記情報処理装置を機能させることを特徴とする請求項1または50に記載の記憶装置。
【請求項53】
前記情報漏洩防止プログラムは、
予め定められた単一の情報処理装置が前記記憶装置を使用するのか、予め定められた複数の情報処理装置が前記記憶装置を使用するのかを判定する判定手段と、
前記単一の情報処理装置が前記記憶装置を使用するのであれば、前記第1の記憶領域に記憶されている第1の情報を前記第2の情報に適用し、前記複数の情報処理装置が前記記憶装置を使用するのであれば、所定のサーバから受信した第1の情報を前記第2の情報に適用する情報切り替え手段
として前記情報処理装置を機能させることを特徴とする請求項1または50に記載の記憶装置。
【請求項54】
前記第1の情報は、
前記第2の情報を前記第2の記憶領域から読み出して不揮発性記憶手段へ格納することができる複数の情報処理装置の識別情報と、
前記複数の情報処理装置のそれぞれが前記第2の情報を前記第2の記憶領域から読み出して不揮発性記憶手段へ格納することができる時間帯を示す時間帯情報と
を含み、
前記情報漏洩防止プログラムは、
前記記憶装置が接続されている情報処理装置の識別情報に対応した前記時間帯情報に基づいて、該情報処理装置による前記第2の情報の取扱いを制限することを特徴とする請求項1または50に記載の記憶装置。
【請求項55】
前記第1の情報は、
複数のユーザのそれぞれに対応した前記第2の情報の取扱いを規定したユーザ設定を含むことを特徴とする請求項1または50に記載の記憶装置。
【請求項56】
前記第1の情報は、
それぞれ一人以上のユーザからなるユーザグループごとに、前記第2の情報の取扱いを規定したユーザ設定を含むことを特徴とする請求項1または50に記載の記憶装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23a】
【図23b】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23a】
【図23b】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【公開番号】特開2012−69159(P2012−69159A)
【公開日】平成24年4月5日(2012.4.5)
【国際特許分類】
【出願番号】特願2011−278713(P2011−278713)
【出願日】平成23年12月20日(2011.12.20)
【分割の表示】特願2009−18633(P2009−18633)の分割
【原出願日】平成21年1月29日(2009.1.29)
【出願人】(000104652)キヤノン電子株式会社 (876)
【Fターム(参考)】
【公開日】平成24年4月5日(2012.4.5)
【国際特許分類】
【出願日】平成23年12月20日(2011.12.20)
【分割の表示】特願2009−18633(P2009−18633)の分割
【原出願日】平成21年1月29日(2009.1.29)
【出願人】(000104652)キヤノン電子株式会社 (876)
【Fターム(参考)】
[ Back to top ]