安全執行
MCU小兵立大功 嵌入式系統安全受保障
網路攻擊顯然有可能破壞涉及國防、醫療保健、金融及我們日常生活中的所有層面。更令人擔憂的是,這些攻擊的頻率和強度似乎都在加強。嵌入式系統容易受到多種網路威脅的攻擊,開發人員需要找到相應途徑來防止這些攻擊,這其中必須要防範的關鍵問題包括:偽造、逆向工程、惡意軟體注入或韌體調換、竊聽、身份盜用、未經授權之網路連接和未經授權之重複使用等。
安全性為嵌入式系統基本設計要件
嵌入式工程師需要開始採用整合的系統設計方法,其中安全功能是整個系統特性之基本組成部分。因此,應該在開發週期的最初階段關注安全問題,而不應該將其認為是次要的臨時添加功能。在實施安全策略時應包括軟體和硬體考量。
傳統上講,軟體是防止未授權訪問的第一道關卡,這裡最常見的防範機制是使用密碼、加密和身份驗證等等。但是,一些技術高深的駭客正在嘗試新的方法來攻擊網路系統和子系統,如果無法保護和驗證系統啟動過程,就會成為駭客攻擊的其中目標之一。如果攻擊成功破壞了系統,存放的惡意軟體就可以在啟動ROM中長時間處於潛伏狀態。而MCU現在自稱具有安全功能,可以減輕各種形式的駭客攻擊。這些包括內建的安全和強大的加密/認證引擎、密鑰管理、篡改檢測和防護、外部記憶體保護和通訊協定的加密/解密等等。
晶片製造商目前正在利用幾個精心設計的方案來保護安全密鑰免受駭客攻擊或以其他方式被篡改。例如片上篡改檢測/保護機制可以屏蔽裝置免受侵入式探測;另外,系統可以使用專用匯流排來傳輸安全資料或密鑰。還可以採用許多策略來保護外部記憶體的內容,例如直接從外部記憶體保留的安全執行,而毋須將資料加載到處理器的嵌入式記憶體中或在操作中解密,這允許應用在主處理器和異地記憶體上操作,同時仍保持完全加密性。
關於網路安全,無線和有線網路通訊都有可能被截獲。實際上,一些通訊協定具有眾所周知的安全漏洞,駭客已經在設法利用這些漏洞。安全程度較高的通訊協定除了驗證發送器和接收器真實性之外,通常還具有加密和解密通訊串流的功能。在這些情況下,為了獲得更高安全性,將會損失一些性能方面的優勢,如果需要避免或盡量最小化這種性能方面的折衷,可以整合硬體加速器用於加密算法作為通訊協定的一部分。這樣一來,需要折衷的不再是性能和安全,而是成本和安全。
MCU扮安全防範要角
如前所述,一些MCU採用硬體加密加速器來執行安全功能,而不會影響整體系統性能。其中一個例子是德州儀器(TI)旗下TM4C129E的Crypto Connected LaunchPad,這是一款基於ARM Cortex-M4F的120MHz微控制器板,專為安全雲端連接、建築/工廠自動化、智慧電網和工業控制而設計。該板的核心TM4C129E 32位MCU包含三個重要安全功能,分別是資料加密標準(DES)加速器、進階加密標準(AES)安全模組和Secure Hash Algorithm。
DES加速器模組能提供硬體加速資料加密和解密功能,它可以運作單DES或三重DES(3DES)算法,並支援ECB、CBC和CFB操作模式,以提供進階的片上安全功能。AES對稱密碼模組在硬體中使用128位元、192位元或256位元密鑰,用於加密和解密目的。Secure Hash Algorithm包括使用64Bytes密鑰的HMAC操作,這將驗證消息或資料檔案。
Maxim MAXQ1061 DeepCover安全加密控制器IC能夠實現篡改檢測和安全啟動功能。此IC的多個篡改檢測功能可確保晶片包含資料的安全性,其密鑰管理可防止未經授權的存取,而片上密鑰生成則基於亂數生成器和證書驗證,從而阻止駭客與晶片通訊。此外,128位AES引擎支援AES-GCM(相容SP 800-38D標準)和AES-ECB(相容SP 800-A標準)模式,這種標準的相容性提高了晶片安全性。最後,透過簽名驗證機制能夠強制執行安全啟動,如果沒有簽名,駭客將無法存取主機處理器的資料。
相較於傳統在標準微處理器上運作的軟體,Microchip的ATECC608A系列硬體加速器IC在處理安全算法時速度可快十倍到一千倍。這些算法包括基於ECC和ECDSA協定的完全非對稱(公共/私有)密鑰加密簽名解決方案,並符合NIST標準P256主曲線,支援從高質量私有密鑰生成到公鑰驗證的完整密鑰生命週期。得益於ECDSA代碼簽名驗證和可選的儲存摘要/簽名(Digest/Signature),因而可提供安全啟動功能,惡意軟體將無法更改對系統至關重要的任何引導資料。
總而言之,嵌入式處理器安全性是一個多層面且非常複雜的問題。隨著物聯網普及和成長以及嵌入式系統幾乎無處不在的發展,複雜的安全攻擊給開發人員帶來了嚴峻挑戰。目前MCU設計的進步意味著可以在這些裝置上執行更多安全功能和操作;透過內建加速器或協同處理器通常可執行這些操作,毋須降低系統性能。
(本文作者任職於貿澤電子)