TW202339460A - 用於提供節點鎖定機密資料之方法及設備 - Google Patents
用於提供節點鎖定機密資料之方法及設備 Download PDFInfo
- Publication number
- TW202339460A TW202339460A TW112104433A TW112104433A TW202339460A TW 202339460 A TW202339460 A TW 202339460A TW 112104433 A TW112104433 A TW 112104433A TW 112104433 A TW112104433 A TW 112104433A TW 202339460 A TW202339460 A TW 202339460A
- Authority
- TW
- Taiwan
- Prior art keywords
- private key
- white
- box
- global
- locked
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 241001074639 Eucalyptus albens Species 0.000 claims abstract description 54
- 238000011084 recovery Methods 0.000 claims description 9
- 238000004422 calculation algorithm Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 12
- 238000004590 computer program Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000009795 derivation Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013478 data encryption standard Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003028 elevating effect Effects 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- 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/006—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
-
- 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
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- 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/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- 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/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- 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/3263—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- 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/3263—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—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 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]
-
- 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/16—Obfuscation or hiding, e.g. involving white box
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
描述一種提供機密資料(如唯一憑據)的系統及方法。該技術將一白箱密碼軟體模組初始化到一特定的PKI客戶以軟鎖定白箱密碼運算到該PKI客戶,並且以可從一數位憑證衍生的一節點鎖定金鑰(NLK)來唯一地加密該機密。
Description
本發明係關於用於傳達資料之系統及方法,尤其關於用於提供節點鎖定機密資料之系統及方法。
安全憑據允許安全提供資料及控制顧客正在使用的裝置。然而,許多裝置都不具備現有的安全憑據,例如,在雲端運算環境上執行虛擬網路功能的許多物聯網(IoT)裝置及5G基地台,通常都缺乏這些預先安裝的憑據。有需要安全地向在虛擬計算平台上執行的遠端裝置或軟體個體提供此類憑據,並保護此類憑據,以防止其在未經授權的裝置或平台上使用。
為了因應上述要求,本文件揭露根據裝置唯一私有金鑰執行密碼運算的系統及方法。在一具體例中,該方法包括:在PKI客戶中提供一白箱實施,該白箱實施包括 一全域白箱解密器;一已鎖定白箱加密器,該已鎖定白箱加密器根據一PKI客戶唯一ID來鎖定到PKI客戶;一已鎖定白箱解密器,該已鎖定白箱解密器根據該PKI客戶ID來鎖定到該PKI客戶。該方法亦包括接收:一已編碼全域加密金鑰;根據該全域加密金鑰來加密該私有金鑰;與該私有金鑰密碼地關聯之一數位憑證;使用該全域白箱解密器,根據該已編碼全域加密金鑰來解密該已加密私有金鑰;從該數位憑證中衍生節點鎖定資訊;藉由該已鎖定白箱加密器根據該節點鎖定資訊來唯一地重新加密該私有金鑰;從該數位憑證重新衍生該節點鎖定資訊;藉由該已鎖定白箱解密器根據該重新衍生的節點鎖定資訊來解密該重新加密的私有金鑰;以及根據該已解密私有金鑰來執行該密碼運算。
另一具體例由具有一個或多個處理器及一通訊地耦接的記憶體之設備來證明,該記憶體儲存用於執行上述運算的處理器指令。
已討論之特徵、功能及優點可在本發明之各種具體例中獨立地達成,或還可在其他具體例中組合,其進一步細節可參考以下描述及圖式來瞭解。
在下文中,參考形成本文一部分的附圖,且藉由說明顯示幾個具體例。應瞭解,可使用其他具體例且可不背離本發明範疇下進行結構變更。
概觀
如上所述,必須將安全憑據等安全資料提供給遠端裝置。此類裝置可包括設置在遠端位置的硬體裝置,或設置在網路平台上執行的位置的軟體個體。在下列描述中,這類遠端裝置稱為「PKI客戶」。
在提供安全憑據之後,這些憑據仍會遭到濫用,例如複製憑據,並在其他(及未經授權的)PKI客戶上使用這些憑據。這可藉由唯一地加密將已提供憑據節點鎖定到PKI客戶來改善,以便在所需的PKI客戶上可解密。這可防止在不同PKI客戶上複製及使用憑據。
雖然此類技術是有用的,但它們通常需要可移除或嵌入式硬體安全模組(HSM),例如TPM(信賴平台模組)晶片。不過,HSM通常不適用於部署在雲端環境中的PKI客戶,這些雲端環境包含無所不在的現成硬體。此外,部署為設備的PKI客戶可能會以可移動性為設計考量,以在不需HSM元件下在現成硬體上執行。在不希望使用HSM的情況下,可以使用軟體混淆及白箱加密來傳遞安全資料並加密資料,所以其無法在其他地方使用。一旦提供,這些安全資料可本地儲存或用於安全通訊端層(SSL)、傳輸層安全(TLS)交易、網際網路通訊協定安全(IPSec),或使用數位憑證的任何其他應用程式或通訊協定。
節點鎖定將加密處理的運算限制為特定節點(例如處理器、處理器集、PKI客戶或應用程式個體),以減輕程式碼提升攻擊。例如,當實施從授權節點移到未經授權的節點時,可能會發生此類代碼提升攻擊。一般而言,使用HSM的節點鎖定需要將唯一憑據(例如私有金鑰及數位憑證)提供給節點,並唯一地加密到客戶個體,使得憑據無法在不同的節點或其他地方被複製與使用。
下文描述一種提供機密資料(如唯一憑據)的技術。此技術可用於無預先存在之安全憑據的PKI客戶。反之,該技術使用全域憑據做為前端組件,以將唯一憑據提供給PKI客戶。在提供唯一的憑據之後,該憑據會唯一地加密到PKI客戶,因此無法在不同的個體或其他PKI客戶上複製與使用憑據。一旦經過加密的適當保護,它們可在本地儲存,或在SSL、TLS交易、IPSec或任何其他使用數位憑證的應用程式或通訊協定中使用。
此技術利用兩種功能:(1)初始化白箱加密軟體模組到特定的PKI客戶,以將選取的白箱密碼運算(例如解密/加密)軟鎖定到該特定的PKI客戶,以及(2)在本地存放憑據之前,以從數位憑證衍生的節點鎖定金鑰(NLK)唯一地加密憑據,可選擇性地使用軟鎖定白箱密碼運算之一者,如標題為「白箱軟鎖定」,於2021年12月16日由亞倫安德森及法里巴巴雷茲申請的美國臨時專利申請案第63/290,191號(在此通過參考併入本文)中所述的,然後在需要憑據時,以重新衍生的NLK來解密該憑據。
參考第一功能,使用PKI客戶的唯一辨識碼(ID)藉由初始化白箱加密軟體模組,來將白箱加密/解密實施軟鎖定到特定PKI客戶。使用已初始化白箱加密軟體模組建立的白箱加密及解密實施,會密碼地連結至唯一ID,因此,也就是PKI客戶本身。唯一ID代表PKI客戶的「指紋」,其可衍生自本地收集的資訊(例如PKI客戶的硬體及/或軟體特徵)或雲端供應商給定的平台唯一關聯(例如Docker容器ID或虛擬網路功能(VNF)ID。使用唯一ID進行此類初始化後,使用結果已初始化白箱加密軟體模組進行的任何運算將對於個體或PKI客戶是唯一的。因此,如果相同的資料及金鑰複製到不同的個體或PKI客戶,加密/解密運算將提供不正確的結果,而且將無法使用。
第二個功能,為特定PKI客戶使用節點鎖定金鑰(NLK)進行憑據的唯一加密,防止在其他裝置上使用憑據。NLK衍生自提供的數位憑證,而非被儲存的,因此,為了在另一個未經授權的客戶個體上使用NLK,用於衍生NLK的數位憑證也必須複製至相同的客戶個體。當數位憑證包括使用者辨識資訊,例如媒體存取控制(MAC)位址、網際網路通訊協定(IP)位址或完整網域名稱(FQDN)時,其用於具有不同辨識碼的未授權客戶個體上時,可能會因為不匹配而遭拒。
使用NLK的憑據的唯一加密包含兩個使用案例。第一個使用案例是「明金鑰存取」使用案例,其中,產生明(未編碼及未加密)私有金鑰供PKI客戶執行的應用程式使用。在此案例中,私有金鑰被解密以供應用程式使用,且稍後當需要私有金鑰的運算完成時,就會刪除。例如,當應用程式需要使用私有金鑰的明(未加密)版本時,可以使用此案例。第二個使用者案例是受保護的使用案例,其中,即使應用程式使用私有金鑰,私有金鑰仍受到編碼的保護。在此案例中,PKI客戶執行的應用程式包含白箱運算,其要求私有金鑰只能與運算的特定白箱實施搭配使用。在此具體例中,在揮發性或持久性記憶體中隨時不暴露私有金鑰的明版本。可使用任何自訂或標準加密通訊協定(例如IPsec或TLS)來實施第一個使用案例。第二個使用案例是更安全的實施,可以套用到相同的安全通訊協定集,包括IPsec及TLS。
線上憑據提供系統
圖1係描繪安全資料傳送系統100的圖。安全資料輸送系統100包含金鑰產生設施102與線上憑據提供系統104(以下稱為「提供系統」)通訊地耦接,其與複數個PKI客戶106之一者通訊地耦接。金鑰產生設施102與客戶運營商及/或工廠134界接,其構建及提供PKI客戶106以提供白名單及/或黑名單,其指明哪些PKI客戶106應接收或不應接收憑據,以及哪些PKI客戶106應撤銷憑據。金鑰產生設施102使用金鑰產生器108可產生其自身的金鑰對(例如,私有金鑰及相關公開金鑰),或自第三方金鑰授權機構136獲得該等金鑰。金鑰載入器110準備這些金鑰對,用於透過防火墻112傳輸到提供系統104。提供系統104包含金鑰提供伺服器116,其接受來自金鑰產生設施102的已產生金鑰對,並執行下述運算以準備其,用於經由防火牆114提供至PKI客戶106。
提供系統104與客戶106之間的通訊連結通常由網際網路120使用認證及加密之通道122,諸如安全通訊端層(SSL)或基於IPsec之虛擬私人網路(VPN)來實施。提供系統104亦可包括監測憑據的提供之模組118並將此等提供活動回報至儲存庫135。軟體開發套件(SDK)130,其可包括一白箱密碼軟體模組(WBCSM)140,係安裝在PKI客戶106上以執行本文所述之PKI客戶106運算。在其他具體例中,安裝在PKI客戶106上之WBCSM 140與SDK 130分開。PKI客戶106亦可執行至少部分地在雲端中實施的應用程式。未使用白箱加密之此類PKI提供系統之實例描述於美國專利第9,130,928號中,在此作為參考文獻與本文合併。WBCSM 140是一種加密工具,其使用白箱加密技術以產生及實施白箱處理。在一具體例中,WBCSM 140提供了常見的密碼運算,例如對稱/非對稱加密/解密以及簽署及驗證運算,所有運算都使用白箱加密來保護。
圖2係繪示可用於向PKI客戶106提供憑據的例示性運算之圖。在區塊202中,提供白箱實施至PKI客戶106。白箱實施包括全域白箱解密器(其具體例被繪示為圖3之項目316)、已鎖定白箱加密器(其具體例被繪示為圖4之項目408)及已鎖定白箱解密器(其具體例被繪示為圖4之項目414)。如下進一步描述,根據PKI客戶唯一標識符,已鎖定白箱加密器408及已鎖定白箱解密器414被節點鎖定到PKI客戶106,如下文進一步描述。全域白箱解密器316未節點鎖定至特定PKI客戶106,且因此可由複數個PKI客戶106之任一者使用。
在一具體例中,根據PKI客戶106的唯一識別碼(ID)藉由初始化WBCSM 140,白箱解密器414以及白箱加密器408均被鎖定在唯一PKI客戶。此初始化導致WBCSM 140產生查找表(LUT),其被鎖定到執行白箱實施的PKI客戶106或節點。已鎖定白箱實施的LUT與已解鎖白箱實施的LUT不同,在於節點已鎖定LUT衍生自節點的唯一ID或指紋,包括衍生自唯一ID的隨機對射。因此,假如提供給白箱實施之輸入(例如金鑰及可能的其他資訊)適當地編碼用於節點已鎖定LUT,節點已鎖定LUT將只產生適當輸出。同樣地,如果白箱實施編碼的金鑰提供給不同的白箱實施,則結果輸出會有所不同,不會執行想要的密碼運算以達想要的結果。
關於此類LUT如何產生及使用,其提供在美國臨時專利申請案第63/290,191號中,標題為「白箱軟鎖定」,由亞倫安德森及法里巴巴雷茲於2021年12月16日申請,在此作為參考結合至本文。
在區塊204中,PKI客戶106接收已編碼全域加密金鑰e[Gk] 312、根據全域加密金鑰Gk 306來加密之PKI客戶唯一私有金鑰Pk 302以及與PKI客戶唯一私有金鑰Pk 302密碼地關聯的數位憑證304(例如,數位憑證係由PKI客戶唯一私有金鑰產生)。
在區塊206中,PKI客戶106接收已編碼全域加密金鑰312、已加密私有金鑰314及數位憑證304,並根據已編碼全域加密金鑰312使用全域白箱解密器316來解密已加密私有金鑰314。
在區塊208中,節點鎖定資訊衍生自數位憑證304。此節點鎖定資訊與已鎖定白箱加密器408及已鎖定白箱解密器414的節點鎖定不同。如下文進一步描述,已鎖定白箱加密器408及已鎖定白箱解密器414的節點鎖定使用識別PKI客戶106的資訊(例如,PKI客戶唯一ID)藉由產生轉換及具有隨機雙射的白箱LUT來完成,而從數位憑證304衍生的節點鎖定資訊包含NLK及選用的初始化向量(IV),其都用來以已鎖定白箱加密器408在本地加密私有金鑰302,供之後用於目標應用程式。如圖4所示,NLK及/或IV在提供運算期間衍生,且在加密之前可能易受未授權存取。為防止此情形,NLK及/或IV可在此衍生後視為已在應用運算中使用的白箱編碼形式。在此具體例中,NLK及/或IV之明值隨時都不暴露。
在區塊210中,根據從數位憑證304產生的節點鎖定資訊,藉由已鎖定白箱加密器408來唯一地重新加密私有金鑰302。在區塊211中,重新加密的私有金鑰會存放在本地儲存器412,以供日後使用。
在區塊212中,節點鎖定資訊會重新衍生自數位憑證304的節點鎖定資訊。
在區塊214中,重新加密的私有金鑰410會藉由已鎖定白箱解密器414根據重新衍生的節點鎖定資訊進行解密。最後,PKI客戶根據已解密私有金鑰302執行密碼運算。
在一具體例中,區塊212及214的運算僅在應用程式416要求明私有金鑰302之前進行(例如,TLS交握),且在使用後立即安全地刪除明私有金鑰302的所有副本。安全資料刪除可例如基於用於資料清除之DoD 5220.22-M方法。在可組態延遲之後,顧及應用程式將再次需要存取私有金鑰302的可能性,在已知應用程序的當前個體不需要進一步存取私有金鑰302之後,或者當應用程序416完成執行時,此類刪除可在私有金鑰302用於計算後立即執行。
圖3係繪示區塊204及206中執行之運算之具體例的圖。PKI客戶唯一私有金鑰302及數位憑證304由金鑰產生器108產生。金鑰加密器301,其可能包含在離線金鑰產生設施102或提供系統104中,使用加密器308來加密私有金鑰302。雖然加密器308可能使用白箱技術實施,但這並非必要,因為加密並非在雲端或現場部署的裝置執行,因此可以在安全環境中執行。
全域加密金鑰306由白箱編碼器310所編碼,以修改全域加密金鑰306,以便由PKI客戶106執行的白箱解密器316可用於對藉由加密程器308所加密的全域加密金鑰306進行解密。已編碼全域加密金鑰312、全域已加密私有金鑰314及數位憑證304提供給PKI客戶106。
圖3繪示使用進階加密標準加密區塊鏈結(AES-CBC)演算法的加密及解密運算之具體例,但可使用其他演算法。
圖4係繪示藉由PKI客戶106之憑據提供之第二階段之第一具體例及提供的私有金鑰302之解密及使用的圖。所描繪之運算代表圖2中所描繪之區塊208-216之運算的進一步細節,其中私有金鑰302重新加密、儲存及解密以供PKI客戶106使用。
在此案例中,存放私有金鑰302之前,唯一加密會套用到私有金鑰302,以供日後使用。必要時,會擷取並解密重新加密私有金鑰302,以產生用於執行客戶應用程式416的一或多個密碼運算之明文私有金鑰302。因此,此具體例表示一「明金鑰存取」使用案例,其中在PKI客戶106中產生明私有金鑰302。
在圖4所繪示之具體例中,圖2之區塊208中所衍生的節點鎖定資訊包括節點鎖定金鑰(NLK)及可選擇地初始化向量(IV)。為了例示性目的,IV係由IV衍生模組404衍生,且NLK 406係由NLK衍生模組402衍生,但單一模組可產生IV及NLK 406,如下文進一步描述。
圖5係繪示可如何產生NLK 406及IV之具體例的圖。區塊502執行對應至私有金鑰302之數位憑證304的加密雜湊運算。區塊506可為計算包含適當位元數之IV的任何數學函數。例如,AES的IV必須擁有正好128位元。在所示具體例中,區塊506計算雜湊的最少有效位元以產生IV,但區塊506中的函數可輸出比後續位元減少函數所需的更多位元。區塊506的輸出可選擇性地視為IV,其已經為白箱編碼格式,使得明IV永遠不會暴露於記憶體中。區塊506可以編碼形式計算IV及/或NLK,以便應用於白箱解密器414。在此具體例中,IV/NLK在未編碼或未加密的形式中都不會是有效的,因此較少受到洩漏。
區塊504是套用至區塊502所產生之雜湊值的另一位元產生函數。此函數可產生足夠位元來構成由白箱加密器408使用之加密金鑰。在具體例中,區塊504的結果首先作為資料輸入到白箱解密器316中,以根據已編碼全域加密金鑰e[Gk] 312來執行解密運算,以產生NLK 406,然後其可被白箱加密器408使用。在所示的具體例中,504的輸出根據已編碼全域加密金鑰e[Gk]根據AES-CBC解密運算進行解密,但可以使用其他解密方案。如所繪示,當首次提供至PKI客戶106可用於產生NLK406時,相同的全域加密金鑰306及白箱解密器316用於保護私有金鑰302。NLK406之具體例可表示為:
NLK = AES-CBC-Decrypt(GK,位元處理函數(Hash(Cert)))。
雖然圖5揭露使用位元處理函數504及506及全域白箱解密器316從憑證304產生NLK 406及IV,但只要從數位憑證304衍生的值有需要時是充分地安全且可再衍生,則可使用其他公式。
返回圖4,根據圖2區塊210中描述的節點鎖定資訊執行私有金鑰302的唯一加密,NLK 406及IV應用於已鎖定白箱加密器408,其將私有金鑰302加密,以產生重新加密之私有金鑰410。重新加密的私有金鑰410接著會存放在儲存器412。
當需要使用私有金鑰302時,重新加密的私有金鑰410及數位憑證304是從儲存區412中擷取。使用圖5中上面概述的相同運算來重新衍生節點鎖定資訊,且此重新衍生節點鎖定資訊用於使用已鎖定白箱解密器414來解密重新加密的私有金鑰410。此已鎖定白箱解密器414組態為對已經使用NLK406及IV藉由已鎖定白箱加密器408所加密的資料進行解密。在所示的具體例中,由於資訊是由AES-CTR模式的白箱加密器所加密及SL致能的,因此使用前述衍生的IV及NLK使用在AES-CTR模式的白箱解密器來解密重新加密的私有金鑰410。其結果為復原的私有金鑰302,其可用於在PKI客戶106中實施的應用程式。雖然區塊408及414繪示了使用AES-CTR(在計數器模式下的AES)演算法的唯一加密及解密,但是任何其他密碼學的加密/解密演算法都可以在其位置使用,搭配唯一IV及NLK 406。
請注意,衍生節點鎖定資訊,而不是隨機產生,因此避免儲存節點鎖定資訊的需求。類似裝置或雲端節點上可重複產生節點鎖定資訊的過程,然而與已鎖定白箱加密器408及白箱解密器414緊密地耦接的可能是該設備。請注意,節點鎖定資訊使用對應的數位憑證304來衍生,且由於每個私有金鑰302都將與不同的數位憑證304相關聯,每個私有金鑰302會有不同的節點鎖定資訊,用於加密私有金鑰302。進一步注意到,NLK 406是由全域白箱解密器316所衍生,因此與之耦接,並因此NLK 406不能與標準AES-CTR解密技術一起使用來擷取私有金鑰302。
在上述具體例中,NLK 406及IV如圖5中所示產生,且在提供及應用運算兩者中產生後,可能以明文形式可用,並遭受洩漏。為了防止此結果,NLK 406或IV或兩者的值經計算,以便直接使用(編碼形式)由白箱加密器408及解密器414編碼。
圖6係繪示憑據提供之第二階段之另一具體例,及私有金鑰302之編碼版本的解密及使用的圖。這代表一個「受保護金鑰」使用案例,其中在應用運算期間,PKI客戶106無法使用明文私有金鑰302。然而,私有金鑰302的編碼版本(其中,「已編碼私有金鑰」604)是在PKI客戶106中由白箱運算使用,而私有金鑰302的明版本僅在提供運算的第一階段之後可用。在此具體例中,唯一私有金鑰(Pk) 302經編碼以供在以重新衍生的節點鎖定資訊的解密之後的初始化WBCSM 140的白箱密碼運算608使用。
如圖5所示,如所示之「明金鑰存取」具體例中的實例,「受保護金鑰」具體例從數位憑證304衍生節點鎖定資訊,包括IV及NLK 406。然而,在此具體例中,在根據白箱加密器408加密私有金鑰302之前,私有金鑰302由編碼器602編碼,以產生白箱已編碼私有金鑰604。使用重新衍生的節點鎖定資訊,然後由已鎖定白箱加密器408唯一地重新加密白箱已編碼私有金鑰604,以達到唯一已加密及已編碼私有金鑰606。此獨特的加密本身鎖定到特定的PKI客戶106,因為實施已鎖定白箱加密器408及已鎖定白箱解密器414的WBCSM 140根據PKI客戶106的唯一ID被初始化,從而將白箱加密器408及白箱解密器414鎖定到特定的PKI客戶106。換言之,只有根據PKI客戶106的唯一ID進行初始化並與PKI客戶106結合的WBCSM 140,才能解密並恢復已編碼及已加密私有金鑰606。
然後將此已加密已編碼私有金鑰606放置在本地儲存區412中供之後使用。當需要使用已編碼私有金鑰604時,藉由NLK衍生模組402及IV衍生模組404從數位憑證304重新衍生節點鎖定資訊,並節點鎖定資訊用來解密已加密已編碼私有金鑰606,以恢復已編碼私有金鑰604。已編碼私有金鑰604可用於執行白箱密碼運算608,私有金鑰302為此被編碼。
已編碼私有金鑰604可為全域地編碼(例如,編碼來供在所有複數PKI客戶106上實施的白箱密碼運算608使用),或唯一地編碼,用於初始化為特定PKI客戶106之節點鎖定WBCSM 140的白箱密碼運算608。如果私有金鑰302是全域地編碼,則所有執行相同WBCSM 140的個體都可以使用,這些個體繫結至相同的全域隨機種子。
如果已編碼私有金鑰604是軟鎖定到特定WBCSM 140(例如,以PKI客戶106的唯一識別碼初始化),則其僅可與初始化並繫結到該PKI客戶106之WBCSM 140使用。此選項提供進一步保護,且此具體例降低保留已編碼私有金鑰604之風險,以供後續使用。
圖7係繪示私有金鑰302之提供及使用的另一替代具體例的圖。在此具體例中,該白箱實施還包括一白箱密碼運算,除了解密運算之外,圖7的全域白箱解密器進一步編碼私有金鑰供白箱密碼運算使用。因此,由PKI客戶106對私有金鑰302進行全域解密及編碼以產生供初始化WBCSM140使用的已編碼私有金鑰604被結合到由全域白箱解密器及編碼器702執行的單一運算(例如透過實施解密及編碼的單一LUT的應用程式)。
然後根據節點鎖定資訊儲存並唯一地加密已編碼私有金鑰604,如同圖6繪示及描述的具體例中的案例一樣。這反映了一具體例,具有進一步安全性,因明私有金鑰302在任何時間,包括在提供運算期間,不會在PKI客戶106中暴露。
圖8及圖9係繪示私有金鑰的提供與使用的另一替代具體例的圖。此替代具體例類似於圖6中繪示的具體例,但是當圖6中繪示的具體例揭露了在提供的第二階段期間由PKI客戶106執行的私有金鑰302的編碼時(因此至少暫時地儲存PKI客戶中的明私有金鑰302),圖8繪示的具體例揭露了在將已編碼及已加密私鑰606傳輸到PKI客戶106之前,在金鑰加密器301中對私有金鑰302進行這種編碼。因此,在此具體例中,即使在提供期間,在PKI客戶106中亦從未暴露明私有金鑰302。
圖8係繪示在此具體例中之憑據提供之第一階段的圖。如所繪示,私有金鑰302在由全域加密器308加密之前由編碼器602編碼以供將由PKI客戶106執行的白箱密碼操作608使用。
已編碼私有金鑰604是由全域加密器308根據全域加密金鑰306加密,以產生全域已加密已編碼私有金鑰802。全域加密金鑰306由編碼器602編碼,以產生已編碼全域金鑰e[Gk] 312,供全域白箱解密器316使用。然後將已編碼全域金鑰e[Gk] 312、全域已加密及已編碼私有金鑰802及數位憑證304提供給PKI客戶106。
PKI客戶106使用全域白箱解密器316及已編碼全域金鑰312來解密全域已加密及已編碼私有金鑰802,以複製已編碼私有金鑰604。
圖9係繪示圖8中所繪示之憑據提供之第二階段及私有金鑰302之編碼版本604之解密及使用的圖。如上所述,圖9中所繪示之運算實質上與圖6中所繪示之運算相同,除了用於進一步白箱密碼運算608的私有金鑰302之編碼已經由金鑰加密器301執行而非在PKI客戶106中作為金鑰提供之第二階段的一部分。
因此,由白箱解密器316(圖8上)提供的解密運算導致已編碼私有金鑰604而非僅僅純文字私有金鑰302。PKI客戶106接收已編碼私有金鑰604與數位憑證304,並使用數位憑證304產生NLK 406及IV,並應用NLK 406及IV至白箱加密器408來加密已編碼私有金鑰604,藉此產生已加密編碼私有金鑰606,其儲存來供之後在本地儲存器412中使用。
當需要私有金鑰時,已加密已編碼私有金鑰606會從本地儲存器中擷取,而節點鎖定資訊則是使用上述技術從數位憑證衍生而來。已鎖定白箱解密器414使用此重新衍生的節點鎖定資訊來解密已加密已編碼私有金鑰606,以產生已編碼私有金鑰604。已編碼私有金鑰之後可用來執行其為此編碼的白箱密碼運算608。
硬體環境
圖10繪示可用於實施上述揭露之處理元件之例示性電腦系統1000,包括離線金鑰產生設施102,提供系統104、儲存庫135及PKI客戶106。電腦1002包含處理器1004及記憶體,諸如隨機存取記憶體(RAM)1006。電腦1002可運作地耦接到顯示器1022,顯示器在圖形使用者界面1018B上向使用者呈現圖像,例如視窗。電腦1002可以耦接到其他裝置,例如鍵盤1014、滑鼠裝置1016、印表機1028等。當然,本領域的技術人員將認識到上述組件的任何組合,或任何數量的不同組件、周邊裝置及其他裝置可以與電腦1002一起使用。
通常,電腦1002在儲存於記憶體1006中的作業系統1008的控制下運行,並且與使用者界接以接受輸入及命令並通過圖形使用者界面(GUI)模組1018A呈現結果。雖然GUI模組1018B被描繪為分開的模組,但是執行GUI功能的指令可以駐留在或分佈在作業系統1008、電腦程式1010中,或者以專用記憶體及處理器來實現。電腦1002也實現編譯器1012,其允許使用程式語言,如COBOL、C++、FORTRAN或可轉譯成處理器1004可讀代碼的其他語言來撰寫應用程式1010。完成後,應用程式1010使用編譯器1012產生的關係及邏輯來存取及操縱儲存在電腦1002的記憶體1006中的資料。電腦1002也可選地包括外部通訊裝置,例如數據機、衛星鏈路、以太網卡或其他用於與其他電腦通訊的裝置。
在一具體例中,實施作業系統1008、電腦程式1010及編譯器1012的指令有形地實現在電腦可讀媒體中,例如資料儲存裝置1020,其可以包括一個或多個固定或可移動資料儲存裝置,例如壓縮磁碟機、軟碟機1024、硬碟、CD-ROM、磁帶機等。此外,作業系統1008及電腦程式1010由指令組成,這些指令在藉由電腦1002執行或讀取時,使電腦1002執行這裡描述的運算。電腦程式1010及/或運算指令也可以有形地實現在記憶體1006及/或資料通訊裝置1030中,從而製造電腦程式産品或製品。因此,本文使用的術語「製品」、「程式儲存裝置」及「電腦程式產品」旨在涵蓋可從任何電腦可讀裝置或媒體存取的電腦程式。
本領域技術人員將認識到可以對這種配置進行許多修改而不脫離本揭露的範圍。例如,本領域技術人員將認識到,可以使用上述組件的任何組合,或任何數量的不同組件、周邊設備及其他裝置。
結論
此總結本揭露的較佳具體例的描述。為了說明及描述的目的,已經呈現較佳具體例的前述描述。
例如,儘管本文中所揭露的特定加密/解密技術可用於執行指定運算(例如,AES-CTR及AES CBC),但可使用其他加密/解密技術(例如,三重資料加密標準–加密區塊鏈結(3DES-CBC)及三重資料加密標準電子書(3DES-ECB)或其他技術)。
儘管上述規定已描述有關向PKI客戶106提供私有金鑰或其他憑據,但所述系統和方法可用於保護雲端應用程式處理的使用者/顧客私有資料,以保護密碼、Wi-Fi金鑰等秘密,並透過入口網站應用程式保護瀏覽器中輸入的使用者憑據。
揭露一種根據一公開金鑰基礎設施(PKI)客戶唯一私有金鑰執行一密碼運算的方法。在一具體例中,該方法包括:在一PKI客戶中提供一白箱實施。該白箱實施包括:一全域白箱解密器;一已鎖定白箱加密器,該已鎖定白箱加密器根據一PKI客戶唯一ID來鎖定至該PKI客戶;一已鎖定白箱解密器,該已鎖定白箱解密器根據該PKI客戶唯一ID來鎖定至該PKI客戶。此方法也包含接收:一已編碼全域加密金鑰、根據該全域加密金鑰來加密該私有金鑰、與該私有金鑰加密地關聯之一數位憑證。此方法也包含使用該全域白箱解密器,根據該已編碼全域加密金鑰來解密該已加密私有金鑰;從該數位憑證中衍生節點鎖定資訊,藉由該已鎖定白箱加密器根據該節點鎖定資訊來唯一地重新加密該私有金鑰,從該數位憑證重新衍生該節點鎖定資訊,藉由該已鎖定白箱解密器根據該重新衍生的節點鎖定資訊來解密該重新加密的私有金鑰,以及根據該已解密私有金鑰來執行該加密運算。
實施可能包括以下特徵的一個或多個。
上述方法之任一者,其中:白箱的實施更可包括:一白箱密碼運算;及一編碼器;藉由該已鎖定白箱加密器根據該節點鎖定資訊來唯一地重新加密該私有金鑰包含:藉由該編碼器編碼供該白箱加密運算使用的私有金鑰;及藉由該已鎖定白箱加密器根據該節點鎖定資訊及該已編碼私有金鑰來唯一地重新加密該私有金鑰;及根據該已解密私有金鑰來執行該加密算包含:根據該已編碼私有金鑰來執行該白箱加密運算。
上述方法之任一者,其中:該白箱實施進一步可包括:一白箱密碼運算;該全域白箱解密器進一步編碼該私有金鑰,以供該白箱加密運算使用;藉由該已鎖定白箱加密器根據該鎖定資訊來唯一地重新加密該私有金鑰包含:藉由該已鎖定白箱加密器根據該節點鎖定資訊來唯一地重新加密該已編碼私有金鑰;以及根據該已解密私有金鑰來執行該加密運算包含:根據該已編碼私有金鑰來執行該加密運算。
上述方法之任一者,其中:該白箱實施進一步可包括:一白箱密碼運算;該已收到私有金鑰在該加密之前根據該全域加密金鑰進行編碼,該私有金鑰被編碼以供該白箱加密運算使用;使用該全域白箱解密器根據該已編碼全域加密金鑰來解密該已加密私有金鑰包含:使用該全域白箱解密器根據該已編碼全域加密金鑰來解密該已加密已編碼私有金鑰;藉由該已鎖定白箱加密器根據該節點鎖定資訊來唯一地重新加密該私有金鑰包含:藉由該已鎖定白箱加密器根據該節點鎖定資訊來唯一地重新加密該已編碼私有金鑰;藉由該已鎖定白箱解密器根據該重新衍生的節點鎖定資訊來解密該重新加密的私有金鑰包含:藉由該已鎖定白箱解密器根據該重新衍生的節點鎖定資訊來解密該重新加密的已編碼私有金鑰;以及根據該已解密私有金鑰來執行該加密運算包含:根據該已編碼私有金鑰來執行白箱加密運算。
上述方法之任一者,其中:該節點鎖定資訊可包括:一節點鎖定金鑰。
上述方法之任一方法,其中:該方法進一步包含:產生該數位憑證的至少一部分的一加密雜湊;及使用該已編碼全域加密金鑰及全域白箱解密器來解密該數位憑證的該至少一部份的該加密雜湊的至少一部分以產生該節點鎖定金鑰。
上述方法之任一者,其中:該節點鎖定資訊可進一步包括一初始化向量;及該初始化向量係基於該數位憑證的該至少一部分的該加密雜湊的至少一部分來產生;及該初始化向量是以白箱編碼形式衍生。
上述方法之任一者,其中:該節點鎖定金鑰是以白箱編碼形式衍生。
上述方法之任一者,其中:該PKI客戶唯一ID是從來自該PKI客戶的至少一特徵收集的指紋資料衍生,該至少一種特徵係選自包含一軟體特徵及硬體特徵之群組。
在另一具體例中,該方法安全提供用於執行一密碼運算的一PKI客戶唯一私有金鑰。在一個具體例中,該方法包括根據一全域加密金鑰Gk來加密該私有金鑰;編碼該全域加密金鑰Gk以與在一PKI客戶處執行的一全域白箱解密器一起使用;以及將該已編碼全域加密金鑰Gk及該全域已加密私有金鑰提供給該PKI客戶,藉由該全域白箱解密器來解密,藉由在該PKI客戶上執行的一已鎖定白箱加密器來重新加密並在儲存前鎖定到該PKI客戶,以及藉由在該PKI上執行的一已鎖定白箱解密器來解密及在該私有金鑰的回復與使用之前鎖定到該PKI客戶以執行該加密運算。
實施可能包括以下特徵的一個或多個。
上述方法之任一者,其中:該密碼運算係藉由該PKI客戶執行的白箱密碼運算;在藉由全域白箱解密器來解密之後及在藉由已鎖定白箱加密器來重新加密之前,將該已解密私有金鑰編碼以供該白箱密碼運算使用;及該已編碼私有金鑰用於執行該密碼運算。
上述方法之任一者,其中:該密碼運算係藉由PKI客戶執行的一白箱密碼運算;該全域白箱解密器解密該全域已加密私有金鑰並編碼該私有金鑰;以及將該已編碼全域加密金鑰Gk及該全域已加密私有金鑰提供給該PKI客戶,藉由該全域白箱解密器來解密,藉由在該PKI客戶上執行的一已鎖定白箱加密器來重新加密並在儲存前鎖定到該PKI客戶,以及藉由在該PKI上執行的一已鎖定白箱解密器來解密及在該私有金鑰的回復與使用之前鎖定到該PKI客戶以執行該密碼運算包括:將該已編碼全域加密金鑰Gk及該全域已加密私有金鑰提供給該PKI客戶,藉由該全域白箱解密器來解密,藉由在該PKI客戶上執行的一已鎖定白箱加密器來重新加密並在儲存前鎖定到該PKI客戶,以及藉由在該PKI上執行的一已鎖定白箱解密器來解密及在該私有金鑰的回復與使用之前鎖定到該PKI客戶以執行該密碼運算。
上述方法之任一者,其中:該密碼運算係藉由該PKI客戶執行的一白箱密碼運算;該方法進一步包含:編碼該私有金鑰,以供該白箱密碼運算使用;根據一全域加密金鑰Gk來加密該私有金鑰包含:根據該全域加密金鑰Gk來加密該已編碼私有金鑰;以及將該已編碼全域加密金鑰Gk及該全域已加密私有金鑰提供給該PKI客戶,藉由該全域白箱解密器來解密,藉由在該PKI客戶上執行的一已鎖定白箱加密器來重新加密並在儲存前鎖定到該PKI客戶,以及藉由在該PKI上執行的一已鎖定白箱解密器來解密及在該私有金鑰的回復與使用之前鎖定到該PKI客戶以執行該密碼運算。
另一具體例由一種根據一裝置唯一私有金鑰用於執行一密碼運算的設備來證明。在一個具體例中,該設備包含一處理器;及一記憶體,通訊地耦接至該處理器,該記憶體儲存處理器指令,包括以下的處理器指令;在一PKI客戶中提供一白箱實施,該白箱實施包括:一全域白箱解密器;一已鎖定白箱加密器,該已鎖定白色加密器根據一PKI客戶唯一ID鎖定到該PKI客戶;一已鎖定白箱解密器,該已鎖定白箱解密器根據該PKI客戶唯一ID鎖定到該PKI客戶。處理器指令還包括用於接收下列的處理器指令:一已編碼全域加密金鑰;將該私有金鑰根據該全域加密金鑰來加密;與該私有金鑰密碼地關聯之一數位憑證。指令進一步包括下列指令:使用該全域白箱解密器,根據該已編碼全域加密金鑰來解密該已加密私有金鑰;從該數位憑證中衍生節點鎖定資訊;藉由該已鎖定白箱加密器根據該節點鎖定資訊來唯一地重新加密該私有金鑰;從該數位憑證重新衍生該節點鎖定資訊;藉由該已鎖定白箱解密器根據該重新衍生的節點鎖定資訊來解密該重新加密的私有金鑰;以及根據該已解密私有金鑰來執行該密碼運算。
實施可能包括以下特徵的一個或多個。
上述的任一設備或組合,其中:該白箱實施更包括:一白箱密碼運算;及一編碼器;用於藉由該已鎖定白箱加密器根據該節點鎖定資訊來唯一地重新加密該私有金鑰之該處理器指令包含以下處理器指令:藉由該編碼器編碼供該白箱密碼運算使用的私有金鑰;及藉由該已鎖定白箱加密器根據該節點鎖定資訊及該已編碼私有金鑰來唯一地重新加密該私有金鑰;及根據該已解密私有金鑰來執行該加密算之該處理器指令包含以下處理器指令:根據該已編碼私有金鑰來執行該白箱密碼運算。
上述的任一設備或組合,其中:該白箱實施進一步包括一白箱密碼運算;該全域白箱解密器進一步編碼該私有金鑰,以供該白箱密碼運算使用;藉由該已鎖定白箱加密器根據該鎖定資訊來唯一地重新加密該私有金鑰之該處理器指令包含以下處理器指令:藉由該已鎖定白箱加密器根據該節點鎖定資訊來唯一地重新加密該已編碼私有金鑰;以及根據該已解密私有金鑰來執行該密碼運算之該處理器指令包含以下處理器指令:根據該已編碼私有金鑰來執行該密碼運算。
上述的任一設備或組合,其中:該白箱實施更包括:一白箱密碼運算;該已收到私有金鑰在該加密之前根據該全域加密金鑰進行編碼,該私有金鑰被編碼以供該白箱密碼運算使用;使用該全域白箱解密器根據該已編碼全域加密金鑰來解密該已加密私有金鑰之處理器指令包含以下處理器指令:使用該全域白箱解密器根據該已編碼全域加密金鑰來解密該已加密已編碼私有金鑰;藉由該已鎖定白箱加密器根據該節點鎖定資訊來唯一地重新加密該私有金鑰的處理器指令包含以下處理器指令:藉由該已鎖定白箱加密器根據該節點鎖定資訊來唯一地重新加密該已編碼私有金鑰;藉由該已鎖定白箱解密器根據該重新衍生的節點鎖定資訊來解密該重新加密的私有金鑰的處理器指令包含以下處理器指令:藉由該已鎖定白箱解密器根據該重新衍生的節點鎖定資訊來解密該重新加密的已編碼私有金鑰;以及根據該已解密私有金鑰來執行該加密運算的處理器指令包含以下處理器指令:根據該已編碼私有金鑰來執行白箱加密運算。。
上述任一設備或組合,其中:該節點鎖定資訊包括:一節點鎖定金鑰。
上述任何設備或組合,其中:該處理器指令進一步包含以下之處理器指令:產生該數位憑證的至少一部分的一加密雜湊;及使用該已編碼全域加密金鑰及全域白箱解密器來解密該數位憑證的該至少一部份的該加密雜湊的至少一部分以產生該節點鎖定金鑰。
另一具體例由一種根據一公開金鑰基礎設施(PKI)客戶唯一私有金鑰執行一密碼運算的設備,包含:一處理器;一記憶體,通訊地耦接至該處理器,該記憶體儲存處理器指令,包括以下的處理器指令:根據一全域加密金鑰Gk來加密該私有金鑰;編碼該全域加密金鑰Gk以與在一PKI客戶處執行的一全域白箱解密器一起使用;以及將該已編碼全域加密金鑰Gk及該全域已加密私有金鑰提供給該PKI客戶,藉由該全域白箱解密器來解密,藉由在該PKI客戶上執行的一已鎖定白箱加密器來重新加密並在儲存前鎖定到該PKI客戶,以及藉由在該PKI上執行的一已鎖定白箱解密器來解密及在該私有金鑰的回復與使用之前鎖定到該PKI客戶以執行該密碼運算。
並非旨在詳盡無遺的或將本揭露限制為所揭露的精確形式。鑑於上述教示,許多修改及變化都是可能的。旨在權利範圍不受此詳細描述限制,而是受所附申請專利範圍限制。
100:安全資料傳送系統
102:金鑰產生設施
104:線上認證提供系統
106:PKI客戶
108:金鑰產生器
110:金鑰載入器
112:防火牆
114:防火牆
116:金鑰提供伺服器
118:模組
120:網際網路
122:認證及加密之通道
130:軟體開發套件
134:客戶運營商及/或工廠
135:儲存庫
136:第三方金鑰授權機構
140:白箱密碼軟體模組
202~216:區塊
301:金鑰加密器
302:私有金鑰
304:數位憑證
306:全域加密金鑰Gk
308:加密器
310:白箱編碼器
312:已編碼全域加密金鑰
314:全域已加密私有金鑰
316:白箱解密器
402:NLK衍生模組
404:IV衍生模組
406:NLK
408:白箱加密器
410:重新加密的私有金鑰
412:儲存器
414:已鎖定白箱解密器
416:應用程式
502:區塊
504:區塊
506:區塊
602:編碼器
604:白箱已編碼私有金鑰
606:已編碼私有金鑰
608:白箱密碼運算
702:編碼器
802:全域已加密已編碼私有金鑰
1000:電腦系統
1002:電腦
1004:處理器
1006:記憶體
1008:作業系統
1010:電腦程式
1012:編譯器
1014:鍵盤
1016:滑鼠裝置
1018A:GUI模組
1020:資料儲存裝置
1022:顯示器
1024:軟碟機
1028:印表機
1030:資料通訊裝置
現參考圖式,其中類似的符號代表全文中的對應零件:
圖1係描繪安全資料傳遞系統之圖;
圖2係繪示可用於向客戶提供憑據之例示性運算的圖;
圖3係繪示憑據提供之第一階段的圖;
圖4係繪示憑據提供之第二階段及提供私有金鑰之解密及使用的圖;
圖5係繪示可如何產生節點鎖定資訊之一具體例的圖;
圖6係繪示憑據提供的第二階段之另一具體例的圖,及私有金鑰之編碼版本的解密及使用;以及
圖7係繪示私有金鑰之提供及使用之另一替代具體例的圖;
圖8係繪示憑據提供的另一具體例之第一階段的圖;
圖9係繪示圖8中所繪示之憑據提供之第二階段,及私有金鑰之編碼版本的解密及使用的圖;以及
圖10繪示可用於實施地理位置系統的處理元件的例示性電腦系統。
Claims (20)
- 一種根據一公開金鑰基礎設施(PKI)客戶唯一私有金鑰執行一密碼運算的方法,包括: 在一PKI客戶中提供一白箱實施,該白箱實施包括: 一全域白箱解密器; 一已鎖定白箱加密器,該已鎖定白色加密器根據一PKI客戶唯一ID鎖定到該PKI客戶; 一已鎖定白箱解密器,該已鎖定白箱解密器根據該PKI客戶唯一ID來鎖定至該PKI客戶; 接收: 一已編碼全域加密金鑰; 根據該全域加密金鑰來加密該私有金鑰; 與該私有金鑰密碼地關聯之一數位憑證; 使用該全域白箱解密器,根據該已編碼全域加密金鑰來解密該已加密私有金鑰; 從該數位憑證中衍生節點鎖定資訊; 藉由該已鎖定白箱加密器根據該節點鎖定資訊來唯一地重新加密該私有金鑰; 從該數位憑證重新衍生該節點鎖定資訊; 藉由該已鎖定白箱解密器根據該重新衍生的節點鎖定資訊來解密該重新加密的私有金鑰;以及 根據該已解密私有金鑰來執行該密碼運算。
- 如請求項1之方法,其中: 該白箱實施更包括: 一白箱密碼運算;及 一編碼器; 藉由該已鎖定白箱加密器根據該節點鎖定資訊來唯一地重新加密該私有金鑰包含: 藉由該編碼器編碼供該白箱密碼運算使用的私有金鑰;及 藉由該已鎖定白箱加密器根據該節點鎖定資訊及該已編碼私有金鑰來唯一地重新加密該私有金鑰;及 根據該已解密私有金鑰來執行該密碼運算包含: 根據該已編碼私有金鑰來執行該白箱密碼運算。
- 如請求項1之方法,其中: 該白箱實施更包括: 一白箱密碼運算; 該全域白箱解密器進一步編碼該私有金鑰,以供該白箱密碼運算使用; 藉由該已鎖定白箱加密器根據該節點鎖定資訊來唯一地重新加密該私有金鑰包含: 藉由該已鎖定白箱加密器根據該節點鎖定資訊來唯一地重新加密該已編碼私有金鑰;以及 根據該已解密私有金鑰來執行該密碼運算包含: 根據該已編碼私有金鑰來執行該密碼運算。
- 如請求項1之方法,其中: 該白箱實施更包括: 一白箱密碼運算; 該已收到私有金鑰在該加密之前根據該全域加密金鑰進行編碼,該私有金鑰被編碼以供該白箱密碼運算使用; 使用該全域白箱解密器根據該已編碼全域加密金鑰來解密該已加密私有金鑰包含: 使用該全域白箱解密器根據該已編碼全域加密金鑰來解密該已加密已編碼私有金鑰; 藉由該已鎖定白箱加密器根據該節點鎖定資訊來唯一地重新加密該私有金鑰包含: 藉由該已鎖定白箱加密器根據該節點鎖定資訊來唯一地重新加密該已編碼私有金鑰; 藉由該已鎖定白箱解密器根據該重新衍生的節點鎖定資訊來解密該重新加密的私有金鑰包含: 藉由該已鎖定白箱解密器根據該重新衍生的節點鎖定資訊來解密該重新加密的已編碼私有金鑰;以及 根據該已解密私有金鑰來執行該密碼運算包含: 根據該已編碼私有金鑰來執行該白箱密碼運算。
- 如請求項1之方法,其中該節點鎖定資訊包括: 一節點鎖定金鑰。
- 如請求項5之方法,進一步包含: 產生該數位憑證的至少一部分的一加密雜湊;及 使用該已編碼全域加密金鑰及全域白箱解密器來解密該數位憑證的該至少一部份的該加密雜湊的至少一部分以產生該節點鎖定金鑰。
- 如請求項5之方法,其中該節點鎖定金鑰是以白箱編碼形式衍生。
- 如請求項6之方法,其中: 該節點鎖定資訊進一步包含一初始化向量;及 該初始化向量係基於該數位憑證的該至少一部分的該加密雜湊的至少一部分來產生;及 該初始化向量是以白箱編碼形式衍生。
- 如請求項1之方法,其中,該PKI客戶唯一ID是從來自該PKI客戶的至少一特徵收集的指紋資料衍生,該至少一種特徵係選自包含一軟體特徵及硬體特徵之群組。
- 一種安全提供用於執行一密碼運算的一PKI客戶唯一私有金鑰的方法,包括: 根據一全域加密金鑰Gk來加密該私有金鑰; 編碼該全域加密金鑰Gk以與在一PKI客戶處執行的一全域白箱解密器一起使用;以及 將該已編碼全域加密金鑰Gk及該全域已加密私有金鑰提供給該PKI客戶,藉由該全域白箱解密器來解密,藉由在該PKI客戶上執行的一已鎖定白箱加密器來重新加密並在儲存前鎖定到該PKI客戶,以及藉由在該PKI上執行的一已鎖定白箱解密器來解密及在該私有金鑰的回復與使用之前鎖定到該PKI客戶以執行該密碼運算。
- 如請求項10之方法,其中: 該密碼運算係藉由該PKI客戶執行的白箱密碼運算; 在藉由全域白箱解密器來解密之後及在藉由已鎖定白箱加密器來重新加密之前,將該已解密私有金鑰編碼以供該白箱密碼運算使用;及 該已編碼私有金鑰用於執行該密碼運算。
- 如請求項10之方法,其中: 該密碼運算係藉由該PKI客戶執行的白箱密碼運算; 該全域白箱解密器解密該全域已加密私有金鑰並編碼該私有金鑰;以及 將該已編碼全域加密金鑰Gk及該全域已加密私有金鑰提供給該PKI客戶,藉由該全域白箱解密器來解密,藉由在該PKI客戶上執行的一已鎖定白箱加密器來重新加密並在儲存前鎖定到該PKI客戶,以及藉由在該PKI上執行的一已鎖定白箱解密器來解密及在該私有金鑰的回復與使用之前鎖定到該PKI客戶以執行該密碼運算包括: 將該已編碼全域加密金鑰Gk及該全域已加密私有金鑰提供給該PKI客戶,藉由該全域白箱解密器來解密,藉由在該PKI客戶上執行的一已鎖定白箱加密器來重新加密並在儲存前鎖定到該PKI客戶,以及藉由在該PKI上執行的一已鎖定白箱解密器來解密及在該私有金鑰的回復與使用之前鎖定到該PKI客戶以執行該密碼運算。
- 如請求項10之方法,其中: 該密碼運算係藉由該PKI客戶執行的白箱密碼運算; 該方法進一步包含: 編碼該私有金鑰,以供該白箱密碼運算使用; 根據一全域加密金鑰Gk來加密該私有金鑰包含: 根據該全域加密金鑰Gk來加密該已編碼私有金鑰;以及 將該已編碼全域加密金鑰Gk及該全域已加密私有金鑰提供給該PKI客戶,藉由該全域白箱解密器來解密,藉由在該PKI客戶上執行的一已鎖定白箱加密器來重新加密並在儲存前鎖定到該PKI客戶,以及藉由在該PKI上執行的一已鎖定白箱解密器來解密及在該私有金鑰的回復與使用之前鎖定到該PKI客戶以執行該密碼運算。
- 一種根據一裝置唯一私有金鑰用於執行一密碼運算的設備,包含: 一處理器; 一記憶體,通訊地耦接至該處理器,該記憶體儲存處理器指令,包括以下的處理器指令: 在一PKI客戶中提供一白箱實施,該白箱實施包括: 一全域白箱解密器; 一已鎖定白箱加密器,該已鎖定白色加密器根據一PKI客戶唯一ID鎖定到該PKI客戶; 一已鎖定白箱解密器,該已鎖定白箱解密器根據該PKI客戶唯一ID來鎖定至該PKI客戶; 接收: 一已編碼全域加密金鑰; 根據該全域加密金鑰來加密該私有金鑰; 與該私有金鑰密碼地關聯之一數位憑證; 使用該全域白箱解密器,根據該已編碼全域加密金鑰來解密該已加密私有金鑰; 從該數位憑證中衍生節點鎖定資訊; 藉由該已鎖定白箱加密器根據該節點鎖定資訊來唯一地重新加密該私有金鑰; 從該數位憑證重新衍生該節點鎖定資訊; 藉由該已鎖定白箱解密器根據該重新衍生的節點鎖定資訊來解密該重新加密的私有金鑰;以及 根據該已解密私有金鑰來執行該密碼運算。
- 如請求項14之設備,其中: 該白箱實施更包括: 一白箱密碼運算;及 一編碼器; 藉由該已鎖定白箱加密器根據該節點鎖定資訊來唯一地重新加密該私有金鑰的該處理器指令包含以下處理器指令: 藉由該編碼器編碼供該白箱密碼運算使用的私有金鑰;及 藉由該已鎖定白箱加密器根據該節點鎖定資訊及該已編碼私有金鑰來唯一地重新加密該私有金鑰;及 根據該已解密私有金鑰來執行該加密算之該處理器指令包含以下處理器指令: 根據該已編碼私有金鑰來執行該白箱密碼運算。
- 如請求項14之設備,其中: 該白箱實施更包括: 一白箱密碼運算; 該全域白箱解密器進一步編碼該私有金鑰,以供該白箱密碼運算使用; 藉由該已鎖定白箱加密器根據該節點鎖定資訊來唯一地重新加密該私有金鑰的處理器指令包含以下處理器指令: 藉由該已鎖定白箱加密器根據該節點鎖定資訊來唯一地重新加密該已編碼私有金鑰;以及 根據該已解密私有金鑰來執行該密碼運算之該處理器指令包含以下處理器指令: 根據該已編碼私有金鑰來執行該密碼運算。
- 如請求項14之設備,其中: 該白箱實施更包括: 一白箱密碼運算; 該已收到私有金鑰在該加密之前根據該全域加密金鑰進行編碼,該私有金鑰被編碼以供該白箱密碼運算使用; 使用該全域白箱解密器根據該已編碼全域加密金鑰來解密該已加密私有金鑰之處理器指令包含以下處理器指令: 使用該全域白箱解密器根據該已編碼全域加密金鑰來解密該已加密已編碼私有金鑰; 藉由該已鎖定白箱加密器根據該節點鎖定資訊來唯一地重新加密該私有金鑰的處理器指令包含以下處理器指令: 藉由該已鎖定白箱加密器根據該節點鎖定資訊來唯一地重新加密該已編碼私有金鑰; 藉由該已鎖定白箱解密器根據該重新衍生的節點鎖定資訊來解密該重新加密的私有金鑰的處理器指令包含以下處理器指令: 藉由該已鎖定白箱解密器根據該重新衍生的節點鎖定資訊來解密該重新加密的已編碼私有金鑰;以及 根據該已解密私有金鑰來執行該加密算之該處理器指令包含以下處理器指令: 根據該已編碼私有金鑰來執行該白箱密碼運算。
- 如請求項14之設備,其中,該節點鎖定資訊包含: 一節點鎖定金鑰。
- 如請求項18之設備,其中,該處理器指令進一步包含以下之處理器指令: 產生該數位憑證的至少一部分的一加密雜湊;及 使用該已編碼全域加密金鑰及全域白箱解密器來解密該數位憑證的該至少一部份的該加密雜湊的至少一部分以產生該節點鎖定金鑰。
- 一種根據一公開金鑰基礎設施(PKI)客戶唯一私有金鑰執行一密碼運算的設備,包含: 一處理器; 一記憶體,通訊地耦接至該處理器,該記憶體儲存處理器指令,包括以下的處理器指令: 根據一全域加密金鑰Gk來加密該私有金鑰; 編碼該全域加密金鑰Gk以與在一PKI客戶處執行的一全域白箱解密器一起使用;以及 將該已編碼全域加密金鑰Gk及該全域已加密私有金鑰提供給該PKI客戶,藉由該全域白箱解密器來解密,藉由在該PKI客戶上執行的一已鎖定白箱加密器來重新加密並在儲存前鎖定到該PKI客戶,以及藉由在該PKI上執行的一已鎖定白箱解密器來解密及在該私有金鑰的回復與使用之前鎖定到該PKI客戶以執行該密碼運算。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202263308442P | 2022-02-09 | 2022-02-09 | |
US63/308,442 | 2022-02-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202339460A true TW202339460A (zh) | 2023-10-01 |
Family
ID=85415223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW112104433A TW202339460A (zh) | 2022-02-09 | 2023-02-08 | 用於提供節點鎖定機密資料之方法及設備 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230269066A1 (zh) |
AR (1) | AR128419A1 (zh) |
TW (1) | TW202339460A (zh) |
WO (1) | WO2023154418A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024151668A1 (en) | 2023-01-09 | 2024-07-18 | Arris Enterprises Llc | Method and apparatus to deter device attacks |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011130712A2 (en) | 2010-04-15 | 2011-10-20 | General Instrument Corporation | Online secure device provisioning framework |
US20130091353A1 (en) * | 2011-08-01 | 2013-04-11 | General Instrument Corporation | Apparatus and method for secure communication |
US11550933B2 (en) * | 2020-06-15 | 2023-01-10 | Intertrust Technologies Corporation | Enhanced security systems and methods using a hybrid security solution |
-
2023
- 2023-02-01 AR ARP230100236A patent/AR128419A1/es unknown
- 2023-02-08 TW TW112104433A patent/TW202339460A/zh unknown
- 2023-02-09 WO PCT/US2023/012735 patent/WO2023154418A1/en unknown
- 2023-02-09 US US18/107,902 patent/US20230269066A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
AR128419A1 (es) | 2024-05-08 |
US20230269066A1 (en) | 2023-08-24 |
WO2023154418A1 (en) | 2023-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11271730B2 (en) | Systems and methods for deployment, management and use of dynamic cipher key systems | |
US11621842B2 (en) | Origin certificate based online certificate issuance | |
US8130961B2 (en) | Method and system for client-server mutual authentication using event-based OTP | |
KR101130415B1 (ko) | 비밀 데이터의 노출 없이 통신 네트워크를 통해 패스워드 보호된 비밀 데이터를 복구하는 방법 및 시스템 | |
US9197410B2 (en) | Key management system | |
KR100979576B1 (ko) | 새로운 패스워드를 실현하기 위한 방법 및 컴퓨터 판독가능 매체 | |
EP1501238B1 (en) | Method and system for key distribution comprising a step of authentication and a step of key distribution using a KEK (key encryption key) | |
US20230269066A1 (en) | Method and apparatus for provisioning node-locking confidential data | |
US20220171832A1 (en) | Scalable key management for encrypting digital rights management authorization tokens | |
US20240154944A1 (en) | Encrypted data communication and gateway device for encrypted data communication | |
US10257176B2 (en) | Replacing keys in a computer system | |
US20220407690A1 (en) | Key ladder generating a device public key | |
US11329967B2 (en) | Key-ladder protected personalization data conversion from global to unique encryption | |
CN111447060A (zh) | 一种基于代理重加密的电子文档分发方法 | |
US11824979B1 (en) | System and method of securing a server using elliptic curve cryptography | |
Reddy et al. | Data Storage on Cloud using Split-Merge and Hybrid Cryptographic Techniques | |
US20240214187A1 (en) | System and Method of Creating Symmetric Keys Using Elliptic Curve Cryptography | |
EP1830299A2 (en) | Digital rights management system with diversified content protection process | |
CN117769705A (zh) | 基于重加密的数字权利管理 | |
WO2023211538A1 (en) | Method and apparatus for distributing encrypted device unique credentials | |
Bansode et al. | Data Security in Message Passing using Armstrong Number | |
CN118214587A (zh) | 邮件安全通信方法、装置、设备和介质 | |
CN118489130A (zh) | 加密装置、解密装置、可解密验证装置、密码系统、加密方法和加密程序 |