下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、网络应用系统统一口令认证的研究与实现 刘启新,蒋东兴,石碞,沈锡臣(清华大学计算机与信息管理中心,北京,100084)摘 要:随着网络的发展,网络应用系统不断增加,迫切要求能够提供一个安全、可靠、高效的口令认证系统。本文研究了认证系统的需求,提出了一套安全、可靠、高效的口令认证算法,并着重介绍了统一口令认证系统的设计与实现的关键技术。关键词:口令;认证;认证服务器;Kerberos;RADIUS中图分类号:TP3091The Research and Design of Universal Authentication System Liu Qixin,Jiang Dong
2、xing,Shi Yan,Shen Xichen(Tsinghua Univ. Computer and Information Management Center, Beijing, 100084)【Abstract】With the development of Internet, network applications increasing daily, which strongly demands a more securely, reliable and efficient Password Based Authentication System. In this paper, w
3、e study the requirement of the authentication system and bring out a securely, reliable and efficient password based authentication algorithm, and emphasizes the design and key technology of the authentication system.【Key words】Password; Authentication; Authentication Server; Kerberos; RADIUS 1
4、 引言自“211”工程建设以来,清华大学在校园网络环境下已建立了多个信息系统,为学校领导、各部门及全校教师、学生提供多种服务。如综合信息服务系统、综合教务管理系统、选课系统、办公自动化系统、网上学术沙龙、清华网络学堂等。今后还会不断增加新的应用系统,用户数量也会不断增加,这样就带来了信息安全方面的两个问题,一是上网的信息资源越多,受黑客攻击的可能性越大(尤其是一些敏感数据),二是众多用户面对多个系统要重复输入帐号、口令等信息,不仅烦琐,更重要的是容易出现口令丢失,一旦口令泄漏不仅会造成不可估量的损失。因此,信息系统急需有一个统一的、具有较高安全控制的身份验证系统,以保证数据安全和用户操作方便。
5、开发本系统的目的就是要解决不同的网络应用系统用户名和口令不统一的问题,期望提供一种方便、安全的口令认证方法,让用户只要一套用户名和口令就可以使用校园网络上他有权使用的所有应用系统。2 常用的认证技术对于一些计算机资源,只有经过授权的合法用户才能访问,而如何正确鉴别用户的真实身份是问题的关键。用户认证,也称为用户鉴别,就是用户向服务系统以一种安全的方式提交自己的身份证明,由服务系统确认用户的身份是否真实。一般而言,认证的机制分为两类:简单认证机制和强认证机制。简单的认证中只有名字和口令被服务系统所接受。由于明文的密码在网上传输极容易被窃听截取,一般的解决办法是使用一次性口令(OTP,One-Ti
6、me Password)机制。这种机制的最大优势是无须在网上传输用户的真实口令,并且由于具有一次性的特点,可以有效防止重放攻击(Replay Attack)。根据一次性口令生成机制的不同,通常OTP可分为:Time Synchronization的Secure ID(安全标志符),Challenge-Response的Crypto Card(密码卡)和增强的S/Key(安全密钥)等。RADIUS协议就是属于这种类型的认证协议。强认证机制一般将运用多种加密手段来保护认证过程中相互交换的信息,其中,Kerberos协议是此类认证协议中比较完善、较具优势的协议,得到了广泛的应用。Kerberos协议
7、的基础是基于信任第三方,用户需要向服务系统提供身份证明时,首先需要向认证服务器(AS,Authentication Server)验证自己身份,通过后用户将会获得一张票据(Ticket),并提交给票据许可服务器(TGS,Ticket Granting Server)确认有效,并经过服务器和客户之间的相互认证后,才可以使用服务系统提供的服务。Kerberos协议具有以下的一些优势:(1) (1) 与授权机制相结合;(2) (2) 实现了一次性签放的机制,并且签放的票据都有一个有效期;(3) (3) 支持双向的身份认证,既服务器可以通过身份认证确认客户方的身份,
8、而客户如果需要也可以反向认证服务方的身份;(4) (4) 支持分布式网络环境下的认证机制,通过交换“跨域密钥”来实现。Kerberos机制的实现要求一个时钟基本同步的环境,这样需要引入时间同步机制,并且该机制也需要考虑安全性,否则攻击者可以通过调节某主机的时间实施重放攻击。3 统一口令认证系统的设计校园网络上的应用系统主要都是基于口令认证,为了提高这些口令认证系统的安全性,并实现不同的应用系统间的口令的统一,设计了本统一口令认证系统。系统设计的功能和特性主要有:(1) 基于简单认证机制中的口令认证机制,以用户名和密码为确认用户身份的标志;(2) 有完善的认证接口,让多种应用系统可以
9、方便地通过接口使用本认证系统统一认证用户的身份;(3) 用户密码在系统中加密存放,且不可逆;在认证过程中,明文密码绝不能在网络上传输,防止窃听导致泄密,保证用户密码的安全;(4) 可以实现认证客户端和认证服务器的双向认证,确保认证双方的身份;(5) 能够抵抗重放攻击,既防止攻击者使用窃听到的过时的认证数据包再次获得认证而冒充合法用户的身份;(6) 支持分布式认证的方式。统一口令认证系统主要包含三大部分:统一口令认证服务器、网络应用口令认证模块(包括Web口令认证模块、主机口令认证模块、Notes口令认证模块等)和用户信息数据库。用户信息数据库存放系统的相关用户信息,包括:用户名、单向加密后的用
10、户密码、用户的权限信息、用户有效期以及用户附加信息等。统一口令认证服务器通过本系统中定义的安全认证通道接收认证客户的认证请求,并根据数据库中的用户相关信息确认用户的身份,再次通过安全认证通道返回认证成功或认证失败的信息。应用服务器(例如:Web服务器、主机服务器、Notes服务器等)既作为相对用户而言的服务器,又作为统一口令认证系统的客户。它们首先通过安全传输通道(如:SSL通道)获取用户提交的用户名和密码,然后通过口令认证系统提供的统一口令认证模块经由安全认证通道向口令认证服务器提交认证请求,并获得认证结果(成功或失败),最终确定是否给该用户提供服务。4 关键技术4.1 认证算法考虑到系统的
11、安全和高效,要求设计的认证算法亦是安全、高效。安全主要有三方面:(1) 在认证过程中传输的数据不怕被窃听,通过对传输的数据进行加密实现;(2) 传输中的数据可以防止被篡改,通过对传输的数据进行数字签名实现;(3) 可以抵抗重放攻击,方法是在认证数据包中打时戳,或在认证过程中使用Challenge-Response方法实现。采用时戳需要各系统实现时间同步,增加了系统的不安全性,故一般实现多采用Challenge-Response方法。认证算法采用类似RADIUS协议的算法,其流程如下:C:Client,认证客户,一般为应用服务器; S:Server,统一口令认证服务器;K:C和S之间的
12、共享秘密,即待认证用户的单向加密后的密码;N:待认证用户的用户名;R:S产生的随机数;HM:对消息M做单向Hash消息摘要运算,常用的算法为MD5算法;CKM:以密钥K使用对称加密算法对消息M进行对称加密,常用的算法为DES或RC4算法;r:认证的结果,成功或失败;1. 1. C=>S:N,HN+K+02. 2. S=>C:CKR,HN+CKR+K+R3. 3. C=>S:N,CKR,K,HN+CKR,K+K+R4. 4. S=>C:CKr,R,HN+CKr+K+R 在认证的每一个步骤中,无论客户端还是服务器端,都要求对数据包中的H域做校验。由于H域中包含了C
13、和S之间的共享秘密,所以对于不知道此秘密的攻击者而言,是无法伪造合法的数据包的,也由此双向证实了C或S的身份。认证的过程分为预请求和正式请求两部分,其中预请求是C向S获取随机数R的过程,在正式的认证请求中C必须向S提交此凭据。由于R对于每次认证请求都不同,且在S端有记录,攻击者即使窃听到了一个成功的认证请求包,在下次使用时却失效了,所以可以很好得防止重放攻击。4.2 数据库中用户权限管理在实际应用中,口令认证可以对多个应用系统进行用户的认证,而这些系统可能分属于多个不同的部门,而每个部分可能都有增加新用户和注销已存在用户的需求,这样就要求经过统一认证后,还需要能够灵活处理用户的权限问题,防止不
14、同部门之间的用户未经授权而闯入其他部分的系统中。因此,在用户权限设置上采取掩码的形式,每个部门都可以自由处理自己掩码下的用户权限,而不会影响其它部门的用户权限。通过这样处理,可以比较灵活地把用户管理的工作分散到各个部门中去。4.3 性能问题用户认证是各个应用系统的门户,每个用户进入到系统中都需要经过认证这一步骤。因此,口令认证服务器的性能问题将极大影响各个应用系统的可用性。为了消除认证的性能瓶颈,提高系统的认证响应速度,在系统设计时做了如下的考虑:(1) 采用高性能的服务器,连接到高速网络上,避免网络拥塞;(2) 认证协议采用类似于RADIUS协议的方式,通讯数据包使用UDP数据包。使用UDP
15、方式有许多优势:系统是请求-应答方式,使用UDP可以大大简化服务器的处理流程,减少系统资源的消耗,提高系统的响应速度;无连接的UDP通讯方式,更适合于多认证服务器做分布式处理;(3) 在服务器上对数据库中的用户信息做缓存,并在服务器轻载的时候与数据库进行同步。这样可以减少连接数据库时的资源消耗,能较大幅度提高系统的处理速度;(4) 如果单台服务器负载过重,无法处理所有的认证请求时,可以很方便增加新的服务器作并行分布式认证请求处理。实践证明,经过优化后的口令认证服务器完全可以满足多应用系统的认证请求。5. 结束语笔者设计的网络应用系统统一口令认证系统是为了解决多应用系统之间用户和口令不统一、用户
16、使用不方便的问题,提出了一种安全、可靠、高效的口令认证算法,对优化系统性能、提高系统响应速度做了一定的探索。现在系统编码已经部分完成,已经在清华大学学生宿舍网计费系统和一些Web应用系统上得到了应用。另外一些认证接口(Notes等)还在研究阶段。该系统的使用,不仅提高了许多应用系统的安全性、可靠性,也给用户提供了极大的方便,方便了各系统的维护,具有很好的社会效益和经济效益。 参考文献1 1 Kohl J, Neuman C. “The Kerberos Authentication Ser
17、vice(V5)”. RFC1510. 1993-092 2 C. Rigney Livingston. “Remote Authentication Dial In User Service (RADIUS)”. RFC2138. April 19973 3 C. Rigney Livingston. “RADIUS Accounting”. RFC2139. April 19974 4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 横纹肌溶解综合征规范化认知与临床诊疗
- 英语口语考试必知题目与巧妙答案
- 考研体育复试试题及参考答案
- 桓温北伐燕国题目答案与解析
- 儿科窒息问题试题与答案
- 2025-2026学年德阳市中江县四年级数学第二学期期末调研模拟试题(含答案解析)
- 版画知识点相关试题及答案
- 2025-2026学年山西省忻州市七一路小学三年级数学第二学期期中学业水平测试试题(含答案)
- 2025-2026学年山东省德州市庆云县数学四年级下学期期中监测试题(含答案解析)
- 济宁期末英语试题全解及答案
- 2026湖北黄石市阳新县事业单位统一招聘107人考试参考题库及答案详解
- 2026年新疆事业单位招聘考试《职业能力倾向测验》真题
- 2026年天津卷高考语文作文全新真题解读及五篇范文
- 2026西藏拉萨市市直机关事业单位遴选(招聘)公务员(工作人员)19人考试备考试题及答案详解
- 2026年高考全国1卷语文高考真题含答案
- BIM-建筑工程计量与计价 课件 第1、2章 工程造价概述、建筑面积计算 (2023 年规范 )
- 2026年军队文职营房管理面试面试宝典
- 国企工程管理岗笔试试题及答案
- 安徽宣城市2025-2026学年高一上学期期末检测物理试题(原卷版)
- 2026中信证券IT数据岗笔试题及答案考点速记版
- 恶性综合征护理
评论
0/150
提交评论