如何快速了解Https

技术如何快速了解Https如何快速了解Https,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。HTTPS简介HTTPS:https是http

如何快速理解Https,很多新手都不是很清楚。为了帮助大家解决这个问题,下面小编就给大家详细讲解一下。需要的人可以从中学习,希望你能有所收获。

HTTPS简介

https: https是http和ssl的结合,为了解决http明文传输带来的信息泄露问题。客户端和服务器之间通信的加密由ssl公钥和私钥保证,中间人攻击的可能性由数字授权证书消除。默认端口是443。

从ca申请证书需要SSL。一般免费证书很少,需要一定的费用。(笔者一直在用阿里巴巴云,还有一个免费的ssl应用,挺适合个人使用的。据说其他云商家也有免费ssl)

有关HTTP发展历史和HTTP2的详细说明,可以点击查看本文。

有关HTTP连接中TCP握手和wave过程的详细说明,可以点击查看本文。

HTTPS工作流程

如何快速了解Https

向客户端服务器发送请求https://baidu.com,然后连接到服务器的端口443。

服务器必须有一组数字证书,这些证书可以自己制作,也可以应用于组织。不同的是自己颁发的证书需要经过客户端验证后才能继续访问,而可信公司申请的证书不会弹出提示页面。这组证书实际上是一对公钥和私钥。

转让证书。这个证书其实就是公钥,但是里面包含了很多信息,比如证书的颁发机构、过期时间、服务器的公钥、第三方证书颁发机构(CA)的签名、服务器的域名信息等等。

客户端解析证书。这部分工作由客户的TLS完成。首先,它将验证公钥是否有效,如颁发机构、过期时间等。如果发现异常,会弹出警告框,表示证书有问题。如果证书没有问题,则会生成一个随机值(密钥)。随机值然后用证书加密。

传输加密信息。这部分传输用证书加密的密钥。目的是让服务器得到这个密钥,然后客户端和服务器之间的通信就可以用这个随机值进行加密和解密。

服务段加密信息。服务器用私钥解密密钥,从客户端获取私钥,然后用这个值对称加密内容。

加密的信息被传输。这部分信息由服务器用私钥加密,可以在客户端恢复。

客户端解密信息。客户端使用之前生成的私钥解密从服务器发送的信息,从而获得解密的内容。

00-1010

相关名词解释

在对称加密算法中,用于加密的密钥与用于解密的密钥相同。因此,为了保证对称加密算法的安全性,密钥应该保密,只能被用户知道,不能公开。在对称加密算法中,加密和解密都使用相同的密钥,公钥和私钥没有区别。

在加密或解密期间,密钥(通常是字符串或数字)被传递给加密/解密算法。

对称加密算法(symmetric key algorithms)

在非对称加密算法中,用于加密的密钥和用于解密的密钥是不同的。

注意:用私钥加密的密文只要是公钥就可以解密,但用公钥加密的密文只能用私钥解密。只有一个人有私钥,而公钥可以发给所有人。

00-1010中间人攻击是指黑客拦截并篡改网络中的通信数据。它分为被动的MITM和主动的MITM。被动的MITM只能窃取通信数据而不做修改,而主动的MITM不仅能窃取数据,还能篡改通信数据。最常见的中间人攻击通常发生在公共wifi或公共路线上。

图为客户端主动发送消息时:如何快速了解Https

00-1010为了防止中间人攻击,整个传输过程中迫切需要解决的问题是保证客户端收到的公钥由服务器发送。因此,提出了数字证书。数字证书由权威的CA组织颁发给服务器,CA组织通过服务器提供的相关信息生成证书。证书的内容包括持有人的相关信息、公钥、签名人的签名信息等。最重要的是,公钥在数字证书中。数字证书如何确保公钥来自请求服务器?数字证书上持有人的相关信息,通过这些信息可以确定不是。

一个中间人;但是证书也是可以伪造的,如何保证证书为真呢?一个证书中含有三个部分:"证书内容(F1), 加密算法(A),加密密文(F3') ",三者的关系如下图,证书内容F1F会被散列算法SHA1计算出hash值F2,然后使用CA机构提供的私钥进行RSA加密

如何快速了解Https

当客户端发起请求的时候,服务器将该数字证书发送给客户端,客户端将其中的加密密文(F3)通过CA机构提供的公钥及逆行解密后得到F2,同时将证书内容(F1)使用SHA1散列成F2,如果两者相等则说明证书没问题。

如何快速了解Https

由于劫持者不知道当初加密使用的私钥是什么,所以永远无法伪造出一个正确的证书可以通过上述的验证。

如何快速了解Https

HTTP的使用成本

安全性考虑:
HTTPS协议的加密范围也比较有限,在黑客攻击、拒绝服务攻击、服务器劫持等方面几乎起不到什么作用。
SSL证书的信用链体系并不安全,特别是在某些国家可以控制CA根证书的情况下,中间人攻击一样可行。

成本考虑:

  1. SSL证书需要购买申请,功能越强大的证书费用越高

  2. SSL证书通常需要绑定IP,不能在同一IP上绑定多个域名,IPv4资源不可能支撑这个消耗(SSL有扩展可以部分解决这个问题,但是比较麻烦,而且要求浏览器、操作系统支持,Windows XP就不支持这个扩展,考虑到XP的装机量,这个特性几乎没用)。

  3. 根据ACM CoNEXT数据显示,使用HTTPS协议会使页面的加载时间延长近50%,增加10%到20%的耗电。

  4. HTTPS连接缓存不如HTTP高效,流量成本高。

  5. HTTPS连接服务器端资源占用高很多,支持访客多的网站需要投入更大的成本。

  6. HTTPS协议握手阶段比较费时,对网站的响应速度有影响,影响用户体验。比较好的方式是采用分而治之,类似12306网站的主页使用HTTP协议,有关于用户信息等方面使用HTTPS。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/86586.html

(0)

相关推荐

  • 如何理解MYSQL-GroupCommit 和 2pc提交

    技术如何理解MYSQL-GroupCommit 和 2pc提交这篇文章将为大家详细讲解有关如何理解MYSQL-GroupCommit 和 2pc提交,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后

    攻略 2021年11月16日
  • python循环语句(python循环语句的运用)

    技术Python循环语句怎么用小编给大家分享一下Python循环语句怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!什么是循环呢?简单理解

    攻略 2021年12月19日
  • Socket基础知识有哪些

    技术Socket基础知识有哪些本篇文章给大家分享的是有关Socket基础知识有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。如何一步步掌握Socket相

    攻略 2021年11月25日
  • 在Linux 6.3如何安装mysql5.7.16数据库

    技术在Linux 6.3如何安装mysql5.7.16数据库这篇文章主要介绍了在Linux 6.3如何安装mysql5.7.16数据库,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让

    攻略 2021年10月30日
  • 如何设置Repeat Interval参数

    技术如何设置Repeat Interval参数如何设置Repeat Interval参数,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。 设置

    攻略 2021年11月12日
  • MySQL如何删除多表关联

    技术MySQL如何删除多表关联这篇文章主要介绍MySQL如何删除多表关联,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 在MySQL中,删除关联的多张表,可以使用下面S

    攻略 2021年10月30日