多人公用的“网盘”系统,如何实现服务端文件加密?

2018-02-06 17:34:58 +08:00
 flyingHagan

有一个 VPS,想要搭建类似 SMB 的服务供几个人一起当作网盘用,其中最大的需求就是,每个用户的文件只有自己能通过密码访问,在服务端这些文件是加密的,包括 root 用户也无法解密,更看不到明文,同时,每个用户可以修改自己的密码。其他的需求也包括管理员可以方便地增删改用户、管理每个用户的容量等。

之前用过一段时间 nextcloud,但是感觉耗费资源比较多,在廉价 VPS+几个用户+只有文件存储需求的情况下,有点太重量级。

这种问题,有没有现成的方案,或者这方面的思路呢?

4049 次点击
所在节点    程序员
7 条回复
580a388da131
2018-02-06 18:04:07 +08:00
seafile 试过吗
summerwar
2018-02-06 18:04:12 +08:00
7za 打包加密,密码保存数据库就行了,需要的时候解密
annielong
2018-02-06 18:08:22 +08:00
seafile 的分块存储应该够用了,
ucaime
2018-02-06 18:26:15 +08:00
对加密要求不高 Seafile 足够了。
想做到 mega.nz 这种程度,加密算法必然无比消耗计算资源,而且还要考虑传输加密。敏感场景传输前就在终端做了加密了。
ucaime
2018-02-06 18:28:40 +08:00
MEGA 的主要开发者 Dotcom 表示 MEGA 使用 AES 进行客户端加密,由于 MEGA 服务器端不知道上传文件的加密密钥,因此无法解密和查看内容。因此,他们不对用户上传文件的内容负责。[35]Dotcom 还表示,文件的加密允许他们与世界各地数据托管公司合作,减少政府和 ISP 检测服务器的内容的审查。他在接受 Ars Technica 的采访时提到“每个文件至少分别存储在两个地理位置不同的托管服务器上( Each file will be kept with at least two different hosters [sic], [in] at least two different locations )”“这对我们的好处是显而易见的,就算你可以与最小,最不可靠的托管公司合作也没关系,因为他们无法对存储数据做任何事情( That ’ s a great added benefit for us because you can work with the smallest, most unreliable [hosting] companies. It doesn ’ t matter because they can ’ t do anything with that data.)”。
msg7086
2018-02-06 22:31:29 +08:00
服务端加密的话,服务器是能看到文件内容的。你说的服务器看不到的那是客户端加密。客户端加密的话自然也不可能通过修改服务器上的密码来解决,任何在服务器上的密码都会导致文件内容泄密。
LeungJZ
2018-02-08 11:54:20 +08:00
@ucaime
mega +1
不过是别人的服务器,看你们感觉安全不安全。
我都因为丢失秘钥而丢失了 30G 的珍藏。

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

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

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

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

© 2021 V2EX