用于产品注册的系统和方法

文档序号:6453939阅读:210来源:国知局
专利名称:用于产品注册的系统和方法
技术领域
本发明总体上涉及生产其中具有敏感数据的产品。
背景技术
参与密码安全通信系统的设备通常会具有在制造时注入设备中的某 类唯一的且不可变的信息。此信息可以是密码密钥、共享秘密或者可以与 设备的固有唯一属性以密码方式绑定的一些其它数据。这样的信息一般可
以称为"密钥",而信息的注入一般可以称为对i史备"加密钥(key )"或者"密 钥注入"。
注入密钥的目的在于保证在设备被分配之后的未来某时间点接受设 备作为安全通信系统的可信参与者。然而,设备的生产商常常会希望保证 合法地生产设备并且因此希望保护被注入设备中的密钥。生产商通常会以 保护密钥为目标以便保护未来的^,因为密钥的认证可以用来提供对安 全系统及其内容等的有M的访问。注入的密钥之所以重要还因为它使设 备的客户或者用户能够避免注册设备所需要的繁瑣过程。
可以基于对信任密钥的密码i人证来授权设备对系统的有条件的访问。 这一信任基于以下事实特别地难以在制造过程以外重现可信数据。提供 有条件的访问的系统包括例如,卫星电视和广播、那些持续地广播信息 但希望控制访问其内容并且因此控制用于提供该内容的^的系统。这些 系统依赖于制造过程和原始设备制造商(OEM),特别是密钥注入,以便 为设备并且最终为整个安全通信系统提供信任的根源。
注入设备的密钥有时是标准格式并且从监管实体购得,例如其中高清 晰度内容保护(HDCP)密钥,用来在数据通过线缆从PC发送到监视器 时保护数据。监管实体因此也关注于保证向设备的生产商分配的密钥能够 受到保护并且不被丟失。这赋予了生产商一种责任,由此提高保护注入密 钥的重要性。在一些情况下,生产商可能因丢失或者复制密钥而受罚,如 果他们得到在处理密钥时疏忽的名声,则监管实体可以限制或者切断密钥 的分配。尤其当密钥是设备与其它设备和/或M设施兼容所需的标准格式时,维持这种关系对于生产商而言常常至关重要。在这种情况下,如果 不能使用特定密钥,设备就无法如计划的那样工作。
在设备日益复杂和完善的现代商业趋势中, 一个制造商制造各部件并 对各部件加密钥以供另一制造商f^进行组装是司空见惯的。在这种情形
下,当设备的生产商或者通信系统的所有者不是设备制造商时,存在某些 安全牵连。因此设备生产商保证对该生产商的设备的完整性负责的制造系 统的完整性极为重要。
当考虑制造过程的完整性时,与用来制造设备的秘密信息的保密性以
题尤为4Mv关注。理想地,设备的生产商应当努力获得制造商没有产生和 分配"灰"市或者"黑"市部件或设备的保证。例如,制造商将一定数目的加 密钥的产品运回到生产商,但仍有剩余密钥,则该制造商可以用那些额外 密钥来制造和销售设备。生产商因此损失",这是因为制造商是从销售 中受益的一员。也可能发生其它行为,如克隆密钥或者窃取密钥,这种行 为在加密钥过程被外包时是难以检测和控制的。在一些情况下,可以在因 特网上发布密钥,以使用户获得对有M的访问系统的访问权,而无需为 这样的服务付费。
传统上,关注于在制造点保护信息注入阶段的生产商除了绝对信任制 造商以向生产商的设备和系统的安全性给予应有考虑的方式进行操作之 外几乎别无选择。保护机制一fcl初级的,因为加密钥信息通常被成批加 密和发送到制造商,制造商在所有加密钥信息抵达时一次解密,然后信任 该制造商不会损害这批信息的安全。
一种用于限制访问加密钥信息的方法是使用在线客户机/服务器机 制。适当利用这种机制,在制造商的设施处的客户机被连接到网络,并且 在生产商的控制下按设备地向远程密钥提供服务器请求加密钥信息。
对依赖于非现场的远程联网服务器的制造系统进行实施有诸多问题, 其中服务器仅以时间为^j提供加密钥信息。首要问题在于,如果非现场 服务器使用共享分组交换网,则不能保证对生产线的最低服务水平或者响 应时间。为了防止生产线中的这些问题,在延时和吞吐量方面的某一服务 水平是最优的。在给定的现代制造的实际情况下,即在相对于生产商来说 生产线存在于远程管辖中这种情况下,这种有保证的网络可用性可能特别 昂贵。开始生产运行,否则生产线延迟的风险将过高。制造商使用的任何加密钥 系统应当能够基本上保证服务的可用性并且提供适当的响应。这要求在开 始生产运行开始之前所有数据资源和加密钥信息本地可用。
假设所有数据资源对于可能存在于计算机系统上的生产线和不在生 产商的直接控制下的媒体来说必须本地可用,生产商必须考虑如何保证任 何秘密的加密钥信息的保密性。
对于制造商来说应当有足够的数据本地可用,以便开始和完成生产运 行。在生产商发现制造商进行未授权的行为以及合同上不允许采用的行为 的情况下,生产商也应当考虑如何防止这种欺诈制造商在合同终止之后生 产灰市或者黑市产 品。
与克隆有关的另一问题源于过量生产,即一种特定类型的克隆操作,
这是硅芯片的生产商尤为关注的。当集成电路(IC)的生产商将他们的 IC设计的制造外包给一个或更多个第三方制造公司时可能出现过量生
产。外包某些或者所有制造步骤的目的在于通过选择能够为执行制造过程 中的具体阶段提供最优价格的第三方来降低生产成本。例如,无生产线
(fabless )设计公司(例如生产商)可能希望与海外制造厂签约构建他们 已经设计的芯片。这种海外制造厂之所以常常被选中是因为他们能够相对 廉价地生产电子零件。
然而,外包通常增加了特定承包商可能过量生产他们已经签约构建的 产品以便供应灰市的风险。例如,如果签约制造商行为不守信用,根据生 产商提供的设计过量生产IC但是并不告知生产商发生这种过量生产,则 额外产品可用于作为"假冒"或者"克隆"IC在灰市渠道中销售。这使得第 三方制造商以他们的客户即生产商/设计商未来的产品需求和收入为代价 实现额外^和利润。
上述情况之所以可能出现是因为在这种情景下生产商除了在生产阶 段开始时接收工程样本之外通常不曾处理过产品。这样,在制造过程继设 计之后的各个阶段有窃取部件和产品的机会。在一些情况下,信用良好的 承包制造商的雇员可能成为窃贼。当雇员立即窃取生产线的产品时可能出 现"产量缩减"。这可能不仅由于损失^而对生产商和签约制造商不利, 而且对于在生产商与制造商之间开展未来业务的关系不利。
因此本发明的目的在于避免或者减轻上述不足。

