数字签名与认证ppt课件.ppt

上传人:小飞机 文档编号:1338123 上传时间:2022-11-11 格式:PPT 页数:46 大小:315KB
返回 下载 相关 举报
数字签名与认证ppt课件.ppt_第1页
第1页 / 共46页
数字签名与认证ppt课件.ppt_第2页
第2页 / 共46页
数字签名与认证ppt课件.ppt_第3页
第3页 / 共46页
数字签名与认证ppt课件.ppt_第4页
第4页 / 共46页
数字签名与认证ppt课件.ppt_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《数字签名与认证ppt课件.ppt》由会员分享,可在线阅读,更多相关《数字签名与认证ppt课件.ppt(46页珍藏版)》请在三一办公上搜索。

1、网络安全(Network Security ),2009年春季 软件学院 研究生课程,第4章 数字签名与认证协议,复习,DES加密机制IP置换16轮迭代IP-1置换子密钥的产生RSA加密机制欧拉定理,这次课的主要内容,数字签名技术直接数字签名(Direct Digital Signatures , DDS)仲裁数字签名(Arbitrated Digital Signatures ,ADS),4.1数字签名,数字签名是认证的重要工具为什么需要数字签名:报文认证用以保护双方之间的数据交换不被第三方侵犯;但它并不保证双方自身的相互欺骗。假定A发送一个认证的信息给B,双方之间的争议可能有多种形式:B伪

2、造一个不同的消息,但声称是从A收到的。A可以否认发过该消息,B无法证明A确实发了该消息。,数字签名是什么,与人们手写签名的作用一样,数字签名系统向通信双方提供服务,使得A向B发送签名的消息P,以便达到B可以验证消息P确实来源于AA以后不能否认发送过PB不能编造或改变消息P,数字签名的特点,必须能够验证签名者及其签名的日期时间;必须能够认证被签名消息的内容;签名必须能够由第三方验证,以解决争议;,注:数字签名功能包含了认证的功能。,BB是A和B共同信赖的仲裁人。KA和KB 分别是A和B与BB之间的密钥KBB是只有BB掌握的密钥,P是A发给B的消息,t是时间戳。,基于共享密钥的签名,A -BB:A

