JPH09298537A - ディジタル署名方式およびそれを用いた情報通信システム - Google Patents

ディジタル署名方式およびそれを用いた情報通信システム

Info

Publication number
JPH09298537A
JPH09298537A JP8108226A JP10822696A JPH09298537A JP H09298537 A JPH09298537 A JP H09298537A JP 8108226 A JP8108226 A JP 8108226A JP 10822696 A JP10822696 A JP 10822696A JP H09298537 A JPH09298537 A JP H09298537A
Authority
JP
Japan
Prior art keywords
signature
digital signature
public key
group
signer
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.)
Granted
Application number
JP8108226A
Other languages
English (en)
Other versions
JP3513324B2 (ja
Inventor
Kazuomi Oishi
和臣 大石
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP10822696A priority Critical patent/JP3513324B2/ja
Priority to EP97302857A priority patent/EP0804003A3/en
Priority to US08/845,405 priority patent/US6154841A/en
Publication of JPH09298537A publication Critical patent/JPH09298537A/ja
Application granted granted Critical
Publication of JP3513324B2 publication Critical patent/JP3513324B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3255Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)

Abstract

(57)【要約】 【課題】 グループ署名の正当性を確認するために用い
るグループの公開鍵は、メンバの数に比例した大きさに
なる。 【解決手段】 オーソリティZAは、メンバjに対してメ
ンバであることの証明書であるディジタル署名を送る。
証明書を入手したメンバjは、署名したいメッセージm
(j)に対し、グループ署名を生成する。メッセージm(j)
を受信した確認者は、そのグループ署名が、オーソリテ
ィZAに認められたメンバによって生成されたグループ署
名か否かを確認する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はディジタル署名方式
およびそれを用いた情報通信システムに関する。
【0002】
【従来の技術】コンピュータおよび通信ネットワークの
発展と広範な普及に伴い、社会的活動のような機能をネ
ットワーク上においても実現できるようになった。しか
し、誰が、何時、何処で、何を行ったか、も容易に把握
することができ、それに対抗するため、匿名で処理を行
うことによりネットワーク上で多様な機能を実現し、か
つプライバシも保護する方法が考えられている。
【0003】後述する公開鍵暗号を用いれば、送信者は
通信内容を意図する受信者だけに送り、しかも受信者は
その通信の送信者が誰であるかを確実に確認することが
可能である。後述する零知識証明を利用すれば、ユーザ
がある秘密情報を保持していることを、その秘密を明ら
かにすることなく他者に証明できる。これらを応用した
情報通信システムが、Masahiro MAMBO, Eiji OKAMOTO,
"A method to publicly specify a signer with hidin
g identity, The 18th Symposium on Information Theo
ry and Its Applications" (October 1995)で提案され
ている。これを、以下では「MOシステム」と呼ぶことに
する。
【0004】以下、最初に公開鍵暗号を、次に零知識証
明を、それからMOシステムを詳細に説明する。
【0005】[公開鍵暗号]公開鍵暗号とは、暗号鍵と
復号鍵とが異なり、暗号鍵を公開し、復号鍵を秘密にす
る暗号方式であり、以下のような特徴をもつ。 (1)暗号鍵と復号鍵とが異なり、暗号鍵を公開すること
ができるため、暗号鍵を秘密に配送する必要がなく、鍵
の配送が容易である。 (2)各利用者は、暗号鍵を公開し、各自、復号鍵だけを
秘密にし記憶しておけばよい。 (3)送られてきた通信文の送信者が偽者でないこと、お
よび、その通信文が改竄されていないことを、受信者が
確認するための認証機能(ディジタル署名)を実現でき
る。
【0006】通信文(平文)Mに対して、公開の暗号鍵k
pを用いた暗号化操作をE(kp, M)とし、秘密の復号鍵ks
を用いた復号操作をD(ks, M)とすると、公開鍵暗号アル
ゴリズムは、まず次の二つの条件を満たす。 (1)暗号鍵kpが与えられたときE(kp, M)の計算は容易で
あり、復号鍵ksが与えられたときD(ks, M)の計算は容易
である。 (2)もし復号鍵ksを知らないなら、暗号鍵kp、暗号化操
作Eの計算手順、暗号であるC=E(kp, M)を知ったとして
も、平文Mを決定することは、その計算量から困難であ
る。
【0007】さらに、上記(1)(2)に加えて、次の条件
(3)が成立することにより、秘密通信が実現できる。 (3)すべての平文Mに対し、E(kp, M)を定義することがで
き、次式が成立する。 D(ks, E(kp, M)) = M
【0008】つまり、暗号鍵kpは公開されているため、
誰もがE(kp, M)を計算することができるが、D(ks, E(k
p, M))を計算して平文Mを得ることができるのは、秘密
の復号鍵ksを記憶している本人だけである。
【0009】一方、上記(1)(2)に加えて、次の条件(4)
が成立することにより、認証通信(ディジタル署名)が
実現できる。 (4)すべての平文Mに対し、D(ks, M)を定義することがで
き、次式が成立する。 E(kp, D(ks, M)) = M
【0010】つまり、D(ks, M)を計算できるのは秘密の
復号鍵ksを記憶している本人だけであり、他人が偽の鍵
ks'を用いてD(ks', M)を計算し、秘密の復号鍵ksを記憶
する本人になりすまそうとしても、E(kp, D(ks', M))≠
Mであり、受信者は受取った情報が不正なものであるこ
とを知ることができる。
【0011】同様に、D(ks, M)が改竄されても、E(kp,
D(ks, M)')≠Mであり、受信者は受取った情報が不正な
ものであることを知ることができる。このD(ks, M)をM
に対する「ディジタル署名」と呼ぶ。
【0012】代表的な公開鍵暗号方式を以下に挙げる。
秘密通信と認証通信ができる方式として、RSA暗号(R.
L. Rivest, A. Shamir and L. Adleman: "A method of
obtaining digital signatures and public key crypto
systems", Comm. of ACM, 1978)、R暗号(M. Rabin: "Di
gitalized signatures and public-key cryptosystem
s", MIT/LCS/TR-212, Technical Report MIT, 1979)、W
暗号(H. C. Williams: "Amodification of the RSA pub
lic-key encryption procedure", IEEE Trans. Inf. Th
eory, IT-26, 6, 1980)などがある。
【0013】また、秘密通信だけができる方式として、
CR暗号(B. Chor and R. L. Rivest:"A knapsack type p
ublic key cryptosystem based on arithmetric in fin
itefield", Proc. Crypto 84)、M暗号(R. J. McEliece:
"A public-key cryptosystem based on algebraic cod
ing theory", DSN Progress Rep., Jet PropulsionLa
b., 1978)、E暗号(T. E. ElGamal: "A public key cryp
tosystem and a signature scheme based on discretre
logarithms", IEEE Transaction on Information Theo
ry, Vol. IT-31, No.4, pp.469-472, 1985)などがあ
る。
【0014】認証通信だけができる方式として、S暗号
(A. Shamir: "A fast signature scheme", Report MIT/
LCS/TM-107, MIT laboratory for computer science, C
ambridge, Mass., 1978)、L暗号(K. Lieberherr: "Unif
orm complexity and digitalsignature", Lecture Note
s in Computer Science 115 Automata, Language andPr
ogramming, Eigtht Colloquium Acre, Israel, 1981)、
GMY暗号(S. Goldwasser, S. Micali and A. Yao: "Stro
ng signature schemes", ACM Symp. on Theory of Comp
uting, 1983)、GMR暗号(S. Goldwasser, S. Micali and
R. L. Rivest: "A 'paradoxical' solution to the si
gnature problem", ACM Symp. on Foundation of Compu
ter Science, 1984)、E暗号(T. E. ElGamal: "A public
key cryptosystem and a signature scheme based on
discretre logarithms", IEEE Transaction on Informa
tion Theory, Vol. IT-31, No.4, pp.469-472, 1985)、
OS暗号(岡本, 白石: "多項式演算によるディジタル署名
方式", 信学論(D), J68−D, 5, 1985; T. Okamoto and
A. Shiraisi: "A fast signature scheme based on qua
dratic inequalities", IEEE Symp. on Theory of Comp
uting, 1984)、
【0015】Fiat-Shamir暗号(A. Fiat, A. Shamir: "H
ow to prove yourself: practicalsolutions of identi
fication and signature problems", Proc. of CRYPTO'
86,1987)、Schnorr暗号(C. P. Schnorr: "Efficient si
gnature generation by smart cards", Journal of Cry
ptology, vol.4, pp.161-174, 1991)などがある。
【0016】具体的な一例として、離散対数を求めるこ
との困難性に安全性の根拠をおき、偽造に対する安全性
が極めて高いとされ、署名のサイズが小さい署名方式で
あるSchnorr暗号を説明する。なお、以下の説明におい
て、a^bはaのb乗を表す。
【0017】例えば、大きな素数pと、q|p-1(qはp-1を
割り切る)なる大きな素数qを選ぶとき、{1, 2, …, q-
1}の中の一つをαとすると、α^x≡u (mod p)を満たすx
(=DL(u,α)と記す)は、ガロア体GF(p)上における離散
対数であり、p, q, α, uを与えられた上でxを効率的に
求めることは難しいとされている。
【0018】Schnorr暗号では、鍵認証センタ(KAC: Key
Authentication Center)がシステムの初期化を行う。
署名者が鍵生成と署名生成を行い、認証者が署名を受取
り確認する。システムの中では、一方向性ハッシュ関数
を用いる。一方向性ハッシュ関数とは、衝突を起こしに
くい圧縮関数である。つまり、任意の長さの値を入力し
て固定の長さの値を出力し、同じ値を出力する異なる入
力を見つけることが困難である。Zは整数の集合で、Zq
は0以上q未満の整数の集合である。
【0019】●システム初期化 (1)鍵認証センタ(KAC)は、大きな素数p(≧2^512)とq(≧
2^140)を選び公開する。ただし、q|p-1である。 (2)KACは、α∈Zpかつα^q = 1 (mod p)なるα(≠1)を
選び公開する。 (3)KACは、h: Zq×Z → {0, …, 2^t - 1}を選び公開す
る。ここで、tを「セキュリティパラメータ」と呼ぶ。 (4)KACは、自分の署名用の公開鍵と秘密鍵を選び、公開
鍵を公開する(例えば、Fiat-Shamir暗号など)。
【0020】●鍵生成 システムに加入するユーザ(署名者)は、0 < s≦qなる
任意の整数sを選び、v= α^{-s} mod pを計算する。署
名者の秘密鍵はsであり、公開鍵はvである。認証者は、
署名者の公開鍵の正当性を、例えば、署名者の公開鍵に
対してKACが(例えば、Fiat-Shamir暗号で)署名を付け
る、あるいは、署名者の公開鍵が公開データベースに登
録される、などによって確認することができる。
【0021】●署名生成(メッセージmに対する署名) (1)署名者は、乱数r∈{1, …, q}を選び、x = α^r (mo
d p)を計算する。 (2)署名者は、e = h(x, m)を求める。 (3)署名者は、y = r + s・e (mod q)を計算する。(e, y)
が、メッセージmに対する署名である。
【0022】●署名検証 メッセージmと署名(e, y)を受取った認証者は、前述の
方法でvの正当性を確認し、次式を確認する。 x' = α^y・v^e (mod p) e = h(x', m)
【0023】[零知識証明]零知識証明とは、ある命題
を証明者が検証者に証明することであり、以下の三条件
を満たす。 (1)完全性: 証明が正しければ、検証者は1または1に限
りなく近い確率(圧倒的確率)で受理する。 (2)健全性: 証明が誤っていれば、検証者は1または1に
限りなく近い確率(圧倒的確率)で棄却する。 (3)零知識性: 証明が正しければ、検証者がどのように
振る舞っても、証明の正しさ以外の情報は一切洩れな
い。
【0024】ある秘密(数値)を知っている証明者が、
その秘密に関する情報を一切漏らさずに、その秘密を知
っていることを検証者に証明する零知識証明の方法が幾
つか提案されていて、身元証明やディジタル署名などに
応用され、情報セキュリティの分野における重要な基板
技術となっている。
【0025】具体的な一例として、J. Boyar, D. Chau
m, I. Damard, T. Pedersen, "Convertible undeniable
signatures", Proc. of CRYPTO'90において提案され
た、z =DL(u, α)を知っている証明者が、zを明らかに
することなくDL(v, w) = DL(u,α)を証明する零知識証
明プロトコルを説明する。ただし、DL(u, α)は適当な
群における離散対数を意味する(例えば、前述のGF(p)
の場合、α^{DL(u, α)} ≡(mod p))。
【0026】●DL(v, w) = DL(u, α)を証明する零知識
証明プロトコル 以下では、証明者をP(Prover)、検証者をV(Verifier)と
記す。PもVもv, w, u,αを知っている。 (1)検証者Vは、乱数aとbを選び(a, b∈Zq)、ch = w^a・
α^bを求め、chを証明者Pに送る。 (2)証明者Pは、乱数tを選び(t∈Zq)、h1 = ch・α^tとh2
= h1^zを求め、(h1, h2)を検証者Vに送る。 (3)検証者Vは、(a, b)を証明者Pに送る。 (4)証明者Pは、ch = w^a・α^bを確認し、tを検証者Vに
送る。 (5)検証者Vは、h1 = w^a・α^{b+t}とh2 = v^a・u^{b+t}
を確認する。
【0027】[ディジタル署名方式]以上に説明した公
開鍵暗号や零知識証明を応用したディジタル署名方式
が、D.Chaum, E. van Heyst, "Group Signatures", Pro
c. of EUROCRYPT'91, pp.257-265 (1991)に提案されて
いる。これはグループ署名と呼ばれ、以下の性質を満た
す。 (1)グループメンバのみが署名を行える。 (2)署名を受取った者は、それが正当な署名であること
は確認できるが、グループのどのメンバが証明をしたの
かはわからない。 (3)後で必要が生じたときに署名者を明らかにするため
に、署名は(グループメンバの助力を得て、あるいは、
得ずに)開示されることができる。
【0028】グループ署名の用途には、例えば、入札シ
ステムがある。ある入札に参加する応札者をメンバと
し、応札者は自分の付ける値段や条件に対してグループ
署名を生成する。落札しない限り誰がどんな値段や条件
を提示したかは不明であるが、落札の際には落札者、つ
まり署名者を明らかにすることができる。
【0029】
【発明が解決しようとする課題】前述したChaum等の論
文には四つのグループ署名方式が提案されていて、それ
ぞれ、署名者名を開示する際に特別に信頼されたオーソ
リティ(以下、これをZAで表す)を要する方式と、そう
でない方式、グループメンバの新規加入が容易な方式
と、そうでない方式など、幾つかの基準により分類され
る特徴をもつ。しかし、その何れの方式も、署名の正当
性を確認するために用いるグループの公開鍵は、メンバ
の数に比例した大きさになるという性質がある。
【0030】一方、S. J. Park, I. S. Lee, D. H. Wo
n, "A practical group signature",Proc. of the 1995
Japan-Korea Workshop on Information Security and
Cryptology, IV-3, pp.127-133 (1995)に提案されてい
るグループ署名方式は、グループの公開鍵の大きさはメ
ンバ数に比例せず、メンバの新規加入が容易であるとい
う特徴をもち、署名の開示の際にZAが必要な方式であ
る。
【0031】本発明は、上述の問題を解決するためのも
のであり、グループの公開鍵の大きさがグループメンバ
数に比例する必要がないディジタル署名方式およびそれ
を用いた情報通信システムを提供することを目的とす
る。
【0032】また、メンバの新規加入が容易であるディ
ジタル署名方式およびそれを用いた情報通信システムを
提供することを他の目的とする。
【0033】また、オーソリティが署名の開示を行うこ
とが可能であるとともに、各メンバが、その署名は自分
が作成した署名か否かを証明することが可能なディジタ
ル署名方式およびそれを用いた情報通信システムを提供
することを他の目的とする。
【0034】
【課題を解決するための手段】本発明は、前記の目的を
達成する一手段として、以下の構成を備える。
【0035】本発明にかかるディジタル署名方式は、グ
ループメンバに用いられ、ディジタル署名を生成する生
成手段と、グループの公開鍵を用いて、対象とする署名
が前記グループメンバにより生成されたことを確認する
確認手段と、対象とする署名の署名者を開示する開示手
段とを有することを特徴とする。
【0036】また、複数ユーザ間で共通に使われる第一
の底の値に対して各ユーザの秘密鍵を指数値として指数
計算を行った結果を各ユーザの第一の公開鍵とするディ
ジタル署名方式であって、前記底に対して乱数を指数値
として指数計算を行った結果を第二の底とする底生成ス
テップと、所定のユーザの公開鍵に対して前記乱数を指
数値として指数計算を行った結果を第二の公開鍵とする
公開鍵生成ステップと、前記所定のユーザが、自身の秘
密鍵を用いて、任意の平文に対して第一のディジタル署
名を生成する第一の署名生成ステップと、前記第二の底
および前記第二の公開鍵を用いて、前記第一のディジタ
ル署名の正当性を確認する確認ステップと、単一または
複数の特別なユーザが、前記複数のユーザそれぞれに対
応する前記第二の公開鍵に対して、第二のディジタル署
名を生成する第二の署名生成ステップと、前記第一およ
び第二のディジタル署名の組からなる第三のディジタル
署名から、その署名者を開示する開示ステップとを有す
ることを特徴とする。
【0037】本発明にかかる情報通信システムは、グル
ープメンバに用いられ、ディジタル署名を生成する生成
手段と、グループの公開鍵を用いて、対象とする署名が
前記グループメンバにより生成されたことを確認する確
認手段と、対象とする署名の署名者を開示する開示手段
とを有するディジタル署名方式を用いることを特徴とす
る。
【0038】
【発明の実施の形態】以下、本発明にかかる一実施形態
の情報通信システムを図面を参照して詳細に説明する。
【0039】本発明にかかるディジタル署名方式は、後
述する匿名公開鍵証明書方式を応用して、信頼されたオ
ーソリティZAが指定者、メンバが署名者になり、匿名公
開鍵証明書に基づくディジタル署名をグループ署名とす
るものであり、本発明にかかる匿名公開鍵証明方式によ
れば、以下のような機能を実現することができる。
【0040】指定者が、乱数により、共通の公開パラメ
ータと署名者のディジタル署名の公開鍵を変換し、変換
した公開鍵に対する指定者のディジタル署名1を生成す
る。署名者の秘密鍵と、変換されたパラメータおよび公
開鍵との間には、以前と同じ関係が成り立つので、署名
者は秘密鍵を用いて任意の平文に対してディジタル署名
2を生成することができる。
【0041】ディジタル署名1および同2の受信者は、デ
ィジタル署名1により、変換されたパラメータおよび公
開鍵が指定者に認められていることを確認し、それらを
用いて、ディジタル署名2と平文の対応関係を確認する
ことができる。なお、ディジタル署名1および同2を合わ
せた署名は、それから署名者を明らかにすることが困難
なので匿名署名と呼ぶ。
【0042】このように、指定者が信頼されたオーソリ
ティZAになり、指定者に指定されたユーザ、すなわち署
名者がメンバになるので、オーソリティZAの使う公開鍵
はグループの公開鍵になり、匿名署名はグループ署名に
なる。この署名はグループ署名の最初の二つの条件を満
たす。
【0043】署名者の開示は、次のような方法をとる。
信頼されたオーソリティZAは、どのメンバにどの証明書
を発行したかを記録し、グループ署名が与えられたと
き、その証明書の部分からそれがどのメンバにより生成
されたかを判別することができる。さらに、その証明書
に用いた乱数を知っているので、その乱数を利用して証
明者名を開示することができる。
【0044】一方、あるグループ署名に対して、各メン
バがその署名者であるか否かは、そのグループ署名に使
われた秘密鍵と各メンバの秘密鍵が等しいか否かで判別
することができる。従って、署名者ではないメンバは、
自分の秘密鍵と対象のグループ署名に使われた秘密鍵と
が異なることを証明できるので、すべてのメンバに対し
て、その証明を要求することにより誰が証明者であるか
を判別することができる。
【0045】
【第1実施形態】以下では、匿名公開鍵証明書方式(APK
C: Anonymous Public Key Certificate)を最初に説明
し、次に、それを応用したグループ署名を説明する。
【0046】[匿名公開鍵証明書方式]図1は公開鍵暗
号を応用した匿名公開鍵証明書を説明するための図で、
図2は公開鍵証明書に関する処理の流れの概要を示すフ
ローチャートである。
【0047】このシステムは、指定者(証明書の発行
者)と複数のユーザ、ユーザの中から選ばれる署名者、
署名者の作成する署名を確認する確認者からなり、通信
内容から判別できる場合を除き送受信者を突き止めるこ
とが困難な通信を可能とするネットワーク(以下「匿名
通信ネットワーク」と呼ぶ)上で実現することができ
る。
【0048】図1において、「公開値(Public Values)」
は後述するシステム共通のデータ、「公開データベース
(Public Database)」は公開されたデータベース、矢印
はデータの取得,送信,受信を示し、括弧で囲まれた番
号は処理の手順を示す。また、「署名者(Specified Sig
ner)」は、「指定者(Specifier)」によりユーザの中か
ら選ばれた署名者を表し、「確認者(Verifier)」は署名
を確認する者を表す。
【0049】Step 0(準備): システム共通のデータと
して、素数pとq(q|p-1)、Zp*の元であり位数qのα(α^
q≡1 (mod p)、Zp*はZqかつpと互いに素である整数の集
合)、一方向性ハッシュ関数h: Zq×Z → {0, …, 2^t
- 1}を用意する。これらは、システムに参加しているす
べてのユーザがアクセスでき、かつ不当な改竄などが起
こらないように適切に管理されている公開のデータベー
スに登録されているものとする。なお、以下の説明にお
いて、a_bはaに下付き添字bが付いた状態を表す。
【0050】指定者iは公開鍵v_iと秘密鍵s_i(v_i = α
^{-s_i} mod p)を生成し、公開鍵を公開のデータベース
に登録する。署名者になり得るユーザjは、公開鍵v_jと
秘密鍵v_j(v_j = α^{-s_j} mod p)を生成し、公開鍵を
公開のデータベースに登録する。ユーザは複数存在し、
署名者も複数存在し得る。
【0051】Step 1(ユーザ指定と公開): 指定者i
は、複数の中からあるユーザ、すなわち署名者jを選び
(図1に示す矢印101)、署名者jの公開鍵v_jを乱数r_j
を用いて変換したz_jを計算し、z_jに対する署名(Schn
orr暗号による署名)を求め(図1に示す手順(1))、そ
の署名(証明書)を署名者jに安全に送る(図1に示す矢
印102)。なお、安全に送る一方法として、前述したE暗
号を用いる方法がある。
【0052】具体的には、指定者iは(秘密の)乱数r_j
(r_j ∈ Zq*)を選び、次式により各パラメータを求め、
署名(y_j, e_j,z_j)を署名者jに送る。なお、r_j ∈ Z
q*は、Zq*からランダムにr_jを選ぶことを表している。 x_j = α^{r_j} mod p z_j = {v_j}^{r_j} mod p e_j = h(x_j, z_j) y_j = r_j + e_j・s_i mod q
【0053】Step 2(署名の生成): 署名者jは、署名
(y_j, e_j, z_j)を手に入れ、次式を確認する。 e_j = h(α^{y_j}・{v_i}^{e_j} mod p, z_j) …(1) z_j =(α^{y_j}・{v_i}^{e_j} mod p)^{-s_k} mod p
【0054】そして、署名したいメッセージm(j)に対
し、次の署名方式で署名を生成する。つまり、署名者j
は、秘密の乱数r(j)を選び(r(j) ∈ Zq*)、次式を計算
する。 x(j) = {x_j}^{r(j)} mod p e(j) = h(x(j), m(j)) y(j) = r(j) + e(j)・s_j mod q
【0055】そして、((y_j, e_j, z_j), y(j), e(j),
m(j))を署名として、必要な相手に送る(図1に示す手順
(3)、矢印103)。
【0056】Step 3(署名の確認): 上記署名を受信し
た確認者は最初に、式(1)を確認し、次に次式を確認す
る(図1に示す手順(4))。 e(j) = h({x_j}^{y(j)}・{z_j}^{e(j)} mod p, m(j))
【0057】上記が確認できたならば、受信者(確認
者)は、メッセージm(j)に対する署名は指定者iに選ば
れた署名者によって生成された署名であると納得する。
【0058】以上の匿名公開鍵証明書方式には次の性質
がある。 (1)指定者iだけが署名者jを指定でき、その証拠が証明
書(指定者iの生成したディジタル署名)になる。 (2)指定された署名者jは、証明書と自分の秘密鍵を用い
て匿名のままで署名を生成できる。 (3)受信者は、指定者iの公開鍵を用いて上記匿名署名の
正当性を確認できる。 (4)匿名署名からその署名者jを判別すること、および、
匿名署名を偽造することは困難である。
【0059】[匿名公開鍵証明書に基づくグループ署名
方式]図3は本発明にかかる匿名公開鍵証明書に基づく
グループ署名方式(Group Signature based on APKC)を
用いたシステムの概念図で、匿名通信ネットワーク(Ano
nymous Communication Network)を介して、複数のユー
ザが互いに匿名で通信を行える状況を表している。
【0060】図3に示す環境には、信頼されたオーソリ
ティZA、ユーザj, k, Vなどがアクセスできる公開デー
タベースが存在し、そこに各ユーザの公開鍵や、共通の
パラメータなどが登録されている。公開データベース
は、そこに登録された情報をすり替えるような不当な行
為を防ぐように、適切に管理されている。また、図3に
おいて、あるグループの公開鍵をv_{ZA}とし、そのグル
ープはj, kを含むメンバからなるものとする。
【0061】同じグループに所属するメンバj, kは、匿
名公開鍵証明書(y_j, e_j, z_j)および(y_k, e_k, z_k)
をそれぞれ、オーソリティZAから発行してもらい、それ
に基づき、メンバ固有の署名部分(y(j), e(j), z(j))を
生成し、匿名通信ネットワークを介して、ユーザVにグ
ループ署名((y_j, e_j, z_j),y(j), e(j), z(j))を送
る。
【0062】ユーザVは、グループの公開鍵v_{ZA}を用
いて、匿名公開鍵証明書(y_j, e_j,z_j)を検証し、それ
から計算される値を用いて(y(j), e(j), z(j))を検証す
ることにより、グループ署名の正当性を確認することが
できる。
【0063】以上の具体的な内容を図4を参考にして説
明する。図4は匿名公開鍵証明書に基づくグループ署名
方式を説明するための図、図5はグループ署名方式に関
する処理の流れの概要を示すフローチャートで、オーソ
リティZAに指定されたメンバjがグループ署名を生成
し、グループ署名を受信した確認者がグループ署名を確
認する例を示している。
【0064】Step 10(準備): 匿名公開鍵証明書方式
のStep 0と同じ。
【0065】Step 11(メンバに対する証明書の発行):
オーソリティZAは、ユーザjをグループのメンバにする
ことを認め、メンバjの公開鍵を乱数r_jを用いて変換し
たz_jを計算し、z_jに対する署名(Schnorr暗号による
署名)を求め(図4に示す手順(1))、メンバjに直接送
る(図4に示す手順(2)、矢印402)。
【0066】具体的には、指定者iは(秘密の)乱数r_j
(r_j ∈ Zq*)を選び、次式により各パラメータを求め、
署名(y_j, e_j,z_j)をメンバjに送る。 x_j = α^{r_j} mod p z_j = {v_j}^{r_j} mod p e_j = h(x_j, z_j) y_j = r_j + e_j・s_{ZA} mod q
【0067】Step 12(グループ署名の作成): メンバj
は、署名(y_j, e_j, z_j)を手に入れ、次式を確認す
る。 e_j = h(α^{y_j}・{v_{ZA}}^{e_j} mod p, z_j) …(2) z_j =(α^{y_j}・{v_{ZA}}^{e_j} mod p)^{-s_j} mod p
【0068】ここで、x_j = α^{y_j}・{v_{ZA}}^{e_j}
mod pが成り立っているので、以降は、表記を簡略化す
るためにx_jを用いる。そして、メンバjは、署名したい
メッセージm(j)に対し、次の署名方式でグループ署名を
生成する。つまり、メンバjは、秘密の乱数r(j)を選び
(r(j) ∈ Zq*)、次式を計算する。 x(j) = {x_j}^{r(j)} mod p e(j) = h(x(j), m(j)) y(j) = r(j) + e(j)・s_j mod q
【0069】そして、((y_j, e_j, z_j), y(j), e(j),
m(j))をグループ署名として、必要な相手に送る(図4に
示す手順(3)、矢印403)。
【0070】Step 13(グループ署名の確認): 上記署
名を受信した確認者は最初に、式(2)を確認し、次に次
式を確認する(図4に示す手順(4))。 e(j) = h({x_j}^{y(j)}・{z_j}^{e(j)} mod p, m(j))
【0071】上記が確認できたならば、受信者(確認
者)は、メッセージm(j)に対する署名はオーソリティZA
に認められたメンバによって生成されたグループ署名で
あると納得する。
【0072】[グループ署名の開示方法]あるグループ
署名を誰が生成したのかを明らかにする、すなわちグル
ープ署名の開示は、次の二つの方法で実現することがで
きる。ただし、対象のグループ署名を((e_k, y_k, z_
k), e(k), y(k), m)、その署名者をメンバk、オーソリ
ティZAが生成したz_kに対応する乱数をr_kとする。
【0073】方法1(信頼されたオーソリティによる開
示): 信頼されたオーソリティZAは、証明書を生成する
際に用いた乱数r_kを記憶しておくことができるので、
あるグループ署名が与えられたとき、その証明書の中の
z_kに対応するメンバが誰かを判別することができる。
従って、オーソリティZAは、署名者がメンバkで、乱数
はr_k(= DL(z_k, v_k))であることがわかる。
【0074】オーソリティZA(証明者P)は、証明書の
公開鍵に対応する秘密鍵と、メンバの公開鍵に対応する
秘密鍵とが等しいことを証明する。つまり、前述したDL
(v,w) = DL(u, α)を証明する零知識証明プロトコルを
利用して、DL(z_k, v_k) = DL(x_k, α)を認証者Vに対
して証明する。ただし、x_k = α^{y_k}・v_i^{e_k} mod
pである。なお、メンバの公開鍵は公開のデータベース
に登録されている。
【0075】●DL(z_k, v_k) = DL(x_k, α)を証明する
零知識証明プロトコル (1)証明者Pは、v_kを認証者Vに送る。 (2)認証者Vは、乱数aとb(a, b ∈ Zq)を選び、ch = {v_
k}^a・α^bを計算し、証明者Pに送る。 (3)証明者Pは、乱数t(t ∈ Zq)を選び、h1 = ch・α^tと
h2 = {h1}^{r_k}を計算し、それらを認証者Vに送る。 (4)認証者Vは、(a, b)を証明者Pに送る。 (5)証明者Pは、ch = {v_k}^a・α^bを確認し、tを認証者
Vに送る。 (6)認証者Vは、h1 = {v_k}^a・α^{b+t}とh2 = {z_k}^a・
{x_k}^{b+t}を確認する。
【0076】なお、上記のプロトコルの代わりに、同様
の証明が可能なプロトコルを使うこともでき、上記のプ
ロトコルだけが利用可能なものというわけではない。
【0077】方法2(各メンバによる署名の否認): も
う一つの開示方法は、対象のグループ署名が、自分が生
成した署名ではないことを、各メンバが証明することに
よって実現する。
【0078】メンバj(証明者P)は、そのグループ署名
に使われているz_kに対応する秘密鍵が自分の公開鍵に
対応する秘密鍵s_j = DL(z_j, x_j)とは異なることを
(認証者Vに)示す。つまり、DL(v_j, α) ≠ DL(z_k,
x_k)を以下のプロトコルで証明する。ただし、p, q,
α, v_i, v_j, z_kおよびx_k = α^{y_k}・{v_i}^{e_k}
mod pは、証明者Pと認証者Vの両方が知っていて、両者
がパラメータγに合意した上で、以下のプロトコルが実
行される。
【0079】なお、BC(γ, R)は、乱数Rを入力したビッ
トγのビットコミットメントと呼ばれる。これは、ある
ビットについて‘0’か‘1’の何れかを選択し、その値
が何れかかは、乱数Rが明らかにならない限りわからな
いような変換値である。従って、乱数Rを示すことでコ
ミットした値を開示でき、同じ変換値に対して違うビッ
トをコミットしたと偽ることが困難であるという性質を
もつ。例えば、I. B.Damgard, "Practical and provabl
y secure release of a secret and exchangeof a sign
ature", Proc. of EUROCRYPT'93, pp.207-217 (1994)に
具体例が示されている。
【0080】●DL(v_j, α) ≠ DL(z_k, x_k)を証明す
る零知識証明プロトコル なお、表記を簡略化するために、以下の説明においては
mod pを一部省略する。 (1)認証者Vは、乱数e(e ∈ Zq*)とβ ∈ {0, 1}を選
び、(a, b)を次のように計算し、得られた(a,b)を証明
者Pに送る。
【0081】 β =‘0’ならば (a, b) = (α^e, {v_j}^e) β =‘1’ならば (a, b) = ({x_k}^e, {z_k}^e) (2)証明者Pは、A^{-sj} ≡ b (mod p)の成立を確認し、
成り立つならばγ =‘1’とし、成り立たないならばγ
=‘0’とし、g = BC(γ, R)を認証者Vに送る。 (3)認証者Vは、eを証明者Pに送る。 (4)証明者Pは、(a, b) = (α^e, {v_j}^e)あるいは(a,
b) = ({x_k}^e, {z_k}^e)が成立することを確認し、ど
ちらかが成り立つならばans = Rとし、どちらも成り立
たないならばans = stopとし、ansを認証者Vに送る。 (5)認証者Vは、ans = stopの場合はプロトコルの処理を
中止し、そうでない場合はBC(γ, R) = gを確認する。 (6)上記(1)から(5)を合計r回繰り返す。
【0082】なお、上記のプロトコルの代わりに、同様
の証明が可能なプロトコルを使うこともでき、上記のプ
ロトコルだけが利用可能なものというわけではない。
【0083】受信者が開示したいグループ署名を有する
ときに、以上の二つの方法の何れか片方だけを実行する
ように制御することに加え、以下のように制御すること
も可能である。つまり、第一は、二つの方法を任意に選
択して実行できるように制御する方法である。第二は、
自動的に方法1を実行し、オーソリティZAが有効に機能
しない場合は、方法2を実行する制御方法である。第三
は、自動的に方法2を実行し、コンタクトできないメン
バがあるなどの理由で開示できない場合は、方法1を実
行する制御方法である。
【0084】グループが複数存在する場合は、各グルー
プ(a, b, …とする)に対応する信頼できるオーソリテ
ィZA_a, ZA_b, …を設け、各オーソリティZAが固有の公
開鍵v_a, v_b, …を管理する、あるいは、信頼できる単
一のオーソリティZAが各グループに対応する個別の公開
鍵v_a, v_b, …を管理する、あるいは、それらの中間的
な方法があり得る。何れの場合にせよ、上記の説明と同
様にしてそれぞれのグループ署名を実現できる。
【0085】以上の実施形態において、指定者あるいは
信頼されたオーソリティ、署名者あるいはメンバ、確認
者あるいは署名の受信者は、情報処理および通信に関す
る能力をもつ情報処理装置、例えばパーソナルコンピュ
ータ上において実現可能である。指定者、オーソリテ
ィ、署名者、メンバ、確認者、受信者の間における通信
は、例えばインターネットのようなネットワーク上で匿
名通信を可能にするサービスを運用することによって実
現できる。
【0086】そして、パーソナルコンピュータのような
装置により、上記の計算を行い、上記のサービスが利用
できる通信ネットワーク上で通信を行うことにより、上
記の各ステップを実行して、匿名公開鍵証明書に基づく
ディジタル署名をグループ署名として用いた情報通信シ
ステムを構築することができる。勿論、インターネット
に限らず外部と分離された環境、例えば企業内のローカ
ルエリアネットワーク(LAN)においても、情報処理装置
を用いて通信ネットワークおよびサービスを構築するこ
とにより、匿名公開鍵証明書に基づくディジタル署名を
グループ署名として用いた情報通信システムを構築する
ことができる。
【0087】また、上記では、オーソリティZAが、匿名
公開鍵証明書をメンバに直接送る例を説明したが、用途
によっては、同証明書を公開データベースに登録し、メ
ンバおよび署名の受信者が公開データベースにアクセス
するという方法もあり得る。
【0088】以上説明したように、本実施形態にかかる
匿名公開鍵証明書に基づくディジタル署名をグループ署
名として用いた情報通信システムによれば、グループの
公開鍵の大きさはグループメンバ数に比例せず、各メン
バが、その署名は自分が作成した署名か否かを証明する
ことが可能なグループ署名を実現することができる。従
って、公開鍵の大きさがメンバ数に比例しない場合で
も、必ずしもオーソリティZAを必要とせず、データサイ
ズの低減と開示の際の融通性を同時に達成でき、コスト
低減と使い勝手の向上を達成することができる。
【0089】また、本実施形態にかかるグループ署名方
式は、あるグループ署名に対して、オーソリティZAは、
その署名の開示を行うことが可能であり、かつ、各メン
バは、その署名は自分が作成した署名か否かを証明する
ことも可能である。従って、オーソリティZAが有効に機
能しない場合にも、署名の開示を行うことができ、また
その逆も可能であり、より柔軟性のあるシステム、使い
勝手のよいシステムにすることができる。
【0090】また、本実施形態にかかるグループ署名方
式は、グループの公開鍵の大きさはグループメンバ数に
比例せず、かつ、オーソリティZAは、あるグループ署名
に対して、その署名の開示を行うことが可能であり、か
つ、各メンバは、その署名は自分が作成した署名か否か
を証明することが可能である。従って、データサイズが
小さくなる上、オーソリティZAを用いて署名の開示を行
うことも、オーソリティZAが有効に機能しない場合に署
名の開示を行うこともでき、データサイズの低減と開示
の際の融通性の最適化が図れ、コスト低減と使い勝手の
最適化を実現することができる。
【0091】さらに、本実施形態にかかるグループ署名
方式は、メンバの新規加入が容易であるという特徴をも
つので、メンバの加入の度に処理を繰り返す必要がな
く、システム全体の効率を向上することができる。
【0092】また、前述したPark等が提案するグループ
署名方式における公開鍵の大きさと、本発明にかかる方
式の公開鍵の大きさとを、素数pを688ビット、一方向性
ハッシュ関数のセキュリティパラメータを70ビットに揃
えて比較すると、Park等のグループ署名の大きさが1676
ビットになる(k'λ = 70とした)のに対して、本発明
にかかる方式のグループ署名の大きさは1108ビットであ
る。従って、署名の大きさを約34%削減でき、その分、
通信のコストを下げることができる。
【0093】
【第2実施形態】以下、本発明にかかる第2実施形態の情
報通信システムを説明する。なお、第2実施形態におい
て、第1実施形態と略同様の構成については、同一符号
を付して、その詳細説明を省略する。
【0094】前述した実施形態においては、z_jに対す
る公開鍵証明書をSchnorr暗号の署名を用いて生成し、
p, q, x_j, z_jを公開鍵、s_jを秘密鍵として、メッセ
ージm_jに対してSchnorr暗号の署名を適用した。これに
対し、第2実施形態においては、メッセージm_jに対し
て、Schnorr暗号の署名ではなくE暗号(T. E. ElGamal:
"Apublic key cryptosystem and a signature scheme
based on discretre logarithms, IEEE Transaction on
Information Theory, Vol. IT-31, No. 4, pp.469-47
2, 1985)を適用する。
【0095】以下では、第1実施形態と異なる点だけを
説明する。
【0096】Step 12(グループ署名の作成): 署名者j
は、署名をしたいメッセージm(j)に対し、次の方式で署
名を生成する。署名者jは、秘密の乱数k(j)を選び(k(j)
∈Zq*)、次式を計算する。 r(j) = {x_j}^{k(j)} mod p s(j) = (m(j) + s_j・r(j))・k(j)^{-1} mod (p - 1)
【0097】そして、((y_j, e_j, z_j), r(j), s(j),
m(j))を署名として、必要な相手に送る。
【0098】Step 13(グループ署名の確認): 上記署
名を受信した確認者は最初に、式(2)を確認し、次に次
式を確認する。 {x_j}^{m(j)} ≡ {z_j}^{r(j)}・r(j)^{s(j)} (mod p)
【0099】上記が確認できたならば、受信者(確認
者)は、メッセージm(j)に対する署名はオーソリティZA
に認められたメンバによって生成された署名であると納
得する。
【0100】
【第3実施形態】以下、本発明にかかる第3実施形態の情
報通信システムを説明する。なお、第3実施形態におい
て、第1実施形態と略同様の構成については、同一符号
を付して、その詳細説明を省略する。
【0101】前述した第1および第2実施形態において
は、z_jに対する公開鍵証明書をSchnorr暗号の署名を用
いて生成し、メッセージm_jに対してSchnorr暗号または
E暗号を適用する例を説明した。同様に、ディジタル署
名標準案としてNIST(NationalInstitute of Standard a
nd Technology)に提案されたDSA(Digital SignatureAl
gorthm: 岡本栄司著、暗号理論入門、共立出版、pp.136
-138参照)をメッセージm_jに対して用いることも可能
である。
【0102】p, q, x_j, z_jを公開鍵、s_jを秘密鍵と
して用いる。
【0103】Step 12(グループ署名の作成): 署名者j
は、署名をしたいメッセージm(j)に対し、次の方式で署
名を生成する。署名者jは、秘密の乱数k(j)を選び(k(j)
∈Zq*)、次式を計算する。 r(j) = ({x_j}^{k(j)} mod p) mod q s(j) = k(j)^{-1}・(H(m(j)) - s_j・r(j)) mod q
【0104】そして、(((y_j, e_j), z_j), ((r(j), s
(j)), m(j)))を署名として、必要な相手に送る。
【0105】Step 13(グループ署名の確認): 上記署
名を受信した確認者は最初に、式(2)を確認し、0 < r
(j) < q, 0 < s(j) < q を確認した後、次の処理を行
う。 w = (s(j))^{-1} mod q u1 = H(m(j))・w mod q u2 = r(j)・w mod q v = ({x_j}^{u1}・{z_j}^{u2} mod p) mod q
【0106】そして、以上の計算結果からv = r(j)を確
認し、確認できたならば受信者はm(j)に対する署名はオ
ーソリティZAに選ばれたメンバによって生成された署名
であると納得する。
【0107】
【第4実施形態】以下、本発明にかかる第4実施形態の情
報通信システムを説明する。なお、第4実施形態におい
て、第1実施形態と略同様の構成については、同一符号
を付して、その詳細説明を省略する。
【0108】前述した第1から第3実施形態においては、
z_jに対する公開鍵証明書をSchnorr暗号の署名を用いて
生成し、メッセージm_jに対してSchnorr暗号、E暗号ま
たはDSAを適用する例を説明した。これに対して、z_jに
対する公開鍵証明書の生成にSchnorr暗号の署名の代わ
って、E暗号を適用することも可能である。ただし、x_j
とz_jが次式の関係を満たすことが保証できるように、
署名を適用することに注意する。
【0109】x_j = α^{r_j} mod p z_j = {v_j}^{r_j} mod p
【0110】具体的には、以下のとおりである。
【0111】Step 11(メンバに対する証明書の発行):
オーソリティZAは、メンバjに対して、秘密の乱数r_j
を選び(r_j ∈ Zq*)、次式を計算する。 x_j = α^{r_j} mod p z_j = {v_j}^{r_j} mod p S_j = (z_j + s_i・x_j)・{r_j}^{-1} mod (p - 1)
【0112】そして、(x_j, S_j,z_j)を公開鍵証明書
とする。
【0113】Step 12(グループ署名の作成): メンバj
は、次式が成り立つことで公開鍵証明書の正当性を確認
することができる。 α^{z_j} ≡ {v_i}^{x_j}・{x_j}^{S_j} (mod p) z_j = {x_j}^{-S_j} mod p
【0114】
【第5実施形態】以下、本発明にかかる第5実施形態の情
報通信システムを説明する。なお、第5実施形態におい
て、第1実施形態と略同様の構成については、同一符号
を付して、その詳細説明を省略する。
【0115】前述した第4実施形態においては、z_jに対
する公開鍵証明書の生成にSchnorr暗号の署名の代わり
にE暗号を適用する例を説明した。これに対して、Schno
rr暗号やE暗号の代わりに、DSAを適用することも可能で
ある。ただし、x_jとz_jが次式の関係を満たすことが保
証できるように、署名を適用することに注意する。 x_j = α^{r_j} mod p z_j = {v_j}^{r_j} mod p
【0116】具体的には、以下のとおりである。
【0117】Step 11(メンバに対する証明書の発行):
オーソリティZAは、メンバjに対して、秘密の乱数r_j
を選び(r_j ∈ Zq*)、次式を計算する。 x_j = α^{r_j} mod p z_j = {v_j}^{r_j} mod p S_j = {r_j}^{-1}・(H(z_j) - s_i・x_j) mod q
【0118】そして、(x_j, S_j, z_j)を公開鍵証明書
として、メンバjに送る。
【0119】公開鍵証明書の正当性は、次のように確認
できる。まず、0 < x_j < p, 0 < S_j < q を確認した
後、次の処理を行う。
【0120】Step 12(グループ署名の作成): メンバj
は、次式が成り立つことで公開鍵証明書の正当性を確認
することができる。まず、0 < x_j < p, 0 < S_j < q
を確認した後、次の処理を行う。 w = {S_j}^{-1} mod q u1 = H(z_j)・w mod q u2 = x_j・w mod q v = α^{u1}・{v_i}^{u2} mod p
【0121】そして、v = x_jを確認する。公開鍵証明
書の正当性は、次式が成り立つことで確認できる。 z_j = {x_j}^{-S_j} mod p
【0122】
【他の実施形態】なお、本発明は、複数の機器(例えば
ホストコンピュータ,インタフェイス機器,リーダ,プ
リンタなど)から構成されるシステムに適用しても、一
つの機器からなる装置(例えば、複写機,ファクシミリ
装置など)に適用してもよい。
【0123】また、本発明の目的は、前述した実施形態
の機能を実現するソフトウェアのプログラムコードを記
録した記憶媒体を、システムあるいは装置に供給し、そ
のシステムあるいは装置のコンピュータ(またはCPUやM
PU)が記憶媒体に格納されたプログラムコードを読出し
実行することによっても、達成されることは言うまでも
ない。この場合、記憶媒体から読出されたプログラムコ
ード自体が前述した実施形態の機能を実現することにな
り、そのプログラムコードを記憶した記憶媒体は本発明
を構成することになる。プログラムコードを供給するた
めの記憶媒体としては、例えば、フロッピディスク,ハ
ードディスク,光ディスク,光磁気ディスク,CD-ROM,
CD-R,磁気テープ,不揮発性のメモリカード,ROMなど
を用いることができる。
【0124】また、コンピュータが読出したプログラム
コードを実行することにより、前述した実施形態の機能
が実現されるだけでなく、そのプログラムコードの指示
に基づき、コンピュータ上で稼働しているOS(オペレー
ティングシステム)などが実際の処理の一部または全部
を行い、その処理によって前述した実施形態の機能が実
現される場合も含まれることは言うまでもない。
【0125】さらに、記憶媒体から読出されたプログラ
ムコードが、コンピュータに挿入された機能拡張カード
やコンピュータに接続された機能拡張ユニットに備わる
メモリに書込まれた後、そのプログラムコードの指示に
基づき、その機能拡張カードや機能拡張ユニットに備わ
るCPUなどが実際の処理の一部または全部を行い、その
処理によって前述した実施形態の機能が実現される場合
も含まれることは言うまでもない。
【0126】本発明を上記記憶媒体に適用する場合、そ
の記憶媒体には、先に説明したフローチャートに対応す
るプログラムコードを格納することになるが、簡単に説
明すると、図6Aおよび6Bのメモリマップ例に示す各モジ
ュールを記憶媒体に格納することになる。すなわち、少
なくとも「生成」「確認」および「開示」の各モジュー
ル、または、「底生成」「公開鍵生成」「第一の署名生
成」「確認」「第二の署名生成」および「開示」の各モ
ジュールのプログラムコードを記憶媒体に格納すればよ
い。
【0127】
【発明の効果】以上説明したように、本発明によれば、
グループの公開鍵の大きさがグループメンバ数に比例す
る必要がないディジタル署名方式およびそれを用いた情
報通信システムを提供することができる。
【0128】また、メンバの新規加入が容易であるディ
ジタル署名方式およびそれを用いた情報通信システムを
提供することができる。
【0129】また、オーソリティが署名の開示を行うこ
とが可能であるとともに、各メンバが、その署名は自分
が作成した署名か否かを証明することが可能なディジタ
ル署名方式およびそれを用いた情報通信システムを提供
することができる。
【図面の簡単な説明】
【図1】本発明にかかる公開鍵暗号を応用した匿名公開
鍵証明書を説明するための図、
【図2】公開鍵証明書に関する処理の流れの概要を示す
フローチャート、
【図3】本発明にかかる匿名公開鍵証明書に基づくグル
ープ署名方式を用いたシステムの概念図、
【図4】匿名公開鍵証明書に基づくグループ署名方式を
説明するための図、
【図5】グループ署名方式に関する処理の流れの概要を
示すフローチャートで、
【図6A】本発明にかかるプログラムコードを格納した
記憶媒体のメモリマップ例を示す図、
【図6B】本発明にかかるプログラムコードを格納した
記憶媒体のメモリマップ例を示す図である。

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】 グループメンバに用いられ、ディジタル
    署名を生成する生成手段と、 グループの公開鍵を用いて、対象とする署名が前記グル
    ープメンバにより生成されたことを確認する確認手段
    と、 対象とする署名の署名者を開示する開示手段とを有する
    ことを特徴とするディジタル署名方式。
  2. 【請求項2】 前記グループの公開鍵は、グループメン
    バ数に比例しない大きさであることを特徴とする請求項
    1に記載されたディジタル署名方式。
  3. 【請求項3】 前記確認手段は、対象とする署名の署名
    者を確認できないことを特徴とする請求項1または請求
    項2に記載されたディジタル署名方式。
  4. 【請求項4】 前記開示手段は、前記署名者を開示する
    ために特別なユーザを用いないことを特徴とする請求項
    1に記載されたディジタル署名方式。
  5. 【請求項5】 前記開示手段による前記署名者の開示
    は、特別なユーザを用いる場合と、前記特別なユーザを
    用いない場合とがあることを特徴とする請求項1に記載
    されたディジタル署名方式。
  6. 【請求項6】 複数ユーザ間で共通に使われる第一の底
    の値に対して各ユーザの秘密鍵を指数値として指数計算
    を行った結果を各ユーザの第一の公開鍵とするディジタ
    ル署名方式であって、 前記底に対して乱数を指数値として指数計算を行った結
    果を第二の底とする底生成ステップと、 所定のユーザの公開鍵に対して前記乱数を指数値として
    指数計算を行った結果を第二の公開鍵とする公開鍵生成
    ステップと、 前記所定のユーザが、自身の秘密鍵を用いて、任意の平
    文に対して第一のディジタル署名を生成する第一の署名
    生成ステップと、 前記第二の底および前記第二の公開鍵を用いて、前記第
    一のディジタル署名の正当性を確認する確認ステップ
    と、 単一または複数の特別なユーザが、前記複数のユーザそ
    れぞれに対応する前記第二の公開鍵に対して、第二のデ
    ィジタル署名を生成する第二の署名生成ステップと、 前記第一および第二のディジタル署名の組からなる第三
    のディジタル署名から、その署名者を開示する開示ステ
    ップとを有することを特徴とするディジタル署名方式。
  7. 【請求項7】 離散対数を求めることの困難性に安全性
    の根拠をおくことを特徴とする請求項6に記載されたデ
    ィジタル署名方式。
  8. 【請求項8】 Schnorr署名方式および/またはElGamal
    署名方式および/またはDSA方式を用いることにより、前
    記離散対数を求めることを困難にすることを特徴とする
    請求項7に記載されたディジタル署名方式。
  9. 【請求項9】 前記開示ステップは、前記単一または複
    数の特別なユーザにより署名者を開示することを特徴と
    する請求項6から請求項8の何れかに記載されたディジタ
    ル署名方式。
  10. 【請求項10】 前記開示ステップは、前記グループメ
    ンバそれぞれが、前記第一のディジタル署名の生成者が
    自分であるか否かを証明することを特徴とする請求項6
    から請求項8の何れかに記載されたディジタル署名方
    式。
  11. 【請求項11】 請求項1から請求項10の何れかに記載
    されたディジタル署名方式を用いることを特徴とする情
    報通信システム。
  12. 【請求項12】 ディジタル署名方式に関するプログラ
    ムコードが格納されたコンピュータ可読メモリであっ
    て、 グループメンバに用いられ、ディジタル署名を生成する
    生成手段のコードと、 グループの公開鍵を用いて、対象とする署名が前記グル
    ープメンバにより生成されたことを確認する確認手段の
    コードと、 対象とする署名の署名者を開示する開示手段のコードと
    を有することを特徴とするコンピュータ可読メモリ。
  13. 【請求項13】 複数ユーザ間で共通に使われる第一の
    底の値に対して各ユーザの秘密鍵を指数値として指数計
    算を行った結果を各ユーザの第一の公開鍵とするディジ
    タル署名方式を用いた情報通信システムに関するプログ
    ラムコードが格納されたコンピュータ可読メモリであっ
    て、 前記底に対して乱数を指数値として指数計算を行った結
    果を第二の底とする底生成ステップのコードと、 所定のユーザの公開鍵に対して前記乱数を指数値として
    指数計算を行った結果を第二の公開鍵とする公開鍵生成
    ステップのコードと、 前記所定のユーザが、自身の秘密鍵を用いて、任意の平
    文に対して第一のディジタル署名を生成する第一の署名
    生成ステップのコードと、 前記第二の底および前記第二の公開鍵を用いて、前記第
    一のディジタル署名の正当性を確認する確認ステップの
    コードと、 単一または複数の特別なユーザが、前記複数のユーザそ
    れぞれに対応する前記第二の公開鍵に対して、第二のデ
    ィジタル署名を生成する第二の署名生成ステップのコー
    ドと、 前記第一および第二のディジタル署名の組からなる第三
    のディジタル署名から、その署名者を開示する開示ステ
    ップのコードとを有することを特徴とするコンピュータ
    可読メモリ。
JP10822696A 1996-04-26 1996-04-26 ディジタル署名処理方法 Expired - Fee Related JP3513324B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP10822696A JP3513324B2 (ja) 1996-04-26 1996-04-26 ディジタル署名処理方法
EP97302857A EP0804003A3 (en) 1996-04-26 1997-04-25 Digital signature method and communication system
US08/845,405 US6154841A (en) 1996-04-26 1997-04-25 Digital signature method and communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10822696A JP3513324B2 (ja) 1996-04-26 1996-04-26 ディジタル署名処理方法

Publications (2)

Publication Number Publication Date
JPH09298537A true JPH09298537A (ja) 1997-11-18
JP3513324B2 JP3513324B2 (ja) 2004-03-31

Family

ID=14479257

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10822696A Expired - Fee Related JP3513324B2 (ja) 1996-04-26 1996-04-26 ディジタル署名処理方法

Country Status (1)

Country Link
JP (1) JP3513324B2 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004159298A (ja) * 2002-07-23 2004-06-03 Matsushita Electric Ind Co Ltd 端末装置、通信方法および通信システム
KR100434721B1 (ko) * 2001-12-18 2004-06-07 이임영 유·무선 통합 멀티캐스트 키 관리 방법
JP2006203660A (ja) * 2005-01-21 2006-08-03 Toshiba Corp デジタル署名情報生成装置、デジタル署名情報生成方法及びプログラム
JP2008500776A (ja) * 2004-06-10 2008-01-10 インテル・コーポレーション 直接証明署名の否定を提供する装置及び方法
JP2008125054A (ja) * 2006-09-25 2008-05-29 Nec (China) Co Ltd 匿名選択可能認証情報のための通信システムおよびその方法
KR100901693B1 (ko) * 2006-12-04 2009-06-08 한국전자통신연구원 동시 수행 환경에서의 링 인증 방법
JP2009129157A (ja) * 2007-11-22 2009-06-11 Nec Corp クライアント装置およびサーバ装置
JP2010182322A (ja) * 2004-12-21 2010-08-19 Sandisk Corp 多目的コンテンツ制御を備えたメモリシステム
US7975142B2 (en) 2006-12-04 2011-07-05 Electronics And Telecommunications Research Institute Ring authentication method for concurrency environment
US9104618B2 (en) 2008-12-18 2015-08-11 Sandisk Technologies Inc. Managing access to an address range in a storage device

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100434721B1 (ko) * 2001-12-18 2004-06-07 이임영 유·무선 통합 멀티캐스트 키 관리 방법
JP2004159298A (ja) * 2002-07-23 2004-06-03 Matsushita Electric Ind Co Ltd 端末装置、通信方法および通信システム
JP4610169B2 (ja) * 2002-07-23 2011-01-12 パナソニック株式会社 通信方法および通信システム
JP2008500776A (ja) * 2004-06-10 2008-01-10 インテル・コーポレーション 直接証明署名の否定を提供する装置及び方法
JP2010182322A (ja) * 2004-12-21 2010-08-19 Sandisk Corp 多目的コンテンツ制御を備えたメモリシステム
JP4679163B2 (ja) * 2005-01-21 2011-04-27 株式会社東芝 デジタル署名情報生成装置、デジタル署名情報生成方法及びプログラム
JP2006203660A (ja) * 2005-01-21 2006-08-03 Toshiba Corp デジタル署名情報生成装置、デジタル署名情報生成方法及びプログラム
JP2008125054A (ja) * 2006-09-25 2008-05-29 Nec (China) Co Ltd 匿名選択可能認証情報のための通信システムおよびその方法
JP4704406B2 (ja) * 2006-09-25 2011-06-15 エヌイーシー(チャイナ)カンパニー, リミテッド 匿名選択可能認証情報のための通信システムおよびその方法
KR100901693B1 (ko) * 2006-12-04 2009-06-08 한국전자통신연구원 동시 수행 환경에서의 링 인증 방법
US7975142B2 (en) 2006-12-04 2011-07-05 Electronics And Telecommunications Research Institute Ring authentication method for concurrency environment
JP2009129157A (ja) * 2007-11-22 2009-06-11 Nec Corp クライアント装置およびサーバ装置
US9104618B2 (en) 2008-12-18 2015-08-11 Sandisk Technologies Inc. Managing access to an address range in a storage device

Also Published As

Publication number Publication date
JP3513324B2 (ja) 2004-03-31

Similar Documents

Publication Publication Date Title
Rivest et al. How to leak a secret
US6202150B1 (en) Auto-escrowable and auto-certifiable cryptosystems
Camenisch et al. An efficient system for non-transferable anonymous credentials with optional anonymity revocation
US6154841A (en) Digital signature method and communication system
US6282295B1 (en) Auto-recoverable and auto-certifiable cryptostem using zero-knowledge proofs for key escrow in general exponential ciphers
US6292897B1 (en) Undeniable certificates for digital signature verification
US5146500A (en) Public key cryptographic system using elliptic curves over rings
Brickell et al. Enhanced privacy ID: A direct anonymous attestation scheme with enhanced revocation capabilities
US5606617A (en) Secret-key certificates
Damgård et al. New convertible undeniable signature schemes
US8245047B2 (en) Group signature scheme with improved efficiency, in particular in a join procedure
US6389136B1 (en) Auto-Recoverable and Auto-certifiable cryptosystems with RSA or factoring based keys
CN101689993B (zh) 组署名系统、装置和方法
US6122742A (en) Auto-recoverable and auto-certifiable cryptosystem with unescrowed signing keys
US9882890B2 (en) Reissue of cryptographic credentials
Brickell et al. Enhanced privacy ID from bilinear pairing
Au et al. Constant-size dynamic k-times anonymous authentication
JP2002534701A (ja) 寄託されない署名専用キーを用いた自動回復可能な自動可能暗号システム
US8015398B2 (en) Set membership proofs in data processing systems
JP2004208262A (ja) バイリニアペアリングを用いたidに基づくリング署名装置及び方法
US6243466B1 (en) Auto-escrowable and auto-certifiable cryptosystems with fast key generation
JP3513324B2 (ja) ディジタル署名処理方法
AU737037B2 (en) Auto-recoverable auto-certifiable cryptosystems
CN116318736A (zh) 一种用于分级管理的二级门限签名方法及装置
CN112819465B (zh) 基于Elgamal的同态加密方法及应用系统

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20031215

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040109

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090116

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090116

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100116

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110116

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120116

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130116

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140116

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees