网易首页 > 网易号 > 正文 申请入驻

不信任服务器:一个零知识云盘密码学骨架全拆解

0
分享至

你大概听过“端到端加密”这个词。多数云存储服务的意思是——文件在传输时加密了,在服务器上又以加密形式存放,但服务器那边握着密钥。如果有人彻底控制了服务器,你的数据也就不再是秘密。Silvora 这套设计换了一种思路:服务器上只存密文,整个服务端连一行解密代码都没有。即便攻击者拿到了全部服务器权限,在数学上也无法读出哪怕一个文件的内容。这个保证不是营销话术,而是由一套实打实的密码学架构支撑起来的。

我自己做了两年,白天教编程,晚上和周末写代码,一点点把 Silvora 的加密骨架搭好。下面要说的,不是宣传页面上的精简版,而是每一个密码学组件的选型理由,以及它们共同形成的安全边界。

第一层:主密钥的诞生与存活
一切都从用户设置的密码开始。但你的密码从不离开设备——甚至连哈希值都不会传到服务器去。在注册或解锁时,设备本地使用 Argon2id 算法从密码派生出主密钥,具体参数是:内存使用量 64MB、迭代次数 3、并行度 2。这几个数字全都超过了 OWASP 推荐的底线。而且服务端还设了一道硬门槛:如果客户端试图提交用更弱参数算出的结果,请求会被直接拒绝。这样就没有人可以为了省电而在本地偷偷降低派生强度,然后指望服务器睁一只眼闭一只眼。

主密钥诞生之后,也只在内存里活一小段时间。它从来不会写到磁盘上,也不会出现在任何日志里。一旦你把保险库锁定,或者把应用切到后台,这段内存就会被 fillRange(0) 逐字节清零,然后再释放。换句话说,即便同一台设备后来被人做了内存转储,也很难拼凑出先前存在过的主密钥。

第二层:每个文件一把新钥匙
用唯一的主密钥直接加密所有文件,是个设计上的陷阱。因为只要某一天主密钥意外泄露,所有文件就会在同一瞬间全部沦陷。于是每个文件都拥有属于自己的独立加密密钥,通过 HKDF-SHA256 从主密钥派生出来:
per_file_key = HKDF(master_key, salt=file_id, info="silvora-file-encryption-v1", length=32)
这里 info 字段担任的是一种“域分离”角色。它确保即使 salt 和主密钥不变,为文件加密派生出来的密钥,也绝对不能被用在其他场景——比如恢复密钥的派生、或者分块密钥的派生里。每一个应用场景都有专属的 info 标签,密码学上彼此隔绝。

在文件之下,每个分块(chunk)也同样采用 HKDF 派生专钥,并且使用各自独立的域分离符。这样做的意义很直白:就算同一个文件内部,不同分块的密钥之间也毫无关联,一块被破解不会牵连其他块。

第三层:加密与认证
每个分块都使用 XChaCha20-Poly1305 AEAD 算法进行加密和认证。为什么不用 AES?原因有四:
1. 192 位的 nonce 非常大,即使在极大规模下发生 nonce 重复的概率也低到可以忽略;
2. XChaCha20 是流密码,不依赖特定硬件加速,在所有设备上都能做到常数时间执行,不会有侧信道时间差异;
3. 它天然避免填充预言攻击这类困扰块密码的问题;
4. Poly1305 提供数据认证——任何篡改都会被立即检测出来,密文完整且不可伪造。

每次调用加密时,都会生成一个全新的随机 nonce。在这层防护之上,服务器端还会额外检查是否出现过 nonce 重放,作为第二道防线。这样一来,即便客户端在极端异常情况下错误复用了 nonce,服务端也能捕获并拒绝写入。

第四层:恢复却不让服务器知道
传统系统里忘了密码,可以在服务端重置,因为服务器一侧至少存着一些验证凭据。但 Silvora 的服务器什么也不知道,这条路就走不通了。于是有了另一套方案:注册时,您的设备会生成一个符合 BIP39 标准的 24 词恢复短语,提供 256 位的熵。主密钥会被这个短语派生的密钥加密,然后把加密后的 blob 存到服务器上——依旧是密文。整个恢复过程全部在本地完成:服务器将加密 blob 返回给客户端,您输入的恢复短语在本地解开主密钥,服务器自始至终都看不到恢复短语或主密钥的一丁点内容。

为了确保用户真的记录下了短语,引导流程里有一个不能跳过的验证步骤:系统随机挑出 3 个单词,你必须正确点选出来。这个设计背后是一个冷酷的事实——在零知识体系里,丢失恢复短语就等于永久丢失数据。没有后门,没有客服能帮你找回。用一个无法逃避的确认动作,去匹配这份不可挽回的后果,才足够诚实。

这些决策堆积起来,构成了一个清晰的边界:所有的加密、解密、派生、认证运算全部跑在用户的设备上。服务器看到的,只是一堆不可读的字节。密钥层级的设计使得单点泄露不会演变成全局灾难,而恢复机制的完全客户端化则守住了“服务器零知识”这条红线。下次有人问起,一个不信任服务器的云存储到底能做到多安全,或许可以把这篇拆解当作注脚——它至少说明,不需要把信任交给云端,也能把文件保护得相当严密。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

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.

相关推荐
热点推荐
63岁心梗老人去看一颗牙,宝鸡大团圆口腔医院一次拔了12颗种10颗,刷光18800元还欠6200元

63岁心梗老人去看一颗牙,宝鸡大团圆口腔医院一次拔了12颗种10颗,刷光18800元还欠6200元

大风新闻
2026-07-04 18:31:09
沮丧,摩洛哥前锋赛巴里世界杯伤退后掩面,三天前他刚刚加盟拜仁

