CN105471831B - 一种对实时传输协议数据包进行加密的方法和装置 - Google Patents

一种对实时传输协议数据包进行加密的方法和装置 Download PDF

Info

Publication number
CN105471831B
CN105471831B CN201410468052.1A CN201410468052A CN105471831B CN 105471831 B CN105471831 B CN 105471831B CN 201410468052 A CN201410468052 A CN 201410468052A CN 105471831 B CN105471831 B CN 105471831B
Authority
CN
China
Prior art keywords
encryption
rtp
requirement information
load data
encrypted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410468052.1A
Other languages
English (en)
Other versions
CN105471831A (zh
Inventor
陈杰
郭斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201410468052.1A priority Critical patent/CN105471831B/zh
Publication of CN105471831A publication Critical patent/CN105471831A/zh
Application granted granted Critical
Publication of CN105471831B publication Critical patent/CN105471831B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种对RTP数据包进行加密的方法和装置:针对任一待封装的负载数据,获取与所述负载数据相对应的加密要求信息和加密密钥;按照所述加密要求信息和所述加密密钥对所述负载数据进行加密,并将加密后的负载数据封装为一个RTP数据包。应用本发明所述方案,能够减少运算量等。

Description

一种对实时传输协议数据包进行加密的方法和装置
技术领域
本发明涉及数据处理技术,特别涉及一种对实时传输协议(RTP,Real-timeTransport Protocol)数据包进行加密的方法和装置。
背景技术
RTP是一个网络传输协议,是由互联网工程任务组(IETF,Internet EngineeringTask Force)的多媒体传输工作小组于1996年在请求注解(RFC,Request For Comments)1889中公布的,后又在RFC 3550中进行了更新。
安全实时传输协议(SRTP,Secure Real-time Transport Protocol)是在RTP基础上所定义的一个协议,旨在为单播和多播应用程序中的采用RTP传输的数据提供加密、消息认证、完整性保护和重放保护等。
针对RTP数据包,RFC 3711标准中较为详细的描述了在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,AdvancedEncryption Standard)算法、数据加密标准(DES,Data Encryption Standard)算法和RSA算法等。
加密轮数,是指加密算法所运算的次数。
加密方式,是指可对所有数据进行加密,或者仅对部分数据进行加密等,其中,仅对部分数据进行加密又可以是指仅对指定的某种类型的关键数据进行加密,或者是指仅对从指定位置开始的预定长度的数据进行加密等。
在实际应用中,可自动地进行当前处理能力探测,如探测当前的中央处理单元(CPU,Central Processing Unit)的资源是否充足等,以此来确定加密算法和加密轮数,如在CPU资源不够充足的情况下,可减少加密轮数,和/或,选择运算量较小的加密算法等。
另外,可根据用户设定的加密等级,确定加密方式,如当加密等级最高时,需要对所有数据进行加密。
加密密钥可由用户输入,当然,也可以采用其它获取方式,具体实现方式不限。
步骤12:按照获取到的加密要求信息和加密密钥对该负载数据进行加密,并将加密后的负载数据封装为一个RTP数据包。
当获取到加密要求信息和加密密钥后,即可按照加密要求信息中规定的加密算法、加密轮数以及加密方式等,利用加密密钥对待封装的负载数据进行加密,具体如何进行加密为现有技术。
之后,可将加密后的负载数据封装为一个RTP数据包,如何进行封装同样为现有技术。
需要说明的是,对于封装后的RTP数据包,可在其中的RTP头中携带加密要求信息,以便后续RTP数据包的接收端利用该加密要求信息来对负载数据进行解密。
具体地,可利用RTP头中的扩展字段来携带加密要求信息。
图2为现有RTP头的语法格式示意图。如图2所示,RTP头中包括V字段、P字段、X字段、CC字段、M字段、PT字段、序列号(sequence number)字段、时间戳(timestamp)字段、同步信源标识符(SSRC,synchronization source identifier)字段以及特约信源标识符(CSRC,contributing source identifiers)字段等;当其中的X字段(即extension字段,占用一个比特位)的取值为1时,表示在RTP头的标准字段后还跟随有扩展字段。
图3为现有扩展字段的语法格式示意图。如图3所示,其中进一步包括有扩展数据类型(private data type)子字段、长度(length)子字段和扩展数据(private data)子字段;加密要求信息即可携带在private data子字段中,并可在private data type子字段和length子字段中携带相应的数据类型和数据长度信息。
另外,携带在RTP头中的加密要求信息可以是未进行加密的,也可以是进行加密之后的,以提高加密要求信息的安全性。
对于加密要求信息来说,可采用步骤11中获取到的加密密钥来对其进行加密,也可以采用与步骤11中获取到的加密密钥不同的加密密钥来对其进行加密,具体实现方式不限。
基于上述介绍,图4为本发明对RTP数据包进行解密的方法实施例的流程图。如图4所示,包括以下步骤41~42。
步骤41:当需要对接收到的任一RTP数据包进行解密时,从该RTP数据包的RTP头中提取出加密要求信息,并从该RTP数据包中提取出加密后的负载数据。
即从该RTP数据包的RTP头的扩展字段中提取出加密要求信息,从该RTP数据包的负载部分提取出加密后的负载数据。
步骤42:获取加密密钥,利用获取到的加密密钥和提取出的加密要求信息,对提取出的加密后的负载数据进行解密,得到解密后的负载数据。
如步骤11中所述,加密密钥可由用户输入,当然,也可以采用其它获取方式,具体实现方式不限。
另外,如果提取出的加密要求信息为加密后的加密要求信息,那么还需要先对其进行解密,之后才能对加密后的负载数据进行解密。
对加密后的负载数据进行解密的过程为步骤12中所述的对待封装的负载数据进行加密的逆过程,具体实现为现有技术。
本发明同时公开了一种对RTP数据包进行加密的装置,包括:
加密模块,用于针对任一待封装的负载数据,获取与该负载数据相对应的加密要求信息和加密密钥;按照加密要求信息和加密密钥对该负载数据进行加密,并将加密后的负载数据封装为一个RTP数据包。
其中,
加密模块可进一步用于,在该RTP数据包的RTP头中携带加密要求信息;
相应地,该装置中还可进一步包括:
解密模块,用于当需要对接收到的RTP数据包进行解密时,从该RTP数据包的RTP头中提取出加密要求信息,并从该RTP数据包中提取出加密后的负载数据;获取加密密钥,利用加密密钥和加密要求信息对加密后的负载数据进行解密,得到解密后的负载数据。
具体地,
加密模块可利用RTP头中的扩展字段来携带加密要求信息。
另外,
加密模块还可进一步用于,将加密要求信息进行加密后,携带到RTP头中;
相应地,解密模块还可进一步用于,在对加密后的负载数据进行解密之前,对加密要求信息进行解密。
较佳地,
加密要求信息中可包括:加密算法、加密轮数以及加密方式等。
上述装置实施例的具体工作流程请参照前述方法实施例中的相应说明,此处不再赘述。
总之,采用本发明所述方案,针对任一待封装的负载数据,可首先获取与该负载数据相对应的加密要求信息和加密密钥,然后按照获取到的加密要求信息和加密密钥对该负载数据进行加密,并将加密后的负载数据封装为一个RTP数据包,相比于现有加密方式,本发明所述加密方式实现起来非常简单方便,从而极大的减少了运算量;
而且,采用本发明所述方案,针对不同的RTP数据包,可根据实际情况和实际需求等采用不同的加密要求信息,从而可实现针对不同RTP数据包的差异化处理,实现方式上更为灵活方便,而且增大了不同RTP数据包的破解难度,进而提高了数据的安全性。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种对实时传输协议RTP数据包进行加密的方法,其特征在于,包括:
针对获取到的数据,进行分段处理,其中每一个分段为一个待封装的负载数据;针对每一待封装的负载数据,获取与所述负载数据相对应的加密要求信息和加密密钥;
按照所述加密要求信息和所述加密密钥对所述负载数据进行加密,并将加密后的负载数据封装为一个RTP数据包,在所述RTP数据包的RTP头中携带所述加密要求信息,所述加密要求信息包括:加密算法、加密轮数以及加密方式,所述获取与所述负载数据相对应的加密要求信息包括:根据中央处理单元当前的处理能力确定所述加密算法和所述加密轮数,根据用户设定的加密等级确定所述加密方式。
2.根据权利要求1所述的方法,其特征在于,
该方法进一步包括:
当需要对所述RTP数据包进行解密时,从所述RTP头中提取出所述加密要求信息,并从所述RTP数据包中提取出所述加密后的负载数据;
获取所述加密密钥,利用所述加密密钥和所述加密要求信息对所述加密后的负载数据进行解密,得到解密后的负载数据。
3.根据权利要求2所述的方法,其特征在于,
所述在所述RTP数据包的RTP头中携带所述加密要求信息包括:利用所述RTP头中的扩展字段来携带所述加密要求信息。
4.根据权利要求2所述的方法,其特征在于,
所述在所述RTP数据包的RTP头中携带所述加密要求信息包括:将所述加密要求信息进行加密后,携带到所述RTP头中;
所述对所述加密后的负载数据进行解密之前,进一步包括:对所述加密要求信息进行解密。
5.一种对实时传输协议RTP数据包进行加密的装置,其特征在于,包括:
加密模块,用于针对获取到的数据,进行分段处理,其中每一个分段为一个待封装的负载数据;针对每一待封装的负载数据,获取与所述负载数据相对应的加密要求信息和加密密钥;按照所述加密要求信息和所述加密密钥对所述负载数据进行加密,并将加密后的负载数据封装为一个RTP数据包,在所述RTP数据包的RTP头中携带所述加密要求信息,所述加密要求信息包括:加密算法、加密轮数以及加密方式,所述加密模块进一步用于:根据中央处理单元当前的处理能力确定所述加密算法和所述加密轮数,根据用户设定的加密等级确定所述加密方式。
6.根据权利要求5所述的装置,其特征在于,
所述装置中进一步包括:
解密模块,用于当需要对接收到的RTP数据包进行解密时,从所述RTP数据包的RTP头中提取出所述加密要求信息,并从所述RTP数据包中提取出所述加密后的负载数据;获取所述加密密钥,利用所述加密密钥和所述加密要求信息对所述加密后的负载数据进行解密,得到解密后的负载数据。
7.根据权利要求6所述的装置,其特征在于,
所述加密模块利用所述RTP头中的扩展字段来携带所述加密要求信息。
8.根据权利要求6所述的装置,其特征在于,
所述加密模块进一步用于,将所述加密要求信息进行加密后,携带到所述RTP头中;
所述解密模块进一步用于,在对所述加密后的负载数据进行解密之前,对所述加密要求信息进行解密。
CN201410468052.1A 2014-09-15 2014-09-15 一种对实时传输协议数据包进行加密的方法和装置 Active CN105471831B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410468052.1A CN105471831B (zh) 2014-09-15 2014-09-15 一种对实时传输协议数据包进行加密的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410468052.1A CN105471831B (zh) 2014-09-15 2014-09-15 一种对实时传输协议数据包进行加密的方法和装置

