我的编程空间,编程开发者的网络收藏夹
学习永远不晚

SSL握手具体流程是怎么样的

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

SSL握手具体流程是怎么样的

这篇文章给大家分享的是有关SSL握手具体流程是怎么样的的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

SSL握手有三个目的:客户端与服务器需要就一组用于保护数据的算法达成一致、它们需要确立一组由那些算法所使用的加密密钥、握手还可以选择对客户端进行认证。

SSL握手具体流程是怎么样的

概述

SSL(Secure Socket Layer)安全套接字协议是运行在应用层和TCP层之间的安全机制。保证上层应用数据传输的保密性、完整性以及传输双发身份的合法性。1.传输加密性:握手协议定义会话密钥后,所有传输的报文被会话密钥加密。2.消息的完整性:传输的报文中增加MAC(消息认证码),用于检测完整性。3.身份验证:客户端认证(可选),服务端认证(强制)

SSL协议包括:握手协议(Handshake protocol)、SSLpassword变化协议(SSL change cipher spec protocol)、警报协议(Alert protocol)、记录协议(Record protocol)。

握手协议是SSL连接通信的第一个子协议也是最复杂的协议。SSL握手具体流程是怎么样的

SSL握手协议

通过握手过程,客户端与服务端之间协商会话参数(包括相互验证、协商加密和MAC算法、生成会话密钥等)。SSL握手具体流程是怎么样的

第一阶段:建立安全能力

客户端-client_hello:1.客户端可以支持的SSL最高版本号;2.客户端生成的32字节的随机数;3.会话标识符ID;4.客户端可以支持的密码套件列表;5.客户端可以支持的压缩方法列表。

服务端-server_hello:1.SSL版本号,取收到的客户端SSL版本和服务端支持的最高版本中的较低者;2.服务端生成的32字节的随机数;3.会话标识符ID;4.从收到的客户端密码套件列表中选择一个密码套件(包含密钥交换算法、对称加密算法、摘要算法);5.从收到的客户端压缩方法列表中选择一种压缩方法。

第二阶段:服务端验证和密钥交换

服务端-certificate:含有公钥信息的服务端数字证书或到CA的完整证书链。

服务端-server_key_exchange:可选,根据密钥协商算法而定,如果传送给客户端的服务端证书数据不足以按照第一阶段选定的密钥交换算法协商密钥,该步骤不足密钥协商元素。

服务端-certificate_request:可选,请求验证客户端证书信息,单向数据认证(只认证服务端)无此步骤。

服务端-server_hello_done:通知客户端版本号和加密套件协商结束。

第三阶段:客户端验证和密钥交换

客户端-certificate:可选,客户端数字证书,双向数据认证中服务端要求验证客户端身份合法性。

客户端-client_key_exchange:客户端交换密钥,视密钥交换算法而定,密钥协商参数或pre-master key(服务端公钥加密)。

客户端-certificate_verify:可选,客户端将已交互的握手消息、会话密钥的摘要值用客户端私钥加密发送给服务端。

第四阶段:完成

客户端-change_cipher_spec:改变密码格式信息,告诉服务端之后的报文消息用会话密钥加密。

客户端-finished:向服务端宣布握手协议完成。

服务端-change_cipher_spec:改变密码格式信息,告诉客户端之后的报文消息用会话密钥加密。

服务端-finished:向客户端宣布握手协议完成。

感谢各位的阅读!关于“SSL握手具体流程是怎么样的”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

SSL握手具体流程是怎么样的

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

SSL握手具体流程是怎么样的

这篇文章给大家分享的是有关SSL握手具体流程是怎么样的的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。SSL握手有三个目的:客户端与服务器需要就一组用于保护数据的算法达成一致、它们需要确立一组由那些算法所使用的加密
2023-06-27

部署DLP解决方案的具体流程及效果是怎么样的

部署DLP解决方案的具体流程及效果是怎么样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。部署DLP系统已经开始成为一些企业所需要处理的网络安全防数手段之一了,在部署DLP
2023-06-17

SSL握手过程中的关键组件是什么

SSL握手过程中的关键组件包括以下几个部分:客户端发送ClientHello消息,包含SSL版本号、密码套件、加密算法等信息。服务器收到ClientHello消息后,发送ServerHello消息,确认使用的SSL版本号、密码套件和加密算
SSL握手过程中的关键组件是什么
2024-04-17

elasticSearch-api的具体操作流程是什么

这篇文章主要介绍“elasticSearch-api的具体操作流程是什么”,在日常操作中,相信很多人在elasticSearch-api的具体操作流程是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ela
2023-06-20

Python安装配置的具体步骤是怎么样的

Python安装配置的具体步骤是怎么样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。先安装,然后一步一步安装。装好后,启动 Python command li
2023-06-17

UI绘制流程是怎么样的

小编给大家分享一下UI绘制流程是怎么样的,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言在android当中对于UI体系当中往往我们会在绘制UI的时候碰到各种各
2023-06-04

新手用的Python开发工具是怎么样的

新手用的Python开发工具是怎么样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Python开发工具很多,比较大有的重型武器有Pycharm,Anaconda,VS Cod
2023-06-17

C/C++ Qt QThread线程组件的具体使用是怎样的

这期内容当中小编将会给大家带来有关C/C++ Qt QThread线程组件的具体使用是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。QThread库是QT中提供的跨平台多线程实现方案,使用时需要继承
2023-06-21

HDFS中读写流程是怎么样的

这篇文章给大家分享的是有关HDFS中读写流程是怎么样的的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。文件读流程也包含该列表各block的分布在Datanode地址的列表当然读操作对于Client端是透明的,感觉就
2023-06-02

java程序linux发布流程是怎么样的

这期内容当中小编将会给大家带来有关java程序linux发布流程是怎么样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。java程序发布到linux其实非常简单,但第一次发布,走了不少弯路,故在此记录一下
2023-06-06

Linux系统启动流程是怎么样的

这篇文章主要为大家展示了“Linux系统启动流程是怎么样的”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux系统启动流程是怎么样的”这篇文章吧。linux启动时我们会看到许多启动信息,Li
2023-06-27

C/C++ Qt QChart绘图组件的具体使用是怎么样的

这篇文章给大家介绍C/C++ Qt QChart绘图组件的具体使用是怎么样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。QtCharts 组件是QT中提供图表绘制的模块,该模块可以方便的绘制常规图形,Qtcharts
2023-06-21

使用canvas绘制流程步骤是怎么样的

这篇文章主要介绍使用canvas绘制流程步骤是怎么样的,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!简介 html的标签 用于图形的绘制,通过脚本 (通常是JavaScript)来完成,canvas简而言之就是
2023-06-04

Hadoop中HDFS文件读写流程是怎么样的

这篇文章主要介绍了Hadoop中HDFS文件读写流程是怎么样的,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、文件读流程说明读取操作是对于Cient端是透明操作,感觉是连续
2023-06-03

Linux操作系统启动流程是怎么样的

这篇文章主要为大家展示了“Linux操作系统启动流程是怎么样的”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux操作系统启动流程是怎么样的”这篇文章吧。Linux操作系统启动流程02 Ce
2023-06-15

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录