• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    Kerberos認證協(xié)議分析與研究

    2017-11-20 08:45:14畢淏程曉榮
    電腦知識與技術(shù) 2017年27期
    關(guān)鍵詞:身份認證

    畢淏+程曉榮

    摘要:在分布式網(wǎng)絡(luò)的身份認證體系中,最具代表性的是基于對稱密碼體制的Kerberos認證模式,它引入了可信的第三方秘鑰分配中心。該文先詳細敘述了Kerberos協(xié)議的認證過程,分析其還存在的不足——對稱密碼體制安全性低、易受重放攻擊。為此,嘗試使用非對稱秘鑰以及隨機數(shù)和秘鑰鏈關(guān)聯(lián)機制來增加秘鑰強度,盡量減少秘鑰被破解的可能性。同時,隨機數(shù)也和時間戳共同使用判定消息是合法用戶的重復請求還是非法用戶的重放攻擊,最后給出改進后認證過程。

    關(guān)鍵詞:Kerberos;身份認證;重放攻擊;秘鑰鏈

    中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2017)27-0037-02

    網(wǎng)絡(luò)的迅速發(fā)展使安全問題日益突出,認證機制在分布式網(wǎng)絡(luò)環(huán)境中扮演越發(fā)重要的角色。簡單來說,假如用戶希望訪問網(wǎng)絡(luò)中的某些資源,而這些資源只允許授權(quán)用戶的訪問,就需要可靠的認證機制來證明訪問者和被訪問者的身份。良好的認證機制可以減少非法用戶假冒合法用戶對網(wǎng)絡(luò)資源進行盜取和破壞。Kerberos是基于可信第三方的認證協(xié)議,密碼設(shè)計基于Needham—Schroeder協(xié)議[1],它可以在客戶訪問服務(wù)器前提供較完善的保護措施和控制機制。

    1 Kerberos身份認證

    1.1 簡介

    Kerberos一詞來源于希臘神話,意為“三個頭的狗”,也是地獄之門的守護者[2]。其中三個主體分別是認證服務(wù)器、客戶和應(yīng)用服務(wù)器,用戶在訪問服務(wù)器前,需要先從第三方認證服務(wù)器中獲取許可證,只有通過合法性認證的用戶,才能依據(jù)票據(jù)去訪問所需的服務(wù)和應(yīng)用。

    在認證過程前,基本名詞如表1。

    秘鑰:網(wǎng)絡(luò)安全的可靠性主要依靠秘鑰強度和協(xié)議嚴謹性[3],Kerberos中存在三種秘鑰,一種是長期秘鑰,另兩種是短期秘鑰和長期秘鑰的派生秘鑰。Kerberos認為被長期秘鑰加密的數(shù)據(jù)不能在網(wǎng)絡(luò)中傳輸,因為一旦這些被長期秘鑰加密的數(shù)據(jù)包被網(wǎng)絡(luò)監(jiān)聽者截獲,在理想條件下,只要時間充足,是可以通過計算獲得該秘鑰的。Kerberos使用短密匙或長期密匙的派生密匙進行加密,短期密匙有生命周期,即使被加密的數(shù)據(jù)包被黑客截獲把密匙計算出來,密匙早已過期。而長期密匙的派生密匙往往是對長期密匙進行哈希運算。

    1.2 認證過程

    認證過程可分為三個階段: AS(Authentication Service) Exchange、TGS(Ticket Granting Service)Exchange、CS(Client/Server )Exchange,原理如圖2所示。

    (1) AS Exchange:KDC中的Authentication Service實現(xiàn)對Client身份的確認,并頒發(fā)給該Client一個TGT(Ticket Granting Ticket)。具體過程如下:

    Client→AS:KC{IDC||IDTGS}。

    Client向KDC的AS發(fā)送請求, 為了確保僅限于自己和KDC知道,Client使用自己的KC對其進行加密(KDC可以通過數(shù)據(jù)庫獲得該KC進行解密)。請求包含Client的基本身份信息IDC以及TGS的基本信息IDTGS等。

    AS→ Client:KC{SKC,TGS||IDTGS},TGT。

    其中TGT=KTGS{SKC,TGS||IDC||IPC||ETTGT}。驗證通過之后,AS將一份回復信息發(fā)送給Client。該信息主要包含兩個部分:KC加密過的SKC,TGS和被KTGS加密的票據(jù)授權(quán)票據(jù)(TGT),其內(nèi)容包括SKC,TGS、Client信息IDC、IPC以及到期時間ETTGT等。

    (2) TGS Exchange:

    Client→TGS:{TGT||Authenticator_1}。

    TGT是前一步驟中AS發(fā)送給Client的,此時由Client轉(zhuǎn)發(fā)給TGS。Authenticator_1=SKC,TGS{IDC||TS||IDS}用以證明TGT的擁有者的身份,所以它用SKC,TGS加密,其中包括Client的ID信息和時間戳TS,時間戳的作用是防止黑客截獲數(shù)據(jù)包偽造合法用戶,超過時間閾值的數(shù)據(jù)包無效。最終Client把要訪問的應(yīng)用服務(wù)器IDS、TGT和Authenticator_1一起加密發(fā)送給TGS。

    TGS→Client:SKC,TGS{SKC,S},KS{Ticket}。

    Ticket=KS{SKC,S||IDC||IPC||ETTicket}

    TGS收到Client發(fā)來的信息,由于它沒有SKC,TGS故不能對Authenticator_1進行解密,只能先用自己的秘鑰KTGS對TGT解密,得到SKC,TGS、IDC、IPC、ETTGT,如果ETTicket在有效時間內(nèi),則繼續(xù)進行。TGS使用得到的SKC,TGS對Authenticator_1解密,所得結(jié)果與TGT結(jié)果比對,IDC相同則通過驗證。

    此后,TGS會產(chǎn)生Client與應(yīng)用服務(wù)器的會話密匙SKC,S和票據(jù)服務(wù)Ticket,它們分別被SKC,TGS與KS加密。票據(jù)服務(wù)主要內(nèi)容包括會話秘鑰SKC,S、用戶ID、IP以及Ticket的有效期。TGS會將這兩份加密信息同時發(fā)送給Client。

    (3) CS Exchange:

    Client→Sever:Ticket,Authenticator_2。

    Authenticator_2=SKC,S{IDC||TS}。

    Client收到后,先用SKC,TGS對第一個信息解密,得到SKC,S,再用SKC,S對用戶信息和時間戳加密,得到Authenticator_2,連通從TGS收到的Ticket一并發(fā)送給應(yīng)用服務(wù)器Server。endprint

    Sever→ Client:SKC,S{TS+1}。

    服務(wù)器收到Client的信息后,先用自己的KS對Ticket解密,得到SKC,S和相關(guān)的客戶信息,檢驗Ticket是否在有效時間ETST內(nèi),有效則再用SKC,S對Authenticator_2解密,比較二者IDC是否一致,一致則通過驗證。通過以上步驟,Server確認Ticket的持有者為合法客戶端,二者會使用SKC,S加密通訊數(shù)據(jù),保障數(shù)據(jù)安全性。

    2 協(xié)議安全性分析

    Kerberos協(xié)議雖有嚴格的認證過程,但有部分不足。

    2.1 會話秘鑰的安全

    SKX,Y是短期會話秘鑰,有一定的生命周期,因此它往往由設(shè)備根據(jù)某種信息或狀態(tài)自動生成,所以其容易受到猜測或被破解。且該秘鑰是由KDC內(nèi)部的AS和TGS頒布,如果KDC本身安全性不夠,秘鑰也容易被獲取。

    2.2 時間同步問題和重放攻擊

    重放攻擊是入侵者通過重放消息來冒充合法用戶對被攻擊者實施欺騙,往往出現(xiàn)在Client與應(yīng)用服務(wù)器的交互工程中。攻擊者截獲并復制合法用戶的請求信息再一次發(fā)送給應(yīng)用服務(wù)器,服務(wù)器仍然認為這是合法的請求。Kerberos并不是毫無辦法,它有時間戳項,但時間戳要求分布系統(tǒng)內(nèi)部時鐘高度同步,這種高度同步又十分困難。因此,在一定時間范圍內(nèi),服務(wù)器接受相同的請求信息,這就給了非法用戶可乘之機。綜上,僅僅根據(jù)時間戳來防止重放攻擊,還是有些薄弱。

    2.3 Kerberos在對通信數(shù)據(jù)進行加密時,采用了對稱秘鑰體制,即加密和解密都是同一秘鑰

    這種加密方式簡單易行但安全性不高,目前在安全要求較高的領(lǐng)域普遍采用非對稱密碼體制,即公鑰和私鑰。非對稱秘鑰克服了對稱秘鑰的缺點,通信之前雙發(fā)不必再進行秘鑰交換,避免了秘鑰交換過程中的安全問題[4]。

    3 Kerberos協(xié)議改進

    3.1 改進原理

    傳統(tǒng)改進方式中,隨機數(shù)和時間戳相結(jié)合是防止重放攻擊的重要方法,超過時間戳范圍的視為非法請求,不超過時間戳閾值但隨機數(shù)相同也視為非法請求。在本文中,隨機數(shù)也和秘鑰鏈結(jié)合,使隨機數(shù)除了在防重放攻擊中發(fā)揮作用外,也加強SKX,Y的秘鑰強度。當TGS和Server收到隨機數(shù)后,其解密用的SKX,Y不再是其本身,而是其經(jīng)過隨機數(shù)次的哈希運算得到的秘鑰。即便SKX,Y被猜出,無法得知隨機數(shù)也不能解密。

    增設(shè)公鑰存儲中心(Public Key)存儲公鑰,私鑰由擁有者自己管理。當需要某個實體的公鑰時,可以向公鑰存儲中心發(fā)出申請。由于公鑰本身就對外公開,顧此過程無需加密。以公鑰KPUB和私鑰KPRI代替原密匙KX,原理如圖3所示。

    3.2 改進后訪問步驟(此過程省略各實各部分請求公鑰過程,隨機數(shù)為i)

    (1) AS Exchange:

    Client→AS:KPUB.AS{IDC||IDTGS||i}。

    Client請求了AS、TGS、Server的公鑰,并用AS的公鑰對IDC、IDTGS、i等進行加密。

    AS→ Client:KPUB.C{SKC,TGS||IDTGS||TGT}

    TGT = KPUB.TGS{SKC,TGS||IDC||IPC|| ETTGT||i}。

    AS收到Client請求后用自己的私鑰解密,并用Clinet的公鑰加密Client與TGS的會話秘鑰、TGT以及TGS的信息等。其中TGT和未改動之前的TGT相比增加了隨機數(shù)選項,該隨機數(shù)是對KPUB.AS{IDC||IDTGS||i}解密得到的。

    (2) TGS Exchange:

    Client→TGS:{TGT||Authenticator_1}

    TGT=K PUB.TGS{SKC,TGS||IDC||IPC||ETTGT||i},

    Authenticator_1=SKC,TGS{IDC||TS||IDS}

    Client用自己私鑰解密AS發(fā)來的信息得到了和TGS的通信秘鑰,并用該會話秘鑰經(jīng)過i次哈希運算的結(jié)果SKC,TGS加密Authenticator_1,連同TGT一起發(fā)送給TGS。

    TGS→ Client:SKC,TGS{SKC,S||IDS|| Ticket }

    Ticket=KPUB,S{SKC,S||IDC||IPC||ETTicket||i}

    TGS收到后,用自己公鑰對TGT解密,得到SKC,TGS,驗證是否在有效時間內(nèi)。驗證通過則取出隨機數(shù)i對SKC,TGS進行i次哈希運算得解密秘鑰SKC,TGS,然后解密Authenticator_1比對IDC認證Client合法性,比對成功則用Server的公鑰加密SKC,S、IDC、IPC、ETTicket和隨機數(shù)i等信息。最后回復Client 通過SKC,TGS加密的數(shù)據(jù)和用KPUB.S加密的票據(jù)Ticket。

    (3) CS Exchange:

    Client→Sever:Ticket,Authenticator_2。

    Authenticator_2=SKC,S{IDC||TS}。

    Client用SKC,TGS解密數(shù)據(jù)包得到Ticket和SKC,S,并對SKC,S進行i次哈希運算得到SKC,S,然后用其加密Client基本信息IDC、時間戳選項以及序號生成Authenticator_2包。最后將Authenticator_2和Ticket一同發(fā)給Server。

    Sever→ Client:SKC,S{i+1}

    Server收到數(shù)據(jù)后首先用自己的私鑰KPRI,S對Ticket解密,得到SKC,S、IDC、IPC、ETST和隨機數(shù)i,比對是否在有效時間內(nèi),成功則繼續(xù)比對隨機數(shù)i,i相同則認為重發(fā)攻擊不做理會,不同則認為是合法請求。同理,Server將SKC,S做i次哈希運算得到SKC,S,用其解密Authenticator_2,得到IDC后和Ticket中的IDC對比,相同通過驗證,回復i+1,之后雙方可用SKC,S通信。

    3.3 改進后安全性分析

    采用非對稱秘鑰和秘鑰鏈的主要目的是加強秘鑰強度,其主要目的是使最終解密秘鑰不出現(xiàn)在公網(wǎng)上[5]。非對稱秘鑰中沒有私鑰無法解密,本文采用的秘鑰鏈和隨機數(shù)結(jié)合的方法沒有正確的隨機數(shù)即使破解會話秘鑰也無法破解數(shù)據(jù)包。當然,由于引入了非對稱秘鑰,認證完成后,Client和Server可以使用SKC,S加密通信數(shù)據(jù),也可以使用對方的公鑰。由于Client可能發(fā)送重復請求,為了使正常請求不被視為重放攻擊,Client發(fā)送的重復請求信息必須不完全相同,為此引入隨機數(shù),有效期內(nèi)的請求信息中的隨機數(shù)不能相同。

    4 總結(jié)

    良好的認證機制可以提前扼殺非法入侵,是保護系統(tǒng)的第一道防線。文中分析了Kerberos的秘鑰強度和防重放攻擊的不足。非對稱秘鑰在Kerberos中的應(yīng)用已經(jīng)很成熟,不再贅述。隨機數(shù)是防范重放攻擊的常用方法,本文將隨機數(shù)的作用進一步延伸,使隨機數(shù)和秘鑰鏈結(jié)合,進一步加強了秘鑰強度,使真正會話秘鑰不出現(xiàn)在網(wǎng)絡(luò)中。如果隨機數(shù)過大,秘鑰鏈的哈希運算會比較復雜,可以使隨機數(shù)對某個數(shù)取余,減少運算量。當然,Kerberos安全協(xié)議還有待進一步提高,例如時間同步和系統(tǒng)本身對主動攻擊的抵抗能力[6]。

    參考文獻:

    [1] 劉壽臣. Kerberos網(wǎng)絡(luò)認證系統(tǒng)的關(guān)鍵技術(shù)分析[J]. 電腦知識與技術(shù), 2016, 12(6):69-70.

    [2] Jan De Clercq. Kerberos[M].Elsevier Inc.:2007.

    [3] 陳燦, 李俊. Kerberos協(xié)議的形式化分析[J]. 微電子學與計算機, 2006, 23(6):49-51.

    [4] 邵葉秦, 涂中群, 張小榮. Kerberos 5協(xié)議的安全分析[J]. 電腦知識與技術(shù), 2010, 6(2X):1319-1320.

    [5] 游新娥,胡小紅. Kerberos身份認證協(xié)議分析與改進[J]. 計算機系統(tǒng)應(yīng)用,2012,(04):216-219.

    [6] 楊曉婕. Kerberos協(xié)議安全性分析[J]. 計算機安全, 2013(6):17-21.endprint

    猜你喜歡
    身份認證
    基于標識的動態(tài)口令系統(tǒng)
    軟件(2016年6期)2017-02-06 23:54:28
    云電子身份管理與認證系統(tǒng)中的關(guān)鍵技術(shù)優(yōu)化改進
    校園網(wǎng)云盤系統(tǒng)存在的安全問題及對策
    基于指紋身份認證的固定通信臺站干部跟班管理系統(tǒng)設(shè)計
    基于PKI與基于IBC的認證技術(shù)比較
    基于PKI技術(shù)的企業(yè)級云存儲出錯數(shù)據(jù)證明的研究
    信息系統(tǒng)身份認證的分析與研究
    Kerberos身份認證協(xié)議的改進
    科技視界(2016年11期)2016-05-23 08:31:38
    基于USB存儲設(shè)備的透明監(jiān)控系統(tǒng)
    科技視界(2016年9期)2016-04-26 12:25:25
    基于鼠標行為的電子商務(wù)中用戶異常行為檢測
    治县。| 镇平县| 和林格尔县| 天津市| 六枝特区| 赤水市| 衡东县| 惠东县| 茂名市| 阿城市| 浮山县| 昭觉县| 枞阳县| 大邑县| 布尔津县| 灵璧县| 泸定县| 道真| 清流县| 吉木萨尔县| 宣恩县| 玛纳斯县| 永清县| 乌兰县| 巩留县| 福安市| 巨野县| 临颍县| 宜君县| 新化县| 裕民县| 建水县| 汝阳县| 北流市| 贵州省| 互助| 凭祥市| 白银市| 二连浩特市| 织金县| 太白县|