发明内容
本发明提供在分离实体之间分离敏感数据向产品的添加,以便禁止由 过量生产和产量缩减所致的灰市产品。
在一个方面,提供一种用于控制产品的生产过程的方法,包括在产 品的设计中包括具有用于截取和变换产品中的数据流的数学变换的模块, 该数学变换要求密钥是可操作的,该产品要求数学变换的成功工作是可操 作的;将生产过程安排成复数个阶段,该复数个阶段中的各阶段能够由复 数个实体中的相应实体执行;将密钥划分成敏感数据的复数个部分,将复
数个部分中的各部分分配到复数个实体中的相应实体;以及将用于根据设 计来生产产品的掩膜分配给复数个实体中的第一实体,使得所述复数个实
体中的笫一实体能够向所述密钥添加敏感数据的第一部分;其中所述产品
在添加敏感数据的所有复数个部分时可操作。
在另一个方面,提供一种用于控制产品的操作的方法,包括截取由 产品的第一部分提供的数据;将数据输入到数学变换中;使用密钥将数学 变换应用于数据以生成输出,该数学变换要求密钥是可操作的;以及将输 出提供给产品的第二部分;其中该产品要求数学变换的成功工作是可操作 的,且数学变换包括敏感数据的复数个部分,各部分在生产产品过程中的 复数个阶段被添加。
在又一个方面,提供一种包含于产品中、用于控制该产品的操作的注 册模块,该注册模块包括用于截取和变换产品中的数据流的数学变换,以 及存储于存储器中的密钥,该数学变换要求密钥是可操作的,该产品要求
数学变换的成功工作是可IMt的;其中密钥包括敏感数据的复数个部分, 各部分在生产产品过程中的复数个阶段;故添加。
在再一个方面,提供一种用于控制产品的生产过程的系统,包括在 负责生产过程的第一实体的控制器以及在复数个过程阶段的复数个服务 器,该复数个服务器被配置成用于以安全方式接收来自于控制器的敏感数 据,以及用于向控制器发送日志报告;控制器被配置成用于将用以生产产 品的掩膜分配给复数个服务器中的第一服务器,以使得复数个服务器中的 第 一服务器能够在第 一过程阶段向产品的密钥添加敏感数据的第 一部分, 密钥用于在产品中操作数学变换,产品要求数学变换的成功工作是可操作 的;其中复数个服务器中的至少 一个其它服务器被配置成用于在至少 一个其它过程阶段向密钥添加敏感数据的至少一个其它部分。


