什么是HTTPS
- HTTPS = HTTP + TLS
- TLS是一种安全传输协议,保证HTTPS请求与响应的数据安全性
HTTPS请求响应的大致流程
-
第一步:TLS握手,协商加密密钥
- client请求server,say hello
- server发送证书、签名算法、加密算法等信息
- client验证证书合法性
- client与server协商数据传输的对称密钥
- 第二步:应用数据传输,用协商通过的密钥加密应用数据,发送加密数据
证书合法性校验
证书合法性校验用到数字签名技术。合法的证书由CA机构签发,证书中都会带上Signature,Signature是证书的摘要(HASH)用CA的私钥加密生成的。
证书校验流程:
- client用同样的算法生成证书摘要A
- client用CA的公钥解密Signature获得摘要B
- client比较A和B是否相同,相同则证书合法。如果证书被修改过,A和B必然不会相同。
多级证书的校验:
CA机构也是分级的,顶的CA机构的证书是根证书。一般网站的证书不可能是根证书签发的,这样就会一级一级往上校验证书的合法性。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。