HTTPS协议详解

HTTPS协议概述

       1、 HTTPS协议==HTTP协议+SSL/TLS协议,在HTTPS数据传输的过程中,需要用SSL/TLS对数据进行加密和解密,需要用HTTP对加密后的数据进行传输,由此可见,HTTPS协议是由HTTP和SSL/TLS协议一起合作完成的。至于二者之间的区别,HTTP协议有点类似于“裸奔”,他们数据传输是通过明文的形式做传输,即使约定了加密方式,但是第一次传输的时候还是明文;鉴于此,HTTPS使用的是非对称加密,为秘钥的传输外层再做一层保护,非对称加密的一组秘钥对中,包含一个公钥和一个私钥。明文既可以用公钥加密,用私钥解密;也可以用私钥加密,用公钥解密。

        2、SSL协议:网络安全协议(安全套接层)

            1)SSL协议是在传输通信协议上实现的一种安全协议,采用公开秘钥技术,广泛支持各种类型的网络,同时提供三种基本的安全服务:

                 i、认证用户和服务器,确保数据发送到正确的客户机和服务器;

                 ii、加密数据以防止数据中途被窃取;

                 iii、维护数据的完整性,确保数据在传输过程中不被篡改;

             2)SSL协议的优势在于它与应用层协议独立无关,高层的应用层协议能透明的建立于SSL协议之上,SSL协议在应用层协议通信之前就已经完成加密算法,通信秘钥协商以及服务器的认证工作;在此之后应用层协议所传送的数据都会被加密,从而保证通信的私密性和完整性。

HTTPS通信工程

        1、客户端给服务端发送第一个http协议请求,进行三步操作

                1)客户端向服务端发送请求获取身份认证(非对称加密公钥;

                2)客户端向服务端发送一个比如a = 1的常量;

                3)客户端向服务端发送客户端支持的加密算法的列表,服务端中意哪个算法,确定后返回给客户端。

        2、服务端接收到客户端的请求后,进行三步操作:

                1)服务端采取一种非对称的加密算法,如:RSA算法生成公钥跟私钥对;

                2)对公钥通过CA认证机构颁发的证书进行签名,(相当于数字签名);

                3)给客户端返回四类数据:将经过签名的公钥返回给客户端、给客户端返回一个如 b = 3 的常量、返回一个计算公式、从客户端发送过来的包含加密算法的列表中确定一个加密算法如:MD5算法 返回给客户端。

        3、客户端接收到服务端返回的四类数据后,进行六步操作:

                1)获取到服务端返回的经过证书签名后的公钥后,通过CA认证机构校验本次访问的服务端的真伪,如果没问题,则服务端就是真的;

                2)客户端生成一个随机字符串如:kfdn,结合服务端返回的 func = a + b + ‘kfdn’ 这个计算公式生成一个协议秘钥 比如:sss;

                3)对刚生成的协议秘钥 sss 通过服务端发送过来的公钥加密成密文如:xxx;

                4)对请求数据 ddd 通过刚生成的协议秘钥进行 对称加密 成密文如:kkk;

                5)对 (xxx + kkk)通过服务端返回的加密算法 MD5,进行加密即:MD5(xxx + kkk) = ooo;

                6)给服务端发送第二个http协议请求

        4、服务端接收到客户端发送过来的三类数据后,进行三步操作:

                1)通过MD5算法对 (xxx + kkk) 加密 看是否等于 ooo,等于则可证明数据未被篡改;

                2)通过RSA算法生成的公私钥对中的私钥 对客户端发送过来的经过公钥加密后的协议秘钥进行解密

                3)通过得到的协议秘钥 sss 对密文数据 kkk 进行解密为 ddd 。

图解:

        

 

 

  • 15
    点赞
  • 82
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
TCP/IP协议是一种网络通信协议,它是由多个协议组成的协议族,用于实现互联网的数据传输。TCP/IP协议栈是指将数据按照协议进行封装和解开的过程,其中包含了四个层次的通信协议。这些层次分别是网络接口层、网络层、传输层和应用层。在平时的物联网项目开发中,常用的协议有TCP协议和UDP协议,以及一些应用层协议HTTP、DHCP、DNS、FTP、SMTP和NTP协议。此外,测试网络可以用于分析一些常见的协议,如ARP协议、IP协议、ICMP协议、TCP协议和DNS协议,通过抓取网络数据包的头部信息,可以获取网络通信的细节。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [TCP/IP 协议详解](https://blog.csdn.net/PitBXu/article/details/88822361)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [一文详解 TCP/IP 协议](https://blog.csdn.net/m0_37697335/article/details/115221360)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [tcp/ip协议详解](https://blog.csdn.net/weixin_50539337/article/details/121365312)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值