基于INCA的ECU数据保密系统开发

2020-03-14 08:45丁栎力
汽车电器 2020年1期
关键词:保密客户端服务器

丁栎力

(中车青岛四方机车车辆股份有限公司,山东 青岛 266111)

1 概述

随着国家排放标准的逐步提高,电控发动机的数量越来越多,电控系统的核心-电子控制单元 (ECU)已经成为柴油机不可或缺的组成部分。ECU与传统柴油机零部件的区别是它除了拥有硬件实体部分还有数据内容部分。ECU要想正常工作,必须刷写相应的程序和数据,目前能进行数据刷写的系统有EOL、INCA、CANape等。生产过程中多使用EOL系统,而在开发和售后支持的时候会使用INCA或CANape进行数据的刷写以及上传下载操作。对于ECU的售后服务来讲不仅仅是更换零件本身,它同时还需要相应的数据支持,因电控燃油系统的特殊性,给ECU刷写不同的数据可能会实现不同的控制功能,数据与电控燃油系统不匹配可能会导致部件的损害,由此造成发动机无法正常工作。以上的种种使得发动机电控数据的安全性问题越来越凸显。

无论是整个整车行业,还是单独的发动机厂商,都面临电控发动机数据二次刷写不可控的情况。本文的研究旨在建立一套基于INCA刷写ECU的保密管理系统,通过硬件和软件相结合的方法,在刷写ECU数据的同时,增加审批授权,用户管理以及记录的追溯查询等模块,保证数据传递过程的安全性。主要是限制工程师尤其是厂外工程师在使用INCA时对ECU的数据刷写操作,做到使用INCA数据刷写的过程可控,并记录刷写的信息,防止已出厂电控发动机的ECU数据的随意修改,保证数据的安全性。

2 INCA数据刷写

2.1 数据刷写的基本要素

NCA是ETAS公司推出的通用标定工具,软件全称为Integrated Calibration and Acquisition System,可以使用它来进行ECU数据的测量标定以及数据刷写,其工程的组成如图1所示。

图1 INCA工程

就数据的刷写而言,其实质就是通过通信协议,将数据文件下载到ECU存储区中的过程,这个过程除了需要INCA软件本身外,至少还要包含以下几个要素。

1)硬件设备。通过以太网或USB等方式连接电脑,K线或CAN线方式连接ECU,通常需支持数据刷写所需的协议,如KWP2000、UDS等,是电脑上INCA软件与ECU的连接桥梁,主要是进行协议转换。

2)数据文件。包含编译后生成的程序及数据的原始文件 (HEX或S19格式)以及A2L文件等,符合芯片厂商定义及相应的ASAM标准。

3)配置文件。即Prof文件,由ECU的厂商提供,定义整个数据刷写流程的细节,包括刷写区域、数据交换格式、安全校验算法等,是INCA数据刷写过程的关键控制文件。

2.2 Prof配置文件

Prof文件,即数据刷写配置文件,是与ECU的版本及对应的软件版本息息相关的。一般说来,不同的ECU使用不同的Prof文件,同一ECU的不同软件版本使用不同的Prof文件,即使是同一版本的ECU软件 (如V720)针对不同的终端厂商(如潍柴和玉柴),也会使用不同的Prof文件加以区分。下面以潍柴EDC17 V720的Prof为例,进行说明。

Prof文件解压后是一个文件夹,其中包含一系列文件,如图2所示,按照功能可以分为4部分。

图2 Prof文件

1)prof文件夹。其中包含数据刷写时的安全校验算法dll文件,即平时我们常说的seed&key文件,用来控制数据刷写的权限。

2)profe文件夹。包含多个互相调用的“*.pri”、“*.prm”文件以及“*.cnf”配置文件,用来定义整个数据刷写的过程。其中“*.cnf”文件用来说明所使用的通信介质、通信协议、地址区间等,还包含对刷写CAN协议的各种参数描述,如时间参数、例程设置、ECU ID、波特率等信息;“*.prm”文件是脚本语言文件,规定刷写的整体流程,并通过调用具体的pri文件将其具体化;“*.pri”文件也是脚本语言文件,记录了执行刷写各个子功能的详细过程。

3)info文件。为说明文档,其中.bak文件为其备份。

4)install文件。初始化文件,在Prof文件被导入INCA软件时使用,同样的.bak文件为其备份。

3 保密系统实现

3.1 整体方案

原有刷写流程见图3。根据对INCA数据刷写过程的分析,采用控制Prof文件调用的方式实现对数据刷写过程的控制。具体如图4所示,在原有刷写流程中,将调用Prof文件实体隐藏,用我们称之为“虚拟接口”的文件取代,这样当INCA数据刷写时,由“虚拟接口”负责引导,获取真正的Prof文件并进行控制。在实际的系统开发过程中,又主要是虚拟化Prof文件中seed&key文件的接口。

