对比认证方案应用模式固定,调试简单,MCU主控端只需要移植对称加密算法和简单的加密操作即可,不需对主控MCU端原有程序做大的改动。同时也不需要用户了解加密芯片内部运行流程,因此调试周期短,研发投入小。凌科芯安公司提供相应的Demo例程,用户直接移植即可使用。
对比认证方案实现的步骤如下:
1. 主控MCU与加密芯片端分别预置安全密钥Key1、Key2(相同的3DES密钥)
2. MCU与加密芯片端预置相同的初始向量Iv(8字节)
3. MCU端发送附带16字节随机数Rand1(密文传送)指令,请求加密芯片产生挑战数据
4. 加密芯片端使用Key2解密指令数据得到Rand1
5. 加密芯片端产生16字节随机数Rand2
6. 计算D1,D1 = (Rand1 ^ Rand2)
7. 生成挑战数据D, D= D1 || Rand2
8.计算密文C,C =3DES_EncCBC(Iv,key2, D)。并将C返回给MCU
9. MCU端解密密文C,3DES_DecCBC(Iv,key1, C),截取Rand2
10. MCU端计算D1’,D1’ = (Rand1 ^ Rand2)
11. 如果 D’== D 则认证成功,否则认证失败
对比认证流程如如下所示: