説明

メモリ装置及びメモリ制御方法

【課題】コンピュータ装置側に特別なAPIなどをインストールすることなく、認証機能などを有する外部メモリ装置が使用できるようにする。
【解決手段】メモリ装置として、第1,第2のデータ記憶部100、110を備える。第1のデータ記憶部は、接続された外部機器1からの指示で、入力したデータの書き込み及び読み出しが可能な記憶部である。第2のデータ記憶部は、セキュリティ確保用のデータが書き込まれ、読み出しが制限される記憶部である。第1のデータ記憶部には、入力用ファイル102と出力用ファイル103を用意する。入力用ファイルに外部機器から書き込まれた入力データに基づいて、第2のデータ記憶部に記憶されたセキュリティ確保用のデータを読み出して、その読み出したセキュリティ確保用のデータと入力データとを使った演算を行う。その演算結果を出力用ファイルに書き込ませる制御を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えばパーソナルコンピュータ装置に接続してデータの保存や受け渡しなどを行うのに使用されるメモリ装置、及びそのメモリ装置に適用されるメモリ制御方法に関する。
【背景技術】
【0002】
近年、パーソナルコンピュータ装置などの情報処理装置に接続して使用されるメモリ装置として、USB(Universal Serial Bus)メモリと称される小型のメモリ装置が普及している。
USBメモリは、USB規格の端子を備えて、情報処理装置が備えるUSB規格のソケットに接続して使用されるものである。接続された情報処理装置は、そのUSBメモリに内蔵されたフラッシュメモリを、データ記憶手段として使用できるものである。USBメモリは、比較的小型に構成されて、持ち運びが自由にできるものである。なお、以下の説明では、USBメモリなどのメモリ装置が接続される情報処理装置をホストPCと称する。
【0003】
USBメモリは、セキュリティ対策が施されたものも存在する。例えば、パスワード入力方式のUSBメモリの場合には、ホストPCに接続したとき、ホストPCの画面上に、パスワード入力画面を表示させて、その画面表示に基づいてパスワードをユーザに入力させる。そして、入力されたパスワードが、USBメモリ内に記憶されたパスワードと一致した場合に、USBメモリに記憶されたデータにホストPCがアクセスできるようにしてある。
【0004】
或いは、指紋認証処理などの生体認証を行う機能をUSBメモリに設けて、その生体認証した結果で、USBメモリに記憶されたデータにホストPCがアクセスできるようにしたものも存在する。
【0005】
さらに、USBメモリに類似したものとして、セキュリティ用トークンとして使用されるメモリ装置も存在する。このセキュリティ用トークンは、通信などを行う際の機器認証に必要なID(Identity Document)や、証明書認証用のデータや、暗号鍵などを記憶した、メモリ装置である。記憶したIDなどのデータ(又はその記憶データを使って得たデータ)は、所定の手順に従った操作で、USB端子を介して接続されたホストPCに供給される。このIDなどを取得したホストPCでは、認証処理が必要なネットワークへの接続や、データの暗号化などが行われる。
【0006】
図12は、パスワード入力によってセキュリティ対策が施されたUSBメモリを、ホストPCに接続して、パスワードによる認証処理を行う場合の例を示したフローチャートである。図12で、左側がホストPCでの処理を示し、右側がUSBメモリでの処理を示す。この例では、USBメモリが備えるメモリのデータ記憶領域として、特殊領域が用意されて、その特殊領域にパスワードが記憶されると共に、特殊領域へのデータの書き込み及び読み出しが、そのパスワードを使って可能となるものである。
【0007】
図12に従って説明すると、まずホストPCでは、USBメモリの装着などの検出で、画面上に、パスワードの入力を促す画面を表示させる(ステップS11)。その表示に基づいてユーザがパスワードを入力すると(ステップS12)、その入力されたパスワードを、USBメモリに送る(ステップS13)。このとき、パスワードを伝送するために、特別に定義されたコマンドが使用される。
【0008】
USBメモリでは、このパスワードが伝送されると、特殊領域内に保存されたパスワードと比較する(ステップS14)。その比較の結果で、一致した場合には、特殊領域内へのデータの書き込み及び読み出しが許可され、不一致の場合には、ホストPCから特殊領域へのデータの書き込み及び読み出しが許可されない。
そして、パスワードによる照合が正しいか否かのデータを、ホストPCに返送させる(ステップS15)。
【0009】
ホストPCでは、パスワードによる照合が正しい場合にはUSBメモリ内の特殊領域へのデータの書き込み及び読み出しが可能となる(ステップS16)。また、セキュリティ用トークン機能を有する場合には、そのトークンに関するコマンドが許可される。
【0010】
図13は、指紋認証によってセキュリティ対策が施されたUSBメモリを、ホストPCに接続して、認証処理を行う場合の例を示したフローチャートである。図13で、左側がホストPCでの処理を示し、右側がUSBメモリでの処理を示し、USBメモリは指紋センサを内蔵している。
まずホストPCでは、USBメモリの装着などの検出で、画面上に、「指を指紋センサに置いてください」などの生体認証処理を促す画面を表示させる(ステップS21)。そして、ホストPCからUSBメモリに、指紋照合コマンドを送る(ステップS22)。また、その指紋照合コマンドに続いて、指紋照合結果を受け取るコマンドを、結果の情報を受け取るまで発行し続ける(ステップS23)。
【0011】
USBメモリでは、ホストPCからの指紋照合コマンドを受信すると、指紋センサでの指紋の画像データの読み込みが開始されて、USBメモリ内に登録された指紋のデータとの照合処理が行われる(ステップS24)。その指紋照合結果が正しい場合には、特殊領域内へのデータの書き込み及び読み出しが許可され、不一致の場合には、ホストPCから特殊領域へのデータの書き込み及び読み出しが許可されない(ステップS25)。そして、指紋照合結果が正しいか否かのデータを、指紋照合結果を受け取るコマンドに対する返信としてホストPCに返送させる(ステップS26)。
【0012】
ホストPCでは、指紋照合が正しい場合にはUSBメモリ内の特殊領域へのデータの書き込み及び読み出しが可能となる(ステップS27)。また、セキュリティ用トークン機能を有する場合には、そのトークンに関するコマンドが許可される。
【0013】
特許文献1には、パスワード認証を行うメモリ装置の例についての記載がある。特許文献2には、トークン機能を有する装置の例についての記載がある。
【先行技術文献】
【特許文献】
【0014】
【特許文献1】特開2008−71367号公報
【特許文献2】特開2004−234331号公報
【発明の概要】
【発明が解決しようとする課題】
【0015】
ところで、従来、USBメモリの如きメモリ装置で、パスワード認証や指紋認証などを行うために、それらの認証処理を実行させるための専用のソフトウェアなどをホストPC側にインストールする必要があった。即ち、ホストPCに、USBメモリで認証処理を行うためのアプリケーションソフトやAPI(Application Programming Interface)を、インストールする必要があった。図12や図13で説明した処理についても、ホストPC側での処理については、そのAPIの実行により行われるものである。
【0016】
ところが、コンピュータ装置は、使用されるモードによっては、アプリケーションソフトやAPIのインストールが制限されることがある。即ち、通常、個人で使用するパーソナルコンピュータ装置では、そのコンピュータ装置のコンピュータ資源に対するアクセス制限がないモードである、管理者モード(アドミニストレータモード)で作動させる。これに対して、企業や学校などで使用されるコンピュータ装置では、コンピュータ資源に対するアクセスが制限されるモードである、ユーザモードで作動させて、ある程度の制限を加えることが多々ある。また、インターネットカフェなどの不特定のユーザが利用される環境で用意されるコンピュータ装置についても、ユーザモードで作動させるのが一般的である。
【0017】
コンピュータ資源に対するアクセスが制限されるモードである、ユーザモードで作動させているコンピュータ装置の場合には、USBメモリでパスワード認証などを行うためのAPIのインストールも不可能である。このため、このようなコンピュータ装置では、管理者モードに変更しない限りは、パスワード認証や指紋認証などを行うUSBメモリを使うことは不可能であり、認証機能を有するメモリ装置の使用が制限されているという問題がある。
例えば、特定の企業のコンピュータネットワークにアクセスするためのトークン機能をUSBメモリに内蔵させることで、そのUSBメモリが接続されたコンピュータ装置では、本来は該当するネットワークにアクセスができるものである。ところが実際には、街中のコンピュータ装置は、上述したユーザモードで動作させて制限がかかっており、そのトークン機能を生かすことができないという問題がある。
【0018】
本発明は斯かる点に鑑みてなされたものであり、コンピュータ装置側に特別なAPIなどをインストールすることなく、認証機能などを有する外部メモリ装置が使用できるようにすることを目的とする。
【課題を解決するための手段】
【0019】
本発明は、データの入力及び出力を行う入出力部と、第1及び第2のデータ記憶部を備えたメモリ装置に適用される。
第1のデータ記憶部は、入出力部を介して接続された外部機器からの指示で、入出力部に入力したデータの書き込み及び読み出しが可能なデータ記憶部である。
第2のデータ記憶部は、入出力部を介して接続された外部機器からは、データの書き込み及び読み出しができなく、少なくともセキュリティ確保用のデータが書き込まれるデータ記憶部である。
第1のデータ記憶部には、外部機器からデータを書き込む入力用ファイルと、外部機器がデータを読み出す出力用ファイルを用意する。
そして、入力用ファイルに外部機器から書き込まれた入力データに基づいて、第2のデータ記憶部に記憶されたセキュリティ確保用のデータを読み出して、その読み出したセキュリティ確保用のデータと入力データとを使った所定の演算を行う。その演算結果を出力用ファイルに書き込ませる制御を行う。
【0020】
このようにしたことで、外部装置は、入力用ファイルと出力用ファイルにアクセスできるファイルシステムを備えていれば、メモリ装置内の第2のデータ記憶部に記憶されたセキュリティ確保用のデータを使ったセキュリティ処理が可能になる。即ち、入力用ファイルに、外部装置からコマンドやパスワードを書き込ますことで、それらの書き込まれたデータと第2のデータ記憶部に記憶されたセキュリティ確保用のデータとを使ったセキュリティ用の処理が実行される。そして、そのセキュリティ用の処理結果を、出力用ファイルから外部機器が取得することで、外部機器にAPIをインストールした場合と同様の処理が可能となる。
入力用ファイルと出力用ファイルは、コンピュータ装置用として普及した一般的なファイルシステムを採用することで、殆どのコンピュータ装置で入力用ファイルと出力用ファイルを読み書きできることになる。
【発明の効果】
【0021】
本発明によれば、データの入力用ファイルに外部装置からパスワードやコマンドなどを書き込ませて、その結果を出力用ファイルから得て、所望のセキュリティ処理を行うことが可能となる。このため、APIなどがインストールできない状態に制限されたコンピュータ装置であっても、入力用ファイルと出力用ファイルにアクセスできれば、接続されたメモリ装置を使ったセキュリティ処理を行うことが可能となる効果を有する。APIなどがインストールできるコンピュータ装置であっても、アクセス用のソフトウェアなどをインストールする必要がないため、コンピュータ装置側の負担を軽減できる効果を有する。
【図面の簡単な説明】
【0022】
【図1】本発明の第1の実施の形態に係るメモリ装置の構成例を示したブロック図である。
【図2】本発明の第1の実施の形態に係るメモリ装置の形状例を示す斜視図である。
【図3】本発明の第1の実施の形態に係る処理状態の概要を示す原理図である。
【図4】本発明の第1の実施の形態に係る記憶領域構成例を示した説明図である。
【図5】本発明の第1の実施の形態に係るインファイルとアウトファイルの例を示した説明図である。
【図6】本発明の第1の実施の形態に係るパスワード認証処理例を示すフローチャートである。
【図7】本発明の第1の実施の形態に係るIDの書き込み処理例を示すフローチャートである。
【図8】本発明の第1の実施の形態に係るIDの照合処理例を示すフローチャートである。
【図9】本発明の第2の実施の形態に係るメモリ装置の構成例を示したブロック図である。
【図10】本発明の第2の実施の形態に係るメモリ装置の形状例を示す斜視図である。
【図11】本発明の第2の実施の形態に係る指紋認証処理例を示すフローチャートである。
【図12】従来のパスワード認証処理例を示すフローチャートである。
【図13】従来の指紋認証処理例を示すフローチャートである。
【発明を実施するための形態】
【0023】
以下、本発明の実施の形態を、以下の順序で説明する。
1.第1の実施の形態が適用される装置の構成例(図1,図2)
2.第1の実施の形態の処理状態の例(図3〜図5)
3.第1の実施の形態によるパスワード認証処理例(図6)
4.第1の実施の形態によるID書き込み及び照合処理例(図7,図8)
5.第2の実施の形態が適用される装置の構成例(図9,図10)
6.第2の実施の形態による指紋認証処理例(図11)
7.各実施の形態の変形例
【0024】
[1.第1の実施の形態が適用される装置の構成例:図1,図2]
本発明の第1の実施の形態の例を、図1〜図8を参照して説明する。
まず、本実施の形態の例が適用される装置構成を、図1及び図2を参照して説明する。
図1に示すように、本実施の形態の例は、情報処理装置であるコンピュータ装置(ホストPC)のUSB規格のソケットに接続して使用されるメモリ装置として構成してある。このUSB規格のソケットに接続されるメモリ装置は、USBメモリと称され、比較的大容量のフラッシュメモリを内蔵して、そのフラッシュメモリを、接続されたホストPCが記憶手段として使用できるものである。但し後述するように本実施の形態の例のメモリ装置は、認証処理などを行うためのデータについても記憶させてあり、認証を行うためのセキュリティ用トークンとしても使用される。
【0025】
図1の構成について説明すると、ホストPC1のUSB規格のソケットに、メモリ装置10のUSB用端子11が接続させてある。メモリ装置10は、外形形状の例を図2に示すように、メモリ装置10本体を構成する筐体の側面に、USB用端子11を配置した小型形状であり、持ち運びが自由に出来る形状である。USB用端子11内には、図2に示したように端子用接点部11aが配置してあり、その接点部11aがホストPC1側のソケットの接点部と導通する。なお、図2の形状は一例を示したものであり、この形状に限定されるものではない。
【0026】
図1の説明に戻ると、メモリ装置10のUSB用端子11は、USBインターフェース部21と接続させてあり、USBインターフェース部21を介してホストPC1とメモリ装置10とのデータ転送が行われる。
メモリ装置10内には、中央制御ユニット(CPU)22を備え、その中央制御ユニット22の制御で、入力データのフラッシュメモリ30への記憶とフラッシュメモリ30からの読み出しなどが行われる。フラッシュメモリ30は、フラッシュメモリインターフェース部23を介して内部バスに接続してある。フラッシュメモリ30のデータ記憶領域の構成については後述する。
【0027】
また、暗号鍵などのセキュリティ確保用のデータなどが記憶されるEEPROM24が用意してあり、中央制御ユニット24の制御で、そのEEPROM24の記憶データを読み出すことができる。EEPROM24には、暗号化エンジン部25が接続してあり、必要によりEEPROM24に書き込ませるデータの暗号化及び読み出したデータの復号化が行える。
さらに、読み出し専用のROMと読み書き自在なRAMとで構成されるメモリ26が用意してある。ROMには、メモリ装置が必要なプログラムを記憶させてある。RAMはワーキング用RAMとして使用される。
【0028】
メモリ装置10内での動作に必要なクロックは、水晶振動子12の発振出力に基づいてPLL(Phase locked loop)回路27で得る。
【0029】
[2.第1の実施の形態の処理状態の例:図3〜図5]
3.第1の実施の形態によるパスワード認証処理
次に、本実施の形態のメモリ装置10を、ホストPC1に接続させて使用する場合の処理状態と、その処理のための構成について説明する。
本実施の形態のメモリ装置10は、フラッシュメモリ30の記憶領域として、図4に示すように、通常領域100の他に特殊領域110を有する。
【0030】
通常領域100は、接続されたホストPC1側から常時、データの書き込み及び読み出しが自由にできる第1の記憶領域である。但し、後述するように一部のデータについては隠しファイルとして記憶されて、ファイル属性などがホストPC1側では表示できないようにしてある。
特殊領域110は、接続されたホストPC1から直接的にはデータを書き込ませたり読み出すことができない制限された領域として使用される、第2の記憶領域である。本例の場合には、パスワード入力などの本人認証処理を行うことで、ホストPC1が特殊領域110のデータを読み書きできるようになる。但し、特殊領域110に記憶された認証に関係したデータについては、パスワードを入力させても、ホストPC1からは読み出すことができないようにしてある。この特殊領域110には、認証用のデータとして、認証用のID(Identity Document),認証用の証明書,パスワードなどが記憶される。なお、特殊領域110の記憶データの内の認証用のデータの一部又は全部は、フラッシュメモリ30とは別のメモリであるEEPROM24に記憶させてもよい。
これらの特殊領域110内の認証に関係したデータは、図3に示すように、メモリ装置10内の中央制御ユニット22で実行される認証コントロール用(トークンコントロール用)のファームウェア120を介して、ホストPC側が読み書きを行う。
なお、本例の場合には、暗号鍵やパスワードなどの認証用のデータについては、EEPROM24に記憶させてある。また、フラッシュメモリ30内の特殊領域110やEEPROM24にこれらのデータを記憶して保存する際には、暗号化エンジン25で暗号化を行うようにしてもよい。
【0031】
フラッシュメモリ30の記憶領域の内の通常領域100は、図3に示すように、アプリケーション101のデータが記憶される他に、インファイル102とアウトファイル103とが用意してある。アプリケーション101は、ホストPC1がインファイル102とアウトファイル103とを利用するためのアプリケーションである。このアプリケーション101は、ホストPC1側で特別な権限がなくても実行可能なアプリケーションとしてあり、ユーザモードで実行可能である。また、このアプリケーション101には、本人認証を行うためのソフトウェアも含まれている。
【0032】
インファイル102は、ホストPC1側からデータの書き込みができるファイルである。アウトファイル103は、書き込まれたファイルのデータを、ホストPC1が読み出すことができるファイルである。これらのインファイル102とアウトファイル103は、ホストPC1で採用しているOS(Operating System)のファイルシステムを適用して書き込まれたファイルである。但し、インファイル102とアウトファイル103は、ファイル属性などの詳細がホストPC1側では表示されない隠しファイルに指定するのが好ましい。さらに、インファイル102やアウトファイル103から読み出したデータについては、ホストPC1内でキャッシュやバッファなどの保存が行われないように指定することが望ましい。
【0033】
図5は、インファイル102とアウトファイル103の構成例を示した図である。
インファイル102は、ファイル名(内容),コマンドコード,予約状況,データ長が各アドレスに、4バイトなどの所定長で配置され、データ長に続いてデータが書き込まれる領域が用意されている。インファイル102のデータの配置領域は、上述したホストPC1でデータが書き込まれる領域である。メモリ装置10内の中央制御ユニット22が実行するファームウェアにより、この書き込まれたデータやコマンドが判別される。即ち、図5に示すように、ホストPC1から伝送されたデータD−INが、データの配置領域に書き込まれる。ホストPC1からのコマンドについては、コマンドの領域に書き込まれる。
【0034】
アウトファイル103は、ファイル名(内容),リザルトコード,予約状況,データ長が各アドレスに、4バイトなどの所定長で配置され、データ長に続いてデータが書き込まれる領域が用意されている。アウトファイル103のデータの配置領域は、中央制御ユニット22が実行するファームウェアにより、書き込まれる領域であり、その書き込まれたデータが、ホストPC1で読み出される。即ち、図5に示すように、アウトファイル103のデータ領域に書き込まれたデータD−OUTや、コマンドの実行結果であるリザルトが、ホストPC1で読み出される。
【0035】
中央制御ユニット22が実行するファームウェアでは、インファイル102に書き込まれたコマンドに従った指令で、書き込まれたデータと、特殊領域110に記憶された認証用のデータとを使った認証用の演算処理が行われる。その演算処理結果が、アウトファイル103のデータ領域に書き込まれる。或いは、データで指定された特殊領域110のデータを読み出す処理を行って、その読み出されたデータを、アウトファイル103のデータ領域に書き込ませるようにしてもよい。
また、認証結果が可か不可かの区別だけを、アウトファイル103のリザルトの欄に書き込ますだけとしてもよい。
【0036】
インファイル102とアウトファイル103で使用するコマンドコードとリザルトコードについては、事前に決めておき、アプリケーション101の実行でホストPC1が判るようにしてある。なお、コマンドやリザルトがない状態で、インファイル102やアウトファイル103の該当欄に記載される初期値についても決めてある。インファイル102にコマンドやデータが書き込まれた場合には、例えば、そのコマンドやデータを受け取ったメモリ装置10内のファームウェア120が、初期値に戻す処理を行う。アウトファイル103にリザルトやデータが書き込まれた場合には、例えば、そのリザルトやデータを受け取ったホストPC1が、アプリケーション101の実行で初期値に戻す処理を行う。
【0037】
なお、特殊領域110に書き込まれたデータについては、暗号化エンジン25で暗号化されたデータとして、その特殊領域110に書き込まれたデータを読み出した際に、暗号化エンジン25で復号化する構成としてもよい。
また、インファイル102に書き込まれるデータとアウトファイル103で読み出されるデータについても、暗号化してもよい。
【0038】
[3.第1の実施の形態によるパスワード認証処理例:図6]
次に、図6のフローチャートを参照して、本実施の形態による処理として、パスワード入力による本人認証を行う場合の例を説明する。パスワード入力による本人認証が完了することで、メモリの特殊領域110の読み書きを可能とするものである。
この例では、メモリの特殊領域110にパスワードを記憶させてあり、ホストPC1側で入力されたパスワードと認証させる処理例について説明する。
図6以降で説明する各フローチャートでは、左側がホストPCでの処理であり、右側がメモリ装置での処理である。例えばメモリ装置10をホストPC1に接続させることで、この図6のフローチャートの処理が開始される。
【0039】
まず、ホストPC1では、パスワードの入力を促すメッセージの表示がディスプレイ上で行われる(ステップS31)。図6の例では、「パスワードを入力して下さい」と表示させてある。この表示は、例えばメモリ装置10をホストPC1に接続した際に表示させる。
その表示が行われた状態で、ユーザがホストPC1のキーボードなどを使ってパスワードが入力されたとする(ステップS32)。このとき、その入力されたパスワードを、ホストPC1は、インファイル102のデータ欄に書き込み、コマンド欄に、「パスワード照合コマンド」を書き込ませる(ステップS33)。
【0040】
メモリ装置10のファームウェア120では、ステップS33の書き込みがあると、そのパスワード照合コマンドに基づいた処理が実行される。即ち、インファイル102のデータ欄に書き込まれたパスワードと、特殊領域110に保存されたパスワードとを比較する。その比較の結果が正しいパスワードの入力であると判断した場合には、ホストPC1からフラッシュメモリ30の特殊領域110への読み書きを許可する(ステップS34)。
そして、メモリ装置10のファームウェア120での照合結果を、ファームウェア120の処理でアウトファイル103のリザルトの欄などに書き込ませる(ステップS35)。
【0041】
ホストPC1では、このアウトファイル103のリザルトの欄に書き込まれた照合結果を判断して、次の処理に進む。具体的には、パスワード照合が正しい場合には、特殊領域110に対して、読み書きが可能な状態となり、特殊領域110のファイル表示などが行われる。パスワード照合が正しくない場合には、例えばパスワードを再度入力させる表示などが行われる。
また、パスワードが、何らかの認証用のデータを得るセキュリティ用トークンとしてのパスワード入力である場合には、その許可されて得たデータに基づいた処理が行われる。
【0042】
[4.第1の実施の形態によるID書き込み及び照合処理例:図7,図8]
次に、図7及び図8のフローチャートを参照して、本実施の形態による処理として、ID書き込み及び照合を行う場合の例を説明する。ここでは、照合による認証処理として、メモリ装置10がもつ固有の情報を使った認証を行うものである。
まず、図7を参照してID書き込み処理について説明すると、ホストPC1側のディスプレイでは、IDの入力画面が表示されて、その表示に基づいてユーザがIDを入力したとする(ステップS41)。そのIDの入力があると、メモリ装置10に対してVID(ベンダID:メーカ番号)とPID(プロダクトID:製品番号)と、シリアル番号とを読み出すコマンドが発行される(ステップS42)。このコマンドが発行されると、メモリ装置10からホストPC1が保持しているVIDとPIDとシリアル番号とが、ホストPC1に転送される(ステップS43)。このVIDとPIDとシリアル番号との読み出しは、例えば、USB規格で接続された機器の認証用に決められた手順に従って実行される。
【0043】
その後、ホストPC1では、ステップS41で入力されたIDと、メモリ装置10から読み出したVIDとPIDとシリアル番号とを、アプリケーション101に記載されている暗号鍵(k)を使って暗号化を行い、暗号化値(x)を得る。ホストPC1は、この暗号化値(x)を、メモリ装置10のインファイル102のデータ欄に書き込み、コマンド欄に、「ID書き込みコマンド」を書き込む(ステップS44)。なお、暗号鍵は、RSA暗号化方式,AES暗号化方式,DES暗号化方式などの、既に公知の各種暗号化方式の鍵が適用可能である。
メモリ装置10では、「ID書き込みコマンド」を判別すると、データ欄に書き込まれた暗号化値(x)を、特別領域に書き込む(ステップS45)。ここでの特別領域は、ホストPC1からは見えない領域である。
その書き込みが完了すると、メモリ装置10は、アウトファイル103に、書き込み完了を示すリザルトデータを書き込み(ステップS46)、そのリザルトをホストPC1が確認して終了する。
【0044】
図8のフローチャートは、このようにして暗号化されたIDの照合処理例である。
この照合時には、ホストPC1は、メモリ装置10に対してVIDとPIDと、シリアル番号とを読み出すコマンドが発行される(ステップS51)。このコマンドが発行されると、メモリ装置10からホストPC1が保持しているVIDとPIDとシリアル番号とが、ホストPC1に転送される(ステップS52)。ここまでのVIDとPIDとシリアル番号との読み出しは、例えば、USB規格で接続された機器の認証用に決められた手順に従って実行される。
次に、ホストPC1は、メモリ装置10のインファイル102のコマンド欄に、「ID読み出しコマンド」を書き込む(ステップS53)。
メモリ装置10のファームウェア120では、「ID書き込みコマンド」を判別すると、特別領域に書き込まれた暗号化されたIDを読み出す(ステップS54)。そして、その読み出したID(ここでは暗号化値(x))を、アウトファイル103のデータ欄に書き込ませる(ステップS55)。
【0045】
ホストPC1では、その書き込まれた暗号化値(x)を読み出し、その読み出された暗号化値(x)を、アプリケーション101に記載されている暗号鍵(k)を使って復号化する(ステップS56)。このようにして復号化されたIDと、ステップS52で転送されたVIDとPIDとシリアル番号とを比較する。ここで、復号化されたVIDとPIDとシリアル番号とが、メモリ装置10から転送されたVIDとPIDとシリアル番号と一致するか否か判断する(ステップS57)。一致する場合には、復号化したIDが正しいものであると判断し、復号化したIDを使った処理が実行される(ステップS58)。一致しない場合には、復号化したIDが正しくないと判断して、エラー処理が行われる(ステップS59)。
【0046】
このように、本実施の形態によると、メモリ装置が接続されるホストPC側で、認証処理のための専用のアプリケーションソフトウェアをインストールすることなく、メモリ装置を使った各種認証処理が可能となる。このため、例えば、メモリ装置を認証用のトークンとして使用することで、外出先の管理者権限がないコンピュータ装置で、特定の会社のLANに接続できるようになる。
また、メモリ装置内のデータを、パスワード認証で保護してある場合にも、そのパスワード認証処理のためのアプリケーションソフトウェアをコンピュータ装置側にインストールする必要がなく、コンピュータ装置側の負担が少ない効果を有する。
【0047】
[5.第2の実施の形態が適用される装置の構成例:図9,図10]
次に、本発明の第2の実施の形態の例を、図9〜図11を参照して説明する。この図9〜図11において、先に第1の実施の形態で説明した図1〜図8と同一部分には同一符号を付す。
【0048】
本実施の形態の例においても、フラッシュメモリを内蔵したUSBメモリと称されるメモリ装置に適用したものであり、本実施の形態の例においては、生体認証機能を備えた点が、第1の実施の形態のメモリ装置と異なるものである。
図10は、本実施の形態の例のメモリ装置10′の形状の例を示したものである。
メモリ装置10′本体を構成する筐体の側面に、USB用端子11を配置した小型形状であり、持ち運びが自由に出来る形状である。USB用端子11内には、端子用接点部11aが配置してあり、その接点部11aがホストPC1側のソケットの接点部と導通する。筐体の表面には、生体認証用の手段としての指紋照合センサ13が配置してある。指紋照合センサ13は、そのセンサの表面に触れられた指の指紋を画像データなどとして検出するセンサである。また、指紋照合センサ13の脇には、発光ダイオード14が配置してある。
【0049】
図9は、メモリ装置10′の内部構成を示した図である。メモリ装置10′のUSB用端子11は、USBインターフェース部21と接続させてあり、USBインターフェース部21を介してホストPC1とメモリ装置10′とのデータ転送が行われる。
メモリ装置10′内には、中央制御ユニット22を備え、その中央制御ユニット22の制御で、入力データのフラッシュメモリ30への記憶とフラッシュメモリ30からの読み出しなどが行われる。フラッシュメモリ30は、フラッシュメモリインターフェース部23を介して内部バスに接続してある。フラッシュメモリ30のデータ記憶領域としては、例えば図4で説明したように、ホストPCからの読み書きに制限がない通常領域100と、読み書きが制限される特殊領域110を有する構成としてある。
【0050】
また、暗号鍵などが記憶されるEEPROM24が用意してあり、中央制御ユニット24の制御で、そのEEPROM24の記憶データを読み出すことができる。EEPROM24には、暗号化エンジン部25が接続してあり、必要によりEEPROM24に書き込ませるデータの暗号化及び読み出したデータの復号化が行える。
さらに、読み出し専用のROMと読み書き自在なRAMとで構成されるメモリ26が用意してある。ROMには、メモリ装置が必要なプログラムを記憶させてある。RAMはワーキング用RAMとして使用される。
【0051】
メモリ装置10′内での動作に必要なクロックは、水晶振動子12の発振出力に基づいてPLL(Phase locked loop)回路27で得る。
ここまでの内部構成は、基本的に図1に示したメモリ装置10と同じ構成である。但し、メモリ26には、生体認証処理に必要なプログラムが記憶させてある。
【0052】
そして本実施の形態の例のメモリ装置10′は、生体認証手段としての指紋照合センサ13を備え、指紋照合エンジン28と接続させてある。指紋照合エンジン28は、指紋照合センサ13で読み取った指紋データを、メモリ装置10′内に記憶された指紋データと比較する処理を行い、その照合結果を中央制御ユニット22側に出力する。この指紋照合センサ13を使った指紋照合は、メモリ装置10′内の記憶データの保護や、メモリ装置10′を使った認証処理などのために使用される。
また、発光ダイオードコントローラ29により発光ダイオード14の点灯が制御される構成としてある。発光ダイオードコントローラ29は、中央制御ユニット22から点灯指令が供給される。発光ダイオード14は、例えば指紋照合センサ13で指紋の読み取り準備ができたときに点灯するように制御される。
【0053】
フラッシュメモリ30については、先に説明したように、通常領域100と特殊領域110とを備えて、特殊領域110が制限される。この特殊領域110への読み書きを可能とするための制御は、例えば図3に示したファームウェア120の実行で行われる。但し、ファームウェア120の内容については、指紋照合処理を行うことが第1の実施の形態で説明したファームウェア120とは異なる。
さらに、通常領域100には、例えば図3に示したようにインファイル102とアウトファイル103と、それらインファイル102及びアウトファイル103を利用するためのアプリケーションソフト101とを備える。このインファイル102及びアウトファイル103については、第1の実施の形態で説明した処理構成と基本的に同じである。
【0054】
[6.第2の実施の形態による指紋認証処理例:図11]
次に、図11のフローチャートを参照して、本実施の形態のメモリ装置10′で指紋照合処理を行う例を説明する。
この例では、メモリの特殊領域110には予め登録されたユーザの指紋画像のデータを記憶させてある。そして、例えばメモリ装置10′をホストPC1に接続させることで、この図11のフローチャートの処理が開始される。
【0055】
ホストPC1では、指紋照合センサ13に指をのせることを指示するメッセージの表示がディスプレイ上で行われる(ステップS61)。図11の例では、「指を指紋センサに置いて下さい」と表示させてある。
その表示が行われた状態で、ホストPC1は、メモリ装置10′のインファイル102に、指紋照合コマンドを書き込む(ステップS62)。メモリ装置10′側でインファイル102の指紋照合コマンドを検出することで、指紋センサ13が起動される。この指紋センサ13が起動したことは、例えば発光ダイオード14の点灯でユーザにも告知される。
この状態で指紋センサ13にユーザの指が置かれると(ステップS63)、メモリ装置10′側では、指紋センサ13で指紋画像の読み取りが行われ、指紋照合エンジン28で指紋照合処理が行われる(ステップS64)。その指紋照合処理で、予め登録された指紋のデータと一致するか否か判定される(ステップS65)。ここでの判定が正しい場合、即ち指紋が一致した場合には、フラッシュメモリ30の特殊領域110への読み書きが許可される。
ステップS65で照合が正しいか否かの結果は、アウトファイル103にリザルトとして書き込まれる(ステップS66)。
【0056】
ホストPC1では、このアウトファイル103のリザルトの欄に書き込まれた照合結果を判断して、次の処理に進む(ステップS67)。具体的には、指紋照合が正しい場合には、特殊領域110に対して、読み書きが可能な状態となり、特殊領域110のファイル表示などが行われる。指紋照合が正しくない場合には、指紋照合結果の不一致を表示させ、必要により再度指紋照合を実行させるための表示などが行われる。
また、指紋照合が、何らかの認証用のデータを得るセキュリティ用トークンとしての指紋照合である場合には、その許可されて得たデータに基づいた処理が行われる。
この図11のフローチャートの例では、指紋照合によりメモリの特殊領域へのアクセスと、セキュリティ用トークンとしての指紋照合の例を説明したが、その他の各種セキュリティ処理を、指紋などの生体認証で同様に行うようにしてもよい。第1の実施の形態で図7,図8に示したIDの書き込み及び照合を、同様の指紋などの生体認証で行うようにしてもよい。
【0057】
このように本実施の形態によると、ホストPC側に、専用のアプリケーションソフトをインストールすることなく、接続されたメモリ装置を使った指紋照合などの生体認証処理が可能となる。従って、ソフトウェアのインストールなどに制限があるコンピュータ装置であっても、接続されたメモリ装置を使った生体認証処理が可能となる効果を有する。
【0058】
[7.各実施の形態の変形例]
なお、ここまで説明した第1及び第2の実施の形態で示したメモリ装置での処理や構成は、好適な一例を示したものであり、本発明はこれらの実施の形態で示した構成や処理に限定されるものではない。
例えば、上述した各実施の形態では、USBメモリと称される形態のメモリ装置に適用したが、各種メモリカードなどのその他のメモリ装置に適用してもよい。メモリ装置の内部構成についても、好適な一例を示したものであり、図1や図9などに示した構成に限定されるものではない。
【0059】
また、メモリ装置内の一部の記憶領域への読み書きを、パスワード入力などの本人認証で行うようにしたが、インファイルやアウトファイルが用意される通常領域については、その他のデータの書き込みができない構成としてもよい。即ち、インファイルとアウトファイルとそれらのファイルを利用するアプリケーションソフトだけを通常領域に記憶させて、その他のデータは、通常領域へは書き込みできないようしてもよい。このようにすることで、事実上全ての記憶データは、セキュリティが確保された状態で記憶されることになる。
また、ファイルやデータに対する暗号化や復号化、あるいは電子署名や証明書認証などのセキュリティに関する各種処理を行う際にも、同様にインファイルによりコマンドとデータを設定して、アウトファイルでその結果を受け取るようにしてもよい。
【0060】
また、第2の実施の形態の例では、生体認証処理として指紋検出処理を行うようにしたが、その他のバイオメトリクス情報を検出して認証処理を行うようにしてもよい。生体情報を検出するためのセンサは、上述した第2の実施の形態の例では、メモリ装置と一体化された構成としたが、メモリ装置と一体でなくてもよい。
【符号の説明】
【0061】
1…ホストPC(ホストコンピュータ装置)、10…メモリ装置、11…USB用端子、11a…端子用接点部、12…水晶振動子、13…指紋照合センサ、14…発光ダイオード、21…USBインターフェース部、22…中央制御ユニット(CPU)、23…フラッシュメモリインターフェース部、24…EEPROM、25…暗号化エンジン部、26…プログラム用メモリ、27…PLL回路、28…指紋照合エンジン、29…発光ダイオードコントローラ、30…フラッシュメモリ、100…通常領域、101…アプリケーション、102…インファイル、103…アウトファイル、110…特殊領域

