文章目录
- 对称加密方案
- 非对称加密方案
- 对称加密方案+非对称加密方案
- 对称加密方案+非对称加密方案+数字证书
因为HTTP是明文传输,所以会很有可能产生中间人攻击(获取并篡改传输在客户端及服务端的信息并不被人发觉),HTTPS加密应运而生。
对称加密方案
简单的说,就是用一个密钥,可以对一段信息进行加密,也可以使用其本身对这段信息进行解密,这就叫做对称加密。
中间人只需在传私钥时窃取私钥信息,那往后传输的所谓“加密”数据,中间人也都可以将其解密并加密继续传输下去而不被人发现
非对称加密方案
- 服务端拥有公钥S与对应的私钥S’,客户端拥有公钥C与对应的私钥C’
- 客户和服务端交换公钥
- 客户端给服务端发信息:先用S对数据加密,再发送,只能由服务器解密,因为只有服务器有私钥S’
- 服务端给客户端发信息:先用C对数据加密,在发送,只能由客户端解密,因为只有客户端有私钥C’
问题:
中间人只需采取上述手段,就能“神不知鬼不觉”地获取客户端与服务器之间传输的数据
对称加密方案+非对称加密方案
- 服务端拥有公钥S与对应的私钥S’,客户端拥有公钥C与对应的私钥C’
- 客户和服务端交换公钥
- 客户端生成对称加密的秘钥P
- 客户端给服务端发秘钥P:先用S对秘钥P加密,再发送
- 服务端与客户端通信:利用秘钥P加密的数据,再发送
这种方法在效率上有所提升,但安全性与非对称加密方案一样
对称加密方案+非对称加密方案+数字证书
网站在使用HTTPS前,需要向CA机构申领一份数字证书,数字证书里含有证书持有者信息、公钥信息等。服务器把证书传输给浏览器,浏览器从证书里获取公钥就行了,证书就如身份证,证明“该公钥对应该网站”
当中间人攻击时