JPH10276185A - Id base authentication and key delivery method - Google Patents

Id base authentication and key delivery method

Info

Publication number
JPH10276185A
JPH10276185A JP9079745A JP7974597A JPH10276185A JP H10276185 A JPH10276185 A JP H10276185A JP 9079745 A JP9079745 A JP 9079745A JP 7974597 A JP7974597 A JP 7974597A JP H10276185 A JPH10276185 A JP H10276185A
Authority
JP
Japan
Prior art keywords
user
key
equation
authentication
public key
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
Application number
JP9079745A
Other languages
Japanese (ja)
Inventor
Takeshi Mito
健史 三戸
Yoshiki Samejima
吉喜 鮫島
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 Software Engineering Co Ltd
Original Assignee
Hitachi Software Engineering Co 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 Software Engineering Co Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP9079745A priority Critical patent/JPH10276185A/en
Publication of JPH10276185A publication Critical patent/JPH10276185A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To simplify the management of a public key and to facilitate the operation and management of an entire system by using the public key that is easily understood by users in the method and system where users authenticate each other before communication via a network and a session key used for succeeding communication is delivered. SOLUTION: In the ID base authentication.key delivery method where a couple of clients being communication opposite parties authenticates with each other, an encryption key used in common by the clients is generated and the encryption key is used to encrypt a message for communication, a public key U and a secret key in a relation of U<d> =S, S<e> =(U<d> )<e> =U (where e.d=1(mod L),(p-1).(q-1):mod L, p, q are prime numbers) are assigned to the clients to allow mutual authentication and generation of an encryption key.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、ネットワークを介
してユーザがお互いに情報を交換する場合に、その通信
を安全確実に行うために、実際の通信を行う前の前処理
を行う方法に関するものであり、特に、相手が本当に自
分が通信を行おうとする相手なのかを名前等のIDを用
いて相互に認証するIDベース認証と、互いに相手を確
認し合った後に、以後行おうとする通信を第三者に盗聴
されても大丈夫なように、通信文の暗号化および復号化
やメッセージ認証子の生成・検証のためのセッション鍵
を配送する鍵配送の方法に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for performing pre-processing before performing actual communication in order to securely perform communication when users exchange information with each other via a network. In particular, ID-based authentication, which mutually authenticates the other party by using an ID such as a name to determine whether or not the other party really wants to perform communication, and communication that is to be performed thereafter after mutually confirming the other party The present invention relates to a key distribution method for distributing a session key for encrypting and decrypting a communication message and generating and verifying a message authenticator so that a third party can eavesdrop on it.

【0002】[0002]

【従来の技術】図11に示すようなコンピュータ等の通
信ネットワークを結合したネットワークでは、ネットワ
ーク11で接続された複数のユーザ12,13,14
は、ネットワーク11を介して電子メール等の電子メッ
セージをお互いに配送することができる。
2. Description of the Related Art In a network in which a communication network such as a computer as shown in FIG. 11 is connected, a plurality of users 12, 13, 14
Can deliver electronic messages such as electronic mail to each other via the network 11.

【0003】この時に問題となるものに、ユーザ同士の
お互いの認証がある。ユーザ(A)12がユーザ(B)
14とメッセージのやり取りを行おうとする時、メッセ
ージの受信者が確かにユーザ(B)14であると、ユー
ザ(A)12は確認できなければならない。つまり、他
のユーザ(C)13が、ユーザ(B)14等の他人を偽
る行為(なりすまし)を防ぐ手段が必要である。同様
に、メッセージ受信者(この場合、ユーザ(B)14)
も、メッセージ発信者がユーザ(A)12であることを
確認できなければならない。
[0003] At this time, there is a problem that the users mutually authenticate each other. User (A) 12 is User (B)
When trying to exchange a message with 14, user (A) 12 must be able to confirm that the recipient of the message is indeed user (B) 14. In other words, there is a need for a means for preventing another user (C) 13 from impersonating another person such as the user (B) 14 (spoofing). Similarly, the message recipient (in this case, user (B) 14)
Must be able to confirm that the message sender is the user (A) 12.

【0004】このような認証を行う手段の一つとして、
ゼロ知識証明がある。
One of the means for performing such authentication is as follows.
There is zero knowledge proof.

【0005】ゼロ知識証明とは、以下のようなものであ
る。証明者とは、自分が確かにその本人であることを証
明しようとするものであり、検証者とは、証明者の証明
が正しいかどうかを検証する者である。ゼロ知識証明と
は、証明者が秘密の情報を、検証者を含め他人に明かす
ことなく、検証者とメッセージのやり取りを行いなが
ら、その秘密を知っていることを検証者に対して証明す
る方法である。検証者は、秘密の情報を証明者が知って
いると認めれば、証明者を本人と認めるようにする。
[0005] The zero knowledge proof is as follows. The prover tries to prove that he or she is who he claims to be, and the verifier is a person who verifies that the prover's proof is correct. Zero-knowledge proof is a method in which a prover proves to a verifier that he / she knows the secret while exchanging messages with the verifier without exposing secret information to others including the verifier. It is. If the verifier finds that the secret information is known to the prover, the verifier recognizes the prover as the principal.

【0006】ゼロ知識証明を行う基本的なアルゴリズム
であるFiat-Shamir法について図2を参照して説明す
る。
The Fiat-Shamir method, which is a basic algorithm for performing zero knowledge proof, will be described with reference to FIG.

【0007】nを大きな合成数とする。合成数とは、素
数でない整数のことである。したがって、素数の積で表
わすことができる。ユーザ(A)12を証明者、ユーザ
(B)14を検証者とする。そして、ユーザ(B)14
はユーザ(A)12が次の「数1」となるS(秘密情報、
秘密鍵)を知っていることによりユーザ(A)12の認
証を行う。
[0007] Let n be a large composite number. A composite number is a non-prime integer. Therefore, it can be represented by a product of prime numbers. The user (A) 12 is a prover and the user (B) 14 is a verifier. And user (B) 14
Is S (secret information, in which the user (A) 12 becomes the next “expression 1”
The user (A) 12 is authenticated by knowing the secret key).

【0008】[0008]

【数1】 (Equation 1)

【0009】nが非常に大きな素数の積である場合、n
を素因数分解するのは困難であることが知られている。
更に、nが素因数分解できなければ、Znでの平方根を
求めるのは困難であることも知られている。ここでZn
とは、0以上n未満の整数の集合{0,1,2,……n-1}のこ
とである。したがって、TからSを求めることは非常に
難しく、Tを公開してもSは秘密情報と見做すことがで
きる。
If n is a product of very large prime numbers, then n
Is known to be difficult to factor.
It is also known that it is difficult to find the square root in Zn if n cannot be factored. Where Z n
Is a set of integers from 0 to less than n, {0, 1, 2,..., N-1}. Therefore, it is very difficult to find S from T. Even if T is made public, S can be regarded as secret information.

【0010】ユーザ(B)14は、T(ユーザAの公開
情報、公開鍵)を知っているものとする。まず、ユーザ
(A)12は乱数R∈Znを生成する(ステップ12
1)。次に、「数2」を生成しXをユーザ(B)14に
送る(ステップ122)。
It is assumed that the user (B) 14 knows T (public information and public key of the user A). First, the user (A) 12 generates a random number r ∈ Z n (Step 12
1). Next, “Expression 2” is generated and X is sent to the user (B) 14 (step 122).

【0011】[0011]

【数2】 (Equation 2)

