登录   |   注册
    准考证打印   论文投票   报考指南   论文辅导   软考培训   郑重申明  
您现在的位置:  首页 > 软考学苑 > 信息安全工程师 > 信安上午综合知识 > 信安考点梳理 >> 正文
正文
信息安全工程师教程:访问控制技术-Kerberos 协议(Kerberos: Network Authentication ProtocoI)
来源: 作者: 时间;2018-02-01 16:54:41 点击数: 尚大软考交流群:376154208
(1)概述 在一个开放的分布式网络环境中,用户通过工作站访问服务器上提供的服务。服务器应该能够限制非授权用户的访问并能够认证对服务的请求。工作站不能够被网络服务所信任其
<尚大教育,教育至上,人才为大:sdedu.cc>

(1)概述

在一个开放的分布式网络环境中,用户通过工作站访问服务器上提供的服务。服务器应该能够限制非授权用户的访问并能够认证对服务的请求。工作站不能够被网络服务所信任其能够正确地认定用户,即工作站存在三种威胁:一个工作站上一个用户可能冒充另一个用户操作:一个用户可能改变一个工作站的网络地址,从而冒充另一台工作站工作:一个用户可能窃听他人的信息交换,并用因放攻击获得对一个服务器的访问权或中断服务器的运行。

所有上述问题可以归结为一个非授权用户能够获得其无权访问的服务或数据。Kerberos 是标准网络身份认证协议,该协议是由麻省理工学院起草,采用传统加密算法(无公钥体制),旨在给计算机网络提供"身份认证"。它是基于信任第三方,如同一个经纪人集中地进行用户认证和发放电子身份标识。它提供了在开放型网络中进行身份认证的方法,认证实体可以是南户或用户服务。这种人为不依赖宿主机的操作系统或主机的IP 地址,不需要保证网络上所有的物理安全性,并且假定数据包在传输中可被随机窃取篡改。在用户初始登录成功后,其密钥和身份标识信息会长期保存在内存中,当以后要申请新的票据(新的应用服务)时,系统会自动提取之,加密后传送出去,整个过程对于用户来说完全是透明的,在不再需要用户输入任何口令的情况下实现用户身份的自动传递。

(2) Kerberos 系统应该满足的要求:

①安全。网络窃听者不能获得必要信息以假冒其他用户; Kerberos 应足够强壮以至于潜在的攻击者无法找到它的弱点连接。

②可靠。Kerberos 应高度可靠,并且应借助于一个分布式服务器体系结构,使得一个系统能够备份另一个系统。

③透明。理想情况下,用户除了要求输入口令以外应感觉不到认证的发生。

④可伸缩。系统应能够支持大数量的客户和服务器。

(3)设计思路及问题

使用一个(或一组)独立的认证服务器(Authentication Server, AS) ,来为网络中的用户(C) 提供身份认证服务;认证服务器(AS) ,用户口令由AS 保存在数据库中:AS 与每个服务器(V) 共事一个唯一保密密钥(Kv)(已被安全分发)

基于以上的设计思路,会出现这样的情况:观众想去电影院看电影,那么就需要买票才能进入电影院。当观众在电影院售票处买票后,在电影院出示票据进入电影院。问题是买的票保密否,是不是谁拿到这张票都可以进入电影院:这张票据能用多久,买了这张票之后是不是在看电影的时候都不需要再买其他的票,可以一直使用这张票据:在电影院买的这张电影票除了可以到电影院1 去看电影:能不能去电影院2 看电影?

上述的协议问题就是:口令明文传送会被窃听。票据的有效性(多次使用)。访问多个服务器则需多次申请票据(即口令多次使用)

解决上述问题, Kerberos 协议使用票据重用和引入票据许可服务器(Ticket Granting Server TGS) 。票据许可服务器中分为两种票据,分别是票据许可票据和服务许可票据。票据许可票据是客户访问TGS 服务器需要提供的票据,目的是为了申请某一个应用服务器的服务许可票据:它由AS 发放,用Tickettgs 表示访问TGS 服务器的票据,在用户登录时向AS 申请,可以多次使用。服务许可票据是客户访问服务器时需要提供的票据,用Ticketv 表示访问应用服务器V 的票据。

