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