密码协议书稿中文第5章_第1页
密码协议书稿中文第5章_第2页
密码协议书稿中文第5章_第3页
密码协议书稿中文第5章_第4页
密码协议书稿中文第5章_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

个好的协议,既适合应用又具有强安全属性是非常有性的工作。有助读者深度理解可信任新鲜性方法,并应用该方法对实际的协议进行安全强度评估。互联网是由计算机节点和设备组成的一个巨大的开放式网络。为了应对复杂的网络,级之间的通信以及计算机网络协议设计的抽象描述。在其最基本的形式中,网络结构被分为7个层级,从分别为:应用层,表示层,会话层,传输层,网络层,数据链路层及 net/ftp:ssh, net/ftp:ssh,http:https,传输层图5.1持系统向后兼容性,协议的改变应该对系统影响尽量的小[13]。例如:SSL协议避免了修改”TCP栈”IPSec对于应用是中,要设计出一个好的协议,既适合应用又具有强安全属性是非常有性的工作。Layer)就是在将Http和SSL相结合,为Web浏览器提供数据性和完整性服务,例如在网Security别在年和年推出TLS1.1(RFC4346,TLS1.2(RFC5246。SSL还有考虑互操作性,可扩展性以及相关的效率等。SSL协议允许客户端/服务器端在一定的方式下通信,能够防范、窜改、等。SSL握手协议可以被认为是一个在客SSL协议在较上一层的密钥交换协议,能够在两个应用端初始化密钥,并同步其状态。在执行完密钥交换协议可以被透明地在SSL协议之上执行,无需用户参与。用来加密以及SSL记录完整性的操作,是通过一个套件所决定。一个典型的例子是,使用DES算法加密数据,并8 8 8 16 16384字其中的类型是所封装段使用的上层协议,用十进制标识,例如:20SSL握手协议是SSL记录协议之上的一个高端协议。SSL握手协议允许服务器和客户端8 5.1SSL导致出错告警。数据握手进程由如图5.2所示步骤展开。图5.2完整的SSL 消息1(o消息32UNIX格式的时间戳和一个由客户端生成的28字节随机数套件,o.cipher_suites是一系列客户端支持的选项,这些选项按enum{true,false}I enum{null,rc4,rc2,des,3des,des40,fortezza}enum{null,md5,sha}MACAlgorithm;struct{BulkCipherAlgorithmbulkcipheralgorithm;MACAlgorithmmacalgorithm;CipherTypecipher uint8hashsize;uint8IVsize;}消息 o消息SessionID来会话没有被因此也不能被恢复。(1)Server消息:如果密钥交换方法不是的,当服务器需要被认证时(通常情况是这样),服务器在发送出Servero后马上发送一个。通常是一个X.509V3中包含了足够的关于、所有者的公钥以及签发机构的信息。服务器发送系列证⑵消息将由RSA公钥或者Diffie-man公钥加密后发送。ServerKeyExchange消息中包含了服务器的生成公钥的成分,这些成分与Server中列表的公钥材料匹配。用于Diffie-man密钥协商的成分在需要时也包含在三元组(p,g,gy)中,其中p是大素数模,g⑶Request消 Request消息给客户,向客户端要求一个。这条消息将直接接在Server 消息之后,或者在ServerKeyExchange消息。Request消息将会详细说明服务器端接受的的类型,以及服务器端信任的签发 o阶段消息的数据传送,消息3(消息⑴KeyExchange消 man,此时将会送出公钥参数⑵Verify消在大多数的例子中,如果客户端发送出了一个,则它在此时也将发送一Verify消息。这条消息中可能包含一个和ServerKeyMessage消息中格式相同的签ChangeCipherSpecFinished节数字的主密钥master_secret。+o.random+Servero.random))+MD5(pre_master_secret+SHA(‘BB’+pre_master_secret+o.random+Servero.random))+MD5(pre_master_secret+SHA(‘CCC’+pre_master_secret+o.random+Server(d)4(ChangeCipherSpec&Finished消息ChangeCipherSpecFinished消息,以便允许客户端确认服出现的警报值如表5.2所示。5.2SSL计算key_block值,直到足够多的输出值生成。KeyMD5(mastersecret+SHA(‘A’+mastersecret+Servero.random++[.._write_IV[CipherSpec.IV_size]/*non-exportciphers*/server_write_IV[CipherSpec.IV_size]/*non-exportciphers*/性的缺失给出针对SSL协议的。另外,针对TLS再协商协议的也作简要介绍。例5.1(完整的带双方认证的SSL握手协议)。当一个新的会话开始后,SSL中的加5.3给出SSL握手协议中与认证及密钥建立相关的图5.3完整的带双方认证的SSL握手协C表示一个客户端(例如客户端的Web浏览器),S表示一个Web服务器。VerC户端发送的o消息中所要求的协议版本。VerS表示被使用的协议版本(即服务器个绝对时间相关的时间戳,在这里时钟并不需要由基本的SSL协议来设定正确,但是书不对pre_master_secret,master_secret和其他的为加密和MAC计算所设置的密钥和信息SSCC 对,即C拥有KCK1,S拥有KSK1 NS,并发送C,NC,NSK1给服务器方SCSSC,NC,NSK1

C 送给Ck k上,这个协议并没有达到事先所期望的安全密钥交换和认证的目标。于只有C能使用它的私钥K1对消息进行签名N,N,且C的 C SKCK确 了,S将会相信kCS是和C相关联的。S在收到NC,NS1后,由引理4.1可得KC认为NS是新鲜的。由引理4,由于只有S可以使用它的私钥K1从密文k CS且S的在消息4中被明确地了,将相信、S、kCS和主体S是相关联的。 例5.2(1-对完整的带双方认证的SSL握手协议的)从S的角度看,kCS与S图5.4对完整的带双方认证的SSL握手协议的用来II 己的密钥对,如C知道KCK1,S知道KSK1,I知道KIK 消息1,并成C与S开始在(的)C和S之间运行协议。代CertS,并将消息2即VerS,TSNSSIDSCertI发送给C。C在收到消息2后,C为C和I之间的协议运行随机选择了一个新的会话密钥kCS,并用I的公钥KI加密kCS发送给I。在消息3中,C使用CK1生成了NN来表明它是CC真正的C,并发送了消息C,NC,NSK1C

SKII加密kCS,生成了消息3’kCSKCertC,NCNSK1和C,NCNSK1

C在收到消息3’后,SK1得到了kCS,并且在验证完NNS认为与C SKC在这整个结束后,者I使得S产生了错误的信任:S错误的认为自己与C完成了一次成功的协议运行,且与C共享了一个新的会话密钥kCS。事实上,C对于I(C)和S之间的这次密钥建立一无所知,CI新协商了一个会话密钥kCSS错误地认例5.3(针对完整的带双方认证的SSL握手协议的)从C的角度来看,kCS与C主图5.5对完整的带双方认证的SSL握手协议的用来IKI,它们都由机构CA签发。KI和K1分别是I的公钥和私钥。其他的符号和原I 道它自己的密钥对,如C知道KCK1,S知道KSK1,I知道KIK 在消息1中,客户端C发起了一个C和S之间的协议运行。者I截获了消息1,并把它替换成CertI,并把消息2VerS,TS,NSSIDSCertI发送给了C。kCS

,CertC,NC,NSK1,C,NC,NSK1

。 III使得S和CC和S均认为他们和对方成功地完成了协议运行,并与对方了新的会话密钥kCS,然而,事实上C和S之间的共享密钥kCS已经被I所掌握。在SSL握手协议的一次运行中,客户端可能会选择,从而客户端不需要被服务当中可能包含信息,如客户的信息,书名和交货地址等[13]。向客户端回复相同的ID,即与客户端o消息中提供的ID相同。这表明会话恢复正在进行中,并会话双方必须直接运行接下来的finished消息,且忽略所有的可选消息及 存,在其中寻找相应的匹配。如果一个相应的匹配被找到了,则服务器将会基于相应 ,同样发送给SSSCNC,NS 在消息4中,将它 与随机数、S一起加密,并发送S,NS,NC 给C CSkCS,且S的在消息4中被明确地了,S认为NC,NS,kCS与S是相关联的。 例5.4(针对SSL再协商协议的)从S的角度来看,C通信的真实性是缺失的,因此可以构建如下:图5.7对SSL再协商协议的用来在消息1中,者I通过成C开始了SSL再协商的过程,它想要恢复一个与C的已在收到消息1后,S在它的会话缓存中查找匹配的会话ID,并回复消息2给成C的攻密钥kCS,并将kCS用KS加密后发送给S。I(C)同样将之前发送的握手信息使用kCS加密后在收到消息3后,S使用它的私钥K1得到新的会话密钥kCS,并验证C,N,N S

S在这个对于SSL再协商协议的结束后,者I使得S产生了错误的信任:S与C完成了一次成功的协议运行,且与C了一个新的会话密钥kCS。事实上,C对于此事(建立C和S之间的会话密钥)一无所知,只是S是与I了新会话密钥kCS。此外,S认为用kCS以上的可以由者I直接成合法客户端C所启动,甚至并不需要C。这个例子对于者来说或许很有,因为它允许者在任何时间发起一次,且这TLS(包含RFC5246以及之前版本,SSLV3以及之前的版本)在现实世界中容易与再有三种针对HTTPS协议再协商的一般,这三种之间有细微的不同。但这三种攻击都能达成一个结果:者有能力执行一个HTTP,并被合法的用户(即中间人例5.5(针对客户端认证的再协商)服务器无法确定客户端是否提供了一个有效的认证,除非它收到了客户端的请求,并且通过它的认证规则将其过滤。对于需要客户端认证的请求,HTTPS服务器必须通过重建TLS信道来获取客户端的并使HTTPS缺乏特定的回复代码来告知客户端重发一个带有新的已认例5.6(针对不同服务器需求差异的再协商)管理资源的HTTPS服务器有不同的密码套件需求,可能在另一种再协商下很脆弱。由于对套件安全强度的需求不同,Web服务器常常在协商TLS连接时选择支持一个最基本的强度。只有在看到客户端的URL请求后,服务器才能准确的决定采用哪一种套件。如果当前的套件并不是所人所建立的协议执行被认证通过。IPSec有两种模式:传输模式(在两个主机之间)和隧道模式(在主机和内);EncapsulatingSeurityPayload,RFC2406[18])和互联网密钥交换协议(IKE,InternetKeyExchangeProtocol,RFC2409[19])。AH提供完整性保护,ESP提供性服务和可选的完整性“认证头”(AH)的附加域[17,20]。认证保护(事实上是指带有源的数据完整性)是IPSec的强制性服务。在IP数据包中,AH的位置位于“IP头”和“TCP域”之间(见图5.8图5.8AH的结构及其在传输模式下在IP图5.9AH的结构及其在隧道模式下在IP性(加密)保护是Ic的一个可选服务。为实现这一服务,数据包中由一个32位倍数长的数据报来提供这一服务,该数据块被命名为“封装安全载荷(S)”[19。P在P(见图5.105.1(注意S也可以跟在后TC域”之间。S的格式如图5.所示。图 图 图 第二个子域被称作“序列号”(SequenceNumber),它可以用于防止对IP包的重放。第三个子域被称作“载荷数据”(PayloadData),它的长度是不确定的,用于表示机’值为‘FF’,即255(10)。填充数据的字节长度称为“填充长度”(PadLength)。互联网密钥交换(InternetKeyExchange,IKE)是由国际标准组织为互联网安全SA),而且可以为SNMPv3、RIPv2、OSPFv2等任何要求的协议协商安全参数。和管理安全关联(SecurityAssociation,SA,包括密钥、算法和参数),认证双方分有能力进行签名的验证,公钥(即)应该是受到信任的和可核实的。SA定义了两个主5.1(安全关联,SA)SA,简单地说SA就是两网安全关联和密钥交换协议”(InternetSecurityAssociationandKeyManagementProtocol,ISAKMP)[RFC2408][21],“Oakley密钥确定协议”(OakleyKeyDeterminationProtocol,OAKLEY)[RFC2412][22]以及“通用互联网安全密钥交换体制”(VersatileSecureKeyExchangeMechanismforInternet,SKEME)[23]。以及如何降低的可能(例如,服务和重放)。然而,ISAKMP没有提IKE钥。对于IKE阶段1,IKE有几种密钥交换模式,包括主模式、进取模式、基本模式和新组阶段1假设参与密钥交换的双方中的任意一方都能够验证另一方的能力,这种的私钥获得。阶段1通过向通信对方发送证明其能力的IKE阶段消息,试图认证对方,仅仅5.2(IKE密钥材料)SKEYID是一个字符串,它来源于消息交换中仅被活现的参与者对于签名公钥:SKEYIDprf(noncesgxymod对于加密公钥:SKEYID=prf(hash(nonces),对于预共享的密钥:SKEYIDprf(pre-sharedsecretkey对于生成其他密钥的:SKEYID_d=prf(SKEYID,gxy∣ 对于完整性密钥:SKEYID_a=prf(SKEYID, 对于加密密钥:SKEYID_e=prf(SKEYID, man机制中的共享。种最常用的模式。主模式(MM)包括六条消息交换,在阶段1种密钥类型,在IKE阶段1IKE阶段1一共,IKE阶段1结果可以有多种称谓:Phase-1SA,ISAKMPSA,IKESA等。他们都意味着同样的东西。Phase-1SA也用于保护阶段2协商过程以及在IKE中其他可能会送出的信息通知。图5.13IKE阶段1R是一个ISAMPESA用来列出发起者和响应者所分(yxn,E负载是Difie-a换-nE都用于在E中计算Phase1SA的数CR载示请包含C(机构D负载是用来告诉其它方发送者或者响应者是谁。CERT负载包含了发送者或者响应者的终端实体证书,而且可能用来发送撤销表RL。签名负载IG是其他方必须验证的数字签名。*表示该内容是否被发送是可选的,或者是依具体情况而定。 IKE协议基于Diffie-man密钥交换算法,这是最早的公钥算法(1976年)。消息3用于在密钥交换(KE)负载内交换Diffie-man公钥。每当阶段1的协商执行时,Diffie-man公钥将自动被创建,且在Phase-1SA销毁后自动销毁。息一起)用于在IKE计算Phase-1SA中的数据。随机数NONCE负载包含由随机数CR负载包含CA的名称,这个CA将能签发它想要接收到的终端实体的(通信对手的)。如果CR负载是空的,这意味着它请求来自任意CA的任意(即对CA和在消息4在消息5发送CERT负载也会导致IKE协商。 书的者(机构,CA)是否可信,也核实是否有效(并非被撤销的),等在消息6Diffie-man公共值被计算得出,从而可以计算生成密钥。在对通信进行保护时,ISAKMP在这些数据包被发送且数字签名被成功验证后,这个阶段1的协商结果就是Phase-1图5.14IKE阶段1数据,并表明它的。哈希算法和其他能保护IP通信的安全属性。阶段1的提案仅仅只是为了保护Phase-1SA快速模式,它用于保护实际的IP通信。由于ISAKMPSA是双向的,因此任一通信参与者都图5.15IKE阶段2 ID负载,标记为IDI和IDR,分别表示发起者的ID和响应者的ID。ID负载在阶段2中是可之为“人ID”(ID),“伪ID”(pseudoID)或其他类似称呼,因为他们并不一定表示实际参与协商的主体,例如安全网关SecurityGateway(SGW)代表某个客户端参与协在发送完最后一个数据包消息3后,IKE阶段2就完成了,阶段2的运行结果是形成了两例5.8(IKE阶段1主模式)IKE阶段1主模式中与认证和密钥建立图 SAA和SAB分别是A和B的安全关联。A和B使用SAA,SABx和y分别是由发起者A和响应者B随机选择的私有值。gx,gy分别表示A和B IDA和IDB分别是A和B的终端。HASHA=prf1HASHB=prf1 ,B通过CA来A的会话状态信息,CB的作用亦然。注意本书不对SKEYID,SKEYID_d,SKEYID_a,SKEYID_g等进行严格区分,因为后面是撤销的等等)。这意味着他们知道CA的公钥,即都能得到A的KA和B的KB。每一 机数)。此时,A和B都能计算出新会话密钥。SKEYID=prf2(NA∣NB∣gxy)。AA密钥SKEYID将跟在ISAKMP头后面的所有负载即IDA,CertA,HASHAK在收到消息5后,B使用SKEYID将收到的密文IDA,CertA,HASHAK

HASHAK

HASHAprf1SKEYIDgxgyCACBSAAIDAK协议的成功执行将能认证通信参与者A和B的,并在A和B之间建立一个新会话密 随机数NA的新鲜性,且A也认为x是的而NA是不的。 有值y的性和新鲜性,并确信随机数NB是新鲜的和不的。此时,B还计算了新在收到消息4后,由引理4.2可得,A认为NB是不的而y是的。此时,A也计算了新会话密钥SKEYIDprf2NA∣NB∣gxy),且由引理4.2和引理4.3可得,A能确信SKEYID由于只有A能使用A的私钥对新鲜的哈希值HASHA=prf1(SKEYID∣gx∣gy∣CA∣CB∣在这整个协议运行结束后,A相信主体B是活现的,新的会话密钥SKEYID是的,新鲜的并与B相关联的。而B相信A是活现的,新的会话密钥SKEYID是的,新鲜的,并表5.5对IKE阶段1图 己和A一起成功执行了一次IKE协议,并与A共享了一个新的会话密钥SKEYIDA事实上对于和B建立密钥的事情一无所知,A只是认为它和I之间的协议运行因为某种原因没这个与其同伙一道同时对某个服务器展开,从而能有效地启动服务[24]。5.3的 图 [x表示内容x是可选的,IKE阶段1进取模式下的符号、前提和协议动作和主模式下的NB是新鲜的,但不。此时,B可以计算得到新会话密钥SKEYIDprf2NA|NB|gxy,由引理4.2和引理4.3可得,B能够确信SKEYID的 份在消息2中被明确,所以A能够确信SKEYID和B之间的关联性。类似的,在收到消息3后,由于B知道NB和SKEYIDprf2NA∣NB∣gxy)都鲜性,且只有A能够用其私钥对哈希值HASHAprf1SKEYID|gx|gy|CA|CB|SAA|IDA)进行签名,由引理4.1可得,B能够确信A的主体活现性。再由引理4.4,由于只有A能够使用在协议成功的运行完成后,A认为B是主体活现的,即B真实参与了通信,且新会话密钥SKEYID是的、新鲜的,并与主体B相关联。而B也相信A是主体活现的,即A真实参与表 注意HASHA和HASHB都采用新会话密钥SKEYID作为它们的伪随机函数的,因此这两个哈希值的签名不可能被,而且这些签名只有掌握了新会话密钥的主体才能进行验证。不幸的是,针对IKE主模式的(例5.9-1)对IKE进取模式仍然有效。例5.11(IKE阶段2快速模式)图 ] kprfSKEYID_d,gxy|protocol|SPI|N| HASH1=prf(SKEYID_a,IDAB∣SAA∣NA[∣gx][∣IDA∣IDB])IDAB是消息ID,用于标志对于一个特定的ISAKMPSA正在运行的快速模式,这个特定 gxy来源于阶段1主模式中的Diffie-man交换,它在快速模式中是的。假设来自主模式的密钥SKEYID_a是的,只有A和B知道SKEYID_a。其他前提和阶段1主模式中的前类似的,在消息2中,由引理4.2和引理4.3可得,B能够确信随机数NB的新鲜性,也能所以B能够确信NB,y和k是与A和B关联。在收到消息2后,基于A信任的新鲜性A,由引理42、引理43和引理4可得,A相信k是的、新鲜的,且与A和B相关联。基于A信任的新鲜性A,由引理41可得,因为只有B能使用共享密钥SEYI_a来生成新鲜的哈希值S2prfSKYIa,B∣NA类似的,在收到消息3后,基于B信任的新鲜性标识符NB,由引理4.1,因为HASH3=,)表5.7对IKE阶段2标--密钥交换和认证。然而,我们应该注意:如果来自主模式的gxy在快速模式中不是的,即如果gxy被攻击者获得,则者可以假装主体A或B在任何时间发起运行一个快速模式,并与被的Kerberos的。因此,麻省理工学院研究人员提出了Kerberos系统,以作为开放网络环境下安全问题的解决方案:Kerberos系统借助一个位于用户和资源服务器之间的可信任第,在端服务器接收一个文件,Kerberos将不再需要与用户直接进行交互操作,服务器就可以完成所需的认证。强大的认证,客户端可以在非安全的分布式环境中证明自己的。当客户端通过Kerberos向服务器证明了自己的后,在之后客户端与服务器开展业务往来时,可以对他供认证,并为随后的信息提供加密和签名服务,这类系统也称作被Kerberos化。Kerberos通常是使用传统加密,即对称。PKINIT协议[26],它扩展了基础Kerberos协议,将基于公--通常是个人用户,与其他三种类同的应用服务器进行认证(例如:服务器、文件服务器、打印服务器等)。为实现这一目标,客户端首先从“Kerberos认证服务器”AS(KerberosAuthenticationServer)获取一个“票据授予票据”TGT(Ticket-grantingticket),然后客户端将这个票据TGT展示给“票据授予服务器”TGS(Ticket-GrantingServer)来获取一个“服务票据”ST(Serviceticket)。ST是一个,该是客户端用来让他自己和应用服务器之间进行认证的。AS和TGS在一起组成“密钥分配中心”KDC(KeyDistributionCenter)。Kerberos认证比LM认证(LANManager)和NTLM认证(NTLANManager)更安全,因为用户的口令不会在网络中传输,无论是加密的口令还是明文口令;Kerberos认证中的临时会话密钥以密文的形式在网络上传输,客户端和服务器端相互进行认证,并且在Windows2000中,56位的DES和128位的RC4在Kerberos中是最常用的;在WindowsServer2003中,普遍使用RC4-HMAC,DES-CBC-CRCDES-CBC-MD5;在WindowsXP中,常用RC4,其他的加密算法也被允许,尤其是使用DESWindowsVista中,常常使用256位的AES,3DES,SHA2等。(KDC)。KDC本身由两个子服务组成:认证服务和票据授予服务。在Windows2000和WindowsServer2003中,这两种服务都在KDC服务器上运行。然而在其他Kerberos实现中,注释5.3密钥分发中心KDC(KeyDistributionCenter)由认证服务器(AS)和票据授予他们在给定域上的密钥。例如,KerberosKDC运行在每一个Windows2000域控务器和Windows2003域控务器上。注释5.4认证服务器AS(AuthenticationServer)对客户端的登录进行认证,并为对客户注释5.5票据授予服务器TGS(TicketGrantingServer)负责受理和核实客户端从AS获得注释5.6应用服务器S(ApplicationServer)负责接收和验证从TGS得来的服务票据ST,注释5.7客户端C()是一个客户端(一个用户进程),它代表用户U来使用网络的注释5.8票据(或者Kerberos票据)是协议中的加密消息,它用来确定终端参与者的,5.9认证元(或认证符)认证元是包含有时间戳的认证凭证,其中时间戳被客户端和AS之间、或者客户端和应用服务器之间的共享会话密钥加密。认证元在使用时,过注释5.10票据授予票据TGT(TicketGrantingTicket)由认证服务器(AS),其中注释5.11属性PAC(PrivilegeAttribute)在Windows2000Kerberos注释5.12服务票据ST(ServiceTicket)由票据授予服务器(TGS),它可为特定的图 I阶段1消息2:AS在数据库中查找在AS_REQ请求中的客户端和服务器的主体,分别提取II阶段2(以检测消息的重放)并恢复会话密钥kc,tgskc,tgs创建一个认证元,这个认证会话密钥kc,sKerberos数据库被检索,为请求的服务器恢复记录,然后TGS创建一个III阶段3客户端/至此,应用服务器S和客户端C已经认证了对宣称的,并且完成了新加密密钥Kerberosv5是在20世纪90年代初的版本,在这以后Kerberos没有再做改变[6,27],它可用于所有主流的操作系统:微软的Windows2000,微软的WindowsServer2003,和许多UNIX和类UNIX操作系统,包括BSD,苹果的MacOSX,RedHatEnterpriseLinux4,Sun的Solaris,IBM的AIX,惠普的OpenVMSLinux[28]。特别的,微软将它的Kerberos应用建立在RFC1510标准的基础上。Kerberosv5认证过程中的消息交换如图5.21所示。图 Realmc,Realmtgs和Rea:分别指客户端用户所在域,TGS服务器所在域和应用服务Authenticatorc1,一个认证元,包含了用kc,tgs例5.12基于可信任新鲜性对Kerberosv5协议的安全性分析如图5.22所示。为便于对Kerberos图5.22KerberosT和_time表示客户端为票据选择的时间戳。Kas,tgs和Ks,tgs分别是AS和TGS之间,以及S和TGS之间的长期共享密钥。CCAS和票据授予服务器TGS知道;Ks,tgs是的,且只有应用服务器S和票据授予服务器TGS知道;N1和N2是一次随机数,kc,tgs和kc,s是为这个协议的运行随机生成的临时密钥。在消息2中,认证服务器AS为C和TGS之间随后的通信随机生成一个新的密钥kc,tgs,然密钥Kas,tgs加密的,用于向TGS证明这个TGT票据是由AS发送的。AS也将临时密钥kc,tgs发送给客户端C,并使用长期密钥Kc来保持kc,tgs的性。Kc通常由用户的口令派生得KTGSkc,tgs,TN1,验证N1的正确性,并得到临时密钥kc,tgsKk _time以证明客户端C知道密钥kc,tgs。k加密的时间戳可防止者通过记录票据和认证元来重放信息。C也转发了在消息2收到的票据TGS,kc,tgs, 。客户端使用会话密钥kc,tgs来加密认证元 _timek

客户端C的。 在收到消息3后,票据授予服务器TGS使用长期密钥Kas,tgsTGS,k, K验证时间戳T的正确性,并得到了临时密钥kc,tgsTGS同时还会验证认证元 _ 在消息4中,TGS为S和C之间的应用随机选择了新的会话密钥kc,s,并生成服务票据K即S,kc,s, ,TGS使用长期密钥Ks,tgs来加密这个服务票据,用于向S证明这个STKk kc,s,T,N2, kk在消息5中,客户端C生成了新的认证元 _time,来证明客户端C知道密钥kc,sk C也将消息4中收到的服务票据S,kc,s, 在收到消息5后,应用服务器S使用长期密钥Ks,tgsS,k, Kk的正确性,并得到新的会话密钥kc,s。S也会验证认证元 _time的正确性kk _ k信N1是不的。由于从AS的角度来看,并不存在任何可信任的新鲜性标识符,因此在收到消息2后,由引理4.2可得,C认为kc,tgs的性是有保障的。由引理4.3可得,由于kc,tgs是和C信任的新鲜性标识符N1一并发出的,因此C认为临时密钥kc,tgs的新鲜性用C和AS之间的长期密钥KC从加密包TGSkc,tgs,TN1K中得到kc,tgs。由引理4.4于TGS的在消息2的TGSkc,tgs,TN1K中被明确地来了,因此,C也认为N1和kc,tgs知道N2是不的。性和新鲜性是有保障的。由引理4.4可得,由于TGS和C的都在消息3中被明确地指TGS认为kc,tgs与TGS和C的关联性都是有保障的。基于时间戳_time,由引理4.1可元 _timek在收到消息4后,由引理4.2可得,C认为kc,s的性是有保障的。由引理4.3可得,由于kc,s是与C信任的新鲜性标识符N2一并发送给C的,因此,C认为临时密钥kc,s的新鲜性4中被明确地了,且加密包kcs,T,N2,Sk是由C和TGS之间的共享临时密钥kc,tgs生成的。由引理4.1可得,基于可信任新鲜性标识符N2,C认为TGS的主体活现性是有保障的,因为只有TGS能使用kc,tgs生成加密包kc,s,T,N2,Sk。在收到消息5后,基于时间戳T,由引理4.2和引理4.3可得,S认为临时密钥kc,s的性为C和S的都在消息5中被明确地了,且加密包S,kc,s,C,TK只能由TGS使用长期密钥Ks,tgs来生成。基于时间戳_time,由引理4.1可得,S认为C的主体活现性是有保障的,因为只能是C使用共享会话密钥kc,s来生成认证元C, _timek。在收到消息6后,基于时间戳_time,由引理4.1可得,C认为S的主体活现性是有保障的,因为只有S能使用新共享会话密钥kc,s生成认证元_timek。表 新鲜的,并与客户C和应用服务器S相关联;而C相信S是存在的,且新的会话密钥kc,s是PKINIT将公钥引入Kerberos,建立一个新的信任模型,该模型中KDC不再是第一个鉴公钥Kerberos即PKINIT[26,它包含在Windows2000和WindowsServer2003中,是Kerberosv5的一个扩展,使用公钥加密进行初始认证。也就是说,PKINIT修改“认证服务服务器之间需事先共享的要求。在PKINIT系统中,用户可以借助智能卡能登录到Windows2000或其他的域,这里的认证过程不需要客户端主密钥,取而代之的是卡中的公在传统的Kerberosv5协议中,认证服务交换的长期共享密钥通常由口令派生而得,这 public-infrastructure)已经到位,PKINIT将允许借助PKI管理整个系统的用户公钥,而不必付加密、数字签名和相应的。PKINIT旨在通过引入公钥加密来增加认证的灵活性,安全 和CertS用来证明每个主体和他所拥有的公钥之间是绑定的。此时,C或AS只需要PKI中在微软的类Kerberos系统中都支持PKINIT,包括Windows2000专业版和Windowsserver需要的是,PKINIT至今尚未被MIT的相关应用所支持。--I阶段1客户想从中获取TGT的TGS的名称,一个时间戳和一个随机数。而CertC,tcn2由KKKK2Kerberos2 ,TGSkc,tgs,TN1与AS在基本的Kerberos中的消息2K口令派生出的共享密钥票据授予票据TGT即TGS,kc,tgs,C,T K之间共享的长期密钥Kas,tgs加密;TGT包含TGS的名称,kc,tgsC的名称,和AS的本地时间T。由新生成的对称密钥k加密的部分消息包括TGS的名字,kc,tgsAS的本地时间T,和请求的随机数N1。为了确保从C处得到kPKINIT在消息2中加上了消息部分CertAS,k,n2K

。这个加密包是由Kc加密的,它包含AS的CertAS和AS的签Kkn2,因此只有C可以得到新鲜生成的密钥kK例5.13这里给出针对公钥版Kerberos,即PKINIT的基于可信任新鲜性的安全性分析。图 KcK1分别是C的公钥和私钥,KasK1分别是AS CertC和CertAS分别指客户端的和认证服务器的每个主体都知道可信任机构CA的公钥,并能用其从CertC或CertAS处得到KcKas。每个主体知道自己的公私钥对,即C知道KcK1AS知道KasK1 ccK名,然后C将C CertC,签名tc,n2,,C和TGS KK tc,n2,验证时K CertAS,k,n2K

在消息14.2和引理4.3C认为随机选择的一次随机数N1和n2的新鲜性是有保障的,C也认为N1和n2是不的。TGS不能从消息1中得到任何有用的安全性在收到消息2后,由引理4.2可得,C认为k和kc,tgs的性是有保障的,因为只有C能够使用C的私钥K1 K 2K关联,因为如果一个者是一个合法用户,它将能C并使用Kc生成加密包CertAS,k,n2K

在收到消息4后,由引理4.2可得,C认为临时密钥kc,s的性是有保障的,因为它是由钥,因此C不能确定新鲜消息_timek是来自S的。5.9公钥加密PKINIT模式下Kerberos表5.9是公钥加密PKINIT模式下Kerberos协议的安全性分析结果。在协议运行结束后,S 图 ii K在消息1中,客户端C开始运行一个新的协议。者I消息1,将CertC用CertI替K在收到消息2’后,I使用I的私钥和AS的公钥得到kn2和k,因此I将能够使用kKK在消息2中,I使用C的公钥构建了CertAS,k,n2KK

在消息3中,C照常回复。I消息3,并将{C,time}中C的替换为I,然后 在消息4中,I将消息4’中I的替换为C,然后转发消息4在这个针对公钥加密PKINIT模式下Kerberos的结束后,者I使得C产生错误的信C与S成功地完成了协议的运行,并且与S共享了新的会话密钥kc,s。然而事实上,S对于在随后发送敏感信息时,C将使用kc,s加密信息,然而这是者I也知道的密钥kc,s,因而I能PKINITDiffie-man模在Diffie man(DH)模式中,密钥对(Kc和K1是C的公私钥,Kas和K1是AS的 者可参阅文献[26]。简化的Diffie manPKINIT-26认证服务的消息交换如下: 图5.25KerberosPKINITDiffie 表5.10是KerberosPKINITDiffie-man的安全性分析结果,有的读者可给出分析TanenbaumAS(2001)ComputerNetworks,3rdedn.PrenticeHall,NewFreierAO,KarltonP,KocherPC(1996)TheSSLProtocolVersion.Accessed9JulyDierksT,AllenC(1999)theTLSProtocolVersion1.0,RFC.Accessed9JulyKaufmanC(2005)InternetKeyExchange(IKEv2)Protocol,RFC.Accessed9JulyMeadowsC(1999) ysisoftheInternetKeyExchangeProtocolUsingtheNRLProtocolyzer.In:Proceedingsof1999IEEESymposiumonSecurityandPrivacy,Oakland,9–12MayanC(1993)TheKerberosNetworkAuthenticationService(V5),RFC.Accessed9JulyanBC,Ts’oT(1994)Kerberos:anAuthenticationServiceforComputerIEEECommunicationsMagazine32(9):33–YlonenT(1995)TheSSH(secure )RemoteLoginProtocol,Internet-.Accessed9JulyYlonenT(2002)SSHAuthenticationProtocol,RFC4252.Accessed5MayYlonenT(2002)SSHConnectionProtocol,RFC4254.Accessed9JulyYlonenT(2002)SSHProtocolArchitecture,RFC4251.Accessed9JulyYlonenT(2002)SSHTransportLayerPro

温馨提示

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

评论

0/150

提交评论