物联网核心技术丛书密码技术与物联网安全:MBEDTLS开发实战

本书特色

[

本书是国内一本理论结合实践的物联网安全书籍,包括数论基础知识、密码学算法、TLS/DTLS协议、物联网安全协议CoAPs等部分。本书试图打破物联网工程师、嵌入式工程师与Web开发工程师之间的知识鸿沟,通过图文并茂的方式说明密码技术与物联网安全。
本书具有以下特点:
?密码学算法部分除了理论知识之外,还包括mbedtls示例代码,可以帮助读者更快地理解晦涩难懂的密码技术。本书基于嵌入式硬件平台描述密码学算法性能,通过示例代码分析密码学算法资源消耗情况,并给出实战建议。
?紧扣物联网安全发展趋势。认证加密算法部分,本书详细描述了认证加密算法CCM模式和GCM模式;椭圆曲线算法部分,本书详细描述了椭圆曲线密码算法的数学基础以及安全原理;
?TLS/DTLS协议部分。本书以物联网终端的角度详细描述TLS/DTLS协议的实现过程,按照密钥交换、密钥计算、对称加密等部分展开,并总结了物联网设备使用TLS/DTLS协议的建议;
?物联网安全协议CoAPs部分。本书详细描述了物联网安全协议CoAPs,CoAPs依赖DTLS协议,它可在占用较少资源的情况下为终端设备提供安全连接能力。

]

内容简介

[

本书是靠前一本理论结合实践的物联网安全书籍,包括数论基础知识、密码学算法、TLS/DTLS协议、物联网安全协议CoAPs等部分。本书试图打破物联网工程师、嵌入式工程师与Web开发工程师之间的知识鸿沟,通过图文并茂的方式说明密码技术与物联网安全。本书具有以下特点:?密码学算法部分除了理论知识之外,还包括mbedtls示例代码,可以帮助读者更快地理解晦涩难懂的密码技术。本书基于嵌入式硬件平台描述密码学算法性能,通过示例代码分析密码学算法资源消耗情况,并给出实战建议。?紧扣物联网安全发展趋势。认证加密算法部分,本书详细描述了认证加密算法CCM模式和GCM模式;椭圆曲线算法部分,本书详细描述了椭圆曲线密码算法的数学基础以及安全原理;?TLS/DTLS协议部分。本书以物联网终端的角度详细描述TLS/DTLS协议的实现过程,按照密钥交换、密钥计算、对称加密等部分展开,并总结了物联网设备使用TLS/DTLS协议的建议;?物联网安全协议CoAPs部分。本书详细描述了物联网安全协议CoAPs,CoAPs依赖DTLS协议,它可在占用较少资源的情况下为终端设备提供安全连接能力。

]

作者简介

[

徐凯 阿里云IoT开发工程师,花名左相。物联网技术实践者与研究者,对物联网传输协议、物联网安全和物联网数据存储有常深刻的认识与理解。多年嵌入式与物联网系统开发经验,涉猎终端设备,边缘计算与物联网平台等多个领域。编写大量关于物联网应用、物联网操作系统,物联网传输协议相关的技术博文,博文广受好评。著有《IoT开发实战 CoAP卷》。
崔红鹏 嵌入式软件工程师,现就职于清华大学无锡应用技术研究院——微纳电子与系统芯片实验室。“CPU硬件安全动态监测管控技术”项目组成员,负责密码学算法实现和SDK开发,该项目曾获 “2018年世界互联网大会15项全球领先科技成果”。物联网安全爱好者,对嵌入式系统、密码学技术和安全应用方案有深入研究,积极参与开源项目,为GmSSL和zephyr等开源项目贡献过代码。

]

目录

