WhatsApp 的端到端加密功能如何保障数据安全?


WhatsApp 已成为一款流行的智能应用,其安全的聊天功能更是备受推崇。不同版本都为用户提供了额外的安全级别,从而确保安全的通讯体验。但2016年3月31日后更新的 WhatsApp 版本带来了一场革命性的变化,它为用户引入了强大的安全功能——“端到端加密”,该功能基于 Open Whisper System 设计。这为其应用增添了另一层安全保障,使其更受欢迎。

什么是端到端加密?

端到端加密意味着除了你和收件人之外,没有人可以看到你们分享的消息,甚至 WhatsApp 也看不到。但前提是你们双方都必须使用最新版本的 WhatsApp。另一个值得关注的事实是,加密只需要进行一次,如果你的设备发生变化,或者你再次下载了最新版本的 WhatsApp,则需要再次进行加密。


通过端到端加密的通讯体验确保图片、消息、视频甚至链接都只保存在你和收件人之间。任何第三方,甚至 WhatsApp 本身,都无法访问这些内容。它会在你安装最新版本的 WhatsApp 时自动激活,你无法手动关闭。

加密是通过一个16位代码进行的,该代码会在你的设备上清晰可见,并带有锁状符号,表示你的消息已进行“端到端”加密。要确认这一点,请访问“设置”,然后点击“帐户”。在帐户部分,你可以看到许多选项,从中选择“隐私”。如果你下载了最新版本,它会清楚地显示锁状符号以及下面的加密信息。

WhatsApp 的加密功能

WhatsApp 有一些公共密钥和会话密钥,它们在端到端加密中起着重要作用。身份密钥、签名预密钥和一次性预密钥被称为公钥;每个密钥都有不同长度的曲线对。另一方面,会话密钥也有三种类型:根密钥、链密钥和消息密钥。

前两种密钥长度为 32 字节,而消息密钥长度为 80 字节。在初始设置期间,用户会自动将其身份密钥、签名密钥和一组一次性预密钥传输到 WhatsApp 服务器。但是,服务器无权访问用户的私钥。

聊天的会话启动通过密钥请求过程完成。要首次启动会话,发送方会向 WhatsApp 服务器请求身份密钥 (I_recipient)、签名密钥 (S_recipient) 和一次性预密钥 (O_recipient),然后 WhatsApp 会返回所有这些密钥。一旦一次性预密钥被传递给发送方,它就会永久从 WhatsApp 服务器中删除。

发起者(发送方)会生成一个名为 (E_initiator) 的临时密钥,以及一个名为 (I_initiator) 的自身身份密钥。现在,将生成一个 16 位的 Master_secret 代码,格式如下:

ECDH(I_initiator,S_recipient) ||ECDH(E_initiator,I_recipient)||
ECDH(E_initiator,S_recipient) ||ECDH(E_initiator,O_recipient)

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

代码生成过程

类似地,在每次消息交换期间,发起方和接收方都使用 HKDF 代码从 Master Secret 代码生成链密钥和根密钥。现在,接收方可以向发送方发送消息,无论接收方的在线状态如何,消息都会自动到达另一端。

打开消息后,接收方可以查看标题消息,使用其自己的私钥和公钥解密主客户端代码,并删除发送方发送的一次性预密钥。有了加密功能,现在你发送的每条消息都通过消息密钥得到了更安全的保护。

此密钥会随每条传输的消息而变化,并且在事务完成后无法重建。

消息密钥只能通过接收方的链密钥检索,而链密钥本身会随每次往返消息而重新生成。

附件文件的加密

与纯文本消息一样,大型附件也会被加密,并在你和收件人之间安全传输。每个发送的附件都包含一个 32 位的临时密钥和其他一些密钥。在接收端,它们会被解密,并传递原始消息。

即使是群组消息,WhatsApp 也因其“客户端扇出”功能而脱颖而出,该功能使客户端能够通过群组成员向 N 个群组成员发送 N 条消息。通常,大多数应用程序通过“服务器端扇出”功能进行群组消息发送,其中 N 条消息从服务器端传递到 N 个群组成员。

现在来说说最受欢迎的部分——“WhatsApp 通话”。这个令人惊叹的通话功能也进行了端到端加密。每次通话时,发起者都会生成一个 32 位的 SRTP 代码。该代码在另一端接收到后,会生成来电信号。在另一端成功接听电话后,SRTP 加密代码会继续执行。

如果你想测试 WhatsApp 声称的安全数据传输的真实性,它提供了验证安全密钥的选项。你可以扫描二维码,或者手动比较 60 位密钥。如果你们中的任何一方扫描对方的代码,并与 60 位代码进行比较,它们将是相等的。

额外的加密层

客户端和服务器之间还通过多个加密层维护额外的强大安全性。这确保了任何第三方都无法突破防线,并访问客户端和服务器之间传输的数据。该过程由各种噪声管道用于长时间运行的交互式连接。

分层安全的设计确保了易于设置和快速恢复加密服务,巧妙地隐藏了来自未经授权的垃圾邮件发送者的元数据,并通过 Curve25519 密钥对实现了卓越的客户端身份验证。所以基本上,你可以放心,你的私人数据绝不会被垃圾邮件发送者入侵。

对端到端加密的详细分析可能会导致一些基本疑问。尽管 WhatsApp 声称它无法访问任何用户的私钥,但这很难让人相信,因为我们也无法访问 WhatsApp 服务器的源代码。因此,我们别无选择,只能盲目信任。

在这篇文章中,我们多次提到 WhatsApp 的架构是客户端-服务器模型,这意味着用户必须与服务器交互。在这种情况下,也很难让人相信用户的私钥无法被 WhatsApp 访问。

但就客户满意度而言,这款应用在众多通讯应用中仍然占据领先地位。此前,WhatsApp 曾因 Facebook 的指控而名声大噪。现在,通过“端到端加密”,它又为自己的辉煌史册增添了新的篇章。

更新于:2020年1月21日

浏览量:445

开启你的职业生涯

完成课程后获得认证

开始学习
广告