确保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,启用的身份验证方式是基本验证方式.随着业务发展想成为网上 ...
随机推荐
- vmware centos7虚拟机克隆系统如何修改网卡设置?
1.克隆虚拟机,克隆前需关闭虚拟机2.克隆之后的网卡问题解决,其中需要修改HWADDR和UUID /etc/sysconfig/network-scripts/ifcfg-ens32 uuid获取 ...
- mogodbshell中数组对象查询修改方法
在mongodb中,存在如下数据 { "_id" : ObjectId("59af55078a8fc5e51ff425de"), "title&quo ...
- 你所忽略的,覆盖equals时需要注意的事项《effective java》
我们都知道Object的equals的比较其实就是==的比较,其实是内存中的存放地址的比较.正常逻辑上:类的每个实例本质上都是唯一的. 在工作中我们实际的业务逻辑往往有可能出现一些相对特殊的需求需要对 ...
- HDFS Java API 的基本使用
一. 简介 二.API的使用 2.1 FileSystem 2.2 创建目录 2.3 创建指定权限的目录 2.4 创建文件,并写入内容 ...
- java源码解析之String类(五)
/* * 切片函数,非常重要,这里一定要牢记beginIndex是开始位置,endIndex是结束位置,区别于以前学的offset是开始位置,而count或length是个数和长度 * 比如说,new ...
- Codeforces Round #565 (Div. 3) A
A. Divide it! 题目链接:http://codeforces.com/contest/1176/problem/A 题目 You are given an integer n You ca ...
- python的输入和输出
基本输出 python中的输出使用关键字--print,与python2不同的是,python3的输出后面必须要加括号,示例如下: python3.0以上输出: python2.0以上的输出: 格式化 ...
- .netcore Control调用View方法
控制器代码如下: 视图代码如下: 完整项目代码参考网址:https://github.com/gamecc666/BackTipFrontProject 版权声明:本文为博主原创文章,如需转载,请标明 ...
- python异步IO编程(一)
python异步IO编程(一) 基础概念 协程:python generator与coroutine 异步IO (async IO):一种由多种语言实现的与语言无关的范例(或模型). asyncio ...
- 读取ClassPath下resource文件的正确姿势
1.前言 为什么要写这篇文章?身为Java程序员你有没有过每次需要读取 ClassPath 下的资源文件的时候,都要去百度一下,然后看到下面的这种答案: Thread.currentThread(). ...