车辆数字钥匙ICCE标准和CCC标准的简单分析和比较

国内的车辆数字钥匙标准由智慧车联产业生态联盟主导编写,当前标准版本是Intelligent Car Connectivity Industry Ecosystem Alliance Digital Key System 2020 (ICCE 2020 )。 国际的车辆数字钥匙标准由Car Connectivity Consortium主导编写,当前版本有Car Connectivity Consortium Digital Key Technical Specification Release 2(CCC R2)和Car Connectivity Consortium Digital Key Technical Specification Release 3(CCC R3)两个版本。

以下论述基于个人的理解对当前的车辆数字钥匙ICCE和CCC标准各自的主要特点进行一个简单的分析和比较:

1、从系统构成来说,CCC标准和ICCE标准基本相似,系统都分成三大部分,后台,车辆,设备。
2、从无线通信方式上来说,CCC标准和ICCE标准基本相似,后台可通过广域网与车辆进行通信,同时后台可通过广域网的形式和设备通信,而设备和车辆之间的直接通信方式通常包括NFC,Bluetooth,UWB三种情况。
3、从采用的密钥体系来说,CCC标准和ICCE标准明显不同,ICCE 2020采用对称密钥体系,而CCC标准采用非对称密钥体系。
4、车辆对设备的定位功能,CCC标准和ICCE标准明显不同,CCC R3相对CCC R2的主要改进是增加蓝牙通讯功能以及增加UWB定位功能;CCC R3具备安全定位功能,安全定位功能需由蓝牙和UWB相配合,蓝牙负责安全通讯,配置UWB安全定位参数,实际定位由UWB来完成;基于当前可获取的资料,ICCE 2020系列标准仅对BLE定位进行了规范,车辆的蓝牙系统由一个Bluetooth LE Master和多个Bluetooth LE Anchor组成,Bluetooth LE Anchor用于定位。
5、车辆和设备的交易/认证功能,CCC标准和ICCE标准明显不同,CCC标准通过标准交易或快速交易来实现车辆和设备认证,ICCE通过所规定的密钥认证流程来实现车辆和设备认证,由于采用密钥体系的不同,CCC标准的双向认证过程可以是一个签名和验签的过程,同时还生成安全通道用于后续的数据的交换,而ICCE标准的密钥认证流程本质是基于对称密钥体系生成一个SessionKey用于双向认证和后续的加解密。
6、标准本身编写详细程度,CCC标准和ICCE标准明显不同,CCC标准规范是一个相对完整的详细的规范,对关键细节描述也相对完整,当前ICCE标准相对比较简单,个人理解ICCE标准对车主钥匙配对,朋友钥匙的第一次交易这些关键的流程在细节上并没有做出规范,各个厂家处理方式和理解不一致的情况会影响ICCE标准的实现和推广。

  • 13
    点赞
  • 71
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
你好!以下是按照自定义排序并生成Java字符串的Python代码: ```python data = { "id": "1000689", "clientVersion": 1, "eseSynced": False, "storageSynced": False, "keyType": "1", "name": "owner-name-01", "phone": "13800000001", "timeStart": 1689609600, "timeStop": 1721145600, "vin": "LASHTEST123934642", "approveStatus": "APPROVED", "authType": "13", "keyStatus": "ACTIVE", "storageId": "36f86f80-9942-49a3-aaa7-c4df7b196794", "storageType": "CYWALL", "appSynced": False, "carId": "111", "carLicense": "京A123456", "userId": "100001", "limitType": "1", "limitCounts": 0, "signerId": "100001", "cert": "404142434445464748494A4B4C4D4E4F0Bf87915658d6d4f322e0b3663e3dfa5504393b50bb7acbd30b292bba1f8e3010a6e4025a66c6b08aae8d05865f8b915ac1ae000f91142a2c3", "kcom": "5cc99726c67ace488752da754e486468", "krindex": "11", "svcuuid": "0000181A-0000-1000-8000-00805F9B34FB", "writeuuid": "00002A6E-0000-1000-8000-00805F9B34FB", "indicateuuid": "00002A6F-0000-1000-8000-00805F9B34FB", "mac": "null", "pin": "null", "validType": "SMS", "protocol": "ICCE", "u2fPassed": "false", "cardid": "61B3FCFC236BEE77db932d7152202bc7", "keyUid": "61B3FCFC236BEE77" } custom_order = [ "id", "clientVersion", "eseSynced", "storageSynced", "keyType", "name", "phone", "timeStart", "timeStop", "vin", "approveStatus", "authType", "keyStatus", "storageId", "storageType", "appSynced", "carId", "carLicense", "userId", "limitType", "limitCounts", "signerId", "cert", "kcom", "krindex", "svcuuid", "writeuuid", "indicateuuid", "mac", "pin", "validType", "protocol", "u2fPassed", "cardid", "keyUid" ] sorted_data = sorted(data.items(), key=lambda x: custom_order.index(x[0])) java_string = ''.join([f'"{k}":"{v}"' for k, v in sorted_data]) print(f"Java字符串: {java_string}") ``` 这段代码将按照自定义排序将字典的键值对进行排序,并将排序后的键值对生成Java字符串。请注意,Java字符串的生成是以双引号包裹键和值的。可以根据需要进行适当的修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值