首页> 中国专利> 一种在数字电视传输流中实时插入签名和验证签名的方法

一种在数字电视传输流中实时插入签名和验证签名的方法

摘要

本发明公开了一种在数字电视广播系统的传输流中实时插入签名和实时验证签名的方法。该方法利用传输流中包的格式以及包间的关联关系,对传输流中的基本包分段签名,并将签名插入到传输流中,在传输流播放时验证签名。该方法在插入签名和验证签名时都具有实时性。以及,在验证端建立容错机制,减小因信道干扰造成的误判。

著录项

  • 公开/公告号CN1980375A

    专利类型发明专利

  • 公开/公告日2007-06-13

    原文格式PDF

  • 申请/专利权人 中国科学院研究生院;

    申请/专利号CN200510127884.8

  • 发明设计人 荆继武;尚铭;许良玉;王晶;

    申请日2005-12-07

  • 分类号H04N7/16(20060101);

  • 代理机构

  • 代理人

  • 地址 100049 北京市玉泉路19号甲

  • 入库时间 2023-12-17 18:46:19

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-08-14

    文件的公告送达 IPC(主分类):H04N7/16 收件人:张实 文件名称:专利权终止通知书 申请日:20051207

    文件的公告送达

  • 2009-04-29

    授权

    授权

  • 2007-08-08

    实质审查的生效

    实质审查的生效

  • 2007-06-13

    公开

    公开

说明书

技术领域

本发明涉及数字电视技术,具体涉及一种在数字电视传输流中实时插入签名和实时验证签名的方法。

背景技术

随着科学技术的发展,数字电视技术应运而生。由于数字电视技术具有传输质量高、范围广、用户多、速度快等优势,将逐渐取代传统的模拟电视,因而拥有非常广阔的市场前景。

图1示出了现有的数字电视广播系统的基本结构。从图1可以看出,一个数字电视广播系统100包括电视节目提供子系统101、电视信号广播子系统102、网络传送子系统103和终端播放子系统104。其中电视节目提供商通过电视节目提供子系统101向电视信号广播子系统102提供数字电视节目传输流;电视信号广播子系统102将由电视节目提供子系统101提供的传输流发送到网络传送子系统103;网络传送子系统103将接收自电视信号广播子系统102的传输流通过有线或者卫星传输方式传送到终端播放子系统104;终端播放子系统104,也就是用户家中的数字电视机或者带有可接收数字信号的机顶盒的模拟电视机,则接收来自网络传送子系统103的传输流,并通过视频显示的方式进行播放,从而使用户可以观看到电视节目提供商所提供的数字电视节目。

在专利《数字电视广播系统及方法》提出了一种具有很高安全性的数字电视广播系统和数字电视广播方法,以有效地防止电视节目提供商播出非法的电视节目信号,和防止非法人员通过控制有线或者卫星等传送网络插入非法的电视节目。

一种安全数字电视广播系统,可以有效地防止电视节目提供商播出非法的电视节目信号,和防止非法人员通过控制有线或者卫星等传送网络插入非法的电视节目。

如图2所示,数字电视广播系统包括以下几个部分:

电视节目提供子系统,用于提供数字电视节目传输流;

电视信号广播子系统,用于将电视节目提供子系统提供的传输流发送到网络传送子系统;

网络传送子系统,用于将接收自电视信号广播子系统的传输流传送到终端播放子系统;

终端播放子系统,用于播放接收自网络传送子系统的传输流。

其中电视节目提供子系统进一步包括电视节目数字签名装置,用于对电视节目传输流进行数字签名,然后将数字签名结果以及数字许可证书叠加到传送给网络传送子系统的传输流中。电视节目数字签名装置将数字签名结果和数字许可证书叠加到传输流中是通过有扰方式或无扰方式进行的。终端播放子系统进一步包括自身存储有对应于节目提供子系统的数字许可证书的上级证书的安全认证装置,用于根据该上级证书验证传输流中叠加的数字许可证书是否合法,并验证传输流的数字签名结果是否正确,只有在通过所述两个判断的情况下,终端播放子系统播放该传输流所对应的节目,否则丢弃该传输流。

在安全数字电视系统中,每个电视节目提供商被颁发一个数字许可证书,电视节目提供商在提供电视节目时需要对传输流进行数字签名,并将数字签名结果和自己的数字许可证书叠加到该传输流中一同传送到终端侧,然后在终端侧验证节目提供商的数字许可证是否合法,并进一步验证数据签名结果是否正确,如果通过所有的判断,则播放该传输流所对应的节目,否则丢弃该传输流。这样如果非法人员通过控制有线或者卫星等传送网络插入非法的电视节目,由于非法人员不具有节目提供商的数字许可证书,因此所插入的非法电视节目在终端侧的验证中会被丢弃,即使非法人员通过各种手段得到了数字许可证书,也会因为他不具有私钥而不能通过数字签名结果的验证,从而使得插入的非法电视节目被丢弃。因此,可以有效地防止非法人员通过控制有线或者卫星等传送网络插入非法的电视节目。同时,由于电视节目提供商必须将自己的数字许可证书叠加到传输流发送到终端侧,因此如果合法电视节目提供商播放了非法的电视节目,那么可以很容易地通过伴随该非法电视节目的数字许可证书查找到该非法电视节目的源头,也就是是哪一个电视节目提供商提供了该非法节目。然后辅以其他刑事或经济惩罚措施进行处罚,对其它准备播放非法节目的节目提供商造成震慑,从而从源头上防止了电视节目提供商播出非法的电视节目信号。

在安全数字电视系统中,数字签名装置将数字签名结果和数字许可证书叠加到传输流中是通过有扰方式或无扰方式进行的。如果用户端安装有安全认证装置,该安全认证装置把证书和签名提取出来并且对传输流进行验证;如果用户端没有安装安全认证装置,通过无扰方式插入传输流的签名和证书,不会影响用户正常收看电视节目。所以说通过无扰方式在传输流中加入签名和证书是安全数字电视系统推广过程中必要的一个中间阶段。

但是,电视节目的播出对于实时性的要求比较高,只有保证在数字电视传输流中插入签名以及对签名进行验证过程的实时性,才能使用户收看到流畅和没有延迟的电视节目,然而目前并没有相应的解决方案。

发明内容

本发明致力于提供一种采用无扰方式、实时地在数字电视传输流中加入签名和证书以及实时地对传输流进行验证的方法。该方法利用传输流包的结构以及包间的关系,通过实时策略,实现了无延迟地在传输流中叠加签名以及对传输流进行验证。

本发明的上述目的是通过如下的技术方案予以实现的:

一种在数字电视传输流中实时插入签名的方法包含:

A、首先,签名端获取传输流的信息,所述传输流至少包含:基本包,包含节目关联表PAT的包和包含节目映射表PMT的包;然后以包含设定数目基本包的传输流为一段,对该段传输流进行签名,然后插入签名并发送,并且通过发送头包作为对传输流分段的标记;其中,对传输流签名时,只对传输流中的基本包进行签名运算。

所述在数字电视传输流中实时插入签名的方法,所述插入签名并发送包括:一段传输流发送完成后,将对该段传输流的签名结果打包成签名包,并紧接在该段传输流之后发送出去,签名包发送完成后再继续发送下一段传输流。所述步骤A包括以下步骤:

A11、签名端由最初始接收到的一段传输流中包含PAT和PMT的传输流包,获取传输流的信息;

A12、以设定数目基本包为一段,在发送该段中的第一个基本包之前发送头包,该头包用于作为对传输流分段的标记,然后把该段中的包发送出去,该段的基本包放入哈希运算单元;

A13、对哈希运算单元中的基本包进行哈希运算,并对哈希运算结果进行签名,把签名结果打包成签名包,紧接在该段传输流之后发送出去;

