CN117397199A - 嵌入式设备的安全信任根注册和身份管理 - Google Patents
嵌入式设备的安全信任根注册和身份管理 Download PDFInfo
- Publication number
- CN117397199A CN117397199A CN202280027961.4A CN202280027961A CN117397199A CN 117397199 A CN117397199 A CN 117397199A CN 202280027961 A CN202280027961 A CN 202280027961A CN 117397199 A CN117397199 A CN 117397199A
- Authority
- CN
- China
- Prior art keywords
- certificate
- electronic device
- server
- csr
- secure connection
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 85
- 230000015654 memory Effects 0.000 claims abstract description 72
- 230000006870 function Effects 0.000 claims abstract description 57
- 230000004044 response Effects 0.000 claims abstract description 51
- 238000012795 verification Methods 0.000 claims abstract description 9
- 230000005540 biological transmission Effects 0.000 claims description 15
- 230000000977 initiatory effect Effects 0.000 claims description 7
- 238000012546 transfer Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 37
- 238000010586 diagram Methods 0.000 description 13
- 230000004888 barrier function Effects 0.000 description 12
- 238000004519 manufacturing process Methods 0.000 description 12
- 238000003860 storage Methods 0.000 description 11
- 230000005641 tunneling Effects 0.000 description 11
- 230000001010 compromised effect Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000013475 authorization Methods 0.000 description 6
- 238000009434 installation Methods 0.000 description 6
- 239000004065 semiconductor Substances 0.000 description 5
- 238000004590 computer program Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000012805 post-processing Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000007429 general method Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- VBMOHECZZWVLFJ-GXTUVTBFSA-N (2s)-2-[[(2s)-6-amino-2-[[(2s)-6-amino-2-[[(2s,3r)-2-[[(2s,3r)-2-[[(2s)-6-amino-2-[[(2s)-2-[[(2s)-6-amino-2-[[(2s)-2-[[(2s)-2-[[(2s)-2,6-diaminohexanoyl]amino]-5-(diaminomethylideneamino)pentanoyl]amino]propanoyl]amino]hexanoyl]amino]propanoyl]amino]hexan Chemical compound NC(N)=NCCC[C@@H](C(O)=O)NC(=O)[C@H](CCCCN)NC(=O)[C@H](CCCCN)NC(=O)[C@H]([C@@H](C)O)NC(=O)[C@H]([C@H](O)C)NC(=O)[C@H](CCCCN)NC(=O)[C@H](C)NC(=O)[C@H](CCCCN)NC(=O)[C@H](C)NC(=O)[C@H](CCCN=C(N)N)NC(=O)[C@@H](N)CCCCN VBMOHECZZWVLFJ-GXTUVTBFSA-N 0.000 description 1
- 239000004593 Epoxy Substances 0.000 description 1
- 206010000210 abortion Diseases 0.000 description 1
- 230000001253 anti-conflict Effects 0.000 description 1
- 230000009118 appropriate response Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000001193 catalytic steam reforming Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003750 conditioning effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000002354 daily effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000011143 downstream manufacturing Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 108010068904 lysyl-arginyl-alanyl-lysyl-alanyl-lysyl-threonyl-threonyl-lysyl-lysyl-arginine Proteins 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 229910021487 silica fume Inorganic materials 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000012800 visualization 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/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/3234—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 additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/062—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
- H04L63/064—Hierarchical key distribution, e.g. by multi-tier trusted parties
-
- 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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or 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/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/321—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 a third party or a trusted authority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- 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
- 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/3271—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 using challenge-response
- H04L9/3278—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 using challenge-response using physically unclonable functions [PUF]
-
- 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/80—Wireless
- H04L2209/805—Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Storage Device Security (AREA)
Abstract
嵌入式设备的安全信任根注册和身份管理。提供了与设备注册相关的方法、装置、设备和计算机可读介质。在一个示例中,提供了一种电子设备。电子设备包括具有物理不可克隆功能(PUF)的安全模块。安全模块配置成基于对PUF的第一挑战和响应来建立注册密钥对(EPK、ESK),注册密钥对包括注册公共密钥(EPK)和注册私密密钥(ESK)。电子设备配置成基于对PUF的第二挑战和响应来建立设备密钥对(DSK、DPK),设备密钥对包括设备公共密钥(DPK)和设备私密密钥(DSK)。电子设备还包括其上安装有主可信根证书的一个或多个存储器。电子设备还包括一个或多个处理器,一个或多个处理器配置成通过安全连接向服务器传输证书签名请求(CSR),用于获取证实DPK与设备标识符相关联的证书,CSR包括设备标识符和DPK,其中,CSR使用DSK来进行签名,并且其中,设备标识符基于EPK的函数。一个或多个处理器还配置成通过安全连接来接收将DPK与设备标识符相关联的设备证书。一个或多个处理器还配置成验证设备证书是主受信根证书的派生物。一个或多个处理器还配置成响应于验证而将设备证书安装在存储器中。
Description
技术领域
本公开总体上涉及用于在各方之间建立信任的方法和系统。特别地,本公开涉及密写方法和配置成执行这样的方法的计算装置。本文的公开适用于许多设备和网络,但是特别适用于互联网连接的设备。
背景技术
比如互联网之类的网络改变了日常工作的执行方式,并且这对信息安全产生了重大影响。许多日常任务要求数字设备进行安全认证和由另一方认证和/或安全地处理私人信息。随着物联网(IoT)的发展,比如供暖和照明之类的系统由互联网连接的设备控制变得越来越普遍——每年都有越来越多的设备连接到互联网。
设备认证是指安全地建立设备身份以确保其可信的行为。设备连接到的服务(例如基于云的服务)需要知道该设备是正版的,正在运行可信软件,并代表可信用户运作。
供应(provisioning)是指准备设备以适合移交给终端用户并注册服务的过程。认证是该过程的一部分,因此只有出示适当凭据的设备才能注册。供应的确切细节可以基于实施方式而广泛变化,但在大多数情况下,设备在制造时提供有密写密钥和证书,使得在部署设备时(设备准备好提供给终端用户以连接到服务),设备可以提供适当的凭证。
通常,IoT设备中的嵌入式系统依赖于预共享密钥,一旦这些设备连接到互联网并成为全球可寻址的,预共享密钥就会成为问题。预共享密钥必须在部署设备之前共享,并且由于集中式资源典型地需要与每个设备共享密钥以进行通信,因此单个服务器受损可以危及整个设备网络的安全性。此外,这样的预共享密钥不能实现各种安全保证,比如任何通信的来源证明和访问控制。
公共密钥基础设施(PKI)提供了一种解决预共享密钥问题的方法。PKI在许多联网系统中用于集中式凭证管理和密钥分发,尽管IoT社区由于经济和技术原因而在采用PKI方面进展缓慢。公共密钥密码术或非对称密码术是使用成对密钥的密写系统,包括可以广泛散播的公共密钥和只有设备/所有者知道的相应秘密/私有密钥。PKI是创建、管理、分发、使用、存储和撤销数字证书以及管理公共密钥加密所需的一组角色、策略、硬件、软件和程序。PKI将公共密钥与实体(比如个人、组织或个人设备)各自的身份绑定在一起。该绑定通过受信证书权威机构(CA)登记和发布证书的过程来建立。
为了利用预共享密钥或公共密钥基础设施,典型地在设备制造时或制造后不久将一些秘密信息添加到电子设备的安全区域中。例如,秘密信息可以是预共享密钥,或者秘密信息可以包括依赖于公共密钥加密的系统中的密钥对的私密密钥。这种途径需要将秘密信息添加到电子设备的安全设施中,和/或信任第三方安全添加密钥的能力。安全设施成本高昂,难以管理,并需要持续维护和评估安全程序,以确保对新威胁做出强有力的响应。典型地,可能需要硬件安全模块(HSM)来生成和存储密钥,可能需要集成的密钥添加系统来将密钥添加到电子设备中,并且即使这样,如果HSM和/或安全设施受损,也不能确保添加的密钥的完整性。
向电子设备安全提供秘密信息的固有困难会影响进一步的下游流程,比如设备的注册——其进入互联设备的网格的开始。通常,设备证书必须在制造时安全地提供给设备,以便向设备提供一些基本凭证,利用这些凭证来注册服务。同样,对于如何安全地完成此操作存在限制。
在典型的场景中,原始装备制造商(OEM)可能寻求为制造的设备提供身份,以允许注册,以及在设备上安全地安装固件。该设备可以包括例如具有用于存储密钥的安全区域的微控制器,并且该微控制器可以由第三方制造商制造。OEM或制造商可以例如将私密密钥和设备证书注入安全区域,这需要安全设施。为了在设备上安装固件/证书,OEM可以使用编程公司的服务来配置设备,这需要信任。必须信任编程公司来操作安全设施,注入正确的信息,并代表OEM安全地对证书进行签名。在一些情况下,供应设备可能需要多个不同方与电子设备交互。
本发明实施例的目的是至少缓解本领域已知的一个或多个问题。
发明内容
根据本发明的一个方面,提供了一种电子设备。该电子设备包括具有物理不可克隆功能(PUF)的安全模块。安全模块配置成基于对PUF的第一挑战和响应来建立注册密钥对(EPK、ESK),注册密钥对包括注册公共密钥(EPK)和注册私密密钥(ESK)。电子设备配置成基于对PUF的第二挑战和响应来建立设备密钥对(DSK、DPK),该设备密钥对包括设备公共密钥(DPK)和设备私密密钥(DSK)。电子设备还包括其上安装有主可信根证书的一个或多个存储器。该电子设备还包括一个或多个处理器,一个或多个处理器通过安全连接向服务器传输证书签名请求(CSR),以获取证实DPK与设备标识符相关联的证书,其中,CSR包括设备标识符和DPK。CSR使用DSK来进行签名,并且设备标识符基于EPK的函数。一个或多个处理器还配置成通过安全连接来接收将DPK与设备标识符相关联的设备证书。一个或多个处理器还配置成验证设备证书是主受信根证书的派生物。一个或多个处理器还配置成响应于验证而将设备证书安装在存储器中。
有利地,基于对PUF的挑战和来自PUF的响应,设备标识符与第一密钥对(EPK和ESK)相关联,并且提供给电子设备的设备证书将第二密钥对(DPK、DSK)与该设备标识符相关联,第二密钥对也基于对PUF的挑战和来自PUF的响应。不需要将秘密信息添加到设备中,并且如果随后设备密钥对被泄露,则可以使用新的设备密钥对来对设备证书重设密钥,而不需要更新电子设备的标识符。
一个或多个处理器还可以配置成通过安全连接来接收IoT中枢根证书并将IoT中枢根证书存储在存储器中。一个或多个处理器还可以配置成通过安全连接来接收IoT中枢端点并将IoT中枢端点存储在存储器中。
一个或多个处理器上可以安装有发布证书,其中,发布证书是主可信根证书的派生物。验证设备证书是主可信根证书的派生物可以包括验证设备证书是发布证书的直接派生物。发布证书可以是主要受信任根证书的直接派生物。
一个或多个存储器上可以安装有临时注册设备证书,其中,临时注册设备证书将EPK与设备标识符相关联并包括有效期。临时注册设备证书可以是临时注册可信根证书的派生物。安全连接可以在有效期到期之前建立。
建立到服务器的安全连接可以包括通过出示临时注册设备证书向服务器进行认证。
临时注册设备证书可以由存储在服务器中的临时注册发布证书来签名。
一个或多个处理器还可以配置成从服务器接收安全连接发布证书和安全连接证书,安全连接发布证书和安全连接证书是主可信根证书的派生物。一个或多个处理器还可以配置成使用主可信根证书来验证安全连接证书。一个或多个处理器还可以配置成响应于验证来建立到服务器的安全连接。
验证安全连接证书可以包括验证安全连接证书是主可信根证书的派生物,并且可选地,将服务器身份与存储在电子设备的一个或多个存储器中的服务器身份进行比较。
根据本发明的一个方面,提供了一种方法,该方法由电子设备执行。电子设备包括具有物理不可克隆功能的安全模块。安全模块配置成基于对PUF的第一挑战和响应来建立注册密钥对(EPK、ESK),注册密钥对包括注册公共密钥(EPK)和注册私密密钥(ESK)。电子设备还包括其上安装有临时注册可信根证书的一个或多个存储器。电子设备此外还配置成基于对PUF的第二挑战和响应来建立设备密钥对(DSK、DPK),设备密钥对包括设备公共密钥(DPK)和设备私密密钥(DSK)。该方法包括:通过安全连接向服务器传输证书签名请求(CSR),以获取证实DPK与设备标识符相关联的证书。CSR包括设备标识符和DPK。CSR使用DSK来进行签名,并且设备标识符基于EPK的函数。该方法还包括通过安全连接来接收将DPK与设备标识符相关联的设备证书。该方法还包括验证设备证书是主受信根证书的派生物。该方法还包括响应于验证而将设备证书安装在存储器中。
根据本发明的一个方面,提供了包括一个或多个服务器的服务器系统的服务器。服务器系统适用于认证电子设备。服务器配制成接收证书签名请求(CSR),以获取证实设备密钥对的设备公共密钥(DPK)与用于标识电子设备的设备标识符相关联的证书。CSR包括设备标识符和DPK。使用设备密钥对的设备私密密钥(DSK)来对CSR进行签名,并且设备标识符基于已知属于电子设备的注册密钥对的函数。服务器还配置成使得CSR的设备标识符得以对照设备标识符数据库而被检查,服务器可以针对设备标识符数据库对证书进行签名。服务器还配置成使得对CSR的设备标识符的检查被执行,以验证设备标识符是否已知用于识别电子设备。服务器还配置成基于CSR来对设备证书进行签名,其中,设备证书是电子设备已知的主可信根证书的派生物。服务器还配置成启动通过安全连接向由设备标识符标识的电子设备传输设备证书。
服务器还可以配置成启动通过安全连接向电子设备传输IoT中枢根证书。服务器还可以配置成启动通过安全连接向电子设备传输IoT中枢端点。
服务器还可以配置成使得向IoT中枢登记设备证书。
服务器还可以配置成使得检索与设备标识符相关联的安全策略,并使得根据CSR和安全策略对设备证书进行签名。
使得对CSR的设备标识符的检查被执行以验证设备标识符是否已知用于识别电子设备可以包括验证CSR的设备标识符与临时注册设备证书的设备标识符相匹配,临时注册设备证书证实EPK与设备标识符相关联并包括有效期,临时注册设备证书已经由电子设备在建立安全连接时向服务器系统出示。
服务器还可以配置成使得检查临时注册设备证书是否由存储在服务器系统中的临时注册发布证书签名,以及检查临时注册设备证书是否在有效期内。
服务器还可以配置成基于对临时注册设备证书的签名的检查,在电子设备与服务器系统之间建立安全连接。
服务器还可以配置成启动从服务器系统向电子设备传输安全连接发布证书和安全连接证书,安全连接发布证书和安全连接证书是主可信根证书的派生物。
服务器还可以配置成使得接收临时注册设备证书,该临时注册设备证书证实EPK与设备标识符相关联并包括有效期。
根据本发明的一个方面,提供了一种方法。该方法包括接收证书签名请求(CSR),以获取证实设备密钥对的设备公共密钥(DPK)与用于标识电子设备的设备标识符相关联的证书。CSR包括设备标识符和DPK。使用设备密钥对的设备私密密钥(DSK)来对CSR进行签名,并且设备标识符基于已知属于电子设备的注册密钥对的函数。该方法还包括使得设备标识符得以对照设备标识符数据库而被检查,服务器可以针对设备标识符数据库对证书进行签名。该方法还包括使得对CSR的设备标识符的检查被执行,以验证设备标识符是否已知用于识别电子设备。该方法还包括基于CSR来对设备证书进行签名,其中,设备证书是电子设备已知的主可信根证书的派生物。该方法还包括启动通过安全连接向由设备标识符标识的电子设备传输设备证书。
根据本发明的一个方面,提供了一种系统。该系统包括电子设备和一个或多个服务器。该电子设备包括具有物理不可克隆功能(PUF)的安全模块。安全模块配置成基于对PUF的第一挑战和响应来建立注册密钥对(EPK、ESK),注册密钥对包括注册公共密钥(EPK)和注册私密密钥(ESK)。电子设备还配置成基于对PUF的第二挑战和响应来建立设备密钥对(DSK、DPK),该设备密钥对包括设备公共密钥(DPK)和设备私密密钥(DSK)。电子设备还包括其上安装有主可信根证书的一个或多个存储器。电子设备还包括一个或多个处理器,一个或多个处理器配置成通过安全连接向一个或多个服务器传输证书签名请求(CSR),以获取证实DPK与设备标识符相关联的证书。CSR包括设备标识符和DPK。CSR使用DSK来进行签名。设备标识符基于EPK的函数。一个或多个处理器还配置成通过安全连接来接收将DPK与设备标识符相关联的设备证书。一个或多个处理器还配置成验证设备证书是主受信根证书的派生物。一个或多个处理器还配置成响应于验证而将设备证书安装在存储器中。一个或多个服务器配置成通过安全连接从电子设备接收CSR。一个或多个服务器还配置成对照设备标识符数据库来检查设备标识符,服务器可以针对设备标识符数据库对证书进行签名。一个或多个服务器还配置成验证设备标识符是否已知用于识别电子设备。一个或多个服务器还配置成基于CSR来对设备证书进行签名,其中,设备证书是主可信根证书的派生物。一个或多个服务器还配置成通过安全连接向由设备标识符标识的电子设备发送设备证书。
根据本发明的一个方面,提供了一种计算机可读介质。计算机可读介质上存储有指令,当由电子设备的处理器执行时,这些指令使得电子设备执行本文描述的方法。
根据本发明的一个方面,提供了一种计算机可读介质。计算机可读介质上存储有指令,当由服务器的处理器执行时,这些指令使得服务器执行本文描述的方法。
用于执行本文所述的这样的方法的计算机程序和/或代码/指令可以在计算机可读介质或计算机程序产品上提供给装置,比如计算机。计算机可读介质可以是例如电子系统、磁系统、光系统、电磁系统、红外系统或半导体系统,或者用于数据传输的传播介质,例如用于通过互联网下载代码的传播介质。替代地,计算机可读介质可以采取物理计算机可读介质的形式,比如半导体或固态存储器、磁带、可移动计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘、以及光盘,比如CD-ROM、CD-R/W或DVD。
根据本文给出的教导,本发明所属领域的技术人员将会想到本文阐述的本发明的许多修改和其他实施例。因此,将会理解,本文的公开不限于本文公开的具体实施例。此外,尽管本文提供的描述在元素、步骤和/或功能的某些组合的上下文中提供了示例实施例,但是在不脱离本发明的范围的情况下,可以由替代实施例来提供。
附图说明
现在将参考附图仅通过示例的方式描述本发明的实施例,其中:
图1示出了在整个详细描述中仅出于示例性目的而提及的各方的示意图;
图2示出了通信系统;
图3A示出了电子设备的框图;
图3B示出了微控制器的示意图;
图4A示出了安全模块的框图;
图4B示出了PUF模块的框图;
图5示出了计算装置的框图;
图6A示出了由公共密钥基础设施提供的信任链中的证书的示例;
图6B示出了用于向电子设备提供临时注册设备证书的信任链中的证书的示例;
图6C示出了用于向电子设备提供设备证书的信任链中的证书的示例;
图6D示出了用于认证固件的信任链中的证书的示例;
图7示出了用于向电子设备提供临时注册设备证书的方法的泳道流程图;
图8示出了流程图;
图9示出了流程图;
图10示出了用于向电子设备提供设备证书的方法的泳道流程图;
图11示出了流程图;
图12示出了流程图;以及
图13示出了计算机可读介质的框图。
在整个说明书和附图中,相同的附图标记指的是相同的零件。
具体实施方式
虽然下面描述了各种实施例,但是本发明不限于这些实施例,并且这些实施例的变型可以落入仅由所附权利要求限定的本发明的范围内。
在下文中,将提及IoT设备的安全性和注册。然而,本领域技术人员将理解的是,本文描述的方法、系统和装置适用范围更广。
在下文中,描述了向电子设备安全地提供临时注册设备证书的方法,以及向电子设备安全地提供设备证书的方法。本文描述的方法一起使得电子设备能够被部署,准备好连接到服务(例如,由IoT中枢提供的基于云的服务),而不需要所涉及的各方在电子设备的安全性方面特别相互信任。为了便于解释,几个相关方(例如原始装备制造商和IoT中枢)的示例场景在图1中进行描述,并在整个具体实施方式中引用。然而,如本领域技术人员将理解的,本文描述的方法更普遍地适用。
如在阅读详细描述时将会理解的,电子设备可以被提供有物理不可克隆函数。物理不可克隆函数(也称为物理上不可克隆函数,或PUF)是用于认证和私密密钥存储的密写原语,不需要安全EEPROM和其他昂贵的硬件。PUF不是将秘密存储在数字存储器中,而是从一个或多个部件的独特物理特性获取秘密,独特物理特性常常是在制造期间引入的。已知的PUF是基于这样的现象,比如激光通过其中悬浮有微小二氧化硅球的硬化环氧树脂片的散射,或者一些电路中门延迟的制造可变性。
在下文中,术语物理上不可克隆函数、物理不可克隆函数和PUF可互换地使用。PUF包括执行函数运算的对象,即当用某个输入查询时,PUF产生可测量的输出。典型地,对PUF的输入称为“挑战”,并且PUF的结果输出称为“响应”。施加的挑战及其测量的响应称为“挑战响应对”(CRP)。本文使用的术语“挑战”理解为是指提供给PUF的选定输入(例如,阵列的特定单元的选择、特定电压的施加等等),并且本文使用的术语“响应”是指PUF的相应输出。
只要PUF适用于电子设备,任何合适的PUF都可以与本文描述的系统和方法一起使用。例如,PUF可以是SRAM PUF。SRAM PUF使用SRAM的阈值电压的随机差异来创建唯一的挑战-响应对。
合适的PUF的另一个示例是延迟PUF,该延迟PUF利用芯片上的线路或门的延迟的随机变化。给定输入挑战,在电路中设置竞争条件,并且比较沿着不同路径传播的两个跃迁,看哪一个先出现(响应)。
在PUF的其他示例中,量子限制可以发挥作用。例如,PUF可以由几个共振隧穿二极管形成。
在PUF的其他示例中,通过量子隧道势垒的量子隧道效应可以发挥作用。在2020年4月8日提交的名称为“Device Identification With Quantum Tunnelling Currents(利用量子隧道电流的设备识别)”并公开为WO2020/212689A1的第PCT/GB2020/050918号国际专利申请中描述了PUF的一个示例。根据示例,PUF可以包括具有多个可单独寻址的单元的阵列。每个单元可以包括具有量子隧道势垒的基本电路。单元可以包括晶体管形式的第一电子部件和第二电子晶体管形式的第二电子部件。第一晶体管的源极、漏极和主体可以保持在相同的电势(例如,接地)。第二晶体管的源极、漏极和主体也可以都保持在相同的电势。第一晶体管在晶体管的沟道与栅极端之间具有第一量子隧道势垒。第二晶体管在晶体管的沟道与栅极端之间具有第二量子隧道势垒。由于在制造期间引入的晶体管的固有差异,第一量子隧道势垒唯一地表征第一晶体管,并且第二量子隧道势垒唯一地表征第二晶体管。单元可以使用行解码器和列解码器来选择,以便在第一量子隧道势垒与第二量子隧道势垒之间施加电势差。电势差可以低于阈值电压,对于该阈值电压,电流将经典地能够通过第一量子隧道势垒抑或第二量子隧道势垒。因此,一旦选择了单元,量子隧穿电流就可以流过第一晶体管的第一量子隧穿势垒,并且量子隧穿电流可以流过第二晶体管的第二量子隧穿势垒,而经典电流可能不流动。可以比较和放大量子隧道电流。单元和施加的电压的组合可以被认为是挑战,并且输出量子隧道电流可以被认为是响应。
在其他示例中,PUF不需要基于电子部件,只要它能够以电子方式交互就可以。
在下文中,将提及几个公共密钥对,也称为非对称密钥对。非对称密钥对包括可以与其他方共享的公共密钥和不共享的相应私密密钥。公共密钥是公共值,其不需要保密,但应该存储起来,以便它不能被篡改。在示例中,公共密钥可以存储在电子设备中的ROM中,以确保它不能以任何方式被重写或修改。本文描述的公共密钥对通常有名称。例如,一个公共密钥对被描述为包括“注册公共密钥”(EPK)和相应的“注册私密密钥”(ESK)的“注册公共密钥对”。另一个公共密钥对被描述为包括“设备公共密钥”(DPK)和相应的“设备私密密钥”(DSK)的“设备公共密钥对”。另一个公共密钥对被描述为包括“公共权威机构密钥”(PAK)和相应的“秘密权威机构密钥”(SAK)的“权威机构密钥对”。读者将会理解,这些公共密钥对的名称仅仅是为了区分公共密钥对。
本文描述的公共密钥对可以与任何合适的公共密钥密码系统(例如RSA或基于椭圆曲线的密写系统)结合使用。本文描述的许多公共密钥对用于数字签名。数字签名是验证数字消息或文档真实性的数学方案。在本文的示例中,可以使用任何合适的数字签名方案,例如RSA、ElGamal签名方案或ECDSA。
本文描述的服务器/服务器系统/计算设备中的几个服务器/服务器系统/计算设备也被赋予了比如“权威机构服务器系统”或“密钥管理服务器”的名称。读者将会理解,这样的名称仅旨在区分不同的计算装置。
图1示出了描绘可参与电子设备100的安全创建、供应和部署的商业(或其他)方的图示。本领域技术人员将理解,可以设想其他设置,并且这个附图仅用于示例性目的。以高层次,安全模块进行制造,然后提供给原始装备制造商(OEM)160(典型地,但不是必须地,作为微控制器的一部分),用于安装在电子设备100中。然后,OEM 160在编程公司180的帮助下,可以采取步骤来将固件安装在电子设备100上,并最终准备电子设备100以进行部署。一旦部署,电子设备100就可以与通过IoT中枢170提供的服务通信。
参考该图,权威机构140可以具有制造能力150(或者可以与可信制造商密切合作)以创建安装在电子设备100中的安全模块110。下面将进一步描述安全模块和电子设备的示例。
为了当前讨论的目的,安全模块110包括图1中未示出的物理不可克隆函数(PUF),PUF能用于建立公共密钥对。公共密钥对包括可以与其他方共享的公共密钥和不共享的相应私密密钥。公共密钥对也称为非对称密钥对。公共密钥和私密密钥可以基于对PUF的挑战和响应。例如,公共密钥可以基于对PUF的挑战,并且私密密钥可以基于对该挑战的响应。因此,安全模块110能够建立公共密钥对,而不需要由制造商150或任何下游方在其中注入任何私密密钥。
出于当前讨论的目的,安全模块110配置成基于相应的至少两个挑战-响应对来建立至少两个密钥对。有利的是,利用基于PUF的公共密钥对,密钥不需要存储在电子设备上,而是可以在由安全模块提供的安全周界/信任区域内从PUF动态地重新生成。因此,即使电子设备被黑客攻击,也不会有存储在那里的私密密钥被窃取。
注册公共密钥(EPK)和相应的注册私密密钥(ESK)基于第一CRP。EPK用于为电子设备提供标识符,并如下面进一步阐述的,用于向电子设备提供临时登记设备证书的过程中。临时注册设备证书将EPK与设备标识符相关联,并且可以在后续通信中用于获得电子设备的设备证书。设备标识符基于EPK的函数。虽然在本文描述的许多示例中,函数是密写散列函数,但不一定是这种情况并且可以使用另一个函数。
设备公共密钥(DPK)和相应的设备私密密钥(DSK)基于第二CRP。设备密钥对用于向具有基于EPK的特定设备标识符的适当电子设备提供设备证书。设备证书证实DPK与设备标识符相关联。如下所述,证实设备证书的信任链由OEM 160控制。
出于本公开的目的,电子设备100可以理解为由低级电路(比如微控制器(MCU))组成。电子设备100可以替代地理解为包括更高级别的电路,例如用于感测湿度或温度的电路,或者可以理解为更大规模的电子设备,比如智能电话或计算机。制造商150可以只制造安全模块110,或者可以制造其中安装有安全模块110的微控制器。
如下面将进一步解释的,权威机构140可以与公共密钥对相关联。也就是说,权威机构140可以与公共密钥(以下称为公共权威机构密钥PAK)和相应的私密密钥(以下称为秘密权威机构密钥SAK)相关联。SAK不与任何其他方共享,而PAK可以更广泛地共享。例如,PAK可以压印在安全模块110中,例如压印在安全存储器中。替代地,如果制造商150制造包括安全模块的微控制器(或其他电子设备),则PAK可以安装在安全模块外部的电子设备的其他只读存储器(ROM)中。出于安全目的,重要的是存储在安全模块/电子设备上的PAK不能被重写或修改,以保持其完整性。安全模块110可以在稍后阶段使用PAK来验证所接收的信息已经使用SAK进行了签名,并且因此已经得到权威机构140批准。其他非秘密信息也可以被压印在安全模块/电子设备中,例如根证书,该根证书由权威机构140使用SAK签名并指示PAK与权威机构140相关联。权威机构140不向安全模块110提供秘密信息。权威机构140或制造商150没有从安全模块110提取秘密信息。
也向安全模块/电子设备提供初始注册固件(IEF),以便能够从安全模块110提取设备标识符和一个或多个公共密钥。
权威机构140可以拥有和/或操作包括一个或多个服务器的服务器系统130。虽然图1的权威机构服务器系统130被示为具有三个服务器,但是本领域技术人员将会理解,服务器系统130可以包括更多或更少的服务器。
机构系统的至少一个服务器配置成使用SAK来对证书进行签名(关于这一点的更多信息将在下面进一步提供)。SAK也可以用来对固件进行签名。
权威机构服务器系统130的服务器中的至少一个服务器配置成保有具有关于安全模块110(比如设备标识符)的信息的数据库。
权威机构服务器系统130的至少一个服务器配置成与由原始装备制造商(OEM)160操作的计算设备120安全地进行通信。
至少一个服务器配置成与IoT中枢170通信。IoT中枢是托管在云中的托管的服务,其充当IoT应用程序与其管理的电子设备之间双向通信的消息中枢。出于当前讨论的目的,本文描述的方法适于供应电子设备,使得它可以被部署准备好与IoT中枢170通信。
仅为了清楚起见,服务器系统130的服务器有时在本文被称为“权威机构服务器”。
技术人员将理解,服务器系统130的至少一些功能可以作为云服务来提供。一个或多个服务器可以物理上位于权威机构140的外部。服务器系统130的授权服务器可以接收用于识别特定安全模块110的设备标识符。设备标识符基于注册密钥对的注册公共密钥(EPK)的函数,注册密钥对包括注册私密密钥(ESK)和EPK。EPK和ESK基于对安全模块110的PUF的挑战和响应,并且ESK不离开安全模块110。在示例中,EPK基于对PUF的挑战,并且ESK基于对PUF的挑战的响应。服务器系统130配置成将设备标识符存储在数据库中。在一些示例中,服务器系统130也可以,但不是必须,接收用于特定安全模块110的EPK。
一旦服务器系统130接收并存储了安全模块110的设备标识符,就将安全模块110(可能已经安装在微控制器中)提供给OEM 160。OEM典型地可以购买一批这样的安全模块来安装在由OEM 160制造的几个电子设备100中。
OEM 160还可以访问能够与权威机构140的服务器系统130安全通信的计算装置120。为了便于参考,由OEM操作的计算装置120在下文中被称为“密钥管理服务器”。虽然术语“密钥管理服务器”以单数使用,但是本领域技术人员将会理解,计算装置120的功能可以在多个计算设备之间共享,并且因此“密钥管理服务器”应该理解为也指具有期望功能的多个计算设备(包括一个或多个服务器/计算设备的密钥管理服务器系统)。
密钥管理服务器120(以下称为KMS120)在一些情况下可以被认为是权威机构服务器系统130的另一个权威机构服务器,尽管是OEM 160能够与之直接交互的服务器。特别地,KMS120能够与权威机构服务器系统130进行安全通信,并因此可以得到权威机构140证实供OEM使用。
密钥管理服务器120可以包括提供给OEM 160用于本地操作的物理服务器。例如,OEM 160可以安排从权威机构140获得物理KMS120。权威机构140可以生成并记录用于识别要提供给OEM 160的特定KMS实例的KMS标识符。权威机构140可以在KMS120内部的硬件安全模块(HSM)中生成KMS公共密钥对,提取KMS公共密钥对中的KMS公共密钥,使用SAK来对证书进行签名,以将KMS标识符与KMS公共密钥相关联,并将证书嵌入在KMS软件中。权威机构140还可以在KMS120中嵌入将PAK与权威机构140相关联的根证书,以及将使KMS能够与权威机构服务器系统130的权威机构服务器连接的URL。然后可以将物理KMS120物理地转移到OEM160。KMS120可以随后启动与服务器系统130的安全通信(例如,TLS通信)。服务器系统130可以通过出示由SAK签名的TLS证书和链并执行TLS服务器认证来进行认证。KMS120然后可以使用将PAK与权威机构140相关联的硬编码根证书来验证证书。KMS 120可以通过出示其证书(由权威机构140使用SAK签名)并执行TLS客户端认证来向权威机构服务器认证。权威机构140可以使用对应于用于签署安装在KMS中的证书的SAK的根公共密钥(PAK)来验证证书上的签名。技术人员将会理解,公共权威机构密钥用于证实KMS120可以与安装到安全模块110中的公共权威机构密钥相同或不同。
与提供给OEM 160用于本地操作的定制物理服务器相反,密钥管理服务器120可以包括由OEM 160操作的计算装置120,但是其上提供有用于安全网关的定制软件,用于与权威机构140的服务器系统130通信。定制软件具有平台无关性,以便于部署,并可以由OEM160容易地安装和操作。定制软件包括一种机制(公共密钥),由此它可以向服务器系统130认证。
密钥管理服务器120也能够与一个或多个电子设备100通信。以这种方式,一个或多个电子设备100可以进行注册。KMS120可以用于便于电子设备100上固件的安全安装。如将在下面进一步描述的,KMS120可以用于将设备标识符与特定的电子设备100相关联。KMS120可以用于对证书进行签名。
OEM 160可以使用KMS120来登记一个或多个接收到的安全模块。具体而言,KMS120可以与电子设备的安全模块110通信以提取设备标识符,该设备标识符包括EPK的函数。KMS120可以打开与权威机构服务器系统130的安全通信信道,以向可信权威机构140登记KMS实例120与设备标识符之间的关联。权威机构140可以更新本地数据库,并且告知它已经成功登记了设备标识符的KMS120,并且可以授予KMS120与和该设备标识符相关联的电子设备进行通信的特定许可。
OEM 160可以使用KMS120安全地向电子设备提供固件。OEM的固件可以使用任何合适的安全方法来安装在电子设备上。例如,OEM 160可以设计安装在电子设备100上的固件。KMS120可以打开与授权机构服务器系统130的安全通信信道,并将固件或其散列传输到授权机构140,以便用秘密授权机构密钥SAK来进行签名,其对应部分(PAK)安装在电子设备100上。KMS120还可以用基于PUF的固件公共密钥(FPK)加密固件和授权机构的签名,其对应部分可以在电子设备中动态生成。电子设备可以相应地使用相应的固件私密密钥来解密固件,并使用存储在存储器中的PAK来验证权威机构140已经对固件进行了签名。这样,OEM可以安全地向电子设备100提供固件。
固件可以包括用于控制电子设备硬件的低级指令。
固件可以包括用于按照下面进一步描述的方法注册设备的一个或多个根证书。特别地,固件可以包括主可信根证书(“OEM_根”,图6C)。
固件可以包括KMS120的标识符,电子设备的设备标识符向KMS120登记。例如,标识符可以包括统一资源定位符(URL),电子设备将与该URL进行通信以联系KMS120。固件可以包括用于启动安全连接的指令,该安全连接比如为与由URL标识的计算装置/服务器的TLS连接。
固件可以包括证书命名结构的细节,使得电子设备能够解读接收到的证书。固件还可以包括用于建立证书签名请求(CSR)的细节。证书签名请求通常包含应为其发布证书的公共密钥、标识信息(比如设备标识符)和完整性保护(如数字签名)。
KMS120还可以用于安全地向电子设备提供用于连接到IoT中枢170所需的信息。例如,KMS120可以配置成直接或通过服务器系统130与IoT中枢通信,以向IoT中枢提供针对每个登记的电子设备100的设备证书。KMS120可以配置成向电子设备100提供IoT根证书和IoT端点,以使得该设备能够与IoT中枢170通信。
因此,电子设备100可以部署有它们与IoT中枢170通信所需的所有信息。
图2更具体地示出了包括图1中呈现的硬件设备中的许多硬件设备的通信系统。图2特别地示出了通信网络200、具有安全模块110的示例电子设备100、可以由例如OEM 160操作的密钥管理服务器120、权威机构服务器系统130、以及可以由例如IoT中枢170操作的计算设备220。通信网络200可以是任何合适的通信网络,比如互联网。在一些示例中,网络200可以包括广域网(WAN)。
电子设备100可以采取任何合适的形式,并可以包括用于执行如本文描述的方法的任何合适的计算装置。例如,电子设备可以是能够处理和存储的任何计算设备,比如个人计算机、服务器、膝上型计算机或其他这样的机器。电子设备100可以包括IoT设备。电子设备可以包括用于安装在更大设备中的微控制器单元(MCU)。电子设备100可以直接或通过网络200与其他设备通信。例如,电子设备100可以通过物理连接或者通过网络200与KMS120通信。一旦部署了电子设备100,设备100就可以通过网络200与计算设备220通信。电子设备可以通过安全连接,例如TLS连接,与KMS120和/或计算设备220通信。
KMS120可以包括任何合适的计算装置,比如下面进一步讨论的计算装置500。KMS120可以包括服务器集群或单个设备。KMS120的功能可以用在许多不同类型的数据处理环境中,许多不同类型的数据处理环境包括分布式数据处理环境、单个数据处理设备等。
KMS120能够通过网络200建立与权威机构服务器系统130的安全连接,并还能够通过网络200或者在一些情况下通过比如有线连接的直接连接与电子设备100通信。KMS120配置成存储与电子设备100相关的信息,比如标识电子设备100的安全模块110的设备标识符和一个或多个公共密钥(比如电子设备100的EPK)。附加地或替代地,KMS120可以配置成与权威机构服务器系统130的数据库210通信以获得这样的信息。KMS120还配置成对证书进行签名。
权威机构服务器系统130包括一个或多个服务器,并包括数据库210。权威机构服务器系统130的一个或多个权威机构服务器配置成代表权威机构140对证书进行签名,例如证实KMS120得到权威机构140信任或者对用于安装在电子设备100上的固件签名。数据库210配置成存储关于电子设备100的信息,比如标识电子设备100的设备标识符,以及在一些示例中,电子设备100的固件公共密钥。数据库210还可以配置成存储关于KMS 120的信息。例如,数据库210可以包含将一批设备标识符与特定KMS120相关联的信息,并可以用于授权KMS120仅与那些与其相关联的设备标识符进行交互。
计算设备220可以包括许多连接的设备(例如在分布式计算环境中)或者单个计算设备。
图3A示出了根据示例的电子设备100的框图。例如,电子设备100可以是IoT设备。本领域技术人员将会理解,可以使用图3A所示的其他架构。
参考该图,电子设备100包括安全模块110、一个或多个CPU处理器302、一个或多个存储器304、传感器模块306、通信模块308、端口310和电源312。部件302、304、306、308、310、312中的每一者使用各种总线互连。CPU 302可以处理用于在电子设备100内执行的指令,包括存储在存储器304中的、通过通信模块308或通过端口310接收的指令。
存储器304用于在电子设备100内存储数据。一个或多个存储器304可以包括一个或多个易失性存储单元。一个或多个存储器可以包括一个或多个非易失性存储单元。一个或多个存储器304也可以是另一种形式的计算机可读介质,比如磁盘或光盘。一个或多个存储器304可以为电子设备100提供大容量存储。用于执行本文描述的方法的指令可以存储在一个或多个存储器304中。
通信模块308适于在处理器302与其他系统之间发送和接收通信。例如,通信模块308可以用于通过比如互联网的通信网络200发送和接收通信。通信模块308可以使电子设备100能够通过比如WiFi、蓝牙、NFC等多种协议中的任何一者与其他设备/服务器通信。
端口310适于接收例如包含要由处理器302处理的指令的非暂时性计算机可读介质。端口310可以用于例如电子设备100与密钥管理服务器120之间的有线通信。
传感器模块306可以包括用于感测参数(比如温度、湿度或任何其他参数)的一个或多个传感器。
处理器302配置成例如从传感器模块306、安全模块110或通信模块308接收数据。处理器302还配置成访问存储器304,并根据从所述存储器304、从通信模块308或连接到端口310的计算机可读存储介质接收的指令和/或信息行动。
图3B示出用于电子装置100的另一实例的架构,即,可以安装在较大电子装置内的微控制器单元(MCU)315。本领域技术人员将理解,可以使用其他MCU架构。
图3B的MCU 315包括CPU 320、用户存储器322和引导随机存取存储器328。CPU320、引导ROM 328和用户存储器322可以经由代码总线324进行通信。CPU 320、引导ROM 328和用户存储器322可以连接到系统总线326,系统总线326也可以连接到多个外围设备A、B和C(330、332和334)以及安全模块110。在MCU 315中仅示出了与安全性相关的部件。技术人员将会理解,MCU 315可以具有更多或更少的部件。例如,MCU 315可以具有更多的外围设备和系统部件。
图4A示出了根据示例的安全模块110的框图。安全模块110可以被认为是将其内的安全部件与电子设备100的其他部件分开的信任区。安全模块110包括PUF模块402、密写速器404和安全存储器406。本领域技术人员将理解,其他架构也是可能的。安全模块110连接到电子设备100的系统总线。
PUF模块410包括PUF和与PUF交互所需的任何电路。特别地,PUF模块可以从密写加速器404接收信号,并提供适当的响应。密写加速器404包括用于执行密写操作以及用于与PUF模块402和安全存储器406交互的专用处理单元。
安全存储器配置成存储秘密信息,比如由PUF模块402产生的密钥和/或根证书。CPU 320控制PUF模块402、安全模块110内的安全外围设备和安全存储器所需的指令包含在引导ROM 328内,该引导ROM 328是针对系统的不可变引导过程的一部分。
图4B示出了根据示例的PUF模块402的功能部件。PUF模块402包括PUF 450、模拟前端(AFE)452、后处理引擎454和RISC-V核心456。
本领域技术人员将会理解,PUF 450可以是任何合适的PUF。
模拟前端(AFE)452包括用于与PUF交互的模拟信号调节电路结构。例如,AFE可以与PUF 450交互以建立原始“指纹”。后处理引擎454配置成校正AFE 452的输出,并通过进一步处理AFE的输出来提供进一步的隐私增强。RISC-V核心456是执行来自PUF 450的数据的后处理(例如,数据的纠错)的CPU核心。RISC-V核心提供允许PUF模块402容易地连接到外部微控制器的接口,尽管可以利用其他CPU。
图5是计算装置500的框图。例如,计算装置500可以包括计算设备、服务器、移动或便携式计算机或电话等。计算装置500可以分布在多个连接的设备上。计算装置500可以适于用作密钥管理服务器120、权威机构服务器系统130的权威机构服务器、或用于例如IoT中枢的服务器220。本领域技术人员将会理解,可以使用图5所示的其他架构。
参考该图,计算装置500包括一个或多个处理器510、一个或多个存储器520、多个任选的用户接口(比如可视显示器530和虚拟或物理键盘540)、通信模块550,以及任选的端口560和任选的电源570。部件510、520、530、540、550、560、和570中的每一者使用各种总线互连。处理器510可以处理用于在计算装置500内执行的指令,包括存储在存储器520中、通过通信模块550或通过端口560接收的指令。
存储器520用于在计算装置500内存储数据。一个或多个存储器520可以包括一个或多个易失性存储单元。一个或多个存储器可以包括一个或多个非易失性存储单元。一个或多个存储器520也可以是另一种形式的计算机可读介质,比如磁盘或光盘。一个或多个存储器520可以为计算装置500提供大容量存储。用于执行本文描述的方法的指令可以存储在一个或多个存储器520中。
装置500包括多个用户接口,包括可视化装置(比如可视显示器530)和虚拟或专用用户输入设备(比如键盘540)。
通信模块550适于在处理器510与远程系统之间发送和接收通信。例如,通信模块550可以用于通过比如互联网的通信网络200发送和接收通信。
端口560适于接收例如包含要由处理器510处理的指令的非暂时性计算机可读介质。
处理器510配置成接收数据、访问存储器520,并根据从所述存储器520或连接到端口560的计算机可读存储介质、从通信模块550或从用户输入设备540接收的指令来行动。
计算装置500还可以包括图5中未示出的硬件安全模块(HSM),以便安全地存储密写密钥。例如,对于用作密钥管理服务器120的计算装置500,可能需要HSM来存储用于对证书进行签名的一个或多个私密密钥,或者用于加密/解密固件的服务器加密密钥和服务器解密密钥。例如,对于用作权威机构服务器系统130的权威机构服务器的计算装置500,可能需要HSM来存储一个或多个私密密钥,比如权威机构密钥对的秘密权威机构密钥(SAK)。本领域技术人员将理解,不要求HSM存储私密密钥,并且其他安全安排也是适用的,例如计算装置可以访问基于云的HSM。
可以将固件安全地提供给电子设备100。例如,可以通过在授权服务器系统130处对固件进行签名并在签名之前或之后在KMS120处对固件进行加密,然后将签名的加密固件发送到编程公司180以将其编程到电子设备100中,来安全地提供固件。
固件可以包括电子设备向其注册的KMS120的标识符,以及用于构建信任链的一个或多个根证书。在已经将固件安全地提供给电子设备100之后,电子设备100可以开始注册。
关于图7至图9,描述了向电子设备100提供临时登记设备证书的方法。此外,关于图10至图12,描述了向电子设备提供设备证书的方法(该设备证书一旦被部署就用于与例如IoT中枢相连接)。为了建立对设备证书的信任,需要为电子设备提供一个或多个OEM的根证书。
一个或多个根证书可以在制造时安装在电子设备100上,或者为了增加安全性,可以与注册之前安全安装的固件一起或作为其一部分提供给电子设备100。
图6A示出了由公共密钥基础设施提供的信任链的示例。公共密钥基础设施由可以用于验证消息来源的证书(1002、1012、1024)的层次结构来表示。每个证书包括对应于由相应实体持有的私密密钥的公共密钥。证书包括有关密钥的信息、有关其所有者(称为主体)身份的信息、以及已验证证书内容的实体(称为发布者)的数字签名。信任链中的信任最终源自与根证书1002相关联的根证书权威机构(CA)。根证书1002典型地包括根权威机构的标识符/区别名称(1004)、根权威机构的公共密钥1006、以及根权威机构的签名(1010),签名使用对应于根公共密钥1006的私密密钥1008进行签名。
证书权威机构可以以树形结构的形式发布多个证书。根证书1002是树的最顶层证书,其私密密钥1008用于对从属证书进行签名。如图6A所示,根私密密钥1008可以用于对中间/次级证书1012进行签名。中间证书1012包括中间方/发行方的标识符/区别名称1014、中间方的公共密钥1020、根权威机构的身份1018、以及根权威机构的签名1016。可以通过从根权威机构的标识符1018中确定可以在其中找到根公共密钥1006的适当的根证书1002来检查中间证书1012的真实性。由于根公共密钥1006对应于用于对中间证书1012进行签名的根私密密钥1008,所以根公共密钥1006可以用于解密中间证书1012的根签名1016,并且可以执行进一步的检查。中间证书可以包括进一步的信息,比如与中间证书1012相关联的发行方/中间方是否被授权对进一步的证书进行签名。如果中间方被授权使用与发布方公共密钥1020相关联的发布方私密密钥1022来对次级证书进行签名,则对使用发布方私密密钥1022进行签名的任何证书的信任可以最终从源自与根证书1002相关联的根证书授权机构的信任链中导出。
图6A中的发行方密钥1022用于对与电子设备相关联的终端证书1024进行签名。典型地,终端证书表明,与终端证书相关联的一方无权对信任链中的另外的证书进行签名。终端设备证书1024包含向其发布证书1024的电子设备1026的标识符、证实终端证书1012的发行方的标识符、对应于电子设备的公共密钥1032、发行方的签名1028、以及由发行方证实的任何进一步的信息/元数据1036。终端证书1024因此证实公共密钥1032与终端设备证书1024标识的实体(1026)相关联,其中,信任链源于根证书机构。存在与电子设备公共密钥1032相关联的电子设备私密密钥1034。
当然,虽然图6A中示出了三个证书,但是如果有几个中间证书,这个链可以更长。
证书链的证书可以包括进一步的信息。例如,证书可以包括版本号、序列号、签名算法ID、关于所使用的公共密钥算法的信息等等。证书可以包括有效期。公共密钥证书有几种已知的标准格式,其中,最常用的是X.509。X.509证书用于包括TLS/SSL在内的许多协议中,并可以与本文描述的方法一起使用。
传统上,当OEM制造设备时,他们依赖于以未加密形式添加到该电子设备中的秘密信息。例如,可能需要将私密密钥添加到设备中。此外,典型地还向设备提供进一步的证书信息,例如终端证书1024。如果制造商向设备提供私密密钥和终端证书1024,则有几个缺点。首先,下游方(比如OEM或IoT中枢)需要信任私密密钥已经安全地提供给设备并且私密密钥不为任何其他方所知。其次,下游方(比如OEM)可能不得不基于对制造商的信任来信任信任链,并且这在处理例如固件更新时会产生安全后果。替代地,可以在制造期间向设备提供临时注册证书。临时注册证书可以包含与添加到电子设备中的私密密钥相关联的公共密钥,从而将设备与该公共密钥相关联,以及用于向服务注册的某个有限有效期。然而,提供临时注册设备证书和相关联的私密密钥典型地需要安全设施。
相反,现在将描述不同的方法。特别地,图7至图9和所附文字描述了用于向电子设备提供临时注册设备证书的示例方法,并且图10至图12和所附文字描述了用于向准备好进行部署的电子设备提供终端设备证书的示例方法。在所描述的示例中,OEM 160可以确信他们是最终的认证机构,对部署的电子设备的信任是基于该认证机构。
图6B、图6C和图6D示出了可以用于本文描述的示例中的三个证书链。仅出于例示性目的,参考图1,根证书1038、1044和1058都可以与OEM 160相关联。也就是说,OEM 160可以是与根证书1038、1044、1058相关联的根证书权威机构。虽然本文描述了三个证书链,但是也可以设想其他场景,例如,单个根证书可以是所有其他证书所派生的根证书。可以向OEM生产的电子设备100供应适当的根证书,由此可以建立信任链,使得电子设备100可以确信提供给设备的任何软件或通信。
为了便于解释,参考图1的各方来描述图6B至图6D的证书链,其中,OEM 160是与所有三个证书链的根证书相关联的证书权威机构。然而,本领域技术人员将会理解,其他场景也是适用的。
图6B示出了根据示例的证书链。下面将进一步描述图6B的证书链的使用。在图6B中,临时注册可信根证书1038(标记为“TE_OEM_根”)是使用只有OEM 160知道的适当私密密钥自签名的。临时注册发布证书1040(标记为“TE_OEM_IC”)由根证书1038证实。也就是说,与临时注册可信根证书1038中标识的公共密钥相关联的私密密钥用于对临时注册发布证书1040进行签名。临时注册设备证书1042(标记为“TE_Dev_Cert”)由临时注册发布证书1040证实。也就是说,与在临时注册发布证书1040中识别的公共密钥相关联的私密密钥用于对临时注册装置证书1042进行签名。
如将参考图7所讨论的,OEM 160可以是与临时注册可信根证书1038相关联的认证机构,并且OEM或KMS120(由OEM拥有)拥有相关联的私密密钥。与临时注册发布证书1040相关联的私密密钥可以在KMS120的控制下。OEM的临时注册(TE)PKI用于发布临时注册设备证书,这将使电子设备能够在注册协议期间向KMS进行认证。这些证书不应用于其他目的,并且因此临时注册可信根证书1038和临时注册发布证书1040不需要离开KMS。
图6C示出了根据示例的证书链。下面将进一步描述图6C的证书链的使用。在图6C中,主可信根证书1044(标记为“OEM_根”)使用适当的私密密钥进行自签名。在图6C中,示出了三个中间证书1046、1050、1054。
OEM的主PKI的信任锚是自签名的主可信根证书1038,其用于发布在注册期间从KMS120外部使用的所有证书。在主可信根证书1038下面是多个发布证书。
安全连接发布证书1054由与主受信根证书1044相关联的根私密密钥进行签名。在下面描述的示例中,安全连接本身是TLS连接,并且因此安全连接发布证书1054在图6C中被标记为“IC_TLS”。与安全连接发布证书1054相关联的发布者私密密钥用于对安全连接证书1056(标记为“KMS_TLS_证书”)进行签名。在下面描述的示例中,安全连接证书1056被KMS120用来在TLS服务器认证期间向电子设备100认证。
图6C示出了从主受信根证书1044派生的进一步的两个中间证书1046、1050。中间证书1046、1050(分别标记为“IC_A”和“IC_B”)用于证实与设备特定策略相关联的派生物设备证书。例如,IC_A1046可以用于基于第一类IoT设备的安全策略来证实第一类IoT设备(例如烤面包机)的设备证书,并且IC_B 1050可以用于基于第二类IoT设备的安全策略来证实第二类IoT设备(例如灯泡)的设备证书。这有助于实施安全策略,因为可以通过检查使用哪个发布证书来对识别给定类型的设备进行签名,从而从这些设备的证书中识别出这些设备。
由中间证书IC_A和IC_B签名的设备的终端证书也在图6C中示出(分别标记为“Dev_Cert_A”1048和“Dev_Cert_B”1052)。如将在以下示例中看到的,电子设备100可以使用设备证书1048来向其IoT中枢170认证。
本领域技术人员将会理解,虽然图6C中示出了用于发布设备证书的两个中间证书1046、1050,但是可以从主受信根证书1044派生更多或更少的中间发布证书。
图6D示出了根据示例的证书链。在图6D中,固件根证书1058(标记为“OEM_固件”)由证书权威机构自签名。固件签名证书1060(标记为“Firm_SC”)从根证书派生。
固件签名证书1060可以用于对注入到电子设备100的固件进行签名。固件签名PKI具有独立于主注册PKI和临时注册PKI的根。这是因为OEM 160可以使用固件签名证书来对任意消息、证书等进行签名,并且保持这个PKI独立确保了固件PKI不能被用来(意外地或恶意地)对任何危及注册安全的东西进行签名。
本领域技术人员将会理解,在图6B、图6C和图6D的PKI的上述描述中使用的证书名称仅用于区分三个PKI。
每当电子设备100或KMS120验证证书时,应该检查尽可能多的有用属性(例如,主题名称、使用限制、发布方的名称等)。为了使电子设备能够做到这一点,它们的固件必须包含进行这些检查所需的信息,比如KMS120的标识符以及它们对于不同的证书应该期望什么命名结构。电子设备应在可能的情况下验证证书链中的所有签名,检查证书链中的中间证书是否被授权发布证书(以防止例如受损设备试图使用其设备证书发布证书),并检查所有证书是否未过期(如果它们能够访问时间的话)。
图7示出了用于向电子设备100提供临时登记设备证书1042的示例方法。
电子设备100包括具有PUF 450的安全模块110,安全模块110配置成基于对PUF的第一挑战和响应来建立注册密钥对(ESK、EPK),该注册密钥对包括注册公共密钥(EPK)和注册私密密钥(ESK)。在示例中,安全模块可以配置成基于对PUF的第一挑战来建立注册公共密钥(EPK)450,以及基于对PUF的第一挑战的响应来建立注册私密密钥450。
这种交换的目的是电子设备100请求以及向其发布用于其EPK的临时注册设备证书1042。该设备将在第二次握手中使用这个向KMS120认证,这将在下面参考图10进一步详细描述。在这个示例中,KMS120将只为对应于它拥有的设备标识符(即,它已经注册的那些设备标识符)的EPK发布证书。KMS120还将向电子设备发送发布证书IC_A 1046,该发布证书IC_A 1046最终将用于发布其终端设备证书(在这个示例中为Dev_Cert_A 1048),电子设备100将存储其终端设备证书以便验证KMS 120发布的后续证书。
电子设备100启动(在1102)到由安装在电子设备100上的固件中的URL标识的KMS120的TLS连接。在握手期间,KMS120通过出示KMS_TLS_Cert 1056和TLS发布证书IC_TLS1054向客户端认证(在1104),使得电子设备100能够建立从(先前安装在电子设备100上的)主根证书1044到TLS证书1056的链。电子设备100验证(在1106)TLS连接的信任链。电子设备100只接受以主可信根证书1044开始的证书链。电子设备100检查证书1056中的主题名称是否与它们的固件中包括的KMS标识符相同。如果可能,则电子设备100应该检查TLS证书1056是否由TLS发布证书1054签名。如果验证失败,则设备将终止连接。当请求客户端认证时,设备100指示它没有合适的证书,并不向KMS120认证。
假设OEM的密钥都没有被泄露,这个步骤向电子设备100证明它正在与设备固件中的KMS标识符相关联的真实KMS120对话。电子设备100应该检查TLS中的主题名称是否与所期望的相匹配,否则电子设备100可能容易接受来自由主可信根证书1044签名的任何证书的连接,并因此例如可能与受损设备对话。应该确保没有其他证书是以相同的主题名称发布的,否则拥有该证书的一方可以使用该证书来向电子设备100冒充KMS 120。
如果在1106验证了TLS连接,则在电子设备100与KMS120之间打开安全TLS通信信道(1108)。
在1110,电子设备100创建证书签名请求(CSR)。在公共密钥基础设施(PKI)系统中,CSR是从申请人发送到公共密钥基础设施的注册权威机构以便申请数字身份证书的消息。它通常包含应为其发布证书的公共密钥、标识信息(比如基于EPK的域名或设备标识符)、以及完整性保护(如数字签名)。CSR最常见的格式是PKCS#10规范;另一种格式是签名公共密钥和挑战SPKAC格式。
在1110,创建用于将注册公共密钥EPK与设备标识符相关联的CSR。如上所述,设备标识符是EPK(f(EPK))的函数,并且为了讨论的目的,设备标识符包括EPK的散列。因此,在CSR中,公共密钥被标识为EPK,并且主题名称/区分名称/标识符被标识为H(EPK)。向前看,在随后的TLS握手期间,电子设备100将使用所请求的证书向KMS120认证。在1112,将CSR发送到KMS120。
CSR包括对注册私密密钥ESK的拥有权证明,其形式为对CSR的签名。然而,这不一定向KMS120证实CSR是由在TLS连接的另一端处的电子设备100计算的;如果攻击者以某种方式设法知道了由设备计算的先前的CSR(这不太可能,因为这些CSR是在TLS连接下加密发送的),则他们可以在单独的连接中向KMS120重放这个CSR。然而,即使攻击者能够执行这样的攻击,他们也不能使用返回的证书,因为他们不知道相应的EPK。
在接收到CSR时,KMS120执行几项检查。
在1114,KMS120对照数据库检查在CSR的主题字段中提供的设备标识符,以验证KMS120被授权对与该设备标识符相关联的电子设备100的证书进行签名,换言之,KMS120“拥有”该设备标识符。适当的数据库可以本地保存在KMS120上,或者可以通过对权威机构服务器系统130的请求来访问。
在1116,KMS120进一步检查CSR的公共密钥字段中的注册公共密钥EPK散列到主题名称字段中的设备标识符。即KMS验证设备标识符设备ID=H(EPK)。
在1114和1116的检查可以以任何顺序或同时执行。如果任一检查失败,则KMS120终止连接。如果它们成功,则KMS120将EPK与设备标识符相关联——KMS120将EPK添加到它们在数据库中的设备标识符条目中。
检查CSR中的公共密钥是否对应于数据库中的设备标识符中的IoT中枢非常重要的,否则攻击者可以请求任意密钥对的证书。实施这种检查意味着只能为散列到KMS120所拥有的设备标识符中的一者的公共密钥来请求证书。攻击者能够让KMS120为除了设备标识符下的真实EPK之外的任何公共密钥发布证书的唯一方式是,如果他们可以找到散列到相同设备标识符的不同EPK。这就要求攻击者在散列函数中找到冲突,而根据定义,这是一项非常困难的任务。
一旦完成所有检查,KMS120就对临时注册设备证书1042(标记为“TE_Dev_Cert”)进行签名。临时注册设备证书1042包括:作为主题名称的设备标识符、作为公共密钥的EPK、以及有效期。TE_Dev_Cert 1042由与临时注册发布证书1040(TE_OEM_IC)相关联的私密密钥进行签名。
如上所述,OEM被有效地限制为仅请求由KMS拥有的电子设备100在制造期间生成的EPK的证书,并且除了真实设备之外没有任何一方知道相应的ESK。这样,临时登记设备证书1042对于除真实电子设备100之外的所有各方都应该是无用的。临时注册设备证书1042具有较短的有效期,以有助于将其用作仅在注册中使用的临时凭证。例如,有效期可以是五分钟或更短。
在1122,由与该批设备相关联的安全策略指定的发布证书IC_A1046和签名的TE_Dev_Cert 1042都被传送到电子设备100。
在1124关闭TLS连接。
电子设备100然后检查1126在1122接收的证书,并且如果成功,则安装(1128)TE_Dev_Cert 1042和IC_A1046。
电子设备100验证握手中提供的发布证书IC_A 1046。电子设备100检查主题名称字段是否与预期的相匹配,检查发布证书IC_A 1046是否可以用于发布证书,并使用主可信根证书1044验证发布证书IC_A1046上的签名。为了增加安全性,如果发布证书IC_A已通过主可信根证书1044而不是中间CA直接签名,则电子设备100应该仅接受该发布证书IC_A。如果可能的话,应该确保所执行的检查是充分的,即电子设备100将只接受真实设备发布证书;特别地,它们应该拒绝TLS发布证书1054以及由其发布的任何证书,并且应该拒绝任何设备证书以及由设备证书发布的任何证书。如果检查通过,电子设备100安装发布证书IC_A1046,因此它可以用于认证OEM 160发行的后续证书。
电子设备100应该拒绝不是KMS的真实发布证书中的一者的任何证书(理想地为用于该设备的特定发布证书,如果提前知道的话)。
电子设备100还检查TE_Dev_Cert 1042中的设备ID和EPK是否与属于电子设备100的那些设备ID和EPK相匹配。这确保了TE_Dev_Cert 1042适合于它们在下一次握手中用于认证。
如果这些检查中的任何一者失败,则电子设备100中止注册。
在这个示例中,由于TE_Dev_Cert 1042是通过KMS120已经向电子设备100认证的TLS信道接收的,因此可以隐含地信任TE_Dev_Cert 1042为已经被KMS120批准。因此,电子设备不需要检查TE_Dev_Cert 1042是特定临时注册根证书TE_OEM_根1038的派生物。有利地,这意味着TE_OEM_根1038或发布证书TE_OEM_IC 1040都不需要离开KMS120。然而,在其他示例中,临时注册根证书1038可以作为OEM固件的一部分预安装在设备上,并且KMS120也可以通过安全连接发送临时注册发布证书1040,使得电子设备能够建立到临时注册设备证书1042的信任链。
在执行图7的交换之后,电子设备100拥有证实EPK与电子设备100相关联的临时注册设备证书1042。临时登记设备证书1042还提供了电子设备能够与KMS进行进一步交换的有效期。在这个阶段,EPK是众所周知的,例如通过授权服务器130等等。电子设备100还拥有发布证书1046,该发布证书1046可以用于验证在后续交换中发布的设备证书1048。
有利的是,将临时注册设备证书提供给设备,而不需要将任何安全信息添加到电子设备中。添加安全信息要求将秘密信息添加到电子设备中的安全设施,和/或对第三方能够安全添加信息的信任。安全设施成本高昂,难以管理,并需要持续维护和评估安全程序,以确保对新威胁做出强有力的响应。典型地,可能需要硬件安全模块(HSM)来生成和存储密钥,可能需要集成的密钥添加系统来将密钥添加到电子设备中,并且即使这样,如果HSM和/或安全设施受损,也不能确保添加的信息的完整性。因此,避免需要添加安全信息使得电子设备的管理变得容易并更加安全,同时确保了信息的完整性。
图8示出了由电子设备100执行的通用方法1200的流程图。电子设备100包括具有运行物理不可克隆功能(PUF)450的安全模块110,安全模块110配置成基于对PUF的第一挑战和响应来建立注册密钥对(ESK、EPK),该注册密钥对包括注册公共密钥(EPK)和注册私密密钥(ESK)。在示例中,安全模块110可以配置成基于对PUF 450的第一挑战来建立注册公共密钥(EPK),以及基于对PUF 450的第一挑战的响应来建立注册私密密钥(ESK)。电子设备100还包括其上安装有临时注册可信根证书1038的一个或多个存储器。
方法1200包括,在1210,通过安全连接来向服务器传输包括设备标识符和EPK的证书签名请求(CSR),以获取证实EPK与设备标识符相关联的证书,其中,CSR使用ESK来进行签名,并且其中,设备标识符基于EPK的函数。安全连接可以包括TLS连接。例如,安全连接可以包括与密钥管理服务器120的TLS连接。
方法1200还包括,在1220,通过安全连接来接收临时登记设备证书1042,该临时登记设备证书1042证实EPK与设备标识符相关联并包括有效期。
有效期可以规定一时间段,在该时间段内可以与安全连接另一端处的一方建立进一步的安全连接。
电子设备100的一个或多个存储器上还可以安装有主受信根证书1044,并且方法1200可以包括接收作为主受信根证书1044的派生物的发布证书1046。该方法还可以包括验证发布证书1046是主受信根证书1044的直接派生物。
方法1200还包括,在1230,将临时登记设备证书1042安装在存储器中。如果临时注册设备证书是在KMS120已经向电子设备100认证之后通过安全信道接收的,则电子设备可以信任临时注册设备证书1042为来自KMS。然而,在其他示例中,临时注册根证书1038可以作为OEM固件的一部分预先安装在设备上,或者也可以由电子设备通过通信信道接收。
图9示出了方法1300的流程图。该方法可以由例如密钥管理服务器120来执行。
在1310,方法1300包括接收证书签名请求(CSR),该CSR包括设备标识符和由电子设备建立的注册密钥对的注册公共密钥(EPK),以获取证实EPK与设备标识符相关联的证书,其中,设备标识符基于EPK的函数。
在1320,方法1300包括使得设备标识符得以对照设备标识符数据库而被检查,服务器可以针对该设备标识符数据库对证书进行签名。例如,数据库可以存储在本地,在这种情况下,可以直接查询数据库,如参考图7描述的场景中所设想的。然而,在其他示例中,数据库可以位于远程服务器中,例如具有授权服务器130,在这种情况下,可以请求对照数据库检查设备标识符。
在1330,方法1300还包括使得对设备标识符的检查被执行,以验证设备标识符是EPK的函数。服务器可以直接评估设备标识符是否是EPK的函数,或者可以与另一计算设备通信以验证设备标识符是EPK的函数。在一些示例中,该函数可以是密写散列函数。
在1340,方法1300包括使EPK与数据库中的设备标识符相关联。例如,数据库可以存储在本地,在这种情况下,可以直接修订数据库,如参考图7描述的场景中所设想的。然而,在其他示例中,数据库可以位于远程服务器中,例如授权服务器130,在这种情况下,可以请求将设备标识符与数据库中的EPK相关联。
在1350,方法1300包括对临时注册设备证书进行签名,该临时注册设备证书证实EPK与设备标识符相关联并包括有效期。
在1360,方法1300包括启动通过安全连接来向由设备标识符标识的电子设备传输签名的临时注册设备证书。签名的临时注册证书可以直接发送到由设备标识符标识的电子设备,或者可以传递到另一个计算设备,用于通过安全连接向前传输到电子设备100。
该方法还可以包括启动向电子设备传送发布证书1046。
图10示出了用于注册电子设备100的方法。电子设备100包括具有物理不可克隆功能(PUF)450的安全模块110。安全模块110配置成基于对PUF的第一挑战和响应来建立注册密钥对(EPK、ESK),注册密钥对包括注册公共密钥(EPK)和注册私密密钥(ESK)。在示例中,安全模块110可以配置成基于对PUF 450的第一挑战来建立注册公共密钥(EPK),以及基于对PUF 450的第一挑战的响应来建立注册私密密钥(ESK)。电子设备100还配置成基于对PUF的第二挑战和响应来建立设备密钥对(DPK、DSK),该设备密钥对包括设备公共密钥(DPK)和设备私密密钥(DSK)。电子设备100还包括其上安装有主可信根证书1044(例如,图6C中的“OEM_根”)的一个或多个存储器。
在这个方法中,电子设备100和KMS120相互认证,并且电子设备100请求设备公共密钥(DPK)的证书,它们将使用该证书来与它们的IoT中枢170通信。
电子设备100在1402启动到KMS120的TLS连接。在握手期间,KMS 120通过出示(在1404)安全连接证书(“KMS_TLS_证书”)1056和安全连接发布证书(“IC_TLS”)1054再次向电子设备100认证。
电子设备100必须对这个证书执行所有检查——特别是仔细检查主题名称——如上面关于图7所述。这向电子设备100证实了它正在跟与其固件中的KMS标识符相关联的KMS120对话。
如果KMS认证成功,则电子设备100通过在1406出示其在先前交换中接收的临时注册设备证书1046并执行TLS客户端认证来向服务器认证。KMS120只接受已由临时注册发布证书1040(“TE_OEM_IC”)签名的临时注册设备证书。在1408,KMS120对临时登记设备证书执行检查。
成功的客户端认证证实电子设备100知道对应于临时注册设备证书1042中注册公共密钥(EPK)的注册私密密钥(ESK)。由于KMS120在发布证书时进行的检查确保了设备标识符对应于它们拥有的设备,并且临时注册设备证书1042中的注册公共密钥散列到该证书中命名的设备标识符,因此假设没有一对设备具有冲突ID,并且攻击者不能在散列函数中发现冲突(这两个事件都以非常小的概率发生),这向KMS120证实了电子设备100是这样的唯一设备,其具有由H(EPK)给定的标识符并知道与临时注册设备证书1042中的EPK对应的ESK。
如果临时注册签名密钥泄露,则攻击者可以为已知的密钥对发布任意证书,这将允许他们成功地完成对KMS120的TLS客户端认证;然而,这种情况将被下面的KMS120执行的检查捕捉到。
随着双方被认证,安全TLS通信信道打开(1410)。
在1412,电子设备100为设备公共密钥DPK创建证书签名请求(CSR)。CSR中的主题名称等于设备标识符(图中标记为“设备ID”),它是EPK,H(EPK)的密写散列。在1414,电子设备100向KMS120发送CSR。
CSR中的拥有权证明向KMS120提供了某种保证,即电子设备100知道对应于CSR中设备公共密钥(DPK)的设备私密密钥(DSK)。如果信道绑定信息将来可以被包括在CSR下,则这将证实在TLS连接的客户端处的电子设备100知道对应于DPK的DSK。
在接收到CSR之后,KMS120执行大量检查。
在1416,KMS120检查临时注册设备证书1042在其有效期内,并且用于对临时注册设备证书1042进行签名的签名验证正确。
在1418,KMS120进一步检查临时登记设备证书1042中的设备标识符是否对应于KMS数据库中的条目。这减轻了TE发布私密密钥(与TE_OEM_IC证书1040相关联)的泄露。如果这样的事件发生,则攻击者可以发布任意有效的临时注册设备证书1042。但是,位于KMS所拥有的集合之外的设备标识符的临时注册设备证书将在这个检查之后被拒绝。这意味着攻击者只能为KMS拥有的设备标识符发布恶意的临时注册设备证书;这在下面的检查中得到缓解。
在1420,KMS120检查临时登记设备证书1042中的设备标识符是否等于H(EPK),其中,EPK在临时登记设备证书1042的公共密钥字段中。
任何恶意证书必须具有EPK,其散列到临时注册设备证书中的设备标识符(通过之前的检查,其对应于属于KMS的设备标识符)。为了用这样的证书成功进行TLS客户端认证,攻击者必须或者已经泄露了设备的ESK(在这种情况下,设备无论如何都完全泄露了),或者已经在散列函数中发现了冲突,这意味着可以在临时登记设备证书1042中使用除EPK之外的公共密钥(对于良好的抗冲突散列函数来说是不可行的)。
注意,在1416、1418、1420的检查可以可选地在安全通道打开之前在1408执行。
在1422,KMS检查临时登记设备证书1042中的设备标识符是否等于CSR中的设备标识符。需要检查CSR中的主题名称与临时注册设备证书1042中的主题名称相匹配,以将认证电子设备100的身份链接到发布的证书的身份。这是为了防止电子设备100请求不同设备标识符的证书,并使用该证书来冒充该不同设备。
在1424,KMS120从其数据库中检索与给定设备标识符相关联的安全策略,并基于证书寿命、密钥使用等执行所有必要的检查,以确保CSR中的细节符合KMS的安全政策。
如果所有检查都成功,则KMS120根据CSR中的细节,使用与策略相关联的发布证书1046(“IC_A”)的私密密钥来向电子设备100发布设备证书1048。
在1426,新创建的设备证书1048连同IoT中枢端点和IoT根证书一起发送到电子设备100。也将设备证书1048发送到IoT中枢170。电子设备100现在具有连接到其IoT中枢170所需的所有信息。
为了使电子设备100能够向它们的IoT中枢170认证,对设备证书1048进行签名的发布证书1046必须已经预先向IoT中枢170注册。所有发布证书IC_A、IC_B等的设备在电子设备连接之前向IoT中枢170注册。
在1430,终止TLS连接。
在1432,电子设备100使用先前安装的发布证书IC_A1046来验证它已经发送的设备证书1048。电子设备100检查设备证书1048是由先前安装的发布证书1046发布的;它不能接受任何其他证书发布的设备证书。
电子设备100检查设备证书1048的主题名称和公共密钥是否如预期的那样(即,主题是设备标识符H(EPK),并且公共密钥是DPK)。为了确保进一步的安全,电子设备100应该在可能的情况下检查有效开始日期和有效结束日期没有显示不规则性(比如有效开始日期是过去的,或者设备证书1048过期)。如果证书1048已经更新(因此公共密钥不变),则电子设备100可以例如检查有效起始日期是否不同于其先前证书中的有效起始日期,以提供某种保证,即冒充KMS120的攻击者没有将电子设备的旧证书返回给它。
如果验证失败,则电子设备100必须终止连接,并且可选地产生给出细节的错误消息。
这个步骤用于确保电子设备100已通过现在可信的发布证书IC_A1046发布了有效的设备证书1048,并且细节如电子设备100所期望的。如果攻击者已经泄露了TLS密钥(对于KMS_TLS_Cert证书1056)而没有泄露发布私密密钥(对于IC_A证书1046),则他们将能够向电子设备100冒充KMS120,但是将不能为电子设备100发布有效的新设备证书1048。电子设备100应该仔细检查接收到的证书的细节,以确保它们已经接收到合适的证书,并检测冒充KMS120但不知道发布秘密的攻击者是否试图欺骗电子设备100接受已经发布过的设备证书。
有利的是,在图10的方法之后,电子设备拥有有效的设备证书1048,用于证实设备公共密钥(DPK)与设备标识符(H(EPK))相关联。设备证书1048中的信任是从与OEM 160相关联的初级根证书1044中导出的。
图11示出了由电子设备100执行的通用方法1500的流程图。电子设备100包括具有物理不可克隆功能(PUF)450的安全模块110。安全模块110配置成基于对PUF的第一挑战和响应来建立注册密钥对(EPK、ESK),该注册密钥对包括注册公共密钥(EPK)和注册私密密钥(ESK)。在示例中,安全模块110可以配置成基于对PUF 450的第一挑战来建立注册公共密钥(EPK),以及基于对PUF的第一挑战的响应来建立注册私密密钥(ESK)。电子设备100配置成基于对PUF的第一挑战和响应来建立设备密钥对(DPK、DSK),该设备密钥对包括设备公共密钥(DPK)和设备私密密钥(DSK)。电子设备100还包括其上安装有主可信根证书1044的一个或多个存储器。
在1510,方法1500包括通过安全连接来向服务器发送证书签名请求(CSR),以获取证实DPK与设备标识符相关联的证书1048,其中,CSR使用DSK来进行签名。CSR包括DPK和设备标识符。设备标识符基于EPK的函数。
在1520,方法1500包括通过安全连接来接收将DPK与设备标识符相关联的设备证书1048。
在1530,方法1500包括验证设备证书1048是主受信根证书1044的派生物。电子设备100还可以检查设备证书1048的主题名称和公共密钥是否如预期的那样(即,主题是设备标识符H(EPK),并且公共密钥是DPK)。为了确保进一步的安全,电子设备100可以检查有效开始日期和有效结束日期没有显示不规则性(例如有效开始日期是过去的,或者设备证书1048过期)。如果证书1048已被更新(因此公共密钥未改变),则电子设备100可以检查有效起始日期是否不同于其先前证书中的日期,以提供某种保证,即攻击者没有将电子设备的旧证书返回给它。
在1540,方法1500包括,响应于验证而将设备证书1048安装在存储器中。
图12示出了方法1600的流程图。该方法适合于由比如密钥管理服务器120的计算装置来执行,该计算装置可以包括一个或多个计算装置(即,密钥管理服务器系统)。
在1610,方法1600包括接收对证实设备密钥对的设备公共密钥(DPK)与设备标识符相关联的证书的证书签名请求(CSR)。CSR包括设备标识符和DPK,并使用设备密钥对的设备私密密钥(DSK)来进行签名。设备标识符基于已知属于电子设备的注册密钥对的注册公共密钥的函数。
KMS120可以通过安全连接从电子设备100接收CSR,或者可以密钥管理服务器系统的另一个服务器接收CSR,另一个服务器通过安全连接从电子设备100接收CSR。
在1620,方法1600包括使得设备标识符得以对照设备标识符数据库而被检查,服务器可以针对该设备标识符数据库对证书进行签名。例如,数据库可以存储在本地,在这种情况下,可以直接查询数据库,如参考图10描述的场景中所设想的。然而,在其他示例中,数据库可以位于远程服务器中,例如具有授权服务器130,在这种情况下,可以请求对照数据库检查设备标识符。
在1630,方法1600包括使得对设备标识符的检查被执行,以验证设备标识符是否已知用于识别电子设备。例如,KMS120可以导致执行检查以验证KMS120拥有设备标识符,验证设备标识符是EPK的函数,以及验证CSR的设备标识符等于先前发布的临时注册设备证书1042中的设备标识符。
在1640,方法1600包括基于CSR来对设备证书1048进行签名,其中,设备证书1048是电子设备已知的主可信根证书的派生物。
在1650,该方法包括启动通过安全连接来向由设备标识符标识的电子设备传输设备证书1048。该方法还可以包括启动IoT中枢的IoT根证书和比如URL的端点的传输,以使得电子设备能够与相关联的IoT中枢通信。该方法还可以包括将设备证书1048传送到IoT中枢170。
图13示出了根据一些示例的计算机可读介质1700。
计算机可读介质1700存储单元,其中,每个单元包括指令1710,当执行指令1710时,指令1710使得处理器1720或其他处理/计算设备或装置执行特定操作。
例如,指令1710可以使得处理器1720通过安全连接来向服务器传输包括设备标识符和注册公共密钥EPK的证书签名请求(CSR),以获取证明EPK与设备标识符相关联的证书,其中,使用注册私密密钥ESK对CSR进行签名,并且其中,设备标识符基于EPK的函数。指令1710还包括使得处理器1720通过安全连接来接收临时登记设备证书,该临时登记设备证书证实EPK与设备标识符相关联并包括有效期。指令1710还可以使得处理器1720将临时登记设备证书安装在存储器中。
例如,示例1710可以使得处理器1720接收包括设备标识符和由电子设备建立的注册密钥对的注册公共密钥(EPK)的证书签名请求(CSR),以获取证实EPK与设备标识符相关联的证书,其中,设备标识符基于EPK的函数。指令1710还可以使得处理器1720使得设备标识符得以对照设备标识符数据库而被检查,服务器可以针对该设备标识符数据库对证书进行签名。指令1710还可以使得处理器1720使得对设备标识符的检查被执行,以验证设备标识符是EPK的函数。指令1710还可以使得处理器1720使得EPK与数据库中的设备标识符相关联。指令1710还包括使得处理器1720通过安全连接来对临时登记设备证书进行签名,该临时登记设备证书证实EPK与设备标识符相关联并包括有效期。1710还包括使得处理器1720启动通过安全连接来向由设备标识符标识的电子设备传输签名的临时注册设备证书。
例如,指令1710可以使得处理器1720通过安全连接来向服务器传输对包括基于注册公共密钥(EPK)的函数的设备标识符的设备公共密钥(DPK)的证书签名请求(CSR),以获取证明DPK与设备标识符相关联的证书,其中,CSR使用设备私密密钥(DSK)进行签名。指令1710还可以使得处理器1720通过安全连接来接收将DPK与设备标识符相关联的设备证书。指令1710还可以使得处理器1720验证设备证书是主受信根证书的派生物。指令1710还可以使得处理器1720响应于验证而将设备证书安装在存储器中。
例如,指令1710可以使得处理器1720接收对由电子设备建立的设备密钥对的设备公钥(DPK)的证书签名请求(CSR),该CSR包括基于由电子设备建立的注册密钥对的注册公钥(EPK)的函数的设备标识符,证书的CSR证实DPK与设备标识符相关联。指令1710还可以包括使得处理器1720使得设备标识符得以对照设备标识符数据库而被检查,处理器1720可以针对该设备标识符数据库对证书进行签名。指令1710还可以使得处理器1720使得对设备标识符的检查被执行,以验证设备标识符是否已知用于识别电子设备。指令1710还可以使得处理器1720基于CSR来对设备证书进行签名,其中,该设备证书是主可信根证书的派生物。1710还包括使得处理器1720启动通过安全连接来向由设备标识符标识的电子设备传输设备证书。
可以利用一个或多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是例如但不限于电子系统、磁系统、光系统、电磁系统、红外系统、或半导体系统、半导体装置、半导体设备、或者前述的任何合适的组合。计算机可读介质的更具体的示例(非穷举列表)将包括以下:具有一条或多条导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤、便携式光盘只读存储器(CDROM)、光存储设备、磁存储设备、或者前述的任何合适的组合。在本文件的上下文中,计算机可读存储介质可以是可以包含或存储由指令执行系统、装置或设备使用或与其结合使用的程序的任何有形介质。
计算机可读信号介质可以包括其中包含计算机可读程序代码的传播数据信号,例如,在基带中或作为载波的一部分。这样的传播信号可以采取多种形式中的任何一种,多种形式包括但不限于电磁、光学、或者其任何合适的组合。计算机可读信号介质可以是任何计算机可读介质,其不是计算机可读存储介质,并可以传送、传播或输送由指令执行系统、装置或设备使用或与其结合使用的程序。
包含在计算机可读介质上的计算机代码可以使用任何适当的介质来传输,介质包括但不限于无线、有线、光纤电缆、射频(RF)等、或者其任何合适的组合。
用于执行用于本发明各方面的操作的计算机程序代码可以用一种或多种编程语言的任意组合来编写,编程语言包括面向对象的编程语言,比如Java、Smalltalk、C++等,以及传统的过程编程语言,比如“C”编程语言或类似的编程语言。程序代码可以完全在用户计算机上执行、部分在用户计算机上执行、作为独立的软件包、部分在用户计算机上执行且部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,网络包括局域网(LAN)或广域网(WAN),或者可以连接到外部计算机(例如,通过使用互联网服务提供商的互联网)。
本文描述的方法的许多变化对技术人员来说是显而易见的。
除非另有明确说明,否则本说明书(包括任何所附权利要求、摘要和附图)中公开的每个特征可以由用于相同、等同或类似目的的替代特征所替代。因此,除非另有明确说明,否则所公开的每个特征仅仅是一般系列的等效或相似特征的一个示例。
本发明不限于任何前述实施例的细节。本发明延伸到本说明书(包括任何所附权利要求、摘要和附图)中公开的特征的任何新颖的一个或任何新颖的组合,或者延伸到如此公开的任何方法或过程的步骤的任何新颖的一个或任何新颖的组合。权利要求不应被解释为仅覆盖前述实施例,而是覆盖落入权利要求范围内的任何实施例。
Claims (23)
1.一种电子设备,所述电子设备包括具有物理不可克隆功能(PUF)的安全模块,所述安全模块配置成基于对所述PUF的第一挑战和响应来建立注册密钥对(ESK、EPK),所述注册密钥对包括注册公共密钥(EPK)和注册私密密钥(ESK);
其中,所述电子设备配置成基于对所述PUF的第二挑战和响应来建立设备密钥对(DSK、DPK),所述设备密钥对包括设备公共密钥(DPK)和设备私密密钥(DSK);
所述电子设备还包括:
一个或多个存储器,所述一个或多个存储器上安装有主可信根证书;以及
处理器,所述处理器配置成:
通过安全连接向服务器传输证书签名请求(CSR),以获取证实所述DPK与设备标识符相关联的证书,所述CSR包括:
所述设备标识符;和
所述DPK;
其中,所述CSR使用所述DSK来进行签名,并且其中,所述设备标识符基于所述EPK的函数;
通过所述安全连接来接收将所述DPK与所述设备标识符相关联的设备证书;
验证所述设备证书是所述主可信根证书的派生物;以及
响应于所述验证而将所述设备证书安装在存储器中。
2.根据权利要求1所述的电子设备,其中,所述处理器还配置成通过所述安全连接来接收IoT中枢根证书,并将所述IoT中枢根证书存储在存储器中。
3.根据权利要求2所述的电子设备,其中,所述处理器还配置成通过所述安全连接来接收IoT中枢端点,并将所述IoT中枢端点存储在存储器中。
4.根据任一前述权利要求所述的电子设备,其中,所述一个或多个存储器上安装有发布证书,其中,所述发布证书是所述主受信根证书的派生物,并且其中,验证所述设备证书是所述主受信根证书的派生物包括验证所述设备证书是所述发布证书的直接派生物。
5.根据权利要求4所述的电子设备,其中,所述发布证书是所述主可信根证书的直接派生物。
6.根据任一前述权利要求所述的电子设备,其中,所述一个或多个存储器上安装有临时注册设备证书,其中,所述临时注册设备证书将所述EPK与所述设备标识符相关联并包括有效期,并且其中,所述安全连接在所述有效期到期之前建立。
7.根据权利要求6所述的电子设备,其中,为了与所述服务器建立所述安全连接,所述处理器配置成通过出示所述临时注册设备证书来向所述服务器进行认证。
8.根据权利要求6或权利要求7所述的电子设备,其中,所述临时注册设备证书由存储在所述服务器中的临时注册发布证书进行签名。
9.根据任一前述权利要求所述的电子设备,其中,所述处理器还配置成:
从所述服务器接收安全连接发布证书和安全连接证书,所述安全连接发布证书和安全连接证书是所述主可信根证书的派生物;
使用所述主可信根证书来验证所述安全连接证书;以及
响应于所述验证而建立到所述服务器的所述安全连接。
10.根据权利要求9所述的电子设备,其中,验证所述安全连接证书包括验证所述安全连接证书是所述主可信根证书的派生物,并且可选地,将服务器身份与存储在所述电子设备的所述一个或多个存储器中的服务器身份进行比较。
11.一种用于由电子设备执行的方法,所述电子设备包括:
具有物理不可克隆功能的安全模块(PUF),所述安全模块配置成基于对所述PUF的第一挑战和响应来建立注册密钥对(ESK、EPK),所述注册密钥对包括注册公共密钥(EPK)和注册私密密钥(ESK);以及
一个或多个存储器,所述一个或多个存储器上安装有主可信根证书;并且
其中,所述电子设备配置成基于对所述PUF的第二挑战和响应来建立设备密钥对(DSK、DPK),所述设备密钥对包括设备公共密钥(DPK)和设备私密密钥(DSK);
其中,所述方法包括:
通过安全连接向服务器传输证书签名请求(CSR),以获取证实所述DPK与设备标识符相关联的证书,所述CSR包括:
所述设备标识符;和
所述DPK;
其中,所述CSR使用所述DSK来进行签名,并且其中,所述设备标识符基于所述EPK的函数;
通过所述安全连接来接收将所述DPK与所述设备标识符相关联的设备证书;
验证所述设备证书是所述主可信根证书的派生物;以及
响应于所述验证而将所述设备证书安装在存储器中。
12.一种包括一个或多个服务器的服务器系统的服务器,所述服务器系统用于认证电子设备,所述服务器配置成:
接收证书签名请求(CSR),以获取证实设备密钥对的设备公共密钥(DPK)与用于标识电子设备的设备标识符相关联的证书,所述CSR包括:
所述设备标识符;和
所述DPK;
其中,所述CSR使用所述设备密钥对的设备私密密钥(DSK)来进行签名,并且其中,所述设备标识符基于已知属于所述电子设备的注册密钥对的注册公共密钥(EPK)的函数;
使得所述CSR的所述设备标识符得以对照设备标识符数据库而被检查,所述服务器能够针对所述设备标识符数据库对证书进行签名;
使得对所述CSR的所述设备标识符的检查被执行以验证所述设备标识符是否已知用于识别电子设备;
基于所述CSR来对设备证书进行签名,其中,所述设备证书是所述电子设备已知的主可信根证书的派生物;
启动通过安全连接从所述服务器系统向由所述设备标识符标识的所述电子设备传输所述设备证书。
13.根据权利要求12所述的服务器,所述服务器还配置成启动通过所述安全连接从所述服务器系统向所述电子设备传输IoT中枢根证书,和/或启动通过所述安全连接向所述电子设备传输IoT中枢端点。
14.根据权利要求12至13中任一项所述的服务器,所述服务器还配置成使得向IoT中枢登记所述设备证书。
15.根据权利要求12至14中任一项所述的服务器,所述服务器还配置成使得检索与所述设备标识符相关联的安全策略,并使得根据所述CSR和安全策略对所述设备证书进行签名。
16.根据权利要求12至15中任一项所述的服务器,其中,使得对所述CSR的所述设备标识符的检查被执行以验证所述设备标识符是否已知用于识别电子设备包括:
验证所述CSR的所述设备标识符与临时注册设备证书的设备标识符相匹配,所述临时注册设备证书证实所述EPK与所述设备标识符相关联并包括有效期,所述临时注册设备证书已经由所述电子设备在建立所述安全连接时向所述服务器系统出示。
17.根据权利要求16所述的服务器,所述服务器还配置成使得检查所述临时注册设备证书是否由存储在所述服务器系统中的临时注册发布证书签名,以及检查所述临时注册设备证书是否在所述有效期内。
18.根据权利要求16或17所述的服务器,所述服务器还配置成基于对所述临时注册设备证书的签名的检查,在所述电子设备与所述服务器系统之间建立所述安全连接。
19.根据权利要求16至18中任一项所述的服务器,所述服务器还配置成启动从所述服务器系统向所述电子设备传输安全连接发布证书和安全连接证书,所述安全连接发布证书和安全连接证书是所述主可信根证书的派生物。
20.一种方法,所述方法包括:
接收证书签名请求(CSR),以获取证实设备密钥对的设备公共密钥(DPK)与用于标识电子设备的设备标识符相关联的证书,所述CSR包括:
所述设备标识符;和
所述DPK;
其中,所述CSR使用所述设备密钥对的设备私密密钥(DSK)来进行签名,并且其中,所述设备标识符基于已知属于所述电子设备的注册密钥对的注册公共密钥(EPK)的函数;
使得所述设备标识符得以对照设备标识符数据库而被检查,所述服务器能够针对所述设备标识符数据库对证书进行签名;
使得对所述CSR的所述设备标识符的检查被执行以验证所述设备标识符是否已知用于识别所述电子设备;
基于所述CSR来对设备证书进行签名,其中,所述设备证书是所述电子设备已知的主可信根证书的派生物;
启动通过安全连接向由所述设备标识符标识的所述电子设备传输所述设备证书。
21.一种系统,所述系统包括电子设备和一个或多个服务器:
其中,所述电子设备包括具有物理不可克隆功能(PUF)的安全模块,所述安全模块配置成基于对所述PUF的第一挑战和响应来建立注册密钥对(ESK、EPK),所述注册密钥对包括注册公共密钥(EPK)和注册私密密钥(ESK);
其中,所述电子设备配置成基于对所述PUF的第二挑战和响应来建立设备密钥对(DSK、DPK),所述设备密钥对包括设备公共密钥(DPK)和设备私密密钥(DSK);
所述电子设备还包括:
一个或多个存储器,所述一个或多个存储器上安装有主可信根证书;以及
处理器,所述处理器配置成:
通过安全连接向所述一个或多个服务器传输证书签名请求(CSR),以获得证实所述DPK与设备标识符相关联的证书,所述CSR包括:
所述设备标识符;和
所述DPK;
其中,所述CSR使用所述DSK来进行签名,并且其中,所述设备标识符基于所述EPK的函数;
通过所述安全连接来接收将所述DPK与所述设备标识符相关联的设备证书;
验证所述设备证书是所述主可信根证书的派生物;以及
响应于所述验证而将所述设备证书安装在存储器中;并且其中,所述一个或多个服务器配置成:
通过所述安全连接从所述电子设备接收所述CSR;
对照设备标识符数据库检查所述设备标识符,所述服务器能够针对所述设备标识符数据库对证书进行签名;
验证所述设备标识符是否已知用于识别所述电子设备;
基于所述CSR来对所述设备证书进行签名,其中,所述设备证书是所述主可信根证书的派生物;
通过所述安全连接向由所述设备标识符标识的所述电子设备发送所述设备证书。
22.计算机可读介质,包括指令,当由电子设备的处理器执行时,所述指令使得所述电子设备执行根据权利要求11所述的方法。
23.计算机可读介质,包括指令,当由服务器的处理器执行时,所述指令使得所述服务器执行根据权利要求20所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB2105183.4A GB2605950B (en) | 2021-04-12 | 2021-04-12 | Secure root-of-trust enrolment and identity management of embedded devices |
GB2105183.4 | 2021-04-12 | ||
PCT/GB2022/050916 WO2022219323A1 (en) | 2021-04-12 | 2022-04-12 | Secure root-of-trust enrolment and identity management of embedded devices |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117397199A true CN117397199A (zh) | 2024-01-12 |
Family
ID=75949401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280027961.4A Pending CN117397199A (zh) | 2021-04-12 | 2022-04-12 | 嵌入式设备的安全信任根注册和身份管理 |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP4324159A1 (zh) |
JP (1) | JP2024513521A (zh) |
KR (1) | KR20240045162A (zh) |
CN (1) | CN117397199A (zh) |
GB (1) | GB2605950B (zh) |
WO (1) | WO2022219323A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114662082B (zh) * | 2022-02-25 | 2023-06-06 | 荣耀终端有限公司 | 电子设备的访问控制方法、可读介质和电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2583118B (en) | 2019-04-17 | 2021-09-08 | Crypto Quantique Ltd | Device identification with quantum tunnelling currents |
-
2021
- 2021-04-12 GB GB2105183.4A patent/GB2605950B/en active Active
-
2022
- 2022-04-12 CN CN202280027961.4A patent/CN117397199A/zh active Pending
- 2022-04-12 JP JP2023562565A patent/JP2024513521A/ja active Pending
- 2022-04-12 KR KR1020237036838A patent/KR20240045162A/ko active Search and Examination
- 2022-04-12 WO PCT/GB2022/050916 patent/WO2022219323A1/en active Application Filing
- 2022-04-12 EP EP22717422.4A patent/EP4324159A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2024513521A (ja) | 2024-03-25 |
GB2605950B (en) | 2023-09-27 |
GB2605950A (en) | 2022-10-26 |
KR20240045162A (ko) | 2024-04-05 |
EP4324159A1 (en) | 2024-02-21 |
GB202105183D0 (en) | 2021-05-26 |
WO2022219323A1 (en) | 2022-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10382485B2 (en) | Blockchain-assisted public key infrastructure for internet of things applications | |
CN110770695B (zh) | 物联网(iot)设备管理 | |
US9912485B2 (en) | Method and apparatus for embedding secret information in digital certificates | |
US20240073003A1 (en) | Method of data transfer, a method of controlling use of data and cryptographic device | |
US10375057B2 (en) | Systems and methods for certificate chain validation of secure elements | |
WO2019127278A1 (zh) | 安全访问区块链的方法、装置、系统、存储介质及电子设备 | |
US8397281B2 (en) | Service assisted secret provisioning | |
KR20200080441A (ko) | 사물인터넷 블록체인 환경에서의 디바이스 분산 인증 방법 및 이를 이용한 디바이스 분산 인증 시스템 | |
CN114978635B (zh) | 跨域认证方法及装置、用户注册方法及装置 | |
CN113472790A (zh) | 基于https协议的信息传输方法、客户端及服务器 | |
US20070192583A1 (en) | Communication support server, communication support method, and communication support system | |
KR102591826B1 (ko) | Puf를 이용한 인증서 기반 디바이스 인증 장치 및 방법 | |
CN117397198A (zh) | 绑定加密密钥证明 | |
CN110912685A (zh) | 建立受保护通信信道 | |
WO2022125979A1 (en) | Single-certificate multi-factor authentication | |
CN117397199A (zh) | 嵌入式设备的安全信任根注册和身份管理 | |
US20240187262A1 (en) | Encrypted and authenticated firmware provisioning with root-of-trust based security | |
CN117176353A (zh) | 处理数据的方法及装置 | |
US20240195641A1 (en) | Interim root-of-trust enrolment and device-bound public key registration | |
US20230155842A1 (en) | Method and apparatus for certifying an application-specific key and for requesting such certification | |
KR20240099019A (ko) | 인증 기관의 개입없는 tls 기반 인증 방법 | |
CN117499032A (zh) | 一种通信方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |