端到端加密是如何在视频和文字聊天软件中工作的

作者:XB Software(原文链接

翻译:刘通

         本篇文章会聚焦于端到端加密技术(E2EE),一种确保信息传输安全的可行方法。我们会看一下这项技术的一些基本原则,然后举例介绍一下可以为你提供端到端加密功能的app。

end2end1

         当提到网络上的信息安全问题时,一般用户可能会认为这种问题例如端到端加密,跟他们完全没有关系。确实,在与你的朋友和家人进行不涉及个人信息的聊天时,你可以不用担心你的信息安全和端到端加密的问题。

         但是在现今,在互联网上的信息交换除了日常聊天以外,还涉及到网上银行,网上购物,发送电子版的个人证件,电子登机牌等等。这就是为什么即便你没有有价值的企业信息,了解一些通信软件的加密工作也不是浪费时间。如果你想要避免中间人的攻击或者不想被窃取隐私者偷走什么的话,这些企业app中的安全技术就变得十分重要了。

 

什么是端到端加密?

         大多数信息安全方面的专家都承认端到端加密是确保信息安全的最有效的方法之一。根据这个过程,在端到端加密应用之间进行传输的消息只能被这两个软件的使用者所看到,任何第三方都无法看到。这项功能可以通过使用独一无二的数据加密和解密密钥来实现。只有终端用户才能够产生和存储这些密钥。

         端到端加密系统被设计用来确保即使攻击者想方设法获得到了传输的信息,它也不能够解密它。端到端加密这项特殊的特点也跟可以存储和发送消息的服务器有关。

         因为服务器不能介入密钥的产生过程,所以所有服务器只能“看到”被加密后的消息在用户之间进行传播。所以即便是从服务器处泄露的信息,也没有人能够看懂它。

         让我们深入来分析一下端到端加密是如何工作的,好更好的理解其是如何保证数据安全的。

 

端到端加密是如何工作的?

         根据端到端加密的思想,当聊天会话开始时,app的每个用户都会产生两个加密的密钥。这些密钥可以通过PGP(Pretty Good Privacy)应用来产生。自从PGP 1991发布以来,还没有发现它被破解侵入的证据。

         第一个密钥是公共密钥(public key)。

         端到端加密应用之间互相传递这种密钥。

         第二个密钥是私密密钥(secret key)。

         私密密钥不会离开设备。通过使用公共密钥,用户只能够对消息进行加密。为了将这些消息解密,根据端到端加密方法,你应该使用对应的私密密钥。

         因为公共密钥只是用来进行加密工作的,所以即便是第三方非法获得了公共密钥也没有关系。这就是为什么你可以在公开的通信信道传输公共密钥的原因。

         在每个端到端加密应用产生这对密钥,应用互相传递了公共密钥之后,就可以进行安全的通信。数据,比如消息,视频和音频文件在发送给服务器之前,通过在发送端的端到端加密流程。数据直到接收端应用接收它之前储存在服务器上。在接收方通知了服务器数据已经被接收之后,这个数据可以从服务器中删除,也可以在服务器中保留一段时间。

         这里有一个好的分析方法可以帮助你更好的理解端到端加密应用是如何工作的。想象两个人正在用外语聊天,第三个人并不懂这门外语(也就是没有加密密钥)所以就不能从听到的话中获得任何有用的信息。

         这个比较简单的概念使消息可以在两个或以上数量的终端之间安全的进行传输。加密/解密工作对于现代设备来说不是一个艰巨的任务。甚至移动设备上的应用也能不费力气的进行端到端加密。唯一可能会出现问题的场景就是多人通话。

         在这种情况中,如果你想要发送一条信息,你就必须对每个接收方进行加密。接收方的数量越多,你端到端应用需要进行的工作量也就越大。为了避免饮用工作所产生的可能延时,开发者需要进行额外的工作来确保端到端加密工作不会损坏用户体验。

 

在下一篇文章中,我们会举例分析一些可以给用户提供端到端加密功能的聊天软件。未完待续。。。

填写常用邮箱,接收社区更新

WebRTC 中文社区由

运营