郑州轻工业学院计算机与通信工程学院1.1第五章传输层安全通信协议郑州轻工业学院计算机与通信工程学院1.2本章内容提要传输层安全协议概述安全套接字协议SSL传输层安全协议TLSPSSL/TLS协议应用SSL/TLS协议分析郑州轻工业学院计算机与通信工程学院1.3传输层安全通信协议在TCP/IP协议体系中的位置应用程序vv链路层网际层传输层应用层郑州轻工业学院计算机与通信工程学院1.4传输层安全协议概述特点:基于两个传输进程间的端到端安全服务,保证两个应用之间的保密性和安全性,为应用层提供安全服务。Web浏览器是将http和ssl相结合,因为简单在电子商务也应用。常用协议:SP4+TLSP+SSH+SSLSP4:从属于安全数据网络系统SDNS,由NSA与NIST开发SSH:强制认证+数据加密安全登陆+安全传输TLSP:ISO开发和标准化的协议:通信加密+完整性验证SSL:安全套接层(securesocketslayer)Web通信安全郑州轻工业学院计算机与通信工程学院1.5SSL协议概述IPsec缺陷:IPSec可以提供端到端的网络层安全传输,但是它无法处理位于同一端系统之中的不同的用户安全需求,因此需要在传输层和更高层提供网络安全传输服务,来满足这些要求。协议版本:netscape开发。SSL1.0(未公开发行)+SSL2.0(作为工业标准)+SSL3.0(升级)与TLS关系:功能类似、相互兼容SSL构成:SSL握手协议+SSL记录协议郑州轻工业学院计算机与通信工程学院1.6SSL协议简史Netscape公司于1994开发SSLv2releasedin1995SSLv3alsoreleasedin1995duetobugsinv21996年IETF成立TransportLayerSecurity(TLS)committeeTLSv1wasbaseduponSSLv3Netscape、Microsoft都支持TLSv1郑州轻工业学院计算机与通信工程学院1.7SSL协议设计目标在Browser和WebServer之间提供敏感信息传输通道SocialSecurityNumber(SSN)CreditCard,etc提供访问控制OpenClosedSSL被设计使用TCP提供一个可靠的端到端安全服务,为两个通讯个体之间提供保密性和完整性(身份鉴别)郑州轻工业学院计算机与通信工程学院1.8SSL协议服务用户和服务器双向合法性认证服务:客户机和服务器都有各自的识别号,握手交换中认证彼此身份加密数据隐藏传输的数据:握手交换中协商证书认证的加密技术。可以使用对称加密和非对称加密。数字证书的应用防止非法用户的破译。数据传输完整性验证:散列函数+机密共享密钥交换服务郑州轻工业学院计算机与通信工程学院1.9SSL加密服务采用两种加密技术非对称加密认证交换加密密钥对称加密:加密传输数据郑州轻工业学院计算机与通信工程学院1.10SSL协议服务特点与优势安全服务特点:设计SSL是为了利用TCP提供可靠的端对端的安全维护,利用它可以保证两个应用间通信的保密性和可靠性,可在服务器和客户机两端同时实现支持。SSL协议要求建立在可靠的传输层协议(例如TCP)之上。SSL协议的优势:与应用层协议独立无关的。郑州轻工业学院计算机与通信工程学院1.11SSL协议构成两层协议:握手协议+记录协议两个实体:客户机+服务器两个概念:会话+连接握手协议服务:相互认证+协商(算法+密钥+secrets+初始向量等)记录协议服务:数据封装+安全通信(…)郑州轻工业学院计算机与通信工程学院1.12SSL协议架构郑州轻工业学院计算机与通信工程学院1.13郑州轻工业学院计算机与通信SSL协议实现层次郑州轻工业学院计算机与通信工程学院1.14SSL协议使用郑州轻工业学院计算机与通信工程学院1.15SSL协议概念连接:在任意一对的双方之间,也许会有多个安全连接会话:理论上,双方可以存在多个同时会话,但在实践中并未用到这个特性郑州轻工业学院计算机与通信工程学院1.16SSL协议的会话与连接连接:连接是能提供合适服务类型的传输,对于SSL,这样的连接是对等的关系。连接是暂时的,每个连接都和一个会话相关。会话:SSL会话是客户机和服务器间的关联,由握手协议创建,定义了一组可以被多个连接公用的密码安全参数。对于每个连接,可以利用会话来避免对新的安全参数进行代价昂贵的协商。郑州轻工业学院计算机与通信工程学院1.17SSL会话会话状态:每个SSL会话都有许多相关的状态。建立了会话,就有一个读和写(例如,接收和发送)的当前操作状态。另外,在握手协议中,还创建了挂起的读写状态。在成功的握手协议结束后,挂起状态就会变成当前状态。会话参数:会话ID+同等实体证书+压缩算法+加密规范+主控密码+可恢复标志郑州轻工业学院计算机与通信工程学院1.18郑州轻工业学院计算机与通信SSL会话参数郑州轻工业学院计算机与通信工程学院1.19郑州轻工业学院计算机与通信SSL连接参数郑州轻工业学院计算机与通信工程学院1.20SSL协议安全信道特性私密性:由于在握手协议中定义了会话密钥后,所有的消息都被加密。确认性:因为尽管会话的客户端认证是可选的,但是服务器端始终是被认证的。可靠性:因为传送的消息包括消息完整性检查(使用MAC)。郑州轻工业学院计算机与通信工程学院1.21SSL握手协议概述SSL中最复杂的协议就是握手协议。该协议允许服务器和客户机相互验证,协商加密和MAC算法以及保密密钥,用来保护在SSL记录中发送的数据。握手协议是在应用程序的数据传输之前使用的。握手协议分为两个阶段:第一个阶段用于建立私密性通信信道;第二个阶段用于客户认证。郑州轻工业学院计算机与通信工程学院1.22SSL握手协议数据报郑州轻工业学院计算机与通信工程学院1.23郑州轻工业学院计算机与通信握手过程ClientServer郑州轻工业学院计算机与通信工程学院1.24一、安全建立SSLClientSSLServer2.ServerHello1.TheServerHellomessageiscomposedofa.SSLVersion(highest)thatisunderstoodbytheclient.TLSv1b.KeyExchangetoidentifythemethodofexchangingkeys.RSA.c.DataEncryptiontoidentifytheencryptionmethodsavailabletotheClient.DESd.MessageDigestfordataintegrity.MD5e.DataCompressionmethodformessageexchangePKZipf.ARandomnumbertocomputethesecretkeyproducebyserver(un-dependstheclient’srandom)1.ClientHello郑州轻工业学院计算机与通信工程学院1.25CipherSuiteAlternativeslDataEncryption:RC2-40RC4-128DESDES403DESIDEAFortezzalMessageDigest:MD5SHA.lKeyExchange.RSAFixedDiffie-HellmanEphemeralDiffie-HellmanAnonymousDiffie-HellmanFortezzalDataCompression:PKZipWinZipgzipStuffIt郑州轻工业学院计算机与通信工程学院1.26二、服务器认证与密钥交换SSLClientSSLServerServerCertificate1.TheServerCertificatemessageiscomposedofa.TheserverIdentifierinformationb.ADigitalCertificateoftheseverinformationencryptedwiththeCAsPrivateKey.Thiscontainstheserver'sPublicKeyClientCertificateRequest3.TheClientCertificateRequestmessageiscomposedofa.TheCertificatetypetoindicatethetypeofpublickeyb.TheCertificateAuthorityisalistofdistinguishednamesofCertificateAuthoritiesacceptabletotheServerServerDoneMessage4.ThisServerDonemessagehasnoparameters.thenwaitforclientresponse.2.ServersendServer-Key-Exchangemessage,itincluding:a.anonymousDiffie-hellmanb.short-livedDiffie-hellmanc.RSAkeyexchangeServer-key-exchange郑州轻工业学院计算机与通信工程学院1.27三、客户机验证和密钥交换SSLClientSSLServerClientCertificate1.TheClientCertificatemessageiscomposedofa.TheserverIdentifierinformationb.ADigitalCertificateoftheclientinformationencryptedwiththeCAsPrivateKeyIfithavenotcertificatethensendawarnmessagethatno_certificate.2.TheClientAuthenticatestheServerwiththeCA.a.ExtractsthepublickeyoftherootsignedcertificatethatcameinstalledwiththeclientandComputesaMDoftheservercertificateinformation.b.Decryptstheservercertificate(thatwasissuedbytherootCA)thatcontainsthehashcomputedbytheCAPrivateKeyc.ComparesthecomputedhashwiththehashcontainedintheserverDigitalCertificate.3.Generatesasessionkey(psuedo-randomnumber)touseasaPre-MasterKeythenEncryptsthesessionkeywiththeserver’spublickey.郑州轻工业学院计算机与通信工程学院1.28密钥交换结果SSLClientSSLServerCSSCCSSCEncryptionMACIVEncryptionMACIV郑州轻工业学院计算机与通信工程学院1.29四、握手完成1.Change_Cipher_Specmessageiscomposedofa.Theclientauthenticatestheserverwithamessageencryptedwiththenewlygeneratedsharedkeys.b.Thisvalidatestotheserverthatasecureconnectionhasbeencreated.SSLClientSSLServerChange_Cipher_SpecServerFinish1.TheChange_Cipher_Specmessageiscomposedofa.Th