首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

系统架构设计师:信息安全技术基础知识--对称密钥的分配与管理

密钥分配一般要解决两个问题:一是引进自动分配密钥机制,以提高系统的效率;二是尽可能减少系统中驻留的密钥量。这两个问题也可以同步解决。

1.密钥的使用控制

两个用户(主机、进程、应用程序)在进行保密通信时,必须拥有一个共享的并且经常更新的秘密密钥。密钥的分配技术从一定程度上决定着密码系统的强度。

控制密钥的安全性主要有以下两种技术。

1)密钥标签

例如用于DES的密钥控制,将DES中的8个校验位作为控制这个密钥的标签,其中前3位分别代表了该密钥的不同信息:主/会话密钥、加密、解密。但是长度过于限制,且须经解密方能使用,带来了一定的不便性。

2)控制矢量

被分配的若干字段分别说明不同情况下密钥是被允许使用或者不允许,且长度可变。它在密钥分配中心KDC(Key Distribution Center)产生密钥时加在密钥之中:首先由一杂凑函数将控制矢量压缩到加密密钥等长,然后与主密钥异或后作为加密会话密钥的密钥,即:

H=h(CV)

Kn=Km XORH Kou=EKm XORH[KS]

其恢复过程为:KS=DKm XOR H[EKm XOR H[KS]]

用户只有使用与KDC共享的主密钥以及KDC发送过来的控制矢量才能恢复会话密钥,因此,须保证保留会话密钥和他控制矢量之间的对应关系。

2.密钥的分配

两个用户A和B在获得共享密钥时可以有种方式。

(1)经过A选取的密钥通过物理手段发送给另一方B.

(2)由第3方选取密钥,在通过物理手段分别发送给A和B。

(3)A、B事先已有一个密钥,其中一方选取新密钥后,用已有密钥加密该新密钥后发送给另方。

(4)三方A、B、C各有一保密信道,C选取密钥后,分别通过A、B各自的保密信道发送。

前两种方法称为人工发送。若网络中N个用户都要求支持加密服务,则任意一对希望通信的用户各需要一个共享密钥,这导致密钥数目多达N(N-1)/2。第3种方法攻击者一旦获得一个密钥就可获取以后所有的密钥,这就给安全性带来隐患。这3种方法的公共弱点在于当N很大时,密钥的分配代价也变得非常大。但是,这种无中心的密钥控制技术在整个网络的局部范围内却显得非常有用。如图4-3所示,其中N表示随机数。

第4种方法是较常用的。第3方C是为用户分配密钥的KDC,每个用户和KDC有一个共享密钥,即主密钥。主密钥再分配给每对用户会话密钥,用于用户间的保密通信。会话密钥在通信结束后立即销毁。虽然此种方法的会话密钥数目是N(N-1)/2,但是主密钥的数目却只需要N个,可以通过物理手段进行发送。如图4-4所示,其中N表示随机数,Ks表示会话密钥。

由于网络中用户数目非常多并且地域分布非常广泛,因此有时需要使用多个KDC的分层结构。可在每个小范围(如一个LAN或一个建筑物)内,建立本地KDC;不同范围的两个本地间可再用一个全局KDC连接。这样建立的两层KDC不但减少了主密钥的分布,更可以将虚假的KDC的危害限制到一个局部的区域。

另外,应注意会话密钥有效期的设置。会话密钥更换得越频繁,系统的安全性也就越高。

但是另一方面,频繁更换会话密钥会造成网络负担,延迟用户之间的交换。因此在决定其有效期时,应权衡矛盾的两个方面。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OsWdQyDTXXxaqq81eBNb_W9w0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券