版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章消息认证与数字签名本章内容概述消息认证数字签名数字签名方案特殊的数字签名1第7章消息认证与数字签名教学要求了解消息认证与数字签名的基本概念、作用掌握消息认证与数字签名的基本原理掌握典型的数字签名方案了解特殊的数字签名2第7章消息认证与数字签名认证可分为实体认证和消息认证两大类。实体认证即证实某个人是否是他所声称的那个实体,也称为身份认证;消息认证即消息接收者证实接收到的消息是否真实、完整。数字签名是一种取代手写签名的电子签名技术,它也是一种特殊的认证技术,在身份认证、数据完整性和不可否认性等方面有着不可替代的作用。
37.1概述安全问题篡改信道中传输的信息
冒充合法用户与其他用户进行通信或欺诈4一、消息认证验证消息的发送者是真实的,而不是冒充的,也称为信源认证;验证消息的完整性,即消息在传送和存储过程中未被篡改、重放和延迟等。51、消息认证系统模型6消息认证中常见的攻击和对策重放攻击:截获以前协议执行时传输的信息,然后在某个时候再次使用。对付这种攻击的措施是在认证消息中包含一个非重复值,如序列号、时戳、随机数或嵌入目标身份的标志符等。
7消息认证中常见的攻击和对策冒充攻击:攻击者冒充合法用户发布虚假消息。为避免这种攻击可采用身份认证技术。8消息认证中常见的攻击和对策重组攻击:把以前协议执行时一次或多次传输的信息重新组合进行攻击。为了避免这类攻击,把协议运行中的所有消息都连接在一起。
9消息认证中常见的攻击和对策篡改攻击:修改、删除、添加或替换真实的消息。为避免这种攻击可采用消息认证码MAC或Hash函数等技术。
10数字签名必要性消息认证能够使通信双方对接收到的信息来源及完整性进行验证,防止第三方的攻击,然而却不能防止通信双方中的一方对另一方的欺诈。这种欺诈有多种形式,例如通信双方(发送方A、接收方B)利用双方共享的密钥对称加密进行消息认证时,B可以伪造一个消息并声称是由A发出的,由于A和B共享密钥,可以通过消息认证。因此,在通信双方未建立起完全的信任关系时,需要有新的信息安全技术来保证传输信息的真实性,解决通信双方的争端,这就是数字签名技术。11数字签名的概念数字签名是对以数字形式存储的电子信息进行处理,产生一种类似于传统手写签名功能的信息处理过程。它通常将某个算法作用于需要签名的消息,产生一种带有操作者身份信息的编码。通常将执行数字签名的实体称为签名者,所使用的算法称为签名算法,签名操作生成的编码称为签名者对该消息的数字签名。消息连同其数字签名能够在通信网络上传输,可以通过一个验证算法来验证签名的真伪以及识别相应的签名者。12数字签名的作用信息安全身份认证数据完整性不可否认性匿名性13数字签名的基本要求数字签名至少应该满足三个基本要求:
①不可否认性:签名者任何时候都无法否认自己曾经签发的数字签名。
②可验证性:收信者能够验证收到的数字签名,而任何人都无法伪造别人的数字签名。
③可仲裁性:当双方对数字签名发生争议时,通过仲裁机构(可信第三方)进行裁决。14数字签名的基本特征数字签名与手写签名虽然都称为签名,但两者有很大的差异,主要表现在:
①手写签名是所签文件的物理组成部分,不可分离;数字签名与被签名的消息都各是一段比特串编码,可以互相分离,因此数字签名必须与所签消息捆绑在一起。
②手写签名通过与已经被证实的标准签名进行比较或检查笔迹来验证,需要一定的技巧,并且不十分安全,容易被伪造。数字签名通过一个公开的验证算法来验证,安全强度高的数字签名算法使伪造数字签名十分困难。
③手写签名是手写的,因人而异,不易被复制。数字签名是是一段比特串编码,容易被复制,必须采取有效的措施来防止一个带有数字签名的消息被重复使用。15数字签名的基本特征由于数字签名与手写签名存在上述差异,为了满足数字签名的基本要求,数字签名应该具有以下几个基本特征:
①捆绑性②独特性③可验证性④不可伪造性⑤可用性167.2消息认证消息认证系统在功能上一般可以划分为两个层次:底层的认证函数对消息生成某种认证标志;上层的认证协议基于认证标志提供一种分析、鉴别、验证消息真实性的机制。17认证函数消息加密:将整个需要认证的消息加密,加密的密文作为认证标志。消息认证码(MAC):将需要认证的消息及密钥通过MAC函数得到一个固定长度的MAC值,将其作为认证标志。
Hash函数:将需要认证的消息通过Hash函数得到一个固定长度的消息摘要值,将其作为认证标志。18消息加密消息加密提供了一种认证手段,消息加密的方式有两种:对称密码加密;公钥密码加密。
19(1)对称加密提供保密和认证A→B:ek(m)20附加帧校验序列的对称加密认证A→B:ek(m║f(m))提供保密:只有A和B共享密钥k,B能够解密密文,恢复明文,旁人不可知明文。提供认证:只能发自A,合法明文需要某种易于识别的结构,传输中未被改变。不能提供数字签名:接收方可以伪造密文,发送方可以否认消息。21(2)公钥加密提供认证和数字签名A→B:提供认证:只能发自A,合法明文需要某种易于识别的结构,传输中未被改变。提供数字签名:只有A拥有私钥PRa,任何人包括B都不能伪造密文,发送方不可否认发送消息。不提供保密:任何人都可用A的公钥PUa来解密消息。
22(3)公钥加密提供保密、认证和数字签名A→B:提供保密:只有接收方B拥有私钥PRb,才能正确解密得到明文。提供认证:只有A拥有私钥PRa,只能发自A。提供数字签名:只有A拥有私钥PRa,任何人包括B都不能伪造密文,发送方不可否认发送消息。23消息认证码消息认证码是消息认证的方法之一。长度可变的消息m,由通信双方共享的密钥来控制,输出固定长度的MAC值。由于MAC值是输入消息的函数值,只要输入消息的任何一位或多位有改变,就会导致MAC值的改变,因此可用于消息认证。24(1)利用消息认证码实现认证A→B:m||ck(m)
提供认证:只有A和B共享密钥k。不提供保密:明文直接传送。不提供数字签名:A、B共享密钥,接收方可以伪造密文,发送方可以否认消息。25(2)利用消息认证码实现消息认证和保密A→B:26(2)利用消息认证码实现消息认证和保密A→B:
采用以上两图所示消息认证码的认证函数具有以下特点:
提供认证:只有A和B共享密钥k1。提供保密:只有A和B共享密钥k2。不提供数字签名:A、B共享密钥,接收方可以伪造签名,发送方可以否认签名。27Hash函数利用Hash函数也可以实现消息认证。Hash函数的输入是长度可变的消息m,输出固定长度的消息摘要值。由于消息摘要是输入消息的函数值,只要输入消息的任何一位或多位有改变,就会导致消息摘要值的改变,因此可用于消息认证。28(1)用对称密码对消息及消息摘要进行加密实现认证和保密
A→B:ek(m||h(m))
提供认证:Hash函数保证了传送消息的完整性。提供保密:只有A和B共享密钥k。29(2)用对称密码加密消息摘要实现认证A→B:m||ek(h(m))
提供认证:h(m)受共享密钥k保护。不提供保密:消息m以明文形式传送。30(3)用公钥密码加密消息摘要实现认证和数字签名
A→B:
提供认证:h(m)受密码保护。提供数字签名:只有A拥有私钥PRa。不提供保密:消息m以明文形式传送。31(4)用公钥密码和对称密码加密消息摘要A→B:
提供认证:h(m)受私钥PRa保护。提供数字签名:只有A拥有私钥PRa。提供保密:消息m受共享密钥k保护。32认证协议认证协议就是使通信双方证实对方身份或消息来源的通信协议。认证协议根据应用需要主要分为双向认证和单向认证两种。33双向认证双向认证协议可以使通信双方A和B确认对方的身份并交换会话密钥。A和B交换会话密钥的核心问题是保密性和实时性。为了防止会话密钥的泄露和伪造,会话密钥在交换时应以密文的形式传送,因此通信双方应事先准备好共享密钥或公钥。为了防止消息的重放攻击,保证消息的实时性也是很重要的。34实现消息的实时性的方法:时戳(timestamp)法:在发送的消息中加上一个时间标记,此时间标记为实时时间,它称为时戳或时间戳。只有当A收到的消息包含时戳且时戳与A当前时间足够接近时,A才认为此消息是实时性的,此方法要求通信双方的时钟保持同步。挑战-应答(challenge-response)法:用户A向B发送一个一次性随机数(挑战),如果收到B发来的应答消息中包含该一次性随机数,则认为此消息是实时的。35双向认证协议实现方法对称加密公钥加密36(1)对称加密基于对称加密的双向认证协议需要有一个可信的密钥分配中心(keydistributioncenter,KDC)的参与,KDC又称为可信第三方,为通信双方所信任,专门负责为通信双方分配密钥。网络中通信的各方和KDC之间分别共享一个密钥,称为主密钥(masterkey);KDC为通信双方建立短期通信所需的密钥,称为会话密钥(sessionkey),并用主密钥加密会话密钥后分配给通信双方。37Needham/Schroeder双向认证协议①A→KDC:②KDC→A:
③A→B:
④B→A:
⑤A→B:
密钥分配
鉴别认证
38Needham/Schroeder双向认证协议步骤①A向KDC发出请求报文,要求得到与B通信的会话密钥。这个报文包括A和B的标识IDa和IDb,以及临时交互号N1(即一次性随机数)。步骤②KDC用ka加密消息回应A,A得到新的会话密钥ks。步骤③A将KDC发送消息的最后一项发送给B,只有B能用kb解密,B也得到会话密钥ks。步骤④B用会话密钥ks加密一个一次性随机数N2发给A,表明自己已掌握ks。步骤⑤A使用ks对B的询问作出应答,f是一个对N2进行某种变换的函数,一方面表示自己已掌握ks,另一方面表示消息不是伪造的。39重放攻击的可能性假如攻击者已经获取旧会话密钥,并冒充A重放第③步消息后,就可欺骗B认证旧会话密钥,攻击者就可冒充A使用认证过的旧会话密钥进行通信,攻击成功。402)Denning双向认证协议①A→KDC:②KDC→A:③A→B:④B→A:⑤A→B: 41存在的问题Denning改进协议必须要求各时钟通过网络保持同步,而这种同步可能由于系统故障而被破坏。如果发送者的时钟超前于接收方的时钟,攻击者就可截获发送方发出的消息,等待消息中时戳接近于接收方的时钟时,再重放给接收方。这种攻击称为抑制重放攻击。42对抗抑制重放攻击的方法一种方法是要求网络中各方以KDC的时钟为基准定期检查并调整自己的时钟;另一种方法是使用一次性随机数的握手协议,因为一次性随机数是无法预测的,随机数的握手协议可以检测出重放攻击。433)Kehn92双向认证协议①A→B:②B→KDC:③KDC→A:④A→B:443)Kehn92双向认证协议Kehn92协议为A、B双方建立共享的会话密钥提供了一个安全有效的方式。同时,如果A保留得到的票据,就可在有效时间内不再通过KDC,再次与B进行新的会话,方式如下:①A→B:②B→A:③A→B:45(2)公钥加密——使用时戳的认证协议①A→AS:②AS→A:③A→B:协议中AS为认证服务器(AuthenticationServer),它不参与密钥分配,而是提供公钥证书。462)WOO92协议①A→KDC:②KDC→A:③A→B: ④B→KDC:⑤KDC→B:⑥B→A:⑦A→B:47单向认证单向认证是指通信双方只有一方对另一方进行认证。与双向认证一样,仍分为对称加密和公钥加密两种情况来分析。48(1)对称加密发送方A发送消息m给接收方B,B对A进行基于对称加密的单向认证协议如下:
③A→B:②KDC→A:①A→KDC:
不能抵抗重放攻击,要抵抗攻击,需要加入时戳。
49(2)公钥加密1)要求保密性
2)要求认证性3)要求认证和保密A→B:A→B:A→B:507.3数字签名数字签名是信息技术发展的产物,是针对电子文档的一种签名确认方法。通过数字签名,可以实现身份认证和消息认证。51数字签名原理--系统的组成签名者
验证者
数字签名方案参与者签名算法
验证算法
52数字签名方案五元组(M,S,K,sig,ver)
M是所有可能消息的一个有限集合,称为消息空间;
S是所有可能签名的一个有限集合,称为签名空间;
K是所有可能密钥的一个有限集合,称为密钥空间;sig是签名算法,是一个映射:ver是验证算法,也是一个映射:53数字签名原理--实现方法实际使用的数字签名通常是基于公钥密码体制的。在签名算法中,签名者用自己的私钥对签名消息进行加密运算;在验证算法中,验证者仅使用签名方的公开信息,即公钥进行解密运算,从而验证签名消息的发送者。从签名算法和验证算法可以看出,基于公钥密码体制的的数字签名本质上是公钥加密算法的逆应用。54基于公钥密码的数字签名实现55基于Hash函数的数字签名实现方法56数字签名原理--分类根据数字签名方案所基于的数学难题基于离散对数问题的签名方案:ElGamal数字签名;DSA数字签名基于大整数因式分解问题的签名方案:RSA数字签名
57数字签名原理--分类根据签名方式的不同:直接数字签名;可仲裁数字签名。
根据签名用户的情况:单个用户的数字签名;多个用户的数字签名(多重数字签名)
58数字签名原理--分类按安全性:可证明安全的数字签名;计算上安全的数字签名。按可签名次数:一次性的数字签名;多次性的数字签名。59数字签名原理--安全性任何一个数字签名系统不可能是无条件安全的。数字签名方案设计的目的是找到一个在计算上安全的,或可证明安全的数字签名方案,它能够抵抗各种攻击者的攻击。60(1)攻击的类型根据攻击者所拥有信息的不同,对数字签名方案的攻击主要有以下3种类型:唯密钥攻击:攻击者拥有签名者的公钥,因而能够计算验证函数ver。已知消息攻击:攻击者拥有签名者用同一密钥对若干不同消息的签名。选择消息攻击:攻击者可自行选择若干消息,请求签名者签名,并得到这些消息的数字签名。61(2)攻击的目的完全破译攻击者能够确定签名者的私钥,因而可以假冒签名者对任何消息产生有效的数字签名。部分破译攻击者不能确定签名者的私钥,但可伪造某些消息的有效签名。它又分为选择性伪造和存在性伪造两种类型。在选择性伪造下,攻击者能以某一不可忽略的概率对另外某个人选择的消息产生一个有效的签名,该消息不是以前曾经签名的消息;存在性伪造指攻击者至少能够为一个消息产生一个有效的签名,该消息不应该是以前曾经签名的消息。62(3)攻击的方法唯密钥攻击的存在性伪造:攻击者拥有签名者的公钥PU,他就可能利用公开的验证算法对一个随机的消息摘要值MD伪造签名s’=verPU(MD),此时,如果Hash函数不是单向的,则攻击者可能找到一个消息m,使MD=h(m),所以攻击者能够成功伪造一个签名(m,s’);为了阻止这种攻击,必须要求Hash函数是单向的。63(3)攻击的方法
已知消息攻击的存在性伪造:假设攻击者有一个有效的数字签名对(m,s),其中s=sigPR(h(m))。他首先计算消息摘要值MD=h(m),如果能够找到消息m’≠m,使得h(m’)=h(m),则(m’,s)就是一个有效的签名对,从而s是消息m’的一个伪造签名;为了阻止这种攻击,必须要求Hash函数h是弱无碰撞的。64(3)攻击的方法
选择消息攻击的存在性伪造攻击者首先找到m’≠m,使得h(m’)=h(m)。然后将消息m发给签名者,签名者对消息m的消息摘要签名,从而得到s=sigPR(h(m))
,所以攻击者可以能够成功伪造签名对(m’,s);为了阻止这种攻击,必须要求Hash函数是强无碰撞的。
65直接数字签名
只认证不保密66直接数字签名先签名后加密67直接数字签名直接数字签名方案的有效性取决于发送方私钥的安全性,这是直接数字签名的一个弱点。如发送方的私钥不慎泄密,那么在该用户发现其私钥泄密并采取补救措施之前,攻击者就有可能伪造数字签名进行欺诈。如因为某种原因发送方在签名后想否认他对某个消息的数字签名,他可以故意声称他的私钥早已泄密,并被盗用伪造了该签名。
为了防止发生这几种情况,一般要求每个被签消息都包含一个时戳,并要求私钥一旦泄密应立刻向管理机构报告,这样能够减少被伪造成功及发送方否认的可能性,但不能完全消除这种威胁。68可仲裁数字签名为了解决直接数字签名体制存在的问题,可以引入一个可信的第三方作为数字签名系统的仲裁者。
通常的做法是发送方A对消息进行数字签名后,将被签消息与生成的数字签名一起发给仲裁者X;仲裁者对消息及其签名进行验证,通过验证后,仲裁者将消息、发送方的数字签名加上时戳后一起发送给接收方B,表明发送方A的数字签名已被仲裁者验证通过,是真实可信的。此时由于仲裁者X的存在,A无法对自己发出的消息给予否认,而且即使发送方A的私钥泄密也不可能伪造泄密之前的数字签名,因为这样的伪造签名不可能通过仲裁者的验证。可仲裁数字签名方式中,仲裁者起着重要的作用并应取得所有用户的信任。69可仲裁数字签名形式对称密码加密,不提供保密性:②X→B:①A→X:如果出现争议,B将存储的关于A及m的内容用kbx加密发给X以证明曾收到过来自A的消息:
B→X:70可仲裁数字签名形式对称密码加密,提供保密性
①A→X:②X→B:仲裁者和发送方合作,可以共同否认发送方曾签名的信息;仲裁者和接收方合作,可以共同伪造发送方的数字签名。存在问题71可仲裁数字签名形式公钥加密,提供保密性
②X→B:①A→X:优点通信之前各方之间无须共享任何信息,从而可防止联合欺诈。只要仲裁者的私钥没有被泄密,任何人包括发送方不能伪造时戳T,因此不能发送重放的消息。消息m对任何第三方(包括X)都是保密的。727.4数字签名方案RSA数字签名方案DSA数字签名方案ECDSA数字签名方案73RSA数字签名方案公钥密码体制应用的第一个数字签名方案,来源于RSA公钥密码。RSA数字签名方案安全性基于大整数因式分解的困难性。74RSA签名方案描述RSA数字签名过程可分为初始过程、签名过程和验证过程三个部分。①任意选取两个大素数p、q,计算n=p×q,计算其欧拉函数值。②任意选取正整数,且。③计算整数,即d是e模的逆。(1)初始过程(即密钥生成)签名者的公钥是{n,e},私钥为d;p、q是秘密参数,需要保密,如不需要保存,计算出e、d后可销毁75RSA签名方案描述(2)签名过程设待签名消息为m∈Zn,签名者利用私钥计算:s就是签名者对消息m的数字签名。76RSA签名方案描述(3)验证过程接收方收到签名(m,s)后,利用公钥计算:如果m’=m,则s是签名者对m的RSA签名,验证通过;否则,签名不正确。证明:
77RSA签名方案的攻击方式(1)伪造签名设合法用户A的RSA公钥为(n,e),攻击者随机选取一个消息y,并用A的公钥计算:然后可以声称y是该合法用户A对消息x的数字签名,发给接收者。由于合法用户A用自己的私钥对消息x进行签名的结果正好就是y,即:仔细设计数据格式或采用基于Hash函数的签名方式可以抵抗这种攻击。
78RSA签名方案的攻击方式(2)骗取用户签名攻击者想伪造消息m的签名,可以将m分解成两个子消息m1和m2,使得:攻击者设法让合法用户A分别对消息m1和m2进行签名,得到攻击者接着计算对抗此类攻击的方法是用户不要对其他人提交的消息直接签名,而是运用Hash函数得到消息的摘要值,再对摘要值进行签名。
79RSA签名方案的攻击方式(3)对先加密后签名方案的攻击签名者A采用先加密后签名的方法把消息m发送给接收者B。设A的模数为na,B的模数为nb。于是A发送给B的签名为:如果B是不诚实的,则B可以抵赖收到A发的消息m,谎称收到的是m1,伪造A对m1的签名。由于nb是B的模数,所以B知道nb的素因子分解,于是能够找到k满足然后,B再宣布他的新公钥为keb,由于:因此B宣布他收到的消息是m1,不是m,算法本身不能识别这种伪造。解决方法:签名者可在发送的数据中加入时戳,从而可证明是用公钥eb对m加密,而不是用新的公钥keb加密的。并且应该对消息的摘要值进行签名,不直接对消息进行签名。80数字签名算法(DSA)数字签名标准(digitalsignaturestandard,DSS),中使用的签名算法称为数字签名算法(digitalsignaturealgorithm,DSA),其安全性基于离散对数问题的难解性。DSA数字签名过程可分为初始过程、签名过程和验证过程三个部分。81(1)初始过程(即系统参数与密钥生成)①系统参数p,q,g,可以供所有用户使用,在系统内公开。
p:一个大素数,满足2L-1<p<2L,其中512≤L≤1024且L是64倍数,即p的比特长度在512到1024间,长度增量为64比特。q:p-1的素因子,满足2159<q<2160,即q的比特长度为160位。g:g=h(p-1)/qmodp
,其中h是一个整数,1<h<(p-1),且满足h(p-1)/qmodp>1
。
②用户随机选取一个整数x为私钥,0<x<q。③用户公钥y,公开。计算y=gxmodp。给定私钥x计算公钥y很容易,但给定y求x却是离散对数问题,目前被认为在计算上是安全的。
签名者的公钥是{p,q,g,y},私钥为x。
82(2)签名过程①对待签消息m,且0<m<p,任选一随机整数k,要求0<k<q。②计算式中h(m)是使用SHA-1函数计算m的消息摘要,则(r,s)就是基于Hash函数的对消息m的数字签名。式中k-1是k模q的乘法逆元,即若计算结果r=0或s=0,则重新选取k,并重新计算产生签名。83(3)验证过程①首先验证是否满足:0<r<q,0<s<q,若不符合,则(r,s)不是签名。③比较v=r是否成立?若成立,则确认签名正确,(r,s)是签名者对m的合法签名。②计算84DSA数字签名算法证明根据上述后三个公式有:再结合签名公式有:因此:85DSA签名算法的安全性DSA的公共参数p—NIST建议p的长度为1024比特。签字过程中,签名者要选取一个秘密参数k,在DSA的应用中,应借助一个好的随机数生成器来产生随机参数k。DSA签名算法共用模数存在一定的潜在威胁。DSA中采用了SHA-1,但目前SHA-1已被证明是不安全的,因此也会导致其签名方案的不安全性。86ECDSA数字签名方案椭圆曲线数字签名方案(ellipticcurvedigitalsignaturealgorithm,ECDSA)是DSA算法在椭圆曲线上的模拟,只是群元素由素域中的元素数换为有限域上椭圆曲线上的点。ECDSA的计算参数更小,密钥更短,运算速度更快,签名也更加短小。尤其适用于处理能力、存储空间、带宽及功耗受限的场合。ECDSA数字签名过程可分为初始过程、签名过程和验证过程三个部分。87(1)参数与密钥生成(初始过程)设Fq是有限域,q是大素数或2的幂,E是Fq上的椭圆曲线,n是大素数,P是E上的一个n阶点,用户随机选择整数d作为自己的私钥,1<d<n,计算相应的公钥Q,Q=dP。签名者的公钥是{q,n,E,P,Q},私钥为d。
88(2)签名过程①随机选择一个整数k,1<k<n-1,计算
kP=(x,y)
②计算
r=xmodn
如果r=0,则返回重新选择k。③计算待签消息的消息摘要值e=h(m)
④计算
s=(k-1(e+dr))modn
对消息m的签名为(r,s)89(3)验证过程①首先验证是否满足:1<r<n-1,1<s<n-1,若不符合,则(r,s)不是签名。②计算签名消息的摘要值
e=h(m)
③计算
u=es-1modnv=rs-1modn
④计算
X=(x1,y1)=uP+vQ如果X=0,表示签名无效;否则: r1=x1modn⑤比较r=r1是否成立?若等式成立,则签名正确,(r,s)是m的合法签名。90ECDSA签名算法证明如果(r,s)是消息m的合法签名,则由因此:所以:可得:91ECDSA签名算法的安全性ECDSA的安全性是基于椭圆曲线离散对数问题的难解性,根据目前的计算能力,基点的阶为大素数时,素数域上的椭圆曲线离散对数问题是不可解的。ECDSA对于选择明文攻击在目前的计算能力上是不可伪造的。927.5特殊的数字签名随着数字签名技术研究的不断深入及电子商务和电子政务的快速发展,一般的数字签名已不能完全满足现实中的应用需要,研究具有特殊性质或特殊功能的数字签名已成为数字签名研究的主要方向。目前人们已经设计出许多不同种类、适用于特定应用场合的数字签名,如盲签名、代理签名和基于身份的数字签名等。93盲签名盲签名是一种特殊的数字签名,签名者并不知道他所签名消息的具体内容,即用户B发送消息m给A,要求A对消息签名,但又不让A知道消息的内容,即签名者A所签的消息是经过加密盲化的,由签名者A的公钥和盲签名可以验证签名的正确性。盲签名在电子投票和数字货币协议中有广泛的应用。94盲签名的特点盲签名不仅保留有数字签名的基本特性,而且还拥有下列特殊性质:盲性:消息的内容对签名者是保密的,签名人看不到消息的内容。不可追踪性:签名者无法把他的盲签名同消息m联系起来,不可能对消息m的拥有者进行追踪。95盲签名的基本实现过程发送方有一个消息m,希望得到签名人对该消息的签名:①在发送消息给签名人之前,发送方将消息盲化,即由消息m计算出盲消息m’,发送m’给签名人,这个过程称为盲化。②签名人对盲消息m’进行签名,得到盲签名s’,发回给发送方。③发送方通过盲签名s’计算出对原始消息m的签名s,这个过程称为去盲。④验证所得到的签名是否正确。任何人(包括发送方)都可以验证签名,消息发送方可以验证所得到的是不是来自签名者的正确签名,其他人也可以验证消息发送方所持有的签名是否来自于真实的签名者。96基于RSA的盲签名方案过程分为三个步骤:初始过程(即参数及密钥生成)签名过程验证过程
97初始过程(即参数及密钥生成)签名者(即选举委员会)选择p、q为大素数,计算n=pq;选取公钥e,要求
计算私钥d选定n,e作为公钥公开,其它参数均保密。98签名过程①盲化:投票人依据选票格式选定候选人(即消息m),再任选一随机数k,计算,将盲化消息m’发给签名者选举委员会。
②签名:选举委员会计算,将盲签名s’发送给投票人。
③去盲:投票人根据盲签名计算,输出消息-签名对(m,s)。
99验证过程已知选举委员会的公钥(n,e)和消息-签名对(m,s),如果满足,则验证者确认是选举委员会的有效签名,选票有效。
证明:100盲签名在盲签名过程中,由于k是投票人任选的随机数,执行了盲化操作,所以选举委员会在签名时并不知道投票人选择情况即对应的消息m;在公布了(m,s)后,选举委员会也无法建立(m,s)和(m’,s’)之间的对应关系,从而实现了匿名投票。任何已知签名者公钥的人都可以对投票人产生的消息-签名对(m,s)进行验证,以确定s是否是选举委员会对选票m的有效签名,即验证选票的有效性。101代理签名在现实世界里,人们经常需要将自己的某些权力委托给可靠的代理人,让代理人代表自己去行使权力,如委托他人代理自己签署文件。代理签名:原始签名者可以将他的数字签名权力委托给另外一个被称为代理签名者的用户,代理签名者可以代表原始签名者对消息进行签名。与其它数字签名一样,代理签名也是可以公开验证的。102代理签名的基本特性不可伪造性。除原始签名者之外,只有获得授权的代理签名者能够代表原始签名者签名,任何其他人都不能生成有效的代理签名。可验证性。验证者可以验证代理签名的有效性,并且根据有效的代理签名确定被签名的文件已经得到原始签名者的认可。可区分性。验证者能够区分代理签名和普通的数字签名,即区分代理签名者的代理签名和原始签名者的签名。不可抵赖性。当代理签名者完成了一个有效的代理签名后,就不能否认他所签的有效代理签名。103代理签名的基本实现过程(1)初始化:选定代理签名方案的系统参数、用户的公钥、私钥等。(2)签名权的委托:原始签名者将自己的数字签名权力委托给代理签名者。(3)代理签名的生成:代理签名者代表原始签名者对消息生成代理签名。(4)代理签名的验证:验证者验证代理签名的有效性。104(1)初始化设p是一个大素数,q是p-1的一个素因子,g∈Zp*是一个q阶生成元,原始签名者的私钥是s∈RZq,对应的公钥是:
105(2)签名权的委托②代理密钥的发送:原始签名者将(σ,K)通过安全信道
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工厂保安工作总结及安全隐患分析
- 水处理厂操作安全与风险控制方案
- 国际会议筹备网格化方案
- 词语理解运用(闯关训练)(解析版) -2025年部编版中考语文一轮复习
- 2024-2025学年高中物理第3章磁场3磁感应强度磁通量学案教科版选修3-1
- 备战2024中考物理一轮复习单元达标全攻略专题19生活用电含解析
- 2024-2025学年高中历史第六单元和平与发展第1课联合国的建立及其作用习题含解析新人教版选修3
- 2024-2025学年高中数学第一章计数原理1.2.2第1课时组合与组合数公式跟踪训练含解析新人教A版选修2-3
- 2024年工程全面承揽合同指南
- 2025届新教材高考政治一轮复习课时规范练37依法有效保护财产权含解析部编版
- 251直线与圆的位置关系(第1课时)(导学案)(原卷版)
- 2024浙江绍兴市人才发展集团第1批招聘4人(第1号)高频难、易错点500题模拟试题附带答案详解
- 幼儿园说课概述-课件
- 冠状动脉介入风险预测评分的临床应用
- 35导数在经济中的应用
- 苏科版(2024新版)七年级上册数学期中学情评估测试卷(含答案)
- 部编版《道德与法治》三年级上册第10课《父母多爱我》教学课件
- 期中模拟检测(1-3单元)2024-2025学年度第一学期西师大版二年级数学
- 气管插管操作规范(完整版)
- 2024-2025学年外研版英语八年级上册期末作文范文
- 四级劳动关系协调员试题库含答案
评论
0/150
提交评论