12-密码学基础05-密钥交换.pptx

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

密码学基础05

密钥交换;学习密钥交换算法

理解密钥管理的概念;Diffie-Hellman密钥交换

单密钥加密体制的密钥分配

公钥加密体制的密钥管理;公钥的分配方法:公开发布、公用目录表、公钥管理机构、公钥证书

公钥分配完成后,用户就可以使用公钥体制进行保密通信。但是公钥加密速度慢,进行通信时不太合适。此时更适合使用对称加密来通信。

由此引申出对称加密的密钥分配管理问题。

;Diffie-Hellman密钥交换是W.Diffie和M.Hellman于1976年提出的第一个公钥密码算法

算法的惟一目的是使得两个用户能够安全地交换密钥,得到一个共享的会话密钥,算法本身不能用于加、解密。

算法的安全性基于求离散对数的困难性。

;?;?;在大量用户需要互相通信时,单密钥体制,会使用大量密钥。

如有n个用户要互相通信,此时需要n(n-1)/2个密钥

此时密钥管理是一个严重的风险问题。

引入KDC来解决这个问题

密钥分发中心KDC和每个终端用户都共享一对唯一的主密钥(用物理的方式传递,如U盾)。终端用户之间每次会话,都要向KDC申请唯一的会话密钥,会话密钥通过与KDC共享的主密钥加密来完成传递。;建立一个共享的一次性会话密钥,可通过以下几步来完成:

①A向KDC发出会话密钥请求。表示请求的消息由两个数据项组成,第1项是A和B的身份,第2项是这次业务的惟一识别符N1。

②KDC为A的请求发出应答。应答是由KA加密的消息,因此只有A才能成功地对这一消息解密,并且A可相信这一消息的确是由KDC发出的。

③A存储会话密钥,并向B转发EKB[KS‖IDA]。因为转发的是由KB加密后的密文,所以转发过程不会被窃听。B收到后,可得会话密钥KS,并从IDA可知另一方是A,而且还从EKB知道KS的确来自KDC。

④B用会话密钥KS加密另一个一次性随机数N2,并将加密结果发送给A。

⑤A以f(N2)作为对B的应答,其中f是对N2进行某种变换(例如加1)的函数,并将应答用会话密钥加密后发送给B。

;密钥分配实例

;无KDC的密钥分配

两个用户A和B建立会话密钥需经过以下3步(A与B已经有共享主密钥)

①A向B发出建立会话密钥的请求和一个一次性随机数N1。

②B用与A共享的主密钥MKm对应答的消息加密,并发送给A。应答的消息中有B选取的会话密钥、B的身份、f(N1)和另一个一次性随机数N2。

③A使用新建立的会话密钥KS对f(N2)加密后返回给B。

;单密钥加密体制的密钥分配;基于公钥管理机构的公钥分配:

①用户A向公钥管理机构发送带时戳的消息,请求获取用户B的公钥。

②管理机构作出应答,该消息由管理机构用自己的私钥SKAU加密,因此A能用管理机构的公开钥解密,并确认该消息的真实性。

③A用B的公钥对一个消息加密发往B,这个消息有两个数据项:一是A的身份IDA,二是一个一次性随机数N1,用于惟一地标识这次业务。

④⑤B以相同方式从管理机构获取A的公开钥(与步骤①、②类似)。这时,A和B都已安全地得到了对方的公钥,所以可进行保密通信。

然而,他们也许还希望有以下两步,以认证对方。

;⑥B用PKA对一个消息加密后发往A,该消息的数据项有A的一次性随机数N1和B产生的一个一次性随机数N2。因为只有B能解密③的消息,所以A收到的消息中的N1可使其相信通信的另一方的确是B。

⑦A用B的公开钥对N2加密后返回给B,可使B相信通信的另一方的确是A。

;;基于公钥证书管理公钥

用户通过公钥证书来互相交换自己的公钥而无须与公钥管理机构联系。

公钥证书由证书管理机构CA(certificateauthority)为用户建立,其中的数据项有与该用户的秘密钥相匹配的公开钥及用户的身份和时戳等。

所有的数据项经CA用自己的秘密钥签字后就形成证书,即证书的形式为:CA=ESKCA[T,IDA,PKA]

IDA是用户A的身份,PKA是A的公钥,T是当前时戳,SKCA是CA的秘密钥,CA即是为用户A产生的证书;公钥加密体制的密钥管理;使用公钥加密体制分配对称密钥

如果A希望与B通信,可通过以下几步建立会话密钥:

①A产生自己的一对密钥{PKA,SKA},并向B发送PKA||IDA,其中IDA表示A的身份。

②B产生会话密钥KS,并用A的公开钥PKA对KS加密后发往A。

③A由DSKA[EPKA[KS]]恢复会话密钥。因为只有A能解读KS,所以仅A、B知道这一共享密钥。

④A销毁{PKA,SKA},B销毁PKA。

;简单使用公钥加密算法建立会话密钥

这种建议容易受到中间人攻击

;具有保密性和认证性的密钥分配

假定A、B双方已完成公钥交换,可按以下步骤建立共享会话密钥:

①A用B的公开钥加密A的身份IDA和一个一次性随机数N1后发往B

文档评论(0)

87090 + 关注
实名认证
内容提供者

中学高级教师 从事一线教育教研15年多

1亿VIP精品文档

相关文档