CN112585549B - 一种故障诊断方法、装置及车辆 - Google Patents

一种故障诊断方法、装置及车辆 Download PDF

Info

Publication number
CN112585549B
CN112585549B CN202080004366.XA CN202080004366A CN112585549B CN 112585549 B CN112585549 B CN 112585549B CN 202080004366 A CN202080004366 A CN 202080004366A CN 112585549 B CN112585549 B CN 112585549B
Authority
CN
China
Prior art keywords
gateway
ecu
diagnostic
diagnostic device
key
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
Application number
CN202080004366.XA
Other languages
English (en)
Other versions
CN112585549A (zh
Inventor
雅思敏·雷哈娜
杨艳江
魏卓
沙庆迪
李臻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN112585549A publication Critical patent/CN112585549A/zh
Application granted granted Critical
Publication of CN112585549B publication Critical patent/CN112585549B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0208Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the configuration of the monitoring system
    • G05B23/0213Modular or universal configuration of the monitoring system, e.g. monitoring system having modules that may be combined to build monitoring program; monitoring system that can be applied to legacy systems; adaptable monitoring system; using different communication protocols
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24065Real time diagnostics
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25205Encrypt communication
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/26Pc applications
    • G05B2219/2637Vehicle, car, auto, wheelchair
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C2205/00Indexing scheme relating to group G07C5/00
    • G07C2205/02Indexing scheme relating to group G07C5/00 using a vehicle scan tool
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/008Registering or indicating the working of vehicles communicating information to a remotely located station
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Small-Scale Networks (AREA)

Abstract

一种故障诊断方法、装置及车辆,用于解决现有技术中未经授权的诊断仪对车辆的干扰。该方法可应用于车辆,车辆包括ECU和网关,网关用于管理ECU,该方法包括网关对诊断仪进行认证,若认证成功,网关生成第一共享密钥,并向ECU发送第一共享密钥,第一共享密钥为ECU与诊断仪之间共享的密钥,ECU用第一共享密钥对待传输的诊断数据进行加密,并向诊断装置发送加密后的诊断数据。通过网关对诊断仪进行认证,有助于避免未经授权的诊断仪对车辆的干扰,而且有助于节省ECU的开销。进一步,通过第一共享密钥有助于提高ECU向诊断仪传输的诊断数据的安全性。

Description

一种故障诊断方法、装置及车辆
技术领域
本申请涉及故障诊断技术领域,尤其涉及一种故障诊断方法、装置及车辆。
背景技术
随着电子技术的发展,车辆的自动化程度越来越高,随之对车辆的维修和检测也提出了较高的要求。目前,可在车辆中装载车载诊断系统,车载诊断系统可用于记录车辆使用过程中发生的故障。当车辆发生故障时,可通过分析车载诊断系统获取的诊断数据以了解车辆存在的故障,进而对车辆中存在的故障进行维修。
现有技术中,获取车载诊断系统中的诊断数据的方法为:将测试仪与车载诊断系统相连,测试仪可以通过读取车载诊断系统中的诊断数据,例如,数据故障处理代码(datatroubleshoot codes,DTCs),基于获取的诊断数据来确定本次故障原因。但是由于诊断数据可能是机密且敏感的,若是未经授权的测试仪获取到诊断数据,可能会运行恶意测试算法或安装恶意固件,对车辆造成不良干预。因此,车载诊断系统需要与测试仪进行相互认证,以避免未经授权的测试仪对车辆的干扰。
目前,通常是车载诊断系统中的每个电子控制单元(elecmal control unit,ECU)对测试仪进行认证,但是由于各个ECU资源有限,有的ECU可能不能对测试仪进行认证,如此,可能会有未经授权的测试仪对车辆进行干扰。
发明内容
本申请提供一种故障诊断方法、装置及车辆,用于解决现有技术中未授权的诊断装置对车辆的干扰。
第一方面,本申请提供一种故障诊断方法,可应用于车辆,该车辆可包括网关和ECU,网关用于管理ECU。该方法包括网关对诊断装置进行认证,若认证成功,网关生成第一共享密钥,网关向ECU发送第一共享密钥,第一共享密钥为ECU与诊断装置之间共享的密钥,第一共享密钥用于ECU对待传输的诊断数据进行加密,其中,待传输的诊断数据为EUC向诊断装置待传输的数据,诊断装置用于获取车辆信息。
基于该方案,通过网关对诊断装置进行认证,有助于避免未经授权的诊断装置对车辆的干扰。而且,通过网关对诊断装置进行认证即可,不需要每个ECU都对诊断装置进行认证,一方面,对诊断装置的认证效率较高;另一方面,有助于节省ECU的开销。进一步,网关还可为EUC生成第一共享密钥,如此,有助于进一步节省ECU的开销,第一共享密钥用于ECU对待传输的诊断数据进行加密,从而有助于提高ECU向诊断装置传输的诊断数据的安全性,即便ECU向诊断装置传输的诊断数据被非法设备窃取,由于是通过第一共享密钥加密的密文数据,非法设备也不能获取到真实的诊断数据。
在一种可能的实现方式中,网关可对第一共享密钥进行加密,得到加密后的第一共享密钥,进一步,网关向ECU发送加密后的第一共享密钥。
通过网关向ECU发送加密的第一共享密钥,有助于提高第一共享密钥的安全性,即便第一共享密钥被非法设备窃取,由于是加密的密文,非法设备也无法获取到真实的第一共享密钥。
在一种可能的实现方式中,网关也可向诊断装置发送第一共享密钥。如此,有助于提高诊断装置获取第一共享密钥的效率。
本申请示例性的给出了如下两种网关对诊断装置的认证方式。
方式一,网关基于诊断装置的公钥基础设施(public key infrastructure,PKI)证书和对随机数的签名对诊断装置进行认证。
网关接收来自诊断装置的第一签名、以及第一PKI证书,第一签名是使用诊断装置的私钥对诊断装置生成的第一随机数进行签名得到的;若网关对第一PKI证书校验成功,可得到诊断装置的公钥,网关可用诊断装置的公钥,对第一签名进行校验。
网关通过对诊断装置的第一PKI证书进行校验,可确定该诊断装置的身份对应的该诊断装置的公钥真实有效;通过对诊断装置签名的第一签名进行校验,可确定诊断装置的公钥的有效性,即该诊断装置拥有该公钥对应的私钥。
基于该方式一,若网关对诊断装置认证成功后,网关生成第二随机数,并根据第二随机数和第一随机数,生成第一共享密钥,其中,第一随机数是网关使用诊断装置的公钥对第一签名校验成功后得到的。
进一步,可选地,网关还可使用网关的私钥,对第二随机数进行签名,得到第二签名,向诊断装置发送第二签名以及PKI证书,第二PKI证书和第二签名用于诊断装置对网关进行认证。如此,可以实现网关对诊断装置的认证,以及诊断装置对网关的认证。也就是说,可实现诊断装置和网关的双向认证。
方式二,网关基于诊断装置的PKI证书、以及挑战-应答机制对诊断装置进行认证。
网关接收来自诊断装置的第一公钥基础设施PKI证书,若对第一PKI证书校验成功,可得到诊断装置的公钥;网关生成第一挑战值,并向诊断装置发送第一挑战值,之后接收来自诊断装置的第三签名,第三签名是用诊断装置的私钥对第一挑战值进行签名得到的;网关根据诊断装置的公钥,对第三签名进行校验。
网关通过对诊断装置的第一PKI证书进行校验,可确定该诊断装置的身份对应的该诊断装置的公钥真实有效;通过对诊断装置签名的第三签名进行校验,可确定诊断装置的公钥的有效性,即该诊断装置拥有该公钥对应的私钥。
进一步,可选地的,为了实现诊断装置对网关的认证,网关还可接收来自诊断装置的第二挑战值,并用网关的私钥对第二挑战值进行签名,得到第四签名;网关向诊断装置发送第四签名、以及第二PKI证书,第二PKI证书和第四签名用于诊断装置对网关进行认证。
第二方面,本申请提供一种车辆的故障诊断方法,车辆可包括网关和ECU,网关用于管理ECU。该方法包括诊断装置对网关进行认证,若认证成功,诊断装置获取第一共享密钥,第一共享密钥为ECU与诊断装置之间共享的密钥;诊断装置接收来自ECU的使用第一共享密钥加密的诊断数据;诊断装置使用第一共享密钥对加密的诊断数据进行解密。
基于该方案,通过诊断装置对网关的认证,有助于避免诊断装置连接到非法设备,防止非法设备向诊断装置随意发送数据。而且,由于网关的性能强大,诊断装置通过与网关进行认证,认证的效率较高。进一步,诊断装置接收到的诊断数据是EUC使用第一共享密钥加密后的诊断数据,如此,有助于ECU向诊断装置传输的诊断数据的安全性,即便ECU向诊断装置传输的诊断数据被非法设备窃取,由于是通过第一共享密钥加密的密文数据,非法设备也不能获取到真实的诊断数据。
在一种可能的实现方式中,诊断装置可以生成第一共享密钥,也可以接收来自网关发送的第一共享密钥。进一步,可选地,诊断装置可接收来自网关的第二随机数,诊断装置生成第一随机数,并根据第一随机数和第二随机数生成第一共享密钥。
本申请示例性的给出了如下两种诊断装置对网关的认证方式。
方式1,诊断装置基于网关的PKI证书和对随机数的签名对网关进行认证。
诊断装置接收来自网关的第二PKI证书和第二签名,第二签名是用网关的私钥对网关生成的第二随机数进行签名得到的;诊断装置对第二PKI证书校验成功,得到网关的公钥;并根据网关的公钥,对第二签名进行校验。
诊断装置通过对网关的第二PKI证书进行校验,可确定该网关的身份对应的该网关的公钥真实有效;通过对网关签名的第二签名进行校验,可确定网关的公钥的有效性,即该网关拥有该公钥对应的私钥。
基于该方式1,若诊断装置对第二签名校验成功后,得到第二随机数;诊断装置可生成第一随机数,并根据第一随机数和第二随机数生成第一共享密钥。
进一步,可选地,诊断装置生成第一随机数,用诊断装置的私钥对第一随机数进行签名,得到第一签名;向网关发送第一签名、以及第一公钥基础设施PKI证书,第一PKI证书和第一签名用于网关对诊断装置进行认证。如此,可以实现网关对诊断装置的认证,以及诊断装置对网关的认证。也就是说,可实现诊断装置和网关的双向认证。
方式2,诊断装置基于网关的PKI证书、以及应答-挑战机制对网关进行认证。
诊断装置生成第二挑战值,并向网关发送第二挑战值;诊断装置接收来自网关的第四签名和第二公钥基础设施PKI证书,第四签名是用网关的私钥对第二挑战值进行签名得到的;诊断装置对第二PKI证书校验成功,得到网关的公钥;网关根据网关的公钥,对第四签名进行校验。
诊断装置通过对网关的第二PKI证书进行校验,可确定该网关的对应的该网关的公钥真实有效;通过对网关签名的第四签名进行校验,可确定网关的公钥的有效性,即该网关拥有该公钥对应的私钥。
进一步,可选地,诊断装置接收来自网关的第一挑战值,用诊断装置的公钥,对第一挑战值进行签名,得到第三签名;诊断装置向网关发送第三签名以及第一PKI证书,第三签名和第一PKI证书用于网关对诊断装置进行认证。如此,可以实现网关对诊断装置的认证,以及诊断装置对网关的认证。也就是说,可实现诊断装置和网关的双向认证。
第三方面,本申请提供一种故障诊断方法,该方法可应用于车辆,车辆可包括网关和ECU,网关用于管理ECU。该方法包括网关对诊断装置进行认证,诊断装置用于获取车辆信息;若认证成功,网关生成第一共享密钥,第一共享密钥为ECU与诊断装置之间共享的密钥;网关向ECU发送第一共享密钥;ECU用第一共享密钥对待传输的诊断数据进行加密,并向诊断装置发送加密后的诊断数据。
在一种可能的实现方式中,在一种可能的实现方式中,网关可对第一共享密钥进行加密,得到加密后的第一共享密钥,进一步,网关向ECU发送加密后的第一共享密钥。
进一步,可选地,网关可也可向诊断装置发送第一共享密钥。
本申请示例性的给出了如下两种网关对诊断装置的认证方式。
方式一,网关基于诊断装置的PKI证书和对随机数的签名对诊断装置进行认证。
网关接收来自诊断装置的第一签名、以及第一PKI证书,第一签名是使用诊断装置的私钥对诊断装置生成的第一随机数进行签名得到的;若网关对第一PKI证书校验成功,可得到诊断装置的公钥,网关可用诊断装置的公钥,对第一签名进行校验。
网关通过对诊断装置的第一PKI证书进行校验,可确定该诊断装置的身份对应的该诊断装置的公钥真实有效;通过对诊断装置签名的第一签名进行校验,可确定诊断装置的公钥的有效性,即该诊断装置拥有该公钥对应的私钥。
基于该方式一,若网关对诊断装置认证成功后,网关生成第二随机数,并根据第二随机数和第一随机数,生成第一共享密钥,其中,第一随机数是网关使用诊断装置的公钥对第一签名校验成功后得到的。
进一步,可选地,网关还可使用网关的私钥,对第二随机数进行签名,得到第二签名,向诊断装置发送第二签名以及PKI证书,第二PKI证书和第二签名用于诊断装置对网关进行认证。如此,可以实现网关对诊断装置的认证,以及诊断装置对网关的认证。也就是说,可实现诊断装置和网关的双向认证。
方式二,网关基于诊断装置的PKI证书和挑战-应答机制对诊断装置进行认证。
网关接收来自诊断装置的第一公钥基础设施PKI证书,若对第一PKI证书校验成功,可得到诊断装置的公钥;网关生成第一挑战值,并向诊断装置发送第一挑战值,之后接收来自诊断装置的第三签名,第三签名是用诊断装置的私钥对第一挑战值进行签名得到的;网关根据诊断装置的公钥,对第三签名进行校验。
网关通过对诊断装置的第一PKI证书进行校验,可确定该诊断装置的身份对应的该诊断装置的公钥真实有效;通过对诊断装置签名的第三签名进行校验,可确定诊断装置的公钥的有效性,即该诊断装置拥有该公钥对应的私钥。
进一步,可选地的,为了实现诊断装置对网关的认证,网关还可接收来自诊断装置的第二挑战值,并用网关的私钥对第二挑战值进行签名,得到第四签名;网关向诊断装置发送第四签名、以及第二PKI证书,第二PKI证书和第四签名用于诊断装置对网关进行认证。
在一种可能的实现方式中,ECU用第一共享密钥对待传输的诊断数据进行加密之前,还可先确定诊断装置有第一共享密钥。如此,可便于后续EUC与诊断装置之间诊断数据的交互。
上述第三方面可以达到的技术效果可以参照上述第一方面中有益效果的描述,此处不再重复赘述。
第四方面,本申请提供一种故障诊断方法,该方法可应用于车辆,车辆可包括网关和ECU,网关用于管理ECU。该方法包括网关对诊断装置进行认证,若认证成功,网关向ECU发送第一消息,第一消息用于指示ECU生成第一共享密钥,第一共享密钥为ECU和诊断装置之间共享的密钥,第一共享密钥用于ECU对待传输的诊断数据进行加密,诊断装置用于获取车辆信息。
基于该方案,通过网关对诊断装置进行认证,有助于避免未经授权的诊断装置对车辆的干扰。而且,通过网关对诊断装置进行认证即可,不需要每个ECU都对诊断装置进行认证,一方面,对诊断装置的认证效率较高;另一方面,有助于节省ECU的开销。
在一种可能的实现方式中,网关可接收来自诊断装置的第一PKI证书;若网关对第一PKI证书校验成功,得到诊断装置的公钥;网关生成第三挑战值,并向诊断装置发送第三挑战值;网关接收来自诊断装置的第五签名,第五签名是用诊断装置的私钥对第三挑战值进行签名得到的;网关根据诊断装置的公钥,对第五签名进行校验。如此,可以实现网关对诊断装置的认证。
在一种可能的实现方式中,若网关对诊断装置认证成功后,网关向诊断装置发送来自ECU的第三随机数,向ECU发送来自诊断装置的第四随机数;其中,第三随机数和第四随机数用于ECU生成第一共享密钥,以及用于诊断装置生成第一共享密钥。
第五方面,本申请提供一种故障诊断方法,该方法应用于车辆,车辆可包括网关和ECU,网关用于管理ECU。该方法包括网关对诊断装置进行认证,诊断装置用于获取车辆信息;若认证成功,网关向ECU发送第一消息,第一消息用于指示ECU生成第一共享密钥,第一共享密钥为ECU和诊断装置之间共享的密钥;ECU根据第一消息,生成第一共享密钥;ECU用第一共享密钥对待传输的诊断数据进行加密,并向诊断装置发送加密后的诊断数据。
网关对诊断装置的认证过程可参见上述第一方面中的方式一和方式二的介绍,此处不再一一赘述。
在一种可能的实现方式中,第一消息包括第四随机数,第四随机数为诊断装置向网关发送的;ECU接收到第一消息后,生成第三随机数;ECU根据第三随机数和第四随机数,生成第一共享密钥。
上述第五方面可以达到的技术效果可以参照上述第四方面中有益效果的描述,此处不再重复赘述。
第六方面,本申请提供一种故障诊断方法,该方法可应用诊断系统,该诊断系统可包括车辆和诊断装置,车辆可包括网关和ECU,网关用于管理ECU。该方法包括网关对诊断装置进行认证,诊断装置用于获取车辆信息;若认证成功,网关生成第一共享密钥,第一共享密钥为ECU与诊断装置之间共享的密钥;网关向ECU发送第一共享密钥;ECU用第一共享密钥对待传输的诊断数据进行加密,并向诊断装置发送加密后的诊断数据;诊断装置获取第一共享密钥,并接收来自ECU的用第一共享密钥加密的诊断数据;诊断装置用第一共享密钥对加密的诊断数据进行解密。
在一种可能的实现方式中,诊断装置也可对网关进行认证,若认证成功后,获取第一共享密钥。
在一种可能的实现方式中,网关可对第一共享密钥进行加密,得到加密后的第一共享密钥,进一步,网关向ECU发送加密后的第一共享密钥。
在一种可能的实现方式中,诊断装置可以生成第一共享密钥,也可以接收来自网关发送的第一共享密钥。进一步,可选地,诊断装置可接收来自网关的第二随机数,诊断装置生成第一随机数,并根据第一随机数和第二随机数生成第一共享密钥。
网关对诊断装置的认证过程可参见上述第一方面中的方式一和方式二的介绍,此处不再一一赘述。
诊断装置对网关的认证过程可参见上述第二方面的方式1和方式2的介绍,此处不再一一赘述。
为了便于ECU与诊断装置之间数据的交互,在一种可能的实现方式中,ECU可先诊断装置相互确定对方是否有第一共享密钥。
上述第六方面可以达到的技术效果可以参照上述第一方面和第二方面中有益效果的描述,此处不再重复赘述。
第七方面,本申请提供一种故障诊断方法,该方法可应用诊断系统,该诊断系统可包括车辆和诊断装置,车辆可包括网关和ECU,网关用于管理ECU。该方法包括网关对诊断装置进行认证,若认证成功,网关向ECU发送第一消息,第一消息用于指示ECU生成第一共享密钥,ECU根据第一消息,生成第一共享密钥,第一共享密钥为ECU和诊断装置之间共享的密钥;ECU用第一共享密钥对待传输的诊断数据进行加密,并向诊断装置发送加密后的诊断数据;诊断装置获取第一共享密钥,并接收来自ECU的用第一共享密钥加密的诊断数据;诊断装置用第一共享密钥对加密的诊断数据进行解密,诊断装置用于对车辆进行诊断。
在一种可能的实现方式中,诊断装置可以生成第一共享密钥;或者,可以接收来自网关的第一共享密钥。
网关对诊断装置的认证过程可参见上述第一方面中的方式一和方式二的介绍,此处不再赘述。
网关和诊断装置生成第一共享密钥的过程可参见上述第四方面的介绍,此处不再赘述。
上述第七方面可以达到的技术效果可以参照上述第四方面中有益效果的描述,此处不再重复赘述。
第八方面,本申请提供一种装置,该装置具有实现上述第一方面中的网关或第二方面中的诊断装置或第四方面中的网关的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的单元或模块。
在一种可能的实现方式中,该装置可以是网关,或者是可用于网关中的模块,例如芯片或芯片系统或者电路。该装置可以包括:收发器和处理器。该处理器可被配置为支持该装置执行以上所示网关的相应功能,该收发器用于支持该装置与诊断装置和车辆中的ECU等之间的通信。其中,收发器可以为独立的接收器、独立的发射器、集成收发功能的收发器、或者是接口电路。可选地,该装置还可以包括存储器,该存储器可以与处理器耦合,其保存该装置必要的程序指令和数据。
当网关可用于实现上述第一方面的功能时,有益效果可参见上述第一方面的描述,此处不再赘述。
处理器用于对诊断装置进行认证;若认证成功,生成第一共享密钥,第一共享密钥为ECU与诊断装置之间共享的密钥,第一共享密钥用于ECU对待传输的诊断数据进行加密,诊断装置用于获取车辆信息;收发器用于向ECU发送第一共享密钥。
在一种可能的实现方式中,处理器具体用于对第一共享密钥进行加密,得到加密后的第一共享密钥;收发器具体用于向ECU发送加密后的第一共享密钥。
在一种可能的实现方式中,收发器还用于向诊断装置发送第一共享密钥。
在一种可能的实现方式中,收发器具体用于接收来自诊断装置的第一签名、以及第一公钥基础设施PKI证书,第一签名是使用诊断装置的私钥对诊断装置生成的第一随机数进行签名得到的;处理器具体用于若对第一PKI证书校验成功,得到诊断装置的公钥,并根据诊断装置的公钥,对第一签名进行校验。
在一种可能的实现方式中,处理器具体用于生成第二随机数,并根据第一随机数和第二随机数,生成第一共享密钥,第一随机数是网关使用诊断装置的公钥对第一签名校验成功得到的。
在一种可能的实现方式中,收发器还用于向诊断装置发送第二随机数,第二随机数用于诊断装置根据第一随机数和第二随机数生成第一共享密钥。
在一种可能的实现方式中,处理器还用于使用网关的私钥,对第二随机数进行签名,得到第二签名;收发器还用于向诊断装置发送第二PKI证书、以及第二签名,第二PKI证书和第二签名用于诊断装置对网关进行认证。
在一种可能的实现方式中,收发器具体用于接收来自诊断装置的第一公钥基础设施PKI证书;处理器具体用于若对第一PKI证书校验成功,得到诊断装置的公钥;生成第一挑战值;收发器还用于向诊断装置发送第一挑战值;以及接收来自诊断装置的第三签名,第三签名是用诊断装置的私钥对第一挑战值进行签名得到的;处理器还用于根据诊断装置的公钥,对第三签名进行校验。
在一种可能的实现方式中,收发器还用于接收来自诊断装置的第二挑战值;处理器还用于用网关的私钥对第二挑战值进行签名,得到第四签名;收发器还用于向诊断装置发送第四签名、以及第二PKI证书,第二PKI证书和第四签名用于诊断装置对网关进行认证。
当网关用于实现上述第四方面的功能时,有益效果可参见上述第四方面的描述,此处不再赘述。
处理器用于对诊断装置进行认证,诊断装置用于获取车辆信息;若认证成功,收发器用于向ECU发送第一消息,第一消息用于指示ECU生成第一共享密钥,第一共享密钥为ECU和诊断装置之间共享的密钥,第一共享密钥用于ECU对待传输的诊断数据进行加密。
在一种可能的实现方式中,收发器具体用于接收来自诊断装置的第一公钥基础设施PKI证书;处理器具体用于若对第一PKI证书校验成功,得到诊断装置的公钥;生成第三挑战值;收发器具体用于向诊断装置发送第三挑战值;并接收来自诊断装置的第五签名,第五签名是用诊断装置的私钥对第三挑战值进行签名得到的;处理器具体用于根据诊断装置的公钥,对第五签名进行校验。
在一种可能的实现方式中,收发器还用于若对诊断装置认证成功,向诊断装置发送来自ECU的第三随机数,向ECU发送来自诊断装置的第四随机数;其中,第三随机数和第四随机数用于ECU生成第一共享密钥,以及用于诊断装置生成第一共享密钥。
在另一种可能的实现方式中,该装置可以是诊断装置,或者是可用于诊断装置的部件,例如芯片或芯片系统或者电路。有益效果可参见上述第二方面的描述,此处不再赘述。该装置可以包括:收发器和处理器。该处理器可被配置为支持该装置执行以上所示诊断装置的相应功能,该收发器用于支持该装置与网关和车辆中的ECU等之间的通信。其中,收发器可以为独立的接收器、独立的发射器、集成收发功能的收发器、或者是接口电路。可选地,该装置还可以包括存储器,该存储器可以与处理器耦合,其保存该装置必要的程序指令和数据。
当诊断装置用于实现上述第二方面的功能时,有益效果可参见上述第二方面的描述,此处不再赘述。
处理器用于对网关进行认证,若认证成功,获取第一共享密钥,第一共享密钥为ECU与诊断装置之间共享的密钥,装置用于对车辆进行诊断;收发器用于接收来自ECU的用第一共享密钥加密的诊断数据;处理器还用于用第一共享密钥对加密的诊断数据进行解密。
在一种可能的实现方式中,处理器具体用于生成第一共享密钥;或者,诊收发器具体用于接收来自网关的第一共享密钥。
在一种可能的实现方式中,收发器具体用于接收来自网关的第二PKI证书和第二签名,第二签名是用网关的私钥对网关生成的第二随机数进行签名得到的;处理器具体用于对第二PKI证书校验成功,得到网关的公钥;并根据网关的公钥,对第二签名进行校验。
在一种可能的实现方式中,处理器具体用于若对第二签名校验成功,得到第二随机数;生成第一随机数,并根据第二随机数和第一随机数,生成第一共享密钥。
在一种可能的实现方式中,收发器具体用于接收来自网关的第二随机数;处理器具体用于生成第一随机数,并根据第一随机数和第二随机数,生成第一共享密钥。
在一种可能的实现方式中,装置处理器还用于生成第一随机数;用诊断装置的私钥对第一随机数进行签名,得到第一签名;收发器还用于向网关发送第一签名、以及第一公钥基础设施PKI证书,第一PKI证书和第一签名用于网关对诊断装置进行认证。
在一种可能的实现方式中,处理器具体用于生成第二挑战值;收发器具体用于向网关发送第二挑战值;以及接收来自网关的第四签名和第二公钥基础设施PKI证书,第四签名是用网关的私钥对第二挑战值进行签名得到的;处理器还用于对第二PKI证书校验成功,得到网关的公钥;并根据网关的公钥,对第四签名进行校验。
在一种可能的实现方式中,收发器还用于接收来自网关的第一挑战值;处理器还用于使用诊断装置的公钥,对第一挑战值进行签名,得到第三签名;收发器还用于向网关发送第三签名、以及第一PKI证书,第三签名和第一PKI证书用于网关对诊断装置进行认证。
第九方面,本申请提供一种装置,用于实现上述第一方面或第一方面中的任意一种方法,或者用于实现上述第二方面或第二方面中的任意一种方法,或者用于实现上述第四方面或第四方面中的任意一种方法,包括相应的功能模块,分别用于实现以上方法中的步骤。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。
在一种可能的实施方式中,该装置可为网关,该装置可以括处理模块和收发模块。当网关可用于实现上述第一方面的功能时,有益效果可参见上述第一方面的描述,此处不再赘述。其中,处理模块用于对诊断装置进行认证;若认证成功,生成第一共享密钥,第一共享密钥为ECU与诊断装置之间共享的密钥,第一共享密钥用于ECU对待传输的诊断数据进行加密,诊断装置用于获取车辆信息;收发模块用于向ECU发送第一共享密钥。
在一种可能的实现方式中,处理模块具体用于对第一共享密钥进行加密,得到加密后的第一共享密钥;收发模块具体用于向ECU发送加密后的第一共享密钥。
在一种可能的实现方式中,收发模块还用于向诊断装置发送第一共享密钥。
在一种可能的实现方式中,收发模块具体用于接收来自诊断装置的第一签名、以及第一公钥基础设施PKI证书,第一签名是使用诊断装置的私钥对诊断装置生成的第一随机数进行签名得到的;处理模块具体用于若对第一PKI证书校验成功,得到诊断装置的公钥,并根据诊断装置的公钥,对第一签名进行校验。
在一种可能的实现方式中,处理模块具体用于生成第二随机数,并根据第一随机数和第二随机数,生成第一共享密钥,第一随机数是网关使用诊断装置的公钥对第一签名校验成功得到的。
在一种可能的实现方式中,收发模块还用于向诊断装置发送第二随机数,第二随机数用于诊断装置根据第一随机数和第二随机数生成第一共享密钥。
在一种可能的实现方式中,处理模块还用于使用网关的私钥,对第二随机数进行签名,得到第二签名;收发模块还用于向诊断装置发送第二PKI证书、以及第二签名,第二PKI证书和第二签名用于诊断装置对网关进行认证。
在一种可能的实现方式中,收发模块具体用于接收来自诊断装置的第一公钥基础设施PKI证书;处理模块具体用于若对第一PKI证书校验成功,得到诊断装置的公钥;生成第一挑战值;收发模块还用于向诊断装置发送第一挑战值;以及接收来自诊断装置的第三签名,第三签名是用诊断装置的私钥对第一挑战值进行签名得到的;处理模块还用于根据诊断装置的公钥,对第三签名进行校验。
在一种可能的实现方式中,收发模块还用于接收来自诊断装置的第二挑战值;处理模块还用于用网关的私钥对第二挑战值进行签名,得到第四签名;收发模块还用于向诊断装置发送第四签名、以及第二PKI证书,第二PKI证书和第四签名用于诊断装置对网关进行认证。
当网关用于实现上述第四方面的功能时,有益效果可参见上述第四方面的描述,此处不再赘述。其中,处理模块用于对诊断装置进行认证,诊断装置用于对车辆进行诊断;若认证成功,收发模块用于向ECU发送第一消息,第一消息用于指示ECU生成第一共享密钥,第一共享密钥为ECU和诊断装置之间共享的密钥,第一共享密钥用于ECU对待传输的诊断数据进行加密。
在一种可能的实现方式中,收发模块具体用于接收来自诊断装置的第一公钥基础设施PKI证书;处理模块具体用于若对第一PKI证书校验成功,得到诊断装置的公钥;生成第三挑战值;收发模块具体用于向诊断装置发送第三挑战值;并接收来自诊断装置的第五签名,第五签名是用诊断装置的私钥对第三挑战值进行签名得到的;处理模块具体用于根据诊断装置的公钥,对第五签名进行校验。
在一种可能的实现方式中,收发模块还用于若对诊断装置认证成功,向诊断装置发送来自ECU的第三随机数,向ECU发送来自诊断装置的第四随机数;其中,第三随机数和第四随机数用于ECU生成第一共享密钥,以及用于诊断装置生成第一共享密钥。
在另一种可能的实施方式中,该装置还可以是诊断装置,该装置可以包括收发模块和处理模块,诊断装置可用于实现上述第二方面的功能时,有益效果可参见上述第二方面的描述,此处不再赘述。处理模块用于对网关进行认证,若认证成功,获取第一共享密钥,第一共享密钥为ECU与诊断装置之间共享的密钥,装置用于对车辆进行诊断;收发模块用于接收来自ECU的用第一共享密钥加密的诊断数据;处理模块还用于用第一共享密钥对加密的诊断数据进行解密。
在一种可能的实现方式中,处理模块具体用于生成第一共享密钥;或者,诊收发模块具体用于接收来自网关的第一共享密钥。
在一种可能的实现方式中,收发模块具体用于接收来自网关的第二PKI证书和第二签名,第二签名是用网关的私钥对网关生成的第二随机数进行签名得到的;处理模块具体用于对第二PKI证书校验成功,得到网关的公钥;并根据网关的公钥,对第二签名进行校验。
在一种可能的实现方式中,处理模块具体用于若对第二签名校验成功,得到第二随机数;生成第一随机数,并根据第二随机数和第一随机数,生成第一共享密钥。
在一种可能的实现方式中,收发模块具体用于接收来自网关的第二随机数;处理模块具体用于生成第一随机数,并根据第一随机数和第二随机数,生成第一共享密钥。
在一种可能的实现方式中,装置处理模块还用于生成第一随机数;用诊断装置的私钥对第一随机数进行签名,得到第一签名;收发模块还用于向网关发送第一签名、以及第一公钥基础设施PKI证书,第一PKI证书和第一签名用于网关对诊断装置进行认证。
在一种可能的实现方式中,处理模块具体用于生成第二挑战值;收发模块具体用于向网关发送第二挑战值;以及接收来自网关的第四签名和第二公钥基础设施PKI证书,第四签名是用网关的私钥对第二挑战值进行签名得到的;处理模块还用于对第二PKI证书校验成功,得到网关的公钥;并根据网关的公钥,对第四签名进行校验。
在一种可能的实现方式中,收发模块还用于接收来自网关的第一挑战值;处理模块还用于使用诊断装置的公钥,对第一挑战值进行签名,得到第三签名;收发模块还用于向网关发送第三签名、以及第一PKI证书,第三签名和第一PKI证书用于网关对诊断装置进行认证。
第十方面,本申请提供一种车辆,该车辆包括网关和ECU,其中,网关用于执行上述第三方面中网关侧的任意一种方法,ECU用于执行上述第三方面中的ECU侧的任意一种方法。或者也可以理解为,网关用于执行上述第一方面中网关的任意一种方法,ECU用于执行上述第三方面中ECU的任意一种方法。或者也可以理解为,车辆包括第八方面的任一种装置以及ECU,ECU用来自装置的第一共享密钥对待传输的诊断数据进行加密,并向诊断装置发送加密后的诊断数据。
第十一方面,本申请提供一种车辆,该车辆包括网关和ECU,其中,网关用于执行上述第五方面中网关侧的任意一种方法,ECU用于执行上述第五方面中的ECU侧的任意一种方法。或者也可以理解为,车辆包括第八方面的任一种装置和ECU,ECU根据来自装置的第一消息,生成第一共享密钥,用第一共享密钥对待传输的诊断数据进行加密,并向诊断装置发送加密后的诊断数据。
第十二方面,本申请提供一种诊断系统,该诊断系统包括车辆和诊断装置。其中,诊断装置可以用于执行上述第二方面或第二方面中的任意一种方法,车辆可以用于执行上述第三方面或第三方面中的任意一种方法。
第十三方面,本申请提供一种诊断系统,该诊断系统包括车辆和诊断装置。其中,车辆可以用于执行上述第五方面或第五方面中的任意一种方法。
第十四方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序或指令,当计算机程序或指令被装置执行时,使得该装置执行上述第一方面或第一方面的任意可能的实现方式中的方法、或者使得该装置执行第二方面或第二方面的任意可能的实现方式中的方法、或者使得该装置执行第三方面或第三方面的任意可能的实现方式中的方法、或者使得该装置执行第四方面或第四方面的任意可能的实现方式中的方法、或者使得该装置执行第五方面或第五方面的任意可能的实现方式中的方法、或者使得该装置执行第六方面或第六方面的任意可能的实现方式中的方法、或者使得该装置执行第七方面或第七方面的任意可能的实现方式中的方法。
第十五方面,本申请提供一种计算机程序产品,该计算机程序产品包括计算机程序或指令,当该计算机程序或指令被装置执行时,实现上述第一方面或第一方面的任意可能的实现方式中的方法、或者实现上述第二方面或第二方面的任意可能的实现方式中的方法、或者使得该装置执行第三方面或第三方面的任意可能的实现方式中的方法、或者使得该装置执行第四方面或第四方面的任意可能的实现方式中的方法、或者使得该装置执行第五方面或第五方面的任意可能的实现方式中的方法、或者使得该装置执行第六方面或第六方面的任意可能的实现方式中的方法、或者使得该装置执行第七方面或第七方面的任意可能的实现方式中的方法。
附图说明
图1a为本申请提供的一种诊断仪的架构示意图;
图1b为本申请提供的一种E/E架构示意图;
图2a为本申请提供的一种通信系统示意图;
图2b为本申请提供的一种诊断仪对车辆的故障诊断的过程示意图;
图3为本申请提供的一种故障诊断方法的方法流程示意图;
图4a为本申请提供的一种网关对诊断装置的认证方法流程示意图;
图4b为本申请提供的另一种网关对诊断装置的认证方法流程示意图;
图5为本申请提供的一种车辆的故障诊断方法的方法流程示意图;
图6a为本申请提供的一种诊断装置对网关的认证方法流程示意图;
图6b为本申请提供的另一种诊断装置对网关的认证方法流程示意图;
图7为本申请提供的又一种故障诊断方法的方法流程示意图;
图8为本申请提供的又一种诊断装置对网关的认证方法流程示意图;
图9为本申请提供的再一种故障诊断方法的方法流程示意图;
图10为本申请提供的再一种故障诊断方法的方法流程示意图;
图11为本申请提供的再一种故障诊断方法的方法流程示意图;
图12为本申请提供的再一种故障诊断方法的方法流程示意图;
图13为本申请的提供的一种装置的结构示意图;
图14为本申请的提供的一种装置的结构示意图。
具体实施方式
下面将结合附图,对本申请实施例进行详细描述。
以下,对本申请中的部分用语及过程进行解释说明,以便于本领域技术人员理解。
1)诊断装置
诊断装置是专门针对车辆检测(或称为诊断)的专业仪器或系统,即,诊断装置可用于获取车辆的信息。例如,可用于检测车辆的性能,可获得车辆的性能信息;再比如,可用于诊断车辆的故障,可获取车辆的诊断数据等。诊断装置可通过开发的诊断软件实现对车辆的诊断。也可以理解为,安装有诊断软件的装置均可理解为是诊断装置。例如安装有诊断仪软件的个人计算机(personal computer,PC),或平板电脑,或专用设备等,其中,专用设备如诊断仪(diagnostics tester,DT),DT也可称为测试仪或车辆诊断仪或上位仪。进一步,诊断装置还可以以图形界面的方式呈现各种诊断信息。
下面以诊断装置为诊断仪为例详细介绍诊断装置的结构和工作原理。
参见图1a所示,是自动化及测量系统标准协会(association forstandardization of automation and measuring systems,ASAM)制定的一种标准架构诊断仪。如图1a所示,该诊断仪包括应用层、诊断服务接口(diagnostic server API,D-server API)、模块化车辆通信接口(modular vehicle communication interface,MVCI)运行系统(MVCI runtime system)(MVCI-RTE)、诊断协议数据单元接口(diagnosticprotocol data unit API,D-PDU API)、车辆通信接口(vehicle communicationinterface,VCI)、诊断信息库以及显示仪。其中,应用层可实现诊断的上层功能,如实现诊断仪中读取故障功能或测试设备中的测试用例等。D-Server API是指应用层与MVCI-RTE之间的接口,由ISO标准化定义。MVCI-RTE负责将应用层的功能转换成诊断请求,或者在收到诊断响应后,与诊断信息库(例如开放式诊断数据格式(open diagnostic data exchange,ODX)数据库)进行交互,将诊断响应解析为应用层格式的数据传给应用层,其中,诊断信息库中可以存储DTC与DTC描述信息的对应关系,以及,DTC故障信息与DTC故障信息的描述信息的对应关系。例如,若诊断仪通过从车辆(如车载诊断系统)获取到的DTC为xxyyzzcc,则可通过查询诊断信息库,将“xxyyzzcc”转换为“引擎故障”等。诊断信息库是一种数据库,可以部署在本地,也可以部署在远端(如云上)。D-PDU API是指MVCI-RTE与VCI之间的接口,由ISO标准化定义。VCI是诊断仪与外接设备之前的硬件接口,实现不同信号载体之间数据的传输。显示仪通常可包括显示界面,可用于显示诊断结果。
2)车载诊断系统(on-board diagnostic system,OBD)
OBD通常安置于车辆中,可用于实时记录车辆在行驶过程中发生的故障,通常以诊断故障码(diagnostic trouble codes,DTC)的形式记录,以及用于记录发生故障时车辆的快照信息等,故障的快照信息是指故障发生时刻记录的用于分析故障原因的信息或数据。其中,OBD与诊断仪通信的接口可称为OBD端口。
3)电子控制单元(electronic control unit,ECU)
ECU还可称为“行车电脑”,“车载电脑”,“车辆专用微机控制器等”或“下位机”,是车辆的核心元件之一。ECU可由微处理器、存储器、输入/输出接口、模数转换器、整形以及驱动等规模集成电路组成。
4)统一诊断服务(unified diagnostic service,UDS)协议
UDS协议即国际标准化组织(international organization forstandardization,ISO)-14229,是一种应用层协议,是诊断服务的规范化标准,对所有的诊断命令进行了标准化定义,例如定义了诊断请求(diagnostic request)和诊断响应(diagnostic response)的消息格式。UDS协议可以在多种协议之上实现,例如,14229-5定义了UDS协议可在网际协议(internet protocol,IP)协议上实现(diagnostic overinternet protocol,DoIP),又例如,14229-3定义了UDS协议在控制器局域网络(controller area network,CAN)总线上实现。
5)车辆开放系统架构(automotive open system architecture,AUTOSAR)
AUTOSAR是由全球车辆制造商、部件供应商及电子软件系统公司联合建立,是一个开放的、标准化的软件架构。AUTOSAR主要具备以下特点:a、AUTOSAR致力于解决硬件平台不同带来的软件开发的困难,使开发者能够专注于车辆软件功能上的创新;b、AUTOSAR提供标准的软件接口定义,工程师可以根据实际需求将所需要的软件组件分配到车辆的ECU中,实现标准软件组件的可重用性;c、AUTOSAR的应用层软件组件是独立于硬件的,应用开发者可以在应用软件中指定各个车辆功能的细节,而不用担心底层软件服务和硬件接口不兼容的问题。
6)公钥基础设施(public key infrastructure,PKI)证书
PKI证书由可信第三方使用其私钥进行签名得到,其中,可信第三方例如可以是认证中心(certificate authority,CA)或其他可信设备(或系统)。也就是说,可信第三方即为即PKI证书的签发机构,为系统内每个合法用户办一个网上身份认证,即身份证。通过PKI证书可确认通信双方是否可信任。基于PKI证书的认证过程中,签名由该PKI证书的签名者使用签名者(如CA)的私钥生成,验证者可使用签名者的公钥来验证该签名。可包括以下两步:第一步,验证者校验PKI证书上CA的签名,以校验该PKI证书是由CA签名的有效证书,即可确定该PKI证书是真实有效的。第二步,验证者可以要求签名者对一个挑战值进行签名,验证者可使用该签名者的公钥对该签名者在该挑战值上的签名进行验证,验证成功,则可向验证者证明了签名者有相应的私钥。
(7)迪菲·赫尔曼(Diffie-Hellman,DH)密钥建立:在用户A和用户B之间的标准迪菲·赫尔曼密钥建立过程为:用户A选择一个随机数a,计算随机数a的DH元素ga。用户B选择一个随机数b,计算随机数b的DH元素gb。用户A和用户B交换DH元素,然后用户A用a计算(gb)a,用户B用b计算(ga)b。因此,用户A和用户B建立一个公有秘钥CommonSecret=gab。进一步,还可使用这一公有秘钥及密钥导出函数来计算私钥。考虑到ga和gb,其他人都不能计算gab,因此,用该方式建立的共有密钥的安全性较高。
本申请中,车辆可采用电子电气(electrical/electronic,E/E)架构为例。如图1b所示,以该E/E架构包括三个层级,分别为网关、域控制器和域内ECU为例说明。该E/E架构中,可根据功能不同,划分为多个不同的域,每个域有一个域控制器,域控制器用于管理域内ECU,域内ECU可基于控制区域网络(controller area network,CAN)总线连接,即域内ECU之间可通过CAN协议进行通信;网关是整车架构的核心部分,作为整车网络的数据交互的枢纽,可将CAN、LIN等网络数据在不同网络中进行路由,用于对域控制器和域内ECU进行管理。图1b以E/E架构包括整车控制系统域、娱乐系统域、诊断系统域和智能驾驶系统域,CAN总线1、CAN总线2、CAN总线3和CAN总线4为例,CAN总线1可对应于整车控制系统域,CAN总线2可对应于娱乐系统域,CAN总线3可对应于诊断系统域,CAN总线4可对应于智能驾驶系统域。
需要说明是,图1b仅是示意图,不作为对本申请的限定。例如,E/E架构也可以包括两个层级(例如网关和ECU);再比如,E/E架构包括的域的数量和域内ECU的数量均可以比图1b所示的多,也可以比图1b所示的少。另外,本申请所描述的系统架构是为了更加清楚的说明本申请的技术方案,并不构成对本申请提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变,本申请提供的技术方案对于类似的技术问题,同样适用。
参阅图2a,为本申请提供的一种通信系统示意图。该通信系统包括诊断仪和车辆。车辆可采用上述图1b所示的架构,具体可参见上述图1b的介绍,测试仪可参见上述1)中诊断装置的介绍。当需要对车辆进行故障诊断时,测试仪可通过车辆上的OBD端口连接到车辆上,该OBD端口与E/E架构中的网关直接相连。也就是说,诊断装置插入车辆的OBD端口上,即可实现网关与诊断装置之间的通信。
基于上述图2a所示的通信系统,图2b简单说明如何通过诊断仪实现对车辆的故障诊断的过程,该过程可包括以下步骤:
步骤201,诊断仪向车辆发送诊断请求。相应地,车辆接收来自诊断仪的诊断请求。
此处,诊断请求中可包括服务标识。
车辆可基于接收到的诊断请求中的服务标识,从车载诊断系统中获取诊断数据。
步骤202,车辆向诊断仪发送诊断响应。相应地,诊断仪接收来自车辆的诊断响应。
此处,诊断响应中可包括诊断数据,例如DTCs以及DTCs对应的故障信息。通常DTC以及对应的故障信息为一些数值。通常,诊断请求和诊断响应可均为UDS协议定义的格式。结合上述图1a,诊断仪接收到DTC以及该DTC对应的故障信息后,可查询诊断仪的诊断信息库,获取DTC以及该DTC及故障信息的含义或描述信息,并在显示仪的显示界面显示该描述,以便用户查看故障的原因。
在上述诊断过程中,车辆接收到诊断仪的诊断请求后,为了防止未经授权的诊断仪获取诊断数据后对车辆的干扰,通常需要将诊断请求发送至诊断系统域中的每个ECU,每个ECU需要对诊断仪的合法性进行校验。但是由于各个ECU资源有限,有的ECU可能不能对测试仪进行认证,如此,可能会有未经授权的测试仪对车辆进行干扰,而且造成ECU的开销也较大。
鉴于上述存在的问题,本申请提供一种故障诊断方法,该方法中,通过车辆中的网关对诊断装置进行认证,从而有助于避免因车辆中ECU资源有限,造成未经授权的测试仪对车辆进行干扰;而且对诊断装置的认证过程由网关来实现,从而可节省ECU的开销。
在下文的介绍中,第一PKI证书为可信第三方为诊断装置发布的,第二PKI证书为可信第三方为网关发布的,可信第三方可参见上述6)中可信第三方的描述。另外,第一共享密钥为ECU和诊断装置之间共享的密钥,第一共享密钥用于ECU对待传输的诊断数据进行加密,其中,诊断数据为EUC向诊断装置待传输的数据。下文中的诊断装置可以是上述图1a所示的诊断仪,可用于对车辆进行诊断。
下面参考图3,为本申请提供的一种故障诊断方法的方法流程示意图。该故障诊断方法可应用于车辆,车辆中可包括网关和ECU,网关用于管理ECU,也可适用于上述图2a所示的通信系统中的车辆;进一步,通信系统中的车辆可采用上述图1b所示的E/E架构,该方法包括以下步骤:
步骤31,网关对诊断装置进行认证。
在一种可能的实现方式中,若网关对诊断装置认证成功,则执行下述步骤32;若网关对诊断装置认证失败,说明该诊断装置不能对该车辆进行诊断。在另一种可能的实现方式中,若网关对诊断装置认证成功,且网关接收到来自诊断密钥建立请求后,执行步骤32。
如下示例性地的示出两种网关对诊断装置的认证方式。
方式一,网关基于诊断装置的PKI证书和对随机数的签名对诊断装置进行认证。
如图4a所示,为本申请提供的一种网关对诊断装置的认证方法流程示意图。该认证方法包括以下步骤:
步骤401,诊断装置生成第一随机数。
步骤402,诊断装置用诊断装置的私钥对第一随机数进行签名,得到第一签名。
步骤403,诊断装置向网关发送第一签名、以及第一PKI证书。相应地,网关接收来自诊断装置的第一签名、以及第一PKI证书。
其中,诊断装置可以将第一签名和第一PKI证书一起发送至网关,也可以分两次分别发送至网关,本申请对此不做限定。
步骤404,网关对第一PKI证书进行校验;若校验成功,得到诊断装置的公钥,之后执行步骤405;若校验失败,说明网关对诊断装置认证失败,则终止后续步骤。
步骤405,网关根据诊断装置的公钥,对第一签名进行校验。
此处,网关若对第一签名校验成功,即可确定第一随机数是来自诊断装置的。也可以理解为,网关使用诊断装置的公钥对第一签名进行校验;若校验成功,说明网关对诊断装置认证成功;若校验失败,说明网关对诊断装置认证失败。
从上述步骤401至步骤405可以看出,若网关对第一PKI证书和第一签名均校验成功,则说明网关对诊断装置认证成功;若网关对第一PKI证书和第一签名中任一个校验失败,则说明网关对诊断装置认证失败,那么该诊断装置不能对网关所在的车辆进行诊断。
方式二,网关基于诊断装置的PKI证书、以及挑战-应答机制对诊断装置进行认证。
如图4b所示,为本申请提供的另一种网关对诊断装置的认证方法流程示意图。该认证方法包括以下步骤:
步骤411,诊断装置向网关发送第一PKI证书。相应地,网关接收来自诊断装置的第一PKI证书。
步骤412,网关对第一PKI证书进行校验;若校验成功,得到诊断装置的公钥,之后执行步骤413;若校验失败,说明网关对诊断装置认证失败。
步骤413,网关生成第一挑战值。
步骤414,网关向诊断装置发送第一挑战值。相应地,诊断装置接收来自网关的第一挑战值。
步骤415,诊断装置用诊断装置的私钥对第一挑战值进行签名,得到第三签名。
步骤416,诊断装置向网关发送第三签名。相应地,网关接收来自诊断装置的第三签名。
步骤417,网关根据诊断装置的公钥,对第三签名进行校验。
此处,可以是网关使用诊断装置的公钥对第三签名进行校验,若校验成功,可确定第一挑战值是诊断装置发送的,进一步可说明网关对诊断装置认证成功;若校验失败,则说明网关对诊断装置认证失败。
通过上述步骤411至步骤417可以看出,若网关对第一PKI证书和第三签名均校验成功,则说明网关对诊断装置认证成功;若网关对第一PKI证书和第三签名中任一个校验失败,则说明网关对诊断装置认证失败,那么该诊断装置不能对网关所在的车辆进行诊断。
步骤32,网关生成第一共享密钥。
此处,第一共享密钥也可称为会话密钥,是对称的会话密钥。也可以理解为,ECU和诊断装置有相同的密钥,即第一共享密钥。在ECU和诊断装置的数据交互过程中,ECU和诊断装置均可用该第一共享密钥对交互的诊断数据进行加密。如此,有助于提高ECU与诊断装置之间交互的诊断数据的安全性。
本申请中,示例性的示出了两种网关生成第一共享密钥的实现方式。
实现方式一,网关根据第一随机数和第二随机数生成第一共享密钥。
在一种可能的实现方式中,基于上述一的认证方式,若网关使用诊断装置的公钥对来自诊断装置的第一签名校验成功后,可得到第一随机数,网关可根据第一随机数和生成的第二随机数生成第一共享密钥。也就是说,网关对诊断装置认证成功后,可得到第一随机数,进一步,网关生成第二随机数,并根据第一随机数和第二随机数生成第一共享密钥。
示例性地,网关可采用迪菲·赫尔曼密钥生成第一共享密钥。例如,诊断装置生成第一随机数a,并计算第一随机数a的DH元素ga,对第一随机数a的DH元素ga进行签名,得到第一签名,网关对第一签名校验成功后,可得到第一随机数的DH元素ga,网关生成第二随机数b,并根据第二随机数b和第一随机数a的DH元素ga,计算第一共享密钥为(ga)b=gab
进一步,可选地,为了进一步提高第一共享密钥的安全性,网关可基于gab和密钥导出函数(key derivation function,KDF),进行进一步运算,得到第一共享密钥。也就是说,该第一共享密钥是网关的私钥。
实现方式二,网关随机生成一个第一共享密钥。
在一种可能的实现方式中,网关可基于密钥生成算法,例如KDF,生成一个第一共享密钥。
步骤33,网关向ECU发送第一共享密钥。相应地,ECU接收来自网关的第一共享密钥。
在一种可能的实现方式中,网关可使用网关与ECU之间的预共享密钥,对第一共享密钥进行加密,得到加密后的第一共享密钥。进一步,网关向ECU发送加密后的第一共享密钥。相应地,ECU可通过存储的预共享密钥,对加密后的第一共享密钥解密,得到第一共享密钥。
在另一种可能的实现方式中,网关也可以与ECU约定加密算法,网关使用该约定的加密算法对第一共享密钥进行加密后,得到加密后的第一共享密钥;进一步,网关向ECU发送该加密后的第一共享密钥。相应地,ECU可通过约定的加密算法对加密后的第一共享密钥进行解密,得到第一共享密钥。
结合上述图1b,网关可将加密后的第一共享密钥发送至车辆的故障诊断系统中的一个或多个ECU,以便诊断装置获取诊断数据。
从上述步骤31至步骤33可以看出,通过网关对诊断装置进行认证,有助于避免未经授权的诊断装置对车辆的干扰。而且,通过网关对诊断装置进行认证即可,不需要每个ECU都对诊断装置进行认证,一方面,对诊断装置的认证效率较高;另一方面,有助于节省ECU的开销。进一步,网关还可为EUC生成第一共享密钥,如此,有助于进一步节省ECU的开销,第一共享密钥用于ECU对待传输的诊断数据进行加密,从而有助于提高ECU向诊断装置传输的诊断数据的安全性,即便ECU向诊断装置传输的诊断数据被非法设备窃取,由于是通过第一共享密钥加密的密文数据,非法设备也不能获取到真实的诊断数据。
请参阅图5,为本申请提供的一种车辆的故障诊断方法的方法流程示意图。该故障诊断方法可适用于上述图2a所示的通信系统;进一步,通信系统中的车辆可采用上述图1b所示的E/E架构,诊断装置可以上述图1a所示的诊断仪,可用于对车辆进行诊断。该方法可包括以下步骤:
步骤51,诊断装置对网关进行认证。
此处,若诊断装置对网关认证成功,则执行下述步骤52;若诊断装置对网关认证失败,诊断装置可终止对车辆的诊断过程或重新向发起诊断过程。
如下示例性地的示出两种诊断装置对网关的认证方式。
方式1,诊断装置基于网关耳朵PKI证书和对随机数的签名对网关进行认证。
如图6a所示,为本申请提供的一种诊断装置对网关的认证方法流程示意图。该认证方法包括以下步骤:
步骤601,网关生成第二随机数。
步骤602,网关用网关的私钥对第二随机数进行签名,得到第二签名。
步骤603,网关向诊断装置发送第二PKI证书、以及第二签名。相应地,诊断装置接收来自网关的第二PKI证书、以及第二签名。
此处,网关可以将第二PKI证书和第二签名一起发送至诊断装置,也可以分两次分别发送至诊断装置。
步骤604,诊断装置对第二PKI证书进行校验;若校验成功,得到网关的公钥,之后执行步骤605;若校验失败,则说明诊断装置对网关认证失败。
步骤605,诊断装置根据网关的公钥对第二签名进行校验。
此处,可以是诊断装置使用网关的公钥对第二签名进行校验;若校验成功,说明诊断装置对网关认证成功;若校验失败,说明诊断装置对网关认证失败。
从上述步骤601至步骤605可以看出,若诊断装置对第二PKI证书和第二签名均校验成功,则说明诊断装置对网关认证成功;若诊断装置对第二PKI证书和第二签名中任一个校验失败,则说明诊断装置对网关认证失败。
需要说明的是,上述图4a和图6a结合,即可实现网关和诊断装置的双向认证。
方式2,诊断装置基于网关的PKI证书、以及挑战-应答机制对网关进行人认证。
如图6b所示,为本申请提供的另一种诊断装置对网关的认证方法流程示意图。该认证方法包括以下步骤:
步骤611,网关向诊断装置发送第二PKI证书。相应地,诊断装置接收来自网关的第二PKI证书。
步骤612,诊断装置对第二PKI证书进行校验;若校验成功,得到网关的公钥,之后执行步骤613;若校验失败,诊断装置对网关认证失败。
步骤613,诊断装置生成第二挑战值。
步骤614,诊断装置向网关发送第二挑战值。相应地,网关接收来自诊断装置的第二挑战值。
步骤615,网关用网关的私钥对第二挑战值进行签名,得到第四签名。
步骤616,网关向诊断装置发送第四签名。相应地,诊断装置接收来自网关的第四签名。
步骤617,诊断装置根据网关的公钥对第四签名进行校验。
此处,可以是诊断装置使用网关的公钥对第四签名进行校验;若校验成功,说明诊断装置对网关认证成功;若校验失败,说明诊断装置对网关认证失败。
从上述步骤611至步骤617可以看出,若诊断装置对第二PKI证书和第四签名均校验成功,则说明诊断装置对网关认证成功;若诊断装置对第二PKI证书和第四签名中任一个校验失败,则说明诊断装置对网关认证失败。
需要说明的是,上述图4b和图6b结合,即可实现网关和诊断装置的双向认证。
步骤52,诊断装置接收来自ECU的用第一共享密钥加密的诊断数据。
结合上述图2a,ECU将加密的诊断数据发送至网关,网关通过OBD端口将加密的诊断数据发送至诊断装置。也可以理解为,网关将来自ECU的加密的诊断数据透传至诊断装置。
步骤53,诊断装置获取第一共享密钥。
此处,第一共享密钥的介绍可参见上述步骤32中第一共享密钥的描述,此处不再一一赘述。
在一种可能的实现方式中,诊断装置可生成第一共享密钥。进一步,可选地,诊断装置可接收来自网关的第二随机数,根据第二随机数和生成的第一随机数,生成第一共享密钥。
或者,可基于上述方式1,诊断装置对第二签名校验成功后,得到第二随机数,网关根据第二随机数和生成的第一随机数,生成第一共享密钥。示例性地,诊断装置可采用迪菲·赫尔曼密钥生成第一共享密钥。例如,网关生成第二随机数b,并计算第二随机数b的DH元素gb,对第二随机数b的DH元素gb进行签名,得到第二签名,诊断装置对第二签名校验成功后,可得到第二随机数的DH元素gb,诊断装置生成第一随机数a,根据第一随机数a和第二随机数b的DH元素gb,可计算第一共享密钥为(gb)a=gab
进一步,可选地,为了进一步提高第一共享密钥的安全性,诊断装置可基于gab和密钥导出函数(key derivation function,KDF),进行进一步运算,得到第一共享密钥。也就是说,该第一共享密钥是诊断装置的私钥。
或者,诊断装置可接收来自网关的第一共享密钥。进一步,可选地,为了提高第一共享密钥的安全性,网关可使用诊断装置的公钥对该第一共享密钥进行加密,并向诊断装置发送该加密后的第一共享密钥。
需要说明的是,上述步骤52和步骤53的没有先后顺序,可以先执行步骤52后执行步骤53;也可以先执行步骤53后执行步骤52;也可以步骤52和步骤53同时执行。
步骤54,诊断装置用第一共享密钥对加密的诊断数据进行解密。
通过上述步骤51至步骤54,诊断装置对网关的认证,有助于避免诊断装置连接到非法的设备,从而有助于防止非法设备随意向正诊断装置发送数据。进一步,诊断装置接收到的诊断数据是EUC使用第一共享密钥加密后的诊断数据,如此,有助于ECU向诊断装置传输的诊断数据的安全性,即便ECU向诊断装置传输的诊断数据被非法设备窃取,由于是通过第一共享密钥加密的密文数据,非法设备也不能获取到真实的诊断数据。
参阅图7,为本申请提供的又一种故障诊断方法的方法流程示意图。该故障诊断方法可应用于车辆,车辆中可包括网关和ECU,网关用于管理ECU,也可适用于上述图2a所示的通信系统;进一步,通信系统中的车辆可采用上述图1b所示的E/E架构。该方法包括以下步骤:
步骤71,网关对诊断装置进行认证。
此处,若网关对诊断装置认证成功,则执行下述步骤32;若网关对诊断装置认证失败,说明该诊断装置不能对该车辆进行诊断,可终止后续步骤。
在一种可能的实现方式中,网关可基于诊断装置的PKI证书、以及挑战-应答机制对诊断装置进行认证,可参阅图8所示诊断装置对网关的认证过程。
步骤801,诊断装置向网关发送第一PKI证书。相应地,网关接收来自诊断装置的第一PKI证书。
步骤802,网关对第一PKI证书进行校验;若校验成功,得到诊断装置的公钥,之后需执行步骤803;若校验失败,说明网关对诊断装置认证失败。
步骤803,网关生成第三挑战值。
此处,第三挑战值可以与第一挑战值相同,也可以不相同,本申请对此不做限定。
步骤804,网关向诊断装置发送第三挑战值。
步骤805,诊断装置用诊断装置的私钥对第三挑战值进行签名,得到的第五签名。
步骤806,诊断装置向网关发送第五签名。相应地,网关接收来自诊断装置的第五签名。
步骤807,网关根据诊断装置的公钥,对第五签名进行校验。
若网关对第五签名校验成功,说明网关对诊断装置认证成功;若校验失败,说明网关对诊断装置认证失败。
从上述步骤801至步骤807可以看出,若网关对第一PKI证书和第五签名均校验成功,则说明网关对诊断装置认证成功;若网关对第一PKI证书和第五签名中任一个校验失败,则说明网关对诊断装置认证失败。
步骤72,网关向ECU发送第一消息。
此处,第一消息用于指示ECU生成第一共享密钥。需要说明的是,第一消息可以是一个通知消息,或者也可以是一个指示消息,或者也可以是一个请求消息,或者也可以是指令消息。也就是说,第一消息用于指示ECU生成第一共享密钥,也可以是第一消息用于通知ECU生成第一共享密钥,或者第一消息用于请求ECU生成第一共享密钥。
步骤73,ECU根据第一消息,生成第一共享密钥。
如下,示例性地给两种ECU根据第一消息生成第一共享密钥的实现方式。
在一种可能的实现方式中,诊断装置可生成第四随机数,并将第四随机数发送至网关,网关将第四随机数携带在第一消息中发送至ECU。ECU接收到第一消息后,生成第三随机数,并根据第三随机数和第一消息中的第四随机数生成第一共享密钥。进一步,可选地,ECU也可将第三随机数通过网关发送至诊断装置,诊断装置可根据第三随机数和第四随机数生成第一共享密钥。
也可以理解为,若网关对诊断装置认证成功,网关向诊断装置发送来自ECU的第三随机数,向ECU发送来自诊断装置的第四随机数,该第四随机数可携带在第一消息;ECU可根据第三随机数和第四随机数生成第一共享密钥,诊断装置也可根据第三随机数和第四随机数生成第一共享密钥。
需要说明的是,上述ECU生成第一共享密钥的方式是示例性地的。第四随机数也可以不携带在第一消息中,例如,网关对诊断装置认证成功后,可向ECU发送第四随机数和第一消息,ECU接收到第一消息后,可根据第三随机数和第四随机数生成第一共享密钥;再比如,网关对诊断装置认证成功后,可先向ECU发送第一消息,再发送第四随机数。其中,第一消息可以是网关与ECU约定的消息,例如,可用1比特的字符或数字表示。
步骤74,ECU用第一共享密钥对待传输的诊断数据进行加密。
步骤75,ECU向诊断装置发送加密后的诊断数据。
从上述步骤71至步骤75可以看出,通过网关对诊断装置进行认证,有助于避免未经授权的诊断装置对车辆的干扰。而且,通过网关对诊断装置进行认证即可,不需要每个ECU都对诊断装置进行认证,一方面,对诊断装置的认证效率较高;另一方面,有助于节省ECU的开销。进一步,有助于提高ECU向诊断装置传输的诊断数据的安全性,即便ECU向诊断装置传输的诊断数据被非法设备窃取,由于是通过第一共享密钥加密的密文数据,非法设备也不能获取到真实的诊断数据。
如图9所示,为本申请提供的再一种故障诊断方法的方法流程示意图。该故障诊断方法可应用于诊断系统,该诊断系统可以是上述图2a所示的通信系统;该诊断系统包括车辆和诊断装置,车辆可包括网关和ECU,网关用于管理ECU,其中,车辆可采用上述图1b所示的E/E架构,诊断装置可以上述图1a所示的诊断仪,可用于对车辆进行诊断。该方法可中网关和诊断装置可分别基于对方的PKI证书和签名进行相互认证,网关为ECU生成第一共享密钥,诊断装置生成第一共享密钥。该方法包括以下步骤:
步骤901,诊断装置生成第一随机数。
步骤902,诊断装置计算第一随机数的DH元素。
该步骤902为可选步骤。
例如,第一随机数为a,第一随机数的DH元素为ga
步骤903,诊断装置用诊断装置的私钥对第一随机数的DH元素进行签名,得到第一签名。
步骤904,诊断装置向网关发送第一签名、以及第一PKI证书。相应地,网关接收来自诊断装置的第一签名、以及第一PKI证书。
步骤905,网关对第一PKI证书进行校验;若校验成功,得到诊断装置的公钥,之后执行步骤906;若校验失败,则执行步骤919。
步骤906,网关用诊断装置的公钥对第一签名进行校验;若校验成功,得到第一随机数的DH元素,之后执行步骤907;若校验失败,说明网关对诊断装置认证失败,不再执行后续步骤。
步骤907,网关生成第二随机数。
步骤908,网关计算第二随机数的DH元素。
该步骤908为可选步骤。
例如,第二随机数为b,则第二随机数的DH元素为gb
步骤909,网关根据第一随机数的DH元素和第二随机数,计算第一共享密钥。
例如,第二随机数为b,第一随机数的DH元素为ga,第一共享密钥可为(ga)b=gab
步骤910,网关使用网关的私钥对第二随机数的DH元素进行签名,得到第二签名。
上述步骤908至步骤910之间没有先后顺序,可以先执行步骤908,再执行步骤909,后执行步骤910;也可以先执行步骤909,再执行步骤908,后执行步骤910;也可以先执行步骤910,再执行步骤908,后执行步骤909;也可先执行步骤910,再执行步骤909,后执行步骤908;也可以步骤908、步骤909和步骤910同时执行。
步骤911,网关向诊断装置发送第二签名,以及第二PKI证书。
步骤912,诊断装置对第二PKI证书进行校验;若校验成功,可得到网关的公钥,之后执行步骤913。
步骤913,诊断装置使用网关的公钥对第二签名进行校验;若校验成功,可得到第二随机数的DH元素,之后执行步骤914;若校验失败,说明诊断装置对网关认证失败,不再执行后续步骤。
步骤914,诊断装置根据第一随机数和第二随机数的DH元素,计算第一共享密钥。
例如,第一随机数为a,第二随机数的DH元素为gb,第一共享密钥可为(gb)a=gab
步骤915,网关用与ECU之间的预共享密钥,对第一共享密钥进行加密。
该步骤915为可选步骤。
步骤916,网关向ECU发送加密后的第一共享密钥。
该步骤916可参见上述步骤33,此处不再赘述。
步骤917,ECU和诊断装置可基于密钥确认协议进行密钥确认。
例如,ECU计算第一共享密钥的第一MAC值,并将第一MAC值至发送至诊断装置,诊断装置基于第一共享密钥计算第二MAC值,若计算得到的第二MAC值与接收到的第一MAC值一致,则诊断装置可确定ECU有第一共享密钥。基于相同的过程,ECU也可确定诊断装置具有相同的第一共享密钥。
步骤918,ECU用第一共享密钥,对待传输的诊断数据进行加密。
步骤919,ECU可通过网关向诊断装置发送加密后的诊断数据。相应地,诊断装置可通过网关接收来自ECU的加密后的诊断数据。
步骤920,诊断装置用第一共享密钥对加密后的诊断数据进行解密。
通过上述步骤901至步骤920,实现了网关和诊断装置的双向认证,之后网关为ECU建立第一共享密钥,如此,有助于节省ECU的开销。ECU基于该第一共享密钥对待传输的诊断数据进行加密,从而可提高诊断数据的安全性,即便诊断数据被其它非法设备窃取,由于是密文的诊断数据,该非法设备也不能获知真实的诊断数据。
如图10所示,为本申请提供的再一种故障诊断方法的方法流程示意图。该故障诊断方法可应用于诊断系统,该诊断系统可以是上述图2a所示的通信系统;该诊断系统包括车辆和诊断装置,车辆可包括网关和ECU,网关用于管理ECU,其中,车辆可采用上述图1b所示的E/E架构,诊断装置可以上述图1a所示的诊断仪,可用于对车辆进行诊断。该方法中网关和诊断装置可分别基于对方的PKI证书,通过挑战-应答机制进行了互相认证,第一共享密钥可由网关计算,并分别发送至诊断装置和ECU。该方法可包括以下步骤:
步骤1001,诊断装置生成第二挑战值。
步骤1002,诊断装置向网关发送第二挑战值、以及第一PKI证书。相应地,网关接收来自诊断装置的第二挑战值和第一PKI证书。
步骤1003,网关对第一PKI证书签名进行校验;若校验成功,得到诊断装置的公钥,之后则执行步骤1004;若校验失败,则说明网关对诊断装置认证失败,不再执行后续步骤。
步骤1004,网关用网关的私钥对第二挑战值进行签名,得到第四签名。
步骤1005,网关生成第一挑战值。
步骤1006,网关向诊断装置发送第一挑战值、第四签名和第二PLI证书。
此处,网关可以将第一挑战值、第四签名和第二PLI证书一起发送至诊断装置,也可以分两次或三次分别发送至诊断装置。
步骤1007,诊断装置对第二PKI证书进行校验;若校验成功,可得到网关的公钥,之后执行步骤1008。
步骤1008,诊断装置对用网关的公钥对第四签名进行校验;若校验成功,执行步骤1009。
步骤1009,诊断装置使用诊断装置的私钥对第一挑战值进行签名,得到第三签名。
步骤1010,诊断装置向网关发送第三签名。相应地,网关接收来自诊断装置的第三签名。
步骤1011,网关用诊断装置的公钥,对第三签名进行校验;若校验成功,执行步骤1012。
该步骤1011可参见上述步骤417的介绍,此处不再一一赘述。
步骤1012,网关生成第一共享密钥。
此处,网关可根据密钥生成算法,随机生成一个第一共享密钥。
步骤1013,网关用与ECU之间的预共享密钥对第一共享密钥进行加密,得到第一加密后的第一共享密钥。
步骤1014,网关向ECU发送第一加密后的第一共享密钥。相应地,ECU接收来自网关的第一加密后的第一共享密钥。
步骤1015,网关可用诊断装置的公钥对第一共享密钥进行加密,得到第二加密后的第一共享密钥。
步骤1016,网关向诊断装置发送第二加密后的第一共享密钥。相应地,诊断装置接收来自网关的第二加密后的第一共享密钥。
步骤1017,ECU和诊断装置可基于密钥确认协议进行密钥确认。
该步骤1017可参见上述步骤917的介绍,此处不再赘述。
步骤1018,ECU用第一共享密钥,对待传输的诊断数据进行加密。
步骤1019,ECU向诊断装置发送加密后得到诊断数据。相应地,诊断装置接收来自ECU的加密后的诊断数据。
步骤1020,诊断装置可使用第一共享密钥对加密后的诊断数据进行解密,得到诊断数据。
需要说明的是,上述步骤之间的顺序仅是一种示例,可以是先网关对诊断装置进行认证,后诊断装置对网关认证;或者也可以是先诊断装置对网关进行认证,后网关对诊断装置进行认证;或者也可以是诊断装置和网关同时进行双向认证过程,本申请对此不做限定。
通过上述步骤1001至步骤1020,实现了网关和诊断装置的双向认证,之后网关为ECU和诊断装置生成第一共享密钥,如此,有助于节省ECU的开销。ECU基于该第一共享密钥对待传输的诊断数据进行加密,从而可提高诊断数据的安全性,即便诊断数据被其它非法设备窃取,由于是密文的诊断数据,该非法设备也不能获知真实的诊断数据。
如图11所示,为本申请提供的再一种故障诊断方法的方法流程示意图。该故障诊断方法可应用于诊断系统,该诊断系统可以是上述图2a所示的通信系统;该诊断系统包括车辆和诊断装置,车辆可包括网关和ECU,网关用于管理ECU,其中,车辆可采用上述图1b所示的E/E架构。该方法中网关可对诊断装置进行单向认证,网关为ECU和诊断生成第一共享,并分别向ECU和诊断装置发送第一共享密钥。该方法包括以下步骤:
步骤1101,诊断装置向网关发送第一PKI证书。
步骤1102,网关对第一PKI证书签名进行校验;若校验成功,得到诊断装置的公钥,之后执行步骤1103;若校验失败,说明网关对诊断装置认证失败,不再执行后续步骤。
步骤1103,网关生成第一挑战值。
步骤1104,网关向诊断装置发送第一挑战值。相应地,诊断装置接收来自网关的第一挑战值。
步骤1105,诊断装置用诊断装置的私钥对第一挑战值进行签名,得到第三签名。
步骤1106,诊断装置向网关发送第三签名。相应地,网关接收来自诊断装置的第三签名。
步骤1107,网关使用诊断装置的公钥对第三签名进行校验;若校验成功,执行步骤1108;
步骤1108,网关生成第一共享密钥。
此处,网关可根据密钥生成算法,随机生成一个第一共享密钥。
步骤1109,网关用与ECU之间的预共享密钥对第一共享密钥进行加密,得到第一加密后的第一共享密钥。
步骤1110,网关向ECU发送第一加密后的第一共享密钥。相应地,ECU接收来自网关的第一加密后的第一共享密钥。
步骤1111,网关用诊断装置的公钥对第一共享密钥进行加密,得到第二加密后的第一共享密钥。
步骤1112,网关向诊断装置发送第二加密后的第一共享密钥。相应地,诊断装置接收来自网关的第二加密后的第一共享密钥。
上述步骤1100和步骤1111之间没有先后顺序,可先执行步骤1111后执行步骤1100,也可以先执行步骤1100后执行步骤1111,也可以步骤1100和步骤1111同时执行。
步骤1113,ECU和诊断装置可基于密钥确认协议进行密钥确认。
该步骤1113可参见上述步骤917的介绍,此处不再赘述。
步骤1114,ECU用第一共享密钥,对待传输的诊断数据进行加密。
步骤1115,ECU向诊断装置发送加密后得到诊断数据。相应地,诊断装置接收来自ECU的加密后的诊断数据。相应地,诊断装置接收来自ECU的加密后的诊断数据。
步骤1116,诊断装置可使用第一共享密钥对加密后的诊断数据进行解密,得到诊断数据。
基于图11的方案所达到的效果可参见上述图10方案的描述,此处不再赘述。
如图12所示,为本申请提供的再一种故障诊断方法的方法流程示意图。该诊断系统包括车辆和诊断装置,车辆可包括网关和ECU,网关用于管理ECU,其中,车辆可采用上述图1b所示的E/E架构,诊断装置可以上述图1a所示的诊断仪,可用于对车辆进行诊断。该方法可中网关可基于诊断装置的PKI证书对诊断装置进行认证,ECU和诊断装置可分别生成第一共享密钥。该方法包括以下步骤:
步骤1201,诊断装置向网关发送第一PKI证书。相应地,网关接收来自诊断装置的PKI证书。
步骤1202,网关对第一PKI证书进行校验;若校验成功,得到诊断装置的公钥,之后执行步骤1203。
步骤1203,网关向ECU发送第一消息。相应地,ECU接收来自网关的第一消息。
此处,可参见上述步骤602的介绍,此处不再赘述。
步骤1204,ECU接收到第一消息后,生成第三随机数。
步骤1205,ECU计算第三随机数的DH元素。
步骤1206,ECU向网关发送第三随机数的DH元素。相应地,网关接收来自ECU的第三随机数的DH元素。
步骤1207,网关生成第三挑战值。
步骤1208,网关向诊断装置发送第三挑战值、以及第三随机数的DH元素。相应地,诊断装置接收来自网关的第三挑战值、以及第三随机数的DH元素。
步骤1209,诊断装置用诊断装置的私钥对第三挑战值进行签名,得到第五签名。
步骤1210,诊断装置生成第四随机数,并计算第四随机数的DH元素。
步骤1211,诊断装置向网关发送第四随机数的DH元素和第五签名。
步骤1212,网关用诊断装置的公钥对第五签名进行校验;若校验成功,则执行步骤1212。
步骤1213,网关向ECU发送第四随机数的DH元素。
步骤1214,ECU根据第三随机数和第四随机数的DH元素,生成第一共享密钥。
步骤1215,诊断装置根据第四随机数和第三随机数的DH元素,计算第一共享密钥。
上述步骤1214和步骤1215之间没有先后顺序,可以先执行步骤1214再执行步骤1215,也可以先执行步骤1215后执行步骤1214,也可以步骤1214和步骤1215同时执行。
步骤1216,ECU和诊断装置可基于密钥确认协议进行密钥确认。
该步骤1216可参见上述步骤917的介绍,此处不再赘述。
步骤1217,ECU用第一共享密钥,对待传输的诊断数据进行加密。
步骤1218,ECU向诊断装置发送加密后得到诊断数据。相应地,诊断装置接收来自ECU的加密后的诊断数据。
步骤1219,诊断装置可使用第一共享密钥对加密后的诊断数据进行解密,得到诊断数据。
基于图12的方案所达到的效果可参见上述图7的方案的描述,此处不再赘述。
需要说明的是,上述图9至图12中的步骤之间的顺序仅是示例性地。基于具体的故障诊断过程,步骤之间的顺序可进行调换,或者同时执行等。另外,为了描述的简洁,图9至图12中若与前面图3至图8中相同内容,可参见前述图3至图8的介绍,不再一一赘述。
可以理解的是,为了实现上述实施例中功能,网关和诊断装置包括了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本申请中所公开的实施例描述的各示例的模块及方法步骤,本申请能够以硬件或硬件和计算机软件相结合的形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用场景和设计约束条件。
基于上述内容和相同构思,图13和图14为本申请的提供的可能的装置的结构示意图。这些装置可以用于实现上述方法实施例中网关或诊断装置的功能,因此也能实现上述方法实施例所具备的有益效果。在本申请中,该装置可以是如图1b中的网关,也可以是图2a所示的车辆中的网关。
如图13所示,该装置1300包括处理模块1301和收发模块1302。装置1300用于实现上述图3至图12中所示的方法实施例中网关或诊断装置的功能。
当装置1300用于实现图3所示的方法实施例的网关的功能时:处理模块1301用于对诊断装置进行认证;若认证成功,生成第一共享密钥,第一共享密钥为ECU与诊断装置之间共享的密钥,第一共享密钥用于ECU对待传输的诊断数据进行加密,诊断装置用于获取车辆信息;收发模块1302用于向ECU发送第一共享密钥。
有关上述处理模块1301和收发模块1302更详细的描述可以参考图3所示的方法实施例中相关描述直接得到,此处不再一一赘述。
当装置1300用于实现图5所示的方法实施例的诊断装置的功能时:处理模块1301用于对网关进行认证,若认证成功,获取第一共享密钥,第一共享密钥为ECU与诊断装置之间共享的密钥,装置用于对车辆进行诊断;收发模块1302用于接收来自ECU的用第一共享密钥加密的诊断数据;处理模块1301还用于用第一共享密钥对加密的诊断数据进行解密。
有关上述处理模块1301和收发模块1302更详细的描述可以参考图5所示的方法实施例中相关描述直接得到,此处不再一一赘述。
当装置1300用于实现图7所示的方法实施例的网关的功能时:处理模块1301用于对诊断装置进行认证,诊断装置用于获取车辆信息;若认证成功,收发模块1302用于向ECU发送第一消息,第一消息用于指示ECU生成第一共享密钥,第一共享密钥为ECU和诊断装置之间共享的密钥,第一共享密钥用于ECU对待传输的诊断数据进行加密。
有关上述处理模块1301和收发模块1302更详细的描述可以参考图7所示的方法实施例中相关描述直接得到,此处不再一一赘述。
应理解,本申请实施例中的处理模块1301可以由处理器或处理器相关电路组件实现,收发模块1302可以由收发器或收发器相关电路组件实现。
基于上述内容和相同构思,如图14所示,本申请还提供一种装置1400。该装置1400可包括处理器1401和收发器1402。处理器1401和收发器1402之间相互耦合。可以理解的是,收发器1402可以为接口电路或输入输出接口。可选地,装置1400还可包括存储器1403,用于存储处理器1401执行的指令或存储处理器1401运行指令所需要的输入数据或存储处理器1401运行指令后产生的数据。
当装置1400用于实现图3或图5或图7所示的方法时,处理器1401用于执行上述处理模块1301的功能,收发器1402用于执行上述收发模块1302的功能。
基于上述内容和相同构思,本申请提供一种车辆。该车辆可包括网关和ECU。网关可执行网关侧任意方法,ECU可执行ECU侧任意方法。网关和ECU可能的实现方式可参见上述介绍,此处不再赘述。示例性地,车辆可以是上述图2a所示的架构。
基于上述内容和相同构思,本申请提供一种诊断系统。该诊断系统可包括前述车辆和诊断装置,车辆包括网关和ECU。网关可执行网关侧任意方法,诊断装置可执行诊断装置侧任意方法。网关和诊断装置可能的实现方式可参见上述介绍,此处不再赘述。
可以理解的是,本申请的实施例中的处理器可以是中央处理单元(CentralProcessing Unit,CPU),还可以是其它通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其它可编程逻辑器件、晶体管逻辑器件,硬件部件或者其任意组合。通用处理器可以是微处理器,也可以是任何常规的处理器。
本申请的实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于网络设备或终端设备中。当然,处理器和存储介质也可以作为分立组件存在于网络设备或终端设备中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行计算机程序或指令时,全部或部分地执行本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其它可编程装置。计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,DVD);还可以是半导体介质,例如,固态硬盘(solid statedrive,SSD)。
在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定。术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块。方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的保护范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (11)

