一种基于RTMP连接的数据安全传输方法技术

技术编号:13508352 阅读:42 留言:0更新日期:2016-08-10 19:26
本发明专利技术公开了一种基于RTMP连接的数据安全传输方法,该方法对RTMP实时传输协议进行了功能性扩展,通过客户端与服务器的密钥协商过程,每个连接所采用的加密算法以及密钥都具有随机性,能在很大程度上提高外部对密文数据破解分析的难度。该方法采用对称的加密算法进行加密处理,加解密处理效率高,对数据传输的实时性以及用户体验无明显影响,对服务器的处理负载影响小。同时,服务器能够灵活地选择加密方式,可根据用户类型或用户请求的资源类型来确定是否加密传输,或选择特定的加密算法以及密钥长度,本发明专利技术可支持64字节或更多字节长度的密钥,同时能够支持255种加密算法。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种基于RTMP连接的数据安全传输方法,该方法对RTMP实时传输协议进行了功能性扩展,通过客户端与服务器的密钥协商过程,每个连接所采用的加密算法以及密钥都具有随机性,能在很大程度上提高外部对密文数据破解分析的难度。该方法采用对称的加密算法进行加密处理,加解密处理效率高,对数据传输的实时性以及用户体验无明显影响,对服务器的处理负载影响小。同时,服务器能够灵活地选择加密方式,可根据用户类型或用户请求的资源类型来确定是否加密传输,或选择特定的加密算法以及密钥长度,本专利技术可支持64字节或更多字节长度的密钥,同时能够支持255种加密算法。【专利说明】-种基于RTMP连接的数据安全传输方法
本专利技术属于数据安全传输
,尤其设及一种基于RTMP连接的数据安全传输 方法。
技术介绍
随着互联网的快速发展,人们在享受互联网带来的便捷服务的同时也面临着信息 安全方面的问题,而远程会议、在线交易、网上银行等领域的高速发展,导致数据安全的重 要性也越来越突出。数据加密传输是信息安全领域中非常重要且常用的技术手段,是由发 送端对关键数据通过一定的算法进行加密处理,成为不可识别的密文数据通过互联网到达 目的地,由接收端根据约定的解密方式将密文数据解密还原为可读的数据。数据加密传输 能大大地提高数据被第=方分析、窃取的难度,可有效防止重要信息的泄漏。 RTMP实时消息传送协议具有非常好的用户体验,实现容易、资源占用少,目前已广 泛应用于新闻发布、在线直播、视频点播、视频会议、网络广告、远程教育、远程医疗等方面。 由于RTMP协议本身不具有数据安全的保护机制,数据在收发双方建立的通道上W明文的形 式传输,再加上该协议的开放性,数据在传输过程中可被第=方轻易地获取并分析出数据 内容,因此使用标准的RTMP协议进行数据传输在信息安全方面存在非常高的风险,难W避 免来自外部的数据窃取、信息篡改等恶意攻击,在对数据传输有安全性要求的场景下不具 有可用性。
技术实现思路
本专利技术的目的在于针对现有技术的不足,提供一种基于RTMP连接的数据安全传输 方法,当客户端与服务器建立连接之后,客户端向服务器请求会话密钥信息,服务器随机选 择加密算法并生成随机的密钥信息一起发送给客户端。客户端在收到密钥信息之后才向服 务器请求资源数据,服务器若未发出密钥信息,对客户端发出的资源请求拒绝处理。 本专利技术的目的是通过W下技术方案来实现的:一种基于RTMP连接的数据安全传输 方法,该方法包括W下步骤: (1)客户端主动向服务器发起RTMP连接请求,服务器接收客户端的RTMP连接请求, 验证请求合法后建立与客户端的连接。 (2)建立连接之后,客户端向服务器请求密钥信息。客户端新增一种请求密钥的消 息体,命名为AskKeys,用于向服务器请求当前会话的加密算法W及对应的密钥信息。 AskKeys消息体的组成及各组成部分的含义如下:[000引消息类型MessageType = I字节长度;取值为4,表示当前消息为用户控制类型的消 息,与标准RTMP协议保持一致。有效负载长度化yload length:是事件类型区间字节数,取值为2。时间戳Timestamp:4字节长度,存放当前的时间戳。数据流标识Stream ID: 3字节长度,消息体中此值为0,表示非资源数据。 事件类型Event Type:2字节长度,表示用户控制类的事件类型,取值为10,表示客 户端向服务器请求密钥信息的事件类型,与标准RTMP协议中已有的事件类型相区分。 (3)服务器接收客户端的AskKeys请求之后,根据服务器加密策略随机选择加密算 法并生成随机的密钥,然后将运些信息统一返回给客户端。 服务器新增一种用于响应客户端密钥请求的消息体,命名为Keys。当密钥信息长 度设定为16字节时,Keys消息体的组成及各组成部分的含义如下: 消息类型MessageType = I字节长度,取值为4,表示当前消息为用户控制类型的消 息,与标准RTMP协议保持一致。 有效负载长度化yload length:是事件类型区间字节数(2字节)、密钥区间字节数 (16字节),加密算法编码字节数(1字节),混淆因子字节数(2字节)的总和,取值为21。时间戳Timestamp:4字节长度,存放当前的时间戳。 数据流标识Stream ID: 3字节长度,消息体中此值为0,表示非资源数据。 事件类型Event Type: 2字节长度,表示用户控制类的事件类型,取值为9,表示服 务器响应客户端的密钥信息事件类型。 密钥区间Key:存放长度为16个字节的密钥信息,若W非加密的方式传输数据,16 字节的密钥区间全部WO填充。 加密算法编码Alg:用于表示加密算法信息,编码为0表示不做加密处理,W明文传 输,编码为非零的不同数字对应不同的加密算法。 混淆因子Con化sion:2字节长度,内容随机生成,用于混淆会话密钥W及算法信 息,通过异或的方式对关键数据进行混淆处理,使得密钥区间与加密算法编码信息W密文 状态传输到客户端,有助于进一步提高安全性。 所述密钥的生成策略具体为:服务器先随机生成2字节长度的随机值,用于混淆会 话密钥与加密算法信息,随后针对每个会话随机生成16字节长度的密钥,其中每个字节为 0-255之间的不同随机数,并根据安全策略动态选择加密算法,然后W对应的加密算法编码 填充加密算法区间,最后对密钥区间和加密算法区间统一W混淆因子进行异或混淆处理。 服务器在本次会话中存储加密算法信息W及密钥信息,用于将待传输的数据资源进行加密 传输。服务器针对每个会话,加密算法的选择W及密钥的生成都具有随机性。 (4)客户端接收服务器响应的Keys消息体后,提取Alg区的加密算法的信息,若算 法编码区为0,则表示当前连接为非安全连接,即采取明文的方式传输视频数据,否则认为 是安全连接,并从Key区提取密钥信息作为解密密钥。根据Alg区的编码确定对应的解密算 法,用于对后期接收到的密文数据的解密。 (5)客户端向服务器请求数据资源。 (6)服务器通过会话中的加密算法W及加密密钥对关键数据进行加密后传输。 (7)客户端在收到数据资源之后,先判断当前连接是否为安全连接,若为安全连 接,则W会话中的解密算法与密钥对数据进行解密得到明文数据,否则,直接作为明文数据 读取。 本专利技术与标准的RTMP数据传输相比具有W下几个优点: (1)对RTMP实时传输协议进行了功能性扩展,通过客户端与服务器的密钥协商过 程,每个连接所采用的加密算法W及密钥都具有随机性,能在很大程度上提高外部对密文 数据破解分析的难度。 (2)采用对称的加密算法进行加密处理,加解密处理效率高,对数据传输的实时性 W及用户体验无明显影响,对服务器的处理负载影响小。 (3)服务器能够灵活地选择加密方式,可根据用户类型或用户请求的资源类型来 确定是否加密传输,或选择特定的加密算法W及密钥长度,本专利技术可支持64字节或更多字 节长度的密钥,同时能够支持255种加密算法。 (4)在密钥协商过程中,对密钥W及加密算法进行了混淆处理,隐藏了密钥信息, 混淆因子完全随机,增加了外部对视频数据的破解难度。 在实际应用中也可结合应用场景的需要采用非对称本文档来自技高网
...

【技术保护点】
一种基于RTMP连接的数据安全传输方法,其特征在于,该方法包括以下步骤:(1)客户端主动向服务器发起RTMP连接请求,服务器接收客户端的RTMP连接请求,验证请求合法后建立与客户端的连接。(2)建立连接之后,客户端向服务器请求密钥信息。客户端新增一种请求密钥的消息体,命名为AskKeys,用于向服务器请求当前会话的加密算法以及对应的密钥信息。AskKeys消息体的组成及各组成部分的含义如下:消息类型MessageType:1字节长度;取值为4,表示当前消息为用户控制类型的消息,与标准RTMP协议保持一致。有效负载长度Payload length:是事件类型区间字节数,取值为2。时间戳Timestamp:4字节长度,存放当前的时间戳。数据流标识Stream ID:3字节长度,消息体中此值为0,表示非资源数据。事件类型Event Type:2字节长度,表示用户控制类的事件类型,取值为10,表示客户端向服务器请求密钥信息的事件类型,与标准RTMP协议中已有的事件类型相区分。(3)服务器接收客户端的AskKeys请求之后,根据服务器加密策略随机选择加密算法并生成随机的密钥,然后将这些信息统一返回给客户端。服务器新增一种用于响应客户端密钥请求的消息体,命名为Keys。当密钥信息长度设定为16字节时,Keys消息体的组成及各组成部分的含义如下:消息类型MessageType:1字节长度,取值为4,表示当前消息为用户控制类型的消息,与标准RTMP协议保持一致。有效负载长度Payload length:是事件类型区间字节数(2字节)、密钥区间字节数(16字节),加密算法编码字节数(1字节),混淆因子字节数(2字节)的总和,取值为21。时间戳Timestamp:4字节长度,存放当前的时间戳。数据流标识Stream ID:3字节长度,消息体中此值为0,表示非资源数据。事件类型Event Type:2字节长度,表示用户控制类的事件类型,取值为9,表示服务器响应客户端的密钥信息事件类型。密钥区间Key:存放长度为16个字节的密钥信息,若以非加密的方式传输数据,16字节的密钥区间全部以0填充。加密算法编码Alg:用于表示加密算法信息,编码为0表示不做加密处理,以明文传输,编码为非零的不同数字对应不同的加密算法。混淆因子Confusion:2字节长度,内容随机生成,用于混淆会话密钥以及算法信息,通过异或的方式对关键数据进行混淆处理,使得密钥区间与加密算法编码信息以密文状态传输到客户端,有助于进一步提高安全性。所述密钥的生成策略具体为:服务器先随机生成2字节长度的随机值,用于混淆会话密钥与加密算法信息,随后针对每个会话随机生成16字节长度的密钥,其中每个字节为0‑255之间的不同随机数,并根据安全策略动态选择加密算法,然后以对应的加密算法编码填充加密算法区间,最后对密钥区间和加密算法区间统一以混淆因子进行异或混淆处理。服务器在本次会话中存储加密算法信息以及密钥信息,用于将待传输的数据资源进行加密传输。服务器针对每个会话,加密算法的选择以及密钥的生成都具有随机性。(4)客户端接收服务器响应的Keys消息体后,提取Alg区的加密算法的信息,若算法编码区为0,则表示当前连接为非安全连接,否则认为是安全连接,并从Key区提取密钥信息作为解密密钥。(5)客户端向服务器请求数据资源。(6)服务器通过会话中的加密算法以及加密密钥对关键数据进行加密后传输。(7)客户端在收到数据资源之后,先判断当前连接是否为安全连接,若为安全连接,则以会话中的解密算法与密钥对数据进行解密得到明文数据,否则,直接作为明文数据读取。...

【技术特征摘要】

【专利技术属性】
技术研发人员:彭勇陈勇赵云锋
申请(专利权)人:杭州狮说教育科技有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1