Arm 公布作為下一代指令集 Armv9 安全功能之機密運算架構初步規格,

2021.06.24 11:32AM

為了因應新一代物聯網與行動通訊所面臨的安全問題, Arm 在宣布第二世代 64bit 指令集 Armv9 時也一併公布名為 Arm 機密運算架構( Arm CCA )的機能,而稍早 Arm 也進一步公開 Arm CCA 的初步技術規格,始有興趣的開發者與技術狂熱者可理解 Arm CCA 的目的與初步功能。

Arm CCA 的目的是解決當前新一代的安全威脅問題,其一就是重新調整監管軟體存取應用程式使用資源的權限;在當前,作為核心或虛擬機管理器的監管軟體被賦予對應用與虛擬機器相當高的信任權限,使得這些監管軟體能夠存取該應用程式所使用的資源,然而一但監管軟體因漏洞被入侵,極有可能造成應用程式當中的機密數據或存放在應用的演算法外洩; Arm CCA 透過移除監管軟體存取應用程式使用資源的權限,但保有監管軟體的管理權,使得監管軟體無法直接對其管理的應用程式與包含在內的資料進行存取,能夠降低應用程式內的機密資料外洩的機率。

▲ Arm CCA 導入名為 Realm 機密領域的數據與程式碼保護機制

在導入 Arm CCA 對於服務供應商處理客戶數據最顯著的變化,是由原本"不會存取"進一步變成"無法存取",也使得用戶端裝置大幅減少必須被信任的軟體數量、駭客的可攻擊面與客戶端數據或演算法被破解的可能性;同時, Arm CCA 導入稱為機密領域( Realm )的數據與程式碼保護機制,作為全新類型的機密運算環境。

Arm CCA 包括四大關鍵領域,1、名為機密領域管理擴充( RME )的定義機密領域的硬體架構; 2 、可除去分配專屬記憶體病使 TrustZone 可用於大動態記憶體、基於 RME 所提供的動態 TrustZone ; 3 、藉由與系統商與業界組織合作,定義機密領域管理監控器( RMM )與 RMM 延伸功能的標準化單一軟體與韌體架構; 4 、與 trustedfirmware.org 等開源專案合作提供 Arm CCA 韌體標準實作並為 Arm CCA 打造如 Project Veralson 等全新開源專案。

▲ Arm CCA 將使監控軟體不再具備應用程式資料的存取權限,僅保留監控軟體對應用程式的管理權限

基於 Arm CCA 的機密領域的程式碼、數據會分配給該機密領域的記憶體內,其他自該機密領域的監管軟體或由 TrustZone 程式碼、非機密領域信任的其他領域或裝置皆無法對機密領域進行任何存取,同時會使非機密領域的應用與行為產生故障異常。 Arm 為此架構新增一個稱為 Granule Protection Table 的資料結構,使其追蹤並決定分頁是否提供機密領域、 TrustZone 或現在執行中的應用程式、核心與虛擬機器在一般環境使用。透過硬體方式在每次進行存取時會核對資料結構表格並阻止所有的非法存取,而虛擬機器管理器與核心則具備間接更新此白名單表格的權利,並使分頁可在一般環境與機密領域的使用環境間移動、甚至在一般環境與 TrustZone 的使用間移動。

同時, Arm CCA 以整合在硬體架構內的方式,使不管開發者所開發的應用程式為何,皆可使用機密運算;在資料中心中,供應商能藉 Arm CCA 降低數據路徑所使用的基礎設施,而雲端用戶則可將高安全需求的工作負載自內部轉移到雲端,並確保資安與降低漏洞發生的風險。對於個人用戶, Arm CCA 也同樣自智慧穿戴、行動裝置到智慧城市、自駕車等發揮保護的作用。

資料來源