[ 网络协议篇 ] 一篇文章让你掌握什么是 HTTPS ?(下)

简介: HTTP 和 HTTPS 是老生常谈的问题,无论是在校学习还是找工作,老师和面试官几乎都会问道HTTP 是什么?HTTPS 是什么?他们有什么区别 ?其实学好 HTTP 和 HTTPS 是很重要的,有利于我们后续的学习和参加工作。相信平时上网的时候也很少有人关注这个问题,只是知道计算机网络里 HTTP 的概念。其实这一块的知识延伸很广,还需要了解加密算法和 SSL 协议。未来几篇文章我们就来聊一聊这几个问题,相信仔细看完,会有很大收获。

🍬 博主介绍


👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~

✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】

🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋

🎉欢迎关注💗一起学习👍一起讨论⭐一起进步📝文末有彩蛋

🙏作者水平有限,欢迎各位大佬指点,相互学习进步!


三、工作原理(HTTP加入SSL证书)



HTTPS在传输数据之前需要客户端(浏览器)与服务端(网站)之间进行一次握手,在握手过程中将确立双方加密传输数据的密码信息。

TLS/SSL 协议不仅仅是一套加密传输的协议,更是一件经过艺术家精心设计的艺术品,TLS / SSL中使用了非对称加密,对称加密以及HASH算法。


1. 握手过程的具体描述如下:

1. 浏览器将发送自己的加密规则

浏览器将自己支持的一套加密规则发送给网站。

 

2. 网站选择加密规则,回复证书

网站从中选出一组加密算法与HASH算法,并将自己的身份信息以证书的形式发回给浏览器。证书里面包含了网站地址,加密公钥,以及证书的颁发机构等信息。

 

3. 浏览器获得网站证书之后浏览器的操作:

1.  
验证证书的合法性(颁发证书的机构是否合法,证书中包含的网站地址是否与正在访问的地址一致等),如果证书受信任,则浏览器栏里面会显示一个小锁头,否则会给出证书不受信的提示。

2. 如果证书受信任,或者是用户接受了不受信的证书,浏览器会生成一串随机数的密码,并用证书中提供的公钥加密。

3. 使用约定好的HASH算法计算握手消息,并使用生成的随机数对消息进行加密,最后将之前生成的所有信息发送给网站。


4. 网站接收浏览器发来的数据之后网站要做的操作:

1. 使用自己的私钥将信息解密取出密码,使用密码解密浏览器发来的握手消息,并验证HASH是否与浏览器发来的一致。 


2. 使用密码加密一段握手消息,发送给浏览器。


5. 浏览器解密HASH进行验证

浏览器解密并计算握手消息的HASH,如果与服务端发来的HASH一致,此时握手过程结束,之后所有的通信数据将由之前浏览器生成的随机密码并利用对称加密算法进行加密。


6. 注意:

这里浏览器与网站互相发送加密的握手消息并验证,目的是为了保证双方都获得了一致的密码,并且可以正常的加密解密数据,为后续真正数据的传输做一次测试。


2. HTTPS一般使用的加密与HASH算法如下:

这里不过过多介绍,想详细了解的可以看:

虚拟专用网简介__PowerShell的博客-CSDN博客

虚拟专用网的五种技术里面的加解密技术详细讲解了加密算法


1. 非对称加密算法:RSADSA/DSS

2. 对称加密算法:AESRC43DES

3. HASH算法:MD5SHA1SHA256


3. 数据包过程

注意:公钥数字证书 = 数字证书 = CA证书

          公钥数字签名 = 数字签名

          HTTPS所使用到的数字证书是SSL证书(下一篇文章将详细介绍数字证书)

数字证书_百度百科 (baidu.com)数字签名_百度百科 (baidu.com)

image.png


1. 关键点:公钥数字证书(数字证书、CA证书)

2. 公钥数字证书是怎么生成的 ?

站点运维人员生成非对称密钥(私钥公钥)CA机构提交信息,CA机构验证信息。生成公钥数字证书。


3. 公钥数字证书包括什么 ?

公钥数字证书包括:公钥、组织信息、CA信息、有效时间、证书序列号、签名算法、同时生成一个签名(数字签名)


4. CA信息包括什么 ?

CA信息:CA机构颁发的。包括CA机构信息、包括CA机构的公钥


5. 签名步骤:

hash(拟用于申请证书所提交的明文信息)= 信息摘要

            将提交的信息做一个信息摘要  防止篡改

      CA再使用CA机构的私钥对信息摘要进行加密,密文就是数字签名  

数字签名包含在公钥数字证书里面

站点运维人员再把它部署在服务器上面


6. 浏览器如何验证数据 ?

浏览器验证数据:这时候的公钥就不单单是一个公钥了是一个公钥数字证书(有很多信息组成)(CA信息 公钥用户信息 公钥 权威机构签名 有效期)

第五个包  浏览器收到公钥数字证书之后还需要完成一个验证的操作

      服务器拿到了数字证书,就拿到了,公开的信息

      公钥数字证书里面包括了一个  签名算法  就可以利用签名算法 对公开信息进行加密

