安全套接层协议SSL课件.pptx
《安全套接层协议SSL课件.pptx》由会员分享,可在线阅读,更多相关《安全套接层协议SSL课件.pptx(78页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第六章第六章 安全套接层协议安全套接层协议SSL主要内容SSL概述SSL体系结构与协议SSL协议的安全性分析SSL的应用目前国际上流行的电子商务所采用的协议主要有:n安全套接层协议(SecureSocketsLayer,SSL)n基于信用卡交易的安全电子协议(SecureElectronicTransaction,SET)n安全HTTP(S-HTTP)协议n安全电子邮件协议(PEM、S/MIME等)n用于公对公交易的InternetEDI等。n此外在Internet网上利用Ipsec标准建设虚拟专用网,利用VPN为企业、政府提供一些基本的安全服务,6.1 SSL概述概述nSSL协议是一种国际标
2、准的加密及身份认证通信协议n目标:SSL被设计用来使用TCP提供一个可靠的端到端安全服务,为两个通讯个体之间提供保密性和完整性(身份鉴别)。SSL/TLS协议n1994年Netscape开发了SSL(Secure Socket Layer)安全套接层协议,专门用于保护Web通讯n版本和历史n1.0,不成熟n2.0,基本上解决了Web通讯的安全问题nMicrosoft公司发布了PCT(Private Communication Technology),并在IE中支持n3.0,1996年发布,增加了一些算法,修改了一些缺陷nTLS 1.0(Transport Layer Security传输层安全
3、协议,也被称为SSL 3.1),1997年IETF发布了Draft,同时,Microsoft宣布放弃PCT,与Netscape一起支持TLS 1.0n1999年,发布RFC 2246(The TLS Protocol v1.0)协议的使用nhttps:/与shttp:/n在网络上传输的敏感信息(如电子商务、金融业务中的信用卡号或PIN码等机密信息)都纷纷采用SSL来进行安全保护。nSSL通过加密传输来确保数据的机密性,通过信息验证码(MessageAuthenticationCodes,MAC)机制来保护信息的完整性,通过数字证书来对发送和接收者的身份进行认证。IP/IPSecTCPLower
4、layersIPTCPLowerlayersSSLOSIPSecSSL一个保证任何安装了安全套接字的客户一个保证任何安装了安全套接字的客户和服务器间事务安全的协议,它涉及所和服务器间事务安全的协议,它涉及所有有TCP/IP应用程序应用程序 nSSL协议可用于保护正常运行于TCP之上的任何应用协议,如HTTP、或Telnet的通信,最常见的是用SSL来保护HTTP的通信。nSSL协议的优点在于它是与应用层协议无关的。高层的应用协议(如HTTP、等)能透明地建立于SSL协议之上。nSSL协议在应用层协议之前就已经完成加密算法、通信密钥的协商以及服务器的认证工作。在此之后应用层协议所传送的数据都会被
5、加密,从而保证通信的安全性。nSSL协议使用通信双方的客户证书以及CA根证书,允许客户/服务器应用以一种不能被偷听的方式通信,在通信双方间建立起了一条安全的、可信任的通信通道。n该协议使用密钥对传送数据加密,许多网站都是通过这种协议从客户端接收信用卡编号等保密信息。它被认为是最安全的在线交易模式,SSL解决的问题(功能)n客户对服务器的身份认证nSSL服务器允许客户的浏览器使用标准的公钥加密技术和一些可靠的认证中心(CA)的证书,来确认服务器的合法性。n服务器对客户的身份认证n也可通过公钥技术和证书进行认证,也可通过用户名,password来认证。n建立服务器与客户之间安全的数据通道nSSL要
6、求客户与服务器之间的所有发送的数据都被发送端加密、接收端解密,同时还检查数据的完整性SSL提供的安全服务n用户和服务器的合法性认证nusingX.509v3digitalcertificatesn传输数据的机密性nusingoneofDES,TripleDES,IDEA,RC2,RC4,n传输数据的完整性nusingMACwithMD5orSHA-1SSL协议实现的六步骤n接通阶段:接通阶段:客户机通过网络向服务器打招呼,客户机通过网络向服务器打招呼,服务器回应;服务器回应;n密码交换阶段:密码交换阶段:客户机与服务器之间交换双客户机与服务器之间交换双方认可的密码,一般选用方认可的密码,一般选
7、用RSARSA密码算法;密码算法;n会谈密码阶段会谈密码阶段:客户机器与服务器间产生彼:客户机器与服务器间产生彼此交谈的会谈密码;此交谈的会谈密码;n检验阶段:检验阶段:客户机检验服务器取得的客户机检验服务器取得的密码;密码;n客户认证阶段:客户认证阶段:服务器验证客户机的服务器验证客户机的可信度;可信度;n结束阶段:结束阶段:客户机与服务器之间相互客户机与服务器之间相互交换结束的信息。交换结束的信息。6.1.3 SSL协议与电子商务协议与电子商务nSSL SSL 提供了用于启动提供了用于启动 TCP/IP TCP/IP 连接的安连接的安全性全性“信号交换信号交换”。n这种信号交换导致客户和服
8、务器同意将使用这种信号交换导致客户和服务器同意将使用的安全性级别,并履行连接的任何身份验证的安全性级别,并履行连接的任何身份验证要求。要求。n通过通过数字签名和数字证书数字签名和数字证书可实现浏览器和可实现浏览器和WebWeb服务器双方的身份验证。服务器双方的身份验证。n在用数字证书对双方的身份验证后,双方就在用数字证书对双方的身份验证后,双方就可以用保密密钥进行安全的会话了。可以用保密密钥进行安全的会话了。SSLSSL证书保障在线服务器的安全证书保障在线服务器的安全 服务器身份验证服务器身份验证 防假冒防假冒网络信息发送内容加密网络信息发送内容加密 防偷窥防偷窥网络信息发送完整性检测网络信息
9、发送完整性检测 防删节防删节网络信息发送内容修改提醒网络信息发送内容修改提醒 防篡改防篡改 应用数据改变密码套,结束握手送出客户端证书送出服务器证书,请求客户端证书SSLSSL流程流程浏览器浏览器Web服务器服务器SSL安全通道安全通道客户端证书客户端证书服务器证服务器证书书Client helloServer helloServer CertificateCertificate RequestServerKeyExchangeClient CertificateClientKeyExchangeCertificate VerifyChangeCipherSpecFinishedChangeC
10、ipherSpecFinishedApplication DataApplication Data建立协议版本、会话ID、交换随机数SSLSSL服务器证书工作原理介绍服务器证书工作原理介绍第一步:身份验证第一步:身份验证发证机构发证机构 CA CA服务器身份证服务器身份证你你 是是 谁谁?我是卓越服务器我是卓越服务器身份验证身份验证?服务器服务器卓越服务器卓越服务器SSLSSL服务器证书工作原理介绍服务器证书工作原理介绍第二步:发明密语规则第二步:发明密语规则密语规则密语规则发发 明明规则规则A A1 1、2 2、3 35 5、8 8、9 9原原 文文密语密语SSLSSL服务器证书工作原理介绍
11、服务器证书工作原理介绍第三步:密语规则共享第三步:密语规则共享规则规则A A信息保险箱信息保险箱打开保险箱打开保险箱规则规则A A获得规则获得规则SSLSSL服务器证书工作原理介绍服务器证书工作原理介绍第四步:进行安全通信第四步:进行安全通信规则规则A A规则规则A A1 1、2 2、3 3原原 文文1 1、2 2、3 3原原 文文5 5、8 8、9 9无意义文字无意义文字SSL当初并不是为支持电子商务而设计的,所以当初并不是为支持电子商务而设计的,所以在电子商务系统的应用中还存在很多弊端在电子商务系统的应用中还存在很多弊端:nSSL是一个面向连接的协议,在涉及多方的电子交易中,只能提供交易中
12、客户与服务器间的双方认证,而电子商务往往是客户、网站、银行三家协作完成,SSL协议并不能协调各方间的安全传输和信任关系;n购货时客户要输入通信地址,这样将可能使得客户收到大量垃圾信件。nSSL协议运行的基点是商家对客户信息保密的承诺。但在上述流程中SSL协议有利于商家而不利于客户。n客户的信息首先传到商家,商家阅读后再传到银行,这样,客户资料的安全性便受到威胁。n随着电子商务参与方的迅速增加,认证问题随着电子商务参与方的迅速增加,认证问题越来越突出,越来越突出,SSLSSL协议的缺点完全暴露出来。协议的缺点完全暴露出来。SSLSSL协议逐渐被新的协议逐渐被新的SETSET协议所取代。协议所取代
13、。n目前我国开发的电子支付系统,无论是目前我国开发的电子支付系统,无论是中国中国银行银行的长城卡电子支付系统,还是的长城卡电子支付系统,还是上海长途上海长途电信局电信局的网上支付系统,均没有采用的网上支付系统,均没有采用SSLSSL协协议,主要原因就是无法保证客户资金的安全议,主要原因就是无法保证客户资金的安全性。性。6.1.4 SSL协议的分层结构协议的分层结构nSSL的设计概念是希望使用TCP来提供一个可靠的端对端的安全性服务。SSL并不是单一个协议,而是由二层协议来组成nSSL协议具有两层结构:n其底层是SSL记录协议层(SSL Record Protocol Layer),简称记录层。
14、n其高层是SSL握手协议层(SSL Handshake Protocol Layer),简称握手层.应应用用层协议层协议(HTTP、Telnet、等)、等)SSL握手握手协议协议(Handshake Protocol)SSL记录协议记录协议(Record Protocol)TCP协议协议IP协议协议SSL协议协议图图6.2 SSL协议协议的分的分层结层结构构nSSL协议定义了两个通信主体:客户(client)和服务器(server)。其中,客户是协议的发起者。n在客户/服务器结构中,应用层从请求服务和提供服务的角度定义客户和服务器,而SSL协议则从建立加密参数的过程中所扮演的角色来定义客户和服
15、务器。nSSL握手协议包含四个阶段:第一个阶段建立安全能力;第二个阶段服务器鉴别和密钥交换;第三个阶段客户鉴别(可选的)和密钥交换;第四个阶段完成握手协议。SSL的两个重要概念nSSLSSL连接(连接(connection)connection)n一个连接是一个提供一种合适类型服务的传输(一个连接是一个提供一种合适类型服务的传输(OSIOSI分层的定义)。分层的定义)。nSSLSSL的连接是点对点的关系。的连接是点对点的关系。n连接是暂时的,每一个连接和一个会话关联。连接是暂时的,每一个连接和一个会话关联。nSSLSSL会话(会话(sessionsession)n一个一个SSLSSL会话是在客
16、户与服务器之间的一个关联。会会话是在客户与服务器之间的一个关联。会话由话由Handshake ProtocolHandshake Protocol创建。会话定义了一组可供创建。会话定义了一组可供多个连接共享的密码安全参数。多个连接共享的密码安全参数。n会话用以避免为每一个连接提供新的安全参数所需昂会话用以避免为每一个连接提供新的安全参数所需昂贵的协商代价。贵的协商代价。会会 话话连连接接1连连接接1连连接接2连连接接2连连接接n连连接接n图图6.3 SSL的会的会话话与与连连接接在任意一对通信主体之间,可以有多个安全连接。在任意一对通信主体之间,可以有多个安全连接。会话状态参数nSession
17、 identifier:服务器选择的一个任意字节序列,用以标识一个活动的或可激活的会话状态。nPeer Certificate:标识服务器的X.509.v3证书。可为空。nCompression method:加密前进行数据压缩的算法。nCipher spec:指明数据体加密的算法(无,或DES等)n以及散列算法(如MD5或SHA-1)用以计算MAC。还包括其它参数,如散列长度。nMaster secret:48位秘密,在client与server之间共享。nIs resumable:一个标志,指明该会话是否能用于产生一个新连接。连接状态nServer and client random:se
18、rver 和client 为每一个连接所选择的字节序号。nServer write MAC secret:一个密钥,用来对server 送出的数据进行MAC操作。nClient write MAC secret:一个密钥,用来对client送出的数据进行MAC操作。nServer write key:用于server 进行数据加密,client进行数据解密的对称保密密钥;连接状态nClient write key:用于client 进行数据加密,server进行数据解密的对称保密密钥;nInitialization vectors:当数据加密采用CBC方式时,每一个密钥保持一个IV。该字段首先
19、由SSL Handshake Protocol产生产生,以后保留每次最后的密文数据块作为IV。nSequence number:每一方为每一个连接的数据发送与接收维护单独的顺序号。当一方发送或接收一个改变的cipher spec message时,序号置为0,最大264-1。6.2 SSL握手协议握手协议(Handshake protocol)n主要用来让客户端及服务器确认彼此的身分。n为了保护SSL记录封包中传送的数据,Handshake协议还能协助双方选择连接时所会使用的加密算法、MAC算法、及相关密钥。n在传送应用程序的数据前,必须使用Handshake协议来完成上述事项。nHandsh
20、ake由一些客户与服务器交换的消息所构成,每一个消息都含有以下三个字段:n类型(Type),1字节:表示消息的类型,总共有十种。在表二中列出了这些已经定义的消息种类。n长度(Length),3字节:消息的位组长度。n内容(Content),1个字节:与此消息有关的参数,表6.1列出所有可能的参数。SSL握手协议使用的消息第一阶段:建立起安全协商n客户发送一个client_hello消息,包括以下参数:版本、随机数(32位时间戳+28字节随机序列)、会话ID、客户支持的密码算法列表(CipherSuite)、客户支持的压缩方法列表,n然后,客户等待服务器的server_hello消息n服务器发送
21、server_hello消息,参数:客户建议的低版本以及服务器支持的最高版本、服务器产生的随机数、会话ID、服务器从客户建议的密码算法中挑出一套、服务器从客户建议的压缩方法中挑出一个.CipherSuite密码套件密码套件n第一个元素指定了密钥交换的方法,SSL支持以下一些方法:nRSA,要求服务器提供一个RSA证书nDH(Diffie-Hellman),要求服务器的证书中包含了由CA签名的DH公开参数。客户或者在证书中提供DH公开参数,或者在密钥交换消息中提供此参数第二阶段:服务器鉴别和密钥交换n服务器发送自己的证书,消息包含一个服务器发送自己的证书,消息包含一个X.509证书,或者一条证书
22、链证书,或者一条证书链n服务器发送服务器发送server_key_exchange消息消息n可选的,有些情况下可以不需要。只有当服务器的证书没有包含必可选的,有些情况下可以不需要。只有当服务器的证书没有包含必需的数据的时候才发送此消息需的数据的时候才发送此消息n消息包含签名,被签名的内容包括两个随机数以及服务器参数消息包含签名,被签名的内容包括两个随机数以及服务器参数n服务器发送服务器发送certificate_request消息消息n非匿名非匿名server可以向客户请求一个证书可以向客户请求一个证书n包含证书类型和包含证书类型和CAsn服务器发送服务器发送server_hello_done
23、,然后等待应答然后等待应答第三阶段:客户鉴别和密钥交换n客户收到客户收到server_done消息后,它根据需要检查服务器提供消息后,它根据需要检查服务器提供的证书,并判断的证书,并判断server_hello的参数是否可以接受,如果都的参数是否可以接受,如果都没有问题的话,发送一个或多个消息给服务器没有问题的话,发送一个或多个消息给服务器n如果服务器请求证书的话,则客户首先发送一个如果服务器请求证书的话,则客户首先发送一个certificate消息,若客户没有证书,则发送一个消息,若客户没有证书,则发送一个no_certificate警告警告 然然后客户发送后客户发送client_key_e
24、xchange消息消息n最后,客户发送一个最后,客户发送一个certificate_verify消息,其中包含一个消息,其中包含一个签名,对从第一条消息以来的所有握手消息的签名,对从第一条消息以来的所有握手消息的MAC值值()进进行签名行签名第四阶段:结束n第四阶段建立起一个安全的连接第四阶段建立起一个安全的连接n客户发送一个客户发送一个change_cipher_spec消息,并且把协商得到消息,并且把协商得到的的CipherSuite拷贝到当前连接的状态之中拷贝到当前连接的状态之中n然后,客户用新的算法、密钥参数发送一个然后,客户用新的算法、密钥参数发送一个finished消息,消息,这条
25、消息可以检查密钥交换和鉴别过程是否已经成功。这条消息可以检查密钥交换和鉴别过程是否已经成功。其中包括一个校验值,对所有以来的消息进行校验。其中包括一个校验值,对所有以来的消息进行校验。n服务器同样发送服务器同样发送change_cipher_spec消息和消息和finished消息。消息。n握手过程完成,客户和服务器可以交换应用层数据。握手过程完成,客户和服务器可以交换应用层数据。SSL握手协议的流程n交换Hello消息,对于算法、交换随机值等协商一致n交换必要的密码参数,以便双方得到统一的premaster secretn交换证书和相应的密码信息,以便进行身份认证n产生master secr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 安全 套接 协议 SSL 课件
限制150内