A14、进行下一段传输流处理,步骤同所述A12和A13。

所述在数字电视传输流中实时插入签名的方法,所述插入签名并发送包括:一段传输流发送完成后,继续发送下一段传输流,并且把前一段传输流的签名结果打包成签名包分散插入到所述下一段传输流中发送出去。所述步骤A包括以下步骤:

A21、签名端由最初始接收到的一段传输流中包含PAT和PMT的传输流包,获取传输流的信息;

A22、以设定数目基本包为一段,在发送该段中的第一个基本包之前发送头包,该头包用于作为对传输流分段的标记,然后把该段中的包发送出去,该段的基本包放入哈希运算单元;并且把前段基本包的哈希运算结果打包成签名包,分散插入到当前段传输流中发送出去。

A23、对哈希运算单元中的基本包进行哈希运算;

A24、进行下一段传输流处理,步骤同所述A22和A23。

所述在数字电视传输流中实时插入签名的方法,进一步包括:

B、首先,验证端获取传输流的信息,所述传输流至少包含:基本包、签名包、头包、包含PAT的包以及包含PMT的包;然后根据签名端发送的头包对传输流段的划分,提取一段传输流的签名,并对该签名进行验证。

签名包紧接在所对应的一段传输流之后发送出去时,所述提取一段传输流的签名并对该签名进行验证为:一段传输流发送出去后,用随后接收到的所述传输流段签名包中的签名数据对该段传输流进行验证,如果验证通过,继续发送一下段传输流;如果验证没有通过,下一段传输流段不再发送;

签名包插入在所对应传输流段的后一段传输流发送出去时,所述提取一段传输流的签名并对该签名进行验证为:一段传输流发送出去后,继续发送下一段传输流,在发送下一段传输流过程中把对应于前一段传输流的签名包提取出来,用签名包中的签名数据验证前一段传输流;如果验证通过,继续发送传输流,如果验证没有通过,随后接收到的传输流段不再发送。

签名包紧接在所对应的一段传输流之后发送出去时,所述步骤B包括以下步骤:

B11、验证端由最初始接收到的一段传输流中包含PAT和PMT的传输流包获取传输流的信息,并获取标志一段传输流起始的头包,

B12、以包含设定数目基本包的传输流为一段,把一段传输流的包发送出去,并把该段传输流的基本包放入哈希运算单元,对哈希运算单元中的基本包进行哈希运算,然后查看下一个包是否是签名包,如果是签名包,接收签名包并且验证哈希运算单元中的哈希运算结果是否正确,如果不是签名包,清空哈希运算单元,重新获取标志一段传输流起始的头包,然后接收设定数目的基本包等待验证,所述基本包不发送出去,直到基本包验证通过,才继续发送基本包;

签名包插入在所对应传输流段的后一段传输流发送出去时,所述步骤B包括以下步骤:

B21、验证端由最初始接收到的一段传输流中包含PAT和PMT的包,获取传输流的信息,获取标志一段传输流起始的头包;

B22、以包含特定数目基本包的传输流为一段,把一段传输流的包发送出去,并把该段传输流的基本包放入哈希运算单元,把签名包的内容记录下来;查看下一个包是否是头包;如果是头包,用记录下的签名结果验证前段传输流的哈希运算结果;如果不是头包,清空哈希运算单元,重新获取标志一段传输流起始的头包,然后接收特定数目的基本包等待验证,所述基本包不发送出去,直到基本包验证通过,才继续发送基本包。

另外,在验证端对传输流进行验证时,非连续验证未通过的传输流仍然发送给用户收看。因为传输流在传输过程中有可能受到信道干扰产生比特差错,这样就使得传输流验证不通过的几率很高,而事实上,低于一定限度内的比特错误对于用户收看是没有影响的。所以需要有一个容错机制,非连续比特错误的传输流仍然可以发送给用户收看。优选地,在验证过程中,如果连续多次(可以为10次)验证通过后出现一个验证不通过,则这个验证没有通过的传输流段也会发送给用户。但是如果不是连续多个传输流验证通过之后出现的验证不通过,则这个验证不通过的传输流段不发送给用户。

综上,本发明实现了一种实时地在传输流中插入和验证签名的方法。

除此之外,本发明很适合在安全数字电视推广的过渡时期使用。因为在原传输流中加入的签名包和头包的包标志域(PID)值不同于音频包、视频包和数据包,所以运动图像专家组(Mpeg)2解码器解码时会把签名包和头包丢掉,不影响用户收看。如果用户端没有安装安全认证设备,经过签名的传输流也可以被收看。

同时,本发明还具有良好的可操作性。本发明充分利用传输流本身的包格式以及包之间的关联关系,进行签名的插入,便于操作。另外,在签名端,先把传输流播放出去再进行签名运算和签名插入,使得节目的播放具有实时性而没有延迟。在验证端,先把一段传输流播放出去再进行验证,如果验证没有通过则停止播放下一段传输流,也可以保证节目播出的实时性。与数字水印方式相比,本发明加入和验证签名的方法更加简便,可以提高了签名和验证的效率,使系统具有更好的实时性。

另外,本发明还考虑了对于信道干扰产生的比特错误的容错性,可以在一定程度上减小对于非法数据的误判。

附图说明

图1是根据现有技术的数字电视广播系统的示意图。

图2是根据专利《数字电视广播系统及方法》提出的数字电视系统的数字电视广播系统的示意图。

图3是数字电视传输流包的关联图。

图4是根据本发明的在传输流中实时加入签名的方案图,加入的方式为把签名结果在被签名的传输流段之后发送出去。

图5是根据本发明的在传输流中实时加入签名的方案图,加入的方式为把签名结果插入被签名的传输流段的下一段传输流中发送出去。

图6是根据本发明的对传输流实时验证签名的方案图,验证的方式为,用插在一段传输流后面的签名结果验证该段传输流的哈希运算结果。

图7是根据本发明的对传输流实时验证签名的方案图,验证的方式为,把插在传输流中的签名结果组合起来,验证前一段传输流的哈希运算结果。

图8是根据本发明的在传输流中实时加入签名的实施例图,加入的方式为把签名结果插入被签名的传输流的下一段传输流中发送出去。

图9是根据本发明的在传输流中实时加入签名的实施例图,加入的方式为把签名结果插入被签名的传输流的下一段传输流中发送出去。

图10是根据本发明的对传输流实时验证签名的实施例图,验证的方式为,用插在一段传输流后面的签名结果验证该段传输流的哈希运算结果。

图11是根据本发明的对传输流实时验证签名的实施例图,验证的方式为,把插在传输流中的签名结果组合起来,验证前一段传输流的哈希运算结果。

图12是根据本发明的附加包的格式图。

具体实施方式

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

为了在安全数字电视广播系统中实现一种实时地在传输流中无扰插入签名以及验证签名的方法,本发明提出,在安全数字电视系统的签名端,把签名打包成标准格式的传输流基本包、即签名包,插入原传输流中,插入的方法可以是把签名包放在被签名传输流的后面发送出去,也可以是把签名包插入被签名传输流的下一段传输流中发送出去。签名包作为被签名节目的基本包一起被传送到验证端。在安全数字电视系统的验证端,签名包被提取出来,再对原视频流进行验证,验证的方法可以是,用收到的签名结果验证被签名传输流的哈希运算结果,也可以是把插在传输流中的签名结果组合起来,验证前一段传输流的哈希运算结果。被签名的传输流即使没有被验证,也不影响用户收看。这种插入签名和验证签名的方法实现简单,而且可以保证了整个系统的实时性,不会对节目的播出和收看造成延迟。

