CN112713999A - 基于双向身份认证的网联汽车安全远程更新方法 - Google Patents

基于双向身份认证的网联汽车安全远程更新方法 Download PDF

Info

Publication number
CN112713999A
CN112713999A CN202011580637.4A CN202011580637A CN112713999A CN 112713999 A CN112713999 A CN 112713999A CN 202011580637 A CN202011580637 A CN 202011580637A CN 112713999 A CN112713999 A CN 112713999A
Authority
CN
China
Prior art keywords
software
updating
vehicle
package
authentication
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.)
Granted
Application number
CN202011580637.4A
Other languages
English (en)
Other versions
CN112713999B (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.)
Beihang University
Original Assignee
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN202011580637.4A priority Critical patent/CN112713999B/zh
Publication of CN112713999A publication Critical patent/CN112713999A/zh
Application granted granted Critical
Publication of CN112713999B publication Critical patent/CN112713999B/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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3273Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual 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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • 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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • 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
    • 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)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及智能网联汽车信息安全领域,基于双向身份认证的网联汽车安全远程更新方法,应用于汽车OTA系统,所述汽车OTA系统包括云端系统和车载端系统,云端系统包括OEM服务器和软件供应商服务器,车载端系统包括更新网关和电子控制单元;OEM服务器完成对车辆的身份认证以及下发各个电子控制单元的更新权限给对应的软件供应商;更新网关从OEM服务器获取软件更新信息,并进行身份验证,获取到身份口令和软件供应商的信息之后从对应的软件供应商服务器下载不同电子控制单元ECU的软件更新包;电子控制单元获取到软件更新包后对自身的软件进行安装并运行;本发明的优点在于:对汽车软件更新的全生命周期进行安全防护。

Description

