用于远程器件注册的系统和方法

文档序号:7550770阅读:150来源:国知局
专利名称:用于远程器件注册的系统和方法
技术领域
本发明一般地涉及其中含有敏感数据的器件的制造,具体地涉及远程控制和监视这种敏感数据到这种器件中的注入。
背景技术
参与密码安全通信系统的器件,一般会具有在器件制造时被注入到器件中的某种类型的唯一且不变的信息。该信息可以是密码密钥、共享秘密或者可能被密码绑定到器件的固有唯一属性的某些其它数据。这种信息可能一般被称作“密钥”,信息的注入一般可以称作对器件“加密钥”或者“密钥注入”。注入密钥的目的是确保在器件已经被分发之后,在未来的某点该器件被接受为安全通信系统的可信的参与者。但是,器件的生产者常常会希望确保器件被合法制造,因而希望保护被注入到器件中的密钥。生产者一般企图保护密钥以保护未来的收入,因为密钥的认证可被用于提供对于安全系统及其内容等的有条件的访问。另外,被注入的密钥是很重要的,因为它使器件的顾客或使用者能够避免注册器件所需的冗长过程。基于密码认证密钥是被信任的,可授予器件对系统的这种有条件的访问。这种信任基于如下事实:在制造过程之外再现被信任的数据是异常困难的。提供有条件访问的系统包括,例如,卫星电视和无线电,这些系统持续地传播信息,但是希望控制对它们的内容的访问从而控制用于提供这种内容的收入。这些系统依赖制造过程和原始设备制造者(OEM),具体地是密钥注入,以提供对设备以及最终对整个安全通信系统的信任的根源。被注入到器件中的密钥有时是标准格式并且从主管部门购买,例如,高清晰度内容保护(HDCP)密钥,当数据经由线缆被从你的计算机发送到你的显示器等时,该密钥被用于保护数据。主管部门因而也对确保被分发给器件生产者的密钥被保护而未丢失感兴趣。这对产生了生产者责任,因而增加了保护被注入密钥的重要性。在一些情况下,生产者可能因为丢失或复制密钥而被罚,并且如果他们获得了在处理密钥时疏忽的名声,那么主管部门可能限制或约束密钥的分发。维持这种关系对于生产者常常是重要的,尤其是当密钥是器件与其他器件和/或基础设施兼容所需的标准格式时。在这种情况下,如果不能使用特定的密钥,器件将不能如所预期地工作。在包括不断增加的器件复杂度和精细度的现代商业环境中,常见的是各个部件由一个制造者制造和加密钥,然后由另一个制造者组装。在这种情况下,当器件的生产者或通信系统的所有者不是器件的制造者时,就存在某些安全隐患。因而,对于器件生产者来说,确保对生产者的器件的真实性负责的制造系统的真实性是至关重要的。当考虑制造过程的真实性时,特别关心的是与被用于制造器件的秘密信息的机密性相关的问题,以及确保制造者将所制造的单元的身份和数量准确告知生产者的问题。理想地,器件的生产者应该尽量得到制造者没有创建和分发“灰市”或“黑市”部件或器件的保证。例如,将一定数量的加密钥产品送回给生产者、但是仍具有剩余密钥的制造者,然后可使用那些多余的密钥来制造和销售器件。生产者因而会损失收入,因为制造者是从销售中获利的人。如克隆或偷窃密钥的其它行为也可能出现,这在加密钥过程被外包时是难以检测和控制的。在一些情况下,密钥可能被公布在互联网上使得用户能够获得对有条件访问系统的访问而无需为这种服务付费。传统地,关心在制造场所对信息注入阶段进行保密的生产者几乎没有其它选择,只能绝对信任制造者正在以适当考虑了生产者器件和系统安全性的方式操作。保护机制一般是幼稚的,因为加密钥信息一般被成批加密钥并被发送给制造者,在制造者那里,信息一旦到达,所有的加密钥信息就被立刻解密,制造者被信任不会危害成批的信息。限制对加密钥信息访问的一个方法是使用在线客户机服务器机制。有这种机制就位,在制造者设备处的客户机将被连接到网络,并且将在生产者的控制下向远程密钥提供服务器请求基于每个器件的加密钥信息。实现这种依赖场外、远程联网的服务器且实时地提供加密钥信息的制造系统存在很多问题。最首要的问题是,场外服务器如果使用公共的共享分组交换网络,就不能保证对制造线的最低服务水平或响应时间。为了防止制造线线上的问题,就延时和吞吐量而言的某一服务水平是最优的。给定了现代生产现状,即制造线存在于相对于生产者的远程管辖区域,这种被保证的网络可用性可能是非常昂贵的。在包括数据材料的所有必要的材料没有都准备好之前,制造设备一般不会开始生产运行。否则,生产线延迟的危险将会很高。制造者使用的任何加密钥系统都应该能够基本上保证服务可用性并且提供适当的响应。这要求在生产运行之前所有数据源和加密钥信息都本地可用。假定所有数据源必须对可能存在于计算机系统上的生产线以及不在生产者直接控制下的介质本地可用,生产者必须考虑如何确保任何秘密加密钥信息的机密性。为了开始和完成生产运行,足够的数据应该对制造者本地可用。在生产者发现制造者的未授权和违反合约的行为的情况下,生产者还应该考虑如何防止这样的无赖制造者在合约终止后生产灰市或黑市产品。与克隆相关的另一个问题源于过量生产,这是一种特定类型的克隆操作,该操作是硅芯片的生产者特别关心的。当集成电路(IC)的生产者将他们的IC设计外包给一家或多家第三方制造公司制造时,可能发生过量生产。外包某些或所有制造步骤的目的是通过选择可以对制造过程中具体阶段提供最优价格的第三方来降低生产成本。例如,无工厂设计室(例如生产者)可能希望与海外制造厂家签约来生产他们已经设计的芯片。这样的海外制造厂家经常被选择,因为他们能够相对便宜地生产电子元件。但是,外包一般会增加特定的合约方可能会过量生产他们已经签约要生产的产品以供应灰市的风险。例如,如果签约的制造者不守信用并且根据生产者提供的设计过量生产1C,而没有通知生产者发生了这种过量生产,那么额外的产品就会在灰市渠道中作为“伪造”或“克隆”IC被销售。这就允许第三方制造者实现了额外的获利和收入,而这是以他们的客户即生产者/设计者的收入和未来的产品需求为代价的。
上述情况可能发生是因为在这些情况下,常常生产者除了在生产阶段开始时接收工程样品之外就不再处理产品。因此,在设计之后的制造过程的各个阶段,都有机会盗取部件和产品。在一些情况下,有着良好信用的合约制造者的雇员可能是盗贼。当雇员直接从制造线上盗取产品时,“产量缩水(yield shrinkage)”可能出现。这不仅由于收入对生产者和合约制造者有害,而且对进行未来生意的生产者和制造者之间关系也有害。因此,本发明的目的是消除或减少上述缺点。

发明内容
本发明提供了使得希望对制造过程的至少一部分使用分离的实体的生产者能够从远程位置监视和保护器件生产的系统和方法。本发明还提供了用于使敏感数据到产品的添加在分离的实体之间分离以禁止由于过量生产和产量缩水弓I起的灰市产品的装置。在一个方面,本发明提供了一种用于在器件生产过程中远程控制敏感数据到器件中的注入的方法。该方法包括如下步骤:控制器准备并且密码保护在数据传输中的敏感数据;控制器将数据传输发送给服务器,服务器具有用于执行密码操作的安全模块;安全模块从数据传输中提取敏感数据;以及服务器将敏感数据提供给设备用于注入到器件中;其中,控制器相对于服务器被远程地放置。在另一个方面,本发明提供了一种用于在器件生产过程中远程控制敏感数据到器件中的注入的系统。该系统包括:具有用于执行密码操作的第一安全模块的控制器;服务器相对于服务器被远程地放置并且通过前向通道和后向通道被连接到控制器,前向通道由控制器使用用于将数据传输提供给服务器的第二安全模块,数据传输对敏感数据进行密码保护,第二安全模块从传输中提取数据;以及代理,与设备一起操作,用于在从传输中提取数据后注入数据,代理从第二安全模块中获得数据。在另一个方面,提供了一种用于在多个阶段控制敏感数据到器件中的插入的模块。该模块包括密码变换,密码变换截获并变换器件中的数据流和存储在存储器中的密码密钥,敏感数据的一部分在各个阶段被添加到密码密钥中,密码密钥被变换用于其操作,其中,在敏感数据成功插入后,密码变换正确改变数据流。在另一个方面,提供了一种用于控制敏感数据到器件中的注入的方法。该方法包括以下步骤:将模块包括在器件中,该模块具有用于在器件中截获和变换数据流的密码变换;以及在器件生产中的多个阶段中的每一个将敏感数据的一部分添加到存储在模块中的存储器中;其中,在敏感数据成功插入后,密码变换正确改变数据流。


