请选择 进入手机版 | 继续访问电脑版

默认
打赏 发表评论 5
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
简述实时音视频聊天中端到端加密(E2EE)的工作原理
微信扫一扫关注!

1、前言


本文着重阐述端到端加密(E2EE),端到端加密是确保数据传输安全的可行方法之一。读完这篇文章,你可以了解这种加密方式的基本原理.

说到互联网的数据安全,一般用户可能认为,像端到端加密这类问题事不关己。确实,如果只是与亲朋好友聊聊家常,不涉及个人数据,那么确实不必担心消息的安全以及端到端加密问题。

但如今,通过互联网进行的数据交换包括网上银行和网上购物、发送个人文件/单据/证件的扫描版、机票信息等方方面面。因此,即使你没有在发送机密的商业数据,也仍有必要了解消息传送应用中的端到端加密原理。如果你希望避免可能存在的第三方攻击,丢失数据,那么在企业应用中支持此类功能至关重要。

相关文章:移动端安全通信的利器——端到端加密(E2EE)技术详解》、《IM聊天系统安全手段之传输内容端到端加密技术

2、什么是端到端加密?


信息安全领域的大多数专家都承认,端到端加密是确保数据交换安全的最可靠方法之一。按照这种方法,在端到端加密应用之间传送的消息只能由这些应用的用户读取,任何第三方都无法读取。通过使用唯一密钥进行数据加密和解密,可以实现此类功能。只有终端用户可以生成和存储这些密钥。

端到端加密系统旨在确保,即使不法分子得以访问传输的数据,其也无法破译数据内容。端到端加密的这项与众不同的特征还体现在所发送的消息可能存储到的服务器上。

由于服务器并不参与密钥生成过程,因此服务器所“看到”的只是在相互通信的用户间传送的加密消息。所以,即使在服务器端泄露了数据,也没有人能够读懂数据的具体内容。

我们来详细了解一下端到端加密的工作原理,以便更好地理解这种加密方式如何保证数据安全。(端到端加密技术详解请见《移动端安全通信的利器——端到端加密(E2EE)技术详解》)

3、端到端加密的工作原理


按照端到端加密方法,当聊天会话开始时,每个用户所使用的应用都会生成两个加密密钥。此类密钥可以使用PGP(Pretty Good Privacy,是一个基于RSA公钥加密体系的邮件加密软件)加密应用加以生成。自1991年PGP首次发布以来,至今尚无证据显示其被破解过。

3.1第一个密钥是公钥


端到端加密应用相互之间会交换这种密钥。

3.2第二个密钥是私钥


私钥并不会从设备中发送出去。利用公钥,用户只能对消息进行加密。要想解密这种经过加密的消息,按照端到端加密方法,应使用对应的私钥。

如果第三方可以获得公钥也无妨,因为公钥只能用于端到端数据加密。正因为此,你大可以通过开放的通信信道来传送公钥。

每一个端到端加密应用生成了一对密钥且应用间相互交换了公钥后,就可以开始进行安全的通信了。诸如消息、视频和音频文件等数据需要先在发送端经过端到端加密过程,然后才会发送到服务器。数据会先存储在服务器上,一直存储到接收方的应用可以接收数据为止。接收方通知服务器收到数据后,这些数据就可以从服务器中删除或者在服务器上保留一段时间。

下面我们用一个形象的比喻来帮助您理解端到端加密应用的工作原理。想象一下,有两个人在用某种外语交谈。第三个人由于不具备所需的语言能力(没有加密密钥),就无法从听到的消息中提取到任何有价值的信息。

这个概念十分简单,但却能够保证在两个或更多个终端之间能够安全地传输消息。对于现代设备来说,加密/解密过程并非难事。即使是移动应用,也能毫无困难地处理端到端加密。或许,唯一需要担心的情况是与多名用户聊天。

在这种情况下,如果您要发送一条消息,必须针对每个接收人都加密一次。参与对话的人数越多,端到端加密应用的工作量就越大。为了避免应用的处理工作可能出现延迟,开发人员需要付出一些额外的努力来确保端到端加密不会影响到用户体验。

4、WebRTC应用的安全标准

