今天看了相关文档,学习了HTTPS的相关知识,对于HTTPS有了一些浅显的认识,在这里记录下来。
首先HTTPS其实就是http+SSL/TLS ,HTTPS完全符合http的网络传输协议,只不过是在http的基础上对网络传输的数据进行了一个加密。
下面是我画的一个http和https最表面的直白对比,就是我们在没做任何加密的情况下,http协议下传输数据是明文的,HTTPS传输的数据是经过加密的密文。
不过HTTPS怎么实现的安全的数据加密的呢?这个问题肯定有一些人不是很清楚。
(在这里我要给不太了解非对称加密的说一下一个知识点,就是在非对称加密中用公钥加密的文件只能私钥能解开,用私钥加密的数据用私钥和公钥都能解开)
首先如果只是单纯的实现对称加密或者非对称加密,在网络传输与存储的时候都会存在被拦截获取密钥的情况,都不会很安全,所以我直接说一下HTTPS的实现原理:
首先HTTPS必须有一个CA机构给网站进行认证,这个认证服务器会在我们请求服务器的时候对我们下发给服务器的公钥进行加密生成证书,这么说可能也不是很清晰,直接看下图吧:
当网站地址是HTTPS的时候,我们访问这个网站的第一次请求都是访问的服务器443端口,生成对称加密的密钥之后就不再访问443端口了。
经过图片中的五步操作就已经生成了只有浏览器和服务器两端知道的对称加密的密钥,之后浏览器和服务器就可以通过80端口进行对称加密的数据传输了。