説明

情報処理装置、制御方法、コンピュータプログラム及び記憶媒体

【課題】たとえば、汎用の記憶媒体であっても情報の漏洩を抑制しやすい、コスト的に有利なセキュリティ機能を提供する。
【解決手段】本発明は、たとえば、着脱可能な記憶媒体を接続するインターフェースと、記憶媒体に記憶されているセキュリティプログラムを、インターフェースを介して、読み出して実行する制御手段とを備えた情報処理装置に適用できる。制御手段は、セキュリティプログラムをすることで、記憶媒体に確保されたセキュリティ領域へのデータの書き込みとセキュリティ領域からのデータの読み出しを許可する読み書き制御手段として機能する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理装置の制御方法、コンピュータプログラム、記録媒体に関し、特に、着脱可能な記憶媒体が関与した情報漏洩を抑制する技術に関する。
【背景技術】
【0002】
現在、パーソナルコンピュータなどの情報処理装置の外部記憶装置として、持ち運びが可能なUSBストレージデバイスが普及している。しかし、USBストレージデバイスは利便性が高い反面、ユーザーの使用方法次第では機密情報の漏洩の元となりうる。特許文献1には、指紋認証部を備えたUSBストレージデバイスが記載されている。USBストレージデバイスには、自由にユーザーが使用できる自由領域と、指紋認証部により認証された者だけが使用できる秘匿領域とが設けられている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2006−301772号公報、図1ないし図3
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、特許文献1に記載の技術では、USBストレージデバイスが指紋認証部を実装しているため、汎用的な記憶媒体よりもコストが高くなり、使い勝手も低下するであろう。一般にUSBストレージデバイスは、デバイスごとに仕様が異なる。よって、指紋認証部などの個人認証機能もデバイスの仕様に合わせてデバイスごとに用意しなければならない。また、特許文献1に記載の発明では、現在普及しているUSBストレージデバイスに後付けでセキュリティ機能を搭載することもできない。また、個人認証機能が故障して、秘匿領域に直接アクセスできるようになってしまうと、ユーザーの情報を保護することができなくなる。すなわち、情報の漏洩やソフトウェアの無断使用などのおそれがある。
【0005】
そこで、本発明は、このような課題および他の課題のうち、少なくとも1つを解決することを目的とする。たとえば、本発明は、汎用の記憶媒体であっても情報の漏洩を抑制しやすい、コスト的に有利なセキュリティ機能を提供することを目的とする。なお、他の課題については明細書の全体を通して理解できよう。
【課題を解決するための手段】
【0006】
本発明は、たとえば、着脱可能な記憶媒体を接続するインターフェースと、記憶媒体に記憶されているセキュリティプログラムを、インターフェースを介して、読み出して実行する制御手段とを備えた情報処理装置に適用できる。制御手段は、セキュリティプログラムを実行することで、記憶媒体に確保されたセキュリティ領域へのデータの書き込みとセキュリティ領域からのデータの読み出しを許可する読み書き制御手段として機能する。
【発明の効果】
【0007】
本発明によれば、記憶媒体の一部の領域に対するデータの読み書きがセキュリティプログラムにしたがって許可される。よって、記憶媒体の仕様に依存することなく、情報の漏洩を抑制するためのセキュリティ機能を追加できるため、コストを低下させやすい。
【図面の簡単な説明】
【0008】
【図1】情報処理装置1と、それに接続される汎用のUSBストレージデバイス10とを示す概略構成図である。
【図2】情報処理装置1において、USBストレージデバイス10の初期化処理を示すフローチャートである。
【図3】フォルダ階層の一例を示した図である。
【図4】設定データの一例を示す図である。
【図5】情報処理装置1にUSBストレージデバイス10が挿入された際、情報処理装置1の処理の流れを示すフローチャートである。
【図6】USBストレージデバイス10へのデータの書き込みについて、情報処理装置1における処理を示すフローチャートである。
【図7】USBストレージデバイス10からのデータの読み込みについて、情報処理装置1における処理を示すフローチャートである。
【図8】情報処理装置1と、それに接続される汎用のUSBストレージデバイス10とを示す概略構成図である。
【図9】情報処理装置1にUSBストレージデバイス10が挿入された際、情報処理装置1の処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0009】
図1は、情報処理装置1と、それに接続される汎用のUSBストレージデバイス10とを示す概略構成図である。情報処理装置1は、パーソナルコンピュータなど、汎用のインターフェースを介して外部記憶装置を接続可能なコンピュータである。USBストレージデバイス10は、情報処理装置1が備えるインターフェース8に対して着脱可能な記憶媒体の一例である。なお、記憶媒体は、FD(フレキシブルディスク)やSDカードなど、記憶領域を備えた他の種類の記憶装置であってもよい。すなわち、セキュリティプログラムを記憶しておくプログラム記憶領域と、本発明に係る読み書きの制限されるセキュリティ領域とを確保できる記憶装置であれば、どのような種類の記憶装置であってもよい。
【0010】
ここでは説明をわかりやすくするために、USBストレージデバイス10を接続するためのインターフェース8がUSBインターフェースであるものと仮定する。しかし、本発明のインターフェースは、これに限定されず、IEEE1394、ワイヤレスUSB、eSATAなど、他の種類のインターフェースであってもよい。
【0011】
情報処理装置1は、たとえば、CPU2、ROM3、RAM4、ハードディスクドライブ(HDD)5、入力装置6、表示装置7、インターフェース8及びシステムバス9を備えている。CPU2は、ROM3やHDD5に記憶されているコンピュータプログラムに基づいて各部を制御するプロセッサである。本発明のCPU2は、USBストレージデバイス10から読み出した自動インストールプログラム101やセキュリティプログラム102を実行する。これにより、CPU2は、USBストレージデバイス10に確保されたセキュリティ領域へのデータの書き込みとセキュリティ領域からのデータの読み出しを許可する読み書き制御手段として機能する。
【0012】
RAM(Random Access Memory)4は、ワークエリアとして機能する。ROM(Read Only Memory)3は、不揮発性の記憶素子であり、ファームウエアなどを記憶する。HDD5には、OS(オペレーティングシステム)、アプリケーションプログラムなどが記憶されている。なお、CPU2は、自動インストールプログラム101を実行することで、セキュリティプログラム102をHDD5に格納及びインストールする。CPU2と各部は、システムバス9を介して命令やデータの送受信を実行する。
【0013】
入力装置6は、ユーザーが情報処理装置1に対して指示を入力するための装置であり、キーボードやマウスなどにより構成されている。入力装置6は、たとえば、認証データ(パスワード)やセキュリティ領域の設定情報を入力する際に使用される。入力された情報はCPU2よって受け付けられる。表示装置7は、たとえば、CRTや液晶表示装置により構成されており、CPU2による処理結果を画像や文字などによって表示する。インターフェース8は、USBバス15を介してUSBストレージデバイス10が備えるUSBインターフェース11と接続する。すなわち、USBバス15を介して情報処理装置1とUSBストレージデバイス10とが双方向にデータの送受信を行う。
【0014】
以降では、情報処理装置1がパーソナルコンピュータであることを前提にして説明する。ただし、演算処理能力を有する機器であるならばその種類や機種は限定されることはなく、情報処理装置1として本発明を適用できる。たとえば、ネットワークを介さない情報処理装置であっても、情報処理装置1として採用できる。
【0015】
一方、USBストレージデバイス10は、USBインターフェース11、コントローラ12、発光ダイオード(LED)14、不揮発性記憶手段であるフラッシュメモリ13を備えている。コントローラ12は、情報処理装置1からUSBインターフェース11を介して受信した命令に従って、フラッシュメモリ13に対してデータの読み出し、書き込みおよび削除を実行する。USBインターフェース11は、USBバス15を介して、情報処理装置1と通信を行う。すなわち、USB規格に基づいたパケットが送受信される。LED14は、フラッシュメモリ13に対してファイルの読み出し、書き込み、削除が実行されている際に点灯する発光体である。LED14は、フラッシュメモリ13に対してファイルの読み出し、書き込みおよび削除が実行中であることをユーザーに示す。
【0016】
フラッシュメモリ13は、記憶保持動作が不要な半導体メモリであり、ファイルや情報を記憶することができる。フラッシュメモリ13に代えて、他の種類の不揮発性記憶装置が採用されてもよい。フラッシュメモリ13には、たとえば、プログラム格納領域、自由領域及び秘匿領域とが存在する。プログラム格納領域には、自動インストールプログラム101、セキュリティプログラム102及び設定データ103などが記憶される。なお、プログラム格納領域は自由領域そのものまたはその一部であってもよい。
【0017】
自動インストールプログラム101は、USBストレージデバイス10が情報処理装置1に接続されたときに実行されるコンピュータプログラムまたはスクリプトである(例:autorn.inf)。ここでは、自動インストールプログラム101は、セキュリティプログラム102を情報処理装置1へとインストールするために使用される。セキュリティプログラム102は、自身が情報処理装置で実行されている場合に限り、USBストレージデバイス10に確保されたセキュリティ領域へのデータの書き込みとセキュリティ領域からのデータの読み出しを許可する。セキュリティ領域に対するデータの読み書きは、実行中のセキュリティプログラム102が許可しなければ、実行できない。ただし、セキュリティプログラム102が実行中でない場合は、セキュリティ領域(秘匿領域)への書き込みがOSを通じて許可されてもよい。一方、非セキュリティ領域である自由領域に対するデータの読み書きは、セキュリティプログラム102が実行中であるか否かとは無関係に許可される。すなわち、通常のOSの制御にしたがって自由にデータの読み書きが実行可能である。
【0018】
本実施形態においては、データの読み書きの制限(セキュリティ機能)を暗号化処理、復号化処理及び認証処理によって実現するものとして説明する。すなわち、セキュリティ領域である秘匿領域へ書き込まれるデータは基本的に暗号化される。一方、認証の成功したユーザーが、秘匿領域から暗号化されたデータを読み出すことを指示した場合には、暗号化されたデータの復号化が実行される。
【0019】
図2は、情報処理装置1において、USBストレージデバイス10の初期化処理を示すフローチャートである。ここでは、USBストレージデバイス10には、セキュリティプログラム102が導入済みでないものとする。よって、初期化処理は、情報処理装置1内のHDD5に記憶されているセキュリティプログラム102をUSBストレージデバイス10へインストールする処理となる。情報処理装置1内のHDD5に記憶されているセキュリティプログラム102をCPU2が起動し、CPU2はセキュリティプログラム102にしたがってUSBストレージデバイス10の初期化処理を実行する。
【0020】
ステップS21で、CPU2は、フラッシュメモリ13に特定の使用者のみがアクセスできる秘匿領域(セキュリティ領域)と、第三者も自由に使用できる自由領域(非セキュリティ領域)領域とを、入力装置6から入力された情報にしたがって定義及び設定する。最も簡単な例としては、秘匿領域と自由領域とを異なるフォルダによって実現することであろう。CPU2は、秘匿領域にすべきフォルダの名称(例:秘匿領域)やファイルパスを入力することを促すためのメッセージを表示装置7から出力する。ユーザーは、秘匿領域にすべきフォルダの名称やファイルパスを入力装置6から入力する。なお、自由領域は本来なくてもよいが、ユーザーが任意で設定してもよい。つまり、秘匿領域として明示的に指定されていない他のフォルダは自由領域として黙示的に指定されたことになる。さらに、秘匿領域と自由領域の記憶容量を設定できるようにしてもよい。記憶容量の設定は、たとえば、フラッシュメモリ13を論理フォーマットした後で、記憶容量を指定した複数の基本領域や拡張領域を確保することで実現される。このように、CPU2は、記憶媒体にセキュリティ領域を定義する定義手段として機能する。
【0021】
図3は、フォルダ階層の一例を示した図である。フォルダ階層301によれば、ローカルディスク(Cドライブ)と、リムーバブルディスク302(Dドライブ)とが情報処理装置1に内蔵ないしは接続されていることがわかる。さらに、リムーバブルディスク302には、秘匿領域303と自由領域304とがフォルダとして設定されている。なお、自動インストールプログラム101、セキュリティプログラム102及び設定データ103は、ルートディレクトリに記憶されているものとする。
【0022】
図4は、設定データの一例を示す図である。CPU2は、セキュリティ領域として設定されたフォルダの名称(ファイルパス)401を設定データ103に保存する。なお、複数のセキュリティ領域が設定されてもよい。さらに、ユーザーIDとパスワードとを複数のセキュリティ領域に関連付けて設定データ103に記憶しておけば、複数のユーザー間でUSBストレージデバイス10を共用する際にもセキュリティを維持できる。設定データ103には、後述する認証データ402も保存される。設定データ103は、フラッシュメモリ13に記憶されてもよいし、HDD5に記憶されてもよい。
【0023】
ここで、秘匿領域や自由領域をフォルダにより実現しているが、本発明はこれにのみ限定されるわけではない。たとえば、フラッシュメモリ13の物理メモリアドレスを利用して各領域が決定されてもよい。
【0024】
ステップS22で、CPU2は、認証処理で使用するための認証データ(例:パスワード)を決定し、設定データ103に保存する。パスワードは、入力装置6からユーザーによって指定されたものであってもよいし、CPU2が一定のルールに基づいて決定してもよい。後者の場合、CPU2は、決定したパスワードを表示装置7に表示することで、ユーザーにパスワードを覚えてもらうことになる。また、パスワードは、ユーザーの生体認証(例:指紋認証、虹彩認証、声紋認証)データであってもよい。この場合は、生体認証データの入力装置が必要となろう。このように、CPU2は、セキュリティ領域に対するデータの読み出し書き込みを許可するための認証データを設定する設定手段として機能する。
【0025】
なお、CPU2は、セキュリティ領域(すなわちフォルダ)ごと、または、情報処理装置ごとに異なる暗号鍵を生成する暗号鍵生成手段として機能してもよい。これにより、ある情報処理装置1において暗号化されたUSBストレージデバイス10内のデータは、他の情報処理装置1では復号できなくなる。
【0026】
ステップS23で、CPU2は、HDD5に記憶されているセキュリティプログラム102、自動インストールプログラム101及び設定データ103をUSBストレージデバイス10のフラッシュメモリ13にインストールし、初期化処理を終了する。このような初期化処理により、ユーザーの事情に合わせて、各領域の容量やパスワードの設定・変更を行うことができる。
【0027】
図5は、情報処理装置1にUSBストレージデバイス10が挿入された際、情報処理装置1の処理の流れを示すフローチャートである。なお、CPU2は、OSにしたがってUSBストレージデバイス10が情報処理装置1に接続されたか否か、USBストレージデバイス10が情報処理装置1から取り外されたか否かを監視しているものとする。このように、CPU2は、インターフェースに記憶媒体が接続されたか、または、インターフェースから取り外されたかを検出する検出手段として機能する。
【0028】
ステップS51で、初期化処理が終了したUSBストレージデバイス10が情報処理装置1に挿入(接続)される。CPU2は、USBストレージデバイス10が情報処理装置1に接続されたことを検出すると、ステップS52に進む。なお、この際に、CPU2は、OSにしたがってUSBストレージデバイス10にリムーバブルティスクとして認識し、ドライブレターを割り当てたり、フォルダの構成などを認識したりする。
【0029】
ステップS52で、CPU2は、USBストレージデバイス10内の自動インストールプログラム101を読み出して実行し、自動インストールプログラム101にしたがってセキュリティプログラム102を情報処理装置1のHDD5にインストールする。このように、CPU2は、インターフェースに記憶媒体が接続されると、セキュリティプログラムを情報処理装置にインストールするインストール手段として機能する。
【0030】
CPU2は、インストールしたセキュリティプログラム102を自動インストールプログラム101にしたがって起動する。CPU2は、セキュリティプログラム102にしたがって表示装置7を介してユーザーにパスワードの入力を促すためのダイアログなどを表示する。このように、CPU2は、セキュリティプログラムが起動されたときに認証データを受け付ける受付手段として機能する。
【0031】
ステップS53で、CPU2は、入力装置6から入力されたパスワードと、フラッシュメモリ13またはHDD5に記憶されているパスワードとに基づいて認証処理を実行する。このように、CPU2は、受け付けられた認証データと設定手段により設定された認証データとを比較することで認証処理を実行する認証手段として機能する。CPU2は、両者を比較し、両者が一致すれば、認証成功と判定し、両者が一致しなければ認証失敗と判定する。認証が失敗すると、ステップS56に進む。ステップS56で、CPU2は、セキュリティプログラム102を終了させ、セキュリティプログラム102を情報処理装置1からアンインストールする。このように、CPU2は、インターフェースから記憶媒体が取り外されると、セキュリティプログラムを情報処理装置からアンインストールするアンインストール手段として機能する。
【0032】
一方、ステップS53で、認証が成功すると、ステップS54に進む。ステップS54で、CPU2は、セキュリティプログラム102が備える機能の一つである秘匿領域モードをONに切り替える。CPU2は、秘匿領域モード情報をRAM4に記憶する。秘匿領域モード情報は、秘匿領域モードがONかOFFかを示すフラグのようなデータである。秘匿領域モードがONになると、セキュリティプログラム102は、その後も常駐しつづける。すなわち、CPU2は、セキュリティプログラム102及び設定データ103にしたがって秘匿領域303を特定し、秘匿領域303に対するデータの読み書きを監視する。これは、CPU2が、秘匿領域303へ書き込まれるデータを暗号化し、秘匿領域303から読み出されるデータを復号化するためである。
【0033】
ステップS55で、CPU2は、USBストレージデバイス10が情報処理装置1から取り外されたか否かを判定する。USBストレージデバイス10が情報処理装置1から取り外されると、ステップS56に進む。ステップS56では、セキュリティプログラム102の終了と、自動アンインストールが実行される。
【0034】
図6は、USBストレージデバイス10へのデータの書き込みについて、情報処理装置1における処理を示すフローチャートである。ステップS61で、CPU2は、アプリケーションプログラムにしたがってデータ(情報)の書き込み要求を発生する。CPU2は、常駐しているセキュリティプログラム102にしたがって、データ(情報)の書き込み要求を監視しており、書き込み要求の発生を検出すると、ステップS62へ進む。
【0035】
ステップS62で、CPU2は、セキュリティプログラム102にしたがってRAM4から秘匿領域モード情報を読み出し、秘匿領域モードがONであるか否か判定する。秘匿領域モードがONであれば、ステップS63に進む。
【0036】
ステップS63で、CPU2は、セキュリティプログラム102にしたがって、データが書き込まれる領域が秘匿領域303であるか否かを判定する。データが書き込まれる領域を特定するための情報は、OSから受け取るものとする。秘匿領域303がターゲットフォルダである場合、ステップS64に進む。
【0037】
ステップS64で、CPU2は、セキュリティプログラム102にしたがって、書き込み対象データを暗号化する。このように、CPU2は、セキュリティ領域に対してデータを書き込む際にデータを暗号化する暗号化手段として機能する。
【0038】
ステップS65で、CPU2は、セキュリティプログラム102にしたがって、フラッシュメモリ13内の秘匿領域303に暗号化されたデータを書き込む。このように、フラッシュメモリ13に格納する前に暗号化が実行されるため、ユーザーによる機密情報の暗号化のし忘れを防止できる。
【0039】
一方、ステップS63で、データの書き込みターゲットフォルダが秘匿領域303でなければ(例:データの書き込みターゲットフォルダが自由領域304)、ステップS64をスキップして、ステップS65に進む。
【0040】
ステップS65で、CPU2は、暗号化せずに、データを自由領域304に書き込む。
【0041】
また、ステップS62で、秘匿領域モードがONでない場合、ステップS63及びステップS64をスキップして、ステップS65に進む。ステップS65で、CPU2は、データを書き込むターゲットとなる領域が秘匿領域303であるか自由領域304であるかとは無関係に、データを暗号化することなくそのまま書き込む。
【0042】
図7は、USBストレージデバイス10からのデータの読み込みについて、情報処理装置1における処理を示すフローチャートである。
【0043】
ステップ71で、CPU2は、任意のアプリケーションプログラムにしたがって、USBストレージデバイス10に対するデータの読み込み要求を発生する。ステップS72で、CPU2は、セキュリティプログラム102にしたがってRAM4から秘匿領域モード情報を読み出し、秘匿領域モードがONであるか否か判定する。秘匿領域モードがONであれば、ステップS73に進む。
【0044】
ステップS73で、CPU2は、セキュリティプログラム102にしたがって、データを読み出される対象の領域が秘匿領域303か否かを判定する。CPU2は、データを読み出される対象となっている領域(読み出し対象領域)を特定するための情報もOSから取得する。読み出し対象領域が秘匿領域303であれば、ステップS74に進む。CPU2は、読み出しのターゲットとなっているデータが暗号化データであるか否かを判定する。暗号化データか否かは、たとえば、暗号化データの先頭部分に特有の情報が存在するか否かなどにしたがって判定される。暗号化データであれば、ステップS75に進む。
【0045】
ステップS75で、CPU2は、セキュリティプログラム102にしたがって、暗号化データを復号化する。このように、CPU2は、セキュリティ領域から暗号化されたデータを読み出す際にデータを復号化する復号化手段として機能する。
【0046】
ステップS76で、CPU2は、セキュリティプログラム102にしたがって、アプリケーションプログラムにデータを渡し、RAM4にデータを書き込む。すなわち、復号化されたデータは、フラッシュメモリ13に格納されない。よって、復号化処理後にUSBストレージデバイス10が情報処理装置1から抜かれた場合でも、復号化されたデータをUSBストレージデバイス10から読み込むことはできない。その結果、機密情報の漏洩を防ぐことができる。このように、CPU2は、復号化したデータを記憶媒体に記憶せずに、情報処理装置が備えている揮発性の記憶手段に記憶させる読み書き制御手段として機能する。
【0047】
一方、ステップS73で、秘匿領域303ではない領域(例:自由領域304)が読み出し対象と判別されると、ステップS74及びS75をスキップして、ステップS76に進む。同様に、ステップS74で、読み出し対象データが暗号化データでないと判定された場合は、ステップS75をスキップして、ステップS76に進む。ステップS76で、CPU2は、データを復号化処理せずにアプリケーションプログラムに渡す。
【0048】
なお、ステップS72で、秘匿領域モードがONでないと判定された場合、ステップS73ないし75をスキップし、ステップS76に進む。ステップS76で、CPU2は、読み出し対象領域が秘匿領域303であるか自由領域304であるかとは無関係に、読み出し対象データを復号化処理せずに読み出す。
【0049】
上述した自動インストールプログラム101やセキュリティプログラム102が実行する処理のうち、コンピュータ上で稼働しているオペレーティングシステム(OS)などがその処理の一部または全部を行ってもよい。その処理によって前述した実施形態の機能が実現される場合も本発明の技術的範囲に含まれることは言うまでもない。
【0050】
以上より、秘匿領域303に格納されていたデータの読み込みと秘匿領域303への書き込みは、セキュリティプログラム102にしたがってCPU2により制御される。つまり、CPU2は、セキュリティプログラムが情報処理装置で実行されている場合に認証処理に成功すると、セキュリティ領域に対するデータの読み出し書き込みに暗号化及び復号化を施す。一方、CPU2は、認証処理に失敗すると、セキュリティ領域に対するデータの読み出し書き込みに暗号化及び復号化を施さない。よって、秘匿領域303に書き込まれるべきデータは、ユーザーが意図することなく、自動で暗号化されて書き込まれる。秘匿領域303から読み込まれるべきデータも、ユーザーが意図することなく、自動で復号化される。よって、認証に成功したユーザーであれば、暗号化や復号化の処理を意図して指示する必要はない。
【0051】
また、認証に成功したことで秘匿領域モードがONになっているときは、秘匿領域303に書き込まれたデータは暗号化されている。よって、認証に失敗したなど、秘匿領域モードがOFFのときは、そのデータを復号化することができない。すなわち、認証されていないユーザーは、暗号化されたデータを復号して利用することができない。これは、セキュリティプログラム102が実行中であれば認証に成功した特定のユーザーのみが、保護・秘匿すべきデータを保存・消去できることを意味する。なお、認証の必要がない自由領域304も用意すれば、第三者はこの自由領域304を使用すればよい。これは、記憶媒体に確保された非セキュリティ領域に対するデータの読み書きは、ユーザー認証の成否とは無関係に、CPU2が許可するからである。よって、単一のUSBストレージデバイス10を特定のユーザーと第三者とで安全に共用することもできる。
【0052】
フラッシュメモリ13から暗号化されたデータを読み込む場合、復号化されたデータはフラッシュメモリ13ではなくRAM4に書き込まれる。すなわち、復号化されたデータはフラッシュメモリ13には書き込まれない。よって、復号化処理後にUSBストレージデバイス10が情報処理装置1から抜かれた場合でも、秘匿領域303に格納されているデータは依然として暗号化されたままである。よって、秘匿領域303に格納されている機密情報の漏洩を防ぐことができる。
【0053】
ところで、上述の実施形態では、USBストレージデバイス10のフラッシュメモリ13にセキュリティプログラム102を記憶して持ち歩き、それを起動することを想定していた。しかし、セキュリティプログラム102等をUSBストレージデバイス10に記憶して持ち歩く必要はない。すなわち、情報処理装置1のHDD5にセキュリティプログラム102を記憶しておき、それをユーザーによる入力装置6からの起動指示に基づいて、または、USBストレージデバイス10に記憶してある自動起動プログラム(autorun.infなど)に基づいて、CPU2がセキュリティプログラム102を起動する。
【0054】
図8は、情報処理装置1と、それに接続される汎用のUSBストレージデバイス10とを示す概略構成図である。すでに説明した箇所には同一の参照符号を付与している。
【0055】
図1と比較すると、図8では、セキュリティプログラム102と設定データ103が情報処理装置1のHDD5に記憶されている。すなわち、上述した初期化処理のステップS23では、CPU2が、設定データ103をHDD5に記憶したものとする。また、設定データ103はフラッシュメモリ13に記憶されていてもよい。
【0056】
なお、USBストレージデバイス10ごと、または、フォルダごとに暗号鍵を生成し、設定データ103に保存しておいてもよい。また、情報処理装置1が異なれば、暗号鍵も異なるようにCPU2が生成してもよい。これにより、ある情報処理装置1において暗号化されたUSBストレージデバイス10内のデータは、他の情報処理装置1では復号できなくなる。
【0057】
図8によれば、自動起動プログラム801がフラッシュメモリ13に記憶されている。なお、セキュリティプログラム102をユーザーに起動させる実施形態では、自動起動プログラム801は必ずしも必要ではない。
【0058】
図9は、情報処理装置1にUSBストレージデバイス10が挿入された際、情報処理装置1の処理の流れを示すフローチャートである。すでに説明した箇所には同一の参照符号を付与している。図5と比較すると、図9では、ステップS52とS56が、それぞれステップS92とS96に置換されている。ステップS51で、USBストレージデバイス10がインターフェース8に接続されたことをCPU2が検出すると、ステップS92へ進む。なお、CPU2は、インターフェースに記憶媒体が接続されたか否かを検出する検出手段として機能する。
【0059】
ステップS92で、CPU2は、USBストレージデバイス10内の自動起動プログラム801を読み出して実行し、自動起動プログラム801にしたがって、HDD5に記憶されているセキュリティプログラム102を起動する。なお、自動起動プログラム801をautorun.infで実行する場合は、セキュリティプログラム102のファイルパスがどの情報処理装置1でも同一となるように、各情報処理装置1にセキュリティプログラム102をインストールすることが前提となる。このように、CPU2は、インターフェースに記憶媒体が接続されたことを検出手段が検出すると、記憶装置(HDD5)に記憶されているセキュリティプログラムを実行する制御手段として機能する。
【0060】
その後、CPU2は、セキュリティプログラム102にしたがって表示装置7を介してユーザーにパスワードの入力を促すためのダイアログなどを表示する。その後、ステップS53ないしS55を実行し、ステップS96に進む。
【0061】
ステップS96で、CPU2は、セキュリティプログラム102をクローズ(終了)させる。
【0062】
以上説明したように、セキュリティプログラム102が情報処理装置1に記憶されていたとしても、記憶媒体の仕様に依存することなく、情報の漏洩を抑制するためのセキュリティ機能を追加できる。よって、セキュリティプログラム102やUSBストレージデバイス10のコストを低下させやすくなろう。
【符号の説明】
【0063】
1 情報処理装置
10 USBストレージデバイス

