一种视频监控系统中数据传输方法和装置的制作方法

文档序号:7747631阅读:100来源:国知局
专利名称:一种视频监控系统中数据传输方法和装置的制作方法
技术领域
本发明涉及视频监控技术领域,特别涉及一种视频监控系统中数据传输方法和装置。
背景技术
目前的视频监控系统中,各个厂商广泛使用实时传输协议(RTP :Real-time Transport Protocol)作为传输视频流的承载协议。这里,RTP实质上是一个网络传输协议,它是由IETF的多媒体传输工作小组于1996年在RFC 1889中公布的。RTP本身没有提供按时发送机制或服务质量(QM)保证,并且,RTP也不能保证传送或防止无序传送,进而无法确定底层网络的可靠性。通常,在实际监控系统应用中,考虑到前端编码设备的成本等因素,一般不对RTP视频数据进行加密,而由于因特网为开放的网络,这样,就会导致监控系统被攻击者干扰。比如,在图1中,攻击者通过实时监听视频编码设备和视频解码设备之间传输的正常RTP数据流来伪造欺骗性RTP数据,之后将伪造的RTP数据插入到正常的RTP数据流中,这样,当视频解码设备接收到RTP数据流后,其并不区分RTP数据流中的数据,这显然会导致视频监控系统中视频被干扰。并且,不同的厂商设备存在差异,这样,现有技术中即使没有攻击者攻击,也会存在不同的RTP数据流发往同一视频解码设备的可能,这也会造成视频干扰。为了解决上述视频干扰问题,现有技术在RFT3711中又制定了安全RTP协议 (SRTP)来解决上述问题。在SRTP中,要求使用高级加密标准(AES Advanced Encryption Standard)加密算法对传输的RTP数据流加密,并对原有RTP协议进行扩展。这样,就能解决上述视频干扰问题。但是,由于加密需要由专有的芯片完成,并需要太多的额外开销,这大大提高了 RTP数据流传输的成本。并且,现有绝大多数的视频监控系统并非支持加解密方法,因此,这种加解密的方案并不能得到推广。

