HTTP 主要有这些不足, 例举如下。
       通信使用明文( 不加密) , 内容可能会被窃听。
       不验证通信方的身份, 因此有可能遭遇伪装。

无法证明报文的完整性, 所以有可能已遭篡改。

我们把添加了加密及认证机制的 HTTP 称为 HTTPS(HTTP Secure)。

HTTPS 是身披 SSL 外壳的 HTTP

HTTPS 并非是应用层的一种新协议。 只是 HTTP 通信接口部分用SSL(Secure Socket Layer)和TLS(Transport Layer Security) 协议代替而已。

通常HTTP直接和TCP通信。当使用SSL时,则演变成先和SSL通信,再由SSL和TCP通信了。

在采用 SSL后, HTTP 就拥有了 HTTPS 的加密、 证书和完整性保护这些功能。
      SSL是独立于 HTTP 的协议, 所以不光是 HTTP 协议, 其他运行在应用层的 SMTP 和 Telnet 等协议均可配合 SSL协议使用。 可以说 SSL是当今世界上应用最为广泛的网络安全技术。

SSL采用一种叫做公开密钥加密(Public-key cryptography)的加密处理方式。

近代的加密方法中加密算法是公开的, 而密钥却是保密的。 通过这种方式得以保持加密方法的安全性。
      加密和解密都会用到密钥。 没有密钥就无法对密码解密, 反过来说,任何人只要持有密钥就能解密了。 如果密钥被攻击者获得, 那加密也就失去了意义。

共享秘钥加密的困境

加密和解密同用一个密钥的方式称为共享密钥加密(Common key crypto system) , 也被叫做对称密钥加密。

以共享密钥方式加密时必须将密钥也发给对方。 可究竟怎样才能安全地转交? 在互联网上转发密钥时, 如果通信被监听那么密钥就可会落入攻击者之手, 同时也就失去了加密的意义。 另外还得设法安全地保管接收到的密钥。

使用两把密钥的公开密钥加密

公开密钥加密方式很好地解决了共享密钥加密的困难。公开密钥加密使用一对非对称的密钥。一把叫做私有密钥(private key),另一把叫做公开密钥(public key)。顾名思义,私有密钥不能让其他任何人知道, 而公开密钥则可以随意发布, 任何人都可以获得。

使用公开密钥加密方式, 发送密文的一方使用对方的公开密钥进行加密处理, 对方收到被加密的信息后, 再使用自己的私有密钥进行解密。 利用这种方式, 不需要发送用来解密的私有密钥, 也不必担心密钥被攻击者窃听而盗走。

HTTPS 采用混合加密机制
      HTTPS 采用共享密钥加密和公开密钥加密两者并用的混合加密机制。 若密钥能够实现安全交换, 那么有可能会考虑仅使用公开密钥加密来通信。 但是公开密钥加密与共享密钥加密相比, 其处理速度要慢。 在交换密钥环节使用公开密钥加密方式, 之后的建立通信交换报文阶段则使用共享密钥加密方式。

为什么不一直使用 HTTPS
      既然 HTTPS 那么安全可靠, 那为何所有的 Web 网站不一直使用HTTPS ?

其中一个原因是, 因为与纯文本通信相比, 加密通信会消耗更多的CPU 及内存资源。 如果每次通信都加密, 会消耗相当多的资源, 平摊到一台计算机上时, 能够处理的请求数量必定也会随之减少。

因此, 如果是非敏感信息则使用 HTTP 通信, 只有在包含个人信息等敏感数据时, 才利用 HTTPS 加密通信。

