TWI747836B - 裝置出生憑證 - Google Patents

裝置出生憑證 Download PDF

Info

Publication number
TWI747836B
TWI747836B TW105125471A TW105125471A TWI747836B TW I747836 B TWI747836 B TW I747836B TW 105125471 A TW105125471 A TW 105125471A TW 105125471 A TW105125471 A TW 105125471A TW I747836 B TWI747836 B TW I747836B
Authority
TW
Taiwan
Prior art keywords
integrated circuit
security
programmable integrated
programming
programmable
Prior art date
Application number
TW105125471A
Other languages
English (en)
Other versions
TW201717092A (zh
Inventor
古拉蒂雷傑夫
安布洛斯安東尼
Original Assignee
美商數據輸出入公司
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 美商數據輸出入公司 filed Critical 美商數據輸出入公司
Publication of TW201717092A publication Critical patent/TW201717092A/zh
Application granted granted Critical
Publication of TWI747836B publication Critical patent/TWI747836B/zh

Links

Images

Classifications

    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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/73Protecting 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 by creating or determining hardware identification, e.g. serial numbers
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Programmable Controllers (AREA)
  • Stored Programmes (AREA)

Abstract

針對一可編程裝置產生一裝置識別。產生一安全金鑰以保護該可編程裝置的一內容。以該裝置識別及該安全金鑰產生一裝置出生憑證。在該可編程裝置之製造的時間以該裝置出生憑證編程該可編程裝置。

Description

裝置出生憑證
實施例大致關於安全編程系統,且更具體而言是關於安全技術。
此段落中所述的方法是可推行的方法,但不一定是先前已構思或推行的方法。因此,除非原本指示,不應僅因為此段落中所述的任何方法被包括在此段落中就假設該等方法有資格作為先前技術。
電子電路板組件的某些操作遠離於主要生產組件線路而執行。儘管各種饋入器機器及機器人處置系統以積體電路填充電子電路板,關於處理積體電路的操作(例如編程、測試、校驗及量測)一般執行於單獨設備上的單獨區域中,而不是整合進主要生產組件線路。
可定制的積體電路或裝置(例如快閃記憶體(Flash)、電子可抹除可編程唯讀記憶體(EEPROM)、可編程邏輯裝置(PLD)、現場可編程閘極陣列(FPGA)及併入非依電性記憶體構件的微控制器)可配置為具有單獨的編程設備。編程設備通常位於遠離電路板組件線路的單獨區域中。
在本發明的一個實施例中,一種系統包括:一伺服器,針對一可編程裝置產生一裝置識別;一安全控制器,產生一安全金鑰,以保護該可編程裝置的一內容;及一編程器,產生一裝置出生憑證,該裝置出生憑證包括該裝置識別及該安全金鑰,且該編程器在該可編程裝置之製造的時間將該可編程裝置編程為具有該裝置出生憑證。
在本發明的另一個實施例中,一種方法包括以下步驟:針對一可編程裝置產生一裝置識別;產生一安全金鑰,以保護該可編程裝置的一內容;產生一裝置出生憑證,該裝置出生憑證包括該裝置識別及該安全金鑰;及在該可編程裝置之製造的時間將該可編程裝置編程為具有該裝置出生憑證。
在本發明的進一步實施例中,一或更多個非暫時性電腦可讀取媒體儲存指令,該等指令在由一或更多個計算裝置執行時,造成以下操作:針對一可編程裝置產生一裝置識別;產生一安全金鑰,以保護該可編程裝置的一內容;產生一裝置出生憑證,該裝置出生憑證包括該裝置識別及該安全金鑰;及在該可編程裝置之製造的時間將該可編程裝置編程為具有該裝置出生憑證。
在以下的說明中,為了解釋的目的,為了提供本發明的徹底了解而闡述許多特定細節。然而,將是消楚的是,可在沒有這些特定細節的情況下實行本發明。在其他實例中,熟知的結構及裝置以方塊圖的形式圖示,以避免不必要地模糊化本發明。
依據以下概述在本文中描述實施例: 1.0. 一般概述 2.0. 結構概述 3.0. 功能概述 4.0. 示例實施例 5.0. 實施機構—硬體概述 6.0. 延伸及替代方案 1.0. 一般概述
為了以安全的方式供應可編程裝置而揭露方法、技術及機構。安全編程系統可個別加密目標資料及代碼酬載,且接著將資訊編程進各個個別的可編程裝置。安全編程系統可產生定制的酬載封包,該定制的酬載封包僅可由具有正確安全金鑰的系統或裝置解密。此類定制可能需要符合由微控制器具有添加安全特征之趨勢所設定的需求。
已存在針對日益增加之密度及速度的裝置進行全球製造及編程的需求。編程資料可能通常產生於一個洲上且編程於另一洲中。原始設備製造者(OEM)可能頻繁地產生編程影像,但多個合約製造者(CM)或編程中心可能使用該等影像將資料編程進部件或裝置。如此,編程資料的安全性及可追溯性對於OEM及CM來說是非常重要的。
安全金鑰的配置可控制可編程裝置的操作。安全金鑰可允許僅在可編程裝置被識別為有效之時編程或存取可編程裝置。可編程裝置可包括記憶體晶片、印刷電路板(PCB)、電子裝置(例如智慧型手機、媒體播放器等等)、微控制器、微處理器、應用處理器、可編程邏輯裝置、現場可編程閘極陣列、其他消費者及工業電子裝置等等。
為了強化可編程裝置的安全性及可追溯性,數位「出生」憑證可在可編程裝置的製造期間注入進可編程裝置。出生憑證可允許裝置具有獨一的身份,使其可被授權為在CM或OEM設施處編程以具有特定計算機能。出生憑證亦可允許裝置最終由經授權的使用者所使用。
在裝置的製造期間編程進出生憑證的身份僅允許存取有效或經授權的裝置或僅允許該等裝置的操作。在沒有如此身份的情況下,其他方法容易使得未經授權的、假的或仿製的裝置在系統中被使用。可使用獨一識別符來辨識身份,該獨一識別符用以驗證裝置是否是真貨。獨一識別符的示例可為裝置的序列號、製造或編程裝置的位置、製造裝置之製造者的名稱、製造或編程裝置的時間等等。
獨一識別符的另一示例可為要編程進裝置的韌體版本、可同加密技術使用以保護出生憑證或裝置中其他資訊的安全金鑰(或多個)類型等等。為了甚至更安全地製造裝置,以上所給定之示例的任何組合可用以使得任何非法意圖更難以製造、使用、複製裝置或其內容等等。
在裝置被製造的時間使出生憑證嵌入於裝置中消除了假的裝置。出生憑證可安全地儲存在不能被未授權使用者篡改或非法存取的裝置區域中。這擊垮了裝置的仿製或複製。
在其他態樣中,本發明包括配置為實現上述技術的電腦裝置及電腦可讀取媒體。 2.0. 結構概述
現參照圖1,依據一實施例,安全編程系統100之各種態樣的說明圖圖示於圖1中,可在該安全編程系統100中實行本文中所述的技術。安全編程系統100可以密碼資訊個別配置資料裝置及主動的、受信任的裝置,以提供安全的編程及操作環境。
安全編程系統100包括具有編程器112的至少一編程單元110、安全控制器114、安全金鑰106、用於耦合至可編程裝置的轉接器、第一安全模組116、第二安全模組118及第n安全模組120。安全編程系統100可耦合至安全主系統104,該安全主系統104具有安全主存儲系統102。
安全主系統104及安全主存儲系統102可產生及安全地儲存安全金鑰106。例如,安全金鑰106可用於加密技術演算法、裝置認證、代碼簽署、資料加密、資料解密等等。
例如,用於加密技術演算法的安全金鑰106可包括單一的對稱金鑰、非對稱金鑰對偶等等。並且,例如,用於裝置認證或代碼簽署的安全金鑰106可包括非對稱的公開-私密金鑰對偶等等。進一步地,例如,用於資料加密或解密的安全金鑰106可包括用於對稱加密/解密的單一對稱金鑰、具有用於非對稱加密/解密之公開金鑰及私密金鑰的非對稱金鑰對偶等等。
作為一實例,單一的對稱金鑰可由用於一加密技術的演算法所使用,該加密技術將相同的密碼金鑰用於明文的加密及密文的解密兩者。金鑰可為相同的,或可能在兩個金鑰之間存在簡單的變換。金鑰可表示二或更多個裝置之間的共享秘密,該共享秘密可用以維持私密資訊鏈路。
作為另一實例,非對稱的金鑰對偶可由用於公開金鑰加密技術或非對稱加密技術的演算法所使用。非對稱金鑰對偶可由使用以下金鑰之對偶的任何密碼系統所使用:與私密金鑰配對之可能被廣為傳播的公開金鑰,該等私密金鑰可能僅由該等私密金鑰的擁有者所知道。例如,非對稱金鑰對偶可具有至少兩個功能:使用公開金鑰來認證資訊是源自經配對之私密金鑰的持有者,或以公開金鑰加密資訊,以確保只有經配對之私密金鑰的持有者可解密該資訊。
例如,在公開金鑰加密系統中,傳送裝置可使用接收裝置的公開金鑰來加密資訊,但僅可以接收裝置的私密金鑰來解密此類資訊。為了讓這作用,使用者可能能夠計算地產生用於加密及解密的公開及私密金鑰對偶。公開金鑰加密技術系統的強度可仰賴從適當產生之私密金鑰之相對應的公開金鑰決定該私密金鑰的困難程度(例如計算的不可行性)。安全性接著可僅取決於將私密金鑰保持私密,且可發佈公開金鑰而不妥協安全性。
系統100包括一或更多個計算裝置。這些一或更多個計算裝置包括配置為實施本文中所述之各種邏輯元件(包括具有編程器112之編程單元110、安全控制器114、轉接器、第一安全模組116、第二安全模組118及第n安全模組120的元件)之硬體及軟體的任何組合。例如,該一或更多個計算裝置可包括儲存用於實施本文中所述之各種元件之指令的一或更多個記憶體、配置為執行儲存於該一或更多個記憶體中之指令的一或更多個硬體處理器及用於儲存由該等各種元件所利用及操控之資料結構之該一或更多個記憶體中的各種資料儲存庫。
編程單元110可為用於將資料、元資料及代碼編程至可編程裝置128上的安全系統。編程單元110可從安全主系統104接收安全資訊,處理該資訊,且向可編程裝置128傳輸個別配置版本的安全資訊。
編程單元110可包括編程器112。編程器112可為用於實體編程可編程裝置128的電機系統。例如,編程器112可接收包含可編程裝置128的盤,將可編程裝置128電耦合至轉接單元及將安全資訊傳輸進可編程裝置128。編程單元110可從可編程裝置128中的各者接收個體化狀態資訊,且在個別裝置的基礎上定制傳輸至可編程裝置128中之各者的安全資訊。例如,可編程裝置128中的各者可接收個別的資訊區塊,該資訊區塊不同於傳輸至可編程裝置中之其他者的資訊。
編程器112可耦合至可用以存取可編程裝置128之轉接器中的一或更多者。轉接器可包括第一轉接器122、第二轉接器124及第n轉接器126。
在一說明性實例中,第一轉接器122可為可用以將可編程裝置中之一或更多者電連接至編程器112的硬體裝置。編程器112可接著向可編程裝置128中的一者傳輸安全資訊的一個版本。第一轉接器122可包括用於安裝可編程裝置128的一或更多個插槽。第一轉接器122可包括用以安裝積體電路的插槽、連接器、零插入力(ZIF)插槽或類似裝置。
儘管轉接器被描述為用於安裝可編程裝置128的電機單元,了解的是,轉接器亦可具有其他實施方式。例如,若可編程裝置128為獨立的電子裝置(例如手機、消費者電子裝置、電路板或具有主動元件的類似裝置),則轉接器可包括用以與可編程裝置128通訊的機構。轉接器可包括纜線鏈路、無線通訊鏈路、電子資料匯流排介面、光學介面、用於系統中編程(ISP)的釘床接點或夾具或任何其他通訊機構。
ISP(亦稱為電路內串列編程(ICSP))可指以下能力:晶片(例如可編程邏輯裝置、微控制器、其他嵌入式裝置等等)在被安裝於系統的同時被編程,非不是在將晶片安裝進系統之前編程晶片。ISP可使用編程協定以供編程裝置(例如周邊介面控制器(PIC)微控制器、Parallax Propeller等等)。
可編程裝置128為可由編程單元110供應安全資訊的裝置。例如,可編程裝置128可包括資料裝置,例如快閃記憶體單元、可編程唯讀記憶體、安全資料存儲裝置或其他資料存儲裝置。
供應步驟可包括向裝置傳輸資料及/或代碼資訊。例如,可藉由以資料編程快閃記憶體單元來供應快閃記憶體單元。
可編程裝置128亦可包括受信任裝置130,該等受信任裝置130包括安全資料及安全編程資訊。例如,可編程裝置128可包括受信任裝置130,例如手機、硬體安全模組、受信任的編程模組、電路板或類似裝置。
資料裝置132可包括任何數量的裝置,例如第一資料裝置134、第二資料裝置136及第n資料裝置138。受信任裝置130可包括任何數量的受信任裝置,例如第一受信任裝置140、第二受信任裝置142及高達第n受信任裝置144。
可各供應可編程裝置128個別定制的安全資訊。因此,可編程裝置128中的各者可包括單獨的安全金鑰106的集合,該等安全金鑰106可用以個別加密儲存於可編程裝置128中的資料。這提供了以下能力:在可編程裝置128中的各者上不同地加密安全資訊148以最大化安全性。
可編程裝置128可配置為包括經配對裝置146。經配對裝置146為可編程裝置128中可共享安全金鑰106中之一或更多者的二或更多個可編程裝置128。這可允許經配對裝置146中的各者偵測及認證相同群組中之經配對裝置146中的另一者。因此,可與經配對裝置146中的另一者共享來自經配對裝置146中之一者的資料。這可允許例如以下機能:共享資訊、認證經配對裝置146中的二或更多者之間的雙向安全通訊通道、識別其他相關的裝置、或其組合。
在一說明性實例中,安全編程系統100可用以建立經配對裝置146中的一者,使得第一資料裝置134(例如系統資訊模組(SIM)晶片)與第一受信任裝置140(例如智慧型手機)配對。在此配置中,可針對經配對裝置146以安全金鑰106編程第一資料裝置134及第一受信任裝置140兩者。因此,第一受信任裝置140可驗證第一資料裝置134的安全資訊148(例如序列號),以認證第一受信任裝置140被允許使用第一資料裝置134上的其他資訊。
編程單元110可包括耦合至編程器112的安全控制器114。安全控制器114為用於處理安全資訊的計算裝置。安全控制器114可包括特定加密技術及計算硬體,以促進處理密碼資訊。例如,安全控制器114可包括量子電腦、平行計算電路系統、配置為處理安全資訊的現場可編程閘極陣列、共處理器、陣列邏輯單元、微處理器或其組合。
為了說明的目的,安全控制器114圖示為遠離編程器114的單獨單元,儘管了解的是,可以不同的方式實施安全控制器114。例如,安全控制器114及編程器112可實施於相同的實體硬體單元、裝置、系統等等中。
安全控制器114可為特別配置為防止在安全資訊之處理的輸入、中間或最終階段處未授權地存取安全資訊的安全裝置。安全控制器114可提供供安全代碼構件執行於其中的安全執行環境。例如,安全控制器114可為硬體安全模組(HSM)、微處理器、受信任的安全模組(TPM)、專用安全單元或其組合。
安全控制器114可耦合至安全模組,以提供特定安全機能。安全模組可包括第一安全模組116、第二安全模組118及第n安全模組120。安全模組中的各者可提供特定安全機能,例如識別、認證、加密、解密、驗證、代碼簽署、資料抽取或其組合。
例如,第一安全模組116可配置為向標準化的通用安全功能集合提供應用編程介面(API)。在另一實例中,第二安全模組118可為專用硬體及軟體的組合,以提供更快速的資料加密及解密。
編程單元110可包括安全金鑰106中之一或更多者的安全存儲器。可在安全編程系統100內部運算安全金鑰106、可外部地運算及由安全編程系統100接收安全金鑰106或其組合。
安全金鑰106可用以加密及解密安全資訊。安全金鑰106可用以實施不同的安全方法學及協定。例如,安全金鑰106實施公開金鑰加密系統。在另一實例中,安全金鑰106可用以實施不同的安全協定或方法學。儘管安全金鑰106可被描述為公開金鑰加密系統,了解的是,安全金鑰106可用以實施不同的安全典範。
安全編程系統100之優點中的一者包括以下能力:供應可編程裝置128中的各者不同的安全金鑰106集合及由個別安全金鑰106所加密之安全資訊148的不同版本。這可確保的是,用以解密可編程裝置128中之一者上之安全資訊148的安全金鑰106不能用以解密可編程裝置128中之另一者上的安全資訊。可編程裝置128中的各者可具有安全金鑰106中的單獨的一個安全金鑰106,以提供最大保護。
現參照圖2,其中圖示了安全編程系統100的示例方塊圖。安全編程系統100可包括一系統拓樸,該系統拓樸包括連接至編程器112的安全控制器114,該編程器112與主控電腦202及許多轉接器(例如122、124、126等等)接合。轉接器中的各者可與許多可編程裝置128接合。
主控電腦202可包括一系統,該系統與編程器112接合,以交換命令及資料以安全地配置、編程、驗證、分析可編程裝置128等等。例如,主控電腦202可為安全主系統104、安全主存儲系統102、伺服器、工作站等等。
為了說明的目的,所示的各轉接器連接至八個可編程裝置128,儘管了解的是,各轉接器可連接至任何數量的可編程裝置128。例如,可編程裝置128可表示(但不限於)以下中的任何者:待測裝置(DUT)、積體電路、媒體等等。
並且,例如,各轉接器可連接至任何類型的可編程裝置128或可編程裝置128的任何組合,包括(但不限於)積體電路、媒體、電子裝置、微控制器、微處理器、應用處理器、可編程邏輯裝置、FPGA、智慧型手機、平板電腦、膝上型電腦、電腦、機上盒、行動裝置、遊戲機、顯示裝置、PCB、媒體播放器、手機、智慧型手機、物聯網(IoT)裝置、消費者或工業電子裝置、任何其他電子裝置等等。進一步地,例如,媒體可包括(但不限於)以下中的任何者:依電性記憶體、非依電性記憶體、硬碟、固態硬碟(SSD)可移除式驅動器、光碟唯讀記憶體(CD-ROM)或CD-R碟、數位多功能光碟(DVD)、快閃記憶體、通用序列匯流排(USB)驅動器等等。
安全編程系統100可例如由快閃記憶體供應商、電子裝置製造者、編程中心、合約製造者(CM)等等所使用,以編程可編程裝置128。安全編程系統100可用以針對線上或離線編程編程可編程裝置128。
例如,由編程器112進行之可編程裝置128的線上編程可由主控電腦202、安全控制器114、網路等等的任何組合控制或連接至該任何組合。並且,例如,可編程裝置128的離線編程可包括藉由主控電腦202、安全控制器114、網路等等的任何組合設置編程器112的程序,且編程器112後續可在不受主控電腦202、安全控制器114、網路等等進一步干預的情況下編程可編程裝置128。
可編程裝置128可包括(但不限於)以下中的任何者:記憶體晶片、電路板、電子裝置(例如智慧型手機、媒體播放器、其他消費者及工業電子裝置等等)等等。例如,可編程裝置128可由編程器112所編程,該編程器112可最佳化或配置為用於以至少16 GB的記憶體密度編程高密度eMMC裝置。
現參照圖3,其中圖示了安全編程系統100的第二示例方塊圖。安全編程系統100可包括許多編程單元110。各編程單元110可包括主板302,該主板302與快取模組304及插板(interposer)306接合。
主板302可包括許多印刷電路板,該等印刷電路板管理編程單元110的編程操作。主板302可與主控電腦202或可編程裝置128交換控制資訊或酬載資訊。主板302可包括供主板302與安全控制器114、主控電腦202等等通訊的網路介面308。
網路介面308可包括無線網路或有線網路。例如,無線網路可包括(但不限於)以下中的任何者:802.11、藍芽、其他類型的無線介面等等。並且,例如,有線網路可包括(但不限於)以下中的任何者:十億位元乙太網路(GigE)、用於區域網路(LAN)或都會區域網路(MAN)中的其他聯網技術等等。主板302可使用一作業系統(OS)來操作,該作業系統包括(但不限於)以下中的任何者:Linux、Windows、Macintosh、Android等等。
快取模組304可包括用於儲存或擷取安全資訊或可用以編程可編程裝置128之資訊的存儲容量。快取模組304可包括用於儲存程式影像資訊的任何存儲容量。例如,快取模組304可包括至少64 GB的用於儲存程式影像的存儲容量。
插板306(例如PCB、基板等等)可包括許多被動或主動組件310。插板306可包括組裝於插板306上的許多轉接器連接器312,以提供供主板302向可編程裝置128發送編程資訊或從可編程裝置128接收編程狀態或統計的介面。
轉接器連接器312可實體連接至插槽轉接器314,其中可在由安全控制器114、編程單元110等等配置、識別、認證或編程可編程裝置128之前可安裝可編程裝置128。插槽轉接器314可包括可個別替換的插槽。插槽轉接器314可表示圖1中所示的轉接器(例如122、124、126等等)。
在一或更多個實施例中,安全編程系統100可包括任何數量的機能及效能度量。例如,編程單元110可具有(但不限於)從主控電腦202到編程器112之使用GigE資料下載的每秒2千5百萬位元組(MB/s)的資料下載效能,其可為目前技術之下載速度的至少4倍。並且,例如,對於資料編程效能而言,編程單元110可具有(但不限於)52MHz雙倍資料速率(DDR)介面的速度,其為目前技術之速度的至少4X。
在一或更多個實施例中,安全編程系統100可包括任何編程器容量及可擴充性。例如,編程單元110可具有(但不限於)快取模組304中至少64 GB的本端快取記憶體的容量,其可為現場可升級至(但不限於)128 GB。
在一或更多個實施例中,安全編程系統100可包括每編程單元110任何數量的編程地點(例如插槽轉接器314),其中每個轉接器一個插槽。例如,安全編程系統100可被供應為支援(但不限於)每編程單元110八個編程地點,其為目前技術之每編程器編程地點數量的至少二倍。
在一或更多個實施例中,安全編程系統100可包括任何數量的編程單元110。例如,安全編程系統100可包括(但不限於)14個編程單元110。
在一或更多個實施例中,使用安全編程系統100極大地簡化了增加的下載速度。例如,編程單元110可為了改良生產力藉由最小化用於大檔案(例如包括(但不限於)至少10 GB等等)的設置時間來增加下載速度。對於大檔案下載而言,編程單元110可提供減少用於配置可編程裝置128、傳輸及儲存編程影像等等的設置時間,以最佳化機器利用及資料輸入/輸出(I/O)的總編程成本(TCOP)。
在一或更多個實施例中,可使用安全編程系統100極大地簡化改良的編程或驗證速度。編程單元110可以(但不限於)編程單元110及可編程裝置128間之介面的速度向可編程裝置128供應資料。了解的是,目前技術的編程或驗證速度還不能夠跟上編程器及裝置間之介面的速度。
編程單元110的最大編程/驗證速度可限於或取決於可編程裝置128的順序讀取/寫入速度。隨著裝置速度增加,編程單元110可以裝置速度編程或驗證可編程裝置128,而使用目前技術的其他編程器的速度是受限的,且因此不能跟上裝置速度。
例如,編程單元110可以(但不限於)以下中的任何者的速度編程或驗證可編程裝置128:在編程裝置時可用的最快速的eMMC裝置、安全裝置(SD)等等。並且,例如,對於目前可用之最快的eMMC裝置而言,編程單元110可以(但不限於)100 MB/s的速度編程或驗證可編程裝置128。
例如,編程單元110可使用雙倍資料速率(DDR)時脈以(但不限於)50 MHz的時脈速度來操作。並且,例如,對於32GB的影像而言,編程單元110可以最多19分鐘編程8個可編程裝置128,而使用目前技術的其他編程器僅可以至少26-42分鐘編程4個可編程裝置128或以至少33-49分鐘編程8個可編程裝置128。
安全編程系統100可包括增加的插槽容量。例如,安全編程系統100中的編程單元110可在安全編程系統100中一共支援(但不限於)112個插槽轉接器314。並且,例如,安全編程系統100可具有目前技術之插槽容量的至少3倍。進一步地,例如,安全編程系統100可具有1個編程處置器的總成本優勢,而不是目前技術的3個編程處置器。編程處置器是一單元,該單元被預先定義或預先配置為供編程單元110與特定類型的可編程裝置128接合。
現參照圖4,其中圖示了安全編程系統100的示例應用。該示例應用可由原始設備製造者(OEM)402所利用,以使用安全編程系統100的安全資料管理(SDM)架構來與電子製造服務(EMS)提供者404通訊,以編程可編程裝置128。
為了說明的目的,儘管EMS提供者404圖示為可編程可編程裝置128的設施實例,了解的是,任何設施可編程可編程裝置128。例如,編程中心或任何其他設施可編程可編程裝置128。
在一或更多個實施例中,SDM架構可包括用於工作產生、工作執行、裝置識別、裝置認證、裝置加密技術等等的程序,以安全及可靠地編程可編程裝置128。SDM架構可包括針對可追溯性及資料突破防止在可編程裝置128的製造期間將獨一安全資訊編程進可編程裝置128的程序。例如,可編程裝置128可包括(但不限於)以下中的任何者:物聯網(IoT)裝置、任何其他電子裝置等等。
針對具有各種互連裝置之全球網路的跨國公司(MNC),SDM架構可包括經連接的編程策略,該等互連裝置包括(但不限於)以下中的任何者:手機、汽車電子設備、電腦等等。SDM架構可允許消除庫存安全風險的海外製造策略及剛好及時(JIT)編程方法。
安全編程系統100可支援全球製造。安全編程系統100可提供具有從總部到製造地點之完全連接之基礎結構的SDM環境。
安全編程系統100可保全編程工作檔案免於產生於工程部門至廠區中,無論內部地於OEM設施處產生或遠端地在電子製造供應者(EMS)地點處產生。例如,EMS可表示合約製造者(CM)等等。安全編程系統100可在有JIT或離線自動化編程選項的情況下將對於編程工作檔案的存取僅限制於編程器112。
例如,編程工作檔案可由OEM工作站406產生。工作檔案可接著被發送至OEM本端伺服器408以排程要於OEM 402處測試的工作。工作檔案可被推送或發送至EMS本端伺服器410。EMS工作站412可選擇下載哪個工作及在EMS地點處的編程單元110上執行哪個工作。
安全編程系統100可提供以獨一的識別(ID)序列化各可編程裝置128。可使用序列化來產生獨一識別,該序列化可包括依序產生序列號及在裝置被編程時向裝置分配序列號的程序。序列號可獨一地識別各裝置。例如,序列化可施用於以下中的任何者或由以下中的任何者使用:積體電路、媒體、電子裝置、微控制器、微處理器、應用處理器、可編程邏輯裝置、FPGA、智慧型手機、平板電腦、膝上型電腦、電腦、機上盒、行動裝置、遊戲機、顯示裝置、PCB、媒體播放器、手機、智慧型手機、IoT裝置、消費者或工業電子裝置、任何其他電子裝置等等。
安全編程系統100可將工作檔案連結至編程演算法。安全編程系統100可提供充當獨一ID的編程統計。安全編程系統100可結合工作檔案、序列號、安全金鑰、編程資料統計等等,供編程器112產生裝置出生憑證504。如此,裝置出生憑證504可建立可信根(Root of Trust, RoT),該可信根可與其他安全特徵(例如識別、認證、加密技術等等)結合,以提供額外的安全級別。
現參照圖5,其中圖示了安全編程系統100的第二示例應用。第二示例應用描繪一SDM環境,該SDM環境可由EMS提供者404用於監測可編程裝置128的編程及從可編程裝置128的編程收集統計。在可編程裝置128的生產期間,可由編程單元110連續收集編程統計資料及向EMS本端伺服器410回報。統計資料可接著發送至OEM 402。
為了說明的目的,儘管EMS提供者404圖示為可編程可編程裝置128的設施實例,了解的是,任何設施可編程可編程裝置128。例如,編程中心或任何其他設施可編程可編程裝置128。
統計可發送至OEM雲端502,該OEM雲端502可按需要向電腦及其他裝置提供共享的處理資源及資料。OEM雲端502可包括基於網際網路的存儲器及計算資源(例如網路、伺服器、存儲器、應用程式、服務等等)。OEM雲端502可提供使用者及企業各種效能來儲存及處理資料中心中的資料。例如,OEM雲端502可包括OEM本端伺服器408、OEM工作站406等等。
可在任何時間框架(例如即時、預先定義的期間等等)上收集統計資料。可由OEM工作站406、OEM本端伺服器408等等於OEM位置處查詢統計資料。統計資料可包括編程資訊、序列號、其他獨一資訊等等,該等資訊針對用於各可編程裝置128的裝置出生憑證504建立獨一資訊。
在一或更多個實施例中,可以軟體(SW)實施工作產生程序。工作產生程序可不同於工作執行SW以消除操作員錯誤。
統計資料可包括編程度量報告,例如被消耗的、經編程的、藉由的、失敗的裝置數量等等。編程度量報告可用以改良可靠性及安全性。可靠性可將編程產量增加至大於99.5%。度量報告可提供更快速的裝置支援及減少TCOP 2/3。SDM環境可包括遠端監測應用程式介面(API)以收集及回報統計資料。
現參照圖6,其中圖示了安全編程系統100的第三示例方塊圖。第三示例方塊圖描繪安全編程系統100的序列化。
安全編程系統100可包括序列號伺服器602,以使用序列化來製造或產生序列號作為用於可編程裝置128之裝置出生憑證504的獨一簽章或識別符。安全編程系統100可包括裝置識別604,其可包括序列號,該裝置識別604可用以產生裝置出生憑證504。裝置出生憑證504可接著被儲存進可編程裝置128。
在一實施例中,序列號伺服器602、安全控制器114或認證單元606可為分離於編程器112或在編程器112外面的單元或元件。在另一實施例中,序列號伺服器602、安全控制器114、認證單元606等等的任何組合可整合進編程器112。
裝置識別604可為用於處理安全資訊的計算裝置。在一實施例中,裝置識別604可包括特定密碼及運算硬體以促進序列號的處理,來產生用於裝置出生憑證504的獨一識別符。在另一實施例中,序列號可直接用作獨一識別符,該等獨一識別符可不被加密。
裝置識別604可包括使用安全金鑰106的加密技術機構。作為一實例,密碼機構可包括(但不限於)公開金鑰或非對稱金鑰加密技術,其中可使用兩個不同但數學上相關的金鑰的對偶--公開金鑰及私密金鑰。作為另一實例,公開金鑰系統可經建構,使得一個金鑰(例如私密金鑰)的運算可在計算上從另一金鑰(例如公開金鑰)是不可行的,即使它們是相關的。可秘密地將公開及私密金鑰兩者產生為互相關聯的對偶。
例如,裝置識別604可實施於編程器112中,以在獨一識別符用以產生裝置出生憑證504及裝置出生憑證504被編程進可編程裝置128之前,使用編程器112的私密金鑰來加密獨一識別符。在可編程裝置128被編程之後擷取裝置出生憑證504時,可使用金鑰對偶的公開金鑰來解密經加密的獨一識別符。
安全編程系統100可包括認證單元606,該認證單元606儲存序列號以供進行後續處理。例如,在可編程裝置128被編程之後,經儲存的序列號可由認證單元606用以驗證從圖2的主控電腦202發送的序列號是否匹配經儲存之序列號中的一者。若匹配發生,則認證單元606可允許主控電腦202存取已由序列號識別的可編程裝置128。
安全編程系統100可包括安全控制器114以提供額外的保護級別。安全控制器114可提供安全金鑰,該安全金鑰可儲存於裝置出生憑證504中。可針對加密技術使用安全金鑰以加密或解密裝置出生憑證504的內容。
現參照圖7,其中圖示了一示例方塊圖,該示例方塊圖描繪安全編程系統100的動態更新解決方案。與由安全雲端704所提供的安全空中更新(secure over-the-air update)702及資料交換服務結合的情況下,用於IoT裝置的總體安全解決方案在使用安全編程系統100的情況下可為可能的。可在有或沒有具有安全機能的專屬矽晶片的情況下提供安全解決方案。
安全空中(OTA)更新702可包括向裝置(例如手機、機上盒、安全語音通訊設備、經加密的2路無線電等等)分佈新軟體、配置設定等等或更新加密金鑰的各種方法。安全空中(OTA)更新702可由安全雲端704所提供以向編程單元110發送韌體更新。安全雲端407可從伺服器706接收更新。例如,伺服器706可包括安全主存儲系統102、安全主系統104、安全金鑰16等等。
在一實施例中,伺服器706可向編程單元110發送安全資訊,以產生裝置出生憑證504,該裝置出生憑證504之後可被編程進可編程裝置128。在另一實施例中,伺服器706可產生裝置出生憑證504,及向編程單元110發送裝置出生憑證504,以在可編程裝置128中編程或儲存裝置出生憑證504。作為一實例,裝置出生憑證504可用於下游基於雲端的更新及資料分析服務,以針對可編程裝置128(包括IoT客戶端等等)安全地更新韌體(FW)及從已知的受信任端點擷取資料。
安全編程系統100可提供用於編程可編程裝置128的最佳選項。安全編程系統100可包括受管理的及安全的編程(MSP)機構以供進行基線編程。安全編程系統100可在編程可編程裝置128的時間將序列化添加為經整合的序列化。安全編程系統100可包括獨一演算法以定址微控制器、快閃記憶體、其他非依電性記憶體等等的私密一次性可編程(OTP)記憶體區域。
現參照圖8,其中圖示了一示例方塊圖,該示例方塊圖描繪製造安全編程系統100之外的端對端(E2E)解決方案。安全編程系統100可在沒有定制或專屬安全晶片(其增加了成本)的情況下提供端對端解決方案。
現存的方法針對在空中更新及認證上提供方法,但這些方法忽略了FW/SW及製造「信任根」的問題。現存的方法可提供需要額外晶片的裝置安全性,該等額外晶片施加了額外的材料單(BOM)、電力以及矽或板的不動產成本。
然而,安全編程系統100提供了具有額外益處的不同方法。安全編程系統100可不需要增加不動產、電力或材料單成本。安全編程系統100可為獨立的平台及生態系統,因為在安全編程系統100中不需要現存或額外的安全晶片。安全編程系統100可提供一基礎架構,其他方法可在該基礎架構上常駐或使用。安全編程系統100可對於矽供應者可為可用的,該等矽供應者在可編程裝置128在編程可編程裝置128之前的矽級別或系統級別下被製造時編程可編程裝置128。
安全編程系統100可包括安全資料管理(SDM)802,該安全資料管理802可包括具有製造監測程序的保護硬體解決方案機構。保護硬體解決方案機構可提供編程工作可在OEM設施處產生產品韌體及半導體裝置編程演算法。SDM 802可用於資料共享服務品質(QoS)、分佈式分析等等。
安全編程系統100可包括邊緣管理804,該邊緣管理804可用於可編程裝置128的裝置認證、裝置管理、應用程式更新等等。安全編程系統100可包括安全韌體管理806,該安全韌體管理806可用於韌體及安全憑認、核心裝置改變上的稽查證跡、統計收集等等。安全韌體管理806可涉及在使用安全空中更新702從安全雲端704接收更新資訊之後更新可編程裝置中的韌體。
編程工作可被加密且分配至世界各地任何地方的特定編程器112。若編程工作在具有經分配之編程器序列號的情況下到達編程器112,則工作檔案可被解密,且編程程序可開始。編程工作亦可包括OEM設施內的本端序列化。SDM 802可在各位置(例如OEM、EMS等等)處使用本端伺服器,以促進網路金鑰交換、工作加密、向製造設施進行工作傳輸、統計收集等等。
在可編程裝置128被編程時,可使用裝置出生憑證504。例如,裝置出生憑證504可包括程式裝置ID、出生憑認參數、編程器序列號或編程器ID、工作封包號碼、製造者ID等等。裝置出生憑證504可連結至工作封包或與工作封包相關聯,該工作封包實際上被編程進可編程裝置128。
裝置出生憑證504或裝置出生憑證504的元件可以各種特徵被儲存在可編程裝置128的安全非依電性記憶體區域中。安全非依電性記憶體區域中的各者可提供變化的安全性程度。例如,特徵可包括OTP區域、裝置私密OTP區域、硬體引信、唯讀記憶體(ROM)、寫入受保護記憶體、密碼控制的記憶體存取區域(例如重播受保護的記憶體區塊(RPMB)等等)等等。並且,例如,這些特徵可施用於可編程裝置128。
裝置私密OTP區域可具有不同於OTP區域之那些屬性的屬性。作為一實例,僅可由可編程裝置128內部存取或編程可編程裝置128的裝置私密OTP區域。作為另一實例,可由編程器112外部存取或編程或由可編程裝置128內部存取或編程可編程裝置128的OTP區域。
例如,裝置出生憑證504可常駐或儲存於OTP記憶體中,該OTP記憶體可為防篡改的。OTP記憶體可包括可編程記憶體,該可編程記憶體在該記憶體被編程之後不可被覆寫。並且,例如,裝置出生憑證504可儲存於可編程裝置128上之唯讀記憶體(ROM)的OTP區域中。加密可用以防止未授權地讀取OTP區域。
安全編程系統100可以裝置出生憑證504浸漬可編程裝置128。可針對裝置、板、系統等等採用裝置出生憑證504。
序列化可用於服務及可追溯性。可追溯性可用以決定裝置歷史、裝置在何處被製造的位置、編程裝置之編程器的位置、用以編程裝置的影像等等。
安全編程系統100可包括用於使用用於識別的裝置ID來認證及驗證的邊緣管理804。安全編程系統100可使用認證來防止可編程裝置128的反向工程。安全編程系統100可使用識別來識別可編程裝置128。認證及驗證/識別兩者可建立在裝置出生憑證504的基礎上。
裝置出生憑證504可提供信任根或信任基礎。裝置出生憑證504可針對動態更新提供安全性。裝置出生憑證504可針對首次啟動程序提供安全性,以確定編程是發生在已知的裝置上。
在一實施例中,使用裝置出生憑證504來極大地簡化安全性。因為裝置出生憑證504使用可編程裝置128的認證及驗證而提供額外的保護級別,安全性被改良了。
安全編程系統100可在信任根的基礎上包括另一信任根。例如,安全編程系統100可配置為在安全主存儲系統102、安全主系統104、安全編程系統100、編程器112、可編程裝置128等等開機之後具有許可金鑰。安全編程系統100可在編程單元110中提供一應用程式,該應用程式保全要發送至可編程裝置128且由可編程裝置128所利用的內容或資訊。
在一實施例中,安全編程系統100可在沒有額外硬體或安全晶片/裝置的情況下提供軟體解決方案。例如,安全編程系統100可使用編程器112中的軟體來將裝置出生憑證504編程進可編程裝置128。軟體可包括用以使用加密技術來識別或認證可編程裝置128的機能。
裝置出生憑證504可被儲存於具有任何尺寸的OTP記憶體中。例如,OTP記憶體可具有小於1千位元組(KB)。並且,例如,OTP記憶體可為快閃記憶體中的單獨分區。進一步地,例如,OTP記憶體可在重播受保護記憶體區塊中。
例如,OTP記憶體可包括任何尺寸(例如64 KB、128 KB、256 KB等等)的記憶體區域。並且,例如,安全編程系統100可使用記憶裝置中的現存區域或使用者資料區域,且接著可將該區域轉換或配置成OTP區域。
例如,裝置出生憑證504可為讀取受保護的或加密的,使得裝置出生憑證504不能被駭,以防止裝置出生憑證504被複製或變換。
序列化可用以產生序列號,該序列號對於各裝置或使用製造服務來編程裝置的客戶而言是獨一的號碼。序列號可包括裝置上獨一的資訊或戳記。例如,序列號可包括指示編程器112上之裝置位置的數值。並且,例如,可使用非電子方法來識別序列號,該等方法包括(但不限於)以下中的任何者:會需要光學方法來辨識裝置識別等等的無線射頻識別(RFID)標籤、貼紙、標記、識別符。
在一實施例中,使用裝置出生憑證504來極大地簡化可靠性。裝置出生憑證504可包括改良編程資料安全性及可追溯性的安全特徵或編程參數。該等編程參數可在大於可編程裝置128的99.5%編程產量的情況下維持可靠性。並且,安全編程系統100可提供更快速的定制裝置支援及槓桿自動化,藉此減少各裝置的編程總成本(TCOP)。
系統100僅繪示配置為提供本文中所述之機能之元件的許多可能佈置中的一者。其他佈置可包括更少、額外或不同的元件,且在元件之間的工作劃分可能取決於佈置而變化。例如,在某些實施例中,可忽略某些安全模組,加上僅由被忽略的元件(或多個)所依賴的任何其他元件。作為另一實例,在一實施例中,系統100可更包括多個序列號或其他系統識別符。 3.0. 功能概述
現參照圖9,其中圖示依據一實施例之裝置出生憑證504的實例。安全資訊148可包括(但不限於)在可編程裝置128之製造的時間編程至可編程裝置128的裝置出生憑證504。例如,裝置出生憑證504可實施於用於媒體相關服務(例如數位著作權管理(DRM)等等)、財務服務(例如電子付款等等)、個人識別等等的系統中。
在一或更多個實施例中,編程單元110可針對各可編程裝置128產生裝置出生憑證504。裝置出生憑證504可允許識別或認證可編程裝置128。未授權的、假的、或仿製的裝置可在裝置出生憑證504被編程單元110證明無效時由編程單元110拒絕或停用。
安全編程系統100可在製造的時間提供具有改良編程品質及安全性的獨一SDM技術。安全編程系統100可針對可編程裝置128產生裝置出生憑證504以建立信任根。裝置出生憑證504可儲存於裝置或媒體上。
本文中所指稱的用語「信任根」可指受信任或受保全的計算模組中的功能集合,該計算模組包括硬體元件、軟體元件或硬體及軟體元件的組合。例如,這些功能可實施於(但不限於)啟動韌體、硬體初始化單元、交叉檢查元件/晶片等等。並且,例如,可使用(但不限於)控制密碼處理器之操作的單獨計算引擎來實施該等功能。
安全編程系統100可提供具有在針對裝置及裝置資料之自始至終的安全性中扮演獨一角色的機構。在安全性中,成長及市場接受度的首要挑戰產生了公司投資於IoT中的障礙。該挑戰關於IoT之隱私及安全性態樣的考量。安全性例如以包括不安全的軟體/韌體及不充分的認證的IoT裝置的安全缺陷中的韌體(FW)開始。
在一或更多個實施例中,安全編程系統100可針對IoT裝置提供改良的安全性。安全編程系統100針對IoT裝置提供自始至終的安全性,且針對使用在製造時建立之信任根的所有系統保全任何位置處進行的製造。安全編程系統100可在裝置的壽命期間提供受保全的更新、資料分析或者端對端服務。
安全編程系統100可提供以編程及製造開始的安全性。安全編程系統100提供在製造的時間開始的安全性。安全性可由建立信任根供後續更新及資料分析的受控制的FW代碼、已證明未被篡改的編程及裝置出生憑證504所提供。
編程單元110可在製造可編程裝置128的時間將裝置出生憑證504注入或編程進各可編程裝置128。裝置出生憑證504可包括裝置特定的資訊或獨一的DNA。此程序可在製造裝置的時間針對各裝置建立獨一的信任根。
RoT可儲存於安全的存儲器中,該存儲器包括(但不限於)裝置上的防篡改的非依電性記憶體(NVM)區域。安全存儲器在裝置的有效壽命期間是可用的。信任根可用以供應裝置相關的服務。例如,裝置相關的服務可包括(但不限於)裝置識別、裝置認證、安全裝置供應、安全更新服務、媒體相關服務(例如DRM等等)、財務服務(例如電子付款等等)等等。
裝置出生憑證504可用以獨一地識別可編程裝置128、安全編程系統100、編程器112的任何組合。裝置出生憑證504可具有各種配置。在一或更多個實施例中,裝置出生憑證504可包括製造者標誌902、輸入的信任根(In_RoT)標誌904、序列號標誌906、軟體標誌908、製造標誌912、系統測試標誌914、操作標誌916、實體上不可仿製功能(PUF)標誌918、安全金鑰106、產品標誌920等等的任何組合。
製造者標誌902為可描述或識別可能製造或使用可編程裝置128之製造者的安全構件。例如,製造者標誌902可用以識別原始設備製造者(OEM)、電子製造服務(EMS)提供者、編程中心、合約製造者(CM)等等。製造者標誌902可包括製造者ID、編程公司ID、編程器ID、許可資訊、時間窗、製造者的經授權位置(例如郵政地址、地理座標等等)、經授權的工廠、產品批量尺寸、可編程裝置128的序列號範圍、其他OEM相關的參數等等。
In_RoT標誌904為可描述在編程可編程裝置128之前先前已編程或配置於可編程裝置128中之資訊的安全構件。可從先前所編程之可編程裝置128的裝置出生憑證504擷取In_RoT標誌904。
在一實施例中,先前所編程之可編程裝置128之裝置出生憑證504中的In_RoT標誌904可用以針對另一可編程裝置128產生裝置出生憑證504,該另一可編程裝置128可包括(但不限於)以下中的任何者:印刷電路板、電子元件或計算系統等等。在另一實施例中,先前所編程之可編程裝置128的裝置出生憑證504可以額外的安全構件、標誌、RoT等等重新編程。
在一或更多個實施例中,先前所編程的資訊可已編程進以下中的任何組合:用於編程可編程裝置128的轉接器(例如122、124、126等等)、編程器112、安全控制器114、安全主系統104、可編程裝置128、安全主存儲系統102、安全模組(例如116、118、120等等)等等。
例如,已經被編程之經編程裝置128的In_RoT標誌904可包括用以編程經編程裝置128的編程器識別(ID)。編程器ID可識別編程器112、編程單元110等等。
序列號標誌906是分配至各可編程裝置128的獨一資訊。可編程裝置128的序列號標誌906可不同於另一可編程裝置128的另一序列號標誌906,使得可不存在共享相同序列號標誌的兩個可編程裝置128。序列號標誌906可由編程器112所產生。各序列號標誌906可由編程器112分配至各可編程裝置128。例如,序列號標誌906可表示可編程裝置128的ID。
軟體標誌908為可描述或識別可編程裝置128中所使用之軟體的安全構件。例如,軟體標誌908可識別啟動加載器、OS、韌體、應用程式等等。
例如,軟體標誌908可識別可編程裝置128中所使用的韌體版本。並且,例如,可編程裝置128可為具有安裝於板上之韌體的印刷電路板。韌體標誌908可針對各個單獨的韌體構件識別版本號。韌體版本資訊可用以協調可編程裝置128中之代碼構件之間的可交互運作性。
例如,軟體標誌908可包括關於可編程裝置128中所使用的韌體如何可被驗證的資訊。可使用一驗證方法來驗證可編程裝置128中所使用的韌體,該驗證方法可偵測韌體代碼是否已被變換、損毀或破解。作為一實例,驗證方法可包括(但不限於)以下中的任何者:散列函數、檢查總和、資料加密標準(DES)演算法、先前加密標準(AES)演算法、三元DES演算法、MD4訊息摘要演算法、MD5演算法、安全散列演算法1及2、任何其他演算法等等。
製造標誌912為可描述一或更多個製造屬性的安全構件。製造標誌912可包括在元件被製造時與該等元件相關聯的資訊。例如,製造標誌912可包括(但不限於)以下中的任何者:編程器112的編程器ID、客戶ID、元件之製造或編程的位置(例如地理座標等等)、元件之製造或編程的日期或時間、時間窗、工廠或製造者ID、供應商ID、客戶ID、OEM識別資訊、MES識別資訊、製造設備資訊、製造相關的參數等等。
並且,例如,製造標誌912可包括跟EMS提供者立約要建造、組裝、編程、測試可編程裝置128等等的公司或OEM的客戶ID。進一步地,例如,製造標誌912可包括指向工作封包儲存於雲端中之處的全球資源定位器(URL)識別符、修訂控制ID或可用以決定相較於裝置在其為未經編程的裝置時的狀態而言在裝置上有何物的資訊等等。
系統測試標誌914為可描述測試環境的安全構件。例如,系統測試標誌914可包括傳達用以配置編程器112之測試參數的資訊。並且,例如,系統測試標誌914可包括執行來驗證可編程裝置128的測試結果。在此實例中,系統測試標誌914可包括指示各可編程裝置128是否藉由或不藉由憑證測試、相容性測試等等的資訊。
操作標誌916為可針對可編程裝置128描述操作屬性的安全構件。操作標誌916可包括(但不限於)以下中的任何者:操作電壓、電壓模式、電流位準、功耗、加熱因子、關鍵操作頻率、操作順序資訊、操作參數等等。
PUF標誌918為可描述可編程裝置128中所實施之物理實體類型的安全構件。PUF可為實現於可編程裝置128之實體結構中的物理實體。PUF可被評估但不可被預測。並且,個別的PUF裝置可被製造,但幾乎不可能複製,即使給定生產該裝置的精確製造程序。PUF可實施於可編程裝置128的積體電路中。PUF可用於安全資料應用中。
PUF可取決於它們實體微結構的獨一性。這些微結構可取決於在製造可編程裝置128期間引入的隨機實體因子。這些因子可為不可預測或不可控制的,因此使得不可能複製或仿製該等微結構。
例如,PUF可經受環境變化,包括(但不限於)以下中的任何者:溫度、供應電壓、電磁干擾等等,其可影響PUF的效能。並且,例如,PUF標誌918可包括(但不限於)以下中的任何者:開機時之靜態隨機存取記憶體(SRAM)位元的數量等等。
安全金鑰106為用於加密技術的資訊。安全金鑰106可至少包括一起用於加密技術的私密金鑰及公開金鑰的對偶。例如,可以私密金鑰加密安全資訊及使用公開金鑰來解密安全資訊。並且,例如,使用公開金鑰來加密的安全資訊可使用私密金鑰來解密。各可編程裝置128可包括可用以個別加密或解密儲存於可編程裝置128中之安全資訊148的單獨金鑰對偶。安全主系統104或安全主存儲系統102可產生及安全地儲存安全金鑰106以供加密或解密安全資訊148。
產品標誌920為可描述同可編程裝置128使用之產品的安全構件。產品標誌920可包括相關的製造者、品牌資訊、產品線資訊、模型資訊或其他產品相關的參數等等。
在一或更多個實施例中,裝置出生憑證504可包括裝置相關的指紋。裝置相關的指紋可與可編程裝置128相關聯。例如,裝置相關的指紋可包括(但不限於)序列號標誌906、製造者標誌902、製造標誌912等等中的任何組合。
例如,序列號標誌906可包括獨一識別可編程裝置128的裝置序列號。並且,例如,製造者標誌902可包括獨一識別可編程裝置128之製造者的製造者ID。
例如,製造標誌912可包括獨一識別跟製造者立約或雇用製造者來製造、使用或編程可編程裝置128的實體、公司、人等等的客戶ID。並且,例如,製造標誌912可包括識別可編程裝置128被製造或組裝之實體位置的裝置座標(例如以米表示的地理座標X、Y及Z等等)。
裝置座標可能可施用於在可編程裝置128由製造者製造時靜止或在距製造者的實體位置一定預定距離內的可編程裝置128。在一實施例中,藉由在可編程裝置128被編程之前驗證製造標誌912中的裝置座標來極大地簡化可編程裝置128的裝置安全性。可在只有裝置座標指向實體經授權之製造者的地理位置時才編程可編程裝置128。
在一或更多個實施例中,裝置出生憑證504可包括編程相關的指紋。例如,編程相關的指紋可包括(但不限於)製造者標誌902、製造標誌912、軟體標誌908等等中的任何組合。
例如,製造者標誌902可包括獨一識別被雇用或立約來編程可編程裝置128之公司的編程公司ID。並且,例如,製造者標誌902可包括獨一識別用以編程可編程裝置128之編程器110之序列號的編程器ID。
例如,製造標誌912可包括識別可編程裝置128被編程之實體位置的編程座標(例如以米表示的地理座標X、Y及Z等等)。並且,例如,製造標誌912可包括針對加密技術使用來保護編程工作的工作金鑰。如此,工作金鑰可在供應鏈各處保全編程工作,在該供應鏈處,工作可從OEM/設計設施傳輸至製造設施。工作金鑰亦可促進工作儲存庫(例如伺服器、私密雲端、公開雲端等等)中之編程工作的可追溯性。
例如,製造標誌912可包括可用以驗證編程工作的工作檢查總和。檢查總和可由編程器112的編程引擎所計算。
在一或更多個實施例中,裝置出生憑證504可包括安全相關的指紋。例如,安全相關的指紋可包括(但不限於)安全金鑰106等等。
例如,安全金鑰106可包括可針對加密技術使用以保護可編程裝置128中之安全資訊的裝置金鑰。並且,例如,裝置金鑰可包括(但不限於)以下中的任何者:非對稱金鑰、對稱金鑰等等,以加密或解密裝置出生憑證504中的資訊。安全金鑰106可允許編程器112安全地與受信任的端點(例如伺服器、受信任的裝置等等)通訊。
在一或更多個實施例中,裝置出生憑證504可包括指紋以強化或改良裝置識別及認證。例如,用於裝置識別及認證的指紋可包括(但不限於)序列號標誌906、製造標誌912等等中的任何組合。
例如,序列號標誌906可包括製造期間印刷電路板上之元件的序列號。並且,例如,序列號可表示PCB上之中央處理單元(CPU)、其他電元件、編程單元110的使用者等等的ID或獨一識別符。進一步地,例如,序列號標誌906可包括PCB、晶片上系統(SoC)、周邊裝置等等的MAC位址。
例如,製造標誌912可包括裝置資料,包括(但不限於)顯示PCB上之各種元件(例如CPU、SoC、周邊裝置等等)之放置的圖像或影像。並且,例如,製造標誌912可包括任何格式的圖像(例如聯合圖像專家群(JPEG)、圖形交換格式(GIF)、帶標影像檔案格式(TIFF)、可攜式網路圖形(PNG)、點陣圖(BMP)、裝置無關位元映像(DIB)等等)。儲存在可編程裝置128中的被捕捉圖像之後可由安全編程系統100擷取以供驗證或識別裝置、板、系統等等。
在一或更多個實施例中,裝置出生憑證504可包括用於代碼或資料之安全存儲器的指紋。例如,用於安全存儲器的指紋可包括(但不限於)安全金鑰106、軟體標誌908等等中的任何組合。
例如,安全金鑰106可用於軟體(SW),該軟體可在製造期間被預先安裝於系統上。SW可在編程可編程裝置128之前被預先安裝。SW可被預先安裝在編程器112、安全控制器114、安全模組(例如116、118、120等等)、安全主系統104、安全主存儲系統102等等上。
例如,安全金鑰106可包括私密金鑰及公開金鑰的對偶。SW可以私密金鑰加密且使用公開金鑰來解密。類似地,使用公開金鑰來加密的SW可使用私密金鑰來解密。SW可由以下中的任何者加密:編程器112、安全控制器114、安全模組(例如116、118、120等等)、安全主系統104、安全主存儲系統102等等。在編程可編程裝置128之前,編程器112可使用公開金鑰來解密經加密的SW。在SW被解密之後,SW可用以擷取裝置出生憑證504。
例如,軟體標誌908可包括描述或識別對安全性敏感之額外代碼的資訊。該等代碼可執行於可編程裝置128上。可按需要抽取或解密該等代碼以提供對於關於裝置出生憑證504之資料的存取。在一實施例中,使用在製造可編程裝置128時加密及編程進可編程裝置128的代碼來極大地簡化資料安全性。只有編程於可編程裝置128上的代碼可用以存取裝置出生憑證504。
例如,編程於可編程裝置128上的代碼僅可由軟體標誌908識別。軟體標誌908可識別儲存代碼之安全存儲器的位置或位址。如此,被隱藏或具有存取限制的代碼強化了安全性。
在一或更多個實施例中,可編程裝置128上之出生憑證相關的資料可由安全編程系統100所保全。關於裝置出生憑證504的資料可儲存於可編程裝置128上之非依電性、防篡改及安全的記憶體中。
因為裝置出生憑證504被加密且僅可由具有正確安全金鑰106的系統或裝置解密,裝置出生憑證504可被保全。可編程裝置128上之記憶體的內容可被編程為僅在製造可編程裝置128的期間儲存裝置出生憑證504。
例如,對於使用嵌入式MMC(eMMC)快閃存儲器的可編程裝置128(例如智慧型手機、平板電腦、機上盒等等)而言,快閃存儲器的重播受保護的記憶體區塊(RPMB)分區可用以儲存裝置出生憑證504。RPMB分區可用於儲存安全資料,因為其防止非法的資料複製或存取。RPMB分區僅可由安全金鑰處置或存取。例如,安全金鑰可包括(但不限於)以下中的任何者:散列函數、檢查總和、資料加密標準(DES)演算法、先前加密標準(AES)演算法、三元DES演算法、MD4訊息摘要演算法、MD5演算法、安全散列演算法1及2、任何其他演算法等等。
並且,例如,快閃存儲器的寫入受保護分區可用以結合加密技術儲存裝置出生憑證504,以產生防篡改及安全的區域以供儲存。對於基於微控制器的裝置而言,一次性可編程(OTP)記憶體或快閃記憶體可同加密技術使用以安全地儲存裝置出生憑證504資料。微控制器可支援在可編程裝置128的正常操作期間可能不可用的安全資料交換協定。在可編程裝置128的正常操作之前,此類協定可用以在編程可編程裝置128的程序中與可編程裝置128安全地交換資料。
在一或更多個實施例中,對於不包括NVM的系統而言,安全晶片可用以保持關於裝置出生憑證504之資訊的子集合,以允許進行裝置識別或認證。例如,安全晶片可包括安全控制器114、安全模組(例如116、118、120等等)、安全主系統104、安全主存儲系統102等等的任何組合。 4.0. 示例實施例
現參照圖10,其中圖示了依據一或更多個實施例之用於資料安全的示例程序流程圖。在某些實施例中,藉由一或更多個計算裝置或單元來執行系統(例如100)。
在不限制的情況下在以下子句中表示某些實施例的示例:
在方塊1002中,系統針對可編程裝置產生裝置識別。
在方塊1004中,系統產生安全金鑰以保護可編程裝置的內容;及
在方塊1006中,系統產生具有裝置識別及安全金鑰的裝置出生憑證,且在可編程裝置之製造的時間以裝置出生憑證編程可編程裝置。
在一實施例中,系統以安全金鑰加密裝置識別,且以已被加密的裝置識別產生裝置出生憑證。
在一實施例中,裝置識別為可編程裝置的獨一識別符。
在一實施例中,裝置出生憑證儲存於可編程裝置的一次性可編程(OTP)記憶體中。
在一實施例中,裝置出生憑證包括製造者標誌,製造者標誌包括獨一地識別可編程裝置之製造者的製造者識別。
在一實施例中,裝置出生憑證包括製造者標誌,製造者標誌包括獨一地識別編程可編程裝置之編程器之序列號的編程器識別。
在一實施例中,安全金鑰包括公開金鑰及私密金鑰的對偶。
實施例包括一種裝置,該裝置包括一處理器且配置為執行上述方法中的任何一者。實施例包括一種電腦可讀取存儲媒體,該電腦可讀取存儲媒體儲存軟體指令,該等軟體指令在由一或更多個處理器執行時,造成執行上述方法中的任何一者。
注意的是,儘管在本文中論述單獨的實施例,本文中所論述之實施例及/或部分實施例的任何組合可組合以形成進一步的實施例。
這些及其他實施例的其他示例見於此揭示案各處。 5.0. 實施機構—硬體概述
依據一個實施例,本文中所述的技術由一或更多個特殊用途計算裝置所實施。特殊用途計算裝置可為桌上型電腦系統、可攜電腦系統、手持式裝置、智慧型手機、媒體裝置、遊戲機、聯網裝置、IoT裝置或合併硬連線及/或程式邏輯以實施該等技術的任何其他裝置。特殊用途計算裝置可為硬連線的以執行該等技術,或可包括數位電子裝置(例如被永久編程以執行該等技術的一或更多個特殊應用積體電路(ASIC)或現場可編程閘極陣列(FPGA)),或可包括編程為依據韌體、記憶體、其他存儲器或組合中的程式指令來執行該等技術的一或更多個一般用途硬體處理器。此類特殊用途計算裝置亦可將定制的硬連線邏輯、ASIC或FPGA與定制編程結合以完成該等技術。
現參照圖11,其中圖示一方塊圖,該方塊圖依據一實施例繪示在實施上述技術時所利用的電腦系統1100。電腦系統1100例如可為桌上型計算裝置、膝上型計算裝置、平板電腦、智慧型手機、伺服器設備、計算大型電腦、多媒體裝置、手持裝置、聯網裝置或任何其他合適的裝置。
電腦系統1100包括一或更多個匯流排1102或用於傳遞資訊的其他通訊機構以及與匯流排1102耦合以供處理資訊的一或更多個硬體處理器1104。硬體處理器1104例如可為一般用途微處理器。匯流排1102可包括各種內部及/或外部元件,在不限制的情況下包括內部處理器或記憶體匯流排、序列ATA匯流排、PCI Express匯流排、通用序列匯流排、HyperTransport匯流排、Infiniband匯流排及/或任何其他合適的有線或無線通訊通道。
電腦系統1100亦包括耦合至匯流排1102以供儲存資訊及要由處理器1104所執行之指令的主記憶體1106(例如隨機存取記憶體(RAM)或其他動態或依電性存儲裝置)。主記憶體1106亦可用於在執行要由處理器1104所執行的指令期間儲存暫時變數或其他中間資訊。此類指令當儲存在處理器1104可存取的非暫時性存儲媒體中時,使得電腦系統1100變成定制為執行該等指令中所指定之操作的特殊用途機器。
電腦系統1100更包括一或更多個唯讀記憶體(ROM)1108或耦合至匯流排1102以供針對處理器1104儲存靜態資訊及指令的其他靜態存儲裝置。一或更多個存儲裝置1100(例如固態硬碟(SSD)、磁碟、光碟或其他合適的非依電性存儲裝置)被提供且耦合至匯流排1102以供儲存資訊及指令。
電腦系統1100可透過匯流排1102耦合至一或更多個顯示器1112以供向電腦使用者呈現資訊。例如,電腦系統1100可透過高清晰度多媒體介面(HDMI)纜線或其他合適的佈線連接至液晶顯示器(LCD)監視器,及/或透過無線連接(例如點對點Wi-Fi直接連接)連接至發光二極體(LED)電視。合適類型之顯示器1112的其他示例在不限制的情況下可包括電漿顯示裝置、投影機、陰極射線管(CRT)監測器、電子紙、虛擬實境耳機、點字終端及/或用於向電腦使用者輸出資訊的任何其他合適的裝置。在一實施例中,可利用任何合適類型的輸出裝置(例如音訊揚聲器或印表機)而不是顯示器1112。
在一實施例中,對於顯示器1112的輸出可由電腦系統1100中的一或更多個圖形處理單元(GPU)加速。GPU例如可為高度平行化的、多核的浮點處理單元,該處理單元經最佳化以執行關於圖形資料、3D資料及/或多媒體之顯示的計算操作。除了直接計算影像及/或視訊資料以供輸出至顯示器1112以外,GPU亦可用以在螢幕外呈現成像或其他視訊資料,且將該資料讀回進程式以供以非常高的效能進行螢幕外影像處理。各種其他計算任務可從處理器1104外載至GPU。
一或更多個輸入裝置1114耦合至匯流排1102以供向處理器1104傳遞資訊及命令選擇。輸入裝置1114的一個示例為鍵盤,該鍵盤包括文數字及其他鍵。另一類型的使用者輸入裝置1114為用於向處理器1104傳遞指向資訊及命令選擇及用於控制顯示器1112上之游標移動的游標控制器1116,例如滑鼠、軌跡球或游標指向鍵。此輸入裝置一般在兩個軸(第一軸(例如x)及第二軸(例如y))上具有兩個自由度,該兩個自由度允許裝置指定平面中的位置。合適輸入裝置1114的又其他實例包括附加至顯示器1112的觸控螢幕面板、攝影機、傳聲器、加速度計、運動偵測器及/或其他感測器。在一實施例中,可利用基於網路的輸入裝置1114。在此類實施例中,使用者輸入及/或其他資訊或命令可透過區域網路(LAN)或其他合適的共享式網路上的路由器及/或開關或透過點對點網路來從輸入裝置1114傳播至電腦系統1100上的網路鏈路1120。
電腦系統1100可使用定制的硬連線邏輯、一或更多個ASIC或FPGA、韌體及/或程式邏輯来實施本文所述之技術,該等元件與電腦系統結合使得或編程電腦系統1100成為特殊用途機器。依據一個實施例,本文中的技術回應於處理器1104執行主記憶體1106中所包含之一或更多個指令的一或更多個序列而由電腦系統1100執行。此類指令可從另一存儲媒體(例如存儲裝置1110)讀取進主記憶體1106。執行主記憶體1106中所包含之指令的序列使得處理器1104執行本文中所述的程序步驟。在替代性實施例中,可替代於軟體指令或與軟體指令結合來使用硬連線的電路系統。
如本文中所使用的用語「存儲媒體」指儲存使機器以特定方式操作的資料及/或指令的任何非暫時性媒體。此類存儲媒體可包括非依電性媒體及/或依電性媒體。非依電性媒體例如包括光或磁碟,例如存儲裝置1110。依電性媒體包括動態記憶體,例如主記憶體1106。存儲媒體的通用形式例如包括軟碟、軟性磁碟、硬碟、固態硬碟、磁帶或任何其他磁式資料存儲媒體、CD-ROM、任何其他光學資料存儲媒體、具有孔洞圖樣的任何實體媒體、RAM、PROM、及EPROM、FLASH-EPROM、NVRAM、任何其他記憶體晶片或匣。
存儲媒體不同於傳輸媒體,但可與傳輸媒體結合使用。傳輸媒體參與在存儲媒體之間傳輸資訊。例如,傳輸媒體包括同軸纜線、銅線及光纖(包括了包括匯流排1102的導線)。傳輸媒體亦可採取聲學或光波的形式,例如在音波及紅外線資料通訊期間所產生的那些形式。
各種形式的媒體可涉及將一或更多個指令的一或更多個序列承載至處理器1104以供執行。例如,指令可一開始承載於遠程電腦的磁碟或固態硬碟上。遠程電腦可將指令載進其動態記憶體,且使用數據機來在網路(例如纜線網路或胞式網路)上將該等指令發送為調變訊號。在電腦系統1100本端的數據機可在網路上接收資料及解調訊號以解碼所傳送的指令。適當的電路系統可接著將資料放置在匯流排1102上。匯流排1102將資料承載至主記憶體1106,處理器1104從該主記憶體1106擷取及執行指令。由主記憶體1106所接收的指令可可選地在由處理器1104執行之前或之後儲存於存儲裝置1110上。
電腦系統1100在一實施例中亦可包括耦合至匯流排1102的一或更多個通訊介面1118。通訊介面1118向連接至本端網路1122的網路鏈路1120提供資料通訊耦合(一般是雙路的)。例如,通訊介面1118可為整合型服務數位網路(ISDN)卡、纜線數據機、衛星數據機或用以向相對應類型的電話線路提供資料通訊連接的數據機。作為另一實例,該一或更多個通訊介面1118可包括用以向相容LAN提供資料通訊連接的區域網路(LAN)卡。作為又另一實例,該一或更多個通訊介面1118可包括無線網路介面控制器,例如基於802.11的控制器、藍芽控制器、長期進化(LTE)數據機及/或其他類型的無線介面。在任何此類實施方式中,通信介面1118發送及接收承載表示各種類型之資訊之數位資料串流的電氣、電磁或光學訊號。
網路鏈路1120一般藉由一或更多個網路向其他資料裝置提供資料通訊。例如,網路鏈路1120可藉由本端網路1122向主控電腦1124或由服務提供者1126所操作的資料設備提供連接。服務提供者1126(其例如可為網際網路服務提供者(ISP))反過來藉由廣域網路(例如現常稱為「網際網路」1128的全球封包資料通訊網路)提供資料通訊服務。本端網路1122及網際網路1128兩者使用承載數位資料串流的電氣、電磁或光學訊號。藉由各種網路的訊號及網路鏈路1120上及藉由通訊介面1118的訊號(該等訊號向及自電腦系統1100承載數位資料)為傳輸媒體的示例形式。
在一實施例中,電腦系統1100可藉由網路(或多個)、網路鏈路1120及通訊介面1118發送儲息及接收資料(包括程式代碼及/或其他類型的指令)。在網際網路實例中,伺服器1130可藉由網際網路1128、ISP 1126、本端網路1122及通訊介面1118針對應用程式傳送受請求的代碼。經接收的代碼可在其被接收時由硬體處理器1104執行,及/或儲存在存儲裝置1110或其他非依電性存儲器中以供之後執行。作為另一實例,透過網路鏈路1120所接收的資訊可由電腦系統1100的軟體元件(例如網頁瀏覽器、應用程式或伺服器)解譯及/或處理,該軟體元件反過來基於該資訊可能透過作業系統及/或軟體元件的其他中間層向硬體處理器1104發出指令。
在一實施例中,本文中所述的某些或所有系統可為或包括伺服器電腦系統,包括將系統之各種元件共同實施為伺服器端程序之集合的一或更多個電腦系統1100。伺服器電腦系統可包括網頁伺服器、應用伺服器、資料庫伺服器及/或某些上述元件所用以提供所述機能的其他傳統伺服器元件。伺服器電腦系統可從各種來源(在不限制的情況下包括使用者操作的客戶端計算裝置(例如桌上型電腦、平板電腦或智慧型手機)、遠程感測裝置及/或其他伺服器電腦系統)中的任何者接收基於網路的通訊(包括輸入資料)。
在一實施例中,可使用由一或更多個網路(例如網際網路)耦合至系統之基於「雲端」的元件來完全或部分實施某些伺服器元件。基於雲端的元件可曝露介面,該等元件藉由該等介面向系統的其他元件提供處理、存儲、軟體及/或其他資源。在一實施例中,基於雲端的元件可由第三方實體代替另一實體實施,其中該等元件是針對該另一實體而部署。在其他實施例中,然而,所述的系統可完全由被單一實體擁有及操作的電腦系統所實施。
在一實施例中,一種裝置包括一處理器,且配置為執行任何上述方法。在一實施例中,一種非暫時性電腦可讀取存儲媒體,該電腦可讀取存儲媒體儲存軟體指令,該等軟體指令在由一或更多個處理器執行時,造成執行上述方法中的任何者。 6.0. 延伸及替代方案
如本文中所使用的,用語「第一」、「第二」、「某些」及「特定」用作命名規約以彼此區隔查詢、計劃、表示、步驟、物件、裝置或其他項目,使得可在這些項目已被介紹之後參照這些項目。除非原本在本文中指定,這些用語的使用並不暗示順序、時序或所參照之項目的任何其他特性。
在繪圖中,各種元件由箭頭描繪為通訊耦合至各種其他元件。這些箭頭僅繪示元件間之資訊流的某些實例。箭頭方向或在某些元件之間缺乏箭頭線皆不應被解譯為指示某些元件本身間之通訊的存在或不存在。確實,各元件可具有合適通訊介面的特徵,藉由該通訊介面,該元件可依所需變得通訊耦合至其他元件以完成本文中所述的任何功能。
在上述說明書中,已參照許多特定細節描述本發明的實施例,該等特定細節可從實施方式到實施方式而變化。因此,本發明為何物及申請人所欲作為本發明之物的唯一且排他的指示為從此案發佈的請求項集合,包括任何後續的更正,該請求項集合呈現如此請求項所用以發佈的特定形式。就此而言,儘管特定的請求項依附關係被陳設於此案的請求項中,注意的是,此案的附屬項特徵可適當地與其他附屬項的特徵及與此案獨立項的特徵結合,且該結合不只是依據請求項集合中所載的特定依附關係。並且,儘管在本文中論述單獨的實施例,本文中所論述之實施例及/或部分實施例的任何組合可組合以形成進一步的實施例。
本文中針對如此請求項中所包含的用語明確闡述的任何定義應主宰如請求項中所使用之如此用語的意義。因此,請求項中未明確記載的限制、構件、屬性、特徵、優點或特性不應以任何方式限制如此請求項的範圍。據此以說明性而非限制性的意義來看待說明書及圖示。
100‧‧‧安全編程系統 102‧‧‧安全主存儲系統 104‧‧‧安全主系統 106‧‧‧安全金鑰 110‧‧‧編程單元 112‧‧‧編程器 114‧‧‧安全控制器 116‧‧‧第一安全模組 118‧‧‧第二安全模組 120‧‧‧第n安全模組 122‧‧‧第一轉接器 124‧‧‧第二轉接器 126‧‧‧第n轉接器 128‧‧‧可編程裝置 130‧‧‧受信任裝置 132‧‧‧資料裝置 134‧‧‧第一資料裝置 136‧‧‧第二資料裝置 138‧‧‧第n資料裝置 140‧‧‧第一受信任裝置 142‧‧‧第二受信任裝置 144‧‧‧第n受信任裝置 146‧‧‧經配對裝置 148‧‧‧安全資訊 202‧‧‧主控電腦 302‧‧‧主板 304‧‧‧快取模組 306‧‧‧插板 308‧‧‧網路介面 310‧‧‧被動或主動組件 312‧‧‧轉接器連接器 314‧‧‧插槽轉接器 402‧‧‧原始設備製造者(OEM) 404‧‧‧電子製造服務(EMS)提供者 406‧‧‧OEM工作站 408‧‧‧OEM本端伺服器 410‧‧‧EMS本端伺服器 412‧‧‧EMS工作站 502‧‧‧OEM雲端 504‧‧‧裝置出生憑證 602‧‧‧序列號伺服器 604‧‧‧裝置識別 606‧‧‧認證單元 702‧‧‧安全空中更新 704‧‧‧安全雲端 706‧‧‧伺服器 802‧‧‧安全資料管理(SDM) 804‧‧‧邊緣管理 806‧‧‧安全韌體管理 902‧‧‧製造者標誌 904‧‧‧輸入的信任根(In_RoT)標誌 906‧‧‧序列號標誌 908‧‧‧軟體標誌 912‧‧‧製造標誌 914‧‧‧系統測試標誌 916‧‧‧操作標誌 918‧‧‧實體上不可仿製功能(PUF)標誌 920‧‧‧產品標誌 1002‧‧‧方塊 1004‧‧‧方塊 1006‧‧‧方塊 1100‧‧‧電腦系統 1102‧‧‧匯流排 1104‧‧‧硬體處理器 1106‧‧‧主記憶體 1108‧‧‧唯讀記憶體(ROM) 1110‧‧‧存儲裝置 1112‧‧‧顯示器 1114‧‧‧輸入裝置 1116‧‧‧游標控制器 1118‧‧‧通訊介面 1120‧‧‧網路鏈路 1122‧‧‧本端網路 1124‧‧‧主控電腦 1126‧‧‧ISP 1128‧‧‧網際網路 1130‧‧‧伺服器
在隨附繪圖的圖式中藉由示例的方式(且非限制的方式)說明本發明,且在該等圖式中類似的參考標號指類似的構件,且在該等圖式中:
圖1為依據一實施例之安全編程系統的說明圖;
圖2為安全編程系統的示例方塊圖;
圖3為安全編程系統的第二示例方塊圖;
圖4為安全編程系統的示例應用;
圖5為安全編程系統的第二示例應用;
圖6為安全編程系統的第三示例方塊圖;
圖7為一示例方塊圖,描繪安全編程系統的動態更新解決方案;
圖8為一示例方塊圖,描繪製造安全編程系統之外的端對端解決方案;
圖9為依據一實施例之裝置出生憑證的示例;
圖10為依據一或更多個實施例之針對資料安全的示例程序流程圖;及
圖11為電腦系統的方塊圖,可在該電腦系統上實施本發明的實施例。
國內寄存資訊 (請依寄存機構、日期、號碼順序註記) 無
國外寄存資訊 (請依寄存國家、機構、日期、號碼順序註記) 無
(請換頁單獨記載) 無
100‧‧‧安全編程系統
102‧‧‧安全主存儲系統
104‧‧‧安全主系統
106‧‧‧安全金鑰
110‧‧‧編程單元
112‧‧‧編程器
114‧‧‧安全控制器
116‧‧‧第一安全模組
118‧‧‧第二安全模組
120‧‧‧第n安全模組
122‧‧‧第一轉接器
124‧‧‧第二轉接器
126‧‧‧第n轉接器
128‧‧‧可編程裝置
130‧‧‧受信任裝置
132‧‧‧資料裝置
134‧‧‧第一資料裝置
136‧‧‧第二資料裝置
138‧‧‧第n資料裝置
140‧‧‧第一受信任裝置
142‧‧‧第二受信任裝置
144‧‧‧第n受信任裝置
146‧‧‧經配對裝置
148‧‧‧安全資訊

Claims (20)

  1. 一種安全編程系統,包括:一伺服器裝置,該伺服器裝置針對一可編程積體電路產生一裝置識別;一序列號裝置,該序列號裝置產生用於該可編程積體電路的一獨一序列號,該序列號裝置依序產生用於可編程積體電路的序列號;一安全控制器,該安全控制器產生一安全金鑰,以保護該可編程積體電路的一內容;及一編程器,該編程器具有該可編程積體電路經由一編程轉接器附接至該編程器,該序列號裝置及該安全控制器經整合在該編程器內,該編程器產生一裝置出生憑證,該裝置出生憑證包括一製造者標誌、該裝置識別、該序列號、及該安全金鑰,該編程器僅在該可編程積體電路之製造的時間將該可編程積體電路的一安全非依電性記憶體區域編程為具有該裝置出生憑證,以用於將經編程的該裝置出生憑證使用於對該可編程積體電路之後續驗證以改良一編程系統中的安全性,該製造者標誌識別出製造該可編程積體電路的一位置,而該安全非依電性記憶體區域包括該可編程積體電路中無法被一未獲授權使用者竄改或非法存取的一區域。
  2. 如請求項1所載之系統,其中:該編程器以該安全金鑰加密該裝置識別;及該裝置出生憑證是以已加密的該裝置識別所產生;該系統進一步包含:一認證單元,該認證單元將該裝置識別儲存在耦合至該編程器的該安全控制器中並檢查發送自一主控電腦的一序列號是否匹配已儲存的該裝置識別,以用於許可該主控電腦存取已由該序列號識別出的該可編程積體電路。
  3. 如請求項1所載之系統,其中該裝置識別為該可編程積體電路的一獨一識別符。
  4. 如請求項1所載之系統,其中該可編程積體電路的該安全非依電性記憶體區域包括一一次性可編程(OTP)區域、一裝置私密OTP區域、一硬體引信、一唯讀記憶體(ROM)、一寫入受保護記憶體、一密碼控制的記憶體存取區域或一重播受保護的記憶體區塊。
  5. 如請求項1所載之系統,其中該裝置出生憑證包括該製造者標誌,該製造者標誌包括獨一地識別該可編程積體電路之一製造者的一製造者識別。
  6. 如請求項1所載之系統,其中該裝置出生憑證包括該製造者標誌,該製造者標誌包括獨一地識別編 程該可編程積體電路之該編程器之一序列號的一編程器識別。
  7. 如請求項1所載之系統,其中該安全金鑰包括一單一對稱金鑰、或一非對稱金鑰對偶的一公開金鑰或一私密金鑰。
  8. 一種操作一安全編程系統的方法,包括以下步驟:針對一可編程積體電路產生一裝置識別;產生該可編程積體電路的一序列號,該序列號是獨一的且經依序產生;產生一安全金鑰,以保護該可編程積體電路的一內容;產生一裝置出生憑證,該裝置出生憑證包括一製造者標誌、該裝置識別、該序列號、及該安全金鑰;及經由一編程器的一編程轉接器,僅在該可編程積體電路之製造的時間將該可編程積體電路的一安全非依電性記憶體區域編程為具有該裝置出生憑證,以用於將經編程的該裝置出生憑證使用於對該可編程積體電路之後續驗證以改良一編程系統中的安全性,該製造者標誌識別出製造該可編程積體電路的一位置,該安全非依電性記憶體區域包括該可編程積體電路中無法被一未獲授權使用者竄改或非法存取的一區域。
  9. 如請求項8所述之方法,更包括以下步驟:以該安全金鑰加密該裝置識別;及其中:該裝置出生憑證是以已加密的該裝置識別所產生;及該方法進一步包含以下步驟:將該裝置識別儲存在耦合至該編程器的一安全控制器中;及檢查發送自一主控電腦的一序列號是否匹配已儲存的該裝置識別,以用於許可該主控電腦存取已由該序列號識別出的該可編程積體電路。
  10. 如請求項8所述之方法,其中該裝置識別包括用於該可編程積體電路的一獨一識別符。
  11. 如請求項8所述之方法,其中該可編程積體電路的該安全非依電性記憶體區域包括一一次性可編程(OTP)區域、一裝置私密OTP區域、一硬體引信、一唯讀記憶體(ROM)、一寫入受保護記憶體、一密碼控制的記憶體存取區域或一重播受保護的記憶體區塊。
  12. 如請求項8所述之方法,其中該裝置出生憑證包括該製造者標誌,該製造者標誌包括獨一地識別該可編程積體電路之一製造者的一製造者識別。
  13. 如請求項8所述之方法,其中該裝置出生憑證包括該製造者標誌,該製造者標誌包括獨一地識別編程該可編程積體電路之該編程器之一序列號的一編程器識別。
  14. 如請求項8所述之方法,其中該安全金鑰包括一單一對稱金鑰、或一非對稱金鑰對偶的一公開金鑰或一私密金鑰。
  15. 一種儲存指令的非暫時性電腦可讀取媒體,該等指令當由一或更多個計算裝置執行時,造成以下操作:針對一可編程積體電路產生一裝置識別;產生該可編程積體電路的一序列號,該序列號是獨一的且經依序產生;產生一安全金鑰,以保護該可編程積體電路的一內容;產生一裝置出生憑證,該裝置出生憑證包括一製造者標誌、該裝置識別、該序列號、及該安全金鑰;及經由一編程轉接器,僅在該可編程積體電路之製造的時間將該可編程積體電路的一安全非依電性記憶體區域編程為具有該裝置出生憑證,以用於將經編程的該裝置出生憑證使用於對該可編程積體電路之後續驗證以改良一編程系統中的安全性,該製造者標誌識別 出製造該可編程積體電路的一位置,該安全非依電性記憶體區域包括該可編程積體電路中無法被一未獲授權使用者竄改或非法存取的一區域。
  16. 如請求項15所述之非暫時性電腦可讀取媒體,更包括:以該安全金鑰加密該裝置識別;及其中:該裝置出生憑證是以已加密的該裝置識別所產生;及更包括以下操作:將該裝置識別儲存在耦合至該編程器的一安全控制器中;及檢查發送自一主控電腦的一序列號是否匹配已儲存的該裝置識別,以用於許可該主控電腦存取已由該序列號識別出的該可編程積體電路。
  17. 如請求項15所述之非暫時性電腦可讀取媒體,其中該裝置識別包括用於該可編程積體電路的一獨一識別符。
  18. 如請求項15所述之非暫時性電腦可讀取媒體,其中該可編程積體電路的該安全非依電性記憶體區域包括一一次性可編程(OTP)區域、一裝置私密OTP區域、一硬體引信、一唯讀記憶體(ROM)、一 寫入受保護記憶體、一密碼控制的記憶體存取區域或一重播受保護的記憶體區塊。
  19. 如請求項15所述之非暫時性電腦可讀取媒體,其中該裝置出生憑證包括該製造者標誌,該製造者標誌包括獨一地識別該可編程積體電路之一製造者的一製造者識別。
  20. 如請求項15所述之非暫時性電腦可讀取媒體,其中該裝置出生憑證包括該製造者標誌,該製造者標誌包括獨一地識別編程該可編程積體電路之該編程器之一序列號的一編程器識別。
TW105125471A 2015-08-10 2016-08-10 裝置出生憑證 TWI747836B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201562203362P 2015-08-10 2015-08-10
US62/203,362 2015-08-10
US15/201,368 US10129035B2 (en) 2015-08-10 2016-07-01 Device birth certificate
US15/201,368 2016-07-01

Publications (2)

Publication Number Publication Date
TW201717092A TW201717092A (zh) 2017-05-16
TWI747836B true TWI747836B (zh) 2021-12-01

Family

ID=57983714

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105125471A TWI747836B (zh) 2015-08-10 2016-08-10 裝置出生憑證

Country Status (5)

Country Link
US (3) US10129035B2 (zh)
EP (1) EP3335147A4 (zh)
CN (1) CN108475319B (zh)
TW (1) TWI747836B (zh)
WO (1) WO2017027532A1 (zh)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9563795B2 (en) * 2013-03-13 2017-02-07 Mark Sehmer Radio frequency identification system
US9887983B2 (en) 2013-10-29 2018-02-06 Nok Nok Labs, Inc. Apparatus and method for implementing composite authenticators
US9396320B2 (en) 2013-03-22 2016-07-19 Nok Nok Labs, Inc. System and method for non-intrusive, privacy-preserving authentication
US10270748B2 (en) 2013-03-22 2019-04-23 Nok Nok Labs, Inc. Advanced authentication techniques and applications
US9654469B1 (en) 2014-05-02 2017-05-16 Nok Nok Labs, Inc. Web-based user authentication techniques and applications
US10148630B2 (en) 2014-07-31 2018-12-04 Nok Nok Labs, Inc. System and method for implementing a hosted authentication service
US9870051B2 (en) 2015-08-07 2018-01-16 Tobii Ab Gaze direction mapping
US10129035B2 (en) 2015-08-10 2018-11-13 Data I/O Corporation Device birth certificate
US11216389B2 (en) 2015-12-02 2022-01-04 Cryptography Research, Inc. Device with multiple roots of trust
US10496811B2 (en) * 2016-08-04 2019-12-03 Data I/O Corporation Counterfeit prevention
US10769635B2 (en) * 2016-08-05 2020-09-08 Nok Nok Labs, Inc. Authentication techniques including speech and/or lip movement analysis
US10637853B2 (en) * 2016-08-05 2020-04-28 Nok Nok Labs, Inc. Authentication techniques including speech and/or lip movement analysis
US10268844B2 (en) * 2016-08-08 2019-04-23 Data I/O Corporation Embedding foundational root of trust using security algorithms
US10091195B2 (en) 2016-12-31 2018-10-02 Nok Nok Labs, Inc. System and method for bootstrapping a user binding
US10237070B2 (en) 2016-12-31 2019-03-19 Nok Nok Labs, Inc. System and method for sharing keys across authenticators
US10505931B2 (en) * 2017-06-02 2019-12-10 Nxp B.V. Method for authenticating an integrated circuit device
US10505732B2 (en) * 2017-08-14 2019-12-10 Nxp B.V. Method for generating a public/private key pair and public key certificate for an internet of things device
US11868995B2 (en) 2017-11-27 2024-01-09 Nok Nok Labs, Inc. Extending a secure key storage for transaction confirmation and cryptocurrency
CN108108631A (zh) 2017-11-29 2018-06-01 晨星半导体股份有限公司 一种根密钥处理方法及相关装置
CN108228527A (zh) * 2017-12-26 2018-06-29 北京中科睿芯科技有限公司 局部可编程复合安全芯片及制造方法
US11831409B2 (en) 2018-01-12 2023-11-28 Nok Nok Labs, Inc. System and method for binding verifiable claims
US10938792B2 (en) * 2018-01-31 2021-03-02 Dell Products L.P. Layered encryption for end to end communication
US11063755B2 (en) 2018-05-07 2021-07-13 Cryptography Research, Inc. Generating a key at a device based on a memory of the device
JP2019200660A (ja) * 2018-05-17 2019-11-21 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム
US11120137B2 (en) * 2018-06-19 2021-09-14 Netgear, Inc. Secure transfer of registered network access devices
TWI702691B (zh) * 2018-08-15 2020-08-21 旺宏電子股份有限公司 多晶片封裝模組、其控制方法及安全晶片
US10969991B2 (en) 2018-08-15 2021-04-06 Macronix International Co., Ltd. Multi-chip package, controlling method of multi-chip package and security chip
US10740084B2 (en) * 2018-08-16 2020-08-11 Intel Corporation Soc-assisted resilient boot
WO2020104685A1 (en) * 2018-11-23 2020-05-28 Nagravision S.A. Device authentication with sealing and verification
GB2581527B (en) * 2019-02-22 2023-02-08 Secure Thingz Ltd Security data processing device
CN110086623B (zh) * 2019-03-13 2022-06-03 捷德(中国)科技有限公司 一种基于安全元件的固件防伪方法及安全元件
US11792024B2 (en) 2019-03-29 2023-10-17 Nok Nok Labs, Inc. System and method for efficient challenge-response authentication
TWI718525B (zh) * 2019-04-26 2021-02-11 英屬維爾京群島商伊格拉斯控股有限公司 應用於安全製造的控管系統及其方法
CN110414192B (zh) * 2019-06-14 2023-09-26 尚承科技股份有限公司 应用于安全制造的控管系统及其方法
TWI709079B (zh) * 2019-09-26 2020-11-01 奕智鏈結科技股份有限公司 文件碎形化出版與機密管制系統及其技術
TWI720694B (zh) * 2019-11-18 2021-03-01 中華電信股份有限公司 具時間序列演算之燒錄認證裝置及方法
US11570009B1 (en) 2019-11-22 2023-01-31 Amazon Technologies, Inc. Systems and methods for onboarding IoT devices with session certificates
CN113012750B (zh) * 2019-12-18 2023-08-15 中移物联网有限公司 一种存储芯片的测试装置及方法
US11521156B2 (en) 2020-01-09 2022-12-06 International Business Machines Corporation Trustable product delivery with RFID and smart chip
CN111610427A (zh) * 2020-04-15 2020-09-01 广东乐心医疗电子股份有限公司 一种成品测试方法、电路板测试方法及装置
US20210367794A1 (en) * 2020-05-21 2021-11-25 Cryptotronix, LLC Device provisioning system
NL1044044B1 (en) * 2020-05-28 2022-05-24 Sandgrain B V Centralized handling of ic identification codes
US11570156B2 (en) 2020-07-02 2023-01-31 International Business Machines Corporation Secure pairing of devices
US20220131847A1 (en) * 2020-10-26 2022-04-28 Micron Technology, Inc. Subscription Sharing among a Group of Endpoints having Memory Devices Secured for Reliable Identity Validation
EP4060536A1 (en) * 2021-03-17 2022-09-21 Secure Thingz Limited A provisioning control apparatus and method for provisioning electronic devices
US11647012B2 (en) * 2021-03-26 2023-05-09 Johnson Controls Tyco IP Holdings LLP Birth private-key based security for rest API in IoT devices
EP4068719A1 (de) * 2021-03-31 2022-10-05 Siemens Aktiengesellschaft Verfahren zum kryptographisch gesicherten nachweis eines geräteursprungs, gerät und überprüfungseinrichtung
US20220337434A1 (en) * 2021-04-16 2022-10-20 Noodle Technology Inc. Secure supply chain and provisioning of devices and methods
US11698972B2 (en) * 2021-07-22 2023-07-11 Dell Products L.P. Method to securely transfer root of trust responsibilities on a common shared motherboard
US20230251844A1 (en) * 2022-01-21 2023-08-10 Nvidia Corporation Sparse programming image validation

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030095665A1 (en) * 2000-08-04 2003-05-22 First Data Corporation Incorporating Security Certificate During Manufacture of Device Generating Digital Signatures
US7376837B1 (en) * 1999-04-09 2008-05-20 General Instrument Corporation Built-in manufacturer's certificates for a cable telephony adapter to provide device and service certification
TW200949686A (en) * 2008-05-24 2009-12-01 Via Tech Inc Initialization of a microprocessor providing for execution of secure code
US20090327634A1 (en) * 2008-06-25 2009-12-31 Microsoft Corporation Secure configuration of transient storage devices

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7761910B2 (en) * 1994-12-30 2010-07-20 Power Measurement Ltd. System and method for assigning an identity to an intelligent electronic device
US8868914B2 (en) * 1999-07-02 2014-10-21 Steven W. Teppler System and methods for distributing trusted time
DE10105284A1 (de) * 2001-02-06 2002-08-29 Infineon Technologies Ag Mikroprozessorschaltung für Datenträger und Verfahren zum Organisieren des Zugriffs auf in einem Speicher abgelegten Daten
US7987510B2 (en) * 2001-03-28 2011-07-26 Rovi Solutions Corporation Self-protecting digital content
GB0114317D0 (en) * 2001-06-13 2001-08-01 Kean Thomas A Method of protecting intellectual property cores on field programmable gate array
HUP0103350A2 (hu) * 2001-08-17 2003-04-28 Péter Ladányi Fokozott biztonságú elektronikus aláírás létrehozására alkalmas elektronikus íróeszköz
EP1429224A1 (en) 2002-12-10 2004-06-16 Texas Instruments Incorporated Firmware run-time authentication
CN101364415B (zh) * 2003-07-07 2013-03-20 罗威所罗生股份有限公司 用于控制盗版和启用交互式内容的可重编程的安全性
SE532600C2 (sv) * 2007-06-29 2010-03-02 Oniteo Ab Metod och system för säker provisionering av hårdvara
US9043896B2 (en) * 2007-08-31 2015-05-26 International Business Machines Corporation Device certificate based appliance configuration
US8756675B2 (en) * 2008-08-06 2014-06-17 Silver Spring Networks, Inc. Systems and methods for security in a wireless utility network
WO2010067433A1 (ja) * 2008-12-11 2010-06-17 三菱電機株式会社 自己認証通信機器、自己認証検証通信機器、機器認証システム、機器認証システムの機器認証方法、自己認証通信プログラムおよび自己認証検証通信プログラム
EP2252006A1 (en) * 2009-05-15 2010-11-17 Panda Security S.L. System and method for obtaining a classification of an identifier
US8736299B1 (en) * 2011-04-29 2014-05-27 Altera Corporation Setting security features of programmable logic devices
US8953790B2 (en) 2011-11-21 2015-02-10 Broadcom Corporation Secure generation of a device root key in the field
US9672385B2 (en) * 2013-10-07 2017-06-06 Microsemi SoC Corporation Method of improving FPGA security using authorization codes
US20150242620A1 (en) * 2014-02-27 2015-08-27 Microsemi SoC Corporation Methods for controlling the use of intellectual property in individual integrated circuit devices
US10079829B2 (en) * 2015-04-02 2018-09-18 The Boeing Company Secure provisioning of devices for manufacturing and maintenance
US9602292B2 (en) * 2015-07-25 2017-03-21 Confia Systems, Inc. Device-level authentication with unique device identifiers
US10129035B2 (en) 2015-08-10 2018-11-13 Data I/O Corporation Device birth certificate

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7376837B1 (en) * 1999-04-09 2008-05-20 General Instrument Corporation Built-in manufacturer's certificates for a cable telephony adapter to provide device and service certification
US20030095665A1 (en) * 2000-08-04 2003-05-22 First Data Corporation Incorporating Security Certificate During Manufacture of Device Generating Digital Signatures
TW200949686A (en) * 2008-05-24 2009-12-01 Via Tech Inc Initialization of a microprocessor providing for execution of secure code
US20090327634A1 (en) * 2008-06-25 2009-12-31 Microsoft Corporation Secure configuration of transient storage devices

Also Published As

Publication number Publication date
US10129035B2 (en) 2018-11-13
US11533187B2 (en) 2022-12-20
US20170048070A1 (en) 2017-02-16
US20210152373A1 (en) 2021-05-20
CN108475319B (zh) 2022-04-19
US20190081803A1 (en) 2019-03-14
CN108475319A (zh) 2018-08-31
EP3335147A4 (en) 2018-08-08
WO2017027532A1 (en) 2017-02-16
US10911248B2 (en) 2021-02-02
TW201717092A (zh) 2017-05-16
EP3335147A1 (en) 2018-06-20

Similar Documents

Publication Publication Date Title
TWI747836B (zh) 裝置出生憑證
US11595371B2 (en) Device programming with system generation
TWI741041B (zh) 用於可程式化設備的統一程式設計環境
TWI817930B (zh) 具有裝置認證的裝置編程系統
US10496811B2 (en) Counterfeit prevention
EP3497880A1 (en) Embedding foundational root of trust using security algorithms
EP3772008A1 (en) Device programming with system generation