基于双向身份认证的网联汽车安全远程更新方法
技术领域
本发明涉及智能网联汽车信息安全领域,具体涉及基于双向身份认证的网联汽车安全远程更新方法。
背景技术
车联网、自动驾驶技术发展给汽车带来便利,如汽车应用可以向支付、社交、娱乐等更多场景扩展,但同时也增加相应的信息安全威胁。车与外部的每一个接口都可能被利用,每一个控制单元都可能被攻击。究其原因,智能网联汽车相对于传统汽车,涉及更多的车载软件代码(上亿行代码)、更多的联网电子控制单元(70+ECU)、更多的传感器,硬件及软件功能扩展过程中增加了相应的信息安全威胁。攻击者可以远程地对汽车发起网络攻击,造成个人隐私数据的泄漏甚至车辆被攻击者控制,存在非常严重的安全隐患。
电子控制单元(ECU)逐渐取代了车辆中的许多机械和气动控制系统,软件的数量越来越多,使得软件系统非常复杂,不可能由单一公司开发。目前的OTA更新系统,借鉴传统计算机领域的更新机制,建立中心化的软件仓库,由汽车制造商(OEM)负责管理和发布更新包,车辆从OEM设立的软件仓库获取更新包进行更新。但是这种方法没有考虑到汽车软件的特殊性,不能很好地满足汽车OTA更新的安全需求。汽车行业的供应链是非常复杂的,每一辆汽车的软件可能由多级供应商提供,供应商的数量也非常多,如果OTA更新系统没有把软件供应商考虑进来,软件更新的发布和传送过程将不会受到完整的保护,使得攻击者有机可乘,因此现有汽车更新方法以及系统,不符合汽车现有的产业结构和安全需求,不能对汽车软件更新的全生命周期进行安全防护。
发明内容
解决的技术问题
针对现有技术的不足,本发明提供了基于双向身份认证的网联汽车安全远程更新方法,解决现有汽车更新方法不符合汽车现有的产业结构和安全需求,不能对汽车软件更新的全生命周期进行安全防护的问题。
技术方案
为实现以上目的,本发明通过以下技术方案予以实现:
本发明的一个方面提供了基于双向身份认证的网联汽车安全远程更新方法,应用于汽车OTA系统,所述汽车OTA系统包括云端系统和车载端系统,所述云端系统包括OEM服务器和软件供应商服务器,所述车载端系统包括更新网关和电子控制单元;
所述OEM服务器完成对车辆的身份认证以及下发各个电子控制单元的更新权限给对应的软件供应商,在完成对车辆的身份认证之后给车辆指定相应的软件供应商和身份口令;
更新网关从OEM服务器获取软件更新信息,并进行身份验证,获取到身份口令和软件供应商的信息之后从对应的软件供应商服务器下载不同电子控制单元ECU的软件更新包,对获取的软件更新包进行安全性校验,验证成功之后再向车内的电子控制单元下发软件更新包;
电子控制单元获取到软件更新包后对自身的软件进行安装,并运行新版本的软件。
进一步地,所述软件供应商用于软件更新包的制作,并利用其私钥对软件包进行签名,在车辆请求更新包时,对车辆的身份口令进行验证,只有身份口令有效的情况下才给车辆下发软件更新包。
进一步地,所述OEM服务器生成并注册车辆的身份密钥,在车辆的HSM中写入身份密钥,并根据该密钥在更新的过程中完成对车辆的身份认证。
更进一步地,所述更新方法包括查询更新的过程:车载端系统的更新网关以固定的频率向OEM服务器查询最新的版本软件更新的时间,如果云端系统提供的版本大于自身软件的版本,说明需要进行软件更新,则启动软件更新流程。
更进一步地,所述更新方法还包括请求更新的过程:在检测到有新的软件版本需要更新时,车载端系统向OEM服务器发送更新请求,并且利用车辆的身份密钥生成HMAC签名,如果认证成功,OEM服务器会返回如下信息:a)软件更新包的下载地址即软件供应商服务器的URL,以及软件更新包的版本号、尺寸;b)软件更新包对应的下载口令,下载口令是汽车制造商为每一次下载请求生成的一个密码口令;c)上述a)项和b)项的所有信息的签名值。
更进一步地,所述签名值的计算方法为:
通过公式
Figure BDA0002865889810000031
获取签名值,其中,H为密码哈希算法,m为需要签名的消息,即车辆发送给OEM服务器的消息内容;K为身份密钥;K′为与哈希算法区块大小相同的密钥且
Figure BDA0002865889810000041
||表示将两个数据连接起来,
Figure BDA0002865889810000042
表示异或运算,opad表示与哈希算法的区块相同长度的Ox5c字节序列,ipad表示与哈希算法的区块相同长度的0x36字节序列。
更进一步地,所述更新方法还包括下载更新包的过程:
车载端系统从OEM服务器获取了软件包的下载地址和下载口令之后,对OEM服务器返回的信息进行签名校验,校验成功则继续更新流程,否则中止更新流程,并通过用户界面发送安全警告信息,校验成功之后根据软件包下载地址和下载口令,通过https协议从软件供应商服务器下载软件更新包;
车载端系统从软件供应商服务器请求下载软件更新包时,需要将车辆的VIN码发送给软件供应商服务器,软件供应商服务器通过查询汽车制造商的授权车辆列表来验证车辆是否有下载软件包的权限,完成更新认证。
更进一步地,所述更新认证的过程为:
步骤101:软件供应商服务器接收到车载端系统的下载软件更新包的请求时,软件供应商服务器对没有认证的车载端系统返回一个http回复,所述http回复包括一个认证域或者一个字符编码的参数,所述http回复用于提醒车载端系统使用认证域或字符编码的参数限定的编码方案来编码用户名和密码;
步骤102:车载端系统使用认证域发送认证信息给软件供应商服务器,所述认证域的规则包括:用户名和密码使用冒号连接,用户名和密码中不能包含冒号,具体采用VIN码作为用户名,OEM服务器返回的下载口令作为密码,得到字符串;将字符串编码成字节序列;得到的字节序列使用Base64的变种进行编码得到新的字符串,新的字符串前面加上认证方式和一个空格,作为认证信息;
步骤103:软件供应商服务器接收到车载端系统的认证信息以后,从汽车制造商的授权车辆列表中查找是否存在该车辆提供的VIN码和口令,如果VIN码和口令与认证信息验证一致,则通过验证并返回状态码A,否则验证失败并返回验证码B,其中,状态码A和验证码B均为预设的数字码值。
进一步地,所述电子控制单元获取到软件更新包后对自身的软件进行安装,并运行新版本的软件,包括:
步骤201:电子控制单元连接更新网关的本地服务器,等待电子控制单元下发更新指令;
步骤202:接收到更新网关开始更新指令,检查自身状态,如果处于空闲状态则回复电子控制单元准备就绪指令,否则发送失败指令;
步骤203:接收电子控制单元下发的软件更新包的元信息,该元信息以json格式发送;
步骤204:向更新网关发送接收完成指令,请求下发软件更新包;
步骤205:更新网关下发软件更新包;
步骤206:校验软件更新包和元信息的正确性,并返回校验的结果;
步骤207:更新网关最后向电子控制单元发送确认消息,如果发送更新成功消息,电子控制单元则安装运行软件更新包,否则丢弃所有的数据,更新失败。
有益效果
本发明提供了基于双向身份认证的网联汽车安全远程更新方法,与现有公知技术相比,本发明的具有如下有益效果:
(1)由OEM服务器对软件供应商进行授权,由软件供应商直接分发软件更新包的软件更新方法,并且在软件更新时,OEM服务器会对车辆的身份进行认证,只有已经注册的车辆可以通过身份认证从而进行软件更新。同时,车载端系统也可以对软件供应商的身份进行认证,只有经过OEM服务器授权的软件供应商才能给车辆下发软件更新包,通过双向认证机制,可以保证软件更新包的真实性,防止恶意攻击者通过中间人攻击、伪装攻击等方式发布恶意的软件更新包,同时也可以防止恶意攻击者伪装成车辆终端从软件服务器获取软件更新包等信息,对软件更新的内容的机密性进行防护,保护企业的商业机密,对汽车软件更新的全生命周期进行安全防护。
(2)汽车制造商OEM主导软件更新过程,可以将不同的电子控制单元的软件更新分发权限委托给不同的软件供应商服务器,为软件更新提供全生命周期的安全防护。
(3)为每一辆汽车注册唯一的身份密钥,并利用HSM(Hardware Security Module)存储身份密钥,防止密钥被破坏或者被窃取。
(4)汽车制造商OEM对车辆进行身份认证管理,只有汽车制造商OEM才拥有车辆的身份密钥信息,软件供应商只需要通过汽车制造商OEM给车辆发布的临时密钥对车辆的身份进行认证。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例所提供的基于双向身份认证的网联汽车安全远程更新方法的系统架构框图;
图2为本发明实施例所提供的基于双向身份认证的网联汽车安全远程更新方法中下载软件更新包身份验证流程图;
图3为本发明实施例所提供的基于双向身份认证的网联汽车安全远程更新方法中电子控制单元从更新网关下载软件更新包的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例:
参照图1,本发明提供基于双向身份认证的网联汽车安全远程更新方法,应用于汽车OTA系统,所述汽车OTA系统包括云端系统和车载端系统,所述云端系统包括OEM服务器和软件供应商服务器,所述车载端系统包括更新网关和电子控制单元;图1中云端系统的OEM服务器和软件供应商服务器没有绘出,只是给出了服务器的架构,包括应用接口层、安全服务层以及硬件和操作系统层,其中,应用接口层用于与车载端系统进行交互,图1中更新管理网关即为更新网关,车内ECU即为电子控制单元。
所述OEM服务器完成对车辆的身份认证以及下发各个电子控制单元的更新权限给对应的软件供应商,在完成对车辆的身份认证之后给车辆指定相应的软件供应商和身份口令,使车辆可以从不同的软件供应商获取软件更新包;身份认证的主要过程为:所述OEM服务器生成并注册车辆的身份密钥,在车辆的HSM中写入身份密钥,并根据该密钥在更新的过程中完成对车辆的身份认证。
所述软件供应商用于软件更新包的制作,并利用其私钥对软件包进行签名,在车辆请求更新包时,对车辆的身份口令进行验证,只有身份口令有效的情况下才给车辆下发软件更新包。
车载端系统和云端系统的交互主要由车内的更新网关来完成,更新网关从OEM服务器获取软件更新信息,并进行身份验证,获取到身份口令和软件供应商的信息之后从对应的软件供应商服务器下载不同电子控制单元ECU的软件更新包,对获取的软件更新包进行安全性校验,验证成功之后再向车内的电子控制单元下发软件更新包。
电子控制单元获取到软件更新包后对自身的软件进行安装,并运行新版本的软件。
以下详细介绍所述网联汽车安全远程更新方法的原理过程:
(1)查询更新的过程:车载端系统的更新网关以固定的频率向OEM服务器查询最新的版本软件更新的时间,如果云端系统提供的版本大于自身软件的版本,说明需要进行软件更新,则启动软件更新流程。
(2)请求更新的过程:在检测到有新的软件版本需要更新时,车载端系统向OEM服务器发送更新请求,并且利用车辆的身份密钥生成HMAC签名,如果认证成功,OEM服务器会返回如下信息:a)软件更新包的下载地址即软件供应商服务器的URL,以及软件更新包的版本号、尺寸;b)软件更新包对应的下载口令,下载口令是汽车制造商为每一次下载请求生成的一个密码口令;c)上述a)项和b)项的所有信息的签名值。
其中,所述签名值的计算方法为:
通过公式
Figure BDA0002865889810000093
获取签名值,其中,H为密码哈希算法,m为需要签名的消息,即车辆发送给OEM服务器的消息内容;K为身份密钥;K′为与哈希算法区块大小相同的密钥且
Figure BDA0002865889810000091
||表示将两个数据连接起来,
Figure BDA0002865889810000092
表示异或运算,opad表示与哈希算法的区块相同长度的0x5c字节序列,ipad表示与哈希算法的区块相同长度的0x36字节序列,例如,长度为3的0x36序列即0x363636,以此类推,0x表示16进制,0x5c字节序列中的c是16进制表示的一个数,其转化为十进制为12。
(3)下载更新包的过程:
车载端系统从OEM服务器获取了软件包的下载地址和下载口令之后,对OEM服务器返回的信息进行签名校验,校验成功则继续更新流程,否则中止更新流程,并通过用户界面发送安全警告信息,校验成功之后根据软件包下载地址和下载口令,通过https协议从软件供应商服务器下载软件更新包;
软件供应商为车辆分发提供软件更新包时,会对车辆的下载请求进行验证,只有被汽车制造商OEM认证并授权的特定车辆才有下载软件更新包的权限。车辆认证成功之后,汽车制造商OEM会给每一个单独的车辆生成一个口令(token)。车载端系统从软件供应商服务器请求下载软件更新包时,需要将车辆的VIN码发送给软件供应商服务器,软件供应商服务器通过查询汽车制造商的授权车辆列表来验证车辆是否有下载软件包的权限,完成更新认证。
如图2所示,上述更新认证的过程为:
步骤101:软件供应商服务器接收到车载端系统的下载软件更新包的请求时,软件供应商服务器对没有认证的车载端系统返回一个http回复,所述http回复包括一个认证域或者一个字符编码的参数,所述http回复用于提醒车载端系统使用认证域或字符编码的参数限定的编码方案来编码用户名和密码。例如,在本实施例中,返回的状态码应该为”HTTP401 Unauthorized”,并且包含一个“WWW-Authenticate”域(WWW-Authenticate:Basicrealm=“User Visible Realm”),也可以包含一个字符编码的参数,例如(charset=”UTF-8”),这个参数代表服务器希望客户端使用UTF-8编码方案来编码用户名和密码。
步骤102:车载端系统使用认证域发送认证信息给软件供应商服务器,所述认证域的规则包括:用户名和密码使用冒号连接,用户名和密码中不能包含冒号,具体采用VIN码作为用户名,OEM服务器返回的下载口令作为密码,得到字符串;将字符串编码成字节序列;得到的字节序列使用Base64的变种进行编码得到新的字符串,新的字符串前面加上认证方式和一个空格,作为认证信息;例如,在本实施例中,a)用户名和密码应该使用冒号连接,所以用户名和密码中不能包含冒号,本发明使用的是VIN码作为用户名,汽车制造商OEM返回的口令作为密码;b)上一步得到的字符串应该编码成字节序列。字符编码的方式默认是ASCII,但是可以使用服务器端要求的编码方式;c)再将得到的字节序列使用Base64的变种进行编码形成新的字符串;d)在编码的新的字符串前面加上认证方式和一个空格,例如“Basic”。
步骤103:软件供应商服务器接收到车载端系统的认证信息以后,从汽车制造商的授权车辆列表中查找是否存在该车辆提供的VIN码和口令,如果VIN码和口令与认证信息验证一致,则通过验证并返回状态码A,否则验证失败并返回验证码B,其中,状态码A和验证码B均为预设的数字码值,本实施例中,状态码A为状态码200,验证码B为验证码403,实际应用中可以根据需要设定码值。
(4)如图3所示,所述电子控制单元获取到软件更新包后对自身的软件进行安装,并运行新版本的软件,包括:
步骤201:电子控制单元连接更新网关的本地服务器,等待电子控制单元下发更新指令;
步骤202:接收到更新网关开始更新指令,检查自身状态,如果处于空闲状态则回复电子控制单元准备就绪指令,否则发送失败指令;
步骤203:接收电子控制单元下发的软件更新包的元信息,该元信息以json格式发送;
步骤204:向更新网关发送接收完成指令,请求下发软件更新包;
步骤205:更新网关下发软件更新包;
步骤206:校验软件更新包和元信息的正确性,并返回校验的结果;
步骤207:更新网关最后向电子控制单元发送确认消息,如果发送更新成功消息,电子控制单元则安装运行软件更新包,否则丢弃所有的数据,更新失败。
通过以上技术方案,本发明提供的基于双向身份认证的网联汽车安全远程更新方法,由OEM服务器对软件供应商进行授权,由软件供应商直接分发软件更新包的软件更新方法,并且在软件更新时,OEM服务器会对车辆的身份进行认证,只有已经注册的车辆可以通过身份认证从而进行软件更新。同时,车载端系统也可以对软件供应商的身份进行认证,只有经过OEM服务器授权的软件供应商才能给车辆下发软件更新包,通过双向认证机制,可以保证软件更新包的真实性,防止恶意攻击者通过中间人攻击、伪装攻击等方式发布恶意的软件更新包,同时也可以防止恶意攻击者伪装成车辆终端从软件服务器获取软件更新包等信息,对软件更新的内容的机密性进行防护,保护企业的商业机密,对汽车软件更新的全生命周期进行安全防护。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (9)

