(计算机应用技术专业论文)智能卡认证在数据库系统中的应用研究.pdf_第1页
(计算机应用技术专业论文)智能卡认证在数据库系统中的应用研究.pdf_第2页
(计算机应用技术专业论文)智能卡认证在数据库系统中的应用研究.pdf_第3页
(计算机应用技术专业论文)智能卡认证在数据库系统中的应用研究.pdf_第4页
(计算机应用技术专业论文)智能卡认证在数据库系统中的应用研究.pdf_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

摘要 随着网络的发展,信息量在不断增氏,人们对信息的安全要求越米越高。人们想出很多 种方法来实现数据的安全存储和传输,以及_ 1 1 j 户身份的安全认证。 目前数据库在用户账户管理、验证和网络传输方面都已经做的相当安全可靠了。但是在 用户端,用户直接登录数据库的口令却基本上主要以明文保存于应用程序中,这对数据库中 数据的安全性构成很大的威协,其他人很容易从应用程序中或者用户口中得知登录数据库的 账户,从而可以不按应用程序中的业务逻辑任意地查看和修改数据。智能卡的使用可以加强 口令安全性,但现有数据库系统不支持智能卡的认证方式,即使在应用方案中加入了智能卡, 那也只是利用了智能卡的安全存储特性,并没有发挥其安全认证的特性。 本文就此问题提出了利用数据库系统触发器的机制,采用一次性c i 令认证方法,并加以 辅助安全设计,达剑登录口令的安全存储和验证,防止非法截取口令进入数据库。 关键字:数据库;智能骨;口令安全;登录验证;触发器 a b s t r a c t w i t ht h ed e v e l o p m e n to fn e t w o r k ,t h ea m o u n to fi n f o r m a t i o ni s g r o w i n gu p q u i c k l y ,o u rd e m a n df o rs a f e t yo fi n f o r m a t i o ni sm o r ea n dm o r es t r i c t t h e r eh a v e m a n yk i n d so fm e t h o df o rd a t as a v i n go rt r a n s m i s s i o n ,c e r t i f i c a t i o no fu s e r t h ec u r r e n td a t a b a s es y s t e m sa r eq u i t es e c u r ei na l m o s ta l la s p e c t s ,b u tt h e p a s s w o r df o rc o n n e c t i n gd a t a b a s ei sn o tc r y p t o g r a p h i c a l l yp a s s e db yc l i e n t a p p l i c a t i o n s t h i sc a nb ev e r yd a n g e r ,b e c a u s es o m eu n a u t h o r i z e dp e r s o nm a yf i n d i ti nt h es o f t w a r ea n da c c e s so rm o d i f yt h ed a t ai l l e g a l l y s m a r tc a r di ss e c u r e f o rs a v i n gp q s s w o r d ,b u ts m u tc a r dc e r t i f i c a t i o ni su n s u p p o r t e db yc u r r e n td a t a b a s e s y s t e m s s o m ea p p l i c a t i o n so n l yu s et h ed a t as a f e t yo fs m a r tc a r dw i t h o u tu s i n gi t s s e c u r i t yc e r t i f i c a t i o nf u n c t i o n u s i h gt h et r i g g e rm e c h a n i s mo fd a t a b a s es y s t e m ,t h i sp a p e rp r o p o s e sa ne f f e c t i v e a p p r o a c ht os o l v i n gt h i sp r o b l e m k e yw o r d s :d a t a b a s e ;s m a r tc a r d ;p a s s w o r ds e c u r i t y ;l o g i nc e r t i f i c a t i o n :t r i g g e r i i 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已 经发表或撰写过的研究成果,也不包含为获得东南大学或其它教育机构的学位或证书 而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均己在论文中作了明 确的说明并表示了谢意。 研究生签名:玉盖亟皇e t 期:! 鱼:2 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文 的复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档 的内容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借 阅,可以公布( 包括刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权东 南大学研究生院办理。 研究生签名:;至盗至导师签名: 日期:一心1 第一章引言 第一章引言 1 1 研究背景 众所周知,身份认证技术在众多的信息安全技术中扮演了信息系统守门人的角色,它确 保只有授权用户才能进入。用户标识( u s e r i u ) 和口令( p a s s w o r d ) 是最常用和最方便的身份 认证技术,当今的主流操作系统u n i x 和w i n d o w s 的登录过程就是一种典犁的u s e ri d 加 p a s s w o r d 的方式。但由于许多用户为了方便而使用了诸如姓名、生日、年龄以及与自己相 关的人的信息作为容易记住的p a s s w o r d ,使得基于u s e ri d 和p a s s w o r d 的认证经不起攻击。 另外,口令在网络上传输,也容易带来很大的风险。当前,随着计算机网络的广泛应用,各 种应用对数据库系统的依懒越来越强,关于数据库系统的认证方式也越来越多,但这些认证 大都是改善基于网络的认证方式,主要解决认证数据在网络中传输的安全性问题,这与直接 连接登录到数据库的认证是不同的。尽管网络应用占了很大比例,但实际环境中,单机和 c s 模式的应用也不在少数。不管是网络还是单机应用,应用程序最终都需要首先直接登录 数据库系统,经过数据库系统对用户名和口令的认证之后,才能进行其它有效的数据操作和 服务。 我们来看看认证在数据库环境中的概念。现有的数据库大都是c s 结构的,客户端和服 务器端通过网络进行通讯。通讯的双方是不可见的,如何知道对方正好是他自己声称的那个 人或实体而不是他人冒名的呢? 即使得到的信息确实来自声称方,如何保证中途未被篡改, 即如何保证其完整性和真实性呢? 不解决这些问题,就没有安全性可言。因此,用户认证就 提供了关于某个实体身份或数据起源的保证。这意味着,认证机制将提供某种策略来证明这 一声明是正确的。数据库系统中的认证模型如图1 - 1 所示。用户要访问数据库中的信息必须 提供自己掌握的秘密信息,在安全等级较高的应用中,还需要第三方为其提供安全认证的服 务,负责向通讯双方发放秘密信息,并向所有敌方保密,或者仲裁通讯双方对消息的真实性 和合法性产生的纠纷。 图1 - 1 认证模璎 东南大学硕 1 学位论文 这一认证模型,应用程序可以是带网络的也可以不是,但用户都需要输入用户名与口令, 且应用程序连接剑数据信息资源也要用户名与口令。目前的数据库系统中,用户在直接登录 数据库时,即客户端应用程序与数据库建立直接连接的时候,所用的a p i 函数要求使用明文 的用户名、口令、数据源等信息做为建立连接的参数,以便让数据库或服务器进行有效性验 证,所以在编写直接登录数据库的应用程序时,基本上使用两种方法来获取用户名与口令, 来做为建立数据库连接a p i 函数的参数:第一种方法是,把用户名与口令直接硬编码到程序 中,然后在数据库中另建一个用户表来管理客户端应用程序的访问和使用权力,这种方法当 前在大部分的数据库应用系统中被采用;第二种方法是,要求用户直接输入用户名和口令, 这种方法在实际的应用系统中很少采用。当应_ 【 j 程序运行在不安全环境中时,对于第一种情 况,直接就能在可以运行的应_ h j 程序中,或者应用程序运行的内存中,通过查找“u i d = p w d = ” 等连接参数必含的字串,很容易找到用户名与相应的口令,并且这种查找工具都极其容易上 手和使用;对于第二种情况,如果客户端用户自身就具有破坏倾向,就几乎没有任何可靠的 手段来保证客户端的用户名及口令的安全。一旦用户名和口令被攻破,数据库就没有任何安 全性可言了。 许多事实表明,数据不但会受到来自外部的攻击,而且也会受到来自内部的攻击,且来 自内部的攻击往往更具有破坏性。显然,我们的数据库和应用稃序往往是处于不安全的环境 中运行的,如果应用程序在不安全的环境中,一旦在应用程序中把登录数据库的用户名与口 令硬编码,那么应用程序自身就会直接暴露用户名和口令;如果恶意用户得到直接登录数据 库的用户名与口令,那他就可以不经过应用程序,使用其它工具直接登录剑数据库,从而能 够绕过包含于应用程序中的应用逻辑,直接操作数据库中的数据,这对数据的安全性与有效 性带来极大的威协。 对于用户名与口令存储的安全性问题,基本上认同智能卡存储的安全性,利用智能卡来 加强认证的安全性,有许多文章做过讨论和实践,有的就如何利用智能卡的有限运算能力来 进行生物特征等方面的判断进行展开的“蚍”1 ,有的要求加入中间智能卡认证服务器0 1 , 有的采用双卡或多卡认证机制”,还有的从远程认证来论述”,并都提出相对应的有效方法, 他们的前题是数据库服务器和应用程序是在安全环境下运行的,智能卡和网络是处于不安全 环境中的,但在应刚程序如何直接登录到数据库的问题上,依然使用数据库系统现有的登录 认证方式,如果应用程序处于不安全环境中,仍然会存在上述安全问题。 1 2 研究内容 本文的研究内容将围绕着数据库登录用户名与口令的安全性,以及数据库认证的安全性 展开,具体研究内容包括: 1 ) 智能卡认证的安全性 通过对智能卡各种特点了解,分析智能卡在各种应用中的认证特点,分析其安全性,并 介绍认证的密码学基础和一次性口令的认证机制,做为本文中对智能导认证应用的基础。 2 ) 当前数据库登录认证的特点 分析当前数据库登录认证的缺陷,通过与智能卡认证的对比,提出一种采用智能卡的安 全认证制,并分析其运_ 【 j 的技术特点。 3 ) 研究现有数据库如何来实现智能卡的认证方式 2 第一章引言 综合智能卡认证特点利数据库技术,实现一种新的数据库登录认证方法,从而达到有效 提高数据库登录的安全性。 4 ) 对新登录认证方式进行实例分析。 以s y b a s e 公司所出的a s a ( a d a p t i v es e r v e ra n y w h e r e ) 数据库为实例平台,测试实 现改进的登录认证方式。 1 3 论文结构 本文重点论述基于智能卡的认证及其认证方式在数据库认证中的实现方法与关键技术 的研究。 论文章节的整体安排如下; 第一章引言,介绍论文的研究背景,研究内容及整体结构; 第二章智能昔认证技术应用特点,对智能卡的认证特点加以允析对比,总结出智能卡 的认证特点; 第三章数据库认证技术,分析当前数据登录认证的方法、技术,指出其不安全因素; 第四章新登录认证的方法,研究如何综合利用智能卡及其认证方式加强数据库认证的 安全性; 第五章新登录认证的实例分析,说明如何进行具体应用及其可靠性测试; 第六章小结,对所作的研究工作及其应用进行了总结。 3 东南人学硕j - 学位论文 第二章智能卡认证技术 2 1 智能卡特点 智能卡的名称来源于英文名词s m a r tc a r d ”,又称集成电路卡,即i c 卡 ( i n t e g r a t e d c i r c u i t c a r d ) ”。它将一个集成电路芯片镶嵌于塑料基片中,封装成卡的形式, 其外形与覆盖磁条的磁卡相似。它一出现,就以其超小的体积、先进的集成电路芯片技术以 及特殊的保密措施和难以破译及仿造的特点受到普遍欢迎。i c 卡的概念是7 0 年代初提出来 的,法l 蓍布尔( b u l l ) 公司丁:1 9 7 6 年首先创造出i c 卡产晶,并将这项技术应用到金融、交通、 医疗等多个行业,随着超大规模集成电路技术、计算机技术以及信息安全技术的发展,智能 卡技术也更趋成熟,它的发展经历了多个重要阶段,其技术也在不断地进步,它将微电子技 术和计算机技术结合在一起,提高了人们生活和工作的现代化程度。i c 卡芯片具有写入数 据和存储数据的能力,i c 卡存储器中的内容根据需要可以有条件地供外部读取和供内部信 息处理和判定之用。 智能卡按照其组成结构。智能卡可以分为一般存储卡、加密存储卡、c p u 卡( 智能卡) 和 超级智能卡等。按照卡片数据的读写方式( 即按使用方法) ,智能卡又可分为接触式i c 卡、 非接触式i c 卡和双界面卡3 种类型。 在当代社会中智能卡应用得到了极大普及,除了技术先进成熟的原因外,其自身的应用 特点是最主要的原因,通常我们所用的智能卡具有以下几个特点: 1 ) 高稳定性:数据在i c 芯片中有的可保存i 0 0 年以上; 2 ) 高可靠性:数据读出次数为无限。对于可写的智能卡,数据可修改或者写入次数在 l o 万次以上。 3 ) 高安全性:智能卡中的数据是分层分权限保存的,并且还可以用一个p i n 码来保护, 一般不易被读出和改写当p i n 码多次输入错误时还会自动死锁,以保护数据。 4 ) 低功耗:智能卡工作电压一般都在5 v 以下,瞬间工作电流为毫安级。 5 ) 数据读写速度快:一般实用场合,智能卡与读写设备的数据交换时间小于1 秒。 另外,智能号在应用上具有明显的优势,智能卡应用和传统的鹿用程序相比较,基于智 能卡的应用具有如下一些主要特点: 1 ) 使用方便;2 ) 认证功能突出;3 ) 卡内数据安全性高;4 ) 提供卡内的逻辑控制; 5 ) 便丁二扩展。 智能忙一般内部采用加密协处理器来实现其密码算法,在智能卡的安全应用方面,可用 于身份认证,数字签名和电子文件的加密等“”“。 基于加密算法的身份认证常用的加密算法是对称密码体制的d e s 算法和非对称密码体 制的r s a 算法。由于r s a 算法运算量较大,对i c 卡中微处理器的计算能力要求较高,人 们致力于寻找计算量较小的非对称密码体制。这方面的成果是比r s a 运算复杂度低的零知识 证明方案。直观地说,零知识证明就是除了得到有效性结论以外,在不透露任何证法信息的 情况下,让验证者确信证明者知道此证法,主要的零知识鉴别体制有f i a t s h a m i r g u i l l i o n - q u i s q u a t e rs c h n o r r 等几种。 在非电子信息统计下,人们在文件上用笔写下自己名字的方法来完成签名要求,对电子 4 第二章智能卡认证技术 信息显然无法采用传统的用笔签名的方法,需要采用电子方法完成数字签名。 利_ l ;ii c 卡能够对所要发送的信息实施加密,以完成用户对信息的保密要求。传统的方 法是用d e s 这类对称加密算法来完成。一种可选的方案是:首先i c 卡用自己的密钥k 对信 息加密后传送到网络中的主机,主机用和该i c 卡相同的密钥k 对信息进行解密,然后再用 接收者的密钥k 进行加密后,将信息发送给接收者,接收者再用自己的密钥k 进行还原, 我们可以看到,在这种基于对称加密算法的网络中,信息对主机是透明的。一种更强有力的 加密方法是采用非对称密码算法,常_ 【l j 的算法是r s a ,此时容易做到加密信息在整个通信网 络中都是保密的,只有接收者收到了才能由接收者完成解密。 2 2 智能卡认证 由于i c 卡的诸多优点,采用智能夤的认证也有很多种,下面来看一下其几个不同的认 证方法。 2 2 1 多智能卡认证 两个或者多个智能忙的认证是指在一个系统中,要想打开系统或者进入系统,必需要有 不同的两个或者多个智能卡同时使_ h j 才行,如图2 - 1 。 图2 - 1 多智能昔认证 简单地说,多智能骨认证就是一个门有两个或者两个以上的锁同时锁着,要想开门,必 需有相应的两个或者两个以上的匙钥同时打开所有的锁才行。当然这里面也可能根据需要而 设置不同的智能卡等级,使得高等级的卡可以在不使用低等级的智能卡时,仍然可以进入安 全系统。 这种认证方法主要是采用了智能卡存储的高安全性,来保存多个口令,减少烦索的的记 忆。另外,咎个系统的安全性依赖于不同人对安全系统负有不同的责任,从而控制手中智能 5 东南人学硕p 学位论文 卡的使用和限制他人非法进入系统。所以从根本上说,这一系统的安全性不是依靠智能卡实 现的,而是靠责任人的判断,由于使用多张卡认证,所以在使用和管理上也会有很多不便。 2 2 2 基于生物特征认证 生物识别技术( b i o m e t r i ci d e n t i f i c a t i o nt e c h n o l o g y ) 是利用人体生物特征进行身份 认证的一种技术。生物特征是指唯一的( 与他人不同) ,可以测晕或可自动识别和验证的生 理特性或行为方式。生物识别系统对生物特征进行取样,提取其唯一的特征后转化成数字代 码,并进一步将这些代码组合成特征模板,这种模板可能会存在于识别系统中,也可能存在 于各种各样的存储器中,如计算机的数据库、智能卡或条码膏中。当人们同识别系统交互进 行身份确认时,识别系统获取其特征并与数据库中的特征模板进行比对,以确定是否匹配, 从而决定接受或拒绝该人”“1 。基于生物特征的智能卡认证,其逻辑如图2 - 1 所示。 生 物 特 认证 征 特征提取和对比运算 结果 图 象 或者 输 智能卡 保密 数据 入 图2 - 2 智能卡生物特征认证 目前用于生物识别的生理特征有手形、指纹、脸形、虹膜、视网膜、脉搏、耳廓等:行 为特征有签字、声音、按键力度等。基于这些特征,人们已经开发了手形识别、指纹识别、 面部识别、语音识别、虹膜识别、签名识别等多种生物识别技术 生物识别是目前晟为方便与安全的识别技术,并且生物识别产品均借助计算机技术实 现,容易和安全、监控、管理系统整合实现自动化管理。因此,随着生物与信息技术的快速 发展及不断融合,随着信息化、数字化社会的逐步形成,人们对安全措施的普遍重视和更高 要求,生物识别技术的开发与应用将会掀起一个新的高潮可以预见,越来越多的生物识别 产品将会出现在门禁控制、银行帐户、公安侦察、互联网安全、电子商务等各个领域 但是,当生物特征与智能卡结合时,由于智能卡自身的存储空间的限制,及运算能力的 限制,会受到一定的影响。本质上,智能卡的生物特征认证是利用了智能卡的运算能力和存 储能力,因而这种认证不管在实现上难度如何,要比只把智能 做为一个安全的存储器的认 证方式要安全得多。 2 _ 2 3 s l m 卡认证 在今天,移动通信的发展日新月异,虽然很少有人知道自己手中的一张小小的s i m 卡是 6 第二章智能卡认证技术 属丁:智能导,但这并没有影响智能卡在移动通信业务中的多方面的应用。手机s i m 卡是i c 卡领域推广最快,普及率最高的应用之一,s i m 膏的出现给通信的发展带来了巨大的的影响, 手机中的s i m 卡用于存储唯一的用户身份标识及其它信息”2 “,并且能进行加入通信网 络的认证。这主要得益于智能# 的卡内数据安全性高、认证功能的突出及卡内的逻辑控制。 在智能卡中提供了卡内的逻辑控制,由于智能卡芯片内含有微处理器,能够提供各种计 算功能和逻辑控制能力,可以实现安全计算和安全控制逻辑,对一些要求较高有加密算法、 特殊流程控制的应用都可以内置在卡内完成。正是智能卡的这一特点,才使得智能卡有可能 参与身份认证这一过程。下面就以应用最广泛的手机中的s i m 卡为例,分析带有s i m 卡的手 机是如何通过移动通信网络的身份认证的。 带有s i m 卡的手机在开机后,就会自动与无线通信网络联系,要求连接加入g s m 网络, 其成功的身份认证过稃如图2 3 所示: 图2 - 3g s m 通信网络身份认证 关于图2 3 中名词说明: i m s i 国际移动用户身份识别码( 与登录数据库时的用户名相当) ; k i 秘密密钥( k i 必须与i i l s i 构成一个元组) ,g s m 网络和s i m 卡中的k i 相同; a 3 算法一在g s m 规范中规定的非对称的不可逆的单向散列加密算法( 该算法利用k i 对随机数进行加密运算) 。 下面具体说明当带有合法s i m 卡的手机开机后( 可能先需要输入一个p i n 码,当输入 p i n 码错误时,是无法开机的) ,其成功进行通信网络身份认证过程中的四个步骤: 第一步:手机将s i m 卡中的 l 户身份识别码i m s i 通过手机发送给g s m 网络,以告诉g s m 网络有一位移动用户要登录网络; 第二步:g s m 网络接收到i r s i 码后,从网络系统中查找到与此i l i s i 码相对应的秘密密 钥k i ,生成一个随机数,并把这个随机数返回给手机s i m 卡; 第三步:s i m 卡将返同的随机数和s i m 卡中的k i 一起交给a 3 算法,进行加密运算,并 将运算结果通过手机发送给g s m 网络; 第四步:g s m 网络接收到s i m 臂的a 3 算法结果后,也对发给s i m 卡的随机数( 第二步 中生成的随机数) 和k i 进行与s i m 卡中相同的a 3 算法运算,并比较结果是否相同,若相同 则返回认证成功的信息,否则发送错误码给手机s i l l 卡,同时拒绝持有该i m s t 码的s i m 卡 的手机用户登录剑通信网络系统。 整个四步的操作都很简单明了,不难看出,在带s i m 卡手机的每一次登录通信网络的过 程中,各步骤所传输的数据中,第二步传输的数据是一个随机数,第三步传输的数据是a 3 算法利用k i 对随机数加密的结果,当然也是一个随机数,第四步所传输的内容与认证成功 7 东南大学硕十学位论文 与否有关,只有在第一步中发送的国际移动用户身份识别码i 嬲i 是固定不变,由于a 3 算法 是不可逆的,所以在步骤二、三中的数据只在本次登录中有效。这个登录过程已经过了全球 g s m 网络系统的验证,说明这一认证过程还是相当可靠的。 在这四个步聚中,没有手机用户的参与,没有输入口令,更没有传送口令,只有用户的 身份代码i m s i 是确定的但这个过稃确实能保证合法的手机_ 1 1 j 户进入通信网络,拒绝非法 用户的登录请求。难道真的不用口令就可以认证? 当然不是,在这里,a 3 算法的运算结果 充当了口令的角色,且此“口令”只在本次登录过程中有效! 这就是一次性口令。 一次性口令的的主要思路是:在登录的过程中加入不确定因素,使每次登录过程中传输 的信息都不同,以提高登录过程的安全性。 2 3 认证的密码学基础 从以上的几种智能卡的认证来看,智能卡认证不但要运用其数据存储的高安全性,还要 运用其有效有的运算能力,另外还要加上密码学的运用,这样才能达到最有效的认证机制。 密码学是现代各种信息安全的基础。凡是认证,都是离不开密码学的,智能卡的认证也 不例外,在不同的场合f 需要采用不同的认证方式和不同的密码体制。密码体制有很多种, 可以进行不同的分类。根据密码算法使用的加密密钥和解密密钥是否相同,可以将密码体制 分为对称和非对称体制;根据是否可以进行可逆的加密、解密变换,密码体制又可以分为单 向函数密码体制和双向变换密码体制“。 2 3 1 对称密码体制 对称密码体制又称为单密钥体制或隐蔽密钥体制。在这种体制下,加密密钥和解密密钥 相同,或者一个可以从另一个导出,典型的算法有d e s 、i d e a 等。 数据加密标准d e s 体制由i b m 公司研制出,于1 9 7 7 年被美国国防部采用,定为联邦信 息标准后,在国际上引起了极大的重视。i s o 曾将d e s 作为数据加密标准( i s o 的d e a 一1 ) 。 d e s 是世界上第一个公认的实用密码算法标准,曾对密码学的发展做出了重大的贡献。d e s 把传统的代替法和换位法进行多次组合,利用分散和错乱的相互作_ 【 ;j 得出了密码强度很高的 密文。d e s 算法是公开的,因此其安全性仅取决于对密钥的保密,如今也提出了许多对d e s 的改进的方法。具有代码易于获得、算法易于实现、运算效率高等优点的。时至今日,d e s 算法仍然具有很大的实用价值。 i d e a ( i n t e r n a t i o n a ld a t ae n c r y p t i o na l g o r i t h m ) 于1 9 9 1 年提出。该算法在形式上 与d e s 相似,也是使用循环加密方式,把6 4 位的明文加密成6 4 位的密文,或反之。所不 同的是,i d e a 使用1 2 8 位的密钥,强度高于d e s ;加密和解密使用的密钥不相同;并且i d e a 的设计倾向于软件实现。 3 2 2 非对称密码体制 非对称密码体制又称为公开密钥体制。这种体制f 加密和解密的密钥是分开的,加密密 钥公开,解密密钥不公开,从一个密钥去推导另一个密钥是计算不可能的。目前r s a 是应 用最多的非对称密码体制。r s a 是由r i v e s t 、s h a m i r 和a d l e m a n 于1 9 7 8 年提出的一种非对 称分组密码体制,它基于大整数的质因子分解问题的困难性,即寻找丈整数( 几百位长) 的 质因子是计算不可行的。在r s a 中,密钥是可变长的( 5 1 2 比特一2 0 4 8 比特) ;每个分组也 8 第二审智能卡认证技术 是可变长的,其中明文块的长度应当小于等于加密密钥长度,而密文长度等于解密密钥氏度。 由于l i s a 涉及大数的计算,无论硬件实现还是软什实现的效率都比较低,其中硬件实现的 效率是d e s 的l 1 0 0 0 ,软件实现是d e s 的1 1 0 0 0 因此它不适_ i j 于对长的明文进行加密,而 常用来对密钥进行加密,即与对称密码体制结合使用。 非对称密码体制适用于开放的使用环境,密钥管理相对简单,但工作效率一般低于对称 密码体制。而对称密码体制适朋于_ j 户是彼此相关并相互信任的系统。 2 3 3 单向函数密码体制 单向函数体制可以很容易的将明文加密成密文,但是反之是很困难甚至是不可能的。因 此,单向函数密码体制适用于一些不需要解密的场合,如可用于将产生的密文当作对应明文 的一个内容完整性证明以及认证等。单向散列函数作为单向函数的一种,是在一个方向上工 作的散列函数。密码学中使用的单向散列函数将任意长度的消息压缩到某一同定长度的消息 摘要。单向散列函数又称为单向h a s h 函数,它不是加密算法,却在密码学中有着广泛的应 用,与各种加密算法有着密切的关系。它的模型为h = h ( m ) ,其中m 是待处理的明文,可以 为任意长度,h 是单向散列函数,h 是生成的报文摘要。它具有同定的长度,并且和m 的长 度无关“”。1 。其中h 具有以下的单向性质: 1 ) 给定h 和m 很容易计算h ; 2 ) 给定h 和h 很难计算m 甚至得不到m 的任何消息; 3 ) 给定h 要找到两个不同的m 1 和1 1 2 使得h ( m 1 ) = h ( 1 1 2 ) 在计算上是不可行的。 根据单向散列函数的安全水平,可以将单向散列函数分成两类:强碰撞自由的单向散列 函数和弱碰撞自由的单向散列函数。上面描述的是强碰撞自由的单向散列函数的性质,如果 将第3 条改为:给定h 和一个己知的消息m ,找到另外一个不同的消息m 1 使得h ( m 1 ) - h ( m 2 ) 在计算上是不可行的,就叫做弱碰撞自由的单向散列函数。 显然强碰撞自由的单向散列函数比弱碰撞自由的单向散列函数安全性要高,因为弱碰撞 自由的单向散列函数随着重复使用次数的增加安全性逐渐降低,强碰撞自由的单向散列函数 则不会因其重复使用而降低安全性。因此在实际中,要求使用强碰撞自由的单向散列函数, 除此之外,在实际应用中还要求单向散列函数具有如下特点: 1 ) 单向散列函数能够处理任意长度的明文。至少是在实际应用中可能碰到的长度的明 文,其生成的消息摘要数据块长度具有固定的大小,而且对同一消息反复执行该函数总是得 到相同的信息摘要; 2 ) 单向散列函数生成的信息摘要是不可预见的。消息摘要看起来和原始的数据没有任 何的关系,而且原始数据的任何微小变化都会对生成的信息摘要产生很大的影响: 3 ) 具有不可逆性。即通过生成的报文摘要得到原始数据的任何信息在计算上是完全不 可行的。 单向散列函数在密码学中有着非常广泛的应用,它被广泛地应用于数字签名、消息的完 整性鉴别、消息的起源认证等。另外也和各种密码算法一起构成混合密码系统。 实现一个安全的单向散列函数并不是一件容易的事情,单向散列函数是建立在压缩函数 的基础上的,它的一般原理与实现过程是:单向散列函数按分组处理输入的消息,在分组之 前,首先将待处理的消息进行填充,使得它的长度恰好是分组长度的整数倍,一般为了避免 不同长度的消息散列后得到相同的散列值,填充的部分需要包含原来消息长度的信息,将消 9 东南人学硕士学位论文 息分组后对各分组分别处理。压缩函数的输入是上一个变换的输出加上本分组的消息,即 h i = f ( m 。,h ,) ,第i - 1 个散列值和第i 个消息分组一起,作为第i 轮函数的输入,最后一个 分组的散列值即成为整个消息的散列值,目前在密码学上已经设计出了大量的单向散列函数 如:r a b i nh a s h 方案、1 4 e r k l eh a s h 方案、n - h a s h 算法、m i ) 2 算法、_ m 4 算法、m d 5 算法 和s i l a 等但是这些算法有些存在安全缺陷,最近m d 5 也已经被破解,所以在算法上要囡地 制宜使用。 2 3 4 双向变换密码体制 双向变换密码体制可进行可逆的加密、解密变换,绝大多数加密算法属于这一类。在此 不做具体讲述。 2 4 一次性口令认证机制 口令是最简单也是最常用的一种身份认证方法。一个好的口令对于保证用户数据的完整 性、可靠性以及安全性十分重要:但通常使用的静态口令有许多固有的弱点:易于猜测或窃听 不能进行共享控制等。而且也存在实现上的弱点:在分布式网络系统中,若不加密,可以被 清晰地看见明文:即使加密,也易受重放攻击、差分密码分析等其它攻击手段的影响,从而 给系统的安全性蒙上阴影。而使用一次性口令则可以显著地增加系统的安全性所谓一次性 口令即每次登录系统时用户所使用的虽然是同一个重复使用的口令,但用户在网络上或者接 口上传输的口令每次都是变化的:它可以防止重放攻击、词典攻击等常川的攻击手段,为对 付窃听者以及公开的登录会话提供了强有力的保护。 一次性口令认证的主要思路是“7 “”1 :在认证过程中加入不确定因素,使每次认证过程中 传送的信息都不相同,以提高认证过程的安全性。例如:一次性口令= m d 5 ( 用户名+ 密码) 时, 系统接收剑一次性口令后以同样的算法做一个验算即可验证用户的合法性。 这些不确定因子选择方式大致有以下几种: 1 ) 口令序列。口令为一个单向的前后相关的序列,系统只要记录第n 个口令。用户月j 第 n - 1 个口令登录时,系统用单向算法算出第n 个口令与自己保存的第n 个口令匹配,以判断 用户的合法性。由于n 是有限的,用户登录n 次后必须重新初始化口令序列。举个例子,假 设存在某个函数f ,很容易进行正向计算,而不可能有效地进行逆向计算。进一步假设用户 有某个秘密( 如口令) x 。为了保证用户以某个序列进行登录,主机计算出序列值f ( x ) 因此, 在口令改变前假设允许1 0 0 次登录,那么主机应计算出f - m ( x ) 并只存储该值。用户第一次 登录他应提供氏( x ) ,系统通过计算f ( f 蚺( x ) ) = r m ( x ) 进行验证。如果登录正确,所提供 的口令( x ) 就变成新的存储值。它又被用于对氏( x ) 进行验证,它是用户下一次提供的口 令。 2 ) 挑战回答。用户要求登录时。系统产生一个随机数发送给用户。用户用某种单向算 法将自己的秘密口令和随机数混合起来发送给系统,系统用同样的方法做验算即可验证用户 身份。认证的整个过程如图2 - 4 所示。 1 0 第二章智能卡认证技术 1 请求连接 2 提示输入用户名 用服 3 输入用户名 务 4 提出挑战 1 户器 5 计算并返回结果 r 6 通过比较确认身份 图2 - 4 挑战回答过程 在用户和远程服务器之间建立一个秘密相当于传统口令技术当中的“口令”,该秘 密在此被称为“通行短语”。同时,它们之间还应具备一种相同的“计算器”,该计算器实际 上是某种算法的硬件或软件实现,它的作用是生成一次性口令。当用户向服务器发出连接请 求时,服务器向用户提出挑战( c h a l l e n g e ) ,挑战通常是由两部分组成的一个字符串。挑战 的一部分是种子值( s e e d ) ,它是分配给用户的在系统内具有唯一性的一个数值,也就是说, 一个种子对应于一个用户,同时它是非保密的;而另一部分是迭代值( i t e r a t i o n ) ,它是服 务器临时产生的一个数值,与通行短语和种子值不同的是它总是不断变化的。用户收到挑战 后,将种子值,迭代值和通行短语输入到“计算器”中进行计算,并把结果作为回答返回服 务器。服务器从用户那里收到回答,因为它也知道用户的通行短语,所以它能计算出用户正 确的回答,通过比较就可以核实用户的确切身份。 这种方法的实现普遍存在两大缺陷:一方面是把挑战进行明文传输,很容易遭受离线攻 击。另一方面是只能对用户的真实性进行验证,而无法对服务器的真实性进行验证。 3 ) 时间同步。以用户登录时间作为随机因素。这种方式对双方的时间准确度要求较高, 一般采取以分钟为时间单位的折中办法。每个系统用户都持有相应的时间同步令牌。令牌内 置时钟,种子密钥和加密算法。时间同步令牌可以每分钟动态生成一个一次性有效的口令。 用户需要访问服务器时,需要将令牌生成的动态口令和静态口令结合在一起作为口令发送给 服务器。服务器端不仅要核对用户的静态口令,同时服务器需要根据当前时间和该用户的种 子密钥计算出该用户当前的动态口令,并进行核对。由于服务器和令牌的时钟保持同步,因 此在同一时刻服务器可以计算出相同的动态口令。由于每个用户的种子密钥不同,因此不同 用户在同一时刻的动态口令也不同。同时,该口令只能在当时有效,不必担心被其他人截取。 该方法可以保证很高的安全性。但是由于从技术上很难保证用户的时间同步令牌在时间上和 服务器严格同步,而且数据在网络上传输和处理都有一定的延迟。当时间误著超过允许值时, 对正常户的登录往往造成登录认证失败。 4 ) 事件同步。这种方法以挑战回答方式为基础,将单向的前后相关序列作为系统的挑 东南人学硕十学位论文 战信息,以节省用户每次输入挑战信息的麻烦。这种方法不再依赖于内部的时钟,而是使用 了一个简单的计数器作为输入值,初始值为零。当事件发生时,如用户请求连接,计数器值 增加,并把该值与静态口令加密后形成一个动态口令。同样,服务器端用户的账号也有相应 的计数器,当账号创建的时候初始值为零,当每次用户被认证的时候,计数器就增加相应的 值。但由于用户的挑战序列与服务器产生偏差后需要重新同步,这种方法在实际系统中采用 的较少。 一次性口令的生成方式主要有以下几种: t o k e nc a r d ( 硬件卡) :用类似计算器的小卡片计算一次性口令。对于挑战回答方式, 该卡片配备有数字按键,便于输入挑战值;对于时间同步方式,该卡片每隔一段时间就会重 新计算口令;有时还会将卡片作成钥匙链式的形状,某些卡片还带有p i n 保护装置。 s o f tt o k e n ( 软件) :用软件代替硬件,某些软件还能够限定用户登录的地点。特别是 j a v a 语言的应用,可以使一次性口令可以在用户的浏览器中生成。 i c 卡:在i c 卡上存储用户的秘密信息,这样用户在登录时就不用记忆自己的秘密口令 了。 第三章数据库认证技术 第三章数据库认证技术 数据库的发展是日新月异的,功能也越来越强,信息量和信息结构1 越来越复杂,但其 登录方式,基本上没有离开图卜1 的认证模型,如果不考虑应用程序进行的第三方认证,则 现在的数据库认证模型可以简单地化为图3 一l 的模型。 直接登录 图3 - 1 认证模型 3 1 当前的登录认证方法 在图3 - 1 模型的数据库系统中,登录认证的方式基本上分为两种: 一种是口令认证:每次登录数据库时都需要明确地输入数据库帐户的用户名和口令; 另一种是操作系统认证:即数据库的认证集成于操作系统之中,只要能以特定的用户与 口令进入操作系统,就能登录数据库,且登录进入数据库时不会再提示输入用户名和口令的。 操作系统认证机制只允许w i n d o w ss e r v e r 的本地用户和域用户才能使| 【 j 数据库服务器。 该几制通过使用网络用户的安全特性控制登录访问,实现与w i n d o w ss e r v e r 的登录安全“ 集成。用户的网络安全特性在网络登录时建立,并通过w i n d o w s 域控制器进行验证。当网 络用户尝试连接时,数据库使用基于w i n d o w ss e r v e r 的功能,确定经过验证的网络用户名, 数据库于是验证此人是否是如其所说的那个人,然后只基于网络用户名允许或拒绝登录访 问,而不要求单独的登录名和密码。 w i n d o w s 身份验证模式最适用于只在部门内部访问数据库的情况。与其他验证方式相 比,w i n d o w s 身份验证方式具有下列优点:提供了更多的功能,例如安全确认和口令加密、 审核、口令失效、最小口令长度和帐号锁定:通过在数据库系统中增加多个用户,或增加用 户组( 用户和用户组的有效性由服务器端h j 户管理模块保证。它可以插入域用户,域用户组, 本地用户,本地用户组) ;允许用户迅速访问数据库系统,而不必使用另一个用户名通过其 他认证方式进行认证。当使用w i n d o w s 身份验证方式时,由w i n d o w sn t 2 0 0 0 账号或者组控 制用户对数据库系统的访问。这时,用户不必提供数据库的用户名和口令就能连接到数据库 系统上。但是,在该用户迮接之前,数据库系统管理员必须将w i n d o w s n t 2 0 0 0 账号或者 w i n d o w sn t 2 0 0 0 组定义为数据库的用户。 该认证机制的不足是过分依赖于操作系统的安全策略的实现,并且只能在w i n d o w sn t 核心的操作平台上使用,在w i n d o w s9 x 上不支持。 一般来说,口令认证的方式用得比较多。这一过程可以用图3 2 的流程来说明。用户打 开应用程序后,向应用程序输入。口令”,这一过稃是经由操作系统的输入a p i 接口来操作 的,然后应用稃序再把“口令”经由数据库连接a p i 接口,或者网络接口传到数据库,由 1 3 东南大学硕士学位论文 数据序来决定登录成功与否。 直接登录 n e t a p i 接 口令 图3 - 2 口令认证 在这一过程中,所有的a p i 接口中的参数都是明文的很容易被a p ih o o k 类程序所窃 取;另外用户输入的用户名和口令往往与应用程序传给数据库的用户名与口令不同,真正的 登录数据库的口令往往存在于应用程序中,这样只要在应用稃序的执行文件中搜索一 下”u i 胪”或者”p w d = ”之类的字符串就有可能找到真正的埘户名与口令。可见这一过程中存 在很大的安全问题。 由于智能卡大晕普及,在各种登录中或者认证中也开始大量地采用智能片的方案,这一 方案的常用流程可以用图3 - 3 来表示。与图3 2 流程不同的是,在用户与应用程序之间,加 入了一个智能昔,这一方案中,用户不需要再记忆登录数据库的口令,只需要在开启应用程 序后,根据应_ f j 稃序提示将智能卡插入智能卡读卡器中,输入智能卡的p i n 码( 很多情况下 用户是不设置p i n 码的) ,然后应用程序就会主动向智能卡请求卡中保存的_ l j 户名与“口令”, 余下其它的过程与图3 - 2 中相同。显然这一过程中,智能卡的作用只是取代了用户输入口令 的过程,其它的内容并没有改变,所以其存在的安全问题与图3 2 的过程是相同的。 直接登录 图3 - 3 带智能膏的口令认证 1 4 第三章数据库认证技术 在上面的登录过程中,每一步的用户名与口令,在本次登录及其以后的每一次登录过程 中基本上是固定不变的( 用户可能会不定期修改自己提交给应用程序的口令) ,目前各类计 算资源也主要靠这种固定口令的方式来保护。比如你需要访问一个w i n d o w sn t 系统,首先 必须在这个w i n d o w sn t 上设置一个账户,并设定密码。不管是在网络还是本地。当你要访 问w i n d o w sn t 的资源时,系统会要求输入你的账户名和密码。在账户和密码被确认正确以 后才可以访问。 这种以同定口令为基础的认证方式存在很多问题,晟明显的有以下几种: 1 ) 网络数据流窃听:当认证信息通过网络传递时,并且很多认证系统的口令是未经加 密和明文,攻击者通过窃听网络数据,就很容易分辨出某种特定系统的认证数据,并提取出 用户名和口令。 2 ) 认证信息截取重放:有的系统会将认证信息简单加密后传输,如果攻击者无法用第 一种方式推算出密码,可以使用截取重放方式来获取密码。 3 ) 字典攻击:由于多数用户习惯使用有意思有单词数字作为密码,某些攻击者会使用 日常所用的字典中的单词来尝试用户的密码。所以大多数系统都建议用户在口令中加入特殊 字符,以增加口令的安全性。 4 ) 穷举尝试:这是一种特殊的字典攻击方式,它使用字符串的全

温馨提示

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

评论

0/150

提交评论