固件破解和抄襲已經(jīng)成為了一個(gè)龐大的產(chǎn)業(yè),對(duì)于電子設(shè)備方案商和物聯(lián)網(wǎng)硬件方案來說,核心算法和固件的固件保護(hù)與防抄板是最關(guān)鍵的一環(huán)。很多使用的是firmware本身的軟加密來實(shí)現(xiàn),但是由于密鑰保護(hù)并不安全,軟加密算法防護(hù)的安全性往往不可靠,軟算法的密鑰在通用存儲(chǔ)中,所以最佳的方式是基于專用的加密IC(即加密芯片)來進(jìn)行防抄板,固件保護(hù)設(shè)計(jì)。
用于防抄板固件保護(hù)或者物聯(lián)網(wǎng)認(rèn)證的加密IC一般會(huì)有兩個(gè)功能:
1. 如果設(shè)備是脫機(jī)運(yùn)行,需保護(hù)設(shè)備固件不被破解和抄襲,確保設(shè)備方案整體不被抄。
2.如設(shè)備是聯(lián)網(wǎng)的,則除了防抄板外,也需要考慮接入物聯(lián)網(wǎng)可執(zhí)行身份認(rèn)證核心功能,確保物聯(lián)網(wǎng)設(shè)備安全。不被克隆或入侵。
加密IC固件保護(hù)方案比較
目前來說行固件保護(hù)的方案是密碼算法握手和應(yīng)答認(rèn)證。有兩種密碼算法認(rèn)證方案:一種基于對(duì)稱加密的安全認(rèn)證保護(hù),另一種基于非對(duì)稱加密認(rèn)證保護(hù)。
對(duì)稱密碼加密固件保護(hù)流程如下:HOST向DEVICE發(fā)送一個(gè)隨機(jī)數(shù)random挑戰(zhàn)。設(shè)備通過密碼算法計(jì)算一個(gè)數(shù)字簽名,該簽名是密鑰和認(rèn)證的函數(shù),并發(fā)送回HOST。主機(jī)執(zhí)行相同的密碼運(yùn)算并對(duì)計(jì)算結(jié)果進(jìn)行比較。如果兩項(xiàng)運(yùn)算結(jié)果相同,則設(shè)備通過安全認(rèn)證。為了確保結(jié)果不被暴力破解,必須使用安全屬性高的函數(shù)和真隨機(jī)數(shù)發(fā)生器;SHA-256等安全雜湊函數(shù)或者AES等算法可滿足這些要求。這種應(yīng)答方式可使得設(shè)備在不泄露對(duì)稱密鑰的情況下證明自己密鑰的合法性。即使破解者攔截通信數(shù)據(jù),也無法接觸到認(rèn)證密鑰。
1. 基于對(duì)稱算法加密的加密認(rèn)證依賴于主機(jī)(HOST)和從DEVICE(加密芯片)之間的密鑰。如下圖所示(以MOD208加密芯片為例):
圖1: 對(duì)稱密鑰體系安全(來源MODSEMI)
非對(duì)稱密鑰加密認(rèn)證依賴于公鑰和私鑰。
基于非對(duì)稱加密的安全認(rèn)證依賴于兩個(gè)密鑰:私鑰和公鑰。只有被認(rèn)證的設(shè)備知道私鑰,而公鑰可透露給希望對(duì)設(shè)備進(jìn)行安全認(rèn)證的任何一方。與上文中討論的方法一樣,主機(jī)向設(shè)備發(fā)送挑戰(zhàn)(一段隨機(jī)數(shù))。設(shè)備根據(jù)質(zhì)詢和私鑰計(jì)算數(shù)字簽名,并將其發(fā)送給主機(jī)(如下圖,以MOD8ID加密芯片為例)。但此時(shí),主機(jī)使用公鑰對(duì)數(shù)字簽名進(jìn)行驗(yàn)證。用于計(jì)算數(shù)字簽名的函數(shù)擁有特定數(shù)學(xué)屬性至關(guān)重要。非對(duì)稱方法中最常用的函數(shù)是RSA和ECC(一般為ECDSA),目前IOT領(lǐng)域以ECC居多,后面將闡述為什么ECC的優(yōu)勢(shì)。同樣,設(shè)備也在不泄露密鑰情況下提交了自己知道密鑰的證明,即私鑰。
圖2,非對(duì)稱算法體系認(rèn)證架構(gòu)
為什么要用專用加密芯片
握手應(yīng)答加密認(rèn)證始終要求被認(rèn)證的對(duì)象持有相同密鑰。對(duì)稱加密方法中,該密鑰為主機(jī)和設(shè)備之間的共享密鑰;對(duì)于非對(duì)稱加密方法,該密鑰為私鑰。無論哪種情況,一旦密鑰泄露,質(zhì)詢-應(yīng)答式安全認(rèn)證就會(huì)失去保障。加密IC的一項(xiàng)基本特性是為密鑰和密碼提供強(qiáng)保護(hù),所以專用的加密IC有助于防范這種情況。
在加密芯片能夠安全的支持基于對(duì)稱或非對(duì)稱的固件保護(hù)方案,如MODSEMI的MOD208支持對(duì)稱加密,MOD8ID支持對(duì)稱與非對(duì)稱ECC加密體系。
認(rèn)證芯片:芯片是可配置但固定功能的器件,為實(shí)施質(zhì)詢-應(yīng)答安全認(rèn)證提供最經(jīng)濟(jì)的途徑,并且具有基本的加密操作。
安全加密芯片:在支持握手應(yīng)答安全認(rèn)證的基礎(chǔ)上,提供全面的密碼學(xué)功能,包括加密關(guān)鍵數(shù)據(jù)存儲(chǔ),身份認(rèn)證等。
加密芯片中,基于SHA-256或者AES算法的產(chǎn)品支持基于共享密鑰的安全認(rèn)證,具備專用的對(duì)稱加密算法引擎和密鑰存儲(chǔ)器,典型產(chǎn)品如MODSEMI的MOD208,這種方式的特點(diǎn)是高效快速,適用于一些模組類固件等對(duì)效率和資源要求比較高的應(yīng)用場(chǎng)景,如固件保護(hù),防抄板等。
基于ECDSA或者RSA的安全芯片使用私鑰/公鑰對(duì)(如下圖)。除了具備專用的加密算法引擎外,這些產(chǎn)品擁有板載存儲(chǔ)器。該存儲(chǔ)器是可配置的,可用于儲(chǔ)存經(jīng)過安全認(rèn)證的用戶數(shù)據(jù),比如安全配置,安全密鑰,認(rèn)證證書等等??梢詫?shí)現(xiàn)具備pki認(rèn)證體系的一系列功能。典型產(chǎn)品如MODSEMI的MOD8ID。
以MOD8ID加密芯片為例,它會(huì)提供ECC簽名驗(yàn)簽,AES加解密,密鑰安全存儲(chǔ),單調(diào)計(jì)數(shù)器,TLS,Secureboot,證書存儲(chǔ),線路加密傳輸?shù)雀黝惏踩?a target="_blank">接口功能。相關(guān)的安全機(jī)制與密鑰保護(hù)確保了整個(gè)系統(tǒng)具備一個(gè)安全的信任根?;灸馨褟拿摍C(jī)到聯(lián)網(wǎng)的設(shè)備的安全屬性提高到最高等級(jí)。適用于資源較為豐富,脫機(jī)或者可聯(lián)網(wǎng)等應(yīng)用場(chǎng)景。如物聯(lián)網(wǎng)安全認(rèn)證,高端固件保護(hù),生產(chǎn)管理等。
參考資料:MOD208用于固件保護(hù) https://www.modsemi.com/shows/11/12.html
MOD8ID加密芯片為物聯(lián)網(wǎng)設(shè)備提供端到端的安全性 https://www.modsemi.com/shows/11/11.html
審核編輯:湯梓紅
-
加密芯片
+關(guān)注
關(guān)注
2文章
110瀏覽量
23604 -
防抄板
+關(guān)注
關(guān)注
0文章
8瀏覽量
8217 -
固件保護(hù)
+關(guān)注
關(guān)注
0文章
1瀏覽量
1648
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論