HTTPS

简介: HTTPS

一:HTTPS含义

https:对于http的超文本传输协议的一层加密.


二:"加密"是什么?

2.1:明文:真正要传输的数据.

2.2:密文:对真正要传输的数据进行加密.

2.3:密钥:对密文进行解密,解密成明文.

2.4:加密和解密

  在解密和加密的过程中.明文+密钥===>密文,密文+密钥===>明文,在解密和加密过程中,会生成一对密钥,分别为"公钥"和"私钥",可以用公钥来进行加密,私钥来进行解密,两个密钥反过来也可以。


三:HTTPS的工作过程

3.1https的工作流程:

 最简单的保证安全的做法,引入对称密钥,针对传输的数据(http 的header 和 body)进行加密.

每个客户端,都需要一把自己的对称密钥(不同的客户端密钥也要不同),如果客户端生成了一个密钥,那么,密钥就需要传递给服务器,让服务器根据传进来的密文利用密钥进行解密)

 如果客户端给服务器传递密钥的过程中,被黑客截获了,黑客就会根据密文和密钥进行解密,存在一定的风险.那么,怎么进行安全的传输? ===>对对称密钥进行加密===>还是不行!!!===>使用非对称加密对对称密钥进行加密!!!

服务器生成一对公钥和私钥,私钥给服务器自己留着,公钥会发给客户端.此时,客户端就会利用公钥对对称密钥进行加密!!!使用公钥加密,使用私钥进行解密.非对称加密针对对称密钥进行加密.后续数据的加密还是使用对称加密.

3.2中间人攻击:

根据3.1的https的工作流程,仍存在一个严重的问题,黑客可以根据中间人根据来获取对称密钥.

a):服务器生成非对称密钥,公钥:pub1  私钥:pri1

b):服务器本来要将从pub1传递给客户端,被黑客截获了.

c):此时,黑客便根据截获的pub1,生成新的公钥 pub2 和 私钥 pri2

d):黑客将公钥pub2传递给客户端

e):客户端便根据传进来的公钥pub2对对称密钥(888888)进行进一步加密.

f):客户端便将非对称密钥和对称密钥一起传递给黑客,黑客便利用私钥pri2进行解密,得到对称密钥.

g):黑客便使用从服务器之前传过来的pub1和从客户端传进来的密文进行加密,传递给服务器

h):服务器便利用自身的私钥pri1进行解密

整个过程中,服务器和客户端不知道有中间人的存在.

3.3解决中间人攻击 :

解决中间人攻击的关键,需要让客户端能够确认当前收到的公钥,确认是服务器的,而不是中间人的.====>引入了证书机制===>通过第三方机构作保,来判断是不是当前的公钥是不是来自于服务器的.

3.3.1证书验证阶段

     1.浏览器发起Https请求,(浏览器会内置第三方CA的公钥);

     2.服务器端返回Https证书(包含公钥),使用第三方CA的私钥加密公钥、以及机构信息、域名等,然后返回CA证书

     3.客户端验证证书是否合法,可以对证书内容解密,然后通过证书中的域名、机构等信息验证证书是否合法,如果不合法则提示告警.

3.3.2数据传输阶段

    4.当证书验证合法后,在客户端本地生成随机数;

    5.通过公钥加密随机数,并将其传输到服务端;

    6.服务端通过私钥对接收到的加密随机数进行解密操作;

    7.服务端通过客户端传入的随机数构造对称加密算法,对返回结果内容进行加密操作

          后再 进行内容传输。

3.3.3为什么数据传输是用对称加密?

      首先,非对称加密的加密效率低的,而http的应用场景通常存在着端与端之间的

                大量数据交互,从效率来说是无法接受的;

       其次,在Https场景中只有服务端保存了私钥,而一对公私钥只能实现单向的加解密(即   服务端无法使用私钥对传回浏览器客户端的数据进行加密,只能用于解密),所以         Https中内容传输加密采取的是对称加密,(此处随机数则是对称加密的介体,

  即客户端和服务器端所拥有的随机数都是一致的,能够进行双向加解密)

3.3.4浏览器如何确保CA证书的合法性

   1.证书包含的主要信息:

           颁发机构信息,公钥,公司信息,域名,有效期,指纹,等等

  2.证书的合法性依据

        首先,权威机构是需要通过认证的。其次证书的可信性基于信任制,CA认证

          机构需要  对其颁发的证书进行信用担保,只要是CA认证机构颁发的证书,

          我们就认为是合法的。CA认证机构会对证书申请人的信息进行审核的。

相关文章
|
存储 JSON NoSQL
ETCD教程-4.深入ETCD
目前etcd主要经历了3个大的版本,分别为etcd 0.4版本、etcd 2.0版本和etcd 3.0版本。
1160 0
ETCD教程-4.深入ETCD
|
达摩院 Java 大数据
达摩院FunASR实时语音转写服务软件包发布
达摩院FunASR实时语音转写服务软件包发布
2036 0
达摩院FunASR实时语音转写服务软件包发布
|
监控 前端开发 API
实战指南:使用Python Flask与WebSocket实现高效的前后端分离实时系统
【7月更文挑战第18天】构建实时Web应用,如聊天室,可借助Python的Flask和WebSocket。安装Flask及Flask-SocketIO库,创建Flask应用,处理WebSocket事件。前端模板通过Socket.IO库连接服务器,发送和接收消息。运行应用,实现实时通信。此示例展现了Flask结合WebSocket实现前后端实时交互的能力。
1544 3
|
10月前
|
运维 自然语言处理 算法
云栖实录 | 大模型在大数据智能运维的应用实践
云栖实录 | 大模型在大数据智能运维的应用实践
1161 3
|
监控 Linux API
在Docker中,docker run指令执行后,生成了哪些进程?
在Docker中,docker run指令执行后,生成了哪些进程?
|
负载均衡 安全 网络协议
DDOS攻击与防护
DDoS攻击通过大量合法请求占用目标服务器资源,导致正常用户无法访问。常见类型包括洪水攻击(如SYN Flood和UDP Flood)和放大攻击。其危害包括服务中断、经济损失及数据泄露。防护措施涵盖网络层面(流量清洗、带宽扩容、负载均衡)、系统层面(优化配置、安装防护软件、更新补丁)和应用层面(验证码、限速策略、动态IP封禁)。
2232 1
|
人工智能 数据管理 API
精铸智刃·“百炼”成钢——深度探索阿里云百炼大模型开发平台
阿里云百炼平台是一个一站式的大型语言模型开发和应用平台,旨在帮助企业与开发者高效构建和部署定制化的大模型。平台集成了通义大模型、行业模型和第三方模型,提供模型微调、模型调优、模型部署、模型评测等工具链。用户可以轻松创建和管理模型,通过模型广场选择合适的模型,进行模型体验和调优,然后部署模型以供应用调用。
74981 14
精铸智刃·“百炼”成钢——深度探索阿里云百炼大模型开发平台
|
存储 缓存 NoSQL
深入解析Memcached:内部机制、存储结构及在大数据中的应用
深入解析Memcached:内部机制、存储结构及在大数据中的应用
|
Java 测试技术 语音技术
开源上新|FunASR英文离线文件转写软件包发布
开源上新|FunASR英文离线文件转写软件包发布
|
机器学习/深度学习 存储 自然语言处理
FunASR
【6月更文挑战第14天】
2265 4

热门文章

最新文章