CN112689982B - 数据验证方法、装置及存储介质 - Google Patents
数据验证方法、装置及存储介质 Download PDFInfo
- Publication number
- CN112689982B CN112689982B CN202080005001.9A CN202080005001A CN112689982B CN 112689982 B CN112689982 B CN 112689982B CN 202080005001 A CN202080005001 A CN 202080005001A CN 112689982 B CN112689982 B CN 112689982B
- Authority
- CN
- China
- Prior art keywords
- vehicle
- mounted device
- data
- verification
- information
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- 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
-
- 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/0825—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) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- 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
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/10—Integrity
- H04W12/106—Packet or message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
- H04W4/48—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for in-vehicle communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
- H04L2209/805—Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
- H04W12/069—Authentication using certificates or pre-shared keys
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Traffic Control Systems (AREA)
Abstract
本申请公开了一种数据验证方法及装置,可应用于车联网,例如V2X、LTE‑V、V2V等,或可用于智能驾驶,智能网联车等领域。应用于车辆,所述车辆包括第一车载设备和第二车载设备,该方法包括:所述第一车载设备接收来自第二车载设备的第一消息,所述第一消息包括第一验证信息,所述第一验证信息用于对第一数据进行验证,所述第一数据为所述第二车载设备存储的所述第二车载设备的配置信息;所述第一车载设备根据所述第一车载设备存储的所述第二车载设备的配置信息以及所述第一验证信息,对所述第一数据进行验证。
Description
技术领域
本申请涉及智能网联车技术领域,尤其涉及一种数据验证方法及装置。
背景技术
一辆车内会有多个车载设备,例如,电子控制单元(elecmal control unit,ECU)、传感器、域控制器等。其中,ECU能够用于执行自动驾驶的车辆,例如,可以高级驾驶员辅助系统(advanced driver-assistance systems,ADAS)通过ECU、传感器等车载设备提供的信息进行驾驶决策,而ADAS包括很多传感器,例如摄像机camera、毫米波雷达、超声波雷达或光学雷达(LiDAR)等,这些传感器采集的数据可以通过车载网络与车辆内的其他车载设备进行数据传输。
为实现车辆中各车载设备间的功能,需要对各车载设备进行静态配置。在车载设备完成安装后,应保证各车载设备的配置信息不被篡改,以保证用车安全。
目前,如何高效且便捷地对车载设备的配置信息进行安全保护,还没有较好的方案。
发明内容
本申请提供一种数据验证方法及装置,用以提高车内的车载设备的配置信息的安全性。
第一方面,本申请提供一种数据验证方法,该方法应用于车辆,该车辆包括第一车载设备和第二车载设备,该方法可以在第一车载设备上实现,或者在第一车载设备的芯片上实现。其中,第一车载设备接收来自第二车载设备的第一消息,所述第一消息包括第一验证信息,所述第一验证信息用于对第一数据进行验证,所述第一数据为所述第二车载设备存储的所述第二车载设备的配置信息;第一车载设备根据所述第一车载设备存储的所述第二车载设备的配置信息以及所述第一验证信息,对所述第一数据进行验证。
通过上述方法,第一车载设备存储有第二车载设备的配置信息,进而使得第二车载设备中存储的第二车载设备的配置信息可以通过第一车载设备进行验证,从而使得对车辆内的车载设备的配置信息进行高效且安全的验证,无需额外的验证方式,降低验证难度,提高车内的车载设备的配置信息的安全性。
一种可能的实现方式,所述第二车载设备的配置信息与所述第二车载设备在所述车辆中的位置或者功能相关。
通过上述方法,第二车载设备的配置信息与车辆中的位置或功能相关,例如第二车载设备的配置信息可以包括第二车载设备所在的域,进而,相邻位置的车载设备可以配置在一个域内,减少车载设备间的线束的同时,降低了车载设备间的数据验证的难度,提高了数据验证的效率。
一种可能的实现方式,所述第一消息还包括第一认证信息,所述第一认证信息用于对所述第二车载设备的身份进行认证,所述第一认证信息是根据所述第二车载设备的身份信息生成的;所述第一车载设备根据所述第一认证信息,对所述第二车载设备的身份进行认证。
通过上述方法,在第一车载设备验证第一数据之前,先对第二车载设备的身份进行认证,在确保第二车载设备的身份合法后,再对第一数据进行验证,提高了数据验证的安全性和验证效率。
一种可能的实现方式,所述第一车载设备接收来自所述第二车载设备的第一消息之前,还包括:所述第一车载设备接收来自所述第二车载设备的第二消息,所述第二消息包括第一认证信息,所述第一认证信息用于对所述第二车载设备的身份进行认证,所述第一认证信息是根据所述第二车载设备的身份信息生成的;所述第一车载设备根据所述第一认证信息,确定所述第二车载设备的身份认证成功。
一种可能的实现方式,所述车辆还包括第三车载设备;所述方法还包括:
所述第一车载设备确定所述第一验证信息验证成功;
所述第一车载设备获取来自所述第三车载设备对所述第一数据的验证结果;
所述第一车载设备根据所述第三车载设备对所述第一数据的验证结果,确定所述第三车载设备对所述第一验证信息的验证成功。
通过上述方法,在基于第一车载设备可能出现安全隐患的场景下,通过第三车载设备对第一数据的进一步验证,提高了第一数据验证的有效性。
一种可能的实现方式,所述车辆还包括第三车载设备,所述第三车载设备存储有所述第二车载设备的配置信息,所述第一车载设备根据所述第一车载设备对所述第一数据的验证结果,确定所述第一车载设备对所述第一数据验证失败;所述第一车载设备获取所述第三车载设备对第二数据的验证结果,所述第二数据为所述第一车载设备存储的所述第二车载设备的配置信息;所述第一车载设备根据所述第三车载设备对所述第二数据的验证结果,确定所述第三车载设备对所述第二数据验证成功;所述第一车载设备根据所述第三车载设备对所述第二数据验证成功及所述第一车载设备对所述第一数据验证失败,确定所述第一数据异常。
通过上述方法,在第一车载设备对应第一数据验证失败时,可能的原因是第一车载设备存储的第二数据出现异常,或者,第二车载设备存储的第一数据出现异常。因此,第一车载设备可以根据第三车载设备对第二数据的验证成功和第一车载设备对应第一数据验证失败,确定第一数据出现异常。进而,可以有效的确定出异常的数据,有利于车辆针对异常数据进行相应的处理,提高了数据验证的安全性及车载设备的配置信息的容错性。
一种可能的实现方式,所述车辆还包括第三车载设备,所述第三车载设备存储有所述第二车载设备的配置信息,所述第一车载设备根据所述第一车载设备对所述第一数据的验证结果,确定所述第一车载设备对所述第一数据验证失败;所述第一车载设备获取所述第三车载设备对所述第一数据的验证结果;所述第一车载设备根据所述第三车载设备对所述第一数据的验证结果,确定所述第三车载设备对所述第一数据验证成功;所述第一车载设备根据所述第三车载设备对所述第一数据验证成功及所述第一车载设备对所述第一数据验证失败,确定第二数据异常,所述第二数据为所述第一车载设备存储的所述第二车载设备的配置信息。
通过上述方法,在第一车载设备对应第一数据验证失败时,可能的原因是第一车载设备存储的第二数据出现异常,或者,第二车载设备存储的第一数据出现异常。因此,第一车载设备可以根据第三车载设备对第二数据的验证成功和第一车载设备对应第一数据验证成功,确定第二数据出现异常。进而,可以有效的确定出异常的数据,有利于车辆针对异常数据进行相应的处理,提高了数据验证的安全性及车载设备的配置信息的容错性。
一种可能的实现方式,所述第一车载设备向所述第三车载设备发送第三消息,所述第三消息包括第二验证信息,所述第二验证信息用于对第二数据进行验证,所述第二数据为所述第一车载设备存储的所述第二车载设备的配置信息;所述第一车载设备从所述第三车载设备接收验证反馈消息,所述验证反馈消息包括所述第三车载设备对所述第二数据的验证结果。
通过上述方法,在第一车载设备对应第一数据验证失败时,第一车载设备可以向第三车载设备发送第三消息,用于验证第二数据,进而根据第三车载设备对第二数据的验证成功,确定第一数据出现异常。相对的,若第三车载设备对第二数据的验证失败,则可以确定第二数据出现异常。无需经过其他车载设备对第一车载设备转发第二数据的验证结果,提高了数据验证的效率,以便第一车载设备可以快速应对异常结果。
一种可能的实现方式,所述第一车载设备接收所述第二车载设备发送的所述第三验证信息的验证反馈消息;所述第三验证信息用于第三车载设备对第一数据进行验证,所述第三验证信息为所述第二车载设备向所述第三车载设备发送的;所述第三验证信息的验证反馈消息为所述第二车载设备从所述第三车载设备接收的,所述验证反馈消息包括所述第三车载设备对所述第一数据的验证结果。所述第一车载设备根据所述验证反馈消息,确定所述第一数据的验证结果。
通过上述方法,第一车载设备可以通过第二车载设备向第三车载设备发送的第三验证信息后,获得的第三车载设备对第一数据的验证结果,获取第三车载设备对第一数据的验证结果,进而,根据第三车载设备对第一数据的验证成功,确定第二数据出现异常。相对的,第三车载设备对第一数据的验证失败,则可以确定第一数据出现异常。可以有效的确定出异常的数据,并且,若第一车载设备还存在其他车载设备的验证时,可以通过第二车载设备有效分担验证过程,进而提高验证效率。
一种可能的实现方式,所述第一车载设备向所述第二车载设备发送所述第二数据,所述第二数据用于所述第二车载设备更新所述第一数据。
通过上述方法,在第一车载设备确定第二数据异常时,可以向第二车载设备发送所述第二数据,及时更新第二车载设备中的第二数据,将第二车载设备中的第二数据恢复至正常,提高车载设备的配置信息的容错性。
一种可能的实现方式,所述第一车载设备获取所述第一数据或者所述第三车载设备存储的所述第二车载设备的配置信息;所述第一车载设备根据所述第一数据或者所述第三车载设备存储的所述第二车载设备的配置信息更新所述第二数据。
通过上述方法,在第一车载设备确定第二数据异常时,可以接收第一车载设备发送所述第一数据,及时更新第一车载设备中的第一数据,将第一车载设备中的第一数据恢复至正常,提高车载设备的配置信息的容错性。
一种可能的实现方式,所述第一车载设备向所述第二车载设备发送所述第一数据的验证结果。
通过上述方法,第一车载设备可以主动向第二车载设备发送第一数据的验证结果,无需第二车载设备主动查询,提高数据验证的效率。
一种可能的实现方式,所述第一车载设备向所述第二车载设备发送第五消息;所述第五消息包括第四验证信息;所述第三验证信息用于对所述第一车载设备的第三数据进行验证;所述第三数据为所述第一车载设备存储的所述第一车载设备的配置信息;所述第一车载设备获取所述第二车载设备返回的所述第四验证信息的验证结果。
通过上述方法,第一车载设备中存储的第一车载设备的配置信息可以通过第二车载设备中存储的第一车载设备的配置信息进行验证,以提高第一车载设备的配置信息的安全性。具体验证方式可以参考第一车载设备对第二车载设备的第二数据进行验证的过程。
一种可能的实现方式,所述第一验证信息为根据所述第一数据和第一加密密钥生成的;所述第一加密密钥为所述第二车载设备的加密密钥;所述第一车载设备根据所述第一车载设备存储的第一解密密钥验证所述第一数据;所述第一解密密钥与所述第一加密密钥为一密钥对。
通过上述方法,可以通过第二车载设备的加密密钥,对第一数据进行加密,进而,第一车载设备可以根据第一解密密钥对第一验证信息验证,实现对第一数据的验证。
一种可能的实现方式,所述第一车载设备根据所述第一认证信息对所述第二车载设备的身份进行认证之前,还包括:所述第一车载设备向所述第二车载设备发送第一随机数,所述第一认证信息为所述第二车载设备使用所述第一加密密钥对所述第一随机数运算生成的;所述第一加密密钥为所述第二车载设备的加密密钥;所述第一车载设备根据第一解密密钥和所述第一随机数对所述第一认证信息进行认证;所述第一解密密钥与所述第一加密密钥为一密钥对。
通过上述方法,可以通过第一车载设备发送的第一随机数,使得第二车载设备根据第一随机数,及第一数据,生成第一验证信息,进而,第一车载设备可以根据第一随机数和第二数据对第一验证信息验证,实现对第一数据的验证,有效提高了数据验证的安全性。
一种可能的实现方式,所述第一认证信息还包括:所述第二车载设备的公钥基础设施 PKI证书;所述第一车载设备对所述第二车载设备的PKI证书进行认证。
通过上述方法,可以通过第二车载设备的PKI证书,对第二车载设备的身份信息进行认证,在身份认证合法后,再对第一数据验证,有效提高了数据验证的安全性。
一种可能的实现方式,所述第一车载设备根据所述第一认证信息的认证结果,确定所述第一车载设备对所述第二车载设备的身份认证失败;所述第一车载设备根据所述第一车载设备对所述第二车载设备的身份认证失败,确定所述第二车载设备的身份异常。
通过上述方法,在对第二车载设备的第一数据验证之前,可以根据第一车载设备对所述第二车载设备的身份认证失败,确定第二车载设备的身份异常,进而,避免在第二车载设备的身份异常下还对第一数据进行验证,提高第一数据的验证效率。
第二方面,本申请实施例提供一种数据验证装置,包括用于执行以上第一方面中各个步骤的单元,具体地,可以包括接收单元、发送单元和处理单元。该数据验证装置可以为上述第一方面中的第一车载设备,或者,也可以是所述第一车载设备内的子装置,还可以在所述车辆内以独立于所述第一车载设备的形式存在的装置。该数据验证装置包括实现上述方法相应的模块、单元、或手段(means),该模块、单元、或means可以通过硬件实现,软件实现,或者通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块或单元。
第三方面,本申请实施例还提供了一种数据验证装置,包括至少一个处理器和至少一个存储器,其中该至少一个存储器用于存储程序和数据,该至少一个处理器用于调用并执行至少一个存储器中存储的程序和数据,以执行本申请实施例上述第一方面或第一方面中各种可能的实现方案,或者,执行本申请实施例上述第一方面或第一方面中各种可能的实现方案。其中,处理单元可以基于处理器实现,存储单元可以基于存储器实现。
第四方面,本申请实施例还提供了一种计算机程序产品,当所述计算机程序产品在处理器上运行时,使得所述数据验证装置执行上述第一方面提供的各种可能的方法。
第五方面,本申请实施例还提供了一种计算机存储介质,所述计算机存储介质中存储有计算机程序,当所述计算机程序被处理器执行时,使得所述数据验证装置执行上述第一方面提供的各种可能的方法。
第六方面,本申请实施例还提供了一种芯片,芯片用于读取存储器中存储的计算机程序,以执行上述第一方面提供的各种可能的方法。芯片可以与存储器耦合。
第七方面,本申请实施例还提供了一种芯片系统,该芯片系统包括处理器,用于支持计算机装置实现上述第一方面提供的各种可能的方法。在一种可能的设计中,芯片系统还包括存储器,存储器用于保存该计算机装置必要的程序和数据。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
第八方面,本申请实施例还提供了一种数据验证系统,包括上述第二方面中的用于实现第一车载设备的数据验证功能的数据验证装置、上述第二方面中的用于实现第二车载设备的数据验证功能对应的数据验证装置或上述第二方面中用于实现第三车载设备的数据验证功能的数据验证装置。
上述第二方面至第八方面中的各个方案可以达到的技术效果,可以参照上述第一方面中相应方案的技术效果描述,这里不再重复赘述。
附图说明
图1A为本申请实施例提供的一种车辆的结构示意图;
图1B-图1C为本申请实施例应用的一种车辆的系统架构的示意图;
图2为本申请实施例提供的一种数据验证方法的流程图;
图3为本申请实施例提供的一种数据验证方法的流程图;
图4为本申请实施例提供的一种数据验证方法的流程图;
图5为本申请实施例提供的一种身份认证方法的流程图;
图6为本申请实施例提供的一种数据验证方法的流程图;
图7为本申请实施例提供的一种数据验证方法的流程图;
图8为本申请实施例提供的一种数据验证方法的流程图;
图9为本申请实施例提供的一种数据验证方法的流程图;
图10为本申请实施例提供的一种数据验证方法的流程图;
图11为本申请实施例提供的一种数据验证装置的结构图;
图12为本申请实施例提供的一种数据验证装置的结构图。
具体实施方式
下面将结合附图,对本申请实施例进行详细描述。
下面先对本申请实施例可能涉及的一些概念进行解释和说明,以便更容易理解本申请实施例的实现过程。
1)车载设备,放置或安装在车辆上的设备都可以认为是车载设备。对于能够执行自动驾驶功能的车辆来说,可以通过传感器等车载设备采集的信息经过ADAS系统、移动数据中心(mobile data center,MDC)等处理后实现驾驶决策。
另外,一辆车的车内网络可以包括多个电子控制单元(electronic controlunit,ECU),这些ECU都可以认为是车载设备。车辆内的传感器等车载设备采集的信息还可以通过ECU 对数据处理后,再发送给ADAS系统的处理器或MDC的处理器进行处理。例如,一种ECU 为车载单元(on board unit,OBU),一般安装在车辆上,在电子不停车收费系统(electronic toll collection,ETC)系统中,OBU可以与路边架设路侧单元(road sideunit,RSU)进行通信,例如可以通过微波来通信,也就是说在车辆通过RSU时,OBU和RSU之间可以使用微波进行通信。在ETC系统中,OBU采用专用短距离通信(dedicated short rangecommunications,DSRC)技术,与RSU建立微波通信链路,在车辆行进的途中,在不停车的情况下,可以实现车辆的身份识别或电子扣费等过程。
再比如,车载设备还可以为网关控制器(gateway controller),网关控制器作为整车网络的数据交互枢纽,可将车载控制器局域网络(controller area network,CAN)、局域互联网络 (local interconnect network,LIN)、面向媒体的系统传输(media orientedsystem transport, MOST)、车载网络FlexRay等网络数据在不同网络中进行路由。可以通过网关控制器独立设置,以提高整车拓扑结构的可扩展性、整车的安全性,以及整车网络数据的保密性。
举例来说,网关控制器可以为车载智能终端(telematics BOX,T-BOX),主要用于车与车联网服务平台之间通信,可以包括车载诊断(on-board diagnostics,OBD)、微控制单元 (microcontroller unit,MCU)/中央处理器(central processing unit,CPU)、存储器、通信接口等模块。车辆内部的各个器件或模块与CAN总线相连,实现指令和信息的传递;车辆外部通过云平台与终端设备实现互联,实现车内外信息交互。
T-BOX为一种车载的无线网关,主要用于和车载设备/终端设备通信,实现车辆信息显示与控制,提供包括行车数据采集、行驶轨迹记录、车辆故障监控、驾驶行为分析、无线热点分享、车辆远程查询和控制等服务。T-BOX通过网络实现远程无线通讯、GNSS卫星定位、加速度传感和总线通讯等功能,为整车提供通信接口,通信接口与总线相连,包括 CAN、LIN以及调试接口RS232/RS485/USB2.0,车载以太网(ethernet)等。以CAN总线为例,T-BOX通过接口接入CAN总线,通过CAN网络进行数据采集。主要对车辆信息、整车控制器信息、电机控制器信息、电池管理系统BMS、车载充电机等数据进行采集并解析。采集信息后,T-BOX将采集到的实时数据保存在内部存储介质中。车载终端采集的信息经过处理后,可通过网关集中显示在车载终端的显示屏上,使得用户在显示屏上统一操控,例如,控制门开关、鸣笛闪灯、开启空调、启动发动机、车辆定位。另外,用户还可以通过终端设备实现车辆远程查询和控制,车辆远程查询比如远程查询车辆油箱的油量,车窗车门状态,电池电量,可用行驶里程,可行驶时间等;车辆远程控制包括:远程控制车辆开闭锁、空调控制、车窗控制、发送机扭矩限制、发动机启停等。
或者,如下介绍的各种终端设备,如果位于车辆上(例如放置在车辆内或安装在车辆内),都可以认为是车载终端设备,或者称为车载设备。终端设备,包括向用户提供语音和/或数据连通性的设备,例如可以包括具有无线连接功能的手持式设备、或连接到无线调制解调器的处理设备。该终端设备可以经无线接入网(radio access network,RAN)与核心网进行通信,与RAN交换语音和/或数据。该终端设备可以包括用户设备(user equipment,UE)、无线终端设备、移动终端设备、设备到设备通信(device-to-device,D2D)终端设备、V2X终端设备、机器到机器/机器类通信(machine-to-machine/machine-typecommunications, M2M/MTC)终端设备、物联网(internet of things,IoT)终端设备、订户单元(subscriber unit)、订户站(subscriber station),移动站(mobile station)、远程站(remote station)、接入点(access point,AP)、远程终端(remote terminal)、接入终端(access terminal)、用户终端(user terminal)、用户代理(user agent)、或用户装备(user device)等。例如,可以包括移动电话(或称为“蜂窝”电话),具有移动终端设备的计算机,便携式、袖珍式、手持式、计算机内置的移动车载设备等。例如,个人通信业务(personal communication service,PCS)电话、无绳电话、会话发起协议(sessioninitiation protocol,SIP)话机、无线本地环路(wireless local loop,WLL) 站、个人数字助理(personal digital assistant,PDA)、等设备。还包括受限设备,例如功耗较低的设备,或存储能力有限的设备,或计算能力有限的设备等。例如包括条码、射频识别(radiofrequency identification,RFID)、传感器、全球定位系统(global positioning system,GPS)、激光扫描器等信息传感设备。
作为示例而非限定,在本申请实施例中,放置或安装在车辆上的车载设备还可以包括可穿戴设备。可穿戴设备不仅仅是一种硬件设备,更可以通过软件支持以及数据交互、云端交互来实现强大的功能。广义的可穿戴设备可以包括功能全、尺寸大、可不依赖智能手机实现完整功能的设备,比如这类设备可以包括智能手表或智能眼镜等;可穿戴设备还可以为需要依赖智能手机实现完整功能的设备,如各类进行体征监测的智能手环、智能头盔、智能首饰等。
2)车辆开放系统架构(automotive open system architecture,AUTOSAR)
AUTOSAR由全球车辆制造商、部件供应商及电子软件系统公司联合建立,是一个开放的、标准化的软件架构。AUTOSAR主要具备以下特点:a、AUTOSAR致力于解决硬件平台不同带来的软件开发的困难,使开发者能够专注于车辆软件功能上的创新;b、 AUTOSAR提供标准的软件接口定义,工程师可以根据实际需求将所需要的软件组件分配到车辆的ECU中,实现标准软件组件的可重用性;c、AUTOSAR的应用层软件组件是独立于硬件的,应用开发者可以在应用软件中指定各个车辆功能的细节,而不用担心底层软件服务和硬件接口不兼容的问题。
3)公钥基础设施(public key infrastructure,PKI)证书
PKI证书由可信第三方使用其私钥进行签名得到,其中,可信第三方例如可以是认证中心(certificate authority,CA)或其他可信设备(或系统)。也就是说,可信第三方即为即 PKI证书的签发机构,为系统内每个合法用户办一个网上身份认证,即身份证。通过PKI 证书可确认通信双方是否可信任。基于PKI证书的认证过程中,签名由该PKI证书的签名者使用签名者(如CA)的私钥生成,验证者可使用签名者的公钥来验证该签名。可包括以下两步:第一步,验证者校验PKI证书上CA的签名,以校验该PKI证书是由CA签名的有效证书,即可确定该PKI证书是真实有效的。第二步,验证者可以要求签名者对一个挑战值进行签名,验证者可使用该签名者的公钥对该签名者在该挑战值上的签名进行验证,验证成功,则可向验证者证明了签名者有相应的私钥。
本申请实施例中的术语“系统”和“网络”可被互换使用。“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B 可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
以及,除非有相反的说明,本申请实施例提及“第一”、“第二”等序数词是用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。例如,第一消息和第二消息,只是为了区分不同的消息,而并不是表示这两种消息的优先级、发送顺序或者重要程度等的不同。
如上介绍了本申请实施例涉及的一些概念,下面介绍本申请实施例的技术特征。
以图1A所示,图1A是本申请实施例提供的车辆100的功能框图。车辆100可包括各种子系统,各子系统中包括不同的车载设备。例如动力传动系统102、传感系统104、控制系统106、一个或多个外围设备108以及电源110、计算机系统112和用户接口116。可选地,车辆100可包括更多或更少的子系统,并且每个子系统可包括多个车载设备。另外,车辆100的每个子系统和车载设备可以通过有线或者无线互连。
动力传动系统102可包括为车辆100提供动力运动的组件。在一个实施例中,动力传动系统102可包括引擎118、能量源119、传动装置120和车轮/轮胎121。引擎118可以是内燃引擎、电动机、空气压缩引擎或其他类型的引擎组合,例如气油发动机和电动机组成的混动引擎,内燃引擎和空气压缩引擎组成的混动引擎。引擎118将能量源119转换成机械能量。
能量源119的示例包括汽油、柴油、其他基于石油的燃料、丙烷、其他基于压缩气体的燃料、乙醇、太阳能电池板、电池和其他电力来源。能量源119也可以为车辆100的其他系统提供能量。
传动装置120可以将来自引擎118的机械动力传送到车轮121。传动装置120可包括变速箱、差速器和驱动轴。在一个实施例中,传动装置120还可以包括其他器件,比如离合器。其中,驱动轴可包括可耦合到一个或多个车轮121的一个或多个轴。
传感系统104可包括用于感测关于车辆100周边的环境信息的若干个传感器。例如,传感系统104可包括全球定位系统122(可以是GPS系统,也可以是北斗系统或者其他定位系统)、惯性测量单元(inertial measurement unit,IMU)124、雷达126、激光测距仪128以及相机130。传感系统104还可包括被监视车辆100的内部系统的传感器(例如,车内空气质量监测器、燃油量表、机油温度表等)。来自这些传感器中的一个或多个的传感器数据可用于检测对象及其相应特性(位置、形状、方向、速度等)。这种检测和识别是自主车辆100的安全操作的关键功能。
全球定位系统122可用于估计车辆100的地理位置。IMU 124用于基于惯性加速度来感测车辆100的位置和朝向变化。在一个实施例中,IMU 124可以是加速度计和陀螺仪的组合。
雷达126可利用无线电信号来感测车辆100的周边环境内的物体。在一些实施例中,除了感测物体以外,雷达126还可用于感测物体的速度和/或前进方向。
激光测距仪128可利用激光来感测车辆100所位于的环境中的物体。在一些实施例中,激光测距仪128可包括一个或多个激光源、激光扫描器以及一个或多个检测器,以及其他系统组件。
相机130可用于捕捉车辆100的周边环境的多个图像。相机130可以是静态相机或视频相机。
控制系统106用于控制车辆100及其组件的操作。控制系统106可包括各种车载设备,其中包括转向系统132、油门134、制动单元136、传感器融合算法138、计算机视觉系统140、路线控制系统142以及障碍规避系统144。
转向系统132可操作来调整车辆100的前进方向。例如在一个实施例中可以为方向盘系统。
油门134用于控制引擎118的操作速度并进而控制车辆100的速度。
制动单元136用于控制车辆100减速。制动单元136可使用摩擦力来减慢车轮121。在其他实施例中,制动单元136可将车轮121的动能转换为电流。制动单元136也可采取其他形式来减慢车轮121转速从而控制车辆100的速度。
计算机视觉系统140可以操作来处理和分析由相机130捕捉的图像以便识别车辆100 周边环境中的物体和/或特征。所述物体和/或特征可包括交通信号、道路边界和障碍物。计算机视觉系统140可使用物体识别算法、运动中恢复结构(Structure from Motion,SFM)算法、视频跟踪和其他计算机视觉技术。在一些实施例中,计算机视觉系统140可以用于为环境绘制地图、跟踪物体、估计物体的速度等。
路线控制系统142用于确定车辆100的行驶路线。在一些实施例中,路线控制系统142 可结合来自传感器融合算法138、GPS 122和一个或多个预定地图的数据以为车辆100确定行驶路线。
障碍规避系统144用于识别、评估和避免或者以其他方式越过车辆100的环境中的潜在障碍物。
当然,在一个实例中,控制系统106可以增加或替换地包括除了所示出和描述的那些以外的车载设备或车载设备中的组件,或者也可以减少一部分上述示出的组件。
车辆100通过外围设备108与外部传感器、其他车辆、其他计算机系统或用户之间进行交互。外围设备108可包括无线通信系统146、车载电脑148、麦克风150和/或扬声器152。
在一些实施例中,外围设备108提供车辆100的用户与用户接口116交互的手段。例如,车载电脑148可向车辆100的用户提供信息。用户接口116还可操作车载电脑148来接收用户的输入。车载电脑148可以通过触摸屏进行操作。在其他情况中,外围设备108 可提供用于车辆100与位于车内的其它设备通信的手段。例如,麦克风150可从车辆100 的用户接收音频(例如,语音命令或其他音频输入)。类似地,扬声器152可向车辆100的用户输出音频。
无线通信系统146可以直接地或者经由通信网络来与一个或多个设备无线通信。例如,无线通信系统146可使用3G蜂窝通信,例如CDMA、EVD0、GSM/GPRS,或者4G蜂窝通信,例如LTE,或者5G蜂窝通信。无线通信系统146可利用WiFi与无线局域网(wireless localarea network,WLAN)通信。在一些实施例中,无线通信系统146可利用红外链路、蓝牙或ZigBee与设备直接通信。其他无线协议,例如各种车辆通信系统,例如,无线通信系统146可包括一个或多个专用短程通信(dedicated short range communications,DSRC)设备,这些设备可包括车辆和/或路边台站之间的公共和/或私有数据通信。
电源110可向车辆100的各种组件提供电力。在一个实施例中,电源110可以为可再充电锂离子或铅酸电池。这种电池的一个或多个电池组可被配置为电源为车辆100的各种组件提供电力。在一些实施例中,电源110和能量源119可一起实现,例如一些全电动车中电源110和能量源119可一起实现。
车辆100的部分或所有功能受计算机系统112控制。计算机系统112可包括至少一个处理器113,处理器113执行存储在例如存储器114这样的非暂态计算机可读介质中的指令115。计算机系统112还可以是采用分布式方式控制车辆100的个体组件或子系统的多个计算设备。
处理器113可以是任何常规的处理器,诸如商业可获得的CPU。选地,该处理器可以是诸如ASIC或其它基于硬件的处理器的专用设备。尽管图1A功能性地图示了计算机系统112中的处理器和存储器,但是本领域的普通技术人员应该理解该处理器或存储器实际上可以包括不存储在相同的物理外壳内的多个处理器或存储器。例如,存储器可以是硬盘驱动器或位于不同于计算机系统112内的其它存储介质。因此,对处理器的引用将被理解为包括对可以或者可以不并行操作的处理器或存储器的集合的引用。不同于使用单一的处理器来执行此处所描述的步骤,诸如转向组件和减速组件的一些组件每个都可以具有其自己的处理器,所述处理器只执行与特定于组件的功能相关的计算。
在此处所描述的各个方面中,处理器可以位于远离该车辆并且与该车辆进行无线通信。在其它方面中,此处所描述的过程中的一些步骤可以在布置于车辆内的处理器上执行,而其它过程则可以由远程处理器来执行。
在一些实施例中,存储器114可包含指令115(例如,程序逻辑),指令115可被处理器113调用来执行车辆100的各种功能,包括以上描述的那些功能。存储器114也可包含额外的指令,包括向动力传动系统102、传感系统104、控制系统106和外围设备108中的一个或多个发送数据、从其接收数据、与其交互和/或对其进行控制的指令。
除了指令115以外,存储器114还可存储数据,例如道路地图、路线信息,车辆的位置、方向、速度以及其它这样的车辆数据,以及其他信息。这种信息可在车辆100在自主、半自主和/或手动模式中操作期间被车辆100和计算机系统112使用。
用户接口116,用于向车辆100的用户提供信息或从其接收信息。可选地,用户接口116可包括在外围设备108的集合内的一个或多个输入/输出设备,例如无线通信系统146、车载电脑148、麦克风150和扬声器152。
计算机系统112可基于从各种子系统(例如,动力传动系统102、传感系统104和控制系统106)以及从用户接口116接收的输入来控制车辆100的功能。在一些实施例中,计算机系统112可操作来对车辆100及其子系统的许多方面提供控制。
可选地,上述这些组件中的一个或多个可与车辆100分开安装或关联。例如,存储器 114可以部分或完全地与车辆100分开存在。上述组件可以按有线和/或无线方式来通信地耦合在一起。
可选地,上述组件只是一个示例,实际应用中,上述各个模块中的组件有可能根据实际需要增添或者删除,图1A不应理解为对本申请实施例的限制。
下面介绍本申请实施例所应用的网络架构。请参考图1B,为本申请实施例所应用的一种网络架构。
图1B所示,车辆可采用电子电气(electrical/electronic,E/E)架构,也可以采用中央计算架构(central computing architecture,CCA)。如图1B所示,车辆的架构以包括三个层级,分别为网关、域控制器和域内ECU为例说明。结合图1A,为提高对车辆内的各子系统中的车载设备的管理和控制,可以根据子系统将车载设备分为若干个域(domain),每个域有一个域控制器,每个域包括一个或多个车载设备,每个域有一个域控制器(domaincontroller,DC),例如,传感系统104(例如,可以包括ADAS传感器)构成一个域,其域控制器是MDC。动力传动系统102可以分为一个域(例如,智能驾驶系统域)、控制系统 106可以分为一个域(整车控制系统域)、外围设备可以分为一个域(例如,娱乐系统域)。当然,还可以根据其他因素划分域,在此不做限定。
如图1B中所示,包括DC1、DC2、DC3和DC4这4个域控制器,这4个域控制器对应于4个域,这4个域中的车载设备均以ECU为例。域控制器用于管理域内的各个ECU,而关于域控制器,例如随机选择域内的一个车载设备作为域控制器,或者也可以选择域内的有统筹管理功能的一个车载设备作为域控制器。域内的设备通过DC与网关(gateway) 通信。网关是整车架构的核心部分,作为整车网络的数据交互的枢纽,可将CAN、LIN等网络数据在不同网络中进行路由。一种可能的方式,域内ECU可基于控制区域网络 (controller area network,CAN)总线连接,即域内ECU之间可通过CAN协议进行通信;如图1B所示,CAN总线1、CAN总线2、CAN总线3和CAN总线4为例,CAN总线1 可对应于整车控制系统域,CAN总线2可对应于娱乐系统域,CAN总线3可对应于智能驾驶系统域、CAN总线4可对应于外围设备域或智能座舱域。
进一步的,考虑到线束对通信的影响,可以将中央网关设置为分布式网关,例如,分布式网关可以为整车集成单元(vehicle integrated/integration unit,VIU)。分布式网关间可以串行,以组成一个环网。网关间的通信可以通过相邻的网关进行转发。例如,如图1C所示,第一网关向第二网关发送数据时,可以通过第三网关或第四网关向第二网关发送。车载设备可以根据车载设备在车辆内设置的位置,连接到与车载设备距离较近的网关上,并通过网关连接至域控制器,如图1C所示,可以将车辆划分为4个区域,第一区域包括DC1中的N1个车载设备,第一区域的N1个车载设备可以通过第一网关连接至DC1。第二区域包括DC1中的N2个车载设备,第二区域的N2个车载设备可以通过第二网关连接至DC1。第三区域包括DC1中的N3个车载设备,第三区域的N3个车载设备可以通过第三网关连接至DC1。第四区域包括DC1中的N4个车载设备,第四区域的N4个车载设备可以通过第四网关连接至DC1。同理,结合图1B,不同域的车载设备,可以根据上述DC1中的车载设备与DC1的连接方式,通过车载设备在车辆内的位置,连接不同的VIU,避免了传统的实现汽车中电子控制功能的系统中每个车载设备都需要通过各自的线束连接至域控制器,有利于减少实现汽车中电子控制功能的系统中的线束长度,以降低车载设备之间的通信的复杂度,便于车载设备的生产安装,简化车载网络配置,提升升级维护效率。
当然,车辆的架构中,也可以不区分各个域,车辆的架构也可以包括两个层级,例如,包括整车集成单元(vehicle integrated/integration unit,VIU)和ECU;仅根据车载设备在车辆内的位置,连接对应的VIU,通过VIU实现各ECU间的数据的传输。
需要说明是,图1B-图1C仅是示意图,不作为对本申请的限定。再比如,车辆架构包括的域的数量和域内ECU的数量均可以比图1B-图1C所示的多,也可以比图1B-图1C所示的少。另外,本申请所描述的系统架构是为了更加清楚的说明本申请的技术方案,并不构成对本申请提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变,本申请提供的技术方案对于类似的技术问题,同样适用。
针对相同类型的车载设备,车载设备的配置参数的类型可能相同,但是,根据车辆的不同,位于不同车辆内的车载设备可能会根据具体的车辆配置不同的配置参数值。例如,在为各网关分配IP地址时,可以根据网关在车辆内的位置确定,如图1C所示,第一网关位于车辆的车头位置,其IP地址可以设置为IP1;第二网关位于车辆的车尾位置,其IP地址可以设置为IP2;第三网关位于车辆的左侧,其IP地址可以设置为IP3;第四网关位于车辆的右侧,其IP地址可以设置为IP4。VIU根据配置结果进行数据的转发。配置参数值一旦配置,不会改变,否则会影响各车载设备间的正常通信。因此配置参数等配置信息的保护显得格外重要。
为了防止VIU中的配置参数等配置信息被篡改,可以采用访问权限控制的方式,以阻止无权限的用户对配置信息的篡改。对访问权限的控制可以通过用户名和密码验证的方式,以使有权限的用户登录,但是,该方法可能导致非法用户利用漏洞进行root权限的更改,导致普通用户具有root权限,并对车载设备的配置参数等配置信息进行修改,导致在车载设备没有进行更换的状态下,对车载设备的配置信息进行了修改,进而导致车载设备之间的通信时,VIU可能不知道配置信息的变化,进而导致车载设备间的数据无法正常发送。另外,若在车载设备的升级、更新等过程中,现有技术中主要依赖于安装人员人工配置车载设备的相关,可能导致车载设备中的配置的与更新后的车载设备无法对应,进而导致更新后的车载设备无法正常使用。因此,在更换车载设备时,除了需要对车载设备的配置信息进行配置,还需要对与更换的车载设备相关的其他车载设备的配置参数进行相应的修改,以保证车载设备间的正常运行,增加了车载设备的安装难度。
基于上述问题,本申请实施例提供第一种数据验证方法,请参见图2,为该方法的流程图。在下文的介绍过程中,以该方法实施于如图1B-图1C所示的网络架构为例。另外,该方法可由至少两个车载设备执行,这两个车载设备例如为第一车载设备和第二车载设备。其中,第一车载设备或第二车载设备,可以是车载设备或能够支持车载设备实现该方法所需的功能的装置(例如芯片系统),当然还可以是其他装置。且对于第一车载设备、第二车载设备的实现方式均不做限制,例如这两个车载设备可以实现为相同的形式,例如均通过设备的形式实现,或者这两个车载设备也可以实现为不同的形式,例如第一车载设备通过设备的形式实现,第二车载设备通过芯片系统的方式实现等等。
为了便于介绍,在下文中,以该方法由第一车载设备和第二车载设备执行为例。本实施例是以应用在图1B-1C所示的网络架构为例,第一车载设备可以是图1C所示的网络架构中的第一网关。第二车载设备可以是图1C所示的网络架构中的第二网关。当然,第一车载设备、第二车载设备还可以是图1B-图1C所示的网络架构中的域控制器(例如为图1B中的DC1-DC4或MDC;或图1C中的DC1),还可以是图1B-图1C所示的网络架构中的域内的车载设备。
S201:第二车载设备向第一车载设备发送第一消息。
相应的,第一车载设备接收来自第二车载设备的第一消息。其中,第一消息包括第一验证信息,所述第一验证信息用于对第一数据进行验证,所述第一数据为所述第二车载设备存储的所述第二车载设备的配置信息。
其中,第一车载设备和第二车载设备承载于第一车辆中,第一车辆可以承载第一区域的一个或多个车载设备,其中,第一车载设备可以为第一区域中的一个车载设备。一种可能的实现方式,第二车载设备可以为第一区域中的一个车载设备,也可以为其他区域中的一个车载设备,在此不做限定。第一车载设备可以用于与第一区域的一个或多个车载设备通信,也可以与其他区域的一个或多个车载设备通信。为保证第一车载设备的正常运行,第一车载设备至少需要存储第一车载设备的配置信息,例如,第一车载设备的配置信息可以包括第一车载设备正常工作所需的配置信息。以ECU1为例,ECU1正常工作所需的配置信息可以包括:ECU1所在的区域,ECU1的标识,ECU1的接口数量,ECU1的IP地址等。进一步的,为保证第一车载设备与其他车载设备的正常通信,第一车载设备的配置信息还可以包括:与第一车载设备通信的第一车载设备与其他车载设备进行通信所需的配置信息。其他车载设备可以为第一区域的车载设备,也可以为其他区域的车载设备,在此不做限定。
以第一车载设备为第一网关为例,第一区域中的一个或多个车载设备通过第一网关与其他车载设备进行通信,则第一车载设备的配置信息可以包括:与第一区域的一个或多个车载设备通信所需的一个或多个车载设备的配置信息,或者,第一区域的一个或多个车载设备与其他车载设备进行通信的配置信息。
举例来说,若第一网关用于与第一区域的ECU1通信,则第一网关需存储ECU1的配置信息,例如,ECU1的标识,与ECU1通信的其他车载设备的标识,ECU1的IP地址和端口信息,入侵检测(intrusion detection systems,IDS)配置信息等。第一网关可以通过IDS 配置信息(例如,加密机制为消息摘要函数MD5的相关信息),依照一定的安全策略,对网络、系统的运行状况进行监测,以保证网络系统数据的机密性、完整性和可用性。例如,第一网关可以将第二车载设备的配置信息作为待验证的数据,并根据IDS配置信息对待验证的数据进行完整性分析,以确定待验证的数据是否被更改。再比如,第一区域的ECU1 通过第一接口与第二区域的ECU1通信,则第一网关需存储ECU1的配置信息还包括与第二区域的ECU1通信的第一接口。
再比如,若第一车载设备为ECU1,ECU1与DC1通过第一网关进行通信,因此,ECU1的配置信息可以包括ECU1的配置信息,例如ECU1的IP地址、ECU1的标识等。ECU1 的配置信息还可以包括第一网关的配置信息,例如,第一网关的IP地址、端口号等。ECU1 的配置信息还可以包括DC1的配置信息,例如,DC1的IP地址。
第一车辆还可以承载第二区域的一个或多个车载设备,例如,第二车载设备可以为第二区域中的一个车载设备。第二车载设备可以用于与第二区域的一个或多个车载设备通信,第二车载设备也可以用于与其他区域的车载设备通信。第二车载设备至少需要存储第二车载设备的配置信息。第二车载设备的配置信息可以包括第二车载设备与其他车载设备进行通信所需的配置信息,第二车载设备正常工作所需的配置信息。
针对网关间的通信,例如,若第一网关需与第二网关通信,则第一网关的配置信息可以包括:第二网关的IP地址、第二网关的标识。结合图1C,第一网关需通过第三网关或第四网关与第二网关通信,因此,第一网关的配置信息还可以包括:第三网关的IP地址或第四网关的IP地址。此时,第三网关的IP地址或第四网关的IP地址可以作为第一网关与第二网关发送数据报文时的下一跳的路由地址。
进一步的,若第二车载设备为第二网关,第二区域中的一个或多个车载设备通过第二网关与其他车载设备进行通信,则第二车载设备的配置信息可以包括与第二区域的一个或多个车载设备通信所需的配置信息,或者,第二区域的一个或多个车载设备与其他车载设备进行通信的配置信息。
例如,结合图1C,若第二网关需与第三网关或第四网关通信,因此,第二网关的配置信息还可以包括:第三网关的IP地址、第三网关的标识;或第四网关的IP地址、第四网关的标识。此时,第三网关的IP地址或第四网关的IP地址可以作为第一网关与第二网关发送数据报文时的目的地址。若第二网关需与第一网关通信,则第二网关的配置信息还可以包括:第三网关的IP地址、第三网关的标识;或第四网关的IP地址、第四网关的标识;第一网关的IP地址、第三网关的标识。此时,第三网关的IP地址或第四网关的IP地址可以作为第二网关与第一网关发送数据报文时的下一跳的路由地址。
S202:所述第一车载设备根据所述第一车载设备存储的所述第二车载设备的配置信息以及所述第一验证信息,对所述第一数据进行验证。
本申请实施例中,第一车载设备可以作为第二车载设备的一个验证节点。为保证验证效果,第一车载设备可以存储有第二车载设备的配置信息,进而第一车载设备可以根据第一车载设备存储的第二车载设备的配置信息,对第二车载设备中存储的第二车载设备的配置信息进行验证。
基于同样的发明构思,第二车载设备也可以作为第一车载设备的一个验证节点,此时,第二车载设备存储有第一车载设备的配置信息,例如,为第三数据,此时,所述第一车载设备可以向所述第二车载设备发送第五消息;所述第五消息包括第四验证信息;所述第三验证信息用于对所述第一车载设备的第三数据进行验证;所述第三数据为所述第一车载设备存储的所述第一车载设备的配置信息;进而第二车载设备可以根据第二车载设备存储的第一车载设备的配置信息,对第一车载设备中存储的第一车载设备的配置信息进行验证。所述第一车载设备获取所述第二车载设备返回的所述第四验证信息的验证结果。从而,第一车载设备确定第三数据是否正常。具体实施过程可以参考本申请实施例如图2-图10所述的第一车载设备对第一数据的验证过程,在此不再赘述。
为了更好地理解图2所示的实施例所介绍的技术方案,下面对图2所示的实施例所涉及的一些子方案进行举例介绍。请参考图3,为本申请实施例提供的一种数据验证方法的一种实施方式的流程。下面举例说明本申请中第一数据可能的验证方式。图3所示的流程以第二车载设备根据加密密钥的方式对第一数据进行验证为例。第一车载设备对第二车载设备的配置信息的验证方法,可以包括以下步骤:
步骤301:第二车载设备可以根据第一数据及第一加密密钥,生成第一验证信息。
作为第一验证信息的另一种实现方式,第一验证信息也可以是数字签名。当然,第一验证信息还可以是其他验证方式,在此仅以数据签名举例说明。
例如,第二车载设备存储有非对称加密中的私钥,则第二车载设备可以根据所存储的私钥对第一随机数和第一数据进行签名,获得第一验证信息,这里的第二车载设备所存储的私钥可以称为第一私钥。
再比如,第二车载设备存储有对称加密的加密密钥,则第二车载设备可以根据所存储的加密密钥对第一随机数和第一数据进行加密,获得第一验证信息。
步骤302:第二车载设备向第一车载设备发送第一验证信息。
具体发送方式可以参考图2中的实施例,在此不再赘述。
步骤303:第一车载设备根据第一验证信息,对第一数据进行验证。
作为第一验证信息的一种实现方式,若第一验证信息为数字签名,例如,第一车载设备可以根据第二车载设备的证书获取其数字签名的公钥,即第一公钥,对所述第一验证信息进行签名验证,若验证成功,则可以确定第一数据合法。再比如,第一车载设备存储有第二车载设备的对称加密的解密密钥,则第一车载设备可以根据所存储的解密密钥对第一验证信息进行解密,以对第一验证信息进行验证,若解密成功,则确定第一验证信息验证成功。
进一步的,第一车载设备还可以根据第一车载设备存储的第二车载设备的IDS配置信息对第一数据的完整性进行验证。例如,第二车载设备的IDS配置信息所包括的数据完整性验证方式可以包括散列函数MD5、数字签名SHA1、循环冗余效验CRC32等方式。以哈希算法为例,第二车载设备可以根据第一数据生成第一哈希值,并将第一哈希值发送给第一车载设备,以对第一数据进行验证。第一车载设备根据第一车载设备存储的第二车载设备的配置信息,生成第二哈希值,若确定第一哈希值与第二哈希值一致,可以确定第一数据验证成功。若确定第一哈希值与第二哈希值不一致,可以确定第一数据验证失败。
请参考图4,为本申请实施例提供的一种数据验证方法的一种实施方式的流程。图4所示的流程以第二车载设备通过随机数的方式对第一数据进行验证为例。第一车载设备对第二车载设备的配置信息的验证方法,可以包括:
步骤401:第一车载设备向第二车载设备发送第一随机数。
其中,第一车载设备可以选择合适长度的随机数,例如称为第一随机数,第一随机数可以用r表示。第一车载设备可以将r发送给第二车载设备。r可以用于第一车载设备对第二车载设备的验证。其中,r的长度可以根据所需要的验证强度确定,例如所需要的验证强度是128比特(bit),那么r的长度就可以是128比特。一般来说,验证强度越强,则r的长度越长。但r的长度越长,所带来的验证过程的复杂度也较高,因此对于r的长度可以适当选取。或者r的长度也可以通过协议规定等,具体的不做限制。
步骤402:第二车载设备可以根据第一随机数及第一数据,生成第一验证信息。
作为第一验证信息的一种实现方式,第一验证信息也可以是数字签名,例如第二车载设备存储有非对称加密中的私钥,则第二车载设备可以根据所存储的私钥对第一随机数和第一数据进行加密,获得第一验证信息,这里的第二车载设备所存储的私钥可以称为第一私钥。再比如,第二车载设备存储有对称加密的加密密钥,则第二车载设备可以根据所存储的加密密钥对第一随机数和第一数据进行加密,获得第一验证信息。
作为第一验证信息的另一种实现方式,第一验证信息可以包括第一子验证信息和第二子验证信息。第一子验证信息和第二子验证信息也可以是数字签名,例如第二车载设备存储有非对称加密中的私钥,则第二车载设备可以根据所存储的私钥对第一随机数进行签名,生成第一子验证信息,第二车载设备可以根据所存储的私钥对第一数据进行签名,生成第二子验证信息,进而获得第一验证信息,这里的第二车载设备所存储的私钥可以称为第一私钥。再比如,第二车载设备存储有对称加密的加密密钥,则第二车载设备可以根据所存储的加密密钥对第一随机数和第一数据分别进行加密,获得第一子验证信息和第二子验证信息。进而,可以在验证失败时,确定是第一数据异常还是密钥出现异常。以提高验证的安全性要求,并可以根据异常的情况有针对性的恢复异常数据。例如,若确定第一数据异常,则可以根据其他车载设备中存储的第二车载设备的配置信息对第一数据进行恢复。
步骤403:第二车载设备向第一终端设备发送第一验证信息。
具体发送方式可以参考图2中的实施例,在此不再赘述。
步骤404:第一车载设备根据第一随机数和第一验证信息,对第一数据进行验证。
作为第一验证信息的一种实现方式,若第一验证信息为数字签名,例如,第一车载设备可以存储有第二车载设备的非对称加密中的公钥,则第一车载设备可以根据第一车载设备存储的第一公钥,对所述第一验证信息进行签名验签,若验签成功,则可以确定第一验证信息验证成功。
再比如,第一车载设备存储有第二车载设备的对称加密的解密钥,则第一车载设备可以根据所存储的解密密钥对第一验证信息进行解密,以对第一验证信息进行验证,若解密成功,则确定第一验证信息验证成功。
进一步的,还可以根据第一随机数对第一数据的完整性进行验证。例如,验证方式可以包括散列函数MD5、数字签名SHA1、循环冗余效验CRC32等方式。以哈希算法为例,第二车载设备可以根据第一数据和第一随机数生成第一哈希值,并将第一哈希值发送给第一车载设备,以对第一数据进行验证。第一车载设备根据第一车载设备存储的第二车载设备的配置信息和第一随机数,生成第二哈希值,若确定第一哈希值与第二哈希值一致,可以确定第一数据验证成功。若确定第一哈希值与第二哈希值不一致,可以确定第一数据验证失败。
针对第一验证信息的另一种实现方式,第一验证信息可以包括第一子验证信息和第二子验证信息。第一子验证信息和第二子验证信息也可以是数字签名举例说明。第一车载设备根据第一随机数及第一车载设备存储的第二车载设备的解密密钥对第一子验证信息进行验证,若确定第一子验证信息验证成功,则可以确定第二车载设备的身份合法。第一车载设备根据第一车载设备存储的第二车载设备的配置信息及第一车载设备存储的第二车载设备的解密密钥对第二子验证信息进行验证,若确定第二子验证信息验证成功,则可以确定第一数据验证成功。
在第一子验证信息验证失败时,可以确定第二车载设备的加密密钥出现异常。此时,若第一车载设备存储的解密密钥为对称加密的密钥,则第一车载设备可以向第一车载设备存储的第二车载设备的解密密钥,以使第二车载设备根据第一车载设备存储的第二车载设备的解密密钥恢复第二车载设备的加密密钥。
在第一子验证信息验证成功,且第二子验证信息验证失败时,可以确定第一数据出现异常。则可以根据第一车载设备中存储的第二车载设备的配置信息对第一数据进行恢复,以提高车辆的安全性能。进一步的,若第一车载设备对第一数据的完整性进行验证,确定第一数据的完整性出现异常,除了第一数据可能出现异常,还可能是由于第二车载设备的 IDS配置信息(例如,对第一数据完整性验证方式的相关信息)出现异常导致的,此时,第一车载设备还可以通过第一车载设备中存储的第二车载设备的IDS配置信息对第二车载设备的IDS配置信息进行恢复,以提高车辆的安全性能。
为提高第一数据的安全性,在验证第一数据之前,第一车载设备可以对第二车载设备的身份信息进行认证。请参考图5,为本申请实施例提供的一种身份认证方法的实施方式的流程。图5所示的流程以第一车载设备对第二车载设备的身份信息进行认证为例。第一车载设备对第二车载设备的身份信息的认证方法,可以包括以下步骤:
步骤501:第二车载设备根据第二车载设备的身份信息,生成第一认证信息;
其中,第二车载设备的身份信息,可以包括第二车载设备的序列号,或者包括第二车载设备的身份号(ID),或者可以包括其他的能够唯一标识第二车载设备的身份的信息。
方式a1,根据第二车载设备的身份信息获得第一认证信息。或者,根据第二车载设备所存储的私钥对第二车载设备的身份信息进行加密,获得第一认证信息。或者,根据第二车载设备所存储的对称加密的加密密钥对第二车载设备的身份信息进行加密,获得第一认证信息。进而,第一车载设备可以在第一认证信息认证成功时,确定第二车载设备的身份信息认证成功。
方式a2,第二车载设备还可以在生成第一认证信息之前,接收第一车载设备发送的第二随机数。进而,第二车载设备可以根据第二随机数和第二车载设备的身份信息获得第一认证信息。或者,第二车载设备可以根据所存储的私钥对第二随机数和第二车载设备的身份信息进行加密,获得第一认证信息。或者,根据第二车载设备所存储的对称加密的加密密钥对第二车载设备的身份信息及第二随机数进行加密,获得第一认证信息。
通过上述方法生成的第一认证信息,第一车载设备可以根据对应的公钥和第二随机数,对第二车载设备的身份信息进行认证,以提高身份认证的安全性。
方式a3,第二车载设备还可以在生成第一认证信息之前,接收第一车载设备的第二随机数。第一认证信息可以包括第二认证信息和第三认证信息。
其中,第二车载设备根据第二随机数和第二车载设备的加密密钥,生成第二认证信息。第二车载设备根据第二车载设备的身份信息,生成第三认证信息。或者,根据第二车载设备所存储的私钥对第二车载设备的身份信息进行加密,获得第三认证信息。或者,根据第二车载设备所存储的对称加密的加密密钥对第二车载设备的身份信息进行加密,获得第三认证信息。
进而,在第二认证信息认证失败时,可以确定第二车载设备的加密密钥可能被篡改,或者第一车载设备中存储的第二车载设备的解密密钥可能被篡改。在第一车载设备确定第三认证信息认证失败时,可以确定第二车载设备的身份信息可能被篡改,或者第一车载设备中存储的第二车载设备的身份信息可能被篡改。
步骤502:第二车载设备向第一车载设备发送第一认证信息。
一种可能的实现方式,第一认证信息可以携带在第一消息中向第一车载设备发送。此时,第一车载设备可以根据接收到的第一消息,对第一认证信息进行认证,或者,对第一验证信息进行验证。例如,在一种可能的场景中,第一车载设备可以将第一认证信息发送给第一区域内的其他车载设备,通过第一区域内的其他车载设备,对第一认证信息进行认证,在确定第一认证信息认证成功时,第一车载设备对第一验证信息进行验证。或者,第一车载设备可以先对第一认证信息进行认证,在确定第一认证信息认证成功时,将第一验证信息发送给其他存储有第二车载设备的配置信息的车载设备,通过其他存储有第二车载设备的配置信息的车载设备,对第一验证信息进行验证,在确定第一认证信息认证成功时,第一车载设备对第一验证信息进行验证。在第一车载设备需同时验证多个车载设备时,上述方法可以提高车辆验证车载设备的配置信息的效率。
另一种可能的实现方式,在发送第一消息之前,第二车载设备向第一车载设备发送第二消息,所述第二消息包括第一认证信息。此时,第一车载设备可以对第一认证信息进行认证,在确定第一认证信息认证成功时,再接收第二车载设备的第一验证信息,以节省不必要的验证过程,提高验证效率。
步骤503:第一车载设备根据第一认证信息,对所述第二车载设备的身份进行认证。
对应方式a1,第一车载设备可以根据第一车载设备存储的第二车载设备的身份信息,对第一认证信息进行认证。或者,第一车载设备根据第一车载设备存储的所述第二车载设备的公钥,对第一认证信息进行签名认证。若认证成功,则确定所述第一车载设备的身份合法;若认证失败,则确定所述第一车载设备的身份非法。或者,第一车载设备根据第一车载设备存储的所述第二车载设备的对称加密的解密密钥,对第一认证信息进行解密,若解密成功,则确定所述第一认证信息认证成功;若解密失败,则确定所述第一认证信息认证失败。
进一步的,在对第一认证信息解密成功后,还可以对第一认证信息中的第二车载设备的身份信息的完整性进行校验。具体的校验方式,可以参考第一数据的完整性校验,在此不再赘述。在第二车载设备的身份信息的完整性进行校验成功时,确定第一认证信息认证成功。
对应方式a2,第一车载设备根据第二随机数,对第一认证信息进行认证。或者,第一车载设备可根据第一车载设备所存储的第二车载设备的公钥对第一认证信息进行解密,若确定解密成功,可以对第一认证信息中的第二随机数和第二车载设备的身份信息进行完整性校验,若确定校验成功,则确定第一认证信息认证成功。或者,第一车载设备可根据第一车载设备所存储的第二车载设备的对称加密密钥对第一认证信息进行解密,若确定解密成功,可以对第一认证信息中的第二随机数和第二车载设备的身份信息进行完整性校验,若确定校验成功,则确定第一认证信息认证成功。
对应方式a3,第一车载设备可以根据第二随机数和第二车载设备的解密密钥,对第二认证信息进行认证。第一车载设备根据第一车载设备的身份信息,对第三认证信息进行认证。或者,第一车载设备根据第一车载设备所存储的第二车载设备的公钥对第三认证信息进行解密,以认证第三认证信息。或者,第一车载设备根据第一车载设备所存储的对称加密的解密密钥对第三认证信息进行解密,以认证第三认证信息。
在第一车载设备确定第二认证信息认证失败时,可以确定第二车载设备的加密密钥可能被篡改,或者第一车载设备中存储的第二车载设备的解密密钥可能被篡改。在第一车载设备确定第三认证信息认证失败时,可以确定第二车载设备的身份信息可能被篡改,或者第一车载设备中存储的第二车载设备的身份信息可能被篡改。
需要说明的是,为提高第一数据的验证效率,减少验证的复杂度,第二随机数可以与第一随机数相同。例如,第一车载设备可以向第二车载设备发送第一随机数,第二车载设备通过第一随机数和第二车载设备的身份信息,生成第一认证信息。第二车载设备根据第一随机数和第一数据,生成第一验证信息。
通过上述方法,第一车载设备可以在所述第一车载设备根据所述第一认证信息,确定所述第二车载设备的身份认证成功后,再对第一验证信息进行验证。以保证第二车载设备的身份的合法性的前提下,对第一数据进行验证,提高第一数据的安全性。
请参考图6,为本申请实施例提供的一种数据验证方法的实施方式的流程。图6所示的流程以第一车载设备对第二车载设备的身份信息进行认证为例。第一车载设备对第二车载设备的身份信息的认证方法,可以包括以下步骤:
步骤601:第二车载设备向第一车载设备发送第二车载设备的第一证书。
一种可能的实现方式,第一证书可以为第一认证信息中携带的,也可以为单独发送的,在此不做限定。第一证书可以为根据第二车载设备的身份信息,生成的PKI证书。
步骤602:第一车载设备根据第一车载设备存储的第一证书的根证书,对第一证书进行验证。
其中,第一证书的根证书可以是第一车载设备作为第二车载设备的配置信息预先存储的,也可以是第一车载设备为提高安全性,将第一证书的根证书单独进行存储的,在此不做限定。
步骤603:第一车载设备确定第一证书验证成功,则向第二车载设备发送第三随机数。
步骤604a:第二车载设备根据第三随机数和第二车载设备的身份信息,生成第一认证信息。下面以方式b1和方式b2举例说明第一认证信息的生成方式。
方式b1,第二车载设备根据第三随机数和第二车载设备的身份信息获得第一认证信息。或者,第二车载设备可根据所存储的私钥对第三随机数和第二车载设备的身份信息进行加密,获得第一认证信息。或者,根据第二车载设备所存储的对称加密的加密密钥对第二车载设备的身份信息及第三随机数进行加密,获得第一认证信息。
方式b2,第一认证信息包括第二认证信息和第三认证信息。
其中,第二车载设备根据第三随机数和第二车载设备的加密密钥,生成第二认证信息。第二车载设备根据第二车载设备的身份信息,生成第三认证信息。或者,根据第二车载设备所存储的私钥对第二车载设备的身份信息进行加密,获得第三认证信息。或者,根据第二车载设备所存储的对称加密的加密密钥对第二车载设备的身份信息进行加密,获得第三认证信息。
步骤605a:第二车载设备向第一车载设备发送第一认证信息,以对所述第一认证信息进行认证。
一种可能的实现方式,第一认证信息可以携带在第一消息中向第一车载设备发送。另一种可能的实现方式,在发送第一消息之前,第二车载设备向第一车载设备发送第二消息,所述第二消息包括第一认证信息。
步骤606a:第一车载设备根据第一认证信息,对所述第二车载设备的身份进行认证。
对应方式b1,第一车载设备根据第三随机数,对第一认证信息进行认证。或者,第一车载设备可根据第一车载设备所存储的第二车载设备的公钥对第一认证信息进行解密,若确定解密成功,可以对第一认证信息中的第三随机数和第二车载设备的身份信息进行完整性校验,若确定校验成功,则确定第一认证信息认证成功。或者,第一车载设备可根据第一车载设备所存储的第二车载设备的对称加密密钥对第一认证信息进行解密,若确定解密成功,可以对第一认证信息中的第三随机数和第二车载设备的身份信息进行完整性校验,若确定校验成功,则确定第一认证信息认证成功。
进一步的,在对第一认证信息解密成功后,还可以对第一认证信息中的第二车载设备的身份信息的完整性进行校验。具体的校验方式,可以参考第一数据的完整性校验,在此不再赘述。在第二车载设备的身份信息的完整性进行校验成功时,确定第一认证信息认证成功。
对应方式b2,第一车载设备可以根据第一车载设备存储的第二车载设备的身份信息,对第三认证信息进行验证。或者,第一车载设备根据第一车载设备存储的所述第二车载设备的公钥,对第二认证信息或第三认证信息进行解密。若解密成功,则确定第二认证信息或第三认证信息认证成功;若解密失败,则确定所述第二认证信息或第三认证信息认证失败。或者,第一车载设备根据第一车载设备存储的所述第二车载设备的对称加密的解密密钥,对第二认证信息或第三认证信息进行解密,若解密成功,则确定所述第三认证信息认证成功;若解密失败,则确定第二认证信息或第三认证信息认证失败。
在第一车载设备确定第二认证信息认证失败时,可以确定第二车载设备的加密密钥可能被篡改,或者第一车载设备中存储的第二车载设备的解密密钥可能被篡改。在第一车载设备确定第三认证信息认证失败时,可以确定第二车载设备的身份信息可能被篡改,或者第一车载设备中存储的第二车载设备的身份信息可能被篡改。
另一种可能的方式,第三随机数可以用于生成第二验证信息,以实现在第一车载设备在验证第二车载设备的身份认证成功后,对第一数据进行验证。
步骤604b:第二车载设备根据第三随机数和第一数据,生成第二验证信息。
具体生成第二验证信息的方式,可以参考第二车载设备根据第一随机数和第一数据生成第一验证信息的方式,在此不再赘述。
步骤605b:第二车载设备向第一车载设备发送第二验证信息。
具体发送第二验证信息的方式,可以参考第二车载设备根据第一随机数和第一数据生成第一验证信息后发送第一验证信息的方式,在此不再赘述。
步骤606b:第一车载设备根据第一验证信息和第三随机数,对第二数据进行验证。
第一车载设备根据第二验证信息和第三随机数,对第一数据进行验证的方式,可以参考第一车载设备根据第一验证信息和第一随机数,对第一数据进行验证的方式,在此不再赘述。
请参考图7,为本申请实施例提供的一种数据验证方法的实施方式的流程。图7所示的流程以第一车载设备对第二车载设备的身份信息进行认证后,再对第二车载设备中的第一数据进行验证为例。可以包括以下步骤:
步骤701:第二车载设备根据第二车载设备的身份信息,生成第一认证信息。
在步骤701中,第二车载设备生成第一认证信息的方式,可以参考图5中的实施方式,也可以参考图6中生成第一认证信息的方式,在此不再赘述。
步骤702:第二车载设备可以根据第一数据,生成第一验证信息。
在步骤702中,第二车载设备生成第一验证信息的具体实施方式可以参考图3中的实施方式,还可以参考图4中生成第一验证信息的实施方式,在此不做限定。或者,第二车载设备还可以根据图6中的方式生成第一验证信息,在此不再赘述。
步骤703:第二车载设备向第一车载设备发送第一消息;
其中,第一消息包括:第一验证信息和第一认证信息。
步骤704:第一车载设备根据第一认证信息,对所述第二车载设备的身份进行认证。
在步骤704中,第一车载设备对第一认证信息进行认证的具体实施方式可以参考图5- 图6中的实施方式,在此不再赘述。
步骤705:第一车载设备根据第一验证信息,对所述第二车载设备的第一数据进行验证。
在步骤705中,第二车载设备对第一验证信息进行验证的具体实施方式可以参考图3 中的实施方式,还可以参考图4中对第一验证信息进行验证的实施方式,在此不做限定。或者,第二车载设备还可以根据图6中的方式对第一验证信息进行验证,在此不再赘述。
另外值得指出的是,在图2所示的实施例的介绍过程中,可以是在基于第一车载设备是值得信任的,无需验证第一车载设备的真实性或正规性的前提下进行的。实际上也可以进一步对第一车载设备进行认证,以进一步提高安全性。有很多方法可以实现对第一车载设备的认证。例如可以借助于其他车载设备对第一车载设备的身份信息进行认证,或者,可以借助于其他车载设备对第一车载设备的存储的配置信息进行验证。可以使用非对称密钥的机制(例如数字签名)来对第一车载设备进行认证。
举例来说,为提高验证效果,第一车辆除了包括第二车载设备,还可以包括第三车载设备,若第三车载设备也存储有第二车载设备的配置信息,则第三车载设备也可以作为第二车载设备的配置信息的验证节点。此时,对第二车载设备的配置信息的验证,可以通过第一车载设备和第二车载设备进行验证。
一种可能的实现方式,第一车载设备、第二车载设备和第三车载设备位于不同的区域。例如,第一车载设备为第一网关,第二车载设备为第二网关,第三车载设备为第三网关。或者,第一车载设备、第二车载设备和第三车载设备部分位于相同的区域,例如,第一车载设备为第一网关,第二车载设备为第一ECU,第三车载设备为第二网关。另一种可能的实现方式,第一车载设备、第二车载设备和第三车载设备位于相同的区域。第一区域中可以包括一个待验证的车载设备(第二车载设备),还可以包括验证节点的车载设备(例如,第三车载设备)。例如,第一区域可以包括第二车载设备和第三车载设备,第二车载设备可以为第一区域中的待验证节点,第三车载设备可以为用于验证第二车载设备的验证节点。在第一区域中,第三车载设备的个数可以是一个或多个。
例如,第一车载设备对第二车载设备的第一数据验证成功,那么第一车载设备可以认为第二车载设备的第一数据未出现异常,而如果第一车载设备对第二车载设备的第一数据验证不成功(或,第一数据验证失败),则第一车载设备可以认为第二车载设备的第一数据出现异常。
下面以情形一至情形三举例说明基于第一数据不同的验证结果下可能的验证方式。
情形一,第一车载设备确定第一车载设备对第一数据验证成功。
在这种情况下,只要第一车载设备确定第一验证信息验证成功,则对第二车载设备的验证过程可以结束。此时,认为第二车载设备和第一区域内的至少一个域内设备的身份都是验证成功的。
另一种可能的场景中,第一车辆中包括第四车载设备,且第一车载设备中存储有第四车载设备的配置信息。在第一车载设备对第二车载设备验证的过程中,可能存在另一车载设备对第一车载设备中存储的第四车载设备的配置信息进行验证,若确定第一车载设备中存储的第四车载设备的配置信息验证失败,则第一车载设备内存储的配置信息都有可能存在被篡改的风险,即存在第一车载设备中存储的第二车载设备的配置信息被篡改的可能。此时,第一车载设备可以通过第三车载设备,验证第一车载设备中存储的第二车载设备的配置信息。在该场景下,请参考图8,图8所示的实施例中,第三车载设备对第一车载设备存储的第二车载设备的配置信息的验证,可以包括以下步骤:
步骤801:第一车载设备根据第一车载设备对第一数据的验证结果,确定所述第一车载设备对所述第一数据验证成功。
步骤802:第一车载设备向第三车载设备发送第二验证信息;第二验证信息用于对第二数据进行验证。第二数据为第一车载设备存储的第二车载设备的配置信息。
对于第一车载设备来说,第二车载设备的配置信息是已知的,则第一车载设备可以按照与第二车载设备生成第一验证信息的相同的方式来生成向第三车载设备发送的第二验证信息。
例如,第一车载设备可以根据第一车载设备存储的第二车载设备的配置信息和第四随机数生成第二验证信息。第四随机数可以为第三车载设备发送给第一车载设备的。
进一步的,第一车载设备还可以向第三车载设备发送第一车载设备的第二认证信息,其中,第二认证信息可以用于对第一车载设备的身份进行认证。
在发送第二验证信息的实现方式中,第一车载设备可以向第三车载设备发送第二消息;其中,第二消息中携带有第二验证信息。或者,验证第一车载设备的身份信息的第二认证信息也可以携带在第二消息中,则第一车载设备也可以按照与第二车载设备生成第一认证信息的相同的方式来生成第二认证信息。
步骤803:第三车载设备根据第二验证信息及第三车载设备存储的第二车载设备的配置信息,对所述第二数据进行验证。
具体的验证过程可以参考第一车载设备对第一数据的验证过程,在此不再赘述。
步骤804:第一车载设备获取所述第三车载设备对所述第二数据的验证结果。
第一车载设备可以根据第三车载设备反馈的第二验证信息的验证结果,确定第一车载设备存储的第二车载设备的配置信息是否出现异常。如果第二验证信息验证成功,则第一车载设备存储的第二车载设备的配置信息验证成功,或者说,第三车载设备确定第一车载设备存储的第二车载设备的配置信息验证成功;或者,如果第二验证信息验证失败,则第一车载设备存储的第二车载设备的配置信息验证不成功,或者说,第三车载设备确定第一车载设备存储的第二车载设备的配置信息验证失败。
其中,第三车载设备对第二验证信息的验证方式可以参考第一车载设备对第一验证信息的验证方式,在此不再赘述。
步骤805:第一车载设备根据第三车载设备对所述第二数据的验证结果,确定第二数据或第一数据是否异常。
一种可能的实现方式中,第一车载设备确定第三车载设备对第二数据的验证结果为验证成功,则可以确定第一车载设备内存储的第二车载设备的配置信息未出现异常,此时,也可以确定第一数据未出现异常。
另一种可能的实现方式中,步骤805a、第一车载设备确定第三车载设备对第二数据的验证结果为验证失败,则可以确定第一车载设备内存储的第二车载设备的配置信息出现异常,基于第一车载设备对第一数据验证成功的结果,也可以确定第一数据出现异常。
需要说明的是,为保证第三车载设备验证的可靠性,第一车载设备还可以基于其他车载设备对第二数据进行验证,以确定第一车载设备存储的第二数据及第二车载设备存储的第一数据是否为异常数据。
进一步的,步骤805b、第一车载设备确定第三车载设备对第二数据的验证结果为验证失败,则可以确定第二数据异常。在确定第二数据异常时,可以根据其他车载设备中存储的未异常数据,对第二数据进行恢复。以第三车载设备存储的第二车载设备的配置信息为未异常数据为例,则,第一车载设备可以根据第三车载设备存储的第二车载设备的配置信息,对第二数据进行恢复,具体步骤806a可以包括:第一车载设备获取所述第三车载设备存储的所述第二车载设备的配置信息;第一车载设备根据第三车载设备存储的所述第二车载设备的配置信息更新所述第二数据。
同理,第二车载设备可以根据第三车载设备存储的第二车载设备的配置信息,对第一数据进行恢复。具体步骤806b可以包括:第二车载设备获取所述第三车载设备存储的所述第二车载设备的配置信息;第二车载设备根据第三车载设备存储的所述第二车载设备的配置信息更新所述第一数据。
情形二,在第一车载设备确定所述第一车载设备对所述第一数据验证失败时,可能是第一车载设备存储的第二车载设备的配置信息出现异常,也可能是第二车载设备存储的第一数据出现异常,因此,可以通过第三车载设备,验证第二数据。在该场景下,请参考图9,图9所示的实施例中,第三车载设备对第一车载设备存储的第二车载设备的配置信息的验证,可以包括以下步骤:
步骤901:第一车载设备确定所述第一车载设备对所述第一数据验证失败。
其中,确定第一数据验证失败,可以是在对第一认证信息认证成功后,对第一验证数据中的第一数据验证后确定的。例如,若第一验证数据为数字签名,则可以在数字签名解密失败时,确定第一验证信息验证失败,或者,可以在数字签名解密成功,但是,在对解密后的第一数据进行完整性校验时,确定第一数据校验失败是确定的,在此不做限定。
另一种可能的实现方式,确定第一数据验证失败,也可以是基于第一认证信息认证失败直接确定的。在确定第一认证信息认证失败时,确定第二车载设备的身份不合法,可以直接认为第二车载设备存储的第一数据异常,无需第一车载设备对第一验证信息进行验证。
步骤902:第一车载设备获取所述第三车载设备对所述第二数据的验证结果。
第一车载设备获取所述第三车载设备对所述第二数据的验证结果的实现方式可以有多种,下面举例说明,可以包括:
步骤9021:第一车载设备向所述第三车载设备发送第三消息;
其中,所述第三消息包括第二验证信息,所述第二验证信息用于对第二数据进行验证,所述第二数据为所述第一车载设备存储的所述第二车载设备的配置信息。
进一步的,在第三消息中,还可以包括第二认证信息,用于第三车载设备对第一车载设备的身份信息进行认证。具体的第二认证信息的生成方式可以参考第二车载设备生成第一认证信息的生成方式,在此不再赘述。
步骤9022:第三车载设备对第二验证信息进行验证。
第三车载设备对第二验证信息的验证方法可以参考第一车载设备对第一验证信息的验证方法,在此不再赘述。对应的,若第三消息中包括第二认证信息,则第三车载设备还可以对第一车载设备的身份信息进行认证。具体的认证方式可以参考第一车载设备对第二车载设备的身份信息进行认证的方式,在此不再赘述。
步骤9023:第三车载设备向第一车载设备发送验证反馈消息。
相应的,第一车载设备从所述第三车载设备接收验证反馈消息,所述验证反馈消息包括所述第三车载设备对所述第二数据的验证结果。
进一步的,第三车载设备对第一车载设备的身份信息进行认证后,所述验证反馈消息还可以包括第三车载设备对第一车载设备的身份信息的认证结果。第一车载设备可以根据第一车载设备的身份信息的认证结果和第二数据的验证结果,同时确定第三车载设备对第二数据的验证是否成功。
另一种可能的实现方式,为提高验证效率,第三车载设备对所述第二数据的验证结果还可以是基于第一车载设备的身份信息的认证结果确定的。例如,若确定第三车载设备对第一车载设备的身份信息的认证结果为认证失败,即确定第一车载设备的身份信息不合法,则可以直接确定第二数据的验证结果为验证失败。若确定第三车载设备对第一车载设备的身份信息的认证结果为认证成功后,可以根据第三车载设备对所述第二数据的验证结果是否成功,确定第二数据的验证是否成功。
下面的步骤903a-904b中,第一车载设备可以根据所述第三车载设备对所述第二数据的验证结果,确定第一数据或第二数据是否异常。
步骤903a:第一车载设备根据所述第三车载设备对所述第二数据的验证结果,确定所述第三车载设备对所述第二数据验证成功;所述第一车载设备确可以定所述第一数据异常,确定第二数据未出现异常。
步骤904a:第一车载设备可以根据第二数据,将第二车载设备存储的第一数据恢复为正常数据。具体可以包括:第一车载设备向所述第二车载设备发送所述第二数据;第二车载设备根据所述第二数据更新所述第一数据。
步骤903b:若第一车载设备根据所述第三车载设备对所述第二数据的验证结果,确定第三车载设备对所述第二数据的验证结果为验证失败,则第一车载设备可以确定第一数据未出现异常,而第二数据出现异常。
步骤904b:第一车载设备可以根据第二车载设备的第一数据,将第一车载设备存储的第二数据恢复为正常数据。具体可以包括:第二车载设备向所述第一车载设备发送所述第一数据;第一车载设备根据所述第一数据更新所述第二数据。
情形三,在第一车载设备确定所述第一车载设备对所述第一数据验证失败时,可能是第一车载设备存储的第二车载设备的配置信息出现异常,也可能是第二车载设备存储的第一数据出现异常,因此,可以通过第三车载设备,验证第一数据。在该场景下,请参考图10,图10所示的实施例中,第三车载设备对第二车载设备存储的第二车载设备的配置信息的验证,可以包括以下步骤:
步骤1001:第二车载设备接收所述第一车载设备对所述第一数据验证结果,并根据第一数据的验证结果,确定第一数据验证失败。
验证失败的具体内容可以参考步骤901,在此不再赘述。
步骤1002:第二车载设备获取所述第三车载设备对所述第一数据的验证结果。
第二车载设备获取所述第三车载设备对所述第一数据的验证结果的实现方式可以有多种,下面举例说明,可以包括:
步骤10021:第二车载设备向所述第三车载设备发送第四消息;
其中,所述第四消息包括第三验证信息,所述第三验证信息用于对第一数据进行验证。
进一步的,在第四消息中,还可以包括第三认证信息,用于第三车载设备对第二车载设备的身份信息进行认证。具体的第三认证信息的生成方式可以参考第二车载设备生成第一认证信息的方式,在此不再赘述。
步骤10022:第三车载设备对第三验证信息进行验证。
第三车载设备对第三验证信息的验证方法可以参考第一车载设备对第一验证信息的验证方法,在此不再赘述。对应的,若第三消息中包括第三认证信息,则第三车载设备还可以对第二车载设备的身份信息进行认证。具体的认证方式可以参考第一车载设备对第二车载设备的身份信息进行认证的方式,在此不再赘述。
步骤10023a:第三车载设备向第二车载设备发送验证反馈消息。
相应的,第二车载设备从所述第三车载设备接收验证反馈消息,所述验证反馈消息包括所述第三车载设备对所述第一数据的验证结果。
针对第一车载设备获取第三车载设备对第三验证信息的验证结果的方式,可以包括多种方式,下面以方式1和方式2举例说明。
方式1
步骤10023a’:第二车载设备可以在接收到所述验证反馈消息后,向第一车载设备发送所述验证反馈消息,所述验证反馈消息包括所述第三车载设备对所述第一数据的验证结果。进而,第一车载设备可以确定第三车载设备对所述第一数据的验证结果。
方式2
步骤10023b:第三车载设备向第一车载设备发送第三验证信息的验证结果。
一种可能的实现方式,在步骤10021中,第四消息还可以携带第一车载设备请求获取第三验证信息的验证结果。进而,第三车载设备可以将第三车载设备对第三验证信息的验证结果发送给第一车载设备。
再比如,第四消息中,还可以携带第一车载设备对第一验证信息的验证结果,例如第一车载设备对第一验证信息的验证结果为tag,tag=“成功”或“不成功(或失败)”,进而,隐式指示第三车载设备将第三验证信息的验证结果发送给第一车载设备。
步骤1003a:若第一车载设备根据所述第三车载设备对所述第一数据的验证结果,确定第三车载设备对所述第一数据的验证结果为验证失败,则第一车载设备可以确定第二数据未出现异常,而第一数据出现异常。
步骤1004a:第一车载设备可以根据第二数据,将第二车载设备存储的第一数据恢复为正常数据。具体可以包括:第一车载设备向所述第二车载设备发送所述第二数据;第二车载设备根据所述第二数据更新所述第一数据。
步骤1003b:若第三车载设备对所述第一数据的验证结果为验证成功,可以确定第一数据未出现异常,而第二数据出现异常。
步骤1004b:第一车载设备可以根据第二车载设备的第一数据,将第一车载设备存储的第二数据恢复为正常数据。具体可以包括:第二车载设备向所述第一车载设备发送所述第一数据;第一车载设备根据所述第一数据更新所述第二数据。
关于图3-图10所示的流程中的步骤的一些具体实施细节,均可参考图2所示的实施例的相关描述。
本申请实施例,通过在不同车载设备上存储有车载设备的配置信息,例如,第一车载设备上存储有第二车载设备的配置信息,以实现第一车载设备可以对第二车载设备的配置信息进行验证,进一步的,还可以对第二车载设备的身份进行认证,以提高对第二车载设备的配置信息验证的安全性。另外,为提高验证的有效性,还可以通过其他车载设备进一步验证,例如,第一车载设备对第二车载设备的验证失败,则第一车载设备也可以进一步通过第三车载设备进行验证,相当于可以进行多重验证。该验证方式增加了验证的可靠性,并可以根据验证结果,及时恢复异常数据,避免了现有技术中在出现异常时,只能人工排查异常数据,导致影响车辆的正常工作有助于提高车载设备的配置信息的安全性。
下面结合附图介绍本申请实施例中用来实现上述方法的数据验证装置。因此,上文中的内容均可以用于后续实施例中,重复的内容不再赘述。
基于以上方法实施例,本申请实施例还提供了一种数据验证装置,所述数据验证装置应用于车辆,所述车辆包括第一车载设备和第二车载设备,该数据验证装置可以用于实现上述图2中的第一车载设备的数据验证功能,该数据验证装置可以为上述第一方面中的第一车载设备,或者,也可以是所述第一车载设备内的子装置,还可以在所述车辆内以独立于所述第一车载设备的形式存在的装置。参阅图11所示,该数据验证装置1100包括:接收单元1101、发送单元1103和处理单元1102。下面介绍数据验证装置1100在进行数据验证时,各个单元的功能和联系。
其中,接收单元1101,用于接收来自第二车载设备的第一消息,所述第一消息包括第一验证信息,所述第一验证信息用于对第一数据进行验证,所述第一数据为所述第二车载设备存储的所述第二车载设备的配置信息;
处理单元1102,用于根据所述第一车载设备存储的所述第二车载设备的配置信息以及所述第一验证信息,对所述第一数据进行验证。
一种可能的实现方式,所述第二车载设备的配置信息与所述第二车载设备在所述车辆中的位置或者功能相关。
一种可能的实现方式,所述第一消息还包括第一认证信息,所述第一认证信息用于对所述第二车载设备的身份进行认证,所述第一认证信息是根据所述第二车载设备的身份信息生成的;处理单元1102,还用于根据所述第一认证信息,对所述第二车载设备的身份进行认证。
一种可能的实现方式,接收单元1101,用于接收来自所述第二车载设备的第一消息之前,还用于接收来自所述第二车载设备的第二消息,所述第二消息包括第一认证信息,所述第一认证信息用于对所述第二车载设备的身份进行认证,所述第一认证信息是根据所述第二车载设备的身份信息生成的;
处理单元1102,还用于根据所述第一认证信息,确定所述第二车载设备的身份认证成功。
一种可能的实现方式,所述车辆还包括第三车载设备;所述处理单元1102,用于确定所述第一验证信息验证成功;用于通过接收单元1101获取来自所述第三车载设备对所述第一数据的验证结果;根据所述第三车载设备对所述第一数据的验证结果,确定所述第三车载设备对所述第一验证信息的验证成功。
一种可能的实现方式,所述车辆还包括第三车载设备,所述第三车载设备存储有所述第二车载设备的配置信息,所述处理单元1102,还用于:根据所述第一车载设备对所述第一数据的验证结果,确定所述第一车载设备对所述第一数据验证失败;根据所述第三车载设备对第二数据的验证结果,确定所述第三车载设备对所述第二数据验证成功,所述第二数据为所述第一车载设备存储的所述第二车载设备的配置信息;根据所述第三车载设备对所述第二数据验证成功及所述第一车载设备对所述第一数据验证失败,确定所述第一数据异常;所述接收单元1101,还用于获取所述第三车载设备对所述第二数据的验证结果。
一种可能的实现方式,所述发送单元1103,用于向所述第二车载设备发送所述第二数据,所述第二数据用于所述第二车载设备更新所述第一数据。
一种可能的实现方式,所述接收单元1101,还用于接收所述第二车载设备发送的所述第三验证信息的验证反馈消息;所述第三验证信息用于第三车载设备对第一数据进行验证,所述第三验证信息为所述第二车载设备向所述第三车载设备发送的;所述第三验证信息的验证反馈消息为所述第二车载设备从所述第三车载设备接收的,所述验证反馈消息包括所述第三车载设备对所述第一数据的验证结果。所述处理单元1102,用于:根据所述验证反馈消息,确定所述第一数据的验证结果。
一种可能的实现方式,所述车辆还包括第三车载设备,所述第三车载设备存储有所述第二车载设备的配置信息,处理单元1102,还用于:根据所述第一车载设备对所述第一数据的验证结果,确定所述第一车载设备对所述第一数据验证失败;根据所述第三车载设备对所述第一数据的验证结果,确定所述第三车载设备对所述第一数据验证成功;根据所述第三车载设备对所述第一数据验证成功及所述第一车载设备对所述第一数据验证失败,确定第二数据异常,所述第二数据为所述第一车载设备存储的所述第二车载设备的配置信息;
所述接收单元1101,还用于获取所述第三车载设备对所述第一数据的验证结果。
一种可能的实现方式,所述接收单元1101,还用于:获取所述第一数据或者所述第三车载设备存储的所述第二车载设备的配置信息;所述处理单元1102,还用于根据所述第一数据或者所述第三车载设备存储的所述第二车载设备的配置信息更新所述第二数据。
一种可能的实现方式,所述发送单元1103,用于向所述第二车载设备发送第五消息;所述第五消息包括第四验证信息;所述第三验证信息用于对所述第一车载设备的第三数据进行验证;所述第三数据为所述第一车载设备存储的所述第一车载设备的配置信息;所述接收单元1101,用于获取所述第二车载设备返回的所述第四验证信息的验证结果。
一种可能的实现方式,所述第一验证信息为根据所述第一数据和第一加密密钥生成的;所述第一加密密钥为所述第二车载设备的加密密钥;所述处理单元1102,具体用于:根据所述第一车载设备存储的第一解密密钥验证所述第一数据;所述第一解密密钥与所述第一加密密钥为一密钥对。
一种可能的实现方式,所述处理单元1102根据所述第一认证信息对所述第二车载设备的身份进行认证之前,所述发送单元1103还用于:向所述第二车载设备发送第一随机数,所述第一认证信息为所述第二车载设备使用所述第一加密密钥对所述第一随机数运算生成的;所述第一加密密钥为所述第二车载设备的加密密钥;
所述处理单元1102,还用于根据第一解密密钥和所述第一随机数对所述第一认证信息进行认证;所述第一解密密钥与所述第一加密密钥为一密钥对。
一种可能的实现方式,所述第一认证信息还包括:所述第二车载设备的公钥基础设施 PKI证书;所述处理单元1102,还用于对所述第二车载设备的PKI证书进行认证。
一种可能的实现方式,所述处理单元1102,具体用于:根据所述第一认证信息的认证结果,确定所述第一车载设备对所述第二车载设备的身份认证失败;根据所述第一车载设备对所述第二车载设备的身份认证失败,确定所述第二车载设备的身份异常。
需要说明的是,本申请上述实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述各个单元的只一个或多个可以软件、硬件、固件或其结合实现。所述软件或固件包括但不限于计算机程序指令或代码,并可以被硬件处理器所执行。所述硬件包括但不限于各类集成电路,如中央处理单元(CPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)或专用集成电路(ASIC)。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
基于以上实施例,本申请实施例还提供了一种数据验证装置,该数据验证装置可以完成上述图2-图10中第一车载设备的数据验证的工作。参阅图12所示,数据验证装置1200 中包括:通信接口1201、处理器1202,以及存储器1203。
通信接口1201和存储器1203与处理器1202之间相互连接。可选的,通信接口1201和存储器1203与处理器1202之间可以通过总线相互连接;总线可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extendedindustry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口1201用于实现数据验证装置与车辆中的其他部件通信。例如,通信接口1201 可以用于接收来自第二车载设备的第一消息,所述第一消息包括第一验证信息,所述第一验证信息用于对第一数据进行验证,所述第一数据为所述第二车载设备存储的所述第二车载设备的配置信息;处理器1202用于根据所述第一车载设备存储的所述第二车载设备的配置信息以及所述第一验证信息,对所述第一数据进行验证。
处理器1202还可以用于实现上述如图2-图10所示的数据验证方案,具体可以参见上述图2-图10所示的实施例中的描述,此处不再赘述。可选的,处理器1202可以是中央处理器(central processing unit,CPU),或者其他硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmablelogic device, PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device, CPLD),现场可编程逻辑门阵列(field-programmable gatearray,FPGA),通用阵列逻辑 (generic array logic,GAL)或其任意组合。处理器1202在实现上述功能时,可以通过硬件实现,当然也可以通过硬件执行相应的软件实现。
存储器1203用于存放程序指令和数据等。具体地,程序指令可以包括程序代码,该程序代码包括计算机操作的指令。存储器1203可能包含随机存取存储器(random accessmemory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。处理器1202执行存储器1203所存放的程序,并通过上述各个部件,实现上述功能,从而最终实现以上实施例提供的方法。
基于以上实施例,本申请实施例还提供了一种数据验证系统,该数据验证系统可以包括如图11所示的用于实现第一车载设备的数据验证装置、用于实现第二车载设备的数据验证功能的数据验证装置,还可以包括用于实现第三车载设备的数据验证功能的数据验证装置。该数据验证系统还可以包括如图12所示的数据验证装置,该数据验证装置可以为上述图12所示用于实现第一车载设备功能的数据验证装置,也可以是所述第一车载设备内的子装置,还可以在所述车辆内以独立于所述第一车载设备的形式存在的装置。本申请实施例中的数据验证装置,可以是一个通用设备或者是一个专用设备,本申请实施例对此不做具体限定。数据验证装置的相关功能可以由一个设备实现,也可以由多个设备共同实现,还可以是由一个设备内的一个或多个功能模块实现,本申请实施例对此不做具体限定。可以理解的是,上述功能既可以是硬件设备中的元件,也可以是在专用硬件上运行的软件功能,或者是硬件与软件的结合,或者是平台(例如,云平台)上实例化的虚拟化功能。
基于以上实施例,本申请实施例还提供了一种计算机程序产品,当所述计算机程序产品在处理器上运行时,使得所述数据验证装置执行上述实施例提供的各种可能的方法。
基于以上实施例,本申请实施例还提供了一种计算机存储介质,所述计算机存储介质中存储有计算机程序,当所述计算机程序被处理器执行时,使得所述数据验证装置执行上述实施例提供的各种可能的方法。
基于以上实施例,本申请实施例还提供了一种芯片,芯片用于读取存储器中存储的计算机程序,实现以上实施例提供的方法。
基于以上实施例,本申请实施例提供了一种芯片系统,该芯片系统包括处理器,用于支持计算机装置实现以上实施例提供的方法中终端设备所涉及的功能。在一种可能的设计中,芯片系统还包括存储器,存储器用于保存该计算机装置必要的程序和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的保护范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (22)
1.一种数据验证方法,其特征在于,所述方法应用于车辆,所述车辆包括第一车载设备、第二车载设备和第三车载设备,所述第三车载设备存储有所述第二车载设备的配置信息,所述方法包括:
所述第一车载设备接收来自第二车载设备的第一消息,所述第一消息包括第一验证信息,所述第一验证信息用于对第一数据进行验证,所述第一数据为所述第二车载设备存储的所述第二车载设备的配置信息;
所述第一车载设备根据所述第一车载设备存储的所述第二车载设备的配置信息以及所述第一验证信息,对所述第一数据进行验证;
所述第一车载设备根据所述第一车载设备对所述第一数据的验证结果,确定所述第一车载设备对所述第一数据验证失败;
所述第一车载设备获取所述第三车载设备对第二数据的验证结果,所述第二数据为所述第一车载设备存储的所述第二车载设备的配置信息;
所述第一车载设备根据所述第三车载设备对所述第二数据的验证结果,确定所述第三车载设备对所述第二数据验证成功;
所述第一车载设备根据所述第三车载设备对所述第二数据验证成功及所述第一车载设备对所述第一数据验证失败,确定所述第一数据异常。
2.如权利要求1所述的方法,其特征在于,所述第一消息还包括第一认证信息,所述第一认证信息用于对所述第二车载设备的身份进行认证,所述第一认证信息是根据所述第二车载设备的身份信息生成的;所述方法还包括:
所述第一车载设备根据所述第一认证信息,对所述第二车载设备的身份进行认证。
3.如权利要求1所述的方法,其特征在于,所述第一车载设备接收来自所述第二车载设备的第一消息之前,还包括:
所述第一车载设备接收来自所述第二车载设备的第二消息,所述第二消息包括第一认证信息,所述第一认证信息用于对所述第二车载设备的身份进行认证,所述第一认证信息是根据所述第二车载设备的身份信息生成的;
所述第一车载设备根据所述第一认证信息,确定所述第二车载设备的身份认证成功。
4.如权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
所述第一车载设备向所述第二车载设备发送所述第二数据,所述第二数据用于所述第二车载设备更新所述第一数据。
5.如权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
所述第一车载设备根据所述第一车载设备对所述第一数据的验证结果,确定所述第一车载设备对所述第一数据验证失败;
所述第一车载设备获取所述第三车载设备对所述第一数据的验证结果;
所述第一车载设备根据所述第三车载设备对所述第一数据的验证结果,确定所述第三车载设备对所述第一数据验证成功;
所述第一车载设备根据所述第三车载设备对所述第一数据验证成功及所述第一车载设备对所述第一数据验证失败,确定第二数据异常。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
所述第一车载设备获取所述第一数据或者所述第三车载设备存储的所述第二车载设备的配置信息;
所述第一车载设备根据所述第一数据或者所述第三车载设备存储的所述第二车载设备的配置信息更新所述第二数据。
7.如权利要求1-3任一项所述的方法,其特征在于,所述第一验证信息为根据所述第一数据和第一加密密钥生成的;所述第一加密密钥为所述第二车载设备的加密密钥;
所述第一车载设备对所述第一数据进行验证,包括:
所述第一车载设备根据所述第一车载设备存储的第一解密密钥验证所述第一数据;所述第一解密密钥与所述第一加密密钥为一密钥对。
8.如权利要求2-3任一项所述的方法,其特征在于,所述第一车载设备根据所述第一认证信息对所述第二车载设备的身份进行认证之前,还包括:
所述第一车载设备向所述第二车载设备发送第一随机数,所述第一认证信息为所述第二车载设备使用第一加密密钥对所述第一随机数运算生成的;所述第一加密密钥为所述第二车载设备的加密密钥;
所述第一车载设备对所述第二车载设备的身份进行认证,包括:
所述第一车载设备根据第一解密密钥和所述第一随机数对所述第一认证信息进行认证;所述第一解密密钥与所述第一加密密钥为一密钥对。
9.如权利要求8所述的方法,其特征在于,所述第一认证信息还包括:所述第二车载设备的公钥基础设施PKI证书;
第一车载设备对所述第二车载设备的身份进行认证,还包括:
所述第一车载设备对所述第二车载设备的PKI证书进行认证。
10.如权利要求8所述的方法,其特征在于,所述方法还包括:
所述第一车载设备根据第一认证信息的认证结果,确定所述第一车载设备对所述第二车载设备的身份认证失败;
所述第一车载设备根据所述第一车载设备对所述第二车载设备的身份认证失败,确定所述第二车载设备的身份异常。
11.一种数据验证装置,其特征在于,所述装置应用于车辆,所述车辆包括第一车载设备、第二车载设备和第三车载设备,所述第三车载设备存储有所述第二车载设备的配置信息,所述装置包括:
接收单元,用于接收来自第二车载设备的第一消息,所述第一消息包括第一验证信息,所述第一验证信息用于对第一数据进行验证,所述第一数据为所述第二车载设备存储的所述第二车载设备的配置信息;
处理单元,用于根据所述第一车载设备存储的所述第二车载设备的配置信息以及所述第一验证信息,对所述第一数据进行验证;
所述处理单元,还用于:根据所述第一车载设备对所述第一数据的验证结果,确定所述第一车载设备对所述第一数据验证失败;根据所述第三车载设备对第二数据的验证结果,确定所述第三车载设备对所述第二数据验证成功,所述第二数据为所述第一车载设备存储的所述第二车载设备的配置信息;根据所述第三车载设备对所述第二数据验证成功及所述第一车载设备对所述第一数据验证失败,确定所述第一数据异常;
所述接收单元,还用于获取所述第三车载设备对所述第二数据的验证结果。
12.如权利要求11所述的装置,其特征在于,所述第一消息还包括第一认证信息,所述第一认证信息用于对所述第二车载设备的身份进行认证,所述第一认证信息是根据所述第二车载设备的身份信息生成的;所述处理单元,还用于根据所述第一认证信息,对所述第二车载设备的身份进行认证。
13.如权利要求11所述的装置,其特征在于,所述接收单元用于接收来自所述第二车载设备的第一消息之前,还用于接收来自所述第二车载设备的第二消息,所述第二消息包括第一认证信息,所述第一认证信息用于对所述第二车载设备的身份进行认证,所述第一认证信息是根据所述第二车载设备的身份信息生成的;
所述处理单元,还用于根据所述第一认证信息,确定所述第二车载设备的身份认证成功。
14.如权利要求11-13任一项所述的装置,其特征在于,所述装置还包括:
发送单元,用于向所述第二车载设备发送所述第二数据,所述第二数据用于所述第二车载设备更新所述第一数据。
15.如权利要求11-13任一项所述的装置,其特征在于,所述处理单元还用于:根据所述第一车载设备对所述第一数据的验证结果,确定所述第一车载设备对所述第一数据验证失败;根据所述第三车载设备对所述第一数据的验证结果,确定所述第三车载设备对所述第一数据验证成功;根据所述第三车载设备对所述第一数据验证成功及所述第一车载设备对所述第一数据验证失败,确定第二数据异常;
所述接收单元,还用于获取所述第三车载设备对所述第一数据的验证结果。
16.如权利要求15所述的装置,其特征在于,所述接收单元还用于:获取所述第一数据或者所述第三车载设备存储的所述第二车载设备的配置信息;
所述处理单元,还用于根据所述第一数据或者所述第三车载设备存储的所述第二车载设备的配置信息更新所述第二数据。
17.如权利要求11-13任一项所述的装置,其特征在于,所述第一验证信息为根据所述第一数据和第一加密密钥生成的;所述第一加密密钥为所述第二车载设备的加密密钥;
所述处理单元,具体用于:根据所述第一车载设备存储的第一解密密钥验证所述第一数据;所述第一解密密钥与所述第一加密密钥为一密钥对。
18.如权利要求12-13任一项所述的装置,其特征在于,所述装置还包括:发送单元;所述处理单元根据所述第一认证信息对所述第二车载设备的身份进行认证之前,所述发送单元还用于:向所述第二车载设备发送第一随机数,所述第一认证信息为所述第二车载设备使用第一加密密钥对所述第一随机数运算生成的;所述第一加密密钥为所述第二车载设备的加密密钥;
所述处理单元,还用于根据第一解密密钥和所述第一随机数对所述第一认证信息进行认证;所述第一解密密钥与所述第一加密密钥为一密钥对。
19.如权利要求18所述的装置,其特征在于,所述第一认证信息还包括:所述第二车载设备的公钥基础设施PKI证书;所述处理单元,还用于对所述第二车载设备的PKI证书进行认证。
20.如权利要求18所述的装置,其特征在于,所述处理单元,具体用于:
根据第一认证信息的认证结果,确定所述第一车载设备对所述第二车载设备的身份认证失败;
根据所述第一车载设备对所述第二车载设备的身份认证失败,确定所述第二车载设备的身份异常。
21.一种数据验证装置,其特征在于,包括:
处理器和存储器;
其中,所述处理器用于执行所述存储器中的程序代码,以实现如权利要求1-10中任一项所述的方法。
22.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,当所述计算机程序在被处理器运行时,使得所述数据验证装置执行如权利要求1-10任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/084981 WO2021207986A1 (zh) | 2020-04-15 | 2020-04-15 | 数据验证方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112689982A CN112689982A (zh) | 2021-04-20 |
CN112689982B true CN112689982B (zh) | 2022-04-29 |
Family
ID=75457733
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080005001.9A Active CN112689982B (zh) | 2020-04-15 | 2020-04-15 | 数据验证方法、装置及存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230034996A1 (zh) |
EP (1) | EP4120622A4 (zh) |
CN (1) | CN112689982B (zh) |
WO (1) | WO2021207986A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113271565B (zh) * | 2021-05-14 | 2022-12-27 | 阿波罗智联(北京)科技有限公司 | 车辆的通信方法、装置、存储介质及程序产品 |
CN116418570A (zh) * | 2023-03-20 | 2023-07-11 | 一汽奔腾轿车有限公司 | 一种远程加密信息测试验证系统及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108248532A (zh) * | 2018-01-31 | 2018-07-06 | 北京新能源汽车股份有限公司 | 一种汽车信息的验证方法、电控单元及车载采集终端 |
CN110515371A (zh) * | 2019-09-19 | 2019-11-29 | 潍柴动力股份有限公司 | Ecu数据篡改的检测方法、第一控制器和ecu |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2659489C1 (ru) * | 2014-06-16 | 2018-07-02 | Рикох Компани, Лтд. | Сетевая система, способ управления связью и носитель данных |
JP6217728B2 (ja) * | 2015-10-19 | 2017-10-25 | トヨタ自動車株式会社 | 車両システムおよび認証方法 |
WO2017147207A1 (en) * | 2016-02-22 | 2017-08-31 | Continental Automotive Systems, Inc. | Method to establish and update keys for secure in-vehicle network communication |
JP6585019B2 (ja) * | 2016-09-13 | 2019-10-02 | 株式会社東芝 | ネットワーク監視装置、ネットワークシステムおよびプログラム |
US11178158B2 (en) * | 2018-01-29 | 2021-11-16 | Nagravision S.A. | Secure communication between in-vehicle electronic control units |
-
2020
- 2020-04-15 WO PCT/CN2020/084981 patent/WO2021207986A1/zh unknown
- 2020-04-15 CN CN202080005001.9A patent/CN112689982B/zh active Active
- 2020-04-15 EP EP20931614.0A patent/EP4120622A4/en not_active Withdrawn
-
2022
- 2022-10-13 US US17/965,455 patent/US20230034996A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108248532A (zh) * | 2018-01-31 | 2018-07-06 | 北京新能源汽车股份有限公司 | 一种汽车信息的验证方法、电控单元及车载采集终端 |
CN110515371A (zh) * | 2019-09-19 | 2019-11-29 | 潍柴动力股份有限公司 | Ecu数据篡改的检测方法、第一控制器和ecu |
Also Published As
Publication number | Publication date |
---|---|
EP4120622A4 (en) | 2023-04-26 |
WO2021207986A1 (zh) | 2021-10-21 |
EP4120622A1 (en) | 2023-01-18 |
CN112689982A (zh) | 2021-04-20 |
US20230034996A1 (en) | 2023-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107659550B (zh) | 车辆到车辆的私人通信 | |
CN112543927B (zh) | 一种设备升级方法及相关设备 | |
JPWO2019142458A1 (ja) | 車両監視装置、不正検知サーバ、および、制御方法 | |
US20230034996A1 (en) | Data verification method and apparatus | |
CN112602303A (zh) | 一种数据传输方法以及装置 | |
US20220398149A1 (en) | Minimizing transport fuzzing reactions | |
US20240073037A1 (en) | Internal certificate authority for electronic control unit | |
JP2018196108A (ja) | 検証方法、検証装置およびプログラム | |
US20230421571A1 (en) | Method for obtaining file based on over-the-air ota technology and related device | |
US20230389095A1 (en) | Enhanced wireless connectivity | |
WO2024032438A1 (zh) | 车辆安全访问方法、系统及相关装置 | |
JP2020167607A (ja) | 自動車用演算システム及び受信データの処理方法 | |
US20240281849A1 (en) | Dynamic vehicle tags | |
Elhadeedy et al. | Using ethernet or a wireless harness and named data networking in autonomous tractor-trailer communication | |
CN112655184B (zh) | 一种安全保护方法、装置、智能汽车以及存储介质 | |
US20220006804A1 (en) | Gateway and proxy for vehicle head unit certificate validation | |
US12003966B2 (en) | Local misbehavior prevention system for cooperative intelligent transportation systems | |
US20230276409A1 (en) | Resource selection for 5g nr v2x pc5 mode 2 | |
US20230276482A1 (en) | Resource selection for 5g nr v2x communications | |
CN117195216A (zh) | 车辆校验方法、相关装置及系统 | |
Notaro | Simulating Malicious Attacks on VANETs for Connected and Autonomous Vehicles | |
CN112544058B (zh) | 认证检测方法、装置及系统 | |
US20240326597A1 (en) | Battery management system communication | |
US20240272892A1 (en) | Vehicle ota security validation | |
CN112956156B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |