虚空数字保险箱(Void Digital Vault)是一套面向高净值个人、家族办公室与资产顾问的私人资产登记与数字遗产工具。它把「银行保险柜」的私密性延伸到数字世界:资产清单、账号凭证、加密私钥、保单与遗嘱线索,统一以密文形式保存。
本白皮书描述产品采用的加密原语、协议流程与安全假设。产品遵循「客户端信任」模型:一切解密能力归属用户,平台不持有任何可还原明文的密钥。
我们假定以下攻击者能力最坏组合成立:
在上述任意组合下,攻击者最多获得密文、nonce、盐值与公开元数据(如时间戳、条目数量)。由于主密钥永不离开用户设备,攻击者无法解密密文,也无法在不触发认证标签校验的情况下篡改数据。
明确边界:本产品不防御「用户在已被攻陷的设备上输入主密码」。设备安全是用户责任,白皮书第 9 节提供缓解建议。
保险箱是一个「加密信封」(Vault Envelope),由用户在浏览器内构建,通过加密通道同步到服务端。整体数据流:
| 环节 | 输入 | 输出 | 位置 |
|---|---|---|---|
| 密钥派生 | 主密码 + 随机盐 | Vault Key(256-bit) | 浏览器 WASM |
| 信封密封 | 明文条目 + Vault Key | AES-256-GCM 密文 | 浏览器 WebCrypto |
| 同步 | 密文信封 | TLS 传输 + KV 存储 | 服务端 |
| 解密 | 密文 + Vault Key | 明文条目 | 浏览器 WebCrypto |
服务端角色被限制为「密文收发 + 无密钥的元数据计数 + 心跳计时」。服务端不参与任何加密运算。
主密码必须经内存硬函数加固,否则低熵密码可被高速 GPU/FPGA 破解。本产品使用 Argon2id(Password Hashing Competition 冠军,OWASP 推荐)。
| 参数 | 取值 | 说明 |
|---|---|---|
| version | 19 (0x13) | Argon2 最新版 |
| variant | id | 抗侧信道 + 抗 GPU |
| m | 64 MiB | 内存成本,浏览器可接受上限 |
| t | 3 | 迭代次数 |
| p | 4 | 并行度(车道) |
| salt | 16 字节随机 | 每保险箱独立 |
| 输出 | 32 字节 | Vault Key |
Argon2id 通过内存硬化把单次密码尝试的成本提升数个数量级:即便采用最高端攻击硬件,16 字符强密码的搜索空间在计算上不可行。
信封内部每条资产记录独立加密,使用 AES-256-GCM(WebCrypto 原生支持,无第三方依赖)。
解密时先验证认证标签再返回明文,规避 padding oracle 类攻击。GCM 是当前 Web 生态下认证加密的稳健选择,且得到硬件 AES 指令加速。
家族版支持多人共管。共管采用 X25519 曲线 Diffie-Hellman 的混合加密(HPKE 风格):
由此实现:成员被移除后无法再解密(其公钥从信封列表移除即可),且每次授权变更在审计日志留痕。
「心跳延迟解锁」是本产品面向数字遗产的核心机制,实现安全版「无人认领即释放」。
lastSeen 更新为当前时间。lastSeen + grace 计算解锁时刻 unlockAt。unlockAt 之前,信封状态为 locked,任何人(含服务端)无法读取继承内容。unlockAt(用户失联),信封状态变为 unlocked,受益人可凭其私钥解密继承密钥包。安全性说明:服务端只保存密文信封、宽限期与解锁时刻。即便服务器在「锁定」阶段被攻破,攻击者仍得不到任何可用明文——它只是多了一个不可解的密文。
实物资产在清单中可携带位置信息,构成私有资产地图。
位置数据同样走客户端加密:坐标作为条目明文,在设备上加密后再同步,服务端不存明文坐标。
围绕「主密码遗忘」这一零知识系统最大痛点,提供两级恢复:
| 方案 | 机制 | 适用 |
|---|---|---|
| 恢复信封(打印) | 信封密钥以二维码打印,离线保管 | 个人 |
| 恢复分片 | Shamir 秘密分享,分片托管给可信亲友 | 家族 / 机构 |
任何恢复方案都不涉及服务端托管。第 7 节的遗嘱信封则提供「意外失联」场景下的继承路径,与恢复信封互补。
设备安全建议:主密码仅在与平台隔离的受信设备输入;使用硬件安全模块(如 YubiKey)保护解锁流程;定期通过本白皮书第 10 节的方法验证密文完整性。
用户可以、也应当验证系统的零知识承诺: