APP下载

SSL协议工作过程探析

2017-07-24檀亚乐胡曦明

网络安全技术与应用 2017年7期
关键词:客户机加密算法密钥

◆檀亚乐 胡曦明,2 马 苗,2

(1.陕西师范大学计算机科学学院 陕西 710119;2.现代教学技术教育部重点实验室 陕西 710119)

SSL协议工作过程探析

◆檀亚乐1胡曦明1,2马 苗1,2

(1.陕西师范大学计算机科学学院 陕西 710119;2.现代教学技术教育部重点实验室 陕西 710119)

本文针对电子商务以及网络通信过程中的安全问题,提出了SSL协议(安全套接层协议),为探究SSL协议的工作过程,在Windows sever 2003上搭建了SSL安全协议模型配置了安全证书并进行了抓包分析,研究表明,SSL协议为网络安全通信及电子商务交易提供了安全保障,是一种较为可靠的安全通信协议,对电子商务及网络通信的发展起到了促进作用。

安全套接层协议;SSL协议工作原理;握手过程;SSL协议应用

0 引言

SSL协议是国际上最早用于电子商务的一种网络安全协议,在传统的电子商务活动中,客户首先寻找商品信息,然后汇款给商家,然后商家再把商品寄给客户,这样就相当于完成了一项商品交易。而在这其中,商家是值得信赖的,商家担心客户不付款或者使用不可靠的银行卡,所以希望银行对这一交易进行认证,SSL协议正是在这一背景下产生的。目前,国外著名的商业浏览器、web服务器和电子邮件等都内嵌的使用SSL安全协议。SSL协议已成为最流行的安全传输协议,在信息系统安全中占据重要地位。SSL协议作为电子商务系统中应用最为广泛的协议,通过对通信过程的加密来实现安全通信。SSL协议应满足机密性和完整性的需求,同时实现服务器身份认证,本文主要对SSL协议的工作过程及工作原理做了介绍。

1 SSL协议概述

1.1 SSL协议特点

保密:在握手协议中定义了会话密钥后,所有的消息都被加密。

鉴别:可选的客户端认证,和强制的服务器端认证。

完整性:传送的消息包括消息完整性检查(使用MAC)。

1.2 SSL协议的目标及实现

(1)客户对服务器的身份确认。

(2)服务器对客户的身份确认(客户证书)。

(3)建立起服务器和客户之间安全的数据通道。

1.3 SSL协议算法加密思想

在SSL中会使用密钥交换算法交换密钥;使用密钥对数据进行加密;使用散列算法对数据的完整性进行验证,使用数字证书证明自己的身份。

1.4 SSL协议体系结构

SSL协议分为上下两层,上层(简称握手层)包括SSL握手协议、SSL秘钥修改协议、SSL警告协议,下层包括SSL记录协议。

2 SSL协议工作原理及过程

2.1 SSL协议工作原理

(1) SSL握手协议

握手协议是关于客户和服务器如何协商它们在安全信道中要使用的安全参数,这些参数包括要采用的协议版本、加密算法和密钥。另外,客户要认证服务器,服务器则可以选择认证/不认证客户。工作过程示意图如图1所示。

(2) SSL修改密钥协议

SSL修改密钥协议是使用SSL记录协议服务的SSL高层协议的3个特定协议之一,也是其中最简单的一个。协议由单个消息组成,该消息只包含一个值为1的单个字节。该消息的唯一作用就是使未决状态拷贝为当前状态,更新用于当前连接的密码组。为了保障SSL传输过程的安全性,双方应该每隔一段时间改变加密规范。

图1 SSL握手协议

(3)记录层协议

记录协议在客户机和服务器握手成功后使用,即客户机和服务器鉴别对方和确定安全信息交换使用的算法后,进入SSL记录协议,记录协议向SSL 连接提供两个服务,即保密性和完整性,其中保密性由握手协议定义的密钥决定;完整性由握手协议定义的MAC来保证。

(4)警告协议

客户机和服务器发现错误时,向对方发送一个警报消息。如果是致命错误,则算法会立即关闭SSL连接,双方还会先删除相关的会话号及密钥。每个警报消息共2个字节,第1个字节表示错误类型,如果是警报,则值为1,如果是致命错误,则值为2;第2个字节制定实际错误类型。

2.2 SSL协议实现过程

客户机和服务器,使用SSL协议和通信双方可以相互验证对方身份的真实性,并且能够保证数据的机密性和完整性。下面我们来看一下SSL协议实现过程的整体示意图如图2。

图2 SSL协议实现过程

SSL握手协议是SSL通信协议中第一个也是最重要的一个子协议,如图3-图6所示:

图3 SSL握手协议第一阶段

建立安全能力:SSL握手的第一阶段启动逻辑连接,建立这个连接的安全能力。首先客户机向服务器发出client hello消息并等待服务器响应,随后服务器向客户机返回server hello消息,对client hello消息中的信息进行确认。Client hello消息包括Version,Random,Session id,Cipher suite,Compression。

图4 SSL握手协议第二阶段

服务器鉴别与秘钥交换:服务器启动SSL握手第2阶段,是本阶段所有消息的唯一发送方,客户机是所有消息的唯一接收方。该阶段分为4步:(1)证书:服务器将数字证书和到根CA整个链发给客户端,使客户端能用服务器证书中的服务器公钥认证服务器;(2)服务器密钥交换(可选):这里视密钥交换算法而定;(3)证书请求:服务端可能会要求客户自身进行验证;(4)服务器握手完成:第二阶段的结束,第三阶段开始的信号。

