1. 程式人生 > >TEE+SE 是移動安全的終極解決方案嗎?

TEE+SE 是移動安全的終極解決方案嗎?

轉自:https://www.sohu.com/a/167500361_279109

  隨著移動智慧裝置的快速普及,移動應用全方位地改變著網民的生活習慣,對人們的通訊、社交、娛樂和購物等各方面產生重要影響。近年來,各類移動應用的使用者規模和使用率均保持快速增長,電子商務類應用和娛樂類應用表現尤為突出,移動應用逐漸從碎片化的溝通、資訊類應用向時長較長的娛樂、商務類應用發展,並通過打車、共享單車、地圖和支付等應用加大對社會生活服務的滲透。

  使用者在享受移動支付、移動辦公、移動娛樂等帶來的巨大便利的同時,也面臨著資訊洩露、資訊破壞、非法訪問、竊聽假冒、木馬病毒等日益嚴重的安全威脅。日常生活中,由於移動智慧裝置安全問題導致資訊洩露、財產受損的事例比比皆是。

縱觀這些問題的根源,是金鑰執行環境和金鑰的安全問題。現代密碼體系是唯金鑰安全的安全架構,身份認證的基礎依賴於傳統PKI體系的私鑰安全,儲存在移動終端上的金鑰就成為攻擊者攻擊整個安全系統的最主要的手段。本文將從傳統的PC環境開始,回顧總結過去、現在、未來終端金鑰保護技術的趨勢和方向。

一、基於安全元件(Secure Element)金鑰保護技術

在傳統的PC上,金鑰通常都直接儲存在硬碟上。隨著移動支付的普及,這種金鑰裸奔的方式逐漸的暴露出了各種問題,導致支付等應用屢屢出現問題,根本原因是:金鑰需要儲存在可信的安全的環境中。由於作業系統的複雜性,導致這雜種假設根本不成立,所以產生了第一代U盾產品,也就是國內比較早的安全元件的概念產品,既然作業系統很複雜,可以找個低複雜度的系統來完成運算,保證金鑰不出U盾,從而保證了金鑰的安全。但隨著時間的推移,發現執行在Slave狀態下的U盾非常容易受到欺騙,病毒程式可以隨意欺騙U盾完成密碼運算,所以,一代U盾就自然地過渡到了可顯示、可確認的第二代U盾,即使用者必須通過不能被作業系統軟體控制的顯示器和物理按鍵來完成密碼計算,從而確保密碼裝置正確接受了真實的使用者意願。安全元件的安全不僅僅在於隔離,還需要考慮正確執行真實的使用者意圖問題。

我們需要更強的安全假設,來服務於需要更高安全級別的系統信任根。將金鑰儲存到簡單安全元件裡,解決了複雜的軟體不可控,容易有漏洞從而關鍵資訊容易被偷竊盜用的安全風險,安全元件自身還需要面對各種各樣的其他攻擊。因為軟體系統簡單,硬體元器件相對較少,故而容易建立物理防護和實施安全保障,從而提高安全元件的安全強度,從而可以服務於安全假設更強的安全系統。

隨著移動網際網路的發展,在移動終端上使用額外的安全元件會導致成本的提高,外接安全元件時會導致使用者體驗下降。我們迫切需要一種更為便捷易用和價格低廉的金鑰保護技術。TEE的概念,正逐漸地重視起來。

二、基於可信執行環境(TEE)的金鑰保護技術

為了解決純硬體安全防護在移動終端上部署不便的弊端,開放移動終端組織提出了可信執行環境 (Trusted Execution Environment,簡稱TEE)的概念和方案,即純軟體的環境和安全元件之間的折中方案。TEE旨在構建一個資源豐富的執行環境,從裝置自身來提高安全性,能夠進行各種各樣的應用擴充套件,為使用者使用和服務提供商的開發提供了更大的空間與自由度。

TEE總體層次架構圖如下所示:

普通執行環境(Rich Execution Environment,簡稱REE)包括執行在通用的嵌入式處理器上的普通作業系統(Rich Operating System,簡稱Rich OS)及其上的客戶端應用程式。儘管在REE中採取了很多諸如裝置訪問控制、裝置資料加密機制、應用執行時的隔離機制、基於許可權的訪問控制等安全措施,但仍無法保證敏感資料的安全性。TEE是運行於普通作業系統之外的獨立執行環境,其向一般作業系統提供安全服務並且與Rich OS隔離。Rich OS及其上的應用程式無法直接訪問TEE的硬體和軟體資源。

TEE的目標是在移動裝置的主晶片中建立一個可信執行環境,它是硬體可信的。TEE為可信應用(通過TEE授權的、可信的軟體)提供可信賴的執行環境,再通過對機密性、完整性的保護和資料訪問許可權的控制,確保端到端的安全。可信執行環境與終端原有作業系統並行,通過安全的API與原有系統進行互動。

TEE提供了介於典型作業系統和安全元件(SE)之間的一種適度安全性。它提供了一個比Rich OS更高安全等級的執行環境,但無法提供硬體隔離級別的安全的金鑰儲存和金鑰執行環境由於TEE中的密碼單元仍舊通過API供REE呼叫,簡單採用TEE編制的密碼模組仍舊會工作在被動被呼叫的Slave模式下,在Slave模式下的SE的安全弱點它也都有。人們也正在設計更好的工作方法,確保具備更好的安全性。

三、基於TEE+SE的金鑰保護技術

在認識到TEE存在的這些問題後,金融界發力、廠商配合,華為等公司推出了板載SE的手機。尤其隨著生物識別技術的爆發式發展, FIDO等協議的推廣,板載SE的支撐也逐步成了目前移動終端的標配。

TEE+SE的方案整體來說比較複雜,原理上也會覺得有冗餘,業界一般希望通過TEE來構建可信的顯示,打通領會真實使用者意圖的通道,SE來構建可信的安全的金鑰儲存和金鑰運算環境,試圖終結移動安全方面針對金鑰安全問題的討論。然而,使用者又如何知道和區分TEE和REE呢,使用者又如何有效地控制SE呢。當病毒或黑客的能力足夠強大的時候,我們如何保障SE不被非法地呼叫,手機使用者不會被病毒和黑客欺騙就成為目前的重要問題。

四、基於CloudSE的金鑰保護技術

基於安全元件SE、基於可信執行環境TEE和基於TEE+SE的身份認證方案中,金鑰及關鍵資料都是在移動終端中進行保護,不但面臨著移動終端上各種惡意軟體的威脅,同時也存在著丟失後難以恢復等問題。在SE為基礎的系統中,SE的安全是信任的錨點,但是SE真的安全嗎?SE在焊接到手機板卡後,他已經沒有能力來抵禦未來存在的可能的攻擊。

CloudSE將金鑰及關鍵資料在雲端進行保護,不再依賴於移動終端自身的防護能力,可以提供集中式的安全防護,同時方便使用者進行恢復。同時,其不再依賴於安全元件SE的安全儲存和可信執行環境TEE,由雲端的伺服器模擬完成SE功能,從軟體層面擺脫了硬體的限制,為安全支付領域的應用擴充套件提供了便利條件。CloudSE方案不依賴特殊的安全硬體,應用廠商可以獨立完成業務流程,脫離了傳統的SE晶片載體的限制,各類應用的金鑰被儲存在雲端伺服器,在雲端呼叫相應金鑰進行身份認證,大大降低了移動終端受到侵害後導致關鍵資料洩露的風險。

雲端成為整個方案的核心部位,雖然可以對關鍵資料進行更高強度的保護,但是一旦被敵手攻破,就會導致大量使用者的關鍵資料被竊取,造成巨大的經濟損失。況且,作為雲端,未來資料集中、計算集中後,最大的問題就是如何得到使用者信任的問題。

五、基於移動KEY的金鑰保護技術

上述四種身份認證方案將金鑰等關鍵資訊儲存在單一節點(移動終端或者雲端),這使得該儲存節點成為整個系統的瓶頸:一旦該節點被攻破,移動智慧終端將會面臨嚴重的安全威脅。為了解決金鑰在單一節點儲存帶來的安全隱患,中國科學院資料與通訊保護研究教育中心(DCS中心)提出了基於金鑰拆分技術的移動KEY金鑰保護方案:將金鑰將拆分成兩個部分,分別儲存在服務端和移動終端,使用時進行協作計算,金鑰不會在任何一方完整出現,即參與運算的任何一方都不會拿到完整的金鑰。同時,儲存在移動終端的部分金鑰也採用白盒密碼的相關技術分散在終端內,並於裝置繫結,永遠不合成出現。DCS中心移動KEY的金鑰保護方案通過了國家密碼管理局的安全性審查,並取得了商用密碼產品型號證書,命名為SHM1703智慧移動終端安全密碼模組。

移動KEY可為電子政務、移動辦公、智慧城市、銀行、網際網路金融、電子商務等移動網際網路應用提供了密碼運算支撐能力,可用於身份認證、電子簽名、資料保護等。

此種方案的核心思想是對金鑰進行了拆分和分別的儲存,雲端和終端有了一定的安全制衡關係,只有雙方協作才能完成密碼運算功能,參與運算的任何一方不能完整掌握金鑰。在不需要可信顯示的應用場景,這個方案的安全級別可以歸約到安全元件的安全級別。在最壞的攻擊場景下,攻擊者可以有條件地使用金鑰,但不能完全掌握金鑰。

移動KEY的安全特點主要有:

1. 是國內首款達到GM/T 0028-2014 《密碼模組安全技術要求》安全等級第二級的軟體密碼模組,可以支援一般的金融交易和網上政務商務應用。

2. 利用移動終端中的硬體資訊構造本地部分金鑰的部分金鑰,從而實現金鑰與裝置的繫結。通過硬體資訊繫結確保即使全部記憶體和軟體全部拷貝到其他裝置也無法重現該裝置中的部分金鑰。

3. 在部分金鑰中除硬體資訊外,剩下的部分金鑰繼續採用拆分演算法和白盒密碼的手段,同時確保部分金鑰在計算過程中永遠不合成,來提高包括側通道攻擊在內的各種攻擊手段的門檻。直接在拆分狀態下進行計算確保了一般的黑客無法直接發現裝置中部分金鑰。

4. 由於移動KEY採用軟體實現,其整合的監控功能只有使用者許可的APP才能使用密碼計算,從而確保病毒和其他非法軟體無法呼叫移動KEY的密碼功能。

5. 移動KEY的關鍵部分採用彙編和C編碼,整體還採用了常規的程式碼混淆技術,確保一般軟體分析難以奏效。

6. 通過預設的安全圖片和安全提示,確保使用者只在移動KEY正確執行時使用者輸入PIN碼、驗證指紋和檢視簽名信息,確保移動 KEY僅執行使用者授意的數字簽名和密碼計算。

結束語儘管移動KEY具備很多安全優勢和應用便利,但仍舊有許多可以改進的空間,絕對安全的裝置是不存在的。比如,將白盒密碼運算部分移植到TEE就可以更加增強移動KEY的安全性。我們熱切期盼新一代移動KEY儘快誕生,為進一步推進自主可控密碼在金融等重要領域的深入廣泛應用做出更大的貢獻。

(本文刊登於《中國資訊保安》雜誌2017年第7期)