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