
在SafeW中怎么对同一文件创建多把限时密钥并分别回收?
功能定位:为什么要在 SafeW 里给一份文件配多把限时密钥
在 SafeW 的「零知识保管库」体系中,每把密钥本质是一段带链上时间戳的可撤销授权票。把多把限时密钥指向同一文件,可在不移动文件的前提下,把「读取、解密、转存」权限拆成多段短生命周期,分别交给不同对象。相比传统“把文件复制 N 份再逐份加密”,SafeW 做法节省 90% 以上存储,且回收时只需链上作废,不必重新上传。
该功能最早在 2025Q4 的 v7.3.0 以「分时钥匙」名称出现,仅支持单密钥;v7.4.1 起正式更名为「限时密钥 (Time-Key)」,并开放「批量创建 & 独立回收」接口。移动端与桌面端共用同一套密钥池,区别仅在于交互入口。
前置检查:版本、网络与权限
1. 版本:请确认已升级至截至当前的最新版本(桌面 7.4.1 / 移动 7.4.1 build 200258)。旧版无独立回收按钮,只能等密钥自动过期。
2. 网络:创建与回收都需要走「分布式节点 Relay」的 443 出口,若公司防火墙强制 DPI 白名单,请在「设置-网络诊断」里把 SafeW 进程加入 SSL 旁路信任。
3. 权限:文件必须位于「保管库」分区,且你拥有 Owner DID;若文件放在「公开缓存」或「临时沙盒」,系统会隐藏「限时密钥」Tab。
桌面端最短操作路径(Windows / macOS / Linux 三端一致)
- 在隐私浏览器地址栏侧边的「保管库」图标里,找到目标文件,右键 → 「共享」→ 「限时密钥」。
- 在弹出抽屉里点击「+ 新增批次」,填写:
- 数量(例如 5 把)
- 单把时长(最短 15 分钟,最长 7 天)
- 是否允许「二次转发」
- 确认后,SafeW 会本地生成密钥包,并给出「批次 ID」与「一次性下载链接」。链接默认使用 HTTPS-Only,若对方使用洋葱网络,可切换「.onion 镜像」。
- 点击「完成」即上链,界面回到列表视图。每把密钥右侧有独立「回收」按钮。
经验性观察:若一次性创建 >50 把,界面会出现「批量中……」进度条,耗时约数十秒(因设备而异)。
移动端最短操作路径(Android / iOS)
1. 打开 SafeW App → 底部「钱包」页 → 顶部「保管库」标签 → 长按文件 → 「共享」→ 「限时密钥」。
2. 后续步骤与桌面端相同,但抽屉从底部滑出。iOS 若启用「FaceID 自动签名」,可省略一次密码输入;Android 若使用指纹 TEE,同样免密。
3. 移动端支持「Tap-2-Warp」快速分享:把 NFC 标签贴在对方手机背面,可自动填充一次性链接,无需扫码。
如何单独回收其中一把密钥
在「限时密钥」列表,每把密钥右侧都有「🗑 回收」图标。点击后需二次生物识别确认,链上交易哈希即刻生成,对方客户端在下次握手(最长 5 分钟)就会收到「KeyRevoked」错误。回收动作仅影响单把密钥,不会波及同批次其他密钥,也不会删除源文件。
一次性回收整批次:何时用、怎么用
若你创建时勾选了「批次统一回收」,界面会额外显示「回收整批」按钮。该功能适用于「活动结束统一清场」场景,例如线上发布会资料。注意:一旦整批回收,系统不再提供单把回滚,只能重新创建新批次。
例外与取舍:三种不建议拆密钥的场景
- 文件体积 >500 MB 且对方需要「流式解密播放」:多把密钥不会提升速度,反而因重复握手带来 3%–5% 额外延迟。
- 合规要求「一次授权永久可审计」:限时密钥在链上仅保留哈希,不存原文,若监管需要全文留痕,请改用「永久授权 + 只读日志」方案。
- 对方客户端低于 v7.2.0:旧版无法识别 Kyber 密钥交换,会报「UnsupportedCipher」。
与第三方 Bot 协同的最小权限原则
经验性观察:部分团队用 Telegram 机器人做「自动发钥匙」。SafeW 并未开放官方 Bot,故只能借助「自己托管的通报机器人」监听链上事件。实现时,请只给 Bot「只读」权限,通过 SafeW 提供的 Webhook URL(格式为 https://relay.safew.net/v1/txn?filter=keyrevoke)推送哈希,而非明文文件名,避免侧漏。
故障排查:回收后对方仍能打开?
| 现象 | 最可能原因 | 验证步骤 | 处置 |
|---|---|---|---|
| 回收后 10 分钟内仍可解密 | 本地缓存未过期 | 让对方在 SafeW 里「设置-隐私-立即清除缓存」 | 重新打开文件应提示 KeyRevoked |
| 桌面端报「QKY_QKD_UNREACHABLE」 | UDP 6771 被防火墙拦截 | 在「网络诊断」里看 Kyber 节点是否全红 | 在边界放行 6771 并开启 DSCP 46 |
| iOS Tap-2-Warp 无反应 | NFC 安全超时 | 关闭「实验室功能-NFC 安全超时」 | 重新贴手机上半区 3 秒 |
适用 / 不适用场景清单
适用:短期外包、跨公司数据交换、线上课程课后资料、NFT 白名单临时解密、红队报告分段披露。
不适用:大于 500 MB 的流媒体、需要永久审计的上市底稿、对方仍在 Windows 7 或 SafeW 版本低于 7.2.0。
最佳实践速查表
- 先评估文件大小与网络环境,再决定是否拆密钥。
- 创建批次时写清楚「用途+失效日期」备注,方便 30 天后自己查账。
- 整批密钥超过 100 把时,用「CSV 导出」功能留档,别把一次性链接全丢在群聊。
- 回收后 24 小时再检查一次「事件」页,确认链上哈希状态为 Revoked。
- 若对方需要续期,不要直接改旧密钥,而是「克隆新批次」,避免审计断层。
FAQ(使用 FAQPage Schema)
1. 限时密钥能否设置「只读不可下载」?
目前 SafeW 的解密即视为「已下载」,暂无「仅在线预览」开关。若需防下载,可改用「SafeW 直播演示模式」或把文件转码为水印视频流。
2. 回收密钥会退还 SAFE 代币吗?
不会。链上手续费已在创建时一次性扣除,回收属于「写入」操作,需再付少量 Gas,但远低于创建成本。
3. 可以把限时密钥转给非 SafeW 用户吗?
可以。对方只需打开一次性链接,浏览器会自动拉起 Web 版解密页;但首次需安装 SafeW 轻量扩展(<5 MB),否则无法完成 Kyber 握手。
4. 为什么批次里偶尔显示「Pending」超过 5 分钟?
多出现在网络切换瞬间(如 Wi-Fi 到 5G)。可在「设置-网络诊断」点击「强制重广播」,通常数十秒内状态会变 Confirmed。
5. 能否用命令行批量创建?
SafeW 暂未开放官方 CLI;社区有开源示例脚本(调用本地 RPC),但需自行承担泄漏私钥风险。生产环境建议用 GUI 或等官方 API。
收尾:下一步行动建议
如果你第一次使用,建议先用 15 分钟 / 2 把密钥的组合对一份 10 MB 的测试 PDF 做「创建-分享-回收」全流程,确认网络与防火墙无阻碍后,再放大到正式项目。已经熟悉的老用户,可结合「AI 零信任策略引擎」给不同批次设置动态风险评分,实现「谁、何时、在哪」三维条件的自动回收。最后,记得在 30 天后回到「事件」页导出 CSV,把链上哈希归档到内部合规系统,完成闭环。
