SSL工作原理

转载 2017年05月15日 17:46:57

SSL 是一个安全协议,它提供使用 TCP/IP 的通信应用程序间的隐私与完整性。因特网的 超文本传输协议(HTTP)使用 SSL 来实现安全的通信。

在客户端与服务器间传输的数据是通过使用对称算法(如 DES 或 RC4)进行加密的。公用密钥算法(通常为 RSA)是用来获得加密密钥交换和数字签名的,此算法使用服务器的SSL数字证书中的公用密钥。有了服务器的SSL数字证书,客户端也可以验证服务器的身份。SSL 协议的版本 1 和 2 只提供服务器认证。版本 3 添加了客户端认证,此认证同时需要客户端和服务器的数字证书。


  1. SSL 握手

SSL 连接总是由客户端启动的。在SSL 会话开始时执行 SSL 握手。此握手产生会话的密码参数。关于如何处理 SSL 握手的简单概述,如下图所示。此示例假设已在 Web 浏览器 和 Web 服务器间建立了 SSL 连接。
这里写图片描述

(1) 客户端发送列出客户端密码能力的客户端“您好”消息(以客户端首选项顺序排序),如 SSL 的版本、客户端支持的密码对(加密套件)和客户端支持的数据压缩方法(哈希函数)。消息也包含 28 字节的随机数。

(2) 服务器以服务器“您好”消息响应,此消息包含密码方法(密码对)和由服务器选择的数据压缩方法,以及会话标识和另一个随机数。

注意:客户端和服务器至少必须支持一个公共密码对,否则握手失败。服务器一般选择最大的公共密码对。

(3) 服务器发送其SSL数字证书。(服务器使用带有 SSL 的 X.509 V3 数字证书。)

如果服务器使用 SSL V3,而服务器应用程序(如 Web 服务器)需要数字证书进行客户端认证,则客户端会发出“数字证书请求”消息。在 “数字证书请求”消息中,服务器发出支持的客户端数字证书类型的列表和可接受的CA的名称。

(4) 服务器发出服务器“您好完成”消息并等待客户端响应。

(5) 一接到服务器“您好完成”消息,客户端( Web 浏览器)将验证服务器的SSL数字证书的有效性并检查服务器的“你好”消息参数是否可以接受。

如果服务器请求客户端数字证书,客户端将发送其数字证书;或者,如果没有合适的数字证书是可用的,客户端将发送“没有数字证书”警告。此警告仅仅是警告而已,但如果客户端数字证书认证是强制性的话,服务器应用程序将会使会话失败。

(6) 客户端发送“客户端密钥交换”消息。此消息包含 pre-master secret(一个用在对称加密密钥生成中的 46 字节的随机数字),和 消息认证代码( MAC )密钥(用服务器的公用密钥加密的)。

如果客户端发送客户端数字证书给服务器,客户端将发出签有客户端的专用密钥的“数字证书验证”消息。通过验证此消息的签名,服务器可以显示验证客户端数字证书的所有权。

注意: 如果服务器没有属于数字证书的专用密钥,它将无法解密 pre-master 密码,也无法创建对称加密算法的正确密钥,且握手将失败。

(7) 客户端使用一系列加密运算将 pre-master secret 转化为 master secret,其中将派生出所有用于加密和消息认证的密钥。然后,客户端发出“更改密码规范” 消息将服务器转换为新协商的密码对。客户端发出的下一个消息(“未完成”的消息)为用此密码方法和密钥加密的第一条消息。

(8) 服务器以自己的“更改密码规范”和“已完成”消息响应。

(9) SSL 握手结束,且可以发送加密的应用程序数据。

HTTPS协议详解(二):TLS/SSL工作原理

HTTPS协议的主要功能基本都依赖于TLS/SSL协议,本节分析TLS/SSL协议工作原理。 TLS/SSL的功能实现主要依赖于三类基本算法:散列函数 Hash、对称加密和非对称加密,其利用非...
  • hherima
  • hherima
  • 2016年09月08日 12:23
  • 3813

SSL 与 数字证书 的基本概念和工作原理

SSL 与 数字证书 的基本概念和工作原理
  • hephec
  • hephec
  • 2016年12月10日 23:13
  • 556

SSL/TLS的原理以及互联网究竟是如何工作的(3)—TLS的专场

首先,我的大名叫做Transport Layer Security Protocol(传输层安全协议),是SSL的升级版。实际上我的左手和右手都是能用的,左手叫Record Layer(记录层),右手...
  • baigoocn
  • baigoocn
  • 2015年01月11日 09:40
  • 1783

SSL+Tomcat配置及其原理

SSL协议使用不对称加密技术实现双方之间信息的安全传递。可以实现信息传递的保密性、完整性,并且会话双方能鉴别对方身份。 与网站建立https连接时,浏览器与WEB SERVER之间要经过一个握手的过程...
  • u011921490
  • u011921490
  • 2016年05月17日 16:28
  • 174

【SSL】SSL工作原理

SSL技术白皮书 关键词:SSL,PKI,MAC 摘    要:SSL利用数据加密、身份验证和消息完整性验证机制,为基于TCP等可靠连接的应用层协议提供安全性保证。本文介绍了SSL的产生背景、安全...
  • dengjin20104042056
  • dengjin20104042056
  • 2015年08月20日 14:46
  • 483

SSL工作原理介绍以及java实现

SSL工作原理介绍以及java实现目录SSL工作原理介绍以及java实现 SSL简介 SSL工作原理 握手协议Handshake protocol 1握手阶段使用RSA加密算法 2握手阶段使用Diff...
  • ENERGIE1314
  • ENERGIE1314
  • 2017年01月17日 11:21
  • 926

非对称加密、ssl和tls的工作原理

假设互联网上的A和B要进行安全的通信,为了防止消息被别人截获以及篡改,它们会使用一个共同的暗号来对要发送的消息及接受的消息进行加密解密,这也就是大家经常提到的对称加密机制,其中暗号与谍战中的密码本大同...
  • weiyuanke
  • weiyuanke
  • 2014年04月15日 21:34
  • 1559

技术点详解---SSL VPN

引用自http://www.h3c.com.cn/Service/Channel_Service/Operational_Service/ICG_Technology/201008/686807_30...
  • qq_35904259
  • qq_35904259
  • 2017年03月10日 12:56
  • 1361

tomcat的原理

Tomcat简介   作者:杨晓(http://blog.sina.com.cn/u/1237288325) 一、Tomcat背景   自从JSP发布之后,推出了各式各样的JSP引擎。A...
  • tanqian351
  • tanqian351
  • 2016年07月18日 14:34
  • 403

SSL工作原理(转)

SSL 是一个安全协议,它提供使用 TCP/IP 的通信应用程序间的隐私与完整性。因特网的 超文本传输协议 (HTTP)使用 SSL 来实现安全的通信。 在客户端与服务器间传输的数据是通过使用对...
  • godbaby0312
  • godbaby0312
  • 2014年03月25日 23:18
  • 390
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SSL工作原理
举报原因:
原因补充:

(最多只允许输入30个字)