JPH04297156A - 暗号通信装置 - Google Patents
暗号通信装置Info
- Publication number
- JPH04297156A JPH04297156A JP3158022A JP15802291A JPH04297156A JP H04297156 A JPH04297156 A JP H04297156A JP 3158022 A JP3158022 A JP 3158022A JP 15802291 A JP15802291 A JP 15802291A JP H04297156 A JPH04297156 A JP H04297156A
- Authority
- JP
- Japan
- Prior art keywords
- information
- key
- station
- random number
- generated
- 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
- 230000006854 communication Effects 0.000 title claims abstract description 66
- 238000004891 communication Methods 0.000 title claims abstract description 66
- 238000000034 method Methods 0.000 title claims description 129
- 230000005540 biological transmission Effects 0.000 claims abstract description 20
- 238000012545 processing Methods 0.000 description 46
- 238000010586 diagram Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 11
- 230000008901 benefit Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000002360 preparation method Methods 0.000 description 3
- 230000007175 bidirectional communication Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- DIWRORZWFLOCLC-UHFFFAOYSA-N Lorazepam Chemical compound C12=CC(Cl)=CC=C2NC(=O)C(O)N=C1C1=CC=CC=C1Cl DIWRORZWFLOCLC-UHFFFAOYSA-N 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は暗号通信方法およびその
装置に関し、特に通信システンにおける暗号鍵の安全な
配送を可能にする暗号通信方法およびその装置に関する
。 【0002】 【従来の技術】近年、各種通信回線等を介して取り扱わ
れる情報がますます高度に、かつ比重が高まるに伴ない
、これら情報の意図的な攻撃等からの安全性を確保する
ことが要求されるに至っている。そのためこれら情報の
秘密保持、或いは認証のために暗号技術の利用が検討さ
れている。この暗号技術には共通鍵暗号技術、公開鍵暗
号技術等が開発されており、特に公開鍵暗号技術は、鍵
共有プロトコルや、ディジタル署名の実現に有効である
。具体的暗号系としてはRSA(Rivest Sha
mirAdleman )暗号系やDH(Diffie
−Hellman)方式がある。 【0003】また、公開鍵暗号技術等を用いて暗号通信
を実現する際には、通信に先立って暗号の鍵を通信の当
事者間で共有する必要がある。例えば、DH方式(W.
Diffie& M.E.Hellman,”New
directions in cryptograph
y”,IEEE Trans.onInformati
on Theory,IT−22,6,pp.644−
645(June 1976))は、大きい素数pを法
(除数)とする、べき乗演算の逆変換が困難であること
に基づいた2者間の鍵配送方式である。さらに、その後
共有される鍵が毎回変るように変形したり、2者以上の
グループ間でも鍵を配送できるようにした方式などが提
案されている。 【0004】また、小山−太田方式(”Securit
y of improved identitiy−b
asedconference key distri
bution systems”,Lecture N
otes in Computer ScienceA
dvances incytptolgy−Euroc
rypt ′88−pp.11−19,Springe
r−Verlag 1988)は、グループで鍵配送で
きる方式を提案しているが、そのために法を3つの素数
の積としている。この方式では、2つの素数の積を法と
する方式に比べ法の桁数が2倍となる。これは、メモリ
量と演算量の点で不利となる。例えば、べき乗計算の演
算量は概ね法の桁数の3倍に比例するから、1度のべき
乗の演算量は約8倍となる。このように演算量の多い点
が欠点である。 【0005】一方、伊藤らは、公開鍵の認証機能付きで
、毎回、鍵が変り、かつグループ鍵配送に向いた方式を
提案している(伊藤、羽物、笹瀬、森:“ID情報に基
づく公開ファイル不要な一方向鍵配送方式”,1990
年電子情報通信学会春季全国大会講演論文集,No.A
−238,p.1−283,1990, 3月)。しか
しながら、伊藤らの方式は、グループ鍵共通に用いた場
合、第3者による再送攻撃による成り済ましが可能であ
る点が指摘されている。 すなわち、3者以上で構成されるグループ内で、一旦鍵
共有を行った後には、鍵共有情報の再送によってグルー
プ内のあるメンバが他のメンバに成り済ますことが可能
となる。さらに、2者間の鍵共有に限定して使用したと
しても、次のような問題が残る方式であった。すなわち
、何らかの理由により、ある通信セッションで共有され
た鍵の値を知った第3者は、その後、鍵共有情報の再送
によって鍵共有情報の送信ユーザになりすまして受信者
との間で鍵を共有することができる。 【0006】この成り済ましを防止するために、時刻情
報をいわゆるタイムスタンプとして利用する方式が提案
されている(川村、新保:“公開された暗号文の復号能
力に基づく暗号方式について”,電子情報通信学会技術
報告書,ISEC90−5,pp.29−34,199
0,5月)。 【0007】以下、このタイムスタンプを利用する方式
の概略を図12を参照して説明する。まず、送信者側の
局101 においては、発信時刻情報tを電文に付加す
ると共に、鍵を受信側の局102 に安全に送りつける
ための鍵配送情報Yをこの発信時刻に依存させることに
よって鍵配送情報Yの再使用を防止しようというもので
ある。受信者側の局102 においては、電文に付加さ
れた発信時刻情報tと受信した時刻に係る時刻情報とを
比較して、その時間差が事前に定めらた誤差以内であれ
ば正当な発信者側の局101 からのメッセージである
と判断して、鍵配送情報Yから鍵を取り出す処理に移る
。このとき正しい発信時刻情報tを用いないと鍵を鍵配
送情報Yから取り出せないようになっているので、ある
時刻の鍵配送情報Yを別の時刻に再使用できない。 【0008】しかし、タイムスタンプを用いる方式には
、次の二つの点に課題がある。まず第一は、タイムスタ
ンプによる正当性の確認は、受信した電文に付加されて
いる発信時刻情報tと自分が受信した時刻情報とを比較
して、その差が事前に定められた誤差以内となっている
事を確認することで実現されているが、その許容誤差の
範囲の決定について、普遍的な規則が無い点である。 論理的には対象となる通信システムに予想される最大伝
送遅延を許容誤差とすれば良いが、最大伝送遅延は通信
システム毎に異なるから設計パラメータがシステム毎変
わることになり余り好ましくない。 【0009】タイムスタンプを用いる方式の第2の課題
は、会議通信のように実時間で通信が行われる場合には
成り済まし対策としてのタイム・スタンプが十分有効に
働くものの、電子メールのように比較的伝送遅延時間が
大きい通信では、タイム・スタンプの有効性の判定が困
難となることである。何故ならば、電文に付加されてい
る発信時刻情報tと受信時刻との差が成り済ましによる
ものか、伝送遅延に起因するものか受信者が判断できな
いからである。従って、この様に伝送遅延時間の大きい
システムにおいては別の成り済まし・再送攻撃対策が必
要である。言い換えれば鍵配送情報の再送攻撃によるな
りすまし対策は、通信形態が実時間であるのか非実時間
であるのかによって区別して考える必要が生じる。但し
、ここで非実時間の通信とは電子メールのように伝送遅
延時間の大きい通信を指す。 【0010】 【発明が解決しようとする課題】以上の点に鑑み本発明
では、2者間の鍵共有方式や3者以上の間での鍵共有方
式におけるメッセージの再送による成り済まし攻撃を防
止する事のできる方式を提供することを目的とする。さ
らには、受信側での正当性確認を曖昧さなしに行え、か
つ比較的伝送遅延の大きい通信に用いても安全で再送に
基づく成り済まし攻撃が不可能な暗号通信方法およびそ
の装置を提供することを目的とする。[発明の構成]【
0011】 【課題を解決するための手段】上記課題を解決するため
に、本願第1の発明は、少なくとも暗号鍵の介在の下に
被送信情報を暗号化して得られる暗号文と、少なくとも
この暗号文と受信局の公開情報とから生成される鍵配送
情報によって送信局と受信局との間の暗号通信を行うこ
とを要旨する。 【0012】本願第2の発明は、送信局においては、送
信局で生成された乱数を基に生成される暗号鍵の介在の
下に被送信情報を暗号化して得られる暗号文と、少なく
ともこの暗号文と受信局の公開情報とから生成される鍵
配送情報とを送信し、受信局においては、少なくとも受
信した鍵配送情報と暗号文及び当該受信局の秘密情報と
から暗号鍵を復元し、この暗号鍵の介在の下に受信した
暗号文を復号して被送信情報を得ることを要旨とする。 【0013】本願第3の発明は、送信局においては、送
信局で生成された第1の乱数を基に生成される暗号鍵の
介在の下に被送信情報を暗号化して得られる暗号文と、
少なくとも受信局の公開情報および当該受信局で生成さ
れ当該送信局に送信された第2の乱数とから生成される
鍵配送情報とを送信し、受信局においては、少なくとも
受信した鍵配送情報と当該受信局の秘密情報及び第2の
乱数とから暗号鍵を復元し、この暗号鍵の介在の下に受
信した暗号文を復号して被送信情報を得ることを要旨す
る。 【0014】本願第4の発明は、通信回線を介して接続
される複数の局からなる通信系で、各局は公開情報とこ
の公開情報に対応する秘密情報がそれぞれ発行され、こ
れらの各情報を用いて送信局から受信局へ暗号化された
被送信情報を配送する暗号通信装置において、送信局に
おいては、乱数を生成する乱数生成手段と、少なくとも
受信局の公開情報と乱数生成手段で生成された乱数と被
送信情報とから鍵配送情報を作成する鍵配送情報作成手
段と、前記乱数生成手段で生成された乱数から鍵情報を
作成する鍵情報作成手段と、この鍵情報作成手段で作成
された鍵情報によって被送信情報を暗号化する暗号化手
段とを有し、受信局においては、受信した鍵配送情報と
暗号化された被送信情報と受信局の秘密情報とから鍵情
報を復元する鍵情報復元手段と、この鍵情報復元手段で
復元された鍵情報を用いて暗号化された被送信情報を復
号する復号手段とを有することを要旨とする。 【0015】本願第5の発明は、通信回線を介して接続
される複数の局からなる通信系で、各局は公開情報とこ
の公開情報に対応する秘密情報がそれぞれ発行され、こ
れらの各情報を用いて送信局から受信局へ暗号化された
被送信情報を配送する暗号通信装置において、送信局に
おいては、第1の乱数を生成する第1の乱数生成手段と
、少なくともこの第1の乱数生成手段で生成された第1
の乱数と入力される第2の乱数とから鍵配送情報を作成
する鍵配送情報作成手段と、前記第1の乱数生成手段で
生成された第1の乱数から鍵情報を作成する鍵情報作成
手段と、この鍵情報作成手段で作成された鍵情報によっ
て被送信情報を暗号化する暗号化手段とを有し、受信局
においては、第2の乱数を生成する第2の乱数生成手段
と、この第2の乱数生成手段で生成された第2の乱数と
受信した鍵配送情報と受信局の秘密情報とから鍵情報を
復元する鍵情報復元手段と、この鍵情報復元手段で復元
された鍵情報を用いて暗号化された被送信情報を復号す
る復号手段とを有することを要旨とする。 【0016】 【作用】本願第1の発明の暗号通信方法は、送信局から
受信局へ被送信情報を暗号化して送信する際に、少なく
とも暗号鍵の介在の下に被送信情報を暗号化して得られ
る暗号文と、少なくともこの暗号文と受信局の公開情報
とから生成される鍵配送情報とを送信することによって
行うので、通信の度に異なる被送信情報が鍵配送情報の
生成に関与するため、常に送信される度に異なる鍵配送
情報が生成されるものである。 【0017】本願第2、第4の発明においては、DH方
式に比べ、送信者と受信者が鍵共有しようとする場合乱
数情報に基づいて鍵を生成するので通信の度に簡単に鍵
を変えることができる。さらに、鍵を送信者から受信者
へ送るための鍵配送情報はメッセージに依存しているの
で、ある暗号文に付随した鍵共有情報を後に別の暗号文
を送るために再使用することが困難となっている。 【0018】また、本願第3、第5の発明においては鍵
配送情報は受信者が生成した乱数情報に依存しているの
で、受信者が生成したある乱数情報に対して鍵共有情報
を後で別の受信者に対して再使用することが困難となっ
ている。そのため3者以上のグループ鍵共有においても
メッセージの再送による成り済まし攻撃が困難となって
いる。また実施例で述べる本発明の具体的実現法におい
ては1つの素数を法するのではなく、2つの素数の積を
法としているため公開鍵や通信者およびメッセージを認
証する機能を実現する事が容易である。これはまた、3
つ以上の素数の積を法とする方式に比べてメモリ、計算
量の節約となる。 【0019】 【実施例】以下、図面を参照して本発明の実施例を説明
する。まず、図3のシステム構成図を参照して、以下に
具体的に示す幾つかの実施例に共通なシステムの基本構
成の一例を説明する。図3においては、システムを立ち
上げるセンタと、ユーザ1乃至ユーザmに対応して設け
られる送信局であり受信局でもある複数の局U1 乃至
Um から通信ネットワークが構成される。各局Uには
説明の便宜上、通し番号i(但しi=1,…,m)が付
され、局Uiにはネットワーク上で一意に定まる名前I
Di が付与されているものとする。次に、センタ及び
局Uのそれぞれで行われる処理について説明する。まず
、センタによる前準備としてのセンタ鍵の作成について
説明する。 <センタ鍵の作成> 【0020】センタは相異なる二つの大きい素数p及び
qを生成し、その積n=p・qと、(p−1)と(q−
1)との最小公倍数L=LCM((p−1),(q−1
))を演算する。次に、素数p及びqに関して、GF(
p),GF(q)の両方で生成元となる整数gを一つ選
ぶ。また、Lと互いに素な整数uをセンタの公開鍵とし
て定め、公開鍵uに対応するセンタの秘密鍵vを、(m
od L)という数体系の上で、考えたときに、積u
・vと1が合同、換言すれば積u・vをLで除したとき
の剰余が、1をLで除したときの剰余と等しくなるよう
に作成する。このことを方式で示すと、【0021】 【数1】 である。次に、センタによる局鍵の作成について、説明
する。 <局鍵の作成> 【0022】センタはi番目の局Uiに対して鍵のペア
di ,Si を次のように定め、当該局Uiに対して
発行する。鍵di は先に定めた公開鍵uと異なりかつ
最小公倍数Lと互いに素な整数で、i≠jならばdi
≠dj であるように選ぶ。次に鍵diに対して次式を
満足するei を求める。 【0023】 【数2】 またセンタは、先に定めた秘密鍵vを用いて局認証用の
秘密情報Si を次のように定め、各局Uiに発行する
。 Ii =h(IDi )mod n Si =Ii −vmod n ここでh()は疑似ランダム関数である。さらに法(除
数)nの下で、先に定めたg,ei (=A),Si
を用いて局iの公開情報Piを定める。 Pi =Si ・gA mod n この様にして、センタ鍵及び局鍵の作成手続きによって
設定された数値は運用上、次の3つのカテゴリに分類さ
れる。 (1)公開情報:u,g,n,h(),Pi (i=1
,…,m) (2)センタ秘密情報:v,p,q,L,ei (i=
1,…,m) (3)局秘密情報:di ・Si 【0024】ここで(1) 公開情報は全局が知ること
のできる情報であり、(2) センタ秘密情報はセンタ
だけが知る情報であり、各局に対しては秘密が保持され
る。また(3)局秘密情報di はセンタと局i以外に
は秘密が保持されることが要求される。なおセンタは局
秘密情報di ,Si を発行した後は当該局秘密情報
di ,Siを記録或いは記憶してしおく必要はない。 また、このようにして作成された局秘密情報di ,S
i は、例えば安全が確保された記憶媒体等に記録され
て所定の各局Uiに渡される。 【0025】具体的な鍵配送処理は以上の準備で各局U
に配られた情報と公開情報とを用いて実現される。ここ
で、具体例の説明に入る前に、図4を参照して、本発明
による鍵配送方式を説明する上で関係の深い零知識証明
に基づくIDベース相手認証方式について簡単に説明す
る。 【0026】図4は、証明者(prover)側の局1
は自分がID1に関してセンタから秘密情報S1 を発
行された正当な人物である事を認証者(verifie
r)側の局2に示す事を目的とした2者間のプロトコル
を説明するものである。ここで重要なのは2者のやり取
りを第3者が盗聴したとしてもその人には秘密情報S1
が何であるか一切分からず、成り済ましも出来ないよ
うにプロトコルが構成されていることである。例えば、
拡張Fiat−Shamir 方式の一つである(詳細
は例えば、文献:K.Ohta andT.Okamo
to”A modification of the
Fiat−Shamir scheme”,crypt
88,Lecturenote on compute
r science,Springer Verlag
pp.232−243 を参照)がある。また、これ
までに提案されている実用的な零知識照明プロトコルと
してはこの方式を含めて次に挙げる4つが代表的な方式
である。 (1) Fiat−Shamir 法(文献:A.F
iat and A.Shamir,”How to
prove yourself:practicals
olutions to identificatio
n and signature problems”
,Crypto86,Lecture note on
computer science,Springe
r Verlag pp.116−194 )(2)
拡張Fiat−Shamir 法1(例えば、文献:
K.Ohta and T.Okamoto,”A m
odification of theFiat−Sh
amir scheme”,crypt88.Lect
ure note on computer scie
nce,Springer Verlag pp.23
2−243を参照) (3) 拡張Fiat−Shamir 法2(文献:
太田“RSA暗号を利用したIDに基づく認証方式とそ
の応用”第11回情報理論とその応用シンポジウム、p
p.567−572, 1988年12月)(4)
Beth法 (文献:T.Beth, ”Efficient ze
ro−knowledge identifictio
na schamefor smart cafds,
Eurorypt’ 88,Lecture note
oncomputerscience,Spring
er Verlag pp.232−243) これらのプロトコルには各々について次のような3種類
の利用法がある。 (a) sequential版 (b) parallel版 (c) non−interactive版各々の詳
細については省略する。この内、説明は拡張Fiat−
Shamir法1に基づく構成のみついて行う。 【0027】ここでは局1(記号U1で表す)が局2(
記号U2で表す)に対して、s1 を所有している事を
証明するプロトコルの概要を示す。ただし、U1:{処
理} という表記によって、局1の行う処理を、またU1→U
2:{情報} という表記によって情報を局1から局2に送る処理を表
す。なお、以下に示す各実施例では、 {番号}:{処理} といった表記も用いるがこの場合には番号は処理ステッ
プの番号を表すものとする。 <拡張Fiat−Shabir 法1による認証プロト
コル> U1:乱数Rを生成し、X=Ru mod
nを計算。 …(ステップ411 ) U2→U
2:ID1 ,X
…(ステップ401, 402) U
2:乱数Eを生成。
…(ステップ421 )
U2→U1:E
…(ステッ
プ403 ) U1:Y=R・S1 E mod
nを計算。 …(ステップ41
2 ) U1→U2:Y
…(
ステップ405 ) U2:X0 =Yu ・I1
E を計算し、 …(
ステップ422 )Xと比較する。X0 とXが等しけ
れば相手側の局を局1と認める。等しくなければ局1と
認めない。
…(ステップ423 )
【0028】以上の準備の下で本発明に基づく第1の実
施例である鍵共有方式を図5を参照しつつ説明する。以
下の説明においては、いずれの例においても局1と局2
の間の鍵配送として説明する。鍵共有の手順は以下の通
りである。 U1:局2の公開情報P2 を入手し、
…(ステップ511 )乱数r
(1≦r≦n−1)を生成し、
…(ステップ512 )これに基づいて
新たな乱数R,Xを次のように計算する。 R=(P2 u ・I2 )r mod n
…(ステップ513
) X=Ru mod n
…(ス
テップ514 ) また、乱数rを用いて、鍵Kを次
のように作る。 …(ステップ515 )
K=gu.u.r mod n U1→U2
:ID1 ,X
…(ステップ501,504 ) U2
:乱数Eを生成。 U2→U1:E U1:Y=R・S1 E mod nを計算。
…(ステップ516 ) U
1→U2:Y
…(ステップ50
3 ) U2:X0 =Yu ・I1 E mod
nを計算し、(ステップ521 )Xと比較する。
…(ステップ522 )【0
029】等しくなければ局1と認めず、処理を中止する
。X0 とXが等しければ相手を局1と認めて、自分の
秘密鍵d2 (=B)を用いてXからKを次式によって
生成する。 K=XB mod n
…(ステッ
プ523 )【0030】特徴:この第1の実施例によ
る方式は局2が生成した乱数Eに依存して鍵配送情報Y
が生成されるので、同じYを成り済ましのために再使用
することは困難となっている。また、本方式は受信者か
ら送信者への向きの通信(U2→U1:E)を含んでい
るので非実時間の通信には余り適さない。しかし、従来
のタイムスタンプ方式に比べた場合、送信局は正当性の
判断はXとX0 が一致するか否かによって実現されて
いるのでタイムスタンプの場合のような判断の曖昧さが
無くなっており、システム設計が極めて容易になってい
る。次に第2の実施例を図6に基づいて説明する。 【0031】ここでは暗号鍵Kを用いて平文Mから暗号
文Cを求める手続きをC=eK(M)と書き、逆に暗号
鍵Kを用いて暗号文Cから平文Mを求める手続きをM=
dK(C)と書くことにする。なお関数f()は一方向
性関数、すなわち入力から出力を求めることは容易であ
るが出力から入力を求めることは計算量的に困難である
ような関数を表すものとする。まず局1bにおける処理
について説明する。 <局1bの処理> 1:局2bの公開情報P2 を入手。
…(ステップ611 )
2:乱数r(1≦r≦n−1)を生成し、これに基づい
て乱数R,X,Kを次のように計算する。 R=(P2 u ・I2 )r mod n
…(ステップ612
) X=Ru mod n
…(ス
テップ613 ) K=gu.u.r mod
n
…(ステップ614 ) 3:暗号文を作成。 C=eK(M)
…(ステップ615 ) 4:E=f(X,C)を計
算。 …
(ステップ616 ) 5:Y=RE ・S1 mo
d nを計算。 …(ス
テップ617 ) 6:ID1b,C,X,Yを局2
bへ送付。 …(ステップ601 〜604
)【0032】次に、局2bにおける処理について説
明する。 <局2bの処理> 1:Z=Yu ・I1 mod nを計算。
…(ステップ621 )
2:E0 =f(X,C)を計算。
…(ステップ622 ) 3
:Z0 =XE0mod nを計算。
…(ステップ623 ) 4
:ZとZ0 を比較して等しくなければ、局1bからの
通信と認めず、処理を中止する。またZとZ0 が等し
ければ、相手を局1bと認めて次の処理に移る。
…(ステップ624 ) 4:自局2bの秘密鍵
d2 (=B)を用いてXからKを次式によって生成す
る。
…(ステップ625 ) K=XB mod
n 5:M=dK(C)によって平文を求める。
…(ステップ626 )【0033】こ
の第2の実施例では送信者の認証メカニズムとして拡張
Fiat−Shamir 法2を用いた構成を示したが
、この方式はFiat−Shamir 法、および拡張
Fiat−Shamie 法1を用いても実現できる。 次に、第3の実施例を図7に基づいて説明する。まず局
1cにおける処理について説明する。 <局1cの処理> 1:局2cの公開情報P2 を入手。
…(ステップ711 )
2:乱数r(1≦r≦n−1)を生成し、これに基づい
て乱数R,X,Kを次のように計算する。 R=(P2 u ・I2 )r mod n
…(ステップ712
) X=Ru mod n
…(ス
テップ713 ) K=gu.u.r mod
n
…(ステップ714 ) 3:暗号文作成。C
=eK(M)
…(ステップ715 ) 4:E=f(X,C)
…(ステップ716 ) 5:Y=R・S1
E mod nを計算。
…(ステップ717 ) 6:ID1c,C,E
,Yを局2cへ送付。 …(ステップ701
〜704 )【0034】次に、局2cにおける処理
について説明する。 <局2cの処理> 1:X0 =Yu ・I1 E mod n
…(ステップ721
) 2:E0 =f(X0 ,C)
…(ステップ
722 ) 3:EとE0 を比較して等しくなけれ
ば局1cからの通信と認めず、処理を中止する。またE
とE0 が等しければ相手を局1cと認めて次の処理に
移る。
…(ステップ723 ) 4:自分の秘密鍵d2
(=B)を用いてX0 からKを次式によって生成す
る。
…(ステップ724 ) K=XB mod
n 5:M=dK(C)によって平文を求める。
…(ステップ725 )【0035】こ
の第3の実施例では、認証メカニズムとして拡張Fia
t−Shamir 法1を用いた構成を示したが、この
方式はFiat−Shamir 法でも実現できる。ま
た、第2の実施例と第3の実施例を比較した場合、送受
信2つの局が行う処理量は大差ない。ただしステップ6
01 〜604 で送られる送信情報の内、第3番目の
要素がステップ701〜704 ではXからEに代わっ
ている点が異なる。一般にXは法n程度の桁数となるが
、Eはそれよりも小さく取ることも可能であり、その分
だけ第3の実施例の方が通信量を削減できる利点がある
。 【0036】つづいて、第3の実施例の変形方式として
処理量または通信量が削減されている第4、第5の実施
例を述べる。これらは第3の実施例を原形としているの
で拡張Fiat−Shamir 法1またはFiat−
Shamir 法を用いて実現できる。 【0037】まず、第4の実施例を図8に基づいて説明
する。 <局1dの処理> 1:局2dの公開情報P2 を入手。
…(ステップ811 )
2:乱数r(1≦r≦n−1)を生成し、これに基づい
て乱数R,X,Kを次のように計算する。 R=(P2 u ・I2 )r mod n
…(ステップ812
) K=gu.u.r mod n
…(ス
テップ813 ) 3:暗号文作成。C=eK(M)
…(ステッ
プ814 ) 4:E=f(K,C)
…(
ステップ815 ) 5:Y=R・S1 E mod
nを計算。 …(ステ
ップ816 ) 6:ID1d,C,E,Yを局2へ
送付。 …(ステップ801 〜804
)【0038】次に、局2dにおける処理について説
明する。 <局2dの処理> 1:X0 =Yu ・I1 E mod n
…(ステップ821
) 2:自局の秘密鍵d2 (=B)を用いてXか
らK0 を次式によって生成する。 K0 =X0 B mod n
…(ステッ
プ822 ) 3:E0 =f(K0 ,C)
…(
ステップ823 ) 4:EとE0 を比較して等し
くなければ局1dからの通信と認めず、処理を中止する
。またEとE0 が等しければ相手を局1dと認めて次
の処理に移る。
…(ステップ824 ) 5:M=dK(C)に
よって平文を求める。 …(ステッ
プ825 )【0039】この第4の実施例の方式では
第3の実施例で送信側で作成していたXを省略したので
その分だけ処理量が削減されている。これは多倍長整数
のべき乗剰余計算1回に相当するが、この計算は一般に
処理量が大きく、第3の実施例の代わりに第4の実施例
を用いることにより処理時間削減効果は大きい。Xを作
成しないのでEをKとCから生成しているが、K=XB
modnの関係に着目すると、 E=f(K,C)=f(XB mod n,
C)=f0 (X,C) (但し、f0 ()は
一方向性関数)と変形できるのでこの方式の安全性は、
第3の実施例と同じであると考えられる。 【0040】以上述べてきた第2から第3の実施例では
いずれも鍵共有情報を暗号文Cに依存するように作成し
ていた。これを平文Mに依存させるように変形してもこ
れらの実施例とまったく同様にして鍵共有情報の再送に
よる成り済まし攻撃を防ぐことができる。例えば、第4
の実施例において、局1dの処理のステップ815 を
E=f(K,M)に置き換えても良い。これに伴い局2
dの処理順序に多少の変更は必要であるがその変更は容
易である。ただし、実施例で示したように暗号文Cに依
存させる構成の方が受信側でMを復号する前に送信者の
正当性確認ができるので、万一不正な送信者からのメッ
セージであった場合に無用な復号処理を行う前に処理を
中止することが可能となり、平文Mに依存させる構成よ
りも若干優れていると考えられる。 【0041】第5の実施例を図9に基づいて説明する。 次に、局1eにおける処理について説明する。 <局1eの処理> 1:局2eの公開情報P2 を入手。
…(ステップ911 )
2:乱数r(1≦r≦n−1)を生成し、これに基づい
て乱数R,X,Kを次のように計算する。 R=(P2 u ・I2 )r mod n
…(ステップ912
) K=gu.u.r mod n
…(ス
テップ913 ) 3:暗号文作成。C=eK(M)
…(ステッ
プ914 ) 4:E=f(C)
…(ステップ915 ) 5:Y=R・S1 E m
od nを計算。 …(
ステップ916 ) 6:ID1e,C,E,Yを局
2へ送付。 …(ステップ901 〜9
03 ) 次に、局2eにおける処理について説明す
る。 <局2eの処理> 1:E0 =f(C)
…(ステップ
921 ) 2:X0 =Yu ・I1 E0mod
n …(ステ
ップ922 ) 3:自局2eの秘密鍵d2 (=B
)を用いてXからK0 を次式によって生成する。
K0 =X0 B mod n
…(ステップ923 )
4:M0 =dK0 (C)によって平文を求める
。 …(ステップ924 )【0042】こ
の第5の実施例の方式では第3の実施例で送信側で作成
していたXを省略したのでその分だけ処理量が削減され
ていると共に鍵配送情報からEを削除している。これに
よって処理量の削減と通信量の削減が実現されている。 これに伴ってEをCのみから作成する形となっているが
、C=eK(M)という関係があり、E=f(C)=f
0 (K,C) (但し、f0 ()は一方向性関数) と変形できるので受信側でE0 の正当性を確認できれ
ば、この方式の安全性は第3の実施例と同じであると考
えられる。局2eの処理ではE0 の正当性確認は顕に
は行われていないが、仮にE0 が送信側で作成したE
と異なっているならば、その影響はM0 まで伝搬し、
局2eのステップ924 で復号した平分は送信された
平分Mと一致しなくなる。この影響は例えばMが日本語
の文章だった場合を例にとれば、M0 がでたらめな文
字列になるという形で検出される。より一般的には、平
分Mにある種の構造的な冗長度がある場合には復号文M
0 にもその冗長性があるかどうかを確認することによ
ってE0 の正当性の確認、すなわち送信局の認証が実
現できる。また平文Mに構造的な冗長度がない場合には
人為的に冗長度を付加することができる。例えば、メッ
セージ認証コードはその一手法として利用可能である。 【0043】以上の鍵共有方式は全て、認証機能をFi
at−Shamir 法をベースに構成しており、シス
テムの法nの素因数分解の困難さに基づいている。一方
、素因数分解と同様に計算量的に困難であると考えられ
ている問題に離散対数問題がある。次に、離散対数問題
の困難さに基づき、メッセージの再送攻撃に対抗可能な
鍵共有方式を第6の実施例として、図10のシステム構
成図と図11に基づいて説明する。 【0044】まず、システム構成に関して説明する。 <センタ鍵の作成> センタは大きい素数pを生成し、GF(p)の生成元と
なる整数gを選ぶ。また、一方向性の関数fを定め、こ
れらの情報を公開する。 <局鍵の作成>局U1 は、秘密情報x1 (1≦x1
≦p−1)を定め、公開情報P1 を次式により定め
る。 P1 =gx1mod n 【0045】<公開鍵証明書の作成>局U1 は、公開
情報P1 とID情報ID1 をセンタに送る。センタ
は、(ID1 ,P1 )と局U1 の対応を確認した
後、(ID1 ,P1 )のペアに対し、ElGama
l 署名法もしくは、Schnorr 署名法を利用し
てディジタル署名情報Cert1 を作成する。この情
報は局U1 の公開情報P1 に対する証明書(Cer
tificate )として利用される。すなわち、局
U1 の公開情報P1 の正当性は、それに対するセン
タの署名Cert1 を検査することで行える。全局の
公開情報P1 と証明書Cert1 は公開ファイルに
登録される。なお、ElGamal 署名法の詳細は、
例えば文献:T.ElGamal,”A public
key cryptosystem and a s
ignature scheme based ond
icrete lagarithm ”,Lectur
e notes on computer scien
ce, Advances incryputolog
y − Crypto’84, Springer−V
erlag, pp.10−18, Schnorr
署名法の詳細は、例えば文献:C.P.Schnno
rr, “Efficinet identifica
tion and signatures for s
mart cafds ”, Lecture not
eson computer science Adv
ances incryptolagy − Cryp
to’89,Springer−Verlag,pp.
239−252が挙げられる。次に、鍵配送手順を説明
する。ここでは、局1fが局2fとの間で一方向通信に
より鍵共有を行う手順を示す。 <局1fの処理> 1:公開フィルムから局2fの公開情報P2fと証
明書Cert2fを読み出す。
…(ステップ1011) 2:公開情報P2fと
証明書Cert2fから公開情報P2fの正当性を確認
する。
…(ステップ1012) 3:乱数t(1≦t≦
p−1)を作成し、共有鍵Kを次式により求める。 K=P2ft mod p=gX 2ft
mod p …(ステップ1013)
4:鍵Kにより、暗号文を作成する。C=eK(M
) …(ステップ1014) 5:以上の情報と秘
密情報x1fから次の計算を行う。 X=gt mod p
…(ステッ
プ1015) E=f(X,C)
…(ステップ1016) Y=x1f・E+t
mod p−1
…(ステップ1017) 6:ID1f,E,Y,C
,P1f,Cert1fを局2fへ送信。
…(ステ
ップ1018〜1023)<局2fの処理> 1:P1fとCert1fから公開情報P1fの正
当性を確認する。…(ステップ1031) 2:局1
fからの送信情報と公開情報P1fから次の計算を行う
。 X0 =gY /P1fE mod p
…(ステップ1
032) E0 =f(X0 ,C)
…(
ステップ1033) 3:EとE0 が一致している
かどうかを確認。一致していれば相手を局1fと認める
。
…(ステッ
プ1034) 4:共有鍵Kを次式による求める。 K=X0 x2fmod p=gx2ftm
od p …(ステップ1035) 5
:M=dk(C)によって平文を求める。
…(ステップ1036)【0046】この第6
の実施例の方式は、第3、4、5の実施例の方式と比べ
て、局1fの秘密情報がx1fの一つのみと少ないこと
、このx1fは離散対数問題が困難である限りセンタで
あっても求めることのできない情報であるため、センタ
の不正行為に対し、第3、4、5の実施例の方式よりも
安全性が高いという利点がある。なお、この第6の実施
例において、第1の実施例と同様に、Eを局2fが乱数
により生成し、局1fに送信するように変更してもよい
。このようにすると、双方向通信による鍵共有方式にな
る。 【0047】以上、鍵配送方式として利用する方法につ
いて説明してきたが、ここに挙げた幾つかの方式はもと
もと零知識証明プロトコルの非対話版に基づくディジタ
ル署名法を発信者認証メカニズムとして利用しているの
で、ディジタル署名法としても利用可能である。次に、
第3の実施例に多少の変形を加える事によってディジタ
ル署名を実現した、第7の実施例を図12に基づいて説
明する。 【0048】 <ディジタル署名> 1:第3の実施例の処理と同様に、局1fは暗号文
Cを次のように作成する。 ただし、記号‖は連結を表すものとする。 C=ek(M‖h(K‖M)) 2:1gは
次のようなディジタル署名文1を、認証する局2gに送
る。
…(ステップ1101) 署名文1:(ID
1f,ID2f,C,Y,E) ここでY,Eは第3
の実施例同様に作成される。 3:局2gは自分の秘密鍵d2 を用いて第3の実
施例と同じ要領で鍵Kを作成し、CをKで復号して平文
が所定の構造(M‖h(K‖M))を持つことを確認す
る。
…(
ステップ1102) 4:さらに、第3者の署名確認
が必要な場合には局2gは第3者局3に 署名文
2:(ID1f,C,Y,E,K)を開示する。
…(ステップ1103)
5:第3者は署名文2を次にような判断に従って確認す
る。
…(ステップ1104)5−1:まず次のようにX
0 ,E0 を計算する。 X0 =Yu ・I1 E modn E0 =f(C,X0 ) 5−2:EとE0 が等しければ次のステップに進み、
等しくなければ局1gの署名では無いとして処理を終了
する。 5−3:M0 =dK(C)を求めて、M0 が所定の
構造(M‖h(K‖M))を持つことを確認する。もし
所定の構造を持たないならば、局1gの署名では無いと
して処理を終了する。所定の構造を持つならば第3者は
これが局1gの作った署名文であると認める。 【0049】この署名法の特徴は署名文1を認証できる
のは局2gに限られる事であり、正しいKを公開しない
限り第3者は署名文の認証ができない。そのため当事者
である局1g,2gがKを秘密に保つ限りは第3者によ
る署名文の持ち逃げを防げる。なお、正しいKと共に公
開される署名文2は、だれでも認証できるので従来の署
名文と同じ機能(メッセージの作成者を特定する機能)
を持っている。 【0050】鍵共有としてのここまでの実施例では、基
本メカニズムとして零知識証明プロトコルを利用してい
たが、一般の公開鍵暗号を利用した鍵配送においても再
送攻撃防止のために本発明を利用できる。 【0051】鍵共有としてのここまでの実施例は、全て
2者間の鍵共有に限定された方式であった。それは、送
信者の生成する乱数が共有鍵に関わる1種類しかなく、
3者以上のグループ鍵共有に利用すると、送信者秘密情
報が漏洩する構造になっているためである。次に、3者
以上のグループ鍵共有に適用できる方式をいくつか実施
例として説明する。グループ鍵共有においても、鍵配送
情報の再送によるなりすましの可能性があるので、それ
に対抗する手段を施している点に注意されたい。 【0052】まず、第8の実施例として、第3の実施例
の方式をグループ鍵共有に利用できる形式に変更したも
のを説明する。 【0053】センタによる前準備であるセンタ鍵の作成
、局鍵の作成の手順は、先に第1〜6の実施例において
説明したものと同じである。従って、図3に示したシス
テム構成となる。次に具体的なグループ鍵共有の手順を
説明する。まず、グループ内の任意の局がピボット局と
なり、ピボット局とそれ以外の複数の局とのスター状の
通信によりグループ鍵を共有する。以下では、ピボット
局を局1hとそれ以外の局2hとの間の手順を説明する
。まず、局1hにおける処理について説明する。 <局1hの処理> 1:局2hの公開情報P2hを取得。
…(ステップ1211)
2:グループ鍵用の乱数r(1≦r≦n−1)を生成し
、これに基づいて共有鍵Kを次式により計算する。 K=gurmod n
…(ステッ
プ1212) 3:鍵Kで平文を暗号化する。C=e
K(M) …(ステップ1213)
4:乱数rを局2h向けに暗号化した情報Z2hを作成
する。 Z2h=(P2hu ・I2h)r mod
n …(ステップ121
4) 5:乱数t2hを生成し、以下の計算により認
証情報を作成する。 X2h=t2hu mod n
…(ステッ
プ1215) E2h=f(C,X2h)
…(ステップ1216) Y2h=t2h・S1
hE2hmod n
…(ステップ1217) 6:ID1h,C,
E2h,Y2h,Z2hを局2hへ送信。
…(ステ
ップ1201〜1205)【0054】次に、局2hに
おける処理について説明する。 <局2hの処理> 1:X2hO =Y2hu ・I1hE2hmod
n …(ステップ1221
) 2:E1hO =f(C,X2hO )を計算。 …(ステップ1222)
3:EとE2hO が一致しているかどうかを確認
。一致していれば相手を局1hと認める。
…(ステップ1223) 4
:共有鍵Kを次式により求める。 K=Z2hO d2hmod n=gurm
od n …(ステップ1224)
5:M=dK(C)によって平文を求める。
…(ステップ1225)【0055】以上
の処理により、局1hと局2hの間で鍵Kが共有される
。次に、局1hは他の局3hとの間で前記手順を行うこ
とにより同じ鍵Kの配送を行う。このときに、グループ
鍵用の乱数rは固定値であるのに対し、認証情報(E3
h,Y3h)の作成時に用いる乱数t3hは局2hとの
手順で用いたものとは変更されることに注意が必要であ
る。 【0056】上記手順は認証情報E2h,E3hが暗号
文Cに依存している点が特徴であり、このことにより、
鍵配送情報の再送によるなりすましを防止している。こ
の実施例の手順は、前記拡張Fiat−Shamir法
1を利用して、暗号化情報Z2hに対する署名を作成す
る構成となっているが、Fiat−Shamir 法や
拡張Fiat−Shamir法2を利用して署名を作成
することも可能である。なお、前記手順においてE2h
を局1hが生成するのではなく、第1の実施例と同様に
、局2hが生成して局1hに送るように変更してもよい
。この場合には、ピボット局1hと他局2hとの双方向
の通信によるグループ鍵共有方式となる。 【0057】次に第9の実施例として、代表的な公開鍵
暗号であるRSA暗号系(文献:R.L.Ricest
,et.al, ”A method for obt
aining a public−key crypt
osistem anda digital sign
ature”, Comm.of ACM ,pp.1
20−126,Feb.1978 )を利用した構成を
図11に基づいて説明する。説明を簡単にするためにこ
こでは任意の局の公開鍵は改ざん不可能リストに登録さ
れているものとする。また、次のような記号の定義を行
う。 局iの公開鍵による暗号化処理: C=PKi
(M)=MAimod ni 局iの秘密鍵による
復号処理 : M=SKi (C)=CBimod
ni 【0058】次に、局1iにおける処理について説明す
る。 <局1gの処理> 1:乱数Kを生成し、これを鍵とする。
…(ステップ1311) 2:C
=eK(M)により平文Mを鍵Kで暗号化する。…(ス
テップ1312) 3:H=f(C,K)によりハッ
シュ値Hを計算する。…(ステップ1313) 4:
Y=PK2 (SK1 (ID1 ‖K‖H))により
鍵共有情報Yを計算する。
…(ステップ1314) 5:
ID1i,C,Yを局2iへ送る。
…(ステップ1301〜1303) 次に、局2i
における処理について説明する。 <局2iの処理> 1:Z=PK1i(SK2i(Y))
…(ステップ1321)
ID1iが所定の書式に従ってZに含まれる事を確認す
る。含まれていない場合には処理を中止する。 2:ZからK,Hを取りだし、H0 =f(C,K
)を計算し、
…(ステップ1322)H0 が一致
する事を確認する。
…(ステップ1323)一致しない場
合には処理を中止する。 3:ステップ1322で取り出したKを用いてCを
復号する、 なお、局1iにおけるステップ1314
を次のように変更することも可能である。 4′:Y=SK1i(PK2i(ID1i‖K‖H
‖))により鍵共有情報Yを計算する。 【0059】この場合局2iの処理におけるステップ1
121は次のようになる。1′:Z=SK2i(PK1
i(Y))を求め、ID1iが所定の書式に従ってZに
含まれることを確認する。含まれていない場合には処理
を中止する。 【0060】上述した第9の実施例ではRSA暗号をデ
ィジタル署名と暗号化の両方に使用する例を説明したが
、ディジタル署名を実現できる方式と公開鍵暗号による
暗号化を実現できる方式の2つを用いれば上記手順と同
様にして鍵配送が実現できる。 【0061】上述したように、上記各実施例によれば、
2者間の鍵共有方式や3者以上のグループ鍵共有方式に
おける鍵配送情報の再送による成り済ましを防止するこ
とができる。このとき、タイムスタンプを利用する従来
の対策と比べて、受信側での正当性確認を曖昧さなしに
行うことができ、さらにタイムスタンプが必ずしも有効
に働かないメール通信のように比較的伝送遅延の大きい
通信に用いても安全で再送に基づく成り済まし攻撃が不
可能となる等の効果を奏する。 【0062】 【発明の効果】以上述べたように本発明によれば、鍵配
送情報の再送によるなりすましを防止できる鍵共有方式
を実現できる。特に、本発明による幾つかの方式は、電
子メールのような非実時間通信においても再送攻撃を簡
便に防止でき、受信側で、送信者の正当性確認を曖昧さ
なしに行えるという特徴を有する。
装置に関し、特に通信システンにおける暗号鍵の安全な
配送を可能にする暗号通信方法およびその装置に関する
。 【0002】 【従来の技術】近年、各種通信回線等を介して取り扱わ
れる情報がますます高度に、かつ比重が高まるに伴ない
、これら情報の意図的な攻撃等からの安全性を確保する
ことが要求されるに至っている。そのためこれら情報の
秘密保持、或いは認証のために暗号技術の利用が検討さ
れている。この暗号技術には共通鍵暗号技術、公開鍵暗
号技術等が開発されており、特に公開鍵暗号技術は、鍵
共有プロトコルや、ディジタル署名の実現に有効である
。具体的暗号系としてはRSA(Rivest Sha
mirAdleman )暗号系やDH(Diffie
−Hellman)方式がある。 【0003】また、公開鍵暗号技術等を用いて暗号通信
を実現する際には、通信に先立って暗号の鍵を通信の当
事者間で共有する必要がある。例えば、DH方式(W.
Diffie& M.E.Hellman,”New
directions in cryptograph
y”,IEEE Trans.onInformati
on Theory,IT−22,6,pp.644−
645(June 1976))は、大きい素数pを法
(除数)とする、べき乗演算の逆変換が困難であること
に基づいた2者間の鍵配送方式である。さらに、その後
共有される鍵が毎回変るように変形したり、2者以上の
グループ間でも鍵を配送できるようにした方式などが提
案されている。 【0004】また、小山−太田方式(”Securit
y of improved identitiy−b
asedconference key distri
bution systems”,Lecture N
otes in Computer ScienceA
dvances incytptolgy−Euroc
rypt ′88−pp.11−19,Springe
r−Verlag 1988)は、グループで鍵配送で
きる方式を提案しているが、そのために法を3つの素数
の積としている。この方式では、2つの素数の積を法と
する方式に比べ法の桁数が2倍となる。これは、メモリ
量と演算量の点で不利となる。例えば、べき乗計算の演
算量は概ね法の桁数の3倍に比例するから、1度のべき
乗の演算量は約8倍となる。このように演算量の多い点
が欠点である。 【0005】一方、伊藤らは、公開鍵の認証機能付きで
、毎回、鍵が変り、かつグループ鍵配送に向いた方式を
提案している(伊藤、羽物、笹瀬、森:“ID情報に基
づく公開ファイル不要な一方向鍵配送方式”,1990
年電子情報通信学会春季全国大会講演論文集,No.A
−238,p.1−283,1990, 3月)。しか
しながら、伊藤らの方式は、グループ鍵共通に用いた場
合、第3者による再送攻撃による成り済ましが可能であ
る点が指摘されている。 すなわち、3者以上で構成されるグループ内で、一旦鍵
共有を行った後には、鍵共有情報の再送によってグルー
プ内のあるメンバが他のメンバに成り済ますことが可能
となる。さらに、2者間の鍵共有に限定して使用したと
しても、次のような問題が残る方式であった。すなわち
、何らかの理由により、ある通信セッションで共有され
た鍵の値を知った第3者は、その後、鍵共有情報の再送
によって鍵共有情報の送信ユーザになりすまして受信者
との間で鍵を共有することができる。 【0006】この成り済ましを防止するために、時刻情
報をいわゆるタイムスタンプとして利用する方式が提案
されている(川村、新保:“公開された暗号文の復号能
力に基づく暗号方式について”,電子情報通信学会技術
報告書,ISEC90−5,pp.29−34,199
0,5月)。 【0007】以下、このタイムスタンプを利用する方式
の概略を図12を参照して説明する。まず、送信者側の
局101 においては、発信時刻情報tを電文に付加す
ると共に、鍵を受信側の局102 に安全に送りつける
ための鍵配送情報Yをこの発信時刻に依存させることに
よって鍵配送情報Yの再使用を防止しようというもので
ある。受信者側の局102 においては、電文に付加さ
れた発信時刻情報tと受信した時刻に係る時刻情報とを
比較して、その時間差が事前に定めらた誤差以内であれ
ば正当な発信者側の局101 からのメッセージである
と判断して、鍵配送情報Yから鍵を取り出す処理に移る
。このとき正しい発信時刻情報tを用いないと鍵を鍵配
送情報Yから取り出せないようになっているので、ある
時刻の鍵配送情報Yを別の時刻に再使用できない。 【0008】しかし、タイムスタンプを用いる方式には
、次の二つの点に課題がある。まず第一は、タイムスタ
ンプによる正当性の確認は、受信した電文に付加されて
いる発信時刻情報tと自分が受信した時刻情報とを比較
して、その差が事前に定められた誤差以内となっている
事を確認することで実現されているが、その許容誤差の
範囲の決定について、普遍的な規則が無い点である。 論理的には対象となる通信システムに予想される最大伝
送遅延を許容誤差とすれば良いが、最大伝送遅延は通信
システム毎に異なるから設計パラメータがシステム毎変
わることになり余り好ましくない。 【0009】タイムスタンプを用いる方式の第2の課題
は、会議通信のように実時間で通信が行われる場合には
成り済まし対策としてのタイム・スタンプが十分有効に
働くものの、電子メールのように比較的伝送遅延時間が
大きい通信では、タイム・スタンプの有効性の判定が困
難となることである。何故ならば、電文に付加されてい
る発信時刻情報tと受信時刻との差が成り済ましによる
ものか、伝送遅延に起因するものか受信者が判断できな
いからである。従って、この様に伝送遅延時間の大きい
システムにおいては別の成り済まし・再送攻撃対策が必
要である。言い換えれば鍵配送情報の再送攻撃によるな
りすまし対策は、通信形態が実時間であるのか非実時間
であるのかによって区別して考える必要が生じる。但し
、ここで非実時間の通信とは電子メールのように伝送遅
延時間の大きい通信を指す。 【0010】 【発明が解決しようとする課題】以上の点に鑑み本発明
では、2者間の鍵共有方式や3者以上の間での鍵共有方
式におけるメッセージの再送による成り済まし攻撃を防
止する事のできる方式を提供することを目的とする。さ
らには、受信側での正当性確認を曖昧さなしに行え、か
つ比較的伝送遅延の大きい通信に用いても安全で再送に
基づく成り済まし攻撃が不可能な暗号通信方法およびそ
の装置を提供することを目的とする。[発明の構成]【
0011】 【課題を解決するための手段】上記課題を解決するため
に、本願第1の発明は、少なくとも暗号鍵の介在の下に
被送信情報を暗号化して得られる暗号文と、少なくとも
この暗号文と受信局の公開情報とから生成される鍵配送
情報によって送信局と受信局との間の暗号通信を行うこ
とを要旨する。 【0012】本願第2の発明は、送信局においては、送
信局で生成された乱数を基に生成される暗号鍵の介在の
下に被送信情報を暗号化して得られる暗号文と、少なく
ともこの暗号文と受信局の公開情報とから生成される鍵
配送情報とを送信し、受信局においては、少なくとも受
信した鍵配送情報と暗号文及び当該受信局の秘密情報と
から暗号鍵を復元し、この暗号鍵の介在の下に受信した
暗号文を復号して被送信情報を得ることを要旨とする。 【0013】本願第3の発明は、送信局においては、送
信局で生成された第1の乱数を基に生成される暗号鍵の
介在の下に被送信情報を暗号化して得られる暗号文と、
少なくとも受信局の公開情報および当該受信局で生成さ
れ当該送信局に送信された第2の乱数とから生成される
鍵配送情報とを送信し、受信局においては、少なくとも
受信した鍵配送情報と当該受信局の秘密情報及び第2の
乱数とから暗号鍵を復元し、この暗号鍵の介在の下に受
信した暗号文を復号して被送信情報を得ることを要旨す
る。 【0014】本願第4の発明は、通信回線を介して接続
される複数の局からなる通信系で、各局は公開情報とこ
の公開情報に対応する秘密情報がそれぞれ発行され、こ
れらの各情報を用いて送信局から受信局へ暗号化された
被送信情報を配送する暗号通信装置において、送信局に
おいては、乱数を生成する乱数生成手段と、少なくとも
受信局の公開情報と乱数生成手段で生成された乱数と被
送信情報とから鍵配送情報を作成する鍵配送情報作成手
段と、前記乱数生成手段で生成された乱数から鍵情報を
作成する鍵情報作成手段と、この鍵情報作成手段で作成
された鍵情報によって被送信情報を暗号化する暗号化手
段とを有し、受信局においては、受信した鍵配送情報と
暗号化された被送信情報と受信局の秘密情報とから鍵情
報を復元する鍵情報復元手段と、この鍵情報復元手段で
復元された鍵情報を用いて暗号化された被送信情報を復
号する復号手段とを有することを要旨とする。 【0015】本願第5の発明は、通信回線を介して接続
される複数の局からなる通信系で、各局は公開情報とこ
の公開情報に対応する秘密情報がそれぞれ発行され、こ
れらの各情報を用いて送信局から受信局へ暗号化された
被送信情報を配送する暗号通信装置において、送信局に
おいては、第1の乱数を生成する第1の乱数生成手段と
、少なくともこの第1の乱数生成手段で生成された第1
の乱数と入力される第2の乱数とから鍵配送情報を作成
する鍵配送情報作成手段と、前記第1の乱数生成手段で
生成された第1の乱数から鍵情報を作成する鍵情報作成
手段と、この鍵情報作成手段で作成された鍵情報によっ
て被送信情報を暗号化する暗号化手段とを有し、受信局
においては、第2の乱数を生成する第2の乱数生成手段
と、この第2の乱数生成手段で生成された第2の乱数と
受信した鍵配送情報と受信局の秘密情報とから鍵情報を
復元する鍵情報復元手段と、この鍵情報復元手段で復元
された鍵情報を用いて暗号化された被送信情報を復号す
る復号手段とを有することを要旨とする。 【0016】 【作用】本願第1の発明の暗号通信方法は、送信局から
受信局へ被送信情報を暗号化して送信する際に、少なく
とも暗号鍵の介在の下に被送信情報を暗号化して得られ
る暗号文と、少なくともこの暗号文と受信局の公開情報
とから生成される鍵配送情報とを送信することによって
行うので、通信の度に異なる被送信情報が鍵配送情報の
生成に関与するため、常に送信される度に異なる鍵配送
情報が生成されるものである。 【0017】本願第2、第4の発明においては、DH方
式に比べ、送信者と受信者が鍵共有しようとする場合乱
数情報に基づいて鍵を生成するので通信の度に簡単に鍵
を変えることができる。さらに、鍵を送信者から受信者
へ送るための鍵配送情報はメッセージに依存しているの
で、ある暗号文に付随した鍵共有情報を後に別の暗号文
を送るために再使用することが困難となっている。 【0018】また、本願第3、第5の発明においては鍵
配送情報は受信者が生成した乱数情報に依存しているの
で、受信者が生成したある乱数情報に対して鍵共有情報
を後で別の受信者に対して再使用することが困難となっ
ている。そのため3者以上のグループ鍵共有においても
メッセージの再送による成り済まし攻撃が困難となって
いる。また実施例で述べる本発明の具体的実現法におい
ては1つの素数を法するのではなく、2つの素数の積を
法としているため公開鍵や通信者およびメッセージを認
証する機能を実現する事が容易である。これはまた、3
つ以上の素数の積を法とする方式に比べてメモリ、計算
量の節約となる。 【0019】 【実施例】以下、図面を参照して本発明の実施例を説明
する。まず、図3のシステム構成図を参照して、以下に
具体的に示す幾つかの実施例に共通なシステムの基本構
成の一例を説明する。図3においては、システムを立ち
上げるセンタと、ユーザ1乃至ユーザmに対応して設け
られる送信局であり受信局でもある複数の局U1 乃至
Um から通信ネットワークが構成される。各局Uには
説明の便宜上、通し番号i(但しi=1,…,m)が付
され、局Uiにはネットワーク上で一意に定まる名前I
Di が付与されているものとする。次に、センタ及び
局Uのそれぞれで行われる処理について説明する。まず
、センタによる前準備としてのセンタ鍵の作成について
説明する。 <センタ鍵の作成> 【0020】センタは相異なる二つの大きい素数p及び
qを生成し、その積n=p・qと、(p−1)と(q−
1)との最小公倍数L=LCM((p−1),(q−1
))を演算する。次に、素数p及びqに関して、GF(
p),GF(q)の両方で生成元となる整数gを一つ選
ぶ。また、Lと互いに素な整数uをセンタの公開鍵とし
て定め、公開鍵uに対応するセンタの秘密鍵vを、(m
od L)という数体系の上で、考えたときに、積u
・vと1が合同、換言すれば積u・vをLで除したとき
の剰余が、1をLで除したときの剰余と等しくなるよう
に作成する。このことを方式で示すと、【0021】 【数1】 である。次に、センタによる局鍵の作成について、説明
する。 <局鍵の作成> 【0022】センタはi番目の局Uiに対して鍵のペア
di ,Si を次のように定め、当該局Uiに対して
発行する。鍵di は先に定めた公開鍵uと異なりかつ
最小公倍数Lと互いに素な整数で、i≠jならばdi
≠dj であるように選ぶ。次に鍵diに対して次式を
満足するei を求める。 【0023】 【数2】 またセンタは、先に定めた秘密鍵vを用いて局認証用の
秘密情報Si を次のように定め、各局Uiに発行する
。 Ii =h(IDi )mod n Si =Ii −vmod n ここでh()は疑似ランダム関数である。さらに法(除
数)nの下で、先に定めたg,ei (=A),Si
を用いて局iの公開情報Piを定める。 Pi =Si ・gA mod n この様にして、センタ鍵及び局鍵の作成手続きによって
設定された数値は運用上、次の3つのカテゴリに分類さ
れる。 (1)公開情報:u,g,n,h(),Pi (i=1
,…,m) (2)センタ秘密情報:v,p,q,L,ei (i=
1,…,m) (3)局秘密情報:di ・Si 【0024】ここで(1) 公開情報は全局が知ること
のできる情報であり、(2) センタ秘密情報はセンタ
だけが知る情報であり、各局に対しては秘密が保持され
る。また(3)局秘密情報di はセンタと局i以外に
は秘密が保持されることが要求される。なおセンタは局
秘密情報di ,Si を発行した後は当該局秘密情報
di ,Siを記録或いは記憶してしおく必要はない。 また、このようにして作成された局秘密情報di ,S
i は、例えば安全が確保された記憶媒体等に記録され
て所定の各局Uiに渡される。 【0025】具体的な鍵配送処理は以上の準備で各局U
に配られた情報と公開情報とを用いて実現される。ここ
で、具体例の説明に入る前に、図4を参照して、本発明
による鍵配送方式を説明する上で関係の深い零知識証明
に基づくIDベース相手認証方式について簡単に説明す
る。 【0026】図4は、証明者(prover)側の局1
は自分がID1に関してセンタから秘密情報S1 を発
行された正当な人物である事を認証者(verifie
r)側の局2に示す事を目的とした2者間のプロトコル
を説明するものである。ここで重要なのは2者のやり取
りを第3者が盗聴したとしてもその人には秘密情報S1
が何であるか一切分からず、成り済ましも出来ないよ
うにプロトコルが構成されていることである。例えば、
拡張Fiat−Shamir 方式の一つである(詳細
は例えば、文献:K.Ohta andT.Okamo
to”A modification of the
Fiat−Shamir scheme”,crypt
88,Lecturenote on compute
r science,Springer Verlag
pp.232−243 を参照)がある。また、これ
までに提案されている実用的な零知識照明プロトコルと
してはこの方式を含めて次に挙げる4つが代表的な方式
である。 (1) Fiat−Shamir 法(文献:A.F
iat and A.Shamir,”How to
prove yourself:practicals
olutions to identificatio
n and signature problems”
,Crypto86,Lecture note on
computer science,Springe
r Verlag pp.116−194 )(2)
拡張Fiat−Shamir 法1(例えば、文献:
K.Ohta and T.Okamoto,”A m
odification of theFiat−Sh
amir scheme”,crypt88.Lect
ure note on computer scie
nce,Springer Verlag pp.23
2−243を参照) (3) 拡張Fiat−Shamir 法2(文献:
太田“RSA暗号を利用したIDに基づく認証方式とそ
の応用”第11回情報理論とその応用シンポジウム、p
p.567−572, 1988年12月)(4)
Beth法 (文献:T.Beth, ”Efficient ze
ro−knowledge identifictio
na schamefor smart cafds,
Eurorypt’ 88,Lecture note
oncomputerscience,Spring
er Verlag pp.232−243) これらのプロトコルには各々について次のような3種類
の利用法がある。 (a) sequential版 (b) parallel版 (c) non−interactive版各々の詳
細については省略する。この内、説明は拡張Fiat−
Shamir法1に基づく構成のみついて行う。 【0027】ここでは局1(記号U1で表す)が局2(
記号U2で表す)に対して、s1 を所有している事を
証明するプロトコルの概要を示す。ただし、U1:{処
理} という表記によって、局1の行う処理を、またU1→U
2:{情報} という表記によって情報を局1から局2に送る処理を表
す。なお、以下に示す各実施例では、 {番号}:{処理} といった表記も用いるがこの場合には番号は処理ステッ
プの番号を表すものとする。 <拡張Fiat−Shabir 法1による認証プロト
コル> U1:乱数Rを生成し、X=Ru mod
nを計算。 …(ステップ411 ) U2→U
2:ID1 ,X
…(ステップ401, 402) U
2:乱数Eを生成。
…(ステップ421 )
U2→U1:E
…(ステッ
プ403 ) U1:Y=R・S1 E mod
nを計算。 …(ステップ41
2 ) U1→U2:Y
…(
ステップ405 ) U2:X0 =Yu ・I1
E を計算し、 …(
ステップ422 )Xと比較する。X0 とXが等しけ
れば相手側の局を局1と認める。等しくなければ局1と
認めない。
…(ステップ423 )
【0028】以上の準備の下で本発明に基づく第1の実
施例である鍵共有方式を図5を参照しつつ説明する。以
下の説明においては、いずれの例においても局1と局2
の間の鍵配送として説明する。鍵共有の手順は以下の通
りである。 U1:局2の公開情報P2 を入手し、
…(ステップ511 )乱数r
(1≦r≦n−1)を生成し、
…(ステップ512 )これに基づいて
新たな乱数R,Xを次のように計算する。 R=(P2 u ・I2 )r mod n
…(ステップ513
) X=Ru mod n
…(ス
テップ514 ) また、乱数rを用いて、鍵Kを次
のように作る。 …(ステップ515 )
K=gu.u.r mod n U1→U2
:ID1 ,X
…(ステップ501,504 ) U2
:乱数Eを生成。 U2→U1:E U1:Y=R・S1 E mod nを計算。
…(ステップ516 ) U
1→U2:Y
…(ステップ50
3 ) U2:X0 =Yu ・I1 E mod
nを計算し、(ステップ521 )Xと比較する。
…(ステップ522 )【0
029】等しくなければ局1と認めず、処理を中止する
。X0 とXが等しければ相手を局1と認めて、自分の
秘密鍵d2 (=B)を用いてXからKを次式によって
生成する。 K=XB mod n
…(ステッ
プ523 )【0030】特徴:この第1の実施例によ
る方式は局2が生成した乱数Eに依存して鍵配送情報Y
が生成されるので、同じYを成り済ましのために再使用
することは困難となっている。また、本方式は受信者か
ら送信者への向きの通信(U2→U1:E)を含んでい
るので非実時間の通信には余り適さない。しかし、従来
のタイムスタンプ方式に比べた場合、送信局は正当性の
判断はXとX0 が一致するか否かによって実現されて
いるのでタイムスタンプの場合のような判断の曖昧さが
無くなっており、システム設計が極めて容易になってい
る。次に第2の実施例を図6に基づいて説明する。 【0031】ここでは暗号鍵Kを用いて平文Mから暗号
文Cを求める手続きをC=eK(M)と書き、逆に暗号
鍵Kを用いて暗号文Cから平文Mを求める手続きをM=
dK(C)と書くことにする。なお関数f()は一方向
性関数、すなわち入力から出力を求めることは容易であ
るが出力から入力を求めることは計算量的に困難である
ような関数を表すものとする。まず局1bにおける処理
について説明する。 <局1bの処理> 1:局2bの公開情報P2 を入手。
…(ステップ611 )
2:乱数r(1≦r≦n−1)を生成し、これに基づい
て乱数R,X,Kを次のように計算する。 R=(P2 u ・I2 )r mod n
…(ステップ612
) X=Ru mod n
…(ス
テップ613 ) K=gu.u.r mod
n
…(ステップ614 ) 3:暗号文を作成。 C=eK(M)
…(ステップ615 ) 4:E=f(X,C)を計
算。 …
(ステップ616 ) 5:Y=RE ・S1 mo
d nを計算。 …(ス
テップ617 ) 6:ID1b,C,X,Yを局2
bへ送付。 …(ステップ601 〜604
)【0032】次に、局2bにおける処理について説
明する。 <局2bの処理> 1:Z=Yu ・I1 mod nを計算。
…(ステップ621 )
2:E0 =f(X,C)を計算。
…(ステップ622 ) 3
:Z0 =XE0mod nを計算。
…(ステップ623 ) 4
:ZとZ0 を比較して等しくなければ、局1bからの
通信と認めず、処理を中止する。またZとZ0 が等し
ければ、相手を局1bと認めて次の処理に移る。
…(ステップ624 ) 4:自局2bの秘密鍵
d2 (=B)を用いてXからKを次式によって生成す
る。
…(ステップ625 ) K=XB mod
n 5:M=dK(C)によって平文を求める。
…(ステップ626 )【0033】こ
の第2の実施例では送信者の認証メカニズムとして拡張
Fiat−Shamir 法2を用いた構成を示したが
、この方式はFiat−Shamir 法、および拡張
Fiat−Shamie 法1を用いても実現できる。 次に、第3の実施例を図7に基づいて説明する。まず局
1cにおける処理について説明する。 <局1cの処理> 1:局2cの公開情報P2 を入手。
…(ステップ711 )
2:乱数r(1≦r≦n−1)を生成し、これに基づい
て乱数R,X,Kを次のように計算する。 R=(P2 u ・I2 )r mod n
…(ステップ712
) X=Ru mod n
…(ス
テップ713 ) K=gu.u.r mod
n
…(ステップ714 ) 3:暗号文作成。C
=eK(M)
…(ステップ715 ) 4:E=f(X,C)
…(ステップ716 ) 5:Y=R・S1
E mod nを計算。
…(ステップ717 ) 6:ID1c,C,E
,Yを局2cへ送付。 …(ステップ701
〜704 )【0034】次に、局2cにおける処理
について説明する。 <局2cの処理> 1:X0 =Yu ・I1 E mod n
…(ステップ721
) 2:E0 =f(X0 ,C)
…(ステップ
722 ) 3:EとE0 を比較して等しくなけれ
ば局1cからの通信と認めず、処理を中止する。またE
とE0 が等しければ相手を局1cと認めて次の処理に
移る。
…(ステップ723 ) 4:自分の秘密鍵d2
(=B)を用いてX0 からKを次式によって生成す
る。
…(ステップ724 ) K=XB mod
n 5:M=dK(C)によって平文を求める。
…(ステップ725 )【0035】こ
の第3の実施例では、認証メカニズムとして拡張Fia
t−Shamir 法1を用いた構成を示したが、この
方式はFiat−Shamir 法でも実現できる。ま
た、第2の実施例と第3の実施例を比較した場合、送受
信2つの局が行う処理量は大差ない。ただしステップ6
01 〜604 で送られる送信情報の内、第3番目の
要素がステップ701〜704 ではXからEに代わっ
ている点が異なる。一般にXは法n程度の桁数となるが
、Eはそれよりも小さく取ることも可能であり、その分
だけ第3の実施例の方が通信量を削減できる利点がある
。 【0036】つづいて、第3の実施例の変形方式として
処理量または通信量が削減されている第4、第5の実施
例を述べる。これらは第3の実施例を原形としているの
で拡張Fiat−Shamir 法1またはFiat−
Shamir 法を用いて実現できる。 【0037】まず、第4の実施例を図8に基づいて説明
する。 <局1dの処理> 1:局2dの公開情報P2 を入手。
…(ステップ811 )
2:乱数r(1≦r≦n−1)を生成し、これに基づい
て乱数R,X,Kを次のように計算する。 R=(P2 u ・I2 )r mod n
…(ステップ812
) K=gu.u.r mod n
…(ス
テップ813 ) 3:暗号文作成。C=eK(M)
…(ステッ
プ814 ) 4:E=f(K,C)
…(
ステップ815 ) 5:Y=R・S1 E mod
nを計算。 …(ステ
ップ816 ) 6:ID1d,C,E,Yを局2へ
送付。 …(ステップ801 〜804
)【0038】次に、局2dにおける処理について説
明する。 <局2dの処理> 1:X0 =Yu ・I1 E mod n
…(ステップ821
) 2:自局の秘密鍵d2 (=B)を用いてXか
らK0 を次式によって生成する。 K0 =X0 B mod n
…(ステッ
プ822 ) 3:E0 =f(K0 ,C)
…(
ステップ823 ) 4:EとE0 を比較して等し
くなければ局1dからの通信と認めず、処理を中止する
。またEとE0 が等しければ相手を局1dと認めて次
の処理に移る。
…(ステップ824 ) 5:M=dK(C)に
よって平文を求める。 …(ステッ
プ825 )【0039】この第4の実施例の方式では
第3の実施例で送信側で作成していたXを省略したので
その分だけ処理量が削減されている。これは多倍長整数
のべき乗剰余計算1回に相当するが、この計算は一般に
処理量が大きく、第3の実施例の代わりに第4の実施例
を用いることにより処理時間削減効果は大きい。Xを作
成しないのでEをKとCから生成しているが、K=XB
modnの関係に着目すると、 E=f(K,C)=f(XB mod n,
C)=f0 (X,C) (但し、f0 ()は
一方向性関数)と変形できるのでこの方式の安全性は、
第3の実施例と同じであると考えられる。 【0040】以上述べてきた第2から第3の実施例では
いずれも鍵共有情報を暗号文Cに依存するように作成し
ていた。これを平文Mに依存させるように変形してもこ
れらの実施例とまったく同様にして鍵共有情報の再送に
よる成り済まし攻撃を防ぐことができる。例えば、第4
の実施例において、局1dの処理のステップ815 を
E=f(K,M)に置き換えても良い。これに伴い局2
dの処理順序に多少の変更は必要であるがその変更は容
易である。ただし、実施例で示したように暗号文Cに依
存させる構成の方が受信側でMを復号する前に送信者の
正当性確認ができるので、万一不正な送信者からのメッ
セージであった場合に無用な復号処理を行う前に処理を
中止することが可能となり、平文Mに依存させる構成よ
りも若干優れていると考えられる。 【0041】第5の実施例を図9に基づいて説明する。 次に、局1eにおける処理について説明する。 <局1eの処理> 1:局2eの公開情報P2 を入手。
…(ステップ911 )
2:乱数r(1≦r≦n−1)を生成し、これに基づい
て乱数R,X,Kを次のように計算する。 R=(P2 u ・I2 )r mod n
…(ステップ912
) K=gu.u.r mod n
…(ス
テップ913 ) 3:暗号文作成。C=eK(M)
…(ステッ
プ914 ) 4:E=f(C)
…(ステップ915 ) 5:Y=R・S1 E m
od nを計算。 …(
ステップ916 ) 6:ID1e,C,E,Yを局
2へ送付。 …(ステップ901 〜9
03 ) 次に、局2eにおける処理について説明す
る。 <局2eの処理> 1:E0 =f(C)
…(ステップ
921 ) 2:X0 =Yu ・I1 E0mod
n …(ステ
ップ922 ) 3:自局2eの秘密鍵d2 (=B
)を用いてXからK0 を次式によって生成する。
K0 =X0 B mod n
…(ステップ923 )
4:M0 =dK0 (C)によって平文を求める
。 …(ステップ924 )【0042】こ
の第5の実施例の方式では第3の実施例で送信側で作成
していたXを省略したのでその分だけ処理量が削減され
ていると共に鍵配送情報からEを削除している。これに
よって処理量の削減と通信量の削減が実現されている。 これに伴ってEをCのみから作成する形となっているが
、C=eK(M)という関係があり、E=f(C)=f
0 (K,C) (但し、f0 ()は一方向性関数) と変形できるので受信側でE0 の正当性を確認できれ
ば、この方式の安全性は第3の実施例と同じであると考
えられる。局2eの処理ではE0 の正当性確認は顕に
は行われていないが、仮にE0 が送信側で作成したE
と異なっているならば、その影響はM0 まで伝搬し、
局2eのステップ924 で復号した平分は送信された
平分Mと一致しなくなる。この影響は例えばMが日本語
の文章だった場合を例にとれば、M0 がでたらめな文
字列になるという形で検出される。より一般的には、平
分Mにある種の構造的な冗長度がある場合には復号文M
0 にもその冗長性があるかどうかを確認することによ
ってE0 の正当性の確認、すなわち送信局の認証が実
現できる。また平文Mに構造的な冗長度がない場合には
人為的に冗長度を付加することができる。例えば、メッ
セージ認証コードはその一手法として利用可能である。 【0043】以上の鍵共有方式は全て、認証機能をFi
at−Shamir 法をベースに構成しており、シス
テムの法nの素因数分解の困難さに基づいている。一方
、素因数分解と同様に計算量的に困難であると考えられ
ている問題に離散対数問題がある。次に、離散対数問題
の困難さに基づき、メッセージの再送攻撃に対抗可能な
鍵共有方式を第6の実施例として、図10のシステム構
成図と図11に基づいて説明する。 【0044】まず、システム構成に関して説明する。 <センタ鍵の作成> センタは大きい素数pを生成し、GF(p)の生成元と
なる整数gを選ぶ。また、一方向性の関数fを定め、こ
れらの情報を公開する。 <局鍵の作成>局U1 は、秘密情報x1 (1≦x1
≦p−1)を定め、公開情報P1 を次式により定め
る。 P1 =gx1mod n 【0045】<公開鍵証明書の作成>局U1 は、公開
情報P1 とID情報ID1 をセンタに送る。センタ
は、(ID1 ,P1 )と局U1 の対応を確認した
後、(ID1 ,P1 )のペアに対し、ElGama
l 署名法もしくは、Schnorr 署名法を利用し
てディジタル署名情報Cert1 を作成する。この情
報は局U1 の公開情報P1 に対する証明書(Cer
tificate )として利用される。すなわち、局
U1 の公開情報P1 の正当性は、それに対するセン
タの署名Cert1 を検査することで行える。全局の
公開情報P1 と証明書Cert1 は公開ファイルに
登録される。なお、ElGamal 署名法の詳細は、
例えば文献:T.ElGamal,”A public
key cryptosystem and a s
ignature scheme based ond
icrete lagarithm ”,Lectur
e notes on computer scien
ce, Advances incryputolog
y − Crypto’84, Springer−V
erlag, pp.10−18, Schnorr
署名法の詳細は、例えば文献:C.P.Schnno
rr, “Efficinet identifica
tion and signatures for s
mart cafds ”, Lecture not
eson computer science Adv
ances incryptolagy − Cryp
to’89,Springer−Verlag,pp.
239−252が挙げられる。次に、鍵配送手順を説明
する。ここでは、局1fが局2fとの間で一方向通信に
より鍵共有を行う手順を示す。 <局1fの処理> 1:公開フィルムから局2fの公開情報P2fと証
明書Cert2fを読み出す。
…(ステップ1011) 2:公開情報P2fと
証明書Cert2fから公開情報P2fの正当性を確認
する。
…(ステップ1012) 3:乱数t(1≦t≦
p−1)を作成し、共有鍵Kを次式により求める。 K=P2ft mod p=gX 2ft
mod p …(ステップ1013)
4:鍵Kにより、暗号文を作成する。C=eK(M
) …(ステップ1014) 5:以上の情報と秘
密情報x1fから次の計算を行う。 X=gt mod p
…(ステッ
プ1015) E=f(X,C)
…(ステップ1016) Y=x1f・E+t
mod p−1
…(ステップ1017) 6:ID1f,E,Y,C
,P1f,Cert1fを局2fへ送信。
…(ステ
ップ1018〜1023)<局2fの処理> 1:P1fとCert1fから公開情報P1fの正
当性を確認する。…(ステップ1031) 2:局1
fからの送信情報と公開情報P1fから次の計算を行う
。 X0 =gY /P1fE mod p
…(ステップ1
032) E0 =f(X0 ,C)
…(
ステップ1033) 3:EとE0 が一致している
かどうかを確認。一致していれば相手を局1fと認める
。
…(ステッ
プ1034) 4:共有鍵Kを次式による求める。 K=X0 x2fmod p=gx2ftm
od p …(ステップ1035) 5
:M=dk(C)によって平文を求める。
…(ステップ1036)【0046】この第6
の実施例の方式は、第3、4、5の実施例の方式と比べ
て、局1fの秘密情報がx1fの一つのみと少ないこと
、このx1fは離散対数問題が困難である限りセンタで
あっても求めることのできない情報であるため、センタ
の不正行為に対し、第3、4、5の実施例の方式よりも
安全性が高いという利点がある。なお、この第6の実施
例において、第1の実施例と同様に、Eを局2fが乱数
により生成し、局1fに送信するように変更してもよい
。このようにすると、双方向通信による鍵共有方式にな
る。 【0047】以上、鍵配送方式として利用する方法につ
いて説明してきたが、ここに挙げた幾つかの方式はもと
もと零知識証明プロトコルの非対話版に基づくディジタ
ル署名法を発信者認証メカニズムとして利用しているの
で、ディジタル署名法としても利用可能である。次に、
第3の実施例に多少の変形を加える事によってディジタ
ル署名を実現した、第7の実施例を図12に基づいて説
明する。 【0048】 <ディジタル署名> 1:第3の実施例の処理と同様に、局1fは暗号文
Cを次のように作成する。 ただし、記号‖は連結を表すものとする。 C=ek(M‖h(K‖M)) 2:1gは
次のようなディジタル署名文1を、認証する局2gに送
る。
…(ステップ1101) 署名文1:(ID
1f,ID2f,C,Y,E) ここでY,Eは第3
の実施例同様に作成される。 3:局2gは自分の秘密鍵d2 を用いて第3の実
施例と同じ要領で鍵Kを作成し、CをKで復号して平文
が所定の構造(M‖h(K‖M))を持つことを確認す
る。
…(
ステップ1102) 4:さらに、第3者の署名確認
が必要な場合には局2gは第3者局3に 署名文
2:(ID1f,C,Y,E,K)を開示する。
…(ステップ1103)
5:第3者は署名文2を次にような判断に従って確認す
る。
…(ステップ1104)5−1:まず次のようにX
0 ,E0 を計算する。 X0 =Yu ・I1 E modn E0 =f(C,X0 ) 5−2:EとE0 が等しければ次のステップに進み、
等しくなければ局1gの署名では無いとして処理を終了
する。 5−3:M0 =dK(C)を求めて、M0 が所定の
構造(M‖h(K‖M))を持つことを確認する。もし
所定の構造を持たないならば、局1gの署名では無いと
して処理を終了する。所定の構造を持つならば第3者は
これが局1gの作った署名文であると認める。 【0049】この署名法の特徴は署名文1を認証できる
のは局2gに限られる事であり、正しいKを公開しない
限り第3者は署名文の認証ができない。そのため当事者
である局1g,2gがKを秘密に保つ限りは第3者によ
る署名文の持ち逃げを防げる。なお、正しいKと共に公
開される署名文2は、だれでも認証できるので従来の署
名文と同じ機能(メッセージの作成者を特定する機能)
を持っている。 【0050】鍵共有としてのここまでの実施例では、基
本メカニズムとして零知識証明プロトコルを利用してい
たが、一般の公開鍵暗号を利用した鍵配送においても再
送攻撃防止のために本発明を利用できる。 【0051】鍵共有としてのここまでの実施例は、全て
2者間の鍵共有に限定された方式であった。それは、送
信者の生成する乱数が共有鍵に関わる1種類しかなく、
3者以上のグループ鍵共有に利用すると、送信者秘密情
報が漏洩する構造になっているためである。次に、3者
以上のグループ鍵共有に適用できる方式をいくつか実施
例として説明する。グループ鍵共有においても、鍵配送
情報の再送によるなりすましの可能性があるので、それ
に対抗する手段を施している点に注意されたい。 【0052】まず、第8の実施例として、第3の実施例
の方式をグループ鍵共有に利用できる形式に変更したも
のを説明する。 【0053】センタによる前準備であるセンタ鍵の作成
、局鍵の作成の手順は、先に第1〜6の実施例において
説明したものと同じである。従って、図3に示したシス
テム構成となる。次に具体的なグループ鍵共有の手順を
説明する。まず、グループ内の任意の局がピボット局と
なり、ピボット局とそれ以外の複数の局とのスター状の
通信によりグループ鍵を共有する。以下では、ピボット
局を局1hとそれ以外の局2hとの間の手順を説明する
。まず、局1hにおける処理について説明する。 <局1hの処理> 1:局2hの公開情報P2hを取得。
…(ステップ1211)
2:グループ鍵用の乱数r(1≦r≦n−1)を生成し
、これに基づいて共有鍵Kを次式により計算する。 K=gurmod n
…(ステッ
プ1212) 3:鍵Kで平文を暗号化する。C=e
K(M) …(ステップ1213)
4:乱数rを局2h向けに暗号化した情報Z2hを作成
する。 Z2h=(P2hu ・I2h)r mod
n …(ステップ121
4) 5:乱数t2hを生成し、以下の計算により認
証情報を作成する。 X2h=t2hu mod n
…(ステッ
プ1215) E2h=f(C,X2h)
…(ステップ1216) Y2h=t2h・S1
hE2hmod n
…(ステップ1217) 6:ID1h,C,
E2h,Y2h,Z2hを局2hへ送信。
…(ステ
ップ1201〜1205)【0054】次に、局2hに
おける処理について説明する。 <局2hの処理> 1:X2hO =Y2hu ・I1hE2hmod
n …(ステップ1221
) 2:E1hO =f(C,X2hO )を計算。 …(ステップ1222)
3:EとE2hO が一致しているかどうかを確認
。一致していれば相手を局1hと認める。
…(ステップ1223) 4
:共有鍵Kを次式により求める。 K=Z2hO d2hmod n=gurm
od n …(ステップ1224)
5:M=dK(C)によって平文を求める。
…(ステップ1225)【0055】以上
の処理により、局1hと局2hの間で鍵Kが共有される
。次に、局1hは他の局3hとの間で前記手順を行うこ
とにより同じ鍵Kの配送を行う。このときに、グループ
鍵用の乱数rは固定値であるのに対し、認証情報(E3
h,Y3h)の作成時に用いる乱数t3hは局2hとの
手順で用いたものとは変更されることに注意が必要であ
る。 【0056】上記手順は認証情報E2h,E3hが暗号
文Cに依存している点が特徴であり、このことにより、
鍵配送情報の再送によるなりすましを防止している。こ
の実施例の手順は、前記拡張Fiat−Shamir法
1を利用して、暗号化情報Z2hに対する署名を作成す
る構成となっているが、Fiat−Shamir 法や
拡張Fiat−Shamir法2を利用して署名を作成
することも可能である。なお、前記手順においてE2h
を局1hが生成するのではなく、第1の実施例と同様に
、局2hが生成して局1hに送るように変更してもよい
。この場合には、ピボット局1hと他局2hとの双方向
の通信によるグループ鍵共有方式となる。 【0057】次に第9の実施例として、代表的な公開鍵
暗号であるRSA暗号系(文献:R.L.Ricest
,et.al, ”A method for obt
aining a public−key crypt
osistem anda digital sign
ature”, Comm.of ACM ,pp.1
20−126,Feb.1978 )を利用した構成を
図11に基づいて説明する。説明を簡単にするためにこ
こでは任意の局の公開鍵は改ざん不可能リストに登録さ
れているものとする。また、次のような記号の定義を行
う。 局iの公開鍵による暗号化処理: C=PKi
(M)=MAimod ni 局iの秘密鍵による
復号処理 : M=SKi (C)=CBimod
ni 【0058】次に、局1iにおける処理について説明す
る。 <局1gの処理> 1:乱数Kを生成し、これを鍵とする。
…(ステップ1311) 2:C
=eK(M)により平文Mを鍵Kで暗号化する。…(ス
テップ1312) 3:H=f(C,K)によりハッ
シュ値Hを計算する。…(ステップ1313) 4:
Y=PK2 (SK1 (ID1 ‖K‖H))により
鍵共有情報Yを計算する。
…(ステップ1314) 5:
ID1i,C,Yを局2iへ送る。
…(ステップ1301〜1303) 次に、局2i
における処理について説明する。 <局2iの処理> 1:Z=PK1i(SK2i(Y))
…(ステップ1321)
ID1iが所定の書式に従ってZに含まれる事を確認す
る。含まれていない場合には処理を中止する。 2:ZからK,Hを取りだし、H0 =f(C,K
)を計算し、
…(ステップ1322)H0 が一致
する事を確認する。
…(ステップ1323)一致しない場
合には処理を中止する。 3:ステップ1322で取り出したKを用いてCを
復号する、 なお、局1iにおけるステップ1314
を次のように変更することも可能である。 4′:Y=SK1i(PK2i(ID1i‖K‖H
‖))により鍵共有情報Yを計算する。 【0059】この場合局2iの処理におけるステップ1
121は次のようになる。1′:Z=SK2i(PK1
i(Y))を求め、ID1iが所定の書式に従ってZに
含まれることを確認する。含まれていない場合には処理
を中止する。 【0060】上述した第9の実施例ではRSA暗号をデ
ィジタル署名と暗号化の両方に使用する例を説明したが
、ディジタル署名を実現できる方式と公開鍵暗号による
暗号化を実現できる方式の2つを用いれば上記手順と同
様にして鍵配送が実現できる。 【0061】上述したように、上記各実施例によれば、
2者間の鍵共有方式や3者以上のグループ鍵共有方式に
おける鍵配送情報の再送による成り済ましを防止するこ
とができる。このとき、タイムスタンプを利用する従来
の対策と比べて、受信側での正当性確認を曖昧さなしに
行うことができ、さらにタイムスタンプが必ずしも有効
に働かないメール通信のように比較的伝送遅延の大きい
通信に用いても安全で再送に基づく成り済まし攻撃が不
可能となる等の効果を奏する。 【0062】 【発明の効果】以上述べたように本発明によれば、鍵配
送情報の再送によるなりすましを防止できる鍵共有方式
を実現できる。特に、本発明による幾つかの方式は、電
子メールのような非実時間通信においても再送攻撃を簡
便に防止でき、受信側で、送信者の正当性確認を曖昧さ
なしに行えるという特徴を有する。
【図1】 本発明による暗号通信システムの概念図。
【図2】 本発明による暗号通信システムの別の概念
図。
図。
【図3】 実施例1〜6に共通のシステム構成図。
【図4】 拡張Fiat−Shamir 法の概念図
。
。
【図5】 第1の実施例の鍵配送手順を示す図。
【図6】 第2の実施例の鍵配送手順を示す図。
【図7】 第3の実施例の鍵配送手順を示す図。
【図8】 第4の実施例の鍵配送手順を示す図。
【図9】 第5の実施例の鍵配送手順を示す図。
【図10】 第6の実施例におけるシステム構成図。
【図11】 第6の実施例の鍵配送手順を示す図。
【図12】 第7の実施例の鍵配送・ディジタル署名
手順を示す図。
手順を示す図。
【図13】 第8の実施例の鍵配送手順を示す図。
【図14】 第9の実施例の鍵配送手順を示す図。
【図15】 タイム・スタンプを用いた従来方式の鍵
配送手順を示す図。
配送手順を示す図。
1…局1
2…局2
Claims (5)
- 【請求項1】 少なくとも暗号鍵の介在の下に被送信
情報を暗号化して得られる暗号文と、少なくともこの暗
号文と受信局の公開情報とから生成される鍵配送情報に
よって、送信局と受信局との間の暗号通信を行うことを
特徴とする暗号通信方法。 - 【請求項2】 送信局においては、送信局で生成され
た乱数を基に生成される暗号鍵の介在の下に被送信情報
を暗号化して得られる暗号文と、少なくともこの暗号文
と受信局の公開情報とから生成される鍵配送情報とを送
信し、受信局においては、少なくとも受信した鍵配送情
報と暗号文及び当該受信局の秘密情報とから暗号鍵を復
元し、この暗号鍵の介在の下に受信した暗号文を復号し
て秘送信情報を得ることを特徴とする暗号通信方法。 - 【請求項3】 送信局においては、送信局で生成され
た第1の乱数を基に生成される暗号鍵の介在の下に被送
信情報を暗号化して得られる暗号文と、少なくとも受信
局の公開情報および当該受信局で生成され当該送信局に
送信された第2の乱数とから生成される鍵配送情報とを
送信し、受信局においては、少なくとも受信した鍵配送
情報と当該受信局の秘密情報及び第2の乱数とから暗号
鍵を復元し、この暗号鍵の介在の下に暗号文を復号して
被送信情報を得ることを特徴とする暗号通信方法。 - 【請求項4】 通信回線を介して接続される複数の局
からなる通信系で、各局は公開情報とこの公開情報に対
応する秘密情報がそれぞれ発行され、これらの各情報を
用いて送信局から受信局へ暗号化された被送信情報を配
送する暗号通信装置において、送信局においては、乱数
を生成する乱数生成手段と、少なくとも受信局の公開情
報と乱数生成手段で生成された乱数と被送信情報とから
鍵配送情報を作成する鍵配送情報作成手段と、前記乱数
生成手段で生成された乱数から鍵情報を作成する鍵情報
作成手段と、この鍵情報作成手段で作成された鍵情報に
よって被送信情報を暗号化する暗号化手段とを有し、受
信局においては、受信した鍵配送情報と暗号化された被
送信情報と受信局の秘密情報とから鍵情報を復元する鍵
情報復元手段と、この鍵情報復元手段で復元された鍵情
報を用いて暗号化された被送信情報を復号する復号手段
とを有することを特徴とする暗号通信装置。 - 【請求項5】 通信回線を介して接続される複数の局
からなる通信系で、各局は公開情報とこの公開情報に対
応する秘密情報がそれぞれ発行され、これらの各情報を
用いて送信局から受信局へ暗号化された被送信情報を配
送する暗号通信装置において、送信局においては、第1
の乱数を生成する第1の乱数生成手段と、少なくともこ
の第1の乱数生成手段で生成された第1の乱数と入力さ
れる第2の乱数とから鍵配送情報を作成する鍵配送情報
作成手段と、前記第1の乱数生成手段で生成された第1
の乱数から鍵情報を作成する鍵情報作成手段と、この鍵
情報作成手段で作成された鍵情報によって被送信情報を
暗号化する暗号化手段を有し、受信局においては、第2
の乱数を生成する第2の乱数生成手段と、この第2の乱
数生成手段で生成された第2の乱数と受信した鍵配送情
報と受信局の秘密情報とから鍵情報を復元する鍵情報復
元手段と、この鍵情報復元手段で復元された鍵情報を用
いて暗号化された被送信情報を復号する復号手段とを有
することを特徴とする暗号通信装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3158022A JPH04297156A (ja) | 1991-01-30 | 1991-06-28 | 暗号通信装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1004491 | 1991-01-30 | ||
JP3-10044 | 1991-01-30 | ||
JP3158022A JPH04297156A (ja) | 1991-01-30 | 1991-06-28 | 暗号通信装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04297156A true JPH04297156A (ja) | 1992-10-21 |
Family
ID=26345208
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3158022A Pending JPH04297156A (ja) | 1991-01-30 | 1991-06-28 | 暗号通信装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH04297156A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003157402A (ja) * | 1993-12-16 | 2003-05-30 | Open Market Inc | オープンネットワーク販売システム及び取引トランザクションのリアルタイムでの承認を行う方法 |
-
1991
- 1991-06-28 JP JP3158022A patent/JPH04297156A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003157402A (ja) * | 1993-12-16 | 2003-05-30 | Open Market Inc | オープンネットワーク販売システム及び取引トランザクションのリアルタイムでの承認を行う方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0460538B1 (en) | Cryptographic communication method and cryptographic communication device | |
US5588061A (en) | System and method for identity verification, forming joint signatures and session key agreement in an RSA public cryptosystem | |
US6298153B1 (en) | Digital signature method and information communication system and apparatus using such method | |
EP0482233B1 (en) | Cryptographic system allowing encrypted communication between users with a secure mutual cipher key determined without user interaction | |
US5907618A (en) | Method and apparatus for verifiably providing key recovery information in a cryptographic system | |
US11870891B2 (en) | Certificateless public key encryption using pairings | |
EP0661845B1 (en) | System and method for message authentication in a non-malleable public-key cryptosystem | |
CN110113150B (zh) | 基于无证书环境的可否认认证的加密方法和系统 | |
EP1082836B1 (en) | A method of exchanging digital data | |
US9088419B2 (en) | Keyed PV signatures | |
CN110519226B (zh) | 基于非对称密钥池和隐式证书的量子通信服务端保密通信方法和系统 | |
CA2819211C (en) | Data encryption | |
JP3308561B2 (ja) | 電子メール通信方法および送信側端末 | |
US20220038267A1 (en) | Methods and devices for secured identity-based encryption systems with two trusted centers | |
WO2003063410A1 (en) | Cryptosystem | |
JPH04297156A (ja) | 暗号通信装置 | |
JP3862397B2 (ja) | 情報通信システム | |
Zhou et al. | Lecture note 4: Network Security Principles | |
JPH11202767A (ja) | ディジタル署名方式、それを用いた通信装置及び情報通信システム | |
JP2000165374A (ja) | ユーザー装置への秘密の固有情報の配送方法、暗号送信装置、暗号受信装置 | |
JP2010011478A (ja) | 内在的署名を用いた鍵一致及び搬送方法 | |
Scott et al. | The Carnac protocol or how to read the | |
Bhowmick et al. | MODIFIED ELGAMAL CRYPTOSYSTEM FOR PUBLIC-KEY ENCRYPTION AND DIGITAL SIGNATURE | |
Oh et al. | An Efficient Hybrid Cryptosystem Providing Authentication for Sender’S Identity |