UDS中的27服务用于ECU的安全访问:
ECU当中有很多数据是整车厂独有的,并不希望开放给所有客户,它需要做一个保密的设定。我们在读取一些特殊数据的时候,要先进行一个安全解锁。ECU上电之后是一个锁定的状态(Locked),我们通过27服务,加上一个自服务,再加上一个秘钥,这样的服务器请求可以进行解锁。比如下面的例子,SSID为子服务ID,通过首轮种子的请求,首轮ECU会返回67+SSID+AA+BB+CC+DD,AA~DD就是种子。之后第二轮,诊断会利用种子进行 计算(利用整车厂的算法),生成k1,那么发送请求,27+(SSID+1)+[k1]。ECU同样也会通过种子算出k2。当K1和K2匹配时,解锁(Unlocked)成功。
|