【图解HTTP】——确保Web安全的HTTPS

HTTPS

  • HTTPS = HTTP + SSL(安全套接层)

【1】HTTP缺点

  • 通信使用明文(不加密),内容可能会被窃听‘
  • 不验证通信方身份,可能遭遇伪装
  • 无法验证报文完整性,可能遭遇篡改

【2】TCP/IP可能被窃听

在这里插入图片描述

  • 窃听:只需要收集互联网上流动的数据包(帧)——抓包

【3】加密防止窃听

通信加密

  • 通过SSL(Secure Socket Layer 安全套接层) 或者TCL(Transport Security 安全传输协议),对HTTP通信加密。
  • 利用SSL建立一条安全通信线路——HTTPS(HTTP Secure 超文本安全传输协议)
    在这里插入图片描述

内容加密

在这里插入图片描述

由于不是对整个通信过程的加密,所以依然存在很大风险

【4】不验证通信身份

在这里插入图片描述

  • 任何人都可以发起请求,并且服务器都会返回响应
  • 隐患:

(1)遭遇伪装的服务器
(2)遭遇伪装的客户端
(3)无法判定请求的来源
(4)无法确定通信对方是否具备访问权限
(5)既使是无意义的请求也会照单全收,无法组织海量请求下的Dos攻击

查明对方证书确认身份zhnegshu

  • HTTP协议不能确认身份,但SSL可以,SSL协议不仅提供了加密手段还提供了证书手段
  • 证书:是由值得信任的第三方机构颁发,用于证明client和server的身份
    在这里插入图片描述

【5】无法验证报文完整性

在这里插入图片描述

  • 遭遇中间人攻击(man-in-the-middle attack MITM)
    在这里插入图片描述
  • SSL提供了摘要功能

小结

HTTP的四个缺点,都可以由SSL来解决

(1)不加密问题——SSL通信加密,先简历安全通道
(2)不验证身份问题——SSL通过证书手段
(3)不验证报文完整性——SSL通过摘要功能

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

在这里插入图片描述

扫描二维码关注公众号,回复: 10617917 查看本文章

HTTPS是一种安全技术手段:http:// ——> https://

【7】HTTPS是身披SSL的HTTP

在这里插入图片描述

  • HTTP先跟SSL通信,SSL再与TCP建立连接
  • SSL是独立于HTTP协议存在的,其他运行在应用层的协议都可以与SSL结合

SSL是目前全世界应用最广泛的网络安全技术

【8】SSL的加密技术——公开密钥加密

  • 近代的加密方法:

加密算法公开
密钥保密

  • 加密和解密都需要密钥,不能让攻击者得到密钥

共享密钥和公开密钥

  • 共享密钥加密:加密解密都使用同一个密钥,发送信息时密钥也要发送给对方去解密
    在这里插入图片描述
    在这里插入图片描述
  • 公开密钥加密

2个密钥:私有密钥和公开密钥
发送方使用公开密钥
接收方使用私有密钥
在这里插入图片描述
公开密钥和私有密钥是一套密钥(实际存在很多套),发送方使用公开密钥加密信息后,也要告诉接收方是哪一套的,这样接收方就利用对应的私有密钥解密
共享密钥由于发送加密信息时也需要发送密钥,所以被截取之后啥用也没有

【9】HTTPS采用混合加密方法

  • 共享加密方法:速度快,安全性差
  • 公开加密方法:速度慢,安全性高
  • HTTPS:交换密钥阶段采用公开密钥加密方法,之后建立通信交换报文阶段采用共享密钥加密方法
    在这里插入图片描述
  • 交换公开密钥阶段:让server拥有私有密钥过程

证明公开密钥的证书

如何确定使用的公开密钥就是对应服务器发行的那套

  • 利用公开密钥证书(数字认证机构颁布)

EV SSL证书

  • 证明运营企业真实存在

客户端证书

  • 例如:网上银行采用了客户端证书,用户除了输入ID、密码还会要求客户端证书确认用户是否是从特定的终端访问的网银

【10】HTTPS完整通信

在这里插入图片描述
在这里插入图片描述

【11】为什么不一直使用HTTPS

  • 加密通信消耗更多内存和CPU
  • 节约购买证书的成本
  • 敏感信息才使用HTTPS
发布了234 篇原创文章 · 获赞 107 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_44478378/article/details/105402460