用于基于密钥块的验证的系统和方法

文档序号:6568012阅读:118来源:国知局
专利名称:用于基于密钥块的验证的系统和方法
用于基于密钥块的验证的系统和方法本发明涉及一种用于基于密钥块的马^i正的系统和方法,包括有包含多个子 集的多个驱动单元,其中一个驱动单元具有一个节点密钥集和一个指示所述驱 动单元是其一部分的子集的标识符,并且其中应用单元具有一个密钥块。基于密钥块的-^i正协议是 ^口的,并且被用于例如光盘驱动和主计算机系 统上运行的软件应用之间,根据视频内容保护系统VCPS (参见 http: //www. licensing, philips, com/vcps ), -险"i正十办i义需要由具有马区动的应用 来寺似亍,以访问受VCPS保护的盘。如在VCPS规范(版本1. 1及更^J&^)中 规定的,所述应用包含应用密钥块(AKB)以及可选地包4舒贞计算的根密钥KRraDt 的拷贝,该根密钥被编码入AKB中。所述应用还可以使用它的设备ID和它的节 点密钥KNh的集合^/人AKB中动态计算KR咖。通常,每个应用包含一个具有个 人化的KRr。。t的AKB。不幸的是,在所述应用中动态计算KR咖使得即^X有单个应用被攻击了, 所有的应用对于密钥发布攻击也;Oi弱的。这种脆弱性的原因是,黑客可以使 用从受攻击的应用中提取的节点密钥KNh来确定所有其他应用的AKB中所包含 的根密钥KR誠,即使那些应用包含的是具有唯一根密钥KRr。。t的个人化AKB。因 此,黑客可以发布一个包含所有根密钥KRro。t的数据库,而不披ll^皮攻击的应用 的身份(也就是用于构建该数据库的节点密钥KNh的集合)。结果,该攻击对于 普通公;0^^保持开放的,而受攻击的应用不能被识别出,从而不能被撤销。已知一些可以减轻这种密钥发布攻击的解决方案。第一种解决方案是以这 样的方式构建AKB,使得它除了它被包含于其中的应用"卜,不授权其他任何 的应用。实际上,这意味着(除了一个或多个驱动外,)AKB "撤销"了那些其 他的应用。因此,黑客不能使用一个应用的节点密钥K 来确定另一个应用的AKB 中所编码的KRTO。t。第4解决方案是为应用酉漆AKB和相关联的根密钥KRr。。t, 但是不K^^对解码该AKB所需的节点密钥KNh的集合。对于VCPS (版本1.2)而言,釆用了这些解决方案的混合,因为VCPS应 用需要一个节点密钥KNh的集合,以解码另一个密钥块(即盘密钥块DKB),并 且所有的KNh都是AA4目同的密钥空间中选择的。i1^, AKB "撤销"了所有的应
用,包括拥有该AKB的应用,从而它的KNh不肯y^)于从该AKB解码KRro。t。上述解决方案有效地减轻了可能由受攻击的应用引起的密钥发布攻击。其 原因在于,这些解决方案强迫黑客发布标识受攻击的应用的数据(也就是 KRra。t),以便向普通公众开放这种攻击。结果,就可能识别并撤销受攻击的应用。要说明的是,这种撤销受攻击的应用是通过AKB "卜的其他手段来实现的。 例如,VCPS通过在新的空白介质上发行的DKB来撤销应用。在一种假定硬^H殳备不会被攻击的威胁模型中,上述解决方案可能就足够 了。然而, 一种更现实的威胁模型假定硬件设备也会被攻击,虽然这种攻击以 〗W寻多的比率发生。尽管由受攻击应用?I起的密钥发布攻击可以由上述解决方 案来解决,但是目前在该模型中还存在着遭受由受攻击的驱动所引起的密钥发 布攻击的弱点。在这种情况下,黑客^j ]从驱动中提取的节点密钥KNd来构建 一个所有应用的根密钥KR,t的数据库。并且如同在前面的情况中一样,黑客不 会41I^皮撤销的驱动的身份,从而不可能进行识别以及接着进行撤销。因此本发明的一个目的是提供一种用于基于密钥块的3&正的系统和方法,包括有包括多个子集的多个驱动单元,其中 一个驱动单元具有一个节点密钥集 和一个指示所述驱动单元是其一部分的子集的标识符,并且其中一个应用单元具有一个密钥块,它允许标识一个受攻击的驱动单元,以从所逸基于密钥块的验i正中撤销被攻击的驱动单元,其中所述系统和所述方法在很大程度上与现有的用于基于密钥块的马封正的系统和方法^:容的。根据本发明,该目的由用于基于密钥块的马^正的系统所实现,该系统包括 -包括多个子集的多个驱动单元,其中一个驱动单元具有一个节点密钥集和一个指示所述驱动单元是其^分的子集的标识符,-具有密钥块的应用单元,该密钥块包括多个授权和验证密钥对,其中每 个密钥对与所述子集中的一个相关联,-通信装置,用于将所述标识符从所述驱动单iU是交给所述应用单元,以 及用于将授权密钥从所述应用单元提交给所述驱动单元,以及-验证装置,用于通过一个密钥对来验证所述驱动单元以及所述应用装置,其中所述应用单元包括选择装置,该选择装置用于从对应于所述标识符的所述密钥块中选4奪一个密钥对,其中所述驱动单元包括第一解码装置,该第一解码装置用于通过所述节点
密钥集从所述密钥对的所述授权密钥中导出所述密钥对的所述验i正密钥。本发明还涉及一种如权利要求9所述的驱动单元,该驱动单元包括 - 一个节点密钥集;-标识符,指示所述驱动单元是其^卩分的子集;-通信装置,用于将所述标识符提交给所述应用单元,以及用于从所述应 用单元接收授权密钥;-解码装置,用于通过所述节点密钥集从所述4受4又密钥中导出验证密钥,以及--^i正装置,用于通过所述-^i正密钥验i正所述应用单元。 本发明还涉及一种如权利要求10所述的应用单元,该应用单元包括 -密钥块,包括多个4受4又和验证密钥对,其中每个密钥对与所述驱动单元的所述子集中的一个相关联,-通信装置,用于从驱动单元接收标识符,以及用于将授权密钥提交给所述驱动单元,-选择装置,用于/"于应于所述标识符的所述密钥块中选择一个密钥对,-马^i正装置,用于通过马^i正密钥来马封正所述驱动单元。^^又利要求11中定义了对应于该系统的用于基于密钥块的验证的方法。 该方法可以由计算机程序在计算机上实现,所述计算机程序包括计算机程序代 码装置,当所述计算4;ii程序在计算机上运行时,该计算4x4呈序代码装置用于使 计算才x4^于所述方法的步骤。本发明是基于这样的认识〗^i正密钥和该-3h正密钥对其有效的驱动单元之 间的链接允许识别受攻击的驱动单元,被公布的验证密钥被从该受攻击的驱动 单元中提取。由于对于验"i4身来说,不同的验证过程不必使用相同的聪3正密 钥,因itb^于不同的驺^正过程,也就是对于向相同或不同应用单元进行马^正的 不同的驱动单元,可能提供不同的验证密钥。从而建议AKB中的每个授权密钥 K^都编码一个不同的,优选的是一个唯一的-险证密钥KRauth。结果,当验、i正密 钥KR涵不fg皮应用单元从AKB中解码的时候,应用单元必须存储不是一个,而 是多个^i正密钥K、th。如果黑客能够从特定的驱动单it^取(retrieve)节点密钥KNd的集合,他 或她只能解码每个应用单元的AKB的一个马&正密钥KRauth。因此,密钥发布攻击的有效性被降低了,因为只有全部公众的一个小的子集将能够得益,也就是那 些具有与被攻击的驱动位于相同AKB子树中的驱动的公众能够得益。黑客被强迫至少披露部分被攻击的驱动的身份因为每个KR一都是唯一 的,它在AKB中的位置是已知的,以及因此部分被攻击的驱动的身份也是已知 的,它通过该AKB来确定它的路径。因此,所有未来的AKB都可以撤销在已知 路径上的节点密钥。结果,就可能在有限的步骤中撤销被攻击的驱动。黑^^皮 强i^每次迭代中至少4皮露多出一个比特的驱动的身份。可f^全测应用单元或者驱动单元是否被攻击如果应用单元被攻击了,那 么很可能它的4^卩或者大部分被甘认的^i正密钥KR禍会被公布,想^il多或少 是同时被公布的。在这种情况下,应用单元必须被新的版本替换,所述新的版 本包含新的AKB。如果驱动被攻击了,那么来自每个应用单元只有一个KR涵会 被公布。在这种情况下,所有的应用单it^卩必须获取新的AKB和一个新的马^正 密钥KR涵的集合,其中被攻击的驱动单元或者它所在的子树被撤销。在J贿技术中A^斤述应用密钥块中包括的每个授权密钥中会导出相同的根 密钥KRro。t,与该现有技术已知的应用密钥块不同的是,根据本发明的应用密钥 块包括多个授权密钥KAx,其中/Aii多个与所述应用密钥块中驱动单元的不同子 集相关的授权密钥KAx中还务争出多个马^i正密钥KRauth。从而,不同的马h正密钥 KRauth将被用于马^i正来自不同子集的驱动单元,这相反于根据现有技术的用于验 证所有驱动单元的单个才艮密钥KRro。t。根据按照本发明的用于马h正的系统的一个实施例,所述驱动单元^]户设 备,特别是驱动,优选地Ait盘驱动,并且所述应用单元是主计算机上的软件 应用。基于密钥块的聪3正对于这种情况尤其重要在这种情况下,受保护不被 非授权访问的数据在光学数据载体上提供,并且要^^载到计算机或其他某台 主机上。在根据本发明的所述用于马h正的系统的一个优选实施例中,所述标识符是 J^^唯一的标识符。通过为每个驱动单元提供_^^唯一的标识符,可以保证恰 好是受攻击的驱动单元会被识别和撤销,其中不会有"无辜的"驱动单元受到 该撤销的影响。在本发明的另一个实施例中,所述密钥块包括一个树结构,特别是二叉树 结构的表示,所述树结构对应于所述驱动单元的所述多个子集。通过将子集的 表示安排在树结构中,由于对于这样的树结构的查找是容易和快速的,因此就能在短时间内容易:^4戈到相关的子集。在一个有益的实施例中,用于發〖正的系统进一步包括密钥块生成器,该密 钥块生成器用于使用之前的密钥块来为所述应用单元生成新的密钥块,所述密 钥块生成器包括撤销装置,用于从所述之前的密钥块中撤销至少一个验证密 钥,以^更形成所述新的密钥块;安排装置,用于将与所述被撤销的验证密钥相
关的驱动单元的多个子集安排到所述新密钥块中的^^新的驱动单元子集中;以及密钥生成装置,用于为所述新子集生成编码新验证密钥的新4受4又密钥。密 钥块生成器能够重新安排多个未撤销的驱动单元的条目,使得f^f这多个驱动 单元被有效授权密钥被包括到该密钥块中的子集所覆盖。在一个优选实施例中,根据本发明的用于验证的系统进一步包括多个应用 单元,其中每个不同的应用单元都具有不同的密钥块。如果在系统中存在不同 的密钥块,黑客就被强迫披露受攻击驱动单元的身份的更多细节,以将该攻击 对普通公众开放。相应地,进一步优选的是,所述密钥块生成器适于从所述之前的密钥块中 为每个应用单元或每组应用单元生成不同的新密钥块。在根据本发明的用于马封正的系统的一个有益实施例中,所述密钥块生成器 适于从所述之前的密钥块中生成新的密钥块,其中不同的新密钥块用基本不同 的新驱动单元子集来安排。利用基本不同的新子集,能够实现未来将被攻击的 驱动单元是不同子集的一部分。因此或者可能对其使用受攻击的授4又密钥的驱 动单元的数目被限制到那些面对一个特定密钥块的一个特定子集的驱动单元, 或者黑客不得不披叙艮多信息,以^^许该攻击可以被面对任意密钥块的任意 驱动单元所利用。要么该攻击实际上是无用的,要么所披露的信息允许相当快 速地追踪所述受攻击的驱动单元。要说明的是,对于追踪受攻击的驱动单元所必需的迭代次数可以通过故意扩展AKB来减少,也就是"4敎销,,树的上部的额外节点密钥,使得4t^又密钥KAx 位于尽可能"l矣近于树的底部的位置。这导致一个更大(可能大得多)的AKB, 但是所增加的存储要求对于应用单元不^t成问题。例如,如果所有的授权密 钥K^老^立于树根下的IO层,那么AKB大小仅约为16kB。通过把镜头移i^(zoom in on)受攻击的驱动单元处,也就是通过在已知包含受攻击的驱动单元的子树 中增加附加的"撤销",仅仅在几次迭代之后就可以实现完全的撤销。如果存 在多个必须以这种方式追踪和撤销的驱动,所需要的迭代次数可能增加,因为 必须同时对所有这些驱动抛亍镜头移近。然而,当不同的^/f亍应用的AKB 于把镜头移近在不同的受攻击驱动上时,可以保持一些效率。如果应用的个别 安装包含唯一的AKB,甚至可以获得更大的效率,其中附加的'1敬销"例如是 被随才/Li^择的在这种情况下,黑客必须披露在AKB的集合中出现的最低的KAx, 以便对普通公众公开该攻击,从而放弃了相当 一部分的受攻击驱动的身份。下面将根据附图进一步详细描^^发明,其中


