认识HTTP

发布于:2024-04-28 ⋅ 阅读:(21) ⋅ 点赞:(0)

HTTP缺点

通信使用明文(不加密),内容可能会被窃听

不验证通信方的身份,可能遭遇伪装

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

一、通信使用明文(不加密),内容可能会被窃听

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

1、http协议中没有加密机制,但可以通过SSL(Secure Socket  Layer安全套接层)和TLS(Translate Layer  Secure安全传输层协议)组合使用,加密HTTP的通信内容

2、与SSL组合使用的HTTP被称为HTTPS

加密处理防止窃听:

1、通信的加密:HTTPS

2、内容的加密:客户端对HTTP报文进行加密处理后再发送请求,前提要求客户端和服务器同时具备加密解密机制

二、不验证通信方的身份,可能遭遇伪装

HTTP协议通信时,任何人都可以发起请求,服务器只要接收请求不管对方是谁都会返回响应(不确认通信方)

查明对手的证书:

HTTP协议无法确定通信方,但使用SSL后不仅提供了加密手段,还使用了证书手段,用于确认通信方

证书:由第三方机构颁发(值得信任的),用以证明服务器和客户端是实际存在的,只要能够确认通信方持有的证书,即可判断通信方的真实意图

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

完整性是指信息的准确度

接收到的内容可能有误:在请求或响应送出之后直到对方接收之前的这段时间内,即使请求或响应的内容遭到篡改,也没办法获悉(中途可能被篡改)

在请求或响应的传输途中,遭攻击者拦截并篡改内容的攻击称为中间人攻击,攻击人会随意篡改请求和响应,而让客户端和服务器之间的通信看上去仍旧是正常的

防止篡改:

有使用HTTP协议确定报文完整性的方法,但并不快捷可靠

常用的MD5SHA-1等散列值校验的方法,以及用来确认文件的数字签名方法

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

PGP是用来证明拆跟你讲文件的数字签名

MD5是由单向函数生成的散列值

PGP和MD5都有被改写的可能,都有弊端

所以要用HTTPS

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

用https通信时,https://左边会有一个🔒

https是身披SSL外壳的HTTP,之前HTTP直接和TCP通信,使用之后,先和SSL通信,再由SSL和TCP通信

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

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

SSL采用的是公开密钥加密的加密方式

-------------------------------------加密两种方式:对称和非对称-----------------------------------------------------

加密方式 

①对称密钥加密:加密和解密同用一个密钥(也叫共享密钥加密))(发送密钥可能被窃听,不发送就无法解密,有困难)

②使用两把密钥的公开密钥加密:公开密钥加密很好的解决了共享密钥加密的困难,使用非对称的密钥

非对称密钥:一把公开密钥一把私有密钥(公开密钥和私有密钥是配对的一套密钥,公开密钥可以发给任何人)

公开密钥加密原理:发送密文的一方使用对方的公开密钥进行加密处理,对方收到被加密信息后,再使用自己的私有密钥进行解密

---------------------------------------------------------------------------------------------------------------------------------

HTTPS采用的是混合加密机制:共享密钥加密和公开密钥加密两者并用的混合加密机制(不单用公开密钥加密的原因是,处理速度太慢,所以利用各自优势,结合起来)

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


网站公告

今日签到

点亮在社区的每一天
去签到