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

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

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

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

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

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

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

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

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

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

  • 思源笔记

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

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

    19811 引用 • 75861 回帖
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 置顶了该帖

相关帖子

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

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

    SASHUZ63WOFBKF.png

  • bug320 5 赞同

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

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

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

  • yawei 1 4 赞同

    我投了反对票。

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

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

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

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • FortunaCloud

    个人认为对于 docker 版的用户内置密钥功能非常有用。如用户在未保存密钥的情况下,误操作删除了该容器,就会出现无法同步数据的情况。

  • 其他回帖
  • yawei 1 4 赞同 1 评论

    我投了反对票。

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

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

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

    我的想法跟你一样。
    dd798922110
  • zxhd86 2 赞同 1 评论

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

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

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

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

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

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

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

    你的数据上传到服务器的时候已经加密了,理论上从服务器那根本获取不到明文内容,除非你自己的密钥见光了。

    我能够想象的实际方案实现,无论那种情况,密钥会被作为一种“可还原”的数据存储在云端,要么明文,要么加密存储解密使用,其达不到常见的“hash(密码 + 盐)"的那种密码存储方式,就存在危险性,对用户对思源都不利,也就是说你的密钥是在云端“见光”的,算法上无法保证其安全性。或者如果有哪个技术方案可以满足云端不存储你的密钥的方法,也可以跟大家分享一下。

    跟 wolai,flowus 或者 notion 不同,思源没有云端,所有数据都在自己的手里。用户用云端产品和本地软件的感受是不一样的。默认上用户的感受就是没有人能够获取你的数据,这是思源非常重要的特性和与其他类似产品的本质区别。

    前面评论有误,我改一下:自定义密钥保存在本地就没啥问题,自动生成密钥保存在云端确实有被见光的风险。
    EberhardLin
  • 查看全部回帖

推荐标签 标签

  • webpack

    webpack 是一个用于前端开发的模块加载器和打包工具,它能把各种资源,例如 JS、CSS(less/sass)、图片等都作为模块来使用和处理。

    41 引用 • 130 回帖 • 288 关注
  • wolai

    我来 wolai:不仅仅是未来的云端笔记!

    2 引用 • 14 回帖 • 1 关注
  • Hprose

    Hprose 是一款先进的轻量级、跨语言、跨平台、无侵入式、高性能动态远程对象调用引擎库。它不仅简单易用,而且功能强大。你无需专门学习,只需看上几眼,就能用它轻松构建分布式应用系统。

    9 引用 • 17 回帖 • 610 关注
  • 创业

    你比 99% 的人都优秀么?

    83 引用 • 1398 回帖
  • Lute

    Lute 是一款结构化的 Markdown 引擎,支持 Go 和 JavaScript。

    25 引用 • 191 回帖 • 24 关注
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3169 引用 • 8208 回帖
  • Swift

    Swift 是苹果于 2014 年 WWDC(苹果开发者大会)发布的开发语言,可与 Objective-C 共同运行于 Mac OS 和 iOS 平台,用于搭建基于苹果平台的应用程序。

    34 引用 • 37 回帖 • 506 关注
  • 数据库

    据说 99% 的性能瓶颈都在数据库。

    332 引用 • 619 回帖
  • API

    应用程序编程接口(Application Programming Interface)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

    76 引用 • 429 回帖
  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    536 引用 • 672 回帖
  • 小薇

    小薇是一个用 Java 写的 QQ 聊天机器人 Web 服务,可以用于社群互动。

    由于 Smart QQ 从 2019 年 1 月 1 日起停止服务,所以该项目也已经停止维护了!

    34 引用 • 467 回帖 • 711 关注
  • PostgreSQL

    PostgreSQL 是一款功能强大的企业级数据库系统,在 BSD 开源许可证下发布。

    22 引用 • 22 回帖
  • OAuth

    OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是 oAuth 的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此 oAuth 是安全的。oAuth 是 Open Authorization 的简写。

    36 引用 • 103 回帖 • 11 关注
  • OnlyOffice
    4 引用 • 16 关注
  • SSL

    SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS 与 SSL 在传输层对网络连接进行加密。

    69 引用 • 190 回帖 • 483 关注
  • Sandbox

    如果帖子标签含有 Sandbox ,则该帖子会被视为“测试帖”,主要用于测试社区功能,排查 bug 等,该标签下内容不定期进行清理。

    379 引用 • 1221 回帖 • 589 关注
  • Facebook

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

    4 引用 • 15 回帖 • 455 关注
  • 域名

    域名(Domain Name),简称域名、网域,是由一串用点分隔的名字组成的 Internet 上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。

    43 引用 • 208 回帖 • 2 关注
  • Redis

    Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。

    284 引用 • 247 回帖 • 148 关注
  • Sphinx

    Sphinx 是一个基于 SQL 的全文检索引擎,可以结合 MySQL、PostgreSQL 做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。

    1 引用 • 192 关注
  • 音乐

    你听到信仰的声音了么?

    59 引用 • 510 回帖
  • 反馈

    Communication channel for makers and users.

    124 引用 • 907 回帖 • 209 关注
  • GitHub

    GitHub 于 2008 年上线,目前,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。正因为这些功能所提供的便利,又经过长期的积累,GitHub 的用户活跃度很高,在开源世界里享有深远的声望,并形成了社交化编程文化(Social Coding)。

    207 引用 • 2031 回帖
  • ZooKeeper

    ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,是 Hadoop 和 HBase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

    59 引用 • 29 回帖 • 18 关注
  • 旅游

    希望你我能在旅途中找到人生的下一站。

    86 引用 • 896 回帖
  • BND

    BND(Baidu Netdisk Downloader)是一款图形界面的百度网盘不限速下载器,支持 Windows、Linux 和 Mac,详细介绍请看这里

    107 引用 • 1281 回帖 • 31 关注
  • C++

    C++ 是在 C 语言的基础上开发的一种通用编程语言,应用广泛。C++ 支持多种编程范式,面向对象编程、泛型编程和过程化编程。

    106 引用 • 152 回帖 • 1 关注