SSL/TLS密钥协商(握手)过程

高频八股——SSL/TLS握手过程 在计算机网络的八股问题中,面试官最常问的一个问题就是:“SSL/TLS握手过程是怎样的”,网络上的文章五花八门,概括的“握手过程”也各不相同,于是便写篇文章帮助自己理解和回顾,也希望这篇文章可以带你深入理解计算机网络中的SSL/TLS是什么,以及它的握手过程是如何进行的。 阅读详情

SSL/TLS密钥协商过程


背景

某公司考试有道题目让说明SSL/TLS协商密钥过程。一看到这题我立马就想起当初网络信息安全课期末复习的时候碰到过这个问题,那时候刚接触这些加密解密什么的东西,对很多概念是很模糊的,所以查找资料后,在自己的头脑里,给这个问题整理出了答案:

1、建立安全能力
2、服务器端进行认证,交换密钥
3、客户端进行认证,交换密钥
4、结束

之后就算再有遇到SSL相关的东西,也就只是按这样的思路去想它了,没有进行更多的探索(就像上边说的,之前对密码学方面的东西认知是很混乱的,想深入搞定SSL,就要先去扎实地搞定密码学其它基础,包括加密算法、签名、证书什么的(后话——借口!))。。。

然后,那天考试看到这道题,一想起自己上边那个答案。。。我擦,这是什么GS啊,这样回答下去会有分吗??!!就是这时候,我突然发现我根本不明白 SSL的机制。


回来马上查资料,这次一定会把它深入(一点)弄明白的。并且,为了加深记忆,这里整理一遍。下次再遇到这题目,就是满分。


正文

首先,为了速度(或者还有其它原因),SSL/TLS通信CLIENT和SERVER之间的通信数据本身是用对称加密体系的,具体是怎么回事,后边了解了整个协商过程就明白了。但是,协商过程,使用的是非对称加密体系。

1、CLIENT向SERVER发送协议版本、自己支持的加密算法、一个随机数(Client Random)
2、SERVER收到后,返回选好的加密算法、自己的证书、一个随机数(Server Random)
3、 CLIENT验证SERVER的证书。通过后生成另一个随机数(Premaster Secret),并用证书中的公
TSL/SSL握手过程总结 一.TSL/SSL握手的目的 身份验证:可以通过证书进行对身份进行验证 算法协商:通讯双方可以通过算法协商双方都支持的算法 秘钥协商:主要的密钥协商算法有两种RSA,、DH,我们使用的非对称加密的方式,目的是协商一个对称加密的秘钥,用于数据传输过程中 二.TSL/SSL的Record报头 1、类型Type:占一个字节,主要有一下类型Handshake(0x16)、Change Cip... 阅读详情

相关推荐

基于FLUENT的圆柱绕流数值模拟与流场优化策略

本文详细介绍了基于FLUENT的圆柱绕流数值模拟方法与流场优化策略。从基础概念、建模技巧到湍流模型选择,全面解析了圆柱绕流模拟的关键技术,并提供了实用的网格划分和参数设置建议。通过具体案例展示了流动控制方法和优化流程,帮助工程师有效降低阻力系数,提升流场性能。

f6g7h8i9j的博客 682

SSL/TLS原理详解

本文大部分整理自网络,相关文章见文后参考。 关于证书授权中心CA以及数字证书等概念,移步 OpenSSLSSL 数字证书概念贴 ,如果你想快速自建CA然后签发数字证书,移步 基于OpenSSL自建CA和颁发SSL证书 。 SSL/TLS作为一种互联网安全加密技术,原理较为复杂,枯燥而无味,我也是试图理解之后重新整理,尽量...

weixin_33670713的博客 1191

FANUC数控系统31i-B PMC编程说明书(英文版).pdf

FANUC数控系统31i-B PMC编程说明书(英文版)

SSL/TLS密钥协商算法的演变——RSA算法、DH算法、DHE算法、ECDHE算法

SSL/TLS密钥协商算法的演变——RSA算法、DH算法、DHE算法、ECDHE算法

u014644574的博客 4063

一文带你看懂HTTP和HTTPS的爱恨情仇

端口号:HTTP 默认是 80,HTTPS 默认是 443。URL 前缀:HTTP 的 URL 前缀是 http://,HTTPS 的 URL 前缀是 https://。安全性和资源消耗:HTTP是在TCP上明文传输的,而HTTPS是根据SSL/TLC对内容进行加密,加密采用对称机密,但对称加密的密钥采用非对称加密。所以HTTP没有HTTPS安全性高,但HTTPS比HTTP消耗更多的服务器资源。

qq_60674612的博客 898

SSL连接中握手协议及握手过程

2)服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的“Hello”信息时将包含生成主密钥所需的信息;4)服务器恢复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器。当一个SSL客户机和服务器第一次开始通信时,它们在一个协议版本上达成一致,选择加密算法,选择相互认证,并使用公钥技术来生成共享密钥。a. 客户机生成一个随机数,并使用服务器的公钥(从服务器的证书中获得)对它加密,然后发送到服务器上。步骤1:SSL客户机连接到SSL服务器,并要求服务器验证它自身的身份。

vecloud的博客 3367

TLS/SSL 工作原理及握手过程详解

目录 前言 TLS/SSL 基础概念 密钥协商过程中存在的问题及解决办法 TLS/SSL 握手过程 前言 本文是对HTTPS 安全基础、TLS/SSL 工作原理及握手过程的总结。第一部分介绍为 HTTPS 提供安全基础的 TLS/SSL 的基础概念,及数据传输过程密钥协商的原因。第二部分介绍密钥协商过程中存在的问题,及解决办法,其中会涉及PKI、CA 等概念。最后介绍 TLS/SSL握手过程。 HTTP 和 HTTPS 的区别:https://blog.csdn.net/qq_382..