WebRTC是一项用来构建网上聊天应用的技术,目前正在快速流行起来。它之所以受到如此高的关注度,原因可能是:用户无需安装任何第三方插件即可使用WebRTC应用。另一个原因就是它支持端到端加密。

现代浏览器中添加了对WebRTC的支持后,它们就可以与Skype等通信软件进行竞争了。此类应用可以为用户提供他们需要的所有功能,包括消息加密。您直接从网络浏览器中就可以交换消息和进行视频通话了。

要利用对端到端加密的支持来开发基于WebRTC的软件,不需要使用任何框架。虽然这看起来很简单,但考虑到WebRTC应用所采用的安全标准,用户完全没有担心的必要。根据信道类型的不同,WebRTC应用采用DTLS(数据报传输层安全)协议或SRTP(安全实时传输协议)协议。

第一种协议用于数据流;第二种则是为媒体流而设计的。这两种安全协议可确保数据传输过程使用加密密钥进行保护。由于支持TLS/SSL标准,可以使用安全的HTTPS连接。通信双方之间采用端到端加密将可保证任何第三方都无法访问您的数据,对于企业应用来说这一点尤为重要。  

5、本文小结


如果你关注聊天应用开发方面的趋势,就不难发现,对于用户和开发人员来说,安全问题都是让他们担心的方面。用户变得更加挑剔,而且日益关注自己所用的消息传送应用的安全程度。

开发人员为了满足用户的这些意愿,也在设法实现最为可靠、尖端的端到端加密技术来保障安全的数据传输。有了端到端加密应用,数据安全性可以达到所需的级别。E2EE最大的优势在于,即使第三方设法截获了你的消息,但没有存储在你自己设备上的密钥,他们也根本无法解密消息。

考虑到在企业中使用通信应用会涉及到与数据泄露有关的额外风险,选用端到端加密软件可能就显得至关重要。

(原文链接:点此进入,有删节)

附录:更多相关资料


[1] 有关IM安全的文章:
即时通讯安全篇(一):正确地理解和使用Android端加密算法
即时通讯安全篇(二):探讨组合加密算法在IM中的应用
即时通讯安全篇(三):常用加解密算法与通讯安全讲解
即时通讯安全篇(四):实例分析Android中密钥硬编码的风险
即时通讯安全篇(五):对称加密技术在Android平台上的应用实践
即时通讯安全篇(六):非对称加密技术的原理与应用实践
即时通讯安全篇(七):用JWT技术解决IM系统Socket长连接的身份认证痛点
即时通讯安全篇(八):你知道,HTTPS用的是对称加密还是非对称加密?
即时通讯安全篇(九):为什么要用HTTPS?深入浅出,探密短连接的安全性
即时通讯安全篇(十):IM聊天系统安全手段之通信连接层加密技术
传输层安全协议SSL/TLS的Java平台实现简介和Demo演示
理论联系实际:一套典型的IM通信协议设计详解(含安全层设计)
微信新一代通信安全解决方案:基于TLS1.3的MMTLS详解
来自阿里OpenIM:打造安全可靠即时通讯服务的技术实践分享
简述实时音视频聊天中端到端加密(E2EE)的工作原理
移动端安全通信的利器——端到端加密(E2EE)技术详解
Web端即时通讯安全:跨站点WebSocket劫持漏洞详解(含示例代码)
通俗易懂:一篇掌握即时通讯的消息传输安全原理
IM开发基础知识补课(四):正确理解HTTP短连接中的Cookie、Session和Token
快速读懂量子通信、量子加密技术
即时通讯安全篇(七):如果这样来理解HTTPS原理,一篇就够了
一分钟理解 HTTPS 到底解决了什么问题
一篇读懂HTTPS:加密原理、安全逻辑、数字证书等
>> 更多同类文章 ……

