简单地说https=http+(tls)ssl 相比较于http更加安全。
Information Security关注的三个问题CIA(Confidentiality=机密性,Integrity=数据完整性,Availability=服务可用性)
- 机密性:A和B传输的信息都是加密的。
- 数据完整性:A和B传输的信息是不可被别人修改的。
- 服务可用性:服务端能够保证授权的用户一直可用服务。
https对C和I做出了保证。
- C的保证:对称加密
- I:数字签名
我们来看一下https的连接步骤:
- C->S:发送内容:一个C生成的随机数和C支持的加密协议列表
- S->C:发送内容:一个S生成的随机数和决定后续使用的加密协议;从CA机构得到的数字证书(来证明我是一个已被认证的网站-自证身份)
- C->S:检查数字证书是有效的,然后发送内容:一个加密后的随机数==从数字证书中拿到公约加密这个随机数。
- S:使用私钥加密随机数。
- 双方开始使用三个随机数进行后续的加密通信
加密算法
- 第3步和第4步加密使用的是非对称加密。默认使用RSA
-
第5步之后,对通信的加密使用的是对称加密。
image.png