SSL的握手协议

SSL协议概述和握手过程 SSL协议主要是为了保证WEB通信的安全性,是基于TCP协议的 SSL协议有三个特性: 1.机密性 SSL协议的机密性主要依靠的是对称加密体质,在通信过程中,使用对称密码进行加密解密保证信息的安全性。 2.完整性 SSL协议的完整性主要依靠的是散列技术,对分组数据进行压缩之后,利用散列函数获得哈希值,加在分组信息的尾部,并且利用对称密码进行加密之后再传输(在传输到TCP层之前还有一个动作 阅读详情
. 用户浏览器将其SSL版本号、加密设置参数、与session有关的数据以及其它一些必要信息发送到服务器。
2. 服务器将其SSL版本号、加密设置参数、与session有关的数据以及其它一些必要信息发送给浏览器,同时发给浏览器的还有服务器的证书。如果配置服务器的SSL需要验证用户身份,还要发出请求要求浏览器提供用户证书。
3. 客户端检查服务器证书,如果检查失败,提示不能建立SSL连接。如果成功,那么继续。
4. 客户端浏览器为本次会话生成pre-master secret,并将其用服务器公钥加密后发送给服务器。
5. 如果服务器要求鉴别客户身份,客户端还要再对另外一些数据签名后并将其与客户端证书一起发送给服务器。
6. 如果服务器要求鉴别客户身份,则检查签署客户证书的CA是否可信。如果不在信任列表中,结束本次会话。如果检查通过,服务器用自己的私钥解密收到的pre-master secret,并用它通过某些算法生成本次会话的master secret。
7. 客户端与服务器均使用此master secret生成本次会话的会话密钥(对称密钥)。在双方SSL握手结束后传递任何消息均使用此会话密钥。这样做的主要原因是对称加密比非对称加密的运算量低一个数量级以上,能够显著提高双方会话时的运算速度。
8. 客户端通知服务器此后发送的消息都使用这个会话密钥进行加密。并通知服务器客户端已经完成本次SSL握手。
9. 服务器通知客户端此后发送的消息都使用这个会话密钥进行加密。并通知客户端服务器已经完成本次SSL握手。
10. 本次握手过程结束,会话已经建立。双方使用同一个会话密钥分别对发送以及接受的信息进行加、解密。
 
1 SSL通讯示意图
    SSL通讯示意图如图1所示:
    2 SSL通讯说明
    在该部分,将对图1所示的示意图进行说明。为了说明的方便,在本文中称客户端为B,服务器端为S。
    STEP 1: B——〉S(发起对话,协商传送加密算法)
    你好,S!我想和你进行安全对话,我的对称加密算法有DES,RC5,我的密钥交换算法有RSA和DH,摘要算法有MD5和SHA。
    STEP2: S——〉B(发送服务器数字证书)
    你好,B!那我们就使用DES-RSA-SHA这对组合进行通讯,为了证明我确实是S,现在发送我的数字证书给你,你可以验证我的身份。
    STEP 3: B——〉S(传送本次对话的密钥)
    (检查S的数字证书是否正确,通过CA机构颁发的证书验证了S证书的真实有效性后。生成了利用S的公钥加密的本次对话的密钥发送给S)
    S, 我已经确认了你的身份,现在将我们本次通讯中使用的对称加密算法的密钥发送给你。
    STEP4: S——〉B(获取密钥)
    (S用自己的私钥解密获取本次通讯的密钥)。
    B, 我已经获取了密钥。我们可以开始通信了。
    STEP5: S<——>B(进行通讯)
    说明:一般情况下,当B是保密信息的传递者时,B不需要数字证书验证自己身份的真实性,如电子银行的应用,客户需要将自己的账号和密码发送给银行,因此银行的服务器需要安装数字证书来表明自己身份的有效性。在某些B2B应用,服务器端也需要对客户端的身份进行验证,这时客户端也需要安装数字证书以保证通讯时服务器可以辨别出客户端的身份,验证过程类似于服务器身份的验证过程。
    此外需要说明的是,在一些电子商务的应用中,可能还会使用到电子签名,或者为了信息交换的更加安全,会增加电子签名和消息校验码(MAC)。
 
为了便于了解SSL,下面在简要介绍一下信息加密相关知识。使用密钥类型加密信息的加密算法可以分为以下几类:HASH 编码、对称加密和非对称加密三类。
    HASH 编码是使用HASH算法从任意长度的消息中计算HASH值的一个过程,HASH值可以说是消息的指纹,因为对于任何不同的消息,几乎总有不同的HASH值。因此在SSL通讯过程中,可以对消息的HASH值进行加密,确保传递的消息在传输过程中没有被修改。
    非对称加密或称之为公钥加密使用数学上相关的两个数值来对信息进行编码(加密),其中一个数字称为公钥,另一个称为私钥。公钥加密的信息可以用私钥解密,私钥加密的信息可以用公钥解密。由于公钥可以大面积发放,因此公钥加密在SSL加密通信中应用于对密钥的加密或者进行数字签名。
    对称加密和非对称加密相比的区别在于对称加密中,加密信息和解密信息使用同样的密钥,因此该密钥无法公开。但是其具有加密、解密快速的特点。
    在SSL通讯中,首先采用非对称加密交换信息,使得服务器获得浏览器端提供的对称加密的密钥,然后利用该密钥进行通讯过程中信息的加密和解密。为了保证消息在传递过程中没有被篡改,可以加密HASH编码来确保信息的完整性。 
详解SSL证书中的SSL握手协议 是一种数字证书,利用了SSL安全套接字协议,保证上层应用数据传输的保密性、完整性以及传输双发身份的合法性。今天来具体说说SSL握手协议的工作流程。   第一阶段:建立安全能力   客户端-client_hello:   客户端可以支持的SSL最高版本号;   客户端生成的32字节的随机数;   会话标识符ID;   客户端可以支持的密码套件列表;   客户端可以支持的压缩方法列表。   服务端-server_hello:   SSL版本号,取收到的客户端SSL版本和服务端支持的最高版本中的 阅读详情

相关推荐

OTP/EEPROM 读取与处理

Camera OTP/EEPROM 读取与处理 文章目录Camera OTP/EEPROM 读取与处理1. OTP概念1.1 基本概念1.2 OTP存储类型1.3 OTP烧录信息类型1.4 OTP 作用2. 配置准备2.1 基本认识2.2 OTP/EEPROM配置3. OTP/EEPROM datasheet理解 以及 读取方式3.1 data sheet 内容3.2 一般OTP/EEPROM(e...

Understand-image 1万+

SSL协议之握手协议

一、握手协议 握手协议是客户机和服务器用SSL连接通信时使用的第一个子协议,握手协议包括客户机与服务器之间的一系列消息。SSL中最复杂的协议就是握手协议。该协议允许服务器和客户机相互验证,协商加密和MAC算法以及保密密钥,用来保护在SSL记录中发送的数据。握手协议是在应用程序的数据传输之前使用的。 每个握手协议包含以下3个字段 1、Type:表示10种消息类型之一。 2、Length:表...

iteye_5722的博客 1538

车窗标定工作流程

标定简单来说就是修改防夹参数来适配对应的车型,所有的防夹的参数在vers_userdef.h文件中定义。#标定内容。

qq_21274991的博客 4272

SSL协议详解

SSL)是一个安全协议,为基于TCPTransmission Control Protocol)的应用层协议提供安全连接,SSL介于TCP/IP协议栈第四层和第七层之间。主要提供私密性、完整性和身份验证;我们常见的就是 SSL为HTTP)协议提供安全连接。SSL协议是一种在两个机器之间提供安全通道的协议,它具有保护数据传输以及识别通信机器的功能。内的愈来愈多的浏览器支持SSL,SSL协议成为应用最广泛的安全协议之一。

m0_67756456的博客 9269

营销反作弊之 异常行为分析模型(一),附带python代码

通过对用户行为进行深入的分析,识别出与常规模式不符的异常行为,可以有效检测并阻止虚假广告点击、刷单、点击欺诈等欺诈行为。本文将详细探讨营销反欺诈中异常行为分析的方法,介绍如何通过数据采集、清洗、行为建模与异常检测,准确识别潜在的欺诈行为,并提供 Python 实现代码示例。**监督学习 (Supervised Learning):**在标注数据的帮助下,训练机器学习模型使其能预测未知数据的结果。营销反欺诈异常行为分析的整体流程涉及多个环节,确保通过对用户行为的深入分析,及时识别潜在的欺诈行为。

viviwiky的博客 1231

2021.11.23 Covins 多机器人单目协同建图 跑Euroc数据集 更新

近日,一直在调试如何使用Covins跑通数据集,因为是初学者,所以很多bug出来的时候原理都不懂,只能复制——百度——尝试解决的过程。 现分享一下近日的结果以及与Covins作者帮助解答的一些问题。 使用代码行跑依次跑Euroc多数据集 这里的意思是使用作者提供的covins_examples文件夹中的euroc_examples_mh123_vigba.sh文件,这个文件是将三个Euroc数据集依次运行,跑完第一个数据集,第二个数据集运行的时候在第一个数据集生成地图的基础上继续绘制,由于我只下载了两个数据

