专利名称:用于处理信息的方法、设备和程序的制作方法
技术领域:
本发明涉及一种用于处理信息的方法、设备和程序,具体来讲,涉及这样一种方法、设备和程序,其可以使在解密流数据所需的密钥被加密并且用于解密所述密钥的操作没有及时完成时出现的不良影响最小化。
背景技术:
近年来,已经提出了这样一种加密方法,其中包括多个连续数据单元的流数据在逐个单元的基础上被顺序加密,并且用于加密每个数据单元的加密密钥依照预定的规则改变(例如参见公开号为2003-143548的日本未审专利申请)。
另外,已经开始开发用于依照这种加密方法来加密流数据并且生成元数据的加密设备,其中所述元数据包括多个用于加密所述流数据的加密密钥以及用于标识更新所述加密密钥的定时的更新信息。
此外,已经开始开发用于对通过使用由这种加密设备生成的元数据来使用加密设备加密的数据进行解密的解密设备。
此外,为了增强这些加密密钥的保密性,已经开发了用于依照第二加密方法来加密这些加密密钥并且把加密密钥插入到元数据中的技术。
因此,在此情况下,为了解密包含在元数据中的依照第二种方法加密的多个加密密钥的每一个,所述解密设备必须生成多个解密密钥的每一个,并且使用每个解密密钥来进行解密操作。
发明内容
然而,在解密设备执行解密操作之前,除非所述解密设备在使用第二加密方法加密的多个密钥当中生成用于流数据的解密操作的密钥,否则所述解密设备无法正常地进行解密操作。
也就是说,当用于解密流数据的密钥已经被加密,并且所述密钥的解密操作没有及时完成时,会出现无法对流数据进行解密操作的不良影响。因此,所希望的是使所述不良影响最小化。
因此,本发明提供了一种用于处理信息的方法、设备和程序,其可以使在用于解密流数据的密钥已经被加密并且密钥的解密操作没有及时完成时出现的不良影响最小化。
依照本发明的实施例,一种信息处理设备使用元数据来解密已加密的数据,其中所述已加密数据是通过依照第一加密方法来加密包括多个连续数据单元的流数据而获得的,在第一加密方法中,当以逐个单元为基础顺序地加密流数据时,根据预定的规则来更新用于加密数据单元中对应的一个数据单元的多个加密密钥中的每一个。所述元数据包括用于加密流数据的多个加密密钥和用于标识多个加密密钥的更新定时的更新信息。所述信息处理设备包括解密器,其被配置为获取已加密数据,并且使用解密密钥来解密已加密数据中的每个已加密数据单元,其中解密密钥对应于多个加密密钥当中用来加密该数据单元的加密密钥,并且所述信息处理设备还包括元数据获取器,其被配置为获取所述元数据,生成与所述元数据中包含的多个加密密钥之一相对应的多个解密密钥中的每一个,并且根据所述元数据中包含的更新信息来把多个解密密钥中对应的一个解密密钥递送给解密器。多个加密密钥是依照第二加密方法来加密的,并且所述元数据获取器包括解密密钥生成单元、更新指示单元、解密密钥输出单元和更新指令控制单元。所述解密密钥生成单元通过解密所述元数据中包含的、并且使用第二加密方法按照下述顺序加密的多个加密密钥之一,来顺序地生成多个解密密钥的每一个,其中所述顺序是把加密密钥用于加密的顺序。所述更新指示单元标识与加密密钥之一的更新定时相对应的每个解密密钥的更新定时,并且在每一个标识出的更新定时上发布更新命令。所述解密密钥输出单元输出由解密密钥生成单元生成的第一解密密钥,直到所述更新指示单元向解密器发布更新命令为止,并且在更新指示单元发布更新命令之后,向解密器输出由解密密钥生成单元在第一解密密钥之后生成的第二解密密钥。所述更新指令控制单元确定在把第一解密密钥更新为第二解密密钥之前是否已经由解密密钥生成单元生成了第二解密密钥,并且当更新指令控制单元确定所述第二解密密钥仍没有被生成时,监控是否生成了第二解密密钥。当生成了第二解密密钥时,所述更新指令控制单元把第二解密密钥生成的时间点视为从第一解密密钥到第二解密密钥的更新定时,以便控制所述更新指示单元发布更新命令。
多个加密密钥的每一个均可以包括用于标识加密密钥的密钥ID,并且所述元数据可以包括元分组(Meta packet)1、2和3,这些元分组是为多个数据单元的每一个生成的,并且符合电影与电视工程师学会(Society of Motion Picture and Television Engineers,SMPTE)291M。依照第二加密方法加密的多个加密密钥中预定的一个加密密钥可以包括在与预定数据单元相关联的元分组1和2中,并且至少下一密钥ID和当前密钥ID可以包括在与每个数据单元相关联的元分组3中。
所述更新指令控制单元可以把下述两个值进行比较与紧挨在从第一解密密钥到第二解密密钥的更新定时之前由解密密钥生成单元生成的解密密钥相对应的加密密钥的密钥ID,以及与紧挨在从第一解密密钥到第二解密密钥的更新定时之前的数据单元相关联的元分组3中包含的下一密钥ID。如果所述密钥ID等于下一密钥ID,那么更新指令控制单元可以确定所述解密密钥生成单元已经生成了第二解密密钥。如果所述密钥ID不等于下一密钥ID,那么更新指令控制单元可以确定所述解密密钥生成单元还没有生成第二解密密钥。
如果所述更新指令控制单元确定所述解密密钥生成单元还没有生成第二解密密钥,那么所述更新指令控制单元可以把下述两个值进行比较与在做出该确定时的第一时间点之后由解密密钥生成单元生成的最新解密密钥相对应的加密密钥的密钥ID,以及与第一时间点之后的数据单元相关联的元分组3中包含的当前密钥ID。如果所述密钥ID等于当前密钥ID,那么更新指令控制单元可以确定解密密钥生成单元已经生成了第二解密密钥,可以把做出该确定时的第二时间点视为从第一解密密钥到第二解密密钥的更新定时,并且可以强制更新指示单元发布更新命令。
依照本发明的另一实施例,提供了一种用于在信息处理设备中使用的信息处理方法,所述信息处理设备被配置为使用元数据来解密已加密数据,其中所述已加密数据是通过依照第一加密方法来加密包括多个连续数据单元的流数据而获得的,在第一加密方法中,当以逐个单元为基础顺序地加密流数据时,根据预定的规则来更新用于加密数据单元中对应的一个数据单元的多个加密密钥的每一个。所述元数据包括用于加密流数据的多个加密密钥和用于标识多个加密密钥的更新定时的更新信息。所述信息处理设备包括解密器,其被配置为获取已加密数据,并且使用解密密钥来解密所述已加密数据中的每个已加密数据单元,其中所述解密密钥对应于多个加密密钥当中用于加密该数据单元的加密密钥,其中多个加密密钥是依照第二加密方法加密的。所述信息处理方法包括如下步骤获取元数据;通过解密元数据中包含的、并且使用第二加密方法依照下述顺序加密的多个加密密钥之一,来顺序地生成多个解密密钥的每一个,其中所述顺序是把加密密钥用于加密的顺序;标识与加密密钥之一的更新定时相对应的每个解密密钥的更新定时,并且在每一标识出的更新定时发布更新命令;输出第一生成的解密密钥,直到发布了更新命令为止,并且在发布更新命令之后,输出在第一解密密钥之后生成的第二解密密钥;确定在将第一解密密钥更新为第二解密密钥以前是否已经生成了第二解密密钥,如果仍未生成第二解密密钥,那么监控所述第二解密密钥是否被生成了,并且当生成了第二解密密钥时,把第二解密密钥的生成时间点视为从第一解密密钥到第二解密密钥的更新定时,以便对发布所述更新命令执行控制。
依照本发明的又一实施例,提供了一种程序,其用于使计算机使用元数据来解密已加密数据,其中所述已加密数据是通过依照第一加密方法来加密包括多个连续数据单元的流数据而获得的,在第一加密方法中,当以逐个单元为基础顺序地加密流数据时,根据预定的规则来更新用于加密数据单元中对应的一个数据单元的多个加密密钥的每一个。所述元数据包括用于加密流数据的多个加密密钥和用于标识多个加密密钥的更新定时的更新信息。所述程序使计算机获取加密数据、并且使用解密密钥来解密加密数据中的每个加密数据单元,其中所述解密密钥对应于多个加密密钥当中用于加密该数据单元的加密密钥。多个加密密钥是依照第二加密方法来加密的。所述程序包括如下步骤获取元数据;通过解密元数据中包含的、并且使用第二加密方法依照下述顺序加密的多个加密密钥之一,来顺序地生成多个解密密钥的每一个,其中所述顺序是把加密密钥用于加密的顺序;标识与加密密钥之一的更新定时相对应的每个解密密钥的更新定时,并且在每一标识出的更新定时发布更新命令;输出第一生成的解密密钥,直到更新命令被发布为止,并且在发布更新命令之后,输出在第一解密密钥后生成的第二解密密钥;确定在将第一解密密钥更新为第二解密密钥以前是否已经生成了第二解密密钥,如果仍未生成第二解密密钥,那么监控是否生成了所述第二解密密钥,并且当生成了第二解密密钥时,把第二解密密钥的生成时间点视为从第一解密密钥到第二解密密钥的更新定时,以便对发布所述更新命令执行控制。
依照本发明的又一实施例,执行一种解密处理,以便使用元数据来解密已加密数据,其中所述已加密数据是通过依照第一加密方法来加密包括多个连续数据单元的流数据而获得的,在第一加密方法中,当以逐个单元为基础顺序地加密流数据时,根据预定的规则来更新用于加密数据单元中对应的一个数据单元的多个加密密钥的每一个。所述元数据包括用于加密流数据的多个加密密钥和用于标识多个加密密钥的更新定时的更新信息。所述解密处理获取已加密数据,并且使用解密密钥来解密加密数据中的每个加密数据单元,其中所述解密密钥对应于多个加密密钥当中用于加密该数据单元的加密密钥。当执行解密处理时,多个加密密钥是依照第二加密方法被加密的。所述解密处理获取元数据;通过解密元数据中包含的、并且使用第二加密方法依照下述顺序加密的多个加密密钥之一,来顺序地生成多个解密密钥的每一个,其中所述顺序是把加密密钥用于加密的顺序;标识与加密密钥之一的更新定时相对应的每个解密密钥的更新定时,并且在每一标识出的更新定时发布更新命令;输出第一生成的解密密钥,直到发布了更新命令为止,并且在发布了更新命令之后,输出在第一解密密钥之后生成的第二解密密钥。在这时,所述解密处理确定在将第一解密密钥更新为第二解密密钥之前是否已经生成了第二解密密钥。如果仍未生成第二解密密钥,那么解密处理监控所述第二解密密钥是否被生成了。当生成了第二解密密钥时,所述解密处理把第二解密密钥的生成时间点视为从第一解密密钥到第二解密密钥的更新定时,以便对发布更新命令执行控制。
如上所述,依照本发明的实施例,当对用于解密流数据的密钥进行加密时,用于处理信息的方法、设备和程序可以解密所述密钥并且随后解密流数据。具体来讲,用于处理信息的方法、设备和程序可以使在密钥的解密操作没有及时完成时出现的不良影响最小化。
图1举例说明了依照本发明实施例的加密/解密系统的示例性配置;图2举例说明了包括用于由图1所示的加密设备执行的加密处理以及用于由解密设备执行的解密处理的数据的元数据的结构示例;图3举例说明了包括用于由图1所示的加密设备执行的加密处理以及用于由解密设备执行的解密处理的数据的元数据的结构示例;图4举例说明了包括用于由图1所示的加密设备执行的加密处理以及用于由解密设备执行的解密处理的数据的元数据的结构示例;图5是图1中示出的解密设备的元数据提取单元的详细配置的框图;图6举例说明了更新用来解密已加密的AV数据的LE密钥(AES密钥)的正常处理的示例;图7举例说明了更新用来解密已加密的AV数据的LE密钥(AES密钥)的异常处理的示例;图8是举例说明了依照本发明实施例的用于解决图7所示的异常处理的方法的图;图9是举例说明了向其应用了图8所示方法的、由图5所示的密钥改变定时校正单元执行的操作示例的流程图;并且图10是用于执行依照本发明实施例的程序的个人计算机的示例性结构的框图。
具体实施例方式
在描述本发明的实施例以前,下面论述权利要求书的特征和在本发明的实施例中所公开的特定元素之间的对应关系。此描述意在确保在本说明书中描述了用于支持所要求保护的发明的实施例。由此,即使在如下实施例中的元素没有被描述为涉及本发明的某一特征,这也未必意味着所述元素就不涉及权利要求的该特征。相反,即使此处将某一元素描述为涉及权利要求的某一特征,这也未必意味着所述元素就不涉及权利要求的其它特征。
此外,不应该把这种描述看作是限制在实施例中公开的本发明的所有方面都要在权利要求书中进行描述。也就是说,所述描述不否认存在有在实施例中描述了但在此申请的发明中没有要求保护的本发明的一些方面,即,不否认存在本发明的某些下述方面,其中这些方面在今后可能通过分案申请要求保护,或者通过修改另外要求保护。
依照本发明的实施例,信息处理设备(例如,图1中示出的解密设备2)使用元数据(例如,图1中的包括图4中的元数据64-3的元数据64)来解密已加密数据(例如,从图1中示出的加密单元11的AV数据加密单元32输出的已加密AV数据),所述已加密数据是通过依照第一加密方法(例如,使用图6中示出的AES的加密方法)加密包括多个连续数据单元(例如,图1中的AV数据)的流数据而获得的,在第一加密方法中当以逐个单元为基础顺序地加密流数据时,用于加密每个数据单元的密钥(例如,在如下示例中用RSA加密的图1中的LE密钥61-E)根据预定的规则进行更新。正如此处使用的那样,术语“数据单元”指的是帧(数据),将在下面描述此内容。所述元数据包括用于加密流数据的多个加密密钥和用于标识多个密钥的更新定时的更新信息(例如,图4中的密钥改变定时)。所述信息处理设备包括解密器(例如,解密单元22),其被配置为获取已加密数据,并且使用与多个加密密钥当中用于加密数据单元的加密密钥相对应的解密密钥(例如,图1中的LE密钥61-D)来解密所述已加密数据中的每个已加密数据单元,并且所述信息处理设备还包括元数据获取器(例如,图1中的具有图5中所示配置的元数据提取单元21),其被配置为获取元数据,生成与所述元数据中包含的多个加密密钥之一相对应的多个解密密钥中的每一个,并且根据所述元数据中包含的更新信息把多个解密密钥中对应的一个解密密钥递送给所述解密器。多个加密密钥是依照第二加密方法(例如,如下所述的使用RSA的加密方法)来加密的。所述元数据获取器包括解密密钥生成单元(例如,图5中的LEKP恢复单元102)、更新指示单元(例如,图5中的密钥改变触发生成单元104)、解密密钥输出单元(例如,图5中的寄存器105)以及更新指令控制单元(例如,图5中的密钥改变定时校正单元111)。所述解密密钥生成单元通过解密所述元数据中包含的、并且使用第二加密方法按照下述顺序加密的多个加密密钥之一,来顺序地生成多个解密密钥中的每一个,其中所述顺序是把加密密钥用于加密的顺序。所述更新指示单元标识与加密密钥之一的更新定时相对应的每个解密密钥的更新定时,并且在每一个标识出的更新定时上发布更新命令。所述解密密钥输出单元输出由解密密钥生成单元生成的第一解密密钥,直到所述更新指示单元向解密器发布更新命令为止,并且在更新指示单元发布更新命令之后,向解密器输出由解密密钥生成单元在第一解密密钥之后生成的第二解密密钥。所述更新指令控制单元确定在把第一解密密钥更新为第二解密密钥之前是否已经由解密密钥生成单元生成了第二解密密钥,并且当更新指令控制单元确定所述第二解密密钥仍未生成时,监控是否生成了第二解密密钥。当生成了第二解密密钥时,所述更新指令控制单元把第二解密密钥的生成时间点视为从第一解密密钥到第二解密密钥的更新定时,以便控制所述更新指示单元发布更新命令。
在依照本发明实施例的信息处理设备中,多个加密密钥的每一个均包括用于标识加密密钥的密钥ID,并且所述元数据包括元分组(Meta packet)1、2和3,这些元分组是为多个数据单元的每一个生成的,并且符合电影与电视工程师学会(SMPTE)291M(例如,图2中表示元分组1的元数据64-1,图3中表示元分组2的元数据64-2,以及图4中表示元分组3的元数据64-3)。依照第二加密方法加密的多个加密密钥中预定的一个加密密钥可以被包括在与预定数据单元(例如,被包括作为如图2和3中所示的Elekp数据)相关联的元分组1和2中,并且至少下一密钥ID和当前密钥ID可以被包括在与每个数据单元相关联的元分组3中。
依照本发明的实施例,提供了对应于由上述元数据获取器(例如,图1中的具有图5中所示配置的元数据提取单元21)执行的处理的信息处理方法和信息处理程序。所述信息处理方法和程序包括如下步骤获取所述元数据;通过解密元数据中包含的并且使用第二加密方法按照下述顺序加密的多个加密密钥之一,来顺序地生成多个解密密钥中的每一个(例如,由图5中的LEKP恢复单元102执行的处理),其中所述顺序是把加密密钥用于加密的顺序;标识与加密密钥之一的更新定时相对应的每一个解密密钥的更新定时,并且在每一个标识出的更新定时上发布更新命令(例如,由图5中的密钥改变触发生成单元104执行的处理);输出第一生成的解密密钥,直到发布了更新命令为止,并且在更新命令发布之后,输出在第一解密密钥之后生成的第二解密密钥(例如,由图5中的寄存器105执行的处理);确定在把第一解密密钥更新为第二解密密钥以前是否已经生成了第二解密密钥,如果所述第二解密密钥仍未生成,那么监控是否生成了第二解密密钥,并且当第二解密密钥被生成时,把第二解密密钥的生成时间点视为从第一解密密钥到第二解密密钥的更新定时,以便对发布更新命令执行控制(例如,由图5中的密钥改变定时校正单元111执行的处理,更具体地讲,是图9中所示的处理)。
现在将参考附图来描述本发明的示例性实施例。
图1举例说明了包括加密设备和解密设备的系统的示例性配置(以下简称为“加密/解密系统”)。
在图1中,由实线围绕的块表示信息处理设备的单元,而由虚线围绕的块表示预定信息。实线和虚线的这些用法适用于全部后续附图。
如图1所示,所述加密/解密系统包括加密设备1和解密设备2。所述加密设备1例如加密对应于内容(诸如电影)的流数据。流数据包括一个或多个帧。以下,把流数据称为“AV数据”。所述解密设备2解密由加密设备1加密的AV数据。
在图1中,所述加密设备1使用高级加密标准(AES)的加密来加密所述AV数据,其中AES加密是公用密钥密码系统的加密标准之一。为了加密AV数据,所述加密设备1包括加密单元11、元数据生成单元12和覆盖单元13。所述加密单元11包括AES加密数据生成单元31和AV数据加密单元32。
通过使用公用密钥61-E和AES输入62-E,所述AES加密数据生成单元31生成用于直接加密AV数据的数据(以下简称为“AES加密数据”)65。所述公用密钥已知为“AES密钥”。然而,正如此处使用的那样,把所述公用密钥称为“LE密钥”。所述AES加密数据生成单元31把AES加密数据65递送至AV数据加密单元32。下面将描述所述AES输入62-E。
所述AV数据加密单元32使用从AES加密数据生成单元31递送的AES加密数据65来加密所述AV数据,并且把已加密的AV数据递送到覆盖单元13。在这时,所述AV数据加密单元32使用从元数据生成单元12递送的帧重置63-E来逐帧地加密AV数据。
更具体地说,在此实施例中,所述AV数据例如是HD-SDI数据。所述AV数据包括一个或多个帧数据项。每一个帧数据项均包括表明帧中每个像素的亮度的数据Y以及表明帧中每个像素的颜色的数据Cb/Cr。另外,LE密钥61-E和AES输入62-E中的每一个例如是128位。
在此情况下,所述AES加密数据生成单元31例如根据256位的输入数据来生成128位的AES加密数据65,其中所述256位的输入数据包括128位的LE密钥61-E和128位的AES输入62-E。此后,所述AES加密数据生成单元31把128位的AES加密数据65递送至AV数据加密单元32。更具体地说,所述AES加密数据生成单元31例如从128位的AES加密数据65的低阶120位中每10位地进行检取,并且把检取出的位递送到AV数据加密单元32。
当数据Y和数据Cb/Cr到达时,所述AV数据加密单元32独立地实时加密数据Y和数据Cb/Cr的每10位,以便把已加密的数据Y和数据Cb/Cr递送至覆盖单元13。
然而,此后,把数据Y和数据Cb/Cr统称为“AV数据”,除非当必须区分这两者时除外。
所述元数据生成单元12生成由加密单元11进行加密操作所需的各种数据。也就是说,元数据生成单元12生成由解密设备2进行解密操作所需的各种信息。例如,如上所述,所述元数据生成单元12生成LE密钥61-E、AES输入62-E和帧重置63-E。另外,所述元数据生成单元12把其它上述信息项的某一些添加到LE密钥61-E中。此后,元数据生成单元12例如使用RSA(R.Rivest、A.Sharmir和L.Adelman)2048位加密(此后简称为“RSA加密”)来加密所得到的信息项(以下简称为“链路加密密钥有效负载(link encryption keypayload,LEKP)”),其中RSA使用解密设备2的公钥。此后,把通过使用RSA加密来加密LEKP而获得的数据称为“ELEKP”。也就是说,所述元数据生成单元12生成ELEKP。随后,除ELEKP以外,所述元数据生成单元12还生成元数据64,并且把元数据64递送至覆盖单元13,其中所述元数据64包括AES输入62-E的元素之一(Le_attribute_data,其在下面描述)。下面将参考图2至4来详细说明元数据64。
所述覆盖单元13把由元数据生成单元12生成的元数据64覆盖到下述数据(以下简称为“已加密AV数据”)的V空段(V-Blankingperiod)上或者插入到其中,其中所述已加密AV数据是借助于AV数据加密单元32通过加密HD-SDI AV数据而获得的。然后,AV数据加密单元32把所得到的数据(以下简称为“元数据已覆盖并已加密的AV数据(meta-data overlapped and encrypted AV data)”)递送(传送)至解密设备2。也就是说,元数据64被逐帧地插入。
依照本实施例,未必只有一个LE密钥61-E用于一个AV数据项(整个流数据)。所述LE密钥61-E根据需要被更新。也就是说,多个LE密钥61-E用于一个AV数据项。其理由如下。
如果恶意的第三方窃取了利用AES加密的内容(例如,从AV数据加密单元32输出的已加密AV数据),并且所述内容是利用一种类型的AES密钥(即,LE密钥61-E)进行加密的,那么所述AES密钥可以被直接解密。为了解决此问题,依照本实施例的元数据生成单元12定期地改变(适当地更新)用于AES加密的密钥(LE密钥61-E)。由此,恶意的第三方很难直接解密所述内容。
然而,依照本实施例,如上所述,元数据生成单元12不直接把LE密钥61-E传输至解密设备2。相反,元数据生成单元12生成包括LE密钥61-E和附加数据的LEKP,并且使用RSA加密来加密该LEKP,以便获得包括所得到的ELEKP的元数据64。此后,覆盖单元13把元数据64连同已加密AV数据(即,元数据已覆盖并已加密的AV数据)一起递送(传输)至解密设备2。也就是说,依照本实施例,加密设备1使用RSA加密来加密多个LE密钥61-E的每一个,把已进行RSA加密的LE密钥61-E独立地置于预定帧中以便于执行生成,并且把已进行RSA加密的LE密钥61-E传输至解密设备2。因此,如下面将描述的那样,所述解密设备2必须解密已进行RSA加密的LE密钥61-E的每一个。
因此,由元数据生成单元12更新LE密钥61-E的周期取决于RSA加密操作和RSA解密操作的处理时间。也就是说,由此可见,通过RSA加密操作和RSA解密操作的处理时间来确定用于更新LE密钥61-E的最小周期。例如,在本实施例中,所述最小周期被确定为1分钟。
如上所述,依照此实施例,未必只有一个LE密钥61-E用于一个AV数据项。相反,使用了多个LE密钥61-E。也就是说,所述LE密钥61-E根据需要被更新。换言之,不是只有一个LE密钥61-E用于一个AV数据项的所有帧。相反,将LE密钥61-E进行更新,以便每隔几帧使用不同的LE密钥61-E。
因此,在本实施例中,每当元数据生成单元12生成LE密钥61-E之一时,所述元数据生成单元12还生成用于标识LE密钥61-E的标识符(以下简称为“密钥ID”)。所述元数据生成单元12把所述密钥ID附到LE密钥61-E上。由此,如下所述,所述密钥ID被包括在元数据64中。
用于加密AV数据的LE密钥61-E必须在AV数据加密单元32开始加密AV数据以前生成。也就是说,在生成已加密AV数据和生成用于加密AV数据的LE密钥61-E之间存在时滞。因此,将被覆盖在预定帧(数据)上的元数据64中包含的LE密钥61-E(更确切的说,在执行RSA加密以前包含在LEKP中)不是用于加密预定帧(数据)的那个密钥,而是用于加密所述预定帧(数据)之前的那个帧(数据)的密钥。
在描述解密设备2的示例性配置以前,参考图2至4来详细说明由元数据生成单元12生成的元数据。
图2和3分别举例说明了包括上述ELEKP(例如,使用RSA加密的LE密钥61-E)的元数据64-1和64-2的结构。图4举例说明了包括AES输入62-E的元数据64-3的示例性结构。
依照本实施例,元数据64-1、64-2和64-3的分组结构符合SMPTE291M标准(电影与电视工程师协会用于电视辅助数据分组和空间格式化的建议的SMPTE标准)。总体上讲,把元数据64-1、64-2和64-3的分组分别称为“元分组1”、“元分组2”和“元分组3”。也就是说,依照所述SMPTE 291M标准,例如图2至4所示,依照此顺序,所述分组结构包括辅助数据标志字段(ADF“000、3FF或者3FF”(用于“组件”)以及“3FC”(用于“合成”))、数据ID字段(DID)、辅助数据ID字段(SDID)、数据计数字段(DC)、用户数据字段以及校验和字段(CS)。元数据64-1、64-2和64-3的每一个均具有这种分组结构。在此实施例中,所述用户数据字段例如包含如下信息。
元数据64-1的用户数据字段包含数据“密钥ID”、“类型”、“SHA1摘要(digest)”、“Lekp长度”、“Elekp长度”和“Elekp数据”。所述元数据64-2的用户数据字段包含数据“Elekp数据”。
下列描述是依照随机顺序进行的。所述Elekp数据是通过如上所述利用RSA来加密包括LE密钥61-E的LEKP而获得的数据。也就是说,所述Elekp数据是ELEKP。如上所述,所述密钥ID是被加密并且包括在ELEKP中的LE密钥61-E的标识符。所述Elekp长度表示ELEKP的数据长度。所述Lekp长度表示LEKP的数据长度。
所述“类型”表示用于加密LEKP的加密方法(加密算法的类型)。在此实施例中,将表示RSA加密的值“0”赋值给所述类型。所述“SHA1摘要”表示当生成ELEKP时(即,当利用RSA来加密LEKP时)所使用的公钥的标识符。
此后,把包含上述各种数据的元数据64-1和64-2的“用户数据”称为“链路加密密钥消息(LEKM)”。
与所述LEKM(元数据64-1和64-2的用户数据)不同的是,元数据64-3的用户数据包括数据“下一密钥ID”、“当前密钥ID”、“当前帧计数”、“密钥改变定时”和“HD-SDI链路编号”。
正如此处使用的那样,向其中插入目标元数据64-3的帧被称为“目标帧”。另外,紧挨在目标帧(AV数据中对应于目标帧的数据)即将被加密之前的时间被称为“当前时间”。把处于当前时间的LE密钥61-E称为“当前LE密钥61-E”。紧挨在生成当前LE密钥61-E之后生成的LE密钥61-E(即,在下一更新定时由元数据生成单元12生成的LE密钥61-E)被称为“下一LE密钥61-E”。相反,紧挨在生成当前LE密钥61-E之前生成的LE密钥61-E(即,在紧挨着的前一更新定时由元数据生成单元12生成的LE密钥61-E)被称为“先前LE密钥61-E”。
在此情况下,被插入到目标帧中的元数据64-3包括包含如下信息的数据“下一密钥ID”、“当前密钥ID”、“当前帧计数”、“密钥改变定时”和“HD-SDI链路编号”。
所述下一密钥ID包含下一LE密钥61-E的密钥ID,而所述“当前密钥ID”包含当前LE密钥61-E的密钥ID。
所述当前帧计数包含当先前LE密钥61-E被改变为当前LE密钥61-E时(此后,把这种时间点称为“密钥改变定时”)从当前帧开始的目标帧的序号。应注意的是,当前帧的序号是“0”。
所述密钥改变定时包含2’b11、2’b10、2’b01和2’b00的值中的一个。这些值表明哪一个帧是处于下一密钥改变定时上的帧。更具体地说,值2’b11(=3)表明所述密钥改变定时在目标帧后的三个帧之后出现。值2’b10(=2)表明所述密钥改变定时在目标帧后两个帧的那一帧处出现。值2’b01(=1)表明所述密钥改变定时在目标帧后一个帧的那一帧(即,下一帧)处出现。值2′b00(=0)表明所述密钥改变定时在目标帧中出现。
所述HD-SDI链路编号表明HD-SDI信号在加密设备1和解密设备2之间的传输模式(在此实施例中,是元数据已覆盖并已加密的AV数据的传输模式)。也就是说,例如,如果把值“0”分配给HD-SDI链路编号,那么可以选择单链路(使用一个HD-SDI接口的传输模式)或者双链路的链路-A(使用两个HD-SDI接口的传输模式)。如果把值“1”分配给“HD-SDI链路编号”,那么选择双链路的链路-B。
插入所述目标帧中的元数据64-1和64-2的所述ELEKP(更确切的说,是加密之前的LEKP)中包含的LE密钥61-E用于加密目标帧之后的帧。也就是说,用于所述目标帧的LE密钥61-E被包括在元数据64-1和64-2的ELEKP(更确切地说,是加密之前的LEKP)中,其中所述元数据64-1和64-2被插入到目标帧的先前帧中。
返回参考图1,如上所述,在此实施例中,通过加密设备1来生成其中所述元数据64-1至64-3被覆盖了的已加密AV数据(即,元数据已覆盖并已加密的AV数据),并且所述已加密AV数据被传输(递送)至解密设备2。
在图1所示的例子中,具有这种结构的解密设备2包括元数据提取单元21和解密单元22。
所述元数据提取单元21从元数据已覆盖并已加密的AV数据中提取诸如元数据64(在此实施例中,是元数据64-1至64-3)的信息,其中所述元数据已覆盖并已加密的AV数据是从加密设备1递送的。此后,所述元数据提取单元21生成LE密钥61-D、AES输入62-D和帧重置63-D,并且把这些数据递送至解密单元22。所述LE密钥61-D、AES输入62-D和帧重置63-D分别被恢复为在加密设备1中用于加密已加密AV数据的LE密钥61-E、AES输入62-E和帧重置63-E。因此,从不同的角度来看,所述元数据提取单元21恢复了LE密钥61-E、AES输入62-E和帧重置63-E,并且把已恢复的数据递送到解密单元22。
下面参考图5来详细说明元数据提取单元21。
在图1所示的例子中,所述解密单元22包括AES解密数据生成单元41和AV数据解密单元42。
所述AES解密数据生成单元41使用从元数据提取单元21递送的LE密钥61-D和AES输入62-D,生成用于直接解密已加密AV数据(使用AES加密的AV数据)的数据66。此后,把数据66称为“AES解密数据66”。然后,所述AES解密数据生成单元41把AES解密数据66递送至AV数据解密单元42。也就是说,所述AES解密数据66是对应于AES加密数据65的解密数据。
所述AV数据解密单元42使用从AES解密数据生成单元41递送的AES解密数据66来解密所述已加密AV数据。然后,所述AV数据解密单元42向外输出所得到的AV数据(恢复的AV数据)。在这时,所述AV数据解密单元42使用从元数据提取单元21递送的帧重置63-D来逐帧地解密所述已加密AV数据。
下面参考图5来详细说明元数据提取单元21。图5详细地举例说明了元数据提取单元21的示例性配置。
如图5所示,所述元数据提取单元21包括从元数据提取和分离单元101到密钥改变定时校正单元111的组件。
所述元数据提取和分离单元101从元数据已覆盖并已加密的AV数据中提取诸如元数据64(在此实施例中,是图2至4中所示的元数据64-1至64-3)的信息,其中所述元数据已覆盖并已加密的AV数据是从加密设备1递送的。另外,元数据提取和分离单元101分离元数据64中包括的各种信息。
更具体地说,例如,如图5中所示,所述元数据提取和分离单元101提取或者分离LEKM 121、当前LE_key ID 122、下一LE_key ID123、密钥改变定时124、帧/行重置129、HD-SDI链路编号133和当前帧计数134。
所述帧/行重置129包括帧重置130和行重置131。如上所述,所述LEKM 121是分配给元数据64-1和元数据64-2的用户数据的值。当前LE_key ID 122是分配给元数据64-3的当前LE_key ID的值。下一LE_key ID 123是分配给元数据64-3的下一LE_key ID的值。所述密钥改变定时124是分配给元数据64-3的密钥改变定时的值。所述HD-SDI链路编号133是分配给元数据64-3的HD-SDI链路编号的值。所述当前帧计数134是分配给元数据64-3的当前帧计数的值。
所述LEKM 121被递送到LEKP恢复单元102。所述当前LE_keyID 122和下一LE_key ID 123被递送到LEKP表103和密钥改变定时校正单元111。所述密钥改变定时124被递送到密钥改变触发生成单元104和密钥改变定时校正单元111。所述当前帧计数134被递送到寄存器107。所述帧重置130被递送到密钥改变触发生成单元104。所述行重置131被递送到计数器108。包括帧重置130和行重置131的帧/行重置129被递送到解密单元22。所述帧/行重置129对应于图1中所示的帧重置63-D。所述HD-SDI链路编号133被递送到寄存器109。
所述LEKP恢复单元102从LEKM 121中恢复LEKP。把LEKP与LEKP的密钥ID相关联地存储在LEKP表103中。也就是说,如上所述,所述LEKM 121是分配给图2所示的元数据64-1和图3所示的元数据64-2的用户数据的值。所述用户数据包括ELEKP(在图2和3中被示为“Elekp数据”)。如上所述,所述ELEKP是通过使用RSA来加密LEKP而获得的数据。因此,所述LEKP恢复单元102使用用于生成ELEKP的公钥的密钥对(私钥)来加密LEKM 121中包含的ELEKP。然后,所述LEKP恢复单元102把所获得的LEKP(恢复的LEKP)与LEKP的密钥ID相关联地存储在LEKP表103中。
由此,把一个或多个LEKP与用于标识LEKP的密钥ID相关联地存储在LEKP表103中。如上所述,存储在LEKP表103中的LEKP包括LE密钥61-D(图1中所示的已恢复的LE密钥61-E)和多个附加信息项。依照此实施例,其中一个附加信息项是Le_attribute_data126,其是图1中所示的AES输入62-E的元素之一。因此,当接收到来自寄存器105的请求时(在接收到密钥改变命令之后的预定时间,其中密钥改变命令将在下面描述),所述LEKP表103把下述LEKP中包含的LE密钥61-D(以下简称为“当前LE密钥61-D”)和Le_attribute_data 126(以下简称为“当前Le_attribute_data 126”)存储在寄存器105中,其中所述LEKP具有等于当前LE_key ID 122的密钥ID。作为选择,所述LEKP表103把下述LEKP中包含的LE密钥61-D(以下简称为“下一LE密钥61-D”)和Le_attribute_data 126(以下简称为“下一Le_attribute_data 126”)存储在寄存器105中,其中所述LEKP具有等于下一LE_key ID 123的密钥ID。
每当递送帧重置130时,密钥改变触发生成单元104把密钥改变触发127递送至寄存器105。更具体地说,例如,密钥改变触发127的示例包括密钥改变允许命令和密钥改变禁止命令。将这两个命令之一递送到寄存器105。在此情况下,所述密钥改变触发生成单元104监控密钥改变定时124的值。当所述值等于2′b00(=0)时,即当目标帧处于密钥改变定时的时候,所述密钥改变触发生成单元104把密钥改变允许命令作为密钥改变触发127递送至寄存器105。相反,当所述值是除了2′b00(=0)以外的值时,所述密钥改变触发生成单元104把密钥改变禁止命令作为密钥改变触发127递送至寄存器105。
总体上讲,所述寄存器105存储当前LE密钥61-D和当前Le_attribute_data 126。
当接收到密钥改变禁止命令作为密钥改变触发127时,寄存器105把当前LE密钥61-D递送至解密单元22,并且把当前Le_attribute_data 126递送至AES输入生成单元110。由此,所述解密单元22使用当前LE密钥61-D来解密目标帧(利用AES加密的帧数据)。
相反,当接收到密钥改变允许命令作为密钥改变触发127时,所述寄存器105请求对LEKP表103的存储信息进行更新。随后,如上所述,所述LEKP表103在寄存器105中存储当接收到来自寄存器105的请求时的时间点处的下一LE密钥61-D以及下一Le_attribute_data 126。也就是说,在执行密钥改变之后,把下一LE密钥61-D以及下一Le_attribute_data 126作为新的当前LE密钥61-D以及当前Le_attribute_data 126存储在寄存器105中。此后,把当前LE密钥61-D(其为下一LE密钥61-D)递送到解密单元22,并且把当前Le_attribute_data 126(其为下一Le_attribute_data 126)递送到AES输入生成单元110。由此,在解密单元22中,将用于解密的LE密钥61-D从当前LE密钥61-D更新为下一LE密钥61-D(即,新的当前LE密钥61-D)。此后,所述解密单元22解密目标帧(利用AES加密的帧数据)。
寄存器107保存当前帧计数134,并且根据需要把当前帧计数134递送至AES输入生成单元110。
每当计数器108接收到行重置131时,所述计数器108就把计数值加一,并且把所述计数值递送至AES输入生成单元110。
寄存器109保存HD-SDI链路编号133,并且根据需要把HD-SDI链路编号133递送至AES输入生成单元110。
由此,所述AES输入生成单元110接收来自寄存器105的Le_attribute_data 126、来自寄存器107的当前帧计数134、来自元数据提取和分离单元101的HD SDI行编号132、来自计数器108的计数值以及来自寄存器109的HD-SDI链路编号133。此后,所述AES输入生成单元110生成AES输入62-D,其至少包括Le_attribute_data126、当前帧计数134、HD SDI行编号132、来自计数器108的计数值以及HD-SDI链路编号133。也就是说,所述AES输入生成单元110恢复图1中所示的AES输入62-E,并且把AES输入62-D递送至解密单元22。
所述密钥改变定时校正单元111监控存储在LEKP表103中的LE密钥61-D的密钥ID 151(即,将在下一密钥改变定时被改变的LE密钥61-D的密钥ID 151,并且此后将其称为“密钥改变密钥ID151”)、当前LE_key ID 122和下一LE_key ID 123,以便确定由LEPK恢复单元102执行的LE密钥61-D的解密处理是否已经及时完成了。如果密钥改变定时校正单元111确定由LEPK恢复单元102执行的LE密钥61-D的解密处理仍未及时完成,那么当LEPK恢复单元102已经完成了下一LE密钥61-D的解密时,密钥改变定时校正单元111向密钥改变触发生成单元104输出密钥改变定时的校正命令。由此,所述密钥改变触发生成单元104校正密钥改变定时,即所述密钥改变触发生成单元104把密钥改变触发127强制地改变为密钥改变命令。
接下来参考图6至9来描述密钥改变定时校正单元111(包括其中的操作)的细节。
也就是说,依照本实施例,如上所述,按照预定的更新时段(最小更新时段是1分钟)来更新用于利用AES加密AV数据的LE密钥(AES密钥)61-E。图6中举例说明了更新处理的例子。也就是说,在图6中所示的例子中,在时间t0e和时间t1e之间,使用具有密钥ID=X的LE密钥61-E来加密AV数据,其中时间t1e是密钥改变定时-1。在时间t1e过去之后,在时间t1e和时间t2e之间,使用具有密钥ID=Y的LE密钥61-E来加密AV数据,其中时间t2e是密钥改变定时-2。在时间t2e过去之后,使用具有密钥ID=Z的LE密钥61-E来加密AV数据。
在此情况下,在解密设备2中,如果从时间t0d开始,使用具有密钥ID=X的LE密钥61-D来解密已加密的AV数据,那么,一般说来,具有密钥ID=Y的LE密钥61-D是在时间t1d前预备的,其中时间t1d是密钥改变定时-1。也就是说,到时间t1d时,具有密钥ID=Y的LE密钥61-D作为下一LE密钥61-D被存储在图5中所示的LEKP表103中。由于把具有密钥ID=X的LE密钥61-D从寄存器105输出到解密单元22,直到到达时间t1d为止,所以在由解密单元22执行的解密操作中使用具有密钥ID=X的LE密钥61-D。
当到达时间t1d时,所述密钥改变触发生成单元104向寄存器105提供密钥改变命令。由此,所述寄存器105请求LEKP表103更新存储在寄存器105中的信息。随后,所述LEKP表103把请求时从寄存器105发送的下一LE密钥61-D、即具有密钥ID=Y的LE密钥61-D存储在寄存器105中。因此,在此时间点之后,具有密钥ID=Y的LE密钥61-D被输出到解密单元22。也就是说,从时间t1d到时间t2d,在由解密单元22执行的解密操作中使用具有密钥ID=Y的LE密钥61-D,其中时间t2d是下一密钥改变定时-2。
另外,一般说来,到时间t2d(其是下一密钥改变定时-2)时,预备具有密钥ID=Z的LE密钥61-D。也就是说,把具有密钥ID=Z的LE密钥61-D作为下一LE密钥61-D存储在图5中所示的LEKP表103中。
随后,当到达时间t2d时,所述密钥改变触发生成单元104向寄存器105提供密钥改变命令。由此,所述寄存器105请求LEKP表103更新存储在寄存器105中的信息。随后,所述LEKP表103把请求时从寄存器105发送的下一LE密钥61-D、即具有密钥ID=Z的LE密钥61-D存储在寄存器105中。因此,在此时间点之后,具有密钥ID=Z的LE密钥61-D被输出到解密单元22。也就是说,在时间t2d之后,在由解密单元22执行的解密操作中使用具有密钥ID=Z的LE密钥61-D。
然而,如图7所示,假定由LEPK恢复单元102执行的解密操作被延迟,因此,到时间t1d时,无法预备具有密钥ID=Y的LE密钥61-D,其中时间t1d是密钥改变定时-1,即,在图7所示的例子中,在时间tad,预备具有密钥ID=Y的LE密钥61-D,其中时间tad是时间t1d之后的时间。
在此情况下,由于到时间t1d时还没有预备具有密钥ID=Y的LE密钥61-D,所以具有密钥ID=Y的LE密钥61-D仍未被存储在图5中所示的LEKP表103中。因此,仍然把具有密钥ID=X的LE密钥61-D作为下一LE密钥61-D保持在LEKP表103中。
当以此状态到达时间t1d时,密钥改变触发生成单元104向寄存器105提供密钥改变命令。由此,所述寄存器105请求LEKP表103更新存储在寄存器105中的信息。随后,所述LEKP表103把请求时从寄存器105发送的下一LE密钥61-D、即具有密钥ID=X的LE密钥61-D存储在寄存器105中。因此,甚至在此时间点之后,具有密钥ID=X的LE密钥61-D也继续被输出到解密单元22。因此,在时间t1d之后,所述解密单元22使用密钥ID=X的不同AES密钥LE密钥61-D来解密已加密AV数据(帧),其中所述已加密AV数据已经使用密钥ID=Y的LE密钥61-E加密了。由此,所述解密单元22无法正确地解密已加密AV数据。
此问题一直继续,至少持续到时间t2d为止,其中时间t2d是下一密钥改变定时-2。
因此,为了使此问题最小化,本发明人已经提出了如下方法,其如图8所示。也就是说,在此方法中,AES密钥仍未被及时解密的时间(到时间t1d时,在图8所示的例子中,其中时间t1d是密钥改变定时-1),即将要由解密单元22使用的正确AES密钥到达的时间,被确定为强制性的密钥改变定时(以下简称为“强制性密钥改变定时”)。也就是说,依照本实施例,该时间是由图5中所示的LEPK恢复单元102执行的RSA解密操作完成的时间,并且把所得到的具有密钥ID=Y的LE密钥61-D作为下一LE密钥61-D存储在LEKP表103中。
更具体地说,在图8中所示的情况中,即在采用依照此实施例如图5中示出的元数据提取单元21的情况下,可以实现如下操作的方法是本发明此实施例的方法示例。
也就是说,在图8所示出的例子中,所述密钥改变定时校正单元111确定LEPK恢复单元102到时间t1d时是否已经完成了RSA解密处理,其中时间t1d是密钥改变定时-1。也就是说,所述密钥改变定时校正单元111确定作为LE密钥61-D存储在LEKP表103中的AES密钥是否是正确的密钥(即,具有密钥ID=Y的LE密钥61-D)。此确定处理是通过把从元数据提取和分离单元101发送的当前LE_keyID 122和下一LE_key ID 123(其包含在元数据64-3中)与来自LEKP表103的密钥改变密钥ID 151进行比较来进行的。
也就是说,如果在紧挨在时间t1d之前的时间下一LE_key ID123等于具有值“Y”的密钥改变密钥ID 151,那么确定所述RSA解密已经及时完成了。
然而,在图8所示出的例子中,在紧挨在时间t1d之前的时间,由于当前LE_key ID 122等于具有值“X”的密钥改变密钥ID 151,那么确定RSA解密未及时完成。在此情况下,所述密钥改变定时校正单元111声明一个RSA信号延迟标志(设置RSA信号延迟标志为ON)。
当所述RSA信号延迟标志被声明时,并且当到达使当前LE_keyID 122等于具有值Y的密钥改变密钥ID的时间tad时,即当到达将具有密钥ID=Y的LE密钥61-D作为下一LE密钥61-D存储在LEKP表103中的时间tad时,所述密钥改变定时校正单元111确定具有密钥ID=Y的LE密钥61-D是为密钥改变定时-1预备的AES密钥,而不是为密钥改变定时-2预备的AES密钥。随后,为了强制地更新AES密钥,所述密钥改变定时校正单元111确定正确的AES密钥到达时的时间tad是强制性密钥改变定时,并且把密钥改变定时的校正命令输出至密钥改变触发生成单元104。
此后,所述密钥改变触发生成单元104强制地把密钥改变触发127改变为密钥改变命令。
由此,所述寄存器105请求LEKP表103更新存储在寄存器105中的信息。随后,所述LEKP表103把请求时从寄存器105发送的下一LE密钥61-D、即正确的LE密钥61-D(在图8所示出的例子中,是具有密钥ID=Y的LE密钥61-D)存储在寄存器105中。因此,在强制性密钥改变定时(在图8所示出的例子中,是时间tad)之后,把正确的AES密钥(在图8所示出的例子中,是具有密钥ID=Y的LE密钥61-D)从寄存器105输出到解密单元22。
可以实现上述处理的方法是依照本发明此实施例的方法示例。
通过执行上述处理,从正确的AES密钥到达时的时间tad开始,解密单元22可以使用正确的密钥(在图8所示出的例子中,是具有密钥ID=Y的LE密钥61-D)来执行解密操作,以便可以使由RSA解密的延迟引起的不良影响最小化。也就是说,如果不应用依照本发明此实施例的上述方法(例如,在图7中所示的情况中),那么在时间t1d和时间t2d之间,由RSA解密的延迟引起的不良影响继续存在。相反,当应用了依照本发明实施例的上述方法时(即,在图8中所示的情况中),在时间t1d和时间tad之间,由RSA解密的延迟引起的不良影响继续存在。因此,如图8所示,到时间T1时,由RSA解密延迟引起的不良影响可以被减少。
一般地说,可以实现依照图9中所示的流程图的上述处理的方法是依照本发明此实施例的方法示例。也就是说,图9举例说明了用于实现此方法的处理的示例,即,密钥改变定时校正单元111的示例性操作的流程图。
在步骤S1,所述密钥改变定时校正单元111确定下一密钥改变定时(更确切的说,紧挨在下一密钥改变定时之前的时间)是否已经到达。
如果在步骤S1确定下一密钥改变定时仍未到达,那么所述处理返回到步骤S1,其中再一次确定下一密钥改变定时是否到达。
然而,如果在步骤S1确定下一密钥改变定时已经到达,那么所述处理进行到步骤S2。
在步骤S2,所述密钥改变定时校正单元111确定下一LE_key ID123是否等于密钥改变密钥ID 151。
如果在步骤S2确定所述下一LE_key ID 123等于密钥改变密钥ID 151,那么在步骤S3,密钥改变定时校正单元111确定由LEPK恢复单元102执行的LE密钥61-D的解密处理已经及时完成了。此后,所述处理进行到步骤S9。稍后提供对步骤S9之后执行的处理的描述。
相反,如果在步骤S2确定下一LE_key ID 123不等于密钥改变密钥ID 151,那么所述处理进行到步骤S4。在步骤S4,所述密钥改变定时校正单元111确定由LEPK恢复单元102执行的LE密钥61-D的解密处理未及时完成。此后,所述密钥改变定时校正单元111把上述RSA解密标志设置为ON(即,所述密钥改变定时校正单元111声明RSA解密标志)。
在步骤S5,所述密钥改变定时校正单元111确定下一密钥改变定时(更确切的说,紧挨在下一密钥改变定时之前的时间)是否已经到达。
如果在步骤S5确定下一密钥改变定时已经到达,那么所述处理返回到步骤S8。稍后提供对步骤S8之后执行的处理的描述。
然而,如果在步骤S5确定下一密钥改变定时还未到达,那么所述处理返回到步骤S6。
在步骤S6,所述密钥改变定时校正单元111确定当前LE_key ID122是否等于密钥改变密钥ID 151。即,如上所述,通过在步骤S6确定当前LE_key ID 122是否等于密钥改变密钥ID 151,确定是否预备了下一LE密钥61-D(其是用于解密的LE密钥61-D)(即,确定下一LE密钥61-D是否作为下一LE密钥61-D被存储在LEKP表103中)。
如果在步骤S6确定当前LE_key ID 122不等于密钥改变密钥ID151,即如果确定下一LE密钥61-D没有被预备作为用于解密的LE密钥61-D,那么所述处理返回到步骤S5。此后,重复执行步骤S5之后的处理。也就是说,在充当用于解密的LE密钥61-D的下一LE密钥61-D被预备之前,循环步骤S5“否”和步骤S6“否”。然而,所述循环继续进行,最多直到下一密钥改变定时出现为止。如上所述,当下一密钥改变定时出现时,所述处理进行到步骤S8,这部分内容将在下面进行描述。
另外,如果在下一密钥改变定时出现之前、下一LE密钥61-D被预备作为用于解密的LE密钥61-D,那么在步骤S6确定所述当前LE_key ID 122等于密钥改变密钥ID 151,因此所述处理进行到步骤S7。
在步骤S7,所述密钥改变定时校正单元111例如把步骤S7的起始时间点确定为强制性密钥改变定时,并且向密钥改变触发生成单元104发布密钥改变定时的校正命令。
此后,如上所述,所述密钥改变触发生成单元104强制地把密钥改变触发127改变为密钥改变命令。由此,所述寄存器105请求LEKP表103更新存储在寄存器105中的信息。随后,所述LEKP表103把请求时从寄存器105发送的下一LE密钥61-D、即正确的LE密钥61-D存储在寄存器105中。因此,在强制性密钥改变定时之后,正确的AES密钥从寄存器105输出到解密单元22。
如果步骤S7完成,或者在步骤S5确定测试结果为“是”,那么所述处理进行到步骤S8。
在步骤S8,所述密钥改变定时校正单元111把RSA解密标志重置为OFF(即,释放所声明的状态)。
在步骤S9,所述密钥改变定时校正单元111确定密钥改变定时校正单元111是否已经接收到用于停止处理的指令。
如果在步骤S9确定密钥改变定时校正单元111仍未接收到用于停止处理的指令,那么所述处理返回到步骤S1。此后,重复步骤S1之后的处理。
然而,如果在步骤S9确定所述密钥改变定时校正单元111已经接收到用于停止处理的指令,那么密钥改变定时校正单元111的处理就完成了。
至此,已经描述了作为依照本发明实施例的信息处理设备的具有图1中所示配置的解密设备2(包括具有图5中所示的配置的元数据提取单元21的解密设备2)。
然而,依照本发明实施例的信息处理设备不局限于上述的解密设备。解密设备的任何实施例均是可利用的。
也就是说,本发明的信息处理设备可以通过满足如下条件的任何也就是说,信息处理设备使用包括更新信息的元数据来解密已加密数据(通过加密流数据获得的数据)。所述已加密数据是依照第一加密方法来加密的,在第一加密方法中,当使用根据预定的规则更新的加密密钥来在逐个单元的基础上顺序地加密包括多个连续数据单元的流数据时,使用在加密时存在的加密密钥。所述更新信息标识用于加密流数据的多个加密密钥以及多个加密密钥的更新定时。所述信息处理设备包括解密单元和元数据获取单元。所述解密单元获取加密数据,并且使用解密密钥来解密加密数据的多个加密数据单元的每一个,其中所述解密密钥对应于多个加密密钥当中用于加密该数据单元的加密密钥。所述元数据获取单元获取所述元数据,并且生成与元数据中包含的多个加密密钥之一相对应的多个解密密钥的每一个。所述元数据获取单元把解密密钥中相应的一个解密密钥递送至解密单元。多个加密密钥是依照第二加密方法来加密的。所述元数据获取单元包括解密密钥生成单元、更新指示单元、解密密钥输出单元和更新指令控制单元。所述解密密钥生成单元通过解密所述元数据中包含的并且使用第二加密方法按照下述顺序加密的多个加密密钥之一,来顺序地生成多个解密密钥的每一个,其中所述顺序是把加密密钥用于加密的顺序。所述更新指示单元标识与加密密钥之一的更新定时相对应的每个解密密钥的更新定时,并且在每一标识出的更新定时发布更新命令。所述解密密钥输出单元输出由解密密钥生成单元生成的第一解密密钥,直到更新指示单元向解密单元发布更新命令为止。在更新指示单元发布更新命令之后,所述解密密钥输出单元向解密单元输出由解密密钥生成单元在第一解密密钥之后生成的第二解密密钥。所述更新指令控制单元确定在解密密钥的每一个更新定时出现以前、是否已经由解密密钥生成单元生成了第二解密密钥。如果所述更新指令控制单元确定仍未生成第二解密密钥,那么更新指令控制单元监控所述第二解密密钥是否被生成了。当生成了第二解密密钥时,所述更新指令控制单元把该时间点视为从第一解密密钥到第二解密密钥的更新定时,以便控制所述更新指示单元发布更新命令。如果信息处理设备满足这些条件,那么此信息处理设备可适用于本发明的任何实施例。
也就是说,如果所述解密单元、元数据获取单元、解密密钥生成单元、更新指示单元、解密密钥输出单元和更新指令控制单元具有上述功能,那么这些单元可适用于本发明的任何实施例。
上述一系列处理不仅可以由硬件而且也可以由软件来执行。当上述一系列处理由软件执行时,把软件程序从程序记录介质安装到并入在专用硬件的计算机、或者通过在其中安装各种程序而可以执行各种功能的计算机(例如,通用个人计算机)中。
图10是用于执行实现上述一系列操作的程序的个人计算机的示例性结构框图。也就是说,例如,当使用程序来执行上述一系列操作时,元数据提取单元21等可以使用具有图8中所示的结构的个人计算机或者个人计算机的一部分来实现。
在图10中,中央处理单元(CPU)201依照存储在只读存储器(ROM)202或者存储单元208中的程序来执行各种处理。随机存取存储器(RAM)203根据需要存储由CPU 201执行的程序和数据。所述CPU 201、ROM 202和RAM 203经由总线204彼此相连。
另外,输入和输出接口205经由总线204与CPU 201相连。包括键盘、鼠标和麦克风的输入单元206以及包括显示器和扬声器的输出单元207与输入和输出接口205相连。所述CPU 201响应于来自输入单元206的命令输入来执行各种处理。随后,所述CPU 201把处理结果输出至输出单元207。
连接至输入和输出接口205的存储单元208包括例如硬盘,并且存储由CPU 201执行的程序和各种数据。通信单元209经由网络(诸如因特网和局域网)与外部设备通信。
另外,所述程序可以经由通信单元209获取,并且可以被存储在存储单元208中。
当安装了可移除介质211时,连接至输入和输出接口205的驱动器210驱动可移除介质211,该可移除介质211诸如为磁盘、光盘、磁光盘或者半导体存储器。由此,所述驱动器210获取存储在可移除介质211中的程序和数据。另外,将所获取的程序和数据根据需要传送到存储单元208,以便把传送的程序和数据存储在存储单元208中。
如图10所示,用于在把程序安装在计算机中后存储计算机可执行程序的程序记录介质的示例包括可移除介质211、用于临时或者永久地存储程序的ROM 202以及充当存储单元208的硬盘。所述可移除介质211是封装介质,其包括磁盘(包括软盘)、光盘(包括光盘-只读存储器(CD-ROM)和数字多用途光盘(DVD))、磁光盘和半导体存储器。使用诸如局域网、因特网或者卫星广播网络之类的有线或无线通信介质,经由充当与路由器或调制解调器的接口的通信单元209,把程序存储在程序记录介质中。
正如此处使用的那样,用于描述在程序记录介质中存储程序的步骤不仅包括依照上述顺序执行的处理,而且包括并行或独立执行的处理。
正如此处使用的那样,术语“系统”指的是多个设备的组合。
此外,本发明的实施例不仅适用于图1中所示的上述系统,而且还适用于各种系统。例如,在图1中所示的例子中,把元数据64和通过借助于AV数据加密单元32加密AV数据所获得的已加密AV数据一起作为元数据已覆盖并已加密的AV数据、从加密设备1传输到解密设备2。然而,所述元数据64和已加密的AV数据未必一起传输。也就是说,本发明的实施例可适用于这样的系统,其经由与用于已加密AV数据的传输通道不同的传输通道来传输元数据。
本领域技术人员应该理解的是,根据设计要求以及其它因素,可以进行各种修改、组合、子组合以及改变,只要它们都被包括在所附权利要求书或者其等效内容的范围内即可。
权利要求
1.一种信息处理设备,被配置为使用元数据来解密已加密数据,其中所述已加密数据是通过依照第一加密方法来加密包括多个连续数据单元的流数据而获得的,在第一加密方法中,当以逐个单元为基础来顺序地加密流数据时,根据预定的规则来更新用于加密数据单元中对应的一个数据单元的多个加密密钥的每一个,所述元数据包括用于加密流数据的多个加密密钥以及用于标识多个加密密钥的更新定时的更新信息,所述设备包括解密器,被配置为获取已加密数据,并且使用解密密钥来解密所述已加密数据中的每个已加密数据单元,其中所述解密密钥对应于多个加密密钥当中用于加密该数据单元的加密密钥;以及元数据获取器,被配置为获取所述元数据,生成与元数据中包含的多个加密密钥之一相对应的多个解密密钥的每一个,并且根据所述元数据中包含的更新信息把多个解密密钥中对应的一个解密密钥递送给解密器;其中,多个加密密钥是依照第二加密方法来加密的,并且所述元数据获取器包括解密密钥生成单元、更新指示单元、解密密钥输出单元以及更新指令控制单元,并且其中所述解密密钥生成单元通过解密元数据中包含的、并且使用第二加密方法依照下述顺序加密的多个加密密钥之一,来顺序地生成多个解密密钥的每一个,其中所述顺序是使用加密密钥来加密的顺序,并且其中所述更新指示单元标识与加密密钥之一的更新定时相对应的每个解密密钥的更新定时,并且在每一标识出的更新定时发布更新命令,并且其中所述解密密钥输出单元向解密器输出由解密密钥生成单元生成的第一解密密钥,直到所述更新指示单元发布更新命令为止,并且在所述更新指示单元发布更新命令之后,把由解密密钥生成单元在第一解密密钥之后生成的第二解密密钥输出至解密器,并且其中所述更新指令控制单元确定在第一解密密钥被更新为第二解密密钥以前是否已经由解密密钥生成单元生成了第二解密密钥,并且如果更新指令控制单元确定仍未生成第二解密密钥,那么监控所述第二解密密钥是否被生成了,并且其中当生成了第二解密密钥时,所述更新指令控制单元把第二解密密钥的生成时间点视为从第一解密密钥到第二解密密钥的更新定时,以便控制所述更新指示单元发布更新命令。
2.如权利要求1所述的信息处理设备,其中,多个加密密钥的每一个都包括用于标识加密密钥的密钥ID,并且所述元数据包括元分组1、2和3,所述元分组是为多个数据单元中的每一个生成的,并且符合电影与电视工程师学会(SMPTE)291M,并且其中依照第二加密方法加密的多个加密密钥中预定的一个加密密钥被包括在与预定数据单元相关联的元分组1和2中,并且其中至少下一密钥ID以及当前密钥ID被包括在与每个数据单元相关联的元分组3中。
3.如权利要求2所述的信息处理设备,其中,所述更新指令控制单元把下述两个值进行比较与紧挨在从第一解密密钥到第二解密密钥的更新定时之前由解密密钥生成单元生成的解密密钥相对应的加密密钥的密钥ID,以及与紧挨在从第一解密密钥到第二解密密钥的更新定时之前的数据单元相关联的元分组3中包含的下一密钥ID,并且其中如果密钥ID等于下一密钥ID,那么所述更新指令控制单元确定第二解密密钥已经由解密密钥生成单元生成了,并且其中如果密钥ID不等于下一密钥ID,那么所述更新指令控制单元确定所述第二解密密钥仍未由解密密钥生成单元生成。
4.如权利要求3所述的信息处理设备,其中,如果所述更新指令控制单元确定所述第二解密密钥仍未由解密密钥生成单元生成,那么所述更新指令控制单元把下述两个值进行比较与在做出该确定时的第一时间点之后由解密密钥生成单元生成的最新解密密钥相对应的加密密钥的密钥ID,以及与第一时间点之后的数据单元相关联的元分组3中包含的当前密钥ID,并且其中如果密钥ID等于当前密钥ID,那么所述更新指令控制单元确定第二解密密钥已经由解密密钥生成单元生成了,并把做出该确定时的第二时间点视为从第一解密密钥到第二解密密钥的更新定时,并且强制所述更新指示单元发布更新命令。
5.一种用于在信息处理设备中使用的信息处理方法,所述信息处理设备被配置为使用元数据来解密已加密数据,其中所述已加密数据是通过依照第一加密方法来加密包括多个连续数据单元的流数据而获得的,在第一加密方法中,当以逐个单元为基础来顺序地加密流数据时,根据预定的规则来更新用于加密数据单元中对应的一个数据单元的多个加密密钥的每一个,所述元数据包括用于加密流数据的多个加密密钥以及用于标识多个加密密钥的更新定时的更新信息,所述信息处理设备包括解密器,其被配置为获取已加密数据并且使用解密密钥来解密所述已加密数据中的每个已加密数据单元,其中所述解密密钥对应于多个加密密钥当中用于加密该数据单元的加密密钥,其中多个加密密钥是依照第二加密方法来加密的,所述方法包括如下步骤获取所述元数据;通过解密所述元数据中包含的并且使用第二加密方法按照下述顺序加密的多个加密密钥之一,来顺序地生成多个解密密钥的每一个,其中所述顺序是把加密密钥用于加密的顺序;标识与加密密钥之一的更新定时相对应的每个解密密钥的更新定时,并且在每一标识出的更新定时发布更新命令;输出第一生成的解密密钥,直到发布了所述更新命令为止,并且在发布更新命令之后,输出在第一解密密钥之后生成的第二解密密钥;并且确定在把第一解密密钥更新为第二解密密钥之前是否已经生成了第二解密密钥,如果所述第二解密密钥仍未生成,则监控是否生成了所述第二解密密钥,并且当生成了第二解密密钥时,把第二解密密钥的生成时间点视为从第一解密密钥到第二解密密钥的更新定时,以便对发布所述更新命令执行控制。
6.一种程序,用于使计算机使用元数据来解密已加密数据,其中所述已加密数据是通过依照第一加密方法来加密包括多个连续数据单元的流数据而获得的,在第一加密方法中,当以逐个单元为基础来顺序地加密流数据时,根据预定的规则来更新用于加密数据单元中对应的一个数据单元的多个加密密钥的每一个,所述元数据包括用于加密流数据的多个加密密钥以及用于标识多个加密密钥的更新定时的更新信息,所述程序使计算机获取已加密数据并且使用解密密钥来解密所述已加密数据中的每个已加密数据单元,其中所述解密密钥对应于多个加密密钥当中用于加密该数据单元的加密密钥,其中多个加密密钥是依照第二加密方法来加密的,所述程序包括如下步骤获取所述元数据;通过解密所述元数据中包含的并且使用第二加密方法按照下述顺序加密的多个加密密钥之一,来顺序地生成多个解密密钥的每一个,其中所述顺序是把加密密钥用于加密的顺序;标识与加密密钥之一的更新定时相对应的每个解密密钥的更新定时,并且在每一标识出的更新定时发布更新命令;输出第一生成的解密密钥,直到发布了所述更新命令为止,并且在发布更新命令之后,输出在第一解密密钥之后生成的第二解密密钥;并且确定在把第一解密密钥更新为第二解密密钥之前是否已经生成了第二解密密钥,如果所述第二解密密钥仍未生成,则监控是否生成了所述第二解密密钥,并且当生成了第二解密密钥时,把第二解密密钥的生成时间点视为从第一解密密钥到第二解密密钥的更新定时,以便对发布所述更新命令执行控制。
全文摘要
一种信息处理设备使用依照第二加密方法加密的密钥来解密依照第一加密方法加密的流数据。在所述设备中,更新指示单元标识解密密钥的更新定时并且发布更新命令。解密密钥输出单元在接收到更新命令以前输出第一解密密钥,并且在接收到更新命令之后输出在第一解密密钥之后生成的第二解密密钥。更新指令控制单元确定在把第一解密密钥更新为第二解密密钥以前是否已经生成了第二解密密钥。当生成第二解密密钥时,所述更新指令控制单元把第二解密密钥的生成时间点视为从第一解密密钥到第二解密密钥的更新定时,以便控制所述更新指示单元发布更新命令。
文档编号H04L9/16GK1909450SQ200610110070
公开日2007年2月7日 申请日期2006年8月4日 优先权日2005年8月4日
发明者祖田淳 申请人:索尼株式会社