CN117223251A - 一种密钥更新方法及其相关设备 - Google Patents
一种密钥更新方法及其相关设备 Download PDFInfo
- Publication number
- CN117223251A CN117223251A CN202180097661.9A CN202180097661A CN117223251A CN 117223251 A CN117223251 A CN 117223251A CN 202180097661 A CN202180097661 A CN 202180097661A CN 117223251 A CN117223251 A CN 117223251A
- Authority
- CN
- China
- Prior art keywords
- key
- identifier
- check value
- server
- target device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 98
- 238000012545 processing Methods 0.000 claims description 33
- 230000008569 process Effects 0.000 claims description 32
- 102000004232 Mitogen-Activated Protein Kinase Kinases Human genes 0.000 claims description 29
- 108090000744 Mitogen-Activated Protein Kinase Kinases Proteins 0.000 claims description 29
- 238000004891 communication Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 11
- 230000009545 invasion Effects 0.000 abstract description 8
- 101100244969 Arabidopsis thaliana PRL1 gene Proteins 0.000 description 16
- 102100039558 Galectin-3 Human genes 0.000 description 16
- 101100454448 Homo sapiens LGALS3 gene Proteins 0.000 description 16
- 101150051246 MAC2 gene Proteins 0.000 description 16
- 230000006870 function Effects 0.000 description 14
- 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 12
- 101100059544 Arabidopsis thaliana CDC5 gene Proteins 0.000 description 11
- 101150115300 MAC1 gene Proteins 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000008878 coupling Effects 0.000 description 7
- 238000010168 coupling process Methods 0.000 description 7
- 238000005859 coupling reaction Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 101100289995 Caenorhabditis elegans mac-1 gene Proteins 0.000 description 2
- 101100102627 Oscarella pearsei VIN1 gene Proteins 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 238000009795 derivation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- 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
- 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
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
- H04L9/16—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
-
- 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
- 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
-
- 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/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/84—Vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Medical Informatics (AREA)
- Power Engineering (AREA)
- Lock And Its Accessories (AREA)
Abstract
本申请提供了一种密钥更新方法及其相关设备,可使得电子控制单元ECU的密钥能够抵挡攻击者的入侵,保持车辆的正常运行,从而保证乘客的生命安全。本申请的方法包括:向目标设备发送第一请求,第一请求用于获得第一识别码和第一识别符,第一识别码关联第一识别符;获取第一识别符对应的第一密钥的信息,第一密钥的信息用于指示目标设备更新第一密钥。
Description
本申请涉及汽车技术领域,尤其涉及一种密钥更新方法及其相关设备。
车辆中的电子控制单元(electronic control unit,ECU)是控制车辆的重要部件,车辆可包含多个ECU,不同的ECU负责实现不同的功能,例如动力、车门、转向等。若ECU遭受到攻击者的入侵,将影响车辆的正常运行。目前,ECU安全防护机制的核心是使用密钥来保证ECU的安全。
整车生产中心在制造车辆时,可向车辆中的各个ECU写入密钥,以保证ECU和车辆的安全。车辆售出后,车辆中的各个ECU会持续使用整车生产中心所提供的原始密钥,实现相应的功能。然而,随着时间的推移,ECU所使用的原始密钥,可能抵挡不住攻击者的入侵,导致车辆无法正常运行,进而威胁乘客的生命安全。
发明内容
本申请实施例提供了一种密钥更新方法及其相关设备,可使得ECU的密钥能够抵挡攻击者的入侵,保持车辆的正常运行,从而保证乘客的生命安全。
本申请实施例的第一方面提供一种密钥更新方法,该方法包括:向目标设备发送第一请求,所述第一请求用于获得第一识别码和第一识别符,所述第一识别码关联所述第一识别符;获取所述第一识别符对应的第一密钥的信息,所述第一密钥的信息用于指示所述目标设备更新所述第一密钥。
也就是说,当整车生产中心或售后服务中心需对车辆内的目标设备(即可以为车辆内的待更新密钥的ECU)进行密钥更新时,可先通过密钥更新装置向目标设备发送第一请求,以使得目标设备根据第一请求,获取目标设备所在车辆的车辆识别码(vehicle identification number,VIN)以及目标设备的唯一识别符(unique identifier,UID),相当于得到第一识别码和第一识别符,并将第一识别码和第一识别符发送至密钥更新装置。
密钥更新装置接收到目标设备发送的第一识别码和第一识别符后,则将第一识别码和第一识别符关联,即将目标设备与其所在车辆关联。接着,密钥更新装置可获取第一识别符对应的第一密钥,并基于第一密钥生成第一密钥的信息,第一密钥即为目标设备所需更新的密钥。
最后,密钥更新装置将第一密钥的信息发送至目标设备,以使得目标设备解析第一密钥的信息得到第一密钥,并完成第一密钥的更新。
从上述方法可以看出:密钥更新装置可先将第一请求发送至车辆内的目标设备,第一请求用于获得第一识别码和第一识别符,第一识别码和第一识别符关联。密钥更新装置接收来自目标设备的第一识别码和第一识别符后,则获取第一识别符对应的第一密钥的信息,并将第一密钥的信息发送至目标设备,以使得目标设备根据第一密钥的信息更新第一密钥。
可见,整车生产中心或售后服务中心可通过密钥更新装置,令目标设备将原始密钥更新为第一密钥,即整车生产中心或售后服务中心可不断更新目标设备的密钥,以增加目标设备的密钥的强度,使其能够抵挡攻击者的入侵,保持车辆的正常运行,从而保证乘客的生命安全。
在一种可能的实现方式中,该方法还包括:第一服务器获取第一校验值和第二校验值,第一校验值和第二校验值均基于第一密钥生成;在第一校验值与第二校验值相同的情况下,则确定第一密钥更新成功。前述实现方式中,密钥更新装置包含第一服务器和第二服务器。第一服务器可接收第二服务器发送的第一校验值。在目标设备完成密钥更新后,第一服务器还可接收目标设备发送的第二校验值。第一服务器得到第二校验值后,可比较第一校验值和第二校验值,若二者相同,则确定密钥更新成功,若二者不相同,则确定密钥更新失败。
在一种可能的实现方式中,第一校验值为第二服务器基于第一密钥进行计算得到的,第二校验值为目标设备更新第一密钥得到的。前述实现方式中,第二服务器在获取第一识别符对应的第一密钥后,可基于第一密钥生成第一密钥的信息以及第一校验值,并将第一密钥的信息以及第一校验值发送至第一服务器。进一步地,目标设备在根据第一密钥的信息更新第一密钥时,还可生成第二校验值,并把第二校验值发送至第一服务器。如此一来,第一服务器可利用第一校验值和第二校验值,判断密钥更新是否成功。
在一种可能的实现方式中,该方法还包括:第二服务器获取第三校验值,第三校验值为目标设备在获取第一识别符的过程中得到的;在第一识别符存在于第二服务器中,且第一识别符与第一识别码关联的情况下,则基于第一密钥以及第一识别符生成第四校验值;在第三校验值与第四校验值相同的情况下,则保持第一识别符与第一识别码之间的关联关系。前述实现方式中,第二服务器若确定数据库中已存在第一识别符,且第一识别符与第一识别码关联,说明目标设备与其所在的车辆已关联,故可基于第一识别符对应的第一密钥以及第一识别符生成第四校验值,并将第四校验值与来自目标设备的第三校验值进行比较,若二者相同,说明第一识别符未被篡改,则保持第一识别符与第一识别码之间的关联关系,即保持目标设备与其所在的车辆之间的关联关系。
在一种可能的实现方式中,该方法还包括:第二服务器获取第三校验值,第三校验值为目标设备在获取第一识别符的过程中得到的;在第一识别符存在于第二服务器中,且第一识别符与除第一识别码之外的其余识别码关联的情况下,则基于第一密钥以及第一识别符生成第四校验值;在第三校验值与第四校验值相同的情况下,则将第一识别符关联至第一识别码。前述实现方式中,第二服务器若确定数据库中已存在第一识别符,且第一识别符与除第一识别码之外的其余识别码关联,说明目标设备与其它车辆已关联,故可基于第一识别符对应的第一密钥以及第一识别符生成第四校验值,并将第四校验值与来自目标设备的第三校验值进行比较,若二者相同,说明第一识别符未被篡改,则将第一识别符与第一识别码关联,即将目标设备与其所在的车辆关联。
在一种可能的实现方式中,该方法还包括:第二服务器获取第三校验值,第三校验值为目标设备在获取第一识别符的过程中得到;在第一识别符未存在于第二服务器中的情况 下,则基于预置的第二密钥以及第一识别符生成第五校验值,第二密钥与目标设备的类型对应;在第三校验值与第五校验值相同的情况下,则将第一识别符关联至第一识别码。前述实现方式中,第二服务器若确定数据库中未存在第一识别符,说明目标设备未与任何车辆已关联,故可基于预置的第二密钥以及第一识别符生成第五校验值,其中,第二密钥可为临时密钥(temporary key,TK)。然后,第二服务器将第五校验值与来自目标设备的第三校验值进行比较,若二者相同,说明第一识别符未被篡改,则将第一识别符与第一识别码关联,即将目标设备与其所在的车辆关联。
在一种可能的实现方式中,第一密钥包括以下其中一种:(1)主密钥(master ecu key,MEK)链表中的当前MEK;(2)当前MEK以及安全车载通信密钥(secure onboard communication key,SK);(3)当前MEK以及数字化设备认证密钥(device authentication key,DK);(4)当前MEK、SK以及DK。
在一种可能的实现方式中,基于第一密钥以及第一识别符生成第四校验值包括:基于MEK链表中的任意一个MEK以及第一识别符生成第四校验值。
本申请实施例的第二方面提供了一种密钥更新方法,该方法包括:
目标设备接收来自密钥更新装置的第一服务器的第一请求,第一请求用于获得第一识别码和第一识别符,第一识别码关联第一识别符。
然后,目标设备可根据第一请求,获取目标设备所在车辆的VIN以及目标设备的UID,相当于得到第一识别码和第一识别符,并将第一识别码和第一识别符发送至第一服务器。
最后,目标设备接收第一服务器发送的与第一识别符对应的第一密钥的信息,并根据第一密钥的信息更新第一密钥。
从上述方法可以看出:密钥更新装置可先将第一请求发送至车辆内的目标设备,第一请求用于获得第一识别码和第一识别符,第一识别码和第一识别符关联。密钥更新装置接收来自目标设备的第一识别码和第一识别符后,则获取第一识别符对应的第一密钥的信息,并将第一密钥的信息发送至目标设备,以使得目标设备根据第一密钥的信息更新第一密钥。可见,整车生产中心或售后服务中心可通过密钥更新装置,令目标设备将原始密钥更新为第一密钥,即整车生产中心或售后服务中心可不断更新目标设备的密钥,以增加目标设备的密钥的强度,使其能够抵挡攻击者的入侵,保持车辆的正常运行,从而保证乘客的生命安全。
在一种可能的实现方式中,第一密钥包括以下其中一种:(1)MEK链表中的当前MEK;(2)当前MEK以及SK;(3)当前MEK以及DK;(4)当前MEK、SK以及DK。
本申请实施例的第三方面提供了一种密钥更新装置,该装置包括:第一处理模块,用于向目标设备发送第一请求,第一请求用于获得第一识别码和第一识别符,第一识别码关联第一识别符;第二处理模块,用于获取第一识别符对应的第一密钥的信息,第一密钥的信息用于指示目标设备更新第一密钥。
从上述装置可以看出:密钥更新装置可先将第一请求发送至车辆内的目标设备,第一请求用于获得第一识别码和第一识别符,第一识别码和第一识别符关联。密钥更新装置接收来自目标设备的第一识别码和第一识别符后,则获取第一识别符对应的第一密钥的信息, 并将第一密钥的信息发送至目标设备,以使得目标设备根据第一密钥的信息更新第一密钥。可见,整车生产中心或售后服务中心可通过密钥更新装置,令目标设备将原始密钥更新为第一密钥,即整车生产中心或售后服务中心可不断更新目标设备的密钥,以增加目标设备的密钥的强度,使其能够抵挡攻击者的入侵,保持车辆的正常运行,从而保证乘客的生命安全。
在一种可能的实现方式中,第一处理模块,还用于:获取第一校验值和第二校验值,第一校验值和第二校验值均基于第一密钥生成;在第一校验值与第二校验值相同的情况下,则确定第一密钥更新成功。
在一种可能的实现方式中,第一校验值为第二处理模块基于第一密钥进行计算得到的,第二校验值为目标设备更新第一密钥得到的。
在一种可能的实现方式中,第二处理模块,还用于:获取第三校验值,第三校验值为目标设备在获取第一识别符的过程中得到的;在第一识别符存在于第二服务器中,且第一识别符与第一识别码关联的情况下,则基于第一密钥以及第一识别符生成第四校验值;在第三校验值与第四校验值相同的情况下,则保持第一识别符与第一识别码之间的关联关系。
在一种可能的实现方式中,第二处理模块,还用于:获取第三校验值,第三校验值为目标设备在获取第一识别符的过程中得到的;在第一识别符存在于第二服务器中,且第一识别符与除第一识别码之外的其余识别码关联的情况下,则基于第一密钥以及第一识别符生成第四校验值;在第三校验值与第四校验值相同的情况下,则将第一识别符关联至第一识别码。
在一种可能的实现方式中,第二处理模块,还用于:获取第三校验值,第三校验值为目标设备在获取第一识别符的过程中得到;在第一识别符未存在于第二服务器中的情况下,则基于预置的第二密钥以及第一识别符生成第五校验值,第二密钥与目标设备的类型对应;在第三校验值与第五校验值相同的情况下,则将第一识别符关联至第一识别码。
在一种可能的实现方式中,第一密钥包括以下其中一种:MEK链表中的当前MEK;当前MEK以及SK;当前MEK以及DK;当前MEK、SK以及DK。
在一种可能的实现方式中,第二处理模块,用于基于MEK链表中的任意一个MEK以及第一识别符生成第四校验值。
本申请实施例的第四方面提供了一种目标设备,该设备包括:接收模块,用于接收来自第一服务器的第一请求,第一请求用于获得第一识别码和第一识别符,第一识别码关联第一识别符;获取模块,用于获取第一识别符对应的第一密钥的信息;更新模块,用于根据第一密钥的信息更新第一密钥。
在一种可能的实现方式中,第一密钥包括以下其中一种:MEK链表中的当前MEK;当前MEK以及SK;当前MEK以及DK;当前MEK、SK以及DK。
本申请实施例的第五方面提供了一种密钥更新装置,该密钥更新装置包括存储器和处理器;
存储器存储有代码,处理器被配置为执行代码,当代码被执行时,密钥更新装置执行如第一方面或第一方面中任意一种可能的实现方式所述的方法。
本申请实施例的第六方面提供了一种目标设备,该目标设备包括存储器和处理器;
存储器存储有代码,处理器被配置为执行代码,当代码被执行时,目标设备执行如第二方面或第二方面中任意一种可能的实现方式所述的方法。
本申请实施例的第七方面提供了一种密钥更新系统,该系统包含如第五方面所述的密钥更新装置和如第六方面所述的目标设备,其中,密钥更新装置和目标设备通信连接。
本申请实施例的第八方面提供了一种计算机存储介质,计算机存储介质存储有计算机程序,该程序由计算机执行时,使得计算机实施如第一方面、第一方面中任意一种可能的实现方式、第二方面或第二方面中任意一种可能的实现方式所述的方法。
本申请实施例的第九方面提供了一种计算机程序产品,计算机程序产品存储有指令,指令在由计算机执行时,使得计算机实施如第一方面、第一方面中任意一种可能的实现方式、第二方面或第二方面中任意一种可能的实现方式所述的方法。
本申请实施例的第十方面提供了一种芯片系统,该芯片系统包括处理器,用于调用存储器中存储的计算机程序或计算机指令,以使得该处理器执行如第一方面、第一方面中任意一种可能的实现方式、第二方面或第二方面中任意一种可能的实现方式所述的方法。
在一种可能的实现方式中,该处理器通过接口与存储器耦合。
在一种可能的实现方式中,该芯片系统还包括存储器,该存储器中存储有计算机程序或计算机指令。
本申请实施例的第十一方面提供了一种处理器,该处理器用于调用存储器中存储的计算机程序或计算机指令,以使得该处理器执行如第一方面、第一方面中任意一种可能的实现方式、第二方面或第二方面中任意一种可能的实现方式所述的方法。
本申请实施例中,密钥更新装置可先将第一请求发送至车辆内的目标设备,第一请求用于获得第一识别码和第一识别符,第一识别码和第一识别符关联。密钥更新装置接收来自目标设备的第一识别码和第一识别符后,则获取第一识别符对应的第一密钥的信息,并将第一密钥的信息发送至目标设备,以使得目标设备根据第一密钥的信息更新第一密钥。可见,整车生产中心或售后服务中心可通过密钥更新装置,令目标设备将原始密钥更新为第一密钥,即整车生产中心或售后服务中心可不断更新目标设备的密钥,以增加目标设备的密钥的强度,使其能够抵挡攻击者的入侵,保持车辆的正常运行,从而保证乘客的生命安全。
图1为本申请实施例提供的密钥更新系统的一个结构示意图;
图2为本申请实施例提供的密钥更新方法的一个流程示意图;
图3为本申请实施例提供的密钥更新方法的另一流程示意图;
图4为本申请实施例提供的第二服务器将UID关联至VIN的一个流程示意图;
图5为本申请实施例提供的密钥更新装置的一个结构示意图;
图6为本申请实施例提供的目标设备的一个结构示意图;
图7为本申请实施例提供的密钥更新装置的另一结构示意图;
图8为本申请实施例提供的目标设备的另一结构示意图。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行详细描述。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。在本申请中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。本申请中所出现的模块的划分,是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行。另外,本申请中的连接、耦合或通信,可以是关联对象之间的直接连接,耦合或通信,或者是通过其他装置的间接连接、耦合或通信,此外,对象之间的连接、耦合或通信可以是电性或其他类似的形式,本申请中均不作限定。独立说明的模块或子模块可以是物理上分离的,也可以不是物理上的分离;可以是软件实现的,也可以是硬件实现的,且可以部分模块或子模块通过软件实现,由处理器调用该软件,实现这部分模块或子模块的功能,且其它部分模板或子模块通过硬件实现,例如通过硬件电路实现。此外,可以根据实际的需要选择其中的部分或全部模块来实现本申请方案的目的。
“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
随着技术的发展,汽车已经成为人们日常生活中不可或缺的交通工具。车辆中的电子控制单元(electronic control unit,ECU)是控制车辆的重要部件,车辆可包含多个ECU,不同的ECU负责实现不同的功能,例如动力、车门、转向等。若ECU遭受到攻击者的入侵,将影响车辆的正常运行。目前,ECU安全防护机制的核心是使用密钥来保证ECU的安全。
整车生产中心在制造车辆时,可向车辆中的各个ECU写入密钥,以保证ECU和车辆的安全。车辆售出后,车辆中的各个ECU会持续使用整车生产中心所提供的原始密钥,实现相应的功能。然而,随着时间的推移,ECU所使用的原始密钥,可能抵挡不住攻击者的入侵,导致车辆无法正常运行,进而威胁乘客的生命安全。
为了解决上述问题,本申请实施例提供了一种密钥更新方法,该方法可应用于密钥更新系统中。图1为本申请实施例提供的密钥更新系统的一个结构示意图,如图1所示,该系统包括:部署于车辆内的目标设备和部署于后台(或称为车辆外)的密钥更新装置,目标设备和密钥更新装置通信连接。其中,密钥更新装置可包含第一服务器和第二服务器,第一服务器和第二服务器可部署于同一物理机中,也可部署于不同物理机中。第二服务器可通过第一服务器接入目标设备,从而使得第二服务器和目标部件之间可实现信息交互。
下文将对目标设备、第一服务器和第二服务器进行简单的介绍:
在车辆内,目标设备通常指待更新密钥的ECU,该ECU可以为新添加至车辆中的ECU,也可以是已设置于车辆中的旧ECU等等,此处不做限制。
在车辆外,后台通常指整车生成中心,或,车辆的售后服务中心和整车生产中心的组合。无论后台为前述哪一种情况,第一服务器均可通过诊断仪的形式呈现,即第二服务器可通过诊断仪接入待更新密钥的ECU。应理解,前述例子仅以第一服务器为诊断仪进行示意性说明,第二服务器还可通过其他工具接入ECU,并不对本申请实施例中第一服务器的类型造成限制。
当后台为整车生产中心时,第二服务器可包括密钥管理系统(key management system,KMS)服务器和原始设备制造商(original equipment manufacturer,OEM)服务器,二者之间可实现通信。当后台为售后服务中心和整车生产中心的组合时,第二服务器可包括位于售后服务中心侧的经销商(dealer)服务器和位于整车生产中心侧的KMS服务器,二者之间可实现通信。需要说明的是,经销商服务器、KMS服务器和OEM服务器可以为不同的物理机,也可以是部署于同一台物理机(或不同物理机)上的云实例,例如,虚拟机(virtual machine,VM)和容器(docker)等等,此处不做限制。
KMS服务器用于生成、存储以及管理各个ECU的密钥,例如,各个ECU的MEK,TK,SK以及DK等等。诊断仪可通过OEM服务器(或经销商服务器),向KMS服务器请求密钥。KMS可通过OEM服务器(或经销商服务器)向诊断仪下发密钥,以使得诊断仪将密钥写入ECU,并在诊断仪处验证密钥更新是否成功。
为了进一步了解上述过程,下文结合图2对上述过程做具体介绍。图2为本申请实施例提供的密钥更新方法的一个流程示意图,该方法包括:
201、密钥更新装置向目标设备发送第一请求,第一请求用于获得第一识别码和第一识别符,第一识别码关联第一识别符。
当后台需对车辆内的目标设备进行密钥更新时(例如,向车辆中的新ECU写入密钥,或对车辆中某个旧ECU的密钥进行更新等),可先通过密钥更新装置向目标设备发送第一请求,以使得目标设备根据第一请求,获取目标设备所在车辆的VIN以及目标设备的UID,相当于得到第一识别码和第一识别符,并将第一识别码和第一识别符等信息发送至密钥更新装置。
密钥更新装置接收到目标设备发送的第一识别码和第一识别符后,则将第一识别码和第一识别符关联(也可以理解为,将第一识别码和第一识别符绑定),即将目标设备与其所在车辆关联。接着,密钥更新装置可获取第一识别符对应的第一密钥,并基于第一密钥生成第一密钥的信息,第一密钥即为目标设备所需更新的密钥,目标设备所需更新的密钥可以有多种,例如,MEK、SK和DK等等。
202、密钥更新装置获取第一识别符对应的第一密钥的信息,第一密钥的信息用于指示目标设备更新第一密钥。
得到第一密钥的信息后,密钥更新装置将第一密钥的信息发送至目标设备,以使得目标设备解析第一密钥的信息得到第一密钥,并将原先存储的密钥更新为第一密钥。
本申请实施例中,密钥更新装置可先将第一请求发送至车辆内的目标设备,第一请求用于获得第一识别码和第一识别符,第一识别码和第一识别符关联。密钥更新装置接收来自目标设备的第一识别码和第一识别符后,则获取第一识别符对应的第一密钥的信息,并 将第一密钥的信息发送至目标设备,以使得目标设备根据第一密钥的信息更新第一密钥。可见,整车生产中心或售后服务中心可通过密钥更新装置,令目标设备将原始密钥更新为第一密钥,即整车生产中心或售后服务中心可不断更新目标设备的密钥,以增加目标设备的密钥的强度,使其能够抵挡攻击者的入侵,保持车辆的正常运行,从而保证乘客的生命安全。
为了进一步理解本申请实施例提供的密钥更新方法,下文将结合图3对本申请实施例提供的密钥更新方法作进一步的介绍。图3为本申请实施例提供的密钥更新方法的另一流程示意图,如图3所示,该方法包括:
301、第一服务器向目标设备发送第一请求,第一请求用于获取第一识别码和第一识别符。
当后台需要对车辆的目标部件进行密钥更新时(例如,向车辆中的新ECU写入密钥,或对车辆中某个旧ECU的密钥进行更新等),可通过第一服务器向目标设备发送第一请求,该第一请求用于指示目标设备发送目标部件所在车辆的VIN(即前述的第一识别码),以及目标设备的UID(即前述的第一识别符)。一般地,第一服务器和目标设备之间可基于统一诊断服务(unified diagnostic services,UDS)协议传输第一请求,即第一请求的格式符合UDS协议的要求。
值得注意的是,第一服务器预置有目标设备的类型等信息,例如,当需要对ECU1、ECU2和ECU3进行密钥更新时,第一服务器则预置有ECU1的类型、ECU2的类型和ECU3的类型等信息。ECU的类型等信息可由第二服务器预置于第一服务器中,也可人工预置于第一服务器中,此处不做限制。由此可见,在第一服务器向目标设备发送第一请求时,第一服务器已确定目标设备的类型。
302、第一服务器接收来自目标设备的第一识别码和第一识别符。
示例性的,目标设备接收到第一请求后,可基于该第一请求,直接读取其所在车辆的VIN。与此同时,目标设备还可调用某通信协议中的函数CMD_RND,利用CMD_RND生成一个随机数,记为CHALLENGE(挑战值)。接着,目标设备还可调用函数CMD_GET_ID,以CHALLENGE作为CMD_GET_ID的输入,得到目标设备的UID、目标设备的状态寄存器(status register,SREG)以及消息认证码(message authentication code,MAC)1(即前述的第三校验值)等信息。
得到目标设备所在车辆的VIN、目标设备的UID、CHALLENGE、SREG以及MAC1等信息后,目标设备可基于UDS协议,将目标设备所在车辆的VIN、目标设备的UID、SREG以及MAC1等信息发送至第一服务器。
303、第一服务器将包含第一识别码和第一识别符的第二请求发送至第二服务器。
第一服务器接收到目标设备所在车辆的VIN、目标设备的UID、CHALLENGE、SREG以及MAC1等信息后,相当于确定了目标设备的具体信息,故可向第二服务器请求目标设备的密钥。具体地,第一服务器可生成包含目标设备的类型、目标设备所在车辆的VIN、目标设备的UID、CHALLENGE、SREG以及MAC1等信息的第二请求,并将该第二请求发送至服务器。
304、第二服务器将第一识别符关联至第一识别码,并获取第一识别符对应的第一密钥。
第二服务器接收到第二请求后,可解析第二请求,得到目标设备的类型、目标设备所在车辆的VIN、目标设备的UID、CHALLENGE、SREG以及MAC1等信息。第二服务器具有数据库,该数据库记录有设备与车辆之间的关联关系,即设备的UID与车辆的VIN之间的关联关系。为了便于理解前述关联关系,下文结合表1、表2对数据库记录的设备与车辆之间的关联关系进行示意性介绍,如表1和表2所示:
表1
车辆1 | ECU1 | ECU2 | … | ECUn |
VIN1 | UID1 | UID2 | … | UIDn |
表2
车辆2 | ECUn+1 | ECUn+2 | … | ECUm |
VIN2 | UIDn+1 | UIDn+2 | … | UIDm |
基于表1和表2可知,第二服务器的数据库中记录有车辆1和车辆2的信息,其中,车辆1与ECU1、…、ECUn关联,车辆2与ECUn+1、…、ECUm关联,即VIN1(车辆1的VIN)与UID1(ECU1的UID)、…、UIDn(ECUn的UID)关联,VIN2(车辆2的VIN)与UIDn+1(ECUn+1的UID)、…、UIDm(ECUm的UID)关联。
因此,第二服务器可遍历数据库,从而判断数据库中是否存在目标设备的UID,若确定已存在该UID,说明该UID已关联至某一个VIN,即目标设备已关联至某一车辆,若确定未存在目标设备的UID,说明该UID未关联至任意一个VIN,即目标设备未关联至任意车辆。无论数据库中是否存在该UID,第二服务器均会将该UID关联至目标设备所在车辆的VIN,从而完成目标设备与其所在车辆之间的关联。
为了进一步理解上述过程,下文结合图3对前述过程进行介绍。图4为本申请实施例提供的第二服务器将UID关联至VIN的一个流程示意图,如图4所示,第二服务器先遍历数据库,判断数据库中是否存在目标设备的UID,可能出现以下几种情况:
(1)第二服务器若确定已存在该UID,则判断该UID是否与目标设备所在车辆的VIN关联。
(1.1)第二服务器若确定该UID已关联至目标设备所在车辆的VIN,说明目标设备与其所在车辆已关联,故第二服务器可对该UID进行校验,以确定该UID在传输过程中是否被篡改。具体地,第二服务器可先获取该UID对应的MEK链表,MEK链表包含多个MEK,即当前MEK(也可以理解为最新的MEK,即准备写入目标设备的MEK),位于当前MEK之前的第一个MEK(也可理解为旧的MEK),位于当前MEK之前的第二个MEK等等。那么,第二服务器以MEK链表中的任意一个MEK为加密密钥,通过基于密文的消息认证码(cipher-based message authentication code,CMAC)算法对该UID进行计算,得到MAC2(即前述的第四校验值),MAC2的计算公式为:
MAC
MEK=CMAC
MEK(CHALLENGE丨UID丨SREG)
接着,“丨”表示将若干个信息串联得到新的信息,第二服务器可判断MAC2与MAC1是否相同,若相同,说明该UID未被篡改,则维持该UID与目标设备所在车辆的VIN之间的关联关系,相当于维持目标设备与其所在车辆之间的关联关系,若不相同,说明该UID被篡改,则报错。
为了进一步理解上述计算MAC2的过程以及校验MAC2的过程,下文结合一个具体例子进行示意性说明。例如,第二服务器可在MEK链表中,先以当前MEK为加密密钥,通过CMAC算法对该UID进行计算,得到MAC2。然后,第二服务器可比较MAC2与MAC1,若二者相同,则确定该UID未被篡改,若二者不相同,则获取位于当前MEK之前的第一个MEK,以该MEK为加密密钥,通过CMAC算法对该UID进行计算,得到MAC2,并比较MAC2与MAC1,直至MAC2与MAC1相同为止。若是MEK链表中,基于各个MEK计算的MAC2均与MAC1不相同,则确定该UID被篡改,并报错。
(1.2)第二服务器若确定该UID已关联至除目标设备所在车辆的VIN之外的其余VIN,说明目标设备与其它车辆已关联,故第二服务器解除该UID与其余VIN之间的关联关系,并对该UID进行校验,以确定该UID在传输过程中是否被篡改。具体地,第二服务器可先获取该UID对应的MEK链表,MEK链表包含多个MEK,即当前MEK,位于当前MEK之前的第一个MEK,位于当前MEK之前的第二个MEK等等。那么,第二服务器以MEK链表中的任意一个MEK为加密密钥,通过CMAC算法对该UID进行计算,得到MAC2。接着,第二服务器可判断MAC2与MAC1是否相同,若相同,说明该UID未被篡改,则重新将该UID关联至目标设备所在车辆的VIN,相当于目标设备关联至其所在车辆,若不相同,说明该UID被篡改,则报错。
上述计算MAC2的过程以及校验MAC2的过程,可参考(1.1)中所示例子的相关说明部分,此处不再赘述。
(2)第二服务器若确定未存在该UID,说明目标设备未曾与任何车辆关联,则对该UID进行校验,以确定该UID在传输过程中是否被篡改。具体地,第二服务器可先基于目标设备的类型,获取相应的TK(即前述的第二密钥)。然后,以TK作为加密密钥,通过CMAC算法对该UID进行计算,得到MAC3(即前述的第五校验值),MAC3的计算公式为:
MAC
TK=CMAC
TK(CHALLENGE丨UID丨SREG)
接着,第二服务器可判断MAC3与MAC1是否相同,若相同,说明该UID未被篡改,则将该UID关联至目标设备所在车辆的VIN,相当于目标设备关联至其所在车辆,若不相同,说明该UID被篡改,则报错。
第二服务器将目标设备的UID关联至目标设备所在车辆的VIN后,可从数据库中获取目标设备所需写入的密钥(即前述的第一密钥)。下文结合表3对前述过程进行示意性介绍,如表3所示:
表3
基于表3可知,第二服务器的数据库中记录有UID1对应的Key
ID,ID,C
ID(计数器值)以及AuthID。其中,当ID不同时,相应的Key
ID为不同的密钥。例如,当ID=1时,Key
ID从MEK链表中取值,即Key
ID=MEK链表中的当前MEK。当ID=4时,Key
ID=SK1(也可理解为最新的SK)。当ID=5时,Key
ID=DK1(也可以理解为最新的DK)。此外,无论ID为何种取值,AuthID均为1。C
1、C
4以及C
5为计数器的不同取值,可用于防止重放攻击。
可见,第二服务器将目标设备的UID关联至目标设备所在车辆的VIN后,可获取该UID对应的Key
ID、ID、C
ID以及AuthID。在实际应用中,目标设备所需写入的密钥可以为多种组合,例如,设某个ECU所需写入的密钥为MEK,第二服务器则只会从数据库中获取ID=1,AuthID=1,C
1以及Key
ID=当前MEK。又如,设某个ECU所需写入的密钥为MEK以及SK,第二服务器则会从数据库中获取两组信息,其中一组为ID=1,AuthID=1,C
1以及Key
ID=当前MEK,另一组为ID=4,AuthID=1,C
4以及Key
ID=SK1。再如,设某个ECU所需写入的密钥为MEK以及DK,第二服务器则会从数据库中获取两组信息,其中一组为ID=1,AuthID=1,C
1以及Key
ID=当前MEK,另一组为ID=5,AuthID=1,C
5以及Key
ID=SK1。还如,设某个ECU所需写入的密钥为MEK、SK以及DK,第二服务器则会从数据库中获取三组信息,其中第一组为ID=1,AuthID=1,C
1以及Key
ID=当前MEK,第二组为ID=4,AuthID=1,C
4以及Key
ID=SK1,第三组为ID=5,AuthID=1,C
5以及Key
ID=SK1等等。
应理解,对于前述例子(1)而言,由于数据库中存在目标设备的UID,故可直接获取该UID对应的Key
ID、ID、C
ID以及AuthID。对于前述例子(2)而言,由于数据库中不存在该UID,数据库中也就不存在该UID对应的Key
ID、ID、C
ID以及AuthID。因此,在出现例子(2)时,第二服务器可通过数据库生成该UID对应的Key
ID、ID、C
ID以及AuthID,从而得到这部分信息。
还应理解,前述写入目标设备的密钥包含MEK、SK和DK,并不对本实施例对目标设备写入的密钥类型构成限制,还可以是除MEK、SK和DK之外的其它密钥等等。
还应理解,本实施例可通过CMAC算法计算校验值,也可通过其他加密算法计算校验值,并不对本实施例中的加密算法构成限制。
305、第二服务器将第一密钥的信息发送至第一服务器。
第二服务器得到该UID对应的Key
ID、ID、C
ID以及AuthID后,可基于这部分信息生成M1、M2、M3、M4和M5(M1、M2和M3为前述的第一密钥的信息,M5为前述的第一校验值)。
为了便于说明,以目标设备所需写入的密钥仅为MEK进行示意性说明,故第二服务 器可从数据库中得到一组信息,即ID=1,AuthID=1,C
1以及Key
ID=当前MEK。基于这部分信息,第二服务器可先利用国密SM2算法的密钥派生函数KDF生成K1、K2、K3和K4,其中,K1和K2基于KeyAuthID生成,K3和K4基于KeyID生成,K1至K4的计算公式如下:
K1=KDF(KEY
AuthID,KEY_UPDATE_ENC_C)
K2=KDF(KEY
AuthID,KEY_UPDATE_MAC_C)
K3=KDF(KEY
ID,KEY_UPDATE_ENC_C)
K4=KDF(KEY
ID,KEY_UPDATE_MAC_C)
上式中,由于AuthID=1,基于表3可知,KEY
AuthID可从MEK链表中取值。MEK链表中有多个MEK,对于前述例子(1.1)和例子(1.2),若确定基于某个MEK生成的MAC2与MAC1相同,KEY
AuthID则为该MEK。对于前述例子(2),KEY
AuthID为MEK链表中的当前MEK(由于MEK链表是新生成的,MEK链表中仅包含一个最新的MEK,即当前MEK)。KEY_UPDATE_ENC_C和KEY_UPDATE_MAC_C为预置的常量。
得到K1至K4后,可基于K1至K4生成M1至M5。M1至M5的计算公式如下:
M1=UID|ID|AuthID
M2=ENC
CBC,K1,IV=0(C
ID|"0...0"
5|"0...0"
95|KEY
ID)
M3=CMAC
K2(M1|M2)
M4*=ENC
ECB,K3(C
ID)
M4=UID|ID|AuthID|M4*
M5=CMAC
K4(M4)
上式中,M1通过UID、ID以及AuthID串联而成。M2是将C
ID、F
ID(即上式中的95个0)以及KEY
ID串联后,以K1为加密密钥,通过密文分组链接(cipher block chaining,CBC)模式对串联后的值加密得到。M3是将M1和M2串联后,以K2为加密密钥,通过CMAC算法对串联后的值进行计算得到。M4*是以K3为加密密钥,经过电码本(Electronic Code Book,ECB)模式对C
ID加密得到。M4是将UID、ID、AuthID以及M4*串联而成。M5是以K4为加密密钥,通过CMAC算法对M4进行计算得到。
如此一来,第二服务器可得到一组M1至M5。应理解,若目标设备所需写入的密钥还包含SK,第二服务器还可从数据库获取SK对应的信息,并基于这部分信息生成另一组M1至M5(生成过程可参考前述相关说明,此处不再赘述)。同样地,若目标设备所需写入的密钥还包含DK,第二服务器还可从数据库获取DK对应的信息,并基于这部分信息生成另一组M1至M5等等。可见,若目标设备所需写入的密钥进包含MEK,第二服务器可得到一组M1至M5,若目标设备所需写入的密钥进包含MEK和SK(也可以是MEK和DK),第二服务器可得到两组M1至M5,若目标设备所需写入的密钥进包含MEK、SK和DK,第二服务器可得到三组M1至M5等等,后续不再赘述。
第二服务器得到M1至M5后,可将M1至M5发送至第一服务器。
306、第一服务器将第一密钥的信息发送至目标设备。
第一服务器得到M1至M5后,可保留M4和M5,并将M1至M3发送至目标设备。
应理解,本实施例仅以第一服务器和第二服务器部署于不同的物理机中进行示意性说明,相应地,第二服务器可通过第一服务器向目标设备发送M1至M3也是示意性说明,并不对本实施例中密钥更新装置向目标设备发送M1至M3的方式构成限制。例如,当第一服务器和第二服务器部署于同一物理机时(相当于第一服务器和第二服务器为同一台物理机),第二服务器可直接向目标设备发送M1至M3。
307、目标设备根据第一密钥的信息更新第一密钥。
目标设备接收到M1至M3后,可调用某通信协议中的函数CMD_LOAD_KEY,利用该函数,目标设备可完成以下功能:(1)解析M1和M2,从而得到ID和KEY
ID等信息。(2)利用M3校验M1和M2中的内容是否被篡改,若确定未被篡改,可根据ID更新相应的KEY
ID,从而完成密钥更新。(3)完成密钥更新后,计算M5’(即前述的第二校验值),返回至第一服务器,以使得第一服务器根据M5’验证密钥更新是否成功。
为了进一步理解上述过程,下文结合表4对上述过程作进一步的介绍。在AUTOSAR协议中,密钥在ECU中的存储地址如表4所示:
表4
密钥名字 | 存储地址 |
secret key | 0x0 |
master ecu key | 0x1 |
boot mac key | 0x2 |
boot mac | 0x3 |
key1 | 0x4 |
key2 | 0x5 |
key3 | 0x6 |
key4 | 0x7 |
key5 | 0x8 |
key6 | 0x9 |
key7 | 0xa |
key8 | 0xb |
key9 | 0xc |
key10 | 0xd |
ram key | 0xe |
在表4中,存储地址0x1与ID=1对应,存储地址0x4与ID=4对应,存储地址0x5与ID=5对应。那么,在ECU的存储器中,与存储地址0x1对应的存储区域,则用于存储MEK。与存储地址0x4对应的存储区域,则用于存储SK。与存储地址0x5对应的存储区域,则用于存储DK。
由此可见,目标设备得到ID和KEY
ID后,可根据ID的值,将KEY
ID写入相应的存储区域,从而完成密钥更新。例如,设目标设备获取到ID=1,KEY
ID=当前MEK,ID=4, KEY
ID=SK1等信息,相当于ECU获取到了最新的MEK和SK,故ECU根据ID=1和ID=4,可分别将当前MEK和SK1写入相应的存储区域,完成密钥的写入或更新,即完成密钥更新。
完成密钥更新后,目标设备还可生成M5’(其生成过程可参考M5的生成过程,此处不再赘述),并将M5’返回至第一服务器。第一服务器比较M5’与M5,若二者相同,则确定密钥更新成功,若二者不相同,则确定密钥更新失败,并报错。
本申请实施例中,密钥更新装置可先将第一请求发送至车辆内的目标设备,第一请求用于获得第一识别码和第一识别符,第一识别码和第一识别符关联。密钥更新装置接收来自目标设备的第一识别码和第一识别符后,则获取第一识别符对应的第一密钥的信息,并将第一密钥的信息发送至目标设备,以使得目标设备根据第一密钥的信息更新第一密钥。可见,整车生产中心或售后服务中心可通过密钥更新装置,令目标设备将原始密钥更新为第一密钥,即整车生产中心或售后服务中心可不断更新目标设备的密钥,以增加目标设备的密钥的强度,使其能够抵挡攻击者的入侵,保持车辆的正常运行,从而保证乘客的生命安全。
更进一步地,本申请实施例可以使得售后服务中心和整车生产中心,在各种场景下(例如,向车辆中的新ECU写入密钥,或对车辆中旧ECU的密钥进行更新等场景),以统一、简单的标准化流程向目标设备更新密钥,从而确保目标设备的安全。
更进一步地,MEK、SK、DK等密钥只有密钥更新装置和目标设备两个实体掌握,在密钥更新装置端加密保护,在目标设备端解密更新,实现端到端的密钥安全保护。
更进一步地,目标设备完成密钥更新后,由第一服务器(例如,诊断仪)验证密钥更新是否成功,此时,第一服务器与第二服务器之间可断开连接,即第一服务器可离线完成的密钥更新的验证,降低对第二服务器的依赖,提高了整个流程的稳定性和可靠性。
以上是对本申请实施例提供的密钥更新方法所进行的详细说明,以下将对本申请实施例提供的密钥更新装置进行介绍。图5为本申请实施例提供的密钥更新装置的一个结构示意图,如图5所示,该装置包括:
第一处理模块501,用于向目标设备发送第一请求,第一请求用于获得第一识别码和第一识别符,第一识别码关联第一识别符。其中,第一处理模块501可以为前述的第一服务器。
第二处理模块502,用于获取第一识别符对应的第一密钥的信息,第一密钥的信息用于指示目标设备更新第一密钥。其中,第二处理模块502可以为前述的第二服务器。
在一种可能的实现方式中,第一处理模块501,还用于:获取第一校验值和第二校验值,第一校验值和第二校验值均基于第一密钥生成;在第一校验值与第二校验值相同的情况下,则确定第一密钥更新成功。
在一种可能的实现方式中,第一校验值为第二处理模块502基于第一密钥进行计算得到的,第二校验值为目标设备更新第一密钥得到的。
在一种可能的实现方式中,第二处理模块502,还用于:获取第三校验值,第三校验值为目标设备在获取第一识别符的过程中得到的;在第一识别符存在于第二服务器中,且 第一识别符与第一识别码关联的情况下,则基于第一密钥以及第一识别符生成第四校验值;在第三校验值与第四校验值相同的情况下,则保持第一识别符与第一识别码之间的关联关系。
在一种可能的实现方式中,第二处理模块502,还用于:获取第三校验值,第三校验值为目标设备在获取第一识别符的过程中得到的;在第一识别符存在于第二服务器中,且第一识别符与除第一识别码之外的其余识别码关联的情况下,则基于第一密钥以及第一识别符生成第四校验值;在第三校验值与第四校验值相同的情况下,则将第一识别符关联至第一识别码。
在一种可能的实现方式中,第二处理模块502,还用于:获取第三校验值,第三校验值为目标设备在获取第一识别符的过程中得到;在第一识别符未存在于第二服务器中的情况下,则基于预置的第二密钥以及第一识别符生成第五校验值,第二密钥与目标设备的类型对应;在第三校验值与第五校验值相同的情况下,则将第一识别符关联至第一识别码。
在一种可能的实现方式中,第一密钥包括以下其中一种:MEK链表中的当前MEK;当前MEK以及SK;当前MEK以及DK;当前MEK、SK以及DK。
在一种可能的实现方式中,第二处理模块502,用于基于MEK链表中的任意一个MEK以及第一识别符生成第四校验值。
图6为本申请实施例提供的目标设备的一个结构示意图,如图6所示,该设备包括:
接收模块601,用于接收来自第一服务器的第一请求,第一请求用于获得第一识别码和第一识别符,第一识别码关联第一识别符;
获取模块602,用于获取第一识别符对应的第一密钥的信息;
更新模块603,用于根据第一密钥的信息更新第一密钥。
在一种可能的实现方式中,第一密钥包括以下其中一种:MEK链表中的当前MEK;当前MEK以及SK;当前MEK以及DK;当前MEK、SK以及DK。
需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其带来的技术效果与本申请方法实施例相同,具体内容可参考本申请实施例前述所示的方法实施例中的叙述,此处不再赘述。
图7为本申请实施例提供的密钥更新装置的另一结构示意图。如图7所示,本申请实施例中装置一个实施例可以包括一个或一个以上中央处理器701,存储器702,输入输出接口703,有线或无线网络接口704,电源705。
存储器702可以是短暂存储或持久存储,用于存储程序和场景识别文件。更进一步地,中央处理器701可以配置为与存储器702通信,在该装置上执行存储器702中的一系列指令操作。
本实施例中,中央处理器701可以执行前述图2所示实施例中第一服务器和第二服务器所执行的方法步骤,具体此处不再赘述。
本实施例中,中央处理器701中的具体功能模块划分可以与前述图5中所描述的第一处理模块和第二处理模块等单元模块的划分方式类似,此处不再赘述。
图8为本申请实施例提供的目标设备的另一结构示意图。如图8所示,本申请实施例 中装置一个实施例可以包括一个或一个以上中央处理器801,存储器802,输入输出接口803,有线或无线网络接口804,电源805。
存储器802可以是短暂存储或持久存储,用于存储程序和场景识别文件。更进一步地,中央处理器801可以配置为与存储器802通信,在该目标设备上执行存储器802中的一系列指令操作。
本实施例中,中央处理器801可以执行前述图2所示实施例中目标设备所执行的方法步骤,具体此处不再赘述。
本实施例中,中央处理器801中的具体功能模块划分可以与前述图6中所描述的接收模块、获取模块和更新模块等单元模块的划分方式类似,此处不再赘述。
本申请实施例还涉及一种计算机存储介质,包括计算机可读指令,当所述计算机可读指令被执行时,实现如图2或图3所示实施例中第一服务器、第二服务器和目标设备所执行的方法步骤。
本申请实施例还涉及一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如图2或图3所示实施例中第一服务器、第二服务器和目标设备所执行的方法步骤。
本申请实施例还涉及一种芯片系统,该芯片系统包括处理器,用于调用存储器中存储的计算机程序或计算机指令,以使得该处理器执行如图2或图3所示实施例中第一服务器、第二服务器和目标设备所执行的方法步骤。
在一种可能的实现方式中,该处理器通过接口与存储器耦合。
在一种可能的实现方式中,该芯片系统还包括存储器,该存储器中存储有计算机程序或计算机指令。
本申请实施例还涉及一种处理器,该处理器用于调用存储器中存储的计算机程序或计算机指令,以使得该处理器执行如图2或图3所示实施例中第一服务器、第二服务器和目标设备所执行的方法步骤。
其中,上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制上述图2所示的实施例中的密钥更新方法的程序执行的集成电路。上述任一处提到的存储器可以为只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (24)
- 一种密钥更新方法,其特征在于,所述方法包括:向目标设备发送第一请求,所述第一请求用于获得第一识别码和第一识别符,所述第一识别码关联所述第一识别符;获取所述第一识别符对应的第一密钥的信息,所述第一密钥的信息用于指示所述目标设备更新所述第一密钥。
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:第一服务器获取第一校验值和第二校验值,所述第一校验值和所述第二校验值均基于所述第一密钥生成;在所述第一校验值与所述第二校验值相同的情况下,则确定所述第一密钥更新成功。
- 根据权利要求2所述的方法,其特征在于,所述第一校验值为第二服务器基于所述第一密钥进行计算得到的,所述第二校验值为所述目标设备更新所述第一密钥得到的。
- 根据权利要求1至3任意一项所述的方法,其特征在于,所述方法还包括:第二服务器获取第三校验值,所述第三校验值为所述目标设备在获取所述第一识别符的过程中得到的;在所述第一识别符存在于所述第二服务器中,且所述第一识别符与所述第一识别码关联的情况下,则基于所述第一密钥以及所述第一识别符生成第四校验值;在所述第三校验值与所述第四校验值相同的情况下,则保持所述第一识别符与所述第一识别码之间的关联关系。
- 根据权利要求1至3任意一项所述的方法,其特征在于,所述方法还包括:第二服务器获取第三校验值,所述第三校验值为所述目标设备在获取所述第一识别符的过程中得到的;在所述第一识别符存在于所述第二服务器中,且所述第一识别符与除所述第一识别码之外的其余识别码关联的情况下,则基于所述第一密钥以及所述第一识别符生成第四校验值;在所述第三校验值与所述第四校验值相同的情况下,则将所述第一识别符关联至所述第一识别码。
- 根据权利要求1至3任意一项所述的方法,其特征在于,所述方法还包括:第二服务器获取第三校验值,所述第三校验值为所述目标设备在获取所述第一识别符的过程中得到;在所述第一识别符未存在于所述第二服务器中的情况下,则基于预置的第二密钥以及所述第一识别符生成第五校验值,所述第二密钥与所述目标设备的类型对应;在所述第三校验值与所述第五校验值相同的情况下,则将所述第一识别符关联至所述第一识别码。
- 根据权利要求4至6任意一项所述的方法,其特征在于,所述第一密钥包括以下其中一种:主密钥MEK链表中的当前MEK;所述当前MEK以及安全车载通信密钥SK;所述当前MEK以及数字化设备认证密钥DK;所述当前MEK、所述SK以及所述DK。
- 根据权利要求7所述的方法,其特征在于,所述基于所述第一密钥以及所述第一识别符生成第四校验值包括:基于所述MEK链表中的任意一个MEK以及所述第一识别符生成第四校验值。
- 一种密钥更新方法,其特征在于,所述方法包括:接收来自第一服务器的第一请求,所述第一请求用于获得第一识别码和第一识别符,所述第一识别码关联所述第一识别符;获取所述第一识别符对应的第一密钥的信息;根据所述第一密钥的信息更新所述第一密钥。
- 根据权利要求9所述的方法,其特征在于,所述第一密钥包括以下其中一种:MEK链表中的当前MEK;所述当前MEK以及SK;所述当前MEK以及DK;所述当前MEK、所述SK以及所述DK。
- 一种密钥更新装置,其特征在于,所述装置包括:第一处理模块,用于向目标设备发送第一请求,所述第一请求用于获得第一识别码和第一识别符,所述第一识别码关联所述第一识别符;第二处理模块,用于获取所述第一识别符对应的第一密钥的信息,所述第一密钥的信息用于指示所述目标设备更新所述第一密钥。
- 根据权利要求11所述的装置,其特征在于,所述第一处理模块,还用于:获取第一校验值和第二校验值,所述第一校验值和所述第二校验值均基于所述第一密钥生成;在所述第一校验值与所述第二校验值相同的情况下,则确定所述第一密钥更新成功。
- 根据权利要求12所述的装置,其特征在于,所述第一校验值为第二处理模块基于所述第一密钥进行计算得到的,所述第二校验值为所述目标设备更新所述第一密钥得到的。
- 根据权利要求11至13任意一项所述的装置,其特征在于,所述第二处理模块,还用于:获取第三校验值,所述第三校验值为所述目标设备在获取所述第一识别符的过程中得到的;在所述第一识别符存在于所述第二服务器中,且所述第一识别符与所述第一识别码关联的情况下,则基于所述第一密钥以及所述第一识别符生成第四校验值;在所述第三校验值与所述第四校验值相同的情况下,则保持所述第一识别符与所述第一识别码之间的关联关系。
- 根据权利要求11至13任意一项所述的装置,其特征在于,所述第二处理模块,还用于:获取第三校验值,所述第三校验值为所述目标设备在获取所述第一识别符的过程中得到的;在所述第一识别符存在于所述第二服务器中,且所述第一识别符与除所述第一识别码之外的其余识别码关联的情况下,则基于所述第一密钥以及所述第一识别符生成第四校验值;在所述第三校验值与所述第四校验值相同的情况下,则将所述第一识别符关联至所述第一识别码。
- 根据权利要求11至13任意一项所述的装置,其特征在于,所述第二处理模块,还用于:获取第三校验值,所述第三校验值为所述目标设备在获取所述第一识别符的过程中得到;在所述第一识别符未存在于所述第二服务器中的情况下,则基于预置的第二密钥以及所述第一识别符生成第五校验值,所述第二密钥与所述目标设备的类型对应;在所述第三校验值与所述第五校验值相同的情况下,则将所述第一识别符关联至所述第一识别码。
- 根据权利要求14至16任意一项所述的装置,其特征在于,所述第一密钥包括以下其中一种:MEK链表中的当前MEK;所述当前MEK以及SK;所述当前MEK以及DK;所述当前MEK、所述SK以及所述DK。
- 根据权利要求17所述的装置,其特征在于,所述第二处理模块,用于基于所述MEK链表中的任意一个MEK以及所述第一识别符生成第四校验值。
- 一种目标设备,其特征在于,所述目标设备包括:接收模块,用于接收来自第一服务器的第一请求,所述第一请求用于获得第一识别码和第一识别符,所述第一识别码关联所述第一识别符;获取模块,用于获取所述第一识别符对应的第一密钥的信息;更新模块,用于根据所述第一密钥的信息更新所述第一密钥。
- 根据权利要求19所述的装置,其特征在于,所述第一密钥包括以下其中一种:MEK链表中的当前MEK;所述当前MEK以及SK;所述当前MEK以及DK;所述当前MEK、所述SK以及所述DK。
- 一种密钥更新装置,其特征在于,所述密钥更新装置包括存储器和处理器;所述存储器存储有代码,所述处理器被配置为执行所述代码,当所述代码被执行时,所述密钥更新装置执行如权利要求1至8任意一项所述的方法。
- 一种目标设备,其特征在于,所述目标设备包括存储器和处理器;所述存储器存储有代码,所述处理器被配置为执行所述代码,当所述代码被执行时,所述目标设备执行如权利要求9或10所述的方法。
- 一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,该程序由计算机执行时,使得所述计算机实施权利要求1至10任意一项所述的方法。
- 一种计算机程序产品,其特征在于,所述计算机程序产品存储有指令,所述指令在由计算机执行时,使得所述计算机实施权利要求1至10任意一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/091653 WO2022227057A1 (zh) | 2021-04-30 | 2021-04-30 | 一种密钥更新方法及其相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117223251A true CN117223251A (zh) | 2023-12-12 |
Family
ID=83847545
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180097661.9A Pending CN117223251A (zh) | 2021-04-30 | 2021-04-30 | 一种密钥更新方法及其相关设备 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4329240A4 (zh) |
CN (1) | CN117223251A (zh) |
WO (1) | WO2022227057A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116419217B (zh) * | 2023-06-09 | 2023-09-05 | 广州万协通信息技术有限公司 | Ota数据升级方法、系统、设备及存储介质 |
CN118368055A (zh) * | 2024-05-24 | 2024-07-19 | 重庆赛力斯凤凰智创科技有限公司 | 密钥灌装方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5479408B2 (ja) * | 2011-07-06 | 2014-04-23 | 日立オートモティブシステムズ株式会社 | 車載ネットワークシステム |
US11201736B2 (en) * | 2015-08-05 | 2021-12-14 | Kddi Corporation | Management device, management system, key generation device, key generation system, key management system, vehicle, management method, key generation method, and computer program |
JP6683588B2 (ja) * | 2016-11-10 | 2020-04-22 | Kddi株式会社 | 再利用システム、サーバ装置、再利用方法、及びコンピュータプログラム |
WO2018142504A1 (ja) * | 2017-02-01 | 2018-08-09 | 富士通株式会社 | 暗号鍵配信システム、鍵配信ecu、鍵受信ecu、鍵配信プログラム、鍵受信プログラム及び暗号鍵配信方法 |
US11178133B2 (en) * | 2017-12-19 | 2021-11-16 | Micron Technology, Inc. | Secure vehicle control unit update |
-
2021
- 2021-04-30 WO PCT/CN2021/091653 patent/WO2022227057A1/zh active Application Filing
- 2021-04-30 CN CN202180097661.9A patent/CN117223251A/zh active Pending
- 2021-04-30 EP EP21938531.7A patent/EP4329240A4/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022227057A1 (zh) | 2022-11-03 |
EP4329240A1 (en) | 2024-02-28 |
EP4329240A4 (en) | 2024-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109726229B (zh) | 一种区块链数据存储方法及装置 | |
CN108496322B (zh) | 车载计算机系统、车辆、密钥生成装置、管理方法、密钥生成方法以及计算机可读取的记录介质 | |
CN109040063B (zh) | 车辆ecu密钥的确定方法、装置、设备及存储介质 | |
JP6260067B1 (ja) | 管理システム、鍵生成装置、車載コンピュータ、管理方法、及びコンピュータプログラム | |
Nowdehi et al. | In-vehicle CAN message authentication: An evaluation based on industrial criteria | |
EP3641220A1 (en) | Cryptologic rewritable blockchain | |
US9923722B2 (en) | Message authentication library | |
CN110086755B (zh) | 实现物联网服务的方法、应用服务器、物联网设备和介质 | |
CN108616504B (zh) | 一种基于物联网的传感器节点身份认证系统及方法 | |
CN108197505A (zh) | 区块链业务数据处理方法、装置及电子设备 | |
WO2022227057A1 (zh) | 一种密钥更新方法及其相关设备 | |
CN109314640A (zh) | 车辆信息收集系统、车载计算机、车辆信息收集装置、车辆信息收集方法以及计算机程序 | |
CN112740212B (zh) | 密钥写入方法及装置 | |
US20240275600A1 (en) | Secure element, method for registering tokens, and token reference register | |
JP2018098572A (ja) | 配信システム、データ保安装置、配信方法、及びコンピュータプログラム | |
CN113051622A (zh) | 索引构建方法、装置、设备和存储介质 | |
CN116631093A (zh) | 用于从车辆提取数据的方法和设备 | |
WO2023000313A1 (zh) | 一种密钥验证方法及相关装置 | |
CN118297594A (zh) | 资源处理方法、装置、计算机设备和区块链系统 | |
US20090193224A1 (en) | Techniques for reducing storage space and detecting corruption in hash-based application | |
CN114265815A (zh) | 交通媒体数据存储方法、服务器、存储介质及系统 | |
CN110048856B (zh) | 数据传输方法、装置和pos机系统 | |
CN111079193B (zh) | 数据存储方法、数据查询方法、装置及设备 | |
JP6454919B2 (ja) | 管理システム、データ提供装置、車載コンピュータ、管理方法、及びコンピュータプログラム | |
CN117378169B (zh) | 一种密钥生成方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |