專利名稱:用于管理電子資產(chǎn)的系統(tǒng)和方法
技術領域:
以下涉及用于管理電子資產(chǎn)的系統(tǒng)和方法。
背景技術:
在可以產(chǎn)生被視為“浪費”的制造過程中存在著各種因素。這些因素可以包括缺陷、庫存(過量、冗余等等)、過量生產(chǎn)、過度加工、移動、運輸以及等待。此外,存在可能歸因于外部原因(例如,克隆、拷貝、技術轉讓和失竊(物理失竊和IP失竊都有))的花費。同樣地,如今位于各種消費和商業(yè)產(chǎn)品的中心的是系統(tǒng)級芯片(SoC),在SoC中,將很多特征集成在單一的硅片上。制造商可以在不同平臺中使用相同的SoC,同時啟用或者禁用各種特征,以區(qū)分市場上的最終產(chǎn)品。對特征的未授權的啟用代表了公司的重大收入損失。傳統(tǒng)的特征編程方法包括通過不同的掩模(mask)組對SoC硅進行完全定制;使用可以被選擇性“熔斷(blown)”以對特征進行控制的硅熔斷器(fuse);使用主板上的跳線;以及根據(jù)產(chǎn)品加載不同的組件和固件。特征的提供發(fā)生在各個制造位置處,該各個制造位置的設施執(zhí)行一系列生產(chǎn)步驟,包括芯片的晶片制作、裝配、封裝、測試和系統(tǒng)集成,在系統(tǒng)集成中,將組件和固件集成在最終的產(chǎn)品或組合裝置中。這些制造位置一般在國外,并處于將合同制造外包給這些設施的半導體公司的控制之外。結果,對于半導體公司來說,沒有理由相信所分發(fā)的制造設施對專有和敏感數(shù)據(jù)的分發(fā)和搜集的管理,該專有和敏感數(shù)據(jù)是例如特征提供命令、內(nèi)容保護密鑰數(shù)據(jù)、軟件/固件代碼鏡像、測試結果和產(chǎn)量報告數(shù)據(jù)。假定這種SoC所具有的價值,以及半導體公司將制造、裝配和其產(chǎn)品分發(fā)外包的趨勢,由于缺少可信的制造過程,多個新的問題開始出現(xiàn)
發(fā)明內(nèi)容
現(xiàn)在將參照附圖,描述僅作為示例的實施例,其中圖I是資產(chǎn)管理系統(tǒng)(AMS)的框圖。圖2是示出了由圖I的AMS所執(zhí)行的用于向設備提供資產(chǎn)的示例操作的序列圖。圖3是示出了圖I所示的控制器的一個實施例的細節(jié)的框圖。圖4A是示出了圖I所示的裝置的一個實施例的細節(jié)的框圖。圖4B是示出了圖4A所示的裝置的狀態(tài)轉移的狀態(tài)圖。圖5是示出了圖I所示的測試器和代理的一個實施例的細節(jié)的框圖。
圖6A是圖I所示的代理API的一個實施例的細節(jié)的框圖。圖6B是圖I所示的守護程序API的一個實施例的細節(jié)的框圖。圖7A是示出了 AMS的配置的框圖,該AMS用于執(zhí)行順序化以及模式(schema)定義作業(yè)流程示例。圖7B是示出了用于 執(zhí)行密鑰注入的AMS的配置的框圖。圖7C是示出了用于執(zhí)行特征激活的AMS的配置的框圖。圖8是示出了用于使用AMS來執(zhí)行順序化的示例操作集合的序列圖。圖9是示出了用于使用AMS來執(zhí)行密鑰注入的示例操作集合的序列圖。圖IOA至IOB是示出了用于使用AMS來執(zhí)行特征激活的示例操作集合的序列圖。圖11是示出了圖I所示的AMS圖形用戶界面(GUI)所提供的快速狀況視圖的示例屏幕截圖。圖12是示出了由AMS⑶I提供的裝置視圖的示例屏幕截圖。圖13是示出了由AMS⑶I提供的具有警報欄的裝置視圖的示例屏幕截圖。圖14是示出了由AMS⑶I提供的主狀況視圖的示例屏幕截圖。圖15是示出了由AMS⑶I提供的警報視圖的示例屏幕截圖。圖16是示出了 3行縮放模式下由AMS⑶I提供的作業(yè)視圖的示例屏幕截圖。圖17是示出了 I行縮放模式下由AMS⑶I提供的作業(yè)視圖的示例屏幕截圖。圖18是示出了細節(jié)縮放模式下由AMS GUI提供的作業(yè)視圖的示例屏幕截圖。圖19是示出了由AMS⑶I提供的報告視圖的示例屏幕截圖。圖20是示出了由AMS⑶I提供的產(chǎn)生報告視圖的示例屏幕截圖。圖21是示出了由AMS⑶I提供的報告屏幕的示例屏幕截圖。圖22是示出了由AMS⑶I提供的控制器視圖的示例屏幕截圖。圖23是示出了由AMS⑶I提供的修改控制器視圖的示例屏幕截圖。圖24是示出了 3行縮放模式下由AMS⑶I提供的裝置視圖的示例屏幕截圖。圖25是示出了 I行縮放模式下由AMS⑶I提供的裝置視圖的示例屏幕截圖。圖26是示出了細節(jié)縮放模式下由AMS⑶I提供的裝置視圖的示例屏幕截圖。圖27是示出了由AMS⑶I提供的ping裝置視圖的示例屏幕截圖。圖28是示出了由AMS⑶I提供的同步裝置視圖的示例屏幕截圖。圖29是示出了由AMS⑶I提供的修改裝置視圖的示例屏幕截圖。圖30是示出了由AMS⑶I提供的去激活裝置視圖的示例屏幕截圖。圖31是示出了由AMS⑶I提供的移除裝置視圖的示例屏幕截圖。圖32是示出了 3行縮放模式下由AMS⑶I提供的產(chǎn)品視圖的示例屏幕截圖。圖33是示出了 I行縮放模式下由AMS⑶I提供的產(chǎn)品視圖的示例屏幕截圖。圖34是示出了細節(jié)縮放模式下由AMS GUI提供的產(chǎn)品視圖的示例屏幕截圖。圖35是示出了由AMS GUI提供的添加產(chǎn)品視圖的示例屏幕截圖。圖36是示出了 3行縮放模式下由AMS GUI提供的順序化模式視圖的示例屏幕截圖。圖37是示出了 I行縮放模式下由AMS GUI提供的順序化模式視圖的示例屏幕截圖。
圖38是示出了細節(jié)縮放模式下由AMS GUI提供的順序化模式視圖的示例屏幕截圖。圖39是示出了由AMS GUI提供的添加模式視圖的示例屏幕截圖。圖40是示出了 3行縮放模式下由AMS GW提供的密鑰類型視圖的示例屏幕截圖。圖41是示出了 I行縮放模式下由AMS GUI提供的密鑰類型視圖的示例屏幕截圖。圖42是示出了細節(jié)縮放模式下由AMS GUI提供的密鑰類型視圖的示例屏幕截圖。 圖43是示出了由AMS GUI提供的添加密鑰類型視圖的示例屏幕截圖。圖44是示出了 3行縮放模式下由AMS GUI提供的特征控制票據(jù)視圖的示例屏幕截圖。圖45是示出了 I行縮放模式下由AMS GUI提供的特征控制票據(jù)視圖的示例屏幕截圖。圖46是示出了細節(jié)縮放模式下由AMS GUI提供的特征控制票據(jù)視圖的示例屏幕截圖。圖47是示出了由AMS⑶I提供的用戶視圖的示例屏幕截圖。圖48是示出了由AMS GUI提供的添加用戶視圖的示例屏幕截圖。圖49是示出了由AMS GUI提供的添加用戶視圖的示例屏幕截圖,該視圖示出了錯誤欄的一個不例。圖50是示出了由AMS GUI提供的添加用戶視圖的示例屏幕截圖,該視圖示出了錯誤欄的另一個示例。圖51是在用于利用ACC的一個配置下的AMS的框圖。圖52是示出了圖51所示的設備和ACC的其他細節(jié)的框圖。圖53是示出了圖51和52所示的ACC的硬件組件的其他細節(jié)的框圖。圖54是示出了由ACC中的固件在通過各種狀態(tài)進行轉移中所執(zhí)行的操作的序列的狀態(tài)圖。圖55是示出了由ACC中的固件執(zhí)行的弓丨導序列的流程圖。圖56是示出了由ACC中的固件執(zhí)行的狀態(tài)轉移序列的流程圖。圖57a至57d是示出了針對圖54和55所示的四個生命周期狀態(tài)的子程序的流程圖。圖58是由ACC中的固件執(zhí)行的命令解釋器的流程圖。圖59是示出了由ACC中的固件執(zhí)行的錯誤處理器程序的流程圖。圖60是示出了由ACC中的固件執(zhí)行的休眠子程序的流程圖。圖61是示出了在裝置和ACC之間的單一命令序列的流程圖。圖62是示出了在后端、裝置和ACC之間的初始化協(xié)議的流程圖。圖63是示出了在后端、裝置和ACC之間的密鑰協(xié)定協(xié)議的流程圖。圖64是示出了在后端、裝置和ACC之間使用機密消息協(xié)議進行認證的流程圖。圖65是示出了 MMO散列函數(shù)的框圖。圖66a至66f是示出了在虛擬庫存的特征激活程序中執(zhí)行的操作序列的流程圖。
具體實施方式
傳統(tǒng)的特征編程方案的問題在于其需要在可信環(huán)境中進行,對做出改變來說可能是耗費巨大的,并且一般不能容易地進行取消。同樣地,已經(jīng)認識到,在沒有辦法區(qū)分合法和非法的部分的情況下,正在將偽造或丟棄的芯片作為新的產(chǎn)品對待。在一些情況下,被指明為要被銷毀的有缺陷的芯片不知何故被循環(huán)回到生產(chǎn)線上,而好的器件被抽掉并為便宜的競爭者或者不兼容的芯片所替換。結果,芯片供貨商開始看到其品牌正被日益稀釋,而因為這些非官方的芯片由于不滿足規(guī)范而被返回,質量保證的成本增加了。當考慮到被設計來保護數(shù)字媒體所有者的商業(yè)權利的內(nèi)容保護方案的增殖(proliferation)時,另一問題出現(xiàn)了。這些內(nèi)容保護方案要求在制造過程中將每個設備唯一的密鑰數(shù)據(jù)編程到各個設備中。作為這些內(nèi)容保護方案的被許可者,半導體制造商變 得對內(nèi)容保護密鑰數(shù)據(jù)負有責任,并且當在其不可信的制造操作上分發(fā)內(nèi)容保護密鑰數(shù)據(jù)時,需要對該數(shù)據(jù)進行保護。當半導體制造商開始調(diào)整分布式制造模型時,其失去了對分布式制造操作的專有設備和制造數(shù)據(jù)的直接控制。除了內(nèi)容保護密鑰數(shù)據(jù)之外,專有數(shù)據(jù)的其他對外形式(例如,特征提供命令、軟件/固件指令/機器代碼以及設備個性化數(shù)據(jù))必須分布并存儲在整個不可信的制造操作中。還需要將專有制造數(shù)據(jù)存儲在半導體公司的不可信的分布式制造操作中,并從該不可信的分布式制造操作中搜集專有生產(chǎn)數(shù)據(jù)。對內(nèi)專有制造數(shù)據(jù)可以作為測試報告/程序、過程數(shù)據(jù)以及產(chǎn)量管理數(shù)據(jù)而存在。通過數(shù)字資產(chǎn)的安全管理來獲得競爭優(yōu)勢,由此在給定的制造過程中可以存在提高底線的機會。下面,描述了提供解決方案框架的系統(tǒng),該解決方案框架可以用于降低以上提到的浪費,并在各種應用中獲得競爭優(yōu)勢。要描述的系統(tǒng)包括被部署和集成在多個物理位置上的制造過程中的若干軟件和硬件組件。這樣,創(chuàng)建可以提供綜合性基礎結構解決方案的制造平臺。資產(chǎn)管理系統(tǒng)(AMS)在本文中,可以將上述制造平臺稱為資產(chǎn)管理系統(tǒng)(AMS),并如圖I所示以數(shù)字10來表示。AMS 10是可以適于容納各種服務的定制解決方案。例如,如下討論的,可以將AMS 10配置為通過控制對對應資產(chǎn)的提供(provision)來執(zhí)行以下一項或多項順序化(serialization)、密鑰注入以及特征激活。因此,資產(chǎn)可以指代要被添加到設備14、應用到設備14、與設備14相關聯(lián)或者以其他方式綁定到設備14的任何數(shù)字數(shù)據(jù)。設備14可以是能夠利用這種資產(chǎn)的任何組件或項。例如,設備14可以表示芯片、電路板、電子消費設備、計算機、處理器、存儲器等。AMS 10創(chuàng)建對將資產(chǎn)提供或注入到設備14中進行控制的控制通道4,以及執(zhí)行日志數(shù)據(jù)的收集以跟蹤資產(chǎn)的分發(fā)和使用的審計通道6。以下將要描述的AMS 10的組件可以是全局分布的、本地實現(xiàn)的或者包括遠程和本地組件的任何配置。AMS10使得公司可以管理和控制在全球外包制造環(huán)境上敏感的制造過程。AMS 10包括至少一個控制器22,其作為主服務器操作,并可以位于電子設備制造商的總部,以遠程控制其在任何的全球位置的操作??刂破?2可以在互聯(lián)網(wǎng)或其他網(wǎng)絡(未示出)上遠程通信,以控制至少一個輔助的或者遠程的服務器(本文中稱之為裝置18)。裝置18可以位于不同的制造、測試或分發(fā)地點??刂破?2和裝置18包括硬件安全模塊(HSM) 19,以執(zhí)行敏感并高信任度的計算,存儲敏感信息(如,私鑰),執(zhí)行其他加密操作并建立組件之間的安全連接。使用HSM 19來創(chuàng)建控制器22和裝置18之間以及裝置18與嵌入到設備14中的資產(chǎn)控制核心(ACC) 12中的安全的信任點之間的安全終端點。HSM19可以是提供添加功能模塊(FM) 11的能力的標準現(xiàn)有組件,功能模塊(FM) 11包括執(zhí)行附加安全操作的源代碼。例如,如下面將要進一步解釋的,AMS 10使得可以計量所消費的資產(chǎn)的信用,HSM 19在利用FM 11時使得在HSM 19所創(chuàng)建的安全邊界內(nèi)安全地執(zhí)行這種計量。使用FM 11提供了更大的靈活性,其中,可以通過可信的和安全的方式來執(zhí)行操作,例如,除了加密和簽名外的方式。FMll還提供更大的靈活性,其中,可以利用協(xié)議,例如,用來與ACC 12通信的ECMQV協(xié)議(稍后討論)控制器22還提供圖形用戶界面(⑶1)8,以使得管理者、操作者和其他用戶可以與控制器22、裝置18以及更寬的AMS 10進行接合。裝置18與至少一個代理20通信,其中,使用代理應用編程接口(API) 21將各個代理20集成到測試腳本或者其他生產(chǎn)程序中,并且在一些實施例中,使用在測試器16及其應用外部的單獨過程中起到代理作用的守護程序(daemon) API 23將各個代理20集成到測試腳本或者其他生產(chǎn)程序中。測試腳本或生產(chǎn)程序一般是在生產(chǎn)線上被加載到測試器16上的定制應用。應該意識到,術語“測試器”可以表示用于向設備14注入或者以其他方式提供電子資產(chǎn)的任何制造或生產(chǎn)設備。裝置18 —般位于可以與測試器16處于相同物理位置的生產(chǎn)地點,或者代之,可以遠離測試器16并在LAN、WAN或者其他網(wǎng)絡(未示出)上連接。如圖I所示,可以用冗余架構來部署裝置18 ( SP,使用附加的裝置18’ ),以確保如果基本裝置18或主裝置18不能正常工作或者離線,提供附加的裝置18’來進行接管并最小化生產(chǎn)停工期。在一些實施例中,通過代理20,AMS 10可以利用嵌入在設備14上的ACC 12來建立裝置18和設備14之間的安全通信。使用AMS 10,可以創(chuàng)建并部署工廠提供系統(tǒng),這可以降低收入損失,并可以開啟與合作方和下游客戶的新的收入共享機會。AMS 10還可以在整個制造過程中提高整體安全性和品牌保護,特別是當使用外包的承包人來生產(chǎn)高利潤的設備時。可以通過以下方式來完成制造和分發(fā)過程中的這種收入損失降低使用AMS 10來幫助防止半導體和其他電子設備14中未授權的特征激活,降低過量的生產(chǎn),降低庫存和供應鏈成本,啟動強有力的內(nèi)置收入和品牌保護措施,以及開啟從售后市場收入潛力中獲益的新機會。圖2示出了可以如何使用控制器22、裝置18、代理20和ACC 12來向設備14定義、分發(fā)和應用資產(chǎn),以及出于審計目的在各種階段收集日志報告。在控制器22處,制造商(或者要提供的資產(chǎn)的擁有者)定義產(chǎn)品,即利用正在提供的特定類型的服務(例如順序化、密鑰注入、特征激活等)的對象。控制器22還定義與產(chǎn)品和應用于產(chǎn)品的服務相對應的資產(chǎn)類型。通過對資產(chǎn)和產(chǎn)品進行分別定義,在一些實施例中,唯一的產(chǎn)品名稱可以使得不同類型的多個資產(chǎn)在一起傳送。例如,可以傳送密鑰,同時激活一組特征,或者可以同時傳送和注入密鑰和序列號。這節(jié)省了時間和帶寬,因為兩個資產(chǎn)可以利用控制通道4的相同實例,以逐個產(chǎn)品的優(yōu)化傳送??刂破?2產(chǎn)生、獲取或者以其他方式導入多個資產(chǎn),并且將該資產(chǎn)綁定到產(chǎn)品,這在資產(chǎn)和產(chǎn)品之間創(chuàng)建了關聯(lián),以使得服務的應用可以將資產(chǎn)注入或者添加到產(chǎn)品,并最終針對該產(chǎn)品生產(chǎn)至少一個設備14。然后,將產(chǎn)品與裝置18綁定。還可以將產(chǎn)品與一個以上的裝置18綁定,以使得AMS 10可以被配置為跨裝置18分發(fā)產(chǎn)品的資產(chǎn)。如果正在不同的設施處生產(chǎn)相同類型的設備14,可以創(chuàng)建不同的產(chǎn)品,每個位置一種產(chǎn)品。例如,可以在若干地理位置中生產(chǎn)設備14,每個位置具有在不同生產(chǎn)設施處的裝置18。然后,可以針對各個設施創(chuàng)建產(chǎn)品,并將其綁定到對應的裝置18??梢宰⒁獾?,裝置18可以在一個以上的測試器16處為一個以上的代理20提供服務,并因此可以針對相同的裝置18定義一個以上的產(chǎn)品。然后, 控制器22向裝置18提供產(chǎn)品和對應的資產(chǎn),存儲這些資產(chǎn)并從而在裝置18處提供該產(chǎn)品??刂破?2同時記錄發(fā)送產(chǎn)品和資產(chǎn)的事件,并等待來自裝置18的成功接收和存儲該資產(chǎn)的肯定應答(ACK)。裝置18被配置為與至少一個代理20通信。代理20被配置為在生產(chǎn)或分發(fā)階段利用資產(chǎn)。代理20從而請求其需要用來執(zhí)行該階段的資產(chǎn)。裝置18計量并獲得適當數(shù)量的資產(chǎn),并記錄該事件,以記錄向特定代理20 (并從而特定的測試器16)的資產(chǎn)分配。然后,向代理20提供資產(chǎn)。然后,代理20可以開始循環(huán),包括應用資產(chǎn)以及針對其所操作的各個設備14記錄該事件??梢钥闯觯斒褂肁CC 12時,執(zhí)行與ACC12的交換,其細節(jié)在下面提供。在某些點處,例如在達到日志閾值時,代理20向裝置18提供代理日志組,代理18存儲該日志。在其他實施例中,裝置18可以從代理20請求日志。然后,控制器22在某個稍后的點處(例如,在同步操作期間)請求針對與裝置18相關聯(lián)的產(chǎn)品的日志,并且向控制器22提供都由裝置18存儲的裝置日志和代理日志。然后,控制器22可以存儲這些日志,并使其可用于對其中包含的數(shù)據(jù)進行審計和其他后處理或者分析。通過在一個方向上控制分發(fā),并在另一個方向上強制執(zhí)行事件記錄和事件收集,AMS 10能夠提供對制造過程的控制。如上討論的,可以將AMS 10配置為提供各種服務,例如順序化、密鑰注入和特征激活??梢允褂脠D2中示例說明的控制和審計通道來實現(xiàn)這些服務。為了針對這些各種服務配置AMS 10的組件,控制器22、裝置18、代理20和ACC 12應該具有特定的能力。現(xiàn)在將參照圖3至6描述這些組件的其它細節(jié)。圖3中更詳細地示出了控制器22??梢詫⒖刂破?2實現(xiàn)為安全強化的在機架上安裝的系統(tǒng),可以通過標準web瀏覽器100、100’的web接口來訪問該系統(tǒng)。如圖3所示,控制器22包括控制器22處的web瀏覽器可以訪問或者web瀏覽器100’可以遠程訪問的⑶I8。⑶18基于web服務器104,web服務器104利用控制器守護程序106與裝置18安全地進行通信(以S來表示),并且一般與數(shù)據(jù)庫110沒有安全措施(以U來表示)。報告工具108也可以安全地訪問關系型數(shù)據(jù)庫110,以獲得日志記錄以及其他用于產(chǎn)生報告的數(shù)據(jù)??梢允箒碜詧蟾婀ぞ?08或者任何類似應用的服務請求能夠訪問數(shù)據(jù)庫110中的數(shù)據(jù)。利用數(shù)據(jù)庫模式(schema)來用于日志的高效存儲、服務模塊所要求的數(shù)據(jù)的高效存儲,以及當由服務模塊要求時,對數(shù)據(jù)的高效查找??梢詮臄?shù)據(jù)庫110導出來自所有服務模塊的定制日志數(shù)據(jù)。在刪除裝置18之前,控制器22應該與裝置18同步,以確保已經(jīng)收集了所有日志。該示例中的控制器22還支持與控制器守護程序106 —起操作的命令行接口(CLI)工具102。如果使用該CLI工具102,CLI工具102應該提供與⑶I 8類似的功能??刂破?2以指定的時間間隔自動同步裝置18,以確保任何涉及服務的資產(chǎn)在其所指定的最大量,即,控制器確保裝置18具有其需要用來根據(jù)意圖進行操作的資產(chǎn)??梢蕴峁┲蛔x同步模式來查詢當前信用等級,而無需將任何的信用加滿(top up)。還可以使用同步操作來發(fā)送裝置配置設置,以及如圖2所示從裝置18取回日志。這使得如果連接暫時丟失,AMS 10可以在沒有中斷的情況下支持各個生產(chǎn)地點處的高速制造??刂破?2還可以向指定的電子郵件地址發(fā)布警告,以告知操作者可能停止生產(chǎn)的條件,理想地,在這些條件產(chǎn)生結果之前告知??刂破?2在若干環(huán)境下發(fā)布警告,例如當控制器不能夠與裝置18聯(lián)系時,如果當控制器22向裝置18發(fā)送數(shù)據(jù)時存在任何的錯誤(以及反之亦然),當同步操作失敗時,當裝置18中的資產(chǎn)數(shù)到達指定的告警等級時,當關于裝置18的空閑磁盤空間到達最小時,以及當裝置18已經(jīng)阻擋了來自代理20的連接時(因為代理IP地址不在裝置18所管理的列表中)。如下面更詳細描述的,可以通過GUI 8來執(zhí)行對這些警報的管理。
還使用控制器22來監(jiān)視在AMS 10中運行的所有作業(yè),例如同步操作以及其他長期運行的任務,可以監(jiān)視其狀況,并記錄其進度??梢允棺鳂I(yè)信息在⑶I 8中可用??刂破?2還使得操作者可以添加和移除用戶角色(role)??梢韵蛴脩艚巧概蓪MS 10的各個組件進行訪問的不同許可等級。將AMS 10產(chǎn)生的日志存儲在關系型數(shù)據(jù)庫110中。本示例中的控制器22在服務器硬件上運行,例如使用2x Intel Xeon quad core5300processor@3GHz的Dell 2950 PowerEdge 2U在機架上安裝的服務器。控制器22還可以使用110/220伏特750瓦特的冗余功率模塊、DVD ROM、雙吉比特NIC以及PCIe升降器(riser)??刂破?2要求例如針對HSM和SSL證書的導出PKCSlO請求來進行初始提供,由設備認證授權機構(CA)對證書簽名,以及將SSL和HSM證書導入到HSM 19中??梢砸庾R至IJ,也可以使用對各個HSM 19唯一的任何身份證書??刂破?2應該使得可以配置常規(guī)設置,例如用于電子郵件警報的名稱和SMTP設置。應該提供對多用戶賬戶的支持,并且可以使用每個用戶的許可矩陣來允許準許或者拒絕對AMS 10的各個部分的訪問。這樣,可以定義不同的用戶角色,并且以每個模塊為基礎向各個用戶角色給出不同許可。許可矩陣應該是可配置的,以使得客戶可以定義這種許可并定義用戶角色的數(shù)目,以在用戶之間進行區(qū)分??刂破?2對服務模塊進行啟用和禁用,以使得可以定義不同的服務產(chǎn)品,例如用于順序化、密鑰注入、特征激活等??刂破?2還可以配置針對裝置18的常規(guī)設置,設置是例如名稱、制造商、位置、IP地址、端□號、套接字重試、套接字超時、發(fā)送/接收塊大小以及已針對該裝置22授權的代理20的列表。控制器22以可配置的時間間隔與各個裝置18同步(例如,每30分鐘)。然而,如果在下一次所調(diào)度的同步之前需要進行同步,控制器22還使得操作者可以立刻強制進行同步??刂破?2提供對AMS 10的控制,并從而可以在添加新裝置18之前對其授權。當從供應商發(fā)貨時,裝置18應該處于在使用前要求這種授權的狀態(tài)。一旦授權已經(jīng)成功完成,也可以執(zhí)行控制器22對裝置18的其他提供??刂破?2還實現(xiàn)了信用系統(tǒng),在該信用系統(tǒng)中,控制器22向裝置18發(fā)布信用。不管何時裝置18通過將資產(chǎn)提供給代理20 (如圖2中所示)來消耗資產(chǎn),信用都遞減。操作者可以定義(最小和最大等級)告警,并且如果關于裝置18的當前信用小于或等于告警等級,控制器22發(fā)布警報。如果關于裝置18的當前信用小于最小等級,控制器22將信用加滿到最大等級。如果裝置18用完了信用,其不再可以向代理20提供資產(chǎn)。一般應該根據(jù)裝置18而不是根據(jù)服務模塊來分配信用。如上提到的,控制器22監(jiān)視針對各個裝置18的作業(yè)列表。這創(chuàng)建了允許與其他裝置18相獨立地為各個裝置18提供服務的多線程設計。此外,可以并行并且獨立于其他作業(yè)來執(zhí)行各個裝置18上的作業(yè)。這允許由分別的線程對多個Π請求進行處理,并允許由分別的線程對多個裝置18連接進行處理,以使得與一個實體的通信部不干擾與另一個實體的通信,從而添加了 AMS 10的并行性。還監(jiān)視各個裝置18的健康度,包括空閑的和已使用的硬盤空間、 空閑的和已使用的存儲器、諸如HSM 19的其他硬件組件的健康度、與控制器22的上一次通信的日期/時間、以及與各個代理20的上一次通信的日期/時間??刂破?2提供ping工具以檢查裝置18的網(wǎng)絡活躍度,該ping工具使用了控制器22和裝置18之間的安全通信通道。還提供了時間同步工具來將各個裝置18上的時間與控制器22同步,以確保控制器22和裝置18上的系統(tǒng)時間和HSM時間在UTC中指定并且相同。控制器22還應該提供禁止裝置18向代理提供服務的過程。可以提供適當?shù)母婢痛_認,這種動作可以干涉或者甚至停止生產(chǎn)線。當被禁用時,裝置18應該繼續(xù)為控制器22提供服務。例如,當禁用裝置18時,ping工具應該仍然工作。該功能使得操作者可以在檢測到異常并要求補救動作的情況下通過裝置18來控制其制造商??梢援a(chǎn)生電子郵件警報來標記可能潛在地停止生產(chǎn)線的問題,并且可以指定多個電子郵件地址,以使得可以告知所有感興趣或者被影響到的各方。控制器22還應該能夠自動且手動觸發(fā)對其自身的備份。在硬件故障或者其他事故的情況下,應該能夠從備份將控制器22恢復到新的硬件或者現(xiàn)有的硬件。由控制器22來啟用對裝置軟件的遠程更新(包括HSM代碼)以及控制器軟件的本地更新(包括HSM代碼)。控制器22管理被允許連接到各個應用的代理IP地址和子網(wǎng)的列表,并使得來自⑶I 8和CLI工具102的服務請求成為可能。如圖I所示,一般以冗余對的方式來使用裝置18,以用于故障檢測和故障恢復(failover)。在冗余裝置18、18’的情況下,可以向各個裝置18、18’給出類似的資產(chǎn)量,每組具有不同的值。因此,如果一個裝置18發(fā)生故障,代理20還可以從另一個裝置18’獲得資產(chǎn),而不冒具有重疊資產(chǎn)的危險,特別是在資產(chǎn)必須是唯一的情況下。裝置18還應該是安全加強的在機架上安裝的系統(tǒng)。圖4A中示出了裝置18的示例配置的其他細節(jié)。裝置18包括裝置守護程序112,用于控制控制器22和代理20之間的通信,以提供安全通信通道;以及包括裝置關系型數(shù)據(jù)庫114,用于存儲日志和其他數(shù)據(jù)。如上討論的,裝置18可以位于測試位置處、第三方制造商處、裝配工廠處,或者任何的生產(chǎn)或分發(fā)位置。一個裝置18為至少一個代理20提供服務,并且如果使用,裝置18可以通過至少一個代理20與ACC 12通信??刂破髦裂b置的通信應該是安全的,例如,使用SSL連接、受到保護以及相互認證。將從裝置18至代理20的所有資產(chǎn)發(fā)布記錄在活動日志中。當控制器22收集這些日志時,將其保存在數(shù)據(jù)庫114中,并且如稍后討論的,可以在GUI的報告視圖中查看。當將新裝置18添加到AMS 10時,其處于離線狀態(tài)。然后,為了使用而激活裝置18。一旦裝置18是活躍的,在其可以開始產(chǎn)生服務之前,仍然需要對其進行同步。圖4B示出了裝置18的各種狀態(tài)。裝置18可以在與控制器22類似的硬件上運行,并且所有高信任度的計算將發(fā)生在HSM 19內(nèi)部。裝置18具有至少一個HSM 19,但是在一些實施例中,可以支持更多HSM19,以增強諸如ECMQV (稍后將討論ECMQV的使用)之類的加密操作的性能。為了冗余和高可用性,應該成對提供裝置18。冗余對中的裝置18、18’都應該總是活躍的,因為代理20可以連接到其中的任一個。在控制器22上對裝置18、18’分別進行配置。應該注意到,操作者應該確保在資產(chǎn)方面,裝置18、18’都具有類似的配置。從容量規(guī)劃的角度看,應該將每個對視為一個裝置18,例如,你可以僅將該對的吞吐量預期為不超過單一裝置18的吞吐量??梢葬槍SL、HSM和ACC證書進行來自HSM 19的導出PKCSlO請求,并且證書應該由設備CA簽名。然后,將證書導入HSM 19中。當裝置18與測試器16互動時,高性能對最小化測試時間是極為重要的。因此,在可能之處應該進行協(xié)議優(yōu)化。例如,可以在HSM 19中預先產(chǎn)生短時的公鑰,以在裝置-ACC協(xié)議中使用。與控制器22的用于傳遞定制數(shù)據(jù)和日志數(shù)據(jù)的通信也應該是高效的,以使得在其與代理20的互動中不影響到裝置18的性能。裝置18使用裝置守護程序112處理來自控制器22和代理20的服務請求,并使用多線程,以使得可以通過與控制器22可以使用多線程進行并行操作的相同方式,彼此獨立地為控制器22和代理20提供服務。這樣,為控制器22給出單獨的線程,并且為各個代理20給出單獨的線程。應該將針對數(shù)據(jù)庫114的模式設計為日志的高效存儲、各個服務模塊所請求的數(shù)據(jù)的高效存儲、以及服務模塊所請求的數(shù)據(jù)的高效查找。如圖5所示,代理20是軟件庫,并且每個代理20都集成到客戶的測試程序或腳本或者在生產(chǎn)線上被加載到測試器16 (被配置為對設備14進行測試的計算機)上的定制應用中,或者與之相集成。當可應用的情況下,代理20與ACC 12或軟ACC 12’通信。當被配置為利用代理API 21時,代理API 21向裝置18請求資產(chǎn),并通過安全SSL連接發(fā)送回所使用的資產(chǎn)的日志。除了代理API 21之外,AMS 10支持守護程序API 23的使用,守護程序API 23派生出從裝置18取回資產(chǎn)并向裝置18提供資產(chǎn)的單獨的過程(B卩,守護程序25),減少了測試器應用116所正在進行的一些工作。圖6A示出了利用代理API 21的代理20的配置。代理API 21允許在測試器16上運行的測試應用116a連接到裝置18,以取回資產(chǎn)并向裝置18返回日志??梢钥闯?,代理API 21直接集成在測試應用116a中,這給出了對如何以及何時在測試器16和裝置18之間傳送資產(chǎn)和日志的完全控制。如圖6A所示,代理API 21從裝置18獲得資產(chǎn)數(shù)據(jù)分組120,以及任何的日志請求126。代理API 21還向裝置18提供資產(chǎn)請求124,并提供所請求的日志報告122?,F(xiàn)在轉到圖6B,可以使用守護程序API 23來替代代理API 21,以卸下管理資產(chǎn)和日志的責任。如圖6B所示,守護程序API 21集成在測試應用116b中,以使其可以與單獨的過程(守護程序25)通信,該單獨的過程擔當測試應用116b和裝置18之間用于管理資產(chǎn)數(shù)據(jù)包120、日志報告122、資產(chǎn)請求124和日志請求126的交換的中介。守護程序API 23提供更簡單的接口,并且可以被配置為運行守護程序25來作為后臺過程。如圖6B中所示,守護程序API 23提供與測試應用116b的接口,以在需要資產(chǎn)時獲得該資產(chǎn),并當在各個測試結束期間或結束時產(chǎn)生日志數(shù)據(jù)128的時候獲得該日志數(shù)據(jù)128。為了獲得資產(chǎn)并向裝置18提供日志報告122,守護程序API 23運行單獨的守護程序25以提供代理API 21,以避免測試應用116b必須在測試過程期間經(jīng)常連接到裝置18,從而節(jié)省了時間。守護程序25可以在使用代理API 21的時候請求一批資產(chǎn),并在需要資產(chǎn)時通過守護程序API23向測試器16傳送資產(chǎn),以使得資產(chǎn)總是對測試器16可用,而不必連接到裝置18。這樣,測試應用116b僅需要與守護程序API 23進行接合,并從而通信,以獲得資產(chǎn)并提供其日志數(shù)據(jù)(然后,守護程序25上的代理API 23將其打包進日志報告中)。守護程序25維持資產(chǎn)高速緩存130,以存儲成批的資產(chǎn)來用于后續(xù)根據(jù)需要向測試器16分發(fā),以及維持日志高速緩存132以在測試完成時存儲測試應用116b輸出的日志數(shù)據(jù)128,該日志數(shù)據(jù)要被組織進日志報告122中。守護程序API 23還可以具有資源管理子系統(tǒng)(RMS) 27,被配置為獨立地實現(xiàn)并向守護程序25注冊資源管理過程。這樣,用戶可以實現(xiàn)其自己的資源管理過程(在其自己的指示下),以判定何時取回資產(chǎn)、發(fā)送回日志等等,并且可以通過名稱將該過程與特定的產(chǎn)品簡檔相關聯(lián)。如圖6B中所示地使用守護程序25和守護程序API 23提供了若干優(yōu)勢。通過使守護程序25維持或者高速緩存與裝置18的連接,測試應用116b不需要重復地請求新的會話,從而節(jié)省了在測試環(huán)境中至關重要的時間。以及,守護程序25可以利用閾值來控制其在資產(chǎn)高速緩存130中存儲多少資產(chǎn)。例如,當與低閾值交叉時,該低閾值可以使得守護程序23利用代理API 21來分別在不擾亂測試步驟的情況下從裝置18獲得新批次的資產(chǎn)以及同時繼續(xù)轉發(fā)仍然具有的資產(chǎn)。以及,已經(jīng)發(fā)現(xiàn),當裝置18向測試應用116a直接提供多個資產(chǎn)時,例如,當發(fā)送一批密鑰時,如果當測試應用116a終止時在其上還有剩余的資產(chǎn),這些資產(chǎn)可能丟失,因為其可能被從測試器的存儲器擦去。在這種情況下,AMS 10可能正在浪費資產(chǎn),而至少一個實體可能損失收入或者不得不承擔成本。通過如圖6B所示將守護程序25與測試應用116b分離,在像這樣的環(huán)境下,守護程序25和資產(chǎn)高速緩存130可以比測試應用116b存活得更長,并從而將不在沒有恢復資產(chǎn)的機會的情況下浪費該資產(chǎn)。從而,如果守護程序25關閉,可以將剩余的資產(chǎn)標記為已浪費,并且可以產(chǎn)生日志報告并返回到裝置18,以確保如果申請人允許,將剩余的量返還客戶。在其他實施例中,可以簡單地針對測試應用116b的下一個實例維持剩余資產(chǎn)??梢允褂檬刈o程序API 23來創(chuàng)建如圖6B中所示的獨立應用,或者在其他實施例中可以將守護程序API 23與測試應用116b—起嵌入。應該使用守護程序API來卸下對測試應用116b中的資產(chǎn)和日志報告122的管理??梢栽诳蛻舳嘶蚍掌髂J较聞?chuàng)建守護程序API 23。在服務器模式下,其連接到裝置18并自動管理資產(chǎn)的取回和日志報告122的發(fā)送。在客戶端模式下,其針對AMS資產(chǎn)和日志而連接到已經(jīng)在運行的服務器模式守護程序應用。還可以存在自動模式,在自動模式中,守護程序API 23取決于守護程序25的另一實例是否已經(jīng)在運行來使用客戶端或服務器模式。守護程序API 23使用用于AMS產(chǎn)品(或資產(chǎn))和日志的管理的基于文本的配置指示。可以在編譯時從文件或者從存儲器讀取這些指示。配置指示包括至少一個產(chǎn)品簡檔。產(chǎn)品簡檔包含=AMS產(chǎn)品的名稱、用于登入裝置18的連接憑證、資源管理過程以及過程設置。使用資源管理過程來管理與簡檔相關聯(lián)的產(chǎn)品的資產(chǎn)以及日志。該過程包括針對資產(chǎn)加滿等級的可配置指示(最小資產(chǎn)和最大資產(chǎn))以及在其處自動向裝置發(fā)送日志的閾值等級(最大日志)。由于典型地成對傳送裝置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的芯片一通過晶片測試時,就將其注冊并登入到控制器的數(shù)據(jù)庫110中,這進而可以跟蹤經(jīng)歷了晶片測試的每個制造的芯片。ACC 12具有輸出端口組,并且對這些輸出的聚集進行的評估指示了要啟用哪些特征,要禁用哪些特征。一旦裝配了,ACC 12可以仍舊擔當最終設備14上信任的根(root) ο將ACC 12設計為管理對非易失性存儲器(NVM)的訪問并保護NVM的特定區(qū)域免受未授權代理20的訪問。ACC 12可以提供自含式的唯一設備ID(UID)產(chǎn)生,UID被用來唯一地標識ACC 12。ACC12還可以提供自含式的密鑰產(chǎn)生,該密鑰被用來開啟與可信服務器的安全通信通道。ACC 12應該確保可信源使用可信裝置進行特征的啟用和禁用,并且ACC12應該能夠發(fā)起或者禁用設備自測和健康檢查,以確保沒有對設備14進行篡改。ACC 12還可以在不管何時發(fā)布了太多無效命令時,使設備鎖定。使用ACC 12處理來自裝置18的命 令,并且可以將ACC 12編程為如果檢測到指定數(shù)目的無效命令就關閉其自身。應該將ACC12設計為在任何電子制造測試環(huán)境中工作,因為AMS 10的安全特征不一定依賴于或能夠信任裝置18和ACC 12之間的數(shù)據(jù)鏈路。取而代之地,將安全性內(nèi)置于使用加密的通信協(xié)議中。因此,AMS 10提供允許以安全可審計的方式在任何地方進行提供的能力從晶片加工到ODM到OEM到用戶。為了保護ACC至裝置通信通道,ACC 12使用非對稱加密方案用于密鑰交換,并且使用對稱密鑰加密來傳遞其與裝置18之間的消息。非對稱加密方案使用從隱秘的私鑰產(chǎn)生的公鑰。將私鑰保持隱秘,而將公鑰曝光。以安全、高度防篡改的設置來保護私鑰是絕對必要的。通過能夠內(nèi)部地并且自動地產(chǎn)生唯一的私鑰,以硬件和固件的組合來保護隱秘的密鑰免于被曝光,所嵌入的ACC 12能夠滿足該要求。ACC12為各個設備14產(chǎn)生唯一的標識符,并通過與裝置18的加密通道參與到設備14的跟蹤和提供中。一旦雙方對對稱密鑰取得一致,裝置18就以安全的方式向ACC 12發(fā)布機密消息,在本文中將該機密消息稱為特征控制票據(jù)(FCT)50。后面參照圖51至66對ACC 12進行更詳細的描述。如上討論的為了實現(xiàn)AMS 10,應該進行各種安全考慮。如上提到的,控制器22和裝置18中的所有高信任度的計算都應該發(fā)生在HSM 19內(nèi)部,特別是以在制造商和另一實體之間的各種信任級別在該實體處運行的裝置18上。當執(zhí)行順序化時,裝置18應該僅能夠基于從控制器22接收到的序列號模式(這種模式在下面描述)產(chǎn)生序列號。對于密鑰注入,裝置18應該僅能夠對從控制器22直接接收到(即,不是從另一裝置18接收到)的已排序的密鑰進行解密。對于特征激活,裝置18應該僅能夠對從控制器22直接接收到(即,不是從另一裝置18接收到)的FCT 50進行解密。應該保護AMS 10所使用的信用或計量方案,以使得裝置18可以僅使用從控制器22直接接收到的信用通知。裝置18應該僅使用來自控制器22的資產(chǎn),從控制器22對其進行提供,以確保不能使用被錯誤地發(fā)送到另一裝置18的資產(chǎn)。對于裝置18,應該不可能使用來自另一裝置18的信用通知,并且攻擊者應該不可能添加、移除或者改變裝置18上的信用的數(shù)目。然而,可以意識到,出于高可用性/故障切換的目的,如果確保唯一的資產(chǎn)不被使用一次以上的機制存在,可以將AMS 10配置為使得可以將一個裝置18上的資產(chǎn)復制到另一裝置18。為了管理控制器22,web瀏覽器100應該僅能夠在https上訪問web服務器104,并且應該保護通信,例如,相互認證、加密、完整性檢查、回放保護等。應該如圖3中所示地保護web服務器104和控制器守護程序106以及CLI工具102和控制器守護程序106之間的通信,例如,使用SSL。類似地,應該保護控制器22和裝置18以及裝置18和代理20之間的通信,例如,使用SSL。應該使用ACC協(xié)議來保護應用HSM19和ACC 12之間的通信,并且ACC 12應該對裝置18進行認證。裝置18不需要對ACC 12進行認證,因為ACC 12被視為可信的根。可以對從代理20到裝置18到控制器22的日志進行加密,并且可以對該日志進行完整性保護,以防止偷聽和篡改。只有控制器22應該能夠對日志進行解密和驗證。這些日志可以包括定制數(shù)據(jù),例如,產(chǎn)量數(shù)據(jù)。應該加強控制器22和裝置18以對抗攻擊。將該加強應用到包括在HSM19上運行的OS和應用在內(nèi)的OS和應用(例如,數(shù)據(jù)庫110)。優(yōu)選地,所有的證書都是 由可信設備CA發(fā)布的橢圓曲線加密(ECC)證書,它們由每個客戶簽名,且作為AMS子根證書。然后,可以將ECC證書用于web服務器104、控制器守護程序106、裝置18以及代理20 (針對HSM證書、針對AMS 10中的每個HSM 19以及針對在與ACC 12的ECMQV協(xié)商中使用的ACC證書)中的各個之間的SSL。應該將客戶名稱嵌入到證書中,并對其進行檢查,以使得通信僅發(fā)生在具有相同客戶名稱的端點之間。應該保護存儲在數(shù)據(jù)庫中的數(shù)據(jù),以避免未授權的訪問和修改。針對AMS的產(chǎn)品和服務模塊在本文討論的示例中,產(chǎn)品是模型,其向AMS 10提供產(chǎn)品名稱、其標識、其提供的服務、哪些裝置18產(chǎn)生該產(chǎn)品以及資產(chǎn)列表。例如,資產(chǎn)可以是順序化模式的聚集以及被應用了該模式聚集的裝置18的列表。類似地,資產(chǎn)可以是密鑰類型的聚集以及被應用了該密鑰類型聚集的裝置18的列表。在又一個示例中,資產(chǎn)可以是FCT 50的聚集以及對應的裝置18的列表。本文中所討論的服務模塊確定各個AMS組件(控制器22、裝置18、代理20和ACC 12)在生產(chǎn)過程中提供什么。在下面的示例中,AMS 10可以定義用于順序化、密鑰注入和特征激活的服務模塊,然而,將要意識到,可以應用其他服務模塊來傳送和提供其他類型的資產(chǎn)。圖7A、7B和7C中分別示出了順序化、密鑰注入和特征激活模塊配置的示例。順序化首先轉向圖7A,順序化服務模塊是用于提供產(chǎn)生、向芯片(或者其他電子對象或設備)指派以及跟蹤唯一序列號的安全手段的AMSlO的配置。為了提供該服務,使用控制器22來定義產(chǎn)品模型,然后定義要綁定到各個產(chǎn)品模型的至少一個順序化模式134。各個順序化模式134包含針對特定產(chǎn)品(例如,設備14)的序列號范圍。不管同步操作何時發(fā)生,在制造商位置處,在安全、加密的連接上(例如,在SSL上)向裝置18發(fā)送序列號模式134,一般是自動進行的。然后,代理20可以使用代理API 21或者守護程序API 23,通過產(chǎn)品名稱請求序列號值。序列號由裝置18產(chǎn)生,計量,并向代理20提供。然后,使用代理20在芯片制造過程中將序列號順序地注入到各個管芯中。控制器22跟蹤針對各個順序化產(chǎn)品,已經(jīng)消耗了多少序列號,并在⑶18中使這些結果可用。順序化模式134是對與如何產(chǎn)生序列號有關的規(guī)則進行定義的對象。例如,其確定序列號數(shù)字是以十六進制還是十進制的形式呈現(xiàn),以及是否包括固定的字符串。雖然可以將至少一個順序化模式134與順序化產(chǎn)品綁定,特定的模式134僅可以綁定到一個產(chǎn)品。綁定到產(chǎn)品的順序化模式134不能重疊,并且一旦綁定,就不應對模式134解綁。針對其他改變,例如,改變已經(jīng)插入的靜態(tài)字符串,應該創(chuàng)建新的順序化模式134。如果將一個以上的模式134綁定到相同的產(chǎn)品,應該以優(yōu)先級順序對這樣的多個模式134進行指派。當請求針對產(chǎn)品的序列號串時,從具有最高優(yōu)先級的模式134給出序列號。如果模式134耗盡(即,來自模式134的計數(shù)值已經(jīng)全部被指派),那么使用具有次最高優(yōu)先級的模式??梢詫㈨樞蚧a(chǎn)品綁定到一個以上的裝置18,各個綁定具有最小和最大的庫存等級??梢允褂每刂破?2來確保綁定到多個裝置18的產(chǎn)品具有不重疊的序列號范圍。當將產(chǎn)品綁定到裝置18時,控制器22將序列號的庫存保持在指定的最大等級。一旦已經(jīng)從控制器22向裝置18發(fā)送了該庫存,就不應該能夠召回或者撤銷這些序列號值。序列號模式124可以描述如何將基本值變換為序列號串。在本示例中,術語“序列號基本值”指代任何正的64比特整數(shù),并且不應該將其與底值屬性相混淆。序列號模式134具有若干屬性開始、數(shù)目、底值以及總字符。開始和數(shù)目值限定了模式中允許的基本值的范圍。底值屬性確定了當基本值變換到序列號串時,用以10為底還是以16為底的格式來表示基本值??傋址麑傩韵薅水攲⒒局当硎緸樾蛄刑柎畷r,要使用多少字符。可以在序列號串中的任何位置處插入零個或者更多個靜態(tài)字符串??梢宰⒁獾剑瑧摬荒軌蛑付ū扔糜诒硎灸J?34中的最大值所需的字符的最小數(shù)目更少的數(shù)目。例如,如果模式134以O開始,并且數(shù)目為1000,那么應該有三個或者更多字符,因為方案限定了范圍
并且需要3個字符來表示999。給定序列號模式134和基本值,如下構建序列號串a(chǎn))基本值必須在[開始值,開始值+數(shù)目-I]的范圍內(nèi);b)然后,以指定的格式表示基本值;c)然后,取決于總字符屬性,或者從左邊(或者最高位端)截斷所產(chǎn)生的字符串,或者在左邊以零來填充。d)然后在所產(chǎn)生的字符串中插入任何的靜態(tài)字符串。示例A :如果模式A=(開始=I,數(shù)目=100,字符=4,底值=16)并且基本值=55,結果是序列號0037。這是因為55在范圍之內(nèi),55的十六進制格式是37,并且需要4個字符,從而填充兩個零。如果基本值=3,結果是序列號0003。示例B:如果模式B=(開始=I,數(shù)目=100,字符=3,底值=10,靜態(tài)字符串I=(位置=3,字符串=X),靜態(tài)字符串2 =(位置=1,字符串=_))并且基本值=56,結果是序列號字符串0-56X。這是因為56在范圍之內(nèi),56已經(jīng)是以10為底的格式,將X插入在位置3處(即,最低位端的位置)并將破折號(_)插入在位置I處(即,最高位端的位置)。使用零來填充序列號字符串,因為56僅是兩個字符。如果基本值=1,結果是序列號字符串0-0IX,以兩個零來填充。當從控制器22向裝置18發(fā)送序列號模式時(記錄為控制器活動日志),當裝置18產(chǎn)生序列號并向代理20發(fā)送時(記錄為裝置活動日志),以及將由代理20使用序列號時(記錄為代理活動日志),順序化服務模塊創(chuàng)建日志。將所有日志保存在控制器22上(在收集之后)并且可以用于監(jiān)視和跟蹤序列號。每次向代理20發(fā)布序列號時,進行發(fā)布的裝置的信用遞減1,并且針對該產(chǎn)品的序列號庫存也遞減。在控制器22和裝置18之間的同步操作期間,對這兩個等級都進行補充,并且它們都用于計量裝置18的序列號使用。圖8示出了用于基于圖2所示的基本AMS序列圖來實現(xiàn)順序化服務模塊的序列 圖。在圖8中可以看出,控制器22產(chǎn)生順序化模式134,將其與產(chǎn)品綁定,然后將產(chǎn)品與裝置18綁定,并向裝置18發(fā)送該產(chǎn)品和模式,由此產(chǎn)生和計量序列號。
轉回到圖7A,示出了順序化產(chǎn)品工作流程。在該示例中,通過對順序化模式進行文件編制,并向AMS管理者傳送所提出的模式,商業(yè)管理者可以定義順序化模式。然后,AMS管理者可以使用控制器⑶I 8來產(chǎn)生順序化模式134。商業(yè)管理者還可以定義順序化產(chǎn)品,對該產(chǎn)品定義編制文件并向AMS管理者傳遞該定義。然后,AMS管理者可以使用控制器GUI8,根據(jù)該定義創(chuàng)建順序化產(chǎn)品。然后,AMS管理者將序列號模式與產(chǎn)品綁定,將產(chǎn)品與裝置綁定,并使用控制器22來與裝置18同步序列號模式。裝置18然后使用代理20來注入序列號,例如,根據(jù)圖8中示出的序列進行注入
當被定義時,AMS 10為順序化產(chǎn)品指派唯一的產(chǎn)品ID,并由操作者提供唯一的標識名稱,以與其他產(chǎn)品加以區(qū)分。針對各個順序化產(chǎn)品,裝置18可以直接向代理20傳送序列號或者可以經(jīng)由FCT 50傳送序列號。如果經(jīng)由FCT 50傳送序列號,那么操作者將(在下面提供的示例中)需要在要存儲序列號的ACC 12內(nèi)指定2字節(jié)的存儲器偏移(十六進制),并且還指定了 8字節(jié)的記錄標簽值(十六進制)。裝置18從控制器22接收序列號產(chǎn)品/模式,響應來自代理20的針對序列號的請求,基于序列號模式134產(chǎn)生序列號,計量序列號,從代理20接收回日志,并將日志發(fā)送回控制器22。針對向代理20傳送的每個序列號,裝置信用減少1,且如果信用到達零(0),不應再傳送序列號。當要經(jīng)由FCT 50傳送序列號時,不應該能夠直接進行傳送,S卩,裝置18應該拒絕任何這樣的請求。同樣地,當經(jīng)由FCT 50傳送時,裝置18中的記錄應該與直接傳送序列號時相同,除非還應該記錄ACC UIDjo應該對可配置的接收塊大小進行調(diào)節(jié)(在單個塊中從裝置18返回的日志數(shù))。當經(jīng)由FCT 50傳送序列號時,應該保護ACC旗標、記錄標簽和存儲器地址數(shù)據(jù)在裝置18上免受篡改。代理20應該能夠使用代理API 21或守護程序API 23,通過順序化產(chǎn)品名稱和數(shù)目從裝置18請求序列號。代理20還應該支持用于傳送的兩種機制,即直接或者經(jīng)由FCT50。代理20應該記錄各個序列號的使用,并向裝置18返回日志。代理20還應該將已丟棄的序列號記錄為已浪費。當經(jīng)由FCT 50傳送序列號時,代理中的記錄應該與直接傳送序列號時相同,除非還應該記錄ACC UID0如上討論的,代理20從測試應用116b獲得日志數(shù)據(jù)128,例如,當使用守護程序API 23時。已經(jīng)發(fā)現(xiàn),AMS 10提供的審計通道使得在制造過程期間能夠進行各種相關。例如,當在測試器16中向芯片添加序列號時,測試器16 —般知道特定芯片在晶片上的位置??梢詫⒃撐恢眯畔⑴c所添加的序列號一起加以記錄,并最終由控制器將該信息存儲到關系型數(shù)據(jù)庫HO中。這樣,在稍后的時間,如果在制造過程中芯片測試不成功,可以使用該關系型數(shù)據(jù)庫110,將失敗的芯片的序列號與其在管芯上的位置相關,以確定是否在機器內(nèi)的過程或者位置的特定部分中發(fā)生故障。在另一示例中,可以使用與序列號的添加相關聯(lián)的時間戳來跟蹤特定機器在特定時間的故障,或者甚至在所謂的芯片盜竊中識別特定的雇員。因此,審計通道6和關系型數(shù)據(jù)庫110可以用于各種數(shù)據(jù)挖掘和分析,以提高責任承擔以及識別和矯正制造過程中的故障的根本原因。密鑰注入現(xiàn)在轉回到圖7B,密鑰注入服務模塊是對將密鑰注入到產(chǎn)品中的安全手段(例如,設備14)進行提供的AMS 10的配置。為了提供該服務,使用控制器22來定義至少一個密鑰類型138。密鑰類型138定義了密鑰在文件中的格式。然后,如圖7B中僅以示例的方式示出的,使用控制器22來定義產(chǎn)品模型140,然后將至少一個密鑰類型138與各個產(chǎn)品模型140綁定。已經(jīng)發(fā)現(xiàn),通過將密鑰直接添加到產(chǎn)品定義而不將密鑰類型與產(chǎn)品分開,根據(jù)客戶在不同的應用中定義項目名稱和產(chǎn)品類型的不同方式,可能發(fā)生混淆。例如,如果將多個密鑰類型添加到“產(chǎn)品桶(product bucket) ”中,則在產(chǎn)品信用低的時候,就可能難以確定哪個密鑰低,并從而難以知道加滿哪個密鑰。通過如圖7B所示將密鑰類型138與產(chǎn)品140分開,提供了附加的抽象等級,以更接近地反映客戶一般如何利用資產(chǎn)。這樣,可以使用控制器22來定義產(chǎn)品類型140,該產(chǎn)品類型140可以形成至少一個密鑰類型138以及其他資產(chǎn)的“二進制數(shù)據(jù)塊(blobs) ”,以避免不注意地載入不正確的密鑰,并更好地對各個密鑰類型138的實際庫存等級進行跟蹤。由此,當導入密鑰時(例如在如圖7B中所示的DVD136上),根據(jù)密鑰類型將密鑰分隔在截然不同的“桶”中,而不是試圖向特定產(chǎn)品直接分配密鑰,然后在沒有必要地將針對該產(chǎn)品類型140使用的密鑰的數(shù)目和類型進行邏輯相關的情況下,由不同的名稱來指代該特定的產(chǎn)品。取而代之地,通過密鑰類型138來對密鑰進行簡單分隔,然后通過產(chǎn)品類型140抽象的方式來定義客戶定義的關聯(lián)。同樣地,當定義產(chǎn)品 140時,可以建立特定的許可,以使得產(chǎn)品140僅使用特定的密鑰類型,例如,來自于特定的分銷商。由于可以根據(jù)各種合同約束提供特定的密鑰類型138,對密鑰類型138的分隔和分配進行的更好控制確保了遵守這種合同約束。圖7B中還示出了密鑰轉換139,可以通過客戶特定的方式來使用密鑰轉換139,以修改特定的密鑰類型138。如圖7B所示,可以在導入密鑰時應用密鑰轉換139,例如,是否該密鑰類型138的密鑰總是要以該種方式轉換,以使得可以對所變換的密鑰類型138進行定義。備選地,可以在進行傳送之前或者傳送時應用密鑰轉換139,其中,在產(chǎn)品特定的基礎上或者在應用特定的基礎上對密鑰進行轉換。在又一個備選中,可以在向代理20傳送密鑰之前在裝置18處應用密鑰轉換139。當確定在何處應用密鑰轉換139時,應該基于密鑰轉換139位于何處來進行安全考慮,例如,當由于裝置18位置處的較低可信度,導致在裝置18處要求較高安全性??梢宰⒁獾剑ㄟ^如圖所示分隔密鑰類型138和產(chǎn)品類型140,可以將轉換139與產(chǎn)品140而不是密鑰類型138相關聯(lián),以最小化所要求的密鑰類型138的數(shù)目。換言之,當導入時,可以將密鑰類型138分隔地存儲,并且根據(jù)產(chǎn)品類型140執(zhí)行密鑰轉換139,以避免添加又一個密鑰類型138以及這可能導致的潛在混淆。一旦定義了密鑰類型138,可以使用⑶I 8將該類型的密鑰從密鑰文件(例如,經(jīng)由DVD 136)導入到控制器22上。然后,操作人員可以使用⑶I 8來指定要向裝置18發(fā)送的密鑰的數(shù)目。如果已經(jīng)定義了散列,那么AMS 10驗證該散列值。不管同步操作何時發(fā)生,在安全、加密的連接上(例如,SSL)向在制造商位置處的裝置18發(fā)送密鑰,在本示例中,自動地發(fā)送。然后,可以使用代理API 21或守護程序API 23,通過產(chǎn)品名稱請求密鑰。當代理20取回密鑰時,其請求產(chǎn)品或者該產(chǎn)品的單位數(shù)目。裝置18查詢與該產(chǎn)品綁定的所有密鑰類型,并返回針對各個密鑰類型的指定數(shù)目的密鑰。然后,代理20將密鑰注入到裝配線上的每個管芯中??梢詫⒚荑€注入產(chǎn)品綁定到至少一個裝置18,各個綁定具有最小和最大的庫存等級。當將產(chǎn)品綁定到裝置18時,控制器22將其密鑰的庫存保持在指定的最大等級。一旦已經(jīng)從控制器22向裝置18發(fā)送了庫存,便不能召回或者撤銷密鑰??刂破?2跟蹤針對各個密鑰類型138已經(jīng)注入了多少密鑰,并使得這些結果在⑶I 8上可獲得。圖9示出了用于執(zhí)行密鑰注入服務的示例序列圖??梢钥闯?,當與順序化相比較時,密鑰注入也具有將密鑰從文件導入的步驟,然而,可以意識到,也可以由控制器22產(chǎn)生密鑰,并且是在定義密鑰類型的時候進行。因此,圖9中示出的序列僅用于示出的目的。當實現(xiàn)針對密鑰注入的AMS 10時,在將密鑰數(shù)據(jù)導入到控制器22上后,不應該以明文方式存儲密鑰數(shù)據(jù)。解密僅應該發(fā)生在裝置18向代理20傳送密鑰時,除非使用了 ACC12,在使用ACC 12的這種情況下,不對數(shù)據(jù)解密,直到ACC 12對該數(shù)據(jù)進行了處理(S卩,通過處理FCT 50內(nèi)的密鑰)。密鑰類型138具有定義了文件中的密鑰格式的若干屬性。針對HDCP_TX密鑰,下面在表I中提供了一般的密鑰類型定義。
名稱HDCP—TX 最小長度為I個字符并且最大長度
為256個字符的字符串,其唯一地
__標識密鑰類型。_
總長度308__密鑰字節(jié)流的總長度。_
密鑰唯一 id O密鑰字節(jié)流中基于O的偏移,在其
偏移___中可以發(fā)現(xiàn)密鑰標識符。_
密鑰唯一 id 8密鑰標識符的長度。
長度___
密鑰數(shù)據(jù)偏 8 密鑰字節(jié)流中基于O的偏移,在其 __中可以發(fā)現(xiàn)密鑰數(shù)據(jù)_
權利要求
1.一種用于管理電子資產(chǎn)的方法,所述方法包括 提供能夠通信連接到控制器的裝置,所述裝置被配置為從所述控制器獲得電子資產(chǎn),所述裝置向多個代理提供通信連接,所述多個代理被配置為將所述電子資產(chǎn)應用到設備;以及 能夠在所述裝置上針對所述控制器和每個代理發(fā)起單獨的線程,以使得所述裝置能夠在并行線程中從所述控制器獲得資產(chǎn)并將所述電子資產(chǎn)分發(fā)至所述代理。
2.根據(jù)權利要求I所述的方法,其中,所述裝置包括在遠離所述控制器的制造設施處的服務器。
3.根據(jù)權利要求I或2所述的方法,其中,所述并行線程獨立操作,以將一個線程上的連接延遲與另一個線程分離。
4.一種包括計算機可執(zhí)行指令的計算機可讀介質,當執(zhí)行所述計算機可執(zhí)行指令時,所述計算機可執(zhí)行指令使計算設備 提供能夠通信連接到控制器的裝置,所述裝置被配置為從所述控制器獲得電子資產(chǎn),所述裝置向多個代理提供通信連接,所述多個代理被配置為將所述電子資產(chǎn)應用到設備;以及 能夠在所述裝置上針對所述控制器和每個代理發(fā)起單獨的線程,以使得所述裝置能夠在并行線程中從所述控制器獲得資產(chǎn)并將所述電子資產(chǎn)分發(fā)至所述代理。
5.一種包括處理器、存儲器在內(nèi)的裝置設備,所述裝置設備能夠與控制器設備通信連接以及能夠與多個代理通信連接,所述裝置設備被配置為 通信連接到控制器,從所述控制器獲得電子資產(chǎn),向多個代理提供通信連接,所述多個代理被配置為將所述電子資產(chǎn)應用到設備;以及 能夠在所述裝置上針對所述控制器和每個代理發(fā)起單獨的線程,以使得所述裝置能夠在并行線程中從所述控制器獲得資產(chǎn)并將所述電子資產(chǎn)分發(fā)至所述代理。
6.一種用于管理電子資產(chǎn)的方法,所述方法包括 提供被配置為獲得電子資產(chǎn)并向至少一個裝置提供所述電子資產(chǎn)的控制器,所述控制器包括至少一個用戶界面n;以及 能夠在所述控制器上針對每個n連接并針對所述至少一個裝置中的每一個裝置發(fā)起單獨的線程,以使得所述控制器能夠在并行線程中分發(fā)所述資產(chǎn)并處理UI交互。
7.根據(jù)權利要求6所述的方法,其中,所述控制器包括遠離至少一個制造設施的服務器,所述至少一個制造設施包括所述多個裝置中的相應裝置。
8.根據(jù)權利要求6或7所述的方法,其中,所述并行線程獨立操作,以將一個線程上的連接延遲與另一個線程分離。
9.一種包括計算機可執(zhí)行指令的計算機可讀介質,當執(zhí)行所述計算機可執(zhí)行指令時,所述計算機可執(zhí)行指令使計算設備 提供被配置為獲得電子資產(chǎn)并向至少一個裝置提供所述電子資產(chǎn)的控制器,所述控制器包括至少一個用戶界面n ;以及 能夠在所述控制器上針對每個n連接并針對所述至少一個裝置中的每一個裝置發(fā)起單獨的線程,以使得所述控制器能夠在并行線程中分發(fā)所述資產(chǎn)并處理n交互。
10.一種包括處理器、存儲器、至少一個用戶界面的控制器設備,所述控制器設備能夠通信連接到多個裝置,所述控制器設備被配置為 獲得電子資產(chǎn)并向至少一個裝置提供所述電子資產(chǎn),所述控制器包括至少一個用戶界面UI ;以及 能夠在所述控制器上針對每個n連接并針對所述至少一個裝置中的每一個裝置發(fā)起單獨的線程,以使得所述控制器能夠在并行線程中分發(fā)所述資產(chǎn)并處理n交互。
11.一種在制造過程中對向測試應用分發(fā)電子資產(chǎn)進行控制的方法,所述方法包括 在所述測試應用上提供守護程序應用編程接口 api,以當檢測到針對資產(chǎn)的請求時提供資產(chǎn),以及在測試期間從所述測試應用獲得日志數(shù)據(jù); 發(fā)起與所述守護程序API有關的守護程序,以從所述守護程序API獲得所述日志數(shù)據(jù)以及向所述守護程序API提供所述資產(chǎn),所述守護程序作為用于與遠離所述測試應用的裝置進行通信的代理API的宿主; 利用所述代理API,以獲得包括多個資產(chǎn)在內(nèi)的一批資產(chǎn)并與所述測試應用相分離地提供包含所述日志數(shù)據(jù)在內(nèi)的至少一個日志報告;以及 對所述資產(chǎn)進行高速緩存,以在所述守護程序API進行請求時向所述守護程序API提供一定數(shù)量的所述資產(chǎn),使得所述守護程序API能夠向所述測試應用提供所述資產(chǎn),從而避免在所述測試應用和所述裝置之間建立用于獲得所述電子資產(chǎn)的會話。
12.根據(jù)權利要求11所述的方法,還包括 對所述日志報告進行高速緩存;以及 向所述裝置提供所述日志報告。
13.根據(jù)權利要求11或12所述的方法,其中,所述守護程序API包括資源管理系統(tǒng),用于實現(xiàn)資源管理過程,以及將所述過程注冊到所述守護程序,以指示何時獲取所述資產(chǎn)并發(fā)送回日志數(shù)據(jù)。
14.根據(jù)權利要求13所述的方法,其中,所述資源管理系統(tǒng)通過名稱將所述過程與特定產(chǎn)品簡檔相關聯(lián)。
15.根據(jù)權利要求13或14所述的方法,其中,所述守護程序保留在所述測試應用終止時未使用的資產(chǎn)的記錄。
16.—種包括計算機可執(zhí)行指令的計算機可讀介質,當執(zhí)行所述計算機可執(zhí)行指令時,所述計算機可執(zhí)行指令使至少一個計算設備 在所述測試應用上提供守護程序應用編程接口 API,以當檢測到針對資產(chǎn)的請求時提供資產(chǎn),以及在測試期間從所述測試應用獲得日志數(shù)據(jù); 發(fā)起與所述守護程序API有關的守護程序,以從所述守護程序API獲得所述日志數(shù)據(jù)以及向所述守護程序API提供所述資產(chǎn),所述守護程序作為用于與遠離所述測試應用的裝置進行通信的代理API的宿主; 利用所述代理API,以獲得包括多個資產(chǎn)在內(nèi)的一批資產(chǎn)并與所述測試應用相分離地提供包含所述日志數(shù)據(jù)在內(nèi)的至少一個日志報告;以及 對所述資產(chǎn)進行高速緩存,以在所述守護程序API進行請求時向所述守護程序API提供一定數(shù)量的所述資產(chǎn),使得所述守護程序API能夠向所述測試應用提供所述資產(chǎn),從而避免在所述測試應用和所述裝置之間建立用于獲得所述電子資產(chǎn)的會話。
17.一種用于在資產(chǎn)管理系統(tǒng)中遠程分離的模塊之間進行安全通信的方法,所述方法包括 在所述系統(tǒng)中的每個模塊處提供用于在安全邊界中執(zhí)行敏感操作的硬件安全模塊HSM ;以及 在每個HSM中提供包括源代碼在內(nèi)的功能模塊,所述源代碼用于實現(xiàn)對所述安全邊界中的所述操作進行保護的非傳統(tǒng)操作。
18.一種硬件安全模塊HSM,包括 安全邊界,用于執(zhí)行敏感操作;以及 功能模塊,包括用于實現(xiàn)對所述安全邊界中的所述操作進行保護的非傳統(tǒng)操作的源代碼。
19.一種用于向設備分發(fā)電子資產(chǎn)的方法,所述方法包括 定義要添加到設備的第一資產(chǎn); 定義要添加到所述設備的第二資產(chǎn); 定義產(chǎn)品類型并將所述第一資產(chǎn)和所述第二資產(chǎn)與所述產(chǎn)品類型相關聯(lián);以及 針對與所述產(chǎn)品類型相關聯(lián)的每個設備,同時分發(fā)所述第一資產(chǎn)和所述第二資產(chǎn)。
20.根據(jù)權利要求19所述的方法,其中,所述第一資產(chǎn)是以下各項之一 序列號、密鑰以及特征集合。
21.根據(jù)權利要求19或20所述的方法,其中,所述第二資產(chǎn)是以下各項之一 序列號、密鑰以及特征集合。
22.—種包括計算機可執(zhí)行指令的計算機可讀介質,當執(zhí)行所述計算機可執(zhí)行指令時,所述計算機可執(zhí)行指令使計算設備 定義要添加到設備的第一資產(chǎn); 定義要添加到所述設備的第二資產(chǎn); 定義產(chǎn)品類型并將所述第一資產(chǎn)和所述第二資產(chǎn)與所述產(chǎn)品類型相關聯(lián);以及 針對與所述產(chǎn)品類型相關聯(lián)的每個設備,同時分發(fā)所述第一資產(chǎn)和所述第二資產(chǎn)。
全文摘要
提供資產(chǎn)管理系統(tǒng),包括作為主服務器操作并位于電子設備制造商的總部處的至少一個控制器,以遠程控制它們在任何全球位置處的操作??刂破骺梢酝ㄟ^互聯(lián)網(wǎng)或其他網(wǎng)絡遠程通信,以控制至少一個輔助或遠程服務器,本文中將輔助或遠程服務器稱為裝置。裝置可以位于不同的制造、測試或分發(fā)地點??刂破骱脱b置包括硬件安全模塊(HSM),用于執(zhí)行敏感的和高信任度的計算,存儲敏感信息(比如私鑰),執(zhí)行其他加密操作,并在組件之間建立安全連接。HSM用于創(chuàng)建在控制器和裝置之間的安全端點,以及創(chuàng)建在裝置和設備中嵌入的資產(chǎn)控制核心中的安全信任點之間的安全的端點。
文檔編號G06Q10/06GK102625939SQ201080030994
公開日2012年8月1日 申請日期2010年7月12日 優(yōu)先權日2009年7月10日
發(fā)明者基爾安·史密斯, 托馬斯·魯?shù)婪颉な┑倌? 理查德·格溫·瓊斯, 金·哈克·源 申請人:塞爾蒂卡姆公司