有什么能通过不受信任节点安全防篡改分发文件的方法吗?

2022-10-19 15:44:31 +08:00
 edis0n0

需求是给客户分发视频、压缩包等大文件,大家都知道国内网盘下载不是限速就是要注册、下客户端,直接这样分享太不专业了(知道某些企业网盘可以但不太想用,还是想完全可控,用自己域名),大厂对象存储流量又很贵,于是买了几个小商家的大带宽服务器搭 MinIO 节点(大厂的可信任主节点通过 MinIO 的 replication 功能实时分发文件给这些小商家节点,客户访问的时候随机 301 到一个在线节点)。但还存在 1 个问题,这些小厂的信誉无法保证他们不会偷偷替换我硬盘上的文件(服务器在他们那,实施起来完全没有技术难度)目前想到的方案是像 Mega 网盘分享那样下载到浏览器缓存中,解密后再存盘,但问题是兼容性可能不是很好,需要用户系统盘剩余容量大于我分享的文件大小(大家都知道很多国内用户系统盘分区分得很小,动不动就满)也不符合国内用户的使用习惯。有没有 V 友有更好的方案?

2596 次点击
所在节点    程序员
44 条回复
SunsetShimmer
2022-10-19 23:56:41 +08:00
@SunsetShimmer 这个 sha256 的实现在 https://tails.boum.org/install/inc/js/download.js ,主要在 verifyFile 函数,貌似也引用了 https://tails.boum.org/install/inc/js/forge.sha256.min.js
9268peng
2022-10-20 00:11:19 +08:00
某 pcdn 在某电视上的使用简化:在电视上运行 pcdn 的 sdk 并监听一个本机端口,电视把播放地址通过这个端口给星域的 sdk ,然后就可以接受视频了。
百度的做法,我理解是在家宽做的这个 sdk ,或者你绕过本地的客户端下载就是无法验证篡改的,我觉得你把他们的安全想的太好了。。
baobao1270
2022-10-20 07:29:24 +08:00
比较好的做法:提供 HASH 或 GPG 签名,并教育用户验证 HASH
最节约成本的做法:带密码的 ZIP 压缩包
julyclyde
2022-10-20 09:02:02 +08:00
按你这个“给客户分发视频……等大文件”的需求
应该直接邮寄硬盘

目前电影行业就是这么搞的,直接快递硬盘,里边存着加密的视频文件。电影院用 U 盾在线申请播放密钥来解密

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/888136

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX