對比案應(yīng)用模式固定,調(diào)試簡單,MCU主控端只需要移植對稱加密算法和簡單的加密操作即可,不需對主控MCU端原有程序做大的改動。同時也不需要用戶了解加密芯片內(nèi)部運(yùn)行流程,因此調(diào)試周期短,研發(fā)投入小。凌科芯安公司提供相應(yīng)的Demo例程,用戶直接移植即可使用。 對比認(rèn)證方案實(shí)現(xiàn)的步驟如下: - 主控MCU與加密芯片端分別預(yù)置安全密鑰Key1、Key2(相同的3DES密鑰)
- MCU與加密芯片端預(yù)置相同的初始向量Iv(8字節(jié))
- MCU端發(fā)送附帶16字節(jié)隨機(jī)數(shù)Rand1(密文傳送)指令,請求加密芯片產(chǎn)生挑戰(zhàn)數(shù)據(jù)
- 加密芯片端使用Key2解密指令數(shù)據(jù)得到Rand1
- 加密芯片端產(chǎn)生16字節(jié)隨機(jī)數(shù)Rand2
- 計(jì)算D1,D1 = (Rand1 ^ Rand2)
- 生成挑戰(zhàn)數(shù)據(jù)D, D= D1 || Rand2
- 計(jì)算密文C,C =3DES_EncCBC(Iv,key2, D)。并將C返回給MCU
- MCU端解密密文C,3DES_DecCBC(Iv,key1, C),截取Rand2
- MCU端計(jì)算D1’, D1’ = (Rand1 ^ Rand2)
- 如果 D’ == D 則認(rèn)證成功,否則認(rèn)證失敗
對比認(rèn)證流程如如下所示:
|