溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Kerberos 學(xué)習(xí)筆記

發(fā)布時(shí)間:2020-08-16 06:26:29 來(lái)源:網(wǎng)絡(luò) 閱讀:941 作者:桌面虛擬化 欄目:安全技術(shù)


最近在工作中調(diào)試vmware  identity manager 產(chǎn)品的SSO功能,有機(jī)會(huì)深入了解了一下Kerberos的工作原理,隨筆記錄一下,以作將來(lái)回顧之用。

什么是Kerberos,參看wiki- https://en.wikipedia.org/wiki/Kerberos_(protocol)。簡(jiǎn)單說(shuō)Kerberos是一種網(wǎng)絡(luò)認(rèn)證協(xié)議,它是通過(guò)使用秘鑰加密的方式來(lái)提供客戶端,服務(wù)器程序之間的安全認(rèn)證。例如,微軟Windows2000以后的系統(tǒng)認(rèn)證過(guò)程就是基于Kerberos的。

為什么叫KerberosKerberos傳說(shuō)是希臘神話中的守護(hù)地獄的一條有三個(gè)頭的大狗,貌似在哈利波特第一部<哈利波特與魔法石>也有一只三頭狗。三個(gè)頭代表了Kerberos協(xié)議中的三方,Client,ServerKDC.

Kerberos 學(xué)習(xí)筆記

圖片出處:  http://mccltd.net/blog/?p=1053

 

網(wǎng)上對(duì)Kerberos的協(xié)議介紹有好多,http://blog.csdn.net/wulantian/article/details/42418231這篇博客是講的比較透徹深入的,然而讀下來(lái)恐怕還是比較燒腦,時(shí)間一長(zhǎng)恐怕也就忘記了。本文中對(duì)Kerberos的介紹會(huì)通過(guò)一個(gè)簡(jiǎn)單的例子來(lái)進(jìn)行,來(lái)幫助粗線條地理解Kerberos的認(rèn)證方式,會(huì)和具體的協(xié)議細(xì)節(jié)有所差異。

我們假設(shè)一個(gè)場(chǎng)景,戰(zhàn)爭(zhēng)年代,有兩個(gè)地下工作者張三,李四在被派到某處從事秘密工作,現(xiàn)在張三因?yàn)楣ぷ餍枰?,找到了開(kāi)酒館掩護(hù)身份的酒館老板李四,張三現(xiàn)在要做的事情,就是向李四證明我就是張三,不是釣魚執(zhí)法的,這是一個(gè)典型的認(rèn)證的過(guò)程。

那怎么做呢?張三,李四的派出機(jī)構(gòu)早就給他們?cè)O(shè)計(jì)好了認(rèn)證過(guò)程,在這里的派出機(jī)構(gòu)就是Kerberos協(xié)議中的KDC,比如微軟的AD域服務(wù)器。在兩人出發(fā)之前,發(fā)給了每個(gè)人一把鑰匙(對(duì)應(yīng)用戶密碼或者密碼hash數(shù)值),派出機(jī)構(gòu)也保留了一把備用鑰匙(AD域服務(wù)器上保存著每個(gè)域用戶的密碼或者密碼hash數(shù)值)。張三,李四就分別對(duì)應(yīng)clientserver了。

1.      張三要向派出機(jī)構(gòu)報(bào)告一下:我要和李四接頭,給我一個(gè)接頭暗號(hào)唄。

2.      派出機(jī)構(gòu)收到張三要和李四接頭的請(qǐng)求以后,就發(fā)了兩個(gè)小盒子給張三,并且上了鎖,只能用兩人自己的鑰匙才能打開(kāi)。
第一個(gè)盒子里面有一張紙條寫著接頭暗號(hào):寶塔鎮(zhèn)河妖。張三的鑰匙可以打開(kāi)這個(gè)盒子
第二個(gè)盒子里面有兩張紙條,一張紙條也寫著接頭暗號(hào):寶塔鎮(zhèn)河妖。第二張紙條寫著:來(lái)人是張三。zh只有李四的鑰匙才能打開(kāi)這個(gè)盒子。張三是打不開(kāi)這個(gè)盒子的,確保張三不會(huì)篡改里面的內(nèi)容。

3.      張三收到兩個(gè)小盒子以后,就用自己的鑰匙打開(kāi)了第一個(gè)小盒子,看到接頭暗號(hào):寶塔鎮(zhèn)河妖

4.      然后張三就帶著第二個(gè)盒子去找開(kāi)酒館的李四了,見(jiàn)到李四,張三把第二個(gè)盒子交給李四,并且說(shuō)出了接頭暗號(hào):寶塔鎮(zhèn)河妖,并且宣稱自己是張三。

5.      李四用自己的鑰匙打開(kāi)了張三帶給他的盒子,看到了接頭暗號(hào)是寶塔鎮(zhèn)河妖。然后又看到另外一張紙條上寫著來(lái)人是張三。嗯,都對(duì)得上。他就是張三,那現(xiàn)在先把酒擺上喝點(diǎn),咱們談?wù)勏乱徊降墓ぷ靼才虐伞?/span>

這個(gè)例子用來(lái)講述Kerberos的基本的工作原理,當(dāng)然Kerberos協(xié)議要比這個(gè)例子復(fù)雜的多。所以您可千萬(wàn)別較真,要是我鑰匙丟了怎么辦,有人把小盒子掉一個(gè)包之類的,該怎么辦?這些就是Kerberos協(xié)議要進(jìn)一步解決的問(wèn)題了,就需要您自己去看Kerberos協(xié)議的細(xì)節(jié)了。

 

關(guān)于作者:Sam Zhao,EUC解決方案部門經(jīng)理。在軟件開(kāi)發(fā),測(cè)試,項(xiàng)目管理方面有13IT從業(yè)經(jīng)歷,發(fā)表過(guò)五個(gè)專利以及合著書一部

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI