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