• CCC数字钥匙设计【NFC】 --车主配对流程介绍


    1、车主配对流程介绍

    车主配对流程可以通过车内NFC进行,若支持UWB测距,也可以通过蓝牙/UWB进行,本文主要介绍通过NFC进行车主配对的流程

    整个配对流程相对较为复杂,本文主要梳理整体的步骤流程,其中的每个细节流程未展开详细描述。

    车主配对流程通过手机端的Digital Key framework来控制的。Digital Key framework采用APDU命令来管理数字的配置,并通过SE进行保护。

    车端可以通过NFC的对应AID选中数字钥匙applet,通过对应的AID选择Digital Key framework(Phase2)或Digital Key applet(Phase3),具体如下图。

    配对总共有5个Phase。本文档主要对这5个Phase进行简单介绍。

    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、Phase0:准备阶段

    手机、车辆、车辆OEM服务器分别需进行如下准备:

    2.1 手机准备事项

    • 手机已经安装了数字钥匙的applet;

    • 手机已经为每个车辆OEM创建了对应的Instance CA;

    • 手机已根据车辆OEM partners列表更新Digital Key framework。

    • 手机已通过Digital Key framework获得Instance CA证书。该证书相关描述如下:

    applet_version和platform_information是颁发Instance CA证书时分配的不可变值。它可能不反映当前的applet_version或platform_information(例如,在applet或Secure Element平台升级的情况下)

    2.2 车辆准备事项

    产生车辆的公私钥vehicle.PKvehicle.SK

    准备好创建数字钥匙applet时所需要的信息

    2.3 车辆OEM服务器准备事项

    产生用于手机的paring password;

    产生用于车辆的password verifier和salt;

    并通过车辆OEM 专有的安全通道将password verifier和salt发送给车辆;

    3、Phase1:启动阶段

    手机通过如下方式收到密码,以启动车主配对

    1、 用户输入;

    2、 一个URL(详见6.3.7);

    3、 通过车企的APP;

    4、Phase2:First Session(Digital Key Framework)

    该阶段包含两次Transaction,均在车辆和手机Digital Key Framework之间执行。

    第一次Transaction主要包含如下内容:

    1) 协商协议版本、

    2) 手机与车端的认证、

    3) 车辆与手机通过SPAKE2+建立安全通道、

    4) 车辆将创建数字钥匙所需的所有数据发给手机,如车辆公钥证书。

    第二次Transaction主要包含如下内容:

    1) 车辆从手机端读取创建数字钥匙所需的所有数据,并进行验证,

    2) 若验证通过,则车辆存储手机的公钥。

    5、Phase3:Second Session(Digital Key applet)

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

    6、Phase4:收尾阶段,与KTS交互

    该步骤进行第二次标准交互,type=8(见表9-1)。之后读取并验证KTS Receipt,提供用于钥匙分享的朋友防盗器令牌。

    7、总结

    将整个NFC配对流程汇总在一起,整理如下图:

  • 相关阅读:
    网络面试-0x08如何理解CDN?
    Maven 和 Gradle 官方文档及相关资料的网址集合
    破解tomcat密码并上传webshell
    大学网课搜题公众号搭建教程(内含接口)
    【Jackson】自定义注解结合Jackson
    Django建立mysql数据库,和使用navicat连接mysql数据库
    【树莓派/入门】1.69inch LCD屏幕的连接与测试
    Java关键字、转义字符与运算符优先级
    如何将gif变成视频?3个转换方法
    十四、流式编程(2)
  • 原文地址:https://blog.csdn.net/zzx3111/article/details/133465095