【0012】Xを受け取ったユーザ(B)14(ステッ
プ126)は、b∈{0,1}を二者択一的にランダムに選
び(ステップ127)、bをユーザ(A)12に送る
(ステップ128)。bを受け取ったユーザ(A)12
(ステップ123)は、「数3」を計算し(ステップ1
24)、Yをユーザ(B)14に送る(ステップ12
5)。
The user (B) 14 (step 126) having received X selects b∈ {0,1} at random as an alternative (step 127), and sends b to the user (A) 12 (step 127). Step 128). User (A) 12 who received b
(Step 123) calculates “Equation 3” (Step 1)
24), send Y to user (B) 14 (step 12)
5).

【0013】[0013]

【数3】 (Equation 3)

【0014】b=0の場合、Y=RSとなり、Sの情報
は漏れない。b=1の場合、Y=RSとなるが、Rを求
めることは困難なため、Sを求めることも困難となる。
When b = 0, Y = RS, and the information of S does not leak. When b = 1, Y = RS. However, since it is difficult to obtain R, it is also difficult to obtain S.

【0015】そして、Yを受け取ったユーザ(B)14
(ステップ129)は、「数4」が成り立つかどうか検
証する(ステップ130)。
The user (B) 14 receiving Y
(Step 129) verifies whether “Equation 4” holds (Step 130).

【0016】[0016]

【数4】 (Equation 4)

【0017】ここまでを1ラウンドとし、これをk回
(kラウンド)繰り返すと、ユーザ(A)12がSを知
らない場合、ユーザ(A)12が検証をクリアできる確
率は「数5」となる。すなわち、ユーザ(A)12がk
回後に正しく認証される確率は「数6」である。したが
って、充分大きなkにおいて認証が行われた場合、ユー
ザ(B)14は、ユーザ(A)12をユーザ(A)12
本人であると認めて構わない。
If the above is one round and this is repeated k times (k rounds), if the user (A) 12 does not know S, the probability that the user (A) 12 can clear the verification is represented by "Equation 5". Become. That is, the user (A) 12 has k
The probability of being correctly authenticated after the round is “Equation 6”. Therefore, when the authentication is performed at a sufficiently large k, the user (B) 14 replaces the user (A) 12 with the user (A) 12.
You may admit that you are yourself.

【0018】[0018]

【数5】 (Equation 5)

【0019】[0019]

【数6】 (Equation 6)

【0020】以上では、ユーザ(B)14がユーザ
(A)12を認証することしかしていないが、ユーザ
(A)12がユーザ(B)14を認証する場合は、以上
と対称的な操作を行えばよい。このようにして、通信を
行なうもの同士が互いに認証を行うことができる。
In the above description, the user (B) 14 only authenticates the user (A) 12. However, when the user (A) 12 authenticates the user (B) 14, an operation symmetrical to the above is performed. Just do it. In this way, communicating parties can authenticate each other.

【0021】次に、問題となるのは、送信する情報の安
全性である。ネットワーク上では、通信当事者以外の者
がメッセージの内容を盗むこと(盗聴)ができる。そこ
で、メッセージを暗号化することが必要となるが、それ
には暗号鍵が必要となる。メッセージ認証子の生成・検
証にも暗号鍵は必要である。
The second problem is the security of the information to be transmitted. A person other than the communication party can steal (eavesdrop) the contents of the message on the network. Thus, it is necessary to encrypt the message, which requires an encryption key. An encryption key is also required for generating and verifying a message authenticator.

【0022】公開鍵配送法は、公開鍵を用いて暗号鍵を
共有する方法であり、これを用いて安全でない通信路を
介して暗号鍵を生成できる。
The public key distribution method is a method for sharing an encryption key using a public key, and using this method, an encryption key can be generated via an insecure communication path.

【0023】暗号鍵を共有するための具体的なアルゴリ
ズムにDiffie -Hellman型公開鍵配送法がある。このD
iffie -Hellman型公開鍵配送法を用いた暗号鍵(以降
は、セッション鍵と呼ぶことにする)の配送方法を図1
3を参照して説明する。
A specific algorithm for sharing an encryption key is the Diffie-Hellman public key distribution method. This D
Figure 1 shows a method of delivering an encryption key (hereinafter referred to as a session key) using the iffie-Hellman public key delivery method.
3 will be described.

【0024】まず、pを素数とし、有限体GF(p)の
ある固定された原始根をgとする。有限体GFとは、代
数系GFが有限集合であり、GFの要素が加法可換群を
成し、GFから0を除いた要素が乗法可換群を成し、G
Fの要素が分配法則(すなわち、x,y,z∈GFなら
ばx・(y+z)=x・y+x・zかつ(y+z)・x
=y・x+z・xが成り立つ)を満たすものである。原
始根gとは、GFの単位元を1とすると、「数7」とな
る最小の正整数kがp−1であるg(∈GF)のことで
ある。pとgは、前もってユーザ全員に公開しておき、
これが公開鍵となる。
First, p is a prime number, and a fixed primitive root having a finite field GF (p) is g. The finite field GF is a finite set in which the algebraic system GF is a finite set, elements of GF form an additive commutative group, elements excluding 0 from GF form a multiplicative commutative group, and G
If the element of F is a distribution law (ie, x, y, z∈GF, x · (y + z) = x · y + x · z and (y + z) · x
= Y · x + z · x holds). The primitive root g is g (∈GF) in which the minimum positive integer k that becomes “Equation 7” is p−1, where the unit element of GF is 1. p and g are open to all users in advance,
This is the public key.

【0025】[0025]

【数7】 (Equation 7)

【0026】ユーザ(A)12とユーザ(B)14がセ
ッション鍵を共有する方法を説明する。ユーザ(A)1
2はX1∈Zp-1をランダムに選び、秘密に保持しておく
(ステップ131)。ユーザ(B)14も同様に、整数
2∈Zp-1をランダムに選び、秘密に保持しておく(ス
テップ136)。そしてユーザ(A)12は、「数8」
を計算し(ステップ132)、Y1をユーザ(B)14に
送る(ステップ133)。ユーザ(B)14も同様に、
「数9」を計算し(ステップ137)、Y2をユーザ
(A)12に送る(ステップ138)。
A method for sharing the session key between the user (A) 12 and the user (B) 14 will be described. User (A) 1
2 randomly selects X 1 ∈Z p -1 and keeps it secret (step 131). Similarly, the user (B) 14 randomly selects an integer X 2 ∈Z p−1 and keeps it secret (step 136). Then, the user (A) 12 obtains “Equation 8”
The calculated (step 132), and sends the Y 1 to the user (B) 14 (step 133). Similarly, the user (B) 14
Calculate the "Number 9" (Step 137), and sends the Y 2 to the user (A) 12 (step 138).

【0027】[0027]

【数8】 (Equation 8)

【0028】[0028]

【数9】 (Equation 9)

【0029】このようにY1とY2を交換しあった後で
(ステップ134およびステップ139)、各々セッシ
ョン鍵Kを次のように生成する。ユーザ(A)12は、
「数10」を計算し、セッション鍵とする(ステップ1
35)。ユーザ(B)14も同様に、「数11」を計算
し、セッション鍵とする(ステップ140)。
After exchanging Y 1 and Y 2 (steps 134 and 139), a session key K is generated as follows. The user (A) 12
"Equation 10" is calculated and used as the session key (step 1
35). Similarly, the user (B) 14 also calculates “Equation 11” and uses it as a session key (step 140).

【0030】このセッション鍵Kを用いて、ユーザ
(A)12とユーザ(B)14はお互いに暗号化したメ
ッセージを用いて通信を行うことができる。
Using the session key K, the user (A) 12 and the user (B) 14 can communicate with each other by using mutually encrypted messages.

【0031】[0031]

【数10】 (Equation 10)

【0032】[0032]

【数11】 [Equation 11]

【0033】本発明も、Diffie -Hellman型公開鍵配送
法を部分的に応用している。
The present invention also partially applies the Diffie-Hellman public key distribution method.

【0034】[0034]

【発明が解決しようとする課題】Fiat-Shamir法で認証
を行う場合、検証者は証明者毎に「数12」を知ってい
なければならない。
When performing authentication by the Fiat-Shamir method, the verifier must know "Equation 12" for each prover.

【0035】[0035]

【数12】 (Equation 12)

【0036】Tは、ユーザにとっては普通意味の無い,
大きな桁数(例えば512ビットや何百、何千桁)の数
字であり、そのためTの管理情報、つまりそれぞれの証
明者(ユーザ)とその公開情報Tのテーブル(以降、テ
ーブルと呼ぶ)をシステムに組み込まなくてはならな
い。しかし、テーブルには偽造、改竄に対する処置を施
さねばならず、維持、管理が大変である。
T is normally meaningless to the user,
It is a number with a large number of digits (for example, 512 bits or hundreds or thousands of digits). Therefore, management information of T, that is, a table of each prover (user) and its public information T (hereinafter, referred to as a table) is used in the system. Must be incorporated into However, countermeasures against forgery and falsification must be applied to the table, and maintenance and management are difficult.

【0037】そこで、Tを、ユーザID、ユーザ名、住
所、通り名やマシン名などの人間に憶えやすいものにす
れば、ユーザが記憶できる範囲内ではテーブルを使用し
ないでも済む。このようにすれば、テーブルを用いる場
合でも、その構成や要素(T)が意味のあるものとなる
ので作成し易いし、Tがユーザに憶えやすいために、テ
ーブルが偽造・改竄を受けたとしても、ユーザがそれに
気づき易い。またテーブルを消失したとしても、そのデ
ータを復旧し易い。このように、Tがユーザに解り易い
ものであると、システムの運用に対して様々な利点が生
じ、ユーザも利用し易い。
Therefore, if T is set to a value that can be easily remembered by a human, such as a user ID, a user name, an address, a street name, or a machine name, it is not necessary to use a table as long as the user can store the table. In this way, even when a table is used, its structure and element (T) are meaningful, so that it is easy to create, and since T is easy for the user to remember, it is assumed that the table has been forged or falsified. However, it is easy for the user to notice it. Even if the table is lost, the data can be easily recovered. As described above, if T is easy for the user to understand, various advantages occur for the operation of the system, and the user can easily use the system.

【0038】しかし、Fiat-Shamir法では、Tを解り易
いものにしようとすると、Tから秘密鍵Sを作ることは
非常に困難(それができれば、この方法の有用性も無く
なる)であるので、Tを解り易い情報とすることはでき
ない。したがって、Tはユーザにとっては無意味なワー
ド(ユーザの秘密鍵の2乗)とならざるを得ず、どうし
てもテーブルが必要となる。このため、テーブル管理
(配送、偽造、改竄防止等)のコストが大きいという問
題がある。
However, in the Fiat-Shamir method, if it is attempted to make T easy to understand, it is very difficult to generate a secret key S from T (if this is possible, the usefulness of this method will be lost). T cannot be easily understood information. Therefore, T must be a meaningless word (square of the user's secret key) for the user, and a table is absolutely necessary. Therefore, there is a problem that the cost of table management (delivery, counterfeiting, falsification prevention, etc.) is large.

【0039】本発明は、Fiat-Shamir法で言うところの
公開鍵Tがユーザに解り易いものであり、センタ(認証
を司る所)が公開鍵Tから秘密鍵Sを作ることは簡単で
あるが、部外者(システムに対する攻撃者)が公開鍵T
から秘密鍵Sを求めることが困難であり、公開鍵Tのテ
ーブルの管理が不要、若しくは簡単となり、システムの
運営が容易となるIDベース認証・鍵配送方法を提供す
ることを目的とするものである。
According to the present invention, the public key T referred to in the Fiat-Shamir method is easy for the user to understand, and it is easy for the center (the place responsible for authentication) to create the secret key S from the public key T. , An outsider (an attacker against the system) uses public key T
It is an object of the present invention to provide an ID-based authentication and key distribution method that makes it difficult to obtain the secret key S from the public domain, and that the management of the table of the public key T is unnecessary or simple, and the system can be easily operated. is there.

【0040】[0040]

【課題を解決するための手段】上記目的を達成するため
に、本発明のIDベース認証・鍵配送方法は、通信相手
となる1対のクライアントが互いに相手を認証し合った
後に、当該1対のクライアントで共有する暗号鍵を生成
し、この暗号鍵を用いてメッセージを暗号化して通信す
るためのIDベース認証・鍵配送方において、それぞれ
のクライアントに、Uのd乗=S,Sのe乗=(Uのd
乗)のe乗=U(但し、e・d=1(mod L),(p-1)・(q-1)=
mod L でp,qは素数)の関係の公開鍵Uおよび秘密鍵S
を割り当てて互いの認証と暗号鍵の生成を行うことを特
徴とする。
In order to achieve the above object, an ID-based authentication / key distribution method according to the present invention is provided. In the ID-based authentication and key distribution method for generating an encryption key shared by all clients and encrypting and communicating a message using the encryption key, each client is provided with U raised to the power of d = S, S e Power = (U of d
To the power of e = U (where e · d = 1 (mod L), (p−1) · (q−1) =
mod L, p and q are prime numbers) public key U and secret key S
, And mutual authentication and generation of an encryption key are performed.

【0041】Uのd乗=Sの関係にすることにより、公
開鍵Uとしてユーザが憶え易いユーザID、住所、機器
名称などを使用しても、その公開鍵をd乗するだけで、
秘密鍵Sを鍵配送センタ等で容易に作成することができ
る。
By making the relationship of U raised to the power d = S, even if a user ID, address, device name, or the like that can be easily remembered by the user is used as the public key U, the public key is simply raised to the power d.
The secret key S can be easily created at a key distribution center or the like.

【0042】認証は、Fiat-Shamir法を適用し、図12
で説明した「Sのb乗」を「Sのe乗」に置き換えて行
う。また、暗号鍵の生成は、Diffie -Hellman型公開鍵
配送法を部分的に応用して行う。
For the authentication, the Fiat-Shamir method is applied.
This is performed by replacing "S raised to the power of b" described in "2" with "S raised to the power of e". Further, the encryption key is generated by partially applying the Diffie-Hellman public key distribution method.

【0043】[0043]

【発明の実施の形態】以下、本発明の実施形態を図面に
より詳細に説明する。
Embodiments of the present invention will be described below in detail with reference to the drawings.

【0044】まず、本発明を適用するシステムのエンテ
ィティには、認証や鍵配送を司るセンタ(あるいはプロ
グラム)や、システムを利用するユーザが最低限でも含
まれる。ユーザ同士で認証や鍵配送を行う。例として
は、クライアント・サーバシステム(CSSシステム)
のクライアントとサーバ、携帯端末とホスト、情報サー
ビスセンタとその利用者などが挙げられる。勿論、ユー
ザとセンタ間で行う場合もある。
First, the entities of the system to which the present invention is applied include at least a center (or a program) responsible for authentication and key distribution, and at least a user who uses the system. Authentication and key distribution are performed between users. An example is a client / server system (CSS system)
Clients and servers, mobile terminals and hosts, information service centers and their users, and the like. Of course, there is also a case where it is performed between the user and the center.

【0045】まず、センタは以下の操作を行う。まず、
大きな素数、pとq(共に256ビット以上)を生成す
る。n=p×q,L=lcm(p−1,q−1)とす
る。。ここで、lcm(p−1,q−1)はp−1とq
−1の最小公倍数である。e×d=1(mod L)と
なるeとdを求める。mをn以下の素数とし、gは有限
体GF(m)の原始根とする。
First, the center performs the following operations. First,
Generate large prime numbers, p and q (both 256 bits or more). It is assumed that n = p × q and L = 1 cm (p−1, q−1). . Here, lcm (p-1, q-1) is p-1 and q
Least common multiple of -1. e and d satisfying e × d = 1 (mod L) are obtained. Let m be a prime number less than or equal to n, and g be the primitive root of the finite field GF (m).

【0046】さらに、センタは各ユーザUに「数13」
を配布する。ここで、添え字のUはユーザのインデック
スであり、「数14」となる。
Further, the center assigns "Equation 13" to each user U.
Distribute. Here, the subscript U is the index of the user, and is represented by “Equation 14”.

【0047】[0047]

【数13】 (Equation 13)

【0048】[0048]

【数14】 [Equation 14]

【0049】SUはユーザUの秘密鍵である。UUは、ユ
ーザに覚え易い、ユーザUに関連するユーザIDやマシ
ン名等の一意的な名称であり、ユーザUの公開鍵であ
る。認証はユーザUがSUを知っているかどうかで行
う。
S U is the secret key of user U. U U is a unique name such as a user ID or a machine name related to the user U that is easy for the user to remember, and is a public key of the user U. Authentication is carried out on whether or not the user U knows the S U.

【0050】センタの生成した以上の情報は、通信をあ
るグループ内で行うとすると、図1のように分類でき
る。
The above information generated by the center can be classified as shown in FIG. 1 if communication is performed within a certain group.

【0051】グループは符号100で示すような情報を
共有する。そのうち、グループ内の公開情報は符号10
1で示すようにm,n,g,e,UU,UV・・・等であ
る。ここで、U*はユーザ*の公開鍵である。センタの
秘密情報は符号102で示すようにp,q,d,S*
・・等である。S*はユーザ*の秘密鍵であり、ユーザ
*以外に知られないようにユーザ*にのみ配布(符号1
05および106で示す)するものとする。ユーザUが
個人で所有して秘密にする情報(秘密鍵)は符号103
で示すようにSUである。この個人情報が漏れると、他
人がユーザUに成り済ますことができるので、注意しな
ければならない。
The groups share information as indicated by reference numeral 100. The public information in the group is 10
1, m, n, g, e, U U , U V. Here, U * is the public key of user *. The secret information of the center is represented by p, q, d, S *.
... etc. S * is a secret key of the user *, and is distributed only to the user * so as not to be known to anyone other than the user * (code 1
05 and 106). The information (private key) which the user U owns and keeps secret is denoted by reference numeral 103.
It is S U as shown by. If this personal information is leaked, another person can impersonate the user U, so care must be taken.

【0052】次に、iを認証の試行回数とする。最初は
U0=1,RU0=0(以後、インデックスの右側は試行
回数とする)とする。kUi,RUiはセッション鍵を生成
するための変数である。
Next, let i be the number of trials of authentication. Initially, k U0 = 1 and R U0 = 0 (hereinafter, the right side of the index is the number of trials). k Ui and R Ui are variables for generating a session key.

【0053】以下の説明では、セッション鍵の生成方法
を3種類(それぞれtype a,type b,typ
e cと呼ぶ)述べる。その生成方法は、最初に適当な
タイプを選び、証明者と検証者はそのタイプを認証の始
まりから終わりまで用いる。システムは、全てのタイプ
を実装している必要はなく、最低でもそのうちの1種類
を実装していれば良い。kUiは全てのタイプで使用する
が、RUiはタイプcでしか用いない。
In the following description, there are three types of session key generation methods (type a, type b, and type, respectively).
ec). The generation method first selects an appropriate type, and the prover and the verifier use the type from the beginning to the end of authentication. The system does not need to implement all types, and it is sufficient that at least one of them is implemented. k Ui is used for all types, but R Ui is only used for type c.

【0054】本発明のアルゴリズムの全体の流れを図2
に示し、以下説明する。ここでは、ユーザAとユーザB
が互いに認証し合い、セッション鍵生成に必要な情報を
配送し合うことを考える。
FIG. 2 shows the overall flow of the algorithm of the present invention.
And will be described below. Here, user A and user B
Consider that they authenticate each other and deliver information needed to generate a session key.

【0055】まず、セッション鍵生成方法を選択する
(ステップ201)。前述したように、生成方法には3
種類用意しているので、どれか1つを選び、手続が終る
まではその選択したものを使用する。
First, a session key generation method is selected (step 201). As mentioned above, the generation method is 3
Since one is prepared, select one and use that one until the procedure is completed.

【0056】次に、ユーザBがユーザAの認証を行う
(ステップ202)。さらにユーザAがユーザBの認証
を行う(ステップ203)。ステップ202とステップ
203では、並行してセッション鍵生成のための作業も
行う。さらにステップ204では、認証作業を続行する
かどうかを判断する。適当な回数を繰り返したら認証を
終了する。
Next, user B authenticates user A (step 202). Further, user A authenticates user B (step 203). In steps 202 and 203, work for generating a session key is also performed in parallel. Further, in step 204, it is determined whether or not to continue the authentication work. The authentication is terminated after repeating an appropriate number of times.

【0057】最後に、お互いにセッション鍵を生成して
(ステップ205)、この認証及び鍵配送の手続を終了
する(ステップ206)。
Finally, a session key is generated with each other (step 205), and the procedure of authentication and key distribution ends (step 206).

【0058】図2のステップ202について、図3を用
いて詳しく説明する。
Step 202 of FIG. 2 will be described in detail with reference to FIG.

【0059】まず、ユーザAは、r1i∈Zm-1を生成す
る(ステップ301)。さらに、「数15」を計算し
(ステップ302)、また「数16」を計算する(ステ
ップ303)。そして、X1iをユーザBに送信する(ス
テップ304)。
First, the user A generates r 1i ∈Z m-1 (step 301). Further, “Equation 15” is calculated (Step 302), and “Equation 16” is calculated (Step 303). Then, X1i is transmitted to the user B (step 304).

【0060】[0060]

【数15】 (Equation 15)

【0061】[0061]

【数16】 (Equation 16)

【0062】ユーザBは、ユーザAからX1iを受け取る
(ステップ311。さらにユーザBは、乱数r2i∈Z
m-1と検査ビットb1i∈{0,1}をランダムに生成する(ス
テップ312)。そして、「数17」を計算し(ステッ
プ313)、さらに「数18」を計算する(ステップ3
14)。次に、ユーザAにX2iとb1iを送る(ステップ
315)。
User B receives X 1i from user A (step 311. User B also receives a random number r 2i ∈Z
m-1 and check bits b 1i ∈ {0,1} are randomly generated (step 312). Then, “Expression 17” is calculated (Step 313), and “Expression 18” is further calculated (Step 3).
14). Next, X 2i and b 1i are sent to user A (step 315).

【0063】[0063]

【数17】 [Equation 17]

【0064】[0064]

【数18】 (Equation 18)

【0065】ユーザAは、ユーザBからX2iとb1iを受
け取る(ステップ305)。さらに、ユーザAは検査ビ
ットb2i∈{0,1}をランダムに生成し(ステップ30
6)、「数19」を計算する(ステップ307)。そし
て、ユーザBにY1iと検査ビットb2iを送る(ステップ
308)。
User A receives X 2i and b 1i from user B (step 305). Further, the user A randomly generates the check bits b 2i ∈ {0,1} (step 30).
6), "Equation 19" is calculated (step 307). Then, Y 1i and check bit b 2i are sent to user B (step 308).

【0066】[0066]

【数19】 [Equation 19]

【0067】ユーザBは、ユーザAからY1iと検査ビッ
トb2iを受け取る(ステップ316)。次に、「数2
0」であることを確認する(ステップ317)。ここ
で、「数20」のU1はユーザAの公開鍵、S1はユー
ザAの秘密鍵に相当する。
User B receives Y 1i and check bit b 2i from user A (step 316). Next, "Equation 2
It is confirmed that it is "0" (step 317). Here, U1 of “Equation 20” corresponds to the public key of the user A, and S1 corresponds to the secret key of the user A.

【0068】[0068]

【数20】 (Equation 20)

【0069】ところで、b1i=0の場合、「数21」で
ある。X1iはステップ302でZm上で計算されたもの
である。これは後にセッション鍵の生成に用いるので、
1i=0の時のY1iを便宜上、「数22」と記述するこ
とにする。
By the way, when b 1i = 0, “ Equation 21” is obtained. X 1i has been calculated on Z m in step 302. This will be used later to generate the session key,
Y 1i when b 1i = 0 is described as “ Equation 22” for convenience.

【0070】[0070]

【数21】 (Equation 21)

【0071】[0071]

【数22】 (Equation 22)

【0072】もし、「数23」と「数24」がmod
n上で一致すれば認証を続行し(ステップ318)、一
致しなければ中止し、否認通知をユーザAに送る(ステ
ップ319)。続行する場合(ステップ318)は図2
のステップ203に移る。
If “equation 23” and “equation 24” are mod
If they match on n, the authentication is continued (step 318), and if they do not match, the authentication is stopped and a denial notice is sent to user A (step 319). To continue (step 318), refer to FIG.
Move to step 203.

【0073】[0073]

【数23】 (Equation 23)

【0074】[0074]

【数24】 (Equation 24)

【0075】図2のステップ203の詳細について、図
4を用いて説明する。ユーザBは、「数25」を計算し
(ステップ411)、ユーザAにY2iを送信する(ステ
ップ412)。そして、ユーザBはセッション鍵生成の
ための演算をする(ステップ413)。
The details of step 203 in FIG. 2 will be described with reference to FIG. User B calculates “Equation 25” (step 411), and transmits Y 2i to user A (step 412). Then, the user B performs an operation for generating a session key (step 413).

【0076】[0076]

【数25】 (Equation 25)

【0077】具体的には図8に示すような手順で計算す
る。すなわち、b1i=1、あるいはb2i=1の時は何も
しない(図8ステップ501,502)。b1i=b2i
0の時は以下のようにする。セッション鍵の生成方法に
は3種類(type a,type b,type c)が
あるが、最初にこの手続きに用いると決めたタイプを選
択する(ステップ503)。type aの場合、「数
26」を計算する(ステップ504)。type bの
場合、「数27」を計算する(ステップ505)。ty
pe cの場合、「数28」を計算する(ステップ50
6)。
More specifically, the calculation is performed according to the procedure shown in FIG. That is, when b 1i = 1 or b 2i = 1, nothing is performed (steps 501 and 502 in FIG. 8). b 1i = b 2i =
At the time of 0, it is as follows. There are three types of session key generation methods ( type a, type b, and type c). First, the type determined to be used in this procedure is selected (step 503). In the case of type a, “equation 26” is calculated (step 504). In the case of type b, “expression 27” is calculated (step 505). ty
In the case of “pe c”, “Expression 28” is calculated (step 50).
6).

【0078】[0078]

【数26】 (Equation 26)

【0079】[0079]

【数27】 [Equation 27]

【0080】[0080]

【数28】 [Equation 28]

【0081】そして、R2i=R2,(i-1)+r2i(mod (m-
1))を計算する(ステップ507)。
Then, R 2i = R 2, (i-1) + r 2i (mod (m−
1)) is calculated (step 507).

【0082】図4に戻り、ユーザAはユーザBからY2i
を受け取る(図4ステップ401)。次に、「数29」
であることを確認するが(ステップ402)、もし「数
30」が「数31」とmod n上で一致すれば認証を
続行し(ステップ403)、一致しなければ中止し、否
認通知をユーザBに送る(ステップ404)。
Referring back to FIG. 4, the user A receives the Y 2i from the user B.
Is received (step 401 in FIG. 4). Next, "number 29"
(Step 402), if “expression 30” matches “expression 31” on mod n, the authentication is continued (step 403). If not, the authentication is stopped and the denial notification is sent to the user. B (step 404).

【0083】[0083]

【数29】 (Equation 29)

【0084】[0084]

【数30】 [Equation 30]

【0085】[0085]

【数31】 (Equation 31)

【0086】ところで、b2i=0の場合、「数32」と
なる。x2iは図3のステップ313でZm上で計算され
たものである。これは後にセッション鍵の生成に用いる
ので、b2i=0の時のY2iを便宜上、「数33」と記述
することにする。
By the way, when b 2i = 0, “expression 32” is obtained. x 2i is calculated on Z m in step 313 of FIG. Since this is used later for generating a session key, Y 2i when b 2i = 0 is described as “ Equation 33” for convenience.

【0087】[0087]

【数32】 (Equation 32)

【0088】[0088]

【数33】 [Equation 33]

【0089】続行する場合(ステップ403)は、図2
のステップ204に移る。
To continue (step 403), refer to FIG.
Move to step 204.

【0090】次の図2のステップ204の詳細につい
て、図6を用いて詳細に説明する。
Next, the details of step 204 in FIG. 2 will be described in detail with reference to FIG.

【0091】ユーザAは、セッション鍵生成のための演
算を行う(ステップ601)。
User A performs an operation for generating a session key (step 601).

【0092】具体的には、図8に示すように、b1i=1
あるいはb2i=1の時は何もしない(図8のステップ8
02)。
Specifically, as shown in FIG. 8, b 1i = 1
Alternatively, nothing is performed when b 2i = 1 (step 8 in FIG. 8).
02).

【0093】しかし、b1i=b2i=0の時は以下のよう
にする。セッション鍵の生成方法には前述のように3種
(type a,type b,type c)がある
が、最初にこの手続きに用いると決めたタイプを選択す
る(ステップ803)。type aの場合、「数3
4」を計算する(ステップ804)。type bの場
合、「数35」を計算する(ステップ805)。typ
e cの場合、「数36」を計算する(ステップ80
6)。
However, when b 1i = b 2i = 0, the following is performed. As described above, there are three types of session key generation methods ( type a, type b, and type c). First, a type determined to be used in this procedure is selected (step 803). In the case of type a, “Expression 3
4 ”is calculated (step 804). In the case of type b, “expression 35” is calculated (step 805). type
In the case of ec, “Expression 36” is calculated (step 80)
6).

【0094】[0094]

【数34】 (Equation 34)

【0095】[0095]

【数35】 (Equation 35)

【0096】[0096]

【数36】 [Equation 36]

【0097】そして、R1i=R1,(i-1)+r1i(mod (m-
1))を計算する(ステップ807)。
Then, R 1i = R 1, (i-1) + r 1i (mod (m−
1)) is calculated (step 807).

