TWI740409B - 使用密鑰之身份驗證 - Google Patents

使用密鑰之身份驗證 Download PDF

Info

Publication number
TWI740409B
TWI740409B TW109107607A TW109107607A TWI740409B TW I740409 B TWI740409 B TW I740409B TW 109107607 A TW109107607 A TW 109107607A TW 109107607 A TW109107607 A TW 109107607A TW I740409 B TWI740409 B TW I740409B
Authority
TW
Taiwan
Prior art keywords
key
identifier
computing device
data
certificate
Prior art date
Application number
TW109107607A
Other languages
English (en)
Other versions
TW202038123A (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 TW202038123A publication Critical patent/TW202038123A/zh
Application granted granted Critical
Publication of TWI740409B publication Critical patent/TWI740409B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/3236Cryptographic 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 using cryptographic hash functions
    • 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/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3242Cryptographic 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 using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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/3247Cryptographic 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
    • 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]
    • 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/3271Cryptographic 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 using challenge-response
    • H04L9/3278Cryptographic 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 using challenge-response using physically unclonable functions [PUF]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

本發明揭示一種方法,其包含由一運算裝置自一主機裝置接收一訊息。回應於接收該訊息,該運算裝置生成一識別符、一憑證及一密鑰。該識別符與該運算裝置之一身份相關聯,且該憑證使用該訊息生成。該運算裝置將該識別符、該憑證及該密鑰發送至該主機裝置。該主機裝置使用該識別符、該憑證及該密鑰驗證該運算裝置之該身份。

Description

使用密鑰之身份驗證
本文所揭示之至少一些實施例大體上係關於身份驗證,且更特定言之(但不限於),本文所揭示之至少一些實施例係關於使用一密鑰之身份驗證。
一物理不可複製功能(PUF)提供(例如)可充當一半導體裝置(諸如一微處理器)之一唯一識別之一數位值。PUF係基於(例如)在半導體製造期間自然發生且容許區分其他相同半導體晶片之物理變動。
PUF通常用於密碼學中。一PUF可為(例如)以一物理結構體現之一物理實體。PUF通常以積體電路實施,且通常用於具有高安全要求之應用中。例如,PUF可用作為一唯一且不可篡改裝置識別符。PUF亦可用於安全密鑰生成,且用作為隨機性之一來源。
在關於裝置識別之一實例中,Microsoft® Azure® IoT平台係由Microsoft提供之一組雲端服務。Azure® IoT平台支援裝置識別組合引擎(DICE)及諸多不同種類之硬體安全模組(HSM)。DICE係用於裝置識別及認證之可信運算組(TCG)之一未來標準,其使製造商能夠使用矽閘極來產生基於硬體之裝置識別。HSM用於使裝置識別安全且提供諸如基於硬體之裝置認證及零接觸供應之進階功能。
DICE提供一可擴展安全框架,其使用一HSM足跡來錨定信任以用於構建諸如鑑別、安全啟動及遠端認證之安全解決方案。DICE用於以IoT裝置為特徵之約束運算之當前環境且替代更傳統安全框架標準,諸如可信運算組(TCG)及可信平台模組(TPM)。Azure® IoT平台對來自一些矽供應商之HSM中之DICE提供HSM支援。
在關於信任服務之一實例中,穩健物聯網(RIoT)係用於向運算裝置提供信任服務之一架構。信任服務包含裝置識別、認證及資料完整性。RIoT架構可用於遠端重建已由惡意軟體損害之裝置之信任。另外,RIoT服務可以低成本提供於甚至非常小裝置上。
改良安全技術需要領域產品更頻繁軟體更新。然而,必須在無人參與之情況下管理及驗證此等更新。RIoT可用於解決此等技術問題。
RIoT提供密碼操作之一基礎及諸多安全方案之密鑰管理。鑑別、完整性驗證及資料保護需要密碼密鑰來加密及解密且需要機構來雜湊及標記資料。大多數網際網路連接裝置亦使用密碼來使與其他裝置通信安全。
由RIoT提供之密碼服務包含裝置識別、資料保護及認證。關於裝置識別,裝置通常藉由證明擁有一密碼密鑰來自我鑑別。若提取及複製與一裝置相關聯之密鑰,則可偽裝裝置。
關於資料保護,裝置通常使用密碼來加密及完整性保護本端儲存資料。若密碼密鑰僅可存取授權碼,則未授權軟體無法解密或修改資料。
關於認證,裝置有時需要報告其在運行之代碼及其安全組態。例如,認證用於證明一裝置在運行最新代碼。
若僅以軟體管理密鑰,則軟體組件之漏洞會導致密鑰洩露。針對純軟體系統,在一密鑰洩露之後恢復信任之主要方式係安裝更新軟體且供應裝置之新密鑰。此對伺服器及行動裝置而言很耗時,且不適用於裝置無法物理存取時。
使遠端重新供應安全之一些方法使用基於硬體之安全。軟體級攻擊可允許駭客使用硬體保護密鑰但無法提取其,因此,硬體保護密鑰係用於受損系統之安全重新供應之一有用構建塊。可信平台模組或TPM係提供密鑰之硬體保護且亦允許裝置報告(認證)其在運行之軟體的安全模組之一實例。因此,一配備TPM之受損裝置可安全發出新密鑰,且可提供認證報告。
TPM可廣泛用於運算平台上(例如使用SoC整合及處理器模式隔離韌體TPM)。然而,TPM通常不實用。例如,一小IoT裝置無法在不大量增加成本及電力需要之情況下支援一TPM。
RIoT可用於提供小運算裝置之裝置安全,但其亦可應用於任何處理器或電腦系統。若RIoT核心外部之軟體組件受損,則RIoT提供安全修補及重新供應。RIoT亦將一不同方法用於密碼密鑰保護。由RioT框架使用之最受保護的密碼密鑰僅在啟動期間短暫可用。
根據本發明之一態樣,一種方法包括:由一運算裝置自一主機裝置接收一訊息;由該運算裝置生成一識別符、一憑證及一密鑰,其中該識別符與該運算裝置之一身份相關聯,且該憑證使用該訊息生成;及由該運算裝置將該識別符、該憑證及該密鑰發送至該主機裝置,其中該主機裝置經組態以使用該識別符、該憑證及該密鑰驗證該運算裝置之該身份。
根據本發明之一態樣,一種系統包括:至少一處理器;及記憶體,其含有指令,該等指令經組態以指示該至少一處理器:將一訊息發送至一運算裝置;自該運算裝置接收一識別符、一憑證及一密鑰,其中該識別符與該運算裝置之一身份相關聯,且該憑證由該運算裝置使用該訊息生成;及使用該識別符、該憑證及該密鑰驗證該運算裝置之該身份。
根據本發明之一態樣,一種非暫時性電腦儲存媒體儲存指令,該等指令在執行於一運算裝置上時引起該運算裝置至少:自一主機裝置接收一訊息;生成一識別符、一憑證及一密鑰,其中該識別符對應於該運算裝置之一身份,且該憑證使用該訊息生成;及將該識別符、該憑證及該密鑰發送至該主機裝置以用於驗證該運算裝置之該身份。
相關申請案
本申請案係關於Pisasale等人於2018年5月3日申請之名稱為「Key Generation and Secure Storage in a Noisy Environment」之美國非臨時申請案第15/970,660號,該申請案之全部內容以宛如全文闡述引用的方式併入本文中。
本申請案係關於Mondello等人於2017年12月22日申請之名稱為「PHYSICAL UNCLONABLE FUNCTION USING MESSAGE AUTHENTICATION CODE」之美國非臨時申請案第15/853,498號,該申請案之全部內容以宛如全文闡述引用的方式併入本文中。
本申請案係關於Mondello等人於2018年4月27日申請之名稱為「SECURE DISTRIBUTION OF SECRET KEY USING A MONOTONIC COUNTER」之美國非臨時申請案第15/965,731號,該申請案之全部內容以宛如全文闡述引用的方式併入本文中。
本文之至少一實施例係關於一或多個運算裝置之身份驗證。在各種實施例中,一主機裝置藉由將一訊息發送至一運算裝置來驗證運算裝置之身份。運算裝置使用訊息生成發送至主機裝置之一識別符、一憑證及一密鑰。主機裝置使用所生成之識別符、憑證及密鑰驗證運算裝置之身份。
在一些實例中,運算裝置可為一快閃記憶體裝置。在一些實例中,快閃記憶體用於在一運算系統(例如一自主車輛之一應用控制器)中添加一強安全能力等級。
快閃記憶體用於諸多電腦系統中。現今存在各種類型之快閃記憶體,其包含串列NOR (「反或」)、並行NOR、串列NAND (「反及」)、並行NAND、e.MMC、UFS等等。此等插座用於跨各種行業及應用之大多數嵌入式系統中。
例如,串列NOR用於如醫療裝置、工廠自動化板、汽車ECU、智慧電表及網際網路閘道之各種應用中。鑑於跨此等應用使用之晶片組架構(處理器、控制器或SoC)、作業系統及供應鏈之多樣性,快閃記憶體係此等系統中之一公分母構建塊。
電腦系統韌性現今通常以整合至裝置中且由解決方案用於裝置提供之安全功能之可信根之位置為特徵。關於可信根之更多資訊,參閱由(美國)國家標準技術局(NIST)特別出版物800-164產生之定義。既有產業使用系統級可信根之變動實施方案,其使用硬體及軟體能力之一混合以導致方法分段及安全等級混亂之技術問題。此一系列困惑選項亦遭受如何維護其中儲存關鍵代碼及資料之非揮發性記憶體之密鑰限制。
既有方法依靠處理器及其他安全元件(如硬體安全模組(HSM))來向其系統提供關鍵安全服務。此已在其中離散快閃記憶體組件儲存系統關鍵代碼及資料之諸多系統之最低啟動級處產生一安全缺口。快閃已成為諸多駭客產生可將本身偽裝成較高級代碼以防被移除之進階持續性威脅(APT)之目標。在諸多此等情況中,快閃記憶體由新惡意代碼重塑或改寫,其破壞該裝置之完整性。
本發明之各種實施例提供上述技術問題之一技術解決方案。在一些實施例中,一運算裝置將基於硬體之可信根整合至一快閃記憶體裝置中以實現IoT裝置之強密碼識別及健康管理。藉由移動記憶體中之基本安全基元,保護收容於記憶體本身內之代碼及資料之完整性變得更簡單。此方法可顯著增強系統級完整性,同時最小化實施方案之複雜性及成本。
在一實施例中,一新IoT裝置管理能力藉由Microsoft® Azure® IoT雲端使用快閃記憶體及相關聯軟體實現裝置機載及管理來利用快閃記憶體。在一實例中,解決方案提供成為關鍵裝置供應服務(例如Azure IoT中心裝置供應服務(DPS))之基礎之一密碼識別。在一實例中,此DPS可與啟用記憶體一起實現裝置至正確IoT中心及其他服務之零接觸供應。
在一些實施例中,使用裝置識別組合引擎(DICE)來實施上述能力(DICE係來自可信運算組(TCG)之一未來標準)。在一實例中,啟用記憶體僅容許可信硬體存取Microsoft Azure IoT雲端。在一實例中,在其中通常儲存關鍵代碼之記憶體中驗證一IoT裝置之健康及身份。各IoT裝置之唯一身份現可提供一新級端對端裝置完整性以開始啟動程序。此可實現額外功能,如基於硬體之裝置認證及供應及裝置之管理修復(若需要)。
在一實施例中,一種方法包含:由一運算裝置(例如一串列NOR快閃記憶體裝置)自一主機裝置(例如一CPU、GPU、FPGA或一車輛之一應用控制器)接收一訊息;由運算裝置生成一識別符(例如一公共識別符IDL1 公鑰)、一憑證(例如IDL1 憑證)及一密鑰(例如KL1 公鑰),其中識別符與運算裝置之一身份相關聯,且憑證使用訊息生成;及由運算裝置將識別符、憑證及密鑰發送至主機裝置,其中主機裝置經組態以使用識別符、憑證及密鑰驗證運算裝置之身份。
在一些實施例中,上述運算裝置(例如一快閃記憶體裝置)整合DICE-RIoT功能,其用於生成上述識別符、憑證及密鑰且由主機裝置用於驗證運算裝置之身份。在一實例中,運算裝置儲存充當一原始密鑰之一裝置秘密,DICE-RIoT協定之層之間的識別步驟之序列係基於原始密鑰。在一實例中,在運算裝置中使用硬體及/或軟體實施DICE-RIoT功能之層L0 及L1 。在一實例中,層L0 僅以硬體實施。
圖1展示根據一實施例之驗證一運算裝置141之身份之一主機裝置151。主機裝置151將一訊息發送至運算裝置141。在一實施例中,主機裝置151包含一鮮度機構(圖中未展示),其生成用於將訊息發送至運算裝置141以避免重播攻擊之一鮮度。在一實例中,發送至運算裝置141之各訊息包含由一單調計數器生成之一鮮度。
在一實例中,訊息係一空串、一習知串(主機裝置151之製造商或操作者已知之文數串)或可為另一值(例如賦予運算裝置之一識別值)。在一實例中,訊息係裝置之一唯一識別(UID)。
回應於接收訊息,運算裝置141生成一識別符、一憑證及一密鑰。識別符與運算裝置141之一身份相關聯。運算裝置141包含控制識別組件147之操作及/或運算裝置141之其他功能之一或多個處理器143。
識別符、憑證及密鑰由識別組件147生成且基於裝置秘密149。在一實例中,裝置秘密149係儲存於運算裝置141之記憶體中之一唯一裝置秘密(UDS)。在一實例中,識別組件147使用UDS作為實施DICE-RIoT協定之一原始密鑰。識別符、憑證及密鑰係來自DICE-RIoT協定之層L1 之輸出(例如參閱圖6)。在一實施例中,層L1 之身份對應於運算裝置141本身之身份、運算裝置141之製造商、包含運算裝置141作為一組件之一事物之製造商及/或儲存於運算裝置141之記憶體中之一應用程式或其他軟體。在一實例中,應用身份(例如一ID號)用於文字及數字之一唯一組合用於識別事物之一行動電話、一TV、一STB等等。
在一實例中,層L1 之身份係一ASCII串。例如,身份可為與一事物名稱串連之一製造商名稱(例如LG | TV_model_123_year_2018等等)。在一實例中,身份可以十六進位形式表示(例如53 61 6D 73 75 6E 67 20 7C 20 54 56 5F 6D 6F 64 65 6C 5F 31 32 33 5F 79 65 61 72 5F 32 30 31 38)。
在一實施例中,一製造商可將一UDS用於所生產之一類或一組物品。在其他實施例中,各物品自身可具有唯一UDS。例如,一TV之UDS可為UDS=0x12234...4444,且一膝上型電腦之UDS可為UDS=0xaabb...00322。
在一實施例中,裝置秘密149係由運算裝置141儲存於記憶體145中之一密鑰。識別組件147使用密鑰作為一訊息鑑別碼(MAC)之一輸入以生成一衍生秘密。在一實例中,衍生秘密係DICE-RIoT協定中之融合衍生秘密(FDS)。
在一實例中,記憶體145包含儲存用於啟動運算裝置141之初始啟動碼之唯讀記憶體(ROM)。FDS係在一啟動操作期間由處理器143提供至初始啟動碼之一密鑰。在一實例中,ROM對應於DICE-RIoT協定之層L0
主機裝置151使用識別符、憑證及密鑰作為驗證組件153之輸入,驗證組件153驗證運算裝置141之身份。在一實施例中,驗證組件153使用識別符執行至少一解密操作以提供一結果。比較結果與密鑰以判定運算裝置141之身份是否有效。若有效,則主機裝置151使用自運算裝置141接收之密鑰執行與運算裝置141之進一步通信。例如,一旦主機裝置151已驗證「三元組」(識別符、憑證及密鑰),則密鑰可用於認證在運算裝置141與主機裝置151之間交換的任何其他資訊。
在一實施例中,將一數位識別賦予諸多「事物」(例如按照物聯網)。在一實例中,事物係一實體物件,諸如一車輛或存在於車輛內部之一實體物品。在一實例中,事物係一人或動物。例如,各人或動物可被賦予一唯一數位識別符。
在一些情況中,產品之製造商期望各產品可被證明為真品。當前,此問題藉由僅自一可信賣家購買事物或使用確保所購買之事物係真品之某種合法憑證自其他人購買事物來解決。然而,在盜竊一事物之情況中,若事物不具有一電子身份,則難以阻斷或定位事物使得事物無法不當使用。在一實例中,定位係基於事物試圖與公共基礎設施互動時之身份。在一實例中,阻斷係基於想要使用一公共基礎設施之一事物無法證明身份。
在一實施例中,運算裝置141使用識別組件147實施DICE-RIoT協定以使唯一簽章與對應於運算裝置141之一信任鏈相關聯。運算裝置141建立層L0 及L1 。信任鏈由建立層L2 ...之主機裝置151繼續。在一實例中,一唯一識別符可賦予任何界定環境(例如由地理參數界定之一信任區)中之每個物件、人及動物。
在一實施例中,運算裝置141係期望被賦予一身份之事物中之一組件。例如,事物可為包含運算裝置141之一自主車輛。例如,運算裝置141可為由車輛之一應用控制器使用之快閃記憶體。
當製造運算裝置141時,製造商可將一UDS注入至記憶體145中。在一實例中,UDS可與將使用運算裝置141執行額外製造操作之一客戶一致及共用。在另一實例中,UDS可由原始製造商隨機生成且接著使用一安全基礎設施(例如經由一網路,諸如網際網路)傳送至客戶。
在一實例中,客戶可為併入運算裝置141之一車輛之一製造商。在諸多情況中,車輛製造商期望改變UDS,使得其不被運算裝置141之賣家知道。在此等情況中,客戶可使用由主機裝置151提供至運算裝置141之一鑑別替換命令替換UDS。
在一些實施例中,客戶可將客戶不可變資訊注入至運算裝置141之記憶體145中。在一實例中,不可變資訊用於生成一唯一FDS,且非僅用作為一區分符。客戶不可變資訊用於區分由客戶製造之各種物件。例如,客戶不可變資訊可為字母及/或數字之一組合以界定原始資訊(例如一些或所有以下資訊之一組合:日期、時間、批位置、晶圓位置、一晶圓中之x, y位置等等)。
例如,在諸多情況中,不可變資訊亦包含來自由一使用者(例如自一製造商接收一裝置之一客戶)執行之密碼特徵組態之資料。此組態或設定可僅藉由使用鑑別命令(需要知道待執行之一密鑰之命令)完成。使用者知道密鑰(例如基於自製造商經由一安全基礎設施提供密鑰)。不可變資訊表示一運算裝置之密碼身份之一形式,其不同於裝置之唯一ID (UID)。在一實例中,不可變資訊組中包含密碼組態向使用者提供用於自我客製化不可變資訊之一工具。
在一實施例中,運算裝置141包含生成一鮮度之一鮮度機構。鮮度可在發送至主機裝置151時與識別符、憑證及密鑰一起提供。鮮度亦可與主機裝置151之其他通信一起使用。
在一實施例中,運算裝置141係一應用板上之一組件。應用板上之另一組件(圖中未展示)可使用裝置秘密149之知識(例如一注入UDS之知識)驗證運算裝置141之身份。組件請求運算裝置141使用一訊息鑑別碼生成一輸出以證明擁有UDS。例如,訊息鑑別碼可為如下:HMAC (UDS, 「應用板訊息|鮮度」)。
在另一實施例中,FDS亦可用作為證明擁有裝置之準則(例如(若干)密鑰之知識)。FDS依此方式自UDS導出:FDS=HMAC-SHA256 [ UDS, SHA256(「L1 之身份」)]。因此,訊息鑑別碼可為如下:HMAC (FDS,「應用板訊息|鮮度」)。
圖2展示根據一實施例之具有一識別組件107及一驗證組件109之一實例性運算系統。一主機系統101經由一匯流排103與一記憶體系統105通信。記憶體系統105之一處理裝置111讀/寫存取至非揮發性記憶體121之記憶體區域111、113、...、119。在一實例中,主機系統101亦自揮發性記憶體123讀取資料及將資料寫入至揮發性記憶體123。在一實例中,識別組件107支援DICE-RIoT協定之層L0 及L1 。在一實例中,非揮發性記憶體121儲存啟動碼。
驗證組件109用於驗證記憶體系統105之一身份。驗證組件109使用包含由識別組件107回應於自主機系統101接收一主機訊息而生成之一識別符、憑證及密鑰之三元組,例如上文所描述。
識別組件107係圖1之識別組件147之一實例。驗證組件109係圖1之驗證組件153之一實例。
記憶體系統105包含密鑰儲存器157及密鑰生成器159。在一實例中,密鑰儲存器157可儲存根密鑰、會話密鑰、一UDS (DICE-RIoT)及/或用於藉由記憶體系統105之密碼操作之其他密鑰。
在一實例中,密鑰生成器159生成發送至主機系統101以用於由驗證組件109驗證之一公鑰。發送公鑰作為亦包含一識別符及憑證之三元組之部分,如上文所描述。
記憶體系統105包含一鮮度生成器155。在一實例中,鮮度生成器155可用於鑑別命令。在一實例中,可使用多個鮮度生成器155。在一實例中,鮮度生成器155可用於由主機系統101使用。
在一實例中,處理裝置111及記憶體區域111、113、...、119位於相同晶片或晶粒上。在一些實施例中,記憶體區域儲存在機器學習處理期間由主機系統101及/或處理裝置111使用之資料或由執行於主機系統101或處理裝置111上之(若干)軟體程序生成之其他運行時間資料。
運算系統可包含記憶體系統105中之一寫入組件,其選擇一記憶體區域111 (例如快閃記憶體之一紀錄片段)用於記錄來自主機系統101之新資料。運算系統100可進一步包含主機系統101中之一寫入組件,其與記憶體系統105中之寫入組件107協調以至少促進選擇記憶體區域111。
在一實例中,揮發性記憶體123用作為主機系統101之一處理裝置(圖中未展示)之系統記憶體。在一實施例中,主機系統101之一程序選擇用於寫入資料之記憶體區域。在一實例中,主機系統101可部分基於來自感測器及/或執行於一自主車輛上之軟體程序之資料選擇一記憶體區域。在一實例中,上述資料由主機系統101提供至選擇記憶體區域之處理裝置111。
在一些實施例中,主機系統101或處理裝置111包含識別組件107及/或驗證組件109之至少一部分。在其他實施例中或在組合中,處理裝置111及/或主機系統101中之一處理裝置包含識別組件107及/或驗證組件109之至少一部分。例如,處理裝置111及/或主機系統101之一處理裝置可包含實施識別組件107及/或驗證組件109之邏輯電路。例如,主機系統101之一控制器或處理裝置(例如一CPU、FPGA或GPU)可經組態以執行儲存於記憶體中之指令以執行本文所描述之識別組件107及/或驗證組件109之操作。
在一些實施例中,識別組件107以安置於記憶體系統105中之一積體電路晶片實施。在其他實施例中,主機系統101中之驗證組件109係主機系統101之一作業系統、一裝置驅動器或一應用程式之部分。
記憶體系統105之一實例係經由一記憶體匯流排連接至一中央處理單元(CPU)之一記憶體模組。記憶體模組之實例包含一雙列直插記憶體模組(DIMM)、一小外型DIMM (SO-DIMM)、一非揮發性雙列直插記憶體模組(NVDIMM)等等。在一些實施例中,記憶體系統可為提供記憶體功能及儲存功能兩者之一混合記憶體/儲存系統。一般而言,一主機系統可利用包含一或多個記憶體區域之一記憶體系統。主機系統可提供儲存於記憶體系統處之資料且可請求自記憶體系統擷取之資料。在一實例中,一主機可存取包含揮發性及非揮發性記憶體之各種類型之記憶體。
主機系統101可為一運算裝置,諸如一車輛中之一控制器、一網路伺服器、一行動裝置、一蜂巢式電話、一嵌入式系統(例如具有一單晶片系統(SOC)及內部或外部記憶體之一嵌入式系統)或包含一記憶體及一處理裝置之任何運算裝置。主機系統101可包含或耦合至記憶體系統105,使得主機系統101可自記憶體系統105讀取資料或將資料寫入至記憶體系統105。主機系統101可經由一實體主機介面耦合至記憶體系統105。如本文所使用,「耦合至」大體上係指組件之間的一連接,其可為一間接通信連接或直接通信連接(例如無介入組件)(有線或無線),包含諸如電、光學、磁性等等之連接。一實體主機介面之實例包含(但不限於)一串列先進技術附件(SATA)介面、一快速週邊組件互連(PCIe)介面、通用串列匯流排(USB)介面、光纖通道、串列附接SCSI (SAS)、一雙倍資料速率(DDR)記憶體匯流排等等。實體主機介面可用於在主機系統101與記憶體系統105之間傳輸資料。實體主機介面可提供用於在記憶體系統105與主機系統101之間傳遞控制、位址、資料及其他信號之一介面。
圖2繪示一記憶體系統105作為一實例。一般而言,主機系統101可經由一相同通信連接、多個單獨通信連接及/或通信連接之一組合存取多個記憶體系統。
主機系統101可包含一處理裝置及一控制器。主機系統101之處理裝置可為(例如)一微處理器、一中央處理單元(CPU)、一處理器之一處理核心、一執行單元等等。在一些例項中,主機系統之控制器可指稱一記憶體控制器、一記憶體管理單元及/或一引發器。在一實例中,控制器經由匯流排103控制主機系統101與記憶體系統105之間的通信。此等通信包含發送用於驗證記憶體系統105之身份之一主機訊息,如上文所描述。
主機系統101之一控制器可與記憶體系統105之一控制器通信以執行諸如在非揮發性記憶體121之記憶體區域處讀取資料、寫入資料或擦除資料之操作。在一些例項中,控制器整合於處理裝置111之相同封裝內。在其他例項中,控制器與處理裝置111之封裝分離。控制器及/或處理裝置可包含硬體,諸如一或多個積體電路及/或離散組件、一緩衝記憶體、一快取記憶體或其等之一組合。控制器及/或處理裝置可為一微控制器、專用邏輯電路(例如一場可程式化閘陣列(FPGA)、一專用積體電路(ASIC)等等)或另一適合處理器。
在一實施例中,記憶體區域111、113、...、119可包含不同類型之非揮發性記憶體組件之任何組合。另外,記憶體區域之記憶體胞元可分組為記憶體頁面或資料區塊,其可係指用於儲存資料之一單元。在一些實施例中,揮發性記憶體123可為(但不限於)隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)及同步動態隨機存取記憶體(SDRAM)。
在一實施例中,記憶體系統105之一或多個控制器可與記憶體區域111、113、...、119通信以執行諸如讀取資料、寫入資料或擦除資料之操作。各控制器可包含硬體,諸如一或多個積體電路及/或離散組件、一緩衝記憶體或其等之一組合。各控制器可為一微控制器、專用邏輯電路(例如一場可程式化閘陣列(FPGA)、一專用積體電路(ASIC)等等)或另一適合處理器。(若干)控制器可包含經組態以執行儲存於局部記憶體中之指令之一處理裝置(處理器)。在一實例中,控制器之局部記憶體包含一嵌入式記憶體,其經組態以儲存用於執行控制記憶體系統105之操作之各種程序、操作、邏輯流程及常式(包含處置記憶體系統105與主機系統101之間的通信)之指令。在一些實施例中,局部記憶體可包含儲存記憶體指標、找取資料等等之記憶體暫存器。局部記憶體亦可包含用於儲存微碼之唯讀記憶體(ROM)。
一般而言,記憶體系統105之(若干)控制器可自主機系統101及/或處理裝置111接收命令或操作且可將命令或操作轉換為指令或適當命令以達成基於記憶體區域之資料寫入計數器選擇一記憶體區域。控制器亦可負責其他操作,諸如磨損均衡、廢棄項目收集操作、錯誤偵測及錯誤校正碼(ECC)操作、加密操作、快取操作及與記憶體區域相關聯之一邏輯區塊位址與一實體區塊位址之間的位址變換。控制器可進一步包含主機介面電路以經由實體主機介面與主機系統101通信。主機介面電路可將自主機系統接收之命令轉換為命令指令以存取記憶體區域之一或多者及將與記憶體區域相關聯之回應轉換為主機系統101之資訊。
記憶體系統105亦可包含額外電路或組件(圖中未繪示)。在一些實施例中,記憶體系統105可包含一快取或緩衝器(例如DRAM或SRAM)及可自一或多個控制器接收一位址且解碼位址以存取記憶體區域之位址電路(例如一列解碼器及一行解碼器)。
在一些實施例中,主機系統101或記憶體系統105中之一控制器及/或處理裝置111包含識別組件107及/或驗證組件109之至少一部分。例如,控制器及/或處理裝置111可包含實施識別組件107及/或驗證組件109之邏輯電路。例如,一處理裝置(處理器)可經組態以執行儲存於記憶體中之指令以執行提供識別組件107之記憶體區域之讀/寫存取之操作,如本文所描述。在一些實施例中,驗證組件109係一作業系統、一裝置驅動器或一應用程式之部分。
圖3展示根據一實施例之一車輛100之一實例性運算裝置。例如,車輛100可為一自主車輛、一非自主車輛、一緊急車輛、一服務車輛或其類似者。
車輛100包含一車輛運算裝置110,諸如一車載電腦。車輛運算裝置110係圖1之主機裝置151之一實例。在另一實例中,車輛運算裝置110係圖2之主機裝置101之一實例,且記憶體160係記憶體系統105之一實例。
車輛運算裝置110包含耦合至一車載通信組件130 (諸如一讀取器、寫入器及/或能夠執行下文將描述之功能之其他運算裝置)之一處理器120,車載通信組件130耦合至(或包含)一天線140。車載通信組件130包含耦合至一記憶體160 (諸如一非揮發性快閃記憶體)之一處理器150,但實施例不受限於此一種類之記憶體裝置。
在一實例中,記憶體160經調適以依使得車輛100能夠在接近一檢查點時藉由使用一通信介面(例如所謂之DICE-RIoT協定)提供此資訊之一方式儲存與車輛有關之所有資訊(例如駕駛員、乘客及所運載之貨物),如下文將描述。
在一實例中,車輛資訊(諸如車輛ID/車牌號)已儲存於車輛記憶體160中,且車輛100能夠(例如)透過通信組件130且藉由使用一已知DICE-RIoT協定或一類似協定識別乘客之電子ID及/或所運載之行李、貨物及其類似者之ID,且接著將此資訊儲存於記憶體160中。在一實例中,電子ID、所運輸之行李及貨物集裝箱配備有無線轉發器、NFC、Bluetooth、RFID、無接觸感測器、磁棒及其類似者,且通信組件130可使用讀取器及/或電磁場自此等遠端源獲取所需資訊。
在一實例中,所有乘客ID及/或所運載之行李、貨物及其類似者之ID配備有能夠與一通信組件交換資料之電子裝置。該等電子裝置可為主動或被動元件,就其可為主動而言,因為由電力供應或可由僅在電裝置位於其附近時提供所需供電之一外部供電源啟動及供電。
租賃車輛或自主車輛可使用讀取器及/或電磁場獲取車輛內部或附近之資訊或作為一替代,可甚至自遠端源接收資訊,例如當一租賃車輛之駕駛員已由於一先前預訂而為租賃系統所知時。當駕駛員過來提車時,可即時執行一進一步檢查。
類似地,關於由車輛100運載之運輸行李及貨物(及亦關於乘客)之所有資訊可總是維持為最新的。為此,乘客之電子ID及/或所運載之行李及貨物之ID歸因於與行李及貨物相關聯或為乘客(圖中未展示)所有之無線轉發器而即時更新。
在一實例中,經由DICE-RIoT協定發生車載通信組件130與接近源(例如貨物轉發器及其類似者)之間的通信。
在一實例中,車輛運算裝置110可控制車輛100之操作參數,諸如轉向及速度。例如,一控制器(圖中未展示)可耦合至一轉向控制系統170及一速度控制系統180。此外,車輛運算裝置110可耦合至一資訊系統190。資訊系統190可經組態以顯示一訊息(諸如路線資訊或一檢查點安全訊息)且可顯示視覺警告及/或輸出可聽警告。通信組件130可自額外運算裝置(諸如自一外部運算裝置(圖中未展示))接收資訊。
圖4展示根據一實施例之具有與一車輛300之一實例性運算裝置通信之一主機裝置350之一實例性系統390。運算裝置包含一被動通信組件310,諸如一短程通信裝置(例如一NFC標籤)。通信組件310可位於車輛300中,車輛300可如圖3中針對車輛100所展示般組態且包含車輛100之組件及通信組件310,通信組件310可組態為車載通信組件130。通信組件310包含一晶片320 (例如實施車輛300之一CPU或應用控制器),其具有儲存關於車輛300之資訊(諸如車輛ID、駕駛員/乘客資訊、所運載之貨物資訊等等)之一非揮發性儲存組件330。通信組件310可包含一天線340。
主機裝置350係(例如)一主動通信裝置(例如,其包含一電源供應器),其可自通信組件310接收資訊及/或將資訊傳輸至通信組件310。在一些實例中,主機裝置350可包含一讀取器(例如一NFC讀取器)(諸如一通行費讀取器)或其他組件。主機裝置350可為配置(例如嵌入)於一檢查點附近(例如一信任區之邊界處)或一般而言,有限存取區域附近之一外部裝置。在一些實施例中,主機裝置350亦可由一警察攜帶以用作為一可攜式裝置。
主機裝置350可包含一處理器360、一記憶體370 (諸如一非揮發性記憶體)及一天線380。記憶體370可包含允許主機裝置350與通信組件310通信之一NFC協定。例如,主機裝置350及通信組件310可使用NFC協定通信,諸如(例如)在約13.56百萬赫茲處且根據ISO/IEC 18000-3國際標準。可使用使用RFID標籤之其他方法。
主機裝置350亦可與一伺服器或其他運算裝置通信(例如經由一無線網路與一中央操作中心通信)。例如,主機裝置350可無線耦合或硬連線至伺服器或通信中心。在一些實例中,主機裝置350可經由WIFI或經由網際網路與操作中心通信。當車輛300使天線340進入天線380之一通信距離內時,主機裝置350可供能給通信組件310。在一些實例中,主機裝置350可自操作中心接收即時資訊且可將該資訊傳輸至車輛300。在一些實施例中,通信組件310可自身具有電池。
在一實施例中,主機裝置350經調適以自車輛300讀取資訊/將資訊發送至車輛300,車輛300配備有經組態以允許資訊交換之通信組件310 (例如一主動裝置)。
再次參考圖3,車輛100之車載通信組件130可內部起作用以即時拾取關於乘客ID、所運輸之行李及/或貨物之相關資訊(例如當配備有上文相對於圖4所討論之對應無線通信組件時)。車輛之運算裝置可在數米(例如2米至3米)之一空間範圍內偵測資訊,使得可獲取對應於乘客、行李及貨物之所有資料。在一實例中,此發生於車輛接近一特定接近度內之一外部通信組件(例如一伺服器或充當一主機裝置之其他運算裝置)使得通信可開始及/或變強時。通信距離係(例如) 2米至3米。
在一實例中,車載通信組件130可使資料在傳送至外部實體及/或與內部實體通信時加密。在一些情況中,關於所運輸之行李、貨物或甚至乘客之資料可為機密或包含機密資訊(例如一乘客之健康狀態或機密文件或一危險材料)。在此一情況中,期望儲存於與車輛運算裝置相關聯之記憶體部分中之資訊及資料保持為加密資料。
在下文將討論之各種實施例中,討論用於內部車輛運算裝置與外部實體(例如充當一主機裝置之一伺服器)之間的加密及解密通信之一方法。在一實例中,此方法甚至可應用於內部車輛運算裝置與與車上所搭載之乘客、行李及貨物相關聯之電子組件之間。
在一實例中,車載通信組件130將一車輛公鑰發送至外部通信組件(例如充當一主機裝置151),且外部通信組件將一外部公鑰發送至車載通信組件130。此等公鑰(車輛及外部)可用於加密發送至每個各自通信組件之資料及驗證各通信組件之一身份,且亦交換確認及其他資訊。作為一實例,如下文將進一步描述,車載通信組件130可使用所接收之外部公鑰加密資料且將加密資料發送至外部通信組件。同樣地,外通信組件可使用所接收之車輛公鑰加密資料且將加密資料發送至車載通信組件130。由車輛100發送之資料可包含汽車資訊、乘客資訊、貨物資訊及其類似者。資訊可視情況使用一數位簽章發送以驗證車輛100之一身份。再者,資訊可提供至車輛100且在車輛100之一儀表板上顯示或發送至與車輛100相關聯之一運算裝置(例如監測車輛之一使用者裝置或中心伺服器)之一電子郵件。可基於車輛之一識別、一VIN號等等及一車輛數位簽章辨識車輛。
在一實例中,車輛與外部實體之間所交換之資料可具有由另一者使用之一鮮度。作為一實例,由車輛發送至外部實體以指示相同指令之資料可在一特定時框之各者或針對所發送之特定資料量更改。此可防止一駭客攔截含於先前發送資料中之機密資訊且再次發送相同資料以導致相同結果。若資料已被略微更改,但仍指示一相同指令,則駭客可在一稍後時間點發送相同資訊,且歸因於接受者預料經更改資料實施相同指令而不會實施相同指令。
可使用諸多加密及/或解密方法執行在車輛100與一外部實體(例如一運算系統或裝置)(圖中未展示)之間交換資料,如下文將描述。資料之安全可確保防止未授權活動干擾車輛100及外部實體之操作。
圖5A展示根據一實施例之生成包含發送至一主機裝置之一識別符、憑證及密鑰之三元組之一應用板。主機裝置使用三元組驗證應用板之一身份。應用板係圖1之運算裝置141之一實例。主機裝置係圖1之運算裝置151之一實例。
在一實施例中,應用板及主機包含使用一裝置識別組合引擎(DICE)-穩健物聯網(RIoT)協定執行通信之加密及/或解密操作(例如關於資訊及資料)之通信組件。在一實例中,DICE-RIoT協定應用於車載通信組件與一外部通信組件之間的通信及在車載通信組件與各種無線電子裝置(其與乘客ID、行李、貨物及其類似者之各者相關聯)之間的車輛環境內部執行之一通信。
圖5B展示根據一實施例之在使用層之階段中啟動之一實例性運算系統。系統包含根據本發明之一實施例之一外部通信組件430'及一車載通信組件430''。當車輛靠近外部實體或在其附近時,車輛之相關聯車載通信組件430''可(例如)使用一感測器(例如一射頻識別感測器或RFID或其類似者)與外部實體交換資料,如上文所描述。
在其他實施例中,組件430'可為位於一車輛中之一應用板,且組件430''可為亦位於車輛中之一主機裝置,其使用DICE-RIoT協定驗證組件430'之一身份(例如上文相對於圖1所討論)。
在一實施例中,DICE-RIoT協定由一運算裝置用於在使用層之階段中啟動,其中各層鑑別及加載一後續層且在各層處提供越來越複雜運行時間服務。因此,一層可由一先前層服務且服務一後續層以藉此產生累積於下層上且服務較階層之層之一互連網頁。替代地,可使用其他協定替代DICE-RIoT協定。
在通信協定之一實例性實施方案中,通信協定之安全係基於一秘密值,其係在製造期間(或亦稍後)設定之一裝置秘密(例如一UDS)。裝置秘密UDS存在於裝置秘密UDS供應於其上之裝置內(例如儲存為圖1之裝置秘密149)。
裝置秘密UDS可在啟動時間存取至第一階段基於ROM之啟動加載程式。接著,系統提供使裝置秘密在下一啟動循環之前無法存取之一機制,且僅啟動加載程式(例如啟動層)可永遠存取裝置秘密UDS。因此,在此方法中,啟動在以裝置秘密UDS開始之一特定架構中分層。
如圖5B中所繪示,層0 L0 及層1 L1 位於外部通信組件430'內。層0 L0 可提供一融合衍生秘密FDS密鑰至層1 L1 。FDS密鑰可基於層1 L1 中之代碼之識別及其他安全相關資料。一特定協定(諸如穩健物聯網(RIoT)核心協定)可使用FDS驗證其加載之層1 L1 之核心。在一實例中,特定協定可包含一裝置識別組合引擎(DICE)及/或RIoT核心協定。作為一實例,FDS可包含一層1 L1 韌體影像本身、加密識別授權層1 L1 韌體之一顯示、一安全啟動實施之背景中之有符號韌體之一韌體版本號及/或裝置之安全-關鍵組態設定。裝置秘密UDS可用於產生FDS,且儲存於外通信組件之記憶體中。因此,層0 L0 從不揭露實際裝置秘密UDS且其提供一衍生密鑰(例如FDS密鑰)至啟動鏈中之下一層。
外部通信組件430'經調適以傳輸資料(如由箭頭410'所繪示)至車載通信組件430''。所傳輸之資料可包含係一公共外部識別、一憑證(例如一外部識別憑證)及/或一外部公鑰,如將結合圖6繪示。車載通信組件430''之層2 L2 可接收所傳輸之資料,在作業系統OS (例如一第一應用程式App1 及一第二應用程式App2 上)之操作中執行資料。
同樣地,車載通信組件430''可傳輸資料(如由箭頭410''所繪示),其包含一公共車輛識別、一憑證(例如一車輛識別憑證)及/或一車輛公鑰。作為一實例,在鑑別之後(例如在驗證憑證之後),車載通信組件430''可發送一車輛識別號VIN以進一步鑑別、識別及/或驗證車輛。
如圖5B及圖6中所展示,在一實例性操作中,外部通信組件430'可讀取裝置秘密DS,雜湊層1 L1 之一身份,且執行以下計算:
FDS=KDF [UDS, 雜湊(「不可變資訊」)]
其中KDF係一密碼單向密鑰導出函數(例如HMAC-SHA256)。在上述計算中,雜湊可為任何密碼基元,諸如SHA256、MD5、SHA3等等。
在至少一實例中,車輛可使用一匿名登錄或一鑑別登錄之任一者通信。鑑別登錄可允許車輛獲得在一匿名模式中通信時無法存取之額外資訊。在至少一實例中,鑑別可包含提供車輛識別號VIN及/或鑑別資訊,諸如公鑰之一交換,如下文將描述。在匿名模式及鑑別模式之任一者中,外部實體(例如一信任區之一邊界處之一檢查點警察)可與車輛通信以將與外部實體相關聯之外部公鑰提供至車輛。
圖6展示根據一實施例之使用非對稱生成器生成一識別符、憑證及密鑰之一實例性運算裝置。在一實施例中,運算裝置實施一程序以判定參數(例如在一外部裝置之層L1 內或在替代實施例中,在一內部運算裝置之層L1 內)。
在一實施例中,判定包含接著發送(如由箭頭510'所指示)至車載通信組件(例如參考圖5B中之430'')之層2 L2 之外部公共識別、外部憑證及外部公鑰之參數。圖6之箭頭510'及510''分別對應於圖5B之箭頭410'及410''。另外,圖6中之層對應於圖5B之層。
在另一實施例中,來自主機裝置之一訊息(「主機訊息」)藉由型樣(資料)合併531與外部公鑰合併以提供合併資料用於加密。合併資料係加密器530之一輸入。在一實例中,主機訊息與外部公鑰串連。所生成之參數包含發送至一主機裝置且用於驗證一運算裝置之一身份之三元組。例如,外部公共識別、外部憑證及外部公鑰由主機裝置之一驗證組件用於驗證身份。在一實例中,主機裝置係圖1之主機裝置151。
如圖6中所展示,來自層0 L0之FDS發送至層1 L1 且由一非對稱ID生成器用於生成一公共識別IDlkpublic及一私密識別IDlkprivate。在縮寫「IDlkpublic」中,「lk」指示一通用層k (在此實例中,層1 L1 ),且「public」指示識別被公開共用。公共識別IDlkpublic繪示為由延伸至外部通信組件之層1 L1 右邊及外部之箭頭共用。所生成之私密識別IDlkprivate用作為至一加密器530中之一密鑰輸入。加密器530可為(例如)用於加密資料之任何處理器、運算裝置等等。
外部通信組件之層1 L1 可包含一非對稱密鑰生成器540。在至少一實例中,一隨機數生成器RND可視情況將一隨機數輸入至非對稱密鑰生成器540中。非對稱密鑰生成器540可生成與一外部通信組件(諸如圖5B中之外部通信組件430')相關聯之一公鑰KLkpublic (指稱一外部公鑰)及一私鑰KLkprivate (指稱一外部私鑰)。
外部公鑰KLkpublic可為至加密器530中之一輸入(作為「資料」)。如上文所提及,在一些實施例中,先前自主機裝置接收作為一身份驗證程序之部分之一主機訊息與KLkpublic合併以提供合併資料作為加密器530之輸入資料。
加密器530可使用外部私密識別IDlkprivate及外部公鑰KLkpublic之輸入生成一結果K'。外部公鑰KLkprivate及結果K'可輸入至一額外加密器550中以導致輸出K''。輸出K''係傳輸至層2 L2 (或替代地,傳輸至驗證身份之一主機裝置)之外部憑證IDL1certificate。外部憑證IDL1certificate可提供驗證及/或鑑別自一裝置發送之資料之一起源之一能力。作為一實例,自外部通信組件發送之資料可藉由驗證憑證來與外部通信組件之一身份相關聯,如將結合圖7進一步描述。此外,外部公鑰KL1public key可傳輸至層2 L2 。因此,外部通信組件之公共識別IDl1public、憑證IDL1certificate及外部公鑰KL1public key可傳輸至車載通信組件之層2 L2
圖7展示根據一實施例之使用解密操作驗證一運算裝置之身份之一驗證組件。驗證組件包含解密器730、750。驗證組件實施一程序以根據本發明之一實施例驗證一憑證。
在圖7所繪示之實例中,一公鑰KL1public、一憑證IDL1certificate及一公共識別IDL1public自外部通信組件(例如自圖5B中之外部通信組件430'之層1 L1 )提供。
憑證IDL1certificate及外部公鑰KL1public之資料可用作為至解密器730中之輸入。解密器730可為用於解密資料之任何處理器、運算裝置等等。憑證IDL1certificate及外部公鑰KL1public之解密結果可與公共識別IDL1public一起用作為至解密器750中之一輸入以導致一輸出。如區塊760中所繪示,外部公鑰KL1public及來自解密器750之輸出可指示是否驗證憑證以導致一「是」或「否」作為一輸出。私鑰與單一層相關聯且一特定憑證僅可由一特定層生成。
回應於驗證憑證(例如在鑑別之後),可接受、解密及/或處理自經驗證之裝置接收之資料。回應於未驗證憑證,可捨棄、移除及/或忽略自經驗證之裝置接收之資料。依此方式,可偵測及避免發送惡毒資料之未授權裝置。作為一實例,可識別發送待處理資料之一駭客且不處理駭侵資料。
在一替代實施例中,公鑰KL1public、一憑證IDL1certificate及一公共識別IDL1public自圖1之運算裝置141或自圖2之記憶體系統105提供。此三元組由運算裝置141回應於自主機裝置接收一主機訊息而生成。在提供IDL1certificate作為解密器730之一輸入之前,IDL1certificate及來自主機裝置之一訊息(「主機訊息」)由型樣(資料)合併731合併。在一實例中,合併係資料之一串連。合併資料提供為解密器730之輸入。接著,驗證程序依其他方式進行,如上文所描述。
圖8展示根據一實施例之驗證一憑證之一實例性程序之一方塊圖。在其中一裝置發送可經驗證以避免後續否認之資料之情況中,一簽章可生成且與資料一起發送。作為一實例,一第一裝置可向一第二裝置提出一請求,且一旦第二裝置執行請求,則第一裝置可指示第一裝置從未提出過此一請求。一防否認方法(諸如使用一簽章)可避免由第一裝置否認且確保第二裝置可在無後續困難之情況下執行請求任務。
一車輛運算裝置810'' (例如圖3中之車輛運算裝置110或圖1之運算裝置141)可將資料Dat''發送至一外部運算裝置810' (或一般發送至任何其他運算裝置)。車輛運算裝置810''可使用車輛私鑰KLkprivate生成一簽章Sk。簽章Sk可傳輸至外部運算裝置810'。外部運算裝置810'可使用資料Dat'及先前所接收之公鑰KLkpublic (例如車輛公鑰)驗證。依此方式,簽章驗證藉由使用一私鑰加密簽章且使用一公鑰解密簽章來操作。依此方式,各裝置之一唯一簽章可對發送簽章之裝置保密,同時允許接收裝置能夠解密簽章用於驗證。此與資料之加密/解密形成對比,其由發送裝置使用接收裝置之公鑰加密且由接收裝置使用接收器之私鑰解密。在至少一實例中,車輛可藉由使用一內部密碼程序(例如橢圓曲線數位簽章(ECDSA)或一類似程序)來驗證數位簽章。
歸因於憑證及公鑰之交換及驗證,裝置能夠依一安全方式彼此通信。當一車輛接近一外部實體(例如一信任區邊界、一邊界安全實體或一般為一電子控制主機裝置)時,各自通信裝置(其具有驗證各自憑證之圖7中所展示之能力)交換憑證且彼此通信。在鑑別之後(例如在自外部實體接收/驗證憑證及公鑰之後),車輛因此能夠傳送與之有關且儲存於其記憶體中之所有所需資訊,諸如車牌號/ID、VIN、保險號、駕駛員資訊(例如ID、邊界過渡之最終許可)、乘客資訊、所運輸之貨物資訊及其類似者。接著,在檢查所接收之資訊之後,外部實體將過渡請求之結果傳送至車輛,此資訊可能使用接收器之公鑰加密。交換訊息/資訊可使用上述DICE-RIoT協定加密/解密。在一些實施例中,所謂之不可變資訊(諸如車牌號/ID、VIN、保險號)未加密,而其他資訊加密。換言之,在交換訊息中,可存在未加密資料及加密資料:資訊因此可加密或不加密或混合。接著,藉由使用憑證/公鑰驗證訊息之內容有效來確保訊息之正確性。
圖9展示根據一實施例之使用一識別符、憑證及一密鑰驗證一運算裝置之一身份之一方法。例如,圖9之方法可以圖1至圖7之系統實施。
圖9之方法可由可包含硬體(例如處理裝置、電路、專用邏輯、可程式化邏輯、微碼、一裝置之硬體、積體電路等等)、軟體(例如在一處理裝置上運行或執行之指令)或其等之一組合之處理邏輯執行。在一些實施例中,圖9之方法至少部分由圖1之識別組件147及驗證組件151執行。
儘管依一特定序列或順序展示,但除非另有指定,否則可修改程序之順序。因此,所繪示之實施例應僅被理解為實例,且所繪示之程序可依一不同順序執行,且一些程序可並行執行。另外,可在各種實施例中省略一或多個程序。因此,並非每個實施例中需要所有程序。其他程序流程係可行的。
在區塊921中,自一主機裝置接收一訊息。例如,運算裝置141自主機裝置151接收一訊息(例如「主機訊息」或「主機訊息|鮮度」)。
在區塊923中,生成一識別符、一憑證及一密鑰(例如一公鑰KL1 public)。識別符與一運算裝置之一身份相關聯。憑證使用來主機裝置之訊息(例如「主機訊息」)生成。在一實施例中,訊息在加密之前與公鑰合併。此加密使用私密識別符IDL1 private作為一密鑰。私密識別符IDL1 private與公共識別符IDL1 public相關聯(例如由非對稱ID生成器520生成之一相關聯對)。
在一實例中,識別組件147生成識別符、憑證及密鑰來提供三元組。在一實例中,基於DICE-RIoT協定生成三元組。在一實例中,如圖6中所繪示般生成三元組。
在一實例中,使用DICE-RIoT協定,各層(Lk )將一組密鑰及憑證提供至下一層(Lk+1 ),且各憑證可由接收層驗證。融合衍生秘密(FDS)計算如下: FDS=HMAC-SHA256 [UDS, SHA256(「L1 之身份」)]
在一實例中,一DICE-RIoT架構中之層1 L1 使用由主機裝置發送之一主機訊息生成憑證。層1將兩個相關聯密鑰對計算如下: (IDlk public , IDlk private )及(KLk public , KLk private )
層1亦將兩個簽章計算如下: K'=加密(IDlk private , KLk public |主機訊息) K''=加密(KLk private , K')
自上述處理,層1將三元組提供如下: KL1 ={IDL1 public , IDL1 憑證, KL1 public } 更具體而言,各層將三元組提供如下: KLk ={密鑰及憑證之組},其中k=1:N 使用各自三元組,各層能夠向下一層證明其身份。
在一實例中,層2對應於應用韌體,且後續層對應於一作業系統及/或主機裝置之應用程式。
在區塊925中,將所生成之識別符、憑證及密鑰發送至主機裝置。主機裝置使用識別符、憑證及密鑰驗證運算裝置之身份。在一實例中,主機裝置151自運算裝置141接收識別符、憑證及密鑰。主機裝置151使用驗證組件153驗證運算裝置之身份。
在一實例中,驗證組件153執行解密操作作為驗證程序之部分。解密包含在使用自運算裝置141接收之密鑰解密之前合併來自主機之訊息與憑證。在一實例中,如圖7中所繪示般執行運算裝置之身份之驗證。
在一實例中,解密操作執行如下: 使用KL1 public 解密(IDL1 certificate)以提供K' 使用IDL1 public 解密K'以提供結果 比較結果與KL1 public 。若結果等於KL1 public ,則驗證身份。在一實例中,驗證一應用板身份。
在一實例中,證明一人或動物之一身份。類似於驗證一運算裝置141之身份(如上文所描述)般執行一人之身份之驗證。在一實例中,運算裝置141整合至一人之一護照中。已發放護照之一國家之一公共行政部門可使用專用於一類文件(例如駕照、護照、ID卡等等)之一UDS。例如,義大利西西里美西納護照局之UDS=0x12234...4444。德國巴伐利亞慕尼黑護照局之UDS=0xaabb...00322。
在關於護照之一實例中,L1之身份係如下ASCII串: 國家|文件類型|等等(例如「義大利西西里美西納護照局」) 分配之「粒度」可由各國之公共行政判定。
圖9之方法之各種實施例提供各種優點。例如,一事物可經識別及認證為由一特定工廠而非使用一第三方密鑰基礎設施生產(例如PKI=公鑰基礎設施)。歸因於受重播保護而防止中間惡意或駭客攻擊。方法可用於大量生產事物。
此外,客戶UDS受硬體級保護(例如無法在組件外部存取層0)。UDS無法由任何人讀取,但其可被替換(例如,僅客戶可藉由使用一安全協定來如此做)。安全協定之實例包含基於鑑別重播保護命令及/或秘密共用演算法(如迪菲-赫爾曼(Diffie-Hellman)(例如ECDH橢圓曲線迪菲-赫爾曼))之安全協定。在一實例中,藉由使用安全基礎設施將UDS傳送至客戶(而非終端使用者)。UDS可由客戶客製化。
另外,組件辨識可在無一網際網路或其他網路連接之情況下工作。另外,方法可用於輕鬆檢查一信任區邊界(例如一國界、內部檢查點等等)處之事物、動物及人類之身份。
在一實例中,UDS之知識容許主機裝置安全替換UDS。例如,可在以下情況下進行替換:主機期望改變一事物之身份或主機期望其他任何人(包含原製造商)不知道事物之身份。
在另一實例中,一替換命令由主機裝置使用。例如,主機裝置可將一替換UDS命令發送至運算裝置。替換命令包含既有UDS及賦予運算裝置之新UDS。在一實例中,替換命令具有包含如下之一雜湊值之一欄位:雜湊(既有UDS|新UDS)。
在另一實例中,使用具有如下之一欄位之一鑑別重播保護命令:Replace_command|鮮度|簽章 其中簽章=MAC[密鑰, Replace_command|鮮度|雜湊(既有UDS|新UDS)] 密鑰係一額外密鑰且係用於存在於裝置上之鑑別命令之密鑰。例如,密鑰可為一會話密鑰,如下文將描述(例如參閱圖12)。
在一實施例中,一方法包括:由一運算裝置(例如運算裝置141)自一主機裝置(例如主機裝置151)接收一訊息;由運算裝置生成一識別符、一憑證及一密鑰,其中識別符與運算裝置之一身份相關聯,且憑證使用訊息生成;及由運算裝置將識別符、憑證及密鑰發送至主機裝置,其中主機裝置經組態以使用識別符、憑證及密鑰驗證運算裝置之身份。
在一實施例中,驗證運算裝置之身份包括串連訊息及憑證以提供第一資料。
在一實施例中,驗證運算裝置之身份進一步包括使用密鑰解密第一資料以提供第二資料。
在一實施例中,驗證運算裝置之身份進一步包括使用識別符解密第二資料以提供一結果及比較結果與密鑰。
在一實施例中,識別符係一公共識別符,且運算裝置儲存一密鑰,方法進一步包括:使用密鑰作為一訊息鑑別碼之一輸入以生成一衍生秘密;其中公共識別符使用衍生秘密生成為一非對稱生成器之一輸入。
在一實施例中,識別符係一第一公共識別符,且運算裝置儲存用於生成第一公共識別符之一第一裝置秘密,方法進一步包括:自主機裝置接收一替換命令;回應於接收替換命令,將第一裝置秘密替換為一第二裝置秘密;及將使用第二裝置秘密生成之一第二公共識別符發送至主機裝置。
在一實施例中,密鑰係一公鑰,且生成憑證包含串連訊息與公鑰以提供用於加密之一資料輸入。
在一實施例中,識別符係一公共識別符,且一第一非對稱生成器生成公共識別符及一私密識別符作為一相關聯對;密鑰係一公鑰,且一第二非對稱生成器生成公鑰及一私鑰作為一相關聯對;且生成憑證包括:串連訊息與公鑰以提供第一資料;使用私密識別符加密第一資料以提供第二資料;及使用私鑰加密第二資料以提供憑證。
在一實施例中,密鑰係一公鑰,方法進一步包括生成一隨機數作為一非對稱密鑰生成器之一輸入,其中公鑰及一相關聯私鑰使用非對稱密鑰生成器生成。
在一實施例中,隨機數使用一物理不可複製功能(PUF)生成。
在一實施例中,一系統包括:至少一處理器;及記憶體,其含有指令,指令經組態以指示至少一處理器:將一訊息發送至一運算裝置;自運算裝置接收一識別符、一憑證及一密鑰,其中識別符與運算裝置之一身份相關聯,且憑證由運算裝置使用訊息生成;及使用識別符、憑證及密鑰驗證運算裝置之身份。
在一實施例中,驗證運算裝置之身份包括:串連訊息及憑證以提供第一資料;使用密鑰解密第一資料以提供第二資料;使用識別符解密第二資料以提供一結果;及比較結果與密鑰。
在一實施例中,識別符係一第一公共識別符,運算裝置儲存用於生成第一公共識別符之一第一裝置秘密,且指令經進一步組態以指示至少一處理器:將一替換命令發送至運算裝置,替換命令引起運算裝置將第一裝置秘密替換為一第二裝置秘密;及自運算裝置接收使用第二裝置秘密生成之一第二公共識別符。
在一實施例中,運算裝置經組態以使用第二裝置秘密作為提供一衍生秘密之一訊息鑑別碼之一輸入及使用衍生秘密生成第二公共識別符。
在一實施例中,替換命令包含具有基於第一裝置秘密之一值之一欄位。
在一實施例中,系統進一步包括經組態以生成一鮮度之一鮮度機構,其中發送至運算裝置之訊息包括鮮度。
在一實施例中,運算裝置之身份包含一文數串。
在一實施例中,一非暫時性電腦儲存媒體儲存指令,指令在執行於一運算裝置上時引起運算裝置至少:自一主機裝置接收一訊息;生成一識別符、一憑證及一密鑰,其中識別符對應於運算裝置之一身份,且憑證使用訊息生成;及將識別符、憑證及密鑰發送至主機裝置以用於驗證運算裝置之身份。
在一實施例中,識別符係與一私密識別符相關聯之一公共識別符,密鑰係與一私鑰相關聯之一公鑰,且生成憑證包括:串連訊息與公鑰以提供第一資料;使用私密識別符加密第一資料以提供第二資料;及使用私鑰加密第二資料以提供憑證。
在一實施例中,驗證運算裝置之身份包括使用識別符執行一解密操作以提供一結果及比較結果與密鑰。使用物理不可複製功能 (PUF) 生成值
下文將揭示之至少一些實施例提供使用一物理不可複製功能(PUF)生成值之一改良架構。在一些實施例中,PUF值本身可用作為一裝置秘密或用於生成一裝置秘密。在一實例中,PUF值用作為用於與DICE-RIoT協定一起使用之一唯一裝置秘密(UDS),如上文所描述(例如參閱圖5A及圖5B)。在一實例中,由一PUF生成之一值用作為一訊息鑑別碼(MAC)之一輸入。來自MAC之輸出用作為UDS。
在一些實施例中,PUF值或自PUF值生成之一值可用作為一隨機數(例如一裝置特定隨機數)。在一實例中,當經由上述非對稱密鑰生成器(例如參閱圖6)生成相關聯公鑰及私鑰時,隨機數(例如RND)用作為一輸入。
一般而言,以下架構藉由將自一或多個PUF提供之輸入饋送至一訊息鑑別碼(MAC)中來生成一輸出。來自MAC之輸出提供改良PUF (例如上述UDS)。
一般而言,半導體晶片製造商面臨密鑰注入之問題,其係針對(例如)自一半導體晶圓提供之各晶片或晶粒程式化一唯一密鑰。期望在一安全環境中程式化密鑰注入以避免洩漏或揭示注入至晶片中之密鑰。亦期望確保密鑰不會在生產晶片之後被盜用或回讀。例如,在一些情況中,密鑰注入程序由一第三方基礎設施認證或執行。
晶片製造商期望降低包含加密能力之晶片之生產成本。晶片製造商亦期望簡化生產流程,同時維持製造晶片之一致安全效能水準。然而,密鑰注入係一較昂貴生產步驟。
晶片製造商亦面臨PUF在用作為一偽隨機數生成器時改良均勻性之問題。在一些情況中,此問題可包含由於由PUF提供之一晶種值所基於之現象之晶粒之間的一互相關。
一PUF係基於各晶粒之唯一不可預測物理現象,諸如(例如)晶片上寄生效應、晶片上路徑延遲等等。此等現象用於(例如)提供一偽隨機數生成器之一晶種值。
生產線中所選擇之兩個不同晶片必須具有不同PUF值。在裝置之壽命期間,各晶片中所生成之PUF值不能改變。若兩個晶片具有類似密鑰(例如,晶片之間存在一低漢明(Hamming)距離),則可使用一晶片之一密鑰來猜測另一晶片之密鑰(例如原像駭客攻擊)。
使用下文將描述之改良PUF架構可藉由提供適合於在各晶片或晶粒上提供一PUF之功能之輸出值來提供一或多個上述問題之一解決方案。以下改良PUF架構使用一PUF,其使各晶片或晶粒能夠在晶片或晶粒各自通電時自動生成一唯一安全密鑰。安全密鑰無需儲存於可能被駭侵或否則損害之一非揮發性記憶體中。
改良PUF架構進一步使用一MAC生成改良PUF輸出(例如一唯一密鑰)來供(例如)整合至半導體晶片中之密碼功能或程序使用。使用MAC可(例如)增大不同晶片上所生成之密鑰之間的漢明距離。
在本文所揭示之至少一些實施例中,提供使用來自一MAC之輸出之一改良PUF架構作為生成晶種或其他值之一方式。因此,改良PUF架構提供(例如)執行密鑰注入之一方式,其降低製造成本且改良最終晶片上之PUF操作之可靠性及/或均勻性。
在一實施例中,一方法包含:由至少一PUF提供至少一值;及基於一MAC生成一第一輸出,其中MAC使用由至少一PUF提供之至少一值作為一輸入用於生成第一輸出。
在一實施例中,一系統包含:至少一PUF裝置;一訊息鑑別碼(MAC)模組,其經組態以基於由至少一PUF裝置提供之至少一值接收一第一輸入;至少一處理器;及記憶體,其含有指令,指令經組態以指示至少一處理器基於第一輸入自MAC模組生成一第一輸出。在各種實施例中,MAC模組可使用硬體及/或軟體實施。
在一實施例中,系統進一步包含一選擇器模組,其用於選擇用於將值提供至MAC模組之PUF模組之一或多者。例如,自若干PUF裝置提供之值可鏈接且提供為MAC模組之一輸入。在各種實施例中,選擇器模組可使用硬體及/或軟體實施。
圖10展示根據一實施例之用於自一物理不可複製功能(PUF)裝置121接收一輸入之一訊息鑑別碼(MAC) 123之一輸出生成一唯一密鑰125之一系統。系統提供用於自訊息鑑別碼(MAC)模組123之一輸出生成唯一密鑰125 (或其他值)之一PUF架構111。MAC模組123接收自物理不可複製功能(PUF)裝置121獲得之一輸入值。
圖10中之PUF裝置121可為(例如)各種不同已知類型之PUF之任何者。MAC模組123提供(例如)一單向函數,諸如SHA1、SHA2、MD5、CRC、TIGER等等。
架構111可(例如)改良晶片之間所生成之PUF值或碼之漢明距離。MAC函數不可預測(例如,僅具有提供至MAC函數之一單位元差之輸入序列提供兩個完全不同輸出結果)。因此,無法在僅知道輸出時辨識或判定MAC函數之輸入。架構111亦可(例如)改良作為一偽隨機數生成器之PUF之均勻性。
在一實例中,由PUF架構111生成之值(例如唯一密鑰125或另一值)可為具有N個位元之一數字,其中N取決於在包含PUF架構111之一晶片(例如記憶體裝置103或另一裝置)上實施之一密碼演算法。在一實例中,晶片實施使用HMAC-SHA256之一密碼函數,在該情況中,來自MAC模組123之輸出具有256個位元之一大小N。使用來自MAC模組123之輸出提供適合用作為一密鑰之輸出值之一訊息長度(無需進一步壓縮或填充)。
PUF架構111以一裝置(諸如所繪示之記憶體裝置103)實施,或可以其他類型之運算裝置(諸如(例如)在由一晶圓製造生產線提供之數個半導體晶片中實施之積體電路)實施。
在一實施例中,MAC模組123與密碼模組127協作及/或整合至密碼模組127中或作為密碼模組127之部分,例如,密碼模組127可提供記憶體裝置103之密碼功能。例如,歸因於MAC由記憶體裝置103用於其他密碼目的,MAC模組123之輸出可適合用作為一密鑰。
PUF架構111、密碼模組127及/或記憶體裝置103之其他功能之操作可由一控制器107控制。控制器107可包含(例如)一或多個微處理器。
在圖10中,一主機101可經由一通信通道與記憶體裝置103通信。主機101可為具有一或多個中央處理單元(CPU)之一電腦,經由電腦周邊裝置(諸如記憶體裝置103)可經由一互連件(諸如一電腦匯流排(例如周邊組件互連(PCI)、擴展PCI (PCI-X)、快速PCI (PCIe))、一通信部分及/或一電腦網路)附接CPU。
在一實施例中,唯一密鑰125用作為一UDS以提供記憶體裝置103之一身份。控制器107在一DICE-RIoT架構中實施層0 L0 及層1 L1 。回應於自主機101經由主機介面105接收主機訊息,密碼模組127執行處理以生成三元組,如上文所描述。主機101使用三元組驗證記憶體裝置103之身份。記憶體裝置103係運算裝置141之一實例。
為了例示性繪示,應注意,通常存在兩個技術問題。一第一問題係證明至主機之板之身份。問題可藉由使用公共三元組及非對稱密碼來處置,例如上文針對DICE-RIoT所討論。此方法係安全及簡明,但在一些情況中,會因太昂貴/耗時而無法由一電路板本身直接使用。一第二問題係向板證明板上之記憶體之身份(例如為了避免未授權記憶體替換)(此(例如)在各通電之後執行)。第二問題可使用上述公共三元組及非對稱密碼解決。然而,僅基於一MAC函數之一較輕安全機構通常足以處置第二問題。
記憶體裝置103可用於將主機101之資料儲存於(例如)非揮發性儲存媒體109中。記憶體裝置之實例一般包含硬碟機(HDD)、固態硬碟(SSD)、快閃記憶體、動態隨機存取記憶體、磁帶、網路附接儲存裝置等等。記憶體裝置103具有使用通信通道實施與主機101之通信之一主機介面105。例如,在一實施例中,主機101與記憶體裝置103之間的通信通道係一快速周邊組件互連(快速PCI或PCIe)匯流排;且主機101及記憶體裝置103使用NVMe協定(非揮發性記憶體主機控制器介面規範(NVMHCI),亦稱為快速NVM (NVMe))彼此通信。
在一些實施方案中,主機101與記憶體裝置103之間的通信通道包含一電腦網路,諸如一區域網路、一無線區域網路、一無線個人區域網路、一蜂巢式通信網路、一寬頻高速全時連接無線通信連接(例如一當代或後代行動網路鏈接);且主機101及記憶體裝置103可經組態以使用資料儲存管理及使用命令(類似於NVMe協定中之資料儲存管理及使用命令)彼此通信。
控制器107可運行韌體104以執行回應於來自主機101之通信之操作及/或其他操作。韌體一般為提供工程運算裝置之控制、監測及資料操縱之一電腦程式類型。在圖10中,韌體104在操作記憶體裝置103時控制控制器107之操作,諸如PUF架構111之操作,如下文將進一步討論。
記憶體裝置103具有非揮發性儲存媒體109,諸如塗佈於剛性磁碟上之磁性材料及/或一積體電路中之記憶體胞元。儲存媒體109係非揮發性的,因為無需電力來維持儲存於非揮發性儲存媒體109中之資料/資訊,該資料/資訊可在非揮發性儲存媒體109斷電且接著再次通電之後擷取。記憶體胞元可使用各種記憶體/儲存技術(諸如基於NAND閘之快閃記憶體、相變記憶體(PCM)、磁性記憶體(MRAM)、電阻式隨機存取記憶體及3D XPoint)實施,使得儲存媒體109係非揮發性的且可在無電力之情況下保存儲存於其內之資料達數天、數月及/或數年。
記憶體裝置103包含用於儲存運行時間資料及指令之揮發性動態隨機存取記憶體(DRAM) 106,運行時間資料及指令由控制器107用於提高控制器107之運算效能及/或提供在主機101與非揮發性儲存媒體109之間傳送之資料之緩衝器。DRAM 106係揮發性的,因為其需要電力來維持儲存於其內之資料/資訊,當電力中斷時,該資料/資訊即時或迅速丟失。
揮發性DRAM 106通常具有比非揮發性儲存媒體109少之延時,但在移除電力時快速丟失其資料。因此,有利地使用揮發性DRAM 106來暫時儲存用於使控制器107進行其當前運算任務之指令及資料以提高效能。在一些例項中,將揮發性DRAM 106替換為在一些應用中使用比DRAM少之電力之揮發性靜態隨機存取記憶體(SRAM)。當非揮發性儲存媒體109具有與揮發性DRAM 106相當之資料存取效能(例如在延時、讀/寫速度上)時,可消除揮發性DRAM 106;且控制器107可藉由操作非揮發性儲存媒體109上之指令及資料而非操作揮發性DRAM 106來執行運算。
例如,交叉點儲存及記憶體裝置(例如3D XPoint記憶體)具有與揮發性DRAM 106相當之資料存取效能。一交叉點記憶體裝置使用無電晶體記憶體元件,其等之各者具有一起堆疊為一柱之一記憶體胞元及一選擇器。記憶體元件柱經由兩個垂直導線層連接,其中一層位於記憶體元件柱上方且另一層位於記憶體元件柱下方。各記憶體元件可個別選擇於兩個層之各者上之一導線之一交叉點處。交叉點記憶體裝置係快速及非揮發性的且可用作為用於處理及儲存之一統一記憶體池。
在一些例項中,控制器107具有處理器內快取記憶體,其具有優於揮發性DRAM 106及/或非揮發性儲存媒體109之資料存取效能。因此,在控制器107之運算操作期間,在控制器107之處理器內快取記憶體中快取用於當前運算任務中之指令及資料之部分。在一些例項中,控制器107具有多個處理器,其等各自身具有處理器內快取記憶體。
控制器107視情況使用組織於記憶體裝置103中之資料及/或指令執行資料密集型記憶體內處理。例如,回應於來自主機101之一請求,控制器107執行儲存於記憶體裝置103中之一組資料之一即時分析且回應性地將一減小資料組傳送至主機101。例如,在一些應用中,記憶體裝置103連接至即時感測器以儲存感測器輸入;且控制器107之處理器經組態以基於感測器輸入執行機器學習及/或型樣辨識以支援至少部分經由記憶體裝置103及/或主機101實施之一人工智慧(AI)系統。
在一些實施方案中,控制器107之處理器在電腦晶片製造中與記憶體(例如106或109)整合以實現記憶體內處理且因此克服范紐曼(von Neumann)瓶頸,其由於由一處理器與根據范紐曼架構所單獨組態之記憶體之間的資料移動之延時引起之一處理量限制而限制運算效能。處理及記憶體之整合提高處理速度及記憶體傳送速率且減少延時及電力使用。
記憶體裝置103可用於各種運算系統中,諸如一雲端運算系統、一邊緣運算系統、一霧運算系統及/或一獨立電腦。在一雲端運算系統中,遠端電腦伺服器在一網路中連接以儲存、管理及處理資料。一邊緣運算系統藉由在靠近資料源之電腦網路之邊緣處執行資料處理來最佳化雲端運算且因此減少與一中央伺服器及/或資料儲存器之通信。一霧運算系統使用一或多個終端使用者裝置或靠近使用者邊緣裝置儲存資料且因此減少或消除將資料儲存於一中央資料倉儲中之需要。
本文所揭示之至少一些實施例可使用由控制器107執行之電腦指令(諸如韌體104)實施。在一些例項中,硬體電路可用於實施韌體104之至少一些功能。韌體104最初可儲存於非揮發性儲存媒體109或另一非揮發性裝置中且加載至揮發性DRAM 106及/或處理器內快取記憶體中由控制器107執行。
例如,韌體104可經組態以使用下文將討論之技術操作PUF架構。然而,下文將討論之技術不受限於用於圖10之電腦系統及/或上文所討論之實例中。
在一些實施方案中,MAC模組123之輸出可用於提供(例如)一根密鑰或一晶種值。在其他實施方案中,輸出可用於生成一或多個會話密鑰。
在一實施例中,來自MAC模組123之輸出可傳輸至另一運算裝置。例如,唯一密鑰125可經由主機介面105傳輸至主機101。
圖11展示根據一實施例之用於自MAC 123之一輸出生成唯一密鑰125之一系統,MAC 123自由一選擇器模組204選擇之一或多個PUF裝置接收輸入。根據一實施例,系統使用類似於圖10之架構111但包含多個PUF裝置202及選擇器模組204之一PUF架構自MAC模組123之一輸出生成唯一密鑰125。MAC模組123自由選擇器模組204選擇之一或多個PUF裝置202接收輸入。在一實例中,PUF裝置202包含PUF裝置121。
PUF裝置202可(例如)相同或不同(例如基於不同隨機物理現象)。在一實施例中,選擇器模組204充當一智慧PUF選擇區塊或電路以選擇將自其獲得值作為輸入提供至MAC模組123之PUF裝置202之一或多者。
在一實施例中,選擇器模組204使PUF裝置202之選擇至少部分基於來自測試PUF裝置202之結果。例如,選擇器模組204可測試各PUF裝置202之重複性。若任何PUF裝置202測試失敗,則選擇器模組204拒絕將失敗裝置用於提供一輸入值至MAC模組123。在一實例中,可暫時或無限期排除失敗裝置。
在一些實施方案中,選擇器模組204容許在生產期間及/或現場使用期間測試各晶片之PUF功能(例如藉由檢查由各PUF裝置202提供之值之重複性)。若由一給定PUF裝置提供之兩個或更多個值不同,則PUF裝置被判定為失敗且被拒絕用作為MAC模組123之一輸入。
在一實施例中,選擇器模組204用於同時使用多個PUF裝置202作為用於自MAC模組123計算一改良PUF輸出之源。例如,選擇器模組204可鏈接來自一第一PUF裝置之一值與來自一第二PUF裝置之一值以作為一輸入提供至MAC模組123。在一些實施方案中,此架構容許歸因於其取決於若干不同物理現象而獲得一穩健PUF輸出。
圖12展示根據一實施例之用於自一MAC之一輸出生成一唯一密鑰之一系統,MAC自一或多個PUF裝置接收輸入且自一單調計數器302接收一輸入(及/或自另一鮮度機構(如NONCE、時戳等等)接收一輸入)。根據一實施例,系統自MAC模組123之一輸出生成唯一密鑰125。除包含一單調計數器302來將值提供至選擇器模組204之外,圖12中所繪示之PUF架構類似於圖11中所繪示之PUF架構。在各種實施例中,單調計數器302可使用硬體及/或軟體實施。
MAC模組123自一或多個PUF裝置202接收輸入且自單調計數器302接收一輸入。在一實例中,自PUF裝置202及單調計數器302獲得之值鏈接且接著作為一輸入提供至MAC模組123。在一些實施方案中,單調計數器302係僅在被請求時遞增其值之一非揮發性計數器。在一些實施例中,單調計數器302在一晶片之各通電循環之後遞增。
在一些實施方案中,圖12之PUF架構可用於提供在一半導體晶片與一應用(諸如(例如)一公鑰機構)中之其他組件之間安全共用密鑰之一方式。
在一些實施方案中,單調計數器302在一PUF之各計算之前遞增,其確保MAC模組123之輸入在各循環中不同,且所提供之輸出(及/或輸出之型樣)因此不同。在一些實例中,此方法可用於生成一會話密鑰,其中各會話密鑰係不同的。
在一些實施例中,選擇器模組204可選擇性包含或排除單調計數器302 (或其他鮮度機構,如NONCE、時戳)提供一計數器值作為MAC模組123之一輸入。
在一些實施例中,單調計數器302亦由密碼模組127使用。在一些實施例中,包含單調計數器之一PUF架構可用作為一會話密鑰生成器以保證各循環中之一不同密鑰。在一些實施方案中,所生成之會話密鑰依此方式受保護:會話密鑰=MAC [一或多個PUF|MTC或其他鮮度]。
在其他實施例中,一機構使用如下: 會話密鑰=MACkey_based [Root_Key、MTC或其他鮮度機構] 其中Root_Key=自上述MAC模組123提供之一輸出值或存在於晶片上之任何其他種類之密鑰。 上述MACkey_based 函數係(例如)基於一密鑰之一MAC演算法。例如,密碼中可存在兩種類型之MAC演算法: 1. 基於一密鑰之一演算法,如(例如) HMAC家族(HMAC-SHA256係基於密鑰); 2. 不基於一密鑰之一演算法,例如SHA256 (SHA獨自並非基於密鑰)。 應注意,基於密鑰之一MAC可在不基於密鑰之一MAC中藉由將密鑰設定為一已知值(例如0x000...0xFFFF等等)來變換。
圖13展示根據一實施例之自使用自一或多個PUF提供之一或多個輸入之一MAC生成一輸出之一方法。例如,圖13之方法可在圖10之記憶體裝置103中實施。
圖13之方法包含在區塊411中,由至少一PUF提供一或多個值(例如自PUF裝置202之一或多者提供值)。
在區塊413中,可測試PUF之一或多者之重複性,例如上文所描述。此測試係選用的。
在區塊415中,若已在區塊413中執行測試且已判定一PUF裝置測試失敗,則拒絕失敗PUF裝置將一輸入提供至MAC。此排除可由(例如)選擇器模組204執行,如上文所討論。
在區塊417中,自一單調計數器(例如單調計數器302)提供一值。在PUF架構中使用單調計數器係選用的。
在區塊419中,自MAC生成一輸出,MAC使用由PUF提供之一或多個值(及視情況來自單調計數器之至少一值)作為MAC之輸入。
現將在下文描述在一運算裝置中實施之一方法之各種其他實施例,方法包含:由至少一物理不可複製功能(PUF)提供至少一值;及基於一訊息鑑別碼(MAC)生成一第一輸出,其中MAC使用由至少一PUF提供之至少一值作為一輸入用於生成第一輸出。
在一實施例中,運算裝置係一第一運算裝置,且方法進一步包括將第一輸出傳輸至一第二運算裝置,其中第一輸出係第一運算裝置之一唯一識別符。
在一實施例中,提供至少一值包括自一第一PUF選擇一第一值及自一第二PUF選擇一第二值。
在一實施例中,方法進一步包括:自一單調計數器提供一值;其中生成第一輸出進一步包括使用來自單調計數器之值作為MAC之一額外輸入用於生成第一輸出。
在一實施例中,方法進一步包括:基於由MAC提供之各自輸出生成複數個會話密鑰,其中單調計數器提供用作為MAC之輸入之值;及在生成會話密鑰之各者之後遞增單調計數器。
在一實施例中,方法進一步包括:測試至少一PUF之一第一PUF之重複性;及基於判定第一PUF測試失敗,拒絕第一PUF在生成第一輸出時將任何輸入提供至MAC。
在一實施例中,測試包括比較由第一PUF提供之兩個或更多個值。
在一實施例中,運算裝置係一記憶體裝置,且記憶體裝置包括經組態以儲存使用MAC生成之一輸出值之一非揮發性儲存媒體。
在一實施例中,方法進一步包括由至少一處理器執行至少一密碼函數,其中執行至少一密碼函數包括使用使用MAC生成之一輸出值。
在一實施例中,一非暫時性電腦儲存媒體儲存指令,指令在執行於一記憶體裝置(例如記憶體裝置103)上時引起記憶體裝置執行一方法,方法包括:由至少一物理不可複製功能(PUF)提供至少一值;及基於一訊息鑑別碼(MAC)生成一第一輸出,其中MAC使用由至少一PUF提供之至少一值作為一輸入用於生成第一輸出。
在下文將描述之各種其他實施例中,圖4之方法可在一系統上執行,方法包含:至少一物理不可複製功能(PUF)裝置;一訊息鑑別碼(MAC)模組,其經組態以基於由至少一PUF裝置提供之至少一值接收一第一輸入;至少一處理器;及記憶體,其含有指令,指令經組態以指示至少一處理器基於第一輸入自MAC模組生成一第一輸出。
在一實施例中,MAC模組包含一電路。在一實施例中,來自MAC模組之第一輸出係識別一晶粒之一密鑰。在一實施例中,來自MAC模組之第一輸出係一根密鑰,且指令經進一步組態以指示至少一處理器使用來自MAC模組之一輸出生成一會話密鑰。
在一實施例中,系統係一半導體晶片之部分(例如自一半導體晶圓獲得之若干晶片之一晶片),來自MAC模組之第一輸出係識別晶片之一唯一值,且指令經進一步組態以指示至少一處理器將唯一值傳輸至一運算裝置。
在一實施例中,至少一PUF裝置包括複數個PUF裝置(例如PUF裝置202),且系統進一步包括經組態以選擇提供至少一值之至少一PUF裝置之一選擇器模組。
在一實施例中,選擇器模組經進一步組態以藉由鏈接來自一第一PUF裝置之一第一值及來自一第二PUF裝置之一第二值來生成MAC模組之第一輸入。
在一實施例中,系統進一步包括經組態以提供一計數器值之一單調計數器,且指令經進一步組態以指示至少一處理器藉由鏈接計數器值與由至少一PUF裝置提供之至少一值來生成第一輸入。
在一實施例中,系統進一步包括經組態以選擇提供至少一值之至少一PUF裝置之一選擇器模組,其中鏈接計數器值與由至少一PUF裝置提供之至少一值由選擇器模組執行。
在一實施例中,單調計數器經進一步組態以在生成第一輸入之後遞增計數器值以提供一遞增值;且指令經進一步組態以指示至少一處理器基於遞增值及由至少一PUF裝置提供之至少一新值自MAC模組生成一第二輸出。
圖14展示根據一實施例之用於自一MAC之一輸出生成一根密鑰且添加一額外MAC來生成一會話密鑰之一系統,MAC自一或多個PUF裝置接收輸入及自一單調計數器接收一輸入(及/或自另一鮮度機構(如NONCE、時戳等等)接收一輸入)。
在一實施例中,系統根據一實施例自一MAC之一輸出生成根密鑰(MAC自一或多個PUF裝置202接收輸入及自一單調計數器302接收一輸入(及/或自另一鮮度機構(如NONCE、時戳等等)接收一輸入))且添加一額外MAC模組504以使用一根密鑰輸入生成一會話密鑰。在此實施例中,MAC模組123提供根密鑰502作為來自MAC模組123之輸出。根密鑰502係MAC模組504之一輸入,MAC模組504可使用一MAC函數,諸如會話密鑰=MACkey_based [Root_Key、MTC或其他鮮度機構],如上文所描述。此基於密鑰之函數中之根密鑰輸入可為所繪示之根密鑰502。
另外,在一實施例中,單調計數器302可提供MAC模組504之一輸入。在其他實施例中,不是使用單調計數器302,而是可提供一不同單調計數器或來自晶片之其他值作為MAC模組504之一輸入。在一些情況中,單調計數器302將一計數器值提供至MAC模組504而非選擇器模組204。在其他情況中,計數器值可提供至兩個MAC模組或自兩個模組排除。密鑰生成及安全儲存
如上文所提及,PUF可用於安全密鑰生成。下文將討論之各種實施例係關於使用至少一PUF生成一初始密鑰、施加處理以增加初始密鑰之混淆及將最終混淆密鑰儲存於一非揮發性記憶體中。最終混淆密鑰及/或用於生成最終混淆密鑰之一中間密鑰可與另一運算裝置共用且用於與另一運算裝置安全通信(例如基於一共用密鑰使用對稱密碼傳遞訊息)。在一些實施例中,針對用於汽車應用中之運算裝置(例如一自主車輛中之一控制器)進行安全密鑰生成。
在替代實施例中,依無需使用至少一上述PUF裝置之其他方式生成初始密鑰。在一實施例中,可藉由使用一注入密鑰生成初始密鑰。例如,初始密鑰歸因於在一工廠或其他安全環境中注入而存在於一晶片中。在此情況中,藉由對注入密鑰施加混淆處理來執行施加處理以增加初始密鑰之混淆。
汽車環境存在在密鑰生成階段期間引入「雜訊」之技術問題。以下各種實施例藉由使用一方法減少或避免密鑰變動來提供此問題之一技術解決方案,密鑰變動歸因於將一混淆密鑰儲存於一非揮發性記憶體區域內部誘發之此雜訊。
汽車環境可依各種方式影響密鑰生成。例如,引擎通電可引起施加至一運算裝置之電力下降以導致依錯誤方式生成一密鑰。溫度極值亦會影響生成密鑰之電路。其他源(諸如來自電源線之磁場)可引起符號間干擾或串擾以使一主機無法辨識裝置。
相比而言,若密鑰在一安全環境中生成且儲存於記憶體中,則其將免受雜訊。一安全環境可(例如)直接安裝於一汽車、一測試環境或一工廠(例如,其製造生成密鑰之運算裝置),其取決於用於在運算裝置產品之終端使用者/客戶之間傳播密鑰之策略。
在一實例中,車輛中所使用之ADAS或其他運算系統經受電力供應變動。此可發生於(例如)發動車輛、制動、對引擎供電等等期間。
如下文將討論,用於生成及儲存一密鑰之各種實施例提供實質上獨立於外部因數(例如電力供應變動、溫度及其他外部雜訊源)之優點。在一些實施例中,另一優點係(例如)在每個循環內生成密鑰向量係相同的。
當儲存密鑰時,一些實施例中所提供之另一優點係密鑰實質上免受硬體攻擊(例如駭客可做到之硬體攻擊)。例如,一此攻擊係監測一裝置之通電電流以使電流變動相關聯於與密鑰相關聯之位元。其他攻擊可使用(例如)電壓量測(例如一Vdd供應電壓)。一些攻擊可使用(例如)溫度變動來干擾一裝置之操作。
在一些實施例中,初始密鑰可使用上文針對圖10至圖14所描述之方法及/或架構生成。例如,一PUF用於在儲存密鑰之運算裝置之每個通電循環內生成密鑰。在替代實施例中,其他方法可用於生成初始密鑰。
在一例示性方法中,如上文早先所討論,密鑰注入使用至少一PUF及一MAC演算法(例如SHA256)來生成顯著不同於其他裝置(例如位於一晶圓上之相鄰晶粒)之一裝置之一密鑰。MAC密碼演算法提供增大由PUF生成之位元之熵之益處。
在一實施例中,在對密鑰執行預處理之後將所生成之密鑰(例如自一PUF及接著一MAC演算法提供之初始密鑰)儲存於裝置之一非揮發性區域中以減少或避免駭客攻擊且亦提高儲存密鑰之可靠性。在一實施例中,在儲存密鑰之後,可停用生成密鑰之電路。預處理在本文中一般指稱混淆處理。在一實例中,電路及/或其他邏輯用於對裝置實施混淆處理。在一實例中,所儲存之密鑰可由裝置讀取,因為密鑰獨立於外部雜訊源。一內部機構用於讀取裝置之任何資料。
在各種實施例中,如本文所描述般儲存密鑰增大防雜訊邊限。另外,此使一駭客難以(例如)使用一電力監測或其他駭侵方法讀取所儲存之密鑰。
本文之至少一些實施例使用一PUF及一加密演算法(例如HMAC-SHA256)來獨立於外部因數(諸如原本會引起裝置之一通電之密鑰不同於下一通電之溫度或電壓)生成密鑰。若此發生,則一主機可能難以與裝置交換訊息。各種實施例藉由將所儲存之密鑰放置於記憶體中使得其不受外部因數影響來更穩健地生成密鑰。
在一實施例中,密鑰在一裝置上生成一次且儲存於裝置之非揮發性記憶體中。在一實例中,在將一重設施加於一SRAM之前,可使用SRAM之內容生成密鑰。密鑰(其係PUF之一函數)使用來自PUF之偽隨機值輸出生成。在重設設備或其他裝置之前讀取SRAM之內容。亦可根據期望在其他時間透過一命令序列再生密鑰。在一實例中,所生成之密鑰用作為DICE-RIoT協定中之一UDS,如上文所描述。在一實例中,命令序列使用一替換命令將一先前生成之UDS替換為一新UDS,如上文所描述。
在一實施例中,密鑰生成獨立於由裝置實施之加密。所生成之密鑰與一主機共用。此實施例依避免一攻擊者猜到密鑰且內部使用密鑰(諸如(例如)藉由分析裝置在密鑰使用期間吸收之電流之形狀)之一方式儲存密鑰及/或讀取裝置中之密鑰。
另外,例如,在非對稱密碼中,所生成之密鑰變成可變通行碼,其係系統之密鑰。密鑰不與其他共用。針對公鑰密碼,密鑰用於生成一對應公鑰。
在各種實施例中,一初始密鑰使用一注入密鑰或使用一或多個PUF生成(例如用於提供一初始密鑰PUF0)。接著,初始密鑰經受混淆處理之一或多個步驟以提供中間密鑰(例如PUF1、PUF2、...、PUF5),諸如下文將描述。來自此處理之輸出(例如PUF5)係儲存於裝置之非揮發性記憶體中之一混淆密鑰。當使用一注入密鑰時,將混淆處理施加於注入密鑰,類似於下文針對PUF0之非限制性實例所描述。
在一實施例中,如上文所提及,就一初始注入密鑰而言,一機構使用如下: 會話密鑰=MACkey_based [Root_Key、MTC或其他鮮度機構] 其中:Root_Key=存在於晶片上之任何其他種類之密鑰(例如,密鑰可為在一工廠或其他安全環境中注入晶片中之一初始密鑰)
在一實施例中,在一裝置之第一通電中,一特殊序列喚醒裝置之至少一電路(例如一讀取電路)且驗證(若干)電路在適當運行。接著,裝置生成一初始密鑰PUF0,如上文所提及。此密鑰可被儲存或經進一步處理以使其更穩健地用於安全儲存,如下文將描述。
藉由串連PUF0與一預定位元序列(例如由其他已知之一序列)以生成PUF1來生成一中間密鑰PUF1。在一實施例中,PUF1用於驗證裝置正確讀取密鑰及確保雜訊(諸如電力供應之波動)不影響所生成之密鑰之能力。
生成下一中間密鑰PUF2。PUF1與一反相位元型樣(例如藉由使PUF1之位元反相來形成,且本文有時指稱反相PUF1)交錯以生成PUF2。
在一實施例中,PUF2具有0及1之相同位元數。此使用於任何密鑰(例如儲存於裝置上之任何密鑰)之裝置電流之形狀實質上相同。此降低一駭客藉由在密鑰由裝置讀取時查看裝置電流之形狀來猜到密鑰值之可能性。
生成下一中間密鑰PUF3。PUF2之位元與偽隨機位元交錯以形成PUF3。此有助於進一步混淆密鑰。在一實施例中,偽隨機位元藉由使用一雜湊函數來自PUF1或PUF2導出。例如,此等導出位元添加至PUF2以形成PUF3。
生成下一中間密鑰PUF4。錯誤校正碼(ECC)由裝置之內部電路生成(例如在程式化期間)。ECC之位元添加至PUF3以生成PUF4。在一實施例中,ECC位元有助於預防可由(例如)裝置耐久限度、X射線及粒子引起之非揮發性記憶體(例如NVRAM)老化之效應。非揮發性記憶體老化亦可由(例如)可引起位元翻轉之NV胞元中之電子數增加引起。
生成下一中間密鑰PUF5。PUF5係PUF4之若干複本之一串連。使多個PUF4複本之冗餘存在於PUF5中藉由增加能夠在一稍後時間正確讀取密鑰之可能性來進一步提高穩健性。在一實施例中,PUF5之若干複本儲存於非揮發性記憶體儲存器之各種區域中以進一步提高穩健性。例如,即使PUF5在一區域中受到破壞,但PUF5可自其他區域讀取且因此可提取正確密鑰。
在一實施例中,PUF1或PUF3係與一主機共用於對稱密碼或用於生成非對稱密碼之一公鑰之密鑰。在一實施例中,PUF4及PUF5不與終端使用者或一主機共用。
上述方法係模組化的,因為無需PUF2、PUF3、PUF4及/或PUF5用於生成一混淆密鑰。相反地,在各種實施例中,上述混淆步驟之一或多者可應用於初始密鑰,且可進一步變動排序。例如,已知不具有Vdd電壓供應下降之一系統可減少混淆步驟數目。
在一實施例中,當儲存混淆密鑰時,位元型樣將實體分散於非揮發性儲存媒體中(例如呈不同列及字)。例如,裝置能夠同時讀取位元且防止多位元錯誤。
圖15展示根據一實施例之用於將一混淆密鑰635儲存於非揮發性記憶體(例如非揮發性儲存媒體109)中之一運算裝置603。運算裝置603係圖1之運算裝置141之一實例。在一實例中,混淆密鑰用作為一UDS。(應注意)例如,混淆將熵添加至密鑰之位元以避免一駭客可能試圖理解密鑰之值。裝置總是能夠藉由移除用作為混淆之添加位元來提取密鑰。在一實例中,一共同駭客攻擊由藉由使用統計工具處理由裝置在一些特定時框內吸收之電流分佈來猜測裝置內部所生成/精心設計之密鑰組成。
基於由至少一物理不可複製功能裝置121提供之一值生成一初始密鑰625。基於初始密鑰625生成混淆密鑰635。在生成之後,將混淆密鑰635儲存於非揮發性儲存媒體109中。
在一實施例中,一訊息鑑別碼(MAC) 123使用來自PUF裝置121之值作為一輸入且提供初始密鑰625作為一輸出。在一實施例中,混淆處理模組630用於對初始密鑰625執行處理以提供混淆密鑰635 (例如PUF5),例如上文所討論。
在一實施例中,將混淆密鑰635安全分配給另一運算裝置,如Mondello等人於2018年4月27日申請之名稱為「SECURE DISTRIBUTION OF SECRET KEY USING A MONOTONIC COUNTER」之相關美國非臨時申請案第15/965,731號中所描述,該案之全部內容以宛如全文闡述引用的方式併入本文中。在其他實施例中,可依相同或一類似方式安全分配初始密鑰625及/或來自本文所描述之混淆處理之中間密鑰之任何一或多者。一終端使用者/客戶視情況使用上述方法讀取一初始密鑰(例如PUF0)、一中間密鑰及/或一最終混淆密鑰(例如PUF5)之值。例如,終端使用者可驗證由裝置內部生成密鑰之適當執行及/或監測密鑰生成之統計品質。
圖16展示根據一實施例之由混淆處理模組630在一混淆程序期間生成之一中間密鑰(PUF2)之一實例。如上文所提及,PUF1之位元經反相以提供反相位元702。位元702與所繪示之PUF1之位元交錯。例如,所繪示之密鑰中之每第二位元係一交錯反相位元702。
圖17展示根據一實施例之圖16之混淆程序期間所生成之另一中間密鑰(PUF3)之一實例(在此實例中,PUF3係基於PUF2)。如上文所提及,PUF2之位元進一步與偽隨機位元802交錯。如圖中所繪示,位元802與PUF2交錯。例如,所繪示之密鑰中之每第三位元係一交錯偽隨機位元802。
圖18展示根據一實施例之用於生成一混淆密鑰(例如混淆密鑰635)且將混淆密鑰儲存於一非揮發性記憶體(例如非揮發性儲存媒體109)中之一方法。在一實例中,圖2之記憶體系統105將混淆密鑰儲存於非揮發性記憶體121中。
在區塊911中,基於由至少一物理不可複製功能(PUF)提供之一值生成一初始密鑰。
在其他實施例中,在區塊911中,藉由密鑰注入生成初始密鑰。例如,在製造期間,初始密鑰可僅為在製造期間注入至一晶片中之一值。
在區塊913中,基於初始密鑰生成一混淆密鑰。例如,所生成之混淆密鑰係PUF3或PUF5。
在區塊915中,將混淆密鑰儲存於一運算裝置之一非揮發性記憶體中。例如,將混淆密鑰儲存於一NAND快閃記憶體或一EEPROM中。
在一實施例中,一方法包含:使用密鑰注入生成一初始密鑰;基於初始密鑰生成一混淆密鑰;及將混淆密鑰儲存於非揮發性記憶體中。例如,初始密鑰可為在製造時之一密鑰注入程序期間注入之密鑰。
在一實施例中,一方法包括:生成由密鑰注入提供或基於由至少一物理不可複製功能(PUF)提供之一值之一初始密鑰;基於初始密鑰生成一混淆密鑰;及將混淆密鑰儲存於運算裝置之一非揮發性記憶體中。
在一實施例中,生成初始密鑰包括使用來自PUF之值(或例如晶片上之另一值)作為一訊息鑑別碼(MAC)之一輸入來生成初始密鑰。
在一實施例中,混淆密鑰儲存於使用者可定址記憶體空間外部之非揮發性記憶體中。
在一實施例中,生成混淆密鑰包括串連初始密鑰與位元之一預定型樣。
在一實施例中,串連初始密鑰與位元之預定型樣提供一第一密鑰(例如PUF1);且生成混淆密鑰進一步包括使第一密鑰與一反相位元型樣交錯,其中反相位元型樣藉由使第一密鑰之位元反相來提供。
在一實施例中,使第一密鑰與反相位元型樣交錯提供一第二密鑰(例如PUF2);且生成混淆密鑰進一步包括使第二密鑰與偽隨機位元交錯。
在一實施例中,方法進一步包括使用一雜湊函數自第一密鑰或第二密鑰導出偽隨機位元。
在一實施例中,使第二密鑰與偽隨機位元交錯提供一第三位元(例如PUF3);且生成混淆密鑰進一步包括串連第三密鑰與錯誤校正碼位元。
在一實施例中,運算裝置係一第一運算裝置,方法進一步包括與一第二運算裝置共用初始密鑰、第一密鑰或第三密鑰之至少一者及自第二運算裝置接收使用初始密鑰、第一密鑰或第三密鑰之至少一共用者加密之訊息。
在一實施例中,串連第三密鑰與錯誤校正碼位元提供一第四密鑰(例如PUF4);且生成混淆密鑰進一步包括串連第四密鑰與第四密鑰之一或多個複本。
在一實施例中,串連第四密鑰與第四密鑰之一或多個複本提供一第五密鑰(例如PUF5);且儲存混淆密鑰包括將第五密鑰之一第一複本儲存於不同於第五密鑰之一第二複本儲存於其上之一列或區塊之非揮發性記憶體之一列或區塊之至少一者上。
在一實施例中,一系統包括:至少一物理不可複製功能(PUF)裝置(例如PUF裝置121),其經組態以提供一第一值;一非揮發性記憶體(例如非揮發性儲存媒體109),其經組態以儲存一混淆密鑰(例如密鑰635);至少一處理器;及記憶體,其含有指令,指令經組態以指示至少一處理器:基於由至少一PUF裝置提供之第一值生成一初始密鑰;基於初始密鑰生成混淆密鑰;且將混合密鑰儲存於非揮發性記憶體中。
在一實施例中,系統進一步包括經組態以接收由至少一PUF裝置提供之值之一訊息鑑別碼(MAC)模組(例如MAC 123),其中生成初始密鑰包括使用第一值作為MAC模組之一輸入來生成初始密鑰。
在一實施例中,生成混淆密鑰包括以下之至少一者:串連一密鑰與位元之一預定型樣;使一第一密鑰與第一密鑰之一反相位元型樣交錯;使一密鑰與偽隨機位元交錯;串連一密鑰與錯誤校正碼位元;或串連一第二密鑰與第二密鑰之一或多個複本。
在一實施例中,所儲存之混淆密鑰具有相等數目個0位元及1位元。
在一實施例中,生成混淆密鑰包括串連初始密鑰與位元之一第一型樣。
在一實施例中,串連初始密鑰與位元之第一型樣提供一第一密鑰;且生成混淆密鑰進一步包括使第一密鑰與位元之一第二型樣交錯。
在一實施例中,生成混淆密鑰進一步包括使一密鑰與偽隨機位元交錯。
在一實施例中,生成混淆密鑰進一步包括串連一密鑰與錯誤校正碼位元。
在一實施例中,一非暫時性電腦儲存媒體儲存指令,指令在執行於一運算裝置上時引起運算裝置執行一方法,方法包括:使用至少一物理不可複製功能(PUF)生成一初始密鑰;基於初始密鑰生成一混淆密鑰;及將混淆密鑰儲存於非揮發性記憶體中。
圖19展示根據一實施例之用於基於密鑰注入1010生成初始密鑰625、混淆初始密鑰及將混淆密鑰儲存於非揮發性記憶體中之運算裝置1003。
在一實施例中,藉由使用注入密鑰1010生成初始密鑰625。例如,初始密鑰625藉由在製造或其他組裝或測試期間在一工廠或其他安全環境中注入來存在於一晶片中。在一實例中,初始密鑰625用作為運算裝置1003之一初始UDS。混淆亦可施加於UDS。UDS係DICE-RIoT開始用於生成密鑰及憑證之安全生成之秘密。藉由將混淆處理(經由模組630)施加於注入密鑰(例如來自密鑰注入1010之值)來執行施加處理以增加初始密鑰之混淆。在其他實施例中,混淆處理可施加於可儲存或否則存在於一晶片或晶粒上之任何其他值。密鑰生成及安全儲存之變動
現將在下文描述各種額外非限制性實施例。在一實施例中,在一系統板之第一通電之後(或期間),啟動一特殊序列以發動含有一密碼引擎(例如密碼模組127)之裝置。序列進一步喚醒內部PUF及驗證其功能,接著,PUF生成一初始值PUF0,例如上文所描述。PUF0值由一晶片上演算法(例如由混淆處理模組630)處理且寫入於一非揮發性陣列之一特殊區域(在使用者可定址空間外)中。在替代實施例中,一注入密鑰替代PUF0值由晶片上演算法類似處理(如下文將描述)以提供一混淆密鑰用於儲存。
在一實施例中,執行混淆處理以防止Vdd (電壓)及/或溫度故障駭客攻擊。此處理包含串連PUF0與一熟知型樣(例如,其含有固定量之0/1位元)。此等位元容許在裝置(例如晶片)之壽命期間在內部讀取PUF值時判定讀取電路是否能夠適當區別0/1位元。例如,PUF1=PUF0 || 010101…01。
接著,上述處理之結果(例如PUF1)進一步體現為虛擬位元(例如為了避免Icc駭客分析)。具體而言,例如,PUF1之位元與PUF1之一反相型式(即,反相PUF1,其藉由使PUF1之各位元反相來形成)交錯。例如,PUF2=PUF1交錯反相PUF1。
在一實施例中,交錯之規則取決於存在於晶片/裝置上之行解碼器(例如一NV非揮發性陣列之行解碼器)之種類。裝置確保在PUF值(來自非揮發性陣列)之各讀取中,讀取電路處理(在一單次中)來自PUF1及反相PUF1之相同數目個位元。此確保讀取具有值0及1之相同數目個位元,其提供供應電流(Idd)之一規則形狀。
接著,PUF2之位元進一步與偽隨機位元交錯。在一實例中,交錯取決於非揮發性陣列行解碼器結構。在一實施例中,輸出使相同數目個PUF2位元填滿特定數目個偽隨機位元(例如為了混淆可存在於PUF2型樣中之一最終殘差相關)。
在一實施例中,偽隨機位元可藉由使用一雜湊函數來自PUF1或PUF2導出。亦可使用其他替代方法。
在一實施例中,為減少或防止歸因於非揮發性老化之位元損失,PUF3之位元視情況與錯誤校正碼(ECC)位元串連。在一實施例中,PUF4之位元視情況重複一或多次(其亦擴展ECC能力)。例如,上述情況可在一NAND記憶體上實施。在一實施例中,PUF5=PUF4 || PUF4 || ... || PUF4。
在一實施例中,PUF5之值可在一非揮發性記憶體陣列之不同列及/或區塊上寫入兩次或更多次。
由於(例如)上述混淆處理,一旦將最終PUF值寫入至一非揮發性陣列區塊中,則可在減少或不關心密鑰可靠性(例如歸因於雜訊或電荷損失)或任何試圖藉由Idd分析來推斷其值或藉由Vdd故障攻擊來強迫其值之情況下使用值。
在一實施例中,一旦已完成混淆處理,則可顯示PUF電路。在一實施例中,在停用之後,PUF裝置可提供內部用於一裝置上用於其他目的(例如在非揮發性陣列內部使用一標準讀取操作)。
在一實施例中,當自PUF3提取一密鑰時,區別密鑰位元與隨機位元。例如,儲存一密鑰之一裝置之內部邏輯知道位置及自PUF 5恢復至一先前或原始PUF (例如PUF3)所需之方法。
在一實施例中,藉由裝置提取密鑰來知道密鑰位元之位元位置。例如,裝置之內部邏輯可取決於設計選擇而接收中間PUF或最終密鑰PUF5之一者。接著,依相反順序施加(若干)操作將獲得原始PUF。例如,執行自PUF1至PUF5之處理步驟以依一駭客必須進行以下兩者之一方式儲存混淆PUF:讀取內容(例如密鑰位元)及亦知道經施加以恢復及判定原始密鑰之(若干)操作。結論
一非暫時性電腦儲存媒體可用於儲存韌體104之指令或儲存處理器143或處理裝置111之指令。當指令由(例如)記憶體裝置103或運算裝置603之控制器107執行時,指令引起控制器107執行上文所討論之方法之任何者。
在[實施方式]中,各種功能及操作可描述為由電腦指令執行或引起以簡化描述。然而,熟習技術者應認識到,此等表述意謂功能源自由一或多個控制器或處理器(諸如一微處理器)執行電腦指令。替代地或組合地,可在具有或不具有軟體指令之情況下使用專用電路實施功能及操作,諸如使用專用積體電路(ASIC)或場可程式化閘陣列(FPGA)。實施例可在無軟體指令之情況下或結合軟體指令使用固線式電路實施。因此,技術既不受限於硬體電路及軟體之任何特定組合,又不受限於由資料處理系統執行之指令之任何特定源。
儘管一些實施例可以完全運作電腦及電腦系統實施,但各種實施例能夠以各種形式分佈為一運算產品且能夠被應用,不管用於實際影響分佈之特定類型之機器或電腦可讀媒體如何。
所揭示之至少一些態樣可至少部分以軟體體現。即,技術可回應於其處理器(諸如一微處理器或微控制器)執行含於一記憶體(諸如ROM、揮發性RAM、非揮發性記憶體、快取或一遠端儲存裝置)中之指令之序列而實施於一電腦系統或其他資料處理系統中。
經執行以實施實施例之常式可實施為一作業系統或一特定應用、組件、程式、物件、模組或指令序列之部分(指稱「電腦程式」)。電腦程式通常包括一電腦中之各種記憶體及儲存裝置中各種時間設定之一或多個指令,且指令在由一電腦中之一或多個處理器讀取及執行時引起電腦執行執行涉及各種態樣之元素所需之操作。
一有形、非暫時性電腦儲存媒體可用於儲存軟體及資料,軟體及資料在由一資料處理系統執行時引起系統執行各種方法。可執行軟體及資料可儲存於包含(例如) ROM、揮發性RAM、非揮發性記憶體及/或快取之各種位置中。此軟體及/或資料之部分可儲存於此等儲存裝置之任何者中。此外,資料及指令可自中央伺服器或點對點網路獲得。資料及指令之不同部分可在不同時間及不同通信會話或一相同通信會話自不同中央伺服器及/或點對點網路獲得。可在執行應用程式之前獲得全部資料及指令。替代地,可僅在需要執行時動態即時地獲得資料及指令之部分。因此,無需全部資料及指令在一特定時間點位於一機器可讀媒體上。
電腦可讀儲存媒體之實例包含(但不限於)可記錄及不可記錄型媒體,諸如揮發性及非揮發性記憶體裝置、唯讀記憶體(ROM)、隨機存取記憶體(RAM)、快閃記憶體裝置、軟碟及其他可抽換磁碟、磁碟儲存媒體及光學儲存媒體(例如光碟唯讀硬體(CD ROM)、數位多功能光碟(DVD)等等)等等。指令可體現於一暫時性媒體(諸如電、光學、聲學或其他形式之傳播信號,諸如載波、紅外線信號、數位信號等等)中。一暫時性媒體通常用於傳輸指令,但不應被視為能夠儲存指令。
在各種實施例中,固線式電路可與軟體指令組合使用以實施技術。因此,技術既不受限於硬體電路及軟體之任何特定組合,又不受限於由資料處理系統執行之指令之任何特定源。
儘管一些圖式依一特定順序繪示若干操作,但與順序無關之操作可重新排序且其他操作可組合或中斷。儘管具體提及一些重新排序或其他分組,但一般技術者應明白其他重新排序或分組且因此不呈現一替代方案窮舉列表。再者,應認識到,階段可以硬體、韌體、軟體或其等之任何組合實施。
以上描述及圖式係繪示性且不應被解釋為限制。描述諸多具體細節以提供一透徹理解。然而,在特定例項中,未描述熟知或習知細節以避免使描述不清楚。參考本發明中之一實施例未必係參考相同實施例;且此等參考意謂「至少一」。
在以上說明中,已參考本發明之特定例示性實施例來描述本發明。顯而易見,可在不背離以下申請專利範圍中所闡述之較廣精神及範疇之情況下對本發明作出各種修改。因此,本說明書及圖式應被視為意在繪示而非限制。
100:運算系統/車輛 101:主機系統/主機 103:匯流排/記憶體裝置 104:韌體 105:記憶體系統/主機介面 106:揮發性動態隨機存取記憶體(DRAM) 107:識別組件/寫入組件/控制器 109:驗證組件/非揮發性儲存媒體 110:車輛運算裝置 111:處理裝置/記憶體區域/物理不可複製功能(PUF)架構 113, ..., 119:記憶體區域 120:處理器 121:非揮發性記憶體/PUF裝置 123:揮發性記憶體/訊息鑑別碼(MAC)模組 125:唯一密鑰 127:密碼模組 130:車載通信組件 140:天線 141:運算裝置 143:處理器 145:記憶體 147:識別組件 149:裝置秘密 150:處理器 151:主機裝置 153:驗證組件 155:鮮度生成器 157:密鑰儲存器 159:密鑰生成器 160:記憶體 170:轉向控制系統 180:速度控制系統 190:資訊系統 202:PUF裝置 204:選擇器模組 300:車輛 302:單調計數器 310:被動通信組件 320:晶片 330:非揮發性儲存組件 340:天線 350:主機裝置 360:處理器 370:記憶體 380:天線 390:系統 410':箭頭 410'':箭頭 411:區塊 413:區塊 415:區塊 417:區塊 419:區塊 430':外部通信組件 430'':車載通信組件 502:根密鑰 504:MAC模組 510':箭頭 510'':箭頭 520:非對稱ID生成器 530:加密器 531:型樣(資料)合併 540:非對稱密鑰生成器 550:額外加密器 603:運算裝置 625:初始密鑰 630:混淆處理模組 635:混淆密鑰 702:反相位元 730:解密器 731:型樣(資料)合併 750:解密器 760:區塊 802:偽隨機位元 810':外部運算裝置 810'':車輛運算裝置 911:區塊 913:區塊 915:區塊 921:區塊 923:區塊 925:區塊 1003:運算裝置 1010:密鑰注入/注入密鑰
附圖中依舉例而非限制方式繪示實施例,其中相同元件符號指示類似元件。
圖1展示根據一實施例之驗證一運算裝置之身份之一主機裝置。
圖2展示根據一實施例之具有一識別組件及一驗證組件之一實例性運算系統。
圖3展示根據一實施例之一車輛之一實例性運算裝置。
圖4展示根據一實施例之與一車輛之一實例性運算裝置通信之一實例性主機裝置。
圖5A展示根據一實施例之生成一主機裝置之一識別符、憑證及密鑰之一應用板。
圖5B展示根據一實施例之在使用層之階段中啟動之一實例性運算系統。
圖6展示根據一實施例之使用非對稱生成器生成一識別符、憑證及密鑰之一實例性運算裝置。
圖7展示根據一實施例之使用解密操作驗證一運算裝置之身份之一驗證組件。
圖8展示根據一實施例之驗證一憑證之一實例性程序之一方塊圖。
圖9展示根據一實施例之使用一識別符、憑證及一密鑰驗證一運算裝置之一身份之一方法。
圖10展示根據一實施例之用於自一物理不可複製功能(PUF)裝置接收一輸入之一訊息鑑別碼(MAC)之一輸出生成一唯一密鑰之一系統。
圖11展示根據一實施例之用於自由一選擇器模組選擇之一或多個PUF裝置接收輸入之一MAC之一輸出生成一唯一密鑰之一系統。
圖12展示根據一實施例之用於自一或多個PUF裝置接收輸入及自一單調計數器接收一輸入(及/或自另一鮮度機構(諸如NONCE、時戳等等)接收一輸入)之一MAC之一輸出生成一唯一密鑰之一系統。
圖13展示根據一實施例之自使用自一或多個PUF提供之一或多個輸入值之一MAC生成一輸出之一方法。
圖14展示根據一實施例之用於自一MAC之一輸出生成一根密鑰且添加一額外MAC來生成一會話密鑰之一系統,MAC自一或多個PUF裝置接收輸入及自一單調計數器接收一輸入(及/或自另一鮮度機構(如NONCE、時戳等等)接收一輸入)。
圖15展示根據一實施例之用於將一混淆密鑰儲存於非揮發性記憶體中之一運算裝置。
圖16展示根據一實施例之一混淆程序期間生成之一中間密鑰之一實例。
圖17展示根據一實施例之圖16之混淆程序期間生成之另一中間密鑰之一實例。
圖18展示根據一實施例之用於生成一混淆密鑰且將混淆密鑰儲存於一非揮發性記憶體中之一方法。
圖19展示根據一實施例之用於基於密鑰注入生成一初始密鑰、混淆初始密鑰及將混淆密鑰儲存於非揮發性記憶體中之一運算裝置。
921:區塊
923:區塊
925:區塊

Claims (18)

  1. 一種身份驗證方法,其包括:由一運算裝置自一主機裝置接收一訊息;由該運算裝置生成一識別符、一憑證及一密鑰,其中該識別符與該運算裝置之一身份相關聯,且該憑證使用該訊息生成;及由該運算裝置將該識別符、該憑證及該密鑰發送至該主機裝置,其中該主機裝置經組態以使用該識別符、該憑證及該密鑰驗證該運算裝置之該身份,其中該識別符係一第一公共識別符,且該運算裝置儲存用於生成該第一公共識別符之一第一裝置秘密,該方法進一步包括:自該主機裝置接收一替換命令;回應於接收該替換命令,將該第一裝置秘密替換為一第二裝置秘密;及將使用該第二裝置秘密生成之一第二公共識別符發送至該主機裝置。
  2. 如請求項1之方法,其中驗證該運算裝置之該身份包括串連該訊息及該憑證以提供第一資料。
  3. 如請求項2之方法,其中驗證該運算裝置之該身份進一步包括使用該密鑰解密該第一資料以提供第二資料。
  4. 如請求項3之方法,其中驗證該運算裝置之該身份進一步包括使用該 識別符解密該第二資料以提供一結果及比較該結果與該密鑰。
  5. 如請求項1之方法,其中該識別符係該第一公共識別符,且該運算裝置儲存一密鑰,該方法進一步包括:使用該密鑰作為一訊息鑑別碼之一輸入來生成一衍生秘密;其中該第一公共識別符使用該衍生秘密生成作為一非對稱生成器之一輸入。
  6. 如請求項1之方法,其中該密鑰係一公鑰,且生成該憑證包含串連該訊息與該公鑰以提供一資料輸入用於加密。
  7. 如請求項1之方法,其中:該識別符係該第一公共識別符,且一第一非對稱生成器生成該第一公共識別符及一私密識別符作為一相關聯對;該密鑰係一公鑰,且一第二非對稱生成器生成該公鑰及一私鑰作為一相關聯對;且生成該憑證包括:串連該訊息與該公鑰以提供第一資料;使用該私密識別符加密該第一資料以提供第二資料;及使用該私鑰加密該第二資料以提供該憑證。
  8. 如請求項1之方法,其中該密鑰係一公鑰,該方法進一步包括生成一隨機數作為一非對稱密鑰生成器之一輸入,其中該公鑰及一相關聯私鑰使 用該非對稱密鑰生成器生成。
  9. 如請求項8之方法,其中該隨機數使用一物理不可複製功能(PUF)生成。
  10. 一種身份驗證系統,其包括:至少一處理器;及記憶體,其含有指令,該等指令經組態以指示該至少一處理器:將一訊息發送至一運算裝置;自該運算裝置接收一識別符、一憑證及一密鑰,其中該識別符與該運算裝置之一身份相關聯,且該憑證由該運算裝置使用該訊息生成;及使用該識別符、該憑證及該密鑰驗證該運算裝置之該身份,其中該識別符係一第一公共識別符,該運算裝置儲存用於生成該第一公共識別符之一第一裝置秘密,且該等指令經進一步組態以指示該至少一處理器:將一替換命令發送至該運算裝置,該替換命令引起該運算裝置將該第一裝置秘密替換為一第二裝置秘密;及自該運算裝置接收使用該第二裝置秘密生成之一第二公共識別符。
  11. 如請求項10之系統,其中驗證該運算裝置之該身份包括:串連該訊息及該憑證以提供第一資料; 使用該密鑰解密該第一資料以提供第二資料;使用該識別符解密該第二資料以提供一結果;及比較該結果與該密鑰。
  12. 如請求項10之系統,其中該運算裝置經組態以使用該第二裝置秘密作為提供一衍生秘密之一訊息鑑別碼之一輸入且使用該衍生秘密生成該第二公共識別符。
  13. 如請求項10之系統,其中該替換命令包含具有基於該第一裝置秘密之一值之一欄位。
  14. 如請求項10之系統,其進一步包括經組態以生成一鮮度之一鮮度機構,其中發送至該運算裝置之該訊息包括該鮮度。
  15. 如請求項10之系統,其中該運算裝置之該身份包含一文數串。
  16. 一種非暫時性電腦儲存媒體,其儲存指令,該等指令在執行於一運算裝置上時引起該運算裝置至少:自一主機裝置接收一訊息;生成一識別符、一憑證及一密鑰,其中該識別符對應於該運算裝置之一身份,且該憑證使用該訊息生成;及將該識別符、該憑證及該密鑰發送至該主機裝置用於驗證該運算裝置之該身份,其中該識別符係一第一公共識別符,且該運算裝置儲存用於 生成該第一公共識別符之一第一裝置秘密,且該等指令進一步引起該運算裝置至少:自該主機裝置接收一替換命令;回應於接收該替換命令,將該第一裝置秘密替換為一第二裝置秘密;及將使用該第二裝置秘密生成之一第二公共識別符發送至該主機裝置。
  17. 如請求項16之非暫時性電腦儲存媒體,其中該識別符係與一私密識別符相關聯之該第一公共識別符,該密鑰係與一私鑰相關聯之一公鑰,且生成該憑證包括:串連該訊息與該公鑰以提供第一資料;使用該私密識別符加密該第一資料以提供第二資料;及使用該私鑰加密該第二資料以提供該憑證。
  18. 如請求項16之非暫時性電腦儲存媒體,其中驗證該運算裝置之該身份包括使用該識別符執行一解密操作以提供一結果及比較該結果與該密鑰。
TW109107607A 2019-03-25 2020-03-09 使用密鑰之身份驗證 TWI740409B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/363,196 2019-03-25
US16/363,196 US11323275B2 (en) 2019-03-25 2019-03-25 Verification of identity using a secret key

Publications (2)

Publication Number Publication Date
TW202038123A TW202038123A (zh) 2020-10-16
TWI740409B true TWI740409B (zh) 2021-09-21

Family

ID=72605209

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109107607A TWI740409B (zh) 2019-03-25 2020-03-09 使用密鑰之身份驗證

Country Status (7)

Country Link
US (2) US11323275B2 (zh)
EP (1) EP3949265A4 (zh)
JP (1) JP2022528641A (zh)
KR (1) KR20210131438A (zh)
CN (1) CN113615125A (zh)
TW (1) TWI740409B (zh)
WO (1) WO2020197718A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11218330B2 (en) 2019-03-25 2022-01-04 Micron Technology, Inc. Generating an identity for a computing device using a physical unclonable function
US11271755B2 (en) * 2019-03-25 2022-03-08 Micron Technology, Inc. Verifying vehicular identity
US11361660B2 (en) * 2019-03-25 2022-06-14 Micron Technology, Inc. Verifying identity of an emergency vehicle during operation
US11233650B2 (en) 2019-03-25 2022-01-25 Micron Technology, Inc. Verifying identity of a vehicle entering a trust zone
JP2020167509A (ja) * 2019-03-29 2020-10-08 コベルコ建機株式会社 情報処理システム、情報処理方法、およびプログラム
US11552781B2 (en) * 2019-04-05 2023-01-10 Honeywell International Inc. Using error detection bits for cryptographic integrity and authentication
EP3913880A1 (en) * 2020-05-19 2021-11-24 Continental Teves AG & Co. OHG Method of and system for secure data export from an automotive engine control unit
US11893141B2 (en) 2021-02-18 2024-02-06 PUFsecurity Corporation Method and control circuit for managing information of electronic device
CN113329371B (zh) * 2021-04-29 2022-12-20 北京航空航天大学 一种基于puf的5g车联网v2v匿名认证与密钥协商方法
US20220385485A1 (en) * 2021-06-01 2022-12-01 Micron Technology, Inc. Identity theft protection with no password access
US20240187260A1 (en) * 2021-06-24 2024-06-06 Google Llc Protection Environment for Attestation and Sealing Using a Device Identifier Composition Engine
US11977640B2 (en) * 2021-07-12 2024-05-07 Dell Products, L.P. Systems and methods for authenticating the identity of an information handling system
KR102665448B1 (ko) * 2021-12-14 2024-05-10 인하대학교 산학협력단 하이브리드 전자서명 방법
KR102391791B1 (ko) * 2021-12-24 2022-04-28 쌍용자동차 주식회사 능동형 차량 사이버 해킹 대응장치 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWM356972U (en) * 2008-12-17 2009-05-11 Univ Kun Shan Portable storage device with local and remote identity recognition function
TW201136266A (en) * 2009-12-17 2011-10-16 Sandisk Corp Content control method using certificate revocation lists
US20140093074A1 (en) * 2012-09-28 2014-04-03 Kevin C. Gotze Secure provisioning of secret keys during integrated circuit manufacturing
US20170104580A1 (en) * 2015-10-12 2017-04-13 Microsoft Technology Licensing, Llc Migrating secrets using hardware roots of trust for devices

Family Cites Families (119)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6119105A (en) 1996-06-17 2000-09-12 Verifone, Inc. System, method and article of manufacture for initiation of software distribution from a point of certificate creation utilizing an extensible, flexible architecture
AU4794101A (en) 2000-04-11 2001-10-23 Richard M Mathis Method and apparatus for computer memory protection and verification
KR100427323B1 (ko) 2001-08-31 2004-04-14 현대자동차주식회사 차고문 자동 개폐 제어장치 및 방법
US20030147534A1 (en) 2002-02-06 2003-08-07 Ablay Sewim F. Method and apparatus for in-vehicle device authentication and secure data delivery in a distributed vehicle network
US7840803B2 (en) 2002-04-16 2010-11-23 Massachusetts Institute Of Technology Authentication of integrated circuits
US7600114B2 (en) 2002-06-28 2009-10-06 Temic Automotive Of North America, Inc. Method and system for vehicle authentication of another vehicle
US6977580B2 (en) 2002-09-26 2005-12-20 International Business Machines Corporation Apparatus, system and method of securing perimeters of security zones from suspect vehicles
AU2003293125A1 (en) * 2002-11-27 2004-06-23 Rsa Security Inc Identity authentication system and method
US7165181B2 (en) 2002-11-27 2007-01-16 Intel Corporation System and method for establishing trust without revealing identity
US7603557B2 (en) 2004-04-15 2009-10-13 Panasonic Corporation Communication device, communication system and authentication method
US7573373B2 (en) 2004-08-25 2009-08-11 Hap Nguyen Anti-carjacking apparatus, systems, and methods for hi-speed pursuit avoidance and occupant safety
US7525435B2 (en) 2005-08-02 2009-04-28 Performance Partners, Llc Method, apparatus, and system for securing areas of use of vehicles
US7613891B2 (en) 2006-05-04 2009-11-03 Intel Corporation Methods and apparatus for providing a read access control system associated with a flash device
US9794247B2 (en) 2006-08-22 2017-10-17 Stmicroelectronics, Inc. Method to prevent cloning of electronic components using public key infrastructure secure hardware device
KR100823738B1 (ko) * 2006-09-29 2008-04-21 한국전자통신연구원 컴퓨팅 플랫폼의 설정 정보를 은닉하면서 무결성 보증을제공하는 방법
US9830637B2 (en) 2007-02-23 2017-11-28 Epona Llc System and method for processing vehicle transactions
EP2003813B1 (en) 2007-06-15 2009-03-18 NTT DoCoMo, Inc. Method and Apparatus for Authentication
US20090179775A1 (en) 2008-01-10 2009-07-16 Gm Global Technology Operations, Inc. Secure information system
US8761390B2 (en) 2008-06-30 2014-06-24 Gm Global Technology Operations Production of cryptographic keys for an embedded processing device
US8484486B2 (en) 2008-08-06 2013-07-09 Silver Spring Networks, Inc. Integrated cryptographic security module for a network node
EP2359520B1 (en) 2008-11-17 2019-08-14 Intrinsic ID B.V. Distributed puf
FR2941343B1 (fr) 2009-01-20 2011-04-08 Groupe Des Ecoles De Telecommunications Get Ecole Nat Superieure Des Telecommunications Enst Circuit de cryptographie, protege notamment contre les attaques par observation de fuites d'information par leur chiffrement.
US8499154B2 (en) 2009-01-27 2013-07-30 GM Global Technology Operations LLC System and method for establishing a secure connection with a mobile device
US8184812B2 (en) 2009-06-03 2012-05-22 Freescale Semiconductor, Inc. Secure computing device with monotonic counter and method therefor
JP5612514B2 (ja) 2010-03-24 2014-10-22 パナソニック株式会社 不揮発性メモリコントローラ及び不揮発性記憶装置
US8499155B2 (en) 2010-03-24 2013-07-30 GM Global Technology Operations LLC Adaptive certificate distribution mechanism in vehicular networks using variable inter-certificate refresh period
US8667265B1 (en) 2010-07-28 2014-03-04 Sandia Corporation Hardware device binding and mutual authentication
US20120038489A1 (en) 2010-08-12 2012-02-16 Goldshmidt Ehud System and method for spontaneous p2p communication between identified vehicles
JP2012118805A (ja) 2010-12-01 2012-06-21 Sony Corp 情報処理装置、リムーバブルストレージ装置、情報処理方法、及び情報処理システム
US8526606B2 (en) 2010-12-20 2013-09-03 GM Global Technology Operations LLC On-demand secure key generation in a vehicle-to-vehicle communication network
US9467293B1 (en) 2010-12-22 2016-10-11 Emc Corporation Generating authentication codes associated with devices
EP2479731B1 (en) 2011-01-18 2015-09-23 Alcatel Lucent User/vehicle-ID associating access rights and privileges
US20120183135A1 (en) 2011-01-19 2012-07-19 Verayo, Inc. Reliable puf value generation by pattern matching
KR101881167B1 (ko) 2011-06-13 2018-07-23 주식회사 케이티 차량 제어 시스템
US8924737B2 (en) 2011-08-25 2014-12-30 Microsoft Corporation Digital signing authority dependent platform secret
US8700916B2 (en) 2011-12-02 2014-04-15 Cisco Technology, Inc. Utilizing physically unclonable functions to derive device specific keying material for protection of information
JP5710460B2 (ja) 2011-12-16 2015-04-30 株式会社東芝 暗号化鍵生成装置およびプログラム
WO2013109857A1 (en) 2012-01-20 2013-07-25 Interdigital Patent Holdings, Inc. Identity management with local functionality
DE102012201164B4 (de) 2012-01-26 2017-12-07 Infineon Technologies Ag Vorrichtung und verfahren zur erzeugung eines nachrichtenauthentifizierungscodes
US8750502B2 (en) 2012-03-22 2014-06-10 Purdue Research Foundation System on chip and method for cryptography using a physically unclonable function
US9591484B2 (en) 2012-04-20 2017-03-07 T-Mobile Usa, Inc. Secure environment for subscriber device
US10079678B2 (en) 2012-07-24 2018-09-18 Intel Corporation Providing access to encrypted data
US8525169B1 (en) 2012-08-10 2013-09-03 International Business Machines Corporation Reliable physical unclonable function for device authentication
KR102201062B1 (ko) 2012-10-04 2021-01-11 인트린직 아이디 비브이 물리적 복제방지 기능으로서 이용되는 메모리로부터 암호 키를 생성하기 위한 시스템
JP5967822B2 (ja) 2012-10-12 2016-08-10 ルネサスエレクトロニクス株式会社 車載通信システム及び装置
JP5939126B2 (ja) 2012-10-17 2016-06-22 株式会社デンソー 車載装置および車両盗難防止システム
US8885819B2 (en) 2012-12-27 2014-11-11 Intel Corporation Fuse attestation to secure the provisioning of secret keys during integrated circuit manufacturing
US8938792B2 (en) 2012-12-28 2015-01-20 Intel Corporation Device authentication using a physically unclonable functions based key generation system
JP2014158105A (ja) 2013-02-14 2014-08-28 Panasonic Corp 端末装置
US20140245010A1 (en) 2013-02-25 2014-08-28 Kabushiki Kaisha Toshiba Device and authentication method therefor
DE102013203415B4 (de) 2013-02-28 2016-02-11 Siemens Aktiengesellschaft Erstellen eines abgeleiteten Schlüssels aus einem kryptographischen Schlüssel mittels einer physikalisch nicht klonbaren Funktion
EP2965254B1 (en) 2013-03-08 2020-05-13 Robert Bosch GmbH Systems and methods for maintaining integrity and secrecy in untrusted computing platforms
US9858208B2 (en) 2013-03-21 2018-01-02 International Business Machines Corporation System for securing contents of removable memory
US9906372B2 (en) 2013-06-03 2018-02-27 Intel Deutschland Gmbh Authentication devices, key generator devices, methods for controlling an authentication device, and methods for controlling a key generator
US9769658B2 (en) 2013-06-23 2017-09-19 Shlomi Dolev Certificating vehicle public key with vehicle attributes
KR101521412B1 (ko) 2013-07-11 2015-05-19 가톨릭관동대학교산학협력단 인증기반 메시지 집계 프로토콜 관리시스템
US20150256522A1 (en) * 2013-09-16 2015-09-10 Clutch Authentication Systems, Llc System and method for communication over color encoded light patterns
US9992031B2 (en) * 2013-09-27 2018-06-05 Intel Corporation Dark bits to reduce physically unclonable function error rates
EP3056394B1 (en) 2013-10-08 2022-11-30 ICTK Holdings Co., Ltd. Vehicle security network device and design method therefor
FR3013138B1 (fr) 2013-11-12 2015-10-30 Morpho Procede et systeme de controle lors de l'acces ou la sortie d'une zone
DE102013227087A1 (de) 2013-12-23 2015-06-25 Siemens Aktiengesellschaft Gesichertes Bereitstellen eines Schlüssels
EP3095210B1 (en) * 2014-01-13 2022-03-23 Visa International Service Association Efficient methods for protecting identity in authenticated transmissions
CN104901931B (zh) 2014-03-05 2018-10-12 财团法人工业技术研究院 证书管理方法与装置
US9147075B1 (en) 2014-03-20 2015-09-29 Juniper Networks, Inc. Apparatus and method for securely logging boot-tampering actions
EP3920058A1 (en) 2014-04-09 2021-12-08 ICTK Holdings Co., Ltd. Authentication apparatus and method
US10574633B2 (en) * 2014-06-18 2020-02-25 Visa International Service Association Efficient methods for authenticated communication
CN105337725B (zh) 2014-08-08 2019-04-23 中国科学院数据与通信保护研究教育中心 一种密钥管理装置及方法
CN107004380B (zh) 2014-10-13 2020-11-13 本质Id有限责任公司 包括物理不可克隆功能的加密设备
US9935937B1 (en) 2014-11-05 2018-04-03 Amazon Technologies, Inc. Implementing network security policies using TPM-based credentials
CN105794146A (zh) 2014-11-13 2016-07-20 松下电器(美国)知识产权公司 密钥管理方法、车载网络系统以及密钥管理装置
US9740863B2 (en) 2014-11-25 2017-08-22 Intel Corporation Protecting a secure boot process against side channel attacks
US9584329B1 (en) 2014-11-25 2017-02-28 Xilinx, Inc. Physically unclonable function and helper data indicating unstable bits
US9569601B2 (en) 2015-05-19 2017-02-14 Anvaya Solutions, Inc. System and method for authenticating and enabling functioning of a manufactured electronic device
KR20180025903A (ko) * 2015-07-03 2018-03-09 어페로, 인크. 사물 인터넷(IoT) 시스템에서 보안 통신 채널을 설정하기 위한 장치 및 방법
US9604651B1 (en) 2015-08-05 2017-03-28 Sprint Communications Company L.P. Vehicle telematics unit communication authorization and authentication and communication service provisioning
US10402792B2 (en) 2015-08-13 2019-09-03 The Toronto-Dominion Bank Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers
WO2017066715A1 (en) 2015-10-14 2017-04-20 Cambridge Blockchain, LLC Systems and methods for managing digital identities
DE102015220224A1 (de) 2015-10-16 2017-04-20 Volkswagen Aktiengesellschaft Verfahren zur geschützten Kommunikation eines Fahrzeugs
DE102015220227A1 (de) 2015-10-16 2017-04-20 Volkswagen Aktiengesellschaft Verfahren und System für eine asymmetrische Schlüsselherleitung
JP6103169B1 (ja) 2015-11-05 2017-03-29 三菱電機株式会社 セキュリティ装置、及びセキュリティ方法
KR101782483B1 (ko) 2015-12-03 2017-10-23 현대오토에버 주식회사 차량 애드 혹 네트워크에서의 차량 인증서 생성 방법 및 장치
JP5991561B2 (ja) 2015-12-25 2016-09-14 パナソニックIpマネジメント株式会社 無線装置
JP6684690B2 (ja) 2016-01-08 2020-04-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 不正検知方法、監視電子制御ユニット及び車載ネットワークシステム
CA3080676C (en) 2016-01-28 2022-04-05 Etas Embedded Systems Canada Inc. System and method for certificate selection in vehicle-to-vehicle applications to enhance privacy
DE102016205198A1 (de) 2016-03-30 2017-10-05 Siemens Aktiengesellschaft Nachweisen einer Authentizität eines Gerätes mithilfe eines Berechtigungsnachweises
WO2017194335A2 (en) 2016-05-09 2017-11-16 Intrinsic Id B.V. Programming device arranged to obtain and store a random bit string in a memory device
US20200177398A1 (en) 2016-06-17 2020-06-04 Kddi Corporation System, certification authority, vehicle-mounted computer, vehicle, public key certificate issuance method, and program
KR102562786B1 (ko) 2016-07-07 2023-08-03 엘지이노텍 주식회사 차량 운전 보조 장치 및 이를 포함하는 주차 관제 시스템
KR102598613B1 (ko) 2016-07-21 2023-11-07 삼성전자주식회사 개인 인증 및 차량 인증 기반으로 차량 정보를 제공하는 시스템 및 방법
US10390221B2 (en) 2016-07-25 2019-08-20 Ford Global Technologies, Llc Private vehicle-to-vehicle communication
US20180060813A1 (en) 2016-08-23 2018-03-01 Ford Global Technologies, Llc Autonomous delivery vehicle system
US10397215B2 (en) 2016-09-27 2019-08-27 Visa International Service Assocation Secure element installation and provisioning
US10297147B2 (en) 2016-12-06 2019-05-21 Flir Commercial Systems, Inc. Methods and apparatus for monitoring traffic data
DE112017006701T5 (de) 2016-12-30 2019-09-19 Intel Corporation Internet der Dinge
PH12017000044B1 (en) 2017-02-13 2018-08-20 Samsung Electronics Co Ltd Vehicle parking area access management system and method
US11341251B2 (en) 2017-04-19 2022-05-24 Quintessencelabs Pty Ltd. Encryption enabling storage systems
US10984136B2 (en) 2017-04-21 2021-04-20 Micron Technology, Inc. Secure memory device with unique identifier for authentication
US10783600B2 (en) 2017-05-25 2020-09-22 GM Global Technology Operations LLC Method and system using a blockchain database for data exchange between vehicles and entities
JP6754325B2 (ja) 2017-06-20 2020-09-09 国立大学法人東海国立大学機構 車載認証システム、車載認証装置、コンピュータプログラム及び通信装置の認証方法
US20190027044A1 (en) 2017-07-19 2019-01-24 Aptiv Technologies Limited Automated secured-area access system for an automated vehicle
JP6773617B2 (ja) 2017-08-21 2020-10-21 株式会社東芝 更新制御装置、ソフトウェア更新システムおよび更新制御方法
JP6903529B2 (ja) 2017-09-11 2021-07-14 株式会社東芝 情報処理装置、情報処理方法およびプログラム
US11140141B2 (en) 2017-09-18 2021-10-05 Fiske Software Llc Multiparty key exchange
US10783729B2 (en) 2017-10-11 2020-09-22 Marc Chelnik Vehicle parking authorization assurance system
EP3701669B1 (en) 2017-10-22 2023-09-06 Lg Electronics, Inc. Cryptographic methods and systems for managing digital certificates
US10812257B2 (en) 2017-11-13 2020-10-20 Volkswagen Ag Systems and methods for a cryptographically guaranteed vehicle identity
US11323249B2 (en) 2017-12-20 2022-05-03 Lg Electronics, Inc. Cryptographic methods and systems for authentication in connected vehicle systems and for other uses
US11011056B2 (en) 2018-01-29 2021-05-18 Fujitsu Limited Fragmentation-aware intelligent autonomous intersection management using a space-time resource model
US10917237B2 (en) 2018-04-16 2021-02-09 Microsoft Technology Licensing, Llc Attestable and destructible device identity
US10778661B2 (en) 2018-04-27 2020-09-15 Micron Technology, Inc. Secure distribution of secret key using a monotonic counter
US10742406B2 (en) 2018-05-03 2020-08-11 Micron Technology, Inc. Key generation and secure storage in a noisy environment
US11482017B2 (en) 2018-10-12 2022-10-25 Micron Technology, Inc. Method and apparatus to recognize transported passengers and goods
US11716194B2 (en) 2018-10-12 2023-08-01 Micron Technology, Inc. Vehicle communication for authorized entry
US10868667B2 (en) 2018-11-06 2020-12-15 GM Global Technology Operations LLC Blockchain enhanced V2X communication system and method
KR20200091689A (ko) 2019-01-23 2020-07-31 한국전자통신연구원 차량 통신을 위한 보안 관리 시스템, 그것의 동작 방법, 및 그것을 포함하는 차량 통신 서비스 제공 시스템의 메시지 처리 방법
US11218330B2 (en) 2019-03-25 2022-01-04 Micron Technology, Inc. Generating an identity for a computing device using a physical unclonable function
US11361660B2 (en) 2019-03-25 2022-06-14 Micron Technology, Inc. Verifying identity of an emergency vehicle during operation
US11233650B2 (en) 2019-03-25 2022-01-25 Micron Technology, Inc. Verifying identity of a vehicle entering a trust zone
US11271755B2 (en) 2019-03-25 2022-03-08 Micron Technology, Inc. Verifying vehicular identity

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWM356972U (en) * 2008-12-17 2009-05-11 Univ Kun Shan Portable storage device with local and remote identity recognition function
TW201136266A (en) * 2009-12-17 2011-10-16 Sandisk Corp Content control method using certificate revocation lists
US20140093074A1 (en) * 2012-09-28 2014-04-03 Kevin C. Gotze Secure provisioning of secret keys during integrated circuit manufacturing
US20170104580A1 (en) * 2015-10-12 2017-04-13 Microsoft Technology Licensing, Llc Migrating secrets using hardware roots of trust for devices

Also Published As

Publication number Publication date
US11323275B2 (en) 2022-05-03
EP3949265A4 (en) 2022-12-21
EP3949265A1 (en) 2022-02-09
CN113615125A (zh) 2021-11-05
JP2022528641A (ja) 2022-06-15
WO2020197718A1 (en) 2020-10-01
US20220224550A1 (en) 2022-07-14
US20200313909A1 (en) 2020-10-01
TW202038123A (zh) 2020-10-16
KR20210131438A (ko) 2021-11-02

Similar Documents

Publication Publication Date Title
TWI740409B (zh) 使用密鑰之身份驗證
US11218330B2 (en) Generating an identity for a computing device using a physical unclonable function
US11962701B2 (en) Verifying identity of a vehicle entering a trust zone
US11361660B2 (en) Verifying identity of an emergency vehicle during operation
US20150317495A1 (en) Protecting Critical Data Structures in an Embedded Hypervisor System
US11615207B2 (en) Security processor configured to authenticate user and authorize user for user data and computing system including the same
KR20210132721A (ko) 네트워크에 액세스 시의 보안 통신
US20210334416A1 (en) Storage device providing function of securely discarding data and operating method thereof
CN115037492A (zh) 基于在存储器装置中实施的安全特征的在线安全服务
CN114491682A (zh) 虚拟订户识别模块和虚拟智能卡
US11677560B2 (en) Utilization of a memory device as security token
CN117077142A (zh) 经由身份验证跟踪具有安全存储器装置的端点中的组件的活动
CN115021949A (zh) 具有被保护用于可靠身份验证的存储器装置的端点的识别管理方法和系统
CN115021950A (zh) 用于端点的在线服务商店
CN115037494A (zh) 无需预先定制端点的云服务登入
CN115037493A (zh) 监测具有安全存储器装置的端点的完整性以用于身份认证
CN115037491A (zh) 具有被保护用于可靠身份验证的存储器装置的端点群组中的订阅共享
CN115037496A (zh) 经由在线固件商店的端点定制