以下、本発明に係る各実施形態を、図1ないし図20を用いて説明する。
〔実施形態1〕
以下、本発明に係る第一の実施形態を、図1ないし図9を用いて説明する。
本発明の認証システムは、ICカードにユーザの生体情報を登録する際に管理者の承認を必須とし、その履歴をユーザが電子署名を作成する際に確認することにより、利便性を損なわずセキュリティ認証をおこなうものである。本実施形態のシステムモデルとしては、ドキュメントの信頼性の保障を要するユーザと、その認証情報を承認する管理者をアクターとして設ける。
先ず、図1ないし図5を用いて本発明の第一の実施形態に係る認証システムの構成について説明する。図1は、本発明の第一の実施形態に係る認証システムの全体構成を示す構成図である。図2は、ユーザ用生体情報取得装置とユーザ用ICカードの機能構成図である。図3は、情報端末、証明書サーバおよび検証サーバの機能構成図である。図4は、管理者用生体情報取得装置と管理者用ICカードの機能構成図である。図5は、本発明の第一の実施形態に係る情報端末、ユーザ用ICカード、および管理者用ICカードが保持する情報の一例を示す図である。
本実施形態に係る認証システムは、図1に示されるように、ユーザ用ICカード1、ユーザ用生体情報取得装置2、管理者用ICカード8、管理者生体情報取得装置9、情報端末3、証明書サーバ4、検証サーバ5からなる。
情報端末3、証明書サーバ4、検証サーバ5は、ローカルまたはインターネットのようなグローバルなネットワークにより接続されている。情報端末3とユーザ用生体情報取得装置2、情報端末3と管理者生体情報取得装置9とは、共に、有線または無線のインタフェースにより情報のやり取りがおこなえるようになっている。
ユーザ用ICカード1は、ユーザの生体情報を保持する半導体装置であり、ユーザ用生体情報取得装置2経由で入力されたユーザ情報を記憶し、また、認証のために出力する。特に、本実施形態のユーザ用ICカード1には、後述するように、管理者の承認情報も保持される、ユーザ用生体情報取得装置2は、ユーザ用ICカード1と情報の入出力をおこなうための装置である。
管理者用ICカード8は、管理者の生体情報を保持する半導体装置であり、ユーザ用生体情報取得装置2経由で入力されたユーザ情報を記憶し、また、認証のために出力する。管理者用生体情報取得装置9は、管理者用ICカード8と情報の入出力をおこなうための装置である。
ユーザ用生体情報取得装置2と、管理者用生体情報取得装置9とは、同一のハードウェア仕様でもよいし、それらを一台で兼用するようにしてもよい。
証明書サーバ4は、ユーザ証明書を発行するサーバである。
検証サーバ5は、ドキュメントの正当性を検証するサーバである。
情報端末3は、ユーザ、管理者の生体情報の登録や認証の指示を入力したり、証明書サーバ4と、ユーザ証明書に関する情報をやり取りする端末である。
ユーザ用ICカード1は、耐タンパ機構等を備えたセキュアな半導体素子であることが考えられ、他の装置や機器と通信可能な通信部、および情報の演算が可能な制御部、高速暗号処理が可能な暗号演算部等を有した半導体素子であり、主として、ユーザ用生体情報取得装置2や情報端末3と情報のやりとりをおこなう。ユーザ用ICカード1は、認証システムを利用するユーザが用いることが想定されている。ユーザ用ICカード1としては、SIMカード型のICカードや、microSD型のICカード、組込みチップ型のICカード、非接触型および接触型のICカードなどが考えられるが、これらに限られるものではない。あるいは、ユーザ用ICカード1は、ユーザ用生体情報取得装置2、あるいは、情報端末3と一体となっており、制御部やまたは半導体素子それ自身を、それらと共有していてもよい。認証システムには複数のユーザ用ICカード1が含まれていてもよいし、また、一つのユーザ用生体情報取得装置2や情報端末3が複数のユーザ用ICカード1と通信してもよい。
ユーザ用生体情報取得装置2は、生体情報を取得する生体情報取得機能、他の装置や機器と通信可能な通信機能、および情報の演算が可能な制御機能等を有した装置であり、主として、生体情報を取得し、それをユーザ用ICカード1に送付する役割を担う装置である。認証システムには、複数のユーザ用生体情報取得装置2が含まれていてもよい。ユーザ用生体情報取得装置2としては静脈、指紋、手のひら、虹彩、音声、顔、等の一または複数の生体情報を画像や音声信号を取得するデバイスやPC周辺機器等が考えられるが、これらに限られるものではない。あるいは、ユーザ用生体情報取得装置2は、情報端末3と一体となっており、制御部などを共有していてもよい。認証システムには複数のユーザ用生体情報取得装置2が含まれていてもよいし、また、一つの情報端末3が複数のユーザ用生体情報取得装置2と通信してもよい。
情報端末3は、情報を表示可能な表示機能、情報を入力可能な入力機能、他の装置や機器と通信可能な通信機能、および情報の演算が可能な制御機能等を有した端末であり、主として、ユーザや管理者の入力や、生体情報取得装置やICカードとサーバとの通信を仲介する役割を担う装置である。認証システムには、複数の情報端末3が含まれてもよい。情報端末3としては、スマートフォンやタブレット端末、ウェアラブル端末、デスクトップコンピュータ、ラップトップコンピュータなどが考えられるが、これらに限られるものではない。
証明書サーバ4は、ネットワーク等を通じて情報端末3や他のサーバ等と通信をおこなうサーバである。証明書サーバ4は、例えばX.509で規定されるようなPKI(Public Key Infrastructure)の公開鍵証明書の発行に関する処理や秘密鍵の生成に関する処理をおこなうサーバであることを想定している。証明書サーバ4は、その他のアプリケーションが動作していてもよいし、機能が複数のサーバやストレージなどの筐体に分かれ、それらが組み合わさった構成になっていてもよい。またサーバに限らず同様の処理が可能な情報機器であってもよい。
検証サーバ5は、ネットワーク等を通じて情報端末3や他のサーバ等と通信をおこなうサーバである。検証サーバ5は例えばPKIで生成される署名を公開鍵証明書によって検証する処理をおこなうサーバであることが考えられる。その他のアプリケーションが動作していてもよいし、機能が複数のサーバやストレージなどの筐体に分かれ、それらが組み合わさった構成になっていてもよい。またサーバに限らず同様の処理が可能な情報機器であってもよい。
管理者用ICカード8は、耐タンパ機構等を備えたセキュアな半導体素子であることが考えられ、他の装置や機器と通信可能な通信部、および情報の演算が可能な制御部、高速暗号処理が可能な暗号演算部等を有した半導体素子であり、主として、管理者用生体情報取得装置9や情報端末3と情報のやりとりをおこなう。管理者用ICカード8は認証システムを利用するユーザが用いることが考えられる。管理者用ICカード8としてはSIMカード型のICカードや、microSD型のICカード、組込みチップ型のICカード、非接触型および接触型のICカードなどが考えられるが、これに限るものではない。あるいは、管理者用ICカード8は、管理者用生体情報取得装置9、あるいは情報端末3と一体となっており、制御部やまたは半導体素子それ自身を、それらと共有していてもよい。認証システムには複数の管理者用ICカード8が含まれていてもよいし、また、一つの管理者用生体情報取得装置9や情報端末3が複数の管理者用ICカード8と通信してもよい。また管理者用ICカード8はその機能の一部がユーザ用ICカード1等に含まれていてもよいし、ユーザ用ICカード1の機能の一部が管理者用ICカード8に含まれていてもよい。
管理者用生体情報取得装置9は、生体情報を取得する生体情報取得機能、他の装置や機器と通信可能な通信機能、および情報の演算が可能な制御機能等を有した端末であり、主として、生体情報を取得し、それを管理者用ICカード8に送付する役割を担う。認証システムには複数の管理者用生体情報取得装置9が含まれていてもよい。管理者用生体情報取得装置9としては指静脈、指紋、顔画像、虹彩、音声などの生体情報を取得するデバイスやPC周辺機器等が考えられるが、これに限るものではない。あるいは、管理者用生体情報取得装置9は、情報端末3と一体となっており、制御部などを共有していてもよい。認証システムには複数の管理者用生体情報取得装置9が含まれていてもよいし、また、一つの情報端末3が複数の管理者用生体情報取得装置9と通信してもよい。また管理者用生体情報取得装置9はその機能の一部がユーザ用生体情報取得装置2等に含まれていてもよいし、ユーザ用生体情報取得装置2の機能の一部が管理者用生体情報取得装置9に含まれていてもよい。
情報端末3と、ユーザ用生体情報取得装置2および管理者用生体情報取得装置9との通信インタフェース、または、情報端末3と、ユーザ用ICカード1および管理者用ICカード8との通信インタフェースは、例えば、USB(Universal Serial Bus)、接触ICカードの国際標準通信方式であるISO7816、非接触ICカードの国際標準通信方式であるISO14443、FeliCa(登録商標)、NFC(Near Field Communication)、SDカード規格に応じた通信、Bluetooth(登録商標)、Bluetooth Low Energy(登録商標)、有線LAN(Local Area Network)、無線LAN、TransferJET(登録商標)などの、有線または無線通信であることが考えられる。
ユーザ用生体情報取得装置2とユーザ用ICカード1との通信インタフェース、および、管理者用生体情報取得装置9と管理者用ICカード8との通信インタフェースは、例えば、接触ICカードの国際標準通信方式であるISO7816、非接触ICカードの国際標準通信方式であるISO14443、FeliCa、NFC、USB、SDカード規格に応じた通信、Bluetooth、Bluetooth Low Energy、有線LAN、無線LAN、TransferJETなどの、有線または無線通信であることが考えられる。
情報端末3と、証明書サーバ4と、および、検証サーバ5とのそれぞれの間の通信インタフェースは、例えば、LTE(登録商標)(Long Term Evolution)、3G(3rd Generation)、WiMAX(登録商標)(Worldwide Interoperability for Microwave Access)、無線LANおよびWAN(Wide Area Network)等の無線通信、または有線LAN、インターネット、専用回線を用いた通信などの、有線通信であることが考えられる。
これらの通信のそれぞれは、別個の通信ネットワークであってもよいし、同一のネットワークであってもよい。
ユーザ用ICカード1は、図2に示されるように、制御部10、記憶部11、揮発性記憶部12、電源供給部13、通信部14、および暗号処理部19を備え、これらがバス線などで結線されている。なお、図2では各モジュールがユーザ用ICカード1の内部にて他のモジュールと物理的に結線しているように示しているが、必ずしもバス線により結線されている必要はなく、その他の方法で電気的に繋がっていてもよいし、必要なモジュール同士のみが相互に接続されている構成でもよい。
制御部10は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、およびDSP(Digital Signal Processor)等から構成され、記憶部11等に格納される所定の動作制御用プログラムを実行するなどして、ユーザ用ICカード1全体の動作を制御する。
記憶部11は、ユーザ用ICカード1に内蔵される半導体メモリ等から構成され、各種の情報を記憶する。記憶部11は、例えば、EEPROM(Electrically Erasable/Programable Read Only Memory)、フラッシュメモリ等から構成され、その記憶内容は電源供給部13からの電源供給がない状態でも保持される。あるいは磁気ディスクなどで構成されていてもよい。記憶部11は、例えば、制御部10が実行する動作制御用プログラムや、処理に必要なデータなどを記憶する。記憶部11が備える構成要素については、後に詳述する。
揮発性記憶部12は、ユーザ用ICカード1に内蔵される半導体メモリ等から構成され、各種の情報を記憶する。揮発性記憶部12は、例えば、RAM(Rndom Access Memory)等から構成され、その記憶内容は電源供給部13からの電源供給がなくなった場合に破棄される。揮発性記憶部12は、例えば<処理に一時的に必要なデータなどを記憶する。揮発性記憶部12が備える構成要素については、後に詳述する。
電源供給部13は、外部から電源を取得する電源供給端子またはアンテナ、および電源供給回路等から構成され、ユーザ用ICカード1の各部への電源供給をおこなう。電源供給部13は、バッテリ、ACアダプタ、充電回路等を備えていてもよい。図2に記してはいないが、ユーザ用ICカード1は電源供給部13によってユーザ用生体情報取得装置2や情報端末3から電源の供給を受けてもよく、その際通信部14を介してもよい。
通信部14は、ユーザ用ICカード1がユーザ用生体情報取得装置2や情報端末3と通信をおこなうための機能であり、接触ICカードの国際標準通信方式であるISO7816、非接触ICカードの国際標準通信方式であるISO14443、FeliCa、NFC、SDカード規格に応じた通信、Bluetooth、Bluetooth Low Energy、USB、有線LAN、無線LAN、TransferJETなどの通信方式を実現するモジュールであることが考えられる。ユーザ用ICカード1が、ユーザ用生体情報取得装置2の組込みモジュールであった場合、通信部14は、ユーザ用生体情報取得装置2と基板上で結線されたものであってもよい。ユーザ用生体情報取得装置2とユーザ用ICカード1が一体となっており、ユーザ用ICカード1に相当する機能がユーザ用生体情報取得装置2の秘密情報保護機構である場合は、ユーザ用生体情報取得装置2が備える秘密情報保護機構への所定のAPIが通信部14であると考えても何ら問題はない。通信部14は通信方式に応じてユーザ用ICカード1に複数個存在してもよい。
なお、通信部14の通信機能は、無線通信の場合、アンテナ、および変復調回路等を含んでもよい。有線通信の場合は、コネクタ、および変復調回路等を含んでもよい。通信部14は複数の通信方式に対応するよう構成されてもよい。
暗号処理部15は、剰余乗算コプロセッサや暗号アクセラレータ等から構成され、RSA暗号や楕円曲線暗号といった公開鍵暗号処理や、AES(Advanced Encryption Standard)やDES(Data Encryption Standard)といった共通鍵暗号処理を、制御部でおこなうよりも高速に実行するための装置である。暗号処理部15は、処理する暗号等に応じてユーザ用ICカード1に複数個存在してもよい。
ユーザ用生体情報取得装置2は、図2に示されるように、制御部20、記憶部21、電源供給部23、情報端末通信部24、ICカード通信部27、生体情報取得部28を備え、これらがバス線などで結線されている。また図に示してはいないが、これ以外の機能を備えていてもよく、例えば揮発性記憶部や暗号演算部を備えていてもよい。なお、図では各モジュールがユーザ用生体情報取得装置2の内部にて他のモジュールと物理的に結線しているように示しているが、必ずしもバス線により結線されている必要はなく、その他の方法で電気的に繋がっていてもよいし、必要なモジュール同士のみが相互に接続されている構成でもよい。また別個の筐体にあるものが電気的に組み合わせっていてもよい。
制御部20は、CPU、MPU、およびDSP等から構成され、記憶部21等に格納される所定の動作制御用プログラムを実行するなどして、ユーザ用生体情報取得装置2全体の動作を制御する。
記憶部21は、ユーザ用生体情報取得装置2に内蔵されるメモリ、または取り外し可能な外部メモリ等から構成され、各種の情報を記憶する。例えば、制御部22が実行する動作制御用プログラムを記憶する。
記憶部21は、一例として、制御ソフトウェア210を備える。制御ソフトウェア210は、ユーザ用生体情報取得装置2を制御するためのプログラムであり、生体情報取得部28からの入力や、情報端末通信部24からの通信、ICカード通信部27からの通信、あるいは所定のタイマーやその他の割り込み処理によって実行を開始する一連の処理を実行する。また、制御ソフトウェア210は複数のソフトウェアが連携した複合的なものであってもよい。なお、以下の説明で特に断りなくユーザ用生体情報取得装置2または制御ソフトウェア210が処理を実行するような記述をした場合、物理的には制御ソフトウェア210の実行プログラムを制御部20が実行するということを示しているものとする。
電源供給部23は、バッテリ、ACアダプタ、および充電回路等から構成され、生体情報取得装置2の各部への電源供給や、バッテリへの充電をおこなう。電源供給部23は、ユーザ用ICカード1への電源供給を行ってもよく、その際ICカード通信部27を介してもよい。
情報端末通信部24は、ユーザ用生体情報取得装置2が情報端末3などと通信をおこなうための機能であり、USB、接触ICカードの国際標準通信方式であるISO7816、非接触ICカードの国際標準通信方式であるISO14443、FeliCa、NFC、SDカード規格に応じた通信、Bluetooth、Bluetooth Low Energy、有線LAN、無線LAN、TransferJETなどの通信方式を実現するモジュールであることが考えられる。ユーザ用生体情報取得装置2が情報端末3の組込みモジュールであった場合、情報端末通信部24は情報端末3と基板上で結線されたものであってもよい。情報端末通信部24は通信方式に応じてユーザ用生体情報取得装置2に複数個存在してもよい。
ICカード通信部27は、ユーザ生体情報取得装置2がユーザ用ICカード1などと通信をおこなうための機能であり、接触ICカードの国際標準通信方式であるISO7816、非接触ICカードの国際標準通信方式であるISO14443、FeliCa、NFC、SDカード規格に応じた通信、Bluetooth、Bluetooth Low Energy、USB、有線LAN、無線LAN、TransferJETなどの通信方式を実現するモジュールであることが考えられる。ユーザ用ICカード1がユーザ用生体情報取得装置2の組込みモジュールであった場合、ICカード通信部27はユーザ用生体情報取得装置2と基板上で結線されたものであってもよい。あるいはユーザ用生体情報取得装置2とユーザ用ICカード1が一体となっており、ユーザ用ICカード1に相当する機能がユーザ用生体情報取得装置2の秘密情報保護機構である場合は、ユーザ用生体情報取得装置2が備える秘密情報保護機構への所定のAPIがICカード通信部27であると考えても何ら問題はない。ICカード通信部27は通信方式に応じてユーザ用生体情報取得装置2に複数個存在してもよい。
生体情報取得部28は、静脈、指紋、手のひら、虹彩、音声、顔、等の一または複数の生体情報を画像や音声信号、またはそれらから特徴を抽出したデータを取得する装置を備え、それらを制御部20に入力する。生体情報取得部28は、生体の存在を検知することでデータを取得する動作を開始してもよいし、情報端末通信部24による入力をきっかけとしてデータを取得する動作を開始してもよい。生体情報取得部28は、ユーザ用生体情報取得装置2に複数個存在してもよい。
情報端末3は、図3に示されるように、制御部30、記憶部31、揮発性記憶部32、電源供給部33、サーバ通信部34、表示部35、入力部36、通信部37を備え、これらがバス線などで結線されている。なお、図では各モジュールが情報端末3の内部にて他のモジュールと物理的に結線しているように示しているが、必ずしもバス線により結線されている必要はなく、その他の方法で電気的に繋がっていてもよいし、必要なモジュール同士のみが相互に接続されている構成でもよい。また別個の筐体にあるものが電気的に組み合わせっていてもよい。
制御部30は、CPU、MPU、およびDSP等から構成され、所定の動作制御用プログラムを実行するなどして、情報端末3全体の動作を制御する。
記憶部31は、情報端末3に内蔵されるメモリ、または取り外し可能な外部メモリ等から構成され、各種の情報を記憶する。記憶部31は、例えば、EEPROM、フラッシュメモリ、磁気ディスク等から構成され、その記憶内容は電源供給部33からの電源供給がない状態でも保持される。記憶部31は、例えば、制御部30が実行する動作制御用プログラムや、処理に必要なデータなどを記憶する。記憶部31が備える構成要素については、後に詳述する。
揮発性記憶部32は、情報端末3に内蔵される半導体メモリ等から構成され、各種の情報を記憶する。揮発性記憶部32は、例えばRAMメモリ等から構成され、その記憶内容は電源供給部33からの電源供給がなくなった場合に破棄される。揮発性記憶部32は、例えば処理に一時的に必要なデータなどを記憶する。揮発性記憶部32が備える構成要素については、後に詳述する。
電源供給部33は、バッテリ、ACアダプタ、および充電回路等から構成され、情報端末3の各部への電源供給や、バッテリへの充電をおこなう。情報端末3がバッテリ駆動されているか、ACアダプタ駆動されているかといった状態確認や、バッテリの残量確認をおこなうことも考えられる。図に記してはいないが、情報端末3は電源供給部33によってユーザ用生体情報取得装置2やユーザ用ICカード1、あるいは管理者用生体情報取得装置9や管理者用ICカード8に電源を供給してもよく、その際通信部37を介してもよい。
サーバ通信部34は、情報端末3が証明書サーバ4や検証サーバ5等と通信をおこなうための機能であり、LTE、3G、WiMAX、無線LANおよびWAN等の無線通信、または有線LAN、インターネット、専用回線を用いた通信などをおこなうためのモジュールが考えられる。サーバ通信部34は通信方式等に応じて情報端末3に複数個存在してもよい。またその他の通信を実施するモジュールと共用になっていてもよい。サーバ通信部34は、無線通信の場合、アンテナ、および変復調回路等を含んでもよい。有線通信の場合は、コネクタ、および変復調回路等を含んでもよい。サーバ通信部34は複数の通信方式に対応するよう構成されてもよい。
表示部35は、液晶ディスプレイ、有機ELディスプレイ、および電子ペーパー等のパネル並びにドライバ回路等から構成され、制御部30の制御下にて任意の情報(例えば、文字、静止画、および動画等)を表示する。表示部35は、それぞれ異なる情報を表示可能な複数の表示装置を有していてもよい。
入力部36は、タッチパネル、ボタン、キーボード、マウス、カーソルキー、またはテンキー等の一または複数を備え、ユーザの操作を受け付け、当該操作に基づいた入力信号を制御部30に入力する。なお、タッチパネルのように、表示部35と入力部36とが一体となった構成であってもよい。また、音声認識、画像認識、またはジェスチャ認識等によって入力信号を生成し、制御部30に入力するようにしてもよい。
通信部37は、情報端末3が、ユーザ用生体情報取得装置2や管理者用生体情報取得装置9、またはユーザ用ICカード1や管理者用ICカード8などと、通信をおこなうための機能であり、USB、接触ICカードの国際標準通信方式であるISO7816、非接触ICカードの国際標準通信方式であるISO14443、FeliCa、NFC、SDカード規格に応じた通信、Bluetooth、Bluetooth Low Energy、有線LAN、無線LAN、TransferJETなどの通信方式を実現するモジュールであることが考えられる。通信する対象が情報端末3の組込みモジュールであった場合、通信部37は、通信する対象と基板上で結線されたものであってもよい。通信部37は通信方式に応じて情報端末3に複数個存在してもよい。
証明書サーバ4は、図3に示されるように、制御部40、記憶部41、電源供給部43、通信部44、証明書格納部45、管理者承認情報格納部46を備え、これらがバス線などで結線されている。また図に示してはいないが、これ以外の機能を備えていてもよく、例えば、揮発性記憶部や暗号演算部を備えていてもよい。なお、図では各モジュールが証明書サーバ4の内部にて他のモジュールと物理的に結線しているように示しているが、必ずしもバス線により結線されている必要はなく、その他の方法で電気的に繋がっていてもよいし、必要なモジュール同士のみが相互に接続されている構成でもよい。また別個の筐体にあるものが電気的に組み合わせっていてもよい。
制御部40は、CPU、MPU、およびDSP等から構成され、記憶部41等に格納される所定の動作制御用プログラムを実行するなどして、証明書サーバ4全体の動作を制御する。
記憶部41は、証明書サーバ4に内蔵されるメモリ、または取り外し可能な外部メモリ等から構成され、各種の情報を記憶する。例えば、制御部40が実行する動作制御用プログラムを記憶する。記憶部41は、制御ソフトウェア410を有する。制御ソフトウェア410は、情報端末3や検証サーバ5からの通信の開始をきっかけとして実行されるプログラムであったり、所定のタイマーやその他の割り込み処理によって実行を開始される一連プログラムである。制御ソフトウェア410は複数のソフトウェアが連携した複合的なものであってもよい。なお、以下の説明で特に断りなく証明書サーバ4または制御ソフトウェア410が処理を実行するような記述をした場合、物理的には制御ソフトウェア410の実行プログラムを制御部40が実行するということを示しているものとする。
電源供給部43は、バッテリ、ACアダプタ、および充電回路等から構成され、証明書サーバ4の各部への電源供給や、バッテリへの充電をおこなう。証明書サーバ4がバッテリ駆動されているか、ACアダプタ駆動されているかといった状態確認や、バッテリの残量確認をおこなうことも考えられる。
通信部44は、証明書サーバ4が情報端末3や検証サーバ5などと通信をおこなうための機能であり、LTE、3G、WiMAX、無線LANおよびWAN等の無線通信、または有線LAN、インターネット、専用回線を用いた通信などをおこなうためのモジュールが考えられる。通信部44は通信方式等に応じて証明書サーバ4に複数個存在してもよい。
なお、通信部44の通信機能は、無線通信の場合、アンテナ、および変復調回路等を含んでもよい。有線通信の場合は、コネクタ、および変復調回路等を含んでもよい。通信部44は複数の通信方式に対応するよう構成されてもよい。
証明書格納部45は、複数のユーザに個別に対応付けられるユーザ証明書を格納するための機能要素である。ユーザ証明書はX.509などの形式に基づき、CA証明書、ユーザの公開鍵証明書、ユーザの署名用秘密鍵などが、ユーザのIDなどと対応付けて格納される。証明書格納部45は、所定の情報を格納するためのテーブルや、データベース、ハッシュ構造、またはKVS(Key Value Store)等のデータを保持する手段であることが考えられる。証明書格納部45は記憶部41や他の構成要素と同じものであってもよい。
管理者承認情報格納部46は、複数のユーザに個別に対応付けられる管理者承認情報を格納するための機能要素である。管理者承認情報は、ユーザが自身の生体情報をユーザ用ICカード1に登録する際に、所定の管理者の承認を受けたことを示す情報である。管理者承認情報は、ユーザのID、管理者のID、登録の承認を受けたか否かを示す識別子、さらにそれらの正しさを保証するための電子署名が、それぞれ対応付けられて格納される。管理者承認情報は、管理者の電子署名、または、管理者に承認を受けて生体情報を登録したユーザの電子署名により、保証される。管理者承認情報格納部46は、所定の情報を格納するためのテーブルや、データベース、ハッシュ構造、またはKVS等のデータを保持する手段であることが考えられる。管理者承認情報格納部46は記憶部41や他の構成要素と同じものであってもよい。
検証サーバ5は、図3に示されるように、制御部50、記憶部51、電源供給部53、通信部54を備え、これらがバス線などで結線されている。また図に示してはいないが、これ以外の機能を備えていてもよく、例えば揮発性記憶部や暗号演算部を備えていてもよい。なお、図では各モジュールが検証サーバ5の内部にて他のモジュールと物理的に結線しているように示しているが、必ずしもバス線により結線されている必要はなく、その他の方法で電気的に繋がっていてもよいし、必要なモジュール同士のみが相互に接続されている構成でもよい。また別個の筐体にあるものが電気的に組み合わせっていてもよい。
制御部50は、CPU、MPU、およびDSP等から構成され、記憶部51等に格納される所定の動作制御用プログラムを実行するなどして、検証サーバ5全体の動作を制御する。
記憶部51は、検証サーバ5に内蔵されるメモリ、または取り外し可能な外部メモリ等から構成され、各種の情報を記憶する。例えば、制御部50が実行する動作制御用プログラムを記憶する。
記憶部51は、一例として、制御ソフトウェア510、ユーザ署名格納部511、管理者承認情報格納部512、ユーザ証明書格納部513、ドキュメント格納部514、ドキュメント信頼度515を備える。記憶部51に他の情報が含まれていてもよい。
制御ソフトウェア510は、情報端末3や証明書サーバ4からの通信の開始をきっかけとして実行されるプログラムであったり、所定のタイマーやその他の割り込み処理によって実行を開始される一連のプログラムである。制御ソフトウェア510は複数のソフトウェアが連携した複合的なものであってもよい。なお、以下の説明で、特に断りなく検証サーバ5または制御ソフトウェア510が処理を実行するような記述をした場合、物理的には制御ソフトウェア510の実行プログラムを制御部50が実行するということを示しているものとする。
ユーザ署名格納部511は、検証サーバ5で検証するユーザ署名を格納する。ユーザ署名は、一例として、ユーザのドキュメント等の正しさを示すために、PKIに基づくユーザ固有の秘密鍵によって、ドキュメントのハッシュ値等に対して署名されたものであることが考えられる。署名は、例えばPKCS#1仕様に基づいて作成されることが考えられる。
管理者承認情報格納部512は、ユーザが生体情報をユーザ用ICカード1に登録する際に、所定の管理者の承認を受けたことを示す管理者承認情報を格納する。管理者承認情報は、ユーザのID、管理者のID、登録の承認を受けたか否かを示す識別子、さらにそれらの正しさを保証するための電子署名が、それぞれ対応付けられている。管理者承認情報は、管理者の電子署名、または、管理者に承認を受けて生体情報を登録したユーザの電子署名により、その正しさが保証される。
ユーザ証明書格納部513は、ドキュメントに対するユーザ署名、または、管理者に承認を受けて生体情報を登録したユーザにより署名された管理者承認情報を検証するためのユーザ証明書を格納する。ユーザ証明書は、一例として、X.509に基づくPKIクライアント証明書であることが考えられる。また図には示していないが、管理者承認情報が管理者により署名されている場合は、対応する管理者の証明書を記憶部51に格納する。
ドキュメント格納部514は、ユーザのドキュメントを格納する。ユーザのドキュメントは、ユーザ署名格納部511に格納されるユーザ署名によってその正しさが保証される。ドキュメントは、文書ファイルであってもよいし、所定のアプリケーションによって作られたファイルであってもよいし、あるいはその他の電子的な情報であってもよい。
ドキュメント信頼度514は、与えられたドキュメントの正しさを認証システムとしてどの程度信頼すべきか、という度合いを示す情報であり、検証サーバ5によるユーザ署名や管理者承認情報の検証処理を通して生成される。ドキュメント信頼度514の一例は、後に、図20を用いて説明する。
電源供給部53は、バッテリ、ACアダプタ、および充電回路等から構成され、検証サーバ5の各部への電源供給や、バッテリへの充電をおこなう。検証サーバ5がバッテリ駆動されているか、ACアダプタ駆動されているかといった状態確認や、バッテリの残量確認をおこなうことも考えられる。
通信部54は、検証サーバ5が情報端末3や証明書サーバ4などと通信をおこなうための機能であり、LTE、3G、WiMAX、無線LANおよびWAN等の無線通信、または有線LAN、インターネット、専用回線を用いた通信などをおこなうためのモジュールが考えられる。通信部54は通信方式等に応じて検証サーバ5に複数個存在してもよい。
なお、通信部54の通信機能は、無線通信の場合、アンテナ、および変復調回路等を含んでもよい。有線通信の場合は、コネクタ、および変復調回路等を含んでもよい。通信部54は複数の通信方式に対応するよう構成されてもよい。
管理者用ICカード8は、図4に示されるように、制御部80、記憶部81、揮発性記憶部82、電源供給部83、通信部84、および暗号処理部89を備え、これらがバス線などで結線されている。なお、図4では各モジュールが管理者用ICカード8の内部にて他のモジュールと物理的に結線しているように示しているが、必ずしもバス線により結線されている必要はなく、その他の方法で電気的に繋がっていてもよいし、必要なモジュール同士のみが相互に接続されている構成でもよい。
制御部80は、CPU、MPU、およびDSP等から構成され、記憶部81等に格納される所定の動作制御用プログラムを実行するなどして、管理者用ICカード8全体の動作を制御する。
記憶部81は、管理者用ICカード8に内蔵される半導体メモリ等から構成され、各種の情報を記憶する。記憶部81は、例えば、EEPROM、フラッシュメモリ等から構成され、その記憶内容は電源供給部83からの電源供給がない状態でも保持される。あるいは磁気ディスクなどで構成されていてもよい。記憶部81は、例えば制御部80が実行する動作制御用プログラムや、処理に必要なデータなどを記憶する。記憶部81が備える構成要素については、後に詳述する。
揮発性記憶部82は、管理者用ICカード8に内蔵される半導体メモリ等から構成され、各種の情報を記憶する。揮発性記憶部82は、例えば、RAMメモリ等から構成され、その記憶内容は電源供給部83からの電源供給がなくなった場合に破棄される。揮発性記憶部82は、例えば処理に一時的に必要なデータなどを記憶する。揮発性記憶部82が備える構成要素については、後に詳述する。
電源供給部83は、外部から電源を取得する電源供給端子またはアンテナ、および電源供給回路等から構成され、管理者用ICカード8の各部への電源供給をおこなう。あるいは、バッテリ、ACアダプタ、充電回路等を備えていてもよい。図4に記してはいないが、管理者用ICカード8は電源供給部83によって管理者用生体情報取得装置9や情報端末3から電源の供給を受けてもよく、その際通信部84を介してもよい。
通信部84は、管理者用ICカード8が管理者用生体情報取得装置9や情報端末3と通信をおこなうための機能であり、接触ICカードの国際標準通信方式であるISO7816、非接触ICカードの国際標準通信方式であるISO14443、FeliCa、NFC、SDカード規格に応じた通信、Bluetooth、Bluetooth Low Energy、USB、有線LAN、無線LAN、TransferJETなどの通信方式を実現するモジュールであることが考えられる。管理者用ICカード8が管理者用生体情報取得装置9の組込みモジュールであった場合、通信部84は管理者用生体情報取得装置9と基板上で結線されたものであってもよい。あるいは管理者用生体情報取得装置9と管理者用ICカード8が一体となっており、管理者用ICカード8に相当する機能が管理者用生体情報取得装置9の秘密情報保護機構である場合は、管理者用生体情報取得装置9が備える秘密情報保護機構への所定のAPIが通信部84であると考えても何ら問題はない。通信部84は通信方式に応じて管理者用ICカード8に複数個存在してもよい。
なお、通信部84の通信機能は、無線通信の場合、アンテナ、および変復調回路等を含んでもよい。有線通信の場合は、コネクタ、および変復調回路等を含んでもよい。通信部84は複数の通信方式に対応するよう構成されてもよい。
暗号処理部85は、剰余乗算コプロセッサや暗号アクセラレータ等から構成され、RSA暗号や楕円曲線暗号といった公開鍵暗号処理や、AESやDESといった共通鍵暗号処理を、制御部でおこなうよりも高速に実行するための装置である。暗号処理部85は処理する暗号等に応じて管理者用ICカード8に複数個存在してもよい。
管理者用生体情報取得装置9は、図4に示されるように、制御部90、記憶部91、電源供給部93、情報端末通信部94、ICカード通信部97、生体情報取得部98を備え、これらがバス線などで結線されている。また図に示してはいないが、これ以外の機能を備えていてもよく、例えば、揮発性記憶部や暗号演算部を備えていてもよい。なお、図では各モジュールが管理者用生体情報取得装置9の内部にて他のモジュールと物理的に結線しているように示しているが、必ずしもバス線により結線されている必要はなく、その他の方法で電気的に繋がっていてもよいし、必要なモジュール同士のみが相互に接続されている構成でもよい。また別個の筐体にあるものが電気的に組み合わせっていてもよい。
制御部90は、CPU、MPU、およびDSP等から構成され、記憶部91等に格納される所定の動作制御用プログラムを実行するなどして、管理者用生体情報取得装置9全体の動作を制御する。
記憶部91は、管理者用生体情報取得装置9に内蔵されるメモリ、または取り外し可能な外部メモリ等から構成され、各種の情報を記憶する。例えば、制御部92が実行する動作制御用プログラムを記憶する。
記憶部91は、一例として、制御ソフトウェア910を備える。制御ソフトウェア910は、管理者用生体情報取得装置9を制御するためのプログラムであり、生体情報取得部98からの入力や、情報端末通信部94からの通信、ICカード通信部97からの通信、あるいは所定のタイマーやその他の割り込み処理によって実行を開始するプログラムである。制御ソフトウェア910は、複数のソフトウェアが連携した複合的なものであってもよい。なお、以下の説明では、特に断りなく管理者用生体情報取得装置9または制御ソフトウェア910が処理を実行するような記述をした場合、物理的には制御ソフトウェア910の実行プログラムを制御部90が実行するということを示しているものとする。
電源供給部93は、バッテリ、ACアダプタ、および充電回路等から構成され、生体情報取得装置9の各部への電源供給や、バッテリへの充電をおこなう。電源供給部93は、管理者用ICカード8への電源供給を行ってもよく、その際ICカード通信部97を介してもよい。
情報端末通信部94は、管理者用生体情報取得装置9が情報端末3などと通信をおこなうための機能であり、USB、接触ICカードの国際標準通信方式であるISO7816、非接触ICカードの国際標準通信方式であるISO14443、FeliCa、NFC、SDカード規格に応じた通信、Bluetooth、Bluetooth Low Energy、有線LAN、無線LAN、TransferJETなどの通信方式を実現するモジュールであることが考えられる。管理者用生体情報取得装置9が情報端末3の組込みモジュールであった場合、情報端末通信部94は情報端末3と基板上で結線されたものであってもよい。情報端末通信部94は通信方式に応じて管理者用生体情報取得装置9に複数個存在してもよい。
ICカード通信部97は、管理者生体情報取得装置9が管理者用ICカード8などと通信をおこなうための機能であり、接触ICカードの国際標準通信方式であるISO7816、非接触ICカードの国際標準通信方式であるISO14443、FeliCa、NFC、SDカード規格に応じた通信、Bluetooth、Bluetooth Low Energy、USB、有線LAN、無線LAN、TransferJETなどの通信方式を実現するモジュールであることが考えられる。管理者用ICカード8が管理者用生体情報取得装置9の組込みモジュールであった場合、ICカード通信部97は管理者用生体情報取得装置9と基板上で結線されたものであってもよい。あるいは管理者用生体情報取得装置9と管理者用ICカード8が一体となっており、管理者用ICカード8に相当する機能が管理者用生体情報取得装置9の秘密情報保護機構である場合は、管理者用生体情報取得装置9が備える秘密情報保護機構への所定のAPIがICカード通信部97であると考えても何ら問題はない。ICカード通信部97は通信方式に応じて管理者用生体情報取得装置9に複数個存在してもよい。
生体情報取得部98は、静脈、指紋、手のひら、虹彩、音声、顔、等の一または複数の生体情報を画像や音声信号、またはそれらから特徴を抽出したデータを取得する装置を備え、それらを制御部90に入力する。生体情報取得部98は、生体の存在を検知することでデータを取得する動作を開始してもよいし、情報端末通信部94による入力をきっかけとしてデータを取得する動作を開始してもよい。生体情報取得部98は、管理者用生体情報取得装置9に複数個存在してもよい。
次に、図5を用いて情報端末3、ユーザ用ICカード1、管理者用ICカード8が保持するデータについて説明する。
図5は、情報端末3、ユーザ用ICカード1、管理者用ICカード8が保持するデータを示す図である。
この図5には、情報端末3の記憶部31および揮発性記憶部32、ユーザ用ICカード1の記憶部11、管理者用ICカード8の記憶部81および揮発性記憶部82が保持するデータが示されている。
情報端末3の記憶部31は、図5に示されるように、制御ソフトウェア310を備える。制御ソフトウェア310は、情報端末3を制御するためのプログラムであり、入力部36からの入力や、通信部37からの通信、サーバ通信部34からの通信、あるいは所定のタイマーやその他の割り込み処理によって実行を開始するプログラムである。制御ソフトウェア310は複数のソフトウェアが連携した複合的なものであってもよい。なお、以下の説明で、特に断りなく情報端末3または制御ソフトウェア310が処理を実行するような記述をした場合、物理的には制御ソフトウェア310の実行プログラムを制御部30が実行するということを示しているものとする。
情報端末3の揮発性記憶部32は、図5に示されるように、管理者承認情報格納部323を備える。管理者承認情報格納部323は、管理者承認情報を格納する。管理者承認情報格納部323に格納される管理者承認情報は、ユーザが生体情報を登録することを管理者が承認したことを示す情報に対し、管理者用ICカード8の内部の処理で管理者の秘密鍵により署名を付したものである。後述する管理者承認情報8130がこれに相当する。
ユーザ用ICカード1の記憶部11は、図5に示されるように、制御ソフトウェア110、ユーザID111、ユーザ生体テンプレート格納部112、管理者承認情報格納部113、ユーザ証明書格納部114、ユーザ署名生成鍵115を備える。
制御ソフトウェア110は、ユーザICカード1を制御するためのプログラムであり、通信部14からの通信、あるいは所定のタイマーやその他の割り込み処理によって実行を開始するプログラムである。制御ソフトウェア110は、複数のソフトウェアが連携した複合的なものであってもよい。なお、以下の説明で、特に断りなくユーザICカード1または制御ソフトウェア110が処理を実行するような記述をした場合、物理的には制御ソフトウェア110の実行プログラムを制御部10が実行するということを示しているものとする。
ユーザID111は、認証システムとしてユーザを一意に特定できるIDである。ユーザID111は、予め記憶部11に記憶されていてもよいし、ユーザが生体情報の登録をする際に動的に定めてもよい。
ユーザ生体テンプレート格納部112は、ユーザの生体認証に用いる生体テンプレートが格納される。生体テンプレートは、ユーザ用生体情報取得装置2によって取得された生体情報に基づくものであり、生体情報の登録処理において、ユーザICカード1の外部から与えられるか、または、ユーザICカード1の外部から与えられた情報をユーザICカード1の内部における所定の処理を実施することで生成することが考えられる。
管理者承認情報格納部113は、ユーザが自身の生体情報をユーザ用ICカード1に登録する際に、所定の管理者の承認を受けたことを示す情報である管理者承認情報1130を格納する。管理者承認情報1130は、ユーザID格納部1131、管理者ID格納部1132、登録承認状態識別子1133、管理者署名格納部1134を備える。
ユーザID格納部1131には、ユーザID111が格納される。ユーザID111は予め格納されていてもよいし、後に説明する処理において必要となった場合に格納されてもよい。
管理者ID格納部1132は、認証システムとして管理者を一意に特定できるIDである管理者IDを格納する。
登録承認情報識別子1133は、管理者からの承認を受けたか否かを示す情報であり、一例として、承認済み、または、未承認、を示す二つの値をとることが考えられる。あるいは他の値をとってもよい。例えば否認を示す値や、不明を示す値をとってもよい。
管理者署名格納部1134は、管理者承認情報1130に含まれる情報の正しさを保証するための署名が格納される。署名は、管理者の署名、または、管理者に承認を受けて生体情報を登録したユーザの署名であることが考えられる。後者である場合、署名はユーザ署名生成鍵115によって生成されることが考えられる。署名は、例えば、PKCS#1仕様に基づいて作成されることが考えられる。
ユーザ証明書格納部114は、ユーザのドキュメントに対し生成されるユーザ署名を検証するためのユーザ証明書を格納する。ユーザ証明書は、一例として、X.509に基づくPKI公開鍵証明書であることが考えられる。ユーザ証明書は、証明書サーバ4で発行され、認証システムの他の構成要素を通じて、通信部14を介してユーザICカード1に格納される。後に、フローチャートによって説明するが、ユーザ証明書の格納は、管理者による承認が実施されていなければ実施することができないものとする。
ユーザ署名生成鍵格納部115は、ユーザのドキュメントに対しユーザ署名を生成するためのユーザ署名生成鍵を格納する。ユーザ署名生成鍵は、一例として、PKIにおける秘密鍵であることが考えられ、ユーザ証明書格納部114に格納されるユーザ証明書と対になっている。ユーザ署名生成鍵は、証明書サーバ4で生成され、認証システムの他の構成要素を通じて、通信部14を介してユーザICカード1に格納される。後に、フローチャートによって説明するが、ユーザ署名生成鍵の格納は、管理者による承認が実施されていなければ実施することができないものとする。
管理者用ICカード8の記憶部81は、図5に示されるように、制御ソフトウェア810、管理者ID811、管理者生体テンプレート格納部812、管理者証明書格納部814、管理者署名生成鍵815を備える。
制御ソフトウェア810は、管理者ICカード8を制御するためのプログラムであり、通信部84からの通信、あるいは所定のタイマーやその他の割り込み処理によって実行を開始するプログラムである。制御ソフトウェア810は、複数のソフトウェアが連携した複合的なものであってもよい。なお、本例で特に断りなく管理者ICカード8または制御ソフトウェア810が処理を実行するような記述をした場合、物理的には制御ソフトウェア810の実行プログラムを制御部80が実行するということを示しているものとする。
管理者ID811は、認証システムとして管理者を一意に特定できるIDである。予め記憶部81に記憶されていてもよいし、管理者が生体情報の登録をする際に動的に定めてもよい。
管理者生体テンプレート格納部812は、管理者の本人確認に用いる生体認証用の生体テンプレートが格納される。生体テンプレートは、管理者用生体情報取得装置9によって取得された生体情報に基づくものであり、管理者ICカード8の外部から与えられるか、または、管理者ICカード8の外部から与えられた情報を管理者ICカード8の内部における所定の処理を実施することで生成することが考えられる。管理者生体テンプレートの登録は、一連の処理よりも前に実施されている必要がある。
管理者証明書格納部814は、必要に応じて生成される管理者署名を検証するための管理者証明書を格納する。管理者証明書は、一例として、X.509に基づくPKI公開鍵証明書であることが考えられる。管理者証明書は、証明書サーバ4で発行され、認証システムの他の構成要素を通じて、通信部84を介して管理者ICカード8に格納される。管理者証明書の格納は、一連の処理よりも前に実施されている必要がある。
管理者署名生成鍵格納部815は、必要に応じて管理者署名を生成するための管理者署名生成鍵を格納する。管理者署名生成鍵は、一例として、PKIにおける秘密鍵であることが考えられ、管理者証明書格納部814に格納される管理者証明書と対になっている。管理者署名生成鍵は、証明書サーバ4で生成され、認証システムの他の構成要素を通じて、通信部84を介して管理者ICカード8に格納される。管理者署名生成鍵の格納は、後に説明する一連の処理よりも前に実施されている必要がある。
管理者用ICカード8の揮発性記憶部82は、図5に示されるように、ユーザが生体情報をユーザ用ICカード1に登録する際に、管理者の承認を受けたことを管理者が保証するための情報である、管理者承認情報8130を格納する。管理者承認情報8130は、ユーザID格納部8131、管理者ID格納部8132、登録承認状態識別子8133、管理者署名格納部8134を備える。
ユーザID格納部8131は、認証システムとしてユーザを一意に特定できるIDであるユーザIDを格納する。
管理者ID格納部8132は、管理者ID811が格納される。管理者ID811は予め格納されていてもよいし、後に述べる処理において必要となった場合に格納されてもよい。
登録承認情報識別子8133は、管理者がユーザの生体情報登録を承認したか否かを示す情報であり、一例として、承認済み、または、未承認、を示す二つの値をとることが考えられる。あるいは他の値をとってもよい。例えば否認を示す値や、不明を示す値をとってもよい。
管理者署名格納部8134は、管理者承認情報8130に含まれる情報の正しさを保証するための署名が格納される。署名は、管理者の署名である。署名は管理者署名生成鍵815によって生成されることが考えられる。署名は、例えば、PKCS#1仕様に基づいて作成されることが考えられる。
次に、図6ないし図9を用いて本発明の第一の実施形態に係る認証システムの処理について説明する。
先ず、図6を用いてユーザの生体情報およびユーザ証明書をユーザICカード1に登録する処理について説明する。図6は、本発明の第一の実施形態に係るユーザの生体情報およびユーザ証明書をユーザICカード1に登録する処理を示すフローチャートである。
先ず、ユーザの生体情報およびユーザ証明書登録処理は、情報端末3の入力部36からの入力をきっかけとして開始される(S401)。S401での入力部36への操作は、登録開始処理を意図するユーザまたは管理者による操作であることが考えられる。S401はS101やS301と同一の処理であってもよい。
続いて、管理者承認処理を実施する(S402)。管理者承認処理の詳細は、後に、図7を用いて説明する。管理者による承認のもと管理者承認処理が完了したら、情報端末3は、ユーザ用生体情報取得装置2にユーザの生体情報を取得する指示を送出する(S403)。
これを受けたユーザ用生体情報取得装置2は、生体情報取得部28からユーザの生体情報を取得し、これをユーザ用ICカード1に送出する(S404)。
ユーザ用ICカード1は、これを受け取ると、登録承認状態識別子1133のチェックをおこなう(S405)。S405では合わせて管理者署名格納部1134の管理者署名の確認を実施してもよい。チェックの結果が承認済みでない場合(S405:NG)、その旨を情報端末3に通知し、これを受けた情報端末3は表示部35などによりエラー出力をおこなう(S406)。照合に成功した場合(S405:OK)、受け取った生体情報をユーザ生体テンプレート格納部112に登録し(S407)、生体情報を登録したことを情報端末3に通知する(S408)。
続いて、情報端末3は、管理者承認情報格納部323の管理者承認情報を証明書サーバ4に送付し、ユーザ証明書を要求する(S409)。
これを受けた証明書サーバ4は、受け取った管理者承認情報に含まれる管理者署名を管理者の公開鍵証明書を用いて検証し(S410)、検証に失敗した場合(S410:NG)、その旨を情報端末3に通知し、これを受けた情報端末3は表示部35などによりエラー出力をおこなう(S411)。照合に成功した場合(S410:OK)、受け取った管理者承認情報を管理者承認情報格納部46に格納し(S412)、ユーザ署名生成鍵となる秘密鍵とその対となる公開鍵を生成し、公開鍵には認証局の署名生成鍵によって証明書を付与してユーザ証明書を発行し、これを証明書格納部45に格納し、ユーザ証明書とユーザ署名生成鍵とを情報端末3に送付する(S413)。なお、S413における情報端末3への送付の際、インターネットなどのグローバルネットワークを経由して送信されることもあるため、セキュリティを高めるために、ユーザ署名生成鍵は所定の方法で暗号化されているのが望ましい。
続いて、情報端末3は、受け取ったユーザ証明書とユーザ署名生成鍵とをユーザ用ICカード1に送付する(S414)。これを受けたユーザ用ICカード1は、S405と同様に登録承認状態識別子1133のチェックを行い(S415)、チェックの結果が承認済みでない場合(S415:NG)、その旨を情報端末3に通知し、これを受けた情報端末3は表示部35などによりエラー出力をおこなう(S416)。照合に成功した場合(S415:OK)、受け取ったユーザ証明書をユーザ証明書格納部114に、ユーザ署名生成鍵をユーザ署名生成鍵115にそれぞれ登録する(S417)。
ユーザ用ICカード1は、管理者承認情報1130をS417で格納したユーザの証明書で検証できるようにする場合、管理者承認情報格納部113に格納される情報の署名をユーザ署名生成鍵115で生成し、これを管理者署名格納部1134に格納してもよい(S418)。このとき、認証システムの運用において、ユーザ署名生成鍵は、セキュリティを向上させるために、証明書サーバ4を除き高々ユーザ用ICカード1にのみ存在させるのが望ましい。なお、管理者承認情報の署名を管理者の公開鍵で検証するのであれば、S418はスキップしてよい。
続いて、ユーザICカード1は、登録を完了したことを情報端末3に通知する(S419)。これを受け情報端末3は、少なくともユーザ署名生成鍵を自身の構成要素から消去し(S420)、登録処理を完了する(S421)。S421でユーザ用ICカード1をリセットしたり、管理者用ICカード8がある場合、これをリセットしたりするなど、所定の後処理を実施してもよい。
また、図6に示した処理の例は、S403からS408までの一まとまりの処理と、S409からS413までの一まとまりの処理は、それらのまとまり同士の順序が逆であっても問題ない。さらに、S403からS408までのひとまとまりの処理と、S409からS420までの一まとまりの処理は、それらのまとまり同士の順序が逆であっても問題ない。
次に、図7を用いて本発明の第一の実施形態に係るユーザ生体情報を登録するときの管理者承認処理について説明する。図7は、本発明の第一の実施形態に係るユーザ生体情報を登録するときの管理者承認処理を示すシーケンス図である。図7に示される管理者承認処理は、図6のS402の処理である。
以下、特に断りがなくとも、情報端末3とユーザICカード1の間の通信の往復は、ユーザ用生体情報取得装置2が中継していてもよいものとし、情報端末3と管理者用ICカード8の間の通信の往復は、管理者用生体情報取得装置9が中継していてもよいものとする。
先ず、管理者承認処理が、開始される(S101)。本実施形態では、図6のサブルーチンとして実行されているが、情報端末3の入力部36からの入力をきっかけとして開始されるようにしてもよい。そのときには、S101での入力部36への操作は、承認処理開始を、意図する管理者による操作であることが想定される。
これを受け、情報端末3は、管理者用生体情報取得装置9に管理者を認証する処理を開始する指示を送出する(S102)。
これを受けた管理者用生体情報取得装置9は、生体情報取得部98から管理者の生体情報を取得し、これを管理者用ICカード8に送出する(S103)。
管理者用ICカード8は、これを受け取り、管理者生体テンプレート格納部812に格納された管理者生体テンプレートと、S103で取得した生体情報との照合処理を実施する(S104)。
照合に失敗した場合(S104:NG)、その旨を情報端末3に通知し、これを受けた情報端末3は表示部35などによりエラー出力をおこなう(S105)。照合に成功した場合(S104:OK)、照合が正しく完了したことを情報端末3に通知する(S106)。
続いて、情報端末3は、ユーザ用ICカード1にユーザIDを要求する(S107)。これを受けユーザ用ICカード1は、ユーザID111を送出する(S108)。なお、S107とS108は、情報端末3が入力部36からの入力などによりユーザIDを保持している場合は必ずしも実施しなくてよい。
続いて、情報端末3は、管理者が承認するか否かを判断し、判断結果を入力部36から入力するための画面を、表示部35に表示する(S109)。入力された結果が却下であった場合(S109:却下)、処理を終了する(S110)。このとき、管理者用ICカード8をリセットするなど所定の後処理を実施してもよい。入力された結果が承認であった場合(S109:承認)、続いて、管理者用ICカード8に対しユーザIDを送付し、管理者承認情報を要求する(S111)。
これを受けた管理者用ICカード8は、受け取ったユーザIDをユーザID格納部8131に格納し(S112)、続いて、管理者ID811を管理者ID格納部8132に格納する(S113)。S113は、予め管理者ID811が管理者ID格納部8132に格納されている場合は実施する必要はない。
続いて、管理者用ICカード8は、登録承認状態識別子8133を、承認済みを示す値とする(S114)。
続いて、管理者用ICカード8は、管理者署名生成鍵815で署名を生成し、管理者署名格納部8134に格納する(S115)。なお、S115までで生成される管理者承認情報8130は揮発性記憶部82にあるため、管理者用ICカード8の電源供給が停止するなどした場合、管理者承認情報8130に含まれる情報は、消去される。
続いて、管理者用ICカード8は、管理者承認情報8130を情報端末3に送出する(S116)。
これを受けた情報端末3は、管理者承認情報を管理者承認情報格納部323に格納する(S117)。なお、S117で格納される管理者承認情報格納部323は揮発性記憶部32にあるため、情報端末3の電源供給が停止するなどした場合、管理者承認情報は消去される。
続いて、情報端末3は、管理者承認情報をユーザICカード1に送付し、格納する指示を出す(S118)。S118では管理者承認情報をユーザICカード1が検証するために必要な管理者証明書を合わせて送付してもよい。図には示していないが、管理者証明書は、情報端末3が証明書サーバ4から取得することが考えられる。
管理者承認情報を受け取ったユーザ用ICカード1は、管理者承認情報に含まれる管理者署名の確認をおこなう(S119)。管理者署名の検証は、例えば、情報端末3から合わせて送付される管理者証明書を用いる。あるいはユーザ用ICカード1が記憶部11などに予め保持していてもよい。
管理者署名の検証が失敗した場合(S119:NG)、その旨を情報端末3に通知し、これを受けた情報端末3は表示部35などによりエラー出力をおこなう(S120)。照合に成功した場合(S119:OK)、管理者承認情報を管理者承認情報格納部113に格納し(S121)、情報端末に完了した旨を通知する(S122)。これを受けた情報端末3は、管理者承認処理を完了する(S123)。
次に、図8を用いて本発明の第一の実施形態に係るユーザが生体認証を実施し、ドキュメントに対し署名を生成する処理について説明する。図8は、本発明の第一の実施形態に係るユーザが生体認証を実施し、ドキュメントに対し署名を生成する処理を示すフローチャートである。
この図8に示される生体認証、署名生成処理は、図6のユーザの生体情報およびユーザ証明書登録処理の後に実施される。
先ず、生体認証、署名生成処理は、情報端末3の入力部36からの入力をきっかけとして開始される(S501)。S501での入力部36への操作は、署名生成処理開始を意図するユーザによる操作であることが考えられる。
これを受け、情報端末3はユーザ用生体情報取得装置2に管理者を認証する処理を開始する指示を送出する(S502)。これを受けたユーザ用生体情報取得装置2は、生体情報取得部28からユーザの生体情報を取得し、これをユーザ用ICカード1に送出する(S503)。
ユーザ用ICカード1は、これを受け取り、ユーザ生体テンプレート格納部112に格納されたユーザ生体テンプレートと、S503で取得した生体情報との照合処理を実施する(S504)。照合に失敗した場合(S504:NG)、その旨を情報端末3に通知し、これを受けた情報端末3は表示部35などによりエラー出力をおこなう(S505)。照合に成功した場合(S504:OK)、照合が正しく完了したことを情報端末3に通知する(S506)。
続いて、情報端末3は、ユーザが署名を付したいドキュメントの署名用データをユーザ用ICカード1に送出する(S507)。署名用データは、例えば、ドキュメントのハッシュ値であることが考えられる。
署名用データを受けたユーザ用ICカード1は、ユーザ署名生成鍵115でユーザ署名を生成し、管理者承認情報1130と合わせて、情報端末3に送出する(S508)。
続いて、情報端末3は、ドキュメント、およびS508で取得したユーザ署名、管理者承認情報を、検証サーバ5に送付する(S509)。一般にドキュメントの送付先は、所定の署名が検証可能な任意の対象であり、検証サーバ5である必要はないが、一例として検証サーバ5に送付するものとする。検証サーバ5は、これを受け、ドキュメントをドキュメント格納部514に、ユーザ署名をユーザ署名格納部511に、管理者承認情報を管理者承認情報格納部512に、それぞれ格納する。その後情報端末3は処理を完了する(S511)
次に、図9を用いて本発明の第一の実施形態に係る検証サーバ5でユーザのドキュメントに対し、ドキュメントの信頼度を得る処理について説明する。図9は、本発明の第一の実施形態に係る検証サーバ5でユーザのドキュメントに対し、ドキュメントの信頼度を得る処理を示すフローチャートである。
検証サーバ5でユーザのドキュメントに対し、ドキュメント信頼度を得る処理は、ユーザ証明書と管理者承認情報の検証に基づいておこなわれる。なお、ドキュメント信頼度の具体例は、図20により後に詳述する。得られたドキュメント信頼度は、検証サーバ5が任意の目的に使用することができるが、一般には、対象となるドキュメントと、その付帯情報であるユーザ証明書と管理者承認情報を検証する主体が、その目的の達成ためにドキュメント信頼度を使用することが考えられる。
図9に示されるドキュメントの信頼度を得る処理は、図8で署名生成の後に実施される。処理は、一例として、情報端末3から検証サーバ5の通信部54への入力をきっかけとして開始する(S601)。
検証サーバ5は、管理者承認情報に含まれるユーザIDを証明書サーバ4に送付し、ユーザ証明書を要求する(S602)。これを受けた証明書サーバ4は、ユーザIDに対応付いたユーザ証明書を証明書格納部45から抽出し、検証サーバ5に送付する(S603)。
これを受けた検証サーバ5は、例えば、CA証明書によってユーザ証明書の正当性を検証し、ユーザ証明書格納部513にユーザ証明書を格納する(S604)。
続いて、検証サーバ5は、ユーザ証明書でユーザ署名と管理者承認情報を検証することで、ドキュメント信頼度515を更新する(S605)。なお、図に示してはいないが、管理者承認情報が管理者により署名されていれば、例えば、証明書サーバ4から管理者証明書を取得し、これにより署名の検証を実施してもよい。また、ドキュメント信頼度515の定め方の一例は、図20によって後に詳述する。その後、検証サーバ5は、検証を完了する(S606)。
このように、ユーザの生体情報を登録する際、管理者の承認を必須とする認証システムとすることで、なりすまし登録や偽造指の登録を防ぎ、さらにその承認履歴について電子署名を検証する際などにドキュメント信頼度として評価することでセキュリティを高めることが可能となる。
〔実施形態2〕
以下、本発明に係る第一の実施形態を、図10ないし図12を用いて説明する。
図10は、本発明の第二の実施形態に係る認証システムの全体構成を示す構成図である。図11は、本発明の第二の実施形態に係る情報端末、ユーザ用ICカード、および管理者用ICカードが保持する情報の一例を示す図である。図12は、本発明の第二の実施形態に係るユーザ生体情報を登録するときの管理者承認処理を示すシーケンス図である。
第一の実施形態では、ユーザ生体情報の登録時の管理者の承認を、管理者の生体情報によりおこなった。本実施形態では、管理者がパスワード入力を行い、それを管理者用ICカードに格納された情報と比較照合することにより、ユーザ生体情報の登録時の管理者の承認をおこなうものである。
本実施形態の認証システムは、図1に示めされる第一の実施形態の構成に比べて、図10に示されるように、管理者生体情報取得装置9がなく、直接、情報端末3が管理者用ICカード8にアクセスすることが異なっている。
また、管理者用ICカード8の記憶部81に保持されるデータとしては、図5に示めされる第一の実施形態の記憶部81に保持されるデータと比べて、図11に示されるように、管理者生体テンプレート格納部812がなく、管理者パスワード格納部812bを備えることが異なっている。管理者パスワード格納部812bは、管理者の本人確認に用いるパスワードが格納される。パスワードは予め記憶部81に記憶されていてもよいし、管理者ICカード8の外部から与えられてもよい。管理者パスワードの登録は、パスワードによる認証処理よりも前に実施されている必要がある。
次に、図12を用いて本発明の第二の実施形態に係るユーザ生体情報を登録するときの管理者承認処理について説明する。図12に示される管理者承認処理は、第一の実施形態の図6のS402の処理である。
ここでは、第一の実施形態の図12と比較し、異なる点を中心に説明する。
S101でフローを開始したのに続き、情報端末3は、表示部35を用いて管理者にパスワード入力を促す画面を出力し、入力部36からパスワード入力を受け、入力されたパスワードを管理者用ICカード8に送出する(S201)。
これを受けた管理者用ICカード8は、管理者パスワード812bと照合をおこなう(S202)。照合に失敗した場合(S202:NG)、その旨を情報端末3に通知し、これを受けた情報端末3は表示部35などによりエラー出力をおこなう(S203)。照合に成功した場合(S202:OK)、照合が正しく完了したことを情報端末3に通知する(S204)。
〔実施形態3〕
以下、本発明に係る第三の実施形態を、図13ないし図15を用いて説明する。図13は、本発明の第三の実施形態に係る認証システムの全体構成を示す構成図である。図14は、本発明の第三の実施形態に係る情報端末、ユーザ用ICカードが保持する情報の一例を示す図である。図15は、本発明の第三の実施形態に係るユーザ生体情報を登録するときの管理者承認処理を示すシーケンス図である。
第二の実施形態では、管理者がパスワード入力を行い、それを管理者用ICカードに格納された情報と比較照合することにより、ユーザ生体情報の登録時の管理者の承認をおこなった。本実施形態では、ユーザ生体情報の登録時の管理者の承認の際に、同じくパスワードを用いるが、管理者用ICカードに格納された情報ではなく、情報処理端末3に格納された情報と比較するものである。
本実施形態の認証システムは、図1に示めされる第一の実施形態の構成に比べて、図10に示されるように、管理者生体情報取得装置9がなく、直接、情報端末3が管理者用ICカード8にアクセスすることが異なっている。
本実施形態の認証システムは、図10に示めされる第二の実施形態の構成に比べて、図13に示されるように、管理者用ICカード8がないことが異なっている。
本発明の第三の実施形態に係る情報端末、ユーザ用ICカードが保持する情報は、図14に示されるようになるが、第一の実施形態、第二の実施形態と比較し、異なっている所を中心に説明する。
情報端末3の記憶部31は、制御ソフトウェア310b、管理者パスワード312、署名生成鍵315を備える。制御ソフトウェア310bは、第一の実施形態の図5の制御ソフトウェア310と比較して、ユーザ生体情報を登録するときの管理者承認処理に関する動作が異なるものである。
管理者パスワード312は、管理者の本人確認に用いる管理者パスワードが格納される。パスワードは予め記憶部31に記憶されていてもよいし、情報端末3の外部から与えられてもよい。管理者パスワードの登録は、パスワードによる認証処理よりも前に実施されている必要がある。管理者パスワード312は、管理者のIDと対応付けて複数保持されていてもよい。
管理者署名生成鍵315は、管理者承認情報に対し管理者署名を生成するための署名生成鍵である。管理者署名生成鍵315は、一例として、PKIにおける秘密鍵であることが考えられる。また、図には示していないが、管理者署名生成鍵315と対となる管理者証明書を記憶部31で保持してもよい。管理者署名生成鍵31は、証明書サーバ4で生成され、情報端末3に格納される。管理者署名生成鍵31の格納は、後に説明する管理者署名生成処理よりも前に実施されている必要がある。
揮発性記憶部32は、管理者承認情報格納部323bを備える。管理者承認情報格納部323bは、ユーザが生体情報をユーザ用ICカード1に登録する際に、管理者の承認を受けたことを管理者が保証するための情報である管理者承認情報3230を格納する。管理者承認情報3230は、ユーザID格納部3231、管理者ID格納部3232、登録承認状態識別子3233、管理者署名格納部3234を備える。
ユーザID格納部3231は、認証システムとしてユーザを一意に特定できるIDであるユーザIDを格納する。
管理者ID格納部3232は、管理者IDが格納される。管理者IDは認証システムとして管理者を一意に特定できるIDであり、予め格納されていてもよいし、入力部36などから入力されたものでもよい。
登録承認情報識別子3233は、管理者がユーザの生体情報登録を承認したか否かを示す情報であり、一例として、承認済み、または、未承認、を示す二つの値をとることが考えられる。あるいは他の値をとってもよい。例えば否認を示す値や、不明を示す値をとってもよい。
管理者署名格納部3234は、管理者承認情報3230に含まれる情報の正しさを保証するための署名が格納される。署名は、管理者の署名であることが考えられる。署名は管理者署名生成鍵315によって生成されることが考えられる。署名は、例えば、PKCS#1仕様に基づいて作成されることが考えられる。
次に、図15を用いて本実施形態のユーザ生体情報を登録するときの管理者承認処理について説明する。
本実施形態のユーザ生体情報を登録するときの管理者承認処理が、開始される(S301)。本実施形態のユーザ生体情報を登録するときの管理者承認処理は、第二の実施形態と同様に、第一の実施形態の図6に示したユーザの生体情報およびユーザ証明書をユーザICカードに登録する処理のサブルーチンとして実施されるが、情報端末3の入力部36からの入力をきっかけとして開始されるようにしてもよい。
続いて、情報端末3は、表示部35を用いて管理者にパスワード入力を促す画面を出力し、入力部36からパスワード入力を受ける(S302)。S302で合わせて、管理者IDの入力を受けてもよい。続いて入力されたパスワードと管理者パスワード313を照合し(S303)、照合に失敗した場合(S303:NG)、表示部35などによりエラー出力をおこなう(S304)。照合に成功した場合(S303:OK)、ユーザIDの入力を要求する画面を表示部35などにより表示し、入力部36などによりユーザIDの入力を受ける(S305)。続いて、情報端末3は、管理者が、ユーザの生体情報を承認するか否かを判断し、判断結果を入力部36から入力するための画面を、表示部35に表示する(S306)。入力された結果が却下であった場合(S306:却下)、処理を終了する(S307)。このとき情報端末3の揮発性記憶部32の所定の情報を消去するなど所定の後処理を実施してもよい。入力された結果が承認であった場合(S306;承認)、S305で入力されたユーザIDをユーザID格納部3231に格納し(S308)、管理者IDを管理者ID格納部3232に格納する(S309)。管理者IDはS302で入力されたものでもよいし、この処理が開始する前に予め管理者ID格納部3232に格納されていてもよい。
続いて、情報端末3は、登録承認状態識別子3233を、承認済みを示す値とする(S310)。
続いて、情報端末3は、管理者署名生成鍵315で署名を生成して管理者署名格納部3234に格納し(S311)、その後、図7のS118に処理を移し、ユーザ用ICカード1への管理者承認情報の登録をおこなう(S312)。なお、S311までで生成される管理者承認情報3230は、揮発性記憶部32にあるため、情報端末3の電源供給が停止するなどした場合、管理者承認情報3230に含まれる情報は消去される。
〔実施形態4〕
以下、本発明に係る第四の実施形態を、図16ないし図19を用いて説明する。
本実施形態の特徴は、第一の実施形態に加えたユーザ証明書の機能に加えて、独自拡張領域を有することである。
先ず、図16を用いて本実施形態のユーザ証明書C10について説明する。図16は、本発明の第四の実施形態に係るユーザ証明書C10の一例を示す図である。ユーザ証明書C10は、他の実施形態で説明したユーザ証明書と同様の性質を有するほか、独自拡張領域C11を有している。独自拡張領域C11は、ユーザ証明書C10のデータフィールドの一部であることが想定されている。独自拡張領域C11は、証明書種別識別子C110と、ユーザID格納部C111と、管理者ID格納部C112と、登録承認状態識別子C113とを備える。
証明書種別識別子C110は、認証システムにユーザ証明書が複数種類存在するときに、証明書の種別を識別するための情報であり、例えば、「生体認証を経て生成された電子署名を検証するための証明書である」といったことを識別する情報を入れることが考えられる。
また、ユーザID格納部C111は、ユーザ証明書C10を付与されたユーザのIDが格納される領域であると考えられる。
また、管理者ID格納部C112は、ユーザの生体登録並びに証明書発行の際に、承認を与えた管理者のIDが格納される領域であると考えられる。
登録承認状態識別子C113は、管理者がユーザの生体情報登録を承認したか否かを示す情報であり、一例として、承認済み、未承認、などの値をとることが考えられる。他の値をとってもよい。例えば、否認を示す値や、不明を示す値をとってもよい。
ユーザ証明書C10は、独自拡張領域C11も含めてユーザ証明書C10を発行する認証局の署名生成鍵により署名されると考えられる。したがって独自拡張領域C11の正当性は、認証局の公開鍵証明書により検証可能である。
次に、図17を用いてユーザの生体情報およびユーザ証明書をユーザICカード1に登録する処理について説明する。図17は、本発明の第四の実施形態に係るユーザの生体情報およびユーザ証明書をユーザICカード1に登録する処理を示すフローチャートである。
本実施形態では、第一の実施形態の図6の場合と異なる所を中心に説明する。
S701は管理者承認処理であり、S401に続いて実施される。
管理者承認処理は、第一の実施形態の図7、第二の実施形態の図12、第三の実施形態の図15による処理のいずれでもよい。本実施形態の処理では、いずれのフローでも含まれるS118からS122の処理を省略することができる。S118からS122は、ユーザ用ICカード1に管理者承認情報を送付して格納している部分であるが、管理者承認情報に相当する情報が発行される証明書に含まれるため、管理者承認処理の時点でユーザ用ICカード1に格納しなくともよいという趣旨である。
また、第一の実施形態の図6には、S405、S406があるが、登録承認状態識別子1133がユーザ用ICカード1に存在しないため、処理をスキップして生体情報の登録を実施する(S407、S408)。
S409〜S412の処理は、図6と同様であり、続いて、証明書サーバ4は、ユーザ署名生成鍵を生成し、ユーザ書証明書を発行し、S410で送付された管理者承認情報をユーザ証明書C10の独自拡張領域C11と、証明書格納部45に格納し、ユーザ証明書とユーザ署名生成鍵とを情報端末3に送付する(S702)。S410で送付された管理者承認情報を独自拡張領域C11に格納するところが、図6のS413と異なり、その他の処理は、S413と同様である。管理者承認情報のユーザIDが、独自拡張領域C11のユーザID格納部C111に、管理者承認情報の管理者IDが管理者ID格納部C112に、登録承認状態識別子が登録承認状態識別子C113に、それぞれ格納される。
情報端末3が、受け取ったユーザ証明書とユーザ署名生成鍵とをユーザ用ICカード1に送付することは、図6のS414と同様であり、ユーザ用ICカード1では、ユーザ証明書C10が備える登録認証状態識別子C113のチェックをおこなう(S703)。チェックの結果が承認済みでない場合(S703:NG)、その旨を情報端末3に通知し、これを受けた情報端末3は表示部35などによりエラー出力をおこなう(S416)。照合に成功した場合(S703:OK)、受け取ったユーザ証明書C10を、ユーザ証明書格納部114に、ユーザ署名生成鍵を、ユーザ署名生成鍵115にそれぞれ登録する(S417)。なお、管理者署名のユーザ用ICカード1への格納処理(図6のS418)は、省略してよい。
次に、図18を用いて本発明の第四の実施形態に係るユーザが生体認証を実施し、ドキュメントに対し署名を生成する処理について説明する。図18は、本発明の第四の実施形態に係るユーザが生体認証を実施し、ドキュメントに対し署名を生成する処理を示すフローチャートである。
ここでは、第一の実施形態の図8と比較し、異なった所を中心に説明する。
S501〜S508までの処理は、図8で示した処理と同様である。
次に、情報端末3は、ドキュメントと、生成したユーザ署名を検証サーバ5に送付する(S801)。S509では合わせて管理者承認情報も送付したが、本例では、ユーザ証明書C10に管理者承認情報相当の情報が含まれているため、必ずしも送付しなくてよい。
これを受けた検証サーバ5は、ドキュメントをドキュメント格納部514、生成したユーザ署名をユーザ署名格納部511に格納する(S802)。S510では合わせて管理者承認情報も受け付けたが、本実施形態のS802では、ユーザ証明書C10に管理者承認情報相当の情報が含まれているため、受け付けなくともよい。
次に、図19を用いて本発明の第四一の実施形態に係る検証サーバ5でユーザのドキュメントに対し、ドキュメントの信頼度を得る処理について説明する。
図19は、本発明の第四の実施形態に係る検証サーバ5でユーザのドキュメントに対し、ドキュメントの信頼度を得る処理を示すフローチャートである。
ここでは、第一の実施形態の図9と比較し、異なった所を中心に説明する。
S601〜S504までの処理は、図8で示した処理と同様である。
次に、証明書サーバ4から取得したユーザ証明書C10について検証し、その結果および独自拡張領域C11の登録承認状態識別子C113等から、ドキュメント信頼度515を更新する(S901)。S901の処理は、独自拡張領域C11を用いる以外は、図8のS605の処理と同じである。
本実施形態では、ユーザ証明書に独自領域を設けることにより、管理者の承認状態を格納し、ユーザ証明書を参照するだけで、管理者の承認状態照を判断できることになる。
〔ドキュメント信頼度の評価〕
以下、図20を用いて、上記で説明してきた各実施形態の認証システムによって、ドキュメント信頼度を評価できることについて説明する。図20は、ユーザ署名と、管理者承認状態を検証することにより、ドキュメントの信頼度を評価したドキュメント信頼度テーブルの例を示す図である。
ドキュメント信頼度テーブル515は、ドキュメントID5151と、ユーザID5152と、ユーザ署名検証結果5153と、承認状態検証結果5154と、信頼度5155を備え、これらがエントリとして対応付けられている。
ドキュメントID5151は、ドキュメントを特定するためのID情報である。ユーザID5152はドキュメントID5151が示すドキュメントに署名を付したユーザのユーザIDである。ユーザ署名検証結果5153は、ドキュメントID5151が示すドキュメントのユーザ署名を検証した結果を示している。図では「正しい署名」であることと、「署名検証失敗」であることを例として示している。
承認状態検証結果5154は、ドキュメントID5151に対応するドキュメントに付帯する管理者承認情報について、その署名や登録承認状態識別子を判定したものである。また、第一の実施形態の図7(生体情報)と、第二の実施形態の図12(パスワード、PIN認証)の違いのように管理者が何の手段で本人確認を行ったかといった情報を含めてもよい。また、図に示してはいないが、承認した管理者のIDなどを情報に含めてもよい。信頼度5155は、ユーザ署名検証結果5153や承認状態検証結果5154を踏まえて、与えられたドキュメントの正しさを認証システムとしてどの程度信頼すべきかという度合いを示す情報であり、一例として点数で示している。図に示した点数およびその算出基準は例であり、この通りである必要はない。
図示した例では、ユーザ署名5153が正しい署名でない場合は、承認状態検証結果5154に係わらず信頼度5155は0点であるとした。また承認状態検証結果5154は、署名検証が失敗する場合、存在しない場合、署名検証に成功した場合で管理者の認証方式がPIN認証だった場合(第二の実施形態の図12、第三の実施形態の図15)、署名検証に成功した場合で管理者の認証方式が生体認証だった場合(第一の実施形態の図7)を例として示しており、列挙した順に信頼度5155の評点が低いものとした。ただし、これらは一例であり、これに限るものではない。
〔その他の実施形態について〕
以上の各実施形態のフローチャートでは、詳細を記してはいない場合であっても、一連のフローを実施している場合において、何らかのエラーが発生した場合は、その旨を各構成要素の制御部に通知してもよい。
また、以上の各実施形態のフローチャートでは、詳細を記してはいないが、制御ソフトウェア310は、必要に応じて、そのとき行っている処理を表示部35などによって適宜ユーザに通知してもよい。特に、一連の処理の完了や分岐においては、その旨をそれぞれの表示部によって、ユーザに通知するのが望ましいし、入力部36などと、組み合わせて分岐の判断をユーザに問い合わせてもよい。
また、フローでは各ステップ間の情報のやり取りを省略して示しているが、実際には、コマンドに対するレスポンスのペアを成していると考えられる。また、各ステップ間の情報のやり取りを一組の双方向矢印で示している場合であっても、その中に複数のコマンド・レスポンスを含んでいても何ら問題ない。また、端末とサーバの通信において、クライアントである端末にサーバからデータが送信され、端末が受信するという内容を記述している場合でも、実際の通信はクライアント・サーバ間のコマンド・レスポンスを通じて実施され、その結果として先述のようなデータの送信を実現していてもよい。