Publications (2)

Publication Number Publication Date
CN105471831A CN105471831A (zh) 2016-04-06
CN105471831B true CN105471831B (zh) 2019-05-10

Family

ID=55609103

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410468052.1A Active CN105471831B (zh) 2014-09-15 2014-09-15 一种对实时传输协议数据包进行加密的方法和装置

Country Status (1)

Country Link
CN (1) CN105471831B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107819725B (zh) * 2016-09-12 2020-11-27 山东量子科学技术研究院有限公司 基于VoIP通话的方法及移动终端
CN109005027B (zh) * 2018-08-16 2021-09-14 成都映潮科技股份有限公司 一种随机数据加解密法、装置及系统
CN111093097A (zh) * 2019-12-20 2020-05-01 北京云享智胜科技有限公司 流媒体数据加密、解密方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101163145A (zh) * 2007-11-13 2008-04-16 华为技术有限公司 一种传输数据包的方法及装置和协商密钥的方法
CN102281261A (zh) * 2010-06-10 2011-12-14 杭州华三通信技术有限公司 一种数据传输方法、系统和装置
CN101843040B (zh) * 2007-08-30 2013-07-17 西门子企业通讯有限责任两合公司 用于分析在ip网络中同时传输的加密数据流的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101345761A (zh) * 2008-08-20 2009-01-14 深圳市同洲电子股份有限公司 一种私密数据的传输方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101843040B (zh) * 2007-08-30 2013-07-17 西门子企业通讯有限责任两合公司 用于分析在ip网络中同时传输的加密数据流的方法
CN101163145A (zh) * 2007-11-13 2008-04-16 华为技术有限公司 一种传输数据包的方法及装置和协商密钥的方法
CN102281261A (zh) * 2010-06-10 2011-12-14 杭州华三通信技术有限公司 一种数据传输方法、系统和装置

