从车端BLE浅谈CCC数字钥匙协议

admin 2025年1月26日22:51:20评论8 views字数 3110阅读10分22秒阅读模式

点击上方蓝字谈思实验室

获取更多汽车网络安全资讯

从车端BLE浅谈CCC数字钥匙协议

01

前言

本文主要以车端BLE的视角来浅谈CCC数字钥匙协议规范,也是为了方便大家能够好的理解CCC协议。本文对于有一定BLE基础的相对友好。文中可能会涉及一些蓝牙规范的知识,如有不懂,可以详细查阅对应的蓝牙官方文档。

对于BLE而言,CCC协议中只划分了Phase0、1、2、3、4这几个阶段,而本文将整个流程划分为以下几个部分。分别为Phase0/1、蓝牙连接、Phase2、OOB配对、UWB测距、Phase3、Phase4。整体流程如下图。

从车端BLE浅谈CCC数字钥匙协议

02

Phase0

准备阶段,该阶段中手机端、车端、车端服务器需要准备各自的东西。

03

Phase1

启动阶段,手机采用以下方式来接受密码,从而启动OP流程。

1、通过用户输入。

2、通过URL来跳转钱包(详见6.3.7)。

3、车辆OEM开发的app进行跳转。

04

蓝牙连接

首先在CCC协议中,广播分为OP和PE。且两个广播都是RPA地址。

在PE阶段,车辆广播应基于LE 1M PHY。对应广播周期应为42.5ms。对于这个广播,ADV_IND应包含AdvA,但不包含广播数据(AdvData)。

在进行OP流程的时候,开启OP广播便于手机端扫描并发起连接。op广播格式如下图。

从车端BLE浅谈CCC数字钥匙协议

对于车端而言,除了配置该广播格式外,还需要配置相应的服务。服务格式如下图。

从车端BLE浅谈CCC数字钥匙协议
从车端BLE浅谈CCC数字钥匙协议

配置该服务的目的在于之后通过L2CAP层进行数据交互的时候确定L2CAP层的SPSM。

整个蓝牙连接分为两个部分,第一部分如下图所示。其中车端开启OP广播,手机端经过phase0、1之后进入OP流程。此时手机扫描到广播中CCC_DK_UUID,从而和车端建立LL层连接。

从车端BLE浅谈CCC数字钥匙协议

第二部分流程如下,手机端检测车端广播服务以及SPSM特征值。从而获取到具体数值(在实际测试中,我使用的SPSM为0x0083)。然后手机端会发起L2CAP Connect Request。其中该数据包中SPSM为之前服务中读到的SPSM特征值。

从车端BLE浅谈CCC数字钥匙协议

如图为实际测试过程中Sniffer抓到的空口数据。

从车端BLE浅谈CCC数字钥匙协议
从车端BLE浅谈CCC数字钥匙协议

在该数据格式中,其中LE Protocol/Service Multiplexer则是之前所设置的SPSM。该值在《BLUETOOTH SPECIFICATION Version 5.0》中表示,该参数被划分为两个区间,如图所示,

从车端BLE浅谈CCC数字钥匙协议

第一个区间是蓝牙SIG规定,范围在0~0x007F(如下图,其中高亮的为BLE使用CID)。第二个区间为动态变化,专门结合服务进行设计,从而完成相应的协议。这也是之前配置广播服务特征时选择SPSM为0x0083的原因(大家可以试一下其他的数值)。

从车端BLE浅谈CCC数字钥匙协议

目前为止,对于BLE而言,建立了LL层连接以及L2CAP层连接。接下来的阶段的数据交互都是基于L2CAP层。通过选取的0x0083通道进行交互。更多关于L2CAP层的蓝牙知识在之后的文章中会详细介绍。对于CCC协议而言,目前的储备以及足够。

在蓝牙连接流程结束后,手机会发送Request_owner_pairing命令。空口数据如下。

从车端BLE浅谈CCC数字钥匙协议

05

Phase2

 当手机发送完Request_owner_pairing命令后,进入到Phase2阶段。该阶段分为两次Transaction。主要是和Digital Key Framework(The DK framework AID :A000000809434343444B467631h)进行数据交互,包括手机端开卡所需的车端的一些数据等。具体流程如下。

从车端BLE浅谈CCC数字钥匙协议

由于CCC协议中对于BLE并未由详细的流程图,因此使用NFC进行Phase2阶段的流程图进行介绍。 在图中,NFC会经历场重置的操作,重置后需要重新选择AID。而对于BLE而言,并不需要重置,也就无需再次选择AID。

如图为Phase2阶段的空口数据。

从车端BLE浅谈CCC数字钥匙协议

06

OOB配对

在官方蓝牙规范中的OOB中,一般指的是采用带外的方式(非BLE,如NFC)来交互配对的信息。而在CCC协议中规定,通过之前所建立的L2CAP层的数据通道进行配对信息交互。在CCC协议中开始OOB配对之前,需要进行OOB准备工作,将双方需要的配对参数进行交互来为后续OOB配对进行铺垫。具体OOB准备流程如下图。

从车端BLE浅谈CCC数字钥匙协议

其中,主要交互参数如下:

BTAddrA/BTAddrB:主/从设备的地址

ra/rb:主/从设备的随机数

Ca/Cb:主/从设备分别通过Pka、ra和Pkb、rb计算出来的加密数。

以上信息通过First_Approach_RQ/First_Approach_RS事件进行交互。

在准备工作完成后,可以开始正常配对流程。具体流程如下。

从车端BLE浅谈CCC数字钥匙协议

该部分就是一般BLE配对流程差不多,只有小细节不同。

07

UWB测距

Phase2阶段结束后,接下来要进行UWB测距。此阶段的流程图如下。

从车端BLE浅谈CCC数字钥匙协议

 如图,第一步需要进行一次标准交易流程。标准交易流程结束后需要生成URSK,URSK的伪代码如下。

从车端BLE浅谈CCC数字钥匙协议

在生成URSK时,同时会有一个 transaction_identifier的数据。

生成URSK后,想要测起距还需要进行参数交互,主要分为三个步骤。

6.1Capability Exchange(测距能力交换)

具体流程如下。

从车端BLE浅谈CCC数字钥匙协议
从车端BLE浅谈CCC数字钥匙协议

如图为能力交互所交互的数据格式。

6.2Ranging Session(测距会话)

具体流程如下。

从车端BLE浅谈CCC数字钥匙协议
从车端BLE浅谈CCC数字钥匙协议
从车端BLE浅谈CCC数字钥匙协议

如图为测距会话所交互的数据格式。 

6.3Ranging_Session_Setup(测距会话设置)

具体流程如下。

从车端BLE浅谈CCC数字钥匙协议
从车端BLE浅谈CCC数字钥匙协议
从车端BLE浅谈CCC数字钥匙协议

 Tips:红色框中的参数都是实际UWB测距中需要的参数。当UWB定位到车内后,便可开启下一阶段。

08

Phase3 

 phase3和phase2有些相似,需要进行一次标准交易流程。但是在Phase3主要和Digital Key applet(The DK applet AID :A000000809434343444B417631h)进行数据交互。具体流程如下。

从车端BLE浅谈CCC数字钥匙协议

此阶段之前(包括此阶段)的操作都处于离线模式。当Phase3结束后手机端钱包的车卡也可以开下来了。 至于后续的Phase4则是在线模式,需要和OEM服务器去进行交互。

来源:CSDN@打工人预备役

原文链接:

https://blog.csdn.net/weixin_46186672/article/details/143713331

 end 

从车端BLE浅谈CCC数字钥匙协议

 精品活动推荐 

从车端BLE浅谈CCC数字钥匙协议
从车端BLE浅谈CCC数字钥匙协议
从车端BLE浅谈CCC数字钥匙协议
从车端BLE浅谈CCC数字钥匙协议

从车端BLE浅谈CCC数字钥匙协议

 专业社群 

从车端BLE浅谈CCC数字钥匙协议

部分入群专家来自:

新势力车企:

特斯拉、合众新能源-哪吒、理想、极氪、小米、宾理汽车、极越、零跑汽车、阿维塔汽车、智己汽车、小鹏、岚图汽车、蔚来汽车、吉祥汽车、赛力斯......

外资传统主流车企代表:

大众中国、大众酷翼、奥迪汽车、宝马、福特、戴姆勒-奔驰、通用、保时捷、沃尔沃、现代汽车、日产汽车、捷豹路虎、斯堪尼亚......

内资传统主流车企:

吉利汽车、上汽乘用车、长城汽车、上汽大众、长安汽车、北京汽车、东风汽车、广汽、比亚迪、一汽集团、一汽解放、东风商用、上汽商用......

全球领先一级供应商:

博世、大陆集团、联合汽车电子、安波福、采埃孚、科世达、舍弗勒、霍尼韦尔、大疆、日立、哈曼、华为、百度、联想、联发科、普瑞均胜、德赛西威、蜂巢转向、均联智行、武汉光庭、星纪魅族、中车集团、赢彻科技、潍柴集团、地平线、紫光同芯、字节跳动、......

二级供应商(500+以上):

Upstream、ETAS、Synopsys、NXP、TUV、上海软件中心、Deloitte、奇安信、为辰信安、云驰未来、信大捷安、信长城、泽鹿安全、纽创信安、复旦微电子、天融信、奇虎360、中汽中心、中国汽研、上海汽检、软安科技、浙江大学......

人员占比

从车端BLE浅谈CCC数字钥匙协议

公司类型占比

从车端BLE浅谈CCC数字钥匙协议

原文始发于微信公众号(谈思实验室):从车端BLE浅谈CCC数字钥匙协议

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月26日22:51:20
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   从车端BLE浅谈CCC数字钥匙协议https://cn-sec.com/archives/3679088.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息