多数据流的控制字密钥储存装置的制作方法

文档序号:7676246阅读:175来源:国知局
专利名称:多数据流的控制字密钥储存装置的制作方法
多数据流的控制字密钥储存装置
相关申请的交叉引用
本申请涉及序列号为_(尚未获知)的申请,其名称为"将外部密码
图像与芯片上私钥耦合的方法和装置",并于2006年4月7日提交(案号为
P24003);涉及序列号为_(尚未获知)的申请,其名称为"使用共同私
钥组支持多个密钥阶梯",并于2006年4月6日提交(案号为P24004);涉
及序列号为_(尚未获知)的申请,其名称为"保护具有共同硅制造商密
钥的独立供应商的加密密钥",并于_(尚未获知)提交(案号为P24005)。
背景技术
所要求保护发明的实现例一般与对加密的媒体信息进行解密的安全方 案有关,以及更具体地与一种涉及驻留在设备中的私钥的方案有关。
在传统的媒体递送方案中,媒体供应商("供应商")可以向终端用户提 供(或使其被提供)用于将加密的媒体信息进行解码的解码器硬件,该加密的 媒体信息通常可以通过单一传输介质来发送。硬件可以由供应商通过伙伴 制造商("制造商")进行定制,制造商可以在该硬件中嵌入私钥(其为与供 应商共享的秘密),用于在对媒体信息进行解密的过程中使用。来自供应商 的用于接收加密的有线或卫星电视的专用机顶盒可以作为这种典型的解决 办法的一个实例。
在一些情形下,当媒体信息包括视频流时,供应商可以偶尔地发送一 组新的运行时密钥用于对媒体信息进行解密或解码。接收硬件处理包含新 密钥的消息以便生成例如新的控制字/密钥所需的时间可以概念化为采用新 密钥开始解密/解码之前的"延迟"(例如处理的"上下文"可能被"切换" 到新密钥提供的上下文)。在解密或解码上下文可被改变或切换至新的控制 字或密钥的该处理延迟可以称作"上下文切换延迟"。
最近,混合的网络化的媒体产品已经开始出现,其可以经由各种不同 的传输通道和/或传输媒体来接收媒体信息。同时,用于使用和/或消费媒体信息的新近的"随处提供的内容"(content everywhere)模式已经开始出现。 这种可以支持多于一个的供应商和/或经由给定供应商首选的其他通道的一 些媒体信息(例如基于因特网的内容)可用性的新近混合设备,可能不会被典 型的媒体安全方案所很好地支持。


并入并且作为构成本说明书一部分的

了符合本发明的原理的 一个或多个实现,以及与说明一起解释这样的实现。该附图并不一定是依 照比例的,相反重点是在于说明本发明的原理上。在图中,
图1概念地说明媒体接收系统;
图2说明图1的系统中的示例性安全模块和密钥储存装置;以及 图3说明图2的安全模块中的示例性密码模块。
具体实施例方式
下列详细说明涉及附图。相同的参考号码可以用于不同的图表中来标 识相同或相似的元素。在下列描述中,出于说明而不是限制的目的,阐明 了具体细节,比如特定的结构、体系结构、接口、技术等等,以便提供所 要求保护的发明的各个方面的全面理解。但是,其对于掌握本公开的益处 的本领域技术人员来说明显的是,所要求保护的发明各个方面的益处可以 在脱离这些具体细节的其他实例中得以实施。在某些情况下,为了不使本 发明的描述由于不必要的细节而难于理解,而省略了众所周知的设备、电 路和方法的描述。
图1说明媒体接收系统。该系统可以包括设备110通信地所连接到的 一个或多个网络100-1,…,100-n(统称为"网络100")。设备110可以经 由任何适合的介质以及经由任何或所有的网络100来接收加密的媒体信息, 包括但不限于各种无线/有线的传输和/或存储媒体。媒体信息可以包括但不 限于视频、音频、软件、图形信息、电视、电影、音乐、金融信息、商业 信息、娱乐信息、通信或可由供应商提供并为终端用户所消费的任何其他 媒体类型的信息。在一些实现中,媒体信息可以包括可被并行接收的多个 加密的视频信息流。设备110可以包括一个或多个接收器120、存储器130、处理器140、 安全模块150和密钥储存装置160。尽管为了便于说明,对设备110的部件 以分离的功能部件来进行说明,设备110的任何或所有部件可以位于一处 和/或由门和/或晶体管的共同组来实现。例如,两个或更多个部件120 160 可以在片上系统(SOC)中实现。此外,设备110可以通过软件、固件、硬件 或任何适合的上述的组合来实现。该实现不限于这些情形。
接收器120可以用于从各种传输通道接收加密的媒体信息。接收器120 可以包括,例如无线收发器(例如用于蓝牙、WiFi、 WiMax或任何其他适合 的高速无线协议的)、有线收发器(例如用于以太网、同轴电缆等等的)、光 学的收发器、卫星收发器和/或任何用于从物理传输介质或存储介质提取信 号的其他已知的电路。接收器120还可以包括用于从接收信号中提取媒体 信息流的任何其他的电路。这样的电路可以包括但不限于,例如解调器、 多调谐器、均衡器等等。
尽管为了表述方便,接收器120没有以直接连接至处理器140来示出, 接收器120可以由处理器140控制或以其他方式被辅助。接收器120可以 将一个或多个加密媒体信息的不同的组块或流输出给存储器130。
存储器130可以用于临时存储加密的(或在某些实现中解密的)媒体信 息的组块或流。存储器130可以包括,例如半导体和/或磁存储,并且可以 是可复写的。在一些实现中,存储器130可以包括不可写存储器,比如只 读存储器(ROM)(例如引导ROM)。在一些实现中,存储器130可以包括不 可由软件读取的存储器,比如由设备110的制造商设置的一个或多个硬件 私钥。但是,在其他的实现中,这样的私钥可以存储在安全模块150中。
存储器130也可以用于临时存储来自供应商的并非为严格的媒体信息 的信息。例如,在一些实现中,存储器130可以存储包括运行时密钥或控 制字的消息(即发送自供应商并且是可更新的,而不是驻留在设备110的硬 件中)。在这种情形下,这些递送密钥的消息可以在边带中(或其他可以被称 作"带外"的技术)被发送至携带加密的媒体信息普通传输流(例如视频)。 在一些实现中,存储器130还可以临时存储加密产品或其他来自安全模块 150和/或密钥储存装置160的与安全有关的数据。
在一些实现中,处理器140可以使用来自密钥储存装置160的控制字,在来自接收器120的加密的媒体信息被存储到存储器130中之前,对其进 行"即时地"(onthefly)解密。在这种实现中,存储器130可以临时地存储 解密的媒体信息。在其他的实现中,加密的媒体信息可以存储在存储器130 中,并在其被读出时被解密。无论什么时候媒体信息被解密,它可以从存 储器130被输出到设备110的另一部分,比如硬盘、显示缓冲器、关于媒 体特定的处理器等等(未示出),以进行进一步的处理或重放。
处理器140可以用于控制至/从存储器130和/或安全模块150和/或密钥 储存装置160的媒体信息的输入和输出。处理器140还可以在驻留在存储 器130之前或之后,使用来自密钥储存装置160的解密密钥(或控制字),对 加密的媒体信息进行解密。处理器140可以包括通用或专用处理器,以及 任何需要来执行各种功能辅助电路,例如采用控制字来解密信息。在一些 实施例中,处理器140可以包括多处理器,用于并行地从密钥储存装置160 读取控制字和/或并行地解密媒体信息。
安全模块150可以用于存储一个或多个至少对安全模块150或设备110 的制造商来说是秘密的私钥。安全模块150中的一个或多个私钥可以是在 制造商与数个不同的供应商的任何之一之间共享的秘密。除了不同的、基 于硬件的私钥,安全模块150可以包括数个不同的密码模块,使得可以为 可以通过数个不同的数据通道提供加密的媒体的数个不同的供应商提供媒 体解密、加密和/或媒体安全。
密钥储存装置160可以用于接收并存储相对较多数量的由安全模块150 生成(例如由其中的私钥所保护)的控制字(或"控制密钥")。密钥储存装置 160可以被安排使得其可以由安全模块150并行地写入和/或由处理器140 并行地读取。在一些实现中,密钥储存装置160可以存储并非由安全模块 150生成的控制字/密钥,而是在来自供应商的消息中直接到达。密钥储存 装置160的大小可以调整,使得其能够保存足够的控制字来为相对较多数 量的媒体信息流(例如5个、10个、20个或更多的流)提供无延迟的上下文 切换。
图2说明安全模块150和密钥储存装置160的示例性实现。模块150 可以包括私钥210、运行时密钥220、第一密码模块230、第二密码模块240、 其他密码模块(未示出)以及第n密码模块290。尽管私钥210和各种密码模块230 290可以被类似地说明,但它们可以被不同地实现,而且它们的细 节可以由不同的供应商(有时被称为条件接收(CA)供应商)来定义。
私钥210可以驻留在模块150内的外部不可读的(即安全的)电路位置 中,并且可以是在设备210(或至少包含安全模块150的一个部分)的制造商 与一个或更多个供应商之间共享的秘密。尽管只示出了一个私钥210,其他 的也可以存在,可能地包括用于将它们递送到密码模块230 290的复用器。 只有安全模块150的制造商需要成为每个私钥210的秘密的参加方,因为 其可能被永久地形成或嵌入在模块150中。除了他们自己的,供应商不需 要了解任何其他的私钥210。同样,私钥210可以只对于制造商是秘密。
第一密码模块230可以接收私钥210,并使用这个密钥210来在模块 230内对某些数据进行加密。在一些实现中,这个另外的由私钥210加密(或 保护)的数据可以包括由与第一个模块230相关联的供应商发送(以及可能 地有时的更新)的一个或多个运行时密钥220。然而,在一些实现中,运行 时密钥220可能不被提供,并且模块230可以采用它的私钥210对在其内 部某些预定义的数据(例如制造商标识符等等)进行加密。此外,模块230可 以在 些实现中采用两个或更多个私钥210进行加密。第一密码模块230 nj—以在例如对加密的媒体信息进行解密的过程中,输出由处理器140使用 的结果。
图3说明第一密码模块230和运行时密钥220的示例性实现。第一密 码模块230可以包括密码操作块(cipher block) 310 330,并且运行时密钥 220可以包括加密的主密钥340、控制密钥350和控制字360。在这样的实 现中,模块230和密钥220可以被称为"分层的密钥阶梯(key ladder)",因 为密码操作块310 330执行的连续加密的"阶梯"。
这个密钥阶梯的方案可以包括作为与媒体信息的供应商共享的秘密的 私钥。供应商还可以提供由共享的秘密的私钥通过密码操作块340 360加 密的运行时密钥340 360。运行时密钥220可以由处理器140解密并存储 在模块150中,使得有效的运行时密钥340 360在安全模块150之外(例如 "芯片外")是不可见的。运行时密钥加密过程可以包括多于一层的加密层 和多于一个的外部提供的值。
对于图3中说明的3层的实例,控制字360 CWx可以由密码操作块330采用控制字密钥350 CKy来加密,从而创建外部值EncCW = E(CWx, CKy)。 密码操作块330 (以及其他的密码操作块310和320)可以使用数个基于硬件 的加密方案中的任何一个,比如DES(数据加密标准)、AES(高级加密标准) 等等。密码操作块310 330不需要都使用相同的加密算法、密钥长度等等, 尽管它们可以这样做。这个外部值EncCW可以是模块230的输出。同样, CKy 350可以利用主密钥340 MKz由密码操作块320进行加密,从而创建 外部值EncCK = E(CKy, MKz)。类似地,MKz 340可以利用私钥210 PKa 来加密,来创建外部值EncMKz-E(MKz,PKa)。由私钥210保护的控制密 钥(例如密码操作块330生成的EncCW)可以由第一密码模块230输出至密 钥储存装置160。
虽然在图3中没有明确地说明,除了控制字以外的其他两个外部值, EncCK禾口/或EncMKz,还可以被存储在密钥储存装置160中,或除了模块 150以外另外被使用。这种类型的分层的密钥阶梯的实现可以提供多个级别 的迂回以及对于攻击的保护。
返回图2,在一些实现中,第二密码模块240可以与密码模块230相同 并可以使用与第一模块230所使用的私钥相同的私钥210。在这种实现中, 例如,第二模块240可以与一组运行时密钥220相关联。这样可以使第二 模块240能够与第一模块230生成其控制密钥大约同时生成受类似保护的 控制密钥。这种由模块230和240提供的并行密钥生成能力可以较少或消 除在同一个媒体信息流中进行上下文切换时的延迟。
在符合MPEG-2的传输流中(以及在使用相同的上下文切换方案的符合 视频标准的其他流中),例如,存在一标志来指示使用偶数密钥或者奇数密 钥来进行解密。该标志允许具有新的偶数或奇数密钥的消息提前于标志改 变被发送,使得当标志在流中改变状态时消息会被处理并且新的偶数/奇数 密钥会可用。类似配置的控制模块240的存在可以使得能够生成媒体信息 流的下一个偶数或奇数控制密钥,而不必等待控制模块230来完成生成其 偶数或奇数控制密钥。
沿着这些线,另外的类似配置的模块250、 260等(未示出)可以助于不 同流的控制密钥(例如,来自系统供应商的)的并行生成。多个类似配置的密 码模块(例如230、 240等)的存在可以允许供应商同时发送成组的运行时密钥220,来生成相同流或不同流的多个控制密钥,待存储在密钥储存装置 160中。
同样,密码模块,例如第n密码模块290(n为大于或等于2的整数), 可以为来自媒体信息的不同的供应商的另一私钥210进行不同的配置。在 这种模块290中的密钥阶梯的深度可以与其他模块230、 240等中的密钥阶 梯不同。这种"第二类型"的密码模块290可以在安全模块150中被复制, 来允许对例如偶数/奇数控制密钥进行并行处理。这还可以助于在不同的供 应商之间进行无延迟的控制密钥生成,这些供应商不协调它们的运行时密 钥消息,这些消息可能同时到达。密码模块290还可以将其生成的控制密 钥写入到密钥储存装置160。
密钥储存装置160可以包括足够的存储空间来存储来自密码模块230 290的每一个的多于一个的控制密钥。密钥储存装置160可以通过例如随机 存取存储器(RAM)或通过多个并行缓冲器(例如先入先出(FIFO)缓冲器)来 实现。不论密钥储存装置160如何实现,其应当能够由每个连接的密码模 块230 290写入,在需要时可被同时写入。因而,密钥储存装置160可以 具有多个不同的独立的输入线或端口。
类似的,可能希望处理器140来同时对多于一个流进行解密和/或上下 文切换。因此,密钥储存装置160可以具有多个输出线或端口,通过该输 出线或端口控制密钥或控制字可以被读取,在需要时可被同时读取。
以上对一个或多个实现的描述提供了说明和描述,但并不是穷尽的或 要将本发明的范围限制于所公开的精确的形式。对于上述教导的修改和变 型是可能的,或者可以从本发明的各种实现的实践中获得。
例如,尽管媒体信息的"供应商"用于表示提供本文所讨论的私钥, 该私钥可替换地可由该信息的权利所有者来提供,并且该媒体信息可以实 际上由"分发商"或其他与该内容的所有者具有商业关系的其他实体来提 供。如本文所使用的,术语"供应商"是要被广泛地适用于任何涉及分发 加密的媒体信息以及与私钥相关联(甚至只是附带性的)的实体。
类似地,"制造商"是要表示与提供至少安全模块150的相关联的一方, 并且其为共享秘密的私钥的一方。例如,不同的实体可以实际上制作模块 150和设备110的其他部分。如本文所使用的,术语"制造商"可以适用于任何这些实体。
此外,图4中至少一些动作可以以在机器可读介质中实现的指令或指令
组来实现。
本申请的描述中所使用的任何部件、动作或指令都不应当被解释为对 本发明是关键性或必须的,除非明确地这样描述。此外,如本文所使用的, 冠词"一"是要包括一个或多个项目。可以对上述所要求保护发明的实现 进行变化和修改,而不实质上违背本发明的精神和原理。所有这些修改和 变化是要被包括在本公开的范围内,并受下列权利要求保护。
权利要求
1、一种装置,包括电路,用于保存与第一媒体信息相关联的私钥;密码模块,用于操作所述私钥来生成多个第一控制密钥,以用于对所述第一媒体信息进行解密;以及密钥储存装置,用于保存来自所述密码模块的所述多个第一控制密钥。
2、 根据权利要求1所述的装置,其中所述第一密码模块包括 由两个或更多个分层密码操作单元构成的阶梯,用于接收所述私钥并生成所述多个第一控制密钥。
3、 根据权利要求2所述的装置,还包括存储装置,用于保存两个或更多个运行时密钥,所述运行时密钥是所 述第一阶梯中的两个或更多个分层密码操作单元的输入。
4、 根据权利要求1所述的装置,还包括由三个或更多个分层密码操作单元构成的阶梯,用于接收所述私钥并 生成多个第二控制密钥,其中所述密钥储存装置用于保存所述多个第二控制密钥。
5、 根据权利要求4所述的装置,还包括存储装置,用于保存三个或更多个运行时密钥,所述运行时密钥是所 述第二阶梯中的三个或更多个分层密码操作单元的输入。
6、 根据权利要求l所述的装置,还包括处理器,用于在对所述第一媒体信息进行解密时使用所述多个第一控 制密钥来进行上下文切换。
7、 一种装置,包括电路,用于永久地并且不可访问地存储私钥,所述私钥是在所述电路 的制造商与加密的媒体信息流的供应商之间共享的秘密;第一密码模块,用于操作所述私钥来生成第一控制密钥,以用于将所 述加密的媒体信息流解密;第二密码模块,用于操作所述私钥来生成第二控制密钥,以用于将所 述加密的媒体信息流解密;以及密钥储存装置,用于保存来自所述第一密码模块的所述第一控制密钥 和来自所述第二密码模块的所述第二控制密钥。
8、 根据权利要求7所述的装置,还包括存储器,用于保存来自所述供应商的多个运行时密钥,所述运行时密 钥是所述第一密码模块或所述第二密码模块的输入。
9、 根据权利要求7所述的装置,还包括处理器,用于使用所述第一控制密钥和所述第二控制密钥来将所述加 密的媒体信息流解密。
10、 根据权利要求9所述的装置,其中所述处理器用于使用所述第一 控制密钥将所述加密的媒体信息流的第一部分解密以及使用所述第二控制 密钥将所述加密的媒体信息流的第二部分解密。
11、 根据权利要求7所述的装置,其中所述密钥储存装置用于同时接收所述第一控制密钥和所述第二控制密钥。
12、 根据权利要求7所述的装置,其中所述密钥储存装置用于同时输 出所述第一控制密钥和所述第二控制密钥。
13、 根据权利要求7所述的装置,其中所述密钥储存装置包括分别与 每个密码模块相关联的多个缓冲区。
14、 根据权利要求7所述的装置,还包括第三密码模块,用于操作所述私钥来生成第三控制密钥,以用于将另 一加密的媒体信息流解密,其中所述密钥储存装置用于保存来自所述第三密码模块的所述第三控制密钥。
15、 一种系统,用于将媒体流解密,所述系统包括 至少一个接收器,用于接收第一加密的媒体流和第二加密的媒体流; 存储器,用于存储所述第一加密的媒体流和第二加密的媒体流的至少一部分;安全模块,用于生成第一解密工具和第二解密工具,包括 电路,用于保存至少一个私钥,第一密码模块,用于使用所述至少一个私钥来生成所述第一解密 工具,以及第二密码模块,用于使用所述至少一个私钥来生成所述第二解密工具;存储单元,用于同时存储所述第一解密工具和所述第二解密工具;以及处理器,用于使用所述第一解密工具将所述第一加密的媒体流解密以 及使用所述第二解密工具将所述第二加密的媒体流解密。
16、 根据权利要求15所述的系统,其中所述至少一个接收器包括 第一接收器,用于接收所述第一加密的媒体流,以及 第二接收器,用于与第一接收器基本上同时接收所述第二加密的媒体
17、根据权利要求15所述的系统,其中所述第一密码模块包括由多个密码操作块构成的阶梯,用于使用多个运行时密钥将所述至少个私钥加密。
18、 根据权利要求15所述的系统,其中所述存储单元用于存储来自所述第一密码模块的多个解密工具。
19、 根据权利要求15所述的系统,其中所述存储单元还用于存储来自 所述第二密码模块的多个解密工具。
全文摘要
一种装置可以包括电路、密码模块和密钥储存装置。所述电路可以保存与第一媒体信息相关联的私钥。所述密码模块可以操作所述私钥来生成多个第一控制密钥,以用于将所述第一媒体信息解密。所述密钥储存装置可以存储来自所述密码模块的多个第一控制密钥。在一些实现中,密钥储存装置可以包含足够的存储空间来存储来自多个不同的密码模块中的每一个的多于一个的控制密钥。在一些实现中,密钥储存装置可以同时或几乎同时接收多个控制密钥。在一些实现中,密钥储存装置可以同时或几乎同时输出多个控制密钥,以用于同时将多个媒体信息流解密。
文档编号H04L9/08GK101416438SQ200780012038
公开日2009年4月22日 申请日期2007年3月30日 优先权日2006年4月6日
发明者D·巴特, D·洛基亚诺夫, P·蒙吉亚, S·J·布朗 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1