qq_42614598的博客 2475

SSL/TLS握手过程

SSL(Secure Socket Layer)最初是由Netscape公司开发的一个协议,其目的在于为互联网提供一个安全的通信机制。

CoderAldrich的专栏 4496

MAC下SecureCRT 8.0.4破解版远程连接工具的安装与配置

一 SCRT的软件的安装:首先访问 http://xclient.info/s/securecrt.html?_=4365bb5cf097dc2c135a57c2ce30b264 选择8.0.4的版本进行下载,安装后将图标拖入application中,如下图所示 这时候需要进行以下几个步骤进行激活: 详细做法是: 一:打开mac的终端输入sudo spctl --master-d...

weixin_30528371的博客 854

HTTP、HTTPS、SSL协议以及相关报文讲解

HTTP(Hypertext Transfer Protocol)基本概念HTTP是用于从万维网(www)服务器传输超文本到本地浏览器的超文本传输协议,所有的HTML文件(网页文件)都是遵循这个标准进行传输的并且HTTP是一种分布式、通用的、无状态的面向应用层的协议(C/S架构,也支持B/S)HTTP的分布式特性分布式指的是一个网站上的内容分布到多个服务器上HTTP的无状态性web服务器不会针对用户的访问过程做记录。

m0_49864110的博客 5576

CAN收发器TJA1145A休眠唤醒应用

TJA1145的唤醒工作原理主要依赖于其内部的唤醒机制和外部硬件的配合,主要涉及低功耗状态、选择性唤醒功能。TJA1145是一款CAN收发器,它支持多种工作模式,包括NormalStandbySleep等。在这些模式中,Sleep模式是最低功耗状态,而Normal模式则是最活跃的状态,其中Standby模式处于两者之间,允许一定的功能操作但功耗较低。TJA1145可以通过接收特定的唤醒源从Sleep或Standby模式唤醒到Standby或Normal模式。唤醒源的检测与处理。

radix关于mcu的博客,持续更新中... 5957

选课系统进不去?我用 Python 做了个“捡漏挂机”脚本,全自动监控空余名额

频率控制:脚本请求频率不要太高(建议间隔 3-5 秒以上),否则可能被教务系统封 IP,甚至会被教务处请喝茶。仅供学习:本文旨在通过选课场景教学requests和网络抓包原理,请勿用于非法用途或破坏公平性。刷新页面 -> 等待加载 -> 用眼睛看人数 -> 没满?-> 点击选课 -> 确认这个流程最大的瓶颈在于**“等待加载”和“人的反应时间”**。网页加载需要渲染 HTML、CSS、图片,而 Python 脚本只需要请求一个微小的 JSON 数据接口,速度是浏览器的10 倍以上。fill:#333;

BUG猿的博客 294

【创作赢红包】网络安全——传输层安全协议(2)

通过之前文章我们对于SSL协议进行了一定了解网络安全——传输层安全协议本章将会继续讲解SSL握手协议与SSL记录协议。SSL握手协议工作在SSL记录协议层之上,用于协商产生会话状态的加密参数。当SSL客户端和服务器首次开始通信时,它们就协议版本、加密算法的选择、是否互相认证进行协商,并使用公钥加密技术产生共享秘密。所有这些工作都是由握手协议完成的,大致可以分为以下两个阶段。SSL是层次化协议。在每一层,消息均可以包含描述长度、消息及消息内容的域。

dzqxwzoe的博客 1117

【数字孪生与仿真技术】10:半导体制造中的虚拟量测技术深度解析:从多尺度建模到工业级应用

摘要:半导体制造过程中,晶圆加工需实时监测300+关键参数,传统物理量测技术面临产能损耗、延迟检测等痛点。本文系统阐述虚拟量测(Virtual Metrology)技术的完整解决方案,通过多尺度混合建模实现物理机理与数据驱动的深度融合。内容涵盖等离子体刻蚀、薄膜沉积等关键工艺的物理模型构建,LSTM神经网络的数据校正算法,以及边缘-云协同的实时部署架构。某12英寸晶圆厂实践表明,虚拟量测技术可减少70%物理量测频次,异常漏检率从18%降至3%,机台利用率提升11%。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 2556

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

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

vecloud的博客 3374

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

SSL握手协议详解

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

xiaodou的知识库 2218

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

SSL 协议的握手协议

为了便于更好的认识和理解 SSL 协议,这里着重介绍 SSL 协议的握手协议。 SSL协议既用到了公钥加密(非对称加密)技术又用到了对称加密技术,对称加密技术虽然比公钥加密技术的速度快,可是公钥加密技术提供了更好的身份认证技术。SSL 的握手协议非常有效的让客户和服务器之间完成相互之间的身份认证,其主要过程如下:   ①客户端的浏览器向服务器传送客户端 SSL 协议的版本号,加密算法的

yuxiaohui78的专栏 1325

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

SSL协议握手过程

原文链接和:http://blog.youkuaiyun.com/tterminator/article/details/50675577 仅供学习使用,转载自http://www.cnblogs.com/jifeng/archive/2010/11/30/1891779.html 一、SSL协议的工作流程:      服务器认证阶段:   1)客户端向服务器发送一个开

当今明月的专栏 2934

SSL 握手协议详解

这里重点介绍一下服务端的验证和密钥交换。这个阶段的前面的(a)证书 和(b)服务器密钥交换是基于密钥交换方法的。而在SSL中密钥交换算法有6种:无效(没有密钥交换)、RSA、匿名Diffie-Hellman、暂时Diffie-Hellman、固定Diffie-Hellman、Fortezza。   在阶段1过程客户端与服务端协商的过程中已经确定使哪种密钥交换算法。   如果协商过程中确定...

weixin_33763244的博客 1671

SSL握手协议

握手协议执行过程 第一阶段   客户端向服务端发Hello信息,包含协议版本、随机数、会话ID、密码套件等信息;服务端向客户端发Hello信息,包含协议版本、随机数、会话ID、密码套件等信息。 第二阶段   服务器发证书给客户端;包含服务器自身相关证书、数字签名、参数等。 第三阶段   客户端发证书给服务端;包含客户端自身证书、签名、主密钥等。 第四阶段   客户端和服务端均根据主密钥生成各类密钥,如:消息鉴别密钥、分组加密初始向量IV、分组加密密钥等。 第五阶段   服务端和客户端分别发送握手协议结束申

m0_46161993的博客 705

SSL握手协议详细流程

导读 SSL(Secure Socket Layer)安全套接字协议是运行在应用层和TCP层之间的安全机制。保证上层应用数据传输的保密性、完整性以及传输双发身份的合法性。 概述 SSL(Secure Socket Layer)安全套接字协议是运行在应用层和TCP层之间的安全机制。保证上层应用数据传输的保密性、完整性以及传输双发身份的合法性。 1.传输加密性:握手协议定义会话密钥后,...

Listen2You的博客 5052

SSL协议栈结构,ssl记录协议 ssl握手协议

SSL协议栈结构,ssl记录协议 ssl握手协议

JackLiu16的博客 2166

握手协议是如何在SSL VPN中发挥作用的?

服务器端在之前发送的Certificate Request消息中包含了服务器端所支持的证书类型和CA列表,因此客户端会在自己的证书中选择满足这两个条件的第一个证书发送过去。该消息中包含服务器端支持的证书类型(RSA、DSA、ECDSA等)和服务器端所信任的所有证书发行机构的CA列表,客户端会用这些信息来筛选证书。SSL会话可以被多个连接共享,以减少会话协商开销。版本:服务器拿出ClientHello消息中的版本号,再看看自己支持的版本列表,选择两者都支持的最高版本号定为这次协商出来的SSL协议使用的版本。

2401_83911225的博客 1453

SSL协议的握手过程

为了便于更好的认识和理解 SSL 协议,这里着重介绍 SSL 协议的握手协议。SSL 协议既用到了公钥加密技术又用到了对称加密技术,对称加密技术虽然比公钥加密技术的速度快,可是公钥加密技术提供了更好的身份认证技术。SSL 的握手协议非常有效的让客户和服务器之间完成相互之间的身份认证,其主要过程如下:   ①客户端的浏览器向服务器传送客户端 SSL 协议的版本号,加密算法的种类,产生的随机数,...

chris 1137

ssl握手协议中的CipherSuite

ssl握手协议中的CipherSuite

gdfhhj的博客 6882

SSL协议以及握手过程

SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层: SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。 SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加

zhoxing 1515
上一篇: AJAX病毒
下一篇: 网页传播的木马原理及对策
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值