1.基于双向身份认证的网联汽车安全远程更新方法,其特征在于,应用于汽车OTA系统,所述汽车OTA系统包括云端系统和车载端系统,所述云端系统包括OEM服务器和软件供应商服务器,所述车载端系统包括更新网关和电子控制单元;
所述OEM服务器完成对车辆的身份认证以及下发各个电子控制单元的更新权限给对应的软件供应商,在完成对车辆的身份认证之后给车辆指定相应的软件供应商和身份口令;
更新网关从OEM服务器获取软件更新信息,并进行身份验证,获取到身份口令和软件供应商的信息之后从对应的软件供应商服务器下载不同电子控制单元ECU的软件更新包,对获取的软件更新包进行安全性校验,验证成功之后再向车内的电子控制单元下发软件更新包;
电子控制单元获取到软件更新包后对自身的软件进行安装,并运行新版本的软件。
2.根据权利要求1所述的基于双向身份认证的网联汽车安全远程更新方法,其特征在于,所述软件供应商用于软件更新包的制作,并利用其私钥对软件包进行签名,在车辆请求更新包时,对车辆的身份口令进行验证,只有身份口令有效的情况下才给车辆下发软件更新包。
3.根据权利要求1所述的基于双向身份认证的网联汽车安全远程更新方法,其特征在于,所述OEM服务器生成并注册车辆的身份密钥,在车辆的HSM中写入身份密钥,并根据该密钥在更新的过程中完成对车辆的身份认证。
4.根据权利要求3所述的基于双向身份认证的网联汽车安全远程更新方法,其特征在于,所述更新方法包括查询更新的过程:车载端系统的更新网关以固定的频率向OEM服务器查询最新的版本软件更新的时间,如果云端系统提供的版本大于自身软件的版本,说明需要进行软件更新,则启动软件更新流程。
5.根据权利要求4所述的基于双向身份认证的网联汽车安全远程更新方法,其特征在于,所述更新方法还包括请求更新的过程:在检测到有新的软件版本需要更新时,车载端系统向OEM服务器发送更新请求,并且利用车辆的身份密钥生成HMAC签名,如果认证成功,OEM服务器会返回如下信息:a)软件更新包的下载地址即软件供应商服务器的URL,以及软件更新包的版本号、尺寸;b)软件更新包对应的下载口令,下载口令是汽车制造商为每一次下载请求生成的一个密码口令;c)上述a)项和b)项的所有信息的签名值。
6.根据权利要求5所述的基于双向身份认证的网联汽车安全远程更新方法,其特征在于,所述签名值的计算方法为:
通过公式
Figure FDA0002865889800000021
获取签名值,其中,H为密码哈希算法,m为需要签名的消息,即车辆发送给OEM服务器的消息内容;K为身份密钥;K′为与哈希算法区块大小相同的密钥且
Figure FDA0002865889800000022
||表示将两个数据连接起来,
Figure FDA0002865889800000023
表示异或运算,opad表示与哈希算法的区块相同长度的0x5c字节序列,ipad表示与哈希算法的区块相同长度的0x36字节序列。
7.根据权利要求5所述的基于双向身份认证的网联汽车安全远程更新方法,其特征在于,所述更新方法还包括下载更新包的过程:
车载端系统从OEM服务器获取了软件包的下载地址和下载口令之后,对OEM服务器返回的信息进行签名校验,校验成功则继续更新流程,否则中止更新流程,并通过用户界面发送安全警告信息,校验成功之后根据软件包下载地址和下载口令,通过https协议从软件供应商服务器下载软件更新包;
车载端系统从软件供应商服务器请求下载软件更新包时,需要将车辆的VIN码发送给软件供应商服务器,软件供应商服务器通过查询汽车制造商的授权车辆列表来验证车辆是否有下载软件包的权限,完成更新认证。
8.根据权利要求7所述的基于双向身份认证的网联汽车安全远程更新方法,其特征在于,所述更新认证的过程为:
步骤101:软件供应商服务器接收到车载端系统的下载软件更新包的请求时,软件供应商服务器对没有认证的车载端系统返回一个http回复,所述http回复包括一个认证域或者一个字符编码的参数,所述http回复用于提醒车载端系统使用认证域或字符编码的参数限定的编码方案来编码用户名和密码;
步骤102:车载端系统使用认证域发送认证信息给软件供应商服务器,所述认证域的规则包括:用户名和密码使用冒号连接,用户名和密码中不能包含冒号,具体采用VIN码作为用户名,OEM服务器返回的下载口令作为密码,得到字符串;将字符串编码成字节序列;得到的字节序列使用Base64的变种进行编码得到新的字符串,新的字符串前面加上认证方式和一个空格,作为认证信息;
步骤103:软件供应商服务器接收到车载端系统的认证信息以后,从汽车制造商的授权车辆列表中查找是否存在该车辆提供的VIN码和口令,如果VIN码和口令与认证信息验证一致,则通过验证并返回状态码A,否则验证失败并返回验证码B,其中,状态码A和验证码B均为预设的数字码值。
9.根据权利要求1所述的基于双向身份认证的网联汽车安全远程更新方法,其特征在于,所述电子控制单元获取到软件更新包后对自身的软件进行安装,并运行新版本的软件,包括:
步骤201:电子控制单元连接更新网关的本地服务器,等待电子控制单元下发更新指令;
步骤202:接收到更新网关开始更新指令,检查自身状态,如果处于空闲状态则回复电子控制单元准备就绪指令,否则发送失败指令;
步骤203:接收电子控制单元下发的软件更新包的元信息,该元信息以json格式发送;
步骤204:向更新网关发送接收完成指令,请求下发软件更新包;
步骤205:更新网关下发软件更新包;
步骤206:校验软件更新包和元信息的正确性,并返回校验的结果;
步骤207:更新网关最后向电子控制单元发送确认消息,如果发送更新成功消息,电子控制单元则安装运行软件更新包,否则丢弃所有的数据,更新失败。
CN202011580637.4A 2020-12-28 2020-12-28 基于双向身份认证的网联汽车安全远程更新方法 Active CN112713999B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011580637.4A CN112713999B (zh) 2020-12-28 2020-12-28 基于双向身份认证的网联汽车安全远程更新方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011580637.4A CN112713999B (zh) 2020-12-28 2020-12-28 基于双向身份认证的网联汽车安全远程更新方法

