首页> 中国专利> 实现ECU的安全访问方法、ECU及上位机

实现ECU的安全访问方法、ECU及上位机

摘要

本申请提供了实现ECU的安全访问方法、ECU及上位机,一种方法应用于ECU上,该方法包括:响应于接收上位机的安全访问请求,生成随机数并发送给所述上位机;依据所述随机数和预先设置的链接变量的移位参数来计算第一MD5值,并将所述第一MD5值与所述上位机返回的第二MD5值进行比较;根据比较结果进行安全访问控制。在本申请中,引入了移位参数,利用该移位参数对MD5算法中的链接变量进行了移位,使得MD5算法更加灵活,同时,因为采用改进的MD5算法实现安全访问,也使得上位机对ECU的访问较为安全,并且提高了ECU安全访问的灵活性和可操控性。

著录项

  • 公开/公告号CN104134047A

    专利类型发明专利

  • 公开/公告日2014-11-05

    原文格式PDF

  • 申请/专利权人 潍柴动力股份有限公司;

    申请/专利号CN201410309182.0

  • 申请日2014-07-01

  • 分类号G06F21/62;

  • 代理机构北京集佳知识产权代理有限公司;

  • 代理人王宝筠

  • 地址 261205 山东省潍坊市高新技术产业开发区福寿东街197号甲

  • 入库时间 2023-12-17 01:54:18

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-01-02

    授权

    授权

  • 2014-12-10

    实质审查的生效 IPC(主分类):G06F21/62 申请日:20140701

    实质审查的生效

  • 2014-11-05

    公开

    公开

说明书

技术领域

本申请涉及网络数据处理领域,特别涉及实现ECU的安全访问方法、 ECU及上位机。

背景技术

ECU(电子控制单元,Electronic Contol Unit),又称“行车电脑”、“车 载电脑”等。ECU和普通的电脑一样,由微处理器(CPU)、存储器(ROM、 RAM)、输入\输出接口(I/O)、模数转换器(A/D)以及整形、驱动等大 规模集成电路组成。也因此对于ECU的安全访问就显得至关重要,而现 有技术并不存在一种能够有效控制对ECU的安全访问的方案。

发明内容

本申请所要解决的技术问题是提供一种实现ECU的安全访问方法, 用以解决现有技术中无法实现对ECU进行安全访问的技术问题,从而提 高ECU访问的安全性。

本申请还提供了一种ECU及上位机,用以保证上述方法在实际中的 实现及应用。

为了解决上述问题,本申请公开了一种实现ECU的安全访问方法, 该方法应用于ECU上,包括:

响应于接收上位机的安全访问请求,生成随机数并发送给所述上位 机;

依据所述随机数和预先设置的链接变量的移位参数来计算第一MD5 值,并将所述第一MD5值与所述上位机返回的第二MD5值进行比较;

根据比较结果进行安全访问控制。

可选的,所述根据比较结果进行安全访问控制,包括:

判断所述第一MD5值与所述第二MD5值是否相等,如果是,则通 过所述上位机的安全访问请求,如果否,则拒绝所述上位机的安全访问 请求。

可选的,所述依据所述随机数和预先设置的链接变量的移位参数来计 算第一MD5值,包括:

将所述随机数确定为MD5算法的输入参数;

将所述移位参数对32进行取整,以得到移位的位数;

将所述MD5算法中的链接变量循环左移所述位数位;

利用所述输入参数和移位后的链接变量来计算所述第一MD5值。

本申请公开了一种ECU,包括:

生成单元,用于响应于接收上位机的安全访问请求,生成随机数并发 送给所述上位机;

第一计算单元,用于依据所述随机数和预先设置的链接变量的移位参 数来计算第一MD5值;

比较单元,用于将所述第一MD5值与所述上位机返回的第二MD5 值进行比较;

安全访问控制单元,用于根据比较结果进行安全访问控制。

可选的,所述安全访问控制单元包括:

判断模块,用于判断所述第一MD5值与所述第二MD5值是否相等;

第一控制模块,用于在所述判断模块的结果为是的情况下,通过所述 上位机的安全访问请求;

第二控制模块,用于在所述判断模块的结果为否的情况下,拒绝所述 上位机的安全访问请求。

