【物联网-OpenSSL】
物联网-OpenSSL■ OpenSSL 是一个开源的密码学工具包■ 01. OpenSSL-简介■ 02. OpenSSL-■ 03. OpenSSL-■ 04. OpenSSL-■ 05. OpenSSL-■ 加密解密■ 01. 概述■ 02. 对称加密算法■ 03. 非对称加密算法■ 04. 数字证书■ 05.■ OpenSSL 是一个开源的密码学工具包■ 01. OpenSSL-简介关键描述OpenSSL是一个开源的密码学工具包实现了SSL安全套接层和 TLS传输层安全协议同时提供了丰富的密码学算法和实用工具。HTTP on SSL 即是HTTPs1. 密钥与证书管理OpenSSL 是证书管理的全能工具支持- 生成密钥对RSA、ECC 等- 创建证书签名请求CSR- 生成自签名证书用于测试或内部使用- 充当私有 CA 签发和管理证书- 验证证书链完整性- 证书格式转换PEM、DER、PFX 等2. 加密算法支持- 对称加密AES、DES、3DES、ChaCha20、Blowfish 等- 非对称加密RSA、DSA、Diffie-Hellman、椭圆曲线X25519、Ed25519 等- 哈希函数SHA-1、SHA-2、SHA-3、MD5、BLAKE2 等- 数字签名支持多种签名算法和验签操作OpenSSL加密通信让数据在网络上传输时低声细语而不是大声喊叫防止被窃听或篡改身份认证通过数字证书确认通信对方的真实身份当你在浏览器地址栏看到那把小锁HTTPS时背后很可能就是 OpenSSL 在工作。OpenSSL协议OpenSSL 最核心的功能是实现SSL/TLS 协议通过对称加密和非对称加密技术的结合确保数据在传输过程中的机密性和完整性。这是 HTTPS、SMTPS、FTPS 等安全协议的基础。SSL/TLS不仅提供加密还确保数据的完整性和通信双方的身份验证。SSL (Secure Sockets Layer): 安全套接层一种安全协议用于在互联网上提供加密通信。TLS (Transport Layer Security): 传输层安全协议SSL的继承者提供更强的安全性。1. 握手过程解析SSL/TLS握手是建立加密通信的关键步骤。这个过程涉及多个阶段包括1. 客户端和服务器的协议版本协商确定使用哪个版本的SSL/TLS。2. 密钥交换客户端和服务器交换密钥信息确保双方都能加密和解密信息。3. 证书验证客户端验证服务器的身份确保通信安全。2. 数据封装与解封装SSL/TLS中加密发生在应用层数据被传递到传输层之前。这意味着加密数据被TCP看作是普通数据进行传输。在接收端数据被TCP层解封装后再由SSL/TLS层进行解密然后传递给应用层。3. 安全握手SSL/TLS的握手过程是建立安全通信的关键。在这个过程中客户端和服务器交换密钥信息协商加密算法。这个过程就像是两个初次见面的人在建立信任通过一系列的交流来确认对方的身份和意图。OpenSSL主要角色生成和管理密钥创建用于加解密数据的数字密钥加解密数据使用这些密钥对数据进行加密和解密确保只有持有正确密钥的一方才能读取信息OpenSSL工作原理以 HTTPS 网站为例的工作流程1. 使用 OpenSSL 生成 SSL/TLS 证书和私钥2. 将证书安装在服务器上向访问者证明网站身份3. 浏览器与服务器通过 TLS 握手协商加密参数4. 双方使用协商好的密钥对传输数据进行加密OpenSSL对称加密与非对称加密1. SSL/TLS使用对称加密和非对称加密的结合。非对称加密用于握手阶段的密钥交换对称加密则用于实际的数据传输。OpenSSL数字证书和密钥交换1. 数字证书是SSL/TLS中用于身份验证的重要组成部分。它们由可信的证书颁发机构签发并包含公钥信息。密钥交换则是在握手过程中客户端和服务器之间建立一个共享的秘密用于后续的对称加密。OpenSSL数据完整性和身份验证1. SSL/TLS不仅提供加密还确保数据的完整性和通信双方的身份验证。消息认证码 (Message Authentication Code, MAC)消息认证码是一种保证信息完整性的机制。它通过对每条消息附加一个安全的MAC来实现确保数据在传输过程中未被篡改。身份验证机制 (Authentication Mechanisms)SSL/TLS通过使用数字证书来验证通信双方的身份。这就像是在网络世界中展示你的身份证确保你是你所声称的那个人。■ 02. OpenSSL-■ 03. OpenSSL-■ 04. OpenSSL-■ 05. OpenSSL-■ 加密解密■ 01. 概述概念和术语描述加密密钥(Encryption Keys)1. 公钥 (Public Key):用于加密数据可以公开。2. 私钥 (Private Key):用于解密数据必须保密。证书(Certificates)1. 数字证书 (Digital Certificate):用于验证实体身份的电子文件。加密算法1. 对称加密双方共享一个密钥用于加密和解密信息。2. 非对称加密使用一对公钥和私钥其中一个用于加密另一个用于解密。对称加密算法1. OpenSSL一共提供了8种对称加密算法其中7种是分组加密算法1种流加密算法是RC47种分组加密算法:AES、DES、Blowfish、CAST、IDEA、RC2、RC51种流加密算法:RC4加密模式电子密码本模式ECB加密分组链接模式CBC加密反馈模式CFB输出反馈模式OFBAESAES使用的加密反馈模式CFB和输出反馈模式OFB分组长度是128位其它算法使用的则是64位。DESDES算法里面不仅仅是常用的DES算法还支持三个密钥和两个密钥3DES算法。1. TCP/IP协议Transmission Control Protocol/Internet Protocol传输控制协议/网际协议是互联网的基础2. SSL/TLSSecure Sockets Layer/Transport Layer Security安全套接字层/传输层安全base64Base64顾名思义就是包括小写字母a-z、大写字母A-Z、数字0-9、符号“、”/“一共64个字符的字符集另加一个“”实际是65个字符至于为什么还会有一个“”这个后面再说。任何符号都可以转换成这个字符集中的字符这个转换过程就叫做base64编码。■ 02. 对称加密算法OpenSSL一共提供了8种对称加密算法其中7种是分组加密算法仅有的一种流加密算法是RC4。定义描述OpenSSL1. OpenSSL一共提供了8种对称加密算法7种是分组加密算法1种流加密算法是RC42. 7种分组加密算法分别AES、DES、Blowfish、CAST、IDEA、RC2、RC5都支持如下四种常用的分组密码加密模式。电子密码本模式ECB、加密分组链接模式CBC、加密反馈模式CFB输出反馈模式OFB3.AES使用的加密反馈模式CFB和输出反馈模式OFB分组长度是128位其它算法使用的则是64位。4.DES算法里面不仅仅是常用的DES算法还支持三个密钥和两个密钥3DES算法。■ 03. 非对称加密算法OpenSSL一共实现了4种非对称加密算法包括DH算法、RSA算法、DSA算法和椭圆曲线算法EC。概念和术语描述DHDH算法一般用户密钥交换RSARSA算法既可以用于密钥交换也可以用于数字签名DSADSA算法则一般只用于数字签名。EC椭圆曲线■ 04. 数字证书■ 05.# ■ ## ■01.## ■02.## ■03.## ■04.## ■05.