确保Web安全的HTTPS
HTTP在安全方面主要有以下不足:
1. 通信使用明文不加密,内容可能会被窃听;(TCP/IP就是可能被窃听的网络)
2. 不验证通信方的身份,因此有可能遭遇伪装; (无法判断请求或响应是否正确,是否有权限,是否有意义)
3. 无法证明报文的完整性,内容有可能已遭篡改;
解决办法:
1.加密处理防止被窃听:通信的加密 HTTPS(SSL安全套接层+HTTP) ,TSL安全层传输协议
内容的加密 (客户端和服务器同时具备加密和解密机制)不过内容仍有被篡改的风险
2. 验证通信方身份: 查明对手的证书,通过SSL提供证书的手段。
3. 使用SSL完整性保护防止篡改,仅仅使用MD5和SHA-1等散列值校验的方法不能完全保证安全。
HTTPS = HTTP + 加密 + 认证 + 完整性保护
HTTPS并非是应用层的一种新协议,只是HTTP通信接口部分用SSL协议代替。
通常HTTP直接和TCP通信,当使用SSL时,则演变为HTTP-SSL-TCP.
在采用SSL后,HTTP就拥有了HTTPS的加密、证书和完整性保护这些功能。
HTTPS使用SSL和TLS这两个协议。
HTTPS如何工作:
加密:HTTPS采用混合加密机制,公开加密秘钥和共享加密秘钥。
认证:HTTPS使用客户端认证证书。
完整性:HTTPS传输流程中应用层发送数据时会附加一种叫做MAC的报文摘要,能够查知报文是否遭到篡改,从而保护报文的完整性。
为什么不一直使用HTTPS?
1. 加密通信耗费更多CPU及内存资源;
2. 购买证书占用成本;
所以,根据网站需求灵活选用HTTP或HTTPS。
确保Web安全的HTTPS的更多相关文章
- 读《图解HTTP》有感-(确保WEB安全的HTTPS)
写在前面 该章节分析当前使用的HTTP协议中存在的安全性问题,以及采用HTTPS协议来规避这些可能存在的缺陷 正文 1.HTTP的缺点 1.1.由于HTTP不具备加密功能,所以在通信链路上,报文是以明 ...
- 确保web安全的https、确认访问用户身份的认证(第七章、第八章)
第七章 确保web安全的https 1.http的缺点: (1)通信使用明文,内容可能会被窃听 (2)不验证通信方的身份,因此有可能遭遇伪装 (3)无法证明报文的完整性,因此有可能已遭篡改. 2.通信 ...
- 《图解HTTP》阅读笔记--第七章---确保WEB安全的HTTPS
第七章.确保WEB安全的HTTPSHTTP的缺点:通信使用明文(不加密),内容可能会被窃听 解决---加密处理: //将通信加密 :通过SSL(安全套接层)---HTTPS(超文本传输安全协议)--- ...
- 第七章 确保Web安全的HTTPS
第七章 确保Web安全的HTTPS 使用HTTPS通信机制可以有效防止信息窃听或身份伪装等安全问题. 1.HTTP缺点 [通信使用明文(不加密)]:内容容易被窃听. 加密处理防止被窃听.根据加密的对象 ...
- HTTP协议(二)之确保web安全的HTTPS
一.概述 https并非是应用层的一种新协议.只是HTTP通信接口部分用SSL和TLS协议替代. 通常,HTTP直接和TCP通信.当使用SSL时,则演变成先和SSL通信,再由SSL和TCP通信了. 简 ...
- 图解HTTP总结(7)——确保Web安全的HTTPS
HTTP 主要有这些不足, 例举如下. 通信使用明文( 不加密) , 内容可能会被窃听. 不验证通信方的身份, 因此有可能遭遇伪装. 无法证明报文的完整性, 所以有可能已遭篡改 ...
- web站点启用https (一)
HTTPS技术是现在主流网站都采用的安全加密传输数据的技术,本篇文档将分为2部分讲解PKI的基本原理及在web站点配置https访问. 一.理论知识 1.PKI(public key infrastr ...
- ASP.NET Web配置使用HTTPS实用案例
Step by Step 配置使用HTTPS的ASP.NET Web应用 有关HTTPS.SSL以及SSL证书的工作原理,参见 <HTTPS那些事(一)HTTPS原理> <HTTPS ...
- web站点启用https (二)
接上篇内容 二.实际配置案例 实验案例:为web站点启用https 实验环境:seven公司有一个web站点,域名为www.seven.com,启用的身份验证方式是基本验证方式.随着业务发展想成为网上 ...
随机推荐
- Hyperledger Fabric1.4的多机部署
之前的文章深入解析Hyperledger Fabric启动的全过程主要讲解了Fabric的网络搭建,以及启动的整体流程,但是都是通过单机完成的.而区块链本身就是去中心化的,所以最终还是要完成Fabri ...
- 《JavaScript 高级程序设计》读书笔记
文章目录 第三章 基本语法 第四章 变量.作用域和内存问题 第五章 应用类型 1. Array 类型 2. RegExp 类型 3. Function 类型 4. String 类型 第六章 面向对象 ...
- 系统学习 Java IO (十)----回退流 PushbackInputStream
目录:系统学习 Java IO---- 目录,概览 PushbackInputStream 旨在从 InputStream 解析数据时使用. 有时您需要先读取几个字节以查看将要发生的事情,然后才能确定 ...
- 【设计模式】结构型04桥接模式(Bridge Pattern)
学习地址:http://www.runoob.com/design-pattern/bridge-pattern.html 桥接模式(Bridge Pattern) 桥接模式(Bridge patte ...
- 深入V8引擎-AST(4)
(再声明一下,为了简单暴力的讲解AST的转换过程,这里的编译内容以"'Hello' + ' World'"作为案例) 上一篇基本上花了一整篇讲完了scanner的Init方法,接下 ...
- vscode左边侧边栏字体的大小
相信很多小伙伴们都会在用vscode的时候,当屏幕大小发生变化的时候,你可能会觉得左边的字体太小了,我也遇到了这样的问题,百度也没有找到解决办法,自己摸索了几天,发现可以通过ctrl+shift+ + ...
- 08、MySQL—字符串型
字符串型 1.Char 定长字符:指定长度之后,系统一定会分配指定的空间用于存储数据 基本语法: char(L),L代表字符数(中文与英文字母一样),L长度为0到255 2.Varchar 变长字符: ...
- python统计字符串里每个字符的次数
方法一: 推导式 dd="ewq4aewtaSDDSFDTFDSWQrtewtyufashas" print {i:dd.count(i) for i in dd} 方法二: co ...
- kubernetes实战之consul简单测试环境搭建及填坑
这一节内容有点长,我们将介绍如何基于docker搭建一client一server的consul测试环境,以及如何搭建多server consul测试集群.在基于docker搭建多server的cons ...
- 005-python-字典操作
1. 字典 dict 用{}来表示 键值对数据 {key:value} 唯一性 键 都必须是可哈希的 不可变的数据类型就可以当做字典中的键 值 没有任何限制 dic = {'name':'alex', ...