许多公司总喜欢标榜他们通讯应用的加密技术,既然有加密,那么问题来了:解密密钥在谁手上?多数情况下,公司自己会持有密钥的数据,能解密用户信息,因此,那些入侵企业或政府机构的黑客们也能做到如此。
如今,随着人们对隐私越来越重视,端对端(end-to-end)加密技术应运而生,它让发出的信息只能被特定的收信人解密,并获得信息内容,不允许第三方介入。换言之,只有终端电脑持有密钥,而负责传递信息的服务器仅作为媒介,它本身不能解密信息。
这种密钥不会离开用户设备的理念可能难以理解,若公司服务器无法看到密钥,那么当用户安装应用时,它又是如何到设备上的呢?
这是可行的,因为还有一种名为公共密钥的加密技术,该技术系统中,有一个程序会让用户电脑通过运算生成一对密钥。其中一把是私人密钥,用来解码设备收到的信息,并保存在设备中,绝不外泄。另一把即公共密钥,它会将收到的信息进行加密,确保仅相应的私人密钥才能解码这些信息。用户能共享这把密钥给那些想要发送加密信息过来的人。该系统就像一个锁箱,公共密钥持有者就像UPS送货员,只有他们能向其中添加东西,并锁好保存起来,而只有私人密钥持有者才能打开它。
PGP(Pretty Good Privacy )是首款免费的端对端信息加密软件,如今已被广泛使用,其中软件程序由Phil Zimmermann编码,于1991年发布。但过了数十年,成熟的加密技术才开始逐渐普及大众。像Jabber即时信息应用的“Off The Record”程序插件和TextSecure 短信的发展,完善了端对端加密技术。苹果公司在 iMessage中应用了端对端加密。(仍然有安全研究员指出该举措可能会让信息被解密)。目前,谷歌在为Chrome浏览器测试一款端对端加密的邮件插件。就在上周,Whatsapp将 TextSecure 整合进了其安卓软件中,为广大用户开启了端对端加密时代。
然而,该技术也有漏洞。比如,窃密者也许会伪装成收信人,从而让发信人的会以窃密者的公共密钥加密,待窃密者解密信息后,接着可以用收信人真正的公共密钥进行加密,然后再进行回复,躲避侦测。为了解决这个漏洞,有些端对端加密程序会基于两方用户的公共密钥生成特定的、一次性的字符串。在双方正式通讯前,设备会读取对方的字符串以确认身份。如果字符串匹配,即可确保安全。
当然,加密系统的终端也是两个致命弱点,因为两端用户的电脑仍可能被黑,导致解密密钥被盗或者收信人的解密信息被黑客直接读取。端对端加密系统安全与否关乎两个端口,有时即使再完美的系统也会败在另一端的瓦解。
via wired