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