数字内容分配系统的制作方法

文档序号:7724504阅读:148来源:国知局
专利名称:数字内容分配系统的制作方法
背景技术
本发明涉及用于例如执行有效的内容级加密(例如对MPEG-4比特流加密)的密码协议。
具体地说,本发明涉及产生将内容编码和被配置成一些消息的用密码保护的数字数据的方法,每个消息可由在一个客户机终端上的一个解码器应用解码,所述客户机终端具有一个装配用于解码器应用的每个消息的服务接口,所述方法包括下列步骤从一个机器可读媒体检索一个消息;对所述消息的至少一部分进行加密;以及提供经加密的消息作为输出,其格式使一个服务器服务接口能将消息配置在至少一个包括至少一个头标和一个净荷的分组内,每个净荷包括至少部分消息,至少一个头标包括使客户机上的服务接口能从分组的净荷装配用于解码器应用的每个消息的信息。
本发明还涉及一种能对将内容编码和配置成一些消息这种方法所产生的用密码保护的数据解密的服务器。
本发明也涉及一种产生将内容编码和配置成一些消息的用密码保护的数字数据的系统,每个消息可由在一个客户机终端上的一个解码器应用解码,这个客户机终端具有一个装配用于解码器应用的每个消息的服务接口,所述系统配置成从一个机器可读媒体检索一个消息;对所述消息的至少一部分进行加密;以及提供经加密的消息作为输出,其格式使一个服务器服务接口能将消息配置在至少一个各包括至少一个头标和一个净荷的分组内,每个净荷包括至少部分消息,至少一个头标包括使客户机上的服务接口能从分组的净荷装配解码器应用的每个消息的信息。
本发明还涉及一种从一个服务器通过一个网络向一个或多个客户机终端分配将内容编码和配置成一些消息的数字数据的方法,每个消息可由在一个客户机终端上的一个解码器应用解码,所述方法包括从服务器通过服务器的网络接口和一个网络发送多个数据分组,每个分组包括至少一个头标和一个净荷,每个净荷包括至少一个消息的一部分;将每个消息提供给安装在所述服务器上的具有至少一个在一个协议栈内两个层之间的服务接口的一系列服务接口中的第一服务接口,每个服务接口配置成为使客户机能处理分组的其余部分的分组编码信息添加至少一个分组头标,所述方法还包括发送一些包括至少一个包括使客户机上的一个服务接口能装配解码器应用从这些分组的净荷得出的每个消息的信息的头标的分组。
本发明也涉及一种通过一个网络向一个或多个客户机终端分配将内容编码和配置成一些消息的数字数据的服务器,每个消息可由在一个客户机终端上的一个解码器应用解码,所述服务器包括一个网络接口,用来从服务器通过一个网络发送多个数据分组,每个分组包括至少一个头标和一个净荷,每个净荷包括至少一个消息的一部分,所述服务器还包括具有至少一个在一个协议栈内的两个层之间的服务接口的一系列服务接口,每个服务接口配置成为使客户机能处理分组的其余部分的分组编码信息添加至少一个分组头标,所述服务器配置成发送一些包括至少一个包括使客户机上的一个服务接口能装配解码器应用从这些分组的净荷得出的每个消息的信息的头标的分组。
本发明也涉及一种接收和处理将内容编码和配置成一些消息的数字数据的客户机终端,每个消息可由一个解码器应用解码,所述客户机终端包括一个接收多个数据分组的接口,每个分组包括至少一个头标和一个净荷,所述终端还包括具有至少一个在一个协议栈内的两个层之间的服务接口的一系列服务接口,每个服务接口配置成从分组中删除至少一个分组头标和用在所删除的分组头标内编码的信息处理分组的其余部分,包括一个服务接口,配置成用包括在至少分组的一个头标内的信息装配解码器应用从至少一个分组的净荷得出的消息。
本发明也涉及一种在一个客户机终端内接收和处理将内容编码和配置成一些消息的数字数据的方法,每个消息可由一个解码器应用解码,所述方法包括通过客户机终端的一个接口接收多个数据分组,每个分组包括至少一个头标和一个净荷;将每个分组提供给具有至少一个在一个协议栈内的两个层之间的服务接口的一系列服务接口中的第一服务接口,每个服务接口配置成从分组中删除至少一个分组头标和用在所删除的分组头标内编码的信息处理分组的其余部分,包括一个服务接口,配置成用包括在分组的至少一个头标内的信息装配解码器应用从至少一个分组的净荷得出的消息。
本发明也涉及一种可装入一个计算机和在这个计算机上运行时能为计算机提供这样一个系统、服务器或客户机终端的功能的计算机程序。
本发明最后还涉及一种可装入一个计算机和在这个计算机上运行时能使这个计算机执行上述各种方法中的一种方法的计算机程序。
这样的系统和方法的一些例子可以从例如称为MPEG(活动图像专家组)-4的国际标准ISO/IEC 14496-1中看到。
MPEG和MPEG-4是已经提出的标准,在MPEG的情况下广泛用于分配视频和在稍小程度上用于其他形式的内容。此外,诸如通过因特网等分配数字内容之类的应用已经引起对无论是MPEG、MPEG-4还是任何其他格式的内容加密的要求。
MPEG-4标准规定了一种由一个景物描述和传送流式数据的一些基本流形成基本构块(basic building block)的体系结构。为了分配流式数据,在一些SL分组化的流(SPS)内进行传送。这些分组含有按访问单元和辅助信息(例如用来定时和标记访问单元)划分的基本流数据。定时模型取决于同步由一个或多个基本流传送的视听数据的时钟基准和时间戳。时钟的概念及与它关联的时钟基准用来将时间的概念传送给接收终端。时间戳用来指示接收终端使用在解码缓存器内的访问单元的精确时刻。对象时基(OTB)定义了一个给定的数据流的时间的概念。这个OTB的分辨率可以按照应用需要来选择,或者如由一个概况所定义。发送端插入一个编码数据流的所有时间戳都参照这个时基。一个数据流的OTB在接收终端通过在这个流的SL分组头标内的对象时钟基准(OCR)时间戳或者通过基本流的指示得知,这个对象描述符流从基本流中继承了时基。
对象描述构架包括一组描述符,这组描述符可以标识、描述基本流,以及将基本流正确地相互关联和将基本流与在景物描述中所用的视听对象正确关联。对象描述符是一些描述符的集合,描述一个或多个与这个景物内的单个节点关联的基本流。在一个对象描述符内的一个基本流描述符标识了一个单独的基本流。每个基本流描述符含有初始化和配置基本流的解码过程的必要信息以及知识产权的标识。知识产权管理和保护(IPMP)信息通过作为对象描述符流的一部分的IPMP描述符和通过IPMP流(承载时变IPMP信息特别是内容加密密钥的基本流)传送。密钥通过适当的IPMP流描述符与内容或其他流关联。这些密钥必须与内容流同步。现有的MPEG-4模型用于延迟和同步管理。因此,在接收终端内的解密应用必须适当地管理时间戳。
MPEG-4比特流语法以它当前形式并不提供在加密的内容比特流的一些部分在传输期间丢失的情况下对解密过程的再同步的明确支持。由于MPEG-4没有规定传输层,因此不可能应用基本传输协议的特性进行同步。MPEG-4媒体也可以在本地重放,在这种情况下没有涉及传送。在易于出错的环境内,丢失单个比特实际上会破坏这个帧的其余部分。有许多密码和所关联的模式不能执行自同步,但是在许多评定标准下是非常有吸引力的。当前,这些必须都排除在外,就只因为在数据丢失的情况下没有支持解密过程的同步扩展。
发明概要本发明提供了一种产生将内容编码的用密码保护的数字数据和分配这种数字数据的方法和系统,以及提供了一种接收和处理上述这种数字数据的客户机终端和方法,从而实现了一种内容得到充分保护防止越权访问和差错恢复得到改善的数据分配系统。
本发明通过提供一种产生将内容编码和被配置成一些消息的用密码保护的数字数据的方法达到这个目的,每个消息可由在一个具有一个服务接口的客户机终端上的解码器应用解码,由这个服务接口装配用于解码器应用的每个消息,这种方法包括下列步骤从一个机器可读媒体检索一个消息;对所述消息的至少一部分进行加密;以及提供经加密的消息作为输出,其格式使一个服务器服务接口能将消息配置成至少一个包括至少一个头标和一个净荷的分组,每个净荷包括这个消息的至少一部分,至少一个头标包括使在客户机上的服务接口能从这些分组的净荷装配用于解码器应用的每个消息的信息,其中所述方法包括将每个消息分入第一消息段和至少一个另外消息段,其中所述至少一个消息段加密成可独立于其他消息段解密的,以及其中经加密的消息通过为至少所述另外消息段添加一个将一个消息段与一个相邻的消息段分开的、包括显式同步信息的再同步标记得到装配。
一个消息是从将内容编码的编码器程序向客户机上的配置成处理各个消息对内容进行解码的解码器应用发送的数据的单位。内容可以例如是视频、音频或文本。服务接口是一个实现协议栈中的一个协议的一部分,提供在协议栈的一个层的应用可以利用在协议栈的一个不同的层的协议的功能交换信息的通信服务。最好,这是一个网络协议栈,例如遵从OSI网络体系结构。然而,服务接口还可以提供在应用程序与系统的操作系统之间的接口,例如将消息转换成为操作系统的文件系统定义的分组。所谓“独立解密”是指每个经加密的消息段可以在不知道另一个消息段的密文或明文的情况下解密。在本申请的语境内,头标是一段在一个分组的净荷前或后的将描述有关分组或它的净荷的某些情况的信息编码的数据。分组是一个承载足够的需从一个源传送给一个宿(目的地)的信息的自足独立实体,不依赖于这个源与宿之间的前一些交换和它们之间的接口。
由于每个消息段是独立可解密的,而且由于再同步标记提供相邻经加密的消息段之间的边界的明确指示,因此在一个段内的差错或者数据丢失不会影响客户机对其他消息段解密的能力。也就是说,缺少前面所有的数据块或者部分数据块在客户机内并不影响对当前数据块解密的能力。通过调整消息段的长度也就是调整再同步标记的个数,可以提供或多或少的弹性。此外,还可以只对一个消息的少数几个段加密,从而可以减少解密处理时间和降低对客户机能力的要求。
应注意的是,MPEG-4比特流语法定义了再同步标记(ResyncMarker)。再同步标记由于增多了在检测到有残留差错后解码器与比特流之间的再同步机会从而提供了较好的差错恢复。通常,在差错前的同步点与建立再同步的点之间的数据是丢弃掉的。这些标记保证对于未加密的MPEG-4有效内容是唯一的。虽然这种结构适用于明文内容,但不大适合编码后再加密的内容。看来无论对整个消息使用选择加密还是蛮力加密,情况都是这样。所以这样是因为虽然有效明文内容不可能与一个再同步标记竞争(不会有象一个再同步标记的情况),但不适用于加密的数据。更重要的是,MPEG-4标准并没有揭示将至少一个消息段加密成可独立于其他消息段解密,因此在数据丢失的情况下,需要用复杂和通常不适当的差错校正技术重新构成完整的消息再由客户机解密。
在本发明的一个优选实施例中,消息段用至少一个具有循环值的密钥加密。
因此,提供了得到改善的对所分配的内容进行密码分析的安全性。
可取的是,每个再同步标记还包括一个唯一序号。
序号的使用涉及围绕允许随机访问加密的媒体流的所有问题。它提供了一种密码构架,能使循环对话密钥与所关联的媒体同步而不将状态依赖性强加于内容分配系统内的发送方或接收方。
MPEG-4比特流语法以它当前形式并不提供在用户执行随机查看加密的内容比特流的情况下对解密过程的再同步的显式支持。在内容级,MPEG-4没有规定在解密期间可以依赖的任何可靠的继续性或顺序信息。用同步层信息是有问题的,因为传统上所有的SL信息在解密前就删掉了。保留SL信息传送给IPMP工具对于大多数终端实现来说会有显著的障碍。定时信息不能用于同步,因为DTS/CTS可能从获得内容的时间改变为使用内容的时间。
传统上,媒体格式已经使用显式顺序信息和/或一致的分组长度,以便有助于加密/解密处理。MPEG-4媒体也可以在本地重放,在这种情况下没有涉及传送。即使可以规定一个合乎规范的向传送层顺序信息的映射,这也不会有多少帮助,因为在得到媒体的时候这个信息是不知道的。
采用一个唯一序号可以有效管理在密钥循环期间的跃迁。一个序号允许封装和传送来自一个媒体服务器的内容,同时以一种可靠的方式(诸如在MPEG-2上承载的媒体或者存储在DVD/CD-ROM上提前在IF(因特网协议)网络上承载的IPMP之类)独立地传送来自这个服务器的密钥。存在唯一顺序信息还允许在传送任何媒体前发送整个密钥流。
虽然MPFG-4 IPMP消息流提供带内传送循环对话密钥的能力,但MPEG-4标准没有提供可靠的机制使传送一个新的密钥可以与一个特定的媒体访问单元有关。
媒体时间(DTS/CTS)不能用于这个用途,因为这可以从获得内容的时间改变为使用内容的时间。
此外,媒体流和承载解密密钥的IPMP消息流可能会遭到很不同的传送抖动、分组丢失或网络拥塞,而用时间戳的严格同步在IPMP消息流是从一个不同的服务器发送给客户机的情况下几乎是不可能达到的。由于在媒体净荷与密钥之间不存在关联,一个IPMP AU的延迟会导致用一个不正确的密钥解密。即使每个密钥周期只有一个帧的同步丢失也是完全不能接受的。
按照本发明设计的方法的一个优选实施例还包括添加一个封装每个经加密的消息和含有一个唯一序号的封装符(wrapper)。
一个封装符是安置在消息前或前后的数据,提供有关消息的信息,从预定接收方之外的任何人看来也可以封装消息。一个封装符可以包括一个在所封装的数据前的头标和/或一个在它后的尾标。
通过使用带一个唯一序号的封装符,顺序信息也归于消息内的第一消息段,从而不必一定要带有一个具有显式同步信息的再同步标记。
最好,每个唯一序号以自描述格式提供。
这样,这些序号可以具有可变长度,减少所添加的数据。
按照本发明设计的方法的一个优选实施例还包括产生至少一个密钥消息,每个密钥消息承载将至少一个添加给一个消息的唯一序号与一个使这个消息的至少一些部分可以解密的密钥值链接的数据。
这个信息可用来将密钥数据与任何粒度的访问单元数据关联,无论接收终端时钟分辨率如何。
按照本发明设计的方法的一个有益实施例还包括通过采用一个密码以用反馈的密码模式对消息段加密,这个密码在每个消息段的开始处重新初始化。
使用反馈亦称链接提供了附加的安全性。它保证相同的明文块不会加密成相同的密文块。它还提供了预防块重放破译的保护。通过在每个消息段开始时重新初始化密码,保证了每个被加密的消息段可以独立解密。可以用同一个乘积或对话密钥对多于一个的消息加密,而不会以牺牲任何安全性。可以假设使用显式的或隐含的IV,以免深度使用密码。
Schneier,B.在“实用密码技术”(“AppliedCryptography”)中描述了若干密码系统,在不同程度上成功地考虑了随机访问的问题。以非链接模式工作的密码和模式满足在有损环境内不会添加开销或执行不好的准则。对于当前的加密应用,电子码本模式(ECS)具有一些缺点,因为数据模式不是隐藏的(相同的密文块意味着相同的明文块)。
在最后提到的实施例的一个优选变型中,在将一个另外消息段与另一个消息段分开的一个再同步标记内的一个唯一序号用作对这个另外消息段加密的初始化向量。
因此,在数据丢失或随机查看媒体的情况下可以同步解密过程。
诸如ECB+OFB(电子码本模式+输出反馈模式)和CBC(密码块链接)之类的产生隐含的IV的技术在有损的环境中不是增加开销就是执行得不好。根据消息的一些特性产生一个隐含的IV(初始化向量)似乎是有问题的,因为IV数据的一个比特差错或者数据丢失会导致所有明文的错乱。有许多加密和关联的模式不能执行自同步,但是在许多评定标准下是非常有吸引力的。当前,这些模式必须都排除在外,就只因为没有支持将解密过程的同步扩展到数据丢失或随机查看媒体的情况。虽然一个显式序号单独并不提供在序号内有一个比特差错的情况下任何预防完全的丢失明文的保护,但它确实有助于纠错。它与再同步标记一起用来限制由序号内它们自己的比特差错引起的危害。
内容在复杂性和价值上相差很大。这个解决方案允许支持横贯整个频谱的加密。这个可能需要提供安全性可接受的效率非常高的轻算法。可加性流密码是理想的解决方法,但是要求有隐含的或显式的顺序信息,而本发明的这个实施例就提供显式的顺序信息。
按照本发明的另一个方面,提供了一种使通过按照本发明设计的一种方法产生的将内容编码和被配置成一些消息的用密码保护的数据可以解密的服务器,其中所述服务器配置成传送至少一个密钥消息,每个密钥消息承载响应通过一个网络连接到服务器上的一个客户机终端的请求将至少一个添加给一个消息的唯一序号与一个使这个消息的至少一些部分可以解密的密钥值链接的数据。
因此,密钥消息从一个独立的服务器分配,从而可以将分配加密的内容的功能与分配使内容解密的密钥消息流的功能分开。这还允许一个独立的实体负责对内容解密进行收费和控制。
按照本发明的另一个方面,提供了一种产生将内容编码和配置成一些消息的用密码保护的数字数据的系统,每个消息可由在一个具有一个服务接口的客户机终端上的一个解码器应用解码以装配用于解码器应用的每个消息,所述系统配置成从一个机器可读媒体检索一个消息;对所述消息的至少一部分进行加密;以及提供经加密的消息作为输出,其格式使一个服务器服务接口能将消息配置成至少一个包括至少一个头标和一个净荷的分组,每个净荷包括这个消息的至少一部分,至少一个头标包括使在客户机上的服务接口能装配解码器应用从这些分组的净荷得出的每个消息的消息,其中所述系统是配置成将每个消息分成第一消息段和至少一个另外消息段,将其中至少一个消息段加密成可独立于其他消息段解密的,以及通过为至少所述另外消息段添加一个将一个消息段与一个相邻的消息段分开的包括一个显式同步顺序的再同步标记来装配加密的消息。
这种系统本质上配置成实现上面刚描述的本发明的方法的各个实施例,从而提供相应的有益效果。
按照本发明的另一个方面,提供了一种从一个服务器通过一个网络向一个或多个客户机分配将内容编码和被配置成一些消息的数字数据的方法,每个消息可由在一个客户机终端上的一个解码器应用解码,所述方法包括下列步骤从服务器通过服务器的网络接口和一个网络发送多个数据分组,每个分组包括至少一个头标和一个净荷,每个净荷包括至少一个消息的一部分;将每个消息提供给安装在服务器上的具有至少一个在一个协议栈内的两个层之间的服务接口的一系列服务接口中的第一服务接口,每个服务接口配置成为使客户机能处理分组的其余部分的分组编码信息添加至少一个分组头标,所述方法还包括发送一些包括至少一个包括使客户机上的一个服务接口能装配解码器应用从这些分组的净荷得出的每个消息的信息的头标的分组,其中所发送的分组具有一个包括第一段和至少一个另外段的分组净荷,每个另外段包括一个使一个消息段与一个相邻的消息段分开的、包括一个显式同步顺序的再同步标记,至少其中一个消息段加密成可独立于其他消息段解密的。
因此,提供了一种分配诸如可以用按照本发明产生将内容编码的用密码保护的数字数据的方法的一个实施例产生的内容的方法。它对于提供抗网络引入的差错和抖动的弹性特别有用。
按照本发明的另一个方面,提供了一种从一个服务器通过一个网络向一个或多个客户机分配将内容编码和被配置成一些消息的数字数据的服务器,每个消息可由在一个客户机终端上的一个解码器应用解码,所述服务器包括一个网络接口,用来通过一个网络发送来自服务器的多个数据分组,每个分组包括至少一个头标和一个净荷,每个净荷包括一个消息的至少一部分,所述服务器还包括具有至少一个在一个协议栈的两个层之间的服务接口的一系列服务接口,每个服务接口配置成为使客户机能处理这个分组的其余部分的分组编码信息添加至少一个分组头标,所述服务器配置成发送一些包括至少一个包括使客户机上的一个服务接口能装配解码器应用从这些分组的净荷得出的每个消息的信息的头标的分组,其中所述服务器配置成分配一些具有一个包括第一段和至少一个另外段的分组净荷的分组,每个另外段包括一个使一个消息段与一个相邻的消息段分开的包括一个显式同步顺序的再同步标记,其中至少一个消息段加密成可独立于其他消息段解密的。
这种服务器对于实现按照本发明设计的分配内容的方法是有用的。
按照本发明的另一个方面,提供了一种接收和处理将内容编码和被配置成一些消息的数字数据的客户机终端,每个消息可由一个解码器应用解码,所述客户机终端包括
一个接口,用来接收多个数据分组,每个分组包括至少一个头标和一个净荷,所述终端还包括具有至少一个在一个协议栈内的两个层之间的服务接口的一系列服务接口,每个服务接口配置成从分组中删除至少一个分组头标和用在所删除的分组头标内编码的信息处理分组的其余部分,包括一个服务接口,配置成用包括在分组的至少一个头标内的信息装配解码器应用从至少一个分组的净荷得出的消息,其中所述终端配置成接收一些各包括第一段和至少一个另外段的分组净荷,每个另外段包括一个使一个消息段与一个相邻的消息段分开的包括一个显式同步顺序的再同步标记,以便通过确定再同步标记的位置提取每个段,对每个加密的消息段进行独立于其他消息段的解密,以及将每个经解密的消息段插入原提取这个段的位置。
如果在传输期间在加密的消息内引入了一些差错,这种客户机终端就能恢复这个消息的大部分。在其中一个消息段内的一个差错并不影响所有其他消息段解密成原来的明文消息段,因为这种客户机系统能确定每个独立的消息段的位置对它进行独立于其他消息段的解密,也就是说不用知道其他消息段的密文或明文。
在一个优选实施例中,这种终端配置成通过为具有一些插入的经解密的消息段的净荷添加每个分组至少一个头标来重新装配解密后每个接收分组的至少一部分,再将它传给服务接口。
因此,存在再同步标记使一个分组的净荷可以在由客户系统上实现协议栈(例如可以是一个网络协议栈)的接口处理前得到解密。这使效率提高,而且承认所用的具体协议栈的独立性。
最好,客户机终端还包括一个网络接口装置,用来通过一个网络从一个服务器接收数据分组,其中所添加的头标包括一个包括一个网络地址的头标,将客户机终端标识为分组的预定接收方。
在这个变型中,解密完全“在协议栈下”执行。因此提供了一种普遍可用的条件访问系统,无论终端和网络协议的具体类型是什么。
按照本发明的另一个方面,提供了一种在一个客户机终端内接收和处理将内容编码和被配置成一些消息的方法,每个消息可由一个解码器应用解码,所述方法包括下列步骤通过客户机终端的一个接口接收多个数据分组,每个分组包括至少一个头标和一个净荷;将每个分组提供给具有至少一个在一个协议栈内的两个层之间的服务接口的一系列服务接口中的第一服务接口,每个服务接口配置成从分组中删除至少一个分组头标和用在所删除的分组头标内编码的信息处理分组的其余部分,包括一个服务接口,配置成用包括在分组的至少一个头标内的信息装配解码器应用从至少一个分组的净荷得出的消息,其中所接收的分组净荷包括第一段和至少一个另外段,每个另外段包括一个将一个消息段与一个相邻的消息段分开的包括一个显式同步顺序的再同步标记,其中每个段通过确定再同步标记的位置提取,以及其中每个加密的消息段独立于其他消息段解密,每个经解密的消息段插入这个段的原提取位置。
这种方法是由按照本发明设计的客户机终端实现的方法,在差错恢复方面具有基本相同的优点。
按照本发明的另一个方面,提供了一种可装入计算机的计算机程序,所述计算机程序在计算机上运行时能为计算机提供一个按照本发明设计的系统、一个按照本发明设计的服务器或一个按照本发明设计的客户机终端的功能。
按照本发明的最后一个方面,提供了一种可装入计算机的计算机程序,所述计算机程序在计算机上运行时能使计算机执行一种按照本发明设计的方法。
附图简要说明下面将结合附图更为详细地对本发明进行说明,在这些附图中

