当前位置:文档之家› 数字签名技术

数字签名技术

– 签名是不可重复的 – 签名后的文件是不能更改的 – 签名是不可否认的
传统签名的基本特点:
异能与被签的文件在物理上不可分割 签名者不能否认自己的签名 签名不能被伪造 容易被验证 数字签名是传统签名的数字化,基本要求: 能与所签文件“绑定” 签名者不能否认自己的签名 签名不能被伪造 容易被自动验证
-- 只有A 能够生成EKRa[H(M)]
(2’) A→B: EK[M||EKRa[H(M)]] 提供保密性、鉴别和数字签名。
验证模式依赖于发送方的保密密钥; – 发送方要抵赖发送某一消息时,可能会声称其私有密钥 丢失或被窃,从而他人伪造了他的签名。 – 通常需要采用与私有密钥安全性相关的行政管理控制手 段来制止或至少是削弱这种情况,但威胁在某种程度上 依然存在。 – 改进的方式例如可以要求被签名的信息包含一个时间戳 (日期与时间),并要求将已暴露的密钥报告给一个授 权中心。 X的某些私有密钥确实在时间T被窃取,敌方可以
唯密钥攻击的存在性伪造——Oscar能通过对某一y计
算x=EKUa(y)伪造一个Alice对随机消息x的签名,因 为y=SigKRa(x) 已知消息攻击的存在性伪造——如果Osacr拥有Alice 对消息x1,x2的签名分别是y1和y2,则Oscar可伪造 Alice关于消息x1x2 mod n的签名y1y2mod n,因为 SigKRa(x1x2)=SigKRa(x1)SigKRa(x2) mod n 选择消息攻击的选择性伪造——假定Oscar要伪造消 息x的签名,Oscar找到x1,x2∈Zn,使x≡x1x2mod n。 他请求A对x1,x2签名,签名结果分别是y1,y2。y1y2mod n是消息x1x2 mod n的签名。
赵晓濛 北京大学计算机科学与技术系
– 数字签名的功能与特性 – 若干数字签名方案
数字签名(Digital Signature) 是一种防止源点或终点抵赖的鉴别技术。
Message authentication用以保护双方之间的数据交 换不被第三方侵犯;但它并不保证双方自身的相互 欺骗。假定A发送一个认证的信息给B,双方之间
必须能够验证作者及其签名的日期时间; 必须能够认证签名时刻的内容; 签名必须能够由第三方验证,以解决争
议;
因此,数字签名功能包含了鉴别的功能
一个签名方案是一个满足下列条件的五元组(P,A,K,S,V): ① P是所有可能消息组成的一个有限集合 ② A是由所有可能的签名组成的一个有限集合 ③ K为密钥空间,它是由所有可能密钥组成的一个有限集合 ④ 对每一个k∈K,有一个签名算法sigk ∈ S和一个相应的验证算法verk ∈ V。对每一个消息x ∈ P和每一个签名y ∈ A,每一个sigk:P→A和 verk:P×A→{true,false}都是满足下列条件的函数
是由Chaum和van Antwerpen在1989年提出的,其中最主要的特征是


没有签名者的合作,签名就不能得到验证。从而防止了由她签署的电 子文档资料没有经过她的同意而被复制和分发的可能性。适用于知识 产权产品分发控制。 带来的问题:签名者在认为对其不利时拒绝合作,从而否认他曾签署 的文件。 如果要阻止她主观否认,一个不可否认签名与一个否认协议 (Disavowal Protocol)结合:签名者执行否认协议可以向法庭或公众证 明一个伪造的签名确实是假的;如果签名者拒绝参与执行否认协议, 就表明签名事实上是真的由其签署的。 由三部分组成:签名算法、验证协议、否认协议。 参考资料: D.Chaum, R.L. Rivest and A.T. Sherman. Advances in Cryptology: Proceedings of CRYPTO’82. Plenum Press,1983
的争议可能有多种形式:
– B伪造一个不同的消息,但声称是从A收到的。 – A可以否认发过该消息,B无法证明A确实发了该消
息。 例如:EFT中改大金额;股票交易指令亏损后抵赖
手写签名具有以下特性: – 签名是可信的。接收者相信签名者慎重签署了 该文件
– 签名是不能伪造的
对称密码:密钥是128位,则签名信息扩大128倍