发明内容
本发明提供了一种视频监控系统中数据传输方法和装置,以便实现不使用加解密方式解决上述视频干扰问题。本发明提供的技术方案是这样的—种视频监控系统中数据传输方法,包括步骤A,发送端和接收端在所述接收端请求数据之前存储所述数据对应的大小为 N个比特的随机种子,N为正整数;步骤B,发送端从所述接收端请求的数据中选择出大小为M个比特的数据,M为正整数,将选择出的数据和所述随机种子进行加密运算得到第一数值,将所述第一数值和所述接收端请求的数据一起发送给所述接收端,以使所述接收端根据所述第一数值和在步骤 A中存储的随机种子判断是否对接收的数据进行解码。
优选地,所述步骤A中的随机种子由接收端或者独立于发送端和接收端的第三方设备生成;所述步骤A包括如果是所述接收端生成所述随机种子,则所述接收端存储所述随机种子,并通过非对称加密方式发送该随机种子给所述发送端,所述发送端存储该所述种子;如果是所述第三方设备生成所述随机种子,则所述第三方设备通过非对称加密方式发送所述随机种子至所述发送端和所述接收端;所述发送端和所述接收端存储所述随机种子。优选地,所述步骤B中将第一数值和所述接收端请求的数据一起发送给所述接收端包括B11,将所述第一数值添加在遵守实时传输协议RTP的数据报文的RTP填充 padding字段中;B12,将所述接收端请求的数据添加在RTP数据报文的载荷payload字段中;B13,将完成添加的RTP数据报文发送给接收端。优选地,所述步骤B13包括更新所述RTP数据报文中间隙P字段的值为表示所述RTP数据报文的RTPpadding 字段添加了第一数值的值;将所述完成添加的RTP数据报文发送给接收端。优选地,所述步骤B中接收端根据第一数值和在步骤A中存储的随机种子判断是否对接收的数据进行解码包括B21,所述接收端根据所述RTP数据报文的P字段判断所述RTP数据报文是否携带添加了所述第一数值的RTP padding字段,如果是,则执行步骤B22 ;否则,丢弃接收的RTP 数据报文;B22,接收端从所述RTP数据报文的payload字段所添加的数据中选择出大小为M 个比特的数据;B23,接收端将在步骤A中存储的随机种子和该所述步骤B22中选择出的数据进行所述加密运算,得到第二数值;判断该得到的第二数值和所述RTPpadding字段中添加的所述第一数值是否一致,如果是,对所述payload字段添加的RTP数据进行解码;否则,丢弃接收的RTP数据报文。优选地,所述加密运算为哈希运算;所述N等于M,且所述M个比特组成R个字节, 所述R为正整数。优选地,所述从接收端请求的数据中选择出大小为M个比特的数据为从接收端请求的数据中选择出大小为R个字节的数据,具体包括B31,在选择所述R个字节中第r个字节的数据时,r为正整数,大于等于1且小于 R,将所述随机种子中第r个字节和第r+Ι个字节上的数据组成第三数值;B32,将第三数值和接收端请求的数据的总长度进行取模运算,得到数值S ;B33,从所述接收端请求的数据中选择出第S个字节的数据,将该选择出的数据作为所述第r个字节的数据;B34,在选择该R个字节中最后一个字节的数据时,将随机种子中的第R个字节和前面的任何一个字节上的数据组成第四数值,按照步骤B32和步骤B33的方法从所述接收端请求的数据中选择出该R个字节中最后一个字节的数据。优选地,所述步骤B21是在接收端判断出当前使能了数据校验功能时执行的;如果所述接收端当前未使能所述数据校验功能,则所述接收端按照现有方式处理所述RTP数据报文。一种发送端设备,包括存储单元,用于在接收端请求数据之前存储所述数据对应的大小为N个比特的随机种子,N为正整数;选择单元,用于从所述接收端请求的数据中选择出大小为M个比特的数据,M为正整数;计算单元,用于将所述选择单元选择出的数据和所述存储单元存储的随机种子进行加密运算,得到第一数值;发送单元,用于将所述计算单元得到的第一数值和所述接收端请求的数据一起发送给所述接收端。优选地,所述发送单元包括添加子单元,用于将所述第一数值添加在遵守实时传输协议RTP的数据报文的 RTP填充padding字段中;以及将所述接收端请求的数据添加在RTP数据报文的payload字段中;发送子单元,用于将完成添加的RTP数据报文发送给接收端。优选地,所述发送子单元更新所述RTP数据报文中的间隙P字段的值为表示所述 RTP数据报文的RTP padding字段添加了第一数值的值;之后将所述完成添加的RTP数据报文发送给接收端。一种接收端设备,包括存储模块,用于在请求模块请求数据之前存储所述数据对应的大小为N比特的随机种子,N为正整数;请求模块,用于向发送端请求数据;接收模块,用于接收所述发送端发送的第一数值和所述请求模块请求的数据;所述第一数值为所述发送端从所述请求模块请求的数据中选择出大小为M个比特的数据和所述随机种子进行加密运算得到的;校验模块,用于根据所述接收模块接收的第一数值和所述存储模块存储的随机种子判断是否对所述接收模块接收的数据进行解码。优选地,所述发送端通过RTP数据报文发送所述第一数值和所述请求模块请求的数据;所述校验模块包括第一判断单元,用于根据所述RTP数据报文的P字段判断所述RTP数据报文是否携带添加了所述第一数值的RTP padding字段,如果是,发送选择通知给选择单元;否则, 丢弃接收的RTP数据报文;选择单元,用于接收到所述选择通知后,从所述RTP数据报文中payload字段添加的接收端请求的数据中选择出大小M个比特的数据;计算单元,用于将所述存储模块存储的随机种子和选择单元选择出的数据进行所述加密运算,得到第二数值;
第二判断单元,用于判断所述计算单元得到的第二数值和所述RTP padding字段中添加的所述第一数值是否一致,如果是,对所述payload字段添加的RTP数据进行解码; 否则,丢弃接收的RTP数据报文。优选地,所述N等于M,且所述M个比特组成R个字节,所述R为正整数;基于此, 上述接收端端设备或发送端设备中的选择单元包括选择子单元,用于在选择所述R个字节中第r个字节的数据时,r为正整数,大于等于1且小于R,将所述随机种子中第r个字节和第r+Ι个字节上的数据组成第三数值;以及在选择该R个字节中最后一个字节的数据时,将随机种子中的第R个字节和前面的任何一个字节上的数据组成第四数值;运算子单元,用于将所述选择子单元得到的第三数值或者第四数值和所述接收端请求的数据的总长度进行取模运算,得到数值S ;确定子单元,用于在所述数值S通过第三数值和所述接收端请求的数据的总长度进行取模运算得到时,从所述接收端请求的数据中选择出第S个字节的数据,将该选择出的数据作为所述第r个字节的数据;以及在所述数值S通过第四数值和所述接收端请求的数据的总长度进行取模运算得到时,从所述接收端请求的数据中选择出第S个字节的数据,将该选择出的数据作为所述R个字节中最后一个字节的数据。由以上技术方案可以看出,本发明中,通过发送端和接收端在所述接收端请求数据之前存储所述数据对应的大小为N个比特的随机种子,N为正整数;以及发送端在发送接收端请求的数据之前,从所述接收端请求的数据中选择出大小为M个比特的数据,将选择出的数据和所述随机种子进行加密运算,将得到的第一数值和所述接收端请求的数据一起发送给所述接收端,以使所述接收端根据所述第一数值和已存储的随机种子判断是否对接收的数据进行解码。也就是说,本发明中,通过填充一段特定的校验值,而非现有的加解密方式就能够实现RTP数据流防伪造和插入。


