日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

01-Secure Payload Dispatcher (SPD)

發(fā)布時(shí)間:2025/3/21 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 01-Secure Payload Dispatcher (SPD) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

引流關(guān)鍵詞: TF-A,TF-M,ATF,TrustedFirmware,trustzone,TEE,optee,trusty,tlk,lk,armv8,armv9,arm,secureboot,BL31,BL32,BL1,BL2,hypervisor,終端安全,secureboot,security,virtulization

快速鏈接:
.
👉👉👉 個(gè)人博客筆記導(dǎo)讀目錄(全部) 👈👈👈


👉[專欄目錄](méi)-ATF/FF-A/specification學(xué)習(xí)👈


目錄

        • 1.1. OP-TEE Dispatcher
        • 1.2.
          • 1.2.1. Trusted Little Kernel (TLK)
          • 1.2.2. Build TLK
          • 1.2.3. Input parameters to TLK
        • 1.3. Trusty Dispatcher
          • 1.3.1. Boot parameters
          • 1.3.2. Supported platforms

1.1. OP-TEE Dispatcher

opteed (optee dispatcher) 負(fù)責(zé)調(diào)度 optee os程序,它的介紹如下:

OP-TEE(Open Portable Trusted Execution Environment)
OP-TEE 是一種可信執(zhí)行環(huán)境 (TEE),旨在作為在 Arm 上運(yùn)行的伴隨著非安全 Linux 內(nèi)核的操作系統(tǒng), Cortex-A 內(nèi)核使用 TrustZone 技術(shù)。 OP-TEE 實(shí)現(xiàn)了TEE Internal Core API v1.1.x,它是公開(kāi)給可信應(yīng)用程序的 API 和 TEE 客戶端 API v1.0,它是描述如何與 TEE 通信的 API。 這些 API 在 GlobalPlatform API 規(guī)范中定義。

OP-TEE 是實(shí)現(xiàn) Arm TrustZone 技術(shù)的開(kāi)源可信執(zhí)行環(huán)境 (TEE)。 OP-TEE 已被移植到許多 Arm 設(shè)備和平臺(tái)。最初它是由 ST-Ericsson 開(kāi)發(fā)的專有 TEE 解決方案,后來(lái)轉(zhuǎn)移到 STMicroelectronics。

早在 2013 年,Linaro 就成立了安全工作組 (SWG : Security Working Group):SWG 最初的主要任務(wù)之一是開(kāi)展開(kāi)源 TEE 項(xiàng)目。在與各種 TEE 供應(yīng)商交談后,Linaro 開(kāi)始與 STMicroelectronics 合作,將他們的 TEE 解決方案從專有 TEE 轉(zhuǎn)變?yōu)殚_(kāi)源 TEE。經(jīng)過(guò)幾個(gè)月的重構(gòu)和重寫(xiě)代碼的主要部分,使其與 BSD 2-Clause 許可證兼容,它于 2014 年夏天左右向公眾發(fā)布。

2015 年,OP-TEE 項(xiàng)目的所有權(quán)從 STMicroelectronics 轉(zhuǎn)移到 Linaro。 2015 年至 2019 年期間,Linaro 是該項(xiàng)目的所有者,維護(hù)工作與 Linaro 的成員一起共享。 2019 年末,Linaro 將 OP-TEE 項(xiàng)目轉(zhuǎn)移到 TrustedFirmware.org 項(xiàng)目,該項(xiàng)目從那時(shí)起一直是管理機(jī)構(gòu)。 Linaro 仍然負(fù)責(zé)安排發(fā)布、處理安全事件等。但是在開(kāi)發(fā)和功能方面,有許多公司為該項(xiàng)目做出了貢獻(xiàn)。

1.2.

(TLK) Dispatcher
TLK dispatcher (TLK-D) 增加了對(duì) NVIDIA 可信小內(nèi)核 (TLK) 的支持,以與可信固件-A (TF-A) 配合使用。 TLK-D 可以通過(guò)將其包含在平臺(tái)的 makefile 中進(jìn)行編譯。 TLK 主要用于 Tegra SoC,因此雖然 TF-A 僅支持 Tegra 上的 TLK,但調(diào)度程序代碼只能為其他平臺(tái)編譯。

為了編譯 TLK-D,我們需要一個(gè) BL32 鏡像。 因?yàn)?#xff0c;TLKD 只需要編譯,任何 BL32 鏡像都可以。 要將 TLK 用作 BL32,請(qǐng)參閱“構(gòu)建 TLK”部分。

