SSL详解与分析.ppt

上传人:b****3 文档编号:2732042 上传时间:2022-11-10 格式:PPT 页数:5 大小:1.08MB
下载 相关 举报
SSL详解与分析.ppt_第1页
第1页 / 共5页
SSL详解与分析.ppt_第2页
第2页 / 共5页
SSL详解与分析.ppt_第3页
第3页 / 共5页
SSL详解与分析.ppt_第4页
第4页 / 共5页
SSL详解与分析.ppt_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

SSL详解与分析.ppt

《SSL详解与分析.ppt》由会员分享,可在线阅读,更多相关《SSL详解与分析.ppt(5页珍藏版)》请在冰豆网上搜索。

SSL详解与分析.ppt

引言引言SSL是一种在是一种在客户端和服务器端之间建立安全通道客户端和服务器端之间建立安全通道的协议。

的协议。

SSL一经提出,就在Internet上得到广泛的应用。

SSL最常用来保护Web的安全。

为了保护存有敏感信息为了保护存有敏感信息Web的的服务器的安全服务器的安全,消除用户在,消除用户在Internet上数据传输的安全顾虑。

上数据传输的安全顾虑。

OpenSSL是一个支持是一个支持SSL认证的服务器认证的服务器它是一个源码开放的自由软件,支持多种操作系统它是一个源码开放的自由软件,支持多种操作系统。

OpenSSL软件的目的是实现一个完整的、健壮的、商业级的软件的目的是实现一个完整的、健壮的、商业级的开放源码工具开放源码工具,通过强大的加密算法来实现建立在传,通过强大的加密算法来实现建立在传输层之上的安全性。

输层之上的安全性。

OpenSSL包含一套包含一套SSL协议的完整接口,应用程序应用它们可以很方便的建立起安全套接层,协议的完整接口,应用程序应用它们可以很方便的建立起安全套接层,进而能够通过网络进行安全的数据传输。

进而能够通过网络进行安全的数据传输。

协议的起源协议的起源:

随着计算机网络技术向整个经济社会各层次延伸,整个社会表现对整个社会表现对Internet、Intranet、Extranet等等使用的更大的依赖性。

使用的更大的依赖性。

随着企业间信息交互的不断增加,任何一种网络应用和增值服务的使用程度将取决于所使任何一种网络应用和增值服务的使用程度将取决于所使用网络的信息安全有无保障,网络安全已成为现代计算机网络应用的最大障碍,也是急需解决的难题之一。

用网络的信息安全有无保障,网络安全已成为现代计算机网络应用的最大障碍,也是急需解决的难题之一。

由于由于Web上有时要传输重要或敏感的数据,因此上有时要传输重要或敏感的数据,因此Netscape公司在推出公司在推出Web浏览器首版的同时,提出了安全通信协浏览器首版的同时,提出了安全通信协议议SSL(SecureSocketLayer),目前已有2.0和3.0版本。

SSL采用公开密钥技术。

其目标是保证两个应用间通信的采用公开密钥技术。

其目标是保证两个应用间通信的保密性和可靠性保密性和可靠性,可在服务器和客户机两端同时实现支持。

可在服务器和客户机两端同时实现支持。

目前,利用公开密钥技术的SSL协议,并已成为Internet上保密通讯的工业标准。

现行现行Web浏览器普遍将浏览器普遍将HTTP和和SSL相结合,从而实现安全通信。

相结合,从而实现安全通信。

一一SSL协议概述协议概述SSL是是SecuresocketLayer英文缩写,它的中文意思是安全套接层协议安全套接层协议,指使用公钥和私钥技术用公钥和私钥技术组合的安全网络通讯协议。

组合的安全网络通讯协议。

SSL协议是网景公司协议是网景公司(Netscape)推出的基于推出的基于WEB应用的安全协议,应用的安全协议,SSL协议指定了一协议指定了一种在应用程序协议种在应用程序协议(如如Http、Telenet、NMTP和和FTP等等)和和TCP/IP协议之间提供数据安全性分层的机制协议之间提供数据安全性分层的机制,它为它为TCP/IP连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证,主要用于提高应用程序之间数据的安全性,对对传送的数据进行加密和隐藏传送的数据进行加密和隐藏,确保数据在传送中不被改变确保数据在传送中不被改变,即确保数据的完整性。

