使用HTTPS协议如何防止流量劫持
在互联网快速发展的今天,网络攻击事件也越来越频繁,其中常见攻击有流量劫持等,也就是攻击者在通信两端之间对通信进行篡改等,以达到插入数据和获取关键信息的目的。此时就需要部署SSL证书实现HTTPS协议,那么,使用HTTPS协议如何防止流量劫持?
使用HTTPS协议防止流量劫持首选需要流量劫持的手段,目前互联网上发生的流量劫持基本是两种手段来实现的:
域名劫持:
通过劫持掉域名的DNS解析结果,将HTTP请求劫持到特定IP上,使得客户端和攻击者的服务器建立TCP连接,而非和目标服务器直接连接,这样攻击者就可以对内容进行窃取或篡改。在极端的情况下甚至攻击者可能伪造目标网站页面进行钓鱼攻击。
直接流量修改:
在数据通路上对页面进行固定的内容插入,比如广告弹窗等。在这种情况下,虽然客户端和服务器是直接建立的连接,但是数据内容依然可能遭到野蛮破坏。
HTTPS如何防止劫持
SSL协议在HTTP请求开始之前增加了握手的阶段,在SSL握手阶段,客户端浏览器会认证服务器的身份,这是通过“证书”来实现的,证书由证书权威(CA)为某个域名签发,可以理解为网站的身份证件,客户端需要对这个证件进行认证,需要确定该证书是否属于目标网站并确认证书本身是否有效。最后在握手阶段,通信的双方还会协商出一个用于加密和解密的会话密钥。
SSL握手阶段结束之后,服务器和客户端使用协商出的会话密钥对交互的数据进行加密/解密操作,对于HTTP协议来说,就是将HTTP请求和应答经过加密之后再发送到网络上。
由于SSL协议提供了对服务器的身份认证,所以DNS劫持导致连接错误服务器的情况将会被发现进而终止连接,最终导致DNS挟持攻击无法实现。此外SSL协议还提供数据的加密和完整性校验,这就解决了关键信息被嗅探以及数据内容被修改的可能。
使用HTTPS协议防止流量劫持介绍就是这些,这其中最主要的就是在HTTP协议网站中部署SSL证书。