CN111279310B - 一种车载设备升级方法及相关设备 - Google Patents

一种车载设备升级方法及相关设备 Download PDF

Info

Publication number
CN111279310B
CN111279310B CN201780096266.2A CN201780096266A CN111279310B CN 111279310 B CN111279310 B CN 111279310B CN 201780096266 A CN201780096266 A CN 201780096266A CN 111279310 B CN111279310 B CN 111279310B
Authority
CN
China
Prior art keywords
vehicle
upgrade
target
upgraded
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
CN201780096266.2A
Other languages
English (en)
Other versions
CN111279310A (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 International Pte Ltd
Original Assignee
Huawei International Pte 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 International Pte Ltd filed Critical Huawei International Pte Ltd
Publication of CN111279310A publication Critical patent/CN111279310A/zh
Application granted granted Critical
Publication of CN111279310B publication Critical patent/CN111279310B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/18Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
    • 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/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • 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/80Wireless
    • 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)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明实施例公开了一种车载设备升级方法及相关设备,其中的方法可应用于车载***,所述车载***包括车载控制设备和一个或多个待升级车载设备,所述方法可包括:所述车载控制设备获取车载升级包,所述车载升级包包括多个升级文件,且每一个升级文件用于对至少一个待升级车载设备进行升级;所述车载控制设备对所述多个升级文件进行安全验证;所述车载控制设备将目标升级文件发送给使用所述目标升级文件进行升级的目标待升级车载设备,所述目标升级文件为所述多个升级文件中通过安全验证的升级文件。采用本申请,可以安全高效的进行车载设备的升级。

Description

一种车载设备升级方法及相关设备
技术领域
本申请涉及车载技术领域,尤其涉及一种车载设备升级方法及相关设备。
背景技术
未来的每辆车都是车联网中的一个网络节点,与电脑,手机等联网设备没有本质的不同。据估计,北关60%到70%车辆招回是由于固件/软件的原因,因此升级车载设备的固件/软件是必不可少的环节。传统待升级车载设备的固件/软件升级是采用车辆招回的方式,这种办法的缺点是:成本高、周期长。
因此,未来车载设备的升级应采用更灵活的远程升级,空中下载技术(Over-The-Air,OTA)的方式,就像现在的电脑和手机升级一样通过远程来升级。对车载设备进行远程固件/软件升级可带来很多好处。例如,便于关键的固件/软件bugs得以快速修复、增加车辆安全性、便于车辆在整个生命周期内及时添加新功能或特色等。因此采用OTA方式不需要车辆招回就可进行固件/软件升级,可为车辆生产商或销售商节省大量成本,同时也为车主带来便利。
然而,在待升级车载设备的远程升级过程中,可能会由于部分待升级车载设备的计算能力、存储空间有限等问题,导致该待升级车载设备的升级效率较低,甚至影响整个车载***的升级。因此,如何保证车载设备安全高效的进行固件/软件升级成为亟待解决的问题。
发明内容
本发明实施例所要解决的技术问题在于,提供一种车载设备升级方法及相关设备,解决了车载设备无法安全高效的进行固件/软件升级的问题。
第一方面,本发明实施例提供了一种车载设备升级方法,可包括:
车载控制设备获取车载升级包,车载升级包包括多个升级文件,且每一个升级文件用于对至少一个待升级车载设备进行升级;车载控制设备对多个升级文件进行安全验证;车载控制设备将目标升级文件发送给使用所述目标升级文件进行升级的目标待升级车载设备,目标升级文件为多个升级文件中通过安全验证的升级文件。本发明实施例,通过将车载设备需要进行升级的车载升级包,在车载控制设备侧进行安全验证处理,避免升级能力强弱不同的待升级车载设备参与安全验证过程,保证了车载设备安全高效的进行车载升级包升级。
在一种可能的实现方式中,车载升级包包括第一数字签名;车载控制设备对多个升级文件进行安全验证,包括:车载控制设备使用第一数字签名对多个升级文件进行数字签名验证。即车载升级包经过数据签名的认证,保证了车载控制设备从车载设备的外部获取车载升级包的合法性。
在一种可能的实现方式中,所述方法还包括:车载控制设备向升级服务器发送身份验证信息;若身份验证信息在升级服务器中验证通过,车载控制设备与升级服务器之间建立安全通道;车载控制设备从升级服务器获取车载升级包,包括:车载控制设备通过安全通道从升级服务器获取车载升级包。即通过在车载控制设备和升级服务器之间建立安全通道,保证了车载升级包在传输过程中的私密性,此时无需对车载升级包进行额外加密。
在一种可能的实现方式中,车载升级包经过第一密钥加密,第一密钥为对称密钥;方法还包括:车载控制设备从密钥服务器处获取第一密钥;车载控制设备使用第一数字签名对多个升级文件进行数字签名验证之后,包括:若数字签名验证通过,车载控制设备利用第一密钥对多个升级文件进行解密。即通过对车载升级包进行加密,并且将该加密密钥保存在专属的密钥服务器中,有力的保证了车载升级包在传输过程中的私密性。
在一种可能的实现方式中,车载控制设备将目标升级文件发送给使用所述目标升级文件进行升级的目标待升级车载设备,包括:车载控制设备将目标升级文件划分为多个子升级文件;车载控制设备将多个子升级文件通过预设算法生成互相关联的多个数据块,并利用第二密钥生成多个数据块的第一消息认证码MAC,第二密钥为对称算法密钥;车载控制设备将携带第一MAC的多个数据块逐步发送给目标待升级车载设备。即在车载升级包在车载设备内部传输的过程中通过利用预设算法将升级文件划分为多个有关联关系的数据块,并针对该有关联关系的数据块进行MAC处理,以便于车载控制设备可以将一个完整的升级文件,划分为多个可以分开传输并且可以分开验证合法性的数据块。并且由于多个数据块之间是有关联关系的,因此利用相关算法,可以快速定位出有安全问题的数据块。不仅减少了能力较弱的待升级车载设备在单位时间内的计算量和计算复杂度,并且在升级文件传输错误后,可以尽快找出错误的子份,从而只请求重发出错的部分,而不是整个升级文件。进一步保证了车载设备安全高效的升级。
在一种可能的实现方式中,所述方法还包括:车载控制设备对多个子升级文件分别利用第三密钥加密;车载控制设备将多个子升级文件通过预设算法生成互相关联的多个数据块,包括:车载控制设备将利用第三密钥加密后的多个子升级文件,通过预设算法生成互相关联的多个数据块。在保证了车载升级包的合法性的前提下,还进一步的保证车载升级包的私密性,避免被非法获取。
在一种可能的实现方式中,目标升级文件包括多个子升级文件,多个子升级文件通过预设算法生成互相关联的多个数据块,且携带利用第四密钥生成的多个数据块的第二数字签名,第四密钥为非对称密钥;车载控制设备对多个升级文件进行安全验证,包括:车载控制设备对多个数据块的第二数字签名进行校验;车载控制设备将目标升级文件发送给使用所述目标升级文件进行升级的目标待升级车载设备,包括:车载控制设备利用第五密钥生成多个数据块的第二MAC,第五密钥为对称算法密钥;车载控制设备将携带第二MAC的多个数据块逐步发送给目标待升级车载设备。即关于车载升级包的分块传输及签名,可以是在升级开发者侧完成,即车载控制设备获取到的是已经经过预设算法分块且签名的数据块,此时车载设备需要先分块校验其合法性,再将校验了合法性之后的数据块重新做MAC处理,以便于在保证车载升级文件在车载内传输过程中的合法性的同时,又可以减少待升级车载设备的计算量和计算复杂度,实现了车载设备安全高效的升级。
在一种可能的实现方式中,预设算法包括Hash Chain算法、Hash Tree算法、BloomFilter算法中的任意一种。在预设算法中使用上述算法中的哈希功能,将目标升级文件划分为具有相互关联关系的多个数据块,如此一来,在进行MAC处理的时候,可以只对多个数据块中的一块进行MAC处理,从而其他具有关联关系的数据块,可以利用相互关联的哈希值来进行校验。
在一种可能的实现方式中,方法还包括:车载控制设备将目标数据块重新发送给目标待升级车载设备,目标数据块为多个数据块中在目标待升级车载设备上未验证通过的数据块。在有关联关系的分块传输的基础上,不仅可以快速定位出未验证通过的数据块,也便于在出现这种传输错误的情况下,只需要重新请求对应的数据块,而不是整个升级文件,节省开销,提升升级效率,同时也保证了升级的安全性。
第二方面,本发明实施例提供了一种智能车辆,可包括:车载控制设备和至少一个待升级车载设备;其中
所述车载设备用于,获取车载升级包,对所述车载升级包中的多个升级文件进行安全验证,并将目标升级文件发送给使用所述目标升级文件进行升级的目标待升级车载设备,其中,每一个升级文件用于对至少一个待升级车载设备进行升级,所述目标升级文件为所述多个升级文件中通过安全验证的升级文件;
所述待升级车载设备,用于接收车载控制设备发送的目标升级文件,并利用所述目标升级文件进行安全升级,所述待升级车载设备为所述目标待升级车载设备。
在一种可能的实现方式中,所述车载控制设备,具体用于:使用所述第一数字签名对所述多个升级文件进行数字签名验证。即本发明实施例中的智能车辆中的车载控制设备需要对从车辆外部获取的车载升级包中的多个升级文件的合法性进行校验,以保证安全升级。
在一种可能的实现方式中,所述车载控制设备,具体用于:
向所述升级服务器发送身份验证信息,若所述身份验证信息在所述升级服务器中验证通过,与所述升级服务器之间建立安全通道,并通过所述安全通道从所述升级服务器获取所述车载升级包;或者所述车载升级包经过第一密钥加密,所述第一密钥为对称密钥;所述车载控制设备,具体用于:从密钥服务器处获取所述第一密钥,并在使用所述第一数字签名对所述多个升级文件进行数字签名验证通过之后,利用所述第一密钥对所述多个升级文件进行解密。即本发明实施例中的智能车辆中的车载控制设备,可以与服务器端建立安全通道,以保证获取车载升级包的过程的安全性。
在一种可能的实现方式中,所述车载控制设备,具体用于:将所述目标升级文件划分为多个子升级文件,并通过预设算法生成互相关联的多个数据块,利用第二密钥生成所述多个数据块的第一消息认证码MAC,再将携带所述第一MAC的所述多个数据块逐步发送给所述目标待升级车载设备,所述第二密钥为对称算法密钥;
所述待升级车载设备,具体用于:逐步接收所述车载控制设备发送的携带第一MAC的多个数据块,并根据所述预设算法,利用所述第二密钥逐步验证所述多个数据块,当所述多个数据块均验证通过,将逐步验证通过后的所述多个数据块进行合并升级。
即本发明实施例中的智能车辆中的车载控制设备,通过在验证了从车辆外部获取的车载升级包的合法性之后,再在车辆内部通过将升级文件分块以及MAC处理,以保证升级文件在车辆内部传输的合法性。并且待升级车载设备由于可以分块接收并校验升级文件,因此,可以快速定位出错位置,且由于对MAC的校验,计算复杂度较小,因此可以保证车辆内升级能力较弱的待升级车载设备,较容易校验并升级,以保证车辆升级的高效性和安全性。
在一种可能的实现方式中,所述车载控制设备,具体用于:
对所述多个子升级文件分别利用第三密钥加密,将所述利用第三密钥加密后的所述多个子升级文件,通过预设算法生成互相关联的多个数据块;
所述待升级车载设备,具体用于:当所述多个数据块均验证通过,将逐步验证通过后的所述多个数据块分别利用所述第三密钥进行解密,再将利用所述第三密钥进行解密后的所述多个数据块进行合并升级。
即本发明实施例中的智能车辆中的车载控制设备,在车内传输升级文件的过程中,进一步通过加密来保证升级文件的私密性。
在一种可能的实现方式中,所述目标升级文件包括多个子升级文件,所述多个子升级文件通过预设算法生成互相关联的多个数据块,且携带利用第四密钥生成的所述多个数据块的第二数字签名,所述第四密钥为非对称密钥;
所述车载控制设备,具体用于:对所述多个数据块的第二数字签名进行校验,利用第五密钥生成所述多个数据块的第二MAC,将携带所述第二MAC的所述多个数据块逐步发送给所述目标待升级车载设备。所述第五密钥为对称算法密钥;
所述待升级车载设备,具体用于:逐步接收所述车载控制设备发送的携带第二MAC的多个数据块,并根据所述预设算法,利用所述第五密钥逐步验证所述多个数据块,当所述多个数据块均验证通过,将逐步验证通过后的所述多个数据块进行合并升级。
即本发明实施例中的智能车辆中的车载控制设备,通过在验证了从车辆外部获取的经过分块且经过签名的升级文件的合法性之后,再在车辆内部通过将升级文件分块以及MAC处理,以保证升级文件在车辆内部传输的合法性。并且待升级车载设备由于可以分块接收并校验升级文件,因此,可以快速定位出错位置,且由于对MAC的校验,计算复杂度较小,因此可以保证车辆内升级能力较弱的待升级车载设备,较容易校验并升级,以保证车辆升级的高效性和安全性。
第三方面,本发明实施例提供了一种车载设备升级方法,可包括:
目标待升级车载设备接收车载控制设备发送的目标升级文件,目标升级文件为通过车载控制设备安全验证的且至少用于对所述目标待升级车载设备进行升级的升级文件;目标待升级车载设备利用目标升级文件进行安全升级。本发明实施例,目标待升级车载设备通过接收已经在车载控制设备侧进行了安全验证处理的升级文件,并利用该升级文件进行设备升级,避免升级能力强弱不同的待升级车载设备参与安全验证过程,保证了待升级车载设备安全高效的进行车载升级包升级。
在一种可能的实现方式中,目标待升级车载设备利用目标升级文件进行安全升级,包括:目标待升级车载设备采用A/B***更新升级模式,并利用目标升级文件进行安全升级,待升级车载设备为资源存储能力和/或处理能力超过预设值的或者预先指定的第一待升级车载设备。针对能力较强的待升级车载设备,可以采用A/B***更新升级模式进行升级。
在一种可能的实现方式中,目标升级文件包括多个子升级文件;目标待升级车载设备接收车载控制设备发送的目标升级文件,包括:目标待升级车载设备逐步接收车载控制设备发送的携带第一MAC的多个数据块,多个数据块为将多个子升级文件通过预设算法生成的互相关联的多个数据块,第一MAC为利用第二密钥生成的多个数据块的消息认证码,第二密钥为对称密钥;目标待升级车载设备利用目标升级文件进行安全升级,包括:目标待升级车载设备根据预设算法,利用第二密钥逐步验证多个数据块;当多个数据块均验证通过,目标待升级车载设备将逐步验证通过后的多个数据块进行合并升级。即在车载升级包在车载设备内部传输的过程中通过利用预设算法将升级文件划分为多个有关联关系的数据块,并针对该有关联关系的数据块进行MAC处理,以便于车载控制设备可以将一个完整的升级文件,划分为多个可以分开传输并且可以分开验证合法性的数据块。并且由于多个数据块之间是有关联关系的,因此利用相关算法,可以快速定位出有安全问题的数据块。不仅减少了能力较弱的待升级车载设备在单位时间内的计算量和计算复杂度,并且在升级文件传输错误后,可以尽快找出错误的子份,从而只请求重发出错的部分,而不是整个升级文件。进一步保证了车载设备安全高效的升级。
在一种可能的实现方式中,多个子升级文件经过第三秘钥加密;当多个数据块均验证通过,目标待升级车载设备将逐步验证通过后的多个数据块进行合并升级,包括:当多个数据块均验证通过,目标待升级车载设备将逐步验证通过后的多个数据块分别利用第三密钥进行解密;目标待升级车载设备将利用第三密钥进行解密后的多个数据块进行合并升级。在保证了车载升级包的合法性的前提下,还进一步的保证车载升级包的私密性,避免被非法获取。
在一种可能的实现方式中,目标升级文件包括多个子升级文件;目标待升级车载设备接收车载控制设备发送的目标升级文件,包括:目标待升级车载设备逐步接收车载控制设备发送的携带第二MAC的多个数据块,多个数据块为将多个子升级文件通过预设算法生成互相关联的多个数据块,第二MAC为利用第五密钥生成的多个数据块的消息认证码,第五密钥为对称算法;目标待升级车载设备利用目标升级文件进行安全升级,包括:目标待升级车载设备根据预设算法,并利用第五密钥逐步验证多个数据块;当多个数据块均验证通过,目标待升级车载设备将逐步验证通过后的多个数据块进行合并升级。即关于车载升级包的分块传输及签名,可以是在升级开发者侧完成,即车载控制设备获取到的是已经经过预设算法分块且签名的数据块,此时车载设备需要先分块校验其合法性,再将校验了合法性之后的数据块重新做MAC处理,以便于在保证车载升级文件在车载内传输过程中的合法性的同时,又可以减少待升级车载设备的计算量和计算复杂度,实现了车载设备安全高效的升级。
在一种可能的实现方式中,方法还包括:目标待升级车载设备从车载控制设备处重新获取目标数据块,目标数据块为多个数据块中在目标待升级车载设备上未验证通过的数据块。在有关联关系的分块传输的基础上,不仅可以快速定位出未验证通过的数据块,也便于在出现这种传输错误的情况下,只需要重新请求对应的数据块,而不是整个升级文件,节省开销,提升升级效率,同时也保证了升级的安全性。
第四方面,本申请提供一种车载设备升级装置,该车载设备升级装置具有实现上述任意一种车载设备升级方法实施例中方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
第五方面,本申请提供一种待升级车载装置,该终端设备具有实现上述任意一种车载设备升级方法实施例中方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
第六方面,本申请提供一种车载控制设备,该车载控制设备中包括处理器,处理器被配置为支持该车载控制设备执行第一方面提供的一种车载设备升级方法中相应的功能。该车载控制设备还可以包括存储器,存储器用于与处理器耦合,其保存该车载控制设备必要的程序指令和数据。该车载控制设备还可以包括通信接口,用于该车载控制设备与其他设备或通信网络通信。
第七方面,本申请提供一种目标待升级车载设备,该目标待升级车载设备中包括处理器,处理器被配置为支持该目标待升级车载设备执行第三方面提供的一种控制车载设备升级方法中相应的功能。该目标待升级车载设备还可以包括存储器,存储器用于与处理器耦合,其保存该目标待升级车载设备必要的程序指令和数据。该目标待升级车载设备还可以包括通信接口,用于该目标待升级车载设备与其他设备或通信网络通信。
第八方面,本申请提供一种计算机存储介质,用于储存为上述第六方面提供的车载控制设备所用的计算机软件指令,其包含用于执行上述方面所设计的程序。
第九方面,本申请提供一种计算机存储介质,用于储存为上述第七方面提供的目标待升级车载设备所用的计算机软件指令,其包含用于执行上述方面所设计的程序。
第十方面,本发明实施例提供了一种计算机程序,该计算机程序包括指令,当该计算机程序被计算机执行时,使得计算机可以执行上述第一方面中任意一项的车载设备升级方法中的流程。
第十一方面,本发明实施例提供了一种计算机程序,该计算机程序包括指令,当该计算机程序被计算机执行时,使得计算机可以执行上述第三方面中任意一项的车载设备升级方法中的流程。
第十二方面,本申请提供了一种芯片***,该芯片***包括处理器,用于支持目标待升级车载设备或车载控制设备实现上述方面中所涉及的功能,例如,例如接收或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片***还包括存储器,所述存储器,用于保存目标待升级车载设备或车载控制设备必要的程序指令和数据。该芯片***,可以由芯片构成,也可以包含芯片和其他分立器件。
附图说明
图1是本发明实施例提供的一种车载***升级架构图;
图2是本发明实施例提供的一种OTA Orchestrator的结构示意图;
图3为本发明实施例提供的一种待升级车载设备的结构示意图;
图4是本发明实施例提供的另一种车载***升级架构图;
图5是本发明实施例提供的一种车载设备升级方法的流程示意图图4;
图6是本发明实施例提供的一种车载升级装置的结构示意图;
图7是本发明实施例提供的一种待升级车载装置的结构示意图;
图8是本发明实施例提供的一种设备的结构示意图;
图9是本发明实施例提供的一种智能车辆的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例进行描述。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
在本说明书中使用的术语“部件”、“模块”、“***”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程和/或执行线程中,部件可位于一个计算机上和/或分布在2个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自与本地***、分布式***和/或网络间的另一部件交互的二个部件的数据,例如通过信号与其它***交互的互联网)的信号通过本地和/或远程进程来通信。
首先,对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。
(1)、空中下载技术(Over the Air Technology,OTA)。是通过移动通信的空中接口进行远程固件或软件远程升级的技术。
(2)、车载信息服务(Telematics)是远距离通信的电信(Telecommunications)与信息科学(Informatics)的合成词,按字面可定义为通过内置在汽车、航空、船舶、火车等运输工具上的计算机***、无线通信技术、卫星导航装置、交换文字、语音等信息的互联网技术而提供信息的服务***。简单的说就通过无线网络将车辆接入互联网,为车主提供驾驶、生活所必需的各种信息。
(3)、电子控制单元(Electronic Control Unit,ECU),从用途上讲则是汽车专用微机控制器。它和普通的电脑一样,由微处理器(CPU)、存储器(ROM、RAM)、输入/输出接口(I/O)、模数转换器(A/D)以及整形、驱动等大规模集成电路组成。
(4)、车辆控制单元(Vehicle control unit,VCU),也可以称之为电动汽车整车控制器VCU是电动汽车动力***的总成控制器,负责协调发动机、驱动电机、变速箱、动力电池等各部件的工作,具有提高车辆的动力性能、安全性能和经济性等作用。是电动汽车整车控制***的核心部件,是用来控制电动车电机的启动、运行、进退、速度、停止以及电动车的其它电子器件的核心控制器件。VCU作为纯电动汽车控制***最核心的部件,其承担了数据交换、安全管理、驾驶员意图解释、能量流管理的任务。VCU采集电机控制***信号、加速踏板信号、制动踏板信号及其他部件信号,根据驾驶员的驾驶意图综合分析并作出响应判断后,监控下层的各部件控制器的动作,对汽车的正常行驶、电池能量的制动回馈、网络管理、故障诊断与处理、车辆状态监控等功能起着关键作用。
(6)、控制器局域网络(Controller Area Network,CAN)总线,是国际上应用最广泛的现场总线之一。其所具有的高可靠性和良好的错误检测能力受到重视,被广泛应用于汽车计算机控制***和环境温度恶劣、电磁辐射强和振动大的工业环境。CAN总线是一种应用广泛的现场总线,在工业测控和工业自动化等领域有很大的应用前景。CAN属于总线式串行通信网络。CAN总线在数据通信方面具有可靠、实时和灵活的优点。为使设计透明和执行灵活,遵循ISO/OSI标准模型,CAN总线结构划分为两层物理层和数据链路层(包括逻辑链路控制子层LLC和媒体访问控制子层MAC)。
(7)、消息验证码(Message Authentication Code,MAC)。MAC是对信源的一个编码函数。MAC类似于摘要算法,但是它在计算的时候还要采用一个密钥,因此MAC同时依赖于所使用的密钥以及要计算起MAC的信息。实际上MAC通常是根据摘要算法构造得出的。
(8)、密钥导出算法(Key Derivation Function,KDF),是加解密过程使用到的密钥派生函数,作用是从一个共享的秘密比特串口派生出密钥数据,在密钥协商过程中,密钥派生函数作用在密钥交换所获动向的秘密比特串上,从中产生所需的会话密钥或进一步加密所需的密钥数据。
(9)、公钥密码(非对称密码),公钥密码又称为非对称密码,非对称密钥算法是指一个加密算法的加密密钥和解密密钥是不一样的,或者说不能由其中一个密钥推导出另一个密钥。拥有公钥密码的用户分别拥有加密密钥和解密密钥,通过加密密钥不能得到解密密钥。并且加密密钥是公开的。公钥密码就是基于这一原理而设计的,将辅助信息(陷门信息)作为秘密密钥。这类密码的安全强度取决于它所依据的问题的计算复杂度。现在常见的公钥密码有RSA公钥密码、ElGamal公钥密码、椭圆曲线密码。
(10)、对称密码,对称密钥加密又叫专用密钥加密,即发送和接收数据的双方必使用相同的密钥对明文进行加密和解密运算。即加密密钥能够从解密密钥中推算出来,反过来也成立。在大多数对称算法中,加密解密密钥是相同的。这些算法也叫秘密密钥算法或单密钥算法,它要求发送者和接收者在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都能对消息进行加密解密。只要通信需要保密,密钥就必须保密。
从上述对对称密钥算法和非对称密钥算法的描述中可看出,对称密钥加解密使用的同一个密钥,或者能从加密密钥很容易推出解密密钥;②对称密钥算法具有加密处理简单,加解密速度快,密钥较短,发展历史悠久等特点,非对称密钥算法具有加解密速度慢的特点,密钥尺寸大,发展历史较短等特点。
(11)、传输层安全协议(Transport Layer Security,TLS),用于两个应用程序之间提供保密性和数据完整性。该协议由两层组成:TLS记录协议(TLS Record)和TLS握手协议(TLS Handshake)。安全传输层协议(TLS)用于在两个通信应用程序之间提供保密性和数据完整性。
首先,提出本申请需要解决的技术问题及应用场景。在现有技术中,传统车载设备的固件/软件升级是采用车辆招回的方式,即将车招回到指定的地点,如维修厂/4S店,然后采用下述方法进行固件/软件升级:具体实现有如下方案一和方案二:
方案一:借助联合测试工作组(Joint Test Action Group,JTAG)接口或(调试模式Background Debugging Mode,BDM)接口在线烧写或者将车载设备拆卸烧写,具体可以包括如下方式一和方式二。
方式一,先把要升级的软件通过个人计算机(personal computer,PC)下载到程序烧录仪,然后将程序烧录仪连接到烧录工装,接着将汽车电子控制***的印制电路板(Printed Circuit Board,PCB)放入烧录工装对准下载接口,最后通电烧录软件。
方式二,将PC机、单片机程序下载数据线和汽车电子控制***的PCB板串联起来,通过操作PC机直接将程序下载到单片机中。
上述方式一和方式二的问题是需要专业人员,增加成本,操作起来非常不方便。
方案二:基于CAN线的车载诊断***(On-Board Diagnostic,OBD)进行Flash烧写。
步骤1:从汽车电子***正常的应用程序运行状态进入到刷新模式;(中断或诊断触发);
步骤2:对汽车电子控制器芯片的存储器进行检验,并判断存储器中是否保存有正确的应用程序;
步骤3:如果存储器中没有正确的应用程序,从诊断设备下载应用程序软件,通过CAN总线传输,并刷新Flash中的应用程序(刷新模块用于启动引导和软件烧写)。
上述方案二的问题是需要专业人员,且周期长。
除了上述方案一和方案二,现在一些车辆也实现了远程升级,但是通常这些已实现的远程升级主要针对于计算能力较强和存储空间较大的车载设备,即对于计算能力较弱或者存储空间较小的车载设备,当前无法提供安全有效的固件/软件升级方法。因此,如何在车载***中待升级车载设备升级能力强弱不同的情况下,安全且高效的进行固件/软件升级是本申请实际要解决的技术问题。
为了便于理解本发明实施例,基于上述,下面先对本发明实施例所基于的车载升级***架构进行描述。请参见图1,图1是本发明实施例提供的一种车载***升级架构图(简称为架构一),本申请提出的车载设备升级方法可以应用于该***架构。该***架构中包含了升级服务器、车载控制设备和多个待升级车载设备,例如HMI(人机界面)、BMS(电池管理***)、ECU1和ECU2),而车载控制设备可以包括Telematics单元和OTA协调器(OTAOrchestrator)单元,用于管理和辅助多个待升级车载设备的升级过程。在上述***架构下,车载设备远程升级可以包括以下基本过程:升级包发布,升级包获取,升级包车内传输,升级与确认。其中,
升级服务器,用于从开发者处获取未经过加密的车载升级包。
车载控制设备中的Telematics,负责对外通信,在本申请中负责与升级服务器和密钥服务器通信,完成车载升级包的获取任务,以及车载升级包的部分传输动作(发送给OTA Orchestrator)。
车载控制设备中的OTA Orchestrator,负责与车载内的待升级车载设备通信。本申请中车载升级包通过Telematics和管理单元/模块而最终抵达目标待升级车载设备。其主要功能是管理和辅助车载设备的升级过程。具体来说,OTA Orchestrator应具有如下功能:密钥分发及管理;管理OTA过程;帮助其他较弱的待升级车载设备分担计算量大的操作,如验证升级包的完整性和真实性,及Transcoding(转码)等;作为其他较弱的待升级车载设备的备份点,以便升级失败时回滚。OTA Orchestrator是个逻辑实体,物理上可以部署任何功能强大的单元或模块上,例如Telematics,Gateway,VCU等,其结构可以如图2所示,图2为本发明实施例提供的一种OTA Orchestrator的结构示意图。其中,OTA Orchestrator可包括处理器CPU以及相关的易失性存储器RAM和非易时性存储器ROM,和用于存放密钥的安全存储,如与车载设备共享的静态密钥等;还包括用于存储OTA管理程序的存储器,OTA管理程序用于实现对升级过程的管理;还包括以及可通过CAN bus或其他车内网络与其他车载设备通信的网络接口。可以理解的是,如果OTA Orchestrator实现在Telemantics上,它还需有与外部网络通信的网络接口。即OTA Orchestrator应有较强的计算能力和较多资源辅助车载设备完成远程升级,并被其他车载设备信任。从逻辑架构上划分,OTA Orchestrator把该架构分为车外通信部分和车内通信部分。车内部分的各设备无需进行公钥密码操作而只需进行对称密码操作;如涉及公钥密钥操作,则代理给OTA Orchestrator,以减少车载内待升级设备的计算量和计算复杂度。
待升级车载设备,任意一个待升级车载设备的构成可以如图3所示,图3为本发明实施例提供的一种待升级车载设备的结构示意图。待升级车载设备可以包括微型控制器(Micro controlller),CAN控制器(CAN controller)和收发器(Transceiver)。其中,待升级车载设备通过收发器Transceiver与车内网络如CAN bus通信,CAN controller则用于实现CAN协议,微型控制器则用于实现待升级以及升级后的相关的计算处理,例如可以实现本申请中关于待升级车载设备所执行的车载设备升级方法。结合上述结构示意图,在本申请中,目标待升级车载设备基于车内网络如CAN bus,通过收发器(Transceiver)接收车载控制设备发送的目标升级文件,并通过微型控制器(Micro Controlller)利用所述目标升级文件进行安全升级。更具体的功能可以参照后续实施例中关于待升级车载设备相关功能的描述。
由上述待升级车载设备的结构示意图可以知道,现在车内普遍采用的CAN总线,而CAN总线会影响带宽。因此,导致在一些升级场景中,车载设备的固件/软件远程升级不能达到最大升级效率。
请参见图4,图4是本发明实施例提供的另一种车载***升级架构图(简称为架构二),与图1提供的***升级架构不同之处在于,该车载***升级架构还包括密钥服务器。其中,
升级服务器,用于从开发者处获取经过开发者加密的车载升级包。
密钥服务器,用于在车载升级包被开发者加密的情况下,该密钥服务器通过安全通道从开发者处获取密钥并存储密钥,并且最终将密钥提供给车载控制设备。
可以理解的是其它关于载控制设备和多个待升级车载设备的具体功能,请参照上述图1对应的车载***升级架构中的各个功能实体或单元的描述,在此不再赘述。
还以理解的是,本申请中的车载***升级架构还可以包括开发者,开发者在固件/软件发布的开发和测试升级程序后,将车载升级包交付给升级服务器,该交付的车载升级包需要经过数字签名。可选的,在经过数字签名之前,还可以对该车载升级包经过加密。若不经过加密,则对应上述图1中的***架构,若经过加密则对应上述图2中的***架构。后述会详细描述对应实施例。
需要说明的是,图1和图2中的车载***升级架构只是本发明实施例中的两种示例性的实施方式,本发明实施例中的通信***架构包括但不仅限于以上***架构。
下面结合本申请中提供的车载设备升级方法的实施例,对本申请中提出的技术问题进行具体分析和解决。
请参见图5,是本发明实施例提供的一种车载设备升级方法的流程示意图,可应用于上述图1或者图4中所述的车载***升级架构,下面将结合附图5从车载控制设备和目标待升级车载设备的交互侧进行描述,该方法可以包括以下步骤S501-步骤S505。
步骤S501:车载控制设备获取车载升级包。
步骤S502:所述车载控制设备对所述多个升级文件进行安全验证。
步骤S503:车载控制设备将目标升级文件发送给使用所述目标升级文件进行升级的目标待升级车载设备,所述目标升级文件为所述多个升级文件中通过安全验证的升级文件。
步骤S504:目标待升级车载设备接收车载控制设备发送的目标升级文件,所述目标升级文件为通过所述车载控制设备安全验证的且用于对所述待升级车载设备进行升级的升级文件。
步骤S505:目标待升级车载设备利用所述目标升级文件进行安全升级。
具体地,车载升级包包括多个升级文件,且每一个升级文件用于对至少一个待升级车载设备进行升级。即车载***内的待升级车载设备可以对应一个或者多个升级文件。
在车载控制设备执行上述步骤S501之前,还涉及到车载升级包的发布,通常情况下,车载升级包(固件/软件)的开发者会在开发和测试升级程序后,将车载升级包交付给升级服务器。在一种可能的实现方式中,所述车载升级包包括第一数字签名。假设车载升级包是M,版本信息是ver(如程序名、新版本号、旧版本号等所有源数据信息(meta-data)等)。本发明实施例,关于车载升级包的发布可以提供以下两种数字签名方式:开发者数字签名升级包或升级服务器数字签名升级包,如图6所示,图6是本发明实施例提供的两种数字签名示意图。包括以下情况1和情况2。
情况1,σ=SignD(M||ver)代表开发者对M||ver做数字签名,即本申请中的第一数字签名。
情况2,σ=SignS(M||ver)代表升级服务器对M||ver做数字签名,即本申请中的第一数字签名。
本申请对以上两种签名方式所用的数字签名算法不作具体限定。可选的,开发者和升级服务器之间可建立安全通道来传递信息,安全通道可以是网络通道也可以是物理通道,如挂号信件等。总之,在上述车载升级包的发布的执行,使得升级服务器更新了车载升级包[M,ver,σ],并对外发布有新的车载升级包更新或存在的信息。
本申请提供两种车载***升级架构。即上述图1中不包含有密钥服务器的架构一和上述图4中包含有密钥服务器的架构二:
在架构一中:车载升级包未经过加密,但是升级服务器需要验证车载控制设备的身份信息,并在验证通过后与之建立安全通道,并在这个安全通道上进行车载升级包的获取。该过程是车载控制设备中的OTA Orchestrator通过Telematics单元从升级服务器获取升级包的过程。
具体地,车载控制设备向升级服务器发送身份验证信息;若所述身份验证信息在升级服务器中验证通过,则车载控制设备与升级服务器之间建立安全通道;车载控制设备通过该安全通道从升级服务器获取需要升级的车载升级包。
在具体实施方式中,OTA Orchestrator通过查询升级服务器或是升级服务器通过推送更新消息给OTA Orchestrator。升级包的获取具体可以包括如下步骤:
1、OTA协调器OTA Orchestrator获取目标待升级车载设备的当前版本信息,可以通过查问目标待升级车载设备或是通过查询自己维护的数据库(假设OTA Orchestrator本身维护所有车载设备的固件/软件的基本信息)。
2、OTA Orchestrator决定是否需要进行升级。如需要升级,OTA Orchestrator可选择提示车主是否进行升级,如车主同意则继续进行。
3、OTA Orchestrator向升级服务器认证并与之建立安全通道,在该安全通道进行数据包传输。
4、OTA Orchestrator向升级服务器汇报车载设备的当前版本信息,如升级服务器同意,那么OTA Orchestrator下载升级包[M,ver,σ,{M’}]。其中,M为车载升级包;ver代表版本信息包括如程序名,新版本号,对应的旧版本号等所有元数据信息(meta-data);σ=SignD(M||ver)或者σ=SignS(M||ver)为第一数字签名,M’表示回滚文件;{M’}表示M’是可选项,只在目标待升级车载设备是弱设备时有效。
5、OTA Orchestrator验证第一数字签名σ的真实性,如果验证失败则放弃。可选的,如需要,OTA Orchestrator也验证M’,假设M’也带有数字签名。
在架构二中,车载升级包在升级服务器中经过加密,因此车载控制设备与升级服务器之间可以不需要建立专属的安全通道。并且车载控制设备在对车载升级包经过第一签名验证后,还需要进一步的通过第一密钥的解密。该实施例针对升级文件被开发者加密的情况。开发者加密升级文件的一个额外好处是开发者不必考虑升级服务器的可信性。进一步保护升级文件的私密性。
具体地,车载升级包经过第一密钥加密,第一密钥为对称密钥;车载控制设备从密钥服务器处获取所述第一密钥;车载控制设备使用所述第一数字签名对所述多个升级文件进行数字签名验证之后,若所述数字签名验证通过,所述车载控制设备利用所述第一密钥对所述多个升级文件进行解密。
车载升级包(固件/软件)的开发者开发和测试升级程序后,将升级文件交付给升级服务器。该过程所对应的架构如图4所示。与架构一相比,本构架需要一个额外密钥服务器。
假设升级文件是M,ver代表版本信息包括如程序名,新版本号,对应的旧版本号等所有元数据信息(meta-data)。开发者选取一任意密钥K(第一密钥),并用K加密M,即得C=E(K,M),这里E(K,.)表示用K的加密,如群组加密。
针对第一数字签名,同上述描述,其一是开发者数字签名升级包,其二是升级服务器签名升级包。该两种情况下,开发者都需将加密了的升级文件的密钥K通过安全通道发送给密钥服务器,而传输加密的升级文件的通道无需保护。怎样建立开发者和密钥服务器之间的秘密通道有多种方法,如通过TLS。本申请对此不作具体限定。
在具体实施方式中,该过程是OTA Orchestrator从升级服务器获取升级包及从密钥服务器获取解密升级软件的密钥的过程。具体的,当OTA Orchestrator知道有新的针对某一车载设备的升级包存在后启动该过程。OTA Orchestrator获知该消息可通过查询升级服务器或升级服务器通过推送信息给OTA Orchestrator。升级包的获取可以包括如下步骤:
1、OTA Orchestrator获取目标待升级车载设备的当前版本信息,可以通过查询目标待升级车载设备或是通过查询自己维护的数据库(假设OTA Orchestrator本身维护所有车载设备的固件/软件的基本信息)。
2、OTA Orchestrator决定是否需要进行升级。如需升级,OTA Orchestrator可选择提示车主是否进行升级,如车主同意则继续进行。
3、OTA Orchestrator从升级服务器下载升级包[C,ver,σ,{C′}]。注意C′表示可在升级失败时回滚的加密及数字签名了的文件;{C′}表示C′是可选项,只在目标待升级车载设备是弱设备时有效。
4、OTA Orchestrator验证σ的真实性(即验证第一数字签名的真实性),如验证失败则放弃。如需要OTA Orchestrator也验证C′。
5、OTA Orchestrator向密钥服务器认证并与之建立安全通道,并通过该安全通道获取升级包的解密密钥K(即第一密钥),如需要也需获取解密C′的解密密钥。
6、OTA Orchestrator用K解密C获得升级文件M;如需要,也需解密C′获取M’(M’是可在升级失败时回滚的文件)。
在一种可能的实现方式中,如需同时保护升级文件的私密性,那么OTAOrchestrator在获取升级包后,不解密C,而是将C分成n份C1,C2,...,Cn,然后将C1,C2,...,Cn用于后续基于Hash Chain,基于Hash Tree,和基于Bloom Filter的处理方法中。OTAOrchestrator也需将共享密钥K通过秘密通道传送给目标待升级车载设备以便后者解密。
在上述步骤S502中,车载控制设备需要从升级服务器处获得的车载升级包中的多个升级文件进行安全验证。在一种可能的实现方式中,所述车载升级包包括第一数字签名,车载控制设备OTA Orchestrator使用所述第一数字签名对所述多个升级文件进行数字签名验证。即车载控制设备在获取到车载升级包之后,不同于现有技术中的直接将升级包发送给对应的待升级车载设备进行升级,而是首先在车载控制设备侧先进行车载升级包中的多个升级文件的安全验证(例如真实性验证),再将该经过安全验证的升级文件进行转码(transdoding)然后发送给对应的待升级车载设备进行安全升级。需要说明的是,本申请中的转码是指将划分的多个子升级文件分别利用算法(Hash Chain,Hash Tree,以及BloomFilter)进行哈希关联处理,并对其中的某一个或几个节点进行MAC处理,进一步实现适用于车内网络的数据包分段安全传输。这样做减小了待升级车载设备需要进行大量的安全验证的操作,即减小了在单个待升级车载设备的安全验证的运算量以及运算复杂度等。
在上述步骤S503中,由于不同的待升级车载设备可能只对应了车载升级包中的部分升级文件,因此车载控制设备需要将所述多个升级文件中通过安全验证的目标升级文件发送给使用该目标升级文件进行升级的目标待升级车载设备。可以理解的是,目标升级文件中的每个子升级文件之间大小可以不同,内容也不同。
在一种可能的实现方式中,车载控制设备将目标升级文件划分为多个子升级文件(也可理解为多个片段),并将所述多个子升级文件通过预设算法生成互相关联的多个数据块,再利用第二密钥生成所述多个数据块的第一消息认证码MAC,最终将携带所述第一MAC的所述多个数据块逐步发送给目标待升级车载设备,其中,所述第二密钥为对称算法密钥。具体地,在车载升级包在车载设备内部传输的过程中,车载控制设备通过利用预设算法将升级文件划分为多个有关联关系的数据块,并针对该有关联关系的数据块进行MAC处理,以便于车载控制设备可以将一个完整的升级文件,划分为多个可以分开传输并且可以分开验证合法性的数据块。并且,由于多个数据块之间是有关联关系的,因此利用相关算法,可以快速定位出有安全问题的数据块。其中,预设算法包括Hash Chain算法、Hash Tree算法、Bloom Filter算法中的任意一种。在本申请中,由于车载控制设备将目标升级文件划分为多个子升级文件的目的就是避免一次性将目标升级文件发送给待升级车载设备,从而使得待升级车载设备可以分散接收并处理子升级文件。因此,本申请中的逐步,可以包括一个接着一个,也可以表示多个接着多个,例如,先发送两个,再发送两个,以此类推;还可以是先发一个,再发两个等等。即只要是将目标升级文件划分的多个子升级文件,分批次发送给待升级车载设备即可,具体是如何划分并逐步发送给待升级车载设备,本申请不作具体限定。在本申请中,为应对车载设备能力弱、存储资源不足、以及车内网络带宽有限的问题,部署的OTA Orchestrator能够对车载升级包做转码(transcoding)。借助OTA Orchestrator的转码功能,车载设备无需进行公钥密码操作,减轻车载设备的工作量。不仅减少了能力较弱的待升级车载设备在单位时间内的计算量和计算复杂度,并且在升级文件传输错误后,可以尽快找出错误的子份,从而只请求重发出错的部分,而不是整个升级文件。进一步保证了车载设备安全高效的升级。
在一种可能的实现方式中,车载控制设备将目标升级文件划分为多个子升级文件,并先经过加密(保证私密性)再进行转码(保证真实性),再将加密并转码后的子升级文件逐步的发送给目标待升级车载设备。具体地,车载控制设备对所述多个子升级文件分别利用第三密钥加密,并将所述利用第三密钥加密后的所述多个子升级文件,通过预设算法生成互相关联的多个数据块,最终将携带所述第一MAC的所述多个数据块逐步发送给所述目标待升级车载设备。即本发明实施例不同于上述发明实施例,车载控制设备需要对多个子升级文件进行转码之前进行加密,保证多个子升级文件的私密性,然后再对加密后的子升级文件进行转码。
在一种可能的实现方式中,所述目标升级文件包括多个子升级文件,所述多个子升级文件通过预设算法生成互相关联的多个数据块,且携带利用第四密钥生成的所述多个数据块的第二数字签名,所述第四密钥为非对称密钥;所述车载控制设备对所述多个数据块的第二数字签名进行校验;所述车载控制设备利用第五密钥生成所述多个数据块的第二MAC,所述第五密钥为对称算法密钥;所述车载控制设备将携带所述第二MAC的所述多个数据块逐步发送给所述目标待升级车载设备。即关于车载升级包的分块传输及签名,可以是在升级开发者侧完成,即车载控制设备获取到的是已经经过预设算法分块且签名的数据块,此时车载设备需要先分块校验其合法性,再将校验了合法性之后的数据块重新做MAC处理,由于针对MAC的校验相较于签名的计算量和计算复杂度会大大减小,因此,可以在保证车载升级文件在车载内传输过程中的合法性的同时,又可以减少待升级车载设备的计算量和计算复杂度,实现了车载设备安全高效的升级。
在上述步骤S504中:目标待升级车载设备接收车载控制设备发送的目标升级文件,该目标升级文件为通过车载控制设备安全验证的且至少用于对所述目标待升级车载设备进行升级的升级文件。具体地,该过程属于车载包在车内的安全传输过程。
在上述步骤S505中:目标待升级车载设备利用目标升级文件进行安全升级。在一种可能的实现方式中,当待升级车载设备为资源存储能力和/或处理能力超过预设值的或者预先指定的第一待升级车载设备,例如处理能力或者存储能力较强的强设备,或者指定的设备。则该目标待升级车载设备采用A/B***更新(A/B System Updates)升级模式,即目标待升级车载设备有A区和B区,待升级程序(固件或软件)运行于A区,新的升级程序则写入B区,升级完成后再切换到B去执行,不影响车载升级过程中,旧版***的正常运行。例如,强或关键设备采用A/B***更新升级方法;弱设备借助OTA Orchestrator充当备份点,以便在升级失败时回滚。当升级成功后,车载设备删除升级包并通知OTA Orchestrator,后者删除升级包,更新数据库并提示车主升级成功。OTA Orchestrator也可以选择通知升级服务器。另外,OTA Orchestrator还可以选择让目标待升级车载设备做remote attestation,证明升级成功。
在一种可能的实现方式中,所述目标待升级车载设备逐步接收所述车载控制设备发送的携带第一MAC的多个数据块,所述多个数据块为将所述多个子升级文件通过预设算法生成的互相关联的多个数据块,所述第一MAC为利用第二密钥生成的所述多个数据块的消息认证码,所述第二密钥为对称密钥,即第二密钥为共享密钥。即在目标待升级设备和车载控制设备之间,只需要经过简单的对称密钥进行真实性的验证即可。减少了目标待升级设备的运算复杂度和运算量,如此一来,即使是计算能力较弱或者存储空间较小的“弱”待升级车载设备,也可以因为只需要较小的运算量和较小的运算复杂度,进行安全高效的升级。
在一种可能的实现方式中,所述目标待升级车载设备根据所述预设算法,利用所述第二密钥逐步验证所述多个数据块;当所述多个数据块均验证通过,所述目标待升级车载设备将逐步验证通过后的所述多个数据块进行合并升级。即目标待升级设备需要在接收到车载控制设备发送的经过第二密钥和预设算法转码的多个子升级文件后,利用第二密钥校验上述第一MAC,并利用预设算法生成的相互关联的数据块的特性,对多个数据块进行关联值的校验。待所有数据块均解码验证通过后,即确定所有的数据块都验证通过,才确定将该多个子升级文件进行完整的合并升级。
在一种可能的实现方式中,所述多个子升级文件经过第三秘钥加密;当所述多个数据块均验证通过,所述目标待升级车载设备将逐步验证通过后的所述多个数据块分别利用所述第三密钥进行解密;所述目标待升级车载设备将利用所述第三密钥进行解密后的所述多个数据块进行合并升级。即本发明实施例不同于上述发明实施例,目标待升级车载设备需要对加密并转码后的子升级文件进行验证后,再对多个验证通过的子升级文件进行解密,解密成功后,在一起进行合并升级。
在一种可能的实现方式中,所述目标升级文件包括多个子升级文件;所述目标待升级车载设备逐步接收所述车载控制设备发送的携带第二MAC的多个数据块,所述多个数据块为将所述多个子升级文件通过预设算法生成互相关联的多个数据块,所述第二MAC为利用第五密钥生成的所述多个数据块的消息认证码,所述第五密钥为对称算法。所述目标待升级车载设备根据所述预设算法,并利用所述第五密钥逐步验证所述多个数据块;当所述多个数据块均验证通过,所述目标待升级车载设备将逐步验证通过后的所述多个数据块进行合并升级。即关于车载升级包的分块传输及签名,可以是在升级开发者侧完成,即车载控制设备获取到的是已经经过预设算法分块且签名的数据块,此时车载设备需要先分块校验其合法性,再将校验了合法性之后的数据块重新做MAC处理,由于针对MAC的校验相较于签名的计算量和计算复杂度会大大减小,因此,可以在保证车载升级文件在车载内传输过程中的合法性的同时,又可以减少待升级车载设备的计算量和计算复杂度,实现了车载设备安全高效的升级。
进一步地,在目标待升级车载设备进行升级操作的阶段。若多个数据块中有目标数据块在该目标待升级车载设备上未验证通过的数据块。车载控制设备将目标数据块重新发送给所述目标待升级车载设备,即目标待升级车载设备从所述车载控制设备处重新获取目标数据块。在所有数据块均验证通过的情况下,才会进行合并升级。本发明实施例中由于将目标升级文件划分为多个数据块,因此可以在某个或者某几个数据块验证失败的情况下,只需要重新下载该数据块,而不需要重新下载整个目标升级文件,节省开销,提升升级效率。
以下对上述实施例中的关于车载控制设备和目标待升级设备之间的真实性验证,即车载控制设备将车载升级包中的目标升级文件如何经过预设算法进行转码,进行说明。
具体实施方式中,当OTA Orchestrator验证车载升级包的真实性后,它将在适当的时机开始该过程,如停车状态,或者OTA Orchestrator可选择再次征求车主确认升级,OTA Orchestrator将执行对车载升级包进行分份和转码处理,并将转码后的子升级文件逐步传送给目标待升级车载设备。本申请提供三种互相独立的转码方法:基于Hash Chain,基于Hash Tree和基于Bloom Filter方案。基于这三种转码方法的升级包车内传输过程如下,首先,假设OTA Orchestrator与目标待升级车载设备共享一个密钥k。该共享k可以是静态的,也可以是OTA Orchestrator与目标待升级车载设备临时生成。
方法一:基于Hash Chain转码方法
1、OTA Orchestrator把升级文件M分割为n份,即M1,M2,...,Mn
2、将M1,M2,...,Mn组成一Hash Chain如下,H(.)代表一Cryptographic HashFunction:hn=H(Mn)
hi=H(Mi,hi+1)
h2=H(M2,h3)
3、用共享密钥k(第二密钥),OTA Orchestrator计算v=MAC(k,M1||ver,h2),这里MAC是一标准的消息认证码Message Authentication Code,即为第一MAC;
4、从第一份开始,OTAOrchestrator逐份将Mi传送目标待升级车载设备。对于第一份OTA Orchestrator需传送v,M1,ver,h2;对于余下的份OTA Orchestrator只需传送Mi和hi+1
5、目标待升级车载设备用共享密钥k逐份验证Mi。如某份验证失败,目标待升级车载设备可要求重传。当收到并验证所有份后,目标待升级车载设备将其合成完整的升级文件M。
方法二:基于Hash Tree转码方法
1、OTA Orchestrator把升级文件M分割为n份,即M1,M2,...,Mn
2、将M1,M2,...,Mn组成一binary tree如图所示:叶节点代表数据,每个中间节点包括根节点的值可由其子节点的值通过hash得到,如h1=H(M1||ver||M2),h5=H(h1||h2);
3、OTA Orchestrator用共享密钥k(第二密钥)计算根节点值,如图中例子v=MAC(k,h5||h6),即为第一MAC;
4、从M1和M2开始,OTA Orchestrator每次两份传送给目标待升级车载设备。对于前两份,OTA Orchestrator需传送v,M1||ver,M2,,h2,h6;对于余下的份OTA Orchestrator需传送两份数据及其所对于的辅助验证数据。在图例中,M1和M2的辅助验证数据是h2,h6;M3和M4的辅助验证数据是空,因为通过h2就可以验证M3和M4;M5和M6的辅助验证数据是h4,而M7和M8的辅助验证数据是空;
5、目标待升级车载设备用共享密钥k对每两份验证。如某两份验证失败,目标待升级车载设备可要求重传。当收到并验证所有份后,目标待升级车载设备将其合成完整的升级文件M。
方法三:基于Bloom Filter转码方法
Bloom Filter是一个用来决定数据是否于某集合中存在的存储高效的数据结构。例如下:
设置一长为l的数组F(Bloom Filter),起始每个单元设值为0。选取t个hashfunctionsH1,H2,...,Ht,每个hash function是集合到{1,2,...,l}的映射,即映射该集合中的每个元素到{1,2,...,l}中的某一任意值。把集合中的某个元素e加入到Bloom filter的方法如下:计算Hi(e),并修改F中Hi(e)指向的位置为1。根据F判断某个元素e’是否在集合中的方法就是计算e’的所有hash值,当且仅当所有hash值所指向的F的位置均为1,才判断元素e’存在集合中。
用Bloom filter来判断元素是否在集合有如下性质:
只要有一个该元素的hash值所指明的F中位置是0,那么可以断定该元素不在集合中;如果所有该元素的hash值指明的位置是1,虽可判断该元素在集合中,但存在falsepositive,并且false positive的概率是n是加入Bloom Filter的元素的个数;
用来添加元素或判断某元素是否在集合中的时间都是常数。
基于Bloom Filter转码的升级包车内传输过程如下:
1、OTA Orchestrator把升级文件M分割为n份,即M1,M2,...,Mn
2、OTA Orchestrator设置一Bloom filter F并加入M1,M2,...,Mn到F。利用共享密钥k(第二密钥)计算v=MAC(k,F),即为第二MAC;
3、传送F和v给目标待升级车载设备,并逐份传送Mi;
4、目标待升级车载设备先用共享密钥用k验证F,如验证失败,可要求重传F和v。当收到每份Mi时,判断其是否存在F中,如不在,则要求重传Mi。最后将所有收到的M1,M2,...,Mn合成完整的升级文件M。
针对上述三种方式,是假设车内通信无需保护升级文件的私密性(confidentiality)。如果要同时保护升级文件的私密性,那么OTA Orchestrator需要先把每份Mi加密获得密文Ci(即利用本申请中的第三密钥加密),然后在上述基于Hash Chain,基于Hash Tree,基于Bloom Filter的方法中将Ci替代Mi,即上述提到的利用第三密钥进行加密。在目标待升级车载设备收到每份后,在验证真实性后解密Ci获得Mi。值得注意的是加密的密钥和在MAC中用的密钥最好不同。例如,如果共享k足够长,可分成两个不同密钥;否则可用k通过key derivation function生成两个密钥。
以上三种OTA Orchestrator将升级文件分段并转码的一个好处是目标待升级车载设备无需验证数字签名,只需进行对称密码操作即计算MAC和Hash。并且,对称密码操作比公钥密码操作要高效的多。此外,因为待升级车载设备可以分段验证各段的合法性,因此可及时检验出非法或出错段,从而请求OTA Orchestrator重发该段,而无需重发整个升级文件。如果不进行分段转码,只是进行常规转码即将数字签名转换成MAC,则目标待升级车载设备无法精确定位出错位置,需请求OTAOrchestrator重发整个升级文件。因此本发明实施例,不仅可以精确定位出错位置,还可以减少车载内待升级设备的计算量和计算复杂度,使得待升级车载设备可以安全高效的进行升级。
以上是OTAOrchestrator将升级文件分份。在另一种实施例中,分份可由升级包开发者进行。具体的,以hash chain方法为例:
1、升级包开发者把升级文件M分割为n份,即M1,M2,...,Mn
2、将M1,M2,...,Mn组成一Hash Chain如下,H(.)代表一Cryptographic HashFunction:
hn=H(Mn)
hi=H(Mi,hi+1)
h2=H(M2,h3)
3、用签名私钥计算σ=SignD(M||ver,h2),该签名即为本申请中的第二数字签名,签名私钥即为第四密钥;
4、将[M,ver,σ]作为升级包,交给升级服务器发布。可选的,上述M1,M2,...,Mn还可以经过加密,以保证车载升级包的私密性,可以参照前述关于加密并保证升级文件的私密性的相关描述,在此不再赘述。
当OTAOrchestrator需从升级服务器获取升级包时,从第一份开始,升级服务器逐段将Mi传送目标待升级车载设备。对于第一份升级服务器需传送σ,M1,ver,h2;对于余下的份升级服务器只需传送Mi和hi+1
对于第一份M1,OTAOrchestrator需验证数字签名σ;对于余下的份Mi,OTAOrchestrator只需验证hi=H(Mi,hi+1);
当收到并验证所有份后,OTA Orchestrator做转码如上所述即用共享密钥k(即为本申请中的第五密钥),计算v=MAC(k,M1||ver,h2),该MAC即为第二MAC。后续的升级包车内传输,升级与确认过程与上述方法一、方法二、方法三的完全相同。并且,另外两种方法基于Hash Tree,基于Bloom Filter的转码方式可以结合此发明实施例并结合上述方法二和方法三,在此不再赘述。
在本发明实施例中,当车载升级包在车载控制设备中完成了真实性的验证之后(可选的,也可以在进行真实性验证之前经过私密性验证),车载控制设备需要将经过真实性验证(可选的也可以包括私密性验证)之后的多个升级文件,在车载***内传输给对应的待升级车载设备。由于传输的发送方和接收方发生了变化,即由车载升级包在车外的传输转变为车载升级包在车内的传输。所以需要重新进行真实性的验证,甚至私密性的验证。并且,本发明实施例将计算量大、计算复杂度大的签名认证,放在车载控制设备侧完成,而将计算量小以及计算复杂度小的MAC认证,保留在待升级车载设备上完成,不仅可以保证车载升级过程中,车内车外的安全性,而且还可以保证能力较弱的待升级车载设备升级的高效性。
基于上述,可以理解,在本申请中提供了以下几个关键技术点。
首先,是车载升级包的真实性(Authenticity):待升级车载设备检验升级包的真实性。为了保障升级包的真实性,升级包应由开发者或升级服务器(package server)提供数字签名。当升级包抵达OTA Orchestrator时,由OTAOrchestrator帮助待升级车载设备验证数字签名。然后OTA Orchestrator进行转码操作(Transcoding),该转码操作使用对称密码机制来为待升级车载设备提供升级包的真实性验证。假设OTA Orchestrator和每一个待升级车载设备共享一个密钥。该密钥可由OTA Orchestrator事先分发,具体的分发过程并不在本申请的范围内。转码(Transcoding)操作会把升级包分成多份,并按份传输到待升级车载设备。具体地,提出基于Hash Chain,Hash Tree和Bloom Filter三种转码操作。基于分份的转码操作及按份传输技术的优点是:充分考虑车载设备计算能力有限和车内通信网络带宽有限的事实。它可以使车载设备在升级包传输错误后,尽快找出传输错误的子份,从而只请求重发出错的份而不是整个升级包。
其次,是车载升级包的私密性(Confidentiality):攻击者可能会利用逆向工程技术分析升级包的内容,因此应保护车载升级包的私密性。下面分两种情况提出保护方案:
a.如果升级包在升级服务器上是不加密的,那么车载Telematics在获取升级包时,升级服务器应对车载Telematics进行身份验证并建立一个安全通道,从而在安全通道内发送升级包;
b.如果升级包在升级服务器上是加密的(用一个对称密钥加密),那么车载Telematics应从另一个密钥服务器获取该加密密钥,其他步骤同a。
最终,基于能力的升级策略:不同的车载设备的计算能力和内存资源是不同的,例如车载Telematics,Gateway和VCU通常比较强的,而多数车载设备(ECU)处理能力较弱。因此提出基于能力的升级策略,即资源强或关键设备应采用A/B***更新升级模式,而资源限弱设备可借助OTAOrchestrator的帮助,实现待升级车载设备旧版固件或软件的备份,以便在升级失败时回滚。
上述详细阐述了本发明实施例的方法,下面提供了本发明实施例的相关装置。
请参见图6,图6是本发明实施例提供的一种车载升级装置的结构示意图,该车载升级装置应用于车载***,所述车载***包括车载控制设备和一个或多个待升级车载设备,该车载升级装置10可以为上述***中的车载控制设备,装置10可以包括升级包获取单元101、升级管理单元102和升级传输单元103,其中,各个单元的详细描述如下。
升级包获取单元101,用于获取车载升级包,所述车载升级包包括多个升级文件,且每一个升级文件用于对至少一个待升级车载设备进行升级;
升级管理单元102,用于对所述多个升级文件进行安全验证;
升级传输单元103,将目标升级文件发送给使用所述目标升级文件进行升级的目标待升级车载设备,所述目标升级文件为所述多个升级文件中通过安全验证的升级文件。
在一种可能的实现方式中,所述车载升级包包括第一数字签名;升级管理单元,具体用于:使用所述第一数字签名对所述多个升级文件进行数字签名验证。
在一种可能的实现方式中,装置10还包括:
身份验证单元,用于向所述升级服务器发送身份验证信息;
通道建立单元,用于若所述身份验证信息在所述升级服务器中验证通过,所述车载控制设备与所述升级服务器之间建立安全通道;
所述升级包获取单元,具体用于:通过所述安全通道从所述升级服务器获取所述车载升级包。
在一种可能的实现方式中,所述车载升级包经过第一密钥加密,所述第一密钥为对称密钥;所述装置还包括:
密钥获取单元,用于从密钥服务器处获取所述第一密钥;
装置10还包括:
解密单元,用于使用所述第一数字签名对所述多个升级文件进行数字签名验证之后,若所述数字签名验证通过,所述车载控制设备利用所述第一密钥对所述多个升级文件进行解密。
在一种可能的实现方式中,升级传输单元103,具体用于:
将所述目标升级文件划分为多个子升级文件;将所述多个子升级文件通过预设算法生成互相关联的多个数据块,并利用第二密钥生成所述多个数据块的第一消息认证码MAC,所述第二密钥为对称算法密钥;将携带所述第一MAC的所述多个数据块逐步发送给所述目标待升级车载设备。
在一种可能的实现方式中,装置10还包括:
加密单元,用于对所述多个子升级文件分别利用第三密钥加密;
升级传输单元103,具体用于:
将所述目标升级文件划分为多个子升级文件;所述车载控制设备将所述利用第三密钥加密后的所述多个子升级文件,通过预设算法生成互相关联的多个数据块,并利用第二密钥生成所述多个数据块的第一消息认证码MAC,所述第二密钥为对称算法密钥;将携带所述第一MAC的所述多个数据块逐步发送给所述目标待升级车载设备。
在一种可能的实现方式中,所述目标升级文件包括多个子升级文件,所述多个子升级文件通过预设算法生成互相关联的多个数据块,且携带利用第四密钥生成的所述多个数据块的第二数字签名,所述第四密钥为非对称密钥;
升级管理单元102,具体用于:所述车载控制设备对所述多个数据块的第二数字签名进行校验;
升级传输单元103,具体用于:利用第五密钥生成所述多个数据块的第二MAC,所述第五密钥为对称算法密钥;将携带所述第二MAC的所述多个数据块逐步发送给所述目标待升级车载设备。
在一种可能的实现方式中,所述预设算法包括Hash Chain算法、Hash Tree算法、Bloom Filter算法中的任意一种。
在一种可能的实现方式中,装置10还包括:
重传单元,用于将目标数据块重新发送给所述目标待升级车载设备,所述目标数据块为所述多个数据块中在所述目标待升级车载设备上未验证通过的数据块。
需要说明的是,本发明实施例中所描述的车载升级装置10中各功能单元的功能可参见上述图1-图6所述的方法实施例的相关描述,此处不再赘述。
请参见图7,图7是本发明实施例提供的一种待升级车载装置的结构示意图,该待升级车载装置20应用于车载***,所述车载***包括车载控制设备和一个或多个待升级车载设备,该待升级车载装置20可以为上述***中的待升级车载设备,装置20可以包括接收单元,201和升级单元202,其中,各个单元的详细描述如下。
接收单元201,用于接收车载控制设备发送的目标升级文件,所述目标升级文件为通过所述车载控制设备安全验证的且至少用于对所述目标待升级车载设备进行升级的升级文件;
升级单元202,用于利用所述目标升级文件进行安全升级。
在一种可能的实现方式中,升级单元202,具体用于:
采用A/B***更新升级模式,并利用所述目标升级文件进行安全升级,所述待升级车载设备为资源存储能力和/或处理能力超过预设值的或者预先指定的第一待升级车载设备;
在一种可能的实现方式中,所述目标升级文件包括多个子升级文件;所述接收单元201,具体用于:
逐步接收所述车载控制设备发送的携带第一MAC的多个数据块,所述多个数据块为将所述多个子升级文件通过预设算法生成的互相关联的多个数据块,所述第一MAC为利用第二密钥生成的所述多个数据块的消息认证码,所述第二密钥为对称密钥;
所述升级单元202,具体用于:
根据所述预设算法,利用所述第二密钥逐步验证所述多个数据块;当所述多个数据块均验证通过,将逐步验证通过后的所述多个数据块进行合并升级。
在一种可能的实现方式中,所述多个子升级文件经过第三秘钥加密;
升级单元202,具体用于:
根据所述预设算法,利用所述第二密钥逐步验证所述多个数据块;当所述多个数据块均验证通过,将逐步验证通过后的所述多个数据块分别利用所述第三密钥进行解密;将利用所述第三密钥进行解密后的所述多个数据块进行合并升级。
在一种可能的实现方式中,接收单元201,具体用于:
逐步接收所述车载控制设备发送的携带第二MAC的多个数据块,所述多个数据块为将所述多个子升级文件通过预设算法生成互相关联的多个数据块,所述第二MAC为利用第五密钥生成的所述多个数据块的消息认证码,所述第五密钥为对称算法;
升级单元202,具体用于:
根据所述预设算法,并利用所述第五密钥逐步验证所述多个数据块;当所述多个数据块均验证通过,将逐步验证通过后的所述多个数据块进行合并升级。
在一种可能的实现方式中,装置20还包括:
重传单元,用于从所述车载控制设备处重新获取目标数据块,所述目标数据块为所述多个数据块中在所述目标待升级车载设备上未验证通过的数据块。
需要说明的是,本发明实施例中所描述的待升级车载装置20中各功能单元的功能可参见上述图1-图6所述的方法实施例的相关描述,此处不再赘述。
如图8所示,图8是本发明实施例提供的一种设备的结构示意图。待升级车载装置10和待升级车载装置20,均可以以图8中的结构来实现,该设备30包括至少一个处理器301,至少一个存储器302、至少一个通信接口303。此外,该设备还可以包括天线等通用部件,在此不再详述。
处理器301可以是通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制以上方案程序执行的集成电路。
通信接口303,用于与其他设备或通信网络通信,如升级服务器、密钥服务器、车载内部的设备等。
存储器302可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,所述存储器302用于存储执行以上方案的应用程序代码,并由处理器301来控制执行。所述处理器301用于执行所述存储器302中存储的应用程序代码。
图8所示的设备为车载设备升级装置10时,存储器302存储的代码可执行以上图2提供的车载设备升级方法,比如获取车载升级包,所述车载升级包包括多个升级文件,且每一个升级文件用于对至少一个待升级车载设备进行升级;对所述多个升级文件进行安全验证;将目标升级文件发送给使用所述目标升级文件进行升级的目标待升级车载设备,所述目标升级文件为所述多个升级文件中通过安全验证的升级文件。
需要说明的是,本发明实施例中所描述的车载设备升级装置10中各功能单元的功能可参见上述图5中所述的方法实施例中的步骤S502-步骤S503相关描述,此处不再赘述。
图8所示的设备为待升级车载装置20时,存储器302存储的代码可执行以上图9提供的车载设备升级方法,比如接收车载控制设备发送的目标升级文件,所述目标升级文件为通过所述车载控制设备安全验证的且至少用于对所述目标待升级车载设备进行升级的升级文件;利用所述目标升级文件进行安全升级。
需要说明的是,本发明实施例中所描述的待升级车载装置20中各功能单元的功能可参见上述图5中所述的方法实施例中的步骤S504-步骤S505相关描述,此处不再赘述。
如图9所示,图9是本发明实施例提供的一种智能车辆的结构示意图。该智能车辆40包括车载控制设备401和至少一个待升级车载设备402。其中
车载设备401,用于获取车载升级包,对所述车载升级包中的多个升级文件进行安全验证,并将目标升级文件发送给使用所述目标升级文件进行升级的目标待升级车载设备,其中,每一个升级文件用于对至少一个待升级车载设备进行升级,所述目标升级文件为所述多个升级文件中通过安全验证的升级文件;
待升级车载设备402,用于接收车载控制设备发送的目标升级文件,并利用所述目标升级文件进行安全升级,所述待升级车载设备为所述目标待升级车载设备。
在一种可能的实现方式中,车载控制设备401,具体用于:使用所述第一数字签名对所述多个升级文件进行数字签名验证。
在一种可能的实现方式中,车载控制设备401,具体用于:
向所述升级服务器发送身份验证信息,若所述身份验证信息在所述升级服务器中验证通过,与所述升级服务器之间建立安全通道,并通过所述安全通道从所述升级服务器获取所述车载升级包;或者
所述车载升级包经过第一密钥加密,所述第一密钥为对称密钥;车载控制设备401,具体用于:
从密钥服务器处获取所述第一密钥,并在使用所述第一数字签名对所述多个升级文件进行数字签名验证通过之后,利用所述第一密钥对所述多个升级文件进行解密。
在一种可能的实现方式中,车载控制设备401,具体用于:
将所述目标升级文件划分为多个子升级文件,并通过预设算法生成互相关联的多个数据块,利用第二密钥生成所述多个数据块的第一消息认证码MAC,再将携带所述第一MAC的所述多个数据块逐步发送给所述目标待升级车载设备,所述第二密钥为对称算法密钥;
待升级车载设备402,具体用于:
逐步接收所述车载控制设备发送的携带第一MAC的多个数据块,并根据所述预设算法,利用所述第二密钥逐步验证所述多个数据块,当所述多个数据块均验证通过,将逐步验证通过后的所述多个数据块进行合并升级。
在一种可能的实现方式中,车载控制设备401,具体用于:
对所述多个子升级文件分别利用第三密钥加密,将所述利用第三密钥加密后的所述多个子升级文件,通过预设算法生成互相关联的多个数据块;
待升级车载设备402,具体用于:
当所述多个数据块均验证通过,将逐步验证通过后的所述多个数据块分别利用所述第三密钥进行解密,再将利用所述第三密钥进行解密后的所述多个数据块进行合并升级。
在一种可能的实现方式中,所述目标升级文件包括多个子升级文件,所述多个子升级文件通过预设算法生成互相关联的多个数据块,且携带利用第四密钥生成的所述多个数据块的第二数字签名,所述第四密钥为非对称密钥;
车载控制设备401,具体用于:
对所述多个数据块的第二数字签名进行校验,利用第五密钥生成所述多个数据块的第二MAC,将携带所述第二MAC的所述多个数据块逐步发送给所述目标待升级车载设备。所述第五密钥为对称算法密钥;
待升级车载设备402,具体用于:
逐步接收所述车载控制设备发送的携带第二MAC的多个数据块,并根据所述预设算法,利用所述第五密钥逐步验证所述多个数据块,当所述多个数据块均验证通过,将逐步验证通过后的所述多个数据块进行合并升级。
需要说明的是,本发明实施例中所描述的智能车辆40中的车载控制设备401和待升级车载设备402可参见上述图5中所述的方法实施例中的车载控制设备和待升级车载设备相关描述,此处不再赘述。
可以理解的是,智能车辆40还可以运用计算机、现代传感、信息融合、通讯、人工智能及自动控制等技术,集成智能驾驶***、生活服务***、安全防护***、位置服务***以及用车服务***等功能,本申请对此不作具体限定,也不再赘述。
本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的任意一种的部分或全部步骤。
本发明实施例还提供一种计算机程序,该计算机程序包括指令,当该计算机程序被计算机执行时,使得计算机可以执行任意一种车载设备升级方法的部分或全部步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可能可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以为个人计算机、服务器或者网络设备等,具体可以是计算机设备中的处理器)执行本申请各个实施例上述方法的全部或部分步骤。其中,而前述的存储介质可包括:U盘、移动硬盘、磁碟、光盘、只读存储器(Read-Only Memory,缩写:ROM)或者随机存取存储器(Random Access Memory,缩写:RAM)等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (24)

1.一种车载设备升级方法,应用于车载***,其特征在于,所述车载***包括车载控制设备和一个或多个待升级车载设备,所述方法包括:
所述车载控制设备获取车载升级包,所述车载升级包包括多个升级文件,且每一个升级文件用于对至少一个待升级车载设备进行升级;
所述车载控制设备对所述多个升级文件进行安全验证;
所述车载控制设备将目标升级文件发送给使用所述目标升级文件进行升级的目标待升级车载设备,所述目标升级文件为所述多个升级文件中通过安全验证的升级文件;
所述车载控制设备将目标升级文件发送给使用所述目标升级文件进行升级的目标待升级车载设备,包括:
所述车载控制设备通过预设算法将所述目标升级文件划分为有关联关系的多个数据块;
所述车载控制设备对所述多个数据块中的至少一个数据块进行消息认证码MAC处理;
所述车载控制设备将所述多个数据块逐步发送给所述目标待升级车载设备,其中,所述多个数据块包括进行所述消息认证码MAC处理后的至少一个数据块。
2.根据权利要求1所述的方法,其特征在于,所述车载升级包包括第一数字签名;所述车载控制设备对所述多个升级文件进行安全验证,包括:
所述车载控制设备使用所述第一数字签名对所述多个升级文件进行数字签名验证。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述车载控制设备向升级服务器发送身份验证信息;
若所述身份验证信息在所述升级服务器中验证通过,所述车载控制设备与所述升级服务器之间建立安全通道;
所述车载控制设备获取车载升级包,包括:
所述车载控制设备通过所述安全通道从所述升级服务器获取所述车载升级包。
4.根据权利要求2所述的方法,其特征在于,所述车载升级包经过第一密钥加密,所述第一密钥为对称密钥;所述方法还包括:所述车载控制设备从密钥服务器处获取所述第一密钥;
所述车载控制设备使用所述第一数字签名对所述多个升级文件进行数字签名验证之后,包括:
若所述数字签名验证通过,所述车载控制设备利用所述第一密钥对所述多个升级文件进行解密。
5.根据权利要求1-4任意一项所述的方法,其特征在于,所述车载控制设备对所述多个数据块进行消息认证码MAC处理,包括:
所述车载控制设备利用第二密钥生成所述多个数据块的第一消息认证码MAC,所述第二密钥为对称算法密钥;
所述车载控制设备将所述多个数据块逐步发送给所述目标待升级车载设备,包括:
所述车载控制设备将携带所述第一消息认证码MAC的所述多个数据块逐步发送给所述目标待升级车载设备。
6.根据权利要求1-5任意一项所述的方法,其特征在于,所述车载控制设备通过预设算法将所述目标升级文件划分为有关联关系的多个数据块,包括:
所述车载控制设备将所述目标升级文件划分为多个子升级文件;
所述车载控制设备对所述多个子升级文件分别利用第三密钥加密;
所述车载控制设备将所述利用所述第三密钥加密后的所述多个子升级文件,通过所述预设算法生成互相关联的多个数据块。
7.根据权利要求1-6任意一项所述的方法,其特征在于,所述预设算法包括Hash Chain算法、Hash Tree算法、Bloom Filter算法中的任意一种。
8.根据权利要求1-7任意一项所述的方法,其特征在于,所述方法还包括:
所述车载控制设备将目标数据块重新发送给所述目标待升级车载设备,所述目标数据块为所述多个数据块中在所述目标待升级车载设备上未验证通过的数据块。
9.根据权利要求1-8任意一项所述的方法,其特征在于,所述目标待升级车载设备包括第一区域和第二区域,所述目标待升级车载设备的当前文件运行于所述第一区域,所述目标升级文件写入所述第二区域。
10.一种智能车辆,其特征在于,所述智能车辆,包括:车载控制设备和至少一个待升级车载设备;其中
所述车载控制设备用于,获取车载升级包,对所述车载升级包中的多个升级文件进行安全验证,并将目标升级文件发送给使用所述目标升级文件进行升级的目标待升级车载设备,其中,每一个升级文件用于对至少一个待升级车载设备进行升级;所述车载控制设备具体用于:通过预设算法将所述目标升级文件划分为有关联关系的多个数据块;对所述多个数据块中的至少一个数据块进行消息认证码MAC处理;将所述多个数据块逐步发送给所述目标待升级车载设备,其中,所述多个数据块包括进行所述消息认证码MAC处理后的至少一个数据块;
待升级车载设备,用于接收车载控制设备发送的目标升级文件,并利用所述目标升级文件进行安全升级,所述待升级车载设备为所述目标待升级车载设备;所述待升级车载设备具体用于:接收所述多个数据块;根据所述预设算法验证所述多个数据块;当所述多个数据块均验证通过,将验证通过的所述多个数据块进行合并升级。
11.根据权利要求10所述的智能车辆,其特征在于,所述车载控制设备,具体用于:
使用第一数字签名对所述多个升级文件进行数字签名验证。
12.根据权利要求11所述的智能车辆,其特征在于,所述车载控制设备,具体用于:
向升级服务器发送身份验证信息,若所述身份验证信息在所述升级服务器中验证通过,与所述升级服务器之间建立安全通道,并通过所述安全通道从所述升级服务器获取所述车载升级包。
13.根据权利要求11所述的智能车辆,其特征在于,所述车载升级包经过第一密钥加密,所述第一密钥为对称密钥;所述车载控制设备具体用于:
从密钥服务器处获取所述第一密钥,并在使用所述第一数字签名对所述多个升级文件进行数字签名验证通过之后,利用所述第一密钥对所述多个升级文件进行解密。
14.根据权利要求10-13任意一项所述的智能车辆,其特征在于,所述车载控制设备,具体用于:
利用第二密钥生成所述多个数据块的第一消息认证码MAC,再将携带所述第一消息认证码MAC的所述多个数据块逐步发送给所述目标待升级车载设备,所述第二密钥为对称算法密钥;
所述待升级车载设备,具体用于:
逐步接收所述车载控制设备发送的携带第一消息认证码MAC的多个数据块,并根据所述预设算法,利用所述第二密钥逐步验证所述多个数据块,当所述多个数据块均验证通过,将逐步验证通过后的所述多个数据块进行合并升级。
15.根据权利要求10-14任意一项所述的智能车辆,其特征在于,所述车载控制设备,具体用于:
将所述目标升级文件划分为多个子升级文件,对所述多个子升级文件分别利用第三密钥加密,将所述利用所述第三密钥加密后的所述多个子升级文件,通过所述预设算法生成互相关联的多个数据块;
所述待升级车载设备,具体用于:
当所述多个数据块均验证通过,将验证通过后的所述多个数据块分别利用所述第三密钥进行解密,再将利用所述第三密钥进行解密后的所述多个数据块进行合并升级。
16.根据权利要求10-15任意一项所述的智能车辆,其特征在于,所述车载控制设备还用于:
将目标数据块重新发送给所述目标待升级车载设备,所述目标数据块为所述多个数据块中在所述目标待升级车载设备上未验证通过的数据块。
17.根据权利要求10-16任意一项所述的智能车辆,其特征在于,所述目标待升级车载设备包括第一区域和第二区域,所述目标待升级车载设备的当前文件运行于所述第一区域,所述目标升级文件写入所述第二区域。
18.一种车载设备升级装置,其特征在于,应用于车载***,所述车载***包括车载控制设备和一个或多个待升级车载设备,所述装置包括:
升级包获取单元,用于从升级服务器获取车载升级包,所述车载升级包包括多个升级文件;
升级管理单元,用于对所述多个升级文件进行安全验证;
升级传输单元,将目标升级文件发送给使用所述目标升级文件进行升级的目标待升级车载设备,所述目标升级文件为所述多个升级文件中通过安全验证的升级文件;
其中,所述升级传输单元具体用于:通过预设算法将所述目标升级文件划分为有关联关系的多个数据块;对所述多个数据块中的至少一个进行消息认证码MAC处理;将所述多个数据块逐步发送给所述目标待升级车载设备,其中,所述多个数据块包括进行所述消息认证码MAC处理后的至少一个数据块。
19.根据权利要求18所述的装置,其特征在于,所述车载升级包包括第一数字签名;升级管理单元,具体用于:使用所述第一数字签名对所述多个升级文件进行数字签名验证。
20.根据权利要求19所述的装置,其特征在于,所述装置还包括:
身份验证单元,用于向所述升级服务器发送身份验证信息;
通道建立单元,用于若所述身份验证信息在所述升级服务器中验证通过,所述车载控制设备与所述升级服务器之间建立安全通道;
所述升级包获取单元,具体用于:通过所述安全通道从所述升级服务器获取所述车载升级包。
21.根据权利要求19所述的装置,其特征在于,所述车载升级包经过第一密钥加密,所述第一密钥为对称密钥;所述装置还包括:
密钥获取单元,用于从密钥服务器处获取所述第一密钥;
所述装置还包括:
解密单元,用于使用所述第一数字签名对所述多个升级文件进行数字签名验证之后,若所述数字签名验证通过,所述车载控制设备利用所述第一密钥对所述多个升级文件进行解密。
22.根据权利要求18-21任意一项所述的装置,其特征在于,所述升级传输单元,具体用于:
利用第二密钥生成所述多个数据块的第一消息认证码MAC,所述第二密钥为对称算法密钥;将携带所述第一消息认证码MAC的所述多个数据块逐步发送给所述目标待升级车载设备。
23.根据权利要求18-22任意一项所述的装置,其特征在于,所述装置还包括:
加密单元, 用于对多个子升级文件分别利用第三密钥加密;
所述升级传输单元,具体用于:
将所述目标升级文件划分为所述多个子升级文件,将所述利用所述第三密钥加密后的所述多个子升级文件,通过所述预设算法生成互相关联的多个数据块。
24.根据权利要求18-23任意一项所述的装置,其特征在于,所述升级传输单元还用于:
将目标数据块重新发送给所述目标待升级车载设备,所述目标数据块为所述多个数据块中在所述目标待升级车载设备上未验证通过的数据块。
CN201780096266.2A 2017-10-24 2017-10-24 一种车载设备升级方法及相关设备 Active CN111279310B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/SG2017/050530 WO2019083440A2 (zh) 2017-10-24 2017-10-24 一种车载设备升级方法及相关设备

Publications (2)

Publication Number Publication Date
CN111279310A CN111279310A (zh) 2020-06-12
CN111279310B true CN111279310B (zh) 2023-09-12

Family

ID=66246647

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780096266.2A Active CN111279310B (zh) 2017-10-24 2017-10-24 一种车载设备升级方法及相关设备

Country Status (5)

Country Link
US (1) US11662991B2 (zh)
EP (2) EP3690643B1 (zh)
JP (1) JP7139424B2 (zh)
CN (1) CN111279310B (zh)
WO (1) WO2019083440A2 (zh)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111279310B (zh) 2017-10-24 2023-09-12 华为国际有限公司 一种车载设备升级方法及相关设备
WO2020071564A1 (ko) * 2018-10-01 2020-04-09 엘지전자 주식회사 이동 its 스테이션 및 상기 이동 its 스테이션의 메시지 송수신 방법
CN112134911A (zh) * 2019-06-25 2020-12-25 联合汽车电子有限公司 一种远程程序升级方法、装置和介质
CN112394966A (zh) * 2019-08-19 2021-02-23 云丁网络技术(北京)有限公司 设备升级方法、装置、计算机可读介质及设备
CN110597542B (zh) * 2019-09-17 2023-01-31 Oppo(重庆)智能科技有限公司 软件自动ota升级方法及装置、电子设备
CN110647341A (zh) * 2019-09-21 2020-01-03 深圳市英博超算科技有限公司 Ota升级方法、装置、车辆以及计算机可读存储介质
JP7185098B2 (ja) * 2019-09-25 2022-12-06 シフトファイブ・インコーポレーテッド コンピューティングデバイス間の不正なファームウェアまたはソフトウェアアップグレードの受動的な監視および防止
CN113094062A (zh) * 2019-12-23 2021-07-09 华为技术有限公司 升级方法及装置
CN113157305B (zh) * 2020-01-23 2022-04-05 华为技术有限公司 一种软件升级方法及设备
MX2021009503A (es) * 2020-02-14 2021-09-08 Huawei Tech Co Ltd Metodo de actualizacion de dispositivo montado en vehiculo y aparato relacionado.
CN113497719B (zh) * 2020-03-20 2024-06-21 广州汽车集团股份有限公司 面向服务的车载ecu软件升级方法及***、相关设备
KR20210151498A (ko) * 2020-06-05 2021-12-14 현대자동차주식회사 차량 업데이트 시스템 및 방법
CN111651771A (zh) * 2020-06-08 2020-09-11 湖北阿桑奇汽车电子科技有限公司 一种安全fota使用方法
CN113810446B (zh) * 2020-06-16 2024-07-05 上海赫千电子科技有限公司 一种车载网络的ecu的安全升级管理方法
CN111722861B (zh) * 2020-06-17 2023-03-10 中国第一汽车股份有限公司 一种应用程序升级方法、装置、设备及存储介质
JP7314867B2 (ja) * 2020-06-18 2023-07-26 トヨタ自動車株式会社 マスタ、ネットワークシステム、方法、プログラム、センタ、および車両
CN112188434A (zh) * 2020-09-21 2021-01-05 西安墨科通讯科技有限公司 Ota升级方法及***
CN114362981A (zh) * 2020-09-30 2022-04-15 京东方科技集团股份有限公司 物联网终端设备的升级方法及相关设备
EP4211588A4 (en) * 2020-09-30 2023-10-25 Huawei Technologies Co., Ltd. METHOD FOR CHECKING THE SOFTWARE SECURITY OF AN ELECTRONIC DEVICE IN A VEHICLE AND ASSOCIATED DEVICE
DE102020212772A1 (de) * 2020-10-09 2022-04-14 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Verwalten von kryptografischen Schlüsseln
CN114385201B (zh) * 2020-10-16 2024-06-04 北京昇科能源科技有限责任公司 一种储能设备对应的端平台升级方法及***
CN112286552B (zh) * 2020-10-22 2024-04-02 百度在线网络技术(北京)有限公司 一种任务创建方法、装置、电子设备以及存储介质
CN112312358B (zh) * 2020-10-26 2023-04-18 潍柴动力股份有限公司 一种通信方法及车载终端
CN112231228B (zh) * 2020-11-06 2024-07-05 广州极飞科技股份有限公司 一种固件升级测试方法、装置、平台、设备及存储介质
CN114691346A (zh) * 2020-12-25 2022-07-01 华为技术有限公司 一种算力资源的配置方法及设备
WO2022140903A1 (zh) * 2020-12-28 2022-07-07 华为技术有限公司 一种ota升级方法及装置
CN112732293A (zh) * 2020-12-31 2021-04-30 青岛海信电子产业控股股份有限公司 一种车载***的升级方法和车载终端
CN112860559B (zh) * 2021-02-19 2024-05-28 一汽解放汽车有限公司 升级测试***和方法
CN112883382B (zh) * 2021-03-03 2023-05-23 一汽解放汽车有限公司 一种车辆刷写的方法、车联网盒、车辆及存储介质
WO2022188043A1 (zh) * 2021-03-09 2022-09-15 华为技术有限公司 一种通过空中下载ota技术获取文件的方法及相关设备
CN113114729A (zh) * 2021-03-22 2021-07-13 一汽奔腾轿车有限公司 一种用于ota可靠性的验证***及方法
CN113110850B (zh) * 2021-05-12 2022-09-20 宝能(广州)汽车研究院有限公司 车辆升级方法、装置、设备、车辆及存储介质
CN113515747B (zh) * 2021-05-17 2024-02-09 深圳市友华通信技术有限公司 设备升级方法、装置、设备及存储介质
CN113630437A (zh) * 2021-06-25 2021-11-09 际络科技(上海)有限公司 车辆的控制单元升级方法、装置及车辆
US11681811B1 (en) * 2021-06-25 2023-06-20 Northrop Grumman Systems Corporation Cybersecurity for configuration and software updates of vehicle hardware and software based on fleet level information
US11409866B1 (en) 2021-06-25 2022-08-09 Northrop Grumman Systems Corporation Adaptive cybersecurity for vehicles
CN114461240B (zh) * 2021-06-30 2023-04-14 荣耀终端有限公司 软件升级方法、软件升级***及电子设备
CN113727299B (zh) * 2021-07-15 2024-03-08 江铃汽车股份有限公司 一种握手认证方法、装置、可读存储介质及车辆
CN113660317B (zh) * 2021-07-30 2023-07-04 江西五十铃汽车有限公司 一种基于ftp协议的车载终端远程升级方法
CN113760337A (zh) * 2021-09-14 2021-12-07 远峰科技股份有限公司 一种fota的升级回滚方法及升级回滚***
CN114024732A (zh) * 2021-10-29 2022-02-08 百度在线网络技术(北京)有限公司 升级包下载方法、设备、存储介质及程序产品
CN113992660A (zh) * 2021-10-29 2022-01-28 维沃移动通信有限公司 文件传输方法、装置、电子设备及存储介质
CN114124701B (zh) * 2021-11-05 2024-01-26 交控科技股份有限公司 车载设备远程升级方法及***
CN114143197B (zh) * 2021-11-29 2024-04-02 武汉天喻信息产业股份有限公司 物联网设备ota升级方法、装置、设备及可读存储介质
CN114546448B (zh) * 2022-02-24 2024-05-14 重庆长安汽车股份有限公司 一种车辆ota并行升级的方法和相关装置
CN114567552A (zh) * 2022-03-01 2022-05-31 深圳市金溢科技股份有限公司 车载v2x设备升级方法、装置、计算机设备及存储介质
CN115175171B (zh) * 2022-06-29 2024-05-14 智己汽车科技有限公司 车辆ota升级***及车辆ota升级方法
CN115242634B (zh) * 2022-07-05 2024-03-12 蔚来汽车科技(安徽)有限公司 软件升级方法、设备和存储介质
CN115390882A (zh) * 2022-10-25 2022-11-25 广州万协通信息技术有限公司 基于车联网的车载终端程序更新方法及装置
CN116193436A (zh) * 2023-02-28 2023-05-30 东风汽车集团股份有限公司 一种车机设备ota升级包下发方法及***
CN116185460A (zh) * 2023-04-26 2023-05-30 深圳市鼎盛科电子有限公司 一种嵌入式***软件自动升级的方法及装置
CN117097462B (zh) * 2023-07-06 2024-05-24 南京中科齐信科技有限公司 一种基于量子密钥体系的车载智能软件升级加密***
CN116880878A (zh) * 2023-07-18 2023-10-13 上海正泰智能科技有限公司 一种升级方法、装置、设备及存储介质
CN117009992B (zh) * 2023-07-28 2024-04-16 广州汽车集团股份有限公司 升级包处理方法、装置、电子设备及存储介质
CN116723053B (zh) * 2023-08-07 2023-10-31 北京云驰未来科技有限公司 一种基于总线调试设备调试jtag的方法及***
CN117193819B (zh) * 2023-09-07 2024-03-26 迈胜医疗设备有限公司 放射治疗***、固件升级方法、设备及相关装置
CN117201193B (zh) * 2023-11-06 2024-01-26 新华三网络信息安全软件有限公司 病毒检测方法、装置、存储介质及电子设备
CN117527262B (zh) * 2023-12-13 2024-06-18 智极(广州)科技有限公司 一种基于芯片构建汽车安全ota的方法

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0987666A1 (de) * 1998-09-18 2000-03-22 Alcatel Verfahren zum Laden von Daten und Software in einem Fahrzeugcomputer
JP2005202503A (ja) * 2004-01-13 2005-07-28 Hitachi Ltd 車載情報装置、車載機器管理システム、車両の制御機器のプログラムのバージョンアップ情報の配信方法、車両の制御機器のプログラムのバージョンアップ方法及び車両の制御機器のプログラムのバージョンアップシステム
CN101373440A (zh) * 2008-10-09 2009-02-25 北京飞天诚信科技有限公司 一种固件升级数据处理方法和装置
CN103559057A (zh) * 2013-11-06 2014-02-05 广东小天才科技有限公司 一种嵌入式***加载启动方法及装置
CN105573790A (zh) * 2015-12-15 2016-05-11 上海博泰悦臻网络技术服务有限公司 一种车载***软件升级方法、车载***及软件服务器
CN105637803A (zh) * 2014-05-08 2016-06-01 松下电器(美国)知识产权公司 车载网络***、不正常检测电子控制单元以及不正常应对方法
CN106168899A (zh) * 2015-05-19 2016-11-30 罗伯特·博世有限公司 用于更新嵌入式控制设备的方法和更新网关
WO2017006862A1 (ja) * 2015-07-03 2017-01-12 Kddi株式会社 ソフトウェア配布処理装置、車両、ソフトウェア配布処理方法及びコンピュータプログラム
CN106385420A (zh) * 2016-09-29 2017-02-08 中国联合网络通信集团有限公司 一种ecu软件下载方法及装置
WO2017030886A1 (en) * 2015-08-14 2017-02-23 Pcms Holding, Inc. Securely upgrading resource constrained devices
CN106790053A (zh) * 2016-12-20 2017-05-31 江苏大学 一种can总线中ecu安全通信的方法
CN107026833A (zh) * 2015-10-21 2017-08-08 福特全球技术公司 用于授权机动车辆中的软件更新的方法

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6947556B1 (en) * 2000-08-21 2005-09-20 International Business Machines Corporation Secure data storage and retrieval with key management and user authentication
JP2002144983A (ja) 2000-11-14 2002-05-22 Toyoda Mach Works Ltd 車両制御装置の制御ソフト変更装置及びその方法
WO2002047272A2 (en) 2000-12-07 2002-06-13 Cryptico A/S A method of performing mathematical operations in an electronic device, a method of generating pseudo-random numbers in an electronic device, and a method of encrypting and decrypting electronic data
JP2003202931A (ja) 2002-01-09 2003-07-18 Toshiba Corp ソフトウェアダウンロードシステム、サーバ装置、端末装置、サーバ制御プログラム、端末制御プログラム、サーバ制御方法、端末制御方法
US7096311B2 (en) * 2002-09-30 2006-08-22 Innopath Software, Inc. Updating electronic files using byte-level file differencing and updating algorithms
US7366589B2 (en) * 2004-05-13 2008-04-29 General Motors Corporation Method and system for remote reflash
US8832466B1 (en) 2006-01-27 2014-09-09 Trustwave Holdings, Inc. Methods for augmentation and interpretation of data objects
US8356178B2 (en) 2006-11-13 2013-01-15 Seagate Technology Llc Method and apparatus for authenticated data storage
US8189769B2 (en) 2007-07-31 2012-05-29 Apple Inc. Systems and methods for encrypting data
US8296584B2 (en) 2007-12-28 2012-10-23 Alcatel Lucent Storage and retrieval of encrypted data blocks with in-line message authentication codes
US20090300595A1 (en) 2008-05-30 2009-12-03 Ise Corporation System and Method for Remotely Updating Control Software in a Vehicle With an Electric Drive System
JP5556659B2 (ja) 2008-08-29 2014-07-23 日本電気株式会社 通信システム、送信側及び受信又は転送側の通信装置、データ通信方法、データ通信プログラム
US9464905B2 (en) 2010-06-25 2016-10-11 Toyota Motor Engineering & Manufacturing North America, Inc. Over-the-air vehicle systems updating and associate security protocols
CN102158544A (zh) 2011-02-25 2011-08-17 深圳市元征软件开发有限公司 车载电子装置的远程升级方法及装置
US8782441B1 (en) 2012-03-16 2014-07-15 Google Inc. Methods and systems for storage of large data objects
CN102930004B (zh) 2012-10-29 2015-07-08 华为技术有限公司 哈希值存储方法、装置及芯片
US9418072B2 (en) * 2013-03-04 2016-08-16 Vmware, Inc. Cross-file differential content synchronization
US20140282470A1 (en) * 2013-03-13 2014-09-18 Arynga Inc. Remote transfer of electronic images to a vehicle
JP5864510B2 (ja) * 2013-10-18 2016-02-17 富士通株式会社 修正プログラム確認方法、修正プログラム確認プログラム、及び情報処理装置
KR101551206B1 (ko) 2013-12-13 2015-09-09 현대자동차주식회사 차량 데이터 제어 시스템 및 제어 방법
KR101527779B1 (ko) * 2014-01-13 2015-06-10 현대자동차주식회사 효율적인 차량용 리프로그래밍 장치 및 그 제어방법
KR101575447B1 (ko) * 2014-02-06 2015-12-07 현대자동차주식회사 차량의 소프트웨어 업데이트 방법
KR101551904B1 (ko) 2014-03-06 2015-09-09 재단법인 다차원 스마트 아이티 융합시스템 연구단 저장 공간을 절약하는 차량용 블랙박스의 제어방법
US10211990B2 (en) * 2014-07-25 2019-02-19 GM Global Technology Operations LLC Authenticating messages sent over a vehicle bus that include message authentication codes
US9984255B2 (en) * 2014-09-30 2018-05-29 Samsung Electronics Co., Ltd. Methods and apparatus to enable runtime checksum verification of block device images
US10042635B2 (en) 2015-06-16 2018-08-07 Lear Corporation Method for wireless remote updating vehicle software
JP6345157B2 (ja) * 2015-06-29 2018-06-20 クラリオン株式会社 車載情報通信システム及び認証方法
JP6675271B2 (ja) * 2015-09-14 2020-04-01 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法
US10437680B2 (en) * 2015-11-13 2019-10-08 Kabushiki Kaisha Toshiba Relay apparatus, relay method, and computer program product
US10114634B2 (en) * 2016-01-22 2018-10-30 2236008 Ontario Inc. Updating a controller unit in a vehicle
US12001825B2 (en) * 2016-02-19 2024-06-04 Ford Global Technologies, Llc Method and apparatus for vehicle software update installation
CN106021462A (zh) * 2016-05-17 2016-10-12 深圳市中博科创信息技术有限公司 集群文件***文件存储的方法及集群文件***
US10078638B2 (en) * 2016-06-07 2018-09-18 Globalfoundries Inc. Secure hyper transfer of large files
CN106528125A (zh) * 2016-10-26 2017-03-22 腾讯科技(深圳)有限公司 一种数据文件的增量更新方法和服务器、客户端以及***
JP2019036238A (ja) * 2017-08-21 2019-03-07 株式会社東芝 更新制御装置、端末、更新制御方法およびプログラム
US10264399B2 (en) * 2017-09-01 2019-04-16 GM Global Technology Operations LLC Location-based vehicle wireless communications
CN111279310B (zh) 2017-10-24 2023-09-12 华为国际有限公司 一种车载设备升级方法及相关设备
CN108200044B (zh) 2017-12-28 2021-02-19 宁德时代新能源科技股份有限公司 车载程序文件加密方法和***
CN108337234B (zh) 2017-12-28 2021-03-23 宁德时代新能源科技股份有限公司 车载程序文件加密方法和装置
EP3759588B1 (en) 2018-03-19 2022-09-28 Huawei International Pte. Ltd. Method and apparatus for updating devices in a remote network
CN112055952B (zh) 2018-04-30 2024-05-03 华为国际有限公司 一种车载设备升级方法及相关设备

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0987666A1 (de) * 1998-09-18 2000-03-22 Alcatel Verfahren zum Laden von Daten und Software in einem Fahrzeugcomputer
JP2005202503A (ja) * 2004-01-13 2005-07-28 Hitachi Ltd 車載情報装置、車載機器管理システム、車両の制御機器のプログラムのバージョンアップ情報の配信方法、車両の制御機器のプログラムのバージョンアップ方法及び車両の制御機器のプログラムのバージョンアップシステム
CN101373440A (zh) * 2008-10-09 2009-02-25 北京飞天诚信科技有限公司 一种固件升级数据处理方法和装置
CN103559057A (zh) * 2013-11-06 2014-02-05 广东小天才科技有限公司 一种嵌入式***加载启动方法及装置
CN105637803A (zh) * 2014-05-08 2016-06-01 松下电器(美国)知识产权公司 车载网络***、不正常检测电子控制单元以及不正常应对方法
CN106168899A (zh) * 2015-05-19 2016-11-30 罗伯特·博世有限公司 用于更新嵌入式控制设备的方法和更新网关
WO2017006862A1 (ja) * 2015-07-03 2017-01-12 Kddi株式会社 ソフトウェア配布処理装置、車両、ソフトウェア配布処理方法及びコンピュータプログラム
WO2017030886A1 (en) * 2015-08-14 2017-02-23 Pcms Holding, Inc. Securely upgrading resource constrained devices
CN107026833A (zh) * 2015-10-21 2017-08-08 福特全球技术公司 用于授权机动车辆中的软件更新的方法
CN105573790A (zh) * 2015-12-15 2016-05-11 上海博泰悦臻网络技术服务有限公司 一种车载***软件升级方法、车载***及软件服务器
CN106385420A (zh) * 2016-09-29 2017-02-08 中国联合网络通信集团有限公司 一种ecu软件下载方法及装置
CN106790053A (zh) * 2016-12-20 2017-05-31 江苏大学 一种can总线中ecu安全通信的方法

