SSL与TLS的区别以及介绍
SSL:(Secure Socket Layer,安全套接字层),位于可靠的⾯向连接的⽹络层协议和应⽤层协议之间的⼀种协议层。SSL通过互相认证、使⽤数字签名确保完整性、使⽤加密确保私密性,以实现客户端和服务器之间的安全通讯。该协议由两层组成:SSL记录协议和SSL握⼿协议。
TLS:(Transport Layer Security,传输层安全协议),⽤于两个应⽤程序之间提供保密性和数据完整性。该协议由两层组成:TLS记录协议和TLS握⼿协议。
  SSL是Netscape开发的专门⽤于保护Web通讯的,⽬前版本为3.0.最新版本的TLS 1.0是IETE(⼯程任务组)指定的⼀种新的协议,它建⽴在SSL 3.0协议规范之上,是SSL 3.0的后续版本。两者差别极⼩,可以理解为SSL 3.1,它是写⼊了RFC的。
  SSL(Secure Socket Layer)
  为Netscape所研发,⽤以保障在Internet上数据传输之安全,利⽤数据加密(Encryption)技术,可确保数据在⽹络上之传输过程中不会被截取。
  当前版本为3.0。它已被⼴泛地⽤于Web浏览器与服务器之间的⾝份认证和加密数据传输。
  SSL协议位于TCP/IP协议与各种应⽤层协议之间,为数据通讯提供安全⽀持。SSL协议可分为两层:SSL记录协议(SSL Record Protocol):它建⽴在可靠的传输协议(如TCP)之上,为⾼层协议提供数据封装、压缩、加密等基本功能的⽀持。SSL握⼿协议(SSL Handshake Protocol):它建⽴在SSL记录协议之上,⽤于在实际的数据传输开始前,通讯双⽅进⾏⾝份认证、协商加密算法、交换加密密钥等。
  SSL协议提供的服务主要有:
  1)认证⽤户和服务器,确保数据发送到正确的客户机和服务器;
  2)加密数据以防⽌数据中途被窃取;
  3)维护数据的完整性,确保数据在传输过程中不被改变。
  SSL协议的⼯作流程:
  服务器认证阶段:
  1)客户端向服务器发送⼀个开始信息“Hello”以便开始⼀个新的会话连接;
  2)服务器根据客户的信息确定是否需要⽣成新的主密钥,如需要则服务器在响应客户的“Hello”信息时将包含⽣成主密钥所需的信息;
  3)客服根据收到的服务器响应信息,产⽣⼀个主密钥,并⽤服务器的公开密钥加密后传给服务器;
  4)服务器恢复该主密钥,并返回给客户⼀个⽤主密钥认证的信息,以此让客户认证服务器。
  ⽤户认证阶段:在此之前,服务器已经通过了客户认证,这⼀阶段主要完成对客户的认证。经认证的服务器发送⼀个提问给客户,客户则返回(数字)签名后的提问和其公开密钥,从⽽向服务器提供认证。
  TLS(Transport Layer Security Protocol):安全传输层协议
  安全传输层协议(TLS)⽤于在两个通信应⽤程序之间提供保密性和数据完整性。该协议由两成组成:TLS记录协议(TLS Record)和TLS握⼿协议(TLS Handshake)。较低的层为TLS记录协议,位于某个可靠的传输协议(例如TCP)上⾯。
  TLS记录协议提供的连接安全性具有两个基本特性:
私有——对称加密⽤以数据加密(DES、RC4等)。对称加密所产⽣的密钥对每个连接都是唯⼀的,且此密钥基于另⼀个协议(如握⼿协议)协商。记录协议也可以不加密使⽤。
可靠——信息传输包括使⽤密钥的MAC进⾏信息完整性检查。安全哈希功能(SHA、MD5等)⽤于MAC计算。记录协议在没有MAC 的情况下也能操作,但⼀般只能⽤于这种模式,即有另⼀个协议正在使⽤记录协议传输协商安全参数。
  TLS记录协议⽤于封装各种⾼层协议。作为这种封装协议之⼀的握⼿协议允许服务器与客户机在应⽤程序协议传输和接收其第⼀个数据字节前彼此之间互相认证,协商加密算法和加密密钥。TLS握⼿协议提供的连接安全具有三个基本属性:
