https 笔记
 
 
 
 
 
 
 
 
 
 
 
贡献者: addis
1. 非对称加密
- 私钥主人持有私钥,并把公钥公开。用公钥加密的内容只有私钥可以解密。
- 事实上也可以用私钥加密内容,同样只有公钥才能解密。公钥私钥在数学上是对称的,安全性也是一样的,只是用途不同。
- 用私钥加密内容通常是为了验证私钥持有者的身份,所以这个过程一般不叫作加密而是叫做签名。
- 如果私钥(公钥)对一个双方商量好的内容加密,而对应的公钥(私钥)可以成功解密出该铭文,就可以证明加密者一定持有私钥(公钥)。
- 但公钥有可能是伪造的,所以还需要权威机构(CA)证明这个公钥的确属于某个人、公司、域名等
- CA 如何证明?CA 用自己的私钥对 “公钥以及所有者的身份” 这一信息进行签名,就叫做一个证书。当然这需要大家都事先拥有常用 CA 的真实公钥(可以通过不同渠道获得以相互印证)。
2. https 加密
- 不对称和对称加密结合。用不对称加密来传输对称加密的密钥。
- 浏览器或操作系统已经事先储存了 CA(权威机构)的公钥。
- CA 会对网站的公钥签名以证明该公钥的确是该网站的。签名后的公钥就是数字证书。
- 拿到网站公钥后,浏览器就可以生成一个对称加密的密码,用公钥加密,服务器用私钥解密。但现在服务器还无法发送任何需要加密的信息给浏览器,因为被私钥加密的信息相当于是公开的。
- 以上都是在握手阶段产生的。之后双方会采用「会话秘钥」(对称加密)进行加密通信。对称加密更快效率更高。
- 「会话秘钥」需要双方协商生产。这个协商过程需客户端和服务器各生成一个随机数明文传输,然后客户端生成
pre-master secret
加密传输。三者结合后在两边各自生成。这两个随机数是为了确保每一次会话的密钥都是不同的,增加了安全性。
- SSL/TLS 的「握手阶段」涉及四次通信(不是四次握手,每次通信都有几个来回)
- TLS 和 SSL 是一个东西。
- SSL/TLS 1.2 需要 4 握手,需要 2 个 RTT 的时延
- SSL/TLS 1.3 优化了过程,只需要 1 个 RTT 往返时延,也就是只需要 3 次握手
 
 
 
 
 
 
 
 
 
 
 
© 小时科技 保留一切权利