1.安全访问服务请求消息有两种
① 请求种子的请求信息
② 发送密匙的请求信息
2.子功能定义
注意:支持子功能且支持抑制肯定响应指示位
3.请求消息定义
27服务请求最小长度为2byte
3.1 Request seed
请求种子的请求消息,分为3个部分,
①第一部分是SID(1个字节),
②第二部分是子功能参数(1个字节),子功能参数securityAccessType向服务器指示此服务正在进行的步骤、客户端希望访问的安全级别以及种子和密钥的格式。如果服务器支持不同的安全级别,则每个级别应通过requestSeed值来标识,该值与sendKey值的关系是sendKey=requestSeed+0x01,
③第三部分是安全访问数据记录(字节数由车辆制造商定义,当然也可以为0),这个参数是用户定义的,当请求种子信息时,用户可以选择此参数记录来向服务器传输数据。例如,它可以包含在服务器中验证的客户端的标识。
3.2 Send Key
发送密钥的请求消息,分为3个部分,
①第一部分是SID+0x40(1个字节),
②第二部分是请求种子时的子功能参数加上0x01(1个字节),表示这是和请求种子同样安全等级的密钥,
③第三部分是计算的密钥(字节数由车辆制造商定义)
4.肯定响应消息定义
返回种子的肯定响应一共有三个部分,
①第一个部分是固定的0x67(1个字节),
②第二个部分是子功能参数(1个字节),这和请求种子消息的子功能参数相同,
③第三个部分就是服务器返回的种子,一般是3个字节或4个字节
密钥验证成功的肯定响应消息一共有两个部分(2个字节),
①第一个部分是固定的0x67(1个字节),
②第二个部分是子功能参数(1个字节)
5.否定响应消息定义
否定响应消息分为三部分,
①第一部分是固定的0x7F(1个字节),
②第二部分是SID 0x27(1个字节),
③第三部分是支持的NRC