《第十七讲密钥建立技术.ppt》由会员分享,可在线阅读,更多相关《第十七讲密钥建立技术.ppt(47页珍藏版)》请在三一办公上搜索。
1、第十七讲 密钥建立技术,密钥建立是两个或多个实体建立一个共享密钥的过程。这个密钥可能用在后续的各种操作之中以实现密码功能,例如,机密性或数据完整性。,理想状况是,网上密钥建立应该和面对面建立密钥有完全相同的特性,例如,密钥应该仅由明确定义的实体共享,密钥应该在密钥空间上随机分布,并且没有任何非授权实体(在现有计算能力下)可以掌握密钥的任何信息。,密钥建立协议有多种形式。在密钥传输协议中,密钥为一个实体产生并安全的传输给另一个实体,而在密钥协商协议中,双方都提供信息共同产生共享密钥。在对称协议中,要求建立密钥的双方事先拥有一个共同的秘密信息,而在非对称协议中,只要求双方共享一个公开但经过认证的信
2、息。,本讲提要,动机 密钥预先分配 密钥分配 密钥协商协议 Kerberos 公钥基础设施(PKI),1 动机,密钥建立协议将产生共享密钥,也称为会话密钥。产生会话密钥的目的包括:(1)限制使用固定密钥的密文数量以阻止攻击。(2)限制由意外泄露会话密钥而造成的相关保密数据的暴露数量。(3)避免长期存储大量不同的秘密密钥(在一个实体可能与大量其他实体通信的情况下),而仅在实际需要时建立密钥。(4)产生不同通信会话和应用的相互独立性。,2 密钥预先分配,2.1 简单版本的缺陷(1)事先需要双方Alice和Bob见面或通过安全信道建立密钥。(2)一旦Alice和Bob见面并交换了信息,则密钥如果在某
3、些情况下泄露,唯一的解决办法就是再次会面交换信息。,2.2 Blom密钥预先分配方案 为了克服这些缺点,我们需要一个可信权威,称之为Trent。假定Trent可以和每一个实体建立一条安全信道。因此,如果Trent负责n个实体,每个实体将接受并存储n-1个密钥,而Trent必须安全的发送n(n-1)/2个密钥。一个减少可信权威发送消息数量的方法就是Blom密钥预先分配方案。,2.2 Blom密钥预先分配方案(续),2.2 Blom密钥预先分配方案(续),2.2 Blom密钥预先分配方案(续),2.2 Blom密钥预先分配方案(续),3 密钥分配,Shamir的无密钥算法是一个密钥传输协议,它允许
4、在公共信道上建立密钥。每一方只要掌握自己的秘密。在下面的实例中,将说明Alice通过这一协议传输一个自己产生的密钥给Bob。,评述.(1)协议的安全依赖离散对数问题的困难性。(2)协议没有提供认证。,4 密钥协商协议,密钥协商是一类双方Alice和Bob通过交换消息来建立密钥的方法,而每一方都以交换消息的函数计算得到密钥。事实表明密钥协商协议最好同时提供对密钥的认证服务。,4.1 Diffie-Hellman密钥协商,4.1 Diffie-Hellman密钥协商(续),4.2 中间人攻击 4.2.1 国际象棋大师问题 Eve最近刚刚认识了国际象棋的棋子,就声称可以同时和两位国际象棋大师对战并保
5、证至少赢一场或平两场。,4.2.2 中间人攻击Diffie-Hellman 密钥协商,讨论.当Alice发送一条由密钥KOA加密的消息给Bob,Bob能使用密钥 KOB解密得到消息。Bob没有理由认为通信不安全。,4.2.2 中间人攻击Diffie-Hellman 密钥协商(续),4.3 站对站(STS)协议 为了阻止中间人攻击,我们希望在形成密钥的过程中同时认证Alice和Bob的身份。能够做到这一点的协议通常称为认证密钥协商协议。标准的解决方案是在协议中使用签名。,4.3 站对站(STS)协议(续),4.3 站对站(STS)协议(续),4.3 站对站(STS)协议(续),4.4 密钥协商协
6、议的安全特性(1)已知密钥安全。每次对密钥协商协议的运行都产生一个唯一的秘密密钥。这些密钥希望可以限制进行密码分析所能得到的数据数量,也希望能够限制密钥泄露带来的秘密数据泄露数量。协议应该达到这一安全目标即使攻击者已经掌握了一些之前的会话密钥。,(2)前项安全。如果一个或多个实体的长期秘密密钥泄露,以前由诚实实体建立的会话密钥不受影响。有时我们区分一个实体长期秘密密钥泄露(半前项秘密)和参与双方实体长期秘密密钥泄露(全前项秘密)两种情况。,4.4 密钥协商协议的安全特性(续),(3)密钥泄露冒充。假定Alice的长期秘密密钥泄露。很明显,攻击者知道这个密钥可以冒充Alice,因为其确切掌握标定
7、Alice身份的数据。但是,在某些情况下,我们希望这一泄露不能够让攻击者冒充其他实体欺骗Alice。,4.4 密钥协商协议的安全特性(续),(4)未知共享密钥攻击。实体Alice结束协议执行后相信她与Bob共享密钥,虽然这是实际情况,但是Bob却错误的认为他与实体 Eve Alice共享密钥。,4.4 密钥协商协议的安全特性(续),5 Kerberos,Kerberos是现实中执行的对称密码协议。它的目的是在网络中为用户提供一个高安全强度的认证和安全的密钥交换功能。Kerberos来源于 M.I.T.的大型研发计划Athena计划。,Athena的目的是在M.I.T.将计算机工作站形成的大型网
8、络集成到大学学生的课程之中,以允许学生在网上的任何地方自如的访问他们的文件。Kerberos基于客户端/服务器结构。一个客户可以是一个用户也可以是某个完成特定任务的软件程序。服务器是大型实体,功能是向客户提供各种服务。,基本Kerberos模型有如下参与者 Cliff:一个客户 Serge:一个服务器 Trent:一个信任权威 Grant:一个授予许可证的服务器,Trent,Grant,Cliff,Serge,6 公钥基础设施(PKI),除非对密钥产生的认证性和合法性有足够的信任,否则公钥密码的优势就十分有限。公钥基础设施或简称PKI是一个框架。这个框架主要由一组策略组成。策略确切定义了关于密
9、码系统运行和密钥产生和发布与证书的规则。,6.1 X.509 X.509是设计用来在大型计算机网络中提供目录认证服务的国际标准。由于它本身是ISO/ITU 的一个标准,很多实用产品都基于它开发出来。例如,X.509被用在Visa和Mastercard的安全电子交易标准中。,6.1 X.509(续),6.1 X.509(续),公钥证书的产生 情况1:可信方产生密钥对。可信方为实体产生公钥算法的密钥对,并将公开密钥和绑定身份的公钥证书通过公共信道发给该实体。实体在证明了自己的身份(例如,出示身份证或个人可信照片)后,将通过安全信道得到对应的秘密密钥。,6.1 X.509(续),公钥证书的产生(续)
10、情况2:实体产生自己的密钥对。实体产生自己的公钥算法的密钥对,并安全的将公开密钥传送给可信方(例如,通过可信通道或派人送达),这里主要是保证公开密钥的真实性。在验证了公开密钥来源的真实性后,可信方为公开密钥生成证书。,6.1 X.509(续),证书链和证书路径,6.1 X.509(续),6.2 PGP信任网 PGP,是Pretty Good Privacy的缩写。PGP最初是Zimmerman设计的用来加密和签名电子邮件消息的程序。每个用户都维护一个由与其电子邮件往来的用户的公开密钥组成的密钥环。,信任关系 完全信任:A完全相信 B,并将相信任何使用B的密钥签名的任何密钥。部分信任:A部分相信B 但不全部相信他。在A相信B密钥签的密钥之前,她需要这个密钥有其他实体的签名。不信任:A完全不相信B,因此,不相信来自B的任何密钥的证书。不了解:A不能确定是否应该相信B。,6.2 PGP信任网(续),基本思想 PGP的基本依据是如果有足够多的对某个实体的公开密钥签名,就应该相信公开密钥的真实性,因为毕竟不可能所有的签名者都是坏人。,6.2 PGP信任网(续),谢谢!,