[发明专利]程序流监控方法、系统及车辆有效
申请号: | 201910120865.4 | 申请日: | 2019-02-18 |
公开(公告)号: | CN110135198B | 公开(公告)日: | 2021-06-22 |
发明(设计)人: | 马东辉;李子谦 | 申请(专利权)人: | 北京车和家信息技术有限公司 |
主分类号: | G06F21/72 | 分类号: | G06F21/72;H04L9/08 |
代理公司: | 北京银龙知识产权代理有限公司 11243 | 代理人: | 许静;黄灿 |
地址: | 100102 北京市朝*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 程序 监控 方法 系统 车辆 | ||
本发明公开了一种程序流监控方法、系统及车辆,该方法包括:获取随机码,作为初始密钥;为目标监控程序流配置密钥更新函数,密钥更新函数包含子程序因子,目标监控程序流的每个子程序对应不同的子程序因子;在目标监控程序流执行结束的情况下,获取目标监控程序流的最后一个子程序携带的第一密钥;判断第一密钥与目标密钥是否一致;若第一密钥与目标密钥一致,则确定目标监控程序流的执行顺序正确,若第一密钥与目标密钥不一致,则确定目标监控程序流的执行顺序异常。这样,通过所述程序流监控方法能够及时发现目标监控程序流的执行异常情况,便于系统采取相应的措施来避免因执行异常而引发的安全事故。
技术领域
本发明涉及汽车技术领域,尤其涉及一种程序流监控方法、系统及车辆。
背景技术
控制器中应用程序模块按照一定的顺序,在一定的时间范围内依次被调用,才能保证程序安全,可靠的运行。如果应用程序模块不能按照一定的顺序依次执行,或者某些程序根本没有执行,则有可能导致数据错误,数据损坏甚至其他软件模块的失效,可能对系统安全造成灾难性的破坏。
在当前控制器技术中,大多是采用微控制器的片内看门狗或外部看门狗模块来监测软件的运行,看门狗电路要求软件在间隔一个预设好的时间之内对特定寄存器进行访问(这个特定的操作称为喂狗操作)。如在规定时间内软件没有发起喂狗操作,则认定软件执行进入某种异常状态,此时看门狗电路会输出中断或复位信号。但传统看门狗电路不能对程序流进行有效的监控,当程序流的执行顺序出现异常时,可能会引发控制器故障或造成执行机构损坏,严重时甚至会引发重大安全事故。
发明内容
本发明实施例的目的在于提供一种程序流监控方法、系统及车辆,解决了传统看门狗电路不能对软件的运行顺序(即程序流)进行有效监控的问题。
为了达到上述目的,本发明实施例提供一种程序流监控方法,应用于程序流监控系统,所述方法包括:
获取随机码,作为初始密钥;
为目标监控程序流配置密钥更新函数,所述密钥更新函数包含子程序因子,所述目标监控程序流的每个子程序对应不同的子程序因子;
在所述目标监控程序流执行结束的情况下,获取所述目标监控程序流的最后一个子程序携带的第一密钥;
判断所述第一密钥与目标密钥是否一致;所述目标密钥为根据所述初始密钥和所述密钥更新函数,计算所述目标监控程序流在执行正确的情况下,最后一个子程序携带的密钥;
若所述第一密钥与所述目标密钥一致,则确定所述目标监控程序流的执行顺序正确,若所述第一密钥与所述目标密钥不一致,则确定所述目标监控程序流的执行顺序异常。
可选的,所述程序流监控系统包括控制器或独立设置于所述控制器外部的看门狗,所述获取随机码,包括:
获取由所述控制器的软件程序或所述看门狗产生的随机码。
可选的,所述子程序因子与子程序序列号相关联。
可选的,每个子程序对应的子程序因子等于其子程序序列号;
所述密钥更新函数为Yn=(Yn-1+Kn)Kn,其中,Yn为所述目标监控程序流的第n个子程序所携带的密钥,Yn-1为执行第n个子程序前的密钥,Y0为所述初始密钥,Kn为第n个子程序的序列号,n为大于0的整数。
可选的,所述在所述目标监控程序流执行结束的情况下,获取所述目标监控程序流的最后一个子程序携带的第一密钥,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京车和家信息技术有限公司,未经北京车和家信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910120865.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种SoC芯片的可靠性实时保护方法
- 下一篇:安全通用数字信号处理DSP芯片