Also Published As

Publication number Publication date
JP7139424B2 (ja) 2022-09-20
WO2019083440A2 (zh) 2019-05-02
CN111279310A (zh) 2020-06-12
US11662991B2 (en) 2023-05-30
JP2021500816A (ja) 2021-01-07
US20200264864A1 (en) 2020-08-20
EP3690643A2 (en) 2020-08-05
EP3690643A4 (en) 2020-10-28
WO2019083440A3 (zh) 2019-06-20
EP3690643B1 (en) 2023-01-25
EP4152144A1 (en) 2023-03-22

Similar Documents

Publication Publication Date Title
CN111279310B (zh) 一种车载设备升级方法及相关设备
US11985238B2 (en) Vehicle-mounted device upgrade method and related device
CN112585905B (zh) 一种设备升级方法及相关设备
CN112543927B (zh) 一种设备升级方法及相关设备
US10728229B2 (en) Method and device for communicating securely between T-box device and ECU device in internet of vehicles system
US20190268763A1 (en) In-vehicle networking
US20180183587A1 (en) Blockchain-Assisted Public Key Infrastructure for Internet of Things Applications
JP5310761B2 (ja) 車両ネットワークシステム
US11228438B2 (en) Security device for providing security function for image, camera device including the same, and system on chip for controlling the camera device
CN108650220B (zh) 发放、获取移动终端证书及汽车端芯片证书的方法、设备
US10970398B2 (en) Data provision system, data security device, data provision method, and computer program
CN110086755A (zh) 实现物联网服务的方法、应用服务器、物联网设备和介质
JP6203798B2 (ja) 車載制御システム、車両、管理装置、車載コンピュータ、データ共有方法、及びコンピュータプログラム
JP2018006782A (ja) データ提供システム、データ提供装置、車載コンピュータ、データ提供方法、及びコンピュータプログラム
Wu et al. Security design of OTA upgrade for intelligent connected vehicle
WO2024037048A1 (zh) 通信方法、装置和***
Shipman et al. A Zero Trust Architecture for Automotive Networks
CN117813804A (zh) 通信方法及相关设备
CN117850846A (zh) 目标电子控制单元的升级方法、装置、设备及存储介质
CN117354016A (zh) 一种整车ota安全升级方法、装置、设备及介质

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