幾乎所有的基于單片機(jī)的嵌入式系統(tǒng) - 汽車,無人機(jī),U盤,車庫開門器,數(shù)碼相機(jī),甚至是消耗品,例如打印機(jī)墨盒 - 很容易受到安全攻擊。所用物聯(lián)網(wǎng)(IOT)為切入點(diǎn),在越來越多的記錄在案的安全漏洞已經(jīng)提出在設(shè)計(jì)界的物聯(lián)網(wǎng)連接的設(shè)備的安全意識。通常情況下,故事涉及違規(guī),影響消費(fèi)者和最終用戶。然而,其他類型的安全威脅,至少同樣重要的設(shè)計(jì)工程師 - 大多數(shù)涉及盜竊,篡改或銷毀知識產(chǎn)權(quán)。因特網(wǎng)可能已經(jīng)成為最流行的入口點(diǎn)的基于MCU的系統(tǒng),但它是遠(yuǎn)離唯一的一個(gè)。無抵押或擔(dān)保不足的診斷端口一直是潛在的脆弱 - 汽車行業(yè)發(fā)現(xiàn)主要是通過“調(diào)諧”社區(qū)的活動。任何無線(或有線)通信鏈路還可以被用作入口點(diǎn)。即使是獨(dú)立的MCU設(shè)備(或其關(guān)聯(lián)ROM)受到篡改和IP盜用。在其他技術(shù)中,反向工程專家已經(jīng)開發(fā)的技術(shù)中,使芯片的掩模層被小心地研磨,直到ROM層露出。通過仔細(xì)分析其中的開關(guān)被炸毀,其中所含的固件代碼可以推斷。 MCU供應(yīng)商都報(bào)以多種方法增強(qiáng)安全運(yùn)行他們的設(shè)備的固件。盡管這些措施使固件更安全,落實(shí)這些要求系統(tǒng)設(shè)計(jì)團(tuán)隊(duì)了解他們的工作 - 并且正確地實(shí)現(xiàn)它們。這涉及到額外的精力,時(shí)間和系統(tǒng)材料的清單(BOM)成本。計(jì)算機(jī)密集的安全措施,如數(shù)據(jù)加密,可能需要更強(qiáng)大的MCU。
安全策略
因?yàn)樗麄兪潜容^容易實(shí)現(xiàn)的,幾乎免費(fèi)的軟件解決方案往往被視為一個(gè)有吸引力的選擇。有時(shí)它們是足夠的,但如通常的“快速,廉價(jià),容易”的解決方案的情況下,它們攜帶更多的風(fēng)險(xiǎn)。安全算法的關(guān)鍵部件,如加密密鑰,存儲在MCU的現(xiàn)有存儲器資源,例如EEPROM或閃存。然而,如果存儲器設(shè)備本身是不安全的,關(guān)鍵的信息仍然處于危險(xiǎn)之中。另外還有,該算法本身可以具有實(shí)施錯(cuò)誤,使得它容易受到攻擊的可能性?;谲浖慕鉀Q方案的一個(gè)流行變體是添加基于硬件的安全的系統(tǒng)的客戶端,并使用安全軟件在主機(jī)側(cè)。這個(gè)硬件 - 這可以在客戶端MCU或在附加的芯片存在 - 用于存儲加密密鑰和執(zhí)行某些安全算法的一些或全部。關(guān)鍵數(shù)據(jù)是由邏輯和物理機(jī)制,它們通常保密由生產(chǎn)的組合的保護(hù)。這種做法是對人在這方面的中間人攻擊,有效的防御。因?yàn)樵谥鳈C(jī)側(cè)密鑰存儲在一個(gè)不安全的資源,它們?nèi)匀豢梢赃M(jìn)行改動或盜竊。即在硬件中完全實(shí)現(xiàn)的MCU安全提出防篡改密鑰存儲在系統(tǒng)的每一個(gè)臨界點(diǎn),包括加密,并執(zhí)行在硬件安全算法為好。實(shí)現(xiàn)基于硬件的MCU安全性的流行方法是由MCU供應(yīng)商提供專門設(shè)計(jì)的處理器和外設(shè)。實(shí)現(xiàn)各有不同,但通常是安全處理芯片組提供較低的性能,并增加BOM成本。
硬件加密
Microchip的技術(shù)提供了硬件安全納入它的一些流行的PIC器件通過在MCU集成了加密引擎。該引擎還執(zhí)行身份驗(yàn)證,以防止人在中間的攻擊。兩個(gè)例子是在16位的PIC24F“GB2”??和32位PIC32MZ。除了添加的安全性,在發(fā)動機(jī)積分卸載從執(zhí)行加密算法在軟件的任務(wù)的MCU。 Microchip的硬件引擎可以在順序或并行地執(zhí)行加密和認(rèn)證。內(nèi)部描述符為基礎(chǔ)的DMA被用于安全關(guān)聯(lián)的數(shù)據(jù)分組和指針的高效編程。智能狀態(tài)機(jī)調(diào)度基于協(xié)議的選擇和數(shù)據(jù)包邊界的加密引擎。主要功能包括:批量密碼和散列引擎,集成的DMA來卸載處理,對每一個(gè)緩沖區(qū)描述安全關(guān)聯(lián)和并行執(zhí)行某些功能的能力。圖1示出了算法和性能指標(biāo)為PIC32MZ。該性能指標(biāo)給出的指示加密速度和多少的CPU減負(fù)的積累相比,軟件執(zhí)行的算法。
Engine/Algorithm |
Maximum Mbps (PBCLK5 = 100 MHz) |
|
DEC |
14.4 |
1440 |
TDES |
6.6 |
660 |
AES-128 |
9.0 |
900 |
AES-192 |
7.9 |
790 |
AES-256 |
7.2 |
720 |
MD5 |
15.6 |
1560 |
SHA-1 |
13.2 |
1320 |
SHA-256 |
9.3 |
930 |
圖1:Microchip Technology的集成加密引擎支持8個(gè)安全算法。 (Microchip的技術(shù)提供)Microchip提供的DM320006-C入門套件的32位加密引擎設(shè)備和DM240314演示套件的16位器件。
擴(kuò)展內(nèi)存選項(xiàng)
德州儀器公司最近推出了一種新的方法,以嵌入式微處理器與內(nèi)存的MSP430 FRAM微控制器家族的新成員使用鐵電隨機(jī)存取存儲器(FRAM)代替閃存。 FRAM結(jié)合了閃存和SRAM的屬性。如Flash,它是非易失性的但像SRAM它提供快速,低功耗寫道。它改寫續(xù)航能力大于1015次循環(huán)。儲存在FRAM的數(shù)據(jù)是扭轉(zhuǎn)工程攻擊比閃存/ EEPROM不易受到由于它能夠輻射和電磁場阻力。此外,它的功率和存取速度都優(yōu)于閃爍。 FRM寫入速度為13 KB是10毫秒相比1秒為Flash,測定其平均有功功率(測量為16位字的訪問)是100μA/ MHz的相比Flash的230μA/兆赫。它的輻射和電磁場的阻力使FRAM在防止利用顯微鏡和電壓操縱物理攻擊尤為可貴。在這些類型的攻擊,黑客試圖改變,而不是試圖當(dāng)它被轉(zhuǎn)移到修改數(shù)據(jù)應(yīng)用程序代碼本身。為了實(shí)現(xiàn)這一目標(biāo),他們首先獲得應(yīng)用程序代碼的圖像時(shí),反向工程,最后在系統(tǒng)內(nèi)成功地覆蓋一個(gè)修改的版本。 FRAM抵抗顯微鏡攻擊,因?yàn)樵撐粚懭牒妥x取線被物理上位于極化分子,這意味著脫層疊的芯片有可能破壞存儲的內(nèi)容的任一側(cè)。防止電壓操作在很大程度上得到由于FRAM寫周期的速度。在這些攻擊,輸入電壓到所述設(shè)備被操縱外的標(biāo)準(zhǔn)范圍編程位細(xì)胞蠻力。它難以提供欠壓和過電壓保護(hù)電路,可以操作,而不是編程的EEPROM比特單元所需要的時(shí)間更長。但是,因?yàn)镕RAM寫入快得多,該保護(hù)電路可以被配置為創(chuàng)建安全回寫電路,以使FRAM以正確完成寫入處理。
保護(hù)編程接口
MSP430 FRAM微控制器還必須確保它們是有吸引力的切入點(diǎn)黑客所使用的設(shè)備編程接口,一個(gè)有效的手段。通常情況下,這些是JTAG接口和引導(dǎo)裝入(BSL),它主要用于固件升級。通過編程的FRAM保險(xiǎn)絲簽名,TI的FRAM微控制器可以使用安全JTAG密碼或完全禁用它。當(dāng)JTAG端口處于關(guān)閉狀態(tài),對設(shè)備的訪問可能只是使用BSL,這需要一個(gè)密碼,讀出或接收數(shù)據(jù)。密碼是中斷矢量表的內(nèi)容。 MSP430的FRAM設(shè)備,提供不正確的密碼,將導(dǎo)致整個(gè)FRAM碼區(qū)域被質(zhì)量擦除。增加密碼強(qiáng)度的另一種方法是通過填充任何未使用的地址空間與有效地址值中斷向量表或創(chuàng)建一個(gè)雙跳表使其難以進(jìn)行強(qiáng)力攻擊。 TI提供MSP-EXP430FR5739開發(fā)套件的MSP430 FRAM器件。董事會與許多TI低功耗RF無線評估模塊兼容。
安全密鑰管理器
另一種選擇 - 這一個(gè)由Atmel公司提供 - 實(shí)現(xiàn)了加密的安全性與廉價(jià)的芯片,存儲密鑰,密碼和其他數(shù)據(jù)的EEPROM。安全密鑰管理器使用各種物理和邏輯機(jī)制,例如一個(gè)隨機(jī)數(shù)發(fā)生器,使該裝置的防篡改,也能夠?qū)崿F(xiàn)認(rèn)證以及加密的。因?yàn)樗鼈兪仟?dú)立的設(shè)備,它們消除100%來自MCU的計(jì)算負(fù)擔(dān)。整個(gè)系統(tǒng)設(shè)計(jì)時(shí)也顯著削減,因?yàn)榇蠖鄶?shù)crypto-和保護(hù),計(jì)劃工作是事先由芯片廠商完成。愛特梅爾的CryptoAuthentication ATSHA204系列器件提供了此選項(xiàng),設(shè)計(jì)團(tuán)隊(duì)。該芯片使用由消息認(rèn)證碼(MAC)和基于散列的消息認(rèn)證碼(HMAC)選??項(xiàng)增加了SHA-256散列算法。其他功能包括:
?256位密鑰長度
?存儲多達(dá)16個(gè)加密密鑰
?保證唯一的72位序列號
?內(nèi)部,高品質(zhì)的隨機(jī)數(shù)發(fā)生器(RNG)
?4.5 KB的EEPROM用于密鑰和數(shù)據(jù)
?512位OTP(一次性可編程)位的固定信息
?多個(gè)I / O選項(xiàng)
獨(dú)特的72位的序列號是實(shí)施多的ATSHA204的功能是至關(guān)重要的。使用由設(shè)備支持的加密協(xié)議,主機(jī)系統(tǒng)或遠(yuǎn)程服務(wù)器可以證明該序列號是既真實(shí)的和沒有拷貝。該ATSHA204的生成高質(zhì)量的隨機(jī)數(shù)的能力所使用的設(shè)備的加密協(xié)議以及其他安全戰(zhàn)略。靈活的指令集簡化實(shí)施防偽防克隆保護(hù),固件知識產(chǎn)權(quán)保護(hù)和驗(yàn)證,安全的數(shù)據(jù)存儲,用戶密碼檢查,和會話密鑰交換的任務(wù)。
認(rèn)證
一個(gè)有效的戰(zhàn)略打擊山寨產(chǎn)品是實(shí)現(xiàn)認(rèn)證流程,與實(shí)際產(chǎn)品的工作配件。在常見的配件,如電纜,插件,電源和電池使山寨產(chǎn)品也沒用,他們揭露了假冒的性質(zhì)。同樣的,山寨的配件不能與原來的產(chǎn)品配合使用。復(fù)印機(jī)配件總是導(dǎo)致收入損失,但未經(jīng)授權(quán)的附件如電池或醫(yī)療裝置,它并不能完全滿足的規(guī)格也可造成嚴(yán)重的危害。添加一個(gè)安全密鑰管理器系統(tǒng)在客戶端是實(shí)現(xiàn)高安全級別的第一個(gè)步驟。額外的安全性可以通過包括在主機(jī)系統(tǒng)中的ATSHA204如圖2,主機(jī)生成隨機(jī)挑戰(zhàn)為客戶端(附件),并評估其響應(yīng)而獲得。一個(gè)附加的安全性的好處是從這一事實(shí),因?yàn)樵谑褂闷銩TSHA204生成的主機(jī)的挑戰(zhàn),即使主處理器不知道它的響應(yīng)而得。從安全功能隔離處理器允許使用廉價(jià)的非安全強(qiáng)化處理器不提供一個(gè)薄弱點(diǎn),通過它,攻擊者可以提取系統(tǒng)的秘密。
固件驗(yàn)證
雖然許多安全威脅可以花費(fèi)一個(gè)公司收入或損害其品牌,一個(gè)設(shè)計(jì)工程師擔(dān)心最多的就是試圖復(fù)制或損壞的MCU固件,它通常存儲在Flash中。一個(gè)有效的防御是一個(gè)安全的啟動過程,以確保只有真正的固件可以在系統(tǒng)上運(yùn)行。安全靴使用存儲在閃存連同引導(dǎo)代碼對驗(yàn)證碼或簽名來實(shí)現(xiàn)。簽名是在制造或代碼更新時(shí)創(chuàng)建,并且是加密散列函數(shù)的輸出 - 一種不可逆的算法“凝結(jié)”的引導(dǎo)代碼成緊湊的,但獨(dú)特的數(shù)據(jù)報(bào),在長度通常32-128個(gè)字節(jié)。圖3示出的計(jì)算和密鑰存儲如何卸載到一個(gè)硬件密鑰管理器件(ATSHA204)。
在系統(tǒng)啟動時(shí),啟動序列的一部分需要安全設(shè)備,以驗(yàn)證陪同引導(dǎo)代碼簽名。僅當(dāng)驗(yàn)證成功就會運(yùn)作程序來執(zhí)行,并且允許系統(tǒng)以正常的方式操作。即使由單一的比特修改操作方案將需要一個(gè)新的驗(yàn)證簽名。這兩個(gè)代碼的圖像和下載的媒體文件,可以使用加密密鑰可以是只用于單一身份驗(yàn)證系統(tǒng)來存儲。
結(jié)論
為響應(yīng)安全漏洞和山寨產(chǎn)品的激增,MCU供應(yīng)商所提供的在他們的芯片基于硬件的安全解決方案。雖然比基于軟件的解決方案成本更高,他們更困難 - 如果不是不可能的 - 即使是最持久的入侵者打敗。解決方案包括嵌入式密碼引擎存儲器技術(shù),例如FRAM隔離惡意干擾在MCU該自主安全芯片。然而,還有就是,沒有一個(gè)放之四海而皆準(zhǔn)的解決辦法。設(shè)計(jì)團(tuán)隊(duì)必須為他們的應(yīng)用程序最適合的安全策略。
審核編輯 黃宇
-
微控制器
+關(guān)注
關(guān)注
48文章
7564瀏覽量
151517 -
mcu
+關(guān)注
關(guān)注
146文章
17171瀏覽量
351478
發(fā)布評論請先 登錄
相關(guān)推薦
評論