【0098】認証の正確性を高めるには、以上の処理を
適当な回数繰り返す。そして、試行をこれ以上続けるか
どうか判断する(図6のステップ602)。この場合の
判断の基準は2つあり、1つは認証の正確性が充分であ
るかということである。もう1つは、b1i=b2i=0の
場合がなければ、有用なセッション鍵を生成できないの
で、このような場合が今までの試行であったかどうかで
ある。なければ認証を続行しなければならない。
To increase the accuracy of the authentication, the above processing is repeated an appropriate number of times. Then, it is determined whether or not to continue the trial (step 602 in FIG. 6). There are two criteria for the determination in this case. One is whether the authentication accuracy is sufficient. The other is whether or not such a case has been a trial since a useful session key cannot be generated unless b 1i = b 2i = 0. If not, authentication must continue.

【0099】更に認証を続ける場合は、図2のステップ
202に戻り(ステップ604)、認証を終了する場合
は、図2のステップ205へ進む(ステップ603)。
If the authentication is to be continued, the process returns to step 202 in FIG. 2 (step 604). If the authentication is to be ended, the process proceeds to step 205 in FIG. 2 (step 603).

【0100】ここでは、試行をk回繰り返した後に、認
証を正常に終了し、図2のステップ205に移ったとし
て説明を進める。
Here, the description will proceed assuming that the authentication is normally completed after the trial is repeated k times, and the process proceeds to step 205 in FIG.

【0101】図2のステップ205の詳細について図1
1を用いて詳細に説明する。
FIG. 1 shows the details of step 205 in FIG.
1 will be described in detail.

【0102】まず、ユーザAは認証が無事に終了したこ
とをユーザBに知らせる(ステップ701)。ユーザB
はユーザAから認証終了の通知を受け取り(ステップ7
11)、さらにユーザAへ終了承認の通知を送る(ステ
ップ712)。ユーザAはユーザBからの認証終了通知
を受け取る(ステップ702)。
First, the user A notifies the user B that the authentication has been successfully completed (step 701). User B
Receives the notification of the end of the authentication from the user A (step 7)
11) Then, a notice of termination approval is sent to user A (step 712). User A receives the authentication end notification from user B (step 702).

【0103】ここでは、ユーザAから認証終了通知を送
り、ユーザBがそれを認める形をとっているが、ユーザ
Bが未だ認証手続に不満が残るのであれば、ユーザAに
対して認証続行の通知を送り、認証を続行させることも
できる。その場合は、図3のステップ301に移る。
Here, the user A sends an authentication end notification and the user B acknowledges the end of the authentication. However, if the user B is still unsatisfied with the authentication procedure, the user A is asked to continue the authentication. You can send a notification and let the authentication continue. In that case, the process proceeds to step 301 in FIG.

【0104】ユーザBから認証終了通知を送る場合は、
図4のステップ412の時に、Y2iと一緒にその通知を
ユーザAに伝える。ユーザAが終了に賛成であれば、ユ
ーザBに終了承認の通知を送るが、その時期にはY2i
検証(図4のステップ402)の前や後が考えられる。
まだ終了しないのであれば、認証続行の通知を送り返さ
なければならない。いずれにせよ、お互いに認証終了の
承認が得られたならば、ユーザAとユーザBは、各々セ
ッション鍵KSを生成する(図7のステップ703,7
13)。
When sending an authentication end notification from user B,
At step 412 in FIG. 4, the notification is transmitted to the user A together with Y 2i . If the user A agrees with the end, a notice of the end approval is sent to the user B. At this time, it may be before or after the verification of Y 2i (step 402 in FIG. 4).
If it is not done yet, it must send back a continuation notification. In any case, if mutual approval of the authentication is obtained, the user A and the user B respectively generate the session key K S (steps 703 and 7 in FIG. 7).
13).

【0105】ユーザAは具体的には、図9のような手順
でセッション鍵KSを生成する。セッション鍵の生成方
法には前述したように3種類用意されているが、最初に
この手続きに用いると決めたタイプを選択する(図9ス
テップ901)。
Specifically, the user A generates a session key K S according to the procedure shown in FIG. As described above, three types of session key generation methods are prepared. First, a type determined to be used in this procedure is selected (step 901 in FIG. 9).

【0106】type aの場合、「数37」を計算す
る(ステップ902)。type bの場合、「数3
8」を計算する(ステップ903)。type cの場
合、「数39」を計算する(ステップ904)。
In the case of type a, “expression 37” is calculated (step 902). In the case of type b, “Expression 3
8 ”(step 903). In the case of type c, “expression 39” is calculated (step 904).

【0107】[0107]

【数37】 (37)

【0108】[0108]

【数38】 (38)

【0109】[0109]

【数39】 [Equation 39]

【0110】ここで、ΠとΣは、b1i=b2i=0である
場合の全てについての積および和である。
Here, Π and Σ are products and sums for all cases where b 1i = b 2i = 0.

【0111】ユーザBは具体的には図10に示すような
手順でセッション鍵KSを生成する。セッション鍵の生
成方法には前述したように3種類用意されているが、最
初にこの手続きに用いると決めたタイプを選択する(図
10のステップ1001)。
The user B specifically generates a session key K S according to the procedure shown in FIG. As described above, three types of session key generation methods are prepared. First, a type determined to be used in this procedure is selected (step 1001 in FIG. 10).

【0112】type aの場合、「数40」を計算す
る(ステップ1002)。type bの場合、「数4
1」を計算する(ステップ1003)。type cの
場合、「数42」を計算する(ステップ1004)。
In the case of type a, “expression 40” is calculated (step 1002). In the case of type b, “Expression 4
"1" is calculated (step 1003). In the case of type c, “expression 42” is calculated (step 1004).

【0113】[0113]

【数40】 (Equation 40)

【0114】[0114]

【数41】 [Equation 41]

【0115】[0115]

【数42】 (Equation 42)

【0116】ここで、ΠとΣは、b1i=b2i=0である
場合の全てについての積および和である。
Here, Π and Σ are products and sums for all cases where b 1i = b 2i = 0.

【0117】ここまでで、ユーザの認証とセッション鍵
の配送が終了する(図7のステップ704,714)。
At this point, the authentication of the user and the delivery of the session key are completed (steps 704 and 714 in FIG. 7).

【0118】なお、上記の説明ではb1i=b2i=0とな
る場合のr1i,r2iの組みを全て利用して計算を行なっ
ているが、最初や最後にb1i=b2i=0となった場合の
1i,r2iの組みのみでも構わない。r1i,r2iの組み
が1組の場合は、typea,type b,type
cの結果は同じである。また、b1i=b2i=0であるr
1i,r2iの組みをある回数分だけ選択的に利用するので
も構わない。つまり、ユーザAとユーザBが利用するr
1i,r2iの組みが同一のものであるならば、セッション
鍵はr1i,r2iのどんな組み合わせで生成してもよい。
[0118] Incidentally, r 1i when the b 1i = b 2i = 0 in the above description, but by performing calculation using all the set of r 2i, first and last b 1i = b 2i = 0 In this case, only the combination of r 1i and r 2i may be used. When the set of r 1i and r 2i is one set, type, type b, type
The result of c is the same. Also, r where b 1i = b 2i = 0
A set of 1i and r 2i may be selectively used a certain number of times. That is, r used by user A and user B
If the pair of 1i and r 2i is the same, the session key may be generated by any combination of r 1i and r 2i .

【0119】また説明では、1回の試行につきユーザが
発生させる乱数r1i,r2iは1つであるが、これは複数
発生させても構わない。その場合は、検査ビットb1i
2iやその応答Y1i,Y2i等も乱数の数に応じて計算
し、認証と鍵配送作業に用いる。
In the description, the number of random numbers r 1i and r 2i generated by the user for one trial is one, but a plurality of random numbers may be generated. In that case, check bits b 1i ,
b 2i and its responses Y 1i , Y 2i, etc. are also calculated according to the number of random numbers and used for authentication and key distribution.

