资源预览内容
第1页 / 共77页
第2页 / 共77页
第3页 / 共77页
第4页 / 共77页
第5页 / 共77页
第6页 / 共77页
第7页 / 共77页
第8页 / 共77页
第9页 / 共77页
第10页 / 共77页
亲,该文档总共77页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第六章 安全套接层协议SSL,主要内容,SSL概述 SSL体系结构与协议 SSL协议的安全性分析 SSL的应用,目前国际上流行的电子商务所采用的协议主要有:,安全套接层协议(Secure Sockets Layer,SSL) 基于信用卡交易的安全电子协议(Secure Electronic Transaction,SET) 安全HTTP(S-HTTP)协议 安全电子邮件协议(PEM、S/MIME等) 用于公对公交易的Internet EDI等。 此外在Internet网上利用Ipsec标准建设虚拟专用网,利用VPN为企业、政府提供一些基本的安全服务,,6.1 SSL概述,SSL协议是一种国际标准的加密及身份认证通信协议 目标:SSL被设计用来使用TCP提供一个可靠的端到端安全服务,为两个通讯个体之间提供保密性和完整性(身份鉴别)。,SSL/TLS协议,1994年Netscape开发了SSL(Secure Socket Layer)安全套接层协议,专门用于保护Web通讯 版本和历史 1.0,不成熟 2.0,基本上解决了Web通讯的安全问题 Microsoft公司发布了PCT(Private Communication Technology),并在IE中支持 3.0,1996年发布,增加了一些算法,修改了一些缺陷 TLS 1.0(Transport Layer Security传输层安全协议, 也被称为SSL 3.1),1997年IETF发布了Draft,同时,Microsoft宣布放弃PCT,与Netscape一起支持TLS 1.0 1999年,发布RFC 2246(The TLS Protocol v1.0),协议的使用,https:/ 与shttp:/,在网络上传输的敏感信息(如电子商务、金融业务中的信用卡号或PIN码等机密信息)都纷纷采用SSL来进行安全保护。 SSL通过加密传输来确保数据的机密性,通过信息验证码(Message Authentication Codes,MAC)机制来保护信息的完整性,通过数字证书来对发送和接收者的身份进行认证。,IP/IPSec,TCP,Lower layers,IP,TCP,Lower layers,SSL,OS,IPSec,SSL,一个保证任何安装了安全套接字的客户和服务器间事务安全的协议,它涉及所有TCP/IP应用程序,SSL协议可用于保护正常运行于TCP之上的任何应用协议,如HTTP、FTP、SMTP或Telnet的通信,最常见的是用SSL来保护HTTP的通信。 SSL协议的优点在于它是与应用层协议无关的。高层的应用协议(如HTTP、FTP、Telnet等)能透明地建立于SSL协议之上。 SSL协议在应用层协议之前就已经完成加密算法、通信密钥的协商以及服务器的认证工作。在此之后应用层协议所传送的数据都会被加密,从而保证通信的安全性。,SSL协议使用通信双方的客户证书以及CA根证书,允许客户/服务器应用以一种不能被偷听的方式通信,在通信双方间建立起了一条安全的、可信任的通信通道。 该协议使用密钥对传送数据加密,许多网站都是通过这种协议从客户端接收信用卡编号等保密信息。它被认为是最安全的在线交易模式,,SSL解决的问题(功能),客户对服务器的身份认证 SSL服务器允许客户的浏览器使用标准的公钥加密技术和一些可靠的认证中心(CA)的证书,来确认服务器的合法性。 服务器对客户的身份认证 也可通过公钥技术和证书进行认证,也可通过用户名,password来认证。 建立服务器与客户之间安全的数据通道 SSL要求客户与服务器之间的所有发送的数据都被发送端加密、接收端解密,同时还检查 数据的完整性,SSL提供的安全服务,用户和服务器的合法性认证 using X.509v3 digital certificates 传输数据的机密性 using one of DES, Triple DES, IDEA, RC2, RC4, 传输数据的完整性 using MAC with MD5 or SHA-1,SSL协议实现的六步骤,接通阶段:客户机通过网络向服务器打招呼,服务器回应; 密码交换阶段:客户机与服务器之间交换双方认可的密码,一般选用RSA密码算法; 会谈密码阶段:客户机器与服务器间产生彼此交谈的会谈密码;,检验阶段:客户机检验服务器取得的密码; 客户认证阶段:服务器验证客户机的可信度; 结束阶段:客户机与服务器之间相互交换结束的信息。,6.1.3 SSL协议与电子商务,SSL 提供了用于启动 TCP/IP 连接的安全性“信号交换”。 这种信号交换导致客户和服务器同意将使用的安全性级别,并履行连接的任何身份验证要求。 通过数字签名和数字证书可实现浏览器和Web服务器双方的身份验证。 在用数字证书对双方的身份验证后,双方就可以用保密密钥进行安全的会话了。,SSL证书保障在线服务器的安全,服务器身份验证 防假冒 网络信息发送内容加密 防偷窥 网络信息发送完整性检测 防删节 网络信息发送内容修改提醒 防篡改,应用数据,改变密码套,结束握手,送出客户端证书,送出服务器证书, 请求客户端证书,SSL流程,浏览器,Web服务器,SSL 安全通道,客户端证书,服务器证书,Client hello,Server hello Server Certificate Certificate Request ServerKeyExchange,Client Certificate ClientKeyExchange Certificate Verify ChangeCipherSpec Finished,ChangeCipherSpec Finished,Application Data,Application Data,建立协议版本、会话ID、交换随机数,SSL服务器证书工作原理介绍,第一步:身份验证,发证机构 CA,你 是 谁?,我是卓越服务器,身份验证,?服务器,卓越服务器,SSL服务器证书工作原理介绍,第二步:发明密语规则,密语规则,发 明,原 文,密语,SSL服务器证书工作原理介绍,第三步:密语规则共享,信息保险箱,打开保险箱,获得规则,SSL服务器证书工作原理介绍,第四步:进行安全通信,SSL当初并不是为支持电子商务而设计的,所以在电子商务系统的应用中还存在很多弊端:,SSL是一个面向连接的协议,在涉及多方的电子交易中,只能提供交易中客户与服务器间的双方认证,而电子商务往往是客户、网站、银行三家协作完成, SSL协议并不能协调各方间的安全传输和信任关系; 购货时客户要输入通信地址,这样将可能使得客户收到大量垃圾信件。,SSL协议运行的基点是商家对客户信息保密的承诺。但在上述流程中SSL协议有利于商家而不利于客户。 客户的信息首先传到商家,商家阅读后再传到银行,这样,客户资料的安全性便受到威胁。,随着电子商务参与方的迅速增加,认证问题越来越突出,SSL协议的缺点完全暴露出来。SSL协议逐渐被新的SET协议所取代。 目前我国开发的电子支付系统,无论是中国银行的长城卡电子支付系统,还是上海长途电信局的网上支付系统,均没有采用SSL协议,主要原因就是无法保证客户资金的安全性。,6.1.4 SSL协议的分层结构,SSL的设计概念是希望使用TCP来提供一个可靠的端对端的安全服务。SSL并不是单一个协议,而是由二层协议来组成 SSL协议具有两层结构: 其底层是SSL记录协议层(SSL Record Protocol Layer),简称记录层。 其高层是SSL握手协议层(SSL Handshake Protocol Layer),简称握手层.,SSL协议定义了两个通信主体:客户(client)和服务器(server)。其中,客户是协议的发起者。 在客户/服务器结构中,应用层从请求服务和提供服务的角度定义客户和服务器,而SSL协议则从建立加密参数的过程中所扮演的角色来定义客户和服务器。,SSL握手协议包含四个阶段:第一个阶段建立安全能力;第二个阶段服务器鉴别和密钥交换;第三个阶段客户鉴别(可选的)和密钥交换;第四个阶段完成握手协议。,SSL的两个重要概念,SSL连接(connection) 一个连接是一个提供一种合适类型服务的传输(OSI分层的定义)。 SSL的连接是点对点的关系。 连接是暂时的,每一个连接和一个会话关联。 SSL会话(session) 一个SSL会话是在客户与服务器之间的一个关联。会话由Handshake Protocol创建。会话定义了一组可供多个连接共享的密码安全参数。 会话用以避免为每一个连接提供新的安全参数所需昂贵的协商代价。,在任意一对通信主体之间,可以有多个安全连接。,会话状态参数,Session identifier: 服务器选择的一个任意字节序列,用以标识一个活动的或可激活的会话状态。 Peer Certificate: 标识服务器的X.509.v3证书。可为空。 Compression method: 加密前进行数据压缩的算法。 Cipher spec: 指明数据体加密的算法(无,或DES等) 以及散列算法(如MD5或SHA-1)用以计算MAC。还包括其它参数,如散列长度。 Master secret: 48位秘密,在client与server之间共享。 Is resumable:一个标志,指明该会话是否能用于产生一个新连接。,连接状态,Server and client random: server 和client 为每一个连接所选择的字节序号。 Server write MAC secret: 一个密钥,用来对server 送出的数据进行MAC操作。 Client write MAC secret: 一个密钥,用来对client送出的数据进行MAC操作。 Server write key: 用于server 进行数据加密,client进行数据解密的对称保密密钥;,连接状态,Client write key:用于client 进行数据加密,server进行数据解密的对称保密密钥; Initialization vectors: 当数据加密采用CBC方式时,每一个密钥保持一个IV。该字段首先由SSL Handshake Protocol产生,以后保留每次最后的密文数据块作为IV。 Sequence number: 每一方为每一个连接的数据发送与接收维护单独的顺序号。当一方发送或接收一个改变的cipher spec message时,序号置为0, 最大264-1。,6.2 SSL握手协议(Handshake protocol),主要用来让客户端及服务器确认彼此的身分。 为了保护SSL记录封包中传送的数据,Handshake协议还能协助双方选择连接时所会使用的加密算法、MAC算法、及相关密钥。 在传送应用程序的数据前,必须使用Handshake 协议来完成上述事项。,Handshake由一些客户与服务器交换的消息所构成,每一个消息都含有以下三个字段: 类型(Type),1字节:表示消息的类型,总共有十种。在表二中列出了这些已经定义的消息种类。 长度(Length),3字节:消息的位组长度。 内容(Content),1个字节:与此消息有关的参数,表6.1列出所有可能的参数。,SSL握手协议使用的消息,第一阶段:建立起安全协商,客户发送一个client_hello消息,包括以下参数:版本、随机数(32位时间戳+28字节随机序列)、会话ID、客户支持的密码算法列表(CipherSuite)、客户支持的压缩方法列表, 然后,客户等待服务器的server_hello消息 服务器发送server_hello消息,参数:客户建议的低版本以及服务器支持的最高版本、服务器产生的随机数、会话ID、服务器从客户建议的密码算法中挑出一套、服务器从客户建议的压缩方法中
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号