CN101223728B - 用于远程器件注册的系统和方法 - Google Patents

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

Info

Publication number
CN101223728B
CN101223728B CN200680025923.6A CN200680025923A CN101223728B CN 101223728 B CN101223728 B CN 101223728B CN 200680025923 A CN200680025923 A CN 200680025923A CN 101223728 B CN101223728 B CN 101223728B
Authority
CN
China
Prior art keywords
data
key
controller
producer
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN200680025923.6A
Other languages
English (en)
Other versions
CN101223728A (zh
Inventor
布赖恩·尼尔
阿肖克·瓦德卡尔
徐大鹏
安东尼·J·沃尔特斯
托尼·罗萨蒂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maliki Innovation Co ltd
Original Assignee
Certicom Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Certicom Corp filed Critical Certicom Corp
Priority to CN201310021320.0A priority Critical patent/CN103152173B/zh
Publication of CN101223728A publication Critical patent/CN101223728A/zh
Application granted granted Critical
Publication of CN101223728B publication Critical patent/CN101223728B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/062Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Abstract

提供了用于远程器件注册的系统和方法,以监视和量测加密钥或其它保密信息到器件中的注入。利用一个或多个分离的制造者的生产者操作在前向和后向通道上与制造者的本地模块通信的远程模块。被加密的数据传输被生产者发送给制造者,并且被解密以获得在器件中使用的敏感数据。因为数据传输被解密,所以来自信用池的信用被耗尽,并且可以由生产者通过信用指示来补充。因为分发图像被解密,使用记录被创建并被最终连接,并且作为使用报告被发回给生产者,以使得生产者能够监视和量测在制造者处的生产。在可替代的布置中,过量生产可通过在制造过程中引入责任分离而被禁止。一般地,生产者将制造的各个阶段外包给多个承包者。一般而言,责任分离涉及有目的地分离硅芯片或其它器件的制造阶段,使得最终产品必须已经被各个转包者“接触过”,从而使得最终产品是完全起作用的。

Description

用于远程器件注册的系统和方法
技术领域
本发明一般地涉及其中含有敏感数据的器件的制造,具体地涉及远程控制和监视这种敏感数据到这种器件中的注入。
背景技术
参与密码安全通信系统的器件,一般会具有在器件制造时被注入到器件中的某种类型的唯一且不变的信息。该信息可以是密码密钥、共享秘密或者可能被密码绑定到器件的固有唯一属性的某些其它数据。这种信息可能一般被称作“密钥”,信息的注入一般可以称作对器件“加密钥”或者“密钥注入”。
注入密钥的目的是确保在器件已经被分发之后,在未来的某点该器件被接受为安全通信系统的可信的参与者。但是,器件的生产者常常会希望确保器件被合法制造,因而希望保护被注入到器件中的密钥。生产者一般企图保护密钥以保护未来的收入,因为密钥的认证可被用于提供对于安全系统及其内容等的有条件的访问。另外,被注入的密钥是很重要的,因为它使器件的顾客或使用者能够避免注册器件所需的冗长过程。
基于密码认证密钥是被信任的,可授予器件对系统的这种有条件的访问。这种信任基于如下事实:在制造过程之外再现被信任的数据是异常困难的。提供有条件访问的系统包括,例如,卫星电视和无线电,这些系统持续地传播信息,但是希望控制对它们的内容的访问从而控制用于提供这种内容的收入。这些系统依赖制造过程和原始设备制造者(OEM),具体地是密钥注入,以提供对设备以及最终对整个安全通信系统的信任的根源。
被注入到器件中的密钥有时是标准格式并且从主管部门购买,例如,高清晰度内容保护(HDCP)密钥,当数据经由线缆被从你的计算机发送到你的显示器等时,该密钥被用于保护数据。主管部门因而也对确保被分发给器件生产者的密钥被保护而未丢失感兴趣。这对产生了生产者责任,因而增加了保护被注入密钥的重要性。在一些情况下,生产者可能因为丢失或复制密钥而被罚,并且如果他们获得了在处理密钥时疏忽的名声,那么主管部门可能限制或约束密钥的分发。维持这种关系对于生产者常常是重要的,尤其是当密钥是器件与其他器件和/或基础设施兼容所需的标准格式时。在这种情况下,如果不能使用特定的密钥,器件将不能如所预期地工作。
在包括不断增加的器件复杂度和精细度的现代商业环境中,常见的是各个部件由一个制造者制造和加密钥,然后由另一个制造者组装。在这种情况下,当器件的生产者或通信系统的所有者不是器件的制造者时,就存在某些安全隐患。因而,对于器件生产者来说,确保对生产者的器件的真实性负责的制造系统的真实性是至关重要的。
当考虑制造过程的真实性时,特别关心的是与被用于制造器件的秘密信息的机密性相关的问题,以及确保制造者将所制造的单元的身份和数量准确告知生产者的问题。理想地,器件的生产者应该尽量得到制造者没有创建和分发“灰市”或“黑市”部件或器件的保证。例如,将一定数量的加密钥产品送回给生产者、但是仍具有剩余密钥的制造者,然后可使用那些多余的密钥来制造和销售器件。生产者因而会损失收入,因为制造者是从销售中获利的人。如克隆或偷窃密钥的其它行为也可能出现,这在加密钥过程被外包时是难以检测和控制的。在一些情况下,密钥可能被公布在互联网上使得用户能够获得对有条件访问系统的访问而无需为这种服务付费。
传统地,关心在制造场所对信息注入阶段进行保密的生产者几乎没有其它选择,只能绝对信任制造者正在以适当考虑了生产者器件和系统安全性的方式操作。保护机制一般是幼稚的,因为加密钥信息一般被成批加密钥并被发送给制造者,在制造者那里,信息一旦到达,所有的加密钥信息就被立刻解密,制造者被信任不会危害成批的信息。
限制对加密钥信息访问的一个方法是使用在线客户机服务器机制。有这种机制就位,在制造者设备处的客户机将被连接到网络,并且将在生产者的控制下向远程密钥提供服务器请求基于每个器件的加密钥信息。
实现这种依赖场外、远程联网的服务器且实时地提供加密钥信息的制造系统存在很多问题。最首要的问题是,场外服务器如果使用公共的共享分组交换网络,就不能保证对制造线的最低服务水平或响应时间。为了防止制造线线上的问题,就延时和吞吐量而言的某一服务水平是最优的。给定了现代生产现状,即制造线存在于相对于生产者的远程管辖区域,这种被保证的网络可用性可能是非常昂贵的。
在包括数据材料的所有必要的材料没有都准备好之前,制造设备一般不会开始生产运行。否则,生产线延迟的危险将会很高。制造者使用的任何加密钥系统都应该能够基本上保证服务可用性并且提供适当的响应。这要求在生产运行之前所有数据源和加密钥信息都本地可用。
假定所有数据源必须对可能存在于计算机系统上的生产线以及不在生产者直接控制下的介质本地可用,生产者必须考虑如何确保任何秘密加密钥信息的机密性。
为了开始和完成生产运行,足够的数据应该对制造者本地可用。在生产者发现制造者的未授权和违反合约的行为的情况下,生产者还应该考虑如何防止这样的无赖制造者在合约终止后生产灰市或黑市产品。
与克隆相关的另一个问题源于过量生产,这是一种特定类型的克隆操作,该操作是硅芯片的生产者特别关心的。当集成电路(IC)的生产者将他们的IC设计外包给一家或多家第三方制造公司制造时,可能发生过量生产。外包某些或所有制造步骤的目的是通过选择可以对制造过程中具体阶段提供最优价格的第三方来降低生产成本。例如,无工厂设计室(例如生产者)可能希望与海外制造厂家签约来生产他们已经设计的芯片。这样的海外制造厂家经常被选择,因为他们能够相对便宜地生产电子元件。
但是,外包一般会增加特定的合约方可能会过量生产他们已经签约要生产的产品以供应灰市的风险。例如,如果签约的制造者不守信用并且根据生产者提供的设计过量生产IC,而没有通知生产者发生了这种过量生产,那么额外的产品就会在灰市渠道中作为“伪造”或“克隆”IC被销售。这就允许第三方制造者实现了额外的获利和收入,而这是以他们的客户即生产者/设计者的收入和未来的产品需求为代价的。
上述情况可能发生是因为在这些情况下,常常生产者除了在生产阶段开始时接收工程样品之外就不再处理产品。因此,在设计之后的制造过程的各个阶段,都有机会盗取部件和产品。在一些情况下,有着良好信用的合约制造者的雇员可能是盗贼。当雇员直接从制造线上盗取产品时,“产量缩水(yield shrinkage)”可能出现。这不仅由于收入对生产者和合约制造者有害,而且对进行未来生意的生产者和制造者之间关系也有害。
因此,本发明的目的是消除或减少上述缺点。
发明内容
本发明提供了使得希望对制造过程的至少一部分使用分离的实体的生产者能够从远程位置监视和保护器件生产的系统和方法。
本发明还提供了用于使敏感数据到产品的添加在分离的实体之间分离以禁止由于过量生产和产量缩水引起的灰市产品的装置。
在一个方面,本发明提供了一种用于在器件生产过程中远程控制敏感数据到器件中的注入的方法。该方法包括如下步骤:控制器准备并且密码保护在数据传输中的敏感数据;控制器将数据传输发送给服务器,服务器具有用于执行密码操作的安全模块;安全模块从数据传输中提取敏感数据;以及服务器将敏感数据提供给设备用于注入到器件中;其中,控制器相对于服务器被远程地放置。
在另一个方面,本发明提供了一种用于在器件生产过程中远程控制敏感数据到器件中的注入的系统。该系统包括:具有用于执行密码操作的第一安全模块的控制器;服务器相对于服务器被远程地放置并且通过前向通道和后向通道被连接到控制器,前向通道由控制器使用用于将数据传输提供给服务器的第二安全模块,数据传输对敏感数据进行密码保护,第二安全模块从传输中提取数据;以及代理,与设备一起操作,用于在从传输中提取数据后注入数据,代理从第二安全模块中获得数据。
在另一个方面,提供了一种用于在多个阶段控制敏感数据到器件中的插入的模块。该模块包括密码变换,密码变换截获并变换器件中的数据流和存储在存储器中的密码密钥,敏感数据的一部分在各个阶段被添加到密码密钥中,密码密钥被变换用于其操作,其中,在敏感数据成功插入后,密码变换正确改变数据流。
在另一个方面,提供了一种用于控制敏感数据到器件中的注入的方法。该方法包括以下步骤:将模块包括在器件中,该模块具有用于在器件中截获和变换数据流的密码变换;以及在器件生产中的多个阶段中的每一个将敏感数据的一部分添加到存储在模块中的存储器中;其中,在敏感数据成功插入后,密码变换正确改变数据流。
附图说明
下面将参照附图仅以实例的方式描述本发明的实施例。
图1是远程器件注册系统的示意框图;
图2是图1中图示的图形用户界面(GUI)的示意表示;
图3是分发图像的示意表示;
图4是图示密钥注入和报告过程的流程图;
图5是图示预备过程的流程图;
图6是描绘信用指示过程的流程图;
图7图示了支持多个产品的另一个实施例的映射方案;
图8图示了过滤过的日志报告的实例;以及
图9是图示远程器件注册系统的另一个实施例的框图。
图10是在制造过程中使用多个阶段的密钥注入的实施例的示意框图。
图11是合并使用图10的实施例分离密钥注入阶段的注册模型的掩模的示意表示。
图12是图10所示实施例的阶段的示意表示。
图13是在使用图10的实施例生产器件时所采取步骤的流程图。
图14是根据图11所示的掩模生产的实例产品的示意框图。
具体实施方式
参照图1,远程器件注册或被信任的密钥注入系统一般由标记10指示。器件22的生产者12利用分离的实体的服务,来将唯一且不变的信息注入到器件22中,在这种情况下所述实体是外部制造者14。信息可以是密码密钥、共享秘密或者可以被密码绑定到器件22的固有唯一属性的某些其它数据,这种信息在下文中将被称作“密钥”。将密钥注入到器件22中的步骤在下文中将被称作“加密钥”或者“密钥注入”。
生产者12利用控制器16,对制造者设备来说,控制器16是远程的计算机系统。控制器16包括硬件安全模块(HSM)11。HSM 11是由控制器16用于执行如加密、解密和标记的密码安全操作的受保护的器件。HSM 11可以是防篡改(例如在物理上难以访问)或者可以是对篡改起反应的(tamper reactive)(例如如果被篡改就擦除数据)。控制器16负责将密钥和其它信息打包并传递给制造者14,还负责监视制造者14对密钥的分发和使用。生产者12一般地从如主管部门的外部源例如HDCP密钥的生产者处得到批量密钥(未示出)。密钥被存储在数据存储器件15中,直到它们被分发给具体的制造者14。控制器12及其操作可以被使用图形用户界面(GUI)13的操作者监视、修改从而被控制。GUI 13一般是使用个人计算机(未示出)显示并与其交互的软件应用程序。
控制器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利用的HSM 11类似的HSM28。HSM 28存储指示制造者14可以使用多少密钥的被保护的信用池30。密钥的使用由控制器16通过监视被服务器18汇报的数据、以及相应地从信用池30加或减而被量测。信用池30是表示在服务器18必须从控制器16请求并获得更多密钥之前可以被HSM 28解密的密钥数量的抽象概念。控制器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的密钥注入的命令中心。为了从远程位置控制加密钥,GUI 13被操作者用来监视和配置各个在控制器16控制下的制造者14、服务器18以及设备20。在图2中示出实例GUI 13。GUI 13被分成服务器窗口200、控制器窗口204和设备窗口202。服务器窗口200包括被控制器16控制的制造者列表14以及服务器18。在控制器窗口204中指示特定的控制器16。操作者可以选择特定的制造者(例如,图2中所示的制造者A),并且与制造者相关联的设备20被显示在设备窗口202中。
在图2所示的实例中,在制造者A处的服务器包括提供关于服务器1、服务器2和服务器3的信息的窗口。各个服务器具有与其相关联的某些数据。例如,如图2所示,各个服务器包括示出它们的可用存储空间、可用信用以及对于密钥类型1和密钥类型2的每个类型可用的密钥的数量的进程栏。每个测试器窗口还显示日志信息,例如先前报告被处理的日期、先前报告的信用、先前补充量(refill amount)以及关于缺少的日志记录的数据。服务器窗口还向操作者提供选项214和216以从控制器16远程配置和禁用服务器18。
控制器16具有远程配置服务器18的能力。这允许控制器16改变密钥类型,增加或删除密钥类型以及控制其它配置选项。这优选地通过沿着控制通道26向服务器HSM 28发送配置消息来实现。HSM28可评估配置消息,由此一些配置消息改变HSM 28的行为,并且其它配置消息被发送到服务器18。使用这种方法经由HSM 28被发送到服务器18的配置消息可以帮助确保服务器18获得被信任的并且已知是来自控制器16的配置指令。
控制器16可能通过密钥代理21在服务器层面或设备层面远程配置系统10。控制器16还可以强迫服务器18的轮询,并且可以调整常规轮询的间隔。一般地,服务器18以固定间隔被轮询,并且控制器16可以在需要时使用被迫轮询以在间隔之间获得信息。例如,就一天的间隔而言,控制器16可能需要数据以汇报给当天的管理者,因而可以强迫所有服务器的轮询以获得这种数据。GUI 13还可以包括控制器电子邮件选项,该选项允许控制器16在如在关键生产运行中解密或分发失败的极端环境下自动联系管理者。
被设备20分发给服务器18并且注入到器件22中的各个密钥在某些事件下触发某些日志记录。GUI 13可以被用于搜索、分类、编辑和分析日志记录,以及浏览如图8所示的定制或标准报告400。在该实例中,存在被生成的三个主要日志记录。当密钥被生产者16分发给服务器18时,密钥到服务器日志402被生成,在HSM 28将密钥释放给密钥代理21那一点上密钥到代理日志404被HSM 28生成,并且在密钥被注入后,密钥注入日志406被密钥代理21生成。各个日志记录可包括任何数目的识别信息,这些识别信息包括ID类型、时间戳、制造者、设备等。在图8所示的实例报告中,报告400图示了对于具有序列ID=001的密钥的密钥到服务器日志402、密钥到代理日志404以及密钥注入日志406。这些记录然后可以被用于跟踪具有这种序列ID号的密钥的生命周期。应当理解,报告400可以包括任何数目的记录,并且可基于任何适当的字段而被滤选。例如,在制造者A处被测试机2于5月3日注入的所有密钥的报告400可相应地通过过滤日期字段和位置字段而被编辑。
现在参照图3,生产者使用将被发送给服务器18的分发图像40,生产者16可以将安全数据传输中的一批组密钥优选地使用加密来打包。分发图像40使生产者能够在一次传输中包括指定给多个服务器18的用于多个产品的密钥。但是仅仅在HSM 28已经经由控制通道26从控制器16接收到认证之后,各个服务器18才能够解密并获得某一数量的密钥。图像40是数据记录的集合,各个记录包含类型58、ID 60、大小54和数据56字段,在数据字段56,数据56将一般包含由大小54识别的任一大小的密钥数据。类型58和ID 60字段被HSM28用来识别密钥数据,取决于HSM 28的配置,如先前经由控制通道26所指示的,可能被用于过滤某些密钥。密钥可能被封装,使得实现不关心对于目标密钥实际上象什么。这使得其灵活且可延展,而无需对于各个新的密钥类型做重新设计。包装(wrapper)应该包含类型、大小和唯一的ID,体是抽象的。包装还可包含支持更多高级特征的元素,例如分配到抽象图像中的日志或变量。
图像40用图像密钥42来加密。图像密钥42被服务器18用于解密图像40并获得密钥。图像密钥42对于各个服务器18被自身加密,并且被存储为服务器头部48。服务器头部48的集合被存储在主头部46中。为了解密图像40并获得密钥,头部48被服务器18选择并且被HSM 28解密以获得图像密钥42。图像密钥42然后被用于解密图像40。
如前面提到的,分发图像40可能被用于支持多个产品。另外参照图7,示出了产品类型和数据块的映射。例如,生产者16有三个产品,即γ(gamma)利用密钥1(具有过滤标签1),β(beta)利用密钥2(具有过滤标签2)和伴随的配置块(也具有过滤标签2),以及α(alpha)利用密钥1、密钥2和配置块。图像40可以包括批量的密钥类型1和密钥类型2,并且γ(gamma)和β(beta)产品可以没有α(alpha)产品那么复杂。生产者16可以用数据打包单个图像40,例如,每块50个,由此某个测试机(例如测试机1)具有制造者制造的许可,从而可能获得用于生产五十个α(alpha)产品的五十个(50)过滤标签1和2。另一个测试机(例如测试机2)可同时具有制造者制造的许可,因而从图像40获得五十个(50)过滤标签1以生产五十个β(beta)产品,以及五十个(50)过滤标签2以生产γ(gamma)产品。图像40可包含所有密钥数据,可能包括多种类型的密钥,以生产任何产品类型的单个产品。测试机向服务器18标识正被编程的产品类型或产品型号。该型号信息与被加密的图像40一起被发送到HSM 28,使得当HSM 28解密图像40时,密钥数据50可以被过滤,并且只有编程所标识的产品型号所需的密钥数据才被HSM 28释放给测试机。因此,生产者12可以用单个图像40来支持多个产品,同时采取措施以确保制造者14只能制造他们应该制造的产品。
因为图像40可以支持多个产品,所以日志记录被用于跟踪在测试机处执行的实际的密钥注入,这将在下面更充分地解释。通过跟踪日志记录,生产者16就可以试图检测例如制造者14是否返回50个γ产品而不是50个α产品(他们已经被付费要生产的),由此他们可能已经在灰市或黑市上销售了50个β产品。这种差异可能是恶意的也可能不是,但是在任何情况下都可以被合理地识别。
在图4中示出了密钥从其在分发通道25上的分发到HSM 28在后向通道24上汇报给控制器16的典型生命周期。图4中突出显示的块表示由安全模块即HSM 11和HSM 28执行的那些步骤。控制器16首先从外部提供者处获得批量标准密钥。控制器16然后将密钥传递给HSM 11,并且HSM 11对密钥块加密,各个块含有测定数量的某一密钥类型。应当理解,密钥还可能被批量加密成具有多于一个密钥类型的块。控制器16然后将被批量加密的密钥存储在存储器件15中,直到它接收到指示密钥块将被分发的指示或其他命令。
当生产者16分发密钥块时,它首先获得被批量加密的块并将该块传递给HSM 11。HSM 11对该块进行解密并且对密钥块重新加密以与图像密钥42一起传输。然后,对于各个服务器18,图像密钥42自身被加密以产生各个头部48。这些头部48被存储在主头部46的组44中。这里,对用于分发的已经被重新加密的密钥,HSM 11生成密钥到服务器日志402。日志402在生产者12处被本地存储用于以后的分析。然后在分发通道25上将重新加密的密钥块分发给服务器18。
服务器18将包括在图像40中的被加密的密钥块传递给HSM 28,HSM 28然后解密图像40。HSM 28首先从组44中选择其特定的头部48,并对图像密钥42进行解密。图像密钥42然后被解密以从图像40中获得密钥。然后优选地,例如使用安全哈希算法、MAC或数字签名,来验证并且过滤图像40。HSM 28然后还对从图像40中获得的各个密钥重新加密用于存储。服务器18然后本地存储被重新加密的密钥用于以后被设备20使用。应当理解,图像40的真实性基于在控制器16与服务器18之间共享的唯一对称分布密钥Ks1和Ks2而被认定。一旦执行了成功的真实性检查,例如在sha-2摘要(digest)比较之后,其间被共享的消息就可以被认为是可信的。
当控制器16从设备20接收到对某一数量密钥(例如N个密钥)的请求时,HSM 28被给予N个密钥来解密。对于被HSM 28解密的N个密钥中的每一个,密钥到代理日志记录404被产生,并且这些密钥被传递给设备20用于注入。这里,密钥“不受阻碍(in the clear)”因而准备好用于注入。
设备20注入N个密钥中的各个,并且密钥代理21对于被注入的各个密钥生成密钥注入日志记录406。HSM 28将连续地获得密钥到代理日志记录404和密钥注入日志记录406,并且优选地将这些记录连接成在后向通道24上被发送回控制器16的主日志报告R。
各个日志优选地被连接成二进制文件,其标识了文件被产生的日期。报告R优选地由HSM 28用加密密钥k1加密,并且被返回给在服务器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还可以判断α产品是否被委托制造,而γ和β产品是否可能已经被生产。
日志报告提供信息以阻止制造者14的恶意或不道德行为,同时也提供了评估现有制造者14的诚实性的手段以及提供任何非期望活动的证据的工具。在检测非期望的活动中,实物证据的使用允许生产者12不仅仅是以怀疑的态度面对制造者14,这在违法活动在测试机层面发生(例如由雇员而非公司本身造成的)的情况下可以挽救生产者12与制造者14之间的重要关系。
除了分发之外,控制器16还使用控制通道26来控制信用池30从而量测密钥注入阶段。在图6中示出信用指示过程。HSM 28在对分布图像40进行解密并获得密钥时必须消耗来自信用池30的信用。随着时间的流逝,信用池30将减小,需要用由控制器16发送的信用指示文件来补充。
在控制通道26上,控制器16一次只向服务器18发送一个控制消息C。包含在该消息中的优选需要的文件中的一个是信用指示文件。该文件可以是用于特定服务器18的被加密的数据集合,其被HSM 28解密成信用指示。信用指示包含例如HSM 28和/或服务器18的序列号、服务器的令牌(token)ID、序列数、新的信用量以及配置数据,其已经全部被控制器16标记。
在接收到控制消息C后,HSM 28从控制消息C中解密信用指示数据,并验证签名。如果可应用,HSM 28还验证作为其自身的序列号和令牌ID。序列数的验证然后被执行。序列数应该大于内部存储在HSM 28中的序列。一旦被验证,HSM 28将更新其内部序列数并将信用池30的值设置为信用指示中的信用值。
如前面结合GUI 13所解释的,HSM 28然后将处理控制消息C中的任何配置消息以更新其内部配置,以使得控制器16能够将配置数据推进给服务器18,例如用于过滤规则、加密钥信息、信用规则等的更新。配置数据可以期望用于HSM 28、在服务器18上运行的应用程序或者甚至是密钥代理21。HSM 28寻找定义的类型的配置消息来处理它们。配置消息被标记为私有的或公共的,然后对它们的访问将由HSM 28控制。
信用报告Cr是服务器对处理控制消息C中的信用指示的响应。信用报告Cr可包含HSM 28的序列号和令牌ID、当前的序列值、信用池30的当前值、到目前为止的补充数量以及错误代码,如果在信用指示处理过程中没有错误发生,那么错误代码被设定为零。
优选地由HSM 28使用其标记密钥k2来标记信用报告Cr。对于控制器16的报告Cr然后被使用控制器的公共加密密钥k3来加密。报告Cr然后被发送给控制器16,并且与日志报告R一起存储用于上述的审核目的。
在分发密钥之前,生产者12和制造者14可经过预备过程以初始化HSM和服务器18。在图5中示出该预备过程。HSM 28产生并向控制器16发送预备请求消息P。消息P优选地包含正被服务器18使用的HSM 28的序列号。HSM 28生成两个密码密钥对k1、k2(例如RSA密钥对或优选地使用椭圆曲线密码算法(ECC)),一个(k1)用于接收被加密的消息,另一个(k2)用于标记输出的消息。优选地,在密钥对k1和k2的交换期间,制造者14在物理可控环境中被密码地引导(cryptographically bootstrapped)。
当控制器16从服务器18接收预备请求时,它将请求传递给HSM11,HSM 11检查消息的真实性然后给制造者14分配“令牌ID”。两个密钥,优选地,对称密钥ks1和ks2(例如高级加密标准(AES)密钥)被生成。如前面提到的,这些密钥将被控制器16和服务器18用于保护在分发通道25上的分发图像40以及在后向通道24上的日志报告R。
HSM 11然后生成预备响应消息P’,该预备响应消息P’例如包含被分配的令牌ID,HSM加密的公共密钥以及各自的标记密钥对k3和k4,分发和后向通道对称密钥ks1和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相关联、并且在HSM 28a释放密钥之后且在密钥注入之前执行现有解决方案的可执行文件的集合。在这种方式下,密钥被改变以兼容现有解决方案,而设备20a并不知道。如图9所示,控制器16a将首先需要访问由设备20a使用的可执行文件(exe)70以提供现有的解决方案。控制器16a然后将可执行文件70传递给HSM 11a。HSM 11a然后标记可执行文件70,并将被标记的可执行文件70传递给HSM 28a,HSM 28a然后将被标记的可执行文件70存储为被标记的对象72。在操作中,当设备20a请求新的一批密钥时,服务器18a将依靠存储在HSM 28a中的可执行文件的签名来验证可执行文件。一旦服务器18a已经验证可执行文件72,那么它将发送可执行文件密钥以被加扰。
例如,设备20a请求密钥BCA以馈送给器件22a中的加扰器76,使得密钥ABC被注入到产品α(alpha)中。HSM 28a确定产品α具有被标记的对象可执行文件A,用于修改密钥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能够通过HSM 28监视制造者14的活动,并量测信用。生产者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中所示例的并且在后面更详细地所描述的,过量生产可能通过在硅片或器件制造过程中引入责任分离而被禁止。一般地,生产者12会将制造的不同阶段合约外包给多个承包者。一般而言,责任分离涉及有目的地分离硅芯片或其他器件的制造阶段,使得最终产品必须已经被各个转包者“接触“,以使得最终产品是完全起作用的。因为灰市一般由单个故障点或者制造链上的单个不守信用的承包者提供,所以强迫一组承包者顺序操作,这就意味着为了向灰市提供非残缺的子部件或器件,两个或多个转包者必须共谋抵抗生产者12。最终产品及其子部件,应该完成所有制造阶段以完全起作用。一般而言,当多个转包者为了盗取而需要共谋时,攻击生产者12的风险就被大大降低。
在硅晶片的生产中,一般发生几个阶段,它们经常在几个第三方制造者之间被划分。设计芯片的生产者12将在一个数据文件或多个数据文件中创建设计,经常称作“网表(net list)”。网表包含计算机代码形式的描述语言,用于指示第三方如何生产掩模以生产硅晶片,从该硅晶片中,IC被封装和分发。
例如,在说明性的制造过程中,掩模可能被生产者12发送给根据掩模制造硅晶片的硅制作者。晶片然后可被发送到晶片测试设备,在那里各个芯片在晶片上被直接测试,并且被电子化地标记,使得在被切割时,只有通过的各个芯片将被转发给封装设备。封装设备会将硅粘合并封装成芯片封装,并且再次测试最终封装的芯片。完成的芯片然后一般被送到OEM,在那里芯片被安装到印刷电路板上,印刷电路板是完成的期间产品的一部分,并且完成的器件产品被送到分发通道,最终到达顾客。
上述说明性的制造过程一般包括在设计与硅芯片到器件的集成之间发生的多个阶段,即制造、测试、封装和安装。应当理解,所有这些阶段可可替代地发生在单个设施处,并且还可以有更多个阶段,最多到任意N个阶段。在这些阶段的每一个,都有可能发生过量生产或产量缩水。
现在参照图10,生产者12设计掩模90。掩模90被用于生产注册器件22,在这个实例中,是IC。器件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来生产被部分被制造的器件1 140。这个实例中的下标1被用来表示应用于器件22的敏感数据的第一部分,其中优选地,使用设备20的密钥代理21,敏感数据的第一部分被注入。优选地在这里,器件1还不是完全可操作的,因为变换128还不具有执行其操作的所有的必需的信息。器件1然后可用来被分发到第二制造阶段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以实现制造过程的阶段1,并且在步骤508,阶段1被执行。例如,第一制造者将生产晶片、创建符合掩模90的芯片。在晶片测试过程中,制造者然后会将某部分加密钥材料编程到存储器130中。在步骤510,敏感数据的这部分被插入,并且在步骤512,服务器18将优选地使用前面概述的机制汇报给生产者。可替代地,阶段1可以不处理任何敏感数据的注入,然后该操作可单独在阶段2过程中被执行。
当第一部分加密钥数据被编程到芯片或器件中时,产品只包含部分加密钥信息,还不足以正确操作。通过器件1来表示图13,其中,下标1表示如上所述的第一部分。在步骤514,被部分生产、部分编程的器件1然后被分发给阶段2,以在步骤516执行。在步骤518,制造者102然后将注入第二部分密钥数据。例如,在步骤518,第二制造者102可对额外的加密钥信息进行编程,或者可使用在步骤510期间存储在存储器130中的部分密钥数据以及用在步骤518的来自系统10的新的密钥数据来导出密码加密钥信息。该导出步骤可以基于哈希或者可能更复杂的密钥遮蔽技术。优选地,在步骤520,第二制造者102汇报回生产者12,表明第二密钥部分被成功注入。生产者12现在可拥有表明密钥数据已经被成功插入的两个日志记录,并且可以使用该信息来监视其记录。
一旦第二部分加密钥数据被插入,在这个实例中,器件22就被完全生产,并且完全注册(例如被测试和封装的IC),并且在图13中由器件12来表示,其中,下标12表示完整的密钥数据集合,即数据部分1和数据部分2。在步骤522,器件12然后继续到分发通道,其中在步骤524,器件12作为有效产品最终到达顾客。
如在图13中图示的,例如,如果第一制造者100或其雇员试图在步骤526分发灰市产品,那么通过在步骤528的可替代分发通道,在步骤530残缺产品将被提供给顾客,因为器件1只包含第一部分密钥数据,因而变换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中示出的实例只是为了说明的目的。
虽然上面已经参照某些特定的实施例进行了描述,但是对于本领域的技术人员来说,其各种改变是清楚的。

Claims (26)

1.一种用于在器件生产过程中控制敏感数据到器件中的注入的方法,所述方法由具有安全模块的服务器执行,所述方法包括如下步骤:
从控制器接收数据传输,所述数据传输包括密码保护的敏感数据,所述控制器相对于服务器被远程地放置;
所述安全模块从所述数据传输中提取所述敏感数据;
向设备提供所述敏感数据以用于注入到所述器件中;
所述安全模块生成表明所述数据分发给所述设备的第一日志记录;
从所述设备接收第二日志记录,第二日志记录表明所述数据到所述器件中的注入;以及
向所述控制器发送包括所述第一和第二日志记录的日志报告,以使得所述控制器能够将所述日志报告与所述控制器在发送所述数据传输之后生成的日志记录进行比较。
2.根据权利要求1的方法,其中,所述提取包括所述安全模块解密包括在所述数据传输中的头部以获得密钥,并且使用所述密钥来解密所述传输并从其中提取所述敏感数据。
3.根据权利要求1的方法,还包括在从所述控制器接收所述数据传输之前执行预备过程,所述预备过程被用于初始化所述服务器。
4.根据权利要求1的方法,其中,存在多个服务器,所述数据传输被发送至所述多个服务器。
5.根据权利要求1的方法,还包括从所述控制器接收信用指示,所述信用指示表明用于更新信用池的值的信用值,所述信用值代表服务器能够从其中提取所述敏感数据的所述数据传输的数据元素的数目。
6.根据权利要求5的方法,其中,在从所述数据传输中提取所述敏感数据后,所述安全模块消耗来自所述信用池的信用,从而减少所述信用池的值。
7.根据权利要求1的方法,还包括:从所述控制器接收被标记的对象,所述被标记的对象通过根据现有数据注入解决方案修改所述数据来保护所述敏感数据,所述现有数据注入解决方案通过修改所述数据来保护所述数据;存储所述被标记的对象,验证所述被标记的对象,并且如果所述被标记的对象被验证,则根据所述现有解决方案修改所述敏感数据;以及将所述被修改的数据发送给所述设备用于注入到所述器件中。
8.根据权利要求1的方法,其中,所述数据传输包括多种类型的敏感数据,并且所述安全模块根据由所述控制器建立的许可获得所述类型中的某些类型。
9.根据权利要求8的方法,其中,所述日志报告包括所述安全模块已经向所述设备提供了所述类型中的哪一个类型的敏感数据的指示。
10.根据权利要求1的方法,还包括从所述控制器接收配置消息以在修改所述安全模块的设置时使用。
11.根据权利要求1的方法,其中,所述日志报告响应于由所述服务器和所述控制器中的一个发起的轮询而发送至所述控制器。
12.根据权利要求1的方法,其中,将所述日志报告与所述控制器生成的日志记录进行比较使得如果所述比较是有利的并且另外的数据被要求,则能够发送进一步的数据传输,如果所述比较是不利的,则所述服务器从所述控制器接收指示以禁止从任何先前的传输中进一步提取所述数据。
13.根据权利要求1的方法,其中,所述敏感数据包括多个密钥,所述传输包括被所述控制器的安全模块加密的一些所述密钥;并且提取所述敏感数据包括根据事先由所述控制器提供的指示所表明的,来对所述密钥中的特定一个进行解密。
14.一种用于在器件生产过程中控制敏感数据到器件中的注入的系统,所述系统包括:
服务器,具有用于执行密码操作的安全模块,所述服务器相对于控制器被远程地放置并且通过通信通道被连接到所述控制器,以从所述控制器接收数据传输并向所述控制器提供日志报告,所述服务器通信连接至设备,所述设备被配置为将所述敏感数据注入到所述器件中,所述服务器用于:
从控制器接收数据传输,所述数据传输包括密码保护的由所述控制器准备的敏感数据;
所述安全模块从所述数据传输中提取所述敏感数据;
向所述设备提供所述敏感数据以用于注入到所述器件中;
所述安全模块生成表明所述数据分发给所述设备的第一日志记录;
从所述设备接收第二日志记录,第二日志记录表明所述数据到所述器件中的注入;以及
向所述控制器发送包括所述第一和第二日志记录的日志报告,以使得所述控制器能够将所述日志报告与所述控制器在发送所述数据传输之后生成的日志记录进行比较。
15.根据权利要求14的系统,其中,所述提取包括所述安全模块解密包括在所述数据传输中的头部以获得密钥,并且使用所述密钥来解密所述传输并从其中提取所述敏感数据。
16.根据权利要求14的系统,还用于在从所述控制器接收所述数据传输之前参与预备过程,所述预备过程被用于初始化所述服务器和所述安全模块。
17.根据权利要求14的系统,包括多个服务器,所述数据传输被发送至所述多个服务器。
18.根据权利要求14的系统,还用于从所述控制器接收信用指示,所述信用指示表明用于更新信用池的值的信用值,所述信用值代表安全模块能够从其中提取所述敏感数据的所述数据传输的数据元素的数目。
19.根据权利要求18的系统,其中,在从所述数据传输中提取所述敏感数据后,所述安全模块消耗来自所述信用池的信用,从而减少所述信用池的值。
20.根据权利要求14的系统,还用于从所述控制器接收被标记的对象,所述被标记的对象通过根据现有数据注入解决方案修改所述数据来保护所述敏感数据,所述现有数据注入解决方案通过修改所述数据来保护所述数据;存储所述被标记的对象,验证所述被标记的对象,并且如果所述被标记的对象被验证,则根据所述现有解决方案修改所述数据;以及将所述被修改的数据发送给所述设备用于注入到所述器件中。
21.根据权利要求14的系统,其中,所述数据传输包括多种类型的敏感数据,并且所述安全模块根据由所述控制器建立的许可获得所述类型中的某些类型。
22.根据权利要求21的系统,其中,所述日志报告包括所述安全模块已经向所述设备提供了所述类型中的哪一个的指示。
23.根据权利要求14的系统,还用于从所述控制器接收配置消息以在修改所述安全模块的设置时使用。
24.根据权利要求14的系统,其中,所述日志报告响应于由所述服务器和所述控制器中的一个发起的轮询而发送至所述控制器。
25.根据权利要求14的系统,其中,将所述日志报告与所述控制器生成的日志记录进行比较使得如果所述比较是有利的并且另外的数据被要求,则能够发送进一步的数据传输,如果所述比较是不利的,则所述服务器从所述控制器接收指示以禁止从任何先前的传输中进一步提取所述数据。
26.根据权利要求14的系统,其中,所述敏感数据包括多个密钥,所述传输包括被所述控制器的安全模块加密的一些所述密钥;并且提取所述数据包括根据事先由所述控制器提供的指示所表明的,来对所述密钥中的特定一个进行解密。
CN200680025923.6A 2005-06-14 2006-06-12 用于远程器件注册的系统和方法 Active CN101223728B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310021320.0A CN103152173B (zh) 2005-06-14 2006-06-12 用于远程器件注册的系统和方法

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US69015505P 2005-06-14 2005-06-14
US60/690,155 2005-06-14
CA2,510,366 2005-06-21
CA2510366A CA2510366C (en) 2005-06-14 2005-06-21 System and method for remote device registration
US77726206P 2006-02-28 2006-02-28
CA2538087A CA2538087C (en) 2005-06-14 2006-02-28 System and method for remote device registration
US60/777,262 2006-02-28
CA2,538,087 2006-02-28
PCT/CA2006/000944 WO2006133545A1 (en) 2005-06-14 2006-06-12 System and method for remote device registration

Related Child Applications (2)

Application Number Title Priority Date Filing Date
CN201310021320.0A Division CN103152173B (zh) 2005-06-14 2006-06-12 用于远程器件注册的系统和方法
CN2010106218685A Division CN102013977B (zh) 2005-06-14 2006-06-12 用于远程器件注册的系统和方法

Publications (2)

Publication Number Publication Date
CN101223728A CN101223728A (zh) 2008-07-16
CN101223728B true CN101223728B (zh) 2013-02-27

Family

ID=37545771

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201310021320.0A Active CN103152173B (zh) 2005-06-14 2006-06-12 用于远程器件注册的系统和方法
CN200680025923.6A Active CN101223728B (zh) 2005-06-14 2006-06-12 用于远程器件注册的系统和方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201310021320.0A Active CN103152173B (zh) 2005-06-14 2006-06-12 用于远程器件注册的系统和方法

Country Status (6)

Country Link
US (3) US7734915B2 (zh)
EP (1) EP1891766B1 (zh)
KR (1) KR101390574B1 (zh)
CN (2) CN103152173B (zh)
CA (2) CA2510366C (zh)
WO (1) WO2006133545A1 (zh)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7162035B1 (en) 2000-05-24 2007-01-09 Tracer Detection Technology Corp. Authentication method and system
US8171567B1 (en) 2002-09-04 2012-05-01 Tracer Detection Technology Corp. Authentication method and system
CA2510366C (en) 2005-06-14 2013-02-26 Certicom Corp. System and method for remote device registration
EP1989651B1 (en) * 2006-02-28 2012-03-28 Certicom Corp. System and method for product registration
EP2076799A4 (en) 2006-09-08 2011-03-09 Certicom Corp AUTHENTICATED HIGH FREQUENCY IDENTIFICATION AND KEY DISTRIBUTION SYSTEM THEREFOR
CN101682612B (zh) * 2007-04-12 2013-02-06 本质Id有限责任公司 受控的功能激活
US8422550B2 (en) * 2007-07-27 2013-04-16 Lagavulin Limited Apparatuses, methods, and systems for a portable, automated contractual image dealer and transmitter
US7995196B1 (en) 2008-04-23 2011-08-09 Tracer Detection Technology Corp. Authentication method and system
EP2350910B1 (en) * 2008-11-24 2018-07-25 Certicom Corp. System and method for hardware based security
US10447474B2 (en) 2009-04-20 2019-10-15 Pure Storage, Inc. Dispersed data storage system data decoding and decryption
US11991280B2 (en) 2009-04-20 2024-05-21 Pure Storage, Inc. Randomized transforms in a dispersed data storage system
CA2767721C (en) 2009-07-10 2017-01-24 Certicom Corp. System and method for managing electronic assets using multithreaded interfaces for distributed manufacturing
EP4092590A1 (en) * 2009-07-10 2022-11-23 BlackBerry Limited System and method for performing serialization of devices
WO2011003200A1 (en) * 2009-07-10 2011-01-13 Certicom Corp. System and method for performing key injection to devices
WO2011119137A1 (en) 2010-03-22 2011-09-29 Lrdc Systems, Llc A method of identifying and protecting the integrity of a set of source data
WO2012129546A2 (en) * 2011-03-23 2012-09-27 Selerity, Inc. Securely enabling access to information over a network across multiple protocols
WO2012151652A1 (en) * 2011-05-06 2012-11-15 Certicom Corp. Managing data for authentication devices
US9436846B2 (en) 2012-05-30 2016-09-06 Freescale Semiconductor, Inc. Semiconductor device and a method of manufacturing a semiconductor device
US9472034B2 (en) * 2012-08-16 2016-10-18 Schlage Lock Company Llc Electronic lock system
US9582843B2 (en) * 2012-08-20 2017-02-28 Tautachrome, Inc. Authentication and validation of smartphone imagery
US9094205B2 (en) 2012-08-31 2015-07-28 Freescale Semiconductor, Inc. Secure provisioning in an untrusted environment
US9100189B2 (en) 2012-08-31 2015-08-04 Freescale Semiconductor, Inc. Secure provisioning in an untrusted environment
US9129536B2 (en) 2012-08-31 2015-09-08 Freescale Semiconductor, Inc. Circuit for secure provisioning in an untrusted environment
US9100174B2 (en) 2012-08-31 2015-08-04 Freescale Semiconductor, Inc. Secure provisioning in an untrusted environment
US9787568B2 (en) * 2012-11-05 2017-10-10 Cercacor Laboratories, Inc. Physiological test credit method
US9369290B2 (en) 2012-11-30 2016-06-14 Certicom Corp. Challenge-response authentication using a masked response value
US9727720B2 (en) 2012-11-30 2017-08-08 Certicom Corp. Challenge-response authentication using a masked response value
US9721483B2 (en) * 2013-08-22 2017-08-01 University Of Delaware Medical treatment simulation devices
US10540908B2 (en) * 2013-09-16 2020-01-21 Lion Group, Inc. Fire fighting training system with steam/smoke generation
US10148669B2 (en) * 2014-05-07 2018-12-04 Dell Products, L.P. Out-of-band encryption key management system
US9923890B2 (en) 2014-05-07 2018-03-20 Cryptography Research, Inc. Generating and distributing pre-computed data (PCD) assets to a target device
US10679212B2 (en) 2014-05-26 2020-06-09 The Toronto-Dominion Bank Post-manufacture configuration of pin-pad terminals
US9430658B2 (en) 2014-12-16 2016-08-30 Freescale Semiconductor, Inc. Systems and methods for secure provisioning of production electronic circuits
DE102015220228B4 (de) * 2015-10-16 2019-03-21 Volkswagen Aktiengesellschaft Verfahren und System zur Absicherung einer erstmaligen Kontaktaufnahme eines Mobilgeräts mit einem Gerät
AU2017330232B2 (en) * 2016-09-23 2020-09-03 Apple Inc. Secure communication of network traffic
EP3614909B1 (en) 2017-04-28 2024-04-03 Masimo Corporation Spot check measurement system
US10505931B2 (en) * 2017-06-02 2019-12-10 Nxp B.V. Method for authenticating an integrated circuit device
JP7398438B2 (ja) 2018-05-11 2023-12-14 ラティス セミコンダクタ コーポレーション プログラマブルロジックデバイスのためのキープロビジョニングシステム及び方法
US11139969B2 (en) 2018-12-04 2021-10-05 Bank Of America Corporation Centralized system for a hardware security module for access to encryption keys
US11087321B2 (en) * 2019-02-04 2021-08-10 Mastercard International Incorporated Securely upgrading an untrusted channel into a trusted channel
US11574079B2 (en) * 2021-05-27 2023-02-07 Nuvoton Technology Corporation Multi-stage provisioning of secret data
WO2023277883A1 (en) * 2021-06-29 2023-01-05 Hewlett-Packard Development Company, L.P. Production procedure device modifications

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4652992A (en) 1983-09-20 1987-03-24 Mensch Jr William D Topography of integrated circuit CMOS microprocessor chip
SE506619C2 (sv) 1995-09-27 1998-01-19 Ericsson Telefon Ab L M Metod för kryptering av information
JP3561154B2 (ja) 1997-12-26 2004-09-02 株式会社東芝 放送受信装置および契約管理装置
CA2235359C (en) 1998-03-23 2012-04-10 Certicom Corp. Implicit certificate scheme with ca chaining
WO2001039086A2 (en) * 1999-11-22 2001-05-31 Accenture Llp Technology sharing during asset management and asset tracking in a network-based supply chain environment and method thereof
WO2001039029A2 (en) * 1999-11-22 2001-05-31 Accenture Llp Collaborative capacity planning and reverse inventory management during demand and supply planning in a network-based supply chain environment and method thereof
US6925562B2 (en) * 1999-12-17 2005-08-02 International Business Machines Corporation Scheme for blocking the use of lost or stolen network-connectable computer systems
US7587368B2 (en) * 2000-07-06 2009-09-08 David Paul Felsher Information record infrastructure, system and method
JP2004506361A (ja) * 2000-08-04 2004-02-26 ファースト データ コーポレイション デバイスの検証ステータスを提供することによる電子通信におけるエンティティ認証
US7313825B2 (en) * 2000-11-13 2007-12-25 Digital Doors, Inc. Data security system and method for portable device
EP1249981A1 (en) * 2001-04-02 2002-10-16 NuMeme Limited A security service system and method
US20030037237A1 (en) * 2001-04-09 2003-02-20 Jean-Paul Abgrall Systems and methods for computer device authentication
JP2002353084A (ja) 2001-05-23 2002-12-06 Hitachi Ltd 情報処理システム及び情報処理方法
TWI222609B (en) 2001-07-25 2004-10-21 Matsushita Electric Ind Co Ltd A method of producing a decrypting apparatus having a cryptographic device and cryptographic information, a system for providing such device and information, and the decrypting apparatus produced by the production method
JP4181812B2 (ja) 2001-07-25 2008-11-19 松下電器産業株式会社 暗号処理用の素子とその暗号処理に用いる情報とを有する復号装置の製造方法、復号装置が有する情報と素子とを供給する供給システム、および前記製造方法において製造される復号装置。
JP4053268B2 (ja) 2001-09-19 2008-02-27 シャープ株式会社 半導体製品の生産システム
JP2004139242A (ja) 2002-10-16 2004-05-13 Dainippon Printing Co Ltd Icカード、icカード発行システム及びicカード発行方法
BRPI0315450B1 (pt) 2002-10-31 2019-12-17 Ericsson Telefon Ab L M circuito eletrônico à prova de violação para implementação em um dispositivo, dispositivo implementado com um circuito eletrônico à prova de violação, e, método de gerenciamento de dados de segurança para um dispositivo
JP4051294B2 (ja) 2003-01-14 2008-02-20 シャープ株式会社 暗号キー管理システム及び生産・サービス用設備
JP4246529B2 (ja) 2003-03-31 2009-04-02 富士通株式会社 地上デジタル放送システムおよび地上デジタル放送権利保護装置
US7895449B2 (en) * 2003-06-16 2011-02-22 Microsoft Corporation System and method for securely delivering installation keys to a production facility
JP2005038411A (ja) 2003-06-30 2005-02-10 Sony Corp 機器認証情報組込システム、端末機器、機器認証情報処理方法、機器認証情報処理プログラム、提供サーバ、機器認証情報提供方法、機器認証情報提供プログラム、及び記憶媒体
US7519726B2 (en) * 2003-12-12 2009-04-14 International Business Machines Corporation Methods, apparatus and computer programs for enhanced access to resources within a network
US8139770B2 (en) 2003-12-23 2012-03-20 Wells Fargo Bank, N.A. Cryptographic key backup and escrow system
JP2005294952A (ja) 2004-03-31 2005-10-20 Matsushita Electric Ind Co Ltd 機密情報実装システム、lsi、記憶装置及び機密情報実装方法
US7693286B2 (en) 2004-07-14 2010-04-06 Intel Corporation Method of delivering direct proof private keys in signed groups to devices using a distribution CD
US7697691B2 (en) 2004-07-14 2010-04-13 Intel Corporation Method of delivering Direct Proof private keys to devices using an on-line service
US7792303B2 (en) 2004-07-14 2010-09-07 Intel Corporation Method of delivering direct proof private keys to devices using a distribution CD
CN101375284B (zh) 2004-10-25 2012-02-22 安全第一公司 安全数据分析方法和系统
TW200617703A (en) 2004-11-30 2006-06-01 Tokyo Electron Ltd Dynamically reconfigurable processor
CA2510366C (en) * 2005-06-14 2013-02-26 Certicom Corp. System and method for remote device registration
US7668313B2 (en) 2005-10-31 2010-02-23 Texas Instruments Incorporated Recipient-encrypted session key cryptography

Also Published As

Publication number Publication date
EP1891766A4 (en) 2010-12-15
EP1891766B1 (en) 2013-09-11
CN103152173B (zh) 2016-08-24
CA2510366A1 (en) 2006-12-14
WO2006133545A1 (en) 2006-12-21
CN103152173A (zh) 2013-06-12
US20130238899A1 (en) 2013-09-12
US8972721B2 (en) 2015-03-03
CN101223728A (zh) 2008-07-16
CA2538087C (en) 2016-02-02
US8423765B2 (en) 2013-04-16
CA2510366C (en) 2013-02-26
KR20130059460A (ko) 2013-06-05
US7734915B2 (en) 2010-06-08
EP1891766A1 (en) 2008-02-27
US20100205433A1 (en) 2010-08-12
US20070021843A1 (en) 2007-01-25
CA2538087A1 (en) 2006-12-14
KR101390574B1 (ko) 2014-04-30

Similar Documents

Publication Publication Date Title
CN101223728B (zh) 用于远程器件注册的系统和方法
CA2642363C (en) System and method for product registration
US10102500B2 (en) System and method for performing serialization of devices
CA2611818C (en) System and method for remote device registration
KR20060030164A (ko) 동영상 데이터 보호를 위한 공유키 풀 기반의 drm 시스템
EP1124330A2 (en) Method of using a mask programmed secret key to securely configure a field programmable gate array
CN109074445A (zh) 用于经由专有功能的许可来进行有条件访问的方法和系统
CN102013977B (zh) 用于远程器件注册的系统和方法
JP4989806B2 (ja) 遠隔装置登録のためのシステムと方法
KR101336529B1 (ko) 원격 디바이스 등록 시스템 및 방법
CN102236754B (zh) 数据保密方法以及使用此数据保密方法的电子装置
US6973408B2 (en) LSI test program protection method and LSI test method
JP2012113323A (ja) 遠隔装置登録のためのシステムと方法
CN101506853A (zh) 无保护环境下显著定制安全组件的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20191024

Address after: Voight, Ontario, Canada

Patentee after: BlackBerry Ltd.

Address before: Ontario, Canada

Patentee before: CERTICOM Corp.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240523

Address after: Ai Erlandubailin

Patentee after: Maliki Innovation Co.,Ltd.

Country or region after: Ireland

Address before: Voight, Ontario, Canada

Patentee before: BlackBerry Ltd.

Country or region before: Canada