當前位置:
首頁 > 最新 > 物聯網安全與TEE結合探討

物聯網安全與TEE結合探討

(一)物聯網安全

從技術層次來看,物聯網有四個層次:感知層、網路層、平台層、應用層。

感知層,主要是感知信息,比如這個房間的溫濕度,窗帘是否打開,空調是否開啟等。溫濕度感測器、紅外檢測、攝像頭、麥克風等等都可以算在這一層次。這一層涉及到模組、晶元、基站、設備、感測器等

網路層,感測器讀取到信息後,就可以通過網路把數據發送到後台,構建網路的技術就是屬於網路層。這一層涉及到網關、各類協議Wifi、BluetoothLE、Zigbee、NFC、RF433、Z-Wave、紅外、NB-IoT、SigFox、loRa等

平台層,處理信息的一個層次,可以理解為雲端或後台伺服器。網路層把數據傳輸到後台伺服器,伺服器根據需要對數據進行存儲、計算、分析等等。

應用層,有人也把物聯網分為三個層次,其實是把平台和應用合併為業務層。這裡的應用層是指具體業務場景相結合起來的邏輯處理,如智慧城市、智能電網等與具體行的業務相關邏輯處理。

按照上述分層,每一層都面臨各自的安全威脅,同時又面臨整體的系統性安全威脅,本文僅針對感知層終端類設備的安全與TEE相結合展開討論。


(二)TEE簡介

首先,一句話了解TrustZone。

ARMTrustZone?技術是系統範圍的安全方法,提供硬體安全架構、SoC軟體安全架構、安全內核、安全啟動引導的安全方法,簡單理解使用TrustZone技術的晶元具備了硬體隔離的安全區域和非安全區域,並具備了可信安全啟動的能力保障。

其次,說說什麼是TEE

TEE,Trusted Execution Environment可信執行環境是Global Platform(GP)提出的概念。 2010年7月份,GlobalPlatform首次宣布了它們自己的TEE標準,首先關注TEE client API(與TEE交互的介面),後來擴展到包含TEE internal API,以及一整套TEE系統體系。GlobalPlatform的TEE規範構成現在TEE環境的基礎,任何商業或者開源產品一般都會參考該規範,並按照其定義的各種功能介面進行規範實現。GlobalPlatform包含的規範總結如下:

TEE Client APISpecification,規範主OS的應用與TEE的可信應用如何通信;

TEE Systems Architecture,TEE下的軟硬體體系結構描述;

TEE Internal APISpecification,規範如何開發能在TEE內部運行的可信應用;

TEE Secure Element APISpecification,規定TEE安全元素API的語法語義,適合開發可信apps的軟體開發者,為客戶端應用提供一個外部可視介面;

Trusted User Interface APISpecification,規範可信GUI,用戶能配置,TEE能安全控制;

TEE TA Debug Specification,規範GlobalPlatformTEE debug介面和協議。

TEE是和REE(Rich Execution Environment)相對應的,一般稱TEE和REE為Secure World和Normal World。Android跑在Normal World上,有些安全性要求比較高的行為,例如指紋的比對,支付時候用私鑰簽名的動作等,需要放到Secure World裡面去。TEE自身實現為一個獨立的OS,運行在SecureWord,具有其自身的執行空間,比Rich OS的安全級別更高,但是比起SE的安全性要低一些。但是TEE能夠滿足大多數應用的安全需求

再次,TEE和TrustZone之間是什麼關係

TEE是一套可信執行環境的規範定義,TrustZone提供硬體安全隔離技術,那麼可以基於帶有TrustZone技術的晶元上按照TEE標準規範實現一個TEEOS。

最後, TEE OS列舉

基於ArmTrustZone技術的TEE:高通QSEE,華為TrustCore,豆莢ISEE,TrustTonic等典型代表。

基於ArmTrustZone優化的蘋果Enclave TEE,蘋果基於ArmTrustZone進行優化開發了自己的enclave系統,封閉不對外開放


(三)TEE在物聯網安全領域的應用

首先,對物聯網環境中終端設備類型進行分類,對安全級別要求進行分級

終端類型分類

富終端:Android,Linux等操作系統,Cortex-A級晶元

瘦終端:Native OS,Cortex-M級微處理器

終端安全分級

高級 :金融支付級別。儲如個人金融交易(支付密碼、賬戶信息、登錄憑證指紋人臉、交易簽名),醫療、汽車、交通控制等涉及到人身財產和生命安全的等應用場景中,要求保障交互過程中數據的完整性、私密性、真實性,要求保障密鑰和數據存儲的安全性。

中級:一般應用級。儲如物聯網應用中監測、統計、查看等應用程序的許可權管理、身份認識等,要求保障交互過程中數據的完整性、私密性、真實性,對密鑰和數據存儲的安全性要求一般。

初級:儲如地理、氣象、環境等監測應用場景,要求保障密文通訊,有完整性檢查,對密鑰和數據的存儲安全不做要求。

註:安全分級不代表某些場景、設備、應用中安全不重要,安全是一個系統性的工程,重點需要考慮兩個平衡,一是安全防護成本與被攻擊造成損失的平衡,二是攻擊付出成本與獲取到的價值間的平衡。

終端類安全防護目前主流的技術手段

SE:Secure Element安全元件,簡稱SE,通常以晶元形式提供。為防止外部惡意解析攻擊,保護數據安全,在晶元中具有加密/解密邏輯電路

TEE:如上文所述,為可信執行環境。

軟體:軟體虛擬化技術製造安全和非安全隔離,自行設計的一些安全規則等

安全級別:

SE > TEE >軟體虛擬

SE安全級別最高,但存一定局限性:被動處理指令,主頻率低導致通訊和處理速度慢,沒有UI交互界面無法滿足某引場景豐富的人機交互需求。

TEE安全級別次之,基於TrustZone硬體安全隔離技術,相當於EAL2+安全級別,支持豐富的UI交互。

TEE+SE兩者結合能夠滿足金融支付EAL4+級別的安全要求。

TEE在物聯網領域到底能幹些什麼?

首先,結合上面的分類和分級,我們來看看TEE適用的場景

由此可見,TEE適用於基於帶有TrustZone的富終端,需要身份識別、許可權管理、金融交易等應用場景,例舉如下:

手機端:在物聯網生太環境中一般用於系統監測、控制管理、統計分析、許可權管理等環節,此過程會涉及到與後台業務系統的登錄、訪問、會話等,因此,可以考慮將應用做成TA程序,將會話中加解密運算、密鑰存儲、登錄存儲等信放在TEE環境中進行保護

車聯網:在車聯網中車機一般起動中控樞紐的作用,同時車機一般是基於Android系統進行開發,因此建議將車聯網中車主認證、ETC繳費,停車繳費、電子車牌功能放在TEE中加以保護

隨著物聯網在各行業應用的落地,儲如醫療、交通、工業等等領域,一般來說基於Arm Cortex-A和Cortex-M系列內核的晶元上運行Android或Linux系統的終端設備上都可以考慮利用TEE來進行安全防護,具體的安全應用方案需要結合各行業、應用進行特定的思考和設計,但其總體思路無外乎等敏感數據內容的存儲、密鑰的安全存儲、以及與後端業務系統端端的通訊保護策略,更高安全要求的還可以考慮增加SE來加強安全級別。

上述內容僅代表筆記拙見,如有謬誤歡迎指正。同時歡迎大家關注公眾號交流探討。

長按下方二維碼關注「乾元小站」


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 乾元小站 的精彩文章:

TAG:乾元小站 |