打造高效嵌入式安全方案的虚擬化技術 智慧應用 影音
Veeam Q2 M365 Webinar
Event

打造高效嵌入式安全方案的虚擬化技術

MIPS公司網路和通訊首席系統架構師Rao Gattupalli
MIPS公司網路和通訊首席系統架構師Rao Gattupalli

今天,從家庭娛樂到行動市場,硬體虛擬化的重要性不斷提升。透過硬體虛擬化,可實現更高的安全性和內容保護,這一點對愈來愈多消費者利用這類裝置來進行行動支付、HD媒體串流、雲端儲存甚至安全ID保護等需要高度安全性的應用而言特別重要。

MIPS Technologies稍早前發佈MIPS架構的重要新版本MIPS Release 5 (R5),歷時兩年多開發時程的新版架構包含了虛擬化(Virtualization)和SIMD(單指令多重資料)模組等重要功能。其中,MIPS虛擬化(VZ)模組是具備多項功能的高度可擴充性選項,其中包含增強的安全特性和支援多重作業系統。

MIPS公司網路和通訊首席系統架構師Rao Gattupalli指出:「虛擬化是嵌入式系統未來發展必不可少的關鍵。」而在著手為嵌入式系統開發安全架構之際,Gattupalli也表示:「首先我們要定義什麼是安全系統?最清楚的定義是:如果一個系統能確保應用順暢執行而不會出現意外的資料流失,就可稱之為安全、可靠的系統。」

隔離:安全系統的關鍵

嵌入式系統對安全性的迫切需求涵蓋了從消費到企業等廣大層面。從消費端來看,Gattupalli指出,智慧手機和平板電腦已經成為吸引駭客的目標,加上快速的軟體發展和日增的軟體複雜性使其無法完整地驗證完整性,因此導致錯誤/駭客攻擊問題日益嚴重。

而在企業領域,員工自帶設備(BYOD)已成為企業面臨的最大安全挑戰之一,加上內容保護意識抬頭,媒體串流安全性也日益提升,以及行動支付引發的安全支付交易需求和安全雲儲存、安全ID保護等,新一代嵌入式裝置需要更安全,但又能同時兼顧SoC面積和成本益的解決方案。Gattupalli表示,在因應現代嵌入式需求的安全SoC設計時,其中一個關鍵點在於必須將安全應用從非安全應用中隔離開來,以確保安全應用中的資料不會遭竊或外流。

一顆針對嵌入式應用的安全SoC,必須能將安全資料從非安全應用中隔離開來。目前,從智慧手機到機上盒(STB),都會需要這種隔離機制,因為愈來愈多應用需要複雜的終端設備來處理具有高度安全性的內容,包括加密密鑰、支付系統、HD影像串流等。Gattupalli表示:「在一個系統中,從一個應用到另一個應用,再到不同種類的資料,都需要被保護。」在此同時,這些應用也必須流暢不中斷,也就是說,當作業系統在其他分割區上出現錯誤時,還能持續執行應用程式,或是完好地退出。

一般來說,安全分割的建置方式可透過利用另一顆核心,或是透過虛擬化技術為單一核心建立多個安全和非安全的分割來實現。虛擬化能單純利用半虛擬化(Para-virtualization)或硬體輔助虛擬化(Hardware-assisted virtualization)方式來實現。MIPS也已經提出了可同時支援半虛擬化和硬體輔助虛擬化的解決方案。目前市面上已經有能在MIPS-Based核心上執行的半虛擬化解決方案,另一方面,MIPS架構也可提供硬體輔助虛擬化技術。

Gattupalli指出,目前許多SoC都採用雙核心處理器配置,其中一個處理器子系統負責非安全區域,另一個處理器則用於安全區域。今天的安全配置都是共通的,已經能提供高水準的安全性。然而,在實際應用上卻還是需要具備更高可擴展性及成本效益的方法,以解決新一代設備必須同時在數個安全區域內執行多種應用程式的需求。

以安全SoC作為嵌入式系統核心

Gattupalli首先具體說明了當前構成安全SoC的六大關鍵要素:Secure boot(安全啟動)、安全密鑰儲存(Secure key storage)、可信任執行環境(Trusted Execution Environment,TEE)、安全資料通道(Secure dta path)、安全更新(Secure update)和安全除錯(Secure debug)。

