該方案安全性?xún)H次于算法移植方案,高于市面上常見(jiàn)的對(duì)比認(rèn)證方案,調(diào)試簡(jiǎn)單,不需要對(duì)主控MCU端原有程序做太大的改動(dòng),調(diào)試周期和研發(fā)投入相對(duì)較小。無(wú)法直接找到比對(duì)點(diǎn),程序執(zhí)行中沒(méi)有絕對(duì)的對(duì)錯(cuò)判斷。該方案適用于實(shí)時(shí)性要求高,MCU端無(wú)合適代碼移植到安全芯片內(nèi)部,但又需要高安全防護(hù)的項(xiàng)目。提供相應(yīng)的Demo例程,用戶(hù)直接移植即可使用。 參數(shù)保護(hù)方案實(shí)現(xiàn)的步驟如下: 1、加密芯片與主控MCU端分別預(yù)置安全密鑰Key1、Key2(相同的3DES密鑰); 2、加密芯片端預(yù)置用戶(hù)產(chǎn)品的相關(guān)參數(shù)Data存儲(chǔ)時(shí)為L(zhǎng)v格式。可存入?yún)?shù)的大小由“macro.h”中的 “ParamData_Size”宏決定; 3、MCU端發(fā)送附帶16字節(jié)隨機(jī)數(shù)Rand1(密文傳送)的讀指令讀取參數(shù); 4、加密芯片端產(chǎn)生16字節(jié)隨機(jī)數(shù)Rand2,生成TempKey=Rand1^Rand2; 5、使用Key1對(duì)Rand2加密產(chǎn)生C1,同時(shí)使用TempKey對(duì)需要讀出的參數(shù)Data加密得到C2。MCU端傳出密文C, C=C1 || C2; 6、加密芯片端接收到密文C后,使用Key2對(duì)C1部分解密得到Rand2; 7、MCU端計(jì)算TempKey,TempKey=Rand1^Rand2; 8、使用TempKey對(duì)C2部分進(jìn)行解密得到所需要使用的參數(shù)數(shù)據(jù)Data。 ![]() |