一种用于汽车诊断通讯中的安全验证方法

文档序号:3961215阅读:214来源:国知局
专利名称:一种用于汽车诊断通讯中的安全验证方法
技术领域
本发明涉及A车诊断通讯领域,特别涉及一种用于汽车诊断通讯中 的安全-睑i正方法。
背景技术
随着汽车工业的发展,汽车诊断通讯系统的应用也越来越广泛。其中普遍使用的汽车诊断通讯协议是ISO 14230协议和ISO 15765协议。 为了对汽车诊断操作进行权限控制,这两种汽车诊断通讯协议都规定了 安全验证服务。诊断仪必须发出安全验证服务请求,并通过安全验证, 才能对汽车控制器进行受安全验证保护的诊断操作。这种安全验证服务的操作如图1所示,第1步,诊断仪向汽车控制 器发出请求种子的要求;第2步,汽车控制器计算出一个种子;第3步,汽车控制器将该种子的值放在响应消息中,返回给诊断仪;第4步,诊 断仪将收到的种子的值按一种安全验证算法,计算出一个密钥;第5步, 诊断仪将计算出的密钥放在请求验证服务的消息中,发送给汽车控制器; 第6步,汽车控制器同样用第2步中生成的种子,通过使用和诊断仪相 同的算法,也计算出一个密钥,与诊断仪发来的密钥对比。如果两个密 钥相同,则安全-会证通过;如果不同,则安全验证被拒绝,诊断仪将不 能对汽车控制器进行受安全验证保护的诊断操作;第7步,汽车控制器 将安全验证结果返回给诊断仪。因此这种安全验证有效性的关键在于诊断仪计算密钥的算法必须和 汽车控制器的计算密钥的算法一致。该算法一般由整车制造厂掌握且不 对外公开,以防止汽车控制器被进行非授权的诊断操作。 一旦该计算密 钥的算法被泄漏给公众,整车制造厂就要重新设计一套密钥算法。发明内容有鉴于此,本发明的目的在于,提出一种汽车诊断通讯中的安全验 证方法,该方法具有足够的安全性,能够抵抗暴力破解,且具有足够的 灵活性,在由于某些原因造成泄密的情况下,也可以很容易地生成新的 密钥算法,从而更加有效的确保汽车诊断通讯中的安全验证的安全性, 同时使密钥算法的开发和维护更加容易和简便。本发明的用于汽车诊断通讯中的安全验证方法,包括如下步骤a、 诊断仪向汽车控制器发出请求种子的要求;b、 汽车控制器结合计算因子,计算出一个伪随^i4史作为种子;c、 汽车控制器将步骤b中所述伪随机数种子的值放在响应消息中, 返回给诊断仪;d、 诊断仪将收到的步骤b中所述伪随机数种子的值加上一个关键字 节串,组成一个新的字节串,通过MD5算法对此新字节串进行加密, 将加密的结果作为密钥输出;e、 诊断仪将步骤d计算出的密钥发送给汽车控制器;f、 汽车控制器用步骤b中算出的所述伪随机数种子,加上步骤d中 采用的所述关^:字节串,组成一个新的字节串,通过MD5算法对此新 字节串进行加密,将加密的结果作为密钥输出,将此密钥和诊断仪发来 的密钥对比;如果两个密钥相同,则安全验证通过;如果不同,则安全 验证被拒绝,诊断仪将不能对汽车控制器进行受安全验证保护的诊断操作; 、g、 汽车控制器将安全验证的结果返回给诊断仪。在步骤b中,以汽车控制器复位后的运行时间作为所述计算因子;
步骤d和f中的加密结果都是128位的大整数。所述关键字节串是除0 之外的任意长度,可以取任意值。加密算法MD5 ( Message Digest Algorithm 5 )是一种被广泛采用的 加密算法。该算法对字节串(Message)进行杂凑变换,可以把任意长度 的字节串变换成128位的大整数。该算法具有两个特点其一是寻找两 个输入得到相同的输出值在计算上是不可行的,即具有抗碰撞性;其二 是找一个输入,能得到给定的输出在计算上是不可行的,即具有不可回 溯性。因此MD5算法在诸如数字签名、密码保护等数据安全领域被广 泛采用。本发明方案引入MD5算法,主要利用了这两个特性。由于本方案 在进行汽车诊断通讯的安全验证时,生成的种子数为一个伪随机数,且 MD5算法的抗碰撞性保证了不可能通过计算来使得有两个不同的种子 得到相同的密钥,因此密钥具有唯一性;MD5算法的不可回溯性则保证 了破解者即使截获了正确的种子和对应的密钥,也无法计算推断出在计 算密钥时加入的关键字。安全可靠性高,这是本发明方案的优点之一。本发明方案的另一个优点是,实现方式简单,密钥算法的开发和维 护方便。发明中所述的MD5算法应用很普及,在很多设备中都有现成 的MD5算法模块,因此只需要对现有设备略做改造就可以实现本发明 方案。对于种子的长度也没有要求,如果系统升级或其他设计原因,导 致种子长度发生变化时,本发明方案的密钥算法不需要做改动,可扩展 性强。本发明方案所述密钥算法中的关键字节串可以是除O之外的任意 长度,可以取任意值。整车制造厂需要保密的只有关键字节串而已,算 法是公开的。即使在关键字节串被人为泄露的情况下,整车制造厂只需 要简单地修改关键字节串即可。


图1为现有技术进行汽车诊断通讯中安全验证方法的示意图; 图2为本发明进行汽车诊断通讯中安全验证方法的示意图; 图3为本发明进行汽车诊断通讯中安全验证的工作流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图和具 体实施例对本发明作进一步的详细描述。如图2、 3示出了进行汽车诊断通讯中安全验证的工作流程步骤1:诊断仪通过安全验证请求"(SecurityAccess Request斜)向汽 车控制器发出消息,请求种子。安全马全证服务(SecurityAccess )是汽车 诊断通讯协议ISO 14230和ISO 15765中规定的专门用于安全验证的服 务,该服务中的安全验证请求# 1 (SecurityAccess Request# 1 )用于诊断仪向 汽车控制器请求种子。步骤2:汽车控制器以控制器复位后的运行时间为计算因子,计算 出一个伪随机数作为种子。步骤3 : 汽车控制器通过安全验证响应# 1 ( SecurityAccess Responses),向诊断仪发出响应消息,将步骤2中计算出的种子返回给 诊断仪。安全验证服务中的安全验证响应#1是汽车诊断通讯协议ISO 14230和ISO 15765中规定的用于安全验证服务中将种子返回的响应消 自-步骤4:诊断仪将收到的种子加上关键字节串"12345"成为一个新字 节串,然后通过MD5算法计算出一个128位的密钥。本范例的关键字 节串"12345"指的是连续的5个字节,每个字节的值分别为l、 2、 3、 4、 5。步骤5:诊断仪通过安全验证请求弁2(SecurityAccess Requests),将 密钥发送给汽车控制器,请求验证密钥。安全验证服务中的安全验证请
求#2是汽车诊断通讯协议ISO 14230和ISO 15765中规定的用于安全验 证服务中诊断仪向汽车控制器发送密钥并请求验证的请求消息。步骤6:汽车控制器将用同样在步骤2中计算出的种子加上关键字 节串"12345"成为一个新字节串,然后也通过MD5算法计算出一个128 位的密钥,并和收到的诊断仪发送过来的密钥进行比较。如果两个密钥 相同,则验证通过,汽车控制器可以进行受安全验证保护的诊断操作; 如果两个密钥不同,则验证被拒绝,受安全验证保护的诊断操作将被汽 车控制器拒绝。这里的关键字节串"12345"与步骤4中用于诊断仪计算 的关键字节串完全一样。步骤7 : 汽车控制器通过安全验证响应#2 ( SecurityAccess Response#2),向诊断仪发出响应消息,将密钥验证结果返回给诊断仪。 安全验证服务中的安全-验纟正响应#2是汽车诊断通讯协议ISO 14230和 ISO 15765中规定的用于安全验证服务中汽车控制器将安全验证结果返 回给i貪断^f义的响应消息。以上所述仅为本发明的一个较佳实施范例,并不用以限制本发明, 凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均 应包含在本发明的保护范围之内。
权利要求
1、一种用于汽车诊断通讯中的安全验证方法,包括如下步骤a、诊断仪向汽车控制器发出请求种子的要求;b、汽车控制器结合计算因子,计算出一个伪随机数作为种子;c、汽车控制器将所述伪随机数种子的值放在响应消息中,返回给诊断仪;d、诊断仪将收到的所述伪随机数种子的值加上一个关键字节串,组成一个新的字节串,通过MD5算法对此新字节串进行加密,将加密的结果作为密钥输出;e、诊断仪将步骤d计算出的密钥发送给汽车控制器;f、汽车控制器用步骤b中算出的所述伪随机数种子,加上步骤d中采用的所述关键字节串,组成一个新的字节串,通过MD5算法对此新字节串进行加密,将加密的结果作为密钥输出,将此密钥和诊断仪发来的密钥对比,如果两个密钥相同,则安全验证通过;如果不同,则安全验证被拒绝,诊断仪将不能对汽车控制器进行受安全验证保护的诊断操作;g、将安全验证的结果返回给诊断仪。
2、 根据权利要求l所述的一种用于汽车诊断通讯中的安全验证方法,其 特征在于在步骤b中,以控制器复位后的运行时间作为所述计算因子。
3、 根据权利要求1或2所述的一种用于汽车诊断通讯中的安全验证方法, 其特征在于将伪随机数种子加上一个关键字节串作为利用MD5算法进行密 钥计算的输入。
4、 根据权利要求l -3任一项所述的一种用于汽车诊断通讯中的安全验 证方法,其特征在于所述关键字节串是除O之外的任意长度,可以取任意 值。
全文摘要
一种用于汽车诊断通讯中的安全验证方法,包括如下步骤a)诊断仪向汽车控制器发出请求种子的要求;b)汽车控制器计算出一个伪随机数作为种子;c)汽车控制器将所述伪随机数种子的值返回给诊断仪;d)诊断仪将收到的所述伪随机数种子的值加上一个关键字节串,组成一个新的字节串,通过MD5算法对此新字节串进行加密,将加密的结果作为密钥输出;e)诊断仪将计算出的密钥发送给汽车控制器;f)汽车控制器采用与d)步骤相同的算法求出密钥和诊断仪发来的密钥对比,如果两个密钥相同,则安全验证通过;如果不同,则安全验证被拒绝,诊断仪将不能对汽车控制器进行受安全验证保护的诊断操作;g)汽车控制器将安全验证的结果返回给诊断仪。
文档编号B60W50/02GK101166087SQ200710164138
公开日2008年4月23日 申请日期2007年9月30日 优先权日2007年9月30日
发明者苏万樯 申请人:奇瑞汽车有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1