Kerberos
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Kerberos认证协议的教学设计
计算机系统与网络安全技术课题组
电子科技大学计算机科学与工程学院,四川成都 611731
一、引言
作为采用对称密钥技术的Kerberos协议堪称安全协议的典范。它不仅涉及密钥交换、认证、加密等安全协议的关键技术,也涵盖了设计一个实用安全协议必须考虑的各种问题。因此,如何让学生掌握Kerberos协议的基本概念、方法以及掌握设计实用安全协议的技能,是讲述Kerberos安全协议必须考虑的问题。
但是,由于Kerberos协议非常复杂,而在讲述该协议之前,学生还从未接触过实用的安全协议。因此,必须寻求好的教学方法,才能让学生快速掌握Kerberos 协议的精华,实现预定的教学目的。
二、Kerberos协议的教学重点及难点
从本课程组多年的教学经验来看,讲述Kerberos协议的过程中,有如下教学重点及难点:
(1)Kerberos的“双头”
Kerberos的本意是希腊神话中守护地狱之门的守护者,该守护者是一个有两个头的“怪物”。在Kerberos协议中,“双头”是指该协议提供了两个服务器:认证服务器(AS:Authentication Server)和票据准许服务器(TGS :Ticket-Granting Server)。因此,如何让学生真正认识到“双头”对于Kerberos协议的重要性,是教学的重点和难点之一。
(2)Kerberos的密钥共享机制
参与Kerberos协议的协议主体包括客户、服务器、认证服务器和票据准许服务器四个角色。为了实现保密通信,这些协议主体之间总共需要共享3对密钥。因此,如何让学生理解和掌握密钥共享的必要性和重要性,也是讲述Kerberos 协议的重点和难点。
(3)Kerberos的密钥交换方法
在讲述本课程中关于密钥及安全协议基本理论的时候已经提到,共享的主密钥一般不能直接用于数据加密。否则,当加密数据积累到一定程度会泄漏密钥的
信息。在Kerberos协议中,非常好的解决了客户与票据准许服务器、客户与服务器之间的会话密钥交换问题。因此,让学生掌握这些会话密钥如何生成、如何安全交换,也是讲述Kerberos协议的重点和难点。
(4)Kerberos的抗重放攻击机制
抗重放攻击是任何一个实用安全协议必须考虑的问题。在Kerberos中,大量实用“时戳”机制来解决针对Kerberos协议的重放攻击。因此,如何讲述Kerberos 的时戳机制,也是Kerberos教学的重点和难点。
三、Kerberos协议“双头”教学设计
首先,由于Kerberos使用对称加密机制,因此Kerberos中必然存在类似于口令的密钥。在讲述过程中,我们以多次出示信用卡消费密码购买电影票将提高泄漏消费密码的概率为例,引出Kerberos的基本目标避免口令在网络上的传递,并尽量减少口令的使用次数。
我们通过讨论现实生活中的一个例子,来说明这一目标的重要性。在该例子中,用户Alice使用带有消费密码的信用卡购买电影票看电影。为此,Alice需向电影院售票处出示自己的信用卡,并输入自己的信用卡密码才能购到自己所需要的电影票,从而持票进入电影院。电影院检票员验证Alice所持有的票的有效性,决定是否允许Alice进电影院观看电影。
Alice出示自己的信用卡及密码是关键的一步,如果周围有不怀好意者,他可能窃听到Alice的信用卡卡号及密码,从而盗用Alice的信用卡。如果Alice 希望多次观看电影,或者希望到其他电影院购票观看电影,她必须多次出示自己的信用卡及密码进行购票。依据概率论知识,在此条件下Alice的信用卡和口令被盗取的概率随着其观看电影的次数增加而增加。因此,为了减少Alice信用卡及其密码被盗取的概率,应该减少初始信用卡及密码的次数。
解决方法之一就是在各电影院之间引入一个专门销售“通用电影票”的售票机构。当Alice希望观看电影时,她不是直接到各电影院的售票处出示自己的信用卡及密码购买电影票,而是向该售票机构出示自己的信用卡和密码购买一张“通用电影票”,例如该“通用电影票”可能是Alice花100美元购得的、可换取100张具体电影票的一个凭证。因此,通用电影票不是作为进入电影院的凭证,而是作为置换具体电影院对应的电影票的凭证,即Alice只需要向电影院售票处出示
该凭据,即可获得一张进入电影院的电影票。使用通用电影票,可避免多次出示信用卡及密码的问题,而从减少用于机密信息被盗取的可能性。该过程如图所示。
这样,与普通的“购票看电影”的“单头”机制不同,在上述方案中,存在两个
头:通用电影票销售机构和电影票售票处。
据此,我们可以引入Kerberos中的双头:票据许可服务器相似于通用电影票销售机构,认证服务器相似于电影票售票处。同样,如同通用电影票销售机构不
直接售电影票一样,票据许可服务器也不直接颁发认证标识,而只是颁发可以购买认证标识的“票据”;如同电影院售票处真正售票一样,认证服务器才真正办法认证标识。
据此,Kerberos的双头概念基本上已经非常形象的讲述完毕。
因为引入Kerberos密钥共享机制,可引导学生总结和思考三个问题:
问题之一:信用卡问题(如何出示消费密码)
问题之二:票的有效期问题(如果重复使用电影票怎么办)
问题之三:多个电影院问题(如何跨地域实用通用电影票)
四、Kerberos的密钥共享机制教学设计
根据上述电影院的比喻,可以提出在Kerberos认证协议中,也存在四个角色:客户端(C:Client,即用户),服务器(S:Server,即提供某种服务器的服务器),认证服务器(AS:Authentication Server)及票据准许服务器(TGS:Ticket-Granting
Server)。
结合新型电影院的运作模式,可讲述四类角色的作用。客户端就是用户,也既是请求服务的用户,而服务器就是向用户提供服务的一方。认证服务器负责验证用户的身份,如果通过了认证,则向用于提供访问票据准许服务器的票据许可票据(Ticket-Granting Ticket),票据准许服务器则负责验证用户的票据许可票据,如果验证通过,则为用户提供访问服务器的服务许可票据(Service-Granting Ticket)。这里的票据许可票据相当于上例中的“通用电影票”,而服务去许可票据相当于“电影票”。因此,从认证服务器所获得的票据许可票据不能作为用户访问服务器的凭证,只能作为访问票据许可服务器的凭证,而后者所授予的服务票据才是用户访问服务器的凭证。
我们可以结合新型电影院的运行机制,提出为了保障通用电影票和电影票的安全,必须对其进行保护。同样,在Kerberos协议中,也必须对通信进行保护。为此,可引出Kerberos的密钥共享机制。
由于Kerberos采用对称加密机制作为其加密/解密算法,因此每个用户C必须拥有一个认证密钥
K(如用户口令),该认证密钥由用户和认证服务器AS之
c
间共享一个对称加密密钥
K,而票据准许服务器TGS和服务器V之间共享一
tgs
个对称加密密钥
K。这样,可方便总结处Kerberos中的四种角色及其密钥共享
s
关系如图所示。