【计算机网络】详解SSL协议

目录

一、SSL简介

SSL和TLS

二、SSL协议介绍

SSL协议安全通道的三个特性

SSL加密知名协议

HTTP over SSL

Email over SSL

三、SSL提供服务

四、SSL原理详解

SSL协议结构

SSL工作流程


SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层与应用层之间对网络连接进行加密

 

一、SSL简介

SSLTLS

SSL (Secure Sockets Layer)安全套接层。是由Netscape公司于1990年开发,用于保障Word Wide Web(WWW)通讯的安全。主要任务是提供私密性,信息完整性和身份认证。1994年改版为SSLv2,1995年改版为SSLv3.

TLS(Transport Layer Security)安全传输层协议,用于在两个通信应用程序之间提供保密性和数据完整性。该标准协议是由IETF于1999年颁布,整体来说TLS非常类似SSLv3,只是对SSLv3做了些增加和修改。

 

二、SSL协议介绍

SSL是一个不依赖于平台和运用程序的协议,位于TCP/IP协议与各种应用层协议之间,为数据通信提高安全支持。

【计算机网络】详解SSL协议_第1张图片

SSL协议提供的安全通道有以下三个特性:

  • 机密性:SSL协议使用密钥加密通信数据。
  • 可靠性:服务器和客户都会被认证,客户的认证是可选的。
  • 完整性:SSL协议会对传送的数据进行完整性检查。

 

SSL加密知名协议:

HTTP over SSL:

简写https,加密网页浏览是设计SSL的初衷,HTTP也是第一个使用SSL保障安全的应用层协议。

​当Netscape在它的Navigator里面运用HTTP over SSL的时候,使用https://来标识HTTP over SSL,因此我常见的https的全称就是HTTP over SSL。后来HTTPS在RFC2818被标准化。HTTPS工作在443端口,而HTTP默认工作在80端口

 

Email over SSL

类似于HTTP over SSL,邮件协议例如:

  • SMTP,POP3、IMAP也能支持SSL。
  • SMTP over TLS的标准文档在RFC2487
  • POP3和IMAP over TLS的标准化文档在RFC2595.

 

三、SSL提供服务

(1)认证用户和服务器,确保数据发送到正确的客户机和服务器;

(2)加密数据以防止数据中途被窃取;

(3)维护数据的完整性,确保数据在传输过程中不被改变。

 

四、SSL原理详解

SSL协议结构:

【计算机网络】详解SSL协议_第2张图片

中间蓝色部分就是SSL协议格式

SSL的体系结构中包含两个协议子层,其中高层是SSL握手协议层(SSL HandShake Protocol Layer);底层是SSL记录协议层(SSL Record Protocol Layer)

 

SSL协议主要分为两层:

  • SSL握手协议层包括SSL握手协议(SSL HandShake Protocol)、SSL密码参数修改协议(SSL Change Cipher Spec Protocol)和SSL告警协议(SSL Alert Protocol)。握手层的这些协议用于SSL管理信息的交换,允许应用协议传送数据之间相互验证,协商加密算法和生成密钥等。
  • SSL记录协议层的作用是为高层协议提供基本的安全服务。SSL纪录协议针对HTTP协议进行了特别的设计,使得超文本的传输协议HTTP能够在SSL运行。纪录封装各种高层协议,具体实施压缩解压缩、加密解密、计算和校验MAC等与安全有关的操作。

SSL握手协议的作用是协调客户和服务器的状态,使双方能够达到状态的同步

 

其中最重要的是握手协议和记录协议:

  • SSL握手协议:它建立在SSL记录协议之上,用于在实际的数据传输开始之前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。
  • SSL记录协议:它建立在可靠的传输(如TCP)之上,为高层协议提供数据分块、数据封装、压缩、解压缩、加密、解密等基本功能。

 

SSL工作流程

1、服务器认证阶段:

(1)客户端向服务器发送一个开始信息“Hello”以便开始一个新的会话连接;

(2)服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的“Hello”信息时将包含生成主密钥所需的信息;

(3)客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器;

(4)服务器回复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器。

 

2、用户认证阶段:在此之前,服务器已经通过了客户认证,这一阶段主要完成对客户的认证。经认证的服务器发送一个提问给客户,客户则返回(数字)签名后的提问和其公开密钥,从而向服务器提供认证。


相关文章:【计算机网络】一篇文章带你快速掌握TCP协议

你可能感兴趣的:(计算机网络)