UDS 0x29 身份验证服务 Authentication service

背景

0x29服务的目的是为客户端提供一种证明其身份的方法,在ECU端,有些服务或者数据因信息安全、排放或功能安全原因而受到严格限制。 只有身份验证通过之后,才能够允许其访问数据和/或诊断服务。

例如,用于将数据下载/上传到ECU以及从ECU读取特定存储位置的诊断服务是需要进行身份验证。

下载到ECU中的不正确程序或数据可能会损坏电子设备或其他车辆部件,或危及车辆符合排放、功能安全或信息安全标准。

此服务支持两个安全类型:

--1基于使用非对称密码学的PKI证书交换过程。作为证书格式,应使用符合ISO7816-8的CVC和符合ISO/IEC 9594-8、RFC 5280和RFC 5755或IEEE 1609.2的X.509。

--2基于没有PKI证书的质询-响应过程,使用带有软件身份验证令牌的非对称密码学或对称密码学。
本篇文章着重介绍类型1中的单向认证Unidirectional authentication

0x29 01
verifyCertificateUnidirectional (单向认证证书)

此SubFunction启动单向身份验证过程,仅对ECU对应的客户端进行身份验证。

0x29 01(单向验证证书)子服务工作流程

  1. Client sends its certificate client
  2. Server verifies the certificate client
  3. Server creates a challenge server
  4. Server sends the challenge server
  5. Client calculates proof of ownership client by building an appropriate authentication token whose content to be signed include at least (parts of) the challenge server
  6. Client sends the proof of ownership client
  7. Server verifies the proof of ownership client with the public key from the received certificate client
  8. The server grants access to diagnostic objects according to access rights
  9. The server responds that the authentication was successful


69 01
11

认证返回值参数 ,CertificateVerified, OwnershipVerificationNecessary

00 10 (ECU挑战值长度 16个byte)
41 45 35 36 39 30 31 31 45 41 31 39 30 35 33 42

00 00


0x29 03
"proofOfOwnership(所有权证明)",

this SubFunction parameter is used to transmit the proof of ownership data to the client.

此SubFunction参数用于将所有权证明数据(即对0x29 01服务所返回的随机数进行Hash并签名)传输到客户端。

下面是一个关于0x29 03服务的请求及响应报文示例

29 03
00 60 (所有权证明客户的长度,lengthOfProofOfOwnershipClient,对挑战值进行签名后的签名的长度)
4D 45 55 43 49 51 44 42 71 30 67 35 78 76 46 6D 70 69 78 64 30 6D 37 43 77 76 6E 77 41 56 46 62 51 78 6A 6D 59 34 4F 65 54 49 30 76 2B 74 63 79 61 41 49 67 64 51 51 33 45 35 45 74 59 53 43 39 73 6C 42 34 32 65 4E 73 69 58 38 59 62 6C 50 47 4B 78 63 6F 58 42 4B 50 63 45 42 48 55 65 41 3D

(对挑战值进行签名后的报文)

00 00
69 03 12 00 00

相关推荐
Whoami!13 小时前
❾⁄₆ ⟦ OSCP ⬖ 研记 ⟧ 防病毒软件规避 ➱ 内存中的逃避技术(下)
网络安全·信息安全·进程空洞化·内存逃避·内联挂钩
Whoami!1 天前
❾⁄₅ ⟦ OSCP ⬖ 研记 ⟧ 防病毒软件规避 ➱ 内存中的逃避技术(中)
网络安全·信息安全·dll注入
Whoami!3 天前
❾⁄₄ ⟦ OSCP ⬖ 研记 ⟧ 防病毒软件规避 ➱ 内存中的逃避技术(上)
网络安全·信息安全·防病毒软件·逃逸技术
Whoami!7 天前
❾⁄₂ ⟦ OSCP ⬖ 研记 ⟧ 防病毒软件规避 ➱ 防病毒软件概述(下)
网络安全·信息安全·防病毒软件
云计算练习生7 天前
渗透测试行业术语扫盲(第十六篇)—— 红蓝对抗与演练类
网络·安全·网络安全·信息安全·渗透测试术语
Whoami!7 天前
❾⁄₁ ⟦ OSCP ⬖ 研记 ⟧ 防病毒软件规避 ➱ 防病毒软件概述(上)
网络安全·信息安全·防病毒
躺柒8 天前
读捍卫隐私09匿名指南
信息安全·数据安全·隐私·隐私保护·互联网隐私
云计算练习生8 天前
渗透测试行业术语扫盲(第十五篇)—— 密码学与身份安全类
网络安全·信息安全·密码学·渗透测试术语
Whoami!8 天前
❽⁄₈ ⟦ OSCP ⬖ 研记 ⟧ 修改漏洞利用脚本 ➱ Web漏洞利用修改
网络安全·信息安全·web漏洞利用
躺柒9 天前
读捍卫隐私08智能出行
信息安全·数据安全·隐私·隐私保护·互联网隐私