首页 / 媒体流传输方法

媒体流传输方法有效专利 发明

技术内容

技术领域 本发明涉及一种媒体流传输方法,特别是对媒体流进行有选择的加密后传 输的方法,属于多媒体技术领域。 背景技术 以音频、视频压缩技术为核心的多媒体技术近年来发展迅速,同时随着计 算机网络技术的不断进步,尤其是宽带网络的普及,二者结合的产物就是所谓 的流媒体技术。流媒体指在Internet中使用流式传输技术的连续时基媒体,如: 音频、视频或多媒体文件。流式媒体在播放前并不下载整个文件,而是数据流 随时传送随时播放。流媒体传输已成为当前众多网络服务中的关键应用,如视 频监控、视频会议、视频点播、网络电话(Voice over Internet Protocol, 简称:VoIP)等。 目前,声音和视频数据的压缩方式使用最多的是活动图像专家组(Moving Pictures Expert Group,以下简称:MPEG)方式,它具有很好的兼容性,能提 供比其它算法更好的压缩比,同时数据的损失很小。在现有的流媒体传输系统 中参与会话的双方的媒体流大多直接在网上进行传输,并未经过加密处理,增 加了媒体数据泄密的可能性。在未经过安全扩展的会话初始协议(Session Initiation Protocol,以下简称:SIP)通信中,黑客可以有多种方式进行数 据的窃取,一般有如下两种手段: (1)网络监听:黑客可以通过监听网络上传输的媒体包,直接获取用户的机 密信息; (2)身份伪装:黑客可以通过对SIP信令截获和地址伪装的方式来扮演控制 平台或客户端的角色骗取用户的保密信息。 为了增加通信安全性,某些流媒体系统在传输媒体流时将整个媒体流用标 准的加密技术来进行加密。由于媒体流的数据流通常是很大的,所以这种加密 方法无法提供很高的处理速度,不适合实时媒体流的加密,更无法适应处理能 力较弱的嵌入式设备的实时媒体流加密的要求。 发明内容 本发明提供一种媒体流传输方法,用以解决媒体流信息被窃取的问题,实 现安全加密媒体流的传输。 本发明通过一些实施例提供了如下的技术方案:一种媒体流传输方法,包 括以下步骤: 第一终端判断媒体流是否需要加密,发出携带包含有加密指令的扩展字段 的会话开始请求消息;或者直接发出会话开始请求消息; 控制平台判断所述会话开始请求消息中是否携带有所述扩展字段,生成用 于加密媒体流的密钥,转发携带所述密钥的会话开始请求消息;或者直接转发 所述会话开始请求消息; 第二终端判断所述会话开始请求消息中是否携带有所述扩展字段,还原出 所述密钥,返回携带所述扩展字段的响应消息,并利用所述密钥将所述媒体流 进行选择性加密后发送;或者直接返回响应消息,并将所述媒体流直接发送; 所述控制平台判断所述响应消息中是否携带有所述扩展字段,转发携带所 述密钥的响应消息;或者直接转发所述响应消息; 所述第一终端判断所述响应消息中是否携带有所述扩展字段,还原出所述 密钥和所述媒体流;或者直接读取接收到的媒体流。 本发明的一些实施例通过在SIP信令中添加新的字段扩展SIP协议,以及 对媒体流进行选择性加密的方法,实现了安全加密媒体流的传输,保证了基于 SIP协议的下一代互联网视频监控、视频会议、以及视频点播等系统具有较高的 数据安全性。 此外,本发明的一些实施例的运算负载低、处理效率高,具有实时的媒体 流加密能力。对于视频监控系统来说,降低了对嵌入式监控终端处理能力要求, 提高了嵌入式监控终端的实时媒体流加密的性能。 附图说明 下面结合附图对本发明的具体实施方式作进一步详细的说明。 图1为本发明媒体流传输方法的第一实施例的流程示意图; 图2为本发明媒体流传输方法的第二实施例的流程示意图。 具体实施方式 如图1所示,为本发明媒体流传输方法的第一实施例的流程示意图。本实施 例包括以下步骤: 第一终端判断媒体流在传输之前是否需要加密,如果上述媒体流需要进行 加密处理后再进行传输,第一终端则发出携带包含有加密指令的扩展字段的会 话开始请求(以下简称:INVITE)消息到控制平台;如果上述媒体流不需要进 行加密处理就能够直接进行传输,第一终端则直接发出INVITE消息到控制平台; 控制平台判断上述INVITE消息中是否携带有上述扩展字段,如果上述 INVITE消息中携带有上述扩展字段,控制平台则生成用于加密媒体流的密钥, 并转发携带上述密钥的INVITE消息到第二终端;如果上述INVITE消息中没有 携带上述扩展字段,控制平台则直接转发上述INVITE消息到第二终端; 第二终端判断上述INVITE消息中是否携带有上述扩展字段,如果上述 INVITE消息中携带有上述扩展字段,第二终端则还原出上述密钥,返回携带上 述扩展字段的响应(以下简称:200 OK)消息到控制平台,并利用上述密钥将 上述媒体流进行选择性加密后发送到第一终端;如果上述INVITE消息中没有携 带上述扩展字段,第二终端则直接返回200 OK消息到控制平台,并将上述媒体 流直接发送到第一终端; 上述控制平台判断上述200 OK消息中是否携带有上述扩展字段,如果上述 200 OK消息中携带有上述扩展字段,控制平台则转发携带上述密钥的200 OK消 息到第一终端;如果上述响应消息中没有携带有上述扩展字段,控制平台则直 接转发上述200 OK消息到第一终端; 上述第一终端判断上述200 OK消息中是否携带有上述扩展字段,如果上述 200 OK消息中是否携带有上述扩展字段,第一终端则还原出上述密钥和第二终 端所发送的媒体流;第一终端则直接读取接收到的媒体流。 本实施例中,对上述媒体流进行加/解密的算法,是系统预先设置好的。本 实施例通过在会话开始请求消息和响应消息中添加了用于加密媒体流的加密指 令和/或用于加密媒体流的密钥,以及对媒体流进行选择性加密的方法,实现了 安全加密媒体流的传输,保证了基于SIP协议的下一代互联网视频监控、视频 会议、以及视频点播等系统具有较高的数据安全性。 此外,上述媒体流进行加/解密的算法还可以是进行算法匹配后得到的算法, 在下一实施例中详细说明。如图2所示,为本发明媒体流传输方法的第二实施 例的流程示意图。本实施例包括以下步骤: 第一终端判断媒体流在传输之前是否需要加密,如果上述媒体流需要进行 加密处理后再进行传输,第一终端则发出携带有扩展字段“Require:encrypt” 的INVITE消息,扩展字段“Require:encrypt”中的“encrypt”为用于对上 述媒体流进行加密的加密指令;如果上述媒体流不需要进行加密处理就能够直 接进行传输,第一终端则直接发出INVITE消息; 控制平台判断接收到的INVITE消息中是否携带有扩展字段“Require: encrypt”,如果上述INVITE消息中携带有扩展字段“Require:encrypt”,控 制平台则进行算法匹配,匹配出参与会话的第一终端和第二终端都支持的算法, 利用算法匹配得到的算法Y和所述第二终端所拥有的第二密码将随机生成的用 于加密媒体流的密钥A先进行加密生成第一字符串B1(B1为二进制字符串),再 将第一字符串B1用Base-64进行编码生成第二字符串B(B为文本字符串),将 算法Y和第二字符串B写入第一加密字段,将包含有算法Y和第二字符串B的 第一加密字段“Encrypt:Y;key=B”添加到上述INVITE消息中,并将携带扩 展字段“Require:encrypt”和第一加密字段“Encrypt:Y;key=B”的INVITE 消息转发到第二终端;如果上述INVITE消息中没有携带扩展字段“Require: encrypt”,控制平台则直接转发上述INVITE消息到第二终端; 第二终端判断接收到的INVITE消息中是否携带有扩展字段“Require: encrypt”,如果上述INVITE消息中携带有扩展字段“Require:encrypt”,第 二终端则提取上述INVITE消息中携带的第一加密字段“Encrypt:Y;key=B”, 先利用Base-64对其中所包含的第二字符串B进行解码还原出第一字符串B1, 再利用算法Y和上述第二终端所拥有的第二密码将第一字符串B1进行解密还原 出密钥A,返回携带扩展字段“Require:encrypt”的200 OK消息到控制平台, 并利用密钥A将上述媒体流进行选择性加密后发送给上述第一终端;如果上述 INVITE消息中没有携带扩展字段“Require:encrypt”,第二终端则直接返回 200 OK消息到控制平台,并将上述媒体流直接发送给上述第一终端; 控制平台判断接收到的200 OK消息中是否携带有扩展字段“Require: encrypt”,如果上述200 OK消息中携带有扩展字段“Require:encrypt”,控 制平台则利用算法Y和所述第一终端所拥有的第一密码将密钥A先进行加密生 成第三字符串C1(C1为二进制字符串),再将第三字符串C1用Base-64进行编码 生成第四字符串C(C为文本字符串),将算法Y和第四字符串C写入第二加密 字段,将包含有算法Y和第四字符串C的第二加密字段“Encrypt:Y;key=C” 添加到上述200 OK消息中,并转发携带扩展字段“Require:encrypt”和第二 加密字段“Encrypt:Y;key=C”的200 OK消息到上述第一终端;如果上述200 OK消息中没有携带扩展字段“Require:encrypt”,控制平台则直接返回200 OK 消息到上述第一终端; 第一终端判断接收到的200 OK消息中是否携带有扩展字段“Require: encrypt”,如果上述200 OK消息中携带有扩展字段“Require:encrypt”,第 一终端则提取上述200 OK消息中携带的第二加密字段“Encrypt:Y;key=C”, 先利用Base-64对其中所包含的第四字符串C进行解码还原出第三字符串C1, 再利用算法Y和上述第一终端所拥有的第一密码将第三字符串C1进行解密还原 出密钥A,第一终端利用密钥A对接收到的经过加密的媒体流进行解密还原出上 述媒体流;如果上述200 OK消息中没有携带扩展字段“Require:encrypt”, 第一终端则直接读取接收到的媒体流。 其中,根据参与会话的第一终端和第二终端所支持的加密等级以及媒体流 加密的需要,算法Y可以为数据加密标准(Data Encryption Standard,以下简 称:DES)、三倍DES(Triple DES,以下简称:3DES)或高级加密标准(Advanced Encryption Standard,以下简称AES)算法。 本实施例中,参与会话的第一终端与第二终端通过注册自己所支持的加密 算法,由控制平台进行算法匹配确定加/解密上述媒体流的算法,完成了算法的 协商。第一终端与第二终端之间通过控制平台协商加/解密媒体流的算法,对媒 体流进行DES、3DES或AES算法加/解密,其中,加/解密所使用的密钥,是由 控制平台决定的。通过本实施例的上述步骤,参与会话的第一终端和第二终端 通过监控平台进行了密钥交换,拥有了相同的密钥A,双方利用密钥A即可以完 成对所要传输的媒体流进行加密和/或解密。 本实施例通过在INVITE消息中添加扩展字段“Require:encrypt”和/或 第一加密字段“Encrypt:Y;key=B”,在200 OK消息中添加扩展字段“Require: encrypt”和/或第二加密字段“Encrypt:Y;key=C”扩展了SIP协议,实现 了算法的协商以及密钥的交换。此外,本实施例还考虑到在视频监控系统中, 嵌入式视频监控终端的处理能力不足,一般不能实现对全部媒体流进行DES、 3DES或AES算法加密的功能,因此,本实施例只选择一小部分关键的媒体流的 数据信息进行加密,实现了对媒体流进行安全加密后的传输,保证了基于S IP 协议的下一代互联网视频监控、视频会议、以及视频点播等系统具有较高的数 据安全性。 作为一种可扩展的算法协商和密钥交换机制,对于加密的等级强度完全可 以由系统根据需要来选择相应的加密算法和足够位数的加密密钥。假如终端需 要提高加密的强度,只需要在注册时将自己所支持的高强度加密算法报告给控 制平台的SIP服务器,以及SIP服务器也相应地添加对上述算法的支持即可。 本发明媒体流传输方法的第三实施例与上一实施例相比,本实施例中,第 一终端利用密钥A对接收到的经过加密的媒体流进行解密还原出上述媒体流的 操作可以为以下步骤: 步骤1:将所要传输的某帧媒体流的数据封装到n(n为自然数)个实时传 输协议(Real-Time Transport Protocol,以下简称:RTP)数据包R1,R2,...,Rn 中,形成RTP数据包第一序列P1,即         Frame[0...FrameLength]->P1={R1,R2,...,Rn}; 步骤2:判断上述帧是否为关键帧,如果上述帧是关键帧,则执行步骤3; 否则,执行步骤6; 步骤3:从RTP数据包第一序列P1中提取序号为奇数的RTP数据包,形成 RTP数据包第二序列P2,即 P2={R1,R3,...,Rm},(当n为偶数时,m=n-1;当n为奇数时,m=n); 而序号为偶数的RTP数据包,则形成RTP数据包第三序列P3,即 P3={R2,R4,...,Rk},(当n为偶数时,k=n;当n为奇数时,k=n-1); 步骤4:将RTP数据包第二序列P2的各个RTP数据包逐一利用算法Y进行 加密生成RTP数据包第四序列P4,RTP数据包第四序列P4的各个数据包仍然占 用RTP数据包第二序列P2的各个数据包的内存块; 步骤5:生成RTP数据包第五序列P5,即P5=P3+P4; 步骤6:第二终端根据用户数据报协议(User Datagram Protocol,简称: UDP),将RTP数据包第一序列P5发送给第一终端。 本实施例中,对于MPEG-4类型的媒体流的关键帧(以下称为:Intra-Frame), 仅仅加密其第奇数个RTP数据包,对于Inter-Frame的其它RTP数据包则不进 行加密。以视频监控系统传输25帧/秒、100包/秒的媒体流为例,统计表明, 仅需做4次/秒的加密计算。非法终端即使窃取到所有RTP数据包,由于很难猜 测出用于加密上述媒体流的密钥,因此不能恢复出Intra-Frame的数据信息, 即无法重建图像,无法观看到视频。 本实施例并不局限于对Intra-Frame第奇数个RTP数据包进行加密,也可 以对Intra-Frame第偶数个RTP数据包或者按照一定规律提取有限个RTP数据 包进行加密,加密方法类似,此处不再赘述。 本实施例通过在SIP信令(INVITE消息和200 OK消息)中添加新的字段 (“Require:encrypt”、“Encrypt:Y;key=B”或“Encrypt:Y;key=C”) 扩展了SIP协议,以及对所要传输的媒体流进行选择性加密,实现了对媒体流 安全加密后进行传输,保证了基于SIP协议的下一代互联网视频监控、视频会 议、以及视频点播等系统具有较高的数据安全性。 在经过SIP协议安全扩展后,由于所传输的媒体流均是经过加密处理的, 因此减少了媒体流数据传输泄密的可能性。对于网络监听的窃取方式,由于黑 客没有相应的解密密钥,因此可以保证媒体流传输数据的安全;对于身份伪装 的窃取方式,由于黑客无法获知上述参与会话的第一终端和第二终端的第一密 码和第二密码,同时也无法获取正确的密钥,因此能够保证用户数据的安全性。 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可 以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存 储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储 介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限 制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员 应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其 中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的 本质脱离本发明各实施例技术方案的精神和范围。

相关技术
媒体流相关技术
流传输相关技术
马妍发明人的其他相关专利技术