<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>
  • 英創(chuàng)Linux主板支持基于Arm TrustZone的OP-TEE

     2023-12-14     作者:黃志超     聯(lián)系作者    
    文章標(biāo)簽:C/C++

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


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


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


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

    image.png


    我們通過OP-TEE提供的一個(gè)簡單例程hello_world來看一下實(shí)際應(yīng)用中是如何實(shí)現(xiàn)OP-TEE功能的。首先看例程的目錄結(jié)構(gòu),如下圖:

    image.png


    可以看到有host和ta兩個(gè)目錄,其中host中就是CA部分的代碼,而ta目錄就是TA部分的代碼。CA部分其實(shí)就是正常運(yùn)行在Linux系統(tǒng)中的代碼,當(dāng)遇到需要TEE相關(guān)功能時(shí),就可以通過TEE client API來與TA通訊,并獲取對(duì)應(yīng)的安全服務(wù)。例程在這里是直接發(fā)起了TEE相關(guān)的請(qǐng)求。CA編譯后會(huì)生成一個(gè)在Linux系統(tǒng)下可執(zhí)行的二進(jìn)制文件,可以拷貝到主板的任意目錄下。


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


    在主板中可以直接運(yùn)行CA生成的二進(jìn)制文件,當(dāng)CA調(diào)用TEE client API與TA通訊時(shí),系統(tǒng)就會(huì)尋找到對(duì)應(yīng)的.ta文件,并進(jìn)入到TEE中執(zhí)行。運(yùn)行結(jié)果如下圖:

    image.png


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

    文章標(biāo)簽:C/C++
    网曝门精品国产事件在线观看| 久久国产精品无码一区二区三区| 精品国产专区91在线尤物| 97精品国产91久久久久久| 国产精品久久久久久久久久免费| 久久精品视频久久| 国产精品一区在线观看你懂的| 国产精品玖玖玖在线观看| 国产国产精品人在线视| 国产va免费精品| 国产精品无码AV不卡| 久久精品人妻中文系列| 国产精品99精品无码视亚| 国产A∨免费精品视频| 精品国产三级a∨在线观看| 亚洲精品综合久久中文字幕| 国产午夜精品一区二区三区| 亚洲国产精品嫩草影院久久| 精品国产免费观看久久久 | 国产精品亚洲精品| 极品精品国产超清自在线观看| 九九免费精品视频在这里| 成人国产精品秘片多多| 国产精品白丝在线观看有码| 无码人妻精品一区二区三区99仓本| 精品久久久久久国产牛牛app| 国产精品三级国语在线看| 亚洲欧洲精品成人久久曰| 91麻豆精品国产91久久久久久| 青青草原精品国产亚洲av| 久久国产成人精品麻豆| 91精品国产自产在线观看永久| 亚欧洲精品在线视频免费观看| 日韩精品福利在线| 国产精品视频在线观看| 亚洲精品无码av中文字幕| 999国内精品永久免费观看| 精品久久久久香蕉网| 亚洲精品高清国产麻豆专区| 日韩国产精品无码一区二区三区| 久久免费国产精品一区二区|