IPv6 通信中的数据总是加密吗?

ala*_*lan 32 encryption ipv6 ipsec

我似乎无法直接回答这个问题。维基百科说“IPsec 是 IPv6 中基本协议套件的一个组成部分”,但这是否意味着所有通信总是加密的,还是意味着加密是可选的,但设备必须能够理解它(应该使用它吗? )?

如果加密是可选的,是操作系统决定是否使用加密,还是应用程序?流行的操作系统和软件通常支持加密吗?

我会自己调查这个,但我缺乏 IPv6 连接。

更新:好的,所以它是可选的。我的后续问题:通常是应用程序定义是否使用加密,还是操作系统?

一个具体的例子:假设我有一个支持本地 ipv6 的最新版本的 Windows,我使用 Mozilla Firefox 在 ipv6.google.com 上搜索一些东西。会被加密吗?

gro*_*wse 31

不。

IPv6 将 IPsec 内置为协议的一部分,它不像 IPv4 那样是附加的。然而,这并不意味着它默认启用,它只是意味着它在网络堆栈上的(理论上)较低的开销。

通常,IPsec 的使用由网络堆栈的 IP 级别决定,因此由系统策略本身决定。例如,系统 A 可能有一个策略,要求 AH 和 ESP 与 4.0.0.0/8 子网进行任何通信。

更新:需要明确的是,应用程序并不关心——它只知道它必须在某处打开网络连接并发送/接收数据。然后系统必须确定是否为给定的请求连接协商 IPsec。IPsec 在很大程度上被设计为一种低级别的身份验证/加密机制,并且是有目的地构建的,以便更高级别的协议和应用程序不必担心它。

也就是说,它只是另一种网络级安全控制,不一定要单独使用或依赖于保证“安全”——如果您正在尝试解决身份验证问题,您完全有可能想要应用程序强制执行某种用户级别的身份验证,同时将机器级别的身份验证留给 IPsec。

  • 哦,本来可以的事情。也许我们会在几百年后在 IPv8 中实现这一点。 (3认同)

pep*_*uan 20

简短的回答:没有。

长答案:在设计 IPv6 时考虑了 IPsec,因为与 IPv4 不同,IPsec(使用时)是 IPv6 标头的一部分。

更多解释:在 IPv4 中,IPsec 运行IP 本身之上。它实际上是一个“伪装”为第 3 层协议的第 4 层协议(因此 TCP 和 UDP 的常用 L4 协议仍然能够工作)。ESP(封装安全负载)不能跨越 IP 数据包。因此,如果防止分段,IPsec 数据包通常会严重降低有效负载容量。另外,由于它位于 IP 之上,因此 IP 的标头不受保护。

在 IPv6 中,IPsecIP 本身的一部分。它可以跨越数据包,因为 ESP 标头现在是 IP 标头的一部分。并且由于它与 IP 集成,因此可以保护 IP 报头的更多部分。

我希望我的“简而言之”的解释足够清楚。