图1为按照本发明的一个实施例设计的数据分配系统的示意图;图2为按照本发明的一个实施例设计的加密过程的示意图3为按照本发明的一个实施例设计的解密过程的示意图;图4为按照本发明的一个实施例设计的一个MPEG-4 AU在加密和添加了一个封装符和一些再同步标记后的格式的示意图;图5A和5B为例示按照本发明的一个实施例,在数据丢失的情况下用再同步标记进行再同步的情况的示意图;图6为一个计算机系统示例形式的机器的示意图,在这个机器内可以执行一组指令,使这个机器执行在这里讨论的任何一种方法;以及图7为一个用来通过在图1所示数据分配系统内的一个网络分配一个消息的部分或全部的数据分组的示意图。
详细说明下面将对一个内容级加密协议的方法和系统进行说明。在以下说明中,为了解释,给出了许多细节,以便透彻理解本发明。然而,对于熟悉该技术领域的人员来说,显然本发明可以在忽略这些细节的情况下实现。
在图1中,内容加密系统1用来产生将内容编码的用密码保护的数据。数据可以是在同一个系统1上生成的,也可以是从一个独立的源接收的。在任何情况下,数据配置成一些消息。每个消息是可由一个客户机系统2上的解码器应用解码的。所谓“消息”是指编码器应用与解码器应用进行数据交换的数据单元。在整个说明都采用的一个例子中,每个用密码保护的消息包括一个加密的MPEG-4访问单元(AU)3(见图4、5A和5B)。一个访问单元是一个基本流内的数据的一个单独可访问部分。一个基本流是在压缩层(在基本流的编码表示和它的解码表示之间转换的包括解码器的层)上从单个源实体到单个目标实体的单媒体数据连续流。然而要注意的是,本发明也可以用于其他类型的消息,例如MPEG-2基本流分组。
在一个实施例中,由内容加密系统1产生的经编码、加密的消息传送给一个通过网络接口连接到网络5上的第一分配服务器4(图1),存储在那里。客户机系统2可以通过从服务器4下载来访问加密的内容。在加密的访问单元3下载时,它们封装在一些各包括一个可配置的头标和一个净荷的同步层分组(SL分组)内。净荷可以包括一个完全的访问单元或一个部分的访问单元。这些SL分组接着映射为在网络5内使用的另一种分组格式,例如RTP、MPEG-2传输流分组或UDP。当然,内容加密系统1和第一分配服务器4合并到一个单独的服务器连接到网络5上在本发明的范围内也是可行的。
在另一个实施例中,由内容加密系统1产生的经编码、加密的消息存储在一个诸如CD-ROM、DVD-ROM或其它适当媒体之类的内容承载媒体6上。盘驱动器7用来将经编码、加密的消息从内容承载媒体6装入客户机系统2。在这个实施例中,信息按访问单元存储在各文件内,格式是使客户机系统2上的一个适当接口可以检索和装配这些访问单元(例如装配成一些SL分组)。此信息也允许客户机系统2将这些访问单元在从文件读出后传送给适当解码器缓存器,再从那里传送给正确的解码器应用。
在这两个实施例中,加密的访问单元存储在MP4文件内。MP4文件通常有着.mp4扩展名。MP4文件格式设计成含有呈便于交换、管理、编辑和表示媒体的灵活的可扩展格式的MPEG-4表示的媒体信息。这种表示可以对于含有这种表示的系统是“本地的(local)”,也可以是通过一个网络或其他流传送机构的。文件格式设计成不取决于任何具体的传送协议,但通常能高效率支持传送。这种设计基于Apple Computer公司的QuickTime格式。
可取的是,内容加密系统1用至少一个具有一个循环密钥值的密钥(乘积或对话密钥)对这些访问单元的段加密。内容可以用单个乘积密钥或者一个时变对话密钥序列加密,这些时变对话密钥再用乘积密钥加密。对于视频、音频和任何关联数据(内容)可以采用同样的加密方案。也就是说,本发明提供MPEG-4媒体和数据的内容级加密。下面给出访问单元加密方式的一些例子。在这里所说明的优选实施例中,采用了一种对称算法,即解密密钥与加密密钥相同。这种方案满足在帧内和帧间两级进行选择加密的需要。(选择加密可能是所希望的一个例子可能是复杂性小的装置和价值低的内容,可以只保证I帧的加密,而其他应用可能要求只加密纹理或运动向量信息。)按照本发明,为消息段添加唯一序号。所用的加密例如使客户机系统2可以对每个消息段独立于其他消息段解密,即不用知道包含在其他消息段内的数据。内容加密系统1产生至少一个密钥消息,每个密钥消息承载将至少一个添加给一个消息的唯一序号与一个使该消息的至少一些部分可以解密的密钥值链接的数据。
这些密钥消息可取地也形成一个MPEG-4基本流,即形成一些访问单元,由一个独立的基本流标识符(ES_ID)标识。在MPEG-4标准的术语中,这些消息被称为IPMP(知识产权管理和保护)消息。
在一个实施例中,IPMP消息从第一分配服务器4流出。在另一个实施例中,IPMP消息流由客户机系统2从第二分配服务器8下载。或者,也可以是将IPMP消息包括在单独分配的密钥流承载媒体9上的一个单独的文件内,承载媒体9例如为CD-ROM、DVD-ROM、闪存装置、智能卡等。
在一个实施例中,密钥值是分开提供的。在这种情况下,密钥消息含有与序号链接的指针,使密钥可以由客户机系统2检索。例如,密钥可以存储在密钥流承载媒体9上,而IPMP消息流由第二分配服务器8提供。
在另一个实施例中,密钥消息还含有密钥值。IPMP消息流内的不透明数据可以用以下方式使密钥与媒体关联<keyl ES=l seqNum.begin=l seqNum.end=54>
<key2 ES=l seqNum.begin=54 seqNum.end=169>
<key3 ES=1 seqNum.begin=169 seqNum.end=289>
承载一个循环对话密钥的访问单元的DTS(传送时间戳访问单元的标称解码时间的指示)可以提前到使它在相应的加密的媒体AU3(它承载将内容编码的数据)前到达。建议IPMP消息流的DTS提前一个密钥循环周期。这将有充裕的时间应付网络抖动和客户机系统2上的任何预处理。
上面给出的信息于是可以用来将密钥数据与任何粒度的内容访问单元关联,与接收终端的时钟分辨率无关。
如上面所提到的,存在唯一顺序信息还允许在传送任何媒体前发送整个密钥流。在这种情况下,媒体访问单元3的DTS是不相关的,同步纯粹根据IPMP序号的值执行。
概述本发明可以应用于希望用循环密钥对数据(例如,MPEG-4数据)执行有效的内容级加密的所有多媒体传送系统。这包括诸如通过IP网络流式传输以及通过MPEG-2传送设施传送MPEG-4或者可以用来传送MPEG-4内容的任何其他易出错或无错传送机制之类的各种不同类环境。
如上面所指出的那样,本发明的一个实施例是基于一种保护MPEG-4内容的构架,它采用两个不同结构-MPEG-4访问单元的安全封装符;以及-加密再同步标记。
下面将详细讨论这两个结构。
详细说明参见附图4,内容加密系统1从一个机器可读媒体读取一个原始访问单元10。在这个例子中,原始访问单元10分成三段,独立加密,产生加密的访问单元3,它包括第一加密的AU段11、第二加密的AU段12和第三加密的AU段13。第一再同步标记14添加给第二加密的AU段12,将它与第一加密AU段11分开。第二再同步标记15添加给第三加密AU段13,将它与第二加密AU段12分开。头标16是预先考虑给加密的AU3的。
1.安全封装符在本发明的一个示范性的实施例中,本发明的安全封装符可以看作一个密码封套,为任何“封装的”MPEG-4访问单元(视频帧,音频样本,数据单元)提供安全性。发行方/服务方/持有方通过将各个AU 3封装在这些封套内来保护内容。内容于是只可以由具有适当密钥/权利的最终用户打开。各种封装符是相当普通的,出现于许多密码协议。因此,本发明可以用一种通用的封装符工作。
在一个示范性的实施例中,封装符可以明确规定为用于MPEG-4环境。此外,本发明通过还为循环密钥提供能力,可以利用封装符的特性(序号等)完成“双重任务”,并执行随机访问。因此,本发明可以通过采取许多广泛使用的协议和添加一些专用结构(诸如再同步标记14、15)以通过将这些专用结构一起放在一个构架内并以某种方式使用它们产生一个解决方案来操作。
下面所示的(和在图4中示意性地示出的)头标16是预先有意加给每个加密的AU3的0 1 2 3 4 56 7
头标包括以下字段版本-2比特的版本字段17。对于第一次修订设置为零。
E-比特标志18,标明净荷是加密的(1)还是未加密的(0)。注意,只有净荷部分加密。
A-比特标志19,标明存在(1)或不存在(0)验证码字段。如果存在,验证码与整个结构--封装符16和AU 3--有关。
CRM-比特标志20,标明在AU 3内存在(1)或不存在(0)密码再同步标记14、15。
保留-三个保留比特的字段21,设置为零。
序号-一个唯一序号,在序号字段22内承载。产生序号的方法认为是超出本文件的范围。值可以是单调增大,因为Hamming距离破坏在计数模式并不会对AES有显著的威胁。这个字段22的长度不是预置的,因为它采用自描述格式。每个字节的低位七个比特用来承载序号。每个字节的高位比特如果置位,就表明还存在另一个字节,而最后一个字节的最高有效位(MSB)设置为零。作为一个例子,值350将表示为11010111 00000010验证码-一个可选的字段(图4中未示出),承载一个自描述验证码。构架对于要用的验证编码方案是不可知的,但是假设键控散列(keyed hash,HMAC)会是最适合的。数字签名满足要求,但是可以认为当前这些方案在AU级执行太不经济。注意,验证的是整个结构--头标16+AU 3。
净荷-原始的AU 10或者加密的AU 3。如果使用密码再同步标记14和15,加密的AU 3就要比原始的AU 10大。
2.密码再同步标记为了实现密码再同步,标记14、15分别承载一些唯一和显式的同步信息23、24,使密码在数据丢失的情况下可以被“复位”。
下面是一个在加密域内执行很好的密码再同步标记。这个标记是字节对准的,包括16个零,后面是一个可变长度的自描述顺序计数0000 0000 0000 0000 XXXX XXXX在应用中,可以在一个AU 3内插入多个密码再同步标记14、15。标记14、15在AU 3内的位置是容易定位的,因此保证是唯一的。仍然会有很小的统计概率导致冲突,因为一个给定的明文/密钥组合可以产生具有形式为0000 0000 0000 0000的密文。尽管发生这种情况的可能性非常小,但这种标记竞争的可能性还是可以通过利用转义码完全消除。在这样一个实施例中,通过以与C语言转义码类似的方式“转义”受竞争的再同步标记,指出存在受竞争的再同步标记。
对于一个易于出错的环境中的典型应用,可以在一个给定的AU3内安插若干个再同步标记14、15。每个再同步标记14、15主体各含有一个唯一的计数25、26,具有与安全封装符内的序号相同的格式和用途。建议计数25、26从在头标16内承载的初始序号单调递增。
损坏或丢失包含在头标16内的序号不会导致丢失整个加密的AU3。再同步标记内的序号最好是绝对的,而不是规定为偏离在头标16内所规定的顺序计数的偏移量。同样重要的是保证在下一个AU的头标内的序号的值要大于当前的AU 3内使用的最后一个序号,以免深度使用密码。
下面是一个值为351的再同步标记的例子0000 0000 0000 0000 1000 0010 0101 1111如果数据丢失,通过确定下一个再同步标记的位置和用标记本体内的顺序值作为IV的输入重新启动密码就可以达到同步。
实现1.加密图2为按照本发明的一个优选实施例设计的加密过程的示意图。计数27由掺假(salting)密钥28、序号29和块标30形成。用一个具有循环值的密钥32产生加密的计数31。加密的计数与一个未加密的AU数据块33异或(XOR)后产生一个加密的AU数据块34。
AES/Rijndael算法已经选来用于媒体加密。密码以计数模式运行,利用了在媒体内承载的显式计数(序号和密码再同步标记)。
Rijndael算法被选为用于数据加密的新的联邦信息处理标准(FIPS),准备代替旧的DES和Triple DES标准。
在选择过程期间AES算法已经受了大量的密码分析。投向AES的分析力度可与DES相比。普遍接受的是,众所周知的破译方法是穷举搜索密钥空间。
AES的一些亮点是-免版税和不分类-可供国际出口使用-允许可变的128、192和256密钥和块长度。密钥/块长度的所有九个组合都是可行的。
-硬件和软件实现在速度上比DES改进很大在20MHz的8051上为8.416kB/S在200MHZ的Pentium上为8.8MB/s这些数字是针对ECB模式而言的。计数模式只需要一个附加的XOR运算,因此所增加的开销可以忽略。
计数模式出自ATM网高速加密的需要,要求将加密算法并行化。
计数模式加密通过对一个单调递增的计数27施加一个加密函数进行操作,产生一个一次性的填充(pad)。再将这个填充与明文异或。解密操作是相同的。
计数模式要求发送方和接收方除了共享通常的密钥32外还要共享一个计数。注意,计数27不需要是保密的。
对于加密Ci=Pi XOR E(计数)对于解密Pi=Ci XOR E(计数)其中E()为块密码的加密函数。
Ci为密文的第i个块。
Pi为明文的第i个块。
极为重要的是,对于同一个密钥不再用相同的计数值,因为破译者能因此将两个密码块异或而得到两个相应的明文块的异或。
计数模式的优点是1.软件效率由于密钥流的产生不取决于消息,因此在有些环境下可以使用预处理。填充可以在一些备用周期内计算,甚至在媒体可用前计算。在媒体可用时,简单地将它与填充异或。这可以在一个现代的处理器上得到数十个Gb/s的吞吐量。
2.硬件效率计数模式是完全可并行化的。块C1、C2...Cn可以同时都得到解密。
3.随机访问没有链接,因此对块Ci的解密不依赖于块Ci-l。
4.1比特的差错扩展 密文的差错被限制在明文内的相应比特。对于在有损环境内的流式视频应用来说这是一个高度合乎要求的性质。
5.复杂性小 加密和解密两个过程都取决于加密函数E()。这在密码D()=E()-1的反方向与“正”方向差别很大时是一个重要的准则。对于Rijndael和许多其他块密码来说就是这种情况。这有利于极少占用硬件和软件的解决方法。
6.安全性与基本的块密码同样安全。
7.密文没有增长除加了显式再同步标记,密文并没有增长。
这种密码具有已知的抗一组相当的破译方法的密码强度,而且受到了世界密码界的广泛分析,因此被普遍采用。这种密码本身几乎是通用的,为NIST(国家标准和技术研究所)接受。这种密码支持至少为128比特的密钥长度。可伸缩性是很重要的,因为理想上同样的密码应该能够参量化,以保护在价值上可能差别很大的内容,从3分钟的视频剪辑到好莱坞的惊人制作。密钥长度超过128比特对于一些应用来说可能过分;支持较长的密钥可以认为是一个优点。采用单一的参量化算法还预示着规模经济,有利于硅片供应商。本发明没有采用隐式密码或众所周知的处于隐式模式的密码。这种密码系统是自同步的,提供随机访问或搜索能力,而且可以从数据丢失的情况下恢复。虽然这些是不同的情况,但实际上它们取决于同样的准则短缺前面所有或部分数据块并不影响对当前数据块解密的能力。因此,可以假设对于需解密的数据可利用可靠的(显式或隐含的)继续性信息。这种密码系统提供了良好的差错传播特性。单比特差错扩展(密文内的一个比特差错只引起明文内的相应比特有差错)是非常重要的。没有应用具有同一个块、多个块或无限个块的差错扩展特性的方案。这种密码在许多计算环境的硬件和软件中提供了良好的性能。密钥建立时间、密钥敏捷性和并行性都是重要的。算法的选择反映了一种“在每一点上安全”的策略,其中为提高效率和降低复杂性作了一些可以接受的安全让步。这种密码系统提供了小的数据扩展。所得到的密文的长度与明文的长度相同或者接近,任何附加的“安全头标”的长度保持为最小。可以用同一个乘积或对话密钥对多于一个的消息加密,而不需要以任何方式牺牲安全性。
2.解密图3为按照本发明的一个实施例设计的解密过程(不具有加密/解密过程的对称性)的示意图。
在本发明的一个示范性的实施例中解密如下进行解密引擎检验AU 3的封装符内的加密标志18。如果标志18没有置位,而且没有采用验证,就可以简单地删除封装符,将原始的AU3传送给解码器。
如果AU 3是加密的,就提取封装符内的序号,用来产生计数27。
计数块长度与所选的AES块长度相同。这个要求是由于计数27是输入给块密码的。这个途径是可扩展的,因为在规定的是一个较大的AES块长度情况下可比较地容易将计数27填充到更大的长度。
对于本文来说,将假设AES块长度为128比特
掺假密钥28是可选的,但是应指出的是,缺少掺假密钥28在用同一个密钥32对多个比特流加密的情况下会导致安全性的完全崩溃。(例如,如果音频和视频用同样的乘积和对话密钥加密,就用一个或多个掺假密钥28来防止深度使用密码。)掺假密钥28的值不必是保密的。
32比特的块标30是在一个单独的AU3内的块计数。一个AU的前128比特的块具有块标0;下一个128比特的块具有块标1,诸如此类。块标在每个再同步标记14、15后复位为零。注意,块标30的值不是发送的,而是由加密和解密过程计算的。
块标30必须在处理一个AU 3期间决不循环。假设最坏情况是AES块长度为128而视频AU 3长度为最大,32比特的块长度就可提供足够的净空。
计数块27于是用作填充计算期间的AES块密码的输入。对一个AU的第i个块的处理是Ci=Pi XOR E(计数)对于加密过程Pi=Trunc(n,Ci XOR E(计数)) 对于解密过程其中E()为AES密码的加密函数。
Ci为经加密的MPEG-4 AU的第i个块。
Pi为原始AU数据的第i个块的前n个字节,n的值在1和块长度之间。
假设,将每个AU 3的长度与AU数据一起提供给解密工具。
Trunc(x,y)函数截取y值的前x个字节。
在采用密码再同步标记14、15的情况下,必须采取下面这些操作检验CRM标志20。如果AU 3内存在CRM,就继续进行如上解密,直到遇到一个CRM为止。
检验比特流,以保证这个CRM不是一个已经转义的受竞争的CRM。如果这不是一个受竞争的标记,这个标记就应该是“非转义的”,于是应该象正常那样进行解密。
如果标记14、15有效,就应该用这个标记的本体产生一个新的计数27
块标30复位为零,用这个新的计数值作为给密码的输入进行解密。
3.密码系统配置在本发明的一个示范性的实施例中,可能需要设置一些参数,以便有效地利用密码系统。
这些参数可以包括例如-要采用的验证方案(如果有的话)-掺假密钥28 由于掺假密钥不必是保密的,可以用配置信息承载-解密密码和模式 如果没有规定,就假设为计数模式的AES-加密的确切是什么数据的描述,如果采用帧内选择加密的话。
这个信息承载在IOD(初始对象描述符)内。要用的数据结构的确切格式超出本文件范围。
图6示出了一个计算机系统35示例形式的机器的示意图,在这个机器内可以执行一组指令,使这个机器执行上面所讨论的任何一种方法。在其它实施例中,这种机器可以包括机顶盒(STB)、网络路由器、网络交换机、网桥、个人数字助理(PDA)、蜂窝电话机、万维网设备或任何能执行一系列规定机器需进行的操作的指令的机器。
计算机系统35包括通过总线39相互通信的处理器36、主存储器37和静态存储器38。计算机系统35还可以包括一个视频显示单元40(例如,液晶显示器(LCD)或阴极射线管(CRT))。计算机系统35还包括字母数字输入装置41(例如,键盘)、光标控制装置42(例如,鼠标)、盘驱动单元43、信号产生装置44(例如,扬声器)和网络接口装置45。
盘驱动单元43包括一个机器可读媒体46,上面存有一个具体实施在这里所说明的任何一种或所有的方法或功能的指令组(即软件)47。软件47还示为完全或至少部分驻留在主存储器37内和/或在处理器36内。软件47还可以通过网络接口装置45发送或接收。对于本说明书来说,所谓机器可读媒体”应该包括任何能存储、编码或承载一个由机器执行的使机器实现本发明的任何一种方法的指令序列的媒体。所谓“机器可读媒体”因此应该包括但不局限于固态存储器、光盘、磁盘和载波信号。
图5A和5B一起形成了按照本发明的一个实施例设计的在数据丢失的情况下用密码再同步标记14、15再同步的示意图。图5A所示的是现有技术,不存在再同步标记。加密的AU 3只有预先给它的头标16。假设客户机系统2接收到有一块数据49丢失的经加密的访问单元3。利用一个处于计数模式的块密码,只有头标16的序号可用作初始化向量,客户机系统2就只能对加密的访问单元3正确解密到所丢失的数据49。在那之后,它会继续对加密的访问单元3解密,但是用的是错误的计数值配合错误的数据块,因此产生错乱的明文。实际上,解密过程将产生一个数据恢复的块50和一个(比较大的)丢失了AU数据的块51。
相反,利用密码再同步标记14、15,如图5B和4所示,意味着解密过程将产生第一恢复的AU数据部分52、一个(小得多的)丢失的AU数据的块53和第二恢复的AU数据部分54。这是因为客户机系统2能识别分别在再同步标记14和15内的显式同步信息23和24。提取第一、第二和第三AU段11-13,独立地对它们解密。
下面来看图7,所示的是一个用来通过网络5将加密的AU 3分配给客户机系统2的IP分组55的示意图。这个IP分组55包括一个IP头标56,它包括一个使客户机系统2可以得知它是否为这个IP分组55的预定接收方的网络地址。IP地址可以是一个唯一地址、多播地址或广播地址,如在该技术领域所知的那样。
在这个示范性的实施例中,用UDP作为传输协议。因此,IP分组55包括一个UDP头标57。此外,加密的访问单元3已由一个在第一分配服务器4上实现在MPEG-4标准内所规定的同步层的应用封装。因此,该IP分组包括一个SL头标58。在SL头标58后就是一个形成安全封装符的头标59。它与上面所说明的头标16相同,但还包括一个与密码再同步标记14、15的显式同步信息相同的显式同步顺序60。头标59还包括表明访问单元3加密情况的比特标志18、表明验证情况的比特标志19、CRM标志20、保留字段21和序号字段22。第一加密的AU段11就接在头标59后。第二加密的AU段12由包括同步信息23和计数25的第一密码再同步标记14将它与第一加密的AU段11分开。第三加密的AU段13由包括同步信息24和计数26的第二密码再同步标记15将它与第二加密的AU段12分开。
本发明有益地利用同步信息23、24、60实现一种解密,称为堆栈下解密。这种解密在本申请的申请人的共同待决国际专利申请PCT/US01/41361中有更充分的说明。
客户机系统2包括一个实现IP协议的接口。也就是说,这个接口用IP头标56内确定需对IP分组55的其余部分做些什么的信息处理IP分组55。然而通常是,这其余部分传送给一个实现高层协议(在这种情况下是UDP协议)的接口,从那里向上传送给另一个接口,在这个例子中是一个实现MPEG-4同步层的接口,在本发明的本实施例中,IP分组55首先解密。
在这个实施例中,客户机系统2从在客户机系统2上实现IP协议的接口接收整个IP分组55作为输入。有关IP分组55的其余部分是不可知的,但是它搜索IP分组55的净荷内的数据寻找显式同步信息23、24、60。然后,它从IP分组55中提取经加密的消息段,用上面所述的方法对它们解密。接着,将IP分组55重新装配,传回在客户机系统2上实现IP协议的接口,由实现其他协议(即UDP,SL)的各个接口处理。
因此,上面说明了一种用于内容级加密协议的方法和系统。虽然本发明是结合具体的示范性实施例说明的,但在不背离本发明的广义精神和范围的情况下显然可以对这些实施例作各种修改和变动。因此,本说明书和这些附图都是说明性的而不是限制性的。
权利要求
1.一种产生将内容编码和被配置成一些消息的用密码保护的数字数据的方法,每个消息可由在一个具有一个服务接口的客户机终端上的解码器应用解码,由服务接口装配用于解码器应用的每个消息,所述方法包括下列步骤从一个机器可读媒体检索一个消息;对所述消息的至少一部分进行加密;以及提供经加密的消息作为输出,其格式使一个服务器服务接口能将消息配置成至少一个包括至少一个头标和一个净荷的分组,每个净荷包括这个消息的至少一部分,至少一个头标包括使在客户机上的服务接口能从这些分组的净荷装配用于解码器应用的每个消息的信息,其中所述方法包括将每个消息分为第一消息段和至少一个另外消息段,其中至少一个消息段加密成可不取决于其他消息段解密,以及其中经加密的消息通过为至少所述另外消息段添加一个将一个消息段与一个相邻的消息段分开的、包括显式同步信息的再同步标记予以装配。
2.按照权利要求1所述的方法,其中所述消息段用至少一个具有一个循环值的密钥加密。
3.按照权利要求1或2所述的方法,其中每个再同步标记还包括一个唯一序号。
4.按照权利要求1-3中任何一个权利要求所述的方法,所述方法还包括添加一个封装每个经加密的消息和包括一个唯一序号的封装符。
5.按照权利要求3或4所述的方法,其中每个唯一序号以自描述格式给出。
6.按照权利要求2和权利要求3-5中任何一个权利要求所述的方法,所述方法还包括产生至少一个密钥消息,每个密钥消息承载将添加给一个消息的至少一个唯一序号与一个使这个消息的至少一些部分可以解密的密钥值链接的数据。
7.按照权利要求3-6中任何一个权利要求所述的方法,所述方法还包括用一个处于采用反馈的密码模式的密码对一些消息段加密,其中所述密码在每个消息段开始处重新初始化。
8.按照权利要求7所述的方法,其中在一个将一个另外消息段与另一个消息段分开的再同步标记内的一个唯一序号用作对所述另外消息段加密的一个初始化向量。
9.按照权利要求1-8中任何一个权利要求所述的方法,其中一个块密码用来对一个消息段加密,该密码的块长度等于该消息段的长度的一个约数。
10.按照权利要求1-9中任何一个权利要求所述的方法,所述方法还包括采用一个处于计数模式的密码,其中所述计数在一个消息段加密前复位。
11.按照权利要求3和10所述的方法,其中在一个将一个另外消息段与另一个消息段分开的再同步标记内的一个唯一序号用来形成对所述另外消息段加密的计数。
12.按照权利要求10或11所述的方法,其中对属于一些分开的基本流的消息加密,每个流要用于客户机上的一个解码器应用,所述方法包括提供经加密的消息作为输出,其格式使客户机上的服务接口能将消息装配成一些分开的基本流,其中所述计数由一个掺假密钥形成,对于每个基本流的消息用一个不同的掺假密钥。
13.一种能够解密按照权利要求2和权利要求3-5中任何一个权利要求所述的方法产生的、将内容编码和被配置成一些消息的用密码保护的数据的服务器,其中所述服务器配置成响应来自一个通过一个网络与所述服务器连接的客户机终端的请求,传送至少一个密钥消息,每个密钥消息承载将添加给一个消息的至少一个唯一序号与一个使这个消息的至少一些部分可以解密的密钥值链接的数据。
14.一种产生将内容编码和被配置成一些消息的用密码保护的数字数据的系统,每个消息可由在一个客户机终端上的一个解码器应用解码,该客户机终端具有一个装配用于解码器应用的每个消息的服务接口,所述系统配置成从一个机器可读媒体检索一个消息;对这个消息的至少一部分进行加密;以及提供经加密的消息作为输出,其格式使一个服务器服务接口能将消息配置成至少一个包括至少一个头标和一个净荷的分组,每个净荷包括这个消息的至少一部分,至少一个头标包括使在客户机上的服务接口能从这些分组的净荷装配用于解码器应用的每个消息的信息,其中所述系统配置成将每个消息分成第一消息段和至少一个另外消息段,将其中至少一个消息段加密成可独立于其他消息段解密,以及通过为至少所述另外消息段添加一个将一个消息段与一个相邻的消息段分开的、包括一个显式同步顺序的再同步标记来装配经加密的消息。
15.按照权利要求14所述的系统,其中所述系统配置成用至少一个具有一个循环值的密钥对消息段加密。
16.按照权利要求14或15所述的系统,其中每个再同步标记还包括一个唯一序号。
17.按照权利要求14-16中任何一个权利要求所述的系统,其中所述系统还配置成添加一个封装每个经加密的消息和包括一个唯一序号的封装符。
18.按照权利要求16或17所述的系统,其中所述系统配置成以自描述格式给出每个唯一序号。
19.按照权利要求15和权利要求16-18中任何一个权利要求所述的系统,所述系统还配置成产生至少一个密钥消息,每个密钥消息承载将添加给一个消息的至少一个唯一序号与一个使这个消息的至少一些部分可以解密的密钥值链接的数据。
20.按照权利要求16-19中任何一个权利要求所述的系统,其中所述系统还配置成用一个处于采用反馈的密码模式的密码对消息段加密,其中所述系统配置成在每个消息段开始处对所述密码重新初始化。
21.按照权利要求20所述的系统,其中所述系统还配置成用一个在将一个另外消息段与另一个消息段分开的一个再同步标记内的唯一序号作为加密所述另外消息段的初始化向量。
22.按照权利要求14-21中任何一个权利要求所述的系统,其中所述系统配置成用一个块密码对一个消息段加密,该密码的块长度等于该消息段的长度的一个约数。
23.按照权利要求14-22中任何一个权利要求所述的系统,其中所述系统还配置成采用一个处于计数模式的密码,并在加密一个消息段前复位该计数。
24.按照权利要求16和23所述的系统,其中所述系统还配置成用一个在将一个另外消息段与另一个消息段分开的一个再同步标记内的唯一序号形成加密所述另外消息段的计数。
25.按照权利要求23或24所述的系统,其中所述系统能加密属于一些分开的基本流的消息,每个基本流要用于客户机上的一个解码器应用,其中所述系统配置成提供经加密的消息作为输出,其格式使客户机上的服务接口可以将消息装配成一些分开的基本流,其中所述系统配置成用掺假密钥形成计数,对于每个基本流的消息用一个不同的掺假密钥。
26.一种从一个服务器通过一个网络向一个或多个客户机终端分配将内容编码和被配置成一些消息的数字数据的方法,每个消息可由在一个客户机终端上的一个解码器应用解码,所述方法包括从服务器通过服务器的网络接口和一个网络发送多个数据分组,每个分组包括至少一个头标和一个净荷,每个净荷包括一个消息的至少一部分;将每个消息提供给安装在服务器上的、在一个协议栈内的两个层之间的至少一个服务接口的系列中的第一服务接口,每个服务接口配置成为使客户机能处理这个分组的其余部分的分组编码信息添加至少一个分组头标,所述方法还包括发送一些包括至少一个头标的分组,所述头标包括使客户机上的一个服务接口能从这些分组的净荷装配用于解码器应用的每个消息的信息,其中所发送的分组各具有一个包括第一段和至少一个另外段的分组净荷,每个另外段包括一个使一个消息段与一个相邻的消息段分开和包括一个显式同步顺序的再同步标记,其中至少一个消息段加密成可独立于其他消息段解密。
27.按照权利要求26所述的方法,其中消息段加密成用至少一个具有一个循环密钥值的密钥可解密的。
28.按照权利要求26或27所述的方法,所述方法包括发送一些其中每个再同步标记包括一个唯一序号的分组。
29.按照权利要求26-28中任何一个权利要求所述的方法,所述方法包括发送一些其中每个消息由包括一个唯一序号的封装符封装的分组。
30.按照权利要求28或29所述的方法,其中每个唯一序号以自描述格式给出。
31.按照权利要求27和权利要求28-30中任何一个权利要求所述的方法,所述方法还包括发送至少一个密钥消息,每个密钥消息承载将包括在一个消息内的至少一个唯一序号与一个使这个消息的至少一些部分可以解密的密钥值链接的数据。
32.一种通过一个网络向一个或多个客户机终端分配将内容编码和被配置成一些消息的数字数据的服务器,每个消息可由在一个客户机终端上的一个解码器应用解码,所述服务器包括一个网络接口,用来从所述服务器通过一个网络发送多个数据分组,每个分组包括至少一个头标和一个净荷,每个净荷包括一个消息的至少一部分,所述服务器还包括在一个协议栈内的两个层之间的一系列至少一个服务接口,每个服务接口配置成为使客户机能处理这个分组的其余部分的分组编码信息添加至少一个分组头标,所述服务器配置成发送一些各包括至少一个头标的分组,所述头标包括使客户机上的一个服务接口能从这些分组的净荷装配用于解码器应用的每个消息的信息,其中所述服务器配置成分配一些具有一个包括第一段和至少一个另外段的分组净荷的分组,每个另外段包括一个使一个消息段与一个相邻的消息段分开和包括一个显式同步顺序的再同步标记,其中至少一个消息段加密成可独立于其他消息段解密。
33.按照权利要求32所述的服务器,其中消息段加密成用至少一个具有一个循环密钥值的密钥可解密的。
34.按照权利要求32或33所述的服务器,所述服务器配置成发送一些其中每个再同步标记包括一个唯一序号的分组。
35.按照权利要求32-34中任何一个权利要求所述的服务器,所述服务器配置成发送一些其中每个消息由一个包括一个唯一序号的封装符封装的分组。
36.按照权利要求34或35所述的服务器,所述服务器配置成以自描述格式给出每个唯一序号。
37.按照权利要求33和权利要求34-36中任何一个权利要求所述的服务器,所述服务器还配置成发送至少一个密钥消息,每个密钥消息承载将包括在一个消息内的至少一个唯一序号与一个使这个消息的至少一些部分可以解密的密钥值链接的数据。
38.一种用于接收和处理将内容编码和被配置成一些消息的数字数据的客户机终端,每个消息可由一个解码器应用解码,所述客户机终端包括一个接收多个数据分组的接口,每个分组包括至少一个头标和一个净荷,所述终端还包括在一个协议栈内的两个层之间的一系列至少一个服务接口,每个服务接口配置成从分组中删除至少一个分组头标和用在所删除的分组头标内编码的信息处理分组的其余部分,包括一个服务接口,配置成用包括在分组的至少一个头标内的信息从至少一个分组的净荷装配用于解码器应用的消息,其中所述终端配置成接收一些各包括第一段和至少一个另外段的分组净荷,每个另外段包括一个使一个消息段与一个相邻的消息段分开和包括一个显式同步顺序的再同步标记,以便通过确定再同步标记的位置提取每个段,对每个加密的消息段进行独立于其他消息段的解密,以及将每个经解密的消息段插入原提取这个段的位置。
39.按照权利要求38所述的客户机终端,其中所述终端配置成用至少一个具有一个循环密钥值的密钥对消息段解密。
40.按照权利要求38或39所述的客户机终端,所述终端配置成从每个再同步标记中检索一个唯一序号。
41.按照权利要求38-40中任何一个权利要求所述的客户机终端,其中每个经加密的消息由一个封装符封装,所述客户机终端配置成从每个封装符检索一个唯一序号。
42.按照权利要求40或41所述的客户机终端,其中所述客户机终端配置成通过分析一个处于自描述格式的唯一序号得出一个包含一个唯一序号的字段的长度。
43.按照权利要求39和权利要求40-42中任何一个权利要求的客户机终端,所述客户机终端还配置成接收至少一个密钥消息,每个消息承载将添加给一个消息的至少一个唯一序号与一个使这个消息的至少一些部分可以解密的密钥值链接的数据,以及用该数据选择密钥值。
44.按照权利要求40-43中任何一个权利要求所述的客户机终端,所述客户机终端还配置成用一个处于采用反馈的密码模式的密码对一些消息段解密,以及在每个消息段开始处重新初始化该密码。
45.按照权利要求44所述的客户机终端,所述客户机终端配置成用在一个将一个另外消息段与另一个消息段分开的再同步标记内的一个唯一序号作为对这个另外消息段解密的一个初始化向量。
46.按照权利要求38-45中任何一个权利要求所述的客户机终端,所述客户机终端还配置成用一个块密码对一个消息段解密,以及采用等于该消息段长度的一个约数的密文块长度。
47.按照权利要求38-46中任何一个权利要求所述的客户机终端,所述客户机终端还配置成采用一个处于计数模式的密码,以及在对一个消息段解密前复位计数。
48.按照权利要求40和47所述的客户机终端,所述客户机终端还配置成用在一个将一个另外消息段与另一个消息段分开的再同步标记内的一个唯一序号作为对这个另外消息段解密的计数。
49.按照权利要求47或48所述的客户机终端,所述客户机终端还配置成接收和处理一些属于一些分开的基本流的消息,每个基本流要用于安装在客户机终端上的一个解码器应用,其中客户机终端上的服务接口配置成将这些消息装配成一些分开的基本流,其中所述客户机终端还配置成由掺假密钥形成计数,对于每个基本流的消息使用一个不同的密钥。
50.按照权利要求38-49中任何一个权利要求所述的客户机终端,其中所述客户机终端配置成通过将每个分组的至少一个头标添加给具有所插入的经解密的消息段的净荷,在传给服务接口之前重新装配解密后的每个接收分组的至少一部分。
51.按照权利要求50所述的客户机终端,所述客户机终端还包括一个网络接口装置,用来通过一个网络从一个服务器接收数据分组,其中所添加的头标包括一个包括一个将客户机终端标识为分组的预定接收方的网络地址的头标。
52.一种在一个客户机终端内接收和处理将内容编码和被配置成一些消息的数字数据的方法,每个消息可由一个解码器应用解码,所述方法包括通过客户机终端的一个接口接收多个数据分组,每个分组包括至少一个头标和一个净荷;将每个分组提供给在一个协议栈内的两个层之间的至少一个服务接口的系列中的第一服务接口,每个服务接口配置成从分组中删除至少一个分组头标和用在所删除的分组头标内编码的信息处理分组的其余部分,包括一个服务接口,配置成用包括在分组的至少一个头标内的信息从至少一个分组的净荷装配用于解码器应用的消息,其中所接收的分组净荷包括第一段和至少一个另外段,每个另外段包括一个将一个消息段与一个相邻的消息段分开和包括一个显式同步顺序的再同步标记,其中每个段通过确定再同步标记的位置提取,以及其中每个加密的消息段独立于其他消息段解密,每个经解密的消息段插入这个段的原提取位置。
53.按照权利要求52所述的方法,其中所述消息段用至少一个具有一个循环密钥值的密钥解密。
54.按照权利要求52或53所述的方法,所述方法包括从每个再同步标记检索一个唯一序号。
55.按照权利要求52-54中任何一个权利要求所述的方法,其中每个加密的消息由一个封装符封装,所述方法包括从每个封装符检索一个唯一序号。
56.按照权利要求54或55所述的方法,所述方法包括通过分析一个处于自描述格式的唯一序号得出一个包含一个唯一序号的字段的长度。
57.按照权利要求53和权利要求54-56中任何一个权利要求所述的方法,所述方法还包括接收至少一个密钥消息,每个消息承载将添加给一个消息的至少一个唯一序号与一个使这个消息的至少一些部分可以解密的密钥值链接的数据,以及用该数据选择密钥值。
58.按照权利要求54-57中任何一个权利要求所述的方法,所述方法还包括用一个处于采用反馈的密码模式的密码对一些消息段解密,以及在每个消息段开始处重新初始化该密码。
59.按照权利要求58所述的方法,所述方法包括用在一个将一个另外消息段与另一个消息段分开的再同步标记内的一个唯一序号作为对所述另外消息段解密的一个初始化向量。
60.按照权利要求52-59中任何一个权利要求所述的方法,所述方法还包括用一个块密码对一个消息段解密,以及采用等于该消息段长度的一个约数的密文块长度。
61.按照权利要求52-60中任何一个权利要求所述的方法,所述方法还包括采用一个处于计数模式的密码,以及在对一个消息段解密前复位计数。
62.按照权利要求54和61所述的方法,所述方法还包括采用在一个将一个另外消息段与另一个消息段分开的再同步标记内的一个唯一序号作为对这个另外消息段解密的计数。
63.按照权利要求61或62所述的方法,所述方法还包括接收和处理一些属于一些分开的基本流的消息,每个基本流要用于安装在客户机终端上的一个解码器应用,其中客户机终端上的服务接口配置成将这些消息装配成一些分开的基本流,其中所述方法还包括由一个掺假密钥形成计数,对于每个基本流的消息用一个不同的密钥。
64.按照权利要求52-63中任何一个权利要求所述的方法,所述方法包括通过将每个分组的至少一个头标添加给具有所插入的经解密的消息段的净荷重新装配解密后的每个接收分组的至少一部分,再传给服务接口。
65.按照权利要求64所述的方法,其中数据分组通过客户机终端的一个网络接口装置接收,所述方法包括添加一个包括一个将客户机终端标识为分组的预定接收方的地址的头标。
66.一种可装入计算机的计算机程序,所述计算机程序在计算机上运行时能为计算机提供一个按照权利要求14-25中任何一个权利要求所述的系统、一个按照权利要求13或32-37中任何一个权利要求所述的服务器或一个按照权利要求38-51中任何一个权利要求所述的客户机终端的功能。
67.一种可装入计算机的计算机程序,所述计算机程序在计算机上运行时能使计算机执行按照权利要求1-12、26-31和52-65中任何一个权利要求所述的方法。
全文摘要
本发明提供了一种产生将内容编码和被配置成一些消息的用密码保护的数字数据的方法,每个消息可由在一个具有一个服务接口的客户机上的解码器应用解码,由服务接口装配用于解码器应用的每个消息,这种方法包括下列步骤从一个机器可读媒体检索一个消息;对所述消息的至少一部分进行加密;以及提供经加密的消息作为输出,其格式使一个服务器服务接口能将消息配置成至少一个包括至少一个头标和一个净荷的分组,每个净荷包括这个消息的至少一部分,至少一个头标包括使客户机上的服务接口能从这些分组的净荷装配用于解码器应用的每个消息的信息。这种方法包括将每个消息分成第一消息段和至少一个另外消息段。至少一个消息段加密成可独立于其他消息段解密。经加密的消息通过为至少所述另外消息段添加一个将一个消息段与一个相邻的消息段分开和包括显式同步信息的再同步标记予以装配。
文档编号H04N5/00GK1524381SQ02805187
公开日2004年8月25日 申请日期2002年12月18日 优先权日2001年12月19日
发明者伊凡·H·迈克莱恩, 安德鲁·A·瓦伊斯, A 瓦伊斯, 伊凡 H 迈克莱恩 申请人:耶德托存取公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1