TEE+SE 是移動安全的終極解決方案嗎(ma)?
發布時間:
2017-12-27
來(lái)源:
■ 中國(guó)科(kē)學院數據與通信保護研究教育中心 馬存慶 劉宗斌 荊繼武
随着移動智能設備的快(kuài)速普及,移動應用全方位地改變着網民(mín)的生(shēng)活習慣,對人(rén)們的通信、社交、娛樂和購(gòu)物等各方面産生(shēng)重要影(yǐng)響。近年(nián)來(lái),各類移動應用的用戶規模和使用率均保持快(kuài)速增長,電子商務類應用和娛樂類應用表現尤爲突出,移動應用逐漸從(cóng)碎片化的溝通、信息類應用向時長較長的娛樂、商務類應用發展,并通過打車、共享單車、地圖和支付等應用加大(dà)對社會生(shēng)活服務的滲透。
用戶在享受移動支付、移動辦公、移動娛樂等帶來(lái)的巨大(dà)便利的同時,也面臨着信息洩露、信息破壞、非法訪問(wèn)、竊聽假冒、木馬病毒等日(rì)益嚴重的安全威脅。日(rì)常生(shēng)活中,由于移動智能設備安全問(wèn)題導緻信息洩露、财産受損的事(shì)例比比皆是。
縱觀這些問(wèn)題的根源,是密鑰運行環境和密鑰的安全問(wèn)題。現代密碼體(tǐ)系是唯密鑰安全的安全架構,身(shēn)份認證的基礎依賴于傳統PKI體(tǐ)系的私鑰安全,存儲在移動終端上的密鑰就(jiù)成爲攻擊者攻擊整個安全系統的最主要的手段。本文将從(cóng)傳統的PC環境開始,回顧總結過去(qù)、現在、未來(lái)終端密鑰保護技術(shù)的趨勢和方向。
一、基于安全元件(jiàn)(Secure Element)密鑰保護技術(shù)
在傳統的PC上,密鑰通常都(dōu)直接存儲在硬盤上。随着移動支付的普及,這種密鑰裸奔的方式逐漸的暴露出了各種問(wèn)題,導緻支付等應用屢屢出現問(wèn)題,根本原因是:密鑰需要存儲在可(kě)信的安全的環境中。由于操作(zuò)系統的複雜性,導緻這雜種假設根本不成立,所以産生(shēng)了第一代U盾産品,也就(jiù)是國(guó)内比較早的安全元件(jiàn)的概念産品,既然操作(zuò)系統很複雜,可(kě)以找個低複雜度的系統來(lái)完成運算,保證密鑰不出U盾,從(cóng)而保證了密鑰的安全。但(dàn)随着時間的推移,發現運行在Slave狀态下的U盾非常容易受到欺騙,病毒程序可(kě)以随意欺騙U盾完成密碼運算,所以,一代U盾就(jiù)自(zì)然地過渡到了可(kě)顯示、可(kě)确認的第二代U盾,即用戶必須通過不能被操作(zuò)系統軟件(jiàn)控制的顯示器和物理(lǐ)按鍵來(lái)完成密碼計(jì)算,從(cóng)而确保密碼設備正确接受了真實的用戶意願。安全元件(jiàn)的安全不僅僅在于隔離(lí),還(hái)需要考慮正确執行真實的用戶意圖問(wèn)題。
我們需要更強的安全假設,來(lái)服務于需要更高安全級别的系統信任根。将密鑰存儲到簡單安全元件(jiàn)裡(lǐ),解決了複雜的軟件(jiàn)不可(kě)控,容易有漏洞從(cóng)而關鍵信息容易被偷竊盜用的安全風(fēng)險,安全元件(jiàn)自(zì)身(shēn)還(hái)需要面對各種各樣的其他(tā)攻擊。因爲軟件(jiàn)系統簡單,硬件(jiàn)元器件(jiàn)相(xiàng)對較少,故而容易建立物理(lǐ)防護和實施安全保障,從(cóng)而提高安全元件(jiàn)的安全強度,從(cóng)而可(kě)以服務于安全假設更強的安全系統。
随着移動互聯網的發展,在移動終端上使用額外的安全元件(jiàn)會導緻成本的提高,外置安全元件(jiàn)時會導緻用戶體(tǐ)驗下降。我們迫切需要一種更爲便捷易用和價格低廉的密鑰保護技術(shù)。TEE的概念,正逐漸地重視起來(lái)。
二、基于可(kě)信執行環境(TEE)的密鑰保護技術(shù)
爲了解決純硬件(jiàn)安全防護在移動終端上部署不便的弊端,開放(fàng)移動終端組織提出了可(kě)信執行環境 (Trusted Execution Environment,簡稱TEE)的概念和方案,即純軟件(jiàn)的環境和安全元件(jiàn)之間的折中方案。TEE旨在構建一個資源豐富的執行環境,從(cóng)設備自(zì)身(shēn)來(lái)提高安全性,能夠進行各種各樣的應用擴展,爲用戶使用和服務提供商的開發提供了更大(dà)的空間與自(zì)由度。
TEE總體(tǐ)層次架構圖如(rú)下所示:
普通執行環境(Rich Execution Environment,簡稱REE)包括運行在通用的嵌入式處理(lǐ)器上的普通操作(zuò)系統(Rich Operating System,簡稱Rich OS)及其上的客戶端應用程序。盡管在REE中采取了很多諸如(rú)設備訪問(wèn)控制、設備數據加密機(jī)制、應用運行時的隔離(lí)機(jī)制、基于權限的訪問(wèn)控制等安全措施,但(dàn)仍無法保證敏感數據的安全性。TEE是運行于普通操作(zuò)系統之外的獨立運行環境,其向一般操作(zuò)系統提供安全服務并且與Rich OS隔離(lí)。Rich OS及其上的應用程序無法直接訪問(wèn)TEE的硬件(jiàn)和軟件(jiàn)資源。
TEE的目标是在移動設備的主芯片中建立一個可(kě)信執行環境,它是硬件(jiàn)可(kě)信的。TEE爲可(kě)信應用(通過TEE授權的、可(kě)信的軟件(jiàn))提供可(kě)信賴的運行環境,再通過對機(jī)密性、完整性的保護和數據訪問(wèn)權限的控制,确保端到端的安全。可(kě)信執行環境與終端原有操作(zuò)系統并行,通過安全的API與原有系統進行交互。
TEE提供了介于典型操作(zuò)系統和安全元件(jiàn)(SE)之間的一種适度安全性。它提供了一個比Rich OS更高安全等級的運行環境,但(dàn)無法提供硬件(jiàn)隔離(lí)級别的安全的密鑰存儲和密鑰運行環境由于TEE中的密碼單元仍舊通過API供REE調用,簡單采用TEE編制的密碼模塊仍舊會工(gōng)作(zuò)在被動被調用的Slave模式下,在Slave模式下的SE的安全弱點它也都(dōu)有。人(rén)們也正在設計(jì)更好的工(gōng)作(zuò)方法,确保具備更好的安全性。
三、基于TEE+SE的密鑰保護技術(shù)
在認識到TEE存在的這些問(wèn)題後,金融界發力、廠(chǎng)商配合,華爲等公司推出了闆載SE的手機(jī)。尤其随着生(shēng)物識别技術(shù)的爆發式發展, FIDO等協議(yì)的推廣,闆載SE的支撐也逐步成了目前移動終端的标配。
TEE+SE的方案整體(tǐ)來(lái)說(shuō)比較複雜,原理(lǐ)上也會覺得(de)有冗餘,業界一般希望通過TEE來(lái)構建可(kě)信的顯示,打通領會真實用戶意圖的通道,SE來(lái)構建可(kě)信的安全的密鑰存儲和密鑰運算環境,試圖終結移動安全方面針對密鑰安全問(wèn)題的討(tǎo)論。然而,用戶又如(rú)何知道和區分(fēn)TEE和REE呢(ne),用戶又如(rú)何有效地控制SE呢(ne)。當病毒或黑(hēi)客的能力足夠強大(dà)的時候,我們如(rú)何保障SE不被非法地調用,手機(jī)用戶不會被病毒和黑(hēi)客欺騙就(jiù)成爲目前的重要問(wèn)題。
四、基于CloudSE的密鑰保護技術(shù)
基于安全元件(jiàn)SE、基于可(kě)信執行環境TEE和基于TEE+SE的身(shēn)份認證方案中,密鑰及關鍵數據都(dōu)是在移動終端中進行保護,不但(dàn)面臨着移動終端上各種惡意軟件(jiàn)的威脅,同時也存在着丢失後難以恢複等問(wèn)題。在SE爲基礎的系統中,SE的安全是信任的錨點,但(dàn)是SE真的安全嗎(ma)?SE在焊接到手機(jī)闆卡後,他(tā)已經沒有能力來(lái)抵禦未來(lái)存在的可(kě)能的攻擊。
CloudSE将密鑰及關鍵數據在雲端進行保護,不再依賴于移動終端自(zì)身(shēn)的防護能力,可(kě)以提供集中式的安全防護,同時方便用戶進行恢複。同時,其不再依賴于安全元件(jiàn)SE的安全存儲和可(kě)信執行環境TEE,由雲端的服務器模拟完成SE功能,從(cóng)軟件(jiàn)層面擺脫了硬件(jiàn)的限制,爲安全支付領域的應用擴展提供了便利條件(jiàn)。CloudSE方案不依賴特殊的安全硬件(jiàn),應用廠(chǎng)商可(kě)以獨立完成業務流程,脫離(lí)了傳統的SE芯片載體(tǐ)的限制,各類應用的密鑰被存儲在雲端服務器,在雲端調用相(xiàng)應密鑰進行身(shēn)份認證,大(dà)大(dà)降低了移動終端受到侵害後導緻關鍵數據洩露的風(fēng)險。
雲端成爲整個方案的核心部位,雖然可(kě)以對關鍵數據進行更高強度的保護,但(dàn)是一旦被敵手攻破,就(jiù)會導緻大(dà)量用戶的關鍵數據被竊取,造成巨大(dà)的經濟損失。況且,作(zuò)爲雲端,未來(lái)數據集中、計(jì)算集中後,最大(dà)的問(wèn)題就(jiù)是如(rú)何得(de)到用戶信任的問(wèn)題。
五、基于移動KEY的密鑰保護技術(shù)
上述四種身(shēn)份認證方案将密鑰等關鍵信息存儲在單一節點(移動終端或者雲端),這使得(de)該存儲節點成爲整個系統的瓶頸:一旦該節點被攻破,移動智能終端将會面臨嚴重的安全威脅。爲了解決密鑰在單一節點存儲帶來(lái)的安全隐患,中國(guó)科(kē)學院數據與通信保護研究教育中心(DCS中心)提出了基于密鑰拆分(fēn)技術(shù)的移動KEY密鑰保護方案:将密鑰将拆分(fēn)成兩個部分(fēn),分(fēn)别存儲在服務端和移動終端,使用時進行協作(zuò)計(jì)算,密鑰不會在任何一方完整出現,即參與運算的任何一方都(dōu)不會拿到完整的密鑰。同時,存儲在移動終端的部分(fēn)密鑰也采用白(bái)盒密碼的相(xiàng)關技術(shù)分(fēn)散在終端内,并于設備綁定,永遠(yuǎn)不合成出現。DCS中心移動KEY的密鑰保護方案通過了國(guó)家密碼管理(lǐ)局的安全性審查,并取得(de)了商用密碼産品型号證書(shū),命名爲SHM1703智能移動終端安全密碼模塊。
移動KEY可(kě)爲電子政務、移動辦公、智慧城(chéng)市、銀行、互聯網金融、電子商務等移動互聯網應用提供了密碼運算支撐能力,可(kě)用于身(shēn)份認證、電子簽名、數據保護等。
此種方案的核心思想是對密鑰進行了拆分(fēn)和分(fēn)别的存儲,雲端和終端有了一定的安全制衡關系,隻有雙方協作(zuò)才能完成密碼運算功能,參與運算的任何一方不能完整掌握密鑰。在不需要可(kě)信顯示的應用場景,這個方案的安全級别可(kě)以歸約到安全元件(jiàn)的安全級别。在最壞的攻擊場景下,攻擊者可(kě)以有條件(jiàn)地使用密鑰,但(dàn)不能完全掌握密鑰。
移動KEY的安全特點主要有:
1. 是國(guó)内首款達到GM/T 0028-2014 《密碼模塊安全技術(shù)要求》安全等級第二級的軟件(jiàn)密碼模塊,可(kě)以支持一般的金融交易和網上政務商務應用。
2. 利用移動終端中的硬件(jiàn)信息構造本地部分(fēn)密鑰的部分(fēn)密鑰,從(cóng)而實現密鑰與設備的綁定。通過硬件(jiàn)信息綁定确保即使全部内存和軟件(jiàn)全部拷貝到其他(tā)設備也無法重現該設備中的部分(fēn)密鑰。
3. 在部分(fēn)密鑰中除硬件(jiàn)信息外,剩下的部分(fēn)密鑰繼續采用拆分(fēn)算法和白(bái)盒密碼的手段,同時确保部分(fēn)密鑰在計(jì)算過程中永遠(yuǎn)不合成,來(lái)提高包括側信道攻擊在内的各種攻擊手段的門(mén)檻。直接在拆分(fēn)狀态下進行計(jì)算确保了一般的黑(hēi)客無法直接發現設備中部分(fēn)密鑰。
4. 由于移動KEY采用軟件(jiàn)實現,其集成的監控功能隻有用戶許可(kě)的APP才能使用密碼計(jì)算,從(cóng)而确保病毒和其他(tā)非法軟件(jiàn)無法調用移動KEY的密碼功能。
5. 移動KEY的關鍵部分(fēn)采用彙編和C編碼,整體(tǐ)還(hái)采用了常規的代碼混淆技術(shù),确保一般軟件(jiàn)分(fēn)析難以奏效。
6. 通過預設的安全圖片和安全提示,确保用戶隻在移動KEY正确運行時用戶輸入PIN碼、驗證指紋和查看(kàn)簽名信息,确保移動 KEY僅執行用戶授意的數字簽名和密碼計(jì)算。
結束語
盡管移動KEY具備很多安全優勢和應用便利,但(dàn)仍舊有許多可(kě)以改進的空間,絕對安全的設備是不存在的。比如(rú),将白(bái)盒密碼運算部分(fēn)移植到TEE就(jiù)可(kě)以更加增強移動KEY的安全性。我們熱(rè)切期盼新一代移動KEY盡快(kuài)誕生(shēng),爲進一步推進自(zì)主可(kě)控密碼在金融等重要領域的深入廣泛應用做出更大(dà)的貢獻。
科(kē)學院,數據,通信
|
相(xiàng)關資訊