隐私、个人数据与开源工具

请你用刀剑保护我,而我将要用笔保护你。 --奥卡姆

据说奥卡姆谒见皇帝时曾这样说。

前言

我时常遇到这些需求:

*  将照片/视频从手机传到电脑
*  将备忘录里的文字从手机传到电脑
*  将图片/文字从电脑传到手机
*  将服务器登陆信息告诉同事
*  分享软件/文件/照片给朋友
*  ...

这些问题,微信的 文件传输助手 似乎是理想解决方案,出于方便,周围的人(也包括我自己)大多时候都是这样干的。

但在传输和分享一些私人的信息时,心里难免尴尬,总是小人之心地想着,要是人家愿意的话,随时可以查看,即使人家不愿意,还有那么多昼夜不息、热爱偷窥的 AI 呢!当你在跟小女友亲昵调情时,想到黑暗中的眼睛,除了脊背发凉,兴致怕也没了。

便利 > 隐私?

我当然清楚微信不是端对端加密,当然知道正确使用微信的态度是将其作为一个公共聊天空间,就像在街上聊天一样,当然知道随时有人听到你们的聊天内容。

这种知道属于"知道很多大道理依然过不好这一生"的那种知道, 知之而不为,因为麻烦啊。

人是懒惰的,加上侥幸心理,便利性就容易压倒一切。

我是这样一个既懒惰又满怀侥幸心理的人。平时有那么多需要操心的事,好不容易有些看电影的时间,难道不应该好好珍惜吗?密码学枯燥又乏味,问题的晦涩与人生的短促难道不足以说服我好好看场电影,抛开什么狗屁隐私吗?

不就是将服务器登陆信息告诉给同事吗?人家微信那么大公司犯得着记下你的服务器密码?那又不值钱,你知道微信员工时间多宝贵吗?比你服务器值钱多了,真是小人之心啊。

再说了,你跟女友互相挑逗的照片和聊天内容又有什么好看的,人家是偷窥狂?人家有兴致,不会去 1024 吗?

还有,你那微不足道的日记,谁稀罕啊,又不是什么花边新闻,以为自己是吴亦凡呢!

何况,注意隐私,得多花多少心思,有这时间看电影不好吗?

这尚且是温和的自我劝解,让我们放弃隐私,拥抱便利。此外,市面上还有五花八门的便利、诱惑以及许许多多的产品和"好心人"对你晓之以理。

可惜,我偏偏喜欢斯诺登的这句话:

Arguing that you don't care about the right to privacy because you have nothing to hide is no different from saying you don't care about free speech because you have nothing to say.

why?

我是个懒人,前头也说了。

偏偏又是个关注隐私的懒人。尤其麻烦的是,还总怀有小人之心,觉得那些手握权力的人,在没有约束的情况下,总是乐于去干最坏的事,历史不厌其烦地这样提醒我们。

孟德斯鸠说得好:

一切有权力的人都容易滥用权力,这是万古不易的一条经验.

因为这些,我开始用GnuPG, 开始关注端对端加密(e2ee)。我觉得隐私权是我的权利,它虽有点抽象,但我情愿花些时间在这上头。希望在这方面积累足够知识,避免受到不必要的侵犯和伤害;在可能的情况下,也尽力去帮助身边的朋友,他们可能关注隐私,却因为缺乏计算机技术背景而不知所措。

密码学、计算机、编程对于平时没怎么接触它的人来说,令人头疼,尤其在维基百科和谷歌都没法访问的地方,要找一份好的学习资料十分不易。我在这方面有些基础,乐意花点时间去学习它们,即便要牺牲一些看电影的时间。利用学到的知识去挑选可信任的工具/软件,将它们分享给周围关注隐私的朋友。

在这上头花时间,倒不是说我处心积虑准备做坏事,或者藏着坏心眼不肯让人看到。

说你关注隐私是有见不得人的事,这就像说你不肯被我搜身是你偷了我的东西。这种说法可真是既蠢又坏呀。

隐私方案,兼顾便利

因为懒惰,所以我希望使用的工具使用起来能尽可能简单,最好就像使用微信一样便利。

此外它最好开放源代码。对于非开放软件,我们无法确知它的安全性。关于这点,Richard Stallman在过去的几十年里做了极好的阐述。

以下是一些我喜欢的对隐私友好的工具。

Firefox Send

Simple, private file sharing from the makers of Firefox

Firefox Send是一个简单、私密的文件分享服务。采用端到端加密,链接到期即焚。真正做到无痕迹。

使用非常便利,使用浏览器打开Firefox Send,上传文件,即可开始分享。

