目 录CONTENT

文章目录

跟我学UDS(ISO14229) ———— 0x84(SecuredDataTransmission)

moke
2024-09-23 / 0 评论 / 0 点赞 / 11 阅读 / 0 字

客户端使用此服务以扩展的数据链路安全性执行数据传输。此服务主要是在传输数据的过程中,防止受到来自第三方的危害数据安全的数据攻击,更详细的介绍请参考 ISO 15764。也可以用于在客户端和服务器之间以安全模式传输符合某些其他应用程序协议的外部数据。 在这种情况下,安全模式意味着所传输的数据受到保护。

这里引入另外一个概念:Scurity sub-layer 在另外一个ISO标准(ISO 15746)中的定义如下。为了在安全模式下执行诊断服务,必须在服务器和客户端应用程序中添加Security sub-layer。
在这里插入图片描述
部分参数的解释:
⎯ SS_SecuredMode.req(SS_Req): Security sub-layer request;
⎯ SS_SecuredMode.ind(SS_Ind): Security sub-layer indication;
⎯ SS_SecuredMode.resp(SS_Reap): Security sub-layer response;
⎯ SS_SecuredMode.conf(SS_Conf): Security sub-layer confirmation.

在执行诊断命令的过程中,会工作在两种不同的模式下:

  1. 非安全模式下数据传输
    使用本文档中定义的诊断服务和应用程序层服务原语在客户端和服务器之间交换数据。 安全子层执行“直通” 客户端和服务器中“应用程序”和“应用程序层”之间的数据存储。
  2. 安全模式下数据传输
    安全子层将SecuredDataTransmission服务用于传输/接收安全数据。 安全链接必须是点对点通信。 因此,仅允许物理寻址。

ISO 14229 也定义了安全模式与非安全模式。在安全模式下,只允许被认可的服务进行通信。还有三个服务是无法工作在安全模式下,具体是:
⎯ ResponseOnEvent (0x86)
⎯ ReadDataByPeriodicIdentifier (0x2A)
⎯ TesterPresent (0x3E)

诊断请求格式

具体的格式如下:
在这里插入图片描述
这里是没有之前介绍的服务中的参数 sub-fcuntion。
参数securityDataRequestRecord中的数据定义并不在ISO 14229中,而是在ISO 15746中。因为在自己的工作经历中,并没有使用到该服务,所以无法展开描述。

正响应格式

具体的格式如下:
在这里插入图片描述
与诊断请求的格式一样,返回的securityDataRequestRecord 参数值也是在ISO 15746中被定义。

负响应NRC码

具体的NRC码如下所示:
在这里插入图片描述
注意:列出的负响应代码适用于SecuredDataTransmission(84 hex)服务。 如果以安全模式执行的诊断服务需要否定响应,则该否定响应会通过SecuredDataTransmission肯定响应消息以安全模式发送给客户端。
这跟之前的服务的负响应还是存在着较大差异,需格外地注意。

博主关闭了所有页面的评论