在计算机领域,便利性和安全性常常是相互矛盾的。一个简单易用、您无法将自己锁在外的系统,往往不如一个不那么用户友好的系统安全。端到端加密 (E2EE) 系统通常就是这种情况,在这种系统中,消息、备份以及其他任何内容都只能由拥有正确密钥的人解密,而服务提供商或其他任何中间人则无法解密。虽然它要安全得多,但确实存在一些便利性问题,而且最近它一直在新闻中频繁出现。
英国议会目前正在审议其 期待已久的 《在线安全法案》,该法案实际上将使安全的端到端加密非法。使用 E2EE 进行消息传递的 WhatsApp 和 Signal 都表示,他们宁愿退出英国市场,也不愿损害用户安全。
另一方面,Slack 并未使用 E2EE 来保护其用户。这意味着 Slack 理论上可以访问在其服务上发送的大部分消息。(付费最高的企业客户可以使用自己的加密设置,但如果由他们控制密钥,老板或 IT 部门就可以读取任何员工的消息。)数字权利组织 Fight for the Future 刚刚发起了一项活动,呼吁 Slack 改变这一点,因为在“后罗伊时代”,该服务目前“危及寻求、提供和协助堕胎的人”。
最后,Google 更新了其双重认证器应用程序,允许用于登录的一次性安全码在设备之间同步。这意味着用户在更换新手机时,无需重新配置所有设置了 2FA 的帐户。不幸的是,正如两位安全研究人员在 Twitter 上指出的那样,Google Authenticator 尚未采用 E2EE,因此 Google(或任何攻破您 Google 帐户的人)可以看到用于生成 2FA 一次性代码的秘密信息。虽然利用这一点可能需要付出努力,但它致命地破坏了一个本应是安全的系统。作为回应,Google 表示将添加 E2EE,但未提供时间表。
[相关:您应该使用的 7 款安全消息应用]
对于一项如此重要的技术,E2EE 是一个相对简单的概念——尽管实现它所需的数学计算非常复杂,涉及到分解大量非常大的数字。用短信来理解它最容易,尽管相同的原理也可用于保护其他类型的数字通信——例如双重身份验证代码、设备备份和照片库。(例如,通过 iMessage、Signal 和 WhatsApp 发送的消息是端到端加密的,但标准 SMS 消息则不是。)
E2EE 通常使用一种称为公钥加密的系统。每个用户都有两个数学上相关的密钥:公钥和私钥。公钥可以是公开的;它不是秘密信息。另一方面,私钥必须不惜一切代价予以保护——它使加密安全。由于公钥和私钥在数学上是相关的,因此使用某个人的公钥通过一个难以逆转的算法编码的短信,只能使用匹配的私钥进行解码。
所以,假设 Bob 想给 Alice 发送一条加密的短信。他们使用的服务会将所有公钥存储在一个中央服务器上,每个用户将自己的私钥存储在自己的设备上。当他发送消息时,应用程序会将其转换为一个长数字,从服务器获取 Alice 的公钥(另一个长数字),然后将两个数字通过加密算法运行。这个对其他人来说看起来毫无意义的长数字会发送给 Alice,她的设备然后用她的私钥解密它,这样她就可以阅读短信了。
但这个例子也凸显了 E2EE 可能带来麻烦的地方。如果 Alice 丢失了包含她私钥的设备会怎样?那么她将无法解密任何人发给她的消息。而且由于她的私钥没有备份,她必须设置一个全新的消息传递帐户。如果只是一个短信应用程序,那很麻烦,但如果是一个重要的备份或 2FA 系统,因为丢失了私钥而导致帐户被锁定,这是一个非常真实的风险,而且没有好的解决方案。
如果 Bob 发送了一条关于他统治世界计划的消息给 Alice 会怎样?好吧,如果英国政府出台了一项法律,要求他们必须被告知所有关于统治世界的消息,那么服务提供商就陷入了困境。他们既不能提供 E2EE,也不能进行任何形式的内容审核。
这也是 E2EE 频频出现在新闻中的原因之一。虽然它理论上对用户来说非常棒,但对于提供这些服务的公司来说,在为用户提供强大安全性与方便客户支持人员帮助那些将自己锁在账户外的人,以及遵守政府要求和传票之间,存在着真实的权衡。别指望加密技术近期会从新闻中消失。