(计算机应用技术专业论文)采用unix认证方式的bs学籍管理系统的研究与开发.pdf_第1页
(计算机应用技术专业论文)采用unix认证方式的bs学籍管理系统的研究与开发.pdf_第2页
(计算机应用技术专业论文)采用unix认证方式的bs学籍管理系统的研究与开发.pdf_第3页
(计算机应用技术专业论文)采用unix认证方式的bs学籍管理系统的研究与开发.pdf_第4页
(计算机应用技术专业论文)采用unix认证方式的bs学籍管理系统的研究与开发.pdf_第5页
已阅读5页,还剩66页未读 继续免费阅读

(计算机应用技术专业论文)采用unix认证方式的bs学籍管理系统的研究与开发.pdf.pdf 免费下载

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

文档简介

摘要 摘要 创建安全的乳b 应用程序是一项极具挑战性的工作。应用程序的安全性取 决于它最薄弱的环节,任何成功的应用程序安全策略的基础都是稳固的身份验 证和授权手段,以及提供机密数据的保密性和完整性的安全通信。安全通信是 分布式应用程序保护工作中不可或缺的部分,保护分布式应用程序的目的是保 护机密数据,这些数据包括传递到应用程序和从应用程序传出的凭据,以及在 应用程序的各层之间传递的凭据。而一开始就设计使用身份验证和授权会大大 减少应用程序安全事件的发生率。 本文主要从以下三方面论述了如何综合利用动态网页a s p n e t 技术、 h t m l 与x m l 技术、a d o n e t 数据访问技术、s q l s e r v e r2 0 0 0 数据库技术、 密码技术在基于w e b 平台上的学籍管理系统中实现稳固的身份验证和授权手 段,以及机密数据的保密。 一、为了降低应用程序的风险,笔者没有将口令原码存储在数据库中,而 是采用u n i x 的口令认证方式来作w e b 应用认证,在w i n d o w s 平台上先将口令 用s h a l 散列,再把加s a l t 的s h a l 散列值存储到数据库中以增加攻击者对受 保护数据发起强力字典攻击时所花费的工作量,以提高基于表单身份验证的口 令安全性。 二、通过窗体身份验证后创建包括用户标识名的g e n e r i c p r i n c i p a l 对象,实 现基于角色的u r l 授权,从而方便、安全地进行权限分配。 三、通过系统合法用户共享系统安全存储的非对称r s a 密钥实现教师信息 表关键字段信息的加密解密,结合基于角色的授权,实现了机密数据的保密。 最后,对本论文的工作进行总结,并提出了进一步努力的方向。 关键词:学籍管理;r s a ;s h a l a b s t r a c t a b s t r a c t t oc o n s t r u c tas e c u r e ,e ba p p l i c a t i o ni sab i gc h a l l e n g e t h es e c u r i t yo fa n a p p l i c a t i o nr e s t sw i t l li t sw e a k e s tp o i n t a n dt h ef o u n d a t i o n so fa n ys u c c e s s f u ls e c u r e s t r a t e g yf o ra p p l i c a t i o n sa l er e l i a b l ei d e n t i t y a u t h e n t i c a t i o na n da u t h o r i z a t i o n ,a s w e l la ss e c u r ec o m m u n i c a t i o nw h i c hp r o t e c t st h ec o n f i d e n t i a l i t ya n di n t e g r a l i t yo f s e c u r i t yd a t a s e c u r ec o m m u n i c a t i o ni s e s s e n t i a lt od i s t r i b u t e da p p l i c a t i o n sf o r p r o t e c t i o nt a s k a n dt h ea i mo fp r o t e c t i n gd i s t r i b u t e da p p l i c a t i o n si st op r o t e c tt h e s e c u r i t yd a t a ,i n c l u d i n ge v i d e n c eo ft h ed a t as e n tt oa n ds e n to u tf r o mt h e a p p l i c a t i o n s ,a n de v i d e n c eo ft h ed a t at r a n s p o r t e db e t w e e nl a y e r so ft h ea p p l i c a t i o n s t l ”a p p l i c a t i o n sw i t ha ni n i t i a ld e s i g no fi d e n t i t y a u t h e n t i c a t i o na n da u t h o r i z a t i o n w i l lg r e a t l yr e d u c et h eo c c u r r e n c ef r e q u e n c yo fs e c u r i t ye v e n t s i nt h i sp a p e r , w ed i s c u s sh o wt os y n t h e s i z ea s e n e tt e c h n o l o g yo fd y n a m i c w e bp a g e s ,h t m l ,x m l ,a d o n e tt e c h n o l o g yo fd a t aa c c e s s ,s q ls e r v e r2 0 0 0 a n d e n c r y p t i o n t or e a l i z er e l i a b l e i d e n t i t y a u t h e n t i c a t i o n a n da u t h o r i z a t i o n m e c h a n i s m si ne n r o l m e n tm a n a g e m e n ts y s t e m sb a s e do nw j bp l a t f o r mm a i n l yf r o m t h r e ea s p e c t sa sb e l o w : 1 i no r d e rt or e d u c et h er i s ko f a p p l i c a t i o n s ,w ed on o ts t o r ep l a i np a s s w o r d si nt h e d a t a b a s e i n s t e a d l y , w ed e p l o yp a s s w o r da u t h e n t i c a t i o nm e c h a n i s mo fu n i xt oo u r a u t h e n t i c a t i o nm e c h a n i s mo fw r e ba p p l i c a t i o n u n d e rw i n d o w se n v i r o n m e n t ,w e f i r s t l yd 0as h a 1h a s ho nt h ep a s s w o r d s a n dt h e na d ds a l tt ot h e mb e f o r ep u t t i n g t h e mi n t ot h ed a t a b a s e a f t e rt h i s ,t h ee f f e c t i v e n e s so fad i c t i o n a r ya t t a c kc a nb e g r e a t l yr e d u c e da n dt h es e c u r i t yo fa p p l i c a t i o n sb a s e do np a s s w o r d si nad bt a b l e c a nb eg r e a t l yi m p r o v e d 2 a f t e rf o r m si d e n t i t ya u t h e n t i c a t i o n ,t h es y s t e mw i l lc o n s t r u c tag e n e r i c p r i n c i p a l o b j e c tw i t hu s e r si d r e a l i z et h er o l e b a s e du r la u t h o r i z a t i o n ,a n da c c o r d i n g l y d i s t r i b u t eu s e r sr i g h t sc o n v e n i e n t l ya n ds a f e l y 3 u t i l i z et h ep u b l i ck e ya n dp r i r a t ek e yo fr s ao ft h es y s t e ms h a r e db ya l lv a l i d u s e r s ,t or e a l i z et h ee n c r y p t i o na n dd e c r y p t i o no fk e yi n f o r m a t i o ni nt e a c h e r s i n f o r m a t i o nt a b l e a n de n s u r es e c u r i t yd a t a sc o n f i d e n t i a l i t yb yu s i n gr o l e b a s e d a u t h o r i z a t i o n w em a k eac o n c l u s i o no fo u rw o r ka n dp r o p o s et h ed i r e c t i o nf o ro u rf u r t h e rs t u d y a tt h ee n do ft h i sp a p e r k e y w o r d s :s t u d e n tm a n a g e m e n t ;r s a ;s h a 一1 厦门大学学位论文原创性声明 兹呈交的学位论文,是本人在导师指导下独立完成的研究成果。 本人在论文写作中参考的其他个人或集体的研究成果,均在文中以明 确方式标明。本人依法享有和承担由此论文产生的权利和责任。 声明人( 签名) :碲鞠璋专 卫。彤年5 一月硝日卫。咕年月刊日 厦门大学学位论文著作权使用声明 本人完全了解厦门大学有关保留、使用学位论文的规定。厦门大 学有权保留并向国家主管部门或其指定机构送交论文的纸质版和电 子版,有权将学位论文用于非赢利目的的少量复制并允许论文进入学 校图书馆被查阅,有权将学位论文的内容编入有关数据库进行检索, 有权将学位论文的标题和摘要汇编出版。保密的学位论文在解密后适 用本规定。 本学位论文属于 1 、保密() ,在年解密后适用本授权书。 2 、不保密() ( 请在以上相应括号内打“4 ”) 作者签名: 导师签名: 补朝韩日期:2 带月柏 日期:易衫年月丝日 第1 章绪论 第1 章绪论 转瞬间人类社会踏入2 1 世纪的门槛已有六个年头,完全进入了信息时代。 人们已经认识到,周围的一切正在发生异乎寻常的变化,多媒体计算机迅速走 进家家户户,上网己成为人们日常生活的一部分。w w w 浏览器使你足不出户 便知天下事,各种应用软件更是应有尽有。事实证明:网络的普及及其应用大 大推动了计算机应用的发展,从国防军事、交通运输、财政金融、科学教育等 大型系统,到一个企业、一个机关、一所学校、一座饭店的内部管理,几乎都 采用了计算机网络管理。网络发展己经超越了国界,跨越了地域,使地球上的 人们似乎生活在一个“地球村”里。在这崭新的世纪里,信息技术迅猛发展, 而网络技术和数据库技术又是信息技术最主要的核心。于是,基于w e b 的数据 库也就应运而生了。随着i n t e r n e t i n t r a n e t 技术的发展,开发基于w e b 的应用程 序势在必行。数据库技术更是需要和w e b 技术相结合,才有更为广阔的前景。 近年来微软提出了n e t 战略,把a s p n e t 作为新一代的动态w e b 应用程序开发 技术,在数据库应用方面发挥着越来越重要的作用,同时b s 模式的数据库体 系也正逐渐成为数据库结构的主流,它对w e b 系统的开发提供了新的方法和手 段。提供了包括基于窗体( w e bf o r m ) 的页面设计、面向对象( o o p ) 的类设计、 基于服务器控件事件的业务处理等强大功能。同时,它与x d l 技术的紧密结合, 也为开发基于n e t 的学籍管理系统提供了强大的技术支持。 1 1 开发本系统的重要性 目前,i n t e m e t 在我国发展迅速,它正在影响着我们的学习、生活和工作方 式。以i n t e m e t 为依托的校园网络系统在普通中学与职业学校的教学、管理工作 中也发挥了越来越重要的作用。搞好校园网建设,构建现代化的教育环境,是 教育现代化的重要内容,也是形成现代教育办学体系的重要组成部分。当前许 多学校都在建设校园网,以加快学校教育现代化的实施步伐,纷纷为学校的信 息化管理搭建了高效、便捷的平台,以便在校园网的支持下,可以便捷地实现 2 采用u n i x 认证方式的b s 学籍管理系统的研究与开发 学生管理、教务管理、行政管理、教育科研管理的自动化和信息化。但我们还 要清醒地认识到校园网的建设除了思想上重视和必需的硬件设备的投入外,更 重要的是要有一个适合本校实际、管理便捷、使用方便的校园网软件平台。尽 管目前推出的一些商业校园网软件平台功能较为完整,但在具体的使用过程中 往往存在着这样一些问题:网络平台不切合学校实际、实用性不强:软件兼容 性差,原始数据需要投入大量的人力重新输入:资金投入大;功能无法及时扩 充和修改等。针对这一情况,学校有必要利用a s r n e t 强大的动态功能自行组 建校园网平台。并在此平台下构建基于校园网的学生管理信息系统,如图1 - 1 所示。 图1 - 1 基于校园网的学生管理系统结构图 基于校园网的学生学籍管理系统是典型的信息管理系统( m i s ) ,其开发主 要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者 要求建立起数据致性和完整性强、数据安全性好的数据库。而对于后者则要 求应用程序功能完备,易使用等特点。 基于校园网的学生学籍管理系统是学校校园网的一个重要的应用系统,它 具有手工管理所无法比拟的优点:能方便学生快速查询个人成绩,帮助任课教 师高效、准确地进行成绩查询录入处理,并能积极地协助教务部门安全管理补 考工作,以及能使全校各部门及时查阅到学生的基本情况数据和统计数据,且 第1 章绪论 3 对学校的成绩统计分析更加有效,而且数据有可靠性高、存储量大、保密性好、 寿命长等特点。总之,它对学校的学生管理效率和管理水平的提高具有很大的 促进作用。 在此背景下,一些中等职业学校为了充分利用校园网的优势,一方面,积 极采购各种软件系统,提升校园网的功能;另一方面,针对各个学校自身的特 点,积极开发各种教学系统来提高教育教学质量及管理水平。其中开发适合各 个学校自身的学籍管理系统就成为每一所学校的一项较为重要的任务。但由于 i n t e r n e t 的开放性,其危险无处不在,这使得保护w e b 应用程序的数据安全性 与代码访问安全性显得尤其重要,于是本文阐述了如何设计并开发了这套学籍 管理系统。 1 2 本文的主要特色 本文论文分析了w e b 数据库及n e t 安全性与技术在学生学籍管理系统中 的应用,主要论述了如何综合利用动态网页a s r n e t 技术、h t m l 与x m l 技 术、a d o n e t 数据访问技术、s q ls e r v e r2 0 0 0 数据库技术、密码技术在基于 w e b 平台上的学籍管理系统中实现稳固的身份验证和授权手段,以及机密数据 的保密。其本文的主要工作如下: 一、用u n i x 认证方式来作w e b 应用认证,以增加攻击者对受保护数据发 起强力字典攻击时所花费的工作量,提高基于表单身份验证的口令安全性。 二、通过窗体身份验证后创建包括用户标识名的g e n e r i c p r i n c i p a l 对象,实 现基于角色的u r l 授权,从而方便、安全地进行权限分配。 三、通过系统合法用户共享系统安全存储的非对称r s a 密钥实现教师信息 表关键字段信息的加密解密,结合基于角色的授权,实现了机密数据的保密。 1 3 全文概要 色。 第一章简要说明了开发学籍管理系统的重要性并概括了本系统的主要特 第二章陈述了基于身份认证的加密系统的相关知识,包括认证方式、密码 4 采用u n i x 认证方式的b s 学籍管理系统自争研究与开发 学在身份认证技术中的应用及系统的开发环境介绍。 第三章介绍了a s p - n _ e t 应用程序的安全模型,包括b s 三层体系结构的逻 辑层与其物理部署模型,分析其实现技术与a s e n e t 授权方式及a s e n e t 身 份验证模式。 第四章论述了职业学校学籍管理系统数据访问安全策略,包括如何选择 s q ls e r v e r 数据库的身份验证方式,如何在数据库中安全存储用户凭据,如何 防范s q l 注入式攻击。如何进行数据库表设计。 第五章讨论了怎样利用a sp n e t 动态网页技术、a d o n e t 数据访问技 术、n e t 集成开发环境访问、查询系统数据库,以及怎样利用a d o n e t 对象 及s q l 存储过程对系统数据库进行修改等操作。画出了系统流程图,重点陈述 了利用n e t 框架类库提供的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 章密码学相关知识 第2 章密码学相关知识 密码学包括密码编码学和密码分析学,其密码算法有很多种,包括对称算 法、非对称算法、消息摘要算法等。对称加密算法包括d e s 和a e s 等;非对 称加密算法包括r s a 、d s a 、椭圆曲线算法等。 在密码学中,需要通过加密加以保护因而进行变换的原报文称为明文。明 文经过变换后,形成一种不可直接识别的隐藏形式,称为密文。完成变换的过 程称作加密。其逆过程也就是由密文恢复为明文的过程,称为解密。对明文进 行加密时所采用的映射函数或变换规则称作加密算法。对密文进行解密时所采 用的逆映射函数或变换规则称作解密算法。加密及解密操作通常是在密钥的控 制下进行。一般加,解密过程可用图2 1 所示: 图2 1 一般加,解密过程 2 。1 对称加密算法与非对称加密算法 基于密钥的算法通常有两类:对称加密算法和公开密钥算法。 2 1 1 对称加密算法 对称加密算法( s y m m e t r i ca l g o r i t h m ) 又称传统密码算法,就是加密密钥能够 从解密密钥中推算出来,反之也成立。在大多数对称算法中,加解密密钥是相 6 采用u n i x 认证方式的b s 学籍管理系统的研究与开发 同的,这些算法也叫秘密密钥算法或单钥算法,它要求发送方和接收方在安全 通信之前商定一个密钥。对称算法又可分为两类:一是每次只对明文的单个位 ( 或字节) 运算的算法称为流密码( s t r e a mc i p h e r ) ;另一类是对明文的一组位进行 运算,叫分组密码( b l o c kc i p h e r ) 。对称加密有两个安全要求: 需要强大的加密算法。算法至少应该满足:即使攻击者知道了算法并能 访问一些或更多的密文,也不能有效译出密文或得出密钥。也就是说, 即使攻击者拥有一些密文和生成密文的明文,也不能破解加密算法或 发现密钥。 发送方和接收方必须用安全的方式来获得保密密钥的副本,必须保证 密钥的安全。如果有人发现了密钥,并知道了算法,那么用此密钥的 所有通信便都是可读取的。 需要注意的是:对称加密的安全性取决于密钥的保密性,而不是算法的保 密性。也就是只需要对密钥进行保密就行。对称加密的特点使它得到了广泛的 应用。 由于算法不需要保密,使得制造商可以制造相应的使用该算法的数据加密 芯片。这些芯片的应用,使得加密速度迅速提高。常用的对称算法有:d e s t r i p l e d e s 和a e s 等。其基本工作过程如图2 2 所示: 图2 2 对称算法的加解密过程 对于需要经常更换密钥以进行保密通信的部门或领域来说,这种密码体制 是不方便的,因为它必须保证传送密钥的信道是完全安全的,不然密钥泄露则 意味着该安全体系的崩溃。对于多个通信实体进行这种体制的保密信道来说, 其密钥的分配次数按= n ( n 一1 ) 2 = o ( n 2 ) 迅速增长,因而对通信实体的密钥 第2 章密码学相关知识 分配就成了一个大问题。因而,限制了对称密码体制在某些领域的应用。 2 1 2 非对称加密算法 公开密钥算法( 也叫非对称加密算法) 最初是在2 0 世纪7 0 年代后期由d i f f l e 和h e l l m a n 提出的。其基本原理是:用作加密的密钥不同于用作解密的密钥, 并且解密密钥不能根据加密密钥计算出来。之所以被称为公钥算法,是因为加 密密钥能够公开,即任何人都可以用公开的加密密钥加密信息,但只有用相应 的解密密钥才能解密信息。在这种体制下,加密信息的密钥称为公钥,解密密 钥叫做私人密钥,解密密钥和加密密钥不同,从一个难以推出另个,其设计 依据是把推算解密密钥的问题等效于一个难以求解的数学问题。公钥体制的解 密和加密是可以分离的,不具有对称性,通信双方无须事先交换密钥就可建立 起保密通信,它解决了通信双方进行保密通信的密钥分配问题,它不需要铺设 专门的安全信道,也不需要专门信使在通信双方之间传递密钥,因而可以节约 大量成本。但由于其加密密钥是公开的,因此在国家的要害部门还普遍采用私 钥密码体制,且多采用流密码。公钥加密的的基本过程如图2 3 所示: 图2 - - 3 公钥算法的加解密过程 在公钥密码体制中,最重要的有r s a 体制、m e r k l e h e l l m a n 背包体制、 e 1 g a m a l 体制、r o b i n 体制、椭圆曲线体制及多维r s a 体制等。它们共同的特 点都是基于陷门单向函数的概念,把问题归结为某一数学难题的求解。 r s a 公钥密码体制是1 9 7 8 年美国麻省理工学院的r i v e s t ,s h e m i r 和 a d e l m a n 三位青年科学家提出,并以三位发明者的名字命名。它是第一个成熟 的、迄今为止理论上最为成功的非对称密钥加密体制。其安全性基于数论中的 8 采用u n i x 认证方式的b s 学籍管理系统的研究与开发 欧拉( e u l e r ) 定理和计算复杂性理论中的下述论断:求两个大素数的乘积是容易 的,但要分解两个大素数的乘积,求出它们的素因子则是非常困难的。它使用 了一对密钥:一个用于加密数据,另一个则用于解密数据,通信双方无须事先 交换密钥就可以进行保密通信。这两个密钥之间存在着相互依存关系:即用其 中任一个密钥加密的信息只能用另一个密钥进行解密。若以公钥作为加密密钥, 以用户专用密钥( 私钥) 作为解密密钥,则可实现多个用户加密的信息只能由一 个用户解读;反之,若以用户私钥作为加密密钥而以公钥作为解密密钥,则可 实现由一个用户加密的信息而由多个用户解读。r s a 体制的算法过程如下: ( 1 ) 设p 和q 是随机选取的两个大素数,p 和q 保密。 ( 2 ) 计算n = p q ,烈,1 ) = ( p 1 ) ( q 一1 ,n 公开,识茚保密。 ( 3 ) 随机选取一个与似n ) 互素且烈n ) 整数e ,作为公开的加密密钥。 ( 4 ) 由e 求出秘密的解密密钥d ,满足d e = l ( m o d 烈n ) ) ,d 保密。 ( 5 ) 将待加密信息m 进行加密前,首先将它分成小于n 的数据块,也就是 说,如果p 和q 都为十进制1 0 0 位的素数,则1 1 刚好在2 0 0 位以内,因此每个 数据块研,的长度也应在2 0 0 位以内。加密公式为 e = 啦8 m o d n 得到的结果c2c 1 c 2 吒是经r s a 密码体制加密后的密文。 ( 6 ) 解密时,解密方需要执行与加密时类似的运算,解密公式为 m2 c 4m o d r r s a 体制中,加密密钥e 和大整数n 是公开的,而解密密钥d 与大素数p 和q 是保密的。 对称密码体制和公钥密码体制各有其应用场合。一般来说,在保密性要求 较高的场合,如军方、政府部门等国家要害部门一般采用对称密码体制,如白 宫电话专线采用一次一密的流密码体制,而在一般的应用场合,如一般的企业 部门及个人一般采用公钥密码体制,本文也采用r s a 公钥密码体制实现教师电 话信息的加解密,因为r s a 公钥密码体制的密钥管理工作较简单方便。 第2 章密码学相关知识 2 。2 哈希算法 哈希算法( h a s h 算法) ,又称杂凑算法。它是单向的,单向意味着反向计算 是不可行的,即不能按照输出求解出输入。该算法可以将任何长度的字符串转 换成固定长度的二进制序列,该二进制序列就是输入字符串的哈希值。一个安 全的哈希算法应该至少满足以下几个条件: 输入长度是任意的。 输出长度是固定的( 根据目前的计算技术应至少取1 2 8 比特,以便抵抗“生 日攻击”。 对每一个给定的输入,计算其哈希值是很容易的。 给定哈希函数的描述,找到两个不同的输入消息杂凑到同一个值在计算 上是不可行的;或给定哈希函数的描述和一个随机选择的消息,找到另 一个与该消息不同一的消息使得它们杂凑到同一个值在计算上也是不可 行的。 在加密和保密中常用的哈希算法有m d 4 ,m d 5 和s h a 等。其中,m d 4 和 m d 5 算法是由r o nr i v e s t 发明的,这两个算法均产生1 2 8 位的哈希值,m d 5 是m d 4 算法的改进算法。s h a 算法是由美国国家标准与技术局( n i s t ) 和i 美国 国家安全局( n s a ) 共同设计的一个与美国数字签名算法( d s a ) 一起使用的哈希 算法,其遵行的标准是安全哈希标准( s h s ) 。s h a l 可以产生1 6 0 位的哈希值。 此外,s h s 体系中还有哈希值位数更高的s h a 2 5 6 等算法。 哈希算法主要用于产生数字签名。此外,哈希算法还用于保护用户保存在 数据库中的登录信息。例如,在用户登录数据库中,可以存放用户密码的哈希 值,当用户登录时,输入用户密码,系统收到该密码时,计算其哈希值是否等 于系统数据库中存放的用户密码的哈希值。但此法很难抵御穷举法攻击,因为 一般安全意识较弱的用户,他们使用的密码是比较容易猜测到的。 对摘要信息进行攻击的常用方法是一种称为“生日攻击”的攻击方式( 是一 种蛮力攻击方式) 。这个名称的由来是基于这样一个惊人事实:2 3 个人中两人以 上生日在同一天的概率大于1 2 。基于这种考虑,有关部门不久又推出了摘要位 数更长的s h a 一2 5 6 ( 摘要位数为2 5 6 位) 、s h a 一3 8 4 ,s h a 一5 1 2 等算法,减少匹配 1 0 采用u n i x 认证方式的b s 学赭管理系统的研究与开发 可能性。 由于s h a l 生成的摘要信息长度比常用的m d 4 和m d 5 哈希算法生成的摘 要数据要长( m d 4 ,m d 5 生成的摘要长度为1 2 8 位) ,虽然执行速度比它们慢一 点,却更安全。2 0 0 4 年,山东大学王小云教授攻破了m d 5 算法。引起密码学 界的轩然大波。m d 5 的全称是m e s s a g e - d i g e s ta l g o r i t h m5 ( 信息摘要算法) , 在9 0 年代初由m i tl a b o r a t o r yf o rc o m p u t e rs c i e n c e 和r s ad a t as c c u r i t yi n c 的 r o n a l dl r i v e s t 开发出来,经m d 2 、m d 3 和m d 4 发展而来。2 0 0 4 年8 月1 7 日的美国加州圣巴巴拉召开的国际密码学会议( c r y p t o 2 0 0 4 ) 安排了三场关于 杂凑函数的特别报告。在国际著名密码学家e l ib i h a m 和a n t o i n ej o u x 相继做了 对s h a 1 的分析与给出s h a 一0 盼一个碰撞之后,来自山东大学的王小云教授 做了破译m d 5 、h a v a l 1 2 8 、m d 4 和r 口e m d 算法的报告。王小云教授的报 告轰动了全场,得到了与会专家的赞叹。 不久,密码学家l e n s t r a 利用王小云提供的m d 5 碰撞,伪造了符合x 5 0 9 标准的数字证书,这就说明了m d 5 的破译已经不仅仅是理论破译结果,而是可 以导致实际的攻击,m d 5 的撤出迫在眉睫。而s h a l 是由n s a 设计的,并由 n i s t 将其收录到f i p s 中,作为散列数据的标准,它可产生一个1 6 0 位的散 列值。目前s h a l 仍是流行的用于创建数字签名的单向散列算法。在m d 5 被王 小云为代表的中国专家破译之后,世界密码学界仍然认为s h a 一1 是安全的。 2 0 0 5 年2 月7 日,美国国家标准技术研究院发表申明,s h a 一1 没有被攻破, 并且没有足够的理由怀疑它会很快被攻破。故本文舍弃m d 5 而采用s h a l 哈希 算法。 2 3 用户认证 2 3 1 常用的用户认证方法 用户认证基本方法有:通行字( 如p i n s ,口令) 进行身份认证、利用被认证 者具有的物品( 如密钥卡、安全令牌) 进行认证,利用用户的生物特征( 如指纹) 进行认证等;其中用户口令认证是最常用的一种认证方法,但传统的认证方法 主要采用简单口令认证方式,当被认证对象要求访问提供服务的系统时,提供 第2 章密码学相关知识 服务的认证方要求被认证对象提交该对象的口令,认证方收到口令后,将其与 系统中存储的用户口令进行比较,以确认被认证对象是否为合法访问者。这是 一个弱认证,它存在下面几点不足: 一用户每次访问系统时都要以明文方式输入口令,这时很容易泄密。 口令在传输过程中可能被截取。 用户在访问多个不同安全级别的系统时,都要求用户提供口令,用户 为了记忆的方便,往往采用相同的口令。而低安全级别系统的口令更 容易被攻击者获得,从而用来对高安全级别系统进行攻击。 - 只能进行单向认证,即系统可以认证用户,而用户无法对系统进行认 证。攻击者可能伪装成系统骗取用户的口令。 简单的口令认证之所以容易遭受攻击,主要是因为采用了开放性的口令。 所以在网络传输过程中应该采用非开放性的口令,一般利用一个单向函数把用 户口令转换为一个定长的值存在系统文件中,再采用相同的函数转换用户实时 输入的口令,通过比较计算值与系统存储的值进行用户认证。 2 3 2 堋i x 认证方式 早期u n i x 系统把用户口令保存在一个纯文本可读的“口令文件”中,这可能在 系统管理员注意不到的情况下被截取并暴露。它也可能在一次偶然事件中泄露。 现在u n i x 将口令以不可读的方式保存在机器中。系统使用名为c r y p t o g r a p h i c h a s h 的算法将口令转换成文本字符串。这个串即称为散列或者散列值。使用的算法可 以有多种,但它们都是不可逆的,也就是说不能从散列值中恢复出原始口令。不 同的系统,所使用的密码文件以及加密算法都可能不同。管理、维护好这些密码 文件是保证系统安全的首要任务。在u n i x 下存在多种散列算法,可以通过库函数 c r y p t ( ) 调用这些系统支持的算法。c r y p t ( ) 有k e y 和s a l t 两个参数,并返回相应的散列 值。s a l t 亦即我们常说的“盐”,它是随机数据,它的长度取决于所使用的算法, 不同的散列算法它有不同的取值范围,可以和经过加密或哈希处理的数据一起使 用,用以增加攻击者对受保护数据发起强力字典攻击时所花费的工作量。当我们 使用p a s s w d 命令来修改密码时,它会随机选择一个s a l t ,s a l t 使得使用预编译字典 对加密口令进行攻击变得更困难。代替为字典中每个单词做一次单独加密,攻击 1 2 采用u n i x 认证方式的b t s 学籍管理系统的研究与开发 者现在不得不对字典中每个单词的40 96 种排列进行加密和储存。传统u n i x 系统 采用d e s 产生的带有1 2 t ? , 特s a l t 的5 6 比特口令散列值,不再被认为是一种有效的防 御方法;新版本u n i x 系统引入m d 5 散列算法,带有4 8 比特s a l t 的1 2 8 比特散列值, 由上一节可失n m d 5 已发现碰撞,s h a l 哈希算法产生1 6 8 l t 特散列值输出,其安全 性更高,且目前世界密码学界仍然认为s h a l 是安全的,没有足够的理由怀疑它 会很快被攻破。故本文舍弃m d 5 而取s h a l 哈希算法,在w i n d o w s 平台上采用 u n i x 系统所使用的口令认证方式,将s a l t 值添加到用户输入口令之前,再用s h a l 将其散列,这就使得唯一的s a l t 值被分配到每一个的用户,攻击者将需要为每个 s a l t 值创建一个字典,这将使攻击变得非常复杂且成本极高,从而使得本文所述 的学籍管理系统具有较高的安全性。其实现流程如下: ( 1 ) 远程用户注册时输入用户名与口令,系统创建s a l t 值,将s a l t 值 添加到用户输入口令之前,再用s h a l 将其散列,创建带s a l t 值口令 哈希值。 ( 2 ) 将带s a l t 值的口令哈希值与上一步系统创建的s a l t 值存储在数据 库中。 ( 3 ) 用户登录时从数据库中取得s a l t 值,将用户口令与该s a l t 值按与第一 步中相同散列函数将其散列,并与数据库中存储的口令哈希值匹配。若相等则通 过身份验证,否则认证无效。 第3 章n e t 开发环境 第3 章n e t 开发环境 本系统采用微软的w i n d o w ss e r v e r2 0 0 3 企业版为系统平台,利用其h s ( i n t e r n e ti n f o r m a t i o ns e r v e r ) 服务,采用a s p n e t 技术、h t m l 与x m l 技术 及a d o n e t 技术架构整个网站,后台数据库采用s q ls e r v e r2 0 0 0 。 3 1w i n d o w ss e r v e r2 0 0 3 操作系统 w i n d o w ss e r v e r2 0 0 3 是目前主流的商用服务器,w i n d o w ss e r v e r2 0 0 3 企业 版提供高度的可靠性和性能以及优异的商业价值。企业版可在最新硬件上使用, 它同时有3 2 位版本和6 4 位版本,从而保证了最佳的灵活性和可伸缩性。各组 织可从优化了的高效结构中获益,这种优化是针对关系到业务的应用程序和服 务而进行的。 w i n d o w ss e r v e r2 0 0 3 企业版允许通过添加处理器和内存来提高服务器性 能和容量。这种提高网络容量的方法称为“扩容”。通过添加能一起工作的处理 器,可以提高服务器计算机的性能。w i n d o w ss e r v e r2 0 0 3 企业版中增强的s m p 支持允许您使用多处理器服务器。它为微软的n e t 战略提供了全面的支持,包 括基于a s e n e t 的w e b 应用程序开发与w e b 服务等,并内置i i s 6 0 ,是中小 规模应用程序开发、w e b 服务器等的理想操作系统。 3 2 因特网信息服务器s 6 0 i i s 6 0 ( i n t e r n e ti n f o r m a t i o ns e r v e r5 0 ) 是内置于w i n d o w ss e r v e r2 0 0 3 企业版内的一项服务,用于在w i n d o w ss e r v e r2 0 0 3 企业版平台上建立和管理 i n t e r n e t 和i n t r a n e t 网站。它提供了w w w 服务器、f t p 服务器、s m t p 服务器、 n n t p 服务器、证书服务器和事务服务器等,从而可以进行网站的建立和维护。 3 3 数据库服务器m i c r o s o f ts q ls e r v e r2 0 0 0 m i c r o s o f ts o ls e r v e r2 0 0 0 由一系列相互协作的组件构成,能满足最大 1 4 采用u n i x 认证方式的b i s 学籍管理系统的研究与开发 的w e b 站点和企业数据处理系统存储和分析数据的需要。s o ls e r v e r2 0 0 0 标 准版,可以作为中小型数据库服务器使用。s o ls e r v e r2 0 0 0 集成了i n t e r n e t 功能,提供了完整的x m l 支持。s q ls e r v e r2 0 0 0 支持两种语言:运行在i i s 上 的i n t e r n e t 应用程序可以对映射架构使用x p a t h 查询;t r a n s a c t - s o l 语言。 t r a n s a c t s o l 不但遵从e n t r y 级的s o l - 9 2 标准,而且支持i n t e r m e d i a t e 和f u l l 级的一些功能。t r a n s a c t s o l 支持来自使用m i c r o s o f ta c t i v e x 数 据对象a d o n e t 、o l en b 、o d b ca p i 或在o d b c 上分层的a p i 的应用程序的 0 d b c 扩展。 3 4 应用平台与开发环境n e t 框架 目前最流行的商业企业级应用平台主要为j 2 e e 和n e t ,它们采用三层或多 层结构,功能强大,技术成熟。j 2 e e 是以j a v a 组件技术为基础的企业应用开 发标准。j a v a 具有纯面向对象的特性、垃圾回收机制和内置的安全性。j 2 e e 解 决了异构系统间的相互操作性,使企业应用具有高可靠性、可用性、安全性和 可伸缩性,它简化和规范企业系统的开发和部署。n e t 是微软近年推出的战略 平台,在构建企业应用上,它吸取了j a v a 技术的优点,并进行了合理的扩展。 它已经成为个概念、平台和未来发展的重要方向。下表为n e tf r a m e w o r k 体 系结构: 第3 章n e t 开发环境 3 4 1b s 三层体系结构 表3 - 1 n e t 框架体系结构 在b r o w s e r s e r v e r 三层体系结构下,逻辑应用程序体系结构将任何系统都 视为一组相互协作的服务,这些服务分为以下几层: 用户服务层( 即表示层) 业务服务层( 即功能层) 数据服务层 此逻辑体系结构视图的意义是标识任何系统中都有的一般服务类型,确保 正确地分段,以及促成各层之间的接口定义。这种分段使我们能够在实施每一 层时更为谨慎地进行体系结构和设计选择,从而构建出更易于维护的应用程序, 各逻辑层描述如下: 用户服务层负责客户端与系统之间的交互,并提供进入核心业务逻辑 的公共网桥,该业务逻辑由业务服务层内的组件封装。一般说来,用 户服务与交互式用户关联的情况最多。不过,它们也对其他系统发出 的编程请求进行初始处理,这种情况下不涉及任何可见的用户界面。 身份验证和授权的确切性质因客户端类型而异,它们通常在用户服务 层内执行。 业务服务层提供系统的核心功能并封装业务逻辑。它们独立于传输信 道和后端系统或数据源。这就为提升系统以支持新的、不同的信道及 后端系统提供了必要的稳定性和灵活性。通常,为特定业务请求提供 服务涉及到业务服务层内的许多协作组件。 数据服务层通过一般接口提供对数据( 系统边界内承载的) 及其他( 后 端) 系统的访问;通过业务服务层内的组件可以方便地使用这些接口。 数据服务抽象大量的后端系统和数据源,并封装特定的访问规则和数 据格式。 1 6 采用u n i x 认证方式的b s 学籍管理系统的研究与开发 系统内各服务类型的逻辑分类既与实施这些服务的组件的可能的物理分布 相关,又相对独立于它们的物理分布。可以在任何聚合级别上标识逻辑层,具 体来说,可以对整个系统( 在系统环境上下文和外部交互中) 标识逻辑层,也 可以对系统中所含的任何子系统标识逻辑层。记住这一点也很重要。例如,承 载w e b 服务的每个远程节点由用户服务( 处理传入的请求和消息) 、业务服务 和数据服务组成。 3 4 2 物理部署模型 前面所述的三个逻辑服务层并不意味着存在特定数量的物理层。所有这三 种逻辑服务在物理上可能位于同一台计算机上,也可能分布于多台计算机上。 w e b 服务器用作应用程序服务器 n e tw e b 应用程序的常用部署模式是将业务和数据访问组件放在 w e b 服务器上。这样就最大限度地减少了网络跃点,有助于提高性能。 图3 - 1 中显示了这种模型。 图3 1w e b 服务器用作应用程序服务器 远程应用程序层 远程应用程序层是常用的部署模式,尤其是以下i n t e r n e t 方案中的 常用部署模式:w e b

温馨提示

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

评论

0/150

提交评论