可选的,所述第一计算单元包括:

第一确定模块,用于将所述随机数确定为MD5算法的输入参数;

第一取整模块,用于将所述移位参数对32进行取整,以得到移位的 位数;

第一移位模块,用于将所述MD5算法中的链接变量循环左移所述位 数位;

第一计算模块,用于利用所述输入参数和移位后的链接变量来计算所 述第一MD5值。

本申请还公开了另一种实现ECU的安全访问方法,该方法应用于上 位机中,包括:

向ECU发送安全访问请求;

接收所述ECU响应于安全访问请求返回的随机数;

依据所述随机数和预先设置的链接变量的移位参数来计算第二MD5 值,并将所述第二MD5值发送给所述ECU,以便所述ECU依据所述第 一MD5值和第二MD5值的比较结果进行安全访问控制。

可选的,所述依据所述随机数和预先设置的链接变量的移位参数来计 算第二MD5值,包括:

将所述随机数确定为MD5算法的输入参数;

将所述移位参数对32进行取整,以得到移位的位数;

将所述MD5算法中的链接变量循环左移所述位数位;

利用所述输入参数和移位后的链接变量来计算所述第二MD5值。

本申请还公开了一种上位机,包括:

发送请求单元,用于向ECU发送安全访问请求;

接收单元,用于接收所述ECU响应于安全访问请求返回的随机数;

第二计算单元,用于依据所述随机数和预先设置的链接变量的移位参 数来计算第二MD5值;

发送MD5值单元,用于将所述第二MD5值发送给所述ECU,以便 所述ECU依据所述第一MD5值和第二MD5值的比较结果进行安全访问 控制。

可选的,所述第二计算单元包括:

第二确定模块,用于将所述随机数确定为MD5算法的输入参数;

第二取整模块,用于将所述移位参数对32进行取整,以得到移位的 位数;

第二移位模块,用于将所述MD5算法中的链接变量循环左移所述位 数位;

第二计算模块,用于利用所述输入参数和移位后的链接变量来计算所 述第二MD5值。

与现有技术相比,本申请包括以下优点:

在本申请中,引入了移位参数,利用预先设置的移位参数对MD5算 法中的链接变量进行了移位,使得MD5算法更加灵活,同时,因为采用 改进的MD5算法实现安全访问,也使得上位机对ECU的访问较为安全, 并且提高了ECU安全访问的灵活性和可操控性。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述 中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅 仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创 造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本申请的一种实现ECU的安全访问方法实施例1的流程图;

图2是本申请的一种实现ECU的安全访问方法实施例2的流程图;

图3是本申请的一种ECU实施例的结构框图;

图4是本申请的一种上位机的实施例的结构框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案 进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实 施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术 人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本 申请保护的范围。

本申请可用于众多通用或专用的计算装置环境或配置中。例如:个 人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处 理器装置、包括以上任何装置或设备的分布式计算环境等等。

本申请可以在由计算机执行的计算机可执行指令的一般上下文中描 述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽 象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布 式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络 而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块 可以位于包括存储设备在内的本地和远程计算机存储介质中。

参考图1,示出了本申请一种实现ECU的安全访问方法实施例1的 流程图,可以包括以下步骤:

步骤101:ECU响应于接收上位机的安全访问请求,生成随机数并发 送给所述上位机。

在实际英语中,用户如果触发了对ECU的安全访问请求,上位机将 响应于用户发送的安全访问请求,再将安全访问请求发送给ECU,ECU 在接收到对自己的安全访问请求之后,会生成一随机数,并且为了保证 上位机也能根据该随机数计算MD5值,还会将随机数发送给上位机。

其中,MD5(Message Digest Algorithm5,)算法主要用于确保信息 传输完整一致,它是计算机广泛使用的杂凑算法之一。而杂凑算法的基 础原理是将数据(如汉字)运算为另一个固定长度值。

步骤102:ECU依据所述随机数和预先设置的链接变量的移位参数来 计算第一MD5值。

ECU在生成随机数之后,将该随机数作为MD5算法中的输入参数, 并将预先设置的移位参数args决定的位数来对链接变量进行移位,再按 照输入参数和移位后的链接变量来利用MD5算法计算第一MD5值。

