JPH07336348A - Authentication device and authentication method - Google Patents
Authentication device and authentication methodInfo
- Publication number
- JPH07336348A JPH07336348A JP6151583A JP15158394A JPH07336348A JP H07336348 A JPH07336348 A JP H07336348A JP 6151583 A JP6151583 A JP 6151583A JP 15158394 A JP15158394 A JP 15158394A JP H07336348 A JPH07336348 A JP H07336348A
- Authority
- JP
- Japan
- Prior art keywords
- random number
- data
- verifier
- information
- user
- 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
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、例えばICカード等の
通信型の電子装置において、何らかの身元証明、確認を
行う際、その正当性を確認する認証装置および認証方法
に関し、特に安全性が高く、通信量を節約することがで
きる効率の良い利用者認証方式に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an authentication device and an authentication method for confirming the authenticity of some type of identification and confirmation in a communication type electronic device such as an IC card. , An efficient user authentication method capable of saving communication traffic.
【0002】[0002]
【従来の技術】従来、暗号通信の分野においては、ある
秘密情報(パスワード等)を知っている者(証明者)を
本人であるものと、確認者が認めることで、認証が行わ
れていた。このような認証方法において、零知識証明技
術に基づいた暗号通信方式が数多く提案されている。こ
の代表的な方法として、Fiat−Shamir方法が
ある。2. Description of the Related Art Conventionally, in the field of cryptographic communication, authentication has been performed by confirming that a person (certifier) who knows certain secret information (password, etc.) is the person himself, and a confirmer. . As such an authentication method, many cryptographic communication methods based on the zero-knowledge proof technique have been proposed. As a typical method of this, there is a Fiat-Shamir method.
【0003】この方法は、信頼できるセンタが個人識別
情報としてIDを用いる利用者に対して、次の手順でk
個の秘密情報sj(1≦j≦k:kは安全性を定めるパ
ラメータであり1以上の値)を生成する。 ステップ1:公開の一方向性関数fを用いて、vj=f
(ID,j)、(1≦j≦k)を計算する。 ステップ2:各vjに対してNの素因数pとqとを用い
て、sj=√(1/vj);(mod N)を計算す
る。すなわち、sj2=1/vj;(mod N)とな
る。 ステップ3:利用者に対してk個のsjを秘密に発行
し、合成数Nを公開する。 上記(mod N)における平方根の計算は、Nの素因
数(p、q)がわかっているときにのみ実行することが
できる。その方法としては、例えばRabinM.O.
により”Digitalized Signature
s andPublic Key Functions
as Intractableas Factori
zation”(Tech.Rep.MIT/LCS/
TR−212 MIT Lab.Comput.Sc
i.1979)に示されている。また、平方根の計算装
置の具体的な構成は、公開鍵暗号システム(特開昭61
−169350号公報)に示されている。According to this method, a reliable center uses the following procedure for a user who uses an ID as personal identification information.
The individual secret information sj (1 ≦ j ≦ k: k is a parameter that determines the security and is a value of 1 or more) is generated. Step 1: Using the published one-way function f, vj = f
Calculate (ID, j) and (1 ≦ j ≦ k). Step 2: Calculate sj = √ (1 / vj); (mod N) using N prime factors p and q for each vj. That is, sj 2 = 1 / vj; (mod N). Step 3: secretly issue k sj to the user and publish the composite number N. The calculation of the square root in (mod N) above can be performed only when the prime factors (p, q) of N are known. As the method, for example, Rabin M. O.
By "Digitalized Signature
s and Public Key Functions
as Intractables Factori
zation ”(Tech. Rep. MIT / LCS /
TR-212 MIT Lab. Comput. Sc
i. 1979). Further, the specific configuration of the square root calculation device is described in the public key cryptosystem (Japanese Patent Laid-Open No. 61-61160).
-169350).
【0004】次に、利用者の認証方式を以下に示す。送
信者Aは、認証者Bに対して、Aが本人であることを次
のステップ1〜6の手順で証明する。 ステップ1:送信者AがIDを認証者Bに送る。 ステップ2:認証者Bがvj=f(ID,j)、(1≦
j≦k)を計算する。次に、i=1,2,・・・・・,
tについて、以下のステップ3〜6をt回繰り返す(t
は安全性を定めるパラメータであり、1以上の値であ
る)。 ステップ3:乱数riを生成し、xi=ri2 (mo
d N)を計算して認証者Bに送る。 ステップ4:認証者Bが0,1のビット列(ei1,e
i2,・・・・・・,eik)を生成して送信者Aに送
る。 ステップ5:送信者Aが署名文yiを、yi=riΠs
j(eij=1)(mod N)、で生成して認証者B
に送る。 ステップ6:認証者Bは、xi=yi2Πvj(eij
=1)(mod N)、を検査する。yiの作り方か
ら、yi2Πvi(eij=1)=ri2Π(si2×v
i)(eij=1)=ri2=xi(mod N)、で
あるから、t回の検査にすべて合格した場合には、認証
者Bは送信者Aが本人であることを認める。Next, the user authentication method is shown below. The sender A proves to the authenticator B that A is the principal by the procedures of the following steps 1 to 6. Step 1: Sender A sends ID to Authenticator B. Step 2: The authenticator B has vj = f (ID, j), (1 ≦
Calculate j ≦ k). Next, i = 1, 2, ...
For t, the following steps 3 to 6 are repeated t times (t
Is a parameter that determines safety, and is a value of 1 or more). Step 3: A random number ri is generated and xi = ri 2 (mo
Calculate d N) and send to Authenticator B. Step 4: The bit string in which the authenticator B is 0, 1 (ei1, e
i2, ..., Eik) is generated and sent to the sender A. Step 5: The sender A writes the signature text yi as yi = riΠs
j (eij = 1) (mod N), generated by certifier B
Send to. Step 6: The authenticator B uses xi = yi 2 Πvj (eij
= 1) (mod N). From the method of making yi, yi 2 Πvi (eij = 1) = ri 2 Π (si 2 × v
i) (eij = 1) = ri 2 = xi (mod N). Therefore, when all the inspections of t times have passed, the authenticator B recognizes that the sender A is the principal.
【0005】このとき、認証者Bが偽の利用者を本物と
認めてしまう誤りの生じる確率は、1/2ktである。こ
こで、kは利用者が秘密に管理する秘密情報sjの個数
であり、tは通信文の通信回数を定めている。At this time, the probability that the authenticator B recognizes a fake user as a genuine user is 1/2 kt . Here, k is the number of pieces of secret information sj that the user secretly manages, and t defines the number of times of communication of the communication text.
【0006】上述の詳細に関しては、Fiat A.
and Shamir A.:”How to pro
ve yourself:Practical sol
ution to identification a
nd signatureproblems”,pro
ceedings of Crypto ’86,Sa
nta Barbara,Aug.1986,pp.1
8−1〜18−7に示されている。この方式は、ゼロ知
識証明であることが証明されており、利用者認証方式が
ゼロ知識証明であるならば、如何なる不正行為も困難で
あることが計算量理論的に保証されている。For details of the above, see Fiat A. et al.
and Shamir A. : "How to pro
ve yourself: Practical sol
motion to identification a
nd signatureproblems ”, pro
ceedings of Crypto '86, Sa
nta Barbara, Aug. 1986, pp. 1
8-1 to 18-7. This method has been proved to be a zero-knowledge proof, and if the user authentication method is a zero-knowledge proof, it is theoretically guaranteed that any fraudulent acts will be difficult.
【0007】[0007]
【発明が解決しようとする課題】このFiat−Sha
mir法では、安全性を高めるため、通信の回数を増す
必要があり、通信量の観点からみると、あまり効率的で
あるとはいえなかった。[Problems to be Solved by the Invention] This Fiat-Sha
In the mir method, it is necessary to increase the number of times of communication in order to enhance security, and it cannot be said that it is very efficient from the viewpoint of communication volume.
【0008】[0008]
【発明の目的】本発明は、上記事情に鑑みてなされたも
ので、従来の技術における上記問題を解決し、通信回数
を少なくしながら、かつ、安全性の高い利用者認証装置
およびその方法を提供することを、目的としている。SUMMARY OF THE INVENTION The present invention has been made in view of the above circumstances, and provides a user authentication device and method which solves the above problems in the prior art, reduces the number of communications, and is highly secure. The purpose is to provide.
【0009】[0009]
【課題を解決するための手段】請求項1に記載の発明
は、図1に示すように、利用者である証明者が検証者に
対して通信を行う際、通信相手の正当性を確認する利用
者の認証装置において、以下の(1)(2)に示す各手
段を含み、証明者、検証者間で零知識認証を得る認証装
置である。すなわち、「(1)システム加入時、利用者
は、利用者固有の情報を基に秘密情報を生成し、これを
利用者が秘密に保持する手段。この秘密情報に基づいて
利用者の識別情報を生成し、これを公開情報として公開
情報管理簿に登録する手段。(2)上記初期情報設定後
の認証処理段階において、(a)検証者は、複数個の乱
数からなる乱数列を生成し、この乱数列、利用者の識別
情報および公開情報に基づいて演算を行い、演算結果の
数列である乱数検査データを証明者に送る手段。(b)
乱数検査データを受け取った証明者は、これを記憶する
とともに、自ら乱数を生成し、この乱数と識別情報と公
開情報とに基づいて確認データを計算し、これを検証者
に送る手段。(c)検証者は、確認データを受け取った
後、上記乱数検査データを演算するときに用いた乱数列
を証明者に送る手段。(d)証明者は、乱数列を受け取
った後、利用者の識別情報と、公開情報と、受け取った
乱数列とを基に乱数照合データを計算し、上記記憶して
いた乱数検査データを読み出して、乱数検査データと乱
数照合データとを比較することにより、乱数の正当性を
確かめ、正当性が確かめられた場合、乱数の性質に応じ
て、上記確認データを生成するときに用いた乱数と、証
明者の秘密情報とを基に演算を施して、証明データを生
成し、この証明データを検証者に送る手段。(e)検証
者は、証明データを受取り、上記確認データの生成に用
いた乱数と、証明者の識別情報と、証明者の公開情報
と、証明データとを基に演算を行い、この演算結果と上
記送られてきた確認データとの照合を行い、証明データ
の正当性を検査し、検査に合格すれば正当な証明者とし
て認め、合格しなければ不当とみなす手段。」である。According to a first aspect of the present invention, as shown in FIG. 1, when a prover who is a user communicates with a verifier, the validity of the communication partner is confirmed. This is an authentication device for a user, which includes the following means (1) and (2) and obtains zero-knowledge authentication between a prover and a verifier. That is, “(1) When the system is subscribed, the user generates secret information based on the information peculiar to the user, and the user keeps this secret. The identification information of the user based on this secret information. (2) In the authentication processing stage after the initial information is set, (a) the verifier generates a random number sequence including a plurality of random numbers. Means for performing an operation based on this random number sequence, user identification information and public information, and sending random number check data, which is a sequence of operation results, to the prover.
The certifier that receives the random number inspection data stores the random number, generates a random number by itself, calculates confirmation data based on the random number, the identification information, and the public information, and sends it to the verifier. (C) A means for the verifier to send the random number sequence used when calculating the random number check data to the prover after receiving the confirmation data. (D) After receiving the random number sequence, the prover calculates random number collation data based on the user identification information, public information, and the received random number sequence, and reads the stored random number inspection data. Then, the legitimacy of the random number is confirmed by comparing the random number inspection data and the random number collation data. , Means for performing an operation based on the secret information of the prover to generate proof data, and sending the proof data to the verifier. (E) The verifier receives the proof data, performs an operation based on the random number used to generate the confirmation data, the certifier's identification information, the certifier's public information, and the proof data. And the above confirmation data sent to check the legitimacy of the proof data, if it passes the inspection, it is recognized as a valid certifier, and if it does not pass, it is regarded as unjust. It is.
【0010】請求項2に記載の発明は、上記証明者は、
ICカード、光・ICカード、移動通信器、電子手帳、
携帯情報端末、携帯用コンピュータ・システム等の携帯
電子装置で構成するとともに、上記検証者を、上記携帯
電子装置とデータのやり取りを行うICカード、光・I
Cカード、移動通信器、電子手帳、携帯情報端末、携帯
用コンピュータ・システム、コンピュータ・システム等
の電子装置で構成した請求項1に記載の認証装置であ
る。According to the invention of claim 2, the certifier is
IC card, optical / IC card, mobile communication device, electronic notebook,
It is composed of a portable electronic device such as a portable information terminal, a portable computer system, etc., and the verifier is an IC card for exchanging data with the portable electronic device.
The authentication device according to claim 1, which is configured by an electronic device such as a C card, a mobile communication device, an electronic notebook, a personal digital assistant, a portable computer system, and a computer system.
【0011】請求項3に記載の発明は、上記証明者と上
記検証者との間の通信を、電線、光ファイバー・ケーブ
ル、電波、あるいは、電磁波を介して行う請求項1また
は請求項2に記載の認証装置である。The invention according to claim 3 is that the communication between the prover and the verifier is performed via an electric wire, an optical fiber cable, a radio wave, or an electromagnetic wave. Authentication device.
【0012】請求項4に記載の発明は、利用者である証
明者が検証者に対して通信を行う際、通信相手の正当性
を確認する利用者の認証方法において、以下の各処理を
含み、証明者、検証者間で零知識認証を得る認証方法で
ある。すなわち、「(1)システム加入時、利用者は、
利用者固有の情報を基に秘密情報を生成し、これを利用
者が秘密に保持する。この秘密情報に基づいて利用者の
識別情報を生成し、これを公開情報として公開情報管理
簿に登録する。(2)上記初期情報設定後の認証処理段
階において、(a)検証者は、複数個の乱数からなる乱
数列を生成し、この乱数列、利用者の識別情報および公
開情報に基づいて演算を行い、演算結果の数列である乱
数検査データを証明者に送る。(b)乱数検査データを
受け取った証明者は、これを記憶するとともに、自ら乱
数を生成する。証明者は、この乱数と識別情報と公開情
報とに基づいて確認データを計算し、これを検証者に送
る。(c)検証者は、確認データを受け取った後、上記
乱数検査データを演算するときに用いた乱数列を証明者
に送る。(d)証明者は、乱数列を受け取った後、利用
者の識別情報と、公開情報と、受け取った乱数列とを基
に乱数照合データを計算する。そして、上記記憶してい
た乱数検査データを読み出して、乱数検査データと乱数
照合データとを比較することにより、乱数の正当性を確
かめる。正当性が確かめられた場合、乱数の性質に応じ
て、上記確認データを生成するときに用いた乱数と、証
明者の秘密情報とを基に演算を施して、証明データを生
成する。そして、この証明データを検証者に送る。
(e)検証者は、証明データを受取る。上記確認データ
の生成に用いた乱数と、証明者の識別情報と、証明者の
公開情報と、証明データとを基に演算を行う。この演算
の結果を上記送られてきた確認データと照合し、証明デ
ータの正当性を検査する。検査に合格すれば正当な証明
者として認め、合格しなければ不当とみなす。」であ
る。The invention according to claim 4 includes the following processes in a user authentication method for confirming the legitimacy of a communication partner when a prover who is a user communicates with a verifier. An authentication method that obtains zero-knowledge authentication between a prover and a verifier. That is, "(1) When the system is subscribed, the user
Confidential information is generated based on the information unique to the user, and the user keeps this secret. User identification information is generated based on this secret information, and this is registered as public information in the public information management list. (2) At the authentication processing stage after the initial information is set, (a) the verifier generates a random number sequence composed of a plurality of random numbers, and performs an operation based on the random number sequence, user identification information, and public information. Then, the random number check data, which is the sequence of the calculation results, is sent to the prover. (B) The prover receiving the random number inspection data stores the random number inspection data and generates a random number by itself. The prover calculates confirmation data based on the random number, the identification information, and the public information, and sends it to the verifier. (C) The verifier, after receiving the confirmation data, sends to the prover the random number sequence used when calculating the random number check data. (D) After receiving the random number sequence, the prover calculates random number collation data based on the user's identification information, public information, and the received random number sequence. Then, the stored random number inspection data is read and the validity of the random number is confirmed by comparing the random number inspection data with the random number collation data. If the validity is confirmed, the proof data is generated by performing an operation based on the random number used when generating the confirmation data and the secret information of the prover according to the property of the random number. Then, this proof data is sent to the verifier.
(E) The verifier receives the certification data. The calculation is performed based on the random number used to generate the confirmation data, the certifier's identification information, the certifier's public information, and the proof data. The result of this operation is collated with the confirmation data sent to check the validity of the proof data. If it passes the inspection, it is recognized as a valid certifier, and if it does not pass, it is considered unjust. It is.
【0013】要するに、本発明に係る認証の方式は、零
知識証明の手法を用いる。被認証側の電子光学装置と、
この装置との間で通信可能な認証側の装置と、これらを
管理する装置とからなる。これは、証明者、検証者、セ
ンタである。システム加入時、センタが証明者の秘密情
報と識別情報と公開情報とを生成する。秘密情報は証明
者のみに渡し、証明者により秘密に保管される。識別情
報は、証明者に渡す。識別情報と公開情報とは対応づけ
て、公開情報登録簿に登録することにより、初期情報設
定段階を終える。In short, the authentication method according to the present invention uses the zero-knowledge proof method. An electro-optical device on the authenticated side,
It is composed of a device on the authentication side capable of communicating with this device and a device for managing them. This is a prover, a verifier, and a center. When joining the system, the center generates secret information, identification information, and public information of the prover. Confidential information is passed only to the prover and kept secret by the prover. The identification information is passed to the prover. The identification information and the public information are associated with each other and registered in the public information register to complete the initial information setting stage.
【0014】次に、認証処理段階に入る。まず、検証者
は乱数列を生成する。この乱数列と、証明者の公開情報
と、識別情報とを基に演算を行い、乱数検査データを作
成する。この乱数検査データを証明者に送る。証明者は
乱数を生成する。また、この乱数と証明者の公開情報と
識別情報とを基に確認データを作成する。そして、この
確認データを検証者に送る。検証者は、確認データを受
け取った後、乱数検査データの生成に使用した乱数列を
証明者に送る。証明者は、検証者から送られた乱数列
と、証明者の公開情報と、識別情報とを基に、乱数検査
データの正当性を検査する。検査に合格したら、乱数列
の性質に応じて、証明者の秘密情報と公開情報と乱数と
を基に証明データを作成する。そして、これを検証者に
送る。検証者は受け取った証明データの正当性を、証明
者の公開情報と識別情報と証明データと確認データとを
基に判断することにより、証明者、検証者の間で通信回
数の少ない零知識認証を行う。Next, the authentication processing stage is entered. First, the verifier generates a random number sequence. An operation is performed based on this random number sequence, the public information of the prover, and the identification information to create random number inspection data. This random number inspection data is sent to the prover. The prover generates a random number. Also, confirmation data is created based on this random number, the public information of the prover, and the identification information. Then, this confirmation data is sent to the verifier. After receiving the confirmation data, the verifier sends the prover the random number sequence used to generate the random number check data. The prover checks the validity of the random number check data based on the random number sequence sent from the verifier, the public information of the prover, and the identification information. If the inspection is passed, proof data is created based on the secret information of the prover, the public information, and the random number according to the property of the random number sequence. Then, this is sent to the verifier. The verifier judges the validity of the received proof data based on the certifier's public information, identification information, proof data, and confirmation data. I do.
【0015】[0015]
【作用】本発明に係る認証の方式は、証明者、検証者、
および、信頼のおけるセンターから構成されたシステム
である。証明者と検証者との間でデータの授受を行うこ
とにより、相手の正当性を確認する。まず、システム加
入時、センターは、利用者の固有の情報を基に利用者秘
密情報を生成し、利用者に渡す。利用者はこれを秘密に
保持する。センターはさらに利用者の識別情報を秘密情
報に基づいて生成し、公開情報とする。The authentication method according to the present invention is performed by a certifier, a verifier,
And a system that consists of a reliable center. The authenticity of the other party is confirmed by exchanging data between the prover and the verifier. First, when the system is subscribed, the center generates user secret information based on the unique information of the user and passes it to the user. The user keeps this secret. The center further generates user identification information based on the secret information and makes it public information.
【0016】以後の認証処理段階において、検証者が生
成した乱数列と、利用者の識別情報と、公開情報とを基
に演算を行い、乱数検査データを構成する。この乱数検
査データを証明者に送る。証明者は、受け取った乱数検
査データを記憶する。また、自ら乱数を生成する。この
乱数と識別情報と公開情報とを基に、確認データを計算
する。そして、この確認データを検証者に送る。検証者
は確認データを受け取った後、乱数検査データを計算す
るときに用いた乱数列を証明者に送る。証明者は、利用
者の識別情報と、公開情報と、受け取った乱数列を基
に、乱数照合データを計算する。そして、記憶していた
乱数検査データと、この乱数照合データとを比較するこ
とにより、乱数の正当性を確かめる。正当性が確かめら
れなかった場合、動作を停止する。正当性が確かめられ
た場合、乱数の性質に応じて、上記確認データを生成す
るときに用いた乱数と、証明者の秘密情報とを基に、演
算を行い、証明データを作成する。この証明データを検
証者に送る。検証者は、受け取った証明データと、上記
確認データの生成に用いた乱数と、証明者の識別情報
と、証明者の公開情報と、証明データとを基に演算を行
う。そして、演算の結果により上記送られてきた確認デ
ータとの照合を行い、証明データの正当性を検査する。
すなわち、認証を行う。このように、証明者、検証者間
で4回の通信によって認証を行うことができる。At the subsequent authentication processing stage, the random number inspection data is constructed by performing an operation based on the random number sequence generated by the verifier, the user identification information and the public information. This random number inspection data is sent to the prover. The prover stores the received random number inspection data. It also generates random numbers by itself. Confirmation data is calculated based on the random number, the identification information, and the public information. Then, this confirmation data is sent to the verifier. After receiving the confirmation data, the verifier sends the random number sequence used when calculating the random number check data to the prover. The prover calculates random number collation data based on the identification information of the user, the public information, and the received random number sequence. Then, the validity of the random number is confirmed by comparing the stored random number inspection data with the random number collation data. If the validity cannot be confirmed, the operation is stopped. When the correctness is confirmed, an operation is performed based on the random number used when the confirmation data is generated and the secret information of the prover according to the property of the random number to create the proof data. Send this proof data to the verifier. The verifier performs an operation based on the received proof data, the random number used to generate the confirmation data, the certifier's identification information, the certifier's public information, and the proof data. Then, the validity of the proof data is checked by collating with the confirmation data that has been sent based on the result of the calculation.
That is, authentication is performed. In this way, the certifier and the verifier can perform authentication by communicating four times.
【0017】[0017]
【実施例】以下に、本発明の実施例を図面を参照して説
明する。図2は本発明の認証装置の全体構成を示してい
る。この図に示すように、本装置は、証明者(利用者)
装置1、検証者(確認者)装置2、および、信頼のおけ
るセンタ装置3と、から構成されている。そして、これ
らのそれぞれが安全ではない通信路等の通信媒体4によ
って接続されている。通信媒体4としては電線、光ファ
イバー・ケーブル等が使用される。Embodiments of the present invention will be described below with reference to the drawings. FIG. 2 shows the overall configuration of the authentication device of the present invention. As shown in this figure, this device is a certifier (user).
It comprises a device 1, a verifier (confirmer) device 2, and a reliable center device 3. Each of these is connected by a communication medium 4 such as an insecure communication path. As the communication medium 4, an electric wire, an optical fiber cable or the like is used.
【0018】図3は、本発明に係る初期情報設定処理装
置の構成を示す図である。この図に示すように、この装
置は、利用者の公開情報生成装置5と、利用者の秘密情
報生成装置6と、利用者の識別情報生成装置7と、を有
している。利用者の公開情報生成装置5は、大きな素数
を生成する素数生成装置5aと、複数の大きな素数の乗
算を行う演算装置5bと、を有している。FIG. 3 is a diagram showing the configuration of the initial information setting processing device according to the present invention. As shown in this figure, this device has a user public information generation device 5, a user secret information generation device 6, and a user identification information generation device 7. The public information generation device 5 of the user includes a prime number generation device 5a that generates a large prime number and an arithmetic device 5b that multiplies a plurality of large prime numbers.
【0019】利用者の秘密情報処理装置6は、利用者情
報入力装置6aと、利用者情報から逆算の難しい一つの
値を出力する一方向性関数処理装置6bと、出力を利用
者公開情報未満の値に変換する秘密情報変換処理装置6
cと、を有している。The user secret information processing device 6 includes a user information input device 6a, a one-way function processing device 6b that outputs one value that is difficult to calculate backward from the user information, and outputs less than the user public information. Secret information conversion processing device 6 for converting to the value of
c and.
【0020】利用者の識別情報処理装置7は、上記利用
者の公開情報生成装置5、および、上記利用者の秘密情
報生成装置6のそれぞれの出力を入力する入力装置7a
と、それらの入力を基に演算を行う演算装置7bと、演
算結果を利用者識別情報として記憶する識別情報記憶装
置7cと、を有している。The user identification information processing device 7 inputs the outputs of the user public information generation device 5 and the user secret information generation device 6 respectively.
And a calculation device 7b that performs a calculation based on those inputs, and an identification information storage device 7c that stores the calculation result as user identification information.
【0021】図4は本発明の認証処理における証明者
(利用者)装置の構成を示している。この図に示すよう
に、証明者装置は、乱数を生成する乱数生成装置8と、
検証者から送られる乱数列を記憶する記憶装置9a、9
bと、乱数と公開情報と識別情報とを基に演算を行う演
算装置10aと、記憶装置9bから読み出した乱数列
と、演算装置10aの出力とを基に照合演算を行う照合
装置11と、照合にパスした場合、記憶装置9aから読
み出した乱数列と、証明者の秘密情報と、証明者の乱数
とを基に演算を行う演算装置10bと、を有している。FIG. 4 shows the structure of a prover (user) device in the authentication processing of the present invention. As shown in this figure, the prover device includes a random number generation device 8 for generating random numbers,
Storage devices 9a, 9 for storing the random number sequence sent from the verifier
b, a calculation device 10a that performs a calculation based on a random number, public information, and identification information, a verification device 11 that performs a verification calculation based on the random number sequence read from the storage device 9b, and the output of the calculation device 10a. If the collation is successful, it has a random number sequence read from the storage device 9a, secret information of the prover, and an arithmetic device 10b that performs an operation based on the random number of the prover.
【0022】図5は本発明の認証処理における検証者
(確認者)装置の構成を示している。この図に示すよう
に、この検証者装置は、乱数列を生成する乱数列生成装
置12と、乱数計算データを演算する演算装置13と、
乱数列生成装置12によって生成した乱数列を記憶する
乱数列記憶装置14と、証明者から送られるデータを記
憶する記憶装置15と、利用者の公開情報および識別情
報と上記乱数列記憶装置14から読み出した乱数列とを
基に演算を行う演算装置16と、演算装置の出力と記憶
装置から読み出した値との照合を行う照合装置17と、
を有している。FIG. 5 shows the structure of a verifier (confirmer) device in the authentication processing of the present invention. As shown in this figure, this verifier device includes a random number sequence generation device 12 that generates a random number sequence, an arithmetic device 13 that calculates random number calculation data,
From the random number sequence storage device 14 that stores the random number sequence generated by the random number sequence generation device 12, the storage device 15 that stores the data sent from the prover, the public information and identification information of the user, and the random number sequence storage device 14 described above. An arithmetic unit 16 that performs an arithmetic operation based on the read random number sequence, a collating unit 17 that collates the output of the arithmetic unit with the value read from the storage unit,
have.
【0023】上記に述べた構成は、例えば証明者および
検証者を、I/O、CPU、ROM、RAM等で構成さ
れるICカード、光・ICカード、移動通信器、電子手
帳、携帯情報端末、携帯用コンピュータ・システム、も
しくは、コンピュータシステムとして構成する。また、
これらは、電線、電波、または、電磁波を介して相互に
通信可能なシステムとして実現することが可能である。In the above-mentioned configuration, for example, the prover and the verifier are identified by an IC card composed of I / O, CPU, ROM, RAM, etc., an optical / IC card, a mobile communication device, an electronic notebook, a portable information terminal. , A portable computer system or a computer system. Also,
These can be realized as a system capable of communicating with each other via electric wires, radio waves, or electromagnetic waves.
【0024】次に、本発明に係る認証装置の動作につい
て説明する。図6は本発明に係る認証処理およびプロト
コルを説明するためのフローチャートである。Next, the operation of the authentication device according to the present invention will be described. FIG. 6 is a flow chart for explaining the authentication processing and protocol according to the present invention.
【0025】利用者(証明者)が本システムに加入した
とき、基本的に1回だけ行う初期情報設定処理におい
て、信頼できるセンタが、利用者に関する公開情報、識
別情報、および、秘密情報を生成し、公開情報を利用者
の識別情報と対応させて、公開の管理簿に登録する。When a user (certifier) joins this system, basically in the initial information setting process which is performed only once, the reliable center generates public information, identification information and secret information about the user. Then, the public information is registered in the public management list in association with the user identification information.
【0026】まず、公開情報として、相異なる大きな素
数p,qを生成し、それらの積N=p×qを準備する。
また、利用者の秘密情報として、s(First, different large prime numbers p and q are generated as public information, and a product N = p × q of them is prepared.
In addition, s (
【数1】 )を作成する。すなわち、利用者の名前、住所、電話番
号等の諸情報xiを基に一方向関数f()を用いて秘密
情報Sを作成する(s=f(x))。そして、この秘密
情報sを基に、利用者の識別情報IDを、ID=s
2(mod N)のように生成する。その後、センタは
この秘密情報sを利用者に送り、sが利用者の秘密情報
とされる。[Equation 1] ) Is created. That is, the one-way function f () is used to create the secret information S based on various information xi such as the user's name, address, and telephone number (s = f (x)). Then, based on this secret information s, the identification information ID of the user is calculated as ID = s
It is generated as 2 (mod N). After that, the center sends this secret information s to the user, and s is used as the secret information of the user.
【0027】次に、認証処理段階において、証明者と検
証者とは図6に示すような以下の通信を行う。 ステップ1:検証者は、k個の乱数列qiを生成し、乱
数列記憶装置に記憶する。とともに、Qi=IDqi
(mod N)(1≦i≦k)を計算し、この数列Qi
を乱数検査データとして証明者に送る。 ステップ2:証明者は、検証者から乱数検査データを受
け取る。この乱数検査データを記憶装置に記憶する。そ
して、乱数生成装置を用いて乱数r(Next, at the authentication processing stage, the prover and the verifier perform the following communication as shown in FIG. Step 1: The verifier generates k random number sequences qi and stores them in the random number sequence storage device. Together with Qi = ID qi
(Mod N) (1 ≦ i ≦ k) is calculated, and this sequence Qi
Is sent to the prover as random number inspection data. Step 2: The prover receives the random number check data from the verifier. This random number inspection data is stored in the storage device. Then, using the random number generator, the random number r (
【数2】 )を生成する。さらに、利用者の公開情報、識別情報と
を基に、演算装置によって、α=ID×r2 (mod
N)を計算する。このようにして求めたαを検証者に
送る。 ステップ3:検証者は、証明者から送られてきたαを記
憶装置に記憶する。その後、乱数列記憶装置に記憶して
おいた乱数列qiを読み出し、これを証明者に送る。 ステップ4:証明者は、検証者から送られてきたqiを
受け取った後、証明者の識別情報、公開情報を基に演算
装置を用いてQi’=IDqi (mod N)を計算す
る。そして、前もって記憶しておいた数列Qiを記憶装
置から読み出し、照合装置を用いて両者(Qi’とQ
i)を比較する。これらが不一致の場合はこの動作を終
了する。一致すれば、乱数列qiの偶奇性に応じて、演
算装置を用いて証明データであるγi=r(qi:ev
en)またはγi=r・s(qi:odd)を計算し
て、これを検証者に送る。 ステップ5:検証者は、証明者から送られてきたγi
と、証明者の公開情報と、識別情報とを基に、乱数列q
iに応じて演算装置を用いてα’を演算する。qi:e
venのときは、α’=ID・γi2 (mod N)
であり、qi:oddのときはα’=γi2 (mod
N)である。そして、照合装置を用いて、このα’を
αと照合する。不一致ならば証明者は不当であるものと
判断する。一致した場合は、証明者は正当であるものと
判断する。[Equation 2] ) Is generated. Further, based on the public information and identification information of the user, α = ID × r 2 (mod
Calculate N). The α obtained in this way is sent to the verifier. Step 3: The verifier stores the α transmitted from the prover in the storage device. After that, the random number sequence qi stored in the random number sequence storage device is read out and sent to the prover. Step 4: After receiving the qi sent from the verifier, the prover calculates Qi ′ = ID qi (mod N) using an arithmetic unit based on the identification information and public information of the prover. Then, the number sequence Qi stored in advance is read out from the storage device, and both (Qi ′ and Qi
Compare i). If they do not match, this operation ends. If they match, the proof data γi = r (qi: ev is used as the proof data by using the arithmetic unit according to the evenness of the random number sequence qi.
en) or γi = r · s (qi: odd) and send it to the verifier. Step 5: The verifier receives the γi sent from the prover.
And the public information of the prover and the identification information, the random number sequence q
According to i, α ′ is calculated using a calculation device. qi: e
When ven, α ′ = ID · γi 2 (mod N)
And when qi: odd, α ′ = γi 2 (mod
N). Then, this α'is collated with α using a collation device. If they do not match, the prover determines that they are unjust. If they match, the prover determines that they are valid.
【0028】[0028]
【発明の効果】本発明によれば、信頼性が高い認証の方
式を提供することができる。同時に、この認証処理での
通信回数の冗長性を緩和することができる。According to the present invention, it is possible to provide a highly reliable authentication method. At the same time, it is possible to reduce the redundancy in the number of communications in this authentication process.
【図1】本発明に係る認証装置を示すブロック図であ
る。FIG. 1 is a block diagram showing an authentication device according to the present invention.
【図2】本発明の一実施例に係る認証装置を示すブロッ
ク図である。FIG. 2 is a block diagram showing an authentication device according to an embodiment of the present invention.
【図3】本発明の一実施例に係る初期情報設定処理装置
の構成を示すブロック図である。FIG. 3 is a block diagram showing a configuration of an initial information setting processing device according to an exemplary embodiment of the present invention.
【図4】本発明の一実施例に係る証明者装置の構成例を
示すブロック図である。FIG. 4 is a block diagram showing a configuration example of a prover device according to an embodiment of the present invention.
【図5】本発明の一実施例に係る検証者装置の構成例を
示すブロック図である。FIG. 5 is a block diagram showing a configuration example of a verifier device according to an embodiment of the present invention.
【図6】本発明の一実施例に係る認証処理を示すフロー
チャートである。FIG. 6 is a flowchart showing an authentication process according to an embodiment of the present invention.
8 乱数生成装置 10a,10b 演算装置 11 照合装置 12 乱数列生成装置 13,16 演算装置 17 照合装置 8 Random Number Generators 10a, 10b Arithmetic Device 11 Collating Device 12 Random Number Sequence Generating Device 13, 16 Arithmetic Device 17 Collating Device
Claims (4)
信を行う際、通信相手の正当性を確認する利用者の認証
装置において、 以下の各手段を含み、証明者、検証者間で零知識認証を
得ることを特徴とする認証装置。 (1)システム加入時、利用者は、利用者固有の情報を
基に秘密情報を生成し、これを利用者が秘密に保持する
手段。この秘密情報に基づいて利用者の識別情報を生成
し、これを公開情報として公開情報管理簿に登録する手
段。 (2)上記初期情報設定後の認証処理段階において、 (a)検証者は、複数個の乱数からなる乱数列を生成
し、この乱数列、利用者の識別情報および公開情報に基
づいて演算を行い、演算結果の数列である乱数検査デー
タを証明者に送る手段。 (b)乱数検査データを受け取った証明者は、これを記
憶するとともに、自ら乱数を生成し、この乱数と識別情
報と公開情報とに基づいて確認データを計算し、これを
検証者に送る手段。 (c)検証者は、確認データを受け取った後、上記乱数
検査データを演算するときに用いた乱数列を証明者に送
る手段。 (d)証明者は、乱数列を受け取った後、利用者の識別
情報と、公開情報と、受け取った乱数列とを基に乱数照
合データを計算し、上記記憶していた乱数検査データを
読み出して、乱数検査データと乱数照合データとを比較
することにより、乱数の正当性を確かめ、正当性が確か
められた場合、乱数の性質に応じて、上記確認データを
生成するときに用いた乱数と、証明者の秘密情報とを基
に演算を施して、証明データを生成し、この証明データ
を検証者に送る手段。 (e)検証者は、証明データを受取り、上記確認データ
の生成に用いた乱数と、証明者の識別情報と、証明者の
公開情報と、証明データとを基に演算を行い、この演算
結果と上記送られてきた確認データとの照合を行い、証
明データの正当性を検査し、検査に合格すれば正当な証
明者として認め、合格しなければ不当とみなす手段。1. An authenticating device for a user, which verifies the authenticity of a communication partner when a certifier as a user communicates with a verifier, including the following means, between a certifier and a verifier: An authentication device characterized by obtaining zero knowledge authentication in. (1) A means for a user to generate confidential information based on information unique to the user when the system is subscribed, and the user keeps this secret. A means for generating user identification information based on this secret information and registering this as public information in a public information management book. (2) At the authentication processing stage after the initial information is set, (a) the verifier generates a random number sequence composed of a plurality of random numbers, and performs an operation based on this random number sequence, user identification information, and public information. A means for performing and sending to the prover the random number check data, which is a sequence of operation results. (B) Means for receiving the random number inspection data, storing it, generating a random number by itself, calculating confirmation data based on this random number, identification information, and public information, and sending this to the verifier. . (C) A means for the verifier to send the random number sequence used when calculating the random number check data to the prover after receiving the confirmation data. (D) After receiving the random number sequence, the prover calculates random number collation data based on the user identification information, public information, and the received random number sequence, and reads the stored random number inspection data. Then, the legitimacy of the random number is confirmed by comparing the random number inspection data and the random number collation data. , Means for performing an operation based on the secret information of the prover to generate proof data, and sending the proof data to the verifier. (E) The verifier receives the proof data, performs an operation based on the random number used to generate the confirmation data, the certifier's identification information, the certifier's public information, and the proof data. And the above confirmation data sent to check the legitimacy of the proof data, if it passes the inspection, it is recognized as a valid certifier, and if it does not pass, it is regarded as unjust.
ード、移動通信器、電子手帳、携帯情報端末、携帯用コ
ンピュータ・システム等の携帯電子装置で構成するとと
もに、上記検証者を、上記携帯電子装置とデータのやり
取りを行うICカード、光・ICカード、移動通信器、
電子手帳、携帯情報端末、携帯用コンピュータ・システ
ム、コンピュータ・システム等の電子装置で構成した請
求項1に記載の認証装置。2. The certifier comprises a portable electronic device such as an IC card, an optical / IC card, a mobile communication device, an electronic organizer, a portable information terminal, a portable computer system, and the verifier. IC cards for exchanging data with portable electronic devices, optical / IC cards, mobile communication devices,
The authentication device according to claim 1, wherein the authentication device comprises an electronic device such as an electronic notebook, a personal digital assistant, a portable computer system, and a computer system.
を、電線、光ファイバー・ケーブル、電波、あるいは、
電磁波を介して行う請求項1または請求項2に記載の認
証装置。3. The communication between the prover and the verifier is performed by using an electric wire, an optical fiber cable, a radio wave, or
The authentication device according to claim 1, wherein the authentication device is performed via electromagnetic waves.
信を行う際、通信相手の正当性を確認する利用者の認証
方法において、 以下の各処理を含み、証明者、検証者間で零知識認証を
得ることを特徴とする認証方法。 (1)システム加入時、利用者は、利用者固有の情報を
基に秘密情報を生成し、これを利用者が秘密に保持す
る。この秘密情報に基づいて利用者の識別情報を生成
し、これを公開情報として公開情報管理簿に登録する。 (2)上記初期情報設定後の認証処理段階において、 (a)検証者は、複数個の乱数からなる乱数列を生成
し、この乱数列、利用者の識別情報および公開情報に基
づいて演算を行い、演算結果の数列である乱数検査デー
タを証明者に送る。 (b)乱数検査データを受け取った証明者は、これを記
憶するとともに、自ら乱数を生成する。証明者は、この
乱数と識別情報と公開情報とに基づいて確認データを計
算し、これを検証者に送る。 (c)検証者は、確認データを受け取った後、上記乱数
検査データを演算するときに用いた乱数列を証明者に送
る。 (d)証明者は、乱数列を受け取った後、利用者の識別
情報と、公開情報と、受け取った乱数列とを基に乱数照
合データを計算する。そして、上記記憶していた乱数検
査データを読み出して、乱数検査データと乱数照合デー
タとを比較することにより、乱数の正当性を確かめる。
正当性が確かめられた場合、乱数の性質に応じて、上記
確認データを生成するときに用いた乱数と、証明者の秘
密情報とを基に演算を施して、証明データを生成する。
そして、この証明データを検証者に送る。 (e)検証者は、証明データを受取る。上記確認データ
の生成に用いた乱数と、証明者の識別情報と、証明者の
公開情報と、証明データとを基に演算を行う。この演算
の結果を上記送られてきた確認データと照合し、証明デ
ータの正当性を検査する。検査に合格すれば正当な証明
者として認め、合格しなければ不当とみなす。4. A user authentication method for confirming the validity of a communication partner when a certifier as a user communicates with a verifier. An authentication method characterized by obtaining zero-knowledge authentication in. (1) At the time of joining the system, the user generates secret information based on the information unique to the user, and the user keeps this secret. User identification information is generated based on this secret information, and this is registered as public information in the public information management list. (2) At the authentication processing stage after the initial information is set, (a) the verifier generates a random number sequence composed of a plurality of random numbers, and performs an operation based on this random number sequence, user identification information, and public information. Then, the random number check data, which is the sequence of the calculation results, is sent to the prover. (B) The prover receiving the random number inspection data stores the random number inspection data and generates a random number by itself. The prover calculates confirmation data based on the random number, the identification information, and the public information, and sends it to the verifier. (C) The verifier, after receiving the confirmation data, sends to the prover the random number sequence used when calculating the random number check data. (D) After receiving the random number sequence, the prover calculates random number collation data based on the user's identification information, public information, and the received random number sequence. Then, the stored random number inspection data is read and the validity of the random number is confirmed by comparing the random number inspection data with the random number collation data.
If the validity is confirmed, the proof data is generated by performing an operation based on the random number used when generating the confirmation data and the secret information of the prover according to the property of the random number.
Then, this proof data is sent to the verifier. (E) The verifier receives the certification data. The calculation is performed based on the random number used to generate the confirmation data, the certifier's identification information, the certifier's public information, and the proof data. The result of this operation is collated with the confirmation data sent to check the validity of the proof data. If it passes the inspection, it is recognized as a valid certifier, and if it does not pass, it is considered unjust.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6151583A JPH07336348A (en) | 1994-06-08 | 1994-06-08 | Authentication device and authentication method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6151583A JPH07336348A (en) | 1994-06-08 | 1994-06-08 | Authentication device and authentication method |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07336348A true JPH07336348A (en) | 1995-12-22 |
Family
ID=15521693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6151583A Pending JPH07336348A (en) | 1994-06-08 | 1994-06-08 | Authentication device and authentication method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH07336348A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100837583B1 (en) * | 2004-07-01 | 2008-06-13 | 가부시키가이샤 엔티티 도코모 | Authentication vector generation device, subscriber identity module, mobile communication system, authentication vector generation method, calculation method, and subscriber authentication method |
WO2010041698A1 (en) * | 2008-10-07 | 2010-04-15 | 日本電気株式会社 | Name encryption device, device for converting into kana (japanese phonogram), name encryption method, and method for converting into kana |
WO2020246403A1 (en) * | 2019-06-05 | 2020-12-10 | ソニー株式会社 | Information processing device and information processing method |
-
1994
- 1994-06-08 JP JP6151583A patent/JPH07336348A/en active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100837583B1 (en) * | 2004-07-01 | 2008-06-13 | 가부시키가이샤 엔티티 도코모 | Authentication vector generation device, subscriber identity module, mobile communication system, authentication vector generation method, calculation method, and subscriber authentication method |
WO2010041698A1 (en) * | 2008-10-07 | 2010-04-15 | 日本電気株式会社 | Name encryption device, device for converting into kana (japanese phonogram), name encryption method, and method for converting into kana |
JP5392264B2 (en) * | 2008-10-07 | 2014-01-22 | 日本電気株式会社 | Name encryption device, pseudonymization device, name encryption method, and pseudonymization method |
US8891769B2 (en) | 2008-10-07 | 2014-11-18 | Nec Corporation | Name encryption device, pseudonymization device, name encryption method, and pseudonymization method |
WO2020246403A1 (en) * | 2019-06-05 | 2020-12-10 | ソニー株式会社 | Information processing device and information processing method |
US11956364B2 (en) | 2019-06-05 | 2024-04-09 | Sony Group Corporation | Information processing device and information processing method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7188362B2 (en) | System and method of user and data verification | |
JP5201136B2 (en) | Anonymous authentication system and anonymous authentication method | |
US7730319B2 (en) | Provisional signature schemes | |
JP2671649B2 (en) | Authentication method | |
US9882890B2 (en) | Reissue of cryptographic credentials | |
US20030070074A1 (en) | Method and system for authentication | |
JPH113033A (en) | Method for identifying client for client-server electronic transaction, smart card and server relating to the same, and method and system for deciding approval for co-operation by user and verifier | |
EP0824814A1 (en) | Methods and apparatus for authenticating an originator of a message | |
JP3158118B2 (en) | Authentication information verification system | |
US20090041239A1 (en) | Pseudo-random function calculating device and method and number-limited anonymous authentication system and method | |
WO2010066127A1 (en) | Safe communication method and device for mobile financial service based on application layer | |
CN110289958A (en) | Internet of Vehicles identity authentication method and system | |
CN111222879A (en) | Certificateless authentication method and certificateless authentication system suitable for alliance chain | |
KR20040099943A (en) | System and Method for Authenticating Content User | |
JP2001308851A (en) | User authenticating method, storage medium, device and system | |
JPH07336348A (en) | Authentication device and authentication method | |
JPH11234263A (en) | Method and device for mutual authentication | |
JP2513169B2 (en) | User authentication method | |
JP3331329B2 (en) | Public verification possible request restoration blind signature method, apparatus and program recording medium | |
JP3292342B2 (en) | Digital signature method | |
JP3385519B2 (en) | Validity authentication method and system | |
JP3278916B2 (en) | User authentication method | |
JP2000231330A (en) | Blind signature method, system therefor, and device and program recording medium therefor | |
JPH07281595A (en) | Authentication method | |
JP2000221882A (en) | Multiple digital signature method, system therefor, device therefor and program recording medium therefor |