相關主題
商品描述
本書以教程式講解為核心,圍繞物聯網設備安全展開,搭配入門引導、開發工具介紹、章節練習及重要提示,形成完整的學習體系。全書共14章,開篇先介紹平臺安全架構的核心目標與安全設備創建方法論,隨後指導讀者安裝Cortex-M主流工具鏈、搭建基礎項目,為後續學習奠定實踐基礎。第4~7章聚焦物聯網設備的密碼學與安全通信,從零講解適用於小型嵌入式設備的對稱算法、非對稱算法、哈希函數等密碼學知識,以及TLS協議、公鑰基礎設施,同時涵蓋MQTT物聯網協議、JSON/CBOR數據格式的應用,還有物聯網雲服務的設備連接、數據存儲與分析相關內容。第8~14章專註於設備安全防護,解析常見軟件黑客攻擊技術與安全編碼防禦方法,引入威脅建模概念;介紹PSA安全模型與Cortex-M33的Trustzone硬件隔離技術,講解基於該微控制器的安全設備設計、安全啟動流程及硬件安全加速器應用;詳解TF-M可信固件的設計、通信模型,以及其提供的各類安全服務與設備全生命周期管理, 介紹安全引導加載程序與固件 新客戶端的實現,以應對設備安全漏洞 新需求。全書每章均配備代碼樣例,引導讀者先實踐再自主編寫。
作者簡介
特雷弗·馬丁(Trevor Martin) Hitex UK 技術專家,1988年畢業於布魯內爾大學,獲電子工程榮譽學士學位。同年,他在飛利浦醫療系統擔任初級硬件工程師,1992年加入Hitex,擔任8位微控制器開發工具方向技術專家,工作涉及8051、68HC11/05/08系列微控制器;同時積累了CAN、USB、TCP/IP等網絡協議相關經驗。2000年起,他開始支持基於ARM架構的微控制器,先後負責ARM7、ARM9處理器平臺,之後轉向Cortex-M系列處理器。 為了推廣這類器件,他與恩智浦(NXP)、意法半導體(ST)深度合作,也與德州儀器(TI)、飛思卡爾(Freescale)有一定合作。自2005年起,他撰寫多部“Insider's Guide”系列圖書,作為LPC2000、STR9、STM32等ARM微控制器的入門教程。此外,他定期開設技術培訓課程,包括Cortex微控制器研修班以及各類器件專項課程。
目錄大綱
譯者序
序言
第1章 概述
1.1 ARM平臺安全架構
1.2 假設
1.3 本書結構
1.4 教程練習
1.5 重要提示
第2章 ARM平臺安全架構
2.1 概述
2.2 分析
2.2.1 通信攻擊
2.2.2 軟件攻擊
2.2.3 設備篡改
2.2.4 生命周期攻擊
2.2.5 應用威脅模型
2.3 架構
2.4 實施
2.4.1 安全啟動和輔助安全特性
2.4.2 二級引導加載程序
2.4.3 分區
2.4.4 可信固件
2.4.5 mbedTLS和mbedCrypto
2.4.6 軟件組件
2.5 認證
2.5.1 PSA Certified一級認證
2.5.2 PSA Certified二級認證
2.5.3 PSA Certified三級認證
2.6 總結
第3章 開發工具與設備平臺
3.1 概述
3.2 硬件
3.3 軟件
3.3.1 社區版許可
3.3.2 教程練習
3.3.3 練習:測試項目
3.4 安裝社區版許可(待辦)
3.4.1 設備支持
3.4.2 其他工具
3.4.3 CMSIS WiFi驅動
3.5 總結
第4章 密碼學基礎
4.1 概述
4.2 mbedTLS
4.3 信息保障
4.4 安全服務
4.5 加密算法
4.5.1 對稱加密算法
4.5.2 流加密算法
4.5.3 ARC4練習
4.5.4 分組加密算法
4.5.5 DES
4.5.6 2DES
4.5.7 3DES
4.5.8 DES-X
4.5.9 練習:DES和3DES算法
4.5.10 高級加密標準
4.5.11 練習:AES
4.6 流式分組加密算法
4.6.1 鏈接模式
4.6.2 練習:鏈接模式
4.6.3 加密算法抽象層
4.6.4 練習:加密抽象層
4.7 哈希函數
4.7.1 MD
4.7.2 安全哈希算法
4.7.3 鹽
4.7.4 練習:SHA-2哈希算法
4.7.5 消息認證碼
4.7.6 基於哈希的消息認證碼
4.7.7 哈希抽象層
4.7.8 練習:哈希和消息認證碼抽
象層
4.8 認證加密
4.8.1 帶關聯數據的認證加密
4.8.2 練習:在mbedTLS中使用
AEAD
4.9 隨機數
4.9.1 熵
4.9.2 隨機數生成器
4.9.3 真隨機數生成器
4.9.4 熵池
4.9.5 確定隨機比特流生成器
4.9.6 隨機性測試
4.9.7 練習:隨機數生成器
4.10 密鑰管理
4.10.1 創建密鑰
4.10.2 存儲密鑰
4.10.3 密鑰使用
4.10.4 密鑰派生函數
4.10.5 練習:密鑰派生函數
4.11 總結
第5章 密碼學之安全通信
5.1 概述
5.2 非對稱加密算法
5.2.1 RSA
5.2.2 練習:RSA小數
5.2.3 可延展性
5.2.4 練習:RSA可延展性
5.2.5 RSA填充
5.2.6 練習:mbedTLS RSA密鑰
生成和加/解密
5.2.7 RSA存在的問題
5.2.8 DH密鑰協商系統
5.2.9 練習:DH小數字
5.2.10 練習:DH密鑰協商協議
5.3 橢圓曲線密碼學
5.3.1 加法
5.3.2 二倍點
5.3.3 群元素
5.3.4 練習:橢圓曲線迪菲-赫爾
曼密鑰交換
5.4 消息簽名
5.4.1 RSA簽名
5.4.2 練習:RSA簽名
5.4.3 橢圓曲線數字簽名算法
5.4.4 練習:橢圓曲線數字簽名
5.5 使用非對稱加密算法
5.6 中間人攻擊
5.7 公鑰基礎設施
5.8 X.50 9證書
5.9 證書驗證
5.10 證書生命周期
5.11 證書吊銷列表
5.12 證書編碼
5.13 證書頒發機構的選擇
5.14 證書鏈
5.15 練習:創建X.50 9證書
5.15.1 證書頒發機構
5.15.2 服務器證書
5.15.3 設備證書
5.15.4 證書和密鑰存儲
5.15.5 練習:解析X.50 9證書
和密鑰
5.16 把它們用起來
5.17 練習:TLS服務器身份驗證
5.17.1 服務器和客戶端身份驗證
5.17.2 練習:TLS服務器和客戶
端身份驗證
5.18 總結
第6章 物聯網網絡協議和數據
格式
6.1 概述
6.2 MQTT
6.2.1 MQTT架構
6.2.2 消息主題
6.2.3 主題訂閱
6.2.4 服務質量
6.2.5 保留主題
6.2.6 心跳
6.2.7 遺囑信息
6.2.8 MQTT方法
6.2.9 練習:在PC上運行MQTT
代理和客戶端
6.2.10 練習:嵌入式MQTT客
戶端
6.2.11 保留消息
6.2.12 連接對象
6.2.13 保活周期
6.2.14 遺囑消息
6.2.15 練習:TLS加密
6.3 數據格式
6.3.1 JSON格式
6.3.2 JSON對象
6.3.3 練習:JSON編碼
6.3.4 JSON數組
6.3.5 嵌套的JSON對象
6.3.6 簡明二進制對象表示
6.3.7 整數編碼
6.3.8 練習:CBOR編碼
6.3.9 字節字符串和文本字符串
6.3.10 數據項數組
6.3.11 映射數組
6.3.12 變長的數組、字符串和
映射
6.3.13 語義標簽
6.4 總結
第7章 使用物聯網雲服務
7.1