Firefox Send支持:

  • 密码保护
  • 匿名分享
  • 过期时间(5 分钟-7 天)
  • 下载次数(1 次-100 次)
  • 登陆后支持最大 2.5G 文件的分享

Firefox Send是由非营利组织 Mozilla 发布的一个开源项目,尊重隐私的开源浏览器 Firefox 也是 Mozilla 的。Mozilla 一直以来,在技术圈里有口皆碑。

前头提到的这些需求:

  • 将照片/视频从手机传到电脑
  • 将备忘录里的文字从手机传到电脑
  • 将图片/文字从电脑传到手机
  • 将服务器登陆信息告诉同事
  • 分享软件/笑话给朋友

皆可用 Firefox Send 解决. 其中值得一提的是传输文字, Firefox Send只能传输文件,所以需要先将文字转为文件(txt/pdf), 我平时在 iphone 备忘录里写东西,一般转为 pdf(这是内置功能)。

如果你连托管在 Mozilla 服务器上的 Send 也信不过,可以自行租赁服务器,使用开放的源代码搭建自己的 Send 服务。

tips: 如何分享 Send 生成的链接呢?就我而言,觉得使用微信即可。因为你可以设置密码。而且Firefox Send允许设置下载次数,如果你设置了只允许下载一次,结果发现已被下载,说明有人打开过你的链接,你会察觉到的。

magic-wormhole

get things from one computer to another, safely

非技术用户可以跳过这节。

Firefox Send对于非技术用户是都非常有好的,只需要一个浏览器,所以在手机电脑平板上都可用。对于技术用户,有时在命令行界面工作,并没有浏览器。magic-wormhole这时是很好的选择。

magic-wormhole也是个开源项目。

项目的灵感来自于:

相隔遥远的两个巫师同时讲一句相同的魔法咒语,这导致了他们之间建立了某种神秘的联系。接着一个巫师把魔法书扔进虫洞,书就从另一个巫师身边的虫洞掉了出来。

magic-wormhole可以将任意大小的文件和目录(或简短的文本片段)从一台计算机传送到另一台计算机。通过使用相同的咒语(密码)来识别两个端点:通常,发送机器生成并显示咒语,然后必须将密码输入到接收机器中。

安装

pip install magic-wormhole

使用示例

Sender:

% wormhole send README.md
Sending 7924 byte file named 'README.md'
On the other computer, please run: wormhole receive
Wormhole code is: 7-crossover-clockwork

Sending (<-10.0.1.43:58988)..
100%|=========================| 7.92K/7.92K [00:00<00:00, 6.02MB/s]
File sent.. waiting for confirmation
Confirmation received. Transfer complete.

Receiver:

% wormhole receive
Enter receive wormhole code: 7-crossover-clockwork
Receiving file (7924 bytes) into: README.md
ok? (y/n): y
Receiving (->tcp:10.0.1.43:58986)..
100%|===========================| 7.92K/7.92K [00:00<00:00, 120KB/s]
Received file written to README.md

如果你对它的安全机制感兴趣,参考:Design

企业用户

没有云,那只是别人的电脑。

如果你是一家关心隐私的企业,希望保护公司的数字资产。依然有许多工具可供选择。

从企业网盘(NextcloudSeafile )、企业聊天工具(Rocket.Chatmattermost)到 CMS(WordPresswagtail) 、 ERP(odoo)...都有完善的开源解决方案。

awesome-selfhosted中列出了丰富的工具,如果你关注隐私,这儿是宝藏。

help yourself, and opensource community will help you.

物理安全

如果你不希望开董事会的时候,会议室里的摄像头连接到另一家企业的云上。

如果你不希望在开战略会议的时候,智能音箱在边上实时监听。

如果你不希望云端的眼睛看到你的饮食起居、如厕时间、吵架内容。

如果你不乐意在不知情的情况下默认成为 AI 革命的燃料。

那么你身边的智能设备必须开放源代码,并采用端对端加密。

如果你是一个关注隐私并将其视为权利的人,今天的物联网是令人沮丧的。但我们都相信物联网是未来,我们希望有一个健康的未来,或者至少有一个可选项,让关注隐私的人可以有选择。

Home Assistant是这个方向令人振奋的探索者,英荔是这个方向的国内探索者。英荔Home Assistant用作基石,构建了 Longan 项目,致力于打造一个易用的开放性基础项目,赋能给各个行业,目前已经完成了端对端加密服务。

CodeLab Neverland 由 Longan 驱动,英荔无偿提供设备以及工程师的支持。

欢迎关注隐私的工程师加入 :)

参考




Fork me on GitHub