JP4792771B2 - データ処理方法およびデータ処理システム - Google Patents

データ処理方法およびデータ処理システム Download PDF

Info

Publication number
JP4792771B2
JP4792771B2 JP2005062566A JP2005062566A JP4792771B2 JP 4792771 B2 JP4792771 B2 JP 4792771B2 JP 2005062566 A JP2005062566 A JP 2005062566A JP 2005062566 A JP2005062566 A JP 2005062566A JP 4792771 B2 JP4792771 B2 JP 4792771B2
Authority
JP
Japan
Prior art keywords
data
data processing
public key
processing device
biometric information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005062566A
Other languages
English (en)
Other versions
JP2006246360A (ja
Inventor
歩 渡邊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2005062566A priority Critical patent/JP4792771B2/ja
Publication of JP2006246360A publication Critical patent/JP2006246360A/ja
Application granted granted Critical
Publication of JP4792771B2 publication Critical patent/JP4792771B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、たとえば、ICカードやリーダ/ライタ(Reader/Writer)装置などのデータ処理装置間でデータ通信を行うデータ処理方法、データ処理システム、およびデータ処理装置に関するものである。
たとえば、ICカードやリーダ/ライタ装置などのデータ処理装置間でデータ通信を行うシステムが知られている(たとえば、特許文献1参照)。
近年では、たとえばICカード自体に強力なセキュリティ性を確保するために各種の機能が実装されており、たとえば外部からの不正なアクセスに対する安全性が高い。
しかし、ICカード自体を落としたり盗まれたりした場合には、他人が容易に使用してしまう可能性がある。
このため、ICカードを本人以外が使用できないようにするために、指紋などの個人(ユーザ)の生体情報を用いて個人認証を行うシステムが知られている。
たとえば、ICカードが、生体情報を検知するための生体情報読み取り部を備え、カード使用時に生体情報読み取り部が個人(ユーザ)の生体情報を読み取る。そして予めICカードが備えるメモリに格納する生体情報と、読み取った生体情報が一致する場合に、ICカードの所有者本人であると判断して、リーダ/ライタと通信可能とするシステムが知られている。
また、リーダ/ライタが、生体情報を検知する生体情報読み取り部を備え、ICカード使用時に個人(ユーザ)の生体情報を読み取り、読み取った生体情報をリーダ/ライタからICカードへ送信し、ICカードが備えるメモリに格納する生体情報と一致する場合に、ICカードの所有者本人であると判断した、リーダ/ライタと通信可能とするシステムが知られている。
特開2002−24778号公報
しかし、たとえば上述したICカードに読み取り部を設けたシステムでは、生体情報をICカードに保存しておく必要があり、外部から何らかの方法により生体情報を読み取られる可能性がある。
また、上述したリーダ/ライタに読み取り部を設けたシステムでは、ICカードの処理負荷は軽減されるが、リーダ/ライタと通信中の生体情報を不正に読み出すことで、生体情報が読み出される可能性がある。
本発明は、かかる事情に鑑みてなされたものであり、その目的は、生体情報を用いてよりセキュリティ性の高いデータ通信を行うことができるデータ処理方法、データ処理システム、およびデータ処理装置を提供することにある。
前記目的を達成するために、本発明の第1の観点のデータ処理方法は、第1および第2のデータ処理装置間で公開鍵暗号方式を用いてデータ通信を行うデータ処理方法であって、前記第1のデータ処理装置が、予めユーザの生体情報に応じて生成された前記公開鍵暗号方式による公開鍵に基づいて、所定のデータを前記公開鍵暗号方式により暗号化して暗号データを生成し、当該暗号データを前記第2のデータ処理装置に送信する第1のステップと、前記第2のデータ処理装置が、前記ユーザの生体情報に基づいて前記公開鍵暗号方式による前記公開鍵に対応する秘密鍵を生成し、当該秘密鍵に基づいて、前記第1のデータ処理装置から受信した前記暗号データを前記公開鍵暗号方式に対応する復号方式により復号する第2のステップと、を有し、前記予め生成された公開鍵暗号方式による公開鍵および当該公開鍵に対応する秘密鍵は、ユーザの生体情報を所定回数読み取り、読み出した生体情報をビット列データに変換して前記所定回数分の平均値を算出する第3のステップと、前記第3のステップにおいて読み出した前記生体情報と同じビット数の乱数を生成し、前記第3のステップにおいて算出した前記平均値と排他的論理和を計算する第4のステップと、前記第ステップにおいて計算した結果の値が素数であるか否かを判断し、素数でないと判断した場合は前記第ステップを繰り返すことにより素数である結果の値を2つ生成し、それぞれを公開鍵および秘密鍵とする第5のステップと、により生成する。
さらに、前記目的を達成するために、本発明の第2の観点のデータ処理システムは、公開鍵暗号方式を用いてデータ通信を行う第1および第2のデータ処理装置を有するデータ処理システムであって、前記第1のデータ処理装置は、前記第2のデータ処理装置とデータ通信を行う第1の送受信部と、ユーザの生体情報に応じて予め生成された前記公開鍵暗号方式による公開鍵を記憶するメモリと、前記メモリが記憶する前記公開鍵に基づいて、所定のデータを前記公開鍵暗号方式により暗号化して暗号データを生成し、当該暗号データを前記第1の送受信部を介して前記第2のデータ処理装置に送信する第1の制御部と、を含み、前記第2のデータ処理装置は、前記第1のデータ処理装置とデータ通信を行う第2の送受信部と、前記第2のデータ処理装置のユーザの生体情報を読み取る読取部と、前記読取部が読み取った前記生体情報に基づいて前記公開鍵暗号方式による前記公開鍵に対応する秘密鍵を生成し、当該秘密鍵に基づいて、前記第1のデータ処理装置から前記第2の送受信部を介して受信した前記暗号データを前記公開鍵暗号方式に対応する復号方式により復号する第2の制御部と、を含み、前記予め生成された公開鍵暗号方式による公開鍵および当該公開鍵に対応する秘密鍵は、ユーザの生体情報を所定回数読み取り、読み出した生体情報をビット列データに変換して前記所定回数分の平均値を算出し、読み出した前記生体情報と同じビット数の乱数を生成し、前記算出した前記平均値との排他的論理和を計算し、計算した結果の値が素数であるか否かを判断し、素数でないと判断した場合は素数となるまで前記乱数の生成を繰り返すことにより素数である結果の値を2つ生成し、それぞれを公開鍵および秘密鍵とする
本発明によれば、生体情報を用いてよりセキュリティ性の高いデータ通信を行うことができるデータ処理方法、データ処理システム、およびデータ処理装置を提供することができる。
本発明に係るデータ処理システムは、第1のデータ処理装置が、生体情報に応じて生成された公開鍵暗号方式による公開鍵に基づいて、所定のデータを公開鍵暗号方式により暗号化して暗号データを生成し、その暗号データを第2のデータ処理装置に送信し、第2のデータ処理装置が、その生体情報に基づいて公開鍵暗号方式による公開鍵に対応する秘密鍵を生成し、その秘密鍵に基づいて、第1のデータ処理装置から受信した暗号データを公開鍵暗号方式に対応する復号方式により復号する。
以下、図面を参照しながら、本発明に係るデータ処理システムの一実施形態を説明する。
図1は、本発明の一実施形態に係るデータ処理装置を採用したデータ処理システムの全体構成図である。図2は、図1に示したデータ処理システム1のより詳細な全体構成図である。
本実施形態に係るデータ処理システム1は、たとえば図1,2に示すように、ICカード2、リーダ/ライタ(R/W)3、およびサーバ装置4を有する。
ICカード2は、本発明に係るデータ処理装置および第2のデータ処理装置の一実施形態に相当する。リーダ/ライタ3、およびサーバ装置4は、本発明に係る第1のデータ処理装置の一実施形態に相当する。
ICカード2、リーダライタ3、およびサーバ装置4間は、たとえばデータ通信路を介してデータ通信可能である。このデータ通信路は、たとえばデータ通信線を用いた有線方式であってもよいし、無線方式であってもよい。
〔ICカード2〕
ICカード2は、本発明に係るデータ処理を行い、処理結果に基づいてリーダ/ライタ3と本発明に係るデータ通信を行う。
ICカード2は、たとえば図1,2に示すように、送受信部21、生体情報読み取り部(読取部)22、メモリ(記憶装置)23、および制御部(CPU:Central processing unit)24を有する。
送受信部21、読取部22、メモリ23、およびCPU24は、たとえばデータ線25により接続されている。
送受信部21は本発明に係る第2の送受信部(送受信部)の一実施形態に相当する。読取部22は本発明に係る読取部の一実施形態に相当する。
メモリ23は本発明に係る第2のメモリの一実施形態に相当する。CPU24は本発明に係る第2の制御部(制御部)の一実施形態に相当する。
送受信部21は、CPU24の制御により、他のデータ処理装置、たとえばリーダ/ライタ3とデータ通信路を介してデータ通信を行う。
本実施形態に係る送受信部21は、たとえば、変調回路、復調回路、同調回路、増幅回路などにより構成され、他のデータ処理装置と無線方式や有線方式により予め規定された通信方式により、データ通信を行う。
読取部22は、CPU24の制御により、たとえば、ICカード2のユーザ(所有者)の生体情報D1を読み取り、その読み取り結果を示すデータをCPU24に出力する。
この生体情報D1は、たとえばユーザ固有の生体情報を示すデータであり、詳細には指紋データや、手のひらの血管の分布パターン、顔の画像や、声紋、瞳の虹彩パターンなどのデータである。
メモリ23は、たとえばCPU24のワークスペースとして用いられる。メモリ23は、たとえばCPU24の制御により記憶するデータを読み出す。また、メモリ23は、CPU24の制御により所定のデータを記憶する。
メモリ23は、たとえば、RAM(Random access memory)やROM(Read only memory)などにより構成されている。
図3は、図1に示したデータ処理システム1に係るデータを説明するための図である。図3(a)は、図1に示したICカード2のメモリ23が記憶するデータを説明するための図である。
メモリ23は、本発明に係る機能を有するプログラムや、たとえば図3(a)に示すように、乱数(乱数情報)D2、ユーザ情報D3、秘密鍵SK1などを記憶する。
乱数情報D2は、たとえば、生体情報を基に秘密鍵や公開鍵を生成する際に用いられる乱数に関するデータである。
ユーザ情報D3は、ICカード2のユーザに関するデータである。
秘密鍵SK1は、生体情報D1に基づいて生成された、公開鍵PK1に対応する秘密鍵を示すデータである。
CPU24は、ICカード2全体、詳細には送受信部21、読取部22、メモリ23などの各構成要素を統括的に制御する。
また、CPU24は、たとえばメモリ23が記憶するプログラムを実行することにより、本発明に係る機能を実現する。
CPU24は、詳細にはたとえば、生体情報D1に基づいて公開鍵暗号方式による公開鍵に対応する秘密鍵を生成し、当該秘密鍵に基づいて、リーダ/ライタ3から送受信部21を介して受信した暗号データを公開鍵暗号方式に対応する復号方式により復号する。
この際、CPU24は、読取部22が読み取った生体情報D1に基づいて、公開鍵暗号方式による公開鍵に対応する秘密鍵を生成する。
また、CPU24は、生成した秘密鍵に基づいて、送受信部21を介してリーダ/ライタ3から受信した暗号データを復号方式により復号して所定のデータを取得し、当該取得した所定のデータとリーダ/ライタ3に送信した所定のデータとを比較した結果、一致していると判断した場合に、リーダ/ライタ3と所定のデータ通信を行い、一致していないと判断した場合に、リーダ/ライタ3とのデータ通信を禁止する。
また、CPU24の詳細な動作に関しては、後述する。
〔リーダ/ライタ3〕
リーダ/ライタ3は、生体情報D1に応じて生成された公開鍵暗号方式による公開鍵に基づいて、所定のデータを公開鍵暗号方式により暗号化して暗号データを生成する。
リーダ/ライタ3は、たとえば図1,2に示すように、送受信部31、メモリ32、およびCPU(制御部)33を有する。
送受信部31、メモリ32、およびCPU33は、データ線34により接続されている。
送受信部31は、本発明に係る第1の送受信部の一実施形態に相当する。メモリ32は、本発明に係る第1のメモリの一実施形態に相当する。CPU33は、本発明に係る第1の制御部の一実施形態に相当する。
送受信部31は、たとえば、CPU33の制御により、他のデータ処理装置、たとえばICカード2やサーバ装置4とデータ通信路を介してデータ通信を行う。
本実施形態に係る送受信部31は、たとえば、変調回路、復調回路、同調回路、増幅回路などにより構成され、他のデータ処理装置と無線方式や有線方式により予め規定された通信方式により、データ通信を行う。
メモリ32は、たとえばCPU33のワークスペースとして用いられる。メモリ32は、たとえばCPU33の制御により、記憶するデータを読み出す。また、メモリ23は、CPU33の制御により所定のデータを記憶する。
メモリ32は、たとえばRAM(Random access memory)やROM(Read only memory)などにより構成される。
図3(b)は、図1に示したリーダ/ライタ3のメモリ32が記憶するデータを説明するための図である。
メモリ32は、たとえば図3(b)に示すように、公開鍵PK1、乱数情報D2、ユーザ情報D3などのデータを関連付けて記憶する。
公開鍵PK1は、生体情報D1に応じて生成された公開鍵暗号方式による公開鍵を示すデータである。本実施形態ではメモリ32は、公開鍵PK1として、たとえばユーザの複数の生体情報D1に対応する複数の公開鍵PK1(PK1−1〜5)を記憶する。
乱数情報D2やユーザ情報D3に関しては、上述したので説明を省略する。
CPU33は、リーダ/ライタ3全体、詳細には送受信部31やメモリ32などの各構成要素を統括的に制御する。
CPU33は、たとえばメモリ32が記憶するプログラムを実行することにより、本発明に係る機能を実現する。
CPU33は、たとえば、メモリ32が記憶する、生体情報に応じて生成された公開鍵暗号方式による公開鍵に基づいて、所定のデータをその公開鍵暗号方式により暗号化して暗号データを生成する。CPU33は、その生成した暗号データを、送受信部31を介してICカード2に送信する。
また、CPU33は、メモリ32が記憶する公開鍵に基づいて、送受信部31を介してICカード2から受信した所定のデータを、公開鍵暗号方式により暗号化して暗号データを生成する。
CPU33の詳細な動作については後述する。
〔サーバ装置4〕
サーバ装置4は、たとえば、生体情報D1を登録する登録機関等により管理されるホストコンピュータ5により、管理されている。
サーバ装置4は、たとえば、図1,2に示すように、送受信部41、メモリ42、およびCPU(制御部)43を有する。
送受信部41、メモリ42、およびCPU43は、たとえばデータ線44により接続されている。
送受信部41は、たとえばCPU43の制御により、他のデータ処理装置、たとえばリーダ/ライタ3とデータ通信路を介してデータ通信を行う。
本実施形態に係る送受信部41は、たとえば、変調回路、復調回路、同調回路、増幅回路などにより構成され、他のデータ処理装置と無線方式や有線方式により予め規定された通信方式により、データ通信を行う。
メモリ42は、たとえばCPU43のワークスペースとして用いられる。メモリ42は、たとえばCPU43の制御により記憶するデータを読み出す。また、メモリ42は、CPU43の制御により所定のデータを記憶する。
メモリ42は、たとえば、RAMやROMなどにより構成されている。
図3(c)は、図1に示したサーバ装置4のメモリ42が記憶するデータを説明するための図である。
また、メモリ42は、たとえば図3(c)に示すように、生体情報D1、公開鍵PK1、乱数情報D2、ユーザ情報D3などのデータを関連付けて記憶する。
生体情報D1は、ICカード2のユーザ(所有者)の生体情報を示すデータである。このデータは、たとえばICカード2生成時に記憶される。
本実施形態ではメモリ42は、たとえばユーザの複数の生体情報D1(D1−1〜5)を記憶する。
公開鍵PK1、乱数情報D2、ユーザ情報D3に関しては、上述したので説明を省略する。
CPU43は、サーバ装置4全体、詳細には送受信部41、メモリ42などの各構成要素を統括的に制御する。
また、CPU43は、たとえばメモリ42が記憶するプログラムを実行することにより、本発明に係る機能を実現する。
CPU43は、詳細にはたとえば、送受信部41を介して公開鍵の要求を示す信号を受信すると、メモリ42から読み出した生体情報D1に基づいて、公開鍵暗号方式による公開鍵PK1を生成し、当該生成した公開鍵PK1を送受信部41を介して要求元に送信する。
CPU43の詳細な動作については後述する。
図4は、図1に示したデータ処理システム1の動作の一具体例を説明するためのフローチャートである。図4を参照しながら、データ処理システム1の動作を簡単に説明する。
以下、リーダ/ライタ3およびサーバ装置4をデータ処理装置(第1のデータ処理装置に相当する)として簡単に説明する。
データ通信前には、ICカード2のメモリ23内に、生体情報D1が記憶されていない状態である。
ステップST1において、データ処理装置は、生体情報D1に応じて生成された公開鍵暗号方式による公開鍵PK1に基づいて、所定のデータを公開鍵暗号方式により暗号化して暗号データを生成する。
ステップST2において、データ処理装置は、生成した暗号データをICカード2に送信する。
ステップST3において、ICカード2のCPU24は、送受信部21を介してデータ処理装置から、その暗号データを受信する。
ステップST4において、読取部22がユーザの生体情報D1を読み取り、読取結果を示す信号をCPU24に出力する。
ステップST5において、CPU24は、読取部22から受信した生体情報D1に基づいて、公開鍵暗号方式による公開鍵PK1に対応する秘密鍵SK1を生成する。
ステップST6において、CPU24は、生成した秘密鍵SK1に基づいて、データ処理装置から受信した暗号データを公開鍵暗号方式に対応する復号方式により復号する。
以上、説明したように、リーダ/ライタ3やサーバ装置4が、生体情報D1に応じて生成された公開鍵暗号方式による公開鍵PK1に基づいて、所定のデータを公開鍵暗号方式により暗号化して暗号データを生成し、ICカード2が、読取部22が読み取った生体情報D1に基づいて公開鍵暗号方式による公開鍵に対応する秘密鍵SK1を生成し、当該秘密鍵SK1に基づいて、リーダ/ライタ3やサーバ装置4から受信した暗号データを公開鍵暗号方式に対応する復号方式により復号するので、生体情報D1を用いてよりセキュリティ性の高いデータ通信を行うことができる。
また、データ通信前に、ICカード2のメモリ23内には生体情報D1が記憶されていない状態であり、一般的なICカードのようにメモリに生体情報D1を記憶している装置と比べて、不正な第3者によりメモリ23から生体情報D1を読み取られて悪用されることがなく、セキュリティ性が高い。
また、たとえばデータ通信初期時に、読取部22が読み取った生体情報D1に基づいて秘密鍵SK1を生成するのでセキュリティ性が高い。
詳細には、たとえばICカード2のユーザ(所有者)本人が、ICカード2を使用する場合には、読取部22が読み取った生体情報D1を基に生成した秘密鍵SK1により、その秘密鍵SK1に対応する予め登録している公開鍵PK1により暗号化された暗号データを適正に復号でき、たとえばICカード2のユーザ以外の第3者がICカード2の不正使用を試みる場合に、読取部22が読み取った生体情報D1を基に生成した秘密鍵SK1では、暗号データを適正に復号できないので、セキュリティ性が高い。
また、たとえばリーダ/ライタ3に読取部を設けて、リーダ/ライタ3とICカード間で生体情報を送受信するシステムと比べて、上述したようにリーダ/ライタ3とICカード2間で生体情報D1を送受信せずに、データ通信を行うことができるのでセキュリティ性が高い。
図5は、図1に示したデータ処理システム1のより詳細な動作を説明するためのフローチャートである。
図5を参照しながら、図1に示したデータ処理システム1のより詳細な動作を、各構成要素の制御部(CPU)の動作を中心に説明する。
たとえば登録機関が管理するホストコンピュータ5などにより、個人認証およびデータ通信の暗号化に使用する可能性のある複数の生体情報D1を読み出しておき(ST11)、各生体情報D1を基に公開鍵暗号方式の秘密鍵SK1を生成し、各秘密鍵SK1に対応する公開鍵PK1を生成する(ST12)。この公開鍵PK1は公開される。
この際、たとえばICカード2の読取部22が読み取った生体情報D1を、登録機関が管理するホストコンピュータ5に登録してもよい。
また、公開鍵PK1や秘密鍵SK1はICカード2が生成してもよいし、ホストコンピュータ5が生成してもよい。また、リーダ/ライタ3やサーバ装置4が生成してもよい。
作成された公開鍵PK1は、たとえばホストコンピュータ5のサーバ装置4に全て公開し(ST13)、サーバ装置4が公開鍵PK1を保存・管理する(ST14)。
詳細には、サーバ装置4は、図3(c)に示すように、公開された公開鍵PK1をメモリ42に記憶する。
たとえば、ユーザがICカード2を使用する場合、まず、ICカード2のCPU24が所定のデータ(乱数)を生成し(ST15)、メモリ23に格納されているユーザ情報D3を読み出して(ST16)、その所定のデータ(乱数)およびユーザ情報D3をICカード2の送受信部21を介して、リーダ/ライタ3に送信する(ST17)。
リーダ/ライタ3のCPU33は、送受信部31を介してICカード2から、その所定のデータ(乱数)およびユーザ情報D3を受信すると、ホストコンピュータ5やサーバ装置4にアクセスして、ユーザ情報D3から必要な公開鍵PK1を全てサーバ装置4からダウンロードする。
詳細には、CPU33は、送受信部31を介してICカード2から、そのユーザ情報D3に対応する公開鍵PK1を要求する信号を、送受信部31を介して送信する(ST18)。
サーバ装置4のCPU43は、送受信部41を介してその要求を示す信号を受信すると、そのユーザ情報D3に対応する公開鍵PK1をメモリ42から読み出して、送受信部41を介して、リーダ/ライタ3に送信する(ST19)。
リーダ/ライタ3のCPU33は、ダウンロードした公開鍵PK1を用いて、受信した所定のデータ(乱数)を、全ての公開鍵PK1で暗号化し(ST20)、各公開鍵PK1によって暗号化された全ての暗号データを、送受信部31を介してICカード2へ送信する(ST21)。
つまり、リーダ/ライタ3のCPU33は、公開鍵PK1に基づいて、ICカード2から受信した所定のデータを公開鍵暗号方式により暗号化して暗号データを生成し、その暗号データを送受信部31を介してICカード2へ送信する。
ユーザは、公開鍵PK1作成時に秘密鍵SK1とした生体情報D1の中から、任意の生体情報D1を1つ選び、ICカード2の読取部22に読み取らせる(ST22)。つまり、ICカード2のCPU24は、読取部22がユーザの生体情報、たとえば指紋を読み取った結果を示す生体情報D1を受信する。
そして、ICカード2のCPU24は、送受信部21を介して受信した暗号化されている全ての暗号データに対し、生体情報D1を用いて全てのデータを順番に復号し(ST23)、送信した所定のデータ(乱数)と一致するものがあるかを確認(判断)する(ST24,ST25)。
たとえば、ICカード2のCPU24は、秘密鍵SK1に基づいて、リーダ/ライタ3から受信した暗号データを復号方式により復号して所定のデータを取得し、当該取得した所定のデータ(乱数)とリーダ/ライタ3に送信した所定のデータ(乱数)とを比較した結果、一致していると判断した場合にリーダ/ライタ3と所定のデータ通信を行い、一致していないと判断した場合にリーダ/ライタ3とのデータ通信を禁止する。
詳細には、ICカード2のCPU24は、秘密鍵SK1を用いて全ての暗号データを復号化し、送信した所定のデータ(乱数)と一致するデータがない場合は、他人が不正使用したと断定し、ICカード14にアクセス不可能(禁止)となる(ST25,ST26)。
一方、ICカード2のCPU24は、一致するデータがあると判断した場合に、カード所有者本人が使用したと判断し(ST27)、ICカード2とリーダ/ライタ3とが相互にアクセス可能とする。
また、ICカード2のCPU24は、一致したデータを送受信部21を介してリーダ/ライタ3に送信することで(ST28)、復号化して一致したデータが何であったかをリーダ/ライタ3に通知して、そのとき使用した公開鍵PK1が何であったかをリーダ/ライタ3に把握させる。
つまり、リーダ/ライタ3のCPU33は、送受信部31を介してその通知を受けて、その通知に基づいて複数のPK1のうち、そのとき使用した公開鍵PK1を把握する(ST29)。
リーダ/ライタ3のCPU33は、その復号に使用した生体情報D1の対(対応する)となるPK1を用いて所定のデータを暗号化して暗号データを生成し、送受信部31を介してICカード2に送信する(ST30)。
ICカード2のCPU24は、送受信部21を介して受信した暗号データに、先ほど読み取った生体情報D1に応じて生成した秘密鍵SK1を用いて復号する(ST31)、そして以降、ICカード2とリーダ/ライタ3間では通常の暗号通信を行い(ST32)、通信の安全性を高める。
図6は、図1に示したデータ処理システム1の秘密鍵SK1および公開鍵PK1を生成する動作の一具体例を説明するためのフローチャートである。
図7は、データ処理システム1が、生体情報D1の一具体例として指紋データを採用した場合の動作を説明するための図である。
以下、図6,7を参照しながら、生体情報D1から公開鍵暗号方式の秘密鍵SK1および公開鍵PK1を生成する動作の一具体例を説明する。本具体例ではたとえば生体情報D1を指紋とし、公開鍵暗号方式にRSA(R. Rivest、A. Shamir、L. Adelman)公開鍵暗号方式を用いた場合を説明する。
ICカード2の読取部22として、たとえば図7に示すように、ICカード2上でもサイズ的に実装が容易である静電容量タイプの指紋センサを用いる。
静電容量タイプの指紋センサは、指紋をコンデンサとし、指fと指紋センサ201間にたまった電荷の容量によって指紋情報を抽出する。
このとき抽出する静電容量は、図7に示すように、たとえば4段階で判定を行う(静電容量C1,C2,C3,C4)。
ステップST101において、読取部22は、ユーザの指紋を所定回数、たとえばn回スキャンする。
ICカード2は、たとえば図7に示すように、読取部22が生体情報として抽出する指紋データを画像データとして数段階で数値化し、マトリックス状の量子化データとし、量子化されたマトリック状の画像データをビット列化する。
図8は、図1に示したデータ処理システム1のICカード2の読取部22が生体情報として指紋データを読み取る動作を説明するための図である。
詳細には、たとえば図8に示すように、データサイズとして縦64ドット、横64ドットの64×64=4096で構成され、一つのドットが4値を持ち2bitで表すことになるので、4096×2=8192bitのデータとなる。
図9は、図8に示した、指紋データをビット列データに変換する動作を説明するための図である。図10は、図9に示したビット列データを説明するための図である。
図9に示すように、画像データの端部から1列ごとに順にビット列データに変換する。詳細にはたとえば図9に向かって左上のデータをMSB(Most significant bit)とし、上から順にビット列を並べ、右下のデータがLSB(Least significant bit)とする。
たとえば図10に示すように、8192bitのデータが抽出される。
ステップST102において、上述した読取部22による抽出を繰り返し、詳細には上述した8192bitの指紋データ抽出をn回繰り返し(nは任意の値)、平均値を求める。
図11は、図6に示すステップST102の指紋データの平均値を算出する動作の一具体例を説明するためのフローチャートである。図12〜15は、指紋データの平均値を算出する動作の一具体例を説明するための図である。
ステップST201において、平均値の算出方法は、たとえば図10,12に示すように、n個の指紋データのドット情報(2bit)同士を加算し、nで割る(乗算する)。この処理をすべてのドット情報で行う。
ステップST202において、たとえば図13に示すように平均値のドット情報と各指紋データを比較し、所定値分平均値と差がある場合、具体的には3段階異なるドット情報があった場合、そのドット情報を削除する。
ステップST203において、たとえば図14に示すように、削除後のデータから再度平均値を求める。
ステップST204において、たとえば図15に示すように、平均値のドット情報と各指紋データを再度比較し、2段階異なるドット情報があった場合に削除する。
ステップST205において、削除後のデータから再度平均値を求める。
ステップST206において、最終的に算出された平均値を指紋データとする。
次に、図6に示すステップST103において、たとえば生体情報D1である指紋データと同じビット数、詳細には8192bitの乱数(乱数情報D2)を生成する。
ステップST104において、生成した乱数(乱数情報D2)と最終的に算出された指紋データの平均値とに基づいて、たとえばXOR(exclusive OR:排他的論理和)を計算する。
ステップST105において、計算した結果が素数かどうかを判断し、素数でないと判断の場合にはステップST103の処理に戻り計算結果が素数になるまで乱数の生成を繰り返す。素数と判断した場合には、ステップST106の処理に進む。
ステップST106において、上述したステップST103〜ST105の処理により、素数を2つ生成する。
ステップST107において、ステップST106において生成した素数に基づいて、たとえばRSA公開暗号鍵の(素数p,素数q)として、RSA公開鍵暗号方式の秘密鍵と公開鍵を生成する。
本実施形態に係るRSA公開鍵暗号方式を簡単に説明する。
具体的には、値n=素数p×素数q、および値λ(n)=LCM(p−1,q−1)を計算する。ここでLCM(a,b)はa,bの最小公倍数を示す。
また、0以上λ(n)未満の整数のうち、適当な値eを定める。この際値eは、GCD(e,λ(n))=1の関係がある。ここでGCD(a,b)はa,bの最小公倍数を示す。
また、d=1/e mod λ(n)を計算する。ここでb mod nは、0以上n未満かつ、値bを値nで割ったあまりを示す値aである。
RSA公開鍵暗号方式において、公開鍵PK1は値eおよび値nであり、秘密鍵SK1は値dまたは(素数p,素数q)である。
平文mを暗号化する場合には、暗号データc=m^e mod nを演算する。
暗号データcを復号する場合には、平文m=c^d mod nを演算する。
以上、説明したように、ICカード2は、読取部22が読み取ったユーザの生体情報D1および乱数(乱数情報D2)に基づいて演算により複数の素数を生成し、複数の素数に基づいて秘密鍵SK1を生成し、リーダ/ライタ3やサーバ装置4(ホストコンピュータ5)は、生体情報D1と乱数情報D2に基づいて演算により得られた複数の素数に応じた公開鍵PK1を用いて、公開鍵暗号方式による暗号化を行うので、簡単な処理により、生体情報D1から公開鍵PK1および秘密鍵SK1を生成することができる。
また、生体情報として、ユーザの指紋を読み取った結果得られた複数の指紋データの平均値および乱数(乱数情報D2)に基づいて秘密鍵SK1および/または公開鍵PK1を生成するので、1個の指紋データを用いた場合と比べて、より高精度に公開鍵PK1や秘密鍵SK1を生成することができる。
詳細には、数値化された指紋データ(生体情報)の抽出を所定回数、たとえば数回行い、各指紋データの平均値を求め、平均値と離れた(所定値以上異なる)データを削除し、再度平均値を求め、最終的に算出された平均値を、抽出された指紋データ(生体情報)とするので、より高精度に公開鍵PK1や秘密鍵SK1を生成することができる。
また、リーダ/ライタ3やサーバ装置4は、ICカード2のユーザに関するユーザ情報D3と、公開鍵PK1を関連付けて記憶するメモリ32を含み、ICカード2は、乱数(乱数情報D2)およびICカード2のユーザに関するユーザ情報D3を記憶するメモリ23を含み、データ通信初期時に、ICカード2が、メモリ23から読み出したユーザ情報D3および所定のデータをリーダ/ライタ3に送信し、リーダ/ライタ3が、ICカード2から受信したユーザ情報D3に基づいて、メモリ32から当該ユーザ情報D3に関連付けられた公開鍵PK1を読み出し、当該読み出した公開鍵PK1および受信した所定のデータに基づいて暗号データを生成するので、より、セキュリティが高くなる。
また、たとえば上述したように、複数個の指紋データ(生体情報)の平均値と、乱数に基づいて素数を算出し、その素数を基に公開鍵暗号方式による公開鍵PK1および秘密鍵SK1を生成したので、単純な処理により高速に公開鍵PK1および秘密鍵SK1を生成することができる。
また、カード生成時に、指紋から公開鍵PK1と秘密鍵SK1を生成し、公開鍵PK1を公開しておき、素数計算時に使用した乱数とユーザ情報D3を、ICカード2のメモリ23に記憶することで、より簡単に秘密鍵SK1を生成することができる。
また、上述した実施形態では、公開鍵暗号方式としてRSA公開鍵暗号方式を採用したが、この形態に限られるものではない。他の公開鍵暗号方式を用いてもよい。
〔他の具体例〕
以下、データ処理システム1の他の具体例を説明する。
たとえば予めICカード2作成時に指紋を読み取り、上述した鍵生成方法で秘密鍵SK1と公開鍵PK1を作成しておき、公開鍵PK1をホストコンピュータ5のサーバ装置4に公開しておく。
素数計算時に使用した2つの乱数は、ICカード2内のメモリ23に保存しておく。
また、ユーザのID番号(ユーザ情報D3)をICカード2内のメモリ23に格納しておく。このID番号(ユーザ情報D3)を用いて、サーバ装置4から公開鍵PK1をダウンロードする。
ユーザは、ICカード2を使用するとき、指紋登録した指を選んで、ICカード2の読取部22にあて、リーダ/ライタ3にICカード2をかざす。
ICカード2のCPU24は乱数を生成し、メモリ23に格納していたユーザID(ユーザ情報D3)と、生成した乱数をリーダ/ライタ3に送信する。
リーダ/ライタ3は、ユーザID(ユーザ情報D3)を基に、サーバ装置4から公開鍵PK1をダウンロードする。
リーダ/ライタ3は、公開鍵PK1を用いて、受信した乱数を暗号化し、暗号化されたデータをICカード2に送信する。
ICカード2のCPU24は、読取部22で読み出した指紋から、上述した鍵生成方法により秘密鍵SK1を作成する。
このとき素数計算時に使用した乱数は、カード登録時に使用した乱数を使用するので、メモリ23に格納してあった乱数と抽出した指紋データの平均値とのXORを計算する。その後素数判定を行うので、登録時の指紋スキャンデータと、今回の指紋スキャン時のデータの不一致を起こしにくくなる。
続いて、ICカード2のCPU24は、受信した暗号化されたデータを復号する。公開鍵PK1で暗号化された乱数が、最初に送信した乱数と一致した場合は、正しいユーザが使用したと断定し個人認証が終了する。このとき、一致しなかった場合は、他人が使用したと断定し、この時点でリーダ/ライタ3との通信は終了する。
上述したように、生体情報D1をICカード2内に保存することなく、生体情報を用いた本人確認が行え、本人の生体情報なしにはICカード2を使用することができなくなる。
また、生体情報D1を用いた暗号化システムによって、本人の生体情報D1がなければデータを復号できないので、通信中のデータを不正に読み出したとしても、解読が不可能である。
さらに、予め登録しておいた複数の生体情報D1のうち、任意のものを選ぶことが可能であるので、生体情報D1による個人認証の利便性が向上し、個人認証時に使用される生体情報D1が毎回異なるので、安全性も向上する。
なお、本発明は本実施形態に限られるものではなく、任意好適な改変が可能である。
本実施形態では、リーダ/ライタ3と、サーバ装置4と、ホストコンピュータ5と、登録機関とを分けて説明したが、この形態に限られるものではない。たとえば、それぞれ1つのデータ処理装置により、本発明を実現してもよいし、それぞれ組み合わせて本発明を実現してもよい。
また、ICカード2を用いて説明したがこの形態に限られるものではない。たとえば、パーソナルコンピュータ、携帯電話、PDA(Personal Digital Assistant)、携帯型コンピュータ、可搬型コンピュータなど、本発明に係る機能を有するデータ処理装置であればよい。
また、本実施形態では生体情報として指紋データを用いたがこの形態に限られるものではない。たとえば、生体情報として、ユーザ固有の生体情報を示すデータであればよく、詳細には指紋データや、手のひらの血管の分布パターン、顔の画像や、声紋、瞳の虹彩パターンなどのデータであってもよい。
たとえば、ICカードやリーダ/ライタ装置などのデータ処理装置間でデータ通信を行うデータ処理方法、データ処理システム、およびデータ処理装置に適用することができる。
本発明の一実施形態に係るデータ処理装置を採用したデータ処理システムの全体構成図である。 図1に示したデータ処理システム1のより詳細な全体構成図である。 図1に示したデータ処理システム1に係るデータを説明するための図である。(a)は図1に示したICカード2のメモリ23が記憶するデータを説明するための図である。(b)は図1に示したリーダ/ライタ3のメモリ32が記憶するデータを説明するための図である。(c)は図1に示したサーバ装置4のメモリ42が記憶するデータを説明するための図である。 図1に示したデータ処理システム1の動作の一具体例を説明するためのフローチャートである。 図1に示したデータ処理システム1のより詳細な動作を説明するためのフローチャートである。 図1に示したデータ処理システム1の秘密鍵SK1および公開鍵PK1を生成する動作の一具体例を説明するためのフローチャートである。 データ処理システム1が、生体情報D1の一具体例として指紋データを採用した場合の動作を説明するための図である。 図1に示したデータ処理システム1のICカード2の読取部22が生体情報として指紋データを読み取る動作を説明するための図である。 図8に示した、指紋データをビット列データに変換する動作を説明するための図である。 図9に示したビット列データを説明するための図である。 図6に示すステップST102の指紋データの平均値を算出する動作の一具体例を説明するためのフローチャートである。 指紋データの平均値を算出する動作の一具体例を説明するための図である。 指紋データの平均値を算出する動作の一具体例を説明するための図である。 指紋データの平均値を算出する動作の一具体例を説明するための図である。 指紋データの平均値を算出する動作の一具体例を説明するための図である。
符号の説明
1…データ処理システム1、2…ICカード、3…リーダ/ライタ(R/W)、4…サーバ装置、5…ホストコンピュータ5、21…送受信部、22…生体情報読み取り部(読取部)、23…メモリ(記憶装置)、24…制御部(CPU:Central processing unit)、25…データ線、31…送受信部、32…メモリ、33…CPU(制御部)、34…データ線、41…送受信部、42…メモリ、43…CPU(制御部)、44…データ線、201…指紋センサ。

Claims (4)

  1. 第1および第2のデータ処理装置間で公開鍵暗号方式を用いてデータ通信を行うデータ処理方法であって、
    前記第1のデータ処理装置が、予めユーザの生体情報に応じて生成された前記公開鍵暗号方式による公開鍵に基づいて、所定のデータを前記公開鍵暗号方式により暗号化して暗号データを生成し、当該暗号データを前記第2のデータ処理装置に送信する第1のステップと、
    前記第2のデータ処理装置が、前記ユーザの生体情報に基づいて前記公開鍵暗号方式による前記公開鍵に対応する秘密鍵を生成し、当該秘密鍵に基づいて、前記第1のデータ処理装置から受信した前記暗号データを前記公開鍵暗号方式に対応する復号方式により復号する第2のステップと、
    を有し、
    前記予め生成された公開鍵暗号方式による公開鍵および当該公開鍵に対応する秘密鍵は、
    ユーザの生体情報を所定回数読み取り、読み出した生体情報をビット列データに変換して前記所定回数分の平均値を算出する第3のステップと、
    前記第3のステップにおいて読み出した前記生体情報と同じビット数の乱数を生成し、前記第3のステップにおいて算出した前記平均値と排他的論理和を計算する第4のステップと、
    前記第ステップにおいて計算した結果の値が素数であるか否かを判断し、素数でないと判断した場合は前記第ステップを繰り返すことにより素数である結果の値を2つ生成し、それぞれを公開鍵および秘密鍵とする第5のステップと、
    により生成するデータ処理方法。
  2. 前記第1のステップにおいて、前記第1のデータ処理装置が、前記公開鍵に基づいて、前記第2のデータ処理装置から受信した前記所定のデータを前記公開鍵暗号方式により暗号化して前記暗号データを生成し、
    前記第2のステップにおいて、前記第2のデータ処理装置が、前記秘密鍵に基づいて、前記第1のデータ処理装置から受信した前記暗号データを前記復号方式により復号して前記所定のデータを取得し、当該取得した所定のデータと前記第1のデータ処理装置に送信した前記所定のデータとを比較した結果、一致していると判断した場合に前記第1のデータ処理装置と所定のデータ通信を行い、一致していないと判断した場合に前記第1のデータ処理装置とのデータ通信を禁止する
    請求項1に記載のデータ処理方法。
  3. 前記第1のデータ処理装置は、前記第2のデータ処理装置のユーザに関するユーザ情報と、前記公開鍵を関連付けて記憶する第1のメモリを含み、
    前記第2のデータ処理装置は、前記乱数および前記第2のデータ処理装置のユーザに関するユーザ情報を記憶する第2のメモリを含み、
    前記第1のステップの前に、前記第2のデータ処理装置が、前記第2のメモリから読み出した前記ユーザ情報および前記所定のデータを前記第1のデータ処理装置に送信するステップを有し、
    前記第1のステップにおいて、前記第1のデータ処理装置が、前記第2のデータ処理装置から受信した前記ユーザ情報に基づいて、前記第1のメモリから当該ユーザ情報に関連付けられた公開鍵を読み出し、当該読み出した公開鍵および前記受信した前記所定のデータに基づいて前記暗号データを生成する
    請求項1に記載のデータ処理方法。
  4. 公開鍵暗号方式を用いてデータ通信を行う第1および第2のデータ処理装置を有するデータ処理システムであって、
    前記第1のデータ処理装置は、
    前記第2のデータ処理装置とデータ通信を行う第1の送受信部と、
    ユーザの生体情報に応じて予め生成された前記公開鍵暗号方式による公開鍵を記憶するメモリと、
    前記メモリが記憶する前記公開鍵に基づいて、所定のデータを前記公開鍵暗号方式により暗号化して暗号データを生成し、当該暗号データを前記第1の送受信部を介して前記第2のデータ処理装置に送信する第1の制御部と、
    を含み、
    前記第2のデータ処理装置は、
    前記第1のデータ処理装置とデータ通信を行う第2の送受信部と、
    前記第2のデータ処理装置のユーザの生体情報を読み取る読取部と、
    前記読取部が読み取った前記生体情報に基づいて前記公開鍵暗号方式による前記公開鍵に対応する秘密鍵を生成し、当該秘密鍵に基づいて、前記第1のデータ処理装置から前記第2の送受信部を介して受信した前記暗号データを前記公開鍵暗号方式に対応する復号方式により復号する第2の制御部と、
    を含み、
    前記予め生成された公開鍵暗号方式による公開鍵および当該公開鍵に対応する秘密鍵は、
    ユーザの生体情報を所定回数読み取り、読み出した生体情報をビット列データに変換して前記所定回数分の平均値を算出し、読み出した前記生体情報と同じビット数の乱数を生成し、前記算出した前記平均値との排他的論理和を計算し、計算した結果の値が素数であるか否かを判断し、素数でないと判断した場合は素数となるまで前記乱数の生成を繰り返すことにより素数である結果の値を2つ生成し、それぞれを公開鍵および秘密鍵とする データ処理システム。
JP2005062566A 2005-03-07 2005-03-07 データ処理方法およびデータ処理システム Expired - Fee Related JP4792771B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005062566A JP4792771B2 (ja) 2005-03-07 2005-03-07 データ処理方法およびデータ処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005062566A JP4792771B2 (ja) 2005-03-07 2005-03-07 データ処理方法およびデータ処理システム

Publications (2)

Publication Number Publication Date
JP2006246360A JP2006246360A (ja) 2006-09-14
JP4792771B2 true JP4792771B2 (ja) 2011-10-12

Family

ID=37052256

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005062566A Expired - Fee Related JP4792771B2 (ja) 2005-03-07 2005-03-07 データ処理方法およびデータ処理システム

Country Status (1)

Country Link
JP (1) JP4792771B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009003676A (ja) * 2007-06-21 2009-01-08 Sony Corp 電子機器、および情報処理方法
DE102008041392A1 (de) * 2008-08-20 2010-02-25 Psylock Gmbh Kryptographieverfahren und Identifizierungsverfahren auf Basis biometrischer Daten
JP2012080152A (ja) * 2010-09-30 2012-04-19 Mitsubishi Space Software Kk 暗号化システム、暗号化装置、復号装置、暗号化システムプログラム及び暗号化方法
CN103001773B (zh) * 2012-11-28 2015-07-01 鹤山世达光电科技有限公司 基于nfc的指纹认证系统及指纹认证方法
KR101829266B1 (ko) * 2015-04-23 2018-03-29 최운호 유비쿼터스 환경에서 인증
JP2020115386A (ja) * 2020-04-10 2020-07-30 ウノ チェ ユビキタス環境での認証

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3865629B2 (ja) * 2001-07-09 2007-01-10 株式会社ルネサステクノロジ 記憶装置

Also Published As

Publication number Publication date
JP2006246360A (ja) 2006-09-14

Similar Documents

Publication Publication Date Title
JP5859953B2 (ja) 生体認証システム、通信端末装置、生体認証装置、および生体認証方法
JP4996904B2 (ja) 生体認証システム、登録端末、認証端末、及び認証サーバ
JP5011125B2 (ja) バイオメトリックデータ及び秘密情報抽出コードを用いた鍵生成方法。
JP4938678B2 (ja) 類似性指標のセキュアな計算
JP4885853B2 (ja) 更新可能かつプライベートなバイオメトリクス
KR100720328B1 (ko) 생체 인증 장치 및 단말
CN107925581A (zh) 1:n生物体认证、加密、署名系统
JP4792771B2 (ja) データ処理方法およびデータ処理システム
JP2008502071A (ja) バイオメトリック・テンプレートの保護および特徴処理
JP2001512589A (ja) 安全なプロクシ署名装置および使用方法
US20030101349A1 (en) Method of using cryptography with biometric verification on security authentication
KR20070024569A (ko) 생체 측정 템플릿의 프라이버시 보호를 위한 아키텍처
Kumar et al. Development of a new cryptographic construct using palmprint-based fuzzy vault
JP7259868B2 (ja) システムおよびクライアント
EP3752940B1 (en) Updating biometric template protection keys
KR20180069669A (ko) 바이오정보를 이용한 패스워드 없는 전자서명 시스템
WO2020245939A1 (ja) 照合システム、クライアントおよびサーバ
JP7302606B2 (ja) システムおよびサーバ
JP4283126B2 (ja) 生体認証システム及び生体認証方法
JP2006524352A (ja) バイオメトリクスに基づいたアイデンティティベースの暗号化方法および装置
JPWO2020121458A1 (ja) 照合システム、クライアントおよびサーバ
JP6151627B2 (ja) 生体認証システム、生体認証方法およびコンピュータプログラム
JP4606040B2 (ja) 資格認証システム、資格認証方法、および情報処理装置
JP7235055B2 (ja) 認証システム、クライアントおよびサーバ
JP2009129210A (ja) チャレンジ・レスポンス生体認証方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070724

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100803

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100817

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101012

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110405

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110530

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110628

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110711

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140805

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees