三、SSL握手协议

SSL

这些消息交换能够实现如下操作:

握手协议被封装在记录协议中,该协议允许服务器与客户机在应用程序传输和接收数据之前互相认证、协商加密算法和密钥。在初次建立 SSL 连接时服务器与客户机交换一系列消息。 1 )客户机认证服务器; 2 )允许客户机与服务器选择双方都支持的密码算法; 3 )可选择的服务器认证客户; 4 )使用公钥加密技术生成共享密钥; 5 )建立加密 SSL 连接。

SSL

类型(

长度(

内容(≥1字节):使用的报文的有关参数。

握手协议报文头包括三个字段: 1 字节):该字段指明使用的 SSL 握手协议报文类型。 SSL 握手协议报文包括 10 种类型。报文类型见图 13.5 。 3 字节):以字节为单位的报文长度。

报文类型

参数

hello_request

client_hello

server_hello

certificate

server_key_exchange

certificate_request

server_done

certificate_verify

client_key_exchange

finished

版本、随机数、会话ID、密文族、压缩方法

版本、随机数、会话ID、密文族、压缩方法

X.509v3证书链

参数、签名

类型、授权

签名

参数、签名

Hash值

图13.5 SSL握手协议报文

SSL

注:带*的传输是可选的,或者与站点相关的,并不总是发送的报文。

图13.6 握手协议的过程

当客户从服务器端传送的证书中获得相关信息时,需要检查以下内容来完成对服务器的认证:时间是否在证书的合法期限内;签发证书的机关是否客户端信任的;签发证书的公钥是否符合签发者的数字签名;证书中的服务器域名是否符合服务器自己真正的域名。服务器被验证成功后,客户继续进行握手过程。

同样的,服务器从客户传送的证书中获得相关信息认证客户的身份,需要检查:用户的公钥是否符合用户的数字签名;时间是否在证书的合法期限内;签发证书的机关是否服务器信任的;用户的证书是否被列在服务器的

1)建立安全能力。客户机向服务器发送client_hello报文,服务器向客户机回应server_hello报文,建立如下的安全属性:协议版本,会话ID,密文族,压缩方法,同时生成并交换用于防止重放攻击的随机数。密文族参数包括密钥交换方法(Deffie-Hellman密钥交换算法、基于RSA的密钥交换和另一种实现在Fortezza chip上的密钥交换)、加密算法(DES、RC4、RC2、3DES等)、MAC算法(MD5或SHA-1)、加密类型(流或分组)等内容。2)认证服务器和密钥交换。在hello报文之后,如果服务器需要被认证,服务器将发送其证书。如果需要,服务器还要发送server_key_exchange。然后,服务器可以向客户发送certificate_request请求证书。服务器总是发送server_hello_done报文,指示服务器的hello阶段结束。3)认证客户和密钥交换。客户一旦收到服务器的server_hello_done报文,客户将检查服务器证书的合法性(如果服务器要求),如果服务器向客户请求了证书,客户必须发送客户证书,然后发送client_key_exchange报文,报文的内容依赖于client_hello与server_hello定义的密钥交换的类型。最后,客户可能发送client__verify 报文来校验客户发送的证书,这个报文只能在具有签名作用的客户证书之后发送。4)结束。客户发送change_cipher_spec报文并将挂起的CipherSpec复制到当前的CipherSpec。这个报文使用的是改变密码格式协议。然后,客户在新的算法、对称密钥和MAC秘密之下立即发送finished报文。finished报文验证密钥交换和鉴别过程是成功的。服务器对这两个报文响应,发送自己的change_cipher_spec报文、finished报文。握手结束,客户与服务器可以发送应用层数据了。LDAP里用户的信息中;得到验证的用户是否仍然又权限访问请求的服务器资源。 握手协议的过程如下:

