第一篇:工厂供电系统以升压改造的方式实现节能降耗
工厂供电系统以升压改造的方式实现节能降耗
摘要: 就工厂供电系统以升压改造方式实现节能降耗问题对工厂供电系统的含义进行简单的概述,对工厂供配电系统升压改造的理论基础进行介绍,对升压改造的要点进行阐述,并就升压改造后节能降耗的经济技术效益进行分析。
关键词: 工厂供电系统;升压改造;节能降耗
中图分类号:TM6文献标识码:A文章编号:1671-7597(2011)0620138-01 工厂供电系统的含义概述
通常我们所说的供电系统,就是由电源系统和输配电系统所组成的能够产生电能并供应和输送给用电设备的系统。这里主要所说的是工厂供电系统,我们知道,一般中型工厂的电源进线电压是6-10kV,电能先经高压配电所集中,再由高压配电线路将电能分送到各车间变电所,或由高压配电线路直接供给高压用电设备。车间变电所内装有电力变压器,将6-10kV的高压电降为一般低压用电设备所需的电压,然后由低压配电线路将电能分送给各用电设备使用。这样的一种工厂里面专用的系统就是今天要谈的工厂供电系统。工厂供电系统以升压改造方式节能降耗的的理论依据分析
我们知道,根据能量整体不变性,也是就能量守恒规律来说,在工厂总体的用电负荷不该变的条件下,如果将供电系统的配电电压提高,有P(总功率)=UI可知,通过线路和变压器的电流将会减少。如果通过线路和变压器的电流减小了,则由P(损耗)=I×I×R可知,在线路上电能的损耗也就相应地降低了。下面两个表可以更直观地说明供电系统采取升压改造方式来节能降耗的效果。
表1升压后的降损效果
表2提高运行电压与降低线损的关系(%)
上面,笔者只是给出了两组说明性的数据。但在实际条件下对工厂内部的供电系统进行升压节能改造时,一定要做好改造前的前期摸底及准备工作,根据相应完善的理论依据,认真探讨和分析,仔细考究,使升压改造方案的科学性和实用性得以最大化。这样才能保障对供电系统升压改造的安全有效实现,以真正达到节能降耗的目的。工厂供电系统以升压改造方式实现节能降耗的主要改造要点
一般情况下,工厂供电系统升压改造要分步骤实施,在此,笔者认为可以根据从几步着手对供电系统进行升压节能改造(均以6kV电压升压为10kV为例)。当然,具体到各个工厂,要根据工厂自身的实际情况出发。
1)从电动机的选用上开始。在电动机的选用上,由于国产10kV高压电动机制造技术的逐渐成熟,所以,用10kV电压等级电动机代替原来6kV电压等级,去除10000V/6000V这一中间变压器环节,由总降压变配电所10kV电源母线直接供电是很容易实现的。这样会使线损大大降低,还会使变压器的投资减少。
2)简化电压等级。我们知道,由于历史原因,工厂内部需要变压的次数较多,而且非标准电压等级的线路存在率较高,这些为供电系统升压节能改造创造了很大的空间。假如6kV电动机要升压改造为10kV电压等级,一定要考虑全有关电动机效率与电动机节能的因素,不断对相关的计算数据以及材料设备的选取等要改造因素进行优化。比如,尽量选取新型F级绝缘材料;要增加绕组导线的截面积;要采用优质磁性槽楔等。这样才可以使电动机改压后的额定功率、效率、功率因数、转速及启动性能不变或更优。
3)对工厂内部现有供电设备进行改造,达到升压改造标准,进而降低线损。由于工厂内部供电系统本身的复杂性,一些原有的供电设备已不再适应高电压等级,这就需进行技术改造。比如,迂回配电线路需要改建为直配线路;一些截面积较小的的导线改换成截面积大点的;对一些绝缘破损、泄漏严重的导线给予更换;对变压器分散安装,靠近负荷中心等。在符合升压改造标准下进行技术性改造,以有效地降低线损。工厂供电系统升压改造后节能降耗的效益分析
1)可提高线路供电能力。我们知道,随着工厂自身的发展,其内部供电的也在逐渐扩大,相应的供电负荷也会增加,这就使得线路首端流过更大的负荷电流,使得线路的电能损耗增加,这无形中会使供电成本也就是工厂支出增加。但通过对配电系统进行升压改造后,在导线截面及电流密度相当的情况下,输送同等负荷的电能时,改造后的高压线路的送电距离比低压线路的送电距离要远很多;相同容量的电能输送到相同距离时,高压线路的负载电流比低压线路的负载电流要小很多,相同距离的垫压降也更小,所以整体损耗也就更低。还有,在导线基本一致的情况下,高电压线路可输送的容量比低电压线路要高很多,这在一定程度上会减少中压配电线路的出线数。以上这些足以说明工厂供电系统升压改造后,大大提高了线路供电能力,降低了损耗。
2)提高了电动机效率。通过电动机的线圈制造工艺和新材料的使用,电动机改造后性能稳定,过载能力得到加强,电动机效率得到很大提高。有材料显示,原6kV电动机的效率为92.5%-93%,改造后效率达到了94%。电动机由6kV升压至10kV后,由于省去了变压器,变压器的变损得到了节省。同时,配电系统简捷,减少了维护工作量,使电源线损与变压器损耗大大降低。这些都很大程度上降低能源的消耗,节省了工厂的支出成本。结束语
对于工厂来说,要不断创新模式,及时引进技术,不断完善对配电系统的升压改造,不断强化内部管理,争取做到经济效益与社会效益的双重提高。
参考文献:
[1]陈惠彬,浅谈工厂的电能节约[J].科技资讯,2008(8).[2]荆有艳,工厂供电系统节能方法研究[J].机电信息,2010(12).
第二篇:以股权转让方式实现房地产项目转让协议范文
以股权转让方式实现房地产项目转让
甲方: 公司 地 址:
法定代表人: 职务:董事长 委托代理人: 职务: 乙方: 公司 地 址:
法定代表人: 职务:董事长 委托代理人: 职务:
甲、乙双方本着平等协商、互惠互利的原则,经友好协商,就 XXXX有限公司(以下简称“目标公司”)股权转让事宜达成如下协议,以资共同遵守: 第一条: 转让标的
甲方同意将其持有的目标公司 90%的股权转让给乙方,乙方同意受让该股权。经甲方确认,目标公司拥有的全部合法资产为:
1、土地资产:位于XXXX路,以出让方式取得的总面积xx亩(含征购道路xx亩,净地xx亩)的国有土地一宗,土地用途工业用地,土地使用年限至xx年xx月xx日止。该地块目标公司已于xx年xx月xx日与X市xxx签署了《协议书》,目标公司已向xxx支付了协议书约定的全部款项。国有土地使用权证尚未办理完毕。
2、目标公司名下的其他无形资产和有形资产。(有形资产详见附件一《资产明细表》)
3、本协议签订后,甲方不得对上述资产另行处置。第二条:转让价格
经双方协商确定,股权转让总价款为:人民币xxxx万元(¥xxxx,000元)。第三条:转让条件
1、甲方必须提供其股东会同意甲方转让在目标公司中所持有股权的批准文件和目标公司内部批准股权转让的股东会决议;
2、乙方必须提供其股东会同意乙方受让甲方转让目标公司中所持有股权的批准文件;
3、甲方应提交具有审计资格的会计师事务所对目标公司财务的审计报告;
4、甲方必须确保上述xx亩(含征购道路xx亩)土地在签订协议时未设定抵押担保、未被司法机关或者仲裁机关进行查封、未被政府收回、土地用途不变和可办理立项报建手续;
5、甲方享有和承担股权转让完成前目标公司所有的债权、债务以及担保、抵押等或有负债,并确认本协议第一条所述资产为合法拥有、股权转让完成后(以工商变更登记完成为准)所发生的债权、债务以及担保、抵押等或有负债,均与甲方无关。第四条:付款方式及责任
1、定金的支付及责任
(1)为保证本协议的切实履行,自本协议签署后XXX个工作日内,乙方向甲方支付人民币xx万元(¥xx000元)的履约定金。
(2)在甲方收到乙方交付的履约定金后,甲方立即停止目标公司的一切经营业务,并且在20日内将目标公司公章由双方进行封存(为完成本协议所必须进行的工作除外),同时甲方向乙方出示下列相关证件、文件和资料的原始件,并向乙方提供与原件核对无误的复印件:
A.目标公司名下实有负债及或有负债的明细表(具体指目标公司最近三个月的资产负债表); B.有关目标公司拥有的土地使用权属证明文件,包括但不限于《协议书》、缴费单据; C.目标公司企业法人营业执照正、副本; D.目标公司企业法人代码证正、副本;
E.目标公司最近一次的验资报告、章程及工商登记材料; F.目标公司国税、地税登记证正、副本; G.目标公司完税证明文件。
2、股权转让价款的支付方式及责任:
(一)第一期支付条件及责任
(1)在乙方支付第一期付款前,甲方需完成以下工作:
A.甲方向乙方提供其股东会同意甲方转让在目标公司中所持有股权的股东会决议和目标公司同意股权转让的股东会决议;
B.甲方向乙方提供由甲方委托具有法定审计资格的会计师事务所对目标公司出具的财务审计报告; C.甲方通过会计师事务所在30日内连续三次在《XXX报》刊登目标公司的债权债务申报公告; D.在公告期内,如无任何第三人对目标公司的资产提出合理的书面异议或者无任何债权人申报债权或者任何第三人申报债权后甲方提供了相应的担保或者进行了清偿。
(2)当甲方履行完毕本条第1款、第2款第(一)项第(1)目所规定的义务后15或XXX个工作日内,甲方办理将目标公司90%股权转让给乙方的工商登记变更手续并将目标公司的法人代表按照乙方指定人选予以变更,乙方应当及时出具办理股权变更登记的所有文件及手续,同时甲方会同乙方办理目标公司资产及公司资料(包括但不限于公章、合同章、财务章、工商执照等)移交手续。在甲方满足以上(A.B.C.D)全部条件后并且办理完毕移交手续后,乙方需在股权变更(以工商局核准的登记最终日期为准)的同时向甲方按时、足额地支付人民币XXX万元(¥xx,000元)的股权转让款。
(二)第二期支付条件:
(1)在甲方协助目标公司取得本协议所涉及地块土地使用权证且乙方支付了第一期股权转让款后30个工作日内,乙方向甲方支付剩余的股权转让款人民币玖佰xx万元(¥xx,000元),乙方支付的定金人民币叁佰陆拾万元折抵该部分款项。
(2)乙方须将上述应支付给甲方的定金、股权转让款等款项直接汇入甲方指定或中级法院的帐户:户名 xx公司,帐号:xxxx,开户行:xxx支行。第五条:与股权转让有关的税费承担
甲方、乙方在办理股权转让过程中所发生的税费由甲、乙双方按照法律规定分别承担;与本次股权转让有关的财务审计、债权债务公告等所涉及的费用,由甲方承担;甲方协助乙方办理项目报建等手续所须费用由乙方承担。
第六条:本协议书签订并生效且办理完毕工商股权变更登记手续后,乙方有权进驻本协议所涉及的地块项目,进行前期开发投资准备工作,如土方工程、勘察、立项设计、土地平整、三通工作、以及建设必要的工作用房等工作,甲方应积极配合。第七条:违约责任
1、甲方违约
(1)若甲方未按照本协议第四条确定的内容履行本协议,从违约之日起,甲方按照乙方已付款项以每日万分之五的违约金付给乙方,如果超过30天甲方仍未履行完毕约定事项的,乙方有权解除本协议,甲方必须以乙方支付的定金的双倍返还给乙方。
(2)本协议生效后,若乙方无过错,且排除不可抗力和政府行为的原因外,因甲方原因未能按照本协议将其持有的目标公司90%股权转让给乙方,则视为甲方违约,本协议自动终止,甲方应当向乙方双倍返还定金;并偿付乙方已支付给甲方的全部转让款以及乙方已在目标公司土地上的投资。
2、乙方违约
(1)若乙方不按本协议确定的时间按时、足额地支付股权转让价款,则每逾期一日,乙方按照当期未付款的千分之五的标准向甲方支付违约金;如果超过30天乙方仍未支付完毕当期股权转让金,经甲方催告后,乙方仍未支付完毕当期款项,则甲方有权解除本协议,定金不予返还乙方,乙方应赔偿甲方在办理目标公司股权转让过程中所发生的一切直接和间接费用,且乙方在上述地块上的投资归甲方所有。
(2)本协议生效后,若甲方无过错,且排除不可抗力和政府行为的原因外,因乙方原因未能按照本协议收购甲方持有的目标公司90%股权,则视为乙方违约,定金不再返还乙方,本协议自动终止;同时乙方应支付给甲方因履行本协议所发生的所有直接费用(包括但不限于债权债务公告费、财务审计费等)。协议双方如有上述之外的其他违约行为,守约方有权要求违约方赔偿相应的经济损失。(包括但不限于诉讼费、保全费、差旅费、律师代理费、执行费等)。第八条 特别约定
1、甲方承诺除提供的债务材料外,再无其它债务。对于交接日前漏债、对外担保、隐形债务等一切未提供的已产生和潜在的债务,一律由甲方承担责任,与乙方无关。
2、如目标公司因不可归责于双方的原因导致在本协议生效后6个月内未能办理完毕土地使用权证手续的,双方同意终止本协议,各方依照本协议已经取得的财产和(或)资产应在15个工作日内返还给相对方,双方互不负违约责任。第九条:争议的解决
因执行本协议所发生的或与本协议有关的一切争议、纠纷,各方应协商解决。如协商不能达成一致,各方同意采取下列方式加以解决:
依法直接到铜陵市仲裁委员会进行仲裁。第十条: 生效条款
本协议经双方授权代表签字及盖章并收到乙方交付的履约定金之日起生效。第十一条:其他条款
本协议经双方协商一致可以修改、补充或解除。本协议的任何修改、补充以及附件均构成本协议不可分割的一部分,具有同等效力。
双方确认,本协议系自愿签署,对本协议项下双方的权利义务已经明确。本协议一式四份,协议双方各执两份,具有同等法律效力。甲方:(盖章)公司 授权代表(签名): 乙方:(盖章)公司 授权代表(签名):
缔约日期:二○一二年 月 日
第三篇:农业用水以电折水实现方案
河北省农业用水“以电折水”实现技术方案
(唐山海森电子股份有限公司)
一、“以电折水”方法提出背景
2016年国务院办公厅印发《关于推进农业水价综合改革的意见》(国办发[2016]2号),河北省人民政府办公厅印发《关于推进农业水价改革的实施意见》(冀政办字[2016]51号)均提出农业用水要安装和完善计量设施,按水量收取供水费。河北省水利厅、河北省财政厅、河北省物价局印发《农业水价综合改革及奖补办法(试行)》(冀水财[2016]97号)中提出未安装计量设施的采用“以电折水”的方法计收供水费。在这样的背景下,河北省水利厅印发《河北省农业用水以电折水计量实时细则(试行)》,为全省开展农业用水“以电折水”进行指导。为了更好的完成2020年河北省农业水价综合改革的任务,更科学、精准、经济的实现农业机井“以电折水”提出本方案。
二、“以电折水”系数测定
(一)为了保证“以电折水”的计量精度,在每年春季初始灌溉时由村用水协会在农民灌溉时用便携式水电折算系数测定系统对机井的初始水电系数进行测定,每次测定时长不小于1小时,获得每眼机井的“以电折水”的初始水电系数系数。
(二)便携式水电折算系数测定系统由管段式超声波流量计、电表采集模块、数据传输模块组成。整体为一体化设计,采用轮式小车承载便于移动,由一个入水口和一个出水口构成,便于连接,运行一个小时后即可自动上报水电折算系数给数据中心。
(三)水电折算系数测定工作由用水协会人员在开春农户初始灌溉时测定。县用水协会负责管理和督促村用水协会水电折算系数测定工作,测定结果由县用水协会核准通过后即可执行。
(四)为了修正电网电压波动、地下水位变化、降雨量等要素对初始水电系数的影响,应在每个村建设水电双计量参照井,参照井可以同时计量水量和电量,并计算水电折算系数。用参照井水电系数的变化规律去修正其他单电计量被测井的水电系数。被测井的选取要有代表性,从地下水的开采层位、灌溉工程型式等方面考虑并选取。
三、机井基础信息的采集和记录
对以电折水的机井进行现场调查,现场调查的内容包括①测点基本信息,包括地理位置、坐标、所有权人、主要使用人和点点设备管理人的姓名和联系方式。②机井信息,包含井深、开采层位,井型,静水位,动水位。③灌溉信息,包括灌溉形式、控制面积、主要作物等。④机电设备信息,包括:水泵型号(类型、功率、扬程)、能效系数、变频等信息。同步填写《河北省以电折水机井测量现场记录表》并录入手机APP。
河北省安排布置各县区参照井的选取和初始水电系数的测定工作。各县区根据机井不同的取水水位和不同的灌溉方式选取该县区参照井,进行初始水电系数的测定,组织专家评审后作为该县区标准的水电折算系数变化规律参照井,为实际机井水电系数提供个参考依据。
四、水电折算数据中心的建立
(一)水电折算数据中心采用全省统一建设的方式,由推广中心牵头建设,归推广中心负责管理,可以作为全省农业水价综合改革的中心平台。在考虑安全和经济的前提下,采用目前流行的云端部署模式,各县区采用安全u盾+账号+口令的登陆模式,保证互联网信息安全,数据采用异地实时备份保证数据安全。
(二)数据中心负责所有以电折水机井的基于GIS空间数据库的时空关联基础信息管理,农户基础信息管理,以电折水实时上报信息的收取、存储、折水运算、供水费收取、台账管理等工作。
(三)依据参照井,负责水电折算系数的校正工作,并且保证水电折算系数在县局测定的标准水电折算系数附近,出现大的偏差能及时报警。
(四)负责生产水电折算系数的数据模型,采用大数据分析的方法,根据不断累积的数据进行实时修正数据模型。观察地下水位、降水量等因素对水电折算系数的影响。
(五)将以电折水的数据和拥有计量设施的井的基础数据进行比对校核,及时发现问题报警,及时纠正。
五、以电折水在农业水价改革中的应用。
(一)通过安装智能通讯网关实现电表电量采集,智能通讯网关可以和电力局IC卡电表进行485通讯,采集使用电表的用户号、用电量、使用的时间段等信息,县区政府协调水务局与电力公司结合,获得持卡用户号和名单,就可以实现水权到户;现场为普通电能表时,智能通讯网关通过采集电表脉冲获得用电量,但此时只能水权到井,水价改革针对机井管理者,村民内部采用自治的方式,如果仍要水权到户则需要投入水泵控制电气开关控制回路设备建设投资,与智能通讯网关连接实现IC卡控制或遥控控制。
(二)对压采项目区内已经建设智能井房计量设施的地区采用水电一卡通的模式,自动采用计水收费;对于以电折水模式机井,宜采用控水不控电的思路,我们在机井控制回路中串接控制。只要用户账户有剩余水量,感觉不到通讯网关的存在,只要刷电力IC卡表就可以;一旦剩余水量不够了,则刷电力IC卡不能使用,需要协会授权超额水量。
六、以电折水建设模式
(一)以电折水建设所需要的智能通讯网关和数据中心建设建议引入社会资本方采用BOOT模式进行,授予社会资本方特许运
营权,运营期20年,运营期内由社会资本方和用水协会共同管理,运营期结束后双方协商有偿移交用水协会。
投资构成:由社会资本方一次性投入平台及智能通讯网关的建设数据中心资源及软硬件材料,每眼井投资,包含智能通讯网关及通讯费用2000元,县镇村用水协会平台管理软件50元(成本折算到每眼井),云计算数据中心950元(成本折算到每眼井),合计每眼机井投资3000元;由政府投资的包含一次性每眼井300元的基础信息采集费用,每个村以电折水参照井计量设施(智能井首)每套5000元,便携式以电折水系数测定系统每套5000元。管护期内根据发生分批投入维修用器件,由奖补资金列支。
社会资本方投资收益:对于机井管控面积<=100亩的政府每年给社会资本方每眼井200元系统运行维护费用,由奖补资金列支;对于机井管控面积>100亩的,每方水收取0.01元系统运行维护费用,从奖补资金列支。奖补结束后统一从供水费列支,每方水收取0.01元维护费用。
(二)开始阶段,用水协会管理水平和技术水平较低,社会资本方通过技术培训和管理优化与用水协会一起维护计量设施的良性运行,保证国家投资的微喷灌的顺利投入使用,保证农业水价改革高效顺利完成。
(三)切合国家供给侧改革的发展方向,社会资本方和用水协会共同探索灌溉环节的供给侧改革,发展自动化灌溉,灌溉托
管等先进的灌溉模式。
(四)农民实现更节水的、更自动便捷的灌溉服务,节约种植成本;用水协会实现收益,保证水利工程和自身的良性运行;政府实现了用水数据监管、收取供水费、建立台账、兑现奖补,落地农业水价综合改革。为中国的现代农业发展打下良好基础。
七、农业水价综合改革的问题探讨
(一)供电部门配合。以电折水工作的进行必须获得电力部门的配合。全省机井分四种情况,和效益体现,全面保障农业水价改革落地。
(四)村用水协会和农户奖补资金兑现,将对全省农业水价改革产生拉动作用,获得老百姓和协会的支持,再配合舆论引导,会事半功倍。
(五)各县区计量设施和水价改革平台的售后服务体系建设。重建轻管事目前农业水价综合改革一大问题。社会资本方和用水协会通力合作,保障计量设施和水价改革平台良性运行,同时对协会人员进行传帮带。
郑建光(总经理)***
第四篇:35KVⅠ电月线路改造期间运行方式及应急预案
35kVⅠ电月线路改造期间运行方式
及应急措施
I电月线路原通道改造,施工单位电务厂修饰公司。目前I电月线路改造不需停电部分工作已结束,下步停电工作需12天,为保证改造的有效时间,Ⅰ电月线路在改造期间不再进行停送电操作。
一、停电时间
2012年3月1日7:00-3月12日18:00
二、工作内容
1.组立5#-17#铁塔(共11基);
2.放7#-11#导线及架空地线;
3.拆除5#-17#旧杆导线。
三、改造期间运行方式
Ⅱ电月线路运行经矸石电厂带十二矿6kV北母;Ⅰ月十线带十矿6kV南母经十二南线路带十二矿6kV南母;十二北线路做十二矿紧急备用电源。
四、应急措施及注意事项
1.通知十矿、十二矿做好事故预想及应急措施。尤其十二矿6kV南母是由十矿串供所带,其供电可靠性较矸石电厂直供时有所下降,应做好防范措施。
2.改造期间这种特殊的运行方式,使得十二矿6kV南、北母运行在不同的两个系统中,正常运行时,严禁擅自合十二矿各级联络开关(包括十二60);事故状态下,联络开关的操作依照电调命令。
3.月台、十二矿、十矿运行值班人员加强设备巡视及负荷监控,加强值班力量,管理到位。
4.外线加强对Ⅱ电月线路的巡视,保证线路供电可靠性。
5.Ⅰ电月线路改造期间,每日工作必须履行工作许可、工作终结手续;当天工作结束后,线路必须具备运行条件。
6.恶劣天气,线路改造工作停止,根据实际情况,Ⅰ电月线路充电备用或带负荷运行。
7.电网异常运行,需Ⅰ电月线路带负荷时,施工单位应尽快拆除地线及杂物,清理现场,保证线路最短时间内具备送电条件。
电务厂生产科2012.2.27
第五篇:基于STK方式的移动银行系统的设计与实现
第一章 引言
研究背景和方向
近几年来,随着Internet 的迅猛发展,用户接入网络数不断增加,ISP(Internet Service Provider 服务提供商)对用户接入和计费管理变得日益重要。在其它领域,如IP 电话运营商、大规模防火墙等,对用户接入认证的要求也越来越高,原有的简 单认证方式已经不满足当前需要,迫切需要一种能够完成实时用户接入认证、实时 记账、全局漫游、多种计费方式、支持多种认证安全方式、跨越多平台的用户接入 认证系统。
RADIUS(Remote Authentication Dial-In User Service 用户远程拨号验证服 务)协议[1]作为IETF(Internet Engine Tasks Force 互联网工程任务组)定义的 标准协议已经越来越被大多数ISP、ITSP 和安全系统所认可。RADIUS 协议中所规定 的接入认证(Authentication)、用户授权(Authorization)、记账(Accounting)[2]、漫游(Roaming)和属性(Attribute)扩展方式等解决了众多ISP 所面临的问题,成为今后流行的趋势。
这样,开发符合RADIUS 协议的用户接入认证、授权和记账的软件成为构筑ISP、电信运营商、安全网络系统中的必要部分。现行的RADIUS 开发虽然部分满足了用户 的需求,但存在几个关键问题,如开发者不能利用已有存在的系统,重复劳动,开 发周期长;各种系统实现方式差异很大,不利于维护扩充;软件特定平台,不能跨 越平台使用;对协议包理解方式不同,不能互通漫游等,这样就需要一种全新的开 发方法和框架。
我们分析了国际上流行的各种RADIUS 系统实现,依照最新的协议及讨论草案,结合其它系统的先进优点,设计并实现了一个可扩充的AAA 协议栈软件包。根据这 个软件包,用户可以在协议栈的基础之上,选择自己所需要的运行模块和连接方式,编写符合自己需要的用户回调函数和全局设置接口,就可以完成一个标准的RADIUS 系统。
用户使用本协议栈开发RADIUS 系统时,可以脱离编写协议时的各种繁琐过程,无需考虑协议的语法和数据包的结构,并且使系统所覆盖的协议最多。采用这种方 法开发的RADIUS 系统具有符合国际标准协议、使用简便、开发周期短、系统灵活性 高、易于扩充和与系统间可互通漫游的特点。我们采用这种方法已被开发者实际利 用,产生极大的利用价值,具有很好的发展前景。
在本文中,首先介绍RADIUS 协议及其特性,然后给出所设计协议栈的框架原理 及其实现,协议栈所支持的功能和应用方法,最后给出结论和进一步需要完成的工
一个可扩展的AAA 协议栈 2 作。
相关工作
国际上有一个组织和我们工作类似,项目名称为“Stacks of Internet Telephony” [3],开始时间大约为2000 年6 月。以下是我们所开发的RADIUS 协议栈 和这个项目中的关于RADIUS 的栈的比较: 系统实现和功能 本协议栈 Vovida 项目组 继承系统 Livingston RADIUS Merit AAA 系统框架 进程池 单请求派生进程
验证方式 PAP、CHAP、MS-CHAP PAP、CHAP、MS-CHAP 网管接口函数 支持 不支持
用户数据 本地文件、数据库 只支持本地文件 配置管理 本地文件、数据库 只支持本地文件 日志 按时间递进、数据库 简单文本
其它部分 提供客户端和测试程序 无客户端和测试程序
第二章 RADIUS 相关协议及其特性
RADIUS 系统框架
远程拨号用户鉴别服务RADIUS 是朗讯网际互连系统中的一个基于客户端/服务 员的安全协议。在RFC2138[4]和RFC2139[5]中被IETF 定义为标准协议。用户相关信息 存储于一个中心位置,被称为RADIUS 服务员。RADIUS 客户端与RADIUS 服务员通过 通信来验证用户。服务员返回给客户端关于验证用户的操作权限。虽然RADIUS 这个 名词用来说明客户端与服务员进行通信的网络协议,但它经常被用来说明整个客户 端/服务员系统。如图2-1 所示。
一个可扩展的AAA 协议栈 3 RADIUS客户端RADIUS服务员
认证记账请求 认证记账响应
图 2-1:一个简单的RADIUS 客户端/服务员系统框架
基于 RADIUS 的远程接入环境共包括三个部分:用户、远程接入服务员和
RADIUS 服务员。每个用户是RAS 的一个客户,而每个RAS 是用户的服务员和 RADIUS 服务员的客户。结构如图2-2。
数据库本地RADIUS服务员 远端RADIUS服务员 RAS ISDN RAS MODEMS RAS FIREWALL RAS 需认证端 网络计算机 移动用户 Internet用户 请求接入者 本地认证方法 UNIX password WinNT Domain Text 图 2-2:一个RADIUS 服务员结构说明
RAS 设备将不同连接用户的请求转换为RADIUS 认证请求或记账请求。
RADIUS 服务员可以接收来自不同RAS 设备上的请求信息,并选择预先设定的认证 方法来完成请求,并发送响应给RAS。
处于不同位置的RADIUS 服务员还可以连接在一起,组成一个RADIUS 认证环 境。每个RADIUS 可以将发给自己的请求转发给其它RADIUS 服务员来处理。结构 如图2-3。
一个可扩展的AAA 协议栈 4 RADIUS服务员 负责区域A用户 RADIUS服务员 负责区域B用户 RADIUS服务员 负责区域C用户 区域C RADIUS客户端
图 2-3:多个RADIUS 服务员的认证框架
这样就可以组成一个跨越不同地理位置的分布式认证环境,无论从认证用户数 量上,还是在用户分布上都可以实现透明的集中式管理。
RADIUS 基本功能
RADIUS 是一个在用户网络接入设备(例如拨号服务器)和用户信息存放设备 之间交换信息的标准方法。它有三个基本功能。
验证(Authentication):RADIUS 判别一个用户请求服务是否合法。用户鉴别 信息可以存放在本地users 文件,本地数据库、外部数据库中;也可以通过其它验证 方式进行鉴别如UNIX 口令文件、Windows NT 域数据库等。一个简单的典型例子如 下:
一个拨号用户通过 RADIUS 协议试图接入网络的过程如下:
1、用户拨号进入一个远程接入服务员(MODEM池)并开始一个PPP 会话;
2、远程接入服务员把从 PPP 会话中得到的用户验证信息经过处理,打成 RADIUS 协议请求包,传送给RADIUS 服务员;
3、如果 RADIUS 服务员通过了这个验证,它将发送接受响应给RAS,并附加 上其它信息包括用户建立连接所需要的IP 地址、最大连接时间等等;如果 RADIUS 不能验证这个请求或验证没有通过,它将发送拒绝响应给RAS 以 及错误的原因;
4、使用这些信息,RAS 如果受到接受响应包,则它允许用户开始操作网络,如果拒绝则断掉连接并给出错误信息。
授权(Authorization):RADIUS 协议可以控制用户会话中使用特定的网络设备 服务。在RAS 发送的验证请求信息中,除基本信息外,还可以有用户期望连接类型 等,RADIUS 服务员可以根据请求完成验证。RADIUS 服务员可以将验证通过的其 它参数发送给RAS 以规定用户连接。所有的属性交换由用户配置文件控制。配置文 件中包括两种属性:检查属性和返回属性。检查属性定义了一些连接所需请求。RAS 在向RADIUS 服务员发送验证请求时必须具备这些属性,否则验证不会成功。返回 一个可扩展的AAA 协议栈 5 属性为验证成功后 RADIUS 服务员发送给RAS 的附加信息,例如定义连接的一些参 数。一旦用户通过认证,RADIUS 服务员根据系统预先设置的用户配置文件,附加 用户可以使用的资源能力,如IP 地址、连接协议、连接速率等。通过这种方式,可 以集中管理用户的不同访问能力,比如用户普通电话拨号接入网络时应该获取的速 率和连接方式和通过ISDN 拨入网络的速率和连接方式,以及两种方式的口令可以 是不同的。
记账(Accounting):RADIUS 协议可以记录会话开始记录、会话结束记录。包 括本次连接的用户名、开始连接时间、结束连接时间、用户使用协议、用户使用带 宽、传输数据量、连接断开原因和出错信息等。RADIUS 客户端在连接开始的时候 向RADIUS 服务员发送会话开始记录,在连接结束的时候发送会话结束记录。通常 情况下RADIUS 服务员只记录会话结束记录;对于会话开始记录一般用于用户超时 监测和切断控制。
RADIUS 扩充功能
RADIUS 协议除了基本功能以外,为了适应Internet 的不断扩大,增强了几个功 能:
代理(漫游):为了能够使用户能在异地通过认证使用服务,RADIUS 协议支持 服务员之间转发代理请求和响应。请求和响应的转发根据RADIUS 服务员存放在本 地的proxy 文件或数据库中存放的外部RADIUS 服务员信息进行。如图2-3,当一个 用户在C 地要求使用服务时,C 地RADIUS 服务员首先判断该用户是否是本地用户,如果不是,根据用户特征查找代理表,看是否和用户开户地RADIUS A 有代理关系,如果有那么就转发该请求到A地RADIUS 服务员,A地RADIUS 服务员完成验证后,将响应结果发回C 地RADIUS 服务员,C 地RADIUS 再将结果发回给用户。记账签名和时间戳:记账请求/响应包必须签名。根据包的内容,使用客户端与
服务员之间的共享密钥,通过MD5 算法计算包的摘要,这样保证了记账包不被窃听 者篡改。时间戳也保证了记账记录的唯一性,保证记录的准确性,防止窃听者破环。用户自定义属性:RADIUS 协议除了规定的属性外,用户可以自行添加所需要 的属性。在添加用户自定义属性时,需要注明用户ID 等标志。这样不同运营商之间 除了协议规定的属性外,还可以互通其它属性,交换信息。
地址绑定:RADIUS 协议规定可以将RADIUS 服务员与指定的IP 地址绑定,这 样可以在多宿主主机上使用RADIUS。
RADIUS 配置
RADIUS 配置主要在RADIUS 服务员部分,通过各种配置文件进行。RADIUS 服务
一个可扩展的AAA 协议栈 6 员所需要的配置文件全部放在名为 raddb 的目录下。它的组织形式如下: 图 2-4 RADIUS 目录结构
字典文件 dictionary:RADIUS 服务员使用字典文件来建立检查属性列表和返回 属性列表。字典文件包括可能用到的属性名称、属性号、属性值等。用户文件users:存储用户的配置信息,包括鉴别和授权信息。
客户文件clients:存储RADIUS 所有的本服务员对应的客户端地址及共享密钥。代理文件proxy:存储所有远程RADIUS 服务员的地址和共享密钥等。菜单文件menus:存储各种用户通过认证后可以选择的服务类型。
RADIUS 特性
基于RADIUS 协议的接入认证/计费系统提供以下特性:
客户机/服务员模式:要求对用户进行认证的设备被称为客户端,要求RADIUS 服务员进行服务,而一个RADIUS 服务员也可以是其它服务员的客户端。
安全:在大型网络中,安全信息分散于网络不同设备上。RADIUS 协议可以允许 用户信息保存于一台主机之上,最小化安全漏洞的危险。RADIUS 服务员管理所有鉴 别和接入网络服务的功能。RADIUS 服务员与客户端之间使用共享密钥进行通信。可适应性:RADIUS 软件可以安装在任何通信环境之中。也可以和其它安全系统 和协议融合为一体。对用户可以使用多种验证方法。
可扩展性:所有传输的信息被组织为称为三元组(属性、长度、值)中,新的 属性可以随时添加。
管理简便:RADIUS 服务员将安全信息存储于中心位置,只需要维护这一处信息 即可。对不同厂商的远程接入设备可以按统一的安全模式维护和管理。
广泛的审计能力:RADIUS 提供一种审计跟踪能力,称为RADIUS 记账。收集来 的信息可以用来分析安全效果和计费。
一个可扩展的AAA 协议栈 7 第三章协议栈框架
协议栈包含协议框架
本协议栈所覆盖的协议主要有以下几个。
1、RADIUS 协议:定义于RFC2138 中,是RADIUS 体系的主要部分,主要对验证 和授权、包格式、语法和漫游等进行了规定。
2、RADIUS Accouting 协议:定义于RFC2139 中,主要对记账、记账包格式等 进行了规定。
3、RADIUS Authentication Client MIB:定义于RFC2618[6]中,主要定义了用 户在RADIUS 认证客户端中SNMP 代理需要的管理信息库。
4、RADIUS Authentication Server MIB:定义于RFC2619[7]中,主要定义了用 户在RADIUS 认证服务员中SNMP 代理需要的管理信息库。
5、RADIUS Accounting Client MIB:定义于RFC2620[8]中,主要定义了用户在 RADIUS 记账客户端中SNMP 代理需要的管理信息库。
6、RADIUS Accounting Server MIB:定义于RFC2621[9]中__________,主要定义了用户在
RADIUS 记账服务员中SNMP 代理需要的管理信息库。
本协议栈以TCP/IP 协议为基础,使用UDP 为主要传输手段。协议栈的核心为
RFC2138 和RFC2139 组成的RADIUS 主要系统。RFC2618-RFC2621 主要实现协议栈具 有网络管理功能,示意图如下。协议栈系统软件包
RFC2618 RFC2619 RFC2620 RFC2621 RFC2138 Authentication RFC2139 Accounting UDP IP 框图3-1 协议栈包含的协议
协议栈功能框架
本协议栈的功能框架如图3-2 所示。
一个可扩展的AAA 协议栈 8 AAA协议栈
包处理回调函数、用户全局设置、接口函数 网管模块 端口绑定监听 数据库访问模块 多种验证方式 包加密解密 包接收发送 漫游代理 配置管理
图 3-2 RADIUS 协议栈功能框架 各部分主要功能如下:
配置管理:负责从本地配置文件或数据库中读取系统的参数设置,包括地 址、端口号、认证协议、超时控制时间等。
多种验证方式:负责根据预先配置的方式对请求进行认证,包括PAP、CHAP、MS-CHAP 方式等。
包加密解密:对认证请求包的口令字段进行加密和解密,生成所需的请求 和响应验证字。
包接收发送:接收请求包,并将其组织成结构体形式;把结构体形式的数 据结构打成二进制包。
漫游代理:根据请求包内容,应用设置条件,判断其是否需要代理。如果 需要代理,则处理后转发出去。接收代理响应,并转发给RADIUS 客户端。端口绑定监听:根据配置主机和端口信息,申请socket 并绑定于指定端口。监听来自客户端以及其它RADIUS 服务员的请求和响应。
网管模块:对RADIUS 系统的各个状态和参数进行监控,并在SNMP 代理调 用时将这些参数返回给调用者。
数据库访问模块:在对用户认证和记账时访问用户数据,访问方式可以支 持多种数据库形式。
包处理回调函数、用户全局设置、接口函数:是用户使用本协议栈时需要 编写的代码部分,具体使用方法见第五章。
第四章协议栈实现
开发环境及工具
一个可扩展的AAA 协议栈 9 本协议栈的开发环境有多种,可以是 WinNT,Linux,HP-UX,Solaris 等UNIX 操作系统。如果使用专用数据库的话,还需要在所用操作系统上安装ORACLE 等数据 库服务器及客户端。工具是UNIX 上的C 编译系统或者是WINDOWS 上的VC 编译系统。本协议栈采用标准ANSI C 语言编写,因为C 语言执行速度快,兼容性和跨平台 性好。
系统逻辑流程
使用本协议栈开发的RADIUS 服务员系统在处理请求包时采用的算法如图4-1 所示。
打开预先定义端口或知名端口,申请网络数据报套接字绑定到端 口上,便于以后主动监听。
预先创建若干RADIUS子进程,并建立父子间通信的全双工管道等 待处理主进程发送给它们的处理请求。
主进程读取RADIUS代理表和RADIUS客户端表,以后检验客户端合 法性和查找远端代理地址。
将网络套接字和管道描述符全部放入一个SELECT描述字段中,该 字段中的项对应可以进行I/O的描述符。通过监控这个字段可以获 知那个I/O端口上有数据达到。求出包括网络套接字和父子进程间 管道描述字的最大值。
SELECT监听I/O。一旦数据到达,进行一下处理
如果表中网络套接字有数据发到,则调用处理子程序,该子程序 首先判断该请求的源是否合法,是否需要漫游处理,然后选择预 先分配的一个空闲进程处理请求。
如果管道描述字有数据发到,则表示对应子进程处理请求完毕,子程序恢复空闲状态。
图 4-1 系统网络通信算法
一个可扩展的AAA 协议栈 10 使用本协议栈开发的 RADIUS 服务员系统的系统逻辑流程如下。
初 始 化 配 置(是 否 派 生 子 进 程、字 典 文 件 和 日 志 文 件 路 径、终端参数)
登记各种信号处理例程s i g n a l()读取配置文件r a d c o n f i g _ i n i t(),读入主机地址、端口号、最大请求个数、代理服务超时时间、最大请求超时时间)
读取字典文件d i c t _ i n i t(),将字典内容放入内存组织成为链 表,以后使用
派生后台进程f o r k(),退出当前会话,这样脱离命令行 关闭终端c l o s e(),显示软件版本
打开知名端口o p e n _ u d p s o c k()绑定端口 清空所有网络套接字端口F D _ C L E A R(),准备监听
派生指定个数的子进程c h i l d _ m a k e(),并监控父子进程间通 信的读写管道
申请表空间,调用T U X E D O,读取客户端列表和代理服务员列
表放入内存表中u p d a t e _ c l i e n t s()u p d a t e _ p r o x y()将监控描述符字段清零并置位F D _ Z E R O()循环非阻塞监控以上端口S E L E C T(),根据情况分别执行以下 子程序F D _ I S S E T()认证记账端口请求,调用认证处理r a d _ r e q u e s t()代理认证 记账端口请求,调用代理处理R a d _ p r o x y()子进程发送信号,处理子进程完毕。子进程空闲置位。
图4-2 系统逻辑流程
一个可扩展的AAA 协议栈 11 RADIUS 服务员中采用基于数据报的并发无连接网络通信算法、进程处理采用主 进程循环处理,子进程顺序处理算法。并且为提高效率,采用进程预分配的方法。系统运行时,由空闲子进程组成一个空闲进程池,当有请求时,主进程顺序选 择一个空闲子进程完成请求。子进程完成请求后通知父进程。示意见图4-3。RADIUS主进程 子进程池 空闲子进程
接收新请求的子进程 正在处理请求的子进程 完成子进程通知父亲
图4-3 系统运行时进程关系图
包处理逻辑流程
协议栈中的主进程在处理请求包时所作处理如图4-4 所示。
接 收 数 据 包 到 缓 冲 区 r e c v f r o m()判断包源客户端的合法性
如果是认证包系列用f i n d _ c l i e n t()如果是记账包系列用c a l c _ a c c t r e q()将缓冲区打成请求头结构r a d r e c v()判断是否需要代理h a n d l e _ p r o x y()需要代理,调用代理模块保 存漫游状态p u s h _ p r o x y()发送到远端
s e n d p r o x y 2 s e r v e r()不需要代理,判断是否是重 包
查找空闲子进程
登记包特性到子进程结构中 将请求包放入缓冲区 通过F I F O 发送给子进程
图4-4 主进程处理请求包流程
一个可扩展的AAA 协议栈 12 协议栈中对于代理漫游包的处理如图 4-5 所示。
接收数据包到缓冲区recvfrom()判断包源服务员的合法性find_server()将缓冲区打成请求头结构radrecv()找出包对应的描述符
查找发送时记的请求头pop_proxy()转发响应给最初的客户端sendproxy2client()图 4-5 漫游请求包流程
协议栈中子进程处理请求包的流程图如图 4-6 所示。
循环等待父进程发送处理消息read()将接收到的缓冲区打成请求头结构radrecv()根据不同请求包类型,调用用户自定义回调函数响应模块 如认证处理rad_authenticate()等 处理完毕,返回继续等待下一个请求
图 4-6 子进程处理请求包流程
从图中可以看出,协议栈的用户只需要编写用户处理请求包的回调函数,对于 其它过程则可以不用关心。
测试环境和方法
一个可扩展的AAA 协议栈 13 本协议栈的测试环境可以象开发环境一样,有多种组合。下面选取其中一种,以协议栈为基础的RADIUS 系统,如图4-7 所示。本地RADIUS服务员 ORACLE 数据库
远端RADIUS服务员 RADIUS 客户端 测试程序
图 4-7 协议栈测试环境
其中本地 RADIUS 服务员接收发自RADIUS 客户端的请求,ORACLE 数据库作为存 储用户数据和配置信息的服务器。远程RADIUS 服务员接收漫游用户的认证请求。测 试程序负责产生测试呼叫。
测试分为两个部分:功能测试和性能测试。功能测试包括对RADIUS 服务员中是 否满足RFC2138 和RFC2139 中规定功能的测试;性能测试包括在大并发用户量下系 统的响应时间和正确率。需要编写一个能完成测试要求的测试程序。此测试程序运 行于RADIUS 客户端,通过进程间通信模仿调用方程序。测试前还要编写一个模拟数 据生成程序,它负责从数据库中抽取数据,模仿呼叫数据。
接口回调函数
开发者通过回调函数来使用本协议栈,在请求包处理回调函数中,开发者可以 使用协议栈提供的各种实用函数,包括属性提取函数、加密解密函数、包发送接收 函数、打包函数和访问数据库函数。一个典型的回调函数例子的流程图如下。
一个可扩展的AAA 协议栈 14 判断用户名长度是否合法 判断是否有属性getattribute()抽取SESSION_INDEX属性放入响应链表中抽取相应请求属性 getattribute()应用客户端口令解密请求口令decrypt_password()调TUXEDO访问数据库取口令get_password()判断为正确,并发送响应send_accept()判断为错误,并发送响应send_reject()图 4-8 典型回调函数流程图
第五章协议栈功能特点
协议实现全、互通性较高:本协议栈基本全部实现了IETF 中关于RADIUS 的相 关协议。由于本协议栈完全遵守IEFT 的关于RADIUS 的各个协议,所以在以本协议 栈为基础开发的RADIUS 系统可以完全实现互通,在和其它标准RADIUS 系统也可以 实现较大程度上的互通。
多种验证类型:在验证过程中,RAS 和RADIUS 服务员传送口令信息,这个口令 信息通过RAS 和RADIUS 服务员之间的共享密钥加密。口令信息源于用户输入,根据 用户选择可以有以下三种:
1、PAP(Password Authentication Protocol 口令验 证协议)非常简单,用户发送口令给RADIUS 服务员,RADIUS 服务员通过数据库或 操作系统来验证。用户发送口令给RAS 的过程中,口令以明文方式传送。RAS 传送 口令给RADIUS 的过程中,使用共享密钥加密。最后RADIUS 服务员以口令明文的方 式进行验证。
2、CHAP(Challenge Handshake Authentication Protocol 挑战握 手验证协议)避免在任何通信连接中使用口令明文。在CHAP 中,RAS 首先生成一个 随机数(称为挑战)并发送给用户,用户的PPP 端生成一个由口令和挑战组成的单 向摘要并发送给RAS,由于摘要是单向加密,RADIUS 服务员不能从摘要中恢复口令,所以它使用本地数据库中存储的用户口令用同样方法计算出摘要和接收的摘要比 较,如果相同则验证通过。
3、MS-CHAP(Microsoft Challenge Handshake 一个可扩展的AAA 协议栈 15 Authentication Protocol 微软挑战握手验证协议)是微软提出的类似于CHAP 而 整合入微软操作系统中的验证方法,它可以在操作系统之上采用不同级别:本地 用户、域用户、域组、主机用户、主机组合外部数据库等来验证用户。
二次开发工作量少,容易扩充:由于协议栈已经完成了开发RADIUS 系统所需的 大部分工作,用户只需要开发少量的回调函数,完成自己的特定需要,所以可以快 速开发。由于协议栈的实现是基于协议的包处理过程,所以用户可以根据协议的变 化和需求的变更,不断改进实现,而不需要太多工作量。
运行稳定:由于协议栈采用进程池的方式实现,所占用的内存一定,系统开销
最小。所以不会大量占用系统资源(CPU 处理时间和内存),不会出现因请求数量变 化而使系统资源的占用发生颠簸。更不会出现内存泄漏等错误。
性能:由于我们对协议栈的实现做到精益求精,采用高效的实现方法,优化代
码的设计,所以使用本协议栈开发的RADIUS 系统在同档次的服务器上运行效率比其 它系统要高。一般来说,在主频为300MHz 的主机上,其它系统可以实现500 个/秒 的认证速度,而使用本协议栈开发的RADIUS 系统可以实现1000 个每秒。
多种用户验证手段:本协议栈有多个模块支持多种数据库访问方式,用户数据 可以存放在以下几个形式中,文本文件、UNIX DBM、MYSQL、ORACLE、MS-SQL 等。多种日志方法:详细错误信息输出到本地日志、系统日志、数据库中。可以帮 助管理员和开发人员迅速找到错误原因,实时掌握系统状态。
跨平台运行:本协议栈可以运行在多个平台之上。由于是基于进程实现,所以
不会因为各个操作系统对线程实现不同而引发差异。本协议栈在 HP-UX 1 1.00、IBM RS6000 AIX 4.2、Redhat Linux 5.2、Slackware Linux 2.0.30、Solaris 2.7.1、Solaris x86 2.7.1、SunOS 4.1.3、WindowsNT/2000 上测试成功。
第六章 协议栈应用方法
本协议栈的应用可以分为以下几个步骤:
1、了解RADIUS 协议概况:开发者必须对RFC2138、RFC2139 有所了解,虽 然不用了解包的发送和接收、加密解密细节,但对协议的使用步骤和包 的格式定义必须了解。
2、了解协议栈和实用函数:开发者必须掌握本协议栈的逻辑流程,了解函 数的定义和调用的顺序。
3、编写用户回调接口函数:根据自定义的不同需要,对每个类型的请求进 行处理。
4、连接编译整个协议栈:选择不同运行模块,包括不同的验证方式、访问 数据库的类型等,在操作系统上运行编译器。
一个可扩展的AAA 协议栈 16
5、配置RADIUS 系统:在系统运行之前,需要根据不同的系统组成部分,选择适当方式来配置系统,例如:主机地址、端口、代理员的列表、客 户端的列表等。
在使用本协议栈时应注意以下几个问题:
1、字典文件和属性的定义:由于不同厂商对属性和属性值的定义值不同,所 以应注意区别,防止属性数据类型不匹配。
2、确定操作系统参数如最大打开文件数、信号灯数等符合需要。
3、尽量在用户回调函数中使用静态内存,防止动态内存使用不慎而引起的内 存泄漏和系统崩溃。
4、根据不同需要,连接不同模块,防止占用系统过多。
5、减少用户处理执行时间,以利于系统整体的运行性能。
第七章 结论
协议栈实现系统与相关系统比较
采用本协议栈编写的AAA 系统与其它典型RADIUS 实现系统比较如下表: 系统 本实现 Livingston[1] Merit[10] Ascend[11] Freeradius[12] 协议实现 全部 全部 全部 全部 全部 认证方式 一般 一般 一般 一般 多 功能 多 一般 一般 一般 多 兼容性 一般 好 一般 一般 一般 性能 好 一般 一般 一般 好 扩展性 好 一般 一般 一般 好 测试工具 全面 简单 简单 简单 简单
结论
由于Internet 不断发展,用户的接入越来越为人们关注。而防火墙和VPN 中的 不断使用,使RADIUS 协议也日益成为工业事实标准。
随着网络协议不断增多,使用协议栈来开发网络通信程序是近年来流行的趋势。开发一个可供快速组建RADIUS 系统的协议栈是一个必不可少的基础工具。
一个可扩展的AAA 协议栈 17 本文通过集成关于 RADIUS 的若干协议,实现一个AAA 协议栈,使得开发基于 RADIUS 协议的安全认证系统变得更加容易。
通过测试,本协议栈在同等环境条件下,系统的功能和性能达到相近系统的前 列。
不足之处和进一步的工作
虽然我们做了大量工作,但在以下几个方面还存在着不足:
1、对不同系统的各种属性的处理还不够全面。
2、认证中的验证类型还需扩充。
3、与其它安全认证系统的互通性有待提高。今后进一步的工作是:
1、实现最新的RADIUS 协议RFC2865[13]、RFC2866[14]。
2、改进协议栈,使之能运行于集群之上,提高系统性能。
3、对数据库的访问中增加LDAP(轻型目录访问协议)的支持。
4、加入负载平衡算法,使系统不同进程能发挥更大效率。
5、增强与其它RADIUS 系统的互通性。
6、支持TACACS+协议[15],TACACS 终端访问控制器接入控制系统协议。定义于 RFC1492 中。TACACS+增强型。类似于RADIUS 的AAA 协议,与RADIUS 不同 之处在于:传输协议使用TCP 而不是UDP。RADIUS 只加密口令字段,而 TACACS+加密整个包净荷。TACACS+允许验证和授权分离,而RADIUS 中验证 和授权是集成的。
7、支持Diameter 协议[16]。IETF 着眼的下一代AAA 协议。一个全新轻量级的,基于端点的。提供可扩展的基础来引进新策略和AAA 服务。继承RADIUS 的 机能。突破RADIUS 协议限制,允许服务员向客户端发送统一消息。使用重 传和失败恢复算法。提供端到端的安全机制。支持漫游和移动IP 网络。
参考文献
[1].Lucent, “Remote Authentication Dial-In User Service”, http://.charters/aaa-charter.html.[3].“Stacks of Internet Telephony”, http://www.xiexiebang.com, 2000 [4].C.Rigney, A.Rubens, W.Simpson, and S.Willens, “Remote Authentication Dial In User Service”, IETF Network Working Group, April 1997.RFC2138.[5].C.Rigney, “RADIUS Accounting”, IETF Network Working Group, April 1997.RFC2139.[6].B.Aboba, G.Zorn “RADIUS Authentication Client MIB”, IETF Network Working Group, June 1999.RFC2618.[7].B.Aboba, G.Zorn “RADIUS Authentication Server MIB”, IETF Network Working Group, June 1999.RFC2619.[8].B.Aboba, G.Zorn “ RADIUS Accounting Client MIB”, IETF Network Working Group, June 1999.RFC2620.[9].B.Aboba, G.Zorn “ RADIUS Accounting Server MIB”, IETF Network Working Group, June 1999.RFC2621.[10].University of Michigan and Merit Network, Inc.“Merit AAA Server”, 1992 [11].Ascend Communications, Inc.“Ascend RADIUS”, 1996 [12].“Free RADIUS Project”, http://www.xiexiebang.com, 2000 [13].C.Rigney, A.Rubens, W.Simpson, and S.Willens, “Remote Authentication Dial In User Service”, IETF Network Working Group, June 2000.RFC2865.[14].C.Rigney, “RADIUS Accounting”, IETF Network Working Group, June 2000.RFC2866.[15].C.Finseth, “An Access Control Protocol, Sometimes Called TACACS,” IETF RFC 1492, July 1993;available at ftp://ftp.isi.edu/in-notes/rfc1492.txt.[16].P.R.Calhoun, A.C.Rubens, and H.Akhtar, “Diameter Base Protocol,” IETF AAA Working Group, Internet draft, Oct.1999, work in progress.一个可扩展的AAA 协议栈 19 致谢
在此,首先向我的导师鞠九滨教授表示深深的谢意!从本科论文开始,鞠九滨 教授以他严谨的治学态度、渊博的学识、敏锐的思维和孜孜不倦的工作作风对我进 行了悉心的教诲,使我受益终生。
同时还要向李春阳高级工程师表示感谢,李老师一丝不苟的工作作风非常值得 我的学习。
向师兄张钶、张猛表示衷心的感谢。他们在科研上帮我攻克难关,给了我许多 无私的关心和帮助。
感谢研究小组成员刘静、张广艳、于海超,是他们使我在团结协作中不断成长。特别感谢于秀峰老师、胡成全老师、胡亮老师和房至一老师对我的帮助。
一个可扩展的AAA 协议栈 20 论文摘要 认证(Authentication)、授权(Authorization)、记账(Accounting)是网络接入 的三个重要需求。满足这些要求的RADIUS(Remote Authentication Dial-In User Service 用户远程拨号验证服务)协议作为IETF(Internet Engine Tasks Force 互联网工程任务组)定义的标准协议已经越来越被大多数ISP、ITSP 和安全系统所 认可。
这样,开发符合RADIUS 协议的用户接入认证、授权和记账的软件成为构筑ISP、电信运营商、安全网络系统中的必要部分。现行的RADIUS 开发虽然部分满足了用户 的需求,但存在几个关键问题,如开发者不能利用已有存在的系统,重复劳动,开 发周期长;各种系统实现方式差异很大,不利于维护扩充;软件特定平台,不能跨 越平台使用;对协议包理解方式不同,不能互通漫游。
作为一个可扩充的AAA 协议栈软件包,用户可以在AAA 协议栈的基础之上,选 择自己所需要的运行模块和连接方式,编写符合自己需要的用户回调函数和全局设 置接口,就可以完成一个标准的RADIUS 系统。用户使用本协议栈开发AAA 系统时,可以脱离编写协议时的各种繁琐过程,无需考虑协议的语法和数据包的结构,并且 使系统所覆盖的协议最多。采用这种方法开发的RADIUS 系统具有符合国际标准协 议、使用简便、开发周期短、系统灵活性高、易于扩充和与系统间可互通漫游的特 点。
一个可扩展的AAA 协议栈 21 Abstract Authentication, Authorization and Accounting are three crucial requirements for network access.To meet those requirements, RADIUS is introduced.As a standard protocol specified by IETF(Internet Engine Tasks Force), RADIUS(Remote Authentication Dial-In User Service)is widely accepted by most ISP, ITSP and security systems.Hence, developing RADIUS-compliant software for user access Authentication, Authorization and Accounting becomes a must-solve problem for constructing ISP, telecommunication commerce and secured network system.Though the present RADIUS development techniques satisfy the user demand to some extent, there still exist several critical undesired points, such as impossibility to reuse some existing systems, recursive labor, too long developing life cycle.Additionally, the difficulty in system maintenances and expansion due to the big difference in system implementation, software platform dependence, as well as inconvenience for inter-roaming because of various interpretation for a protocol packet.Our package is an extendable AAA protocol stack package, on which users could select their own modules and linking approaches, write their own user-defined routines and global configuration interface, thus finish a well-defined RADIUS system on the fly.Using our protocol stack package, users are able to get rid of the tedious processes of writing protocols, without considering protocol syntax or the frame structure of the packet, and are even able to cover more underlying protocols.The systems built by the means of this will have superior features such as complying with international standard, simpler manipulation, shorter developing life cycle, higher system flexibility, easier extendibility and facilitating system inter-roaming.__