(57)【要約】【課題】ユーザの認証結果または情報処理装置において行われる操作の内容を表す情報を含むログデータを、情報処理装置に接続される電子機器内のメモリに記憶させておくことができるようにする。【解決手段】UFD１には、指紋によるユーザの認証結果、または、ユーザの認証が成功した後にホストPC２を用いて行われた操作の内容を表すログデータをUFD１内のフラッシュメモリ２２に保存する機能が設けられている。ログデータには、そのようなユーザの認証結果、パーソナルコンピュータを用いて行われた操作の内容を表すデータの他に、UFD１が接続されているホストPC２の識別情報や、UFD１に内蔵される、バッテリ付きのタイマが管理する時刻情報なども含まれる。本発明は、UFDに適用することができる。【選択図】図２
2008191851.tif 000002
【特許請求の範囲】
【請求項１】
メモリを内蔵し、情報処理装置に接続可能な電子機器において、
生体情報を読み取る読み取り手段と、
前記読み取り手段により読み取られた前記生体情報に基づいてユーザの認証を行う認証手段と、
前記認証手段によるユーザの認証結果を表す情報を認証が行われる毎に、または、ユーザの認証が成功した後に前記情報処理装置において行われる所定の操作の内容を表す情報を前記所定の操作が行われる毎に、前記情報処理装置の識別情報および時刻と対応付けてログデータを生成し、生成した前記ログデータを前記メモリに記憶させる制御手段と
を備える電子機器。
【請求項２】
前記制御手段は、前記メモリに記憶されている秘密鍵を用いて得られた署名データを含む前記ログデータを生成する
請求項１に記載の電子機器。
【請求項３】
前記メモリの記憶領域は、前記情報処理装置からアクセスすることのできない第１の領域と、ユーザの認証が成功することに応じて、外部の記憶媒体として前記情報処理装置からアクセスすることができるようになる第２の領域からなり、
前記制御手段は、前記ログデータを前記第１の領域に記憶させる
請求項１に記載の電子機器。
【請求項４】
タイマをさらに備え、
前記制御手段は、前記タイマによって計測された時刻を対応付けた前記ログデータを生成する
請求項１に記載の電子機器。
【請求項５】
前記制御手段は、前記情報処理装置から取得された時刻を対応付けた前記ログデータを生成する
請求項１に記載の電子機器。
【請求項６】
前記制御手段は、さらに、前記情報処理装置において行われた前記所定の操作を表す情報を含む第１のログデータを生成するとき、前記第１のログデータに含めるものとして前記情報処理装置から取得した時刻と、前記第１のログデータの直近に前記メモリに記憶された第２のログデータに含まれる時刻に基づいて、前記所定の操作が正当な操作であるか否かを検証する
請求項５に記載の電子機器。
【請求項７】
前記制御手段は、前記情報処理装置とネットワークを介して接続される他の情報処理装置から時刻をさらに取得し、前記情報処理装置から取得した時刻と、前記他の情報処理装置から取得した時刻に基づいて、前記情報処理装置において行われた前記所定の操作が正当な操作であるか否かを検証する
請求項５に記載の電子機器。
【請求項８】
前記読み取り手段は、前記生体情報として指紋を読み取る
請求項１に記載の電子機器。
【請求項９】
メモリを内蔵し、情報処理装置に接続可能な電子機器の情報処理方法において、
生体情報を読み取り、
読み取った前記生体情報に基づいてユーザの認証を行い、
ユーザの認証結果を表す情報を認証が行われる毎に、または、ユーザの認証が成功した後に前記情報処理装置において行われる所定の操作の内容を表す情報を前記所定の操作が行われる毎に、前記情報処理装置の識別情報および時刻と対応付けてログデータを生成し、生成した前記ログデータを前記メモリに記憶させる
ステップを含む情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器、および情報処理方法に関し、特に、ユーザの認証結果または情報処理装置において行われる操作の内容を表す情報を含むログデータを、情報処理装置に接続される電子機器内のメモリに記憶させておくことができるようにした電子機器、および情報処理方法に関する。
【背景技術】
【０００２】
SOX(Sarbanes-oxley)法への対応を取り入れたとき、企業には、財務報告の透明性を確保するために業務プロセスなどを文書化することが求められる。従って、いつ、誰が、何をしたか、といったことを表すログデータを、データの改ざんがされていない状態で保存しておくことが必要になる。
【０００３】
特許文献１には、サーバコンピュータにログインするクライアントコンピュータの数を制御する技術が開示されている。特許文献２には、主パスワードと複数の個別パスワードを登録しておき、主パスワードと個別パスワードを連動させる技術が開示されている。
【特許文献１】特開平１０−１９８６２２号公報
【特許文献２】特開平１１−５３３１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
そのようなログデータを、作業に用いられたパーソナルコンピュータに保存しておくものとした場合、パーソナルコンピュータは自由度の高い機器といえるから、悪意のある者によっては、時刻の変更など、ログデータの改ざんを比較的容易に行うことができ、改ざんがされていない状態でログデータを保存しておくといったことを実現するのは難しい。
【０００５】
本発明はこのような状況に鑑みてなされたものであり、ユーザの認証結果または情報処理装置において行われる操作の内容を表す情報を含むログデータを、情報処理装置に接続される電子機器内のメモリに記憶させておくことができるようにするものである。
【課題を解決するための手段】
【０００６】
本発明の一側面の電子機器は、メモリを内蔵し、情報処理装置に接続可能な電子機器において、生体情報を読み取る読み取り手段と、前記読み取り手段により読み取られた前記生体情報に基づいてユーザの認証を行う認証手段と、前記認証手段によるユーザの認証結果を表す情報を認証が行われる毎に、または、ユーザの認証が成功した後に前記情報処理装置において行われる所定の操作の内容を表す情報を前記所定の操作が行われる毎に、前記情報処理装置の識別情報および時刻と対応付けてログデータを生成し、生成した前記ログデータを前記メモリに記憶させる制御手段とを備える。
【０００７】
前記制御手段には、前記メモリに記憶されている秘密鍵を用いて得られた署名データを含む前記ログデータを生成させることができる。
【０００８】
前記メモリの記憶領域は、前記情報処理装置からアクセスすることのできない第１の領域と、ユーザの認証が成功することに応じて、外部の記憶媒体として前記情報処理装置からアクセスすることができるようになる第２の領域からなるようにすることができる。この場合、前記制御手段には、前記ログデータを前記第１の領域に記憶させることができる。
【０００９】
タイマをさらに設けることができる。この場合、前記制御手段には、前記タイマによって計測された時刻を対応付けた前記ログデータを生成させることができる。
【００１０】
前記制御手段には、前記情報処理装置から取得された時刻を対応付けた前記ログデータを生成させることができる。
【００１１】
前記制御手段には、さらに、前記情報処理装置において行われた前記所定の操作を表す情報を含む第１のログデータを生成するとき、前記第１のログデータに含めるものとして前記情報処理装置から取得した時刻と、前記第１のログデータの直近に前記メモリに記憶された第２のログデータに含まれる時刻に基づいて、前記所定の操作が正当な操作であるか否かを検証させることができる。
【００１２】
前記制御手段には、前記情報処理装置とネットワークを介して接続される他の情報処理装置から時刻をさらに取得し、前記情報処理装置から取得した時刻と、前記他の情報処理装置から取得した時刻に基づいて、前記情報処理装置において行われた前記所定の操作が正当な操作であるか否かを検証させることができる。
【００１３】
前記読み取り手段には、前記生体情報として指紋を読み取らせることができる。
【００１４】
本発明の一側面の情報処理方法は、メモリを内蔵し、情報処理装置に接続可能な電子機器の情報処理方法において、生体情報を読み取り、読み取った前記生体情報に基づいてユーザの認証を行い、ユーザの認証結果を表す情報を認証が行われる毎に、または、ユーザの認証が成功した後に前記情報処理装置において行われる所定の操作の内容を表す情報を前記所定の操作が行われる毎に、前記情報処理装置の識別情報および時刻と対応付けてログデータを生成し、生成した前記ログデータを前記メモリに記憶させるステップを含む。
【００１５】
本発明の一側面においては、生体情報が読み取られ、読み取られた前記生体情報に基づいてユーザの認証が行われる。また、ユーザの認証結果を表す情報が認証が行われる毎に、または、ユーザの認証が成功した後に前記情報処理装置において行われる所定の操作の内容を表す情報が前記所定の操作が行われる毎に、前記情報処理装置の識別情報および時刻と対応付けられてログデータが生成され、生成された前記ログデータが前記メモリに記憶される。
【発明の効果】
【００１６】
本発明の一側面によれば、ユーザの認証結果または情報処理装置において行われる操作の内容を表す情報を含むログデータを、情報処理装置に接続される電子機器内のメモリに記憶させておくことができる。
【発明を実施するための最良の形態】
【００１７】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。従って、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外には対応しないものであることを意味するものでもない。
【００１８】
本発明の一側面の電子機器（例えば、図１の指紋照合機能付きUFD１）は、メモリを内蔵し、情報処理装置に接続可能な電子機器において、生体情報を読み取る読み取り手段（例えば、図１の指紋センサ１１）と、前記読み取り手段により読み取られた前記生体情報に基づいてユーザの認証を行う認証手段（例えば、図２の指紋照合エンジン３７）と、前記認証手段によるユーザの認証結果を表す情報を認証が行われる毎に、または、ユーザの認証が成功した後に前記情報処理装置において行われる所定の操作の内容を表す情報を前記所定の操作が行われる毎に、前記情報処理装置の識別情報および時刻と対応付けてログデータを生成し、生成した前記ログデータを前記メモリに記憶させる制御手段（例えば、図２のCPU３３）とを備える。
【００１９】
本発明の一側面の情報処理方法は、メモリを内蔵し、情報処理装置に接続可能な電子機器の情報処理方法において、生体情報を読み取り、読み取った前記生体情報に基づいてユーザの認証を行い、ユーザの認証結果を表す情報を認証が行われる毎に、または、ユーザの認証が成功した後に前記情報処理装置において行われる所定の操作の内容を表す情報を前記所定の操作が行われる毎に、前記情報処理装置の識別情報および時刻と対応付けてログデータを生成し、生成した前記ログデータを前記メモリに記憶させるステップ（例えば、図７のステップＳ１６）を含む。
【００２０】
以下、本発明の実施の形態について図を参照して説明する。
【００２１】
図１は、本発明の一実施形態に係る指紋照合機能付きUFD(USB Flash Disk)１の外観の例を示す図である。
【００２２】
指紋照合機能付きUFD１（以下、単にUFD１という）は箱形の筐体からなり、筐体の側面に設けられるUSB端子１Ａが差し込まれることによって、USB端子が設けられるパーソナルコンピュータなどに接続される。
【００２３】
UFD１にはフラッシュメモリが内蔵されており、ユーザは、UFD１をパーソナルコンピュータに差し込み、UFD１を外部の記憶媒体としてパーソナルコンピュータに認識させることによって、パーソナルコンピュータを用いて作成した各種のデータをUFD１に記憶させておくことができる。
【００２４】
UFD１の筐体表面には指紋センサ１１が露出して設けられている。ユーザは、UFD１をパーソナルコンピュータの外部の記憶媒体として用いるとき、UFD１をパーソナルコンピュータに差し込んだ状態で１本の指の腹を指紋センサ１１にあて、指紋の照合を行わせる必要がある。指紋センサ１１により読み取られたユーザの指紋のデータは、ユーザによってあらかじめ登録され、UFD１内に記憶されている指紋のデータとUFD１によって照合され、それらが一致したとき、UFD１に対してパーソナルコンピュータからデータを記憶させたり、UFD１に記憶されているデータをパーソナルコンピュータから読み出したりすることが可能となる。
【００２５】
このような指紋によるユーザの認証機能は、パーソナルコンピュータに搭載されているOS(Operating System)のログオン（ログイン）の際の認証などにも利用される。例えば、UFD１を接続させた状態でユーザがパーソナルコンピュータの電源を入れたとき、指紋によるユーザの認証を行うことを指示するコマンドがパーソナルコンピュータからUFD１に送信され、UFD１により認証が行われる。指紋による認証が成功したとき、UFD１からパーソナルコンピュータにそのことが通知され、OSのログオンがパーソナルコンピュータにおいて行われる。
【００２６】
これにより、パーソナルコンピュータにあらかじめ登録しておいたパスワードと同じパスワードをパーソナルコンピュータに設けられるキーボードを用いて入力し、ログオンを行う場合に較べて、不正なログオンが行われることを防ぐことができ、セキュリティの高いユーザ認証を実現することができる。パスワードによってログオンを行う場合、パーソナルコンピュータにインストールされたスパイウエアなどによってパスワードが漏洩してしまうといった心配があるが、ユーザの認証がUFD１により行われるようにすることによってそのような心配をなくすことができる。
【００２７】
また、UFD１には、指紋によるユーザの認証結果、または、ユーザの認証が成功した後にUFD１が接続されたパーソナルコンピュータを用いて行われた操作の内容を表すログデータをUFD１内のフラッシュメモリに保存する機能が設けられている。ログデータには、そのようなユーザの認証結果、パーソナルコンピュータを用いて行われた操作の内容を表すデータの他に、UFD１が接続されているパーソナルコンピュータの識別情報や、UFD１に内蔵される、バッテリ付きのタイマが管理する時刻情報なども含まれる。
【００２８】
ログデータは、パーソナルコンピュータを用いてユーザが作成した各種のデータとは異なり、指紋による認証が成功したとしてもパーソナルコンピュータからアクセスすることのできない領域に記憶されるようになされている。
【００２９】
従って、いつ、誰が、何をしたか、といったことを表すログデータを、データの改ざんがされていない状態で保存しておくことが可能となる。例えば、パーソナルコンピュータのHDD(Hard Disk Drive)にログデータを保存しておくとした場合、その改ざんは比較的容易に行うことが可能であるが、UFD１のフラッシュメモリに形成される、パーソナルコンピュータからアクセスすることのできない領域にログデータが保存されるようにすることにより、そのような不正な操作が行われることを防ぐことができる。
【００３０】
また、パーソナルコンピュータによってログデータが生成されるとした場合、パーソナルコンピュータ内のタイマの時刻が変更されたときには、パーソナルコンピュータを用いてユーザが実際に作業を行ったときの時刻と異なる時刻を含むログデータが保存されてしまうことになるが、ログデータに含まれる時刻としてUFD１内のタイマの時刻が用いられることにより、そのような不正な操作が行われることも防ぐことができる。
【００３１】
図２は、UFD１のハードウエア構成例を示すブロック図である。図１に示される構成と同じ構成には同じ符号を付してある。
【００３２】
図２に示されるように、UFD１は、基本的に、コントローラLSI(Large Scale Integrated Circuit)２１に対して指紋センサ１１、フラッシュメモリ２２、水晶発振子２３、およびタイマLSI２４が接続されることによって構成される。タイマLSI２４にはバッテリ２５が接続される。
【００３３】
コントローラLSI２１は、USB I/F(Interface)３１、タイマI/F３２、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３１は、UFD１が接続される外部の情報処理装置であるホストPC２とUSB規格に従って通信を行う。USB I/F３１は、ホストPC２から送信されてきたデータを受信し、受信したデータをバス４０に出力する。バス４０に出力されたデータは、例えば、暗号エンジン３４により暗号化された後、フラッシュメモリI/F３９に供給され、フラッシュメモリ２２に記憶される。
【００３５】
また、USB I/F３１は、フラッシュメモリ２２からフラッシュメモリI/F３９により読み出され、暗号エンジン３４により復号されたデータがバス４０を介して供給されたとき、それをホストPC２に送信する。
【００３６】
タイマI/F３２は、タイマLSI２４から出力される時刻情報を受信し、受信した時刻情報をバス４０に出力する。バス４０に出力された時刻情報はCPU３３に供給され、ログデータを生成するのに用いられる。
【００３７】
CPU３３は、プログラム用RAM/ROM３６に記憶されているプログラムを実行し、UFD１の全体の動作を制御する。
【００３８】
例えば、CPU３３は、指紋による認証が行われる毎に、認証の結果、時刻、ホストPC２のIDを対応付けることによってログデータを生成し、生成したログデータをフラッシュメモリ２２に記憶させる。また、CPU３３は、ホストPC２に搭載されるOSのログオンが行われるなど、ユーザの認証が成功した後にホストPC２において所定の操作が行われる毎に、操作の内容、時刻、ホストPC２のIDを対応付けることによってログデータを生成し、生成したログデータをフラッシュメモリ２２に記憶させる。これらのログデータには、暗号エンジン３４により生成されたサインデータ（署名データ）も含まれる。
【００３９】
CPU３３は、ホストPC２によるフラッシュメモリ２２に対するアクセスを制御し、指紋による認証が成功したことが指紋照合エンジン３７から通知されたとき、フラッシュメモリ２２に対するアクセスを許可することなども行う。
【００４０】
図３は、ログデータのフォーマットの例を示す図である。
【００４１】
図３に示されるように、１つのログデータは、「時刻」、「操作」、「ホストPCのID」、および「UFD所有者のサインデータ」の各データから構成される。
【００４２】
「時刻」は、ログデータの生成時刻を表す。指紋による認証が行われる毎に、あるいは所定の操作がホストPC２上において行われる毎にログデータが生成されるから、ログデータに含まれる「時刻」は、指紋による認証が行われた時刻、あるいは、所定の操作がホストPC２上において行われた時刻をも表す。例えば、何年何月何日何時何分何秒までの時刻がログデータに含まれる。
【００４３】
「操作」は、指紋による認証結果や、ホストPC２などの、UFD１が接続されるパーソナルコンピュータ上において行われた操作の内容を表す。図３に示されるように、例えば、指紋による認証が成功したのか失敗したのかを表す情報（OK／NG）の他に、パーソナルコンピュータに搭載されるOSのログオンが行われたこと、パーソナルコンピュータのロック状態（スクリーンセーバが表示されている状態）が解除されたこと、パーソナルコンピュータにおいて起動されたアプリケーションプログラムの名前、デジタルサインの生成が行われたこと、Web上のサーバによる認証が行われたこと、パーソナルコンピュータによって指定された他の操作が行われたこと、を表す情報がログデータに含まれる。
【００４４】
ユーザは、UFD１を、データを生成したユーザが誰であるのかを証明するためのいわゆるデジタルサインを生成する装置として、あるいは、Web上のサーバにログオンするときのユーザの認証を行う装置としても利用することができる。例えば、UFD１を接続したパーソナルコンピュータを用いてデータを生成し、それにデジタルサインを付加することをユーザが指示したとき、ユーザによって生成されたオリジナルデータにハッシュ関数を適用して求められたハッシュ値を秘密鍵で暗号化して得られたデータであるサインデータがUFD１により生成され、オリジナルデータに付加される。
【００４５】
「ホストPCのID」は、ログデータの生成が行われたときにUFD１が接続されているパーソナルコンピュータを表す。例えば、ログデータを生成し、内容を記録しておくような操作がホストPC２上で行われたとき、ログデータを生成することを指示するコマンドとともにホストPC２のシリアル番号などのIDがホストPC２からUFD１に送信され、IDがログデータに含まれる。
【００４６】
「UFD所有者のサインデータ」は、「時刻」、「操作」、「ホストPCのID」のデータ全体にハッシュ関数を適用して得られたハッシュ値を秘密鍵によって暗号化したデータである。このサインデータは暗号エンジン３４により生成される。
【００４７】
図２の説明に戻り、暗号エンジン３４は、ホストPC２から送信された書き込みの対象とするデータがバス４０を介して供給されたとき、そのデータをEEPROM３５に記憶されている暗号鍵を用いて暗号化し、暗号化して得られたデータをフラッシュメモリI/F３９に出力する。
【００４８】
また、暗号エンジン３４は、フラッシュメモリ２２に記憶されているデータがフラッシュメモリI/F３９により読み出され、読み出されたデータが供給されたとき、供給されたデータに施されている暗号をEEPROM３５に記憶されている暗号鍵を用いて復号し、復号して得られたデータをUSB I/F３１に出力して、ホストPC２に送信させる。
【００４９】
さらに、暗号エンジン３４は、ログデータに含まれるサインデータを生成し、生成したサインデータをバス４０を介してCPU３３に出力する。
【００５０】
例えば、暗号エンジン３４は、ログデータに含めるものとしてCPU３３により生成された時刻、認証結果を表す情報、操作の内容を表す情報、ホストPC２のIDの全体に対してハッシュ関数を適用して求められたハッシュ値を秘密鍵を用いて暗号化することによってサインデータを生成する。秘密鍵は、EEPROM３５に記憶されている暗号鍵によって暗号化された状態でフラッシュメモリ２２に記憶されており、暗号エンジン３４は、フラッシュメモリ２２から読み出した秘密鍵をEEPROM３５に記憶されている暗号鍵を用いて復号し、復号して得られた秘密鍵を用いてサインデータを生成する。
【００５１】
暗号エンジン３４においては、ログデータをサーバに送信するとき、サーバから提供された公開鍵を用いてログデータを暗号化することも行われる。このように、UFD１にはPKI(Public Key Infrastructure)を実現するために用いられる秘密鍵や公開鍵、または、データの暗号化、復号に用いられる暗号鍵などが記憶されており、UFD１はハードウェアトークンとしての機能も有している。
【００５２】
EEPROM３５は、RSA、AES(Advanced Encryption Standard)、DES(Data Encryption Standard)などの暗号鍵を記憶する。EEPROM３５に記憶されている暗号鍵は暗号エンジン３４により適宜読み出され、データの暗号化、または暗号化されているデータの復号に用いられる。EEPROM３５に記憶される暗号鍵は、例えば、ユーザにより指紋の登録が行われたとき、登録された指紋のデータの一部と、EEPROM３５にあらかじめ記憶されているデータとを用いて生成される。
【００５３】
プログラム用RAM/ROM３６は、CPU３３により実行されるプログラムの他、CPU３３が各種の処理を実行する上で必要な各種のデータを記憶する。
【００５４】
指紋照合エンジン３７は、指紋センサ１１から供給されたRF信号に基づいて指紋を読み取り、読み取った指紋の照合を行う。
【００５５】
例えば、指紋照合エンジン３７は、指紋センサ１１に設定された複数の比較的狭い範囲において指紋が読み取られることによって出力されるRF信号の信号レベルの積算値が閾値を超えたとき、指紋センサ１１に指が置かれたと判断し、指紋の読み取りを開始する。
【００５６】
また、指紋照合エンジン３７は、指紋センサ１１からの出力に基づいて読み取った指紋を照合対象の指紋とし、フラッシュメモリ２２に記憶されている指紋テンプレートを用いて特徴の照合を行う。指紋照合エンジン３７は、照合対象の指紋の特徴と、指紋テンプレートにより表される特徴が一致する場合、指紋センサ１１に指を置いたユーザが正当なユーザであると判定し、指紋による認証が成功したことをCPU３３に通知する。
【００５７】
指紋テンプレートも秘密鍵と同様、EEPROM３５に記憶されている暗号鍵によって暗号化された状態でフラッシュメモリ２２に記憶されている。指紋の照合を行うとき、指紋照合エンジン３７に対しては、暗号鍵を用いて暗号エンジン３４により復号された指紋テンプレートが供給される。
【００５８】
PLL３８は、水晶発振子２３から供給されたクロックに基づいてコントローラLSI２１内の各部が動作するのに必要なクロックを生成し、生成したクロックを各部に供給する。
【００５９】
フラッシュメモリI/F３９は、フラッシュメモリ２２に対するデータの書き込み、またはフラッシュメモリ２２に記憶されているデータの読み出しを制御する。
【００６０】
例えば、フラッシュメモリI/F３９は、暗号エンジン３４により暗号化され、バス４０を介して供給されたデータ、または、CPU３３により生成され、バス４０を介して供給されたログデータをフラッシュメモリ２２に記憶させる。また、フラッシュメモリI/F３９は、暗号化された状態でフラッシュメモリ２２に記憶されているデータを読み出し、読み出したデータをバス４０を介して暗号エンジン３４に出力する。
【００６１】
フラッシュメモリ２２は、LSI２１のフラッシュメモリI/F３９による制御に従って各種のデータを記憶する。
【００６２】
図４は、フラッシュメモリ２２に形成される領域の例を示す図である。
【００６３】
図４に示されるように、フラッシュメモリ２２の記憶領域全体は領域Ａ1と領域Ａ2に分けられる。
【００６４】
領域Ａ1には、EEPROM３５に記憶されている暗号鍵を用いて暗号化された指紋テンプレート、秘密鍵が記憶（保存）される。この領域Ａ1は、指紋による認証が成功した後であっても、記憶されているデータに関する情報がUFD１からホストPC２に通知されず、ホストPC２からはアクセスすることができない領域とされる。領域Ａ1には、CPU３３により生成されたログデータも記憶される。
【００６５】
一方、領域Ａ2には、EEPROM３５に記憶されている暗号鍵を用いて暗号化されたデータが記憶される。指紋による認証が成功した後、領域Ａ2はホストPC２からアクセス可能な領域となり、ホストPC２からデータを記憶させたり、そこに記憶されているデータをホストPC２が読み出したりすることが可能となる。
【００６６】
領域Ａ2にデータを記憶させるときのデータの暗号化、領域Ａ2に暗号化された状態で記憶されているデータを読み出すときのデータの復号は、ホストPC２から送信されてくるコマンドに応じてUFD１内で自動的に行われるから、データの読み書きに際して、ホストPC２が暗号処理を意識する必要はない。
【００６７】
図２の説明に戻り、水晶発振子２３は所定の周波数のクロックをPLL３８に出力する。
【００６８】
タイマLSI２４は、バッテリ２５から供給される電力に基づいて動作し、時刻を管理する。タイマLSI２４により管理される時刻は、バス４０、タイマI/F３２を介してCPU３３により適宜読み出される。バッテリ２５として大容量コンデンサが用いられ、UFD１がホストPC２に接続されているときにホストPC２から供給される電力によってコンデンサの充電が行われるようにしてもよい。
【００６９】
図５は、ホストPC２のハードウエア構成例を示すブロック図である。
【００７０】
CPU６１は、ROM６２に記憶されているプログラム、または、記憶部６８からRAM６３にロードされたプログラムに従って各種の処理を実行する。RAM６３にはまた、CPU６１が各種の処理を実行する上において必要なデータなどが適宜記憶される。
【００７１】
CPU６１、ROM６２、およびRAM６３は、バス６４を介して相互に接続されている。このバス６４にはまた、入出力インタフェース６５も接続されている。
【００７２】
入出力インタフェース６５には、キーボード、マウスなどよりなる入力部６６、CRT(Cathode Ray Tube)，LCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部６７、ハードディスクなどより構成される記憶部６８、ネットワーク端子などから構成される通信部６９が接続されている。通信部６９は、ネットワークを介して様々な機器と通信を行う。
【００７３】
入出力インタフェース６５にはUSB I/F７０も接続される。USB I/F７０は、ホストPC２の筐体に設けられるUSB端子に差し込まれたUFD１との間で通信を行う。
【００７４】
入出力インタフェース６５にはまた、必要に応じてドライブ７１が接続され、磁気ディスク、光ディスク、光磁気ディスク、メモリカードなどよりなるリムーバブルメディア７２が適宜装着される。リムーバブルメディア７２から読み出されたコンピュータプログラムが、必要に応じて記憶部６８にインストールされる。
【００７５】
ここで、以上のような構成を有するUFD１とホストPC２の処理について説明する。ここでは、UFD１がホストPC２に接続されている場合の処理について説明するが、UFD１が他のパーソナルコンピュータに接続されているときにも、UFD１とそのパーソナルコンピュータの間では同様の処理が行われる。
【００７６】
はじめに、図６のフローチャートを参照して、指紋を登録するUFD１の処理について説明する。
【００７７】
この処理は、UFD１が接続されるホストPC２を操作するなどして、指紋の登録を行うことがユーザにより指示されたときに開始される。ユーザによる指示が行われたとき、指紋の登録を開始することを指示するコマンドがホストPC２からUFD１に送信される。
【００７８】
ステップＳ１において、指紋照合エンジン３７は、指紋センサ１１に指が置かれたか否かを判定し、指が置かれたと判定するまで待機する。
【００７９】
ステップＳ１において指が置かれたと判定した場合、ステップＳ２において、指紋照合エンジン３７は、指紋センサ１１から供給されたRF信号を指紋読み取りデータとして取り込む。
【００８０】
ステップＳ３において、指紋照合エンジン３７は、指紋センサ１１により読み取られた指紋の特徴を表すデータを指紋テンプレートとして取り出す。指紋照合エンジン３７により取り出された指紋テンプレートはバス４０を介して暗号エンジン３４に出力される。
【００８１】
ステップＳ４において、暗号エンジン３４は、EEPROM３５に記憶されている暗号鍵を用いて指紋テンプレートを暗号化し、暗号化した指紋テンプレートをフラッシュメモリI/F３９に出力してフラッシュメモリ２２の領域Ａ1（図４）に記憶させる。指紋テンプレートは、暗号鍵を用いて暗号化された後、フラッシュメモリ２２ではなくEEPROM３５に記憶されるようにしてもよい。
【００８２】
次に、図７のフローチャートを参照して、ユーザの認証を行うUFD１の処理について説明する。
【００８３】
この処理は、例えば、UFD１のフラッシュメモリ２２を外部の記憶媒体とし、ホストPC２を用いて作成したデータをフラッシュメモリ２２に記憶させる前などの所定のタイミングで開始される。上述したように、UFD１のフラッシュメモリ２２を外部の記憶媒体として用いるとき、ユーザは、指紋による認証を行う必要がある。
【００８４】
ステップＳ１１において、指紋照合エンジン３７は、指紋センサ１１に指が置かれたか否かを判定し、指が置かれたと判定するまで待機する。
【００８５】
ステップＳ１１において指が置かれたと判定した場合、指紋照合エンジン３７は、ステップＳ１２において、指紋センサ１１から供給されたRF信号に基づいて指紋読み取りデータを取り込む。
【００８６】
ステップＳ１３において、指紋照合エンジン３７は、指紋読み取りデータによって表される指紋を照合対象の指紋とし、照合対象の指紋から抽出した特徴と、EEPROM３５に記憶されている暗号鍵によって復号され、暗号エンジン３４から供給された指紋テンプレートにより表される特徴との照合を行う。
【００８７】
指紋照合エンジン３７は、ステップＳ１４において、指紋の特徴の照合結果に基づいて、認証が成功したか否かを判定する。認証が成功したか否かの判定結果はCPU３３に通知される。
【００８８】
照合対象の指紋から抽出した特徴と、指紋テンプレートにより表される特徴が一致しないことから認証が失敗したとステップＳ１４において判定された場合、ステップＳ１５において、CPU３３は、認証が失敗したことを表す情報が「操作」として含まれる図３に示されるようなフォーマットのログデータを生成する。生成されたログデータはフラッシュメモリI/F３９に供給され、フラッシュメモリ２２に記憶される。
【００８９】
一方、認証が成功したとステップＳ１４において判定された場合、ステップＳ１６において、CPU３３は、認証が成功したことを表す情報が「操作」として含まれる図３に示されるようなフォーマットのログデータを生成する。認証に用いられた指がユーザのどの指であるのかを表す情報がログデータに含まれるようにしてもよい。
【００９０】
ステップＳ１７において、CPU３３は、認証が成功したことを表す認証フラグをオンとし、処理を終了させる。その後、CPU３３は、フラッシュメモリ２２の領域Ａ2にアクセスすることをホストPC２に許可し、ホストPC２から供給されたデータの書き込み、ホストPC２から指定されたデータの読み出しを制御する。
【００９１】
次に、図８のフローチャートを参照して、OSのログオン時のUFD１とホストPC２の処理について説明する。
【００９２】
この処理は、UFD１を接続させた状態で、ホストPC２の電源を入れるなどしてユーザがOSを起動させたときに開始される。
【００９３】
ステップＳ２１において、ホストPC２のCPU６１はログオン待ちの状態となる。このとき、ホストPC２においては、UFD１にコマンドを送信するアプリケーションプログラムが起動する。
【００９４】
ステップＳ２２において、CPU６１は、USB I/F７０を制御し、指紋によるユーザの認証を行うことを指示するコマンドをUFD１に送信する。このコマンドにはOSのログオンIDが付加され、コマンドと同時に送信される。
【００９５】
ステップＳ３１において、UFD１のCPU３３は、ホストPC２から送信されてきたコマンドをUSB I/F３１を制御して受信し、ユーザによって指が置かれるのを待つ、認証待ちの状態とする。
【００９６】
ステップＳ３２において、指紋照合エンジン３７は、図７を参照して説明したようにして指紋の認証を行い、認証が成功した場合、そのことをCPU３３に通知する。
【００９７】
ステップＳ３３において、CPU３３は、ログオンが行われたことを表す情報が「操作」として含まれる図３に示されるようなフォーマットのログデータを生成する。
【００９８】
ステップＳ３４において、CPU３３は、生成したログデータをフラッシュメモリI/F３９に出力し、フラッシュメモリ２２の領域Ａ1に記憶させる。
【００９９】
ステップＳ３５において、CPU３３は、指紋によるユーザの認証が成功したことをホストPC２に通知し、処理を終了させる。
【０１００】
ステップＳ２３において、ホストPC２のCPU６１は、UFD１からの通知をUSB I/F７０を制御して受信し、処理を終了させる。その後、ホストPC２においてはOSのログオンが行われ、各種の処理が行われる。
【０１０１】
図９は、図８の処理が行われることによりUFD１により生成され、記憶されるログデータの例を示す図である。
【０１０２】
図９の例においては、「時刻」として「２００６年１１月２０日１３時０１分３０秒」が記録され、「操作」としてログオンが行われたことを表す情報が記録されている。このログデータには、ホストPC２のIDと、サインデータも記録されている。
【０１０３】
他の処理がホストPC２上において行われたときも同様にしてログデータが生成され、UFD１に記憶される。
【０１０４】
例えば、ロック状態が解除されたとき、ホストPC２からUFD１にそのことが通知され、「操作」としてロック状態が解除されたことを表す情報が記録されたログデータが生成される。また、ユーザによる操作などに応じて、ホストPC２において所定のアプリケーションが起動したとき、ホストPC２からUFD１にそのことが通知され、「操作」として、起動したアプリケーションの名前を表す情報が記録されたログデータが生成される。
【０１０５】
このように、指紋照合機能、ストレージ機能、および、暗号機能（対称鍵と非対称鍵の両方の暗号機能）をあわせ持ったハードウェアトークンにタイマ機能を付加することで、UFD１を差し込んだパーソナルコンピュータを用いて行ったユーザの操作の記録を、時刻や、そのパーソナルコンピュータのIDなどと対応付けて保存することが可能となる。いずれの機能が欠けても、このようにしてログデータをUFD１に記憶させておくことはできなくなる。
【０１０６】
また、UFD１が接続されているパーソナルコンピュータを用いて行われた操作などを表すログデータがUFD１、しかもパーソナルコンピュータからアクセスすることのできない領域に記憶されるようにしたため、ログデータがパーソナルコンピュータのHDDに記憶される場合に較べて、改ざんなどの不正な操作が行われることを防ぐことができる。
【０１０７】
ログデータが記憶されたUFD１は、例えば管理者により適宜回収され、UFD１に記憶されているログデータに基づいて、不正な操作が行われていないかどうかがチェックされる。
【０１０８】
以上においては、ホストPC２上において所定の操作が行われたとき、単にログデータが記憶されるものとしたが、行われた操作が正当な操作であるか否かがUFD１により検証されるようにしてもよい。
【０１０９】
例えば、OSのログオンが行われることによって図９に示されるようなログデータを生成するとき、UFD１においては、そのログオンが正当な操作であるか否かの検証が、ログデータに含まれる時刻と、先に生成され、フラッシュメモリ２２に記憶されている直近のログデータに含まれる時刻に基づいて行われる。
【０１１０】
具体的には、新たに生成するログデータに含まれる時刻が、直近のログデータに含まれる時刻より前の時刻である場合や、新たに生成するログデータに含まれる時刻と直近のログデータに含まれる時刻の差が所定の時間以上離れている場合、今回行われたログオンが不正なログオンであると判断され、不正なログオンが行われたことを表すデータがログデータに付加され、UFD１に記憶される。これにより、管理者は不正な操作をログデータから容易に見つけることができる。
【０１１１】
不正な操作が行われたと判断された場合、そのことを表すデータがログデータに付加されるだけでなく、初期化などの所定の操作を管理者が行うまで、UFD１が使用不可の状態となるようにしてもよい。
【０１１２】
以上のようにしてログデータが記憶される場合、UFD１に内蔵されるフラッシュメモリ２２の記憶容量は有限であるから、空き領域がなくなり、ログデータを記憶させることができなくなるといった状態になることがある。このような状態になった場合、例えば、あらかじめ指定された、ログデータを一元管理するサーバにUFD１からログデータが送信され、フラッシュメモリ２２の空き領域が確保されるようにしてもよい。
【０１１３】
図１０は、ログデータの管理システムの構成例を示す図である。
【０１１４】
図１０に示されるように、この管理システムは、ホストPC２とサーバ８１がネットワーク８２を介して接続されることによって構成される。白抜き矢印に示されるように、UFD１はホストPC２に接続される。図１０の例においては、ログデータを記憶するUFDと、UFDが接続されるパーソナルコンピュータが１つずつ示されているが、それぞれ複数設けられるようにしてもよい。
【０１１５】
サーバ８１はログデータを一元管理する装置であり、図５に示されるホストPC２の構成と基本的に同様の構成を有する。以下、適宜、図５に示されるホストPC２の構成をサーバ８１の構成として引用して説明する。
【０１１６】
サーバ８１は、ホストPC２によりUFD１から読み出され、ホストPC２からネットワーク８２を介して送信されてきたログデータを受信し、管理する。ログデータは、PKIによる鍵データの交換がUFD１とサーバ８１の間で行われた後、UFD１とサーバ８１の双方が有することになった共通の暗号鍵を用いて暗号化された状態で送受信される。
【０１１７】
ここで、図１１のフローチャートを参照して、UFD１とサーバ８１により行われる鍵データの交換処理について説明する。
【０１１８】
この処理は、例えば、鍵データの交換を開始することを指示するコマンドがサーバ８１から送信され、ホストPC２を介してUFD１のCPU３３により受信されたときに開始される。なお、図１１にはUFD１とサーバ８１の処理だけが示されているが、UFD１とサーバ８１の間のデータの送受信はホストPC２を介して行われる。
【０１１９】
ステップＳ４１において、UFD１の暗号エンジン３４はPKIキーUKdを生成する。例えば、所定の桁数の乱数がPKIキーUKdとして生成される。PKIキーUKdに対応する秘密鍵UKeはEEPROM３５などに記憶されている。ここでは、PKIキーUKdがUFD１内で生成されるものとしているが、ホストPC２などの、UFD１の外部の装置によって生成されるようにしてもよい。
【０１２０】
一方、ステップＳ５１において、サーバ８１のCPU６１（図５）はPKIキーSKdを生成する。PKIキーSKdに対応する秘密鍵SKeは記憶部６８などに記憶されている。
【０１２１】
ステップＳ４２において、UFD１のCPU３３は、USB I/F３１を制御してPKIキーUKdをホストPC２に出力し、PKIキーUKdをサーバ８１に送信させる。
【０１２２】
ステップＳ５２において、サーバ８１のCPU６１は、ホストPC２を介してUFD１から送信されてきたPKIキーUKdを通信部６９を制御して受信する。
【０１２３】
ステップＳ５３において、CPU６１は、通信部６９を制御してPKIキーSKdをUFD１に送信する。サーバ８１から送信されたPKIキーSKdはホストPC２により受信され、ホストPC２からUFD１に出力される。
【０１２４】
ステップＳ４３において、UFD１のCPU３３は、サーバ８１から送信されてきたPKIキーSKdを受信し、処理を終了させる。これにより、UFD１とサーバ８１の間で鍵データの交換が行われた状態になる。
【０１２５】
次に、図１２のフローチャートを参照して、UFD１とサーバ８１により行われるログデータの送受信処理について説明する。
【０１２６】
この処理は、図１１の処理が行われ、UFD１とサーバ８１の間で鍵データの交換が行われた後に開始される。
【０１２７】
ステップＳ７１において、サーバ８１のCPU６１は乱数Ｒを生成する。
【０１２８】
ステップＳ７２において、CPU６１は、生成した乱数ＲをUFD１から提供されたPKIキーUKdを用いて暗号化し、暗号化した乱数Ｒ（Ｒ（UKd））をUFD１に送信する。
【０１２９】
ステップＳ６１において、UFD１のCPU３３は、サーバ８１から送信されてきた、暗号化された状態の乱数Ｒを受信する。CPU３３により受信された乱数Ｒは暗号エンジン３４に供給される。
【０１３０】
ステップＳ６２において、暗号エンジン３４は、CPU３３から供給されたデータを秘密鍵UKeを用いて復号し、乱数Ｒを読み出す。
【０１３１】
ステップＳ６３において、暗号エンジン３４は、読み出した乱数Ｒをサーバ８１から提供されたPKIキーSKdを用いて暗号化し、暗号化した乱数Ｒ（Ｒ（SKd））をサーバ８１に送信する。
【０１３２】
ステップＳ７３において、サーバ８１のCPU６１は、UFD１から送信されてきた、暗号化された状態の乱数Ｒを受信する。CPU６１は、受信したデータ（暗号化された状態の乱数Ｒ）を秘密鍵SKeを用いて復号することによって乱数Ｒを読み出し、読み出した乱数Ｒと、自分自身が生成した乱数Ｒが一致するか否かを確認する。
【０１３３】
UFD１から送信されてきたデータから読み出された乱数Ｒと自分自身が生成した乱数Ｒが一致することを確認した場合、ステップＳ７４において、CPU６１は、ログデータの読み出しを指示するコマンドを生成し、生成したコマンドをUFD１に送信する。
【０１３４】
ステップＳ６４において、UFD１のCPU３３は、サーバ８１から送信されてきたコマンドを受信する。コマンドを受信したCPU３３は、ログデータをフラッシュメモリ２２から読み出し、読み出したログデータを暗号エンジン３４に出力する。
【０１３５】
ステップＳ６５において、暗号エンジン３４は、フラッシュメモリ２２から読み出されたログデータを乱数Ｒを暗号鍵として暗号化し、暗号化したログデータをサーバ８１に送信する。
【０１３６】
ステップＳ７５において、サーバ８１のCPU６１は、暗号化された状態のログデータを受信する。
【０１３７】
ステップＳ７６において、CPU６１は、乱数Ｒを暗号鍵としてログデータを復号し、復号して得られたログデータを記憶部６８に記憶させる。
【０１３８】
ステップＳ６６において、UFD１のCPU３３は、フラッシュメモリ２２に記憶されているログデータを消去し、処理を終了させる。
【０１３９】
以上の処理により、セキュリティが確保された形で、UFD１に記憶されているログデータをサーバ８１に転送することができ、ログデータを記憶させる分の空き領域をUFD１のフラッシュメモリ２２に確保することができる。
【０１４０】
なお、以上のように、フラッシュメモリ２２の空き領域がなくなったときに送信されるのではなく、UFD１において生成される毎にログデータがサーバ８１に転送されるようにしてもよい。このように、ログデータの保存場所はUFD１の内部に限られない。
【０１４１】
以上においては、UFD１内にバッテリ付きのタイマ（タイマLSI２４）が内蔵され、内蔵のタイマの時刻がログデータの生成に用いられるものとしたが、UFD１が接続されているホストPC２や、サーバ８１が管理する時刻が用いられるようにしてもよい。
【０１４２】
図１３は、UFD１の他のハードウエア構成例を示すブロック図である。
【０１４３】
図１３に示される構成は、タイマLSI２４、バッテリ２５、およびタイマI/F３２が設けられていない点を除いて図２の構成と同じである。
【０１４４】
UFD１のCPU３３は、ログデータを生成するとき、USB I/F３１を制御してホストPC２から時刻を取得し、取得した時刻をログデータの生成に用いる。生成されたログデータは、内蔵のタイマが管理する時刻が用いられて生成されたログデータと同様に、フラッシュメモリ２２に記憶される。
【０１４５】
次に、図１４のフローチャートを参照して、図１３の構成を有するUFD１と、UFD１が接続されるホストPC２により行われる処理について説明する。
【０１４６】
ここでは、図８を参照して説明した場合と同様に、OSのログオン時の処理について説明する。図１４の処理は、基本的に、ホストPC２から時刻を取得する処理がさらに行われる点を除いて図８の処理と同じである。
【０１４７】
UFD１を接続させた状態で、ホストPC２の電源を入れるなどしてユーザがOSを起動させたとき、ステップＳ９１において、ホストPC２のCPU６１はログオン待ちの状態となる。      
【０１４８】
ステップＳ９２において、CPU６１は、指紋によるユーザの認証を行うことを指示するコマンドをUFD１に送信する。このコマンドにはOSのログオンIDが付加され、コマンドと同時に送信される。
【０１４９】
ステップＳ１０１において、UFD１のCPU３３は、ホストPC２から送信されてきたコマンドを受信し、ユーザによって指が置かれるのを待つ、認証待ちの状態とする。
【０１５０】
ステップＳ１０２において、指紋照合エンジン３７は指紋の認証を行い、認証が成功した場合、そのことをCPU３３に通知する。
【０１５１】
ステップＳ１０３において、CPU３３は、認証が成功したことをホストPC２に通知する。
【０１５２】
ステップＳ９３において、ホストPC２のCPU６１は、UFD１からの通知を受信する。
【０１５３】
ステップＳ９４において、CPU６１は、ホストPC２の内部で管理される時刻を確認し、確認した時刻をUFD１に通知する。
【０１５４】
ステップＳ１０４において、UFD１のCPU３３は、ホストPC２から通知された時刻を受信する。
【０１５５】
ステップＳ１０５において、CPU３３は、ログオンが行われたことを表す情報が「操作」として含まれる図３に示されるようなフォーマットのログデータを生成する。生成されるログデータには、ホストPC２から通知された時刻が含まれる。
【０１５６】
ステップＳ１０６において、CPU３３は、生成したログデータをフラッシュメモリI/F３９に出力し、フラッシュメモリ２２の領域Ａ1に記憶させる。その後、処理は終了される。
【０１５７】
ログデータの生成に用いられる時刻がホストPC２から取得されるようにすることにより、UFD１にタイマを用意する必要がなくなり、UFD１の製造コストを下げることができる。また、タイマが内蔵されていない、既存のUFD１にもログデータの生成機能をソフトウエア的に追加することができる。
【０１５８】
以上のようにしてホストPC２から取得される時刻をログデータの生成に用いる場合、ホストPC２の時刻が意図的に変更されたときには、操作が実際に行われた時刻とは異なる時刻を含むログデータが生成されるおそれがある。そこで、そのようなことを防ぐために、ログデータを生成するときに、ホストPC２からだけでなく、ネットワーク８２を介して接続される図１０のサーバ８１からも時刻が取得され、外部の複数の装置から取得された時刻がログデータに含まれるようにしてもよい。この場合、サーバ８１の時刻は不正に変更することができないようなものにされる。
【０１５９】
サーバ８１からの時刻の取得は、例えばホストPC２からサーバ８１にログオンするときに行われる。ホストPC２からサーバ８１にログオンするときも、ホストPC２に接続されるUFD１が有するユーザの認証機能が用いられる。UFD１において認証が成功したとき、そのことがUFD１からホストPC２に通知され、ログオンの要求がホストPC２からサーバ８１に送信される。
【０１６０】
ここで、図１５のフローチャートを参照して、サーバ８１にログオンするときのUFD１、ホストPC２、サーバ８１の処理について説明する。
【０１６１】
この処理は、例えば、UFD１を接続させた状態でホストPC２の電源を入れたときに開始される。
【０１６２】
ステップＳ１２１において、ホストPC２のCPU６１はログオン待ちの状態となる。
【０１６３】
ステップＳ１２２において、ホストPC２のCPU６１は、指紋によるユーザの認証を行うことを指示するコマンドをUFD１に送信する。
【０１６４】
ステップＳ１３１において、UFD１のCPU３３は、ホストPC２から送信されてきたコマンドを受信し、ユーザによって指が置かれるのを待つ、認証待ちの状態とする。
【０１６５】
ステップＳ１３２において、指紋照合エンジン３７は指紋の認証を行い、認証が成功した場合、そのことをCPU３３に通知する。
【０１６６】
ステップＳ１３３において、CPU３３は、認証が成功したことをホストPC２に通知する。
【０１６７】
ステップＳ１２３において、ホストPC２のCPU６１は、UFD１からの通知を受信する。
【０１６８】
ステップＳ１２４において、ホストPC２のCPU６１は、サーバ８１に対してログオンを要求する。このとき、ホストPC２の認証を行うのに用いられるデータも、必要に応じて、ホストPC２からサーバ８１に送信される。
【０１６９】
ステップＳ１１１において、サーバ８１のCPU６１は、ホストPC２からの要求を受信する。
【０１７０】
ステップＳ１１２において、サーバ８１のCPU６１は、ホストPC２の認証を、ログオンの要求とともにホストPC２から送信されてきたデータを用いて行う。
【０１７１】
ホストPC２の認証が成功した場合、ステップＳ１１３において、サーバ８１のCPU６１は、ログオンを許可する（アクセスを許可する）ことと、サーバ８１の内部で管理される時刻をホストPC２に通知する。この通知には、サーバ８１のIDなども含まれる。
【０１７２】
ステップＳ１２５において、ホストPC２のCPU６１は、サーバ８１からの通知を受信する。
【０１７３】
ステップＳ１２６において、ホストPC２のCPU６１は、サーバ８１から通知された時刻と、ホストPC２の内部で管理される時刻を、ホストPC２のID、サーバ８１のIDとともにUFD１に通知する。
【０１７４】
ステップＳ１３４において、UFD１のCPU３３は、ホストPC２からの通知を受信する。
【０１７５】
ステップＳ１３５において、CPU３３は、サーバ８１へのログオンが行われたことを表す情報が「操作」として含まれる図３に示されるようなフォーマットのログデータを生成する。ログデータには、ホストPC２が管理する時刻とサーバ８１が管理する時刻の双方の時刻が含まれる。また、ホストPC２のIDとサーバ８１のIDの双方のIDが含まれる。
【０１７６】
例えば、ホストPC２が管理する時刻とサーバ８１が管理する時刻に所定の時間以上の差がある場合、ホストPC２の時刻が不正に変更されたものとして判断され、そのような不正な操作が行われたことを表すデータが付加されたログデータが生成される。
【０１７７】
ステップＳ１３６において、CPU３３は、生成したログデータをフラッシュメモリI/F３９に出力し、フラッシュメモリ２２の領域Ａ1に記憶させる。その後、処理は終了される。
【０１７８】
このように、外部の複数の装置から取得された時刻がログデータに含まれるようにすることにより、時刻を変更するといった不正な操作が行われた場合であっても、管理者はそのことを容易に見つけることが可能となる。
【０１７９】
以上においては、指紋センサ１１により読み取られた指紋によってユーザの認証が行われるものとしたが、必ずしも指紋によって行われる必要はなく、UFD１内で本人認証を行うことができるものであれば他のバイオメトリクスでもよい。例えば、虹彩や掌紋によってユーザの認証が行われるようにすることが可能である。
【０１８０】
また、UFD１にタッチパネルが設けられている場合、その表面を指でなぞることによって入力されたパスワードによってユーザの認証が行われるようにしてもよい。
【０１８１】
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、図５に示されるような構成を有する汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０１８２】
コンピュータが実行するプログラムは、例えば、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等）、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア７２に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
【０１８３】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０１８４】
本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０１８５】
【図１】本発明の一実施形態に係る指紋照合機能付きUFDの外観の例を示す図である。
【図２】指紋照合機能付きUFDのハードウエア構成例を示すブロック図である。
【図３】ログデータのフォーマットの例を示す図である。
【図４】フラッシュメモリに形成される領域の例を示す図である。
【図５】ホストPCのハードウエア構成例を示すブロック図である。
【図６】指紋照合機能付きUFDの指紋登録処理について説明するフローチャートである。
【図７】指紋照合機能付きUFDの認証処理について説明するフローチャートである。
【図８】OSのログオン時のUFDとホストPCの処理について説明するフローチャートである。
【図９】ログデータの例を示す図である。
【図１０】ログデータの管理システムの構成例を示す図である。
【図１１】UFDとサーバにより行われる鍵データの交換処理について説明するフローチャートである。
【図１２】UFDとサーバにより行われるログデータの送受信処理について説明するフローチャートである。
【図１３】UFDの他のハードウエア構成例を示すブロック図である。
【図１４】図１３の構成を有するUFDと、ホストPCにより行われる処理について説明するフローチャートである。
【図１５】UFD、ホストPC、サーバの処理について説明するフローチャートである。
【符号の説明】
【０１８６】
１  指紋照合機能付きUFD，  ２  ホストPC，  １１  指紋センサ，  ２１  コントローラLSI，  ２２  フラッシュメモリ，  ２３  水晶発振子，  ３１  USB I/F，  ３２  タイマI/F，  ３３  CPU，  ３４  暗号エンジン，  ３５  EEPROM，  プログラム用RAM/ROM，  ３７  指紋照合エンジン，  ３８  PLL，  ３９  フラッシュメモリI/F
【図１】
2008191851.tif 000003
【図２】
2008191851.tif 000004
【図３】
2008191851.tif 000005
【図４】
2008191851.tif 000006
【図５】
2008191851.tif 000007
【図６】
2008191851.tif 000008
【図７】
2008191851.tif 000009
【図８】
2008191851.tif 000010
【図９】
2008191851.tif 000011
【図１０】
2008191851.tif 000012
【図１１】
2008191851.tif 000013
【図１２】
2008191851.tif 000014
【図１３】
2008191851.tif 000015
【図１４】
2008191851.tif 000016
【図１５】
2008191851.tif 000017