客户鉴别与秘钥交换:SSL握手第三阶段,客户机是本阶段所有消息的唯一发送方,服务器是所有消息的唯一接收方。该阶段分为3步: (1)证书(可选):为了对服务器证明自身,客户要发送一个证书信息,在IIS中可以配置强制客户端证书认证。(2)客户机密钥交换(Pre-master-secret):这里客户端将预备主密钥发送给服务端,注意这里会使用服务端的公钥进行加密。(3)证书验证(可选):对预备秘密和随机数进行签名,证明拥有。(4)证书的公钥。如图所示为RSA方式的客户端验证和密钥交换,握手过程完成。

图5 握手协议第三阶段

图6 SSL握手协议第四阶段

2.3 抓包分析

以TLS为例进行通信分析(如图7)。

图7 TLS通信分析

客户端发起握手协商操作,它将发送一个ClientHello消息给服务器,消息中明确了其所支持的SSL/TLS版本、Cipher suite加密算法组合等,可以让服务器选择,并提供了一个客户端随机数,用于以后生成会话密钥使用。

图8 TLS通信报文

客户端所支持的加密算法如9所示:

图9 客户端支持算法

服务器将返回一个ServerHello消息,该消息包含了服务器选择的协议版本、加密算法,以及服务器随机数、会话ID等内容。其中,服务器选择的协议版本应小于等于客户端ClientHello中的协议版本。图10-图11所示即为服务器端所选择的协议版本、加密算法等。

图10 协议版本

图11 加密算法

发送Certificate消息,该消息包含了服务器的证书等信息,可通过证书链认证该证书的真实性。服务器发送ServerKeyExchange消息,消息中包含了服务器这边的 EC Diffie-Hellman算法相关参数。此消息一般只在选择使用DHE 和DH_anon等加密算法组合时才会由服务器发出。服务器发送ServerHelloDone消息,告知客户端服务器这边握手相关的消息发送完毕。

图12 报文分析

客户端发送ClientKeyExchange消息,消息中包含客户端这边的EC Diffie-Hellman算法相关参数,然后服务器和客户端都可根据接收到的对方参数和自身参数运算出Premaster secret,为生成会话密钥做准备。

客户端向服务器发送ChangeCipherSpec消息,通知服务器此消息以后客户端会以加密方式发送数据。

3 SSL协议应用及优缺点

可用于电子商务交易信息平台;浏览器安全浏览信息;邮件的安全传输等。SSL协议实施起来比较简单,对现有网络系统的修改也不是太大且具有较强的自主开发性,所以应用广泛。

但由于 SSL协议的安全传输的数据安全性是建立在传输过程中加密算法的鲁棒性和稳健性之上的,所以,网站或者交易平台在使用SSL协议的过程中,如果他们的加密算法被破解或者遭到攻击,那么SSL协议也会相应的失去效用。所以SSL协议在其应用上还存在一定的缺陷,并不能让满足对传输信息加密要求很高的传输过程。

图13 报文内容

4 结束语

对SSL协议的工作原理和工作过程做了简单介绍,并且抓包分析了SSL协议的工作过程。通过这次实验分析,更加透彻的了解了 SSL协议的工作方法以及在工作过程中可能遇到的问题。SSL协议自身存在一定的安全缺陷,还需要进行改进。

SSL协议是用于通信安全保密防护的一种协议,它对于未来网络通信发展有着重要意义。了解SSL协议的工作方式,对以后网络通信安全研究有着重大意义。

[1]郭正荣,周城.SSL协议工作过程及其应用[J].网络安全技术与应用,2004.

[2]胡晓晔,李峻屹.SSL协议分析及实现[J].电脑知识与技术,2008.

[3]董剑安,吴秋峰.SSL应用算法安全研究[J].网络安全技术与应用.

[4]陈鸿星,周媛兰.基于不对称加密的网络信息安全对策研究[J].网络安全技术与应用.

[5]覃东,曾红亮.基于SSL的客户端认证策略研究[J].计算机工程与设计,2008.

[6]寇亚洲.SSL密文会话分析与监控[D].北京交通大学,2012.

[7]侯刚,周洲,杜波 SSL VPN在电子政务网中的应用[J].网络安全技术与应用,2012.

[8]肖中杰.SSL及其在校园网WEB系统安全中的应用研究[J].网络安全技术与应用,2009.

[9]杨文凯.SSL VPN安全关键技术研究[D].西南交通大学,2010.

中央高校基本科研业务费专项资金资助项目(GK201503065),现代教学技术教育部重点实验室开放课题资助项目(SYSK201501),陕西师范大学非师范拔尖创新人才培养计划2017年度项目。

猜你喜欢

客户机加密算法密钥
幻中邂逅之金色密钥
密码系统中密钥的状态与保护*
基于整数矩阵乘法的图像加密算法
基于混沌系统和DNA编码的量子图像加密算法
TPM 2.0密钥迁移协议研究
一种对称密钥的密钥管理方法及系统
混沌参数调制下RSA数据加密算法研究
基于小波变换和混沌映射的图像加密算法
瘦客户机:安全与便捷的选择
升腾瘦客户机借神码翱翔“云端”