1.一种故障诊断方法,其特征在于,应用于车辆,所述车辆包括网关和电子控制单元ECU,所述网关用于管理所述ECU,所述方法包括:
所述网关接收来自诊断装置的第一签名、以及第一公钥基础设施PKI证书,所述第一签名是使用所述诊断装置的私钥对所述诊断装置生成的第一随机数进行签名得到的,所述诊断装置用于获取车辆信息;
若所述网关对第一PKI证书校验成功,得到所述诊断装置的公钥;
所述网关根据所述诊断装置的公钥,对所述第一签名进行校验;
若网关对所述诊断装置认证成功,所述网关生成第二随机数,根据所述第二随机数和所述第一随机数,生成第一共享密钥,所述第一随机数是所述网关使用所述诊断装置的公钥对所述第一签名校验成功得到的,所述第一共享密钥为所述ECU与所述诊断装置之间共享的密钥;
所述网关对所述第一共享密钥进行加密,得到加密后的第一共享密钥;
所述网关向所述ECU发送所述加密后的第一共享密钥;
所述诊断装置接收来自所述网关的所述第二随机数、并生成第一随机数;
所述诊断装置根据所述第一随机数和所述第二随机数生成所述第一共享密钥;
所述ECU根据所述第一共享密钥,确定第一MAC值,并向所述诊断装置发送所述第一MAC值;
所述诊断装置根据所述第一共享密钥,确定第二MAC值,并向所述ECU发送第二MAC值;
所述ECU和所述诊断装置基于密钥确认协议、所述第一MAC值和所述第二MAC值对所述第一共享密钥进行确认;
通过确认,所述ECU用所述第一共享密钥对待传输的诊断数据进行加密,并向所述诊断装置发送加密后的诊断数据。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述网关使用所述网关的私钥,对所述第二随机数进行签名,得到第二签名;
所述网关向所述诊断装置发送所述第二签名、以及第二PKI证书,所述第二PKI证书和所述第二签名用于所述诊断装置对所述网关进行认证。
3.如权利要求1所述的方法,其特征在于,所述网关对诊断装置进行认证,包括:
所述网关接收来自所述诊断装置的第一公钥基础设施PKI证书;
若所述网关对所述第一PKI证书校验成功,得到所述诊断装置的公钥;
所述网关生成第一挑战值,并向所述诊断装置发送所述第一挑战值;
所述网关接收来自所述诊断装置的第三签名,所述第三签名是用所述诊断装置的私钥对所述第一挑战值进行签名得到的;
所述网关根据所述诊断装置的公钥,对所述第三签名进行校验。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
所述网关接收来自所述诊断装置的第二挑战值;
所述网关用所述网关的私钥对所述第二挑战值进行签名,得到第四签名;
所述网关向所述诊断装置发送所述第四签名、以及第二PKI证书,所述第二PKI证书和所述第四签名用于所述诊断装置对所述网关进行认证。
5.一种故障诊断方法,其特征在于,应用于车辆,所述车辆包括网关和电子控制单元ECU,所述网关用于管理所述ECU,所述方法包括:
所述网关接收来自所述诊断装置的第一公钥基础设施PKI证书,所述诊断装置用于获取车辆信息;
若所述网关对第一PKI证书校验成功,得到所述诊断装置的公钥;
所述网关生成第三挑战值,并向所述诊断装置发送所述第三挑战值;
所述网关接收来自所述诊断装置的第五签名,所述第五签名是用所述诊断装置的私钥对所述第三挑战值进行签名得到的;
所述网关根据所述诊断装置的公钥,对所述第五签名进行校验;
若认证成功,所述网关向所述ECU发送第一消息,所述第一消息用于指示所述ECU生成第一共享密钥,所述第一消息包括第四随机数,所述第四随机数为所述诊断装置向所述网关发送的,所述第一共享密钥为所述ECU和所述诊断装置之间共享的密钥;
所述ECU接收到第一消息后,生成第三随机数;
所述ECU根据所述第三随机数和所述第四随机数,生成所述第一共享密钥;
所述诊断装置接收来自所述ECU的所述第三随机数;
所述诊断装置根据所述第三随机数和所述第四随机数生成所述第一共享密钥;
所述ECU根据所述第一共享密钥,确定第一MAC值,并向所述诊断装置发送所述第一MAC值;
所述诊断装置根据所述第一共享密钥,确定第二MAC值,并向所述ECU发送第二MAC值;
所述ECU和所述诊断装置基于密钥确认协议、所述第一MAC值和所述第二MAC值对所述第一共享密钥进行确认;
通过确认,所述ECU用所述第一共享密钥对待传输的诊断数据进行加密,并向所述诊断装置发送加密后的诊断数据。
6.一种故障诊断方法,其特征在于,应用于车辆,所述车辆包括网关和电子控制单元ECU,所述网关用于管理所述ECU,所述方法包括:
所述网关接收来自所述诊断装置的第一公钥基础设施PKI证书,所述诊断装置用于获取车辆信息;
若所述网关对第一PKI证书校验成功,得到所述诊断装置的公钥;
所述网关生成第三挑战值,并向所述诊断装置发送所述第三挑战值;
所述网关接收来自所述诊断装置的第五签名,所述第五签名是用所述诊断装置的私钥对所述第三挑战值进行签名得到的;
所述网关根据所述诊断装置的公钥,对所述第五签名进行校验;
若认证成功,所述网关向所述ECU发送第一消息,并向所述诊断装置发送来自所述ECU的第三随机数,向所述ECU发送来自所述诊断装置的第四随机数,所述第一消息用于指示所述ECU生成第一共享密钥,所述第一共享密钥为所述ECU和所述诊断装置之间共享的密钥,所述第一共享密钥用于所述ECU对待传输的诊断数据进行加密,所述第三随机数和所述第四随机数用于所述ECU生成所述第一共享密钥,以及用于所述诊断装置生成所述第一共享密钥;
所述ECU根据所述第一共享密钥,确定第一MAC值,并向所述诊断装置发送所述第一MAC值;
所述诊断装置根据所述第一共享密钥,确定第二MAC值,并向所述ECU发送第二MAC值;
所述ECU和所述诊断装置基于密钥确认协议、所述第一MAC值和所述第二MAC值对所述第一共享密钥进行确认;
通过确认,所述ECU用所述第一共享密钥对待传输的诊断数据进行加密,并向所述诊断装置发送加密后的诊断数据。
7.一种车辆,其特征在于,包括ECU和网关:
所述网关,用于接收来自诊断装置的第一签名、以及第一公钥基础设施PKI证书,所述第一签名是使用所述诊断装置的私钥对所述诊断装置生成的第一随机数进行签名得到的;若对第一PKI证书校验成功,得到所述诊断装置的公钥,并根据所述诊断装置的公钥,对所述第一签名进行校验;若认证成功,生成第二随机数,并根据所述第一随机数和所述第二随机数,生成第一共享密钥,所述第一随机数是所述网关使用所述诊断装置的公钥对所述第一签名校验成功得到的,对所述第一共享密钥进行加密,得到加密后的第一共享密钥;所述第一共享密钥为ECU与所述诊断装置之间共享的密钥,所述第一共享密钥用于所述ECU对待传输的诊断数据进行加密,所述诊断装置用于获取车辆信息;以及向所述ECU发送所述加密后的第一共享密钥;
所述诊断装置,用于接收来自所述网关的所述第二随机数、并生成第一随机数;根据所述第一随机数和所述第二随机数生成所述第一共享密钥;
所述ECU,用于根据所述第一共享密钥,确定第一MAC值,并向所述诊断装置发送所述第一MAC值;
所述诊断装置,还用于根据所述第一共享密钥,确定第二MAC值,并向所述ECU发送第二MAC值;
所述ECU和所述诊断装置,还用于基于密钥确认协议、所述第一MAC值和所述第二MAC值对所述第一共享密钥进行确认;
通过确认,所述ECU,还用于用所述第一共享密钥对待传输的诊断数据进行加密,并向所述诊断装置发送加密后的诊断数据。
8.如权利要求7所述的车辆,其特征在于,所述网关,还用于:使用所述网关的私钥,对第二随机数进行签名,得到第二签名;以及向所述诊断装置发送第二PKI证书、以及第二签名,所述第二PKI证书和所述第二签名用于所述诊断装置对所述网关进行认证。
9.如权利要求7或8所述的车辆,其特征在于,所述网关,具体用于:接收来自所述诊断装置的第一公钥基础设施PKI证书;若对所述第一PKI证书校验成功,得到所述诊断装置的公钥;生成第一挑战值;以及向所述诊断装置发送所述第一挑战值;以及接收来自所述诊断装置的第三签名,所述第三签名是用所述诊断装置的私钥对所述第一挑战值进行签名得到的;根据所述诊断装置的公钥,对所述第三签名进行校验。
10.如权利要求9所述的车辆,其特征在于,所述网关,还用于:接收来自所述诊断装置的第二挑战值;用所述网关的私钥对所述第二挑战值进行签名,得到第四签名;向所述诊断装置发送所述第四签名、以及第二PKI证书,所述第二PKI证书和所述第四签名用于所述诊断装置对所述网关进行认证。
11.一种车辆,其特征在于,包括网关和ECU:
所述网关,用于接收来自诊断装置的第一公钥基础设施PKI证书;若对第一PKI证书校验成功,得到所述诊断装置的公钥;生成第三挑战值,所述诊断装置用于获取车辆信息;向所述诊断装置发送所述第三挑战值;并接收来自所述诊断装置的第五签名,所述第五签名是用所述诊断装置的私钥对所述第三挑战值进行签名得到的;根据所述诊断装置的公钥,对所述第五签名进行校验;向ECU发送第一消息,以及向所述诊断装置发送来自所述ECU的第三随机数,向所述ECU发送来自所述诊断装置的第四随机数,所述第一消息用于指示所述ECU生成第一共享密钥,所述第一共享密钥为所述ECU和所述诊断装置之间共享的密钥,所述第一共享密钥用于所述ECU对待传输的诊断数据进行加密;所述第三随机数和所述第四随机数用于所述ECU生成所述第一共享密钥,以及用于所述诊断装置生成所述第一共享密钥;
所述ECU,用于根据所述第一共享密钥,确定第一MAC值,并向所述诊断装置发送所述第一MAC值;
所述诊断装置,用于根据所述第一共享密钥,确定第二MAC值,并向所述ECU发送第二MAC值;
所述ECU和所述诊断装置,还用于基于密钥确认协议、所述第一MAC值和所述第二MAC值对所述第一共享密钥进行确认;
通过确认,所述ECU,还用于用所述第一共享密钥对待传输的诊断数据进行加密,并向所述诊断装置发送加密后的诊断数据。
CN202080004366.XA 2020-02-29 2020-02-29 一种故障诊断方法、装置及车辆 Active CN112585549B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/077357 WO2021168864A1 (zh) 2020-02-29 2020-02-29 一种故障诊断方法、装置及车辆

