《安全套接层协议.ppt》由会员分享,可在线阅读,更多相关《安全套接层协议.ppt(80页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、网络网络的出现网 络网 络改变了计算机计算机的工作方式nInternet在中国1987:中国科学院高能物理所通过国际连网线路进入Internet,进行专项科学项目的国际交流。1991:高能物理所利用与Internet的连接开始为全国科学技术与教育界的专家提供服务,形成了高能物理网。1994:中科院教育与科研示范网、国家教委科研教育网、国家公共数据网先后连入Internet。n 计算机网络协议通过网络连接的计算机之间在通信中必须遵守一定的约定和规程,以保证能够相互连接和正确交换信息,这些约定和规程是事先制定的,并以标准的形式固定下来,这就是网络协议。n OSI/RM模型国 际 标 准 化 组 织
2、 ISO(International Standards Organization)提出了开放系统互联 参 考 模 型 OSI/RM(Open System Interconnection/Reference Model),作为提出各种计算机网络系统网络协议时建议遵守的基本模型。n OSI/RM模型应用层表示层会话层传输层网络层数据链路层物理链路层关心原始数据的传输关心网络中的应用程序n OSI/RM模型 每一层协议建立在它的下层协议的基础上,每一层又为其上层提供服务,完成上层提交的任务。至于在一层内如何进行服务的细节,对上层则是隐蔽的。n OSI/RM模型应用层表示层会话层传输层网络层数据链
3、路层物理链路层data计算机A传输n OSI/RM模型应用层表示层会话层传输层网络层数据链路层物理链路层data计算机B接收n OSI/RM模型 OSI/RM模型实现对等层之间的逻辑通信。应用层表示层会话层传输层网络层数据链路层物理链路层应用层表示层会话层传输层网络层数据链路层物理链路层n OSI/RM模型-7-应用层 应用层协议是与其他计算机进行通讯的一个应用协议,它是对应应用程序的通信服务的,如例:HTTP、FTP、SMTP等。n OSI/RM模型-6-表示层 表示层协议的主要功能是定义数据表示及加密、压缩等。其中数据表示解决了连接到网络的不同计算机之间数据表示的差异。数据安全对数据进行加
4、密与解密使得通信安全得到了保证;数据压缩能够以压缩的形式传输数据,以最优化的方式利用信道。n OSI/RM模型-5-会话层 会话层协议允许不同计算机上的两个应用程序建立、使用和结束会话连接,包括会话的建立、会话的控制(例如允许信息双向传输或某一时刻只能单向传输),以及结束会话连接等。n OSI/RM模型-4-传输层 传输层协议涉及通信中数据从一端到另一端的透明传送,以及错误处理。传输层要保证信息传送的正确无误,并且使会话层不受硬件技术变化的影响。n OSI/RM模型-3-网络层 网络层协议包含对数据的分组、从源端机到目端机的路径选择、阻塞控制等,以及跨网络传送中可能出现的不同的寻址方式、分组长
5、度和协议的处理。n OSI/RM模型-2-数据链路层 数据链路层协议解决数据的正确传送问题。发送方把送出的信息拆分数据帧,然后依序传送各帧,提供错误检测手段,接收和处理回执帧,重发没有正确传送的数据帧,解决传输速度的匹配。n OSI/RM模型-1-物理链路层 物理链路层协议规定物理链路的参数,如信号的幅度、宽度、链路的电气和机械特性等。Internet的网络协议的网络协议nTCP/IP协议 所谓Internet的协议是指在Internet的网络之间以及各成员网内部交换信息时要求遵循的网络通信协议,TCP/IP是Internet使用的网络协议的统称。(二)(二)Internet的网络协议的网络协
6、议nTCP/IP与OSI/RM应用层表示层会话层传输层网络层数据链路层物理链路层OSI/RM模型应用层传输层网络层数据链路层物理链路层TCP/IP协议模型(二)(二)Internet的网络协议的网络协议nTCP/IP协议模型Application(应用)应用层协议TCP/用户数据报协议(Transfer Control Protocol)IP/Internet控制报文协议(Internet Protocol)数据链路层协议物理链路层协议Transfer(传输)Internet(网络)Data Link(数据链路)Physics Link(物理链路)(二)(二)Internet的网络协议的网络协
7、议nTCP/IP协议应用层子协议文件传输协议(文件传输协议(File Transfer ProtocolFile Transfer ProtocolFTPFTP)简单邮件传输协议(简单邮件传输协议(Simple Mail Transfer Simple Mail Transfer ProtocolProtocolSMTPSMTP)远程连接协议远程连接协议 (Telnet Protocol (Telnet Protocol TelnetTelnet)超文本传输协议超文本传输协议 (Hyper Text Transfer Protocol(Hyper Text Transfer ProtocolH
8、TTPHTTP)n非TCP/IP协议网络与Internet连接网关非TCP/IP网络InternetInternet的出现改变了人们的生活人们的生活方式国际互联网Internet第六章第六章安全套阶层协议安全套阶层协议SSLSSL引言引言 网络安全是电子商务发展的基本前提。网络安全是电子商务发展的基本前提。电子商务中的信息交换往往需要通过公共网电子商务中的信息交换往往需要通过公共网的传输。为了保护公共网上的任意两点之间的传输。为了保护公共网上的任意两点之间的信息交换的安全,出现了各种用于加强的信息交换的安全,出现了各种用于加强InternetInternet通信安全的协议。通信安全的协议。国际
9、上大概有国际上大概有3030家主要的软、硬件供应家主要的软、硬件供应商组成了一个组织,即商组成了一个组织,即RosettRosett Net Net,着手制,着手制定统一的电子商务标准和协议。定统一的电子商务标准和协议。Company Logov安全套接层协议(安全套接层协议(Secure SocketsSecure SocketsLayerLayer,SSLSSL)v基于信用卡交易的安全电子协议(基于信用卡交易的安全电子协议(Secure Electronic Secure Electronic TransactionTransaction,SETSET)v安全安全HTTPHTTP(S-HT
10、TPS-HTTP)协议)协议v安全电子邮件协议(安全电子邮件协议(PEMPEM、S/MIMES/MIME等)等)v用于公对公交易的用于公对公交易的Internet EDIInternet EDI等。等。v此外在此外在InternetInternet网上利用网上利用IPSecIPSec标准建设虚拟专用网,标准建设虚拟专用网,利用利用VPNVPN为企业、政府提供一些基本的安全服务为企业、政府提供一些基本的安全服务.目前国际上流行的电子商务所采用的协议主要有:目前国际上流行的电子商务所采用的协议主要有:Company Logo本章内容本章内容SSL SSL 概述概述 SSL SSL 握手协议握手协议
11、SSL SSL 记录协议记录协议SSL SSL 协议采用的加密和认证算法协议采用的加密和认证算法SSL SSL 协议安全行分析协议安全行分析WindowsWindows下下 SLLSLL的配置的配置Company Logo InternetInternet上对应的七层网络模型的每一层上对应的七层网络模型的每一层都已经提出了相应的加密协议。都已经提出了相应的加密协议。SSLSSL是工作于是工作于网络会话层(网络会话层(Socket LayerSocket Layer)的网络安全协议)的网络安全协议。6.1 SSL 6.1 SSL 概述概述SSL协议是一种国际标准的加密及身份认证的通协议是一种国际
12、标准的加密及身份认证的通信协议,最初由美国的信协议,最初由美国的Netscape公司为互联网公司为互联网上保密文档传送而研究开发的,后来就成为了上保密文档传送而研究开发的,后来就成为了Internet网上安全通信与交易的标准。网上安全通信与交易的标准。Company LogoWebWebWebWeb上部署最为广上部署最为广上部署最为广上部署最为广泛的信息安全协泛的信息安全协泛的信息安全协泛的信息安全协议之一议之一议之一议之一TLSSSLV3.0SSLV2.0NetscapeCompany Logo6.1 SSL 6.1 SSL 概述概述 近年来,近年来,SSLSSL的应用领域不断被拓宽,的应用
13、领域不断被拓宽,许多在网络上传输的敏感信息许多在网络上传输的敏感信息(电子商务、电子商务、金融业务中的信用卡号或金融业务中的信用卡号或PINPIN码等机密消息码等机密消息)都纷纷采用了都纷纷采用了SSLSSL来进行安全保护。来进行安全保护。Company Logo原理原理信息验证码信息验证码(message(message authenticatauthentication codes,ion codes,MAC)MAC)加密传输加密传输数字证书认数字证书认证发送者和证发送者和接受者接受者机密性机密性完整性完整性身份认证身份认证Company Logo 总之,总之,SSL协议的整个概念可以总结
14、为:一协议的整个概念可以总结为:一个保证任何安装了安全套阶层的客户和服务器间个保证任何安装了安全套阶层的客户和服务器间事务安全的协议,它涉及所有的事务安全的协议,它涉及所有的TCP/IP应用程应用程序。该协议工作在传输层之上,应用层之下,其序。该协议工作在传输层之上,应用层之下,其底层是基于传输层可靠的流传输协议底层是基于传输层可靠的流传输协议(TCP)HTTP/Telnet/SMTP/FTPSSLTCPIPAPPLICATIONAPPLICATIONTCPTCPIPIPSLLSLLCompany Logo特性特性SSL协议可用于保护正常运行于协议可用于保护正常运行于TCP之上的任何应用之上的
15、任何应用协议,如协议,如HTTP、FTP、SMTP或或Telnet的通信,的通信,最常最常见的是用见的是用SSL来保护来保护HTTP的通信。的通信。它是与应用层协议无关的它是与应用层协议无关的在应用层协议之前就已经完成加密算法、通信密钥的协商在应用层协议之前就已经完成加密算法、通信密钥的协商以及服务器的认证工作。在此之后应用层协议所传送的数以及服务器的认证工作。在此之后应用层协议所传送的数据都会被加密,从而保证通信的安全性据都会被加密,从而保证通信的安全性Company LogovSSL协议使用通信双方的协议使用通信双方的客户证书以及客户证书以及CA根证书根证书,允,允许客户许客户/服务器应用
16、以一种不能被偷听的方式通信,在服务器应用以一种不能被偷听的方式通信,在通信双方间建立起了一条安全的、可信任的通信通道。通信双方间建立起了一条安全的、可信任的通信通道。v该协议使用密钥对传送数据加密,许多网站都是通过这该协议使用密钥对传送数据加密,许多网站都是通过这种协议从客户端接收信用卡编号等保密信息。它被认为是种协议从客户端接收信用卡编号等保密信息。它被认为是最安全的在线交易模式。最安全的在线交易模式。Company Logo6.1.2 SSL6.1.2 SSL协议提供的服务及实现步骤协议提供的服务及实现步骤客户对服务器的身份认证客户对服务器的身份认证SSL服务器允许客户的浏览器使用标准的公
17、钥加密技术和一些可靠的认证中心(CA)的证书,来确认服务器的合法性。服务器对客户的身份认证服务器对客户的身份认证也可通过公钥技术和证书进行认证,也可通过用户名,password来认证。建立服务器与客户之间安全的数据通道建立服务器与客户之间安全的数据通道SSL要求客户与服务器之间的所有发送的数据都被发送端加密、接收端解密,同时还检查 数据的完整性SSLSSL解决的问题(功能)解决的问题(功能)Company Logov客户和服务器的合法性认证客户和服务器的合法性认证认证客户和服务器的合法性,使得它们能够确信数据被发送到正确的客户机和服务器上(均有各自的识别号,由公开密钥进行编号,为了验证客户是否
18、合法,SSL要求在握手交换数据时进行数字认证,以此来确保客户的合法性)v加密数据以隐藏被传送的数据加密数据以隐藏被传送的数据对称密钥技术,公开密钥技术,在数据交换之前,交换SSL初始握手信息。v保护数据的完整性保护数据的完整性采用Hash函数和机密共享的方法来提供信息的完整性服务。SSL安全协议主要提供服务:Company Logov接通阶段:客户机通过网络向服务器打招呼,服务器回应;v密码交换阶段:客户机与服务器之间交换双方认可的密码,一般选用RSA密码算法;(Diffie-Hellman和Fortezza-KEA)v会谈密码阶段:客户机器与服务器间产生彼此交谈的会谈密码;SSLSSL协议实
19、现的六个阶段协议实现的六个阶段Company Logov检验阶段:客户机检验服务器取得的密码;v客户认证阶段:服务器验证客户机的可信度;v结束阶段:客户机与服务器之间相互交换结束的信息。Company Logo 当上述动作完成之后,两者见的资料传送就当上述动作完成之后,两者见的资料传送就会加密,另外一方收到资料后,再将编码资料还会加密,另外一方收到资料后,再将编码资料还原。即使盗窃者在网络上取得编码后的资料,如原。即使盗窃者在网络上取得编码后的资料,如果没有原先编制的密码算法,也不能获得可读的果没有原先编制的密码算法,也不能获得可读的有用资料。有用资料。发送时信息用对称密钥加密,对称密钥用非发
20、送时信息用对称密钥加密,对称密钥用非对称算法加密,再把两个包绑在一起传送过去。对称算法加密,再把两个包绑在一起传送过去。接收过程与发送过程正好相反,先打开有对接收过程与发送过程正好相反,先打开有对称密钥的加密包,再用对称密钥解密。称密钥的加密包,再用对称密钥解密。Company LogoCompany Logo6.1.3 SSL6.1.3 SSL协议与电子商务协议与电子商务这种信号交换导致客户和服务器同意将使用的这种信号交换导致客户和服务器同意将使用的安全性级别,并履行连接的任何身份验证要求。安全性级别,并履行连接的任何身份验证要求。通过通过数字签名和数字证书数字签名和数字证书可实现浏览器和可
21、实现浏览器和WebWeb服服务器双方的身份验证。务器双方的身份验证。在用数字证书对双方的身份验证后,双方就可在用数字证书对双方的身份验证后,双方就可以用保密密钥进行安全的会话了。以用保密密钥进行安全的会话了。它提供一种基于RSA和保密密钥的用于浏览器和Web服务器之间的安全连接技术。SSL 提供了用于启动 TCP/IP 连接的安全性“信号交换”。Company Logo许多网上的商店应用了许多网上的商店应用了SSL协议协议中国目前多家银行均采用中国目前多家银行均采用SSL协议,可以完成协议,可以完成实时支付,用的最多的就是招商银行一网通。实时支付,用的最多的就是招商银行一网通。许多电子交易中应
22、用了许多电子交易中应用了SSL协议协议Company LogoSSL当初并不是为支持电子商务而设计的,所当初并不是为支持电子商务而设计的,所以在电子商务系统的应用中还存在很多弊端以在电子商务系统的应用中还存在很多弊端:vSSL是一个面向连接的协议,在涉及多方的电子交易是一个面向连接的协议,在涉及多方的电子交易中,只能提供交易中客户与服务器间的双方认证,而中,只能提供交易中客户与服务器间的双方认证,而电子商务往往是客户、网站、银行三家协作完成电子商务往往是客户、网站、银行三家协作完成,SSL协议并不能协调各方间的安全传输和信任关系;协议并不能协调各方间的安全传输和信任关系;v购货时客户要输入通信
23、地址,这样将可能使得客户收购货时客户要输入通信地址,这样将可能使得客户收到大量垃圾信件。到大量垃圾信件。Company LogovSSL协议运行的基点是商家对客户信息保密的协议运行的基点是商家对客户信息保密的承诺。但在上述流程中承诺。但在上述流程中SSL协议有利于商家而协议有利于商家而不利于客户。客户的信息首先传到商家,商家不利于客户。客户的信息首先传到商家,商家阅读后再传到银行,这样,客户资料的安全性阅读后再传到银行,这样,客户资料的安全性便受到威胁。便受到威胁。Company Logov随着电子商务参与方的迅速增加,认证问题越来越突出,SSL协议的缺点完全暴露出来。SSL协议逐渐被新的SE
24、T协议所取代。v目前我国开发的电子支付系统,无论是中国银行的长城卡电子支付系统,还是上海长途电信局的网上支付系统,均没有采用SSL协议,主要原因就是无法保证客户资金的安全性。Company Logo6.1.4 SSL协议的分层结构协议的分层结构vSSLSSL协议具有两层结构协议具有两层结构:其底层是SSL记录协议层(SSL Record Protocol Layer),简称记录层。其高层是SSL握手协议层(SSL Handshake Protocol Layer),简称握手层.vSSLSSL的设计概念是希望使用的设计概念是希望使用TCPTCP来提供一个可靠的来提供一个可靠的端对端的安全性服务。
25、端对端的安全性服务。SSLSSL并不是单一个协议,而并不是单一个协议,而是由二层协议来组成是由二层协议来组成Company Logo应应用用层协议层协议(HTTP、Telnet、FTP、SMTP等)等)SSL握手握手协议协议(Handshake Protocol)SSL记录协议记录协议(Record Protocol)TCP协议协议IP协议协议SSL协议协议图图6.2 SSL协议协议的分的分层结层结构构Company Logo两个通信主体:客户和服务器两个通信主体:客户和服务器 客户客户(client)(client)和服务器和服务器(server)(server)其中,客户是协议的发起者。在
26、其中,客户是协议的发起者。在SSLSSL协议中定义的协议中定义的客户和服务器与通常讲的客户客户和服务器与通常讲的客户/服务器(服务器(C/SC/S)结构中的)结构中的客户与服务器含义不同。客户与服务器含义不同。当当SSLSSL协议与用户协议与用户/服务器结构结合使用时,客户服务器结构结合使用时,客户/服务器服务器结构下方的客户应用其下方的结构下方的客户应用其下方的SSLSSL协议,以协议,以SSLSSL协议的客户协议的客户身份运行;客户身份运行;客户/服务器结构下方的服务器应用其下方的服务器结构下方的服务器应用其下方的SSLSSL协议,以协议,以SSLSSL协议的服务器身份来运行。协议的服务器
27、身份来运行。在通常的客户在通常的客户/服务器结构中,应用层从请求服务和提供服务器结构中,应用层从请求服务和提供服务的角度定义客户和服务器,而服务的角度定义客户和服务器,而SSLSSL协议从建立加密参协议从建立加密参数的过程中所扮演的角色来定义客户和服务器。数的过程中所扮演的角色来定义客户和服务器。Company Logo两个最重要的概念:两个最重要的概念:session 和和 connection Connection(连接连接):是一个在传输层协议上的传输媒:是一个在传输层协议上的传输媒介。它提供一个适当的服务。在介。它提供一个适当的服务。在SSL中,这些连接就是中,这些连接就是peer-t
28、o-peer间的关系,而且是短暂的。连接建立在间的关系,而且是短暂的。连接建立在会话的基础上,每个连接与一个会话相关联,并对应到会话的基础上,每个连接与一个会话相关联,并对应到一个会话。一个会话。Session(会话会话):SSL会话建立客户与服务器之间的一会话建立客户与服务器之间的一个关联个关联(association)。每一组客户端和服务器之间关系。每一组客户端和服务器之间关系就是一个就是一个SSL session。其是由。其是由Handshake协议来产协议来产生的。这些会话就会定义一组以密码方式为基础的安全性生的。这些会话就会定义一组以密码方式为基础的安全性参数,这些参数能够由多个连接
29、来共同使用。也就是说,参数,这些参数能够由多个连接来共同使用。也就是说,使用会话能够避免每次有新的连接时,都得重新协调安全使用会话能够避免每次有新的连接时,都得重新协调安全性参数的过程,从而大大减少开销。性参数的过程,从而大大减少开销。Company LogoSSLSSL的会话与连接的会话与连接会话会话连接连接1连接连接2连接连接3连接连接1连接连接2连接连接3连接连接1连接连接1连接连接1连接与会话之间的关系如图所示连接与会话之间的关系如图所示,在任意一对通信主体之间,可以有多个安全连接。在任意一对通信主体之间,可以有多个安全连接。Company Logo 任何一对正在互动的应用程序中任何一
30、对正在互动的应用程序中(如客户端与服务如客户端与服务器器HTTP应用程序应用程序),其间可能包含一条以上的安全性连,其间可能包含一条以上的安全性连接。理论上,它们之间也可以同时拥有多个会话,但是接。理论上,它们之间也可以同时拥有多个会话,但是这个情况在实际应用上比较少使用。这个情况在实际应用上比较少使用。每一个会话都会有几种状态:每一个会话都会有几种状态:当会话刚建立时,其运作状态属于读取当会话刚建立时,其运作状态属于读取(Read)和写和写入入(Write)也就是接收以及传送。除此之外,当也就是接收以及传送。除此之外,当Handshake协议正在进行时,会发生即将读取协议正在进行时,会发生即
31、将读取(pending read)以及即将写入状态以及即将写入状态(pending write)。一旦。一旦Handshake协议执行成功后,这些协议执行成功后,这些pending state便便会成为目前状态。会成为目前状态。Company Logo每一个会话的状态包含以下参数每一个会话的状态包含以下参数(SSL规格书中的规格书中的定义定义)1.Session identifier(会话标识符会话标识符)2.Peercertificate(对方认证对方认证)3.Compressionmethod(压缩算法压缩算法)4.Cipherspec(密码规格密码规格)5.Mastersecret(主密
32、钥主密钥)6.IsresumableCompany Logo每一个连接的状态包含以下参数 1.Serverandclientrandom 2.Server write MAC secret 3.Client write MAC secret 4.Server write key 5.Client write key 6.Initialization vector 7.Sequence numberCompany Logo6.2 SSL6.2 SSL握手协议握手协议v主要用来让客户端及服务器确认彼此的身分。主要用来让客户端及服务器确认彼此的身分。v为了保护为了保护SSL记录封包中传送的数据,记录
33、封包中传送的数据,Handshake协议还能协助双方选择连接时所会协议还能协助双方选择连接时所会使用的加密算法、使用的加密算法、MAC算法、及相关密钥。算法、及相关密钥。v在传送应用程序的数据前,必须使用在传送应用程序的数据前,必须使用Handshake 协议来完成上述事项。协议来完成上述事项。Company LogoHandshake Handshake 由一些客户与服务器的消息构由一些客户与服务器的消息构成,每一个消息都含有以下成,每一个消息都含有以下3 3个字段:个字段:(1)类型类型(Type)(2)长度长度(Length)(3)内容内容(Content)Company Logo第一个
34、阶段建立安全能力第一个阶段建立安全能力;1第二个阶段服务器鉴别和密钥交换第二个阶段服务器鉴别和密钥交换;2第三个阶段客户鉴别第三个阶段客户鉴别(可选的可选的)和密钥交换和密钥交换;3第四个阶段完成握手协议。第四个阶段完成握手协议。4SSL握手协议包含四个阶段握手协议包含四个阶段:Company Logo第一阶段:建立起安全能力第一阶段:建立起安全能力 这个阶段的主要工作是要建立一个逻辑连接以及与这个这个阶段的主要工作是要建立一个逻辑连接以及与这个连接有关的安全功能。整个交换过程由客户端发送出一个连接有关的安全功能。整个交换过程由客户端发送出一个client_hello消息来开启。当客户端送出消
35、息来开启。当客户端送出client_hello后,会等待服务器响应一个后,会等待服务器响应一个server_hello消息。这个消消息。这个消息所包含的参数与息所包含的参数与client_hello消息夹带的参数相同。消息夹带的参数相同。VersionRandomSessionIDCipherSuitCompressionmethodCompany Logo第二阶段:服务器认证和密钥交换第二阶段:服务器认证和密钥交换v服务器发送自己的证书,消息包含一个X.509证书,或者一条证书链v服务器发送server_key_exchange消息可选的,有些情况下可以不需要。只有当服务器的证书没有包可选的
36、,有些情况下可以不需要。只有当服务器的证书没有包含必需的数据的时候才发送此消息含必需的数据的时候才发送此消息消息包含签名,被签名的内容包括两个随机数及服务器参数消息包含签名,被签名的内容包括两个随机数及服务器参数服务器发送certificate_request消息非匿名非匿名server可以向客户请求一个可以向客户请求一个证书证书包含证书类型和包含证书类型和CAs服务器发送server_hello_done,然后等待应答Company Logo第三阶段:客户端认证和密钥交换第三阶段:客户端认证和密钥交换v最后,客户发送一个certificate_verify消息,其中包含一个签名v客户收到se
37、rver_done消息后,它根据需要检查服务器提供的证书,并判断server_hello的参数是否可以接受,如果都没有问题的话,发送一个或多个消息给服务器v如果服务器请求证书的话,则客户首先发送一个certificate消息,若客户没有证书,则发送一个no_certificate警告 然后客户发送client_key_exchange消息Company Logo第四阶段:完成第四阶段:完成v第四阶段建立起一个安全的连接客户发送一个change_cipher_spec消息,并且把协商得到的CipherSuite拷贝到当前连接的状态之中然后,客户用新的算法、密钥参数发送一个finished消息,这
38、条消息可以检查密钥交换和鉴别过程是否已经成功。其中包括一个校验值,对所有以来的消息进行校验。服务器同样发送change_cipher_spec消息和finished消息。握手过程完成,客户和服务器可以交换应用层数据。Company LogoSSL握手协议的流程Company Logo6.3 SSL记录协议记录协议(SSL Record Protocol)机密性(Confidentiality):SSL记录协议会协助双方产生一把共有的密钥,利用这把密钥来对SSL所传送的数据做传统式加密。SSL记录协议为每一个SSL连接提供以下两种服务:消息完整性(Message Integrity):SSL记录
39、协议会 协助双方产生另一把共有的密钥,利用这把密钥来计算出消息认证码。Company LogoSSL数据单元的形成过程数据单元的形成过程用户数据单元用户数据单元分段分段压缩压缩附加附加MAC加密加密附加附加SSL报头报头Company Logo6.4 SSL协议采用的加密和认证算法协议采用的加密和认证算法v6.4.1 加密算法 SSL协议协议V2和和V3支持的加密算法包括支持的加密算法包括RC4、RC2、IDEA和和DES,而加密算法所用到的密钥由散列函数而加密算法所用到的密钥由散列函数MD5产生。产生。RC4、RC2是由是由RSA定义的,其中定义的,其中RC2适用于块加密,适用于块加密,RC
40、4适用于流加密。适用于流加密。块加密块加密流加密流加密加密加密算算法法密钥长密钥长度度加密算加密算法法密钥长密钥长度度IDEARC2-40DES-40DES3DESFortezza12840405616880RC440RC4-12840128Company Logo6.4.2 认证算法认证算法 服务器的认证:服务器方的写密钥和客户服务器的认证:服务器方的写密钥和客户方的读密钥、客户方的写密钥和服务器方的读密方的读密钥、客户方的写密钥和服务器方的读密钥分别是一对私有、公有密钥。钥分别是一对私有、公有密钥。客户的认证:只有用正确的客户方写密钥客户的认证:只有用正确的客户方写密钥加密的内容才能被服务
41、器方用其读密钥正确的解加密的内容才能被服务器方用其读密钥正确的解开。当客户收到服务器方发出的开。当客户收到服务器方发出的request_certificate消息时,客户首先使用消息时,客户首先使用MD5消息散列函数获得服务器方信息的摘要。然消息散列函数获得服务器方信息的摘要。然后客户使用自己的读密钥加密摘要形成数字签名,后客户使用自己的读密钥加密摘要形成数字签名,从而被服务器认证。从而被服务器认证。认证算法采用认证算法采用X.509电子证书标准,通过使用电子证书标准,通过使用RSA算法进算法进行数字签名来实现的:行数字签名来实现的:Company Logo6.4.36.4.3会话层的密钥分配
42、协议会话层的密钥分配协议ISAKMP(Internet安全协会的密钥管理协议:安全协会的密钥管理协议:ISAKMP只提供密钥管理的一般框架,而不限定密只提供密钥管理的一般框架,而不限定密钥管理协议,也不限定密钥算法或协议,在使用策钥管理协议,也不限定密钥算法或协议,在使用策略上更为灵活。略上更为灵活。IETF(internet engineering task force)要求对任要求对任何何TCP/IP都要支持密钥分配,目前有三个主要协议是:都要支持密钥分配,目前有三个主要协议是:SKEIP:由公钥证书来实现两个通信实体间的长期的:由公钥证书来实现两个通信实体间的长期的单钥交换。单钥交换。P
43、hoturis:SKEIP有其不利的一面,若某人能得到长有其不利的一面,若某人能得到长期的期的SKEIP密钥,就可以解出所有以前用此密钥加密的密钥,就可以解出所有以前用此密钥加密的信息,而信息,而Photuris无此问题。但效率较低。无此问题。但效率较低。Company Logo6.5 SSL协议安全性分析协议安全性分析 鉴别机制。鉴别机制。公开密钥技术和数字证书可以实现客户公开密钥技术和数字证书可以实现客户端和服务器端的身份鉴别。端和服务器端的身份鉴别。ClientHello和和ServerHello发过去自己的证书发过去自己的证书(里面包含里面包含了身份和自己的公钥了身份和自己的公钥)。6
44、.5.1 安全机制分析Company Logo 加密机制。加密机制。混合密码体制的使用提供了会话和数据传输的加密性混合密码体制的使用提供了会话和数据传输的加密性保护。双方使用非对称密码体制协商出本次将要使用的会话保护。双方使用非对称密码体制协商出本次将要使用的会话密钥,并选择一种对称加密算法。密钥,并选择一种对称加密算法。完整性机制。定义了共享的、可以用来形成报文鉴别码MAC的密钥。数据进行分片压缩后,使用单向散列函数产生一个MAC,加密后置于数据包的后部,并且再一次和数据一起被加密,然后加上SSL首部进行网络传输。这样,如果数据被修改,其散列值就无法和原来的MAC相匹配,从而保证了数据的完整
45、性。Company Logo 抗重放攻击。SSL使用序列号来保护通信方免受报文重放攻击。这个序列号被加密后作为数据包的负载。在整个SSL握手中,都有一个唯一的随机数来标记这个SSL握手,这样重放便无机可乘。Company Logo 所谓重放攻击就是攻击者发送一个目的主机所谓重放攻击就是攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程。于身份认证过程。Company Logo重放攻击是计算机世界黑客常用的攻击方式之一,它的书面定重放攻击是计算机世界黑客常用的攻击方式之一,它的书面定义对不了解密码学的人来说比较抽象。通过一个故
46、事来说明。义对不了解密码学的人来说比较抽象。通过一个故事来说明。阿里巴巴和阿里巴巴和4040大盗的故事大盗的故事 人物人物 黑客:阿里巴巴黑客:阿里巴巴 用户:用户:4040大盗大盗 系统:宝库系统:宝库 身份认证:石门身份认证:石门 Company Logo 故事情节:故事情节:话说有一天,话说有一天,4040大盗准备把一抢来得珠宝放进他们的宝库里去。大盗准备把一抢来得珠宝放进他们的宝库里去。/用户打算登陆系统用户打算登陆系统 他们来到宝库面前,准备打开石门他们来到宝库面前,准备打开石门 /系统要求身份认证,弹出口令窗口系统要求身份认证,弹出口令窗口 4040大盗的首领对着石门喊道:大盗的首
47、领对着石门喊道:“芝麻开门芝麻开门”/用户输入口令用户输入口令“芝麻开门芝麻开门”不巧这一幕被阿里巴巴看到不巧这一幕被阿里巴巴看到 /有黑客截获用户的登陆过程有黑客截获用户的登陆过程 4040大盗将宝物放进宝库后,就离开了大盗将宝物放进宝库后,就离开了 /用户退出系统用户退出系统 等等4040大盗走远后,阿里巴巴来到石门前也大喊大盗走远后,阿里巴巴来到石门前也大喊“芝麻开门芝麻开门”/黑客对系统进行了重放攻击黑客对系统进行了重放攻击 -重点:重放攻击重点:重放攻击 石门打开了,阿里巴巴把宝物都搬回家了石门打开了,阿里巴巴把宝物都搬回家了 /成功入侵系统成功入侵系统 Company Logo6.
48、5.2 脆弱性分析脆弱性分析1.SSL协议自身的缺陷:协议自身的缺陷:1.客户端假冒(客户端假冒(SSL协议默认是不要求进行客户鉴别)协议默认是不要求进行客户鉴别)2.SSL协议无法提供基于协议无法提供基于UDP应用的安全保护应用的安全保护3.SSL协议不能对抗通信流量分析协议不能对抗通信流量分析4.进程中主密钥泄漏进程中主密钥泄漏5.磁盘上的临时文件可能遭受攻击磁盘上的临时文件可能遭受攻击6.对证书的攻击和窃取对证书的攻击和窃取Company Logo2.不规范应用引起的问题对证书的攻击和窃取对证书的攻击和窃取中间人攻击中间人攻击安全盲点安全盲点IE浏览器和浏览器和SSL身份鉴别缺陷身份鉴别
49、缺陷Company Logo6.6 Windows下SSL的配置1)首先在操作系统2000中找到有关设置,方法有两种。第一种,从控制面板中找到“管理工具”,从这个文件夹中找到“Internet服务管理”并执行。第二种,从“开始”菜单的“程序”菜单中执行“管理工具”“Internet管理工具”。这样就可以将IIS的管理界面打开 利用IIS申请服务器证书的时候,IIS本身先产生公私密钥对,并产生相应的证书申请信息,最后把这个信息交给CA(该CA只能为Windows2000企业CA或其他商业CA,Windows2000独立CA不能签发服务器证书),由CA签发以后形成证书。其具体步骤如下:Compan
50、y Logo6.6 Windows下SSL的配置 2)选取本机下的“默认Web站点”,并用鼠标右击。在弹出的菜单中选择“属性”命令。选择“目录安全性”标签 Company Logo6.6 Windows下SSL的配置5)选择“创建一个新证书”,并单击“下一步”按钮 3)单击该标签上“安全通信”栏目中的“服务器证书”按钮。这时会弹出“Web服务器证书向导对话框”4)单击“下一步”按钮,会进入到IIS证书安装向导界面,并且要求你选择对证书动作的方式 Company Logo6.6 Windows下SSL的配置Company Logo6.6 Windows下SSL的配置6)选择好发送方式后单击“下一