改进方案之一:Bos-Chaum签名方案 参考: Diffie,W.Hellman,M.,New Directions in Cryptography, IEEE Trans, Inform. Theory,1976, Vol.IT-22(6),pp.644654 J.N.E.Bos and D.Chaum. Provably unforgeable signatures. Lecture Notes in Computer Science, 740(1993),1-14 ( Advances in Cryptology-CRYPTO’92)
普通数字签名算法
– RSA – EIGamal – DSS/DSA 不可否认的数字签名算法 群签名算法 盲签名算法
A的公钥私钥对{KUa||KRa} A对消息M签名: SA=EKRa(M)
问题: –速度慢 –信息量大 –第三方仲裁时必须暴露明文信息 –漏洞: EKRa(x×y)≡EKRa(x)×EKRa(y) mod n
群中各个成员以群的名义匿名地签发消息.具备下列三个特 性 只有群成员能代表所在的群签名 接收者能验证签名所在的群,但不知道签名者 需要时,可借助于群成员或者可信机构找到签名者 应用: 投标 群数字签名方案由三个算法组成:签名算法、验 证算法和识别算法 参考: D.Chaum,and Van Heyst,E.,Group Signatures, Advances in Cryptology –Eurocrypt’91,Springer Verlag,1991,pp.257~265
盲签名要求:


消息内容对签名者不可见 签名被接收者泄漏后,签名者无法追踪签名 应用: 电子货币,电子选举 盲签名过程: 消息→盲变换→签名→接收者→逆盲变换 参见: Stadler, M., Piveteau, J.M. and Camenisch, J., Fair Blind Signatures, Advances in Cryptology--Eurocrypt’95,Springer-Verlga, pp.209-219
完全破译(total break)
– 攻击者Oscar可以确定Alice的私钥,即签名函数Sigk, 因此能对任何消息产生有效签名。 选择性伪造(selective forgery) – 攻击者能以某一不可忽略的概率对另外某个人选择的 消息产生一个有效的签名。该消息不是以前曾经签名的 消息 存在性伪造(existential forgery) – 攻击者至少能够为一则消息产生一个有效的签名,该 消息不应该是以前曾经签名的消息。

签名必须是依赖于被签名信息的一个位串模式; 签名必须使用某些对发送者是唯一的信息,以防止 双方的伪造与否认;
必须相对容易生成该数字签名;
必须相对容易识别和验证该数字签名; 伪造该数字签名在计算复杂性意义上具有不可行 性,既包括对一个已有的数字签名构造新的消息, 也包括对一个给定消息伪造一个数字签名; 在存储器中保存一个数字签名副本是现实可行的。
提供了鉴别与签名:
•只有A具有KRa进行加密;
•传输中没有被篡改; • 需要某些格式信息/冗余度; •任何第三方可以用KUa 验证签名 (1’) A→B: EKUb [EKRa(M)] 提供了保密(KUb)、鉴别与签名(KRa):
(2) A→B: M||EKRa[H(M)] 提供鉴别及数字签名 -- H(M) 受到密码算法的保护;
以验证方式分
直接数字签名direct digital signature 仲裁数字签名arbitrated digital signature 以计算能力分 无条件安全的数字签名 计算上安全的数字签名 以可签名次数分 一次性的数字签名 多次性的数字签名 具有特殊性质的数字签名
(1) A→B: EKRa[M]
· William Stallings, Cryptography and network ·security: principles and practice, Second Edition. ·冯登国、裴定一,密码学导引, 科学出版社,1999 · 钟 《网络与信息安全》研究生课程讲义 陈 /~xinwei/

由x ∈ P和y ∈ A组成的数据对(x,y)称为签名消息。
唯密钥攻击(Key-only attack)
– 攻击者Oscar拥有Alice的公钥,即验证函数verk 已知消息攻击(know message attack) – Oscar拥有一系列以前由Alice签名的消息 (x1,y1),(x2,y2),…,其中xi是消息,yi是Alice对消息xi的 签名 选择消息攻击 – Oscar请求Alice对一个消息列表签名
伪造X的签名及早于或等于时间T的时间戳。
引入仲裁者。 – 通常的做法是所有从发送方X到接收方Y的签名消息
首先送到仲裁者A,A将消息及其签名进行一系列测试, 以检查其来源和内容,然后将消息加上日期并与已被 仲裁者验证通过的指示一起发给Y。仲裁者在这一类 签名模式中扮演敏感和关键的角色。 – 所有的参与者必须极大地相信这一仲裁机制工作正 常。(trusted system)
ElGamal于1985年提出,很大程度上为Diffe-Hellman
密钥交换算法的推广和变形。 分为两种情形: p是大素数 q≠p或者q是p-1的大素因子 DSS(数字签名标准)是后者的一种变形,该方案是特 别为签名的目的而设计的。这个方案的改进1994年 12月1日被美国NIST(国家标准和技术研究所)采 纳作为数字签名标准(FIPS 186)。 •DSS使用SHA作为散列函数
相关主题