劉洪偉 韓曉靜 余堃 邵鄒 韓曉峰
摘 要:為了解決網絡環境下的身份認證問題,在系統分析常見的身份認證技術基礎上,給出一個基于公鑰的身份認證系統實例,介紹了其部署模式和所采用的安全協議進行,相關成果可作為信息網絡安全防護體系建設的參考。
關鍵詞:身份認證技術;信息安全;公鑰基礎設施
中圖分類號:TP393.08 文獻標識碼:A 文章編號:2095-7394(2017)02-0060-04
在開放式的網絡環境中,身份認證指的是用戶身份的確認技術,它是網絡安全的第一道防線,也是最重要的一道防線。網絡中的各種應用和計算機系統都需要通過身份認證來確認用戶的合法性然后確定這個用戶的個人數據和特定權限[1]。
網絡安全存在各種形式的威脅,加密技術可以保證網絡中數據傳輸的機密性,防止被動攻擊,而僅有機密性還不能保證數據傳輸的安全性。例如,在實際應用中,信息系統內機密信息的授權訪問,首要的問題就是確認訪問者是誰,才能確定其權限,完成訪問控制;陌生用戶A和B之間雖然可以有一條安全的秘密信道,但未解決對方是誰的情況下,機密的數據就有可能傳送給錯誤的對象,造成系統的異常。
這類確認實體身份的技術就是身份認證技術,身份認證對抗的主要安全威脅是實體身份的“冒充”攻擊和實體標識的“重放”攻擊,其根本目的是為了區分實體身份,防止其它實體占用被認證實體的身份。所以,要解決實體身份的鑒別問題,應滿足以下目標:
(a)身份認證性:即對于誠實方A和B而言,A通過成功的證明自己的身份,同時B成功的接受A的身份。
(b)不可傳遞性:B不能用A的身份信息向第三方C認證A的身份。
(c)不可偽造性:任何不同于A的主體C執行協議擔當A的角色并成功完成認證不可能(概率非常小)。
認證是一種重要的、常用的安全服務,被廣泛的應用于各類信息系統中。
1 常見的身份認證技術
目前信息網絡中常見的身份認證技術有基于口令的認證、基于雜湊處理的認證、基于地址的認證、基于生物特征的認證和基于公鑰的認證等。下面對各種身份認證技術進行介紹。
1.1 基于口令的認證方式
口令認證方式是一種常用的主動認證方式,其基本思路為系統中的每一個用戶都共享一個關聯口令,作為用戶與認證系統共享的秘密。在系統啟動時,直接對比用戶輸入的口令與認證系統中前期設定的口令是否一致來判斷用戶的合法性。由于口令實現簡單,在應用系統終端本地認證中被廣泛采用。
但是,基于口令的認證方式存在嚴重的安全隱患。用戶所設定的口令往往容易猜測,容易泄露,攻擊者會首先猜測用戶口令進而獲取系統認證;口令認證容易遭受被動攻擊,攻擊者利用一些技術手段可以從信息系統中獲取口令,比如利用系統存儲的口令文件恢復口令,在系統運行時從內存中dump得到正確的口令等。因此,基于口令的身份認證方式無法滿足信息系統的安全性要求。
1.2 基于雜湊處理的認證方式
所謂雜湊技術就是利用雜湊函數把任意長的輸入字符串轉化為定長的輸出字符串的一種方法,又稱哈希技術或信息摘要技術,在信息的保密性、完整性、確認性等方面發揮了重要的作用[2]。
基于雜湊處理的身份認證方式,其基本思想是利用雜湊函數的密碼學性質對用戶的口令進行雜湊函數的處理。在信息系統中,系統存儲用戶口令的雜湊值,當用戶登錄時,用戶輸入的口令經過雜湊變換后傳遞到系統進行比對,以確定用戶是否合法。
此種認證方式的安全性依賴于雜湊函數的安全性,如果雜湊函數安全性高,則通過破譯雜湊函數摘要逆向推出口令,或是尋找雜湊值碰撞在計算上是不可行的,具有一定的安全性。但現有的雜湊算法的安全性沒有在數學上證明,有可能存在安全隱患,基于雜湊處理的典型代表是Windows操作系統,目前Windows操作系統的本地用戶賬戶口令字及域賬戶口令字都是先進行128位雜湊處理,再把處理結果分別保存于安全賬戶數據管理器(SAM)或活動目錄(AD)中,雖然在Windows運行期間內核對SAM文件加上了一個持久性的文件鎖,即使是Administrator賬戶也無法直接讀取SAM,但非法用戶可以從內存中以dump方式將密文提取,并進一步進行離線暴力破解。Windows網絡身份認證是由系統LSASS服務的Netlogon模塊主導完成,Windows客戶端訪問遠程Windows服務器資源時,客戶端LSASS服務的Netlogon模塊會與服務器端的Netlogon進行“質詢-應答式”的身份驗證協議以驗證客戶端的身份。NT4.x版本的Windows使用LANMAN協議來完成這一過程,但LANMAN協議有重大安全弱點,從使用LANMAN協議加密的密文中很容易破解出Windows用戶賬戶口令,因此NT 4.0SP3與5.x早期版本的Windows中使用NTLM協議來代替LANMAN協議,并在NT4.0SP4與5.x大多數版本中升級至NTLMv2。2010年2月,Amplia公司發現MTLM認證協議存在安全漏洞,因此目前Windows在域環境中建議使用在線認證協議Kerberos。但在目前未使用域的網絡環境里,Windows仍依賴NTLM完成網絡身份認證,這就為攻擊者實施針對Windows的遠程口令監聽與破解提供了可乘之機。基于口令認證的另一典型代表是802.1x認證機制,該認證機制廣泛應用于以太網環境當中,主要采用EAP-MD5認證方式,相關研究表明,MD5加密強度不夠,無法對抗字典攻擊。
此外,基于雜湊處理的認證還不能抵御重放攻擊,即攻擊者只要得到用戶的口令摘要就可以偽裝成用戶。
1.3 基于地址的認證方式
在網絡通信中,通信數據中包括發送者的源地址,這為認證提供了一種機制,網絡服務器可以根據數據分組的源地址進行認證。該方法廣泛應用在數字圖書館或文獻數據庫服務的認證中,另外交換機中IP及MAC地址與端口的綁定也是屬于該類認證方式。但該認證方式安全性較差,攻擊者可以通過偽造IP地址及MAC地址的方式進行攻擊[3]。
1.4 基于生物特征的認證方式
生物特征識別是利用人體的生物特征進行人的身份識別過程,常用的生物特征包括手形、指紋、語音、視網膜、虹膜、臉形、DNA等。生物特征識別的對象是人,而主體是機器系統或者計算機系統。身份識別的特征具有普遍性、唯一性、穩定性、可采集性等特點,在實際應用中,生物的特征的公眾接受度、可信度、不易偽造、設備成本等也是其重要的特點。
基于生物的特征的身份認證是一類新興的身份認證技術,可以作為傳統的口令或身份識別卡認證的替代技術或有效的補充。生物特征可以唯一的確定使用者的身份,偽造非常困難,不容易丟失或忘記,可以克服傳統認證的很多不足,如口令和密鑰容易忘記、容易被攻擊和容易泄露等;標識物品或身份證件等易被盜、易丟失和易被偽造或冒用等。
生物特征通常直接應用于終端認證,在網絡認證時,特征信息傳輸時需要其它安全認證協議支持,否則容易受到重放攻擊[4]。
1.5 基于公鑰的認證方式
利用公鑰技術實現認證的基本思路是由可信第三方為用戶分配私鑰,私鑰唯一,只有用戶本人掌握,充當用戶的秘密信息,任何人如果要驗證用戶身份,可以使用第三方公鑰查詢服務獲取該用戶的公鑰以驗證其身份,完成認證。其中,可信的第三方機構稱為CA,公鑰和私鑰以及其它的用戶信息以證書的形式分發。基于公鑰證書的認證機制得到了廣泛的應用,以CA為核心的公鑰基礎設施(PKI)服務體系已基本建立。
基于公鑰的身份認證技術每個用戶最少可以分配一對公私密鑰對,可以避免大量的對稱密鑰,密鑰量小,可以支持大規模系統;認證協議設計簡單,直接運用簽名技術即可完成身份確認,而且驗證過程安全高效,可以支持在線或離線認證。
2 一種基于公鑰的身份認證系統
從第2部分的分析可以看出,基于公鑰的身份認證方式安全性好、易于部署、密鑰量小、能夠支持大規模應用,與基于口令、基于雜湊和基于生物特征的認證方式相比具有明顯優勢。為解決網絡環境下身份認證問題,我們設計了一種基于公鑰的身份認證系統,該系統能夠對應用系統服務器或服務器群進行基于數字證書的身份認證、粗粒度的訪問控制和報文完整性保護,下面從典型部署、身份認證協議設計兩個方面進行簡要介紹[5-6]。
2.1 典型部署模式
該系統由認證客戶端和網關服務器兩部分構成,網關服務器部署在應用服務器(群)的前端,認證客戶端部署在用戶終端上,配置終端認證設備。
由數字證書系統為網關服務器和認證客戶端制作相應的數字證書,并作為第三方認證機構提供證書服務。首先網關服務器與認證客戶端按照握手協議完成相互之間的認證,建立基于SSL安全認證協議的安全VPN通道。此時,客戶端即可通過VPN通道,經由網關服務器的安全傳輸代理,訪問安全區域內的應用服務器(群)。
同時,網關服務器還為其保護的應用系統提供身份認證和信息服務接口、粗粒度訪問控制、報文完整性保護和安全審計等服務。
2.2 身份認證協議設計
身份認證協議用于確保網絡環境下客戶端到服務端的身份認證安全可靠,基本流程可以分為4個階段(如圖1所示)。
具體描述如下:
(1)建立安全能力階段
即客戶端發出消息等待服務端確認的過程,成功則連接建立。
(2)服務器鑒別和密鑰交換階段
服務器發送證書和消息并要求客戶端進行自身驗證,服務器進入等待響應階段,客戶端準備開始響應。
(3)客戶端鑒別和密鑰交換階段
客戶端發送證書和密鑰向服務器端,并進行驗證。
(4)結束階段
建立連接,客戶端發送Change_Cipher_Spec消息和complete消息。服務器為了響應這兩條消息也將發送Change_Cipher_Spec消息,此時雙方可以正常交互數據。
該系統運用公鑰密碼算法和雜湊算法,通過身份認證協議為業務信息系統提供身份認證和報文認證服務。公鑰密碼算法所依據的數學問題相對于當前計算技術而言是不可解的,能夠抵抗已知針對公鑰密碼算法的邏輯攻擊。
3 結語
高強度的身份認證機制是訪問控制、應用審計等安全防護手段的基礎,也是目前信息網絡中各類應用系統都要解決的共性問題。通過對該身份認證系統的實際使用我們發現,當前信息網絡中的各應用系統大都各自獨立開發應用認證模塊,開發成本高、使用效率低。雖然當前可用的身份認證手段種類繁多,但基于公鑰密碼技術來解決網絡環境下的身份認證問題已被證明是最為安全和有效的一種方式。通過規范身份認證接口標準,以數字證書為基礎,采用安全認證協議,將傳輸層和應用層身份認證信息進行信任鏈傳遞,可大大提高應用系統的身份認證強度,還可為應用系統實現細粒度的訪問控制提供有力支撐。
參考文獻:
[1] 張麗,趙洋.身份認證技術的研究與安全性分析[J],計算機與現代化,2007(5):48-50.
[2] 王育民,劉建偉.通訊網的安全——理論與技術[M].西安電子科技大學出版社,1999.
[3] W·斯托林斯.密碼編碼學與網絡安全原理與實踐[M].5版.北京:電子工業出版社,2013.
[4] 王景中.通信網安全與保密[M].西安:西安電子科技大學出版社,2008.
[5] STRAND L. 802.1X Port-Based Authentication HOWTO [EB/OL].(2004-10-18)[2012-5-27]. http://tldp.org/HOWTO/html_single/8021X-HOWTO/.
[6] Internet Engineering Task Force (IETF). RFC6101: The secure sockets layer (SSL) protocol version 3.0[S]. 2011: August 2011.
The Classification and Application Research of Identity Authentication Technology
LIU Hong-wei , HAN Xiao-jing, YU kun, JIN Xiu , HUANG Jian-guo , HAN Xiao-feng
(NO. 61741 Army Forces, Beijing 100094, China)
Abstract: In order to solve the problem of identity authentication in network environment, in this paper, based on the analysis of common identify authentication technology, a public key-based authentication system is proposed.The paper introduces the deployment pattern and the security protocols used. The relevant results can be used as reference for the construction of information network security protection system.
Key words: identify authentication technology; information security; public key infras
責任編輯 祁秀春