En 400-6655-581
5
返回列表
> 資源中心 > 技術(shù)干貨 | Kerberos認(rèn)證介紹及域桌面單點(diǎn)

技術(shù)干貨 | Kerberos認(rèn)證介紹及域桌面單點(diǎn)

2019-08-16瀏覽次數(shù):1247
在古希臘神話中Kerberos是指:一只有著三個(gè)頭的狗,這條狗守護(hù)在地獄之門外,防止活人闖入。



Kerberos協(xié)議以此命名,巧合的是Kerberos協(xié)議也是有三個(gè)重要的部分組成,他們分別是:Client, Server, KDC(密鑰分發(fā)中心)。


Client:需要使用Kerberos服務(wù)的客戶端


Service:提供具體服務(wù)的服務(wù)端


KDC:負(fù)責(zé)分發(fā)密鑰的密鑰分配中心



Kerberos官方解釋


來自百度百科關(guān)于Kerberos的解釋:

https://baike.baidu.com/item/Kerberos/5561682?fr=aladdin


Kerberos是一種網(wǎng)絡(luò)認(rèn)證協(xié)議,其設(shè)計(jì)目標(biāo)是通過密鑰系統(tǒng)為客戶機(jī) / 服務(wù)器應(yīng)用程序提供強(qiáng)大的認(rèn)證服務(wù)。該認(rèn)證過程的實(shí)現(xiàn)不依賴于主機(jī)操作系統(tǒng)的認(rèn)證,無需基于主機(jī)地址的信任,不要求網(wǎng)絡(luò)上所有主機(jī)的物理安全,并假定網(wǎng)絡(luò)上傳送的數(shù)據(jù)包可以被任意地讀取、修改和插入數(shù)據(jù)。在以上情況下, Kerberos 作為一種可信任的第三方認(rèn)證服務(wù),是通過傳統(tǒng)的密碼技術(shù)(如:共享密鑰)執(zhí)行認(rèn)證服務(wù)的。



要了解Kerberos協(xié)議的工作過程,我們先了解不含KDC的簡單相互身份驗(yàn)證。



簡單相互身份驗(yàn)證過程【無KDC】


A向B發(fā)送信息時(shí),會(huì)附加一個(gè)Authenticator(認(rèn)證碼,該數(shù)據(jù)結(jié)構(gòu)=身份信息+時(shí)間戳)來進(jìn)行兩人的身份驗(yàn)證,在開始驗(yàn)證之前,A和B有且只有一個(gè)二人知曉的密鑰。


簡單身份認(rèn)證工作流程


說明:


a.  A用密鑰加密了【信息+Authenticator(身份信息+時(shí)間戳)】,將其發(fā)給B;


b.  B用密鑰解密A發(fā)來的Authenticator,并將記錄其中的時(shí)間戳,B將這個(gè)時(shí)間戳與自己的當(dāng)前時(shí)間進(jìn)行比較,如果這個(gè)時(shí)間差大于某個(gè)值(windows下默認(rèn)是5分鐘),B認(rèn)為信息不是A發(fā)來的,拒絕后續(xù)驗(yàn)證。如果這個(gè)時(shí)間差小于設(shè)定值,B要檢查在過去5分鐘內(nèi),是否存在含有更早時(shí)間戳的Authenticator,如果沒有,B認(rèn)為信息確實(shí)是A發(fā)來了,此時(shí)即完成B對A的驗(yàn)證;


c.  B用密鑰加密Authenticator里的時(shí)間戳,然后將其發(fā)回給A,以證明自己確實(shí)是B;


d.  A收到后,解密出時(shí)間戳,經(jīng)對比,確認(rèn)對方確實(shí)是B. 至此,完成了A對B的驗(yàn)證;



引入KDC密鑰分發(fā)中心


上述3提到實(shí)現(xiàn)簡單相互身份驗(yàn)證有一個(gè)前提條件,即A和B必須有一個(gè)有且只有二人知曉的密鑰,引入KDC密鑰分發(fā)中心后,當(dāng)A嘗試向B發(fā)信息時(shí),KDC會(huì)分別向A、B發(fā)放一個(gè)加密過的session key,相當(dāng)于上述那個(gè)有且只有A、B雙方知曉的密鑰。


引入密鑰分發(fā)中心KDC具體工作過程


a. 客戶端向KDC提交客戶端身份信息(這個(gè)傳輸過程使用客戶端secretkey進(jìn)行加密),要求與服務(wù)端進(jìn)行相互身份驗(yàn)證。


b. KDC生成一個(gè)僅有客戶端與服務(wù)端知曉的session key。


c. KDC將session key附加上客戶端身份信息形成了session ticket,并用服務(wù)端secret key加密session ticke后傳給服務(wù)端。服務(wù)端收到了KDC回復(fù),使用服務(wù)端secret key解密,獲得了有且只有客戶端和服務(wù)端二者知曉的密鑰session key。


d. KDC將【session key+服務(wù)端secret key加密后的session ticket】用客戶端secret key加密后,傳給客戶端。客戶端收到了KDC的回復(fù),用客戶端secret key解密出【session key+服務(wù)端secret key加密后的session ticket】。當(dāng)客戶端再次向服務(wù)端發(fā)送信息時(shí),客戶端就可以直接向服務(wù)端發(fā)送【要發(fā)送的信息+服務(wù)端secret key加密后的session ticket+用session key加密的Authenticator(身份信息+時(shí)間戳)】


e. 服務(wù)端收到來自客戶端的以上憑據(jù),先用服務(wù)端secret key將session ticket解密,取得內(nèi)嵌在session ticket里的session key,用其將Authenticator解密,得到客戶端發(fā)送消息的時(shí)間戳,之后按照3中簡單相互身份驗(yàn)證過程中的步驟b, c, d繼續(xù)進(jìn)行。



派拉統(tǒng)一身份認(rèn)證(ESC)域單點(diǎn)無縫集成


派拉ESC產(chǎn)品和AD域控的集成實(shí)現(xiàn)配置化,無縫對接;



開機(jī)即訪問(域用戶登錄電腦,訪問應(yīng)用無需再次進(jìn)行登錄認(rèn)證),大大提升用戶體驗(yàn),登錄認(rèn)證 so easy。