1.05k likes | 1.23k Views
第七讲:数字签字与身份证明. 一、数字签字的基本概念 二、几种常用的数字签字: RSA、ElGamal 、 Schnorr 、DSS 等 三、 特殊用途的数字签字 四、数字签字体制中的潜信道 五、身份证明的基本概念 六、通行字认证系统 七、利用个人特征的身份证明技术 八、零知识证明技术 九、灵巧卡技术. 第七讲:数字签字与身份证明. 数字签字: 数字签字在信息安全,包括身份认证、数据完整性、不可否认性以及匿名性等方面有重要应用,特别是在大型网络安全通信中的密钥分配、认证以及电子商务系统中具有重要作用。数字签字是实现认证的重要工具。
E N D
第七讲:数字签字与身份证明 一、数字签字的基本概念 二、几种常用的数字签字:RSA、ElGamal 、 Schnorr 、DSS等 三、特殊用途的数字签字 四、数字签字体制中的潜信道 五、身份证明的基本概念 六、通行字认证系统 七、利用个人特征的身份证明技术 八、零知识证明技术 九、灵巧卡技术
第七讲:数字签字与身份证明 数字签字:数字签字在信息安全,包括身份认证、数据完整性、不可否认性以及匿名性等方面有重要应用,特别是在大型网络安全通信中的密钥分配、认证以及电子商务系统中具有重要作用。数字签字是实现认证的重要工具。 身份证明:在一个有竞争和争斗的现实社会中,身份欺诈是不可避免的,因此常常需要证明个人的身份。 传统的身份证明一般靠人工的识别,正逐步由机器代替。在信息化社会中,随着信息业务的扩大,要求验证的对象集合也迅速加大,因而大大增加了身份验证的复杂性和实现的困难性。 如何以数字化方式实现安全、准确、高效和低成本的认证?本章将讨论几种可能的技术。
第七讲:数字签字与身份证明一、数字签字基本概念第七讲:数字签字与身份证明一、数字签字基本概念 数字签字应满足的要求: ① 收方能够确认或证实发方的签字,但不能伪造,简记为R1-条件。 ②发方发出签字的消息给收方后,就不能再否认他所签发的消息,简记为S-条件。 ③收方对已收到的签字消息不能否认,即有收报认证,简记作R2-条件。 ④ 第三者可以确认收发双方之间的消息传送,但不能伪造这一过程,简记作T-条件。
第七讲:数字签字与身份证明一、数字签字基本概念第七讲:数字签字与身份证明一、数字签字基本概念 与手书签字的区别:手书签字是模拟的,且因人而异。数字签字是0和1的数字串,因消息而异。 与消息认证的的区别:消息认证使收方能验证消息发送者及所发消息内容是否被窜改过。当收者和发者之间有利害冲突时,就无法解决他们之间的纠纷,此时须借助满足前述要求的数字签字技术。 安全的数字签字实现的条件:发方必须向收方提供足够的非保密信息,以便使其能验证消息的签字;但又不能泄露用于产生签字的机密信息,以防止他人伪造签字。此外,还有赖于仔细设计的通信协议。
第七讲:数字签字与身份证明一、数字签字基本概念第七讲:数字签字与身份证明一、数字签字基本概念 数字签字的种类: (1)对整体消息的签字 (2)对压缩消息的签字。 每一种中又可分为两个子类: (a)确定性(Deterministic)数字签字,其明文与密文一一对应,它对一特定消息的签字不变化,如RSA、Rabin等签字; (b) 随机化的(Randomized)或概率式数字签字。
第七讲:数字签字与身份证明一、数字签字基本概念第七讲:数字签字与身份证明一、数字签字基本概念 签字体制的组成: 签字体制=(M , S , K , V) M:明文空间, S:签字的集合, K:密钥空间, V:证实函数的值域,由真、伪组成。 (1) 签字算法: 对每一MM和每一kK,易于计算对M的签字 S=Sigk(M)S (7—1—1) 签字算法或签字密钥是秘密的,只有签字人掌握; (2)验证算法: Verk(S, M){真,伪}={0,1} (7—1—2)
第七讲:数字签字与身份证明一、数字签字基本概念第七讲:数字签字与身份证明一、数字签字基本概念 (7—1—3) 证实算法应当公开,已知M,S易于证实S是否为M的签字,以便于他人进行验证。 体制的安全性:从M和其签字S难于推出K或伪造一个M’使M’和S可被证实为真。 与消息加密不同点:消息加密和解密可能是一次性的,它要求在解密之前是安全的;而一个签字的消息可能作为一个法律上的文件,如合同等,很可能在对消息签署多年之后才验证其签字,且可能需要多次验证此签字。
第七讲:数字签字与身份证明二、几种常用的数字签字第七讲:数字签字与身份证明二、几种常用的数字签字 1. RSA签字体制。 (1)体制参数:令n=p1p2,p1和p2是大素数,令M=C=Zn,选e并计算出d使ed1mod(n),公开n和e,将p1,p2和d保密。K=(n,p,q,e,d)。 (2)签字过程:对消息M Zn的签字 S=Sigk(M)=Md mod n (7—2—1) (3)验证过程:对给定的M和S,可按下式验证: Verk(M, S)=真 MSemod n (7—2—2) (4)安全性:由于只有签字者知道d,由RSA体制知,其他人不能伪造签名,但可易于证实所给任意M,S对是否消息M和相应签字构成的合法对。
第七讲:数字签字与身份证明二、几种常用的数字签字第七讲:数字签字与身份证明二、几种常用的数字签字 (5)标准化:ISO/IEC 9796和ANSI X9.30-199X已将RSA作为建议数字签字标准算法。PKCS #1是一种采用杂凑算法(如MD2或MD5等)和RSA相结合的公钥密码标准。 2. ElGamal签字体制。 由T.ElGamal在1985年给出,是Rabin体制的一种变型。 (1)体制参数 p:一个大素数,可使Zp中求解离散对数为困难问题; g:是Zp中乘群Zp*的一个生成元或本原元素; M:消息空间,为Zp*; S:签字空间,为Zp*×Zp-1; x:用户秘密钥xZp*; ygxmod p (7—4—1) 密钥:K=(p, g, x, y),其中p,g,y为公钥,x为秘密钥。
第七讲:数字签字与身份证明二、几种常用的数字签字第七讲:数字签字与身份证明二、几种常用的数字签字 (2)签字过程:给定消息M,发端用户进行下述工作。 (a)选择秘密随机数k,满足0<k<p-1,且(k, p-1)=1; (b)计算: H(M), r=gk mod p (7—4—2) s=(H(M)-xr)k-1 mod (p-1) (7—4—3) (c) 将Sigk(M, k) =S=(r||s)作为签字,将M,(r||s)送给对方。 (3) 验证过程:收信人收到M,(r||s),先计算H(M),并按下式验证 Verk(H(M), r, s)=真 yrrsgH(M) mod p (7—4—4) 这是因为yrrsgrxgskg(rx+sk) mod p,由(7-4-3)式有 (rx+sk) H(M) mod(p-1) (7—4—5) 故有 yrrsgH(M) mod p (7—4—6)
第七讲:数字签字与身份证明二、几种常用的数字签字第七讲:数字签字与身份证明二、几种常用的数字签字 在此方案中,对同一消息M,由于随机数k不同而有不同的签字值S=(r||s)。它是一种非确定性的双钥体制。 例7-4-1 选p=467, g=2, x=127则有ygx2127132 mod 467。 若待送消息为M,其杂凑值为H(M)=100,选随机数k=213(注意:(213,466)=1且213-1mod 466=431),则有r221329 mod467。s(100-127×29)43151 mod 466。 验证:收信人先算出H(M)=100,而后验证132292951189 mod467,2100189 mod 467。 (4) 安全性。方案的安全性基于求离散对数的困难性。 不知明文密文对攻击。攻击者不知用户秘密钥x下,若想伪造用户的签字,可选r的一个值,然后试验相应s取值。
第七讲:数字签字与身份证明二、几种常用的数字签字第七讲:数字签字与身份证明二、几种常用的数字签字 为此必须计算logrgH(M)y-r。也可先选一个s的取值,而后求出相应r的取值,试验在不知r条件下分解方程 yrrsabgM mod p 这些都是离散对数问题。至于能否同时选出a和b,然后解出相应M,这仍面临求离散对数问题,即需计算loggyrrs。 已知明文密文对攻击。假定攻击者已知(r||s)是消息M的合法签字。令h, i, j是整数,其中h 0, i, jp-2,且(hr-js,p-1)=1。攻击者可计算 r’=rhyi mod p (7—4—7) s’=s(hr-js)-1 mod (p-1) (7—4—8) M’=(hM+is)(hr-js)-1mod (p-1) (7—4—9)
第七讲:数字签字与身份证明二、几种常用的数字签字第七讲:数字签字与身份证明二、几种常用的数字签字 则(r’||s’)是消息M’的合法签字。但这里的消息M’并非由攻击者选择的利于他的消息。如果攻击者要对其选定的消息得到相应的合法签字,仍然面临解离散对数问题。如果攻击者掌握了同一随机数r下的两个消息M1和M2合法签字(r||s1)和(r||s2),则由 H(M1)=s1k+xr mod p-1 (7—4—10) H(M2)=s2k+xr mod p-1 (7—4—11) 就可以解出用户的秘密钥x。在实用中,对每个消息的签字,都应变换随机数k。而且对某消息M签字所用的随机数k不能泄露,否则将可由式(7-9-5)解出用户的秘密钥x。
第七讲:数字签字与身份证明二、几种常用的数字签字第七讲:数字签字与身份证明二、几种常用的数字签字 • (5) 应用:其修正形式已被美国NIST作为数字签字标准DSS。此体制专门设计作为签字用。ANSI X9.30-199X已将ElGamal签字体制作为签字标准算法。
第七讲:数字签字与身份证明二、几种常用的数字签字第七讲:数字签字与身份证明二、几种常用的数字签字 3. Schnorr签字体制。C. Schnorr于1989年提出。 (1) 体制参数 p, q:大素数,q|p-1,q是大于等于160 bits的整数,p是大于等于512 bits的整数,保证Zp中求解离散对数困难; g:Zp*中元素,且gq1 mod p; x:用户密钥1<x<q; y:用户公钥ygx mod p。 消息空间M=Zp*,签字空间S=Zp*×Zq;密钥空间 K={(p,q,g,x,y): ygx mod p} (7—5—1) (2) 签字过程:令待签消息为M,对给定的M做下述运算: (a) 发用户任选一秘密随机数kZq 。
第七讲:数字签字与身份证明二、几种常用的数字签字第七讲:数字签字与身份证明二、几种常用的数字签字 (b) 计算 rgk mod p (7—5—2) sk+xe mod q (7—5—3) 式中 e=H(r||M) (7—5—4) (c) 将消息M及其签字S=Sigk(M)=(e||s)送给收信人。 (3) 验证过程:收信人收到消息M及签字S=(e||s)后, (a) 计算 r’gsy-e mod p (7—5—5) 而后计算H(r’||M)。 (b) 验证 Ver(M, r, s) H(r’||M)=e (7—5—6) 因为,若(e||s)是M的合法签字,则有gsyegk+xeg-xegkr mod p,(7-5-6)等号必成立。
第七讲:数字签字与身份证明二、几种常用的数字签字第七讲:数字签字与身份证明二、几种常用的数字签字 (4) Schnorr签字与ElGamal签字的不同点: 在ElGamal体制中,g为Z*p的本原元素;而在Schnorr体制中,g为Zp*中子集Zq*的本原元素,它不是Zp*的本原元素。显然ElGamal的安全性要高于Schnorr。 Schnorr的签字较短,由|q|及|H(M)|决定。 在Schnorr签字中,r=gk mod p可以预先计算,k与M无关,因而签字只需一次mod q乘法及减法。所需计算量少,速度快,适用于灵巧卡采用。
第七讲:数字签字与身份证明二、几种常用的数字签字第七讲:数字签字与身份证明二、几种常用的数字签字 4. DSS签字体制。DSS (Digital Signature Standard)签字标准是1991年8月由美国NIST公布、1994年5月19日正式公布,1994年12月1日正式采用的美国联邦信息处理标准。其中,采用了第6章中介绍的SHA,其安全性基于解离散对数困难性,它是在ElGamal和Schnorr (1991)两个方案基础上设计的DSS中所采用的算法简记为DSA(Digital Signature Algorithm)。此算法由D. W. Kravitz设计。这类签字标准具有较大的兼容性和适用性,已成为网中安全体系的基本构件之一。 (1) 签字和验证签字的基本框图(图7-6-1)
第七讲:数字签字与身份证明二、几种常用的数字签字第七讲:数字签字与身份证明二、几种常用的数字签字 M ‖ Mh EKus(h(M)) 比较 (a) hED (RSA或LUC) KUSKUP M ‖ Mh KUG KUSs KUGKUP (b) r (DSS) h 签字 证实 比较 M:消息,E:加密,D:解密, k:随机数,KUS:用户秘密钥, KUP:用户公开钥,KUG:部分或全局用户公钥。
第七讲:数字签字与身份证明二、几种常用的数字签字第七讲:数字签字与身份证明二、几种常用的数字签字 (2) 算法描述: (a) 全局公钥(p, q, g ), p:是2L-1 < p < 2L中的大素数,512 L 1024,按64 bits递增; q:(p-1)的素因子,且2159 < q < 2160,即字长160 bits;g:= hp-1mod p,且1< h < (p-1),使h(p-1)/q mod p >1。 (b) 用户秘密钥 x:x为在0<x<q内的随机或拟随机数。 (c) 用户公钥 y:=gx mod p。 (d) 用户每个消息用的秘密随机数k:在0<k<q内的随机或拟随机数。 (e) 签字过程:对消息MM=Zp*,其签字为 S=Sigk(M, k)=(r, s) (7—6—1)
第七讲:数字签字与身份证明二、几种常用的数字签字第七讲:数字签字与身份证明二、几种常用的数字签字 其中,SS=Zq×Zq, r(gkmod p) mod q (7—6—2) s[k-1 (h(M)+xr)] mod q (7—6—3) (f) 验证过程:计算 w=s-1 mod q ; u1 =[H(M)w] mod q ; u2=rw mod q ; v=[(gu1yu2) mod p] mod q。 Ver(M, r, s)=真 v=r (7—6—4) (3) DSS签字、验证框图
第七讲:数字签字与身份证明二、几种常用的数字签字第七讲:数字签字与身份证明二、几种常用的数字签字 p q g r f2 M hy q g k sq rf3f4 M f1 sv h比较 r (a). 签字 (b). 证实 图7-6-2 DSS签字和验证框图 (a).签字,(b).证实
第七讲:数字签字与身份证明二、几种常用的数字签字第七讲:数字签字与身份证明二、几种常用的数字签字 (4) 公众反应:RSA Data Security Inc(DSI)想以RSA算法做为标准,因而对此反应强烈。在标准公布之前就指出采用公用模可能使政府能够进行伪造签字。许多大的软件公司早已得到RSA的许可证而反对DSS。主要批评意见有:①DSA不能用于加密或密钥分配;②DSA由NSA开发的,算法中可能设有陷门;③ DSA比RSA慢;④RSA已是一个实际上的标准,而DSS与现行国际标准不相容;⑤DSA未经公开选择过程,还没有足够的时间进行分析证明;⑥DSA可能侵犯了其它专利(Schnorr签字算法,Diffie-Hellman的公钥密钥分配算法;⑦ 由512 bit所限定密钥量太小。现已改为512~1 024中可被64除尽的即可供使用。
第七讲:数字签字与身份证明二、几种常用的数字签字第七讲:数字签字与身份证明二、几种常用的数字签字 (5) 实现速度 予计算:随机数r与消息无关,选一数串k,预先计算出其r。对k-1也可这样做。预计算大大加快了DSA的速度。 对DSA和RSA比较如下表: DSA RSA DSA采用公用p.q.g 总计算 Off Card(P) N/A Off Card(P) 密钥生成 14s Off Card(S) 4s 预计算 14s N/A 4s 签 字 0.035s 15s 0.035s 证 实 16s 1.5s 10s 注:脱卡(Off Card)计算以33 MHz的80386 PC机,S:脱卡秘密参数,模皆为512 bit。
第七讲:数字签字与身份证明二、几种常用的数字签字第七讲:数字签字与身份证明二、几种常用的数字签字 5.其它签字体制: GOST签字标准,为俄国采用的数字签字标准,自1995启用,正式称为GOST R34.10-94。算法与Schnorr模式下的ElGamal签字及NIST的DSA很相似。算法中也有一个类似于SHA的杂凑函数H(x),其标准号为GOST R34. 11-94。 ESIGN签字体制。 日本NTT的T. Okamoto等设计的签字方案。宣称在密钥签字长度相同条件下,至少和RSA,DSA一样安全,且比它们都快。 OSS签字体制,Ong,Schnorr和Shamir[1984]提出的一种利用mod n下多项式的签字算法。方案基于二次多项式。 离散对数签字体制,ElGamal、DSA、GOST、ESIGN、Okamoto等签名体制都是基于离散对数问题。这些体制都可以归结为一般的称之为离散对数签字体制之特例。
第七讲:数字签字与身份证明三、特殊用途的数字签字第七讲:数字签字与身份证明三、特殊用途的数字签字 1. 不可否认签字。1989年由Chaum和Antwerpen引入,这类签字有一些特殊性质,其中最本质的是在无签字者合作条件下不可能验证签字,从而可以防止复制或散布他所签文件的可能性,这一性质使产权拥有者可以控制产品的散发。这在电子出版系统知识产权保护中将有用场。 普通数字签字,可以精确地对其进行复制,这对于如公开声明之类文件的散发是必须的,但对另一些文件如个人或公司信件、特别是有价值文件的签字,如果也可随意复制和散发,就会造成灾难。这时就需要不可否认签字。 否认协议(Disavowal Protocol):在签字者合作下才能验证签字,这会给签字者一种机会,在不利于他时他拒绝合作以达到否认他曾签署的文件。为了防止此类事件而引入 。
第七讲:数字签字与身份证明三、特殊用途的数字签字第七讲:数字签字与身份证明三、特殊用途的数字签字 构成签字算法的第三个组成部分,签字者可利用否认协议向法庭或公众证明一个伪造的签字确是假的;如果签字者拒绝参与执行否认协议,就表明签字事实上是真的由他签署的。 2. 防失败签字。由B.Pfitzmann和M.Waidner引入。这是一种强化安全性的数字签字,可防范有充足计算资源的攻击者。当A的签字受到攻击,甚至分析出A的秘密钥条件下,也难于伪造A的签字,A亦难以对自己的签字进行抵赖。 3. 盲签字。一般数字签字中,总是要先知道文件内容而后才签署,这正是通常所需要的。但有时需要某人对一个文件签字,但又不让他知道文件内容,称此为盲签字(Blind Signature),它是由Chaum[1983]最先提出的。
第七讲:数字签字与身份证明三、特殊用途的数字签字第七讲:数字签字与身份证明三、特殊用途的数字签字 在选举投票和数字货币协议中将会碰到这类要求。利用盲变换可以实现盲签字,参看图7-14-1。 M M’ S(M’) S(M) 消息 盲变换 签字 解盲变换 图7-14-1 盲签字框图 (1) 完全盲签字。B是一位仲裁人,A要B签署一个文件,但不想让他知道所签的是什么,而B并不关心所签的内容,他只是要确保在需要时可以对此进行仲裁。可通过下述协议实现。 完全盲签字协议:
第七讲:数字签字与身份证明三、特殊用途的数字签字第七讲:数字签字与身份证明三、特殊用途的数字签字 (a) A取一文件并以一随机值乘之,称此随机值为盲因子。 (b) A将此盲文件送给B。 ( c) B对盲文件签字。 (d) A以盲因子除之,得到B对原文件的签字。 若签字函数和乘法函数是可换的,则上述作法成立。否则要采用其它方法(而不是乘法)修改原文件。 安全性讨论: B可以欺诈吗?是否可以获取有关文件的信息?若盲因子完全随机,则可保证B不能由(b)中所看到的盲文件得出原文件的信息。即使B将(c)中所签盲文件复制,他也不能(对任何人)证明在此协议中所签的真正文件,而只是知道其签字成立,并可证实其签字。即使他签了100万个文件,也无从得到所签文件的信息。
第七讲:数字签字与身份证明三、特殊用途的数字签字第七讲:数字签字与身份证明三、特殊用途的数字签字 例.反间谍组织的成员的身份必须保密,甚至连反间谍机构也不知道他是谁。反间机构的头头要给每个成员一个签字的文件,文件上注明:持此签署文件人(将成员的掩蔽名字写于此)有充分外交豁免权。每个成员都有他自己的掩蔽名单。成员们不想将他们的掩蔽名单送给反间谍机构,敌人也可能会破坏反间谍机构的计算机。另一方面,反间机构也不会对成员给他的任何文件都进行盲签字,例如,一个聪明的成员可能用“成员(名字)已退休,并每年发给100万退休金”进行消息代换后,请总统先生签字。此情况下,盲签字可能有用。
第七讲:数字签字与身份证明三、特殊用途的数字签字第七讲:数字签字与身份证明三、特殊用途的数字签字 假定每个成员可有10个可能的掩护名字,他们可以自行选用,别人不知道。假定成员们并不关心在那个掩护名字下他们得到了外交豁免,并假定机构的计算机为Agency’s Intelligent Computing Engine,简记为ALICE。则可利用下述协议实现。 协议: (a)每个成员准备10份文件,各用不同的掩护名字,以得到外交豁免权。 (b)成员以不同的盲因子盲化每个文件。 (c)成员将10个盲文件送给ALICE。 (d)ALICE随机选择9个,并询问成员每个文件的盲因子。 (e)成员将适当的盲因子送给ALICE。 (f)ALICE从9个文件中移去盲因子,确信其正确性。 (g)ALICE将所签署10个文件送给成员。 (f) 成员移去盲因子,并读出他的新掩护名字:“The Crimson Streak”, 在该名字下这份签署的文件给了他外交豁免权。
第七讲:数字签字与身份证明三、特殊用途的数字签字第七讲:数字签字与身份证明三、特殊用途的数字签字 这一协议在抗反间成员欺诈上是安全的,他必须知道哪个文件不被检验才可进行欺诈,其机会只有10%。(当然他可以送更多的文件)ALICE对所签第10个文件比较有信心,虽然未曾检验。这具有盲签性,保存了所有匿名性。 反间成员可以按下述方法进行欺诈,他生成两个不同的文件,ALICE只愿签其中之一,B找两个不同的盲因子将每个文件变成同样的盲文件。这样若ALICE要求检验文件,B将原文件的盲因子给他;若ALICE不要求看文件并签字,则可用盲因子转换成另一蓄意制造的文件。以特殊的数学算法可以将两个盲文件做得几乎一样,显然,这仅在理论上是可能的。 (3) 信封。D. Chaum将盲变换看作是信封,盲化文件是对文件加个信封,而去掉盲因子过程是打开信封。文件在信封中时无人可读它,而在盲文件上签字相当于在复写纸信封上签字,从而得到了对真文件(信封内)的签字。
第七讲:数字签字与身份证明三、特殊用途的数字签字第七讲:数字签字与身份证明三、特殊用途的数字签字 (4)盲签字算法。D. Chaum曾提出第一个实现盲签字的算法,他采用了RSA算法。令B的公钥为e,秘密钥为d,模为n。 (a) A要对消息m进行盲签字,选1<k<m,作 tmke mod n B (7—14—1) (b) B对t签字, td(mke)d mod n A (7—14—2) (c) A计算 Std/k mod n 得 Smd mod n (7—14—3) 这是B对m按RSA体制的签字。 证明:td (mke)d mdk mod n td/kmdk/kmd mod n (7—14—4)
第七讲:数字签字与身份证明三、特殊用途的数字签字第七讲:数字签字与身份证明三、特殊用途的数字签字 4. 群签字 群体密码学(Group-Oriented Cryptography)1987年由Desmedt提出。它是研究面向社团或群体中所有成员需要的密码体制。在群体密码中,有一个公用的公钥,群体外面的人可以用它向群体发送加密消息,密文收到后要由群体内部成员的子集共同进行解密。本节介绍群体密码学中有关签字的一些内容。
第七讲:数字签字与身份证明三、特殊用途的数字签字第七讲:数字签字与身份证明三、特殊用途的数字签字 • (1)群签字。 群签字(Group Signature)是面向群体密码学中的一个课题,1991年由Chaum和van Heyst提出。它有下述几个特点: • ①只有群中成员能代表群体签字; • ② 接收到签字的人可以用公钥验证群签字,但不可能知道由群体中那个成员所签; • ③ 发生争议时可由群体中的成员或可信赖机构识别群签字的签字者。
第七讲:数字签字与身份证明三、特殊用途的数字签字第七讲:数字签字与身份证明三、特殊用途的数字签字 例如,这类签字可用于投标中。所有公司应邀参加投标,这些公司组成一个群体,且每个公司都匿名地采用群签名对自己的标书签字。事后当选中了一个满意的标书,就可识别出签字的公司,而其它标书仍保持匿名。中标者若想反悔已无济于事,因为在没有他参加下仍可以正确识别出他的签字。这类签字还可在其它类似场合使用。 群签字也可以由可信赖中心协助执行,中心掌握各签字人与所签字之间的相关信息,并为签字人匿名签字保密;在有争执时,可以由签字识别出签字人。 Chaum和Heyst曾提出四种群签字方案。有的由可信赖中心协助实现群签字功能,有的采用不可否认并结合否认协议实现。Chaum所提方案,不仅可由群体中一个成员的子集一起识别签字者,还可允许群体在不改变原有系统各密钥下添加新的成员。群签字目标是对签字者实现无条件匿名保护,而又能防止签字者的抵赖,因此称其为群体内成员的匿名签字更合适些。
第七讲:数字签字与身份证明三、特殊用途的数字签字第七讲:数字签字与身份证明三、特殊用途的数字签字 (2)面向群体的不可抵赖签字 前面已介绍过不可抵赖签字,这里将介绍在一个群体中由多个人签署文件时能实现不可抵赖特性的签字问题。Desmedt等所提出的实现方案多依赖于门限公钥体制。 一个面向群体的(t, n)不可抵赖签字,其中t是阈值,n是群体中成员总数,群体有一公用公钥。签字时也必须有t人参与才能产生一个合法的签字,而在验证签字时也必须至少有群体内成员合作参与下才能证实签字的合法性。这是一种集体签字共同负责制。
第七讲:数字签字与身份证明四、数字签字体制中的潜信道第七讲:数字签字与身份证明四、数字签字体制中的潜信道 潜信道(Subliminal Channel)是在公开信道中所建立的一种实现隐蔽通信(Covert Communications)的信道。潜信道由Simmons在1978年提出,其目的在于证明当时美国用于(SALT ——第二阶段限制战略武器会谈条约)核查系统中的安全协议的基本缺陷。1984年Simmons等证明,绝大多数签字体制中都可能存在潜信道,能否利用它进行隐蔽通信?如何能使公开信道的接收者要提取通过潜信道传送的消息在计算上不可行?我们将通过讨论各种签字体制,如ElGamal、DSS等签字体制中的潜信道的生成过程、性质、基本缺陷等来回答上述问题。利用系统接入控制机制中的漏洞建立隐信道(Covert Channel)实施隐蔽通信的问题将在后面介绍。
第七讲:数字签字与身份证明四、数字签字体制中的潜信道第七讲:数字签字与身份证明四、数字签字体制中的潜信道 1. 隐蔽通信。在实际通信中,有许多隐蔽信道和隐蔽通信的例子例如:① 二战期间,美国战俘用字母i表示Morse电码中的“点”,用字母t表示“划”,来实现秘密消息传递,躲过敌方电报检查员的检查。②在保密数据网上通过在预定时间控制正在处理公共业务的请求的网络仲裁者的状态实现隐蔽bit传送。这一潜信道的发送和接收者在有相同时钟条件下可以访问这些隐蔽码元。由于仲裁者也要接受其它用户的请求,因此这类信道实际上具有一定的不确定性,可以用差错控制方法改进,而能提供一个可用的隐蔽信道。③令A,B因犯罪被捕入狱,分在不同狱中。看守W允许A,B交换信件,但不能加密且需经W检查,而A、B又要防止W用伪造消息欺骗A或B,故采用可靠的签名实现,并且要传递秘密信息,讨论如何协调越狱,为此他们要在公开信道中建立一个潜信道来实现。
第七讲:数字签字与身份证明四、数字签字体制中的潜信道第七讲:数字签字与身份证明四、数字签字体制中的潜信道 实施隐蔽通信的协议: ① A生成一个无意义消息M,类似于随机数; ②A利用与B共享秘密钥对M进行签字,同时将潜信息嵌入签字中; ③ A将签字消息交W转送给B; ④ W检阅A的消息并检验其签字,未发现可疑之处后转送给B; ⑤ B验证A的签字; ⑥B用与A共享秘密钥从接收的无意义消息中提取潜信息。 W虽对A和B不信任,并可随时中断A与B的通信,但他既不可能提取潜信息(因无A与B共享秘密钥),又不可能用伪造A的消息欺骗B(因他无A的签字用秘密钥)。
第七讲:数字签字与身份证明四、数字签字体制中的潜信道第七讲:数字签字与身份证明四、数字签字体制中的潜信道 如何防止A与B之间的相互欺诈?这是一个棘手的问题,一些潜信道下,B需要读的潜信息正是A需要签署的无意义消息,这使得B可以伪装A签一个似乎来自A但A根本不知道的消息。因此潜信道的通信双方必须彼此信任,不会滥用共享秘密钥,这是I型潜信道。还有另一类潜信道,可以使A向B送潜消息,但B不能伪装A来签署任何这类消息,称作II型潜信道。在间谍系统中广泛采用这类潜信道进行通信。 无潜信道的签字体制(Subliminal-free Signature Scheme)可参看[Desmedt 1988]。
第七讲:数字签字与身份证明四、数字签字体制中的潜信道第七讲:数字签字与身份证明四、数字签字体制中的潜信道 2.TRW方案 美国TRW公司为美国征集执行SALT 核查系统而设计的方案被采用。TRW方案能准确检查出导弹发射中心状态(是否装载导弹)又能确保美苏双方对信息完整性(防伪、防替代、防欺诈、防否定)的要求。 TRW方案采用防窜传感器盒,将其放入发射井内能探测出导弹的现状,它具有遥感性能,可以进行高精度探测,发现对方导弹的移动和靠近发射井的行为,并能测出处于临战状态的导弹。这种传感器也可由对方提供。中心关键是如何确保信息的完整性,满足SALT 条约的需要。
第七讲:数字签字与身份证明四、数字签字体制中的潜信道第七讲:数字签字与身份证明四、数字签字体制中的潜信道 3. 潜信道 1-bit潜信道。可设计一个密码,它对每一明文可产生两个密文,都可用同一解密钥解密。密文可分成奇数和偶数两类,发方可以自由选用一种密文来表示明文,从而构成1-bit无条件保密的潜信道。可用Vernam密码来隐蔽阈下比特,参看图7-15-2。公开收信者由于不掌握密钥ki(i=1, 2,…),即使他怀疑潜信道可能传送可疑信息,也无法查出潜信道是否正被使用。可将1-bit潜信道推广至多bit潜信道。若能构造出一种密码,可使任一明文有l种可能的密文,则可构造出log2 l bit的潜信道。这类潜信道可用于实际中。
第七讲:数字签字与身份证明四、数字签字体制中的潜信道第七讲:数字签字与身份证明四、数字签字体制中的潜信道 例如,用于SALT 核查系统,若俄方提供的一个发射井的传感器的密码只生成奇数类密文,而另一个井安装的算法只产生偶数类密文,从而可以鉴别各个发射井,并搞清楚哪个发射井装载弹头。因此,仅需10 bit潜信道就足以精确查出美方哪些发射井装载了导弹,这就排除了隐蔽导弹的可能性。 公开收方W收 潜信息bit 到的解密消息 发信者 bi奇/偶密 密文 认证 提取奇/ bi 潜信息 A 文选择 偶信息 接收者B kiKPKPKPKSki 一次一密密钥 公开信道的保密通信系统 一次一密密钥 潜 信 道 的 保 密 通 信 系 统 图7-15-2 1-bit潜信道的保密通信系统
第七讲:数字签字与身份证明四、数字签字体制中的潜信道第七讲:数字签字与身份证明四、数字签字体制中的潜信道 4.签名体制中的潜信道 离散对数型数字签字体制中,消息和签字可用三元组(M, r, s)或(H(M), r,s)表示。若H(M)、r和s的长度近于n bit,整个传送三元组长度为(|M|+2n) bit,即增加了2n bit,其中,n bit用于提供对签字的保护(防修改、抗伪、防移植等,伪造成功率为2-n);另外的n bit则可用于构造潜信道。而且如果发方牺牲一些保密度,还可以加大潜信道的容量。 一般一个有bit的签字,若抗伪能力为bit,则潜信道容量可达(-) bit。若能以(-) bit传送潜信息,则称其为宽带潜信道;若仅能以<(-) bit传送潜信息,则称其为窄带潜信道。关键是计算复杂性将随所用潜信道的bit数指数地增大。
第七讲:数字签字与身份证明四、数字签字体制中的潜信道第七讲:数字签字与身份证明四、数字签字体制中的潜信道 宽带潜信道致命问题是要恢复阈下信息,则必须知道发方秘密签名密钥,从而意味收方可以伪造发方签名而不被检测出来。如果发方不相信潜信道的接收者,就无法实现以(-) bits速率传阈下信息。若发信者将签字秘密钥交给接收者,则称此宽带潜信道为Ⅰ-型潜信道。若发信者不把签字秘密钥交给潜信息接收者,则称此窄带潜信道为Ⅱ-型潜信道。 5.ElGamal数字签字方案的潜信道 6.DSS中的潜信道 7.有关纠错码用于认证的系统中的潜信道研究
第七讲:数字签字与身份证明五、身份证明的基本概念第七讲:数字签字与身份证明五、身份证明的基本概念 身份证明必要性:在一个有竞争和争斗的现实社会中,身份欺诈是不可避免的,因此常常需要证明个人的身份。通信和数据系统的安全性也取决于能否正确验证用户或终端的个人身份。 传统的身份证明:一般是通过检验“物”的有效性来确认持该物的的身份。“物”可以为徽章、工作证、信用卡、驾驶执照、身份证、护照等,卡上含有个人照片(易于换成指纹、视网膜图样、牙齿的X适用的射像等),并有权威机构签章。这类靠人工的识别工作已逐步由机器代替。 信息化社会对身份证明的新要求:随着信息业务的扩大,要求验证的对象集合也迅速加大,因而大大增加了身份验证的复杂性和实现的困难性。实现安全、准确、高效和低成本的数字化、自动化、网络化的认证。
第七讲:数字签字与身份证明五、身份证明的基本概念第七讲:数字签字与身份证明五、身份证明的基本概念 1. 身份欺诈的方式 (1) 象棋大师问题。A不懂象棋,但可向G. Kasparov和A. Karpov同时挑战,在同一时间和地点进行(不在一个房子)对弈,以白子棋对前者以黑子棋对后者,而两位大师彼此不通气,参看图8-1-1。Karpov持白子棋先下一步,A记下走到另一房下同样一着,而后看Kasparov如何下黑子棋,A记下这第二步对付Karpov,以此类推。这是一种中间人欺诈。 Karpov Kasparov A 图8-1-1 象棋大师问题
第七讲:数字签字与身份证明五、身份证明的基本概念第七讲:数字签字与身份证明五、身份证明的基本概念 (2) The Mafia欺诈。A在Mafia集团成员B开的饭馆吃饭,Mafia集团另一成员C到D的珠宝店购珠宝,B和C之间有秘密无线通信联络,A和D不知道其中有诈。 A向B证明A的身份并付账,B通知C开始欺骗勾当,A向B证明身份,B经无线通知C,C以同样协议与D实施。当D询问C时,C经B向A问同一问题,B再将A的回答告诉C,C向D回答,参看图8-1-2。实际上,B和C起到中间人作用完成A向D的身份证明,实现了C向D购买了值钱珠宝,而把账记在A的账上。这是中间人B和C合伙进行的欺诈。 A B C D 图8-1-2 中间人合伙欺诈
第七讲:数字签字与身份证明五、身份证明的基本概念第七讲:数字签字与身份证明五、身份证明的基本概念 3.恐怖分子欺诈 无 线 A C D 有合法身份者 恐怖分子 移民局 图8-1-3 另一种中间人合伙欺诈 假定C是一名恐怖主义者,A要帮助C进入某国,D是该国移民局官员,A和C之间有秘密无线电联络,参看图8-1-3。A协助C得到D的入境签证。这类欺诈可以用防电磁幅射泄露和精确时戳等技术来抗击。 (4)多身份欺诈(Multiple identity frand)。A首先建立几个身份并公布之。其中之一他从来未用过,他以这一身份作案,并只用一次,除目击者(Witness)外无人知道犯罪人的个人身份。由于A不再使用此身份,而无法跟踪。采用一种机构,且每人只能有一个身份证明就可抗击这类欺诈。