得到信息摘要  再通过公钥数字签名里面的CA信息(包含CA机构的公钥)利用公钥对数字签名进行解密   通过浏览器自己得到的摘要  和解密得到的摘要进行兑对比

      如果两个信息摘要是一致的 说明这个证书是正确的没有被篡改的


7. 谁来验证CA信息呢?

由上级权威机构验证,权威机构由根CA机构验证

我们再进行CA证书的部署的时候部署的是一个公钥的证书链,不是说只有一个证书(谁给他颁发的,上级是谁颁发的)。

但是不会包含根证书,根证书是内置在浏览器里面的(或者说内置在操作系统里面的(这个是一定不能有问题的)(由操作系统来保障它的安全))


8. 公钥数字证书生成过程图示:

image.png


四、HTTPS 的优缺点



1. 优点

1. 使用 HTTPS 协议可认证用户和服务器,确保数据发送到正确的客户机和服务器。

2. HTTPS 协议是由 SSL+HTTP 构建的可进行加密传输、身份认证的网络协议,要比 HTTP安全,可防止数据在传输过程中被窃取、改变,确保数据的完整性

3. HTTPS 是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本。

2. 缺点

1. 资源消耗大

相同网络环境下,HTTPS 协议会使页面的加载时间延长近 50%,增加 10% 20%的耗电。此外,HTTPS 协议还会影响缓存,增加数据开销和功耗。


2. 并非绝对安全

HTTPS 协议的安全是有范围的,在黑客攻击、拒绝服务攻击和服务器劫持等方面几乎起不到什么作用。


3. SSL 证书的信用链问题

最关键的是,SSL 证书的信用链体系并不安全。特别是在某些国家可以控制 CA 根证书的情况下,中间人攻击一样可行。


4. 成本增加

部署 HTTPS 后,因为 HTTPS 协议的工作要增加额外的计算资源消耗。

例如: SSL 协议加密算法和 SSL 交互次数将占用一定的计算资源和服务器成本。在大规模用户访问应用的场景下,服务器需要频繁地做加密和解密操作,几乎每一个字节都需要做加解密,这就产生了服务器成本。

随着云计算技术的发展,数据中心部署的服务器使用成本在规模增加后逐步下降,相对于用户访问的安全提升,其投入成本已经下降到可接受程度。

相关文章
|
3月前
|
安全 网络协议 Linux
家庭实验室系列文章 - 电脑如何配置网络唤醒 (WOL)?
家庭实验室系列文章 - 电脑如何配置网络唤醒 (WOL)?
|
4天前
|
缓存 安全 算法
网络原理 HTTP _ HTTPS
网络原理 HTTP _ HTTPS
10 0
|
7天前
|
存储 算法 安全
[计算机网络]---Https协议
[计算机网络]---Https协议
|
13天前
|
安全 网络协议 算法
【计算机网络】http协议的原理与应用,https是如何保证安全传输的
【计算机网络】http协议的原理与应用,https是如何保证安全传输的
|
15天前
|
网络协议 安全
【专栏】`curl`是广泛用于网络编程和自动化脚本的命令行工具,支持HTTP、HTTPS等协议
【4月更文挑战第28天】`curl`是广泛用于网络编程和自动化脚本的命令行工具,支持HTTP、HTTPS等协议。在处理大文件或慢速服务器时,设置超时参数至关重要。本文介绍了`curl`的超时参数,如`-m`(最大操作时间)、`-c`(连接超时)、`--dns-timeout`(DNS解析超时)和`-t`(时间条件)。通过示例展示了如何设置这些超时,并提到了一些高级技巧和注意事项,如错误处理和带宽限制。合理设置超时能提高效率和可靠性,对编写健壮的自动化脚本非常有用。
|
27天前
|
网络协议 安全 API
Android网络和数据交互: 什么是HTTP和HTTPS?在Android中如何进行网络请求?
HTTP和HTTPS是网络数据传输协议,HTTP基于TCP/IP,简单快速,HTTPS则是加密的HTTP,确保数据安全。在Android中,过去常用HttpURLConnection和HttpClient,但HttpClient自Android 6.0起被移除。现在推荐使用支持TLS、流式上传下载、超时配置等特性的HttpsURLConnection进行网络请求。
14 0
|
1月前
|
安全 网络协议 网络安全
网络原理(5)--HTTPS是如何进行加密的
网络原理(5)--HTTPS是如何进行加密的
17 0
|
2月前
|
运维 安全 网络安全
带你读《网络安全等级保护2.0定级测评实施与运维》精品文章合集
带你读《网络安全等级保护2.0定级测评实施与运维》精品文章合集
|
2月前
|
SDN 网络虚拟化 Windows
带你读《智慧光网络:关键技术、应用实践和未来演进》精品文章合集
带你读《智慧光网络:关键技术、应用实践和未来演进》精品文章合集
|
2月前
|
安全 算法 数据安全/隐私保护
网络原理 - HTTP/HTTPS(5)
网络原理 - HTTP/HTTPS(5)