文章目录

  • 前言
  • 一、理论描述
  • 二、使用步骤
    • 1.总述
    • 2.请求
    • 3.响应
  • 总结

->返回总目录<-

前言

简称: “SecurityAccess”,安全访问
功能: 由于(保密、排放或安全的原因),安全访问服务提供一种方法以方便访问受限制的数据或诊断服务。


一、理论描述

1,例如,上传/下载程序或数据至 ECU、读取 ECU 特殊位置中内存数据等诊断服务一般需要执行安全访问,
因为下载不恰当的程序或数据 至 ECU 可能破坏电子设备,或影响汽车的排放和功能安全。
(说白了就是防止乱刷程序到ECU)

2,支持安全访问的 ECU 应该实现种子和密钥的合理算法,该算法应在特定文档中(整车厂会给出算法规范)记录,
而只有特定的少数人(软件开发人员)可以访问该文档。

3,当外部测试工具(CANoe等上位机)从 ECU 中请求安全访问类型时,安全访问过程就开始了。
当外部测试工具提供的安全密钥与ECU 计算的安全密钥匹配时,将授予对 ECU 的安全访问权。

二、使用步骤

1.总述

举例子:某整车厂针对0x27服务的需求如下:
请求Seed(种子) 27 01
发送Key(密钥) 27 02
数据长度为4Byte

Step1: 诊断工具发送 “SecurityAccess-RequestSeed” 请求种子报文(27 01 ),ECU会回复一个带Seed数据的报文
(67 01 22 33 44 55 )。注: 此时ECU已经在代码里使用Seed计算出Key了。

Step2: 诊断工具收到ECU回复的Seed(如22 33 44 55),然后根据整车厂给出的算法,计算出Key(如 AA BB CC DD )。然后
发送包含密钥的“SecurityAccess-SendKey” (27 02 AA BB CC DD)服务报文给 ECU 请求比较密钥(Step1中计算的Key)。
如果密钥一致, ECU 使能(解锁)诊断工具对特定服务的使用权限和对特定数据的访问权限,
并通过“SecurityAccess-SendKey” 肯定响应(67 02)报文指出 ECU 和诊断工具认证成功。

Step3: 如果密钥不相符,此访问被认为是一次错误的访问尝试;(ECU回复NRC35:密钥无效) 如果是无效的密钥或者其他原因被
拒绝访问要求诊断工具从头开始重新发送“SecurityAccess-RequestSeed” 请求报文;如果连续密钥无效三次,
ECU回复NRC36:超过最大尝试次数。此时需要等待10秒后才可以请求27 01服务,否则ECU回复NRC37:延时要求不满足

2.请求


第一个字节就是SID,后边的一个字节 用于标识将要访问的安全访问类型。下图红色框内是请求Seed的帧格式,
绿色框 是请求对比密钥的帧格式。

3.响应

1)正响应

见CANoe报文数据图中的蓝色框。
Response ID: 67
securityAccessType=requestSeed :01
securitySeed:00 95 00 06


见CANoe报文数据图中的黄色框。
Response ID: 67
securityAccessType=SendKey:02

2)否定响应
支持的否定响应如下,一般工作上根据整车厂给的诊断输入文档来选择要支持的NRC码。

博主平日项目中,常需要支持的是NRC 0x12,0x13,0x22,0x24,0x35,0x36,0x37,0x7F。

NRC12: 子服务不支持(根本没有27 00服务,安全访问类型不支持00)

NRC13: 请求报文数据长度有误(请求数据27 01只有两个字节。而下图中请求的是27 01 00)
27前面的03是指发送报文的数据长度:27 01 00.

NRC22: 请求条件不满足
(一般整车厂会告诉你NRC22的满足条件,例如:车速>3km/h,电源过欠压时候,请求服务,ECU便回复该NRC)

NRC24: 请求顺序不正确(不按套路出牌,一上来就请求27 02去对比密钥了)

NRC35: 密钥对比有误(在请求27 02时候,输入错误的Key并且发送。)

NRC36: 超过最大解锁尝试次数(错误一次 NRC35,错误第二次NRC35,错误第三次NRC36)

NRC37: 延时要求不满足(回复NRC36之后,10秒延时时间内再次请求27 01)

NRC7F: 当前会话下服务不支持
(整车厂要求该安全访问服务,需要在Extend session会话下支持。10 01是默认会话,因此回复7F 27 7F )

总结

0x27服务还是比较有意思的,之前博主一直是手写代码的,现在的项目考虑到了功能安全,整车厂要求是Autosar架构的,
因此现在开发都是使用DaVinCi软件开发生成代码,很强大的软件(德国佬的确很6)。下一章0x28控制通信服务见!

->返回总目录<-

【UDS】ISO14229之0x27服务相关推荐

  1. 跟我学UDS(ISO14229) ———— 0x19 服务参数介绍

    相关链接:跟我学UDS(ISO14229) ---- 0x19(ReadDTCInformation) 目录 DTCStatusMask 工作状态 bit 作用说明 切换逻辑 DTCExtendedD ...

  2. 跟我学UDS(ISO14229) ———— 0x11(ECUReset)

    0x11(ECUReset)服务的主要作用是使用ECUReset服务来请求服务器重置.该服务根据嵌入在ECUReset请求消息中的resetType参数值的内容,请求服务器有效地执行服务器重置. 在服 ...

  3. 【车载开发系列】UDS诊断---链接控制服务($0x87)

    [车载开发系列]UDS诊断-链接控制服务($0x87) 诊断---链接控制服务($0x87) [车载开发系列]UDS诊断---链接控制服务($0x87) 一.概念定义 二.应用场景 三.报文格式 1) ...

  4. 【UDS】ISO14229之0x19服务

    文章目录 前言 一.理论描述 1.服务分类 2.状态掩码 二.操作步骤 1.请求 2.回复 总结 ->返回总目录<- 前言 简称: "ReadDTCInformation&quo ...

  5. 【UDS】ISO14229之0x14服务

    文章目录 前言 一.理论描述 二.使用步骤 1.请求 2.响应 总结 ->返回总目录<- 前言 简称: "ClearDiagnosticInformation",清除D ...

  6. 【UDS】ISO14229之0x3E服务

    文章目录 前言 一.理论描述 二.使用步骤 1.请求 2.响应 总结 ->返回总目录<- 前言 简称: "TesterPresent",测试工具保持连接服务 功能: 此 ...

  7. 【UDS】ISO14229之0x2F服务

    文章目录 前言 一.理论描述 二.使用步骤 1.请求 2.响应 总结 ->返回总目录<- 前言 简称: "InputOutputControlByIdentifier" ...

  8. 【UDS】ISO14229之0x28服务

    文章目录 前言 一.理论描述 二.使用步骤 1.请求 2.响应 总结 ->返回总目录<- 前言 简称: "CommunicationControl",通信控制 功能: ...

  9. 车载网络测试 - UDS诊断篇 - 诊断服务$10

    上一篇我们在(车载网络测试 - UDS诊断篇 - 诊断数据简析)中 有介绍各个服务的数据的格式,接下来的篇幅就是对各个服务做进一步的介绍,以便大家学习和了解:今天我们说的就是会话控制,有地方也叫会话切 ...

最新文章

  1. aix解压tgz_AIX 上压缩与解压缩 各种文件格式原理说明
  2. java迭代器在哪个包里面,java.util.LinkedList.listIterator()方法实例
  3. MyBatis Generator Example.Criteria 查询条件复制
  4. 自学it18大数据笔记-第三阶段Scala-day06——会持续更新……
  5. Oracle 数据库创建表空间、创建用户指定表空间
  6. Redis实现关注关系
  7. The Best Way to Unit Test in Android
  8. dashboard windows 前端开发环境搭建
  9. Python之数据拆分——groupby()方法
  10. 并查集——家谱(洛谷 P2814)
  11. 环保公益PSD分层海报,小景合成美好世界
  12. Win10推荐一款Terminal
  13. 删除小于一定尺寸的模型
  14. NetApp存储常用检查命令
  15. 一IT公司hr对软件外包感受(转)
  16. SQL SEVER登录失败,无法连接服务器或已成功与服务器建立连接,但是在登录过程中发生错误。(Win10版本,SQL 2019)
  17. 垃圾清理代码_一招清理电脑垃圾
  18. 【启明云端】启明云端带你揭开WT32-S3-WROVER神秘面纱
  19. 一套比较完备的在ubuntu 18.04系统上部署nginx+postgresql+php的记录
  20. Android OpenGL ES (十三) 视频播放器

热门文章

  1. 几张图片合成gif怎么做?怎么把多张图片做成gif?
  2. 3D游戏编程大师技巧第一章 vs2013编译书本源码问题解决方案
  3. android10如何省电,安卓手机如何省电 安卓手机省电方法【详细介绍】
  4. 智能手机省电方向终归何方?
  5. 弘辽科技:仅仅6招!教你快速入选淘宝猜你喜欢商品池
  6. 台式计算机有乱码如何解决,台式机键盘输入乱码应该怎么解决
  7. 2018年App测试流程及要点梳理
  8. 内推 | 蚂蚁集团网商银行用户研究专家招聘
  9. android设置静态i,关于Android4.0系统下如何设置wlan静态ip的设置(转)
  10. (六)PetShop之表示层设计