登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 運費計算  | 聯絡我們  | 幫助中心 |  加入書簽
會員登入 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類瀏覽雜誌 臺灣用戶
品種:超過100萬種各類書籍/音像和精品,正品正價,放心網購,悭钱省心 服務:香港台灣澳門海外 送貨:速遞郵局服務站

新書上架簡體書 繁體書
暢銷書架簡體書 繁體書
好書推介簡體書 繁體書

八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書
12月出版:大陸書 台灣書
11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書

『簡體書』密码技术与物联网安全:mbedtls开发实战

書城自編碼: 3331177
分類:簡體書→大陸圖書→計算機/網絡程序設計
作者: 徐凯,崔红鹏
國際書號(ISBN): 9787111620013
出版社: 机械工业出版社
出版日期: 2019-03-01


書度/開本: 16开 釘裝: 平装

售價:HK$ 106.7

我要買

 

** 我創建的書架 **
未登入.


新書推薦:
国际艺术品市场A-Z:风俗、习惯和惯例的基本指南
《 国际艺术品市场A-Z:风俗、习惯和惯例的基本指南 》

售價:HK$ 78.2
忧伤的群岛:查戈斯人的流散与抗争
《 忧伤的群岛:查戈斯人的流散与抗争 》

售價:HK$ 90.9
现代自建小别墅VR效果图 实用的自建小别墅指南 帮你解决设计难题
《 现代自建小别墅VR效果图 实用的自建小别墅指南 帮你解决设计难题 》

售價:HK$ 156.4
语义学(下卷)(语言学及应用语言学名著译丛)
《 语义学(下卷)(语言学及应用语言学名著译丛) 》

售價:HK$ 156.4
迷人的珊瑚礁(迷人的科学丛书)
《 迷人的珊瑚礁(迷人的科学丛书) 》

售價:HK$ 124.2
夜幕之下.5:极恶都市
《 夜幕之下.5:极恶都市 》

售價:HK$ 63.3
异质文化交织下的上海都市生活(1843-1949)
《 异质文化交织下的上海都市生活(1843-1949) 》

售價:HK$ 147.2
暂别(邓安庆全新文集)
《 暂别(邓安庆全新文集) 》

售價:HK$ 89.7

 

建議一齊購買:

+

HK$ 85.6
《IoT开发实战:CoAP卷》
+

HK$ 100.1
《软件测试实用方法与技术》
+

HK$ 114.6
《Oracle高性能自动化运维》
+

HK$ 90.7
《凤凰项目:一个IT运维的传奇故事》
+

