用什么方式来保证用户数据的私密性? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
clip
V2EX    问与答

用什么方式来保证用户数据的私密性?

  •  
  •   clip 2018-12-16 22:48:42 +08:00 2801 次点击
    这是一个创建于 2491 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如有一个笔记型的应用,用户可以创建笔记。

    那么怎么尽量保证用户笔记的私密性呢,包括但不限于:开发者不能直接看到用户的数据,网站遭遇攻击后用户的笔记内容不被泄露……

    语雀有提到双重密钥加密,但总觉得密钥应该也是存在服务器上的,同时拿到内容和密钥还是能解开。

    8 条回复    2018-12-17 13:28:13 +08:00
    dot2017
        1
    dot2017  
       2018-12-16 23:20:15 +08:00
    那为什么用户不直接上传加密后的笔记文件呢
    mason961125
        2
    mason961125  
       2018-12-16 23:21:15 +08:00
    这是道德 /法律问题,不是技术问题。
    iConnect
        3
    iConnect  
       2018-12-16 23:22:54 +08:00 via Android
    如果用户使用 yuque 进行黄赌毒的联系呢,你觉得资料也不可能看的到吗?个人隐私的资料还是本地多备份,企业核心机密自建最靠谱。
    t6attack
        4
    t6attack  
       2018-12-16 23:28:44 +08:00
    理论上不可行,除非把私钥交给用户自己保存。
    客户端可以把密钥放在用户设备上。web 端只能每次访问时让用户自己提供密钥。

    另外:如果用云主机,那么云主机厂商也可以轻松拿到你所有的数据。
    不管怎么加密,用户的明文数据一定在云主机的 内存 中出现过。云主机的内存对宿主机是完全透明的。拿你的数据,不是能不能的问题,只是想不想的问题。

    刻意强调连自己都拿不到数据。这就相等于在说:我们对 XX 云比对自己还信任。
    takato
        5
    takato  
       2018-12-16 23:37:30 +08:00
    已经有了类似的。
    https://www.graphitedocs.com/

    要做到这一点,密钥一定只能交给用户保存。
    但是要这么做,和某些监管条例是违背的,比如现在的澳洲就不行。
    clip
        6
    clip  
    OP
       2018-12-17 10:50:59 +08:00
    1. 最简单的是直接把用户数据明文存,但这样开发者可以直接通过数据库看到用户的内容。

    2. 然后前面只考虑了隐私没考虑法律监管。( cc @mason961125 @takato @iConnect )再就是数据库存一个加密后的内容,密钥也存在服务器上但分隔开,有一层加解密的操作。开发者**不能直接**看到数据库中内容。但执行一下解密程序还是能看到。可以一定程度上提高解密程序的权限,剩下的估计就是道德和法律问题了。

    3. 还有就是类似 1Password 那种的用户自己设置一个密钥,直接在客户端加解密,网络上传输给交给服务器的都是加密后的数据( cc @t6attack 这样就不用担心云主机了吧),坏处是不能找回密码,丢了的话数据就全了。( cc @dot2017
    不上传加密后的一方面是为了便捷性之类的吧)

    4. 云存储方案是把笔记存储放到类似 iCloud 的存储上,直接客户端和云存储通信,相当于把锅甩给了 iCloud。这样应用的开发者看不到数据。

    综合考虑可能选择 2 或 4 比较合适。

    我回头再研究下 graphitedocs,多谢 @takato
    agagega
        7
    agagega  
       2018-12-17 12:37:47 +08:00 via iPhone
    @clip 2 主要是防泄露,3 应该是端到端加密的做法了
    peihanw
        8
    peihanw  
       2018-12-17 13:28:13 +08:00
    https://tutanota.com/ 据说是全程加密且开源的,供参考
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2733 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 22ms UTC 08:41 PVG 16:41 LAX 01:41 JFK 04:41
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86