沮丧,摩洛哥前锋赛巴里世界杯伤退后掩面,三天前他刚刚加盟拜仁

懂球帝
2026-07-05 01:54:09
第十四届全国政协委员、国家发展改革委原党组成员、国家能源局原党组书记、局长章建华到绿能公司调研

第十四届全国政协委员、国家发展改革委原党组成员、国家能源局原党组书记、局长章建华到绿能公司调研

新浪财经
2026-07-05 03:43:01
世体:自世界杯首战表现不佳后,B席在葡萄牙队已经没有位置

世体:自世界杯首战表现不佳后,B席在葡萄牙队已经没有位置

懂球帝
2026-07-04 11:45:09
哈梅内伊葬礼:主角最高精神领袖穆杰塔巴以纸板人身份出席

哈梅内伊葬礼:主角最高精神领袖穆杰塔巴以纸板人身份出席

微评社
2026-07-04 15:21:06
小某书在批量生产“擦边”跑步网红

小某书在批量生产“擦边”跑步网红

马拉松跑步健身
2026-07-04 20:33:50
巴黎新生儿70%是黑人,法国正在“换种”

巴黎新生儿70%是黑人,法国正在“换种”

李荣茂
2026-07-03 19:05:58
深圳男子30年前买保险退休月领50万!仅领1个月,保险公司不认了

深圳男子30年前买保险退休月领50万!仅领1个月,保险公司不认了

听心堂
2026-07-04 13:34:23
世界杯激烈冲突!姆巴佩被激怒,14人互相推搡,高卢雄鸡“中计”

世界杯激烈冲突!姆巴佩被激怒,14人互相推搡,高卢雄鸡“中计”

奥拜尔
2026-07-05 06:01:05
香港网红向郭富城、方媛道歉,承认发活动照片时只P了自己,没有“修饰”郭富城夫妇;否认恶意丑化他人,称他俩状态非常出色

香港网红向郭富城、方媛道歉,承认发活动照片时只P了自己,没有“修饰”郭富城夫妇;否认恶意丑化他人,称他俩状态非常出色

鲁中晨报
2026-07-04 09:30:04
乌克兰或用弹道导弹袭击莫斯科,“回合制”互袭首都愈演愈烈

乌克兰或用弹道导弹袭击莫斯科,“回合制”互袭首都愈演愈烈

澎湃新闻
2026-07-03 21:24:29
3-0横扫晋级!中国女乒29岁王牌闪耀:3战零封对手,会师孙颖莎

3-0横扫晋级!中国女乒29岁王牌闪耀:3战零封对手,会师孙颖莎

李喜林篮球绝杀
2026-07-04 10:08:13
穆帅眼光封神!1.5 亿水货世界杯现形,皇马放弃直接避开大坑

穆帅眼光封神!1.5 亿水货世界杯现形,皇马放弃直接避开大坑

奶盖熊本熊
2026-07-05 03:12:46
5.86元的农业银行没人敢买?我告诉你什么叫“跌出来的印钞机”

5.86元的农业银行没人敢买?我告诉你什么叫“跌出来的印钞机”

时尚的弄潮
2026-07-04 10:39:55
低价套餐不给办?移动人员提醒:办理套餐绕开10086,就打这3个

低价套餐不给办?移动人员提醒:办理套餐绕开10086,就打这3个

粤语音乐喷泉
2026-07-04 05:36:10
贪污上亿,假慈善,身体出问题?54岁的韩红到底动了谁的蛋糕?

贪污上亿,假慈善,身体出问题?54岁的韩红到底动了谁的蛋糕?

曹莽看世界
2026-07-04 10:36:07
苹果拒绝给印度交380亿罚款,印度一气将苹果630G机密数据泄露

苹果拒绝给印度交380亿罚款,印度一气将苹果630G机密数据泄露

流苏晚晴
2026-07-04 19:02:39
“北大毕业,月薪1600”,女孩满脸憔悴,网友:谁让你读这专业?

“北大毕业,月薪1600”,女孩满脸憔悴,网友:谁让你读这专业?

泽泽先生
2026-07-04 21:35:57
夺冠热门轰然倒下,球迷都哭了,底牌已经亮完,西班牙和法国笑了

夺冠热门轰然倒下,球迷都哭了,底牌已经亮完,西班牙和法国笑了

我就是一个说球的
2026-07-04 15:31:45
中国第一家吧?这家211高校宣布不再邮寄录取通知书,考生自己下载打印

中国第一家吧?这家211高校宣布不再邮寄录取通知书,考生自己下载打印

金水路7号站
2026-07-04 12:26:21
2026-07-05 06:48:49
全栈遛狗员
全栈遛狗员
白天跟需求对线,晚上在小区遛狗。
266文章数 84关注度
往期回顾 全部

科技要闻

韬定律论文V2版,充工程细节和实测数据

头条要闻

老人被一次拔12颗牙种10颗:能刷的钱都刷走 只剩30块

头条要闻

老人被一次拔12颗牙种10颗:能刷的钱都刷走 只剩30块

体育要闻

揭法国锋线最大优势 有人比姆巴佩还快?

娱乐要闻

白鹿打戏抠图惹非议 连累丞磊遭扒皮

财经要闻

韩国股市杠杆失控:450亿美元资金狂飙

汽车要闻

方程豹钛9内饰曝光 用上了长联屏设计/下半年上市

态度原创

本地
时尚
数码
公开课
军事航空

本地新闻

国内足球之旅?这座小城给你高分答案

别再说"露肩衣服 "难驾驭!看看这几组日常穿搭,大方有回头率

数码要闻

苏姿丰签名同款!极摩客EVO-X3 AI工作站全球开卖:国行版21699元起

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

普京宣布俄军“完全解放”卢甘斯克

无障碍浏览 进入关怀版