【特許請求の範囲】
【請求項1】
データの入力及び出力を行う入出力部と、
前記入出力部を介して接続された外部機器からの指示で、前記入出力部に入力したデータの書き込み及び読み出しが可能な第1のデータ記憶部と、
前記入出力部を介して接続された前記外部機器からは、データの書き込み及び読み出しができなく、少なくともセキュリティ確保用のデータが書き込まれる第2のデータ記憶部と、
前記第1のデータ記憶部に、前記外部機器からデータを書き込む入力用ファイルと、前記外部機器がデータを読み出す出力用ファイルを用意し、前記入力用ファイルに前記外部機器から書き込まれた入力データに基づいて、前記第2のデータ記憶部に記憶されたセキュリティ確保用のデータを読み出して、その読み出したセキュリティ確保用のデータと前記入力データとを使った所定の演算を行い、その演算結果を前記出力用ファイルに書き込ませる制御部とを備えた
メモリ装置。
【請求項2】
前記第1のデータ記憶部に用意される入力用ファイル及び出力用ファイルは、前記外部機器がアクセス可能なファイルシステムに従ったファイルである
請求項1に記載のメモリ装置。
【請求項3】
前記入力用ファイル及び前記出力用ファイルは、前記外部機器では表示されない属性の隠しファイルとした
請求項2に記載のメモリ装置。
【請求項4】
前記入力用ファイル及び前記出力用ファイルは、それぞれに書き込まれたデータを前記外部機器に読み出した際に、その読み出したデータを前記外部機器内でキャッシュ又はバッファさせることを禁止したファイルとした
請求項3に記載のメモリ装置。
【請求項5】
暗号化及び復号化を行う暗号・復号処理部を備え、
前記第2のデータ記憶部に書き込まれるデータは、前記暗号・復号処理部で暗号化し、前記第2のデータ記憶部から読み出したデータは、前記暗号・復号処理部で復号化する
請求項2に記載のメモリ装置。
【請求項6】
前記制御部が行う前記所定の演算は、前記入力用ファイルに書き込まれたパスワードと、前記第2のデータ記憶部に記憶されたセキュリティ確保用のパスワードとを比較する演算であり、前記制御部は、前記演算結果を前記出力用ファイルに書き込ませると共に、演算結果でパスワードが一致した場合に、前記入出力部を介して接続された外部機器が、前記第2のデータ記憶領域への書き込み又は読み出しができるように制御する
請求項1に記載のメモリ装置。
【請求項7】
前記制御部が行う前記所定の演算は、当該メモリ装置に固有の情報を使って認証を行うための演算であり、
前記制御部は、前記演算結果としての認証結果を、前記出力用ファイルに書き込ませる
請求項1に記載のメモリ装置。
【請求項8】
生体認証用入力部を備え、
前記制御部は、前記入力用ファイルに書き込まれた生体認証開始コマンドに基づいて、前記生体認証用入力部で入力した生体認証用データと、前記第2のデータ記憶部に記憶されたセキュリティ確保用のデータとしての照合用データとの照合処理を行い、その照合結果を前記前記出力用ファイルに書き込ませる
請求項1に記載のメモリ装置。
【請求項9】
前記生体認証用入力部は、指紋読み取り部である
請求項8に記載のメモリ装置。
【請求項10】
データの入力及び出力を行う入出力処理機能と、
第1のデータ記憶領域に対して、前記入出力処理機能により外部機器から入力した指示で入力したデータの書き込み及び読み出しを可能とし、前記外部機器からデータを書き込む入力用ファイルと、前記外部機器がデータを読み出す出力用ファイルを、前記第1のデータ記憶領域に用意する第1のデータ記憶領域制御処理と、
第2のデータ記憶領域に対して、前記入出力処理機能により外部機器から入力した指示で、データの書き込み及び読み出しができない状態に制限し、前記入力用ファイルに前記外部機器から書き込まれた入力データに基づいて、前記第2のデータ記憶領域に記憶されたセキュリティ確保用のデータを読み出して、その読み出したセキュリティ確保用のデータと前記入力データとを使った所定の演算を行い、その演算結果を前記出力用ファイルに書き込ませる第1のデータ記憶領域制御処理とを行う
メモリ制御方法。

【図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

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2010−170276(P2010−170276A)
【公開日】平成22年8月5日(2010.8.5)
【国際特許分類】
【出願番号】特願2009−11311(P2009−11311)
【出願日】平成21年1月21日(2009.1.21)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.EEPROM
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】