端到端加密的团队共享建立在一个思路之上:内容由只有团队设备才持有的密钥锁住,服务器的任务是把这些密钥的封装副本送到正确的人手里,而它自己打不开。其余的一切——邀请某人、移除某人、找回忘记的密码——都归结为一个问题:谁为谁封装哪把密钥的新副本。
对于大多数人真正关心的问题,简短的回答是:添加成员时,已经持有频道密钥的某个人为新成员封装一份副本。移除成员时,服务器删除他们的副本,由一位留下的成员的应用生成一个被移除者永远拿不到的新版本密钥。第二步叫作密钥轮换,正是它把密码学意义上的移除,与仅仅在界面上隐藏一个文件夹区分开来。
本文按照团队负责人或安全审查人员所需的深度讲解这些概念。文中以 Speak-Y Teams 为例,因为这是我们能够准确描述的设计;在其他已公开的设计有所不同之处,也会加以比较。
在端到端加密的团队空间里,一份共享的会议转写记录不是靠单一密码保护的,而是靠一条密钥链:
分层是为了让常见操作保持轻量。共享一条新录音只涉及一把记录密钥。添加成员意味着为多一个人封装一把频道密钥,而不是重新加密所有转写记录。移除成员后轮换频道密钥,只需更换一把密钥,并重新包装其下那些很小的记录密钥,体积庞大的加密内容保持不变。
在 Speak-Y 中,成员密钥对由账户的加密密码派生,因此同一个密码在每台设备上都会得到相同的密钥。其构建模块是标准的公钥“密封盒”(sealed box)和认证加密,而不是自创的密码学。

服务器是一个存放密文的信箱。它保存加密的条目、发给每位成员的频道密钥封装副本,以及路由所需的最少结构。
它能看到团队的结构:有多少工作区和频道、谁属于哪里、频道是公开还是私密、密钥何时签发或撤销,以及每个条目的基本元数据——大小、时长和时间。它看不到转写记录和摘要的内容;在 Speak-Y 中,它也看不到工作区和频道的名称,因为名称与内容用同样的密钥加密。一个名为“收购——Project Falcon”的频道,名称本身就是信息。
对元数据说得准确,是诚实的端到端承诺的一部分。为什么没有哪种设计能隐藏一切,请参阅关于 E2EE 的术语解释。

添加成员的难点在于,服务器无法交出一把它自己读不了的密钥。只有已经持有密钥的客户端,才能为新成员的公钥封装一份副本,而新成员的公钥要等他们接受邀请后才会存在。
有两种办法绕过这个问题。第一种是等团队里有人打开应用,为新成员封装密钥。这种办法可行,但如果邀请人正在休假,就会留下空档。Speak-Y 把这个空档显示为一个独立的状态——正在等待频道密钥,而不是显示为网络错误。
第二种是让邀请本身携带新成员所需的东西。Speak-Y 的邀请链接把工作区密钥放在片段里,也就是 URL 中 # 之后的部分,这部分从不会发送给服务器。每个频道都保存一份用工作区密钥锁住的自身密钥副本,因此新成员一接受邀请就能打开工作区的频道,不需要其他人在线。代价是链接本身就授予访问权限,所以邀请只能使用一次、会过期,并且应当像发送密码那样发送。
私密频道还多一条规则:工作区密钥打不开私密频道。私密频道的成员要添加某人,需要直接为对方封装该频道的密钥。
各种设计在这里差别最大,“这真的是端到端的吗?”这个问题也在这里得到具体的答案。
撤销访问权限意味着服务器不再向被移除者提供数据。这由服务器的策略来执行,密钥不会改变。1Password 的安全白皮书就是这样描述其自身的共享功能的,并明确指出,把某人从保险库、群组或团队中移除并不是以密码学方式强制执行的,密钥也不会更换。这是一个有文档记录、经过权衡的取舍;事先保存了密钥的人,之后如果拿到保险库数据,仍然可以读取。
密钥轮换意味着被移除者的密钥不再起作用。在 Speak-Y 中,当一名成员被移出工作区时:
把某人从单个私密频道中移除时,也会以同样的方式轮换该频道的密钥。
即时通讯协议遵循同样的原则。WhatsApp 的加密概述(2026 年 2 月版)写道,每当有群组成员离开,所有参与者都会清除群组密钥并重新开始。IETF 于 2023 年 7 月发布的 Messaging Layer Security 标准 RFC 9420,在移除成员时会把群组推进到新的纪元(epoch),使用被移除成员不知道的新密钥材料。

轮换保护的是未来,而不是过去。被移除者已经在自己设备上打开、下载或复制的内容会留在他们手里——没有任何加密方案能伸进别人的记忆或磁盘。轮换所保证的范围更窄,但依然有价值:移除之后共享的新录音他们读不了,旧密钥也打不开他们之后可能从服务器取回的任何内容。
这对团队的工作方式有两点影响:
如何决定哪些内容放进哪个频道,请参阅团队知识库指南。
在服务商不持有任何密钥的系统里,“忘记密码”无法由客服解决——这正是关键所在。它必须由团队里的某个人来解决。
Speak-Y 通过 Recovery Kit 来做到这一点:创建工作区时,所有者会保存一个包含恢复密钥的文件,每把频道密钥也都会为它封装一份。如果成员丢失密码并设置了新密码,Kit 的持有者可以为其新的密钥对重新签发频道密钥。Kit 只恢复对团队频道的访问,从不覆盖任何人的个人录音。它也是团队最敏感的文件,应当与团队的其他关键机密放在一起保管。
有时需要把转写记录交给没有账户的客户或同事。Speak-Y 的公开分享链接会用一把全新的专用密钥加密该条目的另一份副本,并把这把密钥放进 URL 的片段中。任何持有完整链接的人都可以在浏览器中阅读该条目;服务器只保存密文。撤销链接会在服务器上将其删除。和邀请一样,链接本身就是秘密,别人已经打开过的副本无法收回。

在 Speak-Y 中,团队共享可在 macOS 应用中使用。创建工作区需要 Pro 套餐起步,队友在任何套餐下都可以免费加入。Speak-Y Teams 页面展示了共享频道在日常工作中的样子,而为什么会议纪要需要端到端加密解释了为什么转写必须在你的设备上完成,这一切才有可能实现。
每个共享条目都用自己的随机密钥加密,这把密钥再用频道密钥锁住。频道密钥则用每位成员的公钥为每位成员分别封装。服务器只保存这些封装好的副本,因此它能把副本送到正确的人手里,却打不开其中任何一份。
在以密码学方式强制执行移除的设计中,服务器会删除被移除者持有的频道密钥副本,由一位留下的成员的应用生成新版本的密钥,并只为留下的人封装。随后,旧条目会用新版本重新锁定。Speak-Y Teams 就是这样工作的;一些知名产品只撤销服务器端的访问权限,密钥保持不变。
对方已经打开、下载或复制的内容会一直留在他们手里。没有任何加密方案能收回已经在别人屏幕上出现过的明文。密钥轮换保护的是移除之后共享的内容,并让旧密钥无法打开之后从服务器取回的内容。
服务商无法恢复访问,因为它从未持有密钥。Speak-Y 用 Recovery Kit 来解决:这是工作区所有者在创建工作区时保存的一个文件,可以为已设置新密码的成员重新签发频道密钥。Kit 不覆盖任何人的个人录音。
可能是。在 Speak-Y 中,邀请链接把工作区密钥放在 URL 中 # 之后的部分,浏览器和应用从不会把这一部分发送给服务器。邀请只能使用一次且会过期,移除成员也会轮换工作区密钥,但在链接被使用之前,应当像对待密码一样对待它。