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