图1示出了才艮据VCPS的应用密钥块的树结构,图2示出了具有一个被撤销设备的根据VCPS的应用密钥块的更详细的树结构,图3示出了根据本发明的应用密钥块的树结构,图4示出了根据本发明的用于马^i正的方法的一个实施例,图5示出了根据本发明的用于基于密钥块,^i正的系统的一个框图,图6示出了根据本发明的用于基于密钥块马封正的系统的另一个实施例。图1示出了已知AKB的顶部的示例。AKB是VCPS规范中所规定的普通的使 能密钥块(EKB: enabling key block)结构的一个实例。在这种普通EKB中,所有的授权密钥KAJ扁码相同的根密钥KR自。在VCPS DKB 的情况下,这是必不可少的,因为该根密钥被用于用来计算内容密钥的密钥分M系中,该密钥分M系明显地对于所有播放器和录音4;i^是一样的。然而,在AKB的情况下,这不是必须的。其原因在于,在马^i正协议的不同扭軒之间没 有关系,因此共享的秘密(也就是KR咖)可以是不同的。EKB包含一个二叉树结构的表示。白圈和灰圏代表树的节点。黑圏^4树 的才艮节点。直接在一个节点上的节点被称为它的双亲。直接在一个节点下的节 点被称为它的孩子。具有相同双亲的两个节点被称为同胞。没有任何孩子的节 点被称为叶子。在从一个节点向上到才艮的(单个)^^圣上的所有节点被称为它 的祖先。在从一个节点向下到叶子节点的(多条)錄径上的所有节点被称为它 的子孙。由一个节点和它的所有子孙构成的树一皮称为子树。在图1中,白圈代 表叶子节点,灰圏^4双亲节点。根节点在树的第0层。在树中第n层的节点 的孩子节点位于树的第n+l层。EKB包含根节点和至少一个叶子节点。EKB树的节点包含以下信息 一个三比特标记以及可选的一个授权密钥KA。 该标^4苗述了树的结构。每个节点携带着一个标记。在图1中,每个节点左侧 的加下划线的比特序列指示出该标记。标记比特具有以下含义如果节点是根 节点或者叶子节点,最左边的标记比特纟史没置为"1";否则最左边的标记比特 被设置为"0"。如果节点具有左侧的孩子,中间的标记比特被设置为"0";否 则中间标记比特被设置为'T,。类似地,如果节点具有右侧的孩子,最右边的 标记比特被设置为"0";否则最右边标记比特被设置为"1"。授权密钥KA由 以适当的节点密钥KN解密的根密钥KR福组成。每个叶子节点携带着唯一的授 权密钥KA。双亲节点不携带授权密钥KA。在图1中,KAj旨示授权密钥。在这 种表示中,下标x是与一个或多^S殳备ID的最高有效^f^f目匹配的比特串。
图2示出了具有被撤销设备的根据VCPS的应用密钥块的更详细的树结构。 该应用密钥块AKB被安排为树状结构,其中提供了八个驱动单元IDO到ID7。 驱动单元ID2被撤销,并ibNl应地所述应用密钥块被提供了三个授权密钥。表 示了驱动单元全体的树被分成三个子树,它们不是覆盖了全部驱动单元IDO到 ID7,而是覆盖了4^卩未被撤销的驱动单元IDO、 ID1和ID3到ID7。根据该树 结构,驱动单元IDO和ID1被包含在一个子树中,而ID4到ID7被包含在另一 个子树中。ID3的子树仅包含ID3。每个驱动单元的节点密钥K 的集合包括从 才PJiJ对应于所述驱动单元的叶子的路径的节点密钥。例如,驱动单元IDO拥有 节点密钥K。、 Ko。和K。。。,并且驱动单元ID5的节点密钥集合包括^、、。和K通。 用于根据VCPS的-^i正的根密钥K,在所述密钥块中以加密形式被包括了三次。每 个实例是一个授权密钥,并且被使用与所述应用密钥块的一个子树相关联的节 点密钥来加密。E{K。Q} [K,]^4这样的一种授权密钥,其中在这种情况下K,被使用K。。勤。密。由于驱动单元IDO和驱动单元ID1两者者財用有节点密钥KQQ, 可以通过4賴KDQ的解密^^J斤述授权密钥E{KJ [K,]中导出根密钥K,。唯一不 能从所述应用密钥块的授权密钥中获得K,的驱动单元是被撤销的驱动单元 ID2,因为它无法访问用于加密根密钥K,的任意节点密钥。然而,如果其余的 驱动单元中的一个被攻击,并且根密钥K,被/>^口,那么无法指示出哪个驱动 单it^皮攻击。图3示出了根据本发明的应用密钥块的树结构。该树的一^:结构和驱动单 元的安排与图2所示的相同。仍然存在密钥K,,但是该密钥K,不^皮用于-^i正。 根据本发明,不再存在"根密钥",因为每个子树编码它自身的唯一-^i正密钥。 图3中所示的树被分成四个子树,这些子树覆盖了全部未被撤销的驱动单元 IDO、 ID1、 ID3到ID7。这些子树的每一个都有自己的授权密钥。不同子树的授 权密钥编码不同的聪3正密钥。从而,对于不同的子树存在不同的-^i正密钥。例 如,马^正密钥K/与驱动单元IDO和ID1的子树相关联,'险证密钥K4,与驱动 单元ID6和ID7的子树相关联。对于图3中所示的应用密钥块,ID2不能获得 j封可马^i正密钥K/到K4,,因为这些马^正密钥都不是使用驱动单元ID2的节点 密钥集合中包括的节点密钥来加密的。从而'驱动单元ID2被有效:NW敦销,并 且不能参与成功的马h正过程。如果其余驱动单元中的任意一个被攻击,那么黑 客就能够获得对应的'^i正密钥V 、 K2, 、 K3,或K4,。通it^布M^i正密钥,黑客会披露至少部分被攻击的驱动单元的身份。例如,如果驱动单元ID4被攻击,并且它的马b正密钥K3,被公布,那么就会清楚要么是驱动单元ID4要么是ID5已经被攻击。然后就有可能相应地更改 该应用密钥块。驱动单元ID4和ID5的子树会被分成两个子树,其中每个新的 子树会被提供一个编码新^i正密钥的新纟受4又密钥。例如,如果驱动单元ID3被攻击,并且它的验证密钥K2,被公布,那么就 会清楚驱动单元ID3已经被攻击,并且从而可以撤销被攻击的和被识别的驱动 单元ID3。如驱动单元ID4和ID5以及ID6和ID7的两个子树所示,可能减少追踪被 攻击驱动单元的迭代的必要步骤。通过将子树故意分成更小的子树,在同一个 子树中并且共享同一个验证密钥的驱动单元的数目从而被减少了 。除了减少迭 代步骤,也就是减少在被攻击的驱动单元被识别之前的应用密钥块的改变,还 存在进一步的优点,因为只存在数目被减少的驱动单元,也就是与被攻击的驱 动单元处于相同子树中的那些驱动单元,对于它们可以使用所公布的马封正密钥。图4说明了根据本发明的马^i正方法的实施例。应用单元1被提供了包含授 权密钥K^和^i正密钥KRauthx (在图3中被称为K,)对的应用密钥块AKB。驱动 单元3被提供了标识符IA和一个节点密钥KNd的集合。可以由所述应用单元1 通#启动事件7时针对所述驱动单元3的标识符发送一个开始请求5,来启 动所述应用单元1和所述驱动单元3之间的通信。所述开始请求5被所述驱动 3所接收。接收和处理所述开始请求5的步骤9之后是步骤11,向所述应用单 元1发送包含识别所述驱动单元3的所述标识符IDd的标识符消息13。可一^(、 地,该协议还可以由所述驱动单元3通过乂;j斤述应用单元1发送不带开始请求 5的所述标识符IDd来启动。在步骤15中,所述标识符IDd^^斤述应用单元1用 于在AKB中定位驱动单元3的授权密钥KAx和一^S正密钥KU寸。如果所述驱动 单元3未被授权,例如,如^^于所述驱动单元3没有授权密钥KAx或马^i正密钥KRauthx,那么所述应用单元1就^f亭止该聪3正协议。在步骤17,所述应用单元1生成并且发送消息19,该消息19包括所述授 权密钥KAx、指示所述授权密钥KAx在所述AKB中的位置的指示符j和随机主机 号RA。所述驱动单元3通过所述授权密钥KAy和与所述指示符j相关联的所述 节点密钥KNd的集合中的一个节点密钥KNj,来袭得(步骤21)所述^i正密钥 KRauthx。在步骤23,所述驱动单元3生成随机驱动号RD和驱动密钥贡献 (contribution)QD,并向所述应用单元1发送消息25,该消息25包括4M所 述马b正密钥K、自^口密的所i^i机号RA、所述驱动号RD和所述密钥贡献QD。 所述应用单元1解密所述消息25,并JU全查在所述消息25中是否存在正确的 主机号RA (步骤27 )。如果所iii机号RA与步骤17的值不同,那么就停止该 马b正协议。
在步骤29,生成一个主机密钥贡献QA,并且将消息31发i^jij所述驱动, 该消息31包括使用所述^i正密钥KR一x加密的所述驱动号RD、所ii^机号RA 和所ii^机密钥贡献QA。在步骤33,所述驱动3解密所述消息31,并检查在 所述消息31中是否存在正确的驱动号RD。如果所述驱动号RD与步骤23的值 不同,那么就终止该^i正协议。在步骤35和37, A/J斤述驱动密钥贡献QD和所述主机密钥贡献QA中生成 总线密钥KB。所述总线密钥KB目前是由应用单元1和驱动单元3 二者共享的 一个秘密,其中在所述应用单元1和所述驱动单元3之间的马b正是成功的。在 马b正+办议被终止的情况下,必须分别在步骤7或步骤11再次开始该^S正协议。图5示出了根据本发明的用于基于密钥块的^i正的系统70的框图,所述 系统70包括应用单元1和驱动单元3。所述应用单元1被提供具有授一X^-3封正 密钥对的应用密钥块AKB。所述应用单元1进一步包^it信装置60、选择装置 62和马b正装置64。所述驱动单元3被提供一个节点密钥KA的集合和一个标识 符叫。所述驱动单元3进一步包括通信装置50、解码装置52和马b正装置54。 所述通信装置50、 60是所述系统70的通信装置72的一部分,并且所述^i正装 置54、 64是所述系统70的-^i正装置74的"-^分。所述标识符IDd被通it^斤述通信装置72从所述驱动单元3发送到所述应用 单元1。所述选择装置62被用于从所述AKB中选择一对授权密钥KAj口^i正密 钥KR涵x。所述授权密钥KAj皮A^斤述应用单元1发送到所述驱动单元3,其中 所述解码装置52被用于通过所述节点密钥KNd的集合从所述授权密钥KAx中导 出所述马&正密钥KRauthx。如根据图4所描述的,^i )所述^i正装置74来拟亍验 证。图6示出了才艮据本发明的用于基于密钥块的马b正的系统80的另一个实施 例。该系统80包^^口上所述的多个应用单元1和多个驱动单元3。所述应用单 元和所述驱动单元的细节为了清楚起见而未被示出。所述系统80进一步包括具 有撤销装置84、安排装置86和密钥生g置88的密钥块生成器82。所述密钥 块生成器82 ^^]之前的密钥块为所述应用单元1生成新的密钥块AKB。使用所 述撤销装置84和所述安排装置86, ^i正密钥和相关的授权密钥被从所述密钥 块中移除,以拍i销驱动单元3的一个子集,并JL^应于不会被一敎销的所述子集 的驱动单元的条目被安排到新的子集中,对于这些新的子集,4吏用所述密钥生 成装置来生成新的授权和纟^i正密钥对。然后新的密钥块被分配给所述应用单元 1,或者被用于新的应用单元l。才艮据本发明,提出了一种新的基于密钥块的验证方法和一种对应的新的基
于密钥块的验证系统。通过为不同的驱动单元提供不同的验证密钥,被攻击的 驱动单元的影响被减小,也就是通过攻击所获得的纟"正密钥的可用性被降低, 并且识别出这样的被攻击的驱动单元成为可能,从而便于撤销被攻击的驱动单元。本发明在很大程度上与已知的VCPS 验证协议相兼容。为了将本发明实现于所述协议中,对硬件和命令集的修改都不需要。它与该规范的当前版本完全 是后向兼容的。然而,必须要改变的是密钥生成和密钥发布工具,以及密钥发 布中心到软件制造商的接口。当然,软件制造商也必须相适应。需要-说明的是,本发明并不限于所描述的VCPS,因为它可以使用其他的光学格式,诸如蓝光盘,并且还可以用于其他密钥块格式和基于这些密钥块格式的验证协议,诸如那些由CPRM和AACS所使用的格式。
权利要求
1、一种用于基于密钥块的验证的系统(70,80),包括-包括多个子集的多个驱动单元(3),其中一个驱动单元(3)具有一个节点密钥(KNd)集和一个指示所述驱动单元(3)是其一部分的子集的标识符(IDd),-具有一个密钥块(AKB)的应用单元(1),该密钥块包括多个授权和验证密钥对(KAx,KRauthx),其中每个密钥对与所述的子集中的一个相关联,-通信装置(72),用于将所述标识符(IDd)从所述驱动单元(3)提交给所述应用单元(1),以及用于将授权密钥(KAx)从所述应用单元(1)提交给所述驱动单元(3),以及-验证装置(54),用于通过一个密钥对来验证所述驱动单元(3)以及所述应用单元(1),其中所述应用单元(1)包括选择装置(62),该选择装置(62)用于从对应于所述标识符(IDd)的所述密钥块(AKB)中选择所述密钥对,其中所述驱动单元(3)包括解码装置(52),该解码装置(52)用于通过所述节点密钥(KNd)集从所述密钥对的所述授权密钥(KAx)中导出所述密钥对的所述验证密钥(KRauthx)。
2、 如权利要求l所述的用于马^i正的系统(70, 80 ),其中所述驱动单元(3) ^)户设备,特别是驱动,优选地^t盘驱动,并且所述应用单元(1)是主计 算才几上的软件应用。
3、 如权利要求1所述的用于另封正的系统(70, 80 ),其中所述标识符(IDd)是一个_^^唯一的标识符。
4、 如权利要求l所述的用于马封正的系统(70, 80),其中所述密钥块UKB)包括树结构,特别是二叉树结构的表示,所述树结构对应于所述驱动单元(3) 的所述多个子集。
5、 如权利要求1所述的用于马^i正的系统(70, 80 ),进一步包括密钥块生 成器(82),该密钥块生成器(82)用于使用之前的密钥块来为所述应用单元(1) 生成新的密钥块,所述密钥块生成器(82)包括-撤销装置(84),用于从所述之前的密钥块中"t敦销至少一个马全证密钥, 以便形成所述新的密钥块;-安排装置(86),用于将与所述被撤销的验证密钥相关联的驱动单元(3) 的多个子集安排到所述新密钥块中的基本新的驱动单元(3)子集中;-密钥生M置(88),用于为所述新的子集生成编码新的—3h正密钥的新的 授权密钥。
6、 如权利要求1所述的用于^i正的系统(70, 80),进一步包括多个应用 单元(1),其中每个不同的应用单元(1)都具有一个不同的密钥块(AKB)。
7、 如权利要求5所述的用于l^i正的系统(70, 80),进一步包括多个应用 单元(1 ),其中所述密钥块生成器(88)适于从所述之前的密钥块中为每个应 用单元(1)或^^组应用单元(1)生成不同的新密钥块。
8、 如权利要求7所述的用于一^i正的系统(70, 80),其中所述密钥块生成 器(82)适于从所述之前的密钥块中生成新的密钥块,其中不同的新密钥块用 基本不同的驱动单元(3)的新子集来安排。
9、 用于基于密钥块的验证的系统(70, 80 )的驱动单元(3),其中所述 系统(70, 80 )包括多个驱动单元(3)和一个应用单元(1),所述多个驱动单 元(3)包括多个子集,所述驱动单元(3)包括-一个节点密钥(KNd)集;-一个标识符UDd),指示所述驱动单元(3)是其一部分的子集;-通信装置(50 ),用于将所述标识符(IDd)提交给所述应用单元(1 ), 以及用于A/J斤述应用单元(1 )接收授权密钥(KAx);-解码装置(52),用于通过所述节点密钥(KNd)集/A/斤述4受权密钥(KAx) 中导出马b正密钥(KRauthx);以及-马^i正装置(54),用于通过所述'险证密钥(KRauttlx)来验证所述应用单元(1)。
10、 用于基于密钥块的验证的系统(70, 80)的应用单元(l),其中所述 系统进一步包括多个驱动单元(3),所述多个驱动单元(3)包括多个子集,所 述应用单元(1 )包括-密钥块(AKB),包括多个授权和验证密钥对(KAx, KRauthx),其中每个密 钥对与所述驱动单元(3)的所述子集中的一个相关联,_通信装置(60),用于从驱动单元(3 )接收标识符(IDd),以及用于将 授权密钥(KAx)提交给所述驱动单元(3 ),-选择装置(62),用于从对应于所述标识符(IDd)的所述密钥块中选择 一个密钥对,-^i正装置(64),用于通过马b正密钥(KRauthx)来马b正所述驱动单元(3)。
11、 用于基于密钥块的^i正的方法,该-^i正是介于以下二者之间 -多个驱动单元(3)中的一个驱动单元(3),所述多个驱动单元包括多个子集,所述驱动单元(3)具有一个节点密钥(KNd)集和一个指示所述驱动 单元(3 )是其一部分的子集的标识符(IDd ),以及-一个具有密钥块(AKB)的应用单元(1),该密钥块(AKB)包括多个4受 权和马封正密钥对(KAx, KRauthx),其中每个密钥对与所述子集中的一个相关联,所述方法包括以下步骤-将所述标识符UDd)提交(11)给所述应用单元(1),-从对应于所述标识符(IDd)的所述密钥块(AKB)中选择(15) —个密钥对,-将所述密钥对的授权密钥(KAx)提交(l7 )给所述驱动单元(3 ), 其中所述驱动单元(3)使用所述节点密钥(KNd)集从所述授权密钥(KAx)中导出(21 )所述密钥对的验证密钥(KRauthx),并且所述'验i正通过使用所述验证密钥(KRauthx)来冲W亍。
12、 一种包4^i十算才財呈序^5马装置的计算才M呈序,当所述计算才几程序在计算机上运行时,所述计算机程序代码装置用于使计算4A4^亍如权利要求11所述的方法的步骤。
全文摘要
本发明涉及一种用于基于密钥块的验证的系统(70,80)和方法,包括有包括多个子集的多个驱动单元(3),其中一个驱动单元(3)具有一个节点密钥(KMd)集和一个指示所述驱动单元(3)是其一部分的子集的标识符(IDd),并且其中应用单元(1)具有密钥块(AKB)。为了允许标识受攻击的驱动单元(3),以便从所述基于密钥块的验证中撤销被攻击的驱动单元(3),其中所述系统在很大程度上与现有的用于基于密钥块的验证的系统和方法是相兼容的,建议所述密钥块(AKB)包括多个授权和验证密钥对(KAx,KR authx),其中每个密钥对与所述子集中的一个相关联。
文档编号G06F21/44GK101213604SQ200680023840
公开日2008年7月2日 申请日期2006年6月26日 优先权日2005年6月29日
发明者A·A·M·斯塔林 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1