(4) 原理

此模型中的使用的符号如下:

Kc是用户(C) 与认证服务器(AS) 的共享密钥。

Ktgs 是认证服务器(AS) 和票据许可服务器(TGS) 之间的共享密钥。

凡是票据服务器(TGS) 和服务器(V) 之间的共享密钥。

Kc雄是AS 产生,用户C TGS 之间的临时口令。

Kc.v TGS 产生,用户C V 之间的临时口令。

Ekgs: 使用AS TGS 共享的密钥Kkgs 加密

Ekc: 使用用户和AS 共亭的密钥Kc加密

Ekv: 使用TGS V 共享的密钥Kv 加密

Ekctgs: 使用C TGS 之间密钥Kctgs 加密

此模型的技术原理是:采用对称密钥加密算法对信息进行加密,如果用某个用户的密钥加密某一信息,那么只有该用户才能解密。因此,通过解密也可以证明该用户的合法性(即为密钥的拥有者) Kerberos 协议中有三个通信参与方,需要认证身份的通信双方和一个双方都信任的第三方KDC( 密钥分发中心),这里需要注意的是在KDC 中有两个服务,分别是认证服务器(AS) 和票据许可服务器(TGS) ,将发起认证服务的一方称为客户方,客户方需要访问的对象称为服务器方。在Kerberos 中客户方是通过向服务器方递交自己的"票据" (Ticket)来证明自己的身份的,该票据是由KDC 专门为客户方和服务器方在某一阶段内通信而生成的。Kerberos 认证服务器KDC 维护着一个数据库,包括所有用户及应用服务器的密钥。用户的密钥是基于口令的,只存在于KDC 上,用户首次注册时,系统根据用户输入的口令经过散列Hash 可以生成密钥,应用服务器向KD 注册时也会生成密钥,该密钥不仅存在于KDC 上,还保存在该服务器所储的主机上,这些密钥往往是机器随机生成。用户与应用服务器之间进行通信时,二者之间还共享一个临时会话密钥,可根据需要加密数据。该密钥在KDC 认证用户时产生并分发给通信双方。会话密钥仅在当前会话期间有效,过期需要重新申请。

(5) 协议过程

Kerberos 协议中:用户(C) 和认证服务器(AS) 共享密钥Kc,认证服务器(AS)和票据许可服务器(TGS) 共享密钥Ktgs ,票据许可服务器(TGS) 和服务器(V) 之间共享密钥Kv,但是用户(C) 和服务器(V) 之间没有密钥共享,因此用户想要访问服务器,就必须通过认证服务器CAS) 和票据许可服务器CTGS) 获得相应的密钥Kcv

Kerberos 协议的第一阶段:用户(C) 和认证服务器(AS) 的交互,用户(C) 获取票据许可服务器CTGS) 的票据许可票据Tickettgs

用户CC) AS 发送请求IDc: 用户(C) 的标识IDtgs : 用户请求访问TGS;TSl: 时间戳,让AS 验证用户端时间的有效性,以防止重放攻击。

AS 返回应答信息给用户CC): 基于用户CC) AS 共享口令Kc的加密,使得AS和用户端可以验证口令,并保护通信安全Ekc: 基于用户口令的加密,使得用户端可以验证口令,以保护认证服务器返回给客户端的信息,用户可用Kc解密Kc:AS 产生,是用户与TGS 之间进行信息交换的!随时口令IDtgs : 确认这个票据是为TGS 制作的TS2 : 时间戳LTz: 告知用户该票据的有效性Tickettgs: 用户用来访问TGS 的票据,由E:gs 加密,可以重用,从而用户不用重复被AS 认证。Eks: 使用AS TGS 才知道的密钥Ktgs 来加密信息,防止信患被篡改。Ks: 用户C TGS 之间的会话密钥。IDc: 指明票据Ticket 的正确主人。

