流量劫持总体来说属于中间人攻击(Man-in-the-Middle Attack,MITM)的一种,本质上攻击者在通信两端之间对通信内容进行嗅探和篡改,以达到插入数据和获取关键信息的目的。
能够实施流量劫持的根本原因,是HTTP协议没有办法对通信对方的身份进行校验以及对数据完整性进行校验。如果能解决这个问题,则流量劫持将无法轻易发生。
HTTPS如何防止流量劫持?
HTTPS,是HTTP over SSL的意思,提到HTTPS就不得不先简单描述一下SSL/TLS协议。SSL协议是Netscape在1995年首次提出的用于解决传输层安全问题的网络协议,其核心是基于公钥密码学理论实现了对服务器身份认证、数据的私密性保护以及对数据完整性的校验等功能。1999年IETF将SSL 3.0标准化,是为TLS 1.0版本,目前TLS协议的最新版本是版本,TLS 1.3标准正在制定中。为了方便,下文将SSL/TLS协议都简称为SSL协议。
SSL协议在HTTP请求开始之前增加了握手的阶段,在SSL握手阶段,客户端浏览器会认证服务器的身份,这是通过“证书”来实现的,证书由证书权威(CA)为某个域名签发,可以理解为网站的身份信息,客户端需要进行认证,需要确定该证书是否属于目标网站并确认证书本身是否有效。最后在握手阶段,通信的双方还会协商出一个用于加密和解密的会话密钥。
SSL握手阶段结束之后,服务器和客户端使用协商出的会话密钥对交互的数据进行加密/解密操作,对于HTTP协议来说,就是将HTTP请求和应答经过加密之后再发送到网络上。
由此可见,因为SSL协议提供了对服务器的身份认证,所以DNS劫持导致连接错误服务器的情况将会被发现进而终止连接,最终导致DNS挟持攻击无法实现。此外SSL协议还提供数据的加密和完整性校验,这就解决了关键信息被嗅探以及数据内容被修改的可能。
那么HTTPS要如何部署呢?
要将网站进行HTTPS支持以达到防劫持的效果,首先需要的是为网站的域名申请SSL证书。这个证书必须是由知名CA所签发的,这是因为知名CA的根证书广泛的存在于大多数浏览器和操作系统中,因此可以被客户端用来校验网站证书是否合法。
传统CA的证书签发流程大体相同,基本上都是根据证书认证的级别,进行一系列不同流程的认证,然后认证通过后申请者缴纳相应的费用就可以或得到证书。这个流程相对比较繁琐,尤其是对于个人和小型网站管理者来说也确实麻烦,天威诚信建议大家去SSL证书智能管理系统申请,一键下单,集成主流国际CA,根据不同需求自动进行产品选型,系统自动生成CSR,一键提交订单,订单签发自动下载,让管理更轻松,让运营更高效。
特别提醒:本网内容转载自其他媒体,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。