(57)【要約】【課題】たとえば、汎用の記憶媒体であっても情報の漏洩を抑制しやすい、コスト的に有利なセキュリティ機能を提供する。【解決手段】本発明は、たとえば、着脱可能な記憶媒体を接続するインターフェースと、記憶媒体に記憶されているセキュリティプログラムを、インターフェースを介して、読み出して実行する制御手段とを備えた情報処理装置に適用できる。制御手段は、セキュリティプログラムをすることで、記憶媒体に確保されたセキュリティ領域へのデータの書き込みとセキュリティ領域からのデータの読み出しを許可する読み書き制御手段として機能する。【選択図】図１
2010267089.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置であって、
着脱可能な記憶媒体を接続するインターフェースと、
前記記憶媒体に記憶されているセキュリティプログラムを、前記インターフェースを介して読み出して実行する制御手段と
を備え、
前記制御手段は、
前記記憶媒体に記憶されているセキュリティプログラムを読み出して実行することで、
前記記憶媒体に確保されたセキュリティ領域へのデータの書き込みと該セキュリティ領域からのデータの読み出しを許可する読み書き制御手段として機能する
ことを特徴とする情報処理装置。
【請求項２】
前記読み書き制御手段は、
前記セキュリティ領域に対してデータを書き込む際に該データを暗号化する暗号化手段と、
前記セキュリティ領域から暗号化されたデータを読み出す際に該データを復号化する復号化手段と
を備え、
前記読み書き制御手段は、復号化したデータを前記記憶媒体に記憶せずに、前記情報処理装置が備えている揮発性の記憶手段に記憶させることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記読み書き制御手段は、
セキュリティ領域ごと、または、情報処理装置ごとに異なる暗号鍵を生成する暗号鍵生成手段
を備えることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記制御手段は、
前記記憶媒体に記憶されている前記セキュリティプログラムを読み出して実行することで、
前記記憶媒体に前記セキュリティ領域を定義する定義手段と、
前記セキュリティ領域に対するデータの読み出し書き込みを許可するための認証データを設定する設定手段と、
前記セキュリティプログラムが起動されたときに認証データを受け付ける受付手段と、
前記受け付けられた認証データと前記設定手段により設定された認証データとを比較することで認証処理を実行する認証手段と
してさらに機能し、
前記読み書き制御手段は、
前記セキュリティプログラムが前記情報処理装置で実行されている場合に、前記認証処理に成功すると、前記セキュリティ領域に対するデータの読み出し書き込みに暗号化及び復号化を施し、
前記認証処理に失敗すると、前記セキュリティ領域に対するデータの読み出し書き込みに暗号化及び復号化を施さない
ことを特徴とする請求項２または３に記載の情報処理装置。
【請求項５】
前記読み書き制御手段は、
前記記憶媒体に確保された非セキュリティ領域に対するデータの読み書きは、ユーザー認証の成否とは無関係に、許可する
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記制御手段は、
前記インターフェースに前記記憶媒体が接続されたか、または、前記インターフェースから取り外されたかを検出する検出手段と、
前記インターフェースに前記記憶媒体が接続されると、前記セキュリティプログラムを前記情報処理装置にインストールするインストール手段と、
前記インターフェースから前記記憶媒体が取り外されると、前記セキュリティプログラムを前記情報処理装置からアンインストールするアンインストール手段と
を備えることを特徴とする請求項１ないし５のいずれか１項に記載の情報処理装置。
【請求項７】
着脱可能な記憶媒体を接続するインターフェースと、前記記憶媒体に記憶されているセキュリティプログラムを前記インターフェースを介して読み出して実行する制御手段とを備えた情報処理装置におけるデータの読み書きの制御方法であって、
前記制御手段が、前記記憶媒体に記憶されているセキュリティプログラムを読み出して実行するステップと、
前記制御手段が、前記記憶媒体に確保されたセキュリティ領域へのデータの書き込みと該セキュリティ領域からのデータの読み出しを許可するステップと
を備えることを特徴とする制御方法。
【請求項８】
着脱可能な記憶媒体を接続するインターフェースと、前記記憶媒体に記憶されているコンピュータプログラムを前記インターフェースを介して読み出して実行する制御手段とを備えた情報処理装置におけるデータの読み書きを制御するコンピュータプログラムであって、
前記コンピュータプログラムが前記制御手段によって実行されると、
前記記憶媒体に確保されたセキュリティ領域へのデータの書き込みと該セキュリティ領域からのデータの読み出しを許可する読み書き制御手段として前記情報処理装置を機能させることを特徴とするコンピュータプログラム。
【請求項９】
記憶媒体であって、
請求項８に記載のコンピュータプログラムを記憶していることを特徴とした記憶媒体。
【請求項１０】
情報処理装置であって、
着脱可能な記憶媒体を接続するインターフェースと、
セキュリティプログラムを記憶した記憶装置と、
前記インターフェースに前記記憶媒体が接続されたか否かを検出する検出手段と、
前記検出手段が前記インターフェースに前記記憶媒体が接続されたことを検出すると、前記記憶装置に記憶されているセキュリティプログラムを実行する制御手段と
を備え、
前記制御手段は、
前記セキュリティプログラムを実行することで、
前記記憶媒体に確保されたセキュリティ領域へのデータの書き込みと該セキュリティ領域からのデータの読み出しを許可する読み書き制御手段として機能する
ことを特徴とする情報処理装置。
【請求項１１】
前記読み書き制御手段は、
前記セキュリティ領域に対してデータを書き込む際に該データを暗号化する暗号化手段と、
前記セキュリティ領域から暗号化されたデータを読み出す際に該データを復号化する復号化手段と
を備え、
前記読み書き制御手段は、復号化したデータを前記記憶媒体に記憶せずに、前記情報処理装置が備えている揮発性の記憶手段に記憶させることを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記制御手段は、
前記セキュリティプログラムを実行することで、
前記記憶媒体に前記セキュリティ領域を定義する定義手段と、
前記セキュリティ領域に対するデータの読み出し書き込みを許可するための認証データを設定する設定手段と、
前記キュリティプログラムが起動されたときに認証データを受け付ける受付手段と、
前記受け付けられた認証データと前記設定手段により設定された認証データとを比較することで認証処理を実行する認証手段と
してさらに機能し、
前記読み書き制御手段は、
前記セキュリティプログラムが前記情報処理装置で実行されている場合に、前記認証処理に成功すると、前記セキュリティ領域に対するデータの読み出し書き込みに暗号化及び復号化を施し、
前記認証処理に失敗すると、前記セキュリティ領域に対するデータの読み出し書き込みに暗号化及び復号化を施さない
ことを特徴とする請求項１１に記載の情報処理装置。
【請求項１３】
前記読み書き制御手段は、
セキュリティ領域ごと、または、情報処理装置ごとに異なる暗号鍵を生成する暗号鍵生成手段
を備えることを特徴とする請求項１２に記載の情報処理装置。
【請求項１４】
前記読み書き制御手段は、
前記記憶媒体に確保された非セキュリティ領域に対するデータの読み書きは、ユーザー認証の成否とは無関係に、許可する
ことを特徴とする請求項１２または１３に記載の情報処理装置。
【請求項１５】
前記制御手段は、
前記インターフェースから前記記憶媒体が取り外されると、前記セキュリティプログラムを終了させる手段
を備えることを特徴とする請求項１０ないし１４のいずれか１項に記載の情報処理装置。
【請求項１６】
着脱可能な記憶媒体を接続するインターフェースと、セキュリティプログラムを記憶した記憶装置と、制御手段とを備えた情報処理装置におけるデータの読み書きの制御方法であって、
前記制御手段は、
前記インターフェースに前記記憶媒体が接続されたか否かを検出するステップと、
前記インターフェースに前記記憶媒体が接続されたことを検出すると、前記記憶装置に記憶されているセキュリティプログラムを実行するステップと、
前記記憶媒体に確保されたセキュリティ領域へのデータの書き込みと該セキュリティ領域からのデータの読み出しを許可するステップと
を実行することを特徴とする制御方法。
【請求項１７】
コンピュータプログラムであって、
着脱可能な記憶媒体を接続するインターフェースと、前記コンピュータプログラムを記憶した記憶装置と、前記インターフェースに前記記憶媒体が接続されたか否かを検出する検出手段と、前記検出手段が前記インターフェースに前記記憶媒体が接続されたことを検出すると、前記記憶装置に記憶されている前記コンピュータプログラムを実行する制御手段とを備えた情報処理装置におけるデータの読み書きを制御するコンピュータプログラムであって、
前記コンピュータプログラムを実行することで、
前記記憶媒体に確保されたセキュリティ領域へのデータの書き込みと該セキュリティ領域からのデータの読み出しを許可する読み書き制御手段として前記情報処理装置を機能させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法、コンピュータプログラム、記録媒体に関し、特に、着脱可能な記憶媒体が関与した情報漏洩を抑制する技術に関する。
【背景技術】
【０００２】
現在、パーソナルコンピュータなどの情報処理装置の外部記憶装置として、持ち運びが可能なＵＳＢストレージデバイスが普及している。しかし、ＵＳＢストレージデバイスは利便性が高い反面、ユーザーの使用方法次第では機密情報の漏洩の元となりうる。特許文献１には、指紋認証部を備えたＵＳＢストレージデバイスが記載されている。ＵＳＢストレージデバイスには、自由にユーザーが使用できる自由領域と、指紋認証部により認証された者だけが使用できる秘匿領域とが設けられている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−３０１７７２号公報、図１ないし図３
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１に記載の技術では、ＵＳＢストレージデバイスが指紋認証部を実装しているため、汎用的な記憶媒体よりもコストが高くなり、使い勝手も低下するであろう。一般にＵＳＢストレージデバイスは、デバイスごとに仕様が異なる。よって、指紋認証部などの個人認証機能もデバイスの仕様に合わせてデバイスごとに用意しなければならない。また、特許文献１に記載の発明では、現在普及しているＵＳＢストレージデバイスに後付けでセキュリティ機能を搭載することもできない。また、個人認証機能が故障して、秘匿領域に直接アクセスできるようになってしまうと、ユーザーの情報を保護することができなくなる。すなわち、情報の漏洩やソフトウェアの無断使用などのおそれがある。
【０００５】
そこで、本発明は、このような課題および他の課題のうち、少なくとも１つを解決することを目的とする。たとえば、本発明は、汎用の記憶媒体であっても情報の漏洩を抑制しやすい、コスト的に有利なセキュリティ機能を提供することを目的とする。なお、他の課題については明細書の全体を通して理解できよう。
【課題を解決するための手段】
【０００６】
本発明は、たとえば、着脱可能な記憶媒体を接続するインターフェースと、記憶媒体に記憶されているセキュリティプログラムを、インターフェースを介して、読み出して実行する制御手段とを備えた情報処理装置に適用できる。制御手段は、セキュリティプログラムを実行することで、記憶媒体に確保されたセキュリティ領域へのデータの書き込みとセキュリティ領域からのデータの読み出しを許可する読み書き制御手段として機能する。
【発明の効果】
【０００７】
本発明によれば、記憶媒体の一部の領域に対するデータの読み書きがセキュリティプログラムにしたがって許可される。よって、記憶媒体の仕様に依存することなく、情報の漏洩を抑制するためのセキュリティ機能を追加できるため、コストを低下させやすい。
【図面の簡単な説明】
【０００８】
【図１】情報処理装置１と、それに接続される汎用のＵＳＢストレージデバイス１０とを示す概略構成図である。
【図２】情報処理装置１において、ＵＳＢストレージデバイス１０の初期化処理を示すフローチャートである。
【図３】フォルダ階層の一例を示した図である。
【図４】設定データの一例を示す図である。
【図５】情報処理装置１にＵＳＢストレージデバイス１０が挿入された際、情報処理装置１の処理の流れを示すフローチャートである。
【図６】ＵＳＢストレージデバイス１０へのデータの書き込みについて、情報処理装置１における処理を示すフローチャートである。
【図７】ＵＳＢストレージデバイス１０からのデータの読み込みについて、情報処理装置１における処理を示すフローチャートである。
【図８】情報処理装置１と、それに接続される汎用のＵＳＢストレージデバイス１０とを示す概略構成図である。
【図９】情報処理装置１にＵＳＢストレージデバイス１０が挿入された際、情報処理装置１の処理の流れを示すフローチャートである。
【発明を実施するための形態】
【０００９】
図１は、情報処理装置１と、それに接続される汎用のＵＳＢストレージデバイス１０とを示す概略構成図である。情報処理装置１は、パーソナルコンピュータなど、汎用のインターフェースを介して外部記憶装置を接続可能なコンピュータである。ＵＳＢストレージデバイス１０は、情報処理装置１が備えるインターフェース８に対して着脱可能な記憶媒体の一例である。なお、記憶媒体は、ＦＤ（フレキシブルディスク）やＳＤカードなど、記憶領域を備えた他の種類の記憶装置であってもよい。すなわち、セキュリティプログラムを記憶しておくプログラム記憶領域と、本発明に係る読み書きの制限されるセキュリティ領域とを確保できる記憶装置であれば、どのような種類の記憶装置であってもよい。
【００１０】
ここでは説明をわかりやすくするために、ＵＳＢストレージデバイス１０を接続するためのインターフェース８がＵＳＢインターフェースであるものと仮定する。しかし、本発明のインターフェースは、これに限定されず、ＩＥＥＥ１３９４、ワイヤレスＵＳＢ、ｅＳＡＴＡなど、他の種類のインターフェースであってもよい。
【００１１】
情報処理装置１は、たとえば、ＣＰＵ２、ＲＯＭ３、ＲＡＭ４、ハードディスクドライブ（ＨＤＤ）５、入力装置６、表示装置７、インターフェース８及びシステムバス９を備えている。ＣＰＵ２は、ＲＯＭ３やＨＤＤ５に記憶されているコンピュータプログラムに基づいて各部を制御するプロセッサである。本発明のＣＰＵ２は、ＵＳＢストレージデバイス１０から読み出した自動インストールプログラム１０１やセキュリティプログラム１０２を実行する。これにより、ＣＰＵ２は、ＵＳＢストレージデバイス１０に確保されたセキュリティ領域へのデータの書き込みとセキュリティ領域からのデータの読み出しを許可する読み書き制御手段として機能する。
【００１２】
ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）４は、ワークエリアとして機能する。ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３は、不揮発性の記憶素子であり、ファームウエアなどを記憶する。ＨＤＤ５には、ＯＳ（オペレーティングシステム）、アプリケーションプログラムなどが記憶されている。なお、ＣＰＵ２は、自動インストールプログラム１０１を実行することで、セキュリティプログラム１０２をＨＤＤ５に格納及びインストールする。ＣＰＵ２と各部は、システムバス９を介して命令やデータの送受信を実行する。
【００１３】
入力装置６は、ユーザーが情報処理装置１に対して指示を入力するための装置であり、キーボードやマウスなどにより構成されている。入力装置６は、たとえば、認証データ（パスワード）やセキュリティ領域の設定情報を入力する際に使用される。入力された情報はＣＰＵ２よって受け付けられる。表示装置７は、たとえば、ＣＲＴや液晶表示装置により構成されており、ＣＰＵ２による処理結果を画像や文字などによって表示する。インターフェース８は、ＵＳＢバス１５を介してＵＳＢストレージデバイス１０が備えるＵＳＢインターフェース１１と接続する。すなわち、ＵＳＢバス１５を介して情報処理装置１とＵＳＢストレージデバイス１０とが双方向にデータの送受信を行う。
【００１４】
以降では、情報処理装置１がパーソナルコンピュータであることを前提にして説明する。ただし、演算処理能力を有する機器であるならばその種類や機種は限定されることはなく、情報処理装置１として本発明を適用できる。たとえば、ネットワークを介さない情報処理装置であっても、情報処理装置１として採用できる。
【００１５】
一方、ＵＳＢストレージデバイス１０は、ＵＳＢインターフェース１１、コントローラ１２、発光ダイオード（ＬＥＤ）１４、不揮発性記憶手段であるフラッシュメモリ１３を備えている。コントローラ１２は、情報処理装置１からＵＳＢインターフェース１１を介して受信した命令に従って、フラッシュメモリ１３に対してデータの読み出し、書き込みおよび削除を実行する。ＵＳＢインターフェース１１は、ＵＳＢバス１５を介して、情報処理装置１と通信を行う。すなわち、ＵＳＢ規格に基づいたパケットが送受信される。ＬＥＤ１４は、フラッシュメモリ１３に対してファイルの読み出し、書き込み、削除が実行されている際に点灯する発光体である。ＬＥＤ１４は、フラッシュメモリ１３に対してファイルの読み出し、書き込みおよび削除が実行中であることをユーザーに示す。
【００１６】
フラッシュメモリ１３は、記憶保持動作が不要な半導体メモリであり、ファイルや情報を記憶することができる。フラッシュメモリ１３に代えて、他の種類の不揮発性記憶装置が採用されてもよい。フラッシュメモリ１３には、たとえば、プログラム格納領域、自由領域及び秘匿領域とが存在する。プログラム格納領域には、自動インストールプログラム１０１、セキュリティプログラム１０２及び設定データ１０３などが記憶される。なお、プログラム格納領域は自由領域そのものまたはその一部であってもよい。
【００１７】
自動インストールプログラム１０１は、ＵＳＢストレージデバイス１０が情報処理装置１に接続されたときに実行されるコンピュータプログラムまたはスクリプトである（例：ａｕｔｏｒｎ．ｉｎｆ）。ここでは、自動インストールプログラム１０１は、セキュリティプログラム１０２を情報処理装置１へとインストールするために使用される。セキュリティプログラム１０２は、自身が情報処理装置で実行されている場合に限り、ＵＳＢストレージデバイス１０に確保されたセキュリティ領域へのデータの書き込みとセキュリティ領域からのデータの読み出しを許可する。セキュリティ領域に対するデータの読み書きは、実行中のセキュリティプログラム１０２が許可しなければ、実行できない。ただし、セキュリティプログラム１０２が実行中でない場合は、セキュリティ領域（秘匿領域）への書き込みがＯＳを通じて許可されてもよい。一方、非セキュリティ領域である自由領域に対するデータの読み書きは、セキュリティプログラム１０２が実行中であるか否かとは無関係に許可される。すなわち、通常のＯＳの制御にしたがって自由にデータの読み書きが実行可能である。
【００１８】
本実施形態においては、データの読み書きの制限（セキュリティ機能）を暗号化処理、復号化処理及び認証処理によって実現するものとして説明する。すなわち、セキュリティ領域である秘匿領域へ書き込まれるデータは基本的に暗号化される。一方、認証の成功したユーザーが、秘匿領域から暗号化されたデータを読み出すことを指示した場合には、暗号化されたデータの復号化が実行される。
【００１９】
図２は、情報処理装置１において、ＵＳＢストレージデバイス１０の初期化処理を示すフローチャートである。ここでは、ＵＳＢストレージデバイス１０には、セキュリティプログラム１０２が導入済みでないものとする。よって、初期化処理は、情報処理装置１内のＨＤＤ５に記憶されているセキュリティプログラム１０２をＵＳＢストレージデバイス１０へインストールする処理となる。情報処理装置１内のＨＤＤ５に記憶されているセキュリティプログラム１０２をＣＰＵ２が起動し、ＣＰＵ２はセキュリティプログラム１０２にしたがってＵＳＢストレージデバイス１０の初期化処理を実行する。
【００２０】
ステップＳ２１で、ＣＰＵ２は、フラッシュメモリ１３に特定の使用者のみがアクセスできる秘匿領域（セキュリティ領域）と、第三者も自由に使用できる自由領域（非セキュリティ領域）領域とを、入力装置６から入力された情報にしたがって定義及び設定する。最も簡単な例としては、秘匿領域と自由領域とを異なるフォルダによって実現することであろう。ＣＰＵ２は、秘匿領域にすべきフォルダの名称（例：秘匿領域）やファイルパスを入力することを促すためのメッセージを表示装置７から出力する。ユーザーは、秘匿領域にすべきフォルダの名称やファイルパスを入力装置６から入力する。なお、自由領域は本来なくてもよいが、ユーザーが任意で設定してもよい。つまり、秘匿領域として明示的に指定されていない他のフォルダは自由領域として黙示的に指定されたことになる。さらに、秘匿領域と自由領域の記憶容量を設定できるようにしてもよい。記憶容量の設定は、たとえば、フラッシュメモリ１３を論理フォーマットした後で、記憶容量を指定した複数の基本領域や拡張領域を確保することで実現される。このように、ＣＰＵ２は、記憶媒体にセキュリティ領域を定義する定義手段として機能する。
【００２１】
図３は、フォルダ階層の一例を示した図である。フォルダ階層３０１によれば、ローカルディスク（Ｃドライブ）と、リムーバブルディスク３０２（Ｄドライブ）とが情報処理装置１に内蔵ないしは接続されていることがわかる。さらに、リムーバブルディスク３０２には、秘匿領域３０３と自由領域３０４とがフォルダとして設定されている。なお、自動インストールプログラム１０１、セキュリティプログラム１０２及び設定データ１０３は、ルートディレクトリに記憶されているものとする。
【００２２】
図４は、設定データの一例を示す図である。ＣＰＵ２は、セキュリティ領域として設定されたフォルダの名称（ファイルパス）４０１を設定データ１０３に保存する。なお、複数のセキュリティ領域が設定されてもよい。さらに、ユーザーＩＤとパスワードとを複数のセキュリティ領域に関連付けて設定データ１０３に記憶しておけば、複数のユーザー間でＵＳＢストレージデバイス１０を共用する際にもセキュリティを維持できる。設定データ１０３には、後述する認証データ４０２も保存される。設定データ１０３は、フラッシュメモリ１３に記憶されてもよいし、ＨＤＤ５に記憶されてもよい。
【００２３】
ここで、秘匿領域や自由領域をフォルダにより実現しているが、本発明はこれにのみ限定されるわけではない。たとえば、フラッシュメモリ１３の物理メモリアドレスを利用して各領域が決定されてもよい。
【００２４】
ステップＳ２２で、ＣＰＵ２は、認証処理で使用するための認証データ（例：パスワード）を決定し、設定データ１０３に保存する。パスワードは、入力装置６からユーザーによって指定されたものであってもよいし、ＣＰＵ２が一定のルールに基づいて決定してもよい。後者の場合、ＣＰＵ２は、決定したパスワードを表示装置７に表示することで、ユーザーにパスワードを覚えてもらうことになる。また、パスワードは、ユーザーの生体認証（例：指紋認証、虹彩認証、声紋認証）データであってもよい。この場合は、生体認証データの入力装置が必要となろう。このように、ＣＰＵ２は、セキュリティ領域に対するデータの読み出し書き込みを許可するための認証データを設定する設定手段として機能する。
【００２５】
なお、ＣＰＵ２は、セキュリティ領域（すなわちフォルダ）ごと、または、情報処理装置ごとに異なる暗号鍵を生成する暗号鍵生成手段として機能してもよい。これにより、ある情報処理装置１において暗号化されたＵＳＢストレージデバイス１０内のデータは、他の情報処理装置１では復号できなくなる。
【００２６】
ステップＳ２３で、ＣＰＵ２は、ＨＤＤ５に記憶されているセキュリティプログラム１０２、自動インストールプログラム１０１及び設定データ１０３をＵＳＢストレージデバイス１０のフラッシュメモリ１３にインストールし、初期化処理を終了する。このような初期化処理により、ユーザーの事情に合わせて、各領域の容量やパスワードの設定・変更を行うことができる。
【００２７】
図５は、情報処理装置１にＵＳＢストレージデバイス１０が挿入された際、情報処理装置１の処理の流れを示すフローチャートである。なお、ＣＰＵ２は、ＯＳにしたがってＵＳＢストレージデバイス１０が情報処理装置１に接続されたか否か、ＵＳＢストレージデバイス１０が情報処理装置１から取り外されたか否かを監視しているものとする。このように、ＣＰＵ２は、インターフェースに記憶媒体が接続されたか、または、インターフェースから取り外されたかを検出する検出手段として機能する。
【００２８】
ステップＳ５１で、初期化処理が終了したＵＳＢストレージデバイス１０が情報処理装置１に挿入（接続）される。ＣＰＵ２は、ＵＳＢストレージデバイス１０が情報処理装置１に接続されたことを検出すると、ステップＳ５２に進む。なお、この際に、ＣＰＵ２は、ＯＳにしたがってＵＳＢストレージデバイス１０にリムーバブルティスクとして認識し、ドライブレターを割り当てたり、フォルダの構成などを認識したりする。
【００２９】
ステップＳ５２で、ＣＰＵ２は、ＵＳＢストレージデバイス１０内の自動インストールプログラム１０１を読み出して実行し、自動インストールプログラム１０１にしたがってセキュリティプログラム１０２を情報処理装置１のＨＤＤ５にインストールする。このように、ＣＰＵ２は、インターフェースに記憶媒体が接続されると、セキュリティプログラムを情報処理装置にインストールするインストール手段として機能する。
【００３０】
ＣＰＵ２は、インストールしたセキュリティプログラム１０２を自動インストールプログラム１０１にしたがって起動する。ＣＰＵ２は、セキュリティプログラム１０２にしたがって表示装置７を介してユーザーにパスワードの入力を促すためのダイアログなどを表示する。このように、ＣＰＵ２は、セキュリティプログラムが起動されたときに認証データを受け付ける受付手段として機能する。
【００３１】
ステップＳ５３で、ＣＰＵ２は、入力装置６から入力されたパスワードと、フラッシュメモリ１３またはＨＤＤ５に記憶されているパスワードとに基づいて認証処理を実行する。このように、ＣＰＵ２は、受け付けられた認証データと設定手段により設定された認証データとを比較することで認証処理を実行する認証手段として機能する。ＣＰＵ２は、両者を比較し、両者が一致すれば、認証成功と判定し、両者が一致しなければ認証失敗と判定する。認証が失敗すると、ステップＳ５６に進む。ステップＳ５６で、ＣＰＵ２は、セキュリティプログラム１０２を終了させ、セキュリティプログラム１０２を情報処理装置１からアンインストールする。このように、ＣＰＵ２は、インターフェースから記憶媒体が取り外されると、セキュリティプログラムを情報処理装置からアンインストールするアンインストール手段として機能する。
【００３２】
一方、ステップＳ５３で、認証が成功すると、ステップＳ５４に進む。ステップＳ５４で、ＣＰＵ２は、セキュリティプログラム１０２が備える機能の一つである秘匿領域モードをＯＮに切り替える。ＣＰＵ２は、秘匿領域モード情報をＲＡＭ４に記憶する。秘匿領域モード情報は、秘匿領域モードがＯＮかＯＦＦかを示すフラグのようなデータである。秘匿領域モードがＯＮになると、セキュリティプログラム１０２は、その後も常駐しつづける。すなわち、ＣＰＵ２は、セキュリティプログラム１０２及び設定データ１０３にしたがって秘匿領域３０３を特定し、秘匿領域３０３に対するデータの読み書きを監視する。これは、ＣＰＵ２が、秘匿領域３０３へ書き込まれるデータを暗号化し、秘匿領域３０３から読み出されるデータを復号化するためである。
【００３３】
ステップＳ５５で、ＣＰＵ２は、ＵＳＢストレージデバイス１０が情報処理装置１から取り外されたか否かを判定する。ＵＳＢストレージデバイス１０が情報処理装置１から取り外されると、ステップＳ５６に進む。ステップＳ５６では、セキュリティプログラム１０２の終了と、自動アンインストールが実行される。
【００３４】
図６は、ＵＳＢストレージデバイス１０へのデータの書き込みについて、情報処理装置１における処理を示すフローチャートである。ステップＳ６１で、ＣＰＵ２は、アプリケーションプログラムにしたがってデータ（情報）の書き込み要求を発生する。ＣＰＵ２は、常駐しているセキュリティプログラム１０２にしたがって、データ（情報）の書き込み要求を監視しており、書き込み要求の発生を検出すると、ステップＳ６２へ進む。
【００３５】
ステップＳ６２で、ＣＰＵ２は、セキュリティプログラム１０２にしたがってＲＡＭ４から秘匿領域モード情報を読み出し、秘匿領域モードがＯＮであるか否か判定する。秘匿領域モードがＯＮであれば、ステップＳ６３に進む。
【００３６】
ステップＳ６３で、ＣＰＵ２は、セキュリティプログラム１０２にしたがって、データが書き込まれる領域が秘匿領域３０３であるか否かを判定する。データが書き込まれる領域を特定するための情報は、ＯＳから受け取るものとする。秘匿領域３０３がターゲットフォルダである場合、ステップＳ６４に進む。
【００３７】
ステップＳ６４で、ＣＰＵ２は、セキュリティプログラム１０２にしたがって、書き込み対象データを暗号化する。このように、ＣＰＵ２は、セキュリティ領域に対してデータを書き込む際にデータを暗号化する暗号化手段として機能する。
【００３８】
ステップＳ６５で、ＣＰＵ２は、セキュリティプログラム１０２にしたがって、フラッシュメモリ１３内の秘匿領域３０３に暗号化されたデータを書き込む。このように、フラッシュメモリ１３に格納する前に暗号化が実行されるため、ユーザーによる機密情報の暗号化のし忘れを防止できる。
【００３９】
一方、ステップＳ６３で、データの書き込みターゲットフォルダが秘匿領域３０３でなければ（例：データの書き込みターゲットフォルダが自由領域３０４）、ステップＳ６４をスキップして、ステップＳ６５に進む。
【００４０】
ステップＳ６５で、ＣＰＵ２は、暗号化せずに、データを自由領域３０４に書き込む。
【００４１】
また、ステップＳ６２で、秘匿領域モードがＯＮでない場合、ステップＳ６３及びステップＳ６４をスキップして、ステップＳ６５に進む。ステップＳ６５で、ＣＰＵ２は、データを書き込むターゲットとなる領域が秘匿領域３０３であるか自由領域３０４であるかとは無関係に、データを暗号化することなくそのまま書き込む。
【００４２】
図７は、ＵＳＢストレージデバイス１０からのデータの読み込みについて、情報処理装置１における処理を示すフローチャートである。
【００４３】
ステップ７１で、ＣＰＵ２は、任意のアプリケーションプログラムにしたがって、ＵＳＢストレージデバイス１０に対するデータの読み込み要求を発生する。ステップＳ７２で、ＣＰＵ２は、セキュリティプログラム１０２にしたがってＲＡＭ４から秘匿領域モード情報を読み出し、秘匿領域モードがＯＮであるか否か判定する。秘匿領域モードがＯＮであれば、ステップＳ７３に進む。
【００４４】
ステップＳ７３で、ＣＰＵ２は、セキュリティプログラム１０２にしたがって、データを読み出される対象の領域が秘匿領域３０３か否かを判定する。ＣＰＵ２は、データを読み出される対象となっている領域（読み出し対象領域）を特定するための情報もＯＳから取得する。読み出し対象領域が秘匿領域３０３であれば、ステップＳ７４に進む。ＣＰＵ２は、読み出しのターゲットとなっているデータが暗号化データであるか否かを判定する。暗号化データか否かは、たとえば、暗号化データの先頭部分に特有の情報が存在するか否かなどにしたがって判定される。暗号化データであれば、ステップＳ７５に進む。
【００４５】
ステップＳ７５で、ＣＰＵ２は、セキュリティプログラム１０２にしたがって、暗号化データを復号化する。このように、ＣＰＵ２は、セキュリティ領域から暗号化されたデータを読み出す際にデータを復号化する復号化手段として機能する。
【００４６】
ステップＳ７６で、ＣＰＵ２は、セキュリティプログラム１０２にしたがって、アプリケーションプログラムにデータを渡し、ＲＡＭ４にデータを書き込む。すなわち、復号化されたデータは、フラッシュメモリ１３に格納されない。よって、復号化処理後にＵＳＢストレージデバイス１０が情報処理装置１から抜かれた場合でも、復号化されたデータをＵＳＢストレージデバイス１０から読み込むことはできない。その結果、機密情報の漏洩を防ぐことができる。このように、ＣＰＵ２は、復号化したデータを記憶媒体に記憶せずに、情報処理装置が備えている揮発性の記憶手段に記憶させる読み書き制御手段として機能する。
【００４７】
一方、ステップＳ７３で、秘匿領域３０３ではない領域（例：自由領域３０４）が読み出し対象と判別されると、ステップＳ７４及びＳ７５をスキップして、ステップＳ７６に進む。同様に、ステップＳ７４で、読み出し対象データが暗号化データでないと判定された場合は、ステップＳ７５をスキップして、ステップＳ７６に進む。ステップＳ７６で、ＣＰＵ２は、データを復号化処理せずにアプリケーションプログラムに渡す。
【００４８】
なお、ステップＳ７２で、秘匿領域モードがＯＮでないと判定された場合、ステップＳ７３ないし７５をスキップし、ステップＳ７６に進む。ステップＳ７６で、ＣＰＵ２は、読み出し対象領域が秘匿領域３０３であるか自由領域３０４であるかとは無関係に、読み出し対象データを復号化処理せずに読み出す。
【００４９】
上述した自動インストールプログラム１０１やセキュリティプログラム１０２が実行する処理のうち、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などがその処理の一部または全部を行ってもよい。その処理によって前述した実施形態の機能が実現される場合も本発明の技術的範囲に含まれることは言うまでもない。
【００５０】
以上より、秘匿領域３０３に格納されていたデータの読み込みと秘匿領域３０３への書き込みは、セキュリティプログラム１０２にしたがってＣＰＵ２により制御される。つまり、ＣＰＵ２は、セキュリティプログラムが情報処理装置で実行されている場合に認証処理に成功すると、セキュリティ領域に対するデータの読み出し書き込みに暗号化及び復号化を施す。一方、ＣＰＵ２は、認証処理に失敗すると、セキュリティ領域に対するデータの読み出し書き込みに暗号化及び復号化を施さない。よって、秘匿領域３０３に書き込まれるべきデータは、ユーザーが意図することなく、自動で暗号化されて書き込まれる。秘匿領域３０３から読み込まれるべきデータも、ユーザーが意図することなく、自動で復号化される。よって、認証に成功したユーザーであれば、暗号化や復号化の処理を意図して指示する必要はない。
【００５１】
また、認証に成功したことで秘匿領域モードがＯＮになっているときは、秘匿領域３０３に書き込まれたデータは暗号化されている。よって、認証に失敗したなど、秘匿領域モードがＯＦＦのときは、そのデータを復号化することができない。すなわち、認証されていないユーザーは、暗号化されたデータを復号して利用することができない。これは、セキュリティプログラム１０２が実行中であれば認証に成功した特定のユーザーのみが、保護・秘匿すべきデータを保存・消去できることを意味する。なお、認証の必要がない自由領域３０４も用意すれば、第三者はこの自由領域３０４を使用すればよい。これは、記憶媒体に確保された非セキュリティ領域に対するデータの読み書きは、ユーザー認証の成否とは無関係に、ＣＰＵ２が許可するからである。よって、単一のＵＳＢストレージデバイス１０を特定のユーザーと第三者とで安全に共用することもできる。
【００５２】
フラッシュメモリ１３から暗号化されたデータを読み込む場合、復号化されたデータはフラッシュメモリ１３ではなくＲＡＭ４に書き込まれる。すなわち、復号化されたデータはフラッシュメモリ１３には書き込まれない。よって、復号化処理後にＵＳＢストレージデバイス１０が情報処理装置１から抜かれた場合でも、秘匿領域３０３に格納されているデータは依然として暗号化されたままである。よって、秘匿領域３０３に格納されている機密情報の漏洩を防ぐことができる。
【００５３】
ところで、上述の実施形態では、ＵＳＢストレージデバイス１０のフラッシュメモリ１３にセキュリティプログラム１０２を記憶して持ち歩き、それを起動することを想定していた。しかし、セキュリティプログラム１０２等をＵＳＢストレージデバイス１０に記憶して持ち歩く必要はない。すなわち、情報処理装置１のＨＤＤ５にセキュリティプログラム１０２を記憶しておき、それをユーザーによる入力装置６からの起動指示に基づいて、または、ＵＳＢストレージデバイス１０に記憶してある自動起動プログラム（autorun.infなど）に基づいて、ＣＰＵ２がセキュリティプログラム１０２を起動する。
【００５４】
図８は、情報処理装置１と、それに接続される汎用のＵＳＢストレージデバイス１０とを示す概略構成図である。すでに説明した箇所には同一の参照符号を付与している。
【００５５】
図１と比較すると、図８では、セキュリティプログラム１０２と設定データ１０３が情報処理装置１のＨＤＤ５に記憶されている。すなわち、上述した初期化処理のステップＳ２３では、ＣＰＵ２が、設定データ１０３をＨＤＤ５に記憶したものとする。また、設定データ１０３はフラッシュメモリ１３に記憶されていてもよい。
【００５６】
なお、ＵＳＢストレージデバイス１０ごと、または、フォルダごとに暗号鍵を生成し、設定データ１０３に保存しておいてもよい。また、情報処理装置１が異なれば、暗号鍵も異なるようにＣＰＵ２が生成してもよい。これにより、ある情報処理装置１において暗号化されたＵＳＢストレージデバイス１０内のデータは、他の情報処理装置１では復号できなくなる。
【００５７】
図８によれば、自動起動プログラム８０１がフラッシュメモリ１３に記憶されている。なお、セキュリティプログラム１０２をユーザーに起動させる実施形態では、自動起動プログラム８０１は必ずしも必要ではない。
【００５８】
図９は、情報処理装置１にＵＳＢストレージデバイス１０が挿入された際、情報処理装置１の処理の流れを示すフローチャートである。すでに説明した箇所には同一の参照符号を付与している。図５と比較すると、図９では、ステップＳ５２とＳ５６が、それぞれステップＳ９２とＳ９６に置換されている。ステップＳ５１で、ＵＳＢストレージデバイス１０がインターフェース８に接続されたことをＣＰＵ２が検出すると、ステップＳ９２へ進む。なお、ＣＰＵ２は、インターフェースに記憶媒体が接続されたか否かを検出する検出手段として機能する。
【００５９】
ステップＳ９２で、ＣＰＵ２は、ＵＳＢストレージデバイス１０内の自動起動プログラム８０１を読み出して実行し、自動起動プログラム８０１にしたがって、ＨＤＤ５に記憶されているセキュリティプログラム１０２を起動する。なお、自動起動プログラム８０１をautorun.infで実行する場合は、セキュリティプログラム１０２のファイルパスがどの情報処理装置１でも同一となるように、各情報処理装置１にセキュリティプログラム１０２をインストールすることが前提となる。このように、ＣＰＵ２は、インターフェースに記憶媒体が接続されたことを検出手段が検出すると、記憶装置（ＨＤＤ５）に記憶されているセキュリティプログラムを実行する制御手段として機能する。
【００６０】
その後、ＣＰＵ２は、セキュリティプログラム１０２にしたがって表示装置７を介してユーザーにパスワードの入力を促すためのダイアログなどを表示する。その後、ステップＳ５３ないしＳ５５を実行し、ステップＳ９６に進む。
【００６１】
ステップＳ９６で、ＣＰＵ２は、セキュリティプログラム１０２をクローズ（終了）させる。
【００６２】
以上説明したように、セキュリティプログラム１０２が情報処理装置１に記憶されていたとしても、記憶媒体の仕様に依存することなく、情報の漏洩を抑制するためのセキュリティ機能を追加できる。よって、セキュリティプログラム１０２やＵＳＢストレージデバイス１０のコストを低下させやすくなろう。
【符号の説明】
【００６３】
１  情報処理装置
１０  ＵＳＢストレージデバイス
【図１】
2010267089.tif 000003
【図２】
2010267089.tif 000004
【図３】
2010267089.tif 000005
【図４】
2010267089.tif 000006
【図５】
2010267089.tif 000007
【図６】
2010267089.tif 000008
【図７】
2010267089.tif 000009
【図８】
2010267089.tif 000010
【図９】
2010267089.tif 000011