Also Published As

Publication number Publication date
CN105471831A (zh) 2016-04-06

Similar Documents

Publication Publication Date Title
US20200313865A1 (en) Key generation method and apparatus using double encryption
CN110190955B (zh) 基于安全套接层协议认证的信息处理方法及装置
US10341102B2 (en) Decrypting encrypted data on an electronic device
US9608963B2 (en) Scalable intermediate network device leveraging SSL session ticket extension
CN110138772B (zh) 一种通信方法、装置、系统、设备和存储介质
US8949592B2 (en) System and methods for providing live streaming content using digital rights management-based key management
CN106357690B (zh) 一种数据传输方法、数据发送装置及数据接收装置
CN110896401A (zh) 基于二维码的隔离网间单向数据流传输系统及方法
GB2528226A (en) Method performed by at least one server for processing a data packet from a first computing device to a second computing device to permit end-to-end
WO2012087692A4 (en) System and method for secure communications in a communication system
EP2244416A1 (en) Encryption processing method and encryption processing device
US10348502B2 (en) Encrypting and decrypting data on an electronic device
WO2013117087A1 (zh) 一种文件下载方法及系统
CN109005027B (zh) 一种随机数据加解密法、装置及系统
CN103036880A (zh) 网络信息传输方法、设备及系统
CN106487802B (zh) 基于DPD协议的IPSec SA的异常探测方法及装置
CN105471831B (zh) 一种对实时传输协议数据包进行加密的方法和装置
CN107276996A (zh) 一种日志文件的传输方法及系统
US20160366191A1 (en) Single Proxies in Secure Communication Using Service Function Chaining
WO2012139427A1 (zh) 媒体消息处理方法、系统及装置
US11546151B2 (en) System for securing deployed security cameras
KR101457455B1 (ko) 클라우드 네트워크 환경에서의 데이터 보안 장치 및 방법
US20170331798A1 (en) Encrypted-bypass webrtc-based voice and/or video communication method
EP2713576B1 (en) Method and device for processing streaming media content
CN114501143A (zh) 一种基于端口选择性加密的视频安全接入方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant