已阅读5页,还剩63页未读, 继续免费阅读
(计算机软件与理论专业论文)数据库用户认证机制的研究和实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江火学坝卜学位论文 摘要 数据库用户认【正是数据唪服务器通过些手段笋断是否允许客户端以它所要求的用户名进行 联接的过程。它是认证技术和数据库技术的紧密结合。随着各种第三方认证产品和加密技术的出 现,数据库用户队证在理论和实践上都有了长足的进步。但现有的数据库产品大都是国外的产品, 安全技术的刁河见性使国家的售鼠安全受到极大威胁。因此,开发具有自主知识产权的田产数据 库具有重要的意义。 本文的研究目标是在深入研究丌放源代码软件p o 啦s q l 数据库管理系统认证剞啸帅0 基础 上提出1 十安全,实用,有效的国产通用数据库系统的用户认证机制。本文主要研究以下,l 干十认 证机制: 1 ) 操作系统认证机制。该机制通过使用网络用户的安全持陉雠嶝录访问,实现与w m d o w sn t 4 0 或w i n & ) w s2 0 0 0 的登录安全集成。该技术允许用户不需要输入用户名和密码即可迅速 登陆进入数据库系统,并可利用操作系统的安全技术提供更多的安全功能 2 ) 新的一次| 生口令认证机制。针对p o s 哦s q l 原有认汪机制具有易遭受【一令猜测攻击和服务器 端假冒攻击的缺陷,本文设计了种简单而有效的口令认证机制。该认证机制不需要使用仟 何加密系统,就能有效加强对各种攻击手段的防范能力。 3 ) 基于击踺特征的用户认证机制。针对一日口令失窃,数据库安全就无从淡起。而现有的各种 生物认证技术又需要特殊的硬件支持,价格昂贵。因此本文提出一利一基于击键特征的用户认 证栅p 阼为强认证的科6 挥。 此外,本文还介绍了采用以上技术设计的通用国产数据库系统用户认证的框架,并介绍了部 分实 儿 关键虱数掘库认证,用户认证,p o s t g r e s q l ,操作系统认证,口令认证,k :r b 郴,s s l 浙江大学硐士学位论文 a b s t r a c t d a t a b a s e 趾l f i l e n f i c a t i o n i s t h e p r o c e s s b y w n c h t h e d a t a b a s es e r v e r e s t a b l i s h e s t h e i d e n t i t y o f t h ec l i e n k a n d b y e x t e n s i o nd e t e r m i n e sw h e t h e rt h ec l i e n ta p p l i c a t i o n ( o rt h el l s x ! rw h oi l l r l st h ec l i e n ta p p l i c a t i o n ) i s p e r m i t t e dt o c o n n e c tw i t ht h eu s e r1 1 a l t l et h a tw a sr e q u e s t e d i ti st h ec o m b i n a t i o no fa u t h e n t i c a t i o n t e c h n o l o 毋 a n dd a t a b a s et e c h n o l o g y w i t ht h ed e v e l o p m e n to f 恤t h i r d - p a r t ya u t h e n t i c a t i o np r o d u c ta n d c r y p t o s t s t e m sa a t a b a s ea t t t h e n t i c a i o nh a sag r e a ta d v a n c e m e n tb o t hi n 吐l e o r ya n dp r a 血c e b u tc u l t e n t d a t a b a s ep r o d u c t sa t ep u r c h a s e df r o mf o r e i g nc o u n l r i e s o i l c o t m t r y si n f o r m a t i o ns e c u r i t yi ! ;u n r e l i a b l e w i t h o u t g r a s p i n gm ek e ys e c u r i t y , t e c h n o l o g i e s i ti ss i g n i f i c a n tt od e v e l o p an a t i o n a ld a t a b a s ew i t ho u ro w n t e c h n o l o g i e s t h eg o a lo f t h i sp a p e ri st op r o v i d ea s e c u r e ,p r a c f c a la n de f f i c i e n ti i g e ra u t h e n t i c a t i o nm e c h a n i s m w h i c hi sb a s e d0 1 7 1t h ed e e p l yr e s e a r c ho nt h eo p e ns o u r c ed b m ss o f t w a r ep o s t g u e s q la n do t h e rr e l a t e d t e c h n o l o g i e s s p e c i a l l y ,t h i s p a p e r f o c u s e s o n t h e f o l l o w i n ga l m l 锄c a d o n m e d 】a n l s m s : 1 ) o p e m 她s y s t e m a u t h e n t i c a t i o n t i f f sm e c h a n i s mc o n t r o l sl o g g i n ga c c e s sb yt h es e c u r i 母, f e a t u r e so f n e t w o r ku s e r i m p l e m e n t i n gi n t e g r a t i o nw i t ha 。c e s sc o n t r o lm e c h a n i s m so fw i n d o w si , 7 i4 0o r w i n d o w s 2 ( x ) 0 t h i s t e c h n o l o 努, a l l o w s u s e r t oa c c e s s d a t a b a s e w i t h o m i n p t a t i n g u s e r i da n d p a s s w o r d a n d p r o v i d e sm o r es e c u r i 母 f u n c t i o n sb yu t i l i z i n gt h es e c u r i 母, t e c h n o l o g i e so f o p e r a i n gg s t e m 2 ) a n e wo n et i m ep a s s w o r da u t h e n t i c a t i o ns c h e m e t h e 谢g h a l p a s s w o r da u t h e n t i c a t i o ni su a l n e m b l e t og u e s sa t t a c ka n ds e r v e r 1 ) e r m n a f i n g a t t a c k t oo v e r c o m et h ev u l n e r a b i l i b , o f t i _ 】i ss c h e m e , t h i s p i p 甜 d e s i g n sas i m p l em a d e f f i c i e n tp a s s w o r da u t h e n t i c a t i o ns c h e m a t h ee n h a n c e ds c h e m ac a l li m p r o v et h e s y s t e m l s a b i l i t y t o d e f e n d a l l k 出n d s o f t h e a t t a c k s w i t h o t a u s i n g a n y c r y p t o s ) 碰t e m s 3 ) u s e r a u t h e n t i c a t i o nb a s e do n k e y s 心o k ef e a t u r e s d a t a b a s es e c u r i t yi sm e a n i n 出s si f t h ep a s s m o r di s s t o l e n c u r r e n ta p p r o a c hf o ra t 砘h e n t i c a t i o nb a s e d ( i l lb i o m e t r i c sm u s tb es u p p o r t e dw i t h s p e c i a l h a r d w a r e d e v i c e w i t h l i 垂1 e x p e n s e t h i s p a p e r 粥a n e w a p p r o a c h b a s e d o i l k e y s t r o k e f e a t u r e s a sa s c o n ga u t h e n t i c a t i o nc h o i c e a d d i t i o n a l l 3 , t h i s p a p s a l s o i n t r o d u c e s t h e f r a m e w o r ko f c o m m o n n a t i o n a l d b m s u s e r a u t h e n t i c a t i o n w i t h t h e t e c h n o l o g i e s m e n t i o n e d a b o v e a n d p r o v i d e s p a r t & i t s i m p l e m e n t a t i o n k e y w o r d s :d a t a b a s ea u t h e n t i c a t i o n , p o s r g e s q l ,u s e ra u t h e n t i c a t i o n ,p a s s w o r da t j h e n f i c a t i o n , k e y s t r o k ef e a t u r e ,k e r b e r o s ,s s l v 浙江火学硕士学位论文 1 绪论 1 1 项目背景 数据库软件处于软件产业的上游,是数据处理的核心,因此无论是发展民族 软件产业角度还是保障国家信息安全的角度,发展国产数据库软件一直都是我国 科研技术人员的梦想。目前,基于i n t e r n e t 的一大批新一代数掘库应用应运而生, 如支持高层决策的数据仓库、数字图书馆、电子出版物、电子商务等的信息管理 与检索等,数掘库软件需求十分庞大。与此同时,公安、国防、政府、金融等要 害部门对自主、安全的数据库管理系统提出了非常迫切的要求。 发展国产数据库系统,将对我国软件产业及相关产业发挥重大影向。 l 、发展国产数据库系统,掌握数据库核心技术对提升整个中国软件业的技 术水平、摆脱应用软件市场的被动局面、推动基础软件的规模化、产业化进程具 有十分重要的意义。 2 、发展适合国情的国产数据库基础性软件,利用我们开发成本低和售后服 务更方便、快捷优势,对推动我国信息化建设具有重要的作用。囤家每年在国外 数据库软付:的投入是2 0 0 多个亿,如果采用【鲴产软件,将节省大量的资金。 3 、发展国产数据库系统对保证国家信息安全具有重要意义。信息化涉及到 围家政治、经济、军事、安全的要害领域,因此拥有自主知识产权的国产数据库 对保证国家信息安全具有重要的意义。信息安全首先是系统的安全,在操作系统 掌握于他人的情况下,数据库系统的安全为数据安全提供了最可靠的保证。 我国很早就对数据库技术进行了研究,但由于技术、资金和市场的原因一 直处于较落后状态。i n t e m e t 的飞速发展对数据库提出了新的需求和挑战,同时 以网络计算为核心的全新应用环境使得我们与世界数据库厂商站在相同的起跑 线前,给国产数据库软件提供了新的机会。 在此背景下,浙大c i m s 实验室启动名为o s c a r 的项目,致力于已有的丌 放源代码软件p o s t g r e s q l 数据库管理系统平台的进一步开发,目前得到国家8 6 3 项目的支持。其目标是以市场需求为驱动,研制一个在功能、性能、实用性、稳 定性、安全性以及可扩展性等方面能够满足电子政务、企业信息化、电子商务以 浙江大学顾士学位隆文 及国防工业等敏感部门信息化建设需求的大型通用数据库产品,并在这些领域中 逐步替换国外数据库系统。国产数据库系统的成功研制和应用,一方面将可能彻 底解决由于广泛应用国外数据库产品可能带来的信息安全问题,另一方砸i 也将在 系统软件领域极大地推动我国民族软件产业的发展。 1 2 数据库安全技术的意义 随着数据库应用的逐渐广泛,数据库对于人们的工作生活影响越来越大。而 且数据库系统一般都提供网络环境f ;的大规模数据共享,允许网络上许多不同用 户并发存取数据,这大大提高了工作效率。但随之而来的是数掘库安全问题,非 授权用户可能窃取、篡改和破坏数据库中的信息。特别在军工部门,数据库中存 有敏感信息,数据被非法存取会危及国家安全。因此数据库系统还必须具有完备 的安全策略才能得到大范围的应用。 数据库安全性技术是保护数据库以防止不合法的使用所造成的数据泄露、更 改或破坏。计算机系统都存在这个问题,在数据库系统中大量数掘集中存放,为 许多用户共享,使安全问题更为突出。 数据库的安全性可以分阻下几个层次: 物理层计算机系统所位于的节点( 以防止入侵者强行闯入或暗中潜入。 人际层对用户的授权必须格外小心 处而给入侵者提供访问机会的可能性。 个或多个) 必须物理卜受到僳茹 以减少授权用户接受贿赂或其他好 操作系统层不管数据库系统多安全,操作系统安全性方面的弱点总是可能成 为对数摒库进行未授权访问的一种手段。 网络层由于几乎所有的数摒库系统都允许通过终端或网络进行远程访 问,网络软件层安全性和物理安全性一样重要,不管在因特网上还足在企、i k 私有 的网络内。 数据库系统层数据库系统的某些用户获得的授权可能只允许他访问数据 库中有限的部分,丽另外一些用户获得的授权可能允许他提出查询,但不允许他 修改数据。保证这样的授权限制不被违反是数据库系统的责任。 浙江人学砸十学位论文 为了保证数据库安全,我们必须在上述所有层次上进行安全性维护。如果较 低层次上( 物理层或人际层) 安全性存在缺陷,高层安全性措施即使很严格也可 能被绕过。完全杜绝对数据库的恶意滥用是不可能的,因为有些层次上的安全性 问题是我们数据库设计者无能为力的。但是我们可以做到尽可能的完善数据库系 统层上的安全性,使其不至于成为安全性问题中最薄弱的环节。 数据库系统的安全措施是一级一级层层设置的,真正做到了层层设防。 ( 1 ) 用户认证是数据库安全的第一道防线。验证用户的身份在分前j 式环境中是至 关重要的。在用户发出连接数据库的请求时,服务器端首先需要验汪陔用户 的真实身份,从而判断该用户是否为合法用户。由于网络技术的发展,允许 用户通过网络对数据进行远程访问或分布式访问,网络的不安全性给用户 认证提出了新的挑战。现在的数据库开发者采纳并大力提升网络安全性功 能,例如支持k e r b e r o s ,s s l ( s e c u r es o c k e t sl a y e r ) 的安全协议以及其他加密 原浯利协议,用以在用户的客户端主机与数据库服务器之间建立一条可信任 的连接。这一层是本文研究和讨论的重点。 ( 2 ) 存取和权限控制。一目用广i 被认证并通过加密连接接入数据库后,所有查询 丌始运用存墩和权限控制进行保护。该机制主要用于规定何种主体列何种客 体有何种操作权利。 ( 3 ) 审计。审训是种事后策略,审计是对选定的用户动作的监控和记录,通常 用于审查可疑的活动和监视和收集关于指定数据库活动的数据。 1 3 数据库用户认证技术的意义 认证技术足根据一定的认证策略对访问系统的用户进行身份鉴别,防止非法 用户访问系统,使系统遭到非法破坏。认汪,又称为鉴别、确认,是认讧e 某人或 某事是否名副其实或是否有效的过程。认证的基本思想是通过验证称谓者的一个 或多个参数的真实性与有效性,以达到认证的目的。对于服务器来说,是确定用 户是否是合法用户,是否具有访问系统的权利;而对于用户来说,用来使列方确 信自己是合法用户,而非入侵者。也就是说认证就等于身份声明加身份验证。 数据库用户认证是认证技术在数据库信息系统中的应用。和操作系统的用户 认证类似,数据库用户认证是在数据库系统前后端之间建立可信安全通信信道的 浙江大学i i i j h 一学位论文 重要过程。它是数据库系统的门禁模块,是数据库授权和审计的基础。数据库认 证可以分为两个过程,一是确信刺方确实足他所称的那个用户,二是验证这个用 户是否为数据库的合法用户。概括来说,有三个要素可以用于认证过程,即:用 户的知识,如口令等;用户的物品,如l c 卡等;用户的特征,如指纹等。现有 的数据库系统提供了多种认证方式以供不同安全级别的用户或应用使用,主要通 过以下安全架构来实现:( 1 ) 认证直接在数据库服务器端和客户端的用户认证模 块中进行实现,如简单的口令认证机制。( 2 ) 借助功能强大的第三方认证产品来 实现认证擞据库系统的用户认证模块只负责与第三方产品的交互。如k e r b e r o s , r a d i u s ,i d e m 认证。某种意义上说,操作系统认证也属于第三方的一种认证。f 3 ) 利用已实现的密码工具箱来实现安全连接,如o p e n s s l 库实现的s s i 安全套接字协 议。 数据库用户认证是数据库技术,认证技术,网络技术等多种技术的融合。用 户认证一方面要使合法用户的认证越简单越好,另一方面又要求能防御非法用户 的各种攻击手段,保证只有合法的用户刁嘈进入数据库内部。用户认证是数据库 安全理论与技术的一个重要方面。用户认证是数据库系统中的第一道关卡,剧尸r 在诵问数据库信息资源之前,首先需要经过身份认证模块识别身份,决定足允许 客户器端建立连接:然后访问授权控制模块根据用户的身份和权限决定用户是台 能够访问某个资源;审计系统记录用户的清求和行为,同时入侵检测系统实时或 非实时地是否有入侵行为。访问控制和审计系统都要依赖于身份认证系统的提供 的”信息”一一用户的身份。可见身份认证在安全系统中的地位极其重要,是最基 本的安全服务,其它的安全服务都要依赖于它。一旦身份认证系统被攻破,那么 系统的所有安全措施将形同虚设。黑客攻击的目标往往就是身份认证系统。凼此 加强数据库用户认证机制的研究和应用是一个非常重要的课题。 1 4 论文的主要工作 本论文主要在开放源代码软件p o s t g r e s q l 7 3 2 的用户认证模块源代码分析 的基础上,并结合对其他主流数据库沙。证机制以及用户认证理论与技术的深入研 究,设计并实现了种安全、有效的数据库安全认证机制。主要包括: ( 1 ) 在原有代码的基础上无缝地加入了一般主流数据库都具有的操作系统身份 浙江大学预士学位论文 认汪功能。该用户认证使用户可以方便的连接到数据库,不需要指定用户名和口 令。对用户授权的控制集中在操作系统,服务器端不需要存储和管理用广t 口令, 只在数据库系统中储存数据库用户名称;在数据库中的用户审计踪迹和操作系统 的相对应。 ( 2 ) 运用一次性动态口令技术改进p o s t g r e s q l 原有的口令认证机制。现有的一 次口令认证机制大都采用s a l t 在网络上的明文传输,易遭受离线的口令猜测攻击 并只能实现单向认证。本文在p o s t g r e s q l 原有的i z 令认证机制的基础上设计了 一种简单而安全的口令认证协议。该协议利用简单的h a s h 函数,不仅能大大增 强防范字典攻击的能力,而且实现了服务器端和客户端的双向认证,并且没有一 般加密系统的复杂性和密钥管理问题。 ( 3 ) 提出了基于基键特征的用户认证方法做为强认证的选择。该认证机制是口 令认证模式和生物特征的结合,可以防止因口令失窃而造成的系统威胁,更重要 的是,它不需要昂贵的硬件的设备,以软件的方式实现算法。同时也具有隐蔽性, 即用户无从知道系统是否采取了这种技术,避免非法入侵者有针对性的破坏和伪 造。本论文采用基于有限正例的示例学刿新方法,对用户输入1 3 令时的形成的击 键特征向量与服务器端的已有的特征向量进行比较,从而把非法用户拒之门外。 另外,把上述认证技术集成到现有的数据库系统中进行应用也是本论文的 部分工作。 1 5 本文的体系结构 本文以下内容按照如下结构编排:第二章综述了用户认证理论和技术的发 展;第三章介绍p o s t g r e s q l 的体系结构和认证机制并指出其存在的局限性:第 四章介绍一次性口令认证的定义及技术思路;第五章介绍操作系统认证的原理及 方法:第六章介绍基于基键特征的用户认证机制的思想和算法;第七章首先借鉴 一次性口令认证的思想对p o s t g r e s q l 原有的口令认证机制进行改进,然后结合 操作系统认证机制和基于击键特征的用户认证机制详细介绍国产数据库系统中 用户认证机制的设计与实现;最后,第八章将总结全文的研究成果,并进行展望。 浙江人学硕,卜学位论文 2 用户认证理论与技术的发展 2 1 用户认证的基本概念 这早我们主要介绍用户认证在数据库环境中的概念。现有的数据库大都是 c s 结构的,客户端和服务器端通过网络进行通讯。通讯的双方是不可见的。如 何知道对方正好是他自己声称的那个人或实体而不是他人目名的呢? 即使得到 的信息确实来自声称方,如何保证中途未被篡改,即如何保证其完整性和真实性 呢? 不解决这些问题,就没有安全性可言。因此,用户认证就提供了关于某个实 体身份或数掘起源的保证。这意味着,认证机制将提供某种策略来证明这声明 是正确的。数据库系统中的认证模型如图2 1 所示。用户要访问数据库中的信息 必须提供自己掌握的秘密信息,在安全等级较高的应用中,还需要第二方提供安 全认证的服务,负责向通讯双方发放秘密信息,并向所有敌方保密,或者仲裁通 讯双方对消息的真实性和合法性产生的纠纷。 图2 1 认汪模型图 认证可以分为单甸认证和双向认证。单向认证是假设服务器端是可信方,仅 要求客户提供表明身份的信息,由服务器来验证客户身份的真实性。双向认证是 通讯双方对对方来说都是不可信的,都要提供证明身份的依据,以实现双方的通 信和合作。 用户份认证是授权控制和审计的基础,但实现起来较困难。下一节就将介绍 用户认证所面临的挑战以及它要实现的目标。 浙汀大学预f 一学位论文 2 2 用户认证的挑战和目标 数据库用户认证面临的挑战源于现有网络通讯的不可靠性,主要存在以下几 种安全威胁川,这几种威胁其实都是相互联系的,不能单独的割裂开来: 窃取口令:非法用户以某种方式( 如口令猜测,直接偷看等) 获得合法用户身 份的口令,这样他( 她) 就可以访问对其而言并末获得授权的系统资源。 流量分析:非法用户对通讯双方交换的信息进行分析、试图判断或还原原信息; 这种攻击通常根据截获的数据包,进行逻辑推理,来获取有用信息。 重传攻击:非法用户截获信息,然后再传送给接收者;这一般由于攻击者无法 还原信息,但经过处理的信息每次是固定的,这样攻击者就可以通过重传来获取 接收者的信任。 修改或伪造攻击:非法用户截获信息,经过替换或修改信息后再传送给接收者, 或者非法用户冒充合法用户发送信息。 拒绝服务攻击:阻止系统资源的合法管理和使用。即使是合法的用户也被拒绝 服务。 因此用户认证机制应该完成如下的认证目标f 2 1 : 可信性:信息的来源是可信的。也即信息接收者能够确认所获得的信息不足由 冒充者所发出的。 完整性:要求信息在传输过程中保证其完整性。也即信息接收者能够确认所获 得的信息在传输过程巾没有被修改、延迟和替换。 不可抵赖性:要求信息的发送方不能否认他( 她) 所发出的信息;同样,信息的 接收方也不能否认已收到了信息。 访问控制:非法用户不能够访问系统资源;合法用户只能访问系统授权和指定 的瓷源。 2 3 主要的用户认证技术 下面介绍的用户认证技术是实际应用中各种认证机制的理论基础。每种认证 机制是以下多种技术的联合和应用。 i n 令认证川 用户身份认证的最简单方法就是口令。系统事先保存每个用户的二元组信息 浙江人学硕j j 学位论文 f 用户名,口令) 。进入系统时用户输入用户名和口令,系统根据保存的用户信息和 用户输入的信,r d , - d 比较,从而判断用户身份的合法性。很明显,这种身份认证方 法操作十分简单,但同时又最不安全,因为其安全性仅仅基于用户口令的保密性, 而用户口令一般较短且容易猜测,因此这利,方案不能抵御口令猜测攻击;另外, 【 令的明文传输使得系统攻击者很容易通过搭线窃听方法获取用户口令;虽后, 由于系统保存的是口令的明文形式,一方砸需要系统管理员是可信赖的,另一方 而, 一旦攻击者能够访问口令表,整个系统的安全性就受到了威胁。口令方案 对重传攻击也是毫无抵抗能力。 一个改进的方案是口令的加密传输。由于传输的是用户口令的密文形式,系 统仅保存用户口令的密文,因而窃听者不易获得用户的真实口令,但是这种方案 仍然受到口令猜测的攻击,另外系统入侵者还可以采用离线方式对口令密文实施 字典攻击。 但由于该认证方法的简单性,几乎所有的数据库都首先采刷了这种传统的认 证方法。基于口令出现了许多研究的热点,如何保护口令在不安全网络上的传输, 如何保存口令信息不被窃取等等。第四章介绍的一次性 j 令机制就是目前比较安 全可靠的一种口令认证方案。 2 基于智能卡的用户身份认汪【2 1 1 基于智能卡的用户身份认证机制足双因素认证结合了以下两种信息。 用户所知道的某个秘密信息,例如用户知道自己的1 令: 用户持有的某个秘密信息( 硬件) ,用户必须持有合法的随身携带的物理介质, 例如智能卡中存储用户的个人化参数,访问系统资源时必须要有智能卡; 用,、信息( 用户名,| :_ f 令) 存在智能卡中,服务器中存入某个事先由用户选择的 某个随机数。用户访问系统资源时,用户输入( 用户名,口令) 。系统首先判断智 能卡的合法性,然后由智能卡鉴别用户身份,若用户,身份合法,再将智能卡中的 随机数送给服务器作进一步认证。这种方案基于智能卡的物理安全性,即不易伪 造和不能直接读取其中数据。没有管理中心发放的智能卡,则不能访问系统资源, 即使智能卡丢失,入侵者仍然需要猜测用户口令。 这种方法需要硬件设备的支持,成本较高。目前在o r a c l e 中支持该认证方法。 3 生物认证 2 2 j 浙江人学碗j 学位论史 摹于生物学信息的认证就是利用用户所特有的生物学特征来区分和确认用 户的身份。这些个人特征是每个用户特有的,且在一定时期内不会改变,如指纹、 声音、视网膜、d n a 图案等。由于这些特征不会丢失、被盗或忘记,因此适用 于刑用户身份的鉴别和认证。但这种方案造价较高,适用于保密程度很高的场合。 近年来又出现了基于击键特征的思想,把口令认证与用户的击键特征相结合,即 使口令失窃,仍能有效阻止非法用户的侵入。该方法不需要额j l - # , j 硬件支持,造 价低,关键是要选择好的模式识别算法,以提高识别能力。本文中将对这一认证 方法做详细介绍。 4 基于别称密钥算法的认证机制【2 2 】 设通信双方a 和b 。a 、b 共享的密钥k a b 。m 为a 发送给b 的信息。为防 止信息m 在公共信道被窃听,a 将m 加密后再传送: 图2 , 2 私钥认证原理图 由于k a b 为a 和b 的共享密铡,b 可以确定m 是由a 所发出的。这是一种简单 的信启、来源认证方法。在认证的同时对信息m 也进行了加密,但是这种方泫一 般不能提供信息完整性的攀别。甲向h a s h 函数提供了一种信息完整性的方法, 如图2 - 3 所示: 图2 3 私钥认证体制图 基于私钥认证的优点是速度较快,但是其缺点足通信双方a 和b 需要事先约定 密钥k a b ,另外更为重要的一点是,若a 需要与n 个用户通信,a 需要事先约定 浙江人学碗j j 学位论文 n 一1 个密钥,并且还应秘密保存这些密钥。这一要求显然在大型网络环境下是不 合适的( 实际应用中应考虑增加密钥分配中心) 。这种认证机制通常与其他协议相 结合来保护认证信息的传输。如k e r b e r o s 就是以对称加密算法d e s ( d a t a e n c r y p t i o nm o d e l ) 作为油、议的基础。 5 基于公共密钥( p k i ) 的认证体制【2 2 1 假设a 要向b 发送数据,a 先从认证中一o , ( c a ) 中获得b 的公钥p b k ,并自己 产生一个密钥k ,用k 加密所传输的数据,得到c 1 ,用b 的公钥p b k 加密k 得 到c 2 ,将c 1 和c 2 ,将c 1 和c 2 一起发送给b ,b 得到c 1 、c 2 后,先用自己 的私钥p v k 解开c 2 ,得到加密数据的密钥k ,然后用k 解密c 1 得到所要的数 据。这是基于p k i 模式的简单的交互过程。在实际应用中会利用这种结构根据 实际需要设计相应的认证切、议。如本文要介绍的s s l 加密协议就采用了这种结构。 这种方法是通过建立认证中心( c a ) 、在公钥密码、对称密码、数字签名及数字证 书的基础上,近几年来快速发展和广泛应用的一种认证方法。但这种方法所需要 的投入成本比较高,需要占用大量的c p u 处理时间,而且遇到密铡和证书的管 理问题。同时这种方法技术门槛高,对用户有较高的技术要求,不适合普通的用 户使用。目前主流的数据库系统都支持s s l 进行加密通讯。 6 其他认证技术 随着第三方产品的出现和成熟,现有的数据库产品开始借助于第三方来进行 认证,只在客户端和服务器提供对第三方接口的支持。现在安全度较高的产品如 k e r b e r o s ,r a d i u s 等,其底层技术都采用了上述技术中的一种或几种。其中以 k e r b e r o s 系统最为流行。几乎所有的数据库产品都支持该认证系统。本文将在 3 , 3 3 节对其原理进行详细介绍。 此外,许多数据库也借助操作系统来进行认汪。w i n d o w s 下的操作系统认 证主要运用域控制器进行验证。l i n u x 相类似地实现了i d e n t 认证,借助i d e n t 服 务器来进行验证。这两利i 方法都会在下文进行详细介绍。 还有一些简单的认证是通过主机i p 地址来进行认证。服务器端直接根据客户 端的i p 地址进行接受和拒绝。如下文提到的信任认证。这种方法由于i p 地址的 可欺骗性而只适用于单用户工作站的本地连接。 浙江大学砸。学位论文 3 p o s t g r e s q l 体系结构与认证机制 3 ,1 p o s t g r e s q l 体系结构 ( a i i 1jc a t i o l , _ ) 南亡f 。丁。了。上一l m a 隧蠢鹣- 翳囊? :| | u _ ! 囊圈匿磊翮 一些公用摸块 蕊瓣瓣鹾篓毒 ! :箧塞毯糖m 鞭x | l 薹墅翱 阙翮睡飘 0 a “t i o o 妻占 隧爨鹾;目l 融l 雕s 黼i i 匿薹羹圈匿u u = f j n o d e s l i s o 。 耍盈e 三至习i 亘量jd 案 毫? 畦童蛰誊_ 焉可。l j :黼縻 囊豢i 瀛i 灞 h )”等k 隧麟嚣翼鍪l 黧黼嚣馨受鞘x 嬲 陵胤i ;| 蓉聪黼; ;7 女孤慨掣, 图3 1 p o s t g r e s q l 体系结构图 p o s t g r e s q l 是基于客户端服务器模式的数据库管理系统。一个p o s g r e s q l 会话由下面一些进程组成:一个监控的服务进程( p o s t m a s t e r ) ,用户的前端应用和 个或者多个后端数据库服务器。 服务器 服务器管理数据库文件,接受来自客户端应用与数据库的联接,并且代表 客户。端在数据库上执行操作,其服务器程序即p o s t m a t e r 。p o s t g r e s q l 服务器可以 处理来自客户端的多个并发请求。因此,它为每个请求创建一个新的进程,从新 进程创建这个时候开始,客户端和新服务器进程就不再经过最初的p o s t m a t e r 进 程的干涉进行通讯c 因此,p o s t m a t e r 服务器进程总是在运行,等待着新的联接。 浙江大学硕十学位论文 而客户端和相关联的服务器进程则是起起停停。 客户端 客户端,就是需要执行数据库操作的用户的前端应用程序。客,! r 端应用程 序可能本身就是多种多样的:它们可以是一个字符界面的工具,如p s q l 。 也可 以是一个图形界面的应用,或者是一个通过访问数据库来显示i 删页的w e b 服务 器,或者是一个特殊的数据库管理工具。p o s t g r e s q l 提供了一些客户端应用程 序,也提供了很多供用户开发的接口。 连接的过程 p o s t g r e s q l 是用“每用户一个进程”的客户端n 务器模式实现的。在这种 模式早一个客户端进程只是与一个服务器进程联接。 p o s t g r e s q l 利用一个主进程在每次联接请求时派生出一个新的服务器进程 来。这个主进程叫做p o s t m a s t e r ,它监听着一个特定的t c p i p 端口等待进柬的 联接。每当检测到一个联接请求时,p o s t m a s t e r 进程派生出一个新的的服务器进 程。服务器进程相互之间使用信号灯和共享内存进行通讯,以确保在并行的数据 访问过程中的数据完整性。p o s t m a s t e r 和后端服务进程总是在同一台机器( 数据 库服务器) 上运行,而前端应用可以在任何地方运行,即可以在数据库服务器上 运行,也可以通过网络来联接。 如果某个前端应用想访问某个节点,它就会进行与应用程序链接到起的 接口函数调用,它把请求通过网络发往服务器。服务器主进程p o s t m a s t e r 监听到 请求之后启动了对应的新的后端服务进程。 p o s t g r e s q l 在联接的时候支持通过s s l 进行加密的客户端服务器端的通 讯。因此它要求在客户端和服务器端安装支持o p e n s s l 的版本,而且在服务器 运行之前必须先f 确地设置这些文件。在开始s s l 模式之后,服务器将在数据 目录里面查找包含服务器私钥5 f u i i e 书的文件,如果私钥用口令保护,那么服务器 将提示输入口令,并且在口令成功校验之前不会启动一个新的服务器端进程。 在使用了s s l 加密通讯之后,服务器将在同一一个t c p i p 端口上同时监听标 准的联接和s s l 联接,并且将在与任何正在联接的客户端进行协商足否使用 s s l 。这些都是在对用户透明的基础上进行的。 l i b p q 结构图 浙江大学硕十学位论文 对用户认证实现主要在前后端l i b p q 模块。下面图3 _ 2 说明了l i b p q 模块的总 体结构以及认证模块所处的位置。 3 2 认证流程 图3 2 l i b p q 结构图 p o s t g r e s q ,用,。认证的流程大致如下: 1 ) 建立物理连接。 2 ) 客户端发送启动包请求连接数据库。 3 ) 服务器利用启动包中的信息根据配置文件来判断服务器端要求的客户端认 证方式。并把认证方式和些必要信息发送到客户端。 4 ) 客户端根据服务器端发来的不同认证方式,发送相应的认证信息到服务器 端。 5 ) 服务器端调用认证模块进行认证。如果通过认证,初始化一个进程与客户端 进行通讯,否则拒绝继续通话,关闭连接。 一 塑垩尘堂婴:兰些堡兰一一 p o s t g r e s q l 提供多种不同的客户端认证方式。主要包括:信任认证、口令 认证、k e r b e r o s 认证、基于i d e n t 的认证。其中以口令为基础的认证方法又包括 m d 5 ( m e s s a g ed i g e s t ) ,c r y p t ,p a s s w o r d 三种认证方法。所使用的方法可以通过 基于( 客户端1 主机,数据库和用户的方式进行选择;这些认证方法还允许通过用 户名进行限制。下面将详细介绍这几种认证机制的原理。 3 3 认证机制 3 3 1 信任认证 如果在配置文件中声明了信任认证模式,则服务器端就完全信任该i p 或i p 段的连接,无需用户名和密码。该认证方式划单用户工作站的本地连接是非常力 便和适合的。但对其他情况由于存在i p 欺骗等攻击手段不建议使用。 3 3 2 口令认证 口令认证是最常规也最传统的认证方式。是每个数据库必不可少的认证方 式。完善程度和具体实现细节方面略有差别。在p o s t g r e s q l 中,【:_ j 令认证分为 明文口令传送和加密1 7 1 令传送。加密方法有m d 5 和c r y p t 。明文口令传送简单, 但安全性差,不适用于在网络上传输。加密l _ | 令结合了s a l t ( 由服务器端生成的 随机数) 的单向用户密码散列,以增加安全性,并减少与词典攻击相关的威胁。 由于只需要存储加密后的口令,使用浚方法可以避免与加密技术相关的密钥管理 问题;但p o s t g r e s q l 实现的口令机制健壮性较差,对很多攻击无能为力。主要 存在以f 两点缺陷: ( 1 ) 随机数s a l t 是以明文的形式从服务器端传送到客户端,这样很容易被 非法用户窃取。 ( 2 ) 只验证了客户端没有对服务器端进行认证,不能防范假冒服务器端的 攻击。 在第七章介绍国产数据库系统用户认证机制的设计和实现时,将对该l - 1 令认证机 制进行详细分析并加以改进。 浙江火学倾士学位论文 3 3 ,3k e r b e r o s 认证” k e r b e l o s 是被大多数主流数据库支持的一种认证方式,它能较高安全度地保 证口令不被窃听,但由于它要在服务器和客户机都支持相应的认证方式的条件下 才能使用,因而需要复杂的设置,在实用和易用性方面还有所欠缺。下面对 k e r b e r o s 认证的原理和局限性加以分析。 3 3 3 1 原理分析 k e r b e r o s 是一种秘密密钥i 刊络认证协议由麻省理工学院( m i t ) 开发,它使用 “数据加密标准”( d e s ) ) j i i 密算法来进行加密和认证。k e r b e r o s 设计用于认证用 户对网络资源的请求。k e r b e r o s 基于可信任第三方的概念,由可信任第三方执行 用户和服务的安全确认。在k e r b e r o s 协议中,这个可信任第三方叫作“密钥分发 中心”( k e y d i s t r i b u t i o n c e m e r ,k d c ) ,又称“认证服务器”( a u t h e n t i c a t i o n s e r v e r ) 。 k e r b e r o s 的主要用途是确认用户和使用的网络服务是他们所声明了的。为了达到 这个目标,由一个可信任的k e r b e r o s 服务器给用户发证件。这个汪件具有有限的 生命期,并存储在用户的凭证缓存中,然后可以使用它们来代替标准的用户名 口令认证机制。 图3 3k e r b e r o s 协议原理图 k e r b e r o s 认证系统包括一系列的服务。除了客户工作站用户c 以外k e r b e r o s 还包括三个服务器:认证服务嚣d f f a s ) ,用于在登录时验证用户的身份:授予许可证 服务器( t g s ) ,发放“身份证明许可证”;服务器( s ) ,用户c 请求工作的实际执行者。 其中,a s 与k d c 类似,它与每个用户共享一个秘密口令。t g s 的工作是发放许可 浙汀。大学顾十学位论文 证,用来使真正的服务器相信t g s 许可证的持有人确实是本人。k e r b e r o s 的工作 模型如下: 1 ) 用户提出申请,要求从a s 获取授予许可证:用户登录系统,输入口令,将自 己的标识a 以明文形式传给a s c a s : 2 ) a s 生成个会话密钥k s ,并将用户c 的标识和k s 用t g s 的密钥加密后作 为用户c 向t g s 出示的许可证k t o s ( a k s ) 。整条消息用k a 加密,除了用户c ,其 它用户不能解读这条消息。用户收到这条消息后,通过用户c 输入的口令计算出 k a ,来解读这条消息回送给用户;若e i 令不正确,协议终止; 3 ) 用户c 向t g s 发送第三条消息,其中包括a s 在第二条消息中返回的许可 证k t g s ( a ,k s ) ,要访问的服务器标识s 和时间戳k s ( t 1 ) 。时间戳k s ( t 1 ) 的作用是 为了避免第三方用户假冒用户c ,重发这条消息给t g s 来冒充用户c 。当第三方 假冒者重发这条消息时,t g s 发现这个时间戳中包含的时间已经过时,而第三方冒 充者也无法
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 事业单位教育岗面试易错题题库试卷及参考答案202
- 2026事业单位综合岗面试易错题题库及参考答案
- 2027年备考会计基础 【零基础学员必练】题库与答案
- 2027年备考会计基础 【零基础学员必练】能力提升试题卷附答案
- 2026年湖南网络工程职业学院高职单招笔试数学历年参考题库含答案解析
- 2026年湖南工商职业学院高职单招笔试数学历年参考题库含答案解析
- 2026年湖南交通职业技术学院高职单招笔试语文历年参考题库含答案解析
- 2026年渭南职业技术学院高职单招笔试职业适应性测验历年参考题库含答案解析
- 2026年海南政法职业学院高职单招笔试职业适应性测验历年参考题库含答案解析
- 2026年河北轨道运输职业技术学院高职单招笔试化学历年参考题库含答案解析
- 北京市朝阳区2026-2027学年度第一学期期中质量检测高三英语试卷(含答案)
- 2026山东省防疫安全协管员招聘考试(畜牧兽医)历年参考题库含答案详解
- 2026健康管理师考试理论知识真题及答案
- 2025 含聚谷氨酸有机水溶肥料在马铃薯种植中的应用技术规程
- 2026-2027学年清华附中九年级上册化学期中真题卷
- 2026年四川省成都市技能人才评价考评员考试题库(附答案)
- 正大集团人才评估行测题目
- 离散数学 (第七版) 课件 第二部分 集合论
- FMEA风险评估分析表实战培训
- 2025年进出口银行人员招聘笔试考试试题及答案详解
- 光伏组件拆除方案
评论
0/150
提交评论