(计算机应用技术专业论文)基于ipv6的认证授权计费系统设计及实现.pdf_第1页
(计算机应用技术专业论文)基于ipv6的认证授权计费系统设计及实现.pdf_第2页
(计算机应用技术专业论文)基于ipv6的认证授权计费系统设计及实现.pdf_第3页
(计算机应用技术专业论文)基于ipv6的认证授权计费系统设计及实现.pdf_第4页
(计算机应用技术专业论文)基于ipv6的认证授权计费系统设计及实现.pdf_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

中文摘要 摘要:传统的i p v 4 网络由于地址空间不足,在q o s 、移动性以及安全性等方面 存在设计缺陷,越来越难以满足人们的需要,i p 、,6 应运而生。由于,v 6 有着众多的 优点与特性,从而被口巳t h h l l c m c te n g i l l e e 血g 砸kf o r c e ,互联网工程任务小组) 采纳 为下一代互联网的标准协议。相信在不久的将来,v 6 必将取代、r 4 成为h l t e m e t 的主导协议。 对用户接入进行管理的核心是蛆( a u t h e m i c a t i 彻、a u t h o r i z a t i o n 、 a c c o u m i n g :认证授权计费) 。通过它来实现对接入用户身份的鉴定、网络资源和 服务的授权以及记录对网络资源使用情况并进行相应的计费。随着口v 6 的不断发 展,口v 6 下的接入控制也必须被考虑进来。 目前我校已连接上c e r b m 砣的骨干 、,6 网络,并且实现了口v 6 网络的全教 学区接入覆盖。在教学区的任何地点均可以通过自动配置地址或者隧道的方式连 接口v 6 网络。但是由于 v 6 仍然处于试验阶段,因此在考虑设计纯i p v 6 下认证 模型的同时还需要考虑过渡阶段下的认证模型。 根据以上提出的问题以及对未来网络的发展方向的分析,本人在i p v 6 的基础 上,使用学校现有环境,设计了对口v 6 用户接入进行控制的a a a 系统。 论文分为两个部分:首先,通过详细分析使用目前应用广泛的a a a 系统: 也e 脚2 1 x 协议与鼬m i u s 协议,利用可扩展的网络认证体系结构,设计了一套 与网络层协议无关的认证计费授权体系模型,并将其实现。其次,对廿v 6 的自动 地址配置以及隧道配置方式进行了分析,设计出了纯i p v 6 下的认证系统,最终完 成i p v 6 协议下的局域网进行计费认证授权的任务。本文在学校现有条件的基础上, 利用实验室现有设备实现,并为今后更深层次的开发及应用提供了技术支持及理 论基础。 关键词:i p v 6 :a a a ;i e e i 强0 2 1 x 协议;r a d i u s 协议 分类号:四3 9 3 0 2 a b s t r a c t a b 铘la c r a cp r 髓e n t ,t h eh a d i t i 伽i a l 职p r m o c o l - 刀p v 4i sv c r yh a r dt om f o rt h e n 曲阳r kc x p 姐s c 柚dn e wt a s kr a 硫删砒b e c 孤辩“h 勰n o t o u g ha d d r e 船s p a c c 柚di th 雏s 咖cl i m i t a t i so nq o s ,m o b i l i t y 柚d 删哆u n d 盯t h i sc o n d i t i o n ,t h c n e w 口p r o t o l - i p v 6 锄ei n l 0b e i n g b c u s e i v 6h 舔m 柚ya d v 趾t a g c s i ti s a d o p t c db y 肼t o b c 0 0 m et h es t a n d a r dp r o t o lo fn e x tg c n 眦b o ni n t c m e t ni ss u r e t h a t 、,6w i nr c p l a l v 4 姐dw mb cn 圮l c a d i n gp r o t o c o li ni n t e m c i t h cc o r eo f 璐c r s c e 嚣m 她a g e m e n ti sa a a ( a u t h 训c a t i 伽l 加t h o r i z a t i 伽, a c o 咖n t i n 曲,w h i c h 佗a l i si d 锄t i f i c a t i o no fa o c e s su s c r s ,勰w e l l 越卸t h o r i z 嚣n e 细o r k r 啪u r c ca n ds e n ,i c 鼯t ot h e m 柚d 阳c o r dt h e i rn 咖0 r ku s 驯萨f o l l a w i n gt h e 咖t i n u 叽s d e v e l o p m e n to fm v 6 ,w eh a v ct op u lt h ea c l c c 豁c o n t m l o fl p 、,6i i i t 0c 0 璐i d e r a t i a t 弭嚣锄t ,伽r 伽匮v c 培i t y h 雒舢c c t c d t o t h c i p 、,6 w h i c h i s t h c b a c k b o n e n e 咖t i 【 o fa e l 讣t e ,r 2 ,卸dw ch a v cr c a l i z c dt h ew h 0 i e v e r0 fa u 蚴i n ga 舔i ni p 、,6 w b 啪c 0 蛆e c tt o 、r 6b yu s i n ga d d r c s sa l i t 0 一c o n 6 9 l l m t i o r1 、l 肋dc 0 n f i g l i r a t i o ni i i 硒yp l a c c0 f 咖r t c 卵h i n g 硼h o w c v c r i p v 6 i sa t t h e t r i a ls l a g e ,w eh a v e t o m a 玉 t h cc o n f o 】m i n gm o d e lo f 仃a j l s i t i 蚰a ls t a g ej n t oo 咖s i d c m t i o na tt h es 锄et i m eo f d e s i 留j n g t h e p u r c m o d c lo f 6 a c c o r d i n g t 0t h ed b o v c m e n 石0 n e di s 蛐鹳a n dt h e 柚a l y s i so ft h ef l l t u 佗d e v e l 叩m t d i r c c t i 衄,id c s i 印t h e 丸诅s y s t c mt o 咖舡o lu s e i sa o c 龉sb a s c d i p v 6 n c p a p 盯璐i s t so ft v l ,op a n s :f i r s n y ,t h u g hd e t a i l c d 柚a l y s i s0 ft h cc i l 玎c n t w i d e s p m d 执s y s t c m :删0 2 1 xp 咖l 距d 黜i u sp r 0 o l ,锄d b yu 吐l i z i n g t l l ec x t e n s i b l ea u t l l e n t j c a t i n c t w o r ks y s t e m ,ld e s i 印c d 粕a a as y s t e mn o t i l i n gt od o w i l h 圮n c 呻0 r kl a y e rp r o t o c 0 1 s e c o n d l y ,i 卸a l y z c di h ea d d r c s sa u t o - c o n f i g i i r a t i 觚dt u 肌dc o n f i g u r a t i ,t i l e nd 鹤i 伊c dt h ea a as y s t c i nb 猫c d 口v 6 ,柚df i n a l l y f i i l f i l l e dt h et 嬲kt o 卸t h e n t i c a t e 卸d 卸t h 耐z c 伽t h c 、,6l a n b yu s i n ge x i s t i n g l a b 0 忸c o r ) ,e q u i p m 锄t l h i sp a p c rp r o v i d e st h et e c h n i c a l 鲫p p o na n d t h r e t i c a lb 够i sf b r t l i ef i l 姗r cd c v e l o p m 朋t 柚da p p l i c a t i o no fad e e p c rl e v e l k e y w o r d s :i p 、r 6 ;a a a ;i e i e 8 0 2 1 x ;r a d i u s c l a s s n 0 :t p 3 9 3 0 2 致谢 本论文的工作是在我的导师贾卓生老师的悉心指导下完成的,贾老师学识渊 博,治学严谨,对学生耐心和蔼,成为贾卓生老师的学生,我深感荣幸。从论文 选题,理论推导,到论文的最终定稿和写作过程,贾老师都给予了许多关键性的 指引与热情的帮助。贾老师求严求实的工作精神和治学态度给我留下了深刻的印 象,使我收益匪浅在此衷心感谢贾卓生老师对我的关心和指导。 贾卓生老师悉心指导我们完成了实验室的科研工作,在学习上和生活上都给 予了我很大的关心和帮助,在此向贾卓生老师表示衷心的谢意。 我在实验室学习、工作以及撰写论文期间,实验室同学对我论文中的研究工 作给予了热情帮助,在此向他们表达我的感激之情。 还要感谢开发论坛上帮助我的朋友们,是你们在我陷入困境时及时的提供无 私的帮助,使我受益匪浅。 另外也感谢我的家人,他们对我的的理解和支持使我能够在学校专心完成我 的学业。并且感谢你们在我修改论文期间给我的关怀和支持。 最后,对百忙之中审阅我论文的各位老师表示深深的谢意。 1 绪论 1 1 研究背景 1 1 1 计费授权认证( a a a ) 与接入访问控制 一、在旧有也e 脚2 局域网环境中,只要存在物理的连接端口,未经授权的网 络设备都可以接入局域网,或者是未经授权的用户可以通过连接到局域网的设备 进入网络,这显然不是网络管理员所希望看到的场面。因此,在局域网络环境中, 网络管理者需要种方法对网络接入用户进行控制。 有鉴于此,正e e 组织在髓e 8 0 2 1 1 无线局域网协议的基础上设计了基于端口 访问控制的接入管理协议标准也e e 8 0 2 1 x 协议,它配合e a p 协议在局域网设 备的物理接入级对接入设备进行认证和控制,此处的物理接入级指的是局域网接 入设备的端口。连接在该类端口上的用户设备如果能通过认证,就可以访问局域 两内部资源;反之则无法访问局域网内部资源,相当于物理上断开连接。目前 e e 8 0 2 1 x 协议不仅广泛应用于无线局域网,在有线局域网的接入管理方面也起 到了相当重要的作用。 本校在上学期进行的校园网络三级网的改造工程中就有包括对交换机进行升 级的项目所有接入层设备全部升级为支持啦8 0 2 1 x 协议的交换机,增强了 网络管理员对底层用户的管理,同时对防止口地址盗用起到了很重要的作用。 二、网络体系按照网络结构划分,可分为骨干层、汇聚层以及接入层( 也即 上面提到的“三级网”) ,而接入层管理的核心就是对用户的认证授权以及计费 ( 也称为a a a :a u t h e n t i c a t i 、a u t h o r i z a t i 、a c o o u n t i n g ) 管理,其基本概念如下 所述: 认证( a u t h e n i c a i i o n ) :在用户申请使用网络系统中的资源时,认证服务器对用 户身份信息( 诸如用户名、口令等) 的确认。认证服务器对身份信息与存储在数据 库里的用户信息进行核对处理,根据处理结果确认用户身份是否正确。 授权( a u t h 嘶z a t i o n ) :网络系统根据认证结果,授权用户使用一定网络资源, 为用户提供相应的网络服务,如授予i p 地址等。 计费( a c c o 蛐t i n 画:网络系统收集、记录用户对网络资源的使用,以便向用户 收取资源使用费用,或者用于审计等目的。以互联网接入业务供应商i s p 为例,用 户的网络接入使用情况可以按流量或者时间被准确记录下来。 认证、授权和计费一起实现了网络系统对用户的身份鉴定,为签约用户提供 相应的网络资源和服务,并记录其对网络资源使用情况。这样既在一定程度上有 效地保障了合法用户的权益,又能有效地保障网络系统安全可靠地运行。因此, 互联网上的认证、授权和计费技术的发展关系到每一个互联网运营商和用户。 目前a 从的主要实现方式就是基于m 山i u s m m o t ca l l t h 朋t i c a t i d i a lh u s c r s c i c c :远程认证拨入用户服务) 协议( 砌c 2 8 6 5 ) 的任务实现,它最初由 i j v i i l 擎t 0 公司( 现在已经并入蛔th t e m e t w o f k i n gs y s t 锄公司) 开发,作为一种 客户机服务器( a i e n 临e r v 神模式的安全协议。后由m c r i t 大学进行了功能的扩展, 逐渐成为一种电话接入i n t 咖e t 的认证计费协议。黜岫i u s 协议具有安全性好、扩 展灵活、易于管理等特点,同时还有很强的计费功能。随着用户接入方式的多样 化发展,m i u s 也发展为适应多种用户接入方式,如以太网接入,a d s l 接入等 的通用蚺a 协议。 瑾t f ( b t 锄c te n g i n f i n g 殛kf o r c e ,互联网工程任务组) 对于黜妨i u s 协议 也有相应的规范,1 9 9 7 年颁布的r f c ( r c q u e s tf o rc b n 皿e n t s ,包含一系列网络协议 草案) 版本是:r f ( = 2 0 5 8 、a c 2 0 5 9 ,后修改为r 丑c 2 1 3 8 、r f ( = 2 1 3 9 。本文所参考 的是最新的协议规范:r f c 2 8 6 5 、也8 6 6 ,以及6 协议下对r a d i u s 协议的扩 充规范r f c 3 1 6 2 。 1 1 2i p 、,4 协议向、,6 协议的过渡 目前网络体系结构中的第三层协议是网络层协议,由于该协议的第四个版本 i i i ( i n t 锄c tp i 咖l v 铘i 4 :网络层协议第四版) 的快速发展,其设计初衷“b e 吼 e 肋r t ”已不能满足人们对于网络层的需求,“下一代口协议( 坤n g ) ”取代口v 4 已成为大势所趋。 ,v 4 起源于上个世纪年代,由于其使用简单并且具有在当时的u n i 】【系统中内 置的优点,使得基于v 4 的互联网在很短的时间内风靡整个世界。然而在获得巨大 成功的同时,该协议本身在设计初期没有考虑到的缺陷也凸现出来。首先,随着 网络的繁荣发展,加上地址分类使用方法不合理,使得我们今天所用的i p 地址极度 缺乏。其次,由于该协议起初主要面向研究和开发机构、对安全性的考虑不是很 充分,但是在实现网络商业化的今天,不安全的通信信道带来的网络攻击越来越 多,其危害也越来越大。4 获得的巨大成功反而使得它本身陷入了一个尴尬的境 地。上个世纪9 0 年代,组织开始设计,v 6 ( i n t e m c tp d o i o c o lv e 塔i 6 :网络层 协议第六版) ,并逐渐进入到人们的视野中。和、,4 相比较而言,i 、,6 在如下几个 方面进行了改善: 一、地址更充裕。,v 6 使用1 2 8 位地址方案,使地址数量大大增加( 地球上每平 2 方米土地将有6 6 5 亿个口v 6 地址) ,这个方案足以满足按照指数级增长的h t c m e t 用 户规模以及未来电子终端和移动设备对口地址的需求。这对于n 4 下3 2 位地址空间 解决方案来说是根本不可能做到的。 二、节省了路由开销。首先,v 6 采用4 j d 字节固定的包头长度,这就为中间的 路由设备进行分析带来了便利。相比较而言,、,4 协议的口报头长度不固定,分析 口报文中的数据非常困难,给路由器带来巨大的负担。其次,脚6 采用类似于c d r ( 无类别域问路由) 的层次型地址结构。它把网络地址前缀分成了几个层次:1 1 a 、 n l a 、s l a 等,每个层次代表各自等级上的功能。同时,使用同一个网络服务提 供商的地址前缀是相同的,这就为网络管理带来相当大的便利。在这种机制的保 障下,v 6 提供地址自动配置机制,很大程度上降低网络管理者的配置和地址管理 工作。最后, v 4 的地址分配与网络拓扑无关,地址层次结构缺乏统一的分配和管 理,不但使得地址冒用成为可能,从而导致d d o s 攻击泛滥,而且会导致主干路由 器存在相当大量的路由表项,增加了路由查找和存储的负担。而在i v 6 严格的地址 层次机制下,这种情况是根本不存在的。 三、更强的安全性能。网络的安全性是互联网所要提供给客户的一项重要的 服务,然而口v 4 的安全性能差一直是让人们头疼的问题。帆4 头中的校验和域只能 用于保证口数据报的完整性,特别是在整个、,4 包头中所有数据都是明文传输,这 就给一些别有用心的人可乘之机。而 v 6 协议采用了认证、加密两个扩展标头。认 证扩展标头的目的是保证在网络应用中确认数据包来源的正确性,有效防止了网 络黑客的入侵。加密扩展标头采用独立的加密算法,运用在网络层进行加密的技 术封装安全载荷e s p ( e n c 印s u l a t c ds 咖哪p a y l o a d ) 对数据进行加密,保证 了数据的安全性和完整性。 四、v 6 提供了对服务质量( q l l a l i l y0 f s c r v i c c :o o s ) 的支持。在邛、,6 分组的 头部中定义了业务类别( a 鹤s ) 和数据流标志( f l o wl a b c l ) 。前者将m 分组的优 先级分为1 6 个等级,对需要特殊q o s 的业务,可按需设置,酌情处理:后者用于标 识、处理任意一个网络中传输的数据流。这样就可以优化数据传输性能,提高服 务质量和网络性能。以及对移动性能更大的支持,使得网络层协议从i p v 4 向i p v 6 转变是大势所趋。 我国口v 6 的发展非常迅速。1 9 9 8 年6 月我国国家教育科研网a r 删入了 6 8 0 n e ,并于同年1 2 月成为其骨干成员。a 弧n e t 建立了皿、,6 试验床并在i p 、,6 领域 在中国开展了许多开拓性的研究。2 0 0 4 年1 2 月中国下一代互联网示范工程c n g i ( 西j n an tg 曲啪t i o nh t e m e t ) 的核心:c e 鼢旧t 2 正式开通,该网络是目前世 界上最大的纯v 6 互联网,引起了世界的关注。 在这用情况下,我们学校对i p 、,6 上的研究也相当重视,目前在我校教学区内已 3 经能够通过无线或者有线的方式连入教育网c e r n f r 2 的6 主干网,同学可以很 方便的在实验室或者教室里进行6 下的学习以及试验。 尽管m v 6 协议对于口v 4 协议来说有如此大的改善,但是取代后者仍然需要一个 相当长的过程:针对由m 地址带来的一系列问题,m v 4 下的n 艇。( n 咖0 r l 【a d d r e 踞 1 n 叫a t i 嘶:网络地址转换) 协议以及d l i c p ( d y n 锄i c i i o s tc c m 丘蚪t a t i o n p t o t o o o l : 动态主机配置) 协议已经对该问题暂时进行了缓解。同时,口层安全协议( s e c : h t c m c ip m t o c o ls 鲫d t y ) 已经在虚拟专用网络( ) n :v i :r t l l a lp f i v a t en t t w 0 畦) 已 经得到了很好的应用。目前玎6 协议仍然处于起步试验阶段,最主要的原因是目前 、,6 上的网络应用相对与玳,4 来说还很匮乏。i p 、,6 网络环境对于广大的口v 4 “海洋” 来说,仍然是一小片的“孤岛”。同时,由于、,4 和v 6 两种协议还不能兼容,人 们设计了很多相应的过渡机制来解决这个问题,其中就包括隧道技术以及口v 6 礅术,而使用得较为广泛的即为隧道技术。同样,在我们学校有些教学区也 采用了i s 脚隧道技术,这些技术在后文会有相应的介绍。 本设计也是在校园教学区中已有6 网络环境的基础上,根据目前狂v 6 认证授 权计费的现状进行设计的实用系统。 1 2 本文的主要工作 根据前面分析,基于6 协议局域网的出现和发展将会是一个必然的趋势,随 之而来的基于脚6 下的计费授权认证也是需要解决的一大闯题。本文主要工作就是 分析现有 v 4 环境下的认证计费授权体系,同时尝试将之迁移到口v 6 环境下,并试 图通过先期分析设计为今后深层次的开发提供一个理论和实践基础。 本文的设计思路是结合现有广泛使用的认证体系:髓8 0 2 1 x 协议与扎旺哪s 协议相结合的方式,并以此为基础在其上进行改进及开发,同时使用学校以及实 验室现有,v 6 环境进行试验。本论文中的分析、设计主要分成以下两个部分: 第一部分:分析i p v 4 环境下的蛆体系实现,并在此基础上考虑是否可以实 现一个与网络协议无关的认证授权计费系统。在该部分中我做的主要工作是: 首先,由于e e 8 0 2 1 x 协议为数据链路层协议,不涉及到网络层,因此先分析 该协议以及e a p 协议。通过分析相应的r f c 文档,在实验室现有设备的基础上开发 出用于用户进行m 髓8 0 2 1 x 认证的客户端软件。 其次,研究黜d i u s 协议,分析其与i v 4 相关的属性,寻找将原有认证系统顺 利迁移至口v 6 环境下的方法。 第三,找到合适的刚山i u s 服务器软件,在这里我选择使用f r c e 鼬l u s 软件, 该软件全部源代码公开,并且其扩充性能良好,非常适合本项目中使用。在 f r e e r a d i u s 软件原有基础上进行二次开发,编写支持黜如i u s 协议的服务器模块 4 代码并在整个a a a 体系中进行调试搭建论文中设计好的认证体系。 最后,测试系统是否达到预期设计效果。 第二部分:在纯v 6 环境下设计认证授权计费体系。在该部分中主要考虑了以 下几个问题: 首先,结合我们学校的环境,分别分析三种主要的 、r 6 接入方式。 其次,针对这三种接入方式设计其各自的认证授权计费体系。 最后,对聃6 环境下的体系进行测试。 5 2i e e e 8 0 2 1 x 协议及客户端软件实现 2 1i e e e 8 0 2 1 x 协议介绍 2 。1 1i 唧0 2 1 x 认证起源 首先,在由砸e i 8 0 2 所定义的有线局域网( l a n ) 下,通常都允许非授权的设 备或用户直接连接局域网访问其资源,然而对于在电信接入、写字楼局域网等许 多情况下,网络管理者都希望能对用户设备的连入局域网并使用其资源进行控制 和配置,没有通过局域网接入验证的用户是不应该享受其提供的服务和使用其资 源的。 另外,由m e e 8 0 2 1 1 所定义的无线局域网( w ia n ) 下,由于其网络空间具有 开放性和终端可移动性,很难通过网络物理空间来界定终端是否属于该网络,因 此,它也需要一种端口认证方式来防止非授权用户通过无线访问本地局域网空间 内资源。 正是基于上述两种对连接方式进行控制的需求,产生了i i j 删1 x 协议,即基 于端口的网络访问控制协议( p o n b a s c dn c 嘶o r l 岱a c c c s s c 0 n i r 0 1 ) 。它出现的主要 目的是为了解决对局域网用户接入进行认证授权访问的问题。 基于端口的网络接入控制协议主要是针对m e e 8 0 2 局域网体系的物理访问特 性,提供一种对接入局域网“端口”的设备进行认证授权的手段,同时可以禁止 未通过认证或者授权的用户访问局域网内资源。这里所说的“端口”是指连接局 域网的一个“接入点”。而该端口可以分成“物理端口”和。逻辑端口”。举例来 说,端口可以是接入服务器或者是路由器上用来连入局域网的接口( 物理端口) , 也可以是接入设备的m a c 地址、无线局域网中入网主机和访问节点( a p :a c c c 鹳 p o i n t ) 之间的通信信道。 i e e e 8 0 2 1 x 是一个认证体系,该体系描述了如何控制用户从网络边界接入网 络,网络管理员也可以确保没有认证的用户无法访问网络,让所有用户的认证都 集中在一个认证服务器上完成。 正e e 8 0 2 1 x 作为一种基于端口的用户访问控制机制,由于其成本低、业务连续 性和扩充性能良好以及较高的安全性和灵活性,自从2 0 0 1 年6 月正式成为删0 2 系列的标准开始,便迅速受到了网络接入设备制造商、各大网络运营商和最终用 户在内的广泛支持和肯定旧。 6 2 1 2i e 髓8 0 2 1 x 认证体系组成部分 髓8 0 2 1 x 是基于端口的访问控制协议,该协议适用于接入设备与接入端口 间点到点的连接方式。e l 强0 2 1 x 协议所实现的最终目的就是检查是否允许该用 户使用接入端口,对于该接入端口,如果认证成功则“连通”,允许业务报文通过; 反之,则继续阻塞该端口的所有业务报文,等待重新进行验证。 m e l 8 0 2 1 x 协议的体系结构如图2 1 所示。该协议体系可分为三个实体:认 证请求客户端、认证设备端、认证服务器端。 客户靖设备端 认证服务器 客户端靖口 网络服务l i 认证端口h 认征服务器l 笆 3 臀 f e a p o l i l k n 糯乙n , 图2 - 1 e e 8 0 2 1 x 认证体系 1 认证客户端: 认证客户端( 请求入网主机) 是位于点对点局域网段一端的网络设备,向该 链路另一端的认证系统发起认证请求,以期望获得认证设备上和该认证客户端相 连接端口的访问权限。客户端通常是支持m e e 8 0 2 1 x 协议的终端设备,用户通过 启动客户端软件发起m 班2 1 x 认证。 w i n d o w s ) 口操作系统就带有e e 8 0 2 1 x 客户端。另外,许多网络设备提供 商比如华为、港湾也带有自己的支持其认证设备的正e e 8 0 2 1 x 客户端产品。由于 系统设计的需要,在我的设计体系中也设计开发了自己的m e e 8 0 2 1 x 客户端软件, 并通过和支持e e 8 0 2 1 x 协议的华为s 3 9 0 0 系列交换机进行测试,已能正常运行。 2 认证设备端: 认证设备端是位于点对点局域网段另一端的实体,用于对连接到该链路一端 的认证客户端提供接入端口并进行认证。认证设备端通常为支持m e 脚2 1 x 的网 络接入设备( 如交换机,无线接入a p ) ,它为客户端提供接入局域网的端口。认 证设备端所控制的资源就是“端口”( 这也是为什么e e 8 0 2 1 x 名为“基于端口的 访问控制协议”的原因) ,如前所述该端口可以是物理端口( 如以太网交换机的一 个接入端口或者a p 的接入信道) ,也可以是一个逻辑端口( 如用户的m a c 地址、 7 j e 瘟窑通太堂硒堂僮论塞l 量呈星q 2 :! 垃这厘奎庄鲨鏊住塞丑 n 等) 。认证设备端一般通过和认证服务器交互认证信息以达到对客户端实体 进行认证的目的。 3 认证服务器: 认证服务器是为网络设备端提供认证服务的实体。认证服务器可用于实现对 用户的认证、授权和计费( 丸气a ) 。并对认证计费日志进行管理、对用户信息进行 核查。本系统采用的认证服务器是支持鼬蛐i u s 协议( r f ( 2 8 6 5 ) 的f r c e 黜姬i u s 服务器。 2 1 3i e e e 8 0 2 1 x 协议中的访问控制方式 嘲0 2 1 x 主要特点就是提出了端口访问的受控方式和非受控方式。 i 型l 图2 2 认证设备端口 如图2 2 所示,认证设备端在每个物理端口内部划分为两个逻辑端口:受控 端口和非受控端口。非受控端口中的数据不需要认证,该端口始终处于双向连通 状态,随时保证接收认证客户端发出的认证报文,并且只能传递用来对用户进行 验证的数据帧;受控端口只有在认证通过的状态下才打开,用于传递网络资源和 服务的业务报文。 在初始状态下,用户未通过认证时,受控端口断开,即处于未认证状态,此 时交换机的数据交换功能是关闭的,也就是说交换机无法像传统方式那样通过查 找目标m a c 地址来交换报文,此时用户业务报文无法通过。 当用户通过认证后,受控端口连通,端口状态为通过认证状态,此时交换机 的交换功能打开,就和传统的交换方式一致了,用户的业务报文就可以顺利通过。 受控端口可以配置为双向受控和仅输入受控( 单项受控) 两种方式,以适应 不同的应用环境。进行双向受控时,禁止帧的发送和接收;而进行单向受控时, 禁止从客户端接收帧,但允许向客户端发送数据帧。输入受控方式应用在需要桌 面管理的场合,例如管理员需要远程唤醒一台客户端。认证设备端端口默认的受 控方式是双向受控。 8 如果该端口是逻辑端口,比如把用户的m a c 地址作为端口,同样可划分成受 控和非受控端口,其认证控制方式和上述方法一样。 2 2i e e e 8 0 2 1 x 认证过程分析 要想让正e i 8 0 2 - 1 x 认证体系顺利实施,需要认证客户端和认证设备之间以及 认证设备和认证服务器之间的两个交互过程,而这两部分顺利交互的个必要的 前提就是上述的三个实体之间运行一个良好的验证体系。在认证客户端和认证系 统之间运行由m e 踟2 1 x 所定义的e a p 0 “e x t e 璐i b l e a i h 锄6 c a t i p f m o c o lo v 盯 u 椭) 协议。当认证设备端工作于中继方式时,认证设备端与认证服务器之间也 运行e a p 协议,e a p 帧中封装认证数据,将该协议装载在其它高层次协议中,以 便穿越复杂的网络到达认证服务器;当认证设备工作于终结方式时,认证系统终 结e a p o l 消息,并转换为其它应用层上的认证协议,传递用户认证信息给认证服 务器系统。下面让我们首先仔细分析一下认证客户端和认证设备端之问的交互过 程,有关认证设备端和认证服务器之间的交互将在后文介绍。 在m e e 8 0 2 1 x 认证体系中,认证客户端和认证设备端之间使用e a p ( p p p e x t e n da u t h e n t i c a t i 伽p m t o c 0 i ) 协议传送认证信息。在局域网络环境中,e a p 协议 又通过采用d 廿0 i ( e a p0 l 、r 盯l a n ) 协议所定义的格式封装所交互的认证信息。基 于队p 协议的认证系统可以使用多种不同的认证算法,如e a p m d 5 ,e a p t l s , e a p s i m ,e a 啪_ s 以及e 姐a k a 等认证方法。本设计体系中,由于所使用认 证设备:华为3 c o ms 3 9 0 0 交换机使用的认证方法是b 廿m d 5 方法,因此后文根 据该协议介绍认证流程。 整个认证体系报文交互过程如图2 3 所示,其大致步骤介绍如下: 1 客户端向接入设备发送一个e a p o i ,s t a r t 报文,开始m e 脚2 1 x 认证接入; 在这里客户端向正e e 8 0 2 1 x 组播地址0 1 8 0 c 2 0 0 0 0 0 3 发送e a p o l s t a n 报文,发送 组播报文主要是由于此时还不清楚认证接入设备的m a c 地址,而认证客户端只能 从交换机的回复消息中得到认证设备的m a c 地址。 2 接入设备在收到客户端发送过来的e a p o l 广s t a n 请求报文后,向客户端发 送e a p r e q u e s 们d e n t i t y 报文,要求客户端将用户名传送过来。 3 客户端回应一个e a p r c s p o n s 删e n t i t y 给接入设备的请求,其中包括用户 名。 4 接入设备将e a p r e s p o n s 朝d e n t i t y 报文封装到更高层的协议报文中,发送 给认证服务器。 5 认证系统产生一个a l a l i g c ,通过接入设备通过更高层的协议报文发送给 客户端,其中包含有队p r e q u 髂伽d 5 c h a l l e n g e ,该c h a c n g c 的值为服务器随 9 机产生的数值,用于验证时使用。 图二3m e e 8 0 2 1 x 认证系统数据报文流程 6 接入设备通过e a p r c q u e s 伽d 5 - c h a l i e n g e 发送给客户端,要求客户端进 行认证。 7 客户端收到e a p r e q u 船伽d 5 一c h a l l e n g e 报文后,将密码、c h a l l 明g c 和本 次交互的i d 值进行m d 5h a s h ,得到的c h a n c n 剁p a s s w o r d 作为结果,在 e a p r e s p o n s e 血订d 5 凸枷锄g c 回应给接入设备。 8 接入设备将q i a l l c n g c 、c h a l l e n g c dp 弱s w o r d 和用户名一起送到认证服务器, 由服务器进行认证。 9 认证服务器根据存储在本地的用户信息,同样做m d 5 算法,和收到的来 自认证客户端的c h a l l e n g c d p 勰跚o r d 进行比较,判断用户是否合法,然后回应认 证成功失败报文到接入设备。如果认证成功,则发送用户的相关业务属性给认证 设备;如果认证失败,则流程到此结束。 1 0 如果认证通过,接入设备发起计费开始请求给认证服务器, 段时间发送计费请求报文。 1 1 。认证服务器回应计费开始请求报文。用户上线完毕。 一个e a p 验证过程以一系列的r c q u 璐t ,i 溉p o n 辩消息交互开始, 设备端向认证客户端通告结果的s u c c 嘲佃a j l u r e 消息结束。 队p o l 协议的消息格式图2 - 4 所示: 并会每隔一 以最终认证 e 矗pp a c l 0 爵 l 版本号l类型i 长度( 1 ) ; 代码;标识;长度( 2 ) ; 数据 ; l _ _ _ _ _ _ _ 。_ _ _ _ _ _ _ _ _ - _ - _ 。- ,- _ - _ _ _ _ _ _ _ _ _ _ | _ _ _ 。_ - _ _ _ 一_ - - - - - ,- _ - - - 。 l12 l 12 n 圈2 4 e a p o l 协议的包格式 其中: 版本号字段:该字段长度为1 字节,用于表示e a p o l 认证协议版本号, 类型字段:该字段长度为l 字节,用于表示e a p o l 报文类型 类型= :0e a p p a c k e t ;,认证信息帧,用于承载认证信息。 类型= = 1e a p o l s t a r t 认证发起帧,由认证客户端向认证设备端发送。 类型= = 2e a p o l i j o g 碉w 退出请求帧,认证客户端主动终止已认证状态。 类型= = 3e a p o l l 沁y ;密钥信息帧,支持对e a p 报文的加密。 长度( 1 ) 字段:该字段长度为2 字节,用于描述e a p o l 报文的总长度。 后面虚线部分是承载于e 时0 l 协议上的e a p 报文,该报文用来交互认证信 息。使用虚线的意思是该部分内容只有在e a p o l 包聊e 字段值为0 时才有意义。 在类型值为非0 时,虚线部分均填充为0 。 该报文格式如下: 代码字段:该字段长度为1 字节,用于指示d 廿消息的种类。 代码主要类型为: 代码= = 1r e q u e s t ;认证设备端给认证客户端要求其提供认证数据。 代码= = 2r e s p 0 璐e ;认证客户端回应认证设备断发送的r e q u e s t 消息。 代码= 3s u c c e 璐;认证设备端回应认证客户端认证成功消息。 代码= = 4f a i l u r e :认证设备端回应认证客户端认证失败消息。 标识字段:该字段长度为l 字节,用于匹配认证过程中请求和回复报文。 长度( 2 ) 字段:该字段用于表示e a p 报文总长度。 数据字段:该字段出现于请求相应交互报文中,它由两部分构成:类型域和 类型一数据域。本文介绍的体系中主要用到的类型值有: n 类型= = 1l d t i t y ;胜要用来在请求回复中交互认证客户的标识。 类型= = 2 n o t i f i 盟的:,用于在请求回复中通报一些消息。 类型= = 4 m d 5 c h a l l 如g e ;,主要用来在请求回复中交互认证信息的m d 5 h 雏h 值,具体交互方法上文已介绍。 类型数据域的值对应于不同类型域的值而不同。 2 3i e e e 8 0 2 1 x 客户端软件设计 根据对以上步骤的分析,同时根据整个论文设计体系的需要,在详细阅读了 b ”o l 的规范文档融仍7 4 8 之后,我进行了删0 2 1 x 客户端设计,该 疋e e 8 0 2 1 x 客户端主要完成如下功能: 1 提示用户输入认证的用户名、密码。 2 向认证设备端发起认证请求。 3 根据e a _ p o l 协议,与认证设备端进行一系列的请求回复交互。 4 向用户提示目前认证状态,以便认证失败时用户进行设置检查。 由于e a p o l 协议运行在数据链路层,因此软件编程时出要处理数据链路层各 个帧的内容。客户端的设计采用瑚n p c 叩开源工具包提供的网络编程接口,用来 发送数据帧以及接收指定的数据帧并作出相应的回复。w 砌p c a p 是目前用得最多的 发送和接收数据报的工具,它为w i n 3 2 应用程序提供访问网络底层的能力。 在该客户端设计编写中所用到的w 瞄切p 的a p i 有: p 山n d a l l d c v s o 获得网卡名称 p po p e n _ v c o 打开网卡,每2 0 m s 抓包一次,抓取的包的长度为印字节 p c a pl p o 启动包处理循环 p a c k c t j l 姐d l e r o 分析包头特定字段( 即2 2 节所提到的代码字段和类型字段) 的含义,并触发相应的动作。这是整个认证过程的核心,用来对接收到的包进行 判断,并发送相应的回复包,同时控制程序的状态。 p c a ps e n d p a c k e t o ,发送指定长度的包 p c a p _ c l o s e 伽,关闭网卡 整个软件的工作流程如图2 - 5 所示; 用户设置用户名和密 码,同时选择进行入 舟连接的碍专 j 用户点击连接触 发认证过程 调用p c 艰o p l f v e o 打开适配 器,使用p c 叩_ - c o m p d e o 、 p c 叩嘲丘i t c f 0 设置过滤只 接收目标m a c 地址是所选适配 嚣m c 地址以及以太网协议是 b l 协议的数据帧 i 启动线程,接收 数据帧并作出 相应的处理 图2 - 5 衄e 8 0 2 1 x 客户端软件执行流程 图2 - 5 所示的最后一部分:该客户端与认证设备端之问的具体数据帧交互过程 如图2 6 所示: 客户端会提示用户输入用户名、密码。在用户点击“触发认证”后,由于此 时并不清楚认证设备端的m a c 地址,因此客户端软件只能向e e 8 0 2 1 x 定义的 组播地址:0 1 8 0 c 2 0 0 0 0 0 3 发送日心o i ,s l a r t 请求报文。 其后的各个状态按照图2 5 所示的请求回复报文流程图进行填充,需要注意 的是,在进行下一次r c q u 髓帆船p 辩交互时e a p m 值需要在原值基础上加一。 另外,用户的密码信息不能在网络上以明文的方式传送,因此需要进行h 弱h 散列 计算,该计算的参数包括认证设备端发送过来的随机数c h a n c n g c + 本次交互的m 值+ 该用户的密码,计算结果为1 6 位字节的散列值,该散列值不可逆转,通过这 种方式可以防止第三方的监听窃取用户密码。 认证客户端 图2 _ 6 砸隧嬲2 1 x 客户端工作流程图 下面就把设计中的关键代码以及结构体定义做一个简要介绍: 在该设计中e a p o l 报文结构体如下: s t m c te a p o l h d r f u c h 缸d s t m a c 【6 】; 目的m a c 地址 u c h a rs l a c e 6 j ; 源m a c 地址 u s h o np r o t o 击l i ,数据链路层应用协议,这里使用 u c h a r 先r s i o n ;以下字段为b 气p o l 定义的功能字段 u c h a r t y p e ; u s h o n l e n 舀h 1 ; u c h a fc o d e : u c h a ri d : u c h a r l e n 舀h 2 ; u c h a re 印t ”e ; k 对接收到的数据帧进行处理部分相应的流程图表示如下: 1 4 认证设备端 图2 7 也e e 8 0 2 1 x 客户端代码流程图 3 凡气d i u s 协议及服务器设计 3 1 砒姬l i u s 协议

温馨提示

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

评论

0/150

提交评论