图解HTTP总结(7)——确保Web安全的HTTPS的更多相关文章

  1. 读《图解HTTP》有感-(确保WEB安全的HTTPS)

    写在前面 该章节分析当前使用的HTTP协议中存在的安全性问题,以及采用HTTPS协议来规避这些可能存在的缺陷 正文 1.HTTP的缺点 1.1.由于HTTP不具备加密功能,所以在通信链路上,报文是以明 ...

  2. 《图解HTTP》阅读笔记--第七章---确保WEB安全的HTTPS

    第七章.确保WEB安全的HTTPSHTTP的缺点:通信使用明文(不加密),内容可能会被窃听 解决---加密处理: //将通信加密 :通过SSL(安全套接层)---HTTPS(超文本传输安全协议)--- ...

  3. 确保web安全的https、确认访问用户身份的认证(第七章、第八章)

    第七章 确保web安全的https 1.http的缺点: (1)通信使用明文,内容可能会被窃听 (2)不验证通信方的身份,因此有可能遭遇伪装 (3)无法证明报文的完整性,因此有可能已遭篡改. 2.通信 ...

  4. 第七章 确保Web安全的HTTPS

    第七章 确保Web安全的HTTPS 使用HTTPS通信机制可以有效防止信息窃听或身份伪装等安全问题. 1.HTTP缺点 [通信使用明文(不加密)]:内容容易被窃听. 加密处理防止被窃听.根据加密的对象 ...

  5. HTTP协议(二)之确保web安全的HTTPS

    一.概述 https并非是应用层的一种新协议.只是HTTP通信接口部分用SSL和TLS协议替代. 通常,HTTP直接和TCP通信.当使用SSL时,则演变成先和SSL通信,再由SSL和TCP通信了. 简 ...

  6. 确保Web安全的HTTPS

    HTTP在安全方面主要有以下不足: 1. 通信使用明文不加密,内容可能会被窃听:(TCP/IP就是可能被窃听的网络) 2. 不验证通信方的身份,因此有可能遭遇伪装: (无法判断请求或响应是否正确,是否 ...

  7. web站点启用https (一)

    HTTPS技术是现在主流网站都采用的安全加密传输数据的技术,本篇文档将分为2部分讲解PKI的基本原理及在web站点配置https访问. 一.理论知识 1.PKI(public key infrastr ...

  8. ASP.NET Web配置使用HTTPS实用案例

    Step by Step 配置使用HTTPS的ASP.NET Web应用 有关HTTPS.SSL以及SSL证书的工作原理,参见 <HTTPS那些事(一)HTTPS原理> <HTTPS ...

  9. web站点启用https (二)

    接上篇内容 二.实际配置案例 实验案例:为web站点启用https 实验环境:seven公司有一个web站点,域名为www.seven.com,启用的身份验证方式是基本验证方式.随着业务发展想成为网上 ...

随机推荐

  1. Hive总结

    一.什么是Hive 1.Hive 由 Facebook 实现并开源 2.是基于 Hadoop 的一个数据仓库 3.可以将结构化的数据映射为一张数据库表 4.并提供 HQL(Hive SQL)查询功能 ...

  2. intellijidea课程 intellijidea神器使用技巧 5-2 localhistory

    Ctrl shift A  ==>localhistory ==> show history 查看文件本地历史记录(idea每次修改在本地会生成历史记录) Ctrl shift A  == ...

  3. HTML知识点梳理

  4. SublimeText插件eslint : 语法检测

    参考: http://www.tuicool.com/articles/faANRvj 安装之后的效果: 误用了 = ,在文件保存时就会被提示,直接顺手改掉就行了,方便的不行 步骤1:Sublime集 ...

  5. ps_cc:制作sprite拼贴图片

    我们的目标是: 将   合并为一张图片   step1:制作动作,便于批处理和重复使用 首先随便新建空白文档(建议:90x300px) 录制动作,alt+F9   上图中,可以新建分组前端,再新建动作 ...

  6. SQLServer查询语句收集

    常用的SQLServer查询语句,有空可以多练习一下,增加记忆,可以提高工作效率! 1.数据操作 Select      --从数据库表中检索数据行和列Insert      --向数据库表添加新数据 ...

  7. windows10家庭中文版升级专业版或企业版简单方便的操作方法

    以管理员的身份运行cmd 1 ,升级到专业版输入:slmgr /ipk W269N-WFGWX-YVC9B-4J6C9-T83GX 输入slmgr.vbs -skms zh.us.to 激活 2, 升 ...

  8. 怎样解决putty终端乱码的方法

    原文地址:https://jingyan.baidu.com/article/3aed632e5f00ae701080913a.html?qq-pf-to=pcqq.c2c 终端输入:echo $LA ...

  9. Python基础学习-列表的常用方法

    列表方法 = Python 3.5.2 (default, Sep 14 2016, 11:27:58) [GCC 6.2.1 20160901 (Red Hat 6.2.1-1)] on linux ...

  10. 浩顺晶密K-5 打卡时间设置

    公司有一台浩顺晶密K-5打卡设备,因为时间异常需要重新调整,设备外部就几个按钮,全部按了一遍发现没有任何变化,所以肯定是哪里操作不对,然后用钥匙打开这个设置,上面有一排文字,分别是设置.+.-.确认等 ...