嵌入式與物聯網設備安全:設計、開發與工程實戰
多米尼克·梅利(Dominik Merli)
- 出版商: 人民郵電
- 出版日期: 2026-06-01
- 定價: $659
- 售價: $658
- 語言: 簡體中文
- 頁數: 234
- ISBN: 7115698244
- ISBN-13: 9787115698247
-
相關分類:
STM32、物聯網 IoT
- 此書翻譯自: Engineering Secure Devices: A Practical Guide for Embedded System Architects and Developers (Paperback)
下單後立即進貨 (約4週~6週)
商品描述
本書聚焦嵌入式系統安全開發的實戰需求,針對當前嵌入式設備面臨的安全威脅與
合規要求,構建從基礎到高級的完整知識體系。本書先講解安全開發流程、密碼學等基礎知識,再深入剖析隨機數生成器、密碼實施、機密數據存儲與安全內存、安全設備身份認證、通信安全等設備安全構建模塊,最後闡述安全啟動與系統完整性、固件更新安全、魯棒設備架構、訪問控制與管理、系統監控等高級設備安全概念,搭配基於STM32MP157F設備的案例研究,將理論轉化為可落地的實踐方案。
本書兼具系統性與實用性,貼合嵌入式系統資源受限的特性,適合嵌入式系統架構
師、物聯網開發工程師、產品測試人員,以及物聯網安全研究人員、相關專業學生閱讀,是構建安全嵌入式設備的實用指南。
作者簡介
多米尼克·梅利(Dominik Merli)是奧格斯堡應用科學技術大學的IT安全教授,在弗勞恩霍夫和西門子等組織的工業、汽車和半導體行業的安全工程方面擁有十多年的經驗。他擁有阿爾斯特大學工程碩士學位和慕尼黑工業大學博士學位。
目錄大綱
目錄
第 一部分 基礎知識
第 1 章 安全開發流程 2
1.1 關於各種指南的討論 ..................................................................................................... 2
1.2 產品安全責任 ................................................................................................................. 4
1.3 意識與培訓 ..................................................................................................................... 5
1.4 資產與保護目標 ............................................................................................................. 6
1.4.1 識別寶貴的資產 ................................................................................................. 6
1.4.2 相關保護需求 ..................................................................................................... 8
1.5 攻擊者、威脅和風險 ................................................................................................... 10
1.5.1 潛在攻擊者 ....................................................................................................... 10
1.5.2 潛在的負面影響 ............................................................................................... 12
1.5.3 沒有風險,就沒有優先級 ............................................................................... 14
1.6 安全需求和安全架構 ................................................................................................... 15
1.6.1 風險處理 ........................................................................................................... 16
1.6.2 安全開發原則 ................................................................................................... 17
1.7 安全實施和安全測試 ................................................................................................... 18
1.7.1 左移策略 ........................................................................................................... 18
1.7.2 持續測試和分析 ............................................................................................... 19
1.7.3 攻擊者即服務 ................................................................................................... 20
1.8 漏洞監測和響應 ........................................................................................................... 22
1.8.1 漏洞報告 ........................................................................................................... 22
1.8.2 審查和評估脆弱性報告 ................................................................................... 23
1.8.3 修復或解決問題 ............................................................................................... 23
1.8.4 測試 ................................................................................................................... 23
1.8.5 公開解決方案 ................................................................................................... 23
1.8.6 避免今後出現問題 ........................................................................................... 24
1.8.7 建立信任 ........................................................................................................... 24
1.9 總結 ............................................................................................................................... 25
第 2 章 密碼學 26
2.1 柯克霍夫原則 ............................................................................................................... 26
2.2 安全級別 ....................................................................................................................... 27
2.3 對稱密碼 ....................................................................................................................... 28
2.3.1 數據加密標準 ................................................................................................... 28
2.3.2 高級加密標準 ................................................................................................... 29
2.4 運行模式 ....................................................................................................................... 31
2.4.1 電子密碼本模式 ............................................................................................... 32
2.4.2 密文分組鏈接模式 ........................................................................................... 32
2.4.3 計數器模式 ....................................................................................................... 33
2.5 哈希函數 ....................................................................................................................... 34
2.6 消息認證碼 ................................................................................................................... 36
2.7 認證加密 ....................................................................................................................... 37
2.7.1 策略和要求 ....................................................................................................... 37
2.7.2 伽羅瓦計數器模式 ........................................................................................... 38
2.8 非對稱密碼學 ............................................................................................................... 40
2.9 RSA 密碼系統 .............................................................................................................. 41
2.9.1 基本 RSA 數學 ................................................................................................. 41
2.9.2 真實世界中 RSA 的使用 ................................................................................. 42
2.10 Diffie-Hellman 密鑰交換 ........................................................................................... 43
2.10.1 數學之美 ....................................................................................................... 43
2.10.2 中間人攻擊 ................................................................................................... 44
2.11 橢圓曲線密碼學 ......................................................................................................... 45
2.11.1 曲線背後的數學 ........................................................................................... 45
2.11.2 選擇的痛苦 ................................................................................................... 47
2.11.3 ECC 的實際應用........................................................................................... 47
2.12 總結 ............................................................................................................................. 48
第二部分 設備安全構建模塊
第 3 章 隨機數生成器 50
3.1 對不可預測性的需求 ................................................................................................... 50
3.2 不可預測性的本質 ....................................................................................................... 51
3.3 真隨機數生成器 ........................................................................................................... 52
3.3.1 環形振蕩器 ....................................................................................................... 53
3.3.2 熵源的健康狀況 ............................................................................................... 54
3.4 偽隨機數生成器 ........................................................................................................... 55
3.5 實用 RNG 的構建和應用 ............................................................................................ 56
3.5.1 RNG 的選擇 ..................................................................................................... 56
3.5.2 錯誤處理 ........................................................................................................... 57
3.5.3 啟動時熵 ........................................................................................................... 57
3.6 案例研究:從硬件到 Python 的隨機數 ..................................................................... 57
3.6.1 硬件 RNG 和熵源 ............................................................................................. 57
3.6.2 Linux 中的硬件 RNG 集成 .............................................................................. 58
3.6.3 Linux RNG 架構 ............................................................................................... 59
3.6.4 Python 中的加密安全隨機數 ........................................................................... 61
3.7 案例研究:隨機性快速檢查的實用工具 ................................................................... 62
3.7.1 分布分析和模式識別的簡單工具 ................................................................... 63
3.7.2 問題 1:通過模數限制輸出空間 .................................................................... 65
3.7.3 問題 2:定制 PRNG 設計 ............................................................................... 66
3.8 總結 ............................................................................................................................... 67
第 4 章 密碼實施 68
4.1 實施背景和要求 ........................................................................................................... 68
4.2 選擇加密實現 ............................................................................................................... 70
4.3 AES 實現選項 .............................................................................................................. 71
4.3.1 基本架構 ........................................................................................................... 72
4.3.2 優化運行 ........................................................................................................... 72
4.4 RSA 和 ECDSA 的實施特點 ....................................................................................... 73
4.4.1 RSA 優化 .......................................................................................................... 73
4.4.2 ECDSA 細節 ..................................................................................................... 74
4.5 案例研究:STM32MP157F 器件的加密性能 ........................................................... 74
4.5.1 對稱加密的參數選擇 ....................................................................................... 75
4.5.2 SHA-256 算法的軟件與硬件實現 ................................................................... 78
4.5.3 非對稱加密操作的軟件性能比較 ................................................................... 81
4.6 總結 ............................................................................................................................... 82
第 5 章 機密數據存儲與安全內存 84
5.1 機密數據 ....................................................................................................................... 84
5.2 在嵌入式系統中保護機密的困境 ............................................................................... 86
5.3 安全文件系統方案 ....................................................................................................... 86
5.3.1 加密堆疊文件系統 ........................................................................................... 87
5.3.2 原生文件系統加密 ........................................................................................... 87
5.3.3 加密塊設備 ....................................................................................................... 87
5.3.4 建議方案 ........................................................................................................... 88
5.3.5 口令 ................................................................................................................... 88
5.4 硬件中的安全內存 ....................................................................................................... 88
5.4.1 外部安全存儲器模塊 ....................................................................................... 89
5.4.2 片上安全存儲系統 ........................................................................................... 90
5.5 應用代碼中的安全 ....................................................................................................... 91
5.6 密碼安全存儲實踐 ....................................................................................................... 92
5.7 案例研究:Linux 加密文件容器 ................................................................................ 93
5.7.1 加密性能基準測試 ........................................................................................... 94
5.7.2 容器的創建 ....................................................................................................... 95
5.7.3 效率分析 ........................................................................................................... 96
5.8 讀保護機制的低成本解決方案 ................................................................................... 98
5.9 總結 ............................................................................................................................... 99
第 6 章 安全設備身份認證 100
6.1 每個設備都是獨一無二的 ......................................................................................... 100
6.2 識別和標識符 ............................................................................................................. 101
6.2.1 唯一標識符 ..................................................................................................... 101
6.2.2 系統身份 ......................................................................................................... 102
6.3 身份認證和認證器 ..................................................................................................... 102
6.3.1 認證協議 ......................................................................................................... 103
6.3.2 專用認證芯片 ................................................................................................. 104
6.3.3 多因素身份驗證 ............................................................................................. 104
6.3.4 受信任的第三方 ............................................................................................. 105
6.3.5 證書和證書授權中心 ..................................................................................... 106
6.4 身份生命周期管理 ..................................................................................................... 107
6.4.1 身份生成 ......................................................................................................... 107
6.4.2 供應 ................................................................................................................. 108
6.4.3 實時使用 ......................................................................................................... 109
6.4.4 交換或銷毀 ..................................................................................................... 109
6.5 案例研究:身份生成及供應 ..................................................................................... 110
6.5.1 標識符和系統身份 ......................................................................................... 110
6.5.2 證書簽名請求 ................................................................................................. 112
6.5.3 證書授權中心 ................................................................................................. 115
6.6 案例研究:生產中的 RSA 密鑰生成 ....................................................................... 117
6.7 總結 ............................................................................................................................. 118
第 7 章 通信安全 120
7.1 全維度防護目標 ......................................................................................................... 120
7.2 傳輸層安全 ................................................................................................................. 121
7.2.1 TLS 的發展歷史 ............................................................................................. 122
7.2.2 TLS 基礎 ......................................................................................................... 122
7.2.3 TLS 1.3 ............................................................................................................ 123
7.2.4 其他握手選項 ................................................................................................. 124
7.2.5 加密算法的選擇 ............................................................................................. 124
7.2.6 TLS 1.2 ............................................................................................................ 125
7.2.7 TLS 1.2 與 TLS 1.3 的區別 ............................................................................ 125
7.2.8 安全使用 ......................................................................................................... 125
7.2.9 設備和基礎設施的要求 ................................................................................. 126
7.3 應用示例和軟件庫 ..................................................................................................... 127
7.4 案例研究:安全的 MQTT 通信 ............................................................................... 127
7.4.1 Mosquitto 的安裝和配置 ................................................................................ 127
7.4.2 首次試運行 ..................................................................................................... 129
7.4.3 使用 Wireshark 和 SSLyze 進行通信安全分析 ............................................. 130
7.5 不使用 TLS 的安全通信 ............................................................................................ 134
7.6 安全通信中的冗余 ..................................................................................................... 135
7.7 總結 ............................................................................................................................. 136
第三部分 高級設備安全概念
第 8 章 安全啟動與系統完整性 138
8.1 系統啟動的復雜性 ..................................................................................................... 138
8.2 引導保護概念 ............................................................................................................. 140
8.3 經典安全啟動鏈 ......................................................................................................... 141
8.4 實施安全啟動的考慮 ................................................................................................. 143
8.4.1 硬件和軟件要求 ............................................................................................. 143
8.4.2 開發過程 ......................................................................................................... 144
8.4.3 生產和生命周期 ............................................................................................. 144
8.5 開源許可證與安全啟動 ............................................................................................. 145
8.6 案例研究:STM32MP157F 設備上的安全啟動過程 ............................................. 146
8.6.1 啟動過程 ......................................................................................................... 146
8.6.2 安全啟動從硬件開始 ..................................................................................... 147
8.6.3 基於 BL2 TF-A 的安全啟動 .......................................................................... 148
8.6.4 U-Boot 的安全啟動功能 ................................................................................ 149
8.7 啟動過程之外的完整性保護 ..................................................................................... 151
8.7.1 內核模塊驗證 ................................................................................................. 152
8.7.2 文件系統完整性 ............................................................................................. 152
8.7.3 基於 MAC 的文件系統保護 .......................................................................... 152
8.7.4 只讀文件系統 ................................................................................................. 153
8.7.5 全面的完整性保護 ......................................................................................... 153
8.8 寫保護作為低成本解決方案 ..................................................................................... 153
8.9 總結 ............................................................................................................................. 154
第 9 章 固件更新安全 155
9.1 更新的必然性 ............................................................................................................. 155
9.2 安全保障 ..................................................................................................................... 156
9.3 更新的分發與部署 ..................................................................................................... 158
9.3.1 本地更新與遠程更新 ..................................................................................... 158
9.3.2 拉取策略與推送策略 ..................................................................................... 158
9.4 更新的粒度與格式 ..................................................................................................... 159
9.4.1 固件組成部分 ................................................................................................. 159
9.4.2 更新格式 ......................................................................................................... 160
9.4.3 包管理器的問題 ............................................................................................. 161
9.5 設備分區策略 ............................................................................................................. 162
9.5.1 更新/恢復分區 ................................................................................................ 162
9.5.2 A/B 系統方法 ................................................................................................. 162
9.5.3 引導加載程序的更新 ..................................................................................... 164
9.6 開發、後端與設備的交互 ......................................................................................... 164
9.7 案例研究:基於 SWUpdate 的安全固件更新 ......................................................... 165
9.7.1 SD 卡布局自定義 ........................................................................................... 165
9.7.2 SWUpdate 的安裝與配置 ............................................................................... 167
9.7.3 密鑰生成 ......................................................................................................... 167
9.7.4 軟件集合 ......................................................................................................... 168
9.7.5 生成更新文件的腳本 ..................................................................................... 169
9.7.6 設備特定定制 ................................................................................................. 170
9.7.7 更新過程評估 ................................................................................................. 173
9.8 總結 ............................................................................................................................. 175
第 10 章 魯棒設備架構 176
10.1 處於網絡壓力下的設備 ........................................................................................... 176
10.1.1 鄰近設備故障 ............................................................................................. 177
10.1.2 協議模糊測試 ............................................................................................. 177
10.1.3 網絡與漏洞掃描 ......................................................................................... 177
10.1.4 泛洪攻擊 ..................................................................................................... 177
10.1.5 魯棒架構 ..................................................................................................... 177
10.2 設備核心功能 ........................................................................................................... 178
10.2.1 傳感器 ......................................................................................................... 178
10.2.2 執行器 ......................................................................................................... 178
10.2.3 控制器 ......................................................................................................... 179
10.3 實時系統 ................................................................................................................... 179
10.3.1 軟實時系統 ................................................................................................. 180
10.3.2 強實時系統 ................................................................................................. 180
10.3.3 硬實時系統 ................................................................................................. 180
10.3.4 DoS 攻擊的影響 ......................................................................................... 180
10.4 資源耗盡及預防策略 ............................................................................................... 180
10.5 硬件級實現方案 ....................................................................................................... 181
10.5.1 專用預處理單元 ......................................................................................... 181
10.5.2 多核架構 ..................................................................................................... 182
10.6 操作系統的職能 ....................................................................................................... 183
10.6.1 操作系統選項 ............................................................................................. 183
10.6.2 支持實時補丁的 Linux 操作系統 .............................................................. 184
10.7 應用與協議考量 ....................................................................................................... 185
10.7.1 識別邏輯缺陷 ............................................................................................. 186
10.7.2 實施輸入與發送方驗證 ............................................................................. 186
10.7.3 分析主動防護措施 ..................................................................................... 186
10.7.4 引入混沌工程和模糊測試 ......................................................................... 186
10.8 案例研究:STM32MP157F 設備的魯棒性選項 ................................................... 187
10.8.1 基本系統屬性 ............................................................................................. 187
10.8.2 低延遲內核的測量 ..................................................................................... 188
10.8.3 實時內核性能測試 ..................................................................................... 190
10.8.4 實時協處理器 ............................................................................................. 191
10.9 總結 ........................................................................................................................... 193
第 11 章 訪問控制與管理 194
11.1 日常威脅 ................................................................................................................... 194
11.2 訪問控制與損害遏制 ............................................................................................... 195
11.2.1 設計與開發階段 ......................................................................................... 196
11.2.2 生產環境註意事項 ..................................................................................... 197
11.3 自主訪問控制 ........................................................................................................... 198
11.3.1 Linux 文件系統權限 ................................................................................... 198
11.3.2 Linux 用戶與用戶組管理 ........................................................................... 199
11.3.3 Linux 權限管理 ........................................................................................... 200
11.3.4 訪問控制列表 ............................................................................................. 201
11.4 案例研究:STM32MP157F-DK2 固件的訪問控制 .............................................. 201
11.4.1 Yocto 中的用戶創建與文件配置 ............................................................... 202
11.4.2 系統文件與預定義用戶的探索 ................................................................. 204
11.4.3 SSH 守護進程訪問控制配置 ..................................................................... 205
11.5 強制訪問控制 ........................................................................................................... 206
11.5.1 Linux 安全模塊 ........................................................................................... 207
11.5.2 SELinux ....................................................................................................... 207
11.5.3 AppArmor .................................................................................................... 208
11.5.4 其他 LSM 及非 LSM 的強制訪問控制機制 ............................................. 209
11.6 案例研究:使用 AppArmor 實現應用限制........................................................... 210
11.6.1 AppArmor 的安裝 ....................................................................................... 210
11.6.2 應用程序剖析 ............................................................................................. 213
11.7 總結 ........................................................................................................................... 217
第 12 章 系統監控 218
12.1 出於正當理由的監控 ............................................................................................... 218
12.2 監控關鍵指標 ........................................................................................................... 219
12.2.1 用戶交互與訪問控制 ................................................................................. 220
12.2.2 通信 ............................................................................................................. 220
12.2.3 應用行為 ..................................................................................................... 221
12.2.4 系統行為 ..................................................................................................... 222
12.2.5 基於風險的監控 ......................................................................................... 222
12.3 設計監控方案 ........................................................................................................... 223
12.3.1 嵌入式系統面臨的挑戰 ............................................................................. 223
12.3.2 設備端日誌記錄過程的監控 ..................................................................... 225
12.3.3 集中式日誌分析與治理 ............................................................................. 225
12.4 案例研究:STM32MP157F 設備事件日誌記錄 ................................................... 226
12.4.1 基於 journald 的用戶會話監控 .................................................................. 226
12.4.2 使用 auditd 進行內核事件監控 ................................................................. 227
12.4.3 服務與應用程序事件日誌記錄 ................................................................. 230
12.4.4 日誌記錄到遠程服務器 ............................................................................. 231
12.5 總結 ........................................................................................................................... 232
後記 233

