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

文档序号:6624838阅读:220来源:国知局
用于产品注册的系统和方法
【专利摘要】本发明提供一种用于控制用以生产产品的生产过程的系统和方法,其中可以通过引入生产过程中的职责分离来禁止过量生产。通常,生产商将生产过程的各种阶段承包给复数个承包商。一般而言,职责分离涉及到有目的地分离用于硅芯片或者其它产品的生产阶段,使得各转包商处理或者“接触”最终产品以便使最终产品的功能完全。这通过具有用于截取和变换产品中数据流的数学变换的模块来实现。该数学变换要求密钥是可操作的,该产品要求数学变换的成功工作是可操作的,而密钥被分成敏感数据的复数个部分,这些部分在产品的生产过程中的复数个阶段中被添加。
【专利说明】用于产品注册的系统和方法
[0001]本申请是国际申请日为2007年2月28日并且在2008年8月26日向中国专利局递交并进入中国国家阶段的题为“用于产品注册的系统和方法”的发明专利申请N0.200780006742.3 (PCT 国际申请 N0.PCT/CA2007/000310)的分案申请。

【技术领域】
[0002]本发明总体上涉及生产其中具有敏感数据的产品。

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


【发明内容】

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

【专利附图】

【附图说明】
[0024]现在将参照附图仅通过实例来描述本发明的实施例,在附图中:
[0025]图1是远程设备注册系统的示意框图;
[0026]图2是图1中所示图形用户界面(GUI)的示意图;
[0027]图3是分配图像的示意图;
[0028]图4是示出了密钥注入和报告过程的流程图;
[0029]图5是示出了预备过程的流程图;
[0030]图6是描述了信用指示过程的流程图;
[0031]图7示出了用于支持复数个产品的另一实施例的映射方案;
[0032]图8示出了过滤的日志报告的实例;以及
[0033]图9是示出了远程设备注册系统的另一个实施例的框图;
[0034]图10是在制造过程中使用复数个阶段的密钥注入的实施例的示意框图;
[0035]图11是合并有注册模块的掩膜的示意图,该注册模块用于分离使用了图10实施例的密钥注入阶段;
[0036]图12是图10的实施例中所示阶段的示意图;
[0037]图13是示出了在生产产品时采用的步骤的流程图;
[0038]图14是根据图11中所示的掩膜生产的示例性产品的示意框图。

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