SSL/TLS原理 详细整理版

2023-10-28

1.SSL/TLS握手 简化版

浏览器 服务器
发起 —> 1.浏览器通知服务器浏览器所支持的加密协议 接收
接收 <— 2.服务器通知浏览器从1中选用的加密协议,并给予证书 发起
3.用CA的公钥鉴别服务器的证书是否有效,有效则生成一个随机数(秘密数),秘密数加上2确定的加密协议产生会话密钥
发起 —> 4.浏览器用服务器的公钥加密秘密数发给服务器 接收
5.服务器用私钥对4解密获得秘密数再加上2确定的加密协议产生会话密钥
<— 握手结束,使用相同的会话密钥加密传输的数据(对称加密) —>
注意:

过程有所简化,比方说在正式使用会话密钥通话前,浏览器和服务器各自会发送一段用会话密钥加密的 Finish 消息,以检验之前通过握手建立起来的加解密通道是否成功, 详细版请看下文

2.先行知识

SSL和TLS的概念与区别

  • 什么是SSL?
    SSL(Secure Socket Layer,安全套接字层),为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保数据在网络上之传输过程中不会被截取。当前版本为3.0。它已被广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输。
    SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层: SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。 SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。
  • 什么是TLS?
    TLS(Transport Layer Security,传输层安全协议),用于两个应用程序之间提供保密性和数据完整性。
    TLS 1.0是IETF(Internet Engineering Task Force,Internet工程任务组)制定的一种新的协议,它建立在SSL 3.0协议规范之上,是SSL 3.0的后续版本,可以理解为SSL 3.1(可简单理解为同一事物不同阶段的不同称呼),它是写入了 RFC 的。该协议由两层组成: TLS 记录协议(TLS Record)和 TLS 握手协议(TLS Handshake)。较低的层为 TLS 记录协议,位于某个可靠的传输协议(例如 TCP)上面。
  • SSL和TLS的主要区别?
    TLS的主要目标是使SSL更安全,并使协议的规范更精确和完善。另外,TLS版本号也与SSL的不同(TLS的版本1.0使用的版本号为SSLv3.1).

“对称加密”和“非对称加密”的概念</

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SSL/TLS原理 详细整理版 的相关文章

