是否提供文档级“加密”以保护隐私?(含投票)

本贴最后更新于 547 天前,其中的信息可能已经东海扬尘

注:以下的“文档” = 某笔记本 / 某文档及其子文档 / 某文档

需求

要求提供文档“加密”功能的需求帖一直源源不断,我观察到,大家需要的功能主要有几点:

  1. 打开文档时需要先输入访问密码,且文档内容不在搜索结果中显示
  2. 文档名不在搜索结果中显示(可选)
  3. 文档在文档树中隐藏(需要讨论如何实现)
    • 例如:文档名脱敏,变为一串星号:************ / 变为默认名称:Untitled / 自定义
  4. 文档一段时间内无操作则自动锁定

场景

有但不仅有以下场景:

  1. 记录了包含隐私内容的文档(密码日记个人信息、高价值信息等)
  2. 需要展示一部分笔记给别人看(工作党刚需)
    1. 电脑投屏做知识分享 / 电脑前有人,此时全局检索,需要避免显示隐私内容。
    2. 通过伺服在局域网内共享给同事,需要避免同事打开包含隐私内容的文档。
    3. 启动思源时正好打开了包含隐私内容的文档,需要隐藏。
  3. 临时借出设备给他人使用,需要避免他人私自打开包含隐私内容的文档
  4. 离开电脑时忘记关闭文档 / 忘记锁屏

“加密”的方式

官方原生支持端到端加密,已经防住了云服务厂商,接下来就要防住身边的人了。

之前提出的两种“加密”方式:

  1. 在前端实现(锁定文档的界面),不需要修改文件,避免文档损坏。
  2. 本地数据加密,每次使用时解密。但由于需要整个工作空间都加密才能确保没有泄漏,所以不太可能实现,因此不考虑了。

在前端实现“加密”,本质上是为了避免他人轻易看到隐私信息,避免尴尬社死(至暗时刻)。身边的普通人一般不会专门想办法去偷看被你加密的文档,所以我们只是需要把界面锁一锁,能挡住身边绝大多数不懂技术的人就行了。

思源的本地存储格式是 .sy 而非 .md,别人看到了也不知道是啥,用编辑器打开也是 json 文件,基本没有可读性。

对此 @8V9q7V 提出异议:“界面加密,如果有人往里面存财务密码,而源文件是明文保存的,被人把密码扫出来了造成损失。思源会不会有法律纠纷?别人可不管你‘界面’加密”

当然,面对窃取数据的人,目前的访问授权码也一样是摆设:如果有人拿到了你的电脑,想偷偷打开你设置了访问授权码的工作空间,根本防不住,他直接在 工作空间/conf/conf.json 文件里找 accessAuthCode 字段就能拿到访问授权码。

虽然同样是“摆设”,但大家就是需要。我的看法是:思源负责防君子,用户负责防小人。但为了以防万一也许可以在用户启用这个功能时就明确说明:这个功能并非对本地数据加密,因此有需要的用户应自行采取其他保密措施。思源只需要尽到提醒的责任,怎么使用这个功能是用户的事情。

可以像 @muxue 说的那样:“在启用这个功能的时候,来个巨大弹窗告诉他这只是一个开启密码,然后弄个免责声明什么的”

设置密码的方式
  1. 每个加密的文档单独设置密码,并可自定义默认填写的密码
  2. 配置了访问授权码的用户则可以统一使用访问授权码

回答一些疑问

为什么不使用多个工作空间,其中一个设置访问授权码?
  1. 两个工作空间来回切换使用,操作繁琐。
  2. 不同的工作空间内容不互通,但有在加密笔记与非加密笔记间双链引用的需求。
  3. 需要加密的往往只是单一的文档,这些文档可能出现在任何目录下,单独将需要加密的文档移动到另一个工作空间会破坏笔记的目录结构。
