【Linux】【网络】应用层协议:HTTPS

文章目录

  • HTTPS
      • [1. 加密方式](#1. 加密方式)
      • [2. 数据摘要 \ 数据指纹](#2. 数据摘要 \ 数据指纹)
      • [3. 数字签名](#3. 数字签名)
  • [HTTPS 的 工作过程](#HTTPS 的 工作过程)
  • [HTTPS 工作过程中的密钥](#HTTPS 工作过程中的密钥)

HTTP

HTTPS

HTTP(HyperText Transfer Protocol):

  • 是客户端浏览器或其他程序与 Web 服务器之间的应用层通信协议。

HTTPS(HyperText Transfer Protocol over Secure Socket Layer)

  • 可以理解为 HTTP + SSL/TLS, 即 HTTP 下加入 SSL 层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL,用于安全的 HTTP 数据传输。

SSL(Secure Socket Layer,安全套接字层)

  • 1994年为 Netscape 所研发,SSL 协议位于 TCP/IP 协议与各种应用层协议之间,为数据通讯提供安全支持。

TLS(Transport Layer Security,传输层安全)

  • 其前身是 SSL,它最初的几个版本(SSL 1.0、SSL 2.0、SSL 3.0)由网景公司开发,1999 年从 3.1 开始被 IETF 标准化并改名,发展至今已经有 TLS 1.0、TLS 1.1、TLS 1.2 三个版本。SSL3.0 和 TLS1.0 由于存在安全漏洞,已经很少被使用到。TLS 1.3 改动会比较大,目前还在草案阶段,目前使用最广泛的是TLS 1.1、TLS 1.2。

1. 加密方式

对称加密:

  • 有流式、分组两种,加密和解密都是使用的同一个密钥。

    例如:DES、AES-GCM、ChaCha20-Poly1305等

  • 特点:算法公开,计算量小、加密速度快、加密效率高

非对称加密:公钥(全网公开),私钥(只能自己私有)

  • 用 公钥加密,只能用 私钥解密

    用 私钥加密,只能用 公钥解密

    例如:RSA、DSA、ECDSA、 DH、ECDHE

  • 特点:非对称加密算法性能较低,但是安全性超强,由于其加密特性,非对称加密算法能加密的数据长度也是有限的。


2. 数据摘要 \ 数据指纹

  • 数字指纹(数据摘要),其基本原理是利用单向散列函数(Hash 函数 )对信息进行运算,生成一串 固定长度 的数字摘要。数字指纹并不是一种加密机制,但可以用来判断数据有没有被窜改。

    复制代码
    摘要常见算法:MD5、SHA1、SHA256、SHA512等

    算法把无限的映射成有限,因此可能会有碰撞(两个不同的信息,算出的摘要相同,但是概率非常低)

  • 摘要特征:和加密算法的区别是,摘要严格意义不是加密,因为没有解密,只不过从摘要很难反推原信息,通常用来进行数据对比


3. 数字签名

摘要经过加密,就得到数字签名,可以证明信息没有被修改过。摘要一般都会加密后再和信息一起发送,以保证这个摘要不被修改。

复制代码
【信息】 --hash--> 【摘要】 -- 加密--> 【签名】

HTTPS 的 工作过程

HTTPS 工作过程中的密钥

HTTPS 工作过程中涉及到的密钥有三组。

第一组(非对称加密): 用于校验证书是否被篡改。

  • 服务器持有私钥(私钥在形成 CSR 文件与申请证书时获得)
  • 客户端持有公钥(操作系统包含了可信任的 CA 认证机构有哪些,同时持有对应的公钥)
  • 服务器在客户端请求是,返回携带签名的证书。客户端通过这个公钥进行证书验证,保证证书的合法性,进一步保证证书中携带的服务端公钥权威性。

第二组(非对称加密): 用于协商生成对称加密的密钥。

  • 客户端用收到的 CA 证书中的公钥(是可被信任的)给随机生成的对称加密的密钥加密,传输给服务器,服务器通过私钥解密获取到对称加密密钥。

第三组(对称加密):客户端和服务器后续传输的数据都通过这个对称密钥加密解密。

相关推荐
搞科研的小刘选手9 分钟前
【西安交通大学主办】第六届人工智能、自动化与高性能计算国际会议 (AIAHPC 2026)
网络·人工智能·机器学习·数据挖掘·自动化·云计算·并行式
XiaoLin laile16 分钟前
数据合规越查越严,企业内网通讯软件成安全刚需
网络
酉鬼女又兒24 分钟前
零基础入门计算机网络可靠传输:从基本概念到三大实现机制(停止 - 等待 / 回退 N 帧 / 选择重传)全解析
网络·网络协议·计算机网络·考研·职场和发展·计算机外设·求职招聘
mifengxing25 分钟前
操作系统(五)
linux·运维·服务器·操作系统·王道考研
luweis26 分钟前
企智孪生 ETA (6.5 人机协同:定义“协作界面 (Collaboration UI)”)【杭州联保致新科技有限公司 卢伟舜】
网络·人工智能·科技·程序人生·创业创新·学习方法
专注VB编程开发20年41 分钟前
上位机监控接收数据(从站)-Modbus TCP 从机(Slave)模式多站点设计
网络·网络协议·tcp/ip
ALINX技术博客1 小时前
【黑金云课堂】FPGA技术教程Linux开发:NVMe/Qt/OpenCV人脸检测
linux·qt·fpga开发
上海云盾-小余1 小时前
游戏端口隐蔽防护:端口映射 + 高防集群拦截爆破实操指南
网络·安全·web安全·游戏
kebidaixu1 小时前
OK3568 RTC 驱动适配与 Linux 系统时间管理总结
linux
计算机安禾1 小时前
【算法分析与设计】第48篇:流算法与数据概要技术
java·服务器·网络·数据库·算法