什么是HTTPS
- HTTPS = HTTP + TLS
- TLS是一种安全传输协议,保证HTTPS请求与响应的数据安全性
HTTPS请求响应的大体流程
-
第一步:TLS握手,协商加密密钥html
- client请求server,say hello
- server发送证书、签名算法、加密算法等信息
- client验证证书合法性
- client与server协商数据传输的对称密钥
- 第二步:应用数据传输,用协商经过的密钥加密应用数据,发送加密数据
证书合法性校验
证书合法性校验用到数字签名技术。合法的证书由CA机构签发,证书中都会带上Signature,Signature是证书的摘要(HASH)用CA的私钥加密生成的。算法
证书校验流程:segmentfault
- client用一样的算法生成证书摘要A
- client用CA的公钥解密Signature得到摘要B
- client比较A和B是否相同,相同则证书合法。若是证书被修改过,A和B必然不会相同。
多级证书的校验:安全
CA机构也是分级的,顶的CA机构的证书是根证书。通常网站的证书不多是根证书签发的,这样就会一级一级往上校验证书的合法性。session
参考文章