第八节 加密通讯应用概论

一、什么是端对端加密

“端到端加密 (End-to-end encryption,E2EE) 是一个只有参与通讯的用户可以读取信息的通信系统。总的来说,它可以防止潜在的窃听者——包括电信供应商、 互联网服务供应商甚至是该通讯系统的提供者——获取能够用以解密通讯的密钥 。此类系统被设计为可以防止潜在的监视或篡改企图,因为没有密钥的第三方难以破译系统中传输或储存的数据。 举例来说,使用端到端加密的通讯提供商,将无法将其客户的通讯数据提供给当局。”

—— 维基百科 - 端对端加密

二、常见即时通讯应用的加密方式

包括微信(WeChat)在内的所有主流即时通讯(Instant Messaging, IM)软件都会对信息加密,但显然微信并不支持端对端加密。在支持端对端加密的 IM 软件当中,加密模式可分为默认端对端加密(always end-to-end encrypted)和选择性端对端加密两种。前者的代表有 WhatsApp 和 Apple 的 iMessage,采用后者的应用有 Telegram、Facebook Messenger 和 Google Allo 等。

Telegram 因为没有默认启用端对端加密而受到批评,而事实上用户通讯数据的安全性不只取决于加密方式,还取决于 IM 软件运营者是否将用户数据上传在云服务器上。WhatsApp 虽然默认开启端对端加密,但仍会将用户的通讯数据存储和备份到自己的云端服务器上,以便将其同步到该用户的其他设备上; Apple 也在 iOS 11.4 中加入了与前者相似的 Mesaages in iCloud 功能(可自行选择开关)。这种模式充其量只能保护传输过程中的信息安全,而存储在云端服务器上的用户数据在政府情报部门和黑客面前实际上很脆弱的,端对端加密的保护在传输完成后已然失效。而 Telegram 同时提供了普通模式和私密模式两种模式,普通模式下用户的聊天记录会被存储到云端服务器以便备份和同步;在私密模式下,Telegram 服务器只负责转发信息,本身并不存储任何信息,通讯只建立在两台终端设备之间,不会同步到同一用户其他设备的 Telegram 客户端上。云端不存储信息的端对端加密模式排除了政府和黑客通过云端攫取用户信息的可能,无疑更能保护用户的通讯安全。

参见 Telegram 创始人、CEO Pavel Durov 撰写的 Why Isn’t Telegram End-to-End Encrypted by Default?

三、值得推荐的端对端加密 IM

参见:

“国际特赦组织的“通讯隐私排名”以1至100分计对科技公司进行了排名,基于它们在下列5方面的表现: 认识到用户在隐私和言论自由方面所面临之网上威胁; 默认启用端到端加密; 让用户知道其权利所面临之风险,以及其提供之加密强度;披露政府要求公司提供的用户数据之详情,以及其应对方式;公布加密系统的技术细节。中国的腾讯公司因对通讯隐私采取的措施最少及最不透明而得零分垫底,其次是黑莓和快拍(Snapchat),分别得到20及26分。尽管微软制定了强有力的人权保护政策,它在Skype上依然采取了薄弱的加密方式,因此仅得40分,排名倒数第4。这些公司中无一对用户通讯提供端到端加密。仅有3家公司在对通讯软件默认启用端到端加密方面得满分,即苹果、连我(Line)以及Viber。”

“国际特赦组织对流行通讯应用的隐私保护进行了排名,腾讯的QQ和微信没有得到一分,以零分垫底,被认为毫无隐私。在公开场合,腾讯则坚称它的服务是有隐私的,但拒绝披露更多详情,比如加密细节之类的。”