1. 概述
在以往的诊断数据传输过程中,诊断数据都是透明的,第三方可以轻易获取。对于一些需要保密的诊断数据,标准定义了一种加密传输方式,即0x84-加密数据传输服务。
简单来说,就是在发送诊断数据的时候,发送方先把数据加密,再用84服务发送,接收方收到后进行解密后再把诊断数据上报给应用程序。
按照标准的说法,是在应用程序和应用层(ISO 14229-1)之间添加一个加密子层,如下图所示:
发送方和接收方之间要提前商定好加解密算法,且加密算法必须是对称加密(如AES),才能保证诊断数据发送到接收方之后能够被解密为原始数据。
注意以下两点:
① 加密数据传输必须是点对点(一对一)的,即只能用物理寻址,不能用功能寻址。
② 加密数据传输必须是要有响应的(即有确认请求),请求中的禁止肯定响应位不能置为有效。同时也导致以下三个服务不能用加密数据传输:
- ResponseOnEvent (0x86)
- ReadDataByPeriodicIdentif