关于数据同步提供内置密钥的讨论

本贴最后更新于 344 天前,其中的信息可能已经物是人非

提供内置密钥不是取代自定义密钥,而是两种密钥生成方式用户自己选择。

  • 内置密钥:通过不可变的用户账号信息(比如用户 ID 等)在云端自动生成并保存密钥
  • 自定义密钥:现有的密钥生成方式,在本地生成并保存密钥

内置密钥的优点:对于新用户友好,用户无需记住密钥,只要登录账号就可以使用内置密钥加解密数据快照

内置密钥的缺点:安全性没有自定义密钥高,技术上开发者是可以解密云端数据的

总得来说,内置密钥是降低一些安全性而提升便利性。

你是否赞同提供内置密钥?

单选 公开 已于 2023-05-18 17:45:00 结束 135 票
赞同
33% 45 票
反对
66% 90 票

如果你投了反对票,方便的话请在评论区描述一下反对的理由,也欢迎在评论区补充其他观点,谢谢。

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    18612 引用 • 69256 回帖
5 操作
88250 管理员在 2023-05-18 09:08:01 取消置顶了该帖
88250 管理员在 2023-05-11 22:29:16 置顶了该帖
88250 在 2023-05-11 19:09:06 更新了该帖
88250 在 2023-05-11 18:54:39 更新了该帖 88250 在 2023-05-11 17:57:25 置顶了该帖

相关帖子

优质回帖
  • zuoez02 7 赞同

    内置方案有悖思源隐私性的特点,主打的安全性将被破坏。托管客户的密钥也将置官方于不利境地,相当于是沦落为跟 Notion、FlowUs、Wolai 同流了。客户无法相信审查是不是就是下一步。

    思源作为一家非常注重云端数据隐私性的笔记厂商,建议借鉴 1Password 在密钥管理方面的经验。在生成密钥时生成“急救包”,告诫用户做好保存。

    SASHUZ63WOFBKF.png

  • bug320 5 赞同

    内置密钥会让人“敏感”起来。而且,忘记密码这种事情,本地都是明文加密,重置密钥上传即可。这个功能,我觉得还是不要加为好。如果要加,第一,不能设置成“默认”的密钥选项;第二,请务必保留自定义密钥功能。

    如果是对小白,可以考虑把这块的帮助说明写的详细点。

    像我这种把个人账号、日记啥的写到笔记软件的人,还是比较在意这块的。从“某来”软件迁出的原因,就是因为知乎上帖子,虽然无法对帖子真假性判断,但还是本着“万一是真的呢”的想法,开始比对市面主要的几款软件,最后选了 siyuan。我当时选择 siyuan,最开始还是冲着“完全本地 ”、“端到端加密”、“国内的软件”去的。

  • yawei 1 4 赞同

    我投了反对票。

    原因:对于我这样的普通用户,不要给我介绍太多技术细节,我需要的只是一个简单粗暴的结论。你就告诉我,如果使用自定义密钥,除了你自己谁也看不到你写的东西。哪怕你写了一些不正确的,不能见光的,ZZ 敏感的东西,只要你保管好自己的电脑,就不用担心这些文字被别人截获。如果是这样,哪怕我同时还在用 workflowy, remnote 等一堆云端笔记,我也不会抛弃思源。

    但如果你告诉我,你的云端数据是会被解谜的哦。哪怕可能性只有 0.00000001%,我打字的时候心里也会有些膈应...我从来没看过 WX,WB 这些 app 的隐私政策,但是有些话我绝对不会在上面说...

    与其说是个技术问题,不如说是个心理问题,或者刻板影响。

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • zxhd86 2 赞同 1 评论

    我投了反对票,是因为在我看来这个是安全不绝对,等于绝对不安全。

    首先,我认为安全性不是下降一点,而是下降到稍微努力就能攻破的地步。

    思源是开源软件,加密算法是公开的。从这个角度来说,开发者和攻击者所站的高度是一致的,假如得到了不可变的账号信息,那么攻破云端数据加密不在话下。也就是说,思源的安全等级从之前的目前技术无法攻破变为了上限是攻破密码即可。如果对于不可变的账号信息的选择不慎,那可能连破解密码都不需要。

    而哪怕是上限,密码所能提供的保护能力是极其低下的,目前 QQ、微信之流都增加了验证步骤,就足以见得。

    其次,思源作为一个实体存在的公司运营的产品,就必须考虑政策的影响。很多时候,不是开发者自己不愿意侵入用户隐私就能如愿的,当你有能力的时候,用户的安全只取决于政策的变动。如果政策需要登记用户的笔记内容(这可能听起来有点扯,但是你必须考虑有这种可能),你作为有能力的开发者,你就必须照做。对于这种问题,最好的做法就是不要打开潘多拉的魔盒,不要触及这种风险。

    最后,说一点题外话,就算有了内置密钥,而且新的用户基本选择了内置密钥,难道就说明他们愿意放弃真正的安全性?他们可能只是不理解这么麻烦的意义,所以从方便起见,选择了只方便一点的方案。对于这些用户,我们更应该教育他们,替他们作出决断,而不是把选择直接交给他们,这在我看来无疑就是一个免责声明而已。

    1 回复
    首先,针对开源软件,加密的原理是破解的代价非常大(耗时是天文数字),理论上就是安全的。同时后端关于审查的内容支持,D 大也要考虑一下如果思源用户再多起来以后,审查的事情要好好考虑一下。
    dd798922110
  • 其他回帖
  • Ocean0117 1 赞同 1 评论

    我投了赞成,是建议提供这个功能,但不改变原有的密钥设置。

    我认为许多低技术用户几乎是不可能区分账户密码与密钥的,在他们看来,一道密码就已经足够保险,他们既不理解再设一遍「密码」的意义,也不会试图去弄清这些云服务上的逻辑。所以,我认为针对这些用户(我个人观点,这部分用户绝不在少数,至少一半以上),启用一个内置密钥是有必要的。

    我认为如果推出这个功能,最好是在安装后第一次打开时和工作空间相同的方式提示,比方,提供三个安全等级选项:

    • 低安全级:内置密钥,保存在服务器上,与账号绑定,配上相关声明,不会主动泄露密钥;
    • 中安全级:由字符串生成密钥,基本不会泄露,但某些特定密码或许有泄露风险;
    • 高安全级:随机生成,安全性高,但最好自己保存;

    把选择权优先交给用户,如果点进去则是各个选项的详细说明,这样或许更能满足普通用户的需要。

    1 回复
    哈,你这个也是一个很好的选择。支持
    dd798922110
  • yawei 1 4 赞同 1 评论

    我投了反对票。

    原因:对于我这样的普通用户,不要给我介绍太多技术细节,我需要的只是一个简单粗暴的结论。你就告诉我,如果使用自定义密钥,除了你自己谁也看不到你写的东西。哪怕你写了一些不正确的,不能见光的,ZZ 敏感的东西,只要你保管好自己的电脑,就不用担心这些文字被别人截获。如果是这样,哪怕我同时还在用 workflowy, remnote 等一堆云端笔记,我也不会抛弃思源。

    但如果你告诉我,你的云端数据是会被解谜的哦。哪怕可能性只有 0.00000001%,我打字的时候心里也会有些膈应...我从来没看过 WX,WB 这些 app 的隐私政策,但是有些话我绝对不会在上面说...

    与其说是个技术问题,不如说是个心理问题,或者刻板影响。

    我的想法跟你一样。
    dd798922110
  • 88250

    这个投票的意义我前面简短写过一点,怎么能说没有意义呢……

    不同需求的用户实际上已经通过产品选择过滤了,比如不需要本地数据的用户会选择云端产品,安全性和便利性本身是对立的,我们讨论的意义在于探寻是否存在一个折中方案进行兼顾。

    对于“真正的问题”前面已经讨论过,即内置密钥(甚至是不加密)的需求是客观存在的,但是思源是不是一定要去实现这个需求?思源的受众定位如果不考虑这部分用户的需求是否合理?

    我认为一个产品不可能满足所有人的需求的,放弃一部分需求是合理的。在内置密钥这个具体的需求上,放弃的代价可能就是无法获得更多“小白用户”的青睐,但真正的小白用户会选择本地优先的产品吗?这也是个需要不断思考和讨论的问题。

    我们期望的不是毫无根据的信任,而是能够用技术证明的信任。开发者抛开代码实现谈信任是一种不负责任的做法,用户将希望寄托于开发者人品上也是不明智的,因为人品不能保证安全,但是代码能。

    对于内置密钥就像前面 @zxhd86 提到的那样:“安全不绝对,等于绝对不安全”,一旦我们为思源提供了不足够安全的加密方案,云端数据实际上有很多泄漏的可能性,不只是开发者可以解密,云服务提供商也可以。所以前面 @zuoez02 提出了实现内置密钥后进一步的安全方案,但是这个方案非常难实现,或者说对于我们来说代价过高,已经偏离了现在的目标。

    如果把提供内置密钥看作功能性需求的话,多提供一种选择给用户确实更好;但如果把它看作是非功能性需求的话,提供了内置密钥会导致产品整体安全性降低很多。

    3 回复
  • 查看全部回帖