即确保数据的完整性。

SSL协议提供的服务主要有:

1)认证用户和服务器,确保数据发送到正确的客户机和服务器;)认证用户和服务器,确保数据发送到正确的客户机和服务器;2)加密数据以防止数据中途被窃取;)加密数据以防止数据中途被窃取;3)维护数据的完整性,确保数据在传输过程中不被改变)维护数据的完整性,确保数据在传输过程中不被改变SSL以对称密码技术和公开密码技术相结合,可以实现如下三个通信目标以对称密码技术和公开密码技术相结合,可以实现如下三个通信目标:

1)秘密性:

秘密性:

SSL客户机和服务器之间传送的数据都经过了加密处理客户机和服务器之间传送的数据都经过了加密处理,网络中的非法窃听者所获取的信息都将是无意网络中的非法窃听者所获取的信息都将是无意义的密文信息。

义的密文信息。

2)完整性:

完整性:

SSL利用密码算法和散列利用密码算法和散列(HASH)函数函数,通过对传输信息特征值的提取来保证信息的完整性通过对传输信息特征值的提取来保证信息的完整性,确保要传输的信息全部到达目的地,可以避免服务器和客户机之间的信息受到破坏。

3)认证性:

认证性:

利用证书技术和可信的第三方认证利用证书技术和可信的第三方认证,可以让客户机和服务器相互识别对方的身份。

可以让客户机和服务器相互识别对方的身份。

为了验证证书持有者是其合法用户(而不是冒名用户),SSL要求证书持有者在握手时相互交换数字证书要求证书持有者在握手时相互交换数字证书,通过验证来保证对方身份的合法性。

通过验证来保证对方身份的合法性。

二SSL协议的体系结构SSL协议位于协议位于TCP/IP协议模型的网络层和应用层之间协议模型的网络层和应用层之间,使用TCP来提供一种可靠的端到端的安全服务,它使客户它使客户/服务器应用之间的通信不被攻击窃听服务器应用之间的通信不被攻击窃听,并且始终对服务器进行认证并且始终对服务器进行认证,还可以选择对客户进行认证。

还可以选择对客户进行认证。

SSL协议在应用层通信之前就已经完成加密算法、通信密钥的协商以及服务器认证工作协议在应用层通信之前就已经完成加密算法、通信密钥的协商以及服务器认证工作,在此之后在此之后,应用层协议所传送的数据都被加密。

应用层协议所传送的数据都被加密。

SSL实际上是共同工作的两层协议组成,如图1所示。

从体系结构图可以看出SSL安全协议实际是安全协议实际是SSL握手协议、握手协议、SSL修改密文协议、修改密文协议、SSL警告协议和警告协议和SSL记录协议组成的一个协议记录协议组成的一个协议族族。

握手协议握手协议修改密文协议修改密文协议报警协议报警协议SSL记录协议记录协议TCPIPSSL记录协议为记录协议为SSL连接提供了两种服务连接提供了两种服务:

一是机密性一是机密性,二是消息完整性。

二是消息完整性。

为了实现这两种服务,SSL记录协议对接收的数据和被接收的数据工作过程是如何实现的呢?

SSL记录协议接收传输的应用报文,将数据分片成可管理的块,进行数据压缩(可选),应用MAC,接着利用IDEA、DES、3DES或其他加密算法进行数据加密,最后增加由内容类型、主要版本、次要版本和压缩长度组成的首部。

被接收的数据刚好与接收数据工作过程相反,依次被解密、验证、解压缩和重新装配,然后交给更高级用户。

SSL修改密文协议修改密文协议是使用SSL记录协议服务的SSL高层协议的3个特定协议之一,也是其中最简单的一个。

协议由单个消息组成,该消息只包含一个值为1的单个字节。

该消息的唯一作用就是使未决状态拷贝为当前状态,更新用于当前连接的密码组。

为了保障SSL传输过程的安全性,双方应该每隔一段时间改变加密规范。

SSL告警协议告警协议是用来为对等实体传递SSL的相关警告。

如果在通信过程中某一方发现任何异常,就需要给对方发送一条警示消息通告。

警示消息有两种:

一种是Fatal错误,如传递数据过程中,发现错误的MAC,双方就需要立即中断会话,同时消除自己缓冲区相应的会话记录;第二种是Warning消息,这种情况,通信双方通常都只是记录日志,而对通信过程不造成任何影响。

