JP2005252349A - 擬ゼロ知識証明法 - Google Patents
擬ゼロ知識証明法 Download PDFInfo
- Publication number
- JP2005252349A JP2005252349A JP2004056142A JP2004056142A JP2005252349A JP 2005252349 A JP2005252349 A JP 2005252349A JP 2004056142 A JP2004056142 A JP 2004056142A JP 2004056142 A JP2004056142 A JP 2004056142A JP 2005252349 A JP2005252349 A JP 2005252349A
- Authority
- JP
- Japan
- Prior art keywords
- person
- information
- prover
- verifier
- certifying
- 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.)
- Pending
Links
Images
Abstract
【課題】 一回の通信で証明者の秘密情報を、確率ゼロに近い漏洩危険の元で証明する。
【解決手段】
擬ゼロ知識証明を用いた本人認証法であって、(a) 秘密個人情報Iと一方向関数hの値h(I)を有する証明者はh(I)を有する検証者に証明者の認証を依頼し、(b) 検証者は乱数mを生成し、これと補助的情報xを証明者に送り、(c) 証明者は受け取ったm及びxと、秘密個人情報I及びh(I)を関数fに適用してy=f(I,h(I),m,x)を求め、(d) 検証者は確認関数Ver(y,h(I),m,x)を用いて、受け取ったy及び、h(I)と乱数mと補助情報xとから、yが正当かどうかを判定し、判定結果を証明者に通知することを特徴とする。
【選択図】 図1
【解決手段】
擬ゼロ知識証明を用いた本人認証法であって、(a) 秘密個人情報Iと一方向関数hの値h(I)を有する証明者はh(I)を有する検証者に証明者の認証を依頼し、(b) 検証者は乱数mを生成し、これと補助的情報xを証明者に送り、(c) 証明者は受け取ったm及びxと、秘密個人情報I及びh(I)を関数fに適用してy=f(I,h(I),m,x)を求め、(d) 検証者は確認関数Ver(y,h(I),m,x)を用いて、受け取ったy及び、h(I)と乱数mと補助情報xとから、yが正当かどうかを判定し、判定結果を証明者に通知することを特徴とする。
【選択図】 図1
Description
本発明は、1回の通信で証明者の秘密情報の証明を、暗号解読ができる程度の低い確率の漏洩危険のもとで行うことができる擬ゼロ知識証明法に関するものである。
クレジットカードにおける個人番号等の各種の認証を行うのにゼロ知識証明が利用されつつある。「ゼロ知識証明」とは、パスワード等、本人だけが知っている秘密情報を使った認証において、秘密情報を知っていることを、秘密情報自体は送受信することなく証明する方法である。インターネット等の開放型のネットワークでは、認証時にパスワード等をそのままやり取りすると盗まれる危険性があるため、ゼロ知識証明が使われることがある。具体的には、ゼロ知識証明は、検証者が乱数と秘密情報から演算した結果を質問の形で証明者に送り、証明者が回答を検証者に送るというテストを何度も繰り返すことで行われる。1回のテストでは秘密情報を知らない人が偶然パスする可能性があるが、何回(例えば約50回)も繰り返すことにより、確率的に本人である可能性を高めることができる。
ゼロ知識証明は、検証者を納得させ得る完全性、不正な証明の確率が2-nと著しく小さい健全性、及び検証者は証明者の秘密情報を知り得ないというゼロ知識性を満たすので、証明者の秘密情報を漏洩することなく証明できるという利点を有する。このため、ゼロ知識証明を利用した種々の暗号技術が提案されている。
特開平8-149124号(特許文献1)は、少なくとも情報提供者と利用者とを含むシステムにおいて、利用者(証明者)が情報提供者(検証者)に情報の配送を要求した時に、情報提供者がゼロ知識証明プロトコルに従って利用者の利用者認証を行なう過程と、情報提供者が利用者に配送する情報Mをゼロ知識証明プロトコル中における検査文Eに含めて送信し、利用者に情報を1ビット又は複数ビット単位で配送する過程と、情報提供者がゼロ知識証明プロトコルの通信履歴データHを記録管理する過程とを同時に行なう情報配送方法を提案している。利用者認証を行なう過程及び配送する過程は、利用者が初期応答文Xを情報提供者に送信し、情報提供者が利用者に配送する情報Mを利用者に送信し、利用者が情報Mを検査文Eとして、初期応答文Xと検査文Eと利用者の秘密情報Sとを用いて応答文Yを作成して情報提供者に送信し、情報提供者が情報Mを検査文Eとして、応答文Yは初期応答文Xと検査文Eと利用者の公開情報Iとに対する正しい応答になっているかを検査して、利用者の秘密情報Sを漏らすことなく、利用者は秘密情報Sを知っていることを認証するとともに、利用者が情報Mを確実に受信していることを確認することからなる配送確認プロセスを含む。情報提供者が利用者に送信する情報M又は暗号文Cは任意ビット長のサイズの複数個のブロックに分割され、各ブロックごとに独立して繰り返し配送確認プロセスが行なわれる。
しかしながら、検証者と証明者との通信は通常30回以上行われるので、証明者の情報端末が例えば携帯電話のように高速通信手段ではない場合、ゼロ知識証明を完了するのに要する時間が膨大になるという欠点がある。このため、携帯電話のようなモバイル機器を用いた本人証明のような用途に利用するのは事実上困難であった。
従って、本発明の目的は、一回の通信で証明者の秘密情報を、確率ゼロに近い漏洩危険の元で証明することである。このような方法を擬ゼロ知識証明法とよぶことにする。
本発明の擬ゼロ知識証明法の一例を図1を参照して説明する。証明者(例えば携帯機器の所有者)は検証者(例えばクレジット会社)に、証明者の秘密個人情報Iを漏らすことなく、秘密個人情報を持っている本人であることを次のようにして確認してもらう。まず一方向関数hと別の多変数関数fを考える。fも一方向関数である。h(I)は最初に交換するなどして両者が共有している。
(1) 証明者は名前を検証者に送り、証明者の認証を依頼する。 (2) 検証者は乱数mを生成し、これと補助的な情報xを証明者に送る。(3) 証明者は受け取ったm及びxと、秘密個人情報I及びその一方向関数h(I)とを関数fに適用して、y=f(I,h(I),m,x)を求め、これを検証者に送る。なおhは一方向関数であり、h(I)からIは求められない。またfも一方向関数であり、yとmとxとh(I)からIを求めることができないような関数である。(4) 検証者は確認関数Ver(y,h(I),m,x)を用いて、受け取ったy、及びh(I)、乱数m及び補助情報xから、yが正当かどうかを判定する。(5) 検証者は判定結果を証明者に通知する。
証明者の秘密個人情報Iは検証者とは別のところにあり、また検証者はyからIを求めることができないので、検証者から秘密個人情報Iが漏洩することはない。もちろん盗聴者にIが漏れることもなく、また秘密個人情報Iは関数fの実行ファイルの中に組み込むなどされており、たとえfを含む携帯端末を得てもIを見つけることは難しい。また計算及び通信は個人が所有する携帯端末を利用して行うので、本人の管理下で行え、関数fの盗みも難しい。最後の合否の通知は同じ携帯端末または別の経路の機器などで店に対しても行われるが、これらの情報は偽造等の不正に対しては全く意味がない。このように偽造などに対しても有効である。
また秘密個人情報Iは継続的に利用することができ、一方向性関数hとか関数fは容易に変更することができる。特に関数hとかfに鍵の部分も持たせると、鍵の変更によって多数の関数が容易に得られ、変更も簡単にできる。例えば携帯端末を交換したときにfとかhを変更すればより安全に破棄することができる。さらにxとか h(I) に相当するものを使用しないとか、xを固定化して証明者と検証者で最初から共有することなどもできる。
次に偽造とか不正使用にたいする効果について述べる。まず秘密個人情報Iは実行ファイルの中に組み込むなどの手法により容易には外部から得られないようにすることができる。また、計算及び通信は各個人の所有する携帯端末で行うので、所有者の管理下で認証がなされ、秘密情報が盗まれる危険性は非常に低い。ICカードなどに対しても、暗証番号の入力といった補助的な秘密個人情報を加えることにより容易に安全性を高めることができる。
本発明の擬ゼロ知識証明法は、本人の秘密情報を暴露しないで本人の認証を行うゼロ知識証明の特徴を利用しつつ、それを一回の通信で行うことができるので、携帯電話等の計算速度の遅い(又はメモリーの小さい)移動端末からでも迅速に本人の認証を行うことができる。もちろん家庭のパソコン端末においてもゼロ知識証明による50回程度の継続した通信はかなりの時間を要し、認証を必要とする多くの場面で活用できる。
以下、本発明の擬ゼロ知識証明法の具体例について詳述する。
本発明の擬ゼロ知識証明を用いた第一の本人認証法では、図2に示すように、(a) 証明者は、素数p、pを法とする原始元g、秘密個人情報I(1≦I≦p−1)、及び
y=gI mod p
をもち、(b) 検証者はp,g及びyをもち、(c) 検証者は乱数m(1≦m≦p−1)を証明者に送り、(d) 証明者はmと乱数k(1≦k≦p−1で kとp−1は互いに素)から、
r=gk mod p 及び s=(m−I・r)/k mod (p−1)
を計算し、この(r,s)を検証者に送り、(e) 検証者は受け取った(r,s)から
yr・rs=gm mod p
が成り立つかどうかを調べる。検証者は、成り立つ場合には証明者を本人と認証し、成り立たない場合には認証を拒否する。これにより擬ゼロ知識証明が実現される。なおこの例では、証明者と検証者が共有する(p,g,y)は上記補助的な情報xに相当し、h(I)は使用していない。
本発明の擬ゼロ知識証明を用いた第一の本人認証法では、図2に示すように、(a) 証明者は、素数p、pを法とする原始元g、秘密個人情報I(1≦I≦p−1)、及び
y=gI mod p
をもち、(b) 検証者はp,g及びyをもち、(c) 検証者は乱数m(1≦m≦p−1)を証明者に送り、(d) 証明者はmと乱数k(1≦k≦p−1で kとp−1は互いに素)から、
r=gk mod p 及び s=(m−I・r)/k mod (p−1)
を計算し、この(r,s)を検証者に送り、(e) 検証者は受け取った(r,s)から
yr・rs=gm mod p
が成り立つかどうかを調べる。検証者は、成り立つ場合には証明者を本人と認証し、成り立たない場合には認証を拒否する。これにより擬ゼロ知識証明が実現される。なおこの例では、証明者と検証者が共有する(p,g,y)は上記補助的な情報xに相当し、h(I)は使用していない。
ここでr及びsは大きな数字であるので、yr・rs=gm mod pが偶然成り立つ可能性はないと考えてよい。そのため、複数回の通信を行わなくても、証明者の本人確認をすることができる。
擬ゼロ知識証明を用いた第二の本人認証法では、図3に示すように、(a) 証明者は、素数pとq及びn=p・qを持ち、φ(n)=(p−1)(q−1)からa・b=1 modφ(n) となる数aとbを求めて数aを秘密情報として持ち、(b) 検証者はnとbを持ち、(c) 検証者は乱数m(1≦m<n)を証明者に送り、(d) 証明者は秘密数aと乱数mを用いて
s=ma mod n
を計算して、sの値を検証者に送り、(e) 検証者は、
sb=m mod n
が成り立つか否かを検証し、成り立つ場合には証明者を本人と認証し、成り立たない場合には本人の認証を拒否する。本方法では (n,b) が補助的な情報に相当し、h(I)はなく、(p,q,a)は個人秘密情報である。
s=ma mod n
を計算して、sの値を検証者に送り、(e) 検証者は、
sb=m mod n
が成り立つか否かを検証し、成り立つ場合には証明者を本人と認証し、成り立たない場合には本人の認証を拒否する。本方法では (n,b) が補助的な情報に相当し、h(I)はなく、(p,q,a)は個人秘密情報である。
擬ゼロ知識証明を用いた第三の本人認証法では、(a) 証明者は、h(k(z))=k(h(z))かつ h(a*b) = h(a)*h(b)となる2つの一方向関数hとkを持ち、さらに乱数I(1≦I≦N)を秘密情報として持ち、(b) 検証者は一方向関数kとhを持ち、(c) 検証者は乱数m(1≦m≦N)を証明者に送り、(d) 証明者は
y=k(m*I) (ただし、*はビット列の排他的論理和である。)
を計算して、yの値を検証者に送り、(e) 検証者は、
h(y)=k(h(m)*h(I))
が成り立つか否かを検証し、成り立つ場合には証明者を本人と認証し、成り立
たない場合には本人の認証を拒否する。なお、hとかkの例としては、N=smとするとき、hはsビット毎に排他的論理和をとってNビットをmビットにし、kは[1,2,…,m]上の置換で、sビットずつまとめ置換させてNビット上の置換とみなすようなものがある。
y=k(m*I) (ただし、*はビット列の排他的論理和である。)
を計算して、yの値を検証者に送り、(e) 検証者は、
h(y)=k(h(m)*h(I))
が成り立つか否かを検証し、成り立つ場合には証明者を本人と認証し、成り立
たない場合には本人の認証を拒否する。なお、hとかkの例としては、N=smとするとき、hはsビット毎に排他的論理和をとってNビットをmビットにし、kは[1,2,…,m]上の置換で、sビットずつまとめ置換させてNビット上の置換とみなすようなものがある。
本発明の擬ゼロ知識証明法はパソコン、クレジットカードに類する機能を備えた携帯電話とかICの組み込まれたクレジットカードによる買い物、支払いに対して利用可能である。買い物とか支払いに対する基本は、本人の認証を間違いや不正がないように行うことであり、その目的に本発明の擬ゼロ知識証明法を利用できる。
本発明の擬ゼロ知識証明法を用いた本人認証の具体例として、以下のものが挙げられる。クレジットカードに類する機能を備えた携帯電話による買い物と支払いの場合、証明者を携帯電話の所有者とし、検証者をクレジット会社とし、合否の通信の受け取りに店を追加して、上記第一の認証法を実行することができる。
またトラベラーズチェックの払い戻し又は再発行にも上記第一の認証法を実行することができる。トラベラーズチェックは紛失や盗難に会ったときに払い戻し又は再発行を受けることができるが、その際詐欺を防止するために正確な本人確認をする必要である。このときにはトラベラーズチェックの再発行を希望する人が証明者となり、トラベラーズチェックの発行会社が検証者となる。以下の手順を実行する。ただし、計算を実行するために、再発行を希望する人は計算ソフトを手持ちのパソコンにダウンロードするといったことが必要になる。
Claims (1)
- 擬ゼロ知識証明を用いた本人認証法であって、(a) 秘密個人情報Iと一方向関数hの値h(I)を有する証明者はh(I)を有する検証者に証明者の認証を依頼し、(b) 検証者は乱数mを生成し、これと補助的情報xを証明者に送り、(c) 証明者は受け取ったm及びxと、秘密個人情報I及びh(I)を関数fに適用してy=f(I,h(I),m,x)を求め、(d) 検証者は確認関数Ver(y,h(I),m,x)を用いて、受け取ったy及び、h(I)と乱数mと補助情報xとから、yが正当かどうかを判定し、判定結果を証明者に通知することを特徴とする本人認証法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004056142A JP2005252349A (ja) | 2004-03-01 | 2004-03-01 | 擬ゼロ知識証明法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004056142A JP2005252349A (ja) | 2004-03-01 | 2004-03-01 | 擬ゼロ知識証明法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005252349A true JP2005252349A (ja) | 2005-09-15 |
Family
ID=35032473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004056142A Pending JP2005252349A (ja) | 2004-03-01 | 2004-03-01 | 擬ゼロ知識証明法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005252349A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010067820A1 (ja) * | 2008-12-11 | 2010-06-17 | 日本電気株式会社 | ゼロ知識証明システム、ゼロ知識証明装置、ゼロ知識検証装置、ゼロ知識証明方法およびそのプログラム |
-
2004
- 2004-03-01 JP JP2004056142A patent/JP2005252349A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010067820A1 (ja) * | 2008-12-11 | 2010-06-17 | 日本電気株式会社 | ゼロ知識証明システム、ゼロ知識証明装置、ゼロ知識検証装置、ゼロ知識証明方法およびそのプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108270571B (zh) | 基于区块链的物联网身份认证系统及其方法 | |
AU2015308608B2 (en) | Methods for secure cryptogram generation | |
TWI497336B (zh) | 用於資料安全之裝置及電腦程式 | |
CN101300808B (zh) | 安全认证的方法和设置 | |
JP4680505B2 (ja) | 簡易音声認証方法および装置 | |
US6148404A (en) | Authentication system using authentication information valid one-time | |
EP0824814B1 (en) | Methods and apparatus for authenticating an originator of a message | |
KR100962399B1 (ko) | 익명 공개 키 기반구조 제공 방법 및 이를 이용한 서비스제공 방법 | |
CN1326354C (zh) | 利用瞬时模数的密码验证 | |
CN110400410A (zh) | 一种电子投票系统 | |
JP2000357156A (ja) | 認証シード配布のためのシステムおよび方法 | |
US20030070074A1 (en) | Method and system for authentication | |
CN113364597A (zh) | 一种基于区块链的隐私信息证明方法及系统 | |
CN108712259A (zh) | 基于身份的可代理上传数据的云存储高效审计方法 | |
JP2009272737A (ja) | 秘匿認証システム | |
JP2005122567A (ja) | デバイス間において認証用情報を委譲する情報処理方法及び情報処理システム | |
Dandash et al. | Fraudulent Internet Banking Payments Prevention using Dynamic Key. | |
KR20230088694A (ko) | 분산 원장에서의 익명성 취소를 통한 안전하고 추적 가능하며 개인 정보를 보호하는 디지털 통화 송금 방법 | |
WO2021019783A1 (ja) | 所有者同一性確認システム、端末および所有者同一性確認方法 | |
WO2021019782A1 (ja) | 所有者同一性確認システムおよび所有者同一性確認方法 | |
WO2021019781A1 (ja) | 所有者同一性確認システム、認証局サーバおよび所有者同一性確認方法 | |
JP2005252349A (ja) | 擬ゼロ知識証明法 | |
CN112311534A (zh) | 产生非对称算法密钥对的方法 | |
JP3889660B2 (ja) | 認証方法及び認証システム | |
Brickell et al. | ENHANCED PRIVACY ID: A REMOTE ANONYMOUS ATTESTATION SCHEME FOR HARDWARE DEVICES. |