【0120】例えば、ユーザが乱数をs回発生させた場
合、検査ビットを同時にsビット送る。これで全ての検
査ビットに対して正しい応答が返ってきた場合は、1回
の認証手続きにつき、不当なユーザが正しいレスポンス
を返す確率は「数43」となる。
For example, when the user generates a random number s times, the check bits are simultaneously transmitted by s bits. If correct responses are returned for all the check bits, the probability that an unauthorized user returns a correct response for one authentication procedure is “Equation 43”.

【0121】[0121]

【数43】 [Equation 43]

【0122】また、検査ビットを同時にsビット送る場
合でも、ビット全体を1つの数として見る方法もある。
この場合も、不当なユーザが正しいレスポンスを返す確
率は、前記「数43」となるが、用いる乱数が1つで済
むという利点がある。但し、この方法では、検査ビット
が0になる確率が、検査ビットの桁数が大きくなればな
る程小さくなる。そのため、認証は行えるが、鍵の配送
は現実的には行うことができない場合もある。但し、後
述するが、m=nの場合は鍵の配送も行うことができ
る。
Further, even when the check bits are transmitted simultaneously with s bits, there is a method of viewing the entire bits as one number.
In this case as well, the probability that an unauthorized user returns a correct response is the above-mentioned “Equation 43”, but there is an advantage that only one random number is used. However, in this method, the probability that the check bit becomes 0 decreases as the number of digits of the check bit increases. Therefore, although authentication can be performed, key distribution may not be performed in reality. However, as described later, when m = n, key distribution can also be performed.

【0123】また、上記説明では、m<nであったが、
m=nでも基本的には構わない。この時gは、「数4
4」を0以上m未満のうちでmと互いに素な整数の集合
とすると、gを「数44」の生成元となるように選ぶ。
また、アルゴリズム全体の整合性を保つため、細部の計
算方法を適宜変更しなければならない。効率を考える
と、変更した方が望ましい箇所もある。
In the above description, m <n.
Even if m = n, basically it does not matter. At this time, g is expressed by “Equation 4
If “4” is a set of integers that are relatively prime to m from 0 to less than m, then g is selected to be a generator of “Equation 44”.
Further, in order to maintain the consistency of the entire algorithm, it is necessary to appropriately change the detailed calculation method. For efficiency, there are some places where it is desirable to make changes.

【0124】[0124]

【数44】 [Equation 44]

【0125】例えば、type cを使う場合、以下の
ようにアルゴリズムを変更する。今、「数45」となる
最小の整数をk(これをgの位数という)とする。kは
十分大きくなくてはならない。この時、r1i,r2i∈Z
nでもr1i,r2i∈Zkでもよい。
For example, when using type c, the algorithm is changed as follows. Now, let the minimum integer that becomes “Equation 45” be k (this is called the order of g). k must be large enough. At this time, r 1i , r 2i ∈Z
n or r 1i , r 2i ∈Z k may be used.

【0126】[0126]

【数45】 [Equation 45]

【0127】図5のステップ507はR2i=R2,(i-1)
+r2i(mod (k-1))に変更する。同様に、図8のステッ
プ807をR1i=R1,(i-1)+r1i(mod (k-1))に変更
する。特にkを使わずに、図5のステップ507をR2i
=R2,(i-1)+r2iに、図8のステップ807をR1i
1,(i-1)+r1iに変更する方法もある。この方法は、
1i,R2iが大きくなる欠点があるが、実際の運用で生
成に用いるr1i,r2iの組みがそれ程多くなければ、差
し支えない。これは、m<nの場合にも言えることであ
る。
In step 507 of FIG. 5, R 2i = R 2, (i-1)
+ R 2i (mod (k-1)). Similarly, step 807 in FIG. 8 is changed to R 1i = R 1, (i-1) + r 1i (mod (k-1)). Especially without the k, the step 507 of FIG. 5 R 2i
= R 2, the (i-1) + r 2i , the step 807 of FIG. 8 R 1i =
There is also a method of changing to R1 , (i-1) + r1i . This method
There is a drawback that R 1i and R 2i become large, but if there are not so many pairs of r 1i and r 2i used for generation in actual operation, there is no problem. This is also true for m <n.

【0128】m=nの場合、検査ビットb1i,b2iによ
るセッション鍵生成方法の制限をはずすことができる。
図5、図8においてy1i,y2iの替わりにX1i,X2i
用いることにより、b1i=b2i=0の場合だけでなく、
全ての場合のr1i,r2iの組みを利用できるようにな
る。したがって、図5のステップ501、図8のステッ
プ801は必要なくなる。この変更により、最終的に生
成されるセッション鍵も変化するが、それは図9,図1
0においてgを「数46」にしたものである。
When m = n, the restriction on the session key generation method by the check bits b 1i and b 2i can be removed.
In FIGS. 5 and 8, by using X 1i and X 2i instead of y 1i and y 2i , not only when b 1i = b 2i = 0, but also
The combination of r 1i and r 2i in all cases can be used. Therefore, step 501 in FIG. 5 and step 801 in FIG. 8 are not required. This change also changes the finally generated session key, which is shown in FIGS.
In the case of 0, g is changed to “Equation 46”.

【0129】[0129]

【数46】 [Equation 46]

【0130】また、検査ビットを同時に複数ビット送
り、それを1つの整数として認証を行う方法でも、鍵配
送が行えるようになる。
Also, the key distribution can be performed by a method of simultaneously transmitting a plurality of check bits and performing authentication using the check bits as one integer.

【0131】[0131]

