首页 > 其他分享 >HTTPS协议

HTTPS协议

时间:2024-11-09 09:51:26浏览次数:6  
标签:协议 加密 证书 数字签名 CA 解密 密钥 HTTPS

HTTPS

一、介绍

  • HTTPS(Hypertext Transfer Protocol Secure)即超文本传输安全协议,是一种通过计算机网络进行安全通信的传输协议。主要功能是提供对网站服务器的身份认证,保护交换数据的隐私和完整性。
  • HTTPS基于HTTP协议(超文本传输协议)的扩展,它结合了HTTP协议和SSL/TLS(安全套接层/安全传输层协议)加密技术,以确保数据在传输过程中的安全性和完整性。

二、HTTP中间人攻击

1、介绍

  • HTTP中间人攻击(Man-in-the-Middle Attack,简称MITM攻击)是一种常见的网络安全威胁。因为http的内容是明⽂传输的,明⽂数据会经过路由器、wifi热点、通信服务运营商、代理服务器等多个物理节点,如果信息在传输过程中被劫持,传输的内容就会完全暴露。
  • HTTP中间人攻击是指攻击者将自己插入到客户端和服务器之间的通信过程中,通过截获、篡改或伪造通信数据,对双方进行欺骗或窃取敏感信息的攻击方式。攻击者通常会伪装成通信的一方,与客户端和服务器建立连接,从而实现对通信过程的控制。

2、下载示例

在这里插入图片描述

  • 在客户端与对应服务器的通信过程中,由于中间人的介入。在本例中,客服端获取下载链接的请求就会被中间人进行篡改,而最后客户端获取的下载链接不会是最初请求的链接。

三、相关概念

1、密钥

  • 密钥是一种特定的、用于数据加密和解密的参数或数据。它通常是一串字符或数字,用于在加密算法的作用下对明文进行加密,或在解密算法的作用下将密文还原为明文。

2、加密

  • 加密是将明文(要传输的信息)通过加密算法和密钥进行变换,生成密文的过程。
  • 加密的目的是确保数据在传输过程中的机密性和完整性,防止数据被窃听、篡改或冒充。

3、解密

  • 解密是将密文通过解密算法和密钥进行变换,还原成明文的过程。
  • 解密是加密的逆过程,只有拥有正确密钥的接收方才能将密文还原成明文。

4、数据摘要

(1)介绍

  • 数据摘要是通过特定的算法或技术,从原始数据集中提取出关键信息或特征,以简短的形式呈现出来。其目的在于简化数据,使用户能够快速了解数据集的主要内容和结构,从而更有效地进行数据分析、决策或进一步处理。
  • 数据摘要通常采用单向Hash函数等方式,将需要处理的明文摘要成一串固定长度的密文。

(2)特点

  • 固定长度:无论原始数据的长度如何,数据摘要都会生成固定长度的输出。
  • 唯一性:不同的明文摘要成密文,其结果总是不同的,而同样的明文其摘要必定一致。
  • 不可逆性:从数据摘要中无法恢复出原始数据。

5、数字签名

(1)介绍

  • 数字签名(digital signature),又称公钥数字签名,是一种只有信息的发送者才能产生的、别人无法伪造的一段数字串。它是一种类似写在纸上的普通的物理签名,但它是使用了公钥加密领域的技术来实现的,用于鉴别数字信息的方法。它采用了双重加密的方法来实现防伪、防抵赖。
  • 其原理为:被发送文件首先用SHA编码加密,产生128bit的数字摘要;然后发送方用自己的私用密钥对摘要再加密,形成数字签名;最后将原文和加密的摘要同时传给对方。对方用发送方的公共密钥对摘要解密,同时对收到的文件用SHA编码加密,产生摘要;将解密后的摘要和收到的文件在接收方重新加密产生的摘要相互对比,如果两者一致,则说明传送过程中信息没有被破坏或篡改过。

(2)实现步骤

  • 发送者生成签名:发送者使用自己的私钥对消息进行加密,生成数字签名。
  • 发送签名与消息:将数字签名与消息一起发送给接收者。
  • 接收者验证签名:接收者使用发送者的公钥对数字签名进行解密,并验证数字签名的有效性。如果数字签名有效,则说明消息是由发送者发送的,且在传输过程中没有被篡改。

(3)示意图

在这里插入图片描述

四、对称加密

1、介绍

  • 对称加密,也称为单密钥加密或密钥加密,是一种采用单钥密码系统的加密方法。
  • 对称加密是指加密和解密使用相同密钥的加密算法。在加密过程中,发送方使用密钥将明文(原始数据)转换为密文,接收方则使用相同的密钥将密文还原为明文。这种加密方式确保了数据在传输过程中的安全性,因为只有拥有密钥的双方才能对数据进行加密和解密。

2、特点

  • 高效性:对称加密算法通常具有较高的加密和解密速度,适用于处理大量数据。
  • 易用性:由于加密和解密使用相同的密钥,因此管理和使用相对简单。
  • 保密度高:只要密钥保持安全,对称加密可以提供较高的数据保密性。

3、缺点

  • 密钥管理困难:在多个用户或设备之间共享密钥时,密钥的管理和分发会变得复杂且容易出错。如果密钥被泄露或丢失,则整个加密系统的安全性将受到威胁。
  • 不适合数字签名和身份验证:虽然对称加密可以用于加密数据,但它不适合用于数字签名和身份验证等需要验证数据完整性和来源可靠性的场景。在这些场景中,通常需要使用非对称加密(如公钥加密)来实现。

五、非对称加密

1、介绍

  • 非对称加密,又称为公钥加密,是一种先进的加密技术,它使用了一对密钥来进行加密和解密操作。
  • 非对称加密技术基于一对密钥,即公钥和私钥。其中,公钥是公开的,任何人都可以获得并使用它来加密数据;而私钥是保密的,只有数据的接收者才能获得,用来解密数据。
  • 非对称加密的原理基于数学上的难解问题,如大素数的乘积分解等。这意味着即使知道了公钥,想要通过公钥来计算出私钥也是非常困难的,因为需要对大数进行因式分解,这是一个非常耗时的过程。

2、优点

  • 安全性高:由于非对称加密基于复杂的数学难解问题,因此其安全性较高,难以被破解。
  • 密钥管理方便:在公钥加密体系中,公钥可以公开,而私钥只需由接收者妥善保管。这降低了密钥管理的复杂性。
  • 支持数字签名:非对称加密可以用于创建数字签名,以确保文件或消息的完整性和来源的真实性。

3、缺点

  • 加密和解密速度慢:相对于对称加密,非对称加密的加密和解密速度较慢,不适合对大量数据进行加密。
  • 资源消耗大:非对称加密需要消耗较多的计算资源,因此在某些应用场景下可能不够高效。

六、CA证书

1、介绍

  • CA证书是由受信任的第三方机构(即认证中心,Certificate Authority,简称CA)颁发的,用于证明持有者的身份和公钥的合法性的电子文件,用于在互联网通讯中标识通讯各方身份信息的一串数字,确保在网络环境中的通信安全。

2、功能

  • 身份验证:在网络通信中,CA证书用于确认通信双方的身份,确保信息是由声称的发送者发送的,防止中间人攻击和其他身份伪装行为。
  • 数据加密:CA证书通过使用公钥和私钥对数据进行加密和解密,保护信息在传输过程中不被未授权访问。
  • 数字签名:CA证书利用数字签名技术来验证信息的完整性和来源的真实性,确保信息在传输过程中未被篡改。数字签名是通过使用私钥对证书内容进行加密产生的,然后可以使用相应的公钥进行解密验证。
  • 信任建立:CA证书作为受信任的第三方机构,为网络中的实体提供认证服务,帮助建立相互之间的信任关系。

3、CA认证

  • 核验过程:在颁发CA证书之前,CA会对申请者进行身份核验,确保其合法性和真实性。通常,会要求申请者提供相关的身份证明文件,并通过人工审核进行验证。
  • 颁发证书:身份验证通过后,CA会为申请者生成一对公钥和私钥,并将公钥嵌入到证书中。证书中还包括证书持有者的信息、有效期限、CA的签名等。最后,CA使用私钥对证书进行签名,确保证书的真实性。
  • 证书验证:当使用CA证书进行身份验证或数据加密通信时,接收方需要使用CA机构的公钥来验证证书的合法性。接收方首先会对证书的签名进行解密验证,确认签名是否有效。然后验证证书的有效期限、申请者的身份信息等,确保证书的完整性和有效性。

4、示意图

在这里插入图片描述

七、HTTPS通信流程

1、示意图

在这里插入图片描述

2、涉及的三组密钥

  • 第⼀组(非对称加密):用于校验证书是否被篡改,服务器持有私钥(私钥在形成CSR⽂件与申请证书时获得)客户端持有公钥(操作系统包含了可信任的CA认证机构认证的CA证书,同时持有对应的公钥)。服务器在接收到客户端的请求时,返回携带签名的证书,客户端通过公钥进行证书验证,保证证书的合法性,进⼀步保证证书中携带的服务端公钥权威性。
  • 第⼆组(非对称加密):用于协商生成对称加密的密钥,客户端用收到的CA证书中的公钥给随机生成的对称加密的密钥加密。传输给服务器,服务器通过私钥解密获取到对称加密密钥。
  • 第三组(对称加密):客户端和服务器后续传输的数据都通过这个对称密钥加密解密。

3、原因

  • 前两组密钥的使用都是为了最后一组对称密钥能够顺利且安全的传输,因为使用非对称密钥对数据进行加密与解密的代价太大,时间太久。
  • 而要传输对应的对称密钥,使用明文传输会导致对应的数据(密钥)泄漏。所以,需要使用非对称密钥进行加密传输。
  • 使用非对称密钥进行加密传输时,对应的密钥有可能会在传输途中被篡改,导致有中间人的介入,导致数据泄漏或被篡改。CA证书就是为了防止这一情况,保证双方是真正想要进行通信的对象。

