Microchip的微控制器與安全元件相結(jié)合如何提供幫助?
微控制器中的不可變啟動(dòng)存儲(chǔ)器是任何通過安全啟動(dòng)和安全固件升級(jí)實(shí)現(xiàn)固件驗(yàn)證的應(yīng)用中非常重要的功能。最新的PIC24F低功耗微控制器(MCU)和高性能dsPIC33數(shù)字信號(hào)控制器(DSC)具有ICSP?寫禁止和CodeGuard? Security的閃存OTP,可實(shí)現(xiàn)不可變的安全啟動(dòng)。ICSP 寫禁止是一種訪問限制功能,激活后,通過外部編程器和調(diào)試器以及讀寫保護(hù)功能限制對(duì)所有閃存的訪問。激活后,ICSP 寫禁止功能可防止 ICSP 閃存編程和擦除操作,并使閃存的行為類似于一次性可編程 (OTP) 存儲(chǔ)器。CodeGuard 安全功能支持將閃存程序內(nèi)存分段為兩個(gè)具有不同權(quán)限的專用區(qū)域。第一個(gè)內(nèi)存區(qū)域是引導(dǎo)段,它保存實(shí)現(xiàn)固件驗(yàn)證例程的引導(dǎo)加載程序代碼。此引導(dǎo)段可以對(duì)自身和內(nèi)存的應(yīng)用程序區(qū)域的所有自寫進(jìn)行寫保護(hù)。CodeGuard 安全性與 ICSP 寫禁止功能的閃存 OTP 一起使引導(dǎo)加載程序不可變。正如我們之前提到的,我們必須記住,在當(dāng)前的上下文中,不可變并不意味著無法訪問或不可讀,但無法通過遠(yuǎn)程數(shù)字攻擊進(jìn)行修改。第二個(gè)內(nèi)存區(qū)域稱為保存應(yīng)用程序映像的常規(guī)段。
在 CodeGuard Flash 安全性的引導(dǎo)段中實(shí)現(xiàn)的固件驗(yàn)證碼(不允許更改)向利用 CryptoAuthlib 庫的安全元素發(fā)出 ECDSA 驗(yàn)證命令。來自加密身份驗(yàn)證系列信任平臺(tái)的 TrustFLEX ATECC608 安全元件配備了安全密鑰存儲(chǔ)和基于硬件的加密加速器,能夠在幾毫秒內(nèi)運(yùn)行 ECDSA 驗(yàn)證操作,并且它還將安全地保護(hù)將用于在代碼簽名和/或代碼摘要上執(zhí)行此加密功能的公鑰。公鑰現(xiàn)在存儲(chǔ)在安全元件的不可變安全內(nèi)存區(qū)域中,利用防篡改和側(cè)信道攻擊保護(hù)進(jìn)行物理保護(hù)。現(xiàn)在訪問和更改密鑰和代碼要困難得多。查看我們的軟件庫,了解MPLAB代碼配置器(MCC)支持的PIC24F MCU和dsPIC33 DSC,MPLAB?代碼配置器(MCC)是一個(gè)免費(fèi)的圖形編程環(huán)境,可生成無縫、易于理解的C代碼以插入到您的項(xiàng)目中。MCC 中的 CryptoAuthlib 庫簡(jiǎn)化了 TrustFLEX ATECC608 與 PIC24 或 dsPIC33 器件的接口,并可實(shí)現(xiàn)各種安全功能。您可以通過 MCC 16 位引導(dǎo)加載程序庫添加固件驗(yàn)證和安全固件升級(jí)功能。有關(guān)更多信息,請(qǐng)?jiān)L問我們的嵌入式安全設(shè)計(jì)中心,了解如何實(shí)施安全啟動(dòng)和 OTA。您還可以參考 ShieldsUP 安全網(wǎng)絡(luò)研討會(huì) #26:使用 dsPIC33 DSC、PIC24F MCU 和 ATECC608 器件簡(jiǎn)化安全應(yīng)用設(shè)計(jì)
MCU 和 ATECC608 TrustFLEX 之間的交易圖是怎樣的?
信任平臺(tái)設(shè)計(jì)套件(TPDS)軟件工具是開始使用Microchip安全元件的起點(diǎn)。打開 TPDS 時(shí),可以選擇用例和開發(fā)平臺(tái)。然后,該工具將詳細(xì)說明所選用例的實(shí)際事務(wù)圖。
例如,下面是經(jīng)典微控制器和 TrustFLEX ATECC608 之間的固件驗(yàn)證事務(wù)圖。它顯示了主機(jī)MCU如何計(jì)算固件摘要,將該摘要作為質(zhì)詢發(fā)送到安全元素,安全元素嘗試使用預(yù)先配置的公鑰以加密方式驗(yàn)證摘要+簽名,最后接收來自安全元素的響應(yīng)。您可以看到主機(jī)MCU用于與安全元件通信的實(shí)際CryptoAuthLib API調(diào)用,例如“atcab_secureboot_MAC”,以及對(duì)MCU和安全元件之間實(shí)際發(fā)生的情況的簡(jiǎn)單描述。
圖 1:使用 TrustFLEX ATECC2 的固件驗(yàn)證用例的信任平臺(tái)設(shè)計(jì)套件 V608 事務(wù)圖
在此方案中,該工具將引導(dǎo)您完成以下期間需要發(fā)生的情況:
- 原型制作階段:
非對(duì)稱密鑰對(duì)由工具生成用于原型設(shè)計(jì)
公鑰由 TPDS 再次通過您的筆記本電腦進(jìn)行配置,用于原型設(shè)計(jì)目的。對(duì)于生產(chǎn),Microchip提供安全密鑰配置服務(wù)
使用私鑰對(duì)代碼圖像進(jìn)行簽名,以創(chuàng)建代碼圖像的簽名
- 啟動(dòng)時(shí):
主機(jī)MCU計(jì)算摘要
主機(jī)MCU將摘要和簽名發(fā)送到安全元件
安全元件驗(yàn)證并響應(yīng)有效/無效
主機(jī) MCU 接收響應(yīng),指示固件的有效性
固件被授權(quán)在MCU中運(yùn)行
如果您的微控制器沒有 BootROM 功能,但您仍然想使用安全元件怎么辦?
現(xiàn)在想象一下,您的設(shè)計(jì)基于經(jīng)典的32位微控制器,例如SAMD21 ARM? Cortex? M0+,并且沒有BootROM功能。這是當(dāng)今絕大多數(shù)設(shè)計(jì)的情況,更換為新的微控制器涉及重新認(rèn)證成本和時(shí)間,而這些成本和時(shí)間并不總是負(fù)擔(dān)得起的。
在這種情況下,您需要假設(shè)您的微控制器代碼可以更改。如果從微控制器到安全元件的ECDSA驗(yàn)證命令可以更改,后果是什么?如果代碼仍然已簽名,并且您的微控制器內(nèi)沒有用于驗(yàn)證的密鑰,則可能會(huì)受到影響,但不會(huì)影響您的整個(gè)設(shè)備群(假設(shè)您使用的是公鑰基礎(chǔ)設(shè)施)。這是由于安全元件使您的公鑰保持隔離,它將保護(hù)隊(duì)列的其余部分。需要考慮的幾個(gè)問題可能包括:
是否值得花時(shí)間對(duì)代碼進(jìn)行逆向工程,以簡(jiǎn)單地關(guān)閉您必須物理訪問的設(shè)備?在大多數(shù)情況下,可能不會(huì)。這會(huì)影響設(shè)備隊(duì)列嗎?每個(gè)設(shè)備都必須物理訪問,這是不切實(shí)際的。從遠(yuǎn)程攻擊的角度來看,如果我們假設(shè)需要 OTA 更新來驗(yàn)證真正簽名的代碼并且代碼中沒有密鑰,則可能不會(huì)。
此外,您能否信任您的合同制造商,提供將驗(yàn)證您的代碼的加密密鑰?如果答案是否定的,則安全元件的價(jià)值將翻倍,因?yàn)镸icrochip提供安全的密鑰配置服務(wù),可以在我們的安全工廠內(nèi)秘密加載密鑰,以消除合同制造商的密鑰暴露并繞過中間人。計(jì)劃您想要更改CM的那一天,如果密鑰位于安全元件中,則只需使用Microchip更改送貨地址即可。
最后,損益(P&L)與財(cái)務(wù)風(fēng)險(xiǎn)水平的成本影響是一個(gè)巨大的考慮因素。我們已經(jīng)看到客戶使用我們的安全元件,因?yàn)樗且环N非常經(jīng)濟(jì)高效的密鑰解決方案。一旦您在嵌入式系統(tǒng)中加載密鑰,您就可以自定義該微控制器或微處理器。想象一下,您的處理器大約是 3-5 美元,現(xiàn)在您已經(jīng)定制了您的控制器,這些控制器是不可取消、不可退回的多美元硅片,放在您的貨架上。安全元件大大降低了財(cái)務(wù)風(fēng)險(xiǎn)。
物流供應(yīng)鏈障礙和在MCU中安全配置“驗(yàn)證”密鑰的成本增加
微處理器通常比微控制器具有更豐富的安全功能,但這兩種解決方案都需要有一個(gè)安全的物理邊界,密鑰和加密算法都將位于該邊界。不幸的是,這種設(shè)計(jì)很難以經(jīng)濟(jì)高效的方式實(shí)現(xiàn),因?yàn)榘踩吔鐣?huì)對(duì)處理器或控制器的芯片成本產(chǎn)生重大影響。單體解決方案的成本并不是唯一需要增加的成本,但完全支持此類架構(gòu)的技術(shù)支持、處理多用戶權(quán)限的各種工具以及安全處理密鑰配置的供應(yīng)鏈物流繼續(xù)增加復(fù)雜性和風(fēng)險(xiǎn)。讓我們從損益的角度來看這個(gè)問題。讓我們想象一下 100,000 個(gè)微處理器單元,它們都裝有密鑰,這使得所有這些處理器都是自定義的。現(xiàn)在想想你貨架上的庫存成本,無論你是分銷商,還是一個(gè)OEM,這個(gè)成本都會(huì)打擊你的損益,并隨著時(shí)間的推移增加你的項(xiàng)目風(fēng)險(xiǎn),因?yàn)轫?xiàng)目不斷被自然地推遲。
更具可擴(kuò)展性的架構(gòu)是使用Microchip CryptoAuthentication?配套設(shè)備,如ATECC608 TrustFLEX。密鑰被隔離在經(jīng)濟(jì)高效的安全密鑰存儲(chǔ)中,幾乎可以運(yùn)送到世界任何地方(根據(jù) EAR99 出口法規(guī))。安全密鑰配置服務(wù)消除了密鑰暴露給供應(yīng)鏈中間商,減少了攻擊面。
總之,您需要考慮安全啟動(dòng)的固件驗(yàn)證、運(yùn)行時(shí)代碼驗(yàn)證和 OTA 更新后的安全基礎(chǔ),以及在處理加密密鑰時(shí)的各種供應(yīng)鏈風(fēng)險(xiǎn)和成本。將安全元件(如 ATECC608)與微控制器(如 dsPIC33 DSC 或 PIC24F MCU)與具有不可變啟動(dòng)功能的組合是設(shè)計(jì)的絕佳基礎(chǔ)選擇。如果微控制器沒有 bootROM 功能,但依賴于安全元件來物理隔離公鑰,則您的威脅模型和風(fēng)險(xiǎn)評(píng)估可能會(huì)在大多數(shù)應(yīng)用程序中驗(yàn)證此類架構(gòu)。
審核編輯:郭婷
-
微控制器
+關(guān)注
關(guān)注
48文章
7566瀏覽量
151614 -
mcu
+關(guān)注
關(guān)注
146文章
17173瀏覽量
351656 -
DSC
+關(guān)注
關(guān)注
3文章
283瀏覽量
33633
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論