Secure boot即所謂的信任根(root of trust),主要用來防止篡改。它通常採用唯讀記憶體(ROM),用於儲存裝置重置時需要的初始啟動程式碼。安全密鑰儲存是指通常用來儲存公共密鑰和其他DRM關鍵密鑰等安全資產的OTP區域,如Netflix這類隨選視訊應用便會將公共密鑰儲存在OTP中用來解碼內容。安全啟動和安全密鑰儲存是建構安全SoC所需的第一個關鍵要素。

可信任執行環境軟體層是在成功加載和認證啟動程序後即同時加載。可信任執行環境用於管理和控制低階軟體模組集的存取以實現安全環境。這些子模組包括安全密鑰、安全資料通道、安全更新和安全除錯。可信任執行境是用來分配資源和預防存取安全區塊時的非安全應用,基本上可將之視為底層硬體資源的看門人。例如,在STB應用中,可信任執行環境可確保非授權應用無法存取關鍵資產,如影像編解碼器或記憶體中可能存有未加密安全資訊的位址。

安全資料通道可確保高價值資產如編解碼器僅能由授權實體來存取。安全更新是對任何來自上層的軟體更新進行驗證和管理來實現安全的系統軟體更新。Gattupalli表示,由於作業系統、USB或是各種週邊都會需要更新,因此,客戶也會需要在更新過程中的安全保障。另外,除錯也有安全性需求,SoC中的安全除錯模組可確保JTAG埠能防止未經授權存取。

Gattupalli進一步指出:「目前針對安全嵌入式應用的SoC最大挑戰來自於功率和尺寸;以及針對安全和非安全應用的可重用資源。」他也特別強調了可重用資源的重要性,因為隨著終端裝置日趨複雜化,加上多核心處理器的發展趨勢,如果安全和非安全應用缺乏可重用資源,在設計上勢必會帶來許多阻礙。

另一個主要挑戰則來自於多重安全區域。Gattupalli表示,包括一般的單一使用者或包含其他多個使用者的內容存取;企業級資料存取;以及金融和個人資料的存取等作業,都是安全SoC的主要挑戰。但在完全滿足這些需求的同時,設計師也會希望擁有最佳化的SoC尺寸和成本,此時,虛擬化技術就是最佳解決方案。

由於虛擬化技術可實現平行處理多重作業系統與應用程式,同時可整合工作負載,因此可作為發展下一代安全關鍵嵌入式設備的關鍵技術。而MIPS的虛擬化(VZ)模組正是一款簡單和靈活的硬體解決方案,能在有限或不影響效能的條件下滿足這些不同需求。

運用虛擬化為嵌入式系統帶來更大效益

虛擬化為安全嵌入式系統在連接各種應用時提供了一個可擴展的可信任執行環境(TEE),它能為每一個個別環境提供安全隔離,並透過為每一個虛擬機定義存取政策來管理特權資源;同時,唯有可信任執行環境能夠與虛擬機通訊。這些特性不僅強化了系統可靠性,也加快了功能開發速度。

虛擬化能讓多個獨立的作業系統在單一處理器上完全隔離,如在相同的CPU上同時執行Linux和RTOS;同時能強化系統可靠性,也就是說當一個「客體」(guest)故障時不會導致整個系統一起停頓;另外,虛擬化還有助於實現QoS,同時有助於從異質朝同質多核心方向轉移,並保障客戶在作業系統和即時作業系統方面的投資。

事實上,Gattupalli表示,虛擬化的核心要素是Hypervisor,這是一個架構在硬體上的小型程式碼,以提供可信賴的執行環境。Hypervisor可透過定義每個執行環境或「客體」的存取策略來管理優先資源。客體會彼此隔開,但能透過安全API與Hypervisor和對方通訊。透過讓客體之外的部分安全運作能確保系統的可靠性,即使在任何一個客體毀損時也不受影響。Hypervisor可管理子系統的所有記憶體I/O優先級。

Gattupalli表示,對強調安全與可靠性的嵌入式系統而言,安全Hypervisor可作為其基礎。虛擬化的環境可以提供靈活的軟體管理,而MIPS基於軟硬體的安全虛擬化解決方案,將成為未來嵌入式系統設計快速通往成功目標的關鍵。
(本文提供英譯版本,請按此連結閱讀英譯版本內容)