端到端加密 :对传送的PDU进行加密和解密

更新时间:2024-09-20 19:26

端到端加密(英语:End-to-end encryption,缩写:E2EE)是一种通信系统,只有参与通讯的用户可以读取信息,能够防止潜在的窃听者——包括电信供应商、互联网xSP以及该通讯系统的提供者——获取双方通信的明文。此类系统被设计为可以防止潜在的监视或篡改企图。端到端加密确保数据在从源点到终点的传输过程中始终以密文形式存在,消息在被传输时到达终点之前不进行解密,因此即使有节点被损坏也不会使消息泄露。端到端加密系统的价格便宜些,并且与链路加密和节点加密相比更可靠,更容易设计、实现和维护。

概念

端到端加密是在源结点和目的结点中对传送的PDU进行加密和解密,因此报文的安全性不会因中间结点的不可靠而受到影响。

端到端加密不仅适用于互联网环境,而且同样也适用于广播网。

在端到端加密的情况下,PDU的控制信息部分不能被加密,否则中间结点就不能正确选择路由。这就使得这种方法易于受到通信量分析的攻击。虽然也可以通过发送一些假的PDU来掩盖有意义的报文流动,但这要以降低网络性能为代价。由于各结点必须持有与其他结点相同的密钥,这就需要在全网范围内进行密钥管理和分配。

为了获得更好的安全性,可将链路加密与端到端加密结合在一起使用。链路加密用来对PDU的目的地址B进行加密,而端到端加密则提供了端对端的数据进行保护。

端到端加密应在运输层或其以上各层来实现。若选择在运输层进行加密,可以使安全措施对用户来说是透明的。这样可不必为每一个用户提供单独的安全保护,但容易遭受运输层以上的攻击。当选择在应用层实现加密时,用户可根据自己的特殊要求来选择不同的加密算法,而不会影响其他用户。这样,端到端加密更容易适合不同用户的要求。端到端加密不仅适用于互联网环境,而且同样也适用于广播网。

若干措施

端到端加密更适合OSI环境,但体系结构也更加复杂,尤其采用网内密钥分配时更是如此。

对于防止析出报文内容的措施,当然应直接采用加密技术。若加密在会话层或应用层完成,则所有的传输层控制信息对攻击者来说都是可知的。若加密由传输层来完成,则仅仅在网络层及以下各层的控制信息是暴露的。若加密由网络层来完成,则网络层协议控制信息对网络层的PDU所通过的每一个节点都是不可知的,因而中间节点无法正确选择路由。所以网络层一般不能提供端到端保护。这样,传输层就是实现端到端加密的最低层。

一次连接使用一个不同的密钥是反攻击的一个有力措施。采用不同的加密方式还可进一步掩盖数据的模式。

抗击通信量分析的措施涉及掩盖协议实体之间的报文交流的频率、分组长度等。适当的链路加密能防止各种通信量分析,但端到端加密很难做到这一点。

若加密在传输层完成,攻击者就只能在网络地址这一级观察数据模式。换言之,攻击者能够知道哪一些传输层实体在交换信息,但却不知哪些高层实体在交换信息。

掩盖网络地址模式在OSI环境中是不可能的。要做到这一点将涉及到用全网范围的一个密钥网络层的PDU的实际目的地址进行加密,并将这些PDU送交网络中的所有主机。这当然会使网络的有效宽带急剧下降,并浪费大量主机处理能力。因此,端到端加密实际上只能在传输层及其以上各层实现。

对于更改报文流的抗击就是要检测报文的完整性、真实性和有序性。这里最基本的是要保证报文的完整性。在通信协议中的差错检验码可以用来检测PDU由于传输错误而造成的报文更改,但这不能防止对PDU完整性的蓄意攻击。这时必须采用鉴别技术。例如,可以在报文中插入报文鉴别码麦金塔,它是报文和密钥的密码函数。如果报文被篡改了,那么在接收到的报文重新计算MAC时,几乎就不可能得到与发送一致的MAC。

为了保证报文的真实性,应使收方实体能可靠地确定一个PDU所在的连接及其传送方向。为此,应在所有时间内使每一个连接都有一个唯一1标识符,并将此标识符回到通过这个连接的每一个PDU上。利用这个唯一的标识符就能可靠地确定PDU所属的连接。若每一个连接都使用不同的密钥,则此密钥就可以提供一个隐含的唯一标识符。

为了防止对有序性的攻击,可在每一个PDU中增加一个序号,同时不得在某个连接唯一标识符存在期间重复使用该序号。对序号重复使用的限制,防止了攻击者在序号循环后重复一个旧的PDU。

对于拒绝报文服务,发送PDU的实体能够检测到这种攻击,但却无法通知对方。

要检测出这类攻击需要增加一个请求应答机构,此机构要求双方实体周期性地交换一对PDU,以确定双方之间是否存在一条通路。

伪造连接初始化攻击有两种,一是以假身份建立一个连接,另一种重发一个以前是合法的连接初始化序列的记录。

要抵抗一种攻击,可使连接必须按照某种方法来建立。双方已知的密钥加密就含有鉴别的隐含信息。只有已知密钥的人员才能对信息加密和解密。要抵抗第二种攻击,连接初始化必须有一个鉴别连接时间完整性的机构或方法,即验证初始化过程是否是实时的。

参考资料

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}
友情链接: