当前位置: 首页 > 科技观察

与不安全的HTTP相比,HTTPS如何保证网络通信的安全?

时间:2023-03-15 15:34:37 科技观察

HTTP是一种优秀的通信协议,但任何事物都有两个方面。明文传输可能被窃取。这不安全。它不验证通信方的身份。它不能证明消息的完整性以及消息是否被修改。1、HTTP没有加密功能。HTTP协议本身不具备加密功能,因此无法响应请求和响应。和其他内容加密。HTTP报文都是明文形式,数据包在跨网络传输时很容易被窃取,比如使用抓包工具(Wireshark)。抓取数据包后,进行分析。由于数据包以明文形式传输,如果内容涉及个人信息等重要隐私,他人获取后可能会被他人利用,造成损失。2.加密内容加密内容是保护信息的好方法。HTTP没有加密机制,所以需要第三方帮助实现加密。内容加密的方式有很多种,比如:SHA安全哈希算法MD5信息摘要算法BASE64(BASE64Encoder,BASE64Decoder类)RSA非对称加密算法DES等等主要分为两大类,对称加密和非对称加密(用于加密)这里不做深入探讨,有兴趣的朋友可以查看相关资料)。3、只对内容进行加密的弊端对内容进行加密并不能完全保证信息的安全,因为即使对内容进行了加密,数据包仍然有可能被盗,加密后的内容仍然有被解密的可能。在HTTP协议通信中,请求和响应不会确认通信方,因此可能会遇到身份伪装。例如,发送服务器是否是真正的目标主机,响应是否返回给真正的请求客户端等。虽然提高了加密报文的安全性,但仍然无法证明报文内容是否被修改。因此,只有内容加密是不够完善的,需要更全面的安全解决方案,既保证内容安全,又保证通信安全等各方面——HTTPS。3.什么是SSL和TSL?在讨论HTTPS之前,您必须先了解SSL和TSL协议。SSL:SecureSocketsLayer,介于面向可靠连接的网络层协议和应用层协议之间的协议层。TSL:传输安全层协议,用于在两个应用程序之间提供机密性和数据完整性。该协议由两层组成:TLS记录协议和TLS握手协议。SSL技术最初由Netscape开发,SSL3.0之前版本的开发后来转交给了IETF。IETF在SSL的基础上开发了TSL协议。目前主流的版本是SSL3.0和TLS1.0。4、HTTPS的基本概念HTTPS并不是一个新的协议,而是用SSL和TSL协议替代了HTTP协议的通信接口。如下图所示:分析:从最初的HTTP与TCP直接通信来看,HTTP先与SSL通信,然后SSL与TCP通信。可以理解为HTTP多加了一层SSL协议外套,就变成了HTTPS。下面,HTTPS用一个公式来表示:HTTP+加密+认证+完整性保护=HTTPS五、HTTPS是如何通信的?概述:HTTPS通信过程结合了对称加密和非对称加密两种方式。HTTPS服务器在建立连接以进行SSL通信时,会首先将自己的公钥发送给客户端。客户端得到公钥后,通过非对称加密与服务端协商数据传输通道的对称加密密钥。一旦双方协商好会话密钥,后续的数据通信将始终使用基于会话密钥的对称加密算法。具体过程:客户端发送消息开始SSL通信。当服务器可以建立SSL连接时,它会向客户端发送响应消息。接下来,服务器向客户端发送证书消息(包括公钥证书)。最后,服务器发送通知消息通知客户端。客户端首先为Pre-mastersecret生成一个随机密码,并用包含Pre-mastersecret并用公钥加密的消息响应服务器。客户端继续发送消息提醒服务器,所有后续通信都将使用Pre-master密钥加密。客户端发送一个Finsh消息(这个消息包含了到目前为止连接的所有全局校验值)。服务器还重复步骤6和7以发送相同的消息。当Finsh消息交换完成后,就认为SSL连接已经建立。下一步是发出HTTP请求,通信将受SSL保护。6、用HTTPS就完美了吗?HTTPS比HTTP通信慢,导致客户端和服务器的负载增加。购买证书需要开销。HTTPS比HTTP相对慢,因为除了TCP连接和HTTP请求响应之外,还需要SSL通信。其次,客户端和服务端需要进行加解密处理。当访问很多时,相对于使用HTTP,负载会增加。另外,HTTPS通信需要购买证书,对于一些服务或者小网站来说可能不划算。6、HTTPS适用于哪些场景?基于HTTPS的特点,HTTPS适用于交易、支付等对安全性要求高的服务的加密通信,包括一些包含个人敏感信息的服务。非敏感信息等使用HTTP通信。7.总结HTTP是一个优秀的协议,但是由于不支持加密等原因,安全性比较差。提高安全性的方法有很多,例如使用加密算法对内容进行加密。HTTPS协议提供了比较完整的解决方案。HTTPS并不是一个新的协议,而是通过HTTP结合SSL/TSL来实现通信安全的。但是HTTPS也有它的缺点,所以必须结合具体场景合理使用,才能发挥HTTPS的强大作用。