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

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

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

需求

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

  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 文件夹中的笔记本文件夹的软链接的识别,期望能添加这一特性

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

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

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

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

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

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

是否支持加密(多选)

多选 公开 永不结束 300 票
功能:界面加密,文件不加密
35% 106 票
功能:文件也加密
34% 103 票
需求:急需
17% 53 票
需求:无所谓,我还用不着
12% 38 票

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

新投票(两个)

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

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

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

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

  • 思源笔记

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

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

    23020 引用 • 92600 回帖

相关帖子

优质回帖
  • yanyu67 1 4 赞同

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

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

  • Elystraw 1 2 赞同

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

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

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

  • Syngo 2 赞同

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

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

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • JeffreyChen 1 评论

    所以理想的状态就是我帖子开头说的:“文档” = 某笔记本 / 某文档及其子文档 / 某文档

    因为要实现笔记本级的加密,并且保留双链、块引等特性,需要先实现文档级的加密。

    加密的粒度越细、弊端越大……万一以后有新的入口也要记得去排除

    这个弊端说的就是粒度越细,会导致功能实现的复杂度越大,因此就不再往下考虑块级的加密了。

    嗯 实现的复杂度以及使用的复杂度
    littlecoby 1 赞同
  • 其他回帖
  • 关于实现笔记本地加密的再思考 - LRJ 的回帖

    思源笔记的锁屏加密功能,虽然加密了空间,但是只要人家能找到空间的 文件路径,就能复制出所有笔记本,新建文件夹,依然能无密码,全方位看所有笔记的内容,这种加密形同虚设,跟被裸奔了一样。

    我试验了一下加密。eg:

    1.我的工作空间 A,文件路径在 D 盘:A 文件夹,我对其加密后,确实,在一起启动思源笔需要密码。

    2.我在 D 盘:A 文件夹路径下,找到 data 文件夹,复制里面的笔记,然后存放到 C 盘:B 文件夹,用思源笔记设置“C 盘:B 文件夹”为工作空间 B,不用密码,就能读取工作空间 A 的所有笔记本。

    建议,设置一个可以独立加密整个笔记本,而非单个笔记的加密方式,并且支持 3 种加密方式:① 整个笔记本支持端到端加密;② 整个笔记本支持本地加密 ③ 导出整个笔记本,用 U 盘复制到别的电脑也需要原设定的密码才能访问笔记本内的内容。这能满足用户在办公室电脑的高加密需求。

  • Obsidian 的定位是「writing app」,而我们思源官网上就写着「加密同步 隐私优先」,是「隐私优先的个人知识管理系统」,之前加上了端到端加密,现在再继续增加隐私保护的功能不过分。

    如果会造成误解的话那就叫「隐藏」好了,并且在启用这个功能时就明确说明这个功能并非加密,软件免责。

    我看大家的需求主要有两点:

    1. 搜索的时候不要被搜索到(不在搜索结果中显示)
    2. 打开文档时需要输入密码(跟访问授权码一样,都是摆设,但大家就是需要)

    文件加密,要不要大改文件格式,会不会影响解析速度,D 大有这样的精力大改吗

    这个我也意识到了,所以才退而求其次,建议至少在使用层面加密(毕竟要应对的只是家人、朋友、同事、领导)

    1 回复
  • PiChou 1 2 赞同

    你认真看你发的那篇文章,就能知道 VeraVeypt、cryptomator 这类加密软件已经能解决你所需要的“整个工作空间加密”。

    文章里的老哥是想整花活:一部分工作空间加密;另一部分不加密,改用软链接。——这个是做不到的。


    此类加密软件如何工作?使用 Cryptomator 实现思源笔记本地数据加密_哔哩哔哩_bilibili

    把整个思源工作空间放进加密文件夹,保持加密软件解锁状态,就能正常启用思源;需要加密时再给加密软件锁定,思源笔记空间就整个加密了。

    这种方式不影响思源的数据安全、云端同步,但会稍微影响思源打开速度和软件性能(思源本体开发这类功能也是一样的)。

    1 回复
  • 查看全部回帖