现在将参照附图仅通过实例来描述本发明的实施例,在附图中
图l是远程设备注册系统的示意框图2是图1中所示图形用户界面(GUI)的示意图3是分配图像的示意图4是示出了密钥注入和才艮告过程的流程图5是示出了预备过程的流程图6是描述了信用指示过程的流程图7示出了用于支持复数个产品的另一实施例的映射方案;
图8示出了过滤的日志报告的实例;以及
图9是示出了远程设备注册系统的另一个实施例的框图10是在制造过程中使用复数个阶段的密钥注入的实施例的示意框
图ii是合并有注册模块的掩膜的示意图,该注册模块用于分离使用 了图10实施例的密钥注入阶段;
图12是图IO的实施例中所示阶段的示意图13是示出了在生产产品时釆用的步骤的流程图14^1才艮据图11中所示的掩膜生产的示例性产品的示意框图。
具体实施例方式
参照图1,附图标记10总体上表示远程设备注册或可信密钥注入系 统。设备22的生产商12利用分离实体的服务来将唯一的且不可变的信息 注入到设备22中,在这一情况下该分离实体为外部制造商14。信息可以 是密码密钥、共享秘密或者可以与设备22的固有唯一属性以密码方式绑 定并在下文中称之为"密钥,,的一些其它数据。将密钥注入到设备22中的 步骤在下文中将被称为"加密钥,,或者"密钥注入"。生产商12使用控制器16,该控制器是远离制造商设施的计算机系统。 控制器16包括硬件安全模块(HSM) 11。 HSM 11是由控制器16用来以 密码方式执行安全操作如加密、解密和签名的受保护设备。HSM11可以 防篡改(例如物理上难以访问)或者可以对篡改有反应(例如如果遭篡改 则擦除数据)。控制器16负责封装和传送密钥及其它信息给制造商14, 并负责监视制造商14对密钥的分配和使用。生产商12通常从外部资源如 监管实体获得密钥的批数(未示出),其中监管实体例如是HDCP密钥的 生产商。密钥被存储于数据存^i殳备15中,直到它们要被分配给特定的 制造商14。操作者可以使用图形用户界面(GUI) 13来监视、修改并且 由此控制控制器12及其操作。GUI13通常是一种软件应用,4吏用个人计 算机(未示出)来对其进行显示和与之交互。
控制器16通过管线23连接到位于制造商14处的服务器18。管线23 包括两个正向通信通道即控制通道26和分配通道25,以l良向通道24。 控制通道26由控制器16用来通itJL送信用指令来计量制造商14可以使 用的密钥的数目。分配通道25由控制器16用来将受保护的密钥块分配给 制造商14。反向通道24由系统10用来使控制器16知晓密钥用于报告和 审查的目的。通道24、 25和26可以是任意的通信通道而无需是可靠的或 者安全的。使用技术机制和处理/过程的组合来提供通道24、 25和26的 可靠性和安全性。例如,如果通过正向通道26发送给模块18的消息因被 破坏而没有解密,则用户可以致电系统控制器模块16的操作者并让他们 再次发送该消息。
制造商14利用一个或者更多个服务器18,该服务器18是计算机系 统,其在制造商的设施本地,而其活动通过由控制器16发送的消息来监 视和计量。服务器18也通过反向通道24向控制器16返回报告。服务器 18包括与控制器16所用的HSM 11相似的HSM 28。 HSM 28存储受保 护信用池30,该信用池指示了制造商14可以使用多少密钥。控制器16 通过监视由服务器18报告的数据并JbMl应地对信用池30进行加减来计量 密钥的使用。信用池30是一种抽象概念,其表示在服务器18需要请求和 获得来自控制器16的更多密钥之前可以由HSM 28解密的密钥的数目。 正如下文将更全面地i兌明的那样,控制器16通过分配通道25将密钥分配 给服务器18,服务器18将密钥存储在本地数据存储设备17中。
制造商14利用 一个或者更多个用于将密码密钥注入设备22中的装置 20。加密钥通常发生于制造过程的测试阶段中,因此装置20常常是组装线上的测试机。装置20包括密钥代理21,该密钥代理21通常是加载到 用于在应用侧管理密钥注入的装置20中的软件程序或者工具包。密钥代 理21与服务器18通信以请求并获得他们所需的密钥。通常,服务器18 将足够的密钥提供给密钥代理21以免破坏生产过程的时间安排。然而, 服务器18不会提供不必要数目的密钥,这样可以限制对密钥的使用,直 至控制器16根据通过信用池30的计量来提供加密钥批准。
通常,密钥代理21具有指示特定装置20何时需要新批次密钥的阈值 水平,这样可以不破坏生产。正如下文将更加具体说明的那样,由于控制 器16通常不与服务器18持续通信,所以在控制器16可以从服务器18获 得密钥使用报告之前,控制器16在保证服务器18不发放过多的密钥数据 的同时,可以调整其参数以保证通itJi艮务器18有足够加的密钥资料可为 装置20所用。
优选地,密钥代理21包括在装置20上运行的应用程序接口 (API), 使得设备本身的操作者可以人工地或者以自动化方式请求密钥。密钥代理 21用于为在服务器18与装置之间传递的数据提供一定级别的保护,并且 密钥代理21可以视为服务器18与装置20之间的简化的安全套接层(SSL) 连接。可以理解,如果资源允许,则也可以使用密钥代理21自身与服务 器18之间的SSL连接来实施密钥代理21。密钥代理21还负责在密钥被 使用时生成发回给服务器18用于报告目的报告记录。
控制器16是用于监视和计量由制造商14进行的密钥注入的指挥中 心。为了从远程位置控制加密钥,GUI 13由操作者用来监视和配置在控 制器16控制之下的各制造商14、服务器18和装置20。图2示出了示例 性的GUI 13。 GUI 13分成服务器窗口 200、控制器窗口 204和装置窗口 202。服务器窗口 200包括制造商14的列表以及因此包括由控制器16控 制的服务器18的列表。在控制器窗口 204中指示了特定控制器16。操作 者可以选择特定制造商(例如,如图2中所示的制造商A),且与该制造 商关联的装置20被显示在装置窗口 202中。
在图2所示的实例中,在制造商A处的服务器包括提供关于服务器1、 服务器2和服务器3的信息的窗口 。各服务器具有与它关联的某些数据。 例如,如图2所示,各服务器包括进度条,显示它们的可用存储空间、可 用信用,以及可用于密钥类型1和密钥类型2中的每种的密钥数目。各测 试器窗口还显示日志信息,如先前净艮告的处理日期、先前才艮告的信用、先 前的补充数量,以及关于丢失日志记录的数据。服务器窗口还为操作者提供用于通过控制器16远程配置和禁用服务器18的选项214和216。
控制器16具有远程配置服务器18的能力。这使得控制器16能够改 变密钥类型、添加或删除密钥类型以及控制其它配置选项。这优选地通过 沿控制通道26将配置消息发送到服务器HSM 28来实现。HSM 28可以 对配置消息进行评估,由此, 一些配置消息改变HSM28的行为,而其它 配置消息M送给服务器18。使用这一方法,通过HSM 28而被发送到 服务器18的配置消息可以帮助保证服务器18获得可信任的、已知为源于 控制器16的配置指令。
控制器16可以通过密钥代理21在服务器级或者装置级远程配置系统 10。控制器16还可以强制对服务器18进行轮询,且可以调整用于定期轮 询的间隔。通常,按固定的间隔轮询服务器18,控制器16可以根据需要 使用强制轮询来获得间隔之间的信息。例如,利用一天的间隔,控制器 16可能需要数据以便当天向管理员报告,因此可以强制轮询所有服务器 以获得这样的数据。GUI 13还可以包括控制器的电子邮件选项,使得控 制器16在极端情形下,如在关键生产运行时解密或分配失败,能够自动 联系管理员。
分配给服务器18以及由装置20注入到i殳备22中的各密钥在某些事 件时触发某些日志记录。GUI 13可以用来搜索、分类、编辑和分析日志 记录以及查看如图8所示的定制的或者标准的报告400。在该实例中,生 成了三个主日志记录。密钥至服务器日志402在由生产商16将密钥分配 给服务器18时生成。密钥至代理日志404由HSM 28在它将密钥发放给 密钥代理21这一点生成,密钥注入日志406由密钥代理21在密钥注入时 生成。各日志记录可以包括任何数目的标识信息,这些信息包括ID类型、 时间戳、制造商、装置等。在图8所示的示例性报告中,报告400示出了 针对序列ID=001的密钥的密钥至服务器日志402、密钥至代理日志404 和密钥注入日志406。这些记录随后可以被用于跟踪具有这种序列ID的 密钥的生命周期。可以理解,才艮告400可以包括任何数目的记录,并且可 以基于任何适当域(field)而被过滤。例如,可以通it^目应地过滤日期域 和位置域来编辑报告400,该报告400示出了在制造商A处由测试器2于 5月3日注入的所有密钥。
现在参照图3,生产商16可以使用要M送给服务器18的分配图像 40、优选地使用加密,在安全数据传输中封装成批密钥集。分配图4象40 使生产商能够将去往复数个服务器18的用于复数个产品的密钥包括在一次传输中。各服务器18于是能够只在HSM 28已经接收到授权之后才解 密和获得来自控制器16的、通过控制通道26的一定数目的密钥。图像 40是数据记录的集合,各记录包含类型域58、 ID域60、尺寸域54和数 据域56。其中数据域56通常包含由尺寸域54标识的任意尺寸的密钥数 据。如先前通过控制通道26所指示的那样,类型域58和ID域60由HSM 28用来才艮据HSM 28的配置对密钥数据标识,可能用来过滤某些密钥。 密钥可以被封装,^f吏得实施并不关心密钥在目标看来实际〗象什么。这使之 灵活和可扩展而无需针对各新密钥类型重新设计。封包(wrapper)应当 包含类型、尺寸和唯一的ID,而主体是抽象的。封包也可以将用于支持 更高级的特征如登录或者变量赋值的元素包含到抽象化图像中。
用图像密钥42对图像40加密。图像密钥42由服务器18用来解密图 像40和获得密钥。针对各服务器18对图像密钥42本身进行加密,并且 将其存储为服务器报头48。服务器报头48的集合存储于主报头46中。 为了解密图像40和获得密钥,由服务器18选择报头48,由HSM28对 其进行解密,以获得图像密钥42。图像密钥42l^用来解密图像40。
如前文所指出的,分配图像40可以用来支持复数个产品。也参照图 7,其示出了产品类型和数据块的映射。例如,生产商16有三个产品,即 利用密钥1 (具有过滤标记1)的y、利用密钥2 (具有过滤标记2 )和附 带配置块(也具有过滤标记2 )的(3以及利用密钥1、 2和配置块的a。图 像40可以包括密钥类型1和密钥类型2的批数,而y和P产品可以不如 a产品那么复杂。生产商16可以对具有例如用于五十(50)个每种块的 数据的单个图像40进行封装,由此某个测试器(例如测试器1)有权制 造并因此可以获得用于生产五十个产品a的五十(50 )个过滤标记1和2。 另 一测试器(例如测试器2 )可以同时有权制造并且因此获得来自于图像 40的五十(50)个过滤标记l,以生产五十个产品p,以及有权制造并且 因此获得五十(50)个过滤标记2,以生成产品p图像40可以包含所有 的加密钥数据,这些加密钥数据可能包括复数种类型的密钥。测试器向服 务器18标识正在被编程的产品或者产品模型的类型。该模型信息随加密 图像40 —起^LiL送到HSM 28,使得当HSM 28解密图像40时,密钥数 据50可以被过滤,且只有对标识的产品模型进行编程所需的密钥数据才 由HSM28发放给测试器。因此,生产商12可以用单个图像40支持复数 个产品,而采取步骤以保证制造商14只能制造被认为将要制造的产品。
由于图像40可以支持复数个产品,所以日志记录用来跟踪在测试器执行的实际密钥注入,这一点将在下文中更完全地加以说明。通过跟踪日
志记录,生产商16可以尝试检测例如制造商14是否返回50个产 品Y而 不是50个产品a (生产商已经对其支付生产费),而他们也可能在灰市或 者黑市上已经销售了 50个产品p。这种差异可能是也可能不是恶意的, 但是无论如何这种差异可以^L合理地标识。
图4示出了密钥的典型生命周期,该生命周期从该密钥通过分配通道 25的分配直至HSM 28通过反向通道24向控制器16才艮告。图4中的加 亮块代表由安全模块即HSM 11和HSM 28执行的那些步骤。控制器16 首先从外部供应商获得标准密钥的批数。随后控制器16将密钥传递给 HSM 11, HSM 11对密钥块进行加密,各密钥块包含某种密钥类型的测 量数。可以理解,密钥也可以被成批加密成具有一个以上的密钥类型的块。 随后,控制器16将成批加密的密钥存储在存储设备15中,直至其接收到 指示将要分配密钥块的指挥或者其它命令。
当生产商16分配密钥块时,首先获得成批加密块,并将该块传递给 HSM 11。 HSM ll对该块进行解密,并对密钥块重新加密以便随图像密 钥42—起发送。随后,针对各服务器18对图像密钥42本身进行加密, 以产生各报头48。这些报头48存储于主报头46的组44中。这时,HSM 11为已经重新加密以供分配的密钥生成密钥至服务器日志402。日志402 存储在生产商12本地供以后分析。重新加密的密钥块随后通过分配通道 25被分配到服务器18。
服务器18将图像40中包括的已加密的密钥块传递到HSM28, HSM 28随后对图像40进行解密。HSM 28先从组44中选择其特定报头48并 对图像密钥42进行解密。随后图像密钥42被解密以从图像40中获得密 钥。接着,优选地,例如使用安4^L列算法、MAC或者数字签名来!Hi 图像40并且过滤该图像。HSM28随后还对从图像40中获得的各密钥进 行重新加密以供存储。可以理解,基于控制器16与服务器18之间共享的 唯一对称分配密钥U和ks2来假定图像40的真实性。当例如在Sha-2摘 要比较之后执行了成功的完整性检查,就可以认为它们之间共享的消息是 真实的。
当控制器16从装置20接收到对一定数目的密钥(例如N个密钥) 的请求时,HSM28祐J赋予N个密钥来进行解密。随后,针对由HSM28 解密的N个密钥中的各密钥生成密钥至代理日志记录404,并将密钥传递 到装置20以供注入。这时,密钥是"干净的"并且因此准备注入。装置20将N个密钥中的各密钥注入,密钥代理21为注入的各密钥 生成密钥注入日志记录406。HSM 28将持续获得密钥至代理日志记录404 和密钥注入日志记录406,并优选地将这些记录连接成通过反向通道24 发回到控制器16的主日志报告R。
各日志优选地被连接成标识有文件产生日期的二进制文件。优选地, 由HSM 28利用加密密钥&对报告R进行加密,并将其返回给运行于服 务器18上的应用,以便通过反向通道24发送。控制器16随后可以对报 告R进行解密并IHit各日志(例如402、 404、 406)。各日志可以用单调 同步编号来标记。如^t在一起的所有记录ID值不是连续集,则控制器 16的操作者将知道在何处跟踪序列中的丢失日志。
如上所述,控制器16在N个密钥被分配之前已经针对其存储了多个 密钥至服务器日志记录402。因此,控制器16希望在将来某时间接收到 报告R,该报告R完成了各密钥的生命周期以指示初始分配的密钥已被 正确的服务器18解密并被注入到正确的设备中。控制器16因此能够评估 所提供的日志报告。随后,控制器16可以确定是否应当采取动作,如干 预制造操作(例如停止分配)或者提供更多密钥。控制器16也可以在分 配另一个密钥块之前请求更多信息。以这种方式,控制器16可以对分配 进行计量,如果制造商运营信用良好并且一贯地提供准确日志报告,才提 供更多密钥。
日志记录(例如图8所示的日志记录)使生产商能够发现ID编号序 列中的不连续。例如,如果复数个密钥已经被分配但是尚未报告密钥至代 理日志或者密钥注入日志,则制造商可能已经丢失该密钥。这可以表明灰 市或者黑市活动。在另一情景中,净艮告R可以针对特定密钥包括密钥至 代理日志404而不包括密钥注入日志406。这可以表明问题源于请求密钥 的特定设备而不是制造商14本身。因此,制造商14也可以将日志报告R 用于审查目的以及识别内部恶意活动,以^^维持其与生产商12的关系。 各密钥的生命周期在密钥被操作的各关键阶段都要求报告记录。因此,生 产商12具有用于识别何处已经出现问题以及着力于纠正或消除此类问题 的必要信息。优选地,日志记录包括不仅与密钥的序列号有关而且与密钥 类型有关的信息。以这种方式,生产商12也可以确定a产品是否^ML委托, 虽然Y和P产品可能已被生产。
日志报告提供用于阻止制造商14恶意或不道德行为的信息,并提供 用于评估现有制造商14的完善性的手段和用于提^H壬何不希望的活动的证据的工具。在检测不希望的活动时使用切实证据使得生产商12能够以 比猜疑更有力的东西来面对制造商14,这在违法活动出现于测试器级(例 如因雇员而不是公司本身所致)的情况下可以挽救在生产商12与制造商 14之间的重要关系。
除了分配之外,控制器16还使用控制通道26来控制信用池30,并 由此计量密钥注入阶段。图6示出了信用指示过程。HSM28需要在对分 配图像40进行解密和获得密钥时消耗来自信用池30的信用。信用池30 会随时间而被削减,且需要用控制器16发送的信用指令文件来补充。
控制器16通过控制通道26 —次M送一个控制消息C给服务器18。 在该消息中包含的优选所需文件之一是信用指令文件。该文件可以是由 HSM 28解密的、用于具体服务器18的、针对信用指令的加密数据集。 信用指令例如包含全部被控制器16签名的HSM 28和/或服务器18的序 号、服务器的令^牌ID、序列号、新信用额和配置数据。
在收到控制消息C时,HSM 28对来自于控制消息C的信用指令数 据进行解密并对签名进行I^It。如果适用,则HSM 28也对其自身的序号 和令牌ID进行验证。随后执行序列号的發汪。序列号应当大于存储于 HSM28内部的序列。当验证后,HSM28更新其内部序列号,并将信用 池30的值设置为信用指令中的信用值。
如上文参照GUI 13说明的那样,HSM 28随后将处理控制消息C中 的任何配置消息以更新其内部配置,以便使控制器16能够将配置数据推 送到服务器18,如针对过滤规则、加密钥信息、信用规则等的更新。配 置数据可以被送往HSM 28、运行于服务器18上的应用或者甚至是密钥 代理21。 HSM28寻找限定类型的配置消息以处理他们。配置消息可以被 标记为专用的或者/>共的,而对它的访问于是将由HSM28来控制。
信用报告Cr AJJ良务器对处理控制消息C中的信用指令的响应。信用 报告Cr可以包含HSM28的序号和令牌ID、当前序列值、信用池30的 当前值、到目前为止的补充次数,以及如果在信用指令处理过程中没有出 现餘溪则i殳置为零的,代码。
信用报告Cr优选地由HSM 28使用其签名密钥k2来签名。随后针对 控制器16使用该控制器的公共密钥k3对报告Cr进行加密。为了上述审 查目的,报告Cr随后^JL送给控制器16并随日志报告R —起被存储。
在分配密钥之前,生产商12和制造商14可以经历用于初始化HSM和服务器18的预备过程。在图5中示出了该预备过程。HSM 28向控制器16产生并发送预备请求消息P。该消息P优选地包含服务器18在使用的HSM 28的序号。HSM 28生成两个密码密钥对&、 k2 (例如RSA密钥对或优选地使用椭圆曲线密码(ECC )), 一个(& )用于接收加密消息,
而另一个(k2)用于对传出的消息签名。优选地,在密钥对ki和k2的该
交换过程中,在物理受控环境中用以密码方式来引导(bootstrap)制造商14。
当控制器16接收到来自于服务器18的预备请求时,将该预备请求传递给HSM 11, HSM 11检验消息的完整性,随后为制造商14分配"令牌ID"。生成两个密钥,优选为对称密钥U和k^(例如高级加密标准(AES)密钥)。这些密钥将由控制器16和服务器18用来保护如上文提到的分配通道25上的分配图像40和反向通道24上的日志报告R。
HSM 11随后生成预备响应消息P,,该预备响应消息例如包含分配的令牌ID、分别用于HSM加密以及签名密钥对k3和k4的公共密钥、分配通道和反向通道对称密钥ku和ks2、 一些初始配置数据,以及针对完整性的散列摘要。类似于预^^请求消息P,假设在物理受控环境中(例如4吏用HSM保护)处理预备响应消息P,。
预备响应消息P,随后可以被发送到服务器18,接着,服务器18可以在收到它的第一预备请求时执行初始化操作。预备响应的结构可以包含用于解密成以下分离结构的部件,该分离结构包含用于在控制器16与服务器18之间的正向通道和反向通道通信的对称密钥。应当注意到,这些密钥针对于各HSM28 (并且因此各服务器18)而不同,且不在HSM组之中共享。当预备过程完成后,分配图像40和控制消息C的正常交换就可以开始。
在图9所示的另一实施例中,系统10可以被装配到已通过制造商14实施以保护密钥注入阶段的现有方案中。在图9所示的实施例中,相似元素被赋予带有后缀"a"的相似附图标记。例如,制造商14可以具有装置20a,该装置20a已经包括用于将串"BCA"转换成"ABC,,的加扰器74,其中设备22被有线连接以接受ABC作为注入密钥。以这种方式,如果密钥"BAC"被窃或者放错地方,则因为^JL生加扰,它不会为设备22a工作。在保护密钥时的这些尝试虽然易于实施,但是通常是初级的并且可能并不提供适当的保护级。通过容纳这种保护,系统10于是可以被装配到装置20a而无需拍t销已经实施的现有方案。因此,可以避免制造商14为实施系统10而造成的附加成本。可以实施该装配直至完全的重新i殳计^L授权,此时可以使用图1中所示的安排。
为了容纳现有方案,系统10将签名对象集72存储在服务器18,该签名对象集72是与特定装置20a关联的可执行文件的集合,其在HSM28a发放密钥之后且在密钥注入之前执行现有方案。这样,更改密钥以容纳现有方案而不为装置20a所知。如图9所示,控制器16a首先需要访问由装置20a用来提供现有方案的可执行文件(exe)70。随后,控制器16a将把exe70传递给HSMlla。接下来,HSM lla对exe 70进行签名并将签名的exe 70传递给HSM 28a, HSM 28a随后可以将签名的exe 70存储为签名对象72。在操作中,当装置20a请求新批次的密钥时,月艮务器18a针对HSM 28a中存储的exe的签名来lHiE该exe。当服务器18a i^了exe72后,发送exe密钥以4吏其#>扰。
例如,装置20a需要密钥BCA以将该密钥馈送^i殳备22a中的加扰器76,使得密钥ABC被注入到产品a。 HSM 28a确定产品a具有用于修改密钥ABC的签名对象exeA。该签名对象exeA祐JHi并被应用于密钥ABC,从而得到加扰密钥BCA。加扰密钥BCA随后被发送给装置20a,加扰器76修改密钥BCA,这样它能够注入密钥ABC。装置20a并不了解(它接收的)密钥BCA由服务器18a存储为受保护的形式ABC。可以理解,由服务器18a存储的密钥也可以是如CAB这样的形式,该形式随后被修改,以读取BCA用于加扰,^净皮转换成ABC用于注入。这种情况可以在密钥CAB是标准形式且需要被修改以适合CAB不会被接受为密钥的现有方案时候出现。因此,签名对象72包含用于容纳由装置20a实施的现有方案所需的任何程序,而上文^/映的实例仅用于i兌明目的。
签名对象72还禁止恶意代码被加载到服务器18a中,以便在注入之前修改密钥,这是因为签名的可执行文件通常在应用于密钥之前针对要被发放到机器的密钥而被加以验证。系统IO因此可以提供提高的安全级而又容纳现有方案。
因此,通过利用与服务器18分离的远程系统控制器16,生产商12能够监视制造商14的活动,并通过HSM 28来计量信用。生产商16因此能够管理加密钥信息在设备22上的注入,以保证制造商14正确地才艮告为生产商12制造的单元的标识和数目。这使生产商12能够具有制造商14没有产生和分配灰市或者黑市产品或者设备22的保证。
适当利用上述过程和系统10,生产商12可以监视在制造商14处的生产。生产商12可以使用控制消息C中的信用指令、通过添加或者移除供制造商14使用的可用信用来计量设备22的生产。
可以理解,系统10不限于如图1所示一个制造商14,各制造商14也不限于一组装置20。系统10也不限于使用单个控制器16。 HSM 28是用来保护密钥值和信用池30的完整性的最优选的可信硬件。另外,在分配消息40中包含的加密钥信息并非必然是加密钥信息,其还可以另_要求保密性和真实性的任何数据元素。对于希望执行设备激活的粒度的系统10来说典型的是需要加密钥数据。
在图10-14中例示的以及在下文中详细描述的一种可替选的安排中,通it^硅或设备的生产过程中引入职责的分离可以禁止过量生产。通常,生产商12将各生产阶段(设计、制造、测试等)承包给复数个承包商。一般而言,职责的分离涉及有目的地分离针对硅芯片或者其它产品的生产阶段、特别是制造阶段,从而各转包商处理或者"接触,,最终产品以便使最终产品的功能完全。由于灰市通常由生产过程链中的单个故障点或者单个不守信用的承包商供应,所以强制一组承包商依序操作意味着两个或更多转包商需要串通背叛生产商12以便向灰市供应无缺陷的子零件或者设备。最终产品及其子零件为了功能完全而应当完成所有阶段。 一般而言,当需要复数个转包商串通才可行窃时,明显减小了侵害生产商12的风险。
在硅晶片的生产过程中,晶片的制作过程需要数个步骤,各步骤可以被转包给第三方制造承包商。例如,设计芯片的无生产线半导^f M^司(例如生产商12)可以将用电子数据文件表示的设计分配给这些第三方承包生产商。这些数据文件可以包括各种包含在标准化的以及专用的描述语言中的行为的、逻辑的和物理的设计描述的抽象表示。这些文件也可以包含生产细节,这些生产细节包括但不限于设计约束和属性、过程参数以及用于所涉及的制造过程的排序指令。这些数据文件的目的在于对于各转包
商,限定各转包商为完成他们在由无生产线半导^^S司提出的指导方针内的生产过程部分所需的设计过程和>$*。在以综合方式进行考虑时,这些
数据文件的完整集可以被视为从行为设计抽象表示到测试和封装的集成电路零件的希望的硅生产过程的完整描述。
参照图10,半导体固态产品生产过程的一个实例可以进行如下。首先,无生产线半导体乂>司,也称为无生产线设计/>司(例如生产商12),将成品IC芯片的生产转包给半导体铸造7>司。为了传送原始设计描述卯中限定的希望的电路描述,无生产线半导体公司向半导体铸造公司传i^RTL设计阶段100产生的寄存器级设计描述(RTL代码),或者在阶段 101产生的栅极级网表(gate level netlist)设计描述。进而,半导体铸造 公司向第三方物理设计公司转包物理设计,也称为晶体管级设计,该物理 设计公司在阶段103接收来自于铸造公司的抽象的RTL代码或网表,并 以电子数据文件的形式返回物理设计描述。
半导体铸造公司随后可以获得代表物理该:计的电子设计文件,并将该 电子设计文件交付到第三方掩膜设计商。掩膜设计商接收物理设计文件, 并在阶段104中根据由物理设计文件限定的参数来构建例如光掩膜。因此 在这一实例中,在经历数个设计阶段之后,根据原始设计描述卯产生了 掩膜卯,。
光掩膜1S1^被传送给半导体铸造厂。在阶段105中,半导体铸造厂通 过重复使用光掩膜以在晶片上分层、图案化、掺杂和加热电路元件,从而 使用光掩膜来制作硅晶片。该过程中的这一步骤可以称为晶片制作。在晶 片制作之后,各晶片包含在该晶片上形状为许多正方形或长方形的复数个 管芯(die)。各管芯是完整的集成电路,其最终变成单个芯片。各晶片通 常包含数以百计至数以千计的管芯,这取决于各管芯的尺寸。
当在晶片上制作了管芯后,半导体铸造公司在步骤106中进行晶片分 类,这用来确定晶片的产量,或多少管芯避免了缺陷。晶片分类过程也可 以提供关于工艺技术和参数的《Jt,因为它们涉及晶片的产量。通常,在 这一阶段106,半导体铸造公司随后转包对封装部件的封装和测试。在封 装车间,晶片被划分(例如"切割")成单个管芯。来自于晶片分类过程的 已知"不良,,晶片已被做上标记,且在这时被丟弃。在阶段107中,在模制 塑料中封装各晶片,并将管脚粘结到管芯中的焊垫。这时部件被发送至在 另一位置的最终测试阶段108。在最终测试阶段108中,"良好"的芯片 (即已经合格的那些芯片)救义回到半导体铸造厂,以便在阶段109中最 终被分配回给无生产线半导体制造商或者客户。
概括而言,原始设计描述90的示例性半导体IC产品的生产过程可 以分解成以下阶段I)RTL设计阶段IOO; 2)栅极级网表设计阶段101; 3)物理/晶体管设计阶段103; 4)掩膜制造阶段104 (例如光掩膜);5) 晶片制作阶段105; 6)晶片分类阶段106; 7)管芯封装阶段107;以及8) 最终测试阶段108。这仅为一个有代表性的实例,可以理解,设计的原创 者(例如生产商12)可以转包、组合或执行上文概括的八个步骤的任何 排列。例如,存在通常并不转包任何上述阶段的商业半导体制造商。另一方面,也存在如上文讨论的掌握芯片的抽象理念或者i殳计或者规范的无生 产线设计公司,其将所有阶段转包。某些转包商也可以提^"对各阶段的 所有服务,而其它转包商仅能够提供一种服务。
这样,可以理解,任何或者全部上述阶段可以发生在单个工厂中,在 其它应用中,根据生产过程、应用等也可以存在或多或少的阶段,即任意 数目N的阶段。
产品22包括某一形式的敏感的或不可变的信息,该信息要被包括在 产品22的设计中,并且优选地,没有这种敏感信息该产品22就不能操作。 在这一实例中,生产商12向在产品22的整个生产过程中执行具体阶段的 八个第三方制造实体转包(直接向铸造厂转包而间接向他们的转包商转 包)。
为了防止不完整的产品或者子零件在生产实体100-108之一被转移到 灰市IIO,则应用"职责分离"。职责分离是各生产过程阶段的生产和数据 编程职责的划分,这样,完成无缺陷产品22的生产所需的所有职责由规 定的承包商以规定的顺序执行。
在该实例中,如密码数据注入这样的敏感任务被分成复数个阶段,各 阶^t不同的生产过程阶段中由不同的生产实体(例如设计、制造、测试 等)来完成。在该实例中,为了分离的一个或者复数个敏感任务,生产商 12将注册模块定义92合并于设计描述卯中,使得注册模块92,被包含于 随后用来制作晶片的掩膜卯,中(见图lO和图ll)。
使用模块92,,使得数学变换对最终产品22中的关键信号和/或数据 流如引导信号进行截取,如果该数学变换不能工作,则产品22是有缺陷 的。数学变换优选为密码变换,其基于注入的加密钥数据来使用可逆密码 数学变换,该变换优选地是难以控制的,如加密钥数据限定的那样。例如 在一个实施例中,可以由于性能原因而使用异或(XOR)运算,然而XOR 运算的使用不是必需的。
为了使数学变换工作,可以在生产过程的各阶段通过增量注入或者添 加关键数据,如密码加密钥数据的部分,来对其进行注册。以这种方式, 如果在阶段105生产的晶片被过量生产,并如图10中所示的供应到灰市 阶段IIO,则所得产品112是有缺陷的,因为在这种情况下它没有收到为 恰当地操作产品22所需的所有密码数据。
优选地,例如图IO所示,上文中描述的以及图1-9中所示的密钥注入系统10可以用来分配、计量、审查和请求在各制造步骤的密钥注入阶
段的才艮告。在这种情况下,即使所有实体相互勾结来分配灰市产品,生产
商12仍能够由于不完整日志l艮告而检测到该活动,并且如果必要则禁止 分配更多加密钥数据。可以理解,可替选地,系统10可以在任何数目的 阶段被使用,而根本无需在每个阶段或者任何阶段都使用系统IO。
例如,晶片生产阶段105可以使用系统10,而任何其它阶段可以不 使用系统IO。然而,由于各制造阶段优选地包括某一形式的测试过程, 所以将系统10合并于这种测试中是有利的。在这种情景下,生产商12 至少期望第二阶段过程中的数据。还可以理解,在掩膜90,中的注册模块 92,(及其相应的定义92和90 )可以不依赖于系统10而祐:使用,且可以 依赖于各制造阶段来实施加密钥过程的部分。在这些情形中的任何情形 下,通过拆分责任,没有一个实体其自身具有用于向灰市成功供应产品或 者子零件的必不可少的信息。
在图11中具体示出了才艮据设计定义90来生产的掩膜90,。如上文讨 论的那样,注册模块定义92可以合并于可实施指令集或者代码行等的任 何设计定义卯中,该指令集或者代码行等将被部分地插入客户代码120 的一部分与客户代码122的另一部分之间的5M圣中的注册模块92,。沿路 径124 iiX模块92,的数据被应用于密码变换128,并沿路径126被输出 到另一部分122。优选地,如果密码变换128被成功地应用于在路径124 输入的数据,则在路径126出现的输出才可用。
密码变换128优选地与存储器130、处理器132和密码密钥134 —起 工作以便执行它的操作。优选地,使用在各生产过程阶段存在的密钥注入 系统10来配置存储器130、处理器132和密码密钥134。存储器130还包 括另一密码密钥131,该密码密钥131 —般包括优选地通过使用密钥注入 系统10的注入、在各阶段积累的加密钥资料,如图10所示。优选地,密 钥134在注入时用来保证为了组成密钥131而在存储器130中积累的资料 是真实的。密钥134可以是公共密钥,或者可以需要或可以不需要密钥 134。例如,模块92在可以或者可以不与特定生产商12相关的某些类侵 害的潜在风险下无密钥134也可工作。
一般而言,模块92,使用的敏感数据被分成多个部分,各部分在适当 的生产过程阶段被添加到密钥131,这些生产过程阶段例如是在掩膜90, 已被生产出后执行的生产过程阶段。例如, 一种技术是随着生产过程中的 各阶段的消息恢复而注入数字签名。密钥134可以用来在这样做时mt数字签名;已验证的数字签名产生可以在密钥导出方案中与存储器130中的 现有数据一起用来导出密码密钥131的消息。另一实例是利用密钥共享技 术,其中密码密钥131的多个部分在各种生产阶段被添加到存储器130。 当已完成最终生产过程阶段时,存储器130包含足够的数据,使得密钥共 享技术可以用于重新组成密码密钥131。
在图12中示意地示出了通用生产过程阶段102的一个实例。如上文 提到的,生产商12优选地利用系统10来分配加密钥数据以;sj^视加密钥 发生时生成的报告。密钥注入到硅芯片中通常U生在晶片测试时或在封 装后测试过程中。在该实例中,生产阶段102包括与测试装置20—^^操 作的服务器18和密钥代理21。阶段103还包括生产过程步骤139,例如 用于生产硅晶片的装备。生产过程步骤139利用已经分配给它的先前的过 程步骤的输出来生产部分完成的产品+140,例如硅晶片。在该实例中的下 标"+"用来表示已经应用于产品22的敏感数据的当前"部分",其中,优选 地,使用装置20的密钥代理21来注入用于该阶段102的敏感数据的附加 部分。这时,产品+可能由于变换128不具有用于执行其操作的全部必要 信息这一原因而不是完全可操作的。产品+随后可用以被分配到下一生产 阶段-
图13提供了流程图,该流程图示出了示例性的生产过程,该生产过 程包括两个不同制造阶段(即N-2),其中生产商12负责直至掩膜卯,的 生产的所有设计/生产阶段。在步骤500,生产商12确定阶段的数目,以 及进而要被注入的加密钥数据的部分的数目,在该实例中,N=2。在步骤 502,生产商12优选地建立密钥注入系统10,该密钥注入系统10通过通 道24、 25和26将各制造阶段链接到它自身。如上文参照图1讨论的那样, 生产商12可以使用单个控制器16来与复数个服务器18通信。在该实例 中,生产商12分配、监视和接收来自于两个服务器18的日志记录。
在步骤504,生产商12将注册模块定义92合并于设计描述90中, 并生产包括这种注册模块92,的掩膜90,。掩膜90,随后在步骤506被分配 给用于实施该示例性的2阶段制造过程的阶段l的第一制造商,而在步骤 508中执行阶段l。例如,第一制造商生产晶片,该晶片产生与掩膜卯, 相符的芯片。在晶片测试过程中,制造商f^将把一些部分加密钥资料编 程到存储器130中。在步骤510插入敏感数据的这一部分,服务器18优 选地使用上文概括的机制在步骤512向生产商报告。可替选地,阶段1 可以不处理任何敏感数据的注入,而随后可以在阶段2中单独执行该操作。
当加密钥数据的第 一部分被编程到芯片或者产品中后,该产品仅包含 不足以完全操作的部分加密钥信息。部分注册的产品由"产品r,代表,
其中下标i表示如上所述的第一部分。部分生产、部分编程的"产品r
随后在步骤514被分配给用于在步骤516执行的阶段2。下一制造商随后 在步骤518注入密钥数据的第二部分。例如在步骤518,第二制造商可以 对附加的加密钥信息进行编程,或者可以使用在步骤510中存储于存储器 130中的部分密钥数据和来自于在步骤518使用的系统10的新密钥翁:据 来导出密码加密钥信息。该导出步骤可以基于散列或更复杂的密钥共享技 术。优选地,在步骤520,第二制造商向生产商12回报,指示第二密钥 部分被成功地注入。生产商12现在可以拥有指示密钥数据已被成功地插 入的两个日志记录,并且可以使用此信息来监视它的记录。可以理解,阶 段2可以是在阶段1中执行的晶片制作之后的生产过程步骤中的任一个步 骤或者组合。例如,阶段2可以包括晶片分类、晶片封装和最终测试,其 中,在最终测试过程中添加第二密钥部分。
当插入加密钥数据的第二部分后,产品22在这一实例中是完全可操 作的,并且因此被完全注册(例如,已测试和封装的IC),在图13中用 "产品12"代表,其中下标12表示完整的密钥数据集,即数据部分l和 数据部分2。"产品12"随后在步骤522继续至分配通道,最终在步骤524 作为工作产品到M户。
另外如图13所示,例如,如果第一制造商或其雇员尝试通过步骤528 中的替代分配通道来分配步骤526的灰市产品,则会在步骤530向客户提 供有缺陷的产品,因为"产品,仅包含密钥数据的第一部分,因此变换 128不能执行其操作。因此,虽然可以在灰市阶段2执行测试、封装等, 但是没有提供附加的加密钥数据,因此产品530被完全地制造但是没有被 完全地注册,从而致使它是有缺陷的。可以理解,模块92优选地被实施 成使得防篡改手段被考虑和实施。
现在参照图14,该图示出了合并有模块192的成品客户产品22a的 示意性实例,其中模块192是图11中所示模块92,的物理布局的逻辑表示。 在图14中,为了清楚而可以向相似的附图标记赋予后缀"a"。使用模块 92,的实施(例如192 )的产品22a能够将作为执行块150的部分的密码变 换128a应用于产品在代码120a与122a之间的关键数据路径。该路径通 过变换128a而被解码,使得顾客的逻辑122a可以恰当地工作。在该实例中,执行J^iE132a,该^iE 132a是处理器132的一种实施。!Ht 132a 4吏用一次性可编程(OTP )存储器130a和标识部分134a,该标iK部分134a 是图11的密钥134的一种实施。使用例如图13中概括的过程向密钥134a 和存储器130a注入敏感数据。可以理解,产品22a仅是合并有由模块92, 提供的逻辑(例如模块192)的一种实施,而图14中所示实例仅用于说 明目的。
虽然已经参照某些具体实施例描述如上,但是其各种修&寸于本领域 技术人员将是清楚的。
权利要求
1. 一种用于控制产品的生产过程的方法,包括-在针对所述产品的设计中包括具有用于截取和变换所述产品中的数据流的数学变换的模块,所述数学变换要求密钥是可操作的,所述产品要求所述数学变换的成功工作是可操作的;-将所述生产过程安排成复数个阶段,所述复数个阶段中的每个阶段能够由复数个实体中的相应实体执行;-将所述密钥划分成敏感数据的复数个部分,将所述复数个部分中的每个部分分配到所述复数个实体中的相应实体;以及-将用于根据所述设计来生产所述产品的掩膜分配给所述复数个实体中的第一实体,使得所述复数个实体中的所述第一实体能够向所述密钥添加敏感数据的第一部分;其中所述产品在添加敏感数据的所述复数个部分的全部时可操作。
2. 根据权利要求1所述的方法,还包括将包括敏感数据的所述第 一部分的不可操作产品分配给至少一个其它实体以执行后续阶段,由此敏 感数据的后续部分被添加到所述密钥,以使所述密钥可操作,从而生产可 操作产品。
3. 根据权利要求1所述的方法,还包括在生产商与所述复数个实 体之间建立通信通道,用于对分配所述敏感数据进行保护。
4. 才艮据权利要求3所述的方法,还包括所述复数个实体中的每个 实体在添加所述敏感数据的相应部分时向所述生产商提供日志报告。
5. 根据权利要求3所述的方法,其中所述生产商生成所迷设计,并 负责划分所述密钥。
6. 根据权利要求l所述的方法,其中所述产品是集成电路(IC)。
7. 根据权利要求6所述的方法,其中所述掩膜由所述复数个实体中 的所述第一实体用来生产硅晶片。
8. 根据权利要求1所述的方法,其中所述数学变换是密码变换,所 述密钥是密码密钥。
9. 根据权利要求8所述的方法,其中所述密码变换使用至少一个异 或(XOR)运算。
10. —种用于控制产品的操作的方法,包括 -截取由所述产品的第一部分提供的数据;-将所述数据输入到数学变换中;國使用密钥将所述数学变换应用于所述数据以生成输出,所述数学变 换要求所述密钥是可^Mt的;以及-将所述输出提供给所述产品的第二部分;其中所述产品要求所述数学变换的成功工作是可^Mt的,所述数学变 换包括敏感数据的复数个部分,每个部分在生产所述产品过程中在复数个 阶段被添加。
11. 根据权利要求10所述的方法,其中所述数据是引导信号。
12. 根据权利要求10所述的方法,其中所述数学变换是密码变换, 所述密钥是密码密钥。
13. 根据权利要求12所述的方法,其中所述密码变换使用至少一个 异或(XOR)运算。
14. 根据权利要求10所述的方法,其中所述第一部分包括受保护逻 辑,所述第二部分包括无保护逻辑。
15. —种包含于产品中、用于控制所述产品的操作的注册模块,包括 用于截取和变换所述产品中的数据流的数学变换,以及存储于存储器中的 密钥,所述数学变换要求所述密钥是可操作的,所述产品要求所述数学变 换的成功工作是可操作的;其中所述密钥包括敏感数据的复数个部分,每 个部分在生产所述产品过程中在复数个阶段净皮添加。
16. 根据权利要求15所述的模块,其中所述数据流是引导信号。
17. 根据权利要求15所述的方法,其中所述数学变换是密码变换, 所述密钥是密码密钥。
18. 根据权利要求17所述的方法,其中所述密码变换使用至少一个 异或(XOR)运算。
19. 根据权利要求15所述的方法,其中所述数据流由受保护逻辑输 出,来自所述数学变换的输出被提供给无保护逻辑。
20. —种用于控制产品的生产过程的系统,包括在负责所述生产过 程的第 一实体处的控制器以及在复数个过程阶段的复数个服务器,所述复数个服务器被配置成用于以安全方式从所述控制器接收敏感数据,以及用于向所述控制器发送日志报告;所述控制器被配置成用于将用以生产所述 产品的掩膜分配给所述复数个服务器中的第一服务器,以使得所述复数个 服务器中的所述第 一服务器能够在第 一过程阶段向所述产品中的密钥添 加敏感数据的第一部分,所述密钥用于在所述产品中操作数学变换,所述 产品要求所述数学变换的成功工作是可操作的;其中所述复数个服务器中 的至少一个其它服务器被配置成用于在至少一个其它过程阶段向所述密 钥添加敏感数据的至少一个其它部分。
全文摘要
提供一种用于控制用以生产产品的生产过程的系统和方法,其中可以通过引入生产过程中的职责分离来禁止过量生产。通常,生产商将生产过程的各种阶段承包给复数个承包商。一般而言,职责分离涉及到有目的地分离用于硅芯片或者其它产品的生产阶段,使得各转包商处理或者“接触”最终产品以便使最终产品的功能完全。这通过具有用于截取和变换产品中数据流的数学变换的模块来实现。该数学变换要求密钥是可操作的,该产品要求数学变换的成功工作是可操作的,而密钥被分成敏感数据的复数个部分,这些部分在产品的生产过程中的复数个阶段中被添加。
文档编号G06F21/00GK101484901SQ200780006742
公开日2009年7月15日 申请日期2007年2月28日 优先权日2006年2月28日
发明者丹尼尔·奥洛林, 安东尼·J·沃尔特斯, 布赖恩·尼尔, 托尼·罗萨蒂, 阿肖克·瓦德卡尔 申请人:塞尔蒂科梅公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1