JP7061083B2 - 署名システム、署名方法及びプログラム - Google Patents

署名システム、署名方法及びプログラム Download PDF

Info

Publication number
JP7061083B2
JP7061083B2 JP2019014861A JP2019014861A JP7061083B2 JP 7061083 B2 JP7061083 B2 JP 7061083B2 JP 2019014861 A JP2019014861 A JP 2019014861A JP 2019014861 A JP2019014861 A JP 2019014861A JP 7061083 B2 JP7061083 B2 JP 7061083B2
Authority
JP
Japan
Prior art keywords
signature
user
public
template
public template
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019014861A
Other languages
English (en)
Other versions
JP2020123856A5 (ja
JP2020123856A (ja
Inventor
健 長沼
仁志夫 山田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2019014861A priority Critical patent/JP7061083B2/ja
Publication of JP2020123856A publication Critical patent/JP2020123856A/ja
Publication of JP2020123856A5 publication Critical patent/JP2020123856A5/ja
Application granted granted Critical
Publication of JP7061083B2 publication Critical patent/JP7061083B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、署名システム、署名方法及びプログラムに関する。
P2P(Peer-to-Peer)ネットワーク上で分散型台帳管理を実現する技術として、ブロックチェーンがある。ブロックチェーンでは、記録情報を含むトランザクションを作成し、それを電子署名に基づき鎖状に繋ぐことで、記録情報の一貫性を確保している。管理者不在のP2P環境で台帳を管理する事で、銀行などの金融機関を必要とせずに、送金が可能な点が特徴である。
ブロックチェーンの一例として、Bitcoinのように、記録情報を保証するユーザが自らの秘密鍵でトランザクションに対して電子署名を付与することでチェーンを形成するシステムがある。このようなブロックチェーンシステムは、トランザクション内に含まれる公開鍵に基づき、トランザクションに対する電子署名を検証することで、正規のユーザがトランザクションを生成したか否かを判定する。
ブロックチェーンシステムでは、ユーザが自ら秘密鍵を用いて電子署名を生成することでトランザクションを生成するため、ユーザが当該秘密鍵を紛失した場合、正しいトランザクションを生成することができなくなり、継続的にシステムを利用することが困難となる。また、秘密鍵が盗難された場合は、秘密鍵を取得した第三者が不正にトランザクションを生成することが可能となり、なりすましを行うことが可能となる。
このような紛失や盗難が起きにくい情報に基づき公開鍵暗号を実現する方式として、特開2013-123142号公報(特許文献1)、及び特開2016-143152号公報(特許文献2)で開示されている生体署名がある。
生体署名は、指紋、静脈、顔などに代表される生体情報を鍵として、メッセージに対する署名生成や署名検証を実現する技術である。生体情報は人間の身体的な特徴をセンシングしたものであるため、中央集権環境で生体署名が行われる場合には、他の公開鍵暗号の秘密鍵に比べて紛失や盗難が発生しにくい。
特開2013-123142号公報 特開2016-143152号公報
しかし、生体署名を管理者不在の非中央集権環境で利用する際には、公開テンプレートの管理についての課題が存在する。生体署名を生成するための秘密鍵は、ユーザの公開テンプレートとユーザの生体情報を入力とする秘密鍵生成処理関数の出力として得られる。
一般にユーザの生体情報は、生体情報を取得するデバイスの特性やユーザの体調などで常にある程度の「ゆらぎ」を持っている。そのため、秘密鍵生成処理関数は、このゆらぎを吸収する機能を有する。しかし、この機能によって生体情報が似た他人でも、同一ユーザと判断されてしまう場合がある(他人受入と呼ばれる)。
例えば、秘密鍵生成処理関数において、ゆらぎを吸収した場合に100万人に1人の割合で同じ生体情報を持つ閾値を設定すると、攻撃者は100万人分の公開テンプレートを入手する事で、その中の誰か1人になりすます事が可能となる。
例えば、ユーザの利便性を考慮し、ネットワーク上のどの端末からでもトランザクションが生成可能なよう、公開テンプレートを誰でもアクセス可能なリポジトリやブロックチェーン自体に格納すると、攻撃者が100万人分の公開テンプレートを入手して、なりすましを行う可能性がある。
そこで、本発明の一態様は、ユーザの利便性を低下させずに、非中央集権環境において公開テンプレートを安全に管理することを目的とする。
上記課題を解決するために本発明の一態様は以下の構成を採用する。署名システムは、ユーザの署名の生成に用いられるデータを生成するユーザ登録装置を含み、前記ユーザ登録装置は、公開鍵暗号において公開鍵に対応する第1秘密鍵と、第2秘密鍵と、前記ユーザの生体情報と、を保持し、前記ユーザの生体情報と前記第1秘密鍵とに対して所定の処理を行って、前記ユーザの公開テンプレートを生成し、前記ユーザの公開テンプレートを前記第2秘密鍵で暗号化して、前記ユーザの暗号化公開テンプレートを生成し、前記ユーザの暗号化公開テンプレートを、前記データとして公開する。
本発明の一態様によれば、ユーザの利便性を低下させずに、非中央集権環境において公開テンプレートを安全に管理することができる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
実施例1におけるブロックチェーンシステムの構成例を示すブロック図である。 実施例1におけるユーザ登録端末のハードウェアの構成の一例を示すブロック図である。 実施例1における公開テンプレートの初期登録の処理手順の一例を示すシーケンス図である。 実施例1における暗号化公開テンプレートのデータフォーマットの一例を示す説明図である。 実施例1におけるトランザクション生成処理の一例を示すシーケンス図である。
以下、本発明の実施形態を図面に基づいて詳細に説明する。本実施形態において、同一の構成には原則として同一の符号を付け、繰り返しの説明は省略する。なお、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。
本実施形態のブロックチェーンシステムは、生体署名における公開テンプレート自体を暗号化してブロックチェーン上に格納することで、公開テンプレートを安全に管理しつつ、ブロックチェーンシステムを利用することができる。なお、ブロックチェーンシステム以外の分散台帳型ネットワーク、及び分散台帳技術を利用しない公開型データベースにおいても、即ち署名対象データが公開されているシステムにおいても、本実施形態の方式を適用することができる。
図1は、ブロックチェーンシステムの構成例を示すブロック図である。ブロックチェーンシステムは、例えば、ユーザ登録端末1000と、トランザクション生成端末1100と、トランザクション承認者端末1200と、を含み、これらの端末はインターネット等のネットワーク100によって相互に接続されている。なお、ユーザ登録端末1000と、トランザクション生成端末1100と、トランザクション承認者端末1200と、はいずれも複数台存在してもよい。トランザクション生成端末1100及びトランザクション承認者端末1200は、分散台帳ネットワークを形成するノードである。
ユーザ登録端末1000は、ユーザの生体情報から公開テンプレートを生成し、生成した公開テンプレートを暗号化する。ユーザ登録端末1000は、例えば、通信部1010と、生体情報取得部1020と、公開テンプレート生成部1030と、鍵ペア生成部1040と、暗号化データ生成部1050と、公開テンプレート証明書格納部1090と、を含む。
通信部1010は、ネットワーク100を介して他の端末と通信を行う。生体情報取得部1020は、例えば、指紋センサ、静脈センサ、又はカメラなどを介して、ユーザから指紋、静脈、顔画像などの、ユーザを所定の精度以上で識別可能な生体情報を取得する。なお、生体情報を取得するセンサとして、携帯電話やスマートフォンの指紋センサや静脈センサやカメラを用いることもできる。
公開テンプレート生成部1030は、例えば特許文献1に記載された方式に基づいて、生体情報取得部1020で取得した生体情報に対して一方向性(不可逆)変換を施すことで、公開テンプレートを生成する。
鍵ペア生成部1040は、公開鍵暗号方式をベースとする(例えばDSA、ECDSAなど)署名用秘密鍵と署名検証用公開鍵のペアを生成する。暗号化データ生成部1050は、入力データと、秘密鍵と、を入力として、共通鍵暗号方式(例えばAESなど)をベースとする入力データの秘密鍵による暗号化データを出力する。本実施例では、公開テンプレートを暗号化対象である入力データとする。
トランザクション生成端末1100は、分散台帳におけるトランザクションを生成し、生成したトランザクションに対してユーザの署名を付与する。トランザクション生成端末1100は、例えば、通信部1110と、トランザクション生成部1120と、署名生成部1130と、復号化データ生成部1140と、生体情報取得部1150と、署名用秘密鍵生成部1160と、を含む。
通信部1010は、ネットワーク100を介して他の端末と通信を行う。生体情報取得部1150は、ユーザ登録端末1000の生体情報取得部1020と同様の処理を実行する。
トランザクション生成部1120は、トランザクション承認者端末1200に送信するトランザクションデータを生成する。署名生成部1130は、署名用秘密鍵と、トランザクション生成部1120が出力したトランザクションデータと、を入力として、公開鍵暗号方式をベースとする(例えばDSA、ECDSAなど)電子署名値を出力する。
復号化データ生成部1140は暗号化された公開テンプレートと秘密鍵とを入力とし、共通鍵暗号方式(例えばAESなど)の復号化アルゴリズムを用いて、平文の公開テンプレートを出力する。
署名用秘密鍵生成部1160は、生体情報取得部1150が取得した生体情報と、復号化データ生成部1140が生成した平文の公開テンプレートと、を入力として、例えば特許文献1に記載された方式に基づいて、署名生成部1130の入力となる署名用秘密鍵を復元する。公開テンプレート格納部1190は、ユーザ登録端末1000の暗号化データ生成部1050によって生成された暗号化公開テンプレートを、格納する。
トランザクション承認者端末1200は、暗号化公開テンプレートを保管し、トランザクション生成端末1100が生成した署名が付与されたトランザクションの署名を検証する。トランザクション承認者端末1200は、例えば、通信部1210と、署名検証部1220と、公開テンプレート格納部1290と、トランザクションデータ格納部1291と、を含む。
通信部1210は、ネットワーク100を介して、他の端末と通信を行う。署名検証部1220は、トランザクション生成端末1100から送信されたトランザクションデータの電子署名を、公開鍵暗号方式をベースとする(例えばDSA、ECDSAなど)電子署名検証アルゴリズムに基づいて、署名検証を行う。
公開テンプレート格納部1290は、ユーザ登録端末1000内の暗号化データ生成部1050で生成された暗号化された公開テンプレートを受信し、格納する。トランザクション承認者端末1200は、P2P(Peer-to-Peer)ネットワーク上で複数のユーザが生成したトランザクションを格納しており、所謂ブロックチェーンシステムにおける分散台帳を管理しているP2Pノードである。
図2は、ユーザ登録端末1000のハードウェアの構成の一例を示すブロック図である。なお、トランザクション生成端末1100、及びトランザクション承認者端末1200のハードウェア構成は、例えば、ユーザ登録端末1000のハードウェア構成と同様であるため、説明を省略する。
ユーザ登録端末1000は、例えば、CPU1001と、補助記憶装置1002と、メモリ1003と、表示装置1005と、入出力インターフェース1006と、通信装置1007と、が内部信号線1004を介して接続されている計算機によって構成される。
CPU1001はプロセッサを含み、メモリ1003に格納されたプログラムを実行する。メモリ1003は、不揮発性の記憶素子であるROM及び揮発性の記憶素子であるRAMを含む。ROMは、不変のプログラム(例えば、BIOS)などを格納する。RAMは、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶素子であり、CPU1001が実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。
補助記憶装置1002は、例えば、磁気記憶装置(HDD)、フラッシュメモリ(SSD)等の大容量かつ不揮発性の記憶装置であり、CPU1001が実行するプログラム及びプログラムの実行時に使用されるデータを格納する。すなわち、プログラムは、補助記憶装置1002から読み出されて、メモリ1003にロードされて、CPU1001によって実行される。
例えば、CPU1001は、通信部1010と、生体情報取得部1020と、公開テンプレート生成部1030と、鍵ペア生成部1040と、暗号化データ生成部1050と、公開テンプレート証明書格納部1090と、を含む。例えば、CPU1001は、メモリ1003にロードされた通信プログラムに従って動作することで、通信部1010として機能し、メモリ1003にロードされた生体情報取得プログラムに従って動作することで、生体情報取得部1020として機能する。CPU1001に含まれる他の機能部についても同様である。
また、トランザクション生成端末1100及びトランザクション承認者端末1200に含まれる各機能部についても、同様に、メモリにロードされたプログラムに従ってCPUが動作することにより実現される。
入出力インターフェース1006は、キーボードやマウス、生体情報取得装置(例えば、指紋、虹彩、顔、又は手のひら静脈等の画像を取得するカメラ、及び声を取得するマイクロフォン等)などが接続され、ユーザからの入力を受けるインターフェースである。また、入出力インターフェース1006は、ディスプレイ装置やプリンタなどが接続され、プログラムの実行結果をユーザが視認可能な形式で出力するインターフェースなどを含む。
通信装置1007は、所定のプロトコルに従って、他の装置との通信を制御するネットワークインターフェース装置である。通信部1010による通信は通信装置1007によって実現される。また、通信装置1007は、例えば、USB等のシリアルインターフェースを含む。
CPU1001が実行するプログラムは、リムーバブルメディア(CD-ROM、及びフラッシュメモリなど)又はネットワークを介してユーザ登録端末1000に提供され、非一時的記憶媒体である不揮発性の補助記憶装置1002に格納される。このため、ユーザ登録端末1000は、リムーバブルメディアからデータを読み込むインターフェースを有するとよい。
なお、本実施形態において、ブロックチェーンシステムに含まれる各端末が使用する情報は、データ構造に依存せずどのようなデータ構造で表現されていてもよい。例えば、テーブル、リスト、データベース又はキューから適切に選択したデータ構造体が、情報を格納することができる。
ユーザ登録端末1000は、物理的に一つの計算機上で、又は、論理的又は物理的に構成された複数の計算機上で構成される計算機システムであり、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。他の端末についても同様である。また、ユーザ登録端末1000、トランザクション生成端末1100、及びトランザクション承認者端末1200の一部又は全部が1つの計算機によって実現されてもよい。
なお、本実施形態において、ブロックチェーンシステムが使用する情報は、データ構造に依存せずどのようなデータ構造で表現されていてもよい。例えば、テーブル、リスト、データベース又はキューから適切に選択したデータ構造体が、情報を格納することができる。
以下、本実施例の処理手順の一例を、図3~図5を参照しながら説明する。図3は、本実施例における、公開テンプレートの初期登録の処理手順の一例を示すシーケンス図である。本処理は、ユーザ登録端末1000がユーザから生体情報を取得し、公開テンプレートを生成、登録することで、その後ブロックチェーンシステムを利用可能とする処理である。
まず、ユーザ登録端末1000の生体情報取得部1020は、登録対象のユーザの生体情報を取得する(S310)。前述した通り、ユーザ登録端末1000には、指紋センサ、静脈センサ、又はカメラなどの生体情報を取得するためのセンサが接続されており、生体情報取得部1020は、これらのセンサから得られた、ユーザの指紋、静脈、顔画像などの生体情報を取得する。なお、取得する生体情報の種類はユーザごとに同じであってもよいし異なってもよい。
次に、ユーザ登録端末1000の鍵ペア生成部1040は、秘密鍵と公開鍵の鍵ペアを生成する(S320)。鍵ペア生成部1040は、例えば、RSA暗号、楕円暗号、などの公開鍵暗号方式に基づき、この鍵ペアを生成し、公開鍵を公開(即ちトランザクション生成端末1100及びトランザクション承認者端末1200によって取得可能な状態に)する。この鍵ペアの鍵は、それぞれ署名用秘密鍵と署名検証用公開鍵として用いられる。
次に、公開テンプレート生成部1030は、ステップS310で取得した生体情報と、ステップS320で生成した署名用秘密鍵と、を入力として、公開テンプレートを生成する(S330)。公開テンプレート生成部1030は例えば特許文献1に開示されている生体署名などを用いて、この公開テンプレートを生成する。以下、特許文献1に開示されている生体署名によって公開テンプレートが生成されていることを前提として説明する。
なお、生体署名においては、生体情報と秘密鍵を入力として、一方向変換を施すことで公開テンプレートが生成される。公開テンプレートを第三者が取得しても生体情報を復元することは非常に困難であるため、公開テンプレートは公開鍵と同様に公開情報として扱うことができる。
次に、暗号化データ生成部1050は、ステップS330で生成された公開テンプレートと秘密鍵とを入力とするAES(Advanced Encryption Standard)などの共通鍵暗号方式で公開テンプレートを暗号化し、暗号化公開テンプレートを生成する(S340)。なお、この暗号化に利用される秘密鍵は、後程、トランザクションを生成する際に、暗号化公開テンプレートを復号化するために利用する。また、この秘密鍵は、例えばユーザのパスワードなどのように、ユーザ自身が記憶している情報でもよい。
次に、通信部1010は、ステップS340で生成された暗号化公開テンプレートを一部又は全部のトランザクション承認者端末1200に送信する(S345)。次に、暗号化公開テンプレートを受信したトランザクション承認者端末1200は、当該暗号化公開テンプレートを公開テンプレート格納部1290に格納し(S350)、ユーザ登録処理を終了する。
なお、後述するように、トランザクション生成端末1100はトランザクション承認者端末1200から暗号化公開テンプレートを取得するため、暗号化公開テンプレートはトランザクション生成端末1100に対しても公開されている状態となっている。
図4は、暗号化公開テンプレートのデータフォーマットの一例を示す説明図である。暗号化公開テンプレートは、ステップS340で生成されるデータである。暗号化公開テンプレート4000は、例えば、バージョン4010、公開テンプレートシリアル番号4020、署名アルゴリズム4030、発行者4040、有効期限4050、サブジェクト4060、生体署名アルゴリズム4070、暗号化テンプレート4080、署名アルゴリズム4090、及び署名値4091を含む。
バージョン4010は公開テンプレート証明書のバージョンを例えば文字列で示す。公開テンプレートシリアル番号4020は、公開テンプレートに対して一意に割り振る文字列であり、重複しないように付与される。
なお、例えば、トランザクション承認者端末1200が、受信した暗号化公開テンプレート4000の公開テンプレートシリアル番号4020が重複していると判定した場合、当該暗号化公開テンプレート4000を生成したユーザ登録端末1000に、別の公開テンプレートシリアル番号を生成して、登録処理をやり直させることを命令する。なお、例えば、ユーザ登録端末1000のMACアドレス等に基づいて公開テンプレートシリアル番号4020が生成されることにより、重複しないように文字列を付与することもできる。
署名アルゴリズム4030は、公開テンプレートに対して付与する署名値4091を生成するアルゴリズムを示す。発行者4040は、公開テンプレートを発行する主体、つまり認証局を示す。認証局がブロックチェーンシステムに存在しない場合は、発行者4040はブランクであってもよい。
有効期限4050は、公開テンプレートの有効期限の日時を示す。サブジェクト4060は、公開テンプレートの主体者、つまり公開テンプレートを生成したユーザ登録端末1000のユーザのIDを示す。生体署名アルゴリズム4070は、ブロックチェーンシステムで使用されている署名に従った生体署名アルゴリズムを示す。
暗号化テンプレート4080は、ステップS340にて生成された暗号化されたテンプレートのデータ本体を示す。後程、このデータの平文と、ユーザの生体情報と、を入力とする署名用秘密鍵生成アルゴリズムと、を用いて、ステップS320の鍵ペア生成処理で生成した署名用秘密鍵を生成する。
署名アルゴリズム4090は、署名アルゴリズム4030と同じく、公開テンプレートに対して付与する署名値4091を生成するアルゴリズムを示す。署名値4091は、9010~9080までのデータをハッシュ関数(例えば、SHA1、SHA256など)へ入力し、得られたハッシュ値を認証局の秘密鍵で変換して得られる値である。認証局がブロックチェーンシステムに存在しない場合は、署名値4091はブランクであってもよい。
なお、暗号化公開テンプレート4000は、前述した全てのデータを含んでいる必要はない。暗号化公開テンプレート4000は、ユーザを特定する情報(例えばユーザIDを示すサブジェクト4060、又は公開テンプレートシリアル番号4020等)と、暗号化テンプレート4080と、のみを含んでいてもよい。
図5は、図3で示したユーザ登録が完了した後に実施されるトランザクション生成処理の一例を示すシーケンス図である。トランザクション生成端末1100は、ユーザから生体情報の入力を受け付けて生体署名を生成するが、その際、公開テンプレートをブロックチェーンであるトランザクション承認者端末1200から取得する。以降、図を参照して処理の詳細を説明する。
トランザクション生成端末1100の生体情報取得部1150は、トランザクションを生成するユーザの生体情報を取得する(S410)。次に、トランザクション生成端末1100の通信部1110は、このユーザの暗号化テンプレートを取得する要求を、一部又は全部のトランザクション承認者端末1200に送信する(S415)。なお、ステップS415におけるトランザクション取得要求は、ユーザを特定する情報(例えばユーザID又は公開テンプレートシリアル番号等)を含む。
次に、トランザクション承認者端末1200が暗号化テンプレート要求を受信したら、暗号化公開テンプレート検索処理を実行し(S420)、通信部1210は、検索処理において検索された当該ユーザの暗号化公開テンプレートをトランザクション生成端末1100に返信する(S425)。
なお、トランザクション生成端末1100は、トランザクション取得要求を送信してから所定時間が経過しても、暗号化公開テンプレートをトランザクション承認者端末1200から受信しない場合には、例えば、他のトランザクション承認者端末1200にトランザクション取得要求を再送してもよい。
次に、トランザクション生成端末1100の復号化データ生成部1140は、受信した暗号化公開テンプレートを復号化することにより、当該ユーザの公開テンプレートを生成する(S430)。なお、この復号化処理に必要なステップS340で使用した秘密鍵として、ユーザのパスワードが利用された場合、トランザクション生成端末1100はユーザから別途パスワードの入力を受け付けてもよいし、ICカードなどに予め保存されたパスワードを、ステップS430の復号化処理中に用いて、当該パスワードの入力を受け付けてもよい。
次に、署名用秘密鍵生成部1160は、ステップS410で取得した生体情報と、ステップS430で生成した公開テンプレートと、を入力として、例えば特許文献1又は特許文献2に記載された秘密鍵生成方法を用いて、ステップS320で生成した署名用秘密鍵を復元する(S440)。
次に、トランザクション生成部1120は、トランザクション生成処理を実行して、署名対象のデータであるトランザクションデータを生成する(S450)。このトランザクションデータは、Bitcoinなどのトランザクションデータとしてもよい。
次に、署名生成部1130は、ステップS440で生成した署名用秘密鍵を用いて、ステップS450で生成したトランザクションデータに対して、公開鍵暗号方式(例えばDSA、ECDSAなど)をベースとする電子署名を生成し、トランザクションデータに電子署名を付与し(S460)、トランザクション生成処理が終了する。
その後、図5のトランザクション生成処理で生成された、ユーザの電子署名が付与されたトランザクションは、トランザクション生成端末1100からトランザクション承認者端末1200に送信される。トランザクション承認者端末1200の署名検証部1220が当該トランザクションの電子署名の正当性を確認した後、トランザクション承認者端末1200によってブロックチェーンにおけるトランザクション承認処理(PoW(Proof of Work)など)が行われ、分散台帳に記載される。
なお、例えば、本実施例では、暗号化公開テンプレートはトランザクション承認者端末1200の公開テンプレート格納部1290に保存されているが、図3のユーザ登録処理の際にユーザ登録端末1000が、暗号化公開テンプレートをトランザクション生成端末1100に送信し、トランザクション生成端末1100の公開テンプレート格納部1190に暗号化公開テンプレートが保存されてもよい。
また、例えば、本実施例では、ステップS430暗号化公開テンプレート復号化処理において暗号化公開テンプレートの復号化に利用する共通鍵暗号方式の秘密鍵がユーザから入力されるパスワードであるものとしたが、図3のユーザ登録時にトランザクション生成端末1100に暗号化に利用した秘密鍵を送信し、この秘密鍵を公開テンプレート格納部1190に保存し、ステップS430暗号化公開テンプレート復号化処理時に、ユーザが秘密鍵を入力する処理を省いてもよい。
以上、本実施例のブロックチェーンシステムは、公開テンプレートを秘密鍵で暗号化した状態で公開するため、攻撃者は公開テンプレートそのものを入手することができず、なりすましを防止することができる。さらに、トランザクション生成端末1100に秘密鍵の入力されることで、暗号化公開テンプレートを復号化して、生体署名を実行することができるため、ユーザの利便性を損なうこともない。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることも可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、又は、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
1000 ユーザ登録末、1020 生体情報取得部、1030 公開テンプレート生成部、1040 暗号化データ生成部、1100 トランザクション生成端末、1120 トランザクション生成部、1130 署名生成部、1140 復号化データ生成部、1150 生体情報取得部、1160 署名用秘密鍵生成部、1200 トランザクション承認者端末、1220 署名検証部、1290 公開テンプレート格納部

Claims (9)

  1. 署名システムであって、
    ユーザの署名の生成に用いられるデータを生成するユーザ登録装置と、
    署名対象データに対する前記署名を生成する署名生成装置と、
    前記署名を検証する署名検証装置と、を含み、
    前記ユーザ登録装置は、
    公開鍵暗号において公開鍵に対応する第1秘密鍵と、
    第2秘密鍵と、
    前記ユーザの生体情報と、を保持し、
    前記ユーザの生体情報と前記第1秘密鍵とに対して所定の処理を行って、前記ユーザの公開テンプレートを生成し、
    前記ユーザの公開テンプレートを前記第2秘密鍵で暗号化して、前記ユーザの暗号化公開テンプレートを生成し、
    前記ユーザの暗号化公開テンプレートを、前記データとして公開し、
    前記署名生成装置は、
    前記ユーザの生体情報と、前記署名対象データと、前記公開鍵と、前記第2秘密鍵と、を保持し、
    前記公開された前記ユーザの暗号化公開テンプレートを取得し、
    前記第2秘密鍵を用いて前記ユーザの暗号化公開テンプレートを復号化することにより、前記ユーザの公開テンプレートを取得し、
    前記ユーザの公開テンプレートと前記ユーザの生体情報とに対して所定の処理を行って、前記第1秘密鍵を生成し、
    前記生成した第1秘密鍵を用いて前記署名対象データに対する前記署名を生成し、
    前記署名を付与した前記署名対象データを、前記署名検証装置に送信し、
    前記署名検証装置は、
    前記公開鍵を保持し、
    前記公開鍵を用いて、前記署名検証装置から受信した署名対象データに付与された前記署名を検証する、署名システム。
  2. 請求項1に記載の署名システムであって、
    前記暗号化公開テンプレートは、分散台帳におけるトランザクションに付与される前記ユーザの署名生成に用いられる、署名システム。
  3. 請求項1に記載の署名システムであって、
    前記ユーザ登録装置は、
    前記ユーザの暗号化公開テンプレートを、前記署名検証装置に送信し、
    前記署名生成装置は、前記署名検証装置から、前記ユーザの暗号化公開テンプレートを取得する、署名システム。
  4. 請求項1に記載の署名システムであって、
    前記署名生成装置は、
    分散台帳ネットワークのノードであり、
    前記署名対象データは、分散台帳におけるトランザクションである、署名システム。
  5. 署名システムによる署名方法であって、
    前記署名システムは、
    ユーザの署名の生成に用いられるデータを生成するユーザ登録装置と、
    署名対象データに対する前記署名を生成する署名生成装置と、
    前記署名を検証する署名検証装置と、を含み、
    前記ユーザ登録装置は、
    公開鍵暗号において公開鍵に対応する第1秘密鍵と、
    第2秘密鍵と、
    前記ユーザの生体情報と、を保持し、
    前記署名生成装置は、前記ユーザの生体情報と、前記署名対象データと、前記公開鍵と、前記第2秘密鍵と、を保持し、
    前記署名検証装置は、前記公開鍵を保持し、
    前記署名方法は、
    前記ユーザ登録装置が、前記ユーザの生体情報と前記第1秘密鍵とに対して所定の処理を行って、前記ユーザの公開テンプレートを生成し、
    前記ユーザ登録装置が、前記ユーザの公開テンプレートを前記第2秘密鍵で暗号化して、前記ユーザの暗号化公開テンプレートを生成し、
    前記ユーザ登録装置が、前記ユーザの暗号化公開テンプレートを、前記データとして公開し、
    前記署名生成装置が、前記公開された前記ユーザの暗号化公開テンプレートを取得し、
    前記署名生成装置が、前記第2秘密鍵を用いて前記ユーザの暗号化公開テンプレートを復号化することにより、前記ユーザの公開テンプレートを取得し、
    前記署名生成装置が、前記ユーザの公開テンプレートと前記ユーザの生体情報とに対して所定の処理を行って、前記第1秘密鍵を生成し、
    前記署名生成装置が、前記生成した第1秘密鍵を用いて前記署名対象データに対する前記署名を生成し、
    前記署名生成装置が、前記署名を付与した前記署名対象データを、前記署名検証装置に送信し、
    前記署名検証装置が、前記公開鍵を用いて、前記署名検証装置から受信した署名対象データに付与された前記署名を検証する、署名方法。
  6. 請求項5に記載の署名方法であって、
    前記暗号化公開テンプレートは、分散台帳におけるトランザクションに付与される前記ユーザの署名の生成に用いられる、署名方法。
  7. 請求項5に記載の署名方法であって、
    前記ユーザ登録装置は、
    前記ユーザの暗号化公開テンプレートを、前記署名検証装置に送信し、
    前記署名生成装置は、前記署名検証装置から、前記ユーザの暗号化公開テンプレートを取得する、署名方法。
  8. 請求項5に記載の署名方法であって、
    前記署名生成装置は、
    分散台帳ネットワークのノードであり、
    前記署名対象データは、分散台帳におけるトランザクションである、署名方法。
  9. 署名システムを制御するプログラムであって
    前記署名システムは、
    ユーザの署名の生成に用いられるデータを生成するユーザ登録装置と、
    署名対象データに対する前記署名を生成する署名生成装置と、
    前記署名を検証する署名検証装置と、を含み、
    前記ユーザ登録装置は、
    公開鍵暗号において公開鍵に対応する第1秘密鍵と、
    第2秘密鍵と、
    ユーザの生体情報と、を保持し、
    前記署名生成装置は、前記ユーザの生体情報と、前記署名対象データと、前記公開鍵と、前記第2秘密鍵と、を保持し、
    前記署名検証装置は、前記公開鍵を保持し、
    前記プログラムは、
    前記ユーザの生体情報と前記第1秘密鍵とに対して所定の処理を行って、前記ユーザの公開テンプレートを生成する手順と、
    前記ユーザの公開テンプレートを前記第2秘密鍵で暗号化して、前記ユーザの暗号化公開テンプレートを生成する手順と、
    前記ユーザの暗号化公開テンプレートを、前記ユーザの署名の生成に用いられるデータとして公開する手順と、を前記ユーザ登録装置に実行させ、
    前記公開された前記ユーザの暗号化公開テンプレートを取得する手順と、
    前記第2秘密鍵を用いて前記ユーザの暗号化公開テンプレートを復号化することにより、前記ユーザの公開テンプレートを取得する手順と、
    前記ユーザの公開テンプレートと前記ユーザの生体情報とに対して所定の処理を行って、前記第1秘密鍵を生成する手順と、
    前記生成した第1秘密鍵を用いて前記署名対象データに対する前記署名を生成する手順と、
    前記署名を付与した前記署名対象データを、前記署名検証装置に送信する手順と、を前記署名生成装置に実行させ、
    前記公開鍵を用いて、前記署名検証装置から受信した署名対象データに付与された前記署名を検証する手順を、前記署名検証装置に実行させる、プログラム。
JP2019014861A 2019-01-30 2019-01-30 署名システム、署名方法及びプログラム Active JP7061083B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019014861A JP7061083B2 (ja) 2019-01-30 2019-01-30 署名システム、署名方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019014861A JP7061083B2 (ja) 2019-01-30 2019-01-30 署名システム、署名方法及びプログラム

Publications (3)

Publication Number Publication Date
JP2020123856A JP2020123856A (ja) 2020-08-13
JP2020123856A5 JP2020123856A5 (ja) 2021-07-26
JP7061083B2 true JP7061083B2 (ja) 2022-04-27

Family

ID=71993686

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019014861A Active JP7061083B2 (ja) 2019-01-30 2019-01-30 署名システム、署名方法及びプログラム

Country Status (1)

Country Link
JP (1) JP7061083B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024161526A1 (ja) * 2023-01-31 2024-08-08 日本電気株式会社 サーバ装置、システム、サーバ装置の制御方法及び記憶媒体

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013084034A (ja) 2011-10-06 2013-05-09 Hitachi Ltd テンプレート配信型キャンセラブル生体認証システムおよびその方法
JP2013123142A (ja) 2011-12-12 2013-06-20 Hitachi Ltd 生体署名システム
JP2014191509A (ja) 2013-03-26 2014-10-06 Toshiba Corp 情報処理装置、情報処理プログラム
JP2016129302A (ja) 2015-01-09 2016-07-14 日本電信電話株式会社 署名生成装置、署名システム、署名生成方法、およびプログラム
WO2018016160A1 (ja) 2016-07-21 2018-01-25 株式会社日立製作所 署名検証システム、署名検証方法及び記憶媒体
US20180152297A1 (en) 2016-11-01 2018-05-31 Netcomm Inc. System and Method For Digitally Signing Documents Using Biometric Data in a Blockchain or PKI

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013084034A (ja) 2011-10-06 2013-05-09 Hitachi Ltd テンプレート配信型キャンセラブル生体認証システムおよびその方法
JP2013123142A (ja) 2011-12-12 2013-06-20 Hitachi Ltd 生体署名システム
JP2014191509A (ja) 2013-03-26 2014-10-06 Toshiba Corp 情報処理装置、情報処理プログラム
JP2016129302A (ja) 2015-01-09 2016-07-14 日本電信電話株式会社 署名生成装置、署名システム、署名生成方法、およびプログラム
WO2018016160A1 (ja) 2016-07-21 2018-01-25 株式会社日立製作所 署名検証システム、署名検証方法及び記憶媒体
US20180152297A1 (en) 2016-11-01 2018-05-31 Netcomm Inc. System and Method For Digitally Signing Documents Using Biometric Data in a Blockchain or PKI

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
淵田 康之,特集:イノベーションと金融 ブロックチェーンと金融取引の革新,野村資本市場クォータリー,日本,株式会社野村資本市場研究所,2015年11月01日,第19巻第2号(通巻74号),p.11-35

Also Published As

Publication number Publication date
JP2020123856A (ja) 2020-08-13

Similar Documents

Publication Publication Date Title
JP6921222B2 (ja) Id情報に基づく暗号鍵管理
WO2018016160A1 (ja) 署名検証システム、署名検証方法及び記憶媒体
JP2019057271A (ja) ブロックチェーン式多要素個人身元認証を実現するシステム及び方法
JP6821516B2 (ja) 計算機システム、秘密情報の検証方法、及び計算機
KR102284396B1 (ko) 생체 정보 기반의 pki 키 생성 방법 및 이를 이용한 키 생성 장치
CN114785511A (zh) 证明生成方法及装置、电子设备、存储介质
CN112800477A (zh) 一种基于生物特征值的数据加解密系统及方法
JP7250960B2 (ja) ユーザのバイオメトリクスを利用したユーザ認証および署名装置、並びにその方法
JP4763465B2 (ja) 個人認証装置及びサーバ装置及び認証システム及び認証方法
JP7060449B2 (ja) 生体認証システム、生体認証方法、及び生体認証プログラム
JP7061083B2 (ja) 署名システム、署名方法及びプログラム
CN114268447A (zh) 一种文件传输方法、装置、电子设备和计算机可读介质
JPWO2020121459A1 (ja) 認証システム、クライアントおよびサーバ
WO2021106334A1 (ja) 鍵生成装置、鍵利用装置、及び鍵生成方法
JP2023031772A (ja) 生体認証システム、生体認証サーバ、及び生体認証方法
Neha et al. An efficient biometric based remote user authentication technique for multi-server environment
CN112631552A (zh) 基于不均匀随机源的随机数生成、再生方法及电子装置
JP4999472B2 (ja) 情報処理装置及び演算方法
JP7320101B2 (ja) 計算機システム、サーバ、端末、プログラム、及び情報処理方法
JP7021375B2 (ja) 計算機システム、秘密情報の検証方法、及び計算機
WO2024014017A1 (ja) メッセージ提示システム、提示用装置、及びメッセージ提示方法
WO2024157662A1 (ja) メッセージ提示システム及びメッセージ提示方法
JP2023125727A (ja) テンプレート管理システム及びテンプレート管理方法
JP2023023398A (ja) 情報処理装置、情報処理システム、及び情報処理方法
Soni et al. Review of authentication mechanisms in cloud computing

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210521

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210521

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220323

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220412

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220415

R150 Certificate of patent or registration of utility model

Ref document number: 7061083

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150