SSL握手协议可以使得服务器和客户能够相互鉴别对方,协商具体的加密算法和MAC算法以及保密密钥,用来保护在SSL记录中发送的数据。

SSL握手协议握手协议允许通信实体在交换应用数据之前协商密钥的算法、加密密钥和对客户端进行认证(可选)的协议,为下一步记录协议要使用的密钥信息进行协商,使客户端和服务器建立并保持安全通信的状态信息。

SSL握手协议是在任何应用程序数据传输之前使用的。

SSL握手协议包含四个阶段:

第一个阶段建立安全能力;第二个阶段服务器鉴别和密钥交换;第三个阶段客户鉴别和密钥交换;第四个阶段完成握手协议。

图1SSL结构体系三三SSLSSL协议的工作流程协议的工作流程服务器认证阶段服务器认证阶段:

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

以便开始一个新的会话连接。

2)服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的“Hello”信息时将包含信息时将包含生成主密钥所需的信息;生成主密钥所需的信息;3)客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器;客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器;4)服务器恢复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器。

用户认证阶段:

用户认证阶段:

在此之前,服务器已经通过了客户认证,这一阶段主要完成对客户的认证。

经认证的服务器发送一个提问给客户,客户则返回(数字)签名后的提问和其公开密钥,从而向服务器提供认证。

从SSL协议所提供的服务及其工作流程可以看出,SSL协议运行的基础是商家对消费者信息保密的承诺,这就有商家对消费者信息保密的承诺,这就有利于商家而不利于消费者。

利于商家而不利于消费者。

在电子商务初级阶段,由于运作电子商务的企业大多是信誉较高的大公司,因此这问题还没有充分暴露出来。

但随着电子商务的发展,各中小型公司也参与进来,这样在电子支付过程中的单一认证问题就越来越突出。

虽然在SSL3.0中通过数字签名和数字证书可实现浏览器和中通过数字签名和数字证书可实现浏览器和Web服务器双方的身份验证,但是服务器双方的身份验证,但是SSL协议仍存在一些问题,协议仍存在一些问题,比如,只能提供交易中客户与服务器间的双方认证,在涉及多方的电子交易中,SSL协议并不能协调各方间的安全传输和信任关系。

在这种情况下,Visa和和MasterCard两大信用卡公组织制定了两大信用卡公组织制定了SET协议,为网上信用卡支付协议,为网上信用卡支付提供了全球性的标准。

提供了全球性的标准。

四四SSL协议的实现协议的实现基于基于OpenSSL的程序可以被分为两个部分:

客户机和服务器的程序可以被分为两个部分:

客户机和服务器,使用使用SSL协议使通信双方可以相互验证对方身份的真协议使通信双方可以相互验证对方身份的真实性,并且能够保证数据的完整性和机密性。

实性,并且能够保证数据的完整性和机密性。

建立SSL通信的过程如图2所示。

SSL通信模型采用标准的通信模型采用标准的C/S结构,除了在结构,除了在TCP层上进行传输之外,与普通的网络通信协议没有太大的区别,层上进行传输之外,与普通的网络通信协议没有太大的区别,基于基于OpenSSL的程序都要遵循以下几个步骤:

的程序都要遵循以下几个步骤:

1)OpenSSL初始化初始化在使用OpenSSL之前,必须进行相应的协议初始化工作,这可以通过下面的函数实现:

intSSL_library_int(void);2)选择会话协议选择会话协议在利用OpenSSL开始SSL会话之前,需要为客户端和服务器制定本次会话采用的协议,目前能够使用的协议包括TLSv1.0、SSLv2、SSLv3、SSLv2/v3。

需要注意的是,客户端和服务器必须使用相互兼容的协议,否则SSL会话将无法正常进行。

3)创建会话环境创建会话环境在OpenSSL中创建的SSL会话环境称为CTX,使用不同的协议会话,其环境也不一样的。

4)建立建立SSL套接字套接字SSL套接字是建立在普通的TCP套接字基础之上,在建立SSL套接字时可以使用下面的一些函数:

SSL*SSl_new(SSL_CTX*ctx);/申请一个申请一个SSL套接字套接字intSSL

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 法学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1