一种IPTV组播内容防篡改方法与流程

文档序号:15848716发布日期:2018-11-07 09:29阅读:1222来源:国知局
一种IPTV组播内容防篡改方法与流程

本发明属于iptv网络电视技术领域,具体涉及一种iptv组播内容防篡改方法。

背景技术

传统iptv采用专用网络传送组播视频,在提高播出稳定性的同时也提高了播出安全性。但随着iptvott化的深入改造、iptv公网访问需求的不断增加及公网组播的不断推进,专用网络和公用网络之间的安全边界不断被突破,来自公网的网络攻击、内容篡改等网络攻击不断威胁iptv的播出安全。

iptv组播内容防篡改技术是防范iptv组播视频安全播出风险的重要手段,目前主要有两种实现思路:

(1)视频加密:有线电视通过对直播流加密进行内容防篡改,有较高的安全性,但由于视频的加密及解密均依赖硬件,灵活性差且对iptv平台及终端的改造太大,难以满足iptv组播内容防篡改需求。

(2)视频流中插入固定的签名信息:该方法将固定的签名并插入视频流中,之后在播放端对视频签名信息进行校验。由于不依赖硬件,该方法较视频加密方法灵活性高,但由于签名信息与视频内容无关、签名信息易被伪造,导致该方法安全性较差。

由上述分析可见,现有iptv组播内容防篡改方法尚存在不足,难以满足iptv安全播出要求。



技术实现要素:

针对现有iptv组播内容防篡改方法难以满足iptv安全播出要求的问题,本发明提出了一种新的iptv组播内容防篡改方法;本发明提高了iptv组播内容防篡改的安全性,且不依赖于硬件,对现有系统改造较小。

为实现上述目的,本发明采取的技术方案是:一种iptv组播内容防篡改方法,在直播源侧,对ts复用器进行改造,并增加了防篡改生成模块;当ts复用模块检测到pes携带为i帧后,调用防篡改生成模块,传入pes并将获取的防篡改信息封装到ts传输流中;在终端侧,对ts解复用器进行改造,并增加了防篡改校验模块;ts解复用模块实时检测i帧的pes及对应的防篡改信息,并调用防篡改校验模块完成防篡改校验。

进一步的,所述直播源侧防篡改生成模块实现流程如下:

步骤a、解析pes包;接收到视频pes包后,按照pes格式规范对pes包进行解析;

步骤b、获取pts和dts;解析pes包头后,从中提取pts和dts;

步骤c、解析es包头;从视频pes包体解析视频es包,从中提取帧类型:i帧、b帧、p帧的信息;

步骤d、i帧判断;判断该pes中携带的帧是否为i帧;

步骤e、生成防篡改信息;若pes中携带的帧为i帧,则采用sha1算法对pes进行加密生成校验码,并生成防篡改信息;

步骤f、将防篡改信息插入ts封装流中;将防篡改信息封装成188字节的ts包,采用pid为0x1fff,不足188字节部分全部填充为0xff;并将防篡改信息插入在视频pes的ts包之前。

更进一步的,所述步骤e中,校验码生成算法为:校验码=sha1(pes包+sha1密钥),sha1密钥为8字节自定义扰码串。

更进一步的,防篡改信息定义格式如下:

(1)pts:视频pes包的显示时间戳,该字段长度为5字节;

(2)dts:视频pes包的解码时间戳,该字段长度为5字节;

(3)版本号:版本号不同,相应的sha1扰码也不同;通过该字段进行sha1密钥升级,防止密钥泄露;该字段长度为1字节,取值范围为[1-255];

(4)校验码:即对携带i帧的pes包进行sha1加密得到的数据;该字段长度为20字节。

进一步的,所述终端侧,即iptv机顶盒侧防篡改校验模块实现流程如下:

步骤a、解析pat、pmt,获取视频pid;从ts流中针对188字节的ts包进行检查,通过解析pid为0x00获取pat,通过pat提取pmt的pid,最后从pmt中提取视频pid;

