安全访问,主要是对客户端访问服务器做了一定的限制,客户端和服务器之间需要通过匹配seed(种子)和key(密钥)来建立安全访问。
安全访问建立的步骤
大致的安全访问步骤如下:
1. 客户端向服务器请求seed
2. 服务器向客户端发送seed
3. 客户端收到seed后根据指定算法计算出key,并发送给服务器;
4. 服务器同样根据seed和指定算法计算出key,并与客户端发送的key进行比对,一致的话则建立安全连接。
CAN报文简单描述
请求seed: 27 01 (03, 05, 07, ..., 41) - 这里的子功能只能是奇数01 (03, 05, 07, ..., 41)
响应seed: 67 01 (03, 05, 07, ..., 41) xx yy - 这里的xx yy就是seed,其中xx高字节
发送key: 27 02 (04, 06, 07, ..., 42) - 这里的子功能只能是偶数02 (04, 06, 07, ..., 42)
肯定响应:
67 02 (04, 06, 07, ..., 42) - 说明已经建立安全连接
否定响应:
7F 27 24 - 请求错误
...
7F 27 35 - key匹配不上