(通信与信息系统专业论文)利用多核cpu实现高性能ssl+vpn.pdf_第1页
(通信与信息系统专业论文)利用多核cpu实现高性能ssl+vpn.pdf_第2页
(通信与信息系统专业论文)利用多核cpu实现高性能ssl+vpn.pdf_第3页
(通信与信息系统专业论文)利用多核cpu实现高性能ssl+vpn.pdf_第4页
(通信与信息系统专业论文)利用多核cpu实现高性能ssl+vpn.pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

(通信与信息系统专业论文)利用多核cpu实现高性能ssl+vpn.pdf.pdf 免费下载

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

文档简介

华北电力人学硕十学位论文 摘要 基于s s l 协议的虚拟专用网技术易于使用、成本低、具有完善的安全访问控制 机制,近年来获得了飞速发展。本文详细分析了s s lv p n 的工作原理和应用优势, 介绍了c p u 从单核向多核发展的趋势和m p s 体系结构,指出s s lv p n 在应用层实 现协议转换和安全访问控制会消耗大量c p u 资源进而影响系统整体性能所存在的问 题。在基于单核c p u 平台成功实现s s lv p n 的基础上,深入剖析了m i p s6 4 位多核 c p uo c t e o n 的硬件结构、软件包处理流程、多核并行程序,利用m i p s 多核并行结 构和内部集成的硬件安全加速单元,应用并行程序技术在多核c p uo c t e o n 嵌入式 平台上实现了高性能s s lv p n 。 将基于多核c p u 平台与基于x 8 6 架构平台实现的s s lv p n 对比测试,可以看到 多核c p u 平台s s lv p n 网关的性能是x 8 6 架构平台的1 0 倍,彻底解决了单核c p u 限制s s lv p n 发展的诸多问题,达到了预期的设计目标。 关键词:安全套接层,虚拟专用网,多核c p u ,l i n u x a b s l r a c r t h ev p n t e c h n o l o g i e sb a s e do nt h es s lp r o t o c o lh a sf a s td e v e l o p e da tr e c e n ty e a r s w i t ht h ea d v a n t a g eo fe a s yt ou s e ,l o wc o s ta n dp e r f e c ts e c u r i t ya c c e s sc o n t r o lm e c h a n i s m w i t ha n a l y z i n gt h ep r i n c i p l ea n da p p l i c a t i o na d v a n t a g eo fs s lv p n ,t h i sp a p e ri n t r o d u c e s t h et r e n dt h a tc p ui sd e v e l o p i n gf r o ms i n g l ec o r et om u l t i c o r ea n dt h ea r c h i t e c t u r eo fm i p s , p o i n t so u tt h ei s s u et h a ts s lv p nu s e su pag r e a td e a lo fc p u r e s o u r c ea n da f f e c t ss y s t e m p e r f o r m a n c ew h e nr e a l i z i n gp r o t o c o lc o n v e r s i o na n ds e c u r i t ya c c e s sc o n t r o li na p p l i c a t i o n l a y e r b a s eo nt h er e a l i z i n go fs s lv p no ns i n g l ec o r ec p up l a t f o r m ,a u t h o rs t u d i e st h e h a r d w a m c o n f i g u r a t i o n ,p a c k a g ep r o c e s sf l o wa n dp a r a l l e lp r o g r a m 0 1 1m i p s6 4b i to c t e o n m u l t i c o r ec p u f i n a l l y , t h eh i g hp e r f o r m a n c es s lv p nw a sf u l f i l l e do no c t e o ne m b e d d e d p l a t f o r mt h r o u g hu s e i n g m i p sm u l t i c o r e a r c h i t e c t u r e i n t e g r a t e s e d h a r d w a r es e c u r e a c c e l e r a t i n gc e l la n dp a r a l l e lp r o g r a m t h ec o n t r a s tt e s tr e s u l tb e t w e e nm u l t i c o r ec p u p l a t f o r ma n dx 8 6s e tp l a t f o r ms h o w s t h a tt h ef o r m e ri st e nt i m e st h a nt h el a t t e ra n di n d i c a t e st h a tm u l t i c o r ec p uc a no v e r c o m e t h es i n g l ec o r ec p u sb o t t l e n e c ki nt h ed e v e l o p m e n to fs s lv p n t e c h n o l o g yt oa t t a i nt h e e x p e c t a n ta i m c o n gx i n ( c o m m u n i c a t i o na n di n f o r m a t i o ns y s t e m ) d i r e c t e db ya s s o c i a t ep r o f e s s o r :l i a n gg u a n g s h e n g k e yw o r d s :s s l ,v p n ,m u l t i c o r ec p u ,l i n u x 3 华北电力大学硕+ 学位论文 声明 本人郑重声明:此处所提交的硕士学位论文利用多核c p u 实现高性能s s lv p n , 是本人在华北电力大学攻读硕士学位期间,在导师指导下进行的研究工作和取得的研究 成果。据本人所知,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发 表或撰写过的研究成果,也不包含为获得华北电力大学或其他教育机构的学位或证书而 使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的 说明并表示了谢意。 学位论文作者签名: 丝丝 日 期:王竺三z ! ! ! 筌 关于学位论文使用授权的说明 本人完全了解华北电力大学有关保留、使用学位论文的规定,即:学校有权保管、 并向有关部门送交学位论文的原件与复印件;学校可以采用影印、缩印或其它复制手 段复制并保存学位论文;学校可允许学位论文被查阅或借阅;学校可以学术交流为 目的,复制赠送和交换学位论文;同意学校可以用不同方式在不同媒体上发表、传播学 位论文的全部或部分内容。 ( 涉密的学位论文在解密后遵守此规定1 作者签名:丝:捷导师签名脚 鹱蕴丝 日期:巡,墨厂日期:趟= ! ! 堡 2 华j 七电力人学硕十学位论文 第一章绪论 1 1 选题背景和意义 随着电子商务、企业信息化、教育信息化等信息化进程的推进,整个社会的信 息化程度不断提高。在人们的工作和生活中,信息处理变得越来越重要了。作为信 息处理的一种典型模式,企业等各类社会组织的“内部资源处理系统”迅速地发 展起来,并逐步成为承载各种业务的基础设施。在这些内部资源系统的服务器和主 机上,配置了大量的业务处理应用软件,存放了越来越多的数据。这些资源( 软件 和数据) 与承载的各种业务紧密相关,已经成为企业等各类社会组织的重要财富, 发挥着越来越重要的作用。在全球化的商业环境中,大型跨国企业可能在全世界都 有其子公司或分支机构,采用一种安全快速的远程访问企业内部资源的技术已迫在 眉睫。 由于i n t e r n e t 的普及和发展,w e b 成为标准平台已势不可挡,越来越多的企业 开始将e r p 、c r n 、s c m 移植到w e b 上【2 1 。在w e b 应用热潮中,s s lv p n 被认为是实 现远程安全访问w e b 应用的最佳手段,几年来得到了长足的发展。s s lv p n 技术帮 助用户通过标准的w e b 浏览器就可以访问重要的企业应用。这使得部门员工出差时 不必再携带自己的笔记本电脑,仅仅通过一台接入了i n t e r n e t 的计算机就能访问 企业资源,这不仅提高了工作效率也带来了方便,同时也很好地解决了安全性问题。 l i r u x 操作系统凭借其丌放性和卓越的安全性,在服务器及嵌入式操作系统领 域得到了迅猛发展,常常被用来作为相关安全产品的基础平台。用l i n u x 系统作为 s s lv p n 的承载平台已经成为趋势。 在通信网络r 益复杂,新业务大量涌现的形势下,对网络业务流量的控制和通 信网络安全也提出了更高的要求。使用多核技术而不是靠单纯的提升c p u 频率来克 服处理器向高端发展面临的性能瓶颈问题,必将极大地提升网络产品的性能,从而 成为网络安全产品发展的旱程碑。 基于以上分析,本文选择多核c p u 来实现高性能s s lv p n 。 1 2 国内外s s lv p n 的研究现状 作为s s lv p n 基础的s s l 协议,自从被n e t s c a p e 公司提出以保护w e b 通信协 议h t t p 之后,便得到了广大安全厂商的支持,主要浏览器厂商都在其产品中加入 了对s s l 协议的支持【3 j 。 由于s s lv p n 在v p n 技术方面的独特优势以及对市场荫景的看好,国外许多大 的网络安全厂商早己着手研发s s lv p n 安全产品。其中以n e o t e r i s 公司和a v e n t a i l 公司研发的s s lv p n 产品为第一梯队,w h a e 公司和n e t i l l a 公司的产品紧随其后。 】 华北电力人学硕十学位论文 c i s c o 和n o k i a 等公司也随后推出了s s lv p n 产品。国内网络安全领域较有实力的 天融信、联想、安氏中国等公司也相继推出了具有自己特色的s s lv p n 产品。 目前,越来越多的企业开始采纳s s lu p n 网络架构,来解决企业的远程访问需 求。大约4 4 的美国企业已部署了s s lv p n ,国内企业对s s lv p n 的需求也成急速 上升趋势。 1 3s s lv p n 的技术实现方案 1 3 1 单核o p u 限制了s s lv p n 发展 目i j ,己有相当多的s s lv p n 产品投入使用,但与其它应用层网关一样,这些 s s lv p n 技术仍然受到一些问题的困扰。完善的安全访问控制机制一直被认为是s s l v p n 最大的优势。但是,在应用层实现协议转换及安全访问控制又会直接影响系统 性能,单核c p u 效率低下制约了s s lv p n 技术的发展【”。 自从中央处理器( c p u ) 诞生以来,它就遵守着摩尔定律而不停的发展,频率 越来越高,运算能力越来越强,在单位硅晶面积上所承载的晶体管也越来越多。随 着c p u 技术的不断发展,主频已经发展到近4 g h z ,晶圆制程也从1 8 0 纳米、1 3 0 纳 米、逐步转到9 0 纳米甚至6 5 纳米。随着主频的提升,制程的缩小,c p u 发热问题 也越来越突出,大功耗电晶体所带来的散热问题成为主频提升的瓶颈。随着单核心 处理器主频提升和晶体管数量的增加,功耗同比增加,性能的增长却很有限。 1 3 2 多核o p u 实现s s lv p n 的优势 如果把较低频率、较少晶体管数量的几个处理器集合在一起,不但功耗不会增加, 性能还能够同比增强。事实上c p u 并不是每时每刻都满载运干于,这可以通过动态调整 电压和频率以及控制特定核心的开关来实现。一般应用时,使用部分核心,把功率降低; 当工作负荷较大时,打开所有的核心,全部投入工作。这种控制方法,能够让多核处理 器智能地达到性能和功耗的平衡点。因此,多核处理器较好地解决了单核处理器面临的 散热和功耗两大难题。 m i p s 架构采用精简指令系统计算结构( r i s c ) ,与英特尔采用的复杂指令系统计 算结构( c i s c ) 相比,r i s c 具有设计更简单、设计周期更短等优点,并特别对网络应 用做了优化1 5 】。这种架构和内核可实现小尺寸和高效率的嵌入式处理器。 课题选用的c a v i u m 多核c p u 支持标准编程模型,支持c 语言和标准协议栈, 没有代码空白j 的限制,并且集成了广泛的从l 3 层到l 7 层的数据、内容和安全服务 硬件加速单元,这些加速单元分担了m i p sc p u 的很多任务、降低了为获得高性能 s s lv p n 所需要的c p u 主频,同时降低了功耗和成本。一 1 4 论文要完成的主要工作 2 华北电力人学硕士学位论文 1 掌握嵌入式l i n t l x 操作系统的原理,应用嵌入式l if l u x 操作系统丌展s h e l l 编程和c 语言编程。 2 研究s s l 协议和s s l 通信原理。 3 研究m p i s3 2 架构单核c p u ( c a r i u mn i t r o xc n 2 2 5 ) 的硬件结构,构建嵌 入式系统实验平台,编程实现单核c p i 的s s lv p n 功能,利用i x i a 和s m a r t l 3 i t 等 仪器对嵌入式系统平台上的s s lv p n 性能进行测试。 4 掌握多核c p u ( c a v i u mo c t e o nc n 3 8 6 0 ) 的硬件结构和软件数据包处理流程, 并在多核c p u 硬件平台上实现s s lv p n 应用。 5 调试、改进与完善s s lv p n ,使其达到预期4 g b p s 的性能。 3 华北电力人学硕十学忙论文 第二章s s lv p n 相关理论研究 本章对虚拟专用网技术的原理和实现方案、s s l 协议工作机制、s s lv p n 的应 用优势等在理论上进行了深入的分析和研究。s s lv p n 利用对称密码技术来实现数 据的加密,利用非对称加密技术完成加密密钥的交换,利用p k i 技术保障整个系统 的认证安全。s s lv p n 作为正在趋向成熟的v p n 技术,将成为远程访问技术的首选。 2 1 虚拟专用网技术 虚拟专用网v p n ( v i r t u a lp r i v a t en e t w o r k ) 被定义为通过一个公用网络( 通常是 i n t e r n e t ) 建立一个安全的逻辑连接,是一条穿过公用网络的安全稳定的隧道【6 1 。虚 拟专用网是对企业内部网的扩展,可以帮助远程用户、公司分支机构、商业伙伴和 供应商同公司内部网建立可信的安全连接,并保证数据的安全传输;可用于移动用 户的接入;可用于实现企业网站之间安全通信的虚拟专用线路。 v p n 涉及到通信技术、密码技术和认证技术,是一项涉及面广且非常复杂的技 术,其主要包含隧道技术与安全技术【7 】。 2 1 1 隧道技术 隧道技术的基本过程是:在源局域网与公网的出口处将数据( 可以是i s o 七层 模型中的数据链路层或网络层数据) 作为负载封装在一种可以在公网上传输的数据 格式,在目的局域网与公网的接口处再将数据解封装,取出负载。被封装的数据包 在互联网上传递时所经过的逻辑路径被称为“隧道”1 8 】。 隧道通信协议是v p n 技术的核心,数据能否顺利地被封装、传输和解封都依赖 于它。目前v p n 隧道协议主要有点到点隧道协议p p t p 、第二层隧道协议l 2 t p 、网 络层隧道协议i p s e c 、s o c k sv 5 等4 种,各种协议工作在不同层次,以满足不同应 用的需求。 2 1 ,2 安全技术 v p n 是在不安全的i n t e r n e t 中通信的,通信的内容可能涉及机密数据,因此其 安全性非常重要。v p n 中的安全技术通常由加密、认证及密钥交换与管理组成。 i 加密算法 现在使用的加密算法一般是基于k e y 的,也就是说在加密过程中需要一个k e y , 用这个k e y 来对明文进行加密。这样的算法即使一次被破,下次改变k e y 还可以继 续用。因此其安全性取决于k e y ,尤其是k e y 的长度。应该保证他人在知道这个算 法而不知道k e y 的情况下,破解也相当困难。 基于k e y 的加密算法包括两类:对称加密和不对称加密【9 1 。 4 华北电力人学硕十学伉论文 对称加密指的是双方使用完全相同的k e y ,最常见的算法是d e s l l0 1 、d e s 3 、r c 4 】 等。对称加密算法的原理很容易理解,通信方用k e y 加密明文,另一方收到之后 用同样的k e y 来解密就可以得到明文。 不对称加密指双方用不同的k e y 加密和解密明文,通信双方都要有自己的公共 密钥和私有密钥。常用的不对称加密算法有r s a 、d s a 、d h 等。 比如:假设通信双方分别是a 、b ,a 拥有k e y a 1 、k e y a 2 ,其中k e y a 1 是a 的私有密钥,k e y a 2 是a 的公共密钥;b 拥有k e y b 1 、k e y b 2 ,其中k e y b 1 是b 的私有密钥,k e y b 2 是b 的公共密钥。 公共密钥和私有密钥的特点是经过其中任何一个密钥加密过的明文,只能用另 外一个密钥才能够解开,也就是说经过k e y a 1 加密过的明文,只有k e y a 2 才能够 解密,反之亦然【屺】。 通信过程如下: a 一一 k e y a 2 一 a h e l i o ( p l a i n t e x t ) 一 b a - - h e l l 0 ( p l a i n t e x t ) 一b a b 如果c 想假装成b ,那么步骤就和上面一样。 a 一一 h e l i o ( p l a i n t e x t ) 一一 c a 一一一h e l l o ( p l a i n t e x t ) 一一c 因为a 没有怀疑c 的身份,所以a 理所当然的接受了c 的p u b l i ck e y ,并且使 用这个k e y 来继续下面的通信。 a c 5 华北电力人学硕十学位论文 这种情况下a 没有办法发觉c 是假的。如果a 在通话过程中要求取得b 的证书, 并验证证书罩面记录的名字,看到名字和b 的名字不符合,就可以发现对方不是b 。 如果验证b 的名字通过之后再从证书晕提取b 的公用密钥,则可继续通信过程。 证书最简单的形式就是只包含证书拥有者的名字和公用密钥。当然现在用的证 书没这么简单,罩面至少还有证书的期限d e a d i i n e 、颁发证书的机构名称、证书系 列号和一些其他可选的信息最重要的是它包含了证书颁发机构( c e r t i f i c a t i o n a u t h o r i t y 简称c a ) 的签名信息。 现在常用的证书采用x 5 0 9 结构【h j ,这是一个国际标准证书结构。x 5 0 9 证书 实际上是建立了公共密钥和某个实体之间联系的数字化文件。它包含版本信息 ( x 5 0 9 有三个版本) 、系列号、证书接受者名称、颁发者名称、证书有效期、公共 密钥、可选的其他信息、c a 的数字签名等内容。证书由c a 颁发和签名,并决定该 证书的有效期。每个证书都有唯一的证书系列号并由证书颁发者来决定其唯一身 份。任何遵循该标准的应用程序都可以读写x 5 0 9 结构的证书。 当检查证书者接受到对方证书时,首先去看该证书的c a ,然后查找自己的c a 证书数据库,看能否找到。若找不到,就表示自己不信任该c a ,并结束本次连接。 若找到了,就用该c a 证书罩面的公用密钥去检查c a 在证书上的签名。通过检查证 书里面c a 的名字和签名,就知道这个证书的确是由该c a 签发的,然后检查接收证 书者的名字并提取公共密钥。这样做的基础是,检查证书者信任该c a ,认为该c a 没有颁发错误的证书。c a 是第三方机构,由它保证证书的确发给了应该得到该证书 的人。c a 自己有一个庞大的p u b l i ck e y 数据库,用来颁发给不同的实体。 2 2s s lv p n 技术 随着网络的发展,远程接入也经历了租用专线、i p s e cv p n 、s s lv p n 三个阶段。 v p n 应用于虚拟连接网络,可以确保数据的机密性并具有一定的访问控制功能。 过去v p n 总是和i p s e e 联系在一起,因为i p s e c 是v p n 加密信息实际用到的协议i ”1 。 i p s e c 运行于网络层,且多用于两个网络或点到点之间的连接。设立i p s e cv p n 可 以保护用户的远程访问以提供足够的安全性,但安装和维护相当麻烦。 与i p s e cv p n 相比,s s lv p n 通过简单易用的方法实现了信息远程连通,并提 供了安全的远程访问控制。s s l ( s e c u r es o c k e tl a y e r ,安全套接层) 是n e t s c a p e 公司提出的主要用于w e b 的安全通信标准f i ”。t l s ( t r a n s p o r tl a y e rs e c u r i t y ,安 全传输层) 是i e t f 的t l s 工作组在s s l 3 0 基础上提出的安全通信标准,目前版本 是1 0 ,即r f c 2 2 4 6 l i ”。s s l t l s 提供的安全机制可以保证应用层数据在互联网上传 输而不被监听、伪造和窜改。s s l 协议是一种在i n t e r n e t 上保证发送信息安全的处 于应用层的通用协议,它用公钥加密传输的数据,并指定了在应用程序协议( 如 h t t p 、t e l n e t 和f t p 等) 和t c p i p 协议之间进行数据交换的安全机制,为t c p i p 6 华北电力人学硕十学位论文 连接提供数据加密、服务器认证和可选的客户机认证。 所谓s s lv p n 就是指使用者利用浏览器内建的s s l 封包处理功能,用浏览器连 回公司内部s s lv p n 服务器,然后透过网络封包转向的方式,让使用者可以在远程 计算机上执行应用程序,读取公司内部服务器数据【1 8 l ,如图2 - i 所示。采用标准的 s s l 对传输中的数据包进行加密,从而在应用层保护了数据的安全性。 图2 一is s lv p n 的功能 高质量的s s lv p n 解决方案可保证企业进行安全的全局访问。在不断扩展的互 联网w e b 站点之间、远程办公室、传统交易大厅和客户端间,s s lv p n 克服了i p s e c v p n 的不足,用户可以轻松实现安全易用、无需客户端安装并且配置简单的远程访 问,从而降低用户的总成本并提高远程用户的工作效率”9 1 。同样在这些地方,要设 置传统的i p s e ev p n 却非常困难,甚至是不可能的,因为这必须更改网络地址转换 ( n a t ) 和防火墙设置。 2 2 1s s lv p n 原理 s s l 主要功能有: 1 加密和解密在网络中传输的数据包,同时保护这些数据不被修改和伪造, 如图2 2 所示。 2 验证网络对话中双方的身份。 7 华北电力人学硕十学位论文 旦夕 图二一图 图2 - 2 网络传输过程的数据保密 s s l 协议主要包括握手协议、密钥更改协议、告警协议和s s l 记录协议四部分2 0 1 如表2 1 所示。握手协议负责确定客户机和服务器之间的会话加密参数;密钥更改 协议可以更新用于当前连接的密钥组;告警协议用于在发生错误时终止两个主机之 自j 的会话;s s l 记录协议用于交换应用数据。 表2 - is s l 协议构成 h 1 了p ,f t i s i v f f p 挥手协议街钥更改协议告警防议 s s l s s l 芒录拚议 t c p 伊 s s l 的握手过程如下:首先通信双方通过不对称加密算法( a s y m m e t r i c e n c r y p t i o n ) 来协商好一个对称加密算法( s y m m e t r i ce n c r y p t i o n ) 及其使用的k e y 。 然后用协商好的对称加密算法加密传输需要保密的所有数据,最终完成应用层协议 的数掘交换。 不对称加密算法可以把p u b l i ck e y 公开给所有人,自己保管好p r i v a t ek e y 。 要传资料给别人的话,只要用自己的p u b l i ck e y 加密,全世界就只有对应的p r i v a t e k e y 才解得开。不对称加密算法虽然很安全,但是加解密的速度却很慢。而对称式 加解密法,虽然加解密速度快很多,但是双方都要握有同一个k e y ,把k e y 传给对 8 籼 华北电力人学硕十学位论文 方途中,会有被拦截监听的危险。s s l 的两阶段握手过程兼顾了安全性效果和加解 密效率,k e y 是用不对称加密算法传给对方的,不用担心中途被拦截,也能够享受 合理的加解密速度。 握手一般都是由客户端( e l l e n t ) 发起,服务器端( s e r v e r ) 应答完成,其详 细过程如下: 1 c l i e n t 送给s e r v e r 一个请求消息用来建立s s l 连接,该消息包含协议版本 号( s s l 为3 0 ,t l s 为3 1 ) 、客户端支持的加密方法、m a c 和压缩规则。客户端还 发送一串用以生成主密钥( m a s t e rs e c r e t ) 的随机数( s h a r e ds e c r e t ) 。 2 s e r v e r 送给c l i e n t 一个应答回复( 包括服务器支持的s s l 版本号) ,并选 择第一步中提出的某种加密方法和m a c 。服务器也将发送一串用以生成主密钥的随 机数,还会用自己的私有密钥加密s e r v e r h e l l o 信息。s e r v e r 同时把自己的证书 文件传送给c l i e n t ,s e r v e r 也可以选择性的要求得到c l i e n t 的证书。 3 c l l e n t 用s e r v e r 送过来的证书来验证s e r v e r 的身份。如果s e r v e r 身份验 证没通过,本次通信结束。如果通过证书验证,则e l i e n t 得到s e r v e r 的公共密钥, 解开s e r v e r 送来的被其用私有密钥加密过的s e r v e r h e l l o 信息,查看是否难确。 如果不对,说明对方只有该s e r v e r 的公共密钥而没有私有密钥,必是假的,通信 结束。 4 c l l e n t 使用双方发送的所有随机数,产生本次握手中的预主密钥( p r e m a s t e r s e c r e t ) ,并且把p r e m a s t e rs e c r e t 用s e r v e r 的公共密钥加密,送回给s e r v e r 。 如果在第三步中设置s e r v e r 要求验证c l i e n t 的证书,那么c l i e n t 也需要把自己 的证书送给s e r v e r ,同时发送自己签过名的数据。 s s l 协议可以使用r s a 技术来产生s h a r e ds e c r e t 。首先s e r v e r 把自己的r s a 公共密钥送给c l l e n t ,c l l e n t 用这个k e y 加密一个随机产生的值( 这个随机产生 的值就是s h a r e ds e c r e t ) ,再把结果送给s e r v e r 。 r s a 、d s a 、d h 三种不对称加密算法的区别在于:r s a 的密钥固定,后两个算法 需要一个参数来临时生成k e y 。d h 要求双方使用同样的事先指定的参数,如果s s l 库没有加载这个参数,d h 算法就没办法用。 5 s e r v e r 验证完c l i e n t 的身份之后,用自己的私有密钥解密得到p r e m a s t e r s e c r e t ,然后双方利用这个p r e m a s t e rs e c r e t 来共同协商得到m a s t e rs e c r e t 。 6 双方用m a s t e r 一起产生真f 的s e s s i o nk e y s ( 会话密钥) ,并可以用这个 s e s s i o nk e y s 验证数据完整性,双方交换结束信息,握手结束。 7 接下来双方就可以用协商好的算法和k e y 来继续下面的过程了。 怎么样才能防止篡改呢? 哈希加密算法【20 1 就可以防止篡改的发生。在每次送信 息的时候,附带把整条信息的哈希值也送过去,接收方在收到信息的时候,也把收 到的内容进行哈希运算,然后和对方送来的哈希值对比一下,看看是否正确。如果 9 华北电力人学硕十学位论文 乱改通信内容,哈希出来的值是不同的,就很容易发现内容被篡改了。 2 2 2s s kv p n 的优势 表2 - 2s s lv p n 的优势 安全威胁i p s e cv p n s s l v p n 网络i t 所有应j h 程序都有只有某个麻川程序会受到攻- 片,冈为 应川服务器安全威胁 可能受到攻t rs s lv p n 是。个应川程序代理服务器 从远程p c 上感染的病可以通过远程计算机感染 毒,蠕虫等整个公司内部网络 不会,冈为t 作在应川层 【i j 间人阻止,但是付出的代价是 阻止,但是没有冲突,因为s s l 运行于 ( m a ni nt h em i d d l e )n a t 经常会出现问题t c p 之上弓i p 和端口无关 同| 认证通过,内部u r l 暴露内部u r l对非信任j t j 户将不开放内部u r l 将是开放的 拒绝服务( d o s )谩h i d a t a g r a m s 命令 使川t c p 会话 相对更加安全, 客户端安全浏览器就是“客户端” 因为需要配置客户端软件 如果直接暴露于i n t e r n e t ,威胁可以被减轻,因为j 1 j 户需要首先通 w e b 服务器攻- 由 有可能被利用 过s s lv p n 设备认证 身份认证对整个网络认证先认证s s lv p n 设备,再认证赢j j 程序 i p s e cv p n 与s s lv p n 的比较如表2 2 所示,s s lv p n 的技术优势在于: 1 易于使用 s s lv p n 最大好处就是不需要安装客户端程序,远程用户基本上不需要i t 部门 的支持就可以随时随地从任何支持s s l 协议的浏览器安全地访问应用程序,从而最 大限度地减少了分发和管理客户端软件的麻烦,降低了系统部署成本和i t 部门日 常性的管理支持费用。由于只通过4 4 3 端口作为唯一的传输通道,所以管理员不需 要在防火墙上作任何修改,也不会因为系统需求的不同而修改防火墙的设定,它可 以在几个小时内轻松完成安装,所有安装界面都是通过浏览器界面实现的。i p s e c v p n 在实现时,需要修改协议栈,对于客户端来说,当升级程序时,需要一个一个 地去修改,而s s lv p n 就没有这方面的问题。 2 适用广泛 s s lv p n 能保证在任何地方访问基于t c p 应用程序的安全,包括w e b 和c s 应 用、传统的应用程序、网络文件传输和共享、终端服务、电子邮件服务以及p d a 等 手持无线设备。对于大多数操作系统,只要是支持s s l 协议的浏览器,不论是 w i n d o w s 、u n i x 还是l i n u x ,都可以透过s s lv p n 进行远程安全接入。s s lv p n 可在 n a t 代理装置上以透明模式工作,而i p s e cv p n 就不能通过n a t 转换。 1 0 华北电力人学硕十学位论文 3 更好的访问控制 s s lv p n 对访问控制更加有效,因为实施了用户集中化管理【2 ”。所有的远程访 问都是通过s s lv p n 控制台进行控管,这样可以更加有效地监控用户使用权限,这 些用户可能是公司内部员工、合作伙伴或客户。所有访问被限制在应用层,而且可 以将权限细分到一个u r l 或一个文件。而使用i p s e cv p n ,安全权限只局限到网络。 4 更好的安全性 在s s lv p n 中,要求强迫执行安全策略和更加全面的管理。通过确保只有授权 用户才能访问机密数据来保证数据的完整性。所有通讯都从已经打丌的w e b 端口进 行通讯,其它端口或防火墙中可能存在的漏洞都不会被启用。由于s s lv p n 硬件提 供代理功能,它可以将w e b 服务器的d n s 信息隐藏起来,因此外部对w e b 服务器进 行攻击的威胁已经大大减轻。而i p s e cv p n 则不能隐藏d n s 信息【2 3 】。对于应用系统 的攻击,因为只针对相应丌启的应用程序,所以黑客不易侦测出系统内部的网络结 构,所受到的威胁将仅限于程序本身,因此攻击的机会将大大减少。同样,使用s s l v p n ,病毒从远程客户端入侵的可能性也会大大降低【2 引。因为感染病毒的机器只会 局限在某一台进行远程接入的主机,不会蔓延到整个网络,而且这个病毒必须针对 远程接入应用程序,不同类型的病毒也不会感染主机。 华北电力人学硕十学伉论文 第三章在m ip s3 2 位单核c p u 平台上实现$ s lv p n 一个完整的s s lv p n 系统由服务器端( s e r v e r ) 和客户端( c 1 i e n t ) 组成,因 它是客户端服务器工作模式,所以需要服务器端和客户端协同工作。s e r v e r 是实 际的服务提供者,可以是w w w 服务器、t e l n e t 服务器或邮件服务器等。c l i e n t 般为标准的网络浏览器或可以进行网络连接访问的程序。本章将深入研究s s lv p n 系统如何实现对传统应用的支持,并在具有安全处理引擎的单核c p u 平台上设计实 现高性能的s s lv p n 。 3 1 嵌入式l in u x 简介 在p c 市场已趋于稳定的今天,嵌入式系统市场的发展速度却正在加快。据有 关统计数据表明,嵌入式系统产品的应用己超过整个计算机应用的4 0 。根据美国 嵌入式系统专业杂志r t c 报道,在2 l 世纪初的l o 年中,全球嵌入式系统市场需求 量具有比p c 市场大1 0 倍到1 0 0 倍的商机。有机构估计,全世界嵌入式系统产品潜 在的市场将超过l 万亿美元。 l i n u x 系统具有嵌入式操作系统需要的诸多特色和突出优势;适应于多种c p u 和多种硬件平台,性能稳定,裁剪性很好,开发和使用都很容易。 嵌入式系统从本质上讲与p c 系统没有差别,在l i n u x 诞生之初,在美国就有 人将其移植到嵌入式系统中来。移植工作一直在进行着,不断有新消息发布 2 s l 。 嵌入式l i n u x 从属于l i n u x 并继承了l i n u x 的全部优势,也随着l i n u x 的发展而同 步发展。许多l i n u x 的改良品种迎合了嵌入式市场,包括r t l i n u x ( 实时l i n u x ) 、 u c l i n u x ( 用于非m m u 设备的l i n u x ) 、m o n t av i s t al if l u x ( 用于m i p s 、a r m 、p p c 的l i n u x 分发版) 、a r m l i n u x ( a r m 上的l i n u x ) 和其它l i n u x 系统。 l i n u x 作为嵌入式操作系统的优势主要有以下几点: l 。可应用于多种硬件平台 l i n u x 已经被移植到多种硬件平台上,这对于经费和时间受限制的研究与开发 项目是很有吸引力的。原型可以在标准平台上开发后移植到具体的硬件上,加快了 软件与硬件的开发过程。l i n u x 采用一个统一的框架对硬件进行管理,从一个硬件 平台到另一个硬件平台的改动与上层应用无关。l i n u x 可以随意的配置,不需要任 何的许可证或商家的合作关系,源代码可以免费得到。这使得采用l i n u x 作为操作 系统不会遇到任何关于版权的纠纷。同时也会节省大量的开发费用。 2 l i n u x 是一个以内核为基础的具有完全内存访问控制的通用操作系统 它支持几乎所有的硬件,包括m i p s 、x 8 6 、a l p h a 、a r m 和m o t o r o l a 等现有的 大部分芯片。其程序源码全部公开,任何人可以修改并在g u n 通用公共许可证( g n u 华北屯力人学硕十学位论文 g e n e r a lp u b l i cl i c e n s e ) 下发行。这样,开发人员可以对操作系统进行定制,适 应其特殊需要。 3 l i n u x 带有u n i x 用户熟悉的完善的开发工具 几乎所有的u n i x 系统应用软件都已移植到了l i n u x 上。l i n u x 还提供了强大的 网络功能,本身内置网络支持,满足了目前嵌入式系统对网络支持越来越高的要求。 l i n u x 的高度模块化使添加部件非常容易。其强大的语言编译器g c c 、g o b 等也可以 很容易得到,不但成熟完善,而且使用方便。 基于嵌入式l i n u x 的s s lv p n 网关系统的实现可以有两种方式: 方式一:将s s l 编译到嵌入式l i n u x 操作系统内核中,从而使s s l 的安全机制 对系统应用层的所有网络应用软件提供透明服务,上层应用软件不需要做任何改 动。其缺点是需要修改操作系统内核,缺乏灵活性,将敏感数据与非敏感数据同等 对待,会影响系统的效率。 方式二:利用c a v i u m t u r b o s s l 提供的应用程序接口来丌发实现。t u r b o s s l 包 括s s l 库、加密算法库、应用程序三大部分,实现了s s l t l s 协议和其相关的p k i ( p u b l i ck e yi n f r a s t r u c t u r e ,公丌密钥体系) 标准。通过调用t u r b o s s l 提供的 各种应用程序接口,可以大大降低开发的工作量。 通过以上分析可知,第二种方案较好,它既可以节省开发时间并避免不必要的 错误,又可以把更多精力投入到系统优化上使之更加安全高效。 3 2m ip s3 2 位单核o p u 平台 服务器管理员经常抱怨s s l 速度慢,因为其加密算法丌销昂贵,根据所用协议、 服务器硬件和网络环境的不同,s s l 连接可比普通t c p 连接慢2 到1 0 0 倍。这种性 能丌销直接转变为运作成本的增加。因特网上x 8 6 架构的服务器即便是在使用非保 密协议的时候也负载沉重,运算负荷大的安全协议必然意味着要购买和操作更多的 服务器才能维持同等的服务质量。 图3 - 1 单核c p u 嵌入式平台 1 3 华北电力大学硕十学t :) = 论文 为熟悉s s lv p n 的软件实现和m i p s 芯片架构,作者先在采用m p i s3 2 架构的 单核处理器芯片c n 2 2 5 的嵌入式平台( 如图3 1 所示) 上实现s s lv p n 功能。 c a v i u mc n 2 2 5 应用内置硬件算法加速单元,克服了加解密算法占用大量c p u 资 源的问题。c n 2 2 5 芯片是基于m i p s 3 24 k m 核心1 26 | 的s o c 如图3 - 2 所示,它集成了3 个以太网m a c 和2 个专用安全处理引擎( s e c u r i t ye n g i n e ) 。如图3 3 所示的安全 处理引擎的设计是m i p s 架构c n 2 2 5 芯片在s s l 应用性能上优于一般x 8 6 架构c p u 的关键,也是它实现高性能s s lv p n 的保证。因为这种设计从根本上克服了只用主 核心进行s s l 协议处理的性能瓶颈,不但提高了系统整体性价比,而且使s s lv p n 性能最高可达到2 0 0 m b p s ,尤其适合网络安全行业的各种应用。 图3 - 2c n 2 2 5m i p s 3 2 内核结构 硬件支持的多种安全算法包括: r s aa n dd i f

温馨提示

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

评论

0/150

提交评论