你有没有想过,你的私人消息最终到底会被送到哪里?听起来很奇怪,但当你在某个通讯应用上给朋友发消息时,消息并不会直接从你这里送到他那里。它会经过一台中心服务器进行处理,服务器可能会读取这些消息,并进行存储。如果你为这件事担心的话,有一个解决方案:端到端加密的意义正是用来保护你的通信。



端到端加密的本质上是一种方法:对消息进行加密,只有你和接收者才能阅读。任何其他人——甚至是管理服务器的人——都无法看到你们写的内容。这个想法并不新鲜——可以追溯到 20 世纪 90 年代,当时 Phil Zimmerman 创建了 Pretty Good Privacy(更广为人知的 PGP)。

那正常的系统是怎么运作的呢?你安装一个应用,创建一个账户,写一条消息,然后把它发送出去。服务器会看到这条消息,弄清楚它发给谁,然后把它转发给你的朋友。这就是客户端-服务器模型:你的手机是客户端,服务器负责完成所有工作。问题是:服务器会把所有内容都读到。没错,你和服务器之间的连接通常是加密的,比如使用 TLS 之类的方式 ( 然后),但服务器本身还是看得见内容本身。如果那台服务器被入侵,数百万条消息就会落入错误的人手里。

这就是端到端加密在实践中发挥作用的地方。假如你的数据是用一把只有接收者才拥有的密钥来加密的,那么服务器就算“想要”去读,也不可能读得懂。为此,需要一个最初的流程,称为 Diffie-Hellman 密钥交换,由密码学家 Whitfield Diffie、Martin Hellman 和 Ralph Merkle 发明。

如果你把思路讲清楚,这个想法其实很简单。想象 Alice 和 Bob 在两个不同的房间里。他们想共享一种没有人应该知道的涂料颜色,但走廊里全是间谍。首先,他们先就一种公共颜色达成一致,比如说黄色。每个人拿到黄色后,都在家里把它和自己只知道的秘密颜色混在一起——Alice 加蓝色,Bob 加红色。然后他们在走廊里交换这些混合物,所有人都能看到。间谍看到的是“蓝+黄”和“红+黄”,但他们无法猜出最初的秘密颜色。Alice 拿到 Bob 的混合物,再加入她的秘密蓝色,得到“红+黄+蓝”。Bob 拿到 Alice 的混合物,再加入他自己的秘密红色,得到“蓝+黄+红”。结果是一样的。他们在公开场合创造出了一个共享秘密,而没有人能发现它。这就是端到端加密背后的原理。

一旦两个人建立了这个共享秘密,就可以用它来加密和解密消息。像 Signal、WhatsApp 和 Google Duo 这类应用会自动完成——你看不到任何东西,但一切都在幕后按这个方式运作。如果黑客截获了某条消息,他只会看到一堆无法理解的乱码。

当然,它并不完美。如果你的手机被偷了,攻击者可以直接在设备上读取消息本身。如果你的手机里有恶意软件,恶意软件会在消息被加密之前就看到内容。还有中间人攻击的风险:有人在最初的交换过程中插入其中,并同时欺骗你和你的朋友,从而读取全部内容。许多应用通过安全代码来解决这个问题,你可以离线进行核验。

但如果一切都运行正常的话,端到端加密绝对是一个非常出色的工具。它不仅仅是给犯罪分子和举报者准备的,正如一些政客所说的那样。普通公司也会一直被入侵——如果他们使用 E2EE,黑客就无法获得任何有用的东西。即便他们能够窃取数据,他们也只能拿到加密后的消息。也许还能提取一些元数据,比如 (谁和谁在说话,什么时候),但内容本身仍然是保密的。

如今,支持端到端加密的免费工具越来越多。比如苹果的 iMessage、Google Duo、Signal 等。这个技术使用起来非常简单——你不需要做任何特别的操作,它会在后台自动运行。它并不是对抗所有攻击的“魔法防护”,但只要付出很少的努力,就能在你在线交流时大幅降低风险。
查看原文
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 评论
  • 转发
  • 分享
评论
请输入评论内容
请输入评论内容
暂无评论