首页 > 其他分享 >HTTPS协议

HTTPS协议

时间:2022-10-13 11:57:38浏览次数:52  
标签:协议 公钥 加密 解密 SSL HTTPS 私钥

一、HTTPS协议概念

  • 超文本传输安全协议(Hypertext Transfer Protocol Secure,简称:HTTPS)是一种通过计算机网络进行安全通信的传输协议。HTTPS经由HTTP进行通信利用SSL/TLS来加密数据包。HTTPS的主要目的是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。HTTP协议采用明文传输信息,存在信息窃听、信息篡改和信息劫持的风险,而协议TLS/SSL具有身份验证、信息加密和完整性校验的功能,可以避免此类问题发生。安全层的主要职责就是对发起的HTTP请求的数据进行加密操作 和 对接收到的HTTP的内容进行解密操作。

二、HTTPS通信(握手)过程

  1. 客户端向服务器发起请求,请求中包含使用的协议版本号、生成的一个随机数、以及客户端支持的加密方法。
  2. 服务器端接收到请求后,确认双方使用的加密方法、并给出服务器的证书、以及一个服务器生成的随机数。
  3. 客户端确认服务器证书有效后,生成一个新的随机数,并使用数字证书中的公钥,加密这个随机数,然后发给服 务器。并且还会提供一个前面所有内容的 hash 的值,用来供服务器检验。
  4. 服务器使用自己的私钥,来解密客户端发送过来的随机数。并提供前面所有内容的 hash 值来供客户端检验。
  5. 客户端和服务器端根据约定的加密方法使用前面的三个随机数,生成对话秘钥,以后的对话过程都使用这个秘钥来加密信息。

三、HTTPS的优缺点

  • 优点
    • 使用HTTPS协议可以认证用户和服务器,确保数据发送到正确的客户端和服务器
    • 使用HTTPS协议可以进行加密传输、身份认证,通信更加安全,防止数据在传输过程中被窃取、修改,确保数据安全性
    • HTTPS是现行架构下最安全的解决方案,虽然不是绝对的安全,但是大幅增加了中间人攻击的成本
  • 缺点
    • HTTPS需要做服务器和客户端双方的加密个解密处理,耗费更多服务器资源,过程复杂
    • HTTPS协议握手阶段比较费时,增加页面的加载时间
    • SSL证书是收费的,功能越强大的证书费用越高
    • HTTPS连接服务器端资源占用高很多,支持访客稍多的网站需要投入更大的成本
    • SSL证书需要绑定IP,不能再同一个IP上绑定多个域名

四、HTTPS如何保证安全

  • 结合两种加密⽅式,将对称加密的密钥使⽤⾮对称加密的公钥进⾏加密,然后发送出去,接收⽅使⽤私钥进⾏解密得到对称加密的密钥,然后双⽅可以使⽤对称加密来进⾏沟通。 此时⼜带来⼀个问题,中间⼈问题:如果此时在客户端和服务器之间存在⼀个中间⼈,这个中间⼈只需要把原本双⽅通信互发的公钥,换成⾃⼰的公钥,这样中间⼈就可以轻松解密通信双⽅所发送的所有数据。 所以这个时候需要⼀个安全的第三⽅颁发证书(CA),证明身份的身份,防⽌被中间⼈攻击。 证书中包括:签发者、证书⽤途、使⽤者公钥、使⽤者私钥、使⽤者的HASH算法、证书到期时间等。但是问题来了,如果中间⼈篡改了证书,那么身份证明是不是就⽆效了?这个证明就⽩买了,这个时候需要⼀个新的技术,数字签名。 数字签名就是⽤CA⾃带的HASH算法对证书的内容进⾏HASH得到⼀个摘要,再⽤CA的私钥加密,最终组成数字签名。当别⼈把他的证书发过来的时候,我再⽤同样的Hash算法,再次⽣成消息摘要,然后⽤CA的公钥对数字签名解密,得到CA创建的消息摘要,两者⼀⽐,就知道中间有没有被⼈篡改了。这个时候就能最⼤程度保证通信的安全了。

  • 对称加密

    • 即通信的双⽅都使⽤同⼀个秘钥进⾏加解密,对称加密虽然很简单性能也好,但是⽆法解决⾸次把秘钥发给对⽅的问题,很容易被⿊客拦截秘钥。
  • 非对称加密

    ⾮对称加密虽然安全性更⾼,但是带来的问题就是速度很慢,影响性能。

    • 私钥 + 公钥= 密钥对
    • 即⽤私钥加密的数据,只有对应的公钥才能解密,⽤公钥加密的数据,只有对应的私钥才能解密
    • 因为通信双⽅的⼿⾥都有⼀套⾃⼰的密钥对,通信之前双⽅会先把⾃⼰的公钥都先发给对⽅
    • 然后对⽅再拿着这个公钥来加密数据响应给对⽅,等到到了对⽅那⾥,对⽅再⽤⾃⼰的私钥进⾏解密

五、TLS/SSL的工作原理

  • TLS/SSL概述

    • 即安全传输层协议

    • TLS/SSL的工作方式就是客户端使用非对称加密与服务器进行通信,实现身份的验证并协商对称加密使用的秘钥。对称加密算法采用协商秘钥对信息以及信息摘要进行加密通信,不同节点之间采用的对称秘钥不同,从而保证信息只能通信双方获取。

    • TLS/SSL全称安全传输层协议(Transport Layer Security), 是介于TCP和HTTP之间的一层安全协议,不影响原有的TCP协议和HTTP协议,所以使用HTTPS基本上不需要对HTTP页面进行太多的改造。TLS/SSL的功能实现主要依赖三类基本算法。

  • TLS/SSL功能实现

    • 散列函数hash:基于散列函数验证信息的完整性
    • 对称加密:对称加密算法采用协商的秘钥对数据加密
    • 非对称加密:非对称加密实现身份认证和秘钥协商

六、数字证书

  • 数字证书产生的原因
    • 现在的方法也不一定是安全的,因为没有办法确定得到的公钥就一定是安全的公钥。可能存在一个中间人,截取了对方发给我们的公钥,然后将他自己的公钥发送给我们,当我们使用他的公钥加密后发送的信息,就可以被他用自己的私钥解密。然后他伪装成我们以同样的方法向对方发送信息,这样我们的信息就被窃取了,然而自己还不知道。为了解决这样的问题,可以使用数字证书。
  • 数字证书概念及工作原理
    • 首先使用一种 Hash 算法来对公钥和其他信息进行加密,生成一个信息摘要,然后让有公信力的认证中心(简称 CA )用它的私钥对消息摘要加密,形成签名。最后将原始的信息和签名合在一起,称为数字证书。当接收方收到数字证书的时候,先根据原始信息使用同样的 Hash 算法生成一个摘要,然后使用公证加工的公钥来对数字证书中的摘要进行解密,最后将解密的摘要和生成的摘要进行对比,就能发现得到的信息是否被更改了。这个方法最要的是认证中心的可靠性,一般浏览器里会内置一些顶层的认证中心的证书,相当于我们自动信任了他们,只有这样才能保证数据的安全。要进行对比,就能发现得到的信息是否被更改了。

标签:协议,公钥,加密,解密,SSL,HTTPS,私钥
From: https://www.cnblogs.com/P1Kaj1uu/p/16787689.html

相关文章

  • 【RL-TCPnet网络教程】第4章 RL-TCPnet网络协议栈简介
    第4章       RL-TCPnet网络协议栈简介本章节介绍RL-TCPnet网络协议栈,让大家对RL-TCPnet有一个整体的了解,RL-TCPnet是一款小型网络协议栈,适用于ARM内核和Cortex-......
  • 【RL-TCPnet网络教程】第2章 嵌入式网络协议栈基础知识
    第2章       嵌入式网络协议栈基础知识本章教程为大家介绍嵌入式网络协议栈基础知识,本章先让大家有一个全面的认识,后面章节中会为大家逐一讲解用到的协议。基础知识......
  • 【STM32F407】第7章 RL-TCPnet V7.X网络协议栈移植(RTX5)
    ​​​​第7章  RL-TCPnet网络协议栈移植(RTX5)本章教程为大家讲解RL-TCPnet网络协议栈的RTX5版本移植方式。7.1初学者重要提示7.2移植RL-TCPnet协议栈整体说明(必读)7.3......
  • HTTPS涉及的加密算法讲解
    前言从2015年左右开始,Google、Baidu、Facebook等互联网巨头,不谋而合地开始大力推行HTTPS,国内外的大型互联网公司很多也都已经启用了全站HTTPS为鼓励全球网站的HTTPS......
  • H.265流媒体播放器EasyPlayer切换播放协议时,快照无法消失如何处理?
    EasyPlayer属于灵活性强、开放度高、可靠且稳定的H.265流媒体播放器,可支持多类型的视频流格式播放,包括RTSP、RTMP、HLS、FLV、WebRTC等,还可支持H.264/H.265视频播放。并且,......
  • H.265流媒体播放器EasyPlayer切换播放协议时,快照无法消失如何处理?
    EasyPlayer属于灵活性强、开放度高、可靠且稳定的H.265流媒体播放器,可支持多类型的视频流格式播放,包括RTSP、RTMP、HLS、FLV、WebRTC等,还可支持H.264/H.265视频播放。并且,为......
  • CSMA协议
    介质访问控制CSMA协议1-坚持CSMA非坚持CSMAp-坚持CSMA三种CSMA对比总结......
  • ModBus协议
    Modbus通信协议具有多个变种,支持串口(主要是RS-485总线),以太网多个版本,其中最著名的是ModbusRTU,ModbusASCII和ModbusTCP三种。串口通信的Modbus=ModbusRTU在工业现......
  • 通信协议——IIC详解
    I2C协议物理层原理总体特征电气限制协议层起始和停止条件数据有效性响应/应答寻址读数据写数据单片机通讯软件模拟硬件外设(一)物理层1.原理......
  • 通信协议——CAN
    CAN总线协议要了解报文数据帧的直接看第三点1.CAN简介CAN(controllerareanetwork)控制器局域网是用于解决汽车众多控制部件之间的数据交换而开发的一种串行数据通信......