Kerberos是一个重要的认证协议

上传人:新** 文档编号:458095169 上传时间:2023-11-26 格式:DOCX 页数:8 大小:22.77KB
返回 下载 相关 举报
Kerberos是一个重要的认证协议_第1页
第1页 / 共8页
Kerberos是一个重要的认证协议_第2页
第2页 / 共8页
Kerberos是一个重要的认证协议_第3页
第3页 / 共8页
Kerberos是一个重要的认证协议_第4页
第4页 / 共8页
Kerberos是一个重要的认证协议_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《Kerberos是一个重要的认证协议》由会员分享,可在线阅读,更多相关《Kerberos是一个重要的认证协议(8页珍藏版)》请在金锄头文库上搜索。

1、Kerberos是一个重要的认证协议,它为互不相识的通信双方做安全的认证工作。Kerberos这个名字的原义 是希腊神话中守卫冥王大门的长有三头的看门狗。下面这篇Kerberos的文章不知是哪位老大翻译的,感谢 先!这是MIT (Massachusetts Institute of Technology)为了帮助人们理解Kerberos的原理而写的一篇对话 集。里面有两个虚构的人物:Athena和Euripides,通过Athena不断的构思和Euripides不断的寻找其中 的漏洞,使大家明白了 Kerberos协议的原理。Athena:雅典娜,智慧与技艺的女神。Euripides:欧里庇得

2、斯,希腊的悲剧诗人。译文如下:第一幕在一个小工作间里。Athena和Euripides正在相邻的终端上工作。Athena:嗨,这个分时操作系统实在太慢了。我根本无法工作,因为每个人都登上去了。Euripides:不要对我报怨。我只是在这工作。Athena :你知道我们需要什么吗?我们需要给每一个人一台工作,这样大家就不会担心计算机的速度了。 并且,我们需要一个网络把所有的计算机都联起来。Euripides:好。那么我们差不多要一千台工作站?Athena:差不多吧。Euripides:你知道一台普通的工作站的硬盘有多大吗?那里放不下所有的软件。Athena:我已经有主意了。我们可以把系统软件放到

3、服务器上。当你登录到工作站的时候,工作站会通过 网络与其中一台服务器上的系统软件联系。这样的设置让一组工作站都使用同一份系统软件,并且利于系 统软件的升级。只需改动服务器就可以了。Euripides:好的。个人的文件怎到办呢?在分时操作系统上,我可以登录并从终端上取走我的文件。我能 到工作站上取我的文件吗?我要象PC用户一样把我的文件放到磁盘上去吗?我希望不。Athena:我想我们可以其它机器来存文件。你可以到任何一台机器上登录去取你的文件。Euripides:打印怎么办呢?每个工作站都要有自已的打印机吗?谁来付钱?电子邮件呢?你怎么把邮件送 到所有的工作站上去呢?Athena :啊.很明显我

4、们没钱为每个人配一台打印机,但我们有专门的机器做打印服务。你把请求送到 服务器,它就为你打印。邮件也可以这样做。专门有一台邮件服务器。你如果想要你的邮件,就联系邮件 服务器,取走你的邮件。Euripides :你的工作站系统听起来很不错。如果我有一台,你知道我要做什么吗?我要找出你的用户名, 让我的工作站认为我就是你。然后我就去邮件服务器取走你的邮件。我会联上你的文件服务器,移走你的 文件,然后一一Athena:你能做得到吗?Euripides:当然!这些网络服务器怎么会知道我不是你?Athena:嗯,我不知道.我想我需要认真思考一下.Euripides:好吧。你想出来后告诉我.第二幕Euri

5、pides的办公室,第二天早上。Euripides坐在他的桌子旁边,读着他的邮件。Athena来敲门.Athena:我已经想出怎样保护一个开放的网络系统,使象你那样不道德的人不能用别人的名字使用网络服 务。Euripides:真的吗?坐吧。她坐下了。Athena:在我开始描述之前,我可以为我们的讨论先做一个约定吗?Euripides:什么约定?Athena:好,假设我这样说:我想要我的邮件,于是我与邮件服务器联系,请求它把邮件送到我的工作站 上来。实际上我并没有联系服务器。我用一个程序来与服务器联系并取得我的邮件,这个程序就是这个服 务的客户端。但我不想每次与服务器交互的时侯说:客户端怎样怎样

