IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 【图解HTTP】确保WEB安全的HTTPS -> 正文阅读

[网络协议]【图解HTTP】确保WEB安全的HTTPS

【HTTP的缺点】

【通信使用明文,内容可能会被窃听】

HTTP报文使用明文方式发送

【TCP/IP是可能被窃听的网络】

按TCP/IP协议族的工作机制,通信内容在所有的通信线路上都有可能遭到窥视。

即使经过加密处理的通信,也会被窥视到通信内容,但是无法破解报文信息的含义。

?窃听相同段上的通信,只需要收集在互联网上流动的数据报就行了。

对于收集来的数据包的解析工作,可交给抓包工具。

【加密处理防止被窃听】

加密的对象

【通信加密】

HTTP可以通过和SSL(安全套接层)或TLS(安全层传输协议)的组合使用,加密HTTP的通信内容。

用SSL建立安全通信线路后,就可以在这条线路上进行HTTP通信。与SSL组合使用的HTTP称为HTTPS?

无法证明报文的完整性,所以有可能已遭篡改

【内容加密】

由于HTTP协议中没有加密机制,那么就对HTTP协议传输的内容本身加密。

即把HTTP报文例所含的内容加密处理。

要求客户端和服务器同时具备加密和解密机制。主要应用在Web服务中。

【不验证通信方的身份,因此有可能遭遇伪装】

HTTP协议中的请求和响应不会对通信方进行确认。

也就是说存在“服务器是否就是发送请求中URI真正指定的注解,返回的响应是否真的返回到实际提出请求的客户端”等类似问题。

【任何人都可发送请求】

在HTTP协议通信时,由于不存在确认通信方的处理步骤,任何人都以发送请求。

另外,服务器只要接受到请求,不管对方是谁都会返回一个响应

?【HTTP隐患】

(1)无法确定请求发送至目标的Web服务器是否是按真实意图返回相应的那台服务器

(2)无法确定响应返回到的客户端是否是按真实意图接受响应的客户端

(3)无法确定正在通信的对方是否具备访问权限

(4)无法判定请求是来自何方,出自谁手

(5)即使是无意义的请求也会全收。无法组织海量请求下的Dos攻击。

【查明对手的证书】

SSL不仅提供加密处理,而且使用了一种被称为证书的手段,可以用于确定方。

证书是由值得信任的第三方机构颁发,用以证明服务器和客户端是实际存在的。

另外,伪造证书是很困难的。所以只要能够确认通信方持有的证书,即可判断通信方的真实意图。

?另外,客户端持有证书即可完成个人身份的确认,也可用于对Web网站的认证环节。

【接受到的内容可能有误】

由于HTTP协议无法证明通信报文完整性。没有办法确认,发送的请求和接受到的请求/响应是前后相同的。

?【中间人攻击】请求或响应在传输涂中,遭攻击者拦截并篡改内容的攻击

?【如何防止篡改】

常用:MD5、SHA-1散列值校验、数字签名方法

提供文件下载服务的web网站也会提供相应的以PGP创建的数字签名及MD5算法生成的散列值。

PGP是用来证明创建文件的数字签名,MD5是由单向函数生成的散列值。

(1)不论使用哪一种方法,都需要操作客户端的用户本人亲自检查验证。浏览器无法自动帮用户检查。

?(2)但是PGP和MD5本省被改写的话,用户是没有办法意识到的。

为了有效防止这些弊端,有必要使用HTTPS。

【HTTP+加密+认证+完整性保护=HTTPS】

?经常会在web登录页面和购物结算界面等使用HTTPS通信。使用HTTPS通信时,不再用http://,而是用https://。

另外,当浏览器访问HTTPS通信有效的web网站时,浏览器的地址栏会出现一个带锁的标记

?【HTTPS是身披SSL外壳的HTTP】

HTTPS并非是应用层的一种新协议,只是HTTP通信接口部分用SSL和TLS协议代替了而已。

通常,HTTP直接和TCP通信。当使用SSL时,则演变成先和SSL通信,再有SSL和TCP通信。

所以HTTPS就是身披SSL协议这层外壳的HTTP。

?在采用SSL后,HTTP就拥有了HTTPS加密、证书和完整性保护等功能。

SSL是独立于HTTP的协议,所以不光是HTTP协议,其他运行在应用层的SMTP和Telent等协议均可配合SSL协议使用。

SSL是当今世界上应用最为广泛的网络安全技术。

【相互交换秘钥的公开密钥加密技术】

【共享秘钥加密】

加密和解密用同一个秘钥,又叫对称秘钥加密

?

?

【公开秘钥加密方法】

公开秘钥加密使用一对非对称秘钥。一把叫做私有秘钥,另一把叫做公开秘钥。

私有秘钥不能让其他任何人知道,而公开秘钥可以随意发布,任何人都可以获得。

使用公开密钥加密方式,发送密文的一方使用对方的公开密钥进行加密处理,对方收到被加密的信息后,再使用自己的私有秘钥进行解密。利用这种方式,不需要发送用来解密的私有密钥,也不必担心密钥被攻击者窃听而盗走。

另外,要想根据密文和公开秘钥,恢复到信息原文是异常困难的。

?【HTTPS采用混合加密机制】

HTTPS采用共享秘钥加密和公开秘钥加密两者并用的混合加密机制。

在交换密钥环节使用公开密钥加密方式,之后的建立通信交换报文阶段则使用共享密钥加密方式。

?【证明公开秘钥正确性的证书】

公开密钥加密方式存在的问题:无法证明公开密钥本身是真的公开密钥。

公开密钥传输途中,可能被攻击者替换掉了。

为了解决上述问题,可以使用由数字证书认证机构和其他相关机构颁发的公开密钥证书。

【HTTPS的安全通信机制】

HTTPS通信步骤:

?当使用SSL时,它的处理速度会变慢。

?(1)使用HTTPS网络负载可能会慢2到100倍。处理和TCP连接、发送HTTP请求和相应以外,还必须进行SSL通信,因此整体上处理通信量不可避免会增加。

(2)SSL必须进行加密处理。在服务器和客户端都需要进行加密和解密的运算处理。因此从结果上讲,会比HTTP消耗更多服务器和客户端的硬件资源,导致负载增强。

针对速度变慢这一问题,并没有根本性的解决方案,会使用SSL加速器这种硬件来改善问题。该硬件为SSL通信专用硬件,相对软件讲,能够提高数倍SSL计算速度。

【为什么不一直使用HTTPS】

(1)加密通信会消耗更多的CPU。

(2)购买证书需要开销。

所以,只有对敏感信息才会使用加密。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-09-13 11:52:32  更:2022-09-13 11:54:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 21:51:00-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码