[2] 开源实时音视频技术WebRTC的文章:
开源实时音视频技术WebRTC的现状
简述开源实时音视频技术WebRTC的优缺点
访谈WebRTC标准之父:WebRTC的过去、现在和未来
良心分享:WebRTC 零基础开发者教程(中文)[附件下载]
WebRTC实时音视频技术的整体架构介绍
新手入门:到底什么是WebRTC服务器,以及它是如何联接通话的?
WebRTC实时音视频技术基础:基本架构和协议栈
浅谈开发实时视频直播平台的技术要点
[观点] WebRTC应该选择H.264视频编码的四大理由
基于开源WebRTC开发实时音视频靠谱吗?第3方SDK有哪些?
开源实时音视频技术WebRTC中RTP/RTCP数据传输协议的应用
简述实时音视频聊天中端到端加密(E2EE)的工作原理
实时通信RTC技术栈之:视频编解码
开源实时音视频技术WebRTC在Windows下的简明编译教程
网页端实时音视频技术WebRTC:看起来很美,但离生产应用还有多少坑要填?
>> 更多同类文章 ……

[3] 实时音视频开发的其它精华资料:
专访微信视频技术负责人:微信实时视频聊天技术的演进
即时通讯音视频开发(一):视频编解码之理论概述
即时通讯音视频开发(二):视频编解码之数字视频介绍
即时通讯音视频开发(三):视频编解码之编码基础
即时通讯音视频开发(四):视频编解码之预测技术介绍
即时通讯音视频开发(五):认识主流视频编码技术H.264
即时通讯音视频开发(六):如何开始音频编解码技术的学习
即时通讯音视频开发(七):音频基础及编码原理入门
即时通讯音视频开发(八):常见的实时语音通讯编码标准
即时通讯音视频开发(九):实时语音通讯的回音及回音消除概述
即时通讯音视频开发(十):实时语音通讯的回音消除技术详解
即时通讯音视频开发(十一):实时语音通讯丢包补偿技术详解
即时通讯音视频开发(十二):多人实时音视频聊天架构探讨
即时通讯音视频开发(十三):实时视频编码H.264的特点与优势
即时通讯音视频开发(十四):实时音视频数据传输协议介绍
即时通讯音视频开发(十五):聊聊P2P与实时音视频的应用情况
即时通讯音视频开发(十六):移动端实时音视频开发的几个建议
即时通讯音视频开发(十七):视频编码H.264、VP8的前世今生
实时语音聊天中的音频处理与编码压缩技术简述
网易视频云技术分享:音频处理与压缩技术快速入门
学习RFC3550:RTP/RTCP实时传输协议基础知识
基于RTMP数据传输协议的实时流媒体技术研究(论文全文)
声网架构师谈实时音视频云的实现难点(视频采访)
浅谈开发实时视频直播平台的技术要点
还在靠“喂喂喂”测试实时语音通话质量?本文教你科学的评测方法!
实现延迟低于500毫秒的1080P实时音视频直播的实践分享
移动端实时视频直播技术实践:如何做到实时秒开、流畅不卡
如何用最简单的方法测试你的实时音视频方案
技术揭秘:支持百万级粉丝互动的Facebook实时视频直播
简述实时音视频聊天中端到端加密(E2EE)的工作原理
移动端实时音视频直播技术详解(一):开篇
移动端实时音视频直播技术详解(二):采集
移动端实时音视频直播技术详解(三):处理
移动端实时音视频直播技术详解(四):编码和封装
移动端实时音视频直播技术详解(五):推流和传输
移动端实时音视频直播技术详解(六):延迟优化
理论联系实际:实现一个简单地基于HTML5的实时视频直播
IM实时音视频聊天时的回声消除技术详解
浅谈实时音视频直播中直接影响用户体验的几项关键技术指标
如何优化传输机制来实现实时音视频的超低延迟?
首次披露:快手是如何做到百万观众同场看直播仍能秒开且不卡顿的?
Android直播入门实践:动手搭建一套简单的直播系统
网易云信实时视频直播在TCP数据传输层的一些优化思路
实时音视频聊天技术分享:面向不可靠网络的抗丢包编解码器
>> 更多同类文章 ……

即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

本帖已收录至以下技术专辑

推荐方案
评论 5
为什么不早点发现52im.net
引用:tarzan2010 发表于 2017-04-06 13:46
为什么不早点发现52im.net

52im的确不错
签名: 心情好
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部