使用共同私钥组支持多个密钥阶梯的制作方法

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


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

了符合本发明的原理的 一个或多个实现,以及与说明一起解释这样的实现。该附图并不一定是依 照比例的,相反重点是在于说明本发明的原理上。在图中,
图1概念地说明媒体接收系统;
图2说明图1的系统中的安全模块的一部分;
图3说明图2的安全模块中的示例性密码模块;
图4说明启用(enable)私钥的双重使用的示例性过程。
具体实施例方式
下列详细说明涉及附图。相同的参考号码可以用于不同的图表中来标 识相同或相似的元素。在下列描述中,出于说明而不是限制的目的,阐明 了具体细节,比如特定的结构、体系结构、接口、技术等等,以便提供所 要求保护的发明的各个方面的全面理解。但是,其对于掌握本公开的益处 的本领域技术人员来说明显的是,所要求保护的发明各个方面的益处可以 在脱离这些具体细节的其他实例中得以实施。在某些情况下,为了不使本 发明的描述由于不必要的细节而难于理解,而省略了众所周知的设备、电 路和方法的描述。
图1说明媒体接收系统。该系统可以包括设备110通信地所连接到的 --个或多个网络100-1,…,100-n(统称为"网络100")。设备110可以经 由任何适合的介质以及经由任何或所有的网络100来接收加密的媒体信息, 包括但不限于各种无线/有线的传输和/或存储媒体。媒体信息可以包括但不 限于视频、音频、软件、图形信息、电视、电影、音乐、金融信息、商业 信息、娱乐信息、通信或可由供应商提供并为终端用户所消费的任何其他 媒体类型的信息。
设备110可以包括一个或多个接收器120、存储装置130、处理器140 和安全模块150。尽管为了便于说明,对设备110的部件以分离的功能部件 来进行说明,设备110的任何或所有部件可以位于一处和/或由门和/或晶体 管的共同组来实现。例如,两个或更多个部件120 150可以在片上系统 (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还可以临时存储加密产品或其他来自安全模 块的与安全有关的数据。
在一些实现中,处理器140可以使用来自安全模块150的结果,在来 自接收器120的加密的媒体信息被存储到存储装置130中之前,对其进行 "即时地"(onthefly)解密。在这种实现中,存储装置130可以临时地存储 解密的媒体信息。在其他的实现中,加密的媒体信息可以存储在存储装置 130中,并在其被读出时被解密。无论什么时候媒体信息被解密,它可以从 存储装置130被输出到设备110的另一部分,比如硬盘、显示缓冲器、关 于媒体特定的处理器等等(未示出),以进行进一步的处理或重放。
处理器140可以用于控制至/从存储装置130和/或安全模块150的媒体信息的输入和输出。处理器140还可以在驻留在存储装置130之前或之后, 使用来自安全模块150的解密密钥,对加密的媒体信息进行解密。在一些 实现中,处理器140可以使用来自安全模块150的相同或其他的解密密钥, 保护设备110中对其他进程和/或通信流的访问。例如,使用来自模块150 的一个或多个密钥,处理器140可以对对下述的访问进行加密或进行其他 的控制引导设备IIO(例如安全引导)、硬盘、通用串行总线(USB)流量、 TCP/IP流量或产生于或涉及设备110的任何其他的数据通道。
安全模块150可以用于存储一个或多个至少对设备110的制造商来说 是秘密的私钥。安全模块150中的一个或多个私钥可以是在制造商与数个 不同的供应商之间共享的秘密。除了不同的、基于硬件的私钥,安全模块 150可以包括数个不同的密码模块,使得可以为可以通过数个不同的数据通 道提供加密的媒体的数个不同的供应商提供媒体解密、加密和/或媒体安全。
图2说明符合本发明原理的一种实现中的安全模块150的至少一个部 分。模块150可以包括私钥210-1、 210-2、…、210-n(统称为"私钥210"), 复用器220、第一密码模块230、 一个或多个运行时密钥235、第二密码模 块240、其他密码模块(未示出)以及第n密码模块290。尽管私钥210和各 种密码模块230 290可以被类似地说明,但它们可以被不同地实现,而且 它们的细节可以由不同的供应商(有时被称为条件接收(CA)供应商)来定义。
私钥210可以驻留在模块150内的外部不可读的(即安全的)电路位置 中,并且可以是在设备210(或至少包含安全模块150的一个部分)的制造商 与两个或更多个供应商之间共享的秘密。只有制造商需要成为每个私钥210 的秘密的参加方;除了他们自己的,供应商不需要了解任何其他的私钥210。 同样, 一个或多个私钥210可以只对于制造商是秘密。
复用器220可以用于将一个或多个私钥210输入至特定的密码模块, 比如模块230。例如以分时复用的方式,复用器220可以将不同的私钥210、 私钥210不同的组合和/或相同的私钥210输入至每个密码模块230 290。 例如,在给定的密码模块240为关于供应商特定的实现中,只有供应商的 私钥(例如密钥210-1)可以被输入到那里。但是,这并不禁止复用器220将 供应商的私钥(例如密钥210-1)输入至另外的密码模块(例如模块290),该模 块被设备110的制造商安排用于另一目的,而不是私钥210-1的供应商想要的目的。
第一密码模块230可以接收私钥210,并使用这个密钥210来在模块 230内对某些数据进行加密。在一些实现中,这个另外的由私钥210加密(或 保护)的数据可以包括由与第一个模块230相关联的供应商发送(以及可能 地有时的更新)的一个或多个运行时密钥235。然而,在一些实现中,运行 时密钥235可能不被提供,并且模块230可以采用它的私钥210对在其内 部某些预定义的数据(例如制造商标识符等等)进行加密。此外,模块230可 以在一些实现中采用两个或更多个私钥210进行加密。第一密码模块230 可以在例如对加密的媒体信息进行解密的过程中,输出由处理器140使用 的结果。
图3说明第一密码模块230和运行时密钥235的示例性实现。第一密 码模块230可以包括密码操作块(cipher block) 310 330,并且运行时密钥 235可以包括加密的主密钥340、控制密钥350和控制字360。在这样的实 现中,模块230和密钥235可以被称为"分层的密钥阶梯(key ladder)",因 为密码操作块310 330执行的连续加密的"阶梯"。
这个密钥阶梯的方案可以包括作为与媒体信息的供应商共享的秘密的 私钥。供应商还可以提供由共享的秘密的私钥通过密码操作块340 360加 密的运行时密钥340 360。运行时密钥235可以由处理器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可以利用私钥PKa来加 密,并创建外部值EncMKz = E(MKz, PKa)。虽然在图3中没有明确地说明,EncCK禾n/或EncMKz可以被存储或除了模块150以外另外被使用。这种类 型的分层的密钥阶梯的实现可以提供多个级别的迂回以及对于攻击的保护。
返回图2,在一些实现中,第二密码模块240可以包括与图3所示的类 似的密钥阶梯,并且可以使用来自另一个供应商的与第一模块320所使用 的私钥不同的私钥210。在这种实现中,例如第二模块240可以与来自于第 二供应商的第二组运行时密钥(未示出)相关联。这可以使第二模块240能够 产生--结果,该结果除了对来自第一个供应商的可以由例如第一模块230 解密的信息进行解密之外,还对来自第二供应商的第二媒体信息流进行解 密。
在一些实现中,可以期待支持多于一个的私钥210,使得模块150可以 具有多个独立的共享共同密钥阶梯230/240的共享秘密210。应该注意的是, 每个密钥阶梯的深度不必是相等的,而且在一些情形下,密钥阶梯的各层 内的中间值也可以被输出和使用。例如,模块2卯的多个输出作为被输出的 屮间值的实例。 一个模块(比如模块290)输出的多个结果,或者不同的模块 230 290输出的不同的、单一的结果,可以将对于一个密钥阶梯的密码攻 击(甚至是成功的攻击)与另一个密钥阶梯(或其一部分)隔离开。
在一些实现中,私钥210可以用于独立的目的。例如,私钥210-1可以 由第一模块230使用来生成用于解密媒体信息的结果。私钥210-1也可以, 例如,由第二模块240或任何或所有多达并且包括第n模块290的模块使 用来生成用于解密或其他一些制造商选择的目的(例如用于设备110的安全 引导)的结果。在一些实现中,出于类似的或不同的目的,相同的私钥210-1 可以被模块230 290中的多个模块所使用,其都可以由私钥210-1来保护。
图4说明确定启用供应商提供的私钥210的双重使用的示例性过程 400。尽管为了解释的方便和清楚,图4可以参照图1 3来描述,应该明 白的是,过程400可以通过其他的硬件和/或软件实现来执行。
过程400可以由模块150的制造商在组成模块150的硬件上永久地提 供私钥210而开始[动作410]。这样的私钥110在模块150的外部可能是不 可访问的,并且可以是与加密的媒体信息的供应商所共享的秘密。在一些 实现中,动作410可以包括提供多个私钥410,其为不同的供应商所共享的秘密,和/或只是模块150的制造商的秘密的私钥。
过程400可以继续启用私钥210来确保设备110的一个方面的安全[动 作420]。在一些实现中,动作420可以包括安全模块150或设备110的制 造商在安全模块150中提供密码模块2卯,采用或不采用相关联的运行时密 钥235,因为通过模块290对私钥210的操作来产生一个或多个加密的结果, 模块290可以启用私钥210用于确保设备110的某个方面的安全。这种的 来自模块290的结果可以被处理器140用于安全引导设备110,控制对设备 110中的存储(例如硬盘)的访问,和/或确保设备110中的任何数据流的安全 (例如USB、TCP/IP等等)。仅仅提供密码模块290 (其可以包括密钥阶梯)在 这个意义上"启用"私钥210在动作420中确保设备110的一方面的安全。
过程400可以继续启用私钥210对加密的媒体信息进行解密[动作430]。 在一些实现中,动作430可以包括安全模块150或设备110的制造商在安 全模块150中提供另一密码模块230,采用或不采用相关联的运行时密钥 235,因为通过模块230对私钥210的操作来产生一个或多个加密的结果, 模块230可以启用私钥210用于确保设备110的某个方面的安全。这种来 自模块230的结果可以由处理器使用来对存储装置130中的加密的媒体信 息进行解密。仅仅在这个意义上提供密码模块230 (其可以包括密钥阶梯) "启用"私钥210在动作430中对加密的媒体信息进行解密。
以上对一个或多个实现的描述提供了说明和描述,但并不是穷尽的或 要将本发明的范围限制于所公开的精确的形式。对于上述教导的修改和变 型是可能的,或者可以从本发明的各种实现的实践中获得。
例如,尽管媒体信息的"供应商"用于表示提供本文所讨论的私钥, 该私钥可替换地可由该信息的权利所有者来提供,并且该媒体信息可以实 际上由"分发商"或其他与该内容的所有者具有商业关系的其他实体来提 供。如本文所使用的,术语"供应商"是要被广泛地适用于任何涉及分发 加密的媒体信息以及与私钥相关联(甚至只是附带性的)的实体。
类似地,"制造商"是要表示与提供至少安全模块150的相关联的一方, 并且其为共享秘密的私钥的一方。例如,不同的实体可以实际上制作模块 150和设备110的其他部分。如本文所使用的,术语"制造商"可以适用于 任何这些实体。此外,图4中至少一些动作可以以在机器可读介质中实现的指令或指令
组来实现。
本申请的描述中所使用的任何部件、动作或指令都不应当被解释为对 本发明是关键性或必须的,除非明确地这样描述。此外,如本文所使用的, 冠词"一"是要包括一个或多个项目。可以对上述所要求保护发明的实现 进行变化和修改,而不实质上违背本发明的精神和原理。所有这些修改和 变化是要被包括在本公开的范围内,并受下列权利要求保护。
权利要求
1、一种安全模块,包括第一电路,用于保存与第一媒体信息的第一供应商相关联的第一私钥;第一密码模块,用于操作所述第一私钥来生成第一结果,以用于将所述第一媒体信息解密;以及第二密码模块,用于操作所述第一私钥来生成第二结果。
2、 根据权利要求1所述的安全模块,还包括复用器,用于将一个或多个私钥提供给所述第一和第二密码模块。
3、 根据权利要求1所述的安全模块,其中所述第一密码模块包括 由两个或更多个分层的密码操作单元构成的第一阶梯,用于接收所述第- -私钥并生成所述第一结果。
4、 根据权利要求3所述的安全模块,还包括第一存储装置,用于保存来自所述第一供应商的两个或更多个运行时 密钥,所述运行时密钥被输入至所述第一阶梯中所述两个或更多个分层的 密码操作单元。
5、 根据权利要求3所述的安全模块,其中所述第二密码模块包括 由三个或更多个分层的密码操作单元构成的第二阶梯,用于接收所述第一私钥并生成所述第二结果。
6、 根据权利要求5所述的安全模块,还包括第二存储装置,用于保存三个或更多个运行时密钥,所述运行时密钥 被输入至所述第二阶梯中所述三个或更多个分层的密码操作单元。
7、 根据权利要求1所述的安全模块,还包括第二电路,用于保存与第二媒体信息的第二供应商相关联的第二私钥;第三密码模块,用于操作所述第二私钥来生成第三结果,以用于将所 述第二媒体信息解密。
8、 一种装置,包括电路,用于永久地并且不可访问地存储第一私钥,所述第一私钥是在 所述电路的制造商与第一加密的媒体信息的第一供应商之间共享的秘密;密钥阶梯,用于提供多个加密层给所述第一私钥来生成第一结果,以 用于将所述第一加密的媒体信息解密;以及密码模块,用于将所述第一私钥加密来生成第二结果,以用于除对媒 体信息进行解密之外的安全目的。
9、 根据权利要求8所述的装置,还包括复用器,用于提供所述第一私钥给所述密钥阶梯以及给所述密码模块。
10、 根据权利要求8所述的装置,还包括存储器,用于保存来自所述第一供应商的多个运行时密钥,所述运行 时密钥是对所述密钥阶梯的输入。
11、 根据权利要求8所述的装置,还包括处理器,用于使用来自所述密钥阶梯的所述第一结果将所述第一加密的媒体信息解密。
12、 根据权利要求8所述的装置,其中所述除解密之外的目的,是安 全引导、确保对存储设备的访问的安全或者将数据通道加密。
13、 根据权利要求8所述的装置,还包括第二电路,用于永久地存储第二私钥,所述第二私钥与第二加密的媒 体信息的第二供应商相关联;以及第二密码模块,用于将所述第二私钥加密来生成第二结果,以用于将 所述第二加密的媒体信息解密。
14、 一种系统,用于将来自不同供应商的媒体信息解密,所述系统包括至少一个接收器,用于接收来自不同供应商的第一加密的媒体信息和 第二加密的媒体信息;存储装置,用于存储所述第一加密的媒体信息和第二加密的媒体信息 的至少一部分;安全模块,用于生成第一解密器和第二解密器,所述安全模块包括 电路,用于存储分别与所述不同供应商相关联的多个私钥, 与所述不同供应商中的一个供应商相关联的第一密码模块,用于 使用所述多个私钥中的一个私钥,来生成所述第一解密器,以及与所述不同供应商中的另一个供应商相关联的第二密码模块,用 于使用所述多个私钥中的另一个私钥,来生成所述第二解密器;以及处理器,用于使用所述第一解密器来解密所述第一加密的媒体信息, 并使用所述第二解密器来解密所述第二加密的媒体信息。
15、 根据权利要求14所述的系统,其中所述至少一个接收器包括 第一接收器,用于接收来自第一传输介质的所述第一加密的媒体信息;以及第二接收器,用于接收来自不同于所述第一介质的第二传输介质的所 述第二加密的媒体信息。
16、 根据权利要求14所述的系统,其中所述第一密码模块包括 由多个密码操作块构成的阶梯,用于使用由所述一个供应商提供的多个运行时密钥,将所述一个私钥加密。
17、 根据权利要求14所述的系统,其中所述第二安全模块包括 复用器,用于将所述多个私钥传递至所述第一密码模块和所述第二密码模块。
18、 一种方法,其启用私钥的双重使用,所述方法包括 在芯片上永久地提供私钥;启用所述私钥来确保设备的一方面的安全;以及 启用所述私钥来将加密的媒体信息解密。
19、 根据权利要求18所述的方法,其中所述启用所述私钥来确保安全 的歩骤包括在所述芯片上提供第一密钥阶梯来对所述私钥进行编码以生成结果;以及提供处理器来使用所述结果,以确保所述设备的所述方面的安全。
20、 根据权利要求18所述的方法,其中所述启用所述私钥来解密的步 骤包括.-在所述芯片上提供第一密钥阶梯来对所述私钥进行编码以生成结果;以及提供处理器来使用所述结果,以将加密的媒体信息解密。
全文摘要
一种装置,可以包括永久并且不可访问地存储第一私钥的电路,该第一私钥是该电路的制造商与第一加密的媒体信息的第一供应商之间共享的秘密。它还可以包括密钥阶梯,该密钥阶梯将多个加密层提供给所述第一私钥,来生成第一结果,以用于解密所述第一加密的媒体信息。密码模块可以将所述第一私钥加密,来生成第二结果,以用于除对媒体信息进行解密之外的安全目的。该模块也可以包括密钥阶梯,并且该装置也可以包括使用该私钥的其他密钥阶梯。
文档编号H04L9/08GK101416439SQ200780012108
公开日2009年4月22日 申请日期2007年3月30日 优先权日2006年4月6日
发明者D·巴特, D·洛基亚诺夫, P·蒙吉亚, S·J·布朗 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1