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

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

Info

Publication number
CN100592686C
CN100592686C CN200710164138A CN200710164138A CN100592686C CN 100592686 C CN100592686 C CN 100592686C CN 200710164138 A CN200710164138 A CN 200710164138A CN 200710164138 A CN200710164138 A CN 200710164138A CN 100592686 C CN100592686 C CN 100592686C
Authority
CN
China
Prior art keywords
key
diagnostic equipment
seed
safety verification
automobile controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN200710164138A
Other languages
English (en)
Other versions
CN101166087A (zh
Inventor
苏万樯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chery Automobile Co Ltd
Original Assignee
SAIC Chery Automobile Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SAIC Chery Automobile Co Ltd filed Critical SAIC Chery Automobile Co Ltd
Priority to CN200710164138A priority Critical patent/CN100592686C/zh
Publication of CN101166087A publication Critical patent/CN101166087A/zh
Application granted granted Critical
Publication of CN100592686C publication Critical patent/CN100592686C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Selective Calling Equipment (AREA)

Abstract

一种用于汽车诊断通讯中的安全验证方法,包括如下步骤:a)诊断仪向汽车控制器发出请求种子的要求;b)汽车控制器计算出一个伪随机数作为种子;c)汽车控制器将所述伪随机数种子的值返回给诊断仪;d)诊断仪将收到的所述伪随机数种子的值加上一个关键字节串,组成一个新的字节串,通过MD5算法对此新字节串进行加密,将加密的结果作为密钥输出;e)诊断仪将计算出的密钥发送给汽车控制器;f)汽车控制器采用与d)步骤相同的算法求出密钥和诊断仪发来的密钥对比,如果两个密钥相同,则安全验证通过;如果不同,则安全验证被拒绝,诊断仪将不能对汽车控制器进行受安全验证保护的诊断操作;g)汽车控制器将安全验证的结果返回给诊断仪。

Description

一种用于汽车诊断通讯中的安全验证方法
技术领域
本发明涉及汽车诊断通讯领域,特别涉及一种用于汽车诊断通讯中的安全验证方法。
背景技术
随着汽车工业的发展,汽车诊断通讯系统的应用也越来越广泛。其中普遍使用的汽车诊断通讯协议是ISO 14230协议和ISO 15765协议。为了对汽车诊断操作进行权限控制,这两种汽车诊断通讯协议都规定了安全验证服务。诊断仪必须发出安全验证服务请求,并通过安全验证,才能对汽车控制器进行受安全验证保护的诊断操作。
这种安全验证服务的操作如图1所示,第1步,诊断仪向汽车控制器发出请求种子的要求;第2步,汽车控制器计算出一个种子;第3步,汽车控制器将该种子的值放在响应消息中,返回给诊断仪;第4步,诊断仪将收到的种子的值按一种安全验证算法,计算出一个密钥;第5步,诊断仪将计算出的密钥放在请求验证服务的消息中,发送给汽车控制器;第6步,汽车控制器同样用第2步中生成的种子,通过使用和诊断仪相同的算法,也计算出一个密钥,与诊断仪发来的密钥对比。如果两个密钥相同,则安全验证通过;如果不同,则安全验证被拒绝,诊断仪将不能对汽车控制器进行受安全验证保护的诊断操作;第7步,汽车控制器将安全验证结果返回给诊断仪。
因此这种安全验证有效性的关键在于诊断仪计算密钥的算法必须和汽车控制器的计算密钥的算法一致。该算法一般由整车制造厂掌握且不对外公开,以防止汽车控制器被进行非授权的诊断操作。一旦该计算密钥的算法被泄漏给公众,整车制造厂就要重新设计一套密钥算法。
发明内容
有鉴于此,本发明的目的在于,提出一种汽车诊断通讯中的安全验证方法,该方法具有足够的安全性,能够抵抗暴力破解,且具有足够的灵活性,在由于某些原因造成泄密的情况下,也可以很容易地生成新的密钥算法,从而更加有效的确保汽车诊断通讯中的安全验证的安全性,同时使密钥算法的开发和维护更加容易和简便。
本发明的用于汽车诊断通讯中的安全验证方法,包括如下步骤:
a、诊断仪向汽车控制器发出请求种子的要求;
b、汽车控制器结合计算因子,计算出一个伪随机数作为种子;
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算法模块,因此只需要对现有设备略做改造就可以实现本发明方案。对于种子的长度也没有要求,如果系统升级或其他设计原因,导致种子长度发生变化时,本发明方案的密钥算法不需要做改动,可扩展性强。本发明方案所述密钥算法中的关键字节串可以是除0之外的任意长度,可以取任意值。整车制造厂需要保密的只有关键字节串而已,算法是公开的。即使在关键字节串被人为泄露的情况下,整车制造厂只需要简单地修改关键字节串即可。
附图说明
图1为现有技术进行汽车诊断通讯中安全验证方法的示意图;
图2为本发明进行汽车诊断通讯中安全验证方法的示意图;
图3为本发明进行汽车诊断通讯中安全验证的工作流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明作进一步的详细描述。
如图2、3示出了进行汽车诊断通讯中安全验证的工作流程:
步骤1:诊断仪通过安全验证请求#1(SecurityAccess Request#1)向汽车控制器发出消息,请求种子。安全验证服务(SecurityAccess)是汽车诊断通讯协议ISO 14230和ISO 15765中规定的专门用于安全验证的服务,该服务中的安全验证请求#1(SecurityAccess Request#1)用于诊断仪向汽车控制器请求种子。
步骤2:汽车控制器以控制器复位后的运行时间为计算因子,计算出一个伪随机数作为种子。
步骤3:汽车控制器通过安全验证响应#1(SecurityAccessResponse#1),向诊断仪发出响应消息,将步骤2中计算出的种子返回给诊断仪。安全验证服务中的安全验证响应#1是汽车诊断通讯协议ISO14230和ISO 15765中规定的用于安全验证服务中将种子返回的响应消息。
步骤4:诊断仪将收到的种子加上关键字节串“12345”成为一个新字节串,然后通过MD5算法计算出一个128位的密钥。本范例的关键字节串“12345”指的是连续的5个字节,每个字节的值分别为1、2、3、4、5。
步骤5:诊断仪通过安全验证请求#2(SecurityAccess Request#2),将密钥发送给汽车控制器,请求验证密钥。安全验证服务中的安全验证请求#2是汽车诊断通讯协议ISO 14230和ISO 15765中规定的用于安全验证服务中诊断仪向汽车控制器发送密钥并请求验证的请求消息。
步骤6:汽车控制器将用同样在步骤2中计算出的种子加上关键字节串“12345”成为一个新字节串,然后也通过MD5算法计算出一个128位的密钥,并和收到的诊断仪发送过来的密钥进行比较。如果两个密钥相同,则验证通过,汽车控制器可以进行受安全验证保护的诊断操作;如果两个密钥不同,则验证被拒绝,受安全验证保护的诊断操作将被汽车控制器拒绝。这里的关键字节串“12345”与步骤4中用于诊断仪计算的关键字节串完全一样。
步骤7:汽车控制器通过安全验证响应#2(SecurityAccessResponse#2),向诊断仪发出响应消息,将密钥验证结果返回给诊断仪。安全验证服务中的安全验证响应#2是汽车诊断通讯协议ISO 14230和ISO 15765中规定的用于安全验证服务中汽车控制器将安全验证结果返回给诊断仪的响应消息。
以上所述仅为本发明的一个较佳实施范例,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (2)

1、一种用于汽车诊断通讯中的安全验证方法,包括如下步骤:
a、诊断仪向汽车控制器发出请求种子的要求;
b、汽车控制器结合计算因子,计算出一个伪随机数作为种子,所述计算因子是控制器复位后的运行时间;
c、汽车控制器将所述伪随机数种子的值放在响应消息中,返回给诊断仪;
d、诊断仪将收到的所述伪随机数种子的值加上一个关键字节串,组成一个新的字节串,通过MD5算法对此新字节串进行加密,将加密的结果作为密钥输出,所述密钥为128位;
e、诊断仪将步骤d计算出的密钥发送给汽车控制器;
f、汽车控制器用步骤b中算出的所述伪随机数种子,加上步骤d中采用的所述关键字节串,组成一个新的字节串,通过MD5算法对此新字节串进行加密,将加密的结果作为密钥输出,此密钥也为128位,将此密钥和诊断仪发来的密钥对比,如果两个密钥相同,则安全验证通过;如果不同,则安全验证被拒绝,诊断仪将不能对汽车控制器进行受安全验证保护的诊断操作;
g、将安全验证的结果返回给诊断仪。
2、根据权利要求1所述的一种用于汽车诊断通讯中的安全验证方法,其特征在于:所述关键字节串是除0之外的任意长度,可以取任意值。
CN200710164138A 2007-09-30 2007-09-30 一种用于汽车诊断通讯中的安全验证方法 Active CN100592686C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200710164138A CN100592686C (zh) 2007-09-30 2007-09-30 一种用于汽车诊断通讯中的安全验证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200710164138A CN100592686C (zh) 2007-09-30 2007-09-30 一种用于汽车诊断通讯中的安全验证方法

Publications (2)

Publication Number Publication Date
CN101166087A CN101166087A (zh) 2008-04-23
CN100592686C true CN100592686C (zh) 2010-02-24

Family

ID=39334595

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200710164138A Active CN100592686C (zh) 2007-09-30 2007-09-30 一种用于汽车诊断通讯中的安全验证方法

Country Status (1)

Country Link
CN (1) CN100592686C (zh)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102779089B (zh) * 2011-05-11 2016-06-01 上海通用汽车有限公司 汽车ecu密钥仿真实现方法及其系统和验证方法
CN102255901B (zh) * 2011-07-06 2012-07-04 广州汽车集团股份有限公司 车载诊断安全验证方法
CN102393888B (zh) * 2011-07-21 2015-04-22 广州汽车集团股份有限公司 Ecu安全访问处理方法
CN102385382B (zh) * 2011-10-24 2014-01-08 力帆实业(集团)股份有限公司 车辆故障诊断系统
CN102393732B (zh) * 2011-10-24 2013-05-22 力帆实业(集团)股份有限公司 车辆故障诊断方法
CN102637312B (zh) * 2012-03-29 2015-03-11 中联重科股份有限公司 一种工程机械解锁处理的方法、装置及系统
CN103383566B (zh) * 2013-06-24 2015-10-28 奇瑞汽车股份有限公司 一种程序流监控方法
CN103529823B (zh) * 2013-10-17 2016-04-06 北奔重型汽车集团有限公司 一种用于汽车诊断系统的安全访问控制方法
CN103677926A (zh) * 2013-12-18 2014-03-26 江苏新通达电子科技股份有限公司 一种在线配置汽车仪表的系统及其方法
US9268953B2 (en) * 2014-01-24 2016-02-23 GM Global Technology Operations LLC Method of performing microprocessor ALU integrity test over a distributed asynchronous serial communication network for ASIL-D level safety critical applications
CN103763098B (zh) * 2014-01-26 2016-11-09 安徽江淮汽车股份有限公司 一种用于诊断的安全验证方法
DE102014104227B4 (de) * 2014-03-26 2016-08-18 Lorch Schweißtechnik GmbH VERFAHREN ZUR FUNKTIONSERWEITERUNG EINES ELEKTRISCHEN SCHWEIßGERÄTS UND SCHWEIßGERÄT ZUR DURCHFÜHRUNG DES VERFAHRENS
US9477843B2 (en) * 2014-06-11 2016-10-25 GM Global Technology Operations LLC Inhibiting access to sensitive vehicle diagnostic data
CN104134047B (zh) * 2014-07-01 2018-01-02 潍柴动力股份有限公司 实现ecu的安全访问方法、ecu及上位机
US9619946B2 (en) * 2014-07-29 2017-04-11 GM Global Technology Operations LLC Securely providing diagnostic data from a vehicle to a remote server using a diagnostic tool
CN105704102B (zh) * 2014-11-26 2019-06-07 广州汽车集团股份有限公司 车辆网络访问控制方法及装置
CN106154903B (zh) * 2015-04-16 2018-12-11 上海汽车集团股份有限公司 用于整车网络与外设进行信息交互的系统和方法
CN106059754A (zh) * 2016-06-23 2016-10-26 北京汽车股份有限公司 车辆数据处理方法、系统及其设备
CN106161441B (zh) * 2016-07-05 2019-05-03 上汽通用汽车有限公司 一种用于车内局域网的安全诊断通信方法及系统
CN106155043A (zh) * 2016-07-28 2016-11-23 北京新能源汽车股份有限公司 车辆数据获取方法、装置及设备
CN106341392B (zh) * 2016-08-23 2019-09-13 北京航空航天大学 电动汽车obdⅱ接口安全通信防护装置、系统及方法
CN106203062B (zh) * 2016-08-29 2019-05-03 广州汽车集团股份有限公司 一种安全验证系统及方法
CN106814675A (zh) * 2016-12-31 2017-06-09 华晨汽车集团控股有限公司 用于验证汽车诊断设备合法性的安全访问方法
CN109298966A (zh) * 2018-09-30 2019-02-01 潍柴动力股份有限公司 一种诊断仪适配器防伪方法及装置
CN110430058A (zh) * 2019-06-11 2019-11-08 武汉欣叶电子科技有限公司 一种车载香氛信息识别装置及方法
CN112327796B (zh) * 2020-10-21 2022-05-06 诚迈科技(南京)股份有限公司 一种汽车诊断服务的控制方法和电子控制单元
CN112738029A (zh) * 2020-12-14 2021-04-30 武汉格罗夫氢能汽车有限公司 一种氢能汽车电子控制器诊断安全算法管理系统
CN112590705B (zh) * 2021-01-06 2021-12-24 江铃汽车股份有限公司 汽车蓝牙钥匙的匹配控制方法及系统
CN113534772A (zh) * 2021-06-25 2021-10-22 深圳市元征未来汽车技术有限公司 故障码清除方法、电子设备及存储介质
CN114162080B (zh) * 2021-12-14 2022-10-04 深圳市星卡科技股份有限公司 防盗钥匙匹配方法、装置和计算机设备
CN114513310A (zh) * 2022-02-21 2022-05-17 中国第一汽车股份有限公司 一种车辆诊断设备的认证方法、装置、电子设备及介质

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
Keyword Protocol 2000-Part 3-Application Layer. SSF 14230 Road Vehicles-Diagnostic Systems. 2000
Keyword Protocol 2000-Part 3-Application Layer. SSF 14230 Road Vehicles-Diagnostic Systems. 2000 *
MD5算法原理及应用. 彭文波.信息网络安全,第5期. 2004
MD5算法原理及应用. 彭文波.信息网络安全,第5期. 2004 *
Road vehicles-Communication between vehicle andexternalequipment for emissions -related diagnostics-Part7:data link secruity. INTERNATIONAL STANDARD ISO 15031-7. 2001
Road vehicles-Communication between vehicle andexternalequipment for emissions-related diagnostics-Part7:data link secruity.INTERNATIONAL STANDARD ISO 15031-7. 2001 *

Also Published As

Publication number Publication date
CN101166087A (zh) 2008-04-23

Similar Documents

Publication Publication Date Title
CN100592686C (zh) 一种用于汽车诊断通讯中的安全验证方法
CN109522698B (zh) 基于区块链的用户认证方法及终端设备
JP4155712B2 (ja) オンボードシステムによって生成される公開鍵の使用を検証する方法
CN1689269B (zh) 保证软件完整性的系统和方法
US20080083039A1 (en) Method for integrity attestation of a computing platform hiding its configuration information
CN105162797B (zh) 一种基于视频监控系统的双向认证方法
CN111200589A (zh) 一种联盟链的数据保护方法及系统
CN109981562A (zh) 一种软件开发工具包授权方法及装置
JP6387908B2 (ja) 認証システム
CN101833623B (zh) 数字版权管理方法及系统
CN109314644A (zh) 数据提供系统、数据保护装置、数据提供方法以及计算机程序
US8892880B2 (en) System and method for obtaining an authorization key to use a product
US20230299971A1 (en) Data protection apparatus, electronic apparatus, method, and storage medium
CN111510462A (zh) 通信方法、系统、装置、电子设备和可读存储介质
CN106850232B (zh) 状态保持的授权管理方法和系统
CN118427876A (zh) 一种分布式数字身份隐私保护方法及系统
CN109768969A (zh) 权限控制方法及物联网终端、电子设备
CN105933117A (zh) 一种基于tpm秘钥安全存储的数据加解密装置和方法
CN106992865B (zh) 数据签名方法及系统、数据验签方法及装置
CN107026729B (zh) 用于传输软件的方法和装置
CN112910641A (zh) 用于跨链交易监管的验证方法、装置、中继链节点及介质
CN208135891U (zh) 一种加油计量监控系统
CN114201748B (zh) 高可信环境下计算移向数据端场景中数据源可信验证方法
CN111902815B (zh) 数据传送方法、系统、设备、电子设备及可读存储介质
CN106415565B (zh) 保护软件项目

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant