JPH10276185A - Idベース認証・鍵配送方法 - Google Patents

Idベース認証・鍵配送方法

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
English (en)
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/ja
Publication of JPH10276185A publication Critical patent/JPH10276185A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 ネットワークを介して通信を行う前にユーザ
が相互に認証し合い、以後行おうとする通信に用いるセ
ッション鍵を配送する方法およびシステムにおいて、公
開鍵としてユーザが憶え易いものを用い、公開鍵の管理
を簡単にし、システム全体の運営・保守を容易にするこ
と。 【解決手段】 通信相手となる1対のクライアントが互
いに相手を認証し合った後に、当該1対のクライアント
で共有する暗号鍵を生成し、この暗号鍵を用いてメッセ
ージを暗号化して通信するためのIDベース認証・鍵配
送方において、それぞれのクライアントに、Uのd乗=
S,Sのe乗=(Uのd乗)のe乗=U(但し、e・d=1
(mod L))の関係の公開鍵Uおよび秘密鍵を割り当てて
互いの認証と暗号鍵の生成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ネットワークを介
してユーザがお互いに情報を交換する場合に、その通信
を安全確実に行うために、実際の通信を行う前の前処理
を行う方法に関するものであり、特に、相手が本当に自
分が通信を行おうとする相手なのかを名前等のIDを用
いて相互に認証するIDベース認証と、互いに相手を確
認し合った後に、以後行おうとする通信を第三者に盗聴
されても大丈夫なように、通信文の暗号化および復号化
やメッセージ認証子の生成・検証のためのセッション鍵
を配送する鍵配送の方法に関するものである。
【0002】
【従来の技術】図11に示すようなコンピュータ等の通
信ネットワークを結合したネットワークでは、ネットワ
ーク11で接続された複数のユーザ12,13,14
は、ネットワーク11を介して電子メール等の電子メッ
セージをお互いに配送することができる。
【0003】この時に問題となるものに、ユーザ同士の
お互いの認証がある。ユーザ(A)12がユーザ(B)
14とメッセージのやり取りを行おうとする時、メッセ
ージの受信者が確かにユーザ(B)14であると、ユー
ザ(A)12は確認できなければならない。つまり、他
のユーザ(C)13が、ユーザ(B)14等の他人を偽
る行為(なりすまし)を防ぐ手段が必要である。同様
に、メッセージ受信者(この場合、ユーザ(B)14)
も、メッセージ発信者がユーザ(A)12であることを
確認できなければならない。
【0004】このような認証を行う手段の一つとして、
ゼロ知識証明がある。
【0005】ゼロ知識証明とは、以下のようなものであ
る。証明者とは、自分が確かにその本人であることを証
明しようとするものであり、検証者とは、証明者の証明
が正しいかどうかを検証する者である。ゼロ知識証明と
は、証明者が秘密の情報を、検証者を含め他人に明かす
ことなく、検証者とメッセージのやり取りを行いなが
ら、その秘密を知っていることを検証者に対して証明す
る方法である。検証者は、秘密の情報を証明者が知って
いると認めれば、証明者を本人と認めるようにする。
【0006】ゼロ知識証明を行う基本的なアルゴリズム
であるFiat-Shamir法について図2を参照して説明す
る。
【0007】nを大きな合成数とする。合成数とは、素
数でない整数のことである。したがって、素数の積で表
わすことができる。ユーザ(A)12を証明者、ユーザ
(B)14を検証者とする。そして、ユーザ(B)14
はユーザ(A)12が次の「数1」となるS(秘密情報、
秘密鍵)を知っていることによりユーザ(A)12の認
証を行う。
【0008】
【数1】
【0009】nが非常に大きな素数の積である場合、n
を素因数分解するのは困難であることが知られている。
更に、nが素因数分解できなければ、Znでの平方根を
求めるのは困難であることも知られている。ここでZn
とは、0以上n未満の整数の集合{0,1,2,……n-1}のこ
とである。したがって、TからSを求めることは非常に
難しく、Tを公開してもSは秘密情報と見做すことがで
きる。
【0010】ユーザ(B)14は、T(ユーザAの公開
情報、公開鍵)を知っているものとする。まず、ユーザ
(A)12は乱数R∈Znを生成する(ステップ12
1)。次に、「数2」を生成しXをユーザ(B)14に
送る(ステップ122)。
【0011】
【数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)。
【0013】
【数3】
【0014】b=0の場合、Y=RSとなり、Sの情報
は漏れない。b=1の場合、Y=RSとなるが、Rを求
めることは困難なため、Sを求めることも困難となる。
【0015】そして、Yを受け取ったユーザ(B)14
(ステップ129)は、「数4」が成り立つかどうか検
証する(ステップ130)。
【0016】
【数4】
【0017】ここまでを1ラウンドとし、これをk回
(kラウンド)繰り返すと、ユーザ(A)12がSを知
らない場合、ユーザ(A)12が検証をクリアできる確
率は「数5」となる。すなわち、ユーザ(A)12がk
回後に正しく認証される確率は「数6」である。したが
って、充分大きなkにおいて認証が行われた場合、ユー
ザ(B)14は、ユーザ(A)12をユーザ(A)12
本人であると認めて構わない。
【0018】
【数5】
【0019】
【数6】
【0020】以上では、ユーザ(B)14がユーザ
(A)12を認証することしかしていないが、ユーザ
(A)12がユーザ(B)14を認証する場合は、以上
と対称的な操作を行えばよい。このようにして、通信を
行なうもの同士が互いに認証を行うことができる。
【0021】次に、問題となるのは、送信する情報の安
全性である。ネットワーク上では、通信当事者以外の者
がメッセージの内容を盗むこと(盗聴)ができる。そこ
で、メッセージを暗号化することが必要となるが、それ
には暗号鍵が必要となる。メッセージ認証子の生成・検
証にも暗号鍵は必要である。
【0022】公開鍵配送法は、公開鍵を用いて暗号鍵を
共有する方法であり、これを用いて安全でない通信路を
介して暗号鍵を生成できる。
【0023】暗号鍵を共有するための具体的なアルゴリ
ズムにDiffie -Hellman型公開鍵配送法がある。このD
iffie -Hellman型公開鍵配送法を用いた暗号鍵(以降
は、セッション鍵と呼ぶことにする)の配送方法を図1
3を参照して説明する。
【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は、前もってユーザ全員に公開しておき、
これが公開鍵となる。
【0025】
【数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)。
【0027】
【数8】
【0028】
【数9】
【0029】このようにY1とY2を交換しあった後で
(ステップ134およびステップ139)、各々セッシ
ョン鍵Kを次のように生成する。ユーザ(A)12は、
「数10」を計算し、セッション鍵とする(ステップ1
35)。ユーザ(B)14も同様に、「数11」を計算
し、セッション鍵とする(ステップ140)。
【0030】このセッション鍵Kを用いて、ユーザ
(A)12とユーザ(B)14はお互いに暗号化したメ
ッセージを用いて通信を行うことができる。
【0031】
【数10】
【0032】
【数11】
【0033】本発明も、Diffie -Hellman型公開鍵配送
法を部分的に応用している。
【0034】
【発明が解決しようとする課題】Fiat-Shamir法で認証
を行う場合、検証者は証明者毎に「数12」を知ってい
なければならない。
【0035】
【数12】
【0036】Tは、ユーザにとっては普通意味の無い,
大きな桁数(例えば512ビットや何百、何千桁)の数
字であり、そのためTの管理情報、つまりそれぞれの証
明者(ユーザ)とその公開情報Tのテーブル(以降、テ
ーブルと呼ぶ)をシステムに組み込まなくてはならな
い。しかし、テーブルには偽造、改竄に対する処置を施
さねばならず、維持、管理が大変である。
【0037】そこで、Tを、ユーザID、ユーザ名、住
所、通り名やマシン名などの人間に憶えやすいものにす
れば、ユーザが記憶できる範囲内ではテーブルを使用し
ないでも済む。このようにすれば、テーブルを用いる場
合でも、その構成や要素(T)が意味のあるものとなる
ので作成し易いし、Tがユーザに憶えやすいために、テ
ーブルが偽造・改竄を受けたとしても、ユーザがそれに
気づき易い。またテーブルを消失したとしても、そのデ
ータを復旧し易い。このように、Tがユーザに解り易い
ものであると、システムの運用に対して様々な利点が生
じ、ユーザも利用し易い。
【0038】しかし、Fiat-Shamir法では、Tを解り易
いものにしようとすると、Tから秘密鍵Sを作ることは
非常に困難(それができれば、この方法の有用性も無く
なる)であるので、Tを解り易い情報とすることはでき
ない。したがって、Tはユーザにとっては無意味なワー
ド(ユーザの秘密鍵の2乗)とならざるを得ず、どうし
てもテーブルが必要となる。このため、テーブル管理
(配送、偽造、改竄防止等)のコストが大きいという問
題がある。
【0039】本発明は、Fiat-Shamir法で言うところの
公開鍵Tがユーザに解り易いものであり、センタ(認証
を司る所)が公開鍵Tから秘密鍵Sを作ることは簡単で
あるが、部外者(システムに対する攻撃者)が公開鍵T
から秘密鍵Sを求めることが困難であり、公開鍵Tのテ
ーブルの管理が不要、若しくは簡単となり、システムの
運営が容易となるIDベース認証・鍵配送方法を提供す
ることを目的とするものである。
【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
を割り当てて互いの認証と暗号鍵の生成を行うことを特
徴とする。
【0041】Uのd乗=Sの関係にすることにより、公
開鍵Uとしてユーザが憶え易いユーザID、住所、機器
名称などを使用しても、その公開鍵をd乗するだけで、
秘密鍵Sを鍵配送センタ等で容易に作成することができ
る。
【0042】認証は、Fiat-Shamir法を適用し、図12
で説明した「Sのb乗」を「Sのe乗」に置き換えて行
う。また、暗号鍵の生成は、Diffie -Hellman型公開鍵
配送法を部分的に応用して行う。
【0043】
【発明の実施の形態】以下、本発明の実施形態を図面に
より詳細に説明する。
【0044】まず、本発明を適用するシステムのエンテ
ィティには、認証や鍵配送を司るセンタ(あるいはプロ
グラム)や、システムを利用するユーザが最低限でも含
まれる。ユーザ同士で認証や鍵配送を行う。例として
は、クライアント・サーバシステム(CSSシステム)
のクライアントとサーバ、携帯端末とホスト、情報サー
ビスセンタとその利用者などが挙げられる。勿論、ユー
ザとセンタ間で行う場合もある。
【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)の原始根とする。
【0046】さらに、センタは各ユーザUに「数13」
を配布する。ここで、添え字のUはユーザのインデック
スであり、「数14」となる。
【0047】
【数13】
【0048】
【数14】
【0049】SUはユーザUの秘密鍵である。UUは、ユ
ーザに覚え易い、ユーザUに関連するユーザIDやマシ
ン名等の一意的な名称であり、ユーザUの公開鍵であ
る。認証はユーザUがSUを知っているかどうかで行
う。
【0050】センタの生成した以上の情報は、通信をあ
るグループ内で行うとすると、図1のように分類でき
る。
【0051】グループは符号100で示すような情報を
共有する。そのうち、グループ内の公開情報は符号10
1で示すようにm,n,g,e,UU,UV・・・等であ
る。ここで、U*はユーザ*の公開鍵である。センタの
秘密情報は符号102で示すようにp,q,d,S*
・・等である。S*はユーザ*の秘密鍵であり、ユーザ
*以外に知られないようにユーザ*にのみ配布(符号1
05および106で示す)するものとする。ユーザUが
個人で所有して秘密にする情報(秘密鍵)は符号103
で示すようにSUである。この個人情報が漏れると、他
人がユーザUに成り済ますことができるので、注意しな
ければならない。
【0052】次に、iを認証の試行回数とする。最初は
U0=1,RU0=0(以後、インデックスの右側は試行
回数とする)とする。kUi,RUiはセッション鍵を生成
するための変数である。
【0053】以下の説明では、セッション鍵の生成方法
を3種類(それぞれtype a,type b,typ
e cと呼ぶ)述べる。その生成方法は、最初に適当な
タイプを選び、証明者と検証者はそのタイプを認証の始
まりから終わりまで用いる。システムは、全てのタイプ
を実装している必要はなく、最低でもそのうちの1種類
を実装していれば良い。kUiは全てのタイプで使用する
が、RUiはタイプcでしか用いない。
【0054】本発明のアルゴリズムの全体の流れを図2
に示し、以下説明する。ここでは、ユーザAとユーザB
が互いに認証し合い、セッション鍵生成に必要な情報を
配送し合うことを考える。
【0055】まず、セッション鍵生成方法を選択する
(ステップ201)。前述したように、生成方法には3
種類用意しているので、どれか1つを選び、手続が終る
まではその選択したものを使用する。
【0056】次に、ユーザBがユーザAの認証を行う
(ステップ202)。さらにユーザAがユーザBの認証
を行う(ステップ203)。ステップ202とステップ
203では、並行してセッション鍵生成のための作業も
行う。さらにステップ204では、認証作業を続行する
かどうかを判断する。適当な回数を繰り返したら認証を
終了する。
【0057】最後に、お互いにセッション鍵を生成して
(ステップ205)、この認証及び鍵配送の手続を終了
する(ステップ206)。
【0058】図2のステップ202について、図3を用
いて詳しく説明する。
【0059】まず、ユーザAは、r1i∈Zm-1を生成す
る(ステップ301)。さらに、「数15」を計算し
(ステップ302)、また「数16」を計算する(ステ
ップ303)。そして、X1iをユーザBに送信する(ス
テップ304)。
【0060】
【数15】
【0061】
【数16】
【0062】ユーザBは、ユーザAからX1iを受け取る
(ステップ311。さらにユーザBは、乱数r2i∈Z
m-1と検査ビットb1i∈{0,1}をランダムに生成する(ス
テップ312)。そして、「数17」を計算し(ステッ
プ313)、さらに「数18」を計算する(ステップ3
14)。次に、ユーザAにX2iとb1iを送る(ステップ
315)。
【0063】
【数17】
【0064】
【数18】
【0065】ユーザAは、ユーザBからX2iとb1iを受
け取る(ステップ305)。さらに、ユーザAは検査ビ
ットb2i∈{0,1}をランダムに生成し(ステップ30
6)、「数19」を計算する(ステップ307)。そし
て、ユーザBにY1iと検査ビットb2iを送る(ステップ
308)。
【0066】
【数19】
【0067】ユーザBは、ユーザAからY1iと検査ビッ
トb2iを受け取る(ステップ316)。次に、「数2
0」であることを確認する(ステップ317)。ここ
で、「数20」のU1はユーザAの公開鍵、S1はユー
ザAの秘密鍵に相当する。
【0068】
【数20】
【0069】ところで、b1i=0の場合、「数21」で
ある。X1iはステップ302でZm上で計算されたもの
である。これは後にセッション鍵の生成に用いるので、
1i=0の時のY1iを便宜上、「数22」と記述するこ
とにする。
【0070】
【数21】
【0071】
【数22】
【0072】もし、「数23」と「数24」がmod
n上で一致すれば認証を続行し(ステップ318)、一
致しなければ中止し、否認通知をユーザAに送る(ステ
ップ319)。続行する場合(ステップ318)は図2
のステップ203に移る。
【0073】
【数23】
【0074】
【数24】
【0075】図2のステップ203の詳細について、図
4を用いて説明する。ユーザBは、「数25」を計算し
(ステップ411)、ユーザAにY2iを送信する(ステ
ップ412)。そして、ユーザBはセッション鍵生成の
ための演算をする(ステップ413)。
【0076】
【数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)。
【0078】
【数26】
【0079】
【数27】
【0080】
【数28】
【0081】そして、R2i=R2,(i-1)+r2i(mod (m-
1))を計算する(ステップ507)。
【0082】図4に戻り、ユーザAはユーザBからY2i
を受け取る(図4ステップ401)。次に、「数29」
であることを確認するが(ステップ402)、もし「数
30」が「数31」とmod n上で一致すれば認証を
続行し(ステップ403)、一致しなければ中止し、否
認通知をユーザBに送る(ステップ404)。
【0083】
【数29】
【0084】
【数30】
【0085】
【数31】
【0086】ところで、b2i=0の場合、「数32」と
なる。x2iは図3のステップ313でZm上で計算され
たものである。これは後にセッション鍵の生成に用いる
ので、b2i=0の時のY2iを便宜上、「数33」と記述
することにする。
【0087】
【数32】
【0088】
【数33】
【0089】続行する場合(ステップ403)は、図2
のステップ204に移る。
【0090】次の図2のステップ204の詳細につい
て、図6を用いて詳細に説明する。
【0091】ユーザAは、セッション鍵生成のための演
算を行う(ステップ601)。
【0092】具体的には、図8に示すように、b1i=1
あるいはb2i=1の時は何もしない(図8のステップ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)。
【0094】
【数34】
【0095】
【数35】
【0096】
【数36】
【0097】そして、R1i=R1,(i-1)+r1i(mod (m-
1))を計算する(ステップ807)。
【0098】認証の正確性を高めるには、以上の処理を
適当な回数繰り返す。そして、試行をこれ以上続けるか
どうか判断する(図6のステップ602)。この場合の
判断の基準は2つあり、1つは認証の正確性が充分であ
るかということである。もう1つは、b1i=b2i=0の
場合がなければ、有用なセッション鍵を生成できないの
で、このような場合が今までの試行であったかどうかで
ある。なければ認証を続行しなければならない。
【0099】更に認証を続ける場合は、図2のステップ
202に戻り(ステップ604)、認証を終了する場合
は、図2のステップ205へ進む(ステップ603)。
【0100】ここでは、試行をk回繰り返した後に、認
証を正常に終了し、図2のステップ205に移ったとし
て説明を進める。
【0101】図2のステップ205の詳細について図1
1を用いて詳細に説明する。
【0102】まず、ユーザAは認証が無事に終了したこ
とをユーザBに知らせる(ステップ701)。ユーザB
はユーザAから認証終了の通知を受け取り(ステップ7
11)、さらにユーザAへ終了承認の通知を送る(ステ
ップ712)。ユーザAはユーザBからの認証終了通知
を受け取る(ステップ702)。
【0103】ここでは、ユーザAから認証終了通知を送
り、ユーザBがそれを認める形をとっているが、ユーザ
Bが未だ認証手続に不満が残るのであれば、ユーザAに
対して認証続行の通知を送り、認証を続行させることも
できる。その場合は、図3のステップ301に移る。
【0104】ユーザBから認証終了通知を送る場合は、
図4のステップ412の時に、Y2iと一緒にその通知を
ユーザAに伝える。ユーザAが終了に賛成であれば、ユ
ーザBに終了承認の通知を送るが、その時期にはY2i
検証(図4のステップ402)の前や後が考えられる。
まだ終了しないのであれば、認証続行の通知を送り返さ
なければならない。いずれにせよ、お互いに認証終了の
承認が得られたならば、ユーザAとユーザBは、各々セ
ッション鍵KSを生成する(図7のステップ703,7
13)。
【0105】ユーザAは具体的には、図9のような手順
でセッション鍵KSを生成する。セッション鍵の生成方
法には前述したように3種類用意されているが、最初に
この手続きに用いると決めたタイプを選択する(図9ス
テップ901)。
【0106】type aの場合、「数37」を計算す
る(ステップ902)。type bの場合、「数3
8」を計算する(ステップ903)。type cの場
合、「数39」を計算する(ステップ904)。
【0107】
【数37】
【0108】
【数38】
【0109】
【数39】
【0110】ここで、ΠとΣは、b1i=b2i=0である
場合の全てについての積および和である。
【0111】ユーザBは具体的には図10に示すような
手順でセッション鍵KSを生成する。セッション鍵の生
成方法には前述したように3種類用意されているが、最
初にこの手続きに用いると決めたタイプを選択する(図
10のステップ1001)。
【0112】type aの場合、「数40」を計算す
る(ステップ1002)。type bの場合、「数4
1」を計算する(ステップ1003)。type cの
場合、「数42」を計算する(ステップ1004)。
【0113】
【数40】
【0114】
【数41】
【0115】
【数42】
【0116】ここで、ΠとΣは、b1i=b2i=0である
場合の全てについての積および和である。
【0117】ここまでで、ユーザの認証とセッション鍵
の配送が終了する(図7のステップ704,714)。
【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のどんな組み合わせで生成してもよい。
【0119】また説明では、1回の試行につきユーザが
発生させる乱数r1i,r2iは1つであるが、これは複数
発生させても構わない。その場合は、検査ビットb1i
2iやその応答Y1i,Y2i等も乱数の数に応じて計算
し、認証と鍵配送作業に用いる。
【0120】例えば、ユーザが乱数をs回発生させた場
合、検査ビットを同時にsビット送る。これで全ての検
査ビットに対して正しい応答が返ってきた場合は、1回
の認証手続きにつき、不当なユーザが正しいレスポンス
を返す確率は「数43」となる。
【0121】
【数43】
【0122】また、検査ビットを同時にsビット送る場
合でも、ビット全体を1つの数として見る方法もある。
この場合も、不当なユーザが正しいレスポンスを返す確
率は、前記「数43」となるが、用いる乱数が1つで済
むという利点がある。但し、この方法では、検査ビット
が0になる確率が、検査ビットの桁数が大きくなればな
る程小さくなる。そのため、認証は行えるが、鍵の配送
は現実的には行うことができない場合もある。但し、後
述するが、m=nの場合は鍵の配送も行うことができ
る。
【0123】また、上記説明では、m<nであったが、
m=nでも基本的には構わない。この時gは、「数4
4」を0以上m未満のうちでmと互いに素な整数の集合
とすると、gを「数44」の生成元となるように選ぶ。
また、アルゴリズム全体の整合性を保つため、細部の計
算方法を適宜変更しなければならない。効率を考える
と、変更した方が望ましい箇所もある。
【0124】
【数44】
【0125】例えば、type cを使う場合、以下の
ようにアルゴリズムを変更する。今、「数45」となる
最小の整数をk(これをgの位数という)とする。kは
十分大きくなくてはならない。この時、r1i,r2i∈Z
nでもr1i,r2i∈Zkでもよい。
【0126】
【数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の場合にも言えることであ
る。
【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」にしたものである。
【0129】
【数46】
【0130】また、検査ビットを同時に複数ビット送
り、それを1つの整数として認証を行う方法でも、鍵配
送が行えるようになる。
【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を鍵配送センタ等で容易に作成
することができる。
【0132】従って、同じ通信グループ内の公開情報
(公開鍵)として、ユーザやマシンに固有の情報(ユー
ザID、名前、住所、通り名やマシン名など)や辞書に
載っているユーザに馴染みやすい単語(河川等の地理上
の単語、国や都市名、人物名や星座名等)を用いること
ができる。これらの単語はユーザに記憶し易いために、
公開情報のテーブルが不要、もしくは、その作成、保
守、復旧が容易となり、システム全体の運営・保守を容
易にすることができる。
【図面の簡単な説明】
【図1】本発明の実施形態で用いるパラメータの分類図
である。
【図2】本発明を適用した認証・鍵配送方法の実施形態
における全体の流れを示すフローチャートである。
【図3】図2のステップ202の詳細フローチャートで
ある。
【図4】図2ステップ203の詳細フローチャートであ
る。
【図5】ユーザBがセッション鍵を生成するための中間
処理を示すフローチャートである。
【図6】図2のステップ204の詳細フローチャートで
ある。
【図7】図2のステップ205の詳細フローチャートで
ある。
【図8】ユーザAがセッション鍵を生成するための中間
処理を示すフローチャートである。
【図9】ユーザAがセッション鍵を生成するための最終
的な処理をあらわすフローチャートである。
【図10】ユーザBがセッション鍵を生成するための最
終的な処理をあらわすフローチャートである。
【図11】本発明を適用するネットワークとその利用者
の概念図である。
【図12】Fiat-Shamir法のフローチャートである。
【図13】Diffie-Shamir型公開鍵配送法のフローチャ
ートである。
【符号の説明】
11…ネットワーク、12…ユーザA、13…ユーザ
B、14…ユーザC、101…グループ共通の情報、1
02…センタの秘密情報、103…ユーザUの秘密情
報、104…ユーザVの秘密情報。

