去年全球数据泄露平均成本创下488万美元新高,其中凭证盗窃仍是头号入口。你加密了数据库,分了片,加了多因素认证——但密钥作为"物体"存在,物体就能被偷。这是所有秘密存储系统的阿喀琉斯之踵。
Ritual Protocol的作者显然受够了这种猫鼠游戏。他们的解法堪称粗暴:干脆不存密钥。
密钥不是存出来的,是"演"出来的
这个协议的核心设定是:密钥通过一系列动作的精确复现来生成,而非从存储介质中读取。
作者把这套动作命名为"仪式"(Ritual)。相同的动作序列、相同的参数,每次输出完全一致的32字节。没有存储载体,也就没有针对存储的攻击面——偷无可偷。
仪式由有序的"仪轨"(Rite)组成。每个仪轨有类型和参数,顺序严格影响结果。[A,B,C]和[C,B,A]生成的密钥截然不同。V1版本定义了六种仪轨类型,可任意组合、重复,每次重复都增加熵值。
六种仪轨的设计刻意多元化:文本字符串、符号序列、文件切片、星图、城市与时间、网格符文。有人记得住一串符号,有人愿意用文件加偏移量,有人偏爱对自己有特殊意义的城市时刻组合——协议不预设用户的记忆方式,只保证可复现性。
「我喜欢这个设计。简单,好记。」——J.S.
三层KDF叠甲:让专用矿机失业
仪轨的哈希处理同样不走寻常路。每个仪轨独立经SHA256哈希,再按顺序折叠——仪轨顺序直接影响结果,这是协议的 intentional property(刻意设计的属性)。
最终状态要连过三关KDF(密钥派生函数):
Argon2id(64MB内存,t=3,p=4)→ scrypt(128MB)→ BLAKE2b-256
三者的内存访问模式各不相同。Argon2id是2015年密码学竞赛冠军,抗GPU/ASIC设计;scrypt早在2012年就为莱特币所用,以内存硬著称;BLAKE2b则是SHA-3决赛选手,速度极快。串联它们不是为了炫技——每种算法的硬件优化路径不同,叠加后大幅抬高专用暴力破解设备的成本。
每次暴力破解尝试消耗的内存和时间,与合法用户的最终派生成本相当。
当仪式熵值达到80位时,有效安全强度约126位。多出的46位来自KDF链的计算成本——这不是免费午餐,是明码标价的算力税。
32字节输出,其他不管
协议刻意保持极简:只输出32字节,后续怎么用是上层环境的事。参考实现用Go编写,编译为.dll/.so,附带简洁的C API——核心模块可以插进几乎任何系统。
GitHub仓库里有份"还算 decent"的演示(作者原话)。规范文档托管在Zenodo,DOI编号19090391,学术引用友好。
许可条款透着一股老派开源社区的傲娇:个人使用免费;拿来做生意的,"你知道去哪找我们"。
这个项目目前挂在Proof of Usefulness Hackathon的获奖名单里。这是个为期6个月的全球开发者挑战,15万美元现金奖励加软件积分,入围者还能拿到1500美元以上的软件和库存资源。
仪式化密钥派生并非全新概念——SRP协议、大脑钱包都探索过类似方向。但Ritual Protocol的完整规范、参考实现和明确的安全边界,让它从概念验证走向了可用工具。80位仪式熵的门槛是否对普通用户过高?三层KDF的延迟在移动端能否接受?这些问题的答案,恐怕要等第一批真实用户反馈。
协议作者没说的是:当密钥不再以"物体"形态存在,取证和监管会面临什么新局面?
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.