步骤b、根据pid过滤ts包;通过视频pid过滤ts流中视频包,并过滤pid为0x1fff的防篡改信息包;

步骤c、组装视频pes包,并解析防篡改信息包;将过滤得到的视频ts包进行组装,得到视频pes包;

步骤d、判断pes包是否完整;对视频pes包的完整性进行检查,若pes包不完整,则不进行防篡改校验;否则进入下一步骤;

步骤e、是否i帧;判断视频pes包中是否携带i帧,若不携带i帧,不进行防篡改校验;否则进入下一步骤;

步骤f、计算防篡改校验码;若pes中携带的帧为i帧,则采用sha1算法对pes进行加密,生成校验码;

步骤g、校验防篡改信息;校验ts流是否携带防篡改信息,并对防篡改信息进行校验,当校验失败时通知上层应用进行处理。

更进一步的,所述步骤f中,校验码生成算法为:校验码=sha1(pes包+sha1密钥),sha1密钥为8字节自定义扰码串。

更进一步的,所述步骤g中主要处理环节如下:

(1)判断ts中是否携带防篡改信息;通过视频pes中pts和dts两个字段,查找对应的防篡改信息;若未查找到防篡改信息,则校验失败,该视频可能为非法视频;

(2)校验防篡改信息中的版本号;若防篡改信息中的版本号信息在终端侧不存在,则校验失败,该视频可能为非法视频;

(3)校验防篡改信息中的校验码;若防篡改信息中的校验码与终端根据视频pes包计算出的校验码不一致,则校验失败,该视频可能为非法视频。

相比于现有技术,本发明的主要优点包括:

1、对视频i帧提取防篡改校验码,实现了组播内容防篡改。

在直播源侧,本发明通过解析pes、es检测视频i帧,结合pts、dts等信息生成防篡改信息,将防篡改信息封包在ts包中,并插入ts传输流中;在iptv终端侧,本发明通过解析ts、pes,提取i帧、pts、dts等信息,并对比防篡改信息进行校验。如校验失败,则判定视频为非法视频。

此外,本发明对视频i帧提取防篡改校验码,既达到了防篡改的安全效果,又提高了处理性能。

2、对校验码进行加密,避免防篡改校验码生成方法被破解。

本发明在提取防篡改校验码时,通过在sha1摘要算法加入扰码(即sha1密钥),防止防篡改校验码生成方法被破解。

3、可通过密钥版本号更新密钥,避免密钥泄露。

本发明通过密钥版本号实现了直播源侧与iptv终端侧的sha1密钥保持一致,并可通过密钥版本号实现密钥更新,避免密钥泄露。

本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

图1是本发明系统模块架构示意图。

图2是本发明防篡改信息生成流程图。

图3是本发明防篡改信息结构定义图。

图4是本发明防篡改信息校验流程图。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。

在直播源侧,本发明主要对ts复用器进行改造,并增加了防篡改生成模块;当ts复用模块检测到pes携带为i帧后,其调用防篡改生成模块,传入pes,并将获取的防篡改信息封装到ts传输流中。在终端侧,本发明主要对ts解复用器进行改造,并增加了防篡改校验模块;ts解复用模块实时检测协调i帧的pes及对应的防篡改信息,并调用防篡改校验模块完成防篡改校验。若发现视频被篡改,防篡改校验模块主动通知上层应用进行处理。系统模块架构示意图如图1所示。

1、直播源侧防篡改生成模块实现流程如下:

本发明实现防篡改生成模块的流程如图2所示,包括以下步骤:

步骤a、解析pes包。接收到视频pes包后,按照pes格式规范对pes包进行解析。

步骤b、获取pts和dts。解析pes包头后,从中获取pts(显示时间戳)和dts(解码时间戳)。

步骤c、解析es包头。从视频pes包体解析视频es包,从中获取帧类型(i帧、b帧、p帧)信息。

