汽车数字钥匙设计01:CCC系统架构

2023-10-21 09:30

本文主要是介绍汽车数字钥匙设计01:CCC系统架构,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

CCC规范3.0主要说明了数字钥匙的生态系统,涉及到UWB,BLE,NFC等技术。

该规范主要包含如下三个部分:

1) 标准化的数字钥匙小程序

2) 标准化的车辆访问协议

3) 可扩展的架构(支持不同整车厂和不同手机厂商)

第一部分关注手机端的标准化、第二部分关注车辆端的标准化、第三部分关注整体的扩展性。

一、概述

1) 数字钥匙系统使用非对称加密来相互验证车辆和手机。手机仅向已匹配车辆显示其身份。

2) 通过手机与车辆的配对来相互交换公钥。然后,车主可以通过签署朋友和家人手机的公钥,来授权朋友和家人使用数字钥匙。

3) 该数字系统执行时,所有相关功能可完全离线工作

  a) 相关功能:例如,车主配对、使用数字钥匙解锁/闭锁车辆;

  b) 完全离线工作:即,车辆或手机不需要连接服务器。

二、高层级功能

数字系统需符合以下高层级要求:

1) 等同于或优于物理钥匙的安全性和隐私性

2) 车主设备(如手机)和车辆的配对

3) 车主和朋友之间的钥匙分享

4) 跨设备和车辆OEM的互操作性即不同手机设备连接到不同整车厂的车辆,都能互相兼容

5) 在同一个手机上,同时支持不同车辆 OEM 的多个数字钥匙。即,一把手机上可以同时拥有多个数字钥匙,用来控制不同整车厂的车辆

6) 由整车厂来控制数字密钥的发行、控制数字钥匙的相关政策。

7) 针对主动/被动窃听者进行隐私保护。

三、系统架构

数字钥匙生态系统由多个角色组成,这些角色如下:

1) 车辆(Vehicle) :

  a) 门把手NFC读卡器(Door NFC Reader);

  b) 中控NFC读卡器;(ConsoleS NFC Reader);

  c) BLE模块(BLE Module);

  d) UWB模块(UWB Module);

2) 车辆OEM服务器(Vehicle OEM Server);

3) 车主手机(Owner Device):

  a) NFC模块(NFC Module);

  b) BLE模块(BLE Module);

  c) UWB模块(UWB Module);

4) 车主手机OEM服务器(Owner Device OEM Server);

5) 朋友手机(Friend Device);

6) 朋友手机OEM服务器(Friend Device OEM Server);

7) 密钥追踪服务器(Key Tracking Server

图1:数字钥匙生态系统框图

上图虚线部分链路不在该文档范围内,故CCC规范重点定义的是实线部分的交互。

1) 链路(1):车端通过远程链路(1)链接到整车厂服务器。该链接提供了一个安全的通信通道,并且完全由汽车OEM控制。

2) 链路(3)、(4)、(11)、(12):车端配有NFC 读卡器和可选的蓝牙/UWB模块用于与设备进行通信,以进行车主配对、车辆闭锁/解锁和发动机启动等功能。在NFC连接的情况下,通过链路(3)、(4)实现这些功能;或者在BLE/UWB连接的情况下,通过链路(11)、(12)实现这些功能。

3) 链路(2)、(6) 、(7)、(8):通过这几条链路,车主手机可以与朋友手机共享数字钥匙

    i. 链路2,7:车主/朋友)手机OEM服务器负责管理数字钥匙小程序的生命周期并通过(2) / (7)更新车主/朋友手机中的必要证书。它可以在手机丢失或被盗时提供暂停、恢复和擦除数字钥匙的服务。

    ii. 链路6,8:汽车OEM服务器和(车主/朋友)手机OEM服务器之间的通信链路(6)和(8)用于交换服务器的证书、密钥共享、密钥跟踪、密钥终止和通知

4) 链路(5):汽车OEM服务器管理用户账户及 ID&V (Identification and Verification of User Identity)。可通过链路5连接到可选的密钥跟踪服务器 ,以注册车辆的所有已发行数字钥匙,从而保护存储信息的隐私

5) 链路(10):车主手机可以使用汽车OEM服务器的专有应用程序界面,通过链路10直接与汽车OEM通信。

6) 链路(9):同样,朋友手机也可以使用汽车OEM服务器的专有应用程序接口,通过链路9直接与汽车OEM 服务器通信 。

四、其他说明:

1) 车主手机OEM服务器不直接连接到其他朋友手机OEM服务器。

2) 在该数字钥匙系统中,车端必须有NFC功能,而BLE/UWB功能是可选的无论使用NFC还是BLE/UWB,车端必须实现车主配对、车辆解闭锁、引擎启动等功能。

3) 车主手机可定义适当的访问配置文件,并且可以在不再需要共享数字钥匙时终止共享数字钥匙。

4) 朋友手机可以托管车主共享的数字钥匙,但不能与任何其他设备共享相同的数字钥匙。即朋友手机不能再次分享该钥匙给其他设备

5) 所有符合条件的手机都需包含经过认证的 SE 和 NFC 功能使它们能够与车辆通信。

五、备注

如下说明,以方便CCC规范阅读与理解。

1) device:规范文档中很多地方用到device这个词,在2.4.7章节还特地展开了详细描述。我的理解是大部分情况下, device指的就是手机等智能钥匙设备。为方便理解,统一翻译成“手机”

2) owner: 规范文档中很多地方用到owner这个词,指的是“车主”。

微信号:耐思时刻           

## 一起每天进步一点点 ##

这篇关于汽车数字钥匙设计01:CCC系统架构的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Python实现特殊字符判断并去掉非字母和数字的特殊字符

《Python实现特殊字符判断并去掉非字母和数字的特殊字符》在Python中,可以通过多种方法来判断字符串中是否包含非字母、数字的特殊字符,并将这些特殊字符去掉,本文为大家整理了一些常用的,希望对大家... 目录1. 使用正则表达式判断字符串中是否包含特殊字符去掉字符串中的特殊字符2. 使用 str.isa

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Java异常架构Exception(异常)详解

《Java异常架构Exception(异常)详解》:本文主要介绍Java异常架构Exception(异常),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. Exception 类的概述Exception的分类2. 受检异常(Checked Exception)

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

Linux系统之dns域名解析全过程

《Linux系统之dns域名解析全过程》:本文主要介绍Linux系统之dns域名解析全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、dns域名解析介绍1、DNS核心概念1.1 区域 zone1.2 记录 record二、DNS服务的配置1、正向解析的配置

使用PyTorch实现手写数字识别功能

《使用PyTorch实现手写数字识别功能》在人工智能的世界里,计算机视觉是最具魅力的领域之一,通过PyTorch这一强大的深度学习框架,我们将在经典的MNIST数据集上,见证一个神经网络从零开始学会识... 目录当计算机学会“看”数字搭建开发环境MNIST数据集解析1. 认识手写数字数据库2. 数据预处理的

java字符串数字补齐位数详解

《java字符串数字补齐位数详解》:本文主要介绍java字符串数字补齐位数,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java字符串数字补齐位数一、使用String.format()方法二、Apache Commons Lang库方法三、Java 11+的St

Linux系统中配置静态IP地址的详细步骤

《Linux系统中配置静态IP地址的详细步骤》本文详细介绍了在Linux系统中配置静态IP地址的五个步骤,包括打开终端、编辑网络配置文件、配置IP地址、保存并重启网络服务,这对于系统管理员和新手都极具... 目录步骤一:打开终端步骤二:编辑网络配置文件步骤三:配置静态IP地址步骤四:保存并关闭文件步骤五:重