随机推荐

  • 异构网络的理解

    异构网络 Heterogeneous Network 是一种类型的网络 其是由不同制造商生产的计算机 网络设备 和系统组成的 大部分情况下运行在不同的协议上支持不同的功能或应用 图1 给出了一种异构网络模型 不同类型的网络 通过网关连接到核
  • python 按自己的理解尝试实现fn算法

    贪心算法FN具体步骤如下所述 1 去掉网络中所有的边 网络的每个节点都单独作为一个社区 2 网络中的每个连通部分作为一个社区 将还未加入网络的边分别重新加回网络 如果加入网络的边连接了两个不同的社区 即合并了两个社区 则计算形成的新的社区划
  • 【计算机组成原理笔记】1.2计算机的基本组成

    1 2计算机的基本组成 冯 诺依曼计算机 冯诺依曼计算机的六个特点 冯 诺依曼计算机硬件框图 各部分功能 缺点 计算机硬件框图 以存储器为中心的计算机硬件框图 现代计算机硬件框图 系统复杂性管理方法 计算机的工作步骤 指令格式举例 存储器的
  • Java 核心机制

    Java 核心机制 Java 虚拟机 Java Virtual Machine 简称 JVM 垃圾收集机制 Garbage collection 简称 GC 垃圾收集的目的在移除不再使用的对象 当对象建立的时候垃圾收集期 就开始监控对象的动
  • 图片相相似度计算(Hash、SSIM、compareHist)

    哈希相似度算法 Hash algorithm 用一个快速算法 就达到基本的效果 哈希算法 Hash algorithm 它的作用是对每张图片生成一个固定位数的Hash 值 指纹 fingerprint 字符串 然后比较不同图片的指纹 结果越
  • SDH概述

    1 SDH概述 1 1 SDH产生的技术背景 为什么会产生SDH传输体制 在讲SDH传输体制之前 我们首先要搞清楚SDH到底是什么 那么SDH是什么呢 SDH全称叫做同步数字传输体制 由此可见SDH是一种传输的体制 协议 就像PDH 准同步
  • 基于视频图像的火灾检测算法

    要求 视频帧满足R x y gt gt R x y gt 190 gt 100 140 Y x y Cr x y x y Cb x y Y x y gt 通道均值 Cr x y gt 通道均值 Cb x y lt 通道均值条件且满足利用帧差
  • Java IO流分析整理

    Java中的流 可以从不同的角度进行分类 按照数据流的方向不同可以分为 输入流和输出流 按照处理数据单位不同可以分为 字节流和字符流 按照实现功能不同可以分为 节点流和处理流 输出流 输入流 因此输入和输出都是从程序的角度来说的 字节流 一
  • centos8 stream 屏幕共享 远程桌面 vnc 出错

    在连接vnc之前 干脆直接把防火墙禁用掉 免得出现别的麻烦 systemctl stop firewalld systemctl disable firewalld 然后直接去设置开启屏幕共享 然后用vnc客户端连接 会出现以下错误 Una
  • Redis实现分布式锁的7种方案,及正确使用姿势!

    redis学习笔记 7种方案前言 日常开发中 秒杀下单 抢红包等等业务场景 都需要用到分布式锁 而Redis非常适合作为分布式锁使用 本文将分七个方案展开 跟大家探讨Redis分布式锁的正确使用方式 如果有不正确的地方 欢迎大家指出哈 一起
  • Sqlserver 把小数点后面多余的0去掉

    select convert float 0 05000 结果 0 05 保留有效小数 convert decimal 18 4 0 00900 结果 0 0090 保留有效小数后转换数据类型 convert nvarchar 20 con
  • Python实现房产数据分析与可视化 数据分析 实战

    Python库的选择 话说 工欲善其事 必先利其器 虽然我们已经选择Python来完成剩余的工作 但是我们需要考虑具体选择使用Pytho的哪些利器来帮助我们更快更好地完成剩余的工作 我们可以看一下 在这个任务中 主要涉及到四类工作要完成 c
  • python三个变量互换值_Python中有几种办法交换两个变量的值?

    交换两个变量的值方法 这个面试题如果只写一种当然很简单 没什么可以说的 今天这个面试是问大家有几种办法来实现交换两个变量的值 在没开始看具体答案前 你可以先想想看 下面分别来说说这几种方法 1 方法一 通过新添加中间变量temp的方式 这个
  • Angular脚手架系列:四、使用Angular CLI进行Build (构建) 和 部署

    目录 一 Build 二 ng build 三 Build Targets和Environment 四 Serve 五 部署到nginx 一 Build Build主要会做以下动作 编译项目文件并输出到某个目录 Build targets决
  • ConstrainLayout 基础教程2,近期想跳槽的程序员必看

    特性详解 Visibility behavior 可见性的表现 ConstraintLayout对可见性被标记View GONE的控件 后称 GONE控件 有特殊的处理 一般情况下 GONG控件是不可见的 且不再是布局的一部分 但是在布局计
  • 【服务器】查看服务器文件夹大小

    问题描述 服务器的接口突然访问不到了 报错Networ Error 直接想到了 是不是数据库连不上了导致的 然后看了下服务器的硬盘占用情况 当然了 这里是处理过后的了 发现有问题的那个框框那个Avail为0了 查看文件夹占用 查看某个目录下
  • 旋转数组问题“环状替换”解法最详细的说明

    leecode 旋转数组 问题 环状替换 解法的思路 小白向 思路 假设一数组 a 1 2 3 4 5 6 7 8 9 移动位数k 3 从1开始 要将a 0 右移三位 移到a 3 a 3 右移三位 移到a 6 a 6 移到a 0 回到了a
  • 蓝桥杯2020年第十一届国赛真题-重复字符串

    题目描述 如果一个字符串 S 恰好可以由某个字符串重复 K 次得到 我们就称 S 是 K 次重复字符串 例如 abcabcabc 可以看作是 abc 重复 3 次得到 所以 abcabcabc 是 3 次重复字符串 同理 aaaaaa 既是
  • oracle 中使用 select a into b 时遇到空值问题

    今天一朋友问及我这个问题 当记录不存在 会提示 no data 的错误 下面是网上这类问题的解决方法 转载 当在PL SQL中执行SELECT INTO 语句时 如果返回结果集为空 则回触发NO DATA FOUND错误 但是当 SELEC
  • SSL/TLS原理 详细整理版

    1 SSL TLS握手 简化版 浏览器 服务器 发起 gt 1 浏览器通知服务器浏览器所支持的加密协议 接收 接收 lt 2 服务器通知浏览器从1中选用的加密协议 并给予证书 发起 3 用CA的公钥鉴别服务器的证书是否有效 有效则生成一个随