专利名称:数字传输系统中数据的鉴别的制作方法
技术领域:
本发明涉及在数字传输系统中发送数据的鉴别方法。
背景技术:
数字数据的广播传输在付费TV系统的领域中是公知的,在这些系统中通常利用卫星/有线链路发送扰频的视听信息给许多用户,每个用户拥有能解扰发送的节目以便随后观看的解码器。地面数字广播系统也是公知的。除了或以及视听数据之外,近来的系统也使用广播链路来发送其他数据,发送诸如计算机程序或交互应用程序给解码器或连接的PC。
应用数据传输所具有的一个具体问题在于需要验证任何这样的数据的完整性与起源。由于这种类型的数据可以用于重新配置解码器,以及实施任何数量的交互式应用程序,所以接收的数据是完整的并且识别为从公知的信号源中始发是必不可少的。否则,与下载不完整数据相关的操作问题以及此解码器对于第三方等的侵袭变得不设防的危险可能出现。
鉴别这样的数据的以前尝试集中在分组流中数据的封装或格式化级别上的验证。例如,欧洲专利申请EP0752786描述一种系统,在此系统中数据封装在一系列模块中或使用与MPEG标准相关的术语封装在一系列表或部分中,然后将这些表或部分封装在MPEG传送流的分组中。
相对制表数据、例如包含具有用于那个应用程序的数据的所有表的一个列表的目录表,和与每个表相关以允许表数据的以后验证的散列值的表一起执行鉴别操作。此目录表自身可以在发送之前进行标记,以使不改变这些散列与特征标记不可以修改此目录表以及相关表中的信息。
这样的公知系统的问题在于其不适于处理更复杂的数据组成结构。具体地,包含每个相关表的完整散列值表的单个目录表的使用意味着这样的系统不容易适用于处理大的或可变数量的表。
由于单个MPEG目录表链接所有的表,并且由于在格式化表中的数据以便分组封装与广播的阶段上完成这些鉴别操作,所以此系统同样不适于允许由许多广播操作者提供的软件的鉴别。此操作通常在单独的操作者的控制下完成。
发明内容
根据本发明的第一方面,提供鉴别在数字传输系统中发送的数据的一种方法,其特征在于,在发送之前将此数据组成为至少一个根目录单元、子目录单元与文件单元的分级(hierarchy),利用鉴别算法作用于文件中的数据,并将一个文件鉴别值存储在有关(referring)子目录中,此文件鉴别值与所述数据相关,又利用鉴别算法作用于此文件鉴别值并将相关的子目录鉴别值存储在有关根目录中。
本发明还提供验证在数字传输系统中发送的接收数据的一种方法,其中接收解码器利用鉴别算法作用于文件中的数据并将所得到的值与存储在有关子目录中的鉴别值进行比较,而且还利用鉴别算法至少作用于存储在此子目录中的文件鉴别值并将随后得到的值与存储在有关根目录中的相关子目录鉴别值进行比较。
不同于其中单个表目录涉及所有的相关表的公知系统,分级的每个步骤上多级结构与鉴别算法的应用程序的一起使用提供安全与模块化的数据结构。由于利用根目录中的相应值在上一级上依次鉴别子目录中的文件鉴别值,所以不改变较高级上的鉴别值不可能改变较低级上的一个元素(并且反之亦然)。
最好,通过对一些或所有文件数据应用散列算法来完成文件数据的鉴别,将所得到的散列值作为文件鉴别值存储在此有关子目录中。同样地,通过对此文件鉴别值(和其他的数据,如果需要的话)应用散列算法可以完成子目录的鉴别,将所得到的散列值作为子目录鉴别值存储在此有关根目录中。
例如,可以设想其他的实施例,其中根据加密算法和用作存储在此子目录中的鉴别值的密钥(或其识别密钥号码)来加密文件数据。此文件密钥又可以进行加密,并且将此加密密钥作为鉴别值等存储在此根目录中。虽然是可能的,但此实施例由于生成加密密钥值所必需的操作增加的复杂性而使之实施相当复杂。
相反地,使用散列算法来完成每个模块的鉴别使之能够实现每个模块完整性的特别简单与快速的检验。在一个实施例中,可以使用诸如检查和计算的简单散列算法。然而,这不能检测伪造,这是因为其确定消息的任何改变如何影响此散列值相对简单。
最好,此散列算法对应于从给定的一组数据中生成基本上唯一的散列值的密码安全算法。可以用于此目的的合适的散列算法例如包括消息消化版本5(MD5)算法或安全散列算法(SHA)。
有益地,通过对来自多个文件的数据累积应用散列算法以生成单个散列值来完成多个文件的文件数据的鉴别。同样地,可以通过对来自多个子目录的文件鉴别值的累积(和其他数据,如果希望的话)应用散列算法以生成单个散列值来完成许多子目录的鉴别。
累积散列方法的使用覆盖在较低层上的多个数据模块(文件、子目录等)与例如为每个模块存储单独散列值的表的系统相比进一步使系统简化。这又使此系统能够减少每个级上所需的计算步骤并减少存储在上层中的鉴别数据的规模。
在使用散列算法来鉴别每个层的实施例的情况中,此系统将是“开放的”,即,所有的散列值将可读到根目录上。由于散列算法是公众可获得的,所以从理论上第三方不检测是否同时也改变子目录与根目录层上相应的散列值时能改变例如存储在文件层上的数据。
为避免此,利用加密算法的保密密钥作用于在此根目录中的至少一些数据并将得到的加密值存储在此根目录中。最好,此加密值对应于数字特征标记。用于此目的的合适的专用/公用密钥算法包括例如RSA算法。
有益地,利用此保密密钥加密以生成存储在此根目录中的特征标记的数据包括至少一个或多个子目录鉴别值。然而,设想标记除子目录鉴别值之外的根目录中的数据以“关闭”此系统是可能的。
作为特征标记生成的一个选择,对整个或部分根目录可以只进行加密或扰频,接收机拥有等效的密钥来解密加密的根目录数据。在这种情况中,可以使用诸如DES的对称密钥算法。
如将明白的,虽然上面已经结合两个分级电平描述了鉴别处理,但可以对其他的有关文件、子目录、根目录等无限地完成类似的鉴别步骤。
同样地,虽然为语言简洁起见而将此结构定义为根目录/子目录/文件,但除了利用两个上层单元安排到较低层单元之外,不假定层中每个单元的具体特征。如所理解的,此数据结构可以同样只是根目录/子目录/第二根目录或任何其他组合。
下面描述的实施例集中在较低层中的单元,即目录或子目录所涉及的。如将变得清楚的,虽然从上层指向此单元,但此单元自身可以是目录单元、子目录单元等。
在一个实施例中,一个有关单元包括利用密钥生成的加密值,用于此单元的鉴别值根据有关此加密值的鉴别算法的结果进行计算并存储在此有关单元中。具体地,如同上述的等效根目录实施例一样,可以标记有关单元,用于那个单元的鉴别值计算为有关那个特征标记的散列函数的结果。
例如,此有关单元可以对应于文件或子目录。然而,此实施例特别适于其中此有关单元是用于另一组数据(例如,不同起源的数据)的根目录并且此有关根单元也包括特征标记的情况。在这种情况中,第一操作者能组合并标记数据到此根目录的层上。
此后,第二操作者不知道此加密密钥时能查阅此数据,任何链路只利用此有关根目录中的特征标记的散列值在此有关单元中进行鉴别。两组数据的鉴别当然只对于拥有验证这两个根目录中的特征标记所必需的密钥的接收机是可能的。
如上所述,本发明可以应用于任何组的多级数据单元。本发明甚至可以应用于传送流中表或分组的构造,如果在分组流中能提供多层的根目录、子目录、文件等的话。然而,此发明特别适于其中这些单元对应于封装在数据表或部分中的一组数据文件的情况,这些表此后封装在数据分组中以形成传送流。
不同于分组或表级别上的鉴别,此实施例使鉴别数据的组合与其在传送流中的封装之间能完全独立并且又有助于在由单个广播操作者控制的传送流中从不同的源中提供软件。根据此实施例鉴别的数据甚至可以通过不同的发送路由(例如,双向电信链路或卫星链路)进行发送,使用选择的封装格式来发送此数据。
数据单元最好对应于根据DSMCC标准格式化的数据目标。在一个实施例中,此后根据MPEG标准将这些数据目标封装在表与分组中。
根据本发明的第二方面,提供鉴别在数字传输系统中发送的第一与第二组链接数据单元的一种方法,其特征在于,第一组单元之中的一个单元包括利用作用于那个第一单元的保密密钥生成的特征标记,利用鉴别算法来至少鉴别此特征标记值并将此鉴别值存储在第二组单元之中涉及那个第一单元的一个单元中。
根据本发明的第三方面,提供鉴别在数字传输系统中发送的数据的一种方法,其特征在于,将数据组成为一系列数据文件,独立于并在由此数字传输系统用于准备在分组传送流中发送数据的数据格式化与封装级之前在文件之间完成鉴别。
具体地,可以在表或部分中的格式化之前完成鉴别,这些表随后封装在传送分组流的数据分组中。
如上所述,在准备发送数据之前采用的鉴别处理的使用具有此后可以利用任意数量的信道诸如广播信道或电信信道为此数据选择路由至接收机而不改变此鉴别处理的效果。同样地,一旦接收机或解码器已从与此传输路由相关的格式中重新构造这些数据文件,则可以独立于选择的传输模式对此数据进行验证。
本发明的第一方面及其最佳实施例的任何或所有特征当然可以与本发明的第二和第三方面进行组合。
上面已经结合用于在发送之前生成鉴别数据的步骤描述了本发明,其最广泛与最佳实施例中的本发明同样适用于在用于验证此数据的接收机上完成的相反步骤。
在其广播方面中,本发明可以应用于任何数字传输系统。然而,本发明最好应用于数字电视系统并且具体应用于传送在此数字电视系统的接收机/解码器中使用的应用软件的数据模块。
如在此所使用的,术语“数字传输系统”包括用于发送或广播例如主要视听或多媒体数字数据的任何传输系统。虽然本发明特别可应用于广播数字电视系统,但本发明也可以应用于用于多媒体因特网应用的固定电信网络、应用于闭路电路电视等等。如将明白的,术语“数字电视系统”例如包括任何卫星、地面、电缆与其他系统。
本发明中使用的术语“接收机/解码器”或“解码器”可以不是用于接收可以利用某一其他装置广播或发送的编码或未编码信号(例如,电视和/或无线电信号)的接收机。此术语也可以不是用于解码接收信号的解码器。这样的接收机/解码器的实施例可以包括与用于解码例如“置顶盒”中接收信号的接收机构成一体的解码器,这样的解码器与物理上独立的接收机一起作用,或这样的解码器包括附加的功能,诸如万维网浏览器和/或与诸如视频记录器或电视机的其他装置构成一体。
术语MPEG指由国际标准组织工作组“运动图象专家组”制定的数据传输标准,而且具体但不专指为数字电视应用制定并在文件ISO13818-1、ISO 13818-2、ISO 13818-3与ISO 13818-4中提出的MPEG-2标准。在本发明申请的文本中,此术语包括可应用于数字数据传输领域的MPEG格式的所有变化、修改或发展。
术语DSMCC指在MPEG文件与在当前文件ISO 13818-6中描述的数据文件格式标准。
现在将仅利用示例结合附图描述本发明的优选实施例,其中图1表示与本发明一起使用的数字电视系统的示意图;图2表示图1的系统的解码器的结构;图3表示MPEG广播传送流内许多组成部分的结构;图4表示软件应用划分为许多MPEG表;图5表示DSMCC数据文件与最终产生的MPEG表之间的关系;图6表示DSMCC的上下文中定义的客户机、服务器、网络管理者关系;图7表示本发明的这个实施例中鉴别的目录、子目录与文件目标。
具体实施例方式
根据本发明的数字电视系统1的概图表示在图1中。本发明包括使用公知的MPEG-2压缩制式来发送压缩的数字信号的最常规的数字电视系统2。更具体地,广播中心中的MPEG-2压缩器3接收数字信号流(一般为视频信号流)。此压缩器3利用链路5连接到多路复用器与扰频器4。
此多路复用器4接收多个其他的输入信号、组合传送流并通过链路7发送压缩的数字信号给广播中心的发射机6,此链路7当然能采用各种形式,包括电信链路。发射机6通过上行链路8向卫星转发器9发送电磁信号,在此转发器中这些信号进行电子处理并通过理论上的下行链路10广播给常规以终端用户拥有或租用的抛物面反射器形式的地球接收机12。由接收机12接收的信号发送给终端用户拥有或租用并连接到终端用户的电视机14的综合接收机/解码器13。此接收机/解码器13将压缩的MPEG-2信号解码为用于此电视机14的电视信号。
用于数据传输的其他传送信道当然是可能的,诸如地面广播、有线传输、组合的卫星/电缆链路、电话网络等。
在多信道系统中,此多路复用器4处理从许多并行信号源中接收的音频与视频信息并与发射机6交互作用以便沿着相应数量的信道广播此信息。除了视听信息之外,消息或应用程序或任何其他类型的数字数据可以与发送的数字音频和视频信息交错引入在这些信道之中的一些或所有信道中。在这样的情况中,例如,DAM-CC格式软件文件与消息形式的数字数据流将利用压缩器3进行压缩并分组为MPEG格式。下面将更具体描述软件模块的下载。
将条件接入系统15连接到多路复用器4与接收机/解码器13,并部分地位于广播中心中和部分地位于此解码器中,这使终端用户能从一个或多个广播提供者中接入数字电视广播。能解密涉及商业提供(即,由广播提供者销售的一个或几个电视节目)的消息的智能卡能插入在此接收机/解码器13中。使用此解码器13与智能卡,终端用户可以以签约模式或按画面计费模式购买这些商业提供。实际上,此解码器可以构造为处理多个接入控制系统,例如单密码或多密码设计。
如上所述,由此系统发送的节目在多路复用器4上进行扰频,应用于给定传输的条件与加密密钥由此接入控制系统15确定。这种方式的扰频数据的传输在付费TV系统领域中是公知的。一般地,扰频数据与由于解扰此数据的控制字一起进行发送,此控制字自身利用所谓的开发(exploitation)密钥进行加密并以加密形式进行发送。
扰频与加密的控制字随后利用已接入存储在此解码器中插入的智能卡上的等效开发密钥的解码器13接收,以解密此加密的控制字并随后解扰所发送的数据。按时付费用户例如将在每月广播的EMM(权利管理消息)中接收解密此加密的控制字所必需的开发密钥,以允许观看此传输。除了其在解密视听电视节目中的使用之外,可以生成与发送类似的开发密钥,以用于如下将描述的诸如软件模块的其他数据的验证。
也连接到多路复用器4与接收机/解码器13并且又部分地位于广播中心中和部分地位于此解码器中的交互系统16使终端用户能通过调制解调器反向信道17与各种应用程序交互作用。此调制解调器反向信道也可以用于条件接入系统15中使用的通信。交互系统可以例如用于使观看者能及时与发送中心通信来要求授权观看特定事件、下载应用程序等。
参见图2,现在将简要地描述适于在本发明中使用的接收机/解码器13或置顶盒的物理部件。此图中所示的部件将以功能方框进行描述。
解码器13包括具有相关存储部件并适于从串行接口21、并行接口22与调制解调器23(连接到图1的调制解调器反向信道17)接收输入数据的中央处理器20。
还将此解码器用于通过控制单元26从红外遥控器25中接收输入并从此解码器的前面板上的开关触点24中接收输入。此解码器也具有分别适于读取银行或预约智能卡29、30的两个智能卡读取器27、28。也可以通过红外键盘(未示出)接收输入。预约智能卡读取器28与插入的预约卡30并与条件接入单元29接合,以提供必需的控制字给多路复用器/解扰器30,以便能够解扰加密的广播信号。此解码器也包括常规的调谐器31与解调器32,以便在利用单元30进行滤波与多路分用之前接收与解调卫星传输。
此解码器内的数据处理一般由中央处理器20进行处理。此中央处理器的软件结构对应于与在此解码器的硬件部分中实施的较低级操作系统交互作用的虚拟机。
现在将结合图3与4描述从发射机发送给解码器的广播MPEG传送流内数据的分组结构。如所认识到的,虽然本描述将集中在MPEG标准中使用的制表格式上,但同样的原理一样适用于其他的分组数据流格式。
具体参见图3,MPEG比特流包括具有分组识别(“PID”)0的节目接入表(“PAT”)40。此PAT包含许多节目的节目变换表(“PMT”)41的PID的参考标记。每个PMT包含那个节目的音频MPEG表42与视频MPEG表43的流的PID的参考标记。是此节目接入表40的具有0的PID的分组为所有MPEG接入提供入口点。
为了从中下载应用程序与数据,定义两个新的流类型,并且相关的PMT也包含应用MPEG表44(或其部分)与数据MPEG表45(或其部分)的流的PID的参考标记。事实上,虽然在一些情况中为可执行应用软件和利用这样的软件处理的数据定义独立的流类型可能是方便的,但这不是必不可少的。在其他实现中,数据与可执行代码可以组合在利用上述的PMT接入的单个流中。
参见图4,为了下载例如流44内的应用程序,将应用程序46分成模块47,每个模块利用MPEG表形成。这些表中的一些表包括单个部分,而其他表可以由多个部分48组成。典型的部分48具有标题,此标题包括一字节表识别(“TID”)50、表中的那个部分的部分数量51、那个表中部分的总数52和两字节TID扩展参考标记53。每个部分也包括数据部分54与CRC55。对于特定的表47,组成那个表47的所有部分48具有相同的TID 50与相同的TID扩展53。对于特定的应用程序46,组成那个应用程序46的所有表47具有相同的TID 50,但具有不同的各自的TID扩展。
对于每个应用程序46,单个MPEG表用作目录表56。此目录表56在其标题中具有与组成此应用程序的其他表47相同的TID。然而,此目录表为了识别目的和由于对于此目录中的信息只需要单个表的事实而具有预定的0的TID扩展部分。所有其他的表47通常将具有非零TID扩展部分并由许多相关部分48组成。此目录表的标题也包括要下载的应用程序的版本号。
再参见图3,循环发送PAT40、PMT41和应用程序与数据流部分44、45。发送的每个应用程序具有各自预定的TID。为了下载应用程序,将具有合适的TID与零的TID扩展部分的MPEG表下载到此接收机/解码器,这是用于所要求的应用程序的目录。此目录中的数据随后利用此解码器进行处理以确定组成所要求的应用程序的表的TID扩展部分。此后能下载具有与此目录表相同的TID和从此目录中确定的TID扩展部分的任何要求的表。
将此解码器安排为检查此目录表是否具有任何更新。这可以通过又一次周期地例如每30秒或一或五分钟下载此目录表来完成,并比较先前下载的目录表的版本号。如果新下载的版本号不是最新版本号,则删除与前一目录表相关的表,并下载和组合与新版本相关的表。
在可选择的安排中,使用与TID、TID扩展部分和版本号对应的掩蔽利用为此应用程序的TID设置的值、零的TID扩展和大于当前下载目录的版本号的版本号对输入比特流进行滤波。因此,能检测版本号的递增,并在一旦检测到时下载此目录并更新此应用程序,如上所述。如果要结束应用程序,发送具有下一版本号的空目录,但没有此目录中列出的任何模块。为响应这样的空目录的接收,此解码器编程为删除此应用程序。
实际上,可以通过此解码器的任何部分具体地在通过上述的卫星链路但也通过串行端口、智能卡链路等接收的数据流中引入实施此解码器中的应用程序的软件与计算机程序。这样的软件可以包括用于实施此解码器内交互式应用程序的高级应用程序,诸如网络浏览器、知识问答应用程序、节目指南等。例如利用“修补程序”等也可以下载软件来改变解码器软件的工作配置。
应用程序也可以通过此解码器进行下载并发送给连接到此解码器的PC等。在这样的情况中,此解码器用作最终在连接的装置上运行的软件的通信路由器。除了此路由选择功能之外,此解码器也可以用于在选择路由至PC之前将MPEG分组数据变换为例如DSMCC协议(见下面)构造的计算机文件软件。
以前,用于验证应用程序数据的完整性与起源的测量集中在验证MPEG分组流中的表。具体地,在常规系统中,在发送之前对每个单独部分48应用散列函数并将所得到的每个部分的检查值或特征标记存储在发送给此解码器的目录表56的列表中。比较由此解码器随后计算的散列值与存储在用于接收部分的目录中的检查值使接收部分的完整性能够进行验证。
目录40内的数据同样可以进行散列处理以生成用于此目录表40的另一检查值或特征标记。而且,此检查值能利用专用密钥进行加密并存储在此目录表中。只有拥有相应的公用密钥的那些解码器可以鉴别此特征标记。
与这样的常规系统相反,本实施例涉及用于在应用程序的级别上保护与验证在多级数据文件或目标中构造的应用数据的装置,这将从表示在一组DSMCC U-U数据文件60中、在组合的应用程序46构造并封装在一系列MPEG表47内的数据之间关系的图5中更清楚地明白。
在发送之前,这些数据文件组合在应用程序46中并此后利用MPEG压缩器格式化为如上所述包括此MPEG分组流特定的标题49并包括表ID、版本号等的MPEG表或模块47。这些表然后利用MPEG压缩器封装为MPEG分组。如将认识到,在数据文件61中构造的数据与最终的MPEG表47之间可能没有固定的关系。在利用此解码器接收与滤波之后,抛弃这些分组标题并从广播分组的有效负载中重新构造表系列。此后,抛弃这些表标题49并从表47的有效负载中重新构造应用程序46。
用于数据文件的DSMCC格式是特别适用于多媒体网络中并定义用于在客户机用户70、服务器用户71与网络资源管理者72之间通信的一系列消息格式与对话指令的一个标准。参见图6。网络资源管理者72可以认为是用于管理网络内的资源属性的逻辑实体。虽然最初设想用于双向网络通信的前后关系中,但DSM-CC标准的近来实施已集中在其单向广播用途的使用。
客户机与服务器之间的通信利用一系列对话来建立,第一系列消息在用户(客户机70或服务器71)与网络管理者72之间进行交换以配置用于通信的客户机和/或服务器。根据所谓的DSMCC U-N(用户-网络)协议格式化这样的消息。特别定义此协议的一个子集用于数据的广播下载。
一旦已建立通信链路,根据DSMCC U-U(用户-用户)协议随后在客户机70与服务器71之间交换消息。这种类型的一系列消息对应于图5的数据文件60。在DSMCC U-U消息的情况中,在根据BIOP或广播InterOrb协议组合的一系列消息61中构造数据。
每个消息或目标61包括标题62、子标题63与包含数据本身的有效负载64。根据BIOP协议,标题62特别包含消息类型与BIOP版本的指示,而子标题表示目标的类型和利用系统结构定义的其他信息。
DSMCC U-U文件内的数据目标64一般可以定义为三种类型之一目录目标、文件目标和流目标。目录目标定义用于标注包含实际应用数据的一系列相关文件目标的根目录或子目录。流目标可以用于使包含在数据文件中的数据与MPEG分组流自身之间的临时关系能够建立。例如,这可以用于包含在数据文件中并设计为与利用解码器接收和处理的基本视频或音频流同步的交互式应用程序的情况中。如上所述,否则在MPEG分组数据与这些数据文件之间可能没有直接相关性。
不同于其中单个目录只利用单个分级标注一组表的MPEG表,可以以更复杂的分级方式来构造数据文件60。至于存储在PC或服务器中的文件,主或根目录可以涉及一个或多个子目录,这些子目录又涉及第二级的数据文件。甚至可以标注与另一组应用数据相关的第二根目录。
参见图7,表示用于一组数据文件或单元的文件结构的一个示例。以75表示的根目录DIR A0标注以76表示的一组子目录A1-A4。每个子目录76标注一个或多个组的相关目标文件77。为简洁起见,仅示出与子目录A4相关的单个组的目标文件F1、F2等。实际上,可以利用每个子目录A1-A4来标注许多组的目标文件。
在每个目录与子目录内,为链接到那个目录的文件引入一组鉴别步骤。参见根目录75,子标题63包括通过对存储在以76表示的子目录文件A1-A4中的一些或所有数据应用散列算法获得的散列值。所使用的散列算法可以具有任何公知类型,例如,诸如消息消化算法MD5。
在一种实现中,可以单独地对每个相关文件或子目录和存储在此根目录75中的每个子目录76的散列值表在发送之前应用此算法。然而,虽然这样的方案在验证每个子目录的方面能够增加检查分辨度,但此方案在解码器计算相应特征标记所需的处理时间方面可能是相当无效的。
因此,目录79的子标题63最好包括通过对组合的子标题与子目录76的有效负载部分63、64(即,不对标题62)应用MD5散列算法计算的累积散列值79。具体地,包含在子目录76内并涉及目标文件77的层的散列值82包括在此散列计算中。
在图7所示的子目录A4的情况中,此子目录自身涉及以77表示的一组目标文件F1-Fn。在这种情况中,对于目标文件77的组合内容生成累积散列值82,此值包括在得到此散列值79的散列处理中。因此,不可能改变任何目标文件77而不改变子目录76的散列值82,这又将改变目录75的散列值79。
在目前情况中,对于在此目录中标注的所有子目录A1-A4计算组合的散列值。此散列值与从中获取数据的子目录组的识别符一起进行存储。在其他的实施例中,一系列组合或单独的散列值与相应的识别符可以存储在此目录的子标题中。
例如,也与此根目录相关但涉及不同组的数据或可执行代码的第二组子目录也可以一起进行组合,而且为这些子目录计算的累积散列值进行计算并存储在子标题根目录中。与单个目录相关的单个散列值同样可以存储在此根目录的子标题中。
组或各个数据文件的授权当然不阻止此根目录(或,实际上,任何其他文件)也涉及未验证或未散列的数据文件,但在利用此文件的任何操作中必须考虑这样的文件没有进行验证。有关这方面,例如,可能不需要鉴别流目标。
这种情况中散列函数的使用使解码器能验证下载数据文件的完整性或完全性。例如,在传输故障或中断的情况中,有关接收相关文件的累积散列算法的操作将不给出与存储在此根目录中的这些文件的散列值相同的结果。随后将提醒此解码器下载数据中可能存在差错,并且此解码器将重新装载有故障的数据文件。
如将认识到的,在散列算法的情况中,根据公知系列的计算步骤完成此散列值的计算,并因此任何人能为给定组的数据文件生成散列值。因而,通常不可能仅仅通过检查散列值来验证这样的数据文件的起源。
为了克服此问题,使用只有操作者知道的密钥计算用于根目录75的特征标记值。此密钥可以对应于利用诸如数据加密标准或DES算法的对称密钥算法获得的密钥。然而,最好使用诸如Rivest、Shamir与Alteman或RSA算法的专用/公用密钥算法,负责生成这些数据文件的操作者拥有此专用密钥值,由解码器保持公用密钥值。
如图7所示,根目录75包括密钥识别符或幻数(magic number)80将在验证级中与使用操作者的专用密钥生成的计算特征标记值81一起使用的公用密钥识别给此解码器。在这种情况中,通过对目录75内最好包括有效负载数据64和/或累积散列值79的一些或所有数据应用此操作者持有的专用密钥生成此特征标记值81。此解码器随后能使用利用密钥号80识别的相应公用密钥验证此特征标记值81。
在此示例中,不加密目录75中的数据,并且此专用密钥仅用于提供可利用公用密钥验证的特征标记值。在可选择的实施例中,此目录的一些或全部内容可以利用此专用密钥进行加密并然后利用相应的密钥进行解密。
在任何一种情况中,利用保密密钥生成特征标记值或加密代码块使解码器能够验证目录75的完整性与起源和不言而喻地验证此根目录所涉及的文件的完整性与起源。由于相关文件的累积散列值包括在特征标记81的计算中,所以不可能改变这些值而不在验证级上检测到此。由于每个散列值对于一个给定组的数据来说一般是唯一的,因此不可能改变任何相关散列文件的内容而不改变其特征散列值并从而改变所得到的目录的特征标记值。
根目录75、子目录76和目标文件77全部由在此表示为操作者A的此系统的一个广播操作者生成。在这种情况中,这些文件将全部具有公知与可验证的共同起源。
然而,根据将实施的应用程序,同样可以标注与第二操作者B相关的一组数据文件。在这种情况中,子目录76包括以78表示的第二组数据文件的根目录DIR B0的标记。也有可能设想其他级(例如,第一组文件中的第一子目录涉及第二组数据文件的子目录等的文件分级)上来自不同源的数据文件之间的连接。
与用于操作者A的根目录DIR A0一样,以78表示的DIR B0根目录包括与其相关子目录(未示出)有关的一个或多个累积散列代码值84、在验证步骤中使用的识别操作者B的公用密钥的密钥号85和利用相应的操作者专用密钥生成的特征标记值86。
使用此目录的子标题中的散列值84与特征标记值86并且也使用目录78的有效负载数据64计算此目录的散列值。此散列值随后存储在子目录A4中,从而能够完成目录表中数据的完整性的验证。
由于特征标记值86与散列值84包括在散列值83的计算中的事实,所以也可以假定根目录78所涉及的其余数据文件的完整性,这是因为都不可能改变这些相关文件而不改变散列值84,并且更重要地改变此特征标记值86。由于只可由拥有此专用密钥的人计算此特征标记值86,所以可以假定此目录78所涉及的所有文件的完整性,假定对于另外的相关子目录与目标文件计算相应的散列值。
以这种方式,由第二操作者生成的有关可执行程序等的应用数据可以以安全与可靠的方式和与第一操作者相关的应用程序链接。
如将认识到的,许多变化是可能的,以显著减少每一级上散列或标记的数据量。具体地,在用于验证较低级数据文件的目录或子目录中特征标记或散列值的情况中,可以只利用较低级散列值并且不利用其他数据来生成目录特征标记或散列值。
例如,可以使用以76表示的每个A1-A4子目录的组合散列值82、83生成A0目录75中的组合散列值79。由于这些值正好与此子目录的有效负载中的数据一样是唯一的,所以组合的散列值79对于所述子目录将仍然是唯一的。而且,由于仍在计算中使用散列值82而依然可以假定较低级的目标与目录文件77、78的完整性。
同样地,为验证以78表示的B0目录而计算的散列值82可以仅使用特征标记值86来计算。由于这取决于并唯一地与散列值84有关,这些散列值又取决于下一级的文件,所以仍然可以假定目录78所涉及的整个数据文件组的完整性。
权利要求
1.一种用于鉴别在数字传输系统中发送的数据的方法,其中数据被组成为一系列数据文件,所述方法的特征在于包括以下步骤对至少第一文件产生第一鉴别值;将第一鉴别值存储在第二文件中;对所述第二文件产生第二鉴别值;和发送所述第一文件和第二文件;其中所述第二鉴别值是散列值。
2.一种用于鉴别在数字传输系统中发送的数据的装置,其中数据被组成为一系列数据文件,所述装置的特征在于包括用于对至少第一文件产生第一鉴别值的装置;用于将第一鉴别值存储在第二文件中的装置;用于对所述第二文件产生第二鉴别值的装置;和用于发送所述第一文件和第二文件的装置;其中所述第二鉴别值是散列值。
3.一种用于鉴别在数字传输系统中接收到的封装和格式化的数据的方法,其中接收的数据包括第一和第二文件,第二文件包括用于第一文件的一个鉴别值,所述接收的数据还包括为所述第二文件所产生的一个第二鉴别值,所述第二鉴别值是散列值,所述方法的特征在于包括以下步骤将由所述数字传输系统发送的封装与格式化的数据重新装配数据;和通过使用至少所述第二鉴别值来验证所述重新装配的数据。
4.一种用于鉴别在数字传输系统中接收到的封装和格式化的数据的装置,其中接收的数据包括第一和第二文件,第二文件包括用于第一文件的一个鉴别值,所述接收的数据还包括为所述第二文件所产生的一个第二鉴别值,所述第二鉴别值是散列值,所述装置的特征在于包括用于将由所述数字传输系统发送的封装与格式化的数据重新装配数据的装置;和用于通过使用至少所述第二鉴别值来验证所述重新装配的数据的装置。
5.一种包含数据的数字信号,所述数据被组成为一系列数据文件,所述数据文件是被封装和格式化的以在一个分组传输流中被传送,所述数据文件是当被重新装配时,第二数据文件包括从对第一数据文件施加鉴别所获得的一个第一鉴别值,所述数据文件还包括对所述第二数据文件施加鉴别所产生的一个第二鉴别值。
6.一种用于鉴别在数字传输系统中发送的数据的方法,其中数据被组成为一系列数据文件,所述方法的特征在于包括以下步骤对至少第一文件产生第一鉴别值;将第一鉴别值存储在第二文件中;对所述第二文件产生第二鉴别值;将第二鉴别值存储在第三文件中;和发送所述第一文件、第二文件和第三文件。
7.一种用于鉴别在数字传输系统中发送的数据的装置,其中数据被组成为一系列数据文件,所述装置的特征在于包括用于对至少第一文件产生第一鉴别值的装置;用于将第一鉴别值存储在第二文件中的装置;用于对所述第二文件产生第二鉴别值的装置;用于将第二鉴别值存储在第三文件中的装置;和用于发送所述第一文件和第二文件的装置。
8.一种用于鉴别在数字传输系统中接收到的封装和格式化的数据的方法,其中接收的数据包括第一、第二和第三文件,第二文件包括用于第一文件的一个鉴别值,第三文件包括为第二文件所产生的一个第二鉴别值,所述第二鉴别值是散列值,所述方法的特征在于包括以下步骤将由所述数字传输系统发送的封装与格式化的数据重新装配数据;和通过使用至少所述第二鉴别值来验证所述重新装配的数据。
9.一种用于鉴别在数字传输系统中接收到的封装和格式化的数据的装置,其中接收的数据包括第一、第二和第三文件,第二文件包括用于第一文件的一个鉴别值,第三文件包括为第二文件所产生的一个第二鉴别值,所述第二鉴别值是散列值,所述装置的特征在于包括用于将由所述数字传输系统发送的封装与格式化的数据重新装配数据的装置;和用于通过使用至少所述第二鉴别值来验证所述重新装配的数据的装置。
10.一种包含数据的数字信号,所述数据被组成为一系列数据文件,所述数据文件是被封装和格式化的以在一个分组传输流中被传送,所述数据文件是当被重新装配时,第二数据文件包括从对第一数据文件施加鉴别所获得的一个第一鉴别值,和第三数据文件包括对所述第二数据文件施加鉴别所产生的一个第二鉴别值。
全文摘要
鉴别在数字传输系统中发送的数据的一种装置,其特征在于,在发送之前将此数据组成与鉴别为至少一个根目录单元(75)、子目录单元(76)与文件单元(77)的分级,利用鉴别算法作用于文件(77)中的数据并将相关文件鉴别值(82)存储在有关子目录单元(77)中,又利用鉴别算法作用于此文件鉴别值(82)并将相关子目录鉴别值(79)存储在有关根目录中。本发明的其他方面涉及利用第二鉴别值(83)的生成鉴别第二根目录(78)和在封装在传送流的表或部分中之前数据的鉴别。
文档编号H04N7/167GK1901451SQ200610101200
公开日2007年1月24日 申请日期1999年3月25日 优先权日1998年3月25日
发明者J·B·G·M·贝伊奎 申请人:卡纳尔股份有限公司