用于管理电子资产的系统和方法

文档序号:6349892阅读:309来源:国知局
专利名称:用于管理电子资产的系统和方法
技术领域
以下涉及用于管理电子资产的系统和方法。
背景技术
在可以产生被视为“浪费”的制造过程中存在着各种因素。这些因素可以包括缺陷、库存(过量、冗余等等)、过量生产、过度加工、移动、运输以及等待。此外,存在可能归因于外部原因(例如,克隆、拷贝、技术转让和失窃(物理失窃和IP失窃都有))的花费。同样地,如今位于各种消费和商业产品的中心的是系统级芯片(SoC),在SoC中,将很多特征集成在单一的硅片上。制造商可以在不同平台中使用相同的SoC,同时启用或者禁用各种特征,以区分市场上的最终产品。对特征的未授权的启用代表了公司的重大收入损失。传统的特征编程方法包括通过不同的掩模(mask)组对SoC硅进行完全定制;使用可以被选择性“熔断(blown)”以对特征进行控制的硅熔断器(fuse);使用主板上的跳线;以及根据产品加载不同的组件和固件。特征的提供发生在各个制造位置处,该各个制造位置的设施执行一系列生产步骤,包括芯片的晶片制作、装配、封装、测试和系统集成,在系统集成中,将组件和固件集成在最终的产品或组合装置中。这些制造位置一般在国外,并处于将合同制造外包给这些设施的半导体公司的控制之外。结果,对于半导体公司来说,没有理由相信所分发的制造设施对专有和敏感数据的分发和搜集的管理,该专有和敏感数据是例如特征提供命令、内容保护密钥数据、软件/固件代码镜像、测试结果和产量报告数据。假定这种SoC所具有的价值,以及半导体公司将制造、装配和其产品分发外包的趋势,由于缺少可信的制造过程,多个新的问题开始出现
发明内容


