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

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

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

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

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

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

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

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

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

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

  • 思源笔记

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

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

    18693 引用 • 69784 回帖
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 的隐私政策,但是有些话我绝对不会在上面说...

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

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • LeonardoDiCaprio 1 1 赞同

    保留原有机制的前提下我投赞成票。

    作为要面向大众的软件,要尽可能的简化操作流程,降低入门门槛,最显明的例子就是苹果在女生中流行的一部分原因其实是苹果系统操作简单,不需要太繁琐的操作。

    说实话,我认为思源如果想面向更多的用户,总是要简化流程的。我不是说现在不好,只是说,如果现在的操作难度是 90 分,那每降低一分,就意味着多 1% 潜在用户。

  • 其他回帖
  • Ocean0117 1 赞同 1 评论

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    3 回复
  • 查看全部回帖

推荐标签 标签

  • Rust

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

    57 引用 • 22 回帖 • 5 关注
  • Ruby

    Ruby 是一种开源的面向对象程序设计的服务器端脚本语言,在 20 世纪 90 年代中期由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)设计并开发。在 Ruby 社区,松本也被称为马茨(Matz)。

    7 引用 • 31 回帖 • 175 关注
  • SMTP

    SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。

    4 引用 • 18 回帖 • 588 关注
  • Wide

    Wide 是一款基于 Web 的 Go 语言 IDE。通过浏览器就可以进行 Go 开发,并有代码自动完成、查看表达式、编译反馈、Lint、实时结果输出等功能。

    欢迎访问我们运维的实例: https://wide.b3log.org

    30 引用 • 218 回帖 • 605 关注
  • Elasticsearch

    Elasticsearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

    116 引用 • 99 回帖 • 268 关注
  • 职场

    找到自己的位置,萌新烦恼少。

    126 引用 • 1699 回帖
  • Hibernate

    Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。

    39 引用 • 103 回帖 • 685 关注
  • Swift

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

    34 引用 • 37 回帖 • 498 关注
  • 脑图

    脑图又叫思维导图,是表达发散性思维的有效图形思维工具 ,它简单却又很有效,是一种实用性的思维工具。

    21 引用 • 58 回帖 • 1 关注
  • SQLServer

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

    19 引用 • 31 回帖
  • Typecho

    Typecho 是一款博客程序,它在 GPLv2 许可证下发行,基于 PHP 构建,可以运行在各种平台上,支持多种数据库(MySQL、PostgreSQL、SQLite)。

    12 引用 • 60 回帖 • 466 关注
  • IBM

    IBM(国际商业机器公司)或万国商业机器公司,简称 IBM(International Business Machines Corporation),总公司在纽约州阿蒙克市。1911 年托马斯·沃森创立于美国,是全球最大的信息技术和业务解决方案公司,拥有全球雇员 30 多万人,业务遍及 160 多个国家和地区。

    16 引用 • 53 回帖 • 123 关注
  • ZeroNet

    ZeroNet 是一个基于比特币加密技术和 BT 网络技术的去中心化的、开放开源的网络和交流系统。

    1 引用 • 21 回帖 • 592 关注
  • Shell

    Shell 脚本与 Windows/Dos 下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比 Windows 下的批处理更强大,比用其他编程程序编辑的程序效率更高,因为它使用了 Linux/Unix 下的命令。

    122 引用 • 73 回帖
  • 单点登录

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

    9 引用 • 25 回帖 • 3 关注
  • jsDelivr

    jsDelivr 是一个开源的 CDN 服务,可为 npm 包、GitHub 仓库提供免费、快速并且可靠的全球 CDN 加速服务。

    5 引用 • 31 回帖 • 45 关注
  • Angular

    AngularAngularJS 的新版本。

    26 引用 • 66 回帖 • 512 关注
  • 倾城之链
    23 引用 • 66 回帖 • 100 关注
  • RYMCU

    RYMCU 致力于打造一个即严谨又活泼、专业又不失有趣,为数百万人服务的开源嵌入式知识学习交流平台。

    4 引用 • 6 回帖 • 40 关注
  • 30Seconds

    📙 前端知识精选集,包含 HTML、CSS、JavaScript、React、Node、安全等方面,每天仅需 30 秒。

    • 精选常见面试题,帮助您准备下一次面试
    • 精选常见交互,帮助您拥有简洁酷炫的站点
    • 精选有用的 React 片段,帮助你获取最佳实践
    • 精选常见代码集,帮助您提高打码效率
    • 整理前端界的最新资讯,邀您一同探索新世界
    488 引用 • 383 回帖 • 4 关注
  • JSON

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

    51 引用 • 190 回帖
  • Facebook

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

    4 引用 • 15 回帖 • 455 关注
  • ZooKeeper

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

    59 引用 • 29 回帖 • 18 关注
  • Ngui

    Ngui 是一个 GUI 的排版显示引擎和跨平台的 GUI 应用程序开发框架,基于
    Node.js / OpenGL。目标是在此基础上开发 GUI 应用程序可拥有开发 WEB 应用般简单与速度同时兼顾 Native 应用程序的性能与体验。

    7 引用 • 9 回帖 • 345 关注
  • PWL

    组织简介

    用爱发电 (Programming With Love) 是一个以开源精神为核心的民间开源爱好者技术组织,“用爱发电”象征开源与贡献精神,加入组织,代表你将遵守组织的“个人开源爱好者”的各项条款。申请加入:用爱发电组织邀请帖
    用爱发电组织官网:https://programmingwithlove.stackoverflow.wiki/

    用爱发电组织的核心驱动力:

    • 遵守开源守则,体现开源&贡献精神:以分享为目的,拒绝非法牟利。
    • 自我保护:使用适当的 License 保护自己的原创作品。
    • 尊重他人:不以各种理由、各种漏洞进行未经允许的抄袭、散播、洩露;以礼相待,尊重所有对社区做出贡献的开发者;通过他人的分享习得知识,要留下足迹,表示感谢。
    • 热爱编程、热爱学习:加入组织,热爱编程是首当其要的。我们欢迎热爱讨论、分享、提问的朋友,也同样欢迎默默成就的朋友。
    • 倾听:正确并恳切对待、处理问题与建议,及时修复开源项目的 Bug ,及时与反馈者沟通。不抬杠、不无视、不辱骂。
    • 平视:不诋毁、轻视、嘲讽其他开发者,主动提出建议、施以帮助,以和谐为本。只要他人肯努力,你也可能会被昔日小看的人所超越,所以请保持谦虚。
    • 乐观且活跃:你的努力决定了你的高度。不要放弃,多年后回头俯瞰,才会发现自己已经成就往日所仰望的水平。积极地将项目开源,帮助他人学习、改进,自己也会获得相应的提升、成就与成就感。
    1 引用 • 487 回帖 • 6 关注
  • 数据库

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

    331 引用 • 614 回帖
  • 链书

    链书(Chainbook)是 B3log 开源社区提供的区块链纸质书交易平台,通过 B3T 实现共享激励与价值链。可将你的闲置书籍上架到链书,我们共同构建这个全新的交易平台,让闲置书籍继续发挥它的价值。

    链书社

    链书目前已经下线,也许以后还有计划重制上线。

    14 引用 • 257 回帖