数字签名与身份认证.ppt
《数字签名与身份认证.ppt》由会员分享,可在线阅读,更多相关《数字签名与身份认证.ppt(42页珍藏版)》请在三一办公上搜索。
1、第四章 数字签名与身份认证,数字签名技术身份认证技术,4.1 数字签名技术,4.1.1 数字签名基本原理数字签名的概念和特点 数据摘要 散列函数对消息处理产生的散列值,也称其为消息的散列值,摘要信息在数字签名中应用过程可以概述为:首先使用某种散列算法,对要发送的数据进行处理,生成数据摘要信息;然后采用公钥密码算法,用私钥加密数据摘要信息 一个签名体制一般包括两个部分 一是发送方的签名部分,对消息M签名,可以记作SSig(K,M),签字算法使用的密钥是秘密的,即是签字者的私钥。二是接收方的认证部分,对签名S的验证可以记作Ver(M,S,K)真,假,认证算法使用的密钥是发送方(即签名者)的公钥。,
2、4.1 数字签名技术,1.数字签名的特点(1)信息是由签名者发送的;(2)信息自签发后到收到为止未曾做过任何修改;(3)如果A否认对信息的签名,可以通过仲裁解决A和B之间的争议(4)数字签名又不同于手写签名:数字签名随文本的变化而变化,手写签字反映某个人个性特征,是不变的;数字签名与文本信息是不可分割的,而用手写签字是附加在文本之后的,与文本信息是分离的。2.数字签名的形式化定义“数字签名”系指在数据电文中,以电子形式所含、所附或在逻辑上与数据电文有联系的数据,和与数据电文有关的任何方法,它可用于数据电文有关的签字持有人和表明此人认可数据电文所含信息。,4.1 数字签名技术,一个签名方案由签署
3、算法与验证算法两部分构成。可用五元关系组(P,A,K,S,y)表示,其中,P是由一切可能消息(messages)所构成的有限集合;A是一切可能的签名的有限集合;K为有限密钥空间,是一些可能密钥的有限集合;任意kK,有签署算法SigkS,Sigk:PA,对任意xP,有s=Sigk(x),那么sS为消息x的签名,将(x,s)发送到签名验证者。对于密钥集合K,有对应的验证算法Verky,满足:Verk:PA真,假 签名者收到(x,s)后,计算Verk(x,y),若y=Sigk(x),则Verk(x,y)=真;若ySigk(x),则Verk(x,y)=假。其中:任意是kK,函数Sigk和Verk都为多
4、项式时间函数。Verk为公开的函数,而Sigk为秘密函数。如果坏人要伪造B对x的签名,在计算上是不可能的。也即,给定x,仅有B能计算出签名y,使得Verk(x,y)=真。一个签名方案不能是五条件安全的,有足够的时间,第三方总能伪造B的签名。,4.1 数字签名技术,3.数字签名的功能(1)身份认证。收方通过发方的电子签名能够确认发方的确切身份,但无法伪造。(2)保密。双方的通信内容高度保密,第三方无从知晓。(3)完整性。通信的内容无法被篡改。(4)不可抵赖。发方一旦将电子签字的信息发出,就不能再否认。数字签名与数据加密完全独立。数据可以只签名或只加密,也可既签名又加密,当然,也可以既不签名也不加
5、密。4.电子签名的法律地位,4.1 数字签名技术,数字签名与手写签名的区别 1.数字签名与手书签名的区别在于,手书签名是模拟的,且因人而异 2.数字签名是0和1的数字串,因消息而异 3.数字签名与消息认证的区别在于,消息认证使收方能验证消息发送者及所发消息内容是否被篡改过 4.当收者和发者之间有利害冲突时,单纯用消息认证技术就无法解决他们之间的纠纷,此时须借助满足前述要求的数字签名技术。5.任何一种产生签名的算法或函数都应当提供这两种信息,而且从公开的信息很难推测出用于产生签名的机密信息 6.任何一种数字签名的实现都有赖于精心设计的通信协议,4.1 数字签名技术,数字签名方案的分类 1.基于数
6、学难题的分类(1)基于离散对数问题的签名方案(2)基于素因子分解问题的签名方案(3)上述两种的结合签名方案 2.基于签名用户的分类(1)单个用户签名的数字签名方案(2)多个用户的数字签名方案。3.基于数字签名所具有特性的分类(1)不具有自动恢复特性的数字签名方案(2)具有消息自动恢复特性的数字签名方案 4.基于数字签名所涉及的通信角色分类(1)直接数字签名(仅涉及通信的源和目的两方)(2)需仲裁的数字签名(除通信双方外,还有仲裁方),4.1 数字签名技术,数字签名使用模式与使用原理 1.数字签名使用模式(1)智慧卡式(2)密码式(3)生物测定式 2.数字签名使用原理 数字签名使用的是发送方的密
7、钥对,发送方用自己的私有密钥进行加密,接收方用发送方的公开密钥进行解密 这是一个一对多的关系:任何拥有发送方公开密钥的人都可以验证数字签名的正确性。而私有密钥的加密解密则使用的是接收方的密钥对,这是多对一的关系:任何知道接收方公开密钥的人都可以向接收方发送加密信息,只有唯一拥有接收方私有密钥的人才能对信息解密。通常一个用户拥有两个密钥对,另一个密钥对用来对数字签名进行加密解密,一个密钥对用来对私有密钥进行加密解密。这种方式提供了更高的安全性。,4.1 数字签名技术,利用散列函数进行数字签名和验证的文件传输过程:(1)发送方首先用哈希函数从原文得到数字摘要,然后采用公开密钥体系用发送方的私有密钥
8、对数字摘要进行签名,并把签名后的数字摘要附加在要发送的原文后面。(2)发送一方选择一个秘密密钥对文件进行加密,并把加密后的文件通过网络传输到接收方。(3)发送方用接收方的公开密钥对秘密密钥进行加密,并通过网络把加密后的秘密密钥传输到接收方。(4)接受方使用自己的私有密钥对密钥信息进行解密,得到秘密密钥的明文。(5)接收方用秘密密钥对文件进行解密,得到经过加密的数字摘要。(6)接收方用发送方的公开密钥对数字签名进行解密,得到数字摘要的明文。(7)接收方用得到的明文和哈希函数重新计算数字摘要,并与解密后的数字摘要进行对比。如果两个数字签名是相同的,说明文件在传输过程中没有被破坏。,4.1 数字签名
9、技术,上述流程:,图41 数字签名过程,4.1 数字签名技术,4.1.2 常规数字签名体制RSA数字签名体制 1.数字签名框图,图42 RSA数字签名框图,4.1 数字签名技术,2.签名过程(1)计算消息的散列值H(M)。(2)用私钥(d,n)加密散列值:s(H(M)d mod n。答名结果就是s。(3)发送消息和签名(M,s)。当然,消息M很短的时候,可以直接对M用私钥加密,可以表达为:sSig(M)Md mod n,签名时使用私钥(d,n)。3.认证过程接收方收到(M,s)之后(1)取得发送方的公钥(e,n)(2)解密签名s:h=se mod n。(3)计算消息的散列值H(M)。(4)比较
10、,如果hH(M),表示签名有效;否则,签名无效。如果消息M很短的时候,可以直接对M用公钥解密以验证签名的有效性,可以表达为:Ver(M,s)真Mse mod n,4.1 数字签名技术,DSS数字签名体制 1.DSS介绍,图43 DSS数字签名体制,4.1 数字签名技术,2.数字签名算法(DSA)(1)DSA算法参数说明 DSA算法中应用了下述参数:P:L bit长的素数。L是64的倍数,范围是5121024;Q:p-1的160bit的素因子;G:g=h(p-1)/q mod p,h满足11;X:1xq,x为私钥;Y:y=gx mod p,(p,q,g,y)为公钥;H(x):单向Hash函数。在
11、DSS中选用安全散列算法(Secure Hash Algorithm,SHA)3。P,q,g:可由一组用户共享,但在实际应用中,使用公开模数可能会带来一定的威胁。,4.1 数字签名技术,(2)签名及验证协议 p产生随机数k,kq。p计算r(gk mod p)mod q 和s(k-1(H(m)+xr)mod q。签名结果是(m,r,s)。验证时,计算w=s-1 mod qu1=(H(m)w)mod qu2=(rw)mod qv=(gu1yu2)mod p)mod q 若v=r,则认为签名有效。,4.1 数字签名技术,DSA的一个重要特点是两个素数公开,这样,当使用别人的p和q时,即使不知道私钥,
12、也能确认它们是否是随机产生的。而RSA算法确做不到。图44描述了DSS的签名和验证函数。,图44 DSS签名和验证,4.1 数字签名技术,椭圆曲线数字签名算法(ECDSA)ECDSA的签名算法 签名的时候,自然有待签署的消息m;全局参数D(q,FR,a,b,G,n,h),还有签名者的公钥私钥对(Q,d)。(1)选择一个随机数k,k 1,n1;(2)计算kG(x1,y1);(3)计算r=xl mod n;如果r=0,则回到步骤(1);(4)计算k-1 mod n;(5)计算e=SHA1(m);(6)计算sk-1(e+dr)mod n,如果s=0,则回到步骤(1);(7)对消息的签名为(r,s);
13、最后签名者就可以把消息m和签名(r,s)发送给接收者。,4.1 数字签名技术,2.ECDSA的认证算法 签名的时候,自然有待签署的消息m;全局参数D(q,FR,a,b,G,n,h),还有签名者的公钥私钥对(Q,d)。当接收者收到消息m和签名(r,s)之后,验证对消息签名的有效性,需要取得这些参数:全局参数D(q,FR,a,b,G,n,h),发送者的公钥Q。(1)检查r、s,要求r、s1,n-1;(2)计算e=SHA1(m);(3)计算ws-1 mod n;(4)计算u1ew mod n;u2=rw mod n;(5)计算XulG十u2Q;(6)如果XO,表示签名无效;否则,X(x1,y1),计
14、算vx1 mod n;(7)如果vr,表示签名有效;否则表示签名无效:,4.1 数字签名技术,4.1.3 特殊数字签名体制不可否认数字签名失败终止数字签名 对每个可能的公开密钥,对应着很多的私有密钥,它们都可以正常工作。而签名者仅仅持有并知道众多私有密钥中的一个;所以强大的攻击者恢复出来的私有密钥,刚好是签名者持有的私有密钥的情况出现概率是非常小的。而不同的私有密钥产生的签名是不相同的,以此可以鉴别出伪造者的签名。盲签名,图45 盲签名原理,4.1 数字签名技术,完全盲签名 签名者在文件上的签名是有效的,签名是其签署文件的证据。如果把文件给签名者看,他可确信他签署过这份文件。但是,签名者不能把
15、签署文件的行为与签署了的文件相关联。即使他记下了他所做的每一个盲签名,他也不能确定他在什么时候签署了该文件。批量签名 批量签名(Batch Signature),是指能够用一次签名动作,完成对若干个不同的消息的签名;并且以后可以对每一条消息独立的进行认证。群签名 1.群签名特点(1)只有团体内的成员才能够代表团体签名;(2)接收到签名的人可以验证该签名是属于某团体的;(3)但是,接收者不知道签名的是该团体中的哪一个成员;(4)在出现争议时,可以由团体的成员或第三方识别出签字者。,4.1 数字签名技术,2.一个简单的群签名协议 该协议使用了一个可信赖的第三方,假设该团体有n个成员,下面简单的描述
16、该协议的步骤:(1)第三方产生nm对密钥(公钥私钥对);然后给每一个成员m对互异的密钥;(2)第三方把nm个公钥用随机的顺序加以公开,作为群体的公钥表;并且第三方记住每个成员对应哪m对密钥:(3)当群体中某个成员签名时,从自己的m个私钥中随机选择一个,进行签名。(4)而验证签名时,用该团体的公钥表进行签名认证即可。(5)当发生争议时,第三方知道密钥对与成员之间的对应关系,所以可以确定出签名者是团体中哪一个成员。当然,上述协议的较大缺陷在于需要个第三方。,4.1 数字签名技术,代理签名 代理签名(Proxy Signature),就是指定某人来代替自己签署,也称为委托签名。代理签名一般应该具有如
17、下特点:(1)可区分性(Distinguish ability),代理签名与某人的通常签名是可以区分的。(2)不可伪造性(Unforge ability),只有原来的签名者和所托付的代理人可以建立合法的代理签名。(3)代理签名的差异(Deviation),代理签名者不可能制造一个合法代理签名,而不被检查出来其是一个代理签名。(4)可证实性(Verifiability),从代理签字中,验证者能够相信原始的签名者认同了这份签名的消息。(5)可识别性(Identifiability),原始签名者可以从代理签字结果中识别出代理签名者的身份。(6)不可抵赖性(Undeniability),代理签名者不能
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字签名 身份 认证

链接地址:https://www.31ppt.com/p-5738297.html