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

客户端使用此服务以扩展的数据链路安全性执行数据传输。此服务主要是在传输数据的过程中,防止受到来自第三方的危害数据安全的数据攻击,更详细的介绍请参考 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肯定响应消息以安全模式发送给客户端。
这跟之前的服务的负响应还是存在着较大差异,需格外地注意。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小趴菜_自动驾驶搬砖人

谢谢大爷赏饭吃

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值