推荐标签 标签

  • 心情

    心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。

    59 引用 • 369 回帖
  • uTools

    uTools 是一个极简、插件化、跨平台的现代桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合。

    5 引用 • 13 回帖
  • Hexo

    Hexo 是一款快速、简洁且高效的博客框架,使用 Node.js 编写。

    21 引用 • 140 回帖 • 25 关注
  • V2Ray
    1 引用 • 15 回帖
  • 小说

    小说是以刻画人物形象为中心,通过完整的故事情节和环境描写来反映社会生活的文学体裁。

    28 引用 • 108 回帖 • 2 关注
  • Bootstrap

    Bootstrap 是 Twitter 推出的一个用于前端开发的开源工具包。它由 Twitter 的设计师 Mark Otto 和 Jacob Thornton 合作开发,是一个 CSS / HTML 框架。

    18 引用 • 33 回帖 • 685 关注
  • OnlyOffice
    4 引用 • 27 关注
  • 房星科技

    房星网,我们不和没有钱的程序员谈理想,我们要让程序员又有理想又有钱。我们有雄厚的房地产行业线下资源,遍布昆明全城的 100 家门店、四千地产经纪人是我们坚实的后盾。

    6 引用 • 141 回帖 • 553 关注
  • Firefox

    Mozilla Firefox 中文俗称“火狐”(正式缩写为 Fx 或 fx,非正式缩写为 FF),是一个开源的网页浏览器,使用 Gecko 排版引擎,支持多种操作系统,如 Windows、OSX 及 Linux 等。

    7 引用 • 30 回帖 • 455 关注
  • Angular

    AngularAngularJS 的新版本。

    26 引用 • 66 回帖 • 511 关注
  • Unity

    Unity 是由 Unity Technologies 开发的一个让开发者可以轻松创建诸如 2D、3D 多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

    25 引用 • 7 回帖 • 250 关注
  • 分享

    有什么新发现就分享给大家吧!

    242 引用 • 1746 回帖 • 1 关注
  • iOS

    iOS 是由苹果公司开发的移动操作系统,最早于 2007 年 1 月 9 日的 Macworld 大会上公布这个系统,最初是设计给 iPhone 使用的,后来陆续套用到 iPod touch、iPad 以及 Apple TV 等产品上。iOS 与苹果的 Mac OS X 操作系统一样,属于类 Unix 的商业操作系统。

    84 引用 • 139 回帖 • 1 关注
  • SQLServer

    SQL Server 是由 [微软] 开发和推广的关系数据库管理系统(DBMS),它最初是由 微软、Sybase 和 Ashton-Tate 三家公司共同开发的,并于 1988 年推出了第一个 OS/2 版本。

    19 引用 • 31 回帖 • 3 关注
  • 导航

    各种网址链接、内容导航。

    37 引用 • 168 回帖
  • JSON

    JSON (JavaScript Object Notation)是一种轻量级的数据交换格式。易于人类阅读和编写。同时也易于机器解析和生成。

    51 引用 • 190 回帖 • 2 关注
  • 星云链

    星云链是一个开源公链,业内简单的将其称为区块链上的谷歌。其实它不仅仅是区块链搜索引擎,一个公链的所有功能,它基本都有,比如你可以用它来开发部署你的去中心化的 APP,你可以在上面编写智能合约,发送交易等等。3 分钟快速接入星云链 (NAS) 测试网

    3 引用 • 16 回帖 • 5 关注
  • Facebook

    Facebook 是一个联系朋友的社交工具。大家可以通过它和朋友、同事、同学以及周围的人保持互动交流,分享无限上传的图片,发布链接和视频,更可以增进对朋友的了解。

    4 引用 • 15 回帖 • 454 关注
  • 单点登录

    单点登录(Single Sign On)是目前比较流行的企业业务整合的解决方案之一。SSO 的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

    9 引用 • 25 回帖 • 3 关注
  • 书籍

    宋真宗赵恒曾经说过:“书中自有黄金屋,书中自有颜如玉。”

    76 引用 • 390 回帖 • 1 关注
  • frp

    frp 是一个可用于内网穿透的高性能的反向代理应用,支持 TCP、UDP、 HTTP 和 HTTPS 协议。

    15 引用 • 7 回帖 • 9 关注
  • Mobi.css

    Mobi.css is a lightweight, flexible CSS framework that focus on mobile.

    1 引用 • 6 回帖 • 696 关注
  • Maven

    Maven 是基于项目对象模型(POM)、通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。

    185 引用 • 318 回帖 • 348 关注
  • danl
    61 关注
  • Rust

    Rust 是一门赋予每个人构建可靠且高效软件能力的语言。Rust 由 Mozilla 开发,最早发布于 2014 年 9 月。

    57 引用 • 22 回帖 • 2 关注
  • SEO

    发布对别人有帮助的原创内容是最好的 SEO 方式。

    35 引用 • 200 回帖 • 24 关注
  • AngularJS

    AngularJS 诞生于 2009 年,由 Misko Hevery 等人创建,后为 Google 所收购。是一款优秀的前端 JS 框架,已经被用于 Google 的多款产品当中。AngularJS 有着诸多特性,最为核心的是:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等。2.0 版本后已经改名为 Angular。

    12 引用 • 50 回帖 • 422 关注