6、.我只想说:我怎样怎样,记住,客 户端在代表我做所有的事。这样可以吗?Euripides:当然。没问题.Athena:好。那么我要开始阐述我所解决的问题了。在一个开放的网络环境中,提供服务的机器必须能够 识别请求服务的实体的身份。如果我去邮件服务器申请我的邮件,服务程序必须能够验证我就是我所申明 的那个人。Euripides:没错.Athena :你可以用一个笨办法解决这个问题:服务器让你输入你的口令。通过输口令的办法我可以证明我 是谁。Euripides:那确实很笨拙。在像那样的系统里面,每一个服务器必须知道你的口令。如果网络有一千个用 户,那每个服务器就要知道一千个口令。如果你想改变口令,

7、你就必须联系所有服务器,通知它们修改口令。 我想你的系统不会那么笨。Athena:我的系统没那么笨。它是象这样工作的:不光人有口令,服务也有口令。每个用户知道他们自已 的口令,每个服务也知道它自已的口令。有一个认证服务知道所有的口令,用户的和服务的。认证服务把 口令保存在一个单独的中央数据库中。Euripides:这个认证服务有一个名字吗?Athena:我还没想好。你想一个吧?Euripides:把死人送过冥河的人是谁?Athena: Charon?Euripides:对,就是他。如果他不能证实你的身份的话,他就不会把你送过河。Athena:你瞎编,是不是想重写希腊神话。Charon不关心你的

8、身份,他只是确定你死了 没有。Euripides:你有更好的名字吗?停了一下。Athena:没有,真的没有。Euripides:好,那我们就把这个认证服务“Charon”。Athena:好,我猜我该描述一下这个系统了吧,嗯?比如说我们想要一种服务:邮件。在我的系统里面你无法使用一种服务,除非Charon告诉服务你确实是你 所申明的人。也就是说你必须得到Charon的认证才能使用服务。当你向Charon请求认证的时候,你必须 告诉Charon你要使用哪一个服务。如果你想用邮件,你要告诉Charon。Charon请你证明你的身份。于是 你送给它你的密码。Charon把你的密码和它数据库中的密码相比

9、较。如果相等,Charon就认为你通过了验 证。Charon现在就要让邮件服务知道你通过了验证。既然Charon知道所有服务的密码,它也知道邮件服 务的密码。Charon把邮件服务的密码给你,你就可以使用这个密码使邮件服务相信你已通过验证。问题是, Charon不能直接给你密码,因为你会知道它。下次你想要邮件服务的时候,你就会绕过Charon使用邮件服 务而不需要认证。你也可以假装某人来使用邮件服务。所以不是直接给你邮件服务的密码,Charon给你一 张邮件服务的“票”。这张票含有你的名字,并且名字是用邮件服务的密码加密的。拿到票,你就可以向 邮件服务请求你的邮件。你向邮件服务提出请求,并用你

10、的票来证明你的身份。服务用它自已的密码来把 票解密,如果票能被正确的解密,服务器将票里的用户名取出。服务把这个名字和随票一起送上的用户名 进行比较。如果相符,服务器就认为你通过了验证,就把你的邮件发给你。你认为怎么样?Euripides:我有些问题。Athena:我猜到了。请讲。Euripides:当服务解密一张票的时候,它如何知道它是被正确的解密的?Athena:我不知道。Euripides:也许你应该在票里包含有服务的名字。这样当服务解密票的时候,它就可以通过能否在票中找 到自已的名字来判断解密是否正确。Athena :很好。那票就应该是这个样子:(她把下面的东西写在了一张纸上)票-用户名

