0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

HTTPS协议是什么?为什么安全?

jf_uPRfTJDa 来源:5G通信 2023-01-08 14:36 次阅读

Labs 导读

HTTPS协议是最广泛的互联网应用层协议标准,由HTTP加上TLS/SSL协议构建的可进行加密传输、身份认证网络协议,主要通过数字证书、加密算法、非对称密钥等技术完成互联网数据传输加密,实现互联网传输安全保护。本文将从“保密性”“完整性”“有效性”这三个维度介绍HTTPS协议安全的缘由。

1

HTTPS协议安全是什么?

众所周知,HTTP协议作为互联网应用层协议标准,并未对安全做过多的设计。从密码学理论来分析,一个传输的安全性必须保证三大基本要要素:(1)数据的保密性;(2)数据的完整性;(3)身份校验的安全性。

HTTPS简单理解成HTTP over SSL/TLS。客户端和服务端在使用HTTPS传输业务数据前,首先由SSL/TLS协议在两端之间建立安全信道(这个过程称作握手协商阶段),然后在该安全信道上对HTTP业务报文进行加密传输(这个过程称作加密数据传输阶段)。接下来我们将从HTTP本身存在的安全问题和HTTPS如何解决上述三个问题来详细论述HTTPS协议为什么安全。

df13db56-8e85-11ed-bfe3-dac502259ad0.png

图1 HTTPvsHTTPS

2

HTTP通信传输存在的问题

SSL/TLS的安全性体现在哪里,解决了哪些安全问题,如何解决的,下面一步步介绍。

首先,先了解下客户端和服务端之间使用明文HTTP通信存在的安全问题。

df2cdc5a-8e85-11ed-bfe3-dac502259ad0.png

图2 HTTP安全问题及HTTP到HTTPS的改造

关于HTTP协议的明文数据传输,攻击者最常用的攻击手法就是网络嗅探,试图从传输过程的数据包中分析出敏感的数据,例如管理员在Web程序后台的登录过程、用户的隐秘信息手机号码、身份证号码、信用卡号)等重要资料,可能导致严重的安全事故。

HTTP协议在传输客户端请求和服务端响应时,唯一的数据完整性检验就是在报文头部包含了本次传输数据的长度,而对内容是否被篡改不作确认。因此攻击者可以轻易的发动中间人攻击,修改客户端和服务端传输的数据,甚至在传输数据中插入恶意代码,导致客户端被引导至恶意网站被植入木马。

3

SSL/TLS协议的作用

SSL/TLS协议通过数字证书、非对称密钥、对称加密算法、消息验证码算法等技术,实现了通信双方的身份验证、数据传输加密、防篡改等安全保护措施,其主要目标是:

数据保密性:保证数据内容在传输的过程中不会被第三方查看,防止用户数据信息的泄漏。

数据完整性:及时发现被第三方篡改的传输内容,一旦发现数据被篡改过则拒绝接收。

身份校验安全性:保证数据到达用户期望的目的地。客户端需要验证目前正在通信的对端是否为期望的服务器,而非假冒的服务器。反之,服务器也可以对客户端进行有效性验证。

3.1 如何通过SSL/TLS协议实现数据保密性?

HTTPS中,数据保密性指对客户端和服务端传输的HTTP明文数据进行加密传输。使用的算法为对称加密算法,如AES。数据保密性实现流程如下图:

df4470c2-8e85-11ed-bfe3-dac502259ad0.png

图3 数据保密性实现流程

数据保密性需要通信双方具有相同的密钥,而且这个密钥只能通信双方知道,不能被第三方获取。实际通信中,这个密钥并不是固定不变的,也不会保存到磁盘文件中。客户端每次和服务器建立新连接的时候,都会重新协商出相同的密钥。在SSL/TLS协议的第一阶段——握手协商阶段,服务器和客户端会交互一些报文信息,服务器和客户端根据报文中的信息各自生成相同的密钥,并把密钥保存在内存中。一旦这个连接断开,内存中的密钥将会自动销毁,避免密钥的泄漏。

3.2 如何通过SSL/TLS协议实现数据完整性?

数据完整性用于防止HTTP数据被篡改,如果一旦发现数据被篡改则拒收数据包。使用的算法称作消息验证码算法(MAC)。数据完整性实现流程如下图:

df58a3da-8e85-11ed-bfe3-dac502259ad0.png

图4 数据完整性实现流程

和数据保密性中的密钥获取方式一样,这里的密钥也是在SSL/TLS密钥协商阶段生成的、相同的、并保存在各自内存中。

3.3 如何通过SSL/TLS协议实现身份校验的安全性?

HTTPS中,客户端需要对通信端的身份有效性进行校验,确定客户端是和期望的真正服务端通信,而非和冒充的攻击者进行通信。

身份校验安全性主要利用数字证书技术实现。数字证书涉及的概念非常多,比如数字证书签发、CA证书、根证书、证书链、证书有效性校验、非对称密钥算法、签名/验证等,本文不做全面介绍,仅描述SSL/TLS涉及的概念:

3.3.1 非对称密钥算法

对称密钥算法中,加解密操作使用的密钥是同一个,且通信双方都需要知道这个密钥。而非对称密钥算法有两个密钥,组成一个密钥对;可以公开的密钥为公钥,公钥谁都可以知道,不怕泄漏;需要保密不能泄露的密钥称为私钥,私钥只有自己知道,不能被泄漏;通信双方的每一方,可以把自己的公钥发送给对端,但自己的私钥一定只有自己知道;同一份数据,使用公钥加密,私钥可以解密,反之,私钥加密,公钥可以解密。

df71e70a-8e85-11ed-bfe3-dac502259ad0.png

图5 非对称密钥用法一——通信数据加密传输

如图5所示,在SSL/TLS协议中,存在使用非对称密钥算法对通信数据进行加密传输的操作,在使用非对称密钥算法对通信数据进行加密传输的场景将使用图5中左图的流程。这里需要注意图5右图流程,公钥是公开的,谁都可以知道,用私钥加密的数据是不具有保密性的,因为只要拥有公钥就能解密数据,所有窃听者都可以取到公钥,都会看到真实数据内容。实际上,图5右图“私钥加密-公钥解密”的使用场景称作签名的生成和校验,SSL/TLS协议也会用到,签名生成和验证流程如下图:

df8eb006-8e85-11ed-bfe3-dac502259ad0.png

图6 非对称密钥应用二——通信数据签名的生成及验证

私钥加密的数据——签名值——不具备保密性,但却有校验作用。图7中,通信数据是明文消息加上该消息的签名值,签名值用于对明文消息进行校验,验证明文消息的正确性、是否被篡改过。

非对称密钥算法的用法,总结下来就是:

公钥加密-私钥解密➜用于数据加密传输➜通信数据是密文

私钥加密-公钥解密➜用于签名的生成和校验➜通信数据是明文消息加上消息签名值

3.3.2 数字证书

数字证书的签发、数字证书的校验、证书链的相关细节,本文不做详述,只要知道以下几点:

①HTTP到HTTPS,客户端和服务器涉及的一些改造,主要包括

服务端

-服务端需要针对某个服务配置SSL/TLS相关配置项,如密码套件、证书/私钥文件路径。

-部署由CA机构签发的,包含服务器公钥、服务器域名信息的数字证书,可公开证书。

-部署和公钥配对的私钥文件,私钥文件要具有一定安全保护措施,不能被泄漏。

客户端

-浏览器配置CA证书、根证书等文件,一般默认内置。

②证书的使用主要在SSL/TLS协议握手协商阶段,简述如下:

-客户端和服务端建连后,在SSL/TLS协议握手协商阶段初期,服务端将自己的数字证书发送给客户端,服务端私钥文件自己使用。

-客户端收到服务器数字证书后,通过配置的CA证书、根证书,依据证书链的校验逻辑,验证服务器数字证书的有效性,一旦验证通过,说明服务器身份正确。

-客户端从数字证书中取出服务器公钥,服务端从自己的私钥文件中取出服务器私钥。

之后,客户端和服务端,就会使用这对非对称密钥进行SSL/TLS协议握手协商阶段的其他处理。RSA密钥协商算法中使用了图5的用法,而DHE、ECDHE密钥协商算法中使用了图6的用法。

4

总结

在互联网快速发展的今天,网络安全成为关系经济平稳运行和安全的重要因素,而随着国际信息安全环境日趋复杂,西方加紧对我国的网络遏制,并加快利用网络进行意识形态渗透,我国的网络安全面临严峻挑战,中国移动作为我国基础网络设施的运营商,未来将加速网络安全方面的相关建设。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据传输
    +关注

    关注

    9

    文章

    1671

    浏览量

    64137
  • 协议
    +关注

    关注

    2

    文章

    586

    浏览量

    39026
  • https
    +关注

    关注

    0

    文章

    48

    浏览量

    5988

原文标题:技术解析 | HTTPS协议是什么?为什么安全?

文章出处:【微信号:5G通信,微信公众号:5G通信】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    这是几种HTTPS代理保障用户数据安全的方式#HTTPS代理

    HTTP
    jf_62215197
    发布于 :2024年08月23日 08:14:11

    有没有办法使用AT命令连接到安全服务器(https)?

    有没有办法使用 AT 命令连接到 安全服务器 ( https)?如果是这样,将如何做到?
    发表于07-17 08:16

    ESP32使用HTTPS协议无法与服务器建立连接怎么解决?

    说明:1、ESP-IDF版本为v4.3.3, 2、参考的例程为examplesprotocolsesp_http_client的 https_with_url 3、网络连接正常,远程的 HTTPS
    发表于06-12 07:01

    国密协议网关与IPSec VPN技术:保障数据安全传输的新途径

    国密 协议网关IPSecVPN隧道技术是一种结合了国家密码管理局(简称国密)的加密算法和IPSecVPN隧道技术的 安全通信解决方案。IPSec(InternetProtocolSecurity
    的头像 发表于05-28 14:24 535次阅读
    国密<b class='flag-5'>协议</b>网关与IPSec VPN技术:保障数据<b class='flag-5'>安全</b>传输的新途径

    epa通信协议是什么?epa协议介绍

    的以太网 协议进行了许多优化和扩展,以满足现场自动化设备的高可靠性、实时性和 安全性要求。与传统的以太网不同,EPA提供了对工业网络拓扑结构、实时通信机制、故障恢复和 安全性的特殊支持。 EPA 协议
    的头像 发表于05-08 14:16 263次阅读

    epa通信协议是什么?epa协议介绍

    的以太网 协议进行了许多优化和扩展,以满足现场自动化设备的高可靠性、实时性和 安全性要求。与传统的以太网不同,EPA提供了对工业网络拓扑结构、实时通信机制、故障恢复和 安全性的特殊支持。 EPA 协议
    的头像 发表于04-23 14:21 444次阅读

    TLS协议基本原理与Wireshark分析

    传输层 安全 协议(TLS)是一种加密通信 协议,用于确保在网络上的数据传输过程中的 安全性和隐私保护。TLS的前身是 安全套接层
    发表于02-28 10:26 1464次阅读
    TLS<b class='flag-5'>协议</b>基本原理与Wireshark分析

    TPUNB协议是什么?TPUNB协议特点 TPUNB协议调度

    。TPUNB 协议旨在提供更加 安全、可靠和高效的通信方式,以满足日益增长的物联网设备的需求。 TPUNB 协议的特点如下: 1. 低功耗:TPUNB 协议采用了功耗较低的传输方式,使得物联网
    的头像 发表于02-01 10:28 1842次阅读

    雅特力AT32 MCU基于mbed TLS的HTTPS服务器

    HTTPS概述 HTTPS安全性是基于TransportLayerSecurity(TLS),TLS是一种网络加密通信的方式,作为SecureSocketsLayer(SSL)的接续 协议
    的头像 发表于01-06 08:14 357次阅读
    雅特力AT32 MCU基于mbed TLS的<b class='flag-5'>HTTPS</b>服务器

    WITS协议是什么?WITS协议的功能

    格式和相关规范,以确保各方在使用WITS 协议时能够达到一致的技术要求和操作流程。 此外,WITS 协议是一种用于无线信息和电信系统的通信 协议,旨在提供高效、 安全和可靠的通信服务。它适用于
    的头像 发表于01-05 16:23 690次阅读

    Android安全性:保护你的应用和用户数据

    其次,数据传输加密也是一个重要的 安全性方面。在应用中,数据的传输经常涉及到敏感信息,例如用户的个人信息、登录凭证等。为了保护这些敏感信息不被窃取或篡改,应用开发者应该使用 安全的通信 协议,例如
    的头像 发表于11-25 11:24 1065次阅读

    http和https的区别

    行包括: 协议及版本、状态码、状态码解释 1.2 http和 https的区别 http:由于http是明文传输,所以其 安全性低,易受攻击,无法确认对方的身份,也无法确保数据的完整性;http 协议
    的头像 发表于11-10 16:42 1965次阅读
    http和<b class='flag-5'>https</b>的区别

    AT32基于mbed TLS的HTTPS服务器

    AT32基于mbed TLS的 HTTPS服务器介绍如何使用mbed TLS 搭建一个 HTTPS服务器,用户可以根据自己的应用去编写网页内容的同时,又简单地将传输数据加密。
    发表于10-26 08:24

    协议转换网关支持OPC UA及SNMP协议

    转SNMP OPC UA网关可以带来很多好处。它可以提高不同系统之间的数据交互能力,从而实现更加集中管理和控制。通过将多种 协议转换为通用的SNMP OPC UA 协议,可以降低系统的复杂性和成本,简化工程的调试和运行维护工作量。这种网关还可以提高系统的可靠性和稳定性,确保数
    发表于10-09 19:52

    HTTPS是如何做安全认证的

    想必大家对 HTTPS都有一定的了解吧。今天将给大家聊聊 HTTPS是如何做 安全认证的。 HTTPS是 HTTP 的一个扩展,允许计算机网络中的两个实体之间进行
    的头像 发表于10-09 15:54 855次阅读