第七章 确保Web安全的HTTPS

使用HTTPS通信机制可以有效防止信息窃听或身份伪装等安全问题。

1.HTTP缺点

  【通信使用明文(不加密)】:内容容易被窃听

    加密处理防止被窃听。根据加密的对象分为:

    ①通信的加密:通过SSL(安全套接层)或TLS(安全传输协议)的组合使用,加密HTTP的通信内容。 使用SSL建立安全通信线路之后,就可以在这条线路上进行HTTP通信了。与SSL组合使用的HTTP称为HTTPS(超文本传输安全协议)

    ②内容的加密:把HTTP报文里所含的内容进行加密处理。

  【不验证通信方身份】:可能遭遇伪装

    虽然使用HTTP协议无法确定通信方,但是如果使用SSL则可以。SSL不仅提供加密处理,而且还使用了一种被称为证书的手段,可以用于确定方。证书由值得信任的第三方机构颁发,用于证明客户端是真实存在的。

  【无法证明报文的完整性】:可能会被篡改

    请求或响应在传输途中,遭攻击者拦截并篡改内容的攻击者称为中间人攻击。HTTP有PGP和MD5等方法确定报文完整性,但是并不是百分百正确的。有必要使用HTTPS,SSL提供认证和加密处理及摘要功能。

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

  经常会在Web登陆界面和购物结算界面等使用HTTPS通信。使用HTTPS通信时,不再用http://,而是改用https://。另外当浏览器访问HTTPS通信有效的Web网站时,浏览器的地址栏会出现一个带锁的标记。

  

  【HTTP是身披SSL外壳的HTTP】HTTPS只是HTTP通信接口部分使用SSL和TLS协议代替而已。通常HTTP直接和TCP通信,当使用SSL时,演变成HTTP先和SSL通信,再由SSL和TCP通信。在采用SSL之后,HTTP就拥有了加密、证书和完整性保护功能。

  【HTTPS加密技术

  ①共享密钥方式(对称密钥方式):加密和解密使用同一种密钥。缺点:以共享密钥方式加密时必须将密钥也发送给对方。但是如何安全转交密钥成问题。

  ②公开密钥方式:使用一对非对称密钥,一把叫做私有密钥(只有自己知道),一把叫做公开密钥(大家都知道)。发送密文的一方使用对方的公开密钥进行加密处理,接受方收到加密信息后,在用自己的密钥进行解密。缺点:恢复信息原文十分困难。

  ③HTTPS使用混合加密机制:使用公开密钥方式传输在共享密钥加密中要使用的密钥,然后再使用共享密钥加密进行通信。

   ④证明公开密钥正确性的证书:公开密钥加密方式存在一些问题,那就是无法证明公开密钥本身就是真正的公开密钥。为了解决该问题,可以使用相关机构颁发的公开密钥证书。

  【HTTPS的安全通信机制】在HTTPS通信过程中应用层发送数据时会附加一种叫做MAC(Message Authentication Code)的报文摘要。MAC能够查知报文是否遭到篡改,从而保证报文的完整性。

  【SSL缺点】:慢!通信慢、消耗大量CPU和内存资源,处理速度慢。

第七章 确保Web安全的HTTPS的更多相关文章

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

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

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

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

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

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

  4. 2017.2.12 开涛shiro教程-第七章-与Web集成

    2017.2.9 开涛shiro教程-第七章-与Web集成(一) 原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. ...

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

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

  6. 图解HTTP总结(7)——确保Web安全的HTTPS

    HTTP 主要有这些不足, 例举如下.       通信使用明文( 不加密) , 内容可能会被窃听.       不验证通信方的身份, 因此有可能遭遇伪装. 无法证明报文的完整性, 所以有可能已遭篡改 ...

  7. 第七章 与Web集成——《跟我学Shiro》

    转发地址:https://www.iteye.com/blog/jinnianshilongnian-2024723 目录贴:跟我学Shiro目录贴 Shiro提供了与Web集成的支持,其通过一个Sh ...

  8. 确保Web安全的HTTPS

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

  9. head first python菜鸟学习笔记(第七章) ——web应用之为数据建模

    问题1. #意思是从athletelist.py中导入AthleteListfrom athletelist import AthleteList 源程序代码 import pickle from a ...

随机推荐

  1. You Are Given a Decimal String... CodeForces - 1202B [简单dp][补题]

    补一下codeforces前天教育场的题.当时只A了一道题. 大致题意: 定义一个x - y - counter :是一个加法计数器.初始值为0,之后可以任意选择+x或者+y而我们由每次累加结果的最后 ...

  2. JavaScript中如何判断数组类型

    前言 JavaScript中关于数组的判定问题,一直都是一个必须要掌握的点,那么,运用知识,如何判断一个类型是数组,就需要有对JavaScript使用有着深入的了解. 判断方法 一.Array.isA ...

  3. Hybrid App: 对比UIWebView和WebKit实现JavaScript与Native交互

    一.简介 在前面一篇文章中讲到过实现JavaScript与Native交互的方式有一种就是使用原生内嵌webView.在iOS8之前,开发者只能使用苹果提供的UIWebView类来加载URL或者HTM ...

  4. Saiku默认给数据类型的数据添加小数点问题处理(三十一)

    Saiku默认给数据类型的数据添加小数点问题处理 不知道大家有没有遇到过saiku定义的维度信息,数据类型时 展示出来的数据会自动加上 .0的后缀. 比如我定义了一个维度为 年, 在数据库中为 int ...

  5. Oracle - v$lock查询慢原因分析

    数据库内部对象X$统计信息过旧,导致v$lock查询慢 前段时间用python写了个zabbix监控脚本,里面有一个检查锁的sql语句,sql语句是这样子的select count(*) retval ...

  6. 【mysql】Mysql5.7--sys_schema视图

    前言: MySQL 5.7中引入了一个新的sys schema,sys是一个MySQL自带的系统库,在安装MySQL 5.7以后的版本,使用mysqld进行初始化时,会自动创建sys库. sys库里面 ...

  7. Hive表导出成csv文件

    命令 hive -e " set hive.cli.print.header=true; #将表头输出 select * from data_table where some_query_c ...

  8. go-gtk环境配置

    go-gtk环境配置(用于go的图形化界面) 弄了一天,终于把这个环境给搭建好了,差不多就是安装msys2->安装gtk的各个版本->安装mingw(我原来装有但不影响,因为重复了,环境变 ...

  9. C++ static静态成员

    01 基本概念 静态成员:在定义前面加了static关键词的成员. class A { public: A(int a, int b):m_a(a),m_b(b) { num += m_a + m_b ...

  10. C# virtual 和 abstract 区别

    Virtual方法(虚方法) virtual 关键字用于在基类中修饰方法.virtual的使用会有两种情况: 情况1:在基类中定义了virtual方法,但在派生类中没有重写该虚方法.那么在对派生类实例 ...