图1为现有技术中RTP数据流传输的示意图;图2为本发明实施例提供的基本流程图;图3为本发明实施例提供的详细流程图;图4为本发明实施例提供的从RTP数据中选择字节的流程图;图5为本发明实施例提供的RTP数据流传输的示意图;图6为本发明实施例提供的发送端设备;图7为本发明实施例提供的接收端设备。
具体实施例方式本发明提供的技术方案在解决RTP数据流被伪造、插入的不安全性时,并非采用现有的加解密方式,而是填充一段特定的校验值,这能够实现RTP数据流防伪造和插入。为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。参见图2,参见图2,图2为本发明实施例提供的基本流程图。如图2所示,该流程可包括以下步骤步骤201,发送端和接收端在所述接收端请求数据之前存储所述数据对应的大小为N个比特的随机种子(SEED)。这里,N具体可取值为8的倍数,比如1沘、256等。上述步骤201中的随机种子可由接收端或者由独立于发送端和接收端的第三方设备生成。具体可见步骤301中的描述。步骤202,发送端从所述数据中选择出大小为M个比特的数据。这里,M可为8的倍数,即能够组成正整数个字节。优选地,所述M可与上述步骤 201中的N相同,或者不同。下述图3以N与M相等,且M比特能组成16个字节为例进行描述。至于步骤202如何选择的具体操作见步骤302中的描述。 步骤203,发送端将所述随机种子和选择出的数据进行加密运算,将经过加密运算得到的第一数值和所述接收端请求的数据一起发送给接收端。这里,步骤203中的加密运算具体实现时可为哈希运算比如SHAl算法或者MD5算法等,或者为其他算法,这里不进行限定。为便于描述,下述图3所示的实施例以哈希运算为例进行描述。需要说明的是,至于步骤203中如何发送第一数值和数据见下文描述。步骤204,所述接收端根据所述第一数值和在步骤201中存储的随机种子判断是否对所述数据进行解码,如果是,则对接收的数据进行解码处理,否则,丢弃该数据。步骤204中的具体操作见步骤307至步骤312中的描述。以上对本发明实施例提供的流程进行了简单描述。通常,在视频监控系统中,发送端是按照RTP协议发送数据至接收端,具体是通过 RTP数据报文携带数据至接收端。下面通过表1对RTP数据报文的格式进行描述表 权利要求
1.一种视频监控系统中数据传输方法,其特征在于,该方法包括步骤A,发送端和接收端在所述接收端请求数据之前存储所述数据对应的大小为N个比特的随机种子,N为正整数;步骤B,发送端从所述接收端请求的数据中选择出大小为M个比特的数据,M为正整数, 将选择出的数据和所述随机种子进行加密运算得到第一数值,将所述第一数值和所述接收端请求的数据一起发送给所述接收端,以使所述接收端根据所述第一数值和在步骤A中存储的随机种子判断是否对接收的数据进行解码。
2.根据权利要求1所述的方法,其特征在于,所述步骤A中的随机种子由接收端或者独立于发送端和接收端的第三方设备生成;所述步骤A包括如果是所述接收端生成所述随机种子,则所述接收端存储所述随机种子,并通过非对称加密方式发送该随机种子给所述发送端,所述发送端存储该所述种子;如果是所述第三方设备生成所述随机种子,则所述第三方设备通过非对称加密方式发送所述随机种子至所述发送端和所述接收端;所述发送端和所述接收端存储所述随机种子。
3.根据权利要求1所述的方法,其特征在于,所述步骤B中将第一数值和所述接收端请求的数据一起发送给所述接收端包括Bl 1,将所述第一数值添加在遵守实时传输协议RTP的数据报文的RTP填充padding字段中;B12,将所述接收端请求的数据添加在RTP数据报文的载荷payload字段中;B13,将完成添加的RTP数据报文发送给接收端。
4.根据权利要求3所述的方法,其特征在于,所述步骤B13包括更新所述RTP数据报文中间隙P字段的值为表示所述RTP数据报文的RTPpadding字段添加了第一数值的值;将所述完成添加的RTP数据报文发送给接收端。
5.根据权利要求4所述的方法,其特征在于,所述步骤B中接收端根据第一数值和在步骤A中存储的随机种子判断是否对接收的数据进行解码包括B21,所述接收端根据所述RTP数据报文的P字段判断所述RTP数据报文是否携带添加了所述第一数值的RTP padding字段,如果是,则执行步骤B22 ;否则,丢弃接收的RTP数据报文;B22,接收端从所述RTP数据报文的payload字段所添加的数据中选择出大小为M个比特的数据;B23,接收端将在步骤A中存储的随机种子和该所述步骤B22中选择出的数据进行所述加密运算,得到第二数值;判断该得到的第二数值和所述RTPpadding字段中添加的所述第一数值是否一致,如果是,对所述payload字段添加的RTP数据进行解码;否则,丢弃接收的 RTP数据报文。
6.根据权利要求1或5所述的方法,其特征在于,所述加密运算为哈希运算;所述N等于M,且所述M个比特组成R个字节,所述R为正整数。
7.根据权利要求6所述的方法,其特征在于,所述从接收端请求的数据中选择出大小为M个比特的数据为从接收端请求的数据中选择出大小为R个字节的数据,具体包括B31,在选择所述R个字节中第r个字节的数据时,r为正整数,大于等于1且小于R,将所述随机种子中第r个字节和第r+Ι个字节上的数据组成第三数值;B32,将第三数值和接收端请求的数据的总长度进行取模运算,得到数值S ; B33,从所述接收端请求的数据中选择出第S个字节的数据,将该选择出的数据作为所述第r个字节的数据;B34,在选择该R个字节中最后一个字节的数据时,将随机种子中的第R个字节和前面的任何一个字节上的数据组成第四数值,按照步骤B32和步骤B33的方法从所述接收端请求的数据中选择出该R个字节中最后一个字节的数据。
8.根据权利要求5所述的方法,其特征在于,所述步骤B21是在接收端判断出当前使能了数据校验功能时执行的;如果所述接收端当前未使能所述数据校验功能,则所述接收端按照现有方式处理所述 RTP数据报文。
9.一种发送端设备,其特征在于,该发送端设备包括存储单元,用于在接收端请求数据之前存储所述数据对应的大小为N个比特的随机种子,N为正整数;选择单元,用于从所述接收端请求的数据中选择出大小为M个比特的数据,M为正整数;计算单元,用于将所述选择单元选择出的数据和所述存储单元存储的随机种子进行加密运算,得到第一数值;发送单元,用于将所述计算单元得到的第一数值和所述接收端请求的数据一起发送给所述接收端。
10.根据权利要求9所述的发送端设备,其特征在于,所述发送单元包括添加子单元,用于将所述第一数值添加在遵守实时传输协议RTP的数据报文的RTP填充padding字段中;以及将所述接收端请求的数据添加在RTP数据报文的payload字段中; 发送子单元,用于将完成添加的RTP数据报文发送给接收端。
11.根据权利要求10所述的发送端设备,其特征在于,所述发送子单元更新所述RTP数据报文中的间隙P字段的值为表示所述RTP数据报文的RTPpadding字段添加了第一数值的值;之后将所述完成添加的RTP数据报文发送给接收端。
12.一种接收端设备,其特征在于,所述接收端设备包括存储模块,用于在请求模块请求数据之前存储所述数据对应的大小为N比特的随机种子,N为正整数;请求模块,用于向发送端请求数据;接收模块,用于接收所述发送端发送的第一数值和所述请求模块请求的数据;所述第一数值为所述发送端从所述请求模块请求的数据中选择出大小为M个比特的数据和所述随机种子进行加密运算得到的;校验模块,用于根据所述接收模块接收的第一数值和所述存储模块存储的随机种子判断是否对所述接收模块接收的数据进行解码。
13.根据权利要求12所述的接收端设备,其特征在于,所述发送端通过RTP数据报文发送所述第一数值和所述请求模块请求的数据;所述校验模块包括第一判断单元,用于根据所述RTP数据报文的P字段判断所述RTP数据报文是否携带添加了所述第一数值的RTP padding字段,如果是,发送选择通知给选择单元;否则,丢弃接收的RTP数据报文;选择单元,用于接收到所述选择通知后,从所述RTP数据报文中pay load字段添加的接收端请求的数据中选择出大小M个比特的数据;计算单元,用于将所述存储模块存储的随机种子和选择单元选择出的数据进行所述加密运算,得到第二数值;第二判断单元,用于判断所述计算单元得到的第二数值和所述RTP padding字段中添加的所述第一数值是否一致,如果是,对所述payload字段添加的RTP数据进行解码;否则, 丢弃接收的RTP数据报文。
14.根据权利要求13所述的接收端端设备或根据权利要求9所述的发送端设备,其特征在于,所述N等于M,且所述M个比特组成R个字节,所述R为正整数;所述选择单元从接收端请求的数据中选择出大小为M个比特的数据为从接收端请求的数据中选择出大小为R个字节的数据,具体包括选择子单元,用于在选择所述R个字节中第r个字节的数据时,r为正整数,大于等于1 且小于R,将所述随机种子中第r个字节和第r+Ι个字节上的数据组成第三数值;以及在选择该R个字节中最后一个字节的数据时,将随机种子中的第R个字节和前面的任何一个字节上的数据组成第四数值;运算子单元,用于将所述选择子单元得到的第三数值或者第四数值和所述接收端请求的数据的总长度进行取模运算,得到数值S ;确定子单元,用于在所述数值S是通过第三数值和所述接收端请求的数据的总长度进行取模运算得到时,从所述接收端请求的数据中选择出第S个字节的数据,将该选择出的数据作为所述第r个字节的数据;以及在所述数值S是通过第四数值和所述接收端请求的数据的总长度进行取模运算得到时,从所述接收端请求的数据中选择出第S个字节的数据,将该选择出的数据作为所述R个字节中最后一个字节的数据。
全文摘要
本发明提供了一种视频监控系统中数据传输方法和装置,其中,该方法包括步骤A,发送端和接收端在所述接收端请求数据之前存储所述数据对应的大小为N个比特的随机种子,N为正整数;步骤B,发送端从所述接收端请求的数据中选择出大小为M个比特的数据,M为正整数,将选择出的数据和所述随机种子进行加密运算得到第一数值,将所述第一数值和所述接收端请求的数据一起发送给所述接收端,以使所述接收端根据所述第一数值和在步骤A中存储的随机种子判断是否对接收的数据进行解码。采用本发明,能够实现不使用加解密方式即能解决视频干扰问题。
文档编号H04L29/06GK102238377SQ201010161350
公开日2011年11月9日 申请日期2010年4月28日 优先权日2010年4月28日
发明者嵇斌 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1