为什么需要官方原生支持而非制作社区插件实现?
  1. 价值观
    • 思源笔记官网上写着「加密同步 隐私优先」,是「隐私优先的个人知识管理系统」。隐私优先,但只有云同步不会泄漏数据,这感觉就好像门口有两扇门却只关了半边一样难受,肯定得是一扇在云端挡服务厂商,一扇在线下挡人才完整。既然现在已经实现了端到端加密,那就应该更进一步,实现文档级的“加密”。
  2. 维护
    1. 保证功能随时可用,否则关闭插件就能解除加密 / 出 BUG 需要等待插件作者更新
    2. 同时维护桌面端和移动端
这是一个真实的需求吗?

有人说过:“有部分用户提需求,证明他真的有需求。不能因为自己没有需求而否定别人的需求。”这里附上我随手找的相关需求帖和 issues :

思源笔记可以增加目录或文章的加密功能吗?

希望增加目录或文档的加密功能

[建议] 思源是否增加给文档加锁的功能

功能建议:隐私锁功能,弱加密的锁就行

关于实现笔记本地加密的再思考

关于使用软链接特性实现思源笔记本加密的一些思考

关于对思源笔记本进行加密的一种解决方案,但需要思源增加支持对 data 文件夹中的笔记本文件夹的软链接的识别,期望能添加这一特性

什么时候可以加上笔记本、文档加密功能呀

思源笔记能否针对单个笔记本做密码保护?

希望能增加笔记本加密或隐藏功能

有考虑增加目录加密和单个文章加密功能吗

可否加入功能:可以为文档添加密码访问

原投票(请在下面的「新投票」里投票)

是否支持加密(多选)

多选 公开 永不结束 341 票
功能:界面加密,文件不加密
35% 121 票
功能:文件也加密
34% 117 票
需求:急需
18% 64 票
需求:无所谓,我还用不着
11% 39 票

原来的选项设置得不好,大部分人都把多选当作单选,现在分清楚一些,重新投票:

新投票(两个)

是否支持提供文档级加密?(多选)

多选 公开 永不结束 284 票
支持提供文档级“加密”
71% 204 票
同时期待本地数据加密
26% 76 票
可能需要其他方式来加密
1% 4 票

你对文档级“加密”的需求如何?(单选)

单选 公开 永不结束 242 票
迫切需要,刚需啊刚需!
50% 123 票
有了我就用,没出我也不急
47% 114 票
打死都不在思源里记录隐私信息
2% 5 票

  • 思源笔记

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

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

    25694 引用 • 106304 回帖

相关帖子

