張婷 張鑫 張新剛
摘 要:由于無線網絡與移動設備的特點,無線網絡安全協(xié)議的執(zhí)行環(huán)境變得更為復雜。對比了網絡安全協(xié)議WAP、IEE802.1X、EAP、WPA認證協(xié)議和Kerberos協(xié)議。Kerberos協(xié)議在身份委派和身份驗證方面較為高效,成為常用的無線網絡安全協(xié)議。Petri網作為信息化建模仿真的常用工具,能以圖形化、層次化的方式描述系統(tǒng)。在分析Kerberos協(xié)議工作原理的基礎上,采用Petri網工具CPNTools對Kerberos協(xié)議進行建模與仿真,采用圖形化方式,直觀地表達了該協(xié)議特點。
關鍵詞:Kerberos協(xié)議;無線網絡安全協(xié)議;Petri網
DOI:10.11907/rjdk.172290
中圖分類號:TP309 文獻標識碼:A 文章編號:1672-7800(2017)009-0181-04
Abstract:Due to the characteristics of wireless networks and mobile devices, wireless security protocol execution environment becomes more complex. Network security protocols such as WAP, IEE802.1X, EAP, WPA authentication protocol and Kerberos protocol are compared. Kerberos protocol is efficient in terms of identity, delegation, and authentication, so it is commonly used in wireless network security. Petri net is a common tool for information modeling and simulation. By Petri net, system can be described graphically and hierarchically. After analyzing the working principle of Kerberos protocol, Petri nets tools named CPNTools is employed to model and simulate Kerberos protocol.The characteristics of this protocol are graphically and visually expressed.
Key Words:kerberos protocol; wireless network security protocol; petri net
Kerberos協(xié)議
1.1 Kerberos協(xié)議簡介
Kerberos協(xié)議是一個在局域網內利用對稱加密算法進行用戶身份認證的協(xié)議[1]。在該認證方式下,用戶只需正確地輸入用戶名和密碼一次,即可獲得電子通行證,從而訪問多個相應服務。為了防止網絡實體受到竊聽、重放等攻擊,Kerberos協(xié)議采用“客戶—服務器”模型交互驗證的方式執(zhí)行協(xié)議,以保護數據完整性。
Kerberos協(xié)議的工作原理如圖1所示。具體過程為:①首先,Client通過Workstation進行登錄,輸入用戶ID和密碼傳送給AS;②AS得到Workstation轉譯的用戶密鑰之后,檢查ID有效性,并向Workstation傳送一個TGS票據,Workstation得到許可后授權服務;③Client通過Workstation把已得到的TGS票據發(fā)送給TGS,TGS認證后向Workstation提供一個S票據給Client;④最后Client通過Workstation向Server提供已獲得的S票據,得到Server認證后,即可訪問該服務器提供的服務。
1.2 網絡安全協(xié)議對比
在計算機網絡應用中,為了提高網絡信息的安全性,通常采用的網絡安全協(xié)議有WAP[2]、IEEE802.1X[3]、
EAP[4]、WPA[5]和Kerberos協(xié)議。其分別使用的核心技術與應用特點如表1所示,可以看出Kerberos協(xié)議相比其它協(xié)議具有使用方便、易于實施的特點,因而Kerberos協(xié)議應用廣泛,例如微軟Windows Server 2003操作系統(tǒng),Internet上的FreeBSD以及Linux服務器均使用其進行安全認證。
2 Petri網
Petri網是一種圖論工具,適合對離散事件動態(tài)系統(tǒng)建模[7]。它以圖形化的方式描述系統(tǒng),使系統(tǒng)形象化??梢越⒎謱覲etri網,用于描述分布式遞進系統(tǒng)的各種運行特性。
2.1 Petri網新進展
時間Petri網:通過附加節(jié)點的時間因素,即時間庫所和時間變遷,使模型具有實時分析能力。
條件/事件網(包括謂詞/變遷網):通過在弧或變遷節(jié)點上加入變遷使能的條件,從而增強模型的邏輯分析能力。
受控Petri網:在變遷節(jié)點上增加控制庫所,使模型能直接用于表達控制活動。
2.2 Petri網應用
Petri網不僅可以描述系統(tǒng)的靜態(tài)特征,便于人們理解,還可以描述動態(tài)特性,揭示模型中的有界性、可達性、合理性等。因此,Petri網的應用十分廣泛,主要用于以下幾個方面[8]:①通信協(xié)議驗證;②計算機通訊網絡性能評價;③軟件工程中著色Petri網可用于軟件系統(tǒng)的建模與分析;④AI中用知識處理Petri網建立推理的形式化模型,表達各活動間的關系;⑤FMS的建模、分析和控制;⑥系統(tǒng)可靠性分析,如硬件可靠性和軟件可靠性分析;⑦合成服務的安全分析和驗證。endprint
3 Kerberos協(xié)議建模
3.1 Kerberos的CPN模型
結合Kerberos協(xié)議工作原理,采用Petri網工具CPNTools對Kerberos協(xié)議進行層次化建模。Kerberos身份認證機制主要用于提供訪問網絡服務的票據(Ticket),票據包括認證符(Authenticator)、已加密數據(含加密密碼)[9]。Kerberos所用票據如表2所示。
Kerberos認證過程有3個步驟:①認證服務消息交換獲得票據許可票據;②服務授權票據消息交換,獲取服務授權票據;③客戶/服務器認證消息交換,獲取服務[10]。
建立的Kerberos協(xié)議頂層模型如圖2所示,在執(zhí)行過程中有5個變遷:變遷Sender表示客戶端向密鑰分發(fā)中心(KDC)發(fā)送一個Kerberos身份認證服務請求,以期
獲得TGT(許可票據);變遷Network表示KDC發(fā)送加密的TGT和登錄會話密鑰;變遷Receive表示用戶為有效用戶,生成登錄會話密鑰;變遷Success表示客戶端向KDC請求訪問服務器的服務票證;變遷Reject表示用戶為非法用戶,結束會話。
庫所A表示客戶端的身份認證服務請求,庫所B1表示許可票據,庫所B2表示無效票據,庫所C1表示請求服務票據,庫所C2表示無效服務票據,庫所D表示服務票據,庫所Received1表示加密的服務會話密鑰和服務票據,Received2表示無效的會話密鑰。
stop表示非法票據,succ表示服務票據,用INT*DATA表示許可票據,用INT*INT表示會話密鑰。
3.2 Sender的CPN模型
Sender的CPN模型如圖3所示,客戶端嘗試連接Kerberos身份認證服務端端口,監(jiān)測到端口開放,則客戶端將自己的ID和IP信息打包,并使用用戶自己的密鑰K1進行加密,提交給Kerberos認證服務端。
變遷SendPacket表示發(fā)送Kerberos身份認證服務請求,變遷ReceiveAcknow表示接收到會話密鑰。庫所Send表示Kerberos身份認證服務請求,庫所NextSend表示接收服務端信息。
3.3 Network的CPN模型
Network的CPN模型如圖4所示。具體過程為:①Kerberos認證服務端接收到ID信息后,解密信息,如果解密失敗,則說明該用戶非法,發(fā)送信息到B2;如果解密成功,Kerberos認證服務器則認為用戶為合法用戶,發(fā)送信息到B1;②在判斷用戶為合法用戶后,Kerberos認證服務端開始向用戶端提供需要訪問的服務系統(tǒng)的授權票據,發(fā)送庫所C1中的授權票據到庫所D;在判斷用戶為非法用戶后,Kerberos認證服務端發(fā)送庫所C2中的無效票據到庫所D。
變遷TransmitPacket表示解密信息,變遷TransmitAcknow1表示接收到授權票據,變遷TransmitAcknow2表示接收到非法票據。
3.4 Receive的CPN模型
Receive的CPN模型如圖5所示。Receive的執(zhí)行過程為:Kerberos用自己的密鑰對用戶的ID和IP打包加密之后,再用用戶的密鑰進行加密,然后回傳至用戶接收。
變遷ReceivePacket表示加密用戶信息,庫所nextToken表示加密包。
3.5 Success的CPN模型
Success的CPN模型如圖6所示。Success表示用戶端從Kerberos認證服務器處獲得的加密信息,先用自己的用戶密鑰對其進行解密。解密成功后,將得到的加密信息與自己需要訪問的服務內容進行打包后,再用自己的密鑰進行加密,提交給Kerberos認證服務端進行身份審核。其執(zhí)行過程如圖6所示。
3.6 Reject的CPN模型
Reject的CPN模型如圖7所示。Reject表示用戶端從Kerberos認證服務器處獲得的加密信息,先用自己的用戶密鑰對其進行解密。若解密失敗,訪問申請中斷,無法對服務進行訪問。
4 結語
本文闡述了Kerberos協(xié)議的工作原理,并且對比了它與WAP、IEEE802.1X、EAP和WPA網絡安全協(xié)議的特點。使用Petri網的圖形化建模工具CPNTools對Kerberos協(xié)議進行建模。將Kerberos協(xié)議的認證過程抽象為Sender、Network、Receive、Success和Reject 5個變遷,建立了協(xié)議的層次化模型,從而直觀地展示了Kerberos協(xié)議用戶身份認證的過程,體現了其在身份委派和身份驗證方面的靈活性。
參考文獻:
[1] 王杰.計算機網絡安全的理論與實踐[M].北京:高等教育出版社,2014.
[2] 張慧媛.移動互聯(lián)網與WAP技術[M].北京:電子工業(yè)出版社,2003.
[3] 謝希仁.計算機網絡[M].第6版.北京:電子工業(yè)出版社,2013.
[4] 杜慧,朱志祥.IEEE802.1x/EAP協(xié)議的研究與改進[J].西安郵電大學學報,2010,15(5):53-56.
[5] 白珅,王軼駿,薛質.WPA/WPA2協(xié)議安全性研究[J].信息安全與通信保密,2012(1):106-108.
[6] 姚傳茂.Kerberos認證系統(tǒng)的研究與改進[D].合肥:合肥工業(yè)大學,2003.
[7] 張昭理.基于Petri網的安全策略分析與驗證方法研究[D].武漢:華中科技大學,2007.
[8] 樂曉波,陳黎靜.Petri網應用綜述[J].交通科學與工程,2004,20(2):51-55.
[9] 齊忠厚.Kerberos協(xié)議原理及應用[J].計算機工程與科學,2000,22(5):11-13.
[10] 王曉剛,盧強華.Kerberos認證系統(tǒng)的分析和改進[J].武漢紡織大學學報,2002,15(5):95-98.
(責任編輯:黃 ?。〆ndprint