【特許請求の範囲】
【請求項1】
情報処理装置であって、
着脱可能な記憶媒体を接続するインターフェースと、
前記記憶媒体に記憶されているセキュリティプログラムを、前記インターフェースを介して読み出して実行する制御手段と
を備え、
前記制御手段は、
前記記憶媒体に記憶されているセキュリティプログラムを読み出して実行することで、
前記記憶媒体に確保されたセキュリティ領域へのデータの書き込みと該セキュリティ領域からのデータの読み出しを許可する読み書き制御手段として機能する
ことを特徴とする情報処理装置。
【請求項2】
前記読み書き制御手段は、
前記セキュリティ領域に対してデータを書き込む際に該データを暗号化する暗号化手段と、
前記セキュリティ領域から暗号化されたデータを読み出す際に該データを復号化する復号化手段と
を備え、
前記読み書き制御手段は、復号化したデータを前記記憶媒体に記憶せずに、前記情報処理装置が備えている揮発性の記憶手段に記憶させることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記読み書き制御手段は、
セキュリティ領域ごと、または、情報処理装置ごとに異なる暗号鍵を生成する暗号鍵生成手段
を備えることを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記制御手段は、
前記記憶媒体に記憶されている前記セキュリティプログラムを読み出して実行することで、
前記記憶媒体に前記セキュリティ領域を定義する定義手段と、
前記セキュリティ領域に対するデータの読み出し書き込みを許可するための認証データを設定する設定手段と、
前記セキュリティプログラムが起動されたときに認証データを受け付ける受付手段と、
前記受け付けられた認証データと前記設定手段により設定された認証データとを比較することで認証処理を実行する認証手段と
してさらに機能し、
前記読み書き制御手段は、
前記セキュリティプログラムが前記情報処理装置で実行されている場合に、前記認証処理に成功すると、前記セキュリティ領域に対するデータの読み出し書き込みに暗号化及び復号化を施し、
前記認証処理に失敗すると、前記セキュリティ領域に対するデータの読み出し書き込みに暗号化及び復号化を施さない
ことを特徴とする請求項2または3に記載の情報処理装置。
【請求項5】
前記読み書き制御手段は、
前記記憶媒体に確保された非セキュリティ領域に対するデータの読み書きは、ユーザー認証の成否とは無関係に、許可する
ことを特徴とする請求項4に記載の情報処理装置。
【請求項6】
前記制御手段は、
前記インターフェースに前記記憶媒体が接続されたか、または、前記インターフェースから取り外されたかを検出する検出手段と、
前記インターフェースに前記記憶媒体が接続されると、前記セキュリティプログラムを前記情報処理装置にインストールするインストール手段と、
前記インターフェースから前記記憶媒体が取り外されると、前記セキュリティプログラムを前記情報処理装置からアンインストールするアンインストール手段と
を備えることを特徴とする請求項1ないし5のいずれか1項に記載の情報処理装置。
【請求項7】
着脱可能な記憶媒体を接続するインターフェースと、前記記憶媒体に記憶されているセキュリティプログラムを前記インターフェースを介して読み出して実行する制御手段とを備えた情報処理装置におけるデータの読み書きの制御方法であって、
前記制御手段が、前記記憶媒体に記憶されているセキュリティプログラムを読み出して実行するステップと、
前記制御手段が、前記記憶媒体に確保されたセキュリティ領域へのデータの書き込みと該セキュリティ領域からのデータの読み出しを許可するステップと
を備えることを特徴とする制御方法。
【請求項8】
着脱可能な記憶媒体を接続するインターフェースと、前記記憶媒体に記憶されているコンピュータプログラムを前記インターフェースを介して読み出して実行する制御手段とを備えた情報処理装置におけるデータの読み書きを制御するコンピュータプログラムであって、
前記コンピュータプログラムが前記制御手段によって実行されると、
前記記憶媒体に確保されたセキュリティ領域へのデータの書き込みと該セキュリティ領域からのデータの読み出しを許可する読み書き制御手段として前記情報処理装置を機能させることを特徴とするコンピュータプログラム。
【請求項9】
記憶媒体であって、
請求項8に記載のコンピュータプログラムを記憶していることを特徴とした記憶媒体。
【請求項10】
情報処理装置であって、
着脱可能な記憶媒体を接続するインターフェースと、
セキュリティプログラムを記憶した記憶装置と、
前記インターフェースに前記記憶媒体が接続されたか否かを検出する検出手段と、
前記検出手段が前記インターフェースに前記記憶媒体が接続されたことを検出すると、前記記憶装置に記憶されているセキュリティプログラムを実行する制御手段と
を備え、
前記制御手段は、
前記セキュリティプログラムを実行することで、
前記記憶媒体に確保されたセキュリティ領域へのデータの書き込みと該セキュリティ領域からのデータの読み出しを許可する読み書き制御手段として機能する
ことを特徴とする情報処理装置。
【請求項11】
前記読み書き制御手段は、
前記セキュリティ領域に対してデータを書き込む際に該データを暗号化する暗号化手段と、
前記セキュリティ領域から暗号化されたデータを読み出す際に該データを復号化する復号化手段と
を備え、
前記読み書き制御手段は、復号化したデータを前記記憶媒体に記憶せずに、前記情報処理装置が備えている揮発性の記憶手段に記憶させることを特徴とする請求項10に記載の情報処理装置。
【請求項12】
前記制御手段は、
前記セキュリティプログラムを実行することで、
前記記憶媒体に前記セキュリティ領域を定義する定義手段と、
前記セキュリティ領域に対するデータの読み出し書き込みを許可するための認証データを設定する設定手段と、
前記キュリティプログラムが起動されたときに認証データを受け付ける受付手段と、
前記受け付けられた認証データと前記設定手段により設定された認証データとを比較することで認証処理を実行する認証手段と
してさらに機能し、
前記読み書き制御手段は、
前記セキュリティプログラムが前記情報処理装置で実行されている場合に、前記認証処理に成功すると、前記セキュリティ領域に対するデータの読み出し書き込みに暗号化及び復号化を施し、
前記認証処理に失敗すると、前記セキュリティ領域に対するデータの読み出し書き込みに暗号化及び復号化を施さない
ことを特徴とする請求項11に記載の情報処理装置。
【請求項13】
前記読み書き制御手段は、
セキュリティ領域ごと、または、情報処理装置ごとに異なる暗号鍵を生成する暗号鍵生成手段
を備えることを特徴とする請求項12に記載の情報処理装置。
【請求項14】
前記読み書き制御手段は、
前記記憶媒体に確保された非セキュリティ領域に対するデータの読み書きは、ユーザー認証の成否とは無関係に、許可する
ことを特徴とする請求項12または13に記載の情報処理装置。
【請求項15】
前記制御手段は、
前記インターフェースから前記記憶媒体が取り外されると、前記セキュリティプログラムを終了させる手段
を備えることを特徴とする請求項10ないし14のいずれか1項に記載の情報処理装置。
【請求項16】
着脱可能な記憶媒体を接続するインターフェースと、セキュリティプログラムを記憶した記憶装置と、制御手段とを備えた情報処理装置におけるデータの読み書きの制御方法であって、
前記制御手段は、
前記インターフェースに前記記憶媒体が接続されたか否かを検出するステップと、
前記インターフェースに前記記憶媒体が接続されたことを検出すると、前記記憶装置に記憶されているセキュリティプログラムを実行するステップと、
前記記憶媒体に確保されたセキュリティ領域へのデータの書き込みと該セキュリティ領域からのデータの読み出しを許可するステップと
を実行することを特徴とする制御方法。
【請求項17】
コンピュータプログラムであって、
着脱可能な記憶媒体を接続するインターフェースと、前記コンピュータプログラムを記憶した記憶装置と、前記インターフェースに前記記憶媒体が接続されたか否かを検出する検出手段と、前記検出手段が前記インターフェースに前記記憶媒体が接続されたことを検出すると、前記記憶装置に記憶されている前記コンピュータプログラムを実行する制御手段とを備えた情報処理装置におけるデータの読み書きを制御するコンピュータプログラムであって、
前記コンピュータプログラムを実行することで、
前記記憶媒体に確保されたセキュリティ領域へのデータの書き込みと該セキュリティ領域からのデータの読み出しを許可する読み書き制御手段として前記情報処理装置を機能させることを特徴とするコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2010−267089(P2010−267089A)
【公開日】平成22年11月25日(2010.11.25)
【国際特許分類】
【出願番号】特願2009−117998(P2009−117998)
【出願日】平成21年5月14日(2009.5.14)
【出願人】(000104652)キヤノン電子株式会社 (876)
【Fターム(参考)】