图3 原有刷写流程

图4 INCA保密系统方案

在这种思路的前提下,根据具体使用对象和环境的不同,可以将真实的Prof文件 (主要是seed&key文件)置于网络服务器中管理或保密介质中管理,由此又可以分为网络方式和U盾方式两种实现形式,其系统的整体架构见图5。

图5 INCA保密系统架构

3.2 本地客户端

本地客户端软件是本次INCA保密系统的关键部分,它被安装在INCA软件所在的电脑上,作为INCA的插件形式存在。它是整个保密系统实现的前端,也是与最终INCA用户交互的部分,客户端软件主要实现以下功能。

1)用户权限控制,用户如果要进行数据刷写操作,必须使用用户名和密码登陆,根据早已赋予的刷写权限和次数进行操作,不登陆无法进行。

2)与INCA关联,释放"虚拟接口"文件,并在INCA启动后监控数据刷写过程,一旦需要,调用网络或U盾方式获取数据。

3)与网络服务器或U盾连接,传递seed,在网络服务器或U盾中计算后返回key,供数据刷写安全访问中使用。

4)简单的用户信息获取,如获取用户当前权限,当前可用的刷写次数等,相关的信息都需在用户登陆后才能获得。另外还能实现用户刷写过程信息的上传。

3.3 网络方式

网络方式适用于当客户端电脑连接于局域网时使用,例如试验台架所使用的电脑。

在网络连接的方式下,用户通过客户端软件登陆后,便建立了客户端电脑 (安装有INCA软件)与服务器的连接,真实的seed&key算法置于服务器中,当用INCA进行刷写操作时,客户端软件会根据具体的需求,向服务器发送请求及seed,服务器计算对应的key并根据用户的授权次数判断是否是被授权的刷写操作,如果是则返回key至客户端软件至INCA,完成刷写过程并记录;如果刷写未被授权,则拒绝,INCA的数据刷写过程会终止。

3.4 U盾方式

U盾方式在技术人员携带安装INCA的电脑外出,脱离网络时使用,如出差人员等。在本次的INCA保密系统开发中,我们使用了更改特殊文件系统的普通U盘作为U盾的载体,当然也可以使用专用的U盾硬件实现,其作用和效果应该是一致的。

U盾的存在主要是应对无网络连接环境下保密系统的使用。首先U盾的授权是必须连接网络进行的,在这时会根据U盾的ID号关联特定的用户,事先根据申请授权当前U盾某个具体用户特定的刷写次数权限;这样用户离线使用INCA时,只需要插上U盾,输入相应的用户名及密码,就可以进行数据刷写。U盾的刷写次数及时间都受一定限制,如果长时间不用会自动锁定,默认为30天,再次使用需重新激活,这样即使U盾丢失也可确保数据的安全。

U盾方式与网络方式的区别就在于,网络方式向网络服务器请求,而U盾方式向U盾请求,在使用时终端用户并没有明显的感受。

3.5 服务器及管理端等

服务器是整个INCA保密系统的中枢,其中保存了不同种类的安全校验算法,并在接收到客户端请求时承担判断权限、计算key、记录过程的工作,根据使用用户的数量不同,对其的性能要求也不同。

服务器上安装数据库,用来记录用户信息,保留刷写记录,权限分配控制等,同时服务器也对外提供Web服务,实现用户登录,安全访问计算等工作。

另外,INCA保密的管理平台也是系统的重要组成部分,除了提供基本的用户管理、权限分配、刷写记录查询等功能外,它还承担着管理制作U盾的工作,在U盾连接到网络上时,通过管理程序的控制,可以增加删除U盾中的用户,赋予用户刷写权限等工作。

4 结论

本次的INCA保密系统,在不改变现有的INCA软件的情况下,通过网络及U盾与管理平台结合的方式,可以实现数据刷写的事先授权及过程可控,能够很大程度上限制未经许可的随意刷写改变ECU数据。同时,刷写的过程信息能够实现追溯,也利于监控发现不良端倪。

猜你喜欢
保密客户端服务器
你的手机安装了多少个客户端
“人民网+客户端”推出数据新闻
——稳就业、惠民生,“数”读十年成绩单
保密文化永远在路上
2018年全球服务器市场将保持温和增长
虚拟专用网络访问保护机制研究
跟踪导练(4)
读者调查表
新华社推出新版客户端 打造移动互联新闻旗舰
保密
用独立服务器的站长注意了