SSL协议概述(三)相关推荐

  1. 【转】SSL协议、SET协议、HTTPS简介

    一.SSL协议简介 SSL是Secure Socket Layer的缩写,中文名为安全套接层协议层.使用该协议后,您提交的所有数据会首先加密后,再提交到网易邮箱,从而可以有效防止黑客盗取您的用户名.密 ...

  2. SSL协议的分析和实现

    1引言  SSL是一种在客户端和服务器端之间建立安全通道的协议.SSL一经提出,就在Internet上得到广泛的应用.SSL最常用来保护Web的安全.为了保护存有敏感信息Web的服务器的安全,消除用户 ...

  3. SSL协议的分析及实现

    1引言  SSL是一种在客户端和服务器端之间建立安全通道的协议.SSL一经提出,就在Internet上得到广泛的应用.SSL最常用来保护Web的安全.为了保护存有敏感信息Web的服务器的安全,消除用户 ...

  4. HTTP与SSL协议

    一.HTTP协议简要分析 ** 1.概念解析 ** 1.)什么是超文本?(HyperText) 超文本是包含有超链接(Link)和各种多媒体元素标记(Markup)的文本.这些超文本文件彼此链接,形成 ...

  5. SSH协议、HTTPS中SSL协议的完整交互过程

    1.(SSH)公私钥认证原理 服务器建立公钥:每一次启动sshd服务时,该服务会主动去找/etc/ssh/ssh_host*的文件 客户端通过ssh工具进行连接,如Xshell,SecureCRT 服 ...

  6. 简述ssl协议及利用openssl创建私有CA

    我在这个链接中简单的介绍了下加密解密原理和相关算法及其实现:http://starli.blog.51cto.com/8813574/1671408 CA是什么?为什么需要CA? 先看下面的互联网安全 ...

  7. HTTPS协议,SSL协议及完整交互过程

    转自:https://blog.csdn.net/dfsaggsd/article/details/50910999 SSL 1.        安全套接字(Secure Socket Layer,S ...

  8. 【SSL协议】SSL协议详解

    背景介绍 最近在看<密码学与网络安全>相关的书籍,这篇文章主要详细介绍一下著名的网络安全协议SSL. 在开始SSl介绍之前,先给大家介绍几个密码学的概念和相关的知识. 1.密码学的相关概念 ...

  9. 【SSL 协议介绍】

    SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议.TLS与 ...

最新文章

  1. SAP HANA是什么
  2. navicat 连接oracle
  3. 【CyberSecurityLearning 20】xu ni zhuan yong wang luo
  4. linux下使用nginx搭建集群,CentOS(linux) 下Nginx的安装(Nginx+Tomcat集群第一步)
  5. 水晶报表取消输入密码最后测试结果
  6. ROS安装过程和配置过程(可能出现的问题及解决方法)
  7. Scrapy框架初探
  8. 计算机应用基础 东师 离线,奥鹏东师秋季计算机应用基础离线作业答案
  9. 大学生动物介绍网页设计作品 dreamweaver作业静态HTML网页设计模板 保护动物网页作业制作
  10. c语言定义数组uint,c - 将uint8_t数组转换为C中的uint16_t值 - 堆栈内存溢出
  11. 山东理工大学ACM平台题答案 1134 数列求和
  12. Fedora系统之打开终端快捷键设置
  13. 量子计算 17 量子算法2 (量子Simon算法)
  14. Foxail邮箱远程主机强迫关闭了一个现有连接怎么解决
  15. QTreeWidget实现搜索子节点功能
  16. Dbeaver链接hive和impala
  17. 如何彻底关闭win11自动更新
  18. Docker Note [vaynexiao]
  19. 三种编程规则:驼峰命名法、帕斯卡命名法、匈牙利名
  20. scipy稀疏矩阵lil_array

热门文章

  1. 微信小程序云开发实战:网上商城(三)
  2. route和bridge是什么意思_port link-mode bridge是什么意思
  3. 用openjweb平台开发的企业档案管理系统介绍
  4. Oracle全球裁员潮:云计算成趋势?
  5. Shiro认证-身份认证加密
  6. [中文翻译]The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode
  7. 开发视频直播软件需要注重哪些功能?
  8. Python二级考试题目及答案解析(含刷题软件)
  9. python 操作 word 文档,使用 python-docx 操作 word docx 文档
  10. 笔记本 安装 Ubuntu 16.04 LTS 开机死机