CCC数字钥匙设计 --数字钥匙数据结构

1、数字钥匙是什么?

汽车数字钥匙,将传统实体钥匙数字化,用卡片、手机等智能设备来做数字钥匙的载体。

从而实现无钥匙进入/启动、为他人远程钥匙授权、个性化的车辆设置等功能。

目前市场上流行的数字钥匙方案是通过NFC、BLE、UWB通信技术。

1) CCC1.0: NFC

2) CCC2.0:NFC + BLE(NFC + RKE功能)

3) CCC3.0:NFC + BLE+UWB (NFC + RKE功能 + PEPS和定位相关功能)

数字钥匙将传统实体钥匙数字化。简单的来想,就是将传统实体钥匙转化为一连串与钥匙相关的数据,分别存在于手机、车辆、车端服务器等。

首先数字钥匙,从本质上来讲,是一个与手机和车辆绑定的证书和密钥。

那具体数字钥匙包含哪些数据信息?怎么存储?下面通过数字钥匙在手机端的数据结构展开描述。

数字钥匙的相关信息是存储在手机SE芯片中的Applet中,即下图的Digital Key Applet中。

Digital Key Applet Instance承载了手机执行数字钥匙服务所需的所有数据。包含所有的数字钥匙和Instance CAs。

车主数字钥匙仅由Digital Key Structure组成。

朋友数字钥匙由Digital Key Structure和Attestation部分组成。

Digital Key Structure存储在Applet intance中,包含一个公钥/私钥对、一个private邮箱、一个confidential邮箱和其他元素。下面详细展开描述一下Digital Key Structure。如图4-2所示。

2、Digital Key Structure

2.1 Vehicle Identifier

Vehicle Identifier,即车辆标识符。唯一标识数字钥匙所关联的车辆。

每个车辆OEM的车辆标识符是唯一的。

车辆标识符与汽车工业中使用的VIN不相同。

它是由车辆在非接触式交易过程中传输的。

2.2 Endpoint Identifier

Endpoint Identifier,即端点标识符。用于手机内部钥匙管理。

如CCC规范第15节描述,“endpoint_identifier”在创建钥匙时使用。

该标识符反映在Digital Key Certificate [H]的subject字段中,也称为“Digital Key Endpoint Certificate”。

我个人的理解是一个endpoint,即对应手机端的一把数字钥匙。

手机根据CCC规范附录B.2中给出的规则创建Endpoint Identifier。

2.3 Digital Key Identifier(也叫keyID)

Digital Key Identifier,数字钥匙标识符。

所有的钥匙都由其在车辆OEM服务器和手机OEM服务器中的Digital Key Identifier(keyID)来标识。所以数字钥匙标识符应该是唯一的。

根据X.509证书定义,该元素在CCC规范的第14章中被命名为““subject key identifier”。它是手机公钥上的SHA-1哈希值(可参见【ISO/IEC 10118-3 Hashfunctions - Part 3: Dedicated hash-functions】和【FIPS PUB 180-4: Specifications for the Secure Hash Standard – 2015】)。详见CCC规范附录B.2。

2.4 Slot Identifier

Slot Identifier,槽标识符。车辆提供给车主手机的一个值,用于在本地识别所使用的钥匙。

该值在非接触式交易中传输。

在共享密钥时,车主手机或车辆OEM服务器向朋友手机提供一个槽标识符值,用于创建朋友钥匙,并在适用的情况下识别相关的immobilizer token。

2.5 Instance CA Identifier:

Instance CA Identifier,实例CA标识符。

指对数字钥匙进行签名的Instance CA。它是由手机在Instance CA创建时分配的。

2.6 Key Options:

Key Options,钥匙选项。

指示该钥匙允许执行哪些transaction(快速、标准)。

请注意,这些选项不是访问权限。

2.7 Device Public Key:

Device Public Key,手机公钥。(也称为device.PK and endpoint.PK)。、

在标准transaction中使用。

手机公钥必须是全局唯一的它在endpoint创建时生成并存储在车辆中。

它由CCC规范第15节中endpoint证书的“subjectPublicKey”字段表示。

请注意,Device.Enc.PK不同于Device Public Key。

