Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >详解UDS CAN诊断:SecurityAccess Service(SID:0X27)

详解UDS CAN诊断:SecurityAccess Service(SID:0X27)

作者头像
不脱发的程序猿
发布于 2022-12-20 06:03:48
发布于 2022-12-20 06:03:48
1.3K0
举报

目录

1、诊断请求

2、诊断响应

2.1、肯定响应

2.2、否定响应


诊断和通信管理功能单元(Diagnostic and communication management functional unit)包含10种服务,本篇博文将详细讲解SecurityAccess Service(SID:0X27)的特性和协议。

本篇博文素材来源于:ISO 14229-1-2020:规范和要求。

对汽车电子、CAN通信、UDS诊断技术感兴趣的小伙伴请关注公众号:美男子玩编程,公众号优先推送最新技术博文,创作不易,请各位朋友多多点赞、收藏、关注支持~

在学习本篇博文之前推荐学习:

详解UDS CAN诊断:什么是UDS(ISO 14229)诊断?

详解UDS CAN诊断:DiagnosticSessionControl Service(SID:0X10)

很多关联知识已经详细讲解过,这里不再赘述了。

客户端使用SecurityAccess Service请求安全解锁服务端,SecurityAccess Service用于将客户端的数据上传到服务端或者将服务器的数据下载到服务端时候的安全访问。

客户端使用SecurityAccess Service请求安全解锁服务端流程如下所示:

第1步:客户端发送seed请求;

第2步:服务端发出seed;

第3步:客户端发送key密钥,依据服务端发出的seed进行处理;

第4步:服务端解析客户端发过来的key密钥,如果无误则完成安全解锁功能。

1、诊断请求

客户端发送seed请求协议:0X27 0X** 0X&&(A_Data.A_PCI.SI和A_Data.Parameter 1~k数据)。

其中:

  • 0X27是服务ID(SID),1字节;
  • 0X**是服务的子功能,当requestSeed为奇数时发送send命令,范围为:0X01~0X7F中的奇数,1字节;
  • 0X&&是可选项,用于在请求种子信息时将数据传输到服务器,它可以包含服务端中验证的客户端标识,长度不固定。

客户端发送key密钥协议:0X27 0X** 0X&&(A_Data.A_PCI.SI和A_Data.Parameter 1~k数据)。

其中:

  • 0X27是服务ID(SID),1字节;
  • 0X**是服务的子功能,当sendKey为偶数时发送key密钥命令,范围为:0X01~0X7F中的偶数,1字节;
  • 0X&&的值是通过将获取服务端发出seed数值进行安全算法生成的,所以这个值是随着服务端发出seed数值的变化而变化,长度不固定。

在ISO 14229-1-2020协议中规定了各类requestSeed和sendKey的意义和使用场景,如下所示:

标准中也规定了seed请求和key密钥的对应关系:

2、诊断响应

诊断响应有肯定响应和否定响应两种类型。

2.1、肯定响应

肯定响应表示服务端回复客户端请求成功,响应协议:0X67 0X** 0X&&(A_Data.A_PCI.SI和A_Data.Parameter 1~k数据)。

其中:

  • 0X67是响应服务的SID,相当于0X27+0X40,1字节;
  • 0X**是响应服务的子功能,范围为:0X00~0X7F,1字节。例如,客户端使用0X01子服务,此时肯定响应的子服务就是0X01;
  • 0X&&的存在取决于securityAccessType参数,seed参数是服务端发来的数据,客户端在安全访问服务端时需要使用该值计算密钥,长度不固定。

2.2、否定响应

否定响应表示客户端或者服务端存在问题,否定响应会提示失败原因。

响应协议:0X7F 0X** 0X&&(A_Data.A_PCI.NR_SI、A_Data.A_PCI. SI和A_Data.Parameter 1数据)

其中:

  • 0X7F是否定响应固定数值,1字节;
  • 0X**是诊断服务ID(SID),本篇博文使用的是0X27服务,则否定响应会返回0X27,1字节;
  • 0X&&是NRC错误码,描述了返回错误的原因,1字节。

SecurityAccess Service(SID:0X27)有8种类型错误,如下所示:


UDS诊断 ISO 14229 1~8整套协议-中英文最新版 


详解CAN总线:什么是CAN总线?

详解CAN总线:高速CAN总线和低速CAN总线的特性

详解CAN总线:CAN协议分层结构及功能

详解CAN总线:CAN节点硬件构成方案

详解CAN总线:常用CAN连接器的使用方法

详解CAN总线:CAN总线报文格式—数据帧

详解CAN总线:标准数据帧和扩展数据帧​​​​​​

详解CAN总线:CAN总线报文格式—遥控帧

详解CAN总线:CAN总线报文格式—错误帧

详解CAN总线:CAN总线报文格式—过载帧

详解CAN总线:CAN总线报文格式—帧间隔

一文搞懂CAN和CAN FD总线协议

CAN与CAN FD通信之间存在的问题

详解CAN总线:CAN总线故障界定与管理

详解CAN总线:CAN总线通信优先级机制

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-12-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
详解UDS CAN诊断:ECUReset Service(SID:0X11)
诊断和通信管理功能单元(Diagnostic and communication management functional unit)包含10种服务,本篇博文将详细讲解ECUReset Service(SID:0X11)的特性和协议。
不脱发的程序猿
2022/12/09
1.2K0
详解UDS CAN诊断:ECUReset Service(SID:0X11)
图解车载系统DoIP协议(可做查询处理手册)!
当前应用较多的车辆通信网络总线主要有CAN 、 LIN、FlexRay 、MOST 、LVDS 等,随着车载电子系统的愈加复杂,不断增加的控制器及接口数量对网络带宽的需求增大,车内控制单元和域之间彼此通信需求也增强。这意味着传统总线将渐渐难以满足信息高速传输的需求,因此引入车载以太网技术:车内电子控制单元通过以太网技术实现相互通信并形成局域网(使用单对双绞线即可实现稳定的双全工通信,且传输速率最高可达到1000Mb/s)。
曾高飞
2025/06/15
310
车载以太网DoIP处理协议
DoIP(Diagnostic Communication over Internet Protocol) 协议是一种用于汽车诊断通信的协议,它允许通过IP网络(如以太网)进行诊断操作。DoIP协议的设计初衷是为了解决传统基于CAN (Controller Area Network) 总线的诊断通信方式在带宽、灵活性以及远程访问方面的限制。
曾高飞
2025/06/15
240
详解UDS CAN诊断:DiagnosticSessionControl Service(SID:0X10)
诊断和通信管理功能单元(Diagnostic and communication management functional unit)包含10种服务,本篇博文将详细讲解DiagnosticSessionControl Service(SID:0X10)的特性和协议。
不脱发的程序猿
2022/12/02
1.3K0
详解UDS CAN诊断:DiagnosticSessionControl Service(SID:0X10)
如何读懂UDS诊断报文
UDS(Unified diagnostic services),即统一诊断服务。UDS提供一个诊断服务的基本框架,主机厂和零部件供应商根据实际情况自定义出一些私有化服务,其优势在于方便生产线检测设备开发,同时更大的方便了售后维修保养和车联网功能的实现。
xbai921031
2022/05/25
6.7K0
如何读懂UDS诊断报文
详解UDS CAN诊断:什么是UDS(ISO 14229)诊断?
之前讲解到CAN物理层和数据链路层的相关知识,这些属于ISO 11898-1、ISO 11898-2和ISO 11898-3协议方面的知识,本篇博文开启新篇章,讲解依托于CAN通信的应用层服务:UDS(ISO 14229)诊断协议。
不脱发的程序猿
2022/11/22
8.4K0
详解UDS CAN诊断:什么是UDS(ISO 14229)诊断?
CAN通信协议栈(四) 之对ISO14229的理解
ISO14229是UDS诊断应用层的协议,定义了诊断服务的实现步骤及具体的诊断服务定义。本文主要依据的是ISO14229-1:2013和ISO14229-3:2012,这是最新版协议,分别代替了之前的ISO14229-1:2006和ISO15765-3:2004,这一点请读者注意。
xbai921031
2022/05/25
2.3K0
CAN通信协议栈(四) 之对ISO14229的理解
CANoe UDS诊断测试
使用 CANoe 进行 UDS 诊断测试 时,可以通过两种主要方式来实现测试:有CDD文件 和 无CDD文件。
不脱发的程序猿
2025/04/02
6270
CANoe UDS诊断测试
使用STM32开发板学习UDS诊断
搞车联网安全的肯定都会涉及到 UDS 诊断,但除非能接触到实际项目,否则目前没见过有开源的能进行真实 UDS 诊断的练习板,只能看网上的一些理论知识,不咋过瘾
yichen
2023/12/31
6472
使用STM32开发板学习UDS诊断
CANoe UDS诊断测试界面说明
CANoe是汽车电子领域广泛应用的一款综合性工具,其UDS诊断功能尤为强大,为汽车电子系统的开发、测试与维护提供了诸多便利。
不脱发的程序猿
2025/03/20
4630
CANoe UDS诊断测试界面说明
UDS诊断之27服务
这个服务的目的是为那些限制访问,以及和排放、安全相关的一些服务和数据提供一些访问权限来保护数据。
xbai921031
2022/05/25
3.9K0
UDS诊断之27服务
WebSocket从入门到精通,半小时就够!
本文原题“WebSocket:5分钟从入门到精通”,作者“程序猿小卡_casper”,原文链接见文末参考资料部分。本次收录时有改动。
JackJiang
2020/10/14
2K0
WebSocket从入门到精通,半小时就够!
UDS诊断之10服务
这个服务的主要作用就是使能不同的诊断会话,不同的诊断会话包含了不同的诊断服务或者功能,这个服务就实现了不同诊断会话之间的切换。
xbai921031
2022/05/25
2.1K0
UDS诊断之10服务
半小时搞懂 HTTP、HTTPS和HTTP2
HTTP 超文本传输​​协议是位于 TCP/IP 体系结构中的应用层协议,它是万维网的数据通信的基础。
谭光志
2020/09/28
5.4K0
Gsky游戏服务器框架2
这几天主要是完善 pp (pwnsky protocol)二进制加密传输协议,还有该框架的拓展性。
i0gan
2021/07/03
3990
汽车CAN协议hacking
作者: Eric Evenchick 翻译:看雪论坛『智能设备应用』版主:gjden
CreateAMind
2018/07/24
1.8K0
Linux应用程序开发之CAN编程
CAN,全称为“Controller Area Network”,即控制器局域网,是国际上应用最广泛的现场总线之一。
韦东山
2020/06/29
3.5K0
计算机网络经典20问!
计算机网络体系大致分为三种,OSI七层模型、TCP/IP四层模型和五层模型。一般面试的时候考察比较多的是五层模型。
程序员大彬
2021/10/04
3520
计算机网络经典20问!
2024年java面试准备--网络基础篇
​ 客户端——发送带有SYN标志的数据包——服务端 一次握手 Client进入syn_sent状态
终有救赎
2023/10/16
2630
2024年java面试准备--网络基础篇
Java面试——TCP与HTTP
【1】Cookie 保存在客户端,未设置存储时间的 Cookie,关闭浏览器会话 Cookie 就会被删除;设置了存储时间的 Cookie 保存在用户设备的磁盘中直到过期,同时 Cookie 在客户端所以可以伪造,不是十分安全,敏感数据不易保存。Session 保存在服务器端,存储在 IIS 的进程开辟的内存中,而 Session 过多会消耗服务器资源,所以尽量少使用 Session。 【2】Session 是服务器用来跟踪用户的一种手段,每个 Session都有一个唯一标识:session ID。当服务端生成一个 Session 时就会向客户端发送一个 Cookie 保存到客户端,这个 Cookie 保存的是 Session 的 SessionID 这样才能保证客户端发起请求后,用户能够与服务器端成千上万的 Session 进行匹配,同时也保证了不同页面之间传值的正确性。 【3】存储数据类型不同:Session 能够存储任意的 Java 对象,Cookie 只能存储 String 类型的对象。 【4】大于10K 的数据,不要用到 Cookies。
Java架构师必看
2021/04/26
6580
相关推荐
详解UDS CAN诊断:ECUReset Service(SID:0X11)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档