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

    文章

    2082

    浏览量

    67200
  • 协议
    +关注

    关注

    2

    文章

    616

    浏览量

    40859
  • https
    +关注

    关注

    0

    文章

    54

    浏览量

    7582

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    对比分析电能质量在线监测装置支持的断点续传文件传输协议的优缺点

    为了清晰区分各断点续传文件传输协议的适配性,下面从 安全性、断点能力、传输效率、配置难度、兼容性 等核心维度,对电能质量在线监测装置支持的 FTP、SFTP、FTPS、HTTP/HTTPS
    的头像 发表于 12-05 17:49 2976次阅读
    对比分析电能质量在线监测装置支持的断点续传文件传输<b class='flag-5'>协议</b>的优缺点

    小鹏汽车与阿里云签署后量子安全技术合作协议

    9月24日,小鹏汽车与阿里云在云栖大会正式签署后量子安全技术合作协议。小鹏汽车高级总监林蓬蓬、阿里云数据安全产品线总监杨永代表双方签约。根据协议,阿里云将成为小鹏汽车面向
    的头像 发表于 09-30 14:09 581次阅读

    如何验证硬件加速是否真正提升了通信协议安全性?

    验证硬件加速是否真正提升通信协议安全性,需从 安全功能正确性、抗攻击能力增强、安全性能适配、合规一致性 等核心维度展开,结合实验室测试与真实场景验证,避免 “硬件参与即
    的头像 发表于 08-27 10:16 846次阅读
    如何验证硬件加速是否真正提升了通信<b class='flag-5'>协议</b>的<b class='flag-5'>安全</b>性?

    如何利用硬件加速提升通信协议安全性?

    产品实拍图 利用硬件加速提升通信协议安全性,核心是通过 专用硬件模块或可编程硬件 ,承接软件层面难以高效处理的安全关键操作(如加密解密、认证、密钥管理等),在提升性能的同时,通过硬件级隔离、防篡改等
    的头像 发表于 08-27 09:59 680次阅读
    如何利用硬件加速提升通信<b class='flag-5'>协议</b>的<b class='flag-5'>安全</b>性?

    如何在保证数据安全的前提下优化通信协议

    产品实拍图 在保证数据安全的前提下优化通信协议,核心是 **“安全机制轻量化、安全与效率协同设计、按需适配场景风险”**—— 既不因过度安全
    的头像 发表于 08-27 09:55 481次阅读
    如何在保证数据<b class='flag-5'>安全</b>的前提下优化通信<b class='flag-5'>协议</b>?

    协议分析仪需要支持哪些常见协议?

    、Silicon Labs EmberZNet(Thread协议栈)。 调试重点:网络拓扑(星型/网状)、安全密钥更新、低功耗睡眠周期。 2. 蜂窝通信 5G NR 频段:Sub-6GHz(FR1
    发表于 07-17 15:40

    开源 Made with KiCad(129):CatSniffer IoT 多协议工具

    “   CatSniffer 是一款专为物联网(IoT)安全研究设计的硬件工具,其核心功能包括无线通信的嗅探、协议分析和安全测试。   ” Made with KiCad 系列将支持新的展示方式
    的头像 发表于 06-09 11:14 1751次阅读
    开源 Made with KiCad(129):CatSniffer IoT 多<b class='flag-5'>协议</b>工具

    基于RK3576开发板的http/https通讯

    HTTP(超文本传输协议)和HTTPS安全超文本传输协议)是互联网中广泛应用的协议,用于客户端与服务器之间的通信。
    的头像 发表于 05-10 11:24 1691次阅读
    基于RK3576开发板的http/<b class='flag-5'>https</b>通讯

    HTTP和HTTPS的关键区别

    HTTP(HyperText Transfer Protocol) 是一种无状态的通信协议,通常用于在客户端(例如浏览器)和服务器之间传输超文本(如 HTML 页面)。但这仅仅是一个单向通信协议
    的头像 发表于 03-25 15:34 1639次阅读
    HTTP和<b class='flag-5'>HTTPS</b>的关键区别

    鉴源实验室·HTTPS对于网络安全的重要性

    本文旨在深入解析HTTPS的工作原理、安全性以及其在网络安全中的重要性
    的头像 发表于 02-19 14:31 800次阅读
    鉴源实验室·<b class='flag-5'>HTTPS</b>对于网络<b class='flag-5'>安全</b>的重要性

    TCP协议的常见应用场景

    器之间传输网页数据。当用户在浏览器中输入网址时,浏览器通过TCP连接到服务器,请求网页内容,服务器则通过TCP响应这些请求。 HTTPS安全超文本传输协议) :HTTPS在HTTP的
    的头像 发表于 01-22 09:55 3382次阅读

    TCP协议安全性分析

    1. TCP协议的基本特性 TCP协议的主要目的是确保数据的可靠传输。它通过以下机制实现这一目标: 数据分段和重组 :TCP将数据分割成较小的段,并在接收端重新组装这些段。 确认和重传 :TCP
    的头像 发表于 01-22 09:48 1265次阅读

    如何使用 cURL 测试 HTTP 协议

    cURL是一个强大的命令行工具,用于传输数据,支持多种协议,包括HTTP、HTTPS、FTP等。使用cURL测试HTTP协议可以帮助你理解HTTP请求和响应的工作原理,以及调试和验证你的HTTP服务
    的头像 发表于 12-30 09:26 2145次阅读

    如何实现 HTTP 协议安全

    协议安全性,可以采取以下几种方法: 1. 使用HTTPS HTTPS安全超文本传输协议)是H
    的头像 发表于 12-30 09:22 1509次阅读

    HTTP 和 HTTPS 的区别

    在互联网时代,数据传输安全变得越来越重要。HTTP 和 HTTPS 是两种广泛使用的网络协议,它们在数据传输方面扮演着关键角色。尽管它们的名字相似,但它们在安全性和用途上有着显著的区别
    的头像 发表于 12-30 09:19 2400次阅读