安全协议的安全性分析.docx
《安全协议的安全性分析.docx》由会员分享,可在线阅读,更多相关《安全协议的安全性分析.docx(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、安全协议的安全性分析(计算机工程与科学杂志)2014年第六期1ssl协议概述ssl协议由HandsHakeProtocol、CHangeCipHerspeCProtocol、alertProtocol以及reCordProtocol组成。其中,HandsHakeProtocol、CHangeCipHerspeCProtocol和alertProtocol这三个协议位于tCpip协议栈的应用层。reCordProtocol介于应用层和传输控制层之间。ssl协议与tCpip协议的体系构造如图所示。ssl协议中,ssl会话和ssl连接是两个重要的概念。ssl连接是指能够提供一种服务的传输方式。对于s
2、sl协议来讲,这样的连接是对等体之间的,即客户端与服务器形式。ssl会话是存在于客户端与服务器之间的一种联络,它为ssl连接规定了一组密码元件。相对于ssl会话,ssl连接是暂时的。每个ssl连接对应一个ssl会话。在ssl协议中,由于ssl会话的建立需要的计算量较大,为了使协议的运行效率提高,一个ssl会话通常对应多个不同的ssl连接。下面简单地介绍一下HandsHakeProtocol、CHangeCipHerspeCProtocol、alertProtocol以及reCordProtocol四个协议的内容。HandsHakeProtocol握手协议。sslHandsHakeProtoco
3、l是ssl协议中最复杂的部分,也是本文的攻击重点,这里有必要详述其流程。HandsHakeProtocol的流程如图所示。HandsHakeProtocol的流程大致可分为四个阶段:构建安全参数;服务器认证及密钥交换;客户端认证及密钥交换;结束。下面对其进行逐一阐述。阶段构建安全参数。这一阶段用于初始化一个逻辑上的连接,并在连接上定义安全参数。首先由客户端发送ClientHello给服务器。其中,ClientHello包含下面五个参数:上述五个参数的具体内容请参阅文献。服务器收到ClientHello后,发送serverHello给客户端。serverHello的参数类似于ClientHell
4、o的五个参数。需要注意的是,serverHello中的CipHersuite的选定取决于ClientHello中的CipHersuite提供的一组密码及密钥交换算法,且只能选定其中的一套密码及密钥交换算法。此外,版本的ssl协议中的CompressionmetHod默认值为null。本文的攻击对象为CipHersuite选定的密钥交换算法,需对其详述。客户端支持的密钥交换算法如下所述:rsa:密钥使用服务器的rsa公钥加密。客户端拥有服务器rsa公钥的公钥证书,公钥证书由可信任的证书机构签发。固定的diffieHellman:这是diffieHellman密钥交换算法。服务器的证书包含diff
5、ieHellman密钥交换算法中的服务器公钥,该证书由可信任的证书机构签发。假如服务器要求其发送证书,客户端可在其证书中提供客户端的diffieHellman公钥;假如不发送证书,可在密钥交换信息中发送客户端公钥。短暂的diffieHellman:类似于固定的diffieHellman,服务器传给客户端证书的同时,还有服务器使用rsa的私钥对diffieHellman公钥的签名。匿名diffieHellman:这也是diffieHellman密钥交换算法。服务器和客户端双方通过密钥交换信息将各自的diffieHellman公钥发送给对方,不需要认证。fortezza:fortezza方案的密钥
6、交换算法。阶段服务器认证及密钥交换。假如上一阶段需要服务器被认证,服务器将CertifiCate证书发送给客户端。除了匿名diffieHellman密钥交换,其余四种密钥交换都需要认证证书。接着,服务器只在下列三种情况下发送serverkeeCHange消息:fortezza。匿名diffieHellman:消息中包含一个大素数,一个关于该素数的原根以及服务器的diffieHellman公钥。短暂的diffieHellman:消息中除了匿名diffieHellman的三个元素外,还有关于该三个元素的签名。需要被认证的服务器发送CertifiCatereuest给客户端,要求客户端的Certif
7、iCate。最后,服务器发送serverHellodone给客户端。阶段客户端认证及密钥交换。假如在阶段要求了客户端的证书,此时,客户端发送CertifiCate给服务器。接着,客户端发送ClientkeeCHange消息给服务器。该消息的内容取决于密钥交换的方式:rsa:客户端生成te的premasterke,使用服务器的rsa公钥证书中的公钥对premasterke加密。短暂的或匿名diffieHellman:客户端的diffieHellman公钥。固定的diffieHellman:客户端的diffieHellman公钥包含在客户端CertifiCate中,因而内容是空的。fortezza
8、:客户端的fortezza参数。最后,客户端可能发送CertifiCateverif消息给服务器,用于服务器验证客户端CertifiCate。阶段结束。客户端发送CHangeCipHerspeC消息给服务器,值得注意的是,该消息是客户端利用CHangeCipHerspeCProtocol发送的,不属于HandsHakeProtocol。之后,客户端使用协商好的密码算法及密钥对finisHed消息加密,并将密文发送给服务器。服务器利用CHangeCipHerspeCProtocol发送CHangeCipHerspeC消息给客户端,服务器同样使用协商好的密码算法及密钥对finisHed消息加密,并
9、将密文发送给客户端。到此,客户端与服务器的安全连接建立完毕,二者可利用协商好的密码算法及密钥进行保密通信了。reCordProtocol记录层协议。sslreCordProtocol为ssl连接提供了两种服务:机密性。sslHandsHakeProtocol定义了一个分组密码或流密码的加密分享密钥,sslreCordProtocol利用分享密钥和常规的分组密码或流密码算法对ssl的有效载荷进行加密。消息完好性。sslHandsHakeProtocol定义了一个maC消息认证码分享密钥,sslreCordProtocol利用该maC分享密钥和HasH函数生成了关于消息的消息认证码。sslreCo
10、rdProtocol对应用层的数据进行分段、压缩可选项、计算maC、加密、添加sslreCordProtocol的报头,最后将结果参加tCp段中。CHangeCipHerspeCProtocol改变密码规范协议。CHangeCipHerspeCProtocol只包含一个字节的信息,该字节的值为。该字节的信息利用sslreCordProtocol的当前密码算法和密钥加密。加了密的信息在客户端和服务器之间传输,双方解密之后获得信息,之后的sslreCordprotoCol中的数据将由刚协商好的密码算法及密钥进行加密传输。alertProtocol警告协议。在alertProtocol中,大多数的a
11、lert消息都是毁灭性的,它告诉接受者客户端或服务器立即中断会话。例如,Closenotif消息表明发送者已完成在连接上发送应用程序的数据。详述请参阅文献。2ssl协议的安全性分析客户端和服务器利用ssl协议在不安全的链路中建立一条安全的连接通道。通过本文对ssl协议的阐述可知,影响ssl协议安全施行的关键在于HandsHakeProtocol。下面对于HandsHakeProtocol做进一步的安全分析。由文中的第节可知,HandsHakeProtocol中的认证及密钥交换部分是影响安全的主要因素。认证完成,密钥建立之后,客户端和服务器就能安全地进行保密通信。在这种情况下,攻击者的攻击就是针
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 安全 协议 安全性 分析
限制150内