《第5章传输层安全协议ppt课件.ppt》由会员分享,可在线阅读,更多相关《第5章传输层安全协议ppt课件.ppt(70页珍藏版)》请在三一办公上搜索。
1、第五章传输层安全通信协议,本 章 内 容 提 要,传输层安全协议概述安全套接字协议SSL传输层安全协议TLSPSSL/TLS协议应用SSL/TLS协议分析,传输层安全通信协议在TCP/IP协议体系中的位置,传输层安全协议概述,特点:基于两个传输进程间的端到端安全服务,保证两个应用之间的保密性和安全性,为应用层提供安全服务。Web浏览器是将http和ssl相结合,因为简单在电子商务也应用。常用协议:SP4+TLSP+SSH+SSLSP4:从属于安全数据网络系统SDNS,由NSA与NIST开发SSH:强制认证+数据加密安全登陆+安全传输TLSP:ISO开发和标准化的协议:通信加密+完整性验证SSL
2、:安全套接层(secure sockets layer)Web通信安全,SSL协议概述,IPsec缺陷:IPSec可以提供端到端的网络层安全传输,但是它无法处理位于同一端系统之中的不同的用户安全需求,因此需要在传输层和更高层提供网络安全传输服务,来满足这些要求。协议版本:netscape开发。SSL1.0(未公开发行)+SSL2.0(作为工业标准)+SSL3.0(升级)与TLS关系:功能类似、相互兼容SSL构成:SSL握手协议+SSL记录协议,SSL协议简史,Netscape 公司于1994开发 SSLv2 released in 1995 SSL v3 also released in 19
3、95 due to bugs in v2 1996年IETF成立 Transport Layer Security(TLS)committee TLSv1 was based upon SSLv3 Netscape、Microsoft 都支持 TLSv1,SSL协议设计目标,在Browser和Web Server之间提供敏感信息传输通道 Social Security Number(SSN)Credit Card,etc 提供访问控制 Open Closed SSL被设计使用TCP提供一个可靠的端到端安全服务,为两个通讯个体之间提供保密性和完整性(身份鉴别),SSL协议服务,用户和服务器双向合
4、法性认证服务:客户机和服务器都有各自的识别号,握手交换中认证彼此身份加密数据隐藏传输的数据:握手交换中协商证书认证的加密技术。可以使用对称加密和非对称加密。数字证书的应用防止非法用户的破译。数据传输完整性验证:散列函数+机密共享密钥交换服务,SSL加密服务,采用两种加密技术 非对称加密 认证 交换加密密钥 对称加密:加密传输数据,SSL协议服务特点与优势,安全服务特点:设计SSL是为了利用TCP提供可靠的端对端的安全维护,利用它可以保证两个应用间通信的保密性和可靠性,可在服务器和客户机两端同时实现支持。SSL协议要求建立在可靠的传输层协议(例如TCP)之上。SSL协议的优势:与应用层协议独立无
5、关的。,SSL协议构成,两层协议:握手协议+记录协议两个实体:客户机+服务器两个概念:会话+连接握手协议服务:相互认证+协商(算法+密钥+secrets+初始向量等)记录协议服务:数据封装+安全通信(),SSL协议架构,郑州轻工业学院计算机与通信,SSL协议实现层次,SSL协议使用,SSL协议概念,连接:在任意一对的双方之间,也许会有多个安全连接会话:理论上,双方可以存在多个同时会话,但在实践中并未用到这个特性,SSL协议的会话与连接,连接:连接是能提供合适服务类型的传输,对于SSL,这样的连接是对等的关系。连接是暂时的,每个连接都和一个会话相关。会话:SSL会话是客户机和服务器间的关联,由握
6、手协议创建,定义了一组可以被多个连接公用的密码安全参数。对于每个连接,可以利用会话来避免对新的安全参数进行代价昂贵的协商。,SSL会话,会话状态:每个SSL会话都有许多相关的状态。建立了会话,就有一个读和写(例如,接收和发送)的当前操作状态。另外,在握手协议中,还创建了挂起的读写状态。在成功的握手协议结束后,挂起状态就会变成当前状态。会话参数:会话ID+同等实体证书+压缩算法+加密规范+主控密码+可恢复标志,郑州轻工业学院计算机与通信,SSL会话参数,郑州轻工业学院计算机与通信,SSL连接参数,SSL协议安全信道特性,私密性:由于在握手协议中定义了会话密钥后,所有的消息都被加密。确认性:因为尽
7、管会话的客户端认证是可选的,但是服务器端始终是被认证的。可靠性:因为传送的消息包括消息完整性检查(使用MAC)。,SSL握手协议概述,SSL中最复杂的协议就是握手协议。该协议允许服务器和客户机相互验证,协商加密和MAC算法以及保密密钥,用来保护在SSL记录中发送的数据。握手协议是在应用程序的数据传输之前使用的。握手协议分为两个阶段:第一个阶段用于建立私密性通信信道;第二个阶段用于客户认证。,SSL握手协议数据报,郑州轻工业学院计算机与通信,握手过程,Client,Server,一、安全建立,SSL Client,SSL Server,2.Server Hello,The Server Hell
8、o message is composed of SSL Version(highest)that is understood by the client.TLSv1 b.Key Exchange to identify the method of exchanging keys.RSA.c.Data Encryption to identify the encryption methods available to the Client.DES d.Message Digest for data integrity.MD5e.Data Compression method for messa
9、ge exchangePKZip f.A Random number to compute the secret key produce by server(un-depends the clients random),1.Client Hello,Cipher Suite Alternatives,Data Encryption:RC2-40RC4-128DES DES 403DES IDEA FortezzaMessage Digest:MD5SHA.,Key Exchange.RSAFixed Diffie-HellmanEphemeral Diffie-HellmanAnonymous
10、 Diffie-HellmanFortezzaData Compression:PKZipWinZipgzipStuffIt,二、服务器认证与密钥交换,SSL Client,SSL Server,Server Certificate,The Server Certificate message is composed of The server Identifier informationA Digital Certificate of the sever information encrypted with the CAs Private Key.This contains the serv
11、ers Public Key,Client Certificate Request,3.The Client Certificate Request message is composed of The Certificate type to indicate the type of public key The Certificate Authority is a list of distinguished names of Certificate Authorities acceptable to the Server,Server Done Message,4.This Server D
12、one message has no parameters.then wait for client response.,2.Server send Server-Key-Exchange message,it including:a.anonymous Diffie-hellman b.short-lived Diffie-hellman c.RSA key exchange,Server-key-exchange,三、客户机验证和密钥交换,SSL Client,SSL Server,Client Certificate,The Client Certificate message is c
13、omposed of The server Identifier informationA Digital Certificate of the client information encrypted with the CAs Private KeyIf it have not certificate then send a warn message that no_certificate.,2.The Client Authenticates the Server with the CA.a.Extracts the public key of the root signed certif
14、icate that came installed with the client and Computes a MD of the server certificate information.b.Decrypts the server certificate(that was issued by the root CA)that contains the hash computed by the CA Private Keyc.Compares the computed hash with the hash contained in the server Digital Certifica
15、te.3.Generates a session key(psuedo-random number)to use as a Pre-Master Key then Encrypts the session key with the servers public key.,密钥交换结果,SSL Client,SSL Server,C S,S C,C S,S C,Encryption,MAC,IV,Encryption,MAC,IV,四、握手完成,Change _Cipher_Spec message is composed of The client authenticates the serv
16、er with a message encrypted with the newly generated shared keys.This validates to the server that a secure connection has been created.,SSL Client,SSL Server,Change _Cipher_Spec,Server Finish,The Change _Cipher_Spec message is composed of The server authenticates the client with a message encrypted
17、 with the newly generated shared keys.This validates to the client that a secure connection has been created.,SSL会话恢复,更改密码规格协议,待定状态:协商完成之后数据通信之前,SSL进入待定状态(也叫挂起状态、等待状态)。协议特点:是使用SSL记录协议的SSL的3个特定协议之一,同时也是其中最简单的一个。协议消息:由单个消息Change_Cipher_Spec组成,该消息只含有一个值为1的单个字节。协议作用:就是将挂起状态拷贝为当前状态,更新用于当前连接的密码组。,SSL告警协议,
18、用于将SSL有关的告警传输给对方实体传输时按照当前状态说明被压缩和加密,其他警告信息,参见教材p124,SSL记录协议,协议简介:在SSL协议中,所有传输数据都被封装在记录中。消息格式:消息由消息头和长度不为0的消息数据组成。所有的SSL通信包括握手消息、安全空白消息和应用数据都使用SSL记录协议封装。协议内容:SSL记录协议包括消息头和消息数据格式的规定。协议服务:机密性+消息完整性机密性:握手协议为SSL有效载荷的常规密码定义共享的保密密钥。消息完整性:握手协议为生成消息验证码定义了共享保密密钥,SSL记录协议操作,Compute Message Authentication Code,P
19、roduce a SSL record head,SSL记录协议操作(2),记录协议发出传输请求消息,把数据分段成可以操作的数据块,还可以选择压缩数据,加入MAC信息,加密,加入文件头,在TCP段中传输结果单元。接收的数据需要解密、身份验证、解压与重组,然后才能交付给高层用户。,SSL记录协议分片,SSL记录协议压缩,郑州轻工业学院计算机与通信,无损压缩不会增加1024字节 以上长度的内容没有默认压缩算法,SSL记录协议MAC计算,郑州轻工业学院计算机与通信,SSL记录协议加密,郑州轻工业学院计算机与通信,SSL协议封装,郑州轻工业学院计算机与通信,SSL消息头可以是两个或三个字节长的编码。包
20、括消息头的长度、消息数据的长度与消息数据中是否有填充数据。数据头长度是3B时,次高位为1时,传输消息是普通数据消息;次高位为0时,传输消息是安全空白消息(被保留用作将来协议的扩展)SSL消息数据:MAC数据+实际数据+填充数据,SSL协议消息格式,郑州轻工业学院计算机与通信,SSL记录协议有效载荷,郑州轻工业学院计算机与通信,SSL协议:加密算法与会话密钥,郑州轻工业学院计算机与通信,加密算法和会话密钥是在握手协议中协商并有CIPHERCHOICE指定的。现有的SSL版本中所用到的加密算法包括:RC4、RC2、IDEA和DES,而加密算法所用的密钥由消息散列函数MD5产生,共享主密钥,郑州轻工
21、业学院计算机与通信,共享主密钥:由客户机和服务器共享,是通过安全密钥交换生成的临时48字节值主密钥分两个步骤生成:1.交换pre_master_secret 2.双方计算master_secretpre_master_secret 交换方法:1.RSA 2.Diffie-Hellman,主密钥创建,郑州轻工业学院计算机与通信,主密钥参数,郑州轻工业学院计算机与通信,SSL协议:认证算法,郑州轻工业学院计算机与通信,认证算法采用X.509电子证书标准,通过使用RSA算法进行数字签名来实现的。,SSL协议问题,郑州轻工业学院计算机与通信,SSL协议存在一些问题,比如SSL提供的保密连接有很大的漏洞
22、。另外,SSL对应用层不透明,只能提供交易中客户与服务器间的双方认证,在涉及多方的电子交易中,SSL协议并不能协调各方间的安全传输和信任关系,对SSL(包括TLS)常见攻击,郑州轻工业学院计算机与通信,TLS的主要目的也是为了提供通信的机密性和数据的完整性。分为两层:TLS记录协议层和TLS握手协议层。其中握手协议层包括:握手协议、改变密码规格协议、警告协议等。TLS利用两种基本方式提供的安全的连接:连接的机密性:对称密码机制加密,每次连接使用不同的密钥。连接的可靠性:使用消息认证码来保证消息的完整性,MAC的计算采用散列函数。,TLS协议概述,TLS协议概述,郑州轻工业学院计算机与通信,TL
23、S握手协议提供的安全连接有以下3个特点:使用对称密钥加密算法或公开密钥加密算法来鉴别对等实体的身份,鉴别的方式是可选的,但是必须至少有一方要鉴别另一方的身份。协商共享安全信息的方法是安全的,协商的秘密不能够被窃听,而且即使攻击者能够接触连接的路径,也不能获得任何有关连接鉴别的秘密。协商是可靠的,没有攻击者能够在不被双方察觉的情况下修改通信信息。,TLS协议目标,郑州轻工业学院计算机与通信,优先级顺序排列,协议实现的目标:数据安全互操作性可扩展性实现高效,TLS协议记录协议,郑州轻工业学院计算机与通信,TLS记录协议是一个可相对独立工作的协议,记录协议完成的工作包括信息的传输、数据的分段、可选择
24、的数据压缩、提供信息鉴别码MAC和对信息进行加密等。,TLS记录协议连接状态,郑州轻工业学院计算机与通信,它是指TLS记录协议的操作环境。它规定了协议所采用的加密算法、压缩算法和MAC算法,以及与这些算法相关的参数,如MAC保密数值与加密密钥。在逻辑上,TLS有四个连接状态:当前的读和写状态,挂起的读和写状态。,TLS记录协议记录层,郑州轻工业学院计算机与通信,从上层接收任意长的用户数据,然后进行合适的分段(使每块小于214个字节),TLS协议中定义了这种分块的数据结构,包括类型、版本与长度等信息。之后再使用压缩状态信息来压缩和解压缩记录,TLS协议定义了压缩信息的数据结构。同时,TLS协议也
25、支持不压缩的空操作。,TLS记录协议密钥计算,郑州轻工业学院计算机与通信,记录层协议要用某种算法来从握手协议协商的安全参数中产生密钥、IV和MAC保密数值。所有这些密钥都是从主保密数值中派生出来的。,TLS握手协议概述,郑州轻工业学院计算机与通信,TLS握手协议由一系列子协议构成,使通信的双方协商建立记录层所需的安全参数,并认证对方身份,为双方报告出错信息。,TLS握手协议过程,郑州轻工业学院计算机与通信,TLS握手协议过程(2),郑州轻工业学院计算机与通信,实际的密钥交换过程包括四条消息:服务器证书、服务器密钥、客户证书和客户密钥,过程如下:交换Hello消息协商算法,交换随机数,检查会话是
26、否可重用;交换密码参数,服务器和客户机产生共享的预备“主保密数值”;交换证书和密码参数,认证双方的身份;从预备“主保密数值”和随机数中产生主保密数值;为记录层提供所需的安全参数;允许客户机和服务器检验所计算出的安全参数是否一致,并检查是否有对握手协议的攻击,TLS握手协议可恢复新会话连接,郑州轻工业学院计算机与通信,TLS安全性分析认证,郑州轻工业学院计算机与通信,TLS支持三种认证方式:相互认证、仅认证服务器而不认证客户和完全匿名。前两种能防止中间人的攻击,而后一种不能。匿名服务器不能认证客户。被认证的服务器要向客户提供一个合法的证书链,被认证的客户也要向服务器提供一个合法的证书链。,TLS
27、安全性分析应用数据保护,郑州轻工业学院计算机与通信,主保密数值包括对ClientHello.random和ServerHello.random的散列摘要,因此对于不同的连接和连接的不同方向,数据的加密和MAC密钥都是不同的。,TLS安全性分析低版本攻击,郑州轻工业学院计算机与通信,由于TLS向下兼容于SSL 2.0,攻击者可能通过迫使客户采用TLS协议,而服务器采用SSL 2.0协议来破坏通信的安全性。SSL 2.0协议存在许多漏洞,SSL3.0有了很大的改进,TLS协议又是SSL3.0的后继版本,因此建议客户和服务器尽量采用同样的协议版本。,TLS安全性分析握手攻击检测,郑州轻工业学院计算机
28、与通信,攻击者可通过影响握手协议来迫使通信双方采用安全级别尽可能低的算法,或促使双方采用不同级别的算法。对于这种攻击,攻击者必须主动修改收到两个握手消息。这时,客户和服务器会计算出不同的握手消息哈希值。因此,通信双方都不能接收对方的“结束消息”。由于攻击者无法得到主保密数值,因此他无法伪造“结束消息”。这样,通信双方就能检测出这种攻击。,TLS安全性分析握手攻击检测,郑州轻工业学院计算机与通信,攻击者可通过影响握手协议来迫使通信双方采用安全级别尽可能低的算法,或促使双方采用不同级别的算法。对于这种攻击,攻击者必须主动修改收到两个握手消息。这时,客户和服务器会计算出不同的握手消息哈希值。因此,通
29、信双方都不能接收对方的“结束消息”。由于攻击者无法得到主保密数值,因此他无法伪造“结束消息”。这样,通信双方就能检测出这种攻击。,TLS/SSL比较,版本号:SSL3.0=3+0;TLS1.0=3+1MAC方案:算法改进+MAC计算范围伪随机函数警告码:TLS=SSL警告码+新增警告码客户证书类型:TLS少了Fortezza证书&D-H参数证书签名消息:TLS没有对主密码与填充进行签名结束消息:计算方法不一样密码计算+填充长度,郑州轻工业学院计算机与通信,TLS与SSL应用电子商务,RSA+保密密钥TCP/IP安全通道B/S安全连接TCP/IP安全通道=C-S安全级别协商保密密钥+(数字签名+
30、数字证书)身份认证缺点:1、SSL/TLS双方认证,电子商务多方交易2、交易前提是客户信任商家,郑州轻工业学院计算机与通信,TLS与SSL应用Web服务,两种方案:HTTP TLS,HTTPS两种实现:嵌入式实现+库形式实现过程:用户访问套接字连接TLS/SSL握手read解密上流+write加密下流HTTPS:CS:连接请求;协商TLS连接;TLS封装HTTP数据,进行交换:警告,关闭;端口-443HTTP TLS:共用80端口;允许虚拟机方式;连接请求协商升级选择性认证数据通信;通过代理升级升级:C升级请求(选择升级+强制升级)S接受请求S升级(强制升级列出+选择升级列出)通信,郑州轻工业
31、学院计算机与通信,TLS与SSL安全性分析,认证思想:安全性建立在可信的CA上握手协议:认证+密钥交换认证方式:全认证+S认证+全匿名全匿名:中间人攻击+重放攻击S认证:重放攻击密钥交换:匿名交换+非匿名交换匿名交换:抵抗窃听,不能抵抗:中间人+重放非匿名交换:抵抗:中间人+重放,郑州:轻工业学院计算机与通信,TLS与SSL安全性分析,验证思想:客户和服务器存放CA证书,通过验证,确定身份。握手协议的安全设计:密钥交换技术。应用数据保护:HMAC抵抗重放与截断攻击防护:1、版本重放非随机填充;2、握手攻击不同加密算法;3、会话恢复攻击更改密码规格;4、侦听与中间人攻击双向不同密钥-更新;5、流量分析攻击相对无害,可能成功;6、拼接攻击独立会话标识符;7、短包攻击需要改进;8、报文重放MAC序列号;密码组件回退攻击协商结束验证密钥管理问题:明文交换加密算法+兼容性+过于依赖主密钥,郑州:轻工业学院计算机与通信,