版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第五章认证技术现代密码的两个最重要的分支就是加密和认证。加密的目的是防止敌方获得机密信息。认证则是为了防止敌方的主动攻击,包括验证信息真伪及防止信息在通信过程中被篡改、删除、插入、伪造、延迟及重放等。认证主要包括三个方面:消息认证、身份验证和数字签名。上一章介绍了数字签名技术,本章将对认证技术的另外两个方面进行介绍。5.1消息认证网络安全所面临的基本攻击类型,包括:被动攻击(获取消息的内容、进行业务流分析)主动攻击(假冒、重放、消息的篡改、业务拒绝)。抗击被动攻击的方法是加密,抗击主动攻击的方法则是消息认证。消息认证是一个过程,用以验证接收消息的真实性(的确是由它所声称的实体发来的)和完整性(未被篡改、插入、删除),同时还用于验证消息的顺序性和时间性(未重排、重放、延迟)。除此之外,在考虑网络安全时还需考虑业务的不可否认性,即防止通信双方中的其一方对所传输消息的否认。实现消息的不可否认性可通过数字签字,数字签字也是一种认证技术,也可用于抗击主动攻击。5.1.1消息认证的模式5.1.2认证函数消息认证机制和数字签字机制都有一产生认证符的基本功能,这一基本功能又作为认证协议的一个组成成分。认证符是用于认证消息的数值,它的产生方汉又分为消息加密、消息认证码MAC(MessageAuthenticationCode)、杂凑函数(HashFunction)三大类,下面分别介绍。1.消息加密(MessageEncryptionFunction):消息加密产生认证符是指将消息加密后的密文作为认证符,其用法又根据单钥加密还是公钥加密有所不同。1)单钥加密图5.1表示消息M的发送方A根据单钥加密算法以与接收方B共享的密钥K对消息加密后发往B。第三方不知密钥K就不能恢复消息的明文,因此系统提供了保密性。图5.1单钥消息加密:保密性和认证性该系统还向B保证所收到的消息的确来自A,因为只有A知道密钥K。对B来说还必须有某种手段以决定M是否为合法的明文。一种解决方法是让明文有某种容易识别但又不易被篡改的结构,例如在消息被加密前附加一个错误检测吗,也称为校验和。如图5.2所示:(a)内部错误控制(b)外部错误控制图5.2内部错误控制和外部错误控制2)公钥加密为了提供认证功能,发方A使用自己的秘密钥SKA对消息加密,B使用A的公开钥PKA对消息解密(如图5.3(a)所示)。(a)公钥加密:认证性和签字(b)公钥加密:保密件、认证性和签字图5.3公钥消息加密的基本方式和单钥加密提供认证一样,因为只有A方拥有加密密钥SKA,因此可使B相信自己收到的消息的确来自A。同样,这时对明文也必须有某种错误控制结构以使接收者能区分明文和随机比特串。然而由于任何人都可使用A的公开钥解密密文,所以这种方案不提供保密性。为了既提供认证件,又提供保密件,A首先用自己的秘密钥SKA加密M以提供认证性,然后用B的公开钥再一次加密以提供保密性,如图5.3(b)所示。这种方案的缺点是需执行四次复杂的公钥算法。2.消息认证码MAC(MessageAuthenticationCode)消息认证码是指消息被一密钥控制的公开函数作用后产生的、用作认证符的、固定长度的数值,也称为密码校验和。此时需要通信双方A和B共享一密钥K。设A欲发送给B的消息是M,A首先计算MAC=CK(M),其中CK()是密钥控制的公开函数,然后向B发送M‖MAC,B受到后做与A相同的计算,求得一新MAC,并与收到的MAC做比较,如图5.4(a)所示。如果仅收发双方知道K,且B计算得到的MAC与接收到的MAC一致就实现了以下功能:=1\*GB3①接收方相信发方发来的消息未被篡改,这是因为攻击者不知道密钥,所以不能够公篡改消息后相应地篡改MAC,而如果仅篡改消息,则接收方计算的新MAC将与收到的MAC不同。②接收方相信发方不是冒充的,这是团为除收发双方外再无其他人知道密钥,因此其他人不可能对自己发送的消息计算出正确的MAC。=3\*GB3③如果消息中有序列号(如TCP中的消息),则由于发方不能成功地篡改序列号,所以接收者相信所收消息中的序列号。MAC函数与加密算法类似,不同之处为MAC函数不必是可逆的,因此与加密算法相比更不易被攻破。(a)消息认证(b)保密性和认证性:对明文认证(c)保密性和认证性:对密文认证图5.4MAC的基本使用方式3.散列函数(HashFunction)散列函数H是一公开函数,用于将任意长的消息M映射为较短的、固定长度的一个值H(M),作为认证符,称函数值H(M)为散列值或散列码或消息摘要。散列码是消息中所有比特的函数,因此提供了一种错误检测能力,即改变消息中任何一个比特或几个比特都会使散列码发生改变。图5.5表示散列函数用来提供消息认证的基本使用方式,共有以下六种:图5.5杂凑函数的基本使用方式①消息与散列码链接后用单钥加密算法加密。这种方式还提供了保密性。②用单钥加密算法仅对散列码加密。这种方式用于不要求保密性的情况中可减少处理负担。=3\*GB3③用公钥加密算法和发方的秘密钥仅加密散列码。这种方式提供认证性,又由于只有发方能产生加密的散列码,因此这种方式还对发方发送的消息提供了数字签字,事实上这种方式就是数字签字。=4\*GB3④消息的散列值用公钥加密算法和发方的秘密钥加密后与消息链接,再对链接后的结果用单钥加密算法加密,这种方式提供了保密性和数字签字。⑤使用这种方式时要求通信双方共享一个秘密值S,A计算消息M和秘密值S链接在一起的散列值,并将此散列值附加到M后发往B。因B也有S,所以可更新计算散列值以对消息进行认证。由于秘密值S本身未被发送,敌手无法对截获的消息加以篡改,也无法产生假消息。这种方式仅提供认证。=6\*GB3⑥这种方式是在⑤中消息与散列值链接以后再增加单钥加密运算,从而又可提供保密性。由于加密运算的速度较慢,代价较高,而且很多加密算法还受到专利保护,因此在不要求保密性的情况下,方式②和=3\*GB3③将比其他方式更具优势。散列函数应满足的条件散列函数的目的是为需认证的数据产生散列函数应满足以下条件:①函数的输入可以是任意长;②函数的输出是固定长;=3\*GB3③已知x,求H(x)较为容易,可用硬件或软件实现;④已知h,求使得H(x)=h的x在计算上是不可行的,这一性质称为函数的单向性,称H(x)为单向散列函数;=5\*GB3⑤已知x,找出y(y≠x)使得H(y)=H(x)在计算上是不可行的,如果单向散列函数满足这一性质,则称其为弱单向散列函数;⑥找出任意两个不同的输入x,y,使得H(y)=H(x)在计算上是不可行的,如果单间散列函数满足这——性质,则称其为强单向散列函数。性质⑥、⑥给出了散列函数无碰撞性的概念,如果散列函数对不向的输入可产生相同的输出,则称该函数具有碰撞性。以上六个条件中,前三个是散列函数能用于消息认证的基本要求。第4个条件(即单向性)则对使用秘密值的认证技术(见图5.5(e))极为重要。假如散列函数不具有单向性,则攻击者截获M和C=H(S‖M)后,求C的逆S‖M,就可求出秘密值S。第5个条件使得敌手无法在已知某个消息时,找到与该消息只有相同散列值的另一消息。这一性质用于散列值被加密情况时(见图5.5(b)和5.5(c))防止敌手的伪造,由于在这种情况下,敌手可读取传送的明文消息M,因此能产生该消息的散列值H(M)。但出于敌手不知道用于加密散列值的密钥,他就不可能既伪造一个消息M,又伪造这个消息的散列值加密后的密文EK[H(M)]。然而,如果第5个条件不成立,敌手在截获明文消息及其加密的散列值后,就可按以下方式伪造消息:首先求出截获的消息的散列值,然后产生一个具有相同散列值的伪造消息,最后再将伪造的消息和截获的加密的散列值发往通信的接收一万。第6个性质用于散列函数抵抗生日攻击。5.3.2一个简单的散列函数散列函数一般都较为复杂,为了获得对散列函数的感性认识,这一小节先介绍一个最简单的散列函数。将函数的输入划分为M比特长的分组,然后各分组之间逐比特异或,即:Ci=bi1⊕bi2⊕…⊕bim,1<i<M其中Ci为散列值的第i个比特,M为分组数,bij,为第j个分组的第i个比特,⊕为异或运算。从函数的定义可见,函数的作用是为每个比特位都产生出一个简单的校验和。由于任一M比特散列值出现的可能性都相等,因此数据出错而散列值不变的概率为2-n,所以该函数可有效地用于随机数据的完整性检验。近年已经发展了许多散列函数,如MD、MD4、MD5、SHA等,现在流行的散列函数有MD4、MD5和SHA。注意,客户机和服务器必须使用相同的算法,无论是MD4还是MD5,MD4客户机不能和MD5服务器交互。MD2摘要算法的设计是出于下面的考虑:利用32位RISC结构来使其吞吐量最大,而不需要大量的替换表(SubstitutionTable)。MD4算法将消息的给予对长度作为输人,产生一个128位的“指纹”或“消息化”。要产生两个具有相同消息化的文字块或者产生任何具有预先给定“指纹”的消息,都被认为在计算上是不可能的。MD5摘要算法是个数据认证标准。MD5在RFC1321中给出文档描述,是MD4算法的一个扩展。MD提供了一种单向的哈希函数,是一个校验工具。它将一个任意长的字串作为输人,产生一个128位的“报文摘要”。通过计算每个文件的数字指纹(或数字签名)来检查文件是否被更换,或者是否与原来的一致。一个称为MD系列的算法集就是进行这项工作的。其中最常用到的是MD5的系统。安全散列算法(SHA)由美国国家标准技术研究所(NIST)开发,作为联邦信息处理标准于1993年发表(FIPSPUB180),1995年修订,作为SHA-1(FIPSPUB180-1),SHA一1基于MD4设计。SHA-1算法中可输人最大长度为2“位的消息,输出160位消息摘要;输人以5互2位数据块为单位处理。国际上还流行其他一些散列算法,如俄罗斯国家标准GOST算法、Merkle设计的Snefru算法、欧共体RIPE计划中所采用的RIPE-MD算法和RIPEMAC,以及Zhens提出的MD-5改进算法HAVAL散列算法。5.1身份认证通过网络开展电子商务业务,身份识别问题是一个不得不解决的问题。一方面,只有合法用户才可以使用网络资源,所以网络资源管理必须识别用户的身份。另一方面,传统的交易双方可以面对面地谈判交涉,很容易识别对方的身份。而通过网络交易却不同,交易双方不见面,通过普遍的电子传输信息很难确认对方的身份。因此,电子商务中的身份识别问题显得尤为突出。只有采取一定的措施使商家可以确认对方身份,商家才能放心地开展电子商务业务。5.1.1身份认证的概念身份认证又叫身份识别,它是通信和数据系统正确识别通信用户或终端的个人身份的重要途径。比如银行的自动取款机(ATM)可将现款发放给经它正确识别的账号持卡人。对计算机的访问和使用、安全地区的出人和放行、出人境等都是以准确的身份识别为基础的。身份识别技术能使识别者让对方识别到自己的真正身份,确保识别者的合法权益。身份认证是安全系统中的第一道关卡,如图图5-6所示,用户在访问安全系统之前,首先经过身份认证系统识别身份,然后访问监控器根据用户的身份和授权数据库决定用户是否能够访问某个资源。授权数据库由安全管理员按照需要进行配置。图5-6身份认证的地位审计系统根据审计设置记录用户的请求和行为,同时人侵检测系统实时或非实时地是否有人侵行为。访问控制和审计系统都要依赖于身份认证系统提供的“信息”——用户的身份。可见,身份认证在安全系统中的地位极其重要,是最基本的安全服务,其他的安全服务都要依赖于它。一旦身份认证系统被攻破,那么系统的所有安全措施将形同虚设。黑客攻击的目标往往就是身份认证系统。计算机系统安全机制的主要目标是控制对信息的访问。当前用于身份识别的技术方法主要有四种:①利用用户身份、口令、密钥等技术措施进行身份识别;②利用用户的体貌特征、指纹、签字等技术措施进行身份识别;③利用用户持有的证件(如光卡、磁卡等)进行身份识别;④多种方法交互使用进行身份识别。5.2.2口令认证口令识别是目前广泛采用的技术措施之一。1.口令认证的过程口令识别机制在技术上需要分两步处理:第一步是给予身份标识,第二步是鉴别。(1)计算机系统给每个用户分配一个标识(唯一的ID),每个用户选择一个供以后注册证实用的口令。(2)计算机系统将所有用户的身份标识和相应口令存人口令表。口令表中的标识和口令是成对出现的,唯一用户身份标识是公开的,口令是秘密的,口令由用户自己掌握。当用户要注册进人系统时,必须先向系统提交他的身份标识和口令,系统根据身份标识检索口令表得到相应的口令,如果口令相符则认为该用户是合法用户,系统接收该用户,否则用户将遭系统拒绝。口令识别这种控制机制的优点是简单易掌握,能减缓受到攻击的速度。目前对其攻击主要有尝试猜测、假冒登录和搜索系统口令表等三种方法。2.口令选择原则口令一般是长度为5-8的字符串,由数字、字母、特殊字符、控制字符等组成。口令的选择一般应满足以下几个原则:·容易记忆·不易猜中·不易分析第一条是针对用户本人而言的,另两条则是针对想非法侵人系统的人。但我们可以看出,第一条原则与另两条原则之间却有着一定的矛盾。因为容易记忆的东西往往是用户比较熟悉的,如亲友的生日、姓名、家里的电话号码等。这些虽然容易记忆,但同时也是容易猜中的;而且用户很喜欢只用小写字母或数字作为口令,这就给穷举破译口令带来了方便。所以口令的选择一定要慎重,而且应该定期更换。在满足以上条件的前提下,口令的长度应该尽量长,因为越长的口令越不容易被破译。3.口令的管理口令的管理方式是一个重要问题。如果用户的口令都存储在一个文件中,那么一旦这个文件暴露,非法用户就可获得口令。这个问题可以用单向函数来解决,即计算机并不存储口令,只存储口令的单项函数。其识别过程如下:①用户将口令传送给计算机;②计算机完成口令单向函数值的计算;③计算机把单向函数值和机器存储的值比较。这样非法侵人者想获得合法的用户口令就不太容易了。4.一次性口令为了解决固定口令的诸多问题,安全专家提出了一次性口令(OneTimePassword,OTP)的密码体制,以保护关键的计算资源。OTP的主要思路是:在登录过程中加人不确定因素,使每次登录过程中传送的信息都不相同,以提高登录过程安全性。例如,登录密码+MD(用户名十密码十时间),系统接收到登录口令后做一个验算即可验证用户的合法性。这些不确定因子选择方式大致有以下几种:(1)口令序列。口令为一个单向的前后相关的序列,系统只需记录第N个口令。用户用第N—1个口令登录时,系统用单向算法算出第N个口令与自己保存的第N个口令匹配,以判断用户的合法性。由于N是有限的,用户登录N次后必须重新初始化口令序列。(2)挑战/回答。用户要求登录时,系统产生一个随机数发送给用户。用户用某种单向算法将自己的秘密口令和随机数混合起来发送给系统,系统用同样的方法做验算即可验证用户身份。(3)时间同步。以用户登录时间作为随机因素。这种方式对双方的时间准确度要求较高,一般采取以分钟为时间单位的折中办法。在SecureID产品中,对时间误差的容忍可达±1min。(4)事件同步。这种方法以挑战/回答方式为基础,将单向的前后相关序列作为系统的挑战信息,以减少用户每次输人挑战信息的麻烦。但当用户的挑战序列与服务器产生偏差后,需要重新同步。一次性口令的生成方式有以下几种:(l)TokenCard(硬件卡)。用类似计算器的小卡片计算一次性口令。对于挑战/回答方式,该卡片配备有数字按键,便于输人挑战值;对于时间同步方式,该卡片每隔一段时间就会重新计算口令;有时还会将卡片做成钥匙链式的形状,某些卡片还带有PIN保护装置。(2)SoftToken(软件)。用软件代替硬件,某些软件还能限定用户登录的地点。(3)IC卡。在IC卡上存储用户的秘密信息,这样用户在登录时就不用记忆自己的秘密口令了。5.2.3持证认证持证(Token)是一种个人持有物,它的作用类似于钥匙,用于启动电子设备。使用比较多的是一种嵌有磁条的塑料卡,磁条上记录有用于机器识别的个人信息。这类卡通常和个人身份识别码(PIN)一起使用。这类卡易于制造,而且磁条上记录的数据也易于转录,因此要设法防止仿制。为了提高磁卡的安全性,人们建议使用一种被称作“智能卡”的磁卡来代替普通的磁卡,智能卡与普通的磁卡的主要区别在于智能卡带有智能化的微处理器和存储器。智能卡已成为目前身份识别的一种更有效、更安全的方法。智能卡存储用户个性化的秘密信息,同时在验证服务器中也存放该秘密信息。进行认证时,用户输人PIN,智能卡认证PIN,成功后,即可读出智能卡中的秘密信息,进而利用该秘密信息与主机之间进行认证。基于智能卡的认证方式是一种双因素的认证方式(PIN十智能卡),即使PIN或智能卡被窃取,用户仍不会被冒充。智能卡提供硬件保护措施和加密算法,可以利用这些功能加强安全性能。例如,可以把智能卡设置成用户只能得到加密后的某个秘密信息,从而防止秘密信息的泄露。智能卡仅仅为身份识别提供了一个硬件基础,要想得到安全的识别,还需要与安全协议配套使用。5.2.4生物识别传统的身份识别方法主要基于身份标识物品和身份标识知识。身份标识物品有钥匙、证件、银行卡等,身份标识知识包括用户名、密码等。在一些安全性要求严格的系统中,往往将这两者结合起来,如自动取款机要求用户同时提供银行卡和密码。但标识物品容易丢失或被伪造,标识知识容易遗忘或记错,更为严重的是传统身份识别系统往往无法区分标识物品真正的拥有者和取得标识物品的冒充者,一旦他人获得标识物品,就可以拥有相同的权力。人类必须寻求更为安全可靠、使用方便的身份识别新途径。于是,生物识别悄然兴起,成为一种新的身份识别技术。生物识别技术在电子商务领域应用的前景广阔。鉴于生物识别的可靠性,未来人们在网上购物或交易时,只需首先在生物识别仪上进行身份认证。基于生物特征的身份鉴别技术的研究伴随着这一应用的发展越来越深人,逐渐自成系统。生物识别依据人类自身所固有的生理或行为特征。生理特征与生俱来,多为先天性的,如指纹、眼睛虹膜、脸像等;行为特征则是习惯使然,多为后天性的,如笔迹、步态等。正是由于这些别人很难具有的个人特征可以作为个人身份识别的重要依据,生物识别因此包括指纹识别、虹膜识别、脸像识别、掌纹识别、声音识别、签名识别、笔迹识别、手形识别、步态识别及多种生物特征融合识别等诸多种类,其中,虹膜和指纹识别被公认为最可靠的生物识别方式。生物识别技术在机场、银行、公安等方面已有广阔的应用前景,但是它最有应用前途的地方还是在电子商务领域。未来人们在网上购物或者交易时,首先在指纹或者虹膜识别仪上进行身份认证,这可以保证网络管理机构有效监督网络交易的参与者,大大降低不法分子对网络交易的破坏活动。5.3身份认证协议网络通信中要制止通信窃取及重放等威胁,主要依靠的是对认证协议的认真设计。认证协议用来对与系统有关的被验证方(通常是指客户端系统)和系统本身之间的与验证有关的数据通信进行管理,同时还要依靠验证决策(通常是指服务器的验证决策)。认证协议一般建立在通信协议环境之上,如网络层协议或应用层协议。从实用角度而言,一个安全的身份识别协议至少应满足以下两个条件:①识别者A能向验证者B证明他的确是A;②在识别者A向验证者B证明他的身份后,验证者B不能获得A的任何有用的信息,B不能模仿A向第三方证明他是A。目前已经设计出了许多满足上述两个条件的认证机制,主要有以下四类:①一次一密机制;②公钥认证体系;③Kerberos认证系统;④零知识身份识别协议。5.3一次一密机制主要有两种实现方式。()采用请求/应答方式(Challenge/Response)。第一种方法是用户登录时系统随机提示一条信息,用户根据这一信息连同其个人化数据共同产生一个口令字,用户输人这个口令字,完成一次登录过程,或者用户对这一条信息实施数字签名发送给验证者AS进行鉴别;第M种方法采用时钟同步机制,即根据这个同步时钟信息连同其个人化数据共同产生一个口令字。这两种方案均需要验证者AS也产生与用户端相同的口令字(或检验用户签名)用于验证用户身份。(2)询问一应答式协议。其基本观点是:验证者提出问题(通常是随机选择一些随机数,称作口令),由识别者回答,然后验证者验证其真实性。目前已经设计出了许多询问一应答式协议,比如SChnorr身份识别协议、Okanmto身份识别协议、Guillou-Quisquater身份识别协议和基于身份的识别协议等。3.2X509认证协议国际标准组织CCITT建议使用X.509作为X.500目录检索服务的一部分。X.500是对于分布式网络中储存用户信息的数据库所提供的目录检索服务的协议标准,而X.509是利用公钥密码技术对X.500的服务所提供的认证服务的协议标准。此外,X.509也利用公钥密码技术对通信的双方规定了三种识别方法。X.509的最初版本发表于198B年,199
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《光电子学》课程教学大纲
- 《社会保障学》课程教学大纲
- 2024年低价别墅出卖合同范本
- 2024年出售安建回迁房合同范本
- 2024年承接墙安装工程合同范本
- 光学镜片加工培训
- 统编版五年级语文上册第三次月考综合测试卷(含答案)
- 冠脉支架术及护理
- 做幸福的教师培训
- 2024标准正规借款合同范文
- 《普通高等学校军事课教程》课件第5章
- 光伏业务员合同协议书
- 出租车行业服务标准制定
- 办公室租赁合同德文版
- 职业中专学生感恩教育主题班会省公开课一等奖全国示范课微课金奖课件
- 八年级上册语文《富贵不能淫》文言文翻译、注释、古汉语知识及赏析
- 开放大学毕业自我鉴定5篇
- 高考日语宣讲课件【知识精讲精研】开学第一课课件
- 2024年安徽省皖能能源交易有限公司招聘笔试参考题库附带答案详解
- (2024年)知识产权全套课件(完整)
- 劳务派遣 投标方案(技术方案)
评论
0/150
提交评论