CCC3.0学习笔记_快速交易

本文详细介绍了在车辆与手机已完成标准交易的前提下,如何进行快速交易的过程。该过程涉及NFC或BLE通信,双方生成临时公私密钥对,使用长期对称密钥Kpersistent进行SHA-256派生密钥,通过AES128算法进行密码验证,最终建立安全通道进行安全通讯。快速交易简化了标准交易中的双向签名验证步骤。
摘要由CSDN通过智能技术生成

上一次有提及只有进行过车辆与手机的标准交易之后,才有可能进行快速交易,假定双方已进行过标准交易,也就是在车辆和手机端的NVM中已经保存了长期的对称密钥 Kpersistent, 下面将详细快速交易的整个过程:

在进行快速交易流程之前,车辆端需要发送SELECT 命令给到手机端(采用NFC近场通讯方式或者低功耗BLE蓝牙方式),然后车辆端获取手机端反馈的Applet_ver_list,车辆端获取自身的applet版本信息并选择双方都支持的最高的Applet协议版本,之后即可开始快速交易。

Step:1-A & Step:2-A 这两步车辆端和手机端会产生各自的临时公私密钥对(Vehicle.ePK&Vehicle.eSK | Endpoint.ePK&Endpoint.eSK), 除了临时公私密钥对之外还有一个交易标识符 transaction_identifier 也是随机产生的,快速交易的启动是车辆端发送 AUTH0 命令,Auth0Cmd(applet_ver,vehicle.ePK,transaction_identifier,vehicle_identifier), 当手机端接收到车辆的AUTH0命令之后,利用上述信息进行子密钥的派生,流程如下:

info<- vehicle_ePK.x || endpoint.ePK.x || transaction_identifier || interface_byte || flag || "VolatileFast" || 5Ch || 02h || applet_protocol_version

flag: 0000 / interface_byte: C3h 有线接口 或者 5E无线接口 ,其他的输入信息则全部是已知的,然后手机端将 Kpersistent(标准交易时双方保存在NVM中的长期对称密钥) 与 info 信息数据输入到SHA-256算法中派生出64字节的密钥数据

Kcmac[15:0]: 派生的对称密钥用于计算密码 cryptogram

Kenc[31:16]: 创建安全通道时用于数据包的加密(车辆与手机建立安全通道)

Kmac[47:32]: 发送方计算发送命令的MAC数值(车辆与手机建立安全通道)

Krmac[63:48]: 接收方计算反馈的MAC数值(车辆与手机建立安全通道)

手机端派生出 KCmac之后,使用AES128算法得到16字节的密码 cryptogram(16bytes)                    AES128(Kcmac,endpoint_PK.x,vehicle_PK.x,transaction_identifier,vehicle_identifier)          得到的加密结果就是密码,手机在回复AUTH0 Request command时会携带此密码                          AUTH0 Response(endpoint.ePK,cryptogram)(此处注意在标准交易时手机端仅仅返回自身的临时公钥,但是在快速交易时则是自身临时公钥和密码同时反馈)

Step:1-B & Step:2-B 车辆获取到手机端的临时公钥和密码之后,同样将 Kpersistent 和 Info代入到SHA-256算法中得到64字节的密钥,同样分散成四个16bytes的子密钥(Kcmac/Kenc/Kmac/Krmac),因为两边的信息是对称的,并且Kpersistent是长期对称密钥,所以车辆端分散出的子密钥必定与手机端分散出的子密钥是相同的,最后车辆端利用KCmac参与AES128算法也得到一个密钥称之为 Vehicle_cryptogram, 比对 Vehicle_cryptogram 与接收到的cryptogram进行比对,如果比对通过则说明已经建立好了安全通道,所以车辆和手机可使用其它三个安全通道密钥(Kenc/Kmac/Krmac)进行安全通讯了。

至此车辆和手机端完成了快速交易的流程,可以看出快速交易相对标准交易最大区别在于只需执行AUTH0指令,然后利用长期对称密钥Kpersistent进行密码比对即可验证身份,而不需AUTH1指令,也就是没有了标准交易中双方原有的双向签名和验签的过程

回答: CCC 3.0 BLE是指"Core Bluetooth Communication Channel"的第三个版本。它是一种用于蓝牙低功耗(BLE)设备之间通信的标准。在CCC 3.0中,有关OOB(Out-of-Band)部分的要求包括首次连接请求消息(FA-RQ)和加密链路下的密钥分发。在第三阶段中,主机通过链路层使用LL_ENC_REQ发起加密请求,并将用于计算会话密钥SK的参数发送给从机。从机通过LL_ENC_RSP加密应答将与计算SK相关的参数发送给主机,然后通过LL_START_ENC进行三次加密握手。CCC 3.0 BLE的数字密钥技术规范第三版定义了一个数字密钥生态系统,它使用标准化的数字密钥小程序Applet和标准化的车辆访问协议来支持车辆和设备之间的广泛部署数字密钥服务。此规范还支持使用蓝牙低功耗(BLE)或NFC等无线电技术实现数字密钥服务。123 #### 引用[.reference_title] - *1* *2* [CCC3.0 蓝牙OOB配对](https://blog.csdn.net/xingqingly/article/details/125530729)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] - *3* [CCC3.0学习笔记_数字钥匙系统架构](https://blog.csdn.net/u010674359/article/details/125546541)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奔跑的蜗牛哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值