(57)【要約】【課題】コンピュータ装置側に特別なＡＰＩなどをインストールすることなく、認証機能などを有する外部メモリ装置が使用できるようにする。【解決手段】メモリ装置として、第１，第２のデータ記憶部１００、１１０を備える。第１のデータ記憶部は、接続された外部機器１からの指示で、入力したデータの書き込み及び読み出しが可能な記憶部である。第２のデータ記憶部は、セキュリティ確保用のデータが書き込まれ、読み出しが制限される記憶部である。第１のデータ記憶部には、入力用ファイル１０２と出力用ファイル１０３を用意する。入力用ファイルに外部機器から書き込まれた入力データに基づいて、第２のデータ記憶部に記憶されたセキュリティ確保用のデータを読み出して、その読み出したセキュリティ確保用のデータと入力データとを使った演算を行う。その演算結果を出力用ファイルに書き込ませる制御を行う。【選択図】図３
2010170276.tif 000002
【特許請求の範囲】
【請求項１】
データの入力及び出力を行う入出力部と、
前記入出力部を介して接続された外部機器からの指示で、前記入出力部に入力したデータの書き込み及び読み出しが可能な第１のデータ記憶部と、
前記入出力部を介して接続された前記外部機器からは、データの書き込み及び読み出しができなく、少なくともセキュリティ確保用のデータが書き込まれる第２のデータ記憶部と、
前記第１のデータ記憶部に、前記外部機器からデータを書き込む入力用ファイルと、前記外部機器がデータを読み出す出力用ファイルを用意し、前記入力用ファイルに前記外部機器から書き込まれた入力データに基づいて、前記第２のデータ記憶部に記憶されたセキュリティ確保用のデータを読み出して、その読み出したセキュリティ確保用のデータと前記入力データとを使った所定の演算を行い、その演算結果を前記出力用ファイルに書き込ませる制御部とを備えた
メモリ装置。
【請求項２】
前記第１のデータ記憶部に用意される入力用ファイル及び出力用ファイルは、前記外部機器がアクセス可能なファイルシステムに従ったファイルである
請求項１に記載のメモリ装置。
【請求項３】
前記入力用ファイル及び前記出力用ファイルは、前記外部機器では表示されない属性の隠しファイルとした
請求項２に記載のメモリ装置。
【請求項４】
前記入力用ファイル及び前記出力用ファイルは、それぞれに書き込まれたデータを前記外部機器に読み出した際に、その読み出したデータを前記外部機器内でキャッシュ又はバッファさせることを禁止したファイルとした
請求項３に記載のメモリ装置。
【請求項５】
暗号化及び復号化を行う暗号・復号処理部を備え、
前記第２のデータ記憶部に書き込まれるデータは、前記暗号・復号処理部で暗号化し、前記第２のデータ記憶部から読み出したデータは、前記暗号・復号処理部で復号化する
請求項２に記載のメモリ装置。
【請求項６】
前記制御部が行う前記所定の演算は、前記入力用ファイルに書き込まれたパスワードと、前記第２のデータ記憶部に記憶されたセキュリティ確保用のパスワードとを比較する演算であり、前記制御部は、前記演算結果を前記出力用ファイルに書き込ませると共に、演算結果でパスワードが一致した場合に、前記入出力部を介して接続された外部機器が、前記第２のデータ記憶領域への書き込み又は読み出しができるように制御する
請求項１に記載のメモリ装置。
【請求項７】
前記制御部が行う前記所定の演算は、当該メモリ装置に固有の情報を使って認証を行うための演算であり、
前記制御部は、前記演算結果としての認証結果を、前記出力用ファイルに書き込ませる
請求項１に記載のメモリ装置。
【請求項８】
生体認証用入力部を備え、
前記制御部は、前記入力用ファイルに書き込まれた生体認証開始コマンドに基づいて、前記生体認証用入力部で入力した生体認証用データと、前記第２のデータ記憶部に記憶されたセキュリティ確保用のデータとしての照合用データとの照合処理を行い、その照合結果を前記前記出力用ファイルに書き込ませる
請求項１に記載のメモリ装置。
【請求項９】
前記生体認証用入力部は、指紋読み取り部である
請求項８に記載のメモリ装置。
【請求項１０】
データの入力及び出力を行う入出力処理機能と、
第１のデータ記憶領域に対して、前記入出力処理機能により外部機器から入力した指示で入力したデータの書き込み及び読み出しを可能とし、前記外部機器からデータを書き込む入力用ファイルと、前記外部機器がデータを読み出す出力用ファイルを、前記第１のデータ記憶領域に用意する第１のデータ記憶領域制御処理と、
第２のデータ記憶領域に対して、前記入出力処理機能により外部機器から入力した指示で、データの書き込み及び読み出しができない状態に制限し、前記入力用ファイルに前記外部機器から書き込まれた入力データに基づいて、前記第２のデータ記憶領域に記憶されたセキュリティ確保用のデータを読み出して、その読み出したセキュリティ確保用のデータと前記入力データとを使った所定の演算を行い、その演算結果を前記出力用ファイルに書き込ませる第１のデータ記憶領域制御処理とを行う
メモリ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばパーソナルコンピュータ装置に接続してデータの保存や受け渡しなどを行うのに使用されるメモリ装置、及びそのメモリ装置に適用されるメモリ制御方法に関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータ装置などの情報処理装置に接続して使用されるメモリ装置として、ＵＳＢ（Universal Serial Bus）メモリと称される小型のメモリ装置が普及している。
ＵＳＢメモリは、ＵＳＢ規格の端子を備えて、情報処理装置が備えるＵＳＢ規格のソケットに接続して使用されるものである。接続された情報処理装置は、そのＵＳＢメモリに内蔵されたフラッシュメモリを、データ記憶手段として使用できるものである。ＵＳＢメモリは、比較的小型に構成されて、持ち運びが自由にできるものである。なお、以下の説明では、ＵＳＢメモリなどのメモリ装置が接続される情報処理装置をホストＰＣと称する。
【０００３】
ＵＳＢメモリは、セキュリティ対策が施されたものも存在する。例えば、パスワード入力方式のＵＳＢメモリの場合には、ホストＰＣに接続したとき、ホストＰＣの画面上に、パスワード入力画面を表示させて、その画面表示に基づいてパスワードをユーザに入力させる。そして、入力されたパスワードが、ＵＳＢメモリ内に記憶されたパスワードと一致した場合に、ＵＳＢメモリに記憶されたデータにホストＰＣがアクセスできるようにしてある。
【０００４】
或いは、指紋認証処理などの生体認証を行う機能をＵＳＢメモリに設けて、その生体認証した結果で、ＵＳＢメモリに記憶されたデータにホストＰＣがアクセスできるようにしたものも存在する。
【０００５】
さらに、ＵＳＢメモリに類似したものとして、セキュリティ用トークンとして使用されるメモリ装置も存在する。このセキュリティ用トークンは、通信などを行う際の機器認証に必要なＩＤ(Identity Document)や、証明書認証用のデータや、暗号鍵などを記憶した、メモリ装置である。記憶したＩＤなどのデータ（又はその記憶データを使って得たデータ）は、所定の手順に従った操作で、ＵＳＢ端子を介して接続されたホストＰＣに供給される。このＩＤなどを取得したホストＰＣでは、認証処理が必要なネットワークへの接続や、データの暗号化などが行われる。
【０００６】
図１２は、パスワード入力によってセキュリティ対策が施されたＵＳＢメモリを、ホストＰＣに接続して、パスワードによる認証処理を行う場合の例を示したフローチャートである。図１２で、左側がホストＰＣでの処理を示し、右側がＵＳＢメモリでの処理を示す。この例では、ＵＳＢメモリが備えるメモリのデータ記憶領域として、特殊領域が用意されて、その特殊領域にパスワードが記憶されると共に、特殊領域へのデータの書き込み及び読み出しが、そのパスワードを使って可能となるものである。
【０００７】
図１２に従って説明すると、まずホストＰＣでは、ＵＳＢメモリの装着などの検出で、画面上に、パスワードの入力を促す画面を表示させる（ステップＳ１１）。その表示に基づいてユーザがパスワードを入力すると（ステップＳ１２）、その入力されたパスワードを、ＵＳＢメモリに送る（ステップＳ１３）。このとき、パスワードを伝送するために、特別に定義されたコマンドが使用される。
【０００８】
ＵＳＢメモリでは、このパスワードが伝送されると、特殊領域内に保存されたパスワードと比較する（ステップＳ１４）。その比較の結果で、一致した場合には、特殊領域内へのデータの書き込み及び読み出しが許可され、不一致の場合には、ホストＰＣから特殊領域へのデータの書き込み及び読み出しが許可されない。
そして、パスワードによる照合が正しいか否かのデータを、ホストＰＣに返送させる（ステップＳ１５）。
【０００９】
ホストＰＣでは、パスワードによる照合が正しい場合にはＵＳＢメモリ内の特殊領域へのデータの書き込み及び読み出しが可能となる（ステップＳ１６）。また、セキュリティ用トークン機能を有する場合には、そのトークンに関するコマンドが許可される。
【００１０】
図１３は、指紋認証によってセキュリティ対策が施されたＵＳＢメモリを、ホストＰＣに接続して、認証処理を行う場合の例を示したフローチャートである。図１３で、左側がホストＰＣでの処理を示し、右側がＵＳＢメモリでの処理を示し、ＵＳＢメモリは指紋センサを内蔵している。
まずホストＰＣでは、ＵＳＢメモリの装着などの検出で、画面上に、「指を指紋センサに置いてください」などの生体認証処理を促す画面を表示させる（ステップＳ２１）。そして、ホストＰＣからＵＳＢメモリに、指紋照合コマンドを送る（ステップＳ２２）。また、その指紋照合コマンドに続いて、指紋照合結果を受け取るコマンドを、結果の情報を受け取るまで発行し続ける（ステップＳ２３）。
【００１１】
ＵＳＢメモリでは、ホストＰＣからの指紋照合コマンドを受信すると、指紋センサでの指紋の画像データの読み込みが開始されて、ＵＳＢメモリ内に登録された指紋のデータとの照合処理が行われる（ステップＳ２４）。その指紋照合結果が正しい場合には、特殊領域内へのデータの書き込み及び読み出しが許可され、不一致の場合には、ホストＰＣから特殊領域へのデータの書き込み及び読み出しが許可されない（ステップＳ２５）。そして、指紋照合結果が正しいか否かのデータを、指紋照合結果を受け取るコマンドに対する返信としてホストＰＣに返送させる（ステップＳ２６）。
【００１２】
ホストＰＣでは、指紋照合が正しい場合にはＵＳＢメモリ内の特殊領域へのデータの書き込み及び読み出しが可能となる（ステップＳ２７）。また、セキュリティ用トークン機能を有する場合には、そのトークンに関するコマンドが許可される。
【００１３】
特許文献１には、パスワード認証を行うメモリ装置の例についての記載がある。特許文献２には、トークン機能を有する装置の例についての記載がある。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開２００８−７１３６７号公報
【特許文献２】特開２００４−２３４３３１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
ところで、従来、ＵＳＢメモリの如きメモリ装置で、パスワード認証や指紋認証などを行うために、それらの認証処理を実行させるための専用のソフトウェアなどをホストＰＣ側にインストールする必要があった。即ち、ホストＰＣに、ＵＳＢメモリで認証処理を行うためのアプリケーションソフトやＡＰＩ（Application Programming Interface）を、インストールする必要があった。図１２や図１３で説明した処理についても、ホストＰＣ側での処理については、そのＡＰＩの実行により行われるものである。
【００１６】
ところが、コンピュータ装置は、使用されるモードによっては、アプリケーションソフトやＡＰＩのインストールが制限されることがある。即ち、通常、個人で使用するパーソナルコンピュータ装置では、そのコンピュータ装置のコンピュータ資源に対するアクセス制限がないモードである、管理者モード（アドミニストレータモード）で作動させる。これに対して、企業や学校などで使用されるコンピュータ装置では、コンピュータ資源に対するアクセスが制限されるモードである、ユーザモードで作動させて、ある程度の制限を加えることが多々ある。また、インターネットカフェなどの不特定のユーザが利用される環境で用意されるコンピュータ装置についても、ユーザモードで作動させるのが一般的である。
【００１７】
コンピュータ資源に対するアクセスが制限されるモードである、ユーザモードで作動させているコンピュータ装置の場合には、ＵＳＢメモリでパスワード認証などを行うためのＡＰＩのインストールも不可能である。このため、このようなコンピュータ装置では、管理者モードに変更しない限りは、パスワード認証や指紋認証などを行うＵＳＢメモリを使うことは不可能であり、認証機能を有するメモリ装置の使用が制限されているという問題がある。
例えば、特定の企業のコンピュータネットワークにアクセスするためのトークン機能をＵＳＢメモリに内蔵させることで、そのＵＳＢメモリが接続されたコンピュータ装置では、本来は該当するネットワークにアクセスができるものである。ところが実際には、街中のコンピュータ装置は、上述したユーザモードで動作させて制限がかかっており、そのトークン機能を生かすことができないという問題がある。
【００１８】
本発明は斯かる点に鑑みてなされたものであり、コンピュータ装置側に特別なＡＰＩなどをインストールすることなく、認証機能などを有する外部メモリ装置が使用できるようにすることを目的とする。
【課題を解決するための手段】
【００１９】
本発明は、データの入力及び出力を行う入出力部と、第１及び第２のデータ記憶部を備えたメモリ装置に適用される。
第１のデータ記憶部は、入出力部を介して接続された外部機器からの指示で、入出力部に入力したデータの書き込み及び読み出しが可能なデータ記憶部である。
第２のデータ記憶部は、入出力部を介して接続された外部機器からは、データの書き込み及び読み出しができなく、少なくともセキュリティ確保用のデータが書き込まれるデータ記憶部である。
第１のデータ記憶部には、外部機器からデータを書き込む入力用ファイルと、外部機器がデータを読み出す出力用ファイルを用意する。
そして、入力用ファイルに外部機器から書き込まれた入力データに基づいて、第２のデータ記憶部に記憶されたセキュリティ確保用のデータを読み出して、その読み出したセキュリティ確保用のデータと入力データとを使った所定の演算を行う。その演算結果を出力用ファイルに書き込ませる制御を行う。
【００２０】
このようにしたことで、外部装置は、入力用ファイルと出力用ファイルにアクセスできるファイルシステムを備えていれば、メモリ装置内の第２のデータ記憶部に記憶されたセキュリティ確保用のデータを使ったセキュリティ処理が可能になる。即ち、入力用ファイルに、外部装置からコマンドやパスワードを書き込ますことで、それらの書き込まれたデータと第２のデータ記憶部に記憶されたセキュリティ確保用のデータとを使ったセキュリティ用の処理が実行される。そして、そのセキュリティ用の処理結果を、出力用ファイルから外部機器が取得することで、外部機器にＡＰＩをインストールした場合と同様の処理が可能となる。
入力用ファイルと出力用ファイルは、コンピュータ装置用として普及した一般的なファイルシステムを採用することで、殆どのコンピュータ装置で入力用ファイルと出力用ファイルを読み書きできることになる。
【発明の効果】
【００２１】
本発明によれば、データの入力用ファイルに外部装置からパスワードやコマンドなどを書き込ませて、その結果を出力用ファイルから得て、所望のセキュリティ処理を行うことが可能となる。このため、ＡＰＩなどがインストールできない状態に制限されたコンピュータ装置であっても、入力用ファイルと出力用ファイルにアクセスできれば、接続されたメモリ装置を使ったセキュリティ処理を行うことが可能となる効果を有する。ＡＰＩなどがインストールできるコンピュータ装置であっても、アクセス用のソフトウェアなどをインストールする必要がないため、コンピュータ装置側の負担を軽減できる効果を有する。
【図面の簡単な説明】
【００２２】
【図１】本発明の第１の実施の形態に係るメモリ装置の構成例を示したブロック図である。
【図２】本発明の第１の実施の形態に係るメモリ装置の形状例を示す斜視図である。
【図３】本発明の第１の実施の形態に係る処理状態の概要を示す原理図である。
【図４】本発明の第１の実施の形態に係る記憶領域構成例を示した説明図である。
【図５】本発明の第１の実施の形態に係るインファイルとアウトファイルの例を示した説明図である。
【図６】本発明の第１の実施の形態に係るパスワード認証処理例を示すフローチャートである。
【図７】本発明の第１の実施の形態に係るＩＤの書き込み処理例を示すフローチャートである。
【図８】本発明の第１の実施の形態に係るＩＤの照合処理例を示すフローチャートである。
【図９】本発明の第２の実施の形態に係るメモリ装置の構成例を示したブロック図である。
【図１０】本発明の第２の実施の形態に係るメモリ装置の形状例を示す斜視図である。
【図１１】本発明の第２の実施の形態に係る指紋認証処理例を示すフローチャートである。
【図１２】従来のパスワード認証処理例を示すフローチャートである。
【図１３】従来の指紋認証処理例を示すフローチャートである。
【発明を実施するための形態】
【００２３】
以下、本発明の実施の形態を、以下の順序で説明する。
１．第１の実施の形態が適用される装置の構成例（図１，図２）
２．第１の実施の形態の処理状態の例（図３〜図５）
３．第１の実施の形態によるパスワード認証処理例（図６）
４．第１の実施の形態によるＩＤ書き込み及び照合処理例（図７，図８）
５．第２の実施の形態が適用される装置の構成例（図９，図１０）
６．第２の実施の形態による指紋認証処理例（図１１）
７．各実施の形態の変形例
【００２４】
［１．第１の実施の形態が適用される装置の構成例：図１，図２］
本発明の第１の実施の形態の例を、図１〜図８を参照して説明する。
まず、本実施の形態の例が適用される装置構成を、図１及び図２を参照して説明する。
図１に示すように、本実施の形態の例は、情報処理装置であるコンピュータ装置（ホストＰＣ）のＵＳＢ規格のソケットに接続して使用されるメモリ装置として構成してある。このＵＳＢ規格のソケットに接続されるメモリ装置は、ＵＳＢメモリと称され、比較的大容量のフラッシュメモリを内蔵して、そのフラッシュメモリを、接続されたホストＰＣが記憶手段として使用できるものである。但し後述するように本実施の形態の例のメモリ装置は、認証処理などを行うためのデータについても記憶させてあり、認証を行うためのセキュリティ用トークンとしても使用される。
【００２５】
図１の構成について説明すると、ホストＰＣ１のＵＳＢ規格のソケットに、メモリ装置１０のＵＳＢ用端子１１が接続させてある。メモリ装置１０は、外形形状の例を図２に示すように、メモリ装置１０本体を構成する筐体の側面に、ＵＳＢ用端子１１を配置した小型形状であり、持ち運びが自由に出来る形状である。ＵＳＢ用端子１１内には、図２に示したように端子用接点部１１ａが配置してあり、その接点部１１ａがホストＰＣ１側のソケットの接点部と導通する。なお、図２の形状は一例を示したものであり、この形状に限定されるものではない。
【００２６】
図１の説明に戻ると、メモリ装置１０のＵＳＢ用端子１１は、ＵＳＢインターフェース部２１と接続させてあり、ＵＳＢインターフェース部２１を介してホストＰＣ１とメモリ装置１０とのデータ転送が行われる。
メモリ装置１０内には、中央制御ユニット（ＣＰＵ）２２を備え、その中央制御ユニット２２の制御で、入力データのフラッシュメモリ３０への記憶とフラッシュメモリ３０からの読み出しなどが行われる。フラッシュメモリ３０は、フラッシュメモリインターフェース部２３を介して内部バスに接続してある。フラッシュメモリ３０のデータ記憶領域の構成については後述する。
【００２７】
また、暗号鍵などのセキュリティ確保用のデータなどが記憶されるＥＥＰＲＯＭ２４が用意してあり、中央制御ユニット２４の制御で、そのＥＥＰＲＯＭ２４の記憶データを読み出すことができる。ＥＥＰＲＯＭ２４には、暗号化エンジン部２５が接続してあり、必要によりＥＥＰＲＯＭ２４に書き込ませるデータの暗号化及び読み出したデータの復号化が行える。
さらに、読み出し専用のＲＯＭと読み書き自在なＲＡＭとで構成されるメモリ２６が用意してある。ＲＯＭには、メモリ装置が必要なプログラムを記憶させてある。ＲＡＭはワーキング用ＲＡＭとして使用される。
【００２８】
メモリ装置１０内での動作に必要なクロックは、水晶振動子１２の発振出力に基づいてＰＬＬ（Phase locked loop）回路２７で得る。
【００２９】
［２．第１の実施の形態の処理状態の例：図３〜図５］
３．第１の実施の形態によるパスワード認証処理
次に、本実施の形態のメモリ装置１０を、ホストＰＣ１に接続させて使用する場合の処理状態と、その処理のための構成について説明する。
本実施の形態のメモリ装置１０は、フラッシュメモリ３０の記憶領域として、図４に示すように、通常領域１００の他に特殊領域１１０を有する。
【００３０】
通常領域１００は、接続されたホストＰＣ１側から常時、データの書き込み及び読み出しが自由にできる第１の記憶領域である。但し、後述するように一部のデータについては隠しファイルとして記憶されて、ファイル属性などがホストＰＣ１側では表示できないようにしてある。
特殊領域１１０は、接続されたホストＰＣ１から直接的にはデータを書き込ませたり読み出すことができない制限された領域として使用される、第２の記憶領域である。本例の場合には、パスワード入力などの本人認証処理を行うことで、ホストＰＣ１が特殊領域１１０のデータを読み書きできるようになる。但し、特殊領域１１０に記憶された認証に関係したデータについては、パスワードを入力させても、ホストＰＣ１からは読み出すことができないようにしてある。この特殊領域１１０には、認証用のデータとして、認証用のＩＤ（Identity Document），認証用の証明書，パスワードなどが記憶される。なお、特殊領域１１０の記憶データの内の認証用のデータの一部又は全部は、フラッシュメモリ３０とは別のメモリであるＥＥＰＲＯＭ２４に記憶させてもよい。
これらの特殊領域１１０内の認証に関係したデータは、図３に示すように、メモリ装置１０内の中央制御ユニット２２で実行される認証コントロール用（トークンコントロール用）のファームウェア１２０を介して、ホストＰＣ側が読み書きを行う。
なお、本例の場合には、暗号鍵やパスワードなどの認証用のデータについては、ＥＥＰＲＯＭ２４に記憶させてある。また、フラッシュメモリ３０内の特殊領域１１０やＥＥＰＲＯＭ２４にこれらのデータを記憶して保存する際には、暗号化エンジン２５で暗号化を行うようにしてもよい。
【００３１】
フラッシュメモリ３０の記憶領域の内の通常領域１００は、図３に示すように、アプリケーション１０１のデータが記憶される他に、インファイル１０２とアウトファイル１０３とが用意してある。アプリケーション１０１は、ホストＰＣ１がインファイル１０２とアウトファイル１０３とを利用するためのアプリケーションである。このアプリケーション１０１は、ホストＰＣ１側で特別な権限がなくても実行可能なアプリケーションとしてあり、ユーザモードで実行可能である。また、このアプリケーション１０１には、本人認証を行うためのソフトウェアも含まれている。
【００３２】
インファイル１０２は、ホストＰＣ１側からデータの書き込みができるファイルである。アウトファイル１０３は、書き込まれたファイルのデータを、ホストＰＣ１が読み出すことができるファイルである。これらのインファイル１０２とアウトファイル１０３は、ホストＰＣ１で採用しているＯＳ（Operating System）のファイルシステムを適用して書き込まれたファイルである。但し、インファイル１０２とアウトファイル１０３は、ファイル属性などの詳細がホストＰＣ１側では表示されない隠しファイルに指定するのが好ましい。さらに、インファイル１０２やアウトファイル１０３から読み出したデータについては、ホストＰＣ１内でキャッシュやバッファなどの保存が行われないように指定することが望ましい。
【００３３】
図５は、インファイル１０２とアウトファイル１０３の構成例を示した図である。
インファイル１０２は、ファイル名（内容），コマンドコード，予約状況，データ長が各アドレスに、４バイトなどの所定長で配置され、データ長に続いてデータが書き込まれる領域が用意されている。インファイル１０２のデータの配置領域は、上述したホストＰＣ１でデータが書き込まれる領域である。メモリ装置１０内の中央制御ユニット２２が実行するファームウェアにより、この書き込まれたデータやコマンドが判別される。即ち、図５に示すように、ホストＰＣ１から伝送されたデータＤ−ＩＮが、データの配置領域に書き込まれる。ホストＰＣ１からのコマンドについては、コマンドの領域に書き込まれる。
【００３４】
アウトファイル１０３は、ファイル名（内容），リザルトコード，予約状況，データ長が各アドレスに、４バイトなどの所定長で配置され、データ長に続いてデータが書き込まれる領域が用意されている。アウトファイル１０３のデータの配置領域は、中央制御ユニット２２が実行するファームウェアにより、書き込まれる領域であり、その書き込まれたデータが、ホストＰＣ１で読み出される。即ち、図５に示すように、アウトファイル１０３のデータ領域に書き込まれたデータＤ−ＯＵＴや、コマンドの実行結果であるリザルトが、ホストＰＣ１で読み出される。
【００３５】
中央制御ユニット２２が実行するファームウェアでは、インファイル１０２に書き込まれたコマンドに従った指令で、書き込まれたデータと、特殊領域１１０に記憶された認証用のデータとを使った認証用の演算処理が行われる。その演算処理結果が、アウトファイル１０３のデータ領域に書き込まれる。或いは、データで指定された特殊領域１１０のデータを読み出す処理を行って、その読み出されたデータを、アウトファイル１０３のデータ領域に書き込ませるようにしてもよい。
また、認証結果が可か不可かの区別だけを、アウトファイル１０３のリザルトの欄に書き込ますだけとしてもよい。
【００３６】
インファイル１０２とアウトファイル１０３で使用するコマンドコードとリザルトコードについては、事前に決めておき、アプリケーション１０１の実行でホストＰＣ１が判るようにしてある。なお、コマンドやリザルトがない状態で、インファイル１０２やアウトファイル１０３の該当欄に記載される初期値についても決めてある。インファイル１０２にコマンドやデータが書き込まれた場合には、例えば、そのコマンドやデータを受け取ったメモリ装置１０内のファームウェア１２０が、初期値に戻す処理を行う。アウトファイル１０３にリザルトやデータが書き込まれた場合には、例えば、そのリザルトやデータを受け取ったホストＰＣ１が、アプリケーション１０１の実行で初期値に戻す処理を行う。
【００３７】
なお、特殊領域１１０に書き込まれたデータについては、暗号化エンジン２５で暗号化されたデータとして、その特殊領域１１０に書き込まれたデータを読み出した際に、暗号化エンジン２５で復号化する構成としてもよい。
また、インファイル１０２に書き込まれるデータとアウトファイル１０３で読み出されるデータについても、暗号化してもよい。
【００３８】
［３．第１の実施の形態によるパスワード認証処理例：図６］
次に、図６のフローチャートを参照して、本実施の形態による処理として、パスワード入力による本人認証を行う場合の例を説明する。パスワード入力による本人認証が完了することで、メモリの特殊領域１１０の読み書きを可能とするものである。
この例では、メモリの特殊領域１１０にパスワードを記憶させてあり、ホストＰＣ１側で入力されたパスワードと認証させる処理例について説明する。
図６以降で説明する各フローチャートでは、左側がホストＰＣでの処理であり、右側がメモリ装置での処理である。例えばメモリ装置１０をホストＰＣ１に接続させることで、この図６のフローチャートの処理が開始される。
【００３９】
まず、ホストＰＣ１では、パスワードの入力を促すメッセージの表示がディスプレイ上で行われる（ステップＳ３１）。図６の例では、「パスワードを入力して下さい」と表示させてある。この表示は、例えばメモリ装置１０をホストＰＣ１に接続した際に表示させる。
その表示が行われた状態で、ユーザがホストＰＣ１のキーボードなどを使ってパスワードが入力されたとする（ステップＳ３２）。このとき、その入力されたパスワードを、ホストＰＣ１は、インファイル１０２のデータ欄に書き込み、コマンド欄に、「パスワード照合コマンド」を書き込ませる（ステップＳ３３）。
【００４０】
メモリ装置１０のファームウェア１２０では、ステップＳ３３の書き込みがあると、そのパスワード照合コマンドに基づいた処理が実行される。即ち、インファイル１０２のデータ欄に書き込まれたパスワードと、特殊領域１１０に保存されたパスワードとを比較する。その比較の結果が正しいパスワードの入力であると判断した場合には、ホストＰＣ１からフラッシュメモリ３０の特殊領域１１０への読み書きを許可する（ステップＳ３４）。
そして、メモリ装置１０のファームウェア１２０での照合結果を、ファームウェア１２０の処理でアウトファイル１０３のリザルトの欄などに書き込ませる（ステップＳ３５）。
【００４１】
ホストＰＣ１では、このアウトファイル１０３のリザルトの欄に書き込まれた照合結果を判断して、次の処理に進む。具体的には、パスワード照合が正しい場合には、特殊領域１１０に対して、読み書きが可能な状態となり、特殊領域１１０のファイル表示などが行われる。パスワード照合が正しくない場合には、例えばパスワードを再度入力させる表示などが行われる。
また、パスワードが、何らかの認証用のデータを得るセキュリティ用トークンとしてのパスワード入力である場合には、その許可されて得たデータに基づいた処理が行われる。
【００４２】
［４．第１の実施の形態によるＩＤ書き込み及び照合処理例：図７，図８］
次に、図７及び図８のフローチャートを参照して、本実施の形態による処理として、ＩＤ書き込み及び照合を行う場合の例を説明する。ここでは、照合による認証処理として、メモリ装置１０がもつ固有の情報を使った認証を行うものである。
まず、図７を参照してＩＤ書き込み処理について説明すると、ホストＰＣ１側のディスプレイでは、ＩＤの入力画面が表示されて、その表示に基づいてユーザがＩＤを入力したとする（ステップＳ４１）。そのＩＤの入力があると、メモリ装置１０に対してＶＩＤ（ベンダＩＤ：メーカ番号）とＰＩＤ（プロダクトＩＤ：製品番号）と、シリアル番号とを読み出すコマンドが発行される（ステップＳ４２）。このコマンドが発行されると、メモリ装置１０からホストＰＣ１が保持しているＶＩＤとＰＩＤとシリアル番号とが、ホストＰＣ１に転送される（ステップＳ４３）。このＶＩＤとＰＩＤとシリアル番号との読み出しは、例えば、ＵＳＢ規格で接続された機器の認証用に決められた手順に従って実行される。
【００４３】
その後、ホストＰＣ１では、ステップＳ４１で入力されたＩＤと、メモリ装置１０から読み出したＶＩＤとＰＩＤとシリアル番号とを、アプリケーション１０１に記載されている暗号鍵（ｋ）を使って暗号化を行い、暗号化値（ｘ）を得る。ホストＰＣ１は、この暗号化値（ｘ）を、メモリ装置１０のインファイル１０２のデータ欄に書き込み、コマンド欄に、「ＩＤ書き込みコマンド」を書き込む（ステップＳ４４）。なお、暗号鍵は、ＲＳＡ暗号化方式，ＡＥＳ暗号化方式，ＤＥＳ暗号化方式などの、既に公知の各種暗号化方式の鍵が適用可能である。
メモリ装置１０では、「ＩＤ書き込みコマンド」を判別すると、データ欄に書き込まれた暗号化値（ｘ）を、特別領域に書き込む（ステップＳ４５）。ここでの特別領域は、ホストＰＣ１からは見えない領域である。
その書き込みが完了すると、メモリ装置１０は、アウトファイル１０３に、書き込み完了を示すリザルトデータを書き込み（ステップＳ４６）、そのリザルトをホストＰＣ１が確認して終了する。
【００４４】
図８のフローチャートは、このようにして暗号化されたＩＤの照合処理例である。
この照合時には、ホストＰＣ１は、メモリ装置１０に対してＶＩＤとＰＩＤと、シリアル番号とを読み出すコマンドが発行される（ステップＳ５１）。このコマンドが発行されると、メモリ装置１０からホストＰＣ１が保持しているＶＩＤとＰＩＤとシリアル番号とが、ホストＰＣ１に転送される（ステップＳ５２）。ここまでのＶＩＤとＰＩＤとシリアル番号との読み出しは、例えば、ＵＳＢ規格で接続された機器の認証用に決められた手順に従って実行される。
次に、ホストＰＣ１は、メモリ装置１０のインファイル１０２のコマンド欄に、「ＩＤ読み出しコマンド」を書き込む（ステップＳ５３）。
メモリ装置１０のファームウェア１２０では、「ＩＤ書き込みコマンド」を判別すると、特別領域に書き込まれた暗号化されたＩＤを読み出す（ステップＳ５４）。そして、その読み出したＩＤ（ここでは暗号化値（ｘ））を、アウトファイル１０３のデータ欄に書き込ませる（ステップＳ５５）。
【００４５】
ホストＰＣ１では、その書き込まれた暗号化値（ｘ）を読み出し、その読み出された暗号化値（ｘ）を、アプリケーション１０１に記載されている暗号鍵（ｋ）を使って復号化する（ステップＳ５６）。このようにして復号化されたＩＤと、ステップＳ５２で転送されたＶＩＤとＰＩＤとシリアル番号とを比較する。ここで、復号化されたＶＩＤとＰＩＤとシリアル番号とが、メモリ装置１０から転送されたＶＩＤとＰＩＤとシリアル番号と一致するか否か判断する（ステップＳ５７）。一致する場合には、復号化したＩＤが正しいものであると判断し、復号化したＩＤを使った処理が実行される（ステップＳ５８）。一致しない場合には、復号化したＩＤが正しくないと判断して、エラー処理が行われる（ステップＳ５９）。
【００４６】
このように、本実施の形態によると、メモリ装置が接続されるホストＰＣ側で、認証処理のための専用のアプリケーションソフトウェアをインストールすることなく、メモリ装置を使った各種認証処理が可能となる。このため、例えば、メモリ装置を認証用のトークンとして使用することで、外出先の管理者権限がないコンピュータ装置で、特定の会社のＬＡＮに接続できるようになる。
また、メモリ装置内のデータを、パスワード認証で保護してある場合にも、そのパスワード認証処理のためのアプリケーションソフトウェアをコンピュータ装置側にインストールする必要がなく、コンピュータ装置側の負担が少ない効果を有する。
【００４７】
［５．第２の実施の形態が適用される装置の構成例：図９，図１０］
次に、本発明の第２の実施の形態の例を、図９〜図１１を参照して説明する。この図９〜図１１において、先に第１の実施の形態で説明した図１〜図８と同一部分には同一符号を付す。
【００４８】
本実施の形態の例においても、フラッシュメモリを内蔵したＵＳＢメモリと称されるメモリ装置に適用したものであり、本実施の形態の例においては、生体認証機能を備えた点が、第１の実施の形態のメモリ装置と異なるものである。
図１０は、本実施の形態の例のメモリ装置１０′の形状の例を示したものである。
メモリ装置１０′本体を構成する筐体の側面に、ＵＳＢ用端子１１を配置した小型形状であり、持ち運びが自由に出来る形状である。ＵＳＢ用端子１１内には、端子用接点部１１ａが配置してあり、その接点部１１ａがホストＰＣ１側のソケットの接点部と導通する。筐体の表面には、生体認証用の手段としての指紋照合センサ１３が配置してある。指紋照合センサ１３は、そのセンサの表面に触れられた指の指紋を画像データなどとして検出するセンサである。また、指紋照合センサ１３の脇には、発光ダイオード１４が配置してある。
【００４９】
図９は、メモリ装置１０′の内部構成を示した図である。メモリ装置１０′のＵＳＢ用端子１１は、ＵＳＢインターフェース部２１と接続させてあり、ＵＳＢインターフェース部２１を介してホストＰＣ１とメモリ装置１０′とのデータ転送が行われる。
メモリ装置１０′内には、中央制御ユニット２２を備え、その中央制御ユニット２２の制御で、入力データのフラッシュメモリ３０への記憶とフラッシュメモリ３０からの読み出しなどが行われる。フラッシュメモリ３０は、フラッシュメモリインターフェース部２３を介して内部バスに接続してある。フラッシュメモリ３０のデータ記憶領域としては、例えば図４で説明したように、ホストＰＣからの読み書きに制限がない通常領域１００と、読み書きが制限される特殊領域１１０を有する構成としてある。
【００５０】
また、暗号鍵などが記憶されるＥＥＰＲＯＭ２４が用意してあり、中央制御ユニット２４の制御で、そのＥＥＰＲＯＭ２４の記憶データを読み出すことができる。ＥＥＰＲＯＭ２４には、暗号化エンジン部２５が接続してあり、必要によりＥＥＰＲＯＭ２４に書き込ませるデータの暗号化及び読み出したデータの復号化が行える。
さらに、読み出し専用のＲＯＭと読み書き自在なＲＡＭとで構成されるメモリ２６が用意してある。ＲＯＭには、メモリ装置が必要なプログラムを記憶させてある。ＲＡＭはワーキング用ＲＡＭとして使用される。
【００５１】
メモリ装置１０′内での動作に必要なクロックは、水晶振動子１２の発振出力に基づいてＰＬＬ（Phase locked loop）回路２７で得る。
ここまでの内部構成は、基本的に図１に示したメモリ装置１０と同じ構成である。但し、メモリ２６には、生体認証処理に必要なプログラムが記憶させてある。
【００５２】
そして本実施の形態の例のメモリ装置１０′は、生体認証手段としての指紋照合センサ１３を備え、指紋照合エンジン２８と接続させてある。指紋照合エンジン２８は、指紋照合センサ１３で読み取った指紋データを、メモリ装置１０′内に記憶された指紋データと比較する処理を行い、その照合結果を中央制御ユニット２２側に出力する。この指紋照合センサ１３を使った指紋照合は、メモリ装置１０′内の記憶データの保護や、メモリ装置１０′を使った認証処理などのために使用される。
また、発光ダイオードコントローラ２９により発光ダイオード１４の点灯が制御される構成としてある。発光ダイオードコントローラ２９は、中央制御ユニット２２から点灯指令が供給される。発光ダイオード１４は、例えば指紋照合センサ１３で指紋の読み取り準備ができたときに点灯するように制御される。
【００５３】
フラッシュメモリ３０については、先に説明したように、通常領域１００と特殊領域１１０とを備えて、特殊領域１１０が制限される。この特殊領域１１０への読み書きを可能とするための制御は、例えば図３に示したファームウェア１２０の実行で行われる。但し、ファームウェア１２０の内容については、指紋照合処理を行うことが第１の実施の形態で説明したファームウェア１２０とは異なる。
さらに、通常領域１００には、例えば図３に示したようにインファイル１０２とアウトファイル１０３と、それらインファイル１０２及びアウトファイル１０３を利用するためのアプリケーションソフト１０１とを備える。このインファイル１０２及びアウトファイル１０３については、第１の実施の形態で説明した処理構成と基本的に同じである。
【００５４】
［６．第２の実施の形態による指紋認証処理例：図１１］
次に、図１１のフローチャートを参照して、本実施の形態のメモリ装置１０′で指紋照合処理を行う例を説明する。
この例では、メモリの特殊領域１１０には予め登録されたユーザの指紋画像のデータを記憶させてある。そして、例えばメモリ装置１０′をホストＰＣ１に接続させることで、この図１１のフローチャートの処理が開始される。
【００５５】
ホストＰＣ１では、指紋照合センサ１３に指をのせることを指示するメッセージの表示がディスプレイ上で行われる（ステップＳ６１）。図１１の例では、「指を指紋センサに置いて下さい」と表示させてある。
その表示が行われた状態で、ホストＰＣ１は、メモリ装置１０′のインファイル１０２に、指紋照合コマンドを書き込む（ステップＳ６２）。メモリ装置１０′側でインファイル１０２の指紋照合コマンドを検出することで、指紋センサ１３が起動される。この指紋センサ１３が起動したことは、例えば発光ダイオード１４の点灯でユーザにも告知される。
この状態で指紋センサ１３にユーザの指が置かれると（ステップＳ６３）、メモリ装置１０′側では、指紋センサ１３で指紋画像の読み取りが行われ、指紋照合エンジン２８で指紋照合処理が行われる（ステップＳ６４）。その指紋照合処理で、予め登録された指紋のデータと一致するか否か判定される（ステップＳ６５）。ここでの判定が正しい場合、即ち指紋が一致した場合には、フラッシュメモリ３０の特殊領域１１０への読み書きが許可される。
ステップＳ６５で照合が正しいか否かの結果は、アウトファイル１０３にリザルトとして書き込まれる（ステップＳ６６）。
【００５６】
ホストＰＣ１では、このアウトファイル１０３のリザルトの欄に書き込まれた照合結果を判断して、次の処理に進む（ステップＳ６７）。具体的には、指紋照合が正しい場合には、特殊領域１１０に対して、読み書きが可能な状態となり、特殊領域１１０のファイル表示などが行われる。指紋照合が正しくない場合には、指紋照合結果の不一致を表示させ、必要により再度指紋照合を実行させるための表示などが行われる。
また、指紋照合が、何らかの認証用のデータを得るセキュリティ用トークンとしての指紋照合である場合には、その許可されて得たデータに基づいた処理が行われる。
この図１１のフローチャートの例では、指紋照合によりメモリの特殊領域へのアクセスと、セキュリティ用トークンとしての指紋照合の例を説明したが、その他の各種セキュリティ処理を、指紋などの生体認証で同様に行うようにしてもよい。第１の実施の形態で図７，図８に示したＩＤの書き込み及び照合を、同様の指紋などの生体認証で行うようにしてもよい。
【００５７】
このように本実施の形態によると、ホストＰＣ側に、専用のアプリケーションソフトをインストールすることなく、接続されたメモリ装置を使った指紋照合などの生体認証処理が可能となる。従って、ソフトウェアのインストールなどに制限があるコンピュータ装置であっても、接続されたメモリ装置を使った生体認証処理が可能となる効果を有する。
【００５８】
［７．各実施の形態の変形例］
なお、ここまで説明した第１及び第２の実施の形態で示したメモリ装置での処理や構成は、好適な一例を示したものであり、本発明はこれらの実施の形態で示した構成や処理に限定されるものではない。
例えば、上述した各実施の形態では、ＵＳＢメモリと称される形態のメモリ装置に適用したが、各種メモリカードなどのその他のメモリ装置に適用してもよい。メモリ装置の内部構成についても、好適な一例を示したものであり、図１や図９などに示した構成に限定されるものではない。
【００５９】
また、メモリ装置内の一部の記憶領域への読み書きを、パスワード入力などの本人認証で行うようにしたが、インファイルやアウトファイルが用意される通常領域については、その他のデータの書き込みができない構成としてもよい。即ち、インファイルとアウトファイルとそれらのファイルを利用するアプリケーションソフトだけを通常領域に記憶させて、その他のデータは、通常領域へは書き込みできないようしてもよい。このようにすることで、事実上全ての記憶データは、セキュリティが確保された状態で記憶されることになる。
また、ファイルやデータに対する暗号化や復号化、あるいは電子署名や証明書認証などのセキュリティに関する各種処理を行う際にも、同様にインファイルによりコマンドとデータを設定して、アウトファイルでその結果を受け取るようにしてもよい。
【００６０】
また、第２の実施の形態の例では、生体認証処理として指紋検出処理を行うようにしたが、その他のバイオメトリクス情報を検出して認証処理を行うようにしてもよい。生体情報を検出するためのセンサは、上述した第２の実施の形態の例では、メモリ装置と一体化された構成としたが、メモリ装置と一体でなくてもよい。
【符号の説明】
【００６１】
１…ホストＰＣ（ホストコンピュータ装置）、１０…メモリ装置、１１…ＵＳＢ用端子、１１ａ…端子用接点部、１２…水晶振動子、１３…指紋照合センサ、１４…発光ダイオード、２１…ＵＳＢインターフェース部、２２…中央制御ユニット（ＣＰＵ）、２３…フラッシュメモリインターフェース部、２４…ＥＥＰＲＯＭ、２５…暗号化エンジン部、２６…プログラム用メモリ、２７…ＰＬＬ回路、２８…指紋照合エンジン、２９…発光ダイオードコントローラ、３０…フラッシュメモリ、１００…通常領域、１０１…アプリケーション、１０２…インファイル、１０３…アウトファイル、１１０…特殊領域
【図１】
2010170276.tif 000003
【図２】
2010170276.tif 000004
【図３】
2010170276.tif 000005
【図４】
2010170276.tif 000006
【図５】
2010170276.tif 000007
【図６】
2010170276.tif 000008
【図７】
2010170276.tif 000009
【図８】
2010170276.tif 000010
【図９】
2010170276.tif 000011
【図１０】
2010170276.tif 000012
【図１１】
2010170276.tif 000013
【図１２】
2010170276.tif 000014
【図１３】
2010170276.tif 000015