MOD208加密芯片是模微半導(dǎo)體推出的一款用于電子設(shè)備反克隆/防抄板/嵌入式固件保護(hù)等功能的高安全專用加密芯片,其內(nèi)置防篡改NVM安全存儲和對稱密碼硬件引擎支持。MOD208的安全NVM可用于存儲密鑰和私有數(shù)據(jù)、安全加密讀/寫,支持機(jī)密數(shù)據(jù)與安全日志存儲,支持多種安全配置。這種新的安全技術(shù)大大增強(qiáng)了電子設(shè)備整體系統(tǒng)安全性。MOD208具有廣泛的防御機(jī)制,專門設(shè)計(jì)用于防止對設(shè)備本身的物理攻擊或?qū)υO(shè)備和系統(tǒng)之間傳輸?shù)臄?shù)據(jù)的邏輯攻擊。MOD208具有支持安全通信的I2C接口,可以方便快捷地與主機(jī)微控制器軟件集成。
MOD208涵蓋了許多類型的安全應(yīng)用程序所需的廣泛用例,其中包括::
? 安全下載和引導(dǎo)
身份驗(yàn)證和保護(hù)嵌入式固件
? 生態(tài)系統(tǒng)控制
OEM/原裝授權(quán)保護(hù)
配件與耗材保護(hù)
? 反克隆/防抄板
防止使用相同的BOM或盜版代碼進(jìn)行克隆復(fù)制
? 報(bào)文安全性
網(wǎng)絡(luò)節(jié)點(diǎn)的認(rèn)證、消息完整性和機(jī)密性(IoT)
MOD208參考設(shè)計(jì):
下圖說明了如何將MOD208與本地主機(jī)集成。
?MOD208芯片集成示意圖
注意:上拉電阻和Cvcc的值取決于目標(biāo)應(yīng)用電路和目標(biāo)I2C頻率。
MOD208示例程序:
相關(guān)的完整示例工程可以聯(lián)系MODSEMI FAE免費(fèi)獲取,示例程序包含驅(qū)動,庫,以及主程序代碼所有需要的功能。
MOD208的默認(rèn)i2c設(shè)備地址是0x64。(偏移后的IIC地址是0xC8)
主程序示例代碼如下:
intmain(void)
{
MSE_STATUSstatus;
/*Resetofallperipherals,InitializestheFlashinterfaceandtheSystick.*/
HAL_Init();
/*Configurethesystemclock*/
SystemClock_Config();
/*Initializeallconfiguredperipherals*/
MX_GPIO_Init();
/*Demo工程中創(chuàng)建了兩個(gè)Target,里面分別定義了I2C_HAL和I2C_EMUL,分別表示硬件I2C和軟件模擬I2C*/
#ifdefI2C_HAL
MX_I2C1_Init();
#endif
MX_USART1_UART_Init();
//串口輸出log:UART-TX
printf("%sn",STRING_HEADER);
/*大小端判斷:注意不同CPU大小端可能不一樣,部分主設(shè)備端驗(yàn)證用的API可能會計(jì)算錯(cuò)誤*/
IsBigEndian();
/*[0]init:I2C通信連接、測試(最關(guān)鍵的一步,I2C驅(qū)動移植請參考ecc_i2c.c[硬件I2C]或i2c_bitbang_stm32.c[模擬I2C])*/
status=mse_init(&cfg_mod208_i2c);
if(status!=MSE_SUCCESS)
{
printf("mse_init()failedwithret=0x%02Xrn",status);
gotoexit;
}
printf("initOK.rn");
/*出廠前個(gè)人化階段*/
/*[1]Loadconfiguration:加載配置并鎖定配置區(qū)(僅執(zhí)行一次,注意:鎖定后無法解鎖)*/
status=app_load_configuration();
if(status!=MSE_SUCCESS)
{
printf("APP-Loadconfigurationfailedrn");
gotoexit;
}
printf("LoadconfigurationOK.rn");
/*[2]WriteSlotData:生成密鑰、寫入密鑰及應(yīng)用配套數(shù)據(jù),鎖定數(shù)據(jù)區(qū)(鎖定后無法解鎖),前置條件:[1]*/
status=app_write_key();
if(status!=MSE_SUCCESS)
{
printf("APP-Writekeyfailedrn");
gotoexit;
}
printf("WritekeyOK.rn");
/*認(rèn)證階段*/
status=generate_device_mac();
/*[3]發(fā)起認(rèn)證,前備條件:[0][1][2]*/
if(status!=MSE_SUCCESS)
{
printf("APP-generatedevicemacfailedrn");
gotoexit;
}
/*[4]計(jì)算HostMAC*/
status=calculate_host_mac();
if(status!=MSE_SUCCESS)
{
printf("APP-calculatehostmacfailedrn");
gotoexit;
}
/*[5]比較認(rèn)證結(jié)果*/
compare_mac();
exit:
while(true)
{
}
}
? SHA hashing
? HMAC: Hashing Message Authentication Code method
-
嵌入式
+關(guān)注
關(guān)注
5046文章
18821瀏覽量
298584 -
加密芯片
+關(guān)注
關(guān)注
2文章
109瀏覽量
23530 -
參考設(shè)計(jì)
+關(guān)注
關(guān)注
1文章
88瀏覽量
16737
發(fā)布評論請先 登錄
相關(guān)推薦
評論