ZDPP Migration Protocol 1.0 第一阶段开放迁移格式,2026-10-08。 用途:无需诸葛服务器,使用用户持有的恢复包和口令解密内容。格式公开,不依赖本站账号在线。 范围:身份描述、八类资产原文、每版原文件、权利声明、来源、版本指纹、独立副本自查记录。 本版不包含:外部链接目标文件、登录凭据、服务密钥、第三方签名凭证、可信时间戳、独立 DID 解析、自动运行智能助手或数字继承。 编码:UTF-8 JSON。恢复包结构: { "format": "zdpp-recovery", "version": 1, "exportedAt": "ISO 8601 时间", "envelope": { "format": "zdpp-vault", "version": 1, "kdf": "PBKDF2-SHA256", "iterations": 600000, "salt": "16 字节随机盐的标准 Base64", "iv": "12 字节随机 IV 的标准 Base64", "ciphertext": "AES-256-GCM 密文及尾部 16 字节认证标签的标准 Base64", "digest": "密文字节 SHA-256,小写十六进制" }, "integrity": "除本字段外整个对象的规范 JSON SHA-256" } 规范 JSON:对象键按 Unicode/JavaScript 字符串次序排序;数组保持原顺序;标量使用 JSON 编码;不添加额外空白。使用 UTF-8 求哈希。 密钥推导:口令未经 Unicode 归一化或修剪,编码为 UTF-8;PBKDF2-HMAC-SHA256,600000 次,16 字节盐,256 位结果。 解密:AES-256-GCM,128 位标签,12 字节 IV,附加认证数据为 UTF-8 字符串 zdpp-vault:v1。 所有随机值由设备密码学随机数发生器生成,每次保存生成新的 IV。密钥在网页运行期间以内存中的不可导出 CryptoKey 持有。 明文格式:format=zdpp-content,version=1,id 为 UUID,identity 为 Zhuge ID/既有身份关联状态,createdAt 为设备时间,assets 和 backups 为数组。 asset:id(稳定 UUID)、origin(最初登记的 Zhuge ID)、archived(保留记录)、versions(完整历史版本)。 version:id、at、title、kind、creator、owner、controller、beneficiary、rights、transferable、inheritable、content、location、file、digest。 kind 为 identity/reputation/knowledge/ai/creative/relationship/contribution/rights。 file 为 null 或 {name,mediaType,bytes,data,sha256};data 是原始字节标准 Base64,sha256 为原始文件哈希。取回时按原始字节保存,不执行文件内容。 version.digest 是除 digest 本身之外版本对象的规范 JSON SHA-256。 backups 中 kind 为 personal/independent/cold;note、checkedAt、envelopeDigest 是本人检查记录,不是第三方存储或独立性证明。 容量:单文件最大 2 MiB;明文总计最大 7 MiB;密文最大 8 MiB;恢复包文件最大 12 MiB;最多 500 项资产、每项 100 个版本、50 条副本检查记录。 验证顺序:先限制文件长度;检查格式和版本;验证外层哈希;验证密文哈希;推导密钥并认证解密;检查明文结构、资产编号唯一、每版哈希、原文件长度和哈希。未知版本、算法、迭代数或校验失败应拒绝。 合并规则:新编号追加;相同编号及完全相同内容跳过;相同编号内容不同报冲突,不自动覆盖。原始 origin 与权利声明保留。 安全与权利边界: - 口令及明文不发送给平台,不写入浏览器持久存储。平台没有解密总钥匙,也无法帮助找回丢失口令。 - AES 认证证明持有密钥者产生了该内容,不证明创作者身份或法律权利;哈希不证明版权及可信时间。 - 网页运行依赖设备与网页代码可信;服务器被攻破后恶意替换网页、设备恶意软件和弱口令不在本实现保护能力内。 - 用户持有的恢复包可独立恢复内容。A/B 主权等级、外部权利验证和四个真正独立副本需要另外验证,当前产品不签发该等级。 - 离线阅读器禁止网络连接;解密后的下载文件属于明文,请保存在自己控制的环境。 参考实现:frontend/src/lib/zdpp.ts。离线阅读器由相同实现生成,使用浏览器 Web Crypto API;不需要本站服务或 CDN。 算法参考:https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/encrypt 口令推导参考:https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html