0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

详细讲解SecurityAccess Service(SID:0X27)的特性和协议

jf_Vqngj70R 来源:美男子玩编程 2022-12-28 16:19 次阅读

客户端使用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数据)。

poYBAGOr_FaAKUsdAACxWtxB6UY689.jpg

其中:

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数据)。

pYYBAGOr_GiAH05gAACNofyvL-c904.jpg

其中:

0X27是服务ID(SID),1字节;

0X**是服务的子功能,当sendKey为偶数时发送key密钥命令,范围为:0X01~0X7F中的偶数,1字节;

0X&&的值是通过将获取服务端发出seed数值进行安全算法生成的,所以这个值是随着服务端发出seed数值的变化而变化,长度不固定。

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

poYBAGOr_HuAYHZdAAGz9Aj64ow628.jpg

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

pYYBAGOr_I6Ab2HsAACXb0kLsLo341.jpg

2

诊断响应

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

2.1、肯定响应

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

poYBAGOr_J6AcvsmAACzX0Q8xy8980.jpg

其中:

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种类型错误,如下所示:

pYYBAGOr_LyADhyzAADNX6qGKOs617.jpg
pYYBAGOr_MSAU7djAAEEx_pCZHI960.jpg






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • PCI
    PCI
    +关注

    关注

    4

    文章

    608

    浏览量

    129591
  • SID
    SID
    +关注

    关注

    0

    文章

    11

    浏览量

    2976

原文标题:详解UDS CAN诊断:SecurityAccess Service(SID:0X27)

文章出处:【微信号:美男子玩编程,微信公众号:美男子玩编程】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    MPEG基础理论和协议分析

    MPEG基础理论和协议分析MPEG 基础理论和协议分析(包括DVB和ATSC)的指南MPEG 是当今最流行的音频/ 视频压缩技术之一。这是因为它不仅仅是一个单独的标准,而是一系列以相似理论为基础且
    发表于 10-20 17:36

    SID的定义在哪里?

    大家好,我想知道SID的定义在哪里?我试图找出最大的电流缓冲输出的DAC。到目前为止,我有SID 275(10毫安)和SID 278(4毫安)。 以上来自于百度翻译 以下为原文Hello all
    发表于 10-23 15:38

    1这个蓝牙协议栈有人能稍微讲解下吗,相互之间的依赖关系是什么 2profile和attibute有什么区别 3服务和协议区别在哪

    `1这个蓝牙协议栈有人能稍微讲解下吗,相互之间的依赖关系是什么 2profile和attibute有什么区别 3服务和协议区别在哪`
    发表于 08-06 19:46

    串口通讯协议的物理层和协议层看完你就懂了

    串口通讯协议的物理层和协议层看完你就懂了
    发表于 12-10 06:00

    串口硬件和协议的相关内容

    的通信协议。利用该协议可以传输不定长数据帧,另外还加入了累加和校验,可以识别出传输过程中的错误。数据帧格式如下:数据帧由数据帧头、数据长度、数据、累加和组成,比如数据帧(0xFF 0x
    发表于 01-19 08:20

    串口通讯协议的物理层和协议层是什么样的?

    串口通讯协议的物理层和协议层是什么样的?
    发表于 02-18 07:30

    求助,求CH58x BLE协议栈子程序库说明和协议栈资料

    CH58x BLE协议栈子程序库说明和协议栈资料,谢谢!
    发表于 08-15 06:15

    NUC980网口接收MAC=0x01-0x0E-0xCF-0x00-0x00-0x00的问题求解

    NUC980的网口接收 0x01-0x0E-0xCF-0x00-0x00-0x00这类MAC地址时,为什么在MAC地址和协议类型之间插入 4字节数据 观察发现是 0x81 00 00 00 ,这个可以在哪里禁止插入?
    发表于 06-27 08:44

    NUC980网口接收MAC=0x01-0x0E-0xCF-0x00-0x00-0x00在哪里禁止插入?

    NUC980的网口接收 0x01-0x0E-0xCF-0x00-0x00-0x00这类MAC地址时,为什么在MAC地址和协议类型之间插入 4字节数据 观察发现是 0x81 00 00 00 ,这个可以在哪里禁止插入?
    发表于 09-04 06:02

    AD9984A 如何去设置各个寄存器以便能读出0x26,0x27的Hsyncs per Vsync的值?

    如题,该如何去设置各个寄存器以便能读出0x26,0x27的Hsyncs per Vsync的值?
    发表于 11-28 06:43

    Web Service的架构与协议

    文章介绍了Web Service 产生的起因,对Web Service 的体系结构,以及构成它的各协议进行了分析,并对其应用前景进行了探讨。
    发表于 06-30 10:43 42次下载
    Web <b class='flag-5'>Service</b>的架构与<b class='flag-5'>协议</b>

    步进马达的详细讲解

    步进马达的详细讲解步进马达的详细讲解步进马达的详细讲解
    发表于 11-30 11:55 0次下载

    标准CANBUS协议链路的详细资料讲解

    本文档的主要内容详细介绍的是标准CANBUS协议链路的详细资料讲解
    发表于 07-02 08:00 2次下载

    详细讲解DiagnosticSessionControl Service特性和协议

    不同服务在Default Session和Any Other Session中的权限不同,某些服务并不支持在Default Session中运行,所有服务都可以在Any Other Session中运行
    的头像 发表于 11-25 14:45 649次阅读
    <b class='flag-5'>详细</b><b class='flag-5'>讲解</b>DiagnosticSessionControl <b class='flag-5'>Service</b>的<b class='flag-5'>特性</b><b class='flag-5'>和协议</b>

    详细讲解ECUReset ServiceSID:0X11)的特性和协议

    0X&&是NRC错误码,描述了返回错误的原因,1字节。ECUReset ServiceSID:0X11)有4种类型错误,
    的头像 发表于 11-30 14:17 795次阅读