关于https
用处:
- 建立一个信息安全通道,来保证数据传输的安全。
- 确认网站的真实性,防止钓鱼网站。
https就是在http下加入了ssl层,从而保护了交换数据隐私和完整性,提供了对网站服务器身份认证的功能,简单来说就是安全版的http。
http和https的区别
- 同属于应用层的协议
- http协议是运行在tcp之上的,所有传输的内容都是未加密的,也就是明文的。https协议是运行在SSL\TLS之上的,而SSL\TLS协议运行在tcp之上,在http和tcp之间,所有传输的内容都经过加密的,比http更安全。(加密采用对称加密,而密钥的传输利用非对称加密)
- http默认使用端口80。https默认使用端口443。
https的工作原理
- 使用HTTPS的url访问服务器,客户端向服务器端请求建立SSL连接。(可以说TLS为SSL的新版本)
- 服务器收到客户端请求后,会将网站的证书信息(证书包含公钥)传送一份给客户端。
- 客户端浏览器和服务器端协商信息加密的等级。
- 客户端浏览器根据协商好的安全等级,建立会话密钥,然后利用网站的公钥加密会话密钥,并传送给服务器。
- 服务器利用私钥解密会话密钥,并利用会话密钥加密与客户端之间的通信。
非对称密码解密速度比较慢,但比较安全;对称密码解密速度比较快。所以用对称密码加密数据,非对称密码加密对称密钥。
非对称加密算法中私钥是基于不同的算法生成不同的随机数,私钥通过一定的加密算法推导出公钥,但私钥到公钥的推导过程是单向的,也就是说公钥无法反推导出私钥。