理论教育 信息安全基础:密钥分发与会话加密

信息安全基础:密钥分发与会话加密

时间:2023-11-24 理论教育 版权反馈
【摘要】:在这个逻辑连接存续期间,所有用户数据都使用一个一次性会话密钥加密。在会话或连接结束时,会话密钥被销毁。方法中的第三方在图2-9中被称为密钥分发中心。图2-9面向连接协议的自动密钥分发图2-9中也给出了创建一个连接所涉及的步骤。该SSM与KDC之间的通信使用一个只有该SSM和KDC知道的永久密钥加密。

信息安全基础:密钥分发与会话加密

当使用对称密码交换机密信息时,双方必须使用相同的密钥,并且不能让其他人知道这个密钥。此外,密钥也需要经常改变;如果长时间使用同一个密钥,一旦攻击者知道了密钥,大量使用此密钥加密的数据都会被破解。因此,任何加密系统的安全强度取决于密钥分发技术—— 如何将密钥秘密地分发给希望交换数据的双方。有几种方法可以实现密钥分发。对于A和B双方:

(1)A选择密钥,并亲自交给B。

(2)第三方选择密钥,并亲自交给A和B。

(3)如果A和B最近使用过密钥,一方选择一个新密钥并用旧密钥加密该新密钥,然后传送给另一方。

(4)如果A和B各有一个与第三方相连的C的加密链路,C可以通过加密链路把密钥发送给A和B。

方法(1)和(2)需要人工传递密钥。对于链路加密(Link Encryption),这个要求是合理的,因为每一个链路加密设备只与该链路另一端的加密设备交换数据。但是,对于端到端加密(End-to-End Encryption),人工传递密钥并不合适。在分布式系统中,任何主机或终端可能需要和许多其他主机或终端经常交换数据。所以,每个设备需要大量动态提供的密钥。这在广域的分布式系统中尤其困难。

方法(3)可以用于链路加密和端到端加密。但是,如果攻击者曾经成功地获得一个密钥,则所有后来的密钥都将暴露。即使在链路加密中频繁地更换密钥,也应该使用人工传递的方式。当为端到端加密提供密钥时,方法(4)更合适。

图2-9给出了在端到端加密中使用方法(4)分发密钥的一种实现的示意图。在该图中,链路加密被忽略了,可以根据需要添加或不添加它。在这个方案中,有两类密钥:(www.daowen.com)

·会话密钥(Session Key):当两个端系统(主机、终端等)希望通信时,它们创建一个逻辑连接(如虚拟电路)。在这个逻辑连接存续期间,所有用户数据都使用一个一次性会话密钥加密。在会话或连接结束时,会话密钥被销毁。

·永久密钥(Permanent Key):永久密钥用于在两个端点之间分发会话密钥。

方法(4)中的第三方在图2-9中被称为密钥分发中心(Key Distribution Center,KDC)。KDC决定哪两个系统可以相互通信。当允许两个系统创建连接时,KDC为那个连接提供一个一次性的会话密钥。图中的安全服务模块(Security Service Module,SSM)执行端到端加密及为用户获取会话密钥,其功能可能在一个协议层上实现。

图2-9 面向连接协议的自动密钥分发

图2-9中也给出了创建一个连接所涉及的步骤。当主机A希望与主机B建立连接时,它发送一个连接请求包(步骤①),主机A中的SSM保存该请求包,并向KDC请求创建连接(步骤②)。该SSM与KDC之间的通信使用一个只有该SSM和KDC知道的永久密钥加密。如果KDC同意这个连接请求,它就产生一个会话密钥,用它与主机A、B中的SSM分别单独共享的永久密钥加密并传递给相应的SSM(步骤③)。主机A中的SSM现在可以释放连接请求包,一个连接就在主机A、B之间创建了(步骤④)。此后,主机A、B之间交换的所有用户数据都由它们各自的SSM使用会话密钥进行加密。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