新闻 · Blackbear 的安全

分享如何保持密封

2026年8月15日 Xavi Group 第 3 部分,共 3 部分
插图:三只黑熊围坐在圆桌旁传递密封的信封,其中一只拿着一把小小的黄铜钥匙

大多数产品都是在分享这一步悄悄放弃了加密。一旦两个人需要同一份文档,最省事的办法就是在服务器上解密,再把它称为一项功能。我们没有选择这条捊径。

Blackbear 分享文件、文件夹和实时编辑,却不把密钥交给我们。下面讲讲它底层是怎么运作的。

权限是一份签名文件

每个共享空间都由一份能力模式(capability schema)管理:这是一份很小的策略文件,列出每位成员以及他们能做什么。所有者的设备会为它签名。每个新版本都链接到上一版本的哈希,并把纪元计数器往前推进一格。

你的设备一旦见过某个空间的某个版本,就会拒绝任何更旧的版本:第八版永远不会被第七版取代。全新的设备没有历史可供比对,只能从最先收到的版本开始;从那一刻起,这个棘轮就只进不退。服务器负责分发策略,却无法编写策略,也无法对任何有历史的设备把策略倒回去。

一把密钥,逐人密封

共享空间有一把内容密钥。没有人会把它公开地到处传递。它会用每位成员的公钥分别密封,服务器保存这些密封好的副本。它可以保管其中每一份,却一份也打不开。

无法伪造的角色

读者、评论者、编辑者、管理员、所有者。每一次角色授予都带着授予者的签名。改数据库里的一行记录,提升不了任何人的权限。

撤销即轮换

移除某个人会翻开新的纪元:内容密钥轮换,并为留下的每个人重新密封。从那一刻起分享的一切,对离开的人来说都是一片漆黑。

诚实起见,也得说说另一半:对方已经同步到的内容,本来就已经在对方手里。没有哪个协议能伸进一台设备,把发出去的数据收回来。谁要是声称自己的撤销能做到这一点,那是在推销什么。

实时编辑只转发密文

实时协作把加密的 CRDT 更新经由服务器流式传输。服务器能看到成员指纹、密钥纪元和数据大小。它给数据流排序,再分发出去。出现在合作者光标下的文字,是在对方的设备上解开的,而不是在我们这里。

作者身份有签名

你的操作用你的个人资料密钥签名。Pax 用 Pax 自己的密钥签名。你写的和你的助手写的,在密码学上始终泾渭分明,你不需要做任何设置。

你的人不用付费

分享不要求对方付费。内容密封对每位成员都一样,不论免费还是付费。在付费主持人赞助的空间里,免费访客也能完整参与:发消息、一起编辑、加入通话,遵循和其他人一样的访问规则。背后的规则很简单:每一个经服务器转发的连接都必须至少包含一位主持人,服务器无法证明这一点时,就会拒绝。

这个系列就到这里。你的内容在传输之前就在你的设备上密封。我们的服务器只保存一份简短、公开的元数据清单。而分享只会扩展这层密封,不会打破它。

延伸阅读

Blackbear 的安全

  1. 1. 我们读不到的东西
  2. 2. 我们的服务器能看到什么
  3. 3. 分享如何保持密封 (当前文章)

试试 Blackbear

免费使用,无需信用卡。

打开 Blackbear