已阅读5页,还剩66页未读, 继续免费阅读
(计算机应用技术专业论文)voip系统及其radius服务器的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
v o l p 系统及其r a d i u s 服务器的设讨与实现 摘要 随着叵联网及v o l p 相关技术的发展,通过国际互联网络来传输语音数据包 变得越来越具有可实现性。自从1 9 9 5 年第一个可运行的v o l p 电话系统诞生以来, v o i p 汇以如火如荼的态势向前发展,v o l p 以其绝对的价格优势和业务扩展的灵 活性,萨对传统的公共电话网业务造成巨大的威胁。目前,国际上有两种v o l p 协议,即s i p 协议和h 3 2 3 协议,相比较而言h 3 2 3 协议更适合我国国情的发展。 本文主要讨论的是基于h 3 2 3 协议的v o i p 系统,及其r a d i u s 协议的认证和计 费系统的实现。 在实现我们的v o l p 的a a a 系统的时候,项目组首先详细研究了f r e e r a d i u s 的设计和实现,了解其认证、授权、计费模块的实现,然后根据h 3 2 3 协议以及 网守的结构,讨论r a d i u s 服务器的客户端和服务器部分的实现。 根据r a d i u s 协议,我们实现了p a p 和c h a p 认证,同时根据实际应用中 的安全性考虑,修改了p a p 认证,使之传送经过加密的用户密码,而不是明文 密码。 根据项目的处理要求以及其他些情况的综合考虑,我们采用m y s q l 作为 后台的数据库管理系统,并根据m y s q l 提供的函数接口,实现了服务器的数据 处理模块,同时,我们也根据业务要求,设计了数据库,能够比较好的完成认证 和计费的任务。 测试表明,本r a d i u s 服务器能够和客户端、网守一起协调工作,完成v o l p 的认证和计费功能,同时本系统也有一定的灵活性,能够支持多种业务,有比较 灵活的计费策略。 关键词v o i p r a d i u sh 3 2 3a a a v o l p 系统及其r a d i u s 服务器的设计与实现 a b s t r a c t a c c o m p a n i e d w i t ht h ed e v e l o p m e n to ft h ei n t e r n e ta n d t e c h n o l o g yo fv o l p ( v o i c e v i ai p ) ,t r a n s m i tv o i c ed a t ef r o mi n t e r n e tb u tn o tf r o mp u b l i cs w i t c h e dt e l e p h o n e n e t w o r k ( p s t n ) i s m o r ea n dm o r ef e a s i b l e b e c a u s eo fi t sl o wp r i c ea n da d a p t i v et o c o m m e r c i a l ,i ti sg o i n g t ot h r e a tt h et r a d i t i o n a lt e l e p h o n eo p e r a t i o n i ng e n e r a l ,t h e r e a r et w ot y p e so fp r o t o c o la b o u tv o l p , t h e ya r eh 3 2 3a n ds i p ( s e s s i o ni n i t i a t i o n p r o t o c 0 1 ) a tt h ep r e s e n tt i m e ,t h eh 3 2 3p r o t o c o li s f i tm o r et oo u rc o u n t r y i nt h i s i s s u e ,t h ev o l ps y s t e mw h i c hw ed i s c u s s e di sb a s e do nh ,3 2 3 w ee m p h a s e s o nt h e s y s t e m sa u t h e n t i c a t i o n 、a u t h o r i z e a n da c c o u n t i n g w h e nw ea r eg o i n gt oc a r r yo u to u ra a as y s t e mo fv o l ew er e s e a r c h e dt h e d e s i g n a n d i m p l e m e n t o ff r e e r a d i u sf i r s t a f t e r w eh a df a m i l i a r e dw i t ht h e a r c h i t e c t u r ea n di m p l e m e n to fa u t h e n t i c a t i o n 、a u t h o r i z ea n da c c o u n t i n gm o d u l e s ,w e a l s oa n a l y z e dt h eh 3 2 3p r o t o c o la n dg a t e k e e p e r sa r c h i t e c t u r e ,t h e nw eb e g i nt o t a k eo u tt h ef r a m eo f o u r s e l v e sr a d i u ss e r v e ra n dc l i e n t b a s e do nf r e e r a d i u sa n da c c o r dt or e l a t e dr f co fr a d i u s ,w ei m p l a n tt h e a u t h e n t i c a t i o nt y p eo f p a pa n dc h a p , w ea l s om e n dt h ep a r r e p l a c et h ep l a i nt e x t p a s s w o r dt oe n c r y p t e dp a s s w o r d f o ri ti sn o ts a f ei nn e t w o r ka n db ef e a s i b l et ob eg o t b y o t h e r s t a k ei n t oa c c o u n tc o n d i t i o no fo u rp r o j e c ta n ds o m eo t h e rf a c t o r s ,w ea d o p t e d m y s q l t om m m g e ro u rd a t a b a s e ,b a s e do nt h ea p p l i c a t i o ni n t e r f a c ei tp r o v i d e d ,w e o p e n o u tm ei n t e r f a c et oo u rr a d i u ss e r v e r , i tc a l lr e s o l v eo u ra s s i g n m e n tn i c e w e a l s od e s i g n e do u r s e l v e sd a t a b a s ea c c o u n t i n gt oo u ro p e r a t i o n ,i tc a no p e r a t i o na l li n r i g h t t h el e s ti n d i c a t et h a t0 1 1 1 r a d i u ss e r v e rc a nw o r kw e l l t o g e t h e r w i t h g a t e k e e p e ra n di pp h o n et e r m i n a l ,i tc a no p e r a t ew i t h a u t h e n t i c a t i o na n da c c o u n t i n g n i c e ,a n di tc a ns u p p o r ts e v e r a lo p e r a t i o n ,a n dc a np r o v i d e f l e x i b l ec h a r g e k e y w o r d s :v o l p r a d i u sh 3 2 3a a a i i 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取 得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中 不包含其他人已经发表或撰写过的研究成果,也不包含为获得电子科技大学 或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研 究所做的任何贡献均已在论文中作了明确的说明并表示谢意。 签名: 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘, 允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文的全 部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描 等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名: 日期1 1 年三 日 导师签名: 电子科技大学v o l p 系统及其r a d i u s 服务器的没计与实现 第一章绪言 v o i p ( v o i c eo v e r1 p ) 俗称i p 电话( i n t e m e tp r o t o c o lp h o n e ) ,是利用国际互联 网实现语音通信的一种先进的通信手段,是基于国际互联网的语音传输技术。 它通过电话网关服务器等设备将电话语音数字化,将数据压缩之后打包成数据 包,通过国际互联网传输到目的地,目的地收到这些数据之后,对数据包进行 重组解压缩,然后再还原成语音信号,通过这种方式来实现通话双方的语音交 流,其最大的特点就是不是通过传统的公众电话交换网( p s t n ,p u b l i cs w i t c h e d t e l e p h o n en e t w o r k ) 来传输语音数据,而是通过i p 网络( i n t e m e t i n t r a n e t e x t r a n e t ) 来传输语音数据。 1 1v o i p 的产生背景 1 1 1i n t e r n e t 的发展 v o l p 之所以能构产生,和互联网的飞速发展有密不可分的关系。基于交换 机采用电路交换的公众电话交换网最初是专门为传输语音而设计的,而基于路 由器采用分组交换的i p 网是专为传输数据而设计的,因此通过电话网实现语音 传输是最方便的事情。但是在电话网上打电话,尤其是长途电话,其通话费用 非常高,而如果能够在1 p 网上打电话,利用互联网廉价的上网费和全世界无处 不通的特点来传输数据,那么这种通信方式将具有极大的竞争优势。而且,随 着互联网的飞速发展,已经完全能构在其上传输语音数据。 1 1 2v o i p 的发展 1 9 9 5 年初,以色列v o c a l t e c 公司推出了首个客户端i p 电话软件一“i n t e r n e t p h o n e ”,标志着i p 电话的正式诞生。i n t e m e tp h o n e 客户端软件实现了p c 到p c 的语音通信,它的缺点是只能实现在使用同样软件的其他用户之间实现通信。 1 9 9 6 年底,v o c a l t e l 公司和d i a l o g i c 公司合作,推出了连接i n t e m e t 和p s t n 两 个网络的i p 电话网关( g a t e w a y ) ,使得p c t o p h o n e ,p h o n e t 0 一p c ,以及 p h o n e - - t o - - p h o n e 通过i n t e m e t 实现语音传输成为现实,至此,i p 电话开始进 入商业应用阶段。 纵观i p 电话的发展,迄今大致可以划分为三个阶段: 1 ) 使用p c 多媒体计算机作为通话终端; 2 ) 基于网关,使用普通电话作为通话终端; v o l p 系统及其r a d i u s 服务器的设计与实现 3 ) 在不同i p 电话产品之间实现互连互通。 目前有两种广泛流行的v o l p 协议,一种是基于h3 2 3 标准的i p 电话标准, 一种是基于s i p 协议的i p 电话解决方案。后一种是完全矮f 互联网的i p 电话, 由于比较适合美国目前的电信运营环境,因此在美国发展很快,阿一种由于是 基于传统的p s t n 电话网,能和现有的电信网络很好的对接,本文在后续部分 的设计与实现中,都是介绍的基于h 3 2 3 协议的v o l e 1 1 3 市场动力 i p 电话的崛起,以其巨大的优势,对p s t n ( p u b l i cs w i t c h e dt e l e p h o n e n e t w o r k ) 电话业务构成极大的冲击,其优势不仅在于相对于p s t n 电话低廉的 价格,还在于其未来的发展前景,比如电话会议,视频电话等。因此有专家预 言:在未来1 0 2 0 年内,所有经过美国传统电话网打出的电话都将转向新式的 统一网络,未来的语音和数据通信都将通过一个网络来进行,传统的p s t n 电 话网将逐渐被淘汰。 许多国际电信研究机构对i p p h o n e 市场的发展进行预测。英国电信战略咨 询机构a n a l y s y s 认为:到2 0 0 3 年,i pp h o n e 业务将占国际长话市场的3 6 , 届时i pp h o n e 将对大型的电话公司构成重大威胁。k i l l e n a s s o c i a t e s 也预测: 到2 0 0 5 年,财富杂志前1 0 0 0 家大公司中基于i p 的语音通信将占3 3 。国 外许多公司都提出了自己的i p 电话网络架构,比如c i s c o 公司,i r m o mm e d i a l - - l o g i c 公司,3 c o m 与s i e m e n s 联合方案,西门子和新桥公司联合方案等。就 我国i p p h o n e 现状来看,信息产业部已批准中国电信、中国联通、中国吉通、 中国网通四大i pp h o n e 试验网的开通,使i pp h o n e 真正开始在中国植根生 长,并向规模化的方向发展,这对于每个电信运营商及众多厂商来说,无疑是 一个巨大的市场契机。 目前不管是从技术还是商业应用来说,v o l p 都在逐步走向成熟,随着时间 的发展,v o l p 将展现它越来越大的魅力。 1 2a a a 和r a d i u s 协议概述 a a a 是认证、授权和记帐( a u t h e n t i c a t i o n ,a u t h o r i z a t i o n a n d a c c o u n t i n g ) 的简 称。认证验证这个用户是不是如他所说就是这个用户,以确定是否具访问权限, 授权是决定某用户可以使用那些服务的过程,他在认证通过之后进行,而记帐 则是对该用户使用网络资源的记录。在一个商用的v o l p 系统中,必须要有a a a 服务器,以实现认证、授权和计费的功能。 2 电子科技大学v o l p 系统及其r a d i u s 服务器的殴计与实现 目前比较流行的a a a 系统有r a d i u s 、t a c a c s + ( t e r m i n a la c c e s sc o n t r o l l e r a c c e s sc o n t r o l s y s t e mp l u s ) 等,他们都有各自独特的特点。r a d i u s ( r e m o t e a u t h e n t i c a t o nd i a l i nu s e rs e r v i c e ) 是远程用户拨号系统的简称,主要用于对所 处地域分散,数量大以及上网条件差别不一的串行线用户以及拨号接入的远程 用户的认证,授权和计费的管理。该防议于1 9 9 7 年正式成为r f c 标准,它由 两部分组成即认证部分( r f c 2 1 3 8 ) 和计费部分( r f c 2 1 3 9 ) ,2 0 0 0 年6 月又对协议 作出了一定的补充和改进,分别定为r f c 2 8 6 5 和r f c 2 8 6 6 。 t a c a c s + 是c i s c 0 公司提出的用于其公司路由器和终端服务产品的远程访问 控制协议,具有和r a d i u s 相似的功能。 r a d i u s 协议和t a c a c s + 虽然在功能上有相似之处,但是在实现上还是有 一些差别,主要体现在以下方面: 1 ) r a d i u s 在传输层使用u d p 协议,着使得服务器的实现比较简单,但是u d p 是不可靠协议,因此丢包的情况比较普遍,因此影响了认证和计费的可靠性。 而t a c a c s + 采用t c p 实现客户端和服务器的连接,提高了服务器和客户 端传送认证和计费信息中报文的正确性,但是它也有缺点,就是超时重传的 时间比较长,因此t a c a c s + 的效率相对r a d i u s 来说要低。 2 ) r a d i u s 和t a c a c s + 都是采用m d 5 算法加密,但是r a d i u s 只是对用户 属性加密,而1 1 a c a c s + 是对整个数据包加密,因此t a c a c s + 具有更高 的安全性。 3 ) r a d i u s 具有将服务器作为代理的功能,这一点对于i p 运营商来说十分重 要,而t a c a c s + 没有此功能。 从上面的分析来看,r a d i u s 虽然有一些缺陷,但是其简单高效而且支持漫 游,因此十分适合作为象i p 电话这样的业务使用。我们在设计v o i p 系统的时 候也是采用r a d i u s 作为认证授权和计费系统。 1 3 本文内容介绍 本文课题来源是电子科技大学和深圳新概念股份有限公司的横向课题,本 人在课题中主要负责r a d i u s 服务器的计费和认证部分的设计,同时参与部分 r a d i u s 客户端( n a s ) 的设计与实现,撮后还包括一部分系统测试的工作。 本文具体章节安排如下: 首先是对v o i p 系统的大致介绍( 绪论) ,初步介绍r a d i u s 协议,然后是 对r a d i u s 协议的详细分析和介绍( 第二章) ,接着是对v o l p 系统的整体架构 的详细介绍,其中主要是以基于 l 3 2 3 协议的v 0 i p 的介绍( 第三章) ,本文的第 v o l p 系统及其r a d i u s 服务器的设计与实现 四章是对v o i p 系统的认证授权和计费系统的设计和实现的详细介绍,是 r a d i u s 协议在v o i p 系统中的实现,这一部分也是本人在项目组中的主要工作。 最后是系统测试以及展望。 4 t “r 科技人学 v o l p 系统及其r a d i u s 服务器的设计与实现 第二章r a d i u s 协议简介 r a d i u s ( r e m o t ea u t h e n t i c a t o nd i a l i nu s e rs e r v i c e ) 是远程用户拨号系统 的简称,主要用于对所处地域分散,数量大以及上网条件差别不一的串行线用 户以及拨号接入的远程用户的认证,授权和计费的管理。 r a d i u s 协议设定了网络访问服务器和一个共享的认证服务器之间的通信 的格式,按照这种格式,网络服务器通过共享服务器实现对其接入的用户的认 证,n a s e t w o r ka c c e s ss e r v e r ) 和r a d i u s 服务器根据这个规范,交互他们的 认证,授权和配置消息,r a d i u s 协议还给出了对认证服务器和认证客户端 ( n a s ) 对信息的处理规范。认证服务器通过这些来完成对接入客户的认证, 授权和计费处理。 目前的r a d i u s 已经经过多次修改,最早在1 9 9 7 年1 月由i e t f 发布了由 l i v i n g s t o n ,m e r i t ,d a y d r e a m e r 三家公司起草的r a d i u s 标准r f c 2 0 5 8 以及 r f c 2 5 0 9 ,他们后来被修改为i 球c 2 1 3 8 和r f c 2 1 3 9 。目前最新的版本是2 0 0 0 年6 月发布的r f c 2 8 6 5 以及r f c 2 8 6 6 ,新标准为r a d i u s 的认证和计费分配 的端口为1 8 1 2 和1 8 1 3 。 2 1r a d i u s 协议的主要特点 概括的来说,r a d i u s 的主要特点如下: 1 客户i n 务模式( c l i e n t s e r v e r ) 网络接入服务器( n e t w o r ka c c e s ss e r v e r ) 是作为r a d i u s 的客户端运作 的。这个客户端负责将用户信息传递给指定的r a d i u s 服务器,并负责执行返 回的响应。 r a d i u s 服务器负责接收用户的连接请求,鉴别用户,并为客户端返回所 有为用户提供服务所必须的配置信息。 一个r a d i u s 服务器可以为其他的r a d i u ss e r v e r 或其他种类认证服务器 担当代理。 2 网络安全( n e t w o r ks e c u r i t y ) 客户端和r a d i u s 服务器之间的事务是通过使用一种从来不会在网上传输 的共享机密进行鉴别的。另外,在客户端和r a d i u s 服务器之间的任何用户密 v o l p 系统及其r a d i u s 服务器的设计与实现 码都是被加密后传输的,这是为了避免某些人在不安全的网络上监听获耿用户 密码的可能性。 3 灵活的认证机制( f l e x i b l ea u t h e n t i c a t i o nm e c h a n i s m s l r a d i u s 服务器能支持多种认证用户的方法。当用户提供了用户名和原始密 码后,r a d i u s 服务器可以支持点对点的p a p 认证( p p pp a p ) 、点对点的c h a p 认证( p p pc h a p ) 、u n i x 的登录操作( u n i xl o g i n ) 、和其他认证机制。 4 扩展协议( e x t e n s i b l ep r o t o c 0 1 ) 所有事务由变k 的属性、长度和值,这样的三元组组成。新属性的值可以在不中断己 存在协议执行的前提下自行定义新的属性。 2 2r a d i u s 的典型应用 以下是一个r a d i u s 服务器的典型应用,如图2 - 2 1 所示: 图2 - 2 1r a d i u s 的典型应用 对采用r a d i u s 协议拨号上网的用户进行身份认证、授权、计帐和管理, 在i p 电话系统中,同样可以利用r a d i u s 协议实现用户身份认证授权和计帐和 管理。 2 3r a d i u s 的体系结构介绍 r a d i u s 服务器采用基于u d p 的c s 模式。主要是因为r a d i u s 是一个事 务,具有如下的特点: 1 如果向主验证服务器发出的请求失败,则必须查找备用服务器。 6 u 了科技人学v o l p 系统及其r a d i u s 服务器的设计与实现 为了满足这个要求,考虑到向备用服务器传输请求,请求副本必须保留在 传输层。这意味着重发计时器仍然是需要的。 2 r a d i u s 协议的计时要求与t c p 所提供的有较大的不同。 在一种极端的情况下,r a d i u s 不做丢失数据的响应检查。用户愿意为完 成验证而等几秒钟。通常带有侵略性的t c p 中继( 基于平均往返时间) 是不需要 的,t c p 确认开销也是不需要的。 在另一种极端情况下,用户不愿花几分钟等待验证。因此两分钟后,可靠的 t c p 数据递送也是无效的。对备用服务器快速的使用能在用户放弃之前获得访 问。 3 协议的无状态特性简化了u d p 的使用 服务器和客户机不停变化。系统重新启动,或单路供电。通常情况下,这 不会产生问题,但会导致出现超时和t c p 连接中断检测,通过编写编码能够处 理这类异常事件。无论如何u d p 完全消除了这类特殊处理以及其中的任何一部 分。每一个服务器和客户端只需一次打开他们u d p 传输,尔后可以使传输处 于一种打开的状态,也许在网络上从始至终传输的是不成功信息。 4 u d p 简化了服务器的实现 在最早的r a d i u s 实现中,服务器是单线程的。这意味着只能有一个请求 被接收、处理和返回。随后发现在后台安全机制会占用实时时间( 1 秒或更多) 的环境中这样做是难管理的。服务器的请求队列会被填满,在每分钟内有成百 上千的用户正在等待验证的环境中,请求的轮换时间会长于用户所能忍受的等 待时间,( 尤其严重的是在数据库中的一次特殊的查找,或者花在d n s 上的时 间大于3 0 秒的情况) 。显而易见的解决方法是多线程。用u d p 解决这一问题是 很简单的。每一个请求得到一个单独的进程,通过一个简单的u d p 数据包进行 与客户端原始通信,从而达到与客户端n a s 直接响应的目的。 以下是r a d i u s 服务器与客户端连接示意图,如图2 - 3 2 所示: v o l p 系统及其r a d i u s 服务器的殴计与实现 图2 - 3 1r a d i u s 服务器与客户端的连接 每个r a d i u s 数据包都是封装在u d p 报文中的,格式如下 剀2 - 3 2 r a d i u s 数据包格式 2 4r a d i u s 协议包的格式 2 4 1 包格式介绍 r a d i u s 协议包主要由c o d e 、i d e n t i f i e r 、l e n g t h 、a u t h e n t i c a t i o n 及a t t r i b u t e 几个字段组成,以下是一个标准的r a d i u s 数据包的格式,如图2 - 4 1 所示: 皇王型茎查兰翌堡墨丝垄茎坠型型! 墨笠壁塑壁生兰! 婴 编妈 标识符 王:度 3 l属性 图2 - 4 - i 标准r a d i u s 数据包格式 编码( c o d e ) 编码域占用一位字节,确定r a d i u s 数据包的类型。 r a d i u s 指定了如下编码: 1接入请求( a c c e s s r e q u e s t ) 2接入允许( a c c e s s a c c e p t ) 3接入拒绝( a c c e s s r e j e c t ) 4记账请求( a c c o u n t in g r e q u e s t ) 5记账回应( a c c o u n t i n g r e s p o n s e ) 1 l接入询问( a c c e s s c h a l l e n g e ) 1 2服务器状态( s t a t u ss e r v e r ( e x p e r i m e n t a l ) ) 1 3客户机状态( s t a t u s c l i e n t ( e x p e r i m e n t a l ) ) 2 5 5 保留( r e s e r v e d ) 在接收到一个无效编码域的地数据包后,该数据包只是会被简单的丢弃。 标识符 标识符域占用一个字节,一般来说是一个短期内无法重复的数字,用于比 较请求与回复。如果在一个很短的时间片段里,一个请求有相同的客户源i p 地 址、源u d p 端口号和标识符,r a d i u s 服务器会认为这是上。一个重复的请求a 长度 长度域是两个字节。它指明了包括编码、标识符、长度、鉴别码和属性域 在内的数据包的长度。在数据包长度咀外的字节位必须以填充数对待,在接收 9 电子科技人学v o l p 系统及其r a d i u s 服务器的设计与实现 时忽略它。如果包的长度比指定的短,则此包会被直接丢弃。最小的长度是2 0 , 最大的长度是4 0 9 6 。 鉴别码 鉴别码域是卜六个字节。最重要的字节是被第一个传输的。这个值是被用 于验证来自r a d i u s 服务器的回复和密码隐藏算法。鉴别码有请求鉴别码和相应 鉴别码的区分。 1 请求鉴别码 在接入请求数据包中,鉴别码值是一个十六个字节的随机二进制数,被称 为请求鉴别码。值得注意的是1 ) 在机密的整个生存周期中( 如r a d i u a s 服务 器和客户端共享的机密) ,这个值应该是不可预测的,并且是唯一的,因为具 有相同密码的重复请求值,使黑客有机会用已截取的响应阐复用户。因为同一 机密可以被用在不同地理区域中的服务器的验证中,所以请求认证域应该具有 全球和临时唯一性。2 ) 在请求接入和请求记帐协议包中的请求鉴别码的生成方 式是有区别的。对于请求接入包,请求鉴别码是1 6 个8 位字节的随机数,共享 密钥和请求鉴别码单向m d 5 啥稀算法产生一个1 6 位的摘要值,此值同用户输入 的密码进行异或,异或值放在请求接入数据包中的用户密码属性域中。在接收 的时候,这个过程反过来,从而生成原始的密码。对于记帐请求包,n a s 和r a d i u s 记帐服务器共事一个密钥,请求记帐包中的鉴别码就是对一一个八位的字节流经 过m d 5 加密算法计算出的散列值,该字节流由c o d e + i d e n t i f i e l + l e n g t h + 1 6 个为0 的八位字节+ 请求属性+ 共享密钥所构成。 2 响应鉴别码 接入请求、接入拒绝和接入盘问数据包中鉴别码值叫做响应鉴别码,它包 含了在一串字节流上的计算出的单向m d 5 散列,这些二进制数是由r a d i u s 数掘 包组成,包括编码域,标识符,长度以及来自接入请求数据包的请求鉴别码和 执行共享机密的响应属性。即 r e s p o n s e a u t h = m d 5 ( c o d e + i d + i 。e n g t h + r e q u e s t a i j t h + a l l r i b u t e s + s e c r e t ) 其中”+ ”表示连接。 属性 r a d i u s 属性在请求和回复中携带详细的认证、授权、信息和配置细节, r a d i u s 数据包的长度域指示了属性列表的结束处。 以下是属性的基本格式,如图2 4 1 所示,域的传输是从左向右。 o 屯了科技人学v o l p 系统及其r a d i u s 服务器的设计与实现 幽2 - 4 1 属性域的格式 类型 类型域是一个字节,更新的r a d i u s 类型域值是在最近的“已分配号码 ( a s s i g n e dn u m b e r s ) ”r f c 6 中进行了说明。值1 9 2 - - 2 2 3 为实验用保留,值 2 2 4 2 4 0 为应用细节保留,值2 4 l 一2 5 5 保留,不应该被使用。r a d l u s 服务器 可以忽略不可辨识类型的属性。r a d n j s 客户端可以忽略不可辨识类型的属性。 长度 长度域是个字节,它指定了包括类型、长度和值域在内的属性长度。如 果在接收到的接入请求中属性的长度是无效的,应该发送一个接入拒绝数据包。 如果在接收到的接入允许、接入拒绝和接入盘问中属性的长度是无效的,该数 据包必须处理为接入拒绝,或者直接丢弃。 值 值域可以为零或者多个字节,包括属性的详细信息。值域的格式和长度由 域的类型和长度决定。 应当注意的是,在r a d i u s 协议中没有任何数据类型是以n u l ( 十六进制数 的0 0 ) 结尾。特别是r a d i u s 中文本类型和字符串类型不是以n u l 结尾的。属 性有表明长度的长度域,所以不需要使用终止符。文本包含u t f - 8 编码的 i s 0 1 0 6 4 6 【7 】字符,字符和字符串包含二进制数值。服务器间和服务器与客户机 间必须能处理已嵌入的n u l 。在用c 语言处理字符串时,r a d i u s 应用者应当注 意不可使用s t r c p y ( ) 函数。 值域的格式是扛个数据类型中的一个。注意文本类型是字符串类型的一个 子集。 文本包含u t f 一8 编码的i s 01 0 6 4 6 7 字符的1 到2 5 3 个字节。零长度 文本禁止发送,而是忽略整个属性。 字符串包含二进制数值( 值的范围是从十进制数的0 到十进制数的2 5 5 ) 的1 到2 5 3 个字节。零长度字符串禁止发送,而是忽略整个属性。 地址3 2 位二进制数值,最重要的字节排第一字节。 整数3 2 位无符号的二进制数值,最重要的字节排第一字节。 v o l p 系统及其r a d i u s 服务器的设计与实现 时间3 2 位无符号的二进制数值,最罩要的字节排第字节。 j t c1 9 7 0 年1 月l 同零时零分起。标准属性不使用这个数据类型,这个数据类型在这儿 出现是因为在将来属性中有可能的使用到它。 供应商特性 这个属性和普通的属性格式有些不样,主要应用于允许供应商支持不适 于常规使用的属性扩展。此属性禁止对r a d i u s 仂、议中的操作有影响。服务器不 具备去解释由客户端发送过来的供应商特性信息时,则服务器必须忽略它 以下是具体厂商属性格式的总结,如图2 4 2 所示。域的传输是从左向右。 类犁长度供应商i d 1 供应商t y p e 属性 图2 4 2 供应商属性 其中的类型指定为2 6 ,长度大于或等于7 供应商i d 在网络字节顺序中,高位的字节是0 ,低3 位字节是供应商的( s m ) 网络个人管理器编码 字符串字符串域是一个或多个字节。 以c i s c o 厂商扩展打包属性格式为例,如图2 - 4 3 所示 l类型长度供应商t d l供应商t y p e届性& 度 l属性 图2 4 3c is e o 扩展属性格式 其中t y p e 为2 6 , e n g t h 占一个字节,是整个属性字节数的总和,v e n d o r i d 占四个字节,这里是固定的十进制数9 ,v e n d o r t y p e 占一个字节,对不同的属 r 性有不同的值,v e n d o r l e n g t h 占一个字节,它是v e n d o r t y p e ,v e n d o r l e n g t h 和a t t r i b u t e 三相的字节总和。a t t r i b u t e 是不同的具体的属性的值或者字符 串。 v o l p 系统及其r a d i u s 服务器的设计与实现 2 5r a d i u s 安全处理 2 5 1p a p 和c h a p 认证 前面介绍过, l a d i u s 协议支持多种认证方式,本文介绍其中两种认证方 式,即:p a p 认证和c h a p 认证。 对于p a p 认证,n a s 将用户名和密码作为明文传输给r a d i u s 服务器, r a d i u s 根据用户和密码对用户进行认证,如果认证通过就发送接入允许的包, 如果认证没有通过,就发送接入拒绝包。 对于c h a p 认证,n a s 产生一个1 6 位的随机码传送给用户,用户端得到这 个随机码之后使用自己独有的设备或者软件对传过来的数据进行加密,生成 个响应( r e s p o n s e ) 传给n a s 。这一次,数据包的用户名是一个c h a pi t ) ,密码是 对随机数加密后的数据,n a s 收到这个响应之后,加上原先的1 6 位随机码, 起传送给r a d i u s 服务器。服务器收到这个请求包之后,查询数据库找出匹配 项与认证服务器相比较看数否满足,若不满足,就发接入拒绝包,若满足,则 取出随机数和用户共享的加密密码,对随机数采用同样的加密得出一个数据和 n a s 传送过来的数据相比较,若一致那么认证就通过,否则拒绝接入。 2 5 2 用户密码的处理 在传输时,密码是被隐藏起来的。首先在密码的末尾用n u l l s 代替填补形 成多个十六个字节的二进制数。单向m d 5 散列是通过串字节流计算出的,该 字节流由共享机密和跟随其后的请求鉴别码组成。这个值同密码的第一个1 6 个 字节段相异或,然后将异或结果放在用户密码属性字符串域中的第一组1 6 个字 节中。 如果密码长于1 6 个字节,则第二次单向m d 5 散列对一串字节流进行计算, 该字节流由共享机密和跟随其后的第一次异或结果组成。这个散列结果与密码 的第二组1 6 个字节段相异或,然后将异或结果放在用户密码属性字符串域中的 第二组1 6 个字节段中。 如果需要,这个计算过程可以重复。每一个异或结果被用于和共享机密一 道生成下一个散列,再与下一个密码段相异或,但最大不超过1 2 8 个字节。 其详细的过程如下:调用共享机密s 和伪随机1 2 8 位请求认证鉴别码r a 。 把密码按1 6 个字节为一组划分为p 1 、p 2 等等,在最后一组的结尾处用用n u l 】 v o i p 系统及其r a d i u s 服务器的设计与实现 填充以形成一个完整的1 6 字节组。 b 2 等是我们将用到的中间值。 b 1 = m d 5 ( s + r a ) b 2 = m d 5 ( s + c ( 1 ) ) 调用已加密的数据组c ( 1 ) 、c ( 2 ) 等,b 1 、 c ( 1 ) = d 1 异或b 1 c ( 2 ) = p 2 异或b 2 b i = m d 5 ( s + c ( i 一1 ) )c ( i ) = p i 异或b i 现在密码字符串包含c ( 1 ) + c ( 2 ) + + c ( i ) ,其中“十”表示串联。 在接收时,这个过程被反过来,从而生成原始的密码。 其流程如图2 5 1 所示: ib l = m d 5 ( s + r a )l 1 c i = p 1x o rb l i 臣主口 厂令 ib i = m ) 5 ( s + c i 1 ) i l c i = p nx o rb i l 其中,共享密铡为s ,请求鉴 别码为r a ,用户口令被分为 p l ,p 2 蜃后p n 被填充上空字符 到1 6 个字节。每次异或的结果 为c i ,产生的中间结果数据为 b 1 b 2 b n 等 图2 - 5 1 用户密码处理流程 2 5 3 认证码的处理 r a d i u s 数据包中的认证码主要有两个作用,即数据包的完整性检查和对 客户端的认证,这个是由认证码的产生过程决定的。 由于相应鉴别码产生的时候要加上n a s 和r a d i u s 之间的共享机密,所以 如果这个共享机密不致,那么服务器端产生的认证码和n a s 端传送过来的会 不一致,同时,由于认证码是对整个数据包采用共享机密加密,如果数据包在 网络中传输的时候有数据丢失,那么服务器产生的认证码和n a s 传送过来的也 会不一致,这样就可以完成数据包的完整性检查。 其具体的实现过程如下: 1 4 t u 了科技大学 v o l p 系统及其r a d i u s 服务器的设计与实现 1 n a s 根据定的算法,产生个1 6 个8 位自己的随机二进制数作为请求 鉴别码,这个值在密码的整个生存周期中是不可预测且唯一的。 2 n a s 构造请求接入包,发送给r a d i u s 服务器; 3 r a d i u s 服务器收到n a s 的接入请求之后根据用户名在数据库中查找匹配 项,若找到匹配项,采用与客户端一致的方法崩用户密码以及d 客户端的共事机密进 行加密运算产生认证码。 4 用这个运算产生的数据和n a s 传送过来的认证码进行比较,如果一致那 么认证通过,发送允许接入包,否则发送拒绝接入包。 5 服务器构造响应认证码。 6 服务器根据上两的相应鉴别码加上前面的认证结果构造响应包发送给 n a s 。 7 n a s 收到认证应答包后,根据正在等待响应的请求队列中那个请求,按 照刚接受到的应答包的内容和其请求鉴别码计算一个晌应认证码,和r a d i u s 服 务器发送过来的这个鉴别码相比较。若相等,那么认证通过,建立连接,否则 认证失败。 2 5 4 数据包重传机制 由于r a d i u s 数据包采用u d p 传输,因此丢失数据包的可能性非常大 协议采用多种措施保证数据传输的可靠。 1 ) 不管是认证请求还是计费请求,在一个指定的时间内没有收到回应,会 多次重传,如果超过一定的时间还没有收到响应,那么可以看作主服务器已经 当机。在这样的情况下,n a s 可以选择给一个或者多个备用服务器传送请求, 后备服务器在多次尝试连接主服务器失败后,或在一轮循环方式结束后被选择 连接。 2 ) 为保障计费请求的连接,在计费开始的时候要发送一个计费开始请求包, 一个呼叫结束之后要发送一个计费结束包。在计费开始请求和计费结束请求中 必须包含一个a c c td e l a yt i m e 的属性,记录从开始发送请求到计费请求 发送出去之f b j 的时间间隔,确保计费信息记录的准确。 2 5 5 关于计费请求的几点说明 ( i ) 对于一个认证请求,除非是服务器发现是一个无法识别的n a s 或者 v o l p 系统及其r a d i u s 服务器的设计与实现 是服务器忙
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高校学生学业预警与干预机制
- 房地产项目风险评估与风险控制策略
- 小学数学问题解决策略指导
- 功能点估算理论与实操案例
- 装饰行业标准合同范本与注意事项
- 学习贯彻“实干精神”心得体会范文
- ODM协议签订及质量控制指南
- 城市轨道交通信号系统基础知识试题集
- 仓储搬运作业安全操作规程
- 智能制造车间PLC编程实战指南
- 幼儿乘坐高铁的安全指南
- 《数据中心铅酸蓄电池应用技术规程》
- 电力设备维护作业指导书
- 《数字故事培训》课件
- 中班科学教案可乐加盐
- 1.1 公有制为主体 多种所有制共同发展 课件-高中政治统编版必修二经济与社会
- 2024年新人教版五年级数学上册《教材练习9练习九》教学课件
- 晋升现实表现材料范文四篇
- 综测《中国近代史纲要》1-300 单选题附有答案
- 2024至2030年天津市大健康产业市场运行及投资策略咨询报告
- 【新教材】苏科版(2024)七年级上册数学第1-6章全册教案设计
评论
0/150
提交评论