图3示出了数字电视传输流包的关联图。如图3所示,数字电视传输流由188字节大小的包组成,包的种类大致可分为基本包、零包和信息包。其中,基本包为各路节目的音频包、视频包和数据包;零包中不包含任何信息;信息包指含有节目关联表(PAT)、节目映射表(PMT)等传输流中各包关联信息的包。包中的前8个bit为同步字段01000111,另外在包中还有一个重要的PID字段表示包的种类,其中,零包和包含PAT包的PID是固定的:零包的PID为8191,包含PAT包的PID为0。每路节目的所有音频数据PID是相同的,每路节目的所有视频数据PID是相同的,另外每路节目的所有数据PID也是相同的,也就是说通过知道某路数据的音频PID就可以找到传输流中所有该路节目的音频包,视频包和数据包也可以用相同的方法找到。

包含PAT的包(PID=0)中列出了传输流中存在的节目流,PAT指定了所有包含PMT包的PID,所以根据PAT可以找到所有包含PMT的包。每一路节目的PMT中含有该路节目的音频包、视频包、数据包的PID,所以根据一路节目的PMT,可以找到该路节目的所有音频包、视频包和数据包。

传输流包的这种格式和关联方法就为在传输流中插入签名包提供了条件。签名包可以作为一路节目的基本包插入传输流,和该路节目的音频包、视频包和数据包一起作为这路节目的基本包。并且修改该路节目的PMT,把签名包的PID记录到PMT中。在验证端,可以根据PMT找到一路节目的签名包的PID,从而在传输流中把该路节目的签名包提取出来。签名包加入传输流中不影响Mpeg2解码器的解码,因为解码器不能识别签名包的PID,所以就会把签名包丢弃。

图4是根据本发明的在传输流中实时加入签名的方案图,加入的方式为把签名结果在被签名的传输流之后发送出去。

在初始接收传输流时,通过分析最初始接收到的包含PAT和PMT的传输流包,获取传输流的信息:由PAT得知包含PMT包的PID,然后由PMT得知传输流中音频包、视频包和数据包的PID。

然后以特定数目基本包为一段传输流,把该段传输流中的包发送出去;并且通过发送头包作为对传输流分段的标记;该段传输流的基本包放入哈希运算单元。

一段传输流发送完成后,对哈希运算单元中的基本包进行哈希运算,并且对哈希运算结果进行签名。

最后,把签名打包成签名包,发送出去。

图5是根据本发明的在传输流中实时加入签名的方案图,加入的方式为把签名结果插入被签名的传输流的下一段传输流中发送出去。

在初始接收传输流时,通过分析最初始接收到的包含PAT和PMT的传输流包,获取传输流的信息。

然后以特定数目基本包为一段传输流,把该段传输流中的包发送出去,基本包放入哈希运算单元;并且通过发送头包作为对传输流分段的标记。另外,把哈希运算单元中前段传输流的基本包的哈希运算结果做签名,并打包成签名包分散插入当前段传输流中发送出去。

最后对哈希运算单元中的基本包进行哈希运算。

图6是根据本发明的对传输流实时验证签名的方案图,验证的方式为,用插在一段传输流后面的签名结果验证该段传输流的哈希运算结果。

首先由最初始接收到的一段传输流中包含PAT和PMT的包,获取传输流的信息,具体获取方式与图4中所描述的相同,因此不再赘述;

然后获取标志一段传输流起始的头包;

接下来以包含特定数目基本包的传输流为一段,把一段传输流的包发送出去,并把该段传输流的基本包放入哈希运算单元;

一段传输流发送完成后,对哈希运算单元中的基本包进行哈希运算。然后查看下一个包是否是签名包;如果是签名包,接收签名包并且验证哈希运算单元中的哈希运算结果是否正确,如果正确,继续获取标志一段传输流起始的头包,如果不正确,清空哈希运算单元,重新获取标志一段传输流起始的头包,然后接收特定数目的基本包等待验证,所述基本包不发送出去,直到基本包验证通过,才继续发送基本包;如果不是签名包,清空哈希运算单元,重新获取标志一段传输流起始的头包,然后接收特定数目的基本包等待验证,所述基本包不发送出去,直到基本包验证通过,才继续发送基本包。

图7是根据本发明的对传输流实时验证签名的方案图,验证的方式为,把插在传输流中的签名结果组合起来,验证前一段传输流的哈希运算结果。

首先由最初始接收到的一段传输流中包含PAT和PMT的包,获取传输流的信息,具体获取方式与图4中所描述的相同,因此不再赘述;

然后以包含特定数目基本包的传输流为一段,把一段传输流的包发送出去,并把该段传输流的基本包放入哈希运算单元,把签名包的内容记录下来;

对哈希运算单元中的基本包进行哈希运算,然后查看下一个包是否是头包:如果是头包,用记录下的签名结果验证前段传输流的哈希运算结果,如果通过验证,继续获取标志一段传输流起始的头包,如果未通过验证,清空哈希运算单元,重新获取标志一段传输流起始的头包,然后接收特定数目的基本包等待验证,所述基本包不发送出去,直到基本包验证通过,才继续发送基本包;如果不是头包,清空哈希运算单元,重新获取标志一段传输流起始的头包,然后接收特定数目的基本包等待验证,所述基本包不发送出去,直到基本包验证通过,才继续发送基本包。

图8是根据本发明的在传输流中实时加入签名的实施例图,加入的方式为把签名结果在被签名的传输流之后发送出去。

首先对接收到的传输流进行同步纠错处理,然后根据各包的识别字段PID,查看收到的包是否为包含PAT(PID=0)的包。如果不是包含PAT的包,丢弃该包;如果是,读取包中的内容,然后把所述包含PAT的包发送出去。通过读取PAT中的信息得知所述传输流中节目的包含PMT包的PID。继续接收传输流,根据各包的识别字段PID,查看收到的包是否为包含PMT的包,如果不是PMT,丢弃该包;如果是,读取包中的内容。通过读取PMT中的信息,得知所述节目音频、视频以及数据的包的PID。

继续接收传输流,对收到的包进行分析,收到的包如果是一段传输流中的第一个基本包(音频包、视频包、数据包之一或任意的组合),则发送一个标志起始签名位置的头包,然后把所述基本包输入哈希运算单元,并且把所述基本包发送出去。收到的基本包如果不是一段传输流中的第一个基本包,则把所述基本包输入哈希运算单元,并且把所述基本包发送出去。如果收到的是包含PMT的包则修改PMT,在PMT里除了音频、数据、视频数据类型外再增加一项——附加数据类型及其PID记录。签名包和头包的PID都为PMT中记录的附加包PID,通过该PID可以在传输流中找到签名包和头包。至于签名包和头包的区分,可以通过包内的其他字段来实现(参见图12的说明)。将修改完的包含PMT的包发送出去。如果接收到的包是除包含PMT和音频、视频以及数据之外的包,直接发送出去。重复上述步骤,直到接收到一定数目(可以为150个、200个等)的基本包为止。然后把所述输入哈希运算单元的特定数目的基本包进行哈希运算,得到的结果再进行签名,可以使用RSA签名算法。把签名结果打包成标准的传输流包,然后发送出去。

然后继续接收下一段传输流,按照与前一段传输流相同的方式进行处理。

图9是根据本发明的在传输流中实时加入签名的实施例图,加入的方式为把签名结果插入被签名的传输流的下一段传输流中发送出去。

