1 分钟阅读
零知识加密:撇开密码学原理的通俗解释
“零知识”这一词汇在软件产品的营销宣传中经常被随意甚至滥用。本文将明确解释该技术的真实含义、它会给软件产品和用户体验带来哪些具体代价,以及你该如何鉴别某项宣称是真实的加密还是虚假的营销噱头。通过几个简单的验证方法,你可以轻松判断自己的数据是否真正得到了隐私安全保护。

在消费级软件的语境下,“零知识”意味着服务提供商无法看到你存储的内容。这并不是说他们承诺不去看,而是他们在系统结构上根本无法看到。
密码学原理确实非常复杂。但其核心概念并不复杂,你不需要懂数学就能评估某种声明是否属实。
酒店保险箱的比喻,以及它的破绽
常规的解释通常使用酒店保险箱做比喻:你设定密码,酒店无法打开它。
这个比喻用来入门还算不错,但它掩盖了关键的一点:酒店其实留有万能钥匙。几乎每一个看起来像零知识的系统都有类似的后门设计,通常是出于好意引入的,而核心问题就在于这个后门究竟是否存在。
一个更好的测试方法其实更简单。如果你丢失了所有凭证,他们能否为你找回数据?如果能,说明他们能读取你的数据。没有任何技术方案可以让一家公司既能恢复你的内容,又无法访问该内容。
恢复功能与隐私保护存在直接冲突。任何能够完整恢复你数据的服务,同样也能读取你的数据。
密钥托管方式究竟决定了什么
在现实中有三种可行的架构设计。
第一种,公司持有密钥。一切运行顺畅。重置密码可以恢复你的内容,服务器端支持搜索,你可以在任何设备上登录。公司可以读取所有内容。
第二种,密钥由你的密码生成,且仅保存在设备上。公司无法读取内容。忘记密码就意味着丢失内容,除非存在某种恢复机制,而任何恢复机制都是妥协所在。
第三种,密钥在设备上生成且永不离开设备。这是最强安全的方案,但也意味着更换新设备必须由用户手动参与,而不是在后台无感完成。
如何验证一项声明
尝试重置密码。如果重置后历史记录依然完好,且没有要求你提供其他秘钥,那么密钥就在公司手中。
留意是否有警告提示。真正采用端到端加密的产品会反复且略显烦人地警告你,丢失密钥就意味着丢失数据。宣称既有绝对隐私又能轻松恢复数据的营销话术,描述的是根本不存在的东西。
检查搜索是否在服务器端进行。在新设备上,在尚未下载任何内容前,如果能即时搜索多年的历史记录,这意味着服务器能够读取这些数据。
查阅是否公开了协议或接受过独立审计。这本身不能作为绝对保证,但如果没有,也很能说明问题。
需要付出的代价
有必要直言不讳,因为只谈好处的厂商往往是在推销产品。
丢失的数据将永久丢失。服务器端搜索不可用或受限。添加新设备需要实际的操作步骤。网页端访问难度更高。客服无法查看你的账户来排查内容问题。此外,任何需要服务器理解内容的特性(包括大多数人工智能功能),要么无法使用,要么必须转移到设备端本地运行。
Duoheart 的做法
在 Duoheart 中,每日提问、回答、消息和通话均在设备端使用本地生成的密钥进行加密,该密钥绝不会发送到我们的服务器。
这意味上述代价同样存在于 Duoheart。我们无法为情侣恢复他们的内容,无法对内容进行搜索,客服也无法查看你撰写的内容,这偶尔会让客服沟通变得比常规情况有些别扭。
可选的人工智能功能仅作用于用户明确提交的相关文本。加密对话绝不会被发送到任何地方,因为即便我们想发送,也根本无法做到。
简而言之
只需问一个问题:如果我同时丢失了密码和手机,你们能帮我找回内容吗?这个问题的答案会告诉你营销页面上没有公开的一切。
常见问题
- 应用软件的“零知识”是什么意思?
- 指运营方在系统结构上根本无法读取你的内容,而不仅仅是承诺不去看。密钥仅存在于你的设备上。
- 我该如何判断一款应用是否真正使用了端到端加密?
- 测试在同时丢失密码和设备后,他们能否恢复你的内容。如果能,就说明他们可以读取你的内容。
- 端到端加密有什么缺点或代价?
- 密钥丢失意味着数据永久丢失,服务器端搜索受限,添加设备需要手动参与,且客服无法查看你的内容来提供帮助。


