IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧

特開2023-125727テンプレート管理システム及びテンプレート管理方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023125727
(43)【公開日】2023-09-07
(54)【発明の名称】テンプレート管理システム及びテンプレート管理方法
(51)【国際特許分類】
   H04L 9/32 20060101AFI20230831BHJP
   G06F 21/32 20130101ALI20230831BHJP
   G06F 21/62 20130101ALI20230831BHJP
   G06F 21/64 20130101ALI20230831BHJP
【FI】
H04L9/32 200B
H04L9/32 100D
G06F21/32
G06F21/62 345
G06F21/64
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2022029989
(22)【出願日】2022-02-28
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】中村 渉
(72)【発明者】
【氏名】高橋 健太
(72)【発明者】
【氏名】藤尾 正和
(72)【発明者】
【氏名】加賀 陽介
(57)【要約】
【課題】テンプレートを登録したユーザ本人のみがテンプレートのダウンロードを可能とし、本人以外によるテンプレートのダウンロードを困難とする。
【解決手段】鍵復元用端末は、ユーザの登録用生体情報に基づいて生成されたテンプレートの送信を要求するメッセージと、ユーザの第1検証用照合情報と、を第1サーバに送信し、第1サーバは、ユーザの第1登録用照合情報と、テンプレートと、を保持し、第1検証用照合情報と、第1登録用照合情報と、に基づく第1検証処理に成功した場合、テンプレートを鍵復元用端末に送信し、鍵復元用端末は、ユーザの鍵復元用生体情報を取得し、テンプレートと、鍵復元用生体情報と、に基づき秘密鍵を復元し、第1サーバが、第1検証処理に失敗した場合、鍵復元用端末へのテンプレートの送信を拒否する。
【選択図】図1A
【特許請求の範囲】
【請求項1】
テンプレート管理システムであって、
鍵復元用端末と、第1サーバと、を含み、
前記第1サーバは、ユーザの第1登録用照合情報と、前記ユーザの登録用生体情報に基づいて生成されたテンプレートと、を保持し、
前記鍵復元用端末は、
前記ユーザの第1検証用照合情報を生成し、
前記テンプレートの送信を要求するメッセージと、前記第1検証用照合情報と、を前記第1サーバに送信する第1要求処理を実行し、
前記第1サーバは、
前記第1検証用照合情報と、前記第1登録用照合情報と、に基づく第1検証処理を実行し、
前記第1検証処理に成功した場合、
前記テンプレートを前記鍵復元用端末に送信し、
前記鍵復元用端末は、
前記ユーザの鍵復元用生体情報を取得し、
前記テンプレートと、前記鍵復元用生体情報と、に基づき秘密鍵を復元し、
前記第1サーバが、前記第1検証処理に失敗した場合、前記鍵復元用端末への前記テンプレートの送信を拒否する、テンプレート管理システム。
【請求項2】
請求項1に記載のテンプレート管理システムであって、
第2サーバをさらに含み、
前記第2サーバは、前記ユーザの第2登録用照合情報と、前記ユーザに関する個人データに対して第1変換が施された変換後個人データと、を保持し、
前記第1サーバが、前記第1検証処理に成功した場合、
前記鍵復元用端末は、
前記ユーザの第2検証用照合情報を生成し、
前記変換後個人データの送信を要求するメッセージと、前記第2検証用照合情報と、を前記第2サーバに送信する第2要求処理を実行し、
前記第2サーバは、
前記第2検証用照合情報と、前記第2登録用照合情報と、に基づく第2検証処理を実行し、
前記第2検証処理に成功した場合、前記変換後個人データを前記鍵復元用端末に送信し、
前記鍵復元用端末は、前記変換後個人データと、前記第1変換と、に基づく個人データ復元処理によって前記個人データを復元し、
前記第2サーバは、前記第2検証処理に失敗した場合、前記変換後個人データの前記鍵復元用端末への送信を拒否する、テンプレート管理システム。
【請求項3】
請求項2に記載のテンプレート管理システムであって、
前記変換後個人データは、前記個人データに対して、前記第1変換として暗号化が施されたことにより得られたデータであり、
前記鍵復元用端末は、前記個人データ復元処理において、前記変換後個人データを、前記復元した秘密鍵を用いて復号する、テンプレート管理システム。
【請求項4】
請求項2に記載のテンプレート管理システムであって、
前記第1サーバは、
前記ユーザに関する追加個人データに対して第2変換が施された変換後追加個人データを保持し、
前記第1検証処理に成功した場合、
前記変換後追加個人データを、前記テンプレートとともに前記鍵復元用端末に送信し、
前記鍵復元用端末は、前記変換後追加個人データと、前記第2変換と、に基づく変換後追加個人データ復元処理によって、前記追加個人データを復元し、
前記復元した前記追加個人データに基づいて前記第2要求処理を実行する、テンプレート管理システム。
【請求項5】
請求項4に記載のテンプレート管理システムであって、
前記鍵復元用端末は、前記第2要求処理において、前記復元した追加個人データに基づいて前記第2サーバの場所を特定する、テンプレート管理システム。
【請求項6】
請求項5に記載のテンプレート管理システムであって、
前記鍵復元用端末は、前記第2要求処理において、前記追加個人データに基づいて前記第2検証用照合情報を生成する、テンプレート管理システム。
【請求項7】
請求項2に記載のテンプレート管理システムであって、
前記鍵復元用端末は、前記第2要求処理において、前記復元した秘密鍵に基づいて前記第2検証用照合情報を生成する、テンプレート管理システム。
【請求項8】
請求項1に記載のテンプレート管理システムであって、
前記第1サーバは、前記ユーザに関する個人データを暗号化して得られる暗号化個人データを保持し、
前記第1サーバは、前記第1検証処理に成功した場合、前記暗号化個人データを、前記テンプレートとともに前記鍵復元用端末に送信し、
前記鍵復元用端末は、前記復元した秘密鍵を用いて前記暗号化個人データを復号することにより、前記個人データを復元する、テンプレート管理システム。
【請求項9】
請求項1に記載のテンプレート管理システムであって、
前記第1登録用照合情報及び前記第1検証用照合情報は、前記ユーザの生体情報に基づいて生成されたものである、テンプレート管理システム。
【請求項10】
請求項9に記載のテンプレート管理システムであって、
前記第1登録用照合情報は、前記テンプレートの一部又は全部を含み、
前記第1検証用照合情報は、前記鍵復元用生体情報に基づいて生成されたものである、テンプレート管理システム。
【請求項11】
請求項10に記載のテンプレート管理システムであって、
前記第1検証用照合情報は、一時秘密鍵と、前記鍵復元用生体情報と、に基づいて、生成されたものであり、
前記第1サーバは、
前記第1登録用照合情報と、前記第1検証用照合情報と、に基づいて、前記秘密鍵と、前記一時秘密鍵と、の差分を推定し、
前記推定した前記差分が正しいかどうかの検証結果に基づいて前記第1検証処理の結果を決定する、テンプレート管理システム。
【請求項12】
請求項10に記載のテンプレート管理システムであって、
前記第1検証用照合情報は、一時秘密鍵と、前記鍵復元用生体情報と、に基づく署名生成処理を用いて生成されたものであり、
前記第1サーバは、前前記第1登録用照合情報と、前記第1検証用照合情報と、を用いた署名検証処理の結果に基づいて、前記第1検証処理の結果を決定する、テンプレート管理システム。
【請求項13】
テンプレート管理システムによるテンプレート管理方法であって、
前記テンプレート管理システムは、鍵復元用端末と、第1サーバと、を含み、
前記第1サーバは、ユーザの第1登録用照合情報と、前記ユーザの登録用生体情報に基づいて生成されたテンプレートと、を保持し、
前記テンプレート管理方法は、
前記鍵復元用端末が、前記ユーザの第1検証用照合情報を生成し、
前記鍵復元用端末が、前記テンプレートの送信を要求するメッセージと、前記第1検証用照合情報と、を前記第1サーバに送信する第1要求処理を実行し、
前記第1サーバが、前記第1検証用照合情報と、前記第1登録用照合情報と、に基づく第1検証処理を実行し、
前記第1サーバが、前記第1検証処理に成功した場合、
前記第1サーバが、前記テンプレートを前記鍵復元用端末に送信し、
前記鍵復元用端末が、前記ユーザの鍵復元用生体情報を取得し、
前記鍵復元用端末が、前記テンプレートと、前記鍵復元用生体情報と、に基づき秘密鍵を復元し、
前記第1サーバが、前記第1検証処理に失敗した場合、前記鍵復元用端末への前記テンプレートの送信を拒否する、テンプレート管理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、テンプレート管理システム及びテンプレート管理方法に関する。
【背景技術】
【0002】
生体情報を用いて秘密鍵を復元し、復元された秘密鍵を用いて暗号化処理、復号処理、署名生成処理、認証処理等の暗号学的処理を行う方式として、バイオメトリック暗号方式が知られている。
【0003】
バイオメトリック暗号方式の登録処理において、登録用端末は、ユーザの生体情報に基づきテンプレートと秘密鍵とを生成し、生成したテンプレートをDB(Data Base)に格納する。秘密鍵を用いて暗号学的処理を行うために、鍵復元用端末は、ユーザから再度生体情報を取得し、DBに格納されたテンプレートを受信し、生体情報とテンプレートとから、登録処理において生成された秘密鍵を復元する。このようなバイオメトリック暗号方式を用いたシステムに関する背景技術として、特開2020-67719号公報(特許文献1)がある。
【0004】
この公報には、「サーバ装置と、一つ以上のクライアント装置と、を有する属性情報管理システムであって、いずれかのクライアント装置は、公開鍵と秘密鍵との組を生成し、公開鍵と、入力された利用者の生体情報を一方向性変換によって埋め込んだ秘密鍵とを含む利用者の公開テンプレートを生成して前記サーバ装置に送信し、サーバ装置は、公開テンプレートを保持し、いずれかのクライアント装置は、利用者の属性情報が入力されると、秘密鍵を用いて属性情報に利用者の電子署名を付与し、電子署名が付与された属性情報をサーバ装置に送信し、サーバ装置は、電子署名が付与された属性情報を公開テンプレートと対応付けて保持する。」と記載されている(要約参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2020-67719号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
テンプレートは生体情報から生成されるため、プライバシー等の観点から、テンプレートを登録したユーザ以外によるテンプレートのダウンロードが困難であることが望ましい。しかし、特許文献1に記載の技術においては、ユーザが、自身が登録していないテンプレートをダウンロードすることができる。
【0007】
そこで本発明の一態様は、テンプレートを登録したユーザ本人のみがテンプレートのダウンロードを可能とし、かつ本人以外によるテンプレートのダウンロードを困難とする。
【課題を解決するための手段】
【0008】
以上の課題を解決するために、本発明の一態様は以下の構成を採用する。テンプレート管理システムは、鍵復元用端末と、第1サーバと、を含み、前記第1サーバは、ユーザの第1登録用照合情報と、前記ユーザの登録用生体情報に基づいて生成されたテンプレートと、を保持し、前記鍵復元用端末は、前記ユーザの第1検証用照合情報を生成し、前記テンプレートの送信を要求するメッセージと、前記第1検証用照合情報と、を前記第1サーバに送信する第1要求処理を実行し、前記第1サーバは、前記第1検証用照合情報と、前記第1登録用照合情報と、に基づく第1検証処理を実行し、前記第1検証処理に成功した場合、前記テンプレートを前記鍵復元用端末に送信し、前記鍵復元用端末は、前記ユーザの鍵復元用生体情報を取得し、前記テンプレートと、前記鍵復元用生体情報と、に基づき秘密鍵を復元し、前記第1サーバが、前記第1検証処理に失敗した場合、前記鍵復元用端末への前記テンプレートの送信を拒否する。
【発明の効果】
【0009】
本発明の一態様によれば、テンプレートを登録したユーザ本人のみがテンプレートのダウンロードを可能とし、本人以外によるテンプレートのダウンロードを困難とすることができる。
【0010】
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0011】
図1A】実施例1における個人データ管理システムの機能構成例を示すブロック図である。
図1B】実施例1における個人データ管理システムの機能構成例を示すブロック図である。
図2】実施例1における個人データ管理システム10に含まれる各装置を構成する計算機のハードウェア構成例を示すブロック図である。
図3】実施例1における第1照合情報登録処理の一例を示すシーケンス図である。
図4】実施例1におけるテンプレート登録処理の一例を示すシーケンス図である。
図5】実施例1における第2照合情報登録処理の一例を示すシーケンス図である。
図6】実施例1における個人データ登録処理の一例を示すシーケンス図である。
図7A】実施例1における個人データ出力処理の一例を示すシーケンス図である。
図7B】実施例1における個人データ出力処理の一例を示すシーケンス図である。
図8】実施例1におけるディスプレイ画面に表示される処理結果表示画面の一例である。
図9】実施例1におけるディスプレイ画面に表示される処理結果表示画面の一例である。
図10A】実施例2における個人データ管理システムの機能構成例を示すブロック図である。
図10B】実施例2における個人データ管理システムの機能構成例を示すブロック図である。
図11】実施例2における個人データ登録処理の一例を示すシーケンス図である。
図12A】実施例2における個人データ出力処理の一例を示すシーケンス図である。
図12B】実施例2における個人データ出力処理の一例を示すシーケンス図である。
図13】実施例3における個人データ管理システムの機能構成例を示すブロック図である。
図14】実施例3における個人データ出力処理の一例を表すシーケンス図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態を図面に基づき詳細に説明する。なお、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものでないことに注意すべきである。
【実施例0013】
実施例1では、ネットワークを介した個人データ管理システムを説明する。個人データ管理システムは、テンプレートを含む個人データを管理する。個人データは、ユーザに関する任意のデータである。ユーザに対し交付された運転免許証、パスポート、住民票、卒業証明書、履修証明書、ワクチン接種証明書、医療的若しくは身体的検査結果証明書等の証明書に関するデータ、ユーザが所有する文書、図、画像、又は音声等のデータ等は、いずれも個人データの一例である。
【0014】
図1A及び図1Bは、個人データ管理システムの機能構成例を示すブロック図である。個人データ管理システム10は、例えば、第1照合情報登録用端末1100と、テンプレート登録用端末1200と、第2照合情報登録用端末1300と、個人データ登録用端末1400と、鍵復元用端末1500と、第1サーバ1600と、第2サーバ1700と、公開鍵用DB(DataBase)91と、第1照合情報用DB92と、テンプレート用DB93と、第2照合情報用DB94と、個人データ用DB95と、を含む。
【0015】
図面スペースの都合上、図1Aにおいては、公開鍵用DB91、第1照合情報用DB92、テンプレート用DB93、第2照合情報用DB94、及び個人データ用DB95それぞれの機能部の図示が省略され、図1Bにおいては、第1照合情報登録用端末1100、テンプレート登録用端末1200、第2照合情報登録用端末1300、個人データ登録用端末1400、及び鍵復元用端末1500それぞれの機能部の図示が省略されているが、図1A及び図1Bはいずれも同じ個人データ管理システム10の同じ機能構成例を示す。
【0016】
第1照合情報登録用端末1100と、テンプレート登録用端末1200と、第2照合情報登録用端末1300と、個人データ登録用端末1400と、鍵復元用端末1500と、第1サーバ1600と、第2サーバ1700と、公開鍵用DB91と、はネットワーク51を介して相互に接続されている。第1サーバ1600と、第1照合情報用DB92と、テンプレート用DB93と、はネットワーク52を介して相互に接続されている。第2サーバ1700と、第2照合情報用DB94と、個人データ用DB95と、はネットワーク53を介して相互に接続されている。
【0017】
インターネット、組織内のローカルネットワーク等は、いずれもネットワーク51、ネットワーク52、及びネットワーク53の一例である。ネットワーク51、ネットワーク52、及びネットワーク53それぞれは、有線であってもよいし、無線であってもよい。
【0018】
なお、図1A及び図1Bでは、個人データ管理システム10内の装置に接続されるネットワークが、ネットワーク51と、ネットワーク52と、ネットワーク53と、により構成されているが、必ずしもこのような構成でなくてもよい。例えば、ネットワーク51と、ネットワーク52と、ネットワーク53と、のいずれか1つのみが存在し、個人データ管理システム10に含まれる全ての装置が当該1つのネットワークに接続されていてもよい。
【0019】
但し、テンプレートを登録したユーザ以外によるテンプレートの不正なダウンロードを防ぐため、テンプレート用DB93から第1サーバ1600を介さずにテンプレートをダウンロードすることが困難であるような対策が施されていることが望ましい。
【0020】
具体的には、例えば、以下のような対策があげられる。通信前に、テンプレート用DB93と第1サーバ1600との間で認証を行い、テンプレート用DB93からのテンプレートの送信先が確かに第1サーバ1600であることを確認する。また、例えば、テンプレート用DB93が、第1サーバ1600のみが復号できるような暗号化されたテンプレートを第1サーバ1600に送信してもよい。また、例えば、第1サーバ1600がテンプレート用DB93を含むシステム構成であってもよい。
【0021】
また、第2サーバ1700を介さずに個人データをダウンロードすることが困難であるように上記した対策と同様の対策が施されることが望ましい。また、第1登録用照合情報が第1サーバ1600の外部に漏洩することが望ましくない場合(例えば、第1登録用照合情報がパスワードである場合等)には、第1登録用照合情報に関しても同様の対策が施されることが望ましい。第2登録用照合情報に関しても同様である。
【0022】
第1照合情報登録用端末1100は、例えば、いずれも機能部である、第1照合情報登録用端末通信部101と、第1登録用照合情報生成部102と、第1ID生成部103と、を含む。第1照合情報登録用端末通信部101は、第1照合情報登録用端末1100に接続された装置と通信する。第1登録用照合情報生成部102は、第1登録用照合情報を生成する。第1ID生成部103は、第1IDを生成する。
【0023】
テンプレート登録用端末1200は、例えば、いずれも機能部である、テンプレート登録用端末通信部201と、鍵ペア生成部202と、登録用生体情報取得部203と、テンプレート生成部204と、第1ID取得部205と、を含む。テンプレート登録用端末通信部201は、テンプレート登録用端末1200に接続された装置と通信する。鍵ペア生成部202は、例えば、秘密鍵と公開鍵の鍵ペアを生成する。登録用生体情報取得部203は、ユーザの登録用の生体情報を取得する。テンプレート生成部204は、生体情報に基づくテンプレートを生成する。第1ID取得部205は、第1IDを取得する。
【0024】
第2照合情報登録用端末1300は、例えば、いずれも機能部である、第2照合情報登録用端末通信部301と、第2登録用照合情報生成部302と、第2ID生成部303と、を含む。第2照合情報登録用端末通信部301は、第2照合情報登録用端末1300に接続された装置と通信する。第2登録用照合情報生成部302、第2登録用照合情報を生成する。第2ID生成部303は、第2IDを生成する。
【0025】
個人データ登録用端末1400は、例えば、いずれも機能部である、個人データ登録用端末通信部401と、第1ID取得部402と、個人データ取得部403と、個人データ変換部404と、第2ID取得部405と、を含む。個人データ登録用端末通信部401は、個人データ登録用端末1400に接続された装置と通信する。第1ID取得部402は、第1IDを取得する。個人データ取得部403は、個人データを取得する。個人データ変換部404は、個人データに対して所定の変換を施す。第2ID取得部405は、第2IDを取得する。
【0026】
鍵復元用端末1500は、テンプレート登録用端末1200により生成された秘密鍵を復元したうえで、個人データ登録用端末1400により登録された個人データを出力する端末である。鍵復元用端末1500は、例えば、いずれも機能部である、鍵復元用端末通信部501と、第1ID取得部502と、第1検証用照合情報生成部503と、鍵復元用生体情報取得部504と、秘密鍵復元部505と、第2ID取得部506と、第2検証用照合情報生成部507と、個人データ復元部508と、結果出力部509と、を含む。
【0027】
鍵復元用端末通信部501は鍵復元用端末1500に接続された装置と通信する。第1ID取得部502は、第1IDを取得する。第1検証用照合情報生成部503は、第1検証用照合情報を生成する。鍵復元用生体情報取得部504は、鍵を復元するためのユーザの生体情報を取得する。秘密鍵復元部505は、生体情報に基づいて秘密鍵を復元する。第2ID取得部506は、第2IDを取得する。第2検証用照合情報生成部507は、第2検証用照合情報を生成する。個人データ復元部508は、変換後個人データを復元する。結果出力部509は、個人データの復元結果を出力する。
【0028】
第1サーバ1600は、例えば、いずれも機能部である、第1サーバ通信部601と、第1検証部602と、第1送信可否決定部603と、を含む。第1サーバ通信部601は、第1サーバ1600に接続された装置と通信する。第1送信可否決定部603は、テンプレート用DB93によるテンプレート送信の可否を決定する。
【0029】
第2サーバ1700は、例えば、いずれも機能部である、第2サーバ通信部701と、第2検証部702と、第2送信可否決定部703と、を含む。第2サーバ通信部701は、第1サーバ1600に接続された装置と通信する。第2送信可否決定部703は、個人データ用DB95による変換後個人データの送信の可否を決定する。
【0030】
公開鍵用DB91は、例えば、いずれも機能部である、公開鍵用DB通信部911と、公開鍵格納部912と、を含む。公開鍵用DB通信部911は、公開鍵用DB91に接続された装置と通信する。公開鍵格納部912は、公開鍵を格納する。
【0031】
第1照合情報用DB92は、例えば、いずれも機能部である、第1照合情報用DB通信部921と、第1登録用照合情報格納部922と、を含む。第1照合情報用DB通信部921は、第1照合情報用DB92に接続された装置と通信する。第1登録用照合情報格納部922は、第1登録用照合情報を格納する。
【0032】
テンプレート用DB93は、例えば、いずれも機能部である、テンプレート用DB通信部931と、テンプレート用DB格納部932と、を含む。テンプレート用DB通信部931は、テンプレート用DB93に接続された装置と通信する。テンプレート用DB格納部932は、テンプレートを格納する。
【0033】
第2照合情報用DB94は、例えば、いずれも機能部である、第2照合情報用DB通信部941と、第2登録用照合情報格納部942と、を含む。第2照合情報用DB通信部941は、第2照合情報用DB94に接続された装置と通信する。第2登録用照合情報格納部942は、第2登録用照合情報を格納する。
【0034】
個人データ用DB95は、例えば、いずれも機能部である、個人データ用DB通信部951と、変換後個人データ格納部952と、を含む。個人データ用DB通信部951は、個人データ用DB95に接続された装置と通信する。変換後個人データ格納部952は、変換後個人データを格納する。
【0035】
図2は、実施例1における個人データ管理システム10に含まれる各装置を構成する計算機のハードウェア構成例を示すブロック図である。計算機70は、例えば、CPU(Control Processing Unit)71、メモリ72、補助記憶装置73、入力装置74、出力装置75、通信装置76、及び読込装置77を有する。
【0036】
CPU71は、プロセッサを含み、メモリ72に格納されたプログラムを実行する。メモリ72は、不揮発性の記憶素子であるROM(Read Only Memory)及び揮発性の記憶素子であるRAM(Random Access Memory)を含む。ROMは、不変のプログラム(例えば、BIOS(Basic Input/Output System))などを格納する。RAMは、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶素子であり、CPU71が実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。
【0037】
補助記憶装置73は、例えば、磁気記憶装置(HDD(Hard Disk Drive))、フラッシュメモリ(SSD(Solid State Drive))等の大容量かつ不揮発性の記憶装置であり、CPU71が実行するプログラム及びプログラムの実行時に使用されるデータを格納する。すなわち、プログラムは、補助記憶装置73から読み出されて、メモリ72にロードされて、CPU71によって実行される。
【0038】
入力装置74は、キーボードやマウスなどの、オペレータからの入力を受ける装置である。出力装置75は、ディスプレイ装置やプリンタなどの、プログラムの実行結果をオペレータが視認可能な形式で出力する装置である。
【0039】
通信装置76は、所定のプロトコルに従って、他の装置との通信を制御するネットワークインターフェース装置である。また、通信装置76は、例えば、USB(Universal Serial Bus)等のシリアルインターフェースを含んでもよい。
【0040】
CPU71が実行するプログラムの一部またはすべては、非一時的記憶媒体であるリムーバブルメディア(CD-ROM、フラッシュメモリなど)又は、非一時的記憶装置を備える外部計算機からネットワークを介して計算機70に提供され、非一時的記憶媒体である不揮発性の補助記憶装置73に格納されてもよい。読込装置77は、リムーバブルメディアからデータを読み込むインターフェース装置である。
【0041】
個人データ管理システム10に含まれる各装置は、物理的に一つの計算機上で、又は、論理的又は物理的に構成された複数の計算機上で構成される計算機システムであり、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。
【0042】
なお、テンプレート登録用端末1200を構成する計算機70、及び鍵復元用端末1500を構成する計算機70は、それぞれ、生体情報を取得するためのセンサを有しているとよい。
【0043】
図1A及び図1Bに図示されている各機能部は、当該機能部を備える装置を構成する計算機70のCPU71に格納されている。例えば、第1照合情報登録用端末1100を構成する計算機70に含まれるCPU71は、当該計算機70に含まれるメモリ72にロードされた第1照合情報登録用端末通信プログラムに従って動作することで、第1照合情報登録用端末通信部101として機能し、当該メモリ72にロードされた第1登録用照合情報生成プログラムに従って動作することで、第1登録用照合情報生成部102として機能する。
【0044】
第1照合情報登録用端末1100を構成する計算機70が有するCPU71に含まれる他の機能部についても、プログラムと機能部の関係は同様である。また、個人データ管理システム10に含まれる第1照合情報登録用端末1100以外の装置それぞれを構成する計算機70のCPU71に含まれる機能部についても、プログラムと機能部の関係は同様である。
【0045】
なお、個人データ管理システム10に含まれる装置が有する機能部による機能の一部又は全部が、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)等のハードウェアによって実現されてもよい。
【0046】
なお、個人データ管理システム10に含まれる各装置を構成する計算機70の補助記憶装置73に格納されている一部又は全部の情報は、当該計算機70のメモリ72に格納されていてもよいし、必要に応じて当該計算機70に接続されている、個人データ管理システム10外のデータベースに格納されていてもよい。
【0047】
なお、本実施形態において、個人データ管理システム10が使用する情報は、データ構造に依存せずどのようなデータ構造で表現されていてもよい。本実施形態ではテーブル形式で情報が表現されているが、例えば、リスト、データベース又はキューから適切に選択したデータ構造体が、情報を格納することができる。
【0048】
以下、本実施例における個人データ管理システム10による処理の例を説明する。個人データ管理システム10は、まず、ユーザに関する第1照合情報登録処理と、テンプレート登録処理と、第2照合情報登録処理と、を実行する。
【0049】
次に、個人データ管理システム10は、個人データ登録処理を実行し、当該ユーザを所有者とする個人データを登録する。次に、個人データ管理システム10は、個人データ出力処理を実行する。
【0050】
なお、例えば、運転免許証、パスポート、住民票、卒業証明書、履修証明書、ワクチン接種証明書、医療的、又は身体的検査結果証明書等の証明書に関するデータは個人データの一例である。個人データがこれらのデータのいずれかである場合、これらのデータを交付されたユーザは、個人データ所有者の例である。なお、パスワード等のような個人が記憶する情報も個人データの一例である。また、各ユーザに対し、第1IDと第2IDが生成される。あるユーザに対する第1IDと第2IDは、関連する値(例えば、同一の値、又は第1IDを所定の単射の関数に入力して得られる値)であってもよいし、関連しない値であってもよい。
【0051】
図3は、第1照合情報登録処理の一例を示すシーケンス図である。なお、複数のユーザが個人データ管理システム10を使用する場合、個人データ管理システム10は、当該複数のユーザそれぞれに対する第1照合情報登録処理を行う。これは、複数のユーザそれぞれに対して処理が実行される点については、後述するテンプレート登録処理、第2照合情報登録処理、及び個人データ登録処理に関しても同様である。
【0052】
ステップS11101では、第1登録用照合情報生成部102が、第1登録用照合情報を生成する。ステップS11101の処理の具体例は後述する。ステップS11102では、第1ID生成部103が、第1照合情報登録処理の処理対象ユーザの第1IDを生成する。第1IDは、テンプレートと、第1登録用照合情報と、公開鍵と、の一部又は全部を紐づけるために用いられる。
【0053】
第1ID生成部103は、例えば、ランダムに又は所定の規則に従って第1IDを生成してもよいし、処理対象ユーザが第1照合情報登録用端末1100に入力して第1IDを取得することで第1IDを生成してもよい。
【0054】
また、例えば、第1照合情報登録用端末1100ではなく第1サーバ1600が第1IDを作成し、第1照合情報登録用端末1100に送信するようにしてもよい。必要ならば、第1IDを生成した端末が、鍵復元用端末1500の出力装置75の一例としてのディスプレイに、生成した第1IDを表示することにより、処理対象ユーザに第1IDを通知してもよい。
【0055】
ステップS11103では、第1照合情報登録用端末通信部101が、ステップS11101で生成された第1登録用照合情報と、ステップS11102で生成された第1IDと、を第1サーバ1600に送信する。
【0056】
ステップS11601では、第1サーバ通信部601が、ステップS11101で送信された第1登録用照合情報と第1IDとを、第1照合情報用DB92に送信する。なお、第1照合情報登録用端末1100と第1照合情報用DB92とが直接ネットワーク接続されている場合は、ステップS11103及びステップS11601の処理に代えて、第1照合情報登録用端末通信部101が、第1照合情報用DB92に第1登録用照合情報と第1IDとを直接送信してもよい。これ以降も同様に、端末がサーバを介してDBに格納するためのデータを送信する処理において、端末はサーバを通さず当該データをDBに直接送信してもよい。
【0057】
ステップS19201では、第1登録用照合情報格納部922が、ステップS11601で送信された第1登録用照合情報と第1IDとを対応付けて、第1照合情報用DB92を構成する計算機70の補助記憶装置73に格納する。
【0058】
図4は、テンプレート登録処理の一例を示すシーケンス図である。以下では、図4の処理の前に、テンプレート登録処理対象ユーザに対する第1照合情報登録処理が完了している例を説明する。ただし、第1照合情報登録処理とテンプレート登録処理とが同時に(並行して)実行されてもよい。
【0059】
ステップS21201では、鍵ペア生成部202が、秘密鍵と公開鍵のペアを生成する。鍵ペア生成部202は、例えば、鍵復元用端末1500が実行する暗号学的処理に応じて、任意のアルゴリズムを用いて鍵ペアを生成することができる。
【0060】
鍵ペア生成部202は、例えば、RSA暗号、若しくはElGamal暗号等の任意の暗号化方式における鍵ペア生成アルゴリズム、又はRSA署名、RSA-FDH(Full Domain Hash)署名、ElGamal署名、Schnorr署名、若しくはWaters署名等の任意の署名方式における鍵ペア生成アルゴリズムを用いて、鍵ペアを生成する。
【0061】
また、鍵ペア生成部202は、データ暗号化用公開鍵pk1とデータ復号用秘密鍵sk1とからなる鍵ペア(sk1,pk1)と、電子署名生成用秘密鍵sk2と電子署名検証用公開鍵pk2とからなる鍵ペア(sk2,pk2)とを生成し、sk:=(sk1,sk2)、pk:=(pk1,pk2)により、ステップS21201における鍵ペア(sk,pk)を定めてもよい。この例のように、鍵ペア生成部202がデータ復号用秘密鍵sk1と電子署名生成用秘密鍵sk2とを分けて生成することにより、暗号処理に関するデータ(例えば、暗号化されたデータや、データ暗号化用公開鍵など)と電子署名処理に関するデータ(例えば、署名対象となるデータや、電子署名や、電子署名検証用公開鍵など)との一方から他方を推定することの困難性が向上するという効果がある。
【0062】
また、鍵ペア生成部202は、後述するステップS21202で取得される登録用生体情報を用いて秘密鍵を生成したうえで、対応する公開鍵を計算することにより、鍵ペアを生成してもよい。鍵ペア生成部202が鍵ペアを生成する方法は上記した方法に限らず、任意の生成方法であってもよい。
【0063】
また、後述するステップS21203のテンプレート生成処理において登録時秘密鍵が生成される場合、鍵ペア生成部202は、この登録時秘密鍵を用いて鍵ペアを生成してもよい。そのような方法については後述する。
【0064】
ステップS21202では、登録用生体情報取得部203が、テンプレート登録処理対象ユーザから登録用生体情報を取得する。例えば、顔、指紋、掌紋、又は指静脈等、1つ以上の任意の部位から取得される生体情報は、いずれもステップS21202における取得対象の生体情報の一例である。
【0065】
ステップS21203では、テンプレート生成部204が、ステップS21202で取得された登録用生体情報を用いて、バイオメトリック暗号方式の登録処理を含む処理を行うことにより、テンプレートを生成する。テンプレート生成処理の具体例は後述する。
【0066】
ステップS21204では、第1ID取得部205が、テンプレート登録処理対象ユーザの第1IDを取得する。具体的には、例えば、第1ID取得部205は、テンプレート登録処理対象ユーザがテンプレート登録用端末1200に入力した第1IDを取得する。なお、第1照合情報登録用端末1100とテンプレート登録用端末1200とが同一の端末である場合など、テンプレート登録用端末1200がテンプレート登録処理対象ユーザの第1IDをすでに得ている場合には、ステップS21204の第1ID取得処理が省略される。
【0067】
ステップS21205では、テンプレート登録用端末通信部201が、ステップS21203で生成されたテンプレートと、ステップS21204で取得された第1IDと、を第1サーバ1600に送信する。ステップS21601では、第1サーバ通信部601が、ステップS21205で送信された第1IDとテンプレートとをテンプレート用DB93に送信する。ステップS29301では、テンプレート用DB格納部932が、ステップS21601で送信された第1IDとテンプレートとを対応付けて、テンプレート用DB93を構成する計算機70の補助記憶装置73に格納する。
【0068】
ステップS21206では、テンプレート登録用端末通信部201が、ステップS21201で生成された公開鍵と、ステップS21204で取得された第1IDと、を公開鍵用DB91に送信する。ステップS29101では、公開鍵格納部912が、ステップS21206で送信された公開鍵と第1IDとを対応付けて、公開鍵用DB91を構成する計算機70の補助記憶装置73に格納する。
【0069】
なお、テンプレート登録処理の前に、テンプレート登録用端末1200が後述する図7AのステップS51503の第1検証用照合情報生成処理と、後述する図7AのステップS51504の第1検証用照合情報送信処理と、を実行し、第1サーバ1600が、後述する図7AのステップS51602の第1検証処理を実行し、ステップS51602における検証結果が「成功」である場合のみテンプレート登録処理が実行されるようにしてもよい。このようにすることで、第1登録用検証情報を登録した本人のみがテンプレート登録処理を実行することができる。
【0070】
なお、個人データ管理システム10は、各テンプレート登録処理対象ユーザに対して、同じ部位又は異なる部位から取得される複数の生体情報から生成された、複数個のテンプレートをテンプレート用DB93に登録してもよい。
【0071】
図5は、第2照合情報登録処理の一例を示すシーケンス図である。ステップS31301では、第2登録用照合情報生成部302が、第2登録用照合情報を生成する。第2登録用照合情報生成処理の具体例は後述する。
【0072】
ステップS31302では、第2ID生成部303が、第2照合情報登録処理の処理対象ユーザの第2IDを生成する。第2ID生成部303は、例えば、第1ID生成方法の例として前述した方法のうちいずれかの方法を用いて第2IDを生成することができる。また、第2ID生成部303は、例えば、第2照合情報登録処理の処理対象ユーザの第2IDを、当該ユーザの第1IDと同一又は関連する値(例えば、第1IDを所定の単射の関数に入力して得られる値)として決定してもよいし、関連しない値として決定してもよい。第2ID生成部303は、必要に応じて、第2IDを第2照合情報登録処理対象ユーザに通知してもよい。
【0073】
ステップS31303では、第2照合情報登録用端末通信部301が、ステップS31301で生成された第2登録用照合情報と、ステップS31302で生成された第2IDと、を第2サーバ1700に送信する。ステップS31701では、第2サーバ通信部701が、ステップS31303で送信された第2登録用照合情報と第2IDとを、第2照合情報用DB94に送信する。ステップS39401では、第2登録用照合情報格納部942が、ステップS31701で送信された第2登録用照合情報と第2IDとを対応付けて、第2照合情報用DB94を構成する計算機70の補助記憶装置73に格納する。
【0074】
図6は、個人データ登録処理の一例を示すシーケンス図である。以下、個人データ登録用端末1400を操作するユーザを、個人データ登録用端末操作ユーザとも呼ぶ。個人データ登録用端末操作ユーザは、個人データ所有者と必ずしも同一でなくてもよい。また、個人データ管理システム10は、個人データ登録処理を複数回実行することにより、あるユーザを所有者とする複数個の個人データを登録することができる。
【0075】
ステップS41401では、第1ID取得部402が、個人データ所有者の第1IDを取得する。具体的には、例えば、第1ID取得部402は、個人データ登録用端末操作ユーザが個人データ登録用端末1400の入力装置74に入力した個人データ所有者の第1IDを取得する。
【0076】
ステップS41402では、個人データ登録用端末通信部401が、公開鍵の送信を要求する旨のメッセージと、ステップS41401で取得された第1IDと、を公開鍵用DB91に送信する。
【0077】
ステップS49101では、公開鍵用DB通信部911が、ステップS41402で送信された第1IDに対応する公開鍵を、公開鍵用DB91を構成する計算機70の補助記憶装置73から取得し、個人データ登録用端末1400に送信する。
【0078】
ステップS41403では、個人データ取得部403が、個人データを取得する。具体的には、個人データ取得部403がステップS41403において個人データを生成してもよいし、ステップS41403よりも前に、個人データ登録用端末1400が個人データを生成してもよいし、ステップS41403よりも前に、他の装置が個人データを生成して個人データ登録用端末1400に送信してもよい。
【0079】
ステップS41404では、個人データ変換部404が、ステップS41403で取得された個人データを変換することにより、変換後個人データを生成する。個人データ変換処理の具体例は後述する。
【0080】
ステップS41405では、第2ID取得部405が、個人データ所有者の第2IDを取得する。具体的には、例えば、第2ID取得部405は、個人データ登録用端末操作ユーザが個人データ登録用端末1400を構成する計算機70の入力装置74に入力した個人データ所有者の第2IDを、取得する。なお、第2照合情報登録用端末1300と個人データ登録用端末1400とが同じ装置である場合など、個人データ登録用端末1400が第2IDを既に取得している場合には、ステップS41405の第2ID取得処理は省略される。
【0081】
ステップS41406では、個人データ登録用端末通信部401が、ステップS41401で取得された第2IDと、ステップS41406で生成された変換後個人データと、を第2サーバ1700に送信する。ステップS41701では、第2サーバ通信部701が、ステップS41406で送信された第2IDと変換後個人データとを個人データ用DB95に送信する。ステップS49501では、変換後個人データ格納部952が、ステップS41701で送信された第2IDと変換後個人データとを対応付けて、個人データ用DB95を構成する計算機70の補助記憶装置73に格納する。
【0082】
図7A及び図7Bは、個人データ出力処理の一例を示すシーケンス図である。図面スペースの都合上、個人データ出力処理が図7A及び図7Bに別れて記載されているが、個人データ出力処理は、図7Aの処理の後に図7Bの処理が実行される、一連の処理である。以下、鍵復元用端末1500を操作するユーザを、鍵復元用端末操作ユーザとも呼ぶ。個人データ出力処理により、鍵復元用端末操作ユーザを所有者とする個人データが出力される。
【0083】
ステップS51501では、第1ID取得部502が、鍵復元用端末操作ユーザの第1IDを取得する。具体的には、例えば、第1ID取得部502は、鍵復元用端末操作ユーザが鍵復元用端末1500を構成する計算機70の入力装置74に入力した第1IDを取得する。
【0084】
ステップS51502では、鍵復元用端末通信部501が、テンプレートの送信を要求する旨を示すメッセージと、ステップS51501で取得された第1IDと、を第1サーバ1600に送信する。ステップS51601では、第1サーバ通信部601が、第1登録照合情報の送信を要求する旨のメッセージと、ステップS51502で送信された第1IDと、を第1照合情報用DB92に送信する。ステップS59201では、第1照合情報用DB通信部921が、ステップS51601で送信された第1IDに対応する第1登録用照合情報を、第1照合情報用DB92を構成する計算機70の補助記憶装置73から取得して、第1サーバ1600に送信する。
【0085】
ステップS51503では、第1検証用照合情報生成部503が、第1検証用照合情報を生成する。第1検証用照合情報生成処理の具体例は後述する。ステップS51504では、鍵復元用端末通信部501が、ステップS51503で生成された第1検証用照合情報を第1サーバ1600に送信する。ステップS51602では、第1検証部602が、第1登録用照合情報と、第1検証用照合情報と、を用いて第1検証処理を行う。第1検証処理の具体例は後述する。
【0086】
ステップS51603では、第1送信可否決定部603が、テンプレート送信可否を決定する。具体的には、例えば、第1送信可否決定部603は、ステップS51602の第1検証処理の結果が「成功」であると判定したとき「送信許可」を決定し、ステップS51602の第1検証処理の結果が「失敗」であると判定したとき「送信拒否」を決定する。第1送信可否決定部603が「送信拒否」を決定した場合、個人データ管理システム10は、ステップS51604及びステップS59301の処理を実行せずに、後述するステップS51605の処理に進む。
【0087】
ステップS51604では、第1サーバ通信部601が、テンプレートの送信を要求する旨を示すメッセージと、ステップS51502で送信された第1IDと、をテンプレート用DB93に送信する。ステップS59301では、テンプレート用DB通信部931が、ステップS51604で送信された第1IDに対応するテンプレートを第1サーバ1600に送信する。
【0088】
ステップS51605では、第1サーバ通信部601が、以下で定められる第1応答を鍵復元用端末1500に送信する。ステップS51603の結果が「送信許可」を示すとき、第1応答は、ステップS59301で送信されたテンプレートを含む。ステップS51603の結果が「送信拒否」であるとき、第1応答は、送信拒否の旨を示すメッセージを含む。
【0089】
なお、鍵復元用端末操作ユーザのテンプレートがテンプレート用DB93に複数個登録されている場合には、送信されるテンプレートは当該複数個のテンプレートの一部であってもよいし、全部であってもよい。なお、第1サーバ1600等が送信されるテンプレートを選択してもよいし、第1サーバ1600が、登録されたテンプレート一覧を鍵復元用端末1500に送信し、鍵復元用端末1500が、登録されたテンプレート一覧を、鍵復元用端末1500を構成する計算機70の出力装置75に出力し、送信されるテンプレートを鍵復元用端末操作ユーザに選択させてもよい。
【0090】
なお、ステップS51605で送信拒否の旨のメッセージが送信されたとき、個人データ管理システム10は、ステップS51505からステップS51511までの処理を実行せずに、ステップS51512の処理に進む。
【0091】
ステップS51505では、鍵復元用生体情報取得部504が、鍵復元用端末操作ユーザから鍵復元用生体情報を取得する。ステップS51506では、秘密鍵復元部505が、ステップS51605で送信されたテンプレートと、ステップS51506で取得された鍵復元用生体情報と、を用いて、バイオメトリック暗号方式の秘密鍵復元処理を含む処理を行うことにより、秘密鍵を復元する。秘密鍵復元処理の具体例は後述する。
【0092】
ステップS51507では、第2ID取得部506が、鍵復元用端末操作ユーザの第2IDを取得する。ステップS51508では、鍵復元用端末通信部501が、変換後個人データの送信を要求する旨を示すメッセージと、ステップS51507で取得された第2IDと、を第2サーバ1700に送信する。
【0093】
なお、鍵復元用端末操作ユーザを所有者とする個人データが個人データ用DB95に複数登録されている場合には、鍵復元用端末1500は、当該複数の個人データから1つ以上を鍵復元用端末操作ユーザに選択させ、選択された変換後個人データの送信を要求するようにしてもよい。個人データ用DB95は、当該選択のために、例えば、鍵復元用端末操作ユーザを所有者とする登録された個人データのリストを保持し、鍵復元用端末1500からの要求に応じて、第2サーバ1700を介して又は直接、鍵復元用端末1500に当該リストを送信すればよい。
【0094】
また、必ずしも全ユーザに共通の第2サーバ1700が用意されているとは限らない。例えば、各ユーザの個人データが、必ずしも同一とは限らないオンラインストレージサービスに格納されている場合があげられる。このような場合、鍵復元用端末1500は、送信先である第2サーバ1700の場所の情報を特定する必要がある。
【0095】
例えば、第2サーバ1700がオンラインストレージサービスのサーバである場合、当該サーバのURL(Uniform Resource Locator)は、第2サーバ1700の場所の情報の一例である。また、当該サービスの名称から第2サーバ1700の場所が特定できる場合には、当該サービスの名称も第2サーバ1700の場所の情報の一例である。このために、鍵復元用端末1500は、例えば、鍵復元用端末操作ユーザに第2サーバ1700の場所の情報を入力させればよい。
【0096】
ステップS51701では、第2サーバ通信部701が、第2登録用照合情報の送信を要求する旨を示すメッセージと、ステップS51508で送信された第2IDと、を個人データ用DB95に送信する。
【0097】
ステップS59401では、第2照合情報用DB通信部941が、ステップS51701で送信された第2IDに対応する第2登録用照合情報を第2サーバ1700に送信する。ステップS51509では、第2検証用照合情報生成部507が、処理対象ユーザの第2検証用照合情報を生成する。第2検証用照合情報生成処理の具体例は後述する。ステップS51510では、鍵復元用端末通信部501が、ステップS51509で生成された第2検証用照合情報を第2サーバ1700に送信する。
【0098】
ステップS51702では、第2検証部702が、ステップS59401で送信された第2登録用照合情報と、ステップS51510で送信された第2検証用照合情報と、を用いて第2検証処理を行う。第2検証処理の具体例は後述する。
【0099】
ステップS51703では、第2送信可否決定部703が、変換後個人データの送信可否を決定する。具体的には、第2送信可否決定部703は、ステップS51702の第2検証処理の結果が「成功」であると判定したとき「送信許可」を決定し、ステップS51702の第2検証処理の結果が「失敗」であると判定したとき「送信拒否」を決定する。第2送信可否決定部703が「送信拒否」を決定した場合、個人データ管理システム10は、ステップS51704及びステップS59501の処理を実行せずに、ステップS51705の処理に進む。
【0100】
ステップS51704では、第2サーバ通信部701が、変換後個人データを要求する旨を示すメッセージと、ステップS51508で送信された第2IDと、を個人データ用DB95に送信する。
【0101】
ステップS59501では、個人データ用DB通信部951が、ステップS51704で送信された第2IDに対応する変換後個人データを、個人データ用DB95を構成する計算機70の補助記憶装置73から取得し、第2サーバ1700に送信する。
【0102】
ステップS51705では、第2サーバ通信部701が、以下で定められる第2応答を鍵復元用端末1500に送信する。ステップS51703の結果が「送信許可」を示すとき、第2応答は、ステップS59501で送信された変換後個人データを含む。ステップS51703の結果が「送信拒否」を示すとき、第2応答は、送信拒否の旨を示すメッセージを含む。なお、ステップS51705で送信拒否を示すメッセージが送信されたとき、鍵復元用端末1500は、ステップS51511の処理を実行せずに、ステップS51512に進む。
【0103】
ステップS51511では、個人データ復元部508が、ステップS51705で送信された変換後個人データから個人データを復元する。個人データ復元処理の具体例は後述する。ステップS51512では、結果出力部509が、処理結果出力処理を行う。結果出力処理の具体例は後述する。
【0104】
次に、各処理の具体例を説明する。ステップS21203のテンプレート生成処理と、ステップS51506の秘密鍵復元処理と、の具体例は以下の通りである。
【0105】
ステップS21203のテンプレート生成処理と、ステップS51506の秘密鍵復元処理と、の1つ目の具体例を述べる。この具体例は、ステップS21203のテンプレート生成処理において、テンプレート生成部204が、バイオメトリック暗号方式の登録処理により登録時秘密鍵s_Eを生成したうえで、s_Eと、ステップS21201で生成される秘密鍵skと、から生成されるデータをテンプレートに含める方法の例である。
【0106】
ステップS21203において、まず、テンプレート生成部204は、登録用生体情報から登録用特徴量x_E(「_」は添字を示す)を抽出する。例えば、テンプレート生成部204は、生体情報の種類に応じた任意の特徴抽出アルゴリズムを用いて、登録用特徴量を抽出する。
【0107】
次に、テンプレート生成部204は、x_Eを用いてバイオメトリック暗号方式の登録処理を行い、登録時秘密鍵s_Eと補助情報c_Eとを生成する。テンプレート生成部204は、バイオメトリック暗号方式として、Fuzzy Extractor、Fuzzy Signature、Fuzzy Vault、又はFuzzy Commitment等の任意の方式を用いることができる。補助情報c_Eは、方式によっては、Helper Data、Helper String、Sketch等とも呼ばれるデータである。
【0108】
そのうえで、テンプレート生成部204は、s_Eを鍵として、ステップS21201で生成される秘密鍵skに対して任意の共通鍵暗号方式における暗号化処理を行い、暗号化秘密鍵Enc(sk)を得る。テンプレート生成部204は、共通鍵暗号方式を用いる代わりに、s_Eに対応する公開鍵を生成したうえで公開鍵暗号方式を用いてもよい。また、秘密鍵skが複数の要素(例えば、データ復号用秘密鍵sk1と電子署名生成用秘密鍵sk2)に分かれている場合には、テンプレート生成部204は、それぞれの要素に分けて暗号化を実行してもよい。そのうえで、テンプレート生成部204は、テンプレートTを、c_EとEnc(sk)とを含むデータとして決定する。
【0109】
なお、テンプレート生成部204は、鍵復元時に秘密鍵が正しく復元されたか検証するための擬識別子(Pseudonymous Identifier)と呼ばれるデータをテンプレートに含めてもよいし、含めなくてもよい。秘密鍵のハッシュ値等の所定の関数値や秘密鍵に対応する公開鍵等は、擬識別子の一例である。これ以降の例においても、テンプレートは擬識別子を含んでもよいし、含まなくてもよい。
【0110】
次に、ステップS51506の秘密鍵復元処理において、まず、秘密鍵復元部505は、鍵復元用生体情報から鍵復元用特徴量x_Aを抽出し、x_Aと、テンプレートTに含まれる補助情報c_Eと、を用いて、ステップS21203で使用したバイオメトリック暗号方式における秘密鍵復元処理を行い、s_Eを復元する。x_Eとx_Aが十分近いときに復元が成功し、秘密鍵復元部505は、復元が成功したかどうかを擬識別子を用いて検証できる。そのうえで、秘密鍵復元部505は復元されたs_Eを用いて、暗号化秘密鍵Enc(sk)に対する復号処理を行い、秘密鍵skを復元する。
【0111】
以下、ステップS21203のテンプレート生成処理で用いられる、バイオメトリック暗号方式における登録処理による登録時秘密鍵s_Eと補助情報c_Eの生成方法、及びステップS51506の秘密鍵復元処理で用いられる、バイオメトリック暗号方式における鍵復元処理による登録時秘密鍵s_Eの復元方法の一例を、数式を用いて説明する。
【0112】
特徴量x_Eは集合Xの要素であるとし、登録時秘密鍵s_Eは、集合Sの要素であるとする。集合Sは線形空間であり、かつ集合Xの部分集合であるとする。
【0113】
登録時秘密鍵s_Eの生成方法として、例えば、テンプレート生成部204が、集合Sの要素をs_Eとしてランダムに選択する方法がある。他の一例として、テンプレート生成部204が、x_Eを所定の関数に代入した値としてs_Eを決定する方法がある。具体的には、例えば、テンプレート生成部204が、集合Sの要素のうちx_Eに最も近いものをs_Eとして選択すればよい。
【0114】
また、テンプレート生成部204が、x_Eを集合Sの基底の線形結合として表したうえで、集合Sの要素になるように係数を丸めることでs_Eを決定してもよい。また、鍵ペア生成部202が、x_Eのハッシュ値等の関数値を計算したうえで、得られた関数値をさらにSの要素に変換することでs_Eを決定してもよい。
【0115】
また、テンプレート生成部204が、上記した例の計算を行った上で定数倍するなどの所定の処理を行って、s_Eを決定してもよい。なお、これらの例に限らず、鍵ペア生成部202が、登録用生体情報と、乱数と、予め設定された定数と、の少なくとも1つを引数として、返す値がSの要素であるような所定の関数に代入した値をs_Eに決定してもよい。
【0116】
補助情報c_Eは、例えば、テンプレート生成部204が、x_E及びs_Eを用いた秘匿化処理を行うことにより生成される。具体的には、例えば、テンプレート生成部204は、c_E:=x_E+s_Eにより定められるc_Eを補助情報に決定する。
【0117】
ステップS51506の秘密鍵復元処理における登録時秘密鍵s_Eの復元方法の一例では、秘密鍵復元部505が、まず鍵復元用生体情報から鍵復元用特徴量x_Aを抽出する。そのうえで、秘密鍵復元部505は、s_A:=f_1(c_E-x_A)により秘密鍵s_Aを計算する。但し、Xの要素xに対しf_1(x)は、xに対する誤り訂正処理(即ち、xを、集合Sのある要素にノイズが加わった値であるとみなし、ノイズが加わる前の集合Sの要素を推定する処理)により得られる値である。このとき、x_E-x_Aが十分小さければ、s_A=s_Eとなり、s_Eを正しく復元できる。
【0118】
ステップS21203のテンプレート生成処理と、ステップS51506の秘密鍵復元処理と、の2つ目の具体例を述べる。この具体例は、ステップS21203のテンプレート生成処理において、テンプレート生成部204が、バイオメトリック暗号方式の登録処理において、ステップS21201で生成される秘密鍵skを用いて補助情報c_Eを生成する例である。
【0119】
ステップS21203のテンプレート生成処理において、テンプレート生成部204は、まず、登録用生体情報から登録用特徴量x_Eを抽出し、単射かつ逆像計算が容易であるような所定の写像f_0(例えば恒等写像)を用いて、s_E=f_0(sk)と定め、バイオメトリック暗号方式の登録処理により、このs_Eに対応するc_Eを生成する。バイオメトリック暗号方式のうちの一部の方式は、登録処理において指定されたs_Eに対応するc_Eを生成できるため、テンプレート生成部204は、そのような方式を用いればよい。例えば、1つ目の具体例で述べた方法を用いればよい。そのうえで、テンプレート生成部204は、このc_Eを含むようにテンプレートTを定める。
【0120】
次に、ステップS51506の秘密鍵復元処理において、秘密鍵復元部505は、鍵復元用生体情報から鍵復元用特徴量x_Aを抽出し、x_Aと、テンプレートTに含まれる補助情報c_Eと、を用いて、バイオメトリック暗号方式における秘密鍵復元処理を行い、s_Eを復元する。そのうえで、秘密鍵復元部505は、sk=f_0^(-1)(s_E)によりskを復元する。ただしf_0^(-1)はf_0の逆写像を表す。
【0121】
ステップS21203のテンプレート生成処理と、ステップS51506の秘密鍵復元処理と、の3つ目の具体例を述べる。この具体例は、ステップS21203のテンプレート生成処理においてバイオメトリック暗号方式の登録処理により生成される登録時秘密鍵s_Eが、ステップS21201において秘密鍵skの生成に用いられる例である。このため、ステップS21201の処理を含めて具体例を述べる。
【0122】
ステップS21203のテンプレート生成処理において、テンプレート生成部204は、登録用生体情報から登録用特徴量x_Eを抽出し、x_Eを用いてバイオメトリック暗号方式の登録処理を行い、登録時秘密鍵s_Eと補助情報c_Eを生成する。テンプレート生成部204は、テンプレートTを、c_Eを含むデータとして定める。
【0123】
次に、ステップS21201の鍵ペア生成処理において、鍵ペア生成部202は、s_Eを用いて秘密鍵skを生成したうえで、skに対応する公開鍵pkを計算する。ここで、鍵ペア生成部202が、s_Eからskを生成する方法の例として、s_Eそのものをskとする方法がある。
【0124】
鍵ペア生成部202が、s_Eからskを生成する方法の別の例として、s_Eを疑似乱数生成器に入力して得られる疑似乱数のうち所定の箇所の値を元にデータ復号用秘密鍵sk1を生成し、sk1の生成に用いられた箇所とは等しいとは限らない所定の箇所の値を元に電子署名生成用秘密鍵sk2を生成するという方法がある。この場合、鍵ペア生成部202がpkを決定する方法としては、sk1に対応する公開鍵pk1と、sk2対応する公開鍵pk2とを計算し、pk:=(pk1,pk2)によりpkを決定する方法がある。
【0125】
特に、sk1の生成に用いる箇所とsk2の生成に用いる箇所が異なるようにすれば、sk1(あるいはそれを元に生成されるデータ)とsk2(あるいはそれを元に生成されるデータ)のうちの一方から他方を推定することがさらに困難となり、安全性が向上するという効果がある。
【0126】
ステップS51506の秘密鍵復元処理において、秘密鍵復元部505は、鍵復元用生体情報から鍵復元用特徴量x_Aを抽出し、x_Aと、テンプレートに含まれるc_Eと、を用いて登録時秘密鍵s_Eを復元する。そのうえで、秘密鍵復元部505は、s_Eを用いてステップS21201と同様の処理を行う秘密鍵skを復元する。
【0127】
ステップS21203のテンプレート生成処理と、ステップS51506の秘密鍵復元処理と、の4つ目の具体例を述べる。この具体例は、3つ目の具体例と同じく、ステップS21203のテンプレート生成処理においてバイオメトリック暗号方式の登録処理により生成される登録時秘密鍵s_Eが、ステップS21201において、秘密鍵skの生成に用いられる例である。このため、ステップS21201の処理を含めて具体例を述べる。なお、テンプレート生成部204が行う処理の一部を、鍵ペア生成部202が代わりに行ってもよい。
【0128】
ステップS21203のテンプレート生成処理において、テンプレート生成部204は、登録用生体情報から登録用特徴量x_Eを抽出し、x_Eを用いてバイオメトリック暗号方式の登録処理を行い、登録時秘密鍵s_Eと補助情報c_Eを生成する。さらに、テンプレート生成部204は、s_Eとは独立に鍵ペア(sk2,pk2)を生成し、sk1を用いてsk2に対してsk1を鍵とする共通鍵暗号化又はpk1を鍵とする公開鍵暗号化により暗号化データEnc(sk2)を生成する。そのうえで、テンプレート生成部204は、テンプレートTを、Enc(sk2)とc_Eを含むデータとして決定する。
【0129】
次に、ステップS21201の鍵ペア生成処理において、鍵ペア生成部202は、s_Eを用いてsk1を生成し、sk1からpk1を生成する。そのうえで、鍵ペア生成部202は、sk:=(sk1,sk2)、pk:=(pk1,pk2)により、ステップS21201における鍵ペア(sk,pk)を決定する。
【0130】
ステップS51506の秘密鍵復元処理において、秘密鍵復元部505は、鍵復元用生体情報から鍵復元用特徴量x_Aを抽出し、x_Aと、テンプレートに含まれるc_Eと、を用いて登録時秘密鍵s_Eを復元する。そのうえで、秘密鍵復元部505は、s_Eを用いてsk1を生成し、s_Eを用いて、テンプレートに含まれるEnc(sk2)を復号することによりsk2を得る。これにより秘密鍵sk=(sk1,sk2)が復元できる。
【0131】
次に、ステップS11101の第1登録用照合情報生成処理と、ステップS51503の第1検証用照合情報生成処理と、ステップS51602の第1検証処理と、においては、例えば、任意の認証方式を用いることができる。具体例は以下の通りである。
【0132】
1つ目の具体例は、パスワードを用いた認証である。例えば、第1登録用照合情報生成部102は、ユーザから希望するパスワードの入力を受け付ける等の方法によりパスワードを生成し、入力されたパスワード又はパスワードに秘匿処理を施したものを第1登録用照合照合情報に決定する。第1検証用照合情報生成部503は、ユーザからパスワード入力を受け付け、入力されたパスワード又はパスワードに秘匿処理を施したものを第1検証用照合情報に決定する。第1検証部602は、入力されたパスワード(又は秘匿処理が施されたパスワード)の一致を検証し、一致するとき検証結果を「成功」、一致しないとき検証結果を「失敗」に決定する。
【0133】
2つ目の具体例は、所定の装置内に格納された秘密鍵を用いた認証方式である。例えば、第1登録用照合情報生成部102は、秘密鍵を作成し、作成された秘密鍵をユーザが持つ装置(例えば、PC(Personal Computer)やスマートフォン等のデバイスやIC(Integrated Circuit)カード)に格納し、秘密鍵を検証するための情報(例えば、秘密鍵に対する公開鍵)を第1登録用検証情報に決定する。但し、この例での秘密鍵及び公開鍵は、ステップS21201で生成される秘密鍵及び公開鍵とは異なる鍵である。
【0134】
第1検証用照合情報生成部503は、ユーザから秘密鍵が格納されたデバイスの提示を受け付け、秘密鍵に基づいて第1検証用照合情報(例えば、第1サーバ1600から受け取ったランダムなメッセージに対して秘密鍵を用いて作成した電子署名や、秘密鍵のハッシュ値等の所定の関数値)を生成する。この第1検証用照合情報生成処理は、鍵復元用端末1500に代えて、秘密鍵が格納された装置が生成してもよい。
【0135】
第1検証用照合情報が電子署名である場合、第1登録用検証情報に、秘密鍵に対応する公開鍵が含まれていれば、第1検証部602は、公開鍵と電子署名と署名対象のメッセージとの関係を検証できる。第1検証用照合情報が秘密鍵の所定の関数値である場合、第1登録用検証情報に、秘密鍵の当該関数値が含まれていれば、第1検証部602は、関数値の一致を検証することにより、秘密鍵が格納された装置が提示されたことを検証できる。
【0136】
3つ目の具体例は、鍵復元用端末1500と同一とは限らない、ユーザが所有する端末を用いた認証方式である。例えば、ワンタイムパスワードを用いた認証や、プッシュ認証を用いた認証が当該具体例として挙げられる。当該具体例においては、第1登録用照合情報を、ユーザの連絡先(メールアドレス又は電話番号など)や、ユーザが所有する端末にインストールされた認証用ソフトウェアに関する固有情報とする。
【0137】
ワンタイムパスワードを用いた認証の例は以下の通りである。第1検証用照合情報は、登録された連絡先宛に送信された、又はユーザが所有する端末に認証用ソフトウェアにより表示された、ワンタイムパスワード(ランダムな数字列や文字列等)である。第1検証部602は、正当なワンタイムパスワードを所定期間内に受信したとき「成功」と判定し、そうでないとき「失敗」と判定する。
【0138】
プッシュ認証を用いた認証の例は以下の通りである。ユーザが所有する端末は、第1サーバ1600から送信されたURLへのユーザのアクセスを受け付ける。また、ユーザが所有する端末は、認証を試みているかを尋ねる画面を表示し、ユーザから「はい」又は「いいえ」の選択を受け付けてもよい。第1検証部602は、一定期間内にURLへのアクセス又は「はい」の選択があったことを確認できた場合に「成功」と判定し、そうでないとき「失敗」と判定する。
【0139】
なお、このようなユーザが所有する端末を用いる方法においては、鍵復元用端末1500に代えて、ユーザが所有する端末が第1検証用照合情報を送信する場合もあることに注意すべきである。
【0140】
4つ目の具体例は、生体認証を用いる方法である。生体認証方式としては任意の方式を用いればよい。また、キャンセラブルバイオトリクス等の生体情報を漏洩から保護できる方式が用いられてもよい。また、それらを組み合わせた方式が用いられてもよい。
【0141】
例えば、第1登録用照合情報生成部102は、ユーザから第1登録用照合情報生成用生体情報の入力を受け付け、入力された第1登録用照合情報生成用生体情報に対して特徴量抽出処理(さらに、必要に応じて秘匿化処理等の符号化処理)を実行することにより、第1登録用照合情報を生成する。
【0142】
さらに、第1検証用照合情報生成部503は、ユーザから第1検証用照合情報生成用生体情報の入力を受け付け、入力された第1検証用照合情報生成用生体情報に対して特徴量抽出処理(さらに、必要に応じて秘匿化処理等の符号化処理)を実行することにより、第1検証用照合情報を生成する。
【0143】
なお、第1登録用照合情報生成用生体情報と第1検証用照合情報生成用生体情報は同一部位から取得されるものとする。第1検証部602は、第1登録用照合情報と第1検証用照合情報を照合し「成功」又は「失敗」と判定する。例えば、第1登録用照合情報が第1登録用照合情報生成用生体情報から抽出された特徴量であり、第1検証用照合情報が第1検証用照合情報生成用生体情報から抽出された特徴量である場合、第1検証部602は、例えば、特徴量同士の類似度を所定の方法に基づき計算し、類似度が所定の閾値を超えるとき「成功」と判定し、超えないとき「失敗」と判定する。
【0144】
5つ目、6つ目、7つ目の具体例を述べる。これらの具体例では、第1登録用照合情報はステップS21203で生成されるテンプレートの一部又は全部であり、鍵復元用生体情報を用いて第1検証用照合情報が生成される。このため、個人データ管理システム10は、第1照合情報用DB92を備えなくてもよい。
【0145】
また、第1照合情報登録用端末1100は、ステップS11101の第1登録用照合情報生成処理を実行せず、第1IDのみを第1サーバ1600に送信するようにしてもよい。また、個人データ管理システム10は、第1照合情報登録用端末1100を備えず、第1照合情報登録処理を実行せず、テンプレート登録用端末1200が第1ID取得部205の代わりに第1ID生成部103を備え、テンプレート登録処理において第1ID取得処理の代わりに第1ID生成処理を実行するようにしてもよい。
【0146】
5つ目の具体例では、第1検証部602が、テンプレートに含まれる第1登録用照合情報と、第1検証用照合情報とを用いて、登録用特徴量(登録用生体情報から抽出される特徴量)と鍵復元用特徴量(鍵復元用生体情報から抽出される特徴量)との距離の推定値を計算し、計算された距離の推定値が所定の閾値以下であれば「成功」と判定し、そうでなければ「失敗」と判定する。
【0147】
なお、ここでの距離は、数学的な距離の公理を満たすものに限られず、登録用特徴量と鍵復元用特徴量とが類似するとき値が小さくなり、類似しないとき値が大きくなるような任意の関数であってもよい。
【0148】
5つ目の具体例の詳細な例を説明する。テンプレート生成部204は、ステップS21203のテンプレート生成処理における、バイオメトリック暗号方式の登録処理の例として述べた方法で、第1登録用照合情報をc_E:=x_E+s_Eにより生成する。なお、テンプレート生成部204は、c_Eを含むようにテンプレートを定める。第1検証用照合情報生成部503は、鍵復元用生体情報から鍵復元用特徴量x_Aを抽出する。x_Aはx_Eと同様に、集合Xの要素であるとする。
【0149】
次に、第1検証用照合情報生成部503は、集合Sの要素である一時秘密鍵x_Aを、任意の方法で(例えば、登録時秘密鍵s_Eの生成方法として挙げた例のいずれかの方法で)生成する。そのうえで、第1検証用照合情報生成部503は、第1検証用照合情報をc_A:=x_A+s_Aにより生成する。
【0150】
x_Eとx_Aの距離を、距離を表す関数を用いてd(x_E-x_A,0)により定めるとする。第1検証部602は、x_Eとx_Aの距離の推定値f_2(c_E,c_A)をf_2(c_E,c_A):=d(c_E-c_A-f_1(c_E-c_A),0)と定める。x_Eとx_Aの距離が十分小さいときf_2=d(x_E-x_A,0)であるから、f_2(c_E,c_A)はx_Eとx_Aの距離の推定値となっている。
【0151】
6つ目の具体例では、第1検証部602が、第1登録用照合情報と第1検証用照合情報とに基づいて、ステップS21201で生成された秘密鍵と、ステップS51503の第1検証用照合情報生成処理のなかで生成された一時秘密鍵と、の差分の推定値を求め、求められた差分の推定値が正しいとき「成功」と判定し、正しくないとき「失敗」と判定する。
【0152】
6つ目の具体例の詳細例を説明する。テンプレート生成部204は、5つ目の具体例と同様にc_Eを生成する。また、整数全体の集合Zとし、gを有限体の乗法群の原始元とし、f_3をSからZへの線形写像とする。b_Eをb_E:=g^(f_3(s_E))により定める。但し、「^」はべき乗演算を表す。
【0153】
テンプレート生成部204は、テンプレートを(c_E,b_E)を含むデータとして定める。なお、b_Eの値が公開鍵に含まれている場合には、テンプレート生成部204は、テンプレートにb_Eを含めなくてもよい。次に、第1検証用照合情報生成部503は、5つ目の具体例と同様にs_A及びc_Aを生成する。さらにb_Aをb_A:=g^(f_3(s_A))により定める。そのうえで、第1検証用照合情報生成部503は、第1検証用照合情報を(c_A,b_A)の組として定める。
【0154】
次に、第1検証部602は、秘密鍵差分s_A-s_Eの推定値をf_4(c_E,c_A):=f_1(c_A-c_E)により計算する。そのうえで、第1検証部602は、g^(f_4(c_E,c_A))*b_E=b_A(但し「*」は積を表す)が成り立つとき「成功」と判定し、成り立たないとき「失敗」と判定する。
【0155】
7つ目の具体例は、Fuzzy Signatureを用いる方法である。この方法における第1検証用照合情報は、鍵復元用生体情報を用いて生成される署名であり、第1検証処理において署名検証が行われる。
【0156】
7つ目の具体例の詳細例を説明する。テンプレート生成部204は、6つ目の具体例と同様にs_E,c_E,b_Eを定め、テンプレートを(c_E,b_E)を含むデータとして定める。なお、b_Eの値が公開鍵に含まれている場合には、テンプレート生成部204は、テンプレートにb_Eを含めなくてもよい。
【0157】
次に、第1検証用照合情報生成部503は、6つ目の具体例と同様にs_A,c_A,b_Aを定める。さらに、第1検証用照合情報生成部503は、s_Aを鍵としたメッセージmに対する署名Sig(m,s_A)を生成する。但し、メッセージmは、例えば、第1サーバ1600がランダムに、又は日時情報と乱数を組み合わせる等の所定の規則に従って生成する値である。
【0158】
第1検証用照合情報生成処理の前に第1サーバ1600が鍵復元用端末1500にメッセージmを送信する。また、メッセージmは鍵復元用端末1500が生成してもよい。そのうえで、第1検証用照合情報生成部503は、第1検証用照合情報を(c_A,b_A,Sig(m,s_A))により定める。
【0159】
次に、第1検証部602は、秘密鍵差分s_A-s_Eの推定値をf_4(c_E,c_A):=f_1(c_A-c_E)により計算する。そのうえで、第1検証部602は、g^(f_4(c_E,c_A))*b_E=b_Aが成り立つかどうかを検証する。さらに、第1検証部602は、b_Aを一時秘密鍵に対する公開鍵として用いて、メッセージmと、署名Sig(m,s_A)との関係を検証する。第1検証部602は、これら2つの検証に成功したとき「成功」と判定し、そうでないとき「失敗」と判定する。
【0160】
5つ目から7つ目の具体例のように、第1登録用照合情報をテンプレートに含まれるデータにより定める方式が用いられると、第1登録用照合情報の格納が不要となるという効果がある。さらに、6つ目と7つ目の具体例では、ステップS51602の第1検証処理の成功条件を満たすようなc_Eとc_Aは、ステップS51506の秘密鍵復元処理の成功条件を満たすことが分かる。これにより、秘密鍵復元に失敗するようなc_Eとc_Aの組に対しては、S51602の時点で「失敗」と判定できるという効果がある。
【0161】
次に、ステップS31301の第2登録用照合情報と、ステップS51509の第2検証用照合情報生成処理と、ステップS51702の第2検証処理と、の組の具体例を説明する。
【0162】
1つ目の具体例は、ステップS11101の第1登録用照合情報生成処理と、ステップS51503の第1検証用照合情報生成処理と、ステップS51602の第1検証処理と、の組(第1処理の組と呼ぶ)に関する具体例を、ステップS31301の第2登録用照合情報と、ステップS51509の第2検証用照合情報生成処理と、ステップS51702の第2検証処理と、の組(第2処理の組と呼ぶ)に当てはめる方法である。
【0163】
第1処理の組と第2処理の組では、異なる処理が行われてもよいし、同一の処理が行われてもよい。同一の処理が含まれる場合、複数のDB(例えば第1照合情報用DB92と第2照合情報用DB94)に同一のデータを含むデータを格納する代わりに、1つのDBに格納されたデータを複数のサーバで共有してもよい。
【0164】
2つ目の具体例は、第2登録用照合情報が、ステップS21201で生成される秘密鍵に対するハッシュ値等の所定の関数値であり、第2検証用照合情報が、第2登録用照合情報生成と同一の関数を用いた、ステップS51506で復元された秘密鍵に対する関数値である例である。第2検証処理では、第2登録用照合情報と第2検証用照合情報とが一致するとき「成功」と判定され、そうでないとき「失敗」と判定される。
【0165】
3つ目の具体例は、第2登録用照合情報が、ステップS21201で生成される秘密鍵に対する公開鍵であり、第2検証用照合情報が、所定のメッセージ(例えば、第2検証用照合情報生成処理よりも前に第2サーバから送信された乱数)に対して、ステップS51506で復元された秘密鍵を用いて生成された署名である例である。
【0166】
第2検証処理では、公開鍵を用いて、当該メッセージと署名の関係が検証され、検証に成功したとき「成功」と判定され、そうでないとき「失敗」と判定される。なお、この具体例の場合、公開鍵は公開鍵用DB91に格納されているため、第2登録用照合情報は改めて格納されなくてもよい。ただし、第1IDと第2IDの関係、又は第2IDと公開鍵の関係を示す情報がいずれかの場所(例えば第2サーバ1700)に格納され、第2IDに対応する公開鍵が参照可能である。
【0167】
2つ目の具体例及び3つ目の具体例では、正しい秘密鍵が復元されたとき、鍵復元用端末1500は変換後個人データが受信可能であり、正しい秘密鍵が復元されないとき、鍵復元用端末1500は変換後個人データが受信不可能である。つまり、2つ目及び3つ目の具体例は、復元された秘密鍵を用いて個人データにアクセスする例である。
【0168】
次に、ステップS41404の個人データ変換処理と、ステップS51511の個人データ復元処理と、の具体例を説明する。
【0169】
1つ目の具体例では、ステップS41404において、個人データ変換部404は、ステップS49101で送信された公開鍵を用いて公開鍵暗号方式に基づく暗号化処理を実行することで、変換後個人データを生成する。S51511において、個人データ復元部508は、ステップS51506で復元された秘密鍵を用いて復号処理を行い、変換後個人データを復元する。
【0170】
2つ目の具体例では、ステップS41404において、個人データ変換部404は、ステップS51506の秘密鍵復元処理と同一の処理を行ったうえで、復元された秘密鍵を用いた暗号化を行う。但し、2つ目の具体例の処理が実行されるためには、個人データ登録用端末操作ユーザが、テンプレートを登録したユーザと同一人物であり、かつステップS49101よりも前に個人データ登録用端末1400がテンプレートを受信している必要がある。なお、個人データ登録用端末1400がテンプレートを受信する際には、ステップS51603のようにテンプレート送信可否決定処理が実行されたうえで、第1サーバ1600が個人データ登録用端末1400にテンプレートを送信する。
【0171】
3つ目の具体例は、恒等変換である。即ち、個人データ変換部404は、変換後個人データを、個人データと同一の値として定め、個人データ復元部508は、個人データを、変換後個人データと同一の値として復元する。
【0172】
なお、変換方法の2つ目の例及び3つ目の例のように、ステップS41404の変換処理において公開鍵が不要な場合には、ステップS41402の公開鍵要求処理及びステップS49101の公開鍵送信処理が省略される。
【0173】
また、1つ目及び2つ目の具体例では、正しい秘密鍵が復元されたとき、鍵復元用端末1500は正しい個人データを復元可能であり、正しい秘密鍵が復元されないとき、鍵復元用端末1500は正しい個人データを復元不可能である。つまり、1つ目及び2つ目の具体例は、復元された秘密鍵を用いて個人データにアクセスする例である。
【0174】
次に、ステップS51512の処理結果出力処理の具体例を説明する。処理結果出力処理の1つ目の例として、鍵復元用端末1500を構成する計算機70の出力装置75の一例であるディスプレイ画面に、処理結果が表示される。
【0175】
図8は、ステップS51603の結果が「送信許可」であり、かつステップS51703の結果が「送信許可」である場合において、ステップS51512においてディスプレイ画面に表示される処理結果表示画面の一例である。処理結果表示画面9100は、例えば、処理が成功したことを示すメッセージが表示されたブロック9110と、復元された個人データリストが表示されたブロック9120と、を含む。
【0176】
ブロック9120は、復元された個人データを表示するブロック9121、ブロック9122、及びブロック9123を含んでいる。なお、ブロック9121、ブロック9122、及びブロック9123には、それぞれ、「データE」、「データF」、「データG」と表示されているが、この表示内容は、例えば、個人データの名称やデータサイズ等の情報である。
【0177】
また、この例は、復元された個人データが3個の場合を示すものであるが、復元される個人データは任意の個数でよい。また、復元された個人データがフォルダ構造を持つとき、ブロック9120はフォルダ構造を表す図を表示してもよい。また、ブロック9121、ブロック9122、及びブロック9123のいずれかがユーザによって選択されたとき、選択されたブロックに対応する個人データの内容が表示されるようにしてもよい。
【0178】
図9は、ステップS51603のテンプレート送信可否判定処理の結果が「送信拒否」である場合、又はステップS51703の変換後個人データ送信可否決定処理の結果が「送信拒否」である場合に、ステップS51512においてディスプレイ画面に表示される処理結果表示画面の一例である。処理結果表示画面9200は、例えば、処理が失敗したことを示すメッセージが表示されたブロック9210と、もう一度処理を行うか尋ねる旨のメッセージが表示されたブロック9220を含む。
【0179】
ブロック9220には、「再試行」と表示されたブロック9221と、「中止」と表示されたブロック9222と、を含む。ユーザが「再試行」と表示されたブロック9221を選択したとき、個人データ管理システム10は、個人データ出力処理の最初又は途中から(例えば、ステップS51603のテンプレート送信可否判定処理の結果が「送信拒否」である場合には個人データ出力処理の最初から、ステップS51703の変換後個人データ送信可否決定処理の結果が「送信拒否」である場合には個人データ出力処理の最初から又はステップS51507から)処理を再度実行し、ユーザが「中止」と表示されたブロック9222を選択したとき、処理を中止する。
【0180】
なお、ブロック9210の表示内容は、「処理に失敗しました。」のように処理に失敗したことを直接的に表すものでもよいし、図9の例のように照合情報が不正(すなわち検証処理に失敗するもの)であることを表すものでもよいし、より具体的に、第1検証用照合情報と第2検証用照合情報のどちらが不正であるかを含めた表示であってもよい。
【0181】
処理結果出力処理の2つ目の例では、鍵復元用端末1500の通信装置76が、ネットワーク51又は他のネットワークを介して、他の装置に処理結果を送信する。ステップS51603の結果が「送信許可」であり、かつステップS51703の結果が「送信許可」である場合に、例えば、復元された個人データの一部又は全部が、処理結果として送信される。
【0182】
ステップS51603のテンプレート送信可否判定処理の結果が「送信拒否」である場合、又はステップS51703の変換後個人データ送信可否決定処理の結果が「送信拒否」である場合には、出力処理に失敗した旨を示すメッセージが、処理結果として送信される。
【0183】
なお、鍵復元用端末1500の通信装置76が他の装置に処理結果を送信する場合、鍵復元用端末1500を構成する計算機70の出力装置75の一例としてのディスプレイ画面が、処理結果に応じて図8の処理結果表示画面9100又は図9の処理結果表示画面9200を表示してもよいし、表示しなくてもよい。図8の処理結果表示画面9100又は図9の処理結果表示画面9200が表示される場合、表示内容は、個人データに関する情報(例えば図8のブロック9120)を含んでいてもよいし、含まなくてもよい。
【0184】
なお、個人データ管理システム10が備える各装置は、ユーザが所有するデバイスであってもよいし、役所、警察署、病院、若しくは学校等の公的機関、又は店舗、駅、空港、若しくは職場等に設置され、1人以上のユーザにより使用される可能性があるデバイスであってもよい。また、個人データ管理システム10が備える各装置として、PC(Personal Computer)、スマートフォン、タブレット型デバイス等の任意のデバイスを用いることができる。
【0185】
以下、本実施例の個人データ管理システム10のユースケースを説明する。1つ目のユースケースとして、ユーザが自身のデバイスを用いて第1照合情報登録処理及びテンプレート生成処理を実行したうえで、公的機関に所属する担当者が、公的機関内の端末を個人データ登録用端末1400として用いて、個人データ登録処理を実行する。個人データの例として、パスポート等の、公的機関が発行する文書が挙げられる。ユーザが所有するデバイスは、ステップS41402の処理を行うために必要な情報(例えば、公開鍵用DB91の場所に関する情報と、第1IDと、の組)をステップS41402の前に公的機関に送信する。また、ユーザが所有するデバイスは、公開鍵そのものを当該公的機関に送信してもよい。
【0186】
また、ユーザが所有するデバイスは、ステップS41406の変換後個人データ送信処理を実行するために必要な情報(例えば、第2サーバ1700の場所の情報)を、ステップS41406の前に当該公的機関に送信する。また、ユーザが所有するデバイスは、ユーザの連絡先(例えばメールアドレス)を当該公的機関に送信し、当該公的機関内の端末が、ステップS41404の個人データ変換処理までを実行した上で、ユーザの連絡先宛に変換後個人データを送信し、ユーザが所有するデバイスが、変換後個人データを受け取ったうえで、ステップS41406の変換後個人データ送信処理を実行してもよい。また、ユーザが所有するデバイスが、当該公的機関から個人データを受け取ったうえで、個人データ登録用端末1400として、個人データ登録処理を実行してもよい。
【0187】
このようにして、個人データ登録処理が完了した後、例えば、ユーザが所有するデバイスが、鍵復元用端末1500として、個人データ出力処理を実行する。ステップS51512の結果出力処理が、個人データをディスプレイに表示する処理であれば、個人データ出力処理により、ユーザは、自身の個人データの内容を目視確認することができる。
【0188】
また、ステップS51512の結果出力処理は、個人データを所定の人又は所定の組織に提示する処理を含んでもよい。具体的には、例えば、ステップS51512の結果出力処理が、銀行等のアカウント開設のための本人確認のため、当該銀行に提示する処理を含んでもよい。この場合、個人データが出力された画面を当該銀行の店員に提示してもよいし、復元された個人データをインターネット等の通信手段を介して当該銀行に送信してもよい。
【0189】
なお、上記のユースケースはあくまで一例であり、別の適用方法が用いられてもよい。例えば、公的機関や銀行に限らず、別の人又は組織を対象に処理が行われてもよいし、一部又は全部の処理を共用端末が実行してもよい。
【0190】
また、個人データ管理システム10がSSI(Self-sovereign Identity)を実現するためのシステムとして用いられてもよい。この場合、個人データはVC(Verifiable Credential)と呼ばれる証明書であってもよい。また、第1IDはDID(Decentralized Identifier)と呼ばれる、自己主権型で実装可能なIDでもよい。また、公開鍵用DB91はブロックチェーンや分散型台帳により実装されていてもよく、さらに公開鍵用DB91がDID Documentと呼ばれる形式のデータを格納し、DID Documentが公開鍵を含んでもよい。また、公開鍵は認証局により発行された公開鍵証明書として格納されていてもよい。
【0191】
個人データ管理システム10の2つ目のユースケースとして、以下のようなPCへのログイン管理システムが挙げられる。例えば、鍵復元用端末1500は、PC内部に備えられた装置であり、第2サーバ1700は、PCへのログインを管理する装置である。第2サーバ1700は、PC内部に備えられていてもよいし、ネットワークを介した別の場所に存在してもよい。
【0192】
個人データは、例えば、PCに保存された文書、図、又は音声等の任意のデータである。ステップS51703の処理はPCのログイン可否を決定する処理に相当する。ステップS51703で「送信許可」と決定されたとき、即ち、ログインに成功したとき、ステップS51512では、結果出力部509は、ログイン成功後の画面(例えばデスクトップ画面)を表示する。ステップS51703で「送信拒否」と決定されたとき、即ち、ログインに失敗したとき、ステップS51512では、結果出力部509は、ログイン失敗の旨を出力する。
【0193】
なお、本実施例において、ステップS51501の第1ID取得処理を不要とすることもでき、そのためには、処理内容を以下のように変更すればよい。以下、必要な変更点について説明する。
【0194】
ステップS51502では、鍵復元用端末通信部501は、送信するメッセージに第1IDを含めない。ステップS51601では、第1サーバ通信部601は、送信するメッセージに第1IDを含めない。ステップS59201では、第1照合情報用DB通信部921は、登録された全てのユーザの(第1ID,第1登録用照合情報)の組を第1サーバ1600に送信する。
【0195】
ステップS51602では、第1検証部602は、ステップS59201で送信された第1登録用照合情報を用いて検証処理を行い、鍵復元用第1ID(ステップS51604で送信される第1ID)を以下のように定める。
【0196】
検証に成功したユーザが1件であるとき、第1検証部602は、検証結果を「成功」に決定し、鍵復元用第1IDを、成功した第1登録用照合情報に対応する第1IDにより定める。検証に成功したユーザが存在しないとき、第1検証部602は、検証結果を「失敗」に決定する。
【0197】
検証に成功したユーザが2件以上のとき、第1検証部602は、例えば、検証結果を「成功」に決定し、検証に成功した第1登録用照合情報に対応する第1IDのうちから1つを所定の方法で選択したうえで、鍵復元用第1IDを、成功した第1登録用照合情報に対応する第1IDにより定める。検証に成功したユーザが2件以上のとき、第1検証部602は、検証結果を「失敗」に決定してもよい。
【0198】
例えば、生体認証を用いた検証において、検証に成功したユーザが2件以上のとき、第1検証部602は、第1登録用照合情報の生成に用いた生体情報と、第1検証用照合情報の生成に用いた生体情報と、の類似度が計算可能であれば、鍵復元用第1IDを、類似度が最も大きくなるような第1登録用照合情報に対応する第1IDにより定めてもよい。
【0199】
また、個人データ管理システム10に含まれる一部又は全部のDBが一体化していもよい。例えば、第1照合情報用DB92とテンプレート用DB93が一体化していてもよい。第1照合情報用DB92とテンプレート用DB93が一体化したDBは、第1IDと登録用第1照合情報とテンプレートとを紐付けて保持すればよい。同様に、第2照合情報用DB94と個人データ用DB95とが一体化していてもよい。
【0200】
また、上記した処理に同一の処理(例えば、同一データを取得、生成、送信、又は格納する処理)が含まれている場合、同一の処理を複数回行うのではなく、処理結果を共有するようにしてもよい。
【0201】
例えば、第1登録用照合情報とテンプレートとが共通のデータを含む場合、共通のデータの生成処理が1回だけ実行されるようにしてもよい。さらに、当該共通のデータは第1照合情報用DB92とテンプレート用DB93の両方に格納されてもよいし、一方のDBのみに格納されてもよい。当該一方のDBに格納されている当該共通のデータを、他方のDBが用いる必要があるときには、当該一方のDBが当該他方のDBに当該共通のデータを送信してもよい。第1登録用照合情報と第2登録用照合情報とが共通のデータを含む場合や、テンプレートと第2登録用照合情報とが共通のデータを含む場合も同様である。
【0202】
本実施例における個人データ管理システム10は以下の効果を奏する。第1検証処理の結果が「成功」の場合、即ち、鍵復元用端末1500において第1検証処理の結果が「成功」となるような第1検証用照合情報が生成された場合にのみ、第1サーバ1600が鍵復元用端末1500にテンプレートを送信する。
【0203】
テンプレートを登録したユーザによって鍵復元用端末1500が操作されていなければ、鍵復元用端末1500は、第1検証処理の結果が「成功」となるような第1検証用照合情報を生成するための適切なデータ(例えば、正しいパスワードや、テンプレートを登録したユーザの生体情報)の入力を受け付けることが困難である。つまり、鍵復元用端末1500が、テンプレートを登録したユーザ以外により操作されているとき、鍵復元用端末1500へのテンプレートのダウンロードが困難であるという効果を奏する。
【0204】
なお、本実施例では、鍵復元用端末1500は、秘密鍵復元処理を実行した後、復元された秘密鍵を用いて、暗号化されたデータの復号や、第2検証用照合情報生成処理におけるハッシュ値や署名の生成を実行するが、鍵復元用端末1500が、これらの処理に限らず、復元された秘密鍵を用いた任意の暗号学的処理を行う場合であっても、同様の効果がある。
【0205】
特に、複数の端末それぞれが鍵復元用端末1500となり得る場合(例えば、鍵復元用端末1500が、公共施設や店舗などの共用端末である場合や、ユーザが新たに入手した端末である場合等)には、鍵復元用端末1500それぞれがどのユーザによって使用されるかが事前に確定していないため、第1サーバ1600がどの鍵復元用端末1500にテンプレートを送信することが適切であるか、についての情報が事前に得られていない可能性が高い。このような場面では、上記した本実施例の方法が特に有効である。
【0206】
さらに、本実施例の方法は、以下の効果を奏する。ここで、テンプレートも個人データの一種と考えることができ、テンプレートの所有者は、テンプレートを登録したユーザであると考えることができる。
【0207】
本実施例のように、第1検証に成功した場合のみ、テンプレートへのアクセスが可能であり、さらに鍵復元用端末1500が復元された秘密鍵を用いて、個人データへのアクセス(変換後個人データの復号、及び変換後個人データのダウンロードのための第2検証用照合情報生成)を実行することにより、個人データの所有者であれば、(個人データがテンプレートである場合にも、そうでない場合にも)個人データへのアクセスが可能であり、所有者でない場合にはアクセス困難となる、という効果がある。
【0208】
さらに、第1検証用照合情報が生体情報から生成されるとき、ユーザは生体情報を入力するだけで個人データ出力処理を行うことができ、ユーザにとっての利便性が高い。なお、ユーザは、必要に応じて第1IDと第2IDに加え、第2サーバ1700の場所の情報も入力するが、前述した通りユーザは第1IDを必ずしも入力しなくてもよく、さらに後述の実施例3の方法が用いられると、ユーザは第2IDと第2サーバ1700の場所の情報も、入力不要とすることができる。
【0209】
さらに、第1登録用照合情報がテンプレートの一部又は全部であり、第1検証用照合情報が、復元用生体情報を用いて生成される場合には、第1登録用照合情報の保存が不要となるという効率面及びリソース面での効果と、個人データ出力処理においてユーザが第1検証用照合生成と秘密鍵復元のために異なる生体情報を入力しなくてよいという利便性向上の効果と、を奏する。
【0210】
さらに、第1検証処理が秘密鍵差分の検証処理である場合や、Fuzzy Signatureにおける署名検証処理である場合には、検証が成功した場合は正しい秘密鍵が復元可能となる。このため、第1検証処理が成功したにもかかわらず正しい秘密鍵が復元されないような無駄な場合をなくすことができるという効果がある。第1検証処理において、Fuzzy Signatureが用いられた場合、第1検証用照合情報に関するリプレイアタック(既に検証に成功した第1検証用照合情報を再送することにより、第1検証処理を「成功」とさせる攻撃)を防ぐことができるという効果も奏する。
【実施例0211】
以下、実施例1との相違点を主に説明し、実施例1と同様の点については適宜説明を省略する。実施例2では、実施例1の第2サーバ1700の役割を、第1サーバ1600が兼ねる。この場合、第1検証処理と第2検証処理を兼ねることができるため、個人データ管理システム10は、第2照合情報用DB94を含まなくてもよい。
【0212】
図10A及び図10Bは、実施例2における個人データ管理システム10の機能構成例を示すブロック図である。本実施例の個人データ管理システム10は、第2照合情報登録用端末1300と、第2照合情報用DB94と、第2サーバ1700と、個人データ用DB95と、を含まず、個人データ用DB95がネットワーク52に接続されている(ネットワーク53は不要である)点において、実施例の個人データ管理システム10と異なる。
【0213】
また、本実施例の個人データ管理システム10は、個人データ用DB95に代えて個人データ用DB96を含み、個人データ登録用端末1400に代えて個人データ登録用端末2400を含む点において、実施例1の個人データ管理システム10と異なる。個人データ用DB95及び個人データ登録用端末2400は、それぞれ、例えば、図2に示した計算機70によって構成される。
【0214】
個人データ用DB96は、いずれも機能部である、個人データ用DB通信部961及び変換後個人データ格納部962を含む。個人データ用DB通信部961及び変換後個人データ格納部962が実現する機能は、それぞれ、実施例1の個人データ用DB通信部951及び変換後個人データ格納部952が実現する機能と同様である。
【0215】
個人データ登録用端末2400は、例えば、個人データ登録用端末通信部411、第1ID取得部412、個人データ取得部413、及び個人データ変換部414を含む。個人データ登録用端末通信部411、第1ID取得部412、個人データ取得部413、及び個人データ変換部414が実現する機能は、それぞれ、実施例1の個人データ登録用端末通信部401、第1ID取得部402、個人データ取得部403、及び個人データ変換部404が実現する機能と同様である。
【0216】
また、本実施例の個人データ登録用端末2400は、第2ID取得部405を含まない点において実施例1の個人データ登録用端末1400と異なる。本実施例の鍵復元用端末1500は、第2ID取得部506と、第2検証用照合情報生成部507と、を含まない点において、実施例1の鍵復元用端末1500と異なる。
【0217】
なお、図面スペースの都合上、図10Aにおいては、公開鍵用DB91、第1照合情報用DB92、及びテンプレート用DB93それぞれの機能部の図示が省略され、図10Bにおいては、第1照合情報登録用端末1100、テンプレート登録用端末1200、及び鍵復元用端末1500それぞれの機能部の図示が省略されているが、図10A及び図10Bはいずれも同じ個人データ管理システム10の同じ機能構成例を示す。
【0218】
なお、図10A及び図10Bでは、個人データ管理システム10内の装置に接続されるネットワークが、ネットワーク51と、ネットワーク52と、により構成されているが、必ずしもこのような構成でなくてもよい。例えば、ネットワーク51と、ネットワーク52と、の一方のみが存在し、個人データ管理システム10に含まれる全ての装置が当該一方のネットワークに接続されていてもよい。
【0219】
実施例2における各処理の例を述べる。本実施例では、以下で説明する処理を除いて、実施例1の個人データ用DB95、個人データ用DB通信部951、及び変換後個人データ格納部952による処理は、それぞれ、個人データ用DB96、個人データ用DB通信部961、及び変換後個人データ格納部962によって実行される。また、本実施例では、以下で説明する処理を除いて、個人データ登録用端末1400、個人データ登録用端末通信部411、第1ID取得部412、個人データ取得部413、及び個人データ変換部414による処理は、それぞれ、個人データ登録用端末2400、個人データ登録用端末通信部411、第1ID取得部412、個人データ取得部413、及び個人データ変換部414によって実行される。
【0220】
まず、第1照合情報登録処理と、テンプレート登録処理と、は実施例1と同様である。また、第2照合情報登録処理は不要である。
【0221】
図11は、個人データ登録処理の一例を示すシーケンス図である。図6と同一の符号が付されたステップにおける処理は、図6と同様であるため説明を省略する。ステップS41404に続いて、ステップS61405では、個人データ登録用端末通信部411が、ステップS41401で取得された第1IDと、ステップS41404で生成された変換後個人データと、を第1サーバ1600に送信する。
【0222】
ステップS61601では、第1サーバ通信部601が、ステップS61405で送信された第1IDと変換後個人データとを、個人データ用DB96に送信する。ステップS69601では、変換後個人データ格納部962が、ステップS61601で送信された第1IDと変換後個人データとを紐づけて、個人データ用DB96を構成する計算機70の補助記憶装置73に格納する。
【0223】
図12A及び図12Bは、個人データ出力処理の一例を示すシーケンス図である。図7A及び図7Bと同一の符号が付されたステップにおける処理は、図7A及び図7Bと同様であるため説明を省略する。図面スペースの都合上、個人データ出力処理が図12A及び図12Bに別れて記載されているが、個人データ出力処理は、図12Aの処理の後に図12Bの処理が実行される、一連の処理である。
【0224】
ステップS51501に続いて、ステップS71502では、鍵復元用端末通信部501が、テンプレート及び変換後個人データを送信する旨を示すメッセージと、第1IDと、を第1サーバ1600に送信する。
【0225】
ステップS51603のテンプレート送信可否決定の結果が「送信拒否」のとき、ステップS51604からステップS59501の処理が実行されず、ステップS71605の処理に進む。ステップS59301に続いて、ステップS71704では、第1サーバ通信部601が、変換後個人データの送信を要求する旨を示すメッセージと、ステップS71502で送信された第1IDと、を個人データ用DB96に送信する。
【0226】
ステップS59501に続いて、ステップS71605では、第1サーバ通信部601が、以下で定められる第1応答を鍵復元用端末1500に送信する。ステップS51603の結果が「送信許可」であるとき、第1応答は、例えば、ステップS59301で送信されたテンプレートと、ステップS59501で送信された変換後個人データと、の組を含む。ステップS51603の結果が「送信拒否」であるとき、第1応答は、例えば、送信拒否の旨を示すメッセージを含む。
【0227】
ステップS71605で送信拒否を示す旨のメッセージが送信されたとき、個人データ管理システム10は、ステップS51505からステップS51511の処理を実行せず、ステップS71502に進む。
【0228】
ステップS51511に続いて、ステップS71512の処理が実行されるが、ステップS71512の処理はステップS51512の処理と同様である。但し、実施例1では、ステップS51603とステップS51703の処理結果に応じてステップS51512の処理が実行されていたが、本実施例では、ステップS51603の結果に応じてステップS71212の処理が実行されればよい。
【0229】
なお、ステップS71605の第1応答処理で、第1サーバ通信部601は変換後個人データを送信する代わりに、登録された変換後個人データの一覧を送信し、鍵復元用端末1500が、受信したい変換後個人データのユーザによる選択を受け付け、選択された変換後個人データがどれであるかを第1サーバ1600に送信し、第1サーバ1600が選択された変換後個人データを鍵復元用端末1500に送信するようにしてもよい。
【0230】
本実施例の方法によれば、テンプレートと個人データが1つのサーバで管理されている場合にも、実施例1と同様の効果を奏する。つまり、個人データの所有者であれば、(個人データがテンプレートである場合にも、そうでない場合にも)個人データへのアクセスが可能であり、所有者でない場合にはアクセス困難となる、という効果を奏する。
【実施例0231】
以下、実施例1及び実施例2との相違点を主に説明し、実施例1及び実施例2と同様の点については適宜説明を省略する。本実施例では、第1サーバ1600と第2サーバ1700のどちらにも個人データ用DBが接続されている。
【0232】
実施例3で実行される処理は、実施例1の処理に、実施例2における個人データ処理が追加されたものである。このため、実施例2における個人データを「追加個人データ」と呼び、実施例2における装置及び処理部に関して、追加個人データに関するものは、「個人データ」を「追加個人データ」と読み替える。例えば、追加個人データを登録するための実施例2における「個人データ登録用端末2400」を「追加個人データ登録用端末2400」と読み替え、実施例2における「個人データ用DB96」を「追加個人データ用DB96」と読み替える。
【0233】
図13は、本実施例の個人データ管理システム10の機能構成例を示すブロック図である。本実施例の個人データ管理システム10は、以下の点で実施例1の個人データ管理システム10と異なる。
【0234】
ネットワーク52に、追加個人データ用DB96がさらに接続され、ネットワーク51に追加個人データ登録用端末2400がさらに接続されている。追加個人データ用DB96が有する機能部は、実施例2における個人データ用DB96が有する機能部と同様であり、追加個人データ登録用端末2400が有する機能部は、実施例2における個人データ登録用端末2400が有する機能部と同様であるため、図示及び説明を省略する。
【0235】
また、第1照合情報登録用端末1100、テンプレート登録用端末1200、第2照合情報登録用端末1300、個人データ登録用端末1400、公開鍵用DB91、第1照合情報用DB92、テンプレート用DB93、第1サーバ1600、第2サーバ1700、及び個人データ用DB95が有する機能部は、実施例1と同様であるため図示及び説明を省略する。
【0236】
また、鍵復元用端末1500は、実施例1における鍵復元用端末1500と異なり、さらに機能部である追加個人データ復元部510を備える。追加個人データ復元部510は、実施例2における個人データ復元部508と同様の機能を実現する。
【0237】
なお、図13では、個人データ管理システム10内の装置に接続されるネットワークが、ネットワーク51と、ネットワーク52と、ネットワーク53と、により構成されているが、必ずしもこのような構成でなくてもよい。例えば、ネットワーク51と、ネットワーク52と、ネットワーク53と、のいずれか1つのみが存在し、個人データ管理システム10に含まれる全ての装置が当該1つのネットワークに接続されていてもよい。
【0238】
図13に示した個人データ管理システム10は、実施例1と同様の第1照合情報登録処理、テンプレート登録処理、第2照合情報登録処理、及び個人データ登録処理を実行することができ、さらに実施例2と同様の方法で追加個人データ登録処理を実行することができる。
【0239】
図14は、個人データ出力処理の一例を示すシーケンス図である。ステップS80001では、鍵復元用端末1500と、第1サーバ1600と、第1照合情報用DB92と、テンプレート用DB93と、追加個人データ用DB96と、が図12の追加個人データ出力処理におけるステップS51501からステップS51511までの処理(秘密鍵及び追加個人データ復元処理)を実行する。ステップS80001において、秘密鍵及び追加個人データの復元に成功したとき、ステップS80002に進み、そうでないとき、ステップS51512の処理に進む。
【0240】
ステップS80002では、鍵復元用端末1500と、第2サーバ1700と、第2照合情報用DB94と、個人データ用DB95と、が図7のステップS51507からステップS51511までの処理(個人データ復元処理)を実行する。ステップS51512の処理は、実施例1と同様である。
【0241】
実施例3において、復元された追加個人データを、個人データへのアクセスに用いることができる。その方法の例を述べる。1つ目の例では、追加個人データが第2サーバ1700の場所の情報を含む情報であり、ステップS51508の変換後個人データ要求の際に、追加個人データに含まれる第2サーバ1700の場所の情報を用いて、第2サーバ1700の場所が特定される。
【0242】
さらに、追加個人データが第2IDを含んでいれば、ステップS51507の第2ID取得処理は、復元された追加個人データに含まれる第2IDを参照することで完了する。このように、追加個人データが第2サーバ1700の場所の情報や第2IDを含むことにより、変換後個人データ要求処理や第2ID取得処理において、ユーザは第2サーバ1700の場所の情報や第2IDを入力する必要がなくなり、ユーザの利便性が向上する。
【0243】
2つ目の例では、追加個人データが第2検証用照合情報であるとする。これにより、ステップS51509の第2検証用照合情報生成処理は、追加個人データを参照することで完了する。このため、第2検証用照合情報生成処理で、ユーザがパスワードや生体情報等を入力する必要がなくなりユーザの利便性が向上する。
【0244】
なお、ステップS51506で復元された秘密鍵のハッシュ値等の所定の関数値や、当該秘密鍵を用いて生成された署名を第2検証用照合情報として用いる場合にも、ユーザがパスワードや生体情報等を入力することが不要となるという効果がある。また、追加個人データが第2検証用照合情報である場合には、第2検証用照合情報の種類を、秘密鍵のハッシュ値等の所定の関数値や署名に限定せず、パスワード等も含めてより柔軟に選択できるという効果もある。
【0245】
本実施例の方法によれば、個人データの所有者であれば、(個人データがテンプレートである場合にも、そうでない場合にも)個人データへのアクセスが可能であり、所有者でない場合にはアクセス困難となり、かつ第2サーバ1700との通信のためのユーザによる入力の受付を減らし、ユーザの利便性を向上できる。
【0246】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることも可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0247】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
【0248】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【0249】
10 個人データ管理システム、91 公開鍵用DB、92 第1照合情報用DB、93 テンプレート用DB、94 第2照合情報用DB、95 個人データ用DB、96 追加個人用データDB、1100 第1照合情報登録用端末、1200 テンプレート登録用端末、1300 第2照合情報登録用端末、1400 個人データ登録用端末、1500 鍵復元用端末、1600 第1サーバ、1700 第2サーバ、2400 追加個人データ登録用端末
図1A
図1B
図2
図3
図4
図5
図6
図7A
図7B
図8
図9
図10A
図10B
図11
図12A
図12B
図13
図14