CCC数字钥匙设计【NFC】--通过NFC进行车主配对Phase3

2023-10-20 07:44

本文主要是介绍CCC数字钥匙设计【NFC】--通过NFC进行车主配对Phase3,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、车主配对流程介绍

车主配对可以通过车内NFC进行,若支持UWB测距,也可以通过蓝牙/UWB进行。通过NFC进行车主配对总共有5个Phase。本文档主要对Phase3进行介绍。

1) Phase0:准备阶段;

2) Phase1:启动流程;

3) Phase2:与NFC的第一个session(通过Digital Key framework);这里包含2次交易。

Transaction1:协商协议版本、执行SPAKE2、发送所有密钥数据给手机。

Transaction2:provides the creation attestation and certificate chain to the vehicle。

4) Phase3:与NFC的第二个session(通过Digital Key applet);

5) Phase4:收尾阶段,与KTS的交互。

2、Phase3:Second Session(Digital Key applet)

第二个NFC会话在车辆和Digital Key applet之间执行。第一次标准交易采用type=7,建立认证安全通道,之后由手机端 发起Tracking Key Request。

Figure 6-8: Owner Pairing Flow – Phase 3: Second NFC Session

2.1 Step1-2选择Digital Key applet

当手机和车内NFC读卡器通信时,车内NFC读卡器通过SELECT命令,发送对应的AID选中Digital Key applet

2.2 Step3-12标准交互

车辆应选择Digital Key applet,并执行标准交易【步骤3-6,type=7(见Table 9-1)】。

如果车辆没有按照Figure 6-3(NFC Owner Pairing Flow Phase2)步骤13所示的方式写入opaque attestation(即车辆没有发送 write DATA命令),则车辆应先将opaque attestation写入private mailbox。

车辆通过WRITE_DATA(attestation)告知手机,手机的证书已在车端加载完成。

如果需要immobilizer token并从车辆中取回,则需要在Digital Key applet中将其写入车主数字钥匙的confidential mailbox中。

为了将适当的数据结构写入confidential and private mailboxes,车辆应使用EXCHANGE命令和适当的参数来:

  • 如果还没有写入opaque attestation,则将带有5F5Ah标记和长度的opaque attestation写入private mailbox中的KeyAtt字段

  • 将车主的防盗令牌(immobilizer token)写入confidential mailbox(如果从车辆中检索到防盗令牌)

  • 将槽位标识符位图写入private mailbox(conditional)

  • 将车主槽标识符写入private mailbox的槽标识符列表(conditional)

  • 将车辆OEMproprietary data structure(专有数据结构)写入private mailbox

  • 将signaling bitmap写入private mailbox,以表示上述数据结构的更新

  • 将用于共享的immobilizer tokens写入confidential mailbox(如果从车辆中检索到immobilizer tokens,并且车辆OEM未实施KTS)(optional)

2.3 Step13-14CONTROL FLOW

车辆应发送CONTROL FLOW命令,以表明所有数据已成功写入邮箱。且P2参数设置如下:

P2= 81h,向Digital Key applet表示车辆已完成Phase3的车主配对。

在第三阶段结束时,如果从车辆中检索到immobilizer tokens,则应在车主手机中提供车主immobilizer tokens并且钥匙可能被车辆跟踪,也可能尚未被车辆跟踪。

2.4 Step15Key Tracking Request

如果标准交互成功,车主手机将发送异步消息,将车主密钥注册到KTS。

车辆的密钥登记是可选的。如果车辆也试图注册密钥,则可能发生竞态条件。因此,不建议使用车辆密钥登记。

当标准交互失败时,手机不会向KTS服务器发送key tracking request。

手机将Instance CA证书、数字钥匙证书等信息发送到KTS服务器具体详见表6-2中列出的数据元素。

KTS服务器发送Key Tracking Response给到手机,所有Key Tracking Response的参数不得以TLV格式提供,具体参数如下表:

2.5 Step16Configuration of the Contactless Transaction

