第七章 确保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 ...
 
随机推荐
- 什么是CSS?它的特点有哪些?
			
css 中文名称:层叠样式表,也称级联样式表 英文名称:Cascading Style Sheets 最新的版本:css3 1.层叠性 在权重(优先级)相同的情况下,同一个标签的样式发生冲突, 最后定 ...
 - 服务器jvm参数配置
			
Eclipse崩溃,错误提示: MyEclipse has detected that less than 5% of the 64MB of Perm Gen (Non-heap memory) s ...
 - Python与用户交互
			
目录 一.为什么交互? 二.如何交互? 三.Python2的交互 一.为什么交互? 让我们来回顾计算机的发明有何意义,计算机的发明是为了奴役计算机,解放劳动力.假设我们现在写了一个ATM系统取代了 ...
 - CSS旋转动画和动画的拼接
			
旋转动画 第一个样式: @keyframes rotating { from { transform: rotate(0deg); } to { transform: rotate(360deg); ...
 - 使用Runtime的objc_copyClassNamesForImage和objc_getClassList获取类
			
一.介绍 objc_copyClassNamesForImage:拷贝动态库类列表,也即当前工程下自己创建的所有类 objc_getClassList:获取所有类列表,也即当前工程下所有类(含系统类. ...
 - models.py相关API
			
models.py import datetime from django.db import models from django.utils import timezone class Quest ...
 - LeetCode 350: 两个数组的交集 II	Intersection of Two Arrays II
			
题目: 给定两个数组,编写一个函数来计算它们的交集. Given two arrays, write a function to compute their intersection. 示例 1: 输 ...
 - Netty—TCP的粘包和拆包问题
			
一.前言 虽然TCP协议是可靠性传输协议,但是对于TCP长连接而言,对于消息发送仍然可能会发生粘贴的情形.主要是因为TCP是一种二进制流的传输协议,它会根据TCP缓冲对包进行划分.有可能将一个大数据包 ...
 - .net WebApi 批量文件进行压缩zip以二进制流传输至前端(Vue)下载
			
前言:最近接了个项目,需要进行将服务端生成的文件进行打包压缩供前端下载,百度查了下资料,决定采用SharpZipLib C#开园的压缩解压库进行服务器文件压缩,在实现过程,郁闷的是前端接收下载下来的压 ...
 - Add a Class from the Business Class Library  从业务类库添加类 (XPO)
			
In this lesson, you will learn how to use business classes from the Business Class Library as is. Fo ...