Publications (2)

Publication Number Publication Date
CN112585549A CN112585549A (zh) 2021-03-30
CN112585549B true CN112585549B (zh) 2022-05-31

Family

ID=75145425

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080004366.XA Active CN112585549B (zh) 2020-02-29 2020-02-29 一种故障诊断方法、装置及车辆

Country Status (3)

Country Link
EP (1) EP3902012A4 (zh)
CN (1) CN112585549B (zh)
WO (1) WO2021168864A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113411294A (zh) * 2021-04-30 2021-09-17 中汽研(天津)汽车工程研究院有限公司 基于安全云端公钥保护的车载安全通信方法、系统和装置
KR20230016493A (ko) * 2021-07-26 2023-02-02 현대자동차주식회사 차량 제어 장치 그 제어 방법
CN113625691B (zh) * 2021-08-20 2023-04-07 深圳市元征科技股份有限公司 一种车辆诊断方法、诊断设备以及车辆网关
CN113960978A (zh) * 2021-09-29 2022-01-21 岚图汽车科技有限公司 车辆诊断方法、装置及存储介质
CN114513310A (zh) * 2022-02-21 2022-05-17 中国第一汽车股份有限公司 一种车辆诊断设备的认证方法、装置、电子设备及介质
CN114785557B (zh) * 2022-03-28 2023-06-06 重庆长安汽车股份有限公司 一种整车对称密钥分发系统、方法及存储介质
CN115442064A (zh) * 2022-03-31 2022-12-06 北京罗克维尔斯科技有限公司 一种车辆控制器诊断方法、装置、设备和介质
CN114629664A (zh) * 2022-05-16 2022-06-14 深圳市星卡软件技术开发有限公司 一种基于诊断设备的app管控方法和装置
CN114978692B (zh) * 2022-05-18 2024-03-22 中国第一汽车股份有限公司 一种汽车用uds诊断报文混合加密传输方法及系统
CN115333793A (zh) * 2022-07-22 2022-11-11 中国第一汽车股份有限公司 一种基于可联网诊断设备的obd接口认证方法、车辆

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101518018A (zh) * 2006-08-31 2009-08-26 宝马股份公司 诊断访问受到保护的汽车中的控制设备系统
CN103731756A (zh) * 2014-01-02 2014-04-16 中国科学院信息工程研究所 一种基于智能云电视网关的智能家居远程安全访问控制实现方法
CN106330838A (zh) * 2015-07-01 2017-01-11 阿里巴巴集团控股有限公司 一种动态签名方法及应用该方法的客户端和服务器
CN106357681A (zh) * 2016-11-02 2017-01-25 合肥工业大学 一种车载远程诊断服务的安全接入与保密通信方法
CN106533655A (zh) * 2016-10-27 2017-03-22 江苏大学 一种车内网ecu安全通信的方法
CN108052095A (zh) * 2018-01-29 2018-05-18 北京汽车研究总院有限公司 一种汽车诊断系统及汽车
CN108632801A (zh) * 2018-05-11 2018-10-09 铠龙东方汽车有限公司 一种共享电动汽车的网络系统
CN109005028A (zh) * 2018-11-02 2018-12-14 美的集团股份有限公司 密钥协商方法、云服务器、设备、存储介质以及系统
CN109032116A (zh) * 2018-08-30 2018-12-18 百度在线网络技术(北京)有限公司 车辆故障处理方法、装置、设备及存储介质
CN109067544A (zh) * 2018-07-26 2018-12-21 海南新软软件有限公司 一种软硬结合的私钥验证方法、装置及系统
CN109076058A (zh) * 2016-05-27 2018-12-21 华为技术有限公司 一种移动网络的认证方法和装置
CN109495454A (zh) * 2018-10-26 2019-03-19 北京车和家信息技术有限公司 认证方法、装置、云端服务器及车辆
CN109670289A (zh) * 2018-11-20 2019-04-23 福建联迪商用设备有限公司 一种识别后台服务器合法性的方法及系统
CN109995739A (zh) * 2018-01-02 2019-07-09 中国移动通信有限公司研究院 一种信息传输方法、客户端、服务器及存储介质
CN110035071A (zh) * 2019-03-26 2019-07-19 南瑞集团有限公司 一种面向工控系统的远程双因子双向认证方法、客户端及服务端
CN110086679A (zh) * 2019-05-16 2019-08-02 深圳市英博超算科技有限公司 智能汽车安全网关系统
CN110380864A (zh) * 2019-07-05 2019-10-25 阿里巴巴集团控股有限公司 人脸数据采集、验证的方法、设备及系统
CN110460573A (zh) * 2019-07-08 2019-11-15 上海赫千电子科技有限公司 一种应用于汽车ecu安全升级管理系统及方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6594760B1 (en) * 1998-12-21 2003-07-15 Pitney Bowes Inc. System and method for suppressing conducted emissions by a cryptographic device
US6694235B2 (en) * 2001-07-06 2004-02-17 Denso Corporation Vehicular relay device, in-vehicle communication system, failure diagnostic system, vehicle management device, server device and detection and diagnostic program
CN100488280C (zh) * 2005-06-04 2009-05-13 华为技术有限公司 一种鉴权方法及相应的信息传递方法
CN102638794B (zh) * 2007-03-22 2016-03-30 华为技术有限公司 鉴权和密钥协商方法、认证方法、系统及设备
CN101060530A (zh) * 2007-05-22 2007-10-24 赵运磊 可抵赖的互联网密钥交换协议
CN101247394A (zh) * 2008-01-10 2008-08-20 赵运磊 一种改进的密钥交换协议
CN101640886B (zh) * 2008-07-29 2012-04-25 上海华为技术有限公司 鉴权方法、重认证方法和通信装置
CN102045333B (zh) * 2010-06-29 2013-06-19 飞天诚信科技股份有限公司 一种安全报文过程密钥的生成方法
CN102938696B (zh) * 2011-08-15 2015-08-12 国民技术股份有限公司 一种会话密钥的生成方法及模块
CN103179558B (zh) * 2012-09-20 2016-06-22 中兴通讯股份有限公司 集群系统组呼加密实现方法及系统
CN103067161B (zh) * 2013-01-16 2016-06-01 电子科技大学 一种密钥分发方法及系统
CN104780141B (zh) * 2014-01-10 2018-07-03 电信科学技术研究院 一种车联网系统中的消息证书获取方法和设备
CN106537463B (zh) * 2014-07-11 2020-04-17 因特鲁斯特公司 用于提高车辆安全性的方法和装置
US9380044B2 (en) * 2014-09-10 2016-06-28 Cisco Technology, Inc. Supporting differentiated secure communications among heterogeneous electronic devices
JP6228093B2 (ja) * 2014-09-26 2017-11-08 Kddi株式会社 システム
US10710522B2 (en) * 2016-09-12 2020-07-14 Hyundai Motor Company Diagnostic methods and apparatuses in vehicle network
JP6766612B2 (ja) * 2016-11-24 2020-10-14 トヨタ自動車株式会社 車載式故障診断装置
CN106953796B (zh) * 2017-04-13 2021-01-01 北京汽车集团有限公司 安全网关、数据处理方法、装置、车辆网络系统及车辆
CN109560919B (zh) * 2017-09-27 2021-02-09 华为技术有限公司 一种密钥衍生算法的协商方法及装置
CN110035433B (zh) * 2018-01-11 2024-03-19 华为技术有限公司 采用共享密钥、公钥和私钥的验证方法及装置
CN109699031B (zh) * 2018-01-11 2020-03-20 华为技术有限公司 采用共享密钥、公钥和私钥的验证方法及装置
CN108616354B (zh) * 2018-04-27 2021-10-26 北京信息科技大学 一种移动通信中密钥协商方法和设备
CN110635901B (zh) * 2019-09-11 2023-01-17 北京方研矩行科技有限公司 用于物联网设备的本地蓝牙动态认证方法和系统

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101518018A (zh) * 2006-08-31 2009-08-26 宝马股份公司 诊断访问受到保护的汽车中的控制设备系统
CN103731756A (zh) * 2014-01-02 2014-04-16 中国科学院信息工程研究所 一种基于智能云电视网关的智能家居远程安全访问控制实现方法
CN106330838A (zh) * 2015-07-01 2017-01-11 阿里巴巴集团控股有限公司 一种动态签名方法及应用该方法的客户端和服务器
CN109076058A (zh) * 2016-05-27 2018-12-21 华为技术有限公司 一种移动网络的认证方法和装置
CN106533655A (zh) * 2016-10-27 2017-03-22 江苏大学 一种车内网ecu安全通信的方法
CN106357681A (zh) * 2016-11-02 2017-01-25 合肥工业大学 一种车载远程诊断服务的安全接入与保密通信方法
CN109995739A (zh) * 2018-01-02 2019-07-09 中国移动通信有限公司研究院 一种信息传输方法、客户端、服务器及存储介质
CN108052095A (zh) * 2018-01-29 2018-05-18 北京汽车研究总院有限公司 一种汽车诊断系统及汽车
CN108632801A (zh) * 2018-05-11 2018-10-09 铠龙东方汽车有限公司 一种共享电动汽车的网络系统
CN109067544A (zh) * 2018-07-26 2018-12-21 海南新软软件有限公司 一种软硬结合的私钥验证方法、装置及系统
CN109032116A (zh) * 2018-08-30 2018-12-18 百度在线网络技术(北京)有限公司 车辆故障处理方法、装置、设备及存储介质
CN109495454A (zh) * 2018-10-26 2019-03-19 北京车和家信息技术有限公司 认证方法、装置、云端服务器及车辆
CN109005028A (zh) * 2018-11-02 2018-12-14 美的集团股份有限公司 密钥协商方法、云服务器、设备、存储介质以及系统
CN109670289A (zh) * 2018-11-20 2019-04-23 福建联迪商用设备有限公司 一种识别后台服务器合法性的方法及系统
CN110035071A (zh) * 2019-03-26 2019-07-19 南瑞集团有限公司 一种面向工控系统的远程双因子双向认证方法、客户端及服务端
CN110086679A (zh) * 2019-05-16 2019-08-02 深圳市英博超算科技有限公司 智能汽车安全网关系统
CN110380864A (zh) * 2019-07-05 2019-10-25 阿里巴巴集团控股有限公司 人脸数据采集、验证的方法、设备及系统
CN110460573A (zh) * 2019-07-08 2019-11-15 上海赫千电子科技有限公司 一种应用于汽车ecu安全升级管理系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
智能网联汽车安全网关技术的研究与实现;张鸥;《中国优秀硕士学位论文全文数据库工程科技II辑》;20180915(第9期);正文第4、50页 *

