買這商品的人也買了...
-
$900$855 -
$354$336 -
$207測試架構師修煉之道 : 從測試工程師到測試架構師
-
$834$792 -
$948$901 -
$301勇敢的芯伴你玩轉 Xilinx FPGA
-
$403Go Web 編程 (Go Web Programming)
-
$407使用 Raspberry Pi 學習電腦體系結構 (Learning Computer Architecture with Raspberry Pi)
-
$203嵌入式 linux 開發技術基礎
-
$414$393 -
$534$507 -
$540$459 -
$474$450 -
$840$756 -
$474$450 -
$407零點起飛學 Xilinx FPGA
-
$399$315 -
$620$490 -
$420$332 -
$286虛擬化與網絡存儲技術
-
$650$514 -
$600$468 -
$551Visual C++ 2017 網絡編程實戰
-
$750$675 -
$403鯤鵬處理器架構與編程
相關主題
商品描述
TrustZone技術是一種提高ARM晶元安全性的技術,
OP-TEE是基於ARM的TrustZone技術搭建的可信執行環境。
兩者的結合可為系統軟體提供硬體級別的安全保護。
本書主要分為4篇,總計25章,第壹篇介紹了TrustZone技術的背景、
實現原理、系統基本框架以及OP-TEE開發環境的搭建;
第二篇分析了OP-TEE在REE和TEE中各組件的作用和聯繫,
為將OP-TEE集成到基於ARMv7/ARMv8處理器的開發平台打下基礎;
第三篇詳細介紹OP-TEE內核的中斷處理、線程管理和通信等主要功能的實現原理,
使讀者對TEEOS的架構設計有進一步的認識;
第四篇介紹基於OP-TEE在加密、解密、安全存儲、在線支付等方面的實際應用,
以及如何開發基於OP-TEE的可信應用程序和安全驅動軟體。
目錄大綱
推薦序
前言
致謝
第一篇基礎技術篇
第1章可信執行環境2
1.1系統存在的安全問題2
1.2 TEE如何保護數據安全2
1.3現有TEE解決方案3
1.3.1智能手機領域的TEE 4
1.3. 2智能電視領域的TEE 4
1.3.3 IoT領域及其他領域的TEE 5
1.4為什麼選擇OP-TEE 5
第2章ARM的TrustZone技術
2.1 TrustZone技術6
2.1.1片上系統硬件框架6
2.1.2 ARMv7架構的TrustZone技術7
2.1.3 ARMv8架構的TrustZone技術8
2.2 ARM安全擴展組件8
2.2.1 AXI總線上安全狀態位的擴展9
2.2.2 AXI-to-APB橋的作用9
2.2.3 TrustZone地址空間控制組件9
2.2.4 TrustZone內存適配器組件10
2.2.5 TrustZone保護控制器組件11
2.2.6 TrustZone中斷控制器組件12
2.2.7 Cache和MMU的擴展12
2.3 TrustZone技術對資源隔離的實現13
2.3.1中斷源的隔離13
2.3.2片上RAM和片上ROM的隔離13
2.3.3片外DRAM的隔離13
2.3.4外圍設備的隔離14
2.4小結14
第3章ARM可信固件15
3.1為什麼使用ATF 15
3.2 ATF的主要功能15
3.3 ATF與TEE的關係15
3.4小結16
第4章OP-TEE運行環境的搭建及編譯17
4.1獲取OP-TEE代碼並搭建運行環境17
4.1.1 OP-TEE開發環境的搭建17
4.1.2獲取OP -TEE的源代碼17
4.1.3獲取編譯OP-TEE的toolchain 18
4.1.4編譯QEMU 19
4.1.5運行OP-TEE 19
4.1.6運行xtest和optee_example_hello_world 19
4.2運行CA和TA示例19
4.2.1示例代碼的獲取和集成20
4.2.2目錄和文件創建21
4.2.3 CA端代碼的修改22
4.2.4 TA端代碼的修改22
4.2.5 TA和CA在OP-TEE的集成22
4.3 OP-TEE源代碼結構24
4.4 OP-TEE編譯25
4.4.1編譯目標的依賴關係25
4.4.2 bios.bin鏡像的生成過程27
4.4.3 run-only目標的執行28
4.5小結32
第二篇系統集成篇
第5章QEMU運行OP-TEE的啟動過程34
5.1 bios.bin的入口函數34
5.2 OP-TEE鏡像的加載和啟動36
5.3 Linux內核鏡像的加載和啟動37
5.4 rootfs的掛載38
5.5 OP-TEE驅動的啟動38
5.6 tee_supplicant的啟動39
5.7小結39
第6章安全引導功能及ATF的啟動過程40
6.1安全引導的作用40
6.2安全引導的原理40
6.2.1 ARMv7安全引導的過程41
6.2.2 ARMv8安全引導的過程42
6.3 ATF的啟動過程43
6.3.1 ATF中bl1的啟動44
6.3. 2 ATF中bl2的啟動49
6.3.3 ATF中bl31的啟動54
6.3.4 ATF中bl32的啟動57
6.3.5 ATF啟動過程小結59
6.4小結59
第7章OP-TEE OS的啟動過程60
7.1 OP- TEE鏡像啟動過程60
7.1.1 OP-TEE OS的入口函數60
7.1.2 OP-TEE的內核初始化過程60
7.1.3 OP-TEE服務項的啟動67
7.1.4 OP-TEE驅動的掛載69
7.2 ARM64位與ARM32位OP-TEE啟動過程的差異69
7.3小結71
第8章OP-TEE在REE側的上層軟件72
8.1 OP-TEE的軟件框架72
8.2 REE側libteec庫提供的接口73
8.2.1 libteec庫提供的接口說明73
8.2.2 CA調用libteec庫中接口的流程84
8.3 REE側的守護進程—tee_supplicant 84
8.3.1 tee_supplicant編譯生成和自啟動84
8.3.2 tee_supplicant入口函數85
8.3.3 tee_supplicant存放RPC請求的結構體87
8.3.4 tee_supplicant中的無限循環87
8.3.5 tee_supplicant獲取TA的RPC請求89
8.3.6 TA RPC請求的解析89
8.3.7 RPC請求的處理90
8.3.8回复RPC請求90
8.4各種RPC請求的處理91
8.4.1加載TA鏡像91
8.4.2操作REE側的文件系統92
8.4.3操作RPMB 93
8.4.4分配共享內存93
8.4.5釋放共享內存94
8.4.6記錄程序執行效率95
8.4.7網絡套接字操作97
8.5小結97
第9章REE側OP-TEE的驅動98
9.1 OP-TEE驅動模塊的編譯保存98
9.2 REE側OP-TEE驅動的加載99
9.2.1設備號和class的初始化100
9.2.2 optee_driver_init函數101
9.2.3掛載驅動的probe操作101
9.2.4獲取切換到Monitor模式或EL3的接口103
9.2.5驅動版本和API版本校驗105
9.2.6判定OP-TEE是否預留共享內存空間106
9.2.7配置驅動與OP-TEE之間的共享內存106
9.2.8分配和設置tee0和teepriv0的設備信息結構體變量109
9.2.9 tee0和teepriv0設備的註冊111
9.2.10請求隊列的初始化112
9.2.11使能TEE中共享內存的緩存112
9.2.12 OP -TEE驅動掛載的總結113
9.3 REE側用戶空間對驅動的調用過程113
9.4 OP-TEE驅動中重要的結構體變量114
9.4.1 OP-TEE驅動的file_operation結構體變量tee_fops 114
9.4.2 tee0設備的tee_driver_ops結構體變量optee_ops 114
9.4.3 teepriv0設備的操作結構體變量optee_supp_ops 115
9.4.4共享驅動緩存操作變量tee_shm_dma_buf_ops 115
9.5 OP -TEE驅動與OP-TEE之間共享內存的註冊和分配116
9.6 libteec庫中的接口在驅動中的實現117