带你读《2022技术人的百宝黑皮书》——HTTPS的原理浅析与本地开发实践(4)https://developer.aliyun.com/article/1340627?groupCode=taobaotech
证书的产生和流转过程
- 产生终端证书:将发送方提供的身份信息和公钥信息作为基础数据,CA基于这些数据做哈希和数字签名(CA的 私钥加密)操作产生数字证书;
- 证书合法性校验:发送方会将CA签发的终端证书通过互联网发送给接收方,接收方会基于CA预装在系统内的根 证书(含CA公钥)来验证发送方提供的整证书是否合法;
这种在数据传输过程中引入第三方来证明公钥的合法性是相对安全的,因为被信任的CA根证书都会被预装在操作系统中,这就相当于信任自己的操作系统,所以HTTPS协议在整个传输过程中,数据的一致性和安全性可以得到有效 的保证。
任何解决方案都不是银弹,都存在弱点或者不足。基于CA证书的通信过程也不是完美无缺的,因为CA机构本身也 可能存在管理上的问题,进而导致伪造证书泛滥,被有心者恶意利用,或者用户本身安全意识淡薄导致将不安全的证书安装进操作系统,导致数据传输安全问题的发生。(案例:《distrusting-new-cnnic-certificates》https://blog.mozilla.org/security/2015/04/02/distrusting-new-cnnic-certificates/)
HTTP的数据交换流程
下面会基于wireshark工具,对单次HTTPS协议的网站流量进行详细的分析。
HTTP和HTTPS数据交换流程对比
HTTP —— 数据传输过程简单,双方没有认证过程,数据明文传输
HTTPS —— 数据传输前要做复杂的协商过程,双方要做合法性校验,数据密文传输
基于DH秘钥协商算法的信息交换流程
带你读《2022技术人的百宝黑皮书》——HTTPS的原理浅析与本地开发实践(6)https://developer.aliyun.com/article/1340624?groupCode=taobaotech