(计算机应用技术专业论文)net下使用虚拟token的安全信息发布系统.pdf_第1页
(计算机应用技术专业论文)net下使用虚拟token的安全信息发布系统.pdf_第2页
(计算机应用技术专业论文)net下使用虚拟token的安全信息发布系统.pdf_第3页
(计算机应用技术专业论文)net下使用虚拟token的安全信息发布系统.pdf_第4页
(计算机应用技术专业论文)net下使用虚拟token的安全信息发布系统.pdf_第5页
已阅读5页,还剩51页未读 继续免费阅读

(计算机应用技术专业论文)net下使用虚拟token的安全信息发布系统.pdf.pdf 免费下载

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

文档简介

摘要 摘要 本文分析了静态口令身份认证的优缺点,口令身份认证有2 个重大的缺陷: 口令可以被网络上的非法用户窃听,无法防止回放攻击。本文提出了一种通用的 身份认证方案,并根据这种方案设计并实现了基于虚拟t 0 k e n 的安全身份认证系 统。 这种身份认证方式属于基于动态身份认证方式中的挑战应答模式。使用这种 身份认证方式可以有效地克服口令身份认证的缺陷。在这种方式下,系统将时间 作为挑战数,客户使用虚拟t o k e n 算出应答数,再根据该应答数进行系统登录。 这样,时间作为挑战数是一次性的,每个时闻片都是不同的挑战数,因此可以防 止回放攻击;在网络中传输的是加密了的应答数,解决了口令以明文方式传递的 问题。 本系统是通用型的,可以适用于各类b s 模式系统的身份认证。考虑到目前 在n e t 环境下开发的应用系统很多,本文详细分析了n e tf r a m e w o r k 的身份 认证模式和授权访问。改进了使用最多的f o r m 认证模式,实现了以虚拟t o k e n 为基础的身份认证系统。 本系统使用了a s e n e t 和s q l 建立了标准的可扩展的3 层b s 模式应用 程序,实现了一种适用于各类单位信息发布的系统,还用c s s 规范了站点的界 面。 关键词:身份认证;挑战应答;虚拟t o k e n :信息发布 a b s t r a c t a b s t r a c t t h i st h e s i s a n a l y z e st h ea d v a n t a g e sa n dd i s a d v a n t a g e so fs t a t i c - p a s s w o r d a u t h e n t i c a t i o n t h e r ea r et w of a t a lf l a w sa b o u t p a s s w o r d a u t h e n t i c a t i o n :t h e p a s s w o r d sc a l lb ew i r e t a p p e dt h r o u g ht h ei n t e r n e tb yi l l e g a lu s e r s ;a n dt h i st h e s i si s i n c a p a b l e t o p r o t e c t i tf r o mar e p l a ya t t a c k t h i s t h e s i sp r o p o s e sau n i v e r s a l i d e n t i t y a u t h e n t i c a t i o ns c h e m e ,a n df u r t h e r m o r e ,d e s i g na n dr e a l i z eas e c u r e i d e n t i t ) “a u t h e n t i c a t i o ns y s t e mb a s e do nv i r t u a lt o k e n o u rs c h e m eo fi d e n t i t y a u t h e n t i c a t i o ni sd y n a m i ca n db a s e do nt h ec h a l l e n g e r e s p o n s em o d e ,a n di t i se f f e c t i v ea n de f f i c i e n tf o rp r e v e n t i n gt h ef l a w s o f p a s s w o r d a u t h e n t i c a t i o n i no u rs c h e m e ,t h es y s t e mu t i l i z e st i m ef o rt h ec h a l l e n g e n u m b e r , w h i l et h eu s e r su t i l i z et h e i rv i r t u a lt o k e n sf o rt h er e s p o n s en u m b e r sb e f o r e u s i n gt h e mt ol o go nt h es y s t e m a st h ec h a l l e n g en u m b e lt i m ei so n e o f fa n de a c h t i m es l i c ei sad i f f e r e n tc h a l l e n g en u m b e r ,s oi tc a np r e v e n tf r o mar e p l a ya t t a c k a n d t h er e s p o n s en u m b e r st r a n s f o r m e dd nt h ei n t e m e ta r ee n c r y p t e d ,w h i c hi sf a rm o r e s e c u r et h a nt r a n s f o r m e da sp l a i n t e x t o u rs y s t e ma d a p t sa l lk i n d so fi d e n t i t ya u t h e n t i c a t i o n si nb sm o d e c o n s i d e r i n g t h et e c h n o l o g yo fd e v e l o p i n ga na p p l i c a t i o nu n d e r n e te n v i r o n m e n ti sv e r yc o m m o n , t h i st h e s i sp u to no u re m p h a s e s0 1 1 _ a n a l y s e so fi d e n t i t y a u t h e n t i c a t i o nm o d ea n d a u t h o r i z a t i o na c c e s so f n e tf r a m e w o r k t h i st h e s i si m p r o v e st h ew i d e l y u s e df o r m a u t h e n t i c a t i o nm o d e ,a n dr e a l i z ei d e n t i t ya u t h e n t i c a t i o nb y u s i n gv i r t u a lt o k e n t h i st h e s i sd e v e l o pas t a n d a r de x t e n s i b l ea p p l i c a t i o ni nt h r e e l a y e rb sm o d eb y u s i n gt h et e c h n o l o g i e so fa s p n e ta n ds q l ,a n dr e a l i z eau n i v e r s a li n t b r m a t i o n i s s u a n c es y s t e m ,a n ds t a n d a r d i z ei n t e r f a c e so fw e b s i t e sw i t hc s s k e y w o r d s :i d e n t i t ya u t h e n t i c a t i o n ;c h a l l e n g e r e s p o n s e ;v i r t u a lt o k e n ;i n f o r m a t i o n l s s u a 工l c e 厦门大学学位论文原刨性声明 厦门大学学位论文原创性声明 兹呈交的学位论文,是本人在导师指导下独立完成的研究成果。本人在 论文写作中参考的其他个人或集体的研究成果,均在文中以明确方式标明。 本人依法享有和承担由此论文产生的权利和责任。 声明人( 签名) 符百 蛔;年j 月羽 厘门人学学位论文著作权使用声明 厦门大学学位论文著作权使用声明 本人完全了解厦门大学有关保留、使用学位论文的规定。厦门大学有权保留 弗向国家主管部门或其指定机构送交论文的纸质版和电子版,有权将学位论文用 于非赢利目的的少量复制并允许论文进入学校罔书馆被查阅,有权将学位论文的 内容编入有关数据库进行检索,有权将学位论文的标题和摘要汇编出版。保密的 学位论文在解密后适用本规定。 本学位论文属于 1 、保密() ,在年解密后适用本授权书。 2 、不保密( ) ( 请在以上相应括号内打“”) 作者签名 导师签名 日期扫衫年f 盼南 日期瓣扫细 第1 审前言 1 1 课题背景 第1 章前言 目前,随着政府上网工程的实施,各类单位借助网络发布信息正变得越来越 普遍。网络应用使得人们可以获得大量的信息资源和服务,与之俱来的是信息安 全问题。信息安全不仅仅是少数关键部门所关注和需要的,它已经成为社会全体 成员共同需要和关注的问题。利用信息安全技术来保护用户的信息、企业的信息、 电子商务等应用的安全已经成为互联网发展的关键问题。 信息系统面临两种安全威胁:被动攻击与主动攻击。【1j 被动攻击只是监听信 息,从中获取。主动攻击包括对消息内容、顺序和时问的窜改、重发以及冒充等。 认证是防止主动攻击的主要技术。认证的目的有两个:第一,验证信息发送者的 真伪,包括信源、信宿等的认证和识别,此为身份认证;第二,验证信息的完整 性,验证数据在传送或存储过程中是否被窜改、重放或延迟等,此为消息认证。 本课题研究身份认证技术。 学校或普通企业的信息发布系统对安全性没有像类似银行那样特别高的需 求,但也必须有相当的措施保障。许多安全问题都拥有共同的特点:即绕过密码 保护以获取对信息的访问和管理权限。虽然一般的b s 应用系统提供了使用单一 口令的身份认证,但对一个重要的信息发布系统来说是远远不够的。 本文对此进行了有益的探索,设计并实现了使用虚拟t o k e n 作为安全认证的 信息发布系统。 1 2 本文的工作和内容安排 围绕着安全的信息发布系统,本方做了以下3 方面的工作: 1 、针对默认f o r m 身份认证的不足提出了一种基于挑战应答方式的身份认 证方法,并分析了这种方法的安全性和效果。该方法用来构成身份认证系统的核 心。 2n e t 下使用虚拟t o k e n 的安t 争信息发布系统 2 、使用虚拟t o k e n 在n e t 环境下实现了这种身份认证系统。 3 、使用a s p n e t 和s q l 建立了标准的可扩展的3 层b s 模式的信息发布 系统,并用c s s 规范了站点的界面。 本文的内容安t i t a n 下: 第1 章前言:叙述了本文的研究背景、主要工作以及内容安排 第2 章身份认证技术综述:介绍了身份认证技术的原理和基本方法。对本 文涉及的身份认证方式作了深入的比较和分析。 第3 章虚拟t o k e n 和挑战应答式身份认证:介绍了挑战应答式身份认 证技术和物理硬件t o k e n 的优缺点。提出了基于虚拟t o k e n 以时间作为挑战数 的身份认证方法。 第4 章n e tf r a m e w o r k 的身份认证与授权访问:介绍了n e t f r a m e w o r k 的安全体系架构,比较了a s p n e t 的4 种身份认证方法,分析了 f o r m 认证的安全性,提出了改进的方法。 第5 章本系统的身份认证方案:详细阐述了基于虚拟t o k e n 的身份认证 方法。虚拟t o k e n 具有通用性,可以广泛应用于b s 结构的应用系统中。 第6 章虚拟t o k e n 安全信息发布系统的实现:文章介绍了基于虚拟t o k e n 的身份认证系统的具体实现方法。介绍了b s 结构的信息发布系统的设计与实 现。 第7 章总结与展望:概括全文,总结所作的工作和研究成果,并对进一步 的工作方向进行了展望。 第2 章身份认证技术综述3 2 1 概述 第2 章身份认证技术综述 身份认证又称作识别( i d e n t i f i c a t i o n ) 、实体认i t ( e n t i t ya u t h e n t i c a t i o n ) 、 身份证实( i d e n t i t yv e r i f i c a t i o n ) 等。传统的身份认证一般是通过检验“物”的 有效性来确认持有该物者的身份,“物”可以为徽章、工作证、信用卡、身份证、 护照等。随着信息化和网络化业务的发展,这类依靠人工的识别工作已逐步由机 器通过数字化方式来实现。 身份认证是计算机系统的用户在进入系统或访问不同保护级别的系统资源 时,系统确认该用户的身份是否真实、合法和唯一的手段,其目的是防止非法人 员进入系统。身份认证的本质是示证者有一些信息,除示证者自己外,任何第三 方不能伪造,示证者能够使验证者相信他确实拥有那些信息,则他的身份就得到 了认证。 在网络环境下,身份认证技术也有很多种。与近距离认证类似,但是又存在 不同,这些不同主要是由网络的特点造成的。例如,当你登录某远程计算机系统 或者利用自动提款机a t m 取款时,用户首先要输入自己的名字和口令用于证明 自己的身份,计算机系统或自动提款机则通过验证日令来识别用户是否合法;当 通信的对方需要确认消息的真实性时,你需要向对方提供自己的证书。当用户向 远端的计算机系统证明自己的身份时,需要借助于本地的计算机向远端传送自己 的身份信息,认证过程通过身份认证代理完成,这个代理是位于客户端的认证程 序。网络环境下的用户身份认证要复杂得多,需要考虑更多的安全因素。比如: 认证信息的传递是在网络上,要考虑到可能会被窃听或截获,并借此进行回放攻 击。 2 2 身份认证方式的类型 身份认证最重要的技术指标就是合法用户的身份是否易于被别人冒充。用户 身份被冒充不仅可能损害用户自身的利益,也可能损害其他用户和整个系统。不 4 n e t 下使用虚拟t o k e n 的安全信息发布系统 同系统的身份认证的方案,必须根据各种系统的不同平台和不同安全性要求来进 行设计。同时,身份认证要尽可能的方便、可靠,并尽可能地降低成本。在此基 础上,还要考虑系统扩展需要。一般来说,身份认证是通过三种基本方式或其组 合方式来完成: 第一、你知道什么:用户所知道的某个秘密信息,如用户口令。 第二、你有什么:用户所持有的某个秘密信息( 硬件) ,即用户必须持有合法 的随身携带。的物理介质,如磁卡、智能卡或用户所申请领取的公钥证书。 第三、你是谁:用户所具有的某些生物特征,如指纹,声音,d n a 图案,视 网膜扫描等。 从身份认证的基本原理上来说,身份认证可以分为静态身份认证和动态身份 认证。 2 2 1 静态身份认证 1 、口令身份认证 口令核对是最常见也是最简单的方法。系统为每一个合法用户建立一个用户 名口令对,当用户登录系统时,提示用户输入自己的用户名和口令,系统通过核 对用户输入的用户名、i e i 令与系统内已有的合法用户的用户名1 3 令对f 这些用户 名口令对在系统内是加密存储的) 是否匹配,对用户的身份进行认证。 静态身份认证是指用户登录系统验证身份过程中,送入系统的验证数据是固 定不变的。符合这个特征的身份认证方法即称为静态身份认证。静态身份认证主 要指静态口令身份认证。 静态口令是一种静态的身份认证方法。其实现如下:当用户需要访问系统资 源时,系统提示用户输入用户名和口令;系统采用加密方式或明文方式将用户名 和口令传送到认证中心,和认证中心保存的用户信息进行对比:如果验证通过, 系统允许该用户进行随后的访问操作,否则拒绝用户的进一步访问操作。静态口 令身份认证一般用于早期的计算机系统。目前,在一些比较简单的系统或安全性 要求不高的系统中也有应用。例如,p c 机的开机口令、u n i x 系统中用户的登录、 w i n d o w s 用户的登录、电话银行查询系统的帐户口令等等。现在的许多计算机 第2 章身份认证技术综述5 系统是由老的计算机系统发展而来,延用了原有的身份认证方法,所以,现在的 系统大多数还是采用静态口令身份认证方法。 图2 1 静态口令原理图 事实上,静态口令身份认证存在着诸多的不安全因素。 首先,如上图2 1 所示,密码从客户端发送到服务器端时通过的是不安全的 网络,密码完全有可能被截取,从而导致密码泄露。 其次,静态口令是用户和机器之间共知的一种信息,用户若知道这个口令, 就说明用户是机器所认为的那个人。若他人知道用户的口令,就可冒用用户的身 份登录系统或网络进行非法操作等行为,给真实用户的利益造成损害。而且非法 用户通过回放攻击轻易登录系统。 所以静态口令身份认证系统的缺陷在于密码明文传递,易受回放攻击。 6 n e t 下使用虚拟t o k e n 的安全信息发布系统 2 、生物特征身份认证 基于生物特征的身份认证是以人体唯一的、可靠的、稳定的生物特征( 如指纹、 虹膜、脸部、掌纹等) 为依据,采用计算机的强大功能和网络技术进行图像处理和 模式识别。它是一种可信度高而又难以伪造的认证方式,也正在成为自动化世界 所需要的自动化个人身份认证技术中最简单而安全的方法。但是这类方案技术复 杂目前识别效果还不如人意,并因为其成本高而尚未被广泛采用。 2 2 2 动态身份认证 s h a n n o n 曾经在信息安全传输的理论中证明不可破译的密码是可能的,他 提出密码体制的完善保密性后,论证了只有一种密码算法是理论上不可破译的, 即一次性密码。这种算法要求采用一个随机的二进制序列,且一个密钥只使用一 次。在一次一密密码体制中,密码分析人员无法仅从密文获得关于明文或密钥的 任何信息,即使密码分析人员获得了一些密文所对应的明文,他也只是可能得到 这些密文所对应的密钥,而不能获得其他密文所对应的明文或密钥。一次一密密 码体制具有完善保密性。但是在实际应用中,一次一密密码体制要求每传送一个 明文,都必须产生一个新的密钥并通过一个安全的信道传送给接收方,这给密钥 的管理带来了一定的困难。因此,一次一密密码体制并不实用,具有很大的局限 性。 动态加密算法的加密过程中,密钥是不断变化的,只要密钥等概使用,该动 态加密算法便满足完善保密的条件。从这个角度说,动态加密机制包含一次一密 密码体制。 相对于静态身份认证,动态身份认证机制的特征是在工作过程中用户的口令 每次或者以一定时间间隔发生动态变化。即通过认证服务器和合法用户之间的同 步信任认证算法,定时产生一个一次有效的动态口令,这种一次有效的动态口令 彼此之间没有相关性,无法预测、跟踪、截取、破译。这样就可以保证用户身份 的惟一性、合法性。由于用户每次登录使用的口令都是动态变化的,每个口令只 能使用一次。有效地防止了重放、猜测等攻击方式。动态身份认证不需要第三方 公证,是一种切实可行、安全有效的身份认证解决方案。 第2 章身份认证技术综述 7 实现动态身份认证的思路是:在口令生成过程中加入不确定因子,使每次生 成的口令都不相同。其实现主要基于密码学中的加密算法和单向哈希函数,在运 算中每次都有不确定因子作为输入,经过加密或者哈希变换后输出,即使输入的 信息只有微小的改变,输出的值也会发生很大的变化,从而提高登录过程的安全 性。例如:p a s s w o r d h a s h ( 用户名十随机数时间戳) ,认证服务器接收到登录 口令后用相同的算法做一个验算即可验证用户的合法性。 动态身份认证就是指用户登录系统验证身份过程中,送入系统的验证数据是 动态变化的。符合这个特征的身份认证方法称为动态身份认证。 8 n e t 下使用虚拟t o k e n 的安全信息发布系统 第3 章虚拟t o k e n 和挑战应答式身份认证 3 1 挑战,应答式的身份认证方式 挑战应答机制身份认证属于动态身份认证。在挑战应答机制中,每个系统 用户都持有相应的挑战应答t o k e n 。t o k e n 内置种子密钥和加密算法。用户访问 系统时,认证系统提示输入用户名和静态口令,认证通过后,系统下传一个中心 系统随机生成的挑战数,用户将挑战数输入到挑战应答t o k e n 中,挑战应答 t o k e n 利用内置的种子密钥和加密算法计算出相应的应答数。用户将该应答数上 传给认证中心。认证中心根据该用户在认证中心保存的种子密钥和同样的加密算 法计算出同样的应答数,并和用户上传的应答数进行比较。由于每个用户的种子 密钥不同,不同用户对同样的挑战数可以计算出不同的应答数,只有用户持有指 定的挑战应答t o k e n 才能计算出正确的应答数,同时该应答数只能网络中身份认 证技术的研究在本次挑战应答过程中有效,不担心被他人截取,因此能保证很高 的安全性。这种方式是可靠有效的认证方法。 这种身份认证方法是基于物理硬件设备t o k e n 实现的。如图3 1 所示: 图3 1t o k e n 实物 物理t o k e n 的使用成本很高。军事机关和政府部门使用这种安全方案比较普 遍。这种系统相当昂贵,微软利用它对其6 0 0 0 0 多名员工和承包商进行身份认 证,摊到每个员工头上的成本可能高达数十美元。 第3 章虚拟t o k e n 和挑战碰答武身份认证9 3 2 基于虚拟t o k e n 的挑战,应答式身份认证方式 很明显挑战应答式身份认证方式是一种理想的身份认证方式,但需要使用硬 件t o k e n 这一条件妨碍了它的推广使用。本文针对这一情况,设计了使用虚拟 t o k e n 代替物理硬件t o k e n 进行挑战应答式的身份认证。虚拟t o k e n 是一种 软件形式的t o k e n ,因此成本较低,适合广泛使用。 3 2 1 虚拟t o k e n 身份认证方式 本系统的身份认证采用了安全性较高的挑战应答式的身份认证模式。 在认证过程中,系统将时间作为挑战数。客户使用通用的虚拟t o k e n ,用时 间片和用户身份的种子算出应答数。再将应答数提交到系统进行验证。验证操作 主要有2 个步骤: 第一、验证应答数是否在允许的时间片段内。第二、由服务器端预存的用户 身份种子和时间片再次生成验证码,将验证码与应答数进行比较,通过后可登录 系统。 这种方式下,时间作为挑战数是一次性的,对于相同的用户身份种子加上不 同的时间片在虚拟t o k e n 中运算得到的应答数是不同的,这样就可以有效防止回 放攻击。 这种方式提供了一种通用的虚拟t o k e n ,比静态口令安全性更高。 3 。2 2 安全通信:虚拟t o k e n 在防侦听中的作用 在整个通信过程中,在网络中传输的是加密的应答数,加密算法选择了单向 散列函数s h a 1 。单向函数计算起来非常容易,但是对其求逆却异常困难。也就 是说已知x ,很容易计算f ( ) ,但己知f ( x ) ,却难以计算出x 。【3 【4 】【5 这里所 说的“难以计算”在密码学中的含义就是:即使世界上所有的计算机都用来计算, f ( x ) 计算出也要花费数百万年的时间。散列函数把可变输入长度的串( 叫做预 映射) 转换成固定长度的输出串( 叫做散列值) 的一种函数。散列函数是典型的多到 一的函数,因为不同的预映射可能会得到相同的散列值。不能用散列函数来确定 两个串一定相同,但是却可以用作校验预映射的手段。 1 0 n e t 下使用虚拟t o k e n 的安全信息发布系统 单向函数与散列函数相结合形成单向散列函数,在密码学中应用非常广泛, 它是许多安全应用协议的基本模块。 1 0 】单向散列函数就是在一个方向上工作的散 列函数,从预映射很容易计算散列值,但要从其散列值推出一个预映射却很难。 另外单向散列函数要保证是无冲突的,即难于产生两个预映射的值,使它们的散 列值相同,换句话说,单向散列函数是一对一的函数。 散列函数是公开的,对处理过程不用保密,它的安全性就在于它的单向性, 其输出不依赖于输入。【“】 1 2 【1 3 平均而言,预映射的单个位的改变将引起散列 值中一半的位改变。【l4 j 已知一个散列值,要找到预映射的值,使它的散列值等于 己知的散列值在计算上是不可行的。 本系统中,我们选用了s h a 一1 这种使用广泛的散列算法。这种算法经过密 码学领域中许多专家相当长时间的测试,安全性高。这样,通过s h a 一1 加密的 应答数即使被非法用户截取,也不会对系统安全造成威胁,这样就解决了口令明 文传递的问题。 3 2 3 虚拟t o k e n 的生成方案 从理论上来说,虚拟t o k e n 的生成和发放的过程是这样的。用户u 通过普 通的用户注册过程,可以得到用户名和t o k e n 的种子s u ,同时用户u 下载一个 虚拟t o k e n 到本地的计算机上。 3 2 4 虚拟t o k e n 的验证方案 用户u 登录时,虚拟t o k e n 根据本地的时间片t u 及用户u 的种子s u 由 一个单向加密算法】得到应答数a u = j ( s u ,t u ) ,此单向加密算法在服务器端 也存在,验证在服务器端实现。服务器端接收到客户端传来的消息后由当前的时 涮根据设定的时问片生成最多至2 个( 当前时问片和前一时间片) 的t u ,并根据 用户u 的用户名查出用户的种子s u ,之后用快速的单向加密算法得到检验应答 数a u 。最后比较客户端传来的应答数a u 和服务器端生成的检验应答数a u 。 相同时用户就被验证通过。之后,用户u 将获得n e t 下相应的角色,从而获得 对应的操作权限。 第3 章虚拟t o k e n 和挑战应笞式身份认证 u s e r n a m elp a s s w o r d 动态上传包 s u1 种子 挑战数:动态时间片 应答数 u s e r n a m e 到种子 二二= ) 数据库l 比对并 验证 u s e r n a m e 图3 - 2 虚拟t o k e n 身份认证原理 3 3 虚拟t o k e n 身份认证方案流程 使用虚拟t o k e n 的安全信息发布系统的认证方案主要由注册发放和登录认 证两个过程组成。 3 3 1注册用户并同时生成、发放虚拟t o k e n 用户注册时,提交用户名和密码这两项摄为关键的信息,其他还包括一些个 人信息。接着,注艇成功的用户可以下载到一个虚拟t o k e n 。这个虚拟t o k e n 在用户登录时会用得到。 在服务器端,用户的密码并没有被直接以明文保存。密码被单向加密算法加 密后生成种子s u 并被存入数据库。这样,服务器管理员不可能知道用户的密码, 密码不会由此泄露。 1 2 n e t 下使用虚拟t o k e n 的安全信息发布系统 图3 - 3 用户注册流程图 3 3 。2 用户登录和身份验证流程 为了比较静态口令身份认证和虚拟t o k e n 身份认证,本系统设计了两种用户 身份认证方式,一种称为普通级,即使用静态身份认征;一种称为安全级,即使 用虚拟t o k e n 身份认证。 1 、普通级登录:使用静态口令身份认证 密码从客户端传到服务器端的过程中都是以明文的方式传送,有被窃听的危 险。服务器端接收到密码后,将密码重新计算得到s7 u ,之后同数据库中保存的 s u 比对,并决定登录是否成功。 这种方式下,数据库巾保存的s u 不是明文,密码也不可能从管理员这里泄 漏。通过s7 u 与s u 的比对,用户身份得以确认。 如前所述,这种方式下最大的弊端在于网络上传输的是密码明文,可能被窃 听并导致泄露。 具体的过程可以用以下框图表示: 第3 章虚拟t o k e n 和挑战应答式身份认证1 3 图3 - 4 普通级登录流程图 2 、安全级登录:使用虚拟t o k e n 身份认证 客户端登录时,先在虚拟t o k e n 中算出对称签名a u 。在计算时,虚拟t o k e n 会自动将当前的时问片t u 也加到a u 中。因此,在a u 中包含两种信息:用户 身份种子s u 和当前的时间片。 本系统中,我们计算签名a u 的方法是散列算法。散列算法能够有效地用于 检测消息是否被篡改,所以可以用于数字签名。散列可以将任意长度的输入数据 映射为更小的、固定长度的数据输出的函数,在本文中,我们将散列函数求得的 a u 称作应答数。 得到a u 后,用户在网页上填入自己的用户名和a u ,并发送到服务器端。 此时,网上传递的只有加密后的a u 和用户名,无侦听价值。 服务器端拿到a u 后,先检查是否过期。在e 常的时问片内的a u 才会被用 1 4n e t 下使用虚拟t o k e n 的安全信息发布系统 来比对。服务器接收到a u 并确定用户后,从数据库中取出用户对应的s u 加上 时问片t u 生成服务器端的a ,u 。 a u 同a 7 u 的比较代替了普通级方式中的加密签名的比对,以确定登录是否 成功。 图3 - 5 安全级登录流程图 3 4 使用虚拟t o k e n 的身份认证方案主要优点 第一,针对静态r _ 】令身份认证所带来的安全隐患,本方案采用了挑战应答式 第3 章虚拟t o k e n 和挑战应答式身份认讹1 5 的身份认证方法,提供了安全性更高的身份认证 第二,解决了用户凭证在网络中的安全通信问题,确保在网络上传递的用户 凭证都经过加密,无明文在网络中传递; 第三,同昂贵的物理硬件t o k e n 相比,虚拟t o k e n 具有良好的性价比。 1 6 n e t 下使用虚拟t o k e n 的安全信息发布系统 第4 章结合n e t 安全体系结构的虚拟t o k e n 身份认证 4 1n e tf r a m e w o r k 与密码 n e tf r a m e w o r k 类库提供了s y s t e m s e c u r i t y c r y p t o g r a p h y 命名空 间,该命名空间支持最重要的对称和非对称密码、一些安全的散列算法以及一个 密码性质的随机数生成器。 2 6 】这个体系结构是可以扩展的,它允许第三方以密码 服务提供者的形式提供附加实现和其他算法。【2 8 【2 9 】下面是类库实现的一些主要 功能: d e s :d l g i t a i e n c r y p t i o n s t a n d a r d ( 对称分组密码) 3 d e s :t r i p l e d e s ( 对称分组密码:比d e s 强度更高) r i j n d a e l :a e s ( 对称分组密码) r c 2 :由r o n a l d r i v e s t 设计的密码( 对称流密码) r s a :由r i v e s t 、s h a m i r 和a d l e m a n 设计的密码( 用于加密和数字签名 的非对称算法1 d s a :d i g i t a i s i g n a t u r e a i g o r i t h m ( 只用于数字签名的非对称算法) m d s :由r i v e s t 开发的消息摘要算法( 也就是一种安全的散列算法) s h a - 1 、s h a - 2 5 6 、s h a - 3 8 4 、s h a 5 1 2 :由 n i s t ( n a t i o n a l i n s t i t u t e o f s t a n d a r d s a n d t e c h n o l o g y ) 和n s a 开发的标准安 全散列算法,用数字签名标准。 p r n g :p s e u d o r a n d o m n u m b e r g e n e r a t o r ( 伪随机数生成器) x m l s i g n a t u r e 用于x m l 数据的数字签名 x 5 0 9 :公共证书标准 其中的密码散列函数常被用于数字签名中。一。个优秀的散列函数有这样的属 性:两个不同的输入产生相同的散列值结果的可能性非常小,该属性允许能够有 效地使用更小、更易于管理的散列来代表或标识更大的数据对象,这与使用人类 的指纹非常相似,指纹也很小且易于管理,我们可以使用指纹所集中的信息特征 来标识或验证所有人的身份。对于任何特定的散列值来说,要发现能够产生相同 散列输出的另一个不同输入消息是相当困难的,这正好能够保护经过数字签名的 第4 章结合n e t 安全体系结构的虚拟t o k e n 身份认证 1 7 消息不会受到篡改。 s h a l 类封装了s h a 一1 的算法,该算法能够将长度最大为2 b 4 比特的消息 计算为一个1 6 0 比特的散列输出。 2 i s h a 一1 算法被n i s t 采用为安全的散列标 准( s e c u r eh a s hs t a n d a r d ,简写s h s ) 。对n 比特对称加密算法进行强行攻 击的工作因数相当于2 “,但是对n 比特密码散列算法进行攻击的工作因数相当于 2 n ,2 。这是因为如果能够发现产生相同散列输出的任意两个输入,我们就认为对 散列的生日攻击( b i r t h d a ya t t r c k ) 是成功的。因此,攻击1 6 0 比特的s h a 一1 算法的工作因数实际相当于2 8 0 。目前该算法还可以保持相当的安全性。当 然,n e t 下我们也可以使用s h a 一2 5 6 、s h a 一3 8 4 、s h a - 5 1 2 类封装的散列 算法,这些算法可以分别产生2 5 6 、3 8 4 、5 1 2 比特的散列值。 4 2 n e tf r a m e w o r k 安全体系结构 创建安全的分布式w e b 应用程序是一项极具挑战性的工作。应用程序的安 全性取决于它最薄弱的环节。任何成功的应蔫程序安全策略都具有牢固的基础, 即综合利用身份认证、授权和安全通信机制来保护机密数据的安全和完整性。 4 2 1 多层次安全体系结构 a s p n e tw e b 应用程序是使用许多不同的技术和产品开发的。为建立纵深 防御型安全策略,需要在应用程序的多个层上应用各种身份认证、授权和安全通 信方案。 1 、纵深防御型安全策略 图1 总结了各种技术及其提供的主要身份认证和授权方式。 2 9 】 1 8n e t 下使用虚拟t o k e n 的安全信息发布系统 2 、安全体系结构 2 9 图4 1 n e t w e b 应用程序安全 图2 _ 3 显示了远程应用程序层模型和前面介绍的各种技术提供的那些安全服 务。身份认证和授权在分布于各层中的许多点分别进行。这些服务主要由 i n t e r n e t 信息服务( i i s ) 、a s p n e t 、企业服务和s q l s e r v e r 提供。同时,安 全通信信道在各层上应用,并从客户端浏览器或设备一直延伸到数据库。信道的 安全性由安全套接字层( s s l ) 或i p s e c 联合提供保障。 图4 2 n e t 身份认证 第4 章结合n e t 安全体系结构的虚拟t o k e n 身份认证1 9 表4 1 总结了前面讨论的技术所提供的身份认证、授权和安全通信功能。 技术身份认证授权 安全通信 i i s a s p n e t w e b 服务 匿名 基本 摘要式 w i n d o w s 集成 ( k e r b e r o s l n t l m ) 证书 无( 自定义) w i n d o w s 窗体 。p a s s p o 琏 w i n d o w s 无( 自定义) 消息级别 身份认证 远程处理w i n d o w s 企业服务w i n d o w s i p i d n s 地址 限制 恍6 霉氅 sslntfs权限: 所请求文件的w i n d o w s 访问 控制列表( a c l ) 文件授权 u r l 授权 主体权限 n e t 角色 文件授权 u r l 授权 主体权限 n e t 角色 文件授权 u r l 授权 主体权限 n e t 角色 企业服务 ( c o m + ) 角色 n t f s 权限 s s l 和消息 级别加密 s s l 和消息 级别加密 远程过程 调用( r p c ) 加密 s q l s e r v e r 2 0 0 0 w gi n d 自o w 份s k e r b e r o ;s 。证n t l m ) 帮誓垂菱善嘉暑 sslql ( 品备茎嚣= 三= s身份认证 墨石篷每瘩雹匕。 w i n d 。w s 2 0 0 0 n k e t r l b m e r o s w i n d 。w s a c l i p s e c 4 2 2 身份认证 表4 - 1 n e t 安全功能 身份认证可明确识别应用程序的客户端,客户端可能包括最终用户、服务、 进程或计算机。在安全术语中,经过身份认证的客户端称为主体。 身份认证在分布式w e b 应用程序的所有层中进行。最终用户通常需要输入 用户名和密码柬由w e b 应用程序对其进行初始验证。接着,当中间层应用程序 服务器( 如果体系结构中包含此类服务器) 和数据库服务器处理最终用户的请求 n e t 下使用虚拟t o k e n 的安全信息发布系统 时,它们将对用户执行身份认证以确认和处理该请求。 在许多应用程序中,下游服务器和组件不会对最终用户进行身份认证,而是 对上游应用程序这个实体进行身份认证以了解信任关系,在确认可以信任上游应 用程序已正确验证该用户并授权后,将转发该请求。 n e tf r a m e w o r k 提供下列身份认证选项: 1 、a s p n e t 身份认证模式 a s p n e t 身份认证模式包括窗体、w i n d o w s 、p a s s p o 厂t 和无身份认证。本 系统将采用窗体身份认证的模式。 ( 1 ) 、窗体身份认证。 此方法使用客户端重定向将没有经过身份认证的用户转发到指定的h t m l 窗体,用户可以在该窗体中输入凭据( 通常是用,t 名和密码) 。然后,系统对这 些凭据进行验证,生成身份认证票证并将其返回客户端。身份认证票证包含用户 标识,您还可以选择在身份认证票证上列出用户在会话期间所属的角色。 有时,窗体身份认证仅用于w e b 站点的个性化处理。在这种情况下,您几 乎不用编写任何自定义代码,因为a s p n e t 用简单的配置自动处理这一过程的 大部分工作。在个性化处理方案中,c o o k i e 只需要保留用户名。 注意:窗体身份认证以明文形式向w e b 服务器发送用户名和密码。因此, 应该将窗体身份认证与使用s s l 保护的信道结合使用。为了对后续请求中传输的 身份认证c o o k i e 不间断地提供保护,您应该考虑在应用程序内的所有页上使用 s s l ,而不仅仅是在登录页上使用s s l 。 ( 2 ) 、w i n d o w s 身份认证。 在这种身份认证模式下,a s p n e t 依靠i i s 对用户进行身份认证并创建 w i n d o w s 访问t o k e n 来表示经过身份认证的标识。i i s 提供下列身份认证机制: 基本身份认证。基本身份认证要求用户以用户名和密码的形式提供凭据以证 明其标识。它是基于r f c 2 6 1 7 ( 网址为h t t p : w w w f a q s o r g r f c s r f c 2 6 1 7 h t m i ) 而提出的i n t e r n e t 标准。n e t s c a p e n a v i g a t o r 和m i c r o s o f ti n t e m e t e x p l o r e r 都支持基本身份认证。用户凭据以 第4 章结合n e t 安全体系结构的虚拟t o k e n 身份认证 2 1 不加密的b a s e 6 4 编码格式从浏览器传送到w e b 服务器。由于w e b 服务器得 到的用户凭据是不加密的格式,因此w e b 服务器可以使用用户凭据发出远程调 用( 例如,访问远程计算机和资源) 。 注意:基本身份认证只应与安全信道( 通常是使用s s l 建立的) 一起使用。否则, 用户名和密码很容易被网络监视软件窃取。如果使用基本身份认证,应在所有页 ( 而不仅仅是登录页) 上使用s s l ;因为在发出所有后续请求时都传递凭据。有 关联合使用基本身份认证和s s l 的详细信息,请参见第8 章a s p n e t 安全性。 摘要式身份认证。与i i s 5 0 一起推出的摘要式身份认证与基本身份认证类 似,但它从浏览器向w e b 服务器传送用户凭据时不采用不加密的格式,而采用 散列格式。因此,它更为安全,不过它要求使用i n t e m e t e p i o r e r 5 0 或更高版 本的客户端以及特定的服务器配置。 集成w i n d o w s 身份认证。集成w i n d o w s 身份认证( k e r b e r o s 或n t l m , 具体取决于客户端和服务器配置) 使用与用户i n t e r n e t e x p l o m rw e b ; | 【览器的 加密交换来确认用户标识。只有i n t e r n e t e x p l o r e r 支持这种验证 ( n e t s c a p e n a v i g a t o r 不支持) 。所以,这种验证一般只能在i n t r a n e t 方案中 使用,因为您能够控制i n t r a n e t 中所用的客户端软件。如果禁用匿名访问,或 拒绝通过w i n d o w s 文件系统权限进行匿名访问,那么这种验证只能由w e b 服 务器使用。 证书身份认证。证书身份认证使用客户端证书来明确地标识用户。客户端证 书由用户的浏览器( 或客户端应用程序) 传递到w e b 服务器。( 如果是w e b 服 务,则由w e b 服务客户端通过h t t p w

温馨提示

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

评论

0/150

提交评论