eUICC GSMA DRM 新唐

TrustZone for ARMv8-M開路 MCU安全設計起跑

2017-06-26
筆者於今年刊登於前幾期的文章裡,介紹了ARM的新一代TrustZone for ARMv8-M架構下的MCU功能架構特色與可能的硬體規格,許多讀者給了一些回響,其中最引人好奇的莫過於實際的應用場景,本文將進行應用情境探討,希望有助於廣大的應用開發者在各自的領域裡找到合適的應用方向。
保護軟體資產不被濫用 

在過去的MCU應用產品開發過程中,最令獨立軟體開發商或系統整合商頭痛的,就是如何確保MCU內部軟體資產能受到嚴謹保護,同時兼顧合作廠商在軟體開發上一定的彈性。正如圖1中的例子,ARMv8-M架構可以把有價值的通訊協定放到TrustZone區域內,基於通訊協定的上層應用能夠以不同記憶體位置來放置,方便不同的開發團隊進行協同開發,依各自專長領域進行軟體製作。此類應用包含短距離通訊協定、音訊編碼器、生物辨識核心演算法⋯等。 

圖1 TrustZone for ARMv8-M可保護有價值的中介軟體
確保每個MCU應用產品都受到信任與保護 

在可預期的未來聯網環境世界裡,連上網路的裝置只會愈來愈多,這些裝置都會是一個個潛在的破壞入侵點,雖說聯網裝置不一定需要儲存敏感資料而配備安全晶片等級的MCU,但必須保證功能正常。 

有了TrustZone區域,可以把單顆MCU的ID、加解密的Key、軟體升級都保護在安全區內,而每一次開機時亦都可進行自我檢查,確保裝置本身內部運行軟體沒有遭到竄改,即從開機根源點就是一個可信任(Trusted)的進入點,如此才能稱得上是功能正常保證。圖2的說明給了示意範例,此類應用包含跟媒體版權有關,如DRM(Digital Right Management),支付及聯網環境中的節點間之識別與通訊等應用。 

圖2 TrustZone for ARMv8-M提供Root of Trust
安全地使用MCU控制周邊裝置 

在未來的智慧生活環境裡,可預見的是愈來愈多基於MCU開發的應用產品都有可能透過遠端指令進行操作,而這些負責控制的MCU要擔負的工作除了驅動真實環境中連接的硬體單元,更要確保指揮驅動的軟體正確地運行,所以驅動程式跟周邊單元互動必須有安全保證(如圖3)。 

圖3 TrustZone for ARMv8-M確保安全的控制周邊
發生在去年的第一銀行ATM盜領案便是一例,由於大部分的銀行ATM網路連線作業都被視為安全的內網環境,只要是內網環境的程式發出命令,機器就必須執行動作的機制已充分凸顯安全不足,針對一銀的例子,如能增加一道針對周邊驅動執行前判別是否命令為惡意程式發出,則可阻止ATM機器遠端受控吐鈔,甚至可以主動發現問題而揪出遭駭客植入系統的惡意程式,除了能做到資訊安全(Security)更實現了功能安全(Safety)。 

保障核心軟體的完整性 

近年來由於MCU的市場由傳統的8、16往32位元移動,愈來愈強大的運算能力也配備了豐富的周邊資源,如更高容量的Flash、RAM記憶體,使得小型MCU應用跑作業系統(Operating System, OS)的機會變多了,這些核心軟體不管是OS或Firmware都可能有被惡意程式攻擊的風險,再者由於在嵌入式系統中,對於軟體本身並無統一的純軟體安全檢驗標準,大多為產業界標準,如車界的ISO 26262,工業界的IEC 61508,其餘如醫療用品之FDA,未來可能會發展的智慧型電表⋯等,這些標準都使軟體開發人員必須花費相當的心力。 

有了TrustZone for ARMv8-M後,雖說無法馬上依靠該功能做到符合所有業界規範標準,但其內建硬體TrustZone的做法可以相當程度地減輕軟體開發人員的心力,讓核心軟體的建構與維護更加有效率,因為ARMv8-M的TrustZone架構可讓通過認證的軟體受到安全的保護,因其對不需要認證的部分或委外開發的部分提供了緩衝區(Sandboxing),這也方便軟體人員針對不同應用的技術支持,例如:可授權予上層應用軟體開發商對產品的技術服務,如圖4。 

圖4 TrustZone for ARMv8-M具有Sandboxing Certified Software機制
適用並提升MCU多核心系統應用 

在未來可見的聯網世界裡,將會有許多不同規格的晶片需求,對於可能會有的雙核心或是多核心MCU架構,有了TrustZone的功能,則能輕易分隔在不同核心上運行的軟體權限,輕鬆地讓不同CPU做到負責不同的周邊控制,如圖5的示意說明,這樣的應用譬如MCU搭配一些特殊的類比感測元件、短距離的無線通訊射頻前端或觸控感測元件等。 

圖5 TrustZone for ARMv8-M—Leveraging Helper Processor
兩顆MCU整合成一顆

承前段所述,既然有可能支援多核心,那是否有可能把兩顆CPU才能做到的事合併成一顆呢?筆者認為可行性頗高,以未來跟3G/4G/5G有關的物聯網通訊的識別與收費問題舉例說明,我們知道傳統的手機收費方式都是透過SIM卡(UICC Card)識別門號租用對象,人手一支的手機可由人更換SIM卡,但裝置本身如果是配置在特定的區域,又或為數量眾多或不允許打開機構之設計,那該如何處裡更換網路服務商? 

所以GSMA制定了embedded SIM或較為廣義的eUICC(SIM或MIM: Machine Identification Module)規範,讓遠端更新eUICC的內容可實現,方便安全的空中管理(Over-the-air)所服務的手機或機器,且不需要人員親自到門市或派人員到現場進行任何卡片更換,圖6舉一個租用電信網路服務的ePOS機器為例。不過這個模式的運用是否能達成更有成本優勢(Cost Down)或方便產品設計則仍需視實際狀況來決定。 

圖6 採用ARMv8-M架構,內建TrustZone安全技術–eUICC應用範例
以上述ePOS為例,若以TrustZone的Secure區域拿來當模擬eUICC卡用途,non-Secure區域作為產品本身周邊控制的主控MCU,則仍需考量是否需要整合後的單顆晶片要過eUICC所需要的認證、成本上是否較現已非常成熟的SIM卡產品有優勢則仍待觀察,但如物聯網是未來趨勢,採用ARMv8-M架構,內建ARM的TrustZone安全技術將可提供一個這樣的使用模式,畢竟ARM只是IP供應商,MCU供應商還是可以依市場需求發展出適用的產品。 

內建安全性有利創新應用 

綜觀前述的多項可能應用場景,可以看出採用ARMv8-M架構,內建ARM的TrustZone安全技術的通用型MCU(General Purpose MCU),可以從零組件的角色通過方便的多方合作開發轉變成方案提供者角色(Solutions Provider);再者,其硬體切換Secure和non-Secure的做法,也能提供聯網裝置在軟體開發上達成資料和軟體資產安全性的防護,適合未來MCU各類應用的需求,相信此設計將帶領MCU應用設計邁向一個便捷、創新、可實現系統安全的未來。 

(作者為新唐科技微控制器應用事業群技術經理)

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!