• 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通信,因此会消耗更多的网络资源。

    处理速度慢:

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

  • 相关阅读:
    C语言-基础
    持续进化,快速转录,Faster-Whisper对视频进行双语字幕转录实践(Python3.10)
    小程序容器技术在构建超级App的技术价值
    再见,区块链 Rio会议和以太坊Sao Paolo活动。 你好,闪光时刻
    基于springboot和mysql的人事管理系统设计与实现
    vite项目require语法兼容问题解决require is not defined
    企业实施定制鞋厂ERP软件需要注意哪些问题?
    存储服务器如何打造容灾集群系统?
    mybatis中mapper.xml热加载
    jetson nano的tensorrt加速部署
  • 原文地址:https://blog.csdn.net/qq_14876133/article/details/127611818