CN100592686C - 一种用于汽车诊断通讯中的安全验证方法 - Google Patents
一种用于汽车诊断通讯中的安全验证方法 Download PDFInfo
- 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
Links
- 238000003745 diagnosis Methods 0.000 title claims abstract description 26
- 238000004891 communication Methods 0.000 title claims abstract description 22
- 238000010200 validation analysis Methods 0.000 title 1
- 238000012795 verification Methods 0.000 claims abstract description 57
- 238000000034 method Methods 0.000 claims abstract description 10
- 230000004044 response Effects 0.000 claims description 9
- 230000008901 benefit Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000012297 crystallization seed Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
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之外的任意长度,可以取任意值。
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)
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 | 中国第一汽车股份有限公司 | 一种车辆诊断设备的认证方法、装置、电子设备及介质 |
-
2007
- 2007-09-30 CN CN200710164138A patent/CN100592686C/zh active Active
Non-Patent Citations (6)
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 |