• HTTPS


    HTTPS

    HTTP的缺点

    缺点:

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

    通信使用明文可能被窃听

    由于HTTP本身不具备加密的功能,所以也无法做到对通信整体进行加密。也就是说TCP/IP的工作机制,通信内容在所有的通信线路上都可能遭到窥视,可以通过通信加密和内容加密解决。

    通信加密

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

    在这里插入图片描述

    内容加密

    还有一种将参与通信的内容本身加密的方式。由于HTTP协议中没有加密机制,那么就对HTTP协议传输的内容本身加密。即把HTTP报文里所含的内容进行加密处理。

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

    HTTP协议中的请求和响应不会对通信方进行确认,也就是说任何人都可以发起请求,可以通过查明对手的证书方式解决,使用SSL不仅提供加密处理,还使用证书用于确定对方。

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

    HTTP协议无法证明通信的报文完整性。也就是说在请求或响应直到对方接收之前的这段时间内,即使请求或响应的内容遭到篡改,也没有办法获悉,为了解决这些问题,可以使用SSL提供认证和加密处理及摘要功能,确保报文完整性。

    加密方式

    对称加密:

    • 客户端和服务器共用一个密钥,该密钥同时用于加密和解密。这种加密方式也称为共享密钥加密。
    • 优点:加解密效率高。
    • 缺点:存放在客户端有窃取风险,安全性不足。
    • 常见算法:AES、DES等。

    在这里插入图片描述

    非对称加密:

    • 将密钥分两种:公钥和私钥。公钥放在客户端,私要放在服务器,使用公钥加密的数据只能通过私钥解密,私钥加密的数据只能通过公钥解密。这种加密方式也称为公开密钥加密。
    • 优点:安全性高。
    • 常见算法:RSA、ElGamal等。

    在这里插入图片描述

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

    HTTPS就是HTTP+SSL

    在这里插入图片描述

    在这里插入图片描述

    HTTPS并非是应用层的一种新协议。只是HTTP通信接口部分用SSL(Secure Socket Layer)和TLS(Transport Layer Security)协议代替而已。

    三大特性

    • HTTPS通过混合加密技术,防止数据被窃听。
    • HTTPS通过证书认证身份,防止数据被伪装。
    • HTTPS通过数字摘要算法,防止数据被篡改。

    混合加密技术

    HTTPS采用共享密钥加密(对称加密)和公开密钥加密(非对称加密)的混合加密机制。

    非对称加密仅限于密钥协商阶段,通信过程使用对称加密 。

    数字摘要技术

    通过单向hash函数对原文进行哈希,将需加密的明文“摘要”成一串固定长度(如128bit)的密文,不同的明文摘要成的密文其结果总是不相同,同样的明文其摘要必定一致,并且即使知道了摘要也不能反推出明文。

    通信过程

    在这里插入图片描述

    HTTPS缺点

    在这里插入图片描述

    HTTPS缺点:

    • 通信慢。相比HTTP通信,SSL通信部分占用更多的网络资源。
    • 处理速度慢。HTTPS的SSL通信部分需要进行加密处理,会消耗更多的CPU和内存等硬件资源。

    通信慢:

    与HTTP通信相比,网络负载可能会变慢2~100倍。除去TCP连接、发送HTTP请-响应以外,还必须进行SSL通信,因此会消耗更多的网络资源。

    处理速度慢:

    在服务器和客户端都需要进行加密和解密的运算处理,因此会消耗更多的服务器和客户端的硬件资源。

  • 相关阅读:
    神经网络与深度学习(四)
    mysql 查询所有表名,更改字符集
    基于JavaGUI的校园卡自助服务系统
    探索SOCKS5与SK5代理在现代网络环境中的应用
    DBeaver 连接 docker下mysql,并附带安装教程
    面对新的测试框架不要慌看这里~
    Java并发面试题:(五)volatile关键字
    AHK v2中一个问号两个问号代表啥意思
    华为云CodeArts IDE for Java安装使用教程
    基于微信订水送水商城小程序系统设计与实现 开题报告
  • 原文地址:https://blog.csdn.net/qq_14876133/article/details/127611818