11、:服务名Euripides:那票就只包含用户名和服务名?Athena:用服务的口令加密。Euripides:我不认为这些信息就可以让票安全。Athena:什么意思?Euripides:假设你向Charon请求一张邮件服务的票。Charon准备了一张有你名字“tina”的票。假设在当票从Charon传给你的过程中我拷了一份。假设我让我的工作站相信我的用户名是” tina “。 邮件客户程序认为我就是你。用你的名字邮件客户程序用偷来的票向邮件服务器提出请求。邮件服务器把 票解密,认为它是合法的。票里的用户名和发送该票的用户名是匹配的。邮件服务器就会发给 我你的邮件。 Athena:喔!那可不太好。

12、Euripides:但是我想到了一个办法来解决这个问题。或者说部分解决。我想Charon应该在票中包含更多 的信息。除了用户名,票还应包含请求票的用户的IP地址。这将给你增加一层安全性。我来演示。假设 现在我偷了你的票。这票有你工作站的IP地址,并且这地址配不上我的工作站的地址。用你的名字我把偷来的票送给邮件服务器。服务程序把用户名和网络地址从票中解出,并 试图匹配用户名和网络地址。用户名匹配可网络地址不匹配。服务器拒绝了这张票,因为它明显是偷来的。 Athena:英雄,英雄!我怎么会没想到。Euripides:好了,这就是我要表述的。Athena:那么票应该是这个样子的。她把下面的东西写在了

13、黑板上。票-用户名:地址:服务名Athena:现在我真的很激动。让我们来建一个Charon系统看看它是否工作!Euripides:没那么快。对于你的系统我还有些问题。Athena:好吧。(Athena从她的椅子上探出了身子)快说。Euripides:听起来好像每次我想要得到服务我都要去取一张新票。如果我整天的工作,我可能不只一次的 要取我的邮件。我每次取邮件都要去取一张新票吗?如果真是这样,我不喜欢你的系统。Athena :啊。我不明白为什么票不能被重用。如果我已经得到了一张邮件服务的票,我可以一次又一 次使用它。当邮件客户程序用你的名字请求了服务,它就传了一份票的拷贝给服务。Euripide

14、s:好一些。但我仍有问题。你似乎暗示我每次使用还没有票的服务时,我都必须给Charon我的 密码我登录后想取我的文件。我向Charon请求我的票,这意味着我不得不使用我的密码。然后我想读我的 邮件。又向Charon发一次请求,我又要输一次我的密码。现在假设我想把我的邮件送去打印。我又要向 Charon发一次请求。你知道了吧?Athena :啊,是的,我明白了。Euripides:并且如果这还不够糟的话,想想看:它好像是这样,当每次你要向Charon认证的时候,你就 要用明文在网络上传输你的口令。像你这样的聪明人可以监视网络并且得到别人的口令。如果我得到你的 口令,我就可以用你的名字来使用任何服

15、务。Athena 叹了 口气。Athena:确实有严重的问题。我想我该回设计室去了。第三幕第二天一早,Athena在咖啡间遇上了 Euripides。在Euripides倒咖啡的时候,Athena拍了 拍 Euripides.Athena:我有了一个新的Charon的版本来解决我们的问题。Euripides:真的吗?好快呀。Athena:好,你看,这些问题困扰了我一夜。Euripides: 一定是你良心发现了。我们去那边的小会议室吧?Athena:好的。两人去了小会议室。Athena:我要重新描述问题,但我要根据我们的需要进行适当的转换。Athena清了清嗓子。Athena:第一个限制:用户只

16、输一次口令,在他们工作站启动的时候,这意味着当你需要申请新的服务的 票时,不需输入你的口令。第二个限制:口令不能在网络上进行明文传输。Euripides:好的。Athena:我以第一项限制开始:你只需要输入你的口令一次。我创造了一个新的网络服务来解决这个问题。 它叫做“票据授权”服务,这个服务把Charon的票给用户。使用它必须要有票:票据授权的票。票据授 权服务其实只是Charon的一个版本,它可以存取Charon的数据库。它是Charon的一部分,可以让你通过 票而不是口令来进行认证。总之,认证系统现在是象这样工作的:你登录到一个工作站,用一个叫kinit 的程序与Charon服务器通讯。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号