优质回帖
  • yanyu67 1 4 赞同

    对于我来说,笔记本级的加密即可;比如加密的笔记本的状态可以就是关闭的笔记本,然后打开时需要密码。如果怕遗忘密码可以每次关闭时,输入密码,打开在输入密码,双重记忆trollface ;或者在打开这个加密功能时,需要多次验证才能打开这个功能,这样也能避免一些人无意中使用此功能;

    当然这样估计也还会有人遗忘密码的话,那就可以像锁屏一样,可以在哪个配置文件中找到;然后在提供一个无痕迹密码功能,这个打开无痕迹密码功能,也需要多次验证才能打开;然后打开这个功能后,遗忘密码了也找不会了。这个在出问题得话 😂,应该得自己为自己得数据丢失负责了 😋

  • veee 1 2 赞同 via macOS

    个人认为专业的事情交给专业的工具来做,思源官网的定位写得很清楚了:思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    核心是个人知识管理工具,端到端加密已经是顶格隐私保护了,业内安全做的很好的 Anytype 也只是到这一步。你说的那几个场景,密码、重要数据应该使用密码管理工具,协作自然应该使用协作的工具。更进一步说,如果你有列举场景中的这些使用习惯,难道不是更应该反思一下自己是不是真的很注重隐私保护吗?

    养成好的隐私保护习惯比期待一个加密功能做到尽善尽美的笔记软件要靠谱得多。

  • Syngo 2 赞同

    楼主,个人理解新投票的选项也许存在偏差

    1. 不支持的理由可能是需要其他方式,也可能是现有方式已满足(比如通过授权码、插件等),或者其他;
    2. 打死都不记录和需求程度是两回事,如果是会记录,但是不需要文档级加密该如何选呢?
    3. 新投票第 2 个的单选可理解成新投票第 1 个多选的延伸,有需求的人进一步选择程度。按目前的投票总数,两者相差不大,可能需要考量如何进行参照。

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • 可以看看 README 哦:

    image.png

    1 回复
  • 哦哦哦明白明白

  • klwb

    文档、笔记本、ui 加密没有意义,本地数据文件夹都是明文

    本地数据文件夹或.sy 级别的加密对思源客户端的性能是个很大的压力,以后做不到秒开了。

    但其实有个中间状态,仅加密需要加密的。这样大部分不加密不影响性能,少部分加密又能兼顾隐私

  • li80 3 评论

    赞同真加密。

    忘记密码以后,天王老子都没办法、破解需要 1 万年的那种加密最好。

    我记得印象笔记好像是这样的。

    1 回复
    印象笔记是“假加密”,软件上了道锁,本身数据在数据文件夹里仍然是明文
    ayu
    @ayu 啊?是这样的啊。我看印象说,用户忘记密码的话,任何人都没有办法。就以为是真加密呢。
    li80
    @li80 印象笔记有个笔记内文本加密,只能对笔记内选中的一段文本进行加密,那个确实是真加密,忘记密码谁也打不开。笔记级的加密印象笔记不支持,笔记本级的加密是假加密,数据库依然是明文
    ayu
  • penpen

    是的,有应该有两种选择

    1. 现在这种授权码适用于不记录私密信息的。
    2. 真加密是适用于记录私密信息的用户。既然用了真加密,就要对自己负责。忘记密码的责任在自己,但这不是缺点,是取舍。
  • XY1002

    思源安卓版主菜单没有工作空间“新建/打开”选项功能,无法在 VeraCrypt 加密盘使用。
    没人做思源安卓版分支加入这个功能吗。

    1 回复
    1 操作
    XY1002 在 2024-12-03 21:12:50 更新了该回帖
  • 没看懂,怎样自定义?

    1 回复
  • XY1002

    思源左上角设置菜单工作空间 有个 新建/打开 选项

    1 回复
  • 不太理解这个跟移动端有什么关系?

    1 回复
  • XY1002

    移动端没这个功能

    1 回复
  • 只能存到 APP 私有目录,这个没办法

    f385431b57d5de06f69fdec5505bd63.jpg

  • XY1002 1 评论

    irisDB 做数据库怎样,有什么缺点

    SQLite 的性能足够高,安全性稳定性也很好,不考虑动数据库了
    JeffreyChen
  • penpen

    明年会实施本地加密吗?

    1 回复
  • 目前没有计划实现,过几年再看看吧

  • penpen

    是因为法规问题吗?我记得国内不能有端对端的聊天软件。笔记也这样吗?还是目前开发重点不在这里

    1 回复
  • 因为开发难度很高

  • sirliu

    关于公开投屏防社死的简便办法是,内置选中文本(或图片)base64 encode 和 decode 的功能。

  • chaselee

    看来早已讨论过这个需求了,我也很需要,现在的做法是自己在 word/excel 里面写,文档单独加密,插入文件,需要时单独打开,感觉也还行 😄

  • 我今天翻了一下 conf.json 文件,发现,云端配置和仓库秘钥都在那里,阿哲,而且还是明文的,一个几十 kb 的文件可以解密下载整个笔记库了,这也太不安全了吧,来个文件读取漏洞就能将整个笔记库下载下来了

    1 回复
  • 倒也不需要读取文件,所有插件或者 JS 片段都能直接获取到你的所有信息,包括数据仓库密钥和所有云端配置信息,这些信息在思源内都是开放的。使用了别人提供的插件或者 JS 片段就默认授予了获取这些信息的权限。

    1 回复
  • 嗯?怪不得 40 多 kb 了,原来插件数据也在这,那思源的安全性比我想象中的糟糕透了,即使云端是加密的,但是短板效应,使得思源的安全性大大降低--只要作者没有检查含有出恶意代码的闭源插件,使用该插件的人的笔记都将泄露

    1 回复
  • 跟插件数据没啥关系。

    开源社区得靠良心做事了,另外插件和主题的功能很大程度上依赖思源的高自由度。

请输入回帖内容 ...