1、SPAKE2+流程及SCP03通道介绍
SPAKE2+流程发生在CCC车主配对过程中的Phase2。
SPAKE2+流程为车辆和手机之间的数据交换建立了一个安全通道SCP03。
那这个SCP03通道是干啥的?
我们可以先简单的理解为:建立安全通道前,车辆和手机之间交互的APDU数据是明文,建立安全通道后,车辆和手机之间交互的APDU数据是密文。具体详细可参考文档《GPC_2.3_D_SCP03_v1.2_PublicRelease.pdf》,本文不展开详细描述。
该安全通道在整个RF复位期间保持为激活状态。即,虽然在车主配对过程中的某些步骤,NFC会关闭/重启,但该安全通道一直保持在激活状态。
那哪些情况下,这个安全通道会被关闭?
发生如下任意一种情况时,则该安全通道会被关闭:
1) 当发送成功的OP CONTROL FLOW命令(如Figure6-3中的步骤17),
2) 或,当发送错误的OP CONTROL FLOW命令,
3) 或,当SPAKE2+流程(Figure6-4)由于任何异常导致的终止,
4) 或,当APDU命令解密错误
5) 或,当APDU命令中的MAC值是错误的。
当车辆尚未准备好进行车主配对时,应使用OP CONTROL FLOW中止并向用户提示情况,如preconditions for owner pairing not fulfilled (未满足车主配对的前提条件)。
2、CCC SPAKE2+流程
CCC标准中关于SPAKE2+流程如下图,下面详细讲解下这个SPAKE2+流程,主要讲解流程,对相关算法暂不做深入解析。