CN108347331B - 车联网系统中T_Box设备与ECU设备进行安全通信的方法与设备 - Google Patents

车联网系统中T_Box设备与ECU设备进行安全通信的方法与设备 Download PDF

Info

Publication number
CN108347331B
CN108347331B CN201710061175.7A CN201710061175A CN108347331B CN 108347331 B CN108347331 B CN 108347331B CN 201710061175 A CN201710061175 A CN 201710061175A CN 108347331 B CN108347331 B CN 108347331B
Authority
CN
China
Prior art keywords
information
ecu
box
key
random number
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
CN201710061175.7A
Other languages
English (en)
Other versions
CN108347331A (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201710061175.7A priority Critical patent/CN108347331B/zh
Priority to US15/879,068 priority patent/US10728229B2/en
Publication of CN108347331A publication Critical patent/CN108347331A/zh
Application granted granted Critical
Publication of CN108347331B publication Critical patent/CN108347331B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0442Network 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 asymmetric encryption, i.e. different keys for encryption and decryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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
    • 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
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40104Security; Encryption; Content protection
    • 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/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • 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/06Cryptographic 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/3297Cryptographic 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 time stamps, e.g. generation of time stamps
    • 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

Abstract

本发明的目的是提供一种车联网系统中T_Box设备与ECU设备进行安全通信的方法与设备。具体地,T_Box设备向对应的ECU设备发送第一信息;ECU设备根据第一信息、主密钥的哈希值,以及ECU设备生成的第二随机数,生成第二信息;T_Box设备根据第二信息、第一随机数和第三随机数,生成第三信息;T_Box设备根据第二信息和第三随机数,以及T_Box设备的身份标识信息与ECU设备的身份标识,生成第一密钥;T_Box设备基于第一密钥对待下发指令进行加密;ECU设备根据第三信息和第二随机数,以及述T_Box设备的身份标识信息与ECU设备的身份标识,生成第二密钥;ECU设备根据第二密钥对经加密的指令进行解密,以获得指令。与现有技术相比,本发明实现了T_Box设备与ECU设备之间的安全通信。

Description

车联网系统中T_Box设备与ECU设备进行安全通信的方法与 设备
技术领域
本发明涉及车联网技术领域,尤其涉及一种车联网系统中T_Box设备与ECU设备进行安全通信的技术。
背景技术
随着车联网应用的多样化、网络化和智能化,车联网的安全攻击面受到越来越多的威胁,车联网中一个重要核心组件是T-Box(Telematics Box)控制单元,可以用来交换车内ECU(Electronic Control Unit)与车外的数据信息。然而,目前T-Box与ECU之间的通信仍使用明文的方式在CAN(Controller Area Network)总线上传输,但CAN总线通信技术并没有考虑信息安全特性,发送和接收数据包没有进行身份验证和数据加密。
现有的安全通信技术(如SSL(Secure socket Layer)、IPSec(Internet ProtocolSecurity)、S-HTTP(Secure Hypertext Transfer Protocol)等)通常使用对称或者非对称算法对数据进行加密,并使用身份认证技术对两种通信实体进行单向或双向认证。但现有的双向认证方案,不仅交互流程较多,而且使用的加密算法较为复杂,而车联网中的T-Box设备以及ECU设备都是资源较为紧张的嵌入式系统设备,使得现有的安全技术方案很难直接应用到T-Box与ECU的认证和通信中。
面对黑客可以远程控制T-Box并通过截获T-Box与车辆ECU的通信内容进行攻击的风险,如何实现T-Box与车辆ECU之间的安全通信,成为一项亟待解决的技术问题。
发明内容
本发明的一个目的是提供一种用于车联网系统中T_Box设备与ECU设备进行安全通信的方法与设备。
根据本发明的一个方面,提供了一种车联网系统中T_Box设备与ECU设备进行安全通信的方法,其中,该方法包括:
T_Box设备向对应的ECU设备发送第一信息,其中,该第一信息是由所述T_Box设备生成的第一随机数与所述车联网系统的主密钥的哈希值进行异或得到;
所述ECU设备根据所述第一信息、所述主密钥的哈希值,以及所述ECU设备生成的第二随机数,生成第二信息,并将所述第二信息发送至所述T_Box设备;
所述T_Box设备根据所述第二信息、所述第一随机数和由所述T_Box设备生成的第三随机数,生成第三信息,并将所述第三信息发送至所述ECU设备;
所述T_Box设备根据所述第二信息和所述第三随机数,以及所述T_Box设备的身份标识信息与所述ECU设备的身份标识,生成第一密钥;
所述T_Box设备基于所述第一密钥对待下发指令进行加密,以将经加密的所述指令发送至所述ECU设备;
所述ECU设备响应于接收所述T_Box设备所发送的经加密的所述指令,根据所述第三信息和所述第二随机数,以及所述T_Box设备的身份标识信息与所述ECU设备的身份标识,生成第二密钥;
所述ECU设备根据所述第二密钥对经加密的所述指令进行解密,以获得所述指令。
根据本发明的另一方面,还提供了一种车联网系统中与ECU设备进行安全通信的T_Box设备,其中,该T_Box设备包括:
用于向对应的ECU设备发送第一信息的装置,其中,该第一信息是由所述T_Box设备生成的第一随机数与所述车联网系统的主密钥的哈希值进行异或得到;
用于接收所述ECU设备发送的第二信息的装置,其中,所述第二信息由所述第一信息、所述主密钥的哈希值,以及所述ECU设备生成的第二随机数生成;
用于根据所述第二信息、所述第一随机数和由所述T_Box设备生成的第三随机数,生成第三信息,并将所述第三信息发送至所述ECU设备的装置;
用于根据所述第二信息和所述第三随机数,以及所述T_Box设备的身份标识信息与所述ECU设备的身份标识,生成第一密钥的装置;
用于基于所述第一密钥对待下发指令进行加密,以将经加密的所述指令发送至所述ECU设备的装置。
根据本发明的再一方面,还提供了一种车联网系统中与T_Box设备进行安全通信的ECU设备,其中,该ECU设备包括:
用于接收对应T_Box设备发送的第一信息的装置,其中,该第一信息是由所述T_Box设备生成的第一随机数与所述车联网系统的主密钥的哈希值进行异或得到;
用于根据所述第一信息、所述主密钥的哈希值,以及所述ECU设备生成的第二随机数,生成第二信息,并将所述第二信息发送至所述T_Box设备的装置;
用于接收所述T_Box设备发送的第三信息的装置;
用于接收所述T_Box设备发送的经加密的指令的装置,其中,所述指令经第一密钥加密,所述第一密钥的生成是基于所述第二信息、所述T_Box设备生成的第三随机数,以及所述T_Box设备的身份标识信息与所述ECU设备的身份标识;
用于响应于接收经加密的所述指令,根据所述第三信息和所述第二随机数,以及所述T_Box设备的身份标识信息与所述ECU设备的身份标识,生成第二密钥的装置;
用于根据所述第二密钥对经加密的所述指令进行解密,以获得所述指令的装置。
根据本发明的又一个方面,还提供了一种车联网系统,其中,该系统包括如前述根据本发明另一方面的一种T_Box设备,以及根据本发明再一方面的一种ECU设备。
与现有技术相比,本发明的一个实施例中的T_Box设备能够使用协商的安全会话密钥与ECU设备进行轻量级安全通信,解决了现在车联网发展中用户控制命令在“最后一公里”被窃听、截取、伪造和重放的威胁,也实现了T_Box设备与ECU设备之间的双向认证,并进一步降低了任意一方设备被恶意俘获而发送非合法的数据,比如非法ECU节点发送不合理的车辆状态信息给用户,被俘获的T_Box设备被恶意替换,用来执行黑客的指令到车载网络中去等风险
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1示出根据本发明一个方面的车联网系统中的T_Box设备与ECU设备的设备示意图;
图2示出根据本发明另一个方面的一种车联网系统中T_Box设备与ECU设备进行安全通信的方法流程图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本发明作进一步详细描述。
图1示出根据本发明一个方面的车联网系统中的T_Box设备1与ECU设备2,T_Box设备1与ECU设备2之间能够实现安全通信。其中,T_Box设备1包括:用于向对应的ECU设备2发送第一信息的装置(以下简称“第一发送装置11”),其中,该第一信息是由所述T_Box设备1生成的第一随机数与所述车联网系统的主密钥的哈希值进行异或得到;用于接收所述ECU设备2发送的第二信息的装置(以下简称“第二接收装置12”),其中,所述第二信息由所述第一信息、所述主密钥的哈希值,以及所述ECU设备2生成的第二随机数生成;用于根据所述第二信息、所述第一随机数和由所述T_Box设备1生成的第三随机数,生成第三信息,并将所述第三信息发送至所述ECU设备2的装置(以下简称“第三发送装置13”);用于根据所述第二信息和所述第三随机数,以及所述T_Box设备1的身份标识信息与所述ECU设备2的身份标识,生成第一密钥的装置(以下简称“第一密钥装置14”);用于基于所述第一密钥对待下发指令进行加密,以将经加密的所述指令发送至所述ECU设备2的装置(以下简称“第四发送装置15”)。ECU设备2包括:用于接收对应T_Box设备1发送的第一信息的装置(以下简称“第一接收装置21”),其中,该第一信息是由所述T_Box设备1生成的第一随机数与所述车联网系统的主密钥的哈希值进行异或得到;用于根据所述第一信息、所述主密钥的哈希值,以及所述ECU设备2生成的第二随机数,生成第二信息,并将所述第二信息发送至所述T_Box设备1的装置(以下简称“第二发送装置22”);用于接收所述T_Box设备1发送的第三信息的装置(以下简称“第三接收装置23”);用于接收所述T_Box设备1发送的经加密的指令的装置(以下简称“第四接收装置24”),其中,所述指令经第一密钥加密,所述第一密钥的生成是基于所述第二信息、所述T_Box设备1生成的第三随机数,以及所述T_Box设备1的身份标识信息与所述ECU设备2的身份标识;用于响应于接收经加密的所述指令,根据所述第三信息和所述第二随机数,以及所述T_Box设备1的身份标识信息与所述ECU设备2的身份标识,生成第二密钥的装置(以下简称“第二密钥装置25”);用于根据所述第二密钥对经加密的所述指令进行解密,以获得所述指令的装置(以下简称“第一解密装置26”)。
具体地,T_Box设备1的第一发送装置11向对应的ECU设备2发送第一信息,其中,该第一信息是由所述T_Box设备1生成的第一随机数与所述车联网系统的主密钥的哈希值进行异或得到;相应地,ECU设备2的第一接收装置21接收对应T_Box设备1发送的第一信息其中,该第一信息是由所述T_Box设备1生成的第一随机数与所述车联网系统的主密钥的哈希值进行异或得到;第二发送装置22根据所述第一信息、所述主密钥的哈希值,以及所述ECU设备2生成的第二随机数,生成第二信息,并将所述第二信息发送至所述T_Box设备1;相应地,T_Box设备1的第二接收装置12接收所述ECU设备2发送的第二信息,其中,所述第二信息由所述第一信息、所述主密钥的哈希值,以及所述ECU设备2生成的第二随机数生成;第三发送装置13根据所述第二信息、所述第一随机数和由所述T_Box设备1生成的第三随机数,生成第三信息,并将所述第三信息发送至所述ECU设备2;相应地,ECU设备2的第三接收装置23接收所述T_Box设备1发送的第三信息;T_Box设备1的第一密钥装置14根据所述第二信息和所述第三随机数,以及所述T_Box设备1的身份标识信息与所述ECU设备2的身份标识,生成第一密钥;第四发送装置15基于所述第一密钥对待下发指令进行加密,以将经加密的所述指令发送至所述ECU设备2;相应地,ECU设备2的第四接收装置24接收所述T_Box设备1发送的经加密的指令,其中,所述指令经第一密钥加密,所述第一密钥的生成是基于所述第二信息、所述T_Box设备1生成的第三随机数,以及所述T_Box设备1的身份标识信息与所述ECU设备2的身份标识;第二密钥装置25响应于接收经加密的所述指令,根据所述第三信息和所述第二随机数,以及所述T_Box设备1的身份标识信息与所述ECU设备2的身份标识,生成第二密钥;第一解密装置26根据所述第二密钥对经加密的所述指令进行解密,以获得所述指令。
在此,T_Box设备1是指车辆上主要用于和后台系统/手机APP通信,实现手机APP的车辆信息显示与控制的车载信息终端,如实现对车辆的运行数据、位置数据进行管理,提供包含诸如实时监控(地图、图表)、数据回放、轨迹回放、远程诊断等功能,并能够用来交换车内ECU设备的数据信息和车外的数据信息。
在此,ECU设备2是指车辆的专用微机控制器,其通常由微处理器(CPU)、存储器(ROM、、RAM)、输入/输出接口(I/O)、模数转换器(A/D)以及整形、驱动等大规模集成电路组成,可被称为“行车电脑”、“车载电脑”等。
在此,车辆出厂前可对其T_Box设备1和ECU设备2进行预先分配身份标识信息,包括1个T_Box设备1的身份标识ID(如T_BOX_ID)、若干ECU设备2的身份标识ID(如ECU-i),以及T_Box设备1和ECU设备2之间网络通信的主密钥。在具体实施例中,T_Box设备1和ECU设备2可采用CAN总线进行通信。在此,所述主密钥是指T_Box设备1和ECU设备2之间共享的密钥,可作为生成T_Box设备1和ECU设备2之间的会话密钥的初始辅助密钥,并且该主密钥能够在一定周期内得到同步更新。
本领域技术人员应能理解上述T_Box设备1和ECU设备2仅为举例,其他现有的或今后可能出现的T_Box设备或ECU设备如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。在此,T_Box设备1和ECU设备2均包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。
具体地,T_Box设备1的第一发送装置11向对应的ECU设备2发送第一信息,其中,该第一信息是由所述T_Box设备1生成的第一随机数与所述车联网系统的主密钥的哈希值进行异或得到。
例如,某出厂的车辆,其T_Box设备1和ECU设备2预先被分配了身份标识信息,如T_Box设备1身份标识ID为T_BOX_ID、若干ECU设备2的身份标识为(ECU-i),以及T_Box设备1和ECU设备2之间网络通信的主密钥a,则T_Box设备1与ECU设备2进行通信时,T_Box设备1的第一发送装置11首先生成第一随机数如nounce_1,然后将该随机数与主密钥a的哈希值进行异或,即可得到第一信息,也即第一信息如用N_1表示,则有N_1=nounce_1⊕hash(a);接着,第一发送装置11通过CAN总线,将该第一信息发送至对应的ECU设备2。
相应地,ECU设备2的第一接收装置21通过CAN总线,接收对应T_Box设备1发送的第一信息,其中,该第一信息是由所述T_Box设备1生成的第一随机数与所述车联网系统的主密钥的哈希值进行异或得到。例如,接上例,ECU设备2的第一接收装置21接收到的第一信息N_1。
第二发送装置22根据所述第一信息、所述主密钥的哈希值,以及所述ECU设备2生成的第二随机数,生成第二信息,并将所述第二信息发送至所述T_Box设备1。
例如,接上例,第二发送装置22首先生成第二随机数如nounce_2;然后,将第一信息N_1与主密钥的哈希值hash(a)进行异或,得到nounce_1_cal,并将该异或值与第二随机数nounce_2进行异或,即得到第二信息,也即第二信息如用N_2表示,则有N_2=nounce_2⊕nounce_1_cal=nounce_2⊕[N_1⊕hash(a)];接着,第二发送装置22通过CAN总线,将该第二信息发送至T_Box设备1。
相应地,T_Box设备1的第二接收装置12接收所述ECU设备2发送的第二信息,其中,所述第二信息由所述第一信息、所述主密钥的哈希值,以及所述ECU设备2生成的第二随机数生成。例如,T_Box设备1的第二接收装置12通过CAN总线,接收到ECU设备2发送的第二信息N_2。
第三发送装置13根据所述第二信息、所述第一随机数和由所述T_Box设备1生成的第三随机数,生成第三信息,并将所述第三信息发送至所述ECU设备2。
例如,第三发送装置13计算第二信息N_2和第一随机数nounce_1的异或值,得到nounce_2_cal,并将nounce_2_cal与生成的第三随机数nounce_3进行异或得到第三信息N_3,也即,N_3=nounce_3⊕nounce_2_cal=nounce_3⊕[N_2⊕nounce_1];然后,第三发送装置13通过CAN总线,将第三信息发送至ECU设备2。
相应地,ECU设备2的第三接收装置23通过CAN总线,接收到所述T_Box设备1发送的第三信息N_3。
T_Box设备1的第一密钥装置14根据所述第二信息和所述第三随机数,以及所述T_Box设备1的身份标识信息与所述ECU设备2的身份标识,生成第一密钥。例如,第一密钥装置14首先通过数据拼接操作,将T_Box设备1的身份标识信息T_BOX_ID、正在与T_Box设备1进行通信的ECU设备2的身份标识(ECU-i)、第三随机数nounce_3、随机数nounce_2_cal进行数据拼接,得到:|T_BOX_ID|ECU-i|nounce_3|nounce_2_cal|;然后,利用哈希算法MD5对该拼接结果进行哈希运算,即可得到第一密钥key_1。
第四发送装置15基于所述第一密钥对待下发指令进行加密,以将经加密的所述指令发送至所述ECU设备2。例如,假设待下发指令为Instruction-1,则第四发送装置15首先利用key_1对该指令进行加密,得到经加密的指令key_1_Instruction-1;然后,通过CAN总线,将经加密的指令key_1_Instruction-1发送给ECU设备2。
相应地,ECU设备2的第四接收装置24通过CAN总线,接收所述T_Box设备1发送的经加密的指令,其中,所述指令经第一密钥加密,所述第一密钥的生成是基于所述第二信息、所述T_Box设备1生成的第三随机数,以及所述T_Box设备1的身份标识信息与所述ECU设备2的身份标识。
第二密钥装置25响应于接收经加密的所述指令,根据所述第三信息和所述第二随机数,以及所述T_Box设备1的身份标识信息与所述ECU设备2的身份标识,生成第二密钥。例如,在第四接收装置24接收到来自T_Box设备1的经加密的指令key_1_Instruction-1之后,第二密钥装置25首先通过数据拼接操作,将正在与ECU设备2进行通信的T_Box设备1的身份标识信息T_BOX_ID、ECU设备2的身份标识(ECU-i)、第三信息和第二随机数的异或值nounce_3_cal=N_3⊕nounce_2、第二随机数nounce_2进行数据拼接,得到:|T_BOX_ID|ECU-i|nounce_3_cal|nounce_2|;然后,利用哈希算法MD5对该拼接结果进行哈希运算,即可得到第一密钥key_2。
第一解密装置26根据所述第二密钥对经加密的所述指令进行解密,以获得所述指令。例如,第一解密装置26利用key_2对经加密的指令key_1_Instruction-1进行解密,以获得相应指令。
在此,本发明中的T-Box设备能够使用协商的安全会话密钥与ECU进行轻量级安全通信。具体的,密钥协商参数使用T-Box与ECU自身固定参数、自身生成的随机数,通过三次交互计算获得最终统一的协商参数,接着使用安全哈希函数作用于最终的协商参数,在这一过程中完成了身份的双向认证和会话密钥的生成,最后利用该会话密钥完成后续的数据通信过程。
在此,本发明中的T_Box设备能够使用协商的安全会话密钥与ECU设备进行轻量级安全通信,解决了现在车联网发展中用户控制命令在“最后一公里”被窃听、截取、伪造和重放的威胁,也实现了T_Box设备与ECU设备之间的双向认证,并进一步降低了任意一方设备被恶意俘获而发送非合法的数据,比如非法ECU节点发送不合理的车辆状态信息给用户,被俘获的T_Box设备被恶意替换,用来执行黑客的指令到车载网络中去等风险。
T_Box设备1和ECU设备2的各个装置之间是持续不断工作的。具体地,T_Box设备1的第一发送装置11持续向对应的ECU设备2发送第一信息,其中,该第一信息是由所述T_Box设备1生成的第一随机数与所述车联网系统的主密钥的哈希值进行异或得到;相应地,ECU设备2的第一接收装置21持续接收对应T_Box设备1发送的第一信息,其中,该第一信息是由所述T_Box设备1生成的第一随机数与所述车联网系统的主密钥的哈希值进行异或得到;第二发送装置22持续根据所述第一信息、所述主密钥的哈希值,以及所述ECU设备2生成的第二随机数,生成第二信息,并将所述第二信息发送至所述T_Box设备1;相应地,T_Box设备1的第二接收装置12持续接收所述ECU设备2发送的第二信息,其中,所述第二信息由所述第一信息、所述主密钥的哈希值,以及所述ECU设备2生成的第二随机数生成;第三发送装置13持续根据所述第二信息、所述第一随机数和由所述T_Box设备1生成的第三随机数,生成第三信息,并将所述第三信息发送至所述ECU设备2;相应地,ECU设备2的第三接收装置23持续接收所述T_Box设备1发送的第三信息;T_Box设备1的第一密钥装置14持续根据所述第二信息和所述第三随机数,以及所述T_Box设备1的身份标识信息与所述ECU设备2的身份标识,生成第一密钥;第四发送装置15持续基于所述第一密钥对待下发指令进行加密,以将经加密的所述指令发送至所述ECU设备2;相应地,ECU设备2的第四接收装置24持续接收所述T_Box设备1发送的经加密的指令,其中,所述指令经第一密钥加密,所述第一密钥的生成是基于所述第二信息、所述T_Box设备1生成的第三随机数,以及所述T_Box设备1的身份标识信息与所述ECU设备2的身份标识;第二密钥装置25持续响应于接收经加密的所述指令,根据所述第三信息和所述第二随机数,以及所述T_Box设备1的身份标识信息与所述ECU设备2的身份标识,生成第二密钥;第一解密装置26持续根据所述第二密钥对经加密的所述指令进行解密,以获得所述指令。在此,本领域技术人员应当理解,所述“持续”是指T_Box设备1和ECU设备2的各装置之间分别不断地进行第一信息的生成与发送、第二信息的生成与发送、第三信息的生成与发送、第一密钥的生成、经第一密钥加密的指令的发送、第二密钥的生成、对指令的解密,直至T_Box设备1在较长时间内停止生成第一信息。
在一个实施例中,T_Box设备1还包括用于更新所述主密钥的装置(以下简称“更新装置”,未示出)。
例如,更新装置可基于接收到的来用户发起的主密钥更新指令,来更新所述主密钥,或者,按周期等方式,自动更新所述主密钥。
在具体实施例中,更新装置还可将更新后的主密钥下发给ECU设备2,下发的过程可按照以上T_Box设备1与ECU设备2之间指令的下发过程进行完成;如果更新成功,则删除原有主密钥,之后利用新的主密钥进行通信;如果失败,则不更新主密钥,通知用户失败。
在一个实施例中(参考图1),其中,T_Box设备1还包括用于向所述ECU设备2发送第一辅助信息和第二辅助信息的装置(以下简称“第五发送装置”,未示出);ECU设备2还包括:用于接收所述T_Box设备1发送的第一辅助信息和第二辅助信息的装置(以下简称“第五接收装置”,未示出);用于根据所述第一辅助信息和所述第二辅助信息,检测是否满足数据完整性的第一触发条件的装置(以下简称“第一检测装置”,未示出);其中,第二发送装置22用于:
-若满足该第一触发条件,根据接收到所述第一辅助信息和所述第二辅助信息的时间信息,进行时间戳验证;
-若验证通过,根据所述第一信息、所述主密钥的哈希值,以及所述ECU设备2生成的第二随机数,生成第二信息,并将所述第二信息发送至所述T_Box设备1。
具体地,T_Box设备1的第五发送装置向所述ECU设备2发送第一辅助信息和第二辅助信息。例如,第五发送装置将T_BOX设备1的身份标识信息(T_BOX_ID)、要通信的ECU设备2的身份标识信息(ECU-i)、当前T_BOX设备1的系统时间(T_BOX_1)和第一发送装置11生成的第一信息N_1通过数据直接拼接来得到第一辅助信息如M_1:|T_BOX_ID|ECU-i|T_BOX_1|N_1|,然后,使用主密钥a对第一辅助信息M_1进行摘要计算,得到第二辅助信息,如M_2;然后,第五发送装置将M_1和M_2发送给ECU设备2。
相应地,ECU设备2的第五接收装置接收所述T_Box设备1发送的第一辅助信息和第二辅助信息。
然后,第一检测装置根据所述第一辅助信息和所述第二辅助信息,检测是否满足数据完整性的第一触发条件,如使用主密钥a对M_1进行摘要计算,将计算结果与M_2进行比较,若相同,则说明满足所述第一触发条件,否则,不满足所述第一触发条件。
接着,若满足该第一触发条件,第二发送装置22首先根据接收到所述第一辅助信息和所述第二辅助信息的时间信息,进行时间戳验证;若验证通过,第二发送装置22根据所述第一信息、所述主密钥的哈希值,以及所述ECU设备2生成的第二随机数,生成第二信息,并将所述第二信息发送至所述T_Box设备1。
例如,假设第一检测装置检测满足所述第一触发条件,则第二发送装置22首先根据接收到所述第一辅助信息和所述第二辅助信息的时间信息,进行时间戳验证,例如,假设第五接收装置接收所述T_Box设备1发送的第一辅助信息和第二辅助信息的时间信息为T_ECU_1,则第二发送装置22根据该时间信息,将在该时间点接收到的第一辅助信息和第二辅助信息发送至T_Box设备1,以由T_Box设备1确认是否正确,若T_Box设备1返回正确的确认结果,则说明验证通过,如果T_Box设备1返回错误的确认结果,则说明验证不通过,也即说明此时受到了重放攻击威胁,ECU设备2可丢弃该数据包,不进行处理;只有验证通过时,第二发送装置22才生成所述第二信息,并将所述第二信息发送至所述T_Box设备1。
在此,本发明通过在ECU设备2端增加数据完整性检测和时间戳验证环节,进一步提高了T_Box设备1与ECU设备2之间通信的安全性,也有利于发现攻击和威胁。
在另一个实施例中(参考图1),其中,ECU设备2还包括用于向所述T_Box设备1发送第三辅助信息和第四辅助信息的装置(以下简称“第六发送装置”,未示出);T_Box设备1还包括:用于接收所述ECU设备所发送的第三辅助信息和第四辅助信息的装置(以下简称“第六接收装置”,未示出);用于根据所述第三辅助信息和所述第四辅助信息,检测是否满足数据完整性的第二触发条件的装置(以下简称“第二检测装置”,未示出);其中,第三发送装置13用于:
-若满足该第二触发条件,根据接收到所述第三辅助信息和所述第四辅助信息的时间信息,进行时间戳验证;
-若验证通过,根据所述第二信息生成第三信息,并将所述第三信息发送至所述ECU设备2。
具体地,ECU设备2的第六发送装置向所述T_Box设备1发送第三辅助信息和第四辅助信息。例如,第六发送装置将T_Box设备1的身份标识信息(T_BOX_ID)、ECU设备2的身份标识信息(ECU-i)、当前ECU设备2的系统时间(T_ECU_2)和第二发送装置22生成的第二信息N_2进行数据直接拼接来得到第三辅助信息如M_3:|T_BOX_ID|ECU-i|T_ECU_2|N_2|,然后,使用主密钥a对第三辅助信息M_3进行摘要计算,得到第四辅助信息,如M_4;然后,第六发送装置将M_3和M_4发送给T_Box设备1。
相应地,T_Box设备1的第六接收装置接收所述ECU设备2所发送的第三辅助信息和第四辅助信息。
然后,第二检测装置根据所述第三辅助信息和所述第四辅助信息,检测是否满足数据完整性的第二触发条件,如使用主密钥a对M_3进行摘要计算,将计算结果与M_4进行比较,若相同,则说明满足所述第二触发条件,否则,不满足所述第二触发条件。
若满足该第二触发条件,第三发送装置13首先根据接收到所述第三辅助信息和所述第四辅助信息的时间信息,进行时间戳验证;若验证通过,根据所述第二信息生成第三信息,并将所述第三信息发送至所述ECU设备2。
例如,假设第二检测装置检测满足所述第二触发条件,第三发送装置13首先根据接收到所述第三辅助信息和所述第四辅助信息的时间信息,进行时间戳验证,假设第六接收装置接收ECU设备2发送的第三辅助信息和第四辅助信息的时间信息为T_BOX_2,则第三发送装置13根据该时间信息,将在该时间点接收到的第三辅助信息和第四辅助信息发送至ECU设备2,以由ECU设备2确认是否正确,若ECU设备2返回正确的确认结果,则说明验证通过,如果ECU设备2返回错误的确认结果,则说明验证不通过,也即说明此时受到了重放攻击威胁,T_Box设备1可丢弃该数据包,不进行处理;只有验证通过时,第三发送装置13才生成所述第三信息,并将所述第三信息发送至ECU设备2。
在此,本发明在T_Box设备1端通过增加数据完整性检测和时间戳验证环节,更进一步提高了T_Box设备1与ECU设备2之间通信的安全性,也有利于发现攻击和威胁。
在还一个实施例中(参考图1),其中,T_Box设备1的第四发送装置15还用于向所述ECU设备2发送第五辅助信息和第六辅助信息;ECU设备2还包括:用于接收所述T_Box设备1发送的第五辅助信息和第六辅助信息的装置(以下简称“第七接收装置”,未示出);用于根据接收到所述第五辅助信息和所述第六辅助信息的时间信息,进行时间戳验证的装置(以下简称“第一验证装置”,未示出);
其中,第二密钥装置25用于:
若验证通过,响应于接收所述T_Box设备所发送的所述指令,根据所述第三信息和所述第二随机数,以及所述T_Box设备的身份标识信息与所述ECU设备的身份标识,生成第二密钥。
具体地,T_Box设备1的第四发送装置15还用于向所述ECU设备2发送第五辅助信息和第六辅助信息。例如,第四发送装置15将加密后的指令(key_1_Instruction-1)、ECU设备2的身份标识信息(ECU-i)、第三随机数N_3以及当前T_Box设备1的系统时间(T_BOX_3)进行数据拼接得到第五辅助信息M_5:|T_BOX_ID||ECU-i|T_BOX_3|N_3|key_1_Instruction-1|;然后,使用第一密钥key_1对M_5进行摘要计算得到M_6,并将M_5和M_6发送给ECU设备2。
相应地,ECU设备2的第七接收装置接收所述T_Box设备1发送的第五辅助信息和第六辅助信息。
接着,第一验证装置根据接收到所述第五辅助信息和所述第六辅助信息的时间信息,进行时间戳验证。例如,假设第七接收装置接收到所述T_Box设备1发送的第五辅助信息和第六辅助信息的时间信息为T_ECU_3,则第一验证装置根据接收到所述第五辅助信息和所述第六辅助信息的时间信息,进行时间戳验证,将在该时间点接收到的第五辅助信息和第六辅助信息发送至T_Box设备1,以由T_Box设备1确认是否正确,若T_Box设备1返回正确的确认结果,则说明验证通过,如果T_Box设备1返回错误的确认结果,则说明验证不通过,也即说明此时受到了重放攻击威胁,ECU设备2可丢弃该数据包,不进行处理。
若验证通过,第二密钥装置25响应于接收所述T_Box设备所发送的所述指令,根据所述第三信息和所述第二随机数,以及所述T_Box设备的身份标识信息与所述ECU设备的身份标识,生成第二密钥。
在此,本发明通过在ECU设备2端继续增加时间戳验证环节,进一步提高了T_Box设备1与ECU设备2之间通信的安全性,也有利于发现攻击和威胁。
在又一个实施例中(参考图1),其中,所述ECU设备2获得所述指令之后,该ECU设备2还包括:用于检测是否满足删除所述第二密钥及所述第二随机数的第四触发条件的装置(以下简称“第三检测装置”,未示出);若不满足该第四触发条件,用于根据所述第二密钥将返回数据进行加密,以将经加密的所述返回数据发送至所述T_Box设备1的装置(以下简称“第八发送装置”,未示出)。T_Box设备1还包括:用于接收所述ECU设备2发送的经加密的返回数据的装置(以下简称“第八接收装置”,未示出),其中,所述返回数据经第二密钥加密;用于根据所述第一密钥对接收到的经加密的所述返回数据进行解密,以获得所述返回数据的装置(以下简称“第二解密装置”,未示出)。
具体地,ECU设备2获得所述指令之后,开始进行相应动作执行,如果不需要数据返回至T_Box设备1,或者,在执行完指令后,在一段时间之内没有指令下发,则第三检测装置可判断满足所述第四触发条件,key_2和第二随机数nounce_2被删除。
若不满足该第四触发条件,第八发送装置根据所述第二密钥将返回数据进行加密,以将经加密的所述返回数据发送至所述T_Box设备。例如,若需要数据返回至T_Box设备1,则第八发送装置利用key_2将返回数据进行加密,以将经加密的所述返回数据发送至T_Box设备。
相应地,T_Box设备1的第八接收装置接收所述ECU设备2发送的经加密的返回数据。
第二解密装置根据第一密钥key_1对接收到的经加密的所述返回数据进行解密,以获得所述返回数据。
优选地,所述T_Box设备1获得所述返回数据之后,若没有指令继续发送给所述ECU设备2,该T_Box设备1还包括将所述第一密钥、所述第一随机数和所述第三随机数删除的装置(以下简称“删除装置”,未示出)。
例如,T_Box设备1获得所述返回数据之后,若没有指令继续发送给所述ECU设备2,删除装置将第一密钥key_1、第一随机数nounce_1和第三随机数nounce_3删除。
优选地,第八发送装置还用于向所述T_Box设备1发送第七辅助信息和第八辅助信息;其中,T_Box设备1的第八接收装置还用于接收所述ECU设备2发送的第七辅助信息和第八辅助信息,其中,第二解密装置用于:
-根据接收到所述第七辅助信息和所述第八辅助信息的时间信息,进行时间戳验证;
-若验证通过,根据所述第一密钥、所述第七辅助信息和所述第八辅助信息,检测是否满足数据完整性的第五触发条件;
-若满足该第五触发条件,根据所述第一密钥对接收到的经加密的所述返回数据进行解密,以获得所述返回数据。
具体地,ECU设备2获得所述指令之后,若不满足所述第四触发条件,如需要数据返回至T_Box设备1,第八发送装置首先将经加密后的返回数据、ECU设备2的身份标识信息(ECU-i)和ECU设备2的当前系统时刻(T_ECU_4)直接数据拼接得到第七辅助信息M_7:,并利用第二密钥key_2对M_7进行摘要计算得到第八辅助信息M_8,然后将M_7和M_8发送给T_Box设备1。
相应地,T_Box设备1的第八接收装置还用于接收所述ECU设备2发送的第七辅助信息和第八辅助信息。
然后,T_Box设备1的第二解密装置首先根据接收到所述第七辅助信息和所述第八辅助信息的时间信息,进行时间戳验证,在此,时间戳验证方式与前述时间戳验证方式相同或近似,为简明起见,故在此不再赘述;若验证通过,第二解密装置再根据所述第一密钥、所述第七辅助信息和所述第八辅助信息,检测是否满足数据完整性的第五触发条件,如使用第一密钥key_1对M_7进行摘要计算,将计算结果与M_8进行比较,若相同,则说明满足该第五触发条件,否则,不满足该第五触发条件;若满足该第五触发条件,第二解密装置根据第一密钥key_1对接收到的经加密的所述返回数据进行解密,以获得所述返回数据。
图2示出根据本发明另一个方面的一种车联网系统中T_Box设备与ECU设备进行安全通信的方法流程图。
其中,该方法包括步骤S1、步骤S2、步骤S3、步骤S4、步骤S5、步骤S6和步骤S7。
具体地,在步骤S1中,T_Box设备1向对应的ECU设备2发送第一信息,其中,该第一信息是由所述T_Box设备1生成的第一随机数与所述车联网系统的主密钥的哈希值进行异或得到;相应地,ECU设备2接收对应T_Box设备1发送的第一信息其中,该第一信息是由所述T_Box设备1生成的第一随机数与所述车联网系统的主密钥的哈希值进行异或得到;在步骤S2中,ECU设备2根据所述第一信息、所述主密钥的哈希值,以及所述ECU设备2生成的第二随机数,生成第二信息,并将所述第二信息发送至所述T_Box设备1;相应地,T_Box设备1接收所述ECU设备2发送的第二信息,其中,所述第二信息由所述第一信息、所述主密钥的哈希值,以及所述ECU设备2生成的第二随机数生成;在步骤S3中,T_Box设备1根据所述第二信息、所述第一随机数和由所述T_Box设备1生成的第三随机数,生成第三信息,并将所述第三信息发送至所述ECU设备2;相应地,接收所述T_Box设备1发送的第三信息;在步骤S4中,T_Box设备1根据所述第二信息和所述第三随机数,以及所述T_Box设备1的身份标识信息与所述ECU设备2的身份标识,生成第一密钥;在步骤S5中,T_Box设备1基于所述第一密钥对待下发指令进行加密,以将经加密的所述指令发送至所述ECU设备2;相应地,ECU设备2接收所述T_Box设备1发送的经加密的指令,其中,所述指令经第一密钥加密,所述第一密钥的生成是基于所述第二信息、所述T_Box设备1生成的第三随机数,以及所述T_Box设备1的身份标识信息与所述ECU设备2的身份标识;在步骤S6中,ECU设备2响应于接收经加密的所述指令,根据所述第三信息和所述第二随机数,以及所述T_Box设备1的身份标识信息与所述ECU设备2的身份标识,生成第二密钥;在步骤S7中,ECU设备2根据所述第二密钥对经加密的所述指令进行解密,以获得所述指令。
在此,T_Box设备1是指车辆上主要用于和后台系统/手机APP通信,实现手机APP的车辆信息显示与控制的车载信息终端,如实现对车辆的运行数据、位置数据进行管理,提供包含诸如实时监控(地图、图表)、数据回放、轨迹回放、远程诊断等功能,并能够用来交换车内ECU设备的数据信息和车外的数据信息。
在此,ECU设备2是指车辆的专用微机控制器,其通常由微处理器(CPU)、存储器(ROM、、RAM)、输入/输出接口(I/O)、模数转换器(A/D)以及整形、驱动等大规模集成电路组成,可被称为“行车电脑”、“车载电脑”等。
在此,车辆出厂前可对其T_Box设备1和ECU设备2进行预先分配身份标识信息,包括1个T_Box设备1身份标识ID(如T_BOX_ID)、若干ECU设备2的身份标识ID(如ECU-i),以及T_Box设备1和ECU设备2之间网络通信的主密钥。在具体实施例中,T_Box设备1和ECU设备2可采用CAN总线进行通信。在此,所述主密钥是指T_Box设备1和ECU设备2之间共享的密钥,可作为生成T_Box设备1和ECU设备2之间的会话密钥的初始辅助密钥,并且该主密钥能够在一定周期内得到同步更新。
本领域技术人员应能理解上述T_Box设备1和ECU设备2仅为举例,其他现有的或今后可能出现的T_Box设备或ECU设备如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。在此,T_Box设备1和ECU设备2均包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。
具体地,在步骤S1中,T_Box设备1向对应的ECU设备2发送第一信息,其中,该第一信息是由所述T_Box设备1生成的第一随机数与所述车联网系统的主密钥的哈希值进行异或得到。
例如,某出厂的车辆,其T_Box设备1和ECU设备2预先被分配了身份标识信息,如T_Box设备1身份标识ID为T_BOX_ID、若干ECU设备2的身份标识为(ECU-i),以及T_Box设备1和ECU设备2之间网络通信的主密钥a,则T_Box设备1与ECU设备2进行通信时,在步骤S1中,T_Box设备1首先生成第一随机数如nounce_1,然后将该随机数与主密钥a的哈希值进行异或,即可得到第一信息,也即第一信息如用N_1表示,则有N_1=nounce_1⊕hash(a);接着,在步骤S1中,T_Box设备1通过CAN总线,将该第一信息发送至对应的ECU设备2。
相应地,ECU设备2通过CAN总线,接收对应T_Box设备1发送的第一信息,其中,该第一信息是由所述T_Box设备1生成的第一随机数与所述车联网系统的主密钥的哈希值进行异或得到。例如,接上例,在步骤S1中,ECU设备2接收到的第一信息N_1。
在步骤S2中,ECU设备2根据所述第一信息、所述主密钥的哈希值,以及所述ECU设备2生成的第二随机数,生成第二信息,并将所述第二信息发送至所述T_Box设备1。
例如,接上例,在步骤S2中,ECU设备2首先生成第二随机数如nounce_2;然后,将第一信息N_1与主密钥的哈希值hash(a)进行异或,得到nounce_1_cal,并将该异或值与第二随机数nounce_2进行异或,即得到第二信息,也即第二信息如用N_2表示,则有N_2=nounce_2⊕nounce_1_cal=nounce_2⊕[N_1⊕hash(a)];接着,在步骤S2中,ECU设备2通过CAN总线,将该第二信息发送至T_Box设备1。
相应地,T_Box设备1接收所述ECU设备2发送的第二信息,其中,所述第二信息由所述第一信息、所述主密钥的哈希值,以及所述ECU设备2生成的第二随机数生成。例如,在步骤S2中,T_Box设备1通过CAN总线,接收到ECU设备2发送的第二信息N_2。
在步骤S3中,T_Box设备1根据所述第二信息、所述第一随机数和由所述T_Box设备1生成的第三随机数,生成第三信息,并将所述第三信息发送至所述ECU设备2。
例如,在步骤S3中,T_Box设备1计算第二信息N_2和第一随机数nounce_1的异或值,得到nounce_2_cal,并将nounce_2_cal与生成的第三随机数nounce_3进行异或得到第三信息N_3,也即,N_3=nounce_3⊕nounce_2_cal=nounce_3⊕[N_2⊕nounce_1];然后,在步骤S3中,T_Box设备1通过CAN总线,将第三信息发送至ECU设备2。
相应地,ECU设备2通过CAN总线,接收到所述T_Box设备1发送的第三信息N_3。
在步骤S4中,T_Box设备1根据所述第二信息和所述第三随机数,以及所述T_Box设备1的身份标识信息与所述ECU设备2的身份标识,生成第一密钥。例如,在步骤S4中,T_Box设备1首先通过数据拼接操作,将T_Box设备1的身份标识信息T_BOX_ID、正在与T_Box设备1进行通信的ECU设备2的身份标识(ECU-i)、第三随机数nounce_3、随机数nounce_2_cal进行数据拼接,得到:|T_BOX_ID|ECU-i|nounce_3|nounce_2_cal|;然后,利用哈希算法MD5对该拼接结果进行哈希运算,即可得到第一密钥key_1。
在步骤S5中,T_Box设备1基于所述第一密钥对待下发指令进行加密,以将经加密的所述指令发送至所述ECU设备2。例如,假设待下发指令为Instruction-1,则在步骤S5中,T_Box设备1首先利用key_1对该指令进行加密,得到经加密的指令key_1_Instruction-1;然后,通过CAN总线,将经加密的指令key_1_Instruction-1发送给ECU设备2。
相应地,ECU设备2通过CAN总线,接收所述T_Box设备1发送的经加密的指令,其中,所述指令经第一密钥加密,所述第一密钥的生成是基于所述第二信息、所述T_Box设备1生成的第三随机数,以及所述T_Box设备1的身份标识信息与所述ECU设备2的身份标识。
在步骤S6中,ECU设备2响应于接收经加密的所述指令,根据所述第三信息和所述第二随机数,以及所述T_Box设备1的身份标识信息与所述ECU设备2的身份标识,生成第二密钥。例如,在步骤S5中,ECU设备2接收到来自T_Box设备1的经加密的指令key_1_Instruction-1之后,在步骤S6中,ECU设备2首先通过数据拼接操作,将正在与ECU设备2进行通信的T_Box设备1的身份标识信息T_BOX_ID、ECU设备2的身份标识(ECU-i)、第三信息和第二随机数的异或值nounce_3_cal=N_3⊕nounce_2、第二随机数nounce_2进行数据拼接,得到:|T_BOX_ID|ECU-i|nounce_3_cal|nounce_2|;然后,利用哈希算法MD5对该拼接结果进行哈希运算,即可得到第一密钥key_2。
在步骤S7中,ECU设备2根据所述第二密钥对经加密的所述指令进行解密,以获得所述指令。例如,在步骤S7中,ECU设备2利用key_2对经加密的指令key_1_Instruction-1进行解密,以获得相应指令。
在此,本发明中的T-Box设备能够使用协商的安全会话密钥与ECU进行轻量级安全通信。具体的,密钥协商参数使用T-Box与ECU自身固定参数、自身生成的随机数,通过三次交互计算获得最终统一的协商参数,接着使用安全哈希函数作用于最终的协商参数,在这一过程中完成了身份的双向认证和会话密钥的生成,最后利用该会话密钥完成后续的数据通信过程。
在此,本发明中的T_Box设备能够使用协商的安全会话密钥与ECU设备进行轻量级安全通信,解决了现在车联网发展中用户控制命令在“最后一公里”被窃听、截取、伪造和重放的威胁,也实现了T_Box设备与ECU设备之间的双向认证,并进一步降低了任意一方设备被恶意俘获而发送非合法的数据,比如非法ECU节点发送不合理的车辆状态信息给用户,被俘获的T_Box设备被恶意替换,用来执行黑客的指令到车载网络中去等风险。
T_Box设备1和ECU设备2的各个步骤之间是持续不断工作的。具体地,在步骤S1中,T_Box设备1持续向对应的ECU设备2发送第一信息,其中,该第一信息是由所述T_Box设备1生成的第一随机数与所述车联网系统的主密钥的哈希值进行异或得到;相应地,ECU设备2持续接收对应T_Box设备1发送的第一信息,其中,该第一信息是由所述T_Box设备1生成的第一随机数与所述车联网系统的主密钥的哈希值进行异或得到;在步骤S2中,ECU设备2持续根据所述第一信息、所述主密钥的哈希值,以及所述ECU设备2生成的第二随机数,生成第二信息,并将所述第二信息发送至所述T_Box设备1;相应地,T_Box设备1的持续接收所述ECU设备2发送的第二信息,其中,所述第二信息由所述第一信息、所述主密钥的哈希值,以及所述ECU设备2生成的第二随机数生成;在步骤S3中,T_Box设备1持续根据所述第二信息、所述第一随机数和由所述T_Box设备1生成的第三随机数,生成第三信息,并将所述第三信息发送至所述ECU设备2;相应地,ECU设备2持续接收所述T_Box设备1发送的第三信息;在步骤S4中,T_Box设备1持续根据所述第二信息和所述第三随机数,以及所述T_Box设备1的身份标识信息与所述ECU设备2的身份标识,生成第一密钥;在步骤S5中,T_Box设备1持续基于所述第一密钥对待下发指令进行加密,以将经加密的所述指令发送至所述ECU设备2;相应地,ECU设备2持续接收所述T_Box设备1发送的经加密的指令,其中,所述指令经第一密钥加密,所述第一密钥的生成是基于所述第二信息、所述T_Box设备1生成的第三随机数,以及所述T_Box设备1的身份标识信息与所述ECU设备2的身份标识;在步骤S6中,ECU设备2持续响应于接收经加密的所述指令,根据所述第三信息和所述第二随机数,以及所述T_Box设备1的身份标识信息与所述ECU设备2的身份标识,生成第二密钥;在步骤S7中,ECU设备2持续根据所述第二密钥对经加密的所述指令进行解密,以获得所述指令。在此,本领域技术人员应当理解,所述“持续”是指T_Box设备1和ECU设备2的各步骤之间分别不断地进行第一信息的生成与发送、第二信息的生成与发送、第三信息的生成与发送、第一密钥的生成、经第一密钥加密的指令的发送、第二密钥的生成、对指令的解密,直至T_Box设备1在较长时间内停止生成第一信息。
在一个实施例中,该方法还包括步骤S8(未示出)。具体地,在步骤S8中,T_Box设备1更新所述主密钥。
例如,在步骤S8中,T_Box设备1可基于接收到的来用户发起的主密钥更新指令,来更新所述主密钥,或者,按周期等方式,自动更新所述主密钥。
在具体实施例中,在步骤S8中,T_Box设备1还可将更新后的主密钥下发给ECU设备2,下发的过程可按照以上T_Box设备1与ECU设备2之间指令的下发过程进行完成;如果更新成功,则删除原有主密钥,之后利用新的主密钥进行通信;如果失败,则不更新主密钥,通知用户失败。
在一个实施例中(参考图2),其中,该方法还包括步骤S9(未示出)和步骤S10(未示出)。具体地,在步骤S9中,T_Box设备1向所述ECU设备2发送第一辅助信息和第二辅助信息;相应地,ECU设备2接收所述T_Box设备1发送的第一辅助信息和第二辅助信息;在步骤S10中,ECU设备2根据所述第一辅助信息和所述第二辅助信息,检测是否满足数据完整性的第一触发条件;其中,在步骤S2中,ECU设备2用于:
-若满足该第一触发条件,根据接收到所述第一辅助信息和所述第二辅助信息的时间信息,进行时间戳验证;
-若验证通过,根据所述第一信息、所述主密钥的哈希值,以及所述ECU设备2生成的第二随机数,生成第二信息,并将所述第二信息发送至所述T_Box设备1。
具体地,在步骤S9中,T_Box设备1向所述ECU设备2发送第一辅助信息和第二辅助信息。例如,在步骤S9中,T_Box设备1将T_Box设备1的身份标识信息(T_BOX_ID)、要通信的ECU设备2的身份标识信息(ECU-i)、当前T_Box设备1的系统时间(T_BOX_1)和在步骤S1中T_Box设备1生成的第一信息N_1通过数据直接拼接来得到第一辅助信息如M_1:|T_BOX_ID|ECU-i|T_BOX_1|N_1|,然后,使用主密钥a对第一辅助信息M_1进行摘要计算,得到第二辅助信息,如M_2;然后,第五发送装置将M_1和M_2发送给ECU设备2。
相应地,ECU设备2接收所述T_Box设备1发送的第一辅助信息和第二辅助信息。
然后,在步骤S10中,ECU设备2根据所述第一辅助信息和所述第二辅助信息,检测是否满足数据完整性的第一触发条件,如使用主密钥a对M_1进行摘要计算,将计算结果与M_2进行比较,若相同,则说明满足所述第一触发条件,否则,不满足所述第一触发条件。
接着,若满足该第一触发条件,在步骤S2中,ECU设备2首先根据接收到所述第一辅助信息和所述第二辅助信息的时间信息,进行时间戳验证;若验证通过,在步骤S2中,ECU设备2根据所述第一信息、所述主密钥的哈希值,以及所述ECU设备2生成的第二随机数,生成第二信息,并将所述第二信息发送至所述T_Box设备1。
例如,假设在步骤S10中,ECU设备2检测满足所述第一触发条件,则在步骤S2中,ECU设备2首先根据接收到所述第一辅助信息和所述第二辅助信息的时间信息,进行时间戳验证,例如,假设在步骤S9中,ECU设备2接收所述T_Box设备1发送的第一辅助信息和第二辅助信息的时间信息为T_ECU_1,则在步骤S2中,ECU设备2根据该时间信息,将在该时间点接收到的第一辅助信息和第二辅助信息发送至T_Box设备1,以由T_Box设备1确认是否正确,若T_Box设备1返回正确的确认结果,则说明验证通过,如果T_Box设备1返回错误的确认结果,则说明验证不通过,也即说明此时受到了重放攻击威胁,ECU设备2可丢弃该数据包,不进行处理;只有验证通过时,在步骤S2中,ECU设备2才生成所述第二信息,并将所述第二信息发送至所述T_Box设备1。
在此,本发明通过在ECU设备2端增加数据完整性检测和时间戳验证环节,进一步提高了T_Box设备1与ECU设备2之间通信的安全性,也有利于发现攻击和威胁。
在另一个实施例中(参考图2),其中,该方法还包括步骤S11(未示出)和步骤S12(未示出)。具体地,在步骤S11中,ECU设备2向所述T_Box设备1发送第三辅助信息和第四辅助信息;相应地,T_Box设备1接收所述ECU设备所发送的第三辅助信息和第四辅助信息;在步骤S12中,T_Box设备1根据所述第三辅助信息和所述第四辅助信息,检测是否满足数据完整性的第二触发条件;其中,在步骤S3中,T_Box设备1用于:
-若满足该第二触发条件,根据接收到所述第三辅助信息和所述第四辅助信息的时间信息,进行时间戳验证;
-若验证通过,根据所述第二信息生成第三信息,并将所述第三信息发送至所述ECU设备2。
具体地,在步骤S11中,ECU设备2向所述T_Box设备1发送第三辅助信息和第四辅助信息。例如,在步骤S11中,ECU设备2将T_Box设备1的身份标识信息(T_BOX_ID)、ECU设备2的身份标识信息(ECU-i)、当前ECU设备2的系统时间(T_ECU_2)和其在步骤S2中生成的第二信息N_2进行数据直接拼接来得到第三辅助信息如M_3:|T_BOX_ID|ECU-i|T_ECU_2|N_2|,然后,使用主密钥a对第三辅助信息M_3进行摘要计算,得到第四辅助信息,如M_4;然后,ECU设备2将M_3和M_4发送给T_Box设备1。
相应地,T_Box设备1接收所述ECU设备2所发送的第三辅助信息和第四辅助信息。
然后,在步骤S12中,T_Box设备1根据所述第三辅助信息和所述第四辅助信息,检测是否满足数据完整性的第二触发条件,如使用主密钥a对M_3进行摘要计算,将计算结果与M_4进行比较,若相同,则说明满足所述第二触发条件,否则,不满足所述第二触发条件。
若满足该第二触发条件,在步骤S3中,T_Box设备1首先根据接收到所述第三辅助信息和所述第四辅助信息的时间信息,进行时间戳验证;若验证通过,根据所述第二信息生成第三信息,并将所述第三信息发送至所述ECU设备2。
例如,假设在步骤S12中,T_Box设备1检测满足所述第二触发条件,在步骤S3中,T_Box设备1首先根据接收到所述第三辅助信息和所述第四辅助信息的时间信息,进行时间戳验证,假设在步骤S12中,T_Box设备1接收ECU设备2发送的第三辅助信息和第四辅助信息的时间信息为T_BOX_2,则在步骤S3中,T_Box设备1根据该时间信息,将在该时间点接收到的第三辅助信息和第四辅助信息发送至ECU设备2,以由ECU设备2确认是否正确,若ECU设备2返回正确的确认结果,则说明验证通过,如果ECU设备2返回错误的确认结果,则说明验证不通过,也即说明此时受到了重放攻击威胁,T_Box设备1可丢弃该数据包,不进行处理;只有验证通过时,在步骤S3中,T_Box设备1才生成所述第三信息,并将所述第三信息发送至ECU设备2。
在此,本发明在T_Box设备1端通过增加数据完整性检测和时间戳验证环节,更进一步提高了T_Box设备1与ECU设备2之间通信的安全性,也有利于发现攻击和威胁。
在还一个实施例中(参考图2),其中,该方法还包括步骤13(未示出),其在,在步骤S5中,T_Box设备1还向所述ECU设备2发送第五辅助信息和第六辅助信息;相应地,ECU设备2还接收所述T_Box设备1发送的第五辅助信息和第六辅助信息;在步骤S13中,ECU设备2根据接收到所述第五辅助信息和所述第六辅助信息的时间信息,进行时间戳验证;
其中,在步骤S6中,ECU设备2:
若验证通过,响应于接收所述T_Box设备所发送的所述指令,根据所述第三信息和所述第二随机数,以及所述T_Box设备的身份标识信息与所述ECU设备的身份标识,生成第二密钥。
具体地,在步骤S5中,T_Box设备1还向所述ECU设备2发送第五辅助信息和第六辅助信息。例如,在步骤S5中,T_Box设备1将加密后的指令(key_1_Instruction-1)、ECU设备2的身份标识信息(ECU-i)、第三随机数N_3以及当前T_BOX设备1的系统时间(T_BOX_3)进行数据拼接得到第五辅助信息M_5:|T_BOX_ID||ECU-i|T_BOX_3|N_3|key_1_Instruction-1|;然后,使用第一密钥key_1对M_5进行摘要计算得到M_6,并将M_5和M_6发送给ECU设备2。
相应地,ECU设备2接收所述T_Box设备1发送的第五辅助信息和第六辅助信息。
接着,在步骤S13中,ECU设备2根据接收到所述第五辅助信息和所述第六辅助信息的时间信息,进行时间戳验证。例如,假设在步骤S5中,ECU设备2接收到所述T_Box设备1发送的第五辅助信息和第六辅助信息的时间信息为T_ECU_3,则在步骤S13中,ECU设备2根据接收到所述第五辅助信息和所述第六辅助信息的时间信息,进行时间戳验证,将在该时间点接收到的第五辅助信息和第六辅助信息发送至T_Box设备1,以由T_Box设备1确认是否正确,若T_Box设备1返回正确的确认结果,则说明验证通过,如果T_Box设备1返回错误的确认结果,则说明验证不通过,也即说明此时受到了重放攻击威胁,ECU设备2可丢弃该数据包,不进行处理。
若验证通过,在步骤S6中,ECU设备2响应于接收所述T_Box设备所发送的所述指令,根据所述第三信息和所述第二随机数,以及所述T_Box设备的身份标识信息与所述ECU设备的身份标识,生成第二密钥。
在此,本发明通过在ECU设备2端继续增加时间戳验证环节,进一步提高了T_Box设备1与ECU设备2之间通信的安全性,也有利于发现攻击和威胁。
在又一个实施例中(参考图2),其中,所述ECU设备2获得所述指令之后,该方法还包括步骤S14(未示出)、步骤S15(未示出)和步骤S16(未示出)。具体地,在步骤S14中,ECU设备2检测是否满足删除所述第二密钥及所述第二随机数的第四触发条件;若不满足该第四触发条件,在步骤S15中,ECU设备2根据所述第二密钥将返回数据进行加密,以将经加密的所述返回数据发送至所述T_Box设备1;相应地,T_Box设备1接收所述ECU设备2发送的经加密的返回数据,其中,所述返回数据经第二密钥加密;在步骤S16中,T_Box设备1根据所述第一密钥对接收到的经加密的所述返回数据进行解密,以获得所述返回数据。
具体地,ECU设备2获得所述指令之后,开始进行相应动作执行,如果不需要数据返回至T_Box设备1,或者,在执行完指令后,在一段时间之内没有指令下发,则在步骤S14中,ECU设备2可判断满足所述第四触发条件,key_2和第二随机数nounce_2被删除。
若不满足该第四触发条件,在步骤S15中,ECU设备2根据所述第二密钥将返回数据进行加密,以将经加密的所述返回数据发送至所述T_Box设备。例如,若需要数据返回至T_Box设备1,则在步骤S15中,ECU设备2利用key_2将返回数据进行加密,以将经加密的所述返回数据发送至T_Box设备。
相应地,T_Box设备1接收所述ECU设备2发送的经加密的返回数据。
在步骤S16中,T_Box设备1根据第一密钥key_1对接收到的经加密的所述返回数据进行解密,以获得所述返回数据。
优选地,所述T_Box设备1获得所述返回数据之后,若没有指令继续发送给所述ECU设备2,该方法还包括步骤S17(未示出)。具体地,在步骤S17中,T_Box设备1将所述第一密钥、所述第一随机数和所述第三随机数删除。
例如,T_Box设备1获得所述返回数据之后,若没有指令继续发送给所述ECU设备2,在步骤S17中,T_Box设备1将第一密钥key_1、第一随机数nounce_1和第三随机数nounce_3删除。
优选地,在步骤S15中,ECU设备2还用于向所述T_Box设备1发送第七辅助信息和第八辅助信息;相应地,T_Box设备1还接收所述ECU设备2发送的第七辅助信息和第八辅助信息,其中,在步骤S16中,T_Box设备1用于:
-根据接收到所述第七辅助信息和所述第八辅助信息的时间信息,进行时间戳验证;
-若验证通过,根据所述第一密钥、所述第七辅助信息和所述第八辅助信息,检测是否满足数据完整性的第五触发条件;
-若满足该第五触发条件,根据所述第一密钥对接收到的经加密的所述返回数据进行解密,以获得所述返回数据。
具体地,ECU设备2获得所述指令之后,若不满足所述第四触发条件,如需要数据返回至T_Box设备1,在步骤S15中,ECU设备2首先将经加密后的返回数据、ECU设备2的身份标识信息(ECU-i)和ECU设备2的当前系统时刻(T_ECU_4)直接数据拼接得到第七辅助信息M_7:,并利用第二密钥key_2对M_7进行摘要计算得到第八辅助信息M_8,然后将M_7和M_8发送给T_Box设备1。
相应地,T_Box设备1还接收所述ECU设备2发送的第七辅助信息和第八辅助信息。
然后,在步骤S16中,T_Box设备1首先根据接收到所述第七辅助信息和所述第八辅助信息的时间信息,进行时间戳验证,在此,时间戳验证方式与前述时间戳验证方式相同或近似,为简明起见,故在此不再赘述;若验证通过,在步骤S16中,T_Box设备1再根据所述第一密钥、所述第七辅助信息和所述第八辅助信息,检测是否满足数据完整性的第五触发条件,如使用第一密钥key_1对M_7进行摘要计算,将计算结果与M_8进行比较,若相同,则说明满足该第五触发条件,否则,不满足该第五触发条件;若满足该第五触发条件,在步骤S16中,T_Box设备1根据第一密钥key_1对接收到的经加密的所述返回数据进行解密,以获得所述返回数据。
需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

Claims (20)

1.一种车联网系统中T_Box设备与ECU设备进行安全通信的方法,其中,该方法包括:
T_Box设备向对应的ECU设备发送第一信息,其中,该第一信息是由所述T_Box设备生成的第一随机数与所述车联网系统的主密钥的哈希值进行异或得到;
所述ECU设备根据所述第一信息、所述主密钥的哈希值,以及所述ECU设备生成的第二随机数,生成第二信息,并将所述第二信息发送至所述T_Box设备;
所述T_Box设备根据所述第二信息、所述第一随机数和由所述T_Box设备生成的第三随机数,生成第三信息,并将所述第三信息发送至所述ECU设备;
所述T_Box设备根据所述第二信息和所述第三随机数,以及所述T_Box设备的身份标识信息与所述ECU设备的身份标识,生成第一密钥;
所述T_Box设备基于所述第一密钥对待下发指令进行加密,以将经加密的所述指令发送至所述ECU设备;
所述ECU设备响应于接收所述T_Box设备所发送的经加密的所述指令,根据所述第三信息和所述第二随机数,以及所述T_Box设备的身份标识信息与所述ECU设备的身份标识,生成第二密钥;
所述ECU设备根据所述第二密钥对经加密的所述指令进行解密,以获得所述指令。
2.根据权利要求1所述的方法,其中,该方法还包括:
所述T_Box设备向所述ECU设备发送第一辅助信息和第二辅助信息;
所述ECU设备根据所述第一辅助信息和所述第二辅助信息,检测是否满足数据完整性的第一触发条件;
其中,所述ECU设备生成所述第二信息并将所述第二信息发送至所述T_Box设备包括:
- 若满足该第一触发条件,所述ECU设备根据接收到所述第一辅助信息和所述第二辅助信息的时间信息,进行时间戳验证;
- 若验证通过,所述ECU设备根据所述第一信息、所述主密钥的哈希值,以及所述ECU设备生成的第二随机数,生成第二信息,并将所述第二信息发送至所述T_Box设备。
3.根据权利要求1或2所述的方法,其中,该方法还包括:
所述ECU设备向所述T_Box设备发送第三辅助信息和第四辅助信息;
所述T-Box设备根据所述第三辅助信息和所述第四辅助信息,检测是否满足数据完整性的第二触发条件;
其中,所述T_Box设备生成所述第三信息并将所述第三信息发送至所述ECU设备包括
- 若满足该第二触发条件,所述T_Box设备根据接收到所述第三辅助信息和所述第四辅助信息的时间信息,进行时间戳验证;
- 若验证通过,所述T_Box设备根据所述第二信息生成第三信息,并将所述第三信息发送至所述ECU设备。
4.根据权利要求1至2中任一项所述的方法,其中,所述T_Box设备基于所述第一密钥对待下发指令进行加密,以将经加密的所述指令发送至所述ECU设备还包括:
所述T_Box设备向所述ECU设备发送第五辅助信息和第六辅助信息;
其中,该方法还包括:
所述ECU设备根据接收到所述第五辅助信息和所述第六辅助信息的时间信息,进行时间戳验证;
其中,所述ECU设备响应于接收所述T_Box设备所发送的所述指令,根据所述第三信息和所述第二随机数,以及所述T_Box设备的身份标识信息与所述ECU设备的身份标识,生成第二密钥,包括:
若验证通过,所述ECU设备响应于接收所述T_Box设备所发送的所述指令,根据所述第三信息和所述第二随机数,以及所述T_Box设备的身份标识信息与所述ECU设备的身份标识,生成第二密钥。
5.根据权利要求4所述的方法,其中,所述ECU设备根据所述第二密钥对经加密的所述指令进行解密,以获得所述指令包括:
所述ECU设备根据所述第二密钥、所述第五辅助信息和所述第六辅助信息,检测是否满足数据完整性的第三触发条件;
若满足该第三触发条件,所述ECU设备根据所述第二密钥对经加密的所述指令进行解密,以获得所述指令。
6.根据权利要求1、2、5中任一项所述的方法,其中,所述ECU设备获得所述指令之后,该方法还包括:
所述ECU设备检测是否满足删除所述第二密钥及所述第二随机数的第四触发条件;
若不满足该第四触发条件,所述ECU设备根据所述第二密钥将返回数据进行加密,以将经加密的所述返回数据发送至所述T_Box设备;
所述T_Box设备根据所述第一密钥对接收到的经加密的所述返回数据进行解密,以获得所述返回数据。
7.根据权利要求6所述的方法,其中,所述T_Box设备获得所述返回数据之后,若没有指令继续发送给所述ECU设备,该方法还包括:
所述T_Box设备将所述第一密钥、所述第一随机数和所述第三随机数删除。
8.一种车联网系统中与ECU设备进行安全通信的T_Box设备,其中,该T_Box设备包括:
用于向对应的ECU设备发送第一信息的装置,其中,该第一信息是由所述T_Box设备生成的第一随机数与所述车联网系统的主密钥的哈希值进行异或得到;
用于接收所述ECU设备发送的第二信息的装置,其中,所述第二信息由所述第一信息、所述主密钥的哈希值,以及所述ECU设备生成的第二随机数生成;
用于根据所述第二信息、所述第一随机数和由所述T_Box设备生成的第三随机数,生成第三信息,并将所述第三信息发送至所述ECU设备的装置;
用于根据所述第二信息和所述第三随机数,以及所述T_Box设备的身份标识信息与所述ECU设备的身份标识,生成第一密钥的装置;
用于基于所述第一密钥对待下发指令进行加密,以将经加密的所述指令发送至所述ECU设备的装置。
9.根据权利要求8所述的T_Box设备,其中,该T_Box设备还包括:
用于向所述ECU设备发送第一辅助信息和第二辅助信息的装置。
10.根据权利要求8或9所述的T_Box设备,其中,该T_Box设备还包括:
用于接收所述ECU设备所发送的第三辅助信息和第四辅助信息的装置;
用于根据所述第三辅助信息和所述第四辅助信息,检测是否满足数据完整性的第二触发条件的装置;
其中,生成所述第三信息并将所述第三信息发送至所述ECU设备的装置用于:
- 若满足该第二触发条件,根据接收到所述第三辅助信息和所述第四辅助信息的时间信息,进行时间戳验证;
- 若验证通过,根据所述第二信息生成第三信息,并将所述第三信息发送至所述ECU设备。
11.根据权利要求8至9中任一项所述的T_Box设备,其中,基于所述第一密钥对待下发指令进行加密,以将经加密的所述指令发送至所述ECU设备的装置,还用于:
向所述ECU设备发送第五辅助信息和第六辅助信息的装置。
12.根据权利要求8至9中任一项所述的T_Box设备,其中,该T_Box设备还包括:
用于接收所述ECU设备发送的经加密的返回数据的装置,其中,所述返回数据经第二密钥加密;
用于根据所述第一密钥对接收到的经加密的所述返回数据进行解密,以获得所述返回数据的装置。
13.根据权利要求12所述的T_Box设备,其中,所述T_Box设备获得所述返回数据之后,若没有指令继续发送给所述ECU设备,该T_Box设备还包括:
将所述第一密钥、所述第一随机数和所述第三随机数删除的装置。
14.一种车联网系统中与T_Box设备进行安全通信的ECU设备,其中,该ECU设备包括:
用于接收对应T_Box设备发送的第一信息的装置,其中,该第一信息是由所述T_Box设备生成的第一随机数与所述车联网系统的主密钥的哈希值进行异或得到;
用于根据所述第一信息、所述主密钥的哈希值,以及所述ECU设备生成的第二随机数,生成第二信息,并将所述第二信息发送至所述T_Box设备的装置;
用于接收所述T_Box设备发送的第三信息的装置;
用于接收所述T_Box设备发送的经加密的指令的装置,其中,所述指令经第一密钥加密,所述第一密钥的生成是基于所述第二信息、所述T_Box设备生成的第三随机数,以及所述T_Box设备的身份标识信息与所述ECU设备的身份标识;
用于响应于接收经加密的所述指令,根据所述第三信息和所述第二随机数,以及所述T_Box设备的身份标识信息与所述ECU设备的身份标识,生成第二密钥的装置;
用于根据所述第二密钥对经加密的所述指令进行解密,以获得所述指令的装置。
15.根据权利要求14所述的ECU设备,其中,该ECU设备还包括:
用于接收所述T_Box设备发送的第一辅助信息和第二辅助信息的装置;
用于根据所述第一辅助信息和所述第二辅助信息,检测是否满足数据完整性的第一触发条件的装置;
其中,生成所述第二信息并将所述第二信息发送至所述T_Box设备的装置用于:
- 若满足该第一触发条件,根据接收到所述第一辅助信息和所述第二辅助信息的时间信息,进行时间戳验证;
- 若验证通过,根据所述第一信息、所述主密钥的哈希值,以及所述ECU设备生成的第二随机数,生成第二信息,并将所述第二信息发送至所述T_Box设备。
16.根据权利要求14或15所述的ECU设备,其中,该ECU设备还包括:
用于向所述T_Box设备发送第三辅助信息和第四辅助信息的装置。
17.根据权利要求14至15中任一项所述的ECU设备,其中,该ECU设备还包括:
用于接收所述T_Box设备发送的第五辅助信息和第六辅助信息的装置;
用于根据接收到所述第五辅助信息和所述第六辅助信息的时间信息,进行时间戳验证的装置;
其中,响应于接收所述T_Box设备所发送的所述指令,生成所述第二密钥的装置用于:
若验证通过,响应于接收所述T_Box设备所发送的所述指令,根据所述第三信息和所述第二随机数,以及所述T_Box设备的身份标识信息与所述ECU设备的身份标识,生成第二密钥。
18.根据权利要求17所述的ECU设备,其中,根据所述第二密钥对经加密的所述指令进行解密,以获得所述指令的装置用于:
- 根据所述第二密钥、所述第五辅助信息和所述第六辅助信息,检测是否满足数据完整性的第三触发条件;
- 若满足该第三触发条件,根据所述第二密钥对经加密的所述指令进行解密,以获得所述指令。
19.根据权利要求14、15、18中任一项所述的ECU设备,其中,所述ECU设备获得所述指令之后,该ECU设备还包括:
用于检测是否满足删除所述第二密钥及所述第二随机数的第四触发条件的装置;
若不满足该第四触发条件,用于根据所述第二密钥将返回数据进行加密,以将经加密的所述返回数据发送至所述T_Box设备的装置。
20.一种车联网系统,其中,该系统包括根据权利要求8至13中任一项所述的T_Box设备,以及根据权利要求14至19中任一项所述的ECU设备。
CN201710061175.7A 2017-01-25 2017-01-25 车联网系统中T_Box设备与ECU设备进行安全通信的方法与设备 Active CN108347331B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710061175.7A CN108347331B (zh) 2017-01-25 2017-01-25 车联网系统中T_Box设备与ECU设备进行安全通信的方法与设备
US15/879,068 US10728229B2 (en) 2017-01-25 2018-01-24 Method and device for communicating securely between T-box device and ECU device in internet of vehicles system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710061175.7A CN108347331B (zh) 2017-01-25 2017-01-25 车联网系统中T_Box设备与ECU设备进行安全通信的方法与设备

Publications (2)

Publication Number Publication Date
CN108347331A CN108347331A (zh) 2018-07-31
CN108347331B true CN108347331B (zh) 2021-08-03

Family

ID=62907348

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710061175.7A Active CN108347331B (zh) 2017-01-25 2017-01-25 车联网系统中T_Box设备与ECU设备进行安全通信的方法与设备

Country Status (2)

Country Link
US (1) US10728229B2 (zh)
CN (1) CN108347331B (zh)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11544383B2 (en) * 2018-03-29 2023-01-03 Red Bend Ltd. Method for runtime mitigation of software and firmware code weaknesses
WO2019199272A1 (en) * 2018-04-10 2019-10-17 Visa International Service Association System and method for secure device connection
CN109040063B (zh) * 2018-08-01 2021-12-07 阿波罗智联(北京)科技有限公司 车辆ecu密钥的确定方法、装置、设备及存储介质
CN109039654B (zh) * 2018-08-30 2021-08-10 深圳市元征科技股份有限公司 Tbox身份认证方法及终端设备
CN109286500B (zh) * 2018-09-30 2023-04-11 阿波罗智联(北京)科技有限公司 车辆电子控制单元ecu认证方法、装置及设备
CN109462607B (zh) * 2018-12-20 2021-06-01 重庆圣眸科技开发有限公司 一种安全uds诊断在can上的实现方法
CN109765880B (zh) * 2019-01-16 2020-07-07 江苏徐工信息技术股份有限公司 基于md5动态加密算法的t-box防拆除方法及系统
CN109743334A (zh) * 2019-02-28 2019-05-10 浙江众泰汽车制造有限公司 一种t-box加密系统和方法
CN109905488B (zh) * 2019-03-20 2022-02-25 南京汽车集团有限公司 商用车电子电器安全通讯方法
CN110138823B (zh) * 2019-03-29 2022-03-11 福建省汽车工业集团云度新能源汽车股份有限公司 一种远程车身控制方法及系统
CN110188542B (zh) * 2019-04-18 2022-03-11 华为技术有限公司 一种终端设备启动方法和装置
CN110042879B (zh) * 2019-04-22 2021-06-04 雷沃工程机械集团有限公司 一种基于md5算法的挖掘机锁车方法
CN110239483B (zh) * 2019-05-07 2021-10-08 山东工商学院 车辆控制方法、系统及计算机可读存储介质
CN110417804B (zh) * 2019-08-07 2021-11-26 济南新吉纳远程测控股份有限公司 一种适于单片机实现的双向身份认证加密通信方法及系统
CN110891257B (zh) * 2019-11-26 2023-08-08 成都信息工程大学 一种具有防攻击双向认证的网联车远程升级系统及方法
CN111082935B (zh) * 2019-12-31 2022-07-12 江苏芯盛智能科技有限公司 一种媒体密钥生成方法、装置及基于媒体密钥的终端
CN111263328B (zh) * 2020-01-17 2023-05-02 南京英锐创电子科技有限公司 车辆信息获取方法和车载设备
WO2021159530A1 (zh) * 2020-02-14 2021-08-19 华为技术有限公司 一种车载设备升级方法及相关装置
CN111651184A (zh) * 2020-08-10 2020-09-11 广州汽车集团股份有限公司 一种tbox软件升级方法、tbox及汽车
CN111935317B (zh) * 2020-09-27 2021-01-01 恒大新能源汽车投资控股集团有限公司 车辆信息验证方法及装置、计算机可读存储介质
CN112737908A (zh) * 2020-12-28 2021-04-30 重庆金康新能源汽车有限公司 一种基于can总线的id和信号分配方法
CN112994898B (zh) * 2021-04-08 2022-07-26 北京邮电大学 车内网通信安全认证方法及装置
CN113242212A (zh) * 2021-04-15 2021-08-10 杭州链城数字科技有限公司 网络节点双向通信认证方法及装置、电子设备、存储介质
CN113259933B (zh) * 2021-06-15 2023-08-29 北京天融信网络安全技术有限公司 一种密钥更新的方法、网关、控制装置、电子设备及介质
CN114978656B (zh) * 2022-05-17 2023-06-09 北京经纬恒润科技股份有限公司 车载以太网检测防御方法及装置
CN114978949B (zh) * 2022-05-26 2024-02-09 延锋伟世通汽车电子有限公司 基于以太网和can通讯的密钥写入测试方法和系统
CN115065522A (zh) * 2022-06-09 2022-09-16 北谷电子有限公司 安全认证方法、车载控制器、远程通信终端和存储介质
TWI814555B (zh) * 2022-08-29 2023-09-01 崑山科技大學 車聯網訊息流分析惡意行為之偵測系統與其方法
CN116155625B (zh) * 2023-04-19 2023-07-07 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 密钥交换方法、装置、电子设备、存储介质及程序产品
CN117318941B (zh) * 2023-11-29 2024-02-13 合肥工业大学 基于车内网的预置密钥分发方法、系统、终端及存储介质

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030147534A1 (en) * 2002-02-06 2003-08-07 Ablay Sewim F. Method and apparatus for in-vehicle device authentication and secure data delivery in a distributed vehicle network
EP1526677A4 (en) * 2002-06-19 2006-12-20 Secured Communications Inc METHOD AND DEVICE FOR INTER AUTHENTICATION
US20050177714A1 (en) * 2004-02-10 2005-08-11 Samsung Electronics Co., Ltd. Authentication method of data processing apparatus with recording device and apparatus for the same
KR20060014765A (ko) * 2004-08-12 2006-02-16 주식회사 현대오토넷 텔레매틱스 시스템을 이용한 긴급 구난 서비스 시스템 및방법
US20060143132A1 (en) * 2004-11-30 2006-06-29 Valenti William L Method and apparatus to enable a market in used digital content
KR20090004061A (ko) * 2007-07-06 2009-01-12 엘지전자 주식회사 방송 수신이 가능한 텔레매틱스 단말기 및 방송 신호 처리방법
US8379854B2 (en) * 2007-10-09 2013-02-19 Alcatel Lucent Secure wireless communication
US8761390B2 (en) * 2008-06-30 2014-06-24 Gm Global Technology Operations Production of cryptographic keys for an embedded processing device
US20120295592A1 (en) * 2011-05-17 2012-11-22 General Motors Llc Vehicle Component Identification and Configuration Registry Reporting System
KR20130140948A (ko) * 2012-05-17 2013-12-26 삼성전자주식회사 저장 장치의 식별자에 기반한 컨텐츠의 암복호화 장치 및 방법
US8751814B2 (en) * 2012-06-14 2014-06-10 Kabushiki Kaisha Toshiba Device
US8831224B2 (en) * 2012-09-14 2014-09-09 GM Global Technology Operations LLC Method and apparatus for secure pairing of mobile devices with vehicles using telematics system
TWI522841B (zh) * 2014-09-30 2016-02-21 國立勤益科技大學 多重伺服器環境下的匿名認證方法
CN104468118A (zh) * 2014-11-18 2015-03-25 浪潮(北京)电子信息产业有限公司 一种基于Hash函数的通信安全方法及系统
KR101637294B1 (ko) * 2014-12-11 2016-07-07 현대자동차 주식회사 스마트 카와 스마트 홈 사이의 인증 방법, 및 스마트 카와 스마트 홈 사이의 인증을 위한 텔레매틱스 서비스 센터
CN106302354A (zh) * 2015-06-05 2017-01-04 北京壹人壹本信息科技有限公司 一种身份认证方法和装置
US10834582B2 (en) * 2015-09-30 2020-11-10 Cummins, Inc. System, method, and apparatus for secure telematics communication
US9990783B2 (en) * 2016-02-16 2018-06-05 GM Global Technology Operations LLC Regulating vehicle access using cryptographic methods
CN107093223A (zh) * 2016-02-17 2017-08-25 福特环球技术公司 由车辆钥匙激活的行驶日志系统
US11228569B2 (en) * 2016-03-01 2022-01-18 Ford Global Technologies, Llc Secure tunneling for connected application security
US10484349B2 (en) * 2016-06-20 2019-11-19 Ford Global Technologies, Llc Remote firewall update for on-board web server telematics system
US9984561B1 (en) * 2017-01-11 2018-05-29 GM Global Technology Operations LLC Method and system for remote modification of information for an appliance activation transmission

Also Published As

Publication number Publication date
US10728229B2 (en) 2020-07-28
CN108347331A (zh) 2018-07-31
US20180212937A1 (en) 2018-07-26

Similar Documents

Publication Publication Date Title
CN108347331B (zh) 车联网系统中T_Box设备与ECU设备进行安全通信的方法与设备
US10965450B2 (en) In-vehicle networking
US20240064003A1 (en) Encryption Method, Decryption Method, and Related Apparatus
CN106572106B (zh) 一种tbox终端和tsp平台之间报文传输的方法
CN112543927B (zh) 一种设备升级方法及相关设备
CN100581102C (zh) 一种无线传感器网络中数据安全传输的方法
CN111279310A (zh) 一种车载设备升级方法及相关设备
CN106357400B (zh) 建立tbox终端和tsp平台之间通道的方法以及系统
CN109218825B (zh) 一种视频加密系统
CN109151508B (zh) 一种视频加密方法
CN106506149B (zh) 一种tbox终端和tsp平台之间密钥生成方法以及系统
KR20210129742A (ko) 자율주행차 원격 제어용 암호적 안전 메커니즘
CN113114699A (zh) 一种车辆终端身份证书申请方法
CN109698746A (zh) 基于主密钥协商生成绑定设备的子密钥的方法和系统
CN113572795B (zh) 一种车辆安全通信方法、系统及车载终端
CN113542428A (zh) 车辆数据上传方法、装置、车辆、系统及存储介质
CN111211894B (zh) 一种数据传输方法、装置及系统
TW202044860A (zh) 使用點對點網路及系統之車輛事故管理
CN107135228B (zh) 一种基于中心节点的认证系统与认证方法
KR102219018B1 (ko) 블록체인 기반의 사물인터넷 데이터 전송 방법
CN108134777A (zh) 一种基于时间戳的通信加密系统
JP6203798B2 (ja) 車載制御システム、車両、管理装置、車載コンピュータ、データ共有方法、及びコンピュータプログラム
WO2022120581A1 (zh) 一种车辆诊断系统、方法及装置
CN112995140B (zh) 安全管理系统及方法
CN113783879A (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