




已阅读5页,还剩118页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,网络与信息安全 第七讲 身份鉴别 陈 钟 北京大学计算机系信息安全研究室 ,2003年春季北京大学硕士研究生课程,课程体系,密码学基础:经典密码、对称密码、非对称密码、密钥管理技术 认证理论与技术:散列算法(Hash)、数字签名、身份鉴别和访问控制 网络安全:电子邮件的安全、IP的安全、Web的安全、扫描、攻击与入侵检测 系统安全:防火墙技术、操作系统的安全、病毒 专题讲座:,回顾-密码学基础,对称密码 两个基本运算:代替和置换 两个基本分析方法:统计分析法&穷举法 两个基本设计原则:混乱和扩散 密码分析攻击的方式 分组密码 现代常规分组加密算法:3DES、RC5、RC6、SES 随机数的产生 公钥密码算法: D-H/背包算法/RSA/ElGamal/ECC 消息鉴别、散列函数、数字签名 密钥管理,讨论议题,鉴别的基本概念 鉴别机制 鉴别与交换协议 典型鉴别实例,鉴别Authentication,The property that ensures that the identity of a subject or resource is the one claimed. Authenticity applies to entities such as users, processes, systems and information. 鉴别就是确认实体是它所声明的。 鉴别是最重要的安全服务之一。鉴别服务提供了关于某个实体身份的保证。(所有其它的安全服务都依赖于该服务) 鉴别可以对抗假冒攻击的危险,鉴别的需求和目的,问题的提出 身份欺诈 鉴别需求: 某一成员(声称者)提交一 个主体的身份并声称它是那个主体。 鉴别目的: 使别的成员(验证者)获得对声称者所声称的事实的信任。,身份鉴别,定义:证实客户的真实身份与其所声称的身份是否相符的过程。 依据: Something the user know (所知) 密码、口令等 Something the user possesses (拥有) 身份证、护照、密钥盘等 Something the user is (or How he behaves) 指纹、笔迹、声音、虹膜、DNA等,协议 PAP CHAP Kerberos X.509,鉴别协议,双方鉴别 (mutual authentication) 单向鉴别 (one-way authentication),双向鉴别协议,最常用的协议。该协议使得通信各方互相认证鉴别各自的身份,然后交换会话密钥。 基于鉴别的密钥交换核心问题有两个: 保密性 实效性 为了防止伪装和防止暴露会话密钥,基本鉴别和会话密码信息必须以保密形式通信,这就要求预先存在保密或公开密钥供实现加密使用。第二个问题也很重要,因为涉及防止消息重放攻击。,鉴别的两种情形,鉴别用于一个特定的通信过程,即在此过程中需要提交实体的身份。 实体鉴别(身份鉴别):某一实体确信与之打交道的实体正是所需要的实体。只是简单地鉴别实体本身的身份,不会和实体想要进行何种活动相联系。 数据原发鉴别:鉴定某个指定的数据是否来源于某个特定的实体。不是孤立地鉴别一个实体,也不是为了允许实体执行下一步的操作而鉴别它的身份,而是为了确定被鉴别的实体与一些特定数据项有着静态的不可分割的联系。,在实体鉴别中,身份由参与某次通信连接或会话的远程参与者提交。 这种服务在连接建立或在数据传送阶段的某些时刻提供使用, 使用这种服务可以确信(仅仅在使用时间内): 一个实体此时没有试图冒充别的实体, 或没有试图将先前的连接作非授权地重演。 在数据原发鉴别中,身份和数据项一起被提交,并且声称数据项来源于身份所代表的主体。这种服务对数据单元的重复或篡改不提供保护 。,数据原发鉴别 数据原发鉴别为声称者的身份是特定数据项的来源提供了保障。 它不同于实体鉴别: 声称者未必涉及在当前的通信活动中; 数据项可能已经通过许多系统被重放,这些系统可能或没有被鉴别; 数据项可能在途中被存储相当的周期。 与完整性有关的数据原发鉴别必须确保自从数据项离开它的信源没有被修改。然而,数据原发鉴别未必能免遭数据项的复制、重排序或丢失。,数据原发鉴别方法: 1)加密:给数据项附加一个鉴别项,然后加密该结果 2)封装或数字签名 3)实体鉴别扩展:通过完整性机制将数据项和鉴别交换联系起来,实体鉴别实现安全目标的方式,作为访问控制服务的一种必要支持,访问控制服务的执行依赖于确知的身份(访问控制服务直接对达到机密性、完整性、可用性及合法使用目标提供支持); 作为提供数据起源认证的一种可能方法(当它与数据完整性机制结合起来使用时); 作为对责任原则的一种直接支持,例如,在审计追踪过程中做记录时,提供与某一活动相联系的确知身份。,实体鉴别分类(1),实体鉴别可以分为本地和远程两类。 实体在本地环境的初始化鉴别(就是说,作为实体个人,和设备物理接触,不和网络中的其他设备通信)。 连接远程设备、实体和环境的实体鉴别。 本地鉴别:需要用户的进行明确的操作 远程鉴别:通常将本地鉴别结果传送到远程。 (1)安全 (2)易用,实体鉴别分类(2),实体鉴别可以是单向的也可以是双向的。 单向鉴别是指通信双方中只有一方向另一方进行鉴别。 双向鉴别是指通信双方相互进行鉴别。,实体鉴别系统的组成,一方是出示证件的人,称作示证者P(Prover),又称声称者(Claimant)。 另一方为验证者V(Verifier),检验声称者提出的证件的正确性和合法性,决定是否满足要求。 第三方是可信赖者TP (Trusted third party) ,参与调解纠纷。 第四方是攻击者,可以窃听或伪装声称者骗取验证者的信任。,鉴别模型,A,TP,B,实体鉴别与消息鉴别的差别,实体鉴别一般都是实时的,消息鉴别一般不提供时间性。 实体鉴别只证实实体的身份,消息鉴别除了消息的合法和完整外,还需要知道消息的含义。 数字签字是实现身份识别的有效途径。但在身份识别中消息的语义是基本固定的,一般不是“终生”的,签字是长期有效的。,对身份鉴别系统的要求,(1)验证者正确识别合法申请者的概率极大化。 (2)不具有可传递性(Transferability) (3)攻击者伪装成申请者欺骗验证者成功的概率要小到可以忽略的程度 (4)计算有效性 (5)通信有效性 (6)秘密参数能安全存储 *(7)交互识别 *(8)第三方的实时参与 *(9)第三方的可信赖性 *(10)可证明的安全性,实现身份鉴别的途径,三种途径之一或他们的组合 (1)所知(Knowledge):密码、口令 (2)所有(Possesses):身份证、护照、信用卡、钥匙 (3)个人特征:指纹、笔迹、声纹、手型、血型、视网膜、虹膜、DNA以及个人动作方面的一些特征 (4)你做的事情(如手写签名) 设计依据: 安全水平、系统通过率、用户可接受性、成本等,讨论议题,鉴别的基本概念 鉴别机制 鉴别与交换协议 典型鉴别实例,鉴别机制,非密码的鉴别机制 基于密码算法的鉴别 采用对称密码算法的机制 采用公开密码算法的机制 采用密码校验函数的机制 零知识证明协议,非密码的鉴别机制,A. 口令机制 B一次性口令机制 C基于地址的机制 D基于个人特征的机制 E个人鉴别令牌,A口令机制,口令或通行字机制是最广泛研究和使用的身份鉴别法。通常为长度为58的字符串。选择原则:易记、难猜、抗分析能力强。 口令系统有许多脆弱点: 外部泄露 口令猜测 线路窃听 危及验证者 重放,对付外部泄露的措施,教育、培训; 严格组织管理办法和执行手续; 口令定期改变; 每个口令只与一个人有关; 输入的口令不再现在终端上; 使用易记的口令,不要写在纸上。,对付口令猜测的措施,教育、培训; 严格限制非法登录的次数; 口令验证中插入实时延迟; 限制最小长度,至少68字节以上 防止用户特征相关口令, 口令定期改变; 及时更改预设口令; 使用机器产生的口令。,对付线路窃听的措施,使用保护口令机制:如单向函数。,q ,f,id,id,q,比较,是或不是,p ,id,声称者,验证者,消息,主要缺陷及对策,攻击者很容易构造一张q与p对应的表,表中的p尽最大可能包含所期望的值。 随机串(Salt)是使这种攻击变得困难的一种办法。 在口令后使用随机数。 只能保护在多台计算机上使用相同口令或在同一计算机上使用同一口令的不同用户。,UNIX系统中的口令存储,UNIX系统使用crypt()保证系统密码的完整性。 这一函数完成被称作单向加密的功能,它可以加密一些明码,但不能够将密码转换为原来的明码。,改进方案,q ,id,q,id,比较,f,是或不是,声称者,验证者,p,id,消息,salt,基本的对付危及验证者的措施,使用单向函数,p,id,id,q,比较,是或不是,声称者,验证者,p,id,消息,f,q ,salt,对付窃听及危及验证者的措施,声称者,f,q,id,g,id,r,比较,是或不是,p,id,r,验证者,消息,salt,salt,对付重放攻击的措施,抵抗对通信线路的主动攻击重放攻击。,r ,id,nrv,g,f,id,q,g,比较,是或不是,p,声称者,验证者,消息,q ,id,nrv,salt,B一次性口令机制,一次性口令机制确保在每次认证中所使用的口令不同,以对付重放攻击。 确定口令的方法: (1)两端共同拥有一串随机口令,在该串的某一位置保持同步; (2)两端共同使用一个随机序列生成器,在该序列生成器的初态保持同步; (3)使用时戳,两端维持同步的时钟。,强度,( 1)没有器件而知道口令p,不能导致一个简单的攻击; ( 2)拥有器件而不知道口令p,不能导致一个简单的攻击; ( 3)除非攻击者也能进行时间同步,否则重放不是一个简单的攻击; ( 4)知道q(例如通过浏览验证者系统文件)而不知道设备安全值dsv,不能导致一个简单的攻击。,SKEY验证程序,其安全性依赖于一个单向函数。为建立这样的系统A输入一随机数R,计算机计算f(R), f( f(R), f( f( f(R) ),,共计算100次,计算得到的数为x1, x2 , x3 , x100,A打印出这样的表,随身携带,计算机将x101存在A的名字旁边。 第一次登录,键入x100, 以后依次键入xi,计算机计算f(xi),并将它与xi+1比较。,C、基于地址的机制,基于地址的机制假定声称者的可鉴别性是以呼叫的源地址为基础的。 在大多数的数据网络中,呼叫地址的辨别都是可行的。 在不能可靠地辨别地址时,可以用一个呼叫回应设备来获得呼叫的源地址。 一个验证者对每一个主体都保持一份合法呼叫地址的文件。 这种机制最大的困难是在一个临时的环境里维持一个连续的主机和网络地址的联系。地址的转换频繁、呼叫转发或重定向引起了一些主要问题。 基于地址的机制自身不能被作为鉴别机制,但可作为其它机制的有用补充。,D基于个人特征的机制,生物特征识别技术主要有: 1)指纹识别; 2)声音识别; 3)手迹识别; 4)视网膜扫描; 5)手形。 这些技术的使用对网络安全协议不会有重要的影响。,E个人鉴别令牌,物理特性用于支持认证“某人拥有某东西” ,但通常要与一个口令或PIN结合使用。 这种器件应具有存储功能,通常有键盘、显示器等界面部件,更复杂的能支持一次性口令,甚至可嵌入处理器和自己的网络通信设备(如智能卡)。 这种器件通常还利用其它密码鉴别方法。,采用对称密码的鉴别机制,基于对称密码算法的鉴别依靠一定协议下的数据加密处理。通信双方共享一个密钥(通常存储在硬件中),该密钥在询问应答协议中处理或加密信息交换。,设计鉴别协议,介绍在设计认证协议时特别需要注意的问题,并给出抵抗这些攻击的具体设计策略。 鉴别和密钥交换协议的核心问题有两个: 保密性 时效性 为了防止伪装和防止暴露会话密钥,基本鉴别与会话密码信息必须以保密形式通信。这就要求预先存在保密或公开密钥供实现加密使用。 第二个问题也很重要,因为涉及防止消息重放攻击。,A、重放,常见的消息重放 攻击形式有: 1、简单重放:攻击者简单复制一条消息,以后在重新发送它; 2、可被日志记录的复制品:攻击者可以在一个合法有效的时间窗内重放一个带时间戳的消息; 3、不能被检测到的复制品:这种情况可能出现,原因是原始信息已经被拦截,无法到达目的地,而只有重放的信息到达目的地。 4、反向重放,不做修改。向消息发送者重放。当采用传统对称加密方式时,这种攻击是可能的。因为消息发送者不能简单地识别发送的消息和收到的消息在内容上的区别。 1)针对同一验证者的重放:非重复值 2)针对不同验证者的重放:验证者的标识符,B非重复值的使用,非重复值的使用: 1)序列号:计数的策略:对付重放攻击的一种方法是在认证交换中使用一个序数来给每一个消息报文编号。仅当收到的消息序数顺序合法时才接受之。但这种方法的困难是要求双方必须保持上次消息的序号。 2)时间戳: A接受一个新消息仅当该消息包含一个时间戳,该时间戳在A看来,是足够接近A所知道的当前时间;这种方法要求不同参与者之间的时钟需要同步 3)验证者发送随机值(如询问):不可预测、不重复,时间戳,在网络环境中,特别是在分布式网络环境中,时钟同步并不容易做到 一旦时钟同步失败 要么协议不能正常服务,影响可用性(availability),造成拒绝服务(DOS) 要么放大时钟窗口,造成攻击的机会 时间窗大小的选择应根据消息的时效性来确定,询问/应答方式(Challenge/Response),A期望从B获得一个消息 首先发给B一个随机值(challenge) B收到这个值之后,对它作某种变换,并送回去 A收到B的response,希望包含这个随机值 在有的协议中,这个challenge也称为nonce 可能明文传输,也可能密文传输 这个条件可以是知道某个口令,也可能是其他的事情 变换例子:用密钥加密,说明B知道这个密钥; 简单运算,比如增一,说明B知道这个随机值 询问/应答方法不适应非连接性的应用,因为它要求在传输开始之前先有握手的额外开销,这就抵消了无连接通信的主要特点。,C、相互鉴别协议,在理论上,相互鉴别可通过组合两个单向鉴别交换协议来实现。然而,这种组合需要被仔细地考察,因为有可能这样的组合易受窃听重放攻击。 另外,设计协议消息数比相应的单向交换协议的消息数的两倍少得多的相互鉴别交换协议是可能的。 因此,由于安全性和性能的原因,相互鉴别交换协议必须为此目的而特别地进行设计。,采用对称密码的鉴别机制,无可信第三方参与的鉴别 单向鉴别:使用该机制时,两实体中只有一方被鉴别。 双向鉴别:两通信实体使用此机制进行相互鉴别。 有可信第三方参与的鉴别,本部分使用以下记法,A:实体A的可区分标识符 B:实体B的可区分标识符 TP:可信第三方的可区分标识符 KXY:实体X和实体Y之间共享的秘密密钥,只用于对称密码技术 SX:与实体X有关的私有签名密钥,只用于非对称加密技术 NX:由实体X给出的顺序号 RX:由实体X给出的随机数 TX:由实体X原发的时变参数,它或者是时间标记TX,或者是顺序号RX NX: Y|Z:数据项Y和Z以Y在前Z在后顺序拼接的结果 eK(Z):用密钥K的对称加密算法对数据Z加密的结果 fK(Z):使用以密钥K和任意数据串Z作为输入的密码校验函数f所产生的密码校验值 CertX:由可信第三方签发给实体X的证书 TokenXY:实体X发给Y的权标,包含使用密码技术变换的信息 TVP:时变参数 SSX(Z):用私有签名密钥SX对数据Z进行私有签名变换所产生的签名.,无可信第三方参与的机制 单向鉴别,一次传送鉴别,A,B,(1)TokenAB,(2),(1)TokenAB=Text2|eKAB(TA|B|Text1) NA,(2)B解密,验证B、时间标记或顺序号的正确性,无可信第三方参与的机制 单向鉴别,两次传送鉴别,A,B,(1)RB|Text1,(3),(2)TokenAB=Text3|eKAB(RB|B|Text2),(3)B解密,验证B、 RB的正确性,(2)TokenAB,无可信第三方参与的机制 双向鉴别,两次传送鉴别,A,B,(1) TokenAB,(2),(4)B解密,验证B、 RB的正确性,(3)TokenBA,(1)TokenAB=Text2|eKAB(TA|B|Text1) NA,(3)TokenBA=Text4|eKAB(TB|A|Text3) NB,(4),无可信第三方参与的机制 双向鉴别,三次传送鉴别,A,B,(1)RB|Text1,(3),(2)TokenAB=Text3|eKAB(RA |RB|B|Text2),(3)B解密,验证B、 RB的正确性,(2)TokenAB,(4)TokenBA,(4)TokenBA=Text5|eKAB(RB |RA|Text4),(5),(5)A解密,验证B、 RB、 RA的正确性,涉及可信第三方的机制-双向鉴别,四次传送鉴别,A,B,(6)TokenBA,TP,(4)TokenAB,(2)TokenTA,(1)TVPA|B|Text1,(3),(7),(5),(2)TokenTA=Text4|eKAT(TVPA |KAB|B|Text3) | eKBT(TTP |KAB|A|Text2) NTP,(4)TokenAB=Text6| eKBT(TTP |KAB|A|Text2) eKAB(TA |B|Text5) NTP NA,(6)TokenBA=Text8| eKAB(TB |A|Text7) NB,涉及可信第三方的机制-双向鉴别,五次传送鉴别,A,B,(7)TokenBA,TP,(5)TokenAB,(3)TokenTA,(2)RA|RB|B|Text2,(4),(8),(6),(3)TokenTA=Text5|eKAT(RA |KAB|B|Text4) | eKBT(RB | KAB| A|Text3),(5)TokenAB=Text7| eKBT(RB | KAB| A|Text3) |eKAB(RA |RB|Text6),(7)TokenBA=Text9| eKAB(RB |RA|Text8),(1)RB|Text1,采用公开密码算法的机制,在该机制中,声称者要通过证明他知道某秘密签名密钥来证实身份。由使用他的秘密签名密钥签署某一消息来完成。消息可包含一个非重复值以抵抗重放攻击。 要求验证者有声称者的有效公钥 声称者有仅由自己知道和使用的秘密签名私钥。 单向鉴别:仅对实体中的一个进行鉴别。 双向鉴别:两个通信实体相互进行鉴别。,采用公开密码算法的机制 单向鉴别,一次传递机制,A,B,(1)CertA|TokenAB,(1)TokenAB=TA|B|Text2|SSA(TA|B|Text1) NA NA,(2),(2)B验证A的公开密钥,验证B的标识符号,采用公开密码算法的机制 单向鉴别,两次传递机制,A,B,(1)RB|Text1,(3),(3)B验证A的公开密钥,验证B的标识符号,(1)CertA|TokenAB,(2)TokenAB=RA|RB|B|Text3|SSA(RA|RB|B|Text2),采用公开密码算法的机制 双向鉴别(1),A,B,(2),(2)B验证A的公开密钥,验证B的标识符号,(3)CertB|TokenBA,两次传递机制,(1)CertA|TokenAB,(1)TokenAB=TA|B|Text2|SSA(TA|B|Text1) NA NA,(4),(3)TokenBA=TB|A|Text4|SSB(TB|A|Text3) NB NB,(4)A验证B的公开密钥,验证A的标识符号,采用公开密码算法的机制 双向鉴别(2),三次传递机制,A,B,(1)RB|Text1,(3),(3)B验证A的公开密钥,验证B的标识符号,(2)CertA|TokenAB,(2)TokenAB=RA|RB|B|Text3|SSA(RA|RB|B|Text2),(4)CertB|TokenBA,(4)TokenBA=RB|RA|A|Text5|SSB(RB|RA|A|Text4),(5)A验证B的公开密钥,验证A的标识符号,(5),采用公开密码算法的机制 双向鉴别(3),两次传递并行机制,A,B,(1)CertA|RA|Text1,(2) (4),(4)A和B验证各自的随机数,(1 )CertB|RB|Text2,(1)TokenAB=RA|RB|B|Text4|SSA(RA|RB|B|Text3),(3)TokenBA,(1 )TokenBA=RB|RA|A|Text6|SSB(RB|RA|A|Text5),(2)A和B确保他们拥有另一实体的公开密钥,(2) (4),(3 )TokenAB,采用密码校验函数的机制,在该机制中,待鉴别的实体通过表明它拥有某个秘密鉴别密钥来证实其身份。可由该实体以其秘密密钥和特定数据作输入,使用密码校验函数获得密码校验值来达到。 声称者和验证者共享秘密鉴别密钥,应仅为该两个实体所知,以及他们的信任方。,采用密码校验函数的机制- 单向鉴别,一次传递鉴别,A,B,(1)TokenAB,(1)TokenAB=TA|Text2|fKAB(TA|B|Text1) NA NA,(2),(2)B验证A的标识符号和时间标记,采用密码校验函数的机制- 单向鉴别,A,B,(1)RB|Text1,(3),(3)B验证B的标识符号和随机数,(2)TokenAB,(2)TokenAB=Text3|fKAB(RB|B|Text2),两次传递机制,采用密码校验函数的机制- 双向鉴别(1),A,B,(2),(2)B验证A的标识符号和时间标记,(3)TokenBA,两次传递机制,(1)TokenAB,(1)TokenAB=TA|B|Text2|fKAB(TA|B|Text1) NA NA,(4),(3)TokenBA=TB|A|Text4|SSB(TB|A|Text3) NB NB,(4)A验证B的标识符号和时间标记,采用密码校验函数的机制- 双向鉴别(2),三次传递机制,A,B,(1)RB|Text1,(3),(3)B验证B的标识符号和随机数,(2)TokenAB,(2)TokenAB=RA|Text3|fKAB(RA|RB|B|Text2),(4)TokenBA,(4)TokenBA=Text5| fKAB(RB|RA|Text2),(5)A验证A的标识符号和随机数,(5),id,id,nrv,声称者,验证者,密钥和id 来自物理 令牌或本 地存储器,加密,封 装或签名,密钥,id,解密或验证,是或不是,密钥,id,nrv,消息,加密,封装或签名,简化的基于密码技术的鉴别机制,零知识证明技术,零知识证明技术可使信息的拥有者无需泄露任何信息就能够向验证者或任何第三方证明它拥有该信息。 在网络身份鉴别中,已经提出了零知识技术的一些变形,例如,FFS方案,FS方案和GQ方案。一般地,验证者颁布大量的询问给声称者,声称者对每个询问计算一个回答,而在计算中使用了秘密信息。 大部分技术要求传输的数据量较大,并且要求一个更复杂的协议,需要一些协议交换。,讨论议题,鉴别的基本概念 鉴别机制 鉴别与交换协议 典型鉴别实例,鉴别和交换协议,如果用于连接完整性服务的密钥被在线建立,那么事实证明将认证和密钥交换功能组合在一个协议中是重要的(鉴别和密钥交换协议)。 最常用的协议,该协议使得通信各方互相鉴别各自的身份,然后交换会话密钥。 基于鉴别的密钥交换核心问题有两个: 保密性 时效性,双向鉴别,传统加密方法 Needham/Schroeder Protocol 1978 Denning Protocol 1982 KEHN92 公钥加密方法 一个基于临时值握手协议:WOO92a 一个基于临时值握手协议:WOO92b,Needham/Schroeder Protocol 1978,传统加密方法,1、A KDC:IDA|IDB|N1 2、KDC A:EKaKs|IDB|N1|EKbKs|IDA 3、A B: EKbKs|IDA 4、B A: EKsN2 5、A B: EKsf(N2),保密密钥Ka和Kb分别是A和KDC、B和KDC之间共享的密钥。 本协议的目的就是要安全地分发一个会话密钥Ks给A和B。,A在第2步安全地得到了一个新的会话密钥,第3步只能由B解密、 并理解。第4步表明B已知道Ks了。第5步表明B相信A知道Ks并且 消息不是伪造的。 第4,5步目的是为了防止某种类型的重放攻击。特别是,如果敌方 能够在第3步捕获该消息,并重放之,这将在某种程度上干扰破坏B 方的运行操作。,Needham/Schroeder Protocol 1978,上述方法尽管有第4,5步的握手,但仍然有漏洞。,假定攻击方C已经掌握A和B之间通信的一个老的会话密钥。C可以在第3步冒充A利用老的会话密钥欺骗B。除非B记住所有以前使用的与A通信的会话密钥,否则B无法判断这是一个重放攻击。如果C可以中途阻止第4步的握手信息,则可以冒充A在第5步响应。从这一点起,C就可以向B发送伪造的消息而对B来说认为是用认证的会话密钥与A进行的正常通信。,Denning Protocol 1982 改进:,1、A KDC:IDA|IDB 2、KDC A:EKaKs|IDB|T|EKbKs|IDA|T 3、A B: EKbKs|IDA|T 4、B A: EKsN1 5、A B: EKsf(N1),| Clock - T | t1 + t2 其中: t1 是KDC时钟与本地时钟(A或B)之间差异的估计值; t2 是预期的网络延迟时间。,Denning Protocol 比 Needham/Schroeder Protocol在安全性方面增强了一步。然而,又提出新的问题:即必须依靠各时钟均可通过网络同步。,如果发送者的时钟比接收者的时钟要快,攻击者就可以从发送者窃听消息,并在以后当时间戳对接收者来说成为当前时重放给接收者。这种重放将会得到意想不到的后果。(称为抑制重放攻击)。,一种克服抑制重放攻击的方法是强制各方定期检查自己的时钟是否与KDC的时钟同步。,另一种避免同步开销的方法是采用临时数握手协议。,KEHN92,1、A B: IDA|Na 2、B KDC: IDB|Nb | EKbIDA | Na | Tb 3、KDC A: EKaIDB|Na |Ks| Tb | EKbIDA | Ks | Tb | Nb 4、A B: EKbIDA | Ks | Tb | EKs Nb ,公钥加密方法:,一个使用时间戳的方法是:,1、A AS:IDA|IDB 2、AS A:EKRasIDA |KUa | T | EKRasIDB |KUb | T 3、A B: EKRasIDA|KUa| T | EKRasIDB | KUb | T | EKUbEKRa Ks|T,一个基于临时值握手协议:WOO92a,1、A KDC:IDA|IDB 2、KDC A:EKRauthIDB |KUb 3、A B: EKUbNa |IDA 4、B KDC: IDB|IDA | EKUauthNa 5、KDC B: EKRauthIDA |KUa| EKUbEKRauth Na|Ks|IDB 6、B A: EKUaEKRauth Na |Ks | IDB|Nb 7、 A B: EKsNb,一个基于临时值握手协议:WOO92b,1、A KDC:IDA|IDB 2、KDC A:EKRauthIDB |KUb 3、A B: EKUbNa |IDA 4、B KDC: IDB|IDA | EKUauthNa 5、KDC B: EKRauthIDA |KUa| EKUbEKRauth Na|Ks|IDA|IDB 6、B A: EKUaEKRauth Na |Ks |IDA | IDB|Nb 7、 A B: EKsNb,单向鉴别 One-Way Authentication,E-mail,传统加密方法:,1、A KDC:IDA|IDB| N1 2、KDC A:EKaKs | IDB | N1 | EKb Ks | IDA 3、A B: EKb Ks | IDA | EKsM,公钥加密方法: 1、 A B: EKUbKs | EKsM,1、 A B: M | EKRaH(M),1、 A B: EKUb M | EKRaH(M),1、 A B: M | EKRaH(M) | EKRas T | IDA |KUa ,讨论议题,鉴别的基本概念 鉴别机制 鉴别与交换协议 典型鉴别实例,典型鉴别实例,Kerberos X.509鉴别服务,引言,Kerberos: part of Project Athena at MIT Greek Kerberos: 希腊神话故事中一种三个头的狗,还有一个蛇形尾巴。是地狱之门的守卫。 Modern Kerberos: 意指有三个组成部分的网络之门的保卫者。“三头”包括: 鉴别(authentication) 簿记(accounting) 审计(audit),80年代中期 是MIT的Athena工程的产物 版本 前三个版本仅用于内部 第四版得到了广泛的应用 第五版于1989年开始设计 RFC 1510, 1993年确定 标准Kerberos,Kerberos历史,问题,在一个开放的分布式网络环境中,用户通过工作站访问服务器上提供的服务。 服务器应能够限制非授权用户的访问并能够鉴别对服务的请求。 工作站无法可信地向网络服务证实用户的身份,即工作站存在三种威胁。 一个工作站上一个用户可能冒充另一个用户操作; 一个用户可能改变一个工作站的网络地址,从而冒充另一台工作站工作; 一个用户可能窃听他人的信息交换,并用回放攻击获得对一个服务器的访问权或中断服务器的运行。,Kerberos要解决的问题,所有上述问题可以归结为一个非授权用户能够获得其无权访问的服务或数据。 不是为每一个服务器构造一个身份鉴别协议,Kerberos提供一个中心鉴别服务器,提供用户到服务器和服务器到用户的鉴别服务。 Kerberos采用传统加密算法。 Kerberos Version4和Version5 (RFC1510)。,信息系统资源保护的动机,单用户单机系统。用户资源和文件受到物理上的安全保护; 多用户分时系统。操作系统提供基于用户标识的访问控制策略,并用logon过程来标识用户。 Client/Server网络结构。由一组工作站和一组分布式或中心式服务器组成。,三种可能的安全方案,相信每一个单独的客户工作站可以保证对其用户的识别,并依赖于每一个服务器强制实施一个基于用户标识的安全策略。 要求客户端系统向服务器证实自己的身份,但相信客户端系统负责对其用户的识别。 要求每一个用户对每一个服务证明其标识身份,同样要求服务器向客户端证明其标识身份。,Kerberos的解决方案,在一个分布式的client/server体系机构中采用一个或多个Kerberos服务器提供一个鉴别服务。,Kerberos系统应满足的要求,安全。网络窃听者不能获得必要信息以假冒其它用户;Kerberos应足够强壮以至于潜在的敌人无法找到它的弱点连接。 可靠。Kerberos应高度可靠,并且应借助于一 个分布式服务器体系结构,使得一个系统能够备份另一个系统。 透明。理想情况下,用户除了要求输入口令以外应感觉不到认证的发生。 可伸缩。系统应能够支持大数量的客户和服务器。,Kerberos Version4,引入一个信任的第三方鉴别服务,采用一个基于Needham & Schroeder协议。 采用DES,精心设计协议,提供鉴别服务。,Kerberos协议中一些概念,Principal(安全个体) 被鉴别的个体,有一个名字(name)和口令(password) KDC(Key distribution center) 是一个网络服务,提供ticket和临时的会话密钥 Ticket 一个记录,客户可以用它来向服务器证明自己的身份,其中包括客户的标识、会话密钥、时间戳,以及其他一些信息。Ticket 中的大多数信息都被加密,密钥为服务器的密钥 Authenticator 一个记录,其中包含一些最近产生的信息,产生这些信息需要用到客户和服务器之间共享的会话密钥 Credentials 一个ticket加上一个秘密的会话密钥,一个简单的鉴别对话,引入鉴别服务器(AS), 它知道所有用户的口令并将它们存储在一个中央数据库中。 AS与每一个服务器共有一个唯一的保密密钥。这些密钥已经 物理上或以更安全的手段分发。,考虑以下假定的对话:,(1) C AS: IDC | PC | IDV (2) AS C: Ticket (3) C V : IDC | Ticket Ticket = EKVIDC | ADC | IDV,其中:C : client AS : Authentication Server V : server IDC : identifier of user on C,IDV : identifier of V PC : password of user on C ADC : network address of C KV : AS与V共有的保密密钥,C,V,AS,(1),(2),(3),更安全的鉴别对话,两个主要问题 希望用户输入口令的次数最少。 口令以明文传送会被窃听。 解决办法 ticket reusable ticket-granting server,改进后的假想的对话:,Once per user logon session: (1) C AS : IDC | IDtgs (2) AS C : EKCTickettgs Once per type of service (3) C TGS : IDC | IDv | Tickettgs (4) TGS C : TicketV Once per service session (5) C V : IDC | TicketV Tickettgs = EKtgsIDC|ADC|IDtgs|TS1|Lifetime1 TicketV = EKVIDC|ADC|IDV|TS2|Lifetime2,C,V,AS,(1),(2),(3),TGS,(4),(5),Kerberos,Kerberos V4 Authentication Dialogue,两个问题 与ticket-granting ticket相关的Lifetime问题; 需要服务器向客户进行鉴别; 解决方案 session key,Summary of Kerberos Version 4 Message Exchanges (a) Authentication Service Exchange: to obtain ticket-granting ticket (1) C AS : IDC | IDtgs | TS1 (2) AS C : EKCKc,tgs | IDtgs | TS2 | Lifetime2 | Tickettgs Tickettgs = EKtgs Kc,tgs | IDC | ADC | IDtgs | TS2 | Lifetime2 (b) Ticket-granting Service Exchange: to obtain service-granting ticket (3) C TGS : IDV | Tickettgs | Authenticatorc (4) TGS C : EKc,tgsKc,v | IDV | TS4 | Ticketv Tickettgs = EKtgsKc,tgs| IDC| ADC| IDtgs | TS2 | Lifetime2 Ticketv = EKVKc,v|IDC|ADC| IDv|TS4|Lifetime4 Authenticatorc = EKc,tgsIDc|ADc|TS3 (c) Client/Server Authentication Exchange: To obtain service (5) C V : Ticketv | Authenticatorc (6) V C : EKc,vTS5+1 ( for mutual authentication) Ticketv = EKVKc,v|IDc|ADc|IDv|TS4|Lifetime4 Authenticatorc = EKc,vIDc|ADc|TS5,Rationale for the Elements of the Kerberos Version 4 Protocol (a) Authentication Service Exchange Message(1) Client 请求 ticket-granting ticket IDC : 告诉AS本client端的用户标识; IDtgs : 告诉AS用户请求访问TGS; TS1 : 让AS验证client端的时钟是与AS的时钟同步的; Message(2) AS返回ticket-granting ticket EKC : 基于用户口令的加密,使得AS和client可以验证口令, 并保护Message(2)。 Kc,tgs : session key的副本,由AS产生,client可用于在AS与client 之间信息的安全交换,而不必共用一个永久的key。 IDtgs : 确认这个ticket是为TGS制作的。 TS2 : 告诉client该ticket签发的时间。 Lifetime2: 告诉client该ticket的有效期; Tickettgs: client用来访问TGS的ticket。,(b) Ticket-granting Service Exchange Message(3) client 请求service-granting ticket IDv: 告诉TGS用户要访问服务器V; Tickettgs : 向TGS证实该用户已被AS认证; Authenticatorc:由client生成,用于验证ticket; Message(4) TGS返回service-granting ticket EKc,tgs : 仅由C和TGS共享的密钥;用以保护Message(4); Kc,tgs: session key的副本,由TGS生成,供client和server之间 信息的安全交换,而无须共用一个永久密钥。 IDv : 确认该ticket是为server V签发的; TS4 : 告诉client该ticket签发的时间; TicketV : client用以访问服务器V的ticket; Tickettgs: 可重用,从而用户不必重新输入口令; EKtgs : ticket用只有AS和TGS才知道的密钥加密,以预防篡改; Kc,tgs : TGS可用的session key副本,用于解密authenticator,从而 鉴别ticket; IDc : 指明该ticket的正确主人;,Kerberos处理过程概要,C,V,AS,(1),(2),(3),TGS,(4),(5),Kerberos,(6),Kerberos管辖范围与多重服务,一个完整的Kerberos环境包括一个Kerberos服务器,一组工作站,和一组应用服务器,满足下列要求: Kerberos服务器必须在其数据库中拥有所有参与用户的ID(UID)和口令散列表。所有用户均在Kerberos服务器上注册。 Kerberos服务器必须与每一个服务器之间共享一个保密密钥。所有服务器均在Kerberos服务器上注册。 这样的环境被视为一个管辖国界(realm)。 每一个辖区的Kerberos 服务器与其它辖区内的Kerberos服务器之间共享一个保密密钥。两个Kerberos服务器互相注册。,(1) C AS : IDC | IDtgs | TS1 (2) AS C : EKCKc,tgs | IDtgs | TS2 | Lifetime2 | Tickettgs (3) C TGS: IDtgsrem | Tickettgs | Authenticatorc (4) TGS C: EKc,tgsKc,tgsrem | IDtgsrem | TS4 | Tickettgsrem (5) C TGSrem: IDvrem | Tickettgsrem | Authenticatorc (6) TGS C: EKc,tgsremKc,vrem | IDvrem | TSb | Ticke
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 财务会计与管理知识实训分析教程
- 设备工作计划
- 2009年资产评估师-财务会计测验试题分章练
- 从资源整合角度解析体能训练行业的连锁加盟模式
- 2025年Android中高级面试必知必会讲的明明白白!-备战2025,android中高级面试必知必会
- 建筑施工特种作业-建筑架子工附着式脚手架真题库-1
- 闰土的题目及答案
- 2023年学业水平合格考试三年分类汇编(真题)-专题一宇宙中的地球02太阳对地球的影响
- 11 2 成对数据的统计分析-高考数学真题分类 十年高考
- 新疆且末县尧勒萨依金矿开采项目环评报告
- 考后心理健康教育课件
- 运输行业保密知识培训
- 《治疗痤疮药》课件
- 住院精神疾病患者自杀风险护理(2023版团标)
- 研究污水处理中的微生物群落结构
- 中等职业学校教职员工绩效考核实施方案
- 国开电大《管理英语1》参考答案
- 簪花仕女图赏析课件
- 音乐治疗学基础理论
- 铁总物资〔2015〕63号:中国铁路总公司物资采购管理办法
- 高一语文-《批注式阅读红楼梦》课件
评论
0/150
提交评论