第七章 确保Web安全的HTTPS
第七章 确保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的更多相关文章
- 《图解HTTP》阅读笔记--第七章---确保WEB安全的HTTPS
第七章.确保WEB安全的HTTPSHTTP的缺点:通信使用明文(不加密),内容可能会被窃听 解决---加密处理: //将通信加密 :通过SSL(安全套接层)---HTTPS(超文本传输安全协议)--- ...
- 确保web安全的https、确认访问用户身份的认证(第七章、第八章)
第七章 确保web安全的https 1.http的缺点: (1)通信使用明文,内容可能会被窃听 (2)不验证通信方的身份,因此有可能遭遇伪装 (3)无法证明报文的完整性,因此有可能已遭篡改. 2.通信 ...
- 读《图解HTTP》有感-(确保WEB安全的HTTPS)
写在前面 该章节分析当前使用的HTTP协议中存在的安全性问题,以及采用HTTPS协议来规避这些可能存在的缺陷 正文 1.HTTP的缺点 1.1.由于HTTP不具备加密功能,所以在通信链路上,报文是以明 ...
- 2017.2.12 开涛shiro教程-第七章-与Web集成
2017.2.9 开涛shiro教程-第七章-与Web集成(一) 原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. ...
- HTTP协议(二)之确保web安全的HTTPS
一.概述 https并非是应用层的一种新协议.只是HTTP通信接口部分用SSL和TLS协议替代. 通常,HTTP直接和TCP通信.当使用SSL时,则演变成先和SSL通信,再由SSL和TCP通信了. 简 ...
- 图解HTTP总结(7)——确保Web安全的HTTPS
HTTP 主要有这些不足, 例举如下. 通信使用明文( 不加密) , 内容可能会被窃听. 不验证通信方的身份, 因此有可能遭遇伪装. 无法证明报文的完整性, 所以有可能已遭篡改 ...
- 第七章 与Web集成——《跟我学Shiro》
转发地址:https://www.iteye.com/blog/jinnianshilongnian-2024723 目录贴:跟我学Shiro目录贴 Shiro提供了与Web集成的支持,其通过一个Sh ...
- 确保Web安全的HTTPS
HTTP在安全方面主要有以下不足: 1. 通信使用明文不加密,内容可能会被窃听:(TCP/IP就是可能被窃听的网络) 2. 不验证通信方的身份,因此有可能遭遇伪装: (无法判断请求或响应是否正确,是否 ...
- head first python菜鸟学习笔记(第七章) ——web应用之为数据建模
问题1. #意思是从athletelist.py中导入AthleteListfrom athletelist import AthleteList 源程序代码 import pickle from a ...
随机推荐
- You Are Given a Decimal String... CodeForces - 1202B [简单dp][补题]
补一下codeforces前天教育场的题.当时只A了一道题. 大致题意: 定义一个x - y - counter :是一个加法计数器.初始值为0,之后可以任意选择+x或者+y而我们由每次累加结果的最后 ...
- JavaScript中如何判断数组类型
前言 JavaScript中关于数组的判定问题,一直都是一个必须要掌握的点,那么,运用知识,如何判断一个类型是数组,就需要有对JavaScript使用有着深入的了解. 判断方法 一.Array.isA ...
- Hybrid App: 对比UIWebView和WebKit实现JavaScript与Native交互
一.简介 在前面一篇文章中讲到过实现JavaScript与Native交互的方式有一种就是使用原生内嵌webView.在iOS8之前,开发者只能使用苹果提供的UIWebView类来加载URL或者HTM ...
- Saiku默认给数据类型的数据添加小数点问题处理(三十一)
Saiku默认给数据类型的数据添加小数点问题处理 不知道大家有没有遇到过saiku定义的维度信息,数据类型时 展示出来的数据会自动加上 .0的后缀. 比如我定义了一个维度为 年, 在数据库中为 int ...
- Oracle - v$lock查询慢原因分析
数据库内部对象X$统计信息过旧,导致v$lock查询慢 前段时间用python写了个zabbix监控脚本,里面有一个检查锁的sql语句,sql语句是这样子的select count(*) retval ...
- 【mysql】Mysql5.7--sys_schema视图
前言: MySQL 5.7中引入了一个新的sys schema,sys是一个MySQL自带的系统库,在安装MySQL 5.7以后的版本,使用mysqld进行初始化时,会自动创建sys库. sys库里面 ...
- Hive表导出成csv文件
命令 hive -e " set hive.cli.print.header=true; #将表头输出 select * from data_table where some_query_c ...
- go-gtk环境配置
go-gtk环境配置(用于go的图形化界面) 弄了一天,终于把这个环境给搭建好了,差不多就是安装msys2->安装gtk的各个版本->安装mingw(我原来装有但不影响,因为重复了,环境变 ...
- C++ static静态成员
01 基本概念 静态成员:在定义前面加了static关键词的成员. class A { public: A(int a, int b):m_a(a),m_b(b) { num += m_a + m_b ...
- C# virtual 和 abstract 区别
Virtual方法(虚方法) virtual 关键字用于在基类中修饰方法.virtual的使用会有两种情况: 情况1:在基类中定义了virtual方法,但在派生类中没有重写该虚方法.那么在对派生类实例 ...