一. 什么是HTTPS协议
HTTPS的英文全称是:Hyper Text Transfer Protocol Secure,可以看出他就是在HTTP协议的基础上加上了信息的安全机制。信息的安全传输又是有SSL(Secure Socket Layer)协议支持的,它支持信息的加密传输,和客户端服务器的身份认证。所以可以得出结论:HTTPS协议是由HTTP+SSL协议构建的可进行加密传输、身份认证的网络安全协议,比HTTP安全。
二. HTTPS协议的安全体现
(1)在发送数据前会对用户和服务器进行认证,确保数据发送到正确的正确的客户机和服务器;
(2)会对数据进行加密,防止数据在发送途中被窃取,如果进行了加密计算被窃取,数据也是用不了的;
(3)维护数据的完整性,确保数据在传输过程中不被改变。
三. 如何实现客户端认证和数据安全传输
要实现数据的安全传输,加密肯定是必不可少的,加密分为两种,有公钥加密(非对称加密)和对称加密,下来简单看下,这两种加密:
(1) 公钥加密(非对称加密)
(2) 在公钥加密中,利用公钥加密的数据只能用私钥解密,用私钥加密的数据中能用公钥解密,至于加密的原理不是这里讨论的重点,重要的是理解SSL是如何工作的;
(3) 对称加密
(4) 对称加密就是,发送端和接收端都使用同一个秘钥,发送端用这个秘钥结合一种算法对数据进行加密,接收用这个秘钥结合一种算法对数据进行解密。
下面这张图,说明了SSL协议是如何工作的(客户端认证如何实现的),如下:
浏览器我收到了你的秘钥,以后传输数据就用这个秘钥了。至此秘钥生成,握手结束。
从上面的过程可以看出:这四次握手就是为了生成传输数据时要用到的秘钥,以及完成客户端和服务器相互的身份认证。这个握手过程用的是公钥加密,生成的秘钥在数据交互时对数据加密,对数据加密用的是对称加密。