本文到这里就结束了,如有错误或者不清楚的地方欢迎评论或者私信
创作不易,如果觉得博主写得不错,请点赞、收藏加关注支持一下

标签:协议,加密,证书,数字签名,CA,解密,密钥,HTTPS
From: https://blog.csdn.net/Snow_Dragon_L/article/details/143571848

相关文章

  • 网络初始:TCP/IP 五层协议模型 & 网络通信基本流程
    目录1.名词解释1.1局域网1.2广域网1.3交换机1.4IP地址1.5端口号2.协议2.1认识协议2.2五元组 3.协议分层3.1分层的作用3.2OSI七层网络模型& TCP/IP五层(四层)协议模型4. TCP/IP五层(四层)网络模型4.1物理层4.2数据链路层4.3网络层4.4......
  • 系统设计中你必须知道的 20 种网络协议
    系统设计中你必须知道的20种网络协议掌握关键网络协议,在系统设计面试中脱颖而出,并提供解释、实例和综合资源系统设计面试一直是验证候选人是否能够设计出可扩展和高效系统的重要因素。熟悉关键术语绝对有助于在面试中取得成功。我们现在将探讨系统设计面试中必须了解......
  • 第一天打卡,udp协议
    今天学了udp协议基础,udp协议是一种无连接的网络协议,提供一种简单的方式来输送数据。发送:要用到的方法封装在InetAddress类中,其中DatagramSocket对象ds相当于快递员身份,不传递参数值的话会随机生成端口,进行输送快递(数据),快递的身份由DatagrampPacket对象充当,把东西打包。其中的......
  • 一文读懂远程控制协议—Remote Control Protocol
        随着中央计算+区域控制的中央集中式架构广泛应用,10BASE-T1S技术逐渐得到各方关注,总线型及半双工的特性让10BASE-T1S在成本和功耗上更占优势。在此基础上,为了进一步实现中央计算+区域控制的理念,2023年5月,BMW在OPEN联盟TC14的会议中提到了远程控制协议RemoteControlPro......
  • NETCONF 是由 IETF (Internet Engineering Task Force) 提出的一个标准化协议,目标是
    WindowsNetConf(NetworkConfiguration)是Windows操作系统中用于网络配置管理的框架,通常涉及自动化网络配置、管理网络接口和相关网络设置。它提供了一组API和命令行工具,允许管理员和应用程序配置、查询和管理网络设置。什么:NetConf是Windows中用于网络接口配置的功能,可以......
  • 图解 ARP 协议
    注:本文为陈鑫杰《图解ARP协议》系列的合集。作者行文生动有趣。图解ARP协议(一)ARP原理陈鑫杰拼客院长陈鑫杰2017年08月25日07:07一、ARP概述如果要在TCP/IP协议栈中选择一个**“最不安全的协议”**,那么我会毫不犹豫把票投给ARP协议。我们经常听到的这......
  • redirect跳转https变为http问题的深入思考【转】
    背景服务部署以及跳转展示如下: 用户https请求通过阿里云负载通过http到指定应用,应用返回跳转路径(状态为302),但跳转路径为http(不为https),所以访问不了2.1跳转伪代码://ModelAndViewmv.setViewName(WebCst.REDIRECT+"/admin/sso/login");122.2浏览器跳转截图结论总结用nginx......
  • 【ZeroMQ 】ZeroMQ中inproc优势有哪些?与其它传输协议有哪些不同?
    inproc是ZeroMQ提供的一种传输协议,用于在同一进程内的不同线程之间进行高效的通信。与其他传输协议(如tcp、ipc等)不同,inproc专门针对线程间通信进行了优化,具有极低的延迟和开销。以下是inproc的底层原理和实现细节:1.内存共享inproc的核心原理是内存共享。由于in......
  • 海康私有化视频平台EasyCVR视频分析设备平台流媒体协议RTMP、HTTP-FLV、HLS的简单对比
    在当今的数字化世界中,视频流协议的选择对于确保流畅、高效的视频传输至关重要。随着互联网技术的快速发展,直播和视频点播服务已经成为人们日常生活中不可或缺的一部分。无论是安防监控、在线教育、远程会议还是娱乐直播,用户对于视频流的实时性、稳定性和兼容性都有着极高的要求。......
  • 大数据学习笔记 第5天 ZooKeeper 3.6.3安装部署 CAP原则 Paxos算法 ZAB协议详解
    ZooKeeper3.6.3重点CAP原则Paxos算法存储模型和监听机制一、集群与分布式集群:将一个任务部署在多个服务器,每个服务器都能独立完成该任务。分布式:将一个任务拆分成若干个子任务,由若干个服务器分别完成这些子任务,每个服务器只能完成某个特定的子任务。从概念上就可......