数据总是在IPv6通信中被encryption?

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

如果encryption是可选的,操作系统是决定是使用encryption还是应用程序? stream行的操作系统和软件通常会启用encryption吗?

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

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

一个具体的例子:想象一下,我有一个最新版本的Windows本机ipv6支持,我使用Mozilla Firefoxsearchipv6.google.com上的东西。 会被encryption吗?

没有。

IPv6内置IPsec作为协议的一部分,并不像使用IPv4那样是螺丝固定的。 但是,这并不意味着它默认启用,它只是意味着它在networking堆栈上(理论上)较低的开销。

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

更新:要清楚,应用程序不关心 – 它只是知道它必须打开一个networking连接的地方,并发送/接收数据。 然后系统必须确定是否为给定的请求连接协商IPsec。 IPsec被devise成为一种低级别的authentication/encryption机制,有目的地构build,以便更高级别的协议和应用程序不必担心。

也就是说,这只是另一个networking级别的安全控制,不应该孤立地使用或依赖于保证“安全” – 如果您正在尝试解决和validation问题,完全有可能您希望应用程序来执行某种用户级别的身份validation,同时使机器级别的身份validation停留在IPsec上。

简短的回答:不。

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

更多解释:在IPv4中,IPsec IP本身之上运行。 它实际上是一个“伪装”为第三层协议的第四层协议(所以TCP和UDP通常的L4协议仍然可以工作)。 ESP(封装安全有效负载)不能跨IP数据包。 因此,如果防止碎片,IPsec数据包通常会严重降低有效载荷容量。 另外,因为它在IP之上,IP的头部不受保护。

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

我希望我的'一言'解释是足够清楚的。

给你后续问题:

操作系统定义何时使用encryption。 这些“策略”选项在控制面板/configuration策略中。 你说的话,如“如果你想连接到子网ab12 ::你必须有秘密Blah1234的任何地址”。 有选项可以使用PKI。

目前,应用程序无法添加到此策略或要求此策略设置。 在linux套接字ipv6部分提到“IPHONE和AH头支持缺失”,所以人们已经想到了这一点,但目前还没有已知的工作实现。

对你的后续问题是和不。

应用程序可以指定encryption,但encryption是在应用程序级别完成的。 有多种使用不同端口(如HTTP / HTTPS,LDAP / LDAPS,IMAP / IMAPS和SMTP / SSMTP)的未encryption/encryption协议对。 这些全部使用SSL或TLSencryption。 某些服务将提供startTLS选项,允许在通常未encryption的端口上启动encryption连接。 SSH是一个总是使用encryption连接的应用程序。 这些情况下的encryption是端到端的。 (有一个可以使用的NULLencryptionalgorithm,并且encryption的内容将以未encryption的方式传输。)

IPSEC由pipe理员configuration,应用程序不会意识到连接是否被encryption。 我主要看到IPSEC用于通过不安全的连接(VPN连接)桥接局域网之间的stream量。 我认为IPSEC可能只适用于部分路由,所以在某些网段上数据是以明文方式传输(未encryption的)。

给定一个select,我将使用应用程序encryption作为networkingencryption不被大量使用。