《数字签名与鉴别协议最新课件》由会员分享,可在线阅读,更多相关《数字签名与鉴别协议最新课件(20页珍藏版)》请在金锄头文库上搜索。
1、第十章第十章 数字签名与鉴别协议数字签名与鉴别协议10.1 数字签名原理数字签名原理10.2 鉴别协议鉴别协议10.3 数字签名标准数字签名标准本章重点和复习要点本章重点和复习要点数字签名与鉴别协议 最新本章重点和复习要点本章重点和复习要点n通信方通信方A、B的主密钥如何进行安全分配;通信的主密钥如何进行安全分配;通信方方A和和B共享的对话密钥如何进行安全分配共享的对话密钥如何进行安全分配nD-H中有无中有无KDC?D-H是对称加密算法还是公是对称加密算法还是公开加密算法?开加密算法?K是对称加密密钥还是公开加密是对称加密密钥还是公开加密密钥?该方案有无鉴别通信双方的功能,所以密钥?该方案有无
2、鉴别通信双方的功能,所以容易遭受什么攻击?容易遭受什么攻击?nN-S算法有无算法有无KDC?它是一个对称加密算法还?它是一个对称加密算法还是公开加密算法?是公开加密算法?KS是对称加密密钥还是公开是对称加密密钥还是公开加密密钥?加密密钥?nN-S的密钥分配和相互鉴别过程的密钥分配和相互鉴别过程n为什么说为什么说CA相对相对KDC来说不容易形成瓶颈?来说不容易形成瓶颈?返回首页返回首页数字签名与鉴别协议 最新10.1 数字签名原理数字签名原理 当通信双方发生了下列情况时,数字签名技当通信双方发生了下列情况时,数字签名技术必须能够解决引发的争端:术必须能够解决引发的争端: 否认,发送方不承认自己发
3、送过某一报文。否认,发送方不承认自己发送过某一报文。 伪伪造造,接接收收方方自自己己伪伪造造一一份份报报文文,并并声声称称它它来来自发送方。自发送方。 冒冒充充,网网络络上上的的某某个个用用户户冒冒充充另另一一个个用用户户接接收收或发送报文。或发送报文。 篡改,接收方对收到的信息进行篡改。篡改,接收方对收到的信息进行篡改。返回首页返回首页数字签名与鉴别协议 最新10.1.1-2 数字签名原理和流程数字签名原理和流程 公开密钥算法对信息直接加密(作为数字签公开密钥算法对信息直接加密(作为数字签名)非常耗时,因此:名)非常耗时,因此:1)首首先先生生成成一一个个代代表表你你的的报报文文的的简简短短
4、的的、独独特特的的报文摘要报文摘要;2)其其次次用用发发送送方方的的私私钥钥加加密密这这个个摘摘要要,作作为为发发送方对该报文的送方对该报文的数字签名数字签名。数字签名与鉴别协议 最新数字签名流程:数字签名流程:(1) 采用散列算法对原始报文进行运算,得到一采用散列算法对原始报文进行运算,得到一个固定长度的数字串,称为报文摘要个固定长度的数字串,称为报文摘要(Message Digest),保证了报文的不可更改性。保证了报文的不可更改性。(2) 发发送送方方用用目目己己的的私私有有密密钥钥对对摘摘要要进进行行加加密密来来形成数字签名。形成数字签名。(3) 这这个个数数字字签签名名将将作作为为报
5、报文文的的附附件件和和报报文文一一起起发送给接收方。发送给接收方。数字签名与鉴别协议 最新 (4) 接接收收方方首首先先对对接接收收到到的的原原始始报报文文用用同同样样的的算算法计算出新的报文摘要,法计算出新的报文摘要, 再再用用发发送送方方的的公公开开密密钥钥对对报报文文附附件件的的数数字字签签名进行解密,名进行解密, 比比较较两两个个报报文文摘摘要要,如如果果值值相相同同,接接收收方方就就能能确确认认该该数数字字签签名名是是发发送送方方的的,否否则则就就认认为为收到的报文是伪造的或者中途被篡改。收到的报文是伪造的或者中途被篡改。数字签名与鉴别协议 最新10.2 鉴别协议鉴别协议10.2.1
6、 报文鉴别报文鉴别1)一种方法是发送方用自己的私钥对报文)一种方法是发送方用自己的私钥对报文签名签名,签名足以使任何人相信报文是可信的。签名足以使任何人相信报文是可信的。2)另一种方法)另一种方法常规加密算法也提供了鉴别常规加密算法也提供了鉴别。但。但有两个问题,一是不容易进行常规密钥的分有两个问题,一是不容易进行常规密钥的分发,二是接收方没有办法使第三方相信该报发,二是接收方没有办法使第三方相信该报文就是从发送方送来的,而不是接收方自己文就是从发送方送来的,而不是接收方自己伪造的。伪造的。返回首页返回首页数字签名与鉴别协议 最新数字签名与鉴别协议 最新10.2.2 相互鉴别相互鉴别 利用常规
7、加密方法进行相互鉴别不得不从利用常规加密方法进行相互鉴别不得不从NeedhamSchroeder协议谈起,它采用了协议谈起,它采用了常规常规加密体制和密钥分配中心加密体制和密钥分配中心KDC技术技术。 尽管这个协议本身存在一定的安全漏洞,但尽管这个协议本身存在一定的安全漏洞,但是后来发展的很多鉴别协议都是在是后来发展的很多鉴别协议都是在NeedhamSchroeder协议的基础上扩展而成的。协议的基础上扩展而成的。 数字签名与鉴别协议 最新数字签名与鉴别协议 最新1)在该协议中,通信各方与)在该协议中,通信各方与KDC共享一个共享一个主密钥主密钥,它已通过其他安全渠道传送完成。它已通过其他安全
8、渠道传送完成。2)KDC为通信的双方产生短期通信所需的为通信的双方产生短期通信所需的会话密会话密钥钥,并通过主密钥来保护这些密钥的分发。,并通过主密钥来保护这些密钥的分发。 NeedhamSchroeder协议步骤:协议步骤:(1)AKDC:(IDa,IDb,Ra)。 通信方通信方A将由自己的名字将由自己的名字IDa,通信方通信方B的名字的名字IDb和随机数和随机数Ra组成的报文传给组成的报文传给KDC。数字签名与鉴别协议 最新(2)KDCA: EKa(Ra, IDb, Ks, EKb(Ks, IDa)。 KDC产生一随机会话密钥产生一随机会话密钥Ks ,用,用Kb对对Ks和通信和通信方方A名
9、字加密。然后用名字加密。然后用Ka对通信方对通信方A的随机值、通的随机值、通信方信方B的名字、会话密钥的名字、会话密钥Ks和已加密的报文进行加和已加密的报文进行加密,最后将它传送给通信方密,最后将它传送给通信方A。(3)AB: EKb(Ks, IDa)。 通信方通信方A将报文解密并提取将报文解密并提取Ks。他确认。他确认Ra与他与他在第在第(1)步中发送给步中发送给KDC的一样。然后他将的一样。然后他将KDC用用Kb加密的报文转发给通信方加密的报文转发给通信方B。数字签名与鉴别协议 最新(4)BA: EKs(Rb)。 通信方通信方B对报文解密并提取对报文解密并提取Ks,然后产生另一随然后产生另
10、一随机数机数Rb。他使用。他使用Ks加密它并发送给通信方加密它并发送给通信方A。(5)AB: EKs(Rb-1)。 通信方通信方A用用Ks将报文解密,产生将报文解密,产生Rb-1并用并用Ks对它对它加密,然后将报文发回给通信方加密,然后将报文发回给通信方B。(6)通信方通信方B用用Ks对信息解密对信息解密,并验证它是,并验证它是Rb-1。 会话密钥分配和双向认证会话密钥分配和双向认证数字签名与鉴别协议 最新 尽管尽管NeedhamSchroeder协议已经考虑了重放协议已经考虑了重放攻击,但是设计一个完美的没有漏洞的鉴别协议往攻击,但是设计一个完美的没有漏洞的鉴别协议往往是很困难的。往是很困难
11、的。 让我们考虑一下这种情况:如果一个对手已经获让我们考虑一下这种情况:如果一个对手已经获得了一个旧的会话密钥,那么在第得了一个旧的会话密钥,那么在第(3)步中就可冒充步中就可冒充通信方通信方A向通信方向通信方B发送一个旧密钥的重放报文,而发送一个旧密钥的重放报文,而此时通信方此时通信方B无法确定这是一个报文的重放无法确定这是一个报文的重放数字签名与鉴别协议 最新 Denning对对Needhamschroeder协议进行了修协议进行了修改,防止这种情况下的重放攻击,其过程如下:改,防止这种情况下的重放攻击,其过程如下:(1)AKDC:(IDa,IDb)。)。(2)KDCA: EKa(T, I
12、Db, Ks, EKb(T, Ks, IDa)。(3)AB: EKb(T, Ks, IDa)。(4)BA: EKs(Rb)。(5)AB: EKs(Rb-1)。 时间戳时间戳T向向A和和B确保该会话密钥是刚产生的。确保该会话密钥是刚产生的。数字签名与鉴别协议 最新10.2.3 单向鉴别单向鉴别 第一个需求是电子邮件报文的首部必须是明第一个需求是电子邮件报文的首部必须是明文的,以便报文能被文的,以便报文能被SMTP处理,而邮件报文内处理,而邮件报文内容应该加密。容应该加密。 第二个需求是鉴别。典型的是,收方想得到第二个需求是鉴别。典型的是,收方想得到某种保证,即该报文确实是来自被认为的发方。某种保
13、证,即该报文确实是来自被认为的发方。 数字签名与鉴别协议 最新基于常规加密方法的方案实现鉴别:基于常规加密方法的方案实现鉴别:(1)AKDC:(IDa,IDb, Ra)。)。(2)KDCA: EKa(IDb, Ks, Ra, EKb(Ks, Da)。(3)AB: EKb(Ks, IDa) EKs(M)。1)这个方案会遭到重放攻击。)这个方案会遭到重放攻击。2)如如果果在在报报文文中中加加入入时时间间戳戳,由由于于电电子子邮邮件件潜潜在的时延,时间戳的作用非常有限。在的时延,时间戳的作用非常有限。 数字签名与鉴别协议 最新 公开密钥加密方法适合电子邮件,如果发方公开密钥加密方法适合电子邮件,如果
14、发方和收方都知道对方的公开密钥,则可以同时提和收方都知道对方的公开密钥,则可以同时提供机密性和鉴别。供机密性和鉴别。 AB: EKUb ( M, EKRa ( H( M ) ) ) AB: EKUb (Ks),EKs ( M, EKRa ( H( M ) ) )数字签名与鉴别协议 最新10.3 数字签名标准数字签名标准 目前已有大量的数字签名算法,如目前已有大量的数字签名算法,如RSA数字签数字签名算法、名算法、EIGamal数字签名算法、椭圆曲线数字数字签名算法、椭圆曲线数字签名算法等。签名算法等。 美国的数字签名标准美国的数字签名标准/算法算法(DSS/DSA) 美国国家标准技术学会美国国
15、家标准技术学会(NIST)的一个标淮,它的一个标淮,它是是ElGamal数字签名算法的一个修改。数字签名算法的一个修改。 当选择当选择p为为512比特的素数时,比特的素数时,ElGamal数字签数字签名的尺寸是名的尺寸是1024比特;而在比特;而在DSA中通过选择一个中通过选择一个160比特的素数可将签名的尺寸降低为比特的素数可将签名的尺寸降低为320比特。比特。 返回首页返回首页数字签名与鉴别协议 最新 安全散列标准安全散列标准/算法(算法(SHS/SHA) DSS签名使用签名使用FIPS80-1和安全和安全hash标淮标淮(SHS)产产生和核实数字签名。许多加密者认为生和核实数字签名。许多加密者认为SHS所指定的所指定的安全散列算法安全散列算法(SHA)是最强劲的散列算法。是最强劲的散列算法。 DSS的安全性表现在如下的几个方面:的安全性表现在如下的几个方面:1) 对报文的签名不会引起私有密钥的泄漏。对报文的签名不会引起私有密钥的泄漏。2) 若不知私有密钥,没有人能够对给定的报文产生若不知私有密钥,没有人能够对给定的报文产生签名。签名。3) 没有人能够产生匹配给定签名的报文。没有人能够产生匹配给定签名的报文。4) 没有人能够修改报文并使原有的签名依然有效。没有人能够修改报文并使原有的签名依然有效。数字签名与鉴别协议 最新