可以使⽤⾮对称的,或公共密钥的密码术来认证对等⽅的⾝份。该认证是可选的,但⾄少需要⼀个结点⽅。
共享解密密钥的协商是安全的。对偷窃者来说协商加密是难以获得的。此外经过认证过的连接不能获得加密,即使是进⼊连接中间的攻击者也不能。
协商是可靠的。没有经过通信⽅成员的检测,任何攻击者都不能修改通信协商。
  TLS的最⼤优势就在于:TLS是独⽴于应⽤协议。⾼层协议可以透明地分布在TLS协议上⾯。然⽽,TLS标准并没有规定应⽤程序如何在TLS上增加安全性;它如何启动TLS握⼿协议以及如何解释交换的认证证书的决定权留给协议的设计者和实施者来判断。
  协议结构
  TLS协议包括两个协议组——TLS记录协议和TLS握⼿协议。
  TLS和SSL的关系:并列关系ssl协议全称
  最新版本的TLS(Transport Layer Security,传输层安全协议)是IETF(Internet Engineering Task Force,Internet⼯程任务组)制定的⼀种新的协议,它建⽴在SSL 3.0协议规范之上,是SSL 3.0的后续版本。在TLS与SSL 3.0之间存在着显著的差别,主要是它们所⽀持的加密算法不同,所以TLS与SSL 3.0不能互操作。
  1.TLS与SSL的差异
  1)版本号:TLS记录格式与SSL记录格式相同,但版本号的值不同,TLS的版本1.0使⽤的版本号为SSLv3.1。
  2)报⽂鉴别码:SSLv3.0和TLS的MAC算法及MAC计算的范围不同。TLS使⽤RFC-2104定义的HMAC算法。SSLv3.0使⽤了相似的算法,两者差别在于SSLv3.0中,填充字节与密钥之间采⽤的是连接运算,⽽HMAC算法采⽤的异或运算。但是两者的安全程度是相同的。
  3)伪随机函数:TLS使⽤了称为PRF的伪随机函数来将密钥扩展成数据块,是更安全的⽅式。
  4)报警代码:TLS⽀持⼏乎所有的SSLv3.0报警代码,⽽且TLS还补充定义了很多报警代码,如解密失败(decryption_failed)、记录溢出(record_overflow)、未知CA(unknown_ca)、拒绝访问(access_denied)等。
  5)密⽂族和客户证书:SSLv3.0和TLS存在少量差别,即TLS不⽀持Fortezza密钥交换、加密算法和客户证书。
  6)certificate_verify和finished消息:SSLv3.0和TLS在⽤certificate_verify和finished消息计算MD5和SHA-1散列码时,计算的输⼊有少许差别,但安全性相当。
  7)加密计算:TLS和SSLv3.0在计算主密值(master secret)时采⽤的⽅式不同。
  8)填充:⽤户数据加密之前需要增加的填充字节。在SSL中,填充后的数据长度哟啊达到密⽂快长度的最⼩整数倍。⽽在TLS中,填充后的数据长度可以是密⽂块长度的任意整数倍(但填充的最⼤长度为255字节),这种⽅式可以防⽌基于对报⽂长度进⾏分析的攻击。
  2.TLS的主要增强内容
  TLS的主要⽬标是使SSL更安全,并使协议的规范更精确和完善。TLS在SSL v3.0的基础上,提供了以下增加内容:
  1)更安全的MAC算法
  2)更严密的警报
  3)“灰⾊区域”规范的更明确的定义
  3.TLS对于安全性的改进
  1)对于消息认证使⽤密钥散列法:TLS使⽤“消息认证代码的密钥散列法”(HMAC),当记录在开放的⽹络(如因特⽹)上传送时,该代码确保记录不会被变更。SSLv3.0还提供键控消息认证,但HMAC⽐SSLv3.0使⽤(消息认证代码)MAC功能更安全。
  2)增强的伪随机功能(PRF):PRF⽣成密钥数据。在TLS中,HMAC定义PRF。PRF使⽤两种散列算法保证其安全性。如果任⼀算法暴露了,只要第⼆种算法未暴露,则数据仍然是安全的。
  3)改进的已完成消息验证:TLS和SSLv3.0都对两个端点提供已完成的消息,该消息认证交换的消息没有被变更。然⽽,TLS将此已完成消息基于PRF和HMAC值之上,这也⽐SSLv3.0更安全。
  4)⼀致证书处理:与SSLv3.0不同,TLS试图指定必须在TLS之间实现交换的证书类型。
  5)特定警报消息:TLS提供更多的特定和附加警报,以指⽰任⼀会话端点检测到的问题。TLS还对何时应该发送某些警报进⾏记录。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。