(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-03
(45)【発行日】2024-10-11
(54)【発明の名称】データ管理システム、データ管理方法、及びデータ管理プログラム
(51)【国際特許分類】
H04L 9/08 20060101AFI20241004BHJP
G06F 21/32 20130101ALI20241004BHJP
G06F 21/60 20130101ALI20241004BHJP
G06F 21/64 20130101ALI20241004BHJP
G09C 1/00 20060101ALI20241004BHJP
H04L 9/32 20060101ALI20241004BHJP
【FI】
H04L9/08 A
G06F21/32
G06F21/60 320
G06F21/64
G09C1/00 640E
H04L9/08 F
H04L9/32 200B
(21)【出願番号】P 2021090942
(22)【出願日】2021-05-31
【審査請求日】2024-02-19
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】高橋 健太
(72)【発明者】
【氏名】本宮 志江
(72)【発明者】
【氏名】長沼 健
(72)【発明者】
【氏名】羽渕 峻行
(72)【発明者】
【氏名】川名 のん
【審査官】青木 重徳
(56)【参考文献】
【文献】特開2015-90993(JP,A)
【文献】特開2007-58532(JP,A)
【文献】国際公開第2020/257123(WO,A1)
【文献】柴田 陽一 ほか,メカニズムベースPKI,コンピュータセキュリティシンポジウム2003,日本,社団法人情報処理学会,2003年10月29日,p. 181-186
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/08
H04L 9/32
G09C 1/00
G06F 21/60
G06F 21/64
G06F 21/32
(57)【特許請求の範囲】
【請求項1】
第1計算機、第2計算機、及び第3計算機を含むデータ管理システムであって、
前記第1計算機は、前記第1計算機のユーザの生体情報から秘密鍵を生成し、
前記第2計算機は、前記秘密鍵に対応する公開鍵と、前記公開鍵に基づいて暗号化されたデータである暗号化データと、前記データの種類を示すインデックスの一覧と、前記暗号化データのインデックスと、を保持し、
前記一覧を前記第1計算機に送信し、
前記第1計算機は、前記一覧に含まれるインデックスであって、提示対象のデータのインデックスを指定して、前記指定したインデックスを前記第2計算機に送信し、
前記第2計算機は、前記第1計算機が送信したインデックスに対応する暗号化データを、前記第1計算機に送信し、
前記第1計算機は、前記インデックスに対応する暗号化データを前記秘密鍵に基づいて復号して、前記第3計算機に送信する、データ管理システム。
【請求項2】
請求項1に記載のデータ管理システムであって、
前記第2計算機は、前記公開鍵を保持し、
前記第1計算機が前記秘密鍵を用いて、前記第2計算機が前記公開鍵を用いて、前記第1計算機と前記第2計算機との間で認証を実行し、
前記認証が成功した場合に、前記第2計算機は前記一覧を前記第1計算機に送信する、データ管理システム。
【請求項3】
請求項1に記載のデータ管理システムであって、
前記第3計算機は、前記公開鍵を保持し、
前記第1計算機は、
前記データの提供同意情報を保持し、
前記秘密鍵を用いて前記提供同意情報に電子署名を付与し、
前記電子署名を付与した提供同意情報を前記第3計算機に送信し、
前記第3計算機は、前記公開鍵を用いて前記電子署名を検証する、データ管理システム。
【請求項4】
請求項1に記載のデータ管理システムであって、
第4計算機を含み、
前記第1計算機は、前記生体情報から共通鍵を生成し、
前記第4計算機は、
前記暗号化データの暗号化前の元データを保持し、
前記元データを前記第1計算機に送信し、
前記第2計算機が保持する暗号化データは、前記第1計算機が前記共通鍵に基づいて前記元データを暗号化して、前記第2計算機に送信したデータである、データ管理システム。
【請求項5】
請求項1に記載のデータ管理システムであって、
第4計算機を含み、
前記第4計算機は、
前記暗号化データの暗号化前の元データと、前記公開鍵と、を保持し、
前記第2計算機が保持する暗号化データは、前記第4計算機が前記公開鍵に基づいて前記元データを暗号化して、前記第2計算機に送信したデータである、データ管理システム。
【請求項6】
請求項4又は5に記載のデータ管理システムであって、
前記第1計算機は、
生体情報取得装置を有し、
表示装置に接続され、
前記第2計算機が保持する暗号化データは、前記第4計算機による電子証明書が前記公開鍵に基づいて暗号化された暗号化電子証明書を含み、
前記第1計算機は、
前記表示装置に前記生体情報のモダリティを示す情報を表示し、
前記生体情報取得装置を介して生体情報を取得し、
前記取得した生体情報から前記秘密鍵を生成し、
前記インデックスに対応する暗号化データに含まれる暗号化電子証明書を前記秘密鍵に基づいて復号して、前記第3計算機に送信し、
前記表示装置に前記復号したデータと前記復号した電子証明書を表示する、データ管理システム。
【請求項7】
請求項5に記載のデータ管理システムであって、
前記第2計算機は、
前記公開鍵を含む公開鍵証明書を保持し、
前記公開鍵証明書を前記第1計算機に送信し、
前記第4計算機が保持する公開鍵は、前記第1計算機は前記第4計算機に送信した公開鍵証明書に含まれる公開鍵であり、
前記第1計算機が前記秘密鍵を用いて、前記第4計算機が前記公開鍵証明書を用いて、前記第1計算機と前記第4計算機との間で認証を実行する、データ管理システム。
【請求項8】
請求項7に記載のデータ管理システムであって、
前記第1計算機が前記秘密鍵を用いて、前記第2計算機が前記公開鍵証明書を用いて、前記第1計算機と前記第2計算機との間で認証を実行し、
前記認証に成功した場合に、前記第2計算機は前記公開鍵証明書を前記第1計算機に送信する、データ管理システム。
【請求項9】
第1計算機、第2計算機、及び第3計算機を含むデータ管理システムによるデータ管理方法であって、
前記第1計算機は、前記第1計算機のユーザの生体情報から秘密鍵を生成し、
前記第2計算機は、前記秘密鍵に対応する公開鍵と、前記公開鍵に基づいて暗号化されたデータである暗号化データと、前記データの種類を示すインデックスの一覧と、前記暗号化データのインデックスと、を保持し、
前記一覧を前記第1計算機に送信し、
前記第1計算機は、前記一覧に含まれるインデックスであって、提示対象のデータのインデックスを指定して、前記指定したインデックスを前記第2計算機に送信し、
前記第2計算機は、前記第1計算機が送信したインデックスに対応する暗号化データを、前記第1計算機に送信し、
前記第1計算機は、前記インデックスに対応する暗号化データを前記秘密鍵に基づいて復号して、前記第3計算機に送信する、データ管理方法。
【請求項10】
第1計算機、第2計算機、及び第3計算機を含むデータ管理システムによるデータ管理を実行させるデータ管理プログラムであって、
前記データ管理プログラムは、前記第1計算機に、前記第1計算機のユーザの生体情報から秘密鍵を生成する処理を実行させ、
前記第2計算機は、前記秘密鍵に対応する公開鍵と、前記公開鍵に基づいて暗号化されたデータである暗号化データと、前記データの種類を示すインデックスの一覧と、前記暗号化データのインデックスと、を保持し、
前記データ管理プログラムは、
前記第2計算機に、前記一覧を前記第1計算機に送信する処理と、
前記第1計算機に、前記一覧に含まれるインデックスであって、提示対象のデータのインデックスを指定して、前記指定したインデックスを前記第2計算機に送信する処理と、
前記第2計算機に、前記第1計算機が送信したインデックスに対応する暗号化データを、前記第1計算機に送信する処理と、
前記第1計算機に、前記インデックスに対応する暗号化データを前記秘密鍵に基づいて復号して、前記第3計算機に送信する処理と、を実行させるデータ管理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ管理システム、データ管理方法、及びデータ管理プログラムに関する。
【背景技術】
【0002】
ブロックチェーンとスマートフォンとを用いたSSI(Self-sovereign Identity)技術が知られている。当該技術において、個人や電子証明書(VC(Verifiable Credential))の発行主体である組織は、自己の識別子(DID)と、公開鍵及び秘密鍵のペアと、を作成し、DIDと公開鍵をブロックチェーンに書き込み、秘密鍵をスマートフォン等のデバイスに格納して管理する。電子資格証明書の発行主体が個人に対して電子資格証明書を発行する。具体的には、個人が発行主体にVCを申請し、電子資格証明書を受領する。そして、個人はスマートフォン等の個人所有のデバイスに個人資格証明書を保持する。当該技術において、個人は当該個人所有のデバイスを用いて検証者に資格証明書を提示する。非特許文献1には、上記した技術を実現するための電子資格証明書のデータフォーマットについて記載されている。
【先行技術文献】
【非特許文献】
【0003】
【文献】Manu Sporny,Dave Longley,David Chadwick,“Verifiable Credentials Data Model 1.0,” World Wide Web Consortium,2019年11月、[令和3年5月20日検索]、インターネット<https://www.w3.org/TR/vc-data-model>
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記した従来技術においては、個人がスマートフォン等の個人所有のデバイスを紛失すると、電子資格証明書等のデータや秘密鍵も紛失することになり、当該データを証明できなくなる。一方、電子資格証明書等のデータや秘密鍵をクラウドなどのストレージにバックアップすると、ストレージ管理者による濫用やプライバシーが侵害されるリスク、及び攻撃者に電子資格証明書等のデータや秘密鍵が漏洩してなりすましがされるリスクが生じる。
【0005】
また、スマートフォン等のデバイスを所有しない人は、上記した技術をそもそも利用できない。さらに、個人がスマートフォンを盗まれて悪用されると、電子資格証明書等のデータを勝手に提示されてなりすまされるリスクが生じる。そこで、本発明の一態様は、個人のデバイスを利用せずとも、安全にデータを管理する。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本発明の一態様は以下の構成を採用する。第1計算機、第2計算機、及び第3計算機を含むデータ管理システムであって、前記第1計算機は、前記第1計算機のユーザの生体情報から秘密鍵を生成し、前記第2計算機は、前記秘密鍵に対応する公開鍵と、前記公開鍵に基づいて暗号化されたデータである暗号化データと、前記データの種類を示すインデックスの一覧と、前記暗号化データのインデックスと、を保持し、前記一覧を前記第1計算機に送信し、前記第1計算機は、前記一覧に含まれるインデックスであって、提示対象のデータのインデックスを指定して、前記指定したインデックスを前記第2計算機に送信し、前記第2計算機は、前記第1計算機が送信したインデックスに対応する暗号化データを、前記第1計算機に送信し、前記第1計算機は、前記インデックスに対応する暗号化データを前記秘密鍵に基づいて復号して、前記第3計算機に送信する。
【発明の効果】
【0007】
本発明の一態様によれば、個人のデバイスを利用せずとも、安全にデータを管理することができる。
【0008】
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0009】
【
図1】実施例1におけるデータ管理システムの構成例を示すブロック図である。
【
図2】実施例1における登録処理の一例を示すシーケンス図である。
【
図3A】実施例1におけるデータ発行処理の一例を示すシーケンス図である。
【
図3B】実施例1におけるデータ発行処理の一例を示すシーケンス図である。
【
図4A】実施例1におけるデータ提示処理の一例を示すシーケンス図である。
【
図4B】実施例1におけるデータ提示処理の一例を示すシーケンス図である。
【
図5A】実施例1における登録処理における登録端末の出力装置の画面遷移の一例を示す説明図である。
【
図5B】実施例1における登録処理における登録端末の出力装置の画面遷移の一例を示す説明図である。
【
図6A】実施例1におけるデータ発行処理における登録端末の出力装置の画面遷移の一例を示す説明図である。
【
図6B】実施例1におけるデータ発行処理における登録端末の出力装置の画面遷移の一例を示す説明図である。
【
図7A】実施例1におけるデータ提示処理における登録端末の出力装置の画面遷移の一例を示す説明図である。
【
図7B】実施例1におけるデータ提示処理における登録端末の出力装置の画面遷移の一例を示す説明図である。
【発明を実施するための形態】
【0010】
以下、本発明の実施形態を図面に基づいて詳細に説明する。本実施形態において、同一の構成には原則として同一の符号を付け、繰り返しの説明は省略する。なお、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。
【実施例1】
【0011】
図1は、データ管理システムの構成例を示すブロック図である。データ管理システムは、例えば、インターネット等のネットワークで接続された発行端末100、登録端末200、検証端末300、及びPDS(Pesonal Data Store)400を含む。発行端末100は、例えば、CPU(Central Processing Unit)101、メモリ102、補助記憶装置103、通信装置104、入力装置105、及び出力装置106を有する計算機によって構成される。
【0012】
CPU101は、プロセッサを含み、メモリ102に格納されたプログラムを実行する。メモリ102は、不揮発性の記憶素子であるROM(Read Only Memory)及び揮発性の記憶素子であるRAM(Random Access Memory)を含む。ROMは、不変のプログラム(例えば、BIOS(Basic Input/Output System))などを格納する。RAMは、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶素子であり、CPU101が実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。
【0013】
補助記憶装置103は、例えば、磁気記憶装置(HDD(Hard Disk Drive))、フラッシュメモリ(SSD(Solid State Drive))等の大容量かつ不揮発性の記憶装置であり、CPU101が実行するプログラム及びプログラムの実行時に使用されるデータを格納する。すなわち、プログラムは、補助記憶装置103から読み出されて、メモリ102にロードされて、CPU101によって実行される。
【0014】
入力装置105は、キーボードやマウスなどの、オペレータからの入力を受ける装置である。出力装置106は、ディスプレイ装置やプリンタなどの、プログラムの実行結果をオペレータが視認可能な形式で出力する装置である。
【0015】
通信装置104は、所定のプロトコルに従って、他の装置との通信を制御するネットワークインターフェース装置である。また、通信装置104は、例えば、USB(Universal Serial Bus)等のシリアルインターフェースを含む。
【0016】
CPU101が実行するプログラムの一部またはすべては、非一時的記憶媒体であるリムーバブルメディア(CD-ROM、フラッシュメモリなど)又は、非一時的記憶装置を備える外部計算機からネットワークを介して発行端末100に提供され、非一時的記憶媒体である不揮発性の補助記憶装置103に格納されてもよい。このため、発行端末100は、リムーバブルメディアからデータを読み込むインターフェースを有するとよい。これは、登録端末200、検証端末300、PDS400についても同様である。
【0017】
発行端末100は、物理的に一つの計算機上で、又は、論理的又は物理的に構成された複数の計算機上で構成される計算機システムであり、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。これは登録端末200、検証端末300、及びPDS400についても同様である。
【0018】
CPU101は、例えば、認証部111、証明書生成部112、データ発行部113、暗号化部114を含む。認証部111は、登録端末200との間の認証を実行する。証明書生成部112は、電子証明書を生成する。ここで電子証明書は、個人データ122に含まれるデータに所定の情報を追加したデータに対して、鍵データ121に基づき生成した電子署名を付加したデータであってもよい。また電子証明書は、登録端末200から受信したUID(登録端末200のユーザを識別するID)と第一の公開鍵証明書、および発行主体や発行端末によるユーザの本人確認が行われた場合には本人確認方法、の全て又は一部を含むデータに対して、鍵データ121に基づき生成した電子署名を付加したデータ、すなわち第二の公開鍵証明書であってもよい。
【0019】
データ発行部113は、個人データ122に含まれるデータを登録端末200又はPDS400に発行する。暗号化部114は、個人データを暗号化する。
【0020】
例えば、CPU101は、メモリ102にロードされた認証プログラムに従って動作することで、認証部111として機能し、メモリ102にロードされた証明書生成プログラムに従って動作することで、証明書生成部112として機能する。CPU101に含まれる他の機能部についても、プログラムと機能部の関係は同様である。また、登録端末200のCPU201、検証端末300のCPU301、及びPDS400のCPU401、それぞれに含まれる後述する機能部についても、プログラムと機能部の関係は同様である。
【0021】
なお、CPU101、登録端末200のCPU201、検証端末300のCPU301、及びPDS400のCPU401に含まれる機能部による機能の一部又は全部が、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)等のハードウェアによって実現されてもよい。
【0022】
補助記憶装置103は、例えば、鍵データ121及び個人データ122を保持する。鍵データ121は、発行端末100の鍵や登録端末200の公開鍵を含む。個人データ122は、登録端末200のユーザの個人データを含む。
【0023】
なお、補助記憶装置103、登録端末200の補助記憶装置203、検証端末300の補助記憶装置303、及びPDS400の補助記憶装置403に格納されている一部又は全部の情報は、それぞれ、メモリ102、メモリ202、メモリ302、及びメモリ402に格納されていてもよいし、当該装置に接続されているデータベースに格納されていてもよい。
【0024】
なお、本実施形態において、データ管理システムが使用する情報は、データ構造に依存せずどのようなデータ構造で表現されていてもよい。本実施形態ではテーブル形式で情報が表現されているが、例えば、リスト、データベース又はキューから適切に選択したデータ構造体が、情報を格納することができる。
【0025】
登録端末200は、例えば、CPU201、メモリ202、補助記憶装置203、通信装置204、入力装置205、出力装置206、及び生体情報取得装置207を有する計算機によって構成される。
【0026】
CPU201、メモリ202、補助記憶装置203、通信装置204、入力装置205、及び出力装置206のハードウェアとしての説明は、CPU101、メモリ102、補助記憶装置103、通信装置104、入力装置105、及び出力装置106のハードウェアとしての説明と同様であるため省略する。
【0027】
CPU201は、例えば、生体情報取得部211、鍵生成部212、証明書生成部213、認証部214、暗号化部215、インデックス取得部216、及びUID指定部217を含む。生体情報取得部211は、生体情報取得装置207を介して、登録端末200のユーザの生体情報を取得する。鍵生成部212は、公開鍵、秘密鍵、及び共通鍵を生成する。
【0028】
証明書生成部213は公開鍵証明書を生成する。認証部214は、発行端末100との間の認証、及びPDS400との間の認証を実行する。暗号化部215は、検証端末300に対して送信するデータを暗号化する。インデックス取得部216は、データの種類を特定するデータインデックスを取得する。UID指定部217は、登録端末200のユーザを識別するIDであるUIDを指定する。
【0029】
補助記憶装置203は、例えば、1つ以上のウォレット221及び鍵データ222を保持する。ウォレット221それぞれは、登録端末200のユーザのUIDに紐づけられ、当該ユーザに対して発行端末100が発行したデータを保持する。つまり、ウォレット221とは、発行端末100が登録端末200に対して発行したデータ(例えば、当該ユーザの個人データ、電子証明書、及び公開鍵証明書)を含むデータを格納するための、ユーザごとに定められ、当該ユーザが管理するための補助記憶装置403上のデータ格納領域である。鍵データ222は、登録端末200のユーザの鍵や補助情報を保持する。
【0030】
生体情報取得装置207は、ユーザの生体情報を取得する。例えば、ユーザの顔画像を撮影するカメラ、及びユーザの指紋や静脈を取得するスキャナなどは、生体情報取得装置207の一例である。
【0031】
検証端末300は、例えば、CPU301、メモリ302、補助記憶装置303、通信装置304、入力装置305、及び出力装置306を有する計算機によって構成される。CPU301、メモリ302、補助記憶装置303、通信装置304、入力装置305、及び出力装置306のハードウェアとしての説明は、CPU101、メモリ102、補助記憶装置103、通信装置104、入力装置105、及び出力装置106のハードウェアとしての説明と同様であるため省略する。CPU301は、例えば、署名検証部311を含む。署名検証部311は、登録端末200から受信したデータに付与された署名を検証する。
【0032】
PDS400は、例えば、CPU401、メモリ402、補助記憶装置403、通信装置404、入力装置405、及び出力装置406を有する計算機によって構成される。CPU401、メモリ402、補助記憶装置403、通信装置404、入力装置405、及び出力装置406のハードウェアとしての説明は、CPU101、メモリ102、補助記憶装置103、通信装置104、入力装置105、及び出力装置106のハードウェアとしての説明と同様であるため省略する。
【0033】
CPU401は、例えば、データ管理部411、認証部412、及び検索部413を含む。データ管理部411は、指定されたUIDに対応してウォレット421を生成し、生成したウォレット421に格納するデータを管理する。認証部412は、登録端末200との間の認証を実行する。検索部413は、UIDに対応するウォレット421を検索する。補助記憶装置403は、例えば、1つ以上のUIDに対してそれぞれウォレット421を保持する。ウォレット421は、発行端末100がUIDに紐づくユーザに対して発行したデータを保持する。
【0034】
なお、例えば、データ管理システムに含まれる一部の装置が一体化していてもよい。例えば、発行端末100と登録端末200とが一体化していてもよいし、登録端末200とPDS400とが一体化していてもよい。このように一体化している装置の間では、後述する認証処理は省略されてもよい。
【0035】
図2は、登録処理の一例を示すシーケンス図である。登録端末200のUID指定部217は、登録端末200のユーザを識別するIDであるUIDを指定する(S201)。UID指定部217は、指定したUIDを補助記憶装置203及び/又はメモリ202に保存してもよい。
【0036】
具体的には、例えば、UID指定部217は、登録端末200のユーザからUIDの入力を受け付け、入力を受け付けたUIDを指定する。また、例えば、UID指定部217が自動でUIDを指定してもよいし、登録端末200が当該ユーザに対応するUIDを保持し、UID指定部217は当該UIDを取得することでUIDを指定してもよい。
【0037】
生体情報取得部211は、生体情報取得装置207を介して、登録端末200のユーザの生体情報(例えば、指静脈、指紋、顔画像、又は歩容等)を取得する(S202)。鍵生成部212は、生体情報から秘密鍵と公開鍵の鍵ペア、及び必要に応じて補助情報を生成する(S203)。具体的には、例えば、鍵生成部212はFuzzy ExtractorやFuzzy Signatureなどのアルゴリズムに従って、生体情報から鍵ペアを生成する。Fuzzy Extractorなどのアルゴリズムが利用される場合は、後述するデータ発行時やデータ提示時における生体情報からの鍵生成処理において、当該補助情報が利用される。
【0038】
証明書生成部213は、第一の公開鍵証明書を生成する(S204)。具体的には、例えば、証明書生成部213は、ステップS203で生成した秘密鍵に基づいて自己証明書を生成することで第一の公開鍵証明書を生成してもよいし、登録端末200に接続された認証局から第一の公開鍵証明書を取得してもよい。
【0039】
証明書生成部213は、UID、第一の公開鍵証明書、及び生成していれば補助情報をPDS400に送信する(S205)。PDS400のデータ管理部411は、UIDに対応するウォレット421を作成し、第一の公開鍵証明書と補助情報を当該ウォレット421に登録する(S206)。データ管理部411は、UIDと第一の公開鍵証明書のウォレット421への登録結果を登録端末200に送信する(S207)。
【0040】
証明書生成部213は、ウォレット221にUIDと第一の公開鍵証明書とを格納する(S208)。ステップS208の処理は省略されてもよいが、ステップS208の処理が実行されることにより、登録処理、データ発行処理、及びデータ提示処理において共通の登録端末200が用いられれば、登録端末200がPDS400に公開鍵証明書を要求する処理を省略することができ、登録端末200とPDS400との間の通信回数を減らして、処理パフォーマンスを向上させることができる。鍵生成部212は、秘密鍵を削除して(S209)、登録処理を終了する。
【0041】
なお、証明書生成部213は、第一の公開鍵証明書に加えて又は代えて、発行端末100が電子証明書として発行する第二の公開鍵証明書を取得して、PDS400に送信してもよい。この場合、PDS400は、第一の公開鍵及び/又は第二の公開鍵証明書をUIDに対応するウォレット421に登録する。第二の公開鍵証明書は、例えば、X509形式などの証明書であって、主体者(Subject)あるいは主体者識別子(Suject Unique ID)にUIDの記述が含まれ、主体公開鍵(Subject PublicKey Info)に公開鍵が記述され、発行者(Issuer)にデータ発行主体の識別子が記述されたものである。更に拡張領域(extensions)に本人確認方法(例えば、データ発行主体がユーザと対面して保険証を確認)の記述が含まれてもよい。
【0042】
なお、本実施例では、生体情報から秘密鍵、公開鍵、及び共通鍵が生成される例を説明しているが、生体情報のように個人性を含む情報のみならず、例えばパスワードのような個人の記憶情報のように、個人が手ぶらで提示可能な情報から秘密鍵、公開鍵、及び共通鍵が生成されてもよい。
【0043】
図3A及び
図3Bは、データ発行処理の一例を示すシーケンス図である。なお、
図3A及び
図3Bでは、登録端末200による処理が記載されているが、データ登録処理に用いられる登録端末200と異なる端末によって以下に説明する処理が実行されてもよい。つまり、データ登録処理及びデータ発行処理に用いられる登録端末200は同じ端末であってもよいし、異なる端末であってもよい。
【0044】
登録端末200のUID指定部217は、例えば、登録端末200のユーザからの入力に従ってUIDを取得する(S301)。なお、ステップS201においてUID指定部217が指定したUIDをメモリ102又は補助記憶装置103に格納していた場合には、ステップS301の処理が省略されてもよい。
【0045】
なお、ステップS203において補助情報が生成されていた場合には、UID指定部217はUIDをPDS400に送信し(S302)、PDS400の検索部413はUIDに対応するウォレット421に格納された補助情報を取得して登録端末200に送り返す(S303)。
【0046】
生体情報取得部211は、生体情報取得装置207を介して、登録端末200のユーザの生体情報(例えば、指静脈、指紋、又は顔画像等の登録処理時と同種の生体情報)を取得する(S304)。鍵生成部212は、例えば補助情報を用いて、生体情報から秘密鍵を生成する(S305)。
【0047】
UID指定部217は、UIDをPDS400に送信し(S307)、登録端末200とPDS400との間で認証が実行される(S309)。具体的には、登録端末200の認証部214は秘密鍵を用いて(S306)、PDS400の認証部412は第一の公開鍵証明書又は第二の公開鍵証明書(以下、第一の公開鍵証明書又は第二の公開鍵証明書のいずれを用いてもよい場合には、単に公開鍵証明書と呼ぶ)を用いて(S308)、登録端末200とPDS400との間で認証が実行される。
【0048】
ステップS302からステップS309の処理は省略されてもよいが、ステップS302からステップS309の処理が実行されることにより、登録端末200からPDS400に対するUIDの詐称や入力ミスに対して安全性を確保することができる。なお、ステップS302からステップS309の処理に代えて、別の認証手段による認証(例えば、パスワード認証やFIDO(First IDentity Online)認証等)が実行されてもよい。
【0049】
登録端末200とPDS400との間の認証が成功した場合には以下の処理へと進むが、失敗した場合には処理が終了する。登録端末200の認証部214は、PDS400に対して、UIDを含む(但し、ステップS305の処理が実行された場合にはUIDを含まなくてもよい)公開鍵証明書要求を送信する(S310)。PDS400の検索部413は、当該UIDに対応するウォレット421を検索し、そこに格納されている公開鍵証明書を登録端末200に送信する(S311)。
【0050】
認証部214は、取得した公開鍵証明書を発行端末100に送信し(S313)、登録端末200と発行端末100との間で認証が実行される(S315)。具体的には、登録端末200の認証部214は秘密鍵を用いて(S312)、発行端末100の認証部111は受信した公開鍵証明書を用いて(S314)、登録端末200と発行端末100との間の認証が実行される。
【0051】
登録端末200と発行端末100との間の認証が成功した場合には以下の処理へと進むが、失敗した場合には処理が終了する。登録端末200のUID指定部217は、データの種類を特定する情報であるデータインデックスと、UIDと、を含むデータ発行申請を生成し(S316)、発行端末100に送信する(S317)。
【0052】
登録端末200のユーザは、発行端末100のユーザに対して本人確認情報を提示する(S318)。発行端末100のユーザは、提示された本人確認情報を確認する(S319)。なお、本人確認情報の提示及び確認は、登録端末200のユーザと発行端末100のユーザとが対面して直接的に本人確認書類を直接的に提示及び目視で確認してもよいし、登録端末200のユーザが登録端末200から発行端末100に送信し、発行端末100のユーザは発行端末100の出力装置106に表示された本人確認情報を確認してもよい。
【0053】
例えば、発行端末100のユーザが、発行端末100又はユーザが所有する他の端末を用いてマイナンバーカードを読み取らせ、発行端末100からマイナンバーカードを、登録端末200に送信することで、発行端末100のユーザの本人確認が実現できる。また、例えば、登録端末200は、PDS400から取得した公開鍵証明書を発行端末100に送信したり、
図4A及び
図4Bで後述するデータ提示処理と同様の方法で発行端末100に個人データ(例えば、登録端末200のユーザの属性や履歴などに関するデータ)を送信したりすることで、発行端末100のユーザの本人確認が実現できる。
【0054】
なお、ステップS318及びステップS319の処理は実行されなくてもよいが、これらの処理が実行されることにより、登録端末200のユーザのなりすましを抑制することができる。更に、これらの処理を実行した上で、そこで実行した本人確認の手段に関する情報を、後述する第二の公開鍵証明書の拡張領域などに記述することで、第二の公開鍵証明書を、別の発行主体や検証主体が信頼できる度合いを高めることができる。
【0055】
データ発行部113は、個人データ122を検索し、受信したデータ発行申請が示すデータインデックス及び前記当該公開鍵証明書又は当該本人確認情報に含まれるユーザの個人識別情報に対応するデータを取得することでデータを生成する(S320)。このデータは、例えば、登録端末200のユーザの属性や資格情報、履歴などに関する個人データである。登録端末200のユーザのCovid-19のPCR(Polymerase Chain reaction)検査結果情報(陰性証明情報)、発行主体が大学である場合にユーザが当該大学の学位を取得したことを証明する学位証明書、及び発行端末100のユーザが運営するEC(Electric Commerce)サイトでの登録端末200のユーザの過去の購買履歴情報等は、上記した個人データの一例である。
【0056】
発行端末100の証明書生成部112は、鍵データ121に含まれる秘密鍵を用いて1つ以上の電子証明書を生成する(S321)。ここで電子証明書は、当該ユーザに関連する何らかの情報を含むユーザデータと、当該ユーザデータに対して鍵データ121に含まれる秘密鍵を用いて生成した電子署名と、を含むデータである。当該ユーザデータは、前述した、ユーザの属性や資格情報、履歴などに関する個人データであってもよく、その場合の電子証明書のデータ形式は非特許文献1に記載のVC(Verifiable Credential)形式であってもよい。また当該ユーザデータは、前述した公開鍵証明書に含まれる公開鍵を含んでもよい。このような公開鍵を含む電子証明書は、前述した第二の公開鍵証明書として利用することができる。第二の公開鍵証明書はX509形式であってもよく、UIDや、本人確認手段に関する情報を含むことができる。また、証明書生成部112は、ステップS321において、複数の電子証明書を生成してもよい。なお前述したステップS320において生成されるデータに電子証明書を含めない場合には、ステップS321の処理が実行されなくてもよい。
【0057】
なお、データ発行部113は、ステップS320で生成するデータに、ステップS321で生成した1つ以上の電子証明書を含めてもよい。また、データ発行部113は、ステップS320において、複数種類のデータを生成してもよい。
【0058】
暗号化部114は、ステップS320で生成したデータを(及びステップS321で電子証明書を生成した場合には電子証明書も)それぞれ暗号化することで暗号化データを生成する(S322)。具体的には、例えば、暗号化部114は、例えば、第一の公開鍵証明書から公開鍵を取得し、公開鍵暗号方式を用いて当該取得した公開鍵でデータをそれぞれ暗号化することで暗号化データを生成する。また、例えば、暗号化部114は、例えば、共通鍵をランダムに生成し、共通鍵暗号方式を用いて当該共通鍵でデータを暗号化するとともに、公開鍵暗号方式を用いて公開鍵で当該共通鍵を暗号化し、暗号化されたデータと暗号化された共通鍵とを含むデータを暗号化データとする。
【0059】
なお、発行端末100の鍵データ121に秘密鍵と公開鍵が格納されており、暗号化部114は、S321で生成されたデータに対して秘密鍵を用いて署名を付与した上で、ステップS322の暗号化データ生成処理を実行し、公開鍵を検証端末300に配付してもよい。これにより、検証端末300は、当該公開鍵を用いて、データに付与された発行者による署名を検証することができる。特に、ステップS318及びステップS319における本人確認が実行された上で当該署名が実行されれば、発行者が本人確認をした上で生成したデータであることを、認証局及び登録局を利用することなく発行者のセキュリティレベルで保証することができる。
【0060】
データ発行部113は、UIDと、データインデックスと、暗号化データと、をPDS400に送信する(S323)。ステップS322及びステップS323の処理は省略されてもよいが、ステップS322の処理が実行されることにより、後述するステップS324~ステップS328の処理を省略することができ、特に発行端末100のユーザの手間を軽減することができる。また、逆に、ステップS322及びステップS323が省略されてもよく、この場合、ステップS324~ステップS328の処理が実行される。
【0061】
データ発行部113は、ステップS320で取得したデータを登録端末200に送信する(S324)。登録端末200の生体情報取得部211は、生体情報取得装置207を介して、登録端末200のユーザの生体情報を取得し、補助情報を用いて秘密鍵を生成する(S325)。なお、ステップS302~ステップS305の処理が実行されていれば、ステップS323の処理は省略されてもよい。
【0062】
暗号化部215は、当該秘密鍵を用いて、受信したデータに対する署名を生成する(S326)。ステップS324の処理は省略されてもよいが、ステップS326の処理が実行されることにより、登録端末200のユーザが、データの内容に誤りが無いことを自身で確認したことの証跡を残すことができる。
図4A及び
図4Bを用いて後述するデータ提示処理において、検証端末300がこの署名を検証することで、データの信頼性を担保することができる。
【0063】
鍵生成部212は、生体情報から補助情報を用いて共通鍵を生成し、暗号化部215は当該共通鍵を用いてデータを暗号化することで暗号化データを生成する(S327)。なお、ステップS327における暗号化データの生成方法は、ステップS322で説明した生成方法と同様であってもよい。暗号化部215は、UIDと、データインデックスと、暗号化データと、をPDS400に送信する(S328)。
【0064】
PDS400のデータ管理部411は、暗号化データ(暗号化電子証明書を含む場合もある)とデータインデックスとを、UIDに対応するウォレット421に格納する(S329)。登録端末200の鍵生成部212は、秘密鍵及び共通鍵を削除する(S330)。
【0065】
図4A及び
図4Bは、データ提示処理の一例を示すシーケンス図である。なお、
図4A及び
図4Bでは、登録端末200による処理が記載されているが、データ登録処理に用いられる登録端末200、データ発行処理に用いられる登録端末200とも異なる端末によって以下に説明する処理が実行されてもよい。つまり、データ登録処理、データ発行処理、及びデータ提示処理に用いられる登録端末200は全て同じ端末であってもよいし、一部又は全部が異なる端末であってもよい。
【0066】
登録端末200のUID指定部217は、登録端末200のユーザのUIDを指定する(S401)。UID指定部217は、例えば、ステップS201と同様の方法で、ユーザのUIDを指定してもよいし、補助記憶装置203及び/又はメモリ202にUIDが保存されている場合には、補助記憶装置203又はメモリ202からUIDを読み出してもよい。
【0067】
インデックス取得部216は、例えば、ユーザの入力に従って、提示対象のデータの種類を示す1以上のデータインデックスを取得する(S402)。なお、例えば、検証端末300からデータインデックスが指定される場合等(例えば、検証端末300のユーザに提示すべきデータのデータインデックスが予め決まっている)は、ステップS402の処理は省略される、又は当該指定されたデータインデックスが登録端末200に通知され、インデックス取得部216は、当該指定されたインデックスに含まれる(一部又は全部)データインデックスのみを選択可能であってもよい。
【0068】
インデックス取得部216は、指定したUIDと、データインデックス一覧取得要求と、をPDS400に送信する(S403)。PDS400の検索部413は、UIDに対応するウォレット421を検索し、そこに格納されている公開鍵証明書、データインデックス一覧、及び補助情報を取得する(S404)。
【0069】
登録端末200の生体情報取得部211は、生体情報取得装置207を介して生体情報を取得する(S405)。PDS400の検索部413は、ステップS404で取得した補助情報を登録端末200に送り返す(S406)。鍵生成部212は、ステップS405で取得した生体情報とステップS404で取得した補助情報を用いて秘密鍵を生成する(S407)。登録端末200とPDS400との間で認証が実行される(S409)。具体的には、例えば、登録端末200の認証部214はステップS407で生成された秘密鍵を用いて認証を実行し(S408)、PDS400の認証部412は上記の検索結果に含まれる公開鍵証明書を用いて認証を実行する(S410)。
【0070】
ステップS407~ステップS410の認証が実行されることにより、登録端末200によるUIDの詐称や指定ミスに対してより安全になる。なお、ステップS407~ステップS410において別の認証手段(パスワード認証やFIDO認証など)が用いられてもよい。なお、ステップS407~ステップS410の処理が省略されてもよい。但し、暗号化データが、公開鍵暗号方式で作成されている場合、後述するデータ復号化処理において秘密鍵が使用されるため、ステップS407の処理は実行される必要がある。
【0071】
ステップS407~ステップS410の認証に成功した場合には、ステップS411以降の処理が実行されるが、ステップS407~ステップS410の認証に失敗した場合には、ステップS411以降の処理が実行されずに処理が終了する。PDS400の検索部413は、ステップS404で取得した、データインデックス一覧と公開鍵証明書とを登録端末200に送信する(S411)。
【0072】
登録端末200のインデックス取得部216は、受信したインデックス一覧から、例えばユーザの入力に従って、1以上のデータインデックスを選択する(S412)。インデックス取得部216は、選択したデータインデックスをPDS400に送信する(S413)。PDS400の検索部413は、当該UIDに対応するウォレット421から受信したデータインデックスに対応する暗号化データを検索して取得する(S414)。検索部413は取得した暗号化データを登録端末200に送信する(S415)。
【0073】
鍵生成部212は、ステップS405で取得した生体情報を用いて共通鍵を生成する(S416)。但し、ステップS322においてデータが共通鍵で暗号化されていない場合には、ステップS417の処理は省略されてもよい。暗号化部215は、暗号化データが暗号化されたアルゴリズムに応じて、秘密鍵又は共通鍵で暗号化データを復号する(S417)。
【0074】
暗号化部215は、復号したデータと、データの提供同意情報と、に秘密鍵を用いて、電子署名を付与する(S418)。この提供同意情報は、例えば、検証端末300に予め保持され、検証端末300が登録端末200に送信するものである。提供同意情報は、例えば、当該データのハッシュ値、利用者の情報、検証者の情報、当該データの生成日時、当該データの利用目的(例えば発行端末100のユーザの入力に従って決定される)等を含む。ステップS418において電子署名が付与されることにより、当該データが不正に入手されたものでないことや、目的外利用をしていないことなどを、検証端末300のユーザが第三者に証明することができる。暗号化部215は、指定されたUID及びデータを、さらには、生成されていれば提供同意情報、各種署名、電子証明書、及びステップS411で取得した公開鍵証明書を検証端末300に送信する(S419)。
【0075】
検証端末300の署名検証部311は、ステップS418で生成された署名を、ステップS419で受信した公開鍵証明書に含まれる公開鍵を用いて検証する(S420)。具体的には、例えば、署名検証部311は、ステップS418で生成された、データに付与された電子署名及び提供同意情報に付与された電子署名を、ステップS419で受信した公開鍵証明書に含まれる公開鍵を用いて検証する(S420)。署名検証部311は、例えば、検証結果を検証端末300の出力装置306及び/又は登録端末200の出力装置206に表示する。
【0076】
以上、本実施例のデータ管理システムは、上記したように生体情報から共通鍵を生成し、さらにデータをその共通鍵でないと復号できない形でPDS400に保管することで、データや鍵管理を実行するための携帯端末(スマートフォンやタブレット端末等)を所持していないユーザでも、登録処理及びデータ提示処理を実行することができる。これにより、携帯端末の紛失及び盗難リスクがなくなり、また携帯端末を所持していないユーザであっても自己主権型アイデンティティの仕組みを利用可能となる。
【0077】
また、登録端末200は、登録端末200のユーザの本人の生体情報から生成された公開鍵で認証や署名を実行するため、当該ユーザが他人と結託してデータや、登録端末200が携帯端末であれば当該携帯端末を、譲渡又は売却する不正行為を防止することができる。
【0078】
図5A及び
図5Bは、登録処理における登録端末200の出力装置206の画面遷移の一例を示す説明図である。なお、以下に説明する画面遷移の例では、UIDの指定は登録端末200によって自動的に実行されるものとする。また、
図5A~
図7Bの画面遷移の例では、登録端末200は、Covid-19の陰性証明書を発行端末100から入手してPDS400に登録し、検証端末300に提示するシーンを説明する。また、
図5A~
図7Bにおいて、「Back」が選択されると1つ前の画面に戻る。
【0079】
まず、ホーム画面501が表示されている。ホーム画面501には、データ管理のアプリを起動するためのアイコン551が表示されている。アイコン551が選択されると、メニュー画面502に遷移する。メニュー画面502における、「-Create New Wallet」が選択されると、データ発行処理が開始して、ウォレット作成画面503に遷移する。
【0080】
ウォレット作成画面503では、ウォレットの名称の入力が要求されている。ウォレット作成画面503において、ウォレットの名称が入力されると、第1生体登録画面504に遷移する。
図5A及び
図5Bの例では、生体情報として、顔画像、右の指静脈の画像、及び左の指静脈の画像が、取得される。第1生体登録画面504では、生体情報取得装置207の一例であるカメラによる顔画像の入力が要求されている。
【0081】
第1生体登録画面504において、カメラで顔画像を撮影が完了すると、第1生体登録完了画面505に遷移する。第1生体登録完了画面505では、顔画像の登録が完了したことを示す情報が表示されている。第1生体登録完了画面505において、「NEXT」が選択されると、第2生体登録画面506へ遷移する。第2生体登録画面506では、生体情報取得装置207の一例であるスキャナによる右の指静脈の画像の入力が要求されている。
【0082】
第2生体登録画面506において、スキャナで右の指静脈の画像のスキャンが1回完了すると第2生体登録画面507に遷移する。
図5A及び
図5Bの例では、右の指静脈及び左の指静脈はそれぞれ3回スキャンされることで登録が完了する。第2生体登録画面507が表示されてから、スキャナで右の指静脈の画像のスキャンがさらに2回完了すると、第3生体登録画面508に遷移する。
【0083】
第3生体登録画面508において、スキャナで左の指静脈の画像のスキャンが1回完了すると第3生体登録画面509に遷移する。第3生体登録画面509が表示されてから、スキャナで左の指静脈の画像のスキャンがさらに2回完了すると、ステップS202における生体情報の取得が完了し、ステップS202~ステップS209の処理が実行され、生体登録確認画面510に遷移する。生体登録確認画面510では、生体情報が取得され、登録処理が終了したことを示す情報やウォレット名が表示されている。生体登録確認画面510からホーム画面501に戻る。
【0084】
図6A及び
図6Bは、データ発行処理における登録端末200の出力装置206の画面遷移の一例を示す説明図である。まず、ホーム画面501からメニュー画面502へと遷移する。メニュー画面502において、「-Create New Wallet」が選択されると、本人認証画面603へ遷移する。本人認証画面603では、ステップS302の処理が実行される。つまり、本人認証画面603では、生体情報取得装置207の一例であるカメラを介して顔画像の入力が要求されている(つまり、入力対象の生体情報のモダリティを示す情報が表示されている)。
【0085】
本人認証画面603において顔画像の入力が完了すると、ステップS303~ステップS312の処理が実行される即ち登録端末200とPDS400との間の認証、及び登録端末200と発行端末100との間の認証が実行され、本人確認画面604に遷移する。本人確認画面604では、認証に成功したことを示す情報、及びウォレットの名称が表示される。本人確認画面604において、「Yes,I’m」が選択されると、ウォレットメニュー選択画面605へ遷移する。
【0086】
ウォレットメニュー選択画面605において、「Enrol a New Data」が選択されると、ステップS314の処理が開始し、データ発行依頼画面606へ遷移する。データ発行依頼画面606では、発行端末100に送信されるデータ発行申請を生成するための方法(ここでは「Two-dimensional code」又は「IC chip」)が表示されている。また、データ発行依頼画面606において、「complete」が選択されると、後述する暗号化及びPDS登録画面609に遷移する(但し、登録端末200がデータを保持していない場合には、例えば、メニュー画面502に戻る)。
【0087】
データ発行依頼画面606において、「Two-dimensional code」が選択されると、データ発行画面607に遷移し、データ発行画面607では二次元コードをスキャンする要求を表示する。なお、データ発行依頼画面606において、「IC Chip」が選択されれば、データ発行画面607ではICチップの読み取りを実行する要求を表示する。データ発行画面607が表示されているときに二次元コードをカメラ等で読み取ると、ステップS314の処理が終了し、少なくともステップS319及びステップS312の処理が実行されて、データ発行確認画面608へ遷移する。
【0088】
データ発行確認画面608では、発行されたデータが表示される。データ発行確認画面608において「Yes,I Confirmed」が選択されると、データ発行依頼画面606に戻る。なお、データ発行確認画面608において「No,Retry」が選択されると、例えば、当該データが破棄された上で、データ発行依頼画面606に戻る。
【0089】
データ発行依頼画面606において「complete」が選択されて、暗号化及びPDS登録画面609に遷移する。暗号化及びPDS登録画面609では、発行されたデータを暗号化してPDS400に送信するかを決定するための表示が表示される。暗号化及びPDS登録画面609において「Yes,I Confirmed」が選択されると、ステップS325~ステップS328の処理が行われ、登録完了画面610に遷移する。暗号化及びPDS登録画面609において、「No,I don’t」が選択されると、例えば、メニュー画面502に戻る。
【0090】
図7A及び
図7Bは、データ提示処理における登録端末200の出力装置106の画面遷移の一例を示す説明図である。ホーム画面501、メニュー画面502、本人認証画面603、本人確認画面604、及びウォレットメニュー選択画面605への遷移は、
図6Aと同様であるため説明を省略する。
【0091】
ウォレットメニュー選択画面605において、「Present Your Data」が選択されると、少なくともステップS412の処理が実行され、データインデックス選択画面706へ遷移する。データインデックス選択画面706には、データインデックス一覧が表示され、どのデータインデックスに対応するデータを取得するかを選択可能である。ここでは、データインデックス選択画面706において(つまりステップS413において)データインデックスとして、「Certificate of Testing for Covid-19」が選択され、ステップS414~ステップS416の処理が実行され、データ復号化画面707へ遷移する。
【0092】
データ復号化画面707では、データ復号する鍵を生成するために必要な生体情報が要求される(つまり、必要な生体情報のモダリティを示す情報が表示されている)。ここでは一方の指静脈から生成される鍵によってデータが復号される。データ復号化画面707が表示されている状態で、生体情報取得装置207を介して生体情報が取得されると、ステップS418の処理が実行され、データ提示画面708へ遷移する。
【0093】
データ提示画面708では復号化されたデータ及び復号された電子証明書が提示される。例えば、データ提示画面708が表示されて所定時間が経過すると本人同意取得画面709へ遷移する。本人同意取得画面709では、復号化されたデータに含まれる利用目的情報が表示される。本人同意取得画面709において、「Yes,I do」が選択されると、ステップS418及びステップS419の処理が実行され、データ送信完了画面710へ遷移する。
【0094】
本人同意取得画面709において、「No,I don’t」が選択されると、例えば、メニュー画面502へと戻る。データ送信完了画面710には、データが検証端末300に送信されたことを示す情報が表示される。データ送信完了画面710において、「END」が選択されると、ホーム画面501へと戻る。
【0095】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることも可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0096】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
【0097】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【0098】
100 登録端末、101 CPU、102 メモリ、103 補助記憶装置、104 通信装置、105 入力装置、106 出力装置、111 認証部、112 証明書生成部、113 データ発行部、114 暗号化部、122 個人データ、 200 登録端末、201 CPU、202 メモリ、203 補助記憶装置、204 通信装置、205 入力装置、206 出力装置、207 生体情報取得装置、211 生体情報取得部、212 鍵生成部、213 証明書生成部、214 認証部、215 暗号化部、216 インデックス取得部、217 UID指定部、221 ウォレット、222 鍵データ、 300 登録端末、301 CPU、302 メモリ、303 補助記憶装置、304 通信装置、305 入力装置、306 出力装置、311 署名検証部、 400 登録端末、401 CPU、402 メモリ、403 補助記憶装置、404 通信装置、405 入力装置、406 出力装置、411 データ管理部、412 認証部、413 検索部、421 ウォレット