一.传输层安全协议
传输层安全协议(Transport Layer Security Protocol,TLS)正是为了解决传输层安全问题而提的。
传输层安全性就是要保证因特网上任意两个主机进程之问数据交换的安全性,包括建立连接时的用户身份合法性、数据交换过程中的数据机密性、数据完整性以及不可否认性等方面。
传输层安全协议增强了传输层协议的安全性,它在传输层协议的基础上增加了安全协商和数据加密/解密处理等安全机制和功能。
现实中,大多数用户通常选择使用的传输层安全协议是安全套接字层(Secure Sockets layer,SSL.)协议
二.SSL协议背景
1.SSL协议介绍
SSL协议对于用户而言是透明的,普通用户使用SSL进行网络连接的区别不外乎是浏览器地址栏中的URL地址是以https作为开头,地址栏最右端或状态栏会有一个挂锁或钥匙的图标。
实际上,SSL是一个独立于平台和应用的协议。图4-1显示了SSL.在协议栈中的位置,用于保护基于TCP的应用,SSL在TCP层之上、应用层之下,就像TCP连接的套接字一样工作。
2.SSL协议三种安全特性
(1)数据机密性:采用对称加密算法来加密数据,密钥是在双方握手时协商指定的。
(2)数据完整性:采用消息鉴别码(MAC)来验证数据的完整性,MAC是采用Hash函数实现的。
(3)身份合法性:采用非对称密码算法和数字证书来验证通信实体的身份合法性。
3.SSL之间通信
SSL协议的基本目标是在两个通信实体之间建立安全的通信连接,为基于客户机/服务器模式的网络应用提供安全保护。
图4-2给出了一个典型基于SSL的VPN应用.
展示一个高校研究人员如何通过Web浏览器或专用客户端安全访问内部资源。
首先,校园网内部的资源服务器向外网用户提供一个虚拟的URL地址
当用户从外网访间校园网内网资源时,发起的连接被SSL.VPN网关取得
依据安全控制策略,为分散移动用户提供从外网访问企业内网资源的安全访问通道
并通过认证后映射到不同的应用服务器
采用这种方式能够屏蔽内部网络的结构,不易遭受来自外部的攻击
三.SSL协议简介
SSL协议的主要目的是保障两个应用间通信的私密性和可靠性。
SSL协议提供传输协议之上的可靠的端到端安全服务,为两个通信对等实体之间提供机密性、完整性和身份鉴别服务。
1.SSL两层组成
SSL协议是一个分层协议,由两层组成:SSL记录协议和SSL握手协议如图所示,内容如下。
(1)SSL记录协议用于封装不同的高层协议,它建立在可靠的传输协议之上(如TCP协议)
(2)SSl.握手协议用于数据交换前服务器和客户端双方相互认证以及密码算法和密钥的协商
SSL握手协议还可细分为握手协议、密钥更改协议和告警协议。
所以也有资料将SSL协议分为4层:SSL记录协议、SSL握手协议、密钥更改协议和告警协议。
这样一来,SSL的协议栈也可如图所示。
2.SSL协议三个基本性质
(1)保障连接的私密性。初次握手协商好密钥后,即可通过对称加密方法(如DES、RC4等)进行数据加密,保障通信连接的私密性。
(2)通信实体间身份鉴别。通信实体能够通过非对称加密或公钥加密方法(如RSA、DSS等)进行身份鉴别。
(3)保障连接的可靠性。协议通过MAC算法保证传输消息的完整性。SHA、MD5等安全HASH算法可用于MAC计算。接下来将详细介绍SSL.协议内容。由于SSL.协议的版本较多,本章的讨论以SSLv3.0版本为主,兼顾其他版本的协议内容。