第七章 确保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 ...
随机推荐
- .NET 时间轴:从出生到巨人
自1995年互联网战略日以来最雄心勃勃的事业 —— 微软.NET战略, 2000年6月30日. 微软于2000年推出基于Windows操作系统的应用软件开发框架.NET,发展至今形成巨大的技术栈,涉及 ...
- 多网卡做team
简明的说,就是把多个物理网卡绑定成一个逻辑上的网卡,以增加带宽,或者实现主备功能,增加硬件冗余,以实现更高的系统稳定性,目前主要有bond和team两种做法,而bond主要是针对双网卡的情况来说,而t ...
- 搞定Junit单元测试{非专业}
1:测试分类 2:常用测试方法 2.1 断言语句 3: 基本测试 4: 组合测试 5:参数化测试 6:分类测试(Category) 1:测试分类 1. 黑盒测试:不需要写代码,给输入值,看程序是否能 ...
- js常用但是不容易记住的代码
<!-- iframe 自适应高度度 --><iframe src="__CONTROLLER__/showlist" frameborder="0&q ...
- 从程序集加载类型,遇到 ReflectionTypeLoadException 的处理办法
处理办法 catch ReflectionTypeLoadException ,然后从里面读取 Types 数据(成功加载的类型)就可以了. 参考 ReflectionTypeLoadExceptio ...
- 关于.Net Core 部署在Linux下连接SqlServer数据库超时解决办法
.Net Core 在 Linux 下连接 SqlServer 需要 SqlServer2008 SP3或以上版本,或SqlServer2012,或SqlServer2014. 如果SqlServer ...
- go-百度贴吧-纵向爬取
百度贴吧纵向爬取 上一个是横向爬取的,这个纵向爬取,具体怎么做的看代码 package main import ( "fmt" "io" "net/h ...
- 初识Lock与AbstractQueuedSynchronizer(AQS)
本人免费整理了Java高级资料,涵盖了Java.Redis.MongoDB.MySQL.Zookeeper.Spring Cloud.Dubbo高并发分布式等教程,一共30G,需要自己领取.传送门:h ...
- 爬取动态html网页,requests+execjs
请求地址:https://g.hongshu.com/content/99269/15382723.html 网页内容为动态执行js所得 1.直接浏览器模拟 不用考虑页面的业务逻辑什么的,直接得到结果 ...
- xml的解析(概述)
使用java解析xml☆☆☆ 四个类:分别是针对dom和sax解析使用的类 -dom : DocumentBuilder:解析器类 -这个类是个抽象类,不能new, ...