什么是HTTPS
HTTPS 是综合了对称加密和非对称加密算法的 HTTP 协议。既保证传输安全,也保证了传输效率。
HTTPS解决的问题
Http主要存在三种问题——易被窃听、篡改、冒充。Https采取的解决办法是使用SSL/TSL,为所有信息加密传输,避免三方窃听通信内容
。同时设置校验机制,一旦内容被篡改,通信双方立刻会发现。此外还配备了身份证书以防备被冒充。
HTTPS大致流程:
1.客户端向服务器发送请求,包括支持的协议等,并附带一个随机数字m。
2.服务器收到请求后,选择某种非对称加密算法,把数字证书签名公钥等信息发送给客户端,同时附带一个随机数n。
3.客户端验证证书的有效性,并生成一个随机数p,用服务器的公钥加密p以后发给服务器。并用服务器的公钥加密一段Finish的数据,用于验证连接的正确性。
4.服务器使用私钥解密数据并确认以后的加密套件。
5.使用约定的加密方法建立连接,使用三个随机数m,n,p。生成对话密钥,以后的通信中使用该对话密钥。同时使用数字签名、Timestamp和Nonce随机数来加强安全性。
Http和Https的主要区别:
1.Https协议需要到CA申请证书,大多数情况下需要一定费用。
2.Http是超文本传输协议,信息明文传输,Https则是SSL加密传输协议。
3.端口号不同,Http是80端口,Https是443端口.
4.Http协议建立连接的过程比Https协议快。因为Https除了Tcp三次握手,还要经过SSL握手。