十月 28, 2016 · SSL

HTTPS二三事

  近一年来很多网友发现使用浏览器访问网站时出现了一把绿色的小锁,做IT的朋友可能知道是这表明网站已经启用了全站HTTPS加密,到底这把绿色的小锁代表什么,今天我们就来聊聊HTTPS的那些事。

HTTPS是什么

  再说HTTPS之前我们先来了解一下什么是HTTP。HTTP就是我们平时浏览网页时候使用的一种协议中文名称是“超文本传输协议”,HTTP是一种明文协议,所以它是不安全。不安全在哪?最常见的访问网站莫名其妙多出了垃圾悬浮广告。HTTP协议本身非常古老,且未对安全方面做出设计以致无法适应互联网时代的种种安全需求。为了保证这些隐私数据能加密传输,于是网景公司设计了SSL协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。

HTTPS协议的工作原理

  我们来看这张图(来自互联网,非原创,出处不可考),它清晰的说明了HTTPS加密原理。如果想了解这方面的内容,请参阅RFC文档rfc5246https_sayhello   简单的说 HTTPS在传输数据之前需要客户端(浏览器)与服务端(网站)之间进行一次握手,在握手过程中将确立双方加密传输数据的密码信息。归纳出来的步骤如下:

为什么启用HTTPS

  HTTPS是为安全而生的,它的使命是为了保证服务器到客户端数据不被篡改。当前互联网环境用户信息非常敏感且容易被窃取;网站内容被无良运营商嵌入广告应该用户浏览体验。这些原因都在推动着网站启用HTTPS加密。  

HTTPS全是优点?

  HTTPS这么多优点,听起来没有理由不上HTTPS。但任何东西都有两面性,能看到的那面往往很直观或者说看到的那方面对自己比较有利能认可,而忽视了另一方面。下面列举出更换HTTPS协议可能会出现问题:

有了HTTPS就能保证网站安全?

  网络安全是一项系统的工程,涉及到个人计算机的安全,协议的安全,传输数据的安全,以及软件开发公司和网站的安全,单纯的依靠一个HTTPS协议并不能解决所有的问题。

  国外开始流行的DNS劫持可以让用户无感知的绕过HTTPS加密引导到钓鱼网站。如果你配置的DNS正确解析了服务器地址,客户端也发送了HTTPS请求,不要认为客户端与服务器的通讯就安全了。针对SSL的中间人攻击已经在蠢蠢欲动。

  中间人攻击具有悠久的历史,并且在今天仍然有着广泛的发展空间。简而言之,所谓的中间人MITM攻击就是通过拦截正常的网络通信数据,并进行数据篡改和嗅探,而通信的双方却毫不知情。HTTPS中间人攻击的两种方式:

mitmproxy   攻击者通过ARP欺骗截取主机所有网络流量,攻击者代替用户访问服务器获取真实证书用于解密,并伪造证书反馈给用户。通过建立两条SSL连接,使得攻击者成为一个“中间人”。

  此方法反馈给客户的伪造证书将会被浏览器警告,用户对于伪造证书的判断是攻击能否成功的关键,如果用户有着较强的安全意识和丰富的网络知识那么被攻击的可能性将大大降。