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

总结

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

审核编辑 :李倩

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

    关注

    9

    文章

    1526

    浏览量

    63562
  • 协议
    +关注

    关注

    2

    文章

    570

    浏览量

    38910
  • https
    +关注

    关注

    0

    文章

    48

    浏览量

    5843

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

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

收藏 人收藏

    评论

    相关推荐

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

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

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

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

    http和https的区别

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

    什么是HTTP?什么是HTTPS?HTTP与HTTPS的区别在哪?

    每天都在上网,在搜索东西的时候,你有发现网址有什么不同吗?本文就来谈谈HTTP与HTTPS有什么不同。
    的头像 发表于 08-27 09:15 1510次阅读
    什么是HTTP?什么是<b class='flag-5'>HTTPS</b>?HTTP与<b class='flag-5'>HTTPS</b>的区别在哪?

    HTTP和HTTPS的区别 HTTP协议请求类型

    HTTP协议在传输过程中数据都是明文状态,安全性较差。HTTPS协议使用SSL/TLS协议进行数据传输,保证了数据传输的
    的头像 发表于 06-26 17:44 739次阅读

    关于UUU中FBK协议的问题求解

    我对 UUU 上的 FBK 协议有疑问。 我在 UUU Wiki 中阅读了 UUU 的示例脚本“通过 linux 内核将 yocto 图像刻录到 eMMC”。https://github.com
    发表于 06-07 08:43

    Internet 协议安全问题(3)#网络空间安全

    网络安全通信网络
    学习硬声知识
    发布于 :2023年05月30日 18:32:07

    Internet 协议安全问题(2)#网络空间安全

    网络安全通信网络
    学习硬声知识
    发布于 :2023年05月30日 18:31:17

    Internet 协议安全问题(1)#网络空间安全

    网络安全通信网络
    学习硬声知识
    发布于 :2023年05月30日 18:30:26

    CIAA网络安全模型与TLS / HTTPS协议(下)

    CIAA 网络安全模型,是构建安全网络通信的基本模型。
    的头像 发表于 05-29 10:26 560次阅读
    CIAA网络<b class='flag-5'>安全</b>模型与TLS / <b class='flag-5'>HTTPS</b><b class='flag-5'>协议</b>(下)

    CIAA网络安全模型与TLS / HTTPS协议(上)

    CIAA 网络安全模型,是构建安全网络通信的基本模型。
    的头像 发表于 05-26 09:54 1803次阅读
    CIAA网络<b class='flag-5'>安全</b>模型与TLS / <b class='flag-5'>HTTPS</b><b class='flag-5'>协议</b>(上)

    5G NR RRC初始AS安全激活协议解析

      RRC连接建立完成后,UE进入AS安全激活流程(本文涉及的流程及其先后顺序仅针对Uu接口的,非端到端流程)   1 AS安全激活流程的目的归纳如下:   1)UE和gNB之间生成安全密钥,以保证
    发表于 05-10 15:38