【発明の効果】以上の説明から明らかなように、本発明
のIDベース認証・鍵配送方法においては、通信相手と
なる1対のクライアントが互いに相手を認証し合った後
に、当該1対のクライアントで共有する暗号鍵を生成
し、この暗号鍵を用いてメッセージを暗号化して通信す
るためのIDベース認証・鍵配送方において、それぞれ
のクライアントに、Uのd乗=S,Sのe乗=(Uのd
乗)のe乗=U(但し、e・d=1(mod L))の関係の公開
鍵Uおよび秘密鍵Sを割り当てて互いの認証と暗号鍵の
生成を行うようにしたため、Uのd乗=Sの関係にする
ことにより、公開鍵Uとしてユーザが憶え易いユーザI
D、住所、機器名称などを使用しても、その公開鍵をd
乗するだけで、秘密鍵Sを鍵配送センタ等で容易に作成
することができる。
As is apparent from the above description, according to the ID-based authentication / key distribution method of the present invention, after a pair of clients as communication partners have mutually authenticated each other, the pair of clients has been authenticated. In the ID-based authentication and key distribution method for generating a shared encryption key and encrypting and communicating a message using the encryption key, each client is provided with U raised to the power of d = S, S raised to the power of e = (U d
To the power of e = U (where ed = 1 (mod L)), and a public key U and a secret key S are assigned to perform mutual authentication and generation of an encryption key. By making the relation of the power = S, the user I can easily remember as the public key U
Even if D, address, device name, etc. are used, the public key is d.
Just by riding, the secret key S can be easily created at a key distribution center or the like.

【0132】従って、同じ通信グループ内の公開情報
(公開鍵)として、ユーザやマシンに固有の情報(ユー
ザID、名前、住所、通り名やマシン名など)や辞書に
載っているユーザに馴染みやすい単語(河川等の地理上
の単語、国や都市名、人物名や星座名等)を用いること
ができる。これらの単語はユーザに記憶し易いために、
公開情報のテーブルが不要、もしくは、その作成、保
守、復旧が容易となり、システム全体の運営・保守を容
易にすることができる。
Therefore, as the public information (public key) in the same communication group, information unique to the user or machine (user ID, name, address, street name, machine name, etc.) or a user listed in the dictionary is easily used. Words (geographic words such as rivers, country and city names, person names and constellation names, etc.) can be used. Because these words are easy for users to remember,
A table of public information is not required, or its creation, maintenance, and recovery are facilitated, and the operation and maintenance of the entire system can be facilitated.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の実施形態で用いるパラメータの分類図
である。
FIG. 1 is a classification diagram of parameters used in an embodiment of the present invention.

【図2】本発明を適用した認証・鍵配送方法の実施形態
における全体の流れを示すフローチャートである。
FIG. 2 is a flowchart showing an overall flow in an embodiment of an authentication / key distribution method to which the present invention is applied.

【図3】図2のステップ202の詳細フローチャートで
ある。
FIG. 3 is a detailed flowchart of step 202 in FIG. 2;

【図4】図2ステップ203の詳細フローチャートであ
る。
FIG. 4 is a detailed flowchart of step 203 in FIG. 2;

【図5】ユーザBがセッション鍵を生成するための中間
処理を示すフローチャートである。
FIG. 5 is a flowchart illustrating an intermediate process for generating a session key by a user B;

【図6】図2のステップ204の詳細フローチャートで
ある。
FIG. 6 is a detailed flowchart of step 204 in FIG. 2;

【図7】図2のステップ205の詳細フローチャートで
ある。
FIG. 7 is a detailed flowchart of step 205 in FIG. 2;

【図8】ユーザAがセッション鍵を生成するための中間
処理を示すフローチャートである。
FIG. 8 is a flowchart illustrating an intermediate process for generating a session key by a user A.

【図9】ユーザAがセッション鍵を生成するための最終
的な処理をあらわすフローチャートである。
FIG. 9 is a flowchart illustrating a final process for generating a session key by a user A.

【図10】ユーザBがセッション鍵を生成するための最
終的な処理をあらわすフローチャートである。
FIG. 10 is a flowchart illustrating a final process for generating a session key by a user B.

【図11】本発明を適用するネットワークとその利用者
の概念図である。
FIG. 11 is a conceptual diagram of a network to which the present invention is applied and its users.

【図12】Fiat-Shamir法のフローチャートである。FIG. 12 is a flowchart of the Fiat-Shamir method.

【図13】Diffie-Shamir型公開鍵配送法のフローチャ
ートである。
FIG. 13 is a flowchart of a Diffie-Shamir public key distribution method.

【符号の説明】[Explanation of symbols]

11…ネットワーク、12…ユーザA、13…ユーザ
B、14…ユーザC、101…グループ共通の情報、1
02…センタの秘密情報、103…ユーザUの秘密情
報、104…ユーザVの秘密情報。
11 network, 12 user A, 13 user B, 14 user C, 101 information common to the group, 1
02: secret information of the center, 103: secret information of the user U, 104: secret information of the user V.

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 通信相手となる1対のクライアントが互
いに相手を認証し合った後に、当該1対のクライアント
で共有する暗号鍵を生成し、この暗号鍵を用いてメッセ
ージを暗号化して通信するためのIDベース認証・鍵配
送方法であって、 それぞれのクライアントに、 Uのd乗=S,Sのe乗=(Uのd乗)のe乗=U(但
し、e・d=1(mod L),(p-1)・(q-1)=mod L でp,qは素
数)の関係の公開鍵Uおよび秘密鍵Sを割り当てて互い
の認証と暗号鍵の生成を行うことを特徴とするIDベー
ス認証・鍵配送方法。
After a pair of clients as communication partners authenticate each other, an encryption key shared by the pair of clients is generated, and a message is encrypted by using the encryption key to perform communication. ID-based authentication and key distribution method for each client, wherein each client is provided with the power of d = S, the power of S e = (the power of d), the power of e = U (where e · d = 1 ( mod L), (p−1) · (q−1) = mod L, where p and q are prime numbers) assigning a public key U and a secret key S to perform mutual authentication and generation of an encryption key. Characteristic ID-based authentication and key distribution method.
JP9079745A 1997-03-31 1997-03-31 Id base authentication and key delivery method Pending JPH10276185A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9079745A JPH10276185A (en) 1997-03-31 1997-03-31 Id base authentication and key delivery method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9079745A JPH10276185A (en) 1997-03-31 1997-03-31 Id base authentication and key delivery method

Publications (1)

Publication Number Publication Date
JPH10276185A true JPH10276185A (en) 1998-10-13

Family

ID=13698773

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9079745A Pending JPH10276185A (en) 1997-03-31 1997-03-31 Id base authentication and key delivery method

Country Status (1)

Country Link
JP (1) JPH10276185A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003503864A (en) * 1998-11-03 2003-01-28 シーメンス アクチエンゲゼルシヤフト Method and apparatus for authenticating a first instance and a second instance
JPWO2004034645A1 (en) * 2002-10-11 2006-02-09 松下電器産業株式会社 Method for protecting identification information in WLAN interconnection
JPWO2006046484A1 (en) * 2004-10-25 2008-05-22 松下電器産業株式会社 Authentication method
JP6371017B1 (en) * 2018-01-12 2018-08-08 株式会社アドイン研究所 Information processing system, information processing method, and program

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003503864A (en) * 1998-11-03 2003-01-28 シーメンス アクチエンゲゼルシヤフト Method and apparatus for authenticating a first instance and a second instance
JPWO2004034645A1 (en) * 2002-10-11 2006-02-09 松下電器産業株式会社 Method for protecting identification information in WLAN interconnection
JP4619788B2 (en) * 2002-10-11 2011-01-26 パナソニック株式会社 Method for protecting identification information in WLAN interconnection
JPWO2006046484A1 (en) * 2004-10-25 2008-05-22 松下電器産業株式会社 Authentication method
JP6371017B1 (en) * 2018-01-12 2018-08-08 株式会社アドイン研究所 Information processing system, information processing method, and program
US10491385B2 (en) 2018-01-12 2019-11-26 Adin Research, Inc. Information processing system, information processing method, and recording medium for improving security of encrypted communications

Similar Documents

Publication Publication Date Title
US11621833B2 (en) Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system
US8520847B2 (en) Split-key key-agreement protocol
JP4639084B2 (en) Encryption method and encryption apparatus for secure authentication
US20180076956A1 (en) System and method for generating a server-assisted strong password from a weak secret
US7853016B2 (en) Signature schemes using bilinear mappings
US7447903B2 (en) Laddered authentication security using split key asymmetric cryptography
US8930704B2 (en) Digital signature method and system
JP2019507510A (en) Common secret determination for secure exchange of information and hierarchical and deterministic encryption keys
CN107248909A (en) It is a kind of based on SM2 algorithms without Credential-Security endorsement method
Katz Efficient cryptographic protocols preventing “man-in-the-middle” attacks
CN112529573A (en) Combined block chain threshold signature method and system
JP2002527992A (en) Method of establishing a common cryptographic key for n subscribers
KR20010013155A (en) Auto-recoverable auto-certifiable cryptosystems
JPH10276185A (en) Id base authentication and key delivery method
CN115314207A (en) Secure and controllable use method and system for SM2 signature making data
Tseng et al. On the security of methods for protecting password transmission
RU2184390C1 (en) Method for authenticating objects
Ahmedova et al. Generation and distribution secret encryption keys with parameter
EP1924022A2 (en) Signature schemes using bilinear mappings
CN117134904A (en) Method based on identity recognition and dynamic encryption and decryption communication
CN114978549A (en) SM2 digital signature generation method and system for signer to control signature making data
RajneeshPachouri et al. OTPK PAKE Protocol with TRNG Based Key Generation