安全邮件ProtonMail

网上的一切服务都经由服务器提供,邮件服务也不例外。若是邮件内容以明文方式存储在服务器,就有可能被“非法”访问。

比如,在你“不知情”的条件下,第三方服务获取了读写你邮件的权限,就可以无障碍阅读你的邮件。Gmail邮件门事件就是用户主动授权给第三方,使得第三方可以明文阅读用户的邮件。无需知道你的邮件秘密,只需要你授权告知Google,Google就能开放权限给第三方明文阅读你的邮件。

也就是说,有一种方法,可以越过你的密码验证,只要Google点头,就可以无障碍读写你的邮件。而实际上,Google就曾通过扫描用户的邮件,获取私人信息,用于他的广告业务[1]。谷歌告诉华尔街日报,其内部员工可以在“特殊情况”下访问用户的电子邮件, 例如为了安全,需要获取用户信息调查数据泄露或滥用。邮件门事件中的电子邮件管理公司Return Path软件公司,扫描过2百万注册用户的邮件,他们的电脑每天扫描分析1亿封邮件。他们的员工为了训练自己的软件算法,读过8千多封私人邮件[2]。

拿我自己的学校邮箱举例。因为它是明文存储,我自己作为普通用户能读取的文件,管理员root用户就可以无障碍读写,也可以授权其它用户读写。如下图所示,只要有必要,完全可以检索分析出,我在什么时候,给谁,发过什么内容的邮件。也可以统计出我使用邮件的习惯,全部关键词,我的全部联系人,等等等。任何使用该邮件服务的用户,包括各个级别的教授,只要需要,管理员root用户都可以分析统计并修改他们的邮件。这是指从原理上能技术实现,至于用户和邮件是否被分析,不是技术问题。

有一种方法可以防止服务器管理员读写我们的邮件,那就是将邮件加密后存储在服务器中。虽然管理员依然可以读取邮件的内容,但因为邮件的内容是加密的,所以看到的是加密后的乱码。如下图,test1.me@protonmail.com 发邮件到test2.me@protonmail.com,内容分别为hi1和hi2,因为邮件是端到端(End-to-End Encryption, E2EE)加密的,所以服务器存储的是乱码。即便服务器被非法访问,读到的也是加密后的密文,无法使用。

端到端加密 (E2EE),是指通过公钥-私钥对(public key-private key)加密通讯的内容(注:并不是加密通讯过程)。公钥加密的内容,只能被配对的私钥解密,反之,私钥加密的内容,只能用配对的公钥解密。通常,公钥会对全网公开,私钥自己保存。

比如Bob和Alice通讯。Bob和Alice都有各自的公钥-私钥对,且称为Bob-PublicKey,Bob-PrivateKey,Alice-PublicKey, Alice-PrivateKey。Bob发邮件给Alice,为了保证内容只被Alice读出,Bob会使用Alice-PublicKey加密。即便通讯被监听,第三方拿到邮件内容,也只有Alice用Alice-PrivateKey才能解密,阅读。为了确保邮件的确是Bob发出,而不是别人伪造的,Bob会用自己的的PrivateKey再加密内容。若是第三方谎称自己是Bob给Alice发邮件,那Alice只要使用Bob-PublicKey尝试解密,只要能顺利解密,就能验证,这是Bob发来的邮件[3]。

图片引自ProtonMail: How does end-to-end encryption work?

ProtonMail (PM) 就是采用来端到端加密的邮件服务,保证了只有通讯双方才知道邮件内容。整个过程都自动完成,无需用户理会,跟普通邮件的使用过程一样。PM服务器存储的是加密后的内容,无法被任何第三方读取。

如果是PM与PM之间的通讯,默认是E2EE加密;若是PM到跟其它邮件系统通讯,那就不是E2EE通讯;但保存在PM服务器的内容,任何情况下都是E2EE加密的[4]。为了保证通讯内容是E2EE,最好双方都使用PM。或者通过PM提供的“Encrypt for non-ProtonMail users”功能,手动设置密钥。对方收到邮件链接,而不是邮件明文;通过密钥登陆PM临时邮件系统,查看内容。比如HSBC Enterprise给我Gmail发邮件的时候,就是用这种方式,我需要通过链接登陆他们的系统读取邮件内容,不能直接在Gmail上查看。即便是只有你自己使用PM,用最省事的方式直接发邮件给非PM用户,也至少保证了,PM服务器无法从我这一端读取邮件。至于对方服务器是否监听通讯内容,PM控制不了。

有不少提供E2EE邮件服务的公司,其中PM是最流行的。据说有些线人爆料,会要求记者提供PM邮箱收取内容。还听说,Snowden除了Lavabit就是使用PM。PM邮件可以免费使用,500M空间,够一般用户私人使用。若要更多存储空间或其它功能,需要付费订阅。通过设置自己操作系统的时间为黑色星期五,网页登陆PM邮件系统后,有30~50%的优惠,这是官方故意留的后门。它提供域名邮箱,提供公司邮件系统服务。尤其是对于公司,各式企业邮箱服务,若非E2EE,通讯内容都是被明文存储在服务器。如果需要,邮件服务商都可以明文读取邮件内容,窃取商业机密。

PS:

  • 我跟PM及Gmail不存在利益关系,是两者的普通用户。
  • PM也可以想法子窃取用户的邮箱密码。但保护用户隐私是他们的商业模式,若被发现它们窃听某用户邮件,所有用户都会瞬间抛弃它。
  • Gmail的用户并非Google的客户,它要靠广告客户盈利。如果我不是他的客户,那我就会成为它的产品,被卖给它的客户。Google和Facebook都一样,是由商业模式决定的。

参考资料:

  1. Google to Stop Reading Users’ Emails to Target Ads
  2. Tech’s ‘dirty secret’: App developers are sifting through your Gmail
  3. 省略了通讯过程中非对称加密的很多细节
  4. What is encrypted?

2018/12/11, Tue