在标准交互中有两个选项可以访问mailbox数据:

  • 在AUTH1响应中传输所需的数据

  • 使用EXCHANGE命令(快速交互强制使用)

如果从车辆接收到的WRITE DATA命令中包含4Ah和/或4Bh标签,则手机将在AUTH1响应中发送signaling bitmap和/或车主immobilizer token。

3、总结

该NFC车主配对Phase3阶段主要功能如下:

1、车辆通过AID选中Digital Key applet

2、通过NFC进行标准交易;

3、车辆通过发送CONTROL FLOW命令,指示当前阶段的结果。当车辆发送的P2= 81h,表示车辆已完成Phase3的车主配对;

4、手机通过Key Tracking Request将Instance CA证书、数字钥匙证书等信息发送给KTS服务器

5、KTS服务器通过Key Tracking Response将kts-Signature、slotIdentifier、confidentialMailboxData等信息返回给手机

这篇关于CCC数字钥匙设计【NFC】--通过NFC进行车主配对Phase3的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/245699

相关文章

Python调用Orator ORM进行数据库操作

《Python调用OratorORM进行数据库操作》OratorORM是一个功能丰富且灵活的PythonORM库,旨在简化数据库操作,它支持多种数据库并提供了简洁且直观的API,下面我们就... 目录Orator ORM 主要特点安装使用示例总结Orator ORM 是一个功能丰富且灵活的 python O

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解

《如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解》:本文主要介绍如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别的相关资料,描述了如何使用海康威视设备网络SD... 目录前言开发流程问题和解决方案dll库加载不到的问题老旧版本sdk不兼容的问题关键实现流程总结前言作为

SpringBoot中使用 ThreadLocal 进行多线程上下文管理及注意事项小结

《SpringBoot中使用ThreadLocal进行多线程上下文管理及注意事项小结》本文详细介绍了ThreadLocal的原理、使用场景和示例代码,并在SpringBoot中使用ThreadLo... 目录前言技术积累1.什么是 ThreadLocal2. ThreadLocal 的原理2.1 线程隔离2

Java数字转换工具类NumberUtil的使用

《Java数字转换工具类NumberUtil的使用》NumberUtil是一个功能强大的Java工具类,用于处理数字的各种操作,包括数值运算、格式化、随机数生成和数值判断,下面就来介绍一下Number... 目录一、NumberUtil类概述二、主要功能介绍1. 数值运算2. 格式化3. 数值判断4. 随机

Python利用PIL进行图片压缩

《Python利用PIL进行图片压缩》有时在发送一些文件如PPT、Word时,由于文件中的图片太大,导致文件也太大,无法发送,所以本文为大家介绍了Python中图片压缩的方法,需要的可以参考下... 有时在发送一些文件如PPT、Word时,由于文件中的图片太大,导致文件也太大,无法发送,所有可以对文件中的图

如何使用Spring boot的@Transactional进行事务管理

《如何使用Springboot的@Transactional进行事务管理》这篇文章介绍了SpringBoot中使用@Transactional注解进行声明式事务管理的详细信息,包括基本用法、核心配置... 目录一、前置条件二、基本用法1. 在方法上添加注解2. 在类上添加注解三、核心配置参数1. 传播行为(

Java实战之自助进行多张图片合成拼接

《Java实战之自助进行多张图片合成拼接》在当今数字化时代,图像处理技术在各个领域都发挥着至关重要的作用,本文为大家详细介绍了如何使用Java实现多张图片合成拼接,需要的可以了解下... 目录前言一、图片合成需求描述二、图片合成设计与实现1、编程语言2、基础数据准备3、图片合成流程4、图片合成实现三、总结前

在Mysql环境下对数据进行增删改查的操作方法

《在Mysql环境下对数据进行增删改查的操作方法》本文介绍了在MySQL环境下对数据进行增删改查的基本操作,包括插入数据、修改数据、删除数据、数据查询(基本查询、连接查询、聚合函数查询、子查询)等,并... 目录一、插入数据:二、修改数据:三、删除数据:1、delete from 表名;2、truncate