�D自:[URL="http://www.linuxforum.net/docnew/showflat.php?Cat=&Board=sys&Number=474&page=0&view=collapsed&sb=5&o=all&fpart="]中��Linux���[/URL]
文章�祟} �p�理解Kerberos �u注
���N者: chenxiao (stranger)
���N日期 07/05/02 07:28 PM
理解kerberos
�@是MIT(Massachusetts Institute of Technology)�榱�椭�人��理解Kerberos的原理而��的一篇
�υ�集。�e面有������的人物:Athena和Euripides,通�^Athena不�嗟��思和Euripides不�嗟�ふ移渲械�
漏洞,使大家明白了Kerberos�f�h的原理。
Athena: 雅典娜,智慧�c技�的女神。
Euripides:�W�e庇得斯, 希�D的悲�≡�人。
�g文如下:
第一幕
在一��小工作�g�e。Athena和Euripides正在相�的�K端上工作。
Athena: 嗨,�@��分�r操作系�y��在太慢了。我根本�o法工作,因�槊��人都登上去了。
Euripides: 不要�ξ�笤埂N抑皇窃谶@工作。
Athena: 你知道我��需要什�N�幔课��需要�o每一��人一台工作站,�@�哟蠹揖筒����心�算�C的速度了。
�K且,我��需要一���W�j把所有的�算�C都�起�怼�
Euripides: 好。那�N我��差不多要一千台工作站?
Athena: 差不多吧。
Euripides: 你知道一台普通的工作站的硬�P有多大�幔磕茄e放不下所有的�件。
Athena: 我已�有主意了。我��可以把系�y�件放到服�掌魃稀.�你登�到工作站的�r候,工作站��通�^�W�j
�c其中一台服�掌魃系南到y�件��M。�@�拥脑O置�一�M工作站都使用同一份系�y�件,�K且利於
系�y�件的升�。只需改�臃��掌骶涂梢粤恕�
Euripides: 好的。��人的文件怎到�k呢?在分�r操作系�y上,我可以登��K�慕K端上取走我的文件。我能到
工作站上取我的文件�幔课乙�象PC用�粢�影盐业奈募�放到磁�P上去�幔课蚁M�不。
Athena: 我想我��可以其它�C器�泶嫖募�。你可以到任何一台�C器上登�去取你的文件。
Euripides: 打印怎�N�k呢?每��工作站都要有自已的打印�C�幔空l�砀跺X?�子�]件呢?你怎�N把�]件送到
所有的工作站上去呢?
Athena: 啊。。。很明�@我���]�X�槊��人配一台打印�C,但我��有�iT的�C器做打印服�铡D惆颜�求送到服
�掌鳎�它就�槟愦蛴 `]件也可以�@�幼觥�iT有一台�]件服�掌鳌D闳绻�想要你的�]件,就��M�]
件服�掌鳎�取走你的�]件。
Euripides: 你的工作站系�y�起�砗懿诲e。如果我有一台,你知道我要做什�N�幔课乙�找出你的用�裘�,�我
的工作站�J�槲揖褪悄恪H会嵛揖腿ム]件服�掌魅∽吣愕泥]件。我���上你的文件服�掌鳎�移走
你的文件,然後--
Athena: 你能做得到�幔�
Euripides: ��然!�@些�W�j服�掌髟觞N��知道我不是你?
Athena: 嗯,我不知道.我想我需要�J真思考一下.
Euripides: 好吧。你想出�磲岣嬖V我.
第二幕
Euripides的�k公室,第二天早上。Euripides坐在他的桌子旁�,�x著他的�]件。Athena�砬瞄T.
Athena: 我已�想出怎�颖Wo一���_放的�W�j系�y,使像你那�硬坏赖碌娜瞬荒苡�e人的名字使用�W�j服�铡�
Euripides: 真的�幔孔�吧。
她坐下了。
Athena: 在我�_始描述之前,我可以�槲��的��先做一���s定�幔�
Euripides: 什�N�s定?
Athena: 好,假�O我�@�诱f:"我想要我的�]件,於是我�c�]件服�掌髀��M,�求它把�]件送到我的工作站上��
。"���H上我�K�]有��M服�掌鳌N矣靡��程序�砼c服�掌髀��M�K取得我的�]件,�@��程序就是�@��
服�盏目�舳恕�
但我不想每次�c服�掌鹘换サ�r侯�f:"客�舳嗽�釉��".我只想�f:"我怎�釉��,"�住,客�舳嗽诖�
表我做所有的事。�@�涌梢�幔�
Euripides: ��然。�]���}.
Athena: 好。那�N我要�_始�U述我所解�Q的���}了。在一���_放的�W�j�h境中,提供服�盏�C器必�能�蜃R�e
�求服�盏���w的身份。如果我去�]件服�掌魃暾�我的�]件,服�粘绦虮仨�能�蝌��C我就是我所申
明的那��人。
Euripides: �]�e.
Athena: 你可以用一��笨�k法解�Q�@�����}:服�掌髯�你�入你的口令。通�^�口令的�k法我可以�C明我是
�l。
Euripides: 那�_��很笨拙。在像那�拥南到y�e面,每一��服�掌鞅仨�知道你的口令。如果�W�j有一千��用��
,那每��服�掌骶鸵�知道一千��口令。如果你想改�口令,你就必���M所有服�掌鳎�通知它��
修改口令。我想你的系�y不��那�N笨。
Athena: 我的系�y�]那�N笨。它是像�@�庸ぷ鞯模翰还馊擞锌诹睿�服�找灿锌诹睢C��用�糁�道他��自已的
口令,每��服�找仓�道它自已的口令。有一���J�C服�罩�道所有的口令,用�舻暮头��盏摹UJ�C
服�瞻芽诹畋4嬖谝���为�的中央����熘小�
Euripides: �@���J�C服�沼幸��名字�幔�
Athena: 我��]想好。你想一��吧?
Euripides: 把死人送�^冥河的人是�l?
Athena: Charon?
Euripides: �Γ�就是他。如果他不能�C��你的身份的�,他就不��把你送�^河。
Athena: 你瞎�,是不是想重��希�D神�。Charon不�P心你的身份,他只是�_定你死了�]有。
Euripides: 你有更好的名字�幔�
停了一下。
Athena: �]有,真的�]有。
Euripides: 好,那我��就把�@���J�C服�战小�Charon」。
Athena: 好,我猜我�描述一下�@��系�y了吧,嗯?
比如�f我��想要一�N服�眨亨]件。在我的系�y�e面你�o法使用一�N服�眨�除非Charon告�V服�漳愦_��是你所申
明的人。也就是�f你必�得到Charon的�J�C才能使用服�铡.�你向Charon�求�J�C的�r候,你必�告�VCharon
你要使用哪一��服�铡H绻�你想用�]件,你要告�VCharon。
Charon�你�C明你的身份。於是你送�o它你的密�a。Charon把你的密�a和它����熘械拿艽a相比�^。如果相等,Charon就�J�槟阃ㄟ^了��C。
Charon�F在就要��]件服�罩�道你通�^了��C。既然Charon知道所有服�盏拿艽a,它也知道�]件服�盏拿艽a
。Charon把�]件服�盏拿艽a�o你,你就可以使用�@��密�a使�]件服�障嘈拍阋淹ㄟ^��C。
���}是,Charon不能直接�o你密�a,因�槟��知道它。下次你想要�]件服�盏�r候,你就���@�^Charon使用�]
件服�斩�不需要�J�C。你也可以假�b某人�硎褂绵]件服�铡�
所以不是直接�o你�]件服�盏拿艽a,Charon�o你一���]件服�盏摹钙薄埂_@��票含有你的名字,�K且名字是用
�]件服�盏拿艽a加密的。
拿到票,你就可以向�]件服�照�求你的�]件。你向�]件服�仗岢稣�求,�K用你的票�碜C明你的身份。
服�沼盟�自已的密�a�戆哑苯饷埽�如果票能被正�_的解密,服�掌�⑵毖e的用�裘�取出。
服�瞻堰@��名字和�S票一起送上的用�裘��M行比�^。如果相符,服�掌骶驼J�槟阃ㄟ^了��C,就把你的�]件
�l�o你。
你�J�樵觞N�樱�
Euripides: 我有些���}。
Athena: 我猜到了。��v。
Euripides: ��服�战饷芤��票的�r候,它如何知道它是被正�_的解密的?
Athena: 我不知道。
Euripides: 也�S你���在票�e包含有服�盏拿�字。�@�赢�服�战饷芷钡�r候,它就可以通�^能否在票中找
到自已的名字�砼�嘟饷苁欠裾��_。
Athena: 很好。那票就���是�@���幼樱�
(她把下面的�|西��在了一���上)
票-{用�裘�:服�彰�}
Euripides: 那票就只包含用�裘�和服�彰�?
Athena: 用服�盏目诹罴用堋�
Euripides: 我不�J�檫@些信息就可以�票安全。
Athena: 什�N意思?
Euripides: 假�O你向Charon�求一���]件服�盏钠薄�Charon��淞艘��有你名字「tina"的票。假�O在��票
��Charon�鹘o你的�^程中我拷了一份。假�O我�我的工作站相信我的用�裘�是」tina「。�]件客
�舫绦蛘J�槲揖褪悄恪S媚愕拿�字�]件客�舫绦蛴猛�淼钠毕蜞]件服�掌魈岢稣�求。�]件服�掌�
把票解密,�J�樗�是合法的。票�e的用�裘�和�l送�票的用�裘�是匹配的。�]件服�掌骶���l�o
我你的�]件。
Athena: 喔!那可不太好。
Euripides: 但是我想到了一���k法�斫�Q�@�����}。或者�f部分解�Q。我想Charon���在票中包含更多的信
息。除了用�裘�,票���包含�求票的用�舻�IP地址。�@�⒔o你增加一�影踩�性。
我�硌菔尽<僭O�F在我偷了你的票。�@票有你工作站的IP地址,�K且�@地址配不上我的工作站的地址。用你的
名字我把偷�淼钠彼徒o�]件服�掌鳌7��粘绦虬延�裘�和�W�j地址�钠敝薪獬觯��K��D匹配用�裘�和�W�j地址
。用�裘�匹配可�W�j地址不匹配。服�掌骶芙^了�@��票,因�樗�明�@是偷�淼摹�
Athena: 英雄,英雄!我怎�N���]想到。
Euripides: 好了,�@就是我要表述的。
Athena: 那�N票���是�@���幼拥摹�
她把下面的�|西��在了黑板上。
票-{用�裘�:地址:服�彰�}
Athena: �F在我真的很激�印W�我���斫ㄒ��Charon系�y看看它是否工作!
Euripides: �]那�N快。��於你的系�y我�有些���}。
Athena: 好吧。(Athena�乃�的椅子上探出了身子)快�f。
Euripides: �起�砗孟衩看挝蚁胍�得到服�瘴叶家�去取一��新票。如果我整天的工作,我可能不只一次的
要取我的�]件。我每次取�]件都要去取一��新票�幔咳绻�真是�@�樱�我不喜�g你的系�y。
Athena: 啊。。。我不明白�槭颤N票不能被重用。如果我已�得到了一���]件服�盏钠保�我可以一次又一次
使用它。���]件客�舫绦蛴媚愕拿�字�求了服�眨�它就�髁艘环萜钡目截��o服�铡�
Euripides: 好一些。但我仍有���}。你似乎暗示我每次使用��]有票的服��r,我都必��oCharon我的密�a
我登�後想取我的文件。我向Charon�求我的票,�@意味著我不得不使用我的密�a。然後我想�x
我的�]件。又向Charon�l一次�求,我又要�一次我的密�a。�F在假�O我想把我的�]件送去打印
。我又要向Charon�l一次�求。你知道了吧?
Athena: 啊,是的,我明白了。
Euripides: �K且如果�@�不�蛟愕脑�,想想看:它好像是�@�樱���每次你要向Charon�J�C的�r候,你就要用
明文在�W�j上�鬏�你的口令。像你�@�拥穆�明人可以�O��W�j�K且得到�e人的口令。如果我得到
你的口令,我就可以用你的名字�硎褂萌魏畏��铡�
Athena�U了口�狻�
Athena: �_��有�乐氐���}。我想我�回�O�室去了。
第三幕
第二天一早,Athena在咖啡�g遇上了Euripides。在Euripides倒咖啡的�r候,Athena拍了拍Euripides.
Athena: 我有了一��新的Charon的版本�斫�Q我��的���}。
Euripides: 真的�幔亢每煅健�
Athena: 好,你看,�@些���}困�_了我一夜。
Euripides: 一定是你良心�l�F了。我��去那�的小���h室吧?
Athena: 好的。
�扇巳チ诵���h室。
Athena: 我要重新描述���},但我要根��我��的需要�M行�m��的�D�Q。
Athena清了清嗓子。
Athena: 第一��限制:用�糁惠�一次口令,在他��工作站��拥�r候,�@意味著��你需要申�新的服��
的票�r,不需�入你的口令。第二��限制:口令不能在�W�j上�M行明文�鬏�。
Euripides: 好的。
Athena: 我以第一�限制�_始:你只需要�入你的口令一次。我��造了一��新的�W�j服��斫�Q�@�����}。
它叫做「票��授�唷狗��眨��@��服�瞻�Charon的票�o用�簟J褂盟�必�要有票:票��授�嗟钠薄�
票��授�喾��掌��只是Charon的一��版本,它可以存取Charon的����臁K�是Charon的一部分
,可以�你通�^票而不是口令�磉M行�J�C。
�之,�J�C系�y�F在是像�@�庸ぷ鞯模耗愕卿�到一��工作站,用一��叫kinit的程序�cCharon
服�掌魍ㄓ�。你向Charon�C明你的身份,kinit程序取得一��票��授�嗥薄�
�F在你想�泥]件服�掌魃先∧愕泥]件。你��]有�]件服�掌鞯钠保�所以你用「票��授�唷蛊比ト�
�]件服�盏钠薄D悴恍枰�使用口令去取新的服�掌薄�
Euripides: 每次我想要另一�N�W�j服�盏�r候,我都要去取一��「票��授�唷蛊�幔�
Athena: 不。�住,上次我��已�同意票是能被重用的。一旦你要用到票��授�嗥保�直接用就可以了。
Euripides: 好,有道理。既然你能重用票,一旦你得到了某��服�盏钠保�你就�o需再去取了。
Athena: �Π。�那不好�幔�
Euripides: 好的,我�]��f,只要你在取得票��授�嗥钡�r候�]有用明文在�W上�鬏�你的口令。
Athena: 如我所�f,我已解�Q了�@�����}。�起�砗孟袷牵���我�f我要和Charon��M取得票��授�嗥钡�r
候,你就要在�W�j上�鬏�明文密�a。但其��不是�@�拥摹�
���H上是,��你用kinit程序取得票��授�嗥钡�r候,kinit�]有把你的口令送�oCharon服�掌鳎�
kinit只送你的用�裘�。
Euripides: 很好。
Athena: Charon用用�裘�去查找你的口令。然後Charon就���M一��包含票��授�嗥钡陌�。在送�o你之前,
Charon用你的口令去把�@��包加密。
你的工作站收到了包。你�入你的口令。kinit用你的口令���@��包�M行解密。如果成功你就向
Charon成功的�M行了�J�C。你�F在有了票��授�嗥保�你可以用�@��票�砣〉闷渌�的票。
�@些奇思妙想怎�N�樱�
Euripides: 我不知道...我正在思考。你知道你的系�y一部分工作得很好。你的系�y只需要我�J�C一次。
以後,Charon���o我服�盏钠倍�我需要�P心。天衣�o�p,天衣�o�p。但服�掌钡脑O��是
有一些困�_我。服�掌笔强芍赜玫摹N彝�意它�����能被重用,但重用的服�掌保�由於它
��自身的性�|,是非常危�U的。
Athena: 什�N意思?
Euripides: �@�涌础<僭O你正在用一��不安全的工作站。在你登入後,你需要�]件服�掌保�打印票,和文
件服�掌薄<僭O你�o意中在你退出後留下了那些票。
�F在假�O我登�到那��工作站�K且�l�F了那些票。我想�u造一些麻��,於是我就用你的名字
登�了。既然那些票上是你的名字,那我就可以取你的�]件,打大量的文件。�@些完全是因��
�@些票被偶然的放在了那�e。
�K且我�可以把�@些票拷走,永�h的使用它��。
Athena: 但是�@很好解�Q。我��可以��一��程序,在用�敉顺龅�r候把票�N�У簦��@些票也主不能再用了。
Euripides: 那�N很明�@你的�y���有一��票���N�С绦颍��用�粢蕾��@�拥�C制是非常愚蠢的。你不能指
望用�粼谒���退出的�r候���N��票��。�K且甚至不能依��N��票��本身,看下面的情�r。
我有一��程序可以�O��W�j�K且拷��e人的服�掌��。假�O我想�奚�你。我等你登到工作站的�r
候,打�_我的程序�K拷�一份你的票。
我等你退出�K�x�_。我把我的工作站的地址�{整�槟愕卿��r用的地址。我�工作站�J�槲沂悄恪�
我有你的票,你的用�裘�,你的地址。我可以用�@些票�硎褂媚愕姆��铡�
你�x�_工作站�r�N��你的票已�]�K系。�@些我偷�淼钠笨梢砸恢笔褂孟氯ィ�因�槟悻F在的票�K�]有
可以使用多少次的期限,或可以使用多�L的�r�g。
Athena: 哦,我明白你所�f的了!票不能是永�h合法的,因�樗�可能是一��非常大的安全�[患。我�����
限制每一��票可以用多�L的�r�g,也�S可以�o每��票�O一��有效期。
Euripides: 非常正�_。我想票需要增加�身�信息:生存期表示票多�L�r�g�仁呛戏ǖ模�和一���r�g�擞���
�f明Charon是什�N�r候�l出�@��票的。
Euripides走到了黑板��下了如下的�热荩�
票{用�裘�:地址:服�彰�:有效期:�r�g戳}
Euripides: �F在��服�战忾_票�r,它�z查票的用�裘�,地址是否�c�l送者匹配,然後它用有效期和�r�g
戳��z查票是否有效。
Athena: 很好。典型的票使用哪�L的有效期呢?
Euripides: 我不知道。也�S是一��典型工作站的工作�L期。就八小�r吧。
Athena: 那如果我在工作站呆的�r�g超�^八小�r,所有的票���失效。包括票��授�嗥薄D俏揖鸵�重新向
Charon作�J�C,在八小�r以後。
Euripides: 是不是不合理?
Athena: 我想不是。好我��就定下�戆桑�-票在八小�r後失效。�F在我有一�����}��你。假�O我�木W�j上拷了
你的票--。
Euripides: (眨了眨眼睛)啊,Tina!你不��真的�@�幼霭桑�
Athena: �@只是�榱擞��。我拷了你的票。�F在我等你退出�K�x�_。假�O你有一���t生的�s��或聚��要�⒓樱�
你在���小�r後退出,�K且你在退出之前�N�Я四愕钠薄�
但我已�偷了你的票,它���可以使用六小�r。�@�o了我足�虻�r�g用你的名�x去取你的文件�K
打印一千份什�N�|西。
你看,�r�g戳工作的很好如果小偷�x�裨谒�失效以後�碛玫脑�。如果小偷能在它失效之前用...。
啊,好...��然,你是�Φ摹�
Athena: 我想我��遇上了一��大���}了。(她�U了口��)
停了一下。
Euripides: 我想�@意味著你今晚要忙了。再�睃c咖啡?
Athena: �槭颤N不。
第四幕
第二天早上在Euripides的�k公室。Athena�砬瞄T。
Euripides: 你今早有黑眼圈了。
Athena: 好了,你知道的。又是一��漫漫�L夜。
Euripides: 你解�Q了重演的���}了�幔�
Athena: 我想是的。
Euripides: �坐。
她坐下了。
Athena: 照�f,我重申一下���}。票是可重用的,在一��限定的�r�g�龋ò诵�r)。如果�l偷了你的票
�K在它失效之前使用,我��毫�o�k法。
Euripides: �_��如此。
Athena: 我��可以把�@�����}理解�樵O�一�N�e人�o法重用的票。
Euripides: 但�@�拥脑�你每次用新服��r都要取一��新票。
Athena: �Α5�那是很笨的解�Q�k法。(稍�D。)啊,我怎�永^�m我的��呢?(她沉思了一���海�。
好的,我要重述一�����},看有什�N必��l件。�W�j服�毡仨�能�蜃C明使用票的人就是票上所申明的人。
我�眄�著�J�C的�^程再走一遍,�@�游揖涂梢匝菔疚业慕�Q方案。
我�F在想用一���W�j服�铡N彝ㄟ^��庸ぷ髡旧系目�舳�硎褂盟�。客�舳怂腿���|西�o服�掌鳎何业拿�字,
我的工作站的�W�j地址,�m��的服�掌��。
�@��票包含了申��@��票的人的名字和他(她)申��r所使用的工作站的地址。它也包含了票的有效期和�r�g
戳。所有�@些信息都被服�盏拿艽a加密了。
我���F在的�J�C模式基於以下的�y�:
服�漳�ζ苯饷�幔�
票在有效期以��幔�
票中的名字和地址�c申�者的名字和地址匹配�幔�
�@些�y��C明了什�N?
第一���y��C明了票是不是�碜�Charon.如果票不能被�m��的解密,�f明票不是�碜哉嬲�的Charon.
真正的Charon��用服�盏钠�砑用芷薄�Charon和服�帐俏ㄒ恢�道服�彰艽a的������w。如果票被成功的解密,
服�罩�道它�碜造墩娴�Charon.�@���y�防止了有人�卧旒倨薄�
第二��y��z查票是否在有效期以�取H绻��^期,服�站芙^。�@��y�阻止使用�f票,因�槠笨赡苁峭�淼摹�
第三��y��z查票的用�裘�和地址是否匹配�求者的用�裘�和地址。如果�y�失�。��f明使用者使用了�e人
的票。�@��票��然被拒�^。
如果名字和地址匹配,�@���y��C明了什�N?什�N也�]有。票可以被偷走,用�裘�和�W�j地址都可以被改�,
如果需要的�。正如我昨天指出的那�樱�票可以在有效期�缺槐I用。因�榉��詹荒艽_定票的�l送者是不是合
法用�簟�
服�罩�所以�o法判�嗍且�樗��]有�c用�艄蚕硪��秘密。�@�涌础<偃缥艺�在埃��斯�Z��(哈姆雷特中的城
堡)值勤,你打算�砗臀�Q班。但除非你�f出正�_的口令,否�t我不���c你�Q班的。我��共享了一��秘密。
它可能是某人�樗�有值勤的人所�O的。
於是昨晚我就在想,�槭颤NCharon不能�楹戏ㄓ�襞c服�罩��g�O一��口令呢?Charon�l一份口令�o服�眨�同
�r�l一份�o用�簟.�服��挠�裟茄e收到一��票,它可以用�@��口令�z�用�舻暮戏ㄐ浴�
Euripides: 等一下。Charon如何同�r�l�煞菘诹睿�
Athena: 票��的�碛谜��Charon的回��中得到口令,像�@���幼樱�
她在黑板上��下了:
Charon的回��-[口令|票]
服��钠敝蝎@取口令。票的格式如下:
票-{口令:用�裘�:地址:服�彰�:有效期:�r�g戳}
��你要�求服��r,客�舳顺绦蛏�成一��『��C器』。��C器包含了你的名字和你工作站的地址。
客�舳擞每诹畎堰@些信息加密,口令是你�求票���r得到的。
��C器-{用�裘�:地址}用口令加密。
生成��C器以後,客�舳税阉�和票一起送�o服�铡R�榉���]有口令,所以它不能解密��C器。口令在票
中,於是服�障冉忾_票。
解�_票以後,服�盏玫揭韵碌�|西:
票的有效期和�r�g戳;
票的�碛姓叩拿�字;
票�碛姓叩木W�j地址。
口令。
服��z查票是否�^期。如果一切正常,服�站陀每诹钊ソ怛��C器。如果解密�]有���},服����得到
一��用�裘�和�W�j地址。服�沼盟���去和票�e的用�裘�和�W�j地址去匹配,如果正�_,那�N服�照J��
票的�l送者�_��是票的真���碛姓摺�
Athena�和A艘幌拢�清了清喉�担�喝了�c咖啡。
我�J�榭诹铗��C器的�C制解�Q了�I用的���}。
Euripides: 也�S。但我想。。。攻�暨@��系�y我必�有��C器。
Athena: 不。你必�同�r�碛序��C器和票。�]有票,��C器是�]有用的。解�_��C器必�要有口令,服��
必�解�_票才��有口令。
Euripides: 好,我明白了,你是�f��客�舫绦蚵��M服��r,它同�r送上票和��C器?
Athena: 是的,我就是�@��意思。
Euripides: 如是真是�@�樱�什�N可以阻止我把票和��C器都偷走呢?我可以��一��程序,如果我�碛辛似焙�
��C器,我就可以一直使用它至有效期�Y束。我只需改�我的用�裘�和工作站的地址。不是�幔�
Athena: (咬了咬她的嘴唇)是的。多沮�拾 �
Euripides: 等等,等等,等等!�@不�y解�Q。票在有效期�仁强芍赜玫模�但那�K不意味著��C器是可重用的。
假�O我���O�了��C器只可以被用一次。�@可以�幔�
Athena: 好,也�S。我��硐胍幌拢�客�舳顺绦蛏�成��C器,然後把它和票一起送�o服�铡U娴钠焙万��C器
比你拷�的要先到。如果��C器只能被用一次,你的拷�就失效了。
啊,�@就�α恕N�蝇F在需要做的就是�l明一和方法使得��C器只能被用一次。
Euripides: �]���}。我��把有效期和�r�g戳放在上面。假�O每����C有�煞昼�的有效期。��你想用一��服��r
客�舳松�成��C器,�松袭�前的�r�g,把它和票一起送�o服�铡�
服�掌魇盏搅似焙万��C器,服�掌鹘忾_��C器,它�z查��C器的�r�g戳和有效期。如果��C器��]失效,所
有其它的�z查都通�^了,那�N服�掌骶驼J�槟阃ㄟ^了�J�C。
假�O我通�^�W�j拷�了一份��C器和票,我必�改�我的工作站的�W�j地址和我的用�裘�,�@差不多要用�追�
�。那是非常苛刻的要求,我不�J�槭强赡艿模�除非。。。
嗯,有一����在的���}。假�O不是在�W�j的�D�中拷�到票和��C器,我拷�了一份原始的��Charon而�淼�
包,�@��包是你向Charon�求�r的回��。
�@��包,有���口令在�e面:一��是你的,一��是服�盏摹7��盏目诹铍[藏在票中,我取不到,但另一��呢?
那��你用�砩�成��C器的?
如果我得到了口令,我就用它�斫ㄗ砸训尿��C器,如果我能建自已的��C器,我就能攻破你的系�y。
Athena: �@就是我昨晚所想的,但是��我�著票的�理�^程一想,�l�F那�油底唑��C器是不可能的。
你在一台工作站坐下,用kinit程序得到你的票��授�嗥薄�kinit要求�入用�裘�,你�入以後,kinit把它
送�oCharon.
Charon用你的名字查找你的口令,然後生成一��票��授�嗥薄W�樘�理的一部分,Charon生成了一��你�c票��
授�喾��展蚕淼目诹睢�Charon把口令和票��授�嗥币黄鹚徒o你,�K且在�l�P之前用你的口令�⑺�加密。
Charon送出了包。某人取得了�@��包,但他���o能�榱σ�樗�是用你的口令加�^密的。特�e是,�o人可以偷走
票��授�喾��盏目诹睢�
kinit收到了票��包�K要求你�入你的口令。如果你�入正�_的口令,kinit解�_包取出了口令。
�F在你注意kinit的�理,你去取你的�]件。你打�_�]件客�舳恕_@��程序查找一���]件服�盏钠钡��]有找到
(你��]取�^你的�]件)。客�舳擞闷��授�嗥比ド暾�一���]件服�盏钠薄�
客�舳�槠��授�嗟倪^程生成了一����C器,�K用票��授�嗟目诹畎羊��C器加密。客�舳税羊��C器送�o了
Charon,票��授�嗥保�你的名字,你的工作站的地址,�]件服�盏拿�字。
票��授�喾��帐盏搅诉@些�|西,�K通�^了�J�C�z查。如果一切都通�^,票��授�喾�����得到那���c你共享的
口令。�F在票��授�喾���槟闵�成了一���]件服�盏钠保�在�@���^程中生成了一��你�c�]件服�展蚕淼目诹睢�
票��授�喾��瞻堰@些�|西打成包送�o你的工作站。包�e有票和口令。在送包之前,票��授�喾��沼闷��授�嗟�
口令把包加密。做完以後,包被送出去。
�@�余]件服�掌钡陌�通�^�W�j被送了出�怼<僭O�W�j上的某人�⑺��}�u了一份。他不幸的�l�F包是用票���J
�C的口令加�^密的。既然�o法解密,他就不能得到�]件口令。�]有口令,他就不能使用任何在�W�j上�魉偷�
�]件服�盏钠薄�
�F在我�X得我��是安全的。你�J�槟兀�
Euripides: 也�S吧。
Athena: 也�S!你就只���f�@���幔�
Euripides: (大笑)�e在意。你�F在���知道我�理���}的方式了。我猜我和你昨晚都工作到了半夜。
Athena: 哼!
Euripides: 好的,大半夜。���H上,�@��系�y似乎是完全可行的。口令的方案解�Q了我昨晚想到的一�����}:
相互��C的���}。
稍�D。
我�f一下好�幔�
Athena: (有�c冷淡)�便。
Euripides: 你真好。(Euripides清了清自已的嗓子)昨晚,��口令和��C器在我�X子�e�D的�r候,我想去找
出�@��系�y新的���},我想我�l�F了一��很�乐氐���}。我下面就演示一下。
假�O你��倦了�F在的工作,�Q定�Q一��。你想用公司的激光打印�C打印求�信,把它��送�o�C�^和其它的
�l主。
於是你�入打印命令,命令去取得服�掌保�然後把票送到打印�C。�@是你�J�樗����被送到的地方。���H
上你�K不知道你的�求被送到了正�_的打印服�掌鳌�
假�O一些�o�u的人--比如�f你的老�--�{整了系�y,把你的�求送到了他�k公室的打印�C。他的打印服
�詹魂P心票的�热荨K�告�V你的工作站服�找��浜么蛴∧愕奈募�。打印命令被送到了假的打印服�掌鳎�你有
麻�┝恕�
我�南喾吹姆较虮磉_了相同的���}。用口令和��C器,Charon能�虮Wo的它的服�掌鞣乐瑰e�`的用�羰褂茫�
但它不能保�o它的用�羰褂缅e�`的服�掌鳌O到y需要�榭�舳顺绦蛱峁┮环N��C服�掌鞯姆椒ǎ�在它向服��
器�l送敏感信息之前。系�y必�允�S交互��C。
但口令的方案解�Q了�@�����}。�我��回到打印服�掌鞯�鼍啊N蚁胍�打印客�舫绦虼_�J它送交的服�帐呛�
法的服�铡�
�@就是程序要做的。我�入打印命令�K�o出一��文件名。�@�r我已�有了打印服�掌焙涂诹睢?�舫绦蛴妹�
�a生成了一����C器,然後把��C器和票送�o了假�O的打印服�掌鳌?�舳诉@�r��]有送打印文件,它在等
待�姆��盏姆祷亍�
真的服�帐盏狡焙万��C器,把票解密�K得到口令,然後用口令解�_��C器。�@�臃��斩俗鐾炅怂�有的�J�C。
�y�已��_�J了我的身份。�F在服�粘绦蛞���湟�����包�碜C��它自已的身份。它用口令加密了返回包,
�K把包送�o了等待的客�舳恕�
客�舳耸盏搅税��K��D用口令把它解�_。如果包被正�_的解�_得到了正�_的服�掌黜���信息,客�舳顺绦�
就知道了�@��服�掌魇呛戏ǖ姆��掌鳌H会徇@�r客�舳讼蛩��l出打印命令。
假�O我的老�改�了一下系�y使得他的打印�C看起�砗孟袷俏蚁胍�用的那��。我的客�舳怂土似焙万��C器�o它
�K等待它的���。假冒的打印服��o法生成正�_的���因�樗��o法把票解�_�K得到口令。�@�拥脑�客�舳司筒�
��送打印命令�o它因�榭�舳�]有得到正�_的���。最後客�舳朔��等待�K退出。我的打印�]有完成,但
至少我的求�信不��放在我的���^的桌子上。
好啊,我想我��有了Charon�J�C系�y的���的基�A。
Athena: 也�S。不管怎�N�f,我不喜�gCharon�@��名字。
Euripides: 你不喜�g�幔渴颤N�r候?
Athena: 我��矶疾幌�g,因�樗�的名字�起��]意�x。有一天我和我荷迪斯(冥王:))叔叔�到了�@��,
他推�]了另一��名字:冥王的三���^的看�T狗。
Euripides: 啊,你是�f「Cerberus".
Athena: 你�f什�N�Z言啊!"Cerberus"���H上是。。。
Euripides: 哦,不叫�@���幔�
Athena: ��然,�l�你是�_�R人!而我是希�D人,它是一�l希�D的看�T狗,它的名字是」Kerberos「,」
Kerberos「是『K』打�^的。
Euripides: 好吧,好吧,�e�l火。我同意�@��名字。���H上,它有一��好的脖�h。再�吧,Charon,�g迎
你,Kerberos.
後�
�@篇�υ�是於1988年��的,是�榱�椭��x者理解Kerberos V4的�\行方式。��^了�@�N多年,它仍然非常好
的服�侦洞恕.�我把�@篇文章�D�Q成HTML的�r候,我�@�的�l�F�@��文�n��Kerberos V5仍然非常有用。
�m然很多�|西改�了,但核心概念�K�]有�。���H上,Kerberos V5��'Kerberos'只做了�商�改�。
第一�改�是因�橐庾R到��C器用少於五分�的有效期不足以防止攻�粽哌M行重演,如果攻�粽呤怯靡��程序
自�拥慕厝∑焙万��C器�K�M行重演的�。
在Kerberos V5中,��C器真正的只能用一次因�榉��掌饔谩褐匮菥��n�^』保存了最近一次提交的��C器的信
息。如果攻�粽咴��D截取��C器�K重用它,『重演��n�^』���l�F��C器已�被提交了。
第二��主要改�是Kerberos送�okinit服�掌钡�r候,票不再是用用�舻目诹罴用堋K�已�用票��授�喾��盏�
口令加�^密了。票��授�喾��盏钠北挥�慝@取其它票的�r候,它直接就被�鬏�了。因此票不需要再用用�舻�
口令加密一次。(服�掌黜���的其它部分,如口令,仍然是用用�舻目诹罴用艿摹#�
一���似的改�也��用到票��授�喾���f�h;�钠��授�喾��辗祷氐钠币膊辉儆闷��授�喾��盏目诹�砑用�
了,因�樗�所包含的票已�被���的服�盏目诹罴舆^密了。�e例�碚f,Kerberos V4的包像�@�樱�
KDC_REPLY = {TICKET, client, server, K_session}K_user
意思是:{}中的�热菔怯�K_user�砑用艿摹�
TICKET = {client, server, start_time, lifetime, K_session}K_server
在Kerberos V5中,KDC_REPLY�F在看起�硐襁@�樱�
KDC_REPLY = TICKET, {client, server, K_session}K_user
(注意:票已�不再用K_user�砑用芰�)
��然,Kerberos V5中�有�S多新特性。用�艨梢栽诹硪���W�j中安全的提交他��的票;�K且,用�艨梢园�
他��的一部分�J�C�噢D�o服�掌鳎��@�臃��掌骶涂梢宰�橛�舻拇�理。其它的新特性包括:用更好的加密算法
替�Q了DES加密算法,如三重DES加密。�x者如果��V4�cV5的�化感�d趣的�,可以�x一下"The Evolution of
the Kerberos Authentication System",作者是Cliff Neumann和Theodore Ts'o.
我希望你能���@篇介�BKerberos�f�h的文章感�d趣。我祝�你在未�淼奶剿髦懈��M一步。
Theodore Ts'o, 1997年二月。
--------------------------------------------------------------------------------
Permission to use, copy, modify, and distribute this documentation for any purpose and without
fee is hereby granted, provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission