免费智能真题库 > 历年试卷 > 系统架构设计师 > 2020年下半年 系统架构设计师 上午试卷 综合知识
  第65题      
  知识点:   利用Kerberos机制   Kerberos   认证
  章/节:   信息安全与保密       

 
下面关于Kerberos认证的说法中,错误的是()。
 
 
  A.  Kerberos是在开放的网络中为用户提供身份认证的一种方式
 
  B.  系统中的用户要相互访问必须首先向CA申请票据
 
  C.  KDC中保存着所有用户的账号和密码
 
  D.  Kerberos使用时间戳来防止重放攻击
 
 
 

 
  第65题    2013年下半年  
   31%
采用Kerberos系统进行认证时,可以在报文中加入(65)来防止重放攻击。
 
   知识点讲解    
   · 利用Kerberos机制    · Kerberos    · 认证
 
       利用Kerberos机制
        Kerberos v5是业界的标准网络身份认证协议,该协议的基础是基于信任第三方,它提供了在开放型网络中进行身份认证的方法,认证实体可以是用户也可以是用户服务。这种认证不依赖宿主机的操作系统或主机的IP地址,不需要保证网络上所有主机的物理安全性,并且假定数据包在传输中可被随机窃取和篡改。
        Kerberos的安全机制在于首先对发出请求的用户进行身份验证,确认其是否是合法用户;如是合法用户,再审核该用户是否有权对其所请求的服务或主机进行访问。从加密算法上来讲,其验证是建立在对称加密的基础上的。密钥分配中心(Key Distribution Cernter,KDC)保存与所有密钥持有者通信的保密密钥,其认证过程颇为复杂,下面简单介绍其认证过程。
        首先客户(C)向KDC发送初始票据TGT(Ticket Granting Ticket,票据授予票据),申请访问服务器(S)的许可证。KDC确认合法客户后,临时生成一个C与S通信时用的保密密钥Kcs,并用C的密钥Kc加密Kcs后传给C,并附上用S的密钥Ks加密的“访问S的许可证Ts,内含Kcs”。当C收到上述两信件后,用其Kc解密获得Kcs,而把Ts原封不动地传给S,并附上用Kcs加密的客户身份和时间。当S收到这两信件后,先用其Ks解密Ts,获得其中的Kcs,然后用这Kcs解密获得客户身份和时间,告诉客户成功。然后C和S用Kcs加密通信信息。
        Kerberos系统在分布式计算环境中得到了广泛应用,因为它具有以下特点:
        (1)安全性高。Kerberos系统对用户口令进行加密后用作用户私钥,从而避免了用户口令在网络上显示和传输,使得窃听者难以在网络上取得相应的口令信息。
        (2)透明性高。用户在使用过程中,仅在登录时要求输入口令,与平常的操作完全一样,Kerberos的存在对于合法用户来说是透明的。
        (3)可扩展性好。Kerberos为每一个服务提供认证,确保应用的安全。
        Kerberos有其优点,同时也有其缺点,主要缺点是:
        (1)Kerberos服务器与用户共享的秘密是用户的口令字,服务器在回应时不验证用户的真实性,假设只有合法用户拥有口令字。如攻击者记录申请回答报文,就易形成代码本攻击。
        (2)AS和TGS是集中式管理,容易形成瓶颈,系统的性能和安全也严重依赖于AS和TGS的性能和安全。在AS和TGS前应该有访问控制,以增强AS和TGS的安全。
        (3)随用户数增加,密钥管理较复杂。Kerberos拥有每个用户的口令字的散列值,AS与TGS负责用户间通信密钥的分配。当N个用户想同时通信时,仍需要NN-1)/2个密钥。
        (4)Kerberos不能保护一台计算机或者服务的可用性。
        (5)KDC是一个单一故障点。如果KDC出错,那么没有人能够访问所需的资源。KDC必须能够以实时方式处理大量请求。
        (6)密钥要暂时存放在用户工作站上,这意味着入侵者有可能获得这个密钥。会话密钥被解密然后驻留在用户服务器或者密码列表的缓存中,入侵者同样可以获取这个密钥。Kerberos对于密码猜测非常脆弱。KDC不能发现一个正在发生的字典式攻击。
        (7)如果没有应用加密功能,Kerberos不能保护网络流量。
        (8)当用户改变密码时,Kerberos就改变了密钥,KDC用户数据库需要进行更新。
 
       Kerberos
        Kerberos是MIT为校园网用户访问服务器进行身份认证而设计的安全协议,它可以防止偷听和重放攻击,保护数据的完整性。
        Kerberos系统为分布式计算环境提供了一种对用户双方进行验证的认证方法。它使网络上进行通信的用户相互证明自己的身份,同时又可选择防止窃听或中继攻击。它的安全机制在于首先对发出请求的用户进行身份验证,确认其是否为合法用户,若是合法用户则再审核该用户是否有权利对其所请求的服务器或主机进行访问。从加密算法上来讲,其验证是建立在对称加密(DES)的基础上的,它采用可信任的第三方——密钥分配中心(KDC)保存与所有密钥持有者通信的主密钥(秘密密钥)。
        Kerberos的目标在于3个领域:认证、授权和记账审计。认证过程如下图所示。
        
        Kerberos的认证过程
        (1)用户向KDC申请初始票据。
        (2)KDC向用户发放TGT会话票据。
        (3)用户向TGS请求会话票据。
        (4)TGS验证用户身份后发放给用户会话票据KAV
        (5)用户向应用服务器请求登录。
        (6)应用服务器向用户验证时间戳。
 
       认证
        认证又分为实体认证和消息认证两种。实体认证是识别通信对方的身份,防止假冒,可以使用数字签名的方法。消息认证是验证消息在传送或存储过程中有没有被篡改,通常使用报文摘要的方法。
               基于共享密钥的认证
               如果通信双方有一个共享的密钥,则可以确认对方的真实身份。这种算法依赖于一个双方都信赖的密钥分发中心(Key Distribution Center,KDC),如下图所示,其中的A和B分别代表发送者和接收者,KAKB分别表示A、B与KDC之间的共享密钥。
               
               基于共享密钥的认证协议
               认证过程如下:A向KDC发出消息{A,KA(B,KS)},说明自己要与B通信,并指定了与B会话的密钥KS。注意,这个消息中的一部分(B,KS)是用KA加密的,所以第三者不能了解消息的内容。KDC知道了A的意图后就构造了一个消息{KB(A,KS)}发给B。B用KB解密后就得到了A和KS,然后就可以与A用KS会话了。
               然而,主动攻击者对这种认证方式可能进行重放攻击。例如A代表雇主,B代表银行。第三者C为A工作,通过银行转账取得报酬。如果C为A工作了一次,得到了一次报酬,并偷听和复制了A和B之间就转账问题交换的报文,那么贪婪的C就可以按照原来的次序向银行重发报文2,冒充A与B之间的会话,以便得到第二次、第三次……报酬。在重放攻击中攻击者不需要知道会话密钥KS,只要能猜测密文的内容对自己有利或是无利就可以达到攻击的目的。
               基于公钥的认证
               这种认证协议如下图所示。A向B发出EB(A,RA),该报文用B的公钥加密。B返回EARARBKS),用A的公钥加密。这两个报文中分别有A和B指定的随机数RARB,因此能排除重放的可能性。通信双方都用对方的公钥加密,用各自的私钥解密,所以应答比较简单。其中的KS是B指定的会话键。这个协议的缺陷是假定双方都知道对方的公钥。
               
               基于公钥的认证协议
   题号导航      2020年下半年 系统架构设计师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第65题    在手机中做本题