下面将参照附图仅以实例的方式描述本发明的实施例。图1是远程器件注册系统的示意框图;图2是图1中图示的图形用户界面(GH)的示意表示;图3是分发图像的示意表示;图4是图示密钥注入和报告过程的流程图;图5是图示预备过程的流程图6是描绘信用指示过程的流程图;图7图示了支持多个产品的另一个实施例的映射方案;图8图示了过滤过的日志报告的实例;以及图9是图示远程器件注册系统的另一个实施例的框图。图10是在制造过程中使用多个阶段的密钥注入的实施例的示意框图。图11是合并使用图10的实施例分离密钥注入阶段的注册模型的掩模的示意表
/Jn ο图12是图10所示实施例的阶段的示意表示。图13是在使用图10的实施例生产器件时所采取步骤的流程图。图14是根据图11所示的掩模生产的实例产品的示意框图。
具体实施例方式参照图1,远程器件注册或被信任的密钥注入系统一般由标记10指示。器件22的生产者12利用分离的实体的服务,来将唯一且不变的信息注入到器件22中,在这种情况下所述实体是外部制造者14。信息可以是密码密钥、共享秘密或者可以被密码绑定到器件22的固有唯一属性的某些其它数据,这种信息在下文中将被称作“密钥”。将密钥注入到器件22中的步骤在下文中将被称作“加密钥”或者“密钥注入”。生产者12利用控制器16,对制造者设备来说,控制器16是远程的计算机系统。控制器16包括硬件安全模块(HSM) 11。HSMll是由控制器16用于执行如加密、解密和签名的密码安全操作的受保护的器件。HSMll可以是防篡改(例如在物理上难以访问)或者可以是对篡改起反应的(tamper reactive)(例如如果被篡改就擦除数据)。控制器16负责将密钥和其它信息打包并传递给制造者14,还负责监视制造者14对密钥的分发和使用。生产者12 —般地从如主管部门的外部源例如HDCP密钥的生产者处得到批量密钥(未示出)。密钥被存储在数据存储器件15中,直到它们被分发给具体的制造者14。控制器12及其操作可以被使用图形用户界面(GUI) 13的操作者监视、修改从而被控制。GUI13—般是使用个人计算机(未示出)显示并与其交互的软件应用程序。控制器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的操作者,然后让它们再次发送消息。制造者14利用一个或多个服务器18,对制造者的设施来说,服务器18是本地的计算机系统,并且通过由控制器16发送的消息,服务器的活动被监视和量测。服务器18还通过后向通道24汇报返回给控制器16。服务器18包括与由控制器16利用的HSMll类似的HSM28。HSM28存储指示制造者14可以使用多少密钥的被保护的信用池30。密钥的使用由控制器16通过监视被服务器18汇报的数据、以及相应地从信用池30加或减而被量测。信用池30是表示在服务器18必须从控制器16请求并获得更多密钥之前可以被HSM28解密的密钥数量的抽象概念。控制器16在分发通道25上向服务器18分发密钥,并且如下面更充分地所解释的,服务器18会将密钥存储在本地数据存储器件17中。制造者14利用一个或多个设备20,设备20被用于向器件22中注入加密密钥。一般地,加密钥在制造过程的测试阶段发生,因而设备20常常是组装线上的测试机。设备20包括密钥代理21,密钥代理21 —般是被装载到用于在应用侧管理密钥注入的设备20的软件程序或工具包。密钥代理21与服务器18通信以在密钥被需要时请求并获得密钥。一般地,服务器18将向密钥代理21提供足够的密钥从而不会破坏生产过程的时序。但是,服务器18将不提供不必要数量的密钥以限制密钥的使用,直到根据信用池30的量测由控制器16提供加密钥授权。—般地,密钥代理21具有指示何时特定设备20需要新的一批密钥的阈值水平,以不破坏生产。因为控制器16 —般不与服务器18持续通信,所以如下下面更详细解释的,在控制器16可以从服务器18得到密钥使用报告之前,控制器16可调整其参数以确保通过服务器18足够的加密钥材料对于设备20是可用的,同时确保没有过多的密钥数据被服务器18释放。密钥代理21优选地包括应用程序接口(API),其在设备20上运行以使得设备自身的操作者能够手动地或者以自动方式请求密钥。密钥代理21被用于为在服务器18与设备之间数据传递提供一定水平的保护,并且可以被认为是服务器18与设备20之间的简化安全套接层(SSL)。应当理解如果资源允许,密钥代理21还可以使用其自身与服务器18之间的SSL连接而被实现。密钥代理21还负责在密钥被使用时生成报告记录,报告记录被发送回服务器18用于汇报的目的。控制器16是用于监视和量测通过制造者14的密钥注入的命令中心。为了从远程位置控制加密钥,⑶113被操作者用来监视和配置各个在控制器16控制下的制造者14、月艮务器18以及设备20。在图2中示出实例GUI13。⑶113被分成服务器窗口 200、控制器窗口 204和设备窗口 202。服务器窗口 200包括被控制器16控制的制造者列表14以及服务器18。在控制器窗口 204中指示特定的控制器16。操作者可以选择特定的制造者(例如,图2中所示的制造者A),并且与制造者相关联的设备20被显示在设备窗口 202中。在图2所示的实例中,在制造者A处的服务器包括提供关于服务器1、服务器2和服务器3的信息的窗口。各个服务器具有与其相关联的某些数据。例如,如图2所示,各个服务器包括示出它们的可用存储空间、可用信用以及对于密钥类型I和密钥类型2的每个类型可用的密钥的数量的进程栏。每个测试器窗口还显示日志信息,例如先前报告被处理的日期、先前报告的信用、先前补充量(refill amount)以及关于缺少的日志记录的数据。服务器窗口还向操作者提供选项214和216以从控制器16远程配置和禁用服务器18。控制器16具有远程配置服务器18的能力。这允许控制器16改变密钥类型,增加或删除密钥类型以及控制其它配置选项。这优选地通过沿着控制通道26向服务器HSM28发送配置消息来实现。HSM28可评估配置消息,由此一些配置消息改变HSM28的行为,并且其它配置消息被发送到服务器18。使用这种方法经由HSM28被发送到服务器18的配置消息可以帮助确保服务器18获得被信任的并且已知是来自控制器16的配置指令。控制器16可能通过密钥代理21在服务器层面或设备层面远程配置系统10。控制器16还可以强迫服务器18的轮询,并且可以调整常规轮询的间隔。一般地,服务器18以固定间隔被轮询,并且控制器16可以在需要时使用被迫轮询以在间隔之间获得信息。例如,就一天的间隔而言,控制器16可能需要数据以汇报给当天的管理者,因而可以强迫所有服务器的轮询以获得这种数据。GUI13还可以包括控制器电子邮件选项,该选项允许控制器16在如在关键生产运行中解密或分发失败的极端环境下自动联系管理者。被设备20分发给服务器18并且注入到器件22中的各个密钥在某些事件下触发某些日志记录。GUI13可以被用于搜索、分类、编辑和分析日志记录,以及浏览如图8所示的定制或标准报告400。在该实例中,存在被生成的三个主要日志记录。当密钥被生产者16分发给服务器18时,密钥到服务器日志402被生成,在HSM28将密钥释放给密钥代理21那一点上密钥到代理日志404被HSM28生成,并且在密钥被注入后,密钥注入日志406被密钥代理21生成。各个日志记录可包括任何数目的识别信息,这些识别信息包括ID类型、时间戳、制造者、设备等。在图8所示的实例报告中,报告400图示了对于具有序列ID = 001的密钥的密钥到服务器日志402、密钥到代理日志404以及密钥注入日志406。这些记录然后可以被用于跟踪具有这种序列ID号的密钥的生命周期。应当理解,报告400可以包括任何数目的记录,并且可基于任何适当的字段而被滤选。例如,在制造者A处被测试机2于5月3日注入的所有密钥的报告400可相应地通过过滤日期字段和位置字段而被编辑。现在参照图3,生产者使用将被发送给服务器18的分发图像40,生产者16可以将安全数据传输中的一批组密钥优选地使用加密来打包。分发图像40使生产者能够在一次传输中包括指定给多个服务器18的用于多个产品的密钥。但是仅仅在HSM28已经经由控制通道26从控制器16接收到认证之后,各个服务器18才能够解密并获得某一数量的密钥。图像40是数据记录的集合,各个记录包含类型58、ID60、大小54和数据56字段,在数据字段56,数据56将一般包含由大小54识别的任一大小的密钥数据。类型58和ID60字段被HSM28用来识别密钥数据,取决于HSM28的配置,如先前经由控制通道26所指示的,可能被用于过滤某些密钥。密钥可能被封装,使得实现不关心对于目标密钥实际上象什么。这使得其灵活且可延展,而无需对于各个新的密钥类型做重新设计。包装(wrapper)应该包含类型、大小和唯一的ID,体是抽象的。包装还可包含支持更多高级特征的元素,例如分配到抽象图像中的日志或变量。图像40用图像密钥42来加密。图像密钥42被服务器18用于解密图像40并获得密钥。图像密钥42对于各个服务器18被自身加密,并且被存储为服务器头部48。服务器头部48的集合被存储在主头部46中。为了解密图像40并获得密钥,头部48被服务器18选择并且被HSM28解密以获得图像密钥42。图像密钥42然后被用于解密图像40。如前面提到的,分发图像40可能被用于支持多个产品。另外参照图7,示出了产品类型和数据块的映射。例如,生产者16有三个产品,S卩Y (gamma)利用密钥I (具有过滤标签I),β (beta)利用密钥2 (具有过滤标签2)和伴随的配置块(也具有过滤标签2),以及a (alpha)利用密钥1、密钥2和配置块。图像40可以包括批量的密钥类型I和密钥类型2,并且Y (gamma)和β (beta)产品可以没有a (alpha)产品那么复杂。生产者16可以用数据打包单个图像40,例如,每块50个,由此某个测试机(例如测试机I)具有制造者制造的许可,从而可能获得用于生产五十个a (alpha)产品的五十个(50)过滤标签I和2。另一个测试机(例如测试机2)可同时具有制造者制造的许可,因而从图像40获得五十个(50)过滤标签I以生产五十个β (beta)产品,以及五十个(50)过滤标签2以生产Y (gamma)产品。图像40可包含所有密钥数据,可能包括多种类型的密钥,以生产任何产品类型的单个产品。测试机向服务器18标识正被编程的产品类型或产品型号。该型号信息与被加密的图像40 —起被发送到HSM28,使得当HSM28解密图像40时,密钥数据50可以被过滤,并且只有编程所标识的产品型号所需的密钥数据才被HSM28释放给测试机。因此,生产者12可以用单个图像40来支持多个产品,同时采取措施以确保制造者14只能制造他们应该制造的广品。因为图像40可以支持多个产品,所以日志记录被用于跟踪在测试机处执行的实际的密钥注入,这将在下面更充分地解释。通过跟踪日志记录,生产者16就可以试图检测例如制造者14是否返回50个Y产品而不是50个α产品(他们已经被付费要生产的),由此他们可能已经在灰市或黑市上销售了 50个β产品。这种差异可能是恶意的也可能不是,但是在任何情况下都可以被合理地识别。在图4中示出了密钥从其在分发通道25上的分发到HSM28在后向通道24上汇报给控制器16的典型生命周期。图4中突出显示的块表示由安全模块即HSMll和HSM28执行的那些步骤。控制器16首先从外部提供者处获得批量标准密钥。控制器16然后将密钥传递给HSM11,并且HSMll对密钥块加密,各个块含有测定数量的某一密钥类型。应当理解,密钥还可能被批量加密成具有多于一个密钥类型的块。控制器16然后将被批量加密的密钥存储在存储器件15中,直到它接收到指示密钥块将被分发的指示或其他命令。当生产者16分发密钥块时,它首先获得被批量加密的块并将该块传递给HSM11。HSMll对该块进行解密并且对密钥块重新加密以与图像密钥42 —起传输。然后,对于各个服务器18,图像密钥42自身被加密以产生各个头部48。这些头部48被存储在主头部46的组44中。这里,对用于分发的已经被重新加密的密钥,HSMll生成密钥到服务器日志402。日志402在生产者12处被本地存储用于以后的分析。然后在分发通道25上将重新加密的密钥块分发给服务器18。服务器18将包括在图像40中的被加密的密钥块传递给HSM28,HSM28然后解密图像40。HSM28首先从组44中选择其特定的头部48,并对图像密钥42进行解密。图像密钥42然后被解密以从图像40中获得密钥。然后优选地,例如使用安全哈希算法、MAC或数字签名,来验证并且过滤图像40。HSM28然后还对从图像40中获得的各个密钥重新加密用于存储。服务器18然后本地存储被重新加密的密钥用于以后被设备20使用。应当理解,图像40的真实性基于在控制器16与服务器18之间共享的唯一对称分布密钥Ksl和Ks2而被认定。一旦执行了成功的真实性检查,例如在sha-2摘要(digest)比较之后,其间被共享的消息就可以被认为是可信的。当控制器16从设备20接收到对某一数量密钥(例如N个密钥)的请求时,HSM28被给予N个密钥来解密。对于被HSM28解密的N个密钥中的每一个,密钥到代理日志记录404被产生,并且这些密钥被传递给设备20用于注入。这里,密钥“不受阻碍(in theclear) ”因而准备好用于注入。设备20注入N个密钥中的各个,并且密钥代理21对于被注入的各个密钥生成密钥注入日志记录406。HSM28将连续地获得密钥到代理日志记录404和密钥注入日志记录406,并且优选地将这些记录连接成在后向通道24上被发送回控制器16的主日志报告R。
各个日志优选地被连接成二进制文件,其标识了文件被产生的日期。报告R优选地由HSM28用加密密钥Ic1加密,并且被返回给在服务器18上运行的应用程序以在后向通道24上被发送。控制器16然后可以解密报告R,并且验证各个日志(例如402、404、406)。可以用单调同步数对各个日志加标签。如果放在一起的所有的记录ID值不是连续不断的集合,那么控制器16的操作者将知道到哪里跟踪序列中缺少的日志。如上面解释的,当N个密钥被分发时,控制器16已经对它们预先存储了许多密钥到服务器日志记录402。因此,控制器16在未来的某个时间期望接收对于各个密钥完成生命周期的报告R,以表明最初被分发的密钥已经由正确的服务器18解密并且被注入到正确的器件中。因此,在日志报告被提供时,控制器16能够评估它们。控制器16然后可以判断是否应该采取任何行动,例如干预制造操作(例如停止分发)或者提供更多的密钥。控制器16还可在分发另外的密钥块之前获得另外的信息。在这种方式下,控制器16可以量测分发,并且只有在制造者以良好信用操作并且始终如一地提供精确的日志报告时才提供更多的密钥。日志报告(例如图8中所示的那些)使生产者能够辨认ID号序列中的不连续。例如,如果大量密钥已经被分发但是还没有报告密钥到代理或者密钥注入日志,那么制造者可能已经丢失了该密钥。这可能表明灰市或黑市活动。在另一个情况下,报告R可包括密钥到代理日志404,但是不包括对于特定密钥的密钥注入日志406。这可能表明问题源于请求密钥的特定设备处而非制造者14本身。因此,制造者14也可以将日志报告R用于审核目的以及识别内部恶意活动以维护其与生产者12的关系。各个密钥的生命周期需要在密钥被操作的各个关键阶段的报告记录。因此,生产者12有必要的信息来识别问题出现在哪儿以及将努力校正或消除这种问题。优选地,日志报告不仅包括关于密钥序列数的信息,而且包括关于密钥类型的信息。在这种方式下,生产者12还可以判断α产品是否被委托制造,而Y和β产品是否可能已经被生产。日志报告提供信息以阻止制造者14的恶意或不道德行为,同时也提供了评估现有制造者14的诚实性的手段以及提供任何非期望活动的证据的工具。在检测非期望的活动中,实物证据的使用允许生产者12不仅仅是以怀疑的态度面对制造者14,这在违法活动在测试机层面发生(例如由雇员而非公司本身造成的)的情况下可以挽救生产者12与制造者14之间的重要关系。除了分发之外,控制器16还使用控制通道26来控制信用池30从而量测密钥注入阶段。在图6中示出信用指示过程。HSM28在对分布图像40进行解密并获得密钥时必须消耗来自信用池30的信用。随着时间的流逝,信用池30将减小,需要用由控制器16发送的信用指示文件来补充。在控制通道26上,控制器16 —次只向服务器18发送一个控制消息C。包含在该消息中的优选需要的文件中的一个是信用指示文件。该文件可以是用于特定服务器18的被加密的数据集合,其被HSM28解密成信用指示。信用指示包含例如HSM28和/或服务器18的序列号、服务器的令牌(token) ID、序列数、新的信用量以及配置数据,其已经全部被控制器16签名。在接收到控制消息C后,HSM28从控制消息C中解密信用指示数据,并验证签名。如果可应用,HSM28还验证作为其自身的序列号和令牌ID。序列数的验证然后被执行。序列数应该大于内部存储在HSM28中的序列。一旦被验证,HSM28将更新其内部序列数并将信用池30的值设置为信用指示中的信用值。如前面结合⑶113所解释的,HSM28然后将处理控制消息C中的任何配置消息以更新其内部配置,以使得控制器16能够将配置数据推进给服务器18,例如用于过滤规则、加密钥信息、信用规则等的更新。配置数据可以期望用于HSM28、在服务器18上运行的应用程序或者甚至是密钥代理21。HSM28寻找定义的类型的配置消息来处理它们。配置消息被标记为私有的或公共的,然后对它们的访问将由HSM28控制。信用报告(;是服务器对处理控制消息C中的信用指示的响应。信用报告(;可包含HSM28的序列号和令牌ID、当前的序列值、信用池30的当前值、到目前为止的补充数量以及错误代码,如果在信用指示处理过程中没有错误发生,那么错误代码被设定为零。优选地由HSM28使用其签名密钥k2来签名信用报告C;。对于控制器16的报告(;然后被使用控制器的公共加密密钥k3来加密。报告(;然后被发送给控制器16,并且与日志报告R —起存储用于上述的审核目的。在分发密钥之前,生产者12和制造者14可经过预备过程以初始化HSM和服务器
18。在图5中示出该预备过程。HSM28产生并向控制器16发送预备请求消息P。消息P优选地包含正被服务器18使用的HSM28的序列号。HSM28生成两个密码密钥对kp k2(例如RSA密钥对或优选地使用椭圆曲线密码算法(ECC)),一个CO用于接收被加密的消息,另一个(k2)用于签名输出的消息。优选地,在密钥对Ic1和k2的交换期间,制造者14在物理可控环境中被密码地引导(cryptographicalIy bootstrapped)。当控制器16从服务器18接收预备请求时,它将请求传递给HSMl I,HSMll检查消息的真实性然后给制造者14分配“令牌ID”。两个密钥,优选地,对称密钥ksl和ks2 (例如高级加密标准(AES)密钥)被生成。如前面提到的,这些密钥将被控制器16和服务器18用于保护在分发通道25上的分发图像40以及在后向通道24上的日志报告R。HSMll然后生成预备响应消息P’,该预备响应消息P’例如包含被分配的令牌ID,HSM加密的公共密钥以及各自的签名密钥对k3和k4,分发和后向通道对称密钥ksl和ks2,一些初始配置数据,以及用于真实性的哈希摘要(hash digest)。与预备请求消息P相似,假设预备响应消息P’在物理可控环境内被处理(例如使用HSM保护)。然后,预备响应消息P’可被发送给服务器18,并且服务器18可在接收到其第一个预备请求后执行初始化操作。预备响应的结构可包含解密成包含用于在控制器16与服务器18之间前向和后向通道通信的对称密钥的单独结构的部分。应当注意,这些密钥对于各个HSM28(从而而对于各个服务器18)都是不同的,并且在一组HSM之中是不共享的。当预备过程完成时,分发图像40与控制消息C之间的正常交换可以开始。在另一个实施例中,如图9所示,系统10可被改型成已经由制造者14实现用于保护密钥注入阶段的现有解决方案。在图9所示的实施例中,用相似的标记加后缀“a”来表示相似的单元。例如,制造者14可具有设备20a,设备20a已经包括用于将串“BCA”转变成“ABC”的加扰器74,其中器件22被连线以接受ABC作为被注入的密钥。在这种方式下,如果密钥“BCA”被盗取或者错放,那么其对器件22a将不工作,因为加扰还没有发生。这些在保护密钥方面的尝试,虽然容易实现,但是一般都很幼稚,并且不能提供适当的保护水平。通过兼容这种保护,系统10然后可能被改型成设备20a,而不取消已经被实现的现有解决方案。因此,制造者14用于实现系统10的额外费用可以被避免。这种改型可以被实现直到完整的重新设计被保证,这时图1所示的布置可以被使用。为了兼容现有解决方案,系统10在服务器18处存储一组被签名的对象72,它们是与特定设备20a相关联、并且在HSM28a释放密钥之后且在密钥注入之前执行现有解决方案的可执行文件的集合。在这种方式下,密钥被改变以兼容现有解决方案,而设备20a并不知道。如图9所示,控制器16a将首先需要访问由设备20a使用的可执行文件(exe) 70以提供现有的解决方案。控制器16a然后将可执行文件70传递给HSMlla。HSMlla然后签名可执行文件70,并将被签名的可执行文件70传递给HSM28a,HSM28a然后将被签名的可执行文件70存储为被签名的对象72。在操作中,当设备20a请求新的一批密钥时,服务器18a将依靠存储在HSM28a中的可执行文件的签名来验证可执行文件。一旦服务器18a已经验证可执行文件72,那么它将发送可执行文件密钥以被加扰。例如,设备20a请求密钥BCA以馈送给器件22a中的加扰器76,使得密钥ABC被注入到产品a (alpha)中。HSM28a确定产品α具有被签名的对象可执行文件Α,用于修改密钥ABC。被签名的对象可执行文件A被验证,并且被应用于密钥ABC,导致加扰后的密钥BCA。加扰后的密钥BCA然后被发送给设备20a,并且加扰起76修改密钥BCA使得它注入密钥ABC。设备20a并没有意识到(它所接收的)密钥BCA由服务器18a以被保护的形式存储为ABC。应当理解,被服务器18a存储的密钥还可以以如CAB的形式,然后被修改为读BCA用于加扰以被转变成ABC用于注入。这种情况可能在如下情况时发生:密钥CAB是标准形式并且必须被修改以适应其中CAB不能被接受为密钥的现有解决方案。因此,被签名的对象72将包含兼容被设备20a实现的现有解决方案所需的任何程序,并且上面提供的实例仅仅用于说明的目的。被签名的对象72还禁止恶意代码被装载到服务器18a中以在注入之前修改密钥,这是因为在被签名的可执行文件被用于密钥之前,一般针对将被释放给机器的密钥对其进行验证。系统10因而可以提供增加的安全等级同时兼容了现有的解决方案。因此,通过利用与服务器18分离的远程系统控制器16,生产者12能够通过HSM28监视制造者14的活动,并量测信用。生产者16因而能够管理在器件22上加密钥信息的注入,以确保制造者14正确地汇报对生产者12制造的单元的身份和数量。这使得生产者12能保证制造者14没有生产并分发灰市或黑市产品或器件22。在上述过程和系统10就位的情况下,生产者12可以监视在制造者14处的生产。生产者12使用控制消息C中的信用指示,通过增加或移走由制造者14使用的可用信用,可以量测器件22的生产。应当理解,系统10不限于如图1所示的一个制造者14,而且各个制造者14也不限于一组设备20。系统10也不限于单个控制器16的使用。HSM28最优选地是被信任的硬件,以保护密钥值和信用池30的真实性。此外,包含在分发图像40中的加密钥信息不一定必须是加密钥信息,而也可以是需要保密性和真实性的任何数据元素。对于加密钥数据的要求,对于希望加强器件激活粒度的系统10是典型的。在可替代的布置中,在图10到14中所示例的并且在后面更详细地所描述的,过量生产可能通过在硅片或器件制造过程中引入责任分离而被禁止。一般地,生产者12会将制造的不同阶段合约外包给多个承包者。一般而言,责任分离涉及有目的地分离硅芯片或其他器件的制造阶段,使得最终产品必须已经被各个转包者“接触“,以使得最终产品是完全起作用的。因为灰市一般由单个故障点或者制造链上的单个不守信用的承包者提供,所以强迫一组承包者顺序操作,这就意味着为了向灰市提供非残缺的子部件或器件,两个或多个转包者必须共谋抵抗生产者12。最终产品及其子部件,应该完成所有制造阶段以完全起作用。一般而言,当多个转包者为了盗取而需要共谋时,攻击生产者12的风险就被大大降低。在硅晶片的生产中,一般发生几个阶段,它们经常在几个第三方制造者之间被划分。设计芯片的生产者12将在一个数据文件或多个数据文件中创建设计,经常称作“网表(net list)”。网表包含计算机代码形式的描述语言,用于指示第三方如何生产掩模以生产硅晶片,从该硅晶片中,IC被封装和分发。例如,在说明性的制造过程中,掩模可能被生产者12发送给根据掩模制造硅晶片的硅制作者。晶片然后可被发送到晶片测试设备,在那里各个芯片在晶片上被直接测试,并且被电子化地标记,使得在被切割时,只有通过的各个芯片将被转发给封装设备。封装设备会将硅粘合并封装成芯片封装,并且再次测试最终封装的芯片。完成的芯片然后一般被送到0ΕΜ,在那里芯片被安装到印刷电路板上,印刷电路板是完成的期间产品的一部分,并且完成的器件产品被送到分发通道,最终到达顾客。上述说明性的制造过程一般包括在设计与硅芯片到器件的集成之间发生的多个阶段,即制造、测试、封装和安装。应当理解,所有这些阶段可可替代地发生在单个设施处,并且还可以有更多个阶段,最多到任意N个阶段。在这些阶段的每一个,都有可能发生过量生产或产量缩水。现在参照图10,生产者12设计掩模90。掩模90被用于生产注册器件22,在这个实例中,是1C。器件22包括将被包括在其设计中的某种形式的敏感或不变信息,并且优选地不能在没有这种敏感信息的条件下操作。在这个实例中,生产者12与在器件22的整个制造中执行特定阶段的两个或多个第三方制造实体建立合约。图10示出了第一制造阶段100、第二制造阶段102、直到任意的第N个制造阶段104。生产者制造者12在产品分发通道80上分发掩模90。掩模90被发送到第一制造阶段100,在该阶段发生制造的一部分,如硅晶片的生产。当第一阶段100完成时,得到的部分完成的产品被送到第二制造阶段102,以完成第二部分制造,如晶片的测试。对于各个阶段,这都被重复直到任意第N个阶段,该阶段最终将完全起作用的注册器件22运送给分发实体106。在制造实体100到104中的一个,为了防止未完成的产品或子部件被转到灰市110,“责任分离”被应用。责任分离是各个制造阶段的制造和数据编程责任的分离,使得所有责任必须由预想的承包者以预想的顺序执行,这对完成非残缺的器件的生产是必要的。在这个实例中,如密码数据注入的敏感任务在多个阶段被注入,多个阶段中的每一个在不同的制造阶段期间由不同的制造实体实现。为了分离(多个)敏感任务,生产者12将注册模块92合并到掩模90中所定义的设计中。模块92被使用使得当掩模90被编辑以产生器件22,数学变换截获硅芯片内的关键信号和数据流,例如启动信号,并且如果数学变换不能操作,器件22是残缺的。由于性能的原因,数学变换优选地是广泛使用异或(XOR)操作的密码变换,但是这不是要求。在制造过程的各个阶段,为了使数学变换能操作,通过关键数据的增加或递增注入来注册,关键数据例如是密码加密钥数据的一部分。以这种方式,如果在第一阶段100产生的晶片被过量生产并且被供应到灰市阶段2至N,如图10所示的110,那么产品112是残缺的,一般是因为它还没有接收正常操作所需的必需的所有密码数据。优选地,如在图10中通过实例所示出的,在各个制造步骤,在图1至9中上面所描述的密钥注入系统10可被用于分发、量测和恳求密钥注入阶段的汇报。在这种情况下,即使所有实体都共谋分发灰市产品,由于不完整的日志报告,生产者12也能够检测到这种行为,并且如果有必要,禁止进一步的加密钥数据的分发。应当理解,可替代地,系统10可在任何数目的阶段被使用,并且根本不需要在各个或任何阶段被使用。例如,第二阶段102可利用系统10而不是任何其他阶段。但是,因为优选地各个制造阶段将包括某种形式的测试过程,所以将系统10合并到这种测试中是有益的。生产者12在这种情况下至少在第二阶段期间期望数据。应当理解,模块92可能被使用而不依赖系统10,并且可依赖各个制造阶段以实现一部分加密钥过程。在这些情况的任何一种下,通过分离责任,没有一个实体自身就具有成功地向灰市供应产品或子部件的必要信息。掩模90在图11中被更详细地示出。如上面所讨论的,注册模块92可被合并到任意掩模设计中,并且掩模90然后被编程以实现一组指令或代码行等,掩膜90将部分地把在模块92中定义的内容插入在一部分顾客代码120与另一部分顾客代码122之间的路径(优选地是对器件操作关键的一个)内。沿着路径124进入模块92的数据被应用于密码变换128,并且沿着路径126被输出到部分122。优选地,只有密码变换128在路径124处被成功地应用于数据输入,出现在路径126处的输出才会是可用的。密码变换128优选地与存储器130、处理器132和密码密钥134 —起工作以执行其操作。优选地使用在各个制造阶段存在的密钥注入系统10,存储器130、处理器132和密码密钥134被配置。存储器130还包括另一个密码密钥131,密码密钥131 —般包括优选地通过使用图10所示的密钥注入系统10的注入,在各个阶段累积的加密钥材料。优选地,密钥134在注入时被使用以确保构成密钥131的、在存储器130中被累积的材料是可信的。密钥134可以是公共密钥,可以被需要也可以不被需要。例如,模块92可以在没有密钥134的条件下,冒着可能与特定生产者12相关或不相关的某种攻击的潜在危险而工作。一般而言,模块92所用的敏感数据被分成部分,各个部分在制造过程的各个阶段被添加给密钥131。例如,一种技术是在制造过程中的各个阶段注入具有消息恢复的数字签名。密钥134可以被用于验证数字签名,在这样做时,被验证的数字签名产生可以被用于密钥导出方案的消息,利用存储器130中存在的数据来导出密码密钥131。另一个实例是利用密钥遮蔽(key shadowing)技术,其中,多条密码密钥131在各个制造阶段被添加到存储器130。当最后的制造阶段已经完成时,存储器130包含足够的数据,使得密钥遮蔽技术可以被用于重新构成密码密钥131。第一制造阶段100的实例在图12中示出。如前面提到的,生产者12优选地利用系统10来分发加密钥数据以及监视在加密钥发生时生成的报告。到硅芯片中的密钥注入一般在晶片测试时或者在后封装测试时发生。在这个实例中,阶段100包括与测试设备20一起操作的服务器18和密钥代理21。阶段100还包括例如生产硅晶片的生产设备139。生产设备139使用在通道80上分发的掩模90来生产被部分被制造的器件J40。这个实例中的下标I被用来表示应用于器件22的敏感数据的第一部分,其中优选地,使用设备20的密钥代理21,敏感数据的第一部分被注入。优选地在这里,器件i还不是完全可操作的,因为变换128还不具有执行其操作的所有的必需的信息。器件i然后可用来被分发到第二制造阶段102。图13提供了示出包括两个不同的制造阶段(即N = 2)的实例制造过程的流程图。在步骤500,生产者12确定阶段的数量,因而确定将被注入的加密钥数据部分的数量,在这个实例中,N = 2。在步骤502,生产者12优选地建立在通道24、25和26上将各个制造阶段链接到自身的密钥注入系统10。如前面参照图1所讨论的,生产者12可使用单个控制器16来与多个服务器18通信。在这个实例中,生产者12将从两个服务器18分发、监视和接收日志记录。在步骤504,生产者12将注册模块92合并到其设计中,该设计被定义在掩模90中。在步骤506,掩模90然后被分发给第一制造者100以实现制造过程的阶段I,并且在步骤508,阶段I被执行。例如,第一制造者将生产晶片、创建符合掩模90的芯片。在晶片测试过程中,制造者然后会将某部分加密钥材料编程到存储器130中。在步骤510,敏感数据的这部分被插入,并且在步骤512,服务器18将优选地使用前面概述的机制汇报给生产者。可替代地,阶段I可以不处理任何敏感数据的注入,然后该操作可单独在阶段2过程中被执行。当第一部分加密钥数据被编程到芯片或器件中时,产品只包含部分加密钥信息,还不足以正确操作。通过器件1来表示图13,其中,下标I表示如上所述的第一部分。在步骤514,被部分生产、部分编程的器件I然后被分发给阶段2,以在步骤516执行。在步骤518,制造者102然后将注入第二部分密钥数据。例如,在步骤518,第二制造者102可对额外的加密钥信息进行编程,或者可使用在步骤510期间存储在存储器130中的部分密钥数据以及用在步骤518的来自系统10的新的密钥数据来导出密码加密钥信息。该导出步骤可以基于哈希或者可能更复杂的密钥遮蔽技术。优选地,在步骤520,第二制造者102汇报回生产者12,表明第二密钥部分被成功注入。生产者12现在可拥有表明密钥数据已经被成功插入的两个日志记录,并且可以使用该信息来监视其记录。—旦第二部分加密钥数据被插入,在这个实例中,器件22就被完全生产,并且完全注册(例如被测试和封装的IC),并且在图13中由器件12来表示,其中,下标12表示完整的密钥数据集合,即数据部分I和数据部分2。在步骤522,器件12然后继续到分发通道,其中在步骤524,器件12作为有效产品最终到达顾客。如在图13中图示的,例如,如果第一制造者100或其雇员试图在步骤526分发灰市产品,那么通过在步骤528的可替代分发通道,在步骤530残缺产品将被提供给顾客,因为器件工只包含第一部分密钥数据,因而变换128不能执行其操作。因此,虽然测试、封装等可在灰市阶段2被进行,但是另外的加密钥数据不被提供,所以产品530被完全制造,但是未被完全注册,致使其是残缺的。应当理解,模块92优选地被实现使得防篡改手段被考虑并实现。现在参照图14,示出了合并模块92a的被完成的顾客产品22a的示意性例子,其中,模块92a是图11中所示的模块92的物理布局的逻辑表现。在图14中,为了清楚起见,可对相似的标记给出后缀“a”。使用模块92的实现(例如92a)的产品22a能够将作为实施块150 —部分的密码变换128a应用于代码120a与122a之间的产品的关键数据路径。通过变换128a,该路径被解码,使得顾客逻辑122a可以正确地起作用。在这个实例中,作为处理器132的实现的验证132a被执行。验证132a使用一次性可编程(OTP)存储器130a和为图11的密钥134的实现的身份部分134a。使用例如在图13中所概括的过程,密钥134a和存储器130a和敏感数据一起被注入。应当理解,产品22a只是合并由模块92 (例如模块92a)所提供的逻辑的一个实现,并且图14中示出的实例只是为了说明的目的。虽然上面已经参照某些特定的实施例进行了描述,但是对于本领域的技术人员来说,其各种改变是清楚的。
权利要求
1.一种用于控制将敏感数据插入到器件中的方法,所述方法包括如下步骤: 将服务器配置为能够通信连接至负责分发所述敏感数据的控制器和负责将所述敏感数据注入到所述器件中的设备,所述服务器相对于所述控制器被远程地放置,所述服务器包括用于执行密码操作的安全模块; 从所述控制器接收密码保护的数据传输,所述数据传输包括多种类型的敏感数据中的每一种类型的一些敏感数据; 从所述设备接收针对产品类型的对敏感数据的请求; 根据所述产品类型,从所述密码保护的数据传输中提取所述多种类型的敏感数据中的一种或多种;以及 将所述多种类型的敏感数据中的所述一种或多种提供给所述设备。
2.根据权利要求1所述的方法,还包括:接收设备日志报告,所述设备日志报告指示所述多种类型的敏感数据中的所述一种或多种插入到所述产品类型中。
3.根据权利要求1或2所述的方法,其中,所述设备具有获得针对比使用所述多种类型的敏感数据能够生产的所有产品类型少的产品类型的敏感数据的许可。
4.根据权利要求1至3中任一项所述的方法,还包括: 存储所述控制器提供的信用值,所述信用值指示在从所述控制器请求更多所述敏感数据之前被许可的敏感数据插入的数目; 参照所述信用值并根据所述信用值向所述设备提供一定数量的所述敏感数据用于注入到所述一个或多个器件 ;以及 如果所述数量少于所述信用值,则根据所述数量来更新所述信用值。
5.根据权利要求1至4中任一项所述的方法,还包括:向所述控制器发送所述设备日志 艮告。
6.根据权利要求1至5中任一项所述的方法,还包括:准备与从所述控制器获得所述敏感数据相关的服务器日志报告;以及所述服务器向所述控制器发送所述服务器日志报生口 ο
7.根据权利要求1至6中任一项所述的方法,其中,所述提取包括:对所述数据传输中包括的头部进行解密以获得密钥,并使用所述密钥来解密所述传输并从中提取所述敏感数据。
8.根据权利要求1至7中任一项所述的方法,还包括:在从所述控制器接收所述敏感数据之前,执行预备过程,所述预备过程用于初始化所述服务器和所述安全模块。
9.根据权利要求1至8中任一项所述的方法,包括多个服务器,其中所述数据传输被发送至所述多个服务器。
10.根据权利要求4至9中任一项所述的方法,还包括:从所述控制器接收指示所述信用值的更新的信用指示。
11.根据权利要求1至10中任一项所述的方法,还包括:所述服务器从所述控制器接收用于实现现有数据注入解决方案的对象,所述现有解决方案修改所述数据;所述对象被签名,并且将被签名的对象提供给所述安全模块;所述安全模块存储所述被签名的对象,验证所述被签名的对象,并且如果所述被签名的对象被验证,则根据所述现有解决方案修改所述敏感数据;以及所述服务器将被修改的数据发送给所述设备用于注入到所述一个或多个器件中。
12.根据权利要求1至11中任一项所述的方法,还包括:向所述控制器提供关于所述安全模块已经向所述设备提供了所述多种类型的敏感数据中的哪一种或哪些种的指示。
13.根据权利要求1至12中任一项所述的方法,还包括:从所述控制器接收配置消息,所述配置消息用于修改所述安全模块中的设置。
14.根据权利要求1至13中任一项所述的方法,还包括:向所述控制器提供服务器日志 艮告。
15.根据权利要求14所述的方法,其中,所述服务器日志报告是响应于所述服务器和所述控制器之一发起的轮询而提供给所述控制器的。
16.根据权利要求14或15所述的方法,其中,所述服务器日志报告被提供给所述控制器以获得另外的敏感数据,如果所述日志报告是有利的并且另外的敏感数据被要求,则接收进一步的数据传输
17.根据权利要求16所述的方法,其中,所述服务器从所述控制器接收以下指示:如果所述日志报告是不利的,则禁止进一步提取所述多种类型的敏感数据中的一种或多种。
18.根据权利要求1至17中任一项所述的方法,其中,每种类型的所述敏感数据包括对应的多个密钥,所述数据传输包括多种密钥类型中的每一种的一些密钥;所述提取包括:按照事先由所述控制器提供的指示所表明的,对所述类型的密钥中的一种或多种进行解LU O
19.根据权利要求18所述的方法,其中,所述安全模块在接收到密钥时对密钥进行解密,并分别对每个密 钥重新加密;其中,根据所述设备做出的请求,对所述密钥中的某些密钥进行解密,以由所述设备使用。
20.根据权利要求1至19中任一项所述的方法,其中,所述安全模块包含用于在所述服务器和所述控制器之间的前向和后向通信通道上通信的对称密钥。
21.一种用于控制将敏感数据插入到器件中的服务器系统,所述系统包括: 服务器,能够通信连接至负责分发所述敏感数据的控制器和负责将所述敏感数据注入到所述器件中的设备,所述服务器相对于所述控制器被远程地放置,所述服务器包括用于执行密码操作的安全模块并被配置为: 从所述控制器接收密码保护的数据传输,所述数据传输包括多种类型的敏感数据中的每一种类型的一些敏感数据; 从所述设备接收针对产品类型的对敏感数据的请求; 根据所述产品类型,从所述密码保护的数据传输中提取所述多种类型的敏感数据中的一种或多种;以及 将所述多种类型的敏感数据中的所述一种或多种提供给所述设备。
22.根据权利要求21所述的系统,还被配置为:接收设备日志报告,所述设备日志报告指示所述多种类型的敏感数据中的所述一种或多种插入到所述产品类型中。
23.根据权利要求21或22所述的系统,其中,所述设备具有获得针对比使用所述多种类型的敏感数据能够生产的所有产品类型少的产品类型的敏感数据的许可。
24.根据权利要求21至23中任一项所述的系统,还被配置为: 存储所述控制器提供的信用值,所述信用值指示在从所述控制器请求更多所述敏感数据之前被许可的敏感数据插入的数目; 参照所述信用值并根据所述信用值向所述设备提供一定数量的所述敏感数据用于注入到所述一个或多个器件;以及 如果所述数量少于所述信用值,则根据所述数量来更新所述信用值。
25.根据权利要求21至24中任一项所述的系统,还被配置为:向所述控制器发送所述设备日志报告。
26.根据权利要求21至25中任一项所述的系统,还被配置为:准备与从所述控制器获得所述敏感数据相关的服务器日志报告;以及所述服务器向所述控制器发送所述服务器日志 艮告。
27.根据权利要求21至26中任一项所述的系统,其中,所述提取包括:对所述数据传输中包括的头部进行解密以获得密钥,并使用所述密钥来解密所述传输并从中提取所述敏感数据。
28.根据权利要求21至27中任一项所述的系统,还被配置为:在从所述控制器接收所述敏感数据之前,执行预备过程,所述预备过程用于初始化所述服务器和所述安全模块。
29.根据权利要求21至28中任一项所述的系统,包括多个服务器,其中所述数据传输被发送至所述多个服务器。
30.根据权利要求24至29中任一项所述的系统,还被配置为:从所述控制器接收指示所述信用值的更新的信用指示。
31.根据权利要求21至30中任一项所述的系统,还被配置为:所述服务器从所述控制器接收用于实现现有数据注入解决方案的对象,所述现有解决方案修改所述数据;所述对象被签名,并且将被签名的对象提供给所述安全模块;所述安全模块存储所述被签名的对象,验证所述被签名的对象,并且如果所述被签名的对象被验证,则根据所述现有解决方案修改所述敏感数据;以及所述服务器将被修改的数据发送给所述设备用于注入到所述一个或多个器件中。
32.根据权利要求21至31中任一项所述的系统,还被配置为:向所述控器提供关于所述安全模块已经向所述设备提供了所述多种类型的敏感数据中的哪一种或哪些种的指示。
33.根据权利要求21至32中任一项所述的系统,还被配置为:从所述控制器接收配置消息,所述配置消息用于修改所述安全模块中的设置。
34.根据权利要求21至33中任一项所述的系统,还被配置为:向所述控制器提供服务器曰;艮告。
35.根据权利要求34所述的系统,其中,所述服务器日志报告是响应于所述服务器和所述控制器之一发起的轮询而提供给所述控制器的。
36.根据权利要求34或35所述的系统,其中,所述服务器日志报告被提供给所述控制器以获得另外的敏感数据,如果所述日志报告是有利的并且另外的敏感数据被要求,则接收进一步的数据传输
37.根据权利要求36所述的系统,其中,所述服务器从所述控制器接收以下指示:如果所述日志报告是不利的,则禁止进一步提取所述多种类型的敏感数据中的一种或多种。
38.根据权利要求21至37中任一项所述的系统,其中,每种类型的所述敏感数据包括对应的多个密钥,所述数据传输包括多种密钥类型中的每一种的一些密钥;所述提取包括:按照事先由所述控制器提供的指示所表明的,对所述类型的密钥中的一种或多种进行解LU O
39.根据权利要求38所述的系统,其中,所述安全模块在接收到密钥时对密钥进行解密,并分别对每个密钥重新加密;其中,根据所述设备做出的请求,对所述密钥中的某些密钥进行解密,以由所述设备使用。
40.根据权利要求21至39中任一项所述的系统,其中,所述安全模块包含用于在所述服务器和所述控制器之间的前向和后向通信通道上通信的对称密钥。
41.一种用于控制将敏感数据插入到器件中的方法,所述方法包括如下步骤: 将控制器配置为能够通信连接至服务器,所述服务器相对于所述控制器被远程地放置并被配置为能够通信连接至负责将所述敏感数据注入到所述器件中的设备,所述控制器被配置为将所述敏感数据分发至所述服务器以使得所述服务器能够向所述设备提供所述敏感数据,所述服务器包括用于执行密码操作的安全模块; 确定所述服务器为满足来自所述设备的针对产品类型对敏感数据的请求所需的多种类型的敏感数据,所述产品类型需要所述多种类型的敏感数据中的一种或多种;以及 向所述服务器发送密码保护的数据传输,所述数据传输包括多种类型的敏感数据中的每一种类型的一些敏感数据,以使得所述服务器能够向所述设备提供所述多种类型的敏感数据中的所述一种或多种。
42.根据权利要求41所述的方法,还包括:从所述服务器接收设备日志报告,所述设备日志报告是所述服务器从所述设备获得的,所述设备日志报告指示所述多种类型的敏感数据中的所述一种或多种插入到所述产品类型中。
43.根据权利要求41或42所述的方法,其中,所述设备具有获得针对比使用所述多种类型的敏感数据能够生产的所有产品类型少的产品类型的敏感数据的许可。
44.根据权利要求41至43中任一项所述的方法,还包括: 向所述服务器发送信用值,所述信用值指示在从所述控制器请求更多所述敏感数据之前被许可的敏感数据插入的数目,以使得所述服务器能够参照所述信用值并根据所述信用值向所述设备提供一定数量的所述敏感数据用于注入到所述一个或多个器件,其中,如果所述数量少于所述信用值,则根据所述数量来更新所述信用值。
45.根据权利要求41至44中任一项所述的方法,还包括:从所述服务器接收关于从所述控制器获得所述敏感数据的日志报告。
46.根据权利要求41至45中任一项所述的方法,其中,所述安全模块对所述数据传输中包括的头部进行加密以保护密钥,所述密钥使得所述服务器能够解密所述传输并从中提取所述敏感数据。
47.根据权利要求41至46中任一项所述的方法,还包括:在向所述服务器发送所述敏感数据之前,发起预备过程,所述预备过程用于初始化所述服务器和所述安全模块。
48.根据权利要求41至47中任一项所述的方法,包括多个服务器,其中所述数据传输被发送至所述多个服务器。
49.根据权利要求44至48中任一项所述的方法,还包括:向所述服务器发送指示所述信用值的更新的信用指示。
50.根据权利要求41至49中任一项所述的方法,还包括:向所述服务器发送用于实现现有数据注入解决方案的对象,所述现有解决方案修改所述数据;所述对象被签名,并且将被签名的对象提供给所述安全模块;所述安全模块存储所述被签名的对象,验证所述被签名的对象,并且如果所述被签名的对象被验证,则根据所述现有解决方案修改所述敏感数据;以及所述服务器将被修改的数据发送给所述设备用于注入到所述一个或多个器件中。
51.根据权利要求41至50中任一项所述的方法,还包括:从所述服务器接收关于所述服务器已经向所述设备提供了所述多种类型的敏感数据中的哪一种或哪些种的指示。
52.根据权利要求41至51中任一项所述的方法,还包括:向所述服务器发送配置消息,所述配置消息用于修改所述服务器的安全模块中的设置。
53.根据权利要求41至42中任一项所述的方法,还包括:从所述控制器接收服务器日志 艮告。
54.根据权利要求53所述的方法,其中,所述服务器日志报告是响应于所述服务器和所述控制器之一发起的轮询而提供给所述控制器的。
55.根据权利要求53或54所述的方法,其中,所述服务器日志报告被提供给所述控制器以获得另外的敏感数据,如果所述日志报告是有利的并且另外的敏感数据被要求,则向所述服务器发送进一步的数据传输。
56.根据权利要求55所述的方法,其中,所述控制器向所述服务器发送以下指示:如果所述日志报告是不利的,则禁止进一步提取所述多种类型的敏感数据中的一种或多种。
57.根据权利要求41至56中任一项所述的方法,其中,每种类型的所述敏感数据包括对应的多个密钥,所述数据传输包括多种密钥类型中的每一种的一些密钥;所述控制器事先向所述服务器提供指示,以便根据所述指示所表明的,对所述类型的密钥中的一种或多种进行解密。
58.根据权利要求 41至57中任一项所述的方法,其中,所述安全模块包含用于在所述服务器和所述控制器之间的前向和后向通信通道上通信的对称密钥。
59.一种用于控制将敏感数据插入到器件中的系统,所述系统包括: 控制器设备,能够通信连接至服务器,所述服务器相对于所述控制器设备被远程地放置并被配置为能够通信连接至负责将所述敏感数据注入到所述器件中的设备,所述控制器设备被配置为将所述敏感数据分发至所述服务器以使得所述服务器能够向所述设备提供所述敏感数据,所述服务器包括用于执行密码操作的安全模块; 所述控制器设备被配置为: 确定所述服务器满足来自所述设备的针对产品类型对敏感数据的请求所需的多种类型的敏感数据,所述产品类型需要所述多种类型的敏感数据中的一种或多种;以及 向所述服务器发送密码保护的数据传输,所述数据传输包括多种类型的敏感数据中的每一种类型的一些敏感数据,以使得所述服务器能够向所述设备提供所述多种类型的敏感数据中的所述一种或多种。
60.根据权利要求59所述的系统,还被配置为:从所述服务器接收设备日志报告,所述设备日志报告是所述服务器从所述设备获得的,所述设备日志报告指示所述多种类型的敏感数据中的所述一种或多种插入到所述产品类型中。
61.根据权利要求59或60所述的系统,其中,所述设备具有获得针对比使用所述多种类型的敏感数据能够生产的所有产品类型少的产品类型的敏感数据的许可。
62.根据权利要求59至61中任一项所述的系统,还被配置为: 向所述服务器发送信用值,所述信用值指示在从所述控制器请求更多所述敏感数据之前被许可的敏感数据插入的数目,以使得所述服务器能够参照所述信用值并根据所述信用值向所述设备提供一定数量的所述敏感数据用于注入到所述一个或多个器件,其中,如果所述数量少于所述信用值,则根据所述数量来更新所述信用值。
63.根据权利要求59至62中任一项所述的系统,还被配置为:从所述服务器接收关于从所述控制器获得所述敏感数据的日志报告。
64.根据权利要求59至63中任一项所述的系统,其中,所述安全模块对所述数据传输中包括的头部进行加密以保护密钥,所述密钥使得所述服务器能够解密所述传输并从中提取所述敏感数据。
65.根据权利要求59至64中任一项所述的系统,还被配置为:在向所述服务器发送所述敏感数据之前,发起预备过程,所述预备过程用于初始化所述服务器和所述安全模块。
66.根据权利要求59至65中任一项所述的系统,包括多个服务器,其中所述数据传输被发送至所述多个服务器。
67.根据权利要求62至66中任一项所述的系统,还被配置为:向所述服务器发送指示所述信用值的更新的信用指示。
68.根据权利要求59至67中任一项所述的系统,还被配置为:向所述服务器发送用于实现现有数据注入解决方案的对象,所述现有解决方案修改所述数据;所述对象被签名,并且将被签名的对象提供给所述安全模块;所述安全模块存储所述被签名的对象,验证所述被签名的对象,并且如果所述被签名的对象被验证,则根据所述现有解决方案修改所述敏感数据;以及所述服务器将被修改的数据发送给所述设备用于注入到所述一个或多个器件中。
69.根据权利要求59至68中任一项所述的系统,还被配置为:从所述服务器接收关于所述服务器已经向所述设备提供了所述多种类型的敏感数据中的哪一种或哪些种的指示。
70.根据权利要求59至69中任一项所述的系统,还被配置为:向所述服务器发送配置消息,所述配置消息用于修改所述服务器的安全模块中的设置。
71.根据权利要求59至70中任一项所述的系统,还被配置为:从所述控制器接收服务器曰;艮告。
72.根据权利要求71所述的系统,其中,所述服务器日志报告是响应于所述服务器和所述控制器之一发起的轮询而提供给所述控制器的。
73.根据权利要求71或72所述的系统,其中,所述服务器日志报告被提供给所述控制器以获得另外的敏感数据,如果所述日志报告是有利的并且另外的敏感数据被要求,则向所述服务器发送进一步的数据传输。
74.根据权利要求73所述的系统,其中,所述控制器向所述服务器发送以下指示:如果所述日志报告是不利的,则禁止进一步提取所述多种类型的敏感数据中的一种或多种。
75.根据权利要求59至74中任一项所述的系统,其中,每种类型的所述敏感数据包括对应的多个密钥,所述数据传输包括多种密钥类型中的每一种的一些密钥;所述控制器事先向所述服务器提供指示,以便根据所述指示所表明的,对所述类型的密钥中的一种或多种进行解密。
76.根据权利要求59至75中任一项所述的系统,其中,所述安全模块包含用于在所述服务器和所述控制器之间的 前向和后向通信通道上通信的对称密钥。
全文摘要
提供了用于远程器件注册的系统和方法,以监视和量测加密钥或其它保密信息到器件中的注入。利用一个或多个分离的制造者的生产者操作在前向和后向通道上与制造者的本地模块通信的远程模块。被加密的数据传输被生产者发送给制造者,并且被解密以获得在器件中使用的敏感数据。因为数据传输被解密,所以来自信用池的信用被耗尽,并且可以由生产者通过信用指示来补充。因为分发图像被解密,使用记录被创建并被最终连接,并且作为使用报告被发回给生产者,以使得生产者能够监视和量测在制造者处的生产。在可替代的布置中,过量生产可通过在制造过程中引入责任分离而被禁止。一般地,生产者将制造的各个阶段外包给多个承包者。一般而言,责任分离涉及有目的地分离硅芯片或其它器件的制造阶段,使得最终产品必须已经被各个转包者“接触过”,从而使得最终产品是完全起作用的。
文档编号H04L9/08GK103152173SQ201310021320
公开日2013年6月12日 申请日期2006年6月12日 优先权日2005年6月14日
发明者布赖恩·尼尔, 阿肖克·瓦德卡尔, 徐大鹏, 安东尼·J·沃尔特斯, 托尼·罗萨蒂 申请人:塞尔蒂卡姆公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1