一旦 BL32 準(zhǔn)備就緒,就可以通過(guò)在構(gòu)建命令中添加“SPD=tlkd”來(lái)將 TLKD 包含在映像中。

1.2.1. Trusted Little Kernel (TLK)

TLK 是作為安全 EL1 運(yùn)行的可信操作系統(tǒng)。 它是 NVIDIA? 可信小內(nèi)核 (TLK) 技術(shù)的免費(fèi)開(kāi)源軟件 (FOSS) 版本,它擴(kuò)展了隨著小內(nèi)核 (LK) 的開(kāi)發(fā)而可用的技術(shù)。 您可以從 https://github.com/travisg/lk 下載用于 Arm、x86 和 AVR32 系統(tǒng)的 LK 模塊化嵌入式搶占式內(nèi)核

NVIDIA 實(shí)施了其 Trusted Little Kernel (TLK) 技術(shù),該技術(shù)設(shè)計(jì)為免費(fèi)和開(kāi)源的可信執(zhí)行環(huán)境 (OTE)。

TLK 功能包括:

  • Small, pre-emptive kernel
  • Supports multi-threading, IPCs, and thread scheduling
  • Added TrustZone features
  • Added Secure Storage
  • Under MIT/FreeBSD license
  • NVIDIA extensions to Little Kernel (LK) include:
  • User mode
  • Address-space separation for TAs
  • TLK Client Application (CA) library
  • TLK TA library
  • Crypto library (encrypt/decrypt, key handling) via OpenSSL
  • Linux kernel driver
  • Cortex A9/A15 support
  • Power Management
  • TrustZone memory carve-out (reconfigurable)
  • Page table management
  • Debugging support over UART (USB planned)

TLK 由 NVIDIA 在 http://nv-tegra.nvidia.com 上的 3rdparty/ote_partner/tlk.git 存儲(chǔ)庫(kù)下托管。 有關(guān) TLK 和 OTE 的詳細(xì)信息可以在位于“文檔”目錄_下的 Tegra_BSP_for_Android_TLK_FOSS_Reference.pdf 手冊(cè)中找到。

1.2.2. Build TLK

要構(gòu)建和執(zhí)行 TLK,請(qǐng)按照 Tegra_BSP_for_Android_TLK_FOSS_Reference.pdf手冊(cè)中“構(gòu)建 TLK 設(shè)備”部分的說(shuō)明進(jìn)行操作。

1.2.3. Input parameters to TLK

TLK 需要 TZDRAM 大小和包含引導(dǎo)參數(shù)的結(jié)構(gòu)。 BL2 將此信息作為 bl32_ep_info 結(jié)構(gòu)的成員傳遞給 EL3 軟件,其中 bl32_ep_info 是 bl31_params_t 的一部分(由 BL2 在 X0 中傳遞)

example:

bl32_ep_info->args.arg0 = TZDRAM size available for BL32 bl32_ep_info->args.arg1 = unused (used only on Armv7-A) bl32_ep_info->args.arg2 = pointer to boot args

1.3. Trusty Dispatcher

Trusty 是一組軟件組件,支持移動(dòng)設(shè)備上的可信執(zhí)行環(huán)境 (TEE),由 Google 發(fā)布和維護(hù)。

可在托管于 https://source.android.com/security/trusty 的 Trusty 的 Android 開(kāi)源項(xiàng)目 (AOSP) 網(wǎng)頁(yè)上找到詳細(xì)信息和構(gòu)建說(shuō)明

1.3.1. Boot parameters

通過(guò)提供特定于平臺(tái)的函數(shù),可以將自定義引導(dǎo)參數(shù)傳遞給 Trusty:

void plat_trusty_set_boot_args(aapcs64_params_t *args)

如果提供此函數(shù),則必須將 args->arg0 設(shè)置為分配給 trusty 的內(nèi)存大小。 如果平臺(tái)不提供此函數(shù),但定義了 TSP_SEC_MEM_SIZE,則默認(rèn)實(shí)現(xiàn)將從 TSP_SEC_MEM_SIZE 傳遞內(nèi)存大小。 args->arg1 可以設(shè)置為特定于平臺(tái)的參數(shù)塊,然后 args->arg2 應(yīng)設(shè)置為該塊的大小。

1.3.2. Supported platforms

在 Trusted Firmware-A 支持的所有平臺(tái)中,Trusty 只在 NVIDIA 的 Tegra SoC 驗(yàn)證和支持。

總結(jié)

以上是生活随笔為你收集整理的01-Secure Payload Dispatcher (SPD)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。