HTTPS为什么安全,流程?

这篇具有很好参考价值的文章主要介绍了HTTPS为什么安全,流程?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

HTTPS为什么安全,流程?

对称、非对称混合加密

首先,我们先来看HTTP为什么不安全

HTTP没有对通信内容进行加密,是明文传输,信息可能会被劫持、篡改等,相当于在互联网上裸奔,所以是不安全的。

那么HTTPS主要就是为了解决这个问题,而解决这个问题肯定要对传输的明文进行加密,让其他人看不懂才行。

现代加密方式无非两种:

  • 对称加密
  • 非对称加密

对称还是不对称,这是一个问题。

对称快,非对称慢,而且不适用,为什么不适用,我就要用非对称加密会怎样?

没问题,试试就逝世。

假如我们对明文进行非对称加密,由客户端公钥加密,服务器私钥解密,私钥也只有服务器有,可以解密,好,客户端对服务器发送信息是没问题的。

但是,当服务器用私钥加密给客户端传递信息的时候,客户端用公钥解密。而公钥是透明的,可以理解为所有人都知道,这时谁都可以用公钥解密,那么服务器对客户端传递信息没有起到加密的作用,毫无疑问这是失败的。

考虑到通信问题和效率问题,我们还是用对称加密来加密双方之间传递的信息吧。

现在,客户端生成了一个用于对称加密的秘钥,准备给服务器,这样客户端和服务器就能用这个秘钥愉快的通信了。

然而事情似乎没有这么简单,客户端如何把对称秘钥密文的形式传递给服务器?这不是一个悖论吗,我们要解决的就是这个问题诶?

思考一下,卧槽CUP烧了。。

但是,诶?刚才非对称加密客户端对服务器单方面通信是安全的吧?

头好痒,不会要长脑子了吧?(挠挠挠挠

那咱们只用非对称加密传递对称加密的秘钥通信的内容还是对称加密的方式,这样不就可以了?

好来看看这个流程:服务器下发一个非对称加密的公钥给客户端,客户端拿到后,连夜生成了一个对称加密的秘钥,然后用这个服务器给的非对称加密的公钥加密自己生产的对称加密的秘钥,再发回给服务器。

服务器拿到这个对称加密的秘钥后,就能与客户端暗行苟且之事了。

嘿嘿嘿。。。

但是,这样似乎还有问题:

  • 客户端如何证明服务器给的非对称加密的公钥是这个服务器的?中间如果被劫持或者替换,不就相当于客户端从一开始跟对面聊天的对象,从玉洁冰清白富美突然变成了200多斤的黑胖?这谁顶得住。
  • 还有一个问题,假如一台量子计算机或者某个奇迹事件,在0.1秒把对称加密给破解了,并且知道了对称秘钥,然后他就可以篡改消息,发给白富美的玫瑰花变成了一坨臭粑粑?

证书认证和完整性校验

先来解决如何证明非对称加密的公钥,就是客户端访问的那台服务器生成的,而不是被别人篡改后的。

这个问题通过技术手段似乎无法解决了,至少服务器本身不能证明它就是它,解决这个问题得靠社会工程学

怎么办,既然我不能证明我,那我就找别人(某个绝对权威机构)来帮我证明。

服务器苦苦生成的非对称加密公钥没客户端承认,他只好把这个公钥放进可以代表自己的证书里,请权威机构签个字,帮忙证明这个证书就是俺这台服务器的。

当服务器终于拿到这个被权威机构签名的证书后,啪一下很快啊,直接把它甩给了客户端。

这样就完美证明公钥就是服务器的,但是证书就不可能被篡改吗,如何保证证书完整性呢?

客户端一脸懵逼地打开证书,发现里面有几个东西:

陈年旧袜、破洞苦茶子、老坛酸菜。。

诶呸呸呸,大致包含下面这几个,当然还有其他字段(证书基本信息等统一用证书内容表示):

  • 证书内容(有效期、版本号、机构信息、等等)
  • 数字签名(证书摘要被权威机构非对称加密后的产物)
  • 生成摘要的hash算法
  • 解密数字签名的公钥
  • 当然还有服务器自己的公钥(用于传递对称密钥的那个公钥)

那么是如何保证证书完整性,不被篡改的呢,答案呼之欲出了:

证书摘要是对证书内容的hash,而数字签名是对证书摘要的进行非对称加密的密文,客户端拿到后,再通过证书里的权威机构的公钥进行解密,得到摘要,再自己做一次hash看看和摘要是不是一致的,不一致说明有内鬼、终止交易。

至此,对称加密、非对称加密、摘要算法一共被使用了几次?

  • 对称加密:至少1次,用于服务器和客户端双方的通信加密。
  • 非对称加密:至少2次,加密证书的摘要,还有加密对称加密的秘钥。
  • 摘要hash算法:至少2次,用于验证客户端服务器消息完整性校验和证书完整性校验。

这几种算法合起来(除了认证操作)就是:SSL/TLSTLS是SSL的继任者

没啦,撒花。HTTPS中的S是涩Q瑞(secure)安全的意思。

HTTPS = HTTP + 加密通信 + 完整性校验 + 权威认证

流程

再总结一下HTTPS通信的流程

  1. 客户端发起https请求
  2. 服务端收到请求后,下发一个由权威机构签名认证过的证书给客户端
  3. 客户端校验证书完整性有效性,没问题自己生成一个对称密钥,用证书里面的公钥对该秘钥加密,发回给服务器。
  4. 服务器收到加密过的对称密钥用自己的非对称加密的私钥进行解密,得到对称加密的秘钥
  5. 双方用对称加密的秘钥进行加密通信,并使用消息摘要算法校验消息的完整性。

还不清楚就问问chatGPT吧。文章来源地址https://www.toymoban.com/news/detail-418871.html

  1. 客户端向服务器发起 HTTPS 请求。这个请求的 URL 以 “https” 开头,而不是 “http”。
  2. 服务器返回数字证书。数字证书通常包含服务器的公钥和一些附加信息,如证书颁发机构和证书的有效期等。
  3. 客户端验证数字证书的有效性,如果证书无效或过期,或者颁发机构不受信任,则连接将被终止。
  4. 如果数字证书是有效的,客户端将生成一个随机的密钥,用于对数据进行加密和解密。
  5. 客户端使用服务器的公钥来加密密钥,并将加密后的密钥发送给服务器。
  6. 服务器使用自己的私钥来解密客户端发送的密钥,并使用该密钥对数据进行加密和解密。
  7. 之后,服务器和客户端之间的通信将使用对称加密算法进行加密和解密,以保证通信的机密性。
  8. 在加密过程中,服务器和客户端还会使用消息摘要算法对数据进行完整性校验和认证,以保证通信的完整性。
  9. 通信结束后,客户端和服务器都可以关闭连接,也可以保持连接,以便进行更多的请求和响应。

到了这里,关于HTTPS为什么安全,流程?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 为什么 HTTPS 比 HTTP 安全

    HTTP(超文本传输协议)是目前互联网应用最广泛的协议,伴随着人们网络安全意识的加强,HTTPS 被越来越多地采纳。不论是访问一些购物网站,或是登录一些博客、论坛等,我们都被 HTTPS 保护着,甚至 Google Chrome、Firefox 等主流浏览器已经将所有基于 HTTP 的站点都标记为不安全

    2024年02月19日
    浏览(47)
  • HTTPS 为什么是安全的 _ (下)

    有了这些前置知识,下面就来深入剖析 HTTPS 。 为什么需要 HTTPS ? 因为 HTTP 在裸奔 。 针对上篇文章中提到过的安全传输信息的几个要素: 保证传输内容的安全,即不传输明文 防止传输内容被篡改,即可以识别篡改 确认对方真的是对方,即通信双方身份的认证 由于 HTTP 是

    2024年04月11日
    浏览(44)
  • 为什么 https 比 http 更安全?

    http 和 https 在许多网站都有用到,但是现在都是极力倡导使用 https ,究其原因就是 http 的安全性不够高,在数据传输过程中可能会遭到黑客窃取。 本篇文章会先讲解 http 缺点,然后再讲解 https 是如何解决这些问题来保证安全的。 一、http 缺点 通信使用明文(不加密),内容

    2024年01月24日
    浏览(47)
  • 为什么说HTTPS比HTTP安全? HTTPS是如何保证安全的?

    在上篇文章中,我们了解到 HTTP 在通信过程中,存在以下问题: 通信使用明文(不加密),内容可能被窃听 不验证通信方的身份,因此有可能遭遇伪装 而 HTTPS 的出现正是解决这些问题, HTTPS 是建立在 SSL 之上,其安全性由 SSL 来保证 在采用 SSL 后, HTTP 就拥有了 HTTPS 的加密

    2024年03月19日
    浏览(52)
  • HTTPS 的通信加解密过程,证书为什么更安全?

    目录 一、什么是https 二、HTTPS 的加解密过程 三、HTTPS 为什么更安全? HTTPS(Hypertext Transfer Protocol Secure)是一种通过加密和身份验证保护数据传输安全的通信协议。它是在常用的HTTP协议基础上添加了 SSL/TLS 加密层来实现数据的加密传输和验证服务器身份的功能。 在HTTPS通信过

    2024年02月03日
    浏览(55)
  • 为什么 HTTPS 协议能保障数据传输的安全性?

    HTTP 协议 在谈论 HTTPS 协议之前,先来回顾一下 HTTP 协议的概念。 HTTP 协议介绍 HTTP 协议是一种基于文本的传输协议,它位于 OSI 网络模型中的应用层。 HTTP 协议是通过客户端和服务器的请求应答来进行通讯,目前协议由之前的 RFC 2616 拆分成立六个单独的协议说明(RFC 7230、

    2024年01月22日
    浏览(51)
  • SSL/TLS协议详解 - https为什么比http更安全

    SSL/TLS是世界上应用最广泛的密码通信方法。比如,在网上商城输入信用卡卡号时,Web浏览器就会使用SSL/TLS进行密码通信。使用SSL/TLS可以对通信对象进行认证,还可以确保通信内容的机密性。TLS相当于SSL的后续版本。 SSL (Secure Sockets Layer)安全套接层协议 :由Netscape公司开发

    2024年02月05日
    浏览(48)
  • 揭秘HTTPS:为什么它是现代网络安全的不二选择

    随着互联网技术的迅速发展和数据安全问题的日益突出,HTTPS加密协议成为了网络安全的重要组成部分。本文旨在深入分析HTTPS协议,解释其工作原理、加密机制以及为何它在当今网络安全中扮演着不可或缺的角色。 HTTPS(全称Hyper Text Transfer Protocol Secure)是一个用于安全通信

    2024年02月22日
    浏览(52)
  • 为什么如此安全的https协议却仍然可以被抓包呢?(1)

    好了,阅读到了这里,说明你对https已经非常熟悉了,那么你一定知道,https协议是结合了非对称加密和对称加密一起工作,从而保证数据传输的安全性的。 非对称加密用于确保客户端可以安全地获取到服务器的真实公钥。对称加密用于确保客户端和服务器之间的数据传输不

    2024年04月26日
    浏览(39)
  • HTTPS 为什么是安全的 _ (下),掌握了这些Android高级工程师必备知识

    证书 的目的是确保公钥的合法性,它的本质就是为公钥加上数字签名。它的安全性由证书链顶端的根证书来保证。 如果你对这几个工具还不是很熟悉,就无法彻底的了解 HTTPS 的通信流程,不妨再阅读一遍 HTTPS 为什么是安全的 ? (上) 。 有了这些前置知识,下面就来深入剖析

    2024年04月11日
    浏览(58)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包