當前位置:
首頁 > 最新 > Google的TEEOS-Trusty

Google的TEEOS-Trusty

前面聊了許多廠商的TEE實現,當然少不了Google!

目前各個廠商通常會在此ARM TrustZone基礎上各自實現自己的TEE OS系統,對Rich OS的介面、改動也不一致。比如說高通晶元平台採用的是QSEE,MTK晶元平台則有好多家TEE廠商提供OS,這造成了開發成本的上升以及軟體系統的碎片化等問題。而Trusty OS就是Google針對這些問題提出的解決方案。

可信任(Trusty)是一套支持可信任執行環境的軟體組件(TEE)。TEE可在移動設備運行。Trusty包括幾個部分:

看看Google是怎麼介紹自己的TEE的:

任何 TEE OS都可以用來實現 TEE 。換言之, TEE 是一個規範。具體的實現可以不同。TEE所運行的處理器通常是系統中一個獨立的處理器,或者是主處理器的一個虛擬化實例。TEE 處理器利用硬體支持的內存和 I/O 保護機制,實現和系統其他部分的隔離。

現代移動設備中,TEE 處理器方式已經被廣泛使用。一般而言,移動設備中的主處理器被認為是「不安全的 (untrusted) 」,並且不能訪問某些特定的內存、硬體寄存器、OTP/Fuse等。OTP/Fuse 硬體組件一般可以用於保存設備相關的加密密鑰等信息)。運行在主處理器上面的軟體把需要訪問秘密數據的任何操作都委託給 TEE 處理器代理操作。

一個典型的並被廣泛使用的 TEE 例子就是版權管理機制 DRM。主處理器只能看見加密後的內容;TEE 處理器則可以訪問解密密文所需要的設備特定密鑰。此模型提供了一個可防範軟體攻擊的高級別安全保護機制。

除此以外,還有許多利用了TEE的場景案例:

·移動支付/ mobile payments

·銀行安全/ secure banking

·磁碟加密/ full-disk encryption

·多級授權/ multi-factor authentication

·重置保護/ device reset protection

·無線顯示/ wireless display, screen cast

·安全密碼/ secure PIN

·指紋識別/ fingerprint recognition

·木馬檢測/ malware detection

Trusty提供API, 可用於兩類應用程序的開發:

·運行在TEE處理器的可信任應用程序或服務

·普通/未信任應用程序,其運行在主處理器並且利用TEE處理器提供的服務

運行在主處理器的程序利用 Trusty API 連接受信任的應用程序以交換任意信息,彷彿通過基於 IP 的網路服務一樣。應用程序自己定義信息交換的格式和語法。信息的可靠傳輸是通過 Trusty 基礎架構來保證的,該信息傳輸是完全非同步的。

受信任程序在 TEE 操作系統內核中以隔離的進程方式運行。每個進程運行在自身的虛擬內存沙盒中,該沙盒利用 TEE 處理器的 MMU 機制實現。內核被一個受保護的時鐘節拍器驅動, 採用基於優先順序的,循環演算法調度機制。在當前的安卓 Trusty 實現中,所有進程共享同一優先順序。

所有 Trusty 應用程序都是單線程。目前不支持多線程。

Trusty 應用程序一旦被載入,則僅初始化一次並常駐內存,直到系統再次重啟。

Trusty 應用程序不支持動態載入和動態卸載。

Trusty 應用程序被設計成事件驅動型的伺服器模式(event-driven server),它等待來自其他 TEE 處理器程序或者主處理器程序的命令。受信任程序也可以被設計成其他伺服器程序的客戶端。

當前所有Trusty 程序都是由同一組織開發並同 Trusty 內核映像進行打包,產生一個完整的簽名軟體映像。在開機的時候,bootloader 會進行簽名驗證。目前 Trusty 尚不支持第三方開發應用程序。

儘管 Trusty OS 支持新應用程序的開發,但是需要極度小心此類開發。每個新應用程序都將增大系統受信任計算環境 (Trusted Computing Base) 的區域。受信任程序可以訪問設備秘密信息並且執行相關的計算和數據傳輸。


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

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


請您繼續閱讀更多來自 安智客 的精彩文章:

你知道有多少物聯網操作系統嗎
圖解手機盾的安全設計(二)
華為物聯網解決方案綜述
在高通晶元的手機上怎麼玩人工智慧?
淺談三星KNOX安全解決方案

TAG:安智客 |