您的位置:首页 > 其它

UDS诊断之0x27服务

2020-11-07 15:44 44 查看

服务作用:

SecuriyAccess(0x27)服务主要为了确认访问数据的人是否合法,因为数据是无价的,各主机厂都针对一些特有数据进行保密,为了鉴别是否授权获取保密数据、写入数据,出现了安全访问服务,只有正确解锁对应的安全锁级,才能访问该安全等级的数据,否则无法访问。

服务格式:

Tester:27 01 

 

ECU:   67 01 seed(4byte)

Tester:  27 02 key(4byte)

ECU :  67 02

服务解析:

01和02定义由主机厂定义,但格式保持请求种子2n-1.请求密钥2n.请求顺序也必须先请求种子,再请求密钥,若顺序不对,则ECU会回复NRC 24,告诉你顺序反了。

通过ECU响应的seed通过各主机厂定义的密钥算法算出key,再将key与ECU的key做比较,若一致安全访问通过,可以访问私密数据,若不通过则会恢复NRC=35的否定响应码,若操作多次,ECU会回复NRC=36告诉你已经超过失败的次数了,不能再请求安全解锁了。若你执意再请求,ECU就会回复你NRC=37告诉你ECU现在不接受安全访问,这就是ECU锁死的现象,需等待一定时间后才可继续请求安全访问。

ECU上电后,保持上锁状态,一般进入扩展会话(1003进入)才能请求27服务,而编程会话的安全等级与扩展会话的安全的等级不一致。

若已成功解锁安全等级,再请求相同层级的解锁服务,ECU一般会回复0种子。

实际应用:

当我们要将一些数据写入ECU时,应先获得权限,才能写入数据,所以需要先解锁能写入数据的安全等级。若没有授权则ECU会回复NRC 33未解锁的提示。

2E服务、2F服务、31服务、34、36、37服务等

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: