HTTPS安全防窃听、防冒充、防篡改三大机制原理

这篇具有很好参考价值的文章主要介绍了HTTPS安全防窃听、防冒充、防篡改三大机制原理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

        本文内容主要对以下两篇文章内容整理过滤,用最直观的角度了解到HTTPS的保护机制,当然啦,如果想要深入了解HTTPS,本文是远远不够的,可以针对以下第一个链接中的文章拓展板块进行学习,希望大家通过本文能够对HTTPS有一个初步的认识,

你真的了解HTTPS吗?(一) - HTTPS和加密 - 知乎 (zhihu.com)

1.5 万字 + 40 张图解 HTTP 常见面试题 - 知乎 (zhihu.com)

HTTPS

HTTPS公认的三大优势有:

  1. 数据加密,防窃听:HTTPS中的对称加密和非对称加密
  2. 身份验证,防冒充:HTTPS的CA和证书
  3. 完整性校验,防篡改:HTTPS的哈希

HTTPS混合加密——防窃听

HTTPS 采用的是对称加密非对称加密结合的「混合加密」方式:

  • 在通信建立前采用非对称加密的方式交换「会话秘钥SK」,后续就不再使用非对称加密。
  • 在通信过程中全部使用对称加密的「会话秘钥SK」的方式加密明文数据。

防窜改是什么原理,学习笔记篇,https,网络安全

HTTPS为什么同时要有对称加密和非对称加密两种加密方式?
  • 对称加密加密与解密使用的是同样的密钥,所以速度快,但由于需要将密钥在网络传输,所以安全性不高
  • 非对称加密使用了一对密钥,公钥与私钥,所以安全性高,但加密与解密速度慢

        解决的办法是将对称加密的密钥使用非对称加密的公钥进行加密,然后发送出去,接收方使用私钥进行解密得到对称加密的密钥,然后双方可以使用对称加密来进行沟通,这种设计同时兼顾了安全和效率

HTTPS对称加密的密钥SK如何产生和传输?

HTTPS分为2个过程

  1. 协商对称加密密钥SK的非对称加密阶段,称为TLS握手阶段
  2. 使用SK对数据(对话内容)进行对称加密的阶段,称为数据通信阶段

TLS握手阶段

产生对称密钥SK,主要基于三种常见的办法:

  • 基于非对称加密算法
  • 基于专用密钥交换算法,常见有DH、ECDH等
  • 基于共享的secret,常见有PSK,SRP等

数据通信阶段

        发送端首先用密钥SK对通信内容 + 通过摘要算法算出明文的「指纹」一同进行对称加密,接着通过网络传输出去;服务端收到数据后,用SK先将数据解密出明文,通过摘要算法算出明文的「指纹」,通过比较客户端携带的「指纹」和当前算出的「指纹」做比较,若「指纹」相同,说明数据是完整的。

防窜改是什么原理,学习笔记篇,https,网络安全

HTTPS的有几套非对称加密?目的是什么?是否可以省略?

直接给出答案:2套非对称加密

        第一套用于协商对称加密密钥SK第二套用于数字证书签名加密。这两者的区别是:前者是服务器端(如果是双向验证的话,客户端也会有一套非对称加密公私钥)产生的。私钥在服务端上;后者是CA机构产生的,私钥在CA机构那边。并且,这2套都不可以省略。(这个说法略不严谨,但是在实际操作中,确实都不建议省略。)


HTTPS数字证书——防冒充

        在 HTTPS/TLS 协议中,客户端和服务器都有一份公钥和私钥。客户端会首先发起连接请求,服务器会将自己的公钥发送给客户端。客户端接收到公钥之后,会使用该公钥对信息进行加密,并将密文发送给服务器。在接受到加密信息的服务器端,会使用该服务器私钥(不是客户端私钥)对密文进行解密,得到原始信息。这就存在些问题,如何保证公钥不被篡改和信任度?

所以这里就需要借助第三方权威机构 CA (数字证书认证机构),将服务器公钥放在数字证书(由数字证书认证机构颁发)中,只要证书是可信的,公钥就是可信的。主要依赖于一个“防伪标识” — 数字签名

        数字签名生成过程是首先对原文作哈希,把一段不定长的文本映射成固定长度的字符空间,接着再用CA机构的私钥对这段定长字符做加密。大大提高了整体的运算效率。

申请证书

        用户向CA机构提交自己的信息(如域名)和公钥(用于TLS握手阶段),CA机构利用的自己的私钥对其加密生成数字证书,通过数字证书的方式保证服务器公钥的身份,解决冒充的风险。

验证证书

        接受证书的一端先对除数字签名外的其他部分做一次相同的哈希算法(证书中指明了哈希算法),得到这段文本的哈希映射,记作H1;获取CA机构的公钥对数字签名属性做解码,得到了CA机构计算出的哈希映射,记作H2。对比H1和H2两个字符串是否严格相等,若是,代表该证书的信息未被篡改,证书有效;否则,证书内容被篡改,证书无效。 若证书有效,接受端会再进行对端的身份校验(验证域名) ,若身份验证通过,接收端会拿证书上的公钥加密接下来整个TLS握手阶段的会话密钥SK之后,发送给服务端。然后在服务端用私钥进行解密出SK

防窜改是什么原理,学习笔记篇,https,网络安全

CA的公钥已事先置入到了浏览器或操作系统里


HTTPS的哈希——防篡改

        在数据通信阶段,SSL/TLS会对原始消息(message)做一次哈希,得到该消息message的摘要,称为消息摘要(Message Digest) 。对端接受到消息后,使用协商出来的对称加密密钥解密数据包,得到原始消息message;接着也做一次相同的哈希算法得到摘要,对比发送过来的消息摘要和计算出的消息摘要是否一致,可以判断通信数据是否被篡改。


总结:HTTPS通信流程

SSL/TLS 协议基本流程:

  • 客户端向服务器索要并验证服务器的公钥。
  • 双方协商生产「会话秘钥」。
  • 双方采用「会话秘钥」进行加密通信。

前两步也就是 SSL/TLS 的建立过程,也就是 TLS 握手阶段

SSL/TLS 的「握手阶段」涉及四次通信

  1. 客户端向服务器发起加密通信请求,也就是 ClientHello 请求。该请求中主要内容有客户端支持的SSL/TLS版本 + 一个随机数
  2. 服务器确认 SSL/ TLS 协议版本,如果浏览器不支持,则关闭加密通信。反之向客户端发出响应,也就是 SeverHello。该请求中主要内容有CA数字证书 + 一个随机数
  1. 客户端收到服务器的回应之后,首先通过浏览器或者操作系统中的 CA 公钥,确认服务器的数字证书的真实性。如果证书没有问题,客户端会从数字证书中取出服务器的公钥,然后使用它加密报文,向服务器发送如下信息:

    (1)一个随机数

    (2)加密通信算法改变通知,表示随后的信息都将用「会话秘钥」加密通信。

    (3)之前所有内容的发生的数据做一次哈希,得到消息摘要

    客户端通过这三个随机数用双方协商的加密算法,各自生成本次通信的「对称会话秘钥」

  1. 校验消息摘要,通过后服务器也基于这三个随机数生成本次通信的「对称会话秘钥」,再返回去一个响应给客户端

    (1)表示随后的信息都将用「会话秘钥」加密通信。

    (2)之前所有内容的发生的数据做一次哈希,得到消息摘要,给客户端进行校验

防窜改是什么原理,学习笔记篇,https,网络安全

        至此,整个 SSL/TLS 的握手阶段全部结束。接下来,客户端与服务器进入加密通信,就完全是使用普通的 HTTP 协议,只不过用「会话秘钥」加密内容。文章来源地址https://www.toymoban.com/news/detail-807016.html

到了这里,关于HTTPS安全防窃听、防冒充、防篡改三大机制原理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • https安全传输原理:

    内容来自思学堂: 信息裸奔——对称加密——非对称加密——非对称和对称加密——权威第三方机构CA数字签名      

    2024年02月12日
    浏览(30)
  • 网络安全通信HTTPS原理

    HTTPS并不是一个全新的协议,而是为了保证网络通信的数据安全,在HTTP的基础上加上了安全套件SSL的一个数据通信协议。 HTTP协议全称为HyperText Transfer Protocol即超文本传输协议,是客户端浏览器与Web服务器之间的应用层通信协议。HTTPS协议全称为HyperText Transfer Protocol over Secur

    2024年02月11日
    浏览(41)
  • 浏览器基础原理-安全: HTTPS

    HTTP协议的历史: HTTP协议的目的很单纯, 就是为了传输超文本文件, 所以早期的 HTTP 一直保持着明文传输数据的特征, 但是中间很有可能会被截取或者篡改, 即收到中间人攻击. 解析HTTP协议栈层面: HTTPS往里面加入了安全层, 它的指责是: 对发起HTTP请求的数据进行加密和对接收到

    2024年02月12日
    浏览(43)
  • HTTPS:原理、使用方法及安全威胁

    HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),即安全超文本传输协议,是HTTP协议的安全版。HTTPS在HTTP的基础上,通过SSL/TLS协议对数据进行加密传输,以保证数据的完整性、机密性和身份认证。本文将详细介绍HTTPS的技术原理、使用方法和安全威胁。 HTTPS的主要技

    2024年04月10日
    浏览(73)
  • 深入理解HTTPS原理:保障通信安全的加密卫士

    标题:深入理解HTTPS原理:保障通信安全的加密卫士 随着网络的不断发展,数据的安全性越来越受到重视。HTTPS(HyperText Transfer Protocol Secure)作为一种安全的HTTP协议,通过加密通信内容,确保数据在传输过程中不被窃取或篡改。本文将深入探讨HTTPS的原理,包括加密过程、证

    2024年01月24日
    浏览(45)
  • 【网络安全】https与证书原理 | SSL Pinning及其绕过

    参考: https://segmentfault.com/a/1190000009002353?sort=newest https://zhuanlan.zhihu.com/p/353571366 https://juejin.cn/post/6863295544828444686 HTTPS=HTTP+TLS,其它的协议也类似,如FTPS=FTP+TLS 1) ClientHello Client 首先发送本地的 TLS 版本、支持的加密算法套件,并且生成一个随机数 R1 。 2)Server Hello Server 端确

    2024年02月05日
    浏览(46)
  • 什么是HTTPS加密协议?HTTPS安全传输原理,SSL和TLS介绍,NGINX如何配置SSL证书

    HTTPS是超文本传输协议(HTTP)的安全版本。它使用SSL(安全套接层)或TLS(传输层安全)加密协议来保护数据传输的安全性和机密性,以防止未经授权的访问和窃听。HTTPS协议通常用于处理敏感信息,如在线支付或登录凭证等。可以通过URL的前缀来识别一个网站是否使用了H

    2024年02月03日
    浏览(56)
  • 如何保证接口安全,做到防篡改防重放?

    对于互联网来说,只要你系统的接口暴露在外网,就避免不了接口安全问题。如果你的接口在外网裸奔,只要让黑客知道接口的地址和参数就可以调用,那简直就是灾难。 举个例子:你的网站用户注册的时候,需要填写手机号,发送手机验证码,如果这个发送验证码的接口没

    2024年02月07日
    浏览(38)
  • 信息系统安全实验之文件上传漏洞导致主页篡改实验

    一、实验目的 1.了解文件上传漏洞的原理和攻击方式。 2.在学习该漏洞的出现原因的过程中了解该漏洞的防范和加固方式。 二、实验环境 1.操作系统:Windows 7(虚拟机环境)。 2.工具:phpStudy、Burp Suite、中国蚁剑、Firefox浏览器。 三、实验步骤和结果 (1)在虚拟机上安装好

    2024年02月04日
    浏览(46)
  • 【MFC】07.MFC第三大机制:消息映射-笔记

    本专栏上两篇文章分别介绍了【MFC】05.MFC第一大机制:程序启动机制和【MFC】06.MFC第二大机制:窗口创建机制,这篇文章来为大家介绍MFC的第三大机制:消息映射 typfd要实现消息映射,必须满足的三个条件: 类必须继承于CmdTargert 类必须声明重定义 DECLARE_MESSAGE_MAP 类外必须实

    2024年02月14日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包