一种汽车仪表软件升级时的数据加密方法技术

技术编号:25397381 阅读:30 留言:0更新日期:2020-08-25 23:02
本发明专利技术涉及数据加密技术领域,具体是一种汽车仪表软件升级时的数据加密方法,包括以下步骤:S1、删除原始S19文件中的多余信息;S2、对删除多余信息后的S19文件进行数据加密,得到加密后用于在线更新的S19文件;S3、向上位机导入用于在线更新的S19文件;S4、对S19文件数据进行二次加密,并将加密后的数据发送至CAN收发设备;S5、CAN收发设备将加密后的数据发送至仪表。本发明专利技术对数据进行双重加密,即在文件转换与数据传输时采用两套加密方法,且两套算法不同,与传统的不加密,或者仅在数据传输时进行一次加密,安全性显著提升。

【技术实现步骤摘要】
一种汽车仪表软件升级时的数据加密方法
本专利技术涉及数据加密
,具体是一种汽车仪表软件升级时的数据加密方法。
技术介绍
汽车仪表是汽车上不可缺少的ECU,传统的汽车仪表仅能显示发动机转速、当前车速、冷却液温度、剩余燃油量、报警灯等信息。随着汽车智能网联化发展,越来越多的信息需要显示在仪表上,汽车仪表显示屏的尺寸也由原来的3.5寸逐渐增加到7寸、10寸、甚至12.3寸。显示内容也由原先的仅显示平均油耗、续航里程等简单的行车电脑信息,增加到能够显示动画、歌词、导航、故障图片提示等复杂内容。显示内容的增加,软件开发的难度以及软件代码量也是成倍的增加。在软件开发中产生的风险也越来越大,所以在软件开发过程中,无论整车厂是否有在线升级程序的需求,软件开发时都会预留软件升级的接口,作为后期软件出现bug或者整车厂提出更改时,方便升级程序。如果仪表还未安装到整车上,采用传统的烧录器烧录会比较方便,软件更新速度也会更快一些;但是一旦在车上安装好之后,想通过拆仪表的方式来更新软件,不仅费时费力,且在拆装的过程中可能会损坏部分部件,比如卡扣折断,塑料划痕等,所以这种方式已基本被淘汰。目前绝大部分汽车上都是使用CAN总线,且CAN总线可以通过OBDII接口连接电脑,所以大部分的ECU厂商都会选择通过CAN总线来升级程序。有的车厂有统一的软件升级流程,所以开发升级软件时都会按照整车厂的要求进行开发,且普遍的方式都是供应商将需要更新的文件和更新工具下发给车厂,由车厂的工程师进行统一更新;有的车厂没有统一的软件升级流程,此时各个ECU厂家会根据自己的实际考虑,开发符合自己产品的升级程序。无论是哪种情况,目前主流的通过CAN总线传输数据都是采用明码的方式,无任何加密,数据清晰可见,且很容易被获取。因此,针对以上现状,迫切需要开发一种汽车仪表软件升级时的数据加密方法,以克服当前实际应用中的不足。
技术实现思路
本专利技术的目的在于提供一种汽车仪表软件升级时的数据加密方法,以解决上述
技术介绍
中提出的问题。为实现上述目的,本专利技术提供如下技术方案:一种汽车仪表软件升级时的数据加密方法,包括以下步骤:S1、删除原始S19文件中的多余信息;S2、对删除多余信息后的S19文件进行数据加密,得到加密后用于在线更新的S19文件;S3、向上位机导入用于在线更新的S19文件;S4、对S19文件数据进行二次加密,并将加密后的数据发送至CAN收发设备;S5、CAN收发设备将加密后的数据发送至仪表。作为本专利技术进一步的方案:S19文件为NXP公司的软件开发工具编译生成的可执行文件。作为本专利技术进一步的方案:步骤S1中,原始S19文件中的多余信息包括但不限于跳转地址。作为本专利技术进一步的方案:步骤S2中,数据加密包括以下步骤:S21、在上位机软件中定义一个大小为32的随机数数组,数组中每个数据均为一个字节;S22、将原始的S19文件导入上位机软件中,解析出的第一个有效数据加上随机数数组的第一个字节,如果这两个数据之和超过了0xFF,则将该数据减去0x100,作为第一个被加密的数据;S23、以此类推。作为本专利技术进一步的方案:步骤S4中,数据二次加密包括以下步骤:S41、将每个传输的数据进行高低位互换;S42、然后再进行按位取反操作。作为本专利技术进一步的方案:数据二次加密还包括有数据校验,数据校验采用CRC32循环冗余校验方式。作为本专利技术进一步的方案:还设有数据解密步骤,数据解密步骤包括一次解密和二次解密步骤。作为本专利技术进一步的方案:一次解密步骤为:仪表接收到数据后,会按照事先约定的规则,先对数据取反,然后进行高低位互换。作为本专利技术进一步的方案:二次解密步骤为:先比较需要计算的数据和对应随机数数组里对应位置的数据大小,如果比随机数数组里对应位置的数据大,直接相减即可;如果比随机数数组里对应位置的数据小,则先将这个数加上0x100,然后再与随机数数组对应位置的数据相减。与现有技术相比,本专利技术的有益效果是:1、数据双重加密,即在文件转换与数据传输时采用两套加密方法,且两套算法不同,与传统的不加密,或者仅在数据传输时进行一次加密,安全性显著提升;2、在数据保存时的加密,采用随机数组与有效数据累加和的方法,比传统的不加密、或者仅加上一个固定值的方案相比,安全性更高;3、在仪表接收到被加密的数据后,需采用两步解密法,解密步骤与加密步骤相反,且必须使用解密密钥,才能够得到最终的数据,并最终将数据写入正确的地址;4、在数据传输过程中采用的CRC32循环冗余校验算法,参与计算的是被加密的数据,而不是明文数据,当仪表接收到被加密的数据后,计算CRC32校验值也是使用加密数据进行计算,而不是最终数据,这与传统的CRC32校验直接使用最终数据计算校验值方法不同。附图说明图1为汽车仪表软件升级时的数据加密方法的步骤流程图。图2为汽车仪表软件升级时的数据加密方法中数据加密的步骤流程图。图3为汽车仪表软件升级时的数据加密方法中数据二次加密的步骤流程图。图4为汽车仪表软件升级时的数据加密方法中数据加密示意图。图5为汽车仪表软件升级时的数据加密方法中数据二次加密示意图。图6为汽车仪表软件升级时的数据加密方法中上位机示意图。具体实施方式下面结合具体实施方式对本专利的技术方案作进一步详细地说明。下面详细描述本专利的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本专利,而不能理解为对本专利的限制。在本专利的描述中,需要理解的是,术语“中心”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本专利和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利的限制。在本专利的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“设置”应做广义理解,例如,可以是固定相连、设置,也可以是可拆卸连接、设置,或一体地连接、设置。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本专利中的具体含义。实施例1请参阅图1-3,本专利技术实施例中,一种汽车仪表软件升级时的数据加密方法,包括可执行文件S19文件,S19文件为NXP公司的软件开发工具编译生成的可执行文件,将S19文件打开,可以看到里面第一行是文件开头标识,以S0开头;最后一行是结束标识,以S7、S8或S9开头,开头与结束标识行里不含有效数据,其余各行分别以S1、S2或S3开头,是含有有效数据的数据场。根据S19文件的规范定义,S1开头本文档来自技高网
...

【技术保护点】
1.一种汽车仪表软件升级时的数据加密方法,其特征在于,包括以下步骤:/nS1、删除原始S19文件中的多余信息;/nS2、对删除多余信息后的S19文件进行数据加密,得到加密后用于在线更新的S19文件;/nS3、向上位机导入用于在线更新的S19文件;/nS4、对S19文件数据进行二次加密,并将加密后的数据发送至CAN收发设备;/nS5、CAN收发设备将加密后的数据发送至仪表。/n

【技术特征摘要】
1.一种汽车仪表软件升级时的数据加密方法,其特征在于,包括以下步骤:
S1、删除原始S19文件中的多余信息;
S2、对删除多余信息后的S19文件进行数据加密,得到加密后用于在线更新的S19文件;
S3、向上位机导入用于在线更新的S19文件;
S4、对S19文件数据进行二次加密,并将加密后的数据发送至CAN收发设备;
S5、CAN收发设备将加密后的数据发送至仪表。


2.根据权利要求1所述的汽车仪表软件升级时的数据加密方法,其特征在于,S19文件为NXP公司的软件开发工具编译生成的可执行文件。


3.根据权利要求2所述的汽车仪表软件升级时的数据加密方法,其特征在于,步骤S1中,原始S19文件中的多余信息包括但不限于跳转地址。


4.根据权利要求1所述的汽车仪表软件升级时的数据加密方法,其特征在于,步骤S2中,数据加密包括以下步骤:
S21、在上位机软件中定义一个大小为32的随机数数组,数组中每个数据均为一个字节;
S22、将原始的S19文件导入上位机软件中,解析出的第一个有效数据加上随机数数组的第一个字节,如果这两个数据之和超过了0xFF,则将该数据减去0x100,作为第一个...

【专利技术属性】
技术研发人员:惠志洲
申请(专利权)人:南京协和电子科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1