引用本文:冷冰,龐飛.基于國產處理器的可信計算平臺構建方法[J].通信技術,2019,52(08): 2044-2049.
摘 要
計算平臺作為信息基礎設施的基本組成單元,一直是黑客攻擊的重點。隨著國產處理器性能的逐年提高,在中美貿易摩擦加劇的大背景下,我國關鍵信息基礎設施將越來越多的選用國產處理器。使用國產處理器構建自主可控的計算平臺將是一大趨勢。通過分析采用國產處理器后可信邊界的變化,提出了一種基于國產處理器的可信計算平臺體系結構,分別給出了基于國產龍芯和飛騰CPU的典型軟硬件參考設計,達到了不增加額外硬件成本,安全防護與計算并存的效果。
關鍵詞:可信計算;國產;處理器;計算平臺;安全
內容目錄:
0 引 言
1 可信邊界
2 國產可信計算平臺體系結構
3 硬件設計
4 軟件設計
4.1 可信固件設計
4.2 可信虛擬機監視器設計
4.3 可信操作系統設計
4.4 處理器特權級別分配
5 信任鏈建立
6 結 語
00引 言
計算平臺(臺式機、服務器、移動設備和嵌入式設備等)作為構建信息基礎設施的基本組成單元, 其面臨的網絡安全風險不斷攀升。可信計算是國 際可信計算組織(Trusted Computing Group, TCG ) 提出的,解決計算平臺安全問題的一種技術。我們 國家在沈昌祥院士的帶領下,從1992年開始,經過長期攻關,形成了我國自主創新的可信體系。
中國自2001年開始啟動處理器設計項目以來,產生了以龍芯、飛騰等為代表的國產CPU,產品性 能逐年提高。近期中美貿易摩擦加劇,中興、華為事件的出現再次為我們敲響了警鐘。利用國產處理器構建自主可控計算平臺才是我國關鍵信息基礎設施長治久安之路。
目前我國的可信計算平臺按照構建方法的不同,主要分為兩大類。一類是可信增強型,即不 改動現有計算平臺主板,插入一塊PCI/PCI-E/USB/ mini PCI-E/TF等標準接口的可信密碼模塊(Trusted Cryptography Module, TCM ),再在操作系統中安 裝一套安全軟件,軟硬配合,在計算平臺上構建一 個相對可信的運行環境。另一種是高安全型,即定制計算平臺主板,將可信平臺控制模塊(Trusted Platform Control Module, TPCM )貼在主板上,依靠 特殊設計的硬件電路使TPCM先于CPU啟動,對CPU度量通過后,才開始后續啟動過程,以確保TPCM是真正的信任原點,實現高安全。
主板貼TPCM模塊的方法是在上世紀九十年代 我國沒有掌握CPU、操作系統等核心部件的嚴酷背 景下提出的。該方法的出發點是不信任CPU和操 作系統,整個計算平臺可以信任的只有TPCM,它 作為唯一的可信根去度量、監控計算平臺其它部件。
隨著國產處理器的快速發展和走向實用,我國 可信計算平臺的設計限制條件越來越少,設計環境逐漸改善。本文從核心元器件、基礎軟件自主可控 之后可信邊界的變化出發,提出了一種新的可信計算平臺構建方法,該方法優化了國產計算平臺整機 設計,降低了成本,提升了效率。
01可信邊界
基于非國產處理器和操作系統構建的可信計算平臺,由于不能自主可控,我們無法確保其沒有被 惡意預留后門,植入木馬。事實上,Intel等主流處 理器就曾被爆出多個高危漏洞威脅系統安全。如果該植入過程在處理器生產之后由第三方植入,那么根據可信計算機制,還可以發現處理器已經被篡改。如果該后門是處理器生產廠家在處理器生產交付之前預置的,那么按照當前可信計算的靜態度量機制,是無法檢測出來的。對計算平臺外設和操作系統而言,同樣如此。
因此,利用非國產軟硬件構建的可信計算平臺, 其可信邊界只有一個完全自主可控的TPCM模塊。任何其他軟硬件部件在沒有通過TPCM模塊的度量 驗證之前都是不可信的。
由于這種不信任關系,安裝于非國產操作系統內的可信軟件基(Trusted Software Base, TSB )必 須使用傳統主機安全防護軟件的一些技術實時監視 操作系統及其它軟件,以便發現計算平臺的異常行為。因此,其軟硬件結構不可避免地復雜,成本高、效率低。
在基于國產處理器和操作系統構建可信計算 平臺時,情況有了變化。首先,供應鏈安全和信息安全是研發自主可控處理器的一個主要動因,國內廠家不會惡意在處理器中預置后門和木馬。其次,國內處理器廠家與國內安全廠家一直保持著緊密合作,是相互信任的,處理器一旦被發現bug存在安全風險,就會很快得到修復。
因此,采用國產軟硬件構建的可信計算平臺,其可信邊界不僅包括TPCM硬件模塊,還應該包括處理器和操作系統的核心部分。不可信的部分是非 自主可控的外設、主板上容易被篡改的部件、操作系統中第三方開發的驅動程序和軟件等。例如:用戶在可信計算平臺上安裝的國外或互聯網下載的軟件。這些軟件可能惡意的提升權限,竊取用戶信息或者非惡意地破壞可信計算平臺的完整性,影響其它軟件的執行。另外,黑客也可能通過物理攻擊方式篡改可信幅平臺關鍵核心硬件、外設和基礎軟件。
以國產處理器和國產操作系統非惡意本質為前提,我們可以設計出一種新的,運算和防護并存的, 簡潔、高效,不增加額外硬件成本的可信計算平臺。
02國產可信計算平臺體系結構
基于國產處理器的可信計算平臺設計思虹是利用國產處理器內嵌的安全功能實現一個較小的、具備物理安全屬性并可驗證的邏輯單元作為可信根,利用信任鏈的傳遞機制保證整個計算平臺啟動時的可信。二是利用國產處理器和基礎軟件提供的隔離機制確保計算平臺上各應用軟件間以及應用軟 件和計算平臺系統軟件之間的互不干擾。
按照我國自主創新的可信雙體系結構要求,提出一種基于國產處理器的可信計算平臺體系結構如圖1所示。
該計算平臺體系結構最顯著的特點是利用國產處理器內嵌的安全部件實現TCM功能,與內存管理單元、系統總線安全擴展等部件一起形成完整的 TPCM功能。不再需要在主板上額外貼一個TPCM 硬件模塊,從而消除定制,降低成本,提升效率。
雖然不再有獨立的硬件形態,但TPCM作為可信計算體系中的可信根,其邏輯上還是完全獨立的。即安全防護域和通用計算域是各自獨立運行的。運行于通用計算域中的軟件是無法訪問安全防護域的內存、安全外設,竊取敏感數據的。確保通用計算域和安全防護域間的隔離是本體系結構設計和實現的關鍵。
03硬件設計
不同國產處理器內嵌的安全功能實現略有不同。最新的龍芯3A4000SE處理器采用的是集成 TPCM硬核的方式。它不僅集成了32位TPCM處理器內核、算法引擎、R0M、專用SRAM,甚至連主 動度量所需的處理器控制接口和專用IO接口都一應俱全。因此它等價于將原來貼在主板上的TPCM硬件模塊全部封裝進了CPU內部。其硬件參考設計如圖2所示。
由于TPCM硬核具有完全獨立的ROM和SRAM,獨立的IO,不需要主板額外處理它與通用計算域的隔離關系,因此該硬件設計與傳統采用獨 立式TPCM硬件模塊的可信計算平臺設計幾乎一樣。對固件、外設的度量和控制也由TPCM的專用IO接口直接連接。
飛騰2000/4處理器采用的是TrustZone技術路線。其硬件參考設計如圖3所示。
在TrustZone架構下,通用計算域和安全防護 域是分時共享CPU的,通過虛擬化CPU核、擴展系統總線安全機制、增加相應功能部件實現了通用 計算域和安全防護域的隔離。這是與龍芯處理器最大的區別。
每個飛騰的物理處理器核被虛擬為一個安全核和一個非安全核,安全核運行安全防護域的代碼,非安全核運行其它代碼。
帶NS控制位的系統總線是最重要的安全機制擴展之一。通過為系統總線中的每一個讀寫通道添加額外的控制信號位,來判斷當前傳輸的數據屬于何種環境中。如果該位為低,表示數據屬于安全環境,否則就屬于普通環境。運行在非安全核中的軟件是無法拉低NS控制位,非法訪問安全內存和安全設備數據的。
可信域地址空間控制器(TrustZone Address Space Controller, TZASC)用于把外部DDR4內存分成多個區域,每個區域可以單獨配置為安全或非安全區域,通用計算域的代碼只能訪問非安全區域的內存。
可信域保護控制器(TrustZone Protection Controller, TZPC)用于配置外設的安全屬性,實現10設備層面的數據保護。它可以在運行時動態設置,例如鍵盤平時作為非安全的輸入設備,在輸入密碼時可以配置為安全設備,只允許安全防護域軟件訪問。
可信域內存適配(Trust Zone Memory Adapter, TZMA)用于把片內ROM和RAM隔離出安全和非安全區域。TZMA最大可以將片內存儲的低2MB配置為安全區域,其余部分配置為非安全區域。
因此,采用飛騰處理器的可信計算平臺中,可信根是由虛擬安全核、系統總線安全擴展、 TZASC、TZPC和TZMA共同組成的。
04軟件設計
4.1 可信固件設計
自主可信固件的基本功能包括:硬件平臺上電后,獲得系統控制權,初始化處理器、內存、芯片組等關鍵部件,枚舉外設并為其分配資源,初始化顯卡、硬盤、網卡等必要的外設,度量操作系統或可信虛擬機監視器核心代碼,如果通過防篡改驗證, 則為其建立運行環境,然后移交控制權,如果沒有通過驗證,則執行可信恢復,重新啟動。其框圖如圖4所示。
(1)硬件抽象層,將處理器、芯片組、TPCM 等硬件進行包裝和抽象,初始化處理器和硬件,為上層模塊提供訪問處理器、硬件設備的標準接口。(2)固件核心層,建立統一可擴展固件接口(Unified Extensible Firmware Interface, UEFI )的系統服務表,包括啟動服務和運行時服務,進行固件 中所有模塊的統一管理。(3)固件應用層,實現固件的各項具體功能,如可信度量、配置管理、內核加載、可信恢復等。
4.2 可信虛擬機監視器設計
當可信計算平臺應用在云計算環境時,在可信固件和可信操作系統之間有個虛擬化層,運行可信虛擬機監視器。
可信虛擬機監視器除具備普通虛擬機監視器 的虛擬化資源調度、管理等功能外,與可信相關的 安全功能主要是虛擬TPCM功能和安全監控與恢復功能。
虛擬TPCM功能主要是將TPCM硬件按需虛擬 成多個TPCM供多個虛擬機客戶操作系統同時使用。其主要功能包括:數字簽名與驗證、數據加解密、真隨機數生成、數字證書管理等。
安全監控與恢復功能主要是安全隔離各虛擬機,監控其資源訪問,發現惡意攻擊行為,執行可信恢復等操作。
4.3 可信操作系統設計
鑒于當前國產操作系統大多是基于linux內核開發的,因此可信操作系統基于Linux安全模塊(Linux Security Module, LSM )框架實現可信軟件基功能,以便可信功能更好地融入操作系統之中。
可信操作系統的運行控制原理如圖5所示。其中,可信運行控制的主體是進程,客體可以是文件、目錄、設備、IPC和Socket等對象。通過操作系統的可信運行控制機制,結合強制訪問控制策略,對通用計算域中的進程實施細粒度的運行控制和訪問控制,阻止非法程序的運行,防止非授權用戶和進程對資源的訪問,保證計算平臺運行環境的安全可信。
其訪問控制流程如下:
(1)主體通過系統調用發起對客體的訪問請求;(2)策略實施部件通過嵌入到系統調用的鉤子收到訪問請求后,向策略判定部件獲取訪問策略;(3)策略判斷部件收到請求后,從策略庫中查詢安全策略,并向TPCM獲取策略的完整性報告;(4)TPCM對策略及權限進行完整性驗證后,將完整性狀態報告及安全策略返回給策略判斷部件,策略判斷部件再返回給策略實施部件;(5)策略實施部件收到安全策略后,調用可信服務接口請求TPCM驗證被訪問客體的可信狀態;(6)TPCM收到驗證請求后,首先對主體的身份進行認證,并對被訪問的客體進行完整性度量,將認證結果和度量結果報告給策略實施部件;(7)策略實施部件根據驗證結果決定是否允許主體訪問客體;(8)策略實施部件記錄訪問操作審計日志;(9)策略實施部件向主體返回訪問結果。
4.4 處理器特權級別分配
現代處理器都支持多個特權運行級別,不同處理器有不同的命名方法,支持的數量也有差異。為表述方便,本文用“EL+數字”方式表示處理器的特權級別,數字越大代表權限越大。
對支持四個及以上特權級別(EL0?EL3)的處理器,應將最高特權級別EL3分配給安全防護域的安全功能實現,例如TPCM功能,安全監視與恢復功能等。將次高特權級別EL2分配給虛擬機監視器功能,將EL1分配給虛擬機客戶操作系統,將最低 權限級別EL0分配給用戶應用軟件。
對只支持三個特權級別(EL0?EL2)的處理器,可將虛擬機監視器和虛擬機客戶操作系統分配在同一特權級別EL1中,仍然將最高特權級別EL2分配給可信相關安全功能,確保整個計算平臺安全防 護域的獨立和安全。
05信任鏈建立
信任鏈是可信計算中的重要概念。利用它可以將信任域從信任根擴展到整個計算平臺。
基于龍芯3A4000SE等集成TPCM硬核方式處 理器構建的可信計算平臺,由于其TPCM完全獨立,其信任鏈建立過程與傳統可信計算平臺沒有區別。都是系統上電后,TPCM作為可信根率先運行,對Boot loader固件進行可信度量,通過度量后,才控制通用計算域的處理器核加載固件代碼,執行Boot loader引導過程,隨后是虛擬機監視器、客戶操作系統、應用程序。
基于飛騰2000/4等采用TrustZone技術路線處 理器構建的可信計算平臺的信任鏈建立過程稍有不同。系統上電后,處理器會首先進入安全模式,虛擬安全核讀取片內ROM核心代碼完成自檢和TPCM 核心功能構建,然后在TZASC、TZPC和TZMA的配合下,對存放在主板上的后續固件代碼進行可信度量,通過驗證后,引導安全防護域OS等安全防護域構建完成后,再對通用計算域的Boot loader 進行可信度量,然后切換CPU工作模式,執行通用計算域引導,隨后才是虛擬機監視器、客戶操作系統和應用程序。
為了支持虛擬化應用,可信計算平臺的信任 鏈需要從傳統的線性拓撲結構擴展為菊花鏈拓撲結構。即信任鏈從可信根傳遞到虛擬機監視器后開始分叉,每一個虛擬機客戶機都用一個獨占的虛擬TPCM作為自己的可信根,繼續在客戶操作系統中進行信任鏈的傳遞。
06結 語
在中美貿易摩擦愈演愈烈的大背景下,自主可控計算平臺的選用將會越來越多。本文介紹了一種利用最新的國產處理器構建自主可信計算平臺的方法。相比于傳統方法,本方法可以降低整機硬件成本,提升運行效率,達到安全防護與計算并存的自免疫效果。
作者簡介 >>>冷 冰(1976—),男,碩士,高級工程師,主要研究方向為網絡與信息安全;龐 飛(1974—),男,碩士,高級工程師,主要研究方向為信息安全、可信計算。選自《通信技術》2019年第八期(為便于排版,已省去原文參考文獻)
網絡強國建設的思想庫
安全產業發展的情報站
創新企業騰飛的動力源
投稿網址:
http://www.txjszz.com
合作熱線:010-88203306