一种对实时传输协议数据包进行加密的方法和装置制造方法及图纸

技术编号:13117184 阅读:64 留言:0更新日期:2016-04-06 08:28
本发明专利技术公开了一种对RTP数据包进行加密的方法和装置:针对任一待封装的负载数据,获取与所述负载数据相对应的加密要求信息和加密密钥;按照所述加密要求信息和所述加密密钥对所述负载数据进行加密,并将加密后的负载数据封装为一个RTP数据包。应用本发明专利技术所述方案,能够减少运算量等。

【技术实现步骤摘要】

本专利技术涉及数据处理技术,特别涉及一种对实时传输协议(RTP,Real-timeTransportProtocol)数据包进行加密的方法和装置。
技术介绍
RTP是一个网络传输协议,是由互联网工程任务组(IETF,InternetEngineeringTaskForce)的多媒体传输工作小组于1996年在请求注解(RFC,RequestForComments)1889中公布的,后又在RFC3550中进行了更新。安全实时传输协议(SRTP,SecureReal-timeTransportProtocol)是在RTP基础上所定义的一个协议,旨在为单播和多播应用程序中的采用RTP传输的数据提供加密、消息认证、完整性保护和重放保护等。针对RTP数据包,RFC3711标准中较为详细的描述了在SRTP框架下的加密方式,但该加密方式的实现比较复杂,运算量很大。
技术实现思路
有鉴于此,本专利技术提供了一种对RTP数据包进行加密的方法和装置,能够减少运算量。为了达到上述目的,本专利技术的技术方案是这样实现的:一种对RTP数据包进行加密的方法,包括:针对任一待封装的负载数据,获取与所述负载数据相对应的加密要求信息和加密密钥;按照所述加密要求信息和所述加密密钥对所述负载数据进行加密,并将加密后的负载数据封装为一个RTP数据包。一种对RTP数据包进行加密的装置,包括:加密模块,用于针对任一待封装的负载数据,获取与所述负载数据相对应的加密要求信息和加密密钥;按照所述加密要求信息和所述加密密钥对所述负载数据进行加密,并将加密后的负载数据封装为一个RTP数据包。可见,采用本专利技术所述方案,针对任一待封装的负载数据,可首先获取与该负载数据相对应的加密要求信息和加密密钥,然后按照获取到的加密要求信息和加密密钥对该负载数据进行加密,并将加密后的负载数据封装为一个RTP数据包,相比于现有加密方式,本专利技术所述加密方式实现起来非常简单方便,从而极大的减少了运算量;而且,采用本专利技术所述方案,针对不同的RTP数据包,可根据实际情况和实际需求等采用不同的加密要求信息,从而可实现针对不同RTP数据包的差异化处理,实现方式上更为灵活方便,而且增大了不同RTP数据包的破解难度,进而提高了数据的安全性。附图说明图1为本专利技术对RTP数据包进行加密的方法实施例的流程图。图2为现有RTP头的语法格式示意图。图3为现有扩展字段的语法格式示意图。图4为本专利技术对RTP数据包进行解密的方法实施例的流程图。具体实施方式为了使本专利技术的技术方案更加清楚、明白,以下参照附图并举实施例,对本专利技术所述方案作进一步的详细说明。图1为本专利技术对RTP数据包进行加密的方法实施例的流程图。如图1所示,包括以下步骤11~12。步骤11:针对任一待封装的负载数据,获取与该负载数据相对应的加密要求信息和加密密钥。在实际应用中,针对获取到的视频监控数据等,可对其进行分段处理,每一个分段即为一个待封装的负载数据。如果不需要对待封装的负载数据进行加密,那么直接将其封装为RTP数据包后进行发送即可。而为了确保数据的安全性,可按照本专利技术所述方式先对待封装的负载数据进行加密,然后再将其封装为RTP数据包后进行发送。相应地,如果需要对待封装的负载数据进行加密,则需要获取与其相对应的加密要求信息和加密密钥。所述加密要求信息可包括:加密算法、加密轮数以及加密方式等。其中,加密算法,是指加密时所采用的算法,如高级加密标准(AES,AdvancedEncryptionStandard)算法、数据加密标准(DES,DataEncryptionStandard)算法和RSA算法等。加密轮数,是指加密算法所运算的次数。加密方式,是指可对所有数据进行加密,或者仅对部分数据进行加密等,其中,仅对部分数据进行加密又可以是指仅对指定的某种类型的关键数据进行加密,或者是指仅对从指定位置开始的预定长度的数据进行加密等。在实际应用中,可自动地进行当前处理能力探测,如探测当前的中央处理单元(CPU,CentralProcessingUnit)的资源是否充足等,以此来确定加密算法和加密轮数,如在CPU资源不够充足的情况下,可减少加密轮数,和/或,选择运算量较小的加密算法等。另外,可根据用户设定的加密等级,确定加密方式,如当加密等级最高时,需要对所有数据进行加密。加密密钥可由用户输入,当然,也可以采用其它获取方式,具体实现方式不限。步骤12:按照获取到的加密要求信息和加密密钥对该负载数据进行加密,并将加密后的负载数据封装为一个RTP数据包。当获取到加密要求信息和加密密钥后,即可按照加密要求信息中规定的加密算法、加密轮数以及加密方式等,利用加密密钥对待封装的负载数据进行加密,具体如何进行加密为现有技术。之后,可将加密后的负载数据封装为一个RTP数据包,如何进行封装同样为现有技术。需要说明的是,对于封装后的RTP数据包,可在其中的RTP头中携带加密要求信息,以便后续RTP数据包的接收端利用该加密要求信息来对负载数据进行解密。具体地,可利用RTP头中的扩展字段来携带加密要求信息。图2为现有RTP头的语法格式示意图。如图2所示,RTP头中包括V字段、P字段、X字段、CC字段、M字段、PT字段、序列号(sequencenumber)字段、时间戳(timestamp)字段、同步信源标识符(SSRC,synchronizationsourceidentifier)字段以及特约信源标识符(CSRC,contributingsourceidentifiers)字段等;当其中的X字段(即extension字段,占用一个比特位)的取值为1时,表示在RTP头的标准字段后还跟随有扩展字段。图3为现有扩展字段的语法格式示意图。如图3所示,其中进一步包括有扩展数据类型(privatedatatype)子字段、长度(length)子字段和扩展数据(privatedata)子字段;加密要求信息即可携带在privatedata子字段中,并可在privatedatatype子字段和length子字段中携带相应的数据类型和数据长度信息。另外,携带在RTP头中的加密要求信息可以是未进行加密的,也可以是进行加密之后的,以提高加密要求信息的安全性。对于加密要求信息来说,可采用步骤11中获取到的加密密钥来对其进行加密,也可以采用与步骤11中获取到的加密密钥不同的加密本文档来自技高网...

【技术保护点】
一种对实时传输协议RTP数据包进行加密的方法,其特征在于,包括:针对任一待封装的负载数据,获取与所述负载数据相对应的加密要求信息和加密密钥;按照所述加密要求信息和所述加密密钥对所述负载数据进行加密,并将加密后的负载数据封装为一个RTP数据包。

【技术特征摘要】
1.一种对实时传输协议RTP数据包进行加密的方法,其特征在于,包括:
针对任一待封装的负载数据,获取与所述负载数据相对应的加密要求信息和加密
密钥;
按照所述加密要求信息和所述加密密钥对所述负载数据进行加密,并将加密后的
负载数据封装为一个RTP数据包。
2.根据权利要求1所述的方法,其特征在于,
所述将加密后的负载数据封装为一个RTP数据包包括:在所述RTP数据包的RTP
头中携带所述加密要求信息;
该方法进一步包括:
当需要对所述RTP数据包进行解密时,从所述RTP头中提取出所述加密要求信息,
并从所述RTP数据包中提取出所述加密后的负载数据;
获取所述加密密钥,利用所述加密密钥和所述加密要求信息对所述加密后的负载
数据进行解密,得到解密后的负载数据。
3.根据权利要求2所述的方法,其特征在于,
所述在所述RTP数据包的RTP头中携带所述加密要求信息包括:利用所述RTP
头中的扩展字段来携带所述加密要求信息。
4.根据权利要求2所述的方法,其特征在于,
所述在所述RTP数据包的RTP头中携带所述加密要求信息包括:将所述加密要求
信息进行加密后,携带到所述RTP头中;
所述对所述加密后的负载数据进行解密之前,进一步包括:对所述加密要求信息
进行解密。
5.根据权利要求1、2、3或4所述的方法,其特征在于,
所述加密要求信息包括:加密算法、...

【专利技术属性】
技术研发人员:陈杰郭斌
申请(专利权)人:杭州海康威视数字技术股份有限公司
类型:发明
国别省市:浙江;33

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

1