CN111897545B - 应用于ecu的安全访问方法和系统 - Google Patents
应用于ecu的安全访问方法和系统 Download PDFInfo
- Publication number
- CN111897545B CN111897545B CN202010600358.3A CN202010600358A CN111897545B CN 111897545 B CN111897545 B CN 111897545B CN 202010600358 A CN202010600358 A CN 202010600358A CN 111897545 B CN111897545 B CN 111897545B
- Authority
- CN
- China
- Prior art keywords
- ecu
- security
- client
- access
- current
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
- G06F21/46—Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
Abstract
本发明公开了一种应用于ECU的安全访问方法和系统,所述方法通过客户机发送安全访问请求至待刷写电子控制单元ECU,并获取待刷写ECU的当前状态和当前场景;在当前状态为原始状态,并且当前场景为工厂场景时,客户机跳过安全访问,对待刷写ECU进行刷写操作;在当前状态为安全工作状态并且当前场景为售后场景时,客户机进行安全访问,并在通过安全访问后,对待刷写ECU进行刷写操作,能够在车辆处于工厂生产状态时,自动判断豁免ECU安全访问,有效提高了生产节拍,提高生产效率,在车辆销售后进行ECU刷写,自动判断车载ECU的合法性和可刷写性,同时适合于生产和售后对ECU安全访问的需求,兼容性强,实施方便。
Description
技术领域
本发明涉及汽车电子技术领域,尤其涉及一种应用于ECU的安全访问方法和系统。
背景技术
随着现代汽车电子技术不断地发展和进步,汽车变得更加聪明和智能,作为汽车大脑的电子控制单元(Electronic Control Unit,ECU),其硬件平台和基础软件越来越模块化和通用化,应用软件则变得越来越复杂和差异化,为了提高应用软件的开发质量并缩短开发周期,应用软件的迭代不可避免,这就需要对ECU进行升级再刷写。
现有的ECU安全访问技术中,通过多次发送种子seed和获得密钥key进行多次验证和对比用来防止利用非法者创建模拟器模拟ECU,用访问实体或者诊断工具获取多组seed和key,从而破解ECU的密钥算法,不仅浪费了ECU和访问实体或者诊断工具的资源,而且浪费了刷写时间,更重要的是这种方式还是依赖于算法和验证的方式,ECU的安全性也不好保证;而通过安全服务器在车辆下线之前存储每个ECU特有的识别值和对应的独特的安全密钥值的方式,安全服务器需要检索庞大的数据库,将造成时间上的浪费和实时性的风险。
发明内容
本发明的主要目的在于提供一种应用于ECU的安全访问方法和系统,旨在解决现有技术中刷写ECU软件时进行安全访问效率低,ECU的安全性较差,容易被破解,实时性较差的技术问题。
第一方面,本发明提供一种应用于ECU的安全访问方法,所述应用于ECU的安全访问方法包括以下步骤:
客户机发送安全访问请求至待刷写电子控制单元ECU,并获取待刷写ECU的当前状态和当前场景;
在所述当前状态为原始状态,并且所述当前场景为工厂场景时,所述客户机跳过安全访问,对所述待刷写ECU进行刷写操作;
在所述当前状态为安全工作状态,并且所述当前场景为售后场景时,所述客户机进行安全访问,并在通过安全访问后,对所述待刷写ECU进行刷写操作。
可选地,所述在所述当前状态为安全工作状态,并且所述当前场景为售后场景时,所述客户机进行安全访问,并在通过安全访问后,对所述待刷写ECU进行刷写操作,包括:
在所述当前状态为安全工作状态,并且所述当前场景为售后场景时,所述待刷写ECU发送所述安全访问请求对应的密钥种子至所述客户机;
所述客户机根据所述密钥种子进行安全访问,并在通过安全访问后,对所述待刷写ECU进行刷写操作。
可选地,所述在所述当前状态为安全工作状态,并且所述当前场景为售后场景时,所述待刷写ECU发送所述安全访问请求对应的密钥种子至所述客户机,包括:
在所述当前状态为安全工作状态,并且所述当前场景为售后场景时,所述待刷写ECU获取所述安全访问请求对应的初始安全种子矩阵;
所述待刷写ECU根据预设提取算法从所述初始安全种子矩阵中获得初始安全种子;
所述待刷写ECU获取所述待刷写ECU的当前零件号和当前安全访问等级,并根据所述初始安全种子、所述当前零件号和所述当前安全访问等级生成安全种子数据;
所述待刷写ECU对所述安全种子数据进行静态加密,获得密钥种子,并将所述密钥种子发送至所述客户机。
可选地,所述客户机根据所述密钥种子进行安全访问,并在通过安全访问后,对所述待刷写ECU进行刷写操作,包括:
所述待刷写ECU根据预设加密算法获得所述密钥种子对应的ECU安全密钥;
所述客户机访问安全服务器,将客户机指纹信息和所述密钥种子进行打包并签名,生成签名数据包,并上传所述签名数据包至所述安全服务器;
所述安全服务器解析所述签名数据包,获得服务器安全密钥,并将所述服务器安全密钥发送给所述客户机;
所述客户机将所述服务器安全密钥发送给所述待刷写ECU;
所述待刷写ECU将所述ECU安全密钥与所述服务器安全密钥进行比较,在所述ECU安全密钥与所述服务器安全密钥一致时,判定所述客户机通过安全访问;
所述客户机对所述待刷写ECU进行刷写操作。
可选地,所述安全服务器解析所述签名数据包,获得服务器安全密钥,并将所述服务器安全密钥发送给所述客户机,包括:
所述安全服务器对所述签名数据包进行签名验证和指纹验证;
在所述签名验证和所述指纹验证都验证通过后,所述安全服务器对所述密钥种子进行解析,获得服务器安全密钥,并将所述服务器安全密钥发送给所述客户机。
可选地,所述在所述当前状态为安全工作状态,并且所述当前场景为售后场景时,所述客户机进行安全访问,并在通过安全访问后,对所述待刷写ECU进行刷写操作之前,所述ECU的安全访问方法还包括:
所述客户机获取所述待刷写ECU的当前累计刷写次数,将所述当前累计刷写次数与预设刷写次数阈值进行比较;
所述客户机在所述当前累计刷写次数大于所述预设刷写次数阈值时,生成ECU替换提示信息,并将所述ECU替换提示信息进行反馈。
可选地,所述在所述当前状态为安全工作状态,并且所述当前场景为售后场景时,所述客户机进行安全访问,并在通过安全访问后,对所述待刷写ECU进行刷写操作之后,所述ECU的安全访问方法还包括:
在所述当前状态为原始状态并且所述当前场景为售后场景,或在所述当前状态为安全工作状态并且所述当前场景为工厂场景时,判定所述待刷写ECU不合法,所述客户机生成告警信息,并将所述告警信息进行反馈。
第二方面,本发明还提出一种应用于ECU的安全访问系统所述应用于ECU的安全访问系统包括:
所述客户机,用于发送安全访问请求至待刷写ECU,并获取所述待刷写ECU的当前状态和当前场景;
所述客户机,用于在所述当前状态为原始状态,并且所述当前场景为工厂场景时,跳过安全访问,对所述待刷写ECU进行刷写操作;
所述客户机,还用于在所述当前状态为安全工作状态,并且所述当前场景为售后场景时,进行安全访问,并在通过安全访问后,对所述待刷写ECU进行刷写操作。
可选地,所述待刷写ECU,用于在所述当前状态为安全工作状态,并且所述当前场景为售后场景时,获取所述安全访问请求对应的初始安全种子矩阵;
所述待刷写ECU,还用于根据预设提取算法从所述初始安全种子矩阵中获得初始安全种子;
所述待刷写ECU,还用于获取所述待刷写ECU的当前零件号和当前安全访问等级,并根据所述初始安全种子、所述当前零件号和所述当前安全访问等级生成安全种子数据;
所述待刷写ECU,还用于对所述安全种子数据进行静态加密,获得密钥种子,并将所述密钥种子发送至所述客户机。
可选地,所述ECU的安全访问系统还包括:安全服务器;其中,
所述待刷写ECU,还用于根据预设加密算法获得所述密钥种子对应的ECU安全密钥;
所述客户机,还用于访问所述安全服务器,将客户机指纹信息和所述密钥种子进行打包并签名,生成签名数据包,并上传所述签名数据包至所述安全服务器;
所述安全服务器,用于对所述签名数据包进行签名验证和指纹验证;
所述安全服务器,还用于在所述签名验证和所述指纹验证都验证通过后,对所述密钥种子进行解析,获得服务器安全密钥,并将所述服务器安全密钥发送给所述客户机;
所述客户机,还用于将所述服务器安全密钥发送给所述待刷写ECU;
所述待刷写ECU,还用于将所述ECU安全密钥与所述服务器安全密钥进行比较,在所述ECU安全密钥与所述服务器安全密钥一致时,判定所述客户机通过安全访问;
所述客户机,还用于在通过安全访问后,对所述待刷写ECU进行刷写操作。
本发明提出的应用于ECU的安全访问方法,通过客户机发送安全访问请求至待刷写电子控制单元ECU,并获取待刷写ECU的当前状态和当前场景;在所述当前状态为原始状态,并且所述当前场景为工厂场景时,所述客户机跳过安全访问,对所述待刷写ECU进行刷写操作;在所述当前状态为安全工作状态,并且所述当前场景为售后场景时,所述客户机进行安全访问,并在通过安全访问后,对所述待刷写ECU进行刷写操作,能够在车辆处于工厂生产状态时,自动判断豁免ECU安全访问,有效提高了生产节拍,提高生产效率,在车辆销售后进行ECU刷写,自动判断车载ECU的合法性和可刷写性,保证了车辆销售后对ECU状态判断的实时性,节约了安全访问的时间,,同时适合于生产和售后对ECU安全访问的需求,兼容性强,实施方便,且可以有效避免非法设备和非法访问车载ECU的情况发生。
附图说明
图1为本发明应用于ECU的安全访问方法第一实施例的流程示意图;
图2为本发明应用于ECU的安全访问方法第二实施例的流程示意图;
图3为本发明应用于ECU的安全访问方法第三实施例的流程示意图;
图4为本发明应用于ECU的安全访问方法第四实施例的流程示意图;
图5为本发明应用于ECU的安全访问方法第五实施例的流程示意图;
图6为本发明应用于ECU的安全访问方法中ECU状态检查流程示意图;
图7为本发明应用于ECU的安全访问方法中数据流向的示意图;
图8为本发明应用于ECU的安全访问系统第一实施例的功能模块图;
图9为本发明应用于ECU的安全访问系统第二实施例的功能模块图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的解决方案主要是:通过客户机发送安全访问请求至待刷写电子控制单元ECU,并获取待刷写ECU的当前状态和当前场景;在所述当前状态为原始状态,并且所述当前场景为工厂场景时,所述客户机跳过安全访问,对所述待刷写ECU进行刷写操作;在所述当前状态为安全工作状态,并且所述当前场景为售后场景时,所述客户机进行安全访问,并在通过安全访问后,对所述待刷写ECU进行刷写操作,能够在车辆处于工厂生产状态时,自动判断豁免ECU安全访问,有效提高了生产节拍,提高生产效率,在车辆销售后进行ECU刷写,自动判断车载ECU的合法性和可刷写性,保证了车辆销售后对ECU状态判断的实时性,节约了安全访问的时间,,同时适合于生产和售后对ECU安全访问的需求,兼容性强,实施方便,且可以有效避免非法设备和非法访问车载ECU的情况发生,解决了现有技术中刷写ECU软件时进行安全访问效率低,ECU的安全性较差,容易被破解,实时性较差的技术问题。
参照图1,图1为本发明应用于ECU的安全访问方法第一实施例的流程示意图。
在第一实施例中,所述应用于ECU的安全访问方法包括以下步骤:
步骤S10、客户机发送安全访问请求至待刷写电子控制单元ECU,并获取待刷写ECU的当前状态和当前场景。
需要说明的是,在客户机发送安全访问请求至待刷写电子控制单元ECU之前,默认客户机与待刷写电子控制单元(Electronic Control Unit,ECU)之间已经建立了有效连接;所述安全访问请求为预先设置的用于对所述待刷写ECU进行安全访问并获取相关信息的请求,通过所述安全访问请求能够获取待刷写ECU的当前状态,所述当前状态为待刷写ECU的当前工作状态,所述当前场景为所述待刷写ECU的当前刷写场景,所述当前场景可以是工厂场景,即车辆生产装配时对车载ECU进行刷写的场景,所述当前场景还可以是售后场景,即车辆销售之后对车载ECU进行刷写的场景。
可以理解的是,所述客户机可以待刷写解锁ECU,可以是诊断工具或车载远程信息处理器(Telematics BOX,T-BOX),也可以是其他访问实体,本实施例对此不加以限制;所述客户机与所述待刷写ECU可以是直接通过物理连接,也可以是通过符合基于Internet协议的诊断通信(Diagnostic communication over Internet Protocol,DoIP)/统一诊断服务(Unified Diagnostic Services,UDS)/关键字协议(Keyword Protocol 2000,KWP2000)诊断协议的数据流进行数据交互,当然也可以是通过其他方式连接,例如,通过其他车载总线如可变速率的控制器局域网络((Controller Area Network,CAN)CAN with FlexibleData-Rate,CANFD)总线进行连接等,本实施例对此不加以限制。
步骤S20、在所述当前状态为原始状态,并且所述当前场景为工厂场景时,所述客户机跳过安全访问,对所述待刷写ECU进行刷写操作。
应当理解的是,所述原始状态为所述待刷写ECU处于工厂车辆装配生产的线上原始状态,在所述当前状态为原始状态,并且所述当前场景为工厂场景时,所述客户机可以跳过安全访问的相关认证操作,直接对所述待刷写ECU执行刷写操作。
步骤S30、在所述当前状态为安全工作状态,并且所述当前场景为售后场景时,所述客户机进行安全访问,并在通过安全访问后,对所述待刷写ECU进行刷写操作。
可以理解的是,所述安全工作状态为所述待刷写ECU处于工厂车辆装配生产完成后的线下或车辆销售后的状态,在所述当前状态为所述安全工作状态并且所述当前场景为售后场景时,所述客户机必须进行安全访问的相关认证步骤,在通过安全访问后,才能对所述待刷写ECU进行刷写操作。
在具体实现中,一般通过供货流程要求供应商供给工厂的ECU零件必须是原始状态,而供给售后的ECU必须为安全工作状态;所述待刷写ECU具有两种状态,virgin状态即所述原始状态,和security状态即所述安全工作状态,在virgin状态时,所述客户机client可以跳过安全访问直接对ECU进行刷写,表现为ECU存储器flash存储零件号字段(Ref)、车辆识别号码(Vehicle Identification Number,VIN)字段(VIN)、刷写计数器(ProCntr)等字段为默认字节填充0xFF;而在security状态,所述客户机client,必须经过安全访问解锁ECU,才可以进行后续的刷写动作,一般的车辆生产装配进行线下对ECU进行刷写后,ECU就从virgin状态被置为security状态,表现为ECU存储器flash存储的Ref为真实值,VIN为对应的车辆VIN值或者为空,ProCntr被置为相应的值如0x00。
本实施例通过上述方案,通过客户机发送安全访问请求至待刷写电子控制单元ECU,并获取待刷写ECU的当前状态和当前场景;在所述当前状态为原始状态,并且所述当前场景为工厂场景时,所述客户机跳过安全访问,对所述待刷写ECU进行刷写操作;在所述当前状态为安全工作状态,并且所述当前场景为售后场景时,所述客户机进行安全访问,并在通过安全访问后,对所述待刷写ECU进行刷写操作,能够在车辆处于工厂生产状态时,自动判断豁免ECU安全访问,有效提高了生产节拍,提高生产效率,在车辆销售后进行ECU刷写,自动判断车载ECU的合法性和可刷写性,保证了车辆销售后对ECU状态判断的实时性,节约了安全访问的时间,,同时适合于生产和售后对ECU安全访问的需求,兼容性强,实施方便,且可以有效避免非法设备和非法访问车载ECU的情况发生。
进一步地,图2为本发明应用于ECU的安全访问方法第二实施例的流程示意图,如图2所示,基于第一实施例提出本发明应用于ECU的安全访问方法第二实施例,在本实施例中,所述步骤S30具体包括以下步骤:
步骤S31、在所述当前状态为安全工作状态,并且所述当前场景为售后场景时,所述待刷写ECU发送所述安全访问请求对应的密钥种子至所述客户机。
需要说明的是,在安全工作状态并且是售后场景时,所述待刷写ECU会发送所述安全访问请求对应的密钥种子至所述客户机,所述密钥种子为所述待刷写ECU对所述客户机的身份进行认证的种子。
步骤S32、所述客户机根据所述密钥种子进行安全访问,并在通过安全访问后,对所述待刷写ECU进行刷写操作。
应当理解的是,所述客户机根据所述密钥种子可以对所述待刷写ECU进行安全访问,安全访问成功通过后才能对所述待刷写ECU进行刷写操作,而安全访问不成功,即没有通过安全访问认证则没有相应权限对所述待刷写ECU进行刷写操作。
相应地,所述步骤S30之后,所述ECU的安全访问方法还包括以下步骤:
在所述当前状态为原始状态并且所述当前场景为售后场景,或在所述当前状态为安全工作状态并且所述当前场景为工厂场景时,判定所述待刷写ECU不合法,所述客户机生成告警信息,并将所述告警信息进行反馈。
可以理解的是,在所述当前状态为原始状态并且所述当前场景为售后场景,或在所述当前状态为安全工作状态并且所述当前场景为工厂场景时,此时刷写ECU的行为属于非法行为,此时所述客户机可以生成相应的告警信息并进行反馈,一般可以反馈至相关操作人员,当然也可以直接反馈至服务中心进行相关处理,一般可以禁止当前刷写ECU行为,或者直接提醒操作人员进行ECU更换,反馈的方式可以是通过信息提醒、语言提醒、报警铃声提醒或其他类型的反馈提醒方式,例如灯光告警提醒,本实施例对此不加以限制。
在具体实现中,原始设备制造商(Original Equipment Manufacturer,OEM)会在流程上要求供应商供给工厂的ECU必须是Virgin状态,而供给售后的ECU必须为security状态;在工厂车辆装配生产线上对ECU进行下线刷写时,下线刷写设备核查ECU状态,若为Virgin状态,则直接跳过安全访问步骤执行ECU刷写,并在车辆终检之前,置ECU为security状态并执行写VIN操作;否则退出刷写,警告ECU状态非法;一般的,OEM通过流程要求供应商提供给生产和售后的ECU状态分别为virgin和security状态;当车辆销售后需要对ECU进行再刷写或者更换新的ECU零件时,再刷写或者更换的ECU是security状态,就必须进行安全访问步骤。
本实施例通过上述方案,通过在所述当前状态为安全工作状态,并且所述当前场景为售后场景时,所述待刷写ECU发送所述安全访问请求对应的密钥种子至所述客户机;所述客户机根据所述密钥种子进行安全访问,并在通过安全访问后,对所述待刷写ECU进行刷写操作,在车辆销售后进行ECU刷写,自动判断车载ECU的合法性和可刷写性,保证了车辆销售后对ECU状态判断的实时性,节约了安全访问的时间,,同时适合于生产和售后对ECU安全访问的需求,兼容性强,实施方便,且可以有效避免非法设备和非法访问车载ECU的情况发生。
进一步地,图3为本发明应用于ECU的安全访问方法第三实施例的流程示意图,如图3所示,基于第二实施例提出本发明应用于ECU的安全访问方法第三实施例,在本实施例中,所述步骤S31具体包括以下步骤:
步骤S311、在所述当前状态为安全工作状态,并且所述当前场景为售后场景时,所述待刷写ECU获取所述安全访问请求对应的初始安全种子矩阵。
需要说明的是,在所述当前状态为安全工作状态时,可以通过所述安全访问请求获取对应的初始安全种子矩阵,所述初始安全种子矩阵为存储在所述待刷写ECU中的种子矩阵,用于产出初始安全种子。
在具体实现中,相同ECU的存储器flash中存储有一个初始安全种子矩阵,如SEED16,用来产生初始安全种子(IntSecSeed16),不同类型ECU的初始安全种子矩阵要求不同,甚至不同批次相同类型ECU的也可以不同,具体由OEM根据安全级别去定义,其存储于ECU不可擦除存储单元中。
步骤S312、所述待刷写ECU根据预设提取算法从所述初始安全种子矩阵中获得初始安全种子。
可以理解的是,所述预设提取算法为预先设置的种子提取有效算法,通过激活所述预设提取算法,可以从所述初始安全种子矩阵计算得到初始安全种子,在实际操作中,ECU利用预设提取算法提取的初始安全种子为随机的并和上次保持不同。
步骤S313、所述待刷写ECU获取所述待刷写ECU的当前零件号和当前安全访问等级,并根据所述初始安全种子、所述当前零件号和所述当前安全访问等级生成安全种子数据。
应当理解的是,ECU具备不同安全访问等级,如level1=SIDLev1,level2=SIDLev2;所述当前安全访问等级为与所述初始安全种子匹配的所述待刷写ECU当前的安全访问等级,所述当前零件号为所述待刷写ECU的存储器中存储的零件号,通过所述初始安全种子、所述当前零件号和所述当前安全访问等级可以生成安全种子数据。
在具体实现中,所述客户机和所述待刷写ECU建立了有效连接后,会向所述待刷写ECU请求合适的安全种子数据,具体是通过所述预设提取算法从所述初始安全种子矩阵中计算获得初始安全种子,再结合零件号和安全访问等级得到安全种子数据。
步骤S314、所述待刷写ECU对所述安全种子数据进行静态加密,获得密钥种子,并将所述密钥种子发送至所述客户机。
可以理解的是,通过对所述安全种子数据进行静态加密,能够获得密钥种子,进而可以将密钥种子发送至所述客户机,静态加密的方式可以是非对称密钥,也可以是数字签名,还可以是其他加密方式,例如数字签名的方式进行静态加密,本实施例对此不加以限制。
本实施例通过上述方案,通过在所述当前状态为安全工作状态,并且所述当前场景为售后场景时,所述待刷写ECU获取所述安全访问请求对应的初始安全种子矩阵;所述待刷写ECU根据预设提取算法从所述初始安全种子矩阵中获得初始安全种子;所述待刷写ECU获取所述待刷写ECU的当前零件号和当前安全访问等级,并根据所述初始安全种子、所述当前零件号和所述当前安全访问等级生成安全种子数据;所述待刷写ECU对所述安全种子数据进行静态加密,获得密钥种子,并将所述密钥种子发送至所述客户机,能够提高车辆生产过程中刷写ECU软件时进行安全访问的数据链的安全性,同时适合于生产和售后对ECU安全访问的需求,兼容性强,实施方便,且可以有效避免非法设备和非法访问车载ECU的情况发生。
进一步地,图4为本发明应用于ECU的安全访问方法第四实施例的流程示意图,如图4所示,基于第二实施例提出本发明应用于ECU的安全访问方法第四实施例,在本实施例中,所述步骤S32具体包括以下步骤:
步骤S321、所述待刷写ECU根据预设加密算法获得所述密钥种子对应的ECU安全密钥。
需要说明的是,所述预设加密算法为预先设置的对密钥种子进行加密的算法,所述待刷写ECU的不同的安全访问等级会对应不同的计算安全密钥的算法,即不同的安全访问等级对应不同的预设加密算法,所述待刷写ECU能够根据所述预设加密算法计算获得所述密钥种子对应的ECU安全密钥。
步骤S322、所述客户机访问安全服务器,将客户机指纹信息和所述密钥种子进行打包并签名,生成签名数据包,并上传所述签名数据包至所述安全服务器。
应当理解的是,所述客户机在访问所述安全服务器后,可以将客户机指纹信息和所述密钥种子进行打包并签名,生成签名数据包,然后向所述安全服务器请求解锁,所述客户机指纹信息为所述客户机本身的指纹信息,所述安全服务器为对所述客户机进行身份验证的服务器,所述安全服务器可以为售后安全服务器,也可以为空间下载技术(Over-the-Air Technology,OTA)安全服务器即unlockSrv,所述安全服务器和所述客户机可以通过Internet安全链路连接,即只可以被认证过的客户机在安全的Internet链路下进行访问,所述安全服务器可以用于解锁ECU,能够进行实体身份验证、数据验证和计算解锁数据。
可以理解的是,在所述客户机为诊断工具时,所述客户机可以通过车载自动诊断系统(On-Board Diagnostics,OBD)接口和ECU连接,通过互联网和所述安全服务器连接;在所述客户机为车载T-BOX时,所述客户机可以通过车载总线和ECU连接,通过4G/5G网络和所述安全服务器连接;所述可客户机拥有访问所述安全服务器的权限并且能够与之通过安全链路进行信息交互,还能够向ECU发送请求指令来进行信息获取和软件刷写。
在具体实现中,只有所述客户机的所述客户机指纹信息录入到了所述安全服务器中,所述客户机才能连接和访问所述安全服务器;所述客户机和所述安全服务器的连接通过安全网络和安全链路进行,不限于有限网络或者无线网络,证书签名和证书验证可以随着系统升级进行更换。
步骤S323、所述安全服务器解析所述签名数据包,获得服务器安全密钥,并将所述服务器安全密钥发送给所述客户机。
可以理解的是,所述安全服务器解析所述签名数据包中的密钥种子后,可以获得服务器安全密钥,进而将所述服务器安全密钥发送给所述客户机。
进一步地,所述步骤S323具体包括以下步骤:
所述安全服务器对所述签名数据包进行签名验证和指纹验证;
在所述签名验证和所述指纹验证都验证通过后,所述安全服务器对所述密钥种子进行解析,获得服务器安全密钥,并将所述服务器安全密钥发送给所述客户机。
需要说明的是,所述安全服务器可以对所述签名数据包进行签名验证和指纹验证,在所述签名验证和所述指纹验证都验证通过后,所述安全服务器对所述密钥种子进行解析,获得服务器安全密钥;具体可以通过预设检索加密算法对所述签名数据包进行解锁,并将解锁数据发送给客户机,所述客户机接收到解锁数据后,对所述解锁数据进行证书签名验证和指纹验证,验证通过后,所述安全服务器对所述密钥种子进行解析,获得服务器安全密钥。
在具体实现中,所述安全服务器根据接收到所述客户机的请求数据,获取所述待刷写ECU的零件号和安全访问等级,从而检索到对应的加密算法,计算获得解锁数据,并将解锁数据发送至客户机。
步骤S324、所述客户机将所述服务器安全密钥发送给所述待刷写ECU。
应当理解的是,所述客户机在获得服务器安全密钥后,会将所述服务器安全密钥发送给所述待刷写ECU,即所述安全服务器与所述待刷写ECU不直接进行数据交互。
步骤S325、所述待刷写ECU将所述ECU安全密钥与所述服务器安全密钥进行比较,在所述ECU安全密钥与所述服务器安全密钥一致时,判定所述客户机通过安全访问。
可以理解的是,所述待刷写ECU在接收到ECU安全密钥和所述服务器安全密钥后可以对两个密钥进行匹配比对,判断两者是否一致,在所述ECU安全密钥与所述服务器安全密钥一致时,即可判定所述客户机通过安全访问。
步骤S326、所述客户机对所述待刷写ECU进行刷写操作。
可以理解的是,在所述ECU安全密钥与所述服务器安全密钥一致时,可以判定所述客户机解锁所述待刷写ECU成功,所述客户机对所述待刷写ECU进行刷写操作,即在所述ECU安全密钥与所述服务器安全密钥一致时,所述客户机会对所述待刷写ECU进行指纹解锁,所述待刷写ECU会向所述客户机响应肯定应当,即可判定所述客户机解锁所述待刷写ECU成功,所述客户机对所述待刷写ECU进行刷写操作。
本实施例通过上述方案,通过所述待刷写ECU根据预设加密算法获得所述密钥种子对应的ECU安全密钥;所述客户机访问安全服务器,将客户机指纹信息和所述密钥种子进行打包并签名,生成签名数据包,并上传所述签名数据包至所述安全服务器;所述安全服务器解析所述签名数据包,获得服务器安全密钥,并将所述服务器安全密钥发送给所述客户机;所述客户机将所述服务器安全密钥发送给所述待刷写ECU;所述待刷写ECU将所述ECU安全密钥与所述服务器安全密钥进行比较,在所述ECU安全密钥与所述服务器安全密钥一致时,判定所述客户机通过安全访问;所述客户机对所述待刷写ECU进行刷写操作,能够提高车辆生产过程中刷写ECU软件时进行安全访问的效率,保证了车辆销售后对ECU状态判断的实时性,节约了安全访问的时间,提升了生产进度,通过安全服务器认证客户机,检索ECU零件号和判断安全访问等级,调用约定加密算法计算密钥,保证了ECU安全访问过程整个数据链的安全性,可以有效避免非法设备和非法访问车载ECU的情况发生,并且方便主机厂随时进行安全策略升级和变更。
进一步地,图5为本发明应用于ECU的安全访问方法第五实施例的流程示意图,如图5所示,基于第一实施例提出本发明应用于ECU的安全访问方法第五实施例,在本实施例中,所述步骤S30之前,所述应用于ECU的安全访问方法还包括以下步骤:
步骤S301、所述客户机获取所述待刷写ECU的当前累计刷写次数,将所述当前累计刷写次数与预设刷写次数阈值进行比较。
需要说明的是,所述当前累计刷写次数为所述待刷写ECU的历史刷写记录的总次数,一般通过获取刷写计数器的刷写字段确定,当然也可以通过其他方式确定,本实施例对此不加以限制;所述预设刷写次数阈值为预先设置的刷写次数阈值,即刷写次数最大值,一般为预先设置的默认值,当然也可以根据实际情况进行调整,本实施例对此不加以限制。
步骤S302、所述客户机在所述当前累计刷写次数大于所述预设刷写次数阈值时,生成ECU替换提示信息,并将所述ECU替换提示信息进行反馈。
可以理解的是,在所述当前累计刷写次数大于所述预设刷写次数阈值时,即此时所述待刷写ECU的刷写次数已经超过了允许刷写的次数最大值,此时需要对所述待刷写ECU进行零件更换,所述客户机通过生成ECU替换提示信息并进行反馈,可以提醒操作人员更换ECU零件。
在具体实现中,在车辆装配生产线上的ECU必须为virgin原始状态,当工厂对ECU进行下线刷写时,客户机首先检查刷写计数器字段,若为默认值,如0xFF,则ECU是virgin状态,所述客户机直接跳过安全访问步骤对ECU进行刷写,车辆在终检时,客户机设置ECU刷写计数器为相应的值,如0x00,设置标定参数预设刷写次数阈值ProCntrMax=0x7F,ECU进入security状态;当车辆销售后,需要对ECU进行再刷写或者需要更换新的ECU零件时,显然再刷写的ECU肯定是security状态,而更换的新件要求供应商把ECU设置为security状态,这样售后车辆的ECU刷写就必须进行安全访问。
相应地,图6为本发明应用于ECU的安全访问方法中ECU状态检查流程示意图,如图6所示,对ECU进行状态检查流程适用于售后刷写,首先,客户机和ECU及安全服务器建立连接,客户机请求ECU进入默认会话,再请求进入编程会话;然后读取ECU零件号,例如使用SID+DID=$22+$F187,可以将所述ECU零件号存储到客户机的内存中;再读出当前累计刷写次数ProCntr,例如使用SID=$22,DID=$0100,当当前累计刷写次数ProCntr!=0xFF时,表示,ECU状态为virgin,不符合OEM流程定义,所以警告操作员此ECU为非法零件,在ProCntr!不等于0xFF且当前累计刷写次数ProCntr<=所述预设刷写次数阈值ProCntrMax时进行下一步;读取车辆识别码VIN号,如使用SID=$22,DID=$F190,当VIN号为空时说明ECU为新零件,进一步写VIN号,例如使用SID=$2E,DID=$F190;再执行安全访问步骤和刷写ECU;最后置位ECU完成刷写。
相应地,图7为本发明应用于ECU的安全访问方法中数据流向的示意图,如图7所示,图7可以反映安全服务器,客户机和ECU进行安全访问时,数据请求和响应的传递关系,所述客户机发起安全访问请求,首先请求种子,例如使用SID=$27+Lev;ECU收到安全访问请求后进行计算,响应反馈种子$67+Lev+Seed;客户机client接收到Seed后,对数据进行打包向安全服务器unlockSrv请求解锁数据;安全服务器unlockSrv接收到请求,通过计算获得解锁数据,然后发送给客户机client;客户机client接收到解锁数据进行解包,将密钥key发送给ECU,如SID=$27+(Lev+1)+key;ECU接收到key,和自己计算得到的key进行比对如果一致,进行解锁,并写client指纹信息到存储器,给出肯定应答如$67+(Lev+1)。
进一步地,所述ECU收到安全访问请求后进行计算,计算过程可以是ECU通过OEM定义的一种策略算法从SEED16提取初始安全种子IntSecSeed16,如循环差分算法IntSecSeed16=DifCycAlg(SEED16),然后结合ECU的零件号字段Ref和安全访问等级SIDLev得到安全种子数据,如SecSeedData=IntSecSeed16||Ref||SIDLev;再对安全种子数据SecSeedData进行静态加密获得密钥种子Seed=F(SecSeedData)并响应发送Seed给client;最后ECU按照加密算法计算出相应安全访问等级的解密密钥,如使用定义的哈希算法,SecKey=HASH(SecSeedData)。
进一步地,安全服务器unlockSrv接收到请求,通过计算获得解锁数据,计算过程可以是安全服务器unlockSrv接收到请求数据后,首先进行证书验证;然后进行指纹信息验证(客户机client指纹信息必须在进行安全访问之前,安全服务器unlockSrv已经对其进行了身份验证,也就是客户机client指纹之前早已经录入到了安全服务器unlockSrv中);再进行静态解密得到密钥种子SecSeedData=F-1(Seed);最后安全服务器unlockSrv从密钥种子SecSeedData获取零件号字段Ref信息和当前安全访问等级SIDLev后,明确安全算法和安全访问等级计算得到安全密钥SecKey==HASH(SecSeedData),进一步,安全密钥SecKey结合客户机指纹FingerPrint通过静态加密得到服务器密钥Key=Q(SecKey||FingerPrint),并结合服务器地址unlockSrvMAC打包响应发送给客户机client,生成响应数据RspdData=SigA[Key||unlockSrvMAC]||CertA。
进一步地,ECU比对密钥的过程可以是ECU接收到服务器密钥,对服务器密钥进行静态解密得到服务器安全密钥SecKey和客户机指纹FingerPrint,在与在之前ECU计算得到的ECU安全密钥SecKey进行比较,如果相同则说明安全访问成功,并向ECU存储器flash中写入客户机指纹FingerPrint,给出客户机client肯定响应,否则给出否定响应。
本实施例通过上述方案,通过所述客户机获取所述待刷写ECU的当前累计刷写次数,将所述当前累计刷写次数与预设刷写次数阈值进行比较;所述客户机在所述当前累计刷写次数大于所述预设刷写次数阈值时,生成ECU替换提示信息,并将所述ECU替换提示信息进行反馈,能够通过限定ECU刷写次数,提高车辆生产过程中刷写ECU软件时进行安全访问的效率,保证了车辆销售后对ECU状态判断的实时性,节约了安全访问的时间,提升了生产进度,保障了数据链的安全性,同时适合于生产和售后对ECU安全访问的需求,兼容性强,实施方便,且可以有效避免非法设备和非法访问车载ECU的情况发生。
基于上述本发明应用于ECU的安全访问方法实施例,提出本发明应用于ECU的安全访问系统。
图8为本发明应用于ECU的安全访问系统第一实施例的功能模块图,如图8所示,本发明应用于ECU的安全访问系统第一实施例中,该应用于ECU的安全访问系统包括:客户机10和待刷写ECU20,其中,
所述客户机10,用于发送安全访问请求至待刷写ECU20,并获取所述待刷写ECU20的当前状态和当前场景;
所述客户机10,用于在所述当前状态为原始状态,并且所述当前场景为工厂场景时,跳过安全访问,对所述待刷写ECU20进行刷写操作;
所述客户机10,还用于在所述当前状态为安全工作状态,并且所述当前场景为售后场景时,进行安全访问,并在通过安全访问后,对所述待刷写ECU20进行刷写操作。
需要说明的是,在客户机发送安全访问请求至待刷写电子控制单元ECU之前,默认客户机与待刷写电子控制单元(Electronic Control Unit,ECU)之间已经建立了有效连接;所述安全访问请求为预先设置的用于对所述待刷写ECU进行安全访问并获取相关信息的请求,通过所述安全访问请求能够获取待刷写ECU的当前状态,所述当前状态为待刷写ECU的当前工作状态,所述当前场景为所述待刷写ECU的当前刷写场景,所述当前场景可以是工厂场景,即车辆生产装配时对车载ECU进行刷写的场景,所述当前场景还可以是售后场景,即车辆销售之后对车载ECU进行刷写的场景。
可以理解的是,所述客户机可以待刷写解锁ECU,可以是诊断工具或车载远程信息处理器(Telematics BOX,T-BOX),也可以是其他访问实体,本实施例对此不加以限制;所述客户机与所述待刷写ECU可以是直接通过物理连接,也可以是通过符合基于Internet协议的诊断通信(Diagnostic communication over Internet Protocol,DoIP)/统一诊断服务(Unified Diagnostic Services,UDS)/关键字协议(Keyword Protocol 2000,KWP2000)诊断协议的数据流进行数据交互,当然也可以是通过其他方式连接,例如,通过其他车载总线如可变速率的控制器局域网络((Controller Area Network,CAN)CAN with FlexibleData-Rate,CANFD)总线进行连接等,本实施例对此不加以限制。
应当理解的是,所述原始状态为所述待刷写ECU处于工厂车辆装配生产的线上原始状态,在所述当前状态为原始状态,并且所述当前场景为工厂场景时,所述客户机可以跳过安全访问的相关认证操作,直接对所述待刷写ECU执行刷写操作。
可以理解的是,所述安全工作状态为所述待刷写ECU处于工厂车辆装配生产完成后的线下或车辆销售后的状态,在所述当前状态为所述安全工作状态并且所述当前场景为售后场景时,所述客户机必须进行安全访问的相关认证步骤,在通过安全访问后,才能对所述待刷写ECU进行刷写操作。
在具体实现中,一般通过供货流程要求供应商供给工厂的ECU零件必须是原始状态,而供给售后的ECU必须为安全工作状态;所述待刷写ECU具有两种状态,virgin状态即所述原始状态,和security状态即所述安全工作状态,在virgin状态时,所述客户机client可以跳过安全访问直接对ECU进行刷写,表现为ECU存储器flash存储零件号字段(Ref)、车辆识别号码(Vehicle Identification Number,VIN)字段(VIN)、刷写计数器(ProCntr)等字段为默认字节填充0xFF;而在security状态,所述客户机client,必须经过安全访问解锁ECU,才可以进行后续的刷写动作,一般的车辆生产装配进行线下对ECU进行刷写后,ECU就从virgin状态被置为security状态,表现为ECU存储器flash存储的Ref为真实值,VIN为对应的车辆VIN值或者为空,ProCntr被置为相应的值如0x00。
进一步地,所述待刷写ECU,用于在所述当前状态为安全工作状态,并且所述当前场景为售后场景时,获取所述安全访问请求对应的初始安全种子矩阵;
所述待刷写ECU,还用于根据预设提取算法从所述初始安全种子矩阵中获得初始安全种子;
所述待刷写ECU,还用于获取所述待刷写ECU的当前零件号和当前安全访问等级,并根据所述初始安全种子、所述当前零件号和所述当前安全访问等级生成安全种子数据;
所述待刷写ECU,还用于对所述安全种子数据进行静态加密,获得密钥种子,并将所述密钥种子发送至所述客户机。
需要说明的是,在安全工作状态并且是售后场景时,所述待刷写ECU会发送所述安全访问请求对应的密钥种子至所述客户机,所述密钥种子为所述待刷写ECU对所述客户机的身份进行认证的种子。
应当理解的是,所述客户机根据所述密钥种子可以对所述待刷写ECU进行安全访问,安全访问成功通过后才能对所述待刷写ECU进行刷写操作,而安全访问不成功,即没有通过安全访问认证则没有相应权限对所述待刷写ECU进行刷写操作。
可以理解的是,在所述当前状态为原始状态并且所述当前场景为售后场景,或在所述当前状态为安全工作状态并且所述当前场景为工厂场景时,此时刷写ECU的行为属于非法行为,此时所述客户机可以生成相应的告警信息并进行反馈,一般可以反馈至相关操作人员,当然也可以直接反馈至服务中心进行相关处理,一般可以禁止当前刷写ECU行为,或者直接提醒操作人员进行ECU更换,反馈的方式可以是通过信息提醒、语言提醒、报警铃声提醒或其他类型的反馈提醒方式,例如灯光告警提醒,本实施例对此不加以限制。
在具体实现中,原始设备制造商(Original Equipment Manufacturer,OEM)会在流程上要求供应商供给工厂的ECU必须是Virgin状态,而供给售后的ECU必须为security状态;在工厂车辆装配生产线上对ECU进行下线刷写时,下线刷写设备核查ECU状态,若为Virgin状态,则直接跳过安全访问步骤执行ECU刷写,并在车辆终检之前,置ECU为security状态并执行写VIN操作;否则退出刷写,警告ECU状态非法;一般的,OEM通过流程要求供应商提供给生产和售后的ECU状态分别为virgin和security状态;当车辆销售后需要对ECU进行再刷写或者更换新的ECU零件时,再刷写或者更换的ECU是security状态,就必须进行安全访问步骤。
需要说明的是,在所述当前状态为安全工作状态时,可以通过所述安全访问请求获取对应的初始安全种子矩阵,所述初始安全种子矩阵为存储在所述待刷写ECU中的种子矩阵,用于产出初始安全种子。
在具体实现中,相同ECU的存储器flash中存储有一个初始安全种子矩阵,如SEED16,用来产生初始安全种子(IntSecSeed16),不同类型ECU的初始安全种子矩阵要求不同,甚至不同批次相同类型ECU的也可以不同,具体由OEM根据安全级别去定义,其存储于ECU不可擦除存储单元中。
可以理解的是,所述预设提取算法为预先设置的种子提取有效算法,通过激活所述预设提取算法,可以从所述初始安全种子矩阵计算得到初始安全种子,在实际操作中,ECU利用预设提取算法提取的初始安全种子为随机的并和上次保持不同。
应当理解的是,ECU具备不同安全访问等级,如level1=SIDLev1,level2=SIDLev2;所述当前安全访问等级为与所述初始安全种子匹配的所述待刷写ECU当前的安全访问等级,所述当前零件号为所述待刷写ECU的存储器中存储的零件号,通过所述初始安全种子、所述当前零件号和所述当前安全访问等级可以生成安全种子数据。
在具体实现中,所述客户机和所述待刷写ECU建立了有效连接后,会向所述待刷写ECU请求合适的安全种子数据,具体是通过所述预设提取算法从所述初始安全种子矩阵中计算获得初始安全种子,再结合零件号和安全访问等级得到安全种子数据。
可以理解的是,通过对所述安全种子数据进行静态加密,能够获得密钥种子,进而可以将密钥种子发送至所述客户机,静态加密的方式可以是非对称密钥,也可以是数字签名,还可以是其他加密方式,例如数字签名的方式进行静态加密,本实施例对此不加以限制。
本实施例通过上述方案,通过所述客户机,用于发送安全访问请求至待刷写ECU,并获取所述待刷写ECU的当前状态和当前场景;所述客户机,用于在所述当前状态为原始状态,并且所述当前场景为工厂场景时,跳过安全访问,对所述待刷写ECU进行刷写操作;所述客户机,还用于在所述当前状态为安全工作状态,并且所述当前场景为售后场景时,进行安全访问,并在通过安全访问后,对所述待刷写ECU进行刷写操作,能够在车辆处于工厂生产状态时,自动判断豁免ECU安全访问,有效提高了生产节拍,提高生产效率,在车辆销售后进行ECU刷写,自动判断车载ECU的合法性和可刷写性,保证了车辆销售后对ECU状态判断的实时性,节约了安全访问的时间,,同时适合于生产和售后对ECU安全访问的需求,兼容性强,实施方便,且可以有效避免非法设备和非法访问车载ECU的情况发生。
进一步地,图9为本发明应用于ECU的安全访问系统第二实施例的功能模块图,如图9所示,基于第一实施例提出本发明应用于ECU的安全访问系统第二实施例,在本实施例中,所述ECU的安全访问系统还包括:安全服务器30,其中,
所述待刷写ECU20,还用于根据预设加密算法获得所述密钥种子对应的ECU安全密钥;
所述客户机10,还用于访问所述安全服务器30,将客户机指纹信息和所述密钥种子进行打包并签名,生成签名数据包,并上传所述签名数据包至所述安全服务器30;
所述安全服务器30,用于对所述签名数据包进行签名验证和指纹验证;
所述安全服务器30,还用于在所述签名验证和所述指纹验证都验证通过后,对所述密钥种子进行解析,获得服务器安全密钥,并将所述服务器安全密钥发送给所述客户机10;
所述客户机10,还用于将所述服务器安全密钥发送给所述待刷写ECU;
所述待刷写ECU20,还用于将所述ECU安全密钥与所述服务器安全密钥进行比较,在所述ECU安全密钥与所述服务器安全密钥一致时,判定所述客户机通过安全访问;
所述客户机10,还用于在通过安全访问后,对所述待刷写ECU20进行刷写操作。
需要说明的是,所述预设加密算法为预先设置的对密钥种子进行加密的算法,所述待刷写ECU的不同的安全访问等级会对应不同的计算安全密钥的算法,即不同的安全访问等级对应不同的预设加密算法,所述待刷写ECU能够根据所述预设加密算法计算获得所述密钥种子对应的ECU安全密钥。
应当理解的是,所述客户机在访问所述安全服务器后,可以将客户机指纹信息和所述密钥种子进行打包并签名,生成签名数据包,然后向所述安全服务器请求解锁,所述客户机指纹信息为所述客户机本身的指纹信息,所述安全服务器为对所述客户机进行身份验证的服务器,所述安全服务器可以为售后安全服务器,也可以为空间下载技术(Over-the-Air Technology,OTA)安全服务器即unlockSrv,所述安全服务器和所述客户机可以通过Internet安全链路连接,即只可以被认证过的客户机在安全的Internet链路下进行访问,所述安全服务器可以用于解锁ECU,能够进行实体身份验证、数据验证和计算解锁数据。
可以理解的是,在所述客户机为诊断工具时,所述客户机可以通过车载自动诊断系统(On-Board Diagnostics,OBD)接口和ECU连接,通过互联网和所述安全服务器连接;在所述客户机为车载T-BOX时,所述客户机可以通过车载总线和ECU连接,通过4G/5G网络和所述安全服务器连接;所述可客户机拥有访问所述安全服务器的权限并且能够与之通过安全链路进行信息交互,还能够向ECU发送请求指令来进行信息获取和软件刷写。
在具体实现中,只有所述客户机的所述客户机指纹信息录入到了所述安全服务器中,所述客户机才能连接和访问所述安全服务器;所述客户机和所述安全服务器的连接通过安全网络和安全链路进行,不限于有限网络或者无线网络,证书签名和证书验证可以随着系统升级进行更换。
可以理解的是,所述安全服务器解析所述签名数据包中的密钥种子后,可以获得服务器安全密钥,进而将所述服务器安全密钥发送给所述客户机。
需要说明的是,所述安全服务器可以对所述签名数据包进行签名验证和指纹验证,在所述签名验证和所述指纹验证都验证通过后,所述安全服务器对所述密钥种子进行解析,获得服务器安全密钥;具体可以通过预设检索加密算法对所述签名数据包进行解锁,并将解锁数据发送给客户机,所述客户机接收到解锁数据后,对所述解锁数据进行证书签名验证和指纹验证,验证通过后,所述安全服务器对所述密钥种子进行解析,获得服务器安全密钥。
在具体实现中,所述安全服务器根据接收到所述客户机的请求数据,获取所述待刷写ECU的零件号和安全访问等级,从而检索到对应的加密算法,计算获得解锁数据,并将解锁数据发送至客户机。
应当理解的是,所述客户机在获得服务器安全密钥后,会将所述服务器安全密钥发送给所述待刷写ECU,即所述安全服务器与所述待刷写ECU不直接进行数据交互。
可以理解的是,所述待刷写ECU在接收到ECU安全密钥和所述服务器安全密钥后可以对两个密钥进行匹配比对,判断两者是否一致,在所述ECU安全密钥与所述服务器安全密钥一致时,即可判定所述客户机通过安全访问。
可以理解的是,在所述ECU安全密钥与所述服务器安全密钥一致时,可以判定所述客户机解锁所述待刷写ECU成功,所述客户机对所述待刷写ECU进行刷写操作,即在所述ECU安全密钥与所述服务器安全密钥一致时,所述客户机会对所述待刷写ECU进行指纹解锁,所述待刷写ECU会向所述客户机响应肯定应当,即可判定所述客户机解锁所述待刷写ECU成功,所述客户机对所述待刷写ECU进行刷写操作。
进一步地,所述客户机10,还用于获取所述待刷写ECU20的当前累计刷写次数,将所述当前累计刷写次数与预设刷写次数阈值进行比较;
所述客户机10,还用于在所述当前累计刷写次数大于所述预设刷写次数阈值时,生成ECU替换提示信息,并将所述ECU替换提示信息进行反馈。
需要说明的是,所述当前累计刷写次数为所述待刷写ECU的历史刷写记录的总次数,一般通过获取刷写计数器的刷写字段确定,当然也可以通过其他方式确定,本实施例对此不加以限制;所述预设刷写次数阈值为预先设置的刷写次数阈值,即刷写次数最大值,一般为预先设置的默认值,当然也可以根据实际情况进行调整,本实施例对此不加以限制。
可以理解的是,在所述当前累计刷写次数大于所述预设刷写次数阈值时,即此时所述待刷写ECU的刷写次数已经超过了允许刷写的次数最大值,此时需要对所述待刷写ECU进行零件更换,所述客户机通过生成ECU替换提示信息并进行反馈,可以提醒操作人员更换ECU零件。
在具体实现中,在车辆装配生产线上的ECU必须为virgin原始状态,当工厂对ECU进行下线刷写时,客户机首先检查刷写计数器字段,若为默认值,如0xFF,则ECU是virgin状态,所述客户机直接跳过安全访问步骤对ECU进行刷写,车辆在终检时,客户机设置ECU刷写计数器为相应的值,如0x00,设置标定参数预设刷写次数阈值ProCntrMax=0x7F,ECU进入security状态;当车辆销售后,需要对ECU进行再刷写或者需要更换新的ECU零件时,显然再刷写的ECU肯定是security状态,而更换的新件要求供应商把ECU设置为security状态,这样售后车辆的ECU刷写就必须进行安全访问。
本实施例通过上述方案,通过所述待刷写ECU,还用于根据预设加密算法获得所述密钥种子对应的ECU安全密钥;所述客户机,还用于访问所述安全服务器,将客户机指纹信息和所述密钥种子进行打包并签名,生成签名数据包,并上传所述签名数据包至所述安全服务器;所述安全服务器,用于对所述签名数据包进行签名验证和指纹验证;所述安全服务器,还用于在所述签名验证和所述指纹验证都验证通过后,对所述密钥种子进行解析,获得服务器安全密钥,并将所述服务器安全密钥发送给所述客户机;所述客户机,还用于将所述服务器安全密钥发送给所述待刷写ECU;所述待刷写ECU,还用于将所述ECU安全密钥与所述服务器安全密钥进行比较,在所述ECU安全密钥与所述服务器安全密钥一致时,判定所述客户机通过安全访问;所述客户机,还用于在通过安全访问后,对所述待刷写ECU进行刷写操作,能够通过安全服务器认证客户机,检索ECU零件号和判断安全访问等级,调用约定加密算法计算密钥,保证了ECU安全访问过程整个数据链的安全性,可以有效避免非法设备和非法访问车载ECU的情况发生,并且方便主机厂随时进行安全策略升级和变更。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (7)
1.一种应用于ECU的安全访问方法,其特征在于,所述应用于ECU的安全访问方法包括:
客户机发送安全访问请求至待刷写电子控制单元ECU,并获取待刷写ECU的当前状态和当前场景;
在所述当前状态为原始状态,并且所述当前场景为工厂场景时,所述客户机跳过安全访问,对所述待刷写ECU进行刷写操作;
在所述当前状态为安全工作状态,并且所述当前场景为售后场景时,所述客户机进行安全访问,并在通过安全访问后,对所述待刷写ECU进行刷写操作;
其中,所述在所述当前状态为安全工作状态,并且所述当前场景为售后场景时,所述客户机进行安全访问,并在通过安全访问后,对所述待刷写ECU进行刷写操作,包括:
在所述当前状态为安全工作状态,并且所述当前场景为售后场景时,所述待刷写ECU发送所述安全访问请求对应的密钥种子至所述客户机;
所述客户机根据所述密钥种子进行安全访问,并在通过安全访问后,对所述待刷写ECU进行刷写操作;
其中,所述在所述当前状态为安全工作状态,并且所述当前场景为售后场景时,所述待刷写ECU发送所述安全访问请求对应的密钥种子至所述客户机,包括:
在所述当前状态为安全工作状态,并且所述当前场景为售后场景时,所述待刷写ECU获取所述安全访问请求对应的初始安全种子矩阵;
所述待刷写ECU根据预设提取算法从所述初始安全种子矩阵中获得初始安全种子;
所述待刷写ECU获取所述待刷写ECU的当前零件号和当前安全访问等级,并根据所述初始安全种子、所述当前零件号和所述当前安全访问等级生成安全种子数据;
所述待刷写ECU对所述安全种子数据进行静态加密,获得密钥种子,并将所述密钥种子发送至所述客户机。
2.如权利要求1所述的ECU的安全访问方法,其特征在于,所述客户机根据所述密钥种子进行安全访问,并在通过安全访问后,对所述待刷写ECU进行刷写操作,包括:
所述待刷写ECU根据预设加密算法获得所述密钥种子对应的ECU安全密钥;
所述客户机访问安全服务器,将客户机指纹信息和所述密钥种子进行打包并签名,生成签名数据包,并上传所述签名数据包至所述安全服务器;
所述安全服务器解析所述签名数据包,获得服务器安全密钥,并将所述服务器安全密钥发送给所述客户机;
所述客户机将所述服务器安全密钥发送给所述待刷写ECU;
所述待刷写ECU将所述ECU安全密钥与所述服务器安全密钥进行比较,在所述ECU安全密钥与所述服务器安全密钥一致时,判定所述客户机通过安全访问;
所述客户机对所述待刷写ECU进行刷写操作。
3.如权利要求2所述的ECU的安全访问方法,其特征在于,所述安全服务器解析所述签名数据包,获得服务器安全密钥,并将所述服务器安全密钥发送给所述客户机,包括:
所述安全服务器对所述签名数据包进行签名验证和指纹验证;
在所述签名验证和所述指纹验证都验证通过后,所述安全服务器对所述密钥种子进行解析,获得服务器安全密钥,并将所述服务器安全密钥发送给所述客户机。
4.如权利要求1-3中任一项所述的ECU的安全访问方法,其特征在于,所述在所述当前状态为安全工作状态,并且所述当前场景为售后场景时,所述客户机进行安全访问,并在通过安全访问后,对所述待刷写ECU进行刷写操作之前,所述ECU的安全访问方法还包括:
所述客户机获取所述待刷写ECU的当前累计刷写次数,将所述当前累计刷写次数与预设刷写次数阈值进行比较;
所述客户机在所述当前累计刷写次数大于所述预设刷写次数阈值时,生成ECU替换提示信息,并将所述ECU替换提示信息进行反馈。
5.如权利要求1-3中任一项所述的ECU的安全访问方法,其特征在于,所述在所述当前状态为安全工作状态,并且所述当前场景为售后场景时,所述客户机进行安全访问,并在通过安全访问后,对所述待刷写ECU进行刷写操作之后,所述ECU的安全访问方法还包括:
在所述当前状态为原始状态并且所述当前场景为售后场景,或在所述当前状态为安全工作状态并且所述当前场景为工厂场景时,判定所述待刷写ECU不合法,所述客户机生成告警信息,并将所述告警信息进行反馈。
6.一种ECU的安全访问系统,其特征在于,所述ECU的安全访问系统包括:客户机和待刷写电子控制单元ECU,其中,
所述客户机,用于发送安全访问请求至待刷写ECU,并获取所述待刷写ECU的当前状态和当前场景;
所述客户机,还用于在所述当前状态为原始状态,并且所述当前场景为工厂场景时,跳过安全访问,对所述待刷写ECU进行刷写操作;
所述客户机,还用于在所述当前状态为安全工作状态,并且所述当前场景为售后场景时,进行安全访问,并在通过安全访问后,对所述待刷写ECU进行刷写操作;
所述客户机,还用于在所述当前状态为安全工作状态,并且所述当前场景为售后场景时,所述待刷写ECU发送所述安全访问请求对应的密钥种子至所述客户机;所述客户机根据所述密钥种子进行安全访问,并在通过安全访问后,对所述待刷写ECU进行刷写操作;其中,所述待刷写ECU,用于在所述当前状态为安全工作状态,并且所述当前场景为售后场景时,获取所述安全访问请求对应的初始安全种子矩阵;
所述待刷写ECU,还用于根据预设提取算法从所述初始安全种子矩阵中获得初始安全种子;
所述待刷写ECU,还用于获取所述待刷写ECU的当前零件号和当前安全访问等级,并根据所述初始安全种子、所述当前零件号和所述当前安全访问等级生成安全种子数据;
所述待刷写ECU,还用于对所述安全种子数据进行静态加密,获得密钥种子,并将所述密钥种子发送至所述客户机。
7.如权利要求6所述的ECU的安全访问系统,其特征在于,所述ECU的安全访问系统还包括:安全服务器;其中,
所述待刷写ECU,还用于根据预设加密算法获得所述密钥种子对应的ECU安全密钥;
所述客户机,还用于访问所述安全服务器,将客户机指纹信息和所述密钥种子进行打包并签名,生成签名数据包,并上传所述签名数据包至所述安全服务器;
所述安全服务器,用于对所述签名数据包进行签名验证和指纹验证;
所述安全服务器,还用于在所述签名验证和所述指纹验证都验证通过后,对所述密钥种子进行解析,获得服务器安全密钥,并将所述服务器安全密钥发送给所述客户机;
所述客户机,还用于将所述服务器安全密钥发送给所述待刷写ECU;
所述待刷写ECU,还用于将所述ECU安全密钥与所述服务器安全密钥进行比较,在所述ECU安全密钥与所述服务器安全密钥一致时,判定所述客户机通过安全访问;
所述客户机,还用于在通过安全访问后,对所述待刷写ECU进行刷写操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010600358.3A CN111897545B (zh) | 2020-06-28 | 2020-06-28 | 应用于ecu的安全访问方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010600358.3A CN111897545B (zh) | 2020-06-28 | 2020-06-28 | 应用于ecu的安全访问方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111897545A CN111897545A (zh) | 2020-11-06 |
CN111897545B true CN111897545B (zh) | 2022-02-01 |
Family
ID=73207107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010600358.3A Active CN111897545B (zh) | 2020-06-28 | 2020-06-28 | 应用于ecu的安全访问方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111897545B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112440740A (zh) * | 2020-12-01 | 2021-03-05 | 东风越野车有限公司 | 一种车辆取力系统及其取力、标定方法 |
CN112579105B (zh) * | 2020-12-10 | 2023-03-03 | 东风汽车集团有限公司 | 一种整车初始化控制器的刷写方法及相关设备 |
CN114844764B (zh) * | 2021-01-30 | 2023-12-08 | 华为技术有限公司 | 一种网络安全功能检测的方法及相关设备 |
CN113791817B (zh) * | 2021-09-26 | 2024-02-13 | 上汽通用五菱汽车股份有限公司 | 新能源汽车场景产品的创建方法、设备及存储介质 |
CN114265382A (zh) * | 2021-11-12 | 2022-04-01 | 潍柴动力股份有限公司 | Ecu刷写故障处理方法、装置、电子设备及存储介质 |
CN114397869A (zh) * | 2021-12-15 | 2022-04-26 | 潍柴动力股份有限公司 | 发动机ecu刷写方法、刷写诊断方法及设备 |
CN114172741A (zh) * | 2021-12-22 | 2022-03-11 | 卓品智能科技无锡有限公司 | 车载控制器防盗刷方法、系统及存储介质 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10148415C2 (de) * | 2001-09-29 | 2003-07-31 | Univ Braunschweig Tech | Verfahren und Vorrichtung zum Verschlüsseln und Entschlüsseln von Daten |
CN101282222B (zh) * | 2008-05-28 | 2011-09-28 | 胡祥义 | 基于组合对称密钥的数字签名方法 |
CN102779089B (zh) * | 2011-05-11 | 2016-06-01 | 上海通用汽车有限公司 | 汽车ecu密钥仿真实现方法及其系统和验证方法 |
IL213497A0 (en) * | 2011-06-12 | 2011-08-31 | Eliphaz Hibshoosh | Light public key cryptography |
CN102393888B (zh) * | 2011-07-21 | 2015-04-22 | 广州汽车集团股份有限公司 | Ecu安全访问处理方法 |
US9280653B2 (en) * | 2011-10-28 | 2016-03-08 | GM Global Technology Operations LLC | Security access method for automotive electronic control units |
JP5966877B2 (ja) * | 2012-11-20 | 2016-08-10 | 富士通株式会社 | 復号方法、復号プログラム、復号装置、および鍵生成方法 |
CN104092725A (zh) * | 2014-06-05 | 2014-10-08 | 潍柴动力股份有限公司 | 一种ecu刷写方法及客户端 |
CN104268458B (zh) * | 2014-09-23 | 2018-01-26 | 潍柴动力股份有限公司 | 一种车辆程序加密验证方法及加密、验证装置 |
CN105187376B (zh) * | 2015-06-16 | 2018-04-17 | 西安电子科技大学 | 车联网中汽车内部网络的安全通信方法 |
EP3364596A1 (en) * | 2017-02-15 | 2018-08-22 | Koninklijke Philips N.V. | Key exchange devices and method |
US10009325B1 (en) * | 2017-12-07 | 2018-06-26 | Karamba Security | End-to-end communication security |
CN110427784A (zh) * | 2019-07-29 | 2019-11-08 | 浙江吉利新能源商用车集团有限公司 | 一种车辆的安全网关装置及安全通信方法 |
-
2020
- 2020-06-28 CN CN202010600358.3A patent/CN111897545B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111897545A (zh) | 2020-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111897545B (zh) | 应用于ecu的安全访问方法和系统 | |
CN111385191B (zh) | 车载互联网关、车辆ota升级系统和方法、计算机存储介质 | |
EP3889766B1 (en) | Secure firmware upgrade method, device, on-board system, and vehicle | |
CN111061499B (zh) | 一种基于文件系统的ecu更新方法及系统 | |
US8290660B2 (en) | Data access to electronic control units | |
US7197637B2 (en) | Authorization process using a certificate | |
US8035494B2 (en) | Motor vehicle control device data transfer system and process | |
CN109976770B (zh) | 一种ecu刷写方法、系统及相关设备 | |
US11345313B2 (en) | System for controlling operations of a vehicle using mobile devices and related methods thereof | |
CN113645590B (zh) | 基于加密算法的远程控制车辆的方法、装置、设备及介质 | |
EP4089978A1 (en) | Authentication method and apparatus for vehicle-mounted device | |
CN112124321B (zh) | 一种车辆控制方法、装置、设备和存储介质 | |
US20210314151A1 (en) | In-Vehicle Key Generation Method, a Vehicle using the Method and a Computer-Readable Storage Medium | |
CN113065119A (zh) | 一种网络设备的授权方法 | |
KR20190013018A (ko) | 효율적인 차량용 리프로그래밍 장치 및 그 제어방법 | |
EP4113896A1 (en) | Method and apparatus for updating certificate list | |
CN115242634A (zh) | 软件升级方法、设备和存储介质 | |
CN111191285A (zh) | 一种车辆故障诊断方法、装置以及相关设备 | |
CN115220989B (zh) | 一种付费软件监控方法、装置及系统 | |
CN113411311B (zh) | Ecu诊断授权验证方法、存储介质和系统 | |
CN114785557A (zh) | 一种整车对称密钥分发系统、方法及存储介质 | |
CN115129347A (zh) | 一种汽车安全数据的更新方法、装置、设备及产品 | |
US11488404B2 (en) | Session unique access token for communications with a vehicle | |
CN109462607B (zh) | 一种安全uds诊断在can上的实现方法 | |
US20230297663A1 (en) | Soft part authentication for electronic control unit |
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 |