在(TLS)引擎盖下面的一次检查


TLS v.1.2是当今加密通信的事实上的标准。还有其他协议,如IPSEC,甚至TLS v.1.3,但TLS v.1.2是目前web浏览器的默认选择。这使它成为有史以来分布最广的加密协议。

因此,让我们来看看TLSv.1.2数据包的内部。

现在,请记住,这并不是对协议本身的概述,它具有各种精巧的东西,如证书身份验证,密钥交换和协议协商。这是我们拆解一个HTTPS包,看看哪些是受保护的,哪些是不受保护的。

所以只是为了好玩,我装了Slashdot's front page。而且我是在我的网络接口上运行Wireshark时执行的,我能够捕获到以下内容:

这是一个受TLS v1.2保护的应用程序数据包。换句话说,包含加密HTTP数据的数据包。现在,这里有很多数据,但很少是真正加密的:

927字节的数据实际上是加密的。现在,这总比什么都没有好,但它并不能让你的网络使用,或者说你自己,像你所期望的那样保持隐私。

现在,在这个收集的数据包中有很多元数据,但是我们可以从这里看到的信息中提取大量有趣的信息。就像您的ISP一样。

首先,我可以看到我正在使用的电脑--苹果MacBook Pro。我还可以根据目的以太网地址的前三个二进制八位数判断我正在Technicolor调制解调器/路由器上浏览。Technicolor设备通常由ISP使用,特别是时代华纳电缆。

我还可以看到我正在访问Slashdot,并且可以看到我正在访问的主机的MAC地址。

我可以看到短暂的端口号,我连接到的Slashdot端口,以及在帧头的深处(如果我决定欺骗一点),我可以看到纪元时间。

因此,我可以从中提取出您访问的站点,您访问的时间,您访问的工作站(通过MAC地址),以及您在那里停留了多长时间(通过序列号或流量捕获)。这其实是很多有趣的信息。

如果我是一个大型的ISP,我可以知道你用什么电脑访问互联网。如果你有家庭服务,我可以通过MAC地址将设备与你的家联系起来,因为你不太可能改变这一点,即使你可以。这样,我就能知道你在看什么。我能知道你开车的时候有没有上网。你买东西的时候我能看出来你在看什么。我可以介绍一下你的兴趣--你去Bass Pro商店还是Lands End?你访问CNN或福克斯新闻吗?你在深夜花在Reddit上的时间比以前多了吗?你的ISP和你的移动提供商是一样的吗?那我也知道你去过的任何地方。我可以通过我管理的信号塔追踪你的通讯。

我可能不知道你从Land's End买的是什么,但这些细节可能没有你在那里的事实那么重要。所以TLS可能比没有强,但可能没有我们想象的那么多。