一种控制器应用层软件防移植校验方法及系统与流程
- 国知局
- 2024-08-08 16:57:44
本发明涉及控制器的,特别涉及的是一种控制器应用层软件防移植校验方法及系统。
背景技术:
1、近年来,在车用控制器的行业中,整机公司为降低控制器的使用成本,后期维护成本,以及掌控内部功能需求管理的便利性,往往会自主研发相应的控制器软件。其中包括但不限于整车控制器(vcu)、混动控制器(hcu)、发动机控制器(ecu)等。
2、同时,由于控制器硬件较高的管理成本,以及市场的成熟饱和原因,通常情况下,各类xcu的硬件以及底层软件通常仍采用三级供应商提供的方式来完成。因此,在项目初期建设,以及中期遇到集成问题的情况下,整机公司有时需要将应用层代码打包提供给硬件供应商进行问题排查。基于此,如不进行一定的防移植措施,则硬件供应商可以将此部分软件打包使用,进而提供给甲方的竞争对手。
3、现有技术中,主要有以下几种方式来防止应用层软件受到外部移植。
4、1.在项目初期及中期遇到集成问题时,整机公司要求硬件供应商派遣工程师驻场解决问题,并确保整个过程在整机公司提供的电子设备上操作完成,此方案的缺点是需要人员长时间驻点,并提供相应的场所设备,消耗较大,若条件不允许则无法进行。
5、2.整机公司以黑盒方式提供软件代码或模型,硬件供应商提供集成解决方案。此方案消耗较小,缺点是黑盒软件包在测试成熟后,依然具备移植使用的条件。
技术实现思路
1、本发明的目的旨在通过防移植校验以及随机禁止功能的措施,防止打包的应用层软件泄露后用于竞品,从而保护整机公司的利益。
2、为了达到上述目的,本发明的技术方案提供了一种控制器应用层软件防移植校验方法,包括以下步骤:
3、在应用层设置可存放多个版本信息的标定数组,选取对应数量的版本信息存放地址存入应用层标定数组;
4、每次上电时,将版本信息与底层标定值进行核对,若值不相等,则将相应点位的验证失败标志位置1,其中数组中每一位对应一个重要模块;
5、判断是否有验证失败标志位,如是则进入下一步;
6、设定一个随机禁止标定值,将其与从底层时间戳提取的随机数进行比较,判断随机数是否大于标定值,如是则进入下一步;
7、根据数组中验证失败标志位将对应重要模型禁用;
8、将随机禁止发生的总次数存入控制器eeprom。
9、优选的,如判断是否有验证失败标志位或判断随机数是否大于标定值的结果为否,则判断随机禁止累计次数是否大于特定值,如是则将发动机控制单元起动关键模块禁用,否则不禁用重要模型并正常起动。
10、优选的,在软件标定数据正式版发布前将版本信息存放地址存入应用层标定数组。
11、优选的,禁用重要模型时,将重要模块的fcncall关闭。
12、优选的,标定数组设为1x10,版本信息存放地址选取为10个。
13、本发明的技术方案提供了一种控制器应用层软件防移植校验系统,可执行上述的控制器应用层软件防移植校验方法。
14、综上所述,本发明包括以下有益技术效果:
15、本发明解决应用程序软件打包提供后存在被移植使用可能性的问题。①该方案中,通过将固化后特有的版本信息进行数组化二次存放的校验,防止内容篡改。②其次,在识别到内容篡改时,采用了十个不同对应点的选择,使模块禁止存在一定的随机性,更难被甄别和排除。③此外,加入了随机禁止条件,通过提取的随机数rand1与标定值tampres_rand_c进行比较,随机数大于标定值时,禁用才能生效。tampres_rand_c的值越大,随机禁止的隐蔽性越高,埋下的问题越难以排查。⑤同时,在达到了一定累计次数后(此时间超出耐久验证周期)彻底禁用关键模块功能。
技术特征:1.一种控制器应用层软件防移植校验方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种控制器应用层软件防移植校验方法,其特征在于,如判断是否有验证失败标志位或判断随机数是否大于标定值的结果为否,则判断随机禁止累计次数是否大于特定值,如是则将发动机控制单元起动关键模块禁用,如否则不禁用重要模型并正常起动。
3.根据权利要求2所述的一种控制器应用层软件防移植校验方法,其特征在于,在软件标定数据正式版发布前将版本信息存放地址存入应用层标定数组。
4.根据权利要求3所述的一种控制器应用层软件防移植校验方法,其特征在于,禁用重要模型时,将重要模块的fcncall关闭。
5.根据权利要求4所述的一种控制器应用层软件防移植校验方法,其特征在于,标定数组设为1x10,版本信息存放地址选取为10个。
6.一种控制器应用层软件防移植校验系统,其特征在于,可执行权利要求1-5任一项所述的控制器应用层软件防移植校验方法。
技术总结本发明涉及一种控制器应用层软件防移植校验方法及系统,涉及控制器领域,其包括以下步骤:在应用层设置可存放多个版本信息的标定数组,选取对应数量的版本信息存放地址存入应用层标定数组;每次上电时,将版本信息与底层标定值进行核对,若值不想定,则将相应点位的验证失败标志位置1,其中数组中每一位对应一个重要模块;判断是否有验证失败标志位,如是则进入下一步;设定一个随机禁止标定值,将其与从底层时间戳提取的随机数进行比较,判断随机数是否大于标定值,如是则进入下一步;根据数组中验证失败标志位将对应重要模型禁用;将随机禁止发生的总次数存入控制器EEPROM。本发明有利于解决应用程序软件打包提供后存在被移植使用可能性的问题。技术研发人员:戴文豪,李振华,刘微,夏舜午,凌建群,纪丽伟,陈勇受保护的技术使用者:上海新动力汽车科技股份有限公司技术研发日:技术公布日:2024/8/5本文地址:https://www.jishuxx.com/zhuanli/20240808/271485.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。