Publications (2)

Publication Number Publication Date
CN112713999A true CN112713999A (zh) 2021-04-27
CN112713999B CN112713999B (zh) 2021-10-19

Family

ID=75546982

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011580637.4A Active CN112713999B (zh) 2020-12-28 2020-12-28 基于双向身份认证的网联汽车安全远程更新方法

Country Status (1)

Country Link
CN (1) CN112713999B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116017613A (zh) * 2022-09-08 2023-04-25 西部科学城智能网联汽车创新中心(重庆)有限公司 网联汽车在多个边缘云网关进行软切换的方法及装置
CN116307949A (zh) * 2023-05-24 2023-06-23 江西五十铃汽车有限公司 车辆ota组件产线验证方法、设备、介质和程序产品

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120215713A1 (en) * 2011-02-22 2012-08-23 Deere & Company End of Assembly Line Test System Internal To Vehicle Controllers
CN102685115A (zh) * 2012-04-24 2012-09-19 华为软件技术有限公司 一种资源的访问方法、资源管理设备和系统
CN103188248A (zh) * 2011-12-31 2013-07-03 卓望数码技术(深圳)有限公司 基于单点登录的身份认证系统及方法
CN106385420A (zh) * 2016-09-29 2017-02-08 中国联合网络通信集团有限公司 一种ecu软件下载方法及装置
US20180336024A1 (en) * 2017-05-19 2018-11-22 Blackberry Limited Method and system for hardware identification and software update control
US10592231B2 (en) * 2018-08-10 2020-03-17 Denso Corporation Vehicle information communication system
US20200193739A1 (en) * 2015-08-05 2020-06-18 EZ Lynk SEZC System and method for calculation and communication of carbon offsets
CN111736868A (zh) * 2020-06-17 2020-10-02 北京航空航天大学 一种基于身份标识和双向验证的汽车远程更新方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120215713A1 (en) * 2011-02-22 2012-08-23 Deere & Company End of Assembly Line Test System Internal To Vehicle Controllers
CN103188248A (zh) * 2011-12-31 2013-07-03 卓望数码技术(深圳)有限公司 基于单点登录的身份认证系统及方法
CN102685115A (zh) * 2012-04-24 2012-09-19 华为软件技术有限公司 一种资源的访问方法、资源管理设备和系统
US20200193739A1 (en) * 2015-08-05 2020-06-18 EZ Lynk SEZC System and method for calculation and communication of carbon offsets
CN106385420A (zh) * 2016-09-29 2017-02-08 中国联合网络通信集团有限公司 一种ecu软件下载方法及装置
US20180336024A1 (en) * 2017-05-19 2018-11-22 Blackberry Limited Method and system for hardware identification and software update control
US10592231B2 (en) * 2018-08-10 2020-03-17 Denso Corporation Vehicle information communication system
CN111736868A (zh) * 2020-06-17 2020-10-02 北京航空航天大学 一种基于身份标识和双向验证的汽车远程更新方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116017613A (zh) * 2022-09-08 2023-04-25 西部科学城智能网联汽车创新中心(重庆)有限公司 网联汽车在多个边缘云网关进行软切换的方法及装置
CN116017613B (zh) * 2022-09-08 2023-11-24 西部科学城智能网联汽车创新中心(重庆)有限公司 网联汽车在多个边缘云网关进行软切换的方法及装置
CN116307949A (zh) * 2023-05-24 2023-06-23 江西五十铃汽车有限公司 车辆ota组件产线验证方法、设备、介质和程序产品
CN116307949B (zh) * 2023-05-24 2023-08-22 江西五十铃汽车有限公司 车辆ota组件产线验证方法、设备、介质和程序产品

