在2011年10月,主打64位元運算架構的Armv8問世,經歷近10年之後的此刻,Armv9架構在今年3月底正式推出

對此,Arm台灣總裁曾志光表示,過去三十年,基於Arm架構的晶片,出貨量已經高達1千8百億顆,而在未來十年,他們預估基於Arm架構的晶片,最少會有3千億顆。

那麼,Arm如何為這3千億顆晶片做準備?由於Arm應用範圍相當廣泛,小從感測器,大到伺服器、高速電腦的運算晶片,他認為,地球永續(sustainability)、提供更容易開發的環境、安全都將是重點提升的項目,Arm會不斷提升效能、能源功耗使用效率、軟體開發簡易度,以及資訊安全,讓開發者能夠安心開發,也促使這些應用程式可以順利使用在未來的設備上。

而在自身的角色定位上,正值人工智慧、物聯網與5G當道的現在,面對連網世界在各個階段的處理需求,v9架構也將加快Arm轉移到特定運算(Specialized Compute / Specialized Processing)的腳步,從通用運算得以橫跨到每一種應用,Arm認為,在這個過程中,所有共享的資料若是在基於Arm而成的系統執行,無論是終端、邊緣或是雲端等環境,都必須做到100%安全的處理。

也因此,資安正是Armv9本次發表的最大賣點,因為這當中將包含Arm發展的機密運算架構(Confidential Compute Architecture,CCA)。而顯然此類技術所針對的主要應用場景,就是這兩年來備受關注的機密運算(Confidential Computing),多家公有雲端業者、處理器廠商,以及系統平臺廠商都曾為此陸續宣布合作,並且積極發展相關的功能。

Armv9不只是繼續保有相容性、強化效能,支援更多種應用,資安防護的改善更是重點。Arm資深副總裁暨首席架構師與院士Richard Grisenthwaite表示,這項未來幾年即將部署的架構,能夠廣泛應用於數位訊號處理(DSP)、機器學習(ML),並且可改善系統的安全性與強健度,預計會導入A系列應用處理器、R系列即時處理器,以及M系列微控制處理器。

Arm宣布推出機密運算架構,能保護系統中執行的應用程式,預防遭到其他軟體或高權限處理程序的窺伺與竄改

Arm如何定義機密運算?他們認為,藉由在硬體架構的安全環境執行運算,能在軟體正在執行時,當中所使用的程式碼與資料,不會受到存取與修改,而且就算是其他獲得特殊權限許可的系統軟體,也不能在應用程式執行期間存取與修改這些內容。

對於機密運算的出現與普及,Arm表示,將會改變作業系統因被授與最高執行權限,而能看到與執行一切的現況。簡而言之,作業系統仍能決定哪些可執行,以及何時執行,但應用程式會坐落在記憶體隔離的硬體保護區域,與整個系統的其他部分隔開。

在實際運作的概念上,Arm CCA是在Arm長期發展的TrustZone基礎所設計出來的安全執行架構──TrustZone是從ARMv6、ARM11就開始提供的技術,時至今日,已橫跨ARMv6Z、ARMv7-A、ARMv8-A、ARMv8-M等架構。而Arm最新發展的CCA,採用的作法是動態設置一或多個機密領域(Realm),適用於所有的應用程式,能從現今混雜安全與不安全的執行環境中,另行隔出一個個獨立運作區域。

若用於商業應用系統,CCA提供的機密領域,可以保護具有商業性質的敏感資料與程式碼,在軟體執行期間、進入靜置狀態,或進行傳輸時,不會受到系統其他部分的存取與竄改。例如,消費者個人的網路銀行資訊,能夠與智慧型手機的社交媒體應用程式之間,完全區隔開來,因此,就算部分應用程式受到惡意軟體的感染,CCA可避免它們散播到手機的其他部分。

關於機密運算的重要性,不只是針對個人端設備而言,Arm認為,此種作法的價值是更為廣泛的,因為,無論在資料處於使用中、傳輸中,或是靜置等狀態,皆能維持加密狀態,所以,若將機密運算用於雲端環境,也意味著,能讓系統在執行第三方程式碼時,保護實體處理器與虛擬處理器的使用。

