TWI809900B - 用於設置電子裝置的方法、系統及積體電路晶片 - Google Patents
用於設置電子裝置的方法、系統及積體電路晶片 Download PDFInfo
- Publication number
- TWI809900B TWI809900B TW111119923A TW111119923A TWI809900B TW I809900 B TWI809900 B TW I809900B TW 111119923 A TW111119923 A TW 111119923A TW 111119923 A TW111119923 A TW 111119923A TW I809900 B TWI809900 B TW I809900B
- Authority
- TW
- Taiwan
- Prior art keywords
- mentioned
- key
- integrated circuit
- security certificate
- programmable logic
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 239000004065 semiconductor Substances 0.000 claims abstract description 24
- 239000000523 sample Substances 0.000 claims abstract description 23
- 235000012431 wafers Nutrition 0.000 claims description 51
- 238000012360 testing method Methods 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 16
- 238000012546 transfer Methods 0.000 claims description 2
- 238000013100 final test Methods 0.000 description 23
- 238000004519 manufacturing process Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 229910000679 solder Inorganic materials 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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 digital signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/107—License processing; Key processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Mathematical Physics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Semiconductor Integrated Circuits (AREA)
- Testing Or Measuring Of Semiconductors Or The Like (AREA)
- Studio Devices (AREA)
- Crystals, And After-Treatments Of Crystals (AREA)
- Storage Device Security (AREA)
Abstract
一種用以設置電子裝置的方法,包含提供一半導體晶圓,在其上有多個已製造好的積體電路晶片。每個積體電路晶片包含安全記憶體及可程式化邏輯,可程式化邏輯被用以儲存至少兩個金鑰到安全記憶體中,及用以使用至少兩個金鑰對資料計算數位簽章。一第一金鑰經由和接觸墊接觸的電探針被設置到每個積體電路晶片的安全記憶體中。在半導體晶圓切割後,一第二金鑰經由觸針被設置到每個晶片的安全記憶體中。一設置報告從每個晶片接收,上述設置報告有一由可程式化邏輯使用第一金鑰及第二金鑰計算的數位簽章。上述設置基於上述數位簽章被驗證。
Description
本發明總體上係關於積體電路裝置,且特別有關於在這樣的裝置中設置機密數據的方法及系統,以及由這些方法所設置的裝置。
密鑰配置(key provisioning)是一種***金鑰和其他安全訊息到一電子裝置的方法,電子裝置舉例來說可以是系統晶片(system-on-chip)積體電路(integrated circuit)(IC)。一旦一密碼鍵(cryptographic key)被設置(provision)到IC晶片上,它可以被用來驗證安全操作、認證設置有上述金鑰的晶片和產品,以及保護晶片和產品不受竄改。這樣的晶片通常包含一安全記憶體和多個邏輯電路,用來確保密碼鍵一旦被設置和儲存到上述晶片的記憶體,它可以依據數位簽章被驗證,但是金鑰的機密部分無法被提取。
金鑰通常在嚴密安全下做為製造過程的一部分,被設置到IC晶片上以確保惡意集團(malicious party)無法接觸到金鑰。當使用多級法製造裝置時,維護所需的安全等級會十分複雜,因為使用多級法會涉及多個實體。因此,金鑰在IC 製造階段被設置是合意的,這樣做被認為比系統層次組裝更安全。
在這方面,舉例來說,美國專利9,430,658描述了在電子電路生產中安全設置的方法。第一實體(例如,晶片製造商)嵌入一或多個機密數值到多個相同電路中。第二實體(例如,代工生產者 OEM): 1)由編碼簽章公鑰(code signing public key)推導信任錨(trust anchor); 2)在第一電路複製品中嵌入上述信任錨; 3)令上述第一電路複製品由上述信任錨及嵌入的機密數值產生私鑰; 4)使用編碼簽章密鑰(code signing private key)簽署設置碼(provisioning code); 5)傳送上述編碼簽章公鑰、信任錨及已簽署的設置碼到第三實體(例如,產品製造商)。第三實體將信任錨嵌入第二電路複製品使它: 1)產生上述私鑰; 2) 用上述編碼簽章公鑰驗證被簽署的上述設置碼的簽章; 3) 啟動上述設置碼。OEM可以用上述第一電路複製品及挑戰/回應協定(challenge/response protocol)認證上述第二電路複製品。
本發明以下描述的實施例提供多種電子裝置的設置方法及執行上述設置的系統和可以由上述方法設置的裝置。
因此根據本發明的實施例,提供一種設置電子裝置的方法。上述方法包含提供一半導體晶圓(wafer),上述半導體晶圓上有多個已被製造好的積體電路(integrated circuit)(IC) 晶片。每個積體電路晶片包含一安全記憶體(secure memory)及可程式化邏輯 (programmable logic),上述可程式化邏輯被用以儲存至少兩個金鑰在上述安全記憶體中及使用至少兩個上述金鑰對資料計算數位簽章。一第一金鑰(first key),經由電探針(electrical probe)設置到每個上述晶片的上述安全記憶體中 ,上述電探針和半導體晶圓上的接觸墊(contact pad)接觸。在上述晶圓切割後,一第二金鑰(second key),經由上述晶片的觸針(contact pin),設置到每個上述晶片的上述安全記憶體中 。一設置報告(provisioning report)會從上述每個晶片接收,上述設置報告有一數位簽章(digital signature),上述數位簽章由上述可程式化邏輯使用上述第一金鑰及上述第二金鑰計算得到。上述設置基於上述數位簽章被驗證。
在揭露的實施例中,設置上述第一金鑰是發生在一使用上述電探針測試在上述半導體晶圓上的上述晶片的過程中。可附加的或可替代的,設置上述第二金鑰是發生在測試每個上述晶片的過程中。
在揭露的實施例中,設置上述第一金鑰是由一第一設置設備(provisioning appliance)執行,設置上述第二金鑰是由一第二設置設備執行,上述第二設置設備和上述第一設置設備是分開且獨立的。
在一些實施例中,上述方法包含載入程式碼到每個上述積體電路晶片中,以便由上述可程式化邏輯執行,上述程式碼使用一受信任的簽章簽署,其中上述設置報告在載入上述程式碼後從每個上述晶片接收。可附加的或可替代的,接收上述設置報告包含從每個上述晶片接收一公鑰(public key),用以和上述IC晶片通訊,其中上述公鑰被使用上述第一金鑰及上述第二金鑰簽署。
進一步可附加的或可替代的,接收上述設置報告包含接收由每個上述晶片產生的第一安全認證(security certificate)及第二安全認證,上述第一安全認證及上述第二安全認證和上述第一金鑰及上述第二金鑰有關。在揭露的實施例中,將上述第一安全認證及上述第二安全認證儲存在儲存庫(repository)中、定期確認儲存庫中是否有上述第一安全認證及上述第二安全認證的複製(duplication),及當一複製被檢測到時發出一警告。
依據本發明的實施例,在此也提供一用來設置電子裝置的系統。上述系統包含電探針,用以接觸在一半導體晶圓上的接觸墊,上述半導體晶圓上有多個已製造好的IC晶片。每個IC晶片包含一安全記憶體及可程式化邏輯,上述可程式化邏輯被用以儲存至少兩個金鑰在上述安全記憶體中,及使用上述至少兩個金鑰對資料計算數位簽章。一連接器(connector)被用以在半導體晶圓切割後連接每個上述晶片的觸針。至少一設置設備被用以經由上述電探針設置一第一金鑰到每個上述IC晶片的上述安全記憶體中,上述電探針和上述半導體晶圓接觸,在上述半導體晶圓切割後,被用以經由上述連接器及上述觸針設置一第二金鑰到每個上述IC晶片的上述安全記憶體中,及被用以從每個上述IC晶片接收一設置報告,上述設置報告有一數位簽章,上述數位簽章由上述可程式化邏輯使用上述第一金鑰及上述第二金鑰計算得到,及被用以基於上述數位簽章驗證上述設置。
另外提供,依據本發明的實施例,一積體電路晶片,包含一安全記憶體及可程式化邏輯,上述可程式化邏輯被用以接收至少第一金鑰及第二金鑰,上述第一金鑰及上述第二金鑰是在一生產上述晶片的過程中不同的第一階段及第二階段中被設置,及被用以在上述安全記憶體中儲存金鑰,及被用以使用上述第一金鑰及上述第二金鑰計算和輸出一數位簽章。
在一些實施例中,上述可程式化邏輯被用以在載入程式碼到上述晶片以便由上述可程式化邏輯執行後,輸出一包含上述數位簽章的設置報告,上述程式碼被使用一受信任的簽章簽署。在揭露的實施例中,由上述可程式化邏輯輸出的上述設置報告包含一用於和上述晶片通訊的公鑰,其中上述公鑰由上述可程式化邏輯使用數位簽章簽署,上述數位簽章使用了上述第一金鑰及上述第二金鑰。可附加的或可替代的,上述設置報告包含由上述可程式化邏輯產生的第一安全認證及第二安全認證,上述第一安全認證及上述第二安全認證和上述第一金鑰及上述第二金鑰有關。
本發明由接下來實施例中的詳細說明,配合以下圖式將可以更全面的了解,在圖式中:
安全IC晶片被設計成一旦一金鑰被設置到上述晶片上的記憶體中,上述金鑰便不會被非受權存取及使用。然而,在製造過程中,一惡意內部人員(malicious insider),例如一不忠誠的上述晶片製造商員工,可能可以接觸到儲存在設置設備中的金鑰數值。 (“設置設備”這個詞在本篇描述及請求項的文章中指被用以轉移金鑰及相關資料到上述晶片的生產設備。) 當上述IC晶片隨後被整合到一可計算機化系統(computerized system)中,上述被竊取的金鑰可以被一攻擊者(attacker)用來破解整個上述系統,或是用來建造看似真實的離群系統(rogue system)。
在此提到的本發明的多個實施例使用多級式設置方法解決這個問題:兩個(或以上)金鑰在上述製造過程中的不同階段被設置到上述晶片中,之後兩個金鑰都會一起被用來驗證上述設置。即使攻擊者可以接觸到其中一個上述金鑰,也不足以攻擊上述晶片或已整合上述晶片的系統,也就是說,提取足夠的訊息用以允許非經授權使用上述金鑰,例如用以認證一假裝置。上述設置過程本身同時較不易被惡意內部人員傷害,因為在過程中已經不再有任何的單獨點(single point)(也就是沒有單獨的時間或地點),在上述單獨點所有上述金鑰訊息都是可存取的。
接下來在此描述的多個實施例從一半導體晶圓開始,上述半導體晶圓上有多個已被製造好的IC晶片。每個IC晶片包含一安全記憶體及可程式化邏輯,上述可程式化邏輯被用以儲存至少兩個上述金鑰在上述安全記憶體中,及使用這些金鑰對資料計算數位簽章。一第一金鑰,經由電探針設置到每個上述IC晶片的上述安全記憶體中,上述電探針和半導體晶圓上的接觸墊接觸 ,例如由一設置設備在一晶圓等級的測試過程中執行。在上述晶圓被切成多個分開的晶片後,一第二金鑰,經由上述晶片的觸針,設置到每個上述晶片的上述安全記憶體中 ,例如在一測試上述各個IC晶片的過程中執行。這個後面的階段可以由一不同的設置設備執行,上述設置設備和被用來設置上述第一金鑰的上述設置設備是分開且獨立的,甚至可能在不同的設施中。一惡意集團將會需要接觸這兩個分開的設置階段以獲取完整的上述金鑰訊息。
為了驗證上述設置過程的完整性及允許上述IC晶片在安全操作中的後續使用,每個IC晶片產生及輸出一設置報告,上述設置報告有一數位簽章,上述數位簽章是由上述可程式化邏輯使用上述第一金鑰及上述第二金鑰計算得到。在這個階段,上述可程式化邏輯通常產生一對公鑰及私鑰,及輸出上述公鑰作為設置報告的一部份,上述公鑰由上述第一金鑰及上述第二金鑰簽署,上述設置報告證明了上述私鑰的所有權(或是被用以推導上述金鑰對的機密),並因此確立了上述晶片是真的。可替換的,上述設置報告可能採用任何其他合適的形式,上述形式允許接收者接收上述數位簽章,並因此驗證上述晶片包含上述第一金鑰及上述第二金鑰。一旦上述兩個金鑰都已經由這個方法驗證,在上述IC晶片被整合到產品中後,舉例來說,數位簽章的後續驗證可以只使用兩個金鑰中的一個來執行,因為所有上述機密資訊都已知被安全的儲存在上述IC晶片中且無法被篡改。
上述呈現的多個實施例的其他好處有,設置的驗證只發生在整個IC設置過程完成之後,上述IC設置過程是發生在上述IC製造及測試設施中。上述設置設備及上述IC晶片間,在裝置製造及測試的上述階段中不需要事先交握(handshake);且設置的上述第一階段,在晶圓等級是完全單向的,代表上述已設置好的晶片不需要回覆上述設置設備。因此,除了在上述兩階段設置協定中固有增加的複雜度外,實際的上述設置可以用現有的測試設備當作上述標準製造過程的一部份執行,而只有一些或沒有延遲整個上述過程。
第1圖是方塊圖,根據本發明的實施例,示意說明用以設置IC晶片22的系統20,上述晶片已被製造在半導體晶圓32上。每個IC晶片22包含一安全記憶體24及可程式化安全邏輯30,上述可程式化安全邏輯30(以下使用簡稱邏輯30)被用以儲存多個金鑰在記憶體24中,及使用上述金鑰對資料計算數位簽章。邏輯30能夠執行安全加密操作(secure cryptographic operation),及其他功能,且通常包含一可程式化微控制器(microcontroller)或微處理器(microprocessor)核心(core),上述可程式化微控制器或微處理器核心在合適的程式碼控制下運作。可替換的或可附加的,邏輯30包含硬布線(hard-wired)及/或可程式化數位邏輯電路(programmable digital logic circuit)。邏輯30連接到一介面28,例如採取在半導體晶圓32上接觸墊的形式,通過上述介面資料及其他訊號可以輸入或輸出IC晶片22。
安全記憶體24包含一非揮發性記憶體(non-volatile memory)(NVM),例如一次性可程式化記憶體(one-time programmable (OTP) memory)或電子可程式化唯讀記憶體(electrically-programmable read-only memory(ROM)),上述非揮發性記憶體只能由邏輯30存取。記憶體24包含一硬體金鑰(hardware key)26,上述硬體金鑰在半導體晶圓32的製造中被寫入上述記憶體或被設計到上述邏輯中,用以在後續的程式階段中作為全域機密(global secret),如以下所述。在這些程式階段的過程中,邏輯30會儲存(至少)兩個額外的金鑰在安全記憶體24中,且會使用上述金鑰計算一或多個數位簽章。記憶體24通常包含額外的非揮發性及/或揮發性隨機存取記憶體(random-access memory(RAM)用以儲存程式碼,例如韌體及/或軟體程式碼,以及資料。
一設置設備34經由探針42設置一第一金鑰到每個IC晶片22的安全記憶體24中,上述探針42接觸半導體晶圓32中每個晶片上的接觸墊。因此這個第一金鑰在此及以下被稱為“電路探針(circuit probe(CP))”金鑰。探針42可以是一晶圓測試系統(未列於圖式)的一部份,設置設備34被耦接到上述晶圓測試系統以進行設置。如先前所述,這個設置可以做為一標準晶圓級測試方案的一部份便利的被執行,例如用以在生產過程的晶圓分類階段檢測故障晶片的測試。可替換的,上述CP金鑰的設置可以獨立於所有測試階段被執行。
設置設備已經在安全製造的技術領域中為大家所知,任何合適的此種設備都可以在系統20中被使用。在圖式的實施例中,設置設備34包含一安全、受信任的電腦,上述電腦有一中央處理單元(central processing unit (CPU))38及一記憶體36,上述記憶體含有程式設計指令及資料。為了確保被設置到IC晶片22中的上述CP金鑰的安全及完整,設備34包含一防篡改的硬體安全模組(hardware security module (HSM))40用以產生、加密及經由探針42傳送上述金鑰數值及其他資料到IC晶片22。每個CP金鑰由HSM 40使用硬體金鑰26加密,接著作為一二進位大型物件(binary large object (BLOB))和一附帶的數位認證(accompanying digital certificate)被傳送到IC晶片22,上述數位認證證明了上述金鑰的真實性。(可選擇的,上述數位認證也可以被加密。)HSM 40使用一由上述HSM保護的簽署金鑰(signing key)簽署上述數位認證。邏輯30使用硬體金鑰26解密及解析上述BLOB,並儲存上述CP金鑰到記憶體24中。
第2圖是方塊圖,依據本發明的實施例,示意說明系統50,上述系統用於IC晶片22的設置。在系統50中,半導體晶圓32(第1圖)已經被切開以便分離IC晶片22,而上述晶片已被封裝或者準備好整合到一電子裝置。在這個階段,舉例來說,IC晶片22可以被安裝在一電路板52上,例如一測試夾具(test fixture)或上述晶片將被整合進去的實際裝置。在這種配置下,介面28被連接到晶片封裝上的觸針或晶粒(die),上述觸針或上述晶粒可因此已被焊接到電路板52的走線(traces)。可替換的,系統50可以被應用於直接設置單獨的晶片,而非透過一電路板。在任一情況下,舉例來說,上述觸針可以採取一IC封包上的接腳或IC裸晶上的銲錫凸塊(solder bump)的形式,取決於封裝的類型,或是任何其他在本技術領域中已知,合適的晶片連接(chip connection)的種類。
一設置設備54經由一連接器62設置一第二金鑰到每個IC晶片22的安全記憶體24中,上述連接器直接不然就是經由電路板52接觸IC晶片22上的上述觸針(如第2圖所示)。設備54,就像設備34(第1圖),包含一安全、受信任的電腦,上述電腦有一CPU 58及一安全記憶體56,以及一HSM 60
。連接器62可以是一最終測試系統或是一用以外包組裝及測試的系統(未列於圖式)的一部份,設備54被耦接到上述系統以進行設置。因此由設備54設置的上述金鑰在此及以下被稱為“最終測試金鑰 (final test (FT) key)”。雖然相同的上述設置設備可以被用在上述CP金鑰及上述FT金鑰的設置中,設備34及設備54分開且獨立對於阻止來自惡意內部人員的潛在攻擊是有利的。
第3圖是階梯圖,根據本發明的實施例示意說明在晶圓等級IC晶片22的設置方法。為了明確且具體,這個方法在此參照系統20(第1圖)來描述,特別是IC晶片22(被稱為“被測試裝置(device under test)”或DUT)及設置設備(PA)34。可替換的,這個方法可以由其他系統配置來執行,在讀完上述描述後,對熟悉本技術領域中的技術人員來說將會明白而易懂。
在CP下載步驟70(CP download step)中,在經由探針42連接到IC晶片22後,設置設備34下載一BLOB,上述BLOB包含上述CP金鑰及一數位認證,上述數位認證向IC晶片22證明了上述CP金鑰的真實性。上述認證由HSM 40使用一受保護的簽署金鑰簽署。上述BLOB使用IC晶片22的硬體金鑰26加密,並使用一受HSM 40保護的上述金鑰的複製。在CP解密步驟72(CP decryption step)中,IC晶片22中的邏輯30使用硬體金鑰26解密上述BLOB,並解析上述已解密的BLOB以提取上述CP金鑰。在CP儲存步驟74(CP storage step)中,邏輯30將上述CP金鑰儲存到安全記憶體24中。
邏輯30被編入程式這樣一來在步驟74中上述CP金鑰的儲存後,邏輯30只有在合適的程式碼已經被載入到IC晶片22且由邏輯30執行後才會存取CP金鑰。這個IC晶片22的操作模式被稱為保護狀態(production (PROD) state)。這個配置之特徵避免在晶圓等級任何的進一步存取或使用上述CP金鑰。
第4圖是階梯圖,根據本發明的實施例示意說明用以在切割後設置及驗證IC晶片22的方法。再一次,為了明確且具體,這個方法在此參照系統50(第2圖)來描述,特別是IC晶片22及設置設備54。可替換的,這個方法可以由其他系統配置來執行,在讀完上述描述後,對本技術領域中的技術人員來說將會明白而易懂。
在碼載入步驟80(code loading step)中,設置設備54經由連接器62向IC晶片22發送訊號,說明它將要進入之前說明過的上述PROD狀態,並下載程式碼到上述晶片中,例如以一韌體程式碼的形式。這個碼和一受信任的數位簽章一起傳送,上述數位簽章允許在IC晶片22中的邏輯30驗證上述碼是真實且受信任的。邏輯30將不會接受及載入任何沒有適當認證的碼。在FT下載步驟82(FT download step)中,設置設備54下載一BLOB到IC晶片22中,上述BLOB包含上述FT金鑰及一由HSM 60簽署的數位認證,證明上述FT金鑰的真實性。上述BLOB再一次使用IC晶片22的硬體金鑰26加密。(可替換的,步驟80和步驟82的順序可以反過來。)
在FT解密步驟84(FT decryption step),IC晶片22中的邏輯30使用硬體金鑰26解密上述BLOB,並解析上述已解密的BLOB以提取上述FT金鑰,並同樣儲存上述FT金鑰到安全記憶體24中。
在金鑰產生步驟86(key generation step)中,邏輯30產生一公/私鑰對以供後續和IC晶片22的通訊使用。舉例來說,邏輯30可以從IC晶片22上的一隨機變數產生器(random number generator)接收一種子值(seed value),接著將上述種子值用於一金鑰衍伸函式(key derivation function (KDF))以產生上述公鑰及私鑰。上述公鑰在此被稱為“ID金鑰”。在簽章產生步驟88(signature generation step)中,邏輯30在上述ID金鑰上使用上述CP金鑰及上述FT金鑰產生一數位簽章,上述CP金鑰及上述FT金鑰儲存在安全記憶體24中。這個數位簽章可以包含,舉例來說,分別使用上述CP金鑰及上述FT金鑰計算的兩個子簽章(sub-signature);或是可替換的,上述多個子簽章可以被連接或者不然就是混合在上述數位簽章中。在任一情況,有效的數位簽章只有在上述CP金鑰及上述FT金鑰都被使用的情況下才能在這個階段被計算。
在報告步驟90(reporting step)中,在步驟80到88都已完成後,邏輯30經由連接器62產生及輸出一設置報告到設置設備54。上述報告包含CP及FT認證,上述認證和上述CP金鑰及上述FT金鑰由IC晶片22在步驟70及82中接收,及在步驟86中產生的上述ID金鑰,及在步驟88中計算的上述數位簽章。設置設備54檢查上述認證及上述數位簽章以驗證上述ID金鑰及認證的有效性。如前面所說,IC晶片22將用於此領域而被驗證及釋出,並將在這個驗證後才能夠接收服務,上述驗證只有在上述CP金鑰及上述FT金鑰都成功的被設置到記憶體24中的情況下才能完成。
在一些實施例中,為了加強長期安全,在報告儲存步驟92(report storage step)中,設置設備54將上述設置報告及相應的上述CP及FT認證對傳到一儲存庫以儲存。舉例來說,上述設置設備可以透過一網路傳送上述報告及認證到一伺服器94,上述伺服器維護一包含上述認證的資料庫(database)。在成對檢查步驟96(couple checking step)中,伺服器94定期檢查上述儲存庫是否有上述CP及FT認證對的複製。當一複製被偵測到,伺服器94發出一警報,例如向IC晶片22的製造者發出警報。這類的警報在偵測及警告以重複使用之前的機密數值來破解IC晶片22安全性的嘗試十分有用,例如偵測及警告一重放攻擊(replay attack)。為了防衛這類的使用,伺服器94及/或設置設備54可以維護一已被破解的金鑰及認證的“廢棄清單(revocation list)”,並且在回應接下來涉及有問題的上述金鑰及認證的請求時可以參考這份清單。
可以理解以上提到的實施例為舉例說明,且本發明並不限於以上特別顯示及描述的部分。確切來說,本發明的範圍包含以上提到的各種特徵的組合及子組合,及這個技術領域中的技術人員在讀完上述描述能夠想到的變化和修改,及沒有揭露於先前技術的部分。
20:用以設置IC晶片22的系統
22:IC晶片
24:安全記憶體
26:HW金鑰
28:介面
30:安全邏輯
32:半導體晶圓
34:設置設備
36:記憶體
38:中央處理單元
40:硬體安全模組
42:探針
50:系統
52:電路板
54:設置設備
56:安全記憶體
58:中央處理單元
60:硬體安全模組
62:連接器
70:CP下載步驟
72:CP解密步驟
74:CP儲存步驟
80:碼載入步驟
82:FT下載步驟
84:FT解密步驟
86:金鑰產生步驟
88:簽章產生步驟
90:報告步驟
92:報告儲存步驟
94:伺服器
96:成對檢查步驟
第1圖是方塊圖,根據本發明的實施例示意說明在晶圓等級設置IC晶片的系統。
第2圖是方塊圖,根據本發明的實施例示意說明在切割後設置IC晶片的系統。
第3圖是階梯圖(ladder diagram),根據本發明的實施例示意說明在晶圓等級設置IC晶片的方法。
第4圖是階梯圖,根據本發明的實施例示意說明在切割後設置及驗證IC晶片的方法。
20:用以設置IC晶片22的系統
22:IC晶片
24:安全記憶體
26:HW金鑰
28:介面
30:安全邏輯
32:半導體晶圓
34:設置設備
36:記憶體
38:中央處理單元
40:硬體安全模組
42:探針
Claims (22)
- 一種用於設置電子裝置的方法,上述方法包含: 提供一半導體晶圓,在上述半導體晶圓上有多個已製造好的積體電路晶片,上述每個積體電路晶片包含一安全記憶體及可程式化邏輯,上述可程式化邏輯被用以儲存至少兩個金鑰在上述安全記憶體中,及使用上述至少兩個金鑰對資料計算數位簽章; 經由電探針,設置一第一金鑰到每個上述積體電路晶片的上述安全記憶體中,上述電探針和在上述半導體晶圓上的接觸墊接觸; 在上述半導體晶圓切割後,經由上述積體電路晶片的觸針設置一第二金鑰到每個上述積體電路晶片的上述安全記憶體中; 從每個上述積體電路晶片接收一設置報告,上述設置報告中有一數位簽章,上述數位簽章由上述可程式化邏輯使用上述第一金鑰及上述第二金鑰計算得到;以及 基於上述數位簽章驗證上述設置步驟。
- 如請求項1之方法,其中設置上述第一金鑰之步驟發生在一使用上述電探針測試在上述晶圓上的上述積體電路晶片的過程中。
- 如請求項1之方法,其中設置上述第二金鑰之步驟發生在一測試每個上述積體電路晶片的過程中。
- 如請求項1之方法,其中設置上述第一金鑰之步驟是由一第一設置設備執行,設置上述第二金鑰是由一第二設置設備執行,上述第二設置設備和上述第一設置設備是分開且獨立的。
- 如請求項1之方法,更包含: 載入程式碼到每個上述積體電路晶片中,以便由上述可程式化邏輯執行,上述程式碼使用一受信任的簽章簽署,其中上述設置報告在載入上述程式碼後從每個上述積體電路晶片接收。
- 如請求項1之方法,其中接收上述設置報告之步驟包含從每個上述積體電路晶片接收一公鑰,用以和上述積體電路晶片通訊,其中上述公鑰被使用上述第一金鑰及上述第二金鑰簽署。
- 如請求項1之方法,其中接收上述設置報告之步驟包含接收由每個上述積體電路晶片產生的第一安全認證及第二安全認證,上述第一安全認證及上述第二安全認證和上述第一金鑰及上述第二金鑰有關。
- 如請求項7之方法,更包含在一儲存庫中儲存上述第一安全認證及上述第二安全認證,定期檢查上述儲存庫中是否有上述第一安全認證及上述第二安全認證的複製,並且在檢測到一複製時發出一警報。
- 一種用於設置電子裝置的系統,包含: 電探針,用以接觸在一半導體晶圓上的接觸墊,在上述半導體晶圓上有多個已製造好的積體電路晶片,每個上述積體電路晶片包含一安全記憶體及可程式化邏輯,上述可程式化邏輯被用以儲存至少兩個金鑰在上述安全記憶體中,及使用上述至少兩個金鑰對資料計算數位簽章; 一連接器,用以在上述晶圓切割後連接每個上述積體電路晶片的觸針;及 至少一設置設備,上述設置設備被用以經由上述電探針設置一第一金鑰到每個上述積體電路晶片的上述安全記憶體中,上述電探針和上述半導體晶圓接觸,及用以在上述半導體晶圓切割後,經由上述連接器及上述觸針,設置一第二金鑰到每個上述積體電路晶片的上述安全記憶體中,及用以從每個上述積體電路晶片接收一設置報告,上述設置報告有一由上述可程式化邏輯使用上述第一金鑰及上述第二金鑰計算的數位簽章,及用以基於上述數位簽章驗證上述設置。
- 如請求項9之系統,其中上述至少一設置設備設置上述第一金鑰是發生在一使用上述電探針測試在上述晶圓上的上述積體電路晶片的過程中。
- 如請求項9之系統,其中上述至少一設置設備設置上述第二金鑰是發生在一測試每個上述積體電路晶片的過程中。
- 如請求項9之系統,其中上述至少一設置設備包含一第一設置設備,上述第一設置設備設置上述第一金鑰,及一第二設置設備,上述第二設置設備設置上述第二金鑰,其中上述第二設置設備和上述第一設置設備是分開且獨立的。
- 如請求項9之系統,其中,在載入程式碼到每個上述積體電路晶片中,以便由上述可程式化邏輯執行後,從每個上述積體電路晶片接收上述設置報告,上述程式碼使用一受信任的簽章簽署。
- 如請求項9之系統,其中從每個上述積體電路晶片接收的上述設置報告包含一公鑰,用以和上述積體電路晶片通訊,其中上述公鑰被使用上述第一金鑰及上述第二金鑰簽署。
- 如請求項9之系統,其中上述設置報告包含由每個上述積體電路晶片產生的第一安全認證及第二安全認證,上述第一安全認證及上述第二安全認證和上述第一金鑰及上述第二金鑰有關。
- 如請求項15之系統,更包含一伺服器,上述伺服器被用以在一儲存庫中儲存上述第一安全認證及上述第二安全認證,及用以定期檢查上述儲存庫中是否有上述第一安全認證及上述第二安全認證的複製,並且在檢測到一複製時發出一警報。
- 一種積體電路晶片,包含: 一安全記憶體;及 可程式化邏輯,用以接收至少第一金鑰及第二金鑰,上述第一金鑰及上述第二金鑰在一生產上述積體電路晶片的過程中不同的第一階段及第二階段被設置,及用以儲存上述金鑰到上述安全記憶體中,及用以使用上述第一金鑰及上述第二金鑰計算及輸出一數位簽章。
- 如請求項17之積體電路晶片,其中上述可程式化邏輯被用以接收上述第一金鑰,上述可程式化邏輯接收上述第一金鑰發生在一應用電探針測試上述積體電路晶片的過程中,上述電探針和一晶圓連接,上述晶圓上有已製造好的上述積體電路晶片。
- 如請求項18之積體電路晶片,其中上述可程式化邏輯被用以在上述晶圓切割後測試上述積體電路晶片的過程中,接收上述第二金鑰。
- 如請求項17之積體電路晶片,其中上述可程式化邏輯被用以在載入程式碼到上述積體電路晶片中後,輸出一包含上述數位簽章的設置報告,上述程式碼被使用一受信任的簽章簽署。
- 如請求項20之積體電路晶片,其中由上述可程式化邏輯輸出的上述設置報告包含一用於和上述積體電路晶片通訊的公鑰,其中上述公鑰由上述可程式化邏輯使用數位簽章簽署,上述數位簽章使用了上述第一金鑰及上述第二金鑰。
- 如請求項20之積體電路晶片,其中上述設置報告包含由上述可程式化邏輯產生的第一安全認證及第二安全認證,上述第一安全認證及上述第二安全認證和上述第一金鑰及上述第二金鑰有關。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/331,665 US11574079B2 (en) | 2021-05-27 | 2021-05-27 | Multi-stage provisioning of secret data |
US17/331,665 | 2021-05-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202247018A TW202247018A (zh) | 2022-12-01 |
TWI809900B true TWI809900B (zh) | 2023-07-21 |
Family
ID=84158338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111119923A TWI809900B (zh) | 2021-05-27 | 2022-05-27 | 用於設置電子裝置的方法、系統及積體電路晶片 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11574079B2 (zh) |
JP (1) | JP7472194B2 (zh) |
CN (1) | CN115412251A (zh) |
TW (1) | TWI809900B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230040468A1 (en) * | 2021-08-04 | 2023-02-09 | International Business Machines Corporation | Deploying a system-specific secret in a highly resilient computer system |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103562922A (zh) * | 2011-03-30 | 2014-02-05 | 耶德托公司 | 在芯片制造期间建立唯一秘钥 |
CN103621006A (zh) * | 2011-02-15 | 2014-03-05 | 汉阳大学校产学协力团 | 防止物理性攻击的加密装置及方法 |
TWI570590B (zh) * | 2014-03-11 | 2017-02-11 | 高通公司 | 與使用縮減回合編密的xts加密系統一起使用之動態加密金鑰 |
TWI673721B (zh) * | 2017-05-22 | 2019-10-01 | 旺宏電子股份有限公司 | 具有物理不可複製功能及隨機數產生器的電路及其操作方法 |
TWI702542B (zh) * | 2016-12-21 | 2020-08-21 | 德商馬克專利公司 | 複合式安全標記 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000122931A (ja) * | 1998-10-15 | 2000-04-28 | Toshiba Corp | デジタル集積回路 |
JP2003051817A (ja) * | 2001-08-08 | 2003-02-21 | Toshiba Corp | 暗号化・復号装置、ディジタル署名生成・検証装置、方法及びプログラム |
CA2510366C (en) * | 2005-06-14 | 2013-02-26 | Certicom Corp. | System and method for remote device registration |
US7299388B2 (en) * | 2005-07-07 | 2007-11-20 | Infineon Technologies, Ag | Method and apparatus for selectively accessing and configuring individual chips of a semi-conductor wafer |
WO2010057312A1 (en) | 2008-11-24 | 2010-05-27 | Certicom Corp. | System and method for hardware based security |
US8332641B2 (en) | 2009-01-30 | 2012-12-11 | Freescale Semiconductor, Inc. | Authenticated debug access for field returns |
US8732468B2 (en) | 2009-03-09 | 2014-05-20 | The Regents Of The University Of Michigan | Protecting hardware circuit design by secret sharing |
US20100284539A1 (en) | 2009-03-09 | 2010-11-11 | The Regents Of The University Of Michigan | Methods for Protecting Against Piracy of Integrated Circuits |
WO2011068996A1 (en) | 2009-12-04 | 2011-06-09 | Cryptography Research, Inc. | Verifiable, leak-resistant encryption and decryption |
US8966657B2 (en) | 2009-12-31 | 2015-02-24 | Intel Corporation | Provisioning, upgrading, and/or changing of hardware |
FR2973564A1 (fr) * | 2011-04-01 | 2012-10-05 | St Microelectronics Rousset | Securisation d'une plaquette de circuits electroniques |
EP2724286B1 (en) * | 2011-07-27 | 2018-04-18 | Certicom Corp. | Method for provisioning cryptographic keys during manufacturing |
US9100189B2 (en) | 2012-08-31 | 2015-08-04 | Freescale Semiconductor, Inc. | Secure provisioning in an untrusted environment |
US9742563B2 (en) * | 2012-09-28 | 2017-08-22 | Intel Corporation | Secure provisioning of secret keys during integrated circuit manufacturing |
US9430658B2 (en) * | 2014-12-16 | 2016-08-30 | Freescale Semiconductor, Inc. | Systems and methods for secure provisioning of production electronic circuits |
US20170180131A1 (en) | 2015-12-16 | 2017-06-22 | Intel Corporation | Secure unlock to access debug hardware |
US10250587B2 (en) * | 2016-09-30 | 2019-04-02 | Microsoft Technology Licensing, Llc | Detecting malicious usage of certificates |
US10211979B2 (en) | 2017-05-19 | 2019-02-19 | Swfl, Inc. | Systems and methods securing an autonomous device |
DE102017005057A1 (de) * | 2017-05-26 | 2018-11-29 | Giesecke+Devrient Mobile Security Gmbh | Personalisieren eines Halbleiterelements |
EP3506560A1 (en) * | 2017-12-29 | 2019-07-03 | Nagravision S.A. | Secure provisioning of keys |
JP7077246B2 (ja) | 2018-02-04 | 2022-05-30 | ソニー セミコンダクタ イスラエル リミテッド | コンパクトなセキュリティ証明書 |
-
2021
- 2021-05-27 US US17/331,665 patent/US11574079B2/en active Active
-
2022
- 2022-03-23 CN CN202210286485.XA patent/CN115412251A/zh active Pending
- 2022-05-12 JP JP2022078609A patent/JP7472194B2/ja active Active
- 2022-05-27 TW TW111119923A patent/TWI809900B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103621006A (zh) * | 2011-02-15 | 2014-03-05 | 汉阳大学校产学协力团 | 防止物理性攻击的加密装置及方法 |
CN103562922A (zh) * | 2011-03-30 | 2014-02-05 | 耶德托公司 | 在芯片制造期间建立唯一秘钥 |
TWI570590B (zh) * | 2014-03-11 | 2017-02-11 | 高通公司 | 與使用縮減回合編密的xts加密系統一起使用之動態加密金鑰 |
TWI702542B (zh) * | 2016-12-21 | 2020-08-21 | 德商馬克專利公司 | 複合式安全標記 |
TWI673721B (zh) * | 2017-05-22 | 2019-10-01 | 旺宏電子股份有限公司 | 具有物理不可複製功能及隨機數產生器的電路及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115412251A (zh) | 2022-11-29 |
TW202247018A (zh) | 2022-12-01 |
US20220382911A1 (en) | 2022-12-01 |
US11574079B2 (en) | 2023-02-07 |
JP2022183033A (ja) | 2022-12-08 |
JP7472194B2 (ja) | 2024-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9430658B2 (en) | Systems and methods for secure provisioning of production electronic circuits | |
US9729322B2 (en) | Method and system for smart card chip personalization | |
US8065517B2 (en) | Method and system for transferring information to a device | |
JP6509197B2 (ja) | セキュリティパラメータに基づくワーキングセキュリティキーの生成 | |
CN102301375B (zh) | 用于市场返修的认证调试访问 | |
CN110401615B (zh) | 一种身份认证方法、装置、设备、***及可读存储介质 | |
US20190052464A1 (en) | Method for generating a public/private key pair and public key certificate for an internet of things device | |
US20050166051A1 (en) | System and method for certification of a secure platform | |
EP2999156A1 (en) | Device authenticity determination system and device authenticity determination method | |
TW201532417A (zh) | 密碼金鑰供給方法、半導體積體電路及密碼金鑰管理裝置 | |
US20170339116A1 (en) | Method and apparatus for secure provisioning of an integrated circuit device | |
JP2019220169A (ja) | 埋め込まれたルートオブトラストシークレットで生成される集積回路の個人化 | |
CN115001695B (zh) | 平台的基板管理控制器身份的安全置备 | |
US11985247B2 (en) | Network device authentication | |
TWI809900B (zh) | 用於設置電子裝置的方法、系統及積體電路晶片 | |
US20220075863A1 (en) | Trusted Key Provisioning Based on Device Specific Secrets | |
Aysu et al. | A design method for remote integrity checking of complex PCBs | |
CN112715017B (zh) | 使用物理不可克隆函数的密码密钥配置 | |
CN110929271A (zh) | 一种芯片防篡改方法、***、终端及存储介质 | |
EP3884637A1 (en) | Device authentication with sealing and verification | |
US20220116206A1 (en) | Systems and methods for device authentication in supply chain | |
CN115208587B (zh) | 一种基于密码模块的密码算法的实现***及方法 | |
CN112307438B (zh) | 一种扫描锁定电路、安全隔离装置、芯片及安全隔离方法 | |
CN113675097A (zh) | 一种三维芯片的制造方法以及三维芯片 |