<strike id="kiyse"></strike>
  • <tr id="kiyse"></tr>
  • <strike id="kiyse"></strike><samp id="kiyse"><tbody id="kiyse"></tbody></samp>
    <strike id="kiyse"><s id="kiyse"></s></strike>
    <tr id="kiyse"></tr>
    <noframes id="kiyse"><code id="kiyse"></code></noframes>
    <th id="kiyse"></th>
    <samp id="kiyse"></samp>
  • <th id="kiyse"><s id="kiyse"></s></th>
  • 英創Linux主板支持基于Arm TrustZone的OP-TEE

     2023-12-14     作者:黃志超     聯系作者    
    文章標簽:C/C++

    OP-TEE(Open Source Project Trusted Execution Environment)主要是為用戶提供了一種安全存儲的機制,通過硬件對被保護的數據進行加密存儲,因此可以使用該機制來保存敏感數據、密鑰等信息。在進行對應操作時,設備會進入到被稱為TEE(Trusted Execution Environment)的環境下,和正常運行時的操作系統隔離開。隔離的實現是通過Arm芯片硬件(Arm TrustZone技術)來完成的,所以安全性和可靠性是非常高的。


    OP-TEE作為Trusted Execution Environment(TEE),是基于Arm TrustZone技術作為底層硬件隔離機制實現的。在TEE規范中,我們通常使用的操作系統,比如Linux,Android等,都屬于non-secure OS,也可被稱作REE(Rich Execution Environment),與TEE相對應。TEE是被設計可以作為non-secure OS的一部分在Arm芯片上運行的,以英創公司的Linux主板為例,這就相當于在主板的non-secure Linux中運行了一個OP-TEE OS,而OP-TEE OS就專門負責安全性要求的操作。


    為了保證安全性,通過Arm TrustZone技術的隔離機制,OP-TEE對REE的系統和應用是不可訪問的。因此在REE中是無法獲取到OP-TEE保存的數據的,舉一個簡單例子,手機中的指紋或者面容解鎖就會用到這一項技術,REE中的應用無法獲得指紋或者面容數據,只能得到一個是否驗證通過的結果,具體的驗證過程都是在TEE中完成的。


    通過上文簡單的介紹,可以看出REE和TEE之間是需要交互的。OP-TEE提供了CA/TA這種調用機制,因此實際應用中程序需要分為CA和TA兩部分。CA(client application)是運行在REE中的程序,也就是通常運行的普通業務代碼,而TA(trusted application)是運行在TEE中的,實現了具體需要在TEE中執行的操作。OP-TEE為TA提供了專用的TEE Internal Core API來實現具體的功能,為CA提供了TEE client API來與TA通信,獲取對應的安全服務。對于TEE Internal Core APITEE client API官網有詳細的介紹和說明,感興趣的客戶可以點擊鏈接查看。CA/TA的具體軟件架構可以參考下圖:

    image.png


    我們通過OP-TEE提供的一個簡單例程hello_world來看一下實際應用中是如何實現OP-TEE功能的。首先看例程的目錄結構,如下圖:

    image.png


    可以看到有host和ta兩個目錄,其中host中就是CA部分的代碼,而ta目錄就是TA部分的代碼。CA部分其實就是正常運行在Linux系統中的代碼,當遇到需要TEE相關功能時,就可以通過TEE client API來與TA通訊,并獲取對應的安全服務。例程在這里是直接發起了TEE相關的請求。CA編譯后會生成一個在Linux系統下可執行的二進制文件,可以拷貝到主板的任意目錄下。


    TA通過TEE Internal Core API來實現在TEE中具體的操作,所以根據需求不同,所實現功能也會不同,例程在這里只是簡單的打印了提示信息,表示成功調用TA并進入到了TEE中。TA通過編譯會生成一個只能在TEE中執行的.ta文件,需要拷貝到主板的/lib/optee_armtz/目錄中。


    在主板中可以直接運行CA生成的二進制文件,當CA調用TEE client API與TA通訊時,系統就會尋找到對應的.ta文件,并進入到TEE中執行。運行結果如下圖:

    image.png


    這里只是簡單介紹了一下OP-TEE的基礎概念,并表明英創Linux主板可以支持OP-TEE的運行。如果有感興趣的客戶,歡迎和英創的工程師聯系,獲取更加詳細的信息。

    文章標簽:C/C++
    2020精品国产自在现线看| 日韩精品免费在线视频| 91精品久久久久久久99蜜桃| 亚洲AV无码成人精品区蜜桃| 亚洲av午夜成人片精品网站| 久久久一本精品99久久精品66| 久久久精品2019中文字幕2020| 精品无码av一区二区三区| 久久久久久国产精品免费免费男同| 99精品国产在热久久无码| 精品国产V无码大片在线看| 天天拍夜夜添久久精品| 精品无码国产一区二区三区麻豆 | 91情国产l精品国产亚洲区| 国产精品久久久久久网站| 日韩精品在线播放| 久久99热这里只有精品国产| 97在线精品视频| 久久亚洲精品AB无码播放| 91国内揄拍国内精品对白不卡| 国内精品videofree720| 久热中文字幕在线精品首页| 日韩精品无码久久久久久| 精品国产一区二区三区不卡 | 国产精品成人免费一区二区| 亚洲一区精品中文字幕| 91精品久久国产青草| 亚洲精品制服丝袜四区| 国产成人高清精品一区二区三区| 久久精品国产72国产精福利| 亚洲av午夜成人片精品电影| 国产精品超碰12396| 国产精品三级在线观看无码| 久久精品国产亚洲av日韩| 国产精品麻豆成人AV网| 国产精品无码素人福利不卡| 久久99国产亚洲精品观看| 国产精品久久精品视| 国产精品视频二区不卡| 99久久99久久精品免费看蜜桃| 无码人妻精品一区二区蜜桃AV|