整體而言,Arm 執行長Simon Segars表示,在Arm架構發展機密運算,至關重大,而他們將會基於現在已完成開發的,以及未來創造的安全功能特色,來因應所有層級的運算應用,協助保護物聯網感測器、頭戴式裝置、筆電,以及網際網路與雲端服務等執行環境。

第一批採用v9架構的Arm應用型處理器,會先整合記憶體標記延伸技術

在CCA正式推出之前,Arm預告,第一代基於Armv9-A架構的處理器,將會整合記憶體標記延伸技術(Memory Tagging Extension,MTE)。

事實上,MTE這項技術先前主要是在2018年9月推出的Armv8.5-A架構提供,能讓開發者在他們負責的應用程式當中,識別那些違反資安規範的記憶體存取行為,能在軟體部署之前與之後,找出記憶體的安全弱點所在。

截至目前為止,有哪些軟體平臺支援MTE?2019年8月,Google宣布Android作業系統將採用MTE,並承諾整個Android軟體堆疊會支援MTE,當時他們已與特定系統單晶片廠商合作測試MTE支援,期盼未來能廣泛在Android軟體與硬體生態系部署MTE。

到了2020年9月,Google正式推出Android 11,在軟體測試功能內建的標記指標功能(Tagged Pointers),與MTE支援的準備就緒有密切關係。他們透過作業系統的核心,來支援Arm記憶體最頂端8位元位置略過處理(Top-byte Ignore,TBI)──TBI會在應用程式存取記憶體時,從硬體層級來略過指標的頭1個位元組,因此,系統能在這裡,針對設備所有的記憶體堆積,實作成預先定義的標記組合,之後,系統會在重新配置記憶體時檢查標記,若有任何應用程式試圖修改這組標記,會被終止執行。
同年10月,Linux核心5.10版開始支援Armv8.5的MTE,隨後OpenSUSE也提供相關支援

機密領域管理延伸技術與機密運算韌體架構,將於v9.3-A架構提供

在基於v9-A架構的處理器當中,Arm將提供CCA機密運算架構,根據Arm開發者網站公布的架構資安功能列表來看,CCA預計包含兩大部分,一是機密領域管理延伸技術(Realm Management Extension,RME),另一是Arm機密運算韌體架構(Arm Confidential Compute Firmware Architecture),將在v9.3-A架構提供。Arm也預告,這套架構會有許多支援軟體規格與參考實作。

以RME而言,Arm表示,能以此建立硬體式安全環境,可將安全運算延伸至所有的開發者與工作負載,而在應用案例上,可針對公有雲的所有運算執行個體服務,使其能安全地處理敏感或有價值的資料,

至於Arm機密運算韌體架構,則是一套標準平臺軟體框架,能簡化硬體設計,並促進重複使用與可移植性。此套架構能應用在哪些場景?Arm表示,可針對行動裝置,保護敏感的個人醫療照護資料。

關於CCA的起源,除了基於Arm長期發展TrustZone,Arm開放原始碼軟體副總裁Mark Hambleton補充了另一個發展脈絡,那就是可信任韌體(Trusted Firmware)這套開放安全軟體參考實作,當中包含了在例外層級3(EL3,韌體)執行的安全監控機制(Secure Monitor),而在Armv8.4-A架構,Arm讓安全分區管理員(Secure Partition Manager,SPM)的執行,提升到例外層級2(EL2,Hypervisor)。

而到了CCA,Arm另外設立了機密領域,EL3仍然是Secure Monitor,EL2配置的是機密領域管理員Realm Manager,而EL1與EL0仍分別是作業系統與應用程式執行的層級,因此,我們可將多個中介軟體系統的執行位置,改到基於硬體隔離機制而成的機密領域。

值得注意的是,就基本的應用方式而言,Realm Manager可同時承載Linux與Windows虛擬機器的執行,扮演如同Hypervisor的角色,因此,可將虛擬機器改到機密領域執行。

此外,Realm Manager還可支援複雜的應用方式。例如,原本在Hypervisor之上執行兩套系統,一是Android作業系統,當中執行醫療照護App,另一則是執行專屬作業系統與數位版權管理服務;若是換到Realm Manager環境,可在不同機密領域當中,分別執行多個應用系統,於是,過去在Hypervisor執行的Android作業系統、醫療照護App、數位版權管理服務,以及在安全分區管理員執行的安全服務,都可配置到彼此以硬體來區隔的機密領域裡面執行。

熱門新聞

Advertisement