前言:随着互联网安全问题日益严重,HTTPS已成为保障数据传输安全的标准协议,通过加密技术和身份验证,HTTPS有效防止数据窃取、篡改和中间人攻击,确保通信双方的安全和信任。
✨✨✨这里是秋刀鱼不做梦的BLOG
✨✨✨想要了解更多内容可以访问我的主页秋刀鱼不做梦-CSDN博客
在正式开始讲解之前,先让我们看一下本文大致的讲解内容:
目录
写在前面
学习HTTPS需要先学习HTTP的内容------------------------------------------------------------------------------>网络原理之HTTP(如果想知道网络原理中有关HTTP的知识,那么只看这一篇就足够了!)-CSDN博客
1.HTTPS的概念
在开始学习HTTPS的原理之前,先让我们了解一下什么是HTTPS:
HTTPS(Hypertext Transfer Protocol Secure,超文本传输安全协议)就是HTTP的加密版本,其主要目的为确保客户端和服务器之间传输的数据不被窃取或篡改,与传统的HTTP协议不同,HTTPS通过使用SSL/TLS(就是一个有关安全加密的协议)为通信提供加密保护,保证数据的安全。
——所以,简单来说HTTPS = HTTP + SSL/TLS,可以认为是HTTP协议的plus版,它比HTTP更加的安全可靠。
2.加密机制介绍
在了解了HTTPS的基本概念之后,在让我们看一下在HTTPS的通信中会涉及的加密机制,其中大致有四个,分别为:对称加密、非对称加密、中间人攻击和数字证书。
(1)引入对称加密
基本概念:
——首先先让我们学习一下对称加密,对称加密是HTTPS中用于加密和解密传输数据的核心加密方法,在对称加密中,客户端和服务器是使用相同的密钥来加密和解密消息,这种加密方式的优势在于加密和解密的过程非常高效,适合大量数据的加密处理。
但是,它也有其缺点,其主要缺点就是密钥分发(即服务器将其密钥发送给客户端,客户端用这个密钥对数据进行加密)的问题:一旦密钥被泄露,所有通过该密钥加密的数据可能会被窃取。
【1】对称加密的工作原理
对称加密其实就是通过同一个 "密钥" , 把明文加密成密文, 并且也能把密文解密成明文。虽然对称加密效率很高,但是其存在密钥分发的危险问题,所以通常HTTPS会通过非对称加密(下文会进行解释,读者可以先了解一下),对称加密的具体过程如下:
首先客户端使用服务器发送过来的对称密钥对要加密的数据进行加密,然后发送给服务器(此时就可能会被中间的黑客所截获数据)
当服务器接收到客户端发送来的数据之后,只用相同的对称密钥对数据进行解密
之后对解密的信息进行响应,响应的数据也使用这个对称密钥加密之后发送给客户端
——这样我们就了解了对称加密的工作原理了!!!,接下来让我们看一下都有哪些常见的对称加密算法:
【2】常见的对称加密算法
AES(高级加密标准):目前最广泛使用的对称加密算法,提供强大的安全性,且由于其加密和解密速度较快,适用于大规模的数据传输。
DES(数据加密标准):虽然DES曾经是非常流行的对称加密算法,但由于密钥长度仅为56位,已经被认为不再足够安全,现在已逐渐被AES取代。
对称加密在加密数据时速度极快,能够有效保障数据的机密性,但仅凭对称加密无法解决密钥交换的问题,因此在HTTPS中它与非对称加密结合使用,形成了完整的安全通信方案。
(2)引入非对称加密
非对称加密(又称公钥加密)是HTTPS安全协议中不可或缺的另一个重要组成部分,在非对称加密中,使用一对密钥来进行加密和解密——公钥和私钥,公钥可以公开用于加密,而私钥只能由接收方持有并用于解密。
【1】非对称加密的工作原理
在HTTPS中,非对称加密用于初始化加密通信过程中的密钥交换,具体流程如下:
首先客户端与服务器在建立连接时,首先会通过网络给客户端公钥
然后,当客户端接收到这个公钥之后,就会用这个公钥对对称密钥进行加密,然后将对称密钥传输给服务器
服务器接收到对称密钥之后,使用私钥对加密的对称密钥进行解密,获取对称密钥
在之后对称加密通信阶段,数据会被使用该对称密钥加密并发送,无论是客户端发送的请求还是服务器返回的响应,都将通过这个对称密钥进行加密和解密
通过非对称加密,客户端和服务器能够在不暴露密钥的情况下安全地交换加密数据,这大大增强了通信过程的安全性。
【2】常见的非对称加密算法
RSA:RSA是目前最广泛使用的非对称加密算法之一,基于大数分解的数学难题,RSA能够确保数据的加密和解密过程极为安全。RSA通常用于密钥交换和数字签名。
ECC:ECC基于椭圆曲线的数学原理,相较于RSA,在较短的密钥长度下能提供相同级别的安全性,且计算效率更高,适合移动设备等资源有限的环境。
非对称加密解决了密钥传输的安全性问题,但其计算复杂度相对较高,因此在HTTPS通信过程中,通常只在握手阶段(传输对称密钥)使用非对称加密,而在数据传输阶段(使用对称密钥加密)切换到效率更高的对称加密。
(3)引入中间人攻击防范
在了解完了对称加密和非对称加密之后,在让我们了解一下中间人攻击,其是指攻击者通过拦截和篡改客户端与服务器之间的通信来窃取或篡改数据,在没有有效加密的情况下,中间人攻击可以轻易地读取和修改传输的信息,造成严重的安全隐患。
【1】中间人攻击的工作原理
设服务器具有非对称加密算法的公钥S,私钥S'
设中间人具有非对称加密算法的公钥M,私钥M'
客户端向服务器发起请求,服务器明文传送公钥S给客户端
中间人劫持数据报文,提取公钥S并保存好,然后将被劫持报文中的公钥S替换成为自己的公钥M, 并将伪造报文发给客户端
客户端收到报文,提取公钥M(自己当然不知道公钥被更换过了),自己形成对称秘钥X,用公钥M加 密X,形成报文发送给服务器
中间人劫持后,直接用自己的私钥M'进行解密,得到通信秘钥X,再用曾经保存的服务端公钥S加 密后,将报文推送给服务器
服务器拿到报文,用自己的私钥S'解密,得到通信秘钥X
双方开始采用X进行对称加密,进行通信。但是一切都在中间人的掌握中,劫持数据,进行窃听甚 至修改,都是可以的
这样我们就了解了中间人攻击的流程了!!!(读者可以在纸上进行绘图理解)
【2】HTTPS如何防止中间人攻击
数字证书与公钥基础设施:HTTPS依赖于数字证书来验证服务器的身份,确保客户端与真正的服务器建立连接,服务器的公钥经过证书颁发机构(CA)的签名,客户端可以通过验证证书的有效性来避免与伪造的服务器连接。
完整性校验:SSL/TLS协议使用哈希函数和消息认证码(MAC)对数据进行完整性校验,确保数据在传输过程中没有被篡改,如果数据被篡改,接收方会发现数据的哈希值不匹配,从而中断连接。
通过这两个机制,HTTPS有效地防止了中间人攻击,确保了客户端与服务器之间的通信是安全的,不会被攻击者篡改或窃取。
(4)引入证书机制
数字证书是HTTPS通信中非常重要的安全机制,证书的主要作用是为服务器提供身份验证,并确保服务器的公钥可以安全地传递给客户端,从而为加密通信建立信任基础。
【1】证书的工作原理
证书的作用:在客户端与服务器建立连接之前,服务器会向客户端发送其数字证书,客户端通过验证证书的有效性和合法性,来确认与服务器的通信是否安全,证书由受信任的CA签发,CA的作用是对证书进行签名,确保证书的合法性。
验证证书:客户端收到证书后,会检查证书是否有效,证书是否过期,是否由受信任的CA签发,以及证书中的域名是否与服务器的域名匹配,如果证书合法,客户端会使用服务器的公钥进行加密操作,启动加密通信,如果不合法则终止通信。
【2】证书的组成部分
公钥:用于加密数据,是证书中最重要的部分,客户端通过公钥加密会话密钥,而服务器使用私钥解密。
证书主体:包含了证书所属组织、域名、有效期等信息,表明服务器的身份。
证书签名:由CA用私钥对证书进行签名,确保证书的合法性,如果证书被篡改,签名验证失败,客户端会拒绝建立连接。
3.HTTPS的工作原理
在了解了加密机制之后,在让我们看一下HTTPS的工作原理,HTTPS的工作原理涉及到对称加密、非对称加密和数字证书的使用,具体过程如下:
(1)客户端发起请求
用户在浏览器中输入HTTPS网址时,浏览器会向服务器发送请求,希望建立一个加密的连接,此时,客户端与服务器之间的通信使用的是HTTP协议,但由于URL以https://
开头,表明该连接将通过SSL/TLS进行加密。
(2)SSL/TLS握手过程
为了建立加密连接,客户端和服务器需要进行SSL/TLS握手,过程如下:
客户端发送请求:客户端向服务器发送一个“Hello”消息,告知服务器它支持的SSL/TLS版本、加密算法和随机数等信息。
服务器回应:服务器接收到客户端请求后,发送自己的SSL/TLS证书(包含公钥等信息)和加密算法选择。服务器的证书由受信任的证书颁发机构(CA)签发,用于证明服务器的身份。
证书验证:客户端验证服务器证书的有效性。如果证书有效且受信任(即证书由受信任的CA签发),客户端则接受服务器的公钥。如果证书无效,客户端会中断连接。
对称密钥生成:客户端使用服务器公钥加密一个对称密钥(称为预主密钥),并将其发送给服务器,服务器使用私钥解密预主密钥,双方计算出一个共享的对称密钥。
加密通信开始:在后续的数据交换中,客户端和服务器使用此共享的对称密钥加密和解密通信内容。
(3)加密通信
在数据传输过程中,HTTPS通过对称加密和非对称加密来保护数据:
非对称加密:用于在初始阶段交换对称密钥,在握手过程中,客户端和服务器通过非对称加密交换加密密钥,这种加密方式使用一对公钥和私钥,公钥用于加密,私钥用于解密。
对称加密:一旦双方拥有共享的对称密钥,后续的数据传输将使用对称加密算法进行加密。
通过上述的三个步骤,我们就大致的了解了HTTPS的工作流程了!!!
4.HTTPS的优点
那么最后,让我们看一下为什么我们现在都在使用HTTPS而不是HTTP了呢?HTTPS有哪些优点呢?
(1)数据加密: HTTPS通过加密传输数据,防止数据在传输过程中被窃取或篡改,确保机密性。
(2)身份验证: 使用数字证书验证服务器的身份,防止伪造服务器和中间人攻击,增强了通信的安全性。
(3)数据完整性: 由于使用了加密算法和哈希校验,HTTPS保证了数据在传输过程中的完整性,防止数据被篡改。
(4)提高用户信任: 现代浏览器通常会在地址栏显示绿色锁标志,告诉用户该网站使用了HTTPS协议,从而提高用户对网站的信任。
(5)SEO优势: 搜索引擎(如Google)将HTTPS作为排名因素之一,使用HTTPS的网站可能会在搜索结果中获得更好的排名。
以上就是本篇文章全部内容~~
标签:加密,对称,网络,密钥,HTTPS,服务器,原理,客户端 From: https://blog.csdn.net/2302_80198073/article/details/144755532