Claims (1)

    【特許請求の範囲】
  1. 【請求項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ベー
    ス認証・鍵配送方法。
JP9079745A 1997-03-31 1997-03-31 Idベース認証・鍵配送方法 Pending JPH10276185A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9079745A JPH10276185A (ja) 1997-03-31 1997-03-31 Idベース認証・鍵配送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9079745A JPH10276185A (ja) 1997-03-31 1997-03-31 Idベース認証・鍵配送方法

Publications (1)

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

Family

ID=13698773

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9079745A Pending JPH10276185A (ja) 1997-03-31 1997-03-31 Idベース認証・鍵配送方法

Country Status (1)

Country Link
JP (1) JPH10276185A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003503864A (ja) * 1998-11-03 2003-01-28 シーメンス アクチエンゲゼルシヤフト 第1インスタンスおよび第2インスタンスを認証する方法および装置
JPWO2004034645A1 (ja) * 2002-10-11 2006-02-09 松下電器産業株式会社 Wlan相互接続における識別情報の保護方法
JPWO2006046484A1 (ja) * 2004-10-25 2008-05-22 松下電器産業株式会社 認証方法
JP6371017B1 (ja) * 2018-01-12 2018-08-08 株式会社アドイン研究所 情報処理システム、情報処理方法及びプログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003503864A (ja) * 1998-11-03 2003-01-28 シーメンス アクチエンゲゼルシヤフト 第1インスタンスおよび第2インスタンスを認証する方法および装置
JPWO2004034645A1 (ja) * 2002-10-11 2006-02-09 松下電器産業株式会社 Wlan相互接続における識別情報の保護方法
JP4619788B2 (ja) * 2002-10-11 2011-01-26 パナソニック株式会社 Wlan相互接続における識別情報の保護方法
JPWO2006046484A1 (ja) * 2004-10-25 2008-05-22 松下電器産業株式会社 認証方法
JP6371017B1 (ja) * 2018-01-12 2018-08-08 株式会社アドイン研究所 情報処理システム、情報処理方法及びプログラム
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
US7840004B2 (en) Split-key key-agreement protocol
JP4639084B2 (ja) セキュア認証の暗号方法および暗号装置
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 (ja) 情報及び階層的で決定性の暗号化鍵のセキュアな交換のための共通秘密の決定
CN107248909A (zh) 一种基于sm2算法的无证书安全签名方法
Katz Efficient cryptographic protocols preventing “man-in-the-middle” attacks
CN112529573A (zh) 一种组合式区块链门限签名方法及***
KR20010013155A (ko) 자동 복구가능하고 자동 증명가능한 암호체계들
JP2002527992A (ja) n人の加入者用の共通の暗号用の鍵の確立方法
JPH10276185A (ja) Idベース認証・鍵配送方法
CN115314207A (zh) 一种sm2签名制作数据的安全可控使用方法及***
Tseng et al. On the security of methods for protecting password transmission
RU2184390C1 (ru) Способ аутентификации объектов
EP1924022A2 (en) Signature schemes using bilinear mappings
EP4383643A2 (en) Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system
CN117134904A (zh) 一种基于身份识别与动态加解密通信的方法
CN117997525A (zh) 一种基于多点评估机制的身份基门限密钥管理方法及***
CN114978549A (zh) 签名者掌控签名制作数据的sm2数字签名生成方法及***
RajneeshPachouri et al. OTPK PAKE Protocol with TRNG Based Key Generation