专利名称:一种基于aes128加密算法的发动机防盗认证方法
技术领域:
本发明涉及汽车安全领域,特别涉及一种通过控制发动机工作的发动机防 盗系统的加密认证方法,该发动机防盗系统釆用AES128加密算法。
背景技术:
AES(Adva腦d Encryption Standard):高级力口密标准,是下一代的力口密 算法标准,速度快,安全级别高。AES作为新一代的数据加密标准汇聚了强安 全性、高性能、高效率、易用和灵活等优点。AES设计有三个密钥长 度128, 192, 256位,相对而言,AES的128密钥比DES(Data Encryption Standard:现阶段普遍使用的一种数据加密标准,速度较快,适用于加密大量 数据的场合)的56密钥强1021倍。
当前发动机防盗系统是由转发器、防盗控制器和发动机控制器组成的。转 发器由半导体供应商提供,加密算法固化在转发器中。传统的方式,根据加密 算法相同的参数,相同的密钥,加密出相同的结果;在发动机控制器中集成与 转发器相同的加密算法,实现加密认证。由于转发器成本的考虑,算法运行速 度受到制约,需要采用尽可能精简的算法,譬如NXP半导体公司提供的Hi tag2, 48位密钥,认证时间小于39ms。现有发动机防盗系统,具备防止发动机非法 启动系统认证策略的基本功能;但加密强度和扩展性受到各方面的制约。
发明内容
本发明的目的是提出一种基于AES加密算法的发动机防盗系统认证方法, 对发动机控制器与发动机防盗控制器之间的通信认证提供严格的加密手段,增 强并确保整车的防盗安全性。
为解决上述技术问题,本发明的技术方案为 一种基于AES128加密算法 的发动机防盗认证方法,该发动机防盗系统包括汽车钥匙柄处的转发器和设置于汽车上的发动机防盗控制器和发动机控制器,所述的转发器与发动机防盗控 制器之间通过无线载波信号进行通讯,所述的发动机防盗控制器通过汽车内部 通信线路与所述的发动机控制器进行通讯,其密码认证包括转发器认证和发动 机控制器认证,所述的转发器认证完成转发器与发动机防盗控制器之间的认 证,在完成所述的转发器认证后所述的发动机防盗控制器与发动机控制器间密
码认证包括以下步骤进行
A、 建立发动机防盗控制器和发动机控制器之间的通信链路;
B、 发动机控制器根据自身产生的随机数、安全码和密钥进行AES128加密, 加密后的结果发送到发动机防盗控制器,随后,发动机控制器重新组合随机数 和安全码与密钥进4亍AES128加密;
C、 发动机防盗控制器根据已有的密钥和接收到的加密结果进行AES128 解密运算和安全码比对,若正确,发动机防盗控制器重新组合随机数和安全码 与密钥进行AES128加密,加密的结果发送到发动机控制器,若不正确,则转 入步骤B;
D、 发动机控制器重新计算的加密结果与接收到的加密结果进行比对,若 正确,向发动机防盗控制器发送正响应,同时释放防盗,若不正确,则转入步 骤B。
进一步的,所述的发动机防盗认证方法,在步骤A中,包括以下分步骤 Al、根据发动机控制器发出的脉冲信号,发动机防盗控制器向发动机控制
器发出建立通信链路的请求信号;
A2、发动机控制器收到请求信号后,在第一设定时间内向发动机防盗控制
器发送应答信号;
A3、若发动机防盗控制器在第二设定时间内收到应答信号,则向发动机控 制器发送认证口令请求消息,通信链路建立,否则,转A1。
进一步的,所述的发动机防盗认证方法中,在所述的发动机控制器和发动 机防盗控制器内进行AES128加密过程,包括以下步骤在发动才几控制器内生成112位随机数与其内部的16位安全码组成128位 数据,将所述的128位凄t据与128位密钥进4亍AES128加密生成128位加密结 果;然后,112位随机数和16位安全码全新组合,将组合后的128位数据与 128位密钥再次进行AES128加密生成128位加密结果;发动机防盗控制器也 根据前述的加密过程进行加密。
进一步的,上述方法中,在所述的发动机控制器和发动机防盗控制器内进 行密码比对包括以下步骤
在所述的发动机防盗控制器内将接收到的数据包和自身的128位密钥进 行AES128加密,获得112位随机数和16位安全码,计算得到的安全码与其内 部的安全码进行比较。在所述的发动机控制器内将接收到的数据包与计算得到 的数据包进行比较。
本发明的有益效果,本方案由于在发动机防盗控制器与发动机控制器之间 采用AES128加密算法,钥匙、防盗控制器和发动机控制器组成三位一体系统, 具有完善的加密算法,实现多层次的密码验证,加密密钥应用128位,保证高 安全性和快速的算法运算。具有强安全性、高性能、高效率、易用和灵活等优 点,克服了现有技术中加密强度和扩展性受到各方面的制约的不足。
以下将结合附图,对本发明的具体实施举例进行较为详细的说明。
图l是本发明控制流程图。
图2是本发明实施例硬件结构框图。
图3是本发明实施例中数据包流程图。
图4是本发明实施例中数据通信结构图。
具体实施例方式
实施例l,如图1和图2、图3、图4所示 一种基于AES128加密算法的 发动机防盗认证方法,该发动机防盗系统包括汽车钥匙柄处的转发器和设置于 汽车上的发动机防盗控制器(I腦O)和发动机控制器(ECM),所述的转发器与发动机防盗控制器之间通过无线载波信号进行通讯,所述的发动机防盗控制器通 过汽车内部通信线路与所述的发动机控制器进行通讯,本实施例中,所述的发
动机防盗控制器与发动机控制器是通过汽车K线连接,通信协议采用异步串行 通讯方式,数据通信的波特率为10400比特/秒。本实施例中密码认证包括转 发器认证和发动机控制器认证,所述的转发器认证完成转发器与发动机防盗控 制器之间认证。
本实施例中,发动机防盗控制器和发动机控制器对汽车的点火钥匙上电检 测,如果检测到点火钥匙上电信号到可靠的上升沿,即认为开始系统安全认证。
发动机防盗控制器与发动机控制器间密码认证包括以下步骤进行
A、按下列步骤建立发动机防盗控制器和发动机控制器之间的通信链路
Al、根据发动机控制器发出的脉冲信号,发动机防盗控制器向发动机控制 器发出建立通信链路的请求信号,
A2、发动机控制器收到请求信号后,在第一设定时间内向发动机防盗控制 器发送应答信号,本实施例中第一设定时间的范围为(25ms、 50ms)。
A3、若发动机防盗控制器在第二设定时间内收到应答信号,则向发动机控 制器发送认证口令请求消息,通信链路建立,否则,转Al。本实施例中第二 设定时间的范围为(55ms、 60ms)。
本实施例中,上述步骤的具体实现是按下述过程实现的,当完成转发认证 后,发动机防盗控制器和发动机控制器分别进行上电初始化,发动机防盗控制 器初始化完成后开始钥匙安全认证,发动机控制器初始化完成后,发送脉沖信 号(周期20ms,占空比50%,持续时间6个周期)给发动机防盗控制器, 通知发动机防盗控制器已准备好安全认证。
发动机防盗控制器与转发器之间安全认证完成后,通过连续监测发动机控 制器发出的脉冲信号,如果识别到两个连续的下降沿,开始发动机控制器安全 认证。如果在点火钥匙上电时间经过Tidle (典型值350ms)没有检测到脉冲 信号,同样开始发起发动机控制器安全认证,但记录没有测试到脉冲信号故障。B、 在发动机控制器内生成112位随机数与其内部的16位安全码组成128 位^:据,将所述的128位凄t据与128位密钥进行AES128加密生成128位密码, 将所述的128位密码与原有的112位随机数打包发送到发动机防盗控制器。然 后,将112位随机数和16位安全码再重新组成128位凄t据,将所述的128位 数据与128位密钥进行AES128加密生成128位密码。
C、 在发动机防盗控制器内将接收到的数据包解包获得128位密码和112 位随机数,利用128位密码和128位密钥进行解密得到128位数据,将所述的 128位数据与所述的112位随机数和其内部的16位安全码进行比较,在发动机 防盗控制器内进行AES128解密运算和安全码比对,若正确,则在发动机防盗 控制器内将112位随机数与其内部的16位安全码再重新组成128位数据,将 所述的128位数据与128位密钥进行AES128加密生成128位密码,将所述的 128位密码打包发送到发动机控制器,若不正确,则转步骤B。
D、 在所述的发动机控制器内将接收到的数据包解包获得128位密码,将 所述的128位密码与自身加密运算得到的128位密码进行比对,若正确,向发 动机防盗控制器发送正响应,同时释放防盗,若不正确,则转步骤B。
本实施例中,上述具体做法如图3所示,过程如下
根据发动机控制器发出的脉冲信号,防盗控制器确定什么时间发起唤醒信 号和开始建立通信的请求。对于唤醒信号和开始建立通信的请求如果受到干 扰,发动机控制器将不会响应,当有超时事件发生。在这种情况下,防盗控制 器经80ms后,继续发送唤醒信号和开始建立通信的请求。该进程不断重复, 直至预留时间(典型值3000ms)超时,发送停止通信的请求。
发动机控制器收到唤醒信号和开始建立通信的请求后,在第一设定时间 (25ms, 50ms)范围内发送正响应消息。如果正响应消息受到干扰,防盗控制 器经70ms后进行重发唤醒信号和开始建立通信请求消息。
防盗控制器在收到开始建立通信的正响应后,防盗控制器发送认证口令请 求信息。发动机控制器将通过校验和错误、帧错误、消息长度错误、字节间时间间隔超时等错误处理机制销毁此通信请求,数据帧格式如图4所示。发动机 控制器将不响应请求消息,并等待下一个认证口令请求消息。
如果认证口令请求消息被干扰,发动机控制器将不发送响应消息,并等待 下一个认证口令请求消息。如果超时再次发生,上述过程重复两次,如果客户 端连续三次没有收到响应消息,则在80ms之后发送唤醒信号和开始建立通信 请求。
发动机控制器收到认证口令请求消息后,根据内部的112位随机数和16 位的安全码组成的128位数据和128位密钥进行AES128加密,加密后的128 位数据和112位随机数通过认证口令请求正响应消息发送给防盗控制器。
如果在第一设定时间和认证口令请求正响应消息之间有干扰,防盗控制器 将在60ms时间内发送认证请求消息。如果发动机控制器检测到这个干扰,则 不发送认证请求正响应消息。如果发动机控制器没有检测到这个干扰,则发送 认证请求正响应消息,但防盗控制器将忽略这个正响应消息。如果上述过程重 复三次,则在80ms之后发送唤醒信号和开始建立通信请求。
如果认证口令请求正或负响应消息受到干扰,防盗控制器将在60ms内再 次发送认证口令请求消息。如果上述过程重复三次,则在80ms之后发送唤醒 信号和开始建立通信请求。
如果防盗控制器/A^动才几控制器接收到一个负响应消息,防盗控制器将在 60ms期间再次发送认证口令请求消息。如果上述过程重复三次,则在80ms之 后发送唤醒信号和开始建立通信请求。
防盗控制器根据接收到的加密的128位数据和128位密钥进行AES128解 密运算,解密出的128位数据和接收到112位随机数和防盗控制器内部存储的 16位安全码进行比较。防盗控制器解码后,比较的结果不一致,则防盗控制 器重复发送认证口令请求消息,直至结果匹配。如果最终不能匹配成功,发动 才几将锁止。
防盗控制器认证发动机控制器通过后,防盗控制器把16位安全码插入到112位随机数中,重新组成128位数据和128位密钥进行AES128加密,加密 后的128位数据通过开始认证请求发送给发动机控制器。
如果在55ms和开始认证请求之间存在干扰,发动机控制器内部接收器收 到一个错误,发动机控制器将不发送开始认证请求响应消息,并等待下一个开 始认证请求。如果上述过程重复三次,则在80ms之后发送唤醒信号和开始建 立通信请求。
如果开始认证请求消息受到干扰,发动机控制器将不发送开始认证请求响 应消息,并等待下一个开始认证请求。如果上述过程重复三次,则在80ms之 后发送唤醒信号和开始建立通信请求。
发动机控制器根据16位安全码和112位随机数采用与防盗控制器同样插 入的方式组成128位ii:据和128位密钥进行AES128加密,加密后的128位凄t 据和认证请求消息中的128位加密数据进行比较,如果正确,发送正响应消息 给防盗控制器。发动机控制器认证防盗控制器通过,发动机控制器释放防盗。
在25ms和开始认证请求正响应消息之间受到干扰,如果发动机控制器检 测到这个干扰,则将不发送开始认证请求正响应消息;如果发动机控制器没有 测试这个干扰,则将继续发送开始认证请求正响应消息,可是防盗控制器已触 发重新发送开始认证请求消息,因此防盗控制器将忽略这个开始认证请求正响 应消息。如果上述过程重复三次,则在80ms之后发送唤醒信号和开始建立通 信请求。
如果开始认证请求正或负响应消息受到干扰,防盗控制器将在60ms期间
发送另一个开始认证请求,如果上述过程重复三次,则在80ms之后发送唤醒 信号和开始建立通信请求。
发动机控制器认证防盗控制器通过后,发送停止通信请求,完成整个认证 过程。
实施例2,本实施例与实施例l基本相同,只是发动机防盗控制器与发动 机控制器是通过汽车CAN网络连接,数据通信的波特率为500kbit/s。
权利要求
1、一种基于AES128加密算法的发动机防盗认证方法,该发动机防盗系统包括汽车钥匙柄处的转发器和设置于汽车上的发动机防盗控制器和发动机控制器,所述的转发器与发动机防盗控制器之间通过无线载波信号进行通讯,所述的发动机防盗控制器通过汽车内部通信线路与所述的发动机控制器进行通讯,其密码认证包括转发器认证和发动机控制器认证,所述的转发器认证完成转发器与发动机防盗控制器之间的认证,其特征在于在完成所述的转发器认证后所述的发动机防盗控制器与发动机控制器间密码认证包括以下步骤进行A、建立发动机防盗控制器和发动机控制器之间的通信链路;B、发动机控制器根据自身产生的随机数、安全码和密钥进行AES128加密,加密后的结果发送到发动机防盗控制器,随后,发动机控制器重新组合随机数和安全码与密钥进行AES128加密;C、发动机防盗控制器根据已有的密钥和接收到的加密结果进行AES128解密运算和安全码比对,若正确,发动机防盗控制器重新组合随机数和安全码与密钥进行AES128加密,加密的结果发送到发动机控制器,若不正确,则转入步骤B;D、发动机控制器重新计算的加密结果与接收到的加密结果进行比对,若正确,向发动机防盗控制器发送正响应,同时释放防盗,若不正确,则转入步骤B。
2、 根据权利要求1所述的基于AES128加密算法的发动机防盗认证方法, 其特征在于所述的步骤A中,包括以下分步骤Al、根据发动机控制器发出的脉冲信号,发动机防盗控制器向发动机控制 器发出建立通信链路的请求信号;A2、发动机控制器收到请求信号后,在第一设定时间内向发动机防盗控制 器发送应答信号;A3、若发动机防盗控制器在第二设定时间内收到应答信号,则向发动机控 制器发送认证口令请求消息,通信链路建立,否则,转A1。
3、 根据权利要求1所述的基于AES128加密算法的发动才几防盗认证方法, 其特征在于所述的发动机控制器和发动机防盗控制器之间进行AES128加密 认证,包括以下步骤在发动机控制器内生成112位随机数与其内部的16位安全码组成128位 数据,将所述的128位数据与128位密钥进行AES128加密生成128位加密结 果;然后,112位随机数和16位安全码全新组合,将组合后的128位数据与 128位密钥再次进行AES128加密生成128位加密结果;发动机防盗控制器也 根据前述的加密过程进行加密。
4、 根据权利要求1所述的基于AES128加密算法的发动机防盗认证方法, 其特征在于在所述的发动机控制器和发动机防盗控制器内进行密码比对包括 以下步骤在所述的发动机防盗控制器内将接收到的数据包和自身的128位密钥进行 AES128加密,获得112位随机数和16位安全码,计算得到的安全码与其内部 的安全码进行比较。在所述的发动机控制器内将接收到的数据包与计算得到的 数据包进行比较。
5、 根据权利要求2所述的基于AES128加密算法的发动机防盗认证方法, 其特征在于所述的第一设定时间的范围为(25ms,50ms),所述的第二设定时 间的范围为(55ms, 60ms)。
6、 根据权利要求2所述的基于AES128加密算法的发动机防盗认证方法, 其特征在于在步骤B中,设置计数器和工作状态,每进行一步认证过程,状 态切换,在同一状态运行累计到设计值时,重新启动认证过程。
7、 根据权利要求1至5任一所述的基于AES128加密算法的发动机防盗认 证方法,其特征在于所述的发动机防盗控制器与发动机控制器是通过汽车K 线连接,通信协议协议中采用异步串行通讯方式,数据通信的波特率为10400比特/秒。
8、根据权利要求1至5任一所述的基于AES128加密算法的发动机防盗认 证方法,其特征在于所述的发动机防盗控制器与发动机控制器是通过汽车 CAN网络连接,凄t据通信的波特率为500千比特/秒。
全文摘要
本发明所充分公开的是一种基于AES128加密算法的发动机防盗认证方法,该发动机防盗系统包括汽车钥匙柄处的转发器和设置于汽车上的发动机防盗控制器和发动机控制器,其密码认证包括转发器认证和发动机控制器认证,所述的转发器认证完成转发器与发动机防盗控制器之间的认证,其算法为Hitag2加密算法,发动机控制器认证完成防盗控制器与发动机控制器之间的加密认证,其算法为AES128加密算法。本方案由于在发动机防盗控制器与发动机控制器之间采用AES128加密算法,具有强安全性、高性能、高效率、易用和灵活等优点,克服了发动机控制器防盗算法仅依赖转发器算法的不足,增强并确保整车的防盗安全性。
文档编号B60R25/04GK101602358SQ200910108090
公开日2009年12月16日 申请日期2009年6月18日 优先权日2009年6月18日
发明者海 马 申请人:奇瑞汽车股份有限公司