(57)【要約】【課題】情報を管理する本人の行為によって、またはその情報を取得した第三者の行為によって、情報が漏洩してしまうのを容易に防止することができるようにする。【解決手段】PC２から供給されたデータは暗号モジュール３３Ａにより暗号化され、フラッシュメモリ２２に記憶される。指紋によるユーザ本人の認証が成功したとき、暗号化されたままのデータ、または、復号モジュール３３Ｂにより復号されたデータを読み出すことが可能となる。復号モジュール３３Ｂは、フラッシュメモリ２２に記憶されている特別なソフトウエアをインストールし、それを実行しているPC２からの指示に応じてオン状態となり、データの復号が可能となる。この特別なソフトウエアには、USBメモリ１から読み出したデータの出力先を制限する機能が設けられている。本発明は、ユーザの認証機能を有するUSBメモリに適用することができる。【選択図】図４
2009003676.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置に接続可能な電子機器において、
生体情報を読み取る読み取り手段と、
前記読み取り手段により読み取られた前記生体情報に基づいてユーザの認証を行う認証手段と、
前記認証手段による認証が成功したときに前記情報処理装置からアクセス可能となる、前記情報処理装置から供給されたデータが暗号化された状態で記憶される第１の記憶領域と、前記情報処理装置により実行される、前記第１の記憶領域から読み出したデータの出力先を制限する機能を有するソフトウエアが記憶される第２の記憶領域を含む記憶手段と、
前記第１の記憶領域に記憶されているデータを復号して前記情報処理装置に出力する復号手段と、
前記第２の記憶領域に記憶されている前記ソフトウエアを実行する前記情報処理装置からの指示に応じて、前記復号手段にデータの復号を行わせるか否かを制御する制御手段と
を備える電子機器。
【請求項２】
前記記憶手段は、前記第１の記憶領域から読み出したデータの出力先を指定する指定情報を記憶する第３の記憶領域をさらに含み、
前記ソフトウエアを実行する前記情報処理装置においては、前記第１の記憶領域から読み出したデータの出力先が、前記第３の記憶領域に記憶されている前記指定情報により指定される出力先に制限される
請求項１に記載の電子機器。
【請求項３】
前記第３の記憶領域には、複数の情報処理装置毎に設定された、前記第１の記憶領域から読み出したデータの出力先を指定する指定情報が記憶される
請求項２に記載の電子機器。
【請求項４】
前記制御手段は、前記第２の記憶領域に記憶されている前記ソフトウエアを実行する前記情報処理装置からの指示に応じて、前記復号手段の状態を復号を行う状態とする
請求項１に記載の電子機器。
【請求項５】
前記制御手段は、前記情報処理装置と接続されなくなったことに応じて、前記復号手段の状態を復号を行わない状態とする
請求項１に記載の電子機器。
【請求項６】
生体情報を読み取る読み取り手段と、
前記読み取り手段により読み取られた前記生体情報に基づいてユーザの認証を行う認証手段と、
前記認証手段による認証が成功したときに情報処理装置からアクセス可能となる、前記情報処理装置から供給されたデータが暗号化された状態で記憶される第１の記憶領域と、前記情報処理装置により実行される、前記第１の記憶領域から読み出したデータの出力先を制限する機能を有するソフトウエアが記憶される第２の記憶領域を含む記憶手段と、
前記第１の記憶領域に記憶されているデータを復号して前記情報処理装置に出力する復号手段と
を備える、前記情報処理装置に接続可能な電子機器の情報処理方法において、
前記第２の記憶領域に記憶されている前記ソフトウエアを実行する前記情報処理装置からの指示に応じて、前記復号手段にデータの復号を行わせるか否かを制御する制御ステップを含む
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器、および情報処理方法に関し、特に、情報を管理する本人の行為によって、またはその情報を取得した第三者の行為によって、情報が漏洩してしまうのを容易に防止することができるようにした電子機器、および情報処理方法に関する。
【背景技術】
【０００２】
近年、情報の漏洩に関するニュースが多く取り上げられるようになってきている。これに伴い、情報の漏洩を防止するための数多くの手法が提案されている。
【０００３】
例えば、指紋照合機能付きのUSB(Universal Serial Bus)メモリを用いた情報管理も、情報を記憶する記憶媒体の盗難や置き忘れに起因した情報漏洩に関しては非常に有効である。
【０００４】
すなわち、指紋照合機能付きのUSBメモリに記憶されているデータは、指紋を登録しているユーザ本人が指紋による認証を成功させない限り、USBメモリを差し込んだパーソナルコンピュータから読み出すことができず、これにより、USBメモリを拾った第三者が、USBメモリに記憶されているデータを不正に読み出そうとしてもそれができないことになり、第三者の行為によって情報が漏洩してしまうことが防止される。
【０００５】
特許文献１には、リムーバブルメディアに記憶されているデータが有効であるか否かを、データの有効期限を管理する管理サーバに問い合わせ、リムーバブルメディアを紛失したような場合などには、設定されている有効期限に関わらず、そのリムーバブルメディアに記憶されているデータを無効化することにより、機密情報の漏洩を防止することができるようにした技術が開示されている。
【０００６】
特許文献２には、組織内における機密情報を外部に持ち出して編集する必要が生じた場合でも、持ち出した機密情報が、組織外のコンピュータから漏洩することなく編集することができるようにした技術が開示されている。
【０００７】
【特許文献１】特許公開２００６−１４６７３９号公報
【特許文献２】特許公開２００７−１１５１１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
人の操作ミスや、パーソナルコンピュータがウィルスに感染してしまうことによる情報漏洩を防ぐことは指紋照合機能付きのUSBメモリを用いた手法でも難しい。
【０００９】
例えば、データの編集などを行うために、情報を管理する本人が指紋による認証を成功させ、USBメモリに記憶されているデータを読み出してパーソナルコンピュータの内蔵のHDD(Hard Disk Drive)に記憶させている場合、ユーザ本人がそのデータを誤って電子メールに添付して送信してしまったり、パーソナルコンピュータが感染しているウィルスによってデータが外部に漏洩してしまったりすることが起きる可能性がある。
【００１０】
本発明はこのような状況に鑑みてなされたものであり、情報を管理する本人の行為によって、またはその情報を取得した第三者の行為によって、情報が漏洩してしまうのを容易に防止することができるようにするものである。
【課題を解決するための手段】
【００１１】
本発明の一側面の電子機器は、情報処理装置に接続可能な電子機器において、生体情報を読み取る読み取り手段と、前記読み取り手段により読み取られた前記生体情報に基づいてユーザの認証を行う認証手段と、前記認証手段による認証が成功したときに前記情報処理装置からアクセス可能となる、前記情報処理装置から供給されたデータが暗号化された状態で記憶される第１の記憶領域と、前記情報処理装置により実行される、前記第１の記憶領域から読み出したデータの出力先を制限する機能を有するソフトウエアが記憶される第２の記憶領域を含む記憶手段と、前記第１の記憶領域に記憶されているデータを復号して前記情報処理装置に出力する復号手段と、前記第２の記憶領域に記憶されている前記ソフトウエアを実行する前記情報処理装置からの指示に応じて、前記復号手段にデータの復号を行わせるか否かを制御する制御手段とを備える。
【００１２】
前記記憶手段には、前記第１の記憶領域から読み出したデータの出力先を指定する指定情報を記憶する第３の記憶領域をさらに含ませることができる。この場合、前記ソフトウエアを実行する前記情報処理装置においては、前記第１の記憶領域から読み出したデータの出力先が、前記第３の記憶領域に記憶されている前記指定情報により指定される出力先に制限される。
【００１３】
前記第３の記憶領域には、複数の情報処理装置毎に設定された、前記第１の記憶領域から読み出したデータの出力先を指定する指定情報が記憶されるようにすることができる。
【００１４】
前記制御手段には、前記第２の記憶領域に記憶されている前記ソフトウエアを実行する前記情報処理装置からの指示に応じて、前記復号手段の状態を復号を行う状態とさせることができる。
【００１５】
前記制御手段には、前記情報処理装置と接続されなくなったことに応じて、前記復号手段の状態を復号を行わない状態とさせることができる。
【００１６】
本発明の一側面の情報処理方法は、生体情報を読み取る読み取り手段と、前記読み取り手段により読み取られた前記生体情報に基づいてユーザの認証を行う認証手段と、前記認証手段による認証が成功したときに情報処理装置からアクセス可能となる、前記情報処理装置から供給されたデータが暗号化された状態で記憶される第１の記憶領域と、前記情報処理装置により実行される、前記第１の記憶領域から読み出したデータの出力先を制限する機能を有するソフトウエアが記憶される第２の記憶領域を含む記憶手段と、前記第１の記憶領域に記憶されているデータを復号して前記情報処理装置に出力する復号手段とを備える、前記情報処理装置に接続可能な電子機器の情報処理方法において、前記第２の記憶領域に記憶されている前記ソフトウエアを実行する前記情報処理装置からの指示に応じて、前記復号手段にデータの復号を行わせるか否かを制御する制御ステップを含む。
【００１７】
本発明の一側面においては、記憶手段に含まれる第２の記憶領域に記憶されているソフトウエアを実行する情報処理装置からの指示に応じて、復号手段にデータの復号を行わせるか否かが制御される。
【発明の効果】
【００１８】
本発明の一側面によれば、情報を管理する本人の行為によって、またはその情報を取得した第三者の行為によって、情報が漏洩してしまうのを容易に防止することができる。
【発明を実施するための最良の形態】
【００１９】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。従って、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外には対応しないものであることを意味するものでもない。
【００２０】
本発明の一側面の電子機器（例えば、図１の指紋照合機能付きUSBメモリ１）は、情報処理装置に接続可能な電子機器において、生体情報を読み取る読み取り手段（例えば、図２の指紋センサ１１）と、前記読み取り手段により読み取られた前記生体情報に基づいてユーザの認証を行う認証手段（例えば、図２の指紋照合エンジン３６）と、前記認証手段による認証が成功したときに前記情報処理装置からアクセス可能となる、前記情報処理装置から供給されたデータが暗号化された状態で記憶される第１の記憶領域（例えば、図３のセキュアエリアＡ２）と、前記情報処理装置により実行される、前記第１の記憶領域から読み出したデータの出力先を制限する機能を有するソフトウエアが記憶される第２の記憶領域（例えば、図３のオープンエリアＡ３）を含む記憶手段（例えば、図２のフラッシュメモリ２２）と、前記第１の記憶領域に記憶されているデータを復号して前記情報処理装置に出力する復号手段（例えば、図４の復号モジュール３３Ｂ）と、前記第２の記憶領域に記憶されている前記ソフトウエアを実行する前記情報処理装置からの指示に応じて、前記復号手段にデータの復号を行わせるか否かを制御する制御手段（例えば、図４のオン／オフコントロール部５１）とを備える。
【００２１】
前記記憶手段には、前記第１の記憶領域から読み出したデータの出力先を指定する指定情報を記憶する第３の記憶領域（例えば、図３のパラメータエリアＡ１）をさらに含ませることができる。
【００２２】
本発明の一側面の情報処理方法は、生体情報を読み取る読み取り手段と、前記読み取り手段により読み取られた前記生体情報に基づいてユーザの認証を行う認証手段と、前記認証手段による認証が成功したときに情報処理装置からアクセス可能となる、前記情報処理装置から供給されたデータが暗号化された状態で記憶される第１の記憶領域と、前記情報処理装置により実行される、前記第１の記憶領域から読み出したデータの出力先を制限する機能を有するソフトウエアが記憶される第２の記憶領域を含む記憶手段と、前記第１の記憶領域に記憶されているデータを復号して前記情報処理装置に出力する復号手段とを備える、前記情報処理装置に接続可能な電子機器の情報処理方法において、前記第２の記憶領域に記憶されている前記ソフトウエアを実行する前記情報処理装置からの指示に応じて、前記復号手段にデータの復号を行わせるか否かを制御する制御ステップ（例えば、図９のステップＳ２２）を含む。
【００２３】
以下、本発明の実施の形態について図を参照して説明する。
【００２４】
図１は、本発明の一実施形態に係る指紋照合機能付きUSBメモリ１の外観の例を示す図である。
【００２５】
指紋照合機能付きUSBメモリ１（以下、適宜、USBメモリ１という）は箱形の筐体からなり、筐体の側面に設けられるUSBコネクタ１Ａが差し込まれることによって、USBコネクタが設けられるPC(Personal Computer)などに接続される。
【００２６】
USBメモリ１にはフラッシュメモリが内蔵されており、ユーザは、USBメモリ１をPCに差し込み、USBメモリ１を外部の記憶媒体としてPCに認識させることによって、PCを用いて作成した各種のデータをUSBメモリ１に記憶させておくことができる。USBメモリ１内においては、PCから供給されたデータは暗号化された状態で記憶される。
【００２７】
USBメモリ１の筐体表面には指紋センサ１１が露出して設けられている。ユーザは、USBメモリ１をPCの外部の記憶媒体として用いるとき、USBメモリ１をPCに差し込んだ状態で１本の指の腹を指紋センサ１１にあて、指紋の照合を行わせる必要がある。指紋センサ１１により読み取られたユーザの指紋のデータは、ユーザによってあらかじめ登録され、USBメモリ１内に記憶されている指紋のデータとUSBメモリ１によって照合され、それらが一致したとき、ユーザは、USBメモリ１に対してPCからデータを記憶させたり、USBメモリ１に記憶されているデータをPCから読み出したりすることが可能となる。
【００２８】
このように、USBメモリ１は、指紋による認証が成功した後だけ、記憶されているデータの読み出しを可能にする機能を有しており、これにより、USBメモリ１を拾うなどして取得した第三者の行為によってUSBメモリ１に記憶されているデータが漏洩してしまうといったことが防止される。
【００２９】
また、USBメモリ１は、USBメモリ１に記憶されている特別なソフトウエアをインストールし、それを実行しているPCからの指示に応じて、暗号化されているデータの復号を行う復号モジュールの状態をオン／オフする機能を有しており、詳細については後述するが、これにより、USBメモリ１の所有者であるユーザ本人の行為によって、USBメモリ１に記憶されているデータが漏洩してしまうといったことも防止される。
【００３０】
すなわち、指紋による認証機能と、特別なソフトウエアを実行しているPCからの指示に応じて復号モジュールの状態をオン／オフする機能との組合せによって、データの漏洩防止が容易に実現される。USBメモリ１に記憶されている特別なソフトウエアには、USBメモリ１から読み出したデータの出力先を制限する機能が設けられている。
【００３１】
図２は、USBメモリ１のハードウエア構成例を示すブロック図である。図１に示される構成と同じ構成には同じ符号を付してある。
【００３２】
図２の例においては、USBメモリ１が接続されるUSBホスト機器としてPC２が示されている。USBターゲット機器であるUSBメモリ１は、接続されるPC２からの要求に応じて処理を行う。
【００３３】
図２に示されるように、USBメモリ１は、基本的に、USBターゲットコントローラであるコントローラLSI(Large Scale Integrated Circuit)２１に対して指紋センサ１１、フラッシュメモリ２２、および水晶発振子２３が接続されることによって構成される。これらの構成のうちの少なくとも一部は、USBメモリ１が、PC２のUSBコネクタに差し込まれているときに供給される電力を用いて動作する。
【００３４】
コントローラLSI２１は、USB I/F(Interface)３１、CPU(Central Processing Unit)３２、暗号処理エンジン３３、EEPROM(Electrically Erasable and Programmable Read Only Memory)３４、プログラム用RAM/ROM(Random Access Memory/Read Only Memory)３５、指紋照合エンジン３６、PLL(Phase Lock Loop)３７、およびフラッシュメモリI/F３８がバス３９を介して接続されることによって構成される。
【００３５】
USB I/F３１は、PC２とUSB規格に従って通信を行う。USB I/F３１は、PC２から送信されてきたデータを受信し、受信したデータをバス３９に出力する。バス３９に出力されたデータは、暗号処理エンジン３３により暗号化された後、フラッシュメモリI/F３８に供給され、フラッシュメモリ２２に記憶される。
【００３６】
また、USB I/F３１は、フラッシュメモリ２２からフラッシュメモリI/F３８により読み出され、暗号処理エンジン３３により復号されたデータ、または、暗号処理エンジン３３により復号されずに、暗号化された状態のままのデータがバス３９を介して供給されたとき、それをPC２に送信する。
【００３７】
暗号処理エンジン３３が有する復号モジュールはPC２からの指示に応じてオン状態、オフ状態が制御されるから、オン状態にあるときにフラッシュメモリ２２から読み出されたデータは復号された後、PC２に送信され、オフ状態にあるときにフラッシュメモリ２２から読み出されたデータは暗号化された状態のまま、PC２に送信される。データの復号はEEPROM３４に記憶されている暗号鍵を用いて行われるから、暗号化された状態のまま送信されたデータは、PC２においてはその内容を確認することができないものになる。
【００３８】
CPU３２は、プログラム用RAM/ROM３５内のROMに記憶されているプログラムをRAMに展開して実行することによって、バス３９を介して接続される各部の動作を制御する。例えば、CPU３２は、PC２によるフラッシュメモリ２２に対するアクセスを制御し、指紋による認証が成功したことが指紋照合エンジン３６から通知されたとき、フラッシュメモリ２２に対するアクセスを許可する。
【００３９】
暗号処理エンジン３３は、PC２から送信された書き込みの対象とするデータがバス３９を介して供給されたとき、そのデータをEEPROM３４に記憶されている暗号鍵を用いて暗号化し、暗号化して得られたデータをフラッシュメモリI/F３８に出力する。
【００４０】
また、暗号処理エンジン３３は、フラッシュメモリ２２に記憶されているデータがフラッシュメモリI/F３８により読み出され、読み出されたデータが供給された場合、復号モジュールの状態がオン状態にあるときには、供給されたデータに施されている暗号をEEPROM３４に記憶されている暗号鍵を用いて復号し、復号して得られたデータをUSB I/F３１に出力して、PC２に送信させる。
【００４１】
EEPROM３４は、RSA、AES(Advanced Encryption Standard)、DES(Data Encryption Standard)などの暗号鍵を記憶する。EEPROM３４に記憶されている暗号鍵は暗号処理エンジン３３により適宜読み出され、データの暗号化、または暗号化されているデータの復号に用いられる。EEPROM３４に記憶される暗号鍵は、例えば、ユーザにより指紋の登録が行われたとき、登録された指紋のデータの一部と、EEPROM３４にあらかじめ記憶されているデータとを用いて生成される。
【００４２】
プログラム用RAM/ROM３５は、CPU３２により実行されるプログラムの他、CPU３２が各種の処理を実行する上で必要な各種のデータを記憶する。
【００４３】
指紋照合エンジン３６は、指紋センサ１１に設定された複数の比較的狭い範囲において指紋が読み取られることによって出力されるRF信号の信号レベルの積算値が閾値を超えたとき、指紋センサ１１に指が置かれたと判断し、指紋の読み取りを開始する。
【００４４】
また、指紋照合エンジン３６は、指紋センサ１１からの出力に基づいて読み取った指紋を照合対象の指紋とし、フラッシュメモリ２２に記憶されている指紋テンプレートを用いて特徴の照合を行う。指紋照合エンジン３６は、照合対象の指紋の特徴と、指紋テンプレートにより表される特徴が一致する場合、指紋センサ１１に指を置いたユーザが正当なユーザであると判定し、指紋による認証が成功したことをCPU３２に通知する。
【００４５】
指紋テンプレートはEEPROM３４に記憶されている暗号鍵によって暗号化された状態でフラッシュメモリ２２に記憶されている。指紋の照合を行うとき、指紋照合エンジン３６に対しては、暗号鍵を用いて暗号処理エンジン３３により復号された指紋テンプレートが供給される。
【００４６】
PLL３７は、コントローラLSI２１内の各部が動作するのに必要なクロックを水晶発振子２３から供給されたクロックに基づいて生成し、生成したクロックを各部に供給する。
【００４７】
フラッシュメモリI/F３８は、フラッシュメモリ２２に対するデータの書き込み、またはフラッシュメモリ２２に記憶されているデータの読み出しを制御する。
【００４８】
例えば、フラッシュメモリI/F３８は、暗号処理エンジン３３により暗号化され、バス３９を介して供給されたデータをフラッシュメモリ２２に記憶させる。また、フラッシュメモリI/F３８は、暗号化された状態でフラッシュメモリ２２に記憶されているデータを読み出し、読み出したデータをバス３９を介して暗号処理エンジン３３に出力する。
【００４９】
フラッシュメモリ２２は、フラッシュメモリI/F３８による制御に従って各種のデータを記憶する。フラッシュメモリ２２には、PC２によりインストールされ、実行されるソフトウエアも記憶されている。
【００５０】
水晶発振子２３は所定の周波数のクロックをPLL３７に出力する。
【００５１】
図３は、フラッシュメモリ２２に形成される領域の例を示す図である。
【００５２】
図３に示されるように、フラッシュメモリ２２の記憶領域全体は、主に、パラメータエリアＡ１、セキュアエリアＡ２、およびオープンエリアＡ３の３つのエリアに分けられる。
【００５３】
パラメータエリアＡ１には、マスタPCとしてユーザが使うPCのID、マスタPC用のデータ入出力制御パラメータ、スレーブPC用のデータ入出力制御パラメータが記憶される。パラメータエリアＡ１は、オープンエリアＡ３に記憶されている特別なソフトウエアとしてのデータ入出力制限ソフトウエアをインストールし、実行しているPCだけがアクセス可能なエリアとされる。
【００５４】
ここで、マスタPCは、例えば、USBメモリ１のユーザが会社内で使うPCであり、スレーブPCは、マスタPC以外の、例えば、USBメモリ１のユーザが自宅で使うPCである。どのPCをマスタPCとし、どのPCをスレーブPCとするかは、適宜、ユーザにより設定される。USBメモリ１は、マスタPCに接続されるときもあるし、スレーブPCに接続されるときもある。
【００５５】
マスタPCのIDは、オープンエリアＡ３に記憶されているデータ入出力制限ソフトウエアをインストールしたマスタPCにより記憶される。マスタPCのIDは、USBメモリ１が差し込まれたPCが、自分がマスタPCであるか否かを判断するなどのために用いられる。
【００５６】
マスタとして使用するPCの変更があったことなどから、マスタPCのIDを書き換える場合、フラッシュメモリ２２に記憶されているデータは全て消去される。
【００５７】
パラメータエリアＡ１に記憶されているマスタPC用のデータ入出力制御パラメータは、データ入出力制限ソフトウエアを実行しているマスタPCにより参照されるパラメータであり、このデータ入出力制御パラメータにより、USBメモリ１のセキュアエリアＡ２に記憶されているデータの出力先が指定される。マスタPC用のデータ入出力制御パラメータは、USBメモリ１を備品として配布する会社の管理者によって設定される。
【００５８】
例えば、USBメモリ１以外の記憶媒体に記憶させることができないとする制限が設定されている場合、データ入出力制限ソフトウエアの機能によって、マスタPCにおいては、USBメモリ１のセキュアエリアＡ２から読み出されたデータはメインメモリ（RAM）だけに記憶され、編集などに用いられる。また、編集後のデータは、データ入出力制限ソフトウエアの機能によって、USBメモリ１にだけ出力し、記憶させること、すなわち、元の記憶場所に戻すことだけが可能とされ、マスタPCの内蔵のHDDなどに記憶させることは禁止される。
【００５９】
スレーブPC用のデータ入出力制御パラメータは、データ入出力制限ソフトウエアを実行しているスレーブPCにより参照されるパラメータであり、このデータ入出力制御パラメータにより、USBメモリ１のセキュアエリアＡ２に記憶されているデータの出力先が指定される。スレーブPC用のデータ入出力制御パラメータも、USBメモリ１を備品として配布する会社の管理者によって設定される。
【００６０】
セキュアエリアＡ２はWindows（登録商標）OSやMac（登録商標）OSなどでアクセスすることができるようにフォーマットされているエリアであり、このセキュアエリアＡ２には、EEPROM３４に記憶されている暗号鍵を用いて暗号化されたデータが記憶される。
【００６１】
指紋による認証が成功した後、セキュアエリアＡ２はPCからアクセス可能な領域となり、PCからデータを記憶させたり、そこに記憶されているデータをPCが読み出したりすることが可能になる。なお、暗号処理エンジン３３の復号モジュールがオン状態にならないと、PCは、暗号化された状態でセキュアエリアＡ２に記憶されているデータを読み出すことはできても内容を認識することができない（ファイルシステムを認識することができない）。
【００６２】
セキュアエリアＡ２にデータを記憶させるときのデータの暗号化、セキュアエリアＡ２に暗号化された状態で記憶されているデータを読み出すときのデータの復号は、PCから送信されてくるコマンドに応じてUSBメモリ１内で自動的に行われるから、データの読み書きに際して、PCが暗号処理を意識する必要はない。
【００６３】
オープンエリアＡ３には、データ入出力制限ソフトウエアが事前に記憶されている。オープンエリアＡ３は、指紋による認証などを行わないでも、どのPCからでもアクセス可能な領域とされており、ユーザは、どのPCにもデータ入出力制限ソフトウエアをインストールすることができる。オープンエリアＡ３に対しては、データ入出力制限ソフトウエアの加工などができないようにライトプロテクトが設定されている。
【００６４】
なお、フラッシュメモリ２２には、指紋による認証が成功した後であっても、記憶されているデータに関する情報がUSBメモリ１からPCに通知されず、PCからはアクセスすることができないエリアも設けられる。
【００６５】
このエリアには、EEPROM３４に記憶されている暗号鍵を用いて暗号化された指紋テンプレート、秘密鍵（個別鍵）が記憶される。
【００６６】
秘密鍵は、これに対応する公開鍵を用いて他の装置において暗号化されたデータを復号するのに用いられる。また、秘密鍵は、PCを用いてユーザが作成したデータに付加する電子署名データを生成するのに用いられる。
【００６７】
このように、USBメモリ１にはPKI(Public Key Infrastructure)を実現するために用いられる鍵や、データの暗号化、復号に用いられる鍵（非対称鍵と対称鍵の両方）などが記憶されており、USBメモリ１はハードウェアトークンとしての機能も有している。
【００６８】
図４は、暗号処理エンジン３３が有する復号モジュールのオン／オフの制御について示す図である。
【００６９】
図４に示されるように、暗号処理エンジン３３には暗号モジュール３３Ａと復号モジュール３３Ｂが設けられる。
【００７０】
USBメモリ１がPC２に差し込まれ、指紋による認証が成功している場合、暗号モジュール３３Ａは、書き込みの対象としてPC２から供給されたデータをEEPROM３４に記憶されている暗号鍵を用いて暗号化し、暗号化して得られたデータをバス３９、フラッシュメモリI/F３８を介してフラッシュメモリ２２に出力し、セキュアエリアＡ２に記憶させる。
【００７１】
復号モジュール３３Ｂは、セキュアエリアＡ２に記憶されているデータの読み出しがPC２により指示されることに応じて、暗号化された状態のデータがフラッシュメモリI/F３８、バス３９を介して供給された場合、オン／オフコントロール部５１による制御に従って、自身の状態が復号を行うオン状態になっているときには、供給されたデータに施されている暗号をEEPROM３４に記憶されている暗号鍵を用いて復号し、復号して得られたデータをUSB I/F３１に出力して、PC２に送信させる。
【００７２】
オン／オフコントロール部５１は、データ入出力制限ソフトウエアを実行するPC２からの指示に従って、復号モジュール３３Ｂの状態のオン／オフを制御する。
【００７３】
USBメモリ１がPC２に差し込まれた直後などのデフォルトの復号モジュール３３Ｂの状態はオフ状態とされており、オン／オフコントロール部５１は、データ入出力制限ソフトウエアを起動させ、実行しているPC２からの指示に応じて、復号モジュール３３Ｂの状態をオン状態にさせる。
【００７４】
また、USBメモリ１がPC２から抜かれたとき、オン／オフコントロール部５１は、オン状態にある復号モジュール３３Ｂの状態をオフ状態にさせる。オン／オフコントロール部５１は、例えば、CPU３２により所定のプログラムが実行されることによって実現される。
【００７５】
このようにしてモジュール３３の状態が制御されるため、USBメモリ１をPC２に差し込み、指紋による認証を成功させたとしても、PC２においてデータ入出力制限ソフトウエアを起動させておらず、USBメモリ１の復号モジュール３３Ｂがオフ状態にあるときには、ユーザは、セキュアエリアＡ２に記憶されているデータをPC２に読み出させることはできるが、そのデータのファイルシステムを認識させることができず、データの内容を見ることができない。
【００７６】
指紋による認証を成功させた上で、PC２においてデータ入出力制限ソフトウエアを起動させ、復号モジュール３３Ｂがオン状態になって初めて、または、PC２においてデータ入出力制限ソフトウエアを起動させ、復号モジュール３３Ｂがオン状態になった上で、指紋による認証を成功させることによって初めて、ユーザは、セキュアエリアＡ２に記憶されているデータの内容を見ることができることになる。
【００７７】
このように、USBメモリ１のセキュアエリアＡ２に記憶されているデータを見るためには、実質的に、データ入出力制限ソフトウエアの実行が強制されることになる。データ入出力制限ソフトウエアはデータの出力先を制限する機能を有するソフトウエアであるから、USBメモリ１のセキュアエリアＡ２に記憶されているデータを見るためには、ユーザは、出力先が制限されるといった不利益を受けなければならないことになる。
【００７８】
以上のような構成を有するUSBメモリ１の処理についてはフローチャートを参照して後述する。
【００７９】
図５は、PC２のハードウエア構成例を示すブロック図である。
【００８０】
CPU６１は、ROM６２に記憶されているソフトウエア、HDD６８からRAM６３にロードされたソフトウエアに従って各種の処理を実行する。RAM６３にはまた、CPU６１が各種の処理を実行する上において必要なデータなどが適宜記憶される。USBメモリ１から読み出され、PC２にインストールされたデータ入出力制限ソフトウエアもCPU６１により実行される。
【００８１】
CPU６１、ROM６２、およびRAM６３は、バス６４を介して相互に接続されている。このバス６４にはまた、入出力インタフェース６５も接続されている。
【００８２】
入出力インタフェース６５には、キーボード、マウスなどよりなる入力部６６、LCD(Liquid Crystal Display)などよりなるディスプレイ６７、データ入出力制限ソフトウエアなどの各種のデータが記憶されるHDD６８、ネットワークを介して他の装置と通信を行う通信部６９が接続されている。
【００８３】
入出力インタフェース６５には、USBホストコントローラであるUSBコントローラ７０も接続される。USBコントローラ７０は、PC２の筐体に設けられるUSBコネクタに差し込まれたUSBメモリ１との間で通信を行う。
【００８４】
入出力インタフェース６５にはまた、必要に応じてドライブ７１が接続され、磁気ディスク、光ディスク、光磁気ディスク、メモリカードなどよりなるリムーバブルメディア７２が適宜装着される。
【００８５】
図６は、PC２の機能構成例を示すブロック図である。
【００８６】
図６に示されるように、マスタPC、またはスレーブPCであるPC２においては制御部８１、出力先管理部８２、および復号モジュール制御部８３が実現される。出力先管理部８２と復号モジュール制御部８３は、USBメモリ１から読み出され、インストールされたデータ入出力制限ソフトウエアが図５のCPU６１により実行されることによって実現される。
【００８７】
制御部８１は、USBメモリ１がPC２に差し込まれたとき、USBメモリ１のオープンエリアＡ３に記憶されているデータ入出力制限ソフトウエアを読み出し、インストールする。
【００８８】
また、制御部８１は、セキュアエリアＡ２に記憶されているデータの読み出しを指示することに応じて、復号されたデータがUSBメモリ１から供給されたとき、供給されたデータをメインメモリ（プログラム用RAM/ROM３５のうちのRAM）に記憶させ、ユーザによる操作に応じてデータの編集などの所定の処理を行う。制御部８１は、処理を施したデータを出力先管理部８２に出力する。
【００８９】
出力先管理部８２は、USBメモリ１のセキュアエリアＡ２から読み出され、制御部８１により処理が施されたデータの出力先を管理する。
【００９０】
例えば、マスタPCであるPC２の出力先管理部８２は、USBメモリ１のパラメータエリアＡ１に記憶されているマスタPC用のデータ入出力制御パラメータを取得し、取得したデータ入出力制御パラメータにより指定される出力先にだけ、セキュアエリアＡ２から読み出されたデータを出力する。同様に、スレーブPCであるPC２の出力先管理部８２は、USBメモリ１のパラメータエリアＡ１に記憶されているスレーブPC用のデータ入出力制御パラメータを取得し、取得したデータ入出力制御パラメータにより指定される出力先にだけ、セキュアエリアＡ２から読み出されたデータを出力する。
【００９１】
復号モジュール制御部８３は、USBメモリ１のオン／オフコントロール部５１に指示することによって、復号モジュール３３Ｂの状態のオン／オフを制御させる。
【００９２】
ここで、以上のような構成を有するUSBメモリ１とPC２の処理について説明する。
【００９３】
はじめに、図７のフローチャートを参照して、指紋を登録するUSBメモリ１の処理について説明する。
【００９４】
この処理は、USBメモリ１が接続されるPC２を操作するなどして、指紋の登録を行うことがユーザにより指示されたときに開始される。指紋の登録を行うことがユーザにより指示されたとき、指紋の登録を開始することを指示するコマンドがPC２からUSBメモリ１に送信される。
【００９５】
ステップＳ１において、指紋照合エンジン３６は、指紋センサ１１に指が置かれたか否かを判定し、指が置かれたと判定するまで待機する。
【００９６】
ステップＳ１において指が置かれたと判定した場合、ステップＳ２において、指紋照合エンジン３６は、指紋センサ１１から供給されたRF信号を指紋読み取りデータとして取り込む。
【００９７】
ステップＳ３において、指紋照合エンジン３６は、指紋センサ１１により読み取られた指紋の特徴を表すデータを指紋テンプレートとして取り出す。指紋照合エンジン３６により取り出された指紋テンプレートはバス３９を介して暗号処理エンジン３３に出力される。
【００９８】
ステップＳ４において、暗号処理エンジン３３は、EEPROM３４に記憶されている暗号鍵を用いて指紋テンプレートを暗号化し、暗号化した指紋テンプレートをフラッシュメモリI/F３８に出力してフラッシュメモリ２２に記憶させる。指紋テンプレートは、暗号鍵を用いて暗号化された後、フラッシュメモリ２２ではなくEEPROM３４に記憶されるようにしてもよい。
【００９９】
次に、図８のフローチャートを参照して、ユーザの認証を行うUSBメモリ１の処理について説明する。
【０１００】
この処理は、ユーザがUSBメモリ１をPC２のUSBコネクタに差し込んだときに開始される。USBメモリ１をPC２のUSBコネクタに差し込んだとき、PC２からUSBメモリ１に対して電力が供給され、USBメモリ１が動作可能な状態になる。
【０１０１】
ステップＳ１１において、指紋照合エンジン３６は、指紋センサ１１に指が置かれたか否かを判定し、指が置かれたと判定するまで待機する。
【０１０２】
ステップＳ１１において指が置かれたと判定した場合、指紋照合エンジン３６は、ステップＳ１２において、指紋センサ１１から供給されたRF信号に基づいて指紋読み取りデータを取り込む。
【０１０３】
ステップＳ１３において、指紋照合エンジン３６は、指紋読み取りデータによって表される指紋を照合対象の指紋とし、照合対象の指紋から抽出した特徴と、EEPROM３４に記憶されている暗号鍵によって復号され、暗号処理エンジン３３から供給された指紋テンプレートにより表される特徴との照合を行う。
【０１０４】
ステップＳ１４において、指紋照合エンジン３６は、指紋の特徴の照合結果に基づいて、認証が成功したか否かを判定する。認証が成功したか否かの判定結果はCPU３２に通知される。
【０１０５】
照合対象の指紋から抽出した特徴と、指紋テンプレートにより表される特徴が一致しないことから、認証が失敗したとステップＳ１４において判定された場合、処理は終了される。
【０１０６】
一方、認証が成功したとステップＳ１４において判定された場合、ステップＳ１５において、CPU３２は、認証成功フラグの設定を、認証が成功していることを表すオン状態とし、フラッシュメモリ２２のセキュアエリアＡ２にアクセスすることをPC２に許可する。その後、処理は終了される。
【０１０７】
次に、図９のフローチャートを参照して、USBメモリ１のデータ管理処理について説明する。
【０１０８】
この処理は、ユーザがUSBメモリ１をPC２のUSBコネクタに差し込んだときに開始され、適宜、図８の処理と並行して行われる。上述したように、PC２のUSBコネクタに差し込まれた直後においては、復号モジュール３３Ｂの状態はオフ状態になっている。
【０１０９】
ステップＳ２１において、オン／オフコントロール部５１は、復号モジュール３３Ｂをオン状態にすることがPC２から指示されたか否かを判定する。
【０１１０】
なお、データ入出力制限ソフトウエアのインストールは所定のタイミングで行われており、復号モジュール３３Ｂをオン状態にすることの指示は、データ入出力制限ソフトウエアを既にインストールし、起動させているPC２により行われる。
【０１１１】
ステップＳ２１において復号モジュール３３Ｂをオン状態にすることがPC２から指示されたと判定した場合、ステップＳ２２において、オン／オフコントロール部５１は、復号モジュール３３Ｂをオン状態にする。
【０１１２】
復号モジュール３３Ｂがオン状態にされた場合、または、ステップＳ２１において復号モジュール３３Ｂをオン状態にすることがPC２から指示されていないと判定された場合、ステップＳ２３において、復号モジュール３３Ｂは、図８の処理が行われることによって認証が成功し、認証成功フラグがオン状態になっているか否かを判定する。
【０１１３】
ステップＳ２３において認証成功フラグがオン状態になっていると判定した場合、ステップＳ２４において、復号モジュール３３Ｂは、データの読み出しがPC２から指示されたか否かを判定する。
【０１１４】
ステップＳ２４においてデータの読み出しが指示されたと判定した場合、ステップＳ２５において、復号モジュール３３Ｂは、PC２からの指示に応じてフラッシュメモリ２２から読み出された暗号化された状態のデータを、自身の状態がオン状態になっている場合にはEEPROM３４に記憶されている暗号鍵を用いて復号し、復号して得られたデータをUSB I/F３１に出力してPC２に送信する。また、復号モジュール３３Ｂは、フラッシュメモリ２２から読み出された暗号化された状態のデータを、自身の状態がオフ状態になっている場合には、復号せずに、暗号化された状態のデータをそのままUSB I/F３１に出力してPC２に送信する。
【０１１５】
データがPC２に送信された場合、または、ステップＳ２４においてデータの読み出しが指示されていないと判定された場合、ステップＳ２６において、暗号モジュール３３Ａは、データの書き込みがPC２から指示されたか否かを判定する。
【０１１６】
ステップＳ２６において、データの書き込みがPC２から指示されたと判定した場合、ステップＳ２７に進み、暗号モジュール３３Ａは、書き込みの対象としてPC２から供給されたデータをEEPROM３４に記憶されている暗号鍵を用いて暗号化し、暗号化して得られたデータをフラッシュメモリ２２のセキュアエリアＡ２に記憶させる。
【０１１７】
データがセキュアエリアＡ２に記憶された場合、または、ステップＳ２６においてデータの書き込みが指示されていないと判定された場合、ステップＳ２８において、オン／オフコントロール部５１は、USBメモリ１がPC２のUSBコネクタから抜かれたか否かを判定する。
【０１１８】
ステップＳ２８において、USBメモリ１がPC２のUSBコネクタから抜かれていないと判定した場合、オン／オフコントロール部５１は、ステップＳ２１に戻り、以上の処理を繰り返す。
【０１１９】
一方、ステップＳ２８においてUSBメモリ１がPC２のUSBコネクタから抜かれたと判定した場合、オン／オフコントロール部５１は、ステップＳ２９において、認証成功フラグと、復号モジュール３３Ｂをオフ状態とし、処理を終了させる。
【０１２０】
次に、図１０のフローチャートを参照して、マスタPCであるPC２により行われる処理について説明する。
【０１２１】
USBメモリ１がUSBコネクタに差し込まれたとき、ステップＳ４１において、マスタPCの制御部８１は、そのことを認識する。
【０１２２】
ステップＳ４２において、制御部８１は、データ入出力制限ソフトウエアがまだインストールされておらず、インストールがユーザにより指示された場合、USBメモリ１のオープンエリアＡ３に記憶されているデータ入出力制限ソフトウエアを読み出し、インストールする。
【０１２３】
ステップＳ４３において、制御部８１は、インストールしたデータ入出力制限ソフトウエアを起動する。
【０１２４】
ステップＳ４４において、データ入出力制限ソフトウエアの今回の起動が初めての起動である場合、制御部８１は、コンピュータ名やシリアルナンバなどのPC２のIDをUSBメモリ１に出力し、パラメータエリアＡ１に記憶させる。このように、マスタPCのIDを記憶させることは、データ入出力制限ソフトウエアの初めての起動のときに１回だけ行われる。
【０１２５】
マスタPCのIDが既に記憶されている場合、データ入出力制限ソフトウエアを起動することに応じて、USBメモリ１のパラメータエリアＡ１に記憶されているIDが制御部８１により参照され、自分自身がマスタPCであることが確認される。
【０１２６】
ステップＳ４５において、復号モジュール制御部８３は、USBメモリ１のオン／オフコントロール部５１に指示することによって、復号モジュール３３Ｂをオフ状態からオン状態に制御させる。
【０１２７】
ステップＳ４６において、制御部８１は、USBメモリ１に問い合わせることによって、指紋による認証が成功しているか否かを判定し、成功していると判定するまで待機する。
【０１２８】
ステップＳ４６において指紋による認証が成功していると判定した場合、ステップＳ４７において、制御部８１は、USBメモリ１に指示することによって、処理対象とするデータをUSBメモリ１のセキュアエリアＡ２から読み出す。USBメモリ１の復号モジュール３３Ｂは既にオン状態になっているから、復号モジュール３３Ｂにより復号され、制御部８１が認識可能な形で処理対象のデータが供給される。
【０１２９】
ステップＳ４８において、制御部８１は、USBメモリ１から読み出したデータに対してユーザによる指示に応じた処理を施し、処理を施すことによって得られた編集後のデータを出力先管理部８２に出力する。
【０１３０】
ステップＳ４９において、出力先管理部８２は、データの出力がユーザにより指示されたか否かを判定し、指示されたと判定するまで、ステップＳ４８の処理を繰り返し行わせる。
【０１３１】
一方、ステップＳ４９において編集後のデータの出力がユーザにより指示されたと判定した場合、ステップＳ５０において、出力先管理部８２は、USBメモリ１のパラメータエリアＡ１に記憶されているマスタPC用のデータ入出力制御パラメータを参照し、許可されている範囲で編集後のデータを出力する。
【０１３２】
例えば、編集後のデータをUSBメモリ１に出力し、再度記憶させることが指示された場合、出力先管理部８２は編集後のデータをUSBメモリ１に出力し、記憶させる。
【０１３３】
また、内蔵の記憶媒体であるHDD６８に記憶することが許可されており、そのことがユーザにより指示された場合、出力先管理部８２は編集後のデータをHDD６８に出力し、記憶させる。
【０１３４】
さらに、出力先管理部８２は、PC２に接続されているプリンタに出力し、プリントアウトすることが許可されており、そのことがユーザにより指示された場合、編集後のデータをプリンタに出力し、プリントアウトを行わせる。
【０１３５】
編集後のデータを以上のようにして出力した後、処理は終了される。
【０１３６】
次に、図１１のフローチャートを参照して、スレーブPCであるPC２により行われる処理について説明する。
【０１３７】
スレーブPCであるPC２において行われる処理も、PC２のIDをUSBメモリ１に記憶させる処理が行われない点を除いて、マスタPCであるPC２において行われる図１０の処理と同様の処理である。
【０１３８】
すなわち、USBメモリ１がUSBコネクタに差し込まれたとき、ステップＳ６１において、スレーブPCの制御部８１は、そのことを認識する。
【０１３９】
ステップＳ６２において、制御部８１は、データ入出力制限ソフトウエアがまだインストールされておらず、インストールがユーザにより指示された場合、USBメモリ１のオープンエリアＡ３に記憶されているデータ入出力制限ソフトウエアを読み出し、インストールする。USBメモリ１のユーザは、USBメモリ１のセキュアエリアＡ２に記憶されているデータをスレーブPCにおいて読み出すときも、スレーブPCにデータ入出力制限ソフトウエアをインストールする必要がある。
【０１４０】
ステップＳ６３において、制御部８１は、インストールしたデータ入出力制限ソフトウエアを起動する。
【０１４１】
データ入出力制限ソフトウエアを起動することに応じて、USBメモリ１のパラメータエリアＡ１に記憶されているマスタPCのIDが制御部８１により参照され、自分自身がマスタPCではなく、スレーブPCであることが確認される。
【０１４２】
ステップＳ６４において、復号モジュール制御部８３は、USBメモリ１のオン／オフコントロール部５１に指示することによって、復号モジュール３３Ｂをオフ状態からオン状態に制御させる。
【０１４３】
ステップＳ６５において、制御部８１は、USBメモリ１に問い合わせることによって、指紋による認証が成功しているか否かを判定し、成功していると判定するまで待機する。
【０１４４】
ステップＳ６５において指紋による認証が成功していると判定した場合、ステップＳ６６において、制御部８１は、USBメモリ１に指示することによって、処理対象とするデータをUSBメモリ１のセキュアエリアＡ２から読み出す。
【０１４５】
ステップＳ６７において、制御部８１は、USBメモリ１から読み出したデータに対してユーザによる指示に応じた処理を施し、処理を施すことによって得られた編集後のデータを出力先管理部８２に出力する。
【０１４６】
ステップＳ６８において、出力先管理部８２は、データの出力がユーザにより指示されたか否かを判定し、指示されたと判定するまで、ステップＳ６７の処理を繰り返し行わせる。
【０１４７】
一方、ステップＳ６８において編集後のデータの出力がユーザにより指示されたと判定した場合、ステップＳ６９において、出力先管理部８２は、USBメモリ１のパラメータエリアＡ１に記憶されているスレーブPC用のデータ入出力制御パラメータを参照し、許可されている範囲で編集後のデータを出力する。
【０１４８】
このように、マスタPC、スレーブPCのいずれのPCにおいても、USBメモリ１のパラメータエリアＡ１に記憶されているそれぞれのPC専用のデータ入出力制御パラメータによって許可されている範囲で、編集後のデータを出力することが可能とされる。
【０１４９】
なお、データを出力することがユーザにより指示されたときに全ての出力先の一覧が表示され、その中から選択された出力先が管理者により許可されている出力先である場合にはデータを出力する処理が行われ、許可されていない出力先である場合にはその旨を通知するメッセージが表示されるようにしてもよいし、編集後のデータを出力することがユーザにより指示されたとき、管理者により許可されている出力先だけが一覧表示され、一覧表示されたものの中から出力先が選択されるようにしてもよい。
【０１５０】
図１２は、マスタPCに許可される出力先の例を示す図である。
【０１５１】
図１２の例においては、USBメモリ１のセキュアエリアＡ２から読み出したデータを、USBメモリ１に出力して記憶させること、内部のHDD６８に出力して記憶させること、通信部６９に出力してネットワークを介して他の装置に送信すること、および、プリンタ１０２に出力してプリントアウトさせることが許可されている。
【０１５２】
一方、USBメモリ１のセキュアエリアＡ２から読み出したデータを、USBメモリ１以外のUSBメモリであるUSBメモリ１０１に出力して記憶させることと、ドライブ７１に出力して、ドライブ７１に装着されているDVD(Digital Versatile Disc)に記憶させることが禁止されている。
【０１５３】
どのデバイスに出力することが許可され、どのデバイスに出力することが禁止されるかは、マスタPC用のデータ入出力制御パラメータにより指定される。
【０１５４】
図１３は、スレーブPCに許可される出力先の例を示す図である。
【０１５５】
図１３の例においては、USBメモリ１のセキュアエリアＡ２から読み出したデータを、元の記憶場所であるUSBメモリ１に出力して記憶させることだけが許可されている。
【０１５６】
どのデバイスに出力することが許可され、どのデバイスに出力することが禁止されるかは、スレーブPC用のデータ入出力制御パラメータにより指定される。
【０１５７】
このようにスレーブPCの出力先が制限されることにより、例えば、マスタPCである会社のPCを用いて作成した文書データをUSBメモリ１に記憶させて自宅に持ち帰り、スレーブPCである自宅のPCを用いてその文章データの編集などを行った場合、編集後のデータの出力先は同じUSBメモリ１だけに制限されているから、スレーブPCから、すなわち、USBメモリ１のユーザ本人の行為、不注意によって、情報が漏洩してしまうことを防止することが可能となる。
【０１５８】
また、スレーブPCだけでなく、マスタPCの出力先としてもUSBメモリ１だけが許可されるようにすることにより、業務上作成したデータの記録メディアとして、USBメモリ１だけを使うことができるシステムの構築が可能になる。
【０１５９】
以上においては、マスタPCとスレーブPCがそれぞれ１台である場合について説明したが、図１４に示されるように、１台のマスタPCとｎ台（ｎの値は無制限）のスレーブPCの間でデータをやりとりするときにUSBメモリ１を用いることも可能である。
【０１６０】
この場合、USBメモリ１のパラメータエリアＡ１には、スレーブPC毎に設定された出力先を指定するデータ入出力制御パラメータが記憶され、データ入出力制限ソフトウエアを実行するそれぞれのスレーブPCにより参照される。例えば、マスタPCからUSBメモリ１のセキュアエリアＡ２に記憶させたデータをユーザがいずれかのスレーブPCにおいて読み出した場合、そのデータをUSBメモリ１だけにしか出力できないようにすることも可能である。
【０１６１】
また、図１５に示されるように、複数のPCをマスタPCとしてデータをやりとりするときにUSBメモリ１を用いることも可能である。
【０１６２】
この場合、例えば、USBメモリ１のパラメータエリアＡ１には複数のマスタPCの共通のものとして割り当てられたIDが記憶される。これにより、会社内にある全てのPCや、ある部署が管理する全てのPCをマスタPCとして設定し、共通のIDが記憶されるようにすることにより、会社内や部署内ではUSBメモリ１のセキュアエリアＡ２に記憶されているデータを自由に使えるが、一旦外に出ると、外にあるPCでは、USBメモリ１のセキュアエリアＡ２に記憶されているデータをUSBメモリ１にしか出力できなくなるようなシステムを実現することも可能になる。
【０１６３】
図１６は、USBメモリ１をメールソフトウエアと連携させたときに、USBメモリ１のフラッシュメモリ２２に記憶される情報の例を示す図である。
【０１６４】
図１６の例においては、マスタPCのメールソフトウエアにおいて受信した電子メール本文の出力先がUSBメモリ１として設定されており、暗号化された状態の電子メール本文がセキュアエリアＡ２に記憶されている。
【０１６５】
この場合、例えば、ユーザは、スレーブPCにUSBメモリ１を差し込み、オープンオープンエリアＡ３に記憶されているデータ入出力ソフトウエアを起動させ、指紋認証を成功させることによって、セキュアエリアＡ２に記憶させていた電子メール本文をスレーブPCを用いて読むことができるようになる。
【０１６６】
また、セキュアエリアＡ２から読み出した電子メール本文の出力先として、ネットワークに出力し、電子メールとして送信することがデータ入出力制御パラメータにより許可されている場合、ユーザは、スレーブPCを用いて本文を読んだ電子メールに対して返信メールを作成し、スレーブPCから送信することができる。セキュアエリアＡ２から読み出した電子メール本文の出力先として、電子メールとして送信すること以外の出力先が全て禁止されている場合、他のストレージにデータが移動するようなことは起こらない。
【０１６７】
以上においては、復号モジュール３３Ｂの状態のオン／オフを制御することができる場合について説明したが、暗号モジュール３３Ａの状態のオン／オフを制御することができるようにしてもよい。
【０１６８】
また、以上においては、データ入出力制限ソフトウエアは、USBメモリ１を介して提供されるものとしたが、所定のサーバからダウンロードされることによってPC２に提供されるようにしてもよい。
【０１６９】
さらに、以上においては、指紋センサ１１により読み取られた指紋によってユーザの認証が行われるものとしたが、必ずしも指紋によって行われる必要はなく、USBメモリ１内で本人認証を行うことができるものであれば他のバイオメトリクス認証が行われるようにしてもよい。例えば、虹彩や掌紋によってユーザの認証が行われるようにすることが可能である。
【０１７０】
また、USBメモリ１にタッチパネルが設けられている場合、その表面を指でなぞることによって入力されたパスワードによってユーザの認証が行われるようにしてもよい。
【０１７１】
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な汎用のパーソナルコンピュータなどにインストールされる。
【０１７２】
インストールされる実行するプログラムは、例えば、磁気ディスク、光ディスク、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアである図５に示されるリムーバブルメディア７２に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。プログラムは、ROM６２やHDD６８にあらかじめインストールしておくことができる。
【０１７３】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０１７４】
本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０１７５】
【図１】本発明の一実施形態に係る指紋照合機能付きUSBメモリの外観の例を示す図である。
【図２】指紋照合機能付きUSBメモリのハードウエア構成例を示すブロック図である。
【図３】フラッシュメモリに記憶される情報の例を示す図である。
【図４】復号モジュールのオン／オフの制御について示す図である。
【図５】PCのハードウエア構成例を示すブロック図である。
【図６】PCの機能構成例を示すブロック図である。
【図７】指紋照合機能付きUSBメモリの指紋登録処理について説明するフローチャートである。
【図８】指紋照合機能付きUSBメモリの認証処理について説明するフローチャートである。
【図９】指紋照合機能付きUSBメモリのデータ管理処理について説明するフローチャートである。
【図１０】マスタPCの処理について説明するフローチャートである。
【図１１】スレーブPCの処理について説明するフローチャートである。
【図１２】マスタPCに許可される出力先の例を示す図である。
【図１３】スレーブPCに許可される出力先の例を示す図である。
【図１４】スレーブPCが複数台ある場合の例を示す図である。
【図１５】マスタPCが複数台ある場合の例を示す図である。
【図１６】フラッシュメモリに記憶される情報の他の例を示す図である。
【符号の説明】
【０１７６】
１  指紋照合機能付きUSBメモリ，  ２  PC，  １１  指紋センサ，  ２１  コントローラLSI，  ２２  フラッシュメモリ，  ２３  水晶発振子，  ３１  USB I/F，  ３２  CPU，  ３３  暗号処理エンジン，  ３３Ａ  暗号モジュール，  ３３Ｂ  復号モジュール，  ３４  EEPROM，  ３５  プログラム用RAM/ROM，  ３６  指紋照合エンジン，  ３７  PLL，  ３８  フラッシュメモリI/F，  ５１  オン／オフコントロール部
【図１】
2009003676.tif 000003
【図２】
2009003676.tif 000004
【図３】
2009003676.tif 000005
【図４】
2009003676.tif 000006
【図５】
2009003676.tif 000007
【図６】
2009003676.tif 000008
【図７】
2009003676.tif 000009
【図８】
2009003676.tif 000010
【図９】
2009003676.tif 000011
【図１０】
2009003676.tif 000012
【図１１】
2009003676.tif 000013
【図１２】
2009003676.tif 000014
【図１３】
2009003676.tif 000015
【図１４】
2009003676.tif 000016
【図１５】
2009003676.tif 000017
【図１６】
2009003676.tif 000018