Tyler_Zx的博客 2万+

HTTPS协议详解()TLS/SSL握手过程

本文大部分内容摘自:http://www.wosign.com/faq/faq2016-0309-04.htm 尊重知识产权,转载注明Wosign ----------------------------------专栏导航----------------------------------HTTPS协议详解():HTTPS基础知识 HTTPS协议详解()TLS/SSL工作原理HTTPS协议...

郭晓东的专栏 9万+

关闭ssl协商功能_网络协议之TLS协议(1)抓包分析SSL/TLS握手

SSL是Secure Sockets Layer (安全套接层)的简写,SSL协议是为网络通信提供安全的一种安全协议,继任者为TLS,即 Transport Layer Security传输层安全。1. 初识SSL/TLS1.1. SSL/TLS协议版本 SSL的版本如下图所示, 可以看到从SSLv3.1以后,名称都改为TLSSSL版本SSLv2SSLv3SSLv3.1SSLv3....

weixin_39789399的博客 2884

TLS/SSL握手过程

1、握手密钥协商过程 基于RSA握手密钥交换的客户端验证服务器为示例详解TLS/SSL握手过程 再看一张手绘时序图 (1).client_hello 客户端发起求,以明文传输求信息,包含版本信息,加密套件候选列表,压缩算法候选列表,随机数,扩展字段等信息,相关信息如下: •支持的最高TSL协议版本version,从低到高依次 SSLv2 SSLv3 TLSv1 TLSv1.1 TLSv1.2,当前基本不再使用低于 TLSv1 的版本; •客户端支持的加密套件 c...

qq_39440893的博客 376

SSL/TLS协商过程详解

本文大部分整理自网络,相关文章见文后参考。 关于证书授权中心CA以及数字证书等概念,移步 OpenSSLSSL 数字证书概念贴 ,如果你想快速自建CA然后签发数字证书,移步 基于OpenSSL自建CA和颁发SSL证书 。 SSL/TLS作为一种互联网安全加密技术,原理较为复杂,枯燥而无味,我也是试图理解之后重新整理,尽量做到层次清晰。正文开始。 1. SSL/TLS

zhangtaoym的博客 1万+

SSL/TLS握手过程

SSL/TLS握手过程 ----------------------------------专栏导航----------------------------------HTTPS协议详解():HTTPS基础知识HTTPS协议详解()TLS/SSL工作原理HTTPS协议详解():PKI 体系HTTPS协议详解()TLS/SSL握手过程HTTPS协议详解():HTTPS性能与优化...

HideInTime的博客 476

HTTPS TLS/SSL握手过程

一、握手密钥协商过程 基于RSA握手密钥交换的客户端验证服务器为示例详解TLS/SSL握手过程。 1、client_hello 客户端发起求,以明文传输求信息,包含版本信息,加密套件候选列表,压缩算法候选列表,随机数,扩展字段等信息,相关信息如下: 支持的最高TSL协议版本version,从低到高依次 SSLv2 SSLv3 TLSv1 TLSv1.1 TLSv1.2,当前基本不再使用低于 TLSv1 的版本; 客户端支持的加密套件 cipher suites 列表, 每个加密套.

专注基础架构领域 912

HTTPS加密协议详解()TLS/SSL握手过程

原文地址:http://www.oschina.net/question/111042_14578   个人觉得这篇文章对ssl讲得非常透彻。 1、握手密钥协商过程 基于RSA握手密钥交换的客户端验证服务器为示例详解TLS/SSL握手过程(1).client_hello 客户端发起求,以明文传输求信息,包含版本信息,加密套件候选列表,

chenxu6 6468

SSL/TLS原理 详细整理版

1.SSL/TLS握手 简化版 浏览器 服务器 发起 —> 1.浏览器通知服务器浏览器所支持的加密协议 接收 接收 <— 2.服务器通知浏览器从1中选用的加密协议,并给予证书 发起 3.用CA的公钥鉴别服务器的证书是否有效,有效则生成一个随机数(秘密数),秘密数加上2确定的加密协议产生会话密钥 发起 —> 4.浏览器用服...

咖啡的博客 458

生动形象的解释下现代网络中的安全机制:TLS/SSL

TLS/SSL机制生活中的对应物作用数字证书朋友的身份证明验证对方身份,防止冒充握手协议约定秘密密码的过程安全协商加密密钥对称加密用密码锁的保险箱保护通信内容不被窃听消息认证码(MAC)防篡改标签保证数据未被修改阶段形象比喻作用你说“我会用这些密码锁”告诉对方支持的加密算法朋友选密码锁,示身份证选定加密算法,提供身份证明证书验证你检查身份证是否真实确认对方身份密钥协商你们秘密约定一个只有你们知道的密码生成对称加密的会话密钥Finished消息。

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 599

HTTPS协议详解:TLS/SSL握手过程

1、握手密钥协商过程 基于RSA握手密钥交换的客户端验证服务器为示例详解TLS/SSL握手过程 再看一张手绘时序图(1).client_hello 在发送的 Client Hello 中会带上自己支持的加密算法,供服务端从中挑选。由于老旧客户端会支持一些不安全的加密算法,为了提高传输安全,通常会在服务端指定一个可用算法列表,最终使用的加密类型取决于二者的交集,并按服务端优先级取第一个;如果没...

麦峰强的博客 7488
上一篇: HTTP与TCP的关系
下一篇: python 装饰器简单释义
AlimSah
博客等级 码龄11年 8粉丝 18原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值