步骤d、i帧判断。判断该pes中携带的帧是否为i帧(关键帧)。

步骤e、生成防篡改信息。若pes中携带的帧为i帧,则采用sha1算法对pes进行加密,生成校验码,并生成防篡改信息。

校验码生成算法为:校验码=sha1(pes包+sha1密钥),sha1密钥为8字节自定义扰码串。

步骤f、将防篡改信息插入ts封装流中。将防篡改信息封装成188字节的ts包,采用pid为0x1fff,不足188字节部分全部填充为0xff;并将防篡改信息插入在视频pes的ts包之前。

2、防篡改信息定义格式如下:

本发明定义的防篡改信息格式如图3所示,包含以下字段:

(1)pts:视频pes包的显示时间戳。该字段长度为5字节。

(2)dts:视频pes包的解码时间戳.该字段长度为5字节。

(3)版本号:版本号不同,相应的sha1扰码也不同。通过该字段进行sha1密钥升级,防止密钥泄露。该字段长度为1字节,取值范围为[1-255]。

(4)校验码:即对携带i帧的pes包进行sha1加密得到的数据。该字段长度为20字节。

3、iptv机顶盒侧防篡改校验模块实现流程如下:

本发明实现防篡改校验模块的流程如图4所示,包括以下步骤:

步骤a、解析pat、pmt,获取视频pid。从ts流中针对188字节的ts包进行检查,通过解析pid为0x00获取pat,通过pat获取pmt,最后通过pmt获取视频pid。

步骤b、根据pid过滤ts包。通过视频pid过滤ts流中视频包,并过滤pid为0x1fff的防篡改信息包。

步骤c、组装视频pes包,并解析防篡改信息包。将过滤得到的视频ts包进行组装,得到视频pes包。

步骤d、判断pes包是否完整。对视频pes包的完整性进行检查,若pes包不完整,则不进行防篡改校验;否则进入下一步骤。

步骤e、是否i帧。判断视频pes包中是否携带i帧,若不携带i帧,不进行防篡改校验;否则进入下一步骤。

步骤f、计算防篡改校验码。若pes中携带的帧为i帧,则采用sha1算法对pes进行加密,生成校验码,校验码生成算法为:校验码=sha1(pes包+sha1密钥),sha1密钥为8字节自定义扰码串。

步骤g、校验防篡改信息。校验ts流是否携带防篡改信息,并对防篡改信息进行校验,当校验失败时通知上层应用进行处理。本步骤主要处理环节如下:

(1)判断ts中是否携带防篡改信息。通过视频pes中pts和dts两个字段,查找对应的防篡改信息。若未查找到防篡改信息,则校验失败,该视频可能为非法视频。

(2)校验防篡改信息中的版本号。若防篡改信息中的版本号信息在终端侧不存在,则校验失败,该视频可能为非法视频。

(3)校验防篡改信息中的校验码。若防篡改信息中的校验码与终端根据视频pes包计算出的校验码不一致,则校验失败,该视频可能为非法视频。

本发明中,各参数含义如下:

es--elementarystreams(原始流)是直接从编码器出来的数据流。

pes--packetizedelementarystreams(分组的es),es形成的分组称为pes分组,是用来传递es的一种数据结构。

pts--presentationtimestamp(显示时间标记)表示显示单元出现在系统目标解码器(h.264、mjpeg等)的时间。

dts--decodingtimestamp(解码时间标记)表示将存取单元全部字节从解码缓存器移走的时间。

ts--transportstream(传输流)由定长的ts包组成(188字节),而ts包是对pes包的一个重新封装。

以上显示和描述了本发明的基本原理、主要特征和优点。本领域的普通技术人员应该了解,上述实施例不以任何形式限制本发明的保护范围,凡采用等同替换等方式所获得的技术方案,均落于本发明的保护范围内。

本发明未涉及部分均与现有技术相同或可采用现有技术加以实现。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1