首先对传输流进行同步纠错处理。根据各包的识别字段PID,查看收到的包是否为包含PAT(PID=0)的包。如果不是,丢弃该包;如果是包含PAT的包,读取包中的内容,然后把所述包发送出去。通过读取PAT中的信息得知所述传输流包含PMT包的PID。继续接收传输流,根据各包的识别字段PID,查看收到的包是否为包含PMT的包。如果不是,丢弃该包;如果是包含PMT的包,读取包中的内容。通过读取PMT中的信息,得知所述节目音频、视频以及数据的包的PID。继续接收传输流,对收到的包进行分析,收到的包如果是一段传输流中的第一个基本包,则发送一个标志起始签名位置的头包,然后把所述基本包输入哈希运算单元,并且把所述基本包发送出去。收到的基本包如果不是一段传输流中的第一个基本包,则把所述基本包输入哈希运算单元,并且把所述基本包发送出去。如果收到的是包含PMT的包则修改PMT,在PMT里除了音频、数据、视频外再增加一项——附加包的类型及其PID记录。签名包和头包的PID都为PMT中记录的附加包PID,通过该PID可以在传输流中找到签名包和头包。至于签名包和头包的区分,可以通过包内的其他字段来实现。将修改完的包含PMT的包发送出去。如果接收到的包是除包含PMT和音频、视频以及数据之外的包,直接发送出去。重复执行上述步骤,直到接收到一定数目(可以为150个、200个等)的基本包为止,发送的过程中把前一段传输流基本包的哈希运算结果进行签名并且打包为标准的传输流包,与当前需要发送的传输流一起发送出去。然后把输入哈希运算单元的所述一定数目的基本包进行哈希运算,该一定数目的基本包为与当前传输流相对应的基本包。

继续接收下一段传输流,按照与前一段传输流相同的方式进行处理。

图10是根据本发明的对传输流实时验证签名的实施例图,验证的方式为,用插在一段传输流后面的签名结果验证该段传输流的哈希运算结果。

首先对接受到的传输流进行同步纠错。然后根据各包的识别字段PID,查看收到的包是否为包含PAT的包。如果不是,丢弃该包;如果是包含PAT的包,读取包中的内容,然后把所述包含PAT的包发送出去。通过读取包中的内容,得知传输流中共有几路节目,以及被选择进行验证的节目的PMT包的PID值。继续接收传输流,根据各包的识别字段PID,查看收到的包是否为需要验证的一路节目的PMT。如果不是,丢弃该包;如果是,读取包中的内容,然后把所述包含PMT的包发送出去。根据所述包含PMT的包的内容,得知所述节目音频包、视频包、数据包以及签名包的PID。继续接收传输流,如果接收到的是包含PMT或PAT的包,则发送出去;接收到的是该路节目的音频包、视频包、数据包以及签名包则丢弃;接收到的是其他节目的包则发送出去。一直接收包,直到接收到一个头包为止,把接收到的头包发送出去。然后继续接收包,如果接收到的是该路节目的音频包、视频包或数据包,把该包做哈希运算,并且把所述包发送出去;如果接收到的是包含PMT或者PAT的包,直接发送出去;接收到的如果是其他路节目的包也要发送出去。直到接收到所述节目特定数目的基本包为止。继续接收包,如果收到是签名包,则把签名包中的签名结果提取出来,对所述哈希运算结果进行验证。如果验证通过,则继续接收传输流按照上述步骤进行后续操作;如果验证不通过,则后续接收到的一定数量的基本数据包只做哈希运算,而不发送出去,直到哈希运算结果验证通过,再开始后续操作,把传输流发送出去。如果接收到的包不是签名包,则把接收到的包丢弃,直到接收到一个头包为止。然后把头包发送出去,后续接收到的该路节目基本包做哈希运算但是不再发送出去,直到哈希运算结果验证正确,再开始后续操作,把传输流发送出去。

图11是根据本发明的对传输流实时验证签名的实施例图,验证的方式为,把插在传输流中的签名结果组合起来,验证前一段传输流的哈希运算结果。

