六亿职称期刊论文发表网,是一个专业致力于期刊征稿,投稿、论文发表、编辑润色、文献参考,职称论文发表,代发职称论文等服务的综合代发论文网。

您当前的位置:论文发表首页 > 学术论文 > 电子论文 >

【电子论文】

帮您发电子论文

电控单元安全访问策略设计

时间:2020-11-20 作者:lylunwen 所属分类:杂志社官网 点击:62次

关键词:期刊征稿,学术期刊,学术论文,电子论文发表
 
本站在期刊投稿行业10余年,200000稿件作者放心的选择,1000多家省级、国家级、核心杂志社长期合作。省级、国家级、核心杂志社长期合作。24小时服务电话:400-811-9516
 
 随着汽车电子技术的快速发展,为了确保车辆安全,防止非法或恶意刷写串改ECU软硬件,其安全访问机制和算法就很重要。文章介绍一种电控单元安全访问的算法设计,利用对ECU状态进行判断,来解决车辆生产过程中和售后返修中对ECU安全访问的不同需求。通过提出的动态安全访问机制和加入证书签名来防止非法或恶意攻击ECU,从而保证车辆行驶安全。
 
关键词:电控单元;安全访问;策略
 
  1引言
 
  随着现代汽车电子技术不断发展和进步,汽车变得更加智能和高效。充当汽车大脑的电控单元其硬件和软件设计越来越通用化和模块化,从而导致其软件的复杂度提高和迭代周期缩短,进而对ECU软件线下再编程和刷写有了更多的需求。如何保证ECU刷写安全和防止非法或恶意编程,其安全访问机制就显得尤为重要。现有ECU安全访问技术中,一般遵循ECU向访问实体或者诊断工具发送密钥种子,访问实体或者诊断工具对密钥种子进行逻辑运算并得到密钥,并将其发送ECU,ECU将获得的密钥与对自己发送的密钥种子计算进行逻辑运算获得的密钥进行对比,相同则响应通过ECU安全访问,进入刷写步骤。其又分为固定询问和可变询问,固定询问是每次ECU发送的密钥种子是固定一样的,需要返回的密钥每次也是一样的,这种方式的缺点是太过于简单,非常容易被破解。可变询问就是ECU每次发送的密钥种子是不一样的,ECU和访问实体或者诊断工具通过相同的算法计算密钥,ECU得到访问实体或者诊断工具发送的密钥和自己计算的密钥进行比较,这种方法的缺点就是太过依赖算法的保密性,如果非法者通过创建模拟器模拟ECU的方法获得多组密钥种子和密钥用来破解该算法,就有可能被破解成功,给非法访问和恶意攻击留下了可能。
 
  2系统硬件组成
 
  本文介绍的ECU安全访问系统包括:安全服务器unlock-Srv、访问实体client和电控单元ECU。其中unlockSrv和client通过Internet安全链路连接,client和ECU直接通过物理连接和使用符合DoIP/UDS/KWP2000等诊断协议数据流进行数据交互。系统组成示意图如图1所示。安全服务器unlockSrv,用于解锁ECU,可以是售后安全服务器或者是O-TA安全服务器,只有被unlockSrv认证过的client在安全的通信链路下可以访问其数据并进行交互,unlockSrv具备进行访问实体身份验证、数据验证和计算解锁数据。访问实体client,用于进行解锁ECU,可以为通过OBD接口和ECU进行连接的诊断工具,也可以是T-BOX或者其它车载电脑充当访问实体的通过车载总线和ECU连接,再通过4G/5G网络和unlockSrv进行交互,总之client需拥有访问un-lockSrv的权限并且能够与之通过安全链路进行信息交互,能够向ECU发送请求指令来进行信息获取和软件刷写。电控单元ECU具备两种状态,virgin状态和security状态,virgin状态下client可以跳过安全访问直接对ECU进行刷写,表现为ECU存储器用于存储零件号Ref字段、VIN字段、刷写计数器ProCntr等字段使用默认字节0xFF进行填充。security状态下client必须经过安全访问解锁ECU,才可以进行后续的刷写动作,例如车辆生产装配时在线上对ECU进行刷写后,ECU就从virgin状态被置为security状态,这时ECU存储器用于存储的Ref被置为真实零件号代码,VIN被置为对应的车辆VIN值,ProCntr被置为设计定义的值。ECU当然可以具备不同等级的安全访问,如level1=SIDLev1,level2=SIDLev2。相同ECU内置有一个初始安全种子矩阵发生器,用来产生初始安全种子IntSecSeed16。
 
  3安全访问豁免策略设计
 
  考虑车辆装配生产过程中,对于ECU安全访问的特殊要求,首先主机厂可以在流程上要求供应商供给工厂使用的ECU零件必须为virgin状态,而供给售后使用的ECU必须为se-curity状态。车辆在装配生产线上,需要对ECU进行刷写时,访问实体或者诊断工具首先需要检测ECU状态,若为virgin状态,则直接跳过安全访问步骤执行ECU刷写,并在车辆终检之前,置ECU为security状态并执行写VIN操作,否则退出刷写,警告E-CU状态非法。安全访问豁免流程图如图2所示。当工厂对ECU进行下线刷写时,client需要检查刷写计数器字段,如若为默认值0xFF时,则ECU是virgin状态,client直接跳过安全访问步骤对ECU进行刷写,车辆到终检时,client置ECU刷写计数器为相应的值,如0x00,ECU进入secu-rity状态,并置最大刷写次数ProCntrMax标定参数为0x7F,表示可以最多可以使用诊断工具刷写127次,就完成了车辆下线刷写程序。
 
  4安全访问整体策略设计
 
  当车辆销售给用户后,需要对ECU软件进行升级或者需要更换新的ECU零件时,显然再刷写的ECU肯定是security状态,而更换的新零件通过管理流程要求供应商把ECU设置为security状态。这样售后车辆的ECU刷写就必须进行安全访问,从而可以用来防止非法访问和恶意刷写。
 
  4.1安全访问准备策略
 
  如图3所示,首先,client和ECU及unlockSrv建立连接,client请求ECU进入默认会话,再请求进入编程会话;然后读取ECU零件号,如使用SID+DID=$22+$F187,并存储到client内存中;再读ProCntr,如使用SID=$22,DID=$0100,只有当ProCntr!=0xFF且ProCntr<=ProCntrMax进行下一步;读取VIN号,如使用SID=$22,DID=$F190,当VIN为空时说明E-CU为新零件,进一步写VIN如使用SID=$2E,DID=$F190;再执行安全访问步骤和刷写ECU;最后置位ECU完成刷写。设计上可以要求ProCntr==0xFF表示ECU状态为virgin,不符合OEM流程定义,诊断工具识别后警告或提醒操作员此ECU为非法零件。为保证ECU刷写寿命可靠定义标定参数ProCntrMax,如图3所示ProCntr>ProCntrMax,表示ECU刷写超过了刷写次数,不能进行刷写,需要更换零件。
 
  4.2安全访问数据流设计
 
  本文阐述的安全访问数据流向如下,unlockSrv、client和ECU在进行安全访问过程中,数据请求和响应的传递关系,如图4所示。client发起安全访问请求,首先请求种子SID=27+Lev;ECU收到后进行计算,计算步骤如图5所示,响应反馈种子67+Lev+Seed;client接收到种子后,对数据进行打包向unlockSrv请求解锁数据;unlockSrv接收到请求,通过计算获得解锁数据,计算过程如图6所示,然后发送给client;client接收到解锁数据进行解包,将密钥发送给ECU,SID=27+(Lev+1)+key;ECU接收到密钥和自己计算得到的密钥进行比对如果一致,进行解锁,并写client指纹信息到存储器,给出肯定应答67+(Lev+1),密钥核对过程如图7所示。client接收到种子结合client的硬件信息(如将其作为指纹信息FingerPrint)对其进行打包,并对打包数据进行证书签名,如RqstData=SigA[Seed||FingerPrint]||CertA为打包签名后的请求数据,然后向unlockSrv请求un-lockKey。client接收到RspdData,首先进行证书验证,再进行服务器检查;进一步,进行解包得到密钥;然后按照相应的诊断协议封装发送给ECU。安全访问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接收到Rqst-Data后,首先进行证书验证;然后进行指纹信息验证(client指纹信息必须在进行安全访问之前,unlockSrv已经对其进行了身份验证,也就是client指纹之前早已经录入到了unlockSrv中);再进行静态解密得到SecSeedData=F-1(Seed);最后un-lockSrv从SecSeedData获取Ref信息和SIDLev后,明确安全算法和安全访问等级计算得到SecKey==HASH(SecSeedData),进一步,SecKey结合FingerPrint通过静态加密得到密钥Key=Q(SecKey||FingerPrint),并结合服务器地址unlockSrvMAC打包响应发送给client,RspdData=SigA[Key||unlockSrvMAC]||CertA为响应数据。密钥核对的过程为ECU接收到Key,对其进行静态解密得到SecKey和FingerPrint,再与在第2步ECU计算得到的SecKey进行比较,如果相等则说明安全访问成功,并向ECU存储器flash中写入FingerPrint,给出client肯定响应,否则给出否定响应。完成安全访问步骤,进行下一步刷写动作。区别于早期的ECU安全访问机制和策略,本文描述的一种适用于车载电控单元的动态网络安全访问机制,对ECU解锁升级过程可以提供更加安全有效的方式来防止和避免通过破解用于ECU本地解锁算法而非法刷写ECU攻击车辆的行为。使用本策略密钥的获取提供了安全服务器对访问实体的鉴权,同时在不同安全等级下生成动态不唯一的种子和密钥,而且密钥的获取除了提供正确的种子还需要结合其它参数如签名信息、指纹信息,甚至还可以增加车辆信息、令牌信息等作为因子参与安全访问验证。
 
  5总结
 
  本文提出一种电控单元安全访问的策略很好的解决了车辆生产过程中ECU安全访问步骤多、效率低的问题,同时强化了车辆售后过程中ECU安全访问策略容易被破解或实时性不强导致的整车安全性得不到充分保障的问题。整个策略兼容性强,实施方便,且可以根据OEM自身需要及时调整或者切换证书验证和算法变更。
 
  作者:钱亚容 刘浩锐 韦建
 
本文章来源于网络,版权属于原作者,如需删除请联系本站站长。

上一篇:计算机应用技术与信息管理的整合
下一篇:嵌入式电子系统设计课程思政