现在将参照附图,描述仅作为示例的实施例,其中图I是资产管理系统(AMS)的框图。图2是示出了由图I的AMS所执行的用于向设备提供资产的示例操作的序列图。图3是示出了图I所示的控制器的一个实施例的细节的框图。图4A是示出了图I所示的装置的一个实施例的细节的框图。图4B是示出了图4A所示的装置的状态转移的状态图。图5是示出了图I所示的测试器和代理的一个实施例的细节的框图。
图6A是图I所示的代理API的一个实施例的细节的框图。图6B是图I所示的守护程序API的一个实施例的细节的框图。图7A是示出了 AMS的配置的框图,该AMS用于执行顺序化以及模式(schema)定义作业流程示例。图7B是示出了用于 执行密钥注入的AMS的配置的框图。图7C是示出了用于执行特征激活的AMS的配置的框图。图8是示出了用于使用AMS来执行顺序化的示例操作集合的序列图。图9是示出了用于使用AMS来执行密钥注入的示例操作集合的序列图。图IOA至IOB是示出了用于使用AMS来执行特征激活的示例操作集合的序列图。图11是示出了图I所示的AMS图形用户界面(GUI)所提供的快速状况视图的示例屏幕截图。图12是示出了由AMS⑶I提供的装置视图的示例屏幕截图。图13是示出了由AMS⑶I提供的具有警报栏的装置视图的示例屏幕截图。图14是示出了由AMS⑶I提供的主状况视图的示例屏幕截图。图15是示出了由AMS⑶I提供的警报视图的示例屏幕截图。图16是示出了 3行缩放模式下由AMS⑶I提供的作业视图的示例屏幕截图。图17是示出了 I行缩放模式下由AMS⑶I提供的作业视图的示例屏幕截图。图18是示出了细节缩放模式下由AMS GUI提供的作业视图的示例屏幕截图。图19是示出了由AMS⑶I提供的报告视图的示例屏幕截图。图20是示出了由AMS⑶I提供的产生报告视图的示例屏幕截图。图21是示出了由AMS⑶I提供的报告屏幕的示例屏幕截图。图22是示出了由AMS⑶I提供的控制器视图的示例屏幕截图。图23是示出了由AMS⑶I提供的修改控制器视图的示例屏幕截图。图24是示出了 3行缩放模式下由AMS⑶I提供的装置视图的示例屏幕截图。图25是示出了 I行缩放模式下由AMS⑶I提供的装置视图的示例屏幕截图。图26是示出了细节缩放模式下由AMS⑶I提供的装置视图的示例屏幕截图。图27是示出了由AMS⑶I提供的ping装置视图的示例屏幕截图。图28是示出了由AMS⑶I提供的同步装置视图的示例屏幕截图。图29是示出了由AMS⑶I提供的修改装置视图的示例屏幕截图。图30是示出了由AMS⑶I提供的去激活装置视图的示例屏幕截图。图31是示出了由AMS⑶I提供的移除装置视图的示例屏幕截图。图32是示出了 3行缩放模式下由AMS⑶I提供的产品视图的示例屏幕截图。图33是示出了 I行缩放模式下由AMS⑶I提供的产品视图的示例屏幕截图。图34是示出了细节缩放模式下由AMS GUI提供的产品视图的示例屏幕截图。图35是示出了由AMS GUI提供的添加产品视图的示例屏幕截图。图36是示出了 3行缩放模式下由AMS GUI提供的顺序化模式视图的示例屏幕截图。图37是示出了 I行缩放模式下由AMS GUI提供的顺序化模式视图的示例屏幕截图。
图38是示出了细节缩放模式下由AMS GUI提供的顺序化模式视图的示例屏幕截图。图39是示出了由AMS GUI提供的添加模式视图的示例屏幕截图。图40是示出了 3行缩放模式下由AMS GW提供的密钥类型视图的示例屏幕截图。图41是示出了 I行缩放模式下由AMS GUI提供的密钥类型视图的示例屏幕截图。图42是示出了细节缩放模式下由AMS GUI提供的密钥类型视图的示例屏幕截图。 图43是示出了由AMS GUI提供的添加密钥类型视图的示例屏幕截图。图44是示出了 3行缩放模式下由AMS GUI提供的特征控制票据视图的示例屏幕截图。图45是示出了 I行缩放模式下由AMS GUI提供的特征控制票据视图的示例屏幕截图。图46是示出了细节缩放模式下由AMS GUI提供的特征控制票据视图的示例屏幕截图。图47是示出了由AMS⑶I提供的用户视图的示例屏幕截图。图48是示出了由AMS GUI提供的添加用户视图的示例屏幕截图。图49是示出了由AMS GUI提供的添加用户视图的示例屏幕截图,该视图示出了错误栏的一个不例。图50是示出了由AMS GUI提供的添加用户视图的示例屏幕截图,该视图示出了错误栏的另一个示例。图51是在用于利用ACC的一个配置下的AMS的框图。图52是示出了图51所示的设备和ACC的其他细节的框图。图53是示出了图51和52所示的ACC的硬件组件的其他细节的框图。图54是示出了由ACC中的固件在通过各种状态进行转移中所执行的操作的序列的状态图。图55是示出了由ACC中的固件执行的弓丨导序列的流程图。图56是示出了由ACC中的固件执行的状态转移序列的流程图。图57a至57d是示出了针对图54和55所示的四个生命周期状态的子程序的流程图。图58是由ACC中的固件执行的命令解释器的流程图。图59是示出了由ACC中的固件执行的错误处理器程序的流程图。图60是示出了由ACC中的固件执行的休眠子程序的流程图。图61是示出了在装置和ACC之间的单一命令序列的流程图。图62是示出了在后端、装置和ACC之间的初始化协议的流程图。图63是示出了在后端、装置和ACC之间的密钥协定协议的流程图。图64是示出了在后端、装置和ACC之间使用机密消息协议进行认证的流程图。图65是示出了 MMO散列函数的框图。图66a至66f是示出了在虚拟库存的特征激活程序中执行的操作序列的流程图。
具体实施方式
传统的特征编程方案的问题在于其需要在可信环境中进行,对做出改变来说可能是耗费巨大的,并且一般不能容易地进行取消。同样地,已经认识到,在没有办法区分合法和非法的部分的情况下,正在将伪造或丢弃的芯片作为新的产品对待。在一些情况下,被指明为要被销毁的有缺陷的芯片不知何故被循环回到生产线上,而好的器件被抽掉并为便宜的竞争者或者不兼容的芯片所替换。结果,芯片供货商开始看到其品牌正被日益稀释,而因为这些非官方的芯片由于不满足规范而被返回,质量保证的成本增加了。当考虑到被设计来保护数字媒体所有者的商业权利的内容保护方案的增殖(proliferation)时,另一问题出现了。这些内容保护方案要求在制造过程中将每个设备唯一的密钥数据编程到各个设备中。作为这些内容保护方案的被许可者,半导体制造商变 得对内容保护密钥数据负有责任,并且当在其不可信的制造操作上分发内容保护密钥数据时,需要对该数据进行保护。当半导体制造商开始调整分布式制造模型时,其失去了对分布式制造操作的专有设备和制造数据的直接控制。除了内容保护密钥数据之外,专有数据的其他对外形式(例如,特征提供命令、软件/固件指令/机器代码以及设备个性化数据)必须分布并存储在整个不可信的制造操作中。还需要将专有制造数据存储在半导体公司的不可信的分布式制造操作中,并从该不可信的分布式制造操作中搜集专有生产数据。对内专有制造数据可以作为测试报告/程序、过程数据以及产量管理数据而存在。通过数字资产的安全管理来获得竞争优势,由此在给定的制造过程中可以存在提高底线的机会。下面,描述了提供解决方案框架的系统,该解决方案框架可以用于降低以上提到的浪费,并在各种应用中获得竞争优势。要描述的系统包括被部署和集成在多个物理位置上的制造过程中的若干软件和硬件组件。这样,创建可以提供综合性基础结构解决方案的制造平台。资产管理系统(AMS)在本文中,可以将上述制造平台称为资产管理系统(AMS),并如图I所示以数字10来表示。AMS 10是可以适于容纳各种服务的定制解决方案。例如,如下讨论的,可以将AMS 10配置为通过控制对对应资产的提供(provision)来执行以下一项或多项顺序化(serialization)、密钥注入以及特征激活。因此,资产可以指代要被添加到设备14、应用到设备14、与设备14相关联或者以其他方式绑定到设备14的任何数字数据。设备14可以是能够利用这种资产的任何组件或项。例如,设备14可以表示芯片、电路板、电子消费设备、计算机、处理器、存储器等。AMS 10创建对将资产提供或注入到设备14中进行控制的控制通道4,以及执行日志数据的收集以跟踪资产的分发和使用的审计通道6。以下将要描述的AMS 10的组件可以是全局分布的、本地实现的或者包括远程和本地组件的任何配置。AMS10使得公司可以管理和控制在全球外包制造环境上敏感的制造过程。AMS 10包括至少一个控制器22,其作为主服务器操作,并可以位于电子设备制造商的总部,以远程控制其在任何的全球位置的操作。控制器22可以在互联网或其他网络(未示出)上远程通信,以控制至少一个辅助的或者远程的服务器(本文中称之为装置18)。装置18可以位于不同的制造、测试或分发地点。控制器22和装置18包括硬件安全模块(HSM) 19,以执行敏感并高信任度的计算,存储敏感信息(如,私钥),执行其他加密操作并建立组件之间的安全连接。使用HSM 19来创建控制器22和装置18之间以及装置18与嵌入到设备14中的资产控制核心(ACC) 12中的安全的信任点之间的安全终端点。HSM19可以是提供添加功能模块(FM) 11的能力的标准现有组件,功能模块(FM) 11包括执行附加安全操作的源代码。例如,如下面将要进一步解释的,AMS 10使得可以计量所消费的资产的信用,HSM 19在利用FM 11时使得在HSM 19所创建的安全边界内安全地执行这种计量。使用FM 11提供了更大的灵活性,其中,可以通过可信的和安全的方式来执行操作,例如,除了加密和签名外的方式。FMll还提供更大的灵活性,其中,可以利用协议,例如,用来与ACC 12通信的ECMQV协议(稍后讨论)控制器22还提供图形用户界面(⑶1)8,以使得管理者、操作者和其他用户可以与控制器22、装置18以及更宽的AMS 10进行接合。装置18与至少一个代理20通信,其中,使用代理应用编程接口(API) 21将各个代理20集成到测试脚本或者其他生产程序中,并且在一些实施例中,使用在测试器16及其应用外部的单独过程中起到代理作用的守护程序(daemon) API 23将各个代理20集成到测试脚本或者其他生产程序中。测试脚本或生产程序一般是在生产线上被加载到测试器16上的定制应用。应该意识到,术语“测试器”可以表示用于向设备14注入或者以其他方式提供电子资产的任何制造或生产设备。装置18 —般位于可以与测试器16处于相同物理位置的生产地点,或者代之,可以远离测试器16并在LAN、WAN或者其他网络(未示出)上连接。如图I所示,可以用冗余架构来部署装置18 ( SP,使用附加的装置18’ ),以确保如果基本装置18或主装置18不能正常工作或者离线,提供附加的装置18’来进行接管并最小化生产停工期。在一些实施例中,通过代理20,AMS 10可以利用嵌入在设备14上的ACC 12来建立装置18和设备14之间的安全通信。使用AMS 10,可以创建并部署工厂提供系统,这可以降低收入损失,并可以开启与合作方和下游客户的新的收入共享机会。AMS 10还可以在整个制造过程中提高整体安全性和品牌保护,特别是当使用外包的承包人来生产高利润的设备时。可以通过以下方式来完成制造和分发过程中的这种收入损失降低使用AMS 10来帮助防止半导体和其他电子设备14中未授权的特征激活,降低过量的生产,降低库存和供应链成本,启动强有力的内置收入和品牌保护措施,以及开启从售后市场收入潜力中获益的新机会。图2示出了可以如何使用控制器22、装置18、代理20和ACC 12来向设备14定义、分发和应用资产,以及出于审计目的在各种阶段收集日志报告。在控制器22处,制造商(或者要提供的资产的拥有者)定义产品,即利用正在提供的特定类型的服务(例如顺序化、密钥注入、特征激活等)的对象。控制器22还定义与产品和应用于产品的服务相对应的资产类型。通过对资产和产品进行分别定义,在一些实施例中,唯一的产品名称可以使得不同类型的多个资产在一起传送。例如,可以传送密钥,同时激活一组特征,或者可以同时传送和注入密钥和序列号。这节省了时间和带宽,因为两个资产可以利用控制通道4的相同实例,以逐个产品的优化传送。控制器22产生、获取或者以其他方式导入多个资产,并且将该资产绑定到产品,这在资产和产品之间创建了关联,以使得服务的应用可以将资产注入或者添加到产品,并最终针对该产品生产至少一个设备14。然后,将产品与装置18绑定。还可以将产品与一个以上的装置18绑定,以使得AMS 10可以被配置为跨装置18分发产品的资产。如果正在不同的设施处生产相同类型的设备14,可以创建不同的产品,每个位置一种产品。例如,可以在若干地理位置中生产设备14,每个位置具有在不同生产设施处的装置18。然后,可以针对各个设施创建产品,并将其绑定到对应的装置18。可以注意到,装置18可以在一个以上的测试器16处为一个以上的代理20提供服务,并因此可以针对相同的装置18定义一个以上的产品。然后, 控制器22向装置18提供产品和对应的资产,存储这些资产并从而在装置18处提供该产品。控制器22同时记录发送产品和资产的事件,并等待来自装置18的成功接收和存储该资产的肯定应答(ACK)。装置18被配置为与至少一个代理20通信。代理20被配置为在生产或分发阶段利用资产。代理20从而请求其需要用来执行该阶段的资产。装置18计量并获得适当数量的资产,并记录该事件,以记录向特定代理20 (并从而特定的测试器16)的资产分配。然后,向代理20提供资产。然后,代理20可以开始循环,包括应用资产以及针对其所操作的各个设备14记录该事件。可以看出,当使用ACC 12时,执行与ACC12的交换,其细节在下面提供。在某些点处,例如在达到日志阈值时,代理20向装置18提供代理日志组,代理18存储该日志。在其他实施例中,装置18可以从代理20请求日志。然后,控制器22在某个稍后的点处(例如,在同步操作期间)请求针对与装置18相关联的产品的日志,并且向控制器22提供都由装置18存储的装置日志和代理日志。然后,控制器22可以存储这些日志,并使其可用于对其中包含的数据进行审计和其他后处理或者分析。通过在一个方向上控制分发,并在另一个方向上强制执行事件记录和事件收集,AMS 10能够提供对制造过程的控制。如上讨论的,可以将AMS 10配置为提供各种服务,例如顺序化、密钥注入和特征激活。可以使用图2中示例说明的控制和审计通道来实现这些服务。为了针对这些各种服务配置AMS 10的组件,控制器22、装置18、代理20和ACC 12应该具有特定的能力。现在将参照图3至6描述这些组件的其它细节。图3中更详细地示出了控制器22。可以将控制器22实现为安全强化的在机架上安装的系统,可以通过标准web浏览器100、100’的web接口来访问该系统。如图3所示,控制器22包括控制器22处的web浏览器可以访问或者web浏览器100’可以远程访问的⑶I8。⑶18基于web服务器104,web服务器104利用控制器守护程序106与装置18安全地进行通信(以S来表示),并且一般与数据库110没有安全措施(以U来表示)。报告工具108也可以安全地访问关系型数据库110,以获得日志记录以及其他用于产生报告的数据。可以使来自报告工具108或者任何类似应用的服务请求能够访问数据库110中的数据。利用数据库模式(schema)来用于日志的高效存储、服务模块所要求的数据的高效存储,以及当由服务模块要求时,对数据的高效查找。可以从数据库110导出来自所有服务模块的定制日志数据。在删除装置18之前,控制器22应该与装置18同步,以确保已经收集了所有日志。该示例中的控制器22还支持与控制器守护程序106 —起操作的命令行接口(CLI)工具102。如果使用该CLI工具102,CLI工具102应该提供与⑶I 8类似的功能。控制器22以指定的时间间隔自动同步装置18,以确保任何涉及服务的资产在其所指定的最大量,即,控制器确保装置18具有其需要用来根据意图进行操作的资产。可以提供只读同步模式来查询当前信用等级,而无需将任何的信用加满(top up)。还可以使用同步操作来发送装置配置设置,以及如图2所示从装置18取回日志。这使得如果连接暂时丢失,AMS 10可以在没有中断的情况下支持各个生产地点处的高速制造。控制器22还可以向指定的电子邮件地址发布警告,以告知操作者可能停止生产的条件,理想地,在这些条件产生结果之前告知。控制器22在若干环境下发布警告,例如当控制器不能够与装置18联系时,如果当控制器22向装置18发送数据时存在任何的错误(以及反之亦然),当同步操作失败时,当装置18中的资产数到达指定的告警等级时,当关于装置18的空闲磁盘空间到达最小时,以及当装置18已经阻挡了来自代理20的连接时(因为代理IP地址不在装置18所管理的列表中)。如下面更详细描述的,可以通过GUI 8来执行对这些警报的管理。
还使用控制器22来监视在AMS 10中运行的所有作业,例如同步操作以及其他长期运行的任务,可以监视其状况,并记录其进度。可以使作业信息在⑶I 8中可用。控制器22还使得操作者可以添加和移除用户角色(role)。可以向用户角色指派对AMS 10的各个组件进行访问的不同许可等级。将AMS 10产生的日志存储在关系型数据库110中。本示例中的控制器22在服务器硬件上运行,例如使用2x Intel Xeon quad core5300processor@3GHz的Dell 2950 PowerEdge 2U在机架上安装的服务器。控制器22还可以使用110/220伏特750瓦特的冗余功率模块、DVD ROM、双吉比特NIC以及PCIe升降器(riser)。控制器22要求例如针对HSM和SSL证书的导出PKCSlO请求来进行初始提供,由设备认证授权机构(CA)对证书签名,以及将SSL和HSM证书导入到HSM 19中。可以意识至IJ,也可以使用对各个HSM 19唯一的任何身份证书。控制器22应该使得可以配置常规设置,例如用于电子邮件警报的名称和SMTP设置。应该提供对多用户账户的支持,并且可以使用每个用户的许可矩阵来允许准许或者拒绝对AMS 10的各个部分的访问。这样,可以定义不同的用户角色,并且以每个模块为基础向各个用户角色给出不同许可。许可矩阵应该是可配置的,以使得客户可以定义这种许可并定义用户角色的数目,以在用户之间进行区分。控制器22对服务模块进行启用和禁用,以使得可以定义不同的服务产品,例如用于顺序化、密钥注入、特征激活等。控制器22还可以配置针对装置18的常规设置,设置是例如名称、制造商、位置、IP地址、端□号、套接字重试、套接字超时、发送/接收块大小以及已针对该装置22授权的代理20的列表。控制器22以可配置的时间间隔与各个装置18同步(例如,每30分钟)。然而,如果在下一次所调度的同步之前需要进行同步,控制器22还使得操作者可以立刻强制进行同步。控制器22提供对AMS 10的控制,并从而可以在添加新装置18之前对其授权。当从供应商发货时,装置18应该处于在使用前要求这种授权的状态。一旦授权已经成功完成,也可以执行控制器22对装置18的其他提供。控制器22还实现了信用系统,在该信用系统中,控制器22向装置18发布信用。不管何时装置18通过将资产提供给代理20 (如图2中所示)来消耗资产,信用都递减。操作者可以定义(最小和最大等级)告警,并且如果关于装置18的当前信用小于或等于告警等级,控制器22发布警报。如果关于装置18的当前信用小于最小等级,控制器22将信用加满到最大等级。如果装置18用完了信用,其不再可以向代理20提供资产。一般应该根据装置18而不是根据服务模块来分配信用。如上提到的,控制器22监视针对各个装置18的作业列表。这创建了允许与其他装置18相独立地为各个装置18提供服务的多线程设计。此外,可以并行并且独立于其他作业来执行各个装置18上的作业。这允许由分别的线程对多个Π请求进行处理,并允许由分别的线程对多个装置18连接进行处理,以使得与一个实体的通信部不干扰与另一个实体的通信,从而添加了 AMS 10的并行性。还监视各个装置18的健康度,包括空闲的和已使用的硬盘空间、 空闲的和已使用的存储器、诸如HSM 19的其他硬件组件的健康度、与控制器22的上一次通信的日期/时间、以及与各个代理20的上一次通信的日期/时间。控制器22提供ping工具以检查装置18的网络活跃度,该ping工具使用了控制器22和装置18之间的安全通信通道。还提供了时间同步工具来将各个装置18上的时间与控制器22同步,以确保控制器22和装置18上的系统时间和HSM时间在UTC中指定并且相同。控制器22还应该提供禁止装置18向代理提供服务的过程。可以提供适当的告警和确认,这种动作可以干涉或者甚至停止生产线。当被禁用时,装置18应该继续为控制器22提供服务。例如,当禁用装置18时,ping工具应该仍然工作。该功能使得操作者可以在检测到异常并要求补救动作的情况下通过装置18来控制其制造商。可以产生电子邮件警报来标记可能潜在地停止生产线的问题,并且可以指定多个电子邮件地址,以使得可以告知所有感兴趣或者被影响到的各方。控制器22还应该能够自动且手动触发对其自身的备份。在硬件故障或者其他事故的情况下,应该能够从备份将控制器22恢复到新的硬件或者现有的硬件。由控制器22来启用对装置软件的远程更新(包括HSM代码)以及控制器软件的本地更新(包括HSM代码)。控制器22管理被允许连接到各个应用的代理IP地址和子网的列表,并使得来自⑶I 8和CLI工具102的服务请求成为可能。如图I所示,一般以冗余对的方式来使用装置18,以用于故障检测和故障恢复(failover)。在冗余装置18、18’的情况下,可以向各个装置18、18’给出类似的资产量,每组具有不同的值。因此,如果一个装置18发生故障,代理20还可以从另一个装置18’获得资产,而不冒具有重叠资产的危险,特别是在资产必须是唯一的情况下。装置18还应该是安全加强的在机架上安装的系统。图4A中示出了装置18的示例配置的其他细节。装置18包括装置守护程序112,用于控制控制器22和代理20之间的通信,以提供安全通信通道;以及包括装置关系型数据库114,用于存储日志和其他数据。如上讨论的,装置18可以位于测试位置处、第三方制造商处、装配工厂处,或者任何的生产或分发位置。一个装置18为至少一个代理20提供服务,并且如果使用,装置18可以通过至少一个代理20与ACC 12通信。控制器至装置的通信应该是安全的,例如,使用SSL连接、受到保护以及相互认证。将从装置18至代理20的所有资产发布记录在活动日志中。当控制器22收集这些日志时,将其保存在数据库114中,并且如稍后讨论的,可以在GUI的报告视图中查看。当将新装置18添加到AMS 10时,其处于离线状态。然后,为了使用而激活装置18。一旦装置18是活跃的,在其可以开始产生服务之前,仍然需要对其进行同步。图4B示出了装置18的各种状态。装置18可以在与控制器22类似的硬件上运行,并且所有高信任度的计算将发生在HSM 19内部。装置18具有至少一个HSM 19,但是在一些实施例中,可以支持更多HSM19,以增强诸如ECMQV (稍后将讨论ECMQV的使用)之类的加密操作的性能。为了冗余和高可用性,应该成对提供装置18。冗余对中的装置18、18’都应该总是活跃的,因为代理20可以连接到其中的任一个。在控制器22上对装置18、18’分别进行配置。应该注意到,操作者应该确保在资产方面,装置18、18’都具有类似的配置。从容量规划的角度看,应该将每个对视为一个装置18,例如,你可以仅将该对的吞吐量预期为不超过单一装置18的吞吐量。可以针对SSL、HSM和ACC证书进行来自HSM 19的导出PKCSlO请求,并且证书应该由设备CA签名。然后,将证书导入HSM 19中。当装置18与测试器16互动时,高性能对最小化测试时间是极为重要的。因此,在可能之处应该进行协议优化。例如,可以在HSM 19中预先产生短时的公钥,以在装置-ACC协议中使用。与控制器22的用于传递定制数据和日志数据的通信也应该是高效的,以使得在其与代理20的互动中不影响到装置18的性能。装置18使用装置守护程序112处理来自控制器22和代理20的服务请求,并使用多线程,以使得可以通过与控制器22可以使用多线程进行并行操作的相同方式,彼此独立地为控制器22和代理20提供服务。这样,为控制器22给出单独的线程,并且为各个代理20给出单独的线程。应该将针对数据库114的模式设计为日志的高效存储、各个服务模块所请求的数据的高效存储、以及服务模块所请求的数据的高效查找。如图5所示,代理20是软件库,并且每个代理20都集成到客户的测试程序或脚本或者在生产线上被加载到测试器16 (被配置为对设备14进行测试的计算机)上的定制应用中,或者与之相集成。当可应用的情况下,代理20与ACC 12或软ACC 12’通信。当被配置为利用代理API 21时,代理API 21向装置18请求资产,并通过安全SSL连接发送回所使用的资产的日志。除了代理API 21之外,AMS 10支持守护程序API 23的使用,守护程序API 23派生出从装置18取回资产并向装置18提供资产的单独的过程(B卩,守护程序25),减少了测试器应用116所正在进行的一些工作。图6A示出了利用代理API 21的代理20的配置。代理API 21允许在测试器16上运行的测试应用116a连接到装置18,以取回资产并向装置18返回日志。可以看出,代理API 21直接集成在测试应用116a中,这给出了对如何以及何时在测试器16和装置18之间传送资产和日志的完全控制。如图6A所示,代理API 21从装置18获得资产数据分组120,以及任何的日志请求126。代理API 21还向装置18提供资产请求124,并提供所请求的日志报告122。现在转到图6B,可以使用守护程序API 23来替代代理API 21,以卸下管理资产和日志的责任。如图6B所示,守护程序API 21集成在测试应用116b中,以使其可以与单独的过程(守护程序25)通信,该单独的过程担当测试应用116b和装置18之间用于管理资产数据包120、日志报告122、资产请求124和日志请求126的交换的中介。守护程序API 23提供更简单的接口,并且可以被配置为运行守护程序25来作为后台过程。如图6B中所示,守护程序API 23提供与测试应用116b的接口,以在需要资产时获得该资产,并当在各个测试结束期间或结束时产生日志数据128的时候获得该日志数据128。为了获得资产并向装置18提供日志报告122,守护程序API 23运行单独的守护程序25以提供代理API 21,以避免测试应用116b必须在测试过程期间经常连接到装置18,从而节省了时间。守护程序25可以在使用代理API 21的时候请求一批资产,并在需要资产时通过守护程序API23向测试器16传送资产,以使得资产总是对测试器16可用,而不必连接到装置18。这样,测试应用116b仅需要与守护程序API 23进行接合,并从而通信,以获得资产并提供其日志数据(然后,守护程序25上的代理API 23将其打包进日志报告中)。守护程序25维持资产高速缓存130,以存储成批的资产来用于后续根据需要向测试器16分发,以及维持日志高速缓存132以在测试完成时存储测试应用116b输出的日志数据128,该日志数据要被组织进日志报告122中。守护程序API 23还可以具有资源管理子系统(RMS) 27,被配置为独立地实现并向守护程序25注册资源管理过程。这样,用户可以实现其自己的资源管理过程(在其自己的指示下),以判定何时取回资产、发送回日志等等,并且可以通过名称将该过程与特定的产品简档相关联。如图6B中所示地使用守护程序25和守护程序API 23提供了若干优势。通过使守护程序25维持或者高速缓存与装置18的连接,测试应用116b不需要重复地请求新的会话,从而节省了在测试环境中至关重要的时间。以及,守护程序25可以利用阈值来控制其在资产高速缓存130中存储多少资产。例如,当与低阈值交叉时,该低阈值可以使得守护程序23利用代理API 21来分别在不扰乱测试步骤的情况下从装置18获得新批次的资产以及同时继续转发仍然具有的资产。以及,已经发现,当装置18向测试应用116a直接提供多个资产时,例如,当发送一批密钥时,如果当测试应用116a终止时在其上还有剩余的资产,这些资产可能丢失,因为其可能被从测试器的存储器擦去。在这种情况下,AMS 10可能正在浪费资产,而至少一个实体可能损失收入或者不得不承担成本。通过如图6B所示将守护程序25与测试应用116b分离,在像这样的环境下,守护程序25和资产高速缓存130可以比测试应用116b存活得更长,并从而将不在没有恢复资产的机会的情况下浪费该资产。从而,如果守护程序25关闭,可以将剩余的资产标记为已浪费,并且可以产生日志报告并返回到装置18,以确保如果申请人允许,将剩余的量返还客户。在其他实施例中,可以简单地针对测试应用116b的下一个实例维持剩余资产。可以使用守护程序API 23来创建如图6B中所示的独立应用,或者在其他实施例中可以将守护程序API 23与测试应用116b—起嵌入。应该使用守护程序API来卸下对测试应用116b中的资产和日志报告122的管理。可以在客户端或服务器模式下创建守护程序API 23。在服务器模式下,其连接到装置18并自动管理资产的取回和日志报告122的发送。在客户端模式下,其针对AMS资产和日志而连接到已经在运行的服务器模式守护程序应用。还可以存在自动模式,在自动模式中,守护程序API 23取决于守护程序25的另一实例是否已经在运行来使用客户端或服务器模式。守护程序API 23使用用于AMS产品(或资产)和日志的管理的基于文本的配置指示。可以在编译时从文件或者从存储器读取这些指示。配置指示包括至少一个产品简档。产品简档包含=AMS产品的名称、用于登入装置18的连接凭证、资源管理过程以及过程设置。使用资源管理过程来管理与简档相关联的产品的资产以及日志。该过程包括针对资产加满等级的可配置指示(最小资产和最大资产)以及在其处自动向装置发送日志的阈值等级(最大日志)。由于典型地成对传送装置18,应该使用装置18、18’的IP地址和在装置故障的情况下从装置18到另一装置18’的故障切换来配置代理20。代理20应该报告任何的错误,例如,如果代理20不能够连接到装置18、18’中的一个。在连接错误的情况下,代理20在故障切换到另一装置18之前等待的时间应该是可配置的。ACC 12是集成在芯片的设计之中的小并且高效的加密安全引擎。将ACC 12集成到正在制造的设备14中,并从而ACC 12可以与AMSlO并行但是分开地建立。取决于应用, 可以在有ACC 12或者没有ACC 12的情况下使用AMS 10。例如,顺序化和密钥注入可以不要求ACC 12,但是特征激活服务模块一般要求ACC 12。然而,可以在涉及顺序化和密钥注入的应用中使用ACC 12。一般将ACC 12嵌入到SoC管芯中,然后将SoC管芯封装到芯片中,将芯片安装在印刷电路板(PCB)上,并最终装配到电子设备14中。可以当每个具有ACC 12的芯片一通过晶片测试时,就将其注册并登入到控制器的数据库110中,这进而可以跟踪经历了晶片测试的每个制造的芯片。ACC 12具有输出端口组,并且对这些输出的聚集进行的评估指示了要启用哪些特征,要禁用哪些特征。一旦装配了,ACC 12可以仍旧担当最终设备14上信任的根(root) ο将ACC 12设计为管理对非易失性存储器(NVM)的访问并保护NVM的特定区域免受未授权代理20的访问。ACC 12可以提供自含式的唯一设备ID(UID)产生,UID被用来唯一地标识ACC 12。ACC12还可以提供自含式的密钥产生,该密钥被用来开启与可信服务器的安全通信通道。ACC 12应该确保可信源使用可信装置进行特征的启用和禁用,并且ACC12应该能够发起或者禁用设备自测和健康检查,以确保没有对设备14进行篡改。ACC 12还可以在不管何时发布了太多无效命令时,使设备锁定。使用ACC 12处理来自装置18的命 令,并且可以将ACC 12编程为如果检测到指定数目的无效命令就关闭其自身。应该将ACC12设计为在任何电子制造测试环境中工作,因为AMS 10的安全特征不一定依赖于或能够信任装置18和ACC 12之间的数据链路。取而代之地,将安全性内置于使用加密的通信协议中。因此,AMS 10提供允许以安全可审计的方式在任何地方进行提供的能力从晶片加工到ODM到OEM到用户。为了保护ACC至装置通信通道,ACC 12使用非对称加密方案用于密钥交换,并且使用对称密钥加密来传递其与装置18之间的消息。非对称加密方案使用从隐秘的私钥产生的公钥。将私钥保持隐秘,而将公钥曝光。以安全、高度防篡改的设置来保护私钥是绝对必要的。通过能够内部地并且自动地产生唯一的私钥,以硬件和固件的组合来保护隐秘的密钥免于被曝光,所嵌入的ACC 12能够满足该要求。ACC12为各个设备14产生唯一的标识符,并通过与装置18的加密通道参与到设备14的跟踪和提供中。一旦双方对对称密钥取得一致,装置18就以安全的方式向ACC 12发布机密消息,在本文中将该机密消息称为特征控制票据(FCT)50。后面参照图51至66对ACC 12进行更详细的描述。如上讨论的为了实现AMS 10,应该进行各种安全考虑。如上提到的,控制器22和装置18中的所有高信任度的计算都应该发生在HSM 19内部,特别是以在制造商和另一实体之间的各种信任级别在该实体处运行的装置18上。当执行顺序化时,装置18应该仅能够基于从控制器22接收到的序列号模式(这种模式在下面描述)产生序列号。对于密钥注入,装置18应该仅能够对从控制器22直接接收到(即,不是从另一装置18接收到)的已排序的密钥进行解密。对于特征激活,装置18应该仅能够对从控制器22直接接收到(即,不是从另一装置18接收到)的FCT 50进行解密。应该保护AMS 10所使用的信用或计量方案,以使得装置18可以仅使用从控制器22直接接收到的信用通知。装置18应该仅使用来自控制器22的资产,从控制器22对其进行提供,以确保不能使用被错误地发送到另一装置18的资产。对于装置18,应该不可能使用来自另一装置18的信用通知,并且攻击者应该不可能添加、移除或者改变装置18上的信用的数目。然而,可以意识到,出于高可用性/故障切换的目的,如果确保唯一的资产不被使用一次以上的机制存在,可以将AMS 10配置为使得可以将一个装置18上的资产复制到另一装置18。为了管理控制器22,web浏览器100应该仅能够在https上访问web服务器104,并且应该保护通信,例如,相互认证、加密、完整性检查、回放保护等。应该如图3中所示地保护web服务器104和控制器守护程序106以及CLI工具102和控制器守护程序106之间的通信,例如,使用SSL。类似地,应该保护控制器22和装置18以及装置18和代理20之间的通信,例如,使用SSL。应该使用ACC协议来保护应用HSM19和ACC 12之间的通信,并且ACC 12应该对装置18进行认证。装置18不需要对ACC 12进行认证,因为ACC 12被视为可信的根。可以对从代理20到装置18到控制器22的日志进行加密,并且可以对该日志进行完整性保护,以防止偷听和篡改。只有控制器22应该能够对日志进行解密和验证。这些日志可以包括定制数据,例如,产量数据。应该加强控制器22和装置18以对抗攻击。将该加强应用到包括在HSM19上运行的OS和应用在内的OS和应用(例如,数据库110)。优选地,所有的证书都是 由可信设备CA发布的椭圆曲线加密(ECC)证书,它们由每个客户签名,且作为AMS子根证书。然后,可以将ECC证书用于web服务器104、控制器守护程序106、装置18以及代理20 (针对HSM证书、针对AMS 10中的每个HSM 19以及针对在与ACC 12的ECMQV协商中使用的ACC证书)中的各个之间的SSL。应该将客户名称嵌入到证书中,并对其进行检查,以使得通信仅发生在具有相同客户名称的端点之间。应该保护存储在数据库中的数据,以避免未授权的访问和修改。针对AMS的产品和服务模块在本文讨论的示例中,产品是模型,其向AMS 10提供产品名称、其标识、其提供的服务、哪些装置18产生该产品以及资产列表。例如,资产可以是顺序化模式的聚集以及被应用了该模式聚集的装置18的列表。类似地,资产可以是密钥类型的聚集以及被应用了该密钥类型聚集的装置18的列表。在又一个示例中,资产可以是FCT 50的聚集以及对应的装置18的列表。本文中所讨论的服务模块确定各个AMS组件(控制器22、装置18、代理20和ACC 12)在生产过程中提供什么。在下面的示例中,AMS 10可以定义用于顺序化、密钥注入和特征激活的服务模块,然而,将要意识到,可以应用其他服务模块来传送和提供其他类型的资产。图7A、7B和7C中分别示出了顺序化、密钥注入和特征激活模块配置的示例。顺序化首先转向图7A,顺序化服务模块是用于提供产生、向芯片(或者其他电子对象或设备)指派以及跟踪唯一序列号的安全手段的AMSlO的配置。为了提供该服务,使用控制器22来定义产品模型,然后定义要绑定到各个产品模型的至少一个顺序化模式134。各个顺序化模式134包含针对特定产品(例如,设备14)的序列号范围。不管同步操作何时发生,在制造商位置处,在安全、加密的连接上(例如,在SSL上)向装置18发送序列号模式134,一般是自动进行的。然后,代理20可以使用代理API 21或者守护程序API 23,通过产品名称请求序列号值。序列号由装置18产生,计量,并向代理20提供。然后,使用代理20在芯片制造过程中将序列号顺序地注入到各个管芯中。控制器22跟踪针对各个顺序化产品,已经消耗了多少序列号,并在⑶18中使这些结果可用。顺序化模式134是对与如何产生序列号有关的规则进行定义的对象。例如,其确定序列号数字是以十六进制还是十进制的形式呈现,以及是否包括固定的字符串。虽然可以将至少一个顺序化模式134与顺序化产品绑定,特定的模式134仅可以绑定到一个产品。绑定到产品的顺序化模式134不能重叠,并且一旦绑定,就不应对模式134解绑。针对其他改变,例如,改变已经插入的静态字符串,应该创建新的顺序化模式134。如果将一个以上的模式134绑定到相同的产品,应该以优先级顺序对这样的多个模式134进行指派。当请求针对产品的序列号串时,从具有最高优先级的模式134给出序列号。如果模式134耗尽(即,来自模式134的计数值已经全部被指派),那么使用具有次最高优先级的模式。可以将顺序化产品绑定到一个以上的装置18,各个绑定具有最小和最大的库存等级。可以使用控制器22来确保绑定到多个装置18的产品具有不重叠的序列号范围。当将产品绑定到装置18时,控制器22将序列号的库存保持在指定的最大等级。一旦已经从控制器22向装置18发送了该库存,就不应该能够召回或者撤销这些序列号值。序列号模式124可以描述如何将基本值变换为序列号串。在本示例中,术语“序列号基本值”指代任何正的64比特整数,并且不应该将其与底值属性相混淆。序列号模式134具有若干属性开始、数目、底值以及总字符。开始和数目值限定了模式中允许的基本值的范围。底值属性确定了当基本值变换到序列号串时,用以10为底还是以16为底的格式来表示基本值。总字符属性限定了当将基本值表示为序列号串时,要使用多少字符。可以在序列号串中的任何位置处插入零个或者更多个静态字符串。可以注意到,应该不能够指定比用于表示模式134中的最大值所需的字符的最小数目更少的数目。例如,如果模式134以O开始,并且数目为1000,那么应该有三个或者更多字符,因为方案限定了范围
并且需要3个字符来表示999。给定序列号模式134和基本值,如下构建序列号串a)基本值必须在[开始值,开始值+数目-I]的范围内;b)然后,以指定的格式表示基本值;c)然后,取决于总字符属性,或者从左边(或者最高位端)截断所产生的字符串,或者在左边以零来填充。d)然后在所产生的字符串中插入任何的静态字符串。示例A :如果模式A=(开始=I,数目=100,字符=4,底值=16)并且基本值=55,结果是序列号0037。这是因为55在范围之内,55的十六进制格式是37,并且需要4个字符,从而填充两个零。如果基本值=3,结果是序列号0003。示例B:如果模式B=(开始=I,数目=100,字符=3,底值=10,静态字符串I=(位置=3,字符串=X),静态字符串2 =(位置=1,字符串=_))并且基本值=56,结果是序列号字符串0-56X。这是因为56在范围之内,56已经是以10为底的格式,将X插入在位置3处(即,最低位端的位置)并将破折号(_)插入在位置I处(即,最高位端的位置)。使用零来填充序列号字符串,因为56仅是两个字符。如果基本值=1,结果是序列号字符串0-0IX,以两个零来填充。当从控制器22向装置18发送序列号模式时(记录为控制器活动日志),当装置18产生序列号并向代理20发送时(记录为装置活动日志),以及将由代理20使用序列号时(记录为代理活动日志),顺序化服务模块创建日志。将所有日志保存在控制器22上(在收集之后)并且可以用于监视和跟踪序列号。每次向代理20发布序列号时,进行发布的装置的信用递减1,并且针对该产品的序列号库存也递减。在控制器22和装置18之间的同步操作期间,对这两个等级都进行补充,并且它们都用于计量装置18的序列号使用。图8示出了用于基于图2所示的基本AMS序列图来实现顺序化服务模块的序列 图。在图8中可以看出,控制器22产生顺序化模式134,将其与产品绑定,然后将产品与装置18绑定,并向装置18发送该产品和模式,由此产生和计量序列号。
转回到图7A,示出了顺序化产品工作流程。在该示例中,通过对顺序化模式进行文件编制,并向AMS管理者传送所提出的模式,商业管理者可以定义顺序化模式。然后,AMS管理者可以使用控制器⑶I 8来产生顺序化模式134。商业管理者还可以定义顺序化产品,对该产品定义编制文件并向AMS管理者传递该定义。然后,AMS管理者可以使用控制器GUI8,根据该定义创建顺序化产品。然后,AMS管理者将序列号模式与产品绑定,将产品与装置绑定,并使用控制器22来与装置18同步序列号模式。装置18然后使用代理20来注入序列号,例如,根据图8中示出的序列进行注入
当被定义时,AMS 10为顺序化产品指派唯一的产品ID,并由操作者提供唯一的标识名称,以与其他产品加以区分。针对各个顺序化产品,装置18可以直接向代理20传送序列号或者可以经由FCT 50传送序列号。如果经由FCT 50传送序列号,那么操作者将(在下面提供的示例中)需要在要存储序列号的ACC 12内指定2字节的存储器偏移(十六进制),并且还指定了 8字节的记录标签值(十六进制)。装置18从控制器22接收序列号产品/模式,响应来自代理20的针对序列号的请求,基于序列号模式134产生序列号,计量序列号,从代理20接收回日志,并将日志发送回控制器22。针对向代理20传送的每个序列号,装置信用减少1,且如果信用到达零(0),不应再传送序列号。当要经由FCT 50传送序列号时,不应该能够直接进行传送,S卩,装置18应该拒绝任何这样的请求。同样地,当经由FCT 50传送时,装置18中的记录应该与直接传送序列号时相同,除非还应该记录ACC UIDjo应该对可配置的接收块大小进行调节(在单个块中从装置18返回的日志数)。当经由FCT 50传送序列号时,应该保护ACC旗标、记录标签和存储器地址数据在装置18上免受篡改。代理20应该能够使用代理API 21或守护程序API 23,通过顺序化产品名称和数目从装置18请求序列号。代理20还应该支持用于传送的两种机制,即直接或者经由FCT50。代理20应该记录各个序列号的使用,并向装置18返回日志。代理20还应该将已丢弃的序列号记录为已浪费。当经由FCT 50传送序列号时,代理中的记录应该与直接传送序列号时相同,除非还应该记录ACC UID0如上讨论的,代理20从测试应用116b获得日志数据128,例如,当使用守护程序API 23时。已经发现,AMS 10提供的审计通道使得在制造过程期间能够进行各种相关。例如,当在测试器16中向芯片添加序列号时,测试器16 —般知道特定芯片在晶片上的位置。可以将该位置信息与所添加的序列号一起加以记录,并最终由控制器将该信息存储到关系型数据库HO中。这样,在稍后的时间,如果在制造过程中芯片测试不成功,可以使用该关系型数据库110,将失败的芯片的序列号与其在管芯上的位置相关,以确定是否在机器内的过程或者位置的特定部分中发生故障。在另一示例中,可以使用与序列号的添加相关联的时间戳来跟踪特定机器在特定时间的故障,或者甚至在所谓的芯片盗窃中识别特定的雇员。因此,审计通道6和关系型数据库110可以用于各种数据挖掘和分析,以提高责任承担以及识别和矫正制造过程中的故障的根本原因。密钥注入现在转回到图7B,密钥注入服务模块是对将密钥注入到产品中的安全手段(例如,设备14)进行提供的AMS 10的配置。为了提供该服务,使用控制器22来定义至少一个密钥类型138。密钥类型138定义了密钥在文件中的格式。然后,如图7B中仅以示例的方式示出的,使用控制器22来定义产品模型140,然后将至少一个密钥类型138与各个产品模型140绑定。已经发现,通过将密钥直接添加到产品定义而不将密钥类型与产品分开,根据客户在不同的应用中定义项目名称和产品类型的不同方式,可能发生混淆。例如,如果将多个密钥类型添加到“产品桶(product bucket) ”中,则在产品信用低的时候,就可能难以确定哪个密钥低,并从而难以知道加满哪个密钥。通过如图7B所示将密钥类型138与产品140分开,提供了附加的抽象等级,以更接近地反映客户一般如何利用资产。这样,可以使用控制器22来定义产品类型140,该产品类型140可以形成至少一个密钥类型138以及其他资产的“二进制数据块(blobs) ”,以避免不注意地载入不正确的密钥,并更好地对各个密钥类型138的实际库存等级进行跟踪。由此,当导入密钥时(例如在如图7B中所示的DVD136上),根据密钥类型将密钥分隔在截然不同的“桶”中,而不是试图向特定产品直接分配密钥,然后在没有必要地将针对该产品类型140使用的密钥的数目和类型进行逻辑相关的情况下,由不同的名称来指代该特定的产品。取而代之地,通过密钥类型138来对密钥进行简单分隔,然后通过产品类型140抽象的方式来定义客户定义的关联。同样地,当定义产品 140时,可以建立特定的许可,以使得产品140仅使用特定的密钥类型,例如,来自于特定的分销商。由于可以根据各种合同约束提供特定的密钥类型138,对密钥类型138的分隔和分配进行的更好控制确保了遵守这种合同约束。图7B中还示出了密钥转换139,可以通过客户特定的方式来使用密钥转换139,以修改特定的密钥类型138。如图7B所示,可以在导入密钥时应用密钥转换139,例如,是否该密钥类型138的密钥总是要以该种方式转换,以使得可以对所变换的密钥类型138进行定义。备选地,可以在进行传送之前或者传送时应用密钥转换139,其中,在产品特定的基础上或者在应用特定的基础上对密钥进行转换。在又一个备选中,可以在向代理20传送密钥之前在装置18处应用密钥转换139。当确定在何处应用密钥转换139时,应该基于密钥转换139位于何处来进行安全考虑,例如,当由于装置18位置处的较低可信度,导致在装置18处要求较高安全性。可以注意到,通过如图所示分隔密钥类型138和产品类型140,可以将转换139与产品140而不是密钥类型138相关联,以最小化所要求的密钥类型138的数目。换言之,当导入时,可以将密钥类型138分隔地存储,并且根据产品类型140执行密钥转换139,以避免添加又一个密钥类型138以及这可能导致的潜在混淆。一旦定义了密钥类型138,可以使用⑶I 8将该类型的密钥从密钥文件(例如,经由DVD 136)导入到控制器22上。然后,操作人员可以使用⑶I 8来指定要向装置18发送的密钥的数目。如果已经定义了散列,那么AMS 10验证该散列值。不管同步操作何时发生,在安全、加密的连接上(例如,SSL)向在制造商位置处的装置18发送密钥,在本示例中,自动地发送。然后,可以使用代理API 21或守护程序API 23,通过产品名称请求密钥。当代理20取回密钥时,其请求产品或者该产品的单位数目。装置18查询与该产品绑定的所有密钥类型,并返回针对各个密钥类型的指定数目的密钥。然后,代理20将密钥注入到装配线上的每个管芯中。可以将密钥注入产品绑定到至少一个装置18,各个绑定具有最小和最大的库存等级。当将产品绑定到装置18时,控制器22将其密钥的库存保持在指定的最大等级。一旦已经从控制器22向装置18发送了库存,便不能召回或者撤销密钥。控制器22跟踪针对各个密钥类型138已经注入了多少密钥,并使得这些结果在⑶I 8上可获得。图9示出了用于执行密钥注入服务的示例序列图。可以看出,当与顺序化相比较时,密钥注入也具有将密钥从文件导入的步骤,然而,可以意识到,也可以由控制器22产生密钥,并且是在定义密钥类型的时候进行。因此,图9中示出的序列仅用于示出的目的。当实现针对密钥注入的AMS 10时,在将密钥数据导入到控制器22上后,不应该以明文方式存储密钥数据。解密仅应该发生在装置18向代理20传送密钥时,除非使用了 ACC12,在使用ACC 12的这种情况下,不对数据解密,直到ACC 12对该数据进行了处理(S卩,通过处理FCT 50内的密钥)。密钥类型138具有定义了文件中的密钥格式的若干属性。针对HDCP_TX密钥,下面在表I中提供了一般的密钥类型定义。
名称HDCP—TX 最小长度为I个字符并且最大长度
为256个字符的字符串,其唯一地
__标识密钥类型。_
总长度308__密钥字节流的总长度。_
密钥唯一 id O密钥字节流中基于O的偏移,在其
偏移___中可以发现密钥标识符。_
密钥唯一 id 8密钥标识符的长度。
长度___
密钥数据偏 8 密钥字节流中基于O的偏移,在其 __中可以发现密钥数据_
权利要求
1.一种用于管理电子资产的方法,所述方法包括 提供能够通信连接到控制器的装置,所述装置被配置为从所述控制器获得电子资产,所述装置向多个代理提供通信连接,所述多个代理被配置为将所述电子资产应用到设备;以及 能够在所述装置上针对所述控制器和每个代理发起单独的线程,以使得所述装置能够在并行线程中从所述控制器获得资产并将所述电子资产分发至所述代理。
2.根据权利要求I所述的方法,其中,所述装置包括在远离所述控制器的制造设施处的服务器。
3.根据权利要求I或2所述的方法,其中,所述并行线程独立操作,以将一个线程上的连接延迟与另一个线程分离。
4.一种包括计算机可执行指令的计算机可读介质,当执行所述计算机可执行指令时,所述计算机可执行指令使计算设备 提供能够通信连接到控制器的装置,所述装置被配置为从所述控制器获得电子资产,所述装置向多个代理提供通信连接,所述多个代理被配置为将所述电子资产应用到设备;以及 能够在所述装置上针对所述控制器和每个代理发起单独的线程,以使得所述装置能够在并行线程中从所述控制器获得资产并将所述电子资产分发至所述代理。
5.一种包括处理器、存储器在内的装置设备,所述装置设备能够与控制器设备通信连接以及能够与多个代理通信连接,所述装置设备被配置为 通信连接到控制器,从所述控制器获得电子资产,向多个代理提供通信连接,所述多个代理被配置为将所述电子资产应用到设备;以及 能够在所述装置上针对所述控制器和每个代理发起单独的线程,以使得所述装置能够在并行线程中从所述控制器获得资产并将所述电子资产分发至所述代理。
6.一种用于管理电子资产的方法,所述方法包括 提供被配置为获得电子资产并向至少一个装置提供所述电子资产的控制器,所述控制器包括至少一个用户界面n;以及 能够在所述控制器上针对每个n连接并针对所述至少一个装置中的每一个装置发起单独的线程,以使得所述控制器能够在并行线程中分发所述资产并处理UI交互。
7.根据权利要求6所述的方法,其中,所述控制器包括远离至少一个制造设施的服务器,所述至少一个制造设施包括所述多个装置中的相应装置。
8.根据权利要求6或7所述的方法,其中,所述并行线程独立操作,以将一个线程上的连接延迟与另一个线程分离。
9.一种包括计算机可执行指令的计算机可读介质,当执行所述计算机可执行指令时,所述计算机可执行指令使计算设备 提供被配置为获得电子资产并向至少一个装置提供所述电子资产的控制器,所述控制器包括至少一个用户界面n ;以及 能够在所述控制器上针对每个n连接并针对所述至少一个装置中的每一个装置发起单独的线程,以使得所述控制器能够在并行线程中分发所述资产并处理n交互。
10.一种包括处理器、存储器、至少一个用户界面的控制器设备,所述控制器设备能够通信连接到多个装置,所述控制器设备被配置为 获得电子资产并向至少一个装置提供所述电子资产,所述控制器包括至少一个用户界面UI ;以及 能够在所述控制器上针对每个n连接并针对所述至少一个装置中的每一个装置发起单独的线程,以使得所述控制器能够在并行线程中分发所述资产并处理n交互。
11.一种在制造过程中对向测试应用分发电子资产进行控制的方法,所述方法包括 在所述测试应用上提供守护程序应用编程接口 api,以当检测到针对资产的请求时提供资产,以及在测试期间从所述测试应用获得日志数据; 发起与所述守护程序API有关的守护程序,以从所述守护程序API获得所述日志数据以及向所述守护程序API提供所述资产,所述守护程序作为用于与远离所述测试应用的装置进行通信的代理API的宿主; 利用所述代理API,以获得包括多个资产在内的一批资产并与所述测试应用相分离地提供包含所述日志数据在内的至少一个日志报告;以及 对所述资产进行高速缓存,以在所述守护程序API进行请求时向所述守护程序API提供一定数量的所述资产,使得所述守护程序API能够向所述测试应用提供所述资产,从而避免在所述测试应用和所述装置之间建立用于获得所述电子资产的会话。
12.根据权利要求11所述的方法,还包括 对所述日志报告进行高速缓存;以及 向所述装置提供所述日志报告。
13.根据权利要求11或12所述的方法,其中,所述守护程序API包括资源管理系统,用于实现资源管理过程,以及将所述过程注册到所述守护程序,以指示何时获取所述资产并发送回日志数据。
14.根据权利要求13所述的方法,其中,所述资源管理系统通过名称将所述过程与特定产品简档相关联。
15.根据权利要求13或14所述的方法,其中,所述守护程序保留在所述测试应用终止时未使用的资产的记录。
16.—种包括计算机可执行指令的计算机可读介质,当执行所述计算机可执行指令时,所述计算机可执行指令使至少一个计算设备 在所述测试应用上提供守护程序应用编程接口 API,以当检测到针对资产的请求时提供资产,以及在测试期间从所述测试应用获得日志数据; 发起与所述守护程序API有关的守护程序,以从所述守护程序API获得所述日志数据以及向所述守护程序API提供所述资产,所述守护程序作为用于与远离所述测试应用的装置进行通信的代理API的宿主; 利用所述代理API,以获得包括多个资产在内的一批资产并与所述测试应用相分离地提供包含所述日志数据在内的至少一个日志报告;以及 对所述资产进行高速缓存,以在所述守护程序API进行请求时向所述守护程序API提供一定数量的所述资产,使得所述守护程序API能够向所述测试应用提供所述资产,从而避免在所述测试应用和所述装置之间建立用于获得所述电子资产的会话。
17.一种用于在资产管理系统中远程分离的模块之间进行安全通信的方法,所述方法包括 在所述系统中的每个模块处提供用于在安全边界中执行敏感操作的硬件安全模块HSM ;以及 在每个HSM中提供包括源代码在内的功能模块,所述源代码用于实现对所述安全边界中的所述操作进行保护的非传统操作。
18.一种硬件安全模块HSM,包括 安全边界,用于执行敏感操作;以及 功能模块,包括用于实现对所述安全边界中的所述操作进行保护的非传统操作的源代码。
19.一种用于向设备分发电子资产的方法,所述方法包括 定义要添加到设备的第一资产; 定义要添加到所述设备的第二资产; 定义产品类型并将所述第一资产和所述第二资产与所述产品类型相关联;以及 针对与所述产品类型相关联的每个设备,同时分发所述第一资产和所述第二资产。
20.根据权利要求19所述的方法,其中,所述第一资产是以下各项之一 序列号、密钥以及特征集合。
21.根据权利要求19或20所述的方法,其中,所述第二资产是以下各项之一 序列号、密钥以及特征集合。
22.—种包括计算机可执行指令的计算机可读介质,当执行所述计算机可执行指令时,所述计算机可执行指令使计算设备 定义要添加到设备的第一资产; 定义要添加到所述设备的第二资产; 定义产品类型并将所述第一资产和所述第二资产与所述产品类型相关联;以及 针对与所述产品类型相关联的每个设备,同时分发所述第一资产和所述第二资产。
全文摘要
提供资产管理系统,包括作为主服务器操作并位于电子设备制造商的总部处的至少一个控制器,以远程控制它们在任何全球位置处的操作。控制器可以通过互联网或其他网络远程通信,以控制至少一个辅助或远程服务器,本文中将辅助或远程服务器称为装置。装置可以位于不同的制造、测试或分发地点。控制器和装置包括硬件安全模块(HSM),用于执行敏感的和高信任度的计算,存储敏感信息(比如私钥),执行其他加密操作,并在组件之间建立安全连接。HSM用于创建在控制器和装置之间的安全端点,以及创建在装置和设备中嵌入的资产控制核心中的安全信任点之间的安全的端点。
文档编号G06Q10/06GK102625939SQ201080030994
公开日2012年8月1日 申请日期2010年7月12日 优先权日2009年7月10日
发明者基尔安·史密斯, 托马斯·鲁道夫·施蒂默林, 理查德·格温·琼斯, 金·哈克·源 申请人:塞尔蒂卡姆公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1