Network HTTPS
HTTPS Network
2023-09-14 09:14:49 时间
Network HTTPS
加密分两种 : 对称加密,非对称加密
- 对称加密算法 : 加密/解密都用相同的密钥
- 非对称加密算法 : 加密/解密用的密钥不相同。公钥加密,只有私钥才能解密。私钥加密,只有公钥才能解密
- 对称加密算法比非对称加密算法,效率要高些
数字证书
权威部门颁发的证书 (Certificate)
- 证书里面有公钥 , 证书的所有者,证书的发布机构,证书的有效期
- 生成证书要发送证书请求给一个权威机构 (CA (Certificate Authority) ) 认证
- 大 CA (root CA) : 通过层层授信背书,保证非对称加密模式运转
- 另种证书 (Self-Signed Certificate) : 自己给自己签名
HTTPS 工作模式
- 客户端发送
Client Hello
消息到服务器,以明文传输 TLS 版本信息、加密套件候选列表、压缩算法候选列表、随机数 - 返回
Server Hello
消息 , 告诉客户端,服务器用的协议版本、加密套件、压缩算法,随机数 - 服务器把证书发给客户端
- 客户端验证证书可信后,客户端把随机数字 Pre-master,发送
Client Key Exchange
,用证书的公钥加密,发送给服务器,服务器用私钥解密 - 客户端/服务器都有三个随机数 (自己、对端,Pre-Master 随机数)。通过三个随机数,产生相同对称密钥
- 有了对称密钥,客户端发送
Change Cipher Spec
,以后都用对称密钥进行加密 - 再发送
Encrypted Handshake Message
,将数据用对称密钥加密,发送给服务器进行握手验证 - 服务器也发送
Change Cipher Spec
,以后都用对称密钥进行加密,也发送Encrypted Handshake Message
消息 - 当握手结束后,就用对称密钥进行加密传输
重放/篡改
- 防止重放 : 用 Timestamp 和 Nonce 随机数联合起来,做成不可逆的签名保证
- 防止篡改 : 用签名保证不可篡改性
相关文章
- 《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(9)-Fiddler如何设置捕获Https会话
- winhttp 访问https_WinHttp支持HTTPS下载「建议收藏」
- 计算机网络 — HTTP协议 和 HTTPS[通俗易懂]
- Tomcat 配置局域网内的Https
- HTTP面试题 - HTTPS优化
- 使用Acme工具配置Let's Encrypt通配符HTTPS证书
- RestTemplate自定义异常白名单,连接https
- https://haobin.work/2021/04/30/并发/Java线程池异常处理/
- https://haobin.work/2022/09/17/IO/文件操作之 FileChannel 与 mmap/
- 使用HTTPS协议的常见误区
- HTTPS 协议简述
- JAVA利用HttpClient进行HTTPS接口调用详解编程语言
- 服务Linux下快速搭建HTTPS服务(linux配置https)
- Linux安全协议:借助HTTPS保障信息安全(linux支持https)
- Linux系统下HTTPS安装指南(linux安装https)
- 使用Redis实现安全的HTTPS跳转(redis跳转https)
- windows环境下用squid代理https(ssl)的方法