Also Published As

Publication number Publication date
CN112713999B (zh) 2021-10-19

Similar Documents

Publication Publication Date Title
CN102859935B (zh) 利用虚拟机远程维护电子网络中的多个客户端的系统和方法
CN103166759B (zh) 使用诊断链路连接器(dlc)和onstar系统的用于安全固件下载的方法和装置
US20180139056A1 (en) Apparatus and method to perform secure data sharing in a distributed network by using a blockchain
CN103679005B (zh) 启用安全电子控制单元的开发模式的方法
CN110891257B (zh) 一种具有防攻击双向认证的网联车远程升级系统及方法
CN109804597B (zh) 车载网关、密钥管理装置
CN112713999B (zh) 基于双向身份认证的网联汽车安全远程更新方法
US11373762B2 (en) Information communication device, authentication program for information communication device, and authentication method
EP4002786B1 (en) Distributed ledger system
CN115396121B (zh) 安全芯片ota数据包的安全认证方法及安全芯片装置
CN110248130B (zh) 视频数据的可信性保障系统、验证方法及存储介质
CN103677892A (zh) 在安全电子控制单元中启用特殊优先模式的授权方案
CN112153646B (zh) 认证方法、设备及系统
CN112165382A (zh) 软件授权方法、装置、授权服务端及终端设备
WO2017191472A1 (en) A verification system and method
US20200274866A1 (en) Method for implementing client side credential control to authorize access to a protected device
CN115643564A (zh) 汽车安全的fota升级方法、装置、设备及存储介质
CN112669104A (zh) 租赁设备的数据处理方法
JP7143744B2 (ja) 機器統合システム及び更新管理システム
JP7489310B2 (ja) 電子キーシステム
CN115516420A (zh) 用于软件更新的认证密钥的可控范围
CN111224826B (zh) 基于分布式系统的配置更新方法、设备、系统及介质
US20230275773A1 (en) Distributed ledger system
CN110336773B (zh) IoT设备数据的可信性保障系统、验证方法及存储介质
US20240028731A1 (en) Method for modifying software in a motor vehicle

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