3、, KA(B, RA,t,P) BB-B: KB(A,RA,t,P,KBB(A,t,P)KBB(A,t,P) 由BB产生B可以解密该报文,阅读消息P保留证据KBB(A,t,P) ,A不能否认发送过消息P。B不能解密KBB(A,t,P),无法伪造由于A和B之间的通信是通过中间人BB的,所以不必怀疑对方的身份。BB仲裁时可能会当场解密KBB(A,t,P),得到发送人、发送时间和原来的消息P。,利用公钥加密算法的数字签名系统。如果A方否认了,B可以拿出DA(P),并用A的公钥EA解密得到P,从而证明P 是A发送的。如果B把消息P窜改了,当A要求B出示原来的DA(P)时,B拿不出来。,基于共享密钥以及

4、公钥的签名,两类数字签名函数,直接数字签名仅涉及通信双方有效性依赖发方密钥的安全性仲裁数字签名使用第三方认证,4.1.1直接数字签名,直接数字签名(DDS),(1) AB: EKRaM提供了认证与签名: 只有A具有KRa进行加密; 传输中无法被篡改; 需要某些格式信息/冗余度; 任何第三方可以用KUa 验证签名无法抵赖,无法伪造,(1) AB: EKUbEKRa(M)提供了保密(KUb)、认证与签名(KRa):,(2) AB: M|EKRaH(M) 提供认证及数字签名 - H(M) 受到密码算法的保护; - 只有 A 能够生成 EKRaH(M),(2) AB: EKM|EKRaH(M) 提供保

5、密性、认证和数字签名。,直接数字签名的缺点,验证模式依赖于发送方的保密密钥;发送方要抵赖发送某一消息时,可能会声称其私有密钥丢失或被窃,从而他人伪造了他的签名。通常需要采用与私有密钥安全性相关的行政管理控制手段来制止或至少是削弱这种情况,但威胁在某种程度上依然存在。改进的方式例如可以要求被签名的信息包含一个时间戳(日期与时间),并要求将已暴露的密钥报告给一个授权中心。如X的私有密钥确实在时间T被窃取,敌方可以伪造X的签名并附上早于或等于时间T的时间戳。,4.1.2仲裁数字签名,仲裁数字签名,引入仲裁者。通常的做法是所有从发送方X到接收方Y的签名消息首先送到仲裁者A,A将消息及其签名进行一系列测

6、试,以检查其来源和内容,然后将消息加上日期并与已被仲裁者验证通过的指示一起发给Y。仲裁者在这一类签名模式中扮演敏感和关键的角色。所有的参与者必须相信这一仲裁机制工作正常。(trusted system),仲裁数字签名技术(1),单密钥加密方式,仲裁者可以看见消息(1) XA:M|EKxaIDx| H(M)(2) AY:EKayIDx| M | EKxaIDx| H(M) | TX与A之间共享密钥Kxa,Y与A之间共享密钥Kay签名过程:X:准备消息M,计算其Hash值H(M),用X的标识符IDx 和Hash值构成签名,并将消息及签名经Kxa加密后发送给A;A:解密签名,用H(M)验证消息M,然

7、后将IDx,M,签名,和时间戳一起经Kay加密后发送给Y;Y:解密A发来的信息,并可将M和签名保存起来。解决纠纷: Y:向A发送 EKayIDx| M | EKxaIDx| H(M) A:用Kay恢复IDx,M,和签名( EKxaIDx| H(M)),然后用Kxa解密签名并验证Hash值.,仲裁数字签名技术(2),单密钥加密方式,仲裁者不可以看见消息(1) XA: IDx | EKxyM|EKxaIDx| H(EKxyM)(2) AY:EKayIDx|EKxyM | EKxaIDx| H(EKxyM) | TX与Y之间共享密钥Kxy,X:将标识符IDx ,密文 EKxyM,以及对IDx和密文消

8、息的散列码用Kxa加密后形成签名发送给A。A:解密签名,用散列码验证消息,这时A只能验证消息的密文而不能读取其内容。然后A将来自X的所有信息加上时间戳并用Kay加密后发送给Y。,(1)和(2) 存在的问题:A和发送方联手可以否认签名的信息;A和接收方联手可以伪造发送方的签名;在这种模式下Y不能直接验证X的签名,Y认为A的消息已认证,只因为它来自A。因此,双方都需要高度相信A: X必须信任A没有暴露Kxa,并且没有生成错误的签名EKxaIDx| H(M) 。 Y必须信任A仅当散列值正确并且签名确实是X产生的情况下才发送的 EKayIDx| M | EKxaIDx| H(M) | T 。双方都必须

9、信任A处理争议是公正的。只要A遵循上述要求,则X相信没有人可以伪造其签名;Y相信X不能否认其签名。上述情况还隐含着A可以看到X给Y的所有信息,因而所有的窃听者也能看到。,仲裁数字签名技术(3),双密钥加密方式,仲裁者不可以看见消息(1) XA: IDx|EKRxIDx|EKUy(EKRxM)(2) AY: EKRaIDx| EKUyEKRxM | T X:对消息M双重加密:首先用X的私有密钥KRx,然后用Y的公开密钥KUy。形成一个签名的、保密的消息。然后将该信息以及X的标识符一起用KRx签名后与IDx 一起发送给A。这种内部、双重加密的消息对A以及对除Y以外的其它人都是安全的。,A:检查X的

10、公开/私有密钥对是否仍然有效,如果是,则认证消息。并将包含IDx、双重加密的消息和时间戳构成的消息用KRa签名后发送给Y本模式比上述两个模式具有以下好处:1、在通信之前各方之间无须共享任何信息,从而避免了联手作弊;2、即使KRx暴露,只要KRa未暴露,不会有错误标定日期的消息被发送;3、从X发送给Y的消息的内容对A和任何其他人是保密的。,4. 2 签名方案,1. 密钥的生成(同加密系统) 公钥Pk=e,n;私钥Sk=d,n。2. 签名过程 (用d,n)明文:Mn 密文:S=Md(mod n).3. 验证过程 (用e,n) 给定M,S,Ver(M,S)为真,当且仅当M=Se(mod n),1.

11、RSA签名方案,2. EIGamal签名方案,该方案是专门为签名的目的而设计的。1985年提出,很大程度上是Diffie-Hellman密钥交换算法的推广和变形。这个方案的改进已被美国NIST(国家标准和技术研究所)采纳作为数字签名标准。方案的安全性依赖于求离散对数的困难性。,DSS (Digital Signature Standard)签名标准是1991年8月由美国NIST公布,1994年5月19日的正式公布,并于1994年12月1日采纳为美国联帮信息处理标准。DSS为EIGamal和Schnorr签名方案的改进,其使用的算法记为DSA(Digital Signature Algorith

12、m)。此算法由D. W. Kravitz设计。DSS使用了SHA,安全性是基于求离散对数的困难性。,3. 数字签名标准(DSA),全局公钥(p,q,g)p为5121024bit的大素数,q是(p1)的素因子,为160比特的素数,g:=h(p-1)/q mod p, 且11用户私钥x:x为0 xq内的随机数用户公钥y:y=gx mod p,用户每个消息用的秘密随机数k:0kq;签名过程:对报文M,签名为(r,s)r = (gk mod p) mod qs = (k-1(H(M) + xr) ) mod q验证:w (s)-1 mod q a = ( H(M)w ) mod q b = rw mo

13、d qv = ( ( ga yb) mod p) mod qVer(M,r,s) 真 iff v = r,签名过程P284,4. 其它签名技术,不可否认签名Chaum和Van Antwerprn 1989年提出该签名的特征是:验证签名者必须与签名者合作。验证签名是通过询问-应答协议来完成。这个协议可防止签名者Bob否认他以前做的签名一个不可否认的签名方案有三个部分组成:签名算法、验证协议、否认协议不可否认的签名的本质是无签名者合作不能验证签名,从而防止复制和散布其签名文件的可能,适应于电子出版系统知识产权的保护。,盲签名Chaum在1983年提出。需要某人对文件签名,但又不想签名者知道文件内容

14、,称为盲签名。适应于电子选举、数字货币协议中。群签名群签名是群体密码学中的课题,1991由Chaum和van Heyst提出。特点:1 只有群体成员才能代表群体签名;2 可用公钥验证签名,但不知是谁签的名;3 争议发生时可由群体成员或可信第三方确认签名者。,4. 4认证协议,相互认证 (mutual authentication)单向认证 (one-way authentication),4.4.1 相互认证协议,最常用的协议,该协议使得通信双方互相确认对方的身份,然后交换会话密钥。基于认证的密钥交换核心问题有两个:保密性为了防止伪装和防止暴露会话密钥,基本认证与会话密码信息必须以保密形式通信

15、。这就要求预先存在保密或公开密钥供实现加密使用。时效性涉及防止消息重放攻击。,最坏情况下可能导致向敌人暴露会话密钥,或成功地冒充其他人;至少也可以干扰系统的正常运行,处理不好将导致系统瘫痪。,常见的消息重放攻击形式:1、简单重放:攻击者简单复制一条消息,以后在重新发送它;2、可被日志记录的重放:攻击者可以在一个合法有效的时间窗内重放一个带时间戳的消息;3、不能被检测到的重放:这种情况可能出现,原因是原始信息已经被拦截,无法到达目的地,而只有重放的信息到达目的地。4、反向重放,不做修改。向消息发送者重放。当采用传统对称加密方式时,这种攻击是可能的。因为消息发送者不能简单地识别发送的消息和收到的消

16、息在内容上的区别。,1重放攻击,两种更为一般的方法是:1、时间戳:A接受一个新消息仅当该消息包含一个时间戳,该时间戳在A看来,是足够接近A所知道的当前时间;这种方法要求不同参与者之间的时钟需要同步。2、挑战/应答方式。(Challenge/Response)A期望从B获得一个新消息,首先发给B一个临时值(challenge),并要求后续从B收到的消息(response)包含正确的这个临时值。,对付重放攻击的一种方法是在认证交换中使用一个序列号来给每一个消息报文编号。仅当收到的消息序数顺序合法时才接受之。但这种方法的困难是要求双方必须保持上次消息的序号。,时间戳方法似乎不能用于面向连接的应用,因

17、为该技术固有的困难:某些协议需要在各种处理器时钟中维持同步。该协议必须既要容错以对付网络出错,又要安全以对付重放攻击。由于某一方的时钟机制故障可能导致临时失去同步,这将增大攻击成功的机会。由于变化的和不可预见的网络延迟的本性,不能期望分布式时钟保持精确的同步。因此,任何基于时间戳的过程必须采用时间窗的方式来处理:一方面时间窗应足够大以包容网络延迟,另一方面时间窗应足够小以最大限度地减小遭受攻击的机会。,挑战问/应答方法不适应非连接性的应用,因为它要求在传输开始之前先有握手的额外开销,这就抵消了无连接通信的主要特点。 安全的时间服务器用以实现时钟同步可能是最好的方法。LAM92b,1、A KDC

18、:IDA|IDB|N12、KDC A:EKaKs|IDB|N1|EKbKs|IDA3、A B: EKbKs|IDA4、B A: EKsN25、A B: EKsf(N2),保密密钥Ka和Kb分别是A和KDC、B和KDC之间共享的密钥。本协议的目的就是要安全地分发一个会话密钥Ks给A和B。,A在第2步安全地得到了一个新的会话密钥,第3步只能由B解密、并理解。第4步表明B已知道Ks了。第5步表明B相信A知道Ks并且消息不是伪造的。第4,5步目的是为了防止某种类型的重放攻击。特别是,如果敌方能够在第3步捕获该消息,并重放之,这将在某种程度上干扰破坏B方的运行操作。,Needham/Schroeder

19、Protocol 1978,对称加密相互认证,漏洞:假定攻击方C已经掌握A和B之间通信的一个老的会话密钥。C可以在第3步冒充A利用老的会话密钥欺骗B。除非B记住所有以前使用的与A通信的会话密钥,否则B无法判断这是一个重放攻击。如果C可以中途截获第4步的握手信息,则可以冒充A在第5步响应。从这一点起,C就可以向B发送伪造的消息而对B来说认为是用认证的会话密钥与A进行的正常通信。,Denning Protocol 1982 改进(加入时间戳):,1、A KDC:IDA|IDB2、KDC A:EKaKs|IDB|T|EKbKs|IDA|T3、A B: EKbKs|IDA|T4、B A: EKsN15

20、、A B: EKsf(N1),| Clock - T | t1 + t2 其中: t1 是KDC时钟与本地时钟(A或B)之间差异的估计值; t2 是预期的网络延迟时间。,Denning Protocol 比 Needham/Schroeder Protocol在安全性方面增强了一步。然而,又提出新的问题:即必须依靠各时钟均可通过网络同步。,如果发送者的时钟比接收者的时钟要快,攻击者就可以从发送者窃听消息,并在以后当时间戳对接收者来说成为当前时重放给接收者。这种重放将会得到意想不到的后果。(称为抑制重放攻击)。Gong92,一种克服抑制重放攻击的方法是强制各方定期检查自己的时钟是否与KDC的时钟

21、同步。,另一种避免同步开销的方法是采用临时数握手协议。,NEUM93a,1、A B: IDA|Na2、B KDC: IDB|Nb | EKbIDA | Na | Tb3、KDC A: EKaIDB|Na |Ks| Tb | EKbIDA | Ks | Tb | Nb4、A B: EKbIDA | Ks | Tb | EKs Nb ,一个使用时间戳的方法是:,1、A AS:IDA|IDB2、AS A:EKRasIDA|KUa|T |EKRasIDB|KUb|T 3、A B: EKRasIDA|KUa|T|EKRasIDB |KUb|T|EKUbEKRa Ks|T注意:AS向A发送的消息相当于“证

22、书”。,公钥加密方法,一个基于临时值握手协议:WOO92a,1、A KDC:IDA|IDB2、KDC A:EKRauthIDB |KUb 3、A B: EKUbNa |IDA4、B KDC: IDB|IDA | EKUauthNa 5、KDC B: EKRauthIDA |KUa| EKUbEKRauth Na|Ks|IDB6、B A: EKUaEKRauth Na |Ks | IDB|Nb7、 A B: EKsNb,一个基于临时值握手协议:WOO92b,1、A KDC:IDA|IDB2、KDC A:EKRauthIDB |KUb 3、A B: EKUbNa |IDA4、B KDC: IDB|

23、IDA | EKUauthNa 5、KDC B: EKRauthIDA |KUa| EKUbEKRauth Na|Ks|IDA|IDB6、B A: EKUaEKRauth Na |Ks |IDA | IDB|Nb7、 A B: EKsNb,E-mail信封明文消息密文收发双方不同时在线要求具有认证,4.4.单向认证协议,1、A KDC:IDA|IDB| N12、KDC A:EKaKs | IDB | N1 | EKb Ks | IDA 3、A B: EKb Ks | IDA | EKsM,1传统加密方法,1、 A B:EKUbKs | EKsM 保密性,2、 A B:M | EKRaH(M) 真实性,3、 A B:EKUb M | EKRaH(M)防止假冒,4、 A B: M | EKRaH(M) | EKRas T | IDA |KUa 证书,2若干公钥加密方法,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号