V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
flyingHagan
V2EX  ›  程序员

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

  •  
  •   flyingHagan · 2018-02-06 17:34:58 +08:00 · 4051 次点击
    这是一个创建于 2487 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    7 条回复    2018-02-08 11:54:20 +08:00
    580a388da131
        1
    580a388da131  
       2018-02-06 18:04:07 +08:00 via iPhone
    seafile 试过吗
    summerwar
        2
    summerwar  
       2018-02-06 18:04:12 +08:00
    7za 打包加密,密码保存数据库就行了,需要的时候解密
    annielong
        3
    annielong  
       2018-02-06 18:08:22 +08:00
    seafile 的分块存储应该够用了,
    ucaime
        4
    ucaime  
       2018-02-06 18:26:15 +08:00
    对加密要求不高 Seafile 足够了。
    想做到 mega.nz 这种程度,加密算法必然无比消耗计算资源,而且还要考虑传输加密。敏感场景传输前就在终端做了加密了。
    ucaime
        5
    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
        6
    msg7086  
       2018-02-06 22:31:29 +08:00
    服务端加密的话,服务器是能看到文件内容的。你说的服务器看不到的那是客户端加密。客户端加密的话自然也不可能通过修改服务器上的密码来解决,任何在服务器上的密码都会导致文件内容泄密。
    LeungJZ
        7
    LeungJZ  
       2018-02-08 11:54:20 +08:00
    @ucaime
    mega +1
    不过是别人的服务器,看你们感觉安全不安全。
    我都因为丢失秘钥而丢失了 30G 的珍藏。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4944 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 03:56 · PVG 11:56 · LAX 19:56 · JFK 22:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.