注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件與程序設計密碼技術與物聯(lián)網(wǎng)安全:mbedtls開發(fā)實戰(zhàn)

密碼技術與物聯(lián)網(wǎng)安全:mbedtls開發(fā)實戰(zhàn)

密碼技術與物聯(lián)網(wǎng)安全:mbedtls開發(fā)實戰(zhàn)

定 價:¥79.00

作 者: 徐凱,崔紅鵬 著
出版社: 機械工業(yè)出版社
叢編項: 物聯(lián)網(wǎng)核心技術叢書
標 簽: 暫缺

ISBN: 9787111620013 出版時間: 2019-03-01 包裝: 平裝
開本: 16開 頁數(shù): 368 字數(shù):  

內(nèi)容簡介

  本書是國內(nèi)一本理論結(jié)合實踐的物聯(lián)網(wǎng)安全書籍,包括數(shù)論基礎知識、密碼學算法、TLS/DTLS協(xié)議、物聯(lián)網(wǎng)安全協(xié)議CoAPs等部分。本書試圖打破物聯(lián)網(wǎng)工程師、嵌入式工程師與Web開發(fā)工程師之間的知識鴻溝,通過圖文并茂的方式說明密碼技術與物聯(lián)網(wǎng)安全。 本書具有以下特點: ?密碼學算法部分除了理論知識之外,還包括mbedtls示例代碼,可以幫助讀者更快地理解晦澀難懂的密碼技術。本書基于嵌入式硬件平臺描述密碼學算法性能,通過示例代碼分析密碼學算法資源消耗情況,并給出實戰(zhàn)建議。 ?緊扣物聯(lián)網(wǎng)安全發(fā)展趨勢。認證加密算法部分,本書詳細描述了認證加密算法CCM模式和GCM模式;橢圓曲線算法部分,本書詳細描述了橢圓曲線密碼算法的數(shù)學基礎以及安全原理; ?TLS/DTLS協(xié)議部分。本書以物聯(lián)網(wǎng)終端的角度詳細描述TLS/DTLS協(xié)議的實現(xiàn)過程,按照密鑰交換、密鑰計算、對稱加密等部分展開,并總結(jié)了物聯(lián)網(wǎng)設備使用TLS/DTLS協(xié)議的建議; ?物聯(lián)網(wǎng)安全協(xié)議CoAPs部分。本書詳細描述了物聯(lián)網(wǎng)安全協(xié)議CoAPs,CoAPs依賴DTLS協(xié)議,它可在占用較少資源的情況下為終端設備提供安全連接能力。

作者簡介

  徐凱 阿里云IoT開發(fā)工程師,花名左相。物聯(lián)網(wǎng)技術實踐者與研究者,對物聯(lián)網(wǎng)傳輸協(xié)議、物聯(lián)網(wǎng)安全和物聯(lián)網(wǎng)數(shù)據(jù)存儲有常深刻的認識與理解。多年嵌入式與物聯(lián)網(wǎng)系統(tǒng)開發(fā)經(jīng)驗,涉獵終端設備,邊緣計算與物聯(lián)網(wǎng)平臺等多個領域。編寫大量關于物聯(lián)網(wǎng)應用、物聯(lián)網(wǎng)操作系統(tǒng),物聯(lián)網(wǎng)傳輸協(xié)議相關的技術博文,博文廣受好評。著有《IoT開發(fā)實戰(zhàn) CoAP卷》。 崔紅鵬 嵌入式軟件工程師,現(xiàn)就職于清華大學無錫應用技術研究院——微納電子與系統(tǒng)芯片實驗室。“CPU硬件安全動態(tài)監(jiān)測管控技術”項目組成員,負責密碼學算法實現(xiàn)和SDK開發(fā),該項目曾獲 “2018年世界互聯(lián)網(wǎng)大會15項全球領先科技成果”。物聯(lián)網(wǎng)安全愛好者,對嵌入式系統(tǒng)、密碼學技術和安全應用方案有深入研究,積極參與開源項目,為GmSSL和zephyr等開源項目貢獻過代碼。

圖書目錄

推薦序一
推薦序二
前言
第1章 物聯(lián)網(wǎng)安全概述 1
1.1 本章主要內(nèi)容 1
1.2 物聯(lián)網(wǎng)安全基礎 1
1.2.1 物聯(lián)網(wǎng)安全與互聯(lián)網(wǎng)安全 1
1.2.2 物聯(lián)網(wǎng)安全與密碼學 2
1.3 密碼學安全常識 3
1.3.1 柯克霍夫原則 3
1.3.2 Alice和Bob 4
1.3.3 Eve和Mallory 4
1.4 mbedtls簡介 5
1.4.1 密碼學工具箱 5
1.4.2 TLS/DTLS協(xié)議 6
1.4.3 X.509證書 6
1.5 OpenSSL簡介 7
1.5.1 源代碼安裝 7
1.5.2 命令行工具簡介 8
1.5.3 摘要命令 dgst 8
1.5.4 對稱加密命令 enc 8
1.5.5 SSL命令 s_server 9
1.6 本章小結(jié) 11
第2章 mbedtls入門 12
2.1 本章主要內(nèi)容 12
2.2 mbedtls 體系結(jié)構(gòu) 12
2.3 Linux mbedtls 安裝 13
2.3.1 安裝 CMake 13
2.3.2 使用 CMake 安裝 mbedtls 14
2.4 Linux mbedtls 示例 17
2.4.1 Base64示例 17
2.4.2 遍歷 mbedtls 安全套件 20
2.5 Zephyr OS 簡介 24
2.6 Zephyr 開發(fā)環(huán)境搭建 25
2.7 Zephyr 硬件平臺選擇 26
2.7.1 資源介紹 27
2.7.2 Ubuntu中安裝STLink工具 28
2.8 Zephyr 應用示例開發(fā) 28
2.8.1 編寫 CMakeLists.txt 29
2.8.2 編寫 prj.conf 29
2.8.3 編寫 main.c 29
2.8.4 編譯與運行 30
2.9 Zephyr mbedtls 示例 31
2.9.1 Base64示例 31
2.9.2 大數(shù)運算示例 35
2.10 本章小結(jié) 39
第3章 數(shù)論基礎知識 41
3.1 本章主要內(nèi)容 41
3.2 素數(shù) 42
3.3 模運算 43
3.3.1 模數(shù) 43
3.3.2 同余 43
3.3.3 模算術運算 44
3.3.4 模逆運算 44
3.3.5 模重復平方 46
3.4 群 47
3.4.1 群的基本概念 47
3.4.2 循環(huán)群 48
3.4.3 子群 49
3.5 域 50
3.5.1 域的基本概念 50
3.5.2 有限域和素域 50
3.5.3 擴展域GF(2m) 52
3.5.4 GF(2m)加法和減法 53
3.5.5 GF(2m)乘法 53
3.5.6 GF(2m)逆操作 55
3.6 歐拉函數(shù) 56
3.7 歐拉定理 56
3.8 費馬小定理 57
3.9 離散對數(shù) 57
3.9.1 模算術–指數(shù) 57
3.9.2 模算術–對數(shù) 58
3.9.3 離散對數(shù)問題 59
3.10 本章小結(jié) 59
第4章 單向散列函數(shù) 60
4.1 本章主要內(nèi)容 60
4.2 單向散列函數(shù)原理 60
4.2.1 單向散列函數(shù)性質(zhì) 61
4.2.2 單向散列函數(shù)應用 62
4.3 單向散列函數(shù)的實現(xiàn)方法 63
4.3.1 MD算法家族 63
4.3.2 SHA算法家族 63
4.4 SHA256 詳細描述 64
4.4.1 預處理 64
4.4.2 哈希計算 66
4.4.3 具體示例 68
4.5 mbedtls 單向散列應用工具 69
4.5.1 hello 69
4.5.2 generic_sum 69
4.6 mbedtls SHA256示例 70
4.6.1 示例描述 70
4.6.2 示例代碼 70
4.6.3 代碼說明 72
4.6.4 編譯與運行 74
4.7 本章小結(jié) 74
第5章 對稱加密算法 76
5.1 本章主要內(nèi)容 76
5.2 對稱加密算法原理 76
5.3 分組密碼模式 77
5.3.1 ECB(電子密碼本)模式 77
5.3.2 CBC(密碼分組鏈接)模式 78
5.3.3 CTR(計數(shù)器)模式 79
5.4 PKCS7填充方案 81
5.5 AES算法概述 82
5.6 AES 算法詳細說明 84
5.6.1 字節(jié)替換 84
5.6.2 行移位 86
5.6.3 列混合 87
5.6.4 輪密鑰加法 87
5.6.5 輪密鑰生成 88
5.7 AES算法動手實踐 90
5.8 mbedtls 對稱加密應用工具 91
5.8.1 aescrypto2 91
5.8.2 crypt_and_hash 92
5.9 mbedtls AES示例 93
5.9.1 示例描述 93
5.9.2 示例代碼 94
5.9.3 代碼說明 96
5.9.4 編譯與運行 97
5.10 本章小結(jié) 99
第6章 消息認證碼 100
6.1 本章主要內(nèi)容 100
6.2 消息認證碼原理 100
6.3 消息認證碼實現(xiàn)方法 102
6.3.1 單向散列算法實現(xiàn) 102
6.3.2 分組密碼實現(xiàn) 102
6.3.3 認證加密算法實現(xiàn) 102
6.4 HMAC算法 102
6.5 CBC-MAC和CMAC 104
6.5.1 CBC-MAC 104
6.5.2 CMAC 104
6.6 認證加密CCM 106
6.6.1 輸入數(shù)據(jù)格式化 106
6.6.2 認證和加密 108
6.7 認證加密GCM 109
6.7.1 GHASH 110
6.7.2 GCTR 110
6.7.3 認證和加密 111
6.8 mbedtls HMAC示例 112
6.8.1 示例代碼 113
6.8.2 代碼說明 114
6.8.3 編譯與運行 116
6.9 mbedtls GCM 示例 117
6.9.1 示例代碼 117
6.9.2 代碼說明 119
6.9.3 編譯與運行 120
6.10 本章小結(jié) 121
第7章 偽隨機數(shù)生成器 122
7.1 本章主要內(nèi)容 122
7.2 隨機數(shù)概述 122
7.3 隨機數(shù)生成器 123
7.3.1 真隨機數(shù)生成器 123
7.3.2 偽隨機數(shù)生成器 124
7.4 CTR_DRBG算法 125
7.4.1 參數(shù)情況 125
7.4.2 生成過程 125
7.5 mbedtls 隨機數(shù)應用工具 126
7.5.1 gen_entropy 126
7.5.2 gen_random_ctr_drbg 127
7.5.3 gen_random_havege 127
7.6 mbedtls CTR_DRBG示例 128
7.6.1 示例代碼 128
7.6.2 代碼說明 130
7.6.3 編譯與執(zhí)行 131
7.7 mbedtls 大素數(shù)生成示例 132
7.7.1 示例代碼 133
7.7.2 代碼說明 135
7.7.3 編譯與執(zhí)行 135
7.8 mbedtls 自定義熵源接口 136
7.9 本章小結(jié) 137
第8章 RSA算法 138
8.1 本章主要內(nèi)容 138
8.2 RSA算法原理 138
8.3 RSA 算法詳細說明 140
8.4 RSA加速技術 141
8.4.1 中國剩余數(shù)定理 142
8.4.2 動手實踐 142
8.4.3 性能對比 143
8.5 RSA 填充方法 144
8.5.1 PKCS1-V1_5 144
8.5.2 OAEP 145
8.6 mbedtls RSA應用工具 146
8.6.1 rsa_genkey 146
8.6.2 rsa_encrypt 147
8.6.3 rsa_decrypt 148
8.7 mbedtls RSA加解密示例 148
8.7.1 示例代碼 149
8.7.2 代碼說明 151
8.7.3 編譯與執(zhí)行 153
8.8 本章小結(jié) 155
第9章 DH密鑰協(xié)商 156
9.1 本章主要內(nèi)容 156
9.2 DH密鑰協(xié)商數(shù)學基礎 156
9.3 DH密鑰協(xié)商詳細說明 157
9.3.1 DH共享參數(shù) 157
9.3.2 DH密鑰協(xié)商 158
9.3.3 DH具體實踐 158
9.3.4 DH密鑰協(xié)商安全性分析 159
9.4 常用共享參數(shù) 161
9.5 mbedtls DH應用工具 162
9.5.1 dh_genprime 163
9.5.2 dh_server 164
9.5.3 dh_client 165
9.6 mbedtls DH示例 165
9.6.1 示例代碼 166
9.6.2 代碼說明 168
9.6.3 編譯與執(zhí)行 170
9.7 本章小結(jié) 172
第10章 ECDH密鑰協(xié)商 173
10.1 本章主要內(nèi)容 173
10.2 橢圓曲線定義 173
10.2.1 實數(shù)域上的橢圓曲線 174
10.2.2 有限域上的橢圓曲線 175
10.3 橢圓曲線上群操作 176
10.3.1 群操作幾何描述 176
10.3.2 群操作代數(shù)描述 177
10.3.3 群操作動手實踐 178
10.4 橢圓曲線離散對數(shù)問題 180
10.5 常用有限域上的橢圓曲線 181
10.6 ECDH密鑰協(xié)商 183
10.6.1 ECDH共享參數(shù) 184
10.6.2 密鑰協(xié)商過程 184
10.6.3 動手實踐 184
10.7 mbedtls橢圓曲線模塊 185
10.8 mbedtls ECDH示例 187
10.8.1 示例代碼 188
10.8.2 代碼說明 190
10.8.3 編譯與執(zhí)行 192
10.9 本章小結(jié) 193
第11章 數(shù)字簽名RSA、DSA和ECDSA 194
11.1 本章主要內(nèi)容 194
11.2 數(shù)字簽名原理 194
11.3 RSA 數(shù)字簽名 196
11.3.1 RSA數(shù)字簽名詳細說明 196
11.3.2 RSA數(shù)字簽名動手實踐 197
11.3.3 RSA簽名填充方法 197
11.4 DSA數(shù)字簽名 199
11.4.1 DSA數(shù)字簽名詳細說明 199
11.4.2 DSA簽名動手實踐 200
11.5 ECDSA數(shù)字簽名 201
11.5.1 ECDSA數(shù)字簽名詳細說明 201
11.5.2 ECDSA動手實踐 203
11.6 mbedtls 數(shù)字簽名應用工具 204
11.6.1 rsa_genkey 204
11.6.2 rsa_sign 204
11.6.3 rsa_verify 205
11.7 mbedtls RSA簽名示例 205
11.7.1 示例代碼 206
11.7.2 代碼說明 208
11.7.3 編譯與執(zhí)行 209
11.8 mbedtls ECDSA示例 211
11.8.1 示例代碼 211
11.8.2 代碼說明 214
11.8.3 編譯與執(zhí)行 215
11.9 本章小結(jié) 216
第12章 數(shù)字證書X.509 217
12.1 本章主要內(nèi)容 217
12.2 數(shù)字證書原理 217
12.3 X.509證書標準 219
12.3.1 證書結(jié)構(gòu) 219
12.3.2 證書名稱 219
12.3.3 證書實例 220
12.4 mbedtls X.509應用工具 224
12.4.1 cert_req 225
12.4.2 req_app 226
12.4.3 cert_write 227
12.4.4 cert_app 229
12.5 mbedtls X.509示例 231
12.5.1 示例代碼 232
12.5.2 代碼說明 234
12.5.3 編譯與執(zhí)行 236
12.6 本章小結(jié) 237
第13章 mbedtls 移植與性能分析 238
13.1 本章主要內(nèi)容 238
13.2 mbedtls移植 238
13.2.1 時間相關 239
13.2.2 網(wǎng)絡相關 240
13.2.3 內(nèi)存分配相關 241
13.3 mbedtls算法性能說明 243
13.3.1 單向散列函數(shù) 243
13.3.2 AES算法 244
13.3.3 AES-GCM和AES-CCM 245
13.3.4 偽隨機數(shù)生成器 246
13.3.5 RSA 247
13.3.6 DHE和ECDHE 248
13.3.7 ECDSA 248
13.3.8 ECC內(nèi)存優(yōu)化 250
13.4 本章小結(jié) 253
第14章 TLS 254
14.1 本章主要內(nèi)容 254
14.2 TLS原理 254
14.2.1 TLS設計目標 256
14.2.2 TLS框架說明 256
14.3 TLS密碼套件 257
14.4 TLS記錄層協(xié)議 258
14.5 密碼規(guī)格變更協(xié)議 260
14.6 警報協(xié)議 260
14.7 握手協(xié)議 261
14.7.1 握手協(xié)議概述 261
14.7.2 完整握手過程 263
14.7.3 會話恢復 270
14.8 TLS密鑰交換 271
14.8.1 密鑰交換算法對比 271
14.8.2 ECDHE密鑰交換 272
14.8.3 ECDH與ECDHE的區(qū)別 275
14.9 TLS密鑰計算 276
14.9.1 偽隨機數(shù)生成函數(shù) 276
14.9.2 主密鑰計算 278
14.9.3 KeyBlock計算 278
14.9.4 密鑰計算示例 279
14.10 對稱加密 281
14.10.1 分組加密 281
14.10.2 認證加密 284
14.10.3 對稱加密示例 285
14.10.4 對稱加密結(jié)果長度對比 287
14.11 mbedtls TLS應用工具 287
14.11.1 基礎示例說明 289
14.11.2 啟動 ssl_server2 290
14.11.3 抓取網(wǎng)絡數(shù)據(jù) 290
14.11.4 啟動 ssl_client2 291
14.11.5 分析網(wǎng)絡數(shù)據(jù) 291
14.12 構(gòu)建TLS服務器 293
14.12.1 生成證書 293
14.12.2 編寫HTML頁面 295
14.12.3 啟動s_server 295
14.12.4 驗證服務器 29

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號