推荐序一推荐序二前言第1章 物联网安全概述 11.1 本章主要内容 11.2 物联网安全基础 11.2.1 物联网安全与互联网安全 11.2.2 物联网安全与密码学 21.3 密码学安全常识 31.3.1 柯克霍夫原则 31.3.2 Alice和Bob 41.3.3 Eve和Mallory 41.4 mbedtls简介 51.4.1 密码学工具箱 51.4.2 TLS/DTLS协议 61.4.3 X.509证书 61.5 OpenSSL简介 71.5.1 源代码安装 71.5.2 命令行工具简介 81.5.3 摘要命令 dgst 81.5.4 对称加密命令 enc 81.5.5 SSL命令 s_server 91.6 本章小结 11第2章 mbedtls入门 122.1 本章主要内容 122.2 mbedtls 体系结构 122.3 Linux mbedtls 安装 132.3.1 安装 CMake 132.3.2 使用 CMake 安装 mbedtls 142.4 Linux mbedtls 示例 172.4.1 Base64示例 172.4.2 遍历 mbedtls 安全套件 202.5 Zephyr OS 简介 242.6 Zephyr 开发环境搭建 252.7 Zephyr 硬件平台选择 262.7.1 资源介绍 272.7.2 Ubuntu中安装STLink工具 282.8 Zephyr 应用示例开发 282.8.1 编写 CMakeLists.txt 292.8.2 编写 prj.conf 292.8.3 编写 main.c 292.8.4 编译与运行 302.9 Zephyr mbedtls 示例 312.9.1 Base64示例 312.9.2 大数运算示例 352.10 本章小结 39第3章 数论基础知识 413.1 本章主要内容 413.2 素数 423.3 模运算 433.3.1 模数 433.3.2 同余 433.3.3 模算术运算 443.3.4 模逆运算 443.3.5 模重复平方 463.4 群 473.4.1 群的基本概念 473.4.2 循环群 483.4.3 子群 493.5 域 503.5.1 域的基本概念 503.5.2 有限域和素域 503.5.3 扩展域GF(2m) 523.5.4 GF(2m)加法和减法 533.5.5 GF(2m)乘法 533.5.6 GF(2m)逆操作 553.6 欧拉函数 563.7 欧拉定理 563.8 费马小定理 573.9 离散对数 573.9.1 模算术–指数 573.9.2 模算术–对数 583.9.3 离散对数问题 593.10 本章小结 59第4章 单向散列函数 604.1 本章主要内容 604.2 单向散列函数原理 604.2.1 单向散列函数性质 614.2.2 单向散列函数应用 624.3 单向散列函数的实现方法 634.3.1 MD算法家族 634.3.2 SHA算法家族 634.4 SHA256 详细描述 644.4.1 预处理 644.4.2 哈希计算 664.4.3 具体示例 684.5 mbedtls 单向散列应用工具 694.5.1 hello 694.5.2 generic_sum 694.6 mbedtls SHA256示例 704.6.1 示例描述 704.6.2 示例代码 704.6.3 代码说明 724.6.4 编译与运行 744.7 本章小结 74第5章 对称加密算法 765.1 本章主要内容 765.2 对称加密算法原理 765.3 分组密码模式 775.3.1 ECB(电子密码本)模式 775.3.2 CBC(密码分组链接)模式 785.3.3 CTR(计数器)模式 795.4 PKCS7填充方案 815.5 AES算法概述 825.6 AES 算法详细说明 845.6.1 字节替换 845.6.2 行移位 865.6.3 列混合 875.6.4 轮密钥加法 875.6.5 轮密钥生成 885.7 AES算法动手实践 905.8 mbedtls 对称加密应用工具 915.8.1 aescrypto2 915.8.2 crypt_and_hash 925.9 mbedtls AES示例 935.9.1 示例描述 935.9.2 示例代码 945.9.3 代码说明 965.9.4 编译与运行 975.10 本章小结 99第6章 消息认证码 1006.1 本章主要内容 1006.2 消息认证码原理 1006.3 消息认证码实现方法 1026.3.1 单向散列算法实现 1026.3.2 分组密码实现 1026.3.3 认证加密算法实现 1026.4 HMAC算法 1026.5 CBC-MAC和CMAC 1046.5.1 CBC-MAC 1046.5.2 CMAC 1046.6 认证加密CCM 1066.6.1 输入数据格式化 1066.6.2 认证和加密 1086.7 认证加密GCM 1096.7.1 GHASH 1106.7.2 GCTR 1106.7.3 认证和加密 1116.8 mbedtls HMAC示例 1126.8.1 示例代码 1136.8.2 代码说明 1146.8.3 编译与运行 1166.9 mbedtls GCM 示例 1176.9.1 示例代码 1176.9.2 代码说明 1196.9.3 编译与运行 1206.10 本章小结 121第7章 伪随机数生成器 1227.1 本章主要内容 1227.2 随机数概述 1227.3 随机数生成器 1237.3.1 真随机数生成器 1237.3.2 伪随机数生成器 1247.4 CTR_DRBG算法 1257.4.1 参数情况 1257.4.2 生成过程 1257.5 mbedtls 随机数应用工具 1267.5.1 gen_entropy 1267.5.2 gen_random_ctr_drbg 1277.5.3 gen_random_havege 1277.6 mbedtls CTR_DRBG示例 1287.6.1 示例代码 1287.6.2 代码说明 1307.6.3 编译与执行 1317.7 mbedtls 大素数生成示例 1327.7.1 示例代码 1337.7.2 代码说明 1357.7.3 编译与执行 1357.8 mbedtls 自定义熵源接口 1367.9 本章小结 137第8章 RSA算法 1388.1 本章主要内容 1388.2 RSA算法原理 1388.3 RSA 算法详细说明 1408.4 RSA加速技术 1418.4.1 中国剩余数定理 1428.4.2 动手实践 1428.4.3 性能对比 1438.5 RSA 填充方法 1448.5.1 PKCS1-V1_5 1448.5.2 OAEP 1458.6 mbedtls RSA应用工具 1468.6.1 rsa_genkey 1468.6.2 rsa_encrypt 1478.6.3 rsa_decrypt 1488.7 mbedtls RSA加解密示例 1488.7.1 示例代码 1498.7.2 代码说明 1518.7.3 编译与执行 1538.8 本章小结 155第9章 DH密钥协商 1569.1 本章主要内容 1569.2 DH密钥协商数学基础 1569.3 DH密钥协商详细说明 1579.3.1 DH共享参数 1579.3.2 DH密钥协商 1589.3.3 DH具体实践 1589.3.4 DH密钥协商安全性分析 1599.4 常用共享参数 1619.5 mbedtls DH应用工具 1629.5.1 dh_genprime 1639.5.2 dh_server 1649.5.3 dh_client 1659.6 mbedtls DH示例 1659.6.1 示例代码 1669.6.2 代码说明 1689.6.3 编译与执行 1709.7 本章小结 172第10章 ECDH密钥协商 17310.1 本章主要内容 17310.2 椭圆曲线定义 17310.2.1 实数域上的椭圆曲线 17410.2.2 有限域上的椭圆曲线 17510.3 椭圆曲线上群操作 17610.3.1 群操作几何描述 17610.3.2 群操作代数描述 17710.3.3 群操作动手实践 17810.4 椭圆曲线离散对数问题 18010.5 常用有限域上的椭圆曲线 18110.6 ECDH密钥协商 18310.6.1 ECDH共享参数 18410.6.2 密钥协商过程 18410.6.3 动手实践 18410.7 mbedtls椭圆曲线模块 18510.8 mbedtls ECDH示例 18710.8.1 示例代码 18810.8.2 代码说明 19010.8.3 编译与执行 19210.9 本章小结 193第11章 数字签名RSA、DSA和ECDSA 19411.1 本章主要内容 19411.2 数字签名原理 19411.3 RSA 数字签名 19611.3.1 RSA数字签名详细说明 19611.3.2 RSA数字签名动手实践 19711.3.3 RSA签名填充方法 19711.4 DSA数字签名 19911.4.1 DSA数字签名详细说明 19911.4.2 DSA签名动手实践 20011.5 ECDSA数字签名 20111.5.1 ECDSA数字签名详细说明 20111.5.2 ECDSA动手实践 20311.6 mbedtls 数字签名应用工具 20411.6.1 rsa_genkey 20411.6.2 rsa_sign 20411.6.3 rsa_verify 20511.7 mbedtls RSA签名示例 20511.7.1 示例代码 20611.7.2 代码说明 20811.7.3 编译与执行 20911.8 mbedtls ECDSA示例 21111.8.1 示例代码 21111.8.2 代码说明 21411.8.3 编译与执行 21511.9 本章小结 216第12章 数字证书X.509 21712.1 本章主要内容 21712.2 数字证书原理 21712.3 X.509证书标准 21912.3.1 证书结构 21912.3.2 证书名称 21912.3.3 证书实例 22012.4 mbedtls X.509应用工具 22412.4.1 cert_req 22512.4.2 req_app 22612.4.3 cert_write 22712.4.4 cert_app 22912.5 mbedtls X.509示例 23112.5.1 示例代码 23212.5.2 代码说明 23412.5.3 编译与执行 23612.6 本章小结 237第13章 mbedtls 移植与性能分析 23813.1 本章主要内容 23813.2 mbedtls移植 23813.2.1 时间相关 23913.2.2 网络相关 24013.2.3 内存分配相关 24113.3 mbedtls算法性能说明 24313.3.1 单向散列函数 24313.3.2 AES算法 24413.3.3 AES-GCM和AES-CCM 24513.3.4 伪随机数生成器 24613.3.5 RSA 24713.3.6 DHE和ECDHE 24813.3.7 ECDSA 24813.3.8 ECC内存优化 25013.4 本章小结 253第14章 TLS 25414.1 本章主要内容 25414.2 TLS原理 25414.2.1 TLS设计目标 25614.2.2 TLS框架说明 25614.3 TLS密码套件 25714.4 TLS记录层协议 25814.5 密码规格变更协议 26014.6 警报协议 26014.7 握手协议 26114.7.1 握手协议概述 26114.7.2 完整握手过程 26314.7.3 会话恢复 27014.8 TLS密钥交换 27114.8.1 密钥交换算法对比 27114.8.2 ECDHE密钥交换 27214.8.3 ECDH与ECDHE的区别 27514.9 TLS密钥计算 27614.9.1 伪随机数生成函数 27614.9.2 主密钥计算 27814.9.3 KeyBlock计算 27814.9.4 密钥计算示例 27914.10 对称加密 28114.10.1 分组加密 28114.10.2 认证加密 28414.10.3 对称加密示例 28514.10.4 对称加密结果长度对比 28714.11 mbedtls TLS应用工具 28714.11.1 基础示例说明 28914.11.2 启动 ssl_server2 29014.11.3 抓取网络数据 29014.11.4 启动 ssl_client2 29114.11.5 分析网络数据 29114.12 构建TLS服务器 29314.12.1 生成证书 29314.12.2 编写HTML页面 29514.12.3 启动s_server 29514.12.4 验证服务器 29

封面

物联网核心技术丛书密码技术与物联网安全:MBEDTLS开发实战

书名:物联网核心技术丛书密码技术与物联网安全:MBEDTLS开发实战

作者:徐凯 崔红鹏

页数:368

定价:¥79.0

出版社:机械工业出版社

出版日期:2019-03-01

ISBN:9787111620013

PDF电子书大小:138MB 高清扫描完整版



本文标题:《物联网核心技术丛书密码技术与物联网安全:MBEDTLS开发实战》PDF下载

资源仅供学习参考,禁止用于商业用途,请在下载后24小时内删除!