Also Published As

Publication number Publication date
EP3902012A1 (en) 2021-10-27
CN112585549A (zh) 2021-03-30
EP3902012A4 (en) 2022-02-23
WO2021168864A1 (zh) 2021-09-02

Similar Documents

Publication Publication Date Title
CN112585549B (zh) 一种故障诊断方法、装置及车辆
KR102347659B1 (ko) 디바이스의 보안 프로비저닝 및 관리
CN107040368B (zh) 用于车辆的受保护的通信的方法
Bernardini et al. Security and privacy in vehicular communications: Challenges and opportunities
WO2017217070A1 (ja) システム、認証局、車載コンピュータ、車両、公開鍵証明書発行方法、及びプログラム
KR101421329B1 (ko) 3 개의 피어 인증(tepa)에 기반한 신뢰할만한 플랫폼을 인증하는 방법
CN110708388B (zh) 用于提供安全服务的车身安全锚节点设备、方法以及网络系统
JP2021500816A (ja) 車両搭載機器アップグレード方法および関連機器
US9544300B2 (en) Method and system for providing device-specific operator data for an automation device in an automation installation
BR112020015133A2 (pt) Comunicação segura entre unidades de controle eletrônico no veículo
CN111314274A (zh) 一种车载终端与中心平台双向认证方法及系统
EP3399691B1 (en) Onboard computer system, vehicle, management method, and computer program
CN113439425B (zh) 报文传输方法及装置
WO2020259169A1 (zh) 认证方法、设备及系统
CN115001695B (zh) 平台的基板管理控制器身份的安全置备
CN109688111A (zh) 一种适应v2x通信的车辆身份认证系统和方法
CN109690543A (zh) 安全认证方法、集成电路及系统
JP2018019415A (ja) システム、認証局、車載コンピュータ、公開鍵証明書発行方法、及びプログラム
CN103281188B (zh) 一种备份电子签名令牌中私钥的方法和系统
CN103248490B (zh) 一种备份电子签名令牌中信息的方法和系统
CN114338091B (zh) 数据传输方法、装置、电子设备及存储介质
KR102551592B1 (ko) 자동차의 주행거리 조작을 방지하는 방법 및 이를 사용한 주행거리기록장치
CN113014592B (zh) 物联网设备自动注册系统和方法
US20180109623A1 (en) Secure controlling of vehicle components in a telecommunication network
KR20230029952A (ko) 차량에 개별 인증서의 보안 탑재를 위한 방법

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