类似地,device private key,device.SK,endpoint.SK在CCC规范中可互换使用。

总结,在CCC规范中:

Device Public Key = device.PK = endpoint.PK

Device Private Key = device.SK = endpoint.SK

2.8 Vehicle Public Key:

Vehicle Public Key,车辆公钥,也叫Vehicle.PK and vehicle_pk。

在标准transaction中使用。

车辆公钥对于与同一辆车关联的所有手机是相同的。

2.9 Authorized public keys:

Authorized public keys,授权公钥。

由车辆提供,并在钥匙共享时,用作朋友公钥验证链中的根。

在1.2.1版本的规范中补充说明,车辆应仅包含一个单一的authorized_PK,额外的授权公钥的使用留到将来的应用中。

2.10 Private Mailbox:

Private Mailbox,私有邮箱。

该邮箱本质上是一个buffer缓冲区。一个用于在数字钥匙交易期间,允许相关元素传输到车辆或从车辆中传输的buffer(具体详见CCC规范第4.3.1节)。

2.11 Confidential Mailbox:

Confidential Mailbox,机密邮箱。

本质也是一个buffer缓冲区,一个允许在数字钥匙交易期间,将需要机密保护的元素传输到车辆或从车辆中传输的buffer(具体详见CCC规范第4.3.2节)。

3、Attestation package(仅朋友钥匙)

1) 在车辆接受手机公钥之前,数字钥匙的所有相关数据元素,需由车辆在车主配对过程中进行验证(详见CCC规范第6章)。

2) 在对朋友手机公钥签名之前,数字钥匙的所有相关数据元素,需由车主手机在钥匙共享过程中进行验证(详见CCC规范第11章)。

在对朋友的公钥签名之前,车主会验证朋友的公钥对是否已在符合条件的SE上创建。

验证链从车主Digital Key structure中的authorized public key开始该公钥已经提供并受到车辆的信任。例如,车辆OEM CA公钥(详见CCC规范第16.8节)。

attestation package(仅用于朋友钥匙)中提供的元素包含如下:

3.1 Friend Public Key:

Friend Public Key,朋友手机公钥。

朋友手机生成公钥和私钥。在钥匙共享过程中,该公钥与attestation package中的其他字段一起由车主手机签名

3.2 Profile:

Profile,权限配置。

由共享钥匙的发送方选择(Selected by the sender of a Shared Key)。需符合车辆OEM政策,并经整车验证。

不符合车辆OEM策略设置的数字钥匙将被车辆拒绝(即,它们的公钥不被接受)。车辆OEM政策不在CCC规范范围内。

3.3 Sharing password information:

包含车辆的种子,用于从车主配对时建立的shared secret 生成Sharing password。

Contains the seed for the vehicle to generate a sharing password from the shared secret established at owner pairing.

该Sharing password还包含:车主手机策略是否要求(或不要求) ,车辆在激活共享数字钥匙之前,向朋友请求Sharing password的信息。

It also contains the information regarding whether the owner device policy requires (or not) that the vehicle requests a sharing password to the friend before activating the shared Digital Key.

3.4 Validity start date:

Validity start date,起始有效时间。

分享的钥匙最早可以使用的日期和时间。

3.5 Validity end date:

Validity end date,结束有效时间。

该钥匙最晚可以使用的日期和时间。

3.6 Key friendly name:

Key friendly name,朋友钥匙名字

该字段包含朋友钥匙的名字,在数字分享时时,应该定义该名字(具体详见CCC规范第11节)。

出于隐私原因,该名字不应该包含私人信息,如朋友的全名。

3.7 补充描述

1) 在数字钥匙的有效期内,除private和confidential邮箱外,其他的数字钥匙元素均不可更改。

2) 数字钥匙可以创建、终止和删除。

3) 在“终止”状态下,它是不可用的,但仍然能够提供终止证明,直到它最终从内存中删除。

4) 数字钥匙的状态由applet内部管理。

4、总结

1) 汽车数字钥匙,即将传统实体钥匙数字化。

2) 数字钥匙,从本质上来讲,是一个与手机和车辆绑定的证书和密钥。然后将这些证书&密钥分别存在于手机、车辆、车端服务器等。

3) 车主数字钥匙仅由Digital Key Structure组成。。

4) 朋友数字钥匙Digital Key StructureAttestation部分组成。

5) Digital Key Structure由5个Identifier(Vehicle Identifier、Endpoint Identifier、Digital Key Identifier、Slot Identifier、Instance CA Identifier)3个public key(Device Public Key、Vehicle Public Key、Authorized public keys)2个mailbox(Private Mailbox、Private Mailbox)、KeyOptions11个元素组成。

6) Attestation(仅用于朋友钥匙)Friend Public Key、Profile、Sharing password information、Validity start date、Validity end date、Key friendly name6个元素组成。

7) 车主数字钥匙,在有效性和访问权限方面没有任何限制,而朋友数字钥匙通过引入ProfileValidity start dateValidity end date等参数,在钥匙有效性和访问权限上可以做一些配置

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/135152.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【数据库开发】DataX开发环境的安装部署

文章目录 1、简介1.1 DataX简介1.2 DataX功能1.3 支持的数据通道 2、DataX安装配置2.1 DataX2.2 Java2.3 Python2.4 测试 3、DataX Web安装配置3.1 mysql3.2 DataX Web3.2.1 简介3.2.2 架构图3.2.3 依赖环境3.2.4 安装 结语 1、简介 DataX是阿里云DataWorks数据集成的开源版本。…

考研分享第2期 | 中央财经大学管理科学跨考北大软微金融科技406分经验分享

一、个人信息 本科院校:中央财经大学 管理科学与工程学院 管理科学专业 上岸院校:北京大学 软件与微电子学院 金融科技专业硕士 考试科目: 初试:思想政治理论 英语一 数学二 经济学综合 面试考察范围广,包括英语自…

深度学习1【吴恩达】

视频链接:1.5 关于这门课_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1FT4y1E74V?p5&spm_id_frompageDriver&vd_source3b6cdacf9e8cb3171856fe2c07acf498 视频中吴恩达老师所有的话语收录: 机器学习初学者-AI入门的宝典 (ai-start.c…

CorelDRAW2023中文免费版矢量图设计软件

设计工作经验丰富的人一定对比过多种设计软件,在对众多矢量图设计软件进行对比之后,多数资深设计师认为CorelDRAW的专业性、便捷性以及兼容性的综合表现更好,而且软件还配置了海量艺术笔,这让工作成果更为出众,因此更愿…

Clickhouse学习笔记(8)—— 建表优化

数据类型 时间字段 建表时能用数值型或日期时间类型(DateTime)表示的字段就不要用字符串 因为clickhouse进行分区时一般使用时间字段来进行分区,而将时间字段使用DateTime表示,不需要经过函数转换处理,执行效率高、…

[Android]_[初级]_[配置gradle的环境变量设置安装位置]

场景 在开发Android项目的时候, gradle是官方指定的构建工具。不同项目通过wrapper指定不同版本的gradle。随着项目越来越多,使用的gradle版本也增多,导致它以来的各种库也增加,系统盘空间不足,怎么解决? 说明 grad…

.Net-C#文件上传的常用几种方式

1.第一种上传方式,基本通用于.net所有的框架 [HttpPost][Route("Common/uploadFile1")]public string uploads(){HttpContextBase context (HttpContextBase)Request.Properties["MS_HttpContext"];//获取传统contextHttpRequestBase request context.Re…

CUMT-----Java课后第六章编程作业

文章目录 一、题11.1 问题描述1.2 代码块1.3 运行截图 二、题22.1 问题描述2.2 代码块2.3 运行截图 一、题1 1.1 问题描述 (1)创建一个用于数学运算接口,算数运算加、减、乘和除都继承该接口并实现具体的算数运算。(2)编写一个测试类进行运行测试。 1.2 代码块 p…

服务器中了locked勒索病毒怎么处理,locked勒索病毒解密,数据恢复

近几年,网络应用技术得到了迅速发展,越来越多的企业开始走向数字化办公,极大地为企业的生产运营提供了帮助,但是网络技术的发展也为网络安全埋下隐患。最近,locked勒索病毒非常嚣张,几乎是每隔两个月就会对…

美团2024届秋招笔试第二场编程真题-小美的数组构造

分析:暴力角度看,因为数组a和b总和一样,所以实际上是将总和m划分为n个数字,且每个数字都和a数组不一样的方案数。当然会超时。从数据角度看,平方级别算法是可以的。 其实用动态规划的四步法分析起来还是很简单的&…

Python实战 | 使用 Python 和 TensorFlow 构建卷积神经网络(CNN)进行人脸识别

专栏集锦,大佬们可以收藏以备不时之需 Spring Cloud实战专栏:https://blog.csdn.net/superdangbo/category_9270827.html Python 实战专栏:https://blog.csdn.net/superdangbo/category_9271194.html Logback 详解专栏:https:/…

EXCEL中将UTC时间戳转为日期格式(精确到秒)

UTC时间戳的格式通常是一个整数,表示从1970年1月1日00:00:00 UTC到当前时间的总秒数。它可以以秒或毫秒为单位表示。例如,如果当前时间是2023年3月17日 12:34:56 UTC,则对应的UTC时间戳为1679839496(以秒为单位)或1679…

通过防火墙禁止访问指定网站(个人电脑,Windows系统)

背景 近年沉迷B站视频不能自拔,使用了诸多手段禁用,都很容易破戒。为了彻底杜绝B站的使用,决定手动进行设置。在ChatGPT和文心一言提问,得到了以下四种方法(按个人认为的戒断水平由低到高排序):…

分享10个地推拉新和网推拉新app推广接单平台,一手接任务平台

文章首推平台:”聚量推客“ 官方邀请码000000 从事地推、拉新、推广这一类型的工作,是一定要有稳定的一手接单平台的,因为在瞬息万变的拉新推广市场中,很多APP应用的推广拉新存在周期性,有可能这个月还在的拉新项目&a…

STM32F407: CMSIS-DSP库的移植(基于库文件)

目录 1. 源码下载 2. DSP库源码简介 3.基于库的移植(DSP库的使用) 3.1 实验1 3.2 实验2 4. 使用V6版本的编译器进行编译 上一篇:STM32F407-Discovery的硬件FPU-CSDN博客 1. 源码下载 Github地址:GitHub - ARM-software/CMSIS_5: CMSIS Version 5…

开发知识点-Vue-Electron

Electron ElectronVue打包.exe桌面程序 ElectronVue打包.exe桌面程序 为了不报错 卸载以前的脚手架 npm uninstall -g vue-cli安装最新版脚手架 cnpm install -g vue/cli创建一个 vue 随便起个名 vue create electron-vue-example (随便起个名字electron-vue-example)进入 创建…

中国国内机场信息集成系统厂家现状情况

机场信息集成系统在本世纪初进入中国市场,早期的信息集成系统提供商以外企为主,后来国内企业迅速发展。但在2008年前,民航总局设立了机场信息系统的入门门槛,也就是需要民航空管工程及机场弱电系统建设资质要求,该要求…

MySQL 约束特殊查询

MySQL 约束&特殊查询 文章目录 MySQL 约束&特殊查询1. 数据库约束1.1 约束类型1.2 NULL约束1.3 NUIQUE:唯一约束1.4 DEFAULT:默认值约束1.5 PRIMARY KEY:主键约束1.6 FOREIGN KEY:外键约束1.7 CHECK约束 2. 表的关系2.1 一…

IPV4过渡IPV6的关键技术NAT(Network AddressTranslation,网络地址转换)

文章目录 NAT的由来NAT基本工作机制NAT技术的分类推荐阅读 NAT的由来 随着物联网、工业互联网、5G的快速发展,网络应用对IP地址的需求呈现出爆炸式的增长。 然而,早在2011年,ICANN就发布公告称最后五组IP地址已分配完毕,已无IPv4…

常微分方程

什么是常微分方程: 未知函数为单变量(一元)函数 例1 设有温度为100摄氏度的物体放置在20摄氏度的空气冷却,求物体温度随时间 变化 的规律。 解:设t时刻物体温度为T 对两边求共积分 设比例系数为k>0 令C, 微分方程: 联系着…