确保Web安全的HTTPS

HTTP的缺点

  • 通信使用明文,内容可能被窃听
  • 不验证通信方的身份,因此有可能遭遇伪装
  • 无法证明报文的完整性,所以有可能已遭篡改

通信使用明文可能会被窃听

按TCP/IP协议族的工作机制,通信内容在所有的通信线路上都有可能遭到窥视.
为防止窃听并保护信息,有如下几种加密方式:

通信加密

HTTP协议没有加密机制,但可以通过SSL或TLS的组合使用,加密HTTP通信内容.
与SSL组合使用的HTTP被称为HTTPS.

内容加密

把HTTP报文所含的内容进行加密处理.
在这里插入图片描述

伪装

不验证通信方的身份就可能遭遇伪装,HTTP协议中的请求和响应不会对通信方进行确认.也就是说存在"服务器是否就是发送请求中URI真正指定的主机,返回的响应是否真的返回到实际提出请求的客户端".

在HTTP中,由于不存在确认通信方的处理步骤,任何人都可以发起请求.服务器不管对方是谁都会返回响应.
在这里插入图片描述
不确认通信方带来的隐患如下:

  • 无法确认请求发送至目标的web服务器是否是按真实意图返回响应的那台服务器.有可能是已伪装的web服务器.
  • 无法确定相应返回到的客户端是否是按真实意图接收相应的那个客户端.有可能是已伪装的客户端.
  • 无法确定正在通信的对方是否具有访问权限.因为某些web服务器上保存着重要的信息.只想发给特定用户通信的权限.
  • 无法判定请求来自何方,出自谁手.
  • 即使是无意义的请求也会照单全收.无法阻止海量请求下的DOS攻击.

证明身份

我们可以使用SSL确认身份,SSL不仅提供加密处理,还使用了一种被称为证书的手段.证书由值得信任的第三方机构颁发,用以证明服务器和客户端是实际存在的.在这里插入图片描述

无法证明报文的完整性

接收的内容可能有误

HTTP无法证明通信的完整性,因此极易发生数据篡改.
在这里插入图片描述
请求或响应在传输途中,遭攻击者拦截并篡改内容的攻击称为中间人攻击(MITM).在这里插入图片描述

防止篡改

确认报文完整性的方法常用MD5和SHA-1等散列值校验.不论使用哪种方法都需要操作客户端的用户本人亲自检查验证下载文件.
但问题是如果MD5本身被改写的话,用户也是没有办法意识到的.
HTTPS的SSL提供认证和加密处理及摘要功能,能够防止篡改.

HTTPS

HTTP+加密+认证+完整性保护=HTTPS
在这里插入图片描述

HTTPS是身披SSL外壳的HTTP

HTTPS并非是应用层的一种新协议.只是HTTP通信接口部分用SSL和TLS协议代替而已.
通常,HTTP直接和TCP通信.当使用SSL时,则演变成先和SSL通信,再由SSL和TCP通信.

在这里插入图片描述

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

SSL采用一种叫做公开密钥加密的加密处理方式.
加密和解密都会用到密钥,没有密钥就无法对密码解密.

公共密钥加密的困境

加密和解密同一个密钥的方式称为共享密钥加密,也被叫做对称密钥加密.
以共享密钥方式加密时必须将密钥也发给对方.可究竟怎样才能安全地转交?
在互联网上转发密钥时,如果通信被监听那么密钥就会落入攻击者之手,同时也就失去加密地意义.
在这里插入图片描述
在这里插入图片描述

证明公开密钥正确性地证书

公开密钥加密方式还是存在一些问题的:那就是无法证明公开密钥本身就是货真价实的公开密钥.
为了解决上述问题,可以使用由数字证书认证机构和其他相关机关颁发的公开密钥证书.
数字证书认证机构处于客户端与服务器双方都可信赖的第三方机构的立场上.在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值