最近我在试图把我的联系人慢慢的移到一个end-to-end encrypted端对端加密的聊天平台上。不想再依赖微信作为和国人通信的主要渠道。
废话不多说,先把我的推荐列出来:
如果你和你的聊天对象都在海外(或者在国内而且天天翻墙),那推荐 Signal.
如果其中一人在国内不翻墙,那推荐 Session.
不推荐的
不推荐任何国内的app,包括但不限于微信,旺旺,钉钉,等。
不推荐Telegram。
切换聊天软件是个很大的工程。因为不是你一个人可以搞定的,你得确保你聊天另一半也愿意切换软件。所以对于怕麻烦怕折腾的各位,可以接着用你们喜欢的app了。
我个人很看重privacy/隐私。我和我朋友的对话,应该是仅仅只属于我们两方之间的对话,不应该被任何第三方所看到,更不应该被第三方所审查,修改,删除。
我也是个怕麻烦的人,但是对比去保护自己的隐私,我会试图努力去切换聊天工具。
什么是端对端加密?
端对端加密就是:
我在手机上打了一串字,比如 “hello world”
按下发送按钮的时候,加密聊天app在我手机上就会加密,变成一串乱码,比如 “=H$H3z*h%*K&f4S/”
加密完了之后,把上面这串所谓的乱码发到对方手机上,这时候要经过各种手机运营商,宽带运营商,和其他各种中间商,第三方
对方手机收到加密的乱码,加密聊天app里解密的代码在对方手机上解密,把“=H$H3z*h%*K&f4S/” 变成 “hello world”
对方手机显示,收到你的“hello world”的信息
如果在没有加密的情况下,没有2)和4)的话,就会是明文在第三方的网络上传播。
第三部也是大多数信息泄露的时候,各种国内的电信,移动,国外的facebook google都会试图阅读你的这个信息。有的是为了卖你广告,有的为了审查你的信息,目的各不相同。
在上面写的加密的情况下,就算第三方截获了信息,他们也看不到里面到底写了啥,所以也没法去审查,理解,等等了。
你可能会问,我光明磊落,为什么要加密?
我首先会问你,为什么不加密?你和你朋友的对话,为什么要让多个第三方的人时时刻刻都看到呢?想象一下在现实生活里,你和你朋友一起在家里聊天,然后家里同时也坐了一屋子的陌生人,有来自电信移动的人,有来自宽带网络公司的人,有fb/google的人,全都坐一圈在津津有味的听着你和你朋友的对话,这正常吗?更有甚者,如果你说了某些第三方不准你说的话,还有个陌生人会马上上来捂住你的嘴,塞住对方的耳朵,这正常吗?
加密,其实就是让这些人都离开你的家,离开你的safe space。让你拥有基本的隐私权。
微信,Telegram,这些不加密的app有什么问题
国内的这些app应该无需赘述。由于国内法律法规,他们必须不加密的把数据传到一个服务器里,随时以供审查。就连Apple也不得不屈服国内的规定,云上贵州就是存放国内Apple用户所有聊天记录和其他iCloud数据的地方。
微信群在近年来有越来越多的实时审查。有些敏感词信息会被直接过滤掉。你以为你发出去了,实际上对方压根没收到。这也就是因为上面的第三部,腾讯可以直接看到你发的是啥。如果腾讯看不见你发的是啥,他也就无从审查和扣留信息了。
Telegram有很多海外的人在用。我不推荐。有几个原因。
Telegram默认是没有加密,直接传到他的服务器里,你要看历史消息,往上刷,他就会一直找服务器下载以前的消息;Telegram有一个隐藏的加密模式就和Signal一样,只不过每个对话得单独开启,大多数人又不改default,所以默认不安全的。
Telegram的商业模式很迷,用户可以无限量传图片视频,导致他是最大的盗版和黄网的聚集地。然而Telegram app又不收费,这些服务器硬盘流量啥的都很贵,所以很多人在质疑Telegram的founder和团队是不是在偷偷卖用户。
为什么我推荐 Signal 和 Session ?
对比Telegram来说,Signal 和 Session 对比之下,
首先,只有端对端全加密模式。没有服务器存信息。不像Telegram误导用户使用不加密的模式。
其次,因为不用存信息,运营成本很低,靠点捐助就可以活的很好。Signal是靠Whatsapp的founder离开fb后资助建立的。Session是Signal的一个变种。
最后,Signal 和 Session 的加密protocol代码和app都是开源的,分别在 https://github.com/signalapp 和 https://github.com/oxen-io 不仅有很多专业的开发者在贡献代码,而且还有独立第三方audit 审计确保加密的实现。
噢 你可能会问Signal和Session有什么区别。作为用户来说区别不太大。我感觉两个:
Signal 需要你用手机号码注册,Session 并不需要,Session是你第一次登录的时候自动给你assign一个 user id。所以我现在Signal和以前就认识的朋友用的比较多(因为有互相的手机号码),Session和新朋友用的比较多,因为我会把我的Session Id直接发在网上。这是我的 Session ID: 05d501b75bf7efa8d53ae2c0031e9999137a71ba6462ef516d154fa246fc31010b
Signal目前国内已经被墙,Session暂时还没有,所以如果要和国内朋友联系。Session会比较简单。但是不知道Session会不会也被墙。
05c465f34409f3d21e716beb04b2adbd6e8500e6d208f5090d2db0ae0184f5993d
有人来聊天吗