【硕士论文】SSLVPN中安全身份认证的研究.pdf_第1页
【硕士论文】SSLVPN中安全身份认证的研究.pdf_第2页
【硕士论文】SSLVPN中安全身份认证的研究.pdf_第3页
【硕士论文】SSLVPN中安全身份认证的研究.pdf_第4页
【硕士论文】SSLVPN中安全身份认证的研究.pdf_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 随着W E B 应用的发展和普及 S S L V P N 技术作为新一代安全技术以能够提供 简单 廉价 安全和可靠的I n t c m c t 访问而备受青睐 本文详细描述了S S LV P N 网关的整体设计方案 重点描述了网关中所采用的基于C o o k i e 的安全认证机制以 及性能分析 本文首先详细描述了V P N 技术的应用现状和发展前景 并介绍了V P N 实现的 一般原理 即采用隧道技术 接着重点介绍了S S L V P N 网关中所采用的应用通信 协议S S L T L S 同时简单的介绍了S S L V P N 技术 在此基础上 本文对提出的S S L V P N 网关的设计方案作了整体上的阐述说明 而后重点描述了在S S L V P N 网关中 采用基于C o o k i e 的认证机制所遇到的安全问题 并提出了内部C o o k i e 管理和外部 C o o k i e 管理结合的方案 解决了C o o k i e 认证中信息泄露 消息篡改 重放攻击等 安全问题 本文还给出了外部C o o k i e 管理方案的具体实现 以及对这个方案的性 能测试和分析 关键词 S S LV P NC o o k i e 安全认证 第一章绪论 第一章绪论 本章首先介绍了虚拟专用网 V i r t u a lP r i v a t eN e t w o r k s V P N 的产生背景及其优 势 然后介绍了本文作者所做的工作 最后介绍了论文的组织结构以及各章节的 主要内容 1 1 选题背景 随着计算机通信网络技术的发展和社会 企事业单位对信息需求的日益增长 网络规模 用户数量以及业务量都呈指数增长 企业网的范围也在不断扩大 从 本地网络 发展到跨地区 跨城市 甚至是跨国家的网络 网络范围的日渐扩大 需要建立一套完善 可靠的网络基础设施 l 通常情况下 一个企业连接分布在世界各个角落的分支结构和合作伙伴的解决 方法是 通过在公共网络上租用模拟或数字专线组成专用网络来实现 这种租用 专线的连接方式虽然有一定的优点 如高性能 高速度 高安全性等 但它也存 在着一些无法避免的缺陷 2 例如 租用专线费用昂贵 专线利用率不高 使网络运营成本过高 移动用户远程接入不方便 这些缺陷很大程度制约着企业网络的发展 随着I n t e m e t 的发展 大量企业的内部网络都与I n t e m e t 相连 将全球数据通 信网络连为一体 导致了传统信息技术在资源拥有能力上的突破 推动了基于公 共网的虚拟专用网技术的发展 V P N 是通过一个公用网络 通常是I n t e m e t 建立 一个临时的 安全的连接 是一条穿过混乱的公用网络的安全 稳定的隧道 远 程用户 公司分支机构 商业伙伴及供应商通过加密的隧道与公司的内部网络建 立可信的安全连接 而公共网络上的用户则无法穿过虚拟通道访问企业内部网络 V P N 的出现使跨地区的企业 移动用户和企业网络通过公共网络 通常是I n t e m e t 实现成为可能 与租用专线的传统方式相比 V P N 技术有如下优点 为企业降低费用 为企业网提供很好的扩展性 企业的新增分支机构或站点可以非常迅速方 便的加入企业网 2S S L V P N 中安全身份认证的研究 避免网络建设上重复的投资 国外V P N 产品起步较早 J u n i p e r 公司V P N 产品在V P N 领域处于领先地位 国内的V P N 市场从2 0 0 0 年开始才正式起步 呈现较快的成长速度 国内厂商纷 纷推出自己各具特色的V P N 产品 其中有天融信 华为 联想等 希望以技术和 功能上的特点占领市场 争取V P N 市场份额 1 2 论文工作 目前 对V P N 技术的研究已经有了很长的时间 市场上有许多较为成熟的V P N 产品 本课题的工作内不是讨论V P N 的应用 而是从系统的角度对目前主流的S S L V P N 产品开发过程中的若干问题做一系统性的 全局性的描述 分析和讨论 主 要包括整体框架的设计 服务器端的授权认证方案等 其中系统中地认证 授权 和审计 内网中的反向代理方案是S S L V P N 的关键技术所在 这些方面决定了产 品的安全性 运行效率等 本文作者的工作是基于S S LV P N 基本框架 重点放在S S LV P N 网关中基于 C o o k i e 的安全认证 具体的工作包括如下 查阅了大量的计算机系统结构 计算机网络以及V P N 技术的相关资料 深入的研究了现有的S S LV P N 产品的实施方案 分析了这些实施方案的优点 和不足 查阅了大量的关于网络安全方面的资料和论文 深入研究了当前主流S S L V P N 技术环节 如安全认证方式 安全客户端等 设计并实现了基于C o o k i e 的安全认证方案 主要解决了C o o k i e 认证过程 中所遇到的信息泄漏 篡改数据 暴力攻击等安全问题 增强了可认证性 保 密性 完整性 抗重放攻击方面的安全性 对基于C o o k i e 安全认证方案的性能分析 1 3 论文结构 本文主要针对S S L V P N 设计中的整体方案 基于C o o k i e 的安全认证方案的设 计等方面做了深入全面的讨论 第一章绪论 介绍课题的选题背景 论文的主要工作 论文简要的组织结构 第二章V P N 技术概述 从整体上介绍V P N 的概念 对S S LV P N 技术及其采 用的S S L T L S 安全通信协议进行简要的介绍 第三章方案总体概述 从整体上对S S L V P N 网关的实施方案进行了介绍 主 第一章绪论 3 要包括系统实施方案的框架 实现目标以及系统功能 第四章基于C o o k i e 的安全认证 本章对基于C o o k i e 安全认证方案进行详细 的描述 主要提供了可认证性 保密性 完整性 抗重放攻击等安全保障 第五章安全认证方案的性能评估 第六章结束语 对论文工作进行一个简单的回顾 并探讨下一步工作重点和 研究方向 第一章S S L V P N 技术介绍 第二章S S L V P N 技术介绍 本章首先描述V P N 使用的核心技术 隧道技术 然后描述了S S L V P N 所采 用的S S L T L S 安全通信协议 最后介绍目前主流的S S L V P N 技术 2 1 隧道技术 V P N 的实际应用中主要包括网对网和移动用户远程接入两种模式 前一种模 式通常在具有固定公网I P 的安全网关之问协商建立隧道 来确保各私有子网之间 安全的互相访问吼如图2 1 所示 A 局域网中的主机与B 局域网中的主机 通过 构建的安全隧道进行通信 后种模式主要用于不具有固定I P 的个人移动用户 如图2 2 所示 移动终端A 与B 局域网中的主机 通过构建的安全隧道进行通信 幽2 1 V P N 中嘲络互联的隧道技术 图2 2 V P N 中远程接 的隧道技术 两种模式的V P N 的实现主要通过隧道技术 T u n n e l i n g 加解密技术 E n c r y p t i o n D e c r y p t i o n 密钥管理技术 K e yM a n a g e m e n t 身份认证技 术 A u t h e n t i c a t i o n 等技术 在不可靠的信息传输媒介上 通常足l m e r n e t 建 疆佥 赢静二 i 1 一局 一 一 6 S S L V P N 中安全身份认证的研究 立一条零时 可靠的虚拟加密通道 从而实现与专用网类似的功能 达到在公网 上传输私有数据 达到私有网络的安全级别的目的 隧道技术是V P N 的关键技术 其实质上是一种数据封装技术 如图2 1 和2 2 所示 将一种协议的数据包封装在另一种协议的数据包中进行传输 到达目的地 后将数据包解包发给上层协议 这样就实现了被封装的协议对传输网络的透明性 隧道协议按照开放系统互联 O S I 的参考模型可作如下划分 第二层隧道协议 第二层隧道协议对应O S I 模型中的数据链路层 使用帧作为 数据交换单位 P P T P P o i n t t o P o i n tT u n n e l i n gP r o t o c 0 1 L 2 T P L a y e r 2 T u n n e l i n gP r o t o c 0 1 都属于第二层隧道协议 都是将数据封装在点对点协议 P P P 帧中通过互联网发送 第三层隧道协议 第三层隧道协议对应O S I 模型中的网络层 使用包作为数据 交换单位 典型的I P S e c 隧道模式就属于第三层隧道模式 将口包封装在附 加的P 包头中通过I P 网络传送 应用层隧道协议 应用层隧道协议对应O S I 模型中的应用层 这一层的隧道协 议将应用层的各种协议直接封装到隧道协议中进行传输 典型的应用层协议是 S S L T L S S e c u r eS o c k e tL a y e r T r a n s p o r tL a y e rS o c k e t 协议 本文作者的工作 就是建立在这个协议之上 下一节将对S S L T L S 协议作详细的介绍 2 2S S L T L S 协议 2 2 1S S L f r L S 协议概述 S S L T L S 协议用于在两台机器之间提供端到端的数据保密性 数据完整性服务 以及通信双方的身份认证服务 S S L 协议的优势在于它是与应用层协议独立无关 的 高层的应用协议 如H T T P F T P T E L N E T 能透明的建立于S S L 协议之上H 儿5 钔 S S L 协议位于T C P I P 协议模型的网络层和应用层之间 使用T C P 来提供一种 可靠的端到端的安全服务 它使客户 服务器应用之间的通信不被攻击窃听 并且 始终对服务器进行认证 还可以选择对客户进行认证 S S L 协议在应用层通信之前 就已经完成加密算法 通信密钥的协商以及服务器认证工作 在此之后 应用层 协议所传送的数据都被加密 S S L 实际上是共同工作的两层协议组成 如图2 3 所 示 从体系结构图可以看出S S L 安全协议实际是S S L 握手协议 H a n d s h a k e P r o t o c 0 1 S S L 改变密码协议 C h a n g eC i p h e rS p e cP r o t o c 0 1 S S L 警告协议 A l t e r P r o t o c 0 1 S S L 应用数据协议 A p p l i c a t i o nD a t aP r o t o c 0 1 和S S L 记录协议 R e c o r d P r o t o c 0 1 组成的一个协议族 第二章S S L V P N 技术介绍7 2 2 2S S L f r L S 协议分析 下面对S S L 协议中主要协议进行概要介绍 1 记录协议 S S L 记录协议为S S L 连接提供了两种服务 机密性服务 握手协议定义了共享的 可用于对S S L 有效载荷进行常规加 密的密钥 消息完整性服务 握手协议还定义了共享的 可用来形成报文的鉴别码 M A C 的密钥 S S L 握手协议S S L 警告协议 S S L 改变密码协议S S L 应用数据协议 S S L 记录协议 T C P I P 图2 3S S L 体系结构 在S S L 协议中 所有的传输数据都被封装在记录中 记录是由记录头和长度 不为0 的记录数据组成的 所有的S S L 通信都使用S S L 记录层 记录协议封装上 层的握手协议 警告协议 改变密码协议和应用数据协议 S S L 记录协议包括了 记录头和记录数据格式的规定 S S L 记录协议定义了要传输数据的格式 它位于 一些可靠的传输协议之上 如T C P 用于各种更高层协议的封装 记录协议主要 完成分组和组合 压缩和解压缩 以及消息认证和加密等功能 如图2 4 所示 描 述了S S L 记录协议的数据处理过程 1 记录层从上层接受应用数据 2 记录层对数据进行分段 将其分割成可管理的明文块 每个记录的长度为 1 6 K 或者更小 记录层中不关心客户消息的边界 属于同一内容类型的消 息可以放在同一记录层报文中传输 同样 一个较大消息也可以被分段 通过多个记录层报文来传送 一 3 使用当前会话状态中定义的压缩算法对明文块记录进行压缩 这一步是可 选的 这里的数据块压缩是无损压缩 并且增加的长度不能超过1 0 2 4 字 节 4 对第三步的结果 使用当前会话状态中定义的消息验证码M A C 算法和 M A C 密钥 计算M A C 值 并添加到第三步的结果之后 消息验证码主要 是为了检验消息的完整性 8 S S L V P N 中安全身份认涯的研究 5 对第四步产生的结果霸用I D E A D E S 3 D E S 或其他加密算法进行加密 加密对内容长度的增长也不可以超过1 0 2 4 字节 6 对第五步产生的结果添加记录头 记录头的作用是为接受现实提供对记录 进行解释所必需的信息 记录头部分包含三部分信息 内容类型 8 b i t S S L 协议版本号和长度域 1 6 b i t 内容类型字段标识消息类型 S S L 支 持的圈种类型 a p p l c a t i o n 和 一 data a l e r th a n d s h a k e c h a n g ec i p h e rs p e c 长度字段可以让接收方知道它要从线路上读取多少字节才能对消息进行 处理 版本号只是一项确保每一方使用所磋商的版本的冗余性检查 痤赐数据 分段 压缩 添加姒C 加密霞 i 滔抛塑曼婆厂 童 丁 呵 7 习 添加记录头L 邑 也盛戳 池 二 一塑 i h k z 4 k t 4 4 d i z j i 4 一 图2 4S S L 记录协议的操作 2 握手协议 S S L 中最复杂 最重要的部分是握手协议 这个协议焉于建立会话 协商加 密方法 鉴别方法 压缩方法和初始化操作 使服务器和客户能够相互鉴别对方 的身份 协商加密和M A C 算法以及用来保护在S S L 记录中发送数据的加密密钥 在传输任何应用数据之前 都要使用握手协议 握手协议的过程如图2 5 所示 具体过程描述如下 1 客户端将它所支持的算法列表连同一个密钥产生过程用作输入的随机数 发送给服务器 2 服务器根据从列表的内容中选择一种加密算法 并将其连同一份包含服务 器公用密钥的证书发送回给客户端 该证书还包含了用于认证目的的服务 器标识 服务器同时还提供了一个作为密钥产生过程部分输入的随机数 3 客户端对服务器的证书进行验证 并抽取服务器的公用密钥 然后 再产 生一个称做p r em a s t e rs e c r e t 的随机密码串 并使用服务器的公用密钥对 第二章S S L V P N 技术介绍 9 其进行加密 最后 客户端将加密后的信息发送给服务器 4 客户端与服务器端根据p r e m a s t e r s e c r e t 以及客户端与服务器端交换的随 机数值 独立计算出加密和M A C 密钥 5 客户端将所有握手消息的M A C 值发送给服务器 6 服务器将所有握手消息的M A C 值发送给客户端 客户服务器 1 所支持的加密算法 随机数 2 选中的加密算法 随机数证书 i 垫奎巨箜竺 2 2 2 1 4 计算密钥 4 计算密钥 图2 5S S L 握手概述 第一和第二步实现的目标是就一组算法达成一致 客户端告诉服务器它所支持 的算法 而服务器选择其中的一种算法 当客户端收到服务器在第二步所发的消 息时 它也会知道这种算法 所以双方在以后的通信中知道要使用的协议版本和 算法 第二和第三步的目标是确立一组加密算法 第二步服务器向客户端提供其证 书 这样就可以允许客户端给服务器传送密码 经过第三步后 客户端与服务器 端都知道了p r c 客户端知道是因为这时它产生的 m a s t e r s e c r e t p r em a s t e rs e c r e t 而服务器则是通过解密而得到p r em a s t e rs e c r e t 的 第三步是握手过程的关键步骤 所要保护的数据都依赖于p r e的 m a s t e r s e c r e t 安全 客户端使用服务器的公钥 从服务器证书中抽取 来加密共享密钥 而服 务器使用其私钥对共享密钥进行解密 握手的剩余步骤主要用于确保这种交换过 程的安全进行 然后在第四步中 客户端与服务器分别使用相同的密钥导出函数 K e yd e r i v a t i o nf u n c t i o n K D F 来产生m a s t e rs e c r e t 最后再次通过K D F 使用 m a s t e rs e c r e t 来产生加密密钥 第五与第六步用以防止握手本身遭受篡改 客户端提供多种算法的情况相当常 见 某些强度弱而某些强度强 攻击者可以删除客户端在第一步所提供的所有高 强度算法 追使服务器选择一种弱强度的算法 第五步与第六步的M A C 交换就能 1 0S S L V P N 中安全身份认证的研究 阻止这种攻击 因为客户端的M A C 是根据原始消息计算得出的 而服务器的M A C 是根据攻击者修改过的消息得出的 这样经过检查就会发现不匹配 由于客户端 与服务器所提供的随机数为密钥产生过程的输入 所以握手不会受到重放攻击的 影响 这些消息是首个在新的加密算法与密钥下加密的消息 因此 在此过程结束时 客户端与服务器已就使用的加密算法达成一致 并拥 有了一组与那些算法一起使用的密钥 更重要的是 它们可以确信攻击者没有干 扰握手过程 所以磋商过程放映了双方的真实意图 3 警告协议 S S L 警告协议是用来为对等实体传递S S L 的相关警告 如果在通信过程中某一 方发现任何异常 就需要给对方发送一条警示消息通告 警示消息有两种 一种 是F a t a l 错误 如传递数据过程中 发现错误的M A C 双方就需要立即中断会话 同时消除自己缓冲区相应的会话记录 第二种是W a r n i n g 消息 这种情况 通信双 方通常都只是记录日志 而对通信过程不造成任何影响 S S L 握手协议可以使得服 务器和客户能够相互鉴别对方 协商具体的加密算法和M A C 算法以及保密密钥 用来保护在S S L 记录中发送的数据 4 改变密码协议 是使用S S L 记录协议服务的S S L 高层协议的3 个特定协议之一 也是其中最 简单的一个 协议由单个消息组成 该消息只包含一个值为1 的单个字节 该消 息的唯一作用就是使未决状态拷贝为当前状态 更新用于当前连接的密码组 为了 保障S S L 传输过程的安全性 双方应该每隔一段时间改变加密规范 5 应用数据协议 包括常用的应用层协议 如超文本传输协议 H y p e r T e x tT r a n s f e rP r o t o c o l H T T P 文件传输协议 F i l eT r a n s f e rP r o t o c o l F T P 等 2 3S S t V P N 技术分析 2 3 1S S LV P N 技术概论 S S LV P N 指的是远程用户利用浏览器内建的S e c u r eS o c k e tL a y e r 封包处理功 能 首先把数据发送送给S S L V P N 网关 然后通过网络封包转发的方式 让远程 用户可以在远程计算机执行应用程序 读取公司内部服务器数据 它采用2 2 小节 中所介绍的S S L T L S 协议对传输的数据包进行加密 从而在应用层保护了数据的 安全性 S S LV P N 解决方案可保证企业进行安全的全局访问 S S L 的一般实现如图2 6 所示 在企业网中放置一个S S L V P N 网关 如果远程 第二章S S L V P N 技术介绍 用厂1 希望安全地连接到公司网络上 那么当用户在浏览器上输入一个U R L 请求后 连接将被S S L V P N 网关取得 并验证该用户的身份 然后S S L V P N 网关将提供一 个远程用户与企业内部叫各种不同的应用服务器之间连接 S S LV P N 的四个关键 技术如下 代理 S S L V P N 网关至少要实现一种功能 即代理W e b 页面 它将来自远 端浏览器的页面请求 采用H T T P S 协议 转发给W e b 服务器 然后将服务器 的响应回传给终端用户 再订 齐i厂鬲11s e 一 誊邃 曩E W 鄙 篡 I眄 圈2 6S S L V P N 结构示意图 应用转换 应用于非W e b 页面的文件访问 S S LV P N 网关与企业内部网 中的微软通用网际文件系统 C I F S 或F T P 服务器通信 S S LV P N 网关将这 些服务器对客户端的响应转化为H T T P S 协议和H T M L 格式发送给客户端 终 端用户感觉这些服务器就是一些基于W e b 的应用 这些转换对用户是透明的 端n 转发 针对一些应用 如微软O u t l o o k 或M S N 它们的外观会在转化 为基于W e b 界面的过程中丢失 利用端口转发技术解决这一问题 端几转发 用于端口定义明确的应用 它需要在终端系统上运行一个非常小的J a v a 或 A c t i v e X 程序作为端口转发器 监听某个端E l 上的连接 当数据包进入这个端 口时 它们通过S S L 连接中的隧道被传送到S S L V P N 网关 S S L V P N 网关解 丌封装的数据包 将它们转发给目的应用服务器 使用端口转发器 需要终端 用户指向他希望运行的本地应用程序 而不必指向真正的应用服务器 网络扩展 它将终端用户系统连接到企业网上 并根据网络层信息 如目 的I P 地址和端口号 进行接入控制 目的是为了在复杂拓扑结构下网络管理 简单 2 3 2S S L V P N 与I P s e c V P N 比较 下面针对V P N 的两种主流技术 即S S L V P N 与I P s e c V P N 的优映点作比较 1 2 S S L V P N 中安全身份认证的研究 1 I P s e cV P N 的优缺点 I P s e c 是I E T F 正在完善的安全标准 它把几种安全技术结合在一起形成一个较 为完整的体系 I P s e c 协议是一个范围广泛 开放的虚拟专用网安全协议 它提供 网络层上的数据保护 提供透明的安全通信 I P s e c 的优点是 它定义了一套用于认证 保护私有性和完整性的标准协议 I P s e c 支持一系列加密算法 如D E S 三重D E S 和I D E A 等 它检查传输数据包的 完整性 以保证数据没有被修改 I P s e c 用来在多个防火墙和服务器之间提供安全 性 I P s e c 可保证运行在T C P I P 协议上的V P N 之间的互操作性 I P s e c 的缺点是 I P s e cV P N 需要在客户端安装复杂的软件 当用户的安全策略 稍有变动时 V P N 的管理难度将呈几何级数增长 应用层接入控制不灵活 I P s e c V P N 的连接性会受到网络地址转换 N A T 的影响 或受网络代理设备 p r o x y 的影响 用户进行远程访问所处的网络环境可能限制I P s e cV P N 的正常连接 I P s e c V P N 客户端安全与配置复杂 尤其是对于N A T 和穿透防火墙 往往需要在设备上 作复杂的配置以配合I P s e cV P N 的工作 采用隧道方式 使远程接入的安全风险增 加 由于I P s e cV P N 在连接的两端创建隧道 提供网络层的直接 而非代理 访问 对全部网络可视 因此I P s e cV P N 会增加安全风险 一旦建立隧道 就像用户的 P C 机在公司内部局域网一样 用户能够直接访问公司全部的应用 由此会大大增 大风险 从投资角度看 如果要建立I P s e cV P N 单单有客户端软件是不够的 如 果没有防火墙和其他安全软件 客户端计算机很容易成为黑客攻击的目标 鉴于I P s e c 存在的缺陷 I P s e cV P N 实际上只适用于易于管理的或者位置固定 的设备 而不适合用作移动用户 如家庭 网吧 宾馆等上网用户 2 S S L V P N 的优势 S S L V P N 是基于应用层实现的V P N 使用S S L T L S 协议保障传输的安全性 专为用户提供安全远程访问V P N 解决方案 易于使用 S S LV P N 最大的一个优点就是客户端程序安装配置简单 女N M i c r o s o f fI n t e r n e t E x p l o r e r N e t s c a p eC o m m u n i c a t o r M o z i l l a 等已经预装在了终端设备中 因此不需 要再次安装 从而最大限度的减少分发和管理客户端软件的麻烦 降低了系统部 署成本 由于只通过4 4 3 端口作为唯一的传输通道 因此管理员不需要在防火墙上 作任何修改 也不会因为不同系统的需求修改防火墙的设定 S S LV P N 的部署无 需对网络基础设施进行大的改造 可以便捷 无缝的部署 应用广泛 对于大多数操作系统 只要是支持S S L 协议的浏览器 不论是W i n d o w s L i n u x 第二章S S L V P N 技术介绍1 3 等 都可以通过S S LV P N 进行远程安全接入 S S LV P N 运行在T C P 协议之上 可在N A T 代理装置上以透明模式工作 也可在P r o x y 代理模式下正常工作 不受远程用户所 处的网络环境限制 更好的访问控制 S S L V P N 是基于应用的V P N 基于应用层上的连接意味着S S L V P N 更容易提 供细粒度远程访问 即可以对用户的权限和可以访问的资源 服务 文件进行更 加细致的控制 所有的远程访问都是通过S S L V P N 网关进行控制 这样可以更有 效的监控用户使用权限 更好的安全性 由于S S LV P N 提供代理功能 它可以将内部网络的拓扑结构信息隐藏起来 因 此对内部网络攻击的威胁大大减弱 使用S S LV P N 病毒从远程客户端入侵的可能 性大大降低 因为感染病毒的计算机只会局限在某一台远程接入的主机 不会蔓 延到整个网络 下面的章节中将详细的介绍S S LV P N 网关实现的各个方面 重点放在基于 C o o k i e 安全认证上 第三章S S L V P N 网关方案总体概述 1 5 第三章S S LV P N 网关方案总体概述 本章从整体上描述S S LV P N 网关的设计和实现 包括方案的整体目标 系统 的功能描述 以及实现方案的概要介绍和各个功能模块的介绍 3 1 目标和功能 随着H T T P H y p e r T e x tT r a n s f e rP r o t o c o l 超文本传输协议 协议的广泛的应 用 W E B 成为标准的应用平台已势不可挡 7 1 主要原因有 目前 用户电脑上都安装浏览器软件 如I E I n t e r n e tE x p l o r e r F i r e f o x 等等 使用W E B 作为应用平台 可以避免安装和配置客户端软件的麻烦 方便 用户使用 由于W E B 应用平台中采用的标准协议 即H T T P 系统升级 维护和管理都 很方便 只需要在服务器端升级即可 如果有紧急需要 用户可以零时使用机场等场所提供的电脑 而不需要下 载安装以及配置任何软件 所以 越来越多的应用开始被移植到W E B 平台上 如C V S C o n c u r r e n tV e r s i o n S y s t e m 并发版本系统 M i c r o s o f tO u t l o o k 等都提供有W E B 访问方式 基于此 项目中S S LV P N 网关的目标是 安全可靠的实现企业内部网中W E B 类 资源的外部映射 主要功能包括 1 1 基于H T T P S 的接入 2 支持多种用户认证方式 如传统的用户名 口令方式 基于X 5 0 9 证书的认 证 以及R a d i u s 认证等等 并留有认证方式扩充用的统一接口 使得系统 可以自由扩充新的认证方式 3 1 基于A C L A c c e s sC o n t r o lL i s t 访问控制列表 灵活的用户授权方式 包 括基于时间的控制 基于站点资源的控制 以及两者混合的控制方式 4 采用标准的日志记录格式 用户可以选用任何支持此格式的第三方审计软 件来对系统的日志进行综合分析 5 W E B 类资源的安全可靠的外部映射 S S L V P N 中安全身份认证的研究 3 2S S LV P N 网关实施方案介绍 S S L V P N 网关的应用场景如下所示 p 端 厂 芍 吲3 IS S I V P N 部署示意图 如图3 l 所示 客户端浏览器I E 等通过H T T P S 协议 经由I n t e r a c t 旌接到S S L V P N 网关 在通过一系列的认汪授权后 用户便可阻访问企业内部网络中的具有 访问权限的W E B 资源 并且 用户的所有操作都被记录 以备n 后审计之用 其 中S S L V P N 网关可分为如下模块 如图32 所示 认证模块 授权模块 I t E I I 资源映射模块 图3 2S S L V P N 刚戈模块划分 1认证模块 负责对用户身份的议别和验证 支持多种主流的认证方式 如传统 的用户名 u 令方式 基于X5 0 9 证书的认证 以及R a d i u s 认证等等 并留有 认证方式扩充用的统一接口 使得系统可以自由扩充新的认旺方式 2授权模块 根据认证模块所识别出来的用户身份 对其进行授权 即加载用户 对应的授权信息 例如 假设当前识别山登陆用户的身份信息为U s e r A 所住 组为G r o u pA 则授权模块根据数据库L 事先配置好的权限配置信息 加载 勰 竺 m豁嘞 札 第三章S S LV P N 网关方案总体概述1 7 此用户对应的访问权限控制列表 3 W E B 资源映射模块 负责解析用户对企监内部网中W E B 资源的请求 识别 出用户要访问的内部资源 并以用户的身份去请求资源 最后在将结果返回给 请求这个资源的用户 其中包括映射接口的定义 对返回页面中U R L 信息的 改写 走部C o o k i e 的管理等 4 曰志审计模块 负责记录用户的所有搡作 以备日盾审计分析之用 3 3S S LV P N 网关结构分析 下面的小节分别对如上所述的S S L V P N 网关的组成模块做具体的分析 3 3 1 认证 S S L V P N 网关认证模块支持传统的用户名 口令方式 基于X 5 0 9 证书的认证 R a d i u s 认证 L D A P 认证等等 并留有认证方式扩充周的统一揍墨 使得系统霹以 自囱扩充新的认证方式 具体认证方式描述如下 3 3 1 1 用户名 口令方式 网关内部存在一个用户名 D 令库 管理员可以直接对用户 组进行管理 设 置所属组 设置网令 一个用户可以属于多个组 当被认证的对象向系统提出访 问请求时 系统要求被认证对象提交该对象的口令 系统收到口令后 将其与系 统中存储的用户麓令进行比较 以确信被认证对象是否为合法用户 这种认证方 法的优点在于简单实用 3 3 1 2R a d i u s 认证 R a d i u s 是一种通用的认证计费协议 8 9 R A D I U S 是一种C S 结构的协议 它 的客声端最初就是N A S 服务器 现在饪侮运行R A D I U S 客户端软件的计算枫都可 以成为R A D I U S 的客户端 在R A D I U S 的S e r v e r 端和C l i e n t 端之间的通信主要有 两种情况 一种是接入认证 另 种是计费请求 R A D I U S 协议认证机制灵活 可 以采用P A P C H A P 或者U n i x 登录认证等多种方式 R a d i u s 的认证过程如下所示 1 接入服务器从用户那里获取用户名和口令 P A P 口令或C H A P 加密口令 将其同用户的一些其它信息 如主叫号码 接入号码 占用端口等 打成 R a d i u s 数据包向R a d i u s 服务器发送 通常称为认证请求包 2 R a d i u s 服务器收到认证请求包后 首先查看接入服务器是否已经登记 然 后根据包中用户名 阴令等信息验证用户是否合法 如果用户非法 则向 1 8 S S L V P N 中安全身份认证的研究 接入服务器发送访问拒绝包 如果用户合法 那么R a d i u s 服务器会将用户 的配置信息 如用户类型 m 地址等 打包发送到接入服务器 该包被称 为访问接收包 3 接入服务器收到访问 拒绝包时 首先要判断包中的签名是否正确 如果不 正确将认为收到了一个非法的包 如果签名正确 那么接入服务器会接受 用户的请求 并用收到的信息对用户进行配置 授权 3 3 1 3L D A P L D A P 是轻量目录访问协议 英文全称是L i g h t w e i g h tD i r e c t o r yA c c e s sP r o t o c o l 一般都简称为L D A P 1 0 1 l 它是基于X 5 0 0 标准的 但是简单多了并且可以根据 需要定制 与X 5 0 0 不同 L D A P 支持T C P I P 这对访问I n t e m e t 是必须的 L D A P 的核心规范在R F C 中都有定义 所有与L D A P 相关的R F C 都可以在L D A P m a nR F C 网页中找到 简单说来 L D A P 是一个得到关于人或者资源的集中 静态数据的快 速方式 L D A P 安全机制主要通过身份认证 安全通道和访问控制来实现的 主要有如 下几个部分 1 身份认证 认证被用来在客户端和目录服务器之间建立会话 这个会话根据认证方式的不 同也具有不同的安全级别 无保障的匿名 基于明文的密码 基于S A S L S i m p l e A u t h e n t i c a t i o na n dS e c u r eL a y e r 机制的加密会话 S A S L 是L D A PV 3 的新增特性 用以克服L D A P 中较为简单的安全机制 在实际的目录服务的应用中我们也可以 将一些通用的安全认证机制 如K e r b e r o s P 与L D A P 服务器软件集成使用以 提高整个系统的安全性 2 1 通信安全 在L D A P 中提供了基于S S L T L S 的通讯安全保障 S S L T L S 是基于P K I 信息 安全技术 是目前I n t e m e t 上广泛采用的安全服务 L D A P 通过S t a r t T L S 方式启动 T L S 服务 可以提供通讯中的数据保密性 完整性保护 通过强制客户端证书认证 的T L S 服务 同时可以实现对客户端身份和服务器端身份的双向认证 3 访问控制 为了保护敏感信息资源 L D A P 目录服务定义了一系列访问控制规则 这些规 则规定了不同实体访问目录系统的权限 L D A P 被大量用于集中用户认证 微软W i n d o w s 活动目录对L D A P 具有很好 的支持 3 3 1 4 数字证书 随着P K I 技术体系的同趋成熟 拥有强有力的理论基础和众多国际标准的C A 第三章S S LV P N 网关方案总体概述 1 9 数字证书身份认证技术 在法律上也得到了国家的大力支持 电子签名法 的颁 布实施以及数字加密和数字签名技术所具有的保密性 完整性 真实性 不可否 认性等特点 使得C A 数字证书身份认证正在被广泛采用 1 2 1 3 U S B 智能卡 e K e y 自带C P U 内嵌加密算法 可进行运算 其中的信息不可复 制 因此 U S B 智能卡以其安全可靠 易于携带 使用方便 成本低廉 性价比 高等特点 在身份认证领域也正发挥着越来越多的作用 成为身份认证技术的一 个重要发展方向和趋势 3 3 2 授权 授权模块的作用是根据身份认证模块所识别出来的用户的真实身份 结合系统 所设置的配置选项 加载此用户的响应权限 针对保护W e b 类资源 系统的授权 方式可分为如下几类 3 3 2 1 基于站点资源的授权 这种授权模式规定了某个用户对特定站点的访问浏览权限 基于站点资源的授 权方式也可以分为两类 正面授权和反面授权 假设企业内部网络中有六台受保护的W e b 服务器 分别标记为A B C D E 和F 针对用户A 和用户B 可以设置如下基于站点资源的授权配置表 表3 1 基于站点资源授权模型 黑户f 组时间段授权类型其它信息 用户 组AA B 和F正面授权 用户B 组B B反面授权 如图表3 1 所示 由于对处于组A 中的用户A 的基于站点资源的授权的类型 为正面授权 所以对于用户A 的规则表示为 用户A 具有访问站点A B 和F 的权 限 而组B 中的用户B 不具有访问站点B 的权限 3 3 2 2 基于访问时间的授权 这种授权方式声明了特定用户可以访问内部受保护的网络的时间段 和基于站 点资源的授权方式相同 基于时间访问的授权也可以分为从正面进行授权和从反面 进行授权两种方式 例如 针对用户A 和用户B 可以设置如下基于访问时间的授权配置表 表3 2 基于访问时间的授权模型 照户 组时间段授权类型其它信息 用户 组A每天 1 2 0 0 1 8 0 0J 下面授权 用户B 组B每周六和周日 全天反面授权 S S L V P N 中安全身份认证的研究 如表3 2 所示 表中对用户A 的授权规则表示为 组A 中的用户A 在每天的 1 2 0 0 1 8 0 0 具有访问内部网络上所有资源的权限 第二条规则表示 组B 中的用 户B 在每周六和周日全天都被禁止访问内部网中的任何W e b 资源 3 323 混合授权 上面描述的两种授权方式都有各自的优缺点 第一种不能实现基于时间段的访 问控制 而第二种授权方式没有办法实现针对特定站点资源的授权 基于此 将基 于站点资源的授权和基于访问时间的授权方式结台起来 3 3 3W e b 资源映射 W e b 资源映射模块将内部的W E B 资源映射到S S LV P N 网关的目录树中去 由此 从用户的角度来看 内部的W E B 服务器d o m a i n 2 和d o m a i n 3 是不可见的 是透明的 用户根本就不知道这两台内部服务器的存在 用户所能看到的只是S S L V P N 网关的目录树 其中包含了内部服务器d o m a i n 2 和d o m a i n 3 映射过来的虚 拟树 如下图所示 M 1 八 一 Ju CO n m s s l v p n c o I 图3 3 虚拟目录树 其中 中间的子树表示d o m a i n 3 映射过来的虚拟树 而右边的子树表示d o m a i n 2 所映射过来的虚拟树 并且 其中的虚线表示我们S S L V P N 网关的目录树中的虚 拟路径 专门用来作为内网W E B 服务器的虚拟树的根 侔 h p 第三章S S LV P N 网关方案总体概述 2 1 3 3 4 日志和审计 为了方便用户对S S LV P N 网关使用情况能有一个准确的掌握 系统提供了日 志查询与审计管理功能 日志是网络设备的最基本 最有用的系统安全工具 它 有助于系统安全问题的分析解决 在系统安全的实际应用中 首先 要建立起日 志服务器 确保日志文件的安全 在可靠的日志基础上 对日志文件及时进行处 理分析 加强对系统的安全保护 审计是用来负责记录用户的重要操作 如对数 据库的添加 删除 修改 访问过的站点的历史记录等等 下面的第四章节将详细介绍基于C o o k i e 的安全认证的实现 第五章是对实现 方案的性能测试 第四章基于e o o k l e 安全认证的实现 2 3 第四章基于C o o k i e 安全认证的实现 为了实现S S LV P N 网关基于C o o k i e 的安全认证的功能 采用了内部站点 C o o k i e 的管理机制和外部C o o k i e 的管理 下面我们从什么是C o o k i e 如何使用 C o o k i e 以及在使用过程中存在的安全隐患等几个方面描述S S LV P N 网关为什么要 阻止内部网络中的C o o k i e 传送到外网 怎么保证存放在客户端的C o o k i e 的安全 性 C o o k i e 是在用户在浏览网页页面时 服务器发送给浏览器的体积很小的纯文本 信息 C o o k i e 被广泛的使用 它被用来标识用户身份 避免用户重复输入名字和 密码 网站的主页定制等 C o o k i e 是由变量名和值组成 如图41 所示 访问G o o g l e 服务器时所得到的 C o o k i e 从图中我们可以看出C o o k i e 主要包含以下几项 图4 1 C o o k i e 实例 名称 N a m e 如上圉中的P R E F 内容 V a l u e 如上图中的I D d 0 5 d 2 5 6 b a l 4 8 d 3 3 8 N W l T M 1 1 9 8 1 3 3 5 7 6 L M 1 1 9 8 1 3 3 5 7 6 S o g q O Z u Z g x T q H D w 域 D o m i a n 如上图中的g o o g l ee o m 路径 P a t h 如上图中的 2 4S S L V P N 中安全身份认证的研究 过期时间 E x p i r a t i o nd a t a 如上图中的2 0 0 9 年1 2 月1 9 日1 4 5 2 5 4 上面所描述的是典型的C o o k i e 的标记 其他一些标记可参考标准R F C 2 1 0 9 C o o k i e 是W e b 服务器在发送给客户的R e s p o n s e 消息中以关键字S e t C o o k i e 来 设置的 用户在随后的访问中会将符合条件的C o o k i e 附加在R e q u e s t 头中 如图 4 2 通过一个实际的例子描述C o o k i e 的应用场景 名产 5 1 2 1 2 虫旦 芝 2 H T T P I 12 0 0O K 9 2 2 兰i 2 旦 1 2 墨2 三 竺 i i 2 已 芷呈 皇 3 P O S T p i e k i t e mH T T P 1 1 2 2 兰i 2 i 2 i 2 呈 i 垒 竺 竺 i 2 垒 坐 4 I r r T P 1 12 0 0O K S

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论