在具体实现时,步骤102在实际应用中具体可以包括:

步骤A1:ECU将所述随机数确定为MD5算法的输入参数。

步骤A2:ECU将所述移位参数对32进行取整,以得到移位的位数;

因为在MD5算法中,有四个32位被称作链接变量(Chaining Variable) 的整数参数,他们分别为:A=0x01234567,B=0x89abcdef,C=0xfedcba98, D=0x76543210。例如已知移位参数args,对于十六进制来讲,那么移位 数就是args的值对16取整,即int s=args%32。对哪一个数值进行取整 决定与计算机的操作倍数。

步骤A3:ECU将所述MD5算法中的链接变量循环左移所述位数位;

在得到链接变量需要移位的位数之后,即将四个链接变量循环左移所 述位数位。以上面的例子来讲,移位后的链接变量分别为:A=0x67452301 (A=A<<s|A>>(32-s)),B=0xefcdab89(B=B<<s|B>>(32-s)), C=0x98badcfe(C=C<<s|C>>(32-s)),D=0x10325476(D=D<<s| D>>(32-s))。

步骤A4:ECU利用所述输入参数和移位后的链接变量来计算所述第 一MD5值。

ECU再利用输入参数和移位后的链接变量来计算第一MD5值。

具体在实现时,可以在编程时将UInt32[]bits的第args%4个值转化为 一个长度为4的byte[]数组,作为返回值。如果计算机为十六进制,当args 为0或者16的倍数时,采用本实施例的计算结果就会与未进行移位操作 的MD5算法的结果重合,因此,本领域技术人员可以将MD5的四轮主 循环中的第一个循环中FF第一步的“循环左移s11”与最后一步的“左 移s14”互换,互换后,在第一个循环中FF第一步为循环左移s14位, 最后一步则为左循环s11位。

步骤103:ECU将所述第一MD5值与所述上位机返回的第二MD5 值进行比较。

ECU在计算出第一MD5值之和,将自己计算得到的第一MD5值与 上位机返回的第二MD5值进行比较,其中,上位机计算第二MD5值的 方式与步骤102中的介绍相同。

步骤104:ECU根据比较结果进行安全访问控制。

在不同的实施例中,步骤104在实际应用中具体可以包括:

步骤B1:判断所述第一MD5值与所述第二MD5值是否相等,如果 是,则进入步骤B2,如果否,则进入步骤B3。

ECU判断第一MD5值和第二MD5值是否相等,如果相等,说明本 次访问是安全的,则通过上位机的安全访问请求。如果不等,则说明本 次访问可能不是安全的,此时则拒绝上位机的安全访问请求。

步骤B2:通过所述上位机的安全访问请求。

步骤B3:拒绝所述上位机的安全访问请求。

采用本发明实施例,通过预先设置的移位参数,可以对MD5算法中 的链接变量进行了移位,使得MD5算法更加灵活,同时,因为采用改进 的MD5算法实现安全访问,也使得上位机对ECU的访问较为安全,并 且提高了ECU安全访问的灵活性和可操控性。

参考图2,示出了本申请一种ECU的安全访问方法实施例2的流程 图,可以包括以下步骤:

步骤201:上位机向ECU发送安全访问请求。

上位机在接收到用户触发的对ECU的访问时,将安全访问请求发送 给ECU。

步骤202:上位机接收所述ECU响应于安全访问请求返回的随机数。

上位机接收到ECU返回的随机数。

步骤203:上位机依据所述随机数和链接变量的移位参数来计算第二 MD5值。

上位机将该随机数作为MD5算法中中的输入参数,并依据输入参数 和链接变量的移位参数来计算第二MD5值。具体的计算方式可以参考步 骤102的介绍,在此不再赘述。

其中,在不同的实施例中,所述步骤203具体可以包括:

步骤C1:将所述随机数确定为MD5算法的输入参数;

步骤C2:将所述移位参数对32进行取整,以得到移位的位数。

步骤C3:将所述MD5算法中的链接变量循环左移所述位数位。

步骤C4:利用所述输入参数和移位后的链接变量来计算所述第二 MD5值。

步骤204:上位机将所述第二MD5值发送给所述ECU,以便所述ECU 依据所述第一MD5值和第二MD5值的比较结果进行安全访问控制。

上位机再将第二MD5值发送给所述ECU,ECU依据所述第一MD5 值和第二MD5值的比较结果进行安全访问控制,具体的安全访问控制过 程可以参考步骤104中的介绍,在此不再赘述。

需要说明的是,本实施例与前一个实施例的不同之处仅在于执行主 体,因此,未尽之处可以参考前一个实施例的相关介绍。

采用本发明实施例,利用预先设置的移位参数,对MD5算法中的链 接变量进行了移位,使得MD5算法更加灵活,同时,因为采用改进的 MD5算法实现安全访问,也使得上位机对ECU的访问较为安全,并且提 高了ECU安全访问的灵活性和可操控性。

对于前述的各方法实施例,为了简单描述,故将其都表述为一系列 的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动 作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时 进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均 属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。

与上述本申请一种实现ECU的安全访问方法实施例1所提供的方法 相对应,参见图3,本申请还提供了一种ECU实施例,在本实施例中, 可以包括:

生成单元301,用于响应于接收上位机的安全访问请求,生成随机数 并发送给所述上位机。

第一计算单元302,用于依据所述随机数和预先设置的链接变量的移 位参数来计算第一MD5值。

在不同的实施例中,所述第一计算单元302具体可以包括:

第一确定模块,用于将所述随机数确定为MD5算法的输入参数;第 一取整模块,用于将所述移位参数对32进行取整,以得到移位的位数; 第一移位模块,用于将所述MD5算法中的链接变量循环左移所述位数位; 以及,第一计算模块,用于利用所述输入参数和移位后的链接变量来计 算所述第一MD5值。

比较单元303,用于将所述第一MD5值与所述上位机返回的第二 MD5值进行比较。

安全访问控制单元304,用于根据比较结果进行安全访问控制。

在不同的实施例中,所述安全访问控制单元304具体可以包括:

判断模块,用于判断所述第一MD5值与所述第二MD5值是否相等; 第一控制模块,用于在所述判断模块的结果为是的情况下,通过所述上 位机的安全访问请求;以及,第二控制模块,用于在所述判断模块的结 果为否的情况下,拒绝所述上位机的安全访问请求。

本实施例中的ECU对MD5算法中的链接变量进行了移位,使得MD5 算法更加灵活,同时,因为采用改进的MD5算法实现安全访问,也使得 上位机对ECU的访问较为安全,并且提高了ECU安全访问的灵活性和 可操控性。

与上述本申请一种实现ECU的安全访问方法实施例2所提供的方法 相对应,参见图4,本申请还提供了一种上位机实施例,在本实施例中, 可以包括:

发送请求单元401,用于向ECU发送安全访问请求。

接收单元402,用于接收所述ECU响应于安全访问请求返回的随机 数。

第二计算单元403,用于依据所述随机数和预先设置的链接变量的移 位参数来计算第二MD5值。

在不同的实施例中,所述第二计算单元403具体可以包括:

第二确定模块,用于将所述随机数确定为MD5算法的输入参数;第 二取整模块,用于将所述移位参数对32进行取整,以得到移位的位数; 第二移位模块,用于将所述MD5算法中的链接变量循环左移所述位数位; 以及,第二计算模块,用于利用所述输入参数和移位后的链接变量来计 算所述第二MD5值。

发送MD5值单元404,用于将所述第二MD5值发送给所述ECU, 以便所述ECU依据所述第一MD5值和第二MD5值的比较结果进行安全 访问控制。

本实施例中的上位机对MD5算法中的链接变量进行了移位,使得 MD5算法更加灵活,同时,因为采用改进的MD5算法实现安全访问,也 使得上位机对ECU的访问较为安全,并且提高了ECU安全访问的灵活 性和可操控性。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述, 每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间 相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法 实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部 分说明即可。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系 术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不 一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺 序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他 性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅 包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为 这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况 下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的 过程、方法、物品或者设备中还存在另外的相同要素。

以上对本申请所提供的一种ECU的安全访问方法、ECU及上位机进 行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行 了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思 想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实 施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理 解为对本申请的限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号