SekerviaSANTVIA 出品

我们如何吊销插件签名密钥

最后更新:2026 年 10 月 4 日

Sekervia 的每个插件都经过签名(Ed25519)。应用会拒绝任何签名与其已知密钥不匹配的插件。但仅有签名还不够:关键在于密钥丢失或遭泄露的那一天会发生什么,以及需要多长时间处理。

我们的承诺

在发现问题后的24 小时内,相关密钥将从 Sekervia 中移除。

72 小时内,经过签名的修正版本将通过自动更新发布。

已移除的密钥将被永久拒绝,即使旧版应用副本或某个软件包仍在出示它:Sekervia 维护一份已移除密钥列表,并在进行任何其他验证之前先查询该列表。

我们的具体做法,逐步说明

1. 发现 — 每次发布版本时,自动检查都会验证所交付的每个插件均由有效密钥签名。密钥轮换操作有误将导致检查失败。

2. 创建新密钥 — 其私钥部分在进行任何签名之前立即妥善保管。

3. 替换,而非添加 — 旧密钥从应用中移除,并加入已移除密钥列表。

4. 重新签名 — 使用新密钥为每个官方插件重新签名。

5. 验证 — 测试确认没有任何插件携带已移除的密钥,且已移除的密钥绝不会被重新启用。

6. 分发 — 通过签名更新发布修正版本。

7. 告知 — 发布说明会注明被移除的密钥、日期和原因。仍使用该密钥签名的插件将无法再加载:这是有意为之。

我们曾经遇到的情况

2026 年 9 月 22 日,我们在准备为一个插件重新签名时,发现我们于 9 月 4 日创建的一个密钥的私钥部分已经丢失:它从未被妥善保管。随后几分钟内,我们启用了新密钥,重新签名了插件,并移除了旧密钥。没有任何插件被第三方签名。

但这次丢失直到事发 18 天后才被发现,因为当时没有任何机制检查密钥是否仍然存在。因此,第 2 步现在要求在任何签名之前妥善保管密钥。