TWI854152B - 用於提供安全的現場升級之方法、相關電腦可讀儲存媒體及電子裝置 - Google Patents
用於提供安全的現場升級之方法、相關電腦可讀儲存媒體及電子裝置 Download PDFInfo
- Publication number
- TWI854152B TWI854152B TW110132181A TW110132181A TWI854152B TW I854152 B TWI854152 B TW I854152B TW 110132181 A TW110132181 A TW 110132181A TW 110132181 A TW110132181 A TW 110132181A TW I854152 B TWI854152 B TW I854152B
- Authority
- TW
- Taiwan
- Prior art keywords
- activation code
- random value
- temporary random
- request
- pairs
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000003860 storage Methods 0.000 title claims description 41
- 230000004913 activation Effects 0.000 claims abstract description 77
- 239000004065 semiconductor Substances 0.000 claims abstract description 42
- 238000004891 communication Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 6
- 238000004519 manufacturing process Methods 0.000 description 17
- 238000012545 processing Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 6
- 206010010099 Combined immunodeficiency Diseases 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000001360 collision-induced dissociation Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 101001121408 Homo sapiens L-amino-acid oxidase Proteins 0.000 description 2
- 102100026388 L-amino-acid oxidase Human genes 0.000 description 2
- 101100233916 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) KAR5 gene Proteins 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- VIEYMVWPECAOCY-UHFFFAOYSA-N 7-amino-4-(chloromethyl)chromen-2-one Chemical compound ClCC1=CC(=O)OC2=CC(N)=CC=C21 VIEYMVWPECAOCY-UHFFFAOYSA-N 0.000 description 1
- 101000827703 Homo sapiens Polyphosphoinositide phosphatase Proteins 0.000 description 1
- 102100023591 Polyphosphoinositide phosphatase Human genes 0.000 description 1
- 238000010923 batch production Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000001152 differential interference contrast microscopy Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 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
- 230000005236 sound signal Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Abstract
所揭示實施例係關於安全地更新一半導體裝置,且特定而言係關於一種金鑰管理系統。在一項實施例中,揭示一種方法,該方法包括:自一遠端運算裝置接收對一啟動碼資料庫之一請求,該請求包含至少一個參數;基於該至少一個參數擷取至少一個對,該對包含一唯一ID(UID)及秘密金鑰;產生該UID之一啟動碼;及將該啟動碼返回至該遠端運算裝置。
Description
本文中所揭示之至少一些實施例大體上係關於半導體裝置,且特定而言係關於為半導體裝置提供安全的現場升級。
當前,許多半導體裝置(例如,半導體記憶體裝置)提供容許對裝置之製造後更新之可現場升級功能性。例如,一記憶體裝置可提供在製造及安裝記憶體裝置之後更新記憶體裝置之韌體的能力。保全此等現場升級對於此等裝置之可靠且受信賴之操作而言至關重要。一些裝置利用對稱加密來保全現場升級。在此等裝置中,一製造商及半導體裝置共用一秘密金鑰(secret key)且依賴於此等金鑰(key)來加密及解密現場升級。在一對稱金鑰系統中,金鑰在雙方(例如,製造商與終端使用者)之間係唯一的。然而,此等系統中之金鑰分配遭受由所揭示實施例補救之諸多缺陷。
首先,許多系統排他性地依賴於基於雲之金鑰分配技術。此等技術要求一終端使用者(例如,裝置所有者)連接至一公共網路以下載金鑰。然而,一公共網路連接之要求引入潛在的安全風險。其次,大多數
基於雲之系統依賴於唯一識別符(UID)值來使一終端使用者能夠自一基於雲之平台請求一對稱金鑰。一般而言,此等UID值必須個別地自半導體裝置讀取且個別地上傳。因此,批量存取對稱金鑰係不可行的,因為UID值之電識別通常僅在製造期間當無法存取一公共網路時可用。此外,考慮到操作中所涉及之時間延時及由該延時引入之成本,在一高價值製造(HVM)環境中擷取對稱金鑰通常為不可行的。
在某些實施例中,本揭露係可關於一種用於提供安全的現場升級之方法,其包括:自一遠端運算裝置接收對一啟動碼資料庫之一請求,該請求包含至少一個參數,該至少一個參數包括一裝置類型或一日期範圍之至少一者;基於該至少一個參數擷取至少一個對,該對包含一唯一ID(UID)及秘密金鑰;產生該UID之一啟動碼;及將該啟動碼返回至該遠端運算裝置。
在某些實施例中,本揭露係可關於一種用於有形地儲存能夠藉由一電腦處理器執行之電腦程式指令之非暫時性電腦可讀儲存媒體,該等電腦程式指令定義以下步驟:自一遠端運算裝置接收對一啟動碼資料庫之一請求,該請求包含至少一個參數,該至少一個參數包括一裝置類型或一日期範圍之至少一者;基於該至少一個參數擷取至少一個對,該對包含一唯一ID(UID)及秘密金鑰;產生該UID之一啟動碼;及將該啟動碼返回至該遠端運算裝置。
在某些實施例中,本揭露係可關於一種電子裝置,其包括:一處理器;及一儲存媒體,其用於將程式邏輯有形地儲存於其上以藉由該處理器執行,該經儲存程式邏輯包括用於以下之邏輯:自一遠端運算
裝置接收對一啟動碼資料庫之一請求,該請求包含至少一個參數,該至少一個參數包括一裝置類型或一日期範圍之至少一者;基於該至少一個參數擷取至少一個對,該對包含一唯一ID(UID)及秘密金鑰;產生該UID之一啟動碼;及將該啟動碼返回至該遠端運算裝置。
102:金鑰管理系統(KMS)
104:受信賴夥伴(TP)
106:客戶系統
108:半導體裝置
108a:半導體裝置
108b:半導體裝置
108c:半導體裝置
110:半導體裝置製造商
202:唯一識別符(UID)(圖2)/非揮發性(NV)儲存器(圖5)
204:製造商儲存根金鑰(MFGSRK)
206:臨時亂數產生器/組件
208:裝置選擇器/組件
210:啟動碼產生器/組件
212:儲存引擎/組件
214:硬體安全模組(HSM)
218:網路介面(NIC)/伺服器
220:控制器
222:密碼引擎
302:步驟
304:步驟
306:步驟
308:步驟
402:步驟
404:步驟
406:步驟
408:步驟
410:步驟
412:步驟
414:步驟
416:步驟
500:運算系統
502:處理器
504:匯流排
506:記憶體系統
508A至508N:記憶體庫
512:匯流排/介面
514:本地快取區/模組
516:韌體/模組
518:模組
600:運算裝置
622:處理單元(CPU)
624:匯流排
630:大容量記憶體
632:隨機存取記憶體(RAM)
640:基本輸入/輸出系統(「BIOS」)
641:作業系統
642:應用程式
652:音訊介面
654:顯示器
656:小鍵盤
658:照明器
660:輸入/輸出介面
662:觸覺介面
664:全球定位系統(GPS)接收器/全球定位系統(GPS)收發器
666:相機/感測器
圖1係繪示根據本發明之一些實施例之一鑑認系統之一方塊圖。
圖2係繪示根據本發明之一些實施例之一金鑰管理系統(KMS)之一方塊圖。
圖3係繪示根據一些實施例之用於構建及管理一金鑰資料庫的一方法之一流程圖。
圖4係繪示根據一些實施例之用於產生一對稱金鑰啟動資料庫的一方法之一流程圖。
圖5係繪示根據本發明之一些實施例之一記憶體系統之一方塊圖。
圖6係繪示展示在本發明之各項實施例中使用之一運算裝置之一實例實施例的一運算裝置之一方塊圖。
本申請案係關於與本申請案同時申請之具有代理人檔案號120426-058300/US及120426-058500/US之共同擁有之申請案,該等案之揭示內容之全文以引用的方式併入。
所揭示實施例解決此項技術中之前述問題及其他問題。所揭示實施例容許終端使用者在一製造環境中使用對稱金鑰密碼術來啟動半
導體裝置中之能力,而無需至一公共網路之一連接及最終一基於雲之KMS。此外,所揭示實施例支援一次請求多個對稱金鑰。此外,所揭示實施例保留防止端對端對稱曝露之能力,但在連接至一KMS時一次對多個裝置進行此。參考所揭示實施例更詳細地描述此等及其他特徵。
圖1係繪示根據本發明之一些實施例之一鑑認系統之一方塊圖。
所繪示系統包含一半導體裝置製造商(110)、KMS(102)、受信賴夥伴(TP)(104)、客戶系統(106)及複數個半導體裝置(108)。在所繪示實施例中,製造商(110)係裝置(108)之製造商。在所繪示實施例中,製造商(110)可經由一安全通道與KMS(102)進行通信。在一些實施例中,製造商(110)針對各裝置(108)將一對應唯一識別符(UID)及一裝置秘密金鑰(亦稱為製造商之儲存根金鑰(MFGSRK))上傳至KMS(102)。在所繪示實施例中,MFGSRK係在製造商(110)之一安全製造環境中產生。在一些實施例中,製造商(110)亦上傳購買或以其他方式與一裝置(108)相關聯之各客戶的一客戶識別符(CID)。在一些實施例中,製造商亦上傳與一CID相關聯之一客戶鑑認金鑰(CAK)。在一項實施例中,CAK限於一指定日期範圍,因此在該範圍之最後一天過去之後變得無效。UID、MFGSRK、CID及CAK值統稱為「製造資料」。
在所繪示實施例中,KMS(102)儲存自製造商(110)接收之前述資料。在一項實施例中,KMS(102)包括一伺服器或多個伺服器以儲存製造資料。在一些實施例中,KMS(102)利用一硬體安全模組(HSM)來保全製造資料。在所繪示實施例中,KMS(102)能夠產生經接收UID之各者之啟動碼。在一些實施例中,一啟動碼包括一整數或類似可處理值。在
一些實施例中,KMS(102)回應於來自TP(104)之一請求而產生一啟動碼。
在所繪示實施例中,TP(104)包括安全地且通信地耦合至KMS(102)之一運算系統。在所繪示實施例中,TP(104)向KMS(102)發出對批量啟動碼(亦稱為啟動資料庫)之網路請求。在一項實施例中,對一啟動資料庫之請求包含CID、一日期範圍、一裝置類型及為一客戶所獨有且為KMS(102)已知之一臨時亂數(稱為「KMS臨時亂數」)。在一些實施例中,一客戶經由一網路通信會期與KMS(102)協商KMS臨時亂數,因此建立KMS臨時亂數之一眾所周知的值。在所繪示實施例中,TP(104)接收及儲存啟動資料庫之內容。在一些實施例中,TP(104)亦包含用於保全啟動資料庫之一HSM。在所繪示實施例中,TP(104)亦包含用於產生一給定客戶之一訊息鑑認碼(MAC)之處理能力。此外,在所繪示實施例中,TP(104)包含用於基於啟動資料庫中之啟動碼及自半導體裝置(108)接收之回應碼產生共用裝置秘密之一安全資料庫的處理能力。
在所繪示實施例中,客戶系統(106)與TP(104)進行通信。客戶系統(106)可包括用於處置半導體裝置(108)之一客戶製造線或其他系統。客戶系統(106)之運算裝置之特定配置在本文中不受限制。在一些實施例中,TP(104)包括安裝於一客戶系統(106)內之一或多個安全運算裝置。在其他實施例中,TP(104)係與客戶系統(106)分開之一運算系統。
在所繪示實施例中,客戶系統(106)與複數個半導體裝置(108a)、(108b)、(108c)(統稱為108)進行互動。裝置(108)包括半導體裝置,諸如但不限於記憶體裝置。例如,裝置可包括NOR或NAND快閃記憶體晶片、系統單晶片(SoC)裝置或其他類型之離散半導體封裝。
裝置(108)包含用於儲存諸如一CID及CAK之各種欄位及參數之複數個非揮發性儲存位置。裝置(108)額外地包含能夠執行諸如支援一MAC之運算之密碼運算的硬體或韌體。此等運算之實例包含HMAC-SHA256、AES及CMAC運算。在圖5之描述中提供一裝置(108)之一個實例,其揭示內容之全文以引用的方式併入本文中。
圖2係繪示根據本發明之一些實施例之一KMS之一方塊圖。在所繪示實施例中,KMS(102)可經由諸如伺服器裝置之一或多個運算裝置來實施。結合圖6描述一個此運算裝置。
在所繪示實施例中,KMS(102)包括能夠儲存唯一識別符(UID)值及對應製造商儲存根金鑰(MFGSRK)值之一網路化運算裝置。
在所繪示實施例中,一UID指代唯一地識別一半導體裝置(108)之一唯一識別符。在一些實施例中,UID可包括一序列號、條碼或其他電可讀識別符。在製造期間,一製造商(110)可產生UID。直至客戶數位地讀取UID為止(例如,在一較大裝置之製造期間),可能不知道UID。在一些實施例中,UID係在製造期間讀取且因此「離線」執行(即,未連接至一網路裝置)。在一些實施例中,UID包含描述半導體裝置(108)之製造日期之一日期欄位。若包含一日期欄位,則UID亦可包含額外欄位。
在一項實施例中,一MFGSRK亦在製造期間藉由製造商(110)寫入。在一項實施例中,一MFGSRK與UID唯一地配對。對由製造商(110)用來產生MFGSRK之特定機制沒有限制;然而,一般利用經由一密碼演算法產生之一固定寬度值。
在所繪示實施例中,在製造期間,一製造商(110)將產生各
個別半導體裝置(108)之UID-MFGSRK對。在製造期間,製造商(110)經由一網路連接或類似連接連接至KMS(102)。如所繪示,KMS(102)包含一網路介面(NIC)(218)以實現資料之接收。在一些實施例中,NIC(218)用來產生一虛擬私人網路,而在其他實施例中,NIC(218)可用來連接至一公共網路(例如,網際網路)。亦可使用混合網路。在所繪示實施例中,NIC(218)被繪示為在伺服器(216)外部。在此實施例中,NIC(218)可包括作為一負載平衡器操作之一或多個NIC。在其他實施例中,NIC(218)可包括一伺服器(216)之部分。
在一些實施例中,伺服器(216)包含用於處理來自製造商(110)之網路請求之一或多個應用層。此等應用層處置製造商之鑑認及本文中未詳細描述之其他管理任務。應用層亦處置有效網路請求自製造商(110)至諸如裝置選擇器(208)及臨時亂數產生器(206)之域特定處理邏輯的路由。應用層亦接收由啟動碼產生器(210)產生之資料且封裝資料用於網路傳輸至第三方。此等組件(206至212)之各者可在單獨運算裝置上或在一單一運算裝置上實施。此外,一些或所有功能性可在硬體(例如,專用電路系統)、軟體、韌體或其等之一組合中實施。在本文中更詳細地描述組件(206至212)之細節。
KMS(102)額外地包含一硬體安全模組(HSM)(214)。HSM(214)包括用於儲存諸如UID(202)及MFGSRK(204)值之敏感資料之一實體上分離的儲存層。在一些實施例中,HSM(214)包括諸如一專用伺服器之一單獨的實體運算裝置。在其他實施例中,HSM(214)可包括連接至伺服器(216)之一或多者之一可插拔裝置。HSM(214)可包含用於保全其中之資料之一或多個密碼處理器。HSM(214)可具有竄改偵測功能性。
在所繪示實施例中,KMS(102)執行各種功能,包含來自製造商之UID-MFGSRK對之接收及安全儲存,與UID值配對之啟動碼之產生,及安全臨時亂數產生;此等功能之各者在本文中更詳細描述且在圖3及圖4之描述中進一步詳細描述。
如所繪示,一儲存引擎(212)經由一網路介面(218)接收資料。資料可包括自製造商(110)接收之UID-MFGSRK。在一項實施例中,製造商(110)建立與伺服器(216)之一安全連接,諸如一輸送層安全(TLS)連接,且將UID-MFGSRK對上傳至伺服器(216)。伺服器(216)將UID-MFGSRK對路由至儲存引擎(212),儲存引擎(212)協調HSM(214)中之長期儲存。在一項實施例中,儲存引擎(212)可確定未上傳複本且可執行UID及/或MFGSRK被正確格式化之確認(例如,正確長度、字元集等)。在其中UID包含一日期欄位之實施例中,儲存引擎(212)可額外地提取日期且確認其係有效的。例如,儲存引擎(212)可拒絕在很久以前或未來出現之日期。儲存引擎(212)可額外地拒絕包含超過一時期(例如,一個月)之一日期範圍的一UID。在驗證UID-MFGSRK對之後,儲存引擎(212)將UID-MFGSRK對寫入至HSM(214)。在一些實施例中,儲存引擎(212)可在完成寫入至HSM(214)之後將一適當狀態碼返回至製造商(110)。例如,儲存引擎(212)可返回200之一超文字輸送協定(HTTP)標頭值,該值指示請求成功。若出現一錯誤(例如,驗證),則儲存引擎(212)可返回一對應錯誤碼(例如,HTTP 500),該錯誤碼指示已出現一錯誤。在一些實施例中,儲存引擎(212)可包含概述所採取之動作之一回應主體。
伺服器(216)額外地包含一臨時亂數產生器(206)。在所繪示實施例中,臨時亂數產生器(206)經組態以在給定零個或多個輸入之情
況下產生一隨機或偽隨機臨時亂數值。在一項實施例中,臨時亂數產生器(206)接收一現有臨時亂數值(稱為一KMS臨時亂數)。在一項實施例中,KMS臨時亂數值儲存於一安全儲存位置(例如,HSM 214)中且與各客戶唯一地相關聯。在其他實施例中,KMS臨時亂數值係自一客戶系統(106)或TP(104)接收且可藉由客戶明確地設定。在一些實施例中,臨時亂數產生器(206)使用KMS臨時亂數及一CID值來產生一臨時亂數,如本文中將更詳細描述。此經產生臨時亂數稱為客戶臨時亂數,因為其與一客戶唯一地相關。
在一些實施例中,臨時亂數產生器(206)可經組態以產生KMS臨時亂數值。在一些實施例中,一客戶可自臨時亂數產生器(206)發出對一新臨時亂數之一請求。臨時亂數產生器(206)可基於零個或多個輸入產生一唯一值。在一項實施例中,使用CID值來產生隨機值,但在其他實施例中,可使用其他值(或不使用值)。接著,臨時亂數產生器(206)儲存KMS臨時亂數且將KMS臨時亂數返回至客戶系統(106)或TP(104),因此同步化KMS臨時亂數值。如將描述,將客戶臨時亂數供應至啟動碼產生器(210)以產生啟動碼。
伺服器(216)額外地包含一裝置選擇器(208)。在所繪示實施例中,裝置選擇器(208)經組態以基於經由介面(218)接收之來自一客戶系統(106)或TP(104)之一請求來識別一組UID-MFGSRK對。在一項實施例中,客戶系統(106)或TP(104)藉由供應一日期範圍及一裝置類型之一或多者來發出對裝置之一請求。裝置選擇器(208)使用此等參數來提取匹配日期範圍及/或裝置類型之一組UID-MFGSRK對。
在一項實施例中,一UID包含在UID之格式內之一日期範
圍及一裝置類型。例如,UID可包含一產品碼及一日期,以及其他資料。在此案例中,裝置選擇器(208)可藉由以諸如結構化查詢語言(SQL)之一語言產生一正規表達式查詢或類似查詢而查詢HSM(214)。例如,裝置選擇器(208)可在經接收資料範圍內搜尋匹配模式「PROD20200101*」之任何UID,其中「PROD」係一裝置類型,「20200101」係一日期(2020年1月1日),且「*」表示在日期範圍之後出現之零個或更多個任意字元。當然,可使用其他格式及查詢方法,且本發明不限於一特定UID格式。
在其他實施例中,HSM(214)可連同UID(202)及MFGSRK(204)值一起儲存日期及裝置類型。在一些實施例中,此資料可儲存於一關係資料庫或類似資料儲存裝置中。在此實施例中,裝置選擇器(208)可基於經接收參數以諸如SQL之一語言發出一查詢。例如,取代先前實例,可發出以下偽命令(pseudo-command):「SELECT * FROM device WHERE type=PROD and date WITHIN 2020-01-01 and 2020-03-01」。在此查詢中,選擇具有「PROD」之一類型且具有在2020年1月1日與2020年3月1日之間之一日期參數的所有裝置。如同先前實例,可使用其他格式及查詢方法,且本發明不限於用於查詢HSM(214)之一特定命令。
如將論述,一客戶系統(106)或TP(104)通常在佈建一裝置時發出對一組裝置之一請求。此請求大體上針對一給定日期範圍內之一批裝置提出。在識別所有相關UID-MFGSRK對之後,裝置選擇器(208)將UID-MFGSRK對傳輸至啟動碼產生器(210)。
在所繪示實施例中,啟動碼產生器(210)產生UID-MFGSRK對中之各UID的一唯一啟動碼。如更詳細描述,可基於
MFGSRK以及在一些實施例中客戶臨時亂數產生啟動碼。啟動碼產生器(210)將UID值重映射至啟動碼,從而產生一啟動碼資料庫。在所繪示實施例中,啟動碼產生器(210)移除MFGSRK且未將此等金鑰傳輸至呼叫方(例如,客戶系統或受信賴夥伴)。因此,啟動碼產生器(210)將UID-啟動碼對傳輸至呼叫方。
在所繪示實施例中,啟動碼產生器(210)亦可連同UID-啟動碼對一起擷取及發送一CAK。在一項實施例中,一CAK包括一對稱金鑰。在一項實施例中,一客戶系統(106)及製造商(110)兩者維持給定客戶之CAK。因此,製造商(110)可儲存各客戶之CAK,且各客戶儲存其自身之CAK。在一項實施例中,週期性地(例如,以規則間隔)更新CAK。CAK可在製造裝置時藉由製造商(110)寫入。製造商(110)可將CID-CAK對週期性地傳輸至KMS(102)。由於週期性地更新CAK,故與UID-啟動碼對一起傳輸之CAK實現在啟動碼之產生期間在使用中之CAK的一歷史記錄。在一些實施例中,CAK及UID-啟動碼對包裝於一TLS包裝函式(wrapper)中且經由一安全通道返回至客戶系統(106)或TP(104)。
結合圖3及圖4之描述更完全地描述上述操作,其等之全文亦併入於圖2之描述中。
圖3係繪示根據一些實施例之用於構建及管理一金鑰資料庫的一方法之一流程圖。
在步驟302中,方法建立與一半導體裝置製造商之一安全連接。在所繪示實施例中,方法藉由諸如KMS(102)之一KMS來執行,且製造商可包括諸如製造商(110)之一或多個製造商。在所繪示實施例中,安全連接包括一安全網路連接。在所繪示實施例中,安全網路連接包括一
TLS或類似網路連接。在一些實施例中,亦經由登入至KMS(102)之一製造商(110)建立安全連接。在一些實施例中,此登入可經由一使用者名稱及通行碼、一安全符記或其他類似安全機制來完成。在所繪示實施例中,在一製造商(110)用KMS(102)進行鑑認之後,為後續網路請求建立一會期。
在步驟304中,方法自一製造商接收UID-MFGSRK對。在所繪示實施例中,製造商(110)可在製造一半導體裝置之程序期間週期性地上傳UID-MFGSRK對。如先前所描述,UID及MFGSRK係由一製造商產生之值,且在一些實施例中被寫入至半導體裝置。因此,當產生UID及MFGSRK值時,製造商亦可將此等識別符上傳至KMS。在一些實施例中,作為一批次程序之部分(例如,停業或某一其他間隔),製造商上傳此等值。在所繪示實施例中,製造商(110)以保留其等關係之一方式上傳UID及MFGSRK值。即,UID及MFGSRK必須以KMS可儲存兩個值之間之關係的一方式上傳。
在步驟306中,方法接收一給定客戶之當前CID及CAK對。在一項實施例中,與各組UID-MFGSRK對一起,製造商可上傳任何新CID-CAK對。如上文所描述,製造商之各客戶與一固定CID及一或多個CAK相關聯。一客戶可具有多個CAK,因為CAK可被設定為以預定義間隔到期。在一項實施例中,製造商識別自上次上傳至KMS起新產生之所有CID或CAK。若瞬時上傳係第一次上傳,則製造商選擇所有CID及CAK。接著,在上傳UID-MFGSRK對之後,作為步驟306之部分,方法將所有新CID及CAK上傳至KMS。
在一項實施例中,步驟306可異步執行。即,在一些實施
例中,步驟306係選用的且可獨立地執行。在此環境中,方法將任憑製造商自行接收CID及CAK值。例如,製造商可在產生新CID時上傳新CID且在產生CAK時上傳CAK。在一些實施例中,KMS包含用於上傳CID及CAK之一單獨端點,且因此除UID-MFGSRK對之外亦支援CID及CAK值之並行上傳。
在一些實施例中,製造商使一CID與一或多個UID及因此MFGSRK相關聯。在此等實施例中,可組合步驟304及306。具體而言,當上傳一UID-MFGSRK對時,製造商亦可包含一相關聯CID及在一些情況中一相關聯CAK。以此方式,上傳客戶、金鑰及UID-MFGSRK對之一自含式記錄。在其他實施例中,若一CAK已改變,則方法可僅上傳該CAK,因此降低網路利用率。
在步驟308中,方法將UID-MFGSRK對以及CID及CAK值儲存於一安全儲存位置中。在一項實施例中,安全儲存位置包括一HSM,如圖2之描述中所描述。如先前所論述,UID、MFGSRK、CID及CAK值可儲存於一關係資料庫或類似資料庫中。在其他實施例中,一基於日誌之儲存機制可用來儲存傳入記錄。
圖4係繪示根據一些實施例之用於產生一對稱金鑰啟動資料庫的一方法之一流程圖。在所繪示實施例中,在一KMS(諸如KMS(102))處執行圖4之方法。
在步驟402中,方法接收對啟動碼之一請求。在一項實施例中,藉由一受信賴夥伴(104)傳輸該請求。
在一項實施例中,經由一安全通道(諸如一TLS通道)傳輸請求。在一些實施例中,亦經由登入至KMS(102)之一受信賴夥伴(104)
建立安全連接。在一些實施例中,此登入可經由一使用者名稱及通行碼、一安全符記或其他類似安全機制來完成。在所繪示實施例中,在一受信賴夥伴(104)用KMS(102)進行鑑認之後,為後續網路請求建立一會期。
在一些實施例中,請求包括一命令及一或多個參數。在一項實施例中,命令具有一固定名稱或操作碼(opcode)以容許KMS識別命令。在另一實施例中,命令可包括諸如一HTTP端點之一端點,且例如至端點之一GET請求之發出包括命令識別符。在一些實施例中,一或多個參數包含一CID值、一KMS臨時亂數、一日期範圍及一裝置類型。先前已論述此等參數之各者,且在此不再重複論述而是將其之全文併入。
在步驟404中,方法產生一客戶臨時亂數。在一項實施例中,方法使用一SHA-256函數來計算一客戶臨時亂數,但可使用其他雜湊函數。在一項實施例中,方法首先序連包含於該請求中之CID及KMS臨時亂數值。接著,方法對所得值執行一SHA-256運算。因此,客戶臨時亂數可被表示為Customer Nonce=SHA-256(CID∥KMS Nonce)。由於TP(104)及KMS(102)兩者知道CID及KMS臨時亂數之值,故可在任一系統上運算客戶臨時亂數之值。
在步驟406中,方法選擇回應裝置之所有UID-MFGSRK對。
在一項實施例中,方法自請求提取CID且使用CID來識別一給定客戶之所有裝置。接著,方法使用請求中之日期範圍及裝置類型來查詢一HSM以將裝置語料庫限於相關裝置。
在一項實施例中,一UID包含在UID之格式內之一日期範圍及一裝置類型。例如,UID可包含一產品碼及一日期以及其他資料。在
此案例中,方法可藉由以諸如結構化查詢語言(SQL)之一語言產生一正規表達式查詢或類似查詢來查詢HSM。例如,方法可在經接收資料範圍內搜尋匹配模式「PROD20200101*」之任何UID,其中「PROD」係一裝置類型,「20200101」係一日期(2020年1月1日),且「*」表示在日期範圍之後出現之零個或更多個任意字元。當然,可使用其他格式及查詢方法,且本發明不限於一特定UID格式。
在其中使用一關係資料庫或類似儲存裝置之一些實施例中,方法建構一查詢以存取相關UID-MFGSRK對。例如,具有「SELECT * FROM table WHERE CID=1234 AND type=PROD AND date IN 2020-01-01 to 2020-03-01」形式之一查詢。在此偽查詢中,方法針對具有CID 1234之一客戶識別具有PROD之一裝置類型且在2020年1月1日與2020年3月1日之間製造的所有裝置。
在步驟408中,方法選擇一UID-MFGSRK對,且在步驟410中,產生選定UID-MFGSRK對之一啟動碼。在步驟412中,方法判定是否已選擇所有UID-MFGSRK對。若否,則方法繼續選擇各對(步驟408)且產生各對之一啟動碼(步驟410),直至在步驟412中偵測到已選擇所有對。
在步驟408至412中,方法產生各UID-MFGSRK對之啟動碼。在一項實施例中,使用一HMAC函數來產生一給定UID-MFGSRK對之一啟動碼。在一項實施例中,將步驟404中產生之客戶臨時亂數用作一HMAC函數之訊息。在一項實施例中,HMAC使用MFGSRK之值作為一金鑰。因此,啟動碼可被運算為Activation Code=HMAC(MFGSRK.Customer Nonce)。
在步驟414中,方法將啟動碼之各者與一對應UID配對。在一項實施例中,步驟414可執行為步驟410之部分。因此,在步驟414結束時,方法獲得對應於UID-MFGSRK對中之原始UID之UID-啟動碼對之一清單。
在步驟416中,方法將UID-啟動碼對傳輸至受信賴夥伴。在一項實施例中,方法額外地傳輸與用來選擇UID-MFGSRK對之日期範圍相關聯之一CID值及一或多個CAK值,如先前所論述。
在所繪示實施例中,啟動碼藉由KMS控制,因為MFGSRK之值未公開或曝露於TP(104)或客戶系統(106)。因此,KMS(102)可充當啟動碼之典型來源。然而,在一些實施例中,半導體裝置(108)亦包含MFGSRK。在此等實施例中,在具有代理人檔案第120426-058300號之同在申請中及共同擁有之專利申請案中更完全地描述,一客戶可為半導體裝置供應CID及KMS臨時亂數值,從而使半導體裝置(108)能夠獨立地產生由KMS(102)產生之相同啟動碼。因此,在一些案例中,KMS(102)、TP(104)及半導體裝置(108)將全部可存取一經產生且秘密的啟動碼。如具有代理人檔案第120426-0584000號之同在申請中及共同擁有之專利申請案中更詳細地描述,此等啟動碼由TP(104)及半導體裝置(108)用來回應於來自一客戶之一請求而產生新儲存根金鑰,且而無需客戶獲得存取秘密資訊(諸如MFGSRK值或新金鑰之值)。
圖5係繪示根據本發明之一些實施例之一記憶體系統之一方塊圖。
如圖5中所繪示,一運算系統(500)包含經由一匯流排(504)通信地耦合至一記憶體系統(506)之一處理器(502)。記憶體系統(506)包括
經由一匯流排/介面(512)通信地耦合至一或多個記憶體庫(508A至508N)之一控制器(220)。如所繪示,控制器(220)包含一本地快取區(514)、韌體(516)及ECC模組(518)。
在所繪示實施例中,處理器(502)可包括任何類型之運算處理器,諸如一中央處理單元、圖形處理單元或其他類型之通用或專用運算裝置。處理器(502)包含容許在處理器(502)與記憶體系統(506)之間傳輸位址、使用者及控制資料之一或多個輸出埠。在所繪示實施例中,經由匯流排(504)執行此通信。在一項實施例中,匯流排(504)包括一輸入/輸出(I/O)匯流排或類似類型之匯流排。
記憶體系統(506)負責管理一或多個記憶體庫(508A至508N)。在一項實施例中,庫(508A至508N)包括NAND快閃記憶體晶粒或非揮發性記憶體之其他組態。
庫(508A至508N)藉由控制器(220)管理。在一些實施例中,控制器(220)包括經組態以調解對及來自庫(508A至508N)之存取之一運算裝置。在一項實施例中,控制器(220)包括安裝於容置庫(508A至508N)之一印刷電路板上之ASIC或其他電路系統。在一些實施例中,控制器(220)可與庫(508A至508N)實體上分開。控制器(220)經由介面(512)與庫(508A至508N)進行通信。在一些實施例中,此介面(512)包括一實體上有線(例如,示蹤)介面。在其他實施例中,介面(512)包括用於與庫(508A至508N)進行通信之一標準匯流排。
控制器(220)包括各種模組(514至518)。在一項實施例中,各種模組(514至518)包括各種實體上相異之模組或電路。在其他實施例中,模組(514至518)可完全(或部分)在軟體或韌體中實施。
如所繪示,韌體(516)包括控制器之核心且管理控制器(220)之所有非密碼運算。密碼引擎(222)經提供用於密碼運算,如在具有代理人檔案第120426-058300/US號之共同擁有且同在申請中之申請案中更詳細地描述,該案揭示內容之全文以引用的方式併入本文中。簡而言之,密碼引擎(222)經組態以執行MAC計算。此等MAC計算用來產生新秘密金鑰以替換一現有製造商秘密金鑰。進一步細節提供於具有代理人檔案第120426-058300/US號之共同擁有且同在申請中之申請案中。
因此,韌體(516)針對非密碼運算調解對庫(508A至508N)之存取。如所繪示,控制器(220)及引擎(222)兩者存取非揮發性(NV)儲存器(202)。存取NV儲存器(202)之細節提供於具有代理人檔案第120426-058300/US號之共同擁有且同在申請中之申請案之描述中且在此不再重複。
圖6係繪示展示在本發明之各項實施例中使用之一運算裝置之一實例實施例的一運算裝置之一方塊圖。裝置(600)可包括由製造商(110)、KMS(102)、TP(104)或客戶系統(106)使用之一運算裝置。此外,各種組件可包括包含一半導體裝置(108)之一裝置或可包括半導體裝置(108)本身。
運算裝置(600)可包含多於或少於圖6中所展示之組件之組件。例如,一伺服器運算裝置可不包含音訊介面、顯示器、小鍵盤、照明器、觸覺介面、GPS接收器、相機或感測器。
如圖中所展示,裝置(600)包含經由一匯流排(624)與一大容量記憶體(630)通信之一處理單元(CPU)(622)。運算裝置(600)亦包含一或多個網路介面(650)、一音訊介面(652)、一顯示器(654)、一小鍵盤
(656)、一照明器(658)、一輸入/輸出介面(660)、一觸覺介面(662)、一選用全球定位系統(GPS)接收器(664)及一(若干)相機或其他光學、熱或電磁感測器(666)。裝置(600)可包含一個相機/感測器(666)或複數個相機/感測器(666),如熟習此項技術者所瞭解。該(等)相機/感測器(666)在裝置(600)上之定位可按照裝置(600)型號、裝置(600)能力及類似者或其等之某一組合而改變。
運算裝置(600)可視情況與一基地台(未展示)進行通信,或直接與另一運算裝置進行通信。網路介面(650)有時稱為收發器、收發裝置或網路介面卡(NIC)。
音訊介面(652)產生及接收諸如一人聲之聲音之音訊信號。例如,音訊介面(652)可經耦合至一揚聲器及麥克風(未展示)以實現與他人之遠程通信(telecommunication)或產生對某一動作之一音訊認可。顯示器(654)可為一液晶顯示器(LCD)、氣體電漿、發光二極體(LED)或搭配一運算裝置使用之任何其他類型之顯示器。顯示器(654)亦可包含經配置以自諸如一觸控筆或來自一人手之一手指之一物件接收輸入的一觸敏螢幕。
小鍵盤(656)可包括經配置以自一使用者接收輸入之任何輸入裝置。照明器(658)可提供一狀態指示或提供光。
運算裝置(600)亦包括用於使用諸如USB、紅外線、BluetoothTM或類似者之通信技術與外部裝置進行通信的輸入/輸出介面(660)。觸覺介面(662)將觸覺回饋提供至用戶端裝置之一使用者。
選用GPS收發器(664)可判定運算裝置(600)在地球表面上之實體座標,其通常將一位置輸出為緯度及經度值。GPS收發器(664)亦可採用其他地理定位機制,包含但不限於三角量測、輔助GPS(AGPS)、
E-OTD、CI、SAI、ETA、BSS或類似者,以進一步判定運算裝置(600)在地球表面上之實體位置。然而,在一項實施例中,運算裝置(600)可透過其他組件提供可用來判定裝置之一實體位置之其他資訊,包含例如一MAC位址、網際網路協定(IP)位址或類似者。
大容量記憶體(630)包含一RAM(632)、一ROM(634)及其他儲存構件。大容量記憶體(630)繪示用於儲存諸如電腦可讀指令、資料結構、程式模組或其他資料之資訊的電腦儲存媒體之另一實例。大容量記憶體(630)儲存用於控制運算裝置(600)之低階操作之一基本輸入/輸出系統(「BIOS」)(640)。大容量記憶體亦儲存用於控制運算裝置(600)之操作之一作業系統(641)。
應用程式(642)可包含電腦可執行指令,該等電腦可執行指令在藉由運算裝置(600)執行時執行先前在前圖之描述中所描述之方法(或方法之部分)之任何者。在一些實施例中,實施方法實施例之軟體或程式可自硬碟機(未繪示)讀取且藉由CPU(622)暫時儲存於RAM(632)中。接著,CPU(622)可自RAM(632)讀取軟體或資料,處理軟體或資料,且將軟體或資料再次儲存至RAM(632)。
本發明包含執行上文所描述之方法且實施上文所描述之系統的各種裝置,包含執行此等方法之資料處理系統,及含有指令之電腦可讀媒體,該等指令在於資料處理系統上執行時引起系統執行此等方法。
描述及圖式係闡釋性的且不應被解釋為限制性。描述諸多特定細節以提供一透徹理解。然而,在特定例項中,未描述熟知或習知細節以免使描述不清楚。在本發明中對一項或一實施例之引用不一定係對相同實施例之引用;而且,此等引用意謂至少一個。
在本說明書中對「一項實施例」或「一實施例」之引用意謂結合該實施例所描述之一特定特徵、結構或特性包含於本發明之至少一項實施例中。在說明書中之各個地方出現片語「在一項實施例中」不一定全部指代相同實施例,亦並非與其他實施例互斥之單獨或替代實施例。此外,描述可由一些實施例展現而未由其他實施例展現之各種特徵。類似地,描述可能為一些實施例之要求而非其他實施例之要求的各種要求。
在此描述中,各種功能及操作可被描述為由軟體程式碼執行或引起以簡化描述。然而,熟習此項技術者將認知,此等表達意謂功能係藉由一或多個處理器(諸如一微處理器、特定應用積體電路(ASIC)、圖形處理器及/或一場可程式化閘陣列(FPGA))執行程式碼而產生。替代地或組合地,可使用專用電路系統(例如,邏輯電路系統)在具有或不具有軟體指令之情況下實施功能及操作。實施例可使用硬接線電路系統在不具有軟體指令之情況下或結合軟體指令來實施。因此,技術不限於硬體電路系統及軟體之任何特定組合,亦不限於由一運算裝置執行之指令之任何特定來源。
雖然一些實施例可在功能齊全的電腦及電腦系統中實施,但各項實施例能夠以多種形式作為一運算產品分佈且能夠被應用而不管用來實際上實現分佈之機器或電腦可讀媒體之特定類型。
至少一些所揭示態樣可至少部分地在軟體中體現。即,該等技術可在一運算裝置或其他系統中回應於其處理器(諸如一微處理器)執行一記憶體(諸如ROM、揮發性RAM、非揮發性記憶體、快取區或一遠端儲存裝置)中所含之指令序列而實行。
經執行以實施實施例之常式可實施為一作業系統、中間軟
體、服務遞送平台、SDK(軟體開發套件)組件、網路服務或其他特定應用程式、組件、程式、物件、模組或稱為「電腦程式」之指令序列的部分。此等常式之調用介面可作為一API(應用程式設計介面)曝露於一軟體開發社群。電腦程式通常包括在一電腦中之各種記憶體及儲存裝置中在各種時間設定且在藉由一電腦中之一或多個處理器讀取並執行時引起電腦執行實行涉及各種態樣之要素所必需之操作的一或多個指令。
一機器可讀媒體可用來儲存軟體及資料,該軟體及資料在藉由一運算裝置執行時引起該裝置執行各種方法。可執行軟體及資料可經儲存於各種位置中,包含例如ROM、揮發性RAM、非揮發性記憶體及/或快取區。此軟體及/或資料之部分可儲存於此等儲存裝置之任一者中。此外,可自集中式伺服器或同級間網路獲得資料及指令。可在不同時間且在不同通信會期中或在相同通信會期中自不同集中式伺服器及/或同級間網路獲得資料及指令之不同部分。可在執行應用程式之前整體獲得資料及指令。替代地,可在執行需要時及時地動態獲得資料及指令之部分。因此,在一特定時間例項,資料及指令不需要整體位於一機器可讀媒體上。
電腦可讀媒體之實例包含但不限於可記錄及不可記錄式媒體,尤其諸如揮發性及非揮發性記憶體裝置、唯讀記憶體(ROM)、隨機存取記憶體(RAM)、快閃記憶體裝置、固態硬碟儲存媒體、可移除磁碟、磁碟儲存媒體、光學儲存媒體(例如,光碟唯讀記憶體(CD ROM)、數位多功能光碟(DVD)等)。電腦可讀媒體可儲存指令。
一般而言,一有形或非暫時性機器可讀媒體包含以可由一機器(例如,一電腦、行動裝置、網路裝置、個人數位助理、製造工具、具有一組一或多個處理器之任何裝置等)存取之一形式提供(例如,儲存)
資訊的任何機構。
在各項實施例中,可結合軟體及韌體指令使用硬接線電路系統來實施技術。因此,技術既不限於硬體電路系統及軟體之任何特定組合,亦不限於由一運算裝置執行之指令之任何特定來源。
本文中所闡述之各項實施例可使用各種各樣的不同類型之運算裝置來實施。如本文中所使用,一「運算裝置」之實例包含但不限於一伺服器、一集中式運算平台、多個運算處理器及/或組件之一系統、一行動裝置、一使用者終端機、一車輛、一個人通信裝置、一可穿戴數位裝置、一電子資訊站(kiosk)、一通用電腦、一電子文件閱讀器、一平板電腦、一膝上型電腦、一智慧型電話、一數位相機、一住宅家用電器、一電視機或一數位音樂播放器。運算裝置之額外實例包含作為所謂「物聯網」(IOT)之部分之裝置。此等「事物」可能偶爾與其等所有者或管理員互動,該等所有者或管理員可監視事物或修改關於此等事物之設置。在一些情況中,此等所有者或管理員相對於「事物」裝置扮演使用者之角色。在一些實例中,一使用者之主要行動裝置(例如,一Apple iPhone)相對於由使用者佩戴之一經配對「事物」裝置(例如,一Apple手錶)可為一管理員伺服器。
在一些實施例中,運算裝置可為一電腦或主機系統,其被實施為例如一桌上型電腦、膝上型電腦、網路伺服器、行動裝置或包含一記憶體及一處理裝置之其他運算裝置。主機系統可包含或經耦合至一記憶體子系統,使得主機系統可自記憶體子系統讀取資料或將資料寫入至記憶體子系統。主機系統可經由一實體主機介面耦合至記憶體子系統。一般而言,主機系統可經由一相同通信連接、多個單獨通信連接及/或通信連接
之一組合存取多個記憶體子系統。
在一些實施例中,運算裝置係包含一或多個處理裝置之一系統。處理裝置之實例可包含一微控制器、一中央處理單元(CPU)、專用邏輯電路系統(例如,一場可程式化閘陣列(FPGA)、一特定應用積體電路(ASIC)等)、一系統單晶片(SoC)或另一合適處理器。
儘管一些圖式以一特定順序繪示若干操作,但可對非順序相依之操作進行重新排序且可組合或分解其他操作。雖然明確地提及一些重新排序或其他群組,但其他重新排序或群組對於一般技術者而言將為顯而易見的,且因此並未呈現一詳盡的替代例清單。此外,應認知,階段可在硬體、韌體、軟體或其等之任何組合中實施。
在前述說明書中,本發明已參考其特定例示性實施例進行描述。將顯而易見的是,在不脫離如以下發明申請專利範圍中所闡述之更廣泛精神及範疇之情況下,可對本發明進行各種修改。因此,說明書及圖式應被視為闡釋性意義而非限制性意義。
302:步驟
304:步驟
306:步驟
308:步驟
Claims (18)
- 一種用於提供安全的現場升級(secure field upgrades)之方法,其包括:自一遠端運算裝置接收對一啟動碼資料庫之一請求,該請求包含至少一個參數,該至少一個參數至少包括一裝置類型、一日期範圍、一客戶識別符及一臨時亂數值(nonce value);基於該至少一個參數擷取複數個對,該複數個對之各者包含一唯一識別符及秘密金鑰,其中該複數個對對應於與該客戶識別符相關聯之半導體裝置,其中該等半導體裝置係經指示於該請求中之該裝置類型,且其中該等半導體裝置係在經指示於該請求中之該日期範圍內被製造;至少部分使用該臨時亂數值及該客戶識別符針對該複數個對之一第一唯一識別符產生至少一第一啟動碼;及將該第一啟動碼返回至該遠端運算裝置。
- 如請求項1之方法,其中使用一安全通信通道來接收該請求。
- 如請求項1之方法,其中擷取該複數個對包括:使用該客戶識別符、裝置類型及日期範圍來查詢一硬體安全管理器。
- 如請求項1之方法,其中該臨時亂數值係一第一臨時亂數值,且進一步其中產生至少該第一啟動碼包括:使用該第一臨時亂數值及該客戶識別符來產生一第二臨時亂數值; 使用該第二臨時亂數值及該秘密金鑰來產生該第一啟動碼。
- 如請求項4之方法,其中產生該第二臨時亂數值包括:運算序連該第一臨時亂數值及該客戶識別符之結果的一雜湊。
- 如請求項4之方法,其中產生該第一啟動碼包括:針對該秘密金鑰產生一訊息鑑認碼。
- 如請求項6之方法,其中該訊息鑑認碼包括一基於雜湊訊息鑑認碼,且該產生該第一啟動碼包括:使用該第二臨時亂數值作為訊息且使用該秘密金鑰作為該基於雜湊訊息鑑認碼之該訊息。
- 如請求項1之方法,其中將該第一啟動碼返回至該遠端運算裝置進一步包括:與該第一啟動碼一起返回一客戶識別符值及至少一個客戶鑑認金鑰。
- 一種用於有形地儲存能夠藉由一電腦處理器執行之電腦程式指令之非暫時性電腦可讀儲存媒體,該等電腦程式指令定義以下步驟:自一遠端運算裝置接收對一啟動碼資料庫之一請求,該請求包含至少一個參數,該至少一個參數至少包括一裝置類型、一日期範圍、一客戶識別符及一臨時亂數值;基於該至少一個參數擷取複數個對,該複數個對之各者包含一唯一識別符及秘密金鑰,其中該複數個對對應於與該客戶識別符相關聯之半導 體裝置,其中該等半導體裝置係經指示於該請求中之該裝置類型,且其中該等半導體裝置係在經指示於該請求中之該日期範圍內被製造;至少部分使用該臨時亂數值及該客戶識別符針對該複數個對之一第一唯一識別符產生至少一第一啟動碼;及將該第一啟動碼返回至該遠端運算裝置。
- 如請求項9之非暫時性電腦可讀儲存媒體,其中該臨時亂數值係一第一臨時亂數值,且其中產生至少該第一啟動碼包括:使用該第一臨時亂數值及該客戶識別符來產生一第二臨時亂數值;使用該第二臨時亂數值及該秘密金鑰來產生該第一啟動碼。
- 如請求項10之非暫時性電腦可讀儲存媒體,其中產生該第二臨時亂數值包括:運算序連該第一臨時亂數值及該客戶識別符之結果的一雜湊。
- 如請求項10之非暫時性電腦可讀儲存媒體,其中產生該第一啟動碼包括:針對該秘密金鑰產生一訊息鑑認碼。
- 如請求項9之非暫時性電腦可讀儲存媒體,其中將該第一啟動碼返回至該遠端運算裝置進一步包括:與該第一啟動碼一起返回一客戶識別符值及至少一個客戶鑑認金鑰。
- 一種電子裝置,其包括:一處理器;及 一儲存媒體,其用於將程式邏輯有形地儲存於其上以藉由該處理器執行,該經儲存程式邏輯經組態以導致該處理器執行以下步驟:自一遠端運算裝置接收對一啟動碼資料庫之一請求,該請求包含至少一個參數,該至少一個參數至少包括一裝置類型、一日期範圍、一客戶識別符及一臨時亂數值;基於該至少一個參數擷取複數個對,該複數個對之各者包含一唯一識別符及秘密金鑰,其中該複數個對對應於與該客戶識別符相關聯之半導體裝置,其中該等半導體裝置係經指示於該請求中之該裝置類型,且其中該等半導體裝置係在經指示於該請求中之該日期範圍內被製造;至少部分使用該臨時亂數值及該客戶識別符針對該複數個對之一第一唯一識別符產生一第一啟動碼;及將該第一啟動碼返回至該遠端運算裝置。
- 如請求項14之電子裝置,其中該臨時亂數值係一第一臨時亂數值,且其中該第一啟動碼之該產生包括該經儲存程式邏輯進一步導致該處理器執行以下步驟:使用該第一臨時亂數值及該客戶識別符來產生一第二臨時亂數值;使用該第二臨時亂數值及該秘密金鑰來產生該第一啟動碼。
- 如請求項15之電子裝置,其中該第二臨時亂數值之該產生包括該經儲存程式邏輯進一步導致該處理器運算序連該第一臨時亂數值及該客戶識別符之結果的一雜湊。
- 如請求項15之電子裝置,其中該第一啟動碼之該產生包括該經儲存程式邏輯進一步導致該處理器針對該秘密金鑰產生一訊息鑑認碼。
- 如請求項14之電子裝置,其中該第一啟動碼至該遠端運算裝置之該返回進一步包括該經儲存程式邏輯進一步導致該處理器將一客戶識別符值及至少一個客戶鑑認金鑰與該第一啟動碼一起返回。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/014,206 US11728997B2 (en) | 2020-09-08 | 2020-09-08 | Cloud-based creation of a customer-specific symmetric key activation database |
US17/014,206 | 2020-09-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202213960A TW202213960A (zh) | 2022-04-01 |
TWI854152B true TWI854152B (zh) | 2024-09-01 |
Family
ID=
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190149527A1 (en) | 2017-11-15 | 2019-05-16 | Rhidian John | Dynamic offline encryption |
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190149527A1 (en) | 2017-11-15 | 2019-05-16 | Rhidian John | Dynamic offline encryption |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11665006B2 (en) | User authentication with self-signed certificate and identity verification | |
JP6840292B2 (ja) | ブロックチェーンベーススマートコントラクト起動方法および装置、ならびに電子デバイス | |
EP3639466B1 (en) | Expendable cryptographic key access | |
TWI695613B (zh) | 使用同態加密的區塊鏈資料保護 | |
EP3639465B1 (en) | Improved hardware security module management | |
WO2018177124A1 (zh) | 业务处理方法、装置、数据共享系统及存储介质 | |
TW202019123A (zh) | 使用同態加密的區塊鏈資料保護 | |
CN109074251A (zh) | 嵌入式系统的本地空中更新 | |
CN109691057A (zh) | 经由私人内容分发网络可交换地取回敏感内容 | |
US20240143202A1 (en) | Customer-specific activation of functionality in a semiconductor device | |
US20240372727A1 (en) | Leveraging a trusted party third-party hsm and database to securely share a key | |
TWI854152B (zh) | 用於提供安全的現場升級之方法、相關電腦可讀儲存媒體及電子裝置 | |
US11728997B2 (en) | Cloud-based creation of a customer-specific symmetric key activation database | |
WO2023134259A1 (zh) | 基于点对点的数据处理方法、系统、计算设备及存储介质 | |
US9424405B2 (en) | Using receipts to control assignments of items of content to users | |
EP4390720A1 (en) | Blockchain-based data processing method and apparatus, device, and medium | |
GB2563390A (en) | Expendable cryptographic key access |