冯晓东
端到端加密无疑是软件安全性和隐私性的最高皇冠,端到端加密多少服务,端到端加密有多强,都决定了服务的安全性。互联网的未来是加密和隐私,如今,所有流行的服务已经或正在E2EE上运行其软件,从占主导地位的WhatsApp到Signal,从Google Duo到Zoom,再到Firefox Sync。所有的努力都汇入了一条通往未来海洋的不可阻挡的河流。
问题
几乎所有流行的服务都在某种程度上进行了加密,例如HTTPS,它将对在浏览器或应用程序与服务器之间传输的数据进行加密,但这不是E2EE,因为在将数据传输到服务器之后,所有有权访问此服务的人该服务器,包括员工,云提供商,黑客,甚至政府,都可以读取您的数据。
如果您与朋友分享一些照片,他们可以学到很多东西,例如您的确切位置,手机型号,照片中的人物,照片中的事物和品牌,解锁手机的脸部,甚至您的虹膜或指纹,您的照片也可能永远保存在服务器中,并且由于将来的技术发展,它们将能够从该照片中挖掘出更多数据。他们有能力用这些数据对您和您的朋友做很多坏事。
Zoom是一种流行的视频会议服务,声称它是E2EE,但人们已经证明事实并非如此,因为他们的服务器能够解码所有视频流。
什么是E2EE?
E2EE通过数学方法解决了这些问题,应用程序仍连接到服务器以传输数据,但是发送方应用程序具有与接收方应用程序派生一些共享密码的机制,这种机制在数学上被证明是安全的,服务器不会知道该过程中输入密码,并且任何现有的计算机都无法猜测得出的密码。
如果您通过E2EE服务与朋友共享照片,则您的应用程序将与您朋友的应用程序一起计算一个非常秘密的密码,世界上任何人都无法读取此密码,只有您俩都可以,然后您的应用程序会使用该密码并将加密的数据发送到服务器,服务器由于不知道密码而无法解密该数据,然后服务器将加密的数据转发给您朋友的应用,最后您朋友的应用可以解密使用密码将数据保存到普通照片中。
通过将E2EE内置到所有应用程序中,您会发现大多数烦人的隐私问题消失了,因为人们再也没有能力虐待您,而不是因为他们不想再伤害您。
数学
E2EE值得信赖且美观,因为它的数学简单性。我不会深入研究数学证明,而是概述基本概念。椭圆曲线是现代E2EE算法的核心,被用作一种非对称密码学。EC数学的优点在于,许多关于自然数的运算也适用于EC点。
椭圆曲线是由生成器定义的,您可能会认为EC只是一个很大的数字G。假设我们有两个用户,一个选择一个很大的随机数a,另一个选择b。
a和b被称为EC私钥。
A=aG是的公钥a,可以将其视为a乘法G。
B=bG是的公开密钥b。
私钥a,b应秘密保存在本地。
公钥,A并且B将在彼此之间共享。
现在,秘密密码的计算如下:
定义s = aB,即秘密s是a乘法B。
因为B=bG,所以s=abG=baG。
因为A=aG,所以s=baG=bA。
这样aB=bA。
这就是说,如果两个用户彼此共享他们的公钥,那么他们将自己计算共享的秘密,并且他们计算出的秘密是相同的。而且,由于用户仅共享公共密钥,并且其秘密密钥在本地存在于其设备中,因此,没有密钥的用户就无法计算出相同的秘密。
参考书目
维基百科:椭圆曲线Diffie–Hellman
使用缩放?这是您需要注意的隐私问题
缩放端到端加密白皮书