具体过程:用户(C) 将自己的信息{IDcIDtgsTS!}发送到AS 进行验证; AS 验证用户的身份后返回给用户一个信息{Kc捕,IDtgsTS2LT2Tickettgs },这个信息由Ekc 进行加密,

用户可以用自身和AS 共享的密钥Kc来解密。这个信息中包含了用户可以访问票据许可

服务器(TGS) 的票据Tickettgs 以及用户和票据许可服务器(TGS) 之间通信的密钥Kctgc

Kerberos 协议的第二所段:用户(C) 与票据许可服务器CTGS) 交互,用户C)获取服务器(V) 的服务许可票据Ticketv .

用户(C) 向票据许可服务器(TGS) 发送请求1Dv: 用户请求服务器TickeÌtgs:TGS 证实该用户已经被AS 认证AUc: 由用户的客户端生成,由Ekctgc 加密,用于验证ticketo Ekctgc: 使用用户(C) TGS 共享的密钥Kc船来加密,以保护TGS 返回给用户(C) 的信息,可用Ketgs 解密。

票据许可服务器(TGS) 返回应答信息给用户(C): 基于用户(C) TGS 共享口令Kctgs 的加密,使得TGS 和客户端可以验证口令,并保护通信安全;Kc川由TGS 产生,是用户和服务器(V) 之间进行信息交换时的临时口令1Dv: 确认该票据是为服务器而签发TS4: 时间戳Ticketv: Ekv 加密用户用来访问服务器的票据。Ekv: 使用TGS 服务器知道的会话密铝Kv 加密信息以防止信息被篡改。

具体过程:用户(C) 将访问TGS 的票据和对服务器的请求以及自己的信息。DvTickettgs, AUc}发送到TGS 进行验证TGS 验证用户的身份以及请求后返回给用户一个信息{ Kc,v, IDv, TS4, Ticketv },这个信息由进行加密,用户可以用自身和TGS 共享的密钥Kctgs 来解密。同时这个信息中包含了用户可以访问服务器(V) 的票据Ticketv 以及用户和服务器(V) 之间通信的密钥Kc.v

Kerberos 协议的第三阶段:用户(C) 与服务器(V) 交互,用户(C) 获得服务。

用户(C) 向服务器(V) 发送服务请求Ticketv: 向服务器证实该票据己被AS TGS 认证AUc: 由用户的客户端生成,用于验证ticket

服务器(V) 返回应答信患给用户(C): 基于用户(C) 和服务器共享口令Kcv 来加密,使用户确认这报文来自于服务器CV); TS5+1:时间戳,使用户确信这不是报文重放攻击。

具体过程:用户(C) 将访问服务器CV) 的票据和自身的信息{ Ticketv, AUc }发送给服务器进行验证:服务器验证用户的身份以及请求后,返回给用户一个信息{ TS5+1},这个信息由Ek叩进行加密,用户可以用自身和服务器之间共享的口令Kcv 来解密。同时用户可以开始访问服务器。

(6) Kerberos 身份认证带来的好处

①身份委派。Windows 服务可按照用户的意愿模仿客户端访问网络资源。Kerberos协议可以使一个服务为客户端完成本地计算机上的资源访问,同时可以使一个服务在连接到其他服务时去模仿客户端。

②更高效的身份认证。Kerberos 身份认证协议,服务器不用去连接域控制器,相应的,服务器可以检验客户端提供的验证的票据。客户端可以为特定的服务获取一次验证票据并在一次登录过程中反复使用这个验证票据。

③相互身份验证。递过使用Kerberos 协议,在网络连接的一端都可以以验证网络另一端的声明是它自己的实体。

<尚大教育,教育至上,人才为大:sdedu.cc>
 
   各省软考办 
 
来顶一下
返回首页
返回首页
上一篇:信息安全技术知识:DSS
下一篇:信息安全技术知识:数字签名的典型使用
 相关文章
 
 
跟贴共
笔 名 :   验证码:
网友评论仅供其表达个人看法,并不表明尚大教育同意其观点或证实其描述
距离2023年05月27-28日软考考试还有
尚大软考交流群:376154208
软考各地考务机构
历年真题汇总




各省市软考报名简章