HK$ 92.8
《CMMI项目管理实践》
內容簡介:
本书是国内一本理论结合实践的物联网安全书籍,包括数论基础知识、密码学算法、TLSDTLS协议、物联网安全协议CoAPs等部分。本书试图打破物联网工程师、嵌入式工程师与Web开发工程师之间的知识鸿沟,通过图文并茂的方式说明密码技术与物联网安全。
本书具有以下特点:
?密码学算法部分除了理论知识之外,还包括mbedtls示例代码,可以帮助读者更快地理解晦涩难懂的密码技术。本书基于嵌入式硬件平台描述密码学算法性能,通过示例代码分析密码学算法资源消耗情况,并给出实战建议。
?紧扣物联网安全发展趋势。认证加密算法部分,本书详细描述了认证加密算法CCM模式和GCM模式;椭圆曲线算法部分,本书详细描述了椭圆曲线密码算法的数学基础以及安全原理;
?TLSDTLS协议部分。本书以物联网终端的角度详细描述TLSDTLS协议的实现过程,按照密钥交换、密钥计算、对称加密等部分展开,并总结了物联网设备使用TLSDTLS协议的建议;
?物联网安全协议CoAPs部分。本书详细描述了物联网安全协议CoAPs,CoAPs依赖DTLS协议,它可在占用较少资源的情况下为终端设备提供安全连接能力。
關於作者:
徐凯 阿里云IoT开发工程师,花名左相。物联网技术实践者与研究者,对物联网传输协议、物联网安全和物联网数据存储有常深刻的认识与理解。多年嵌入式与物联网系统开发经验,涉猎终端设备,边缘计算与物联网平台等多个领域。编写大量关于物联网应用、物联网操作系统,物联网传输协议相关的技术博文,博文广受好评。著有《IoT开发实战 CoAP卷》。
崔红鹏 嵌入式软件工程师,现就职于清华大学无锡应用技术研究院——微纳电子与系统芯片实验室。“CPU硬件安全动态监测管控技术”项目组成员,负责密码学算法实现和SDK开发,该项目曾获 “2018年世界互联网大会15项全球领先科技成果”。物联网安全爱好者,对嵌入式系统、密码学技术和安全应用方案有深入研究,积极参与开源项目,为GmSSL和zephyr等开源项目贡献过代码。
目錄
推荐序一
推荐序二
前言
第1章 物联网安全概述1
1.1 本章主要内容1
1.2 物联网安全基础1
1.2.1 物联网安全与互联网安全1
1.2.2 物联网安全与密码学2
1.3 密码学安全常识3
1.3.1 柯克霍夫原则3
1.3.2 Alice和Bob4
1.3.3 Eve和Mallory4
1.4 mbedtls简介5
1.4.1 密码学工具箱5
1.4.2 TLSDTLS协议6
1.4.3 X.509证书6
1.5 OpenSSL简介7
1.5.1 源代码安装7
1.5.2 命令行工具简介8
1.5.3 摘要命令 dgst8
1.5.4 对称加密命令 enc8
1.5.5 SSL命令 s_server 9
1.6 本章小结11
第2章 mbedtls入门12
2.1 本章主要内容12
2.2 mbedtls 体系结构12
2.3 Linux mbedtls 安装13
2.3.1 安装 CMake13
2.3.2 使用 CMake 安装 mbedtls14
2.4 Linux mbedtls 示例17
2.4.1 Base64示例17
2.4.2 遍历 mbedtls 安全套件20
2.5 Zephyr OS 简介24
2.6 Zephyr 开发环境搭建25
2.7 Zephyr 硬件平台选择26
2.7.1 资源介绍27
2.7.2 Ubuntu中安装STLink工具28
2.8 Zephyr 应用示例开发28
2.8.1 编写 CMakeLists.txt29
2.8.2 编写 prj.conf29
2.8.3 编写 main.c29
2.8.4 编译与运行30
2.9 Zephyr mbedtls 示例 31
2.9.1 Base64示例31
2.9.2 大数运算示例35
2.10 本章小结39
第3章 数论基础知识41
3.1 本章主要内容41
3.2 素数42
3.3 模运算43
3.3.1 模数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 循环群48
3.4.3 子群49
3.5 域50
3.5.1 域的基本概念50
3.5.2 有限域和素域50
3.5.3 扩展域GF2m52
3.5.4 GF2m加法和减法53
3.5.5 GF2m乘法53
3.5.6 GF2m逆操作55
3.6 欧拉函数56
3.7 欧拉定理56
3.8 费马小定理57
3.9 离散对数57
3.9.1 模算术–指数57
3.9.2 模算术–对数58
3.9.3 离散对数问题59
3.10 本章小结59
第4章 单向散列函数60
4.1 本章主要内容60
4.2 单向散列函数原理60
4.2.1 单向散列函数性质61
4.2.2 单向散列函数应用62
4.3 单向散列函数的实现方法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 hello69
4.5.2 generic_sum69
4.6 mbedtls SHA256示例70
4.6.1 示例描述70
4.6.2 示例代码70
4.6.3 代码说明72
4.6.4 编译与运行74
4.7 本章小结74
第5章 对称加密算法76
5.1 本章主要内容76
5.2 对称加密算法原理76
5.3 分组密码模式77
5.3.1 ECB(电子密码本)模式77
5.3.2 CBC(密码分组链接)模式78
5.3.3 CTR(计数器)模式79
5.4 PKCS7填充方案81
5.5 AES算法概述82
5.6 AES 算法详细说明84
5.6.1 字节替换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 aescrypto291
5.8.2 crypt_and_hash92
5.9 mbedtls AES示例93
5.9.1 示例描述93
5.9.2 示例代码94
5.9.3 代码说明96
5.9.4 编译与运行97
5.10 本章小结99
第6章 消息认证码100
6.1 本章主要内容100
6.2 消息认证码原理100
6.3 消息认证码实现方法102
6.3.1 单向散列算法实现102
6.3.2 分组密码实现102
6.3.3 认证加密算法实现102
6.4 HMAC算法102
6.5 CBC-MAC和CMAC104
6.5.1 CBC-MAC104
6.5.2 CMAC104
6.6 认证加密CCM106
6.6.1 输入数据格式化106
6.6.2 认证和加密108
6.7 认证加密GCM109
6.7.1 GHASH110
6.7.2 GCTR110
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 本章小结121
第7章 伪随机数生成器122
7.1 本章主要内容122
7.2 随机数概述122
7.3 随机数生成器123
7.3.1 真随机数生成器123
7.3.2 伪随机数生成器124
7.4 CTR_DRBG算法125
7.4.1 参数情况125
7.4.2 生成过程125
7.5 mbedtls 随机数应用工具126
7.5.1 gen_entropy126
7.5.2 gen_random_ctr_drbg127
7.5.3 gen_random_havege127
7.6 mbedtls CTR_DRBG示例128
7.6.1 示例代码128
7.6.2 代码说明130
7.6.3 编译与执行131
7.7 mbedtls 大素数生成示例132
7.7.1 示例代码133
7.7.2 代码说明135
7.7.3 编译与执行135
7.8 mbedtls 自定义熵源接口136
7.9 本章小结137
第8章 RSA算法138
8.1 本章主要内容138
8.2 RSA算法原理138
8.3 RSA 算法详细说明140
8.4 RSA加速技术141
8.4.1 中国剩余数定理142
8.4.2 动手实践142
8.4.3 性能对比143
8.5 RSA 填充方法144
8.5.1 PKCS1-V1_5144
8.5.2 OAEP145
8.6 mbedtls RSA应用工具146
8.6.1 rsa_genkey146
8.6.2 rsa_encrypt147
8.6.3 rsa_decrypt148
8.7 mbedtls RSA加解密示例148
8.7.1 示例代码149
8.7.2 代码说明151
8.7.3 编译与执行153
8.8 本章小结155
第9章 DH密钥协商156
9.1 本章主要内容156
9.2 DH密钥协商数学基础156
9.3 DH密钥协商详细说明157
9.3.1 DH共享参数157
9.3.2 DH密钥协商158
9.3.3 DH具体实践158
9.3.4 DH密钥协商安全性分析159
9.4 常用共享参数161
9.5 mbedtls DH应用工具162
9.5.1 dh_genprime163
9.5.2 dh_server164
9.5.3 dh_client165
9.6 mbedtls DH示例165
9.6.1 示例代码166
9.6.2 代码说明168
9.6.3 编译与执行170
9.7 本章小结172
第10章 ECDH密钥协商173
10.1 本章主要内容173
10.2 椭圆曲线定义173
10.2.1 实数域上的椭圆曲线174
10.2.2 有限域上的椭圆曲线175
10.3 椭圆曲线上群操作176
10.3.1 群操作几何描述176
10.3.2 群操作代数描述177
10.3.3 群操作动手实践178
10.4 椭圆曲线离散对数问题180
10.5 常用有限域上的椭圆曲线181
10.6 ECDH密钥协商183
10.6.1 ECDH共享参数184
10.6.2 密钥协商过程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 编译与执行192
10.9 本章小结193
第11章 数字签名RSA、DSA和ECDSA194
11.1 本章主要内容194
11.2 数字签名原理194
11.3 RSA 数字签名196
11.3.1 RSA数字签名详细说明196
11.3.2 RSA数字签名动手实践197
11.3.3 RSA签名填充方法197
11.4 DSA数字签名199
11.4.1 DSA数字签名详细说明199
11.4.2 DSA签名动手实践200
11.5 ECDSA数字签名201
11.5.1 ECDSA数字签名详细说明201
11.5.2 ECDSA动手实践203
11.6 mbedtls 数字签名应用工具204
11.6.1 rsa_genkey204
11.6.2 rsa_sign204
11.6.3 rsa_verify205
11.7 mbedtls RSA签名示例205
11.7.1 示例代码206
11.7.2 代码说明208
11.7.3 编译与执行209
11.8 mbedtls ECDSA示例211
11.8.1 示例代码211
11.8.2 代码说明214
11.8.3 编译与执行215
11.9 本章小结216
第12章 数字证书X.509217
12.1 本章主要内容217
12.2 数字证书原理217
12.3 X.509证书标准219
12.3.1 证书结构219
12.3.2 证书名称219
12.3.3 证书实例220
12.4 mbedtls X.509应用工具224
12.4.1 cert_req225
12.4.2 req_app226
12.4.3 cert_write227
12.4.4 cert_app229
12.5 mbedtls X.509示例231
12.5.1 示例代码232
12.5.2 代码说明234
12.5.3 编译与执行236
12.6 本章小结237
第13章 mbedtls 移植与性能分析238
13.1 本章主要内容238
13.2 mbedtls移植238
13.2.1 时间相关239
13.2.2 网络相关240
13.2.3 内存分配相关241
13.3 mbedtls算法性能说明243
13.3.1 单向散列函数243
13.3.2 AES算法244
13.3.3 AES-GCM和AES-CCM245
13.3.4 伪随机数生成器246
13.3.5 RSA247
13.3.6 DHE和ECDHE248
13.3.7 ECDSA248
13.3.8 ECC内存优化250
13.4 本章小结253
第14章 TLS254
14.1 本章主要内容254
14.2 TLS原理254
14.2.1 TLS设计目标256
14.2.2 TLS框架说明256
14.3 TLS密码套件257
14.4 TLS记录层协议258
14.5 密码规格变更协议260
14.6 警报协议260
14.7 握手协议261
14.7.1 握手协议概述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的区别275
14.9 TLS密钥计算276
14.9.1 伪随机数生成函数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 对称加密结果长度对比287
14.11 mbedtls TLS应用工具287
14.11.1 基础示例说明289
14.11.2 启动 ssl_server2290
14.11.3 抓取网络数据290
14.11.4 启动 ssl_client2291
14.11.5 分析网络数据291
14.12 构建TLS服务器293
14.12.1 生成证书293
14.12.2 编写HTML页面295
14.12.3 启动s_server 295
14.12.4 验证服务器29
內容試閱
为何写作本书
2015年,我和本书的另一位作者崔红鹏同在无锡物联网产业研究院从事无线传感网方面的开发工作。那年,物联网概念虽然已被炒作多年,但无论是技术路线还是开发手段都还处于摸索阶段。2015年,共享单车才刚刚出现,NBIoT还在协议制定阶段,云计算也没有迎来爆发式增长。当时工作室采购了一套带网络接口的STM32F4开发板,我们想利用这块开发板进行一次HTTPS实验:把STM32F4开发板作为HTTPS服务器,用浏览器作为HTTPS客户端,通过浏览器访问开发板提供的HTTPS服务。我们想将这个嵌入式HTTPS实验作为学习物联网安全的第一步。但万事开头难,我们始终没有完成这个嵌入式HTTPS实验,冗长的调试信息和复杂的握手过程使我们不知所措。在排错过程中,我们查阅了大量的资料,发现了一个又一个新名词或概念,例如SSL、TLS、RSA加密、数字签名和椭圆曲线等,这些密码学基础知识让我们一头雾水。除了一个又一个新名词或概念之外,我们还了解到“RSA已经被破解了”或“哈希算法SHA1已经被破解”这些网络传言,这些真真假假的网络传言让我们在排错过程中束手束脚,生怕使用了不安全的算法。经过几天的努力,我们把问题总结为“TLS握手过程的证书校验出现了问题”。由于大量基础知识的缺失,我们并没有完成这次HTTPS实验。虽然嵌入式HTTPS实验并没有成功,但是我们还是总结了以下经验教训:
1)相对于资源受限制的物联网终端而言,HTTPS协议非常复杂,运行时也需要消耗大量资源。我们也开始思考是不是存在更合适的物联网终端的安全连接方案。
2)HTTPS涉及TLS协议和密码学基础知识,这些内容都需要花时间和精力系统学习。
3)该实验通过PolarSSL开源组件实现SSLTLS,而SSLTLS正是HTTPS的安全传输层。如果要熟练掌握嵌入式HTTPS,首先需要掌握PolarSSL。2015年,Polar更名为mbedtls,开启了物联网安全应用的新篇章。
当时我们还有另外一个共识:要想让物联网设备安全地联网,应该分为两步—第一,让物联网设备方便地连接网络;第二,让物联网设备安全地连接网络。
为了完成“两步走”的第一步,我在2016年到2017年间编写了国内第一本关于物联网专用协议CoAP的图书—《IoT开发实战:CoAP卷》,这本书解决了物联网设备方便连接网络的问题。CoAP好比互联网应用中的HTTP,而互联网应用不仅有HTTP,还有HTTPS,我想物联网应用中也应该有CoAPs。2017年到2018年间,三大运营商—中国电信、中国移动和中国联通在国内大力推进NBIoT网络建设,市面上出现了各种各样的NBIoT模组。2018年3月底,阿里巴巴宣布物联网成为继电商、金融、物流和云计算之后的第5条“主赛道”,从此,物联网进入了“云连物”时代。NBIoT和云计算的脱颖而出极大地推动了物联网的发展,当百万亿连接不再是遥不可及的梦想时,物联网应用不再满足于“方便”,同时对“安全”也提出了更高的要求。
在这种大背景下,2017年6月,我找到了本书的另一位作者崔红鹏,此时他已经在清华大学无锡应用技术研究院从事安全芯片的开发工作。我表示希望结合mbedtls写一本详细描述物联网连接安全的图书,我们很快达成了共识并付诸实践。我已经有编写技术图书的经验,我本以为上一次的成功经验可以使这次图书编写变成一次“愉快的写作之旅”,但是没过多久我就发现自己错了。物联网连接安全涉及大量密码学知识,而密码学又涉及很多数学基础知识,例如初等数论和抽象数学等。数学基础知识的缺失使得图书的编写过程举步维艰,我们花费大量的时间学习各种数论公式,甚至还研究公式或定理的证明过程。大学毕业之后很少有系统地学习数学理论知识的机会,这次特殊的自主学习经历让我们深刻体会到了数学的力量,那些经典的公式居然在几百年之后依然发挥着巨大的作用。
目标读者
本书适合物联网工程师、嵌入式工程师和Web开发工程师阅读。
对于物联网工程师而言,通过本书可以系统地学习物联网安全连接的基础知识。本书借助深入浅出的示例讲解密码学算法,这些算法是构成物联网连接安全的利器。
对于嵌入式工程师而言,本书详细讲解了mbedtls不同模块的使用方法,这些使用方法可以帮助你构建物联网安全应用。本书还分析各种安全算法的性能,这些分析结果将帮助你在实际项目中做出正确的选择。
对于Web开发工程师而言,通过本书可以从设备角度了解物联网连接安全的限制条件,在这些限制条件下,物联网设备不能直接使用互联网应用中常见的安全套件。
总而言之,本书试图消除物联网工程师、嵌入式工程师与Web开发工程师之间的知识鸿沟,在物联网连接安全方面达成共识。
如何阅读本书
本书主要内容分为三部分。
第一部分:第1~3章。第一部分是全书的基础。第1章主要讲解密码学安全常识、mbedtls和OpenSSL相关基础知识。本书虽然以mbedtls为核心,但在多个章节中使用了OpenSSL工具,所以在第1章的后面部分将详细讲解OpenSSL的安装和使用方法。第2章介绍mbedtls的安装和使用方法,由于本书的大多数硬件示例均基于Zephyr构建,所以第2章还介绍了Zephyr的构建过程和使用方法。第3章讲解数论基础知识,包括素数、模运算、群、域和有限域等概念,这些数论知识是密码学

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 大陸用户 | 海外用户
megBook.com.hk
Copyright © 2013 - 2024 (香港)大書城有限公司  All Rights Reserved.