首页 > 其他分享 >HTTPS协议

HTTPS协议

时间:2024-03-30 13:00:14浏览次数:23  
标签:协议 公钥 加密 证书 校验 密钥 HTTPS 客户端

目录

1.HTTPS是什么?

2.加密和解密

3.HTTPS的工作过程

3.1对称加密

3.2非对称加密

3.3引入证书

4.总结

1.HTTPS是什么?

HTTPS也是一个应用层协议,是在HTTP协议的基础上引入了一个加密层,由于HTTP协议内容都是按照文本的方式明文传输的,所以就导致了在传输的过程中会出现一些被篡改的情况。

例如"运营商劫持"

我们通过网络传输的任何数据包都会经过运营商的网络设备(路由器,交换机等),运营商的网络设备就可以解析出我们传输的数据内容并进行篡改。

当我们点击下载天天动听这个软件时,其实就是再给服务器发送一个HTTP请求,获取到的HTTP响应就包含了该APP的下载链接,当运营商劫持之后就会发现这个请求是要下载天天动听,那么就自动把交给用户的响应篡改成了QQ浏览器的下载地址了。

不止是运营商可以劫持,其他黑客也可以用类似的手段进行劫持,来窃取用户的隐私信息或者篡改内容,所以在互联网上,明文传输是比较危险的事情。因此HTTPS就是在HTTP的基础上进行加密,进一步确保用户的信息安全。

2.加密和解密

加密就是把明文(要传输的信息)进行一系列变换,生成密文

解密就是把密文在进行一系列的变换,还原成明文

在这个加密和解密的过程中,往往需要一个或者多个中间的数据辅助进行这个过程,这样的数据称为密钥

3.HTTPS的工作过程

要想保证数据安全,就需要进行"加密",加密之后,在网络传输中不再直接传输明文了,而是加密之后的"密文"。加密的方式分为两大类:对称加密非对称加密

3.1对称加密

对称加密其实就是通过同一个 "密钥" , 把明文加密成密文, 并且也能把密文解密成明文。(明文+密钥->密文)(密文+密钥->明文)

在引入对称加密之后,即使数据被截获,由于黑客不知道密钥是什么,所以就无法解密,因此就不会知道真是的内容了。

由于服务器在同一时刻其实是给很多客户端提供服务,因此每个客户端的密钥都必须是不同的,所以服务器就需要维护每个客户端和每个密钥之间的关联关系。这是非常麻烦的,比较理想的做法就是在客户端和服务器建立连接的时候,就确定好密钥,然后客户端再把自己的密钥通过网络传输给服务器。

这种方式看起来挺美好的,但是如果密钥被黑客截获了,那不就完了吗。

通过上述就可以知道,密钥在传输中也必须进行加密传输,就需要先协商确定一个"密钥的密钥",因此就需要引入非对称加密

3.2非对称加密

非对称加密就需要用到两个密钥,一个"公钥",一个"私钥"。公钥和私钥是配对的。

通过公钥对明文进行加密,变成密文。通过私钥对密文进行解密,变成明文。

也可以反过来,通过私钥对明文进行加密,变成密文。通过公钥对密文进行解密,变成明文。

 

由于对称加密比非对称加密效率高很多,运行成本低,速度快,因此只是对传输密钥这种关键环节使用非对称加密,对后续传输大量的业务数据都是用效率更高的对称加密。如果业务数据都使用非对称加密,整体的传输效率就会变得很低。

理想很美好,现实很残酷。

上述还存在问题:1)客户端如何获取到公钥?2)客户端如何确定这个公钥不是黑客伪造的?

如果发生下面情况呢?

之所以发生上述的问题,关键要点是因为客户端没有"分辨能力",客户端自己不知道当前这个公钥是不是黑客伪造的。所以要想解决上述问题,就需要引入第三方的可以被大家都信任的"公正机构"

3.3引入证书

在客户端和服务器刚建立连接的时候,服务器给客户端返回一个证书。这个证书包含了刚才的公钥,也包含了网站的身份信息。

这个证书就好比人的身份证, 作为这个网站的身份标识. 搭建一个 HTTPS 网站要在CA机构先申请一个证书(类似于去公安局办个身份证)

这个证书可以理解程是一个结构化的数据,里面包含了以下信息:

1)证书发布机构

2)证书有效期

3)公钥

4)证书所有者

5)数字签名

当客户端获取这个证书之后,会对证书进行校验,以防止证书是伪造的。

1.上述过程中,客户端拿到证书后,就需要对证书进行校验,这个过程就称为"证书校验",校验的核心机制就是"数字签名",这个数字签名本质上就是被加密的校验和。 如何进行校验,可以参考http://t.csdnimg.cn/K0wUF这篇博客。

那这个数字签名从哪来呢?

在颁布证书的时候,公正机构就会针对证书的各个属性计算出一个校验和,并对这个校验和进行加密,然后就得到了数字签名(公证机构就会使用自己的私钥对校验和进行加密,得到数字签名)。其中这个加密就是"非对称加密",公正机构会自己生成一对公钥和私钥,公正机构自己持有私钥,公钥就会发布给各个客户端设备(往往公钥都是内置到系统中的,安装了操作系统就会自带公正机构的公钥)。

2.此时客户端拿到了数字签名,就可以通过系统内置的公正机构的公钥进行解密了,然后得到最初的校验和。

3.客户端重新计算这里的校验和,和解密出来的校验和进行对比,如果校验和一致,就认为证书没有被篡改过,此时就认为公钥是可信的。

在上述机制下,黑客就无法对证书的内容进行篡改了,即使篡改了也很容易发现。

如果黑客收到证书后,直接修改里面的公钥,客户端在进行"证书校验"的时候就会发现校验和不一致,客户端就可以认为是被篡改过了。

那么黑客替换公钥后,能否自己替换掉数字签名,自己重新算一个呢?

答案是不能的,因为校验和好算,但是针对校验和加密需要使用公正机构的私钥才能进行。黑客自己没有这个私钥,如果黑客拿自己的私钥进行加密,客户端也就无法使用公正机构的公钥进行解密了,公正机构的公钥是客户端系统自带的,黑客无法替换。

黑客自己能否申请一个证书并完全替换掉服务器的证书呢?

这是不能的,因为申请证书,需要提交材料,其中就有网站的主域名,认证机构自然就会认证这个域名是否是你所拥有的。

综上所述,证书是可信的,通过了验证就说明公钥是服务器原始的公钥。

4.总结

HTTPS加密:

1)使用对称加密,加密业务数据

2)使用非对称加密,加密对称密钥

3)中间人攻击

4)使用证书,校验服务器的公钥

标签:协议,公钥,加密,证书,校验,密钥,HTTPS,客户端
From: https://blog.csdn.net/2302_82270778/article/details/137123197

相关文章

  • openGauss 基于Paxos协议的高可用
    基于Paxos协议的高可用可获得性本特性自openGauss2.1.0版本开始引入。特性简介DCF模式开关开启后,数据库节点可以支持基于Paxos协议的复制与仲裁能力。数据库节点基于Paxos的自选主及日志复制,复制过程中支持压缩及流控,防止带宽占用过高。提供基于Paxos多种角色的节点类型,并能......
  • 3-zookeeper之ZAB协议
    ZookeeperZAB协议概述ZAB(ZookeeperAutomicBroadcast)是一套专门为Zookeeper设计的用于进行原子广播和崩溃恢复的协议ZAB协议主要包含了两个功能原子广播:保证数据一致性崩溃恢复:保证集群的高可用ZAB协议本身是基于2PC算法来进行的设计,加入了PAXOS算法和过半性进行......
  • https加密过程
    1.对称加密与非对称加密在介绍https加密过程前,需要先简单了解下其中用到的加密算法。对称加密算法:用该密钥加密的数据,可以再用该密钥解密。性能高,速度快。常见的对称加密算法有DES,AES。非对称加密算法:生成一对密钥对,分别称为公钥、私钥。用公钥加密的数据只能由私钥解密。用私......
  • nbtstat /?命令参数 显示使用NBT(NetBIOS over TCP/IP)的协议统计信息和当前TCP/IP连接
    NBTSTAT(NetBIOSoverTCP/IPStatistics)是一个用于显示和更新NetBIOS名称缓存、NetBIOS名称表和NetBIOS会话表的Windows命令行实用程序。它允许用户查看当前网络上的NetBIOS名称信息,以便诊断网络连接问题和执行基本的网络故障排除。NetBIOS是一种用于在局域网中进行通信的协议,它......
  • Webbrowser打开https网页提示证书错误
    vb.net开发了一个捕快网文采集器 txt文本使用了IE控件Webbrowser在访问https网页时,有些网页出现了证书错误的提示,无法访问,而且没有"继续"的选项试了一下强制默认证书认证全部为<真>的代码有效.ImportsSystem.Security.Cryptography.X509Certificates......
  • https怎么免费申请
    在互联网技术高速发展的今天,越来越多的用户和企业开始关注网络安全问题,尤其是网站的安全。HTTPS(安全超文本传输协议)作为一种安全的网站传输协议,已经成为了互联网行业的标配。然而,对于很多个人和中小企业来说,如何申请免费的HTTPS证书仍然是一个难题。本文将为大家详细介绍如何......
  • 【计算机网络】http协议的原理与应用,https是如何保证安全传输的
    ✨✨欢迎大家来到景天科技苑✨✨......
  • HTTP协议
    HTTP协议简介HTTP协议全称是超文本传输协议,通讯双方是客户端和服务端由于简洁方便,在手机与服务器、服务器与服务器、浏览器与服务器的通讯中都广泛使用,是通讯的首选协议之一。最广泛使用的是HTTP/1.1版本HTTP3以前版本(除了HTTP3),都是基于TCP协议的,所以要......
  • TCP/IP:互联网通信的核心协议
    引言在当今数字化时代,互联网已经成为人类社会不可或缺的一部分,而TCP/IP协议则是支撑互联网运作的关键。无论是发送电子邮件、浏览网页,还是进行视频通话,TCP/IP协议都在背后默默地发挥着作用。本文将引领读者深入了解TCP/IP协议的核心概念,从其起源、结构到应用,全方位解析这一......
  • Modbus通讯协议中的四种字节顺序
    国内设备基本上是ABCD顺序,国外设备基本上是BADC顺序。低位优先字节交换。使用两个寄存器。使用IEEE754规范,如显示不正常可进行字节顺序交换位置即可。如下:FloatBig-endian字节顺序:ABCDFloatLittle-endian字节顺序:DCBAFloatBig-endianbyteswap......