武警工程大學 李曉策 陳 飛
TrustZone在遠程證明中的應用研究
武警工程大學 李曉策 陳 飛
分析了TrustZone技術在遠程證明中的應用。TrustZone是ARM公司提出的一種實現安全環境與通用環境硬件隔離的安全解決方案,從提出以來得到了廣泛的研究和應用。可信計算與TrustZone技術相結合是目前研究的熱點,本文分析了在TrustZone架構下建立可信執行環境的主要需要解決的問題及解決思路,以及在此環境上實現遠程證明等可信技術的關鍵環節,總結了使用軟件平臺進行TrustZone研究的可行方法。
可信計算;遠程證明;移動平臺;TrustZone
網絡空間安全已經成為國家的“第五疆域”,在國家安全中起著越來越重要的地位。但是網絡安全問題卻阻礙了網絡技術在關鍵領域的應用,可信計算應運而生。可信計算是從底層開始,就建立起信任關系并一級級傳遞,直至確保整個平臺安全可信,而其中的遠程證明則是將信任從一個平臺傳遞到另一個平臺的技術。遠程證明技術在桌面平臺的研究已經趨于成熟,二進制的證明、基于屬性的證明、基于行為的證明等證明模型都得到了廣泛的研究,但是移動平臺中遠程證明發展卻困難重重。本文主要分析了在移動平臺中遠程證明存在的問題以及使用TrustZone技術來解決這些問題的方法。
遠程證明方案和其他可信技術往往都是基于TPM芯片的,這在桌面及服務器領域應用不存在問題,但是在移動平臺和嵌入式設備中卻很難直接應用,主要原因是限于空間和成本,移動平臺和嵌入式設備中并沒有安裝專門安全芯片的條件,也就沒有配備TPM芯片。對于可信移動終端,TCG發布了移動可信模塊規范,但由于同樣依賴額外的硬件芯片,而且被認定會對系統性能產生影響,設備生產商興趣不大,MTM并沒有得到廣泛的應用。所以在移動平臺的進行遠程證明時,首先要解決安全硬件即信任根的問題。對此,學者進行了大量嘗試,包括Java智能卡、外置TPM芯片等方式相繼出現。雖然這些方案都完成了可信平臺的建立,但是定制性強、成本高、性能差等缺陷使這些方案不能真正應用到廣泛使用的諸如手機的移動設備。
針對這一問題,當前芯片生產商等處于基礎地位的參與方相繼提出了一些安全解決方案,其中就有著名的ARM TrustZone技術[1]。TrustZone主要是完成可信執行環境TEE的建立,可信執行環境是區別于通用執行環境而言的,是主處理器上的一個安全的區域,與通用執行環境硬件隔離。在移動平臺中,使用最為廣泛的ARM處理器的TrustZone技術得到了廣泛的應用,ARM 1176及以后的Cortex-A系列處理器均支持TrustZone技術。
由于是硬件生產商直接開發并推動的技術,TrustZone技術具有天然的發展優勢,現在市場上使用ARM處理器的手機、平板等移動設備基本都是支持TrustZone技術的,所以其應用場景十分廣泛,如在線購物、移動支付系統、云服務訪問控制等,蘋果公司的Secure Enclave技術也是基于TrustZone技術深度開發的。這些技術在移動平臺可信技術發展的同時,也使移動設備的安全問題和指紋等敏感信息的處理受到更多的關注。這些都使得TrustZone技術在移動平臺的可信證明技術中得到廣泛的研究和支持。
使用TrustZone技術構建可信執行環境,不必對平臺的硬件進行任何改動,這就克服和定制的安全產品成本高、研究周期長的所點。而且TrustZone中安全環境能夠擁有全部的CPU資源,性能是TPM芯片不能與之相比的,也不會出現性能瓶頸的問題。除此之外,TrustZone能夠對運行的代碼進行保護,給可信服務提供一個安全的運行環境,這是TPM芯片無法做到的。
不同于Intel TXT和AMD AVD技術,TrustZone中沒有TPM芯片,要使用TrustZone構建遠程證明環境,必須使之完成TPM的以下功能:
(1)身份標識:標識可信平臺模塊身份的密鑰,可用于對完整性值簽名。
(2)平臺數據保護:密鑰管理及數據加解密等密碼學功能
(3)完整性存儲與報告:完整性值等表征程序與平臺安全性和可信性的重要信息進行存儲,并對證實和報告其真實性
下面討論在TrustZone完成上述功能的方法。
3.1密鑰的建立過程
TrustZone自身帶有設備密鑰,但是由于其泄露后容易造成整個平臺無法完成可信性證明,所以不常使用。作為TrustZone技術的補充,物理不可克隆函數PUF技術常用來生成相關的平臺密鑰,文獻[2]論述了使用SRAM在ARM平臺上生成設備密鑰的過程。PUF同樣可以用來進行遠程證明中設備的密鑰生成,主要是生成背書密鑰EK,并由EK生成AIK公私鑰對,并使用AIK公鑰在認證中心CA生成AIK證書,就可以完成密鑰的生成。
3.2平臺數據保護
由于TrustZone采用硬件隔離的保護措施,所以對于安全環境中的數據,普通環境下的代理是無法訪問的,所以TrustZone天然擁有數據保護功能,不用進行特別設置。
3.3完整性存儲與報告
使用3.1節生成的EK對完整性值等表征程序與平臺安全性和可信性的重要信息進行加密存儲到非易失存儲器上,下次啟動時再生成設備密鑰進行解密,使TEE擁有完整性存儲和報告的功能。
這樣,TrustZone就完成了主要的TPM功能,從而能夠代替TPM芯片提供兼容性更好、性能更高的可信服務。
本文在討論在移動平臺中遠程證明存在的問題基礎上,總結了使用TrustZone構建遠程證明環境的優勢,以及使用TrustZone代替TPM芯片的主要方法。使用TrustZone等安全解決方案進行可信計算技術的研究是移動平臺可信計算研究的必然趨勢,也是當今研究的熱點,相信TrustZone技術的發展能為我們的隱私和財產安全提供更加高效可靠的保障。
[1]鄭顯義,李文,孟丹.TrustZone 技術的分析與研究[J].計算機學報,2016,38(9):1912-1928.
[2]Zhao S,Zhang Q,Hu G,et al.Providing root of trust for arm trustzone using on-chip sram[C].Proceedings of the 4th International Workshop on Trustworthy Embedded Devices,ACM,2014:25-36.
李曉策(1991—),男,河北石家莊人,碩士研究生在讀,研究方向:網絡安全、可信計算。
陳飛(1992—),男,安徽馬鞍山人,碩士研究生在讀,研究方向:密碼學。