美文网首页iOS知识收录IT共论程序员
图解HTTP--确保安全的HTTPS

图解HTTP--确保安全的HTTPS

作者: SuperSnail | 来源:发表于2016-01-29 00:44 被阅读413次
确保安全的HTTPS

HTTP协议的缺点

  • 通信使用明文(不加密)内容可能会被窃听
    通信内容一般要经过多次转发才能到达接收端。在这个通信过程中,在各个阶段通信内容都有可能被窥探。即使通信内容进行过加密,但是加密后的报文还是会被窃听。而且,如果内容要到达接收端,密钥也会需要传输到接收方,在传递过程中,密钥还是有可能被获取。

  • 不验证通信方身份,可能遭遇伪装
    HTTP协议通信时,由于不存在确认通信方的处理步骤,任何人都可以发起请求。服务器只要接到请求也都会响应。所以请求方和服务器都可以伪装。
    无法确定正在通信的双方是否具备访问权限
    即使是无意义的请求也会照单全收,无法阻止海量请求下的DoS攻击(Denial of Service拒绝服务攻击)

  • 无法验证报文的完整性,可能遭遇篡改
    所谓报文的完整性,指的是信息的准确度。因为信息在传递的途中可能被篡改,而服务器没法知道是否被修改。


由于HTTP协议存在以上各种缺点,所以为了有效防止这些弊端,就有必要使用HTTPS了


所谓HTTPS

HTTPS=HTTP+加密+认证+完整性保护

看吧,上面这个公式,正好可以对应解决HTTP的弊端

-----下面依次来解释以上公式-----

  • HTTP
    HTTPS并非新的应用层协议,而是HTTP通信接口部分用SSL(Secure Socket Layer)和TLS(Transport Layer Security)协议代替。用HTTP的时候,HTTP直接和TCP通信,用SSL的时候,HTTP就会先和SSL通信,然后SSL再和TCP通信。简而言之,HTTPS就是套了SSL协议外壳的HTTP
  • 加密
    HTTP加密传输一般使用 <u>共享密钥加密</u>,这是一种<u>对称加密方法</u>也就是说,发送方和接收方使用同一套密钥。这样存在的问题是,密钥在传输过程中可能被窃取。
    HTTPS采用的是<u>公开密钥加密</u>的处理方式。这是一种 <u>不对称的加密方式</u>,就是说,发送方用对方的公开密钥加密,当信息传递到对方的时候,对方用自己的私有密钥解密,这样就不涉及传输密钥的安全问题。公开密钥可以随意传输,私有密钥只有自己知道。棒棒的~

  • 认证
    HTTP协议无法确定通信方,但是SSL可以。它拥有一种叫做证书的手段,可用于确定方。另外伪造证书想当困难,所以只要能够确定通信方持有证书,就可以判断通信方的真正意图。
    证书由值得信赖的第三方机构颁发,用以证明服务器端和客户端是真实存在的。

  • 完整性保护
    应用层在发送数据时,会附加一种叫做MAC(Message Authentication Code)的报文摘要。MAC能够查知报文是否遭到篡改,从而保护报文的完整性。


SSL是独立于HTTP的协议,所以不光是HTTP协议,其他运行在应用层的SMTP和Telnet等协议均可配合SSL协议使用。可以说SSL是当今世界上应用最为广泛的网络安全技术。

HTTPS也有一些问题

当HTTP使用SSL的时候,处理速度会变慢,一般HTTPS 比HTTP慢2到100倍。
一是因为多了HTTP和SSL及TCP的通信
二是因为HTTPS要处理客户端和服务器之间的加密解密,完整性,证书认证等验证。这也将消耗CPU和内存等硬件资源

<u>由此看来在一些情况下不用HTTPS的原因也是显而易见了:</u>
因为HTTPS的处理速度会变慢,因为对硬件的消耗,对访问量很大的web网站而言,其承担的负载不容小觑。除此之外,节约购买数字证书的成本也是原因之一。
所以,一般非敏感性信息还是会用http通信,敏感性的信息才会用https通信。

针对SSL速度慢的情况,没有根本的解决方案,一般会使用SSL加速器这种(专用服务器)硬件来改善问题。

本文整理自《图解HTTP》和网络,之后将持续进行完善

图解HTTP系列:
图解HTTP--HTTP状态码
图解HTTP--TCP/IP
图解HTTP--与HTTP协作的web服务器

相关文章

  • 图解HTTP--确保安全的HTTPS

    HTTP协议的缺点 通信使用明文(不加密)内容可能会被窃听通信内容一般要经过多次转发才能到达接收端。在这个通信过程...

  • 图解HTTP--笔记3

    与 HTTP 协作的 Web 服务器 一台 Web 服务器可搭建多个独立域名的 Web 网站,也可作为通信路径上的...

  • 图解HTTP--笔记2

    使用 Cookie 的状态管理 HTTP 是无状态协议,它不对之前发生过的请求和响应的状态进行管理。也就是说,无法...

  • 图解HTTP--笔记1

    Web 及网络基础 我在学习 Web 开发的过程中,曾接触到编写网络爬虫程序、分析抓包数据、实现 HTTP 服务器...

  • 图解HTTP--笔记5

    为 Cookie 服务的首部字段 Cookie 的工作机制是用户识别及状态管理。Web 网站为了管理用户的状态会通...

  • 图解HTTP--笔记4

    请求首部字段 请求首部字段是从客户端往服务器端发送请求报文中所使用的字段, 用于补充请求的附加信息、客户端信息、对...

  • Https协议详解

    转自:详解https是如何确保安全的? Https 介绍 什么是Https HTTPS(全称:Hypertext ...

  • Https协议详解

    转自:详解https是如何确保安全的? Https 介绍 什么是Https HTTPS(全称:Hypertext ...

  • 图解HTTPS

    HTTP协议 用户访问网站,通常使用的是HTTP协议。HTTP协议传输的数据没有经过任何加密,是明文的。这些数据只...

  • 图解HTTPS

    原文链接   我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取。所以很多银行网站或电子邮箱等等安全级别较...

网友评论

    本文标题:图解HTTP--确保安全的HTTPS

    本文链接:https://www.haomeiwen.com/subject/xzjjkttx.html