首先对传输流进行同步校验,然后根据各包的识别字段PID,查看收到的包是否为包含PAT的包。如果不是,丢弃该包;如果是,读取包中的内容,然后把所述包含PAT包发送出去。通过读取包内容,得知传输流中共有几路节目,以及被选择进行验证的节目的PMT包的PID值。继续接收传输流,根据各包的识别字段PID,查看收到的包是否为需要验证的一路节目的PMT包。如果不是,丢弃该包;如果是,读取包中的内容,然后把所述PMT包发送出去。根据所述PMT包的内容,得知所述节目音频包、视频包、数据包以及签名包的PID。继续接收传输流,如果接收到的是PMT包或PAT包,则发送出去;接收到的是该路节目的音频包、视频包、数据包以及签名包则丢弃;接收到的是其他节目的包则发送出去。一直接收传输流,直到接收到一个头包为止,把接收到的头包发送出去。继续接收包,如果接收到的是PMT包或者PAT包,直接发送出去;接收到的如果是其他路节目的包也要发送出去;如果接收到的是该路节目的音频包、视频包或数据包,把该包做哈希运算,并且把所述包发送出去,如果接收到的是签名包,则把签名包记录出来,然后再发送出去。直到接收到所述节目特定数目的基本包,查看下一个接收到的包,如果是头包,则把记录下的签名包中签名结果组合在一起,验证上一段传输流的哈希运算结果。如果验证通过,则如上述步骤所述进行后续操作;如果验证没有通过,则后续接收到的该路节目基本包只进行哈希运算等待验证而不发送出去,验证通过后才可以在后续操作把传输流发送出去。如果接收到所述节目特定数目的基本包后,查看下一个包不是头包,则把基本包的哈希运算结果以及签名包都丢掉,把继续接收到的包也丢掉,直到接收到一个头包为止。然后把后续接收到的该路节目的基本包只做哈希运算而不发送出去,直到哈希运算的结果验证通过,进行后续操作。

图12为根据本发明的附加包格式图。附加包为标准的传输流包,包长度为188字节,由Head(包头),和Payload(有效载荷)两部分构成。其中,Head的结构和内容与标准的传输流包的Head相同;Payload的结构和内容为本发明所设计。其中,Type用来标识该包是头包还是只包含签名结果的包,或者是包含签名结果和节目提供商证书的包。Type字段为00表示该包是头包,Type字段为01表示该包是只包含签名结果的包,Type字段为10表示该包是既包含签名结果又包含节目提供商证书的包,Type字段的11值作为保留。Total Section用来标识同一个数据(“签名结果”或者“签名结果和节目提供商证书”)所占用包的个数,因为“签名结果”或者“签名结果和节目提供商证书”需要占用多个包;如果是头包,该字段内容就是1。Current Section是本包在表示同一个数据的多个包中的编号,通过读取该编号可以得知一个签名结果和证书有没有被完整的传输到验证端。Length中的内容为下一字段Content的字节数。Content为签名结果或者证书数据。Shifling Bytes字段为比特填充(各位都设为1),使该包恰好长度为188字节。

上面介绍了在安全数字电视广播系统中,一种采用无扰的方式,实时地加入签名和验证签名的方法。本发明提出的根据传输流本身的包格式和包间的关联关系,在传输流中实时插入数据的方法,可以广泛的使用在包括数字电视系统在内的所有需要对传输流进行签名插入和验证的系统中。

对应于图2,图4、图5、图8和图9所述的操作可由电视节目提供子系统中的数字签名装置来完成,图6、图7、图10和图11所述的操作可由终端播放子系统中的安全认证装置来完成。

由于传输流在传输过程中有可能受到信道干扰产生比特差错,这样就使得传输流验证不通过的几率很高,而事实上,低于一定限度内的比特错误对于用户收看是没有影响的。所以本发明可提供一个容错机制,非连续比特错误的传输流仍然可以发送给用户收看,例如,连续未通过验证的次数没有达到设定值时,如5次,可视为通过验证,仍然向用户播放相应节目。优选地,在验证过程中,如果连续多次(可以为10次)验证通过后出现一个验证不通过,则这个验证没有通过的传输流段也会发送给用户。但是如果不是连续多个传输流验证通过之后出现的验证不通过,则这个验证不通过的传输流段不发送给用户。

因此可以理解,上述仅仅是对本发明精神的展示,而不是限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号