CN113056898A - 获取密钥的方法、装置及密钥管理系统 - Google Patents
获取密钥的方法、装置及密钥管理系统 Download PDFInfo
- Publication number
- CN113056898A CN113056898A CN202180000702.8A CN202180000702A CN113056898A CN 113056898 A CN113056898 A CN 113056898A CN 202180000702 A CN202180000702 A CN 202180000702A CN 113056898 A CN113056898 A CN 113056898A
- Authority
- CN
- China
- Prior art keywords
- key
- information
- node
- communication domain
- server
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 371
- 238000004891 communication Methods 0.000 claims abstract description 772
- 239000000463 material Substances 0.000 claims abstract description 116
- 238000012795 verification Methods 0.000 claims description 302
- 238000012545 processing Methods 0.000 claims description 79
- 238000012790 confirmation Methods 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 20
- 239000003795 chemical substances by application Substances 0.000 description 289
- 230000004044 response Effects 0.000 description 94
- 230000008569 process Effects 0.000 description 63
- 230000006870 function Effects 0.000 description 48
- 238000004422 calculation algorithm Methods 0.000 description 45
- 238000003860 storage Methods 0.000 description 43
- 230000007774 longterm Effects 0.000 description 29
- 238000012217 deletion Methods 0.000 description 28
- 230000037430 deletion Effects 0.000 description 28
- 230000002159 abnormal effect Effects 0.000 description 19
- 238000010276 construction Methods 0.000 description 19
- 239000000306 component Substances 0.000 description 18
- 238000010586 diagram Methods 0.000 description 17
- 230000003993 interaction Effects 0.000 description 11
- 238000009826 distribution Methods 0.000 description 10
- 230000009471 action Effects 0.000 description 8
- 235000019580 granularity Nutrition 0.000 description 8
- 238000012546 transfer Methods 0.000 description 8
- VIEYMVWPECAOCY-UHFFFAOYSA-N 7-amino-4-(chloromethyl)chromen-2-one Chemical compound ClCC1=CC(=O)OC2=CC(N)=CC=C21 VIEYMVWPECAOCY-UHFFFAOYSA-N 0.000 description 7
- 230000008878 coupling Effects 0.000 description 5
- 238000010168 coupling process Methods 0.000 description 5
- 238000005859 coupling reaction Methods 0.000 description 5
- 238000009795 derivation Methods 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000001737 promoting effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241000465502 Tobacco latent virus Species 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 201000010276 collecting duct carcinoma Diseases 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 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
- 230000002085 persistent effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- 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
-
- 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/061—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
-
- 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
-
- 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/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/083—Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- 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/3236—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 cryptographic hash functions
- H04L9/3242—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 cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
- H04W12/041—Key generation or derivation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
- H04W12/043—Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
- H04W12/0431—Key distribution or pre-distribution; Key agreement
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Abstract
本申请公开了获取密钥的方法、装置及密钥管理系统,涉及智能车技术领域,不仅可以提高通信安全,还可以随时更新密钥,十分便捷。该密钥管理系统包括密钥服务器,以及与密钥服务器通信连接的第一节点,其中,第一节点为密钥客户端或密钥代理。密钥服务器用于获取第一密钥信息,向第一节点发送第一密钥信息。第一节点用于接收来自密钥服务器的第一密钥信息,根据第一密钥信息生成第一密钥。其中,第一密钥信息包括第一密钥材料和第一通信域的标识。第一通信域的标识用于指示第一通信域,第一密钥应用于该第一通信域,第一通信域包括密钥管理系统中的至少两个节点,该至少两个节点包括第一节点。
Description
技术领域
本申请涉及智能车和网联车技术领域,尤其涉及获取密钥的方法、装置及密钥管理系统。
背景技术
目前,车联网被认为是物联网体系中最有产业潜力、市场需求最为明确的领域之一,具有应用空间广、产业潜力大、社会效益强的特点。对促进汽车和信息通信产业创新发展,构建汽车和交通服务新模式新业态,推动自动驾驶技术创新和应用,提高交通效率和安全水平具有重要意义。因此,车联网受到了越来越多的关注。
在车联网中,信息安全一直是被关注的重点。信息安全可以分为车内信息安全和车外信息安全。对于车内信息安全,车内设备出厂前,会在产线上通过密钥灌装的方式灌装密钥,再组装到车辆上。后续,车内设备会通过灌装的密钥进行通信,以保证车内信息安全。上述密钥是由车厂的密钥管理系统进行管理,一方面,若车厂的密钥库出现泄漏,那么车厂的所有车辆的车内安全都受到极大威胁;另一方面,为了提高车内安全,需要定期更新车内设备使用的密钥。但是,每次更新密钥时,都需要去车厂为车内设备更新密钥,十分不便。
发明内容
本申请提供获取密钥的方法、装置及密钥管理系统,可以在智能车内、智能家居场景中或数据中心上部署密钥管理系统,不仅可以提高通信安全,还可以随时更新密钥,十分便捷。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,本申请实施例提供一种获取密钥的方法,该方法应用于密钥管理系统,该密钥管理系统包括密钥服务器,以及与密钥服务器通信连接的第一节点,第一节点为密钥客户端或密钥代理,该方法包括:密钥服务器获取第一密钥信息,第一密钥信息包括第一密钥材料和第一通信域的标识,第一密钥材料用于生成第一密钥,第一通信域的标识用于指示第一通信域,第一密钥应用于该第一通信域,第一通信域包括密钥管理系统中的至少两个节点,至少两个节点包括第一节点;密钥服务器向第一节点发送第一密钥信息。
上述第一方面提供的获取密钥的方法,密钥服务器可以为第一通信域中的每个节点配置第一密钥,后续,第一通信域中的节点可以通过该第一密钥进行通信。一方面,该第一密钥是由第一通信域中的节点保存,不易泄漏,即便泄漏了,也不会影响其他通信域的安全,因此可以提高通信安全。另一方面,密钥服务器可以随时更新密钥,十分便捷。另外,第一密钥占用的存储空间较小,不会增加密钥管理系统中节点的软硬件成本。第一密钥也不需要车厂进行管理,不会增加车厂的管理成本。
一种可能的实现方式,第一通信域是根据以下至少一个信息确定的:密钥管理系统中节点的连接方式,密钥管理系统中节点的功能,或密钥管理系统中通信信息的类型。基于上述方法,可以基于不同的粒度划分通信域,提高了通信域划分的多样性和灵活性。另外,基于不同粒度划分的通信域可以覆盖密钥管理系统中节点之间通信的多种场景,例如,连接方式相同的节点之间的通信场景,功能相同的节点之间的通信场景或通信信息的类型相同的节点之间的通信场景等。该多种场景中的任一种场景都可以对应一个或多个密钥,进而提高通信安全。
一种可能的实现方式,该方法还包括:密钥服务器根据第一验证信息生成第一验证码,第一验证信息包括以下信息中的至少一个:第一密钥,第一密钥材料,第一信息,或密钥服务器的标识,第一信息包括以下信息中的至少一个:第一通信域的标识,第一密钥的标识或第一随机数;密钥服务器向第一节点发送第一信息和第一验证码。基于上述方法,密钥服务器可以向第一节点发送第一信息和第一验证码,以便第一节点通过第一验证码对第一密钥在第一节点和密钥服务器之间的可用性进行验证,以防止第一密钥生成失败或错误,导致第一节点和密钥服务器之间无法正常通信。
一种可能的实现方式,该方法还包括:密钥服务器接收来自第一节点的第二信息和第二验证码,第二验证码是根据第二验证信息生成的,第二验证信息包括以下信息中的至少一个:第一密钥,第一密钥材料,第二信息,第一节点的标识,或第一随机数,第二信息包括第一通信域的标识,和/或,第一密钥的标识;密钥服务器验证第二验证码。基于上述方法,密钥服务器可以通过第二验证码对第一密钥在第一节点和密钥服务器之间的可用性进行验证,以防止第一密钥生成失败或错误,导致第一节点和密钥服务器之间无法正常通信。
一种可能的实现方式,该方法还包括:密钥服务器根据第一协议与第一节点建立第一安全通道,第一安全通道用于传输密钥服务器与第一节点之间的信息。基于的上述方法,密钥服务器和第一节点之间可以建立第一安全通道,以提高密钥服务器和第一节点通信的安全性。
一种可能的实现方式,第一节点的数量大于1,第一安全通道包括密钥服务器与每个第一节点的点到点的安全通道;或者,第一安全通道包括密钥服务器与每个第一节点的点到多点的安全通道;或者,第一安全通道包括密钥服务器与一部分第一节点的点到点的安全通道,以及密钥服务器与另一部分第一节点的点到多点的安全通道。基于上述方法,第一安全通道可以包括多种形式,增加了第一节点与密钥服务器通信的多样性和灵活性。
一种可能的实现方式,第一协议包括传输层安全协议、因特网密钥交换协议、超文本传输安全协议、数据包传输层安全性协议或自定义协议。基于上述方法,密钥管理系统中的节点可以支持多种协议,可以提高密钥管理系统中的节点之间通信的灵活性和多样性。
一种可能的实现方式,第一节点为密钥代理,密钥管理系统还包括与第一节点通信连接的第二节点,第二节点为密钥客户端。基于上述方法,密钥服务器除了与密钥客户端直接通信之外,可以通过密钥代理与密钥客户端通信。
一种可能的实现方式,第二节点包括在第一通信域中。基于上述方法,与密钥代理通信连接的密钥客户端也可以包括在第一通信域中,进而密钥服务器还可以通过密钥代理为第一通信域中的密钥客户端配置第一密钥。后续,密钥客户端可以通过第一密钥与第一通信域中的节点通信。
一种可能的实现方式,该方法还包括:密钥服务器接收来自第一节点的第一通知信息,第一通知信息用于通知第一通信域内的节点的验证结果。基于上述方法,第一节点可以通知密钥服务器,第一通信域内的节点的验证结果,以便密钥服务器做出响应。例如,若验证失败,密钥服务器重新为第一通信域中的节点配置密钥。又例如,若验证成功,密钥服务器可以启用第一密钥。
一种可能的实现方式,该方法还包括:密钥服务器获取第一配置信息,第一配置信息用于指示以下信息中的至少一种:密钥管理系统中节点的标识,密钥管理系统中节点的连接方式,或与密钥管理系统中节点通信的其他节点的信息。基于上述方法,密钥服务器可以获取第一配置信息,以便密钥服务器为密钥管理系统中的节点分配该节点对应的配置信息,使得密钥管理系统中的节点可以根据该节点对应的配置信息确定该节点所在通信域的信息。
一种可能的实现方式,该方法还包括:密钥服务器向第一节点发送第二配置信息,第二配置信息用于指示以下信息中的至少一种:第一节点的标识,第一节点的连接方式,或与第一节点通信的其他节点的信息。基于上述方法,密钥服务器可以为第一节点发送第二配置信息,使得第一节点可以根据第二配置信息确定第一节点所在通信域的信息。
一种可能的实现方式,第一节点为密钥代理,密钥管理系统还包括与第一节点通信连接的第二节点,第二节点为密钥客户端,第二配置信息还用于指示以下信息中的至少一种:第二节点的标识,第二节点的连接方式,或与第二节点通信的其他节点的信息。基于上述方法,第二配置信息还可以包括第二节点的相关配置信息,例如,第二节点的标识,第二节点的连接方式,或与第二节点通信的其他节点的信息,以便第一节点将这些相关配置信息分配给第二节点,使得第二节点可以根据这些配置信息确定第二节点所在通信域的信息。
一种可能的实现方式,该方法还包括:密钥服务器根据第一配置信息确定密钥服务器所在的通信域的信息,密钥服务器所在的通信域的信息用于指示以下信息中的至少一项:密钥服务器所在的通信域的标识,密钥服务器所在的通信域中节点的通信方式,密钥服务器与密钥服务器所在的通信域中除密钥服务器之外的节点的连接方式,密钥服务器所在的通信域中除密钥服务器之外的其他节点的信息,或构建密钥服务器所在的通信域的密钥的密钥信息。基于上述方法,密钥服务器可以根据第一配置信息确定密钥服务器所在的通信域的相关信息,以便后续为密钥服务器所在的通信域配置密钥。
一种可能的实现方式,该方法还包括:密钥服务器接收来自密钥管理工具的第一确认信息;或者,密钥服务器接收来自第一终端的第一确认信息;或者,密钥服务器接收来第二终端的第一确认信息;其中,第一确认信息用于触发密钥服务器获取第一密钥信息。基于上述方法,可以通过多种方法触发密钥服务器为密钥代理或密钥客户端配置密钥。
第二方面,本申请实施例提供一种获取密钥的方法,该方法应用于密钥管理系统,密钥管理系统包括密钥服务器,以及与密钥服务器通信连接的第一节点,第一节点为密钥客户端或密钥代理,该方法包括:第一节点接收来自密钥服务器的第一密钥的信息,第一密钥的信息包括第一密钥材料和第一通信域的标识,第一通信域的标识用于指示第一通信域;第一节点根据第一密钥材料生成第一密钥,第一密钥应用于第一通信域,第一通信域包括密钥管理系统中的至少两个节点,至少两个节点包括第一节点。
上述第二方面提供的获取密钥的方法,第一节点可以接收来自密钥服务器的第一密钥的信息,根据第一密钥的信息包括的第一密钥材料生成第一密钥,后续,第一节点可以通过第一密钥与第一通信域中的其他节点进行通信。一方面,该第一密钥是由第一通信域中的节点保存,不易泄漏,即便泄漏了,也不会影响其他通信域的安全,因此可以提高通信安全。另一方面,密钥服务器可以随时更新密钥,十分便捷。另外,第一密钥占用的存储空间较小,不会增加密钥管理系统中节点的软硬件成本。第一密钥也不需要车厂进行管理,不会增加车厂的管理成本。
一种可能的实现方式,第一通信域是根据以下至少一个信息确定的:密钥管理系统中节点的连接方式,密钥管理系统中节点的功能,或密钥管理系统中通信信息的类型。基于上述方法,可以基于不同的粒度划分通信域,提高了通信域划分的多样性和灵活性。另外,基于不同粒度划分的通信域可以覆盖密钥管理系统中节点之间通信的多种场景,该多种场景中的任一种场景都可以对应一个或多个密钥,进而提高通信安全。
一种可能的实现方式,该方法还包括:第一节点接收来自密钥服务器的第一信息和第一验证码,第一验证码是根据第一验证信息生成的,第一验证信息包括以下信息中的至少一个:第一密钥,第一密钥材料,第一信息,或密钥服务器的标识,第一信息包括以下信息中的至少一个:第一通信域的标识,第一密钥的标识或第一随机数;第一节点验证第一验证码。基于上述方法,第一节点可以通过第一验证码对第一密钥在第一节点和密钥服务器之间的可用性进行验证,以防止第一密钥生成失败或错误,导致第一节点和密钥服务器之间无法正常通信。
一种可能的实现方式,该方法还包括:第一节点根据第二验证信息生成第二验证码,第二验证信息包括以下信息中的至少一个:第一密钥,第一密钥材料,第二信息,第一节点的标识,或第一随机数,第二信息包括第一通信域的标识,和/或,第一密钥的标识;第一节点向密钥服务器发送第二信息和第二验证码。基于上述方法,第一节点可以向密钥服务器发送第二信息和第二验证码,以便密钥服务器通过第二验证码对第一密钥在第一节点和密钥服务器之间的可用性进行验证,以防止第一密钥生成失败或错误,导致第一节点和密钥服务器之间无法正常通信。
一种可能的实现方式,该方法还包括:第一节点根据第一协议与密钥服务器建立第一安全通道,第一安全通道用于传输密钥服务器与第一节点之间的信息。基于的上述方法,密钥服务器和第一节点之间可以建立第一安全通道,以提高密钥服务器和第一节点通信的安全性。
一种可能的实现方式,第一节点的数量大于1,第一安全通道包括密钥服务器与每个第一节点的点到点的安全通道;或者,第一安全通道包括密钥服务器与每个第一节点的点到多点的安全通道;或者,第一安全通道包括密钥服务器与一部分第一节点的点到点的安全通道,以及密钥服务器与另一部分第一节点的点到多点的安全通道。基于上述方法,第一安全通道可以包括多种形式,增加了第一节点与密钥服务器通信的多样性和灵活性。
一种可能的实现方式,第一节点为密钥代理,密钥管理系统还包括与第一节点通信连接的第二节点,第二节点为密钥客户端。基于上述方法,密钥服务器除了与密钥客户端直接通信之外,可以通过密钥代理与密钥客户端通信。
一种可能的实现方式,第二节点包括在第一通信域中;该方法还包括:第一节点向第二节点发送第一密钥材料和第一通信域的标识。基于上述方法,若第二节点包括在第一通信域中,密钥服务器还可以通过第一节点为第二节点配置第一密钥。后续,第二节点也可以通过第一密钥与第一通信域中的节点通信。
一种可能的实现方式,该方法还包括:第一节点根据第三验证信息生成第三验证码,第三验证信息包括以下信息中的至少一个:第一密钥,第一密钥材料,第三信息,或第一节点的标识,第三信息包括以下信息中的至少一个:第一通信域的标识,第一密钥的标识或第二随机数;第一节点向第二节点发送第三信息和第三验证码。基于上述方法,第一节点可以向第二节点发送第三信息和第三验证码,以便第二节点通过第三验证码对第一密钥在第一节点和第二节点之间的可用性进行验证,以防止第一密钥生成失败或错误,导致第一节点和第二节点之间无法正常通信。
一种可能的实现方式,该方法还包括:第一节点接收来自第二节点的第四信息和第四验证码,第四验证码是根据第四验证信息得到,第四验证信息包括以下信息中的至少一个:第一密钥,第一密钥材料,第四信息,第二节点的标识,或第二随机数,第四信息包括第一通信域的标识,和/或,第一密钥的标识;第一节点验证第四验证码。基于上述方法,第一节点可以通过第四验证码对第一密钥在第一节点和第二节点之间的可用性进行验证,以防止第一密钥生成失败或错误,导致第一节点和第二节点之间无法正常通信。
一种可能的实现方式,该方法还包括:第一节点向密钥服务器发送第一通知信息,第一通知信息用于通知第一通信域内的节点的验证结果。基于上述方法,第一节点可以通知密钥服务器,第一通信域内的节点的验证结果,以便密钥服务器做出响应。例如,若验证失败,密钥服务器重新为第一通信域中的节点配置密钥。又例如,若验证成功,密钥服务器可以启用第一密钥。
一种可能的实现方式,该方法还包括:第一节点根据第一协议与第二节点建立第二安全通道,第二安全通道用于传输第一节点与第二节点之间的信息。基于的上述方法,第一节点和第二节点之间可以建立第二安全通道,以提高第一节点和第二节点通信的安全性。
一种可能的实现方式,第二节点的数量大于1,第二安全通道包括第一节点与每个第二节点的点到点的安全通道;或者,第二安全通道包括第一节点与每个第二节点的点到多点的安全通道;或者,第二安全通道包括第一节点与一部分第二节点的点到点的安全通道,以及第一节点与另一部分第二节点的点到多点的安全通道。基于上述方法,第二安全通道可以包括多种形式,增加了第一节点与第二节点通信的多样性和灵活性。
一种可能的实现方式,第一协议包括传输层安全协议、因特网密钥交换协议、超文本传输安全协议、数据包传输层安全性协议或自定义协议。基于上述方法,密钥管理系统中的节点可以支持多种协议,可以提高密钥管理系统中的节点之间通信的灵活性和多样性。
一种可能的实现方式,该方法还包括:第一节点接收来自密钥服务器的第二配置信息,第二配置信息用于指示以下信息中的至少一种:第一节点的标识,第一节点的连接方式,或与第一节点通信的其他节点的信息。基于上述方法,第一节点可以接收来自密钥服务器的第二配置信息,使得第一节点可以根据第二配置信息确定第一节点所在通信域的信息。
一种可能的实现方式,第一节点为密钥代理,密钥管理系统还包括与第一节点通信连接的第二节点,第二节点为密钥客户端,第二配置信息还用于指示以下信息中的至少一种:第二节点的标识,第二节点的连接方式,或与第二节点通信的其他节点的信息;该方法还包括:第一节点向第二节点发送第三配置信息,第三配置信息用于指示以下信息中的至少一种:第二节点的标识,第二节点的连接方式,或与第二节点通信的其他节点的信息。基于上述方法,第一节点可以向第二节点发送第三配置信息,使得第二节点可以根据第三配置信息确定第二节点所在通信域的信息。
一种可能的实现方式,该方法还包括:第一节点根据第二配置信息确定第一节点所在通信域的信息,第一节点所在的通信域的信息用于指示以下信息中的至少一项:第一节点所在的通信域的标识,第一节点所在的通信域中节点的通信方式,第一节点与第一节点所在的通信域中除第一节点之外的节点的连接方式,第一节点所在的通信域中除第一节点之外的其他节点的信息,或构建第一节点所在的通信域的密钥的密钥信息。基于上述方法,第一节点可以根据第二配置信息确定第一节点所在的通信域的相关信息,以便密钥服务器后续为第一节点所在的通信域配置密钥。
第三方面,本申请实施例提供一种获取密钥的方法,该方法应用于密钥管理系统,该密钥管理系统包括密钥服务器,与密钥服务器通信连接的密钥代理,以及与密钥代理通信连接的密钥客户端,该方法包括:密钥客户端接收来自密钥代理的第一密钥材料和第一通信域的标识,第一通信域的标识用于指示第一通信域;密钥客户端根据第一密钥材料生成第一密钥,第一密钥应用于第一通信域,第一通信域包括密钥管理系统中的至少两个节点,至少两个节点包括密钥客户端。
上述第三方面提供的获取密钥的方法,密钥客户端可以接收来自密钥代理的第一密钥的信息,根据第一密钥的信息包括的第一密钥材料生成第一密钥,后续,密钥客户端可以通过第一密钥与第一通信域中的其他节点进行通信。一方面,该第一密钥是由第一通信域中的节点保存,不易泄漏,即便泄漏了,也不会影响其他通信域的安全,因此可以提高通信安全。另一方面,密钥服务器可以随时更新密钥,十分便捷。另外,第一密钥占用的存储空间较小,不会增加密钥管理系统中节点的软硬件成本。第一密钥也不需要车厂进行管理,不会增加车厂的管理成本。
一种可能的实现方式,第一通信域是根据以下至少一个信息确定的:密钥管理系统中节点的连接方式,密钥管理系统中节点的功能,或密钥管理系统中通信信息的类型。基于上述方法,可以基于不同的粒度划分通信域,提高了通信域划分的多样性和灵活性。另外,基于不同粒度划分的通信域可以覆盖密钥管理系统中节点之间通信的多种场景,该多种场景中的任一种场景都可以对应一个或多个密钥,进而提高通信安全。
一种可能的实现方式,该方法还包括:密钥客户端接收来自密钥代理的第三信息和第三验证码,第三验证码是根据第三验证信息得到,第三验证信息包括以下信息中的至少一个:第一密钥,第一密钥材料,第三信息,或密钥代理的标识,第三信息包括以下信息中的至少一个:第一通信域的标识,第一密钥的标识或第二随机数;密钥客户端验证第三验证码。基于上述方法,密钥客户端可以通过第三验证码对第一密钥在密钥客户端和密钥代理之间的可用性进行验证,以防止第一密钥生成失败或错误,导致密钥客户端和密钥代理之间无法正常通信。
一种可能的实现方式,该方法还包括:密钥客户端根据第四验证信息生成第四验证码,第四验证信息包括以下信息中的至少一个:第一密钥,第一密钥材料,第四信息,密钥客户端的标识,或第二随机数,第四信息包括第一通信域的标识,和/或,第一密钥的标识;密钥客户端向密钥代理发送第四信息和第四验证码。基于上述方法,密钥客户端可以向密钥代理发送第四信息和第四验证码,以便密钥代理通过第四验证码对第一密钥在密钥客户端和密钥代理之间的可用性进行验证,以防止第一密钥生成失败或错误,导致密钥客户端和密钥代理之间无法正常通信。
一种可能的实现方式,该方法还包括:密钥客户端根据第一协议与密钥代理建立第二安全通道,第二安全通道用于传输密钥客户端与密钥代理之间的信息。基于的上述方法,密钥代理和密钥客户端之间可以建立第二安全通道,以提高密钥代理和密钥客户端通信的安全性。
一种可能的实现方式,密钥客户端的数量大于1;第二安全通道包括密钥代理与每个密钥客户端的点到点的安全通道;或者,第二安全通道包括密钥代理与每个密钥客户端的点到多点的安全通道;或者,第二安全通道包括密钥代理与一部分密钥客户端的点到点的安全通道,以及密钥代理与另一部分密钥客户端的点到多点的安全通道。基于上述方法,第二安全通道可以包括多种形式,增加了第一节点与第二节点通信的多样性和灵活性。
一种可能的实现方式,第一协议包括传输层安全协议、因特网密钥交换协议、超文本传输安全协议、数据包传输层安全性协议或自定义协议。基于上述方法,密钥管理系统中的节点可以支持多种协议,可以提高密钥管理系统中的节点之间通信的灵活性和多样性。
一种可能的实现方式,该方法还包括:密钥客户端接收来自密钥代理的第三配置信息,第三配置信息用于指示以下信息中的至少一种:密钥客户端的标识,密钥客户端的连接方式,或与密钥客户端通信的其他节点的信息。基于上述方法,密钥客户端可以接收来自密钥代理的第三配置信息,以便密钥客户端根据第三配置信息确定密钥客户端所在通信域的信息。
一种可能的实现方式,该方法还包括:密钥客户端根据第三配置信息确定密钥客户端所在通信域的信息,密钥客户端所在的通信域的信息用于指示以下信息中的至少一项:密钥客户端所在的通信域的标识,密钥客户端所在的通信域中节点的通信方式,密钥客户端与密钥客户端所在的通信域中除密钥客户端之外的节点的连接方式,密钥客户端所在的通信域中除密钥客户端之外的其他节点的信息,或构建密钥客户端所在的通信域的密钥的密钥信息。基于上述方法,密钥客户端可以根据第三配置信息确定密钥客户端所在的通信域的相关信息,以便密钥服务器后续为密钥客户端所在的通信域配置密钥。
第四方面,本申请实施例提供一种获取密钥的装置,可以实现上述第一方面、或第一方面任一种可能的实现方式中的方法。该装置包括用于执行上述方法的相应的单元或部件。该装置包括的单元可以通过软件和/或硬件方式实现。该装置例如可以为密钥服务器、或者为可支持密钥服务器实现上述方法的芯片、芯片系统、或处理器等。
第五方面,本申请实施例提供一种获取密钥的装置,可以实现上述第二方面、或第二方面任一种可能的实现方式中的方法。该装置包括用于执行上述方法的相应的单元或部件。该装置包括的单元可以通过软件和/或硬件方式实现。该装置例如可以为第一节点、或者为可支持第一节点实现上述方法的芯片、芯片系统、或处理器等。
第六方面,本申请实施例提供一种获取密钥的装置,可以实现上述第三方面、或第三方面任一种可能的实现方式中的方法。该装置包括用于执行上述方法的相应的单元或部件。该装置包括的单元可以通过软件和/或硬件方式实现。该装置例如可以为密钥客户端、或者为可支持密钥客户端实现上述方法的芯片、芯片系统、或处理器等。
第七方面,本申请实施例提供一种获取密钥的装置,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得该装置实现上述第一方面、或第一方面任一种可能的实现方式中所述的方法。
第八方面,本申请实施例提供一种获取密钥的装置,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得该装置实现上述第二方面、或第二方面任一种可能的实现方式中所述的方法。
第九方面,本申请实施例提供一种获取密钥的装置,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得该装置实现上述第三方面、或第三方面任一种可能的实现方式中所述的方法。
第十方面,本申请实施例提供一种计算机可读介质,其上存储有计算机程序或指令,所述计算机程序或指令被执行时使得计算机执行上述第一方面、或第一方面任一种可能的实现方式中所述的方法。
第十一方面,本申请实施例提供一种计算机可读介质,其上存储有计算机程序或指令,所述计算机程序或指令被执行时使得计算机执行上述第二方面、或第二方面任一种可能的实现方式中所述的方法。
第十二方面,本申请实施例提供一种计算机可读介质,其上存储有计算机程序或指令,所述计算机程序或指令被执行时使得计算机执行上述第三方面、或第三方面任一种可能的实现方式中所述的方法。
第十三方面,本申请实施例提供一种计算机程序产品,其包括计算机程序代码,所述计算机程序代码在计算机上运行时,使得计算机执行上述第一方面、或第一方面任一种可能的实现方式中所述的方法。
第十四方面,本申请实施例提供一种计算机程序产品,其包括计算机程序代码,所述计算机程序代码在计算机上运行时,使得计算机执行上述第二方面、或第二方面任一种可能的实现方式中所述的方法。
第十五方面,本申请实施例提供一种计算机程序产品,其包括计算机程序代码,所述计算机程序代码在计算机上运行时,使得计算机执行上述第三方面、或第三方面任一种可能的实现方式中所述的方法。
第十六方面,本申请实施例提供一种芯片系统,该芯片系统包括至少一个处理器,用于支持实现上述第一方面、或第一方面任一种可能的实现方式中所涉及的功能,例如,收发或处理上述方法中所涉及的数据和/或信息。
第十七方面,本申请实施例提供一种芯片系统,该芯片系统包括至少一个处理器,用于支持实现上述第二方面、或第二方面任一种可能的实现方式中所涉及的功能,例如,收发或处理上述方法中所涉及的数据和/或信息。
第十八方面,本申请实施例提供一种芯片系统,该芯片系统包括至少一个处理器,用于支持实现上述第三方面、或第三方面任一种可能的实现方式中所涉及的功能,例如,收发或处理上述方法中所涉及的数据和/或信息。
第十六方面、第十七方面或第十八方面的一种可能的实现方式,所述芯片系统还包括存储器,所述存储器,用于保存程序指令和数据,存储器位于处理器之内或处理器之外。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
第十九方面,本申请实施例提供一种密钥管理系统。该系统包括上述第四方面和/或上述第五方面和/或上述第六方面所述的装置,或者该系统包括上述第七方面和/或上述第八方面和/或上述第九方面所述的装置,或者该系统包括上述第十方面和/或上述第十一方面和/或上述第十二方面所述的计算机可读介质,或者该系统包括上述第十三方面和/或上述第十四方面和/或上述第十五方面所述的计算机程序产品,或者该系统包括上述第十六方面和/或上述第十七方面和/或上述第十八方面所述的芯片系统。
可以理解的,上述提供的任一种获取密钥的装置、芯片系统、计算机可读介质、计算机程序产品或密钥管理系统等均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考对应的方法中的有益效果,此处不再赘述。
附图说明
图1A为本申请实施例提供的密钥管理系统的架构示意图一;
图1B为本申请实施例提供的密钥管理系统的架构示意图二;
图2A为本申请实施例提供的智能车的架构示意图一;
图2B为本申请实施例提供的智能车的架构示意图二;
图2C为本申请实施例提供的密钥管理系统的部署示意图;
图3为本申请实施例提供的获取密钥的装置的硬件结构示意图;
图4-图12为本申请实施例提供的获取密钥的方法的流程示意图;
图13为本申请实施例提供的第一类信息的消息格式和第二类信息的消息格式的示意图;
图14为本申请实施例提供的TLV(type,length,value)的格式的示意图;
图15-图16为本申请实施例提供的获取密钥的装置的结构示意图。
具体实施方式
可以理解的,为了提高车内信息安全,例如但不限于,可以采用以下两种方式进行车内设备间的通信:
1.车内设备出厂前,会在产线上通过密钥灌装的方式灌装密钥,再组装到车辆上。后续,车内设备会通过灌装的密钥进行通信,以保证车内信息安全。然而,上述密钥是由车厂的密钥管理系统进行管理,若车厂的密钥库出现泄漏,那么车厂的所有车辆的车内安全都受到极大威胁。另外,为了提高车内安全,需要定期更新车内设备使用的密钥。但是,每次更新密钥时,都需要去车厂为车内设备更新密钥,十分不便。
2.车内设备之间通信之前,需要通过证书进行认证,认证通过之后才能通信。对于这种方式,车内设备上需要部署至少一个证书,增加了车内设备的软硬件成本,以及车厂管理证书的成本。
为了解决上述问题,本申请实施例提供了获取密钥的方法,该方法可以应用于密钥管理系统。密钥管理系统中的密钥服务器可以为第一通信域中的每个节点配置第一密钥,后续,第一通信域中的节点可以通过该第一密钥进行通信。一方面,该第一密钥是由第一通信域中的节点保存,不易泄漏,即便泄漏了,也不会影响其他通信域的安全,因此可以提高通信安全,而且车厂的密钥管理系统不需要管理每辆车的密钥,减轻了车厂的密钥管理系统的负担。另一方面,密钥服务器可以随时更新密钥,十分便捷。另外,第一密钥占用的存储空间较小,不会增加密钥管理系统中节点的软硬件成本。第一密钥也不需要车厂进行管理,不会增加车厂的管理成本。
可以理解的,本申请实施例提供的获取密钥的方法可用于各种短距离通信场景或者闭合空间中设备间的通信场景,例如智能车、智能家居或数据中心等。
示例性的,本申请实施例提供的获取密钥的方法可以应用于智能家居或数据中心中不同设备间的通信。本申请实施例提供的获取密钥的方法还可以应用于车辆的智能驾驶舱,火车的智能驾驶舱或飞机的智能驾驶舱等。本申请下述实施例是以智能车为例进行介绍,其他情况的介绍可以参考本申请实施例关于智能车的描述,不做赘述。
首先,为了方便理解本申请实施例的方案,给出相关概念的简要介绍如下:
1、基础密钥
基础密钥可以是根据安全协议进行身份认证或密钥协商的过程中所依赖的密钥(例如,长期密钥或临时密钥等)。可以理解的,基础密钥在设备掉电后不会丢失,在会话断开后也不会失效。
2、临时密钥
临时密钥可以是根据安全协议进行身份认证或密钥协商的过程中临时派生或协商的密钥。可选的,临时密钥在设备掉电后会丢失,在会话断开后会失效。
3、固定密钥
固定密钥通常不会更新。以智能车为例,固定密钥可以在智能车中的设备出厂时,或者,智能车中的设备需要更换时,灌装在智能车中的设备中,以便智能车中的设备之间采用该固定密钥进行通信,提高通信安全。固定密钥还可以作为基础密钥派生其他密钥,例如,长期密钥。应理解,在具体应用中,若固化安全存储允许,固定密钥也可以进行更新。
4、长期密钥
长期密钥通常会定期或不定期更新,以提高派生出该长期密钥的基础密钥的安全性。可以理解的,长期密钥也可以作为基础密钥派生其他密钥。
可以理解的,基础密钥和临时密钥是根据密钥的性质划分的。基础密钥不易丢失,能够在一次或多次通信中使用。临时密钥容易丢失,通常是为了一次通信而派生的。固定密钥和长期密钥是根据密钥的时效性划分的,固定密钥的使用时间一般大于长期密钥的使用时间。
可以理解的,本申请实施例中,不同类型的密钥的存储要求不同。对于固定密钥,可以禁止更新,或通过专用工具才可重置、或更新。固定密钥可以存储在非易失性安全区中。对于长期密钥或临时密钥,可以支持更新,在配置或更新长期密钥的过程中不需要专用工具协助。长期密钥可以存储在非易失性安全区中。
若存储长期密钥或临时密钥的非易失性安全区不支持密钥更新功能,也就是说,存储在该非易失性安全区中的信息无法更新的情况下,可以在该非易失性安全区中存储长期密钥或临时密钥的基础密钥(该基础密钥可以不更新),在该非易失性安全区之外的普通区域加密存储长期密钥或临时密钥的派生材料。若要对长期密钥或临时密钥进行更新时,可以更新该派生材料,从而实现长期密钥或临时密钥的更新。
5、密钥的使用范围
密钥的使用范围也可以称为密钥的保护范围或密钥的共享范围。以智能车为例,密钥的使用范围包括车厂、整车或通信域。示例性的,密钥的使用范围包括车厂的情况下,属于车厂的智能车都可以使用该密钥。密钥的使用范围包括整车的情况下,该整车内的设备都可以使用该密钥。密钥的使用范围包括通信域的情况下,包括在该通信域中的设备都可以使用该密钥。其中,通信域可以包括智能车中的全部或部分设备。
下面结合附图对本申请实施例的实施方式进行详细描述。
请参考图1A,图1A为本申请实施例提供的一种密钥管理系统。图1A仅为示意图,并不构成对本申请提供的密钥管理系统的限定。
在图1A中,密钥管理系统10包括密钥服务器101,以及与密钥服务器101通信连接的密钥客户端102-密钥客户端104。可选的,密钥客户端102-密钥客户端104之间通信连接。其中,密钥服务器101可以用于为密钥管理系统10中的节点,例如密钥客户端102,配置密钥。可选的,密钥服务器101还可以为密钥管理系统10中的节点,分配与该节点相关的配置信息,例如,该节点的标识,该节点的连接方式等。图1A中的密钥客户端,例如密钥客户端102-密钥客户端104,可以用于生成密钥客户端所在通信域的密钥。
示例性的,密钥服务器101可以用于获取第一密钥信息,向第一通信域中的第一节点发送第一密钥信息。第一节点可以是密钥客户端102、密钥客户端103或密钥客户端104。第一节点可以用于接收来自密钥服务器101的第一密钥信息,根据第一密钥信息生成第一密钥。这一过程将在下述图4-图6所示的实施例中进行具体介绍。在上述过程中,密钥服务器101可以为密钥管理系统10中一个或多个通信域中的节点配置密钥,使得处于同一通信域的节点之间可以使用密钥服务器101配置的密钥进行通信。一方面,在配置密钥的过程中,不需要密钥管理系统10之外的设备参与,因此可以提高密钥管理系统10的信息安全,而且车厂的密钥管理系统不需要管理每辆车的密钥,减轻了车厂的密钥管理系统的负担。另一方面,密钥服务器101可以随时更新密钥,十分便捷。另外,第一密钥占用的存储空间较小,不会增加密钥管理系统10中节点的软硬件成本。第一密钥也不需要车厂进行管理,不会增加车厂的管理成本。
可选的,密钥管理系统10还包括密钥管理工具(图1A中未示出)。密钥管理工具可以与密钥服务器101通信连接,用于触发密钥服务器101为密钥管理系统10中的一个或多个通信域中的节点配置密钥。
图1A所示的密钥管理系统10仅用于举例,并非用于限制本申请的技术方案。本领域的技术人员应当明白,在具体实现过程中,密钥管理系统10还可以包括其他节点,同时也可根据具体需要来确定密钥服务器或密钥客户端的数量,不予限制。
上述图1A所示的密钥管理系统中,密钥客户端可以和密钥服务器直接通信。在具体应用中,密钥客户端还可以通过密钥代理与密钥服务器通信。如图1B所示,为本申请实施例提供的又一种密钥管理系统。图1B仅为示意图,并不构成对本申请提供的密钥管理系统的限定。
在图1B中,密钥管理系统11包括密钥服务器111,与密钥服务器111通信连接的密钥客户端112、密钥代理113-密钥代理114,与密钥代理113通信连接的密钥客户端115-密钥客户端116,以及与密钥代理114通信连接的密钥客户端117。可选的,密钥客户端115和密钥客户端116之间通信连接。其中,密钥服务器111可以用于为密钥管理系统11中的节点,例如密钥代理113,密钥客户端115或密钥客户端112,配置密钥。可选的,密钥服务器111还可以为密钥管理系统11中的节点,分配与该节点相关的配置信息,例如,该节点的标识,该节点的连接方式等。图1A中的密钥代理可以用于接收密钥服务器发送的信息。图1A中的密钥代理还可以用于将密钥服务器发送的信息转发给密钥客户端。图1A中的密钥代理还可以用于生成该密钥代理所在通信域的密钥。图1A中的密钥客户端,例如,密钥客户端102-密钥客户端104,可以用于生成密钥客户端所在通信域的密钥。
示例性的,密钥服务器111可以用于获取第一密钥信息,向第一通信域中的第一节点发送第一密钥信息。第一节点可以是密钥客户端112、密钥代理113或密钥代理114。第一节点可以用于接收来自密钥服务器111的第一密钥信息,根据第一密钥信息生成第一密钥。第一节点还可以用于向第一通信域中的第二节点发送第一密钥信息。第二节点为与第一节点通信连接的节点。例如,若第一节点为密钥代理113,则第二节点可以为密钥客户端115或密钥客户端116,若第一节点为密钥代理114,则第二节点可以为密钥客户端117。第二节点可以用于接收来自第一节点的第一密钥信息,根据该第一密钥信息生成第一密钥。这一过程将在下述图7-图11所示的实施例中进行具体介绍。上述过程中,密钥服务器111可以为密钥管理系统11中一个或多个通信域中的节点配置密钥,使得处于同一通信域的节点之间可以使用密钥服务器111配置的密钥进行通信。一方面,在配置密钥的过程中,不需要密钥管理系统11之外的设备参与,因此可以提高密钥管理系统11的信息安全,而且车厂的密钥管理系统不需要管理每辆车的密钥,减轻了车厂的密钥管理系统的负担。另一方面,密钥服务器111可以随时更新密钥,十分便捷。另外,第一密钥占用的存储空间较小,不会增加密钥管理系统11中节点的软硬件成本。第一密钥也不需要车厂进行管理,不会增加车厂的管理成本。
可选的,密钥管理系统11还包括密钥管理工具(图1B中未示出)。密钥管理工具可以与密钥服务器111通信连接,用于触发密钥服务器111为密钥管理系统11中的一个或多个通信域中的节点配置密钥。
图1B所示的密钥管理系统11仅用于举例,并非用于限制本申请的技术方案。本领域的技术人员应当明白,在具体实现过程中,密钥管理系统11还可以包括其他节点,同时也可根据具体需要来确定密钥服务器、密钥代理或密钥客户端的数量,不予限制。
请参考图2A和图2B,图2A和图2B为本申请实施例提供的智能车的架构。图2A和图2B仅为示意图,并不构成对本申请提供的智能车的架构的限定。
在图2A中,智能车20包括汽车盒子(telematics box,TBox)201,与TBox 201通信连接的网关202,与网关202通信连接的车身控制模块(body control module,BCM)203、智能座舱域控制器(cockpit domain controller,CDC)204、多域控制器(multi domaincontroller,MDC)205和整车控制单元(vehicle control unit,VCU)206,与BCM 203通信连接的电子控制单元(electronic control unit,ECU)207-ECU 208,与CDC 204通信连接的ECU 209-ECU 210,与MDC 205通信连接的ECU 211,以及与VCU 206通信连接的ECU 212。
其中,TBox 201和网关202之间可以通过以太网连接。网关202和BCM 203、CDC204、MDC 205以及VCU 206之间,BCM 203和ECU 207-ECU 208之间,CDC 204和ECU 209-ECU210之间,MDC 205与ECU 211之间,VCU 206与ECU 212之间可以通过以太网、控制器局域网络(controller area network,CAN)、具有灵活数据速率的CAN(CAN with flexible data-rate,CAN FD)、局域互联网(local interconnect network,LIN)、面向媒体的系统传输(media oriented system transport,MOST)或FlexRay连接。例如,网关202与BCM 203之间,BCM 203与ECU 207-ECU 208之间通过CAN连接,网关202与CDC 204之间,CDC 204与ECU209-ECU 210之间可以通过LIN连接。
图2A中的TBox 201可以具备与智能车20的外部设备以及智能车20的内部设备通信的能力。网关202是智能车20的核心部件,网关202可以将CAN、LIN、MOST或FlexRay等网络数据在不同网络中进行路由。BCM 203可以用于控制车门、车窗、座椅、车灯等硬件设备。CDC204可以具备人机交互(human-machine interaction,HMI)和智能座舱相关功能。CDC 204还可以具备与智能车20的外部设备以及智能车20的内部设备通信的能力。MDC 205可以接入不同传感器的信号,对该信号进行分析和处理,并发出控制命令。VCU 206可以用于协调和控制智能车20的动力系统。图2A中的ECU可以是智能车20的微机控制器,可以具备执行预设控制功能的能力,例如,ECU 212可以用于控制发动机运行,ECU 211可以用于保护智能车安全。
图2A所示的智能车20仅用于举例,并非用于限制本申请的技术方案。本领域的技术人员应当明白,在具体实现过程中,智能车20还可以包括其他节点,同时也可根据具体需要来确定TBox、网关、BCM、CDC、MDC、VCU或ECU的数量,不予限制。
在图2B中,智能车22包括CDC 221,与CDC 221通信连接的车控域控制器(vehicledomain controller,VDC)/整车集成单元(vehicle integrated/integration unit,VIU)222,与VDC/VIU 222通信连接的TBox 223,VDC/VIU 224和VDC/VIU 225,与VDC/VIU 224通信连接的VDC/VIU 226,与VDC/VIU 226通信连接的ECU 229-ECU 230,以及与VDC/VIU 225通信连接的MDC 227和ECU 228。其中,VDC/VIU 226与VDC/VIU 225以及MDC 227也通信连接。VDC/VIU可以理解为VDC或VIU。
在图2B中,CDC与VDC/VIU之间,VDC/VIU与VDC/VIU之间,VDC/VIU与TBox之间,VDC/VIU与MDC之间以及VDC/VIU与ECU之间可以通过以太网、CAN、CAN FD、LIN、MOST或FlexRay连接。例如,VDC/VIU 226与ECU 229-ECU 230之间通过CAN连接。
图2B中的VDC可以将智能车22中各个设备按功能划分为多个域,并对每个域进行管理。图2B中的多个VIU可以组成一个环网,以实现高带宽(具体可以体现为高清摄像头、或高清显示等)、低时延、高可靠处理能力,另外,该环网还可以简化车载网络配置、提升升级维护效率。图2B中的TBox、CDC、MDC和ECU的功能可以参考上述图2A中对TBox、CDC、MDC和ECU的描述,此处不再赘述。
图2B所示的智能车22仅用于举例,并非用于限制本申请的技术方案。本领域的技术人员应当明白,在具体实现过程中,智能车22还可以包括其他节点,同时也可根据具体需要来确定TBox、VDC/VIU、CDC、MDC或ECU的数量,不予限制。
可以理解的,图1A和图1B所示的密钥管理系统可以部署到图2A或图2B所示的智能车中。例如,图1A或图1B中的密钥服务器可以部署到智能车20或智能车22中具备通信能力,并且存储资源充足的设备上,如:TBox、网关、BCM、CDC、MDC、VCU、VDC或VIU上。图1A或图1B中的密钥客户端可以部署到智能车20或智能车22中的TBox、网关、BCM、CDC、MDC、VCU、VDC、VIU或ECU上。图1A或图1B中的密钥代理可以部署到智能车20或智能车22中的TBox、网关、BCM、CDC、MDC、VCU、VDC或VIU上。可选的,若图1A或图1B中的密钥管理系统还包括密钥管理工具,该密钥管理工具可以部署到TBox、网关、BCM、CDC、MDC、VCU、VDC或VIU上。
下面以将图1B所示的密钥管理系统11部署到图2B所示的智能车22中为例介绍密钥管理系统11的部署情况。请参考图2C,图2C为密钥管理系统的部署示意图。在图2C中,CDC221上部署了密钥服务器,VDC/VIU 222、TBox 223、VDC/VIU 224、VDC/VIU 225、VDC/VIU226以及MDC 227上部署了密钥代理,ECU 228-ECU 230上部署了密钥客户端。
可以理解的,在本申请实施例中,密钥服务器、密钥代理或密钥客户端部署在哪个设备上,该设备即为本申请实施例提供的获取密钥的方法的执行主体。例如,若密钥服务器部署在CDC上,密钥代理部署在MDC上,密钥客户端部署在ECU上,则本申请实施例提供的获取密钥的方法的执行主体分别为CDC、MDC和ECU。
可选的,本申请实施例图1A和图1B中的各节点,例如密钥服务器、密钥客户端或密钥代理,可以是一个装置内的一个功能模块。可以理解的是,该功能模块既可以是硬件设备中的元件,例如,车内设备中的通信芯片或通信部件,也可以是在硬件上运行的软件功能模块,或者是平台(例如,云平台)上实例化的虚拟化功能。
例如,图1A和图1B中的各节点均可以通过图3中的获取密钥的装置30来实现。图3所示为可适用于本申请实施例的获取密钥的装置的硬件结构示意图。该获取密钥的装置30包括至少一个处理器301和至少一个通信接口304,用于实现本申请实施例提供的方法。该获取密钥的装置30还可以包括通信线路302和存储器303。
处理器301可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
通信线路302可包括一通路,在上述组件之间传送信息,例如总线。
通信接口304,用于与其他设备或通信网络通信。通信接口304可以是任何收发器一类的装置,如可以是以太网接口、无线接入网(radio access network,RAN)接口、无线局域网(wireless local area networks,WLAN)接口、收发器、管脚、总线、或收发电路等。
存储器303可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过通信线路302与处理器301相耦合。存储器303也可以和处理器301集成在一起。本申请实施例提供的存储器通常可以具有非易失性。其中,存储器303用于存储执行本申请实施例提供的方案所涉及的计算机执行指令,并由处理器301来控制执行。处理器301用于执行存储器303中存储的计算机执行指令,从而实现本申请实施例提供的方法。
本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。
本申请实施例中的耦合是装置、单元或模块之间的间接耦合或通信连接,可以是电性,机械或其它的形式,用于装置、单元或模块之间的信息交互。
作为一种实施例,处理器301可以包括一个或多个CPU,例如图3中的CPU0和CPU1。
作为一种实施例,获取密钥的装置30可以包括多个处理器,例如图3中的处理器301和处理器307。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
作为一种实施例,获取密钥的装置30还可以包括输出设备305和/或输入设备306。输出设备305和处理器301耦合,可以以多种方式来显示信息。例如,输出设备305可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。输入设备306和处理器301耦合,可以以多种方式接收用户的输入。例如,输入设备306可以是触摸屏设备或传感设备等。
上述的获取密钥的装置30可以是一个通用设备或者是一个专用设备。在具体实现中,获取密钥的装置30可以是无线终端设备、嵌入式设备或有图3中类似结构的设备。本申请实施例不限定获取密钥的装置30的类型。
下面结合图1A-图3对本申请实施例提供的获取密钥的方法进行具体阐述。
可以理解的,本申请实施例提供的获取密钥的方法、装置及密钥管理系统可以应用于多个领域,例如:无人驾驶领域、自动驾驶领域、辅助驾驶领域、智能驾驶领域、网联驾驶领域、智能网联驾驶领域、汽车共享领域等。
需要说明的是,本申请下述实施例中各个节点之间的消息名字或消息中各参数的名字等只是一个示例,具体实现中也可以是其他的名字,本申请实施例对此不作具体限定。
需要说明的是,在本申请实施例中,“/”可以表示前后关联的对象是一种“或”的关系,例如,A/B可以表示A或B;“和/或”可以用于描述关联对象存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。
为了便于描述本申请实施例的技术方案,在本申请实施例中,可以采用“第一”、“第二”等字样对功能相同或相似的技术特征进行区分。该“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。在本申请实施例中,“示例性的”或者“例如”等词用于表示例子、例证或说明,被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念,便于理解。
需要说明的是,在本申请实施例中,对于一种技术特征,通过“第一”、“第二”、“第三”、“A”、“B”、“C”和“D”等区分该种技术特征中的技术特征,该“第一”、“第二”、“第三”、“A”、“B”、“C”和“D”描述的技术特征间无先后顺序或者大小顺序。
可以理解的,本申请实施例中同一个步骤或者具有相同功能的步骤或者技术特征在不同实施例之间可以互相参考借鉴。
可以理解的,本申请实施例中,密钥服务器,和/或,密钥代理,和/或,密钥客户端可以执行本申请实施例中的部分或全部步骤,这些步骤仅是示例,本申请实施例还可以执行其它步骤或者各种步骤的变形。此外,各个步骤可以按照本申请实施例呈现的不同的顺序来执行,并且有可能并非要执行本申请实施例中的全部步骤。
在本申请实施例中,获取密钥的方法的执行主体的具体结构,本申请实施例并未特别限定,只要能够实现本申请实施例的提供的方法即可。例如,本申请实施例提供的获取密钥的方法的执行主体可以是密钥服务器,或者为应用于密钥服务器中的部件,例如,芯片,本申请对此不进行限定。或者,本申请实施例提供的获取密钥的方法的执行主体可以是密钥代理,或者为应用于密钥代理的部件,例如,芯片,本申请对此不进行限定。或者,本申请实施例提供的获取密钥的方法的执行主体可以是密钥客户端,或者为应用于密钥客户端的部件,例如,芯片,本申请对此不进行限定。下述实施例以获取密钥的方法的执行主体分别为密钥服务器、密钥代理、密钥客户端为例进行描述。
如图4所示,为本申请实施例提供的一种获取密钥的方法,该获取密钥的方法可以应用于密钥管理系统。该密钥管理系统包括密钥服务器,以及与密钥服务器通信连接的第一节点。第一节点为密钥客户端。进一步的,该密钥管理系统可以是图1A所示的密钥管理系统10,在这种情况下,密钥服务器可以是图1A中的密钥服务器101,第一节点可以是图1A中的密钥客户端102、密钥客户端103或密钥客户端104。
一种可能的实现方式,该密钥管理系统可以部署到图2A的智能车20或图2B的智能车22上,在这种情况下,密钥服务器可以部署到智能车20或智能车22中具备通信能力,并且存储资源充足的设备上,如:TBox、网关、BCM、CDC、MDC、VCU、VDC或VIU上。第一节点可以部署到智能车20或智能车22的TBox、网关、BCM、CDC、MDC、VCU、VDC、VIU或ECU上。
可以理解的,在执行本申请实施例提供的获取密钥的方法之前,密钥管理系统中的节点可以被配置一个或多个固定密钥。该固定密钥也可以称为初始密钥,固定密钥的使用范围为密钥管理系统。在根据本申请实施例提供的获取密钥的方法获取到密钥之前,密钥管理系统中的节点之间可以采用该固定密钥通信,以提高密钥管理系统的信息安全,该固定密钥还可以作为基础密钥派生密钥管理系统中通信域的密钥。应理解,密钥管理系统中的节点也可以不配置固定密钥,直接根据本申请实施例提供的获取密钥的方法获取多个通信域的密钥。下面对密钥管理系统中的节点被配置一个或多个固定密钥的具体过程进行阐述,具体可参考下述S1-S2。
S1:密钥管理工具向第三节点发送第一请求信息。
S1中,密钥管理工具可以包括在密钥管理系统中,也可以不包括在密钥管理系统中。若密钥管理工具包括在密钥管理系统中,该密钥管理工具可以为上述图1A中描述的密钥管理工具。若密钥管理工具不包括在密钥管理系统中,该密钥管理工具可以是车厂设置的密钥管理工具。
S1中,第三节点可以为密钥管理系统中的任一节点。以图1A所示的密钥管理系统10为例,第三节点可以为密钥服务器101、密钥客户端102、密钥客户端103或密钥客户端104。
S1中,第一请求信息可以用于请求为第三节点配置一个或多个固定密钥。第一请求信息可以包括部署密钥管理系统的智能车的标识和第二密钥材料。其中,部署密钥管理系统的智能车的标识可以是该智能车的序列号。部署密钥管理系统的智能车的标识可以是密钥管理工具在本地读取的,也可以是人工输入的。部署密钥管理系统的智能车的标识也可以是密钥管理工具从云端密钥管理中心或密钥服务器获取到的。例如,密钥管理工具向密钥服务器或云端密钥管理中心发送获取智能车的相关信息的请求信息。密钥服务器或云端密钥管理中心接收到该请求信息后,向密钥管理工具发送获取智能车的相关信息的响应信息。该响应信息包括部署密钥管理系统的智能车的相关信息,例如部署密钥管理系统的智能车的标识、架构等。
第二密钥材料可以用于生成第二密钥。例如,第二密钥材料包括一个或多个随机数,该一个或多个随机数可以用于生成第二密钥;或者,第二密钥材料包括第二密钥。进一步的,第一请求信息还包括第二密钥的类型信息。第二密钥的类型信息可以用于指示第二密钥的类型。例如,第二密钥的类型的信息可以包括第二密钥的类型的标识。第二密钥的类型可以包括固定密钥。
一种可能的实现方式,部署第三节点的设备出厂时,或者,需要更新第二密钥的情况下,密钥管理工具向第三节点发送第一请求信息。
一种可能的实现方式,S1之前,密钥管理工具和第三节点之间还可以建立第一通信通道。例如,密钥管理工具和第三节点之间通过非对称算法建立第一通信通道。非对称算法可以包括椭圆曲线Diffie-Hellman(elliptic curve Diffie-Hellman,ECDH)算法或Diffie-Hellman算法等。该第一通信通道可以用于传输密钥管理工具与第三节点之间的信息,例如,上述第一请求信息、下述第一请求信息的响应信息、下述第五验证码等。
一种可能的实现方式,S1之前,密钥管理工具从云端密钥管理中心获取第二密钥材料。例如,密钥管理工具向云端密钥管理中心发送第二请求信息。第二请求信息用于请求第二密钥材料。第二请求信息可以包括部署密钥管理系统的智能车的标识。云端密钥管理中心可以是车厂设置的,用于管理车厂所管理的智能车使用的密钥,例如,车厂所管理的每个智能车使用的固定密钥。车厂所管理的每个智能车使用的固定密钥可以相同也可以不同。云端密钥管理中心接收到第二请求信息后,向密钥管理工具发送第二请求信息的响应信息。第二请求信息的响应信息包括部署密钥管理系统的智能车的标识和第二密钥材料。这样密钥管理工具可以将部署密钥管理系统的智能车的标识和第二密钥材料包括在第一请求信息中发送给第三节点。进一步的,第二请求信息和第二请求信息的响应信息还可以包括第二密钥的类型信息。
可以理解的,密钥管理工具和云端密钥管理中心之间可以建立第三安全通道。密钥管理工具和云端密钥管理中心之间可以根据第一协议建立第三安全通道。其中,第一协议可以是传输层安全(transport layer security,TLS)协议、超文本传输安全协议(hypertext transfer protocol secure,HTTPs)、数据包传输层安全性(datagram transportlayer security,DTLS)协议、自定义协议、或其他协议。第三安全通道可以用于传输密钥管理工具与云端密钥管理中心之间的信息,例如,上述第二请求信息、上述第二请求信息的响应信息等。
可以理解的,密钥管理工具可以一次向多个第三节点发送第一请求信息,也可以一次向一个第三节点发送第一请求信息,不予限制。
对应的,第三节点接收来自密钥管理工具的第一请求信息。
S2:第三节点根据第一请求信息生成第二密钥。
一种可能的实现方式,第三节点根据第二密钥材料生成第二密钥。若第二密钥材料包括一个或多个随机数,第三节点通过一种或多种算法对该一个或多个随机数进行计算,得到第二密钥,并存储该第二密钥。若第二密钥材料包括第二密钥,则第三节点存储该第二密钥。该第二密钥的类型为第二密钥的类型信息中指示的类型。可以理解的,在第三节点存储第二密钥之前,可以将第三节点中用于存储密钥的存储区域清零。
一种可能的实现方式,S2之后,第三节点向密钥管理工具发送第一请求信息的响应信息。第一请求信息的响应信息用于指示第三节点生成第二密钥是否成功。
一种可能的实现方式,S2之后,第三节点向密钥管理工具发送第五验证码。其中,第五验证码是根据一种或多种算法对第五验证信息进行计算得到的。第五验证信息包括一下信息中的至少一项:第二密钥、部署密钥管理系统的智能车的标识或第二密钥的类型信息。第五验证码可以用于验证第五验证信息是否被修改。该第五验证码可以是消息认证码(message authentication code,MAC)。
进一步的,若第五验证信息包括第二密钥,第三节点在计算第五验证码的过程中可以使用第二密钥,也可以不使用第二密钥。若第五验证信息不包括第二密钥,第三节点在计算第五验证码的过程中使用第二密钥。
可以理解的,密钥管理工具接收到第五验证码后,验证第五验证码。示例性的,密钥管理工具根据第五验证信息生成第五验证码,若密钥管理工具生成的第五验证码与接收到的第五验证码相同,则验证成功,即第二密钥生成正确;若密钥管理工具生成的第五验证码与接收到的第五验证码不相同,则验证失败,即第二密钥生成错误或失败。可以理解的,密钥管理工具采用与第三节点生成第五验证码时相同的算法对第五验证信息进行计算,得到第五验证码。
可以理解的,除了上述S1-S2所示的方法之外,第三节点也可以直接从云端密钥管理中心获取第二密钥材料。例如,云端密钥管理中心向第三节点发送第三请求信息。第三请求信息可以包括部署密钥管理系统的智能车的标识和第二密钥材料。第三请求信息还可以包括第二密钥的类型信息。第三节点接收到第三请求信息后,可以根据第三请求信息生成第二密钥。后续,第三节点还可以向云端密钥管理中心发送第三通知信息。第三通知信息用于指示第三节点生成第二密钥是否成功。第三节点还可以和云端密钥管理中心之间通过MAC验证第二密钥是否生成正确。
可以理解的,密钥管理系统中需要配置第二密钥的节点生成了第二密钥,并组装在了一辆智能车中后,即可采用该第二密钥通信,以提高密钥管理系统的信息安全。密钥管理系统中需要配置第二密钥的节点可以包括密钥管理系统中的全部节点或部分节点。
可以理解的,第二密钥为派生密钥管理系统中通信域的密钥的基础密钥,若攻击者可以轻易通过云端密钥管理中心或密钥管理工具为密钥管理系统配置该第二密钥,则密钥管理系统管理的密钥将不再安全。为了避免攻击者轻易为密钥管理系统配置第二密钥,在通过云端密钥管理中心或密钥管理工具为密钥管理系统配置该第二密钥时,可以采用专用软件执行上述S1-S2,执行完成后,卸载或擦除该专用软件。该专用软件与执行本申请实施例提供的获取密钥的方法的软件不同。或者,在通过云端密钥管理中心或密钥管理工具为密钥管理系统配置该第二密钥时,可以采用一个兼容模式的软件,该兼容模式的软件既可以执行上述S1-S2,又可以执行本申请实施例提供的方法,不过上述S1-S2,和本申请实施例提供的获取密钥的方法对应该兼容模式软件的不同模式。换句话说,在需要灌装固定密钥的情况下,将该兼容模式的软件切换到上述S1-S2对应的模式上,在需要获取通信域的密钥的情况下,将该兼容模式的软件切换到本申请实施例提供的获取密钥的方法对应的模式上。应理解,上述专用软件的权限,以及切换软件模式的权限属于车厂,如此可以避免攻击者轻易为密钥管理系统配置第二密钥。
一种可能的实现方式,为了执行本申请实施例提供的获取密钥的方法,可以为密钥管理系统中的节点配置相关的配置信息,后续密钥管理系统中的节点可以根据该相关的配置信息执行获取密钥的方法。应理解,若为密钥管理系统中的节点配置了相关的配置信息之后,该相关的配置信息没有改变,则每次执行本申请实施例提供的获取密钥的方法之前不需要再次为密钥管理系统中的节点配置相关的配置信息,若该相关的配置信息发生改变,可以为密钥管理系统中的节点配置更新后的相关的配置信息,为密钥管理系统中的节点配置更新后的相关的配置信息的过程,与为密钥管理系统中的节点配置相关的配置信息的过程类似。为密钥管理系统中的节点配置相关的配置信息的具体过程,可以参考下述S3-S4。
S3:密钥服务器获取第一配置信息。
S3中,第一配置信息可以用于指示密钥管理系统中节点的相关配置,例如,第一配置信息指示以下信息中的至少一种:密钥管理系统中节点的标识,密钥管理系统中节点的连接方式,或与密钥管理系统中节点通信的其他节点的信息。
其中,密钥管理系统中节点的标识用于标识部署该密钥管理系统中节点的设备。例如,若密钥服务器部署在CDC上,密钥服务器的标识可以为CDC的标识;若密钥客户端部署在ECU上,该密钥客户端的标识可以为ECU的标识。密钥管理系统中节点的标识可以是车厂配置的。进一步的,密钥管理系统中节点的标识可以是一个编号,也可以是部署该密钥管理系统中节点的设备的名称。若密钥管理系统中节点的标识是一个编号,该编号还可以是智能车组装好后密钥服务器分配的。
密钥管理系统中节点的连接方式可以用于指示该节点的每个端口的连接方式。密钥管理系统中节点的连接方式包括以太网、CAN、CAN FD、LIN、MOST或FlexRay连接。密钥管理系统中节点的连接方式还可以用于指示该节点的每个端口的地址,例如,互联网协议(Internet Protocol,IP)地址和/或媒体访问控制(media access control,MAC)地址。进一步的,IP地址可以是传输控制协议(transmission control protocol,TCP)和端口号50001。需要说明的是,本申请实施例中,任一两个节点之间的连接方式或任一节点的连接方式(即任一节点的每个端口与其他节点的连接方式)包括以太网、CAN、CAN FD、LIN、MOST或FlexRay连接,在此做出统一说明,后面不再赘述。
与密钥管理系统中节点通信的其他节点的信息可以用于指示该其他节点的标识和该其他节点与密钥管理系统中节点的连接方式。其他节点的标识用于标识部署该其他节点的设备。与密钥管理系统中节点通信的其他节点的信息还可以用于指示该其他节点与该密钥管理系统中节点连接的端口的地址,例如IP地址和/或MAC地址。
示例性的,以图1A所示的密钥管理系统10为例,第一配置信息可以包括密钥服务器101的信息,密钥客户端102的信息,密钥客户端103的信息和密钥客户端104的信息。密钥服务器101的信息可以如表1所示。表1中,密钥服务器101的信息包括密钥服务器101的标识,密钥服务器101的每个端口的连接方式的信息和与密钥服务器101通信的其他节点的信息。密钥服务器101的每个端口的连接方式的信息包括密钥服务器101的每个端口的标识(端口1、端口2和端口3),密钥服务器101的每个端口的连接方式的标识(Eth、CAN和CAN),以及密钥服务器101的每个端口的地址(IP 1、CAN ID 1和CAN ID 2)。与密钥服务器101通信的其他节点的信息包括与密钥服务器101通信的其他节点的标识(密钥客户端102的标识,密钥客户端103的标识和密钥客户端104的标识)和其他节点与密钥服务器101的连接方式的信息。其他节点与密钥服务器101的连接方式的信息包括密钥客户端102与密钥服务器101的连接方式的信息,密钥客户端103与密钥服务器101的连接方式的信息和密钥客户端104与密钥服务器101的连接方式的信息。密钥客户端102与密钥服务器101的连接方式的信息包括密钥客户端102与密钥服务器101的连接方式的标识(Eth),以及密钥客户端102与密钥服务器101连接的端口的IP地址(IP 4)。密钥客户端103与密钥服务器101的连接方式的信息包括密钥客户端103与密钥服务器101的连接方式的标识(CAN),以及密钥客户端103与密钥服务器101连接的端口的地址(CAN ID 3)。密钥客户端104与密钥服务器101的连接方式的信息包括密钥客户端104与密钥服务器101的连接方式的标识(CAN),以及密钥客户端104与密钥服务器101连接的端口的地址(CAN ID 4)。
表1
密钥客户端102的信息可以如表2所示。表2中,密钥客户端102的信息包括密钥客户端102的标识,密钥客户端102的每个端口的连接方式的信息和与密钥客户端102通信的其他节点的信息。密钥客户端102的每个端口的连接方式的信息包括密钥客户端102的每个端口的连接方式的标识(Eth),以及密钥客户端102的每个端口的IP地址(IP 4)。与密钥客户端102通信的其他节点的信息包括与密钥客户端102通信的其他节点的标识(密钥服务器101的标识)和其他节点与密钥客户端102的连接方式的信息。其他节点与密钥客户端102的连接方式的信息包括密钥服务器101与密钥客户端102连接的端口的标识(端口1),密钥服务器101与密钥客户端102的连接方式的标识(Eth),以及密钥服务器101与密钥客户端102连接的端口的IP地址(IP 1)。
表2
密钥客户端103的信息可以如表3所示。表3中,密钥客户端103的信息包括密钥客户端103的标识,密钥客户端103的每个端口的连接方式的信息和与密钥客户端103通信的其他节点的信息。密钥客户端103的每个端口的连接方式的信息包括密钥客户端103的每个端口的连接方式的标识(CAN),以及密钥客户端103的每个端口的地址(CAN ID 3)。与密钥客户端103通信的其他节点的信息包括与密钥客户端103通信的其他节点的标识(密钥服务器101的标识)和其他节点与密钥客户端103的连接方式的信息。其他节点与密钥客户端103的连接方式的信息包括密钥服务器101与密钥客户端103连接的端口的标识(端口2),密钥服务器101与密钥客户端103的连接方式的标识(CAN),以及密钥服务器101与密钥客户端103连接的端口的地址(CAN ID 1)。
表3
密钥客户端104的信息可以如表4所示。表4中,密钥客户端104的信息包括密钥客户端104的标识,密钥客户端104的每个端口的连接方式的信息和与密钥客户端104通信的其他节点的信息。密钥客户端104的每个端口的连接方式的信息包括密钥客户端104的每个端口的连接方式的标识(CAN),以及密钥客户端104的每个端口的地址(CAN ID 4)。与密钥客户端104通信的其他节点的信息包括与密钥客户端104通信的其他节点的标识(密钥服务器101的标识)和其他节点与密钥客户端104的连接方式的信息。其他节点与密钥客户端104的连接方式的信息密钥服务器101与密钥客户端104连接的端口的标识(端口3),密钥服务器101与密钥客户端104的连接方式的标识(CAN),以及密钥服务器101与密钥客户端104连接的端口的地址(CAN ID 2)。
表4
通过表1-表4可以看出,密钥服务器101的端口1与密钥客户端102连接,密钥服务器101的端口2与密钥客户端103连接,密钥服务器101的端口3与密钥客户端104连接。
上述表1-表4仅是第一配置信息的示例。第一配置信息可以包括比表1-表4更少或更多的信息,不予限制。
一种可能的实现方式,密钥服务器接收来自密钥管理工具或云端密钥管理中心的第一配置信息。也就是说,密钥服务器可以从密钥管理工具或云端密钥管理中心获取第一配置信息。
对于密钥服务器从密钥管理工具获取第一配置信息的情况,密钥服务器可以向密钥管理工具发送第四请求信息。第四请求信息可以用于请求第一配置信息。例如,第四请求信息包括部署密钥管理系统的智能车的型号。进一步的,第四请求信息还可以包括密钥管理系统的版本号。密钥管理工具接收到第四请求信息后可以向云端密钥管理中心发送第五请求信息。第五请求信息可以用于请求第一配置信息。例如,第五请求信息包括部署密钥管理系统的智能车的型号。进一步的,第五请求信息还可以包括密钥管理系统的版本号。云端密钥管理中心接收到第五请求信息后,可以向密钥管理工具发送第五请求信息的响应信息。第五请求信息的响应信息可以包括第一配置信息。密钥管理工具接收到第五请求信息的响应信息后,可以向密钥服务器发送第四请求信息的响应信息。第四请求信息的响应信息可以包括第一配置信息。
可以理解的,对于密钥服务器从密钥管理工具获取第一配置信息的情况,车厂的员工可以在密钥管理工具中配置部署密钥管理系统的智能车的相关信息(例如,该智能车的型号或架构信息)后,或者,密钥管理工具读取部署密钥管理系统的智能车的相关信息后,密钥管理工具向密钥服务器发送第四通知信息。第四通知信息用于通知密钥服务器启动获取第一配置信息的流程。后续,密钥服务器向密钥管理中心发送第四请求信息。
可以理解的,密钥管理工具与密钥服务器之间可以建立第四安全通道。密钥管理工具和密钥服务器之间可以根据第一协议建立第四安全通道。第四安全通道可以用于传输密钥管理工具与密钥服务器之间的信息,例如,上述第四请求信息、上述第四请求信息的响应信息等。密钥管理工具和云端密钥管理中心之间可以根据第一协议建立第五安全通道。第五安全通道可以用于传输密钥管理工具与云端密钥管理中心之间的信息,例如,上述第五请求信息、上述第五请求信息的响应信息等。
密钥服务器从云端密钥管理中心获取第一配置信息的情况,密钥服务器可以向云端密钥管理中心发送第六请求信息。第六请求信息可以用于请求第一配置信息。例如,第六请求信息包括部署密钥管理系统的智能车的型号。进一步的,第六请求信息还可以包括密钥管理系统的版本号。云端密钥管理中心接收到第六请求信息后可以向密钥服务器发送第六请求信息的响应信息。第六请求信息的响应信息可以包括第一配置信息。
可以理解的,除了S3所示的方法之外,第一配置信息也可以包括在上述第一请求信息或第三请求信息中发送给密钥服务器。
S4:密钥服务器向第一节点发送第二配置信息。
S4中,第二配置信息可以用于指示以下信息中的至少一种:第一节点的标识,第一节点的连接方式,或与第一节点通信的其他节点的信息。
其中,第一节点的标识用于标识部署第一节点的设备。例如,若第一节点部署在ECU上,该第一节点的标识可以为ECU的标识。第一节点的连接方式可以用于指示该第一节点的每个端口的连接方式。第一节点的连接方式还可以用于指示第一节点的每个端口的地址,例如IP地址和/或MAC地址。与第一节点通信的其他节点的信息可以用于指示该其他节点的标识和该其他节点与第一节点的连接方式。其他节点的标识用于标识部署该其他节点的设备。与第一节点通信的其他节点的信息还可以用于指示该其他节点与第一节点连接的端口的地址,例如IP地址和/或MAC地址。
示例性的,以第一配置信息如表1-表4所示为例,若第一节点为密钥客户端102,则第二配置信息可以如表2所示。若第一节点为密钥客户端103,则第二配置信息可以如表3所示。若第一节点为密钥客户端104,则第二配置信息可以如表4所示。
一种可能的实现方式,密钥服务器在向第一节点发送第二配置信息的过程中,还可以向密钥管理工具或云端密钥管理中心发送第一分发进展通知。第一分发进展通知可以用于指示密钥服务器向每个节点分发第二配置信息的进度。S4之后,密钥服务器还可以向密钥管理工具或云端密钥管理中心发送分发完成通知,用于指示密钥服务器完成了第二配置信息的发送。
一种可能的实现方式,S4之后,密钥管理系统中的节点可以根据该节点接收到的配置信息确定该节点所在的通信域的信息。本申请实施例中,通信域可以按不同的粒度进行划分。基于不同粒度划分的通信域可以覆盖密钥管理系统中节点之间通信的多种场景,例如,连接方式相同的节点之间的通信场景,功能相同的节点之间的通信场景或通信信息的类型相同的节点之间的通信场景等。该多种场景中的任一种场景都可以对应一个或多个密钥,进而提高通信安全。密钥管理系统中的通信域之间可以有交集,也可以没有交集。通信域之间有交集可以理解为一个通信域和另一个通信域包括有共同的节点。通信域之间没有交集可以理解为一个通信域包括的节点和另一个通信域包括的节点完全不相同。下面以下述三种方式为例,介绍划分通信域的方式。
方式1:通信域可以根据密钥管理系统中节点的连接方式确定
一种可能的实现方式,可以为不同连接方式连接的节点划分不同的通信域。例如,通过以太网连接的节点可以包括在一个通信域中;或者,通过CAN连接的节点可以包括在一个通信域中;或者,通过LIN连接的节点可以包括在一个通信域中;或者,通过MOST连接的节点可以包括在一个通信域中;或者,通过FlexRay连接的节点可以包括在一个通信域中。
示例性的,以第一配置信息如表1-表4所示为例,密钥服务器101和密钥客户端102可以包括在一个通信域中。密钥服务器101、密钥客户端103和密钥客户端104中的至少两个节点可以包括在一个通信域中。
方式2:通信域可以根据部署密钥管理系统中节点的设备的功能确定
一种可能的实现方式,可以为不同功能的设备划分不同的通信域。示例性的,以图1A所示的密钥管理系统10部署到图2A所示的智能车20为例。若密钥服务器101部署在网关202上,密钥客户端102部署在BCM 203上,密钥客户端103部署在CDC 204上,密钥客户端104部署在MDC 205上,BCM 203,CDC 204和MDC 205的功能不同,则密钥服务器101和密钥客户端102可以包括在一个通信域中,密钥服务器101和密钥客户端103可以包括在一个通信域中,密钥服务器101和密钥客户端104可以包括在一个通信域中。
方式3:通信域可以根据密钥管理系统中节点间的通信信息的类型确定
其中,密钥管理系统中节点间的通信信息的类型包括涉及隐私的信息或不涉及隐私的信息。示例性的,以图1A所示的密钥管理系统10部署到图2A所示的智能车20为例。若密钥服务器101部署在网关202上,密钥客户端102部署在BCM 203上,密钥客户端103部署在VCU 206上,密钥客户端104部署在MDC 205上,其中,MDC 205可以接入不同传感器的信号,例如摄像机的信号,因此MDC 205发送的信息有可能涉及隐私,BCM 203和VCU 206发送的信息不涉及隐私,则密钥服务器101和密钥客户端104可以包括在一个通信域中,密钥服务器101、密钥客户端102和密钥客户端103中的至少两个节点可以包括在一个通信域中。
进一步的,其中一种情况,涉及隐私的信息可以根据不同用户或账户进行划分,因此还可以为不同的用户或账户划分不同的通信域。例如,通信域1和通信域2都包括密钥服务器101和密钥客户端102,但是,通信域1和通信域2对应的用户不同。其中另一种情况,通信域还可以根据隐私信息的等级确定。也就是说,可以为传输不同等级的隐私信息的节点划分不同的通信域。例如,若密钥服务器101和密钥客户端102传输的隐私信息的等级为1,密钥服务器101、密钥客户端103和密钥客户端104传输的隐私信息的等级为2,则密钥服务器101和密钥客户端102可以包括在一个通信域中,密钥服务器101、密钥客户端103和密钥客户端104中的至少两个节点可以包括在一个通信域中。
应理解,上述三种方式仅是示例性的,在具体应用中还可以包括其他划分方式。例如,根据通信需要进行划分,也就是说,将需要通信的节点划分为一个通信域,还可以根据应用、逻辑端口或需要通信的信息的用途等进行划分。
下面对密钥管理系统中的节点根据该节点接收到的配置信息确定该节点所在的通信域的信息的具体过程进行阐述,具体的,可以参考下述S5-S6。
S5:密钥服务器根据第一配置信息确定密钥服务器所在的通信域的信息。
一种可能的实现方式,密钥服务器采用上述方式1-方式3中的任一方式确定密钥服务器所在的通信域,根据第一配置信息确定每个通信域的信息。
S5中密钥服务器所在的通信域的信息可以用于指示以下信息中的至少一项:密钥服务器所在的通信域的应用范围,密钥服务器所在的通信域的标识,密钥服务器所在的通信域中节点的通信方式,密钥服务器与密钥服务器所在的通信域中除密钥服务器之外的节点的连接方式,密钥服务器与密钥服务器所在的通信域中除密钥服务器之外的节点连接的端口的地址,密钥服务器所在的通信域中除密钥服务器之外的其他节点的信息,或构建密钥服务器所在的通信域的密钥的密钥信息。
其中,密钥服务器所在的通信域的应用范围包括整车、功能域内、跨功能域和主设备之间等。功能域可以理解为根据智能车中设备的功能划分的,例如,电力域、动力域或娱乐域等。功能域内可以理解为密钥服务器所在的通信域包括的节点部署在一个功能域内,例如,部署在电力域内。跨功能域可以理解为密钥服务器所在的通信域包括的节点部署在不同的功能域,例如部署在电力域和动力域内。主设备可以是CDC、BCM、MDC、VCU、VDC、VIU、TBox、或网关等。
密钥服务器所在的通信域中节点的通信方式包括点到点通信或点到多点通信。点到点通信可以理解为信息的发送方和接收方的数量为1。点到多点通信可以理解为信息的发送方的数量为1,信息接收方的数量大于1。其中,信息的发送方或信息的接收方可以是通信域中的任一节点。
密钥服务器所在的通信域中除密钥服务器之外的其他节点的信息可以用于指示以下信息中的至少一项:该其他节点的标识,该其他节点和密钥服务器连接的端口,该其他节点的节点名称,或该其他节点支持的协议或算法。其中,该其他节点的节点名称包括密钥服务器、密钥代理或密钥客户端。该其他节点支持的协议或算法包括以下至少一项:该其他节点支持的报文的协议(例如,用户数据报协议(user data protocol,UDP)或TCP等),该其他节点支持的多种算法(例如,完整性算法,加密算法,身份认证算法或临时密钥的派生算法等)或用于派生密钥服务器所在的通信域的密钥的基础密钥的信息(例如,基础密钥的存储位置信息、基础密钥的类型信息等)。
构建密钥服务器所在的通信域的密钥的密钥信息可以用于指示密钥服务器所在的通信域的密钥的存储位置。进一步的,构建密钥服务器所在的通信域的密钥的密钥信息还可以用于指示密钥服务器所在的通信域的密钥的类型。该密钥的类型可以包括固定密钥或长期密钥。
示例性的,以图1A所示的密钥管理系统10为例,若密钥服务器101和密钥客户端102包括在通信域1中,密钥服务器101、密钥客户端103和密钥客户端104包括在通信域2中,则密钥服务器101所在的通信域的信息可以包括通信域1的信息和通信域2的信息。通信域1的信息可以如表5所示,表5中,通信域1的信息包括通信域1的应用范围(主设备之间)、通信域1的标识,通信域1中节点的通信方式(点到点),密钥服务器101与密钥客户端102的连接方式的信息,密钥客户端102的信息和构建通信域1的密钥的密钥信息。密钥服务器101与密钥客户端102的连接方式的信息包括密钥服务器101与密钥客户端102连接的端口的标识(密钥服务器101的端口1),密钥服务器101与密钥客户端102的连接方式(Eth)和密钥服务器101与密钥客户端102连接的端口的IP地址(IP 1)。密钥客户端102的信息包括密钥客户端102的标识,密钥客户端102和密钥服务器101连接的端口的标识(密钥客户端102的端口2),密钥客户端102的名称(密钥客户端),和密钥客户端102支持的协议或算法(AES_CMAC_128和AES_CBC_128)。构建密通信域1的密钥的密钥信息包括通信域1的密钥的存储位置(存储位置1)和通信域1的密钥的类型(长期密钥)。其中,AES_CMAC_128为完整性/消息校验码算法,AES_CBC_128为加密算法。
表5
通信域2的信息可以如表6所示,表6中,通信域2的信息包括通信域2的应用范围(跨功能域)、通信域2的标识,通信域2中节点的通信方式(点到多点),密钥服务器101与密钥客户端103的连接方式的信息,密钥服务器101与密钥客户端104的连接方式的信息,密钥客户端103的信息,密钥客户端104的信息和构建通信域2的密钥的密钥信息。密钥服务器101与密钥客户端103的连接方式的信息包括密钥服务器101与密钥客户端103连接的端口的标识(密钥服务器101的端口1),密钥服务器101与密钥客户端103的连接方式(CAN)和密钥服务器101与密钥客户端103连接的端口的地址(CAN ID 1)。密钥服务器101与密钥客户端104的连接方式的信息包括密钥服务器101与密钥客户端104连接的端口的标识(密钥服务器101的端口3),密钥服务器101与密钥客户端104的连接方式(CAN)和密钥服务器101与密钥客户端104连接的端口的地址(CAN ID 2)。密钥客户端103的信息包括密钥客户端103的标识,密钥客户端103和密钥服务器101连接的端口的标识(密钥客户端103的端口1),密钥客户端103的名称(密钥客户端),和密钥客户端103支持的协议或算法(AES_CMAC_128和AES_CBC_128)。密钥客户端104的信息包括密钥客户端104的标识,密钥客户端104和密钥服务器101连接的端口的标识(密钥客户端104的端口3),密钥客户端104的名称(密钥客户端),和密钥客户端104支持的协议或算法(AES_CMAC_128和AES_CBC_128)。构建密通信域2的密钥的密钥信息包括通信域2的密钥的存储位置(存储位置2)和通信域2的密钥的类型(长期密钥)。
表6
应理解,上述表5和表6仅是密钥服务器所在的通信域的信息的示例,在具体应用中,密钥服务器所在的通信域的信息还可以包括比表5和表6更多或更少的信息,不予限制。
S6:第一节点根据第二配置信息确定第一节点所在的通信域的信息。
一种可能的实现方式,第一节点采用上述方式1-方式3中的任一方式确定第一节点所在的通信域,根据第二配置信息确定每个通信域的信息。
S6中第一节点所在的通信域的信息可以用于指示以下信息中的至少一项:第一节点所在的通信域的应用范围,第一节点所在的通信域的标识,第一节点所在的通信域中节点的通信方式,第一节点与第一节点所在的通信域中除第一节点之外的节点的连接方式,第一节点在第一节点所在通信域中的交互方式,第一节点与第一节点所在的通信域中除第一节点之外的节点连接的端口的地址,第一节点支持的协议或算法,第一节点所在的通信域中除第一节点之外的其他节点的信息,或构建第一节点所在的通信域的密钥的密钥信息。
其中,第一节点所在的通信域的应用范围包括整车、功能域内、跨功能域和主设备之间等。第一节点所在的通信域中节点的通信方式包括点到点通信或点到多点通信。第一节点在第一节点所在通信域中的交互方式包括直接与密钥服务器通信或通过密钥代理与密钥服务器通信。第一节点支持的协议或算法包括以下至少一项:第一节点支持的报文的协议(例如,UDP或TCP等),第一节点支持的多种算法(例如,完整性算法,加密算法,身份认证算法或临时密钥的派生算法等)或用于派生第一节点所在的通信域的密钥的基础密钥的信息(例如,基础密钥的存储位置信息、基础密钥的类型信息等)。第一节点所在的通信域中除第一节点之外的其他节点的信息可以用于指示以下信息中的至少一项:该其他节点的标识,该其他节点和第一节点连接的端口,或该其他节点支持的协议或算法。构建第一节点所在的通信域的密钥的密钥信息可以用于指示第一节点所在的通信域的密钥的存储位置。进一步的,构建第一节点所在的通信域的密钥的密钥信息还可以用于指示第一节点所在的通信域的密钥的类型。
示例性的,以图1A所示的密钥管理系统10为例,若密钥服务器101和密钥客户端102包括在通信域1中,密钥服务器101、密钥客户端103和密钥客户端104包括在通信域2中,第一节点为密钥客户端102,则密钥客户端102确定的通信域1的信息(即密钥客户端102所在通信域的信息)可以如表7所示,表7中,通信域1的信息包括通信域1的应用范围(主设备之间)、通信域1的标识,通信域1中节点的通信方式(点到点),密钥客户端102与密钥服务器101的连接方式的信息,密钥客户端102在通信域1中的交互方式(直接与密钥服务器通信),密钥客户端102支持的协议或算法(AES_CMAC_128和AES_CBC_128),密钥服务器101的信息和构建通信域1的密钥的密钥信息。密钥客户端102与密钥服务器101的连接方式的信息包括密钥客户端102与密钥服务器101连接的端口的标识(密钥客户端102的端口2)和密钥客户端102与密钥服务器101的连接方式(Eth)。密钥服务器101的信息包括密钥服务器101的标识,和密钥服务器101和密钥客户端102连接的端口的标识(密钥服务器101的端口1)。构建密通信域1的密钥的密钥信息包括通信域1的密钥的存储位置(存储位置1)和通信域1的密钥的类型(长期密钥)。
表7
若第一节点为密钥客户端103,则密钥客户端103确定的通信域2的信息(即密钥客户端103所在通信域的信息)可以如表8所示,表8中,通信域2的信息包括通信域2的应用范围(跨功能域)、通信域2的标识,通信域2中节点的通信方式(点到多点),密钥客户端103与密钥服务器101的连接方式的信息,密钥客户端103在通信域1中的交互方式(直接与密钥服务器通信),密钥客户端103支持的协议或算法(AES_CMAC_128和AES_CBC_128),密钥服务器101的信息和构建通信域2的密钥的密钥信息。密钥客户端103与密钥服务器101的连接方式的信息包括密钥客户端103与密钥服务器101连接的端口的标识(密钥客户端103的端口1)和密钥客户端103与密钥服务器101的连接方式(CAN)。密钥服务器101的信息包括密钥服务器101的标识,和密钥服务器101和密钥客户端103连接的端口的标识(密钥服务器101的端口2)。构建密通信域2的密钥的密钥信息包括通信域2的密钥的存储位置(存储位置2)和通信域2的密钥的类型(长期密钥)。
表8
若第一节点为密钥客户端104,则密钥客户端104确定的通信域2的信息(即密钥客户端104所在通信域的信息)可以如表9所示,表9中,通信域2的信息包括通信域2的应用范围(跨功能域)、通信域2的标识,通信域2中节点的通信方式(点到多点),密钥客户端104与密钥服务器101的连接方式的信息,密钥客户端104在通信域1中的交互方式(直接与密钥服务器通信),密钥客户端104支持的协议或算法(AES_CMAC_128和AES_CBC_128),密钥服务器101的信息和构建通信域2的密钥的密钥信息。密钥客户端104与密钥服务器101的连接方式的信息包括密钥客户端104与密钥服务器101连接的端口的标识(密钥客户端104的端口3)和密钥客户端104与密钥服务器101的连接方式(CAN)。密钥服务器101的信息包括密钥服务器101的标识,和密钥服务器101和密钥客户端104连接的端口的标识(密钥服务器101的端口3)。构建密通信域2的密钥的密钥信息包括通信域2的密钥的存储位置(存储位置2)和通信域2的密钥的类型(长期密钥)。
表9
应理解,上述表7-表9仅是第一节点所在的通信域的信息的示例,在具体应用中,第一节点所在的通信域的信息还可以包括比表7、表8或表9更多或更少的信息,不予限制。
可以理解的,S6之后,密钥管理系统中的节点即可获取每个通信域的密钥。下面对本申请实施例提供的获取密钥的方法进行具体阐述,该获取密钥的方法包括S401-S403。
S401:密钥服务器获取第一密钥信息。
其中,第一密钥信息可以用于为第一通信域中的节点配置密钥。例如,第一密钥信息可以包括第一密钥材料。进一步的,第一密钥信息还可以包括第一通信域的标识和/或第一密钥的类型信息。
其中,第一密钥材料可以用于生成第一密钥。例如,第一密钥材料包括一个或多个随机数,该一个或多个随机数可以用于生成第一密钥;或者,第一密钥材料包括第一密钥。第一密钥可以具备以下至少一种功能:用于加密第一通信域中的节点间的通信信息,用于验证第一通信域中的节点间的通信信息的完整性,或用于作为基础密钥派生其他密钥。其他密钥可以包括第一通信域中节点间通信的临时密钥或其他长期密钥等。可选的,第一密钥材料是根据第二密钥得到的。
第一通信域的标识可以用于指示第一通信域。第一密钥可以应用于第一通信域,或者说,第一密钥的使用范围为第一通信域。也就是说,第一密钥可以应用于第一通信域的标识指示的通信域。第一通信域为密钥管理系统中的任一通信域,例如,第一节点所在的通信域的信息中指示的通信域、密钥服务器所在的通信域的信息中指示的通信域。第一通信域包括密钥管理系统中的至少两个节点,该至少两个节点包括第一节点,即密钥客户端。第一通信域的划分方法可以参考上述方式1-方式3中对应的描述。以图1A所示的密钥管理系统10为例,第一通信域包括密钥客户端102-密钥客户端104中的至少两个密钥客户端;或者,第一通信域包括密钥服务器101,和密钥客户端102-密钥客户端104中的至少一个密钥客户端。可以理解的,第一密钥也可以应用于整车,或者说,第一密钥的使用范围为整车。
第一密钥的类型信息可以用于指示第一密钥的类型。例如,第一密钥的类型的信息可以包括第一密钥的类型的标识。第一密钥的类型可以包括固定密钥、长期密钥或临时密钥。
可以理解的,本申请实施例中,第一密钥和/或第二密钥是设备内的关键敏感信息,需要进行安全非易失性存储,且不可以随便更新、删除,甚至需要禁止读取。能够提供安全非易失性存储的硬件机制有:硬件安全模块(hardware security module,HSM)、安全硬件扩展(secure hardware extension,SHE)、可信执行环境(trust executionenvironment,TEE)中的持久化安全存储区等。
一种可能的实现方式,S401之前,密钥服务器接收到来自密钥管理工具的第一确认信息;或者,密钥服务器接收到来自第一终端的第一确认信息;或者,密钥服务器接收来自第二终端的第一确认信息,密钥服务器获取第一密钥信息;或者,密钥服务器接收到来自云端密钥管理中心的第一确认信息。其中,第一确认信息可以用于触发密钥服务器获取第一密钥信息。也就是说,可以通过密钥管理工具、第一终端、第二终端或云端密钥管理中心来触发密钥服务器为第一通信域中的节点配置密钥。
例如,密钥服务器检测到第一通信域的密钥过期或即将过期,向密钥管理工具、第一终端、第二终端或云端密钥管理中心发送第一请求触发信息,用于指示第一通信域的密钥过期或即将过期。密钥管理工具或云端密钥管理中心接收到第一请求触发信息后可以通知管理员,以便管理员确认是否触发密钥服务器为第一通信域中的节点配置密钥。第一终端或第二终端接收到通知消息后可以通知用户,以便用户确认是否触发密钥服务器为第一通信域中的节点配置密钥。密钥管理工具、第一终端、第二终端或云端密钥管理中心接收到第一请求触发信息后,还可以向密钥服务器发送第一请求触发信息的响应信息。第一请求触发信息的响应信息可以用于指示接收到第一请求触发信息。
可以理解的,密钥服务器接收到第一确认信息后,可以向密钥管理工具、第一终端、第二终端或云端密钥管理中心发送第一确认信息的响应信息,用于指示接收到该第一确认信息,还可以用于指示启动第一通信域的密钥的构建流程,即开始执行S401。
其中,若该密钥管理工具为车厂设置的密钥管理工具,可以将该密钥管理工具通过智能车的诊断口与智能车连接,来触发密钥服务器为第一通信域中的节点配置密钥。密钥管理工具和密钥服务器之间还可以根据第一协议建立第六安全通道。第六安全通道用于传输密钥服务器与密钥管理工具之间的信息,例如,第一确认信息。
上述第一终端可以是用户设备(user equipment,UE),其中,UE包括具有无线通信功能的手持式设备、可穿戴设备或计算设备。示例性地,UE可以是手机(mobile phone)、平板电脑或带无线收发功能的电脑。上述第二终端可以是车载设备,也可以称为智能车中的设备,例如TBox、网关、BCM、CDC、MDC、VCU、VDC或VIU等。第一终端或第二终端上安装有可以与密钥服务器通信的软件。以第二终端为例,第一确认信息可以是智能车中的设备上部署的车载信息娱乐(in-vehicle infotainment,IVI)系统触发发送的。IVI系统可以为具备以下一种或多种功能的系统:导航、播放音乐、播放视频、语音识别、拨打电话、信息交互等。
一种可能的实现方式,在第一次使用智能车,或者确定需要更新第一通信域的密钥,或者智能车中的设备被更换后的情况下,可以通过密钥管理工具、第一终端、第二终端或云端密钥管理中心来触发密钥服务器为第一通信域中的节点配置密钥。在触发密钥服务器为第一通信域中的节点配置密钥的过程中,可以通过密钥管理工具、第一终端、第二终端或云端密钥管理中心指示第一通信域,例如,第一确认信息可以指示第一通信域。密钥服务器接收到第一确认信息后,可以确定第一密钥的类型信息并生成第一密钥材料。
进一步的,第一通信域的密钥被更新后,例如S403之后,第一通信域中的节点可以将更新前的密钥删除,在这种情况下,第一密钥信息还可以包括更新前的密钥的标识。或者,第一通信域的密钥被更新后,例如S403之后,密钥服务器触发第一通信域中的节点删除更新前的密钥。示例性的,密钥服务器向密钥客户端发送第一请求删除信息。第一请求删除信息用于请求删除更新前的密钥。第一请求删除信息可以包括更新前的密钥的标识。第一请求删除信息还可以包括第一通信域的标识和/或更新前的密钥的类型。密钥客户端接收到密钥服务器的第一请求删除信息后,向密钥服务器发送第一请求删除信息的响应信息,用于指示接收到第一请求删除信息。后续,密钥客户端删除更新前的密钥后,可以向密钥服务器发送第一完成信息,用于指示已删除更新前的密钥。第一完成信息可以包括更新前的密钥的标识和已删除更新前的密钥的指示信息。第一完成信息还可以包括第一通信域的标识和/或更新前的密钥的类型。密钥服务器接收到第一完成信息后,可以向密钥客户端发送第一完成信息的响应信息,用于指示接收到第一完成信息。
进一步的,第一通信域中的节点在删除更新前的密钥的过程中,密钥服务器可以指示停止删除更新前的密钥。示例性的,密钥服务器向密钥客户端发送第一停止删除信息。第一停止删除信息用于指示停止删除更新前的密钥。第一停止删除信息可以包括更新前的密钥的标识。第一停止删除信息还可以包括第一通信域的标识和/或更新前的密钥的类型。密钥客户端接收到第一停止删除信息后,停止删除更新前的密钥,并向密钥服务器发送第一停止删除信息的响应信息,用于指示已停止删除更新前的密钥。
可以理解的,上述触发密钥服务器为第一通信域中的节点配置密钥的方式仅是示例性的,在具体应用中,还可以有其他方式,例如车厂的云端服务器触发密钥服务器为第一通信域中的节点配置密钥,等等,本申请实施例不做具体限定。
一种可能的实现方式,密钥服务器获取第一密钥信息之后,密钥服务器根据第一密钥材料生成第一密钥。该第一密钥的类型为第一密钥的类型信息中指示的类型,该第一密钥作用的通信域为第一通信域。
S402:密钥服务器向密钥客户端发送第一密钥的信息。
其中,密钥客户端的数量大于或等于1。示例性的,图1A所示的密钥管理系统为例,若第一通信域包括密钥服务器101和密钥客户端102,则密钥服务器101向密钥客户端102发送第一密钥的信息;若第一通信域包括密钥客户端102和密钥客户端103,则密钥服务器101向密钥客户端102和密钥客户端103发送第一密钥的信息。
一种可能的实现方式,S402之前,密钥服务器根据第一协议与密钥客户端建立第一安全通道。对应的,密钥客户端根据第一协议与密钥服务器建立该第一安全通道。第一安全通道用于传输密钥服务器与密钥客户端之间的信息。进一步的,密钥服务器和密钥客户端在建立第一安全通道的过程中使用的密钥为第二密钥。
可以理解的,若密钥客户端的数量等于1,第一安全通道包括密钥服务器与该密钥客户端的点到点的安全通道。若密钥客户端的数量大于1,第一安全通道包括密钥服务器与每个密钥客户端的点到点的安全通道;或者,第一安全通道包括密钥服务器与每个密钥客户端的点到多点的安全通道;或者,第一安全通道包括密钥服务器与一部分密钥客户端的点到点的安全通道,以及密钥服务器与另一部分密钥客户端的点到多点的安全通道。其中,点到点的安全通道可以理解为该安全通道可以用于两个节点之间的通信。点到多点的安全通道可以理解为该安全通道可以用于该点和多点中,任意两个或多个节点之间的通信。
例如,若密钥客户端包括密钥客户端102、密钥客户端103和密钥客户端104,则第一安全通道包括密钥服务器101与密钥客户端102之间的安全通道,密钥服务器101与密钥客户端103之间的安全通道,以及密钥服务器101与密钥客户端104之间的安全通道。其中,密钥服务器101与密钥客户端102之间的安全通道用于密钥服务器101与密钥客户端102之间的通信,密钥服务器101与密钥客户端103之间的安全通道用于密钥服务器101与密钥客户端103之间的通信,密钥服务器101与密钥客户端104之间的安全通道用于密钥服务器101与密钥客户端104之间的通信。或者,第一安全通道包括密钥服务器101与密钥客户端102-密钥客户端104的点到多点的安全通道。其中,密钥服务器101与密钥客户端102-密钥客户端104的点到多点的安全通道用于密钥服务器101、和密钥客户端102-密钥客户端104中任意两个或多个节点之间的通信。或者,第一安全通道包括密钥服务器101与密钥客户端102之间的安全通道,以及密钥服务器与密钥客户端103-密钥客户端104的点到多点的安全通道。其中,密钥服务器101与密钥客户端102之间的安全通道用于密钥服务器101与密钥客户端102之间的通信,密钥服务器101与密钥客户端103-密钥客户端104的点到多点的安全通道用于密钥服务器101、和密钥客户端103-密钥客户端104中任意两个或多个节点之间的通信。
一种可能的实现方式,密钥服务器通过第一安全通道向密钥客户端发送第一密钥的信息。
对应的,密钥客户端接收来自密钥服务器的第一密钥信息。进一步的,密钥客户端通过第一安全通道接收来自密钥服务器的第一密钥信息。
可选的,密钥客户端接收到来自密钥服务器的第一密钥信息后,可以向密钥服务器发送第一密钥信息的响应信息。第一密钥信息的响应信息可以用于指示密钥客户端接收到第一密钥信息。
S403:密钥客户端根据第一密钥信息生成第一密钥。
一种可能的实现方式,密钥客户端根据第一密钥材料生成第一密钥。该第一密钥的类型为第一密钥的类型信息中指示的类型,该第一密钥作用的通信域为第一通信域。
一种可能的实现方式,S403之后,密钥客户端向密钥服务器发送第五通知信息。第五通知信息用于指示密钥客户端生成第一密钥是否成功。
可以理解的,在执行S401-S403的过程中,密钥服务器还可以周期性的向密钥管理工具,第一终端、第二终端或云端密钥管理中心反馈获取密钥的进度。例如,密钥服务器向密钥管理工具,第一终端、第二终端或云端密钥管理中心发送第一进度通知信息。该第一进度通知信息可以用于指示获取密钥的进度。该第一进度通知信息可以包括智能车的标识,第一通信域的标识和进度信息。进度信息用于指示获取密钥的进度。
可以理解的,密钥管理系统中的节点可以多次执行上述S401-S403,使得密钥服务器可以为多个通信域配置该通信域对应的密钥。
基于图4所示的方法,密钥服务器可以为第一通信域中的每个节点配置第一密钥,后续,第一通信域中的节点可以通过该第一密钥进行通信。一方面,该第一密钥是由第一通信域中的节点保存,不易泄漏,即便泄漏了,也不会影响其他通信域的安全,因此可以提高通信安全。另一方面,密钥服务器可以随时更新密钥,十分便捷。另外,第一密钥占用的存储空间较小,不会增加密钥管理系统中节点的软硬件成本。第一密钥也不需要车厂进行管理,不会增加车厂的管理成本。
其中,上述S401-S403中密钥服务器或密钥客户端的动作可以由图3所示的获取密钥的装置30中的处理器301调用存储器303中存储的应用程序代码来执行,本申请实施例对此不做任何限制。
可选的,在图4所示方法的一种可能的实现方式中,密钥客户端可以对第一密钥在密钥客户端和密钥服务器之间的可用性进行验证,以防止第一密钥生成失败或错误,导致密钥客户端和密钥服务器之间无法正常通信。具体的,如图5所示,图4所示的方法还包括S501-S503。
S501:密钥服务器根据第一验证信息生成第一验证码。
其中,第一验证信息可以包括以下信息中的至少一个:第一密钥,第一密钥材料,第一信息,或密钥服务器的标识。第一信息包括以下信息中的至少一个:第一通信域的标识,第一密钥的标识互第一随机数。第一验证码可以用于验证第一验证信息是否被修改。该第一验证码可以是MAC。密钥服务器可以采用一种或多种算法对第一验证信息进行计算,得到第一验证码。第一随机数为密钥服务器生成的任一随机数。
进一步的,若第一验证信息包括第一密钥,密钥服务器在计算第一验证码的过程中可以使用第一密钥,也可以不使用第一密钥。若第一验证信息不包括第一密钥,密钥服务器在计算第一验证码的过程中使用第一密钥。
S502:密钥服务器向密钥客户端发送第一信息和第一验证码。
一种可能的实现方式,密钥服务器通过第一安全通道向密钥客户端发送第一信息和第一验证码。
对应的,密钥客户端接收来自密钥服务器的第一信息和第一验证码。进一步的,密钥客户端通过第一安全通道接收来自密钥服务器的第一信息和第一验证码。
S503:密钥客户端验证第一验证码。
一种可能的实现方式,密钥客户端验证第一验证码,包括:密钥客户端根据第一验证信息生成第一验证码,若密钥客户端生成的第一验证码与接收到的第一验证码相同,则验证成功;若密钥客户端生成的第一验证码与接收到的第一验证码不相同,则验证失败。
可以理解的,密钥客户端采用与密钥服务器生成第一验证码时相同的算法对第一验证信息进行计算,得到第一验证码。
一种可能的实现方式,S503之后,密钥客户端向密钥服务器发送第二完成信息。第二完成信息用于指示密钥客户端验证第一验证码是否成功。第二完成信息可以包括第一密钥的标识和是否验证成功的指示信息。第二完成信息还可以包括第一通信域的标识和/或第一密钥的类型。密钥服务器接收到第二完成信息后,可以向密钥客户端发送第二完成信息的响应信息,用于指示接收到该第二完成信息。若第二完成信息指示密钥客户端验证第一验证码成功,第二完成信息的响应信息还可以指示密钥验证结束。可以理解的,若密钥客户端验证失败,或在第一预设时长内密钥服务器未接收到第二完成信息,密钥服务器可以重新向密钥客户端发送用于配置密钥的信息。
可以理解的,密钥客户端可以通过第一安全通道向密钥服务器发送第二完成信息。若该第一安全通道为点到多点的安全通道,则第一通信域中的其他密钥客户端也可以接收到该第二完成信息。其他密钥客户端可以根据该第二完成信息确定该密钥客户端验证第一验证码是否成功,也可以忽略该第二完成信息。
基于图5所示方法,密钥客户端可以通过第一验证码对第一密钥在密钥客户端和密钥服务器之间的可用性进行验证,以防止第一密钥生成失败或错误,导致密钥客户端和密钥服务器之间无法正常通信。
其中,上述S501-S503中的密钥服务器或密钥客户端的动作可以由图3所示的获取密钥的装置30中的处理器301调用存储器303中存储的应用程序代码来执行,本申请实施例对此不做任何限制。
可选的,在图5所示方法的一种可能的实现方式中,密钥服务器可以对第一密钥在密钥客户端和密钥服务器之间的可用性进行验证,以防止第一密钥生成失败或错误,导致密钥客户端和密钥服务器之间无法正常通信。具体的,如图6所示,图5所示的方法还包括S601-S603。
S601:密钥客户端根据第二验证信息生成第二验证码。
其中,第二验证信息可以包括以下信息中的至少一个:第一密钥,第一密钥材料,第二信息,密钥客户端的标识,或第一随机数。第二信息包括第一通信域的标识,和/或,第一密钥的标识。第二验证码可以用于验证第二验证信息是否被修改。该第二验证码可以是MAC。密钥客户端可以采用一种或多种算法对第一验证信息进行计算,得到第一验证码。
进一步的,若第二验证信息包括第一密钥,密钥客户端在计算第二验证码的过程中可以使用第一密钥,也可以不使用第一密钥。若第二验证信息不包括第一密钥,密钥客户端在计算第二验证码的过程中使用第一密钥。
可以理解的,第二验证信息包括的随机数还可以是密钥客户端生成的随机数。在这种情况下,第二验证信息包括以下信息中的至少一项:第一密钥,第一密钥材料,第二信息,或密钥客户端的标识。第二信息包括以下信息中的至少一个:第一通信域的标识,第一密钥的标识或第三随机数。第三随机数为密钥客户端生成的任一随机数。第三随机数与第一随机数相同或不同。
S602:密钥客户端向密钥服务器发送第二信息和第二验证码。
一种可能的实现方式,密钥客户端通过第一安全通道向密钥服务器发送第二信息和第二验证码。
对应的,密钥服务器接收来自密钥客户端的第二信息和第二验证码。进一步的,密钥服务器通过第一安全通道接收来自密钥客户端的第二信息和第二验证码。
S603:密钥服务器验证第二验证码。
一种可能的实现方式,密钥服务器验证第二验证码,包括:密钥服务器根据第二验证信息生成第二验证码,若密钥服务器生成的第二验证码与接收到的第二验证码相同,则验证成功;若密钥服务器生成的第二验证码与接收到的第二验证码不相同,则验证失败。
一种可能的实现方式,S603之后,密钥服务器向密钥客户端发送第七通知信息。第七通知信息用于指示密钥服务器验证第二验证码是否成功。可以理解的,若密钥服务器验证失败,密钥服务器可以重新向密钥客户端发送用于配置密钥的信息。
可以理解的,本申请实施例不限制S501-S503,以及S601-S603的执行顺序。例如,可以先执行S501-S503,再执行S601-S603,也可以先执行S601-S603,再执行S501-S503。
可以理解的,在本申请实施例中,密钥服务器和密钥客户端中有一方对第一密钥的可行性进行验证即可。也就是说,本申请实施例可以不包括S501-S503或者S601-S603。
基于图6所示方法,密钥服务器可以通过第二验证码对第一密钥在密钥客户端和密钥服务器之间的可用性进行验证,以防止第一密钥生成失败或错误,导致密钥客户端和密钥服务器之间无法正常通信。
其中,上述S601-S603中的密钥服务器或密钥客户端的动作可以由图3所示的获取密钥的装置30中的处理器301调用存储器303中存储的应用程序代码来执行,本申请实施例对此不做任何限制。
上述图4-图6所示的方法是以图1A所示的密钥管理系统10为例介绍本申请实施例提供的获取密钥的方法的。下面以图1B所示的密钥管理系统11为例介绍本申请实施例提供的获取密钥的方法。
如图7所示,为本申请实施例提供的又一种获取密钥的方法。该获取密钥的方法可以应用于密钥管理系统。该密钥管理系统包括密钥服务器,与密钥服务器通信连接的第一节点。第一节点为密钥代理或密钥客户端。若第一节点为密钥代理,该密钥管理系统还包括与第一节点通信连接的第二节点,第二节点为密钥客户端。
进一步的,该密钥管理系统可以是图1B所示的密钥管理系统11,在这种情况下,密钥服务器可以是图1B中的密钥服务器111,第一节点可以是图1B中的密钥客户端112、密钥代理113或密钥代理114。若第一节点是图1B中的密钥客户端112,本申请实施例提供的又一种获取密钥的方法的具体过程可以参考上述图4-图6所示的实施例中所述。若第一节点是图1B中的密钥代理113,则第二节点可以是密钥客户端115或密钥客户端116。若第一节点是图1B中的密钥代理114,则第二节点可以是密钥客户端117。
一种可能的实现方式,该密钥管理系统可以部署到图2A的智能车20或图2B的智能车22上,在这种情况下,密钥服务器可以部署到智能车20或智能车22中具备通信能力,并且存储资源充足的设备上,如:TBox、网关、BCM、CDC、MDC、VCU、VDC或VIU上。第一节点可以部署到智能车20或智能车22的TBox、网关、BCM、CDC、MDC、VCU、VDC、VIU或ECU上。第二节点可以部署到智能车20或智能车22中的TBox、网关、BCM、CDC、MDC、VCU、VDC、VIU或ECU上。
可以理解的,与图4-图6所示的实施例类似,在执行本申请实施例提供的又一种获取密钥的方法之前,密钥管理系统中的节点可以被配置一个或多个固定密钥。固定密钥的使用范围为密钥管理系统。在根据本申请实施例提供的又一种获取密钥的方法获取到密钥之前,密钥管理系统中的节点之间可以采用该固定密钥通信,以提高密钥管理系统的信息安全,该固定密钥还可以作为基础密钥派生密钥管理系统中通信域的密钥。应理解,密钥管理系统中的节点也可以不配置固定密钥,直接根据本申请实施例提供的获取密钥的方法获取多个通信域的密钥。密钥管理系统中的节点被配置一个或多个固定密钥的具体过程可以参考上述S1-S2中所述。应理解,S1中的第三节点为密钥管理系统中的任一节点。以图1B所示的密钥管理系统11为例,第三节点可以为密钥服务器111、密钥客户端112、密钥代理113、密钥代理114、密钥客户端115、密钥客户端116或密钥客户端117。
一种可能的实现方式,为了执行本申请实施例提供的又一种获取密钥的方法,可以为密钥管理系统中的节点配置相关的配置信息,后续密钥管理系统中的节点可以根据该相关的配置信息执行获取密钥的方法。应理解,若为密钥管理系统中的节点配置了相关的配置信息之后,该相关的配置信息没有改变,则每次执行本申请实施例提供的获取密钥的方法之前不需要再次为密钥管理系统中的节点配置相关的配置信息,若该相关的配置信息发生改变,可以为密钥管理系统中的节点配置更新后的相关的配置信息。为密钥管理系统中的节点配置相关的配置信息的具体过程,可以参考下述S7-S9。
S7:密钥服务器获取第一配置信息。
其中,第一配置信息的介绍可参考上述S3中所述。
示例性的,以图1B所示的密钥管理系统11为例,第一配置信息可以包括密钥服务器111的信息,密钥客户端112的信息,密钥代理113的信息,密钥代理114的信息,密钥客户端115的信息、密钥客户端116的信息和密钥客户端117的信息。密钥服务器111的信息可以如表10所示。表10中,密钥服务器111的信息包括密钥服务器111的标识,密钥服务器111的每个端口的连接方式的信息和与密钥服务器111通信的其他节点的信息。密钥服务器111的每个端口的连接方式的信息包括密钥服务器111的每个端口的标识(端口1、端口2和端口3),密钥服务器111的每个端口的连接方式的标识(Eth、CAN和CAN),以及密钥服务器111的每个端口的地址(IP 1、CAN ID 1和CAN ID 2)。与密钥服务器111通信的其他节点的信息包括与密钥服务器111通信的其他节点的标识(密钥客户端112的标识,密钥代理113的标识和密钥代理114的标识)和其他节点与密钥服务器111的连接方式的信息。其他节点与密钥服务器111的连接方式的信息包括密钥客户端112与密钥服务器111的连接方式的信息,密钥代理113与密钥服务器111的连接方式的信息和密钥代理114与密钥服务器111的连接方式的信息。密钥客户端112与密钥服务器111的连接方式的信息包括密钥客户端112与密钥服务器111的连接方式的标识(Eth),以及密钥客户端112与密钥服务器111连接的端口的IP地址(IP 4)。密钥代理113与密钥服务器111的连接方式的信息包括密钥代理113与密钥服务器111的连接方式的标识(CAN),以及密钥代理113与密钥服务器111连接的端口的地址(CANID 3)。密钥代理114与密钥服务器111的连接方式的信息包括密钥代理114与密钥服务器111的连接方式的标识(CAN),以及密钥代理114与密钥服务器111连接的端口的地址(CANID 4)。
表10
密钥客户端112的信息可以如表11所示。表11中,密钥客户端112的信息包括密钥客户端112的标识,密钥客户端112的每个端口的连接方式的信息和与密钥客户端112通信的其他节点的信息。密钥客户端112的每个端口的连接方式的信息包括密钥客户端112的每个端口的连接方式的标识(Eth),以及密钥客户端112的每个端口的IP地址(IP 4)。与密钥客户端112通信的其他节点的信息包括与密钥客户端112通信的其他节点的标识(密钥服务器111的标识)和其他节点与密钥客户端112的连接方式的信息。其他节点与密钥客户端112的连接方式的信息包括密钥服务器111与密钥客户端112连接的端口的标识(端口1),密钥服务器111与密钥客户端112的连接方式的标识(Eth),以及密钥服务器111与密钥客户端112连接的端口的IP地址(IP 1)。
表11
密钥代理113的信息可以如表12所示。表12中,密钥代理113的信息包括密钥代理113的标识,密钥代理113的每个端口的连接方式的信息和与密钥代理113通信的其他节点的信息。密钥代理113的每个端口的连接方式的信息包括密钥代理113的每个端口的标识(端口1,端口2和端口3),密钥代理113的每个端口的连接方式的标识(CAN,CAN,CAN),以及密钥代理113的每个端口的地址(CAN ID 3,CAN ID 5和CAN ID 6)。与密钥代理113通信的其他节点的信息包括与密钥代理113通信的其他节点的标识(密钥服务器111的标识,密钥客户端115的标识和密钥客户端116的标识)和其他节点与密钥代理113的连接方式的信息。其他节点与密钥代理113的连接方式的信息包括密钥服务器111与密钥代理113连接方式的信息,密钥客户端115与密钥代理113的连接方式的信息和密钥客户端116与密钥代理113的连接方式的信息。密钥服务器111与密钥代理113连接方式的信息包括密钥服务器111与密钥代理113连接的端口的标识(端口2),密钥服务器111与密钥代理113的连接方式的标识(CAN),以及密钥服务器111与密钥代理113连接的端口的地址(CAN ID 1)。密钥客户端115与密钥代理113的连接方式的信息包括密钥客户端115与密钥代理113的连接方式的标识(CAN),密钥客户端115与密钥代理113连接的端口的地址(CAN ID 7)。密钥客户端116与密钥代理113的连接方式的信息包括密钥客户端116与密钥代理113的连接方式的标识(CAN),密钥客户端116与密钥代理113连接的端口的地址(CAN ID 8)。
表12
密钥代理114的信息可以如表13所示。表13中,密钥代理114的信息包括密钥代理114的标识,密钥代理114的每个端口的连接方式的信息和与密钥代理114通信的其他节点的信息。密钥代理114的每个端口的连接方式的信息包括密钥代理114的每个端口的标识(端口1和端口2),密钥代理114的每个端口的连接方式的标识(CAN和CAN),以及密钥代理114的每个端口的地址(CAN ID 4和CAN ID 9)。与密钥代理114通信的其他节点的信息包括与密钥代理114通信的其他节点的标识(密钥服务器111的标识),密钥服务器111与密钥代理114的连接方式的信息和密钥客户端117与密钥代理114的连接方式的信息。密钥服务器111与密钥代理114的连接方式的信息包括密钥服务器111与密钥代理114连接的端口的标识(端口3),密钥服务器111与密钥代理114的连接方式的标识(CAN),以及密钥服务器111与密钥代理114连接的端口的地址(CAN ID 2)。密钥客户端117与密钥代理114的连接方式的信息包括密钥客户端117与密钥代理114的连接方式的标识(CAN),以及密钥客户端117与密钥代理114连接的端口的地址(CAN ID 10)。
表13
密钥客户端115的信息可以如表14所示。表14中,密钥客户端115的信息包括密钥客户端115的标识,密钥客户端115的每个端口的连接方式的信息和与密钥客户端115通信的其他节点的信息。密钥客户端115的每个端口的连接方式的信息包括密钥客户端115的每个端口的连接方式的标识(CAN),以及密钥客户端115的每个端口的地址(CAN ID 7)。与密钥客户端115通信的其他节点的信息包括与密钥客户端115通信的其他节点的标识(密钥代理113的标识)和其他节点与密钥客户端115的连接方式的信息。其他节点与密钥客户端115的连接方式的信息包括密钥代理113与密钥客户端115连接的端口的标识(端口2),密钥代理113与密钥客户端115的连接方式的标识(CAN),以及密钥代理113与密钥客户端115连接的端口的地址(CAN ID 5)。
表14
密钥客户端116的信息可以如表15所示。表15中,密钥客户端116的信息包括密钥客户端116的标识,密钥客户端116的每个端口的连接方式的信息和与密钥客户端116通信的其他节点的信息。密钥客户端116的每个端口的连接方式的信息包括密钥客户端116的每个端口的连接方式的标识(CAN),以及密钥客户端116的每个端口的地址(CAN ID 8)。与密钥客户端116通信的其他节点的信息包括与密钥客户端116通信的其他节点的标识(密钥代理113的标识)和其他节点与密钥客户端116的连接方式的信息。其他节点与密钥客户端116的连接方式的信息包括密钥代理113与密钥客户端116连接的端口的标识(端口3),密钥代理113与密钥客户端116的连接方式的标识(CAN),以及密钥代理113与密钥客户端116连接的端口的地址(CAN ID 6)。
表15
密钥客户端117的信息可以如表16所示。表16中,密钥客户端117的信息包括密钥客户端117的标识,密钥客户端117的每个端口的连接方式的信息和与密钥客户端117通信的其他节点的信息。密钥客户端117的每个端口的连接方式的信息包括密钥客户端117的每个端口的连接方式的标识(CAN),以及密钥客户端117的每个端口的地址(CAN ID 10)。与密钥客户端117通信的其他节点的信息包括与密钥客户端117通信的其他节点的标识(密钥代理114的标识)和其他节点与密钥客户端117的连接方式的信息。其他节点与密钥客户端117的连接方式的信息包括密钥代理114与密钥客户端117连接的端口的标识(端口2),密钥代理114与密钥客户端117的连接方式的标识(CAN),以及密钥代理114与密钥客户端117连接的端口的地址(CAN ID 9)。
表16
通过表10-表16可以看出,密钥服务器111的端口1与密钥客户端112连接,密钥服务器111的端口2与密钥代理113连接,密钥服务器111的端口3与密钥代理114连接。密钥代理113的端口1与密钥服务器111连接,密钥代理113的端口2与密钥客户端115连接,密钥代理113的端口3与密钥客户端116连接。密钥代理114的端口1与密钥服务器111连接,密钥代理114的端口2与密钥客户端117连接。
上述表10-表16仅是第一配置信息的示例。第一配置信息可以包括比表10-表16更少或更多的信息,不予限制。
一种可能的实现方式,密钥服务器接收来自密钥管理工具或云端密钥管理中心的第一配置信息。也就是说,密钥服务器可以从密钥管理工具或云端密钥管理中心获取第一配置信息。密钥服务器从密钥管理工具或云端密钥管理中心获取第一配置信息的具体过程可以参考上述S3中所述,在此不做赘述。
S8:密钥服务器向第一节点发送第二配置信息。
S8中,第二配置信息可以用于指示以下信息中的至少一种:第一节点的标识,第一节点的连接方式,或与第一节点通信的其他节点的信息。进一步的,第二配置信息还可以用于指示以下信息中的至少一种:第二节点的标识,第二节点的连接方式,或与第二节点通信的其他节点的信息。
其中,第一节点的标识,第一节点的连接方式,与第一节点通信的其他节点的信息的介绍可以参考上述S4中所述。
第二节点的标识用于标识部署第二节点的设备。例如,若第二节点部署在ECU上,该第二节点的标识可以为ECU的标识。第二节点的连接方式可以用于指示该第二节点的每个端口的连接方式。第二节点的连接方式还可以用于指示第二节点的每个端口的地址,例如IP地址和/或MAC地址。与第二节点通信的其他节点的信息可以用于指示该其他节点的标识和该其他节点与第二节点的连接方式。其他节点的标识用于标识部署该其他节点的设备。与第二节点通信的其他节点的信息还可以用于指示该其他节点与第二节点连接的端口的地址,例如IP地址和/或MAC地址。
示例性的,以第一配置信息如表10-表16所示为例,若第一节点为密钥客户端112,则第二配置信息可以如表11所示。若第一节点为密钥代理113,则第二配置信息可以包括表12、表14和表15所示的内容。若第一节点为密钥代理114,则第二配置信息可以包括表13和表16所示的内容。
一种可能的实现方式,密钥服务器在向第一节点发送第二配置信息的过程中,还可以向密钥管理工具或云端密钥管理中心发送第一分发进展通知。第一分发进展通知可以用于指示密钥服务器向每个节点分发第二配置信息的进度。
S9:第一节点向第二节点发送第三配置信息。
其中,第三配置信息可以用于指示以下信息中的至少一种:第二节点的标识,第二节点的连接方式,或与第二节点通信的其他节点的信息。
示例性的,以第二配置信息如表10-表16所示为例,若第一节点为密钥代理113,第二节点为密钥客户端115,则第三配置信息可以如表14所示。若第一节点为密钥代理113,第二节点为密钥客户端116,则第三配置信息可以如表15所示。若第一节点为密钥代理114,第二节点为密钥客户端117,则第三配置信息可以如表16所示。
一种可能的实现方式,第一节点在向第二节点发送第三配置信息的过程中,还可以通过密钥服务器向密钥管理工具或云端密钥管理中心发送第二分发进展通知。第二分发进展通知可以用于指示第一节点向每个节点分发第三配置信息的进度。S9之后,密钥服务器还可以向密钥管理工具或云端密钥管理中心发送分发完成通知,用于指示密钥管理系统中的节点都接收到了各自的配置信息。
一种可能的实现方式,S9之后,密钥管理系统中的节点可以根据该节点接收到的配置信息确定该节点所在的通信域的信息。具体的,可以参考下述S10-S12。
S10:密钥服务器根据第一配置信息确定密钥服务器所在的通信域的信息。
S11:第一节点根据第二配置信息确定第一节点所在的通信域的信息。
S10-S11的具体过程可以参考上述S5-S6中对应的描述。
S12:第二节点根据第三配置信息确定第二节点所在通信域的信息。
一种可能的实现方式,第二节点采用上述方式1-方式3中的任一方式确定第二节点所在的通信域,根据第三配置信息确定每个通信域的信息。具体的,可以参考S5或S6中确定通信域的信息中对应的描述。
S12中第二节点所在的通信域的信息可以用于指示以下信息中的至少一项:第二节点所在的通信域的应用范围,第二节点所在的通信域的标识,第二节点所在的通信域中节点的通信方式,第二节点与第二节点所在的通信域中除第二节点之外的节点的连接方式,第二节点在第二节点所在通信域中的交互方式,第二节点与第二节点所在的通信域中除第二节点之外的节点连接的端口的地址,第二节点支持的协议或算法,第二节点所在的通信域中除第二节点之外的其他节点的信息,或构建第二节点所在的通信域的密钥的密钥信息。
其中,第二节点所在的通信域的应用范围包括整车、功能域内、跨功能域和主设备之间等。第二节点所在的通信域中节点的通信方式包括点到点通信或点到多点通信。第二节点在第二节点所在通信域中的交互方式包括直接与密钥服务器通信或通过密钥代理与密钥服务器通信。第二节点支持的协议或算法包括以下至少一项:第二节点支持的报文的协议(例如,UDP或TCP等),第二节点支持的多种算法(例如,完整性算法,加密算法,身份认证算法或临时密钥的派生算法等)或用于派生第二节点所在的通信域的密钥的基础密钥的信息(例如,基础密钥的存储位置信息、基础密钥的类型信息等)。第二节点所在的通信域中除第二节点之外的其他节点的信息可以用于指示以下信息中的至少一项:该其他节点的标识,该其他节点和第二节点连接的端口,或该其他节点支持的协议或算法。构建第二节点所在的通信域的密钥的密钥信息可以用于指示第二节点所在的通信域的密钥的存储位置。进一步的,构建第二节点所在的通信域的密钥的密钥信息还可以用于指示第二节点所在的通信域的密钥的类型。
可以理解的,S12之后,密钥管理系统中的节点即可获取每个通信域的密钥。下面对本申请实施例提供的获取密钥的方法进行具体阐述,该获取密钥的方法包括S701-S705。
S701:密钥服务器获取第一密钥信息。
S701的具体过程可以参考上述S401中对应的描述,不同的是以下三点:
(1)S701中的第一密钥信息还包括第二节点的信息。该第二节点的信息用于指示第二节点,第二节点为第一通信域中、与密钥代理通信连接的密钥客户端。可以理解的,第一密钥信息包括第二节点的信息是为了向密钥代理指示需要向哪些密钥客户端发送第一密钥材料和第一通信域的标识等信息。在具体应用中,第一密钥信息也可以不包括第二节点的信息,密钥代理接收到第一密钥信息后,自己确定第二节点。
(2)S701中的第一通信域包括的节点与S401中的第一通信域不同。在S701中,第一通信域包括密钥管理系统中的至少两个节点,该至少两个节点包括第二节点。该至少两个节点可以包括第一节点也可以不包括第一节点。例如,第一通信域包括至少两个密钥客户端;或者,第一通信域包括至少一个密钥客户端,至少一个密钥代理和密钥服务器;或者,第一通信域包括至少一个密钥客户端和密钥服务器;或者,第一通信域包括至少一个密钥客户端和至少一个密钥代理。以图1B所示的密钥管理系统为例,第一通信域包括密钥客户端115-密钥客户端116;或者,第一通信域包括密钥服务器111、密钥代理114和密钥客户端117;或者,第一通信域包括密钥服务器111和密钥客户端112;或者,第一通信域包括密钥代理114和密钥客户端117;或者,第一通信域包括密钥服务器111和密钥客户端115。
(3)第一通信域的密钥被更新后,密钥服务器触发第一通信域中的节点删除更新前的密钥的流程不同。
示例性的,第一通信域的密钥被更新后,例如,S705之后,密钥服务器向密钥代理发送第一请求删除信息。第一请求删除信息用于请求删除更新前的密钥。第一请求删除信息可以包括更新前的密钥的标识。第一请求删除信息还可以包括第一通信域的标识和/或更新前的密钥的类型。密钥代理接收到密钥服务器的第一请求删除信息后,可以向密钥服务器发送第一请求删除信息的响应信息,用于指示接收到第一请求删除信息。密钥代理接收到密钥服务器的第一请求删除信息后,还可以向第二节点发送第二请求删除信息。第二请求删除信息用于请求第二节点删除更新前的密钥。第二请求删除信息可以包括更新前的密钥的标识。第二请求删除信息还可以包括第一通信域的标识和/或更新前的密钥的类型。第二节点接收到密钥代理的第二请求删除信息后,删除该更新前的密钥,并向密钥代理发送第二请求删除信息的响应信息,用于指示已删除更新前的密钥。
后续,若密钥代理包括在第一通信域中,密钥代理接收到第二请求删除信息的响应信息并删除了更新前的密钥后,向密钥服务器发送第一完成信息,用于指示已删除更新前的密钥。若密钥代理不包括在第一通信域中,密钥代理接收到第二请求删除信息的响应信息后,向密钥服务器发送第一完成信息,用于指示已删除更新前的密钥。第一完成信息可以包括更新前的密钥的标识和已删除更新前的密钥的指示信息。第一完成信息还可以包括第一通信域的标识和/或更新前的密钥的类型。密钥服务器接收到第一完成信息后,可以向密钥客户端发送第一完成信息的响应信息,用于指示接收到第一完成信息。
进一步的,在删除更新前的密钥的过程中,密钥代理还可以周期性或非周期性地向密钥服务器反馈删除的进度。例如,密钥代理向密钥服务器发送第二进度通知信息。该第二进度通知信息可以用于指示删除更新前的密钥的进度。该第二进度通知信息可以包括更新前的密钥的标识和进度信息。进度信息用于指示删除更新前的密钥的进度。
S702:密钥服务器向密钥代理发送第一密钥的信息。
一种可能的实现方式,密钥代理包括在第一通信域中或不包括在第一通信域中。密钥代理的数量大于或等于1。示例性的,图1B所示的密钥管理系统为例,若第一通信域包括密钥服务器111和密钥代理113,则密钥服务器111向密钥代理113发送第一密钥的信息;若第一通信域包括密钥代理113和密钥代理114,则密钥服务器111向密钥代理113和密钥代理114发送第一密钥的信息。
一种可能的实现方式,S702之前,密钥服务器根据第一协议与密钥代理建立第一安全通道。对应的,密钥代理根据第一协议与密钥服务器建立该第一安全通道。第一协议和第一安全通道的介绍可以参考S402中对应的描述,不同的是,S702中的第一安全通道用于传输密钥服务器与密钥代理之间的信息。
一种可能的实现方式,密钥服务器通过第一安全通道向密钥代理发送第一密钥的信息。
对应的,密钥代理接收来自密钥服务器的第一密钥信息。进一步的,密钥代理通过第一安全通道接收来自密钥服务器的第一密钥信息。
可选的,密钥代理接收到来自密钥服务器的第一密钥信息后,可以向密钥服务器发送第一密钥信息的响应信息。第一密钥信息的响应信息可以用于指示密钥代理接收到第一密钥信息。
S703:密钥代理根据第一密钥信息生成第一密钥。
S703的具体过程可以参考S403中密钥客户端根据第一密钥信息生成第一密钥的对应描述,此处不再赘述。
可以理解的,若密钥代理包括在第一通信域中,密钥代理执行S703。若密钥代理未包括在第一通信域中,密钥代理可以不执行S703。若第一密钥信息包括第二节点的信息,密钥代理接收到第一密钥信息后,根据第二节点的信息向第二节点发送第一密钥材料和第一通信域的标识。若第一密钥信息不包括第二节点的信息,密钥代理接收到第一密钥信息并确定第二节点后,向第二节点发送第一密钥信息。
S704:密钥代理向第二节点发送第一密钥材料和第一通信域的标识。
一种可能的实现方式,S704之前,密钥代理根据第一协议与第二节点建立第二安全通道。对应的,第二节点根据第一协议与密钥代理建立该第二安全通道。第二安全通道可以用于传输密钥代理与第二节点之间的信息。
可以理解的,若第二节点的数量等于1,第二安全通道包括密钥代理与该第二节点的点到点的安全通道。若第二节点的数量大于1,第二安全通道包括密钥代理与每个第二节点的点到点的安全通道;或者,第二安全通道包括密钥代理与每个第二节点的点到多点的安全通道;或者,第二安全通道包括密钥代理与一部分第二节点的点到点的安全通道,以及密钥代理与另一部分第二节点的点到多点的安全通道。
一种可能的实现方式,密钥代理通过第二安全通道向第二节点发送第一密钥材料和第一通信域的标识。
一种可能的实现方式,S704之后,密钥代理向密钥服务器发送第三完成信息。第三完成信息可以用于指示密钥代理完成第一密钥材料和第一通信域的标识的发送。密钥服务器接收到第三完成信息后,可以向密钥代理发送第三完成信息的响应信息。第三完成信息的响应信息用于指示密钥服务器接收到该第三完成信息。
一种可能的实现方式,若第二节点的数量大于1,S704之后,密钥代理向密钥服务器发送第三进度通知信息,第三进度通知信息可以用于指示密钥代理向第二节点发送第一密钥材料和第一通信域的标识的进展。第三进度通知信息可以包括第一通信域的标识和发送第一密钥材料和第一通信域的标识的进展的指示信息。第三进度通知信息还可以包括第一密钥的类型。
可以理解的,若第一密钥的信息包括第一密钥的类型信息,则密钥代理向第二节点发送第一密钥材料、第一通信域的标识和第一密钥的类型信息。
可以理解的,除了第一密钥材料和第一通信域的标识之外,密钥密钥代理还可以向第二节点发送第二节点的信息,以便第二节点确定第一通信域包括的节点。
可以理解的,本申请实施例不限制S703和S704的执行顺序。例如,可以先执行S703再执行S704,也可以先执行S704再执行S703,还可以同时执行S703和S704。
对应的,第二节点接收来自密钥代理的第一密钥材料和第一通信域的标识。进一步的,第二节点通过第二安全通道接收来自密钥代理的第一密钥材料和第一通信域的标识。
可选的,第二节点接收到来自密钥代理的第一密钥材料和第一通信域的标识后,可以向密钥代理发送第一响应信息。第一响应信息可以用于指示第二节点接收到第一密钥材料和第一通信域的标识。
S705:第二节点根据第一密钥材料生成第一密钥。
S705的具体过程可以参考S403中密钥客户端根据第一密钥信息生成第一密钥的对应描述,此处不再赘述。
基于图7所示的方法,密钥服务器可以为第一通信域中的每个节点配置第一密钥,后续,第一通信域中的节点可以通过该第一密钥进行通信。一方面,该第一密钥是由第一通信域中的节点保存,不易泄漏,即便泄漏了,也不会影响其他通信域的安全,因此可以提高通信安全。另一方面,密钥服务器可以随时更新密钥,十分便捷。另外,第一密钥占用的存储空间较小,不会增加密钥管理系统中节点的软硬件成本。第一密钥也不需要车厂进行管理,不会增加车厂的管理成本。
其中,上述S701-S705中密钥服务器、密钥代理或密钥客户端的动作可以由图3所示的获取密钥的装置30中的处理器301调用存储器303中存储的应用程序代码来执行,本申请实施例对此不做任何限制。
可选的,在图7所示方法的一种可能的实现方式中,若密钥代理包括在第一通信域中,密钥代理可以对第一密钥在密钥服务器和密钥代理之间的可用性进行验证,以防止第一密钥生成失败或错误,导致密钥服务器和密钥代理之间无法正常通信。具体的,如图8所示,图7所示的方法还包括S801-S803。
S801:密钥服务器根据第一验证信息生成第一验证码。
S802:密钥服务器向密钥代理发送第一信息和第一验证码。
S803:密钥代理验证第一验证码。
S801-S803的具体过程可以参考上述S501-S503中对应的描述,此处不再赘述。
可以理解的,本申请实施例不限制S801-S803以及S704-S705的执行顺序。例如,可以先执行S801-S803,再执行S704-S704,也可以先执行S704-S705,再执行S801-S803,还可以同时执行S801-S803和S704-S705,不予限制。
基于图5所示方法,密钥代理可以通过第一验证码对第一密钥在密钥服务器和密钥代理之间的可用性进行验证,以防止第一密钥生成失败或错误,导致密钥服务器和密钥代理之间无法正常通信。
其中,上述S801-S803中的密钥服务器或密钥代理的动作可以由图3所示的获取密钥的装置30中的处理器301调用存储器303中存储的应用程序代码来执行,本申请实施例对此不做任何限制。
可选的,在图8所示方法的一种可能的实现方式中,密钥服务器可以对第一密钥在密钥服务器和密钥代理之间的可用性进行验证,以防止第一密钥生成失败或错误,导致密钥服务器和密钥代理之间无法正常通信。具体的,如图9所示,图8所示的方法还包括S901-S903。
S901:密钥代理根据第二验证信息生成第二验证码。
S902:密钥代理向密钥服务器发送第二信息和第二验证码。
S903:密钥服务器验证第二验证码。
S901-S903的具体过程可以参考上述S601-S603中对应的描述,此处不再赘述。
可以理解的,本申请实施例不限制S901-S903以及S801-S803的执行顺序。例如,可以先执行S901-S903,再执行S801-S803,也可以先执行S801-S803,再执行S901-S903,还可以同时执行S901-S903和S801-S803,不予限制。
可以理解的,在本申请实施例中,也可以密钥服务器和密钥代理中有一方对第一密钥的可行性进行验证即可。也就是说,本申请实施例可以不包括S801-S803或者S901-S903。
基于图9所示方法,密钥服务器可以通过第二验证码对第一密钥在密钥服务器和密钥代理之间的可用性进行验证,以防止第一密钥生成失败或错误,导致密钥服务器和密钥代理之间无法正常通信。
其中,上述S901-S903中的密钥服务器或密钥代理的动作可以由图3所示的获取密钥的装置30中的处理器301调用存储器303中存储的应用程序代码来执行,本申请实施例对此不做任何限制。
可选的,在图7所示方法的一种可能的实现方式中,第二节点可以对第一密钥在密钥代理和第二节点之间的可用性进行验证,以防止第一密钥生成失败或错误,导致密钥代理和第二节点之间无法正常通信。具体的,如图10所示,图7所示的方法还包括S1001-S1003。
S1001:密钥代理根据第三验证信息生成第三验证码。
其中,第三验证信息可以包括以下信息中的至少一个:第一密钥,第一密钥材料,第三信息,或密钥代理的标识。第三信息包括以下信息中的至少一个:第一通信域的标识,第一密钥的标识和第二随机数。第三验证码可以用于验证第三验证信息是否被修改。该第三验证码可以是MAC。密钥代理可以采用一种或多种算法对第三验证信息进行计算,得到第三验证码。第二随机数为密钥代理生成的任一随机数,第二随机数与第一随机数相同或不同;或者,第二随机数即为第一随机数。
进一步的,若第三验证信息包括第一密钥,密钥代理在计算第三验证码的过程中可以使用第一密钥,也可以不使用第一密钥。若第三验证信息不包括第一密钥,密钥代理在计算第一验证码的过程中使用第一密钥。
S1002:密钥代理向第二节点发送第三信息和第三验证码。
一种可能的实现方式,密钥代理通过第二安全通道向第二节点发送第三信息和第三验证码。
一种可能的实现方式,S1002之后,密钥代理周期性或非周期性向密钥服务器反馈密钥验证进度。例如,密钥代理向密钥服务器发送第四进度通知信息,第四进度通知信息可以用于指示第二节点和密钥代理之间进行密钥验证的进度。第四进度通知信息可以包括第一通信域的标识和验证第一密钥的进度的指示信息。第四进度通知信息还可以包括第一密钥的类型。
对应的,第二节点接收来自密钥代理的第三信息和第三验证码。进一步的,第二节点通过第二安全通道接收来自密钥代理的第三信息和第三验证码。
S1003:第二节点验证第三验证码。
一种可能的实现方式,第二节点验证第三验证码,包括:第二节点根据第三验证信息生成第三验证码,若第二节点生成的第三验证码与接收到的第三验证码相同,则验证成功;若第二节点生成的第三验证码与接收到的第三验证码不相同,则验证失败。
可以理解的,第二节点采用与密钥代理生成第三验证码时相同的算法对第三验证信息进行计算,得到第三验证码。
一种可能的实现方式,S1003之后,第二节点向密钥代理发送第八通知信息。第八通知信息用于指示第二节点验证第三验证码是否成功。
可以理解的,第二节点可以通过第二安全通道向密钥代理发送第八通知信息。若该第二安全通道为点到多点的安全通道,则第二通信域中的其他第二节点也可以接收到该第八通知信息。其他第二节点可以根据该第八通知信息确定该第二节点验证第三验证码是否成功,也可以忽略该第八通知信息。
一种可能的实现方式,密钥代理接收到来自一个或多个第二节点的第八通知信息后,向密钥服务器发送第一通知信息。第一通知信息可以用于通知第一通信域内的节点的验证结果,例如,该一个或多个第二节点的验证结果。若一个或多个第二节点中的节点验证失败,或在第二预设时长内密钥服务器未接收到第一通知信息,密钥服务器可以重新向密钥代理发送用于配置密钥的信息。
一种可能的实现方式,密钥服务器接收到第一通知信息后,向密钥代理发送响应信息。该响应信息用于指示接收到第一通知信息。若在第三预设时长内未收到该响应信息,密钥代理可以重新发送该响应信息。第一预设时长、第二预设时长和第三预设时长可以相同或不同。
可以理解的,上述S1001-S1003也可以在S801之前执行,S803之后执行,S901之前执行,或S903之后执行,本申请实施例对此不做任何限制。
进一步的,若S1001-S1003在S901之前执行,或S903之后执行,S1001和S901可以合并。也就是说,密钥代理可以生成一次验证码,该验证码既可以用于验证第一密钥在第二节点和密钥代理之间的可用性,又可以验证第一密钥在密钥服务器和密钥代理之间的可用性。
基于图10所示方法,第二节点可以通过第三验证码对第一密钥在第二节点和密钥代理之间的可用性进行验证,以防止第一密钥生成失败或错误,导致第二节点和密钥代理之间无法正常通信。
其中,上述S1001-S1003中的密钥代理或密钥客户端的动作可以由图3所示的获取密钥的装置30中的处理器301调用存储器303中存储的应用程序代码来执行,本申请实施例对此不做任何限制。
可选的,在图10所示方法的一种可能的实现方式中,若密钥代理包括在第一通信域中,密钥代理可以对第一密钥在第二节点和密钥代理之间的可用性进行验证,以防止第一密钥生成失败或错误,导致第二节点和密钥代理之间无法正常通信。具体的,如图11所示,图10所示的方法还包括S1101-S1103。
S1101:第二节点根据第四验证信息生成第四验证码。
其中,第四验证信息可以包括以下信息中的至少一个:第一密钥,第一密钥材料,第四信息,第二节点的标识,或第二随机数。第四信息包括第一通信域的标识,和/或,第一密钥的标识。第四验证码可以用于验证第四验证信息是否被修改。该第四验证码可以是MAC。第二节点可以采用一种或多种算法对第四验证信息进行计算,得到第四验证码。
进一步的,若第四验证信息包括第一密钥,第二节点在计算第四验证码的过程中可以使用第一密钥,也可以不使用第一密钥。若第四验证信息不包括第一密钥,第二节点在计算第四验证码的过程中使用第一密钥。
可以理解的,第四验证信息包括的随机数还可以是第二节点生成的随机数。在这种情况下,第四验证信息包括第一密钥,和/或,第一密钥材料,和/或,第四信息,和/或,第二节点的标识。第四信息包括以下信息中的至少一个:第一通信域的标识,第一密钥的标识或第四随机数。第四随机数为第二节点生成的任一随机数。第四随机数与第二随机数相同或不同。
S1102:第二节点向密钥代理发送第四信息和第四验证码。
一种可能的实现方式,第二节点通过第二安全通道向密钥代理发送第四信息和第四验证码。
对应的,密钥代理接收来自第二节点的第四信息和第四验证码。进一步的,密钥代理通过第二安全通道接收来自第二节点的第四信息和第四验证码。
S1103:密钥代理验证第四验证码。
一种可能的实现方式,密钥代理验证第四验证码,包括:密钥代理根据第四验证信息生成第四验证码,若密钥代理生成的第四验证码与接收到的第四验证码相同,则验证成功;若密钥代理生成的第四验证码与接收到的第四验证码不相同,则验证失败。
一种可能的实现方式,S1103之后,密钥代理向密钥服务器发送第一通知信息。第一通知信息可以用于通知第一通信域内的节点的验证结果,例如,该密钥代理的验证结果。可以理解的,若第一通信域内的节点验证失败,或在第二预设时长内密钥服务器未接收到第一通知信息,密钥服务器可以重新向密钥代理发送用于配置密钥的信息。
一种可能的实现方式,密钥服务器接收到第一通知信息后,向密钥代理发送响应信息。该响应信息用于指示接收到第一通知信息。若在第三预设时长内未收到该响应信息,密钥代理可以重新发送该响应信息。
可以理解的,本申请实施例不限制S1001-S1003,以及S1101-S1103的执行顺序。例如,可以先执行S1001-S1003,再执行S1101-S1103,也可以先执行S1101-S1103,再执行S1001-S1003。
可以理解的,在本申请实施例中,也可以密钥代理和第二节点中有一方对第一密钥的可行性进行验证即可。也就是说,本申请实施例可以不包括S1001-S1003或者S1101-S1103。
可以理解的,上述S1101-S1103也可以在S801之前执行,S803之后执行,S901之前执行,或S903之后执行,本申请实施例对此不做任何限制。
基于图11所示方法,密钥代理可以通过第四验证码对第一密钥在第二节点和密钥代理之间的可用性进行验证,以防止第一密钥生成失败或错误,导致第二节点和密钥代理之间无法正常通信。
其中,上述S1101-S1103中的密钥代理或密钥客户端的动作可以由图3所示的获取密钥的装置30中的处理器301调用存储器303中存储的应用程序代码来执行,本申请实施例对此不做任何限制。
一种可能的实现方式,在执行本申请实施例提供的获取密钥的方法的过程中,例如,S402,S403或S704之后,密钥管理工具、第一终端、第二终端或云端密钥管理中心可以向密钥服务器发送第一请求停止信息。第一请求停止信息可以用于请求停止为第一通信域中的节点配置密钥,第一请求停止信息可以包括智能车的标识和第一通信域的标识。第一请求停止信息还可以包括要停止配置的密钥的类型。密钥服务器接收到第一请求停止信息后,可以向密钥管理工具、第一终端、第二终端或云端密钥管理中心发送第一请求停止信息的响应信息,第一请求停止信息的响应信息可以用于指示密钥服务器接收到第一请求停止信息。或者,密钥服务器接收到第一请求停止信息后,向第一通信域中的各个节点发第二请求停止信息。第二请求停止信息用于指示停止为第一通信域中的节点配置密钥。各个节点接收到第二请求停止信息后,可以向密钥服务器发送第二请求停止信息的响应信息。第二请求停止信息的响应信息可以用于指示已停止配置密钥。密钥服务器接收到各个节点的第二请求停止信息的响应信息后,向密钥管理工具、第一终端、第二终端或云端密钥管理中心发送第一请求停止信息的响应信息。第一请求停止信息的响应信息可以用于指示第一通信域中的各个节点已停止配置密钥。第一请求停止信息的响应信息可以包括智能车的标识,第一通信域的标识。进一步的,第一请求停止信息的响应信息还可以包括要停止配置的密钥的类型和/或已停止配置密钥的指示信息。
一种可能的实现方式,在执行完成本申请实施例提供的获取密钥的方法后,密钥服务器可以向密钥管理工具、第一终端、第二终端或云端密钥管理中心发送第四完成信息。第四完成信息可以用于指示第一通信域中的节点配置密钥完成。第四完成信息可以包括智能车的标识和第一通信域的标识。第四完成信息还可以包括第一密钥的类型。密钥管理工具、第一终端、第二终端或云端密钥管理中心接收到第四完成信息后,可以向密钥服务器发送第四完成信息的响应信息。第四完成信息的响应信息用于指示接收到该第四完成信息。第四完成信息的响应信息可以包括智能车的标识和/或第一通信域中的节点配置密钥完成的指示信息。
一种可能的实现方式,密钥服务器和第一节点在进行密钥验证的过程中,例如,S502,S602,S803,或S901之后,密钥服务器可以向第一节点发送第三请求停止信息。第三请求停止信息可以用于请求停止密钥验证,第三请求停止信息可以包括第一通信域的标识和要停止验证的密钥的标识。第三请求停止信息还可以包括要停止验证的密钥的类型。第一节点接收到第三请求停止信息后,可以向密钥服务器发送第三请求停止信息的响应信息,第三请求停止信息的响应信息可以用于指示接收到第三请求停止信息。或者,第一节点接收到第三请求停止信息后,向第二节点发第四请求停止信息。第四请求停止信息用于指示停止密钥验证。第二节点接收到第四请求停止信息后,可以向第一节点发送第四请求停止信息的响应信息。第四请求停止信息的响应信息可以用于指示已停止验证密钥。第一节点接收到第二节点的第四请求停止信息的响应信息后,向密钥服务器发送第三请求停止信息的响应信息。第三请求停止信息的响应信息可以用于指示第一通信域中的各个节点已停止验证密钥。第三请求停止信息的响应信息可以包括第一通信域的标识和要停止验证的密钥的标识。进一步的,第三请求停止信息的响应信息还可以包括要停止验证的密钥的类型和/或已停止验证密钥的指示信息。
下面以第一通信域包括密钥服务器、密钥代理和密钥客户端,密钥服务器部署在图2A的网关202上,密钥代理部署在图2A的MDC 205上,密钥客户端部署在图2A的ECU 211上为例,对本申请实施例提供的获取密钥的方法进行具体阐述。
如图12所示,为本申请实施例提供的又一种获取密钥的方法,该方法可以应用于图2A中的智能车20。该获取密钥的方法包括S1201-S1217。
S1201:网关202获取第一密钥信息。
S1202:网关202向MDC 205发送第一密钥的信息。
S1203:MDC 205根据第一密钥信息生成第一密钥。
S1204:MDC 205向ECU 211发送第一密钥材料和第一通信域的标识。
S1205:ECU 211根据第一密钥材料生成第一密钥。
上述S1201-S1205的具体过程可以参考上述S701-S705中对应的描述,在此不做赘述。
S1206:网关202根据第一验证信息生成第一验证码。
S1207:网关202向MDC 205发送第一信息和第一验证码。
S1208:MDC 205验证第一验证码。
上述S1206-S1208的具体过程可以参考上述S801-S803中对应的描述,此处不再赘述。
S1209:MDC 205根据第二验证信息生成第二验证码。
S1210:MDC 205向网关202发送第二信息和第二验证码。
S1211:网关202验证第二验证码。
上述S1209-S1211的具体过程可以参考上述S901-S903中对应的描述,此处不再赘述。
S1212:MDC 205根据第三验证信息生成第三验证码。
S1213:MDC 205向ECU 211发送第三信息和第三验证码。
S1214:ECU 211验证第三验证码。
上述S1212-S1214的具体过程可以参考上述S1001-S1003中对应的描述,此处不再赘述。
S1215:ECU 211根据第四验证信息生成第四验证码。
S1216:ECU 211向MDC 205发送第四信息和第四验证码。
S1217:MDC 205验证第四验证码。
上述S1215-S1217的具体过程可以参考上述S1101-S1103中对应的描述,此处不再赘述。
基于图12所示的方法,网关202可以为第一通信域中的网关202,MDC 205和ECU211配置第一密钥,后续,网关202,MDC 205和ECU 211可以通过该第一密钥进行通信。一方面,该第一密钥是由网关202,MDC 205和ECU 211保存,不易泄漏,即便泄漏了,也不会影响其他通信域的安全,因此可以提高通信安全。另一方面,网关202可以随时更新各设备的密钥,十分便捷。另外,第一密钥占用的存储空间较小,不会增加密钥管理系统中节点的软硬件成本。第一密钥也不需要车厂进行管理,不会增加车厂的管理成本。而且网关202,MDC205和ECU 211可以相互验证第一密钥的可用性,以防止第一密钥生成失败或错误,导致网关202,MDC 205和ECU 211之间无法正常通信。
一种可能的实现方式,本申请实施例中,密钥服务器还可以对密钥管理系统当前所处的状态进行标记,使得用户了解密钥管理系统当前所处的状态。为了避免各种异常,例如智能车掉电重启,导致标记的状态信息丢失,可以将该状态信息存储在密钥服务器的非易失性存储区。进一步的,该状态信息可以包括构建状态信息,构建类型(build type)信息和构建阶段(build stage)信息。构建状态信息可以用于指示未构建状态、正在构建状态或构建完成状态。构建类型信息可以用于指示密钥管理系统初次构建,通信域的密钥更新阶段或智能车中设备更换阶段。构建阶段信息可以用于指示固定密钥灌装阶段、通信域的长期密钥构建阶段或通信域的临时密钥构建阶段。
示例性的,在初次使用智能车,准备执行S1的情况下,构建状态信息可以指示未构建状态,构建类型信息可以指示密钥管理系统初次构建,构建阶段信息可以指示固定密钥灌装阶段。在更新第一通信域的密钥,执行S402或S703的情况下,构建状态信息可以指示正在构建状态,构建类型信息可以指示通信域的密钥更新阶段,构建阶段信息可以指示通信域的长期密钥构建阶段或通信域的临时密钥构建阶段。在智能车中设备更换的过程中,所有需要配置密钥的通信域中的设备都执行完S603或S1103的情况下,构建状态信息可以指示构建完成状态,构建类型信息可以指示智能车中设备更换阶段,构建阶段信息可以指示通信域的长期密钥构建阶段或通信域的临时密钥构建阶段。
可以理解的,在正在构建状态下,还可以附加一些状态信息,例如,当前构建的是哪个通信域,或当前构建的是哪个通信域的哪个节点等。
上述图4-图11所示的实施例中,密钥服务器、密钥客户端、密钥管理工具和云端密钥管理中心之间传输的信息(例如,第一请求信息,第一密钥信息等)的功能、消息类型(message type)、操作类型(operation type)、类别不同。其中,信息按照不同的功能可以分为请求信息、响应信息和通知信息。其中,请求信息可以用于获取某些信息。一个响应信息可以与一个请求信息对应,用于返回请求的信息。通知信息可以用于通知当前状态、对某一操作的处理结果或某一操作的进展等。本申请实施例涉及的消息类型,每个消息类型的值(value),以及每个消息类型的含义可以如表17所示。
表17
本申请实施例涉及的操作类型,每个操作类型的值,以及每个操作类型的含义可以如表18所示。
表18
本申请实施例中,信息的类别包括第一类信息和第二类信息。第一类信息为密钥管理系统的内部节点与密钥管理系统的外部节点之间通信的信息,可以用于1表示。第二类信息为密钥管理系统的内部节点之间通信的信息,可以用2表示。其中,密钥管理系统的内部节点可以包括密钥服务器、密钥代理或密钥客户端。密钥管理系统的外部节点可以包括密钥管理工具、云端密钥管理中心或第一终端等。
进一步的,第一类信息可以包括多个字段,例如,消息标识(message ID)字段、消息长度(length)字段、密钥管理系统的版本号(version)字段、消息类型字段、消息标记(flags)字段、下一个有效载荷(next payload)字段、源应用类型(source APP type)字段、目的应用类型(destination APP type)字段和消息内容(message content)字段。第二类信息可以包括多个字段,例如,消息标识字段、消息长度字段、密钥管理系统的版本号字段、消息类型字段、消息标记(flags)字段、下一个有效载荷(next payload)字段、源设备标识(source device ID)字段、目的设备标识(destination device ID)字段和消息内容(message content)字段。示例性的,第一类信息的消息格式和第二类信息的消息格式可以如图13所示。本申请实施例不限制上述每个字段包括的比特数。
其中,消息标识字段可以指示消息标识。消息标识可以是密钥管理系统的业务消息的消息序列号,可以协助识别一个响应信息对应的请求信息,还可以在请求信息超时后,识别该请求信息并重传该请求信息。消息长度字段可以指示第一类信息或第二类信息的消息长度。密钥管理系统的版本号字段可以指示密钥管理系统的版本号。消息类型字段可以指示消息类型。消息标记字段可以指示该信息的功能,例如指示该信息是请求信息还是响应信息,消息标记字段还可以指示操作类型。例如,消息标记字段中的第一个比特用于指示该信息是请求信息还是响应信息,消息标记字段中的其他比特用于指示操作类型。下一个有效载荷字段也可以称为下一个TLV(type,length,value)类型字段,可以指示消息内容字段中第一个payload的TLV类型(TLV type)。源应用类型字段可以指示源应用的类型。目的应用类型字段可以指示目的应用的类型。源应用的类型和目的应用的类型可以包括云端密钥管理中心(CloudKeyManagerCenter),密钥管理工具(KeyManagerTool),第一终端(UserAppTool)或密钥管理系统中的节点(InCarKMS)。消息内容字段可以指示第一类信息或第二类信息的内容。源设备标识字段可以指示源设备的标识。目的设备标识字段可以指示目的设备的标识。可以理解的,智能车中设备的标识在智能车中是唯一的。不同智能车中,相同设备的标识可以相同也可以不同。例如,CDC在智能车1中的标识和CDC在智能车2中的标识可以相同也可以不同。
进一步的,目的设备标识字段还可以指示第二类信息的通信方式。第二类信息的通信方式包括点到点通信或点到多点通信。其中,点到点通信还可以称为单播通信,点到多点通信还可以称为广播通信。例如,若目的设备标识字段全为0或全为F,则表示第二类信息的通信方式包括点到多点通信。
进一步的,若发送方通过点到多点的方式向接收方发送一个请求信息,接收方接收到该请求信息后,可以通过点到多点的方式向发送方发送一个响应信息。除了该接收方之外的其他接收方接收到该响应信息后,可以忽略该响应信息。在上述过程中,该请求信息对应的目的设备标识字段全为0或全为F,该请求信息对应的源设备标识字段为发送方的标识。该响应信息对应的目的设备标识字段为发送方的标识,该响应信息对应的源设备标识字段为接收方的标识。进一步的,若发送方在第四预设时长内未接收到响应信息,则发送方可以重新向接收方发送该请求信息。此时,发送方仍可以通过点到多点的方式向接收方发送请求信息,发送方也可以通过点到点的方式向接收方发送请求信息。在发送方通过点到多点的方式向接收方发送请求信息的情况下,对于已经发送了响应信息的接收方,该接收方可以忽略该请求信息,也可以再次向发送方发送响应信息。在发送方通过点到点的方式向接收方发送请求信息的情况下,对于已经发送了响应信息的接收方,发送方可以向该接收方再次发送请求信息,也可以不向该接收方再次发送请求信息。若发送方向该接收方法再次发送请求信息,该接收方接收到该请求信息后,可以忽略该请求信息,也可以再次向发送方发送响应信息。可以理解的,若发送方通过点到点的方式多次向接收方发送请求信息后,都没有接收到接收方的响应信息,可以确认该接收方处于异常状态。
可以理解的,TLV类型不同,TLV的格式也不同,因此下一个有效载荷字段指示了消息内容字段中第一个payload的TLV类型后,接收信息的节点可以根据下一个有效载荷字段指示的TLV类型解析消息内容字段中第一个payload。
其中,TLV的格式可以包括TLV头(TLV Header)和TLV数据(TLV Data)。TLV的格式可以可以称为TLV的payload。TLV Header可以包括TLV类型字段、保留(reserved)字段和TLV长度字段。TLV类型字段可以指示下一个TLV的TLV类型,接收信息的节点可以根据TLV类型字段指示的TLV类型解析下一个TLV。保留字段可以用于以后对该TLV格式的扩展。TLV长度字段可以指示TLV长度,即TLV Header和TLV Data的长度。TLV类型,每个TLV类型的值,以及每个TLV类型的含义可以如表19所示。可以理解的,不同TLV类型对应的TLV数据不同。
表19
示例性的,TLV的格式可以如图14所示。图14中,Vehicle No的格式(VehicleNoPyld)包括TLV Header和Vehicle No字段。Vehicle No字段用于指示车辆编号。车辆编号也可以称为车辆标识,智能车的标识等。不同的车厂,车辆编号规则可能不一样,车辆编号所需的比特数也可能不一样。因此车辆编号定义了单独的TLV,具体编号由各车厂制定。
图14中,Security Domain Info的格式(SecDomainPyld)包括TLV Header,密钥类型(key type)字段,和通信域的标识(SecDomainID)字段。其中,密钥类型字段、每个密钥类型的值以及每个密钥类型的含义可以如表20所示。通信域的标识字段用于指示通信域的标识。不同智能车的通信域的标识的定义方式或值可以相同、也可以不同。同一个智能车内的不同通信域的标识不同。通信域的标识的定义方式或值可以由车厂定义。进一步的,Security Domain Info的格式还可以包括设备标识(Device ID)字段。设备标识字段用于指示设备标识。对于不同智能车的相同设备,设备标识可以相同,也可以不同。同一智能车内,不同设备的设备标识不同。
表20
密钥类型 | 密钥类型的值 | 密钥类型的含义 |
Reserved | 0 | 预留,同时表示该信息不需要密钥类型。 |
GlobalFixKey | 1 | 使用范围为整车的固定密钥 |
GlobalLongTermKey | 2 | 使用范围为整车的长期密钥 |
SecDomainFixKey | 3 | 通信域对应的固定密钥 |
SecDomainLongTermKey | 4 | 通信域对应的长期密钥 |
图14中,Key Security Domain的格式(KeySecDomPyld)包括TLV Header,密钥类型字段,通信域标识字段和密钥的标识(key ID)字段。进一步的,Key Security Domain的格式还可以包括设备标识字段。
图14中,Key Material的格式(KeyMatPyld)包括TLV Header,密钥材料类型(keymaterial type,KeyMat Type)字段,KDF标识(KDF ID)字段,密钥的标识字段,和随机数或密钥(Nonce_K or Key)字段。其中,密钥材料类型,每个密钥材料类型的值以及每个密钥材料类型的含义可以如表21所示。随机数或密钥字段用于指示用于生成密钥的随机数(例如,第一密钥材料或第二密钥材料)或密钥(例如,第一密钥或第二密钥)。进一步的,KeyMaterial的格式还可以包括更新前的密钥的标识(Old Key ID)字段。更新前的密钥的标识字段用于指示更新前的密钥的标识。
表21
图14中,KDF标识(KDF ID)字段用于指示KDF标识。KDF标识,KDF标识的值以及KDF标识的含义可以如表22所示。
表22
图14中,Key Confirmed的格式(KeyConPyld)包括TLV Header,密钥类型字段,密钥的标识字段和MAC字段。其中,MAC字段用于指示计算得到的MAC。进一步的,KeyConfirmed的格式还可以包括更新前的密钥的标识字段。
图14中,Key Validate的格式(KeyValidPyld)包括TLV Header,密钥类型字段,通信域的标识字段,密钥的标识字段,随机数字段和MAC字段。其中,随机数字段用于指示用于密钥验证的随机数(例如,第一随机数或第二随机数)。MAC字段用于指示计算得到的MAC。Key Validate的格式中的MAC的计算方法与Key Confirmed的格式中的MAC的计算方法可以相同也可以不同。进一步的,Key Validate的格式还可以包括设备标识字段。
图14中,Key Remain Time的格式(KeyRemTmPyld)包括TLV Header,密钥类型字段,密钥的标识,剩余超时天数(Remain Days)字段和剩余超时时间(Remain time(s))字段。剩余超时天数字段用于指示密钥有效的剩余天数,例如,若剩余超时天数字段指示30天,则表示密钥将在30天后失效。剩余超时时间字段用于指示密钥有效天数不足一天的情况下,密钥有效的剩余时长,例如,若剩余超时时间字段指示5小时30分,则表示密钥将在5小时30分后失效。
图14中,Progress的格式(ProgPyld)包括TLV Header,构建类型(build type)字段,构建阶段(build stage)字段,当前构建的通信域的标识(CurSecDomainID)字段,当前设备的标识(CurDeviceID)字段,完成数量(Finished Nums)字段和剩余数量(RemainNums)字段。其中,构建类型字段用于指示构建类型,例如,密钥管理系统初次构建,通信域的密钥更新阶段或智能车中设备更换阶段。构建阶段字段用于指示构建阶段,例如,固定密钥灌装阶段、通信域的长期密钥构建阶段或通信域的临时密钥构建阶段。当前构建的通信域的标识字段用于指示正在构建密钥的通信域的标识。当前设备的标识字段用于指示正在构建密钥的设备的标识。完成数量字段用于指示完成密钥构建的通信域或设备的数量。剩余数量字段用于指示未完成密钥构建的通信域或设备的数量。
图14中,Nonce的格式(NoncePyld)包括TLV Header和随机数字段。其中,随机数字段用于指示随机数。该随机数可以用于生成密钥,也可以用于密钥验证。
图14中,Result的格式(ResultPyld)包括TLV Header和结果状态(resultstatus)字段。其中,结果状态字段用于指示构建密钥的结果,例如,构建成功或构建失败。进一步的,Result的格式还可以包括错误代码(error code)字段。错误代码字段可以在构建密钥失败的情况下,指示构建失败的原因对应的错误代码。
可以理解的,本申请实施例不限制上述各种TLV的格式中包括的字段的数量,也不限制每个字段包括的比特数。示例性的,TLV的格式可以包括比图14所示的任一格式包括的字段更多或更少的字段。不同TLV的格式包括的相同字段中的比特数可以相同,也可以不同。例如,Key Security Domain的格式中密钥类型字段包括的比特数,与Key Remain Time的格式中密钥类型字段包括的比特数可以相同,也可以不同。
请参考表23,表23为本申请实施例提供的密钥服务器、密钥客户端、密钥管理工具和云端密钥管理中心之间传输的信息、信息的功能、信息的消息类型、信息的操作类型、信息的类别、信息的应用场景和信息的TLV的格式的对应关系。其中,操作类型中的NA表示信息不涉及操作类型,或者表示信息没有对应的操作类型。在这种情况下,若该信息的功能是响应,可以通过该信息中的消息标记字段识别该信息是响应信息。NULL表示不使用TLV的格式。
表23
上述主要从各个网元之间交互的角度对本申请实施例提供的方法进行了介绍。可以理解的是,上述密钥服务器,密钥代理或者密钥客户端等为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法操作,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对密钥服务器,密钥代理或者密钥客户端进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
比如,以采用集成的方式划分各个功能模块的情况下,图15示出了一种获取密钥的装置150的结构示意图。获取密钥的装置150包括处理单元1501和收发单元1502。
示例性地,获取密钥的装置150用于实现密钥服务器的功能。获取密钥的装置150例如为图4所示的实施例-图11所示的实施例所述的密钥服务器。
在本申请实施例中,获取密钥的装置150可以是密钥服务器,也可以是应用于密钥服务器中的芯片或者其他具有上述密钥服务器功能的组合器件、或部件等。当获取密钥的装置150是密钥服务器时,处理单元1501可以是处理器(或者,处理电路),例如基带处理器,基带处理器中可以包括一个或多个CPU,收发单元1502可以是收发器,收发器可以包括天线和射频电路等。当获取密钥的装置150是具有上述密钥服务器功能的部件时,处理单元1501可以是处理器(或者,处理电路),例如基带处理器,收发单元1502可以是射频单元。当获取密钥的装置150是芯片系统时,处理单元1501可以是芯片系统的处理器(或者,处理电路),可以包括一个或多个中央处理单元,收发单元1502可以是芯片(例如基带芯片)的输入输出接口。应理解,本申请实施例中的处理单元1501可以由处理器或处理器相关电路组件(或者,称为处理电路)实现,收发单元1502可以由收发器或收发器相关电路组件实现。
例如,处理单元1501可以用于执行图4所示的实施例中由密钥服务器所执行的除了收发操作之外的全部操作,例如S401和/或用于支持本文所描述的技术的其它过程。收发单元1502可以用于执行图4所示的实施例中由密钥服务器所执行的全部收发操作,例如S402和/或用于支持本文所描述的技术的其它过程。
其中,处理单元1501,用于获取第一密钥信息,第一密钥信息包括第一密钥材料和第一通信域的标识,第一密钥材料用于生成第一密钥,第一通信域的标识用于指示第一通信域,第一密钥应用于第一通信域,第一通信域包括密钥管理系统中的至少两个节点,至少两个节点包括该第一节点。
收发单元1502,用于向第一节点发送该第一密钥信息。
一种可能的实现方式,第一通信域是根据以下至少一个信息确定的:密钥管理系统中节点的连接方式,密钥管理系统中节点的功能,或密钥管理系统中通信信息的类型。
一种可能的实现方式,处理单元1501,还用于根据第一验证信息生成第一验证码,第一验证信息包括以下信息中的至少一个:第一密钥,第一密钥材料,第一信息,或获取密钥的装置150的标识,第一信息包括以下信息中的至少一个:第一通信域的标识,第一密钥的标识或第一随机数;收发单元1502,还用于向第一节点发送该第一信息和该第一验证码。
一种可能的实现方式,收发单元1502,还用于接收来自第一节点的第二信息和第二验证码,第二验证码是根据第二验证信息生成的,第二验证信息包括以下信息中的至少一个:第一密钥,第一密钥材料,第二信息,第一节点的标识,或第一随机数,第二信息包括第一通信域的标识,和/或,第一密钥的标识;处理单元1501,还用于验证第二验证码。
一种可能的实现方式,处理单元1501,还用于根据第一协议与第一节点建立第一安全通道,第一安全通道用于传输获取密钥的装置150与第一节点之间的信息。
一种可能的实现方式,第一节点的数量大于1,第一安全通道包括获取密钥的装置150与每个第一节点的点到点的安全通道;或者,第一安全通道包括获取密钥的装置150与每个第一节点的点到多点的安全通道;或者,第一安全通道包括获取密钥的装置150与一部分第一节点的点到点的安全通道,以及获取密钥的装置150与另一部分第一节点的点到多点的安全通道。
一种可能的实现方式,第一节点为密钥代理,密钥管理系统还包括与第一节点通信连接的第二节点,第二节点为密钥客户端。
一种可能的实现方式,第二节点包括在第一通信域中。
一种可能的实现方式,收发单元1502,还用于接收来自第一节点的第一通知信息,第一通知信息用于通知该第一通信域内的节点的验证结果。
一种可能的实现方式,处理单元1501,还用于获取第一配置信息,第一配置信息用于指示以下信息中的至少一种:密钥管理系统中节点的标识,密钥管理系统中节点的连接方式,或与密钥管理系统中节点通信的其他节点的信息。
一种可能的实现方式,收发单元1502,还用于向第一节点发送第二配置信息,第二配置信息用于指示以下信息中的至少一种:第一节点的标识,第一节点的连接方式,或与第一节点通信的其他节点的信息。
一种可能的实现方式,第一节点为密钥代理,密钥管理系统还包括与第一节点通信连接的第二节点,第二节点为密钥客户端,第二配置信息还用于指示以下信息中的至少一种:第二节点的标识,第二节点的连接方式,或与第二节点通信的其他节点的信息。
一种可能的实现方式,处理单元1501,还用于根据第一配置信息确定获取密钥的装置150所在的通信域的信息,获取密钥的装置150所在的通信域的信息用于指示以下信息中的至少一项:获取密钥的装置150所在的通信域的标识该获取密钥的装置150所在的通信域中节点的通信方式,获取密钥的装置150与获取密钥的装置150所在的通信域中除获取密钥的装置150之外的节点的连接方式,获取密钥的装置150所在的通信域中除获取密钥的装置150之外的其他节点的信息,或构建获取密钥的装置150所在的通信域的密钥的密钥信息。
一种可能的实现方式,收发单元1502,还用于接收来自密钥管理工具的第一确认信息;或者,收发单元1502,还用于接收来自第一终端的第一确认信息;或者,收发单元1502,还用于接收来自第二终端的第一确认信息;其中,第一确认信息用于触发获取密钥的装置150获取第一密钥信息。
一种可能的实现方式,第一协议包括传输层安全协议、因特网密钥交换协议、超文本传输安全协议、数据包传输层安全性协议或自定义协议。
当用于实现密钥服务器的功能时,关于获取密钥的装置150所能实现的其他功能,可参考图4所示的实施例-图11所示的实施例的相关介绍,不多赘述。
比如,以采用集成的方式划分各个功能模块的情况下,图16示出了一种获取密钥的装置160的结构示意图。获取密钥的装置160包括收发单元1601和处理单元1602。
示例性地,获取密钥的装置160用于实现第一节点的功能。例如,获取密钥的装置160为图4所示的实施例-图6所示的实施例所述的密钥客户端。又例如,获取密钥的装置160为图7所示的实施例-图11所示的实施例所述的密钥代理。
在本申请实施例中,获取密钥的装置160可以是密钥客户端/密钥代理,也可以是应用于密钥客户端/密钥代理中的芯片或者其他具有上述密钥客户端/密钥代理功能的组合器件、或部件等。当获取密钥的装置160是密钥客户端/密钥代理时,收发单元1601可以是收发器,收发器可以包括天线和射频电路等,处理单元1602可以是处理器(或者,处理电路),例如基带处理器,基带处理器中可以包括一个或多个CPU。当获取密钥的装置160是具有上述密钥客户端/密钥代理功能的部件时,收发单元1601可以是射频单元,处理单元1602可以是处理器(或者,处理电路),例如基带处理器。当获取密钥的装置160是芯片系统时,收发单元1601可以是芯片(例如基带芯片)的输入输出接口,处理单元1602可以是芯片系统的处理器(或者,处理电路),可以包括一个或多个中央处理单元。应理解,本申请实施例中的收发单元1601可以由收发器或收发器相关电路组件实现,处理单元1602可以由处理器或处理器相关电路组件(或者,称为处理电路)实现。
例如,收发单元1601可以用于执行图4所示的实施例中由密钥客户端所执行的全部收发操作,例如S402和/或用于支持本文所描述的技术的其它过程。处理单元1602可以用于执行图4所示的实施例中由密钥客户端所执行的除了收发操作之外的全部操作,例如S403和/或用于支持本文所描述的技术的其它过程。
又例如,收发单元1601可以用于执行图7所示的实施例中由密钥代理所执行的全部收发操作,例如S702和S704,和/或用于支持本文所描述的技术的其它过程。处理单元1602可以用于执行图7所示的实施例中由密钥代理所执行的除了收发操作之外的全部操作,例如S703和/或用于支持本文所描述的技术的其它过程。
其中,收发单元1601,用于接收来自密钥服务器的第一密钥的信息,第一密钥的信息包括第一密钥材料和第一通信域的标识,第一通信域的标识用于指示第一通信域。
处理单元1602,用于根据第一密钥材料生成第一密钥,第一密钥应用于第一通信域,第一通信域包括密钥管理系统中的至少两个节点,至少两个节点包括获取密钥的装置160。
一种可能的实现方式,第一通信域是根据以下至少一个信息确定的:密钥管理系统中节点的连接方式,密钥管理系统中节点的功能,或密钥管理系统中通信信息的类型。
一种可能的实现方式,收发单元1601,还用于接收来自密钥服务器的第一信息和第一验证码,第一验证码是根据第一验证信息生成的,第一验证信息包括以下信息中的至少一个:第一密钥,第一密钥材料,第一信息,或密钥服务器的标识,第一信息包括以下信息中的至少一个:第一通信域的标识,第一密钥的标识或第一随机数;收发单元1601,还用于验证第一验证码。
一种可能的实现方式,处理单元1602,还用于根据第二验证信息生成第二验证码,第二验证信息包括以下信息中的至少一个:第一密钥,第一密钥材料,第二信息,获取密钥的装置160的标识,或第一随机数,第二信息包括第一通信域的标识,和/或,第一密钥的标识;收发单元1601,还用于向密钥服务器发送第二信息和第二验证码。
一种可能的实现方式,处理单元1602,还用于根据第一协议与密钥服务器建立第一安全通道,第一安全通道用于传输该密钥服务器与获取密钥的装置160之间的信息。
一种可能的实现方式,获取密钥的装置160的数量大于1,第一安全通道包括密钥服务器与每个获取密钥的装置160的点到点的安全通道;或者,第一安全通道包括密钥服务器与每个获取密钥的装置160的点到多点的安全通道;或者,第一安全通道包括密钥服务器与一部分获取密钥的装置160的点到点的安全通道,以及密钥服务器与另一部分获取密钥的装置160的点到多点的安全通道。
一种可能的实现方式,获取密钥的装置160为密钥代理,密钥管理系统还包括与获取密钥的装置160通信连接的第二节点,第二节点为密钥客户端。
一种可能的实现方式,第二节点包括在该第一通信域中;收发单元1601,还用于向第二节点发送第一密钥材料和第一通信域的标识。
一种可能的实现方式,处理单元1602,还用于根据第三验证信息生成第三验证码,第三验证信息包括以下信息中的至少一个:第一密钥,第一密钥材料,第三信息,或获取密钥的装置160的标识,第三信息包括以下信息中的至少一个:第一通信域的标识,第一密钥的标识或第二随机数;收发单元1601,还用于向第二节点发送第三信息和第三验证码。
一种可能的实现方式,收发单元1601,还用于接收来自第二节点的第四信息和第四验证码,第四验证码是根据第四验证信息得到,第四验证信息包括以下信息中的至少一个:第一密钥,第一密钥材料,第四信息,第二节点的标识,或第二随机数,第四信息包括第一通信域的标识,和/或,第一密钥的标识;处理单元1602,还用于验证该第四验证码。
一种可能的实现方式,收发单元1601,还用于向密钥服务器发送第一通知信息,第一通知信息用于通知第一通信域内的节点的验证结果。
一种可能的实现方式,处理单元1602,还用于根据第一协议与第二节点建立第二安全通道,第二安全通道用于传输该获取密钥的装置160与第二节点之间的信息。
一种可能的实现方式,第二节点的数量大于1,第二安全通道包括获取密钥的装置160与每个第二节点的点到点的安全通道;或者,第二安全通道包括获取密钥的装置160与每个第二节点的点到多点的安全通道;或者,第二安全通道包括获取密钥的装置160与一部分第二节点的点到点的安全通道,以及获取密钥的装置160与另一部分第二节点的点到多点的安全通道。
一种可能的实现方式,收发单元1601,还用于接收来自密钥服务器的第二配置信息,第二配置信息用于指示以下信息中的至少一种:获取密钥的装置160的标识,获取密钥的装置160的连接方式,或与获取密钥的装置160通信的其他节点的信息。
一种可能的实现方式,获取密钥的装置160为密钥代理,密钥管理系统还包括与获取密钥的装置160通信连接的第二节点,第二节点为密钥客户端,第二配置信息还用于指示以下信息中的至少一种:第二节点的标识,第二节点的连接方式,或与第二节点通信的其他节点的信息;收发单元1601,还用于向第二节点发送第三配置信息,第三配置信息用于指示以下信息中的至少一种:第二节点的标识,第二节点的连接方式,或与第二节点通信的其他节点的信息。
一种可能的实现方式,处理单元1602,还用于根据第二配置信息确定获取密钥的装置160所在通信域的信息,获取密钥的装置160所在的通信域的信息用于指示以下信息中的至少一项:获取密钥的装置160所在的通信域的标识,获取密钥的装置160所在的通信域中节点的通信方式,获取密钥的装置160与获取密钥的装置160所在的通信域中除获取密钥的装置160之外的节点的连接方式,获取密钥的装置160所在的通信域中除获取密钥的装置160之外的其他节点的信息,或构建获取密钥的装置160所在的通信域的密钥的密钥信息。
一种可能的实现方式,第一协议包括传输层安全协议、因特网密钥交换协议、超文本传输安全协议、数据包传输层安全性协议或自定义协议。
当用于实现第一节点的功能时,关于获取密钥的装置160所能实现的其他功能,可参考图4所示的实施例-图11所示的实施例的相关介绍,不多赘述。
或者,示例性地,获取密钥的装置160用于实现第二节点的功能。获取密钥的装置160例如为图7所示的实施例-图11所示的实施例所述的第二节点。
在本申请实施例中,获取密钥的装置160可以是第二节点,也可以是应用于第二节点中的芯片或者其他具有上述第二节点功能的组合器件、或部件等。当获取密钥的装置160是第二节点时,收发单元1601可以是收发器,收发器可以包括天线和射频电路等,处理单元1602可以是处理器(或者,处理电路),例如基带处理器,基带处理器中可以包括一个或多个CPU。当获取密钥的装置160是具有上述第二节点功能的部件时,收发单元1601可以是射频单元,处理单元1602可以是处理器(或者,处理电路),例如基带处理器。当获取密钥的装置160是芯片系统时,收发单元1601可以是芯片(例如基带芯片)的输入输出接口,处理单元1602可以是芯片系统的处理器(或者,处理电路),可以包括一个或多个中央处理单元。应理解,本申请实施例中的收发单元1601可以由收发器或收发器相关电路组件实现,处理单元1602可以由处理器或处理器相关电路组件(或者,称为处理电路)实现。
例如,收发单元1601可以用于执行图7所示的实施例中由第二节点所执行的全部收发操作,例如S704和/或用于支持本文所描述的技术的其它过程。处理单元1602可以用于执行图7所示的实施例中由第二节点所执行的除了收发操作之外的全部操作,例如S705和/或用于支持本文所描述的技术的其它过程。
其中,收发单元1601,用于接收来自密钥代理的第一密钥材料和第一通信域的标识,第一通信域的标识用于指示第一通信域。
处理单元1602,用于根据第一密钥材料生成第一密钥,第一密钥应用于第一通信域,第一通信域包括密钥管理系统中的至少两个节点,至少两个节点包括获取密钥的装置160。
一种可能的实现方式,第一通信域是根据以下至少一个信息确定的:密钥管理系统中节点的连接方式,密钥管理系统中节点的功能,或密钥管理系统中通信信息的类型。
一种可能的实现方式,收发单元1601,还用于接收来自密钥代理的第三信息和第三验证码,第三验证码是根据第三验证信息得到,第三验证信息包括以下信息中的至少一个:第一密钥,第一密钥材料,第三信息,或密钥代理的标识,第三信息包括以下信息中的至少一个:第一通信域的标识,第一密钥的标识或第二随机数;处理单元1602,还用于验证第三验证码。
一种可能的实现方式,处理单元1602,还用于根据第四验证信息生成第四验证码,第四验证信息包括以下信息中的至少一个:第一密钥,第一密钥材料,第四信息,获取密钥的装置160的标识,或第二随机数,第四信息包括第一通信域的标识,和/或,第一密钥的标识;收发单元1601,还用于向密钥代理发送第四信息和第四验证码。
一种可能的实现方式,处理单元1602,还用于根据第一协议与密钥代理建立第二安全通道,第二安全通道用于传输获取密钥的装置160与密钥代理之间的信息。
一种可能的实现方式,获取密钥的装置160的数量大于1;第二安全通道包括密钥代理与每个获取密钥的装置160的点到点的安全通道;或者,第二安全通道包括密钥代理与每个获取密钥的装置160的点到多点的安全通道;或者,第二安全通道包括密钥代理与一部分获取密钥的装置160的点到点的安全通道,以及密钥代理与另一部分获取密钥的装置160的点到多点的安全通道。
一种可能的实现方式,收发单元1601,还用于接收来自密钥代理的第三配置信息,第三配置信息用于指示以下信息中的至少一种:获取密钥的装置160的标识,获取密钥的装置160的连接方式,或与获取密钥的装置160通信的其他节点的信息。
一种可能的实现方式,处理单元1602,还用于根据第三配置信息确定获取密钥的装置160所在通信域的信息,获取密钥的装置160所在的通信域的信息用于指示以下信息中的至少一项:获取密钥的装置160所在的通信域的标识,获取密钥的装置160所在的通信域中节点的通信方式,获取密钥的装置160与获取密钥的装置160所在的通信域中除获取密钥的装置160之外的节点的连接方式,获取密钥的装置160所在的通信域中除获取密钥的装置160之外的其他节点的信息,或构建获取密钥的装置160所在的通信域的密钥的密钥信息。
一种可能的实现方式,第一协议是传输层安全协议、因特网密钥交换协议、超文本传输安全协议、数据包传输层安全性协议或自定义协议。
当用于实现第二节点的功能时,关于获取密钥的装置160所能实现的其他功能,可参考图7所示的实施例-图11所示的实施例的相关介绍,不多赘述。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (80)
1.一种获取密钥的方法,其特征在于,所述方法应用于密钥管理系统,所述密钥管理系统包括密钥服务器,以及与所述密钥服务器通信连接的第一节点,所述第一节点为密钥客户端或密钥代理,所述方法包括:
所述密钥服务器获取第一密钥信息,所述第一密钥信息包括第一密钥材料和第一通信域的标识,所述第一密钥材料用于生成所述第一密钥,所述第一通信域的标识用于指示第一通信域,所述第一密钥应用于所述第一通信域,所述第一通信域包括所述密钥管理系统中的至少两个节点,所述至少两个节点包括所述第一节点;
所述密钥服务器向所述第一节点发送所述第一密钥信息。
2.根据权利要求1所述的获取密钥的方法,其特征在于,所述第一通信域是根据以下至少一个信息确定的:所述密钥管理系统中节点的连接方式,所述密钥管理系统中节点的功能,或所述密钥管理系统中通信信息的类型。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述密钥服务器根据第一验证信息生成第一验证码,所述第一验证信息包括以下信息中的至少一个:所述第一密钥,所述第一密钥材料,第一信息,或所述密钥服务器的标识,所述第一信息包括以下信息中的至少一个:所述第一通信域的标识,第一密钥的标识或第一随机数;
所述密钥服务器向所述第一节点发送所述第一信息和所述第一验证码。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括:
所述密钥服务器接收来自所述第一节点的第二信息和第二验证码,所述第二验证码是根据第二验证信息生成的,所述第二验证信息包括以下信息中的至少一个:所述第一密钥,所述第一密钥材料,所述第二信息,所述第一节点的标识,或第一随机数,所述第二信息包括所述第一通信域的标识,和/或,所述第一密钥的标识;
所述密钥服务器验证所述第二验证码。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括:
所述密钥服务器根据第一协议与所述第一节点建立第一安全通道,所述第一安全通道用于传输所述密钥服务器与所述第一节点之间的信息。
6.根据权利要求5所述的方法,其特征在于,所述第一节点的数量大于1,
所述第一安全通道包括所述密钥服务器与每个第一节点的点到点的安全通道;或者,
所述第一安全通道包括所述密钥服务器与每个第一节点的点到多点的安全通道;或者,
所述第一安全通道包括所述密钥服务器与一部分第一节点的点到点的安全通道,以及所述密钥服务器与另一部分第一节点的点到多点的安全通道。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述第一节点为密钥代理,所述密钥管理系统还包括与所述第一节点通信连接的第二节点,所述第二节点为密钥客户端。
8.根据权利要求7所述的方法,其特征在于,所述第二节点包括在所述第一通信域中。
9.根据权利要求7或8所述的方法,其特征在于,所述方法还包括:
所述密钥服务器接收来自所述第一节点的第一通知信息,所述第一通知信息用于通知所述第一通信域内的节点的验证结果。
10.根据权利要求1-9中任一项所述的方法,其特征在于,所述方法还包括:
所述密钥服务器获取第一配置信息,所述第一配置信息用于指示以下信息中的至少一种:所述密钥管理系统中节点的标识,所述密钥管理系统中节点的连接方式,或与所述密钥管理系统中节点通信的其他节点的信息。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
所述密钥服务器向所述第一节点发送第二配置信息,所述第二配置信息用于指示以下信息中的至少一种:所述第一节点的标识,所述第一节点的连接方式,或与所述第一节点通信的其他节点的信息。
12.根据权利要求11所述的方法,其特征在于,所述第一节点为密钥代理,所述密钥管理系统还包括与所述第一节点通信连接的第二节点,所述第二节点为密钥客户端,所述第二配置信息还用于指示以下信息中的至少一种:所述第二节点的标识,所述第二节点的连接方式,或与所述第二节点通信的其他节点的信息。
13.根据权利要求10-12中任一项所述的方法,其特征在于,所述方法还包括:
所述密钥服务器根据所述第一配置信息确定所述密钥服务器所在的通信域的信息,所述密钥服务器所在的通信域的信息用于指示以下信息中的至少一项:所述密钥服务器所在的通信域的标识,所述密钥服务器所在的通信域中节点的通信方式,所述密钥服务器与所述密钥服务器所在的通信域中除所述密钥服务器之外的节点的连接方式,所述密钥服务器所在的通信域中除所述密钥服务器之外的其他节点的信息,或构建所述密钥服务器所在的通信域的密钥的密钥信息。
14.根据权利要求1-13中任一项所述的方法,其特征在于,所述方法还包括:
所述密钥服务器接收来自密钥管理工具的第一确认信息;或者,
所述密钥服务器接收来自第一终端的第一确认信息;或者,
所述密钥服务器接收来自第二终端的第一确认信息;
其中,所述第一确认信息用于触发所述密钥服务器获取所述第一密钥信息。
15.一种获取密钥的方法,其特征在于,所述方法应用于密钥管理系统,所述密钥管理系统包括密钥服务器,以及与所述密钥服务器通信连接的第一节点,所述第一节点为密钥客户端或密钥代理,所述方法包括:
所述第一节点接收来自所述密钥服务器的第一密钥的信息,所述第一密钥的信息包括第一密钥材料和第一通信域的标识,所述第一通信域的标识用于指示第一通信域;
所述第一节点根据所述第一密钥材料生成第一密钥,所述第一密钥应用于所述第一通信域,所述第一通信域包括所述密钥管理系统中的至少两个节点,所述至少两个节点包括所述第一节点。
16.根据权利要求15所述的获取密钥的方法,其特征在于,所述第一通信域是根据以下至少一个信息确定的:所述密钥管理系统中节点的连接方式,所述密钥管理系统中节点的功能,或所述密钥管理系统中通信信息的类型。
17.根据权利要求15或16所述的方法,其特征在于,所述方法还包括:
所述第一节点接收来自所述密钥服务器的第一信息和第一验证码,所述第一验证码是根据第一验证信息生成的,所述第一验证信息包括以下信息中的至少一个:所述第一密钥,所述第一密钥材料,所述第一信息,或所述密钥服务器的标识,所述第一信息包括以下信息中的至少一个:所述第一通信域的标识,第一密钥的标识或第一随机数;
所述第一节点验证所述第一验证码。
18.根据权利要求15-17中任一项所述的方法,其特征在于,所述方法还包括:
所述第一节点根据第二验证信息生成第二验证码,所述第二验证信息包括以下信息中的至少一个:所述第一密钥,所述第一密钥材料,第二信息,所述第一节点的标识,或第一随机数,所述第二信息包括所述第一通信域的标识,和/或,所述第一密钥的标识;
所述第一节点向所述密钥服务器发送所述第二信息和所述第二验证码。
19.根据权利要求15-18中任一项所述的方法,其特征在于,所述方法还包括:
所述第一节点根据第一协议与所述密钥服务器建立第一安全通道,所述第一安全通道用于传输所述密钥服务器与所述第一节点之间的信息。
20.根据权利要求19所述的方法,其特征在于,所述第一节点的数量大于1,
所述第一安全通道包括所述密钥服务器与每个第一节点的点到点的安全通道;或者,
所述第一安全通道包括所述密钥服务器与每个第一节点的点到多点的安全通道;或者,
所述第一安全通道包括所述密钥服务器与一部分第一节点的点到点的安全通道,以及所述密钥服务器与另一部分第一节点的点到多点的安全通道。
21.根据权利要求15-20中任一项所述的方法,其特征在于,所述第一节点为密钥代理,所述密钥管理系统还包括与所述第一节点通信连接的第二节点,所述第二节点为密钥客户端。
22.根据权利要求21所述的方法,其特征在于,所述第二节点包括在所述第一通信域中;
所述方法还包括:
所述第一节点向所述第二节点发送所述第一密钥材料和所述第一通信域的标识。
23.根据权利要求22所述的方法,其特征在于,所述方法还包括:
所述第一节点根据第三验证信息生成第三验证码,所述第三验证信息包括以下信息中的至少一个:所述第一密钥,所述第一密钥材料,第三信息,或所述第一节点的标识,所述第三信息包括以下信息中的至少一个:所述第一通信域的标识,第一密钥的标识或第二随机数;
所述第一节点向所述第二节点发送所述第三信息和所述第三验证码。
24.根据权利要求22或23所述的方法,其特征在于,所述方法还包括:
所述第一节点接收来自所述第二节点的第四信息和第四验证码,所述第四验证码是根据第四验证信息得到,所述第四验证信息包括以下信息中的至少一个:所述第一密钥,所述第一密钥材料,所述第四信息,所述第二节点的标识,或第二随机数,所述第四信息包括所述第一通信域的标识,和/或,所述第一密钥的标识;
所述第一节点验证所述第四验证码。
25.根据权利要求23或24所述的方法,其特征在于,所述方法还包括:
所述第一节点向所述密钥服务器发送第一通知信息,所述第一通知信息用于通知所述第一通信域内的节点的验证结果。
26.根据权利要求21-25中任一项所述的方法,其特征在于,所述方法还包括:
所述第一节点根据第一协议与所述第二节点建立第二安全通道,所述第二安全通道用于传输所述第一节点与所述第二节点之间的信息。
27.根据权利要求26所述的方法,其特征在于,所述第二节点的数量大于1,
所述第二安全通道包括所述第一节点与每个第二节点的点到点的安全通道;或者,
所述第二安全通道包括所述第一节点与每个第二节点的点到多点的安全通道;或者,
所述第二安全通道包括所述第一节点与一部分第二节点的点到点的安全通道,以及所述第一节点与另一部分第二节点的点到多点的安全通道。
28.根据权利要求15-27中任一项所述的方法,其特征在于,所述方法还包括:
所述第一节点接收来自所述密钥服务器的第二配置信息,所述第二配置信息用于指示以下信息中的至少一种:所述第一节点的标识,所述第一节点的连接方式,或与所述第一节点通信的其他节点的信息。
29.根据权利要求28所述的方法,其特征在于,所述第一节点为密钥代理,所述密钥管理系统还包括与所述第一节点通信连接的第二节点,所述第二节点为密钥客户端,所述第二配置信息还用于指示以下信息中的至少一种:所述第二节点的标识,所述第二节点的连接方式,或与所述第二节点通信的其他节点的信息;
所述方法还包括:
所述第一节点向所述第二节点发送第三配置信息,所述第三配置信息用于指示以下信息中的至少一种:所述第二节点的标识,所述第二节点的连接方式,或与所述第二节点通信的其他节点的信息。
30.根据权利要求28或29所述的方法,其特征在于,所述方法还包括:
所述第一节点根据所述第二配置信息确定所述第一节点所在通信域的信息,所述第一节点所在的通信域的信息用于指示以下信息中的至少一项:所述第一节点所在的通信域的标识,所述第一节点所在的通信域中节点的通信方式,所述第一节点与所述第一节点所在的通信域中除所述第一节点之外的节点的连接方式,所述第一节点所在的通信域中除所述第一节点之外的其他节点的信息,或构建所述第一节点所在的通信域的密钥的密钥信息。
31.一种获取密钥的方法,其特征在于,所述方法应用于密钥管理系统,所述密钥管理系统包括密钥服务器,与所述密钥服务器通信连接的密钥代理,以及与所述密钥代理通信连接的密钥客户端,所述方法包括:
所述密钥客户端接收来自所述密钥代理的第一密钥材料和第一通信域的标识,所述第一通信域的标识用于指示第一通信域;
所述密钥客户端根据所述第一密钥材料生成所述第一密钥,所述第一密钥应用于所述第一通信域,所述第一通信域包括所述密钥管理系统中的至少两个节点,所述至少两个节点包括所述密钥客户端。
32.根据权利要求31所述的获取密钥的方法,其特征在于,所述第一通信域是根据以下至少一个信息确定的:所述密钥管理系统中节点的连接方式,所述密钥管理系统中节点的功能,或所述密钥管理系统中通信信息的类型。
33.根据权利要求31或32所述的方法,其特征在于,所述方法还包括:
所述密钥客户端接收来自所述密钥代理的第三信息和第三验证码,所述第三验证码是根据第三验证信息得到,所述第三验证信息包括以下信息中的至少一个:所述第一密钥,所述第一密钥材料,所述第三信息,或所述密钥代理的标识,所述第三信息包括以下信息中的至少一个:所述第一通信域的标识,第一密钥的标识或第二随机数;
所述密钥客户端验证所述第三验证码。
34.根据权利要求31-33中任一项所述的方法,其特征在于,所述方法还包括:
所述密钥客户端根据第四验证信息生成第四验证码,所述第四验证信息包括以下信息中的至少一个:所述第一密钥,所述第一密钥材料,第四信息,所述密钥客户端的标识,或第二随机数,所述第四信息包括所述第一通信域的标识,和/或,所述第一密钥的标识;
所述密钥客户端向所述密钥代理发送所述第四信息和所述第四验证码。
35.根据权利要求31-34中任一项所述的方法,其特征在于,所述方法还包括:
所述密钥客户端根据第一协议与所述密钥代理建立第二安全通道,所述第二安全通道用于传输所述密钥客户端与所述密钥代理之间的信息。
36.根据权利要求35所述的方法,其特征在于,所述密钥客户端的数量大于1;
所述第二安全通道包括所述密钥代理与每个密钥客户端的点到点的安全通道;或者,
所述第二安全通道包括所述密钥代理与每个密钥客户端的点到多点的安全通道;或者,
所述第二安全通道包括所述密钥代理与一部分密钥客户端的点到点的安全通道,以及所述密钥代理与另一部分密钥客户端的点到多点的安全通道。
37.根据权利要求31-36中任一项所述的方法,其特征在于,所述方法还包括:
所述密钥客户端接收来自所述密钥代理的第三配置信息,所述第三配置信息用于指示以下信息中的至少一种:所述密钥客户端的标识,所述密钥客户端的连接方式,或与所述密钥客户端通信的其他节点的信息。
38.根据权利要求37所述的方法,其特征在于,所述方法还包括:
所述密钥客户端根据所述第三配置信息确定所述密钥客户端所在通信域的信息,所述密钥客户端所在的通信域的信息用于指示以下信息中的至少一项:所述密钥客户端所在的通信域的标识,所述密钥客户端所在的通信域中节点的通信方式,所述密钥客户端与所述密钥客户端所在的通信域中除所述密钥客户端之外的节点的连接方式,所述密钥客户端所在的通信域中除所述密钥客户端之外的其他节点的信息,或构建所述密钥客户端所在的通信域的密钥的密钥信息。
39.一种获取密钥的装置,其特征在于,所述获取密钥的装置应用于密钥管理系统,所述密钥管理系统包括获取密钥的装置,以及与所述获取密钥的装置通信连接的第一节点,所述第一节点为密钥客户端或密钥代理,所述获取密钥的装置包括:处理单元和收发单元;
所述处理单元,用于获取第一密钥信息,所述第一密钥信息包括第一密钥材料和第一通信域的标识,所述第一密钥材料用于生成所述第一密钥,所述第一通信域的标识用于指示第一通信域,所述第一密钥应用于所述第一通信域,所述第一通信域包括所述密钥管理系统中的至少两个节点,所述至少两个节点包括所述第一节点;
所述收发单元,用于向所述第一节点发送所述第一密钥信息。
40.根据权利要求39所述的获取密钥的装置,其特征在于,所述第一通信域是根据以下至少一个信息确定的:所述密钥管理系统中节点的连接方式,所述密钥管理系统中节点的功能,或所述密钥管理系统中通信信息的类型。
41.根据权利要求39或40所述的获取密钥的装置,其特征在于,
所述处理单元,还用于根据第一验证信息生成第一验证码,所述第一验证信息包括以下信息中的至少一个:所述第一密钥,所述第一密钥材料,第一信息,或所述获取密钥的装置的标识,所述第一信息包括以下信息中的至少一个:所述第一通信域的标识,第一密钥的标识或第一随机数;
所述收发单元,还用于向所述第一节点发送所述第一信息和所述第一验证码。
42.根据权利要求39-41中任一项所述的获取密钥的装置,其特征在于,
所述收发单元,还用于接收来自所述第一节点的第二信息和第二验证码,所述第二验证码是根据第二验证信息生成的,所述第二验证信息包括以下信息中的至少一个:所述第一密钥,所述第一密钥材料,所述第二信息,所述第一节点的标识,或第一随机数,所述第二信息包括所述第一通信域的标识,和/或,所述第一密钥的标识;
所述处理单元,还用于验证所述第二验证码。
43.根据权利要求39-42中任一项所述的获取密钥的装置,其特征在于,
所述处理单元,还用于根据第一协议与所述第一节点建立第一安全通道,所述第一安全通道用于传输所述获取密钥的装置与所述第一节点之间的信息。
44.根据权利要求43所述的获取密钥的装置,其特征在于,所述第一节点的数量大于1,
所述第一安全通道包括所述获取密钥的装置与每个第一节点的点到点的安全通道;或者,
所述第一安全通道包括所述获取密钥的装置与每个第一节点的点到多点的安全通道;或者,
所述第一安全通道包括所述获取密钥的装置与一部分第一节点的点到点的安全通道,以及所述获取密钥的装置与另一部分第一节点的点到多点的安全通道。
45.根据权利要求39-44中任一项所述的获取密钥的装置,其特征在于,所述第一节点为密钥代理,所述密钥管理系统还包括与所述第一节点通信连接的第二节点,所述第二节点为密钥客户端。
46.根据权利要求45所述的获取密钥的装置,其特征在于,所述第二节点包括在所述第一通信域中。
47.根据权利要求45或46所述的获取密钥的装置,其特征在于,
所述收发单元,还用于接收来自所述第一节点的第一通知信息,所述第一通知信息用于通知所述第一通信域内的节点的验证结果。
48.根据权利要求39-47中任一项所述的获取密钥的装置,其特征在于,
所述处理单元,还用于获取第一配置信息,所述第一配置信息用于指示以下信息中的至少一种:所述密钥管理系统中节点的标识,所述密钥管理系统中节点的连接方式,或与所述密钥管理系统中节点通信的其他节点的信息。
49.根据权利要求48所述的获取密钥的装置,其特征在于,
所述收发单元,还用于向所述第一节点发送第二配置信息,所述第二配置信息用于指示以下信息中的至少一种:所述第一节点的标识,所述第一节点的连接方式,或与所述第一节点通信的其他节点的信息。
50.根据权利要求49所述的获取密钥的装置,其特征在于,所述第一节点为密钥代理,所述密钥管理系统还包括与所述第一节点通信连接的第二节点,所述第二节点为密钥客户端,所述第二配置信息还用于指示以下信息中的至少一种:所述第二节点的标识,所述第二节点的连接方式,或与所述第二节点通信的其他节点的信息。
51.根据权利要求48-50中任一项所述的获取密钥的装置,其特征在于,
所述处理单元,还用于根据所述第一配置信息确定所述获取密钥的装置所在的通信域的信息,所述获取密钥的装置所在的通信域的信息用于指示以下信息中的至少一项:所述获取密钥的装置所在的通信域的标识,所述获取密钥的装置所在的通信域中节点的通信方式,所述获取密钥的装置与所述获取密钥的装置所在的通信域中除所述获取密钥的装置之外的节点的连接方式,所述获取密钥的装置所在的通信域中除所述获取密钥的装置之外的其他节点的信息,或构建所述获取密钥的装置所在的通信域的密钥的密钥信息。
52.根据权利要求39-51中任一项所述的获取密钥的装置,其特征在于,
所述收发单元,还用于接收来自密钥管理工具的第一确认信息;或者,
所述收发单元,还用于接收来自第一终端的第一确认信息;或者,
所述收发单元,还用于接收来自第二终端的第一确认信息;
其中,所述第一确认信息用于触发所述获取密钥的装置获取所述第一密钥信息。
53.一种获取密钥的装置,其特征在于,所述获取密钥的装置应用于密钥管理系统,所述密钥管理系统包括密钥服务器,以及与所述密钥服务器通信连接的所述获取密钥的装置,所述获取密钥的装置为密钥客户端或密钥代理,所述获取密钥的装置包括:收发单元和处理单元;
所述收发单元,用于接收来自所述密钥服务器的第一密钥的信息,所述第一密钥的信息包括第一密钥材料和第一通信域的标识,所述第一通信域的标识用于指示第一通信域;
所述处理单元,用于根据所述第一密钥材料生成第一密钥,所述第一密钥应用于所述第一通信域,所述第一通信域包括所述密钥管理系统中的至少两个节点,所述至少两个节点包括所述获取密钥的装置。
54.根据权利要求53所述的获取密钥的装置,其特征在于,所述第一通信域是根据以下至少一个信息确定的:所述密钥管理系统中节点的连接方式,所述密钥管理系统中节点的功能,或所述密钥管理系统中通信信息的类型。
55.根据权利要求53或54所述的获取密钥的装置,其特征在于,
所述收发单元,还用于接收来自所述密钥服务器的第一信息和第一验证码,所述第一验证码是根据第一验证信息生成的,所述第一验证信息包括以下信息中的至少一个:所述第一密钥,所述第一密钥材料,所述第一信息,或所述密钥服务器的标识,所述第一信息包括以下信息中的至少一个:所述第一通信域的标识,第一密钥的标识或第一随机数;
所述收发单元,还用于验证所述第一验证码。
56.根据权利要求53-55中任一项所述的获取密钥的装置,其特征在于,
所述处理单元,还用于根据第二验证信息生成第二验证码,所述第二验证信息包括以下信息中的至少一个:所述第一密钥,所述第一密钥材料,第二信息,所述获取密钥的装置的标识,或第一随机数,所述第二信息包括所述第一通信域的标识,和/或,所述第一密钥的标识;
所述收发单元,还用于向所述密钥服务器发送所述第二信息和所述第二验证码。
57.根据权利要求53-55中任一项所述的获取密钥的装置,其特征在于,
所述处理单元,还用于根据第一协议与所述密钥服务器建立第一安全通道,所述第一安全通道用于传输所述密钥服务器与所述获取密钥的装置之间的信息。
58.根据权利要求57所述的获取密钥的装置,其特征在于,所述获取密钥的装置的数量大于1,
所述第一安全通道包括所述密钥服务器与每个获取密钥的装置的点到点的安全通道;或者,
所述第一安全通道包括所述密钥服务器与每个获取密钥的装置的点到多点的安全通道;或者,
所述第一安全通道包括所述密钥服务器与一部分获取密钥的装置的点到点的安全通道,以及所述密钥服务器与另一部分获取密钥的装置的点到多点的安全通道。
59.根据权利要求53-58中任一项所述的获取密钥的装置,其特征在于,所述获取密钥的装置为密钥代理,所述密钥管理系统还包括与所述获取密钥的装置通信连接的第二节点,所述第二节点为密钥客户端。
60.根据权利要求59所述的获取密钥的装置,其特征在于,所述第二节点包括在所述第一通信域中;
所述收发单元,还用于向所述第二节点发送所述第一密钥材料和所述第一通信域的标识。
61.根据权利要求60所述的获取密钥的装置,其特征在于,
所述处理单元,还用于根据第三验证信息生成第三验证码,所述第三验证信息包括以下信息中的至少一个:所述第一密钥,所述第一密钥材料,第三信息,或所述获取密钥的装置的标识,所述第三信息包括以下信息中的至少一个:所述第一通信域的标识,第一密钥的标识或第二随机数;
所述收发单元,还用于向所述第二节点发送所述第三信息和所述第三验证码。
62.根据权利要求60或61所述的获取密钥的装置,其特征在于,
所述收发单元,还用于接收来自所述第二节点的第四信息和第四验证码,所述第四验证码是根据第四验证信息得到,所述第四验证信息包括以下信息中的至少一个:所述第一密钥,所述第一密钥材料,所述第四信息,所述第二节点的标识,或第二随机数,所述第四信息包括所述第一通信域的标识,和/或,所述第一密钥的标识;
所述处理单元,还用于验证所述第四验证码。
63.根据权利要求61或62所述的获取密钥的装置,其特征在于,
所述收发单元,还用于向所述密钥服务器发送第一通知信息,所述第一通知信息用于通知所述第一通信域内的节点的验证结果。
64.根据权利要求59-63中任一项所述的获取密钥的装置,其特征在于,
所述处理单元,还用于根据第一协议与所述第二节点建立第二安全通道,所述第二安全通道用于传输所述获取密钥的装置与所述第二节点之间的信息。
65.根据权利要求64所述的获取密钥的装置,其特征在于,所述第二节点的数量大于1,
所述第二安全通道包括所述获取密钥的装置与每个第二节点的点到点的安全通道;或者,
所述第二安全通道包括所述获取密钥的装置与每个第二节点的点到多点的安全通道;或者,
所述第二安全通道包括所述获取密钥的装置与一部分第二节点的点到点的安全通道,以及所述获取密钥的装置与另一部分第二节点的点到多点的安全通道。
66.根据权利要求53-65中任一项所述的获取密钥的装置,其特征在于,
所述收发单元,还用于接收来自所述密钥服务器的第二配置信息,所述第二配置信息用于指示以下信息中的至少一种:所述获取密钥的装置的标识,所述获取密钥的装置的连接方式,或与所述获取密钥的装置通信的其他节点的信息。
67.根据权利要求66所述的获取密钥的装置,其特征在于,所述获取密钥的装置为密钥代理,所述密钥管理系统还包括与所述获取密钥的装置通信连接的第二节点,所述第二节点为密钥客户端,所述第二配置信息还用于指示以下信息中的至少一种:所述第二节点的标识,所述第二节点的连接方式,或与所述第二节点通信的其他节点的信息;
所述收发单元,还用于向所述第二节点发送第三配置信息,所述第三配置信息用于指示以下信息中的至少一种:所述第二节点的标识,所述第二节点的连接方式,或与所述第二节点通信的其他节点的信息。
68.根据权利要求66或67所述的获取密钥的装置,其特征在于,
所述处理单元,还用于根据所述第二配置信息确定所述获取密钥的装置所在通信域的信息,所述获取密钥的装置所在的通信域的信息用于指示以下信息中的至少一项:所述获取密钥的装置所在的通信域的标识,所述获取密钥的装置所在的通信域中节点的通信方式,所述获取密钥的装置与所述获取密钥的装置所在的通信域中除所述获取密钥的装置之外的节点的连接方式,所述获取密钥的装置所在的通信域中除所述获取密钥的装置之外的其他节点的信息,或构建所述获取密钥的装置所在的通信域的密钥的密钥信息。
69.一种获取密钥的装置,其特征在于,所述获取密钥的装置应用于密钥管理系统,所述密钥管理系统包括密钥服务器,与所述密钥服务器通信连接的密钥代理,以及与所述密钥代理通信连接的获取密钥的装置,所述获取密钥的装置包括:收发单元和处理单元;
所述收发单元,用于接收来自所述密钥代理的第一密钥材料和第一通信域的标识,所述第一通信域的标识用于指示第一通信域;
所述处理单元,用于根据所述第一密钥材料生成所述第一密钥,所述第一密钥应用于所述第一通信域,所述第一通信域包括所述密钥管理系统中的至少两个节点,所述至少两个节点包括所述获取密钥的装置。
70.根据权利要求69所述的获取密钥的装置,其特征在于,所述第一通信域是根据以下至少一个信息确定的:所述密钥管理系统中节点的连接方式,所述密钥管理系统中节点的功能,或所述密钥管理系统中通信信息的类型。
71.根据权利要求69或70所述的获取密钥的装置,其特征在于,
所述收发单元,还用于接收来自所述密钥代理的第三信息和第三验证码,所述第三验证码是根据第三验证信息得到,所述第三验证信息包括以下信息中的至少一个:所述第一密钥,所述第一密钥材料,所述第三信息,或所述密钥代理的标识,所述第三信息包括以下信息中的至少一个:所述第一通信域的标识,第一密钥的标识或第二随机数;
所述处理单元,还用于验证所述第三验证码。
72.根据权利要求69-71中任一项所述的获取密钥的装置,其特征在于,
所述处理单元,还用于根据第四验证信息生成第四验证码,所述第四验证信息包括以下信息中的至少一个:所述第一密钥,所述第一密钥材料,第四信息,所述获取密钥的装置的标识,或第二随机数,所述第四信息包括所述第一通信域的标识,和/或,所述第一密钥的标识;
所述收发单元,还用于向所述密钥代理发送所述第四信息和所述第四验证码。
73.根据权利要求69-72中任一项所述的获取密钥的装置,其特征在于,
所述处理单元,还用于根据第一协议与所述密钥代理建立第二安全通道,所述第二安全通道用于传输所述获取密钥的装置与所述密钥代理之间的信息。
74.根据权利要求73所述的获取密钥的装置,其特征在于,所述获取密钥的装置的数量大于1;
所述第二安全通道包括所述密钥代理与每个获取密钥的装置的点到点的安全通道;或者,
所述第二安全通道包括所述密钥代理与每个获取密钥的装置的点到多点的安全通道;或者,
所述第二安全通道包括所述密钥代理与一部分获取密钥的装置的点到点的安全通道,以及所述密钥代理与另一部分获取密钥的装置的点到多点的安全通道。
75.根据权利要求69-74中任一项所述的获取密钥的装置,其特征在于,
所述收发单元,还用于接收来自所述密钥代理的第三配置信息,所述第三配置信息用于指示以下信息中的至少一种:所述获取密钥的装置的标识,所述获取密钥的装置的连接方式,或与所述获取密钥的装置通信的其他节点的信息。
76.根据权利要求75所述的获取密钥的装置,其特征在于,
所述处理单元,还用于根据所述第三配置信息确定所述获取密钥的装置所在通信域的信息,所述获取密钥的装置所在的通信域的信息用于指示以下信息中的至少一项:所述获取密钥的装置所在的通信域的标识,所述获取密钥的装置所在的通信域中节点的通信方式,所述获取密钥的装置与所述获取密钥的装置所在的通信域中除所述获取密钥的装置之外的节点的连接方式,所述获取密钥的装置所在的通信域中除所述获取密钥的装置之外的其他节点的信息,或构建所述获取密钥的装置所在的通信域的密钥的密钥信息。
77.一种计算机可读介质,其上存储有计算机程序或指令,其特征在于,所述计算机程序或指令被执行时使得计算机执行如权利要求1至14中任一项所述的方法,或者如权利要求15至30中任一项所述的方法,或者如权利要求31至38中任一项所述的方法。
78.一种计算机程序产品,所述计算机程序产品中包括计算机程序代码,其特征在于,当所述计算机程序代码在计算机上运行时,使得计算机实现权利要求1至14中任一项所述的方法,或者实现权利要求15至30中任一项所述的方法,或者实现权利要求31至38中任一项所述的方法。
79.一种密钥管理系统,其特征在于,所述密钥管理系统包括:密钥服务器和第一节点,所述密钥服务器用于实现权利要求1至14中任一项所述的方法,所述第一节点用于实现权利要求15至30中任一项所述的方法。
80.根据权利要求79所述的密钥管理系统,其特征在于,所述密钥管理系统还包括第二节点,所述第二节点用于实现权要要求31至38中任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/078283 WO2022178871A1 (zh) | 2021-02-26 | 2021-02-26 | 获取密钥的方法、装置及密钥管理系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113056898A true CN113056898A (zh) | 2021-06-29 |
CN113056898B CN113056898B (zh) | 2022-08-09 |
Family
ID=76518632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180000702.8A Active CN113056898B (zh) | 2021-02-26 | 2021-02-26 | 获取密钥的方法、装置及密钥管理系统 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4290790A4 (zh) |
CN (1) | CN113056898B (zh) |
WO (1) | WO2022178871A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114301606A (zh) * | 2021-12-31 | 2022-04-08 | 北京三快在线科技有限公司 | 无人设备密钥管理系统、方法、装置、设备及存储介质 |
CN114338141A (zh) * | 2021-12-27 | 2022-04-12 | 中国电信股份有限公司 | 通信密钥处理方法、装置、非易失性存储介质及处理器 |
WO2023000313A1 (zh) * | 2021-07-23 | 2023-01-26 | 华为技术有限公司 | 一种密钥验证方法及相关装置 |
TWI795256B (zh) * | 2022-03-31 | 2023-03-01 | 穎利科研國際事業有限公司 | 車聯網資安防護系統 |
WO2023039900A1 (zh) * | 2021-09-18 | 2023-03-23 | 华为技术有限公司 | 一种密钥传输方法及装置 |
CN116567579A (zh) * | 2023-07-07 | 2023-08-08 | 一汽解放汽车有限公司 | 一种车载终端数据灌装方法及系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9213169D0 (en) * | 1992-06-22 | 1992-08-05 | Ncr Int Inc | Cryptographic key management apparatus and method |
CN1514570A (zh) * | 2002-12-19 | 2004-07-21 | �ͱ�»�ɷ�����˾ | 加密密钥设定系统及方法、接入点及认证码设定系统 |
CN1553600A (zh) * | 2003-05-29 | 2004-12-08 | 华为技术有限公司 | 一种共享密钥更新的方法 |
CN101674179A (zh) * | 2009-10-10 | 2010-03-17 | 西安西电捷通无线网络通信有限公司 | 一种传感器网络密钥预分发与密钥建立方法 |
WO2011085566A1 (zh) * | 2010-01-15 | 2011-07-21 | 中兴通讯股份有限公司 | 实现密钥映射的方法及认证服务器、终端、系统 |
WO2012139174A1 (en) * | 2011-04-15 | 2012-10-18 | Quintessencelabs Pty Ltd | Qkd key management system |
CN110545252A (zh) * | 2018-05-29 | 2019-12-06 | 华为技术有限公司 | 一种认证和信息保护的方法、终端、控制功能实体及应用服务器 |
US20200076807A1 (en) * | 2018-09-04 | 2020-03-05 | International Business Machines Corporation | Controlling access between nodes by a key server |
CN110943957A (zh) * | 2018-09-21 | 2020-03-31 | 郑州信大捷安信息技术股份有限公司 | 一种车内网安全通信系统及方法 |
CN111010411A (zh) * | 2020-03-11 | 2020-04-14 | 北京信安世纪科技股份有限公司 | 通信的方法、装置、路边设备、车辆和存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106658493B (zh) * | 2016-10-17 | 2019-12-06 | 东软集团股份有限公司 | 密钥管理方法、装置和系统 |
SG10201705960QA (en) * | 2017-07-20 | 2019-02-27 | Huawei Int Pte Ltd | System and method for managing secure communications between modules in a controller area network |
US11449331B2 (en) * | 2018-01-25 | 2022-09-20 | Lg Electronics Inc. | Vehicular update system and control method thereof |
CN111147260B (zh) * | 2019-12-26 | 2023-01-20 | 国汽(北京)智能网联汽车研究院有限公司 | 一种车辆密钥生成及发行方法、装置 |
-
2021
- 2021-02-26 WO PCT/CN2021/078283 patent/WO2022178871A1/zh active Application Filing
- 2021-02-26 CN CN202180000702.8A patent/CN113056898B/zh active Active
- 2021-02-26 EP EP21927307.5A patent/EP4290790A4/en active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9213169D0 (en) * | 1992-06-22 | 1992-08-05 | Ncr Int Inc | Cryptographic key management apparatus and method |
CN1514570A (zh) * | 2002-12-19 | 2004-07-21 | �ͱ�»�ɷ�����˾ | 加密密钥设定系统及方法、接入点及认证码设定系统 |
CN1553600A (zh) * | 2003-05-29 | 2004-12-08 | 华为技术有限公司 | 一种共享密钥更新的方法 |
CN101674179A (zh) * | 2009-10-10 | 2010-03-17 | 西安西电捷通无线网络通信有限公司 | 一种传感器网络密钥预分发与密钥建立方法 |
WO2011085566A1 (zh) * | 2010-01-15 | 2011-07-21 | 中兴通讯股份有限公司 | 实现密钥映射的方法及认证服务器、终端、系统 |
WO2012139174A1 (en) * | 2011-04-15 | 2012-10-18 | Quintessencelabs Pty Ltd | Qkd key management system |
CN110545252A (zh) * | 2018-05-29 | 2019-12-06 | 华为技术有限公司 | 一种认证和信息保护的方法、终端、控制功能实体及应用服务器 |
US20200076807A1 (en) * | 2018-09-04 | 2020-03-05 | International Business Machines Corporation | Controlling access between nodes by a key server |
CN110943957A (zh) * | 2018-09-21 | 2020-03-31 | 郑州信大捷安信息技术股份有限公司 | 一种车内网安全通信系统及方法 |
CN111010411A (zh) * | 2020-03-11 | 2020-04-14 | 北京信安世纪科技股份有限公司 | 通信的方法、装置、路边设备、车辆和存储介质 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023000313A1 (zh) * | 2021-07-23 | 2023-01-26 | 华为技术有限公司 | 一种密钥验证方法及相关装置 |
WO2023039900A1 (zh) * | 2021-09-18 | 2023-03-23 | 华为技术有限公司 | 一种密钥传输方法及装置 |
CN114338141A (zh) * | 2021-12-27 | 2022-04-12 | 中国电信股份有限公司 | 通信密钥处理方法、装置、非易失性存储介质及处理器 |
CN114301606A (zh) * | 2021-12-31 | 2022-04-08 | 北京三快在线科技有限公司 | 无人设备密钥管理系统、方法、装置、设备及存储介质 |
CN114301606B (zh) * | 2021-12-31 | 2023-07-21 | 北京三快在线科技有限公司 | 无人设备密钥管理系统、方法、装置、设备及存储介质 |
TWI795256B (zh) * | 2022-03-31 | 2023-03-01 | 穎利科研國際事業有限公司 | 車聯網資安防護系統 |
CN116567579A (zh) * | 2023-07-07 | 2023-08-08 | 一汽解放汽车有限公司 | 一种车载终端数据灌装方法及系统 |
CN116567579B (zh) * | 2023-07-07 | 2023-10-20 | 一汽解放汽车有限公司 | 一种车载终端数据灌装方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113056898B (zh) | 2022-08-09 |
WO2022178871A1 (zh) | 2022-09-01 |
EP4290790A4 (en) | 2024-03-20 |
EP4290790A1 (en) | 2023-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113056898B (zh) | 获取密钥的方法、装置及密钥管理系统 | |
EP3759885B1 (en) | Broker-based bus protocol and multi-client architecture | |
CN111865598B (zh) | 网络功能服务的身份校验方法及相关装置 | |
US11936743B2 (en) | Device management services based on restful messaging | |
JP2020517144A (ja) | V2x通信装置、及びそのデータ通信方法 | |
CN112449315B (zh) | 一种网络切片的管理方法及相关装置 | |
US11917018B2 (en) | Broker-based bus protocol and multi-client architecture | |
CN112491533B (zh) | 一种密钥生成方法及装置 | |
CN109450905B (zh) | 传输数据的方法和装置及系统 | |
CN111918237B (zh) | 一种通信方法及装置 | |
CN110650168A (zh) | 一种通信方法及其装置 | |
EP3831038B1 (en) | Automated relationship management of service layer entities in a communications network | |
AU2020250118A1 (en) | Message transmission system and method based on heterogeneous operating system, and vehicle | |
CN116405193A (zh) | 一种证书申请方法及设备 | |
WO2022104740A1 (zh) | 一种非公共网络签约信息更新方法及装置 | |
US11924184B2 (en) | Protection of communications through user equipment relay | |
US20230396492A1 (en) | A method of, a provisioner and a system for provisioning a plurality of operatively interconnected node devices in a network | |
CN112584344B (zh) | 无人机的身份标识认证方法、相关装置及系统 | |
WO2024000134A1 (zh) | 验证方法、装置、设备及存储介质 | |
US20230308868A1 (en) | Method, devices and system for performing key management | |
EP4092957A1 (en) | Secure and trusted peer-to-peer offline communication systems and methods | |
WO2022205315A1 (en) | Integrated access and backhaul radio link handover | |
CN117176333A (zh) | 量子网络通信方法、装置、电子设备及存储介质 | |
Bouget et al. | Establishing End-to-End Secure Channel for IoT Devices through an Untrusted C-ITS Network. | |
Han et al. | Enhancing security and robustness of Cyphal on Controller Area Network in unmanned aerial vehicle environments |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |