前言:本站為你精心整理了網絡身份認證管理范文,希望能為你的創作提供參考價值,我們的客服老師可以幫助你提供個性化的參考范文,歡迎咨詢。
[摘要]本文介紹了橢圓曲線密碼體制和身份認證的相關理論,設計了基于橢圓曲線密碼體制的網絡身份認證系統,給出了系統的總體結構,探討了認證模塊、模塊、加密模塊的實現方法,并且對系統的安全性進行了分析。
[關鍵詞]橢圓曲線加密網絡身份認證
隨著互聯網和信息技術的不斷發展,電子貿易和網上交易已經逐漸成為企業發展的新趨勢,越來越多的人通過網絡進行商務活動,同時也為企業創造了高效率和高效益的商務環境,其發展前景十分誘人,但有的黑客假冒合法用戶的身份在網上進行非法操作,使合法用戶或社會蒙受巨大的損失。身份認證是身份識別(identification)和身份認證(authentication)的總稱,是查明用戶是否具有所請求資源的存儲和使用權,即系統查核用戶的身份證明的過程。身份認證的關鍵是準確地將對方辨認出來,同時還應該提供雙向認證,即相互證明自己的身份。身份認證是信息系統的第一道關卡,一旦身份認證系統被攻破,那么系統的所有安全措施將形同虛設。傳統的口令鑒別方案通過核對登錄用戶的二元信息(ID,PW)來鑒別用戶的合法身份,但其安全性極低。當前許多應用系統都使用的“用戶名+口令”的身份認證方式的安全性非常弱,用戶名和口令易被竊取,即使口令經過加密后存放在口令文件中,一旦口令文件被竊取,就可以進行離線的字典式攻擊。有的系統也采用基于智能卡或生物特征的身份認證方式,但是系統的研制和開發費用昂貴,只適用于安全性要求非常高的場合。本文設計的基于橢圓曲線密碼體制的網絡身份認證系統,適用于成本不高但具有較高安全性的系統。該系統可以抵抗重放攻擊并避開時間戳漏洞,具有安全性高、速度快、靈活性好、適用性強的特點。
一、橢圓曲線密碼體制
橢圓曲線加密法ECC(EllipticCurveCryptography)是一種公鑰加密技術,以橢圓曲線理論為基礎,利用有限域上橢圓曲線的點構成的Abel群離散對數難解性,實現加密、解密和數字簽名,將橢圓曲線中的加法運算與離散對數中的模乘運算相對應,就可以建立基于橢圓曲線的對應密碼體制。橢圓曲線是由下列韋爾斯特拉斯Weierstrass方程所確定的平面曲線:
E:y2+a1xy+a3y=x3+a2x2+a4x+a6
橢圓曲線加密算法以其密鑰長度小、安全性能高、整個數字簽名耗時小,使其在智能終端應用中有很大的發展潛力,比如掌上電腦、移動手機等都能有更好的表現。而在網絡中,ECC算法也保證了其協同工作的實時性,使用ECC算法加密敏感性級別較高的數據(如密鑰),速度上能夠滿足大數據量要求,而且安全性高,能很好地保障系統的安全。
由于橢圓曲線密碼體制的安全性只與橢圓曲線的安全性有關,而橢圓曲線安全性是由ECDLP求解的困難性決定的,因此,為了保證ECDLP是難解的,在選取橢圓曲線的時候除了選擇合適的參數(a,b),使得相應的Weierstrass方程滿足非超奇異橢圓曲線的要求外,還要選取合適的有限域GF(q),使得q滿足#E能被一大素數(≥30位的整數)整除,或q本身就是一個大素數。安全的橢圓曲線也就是能抵抗各種已有攻擊算法攻擊的橢圓曲線。
1.選取安全橢圓曲線時應該遵循的一些原則
(1)E選用非超奇異橢圓曲線,而不選取奇異橢圓曲線、超橢圓曲線以及反常橢圓曲線;
(2)#E不能整除qk-1,1≤k≤20;
(3)當q=P為素數時,#E應為素數,隨機選取橢圓曲線上的一點作為基點;當q=2m時,#E應包含大的素因子,如#E=2n,4n,其中的n是大素數,且m不取合數。隨機選取E上一階為n的點作為基點;
(4)選擇以基點生成循環子域H∈GF(q)上實現ECC,|H|是#E的最大素因子。
2.描述一個利用橢圓曲線進行加密通信的過程
(1)用戶A選定一條橢圓曲線Ep(a,b),并取橢圓曲線上一點作為基點G,選擇一個私有密鑰k,并生成公開密鑰K=kG;
(2)用戶A將Ep(a,b)和點K,G傳給用戶B;
(3)用戶B接到信息后,將待傳輸的明文編碼到Ep(a,b)上一點M,并產生一個隨機整數r(r計算點C1=M+RK;C2=RG;
(4)用戶B將C1、C2傳給用戶A;
(5)用戶A接到信息后,計算C1-kC2,結果就是點M。
因為C1-kC2=M+rK-k(rG)=M+rK-r(kG)=M,再對點M進行解碼就可以得到明文。
在這個加密通信中,如果有一個入侵H,他只能看到Ep(a,b)、K、G、C1、C2而通過K、G求k或通過C1、C2求r都是相對困難的。因此H無法得到A、B間傳送的明文信息。基于橢圓曲線的密碼體制如圖1所示。
二、基于橢圓曲線密碼體制的網絡身份認證系統
由于網絡具有信息量大的特點,其主要威脅來自于非授權用戶的非法訪問,因此它對數據完整性的要求很高,需要最快的速度提供最高的安全性,保證信息的機密性、完整性和有效性。網絡身份認證是依靠用戶賬號、口令或者生物特征等信息來實現的,這些認證方法在某種程度上存在著安全隱患,如賬號、口令或指紋特征信息在存儲、傳輸過程中可能被截取、被篡改等。在身份認證系統中,起關鍵作用的是其中的加密體系。本文設計的身份認證系統中,用戶首先要通過認證模塊進行注冊,注冊成功后,獲得經過系統認證中心CA簽名的公鑰和私鑰。用戶公鑰和CA的公鑰都是公開信息,用戶的私鑰只有用戶本人知道,由用戶自己保存。
1.系統的總體結構
假設通信的是A與B雙方,A與B處在同一個網絡中,文本加解密采用對稱算法AES,而密鑰的傳輸與簽名驗簽都采用非對稱算法ECC。系統由服務器和客戶端兩部分組成,如圖2所示,服務器端包括服務器、認證服務器、應用服務器;客戶端包括客戶端、認證客戶端。客戶端和服務器共同完成功能,認證客戶端和認證服務器共同完成身份認證功能。
系統模型主要工作流程如下:
(1)將用戶信息存放在系統數據庫中;
(2)客戶端應用程序通過客戶端向認證模塊請求申請登錄認證;
(3)認證模塊檢查用戶身份并完成認證過程,向客戶端發放應用服務器的Ticket;
(4)客戶端向安全服務器請求獲取訪問策略數據;
(5)安全服務器讀取訪問控制表中對應的策略控制記錄,確定用戶是否有權限訪問相應的應用服務器資源;
(6)確定用戶有權訪問后,連接到相應的應用服務器;
(7)客戶端與應用服務器間建立起了一條加密通道,雙方通過此通道來交換數據。
2.系統功能模塊及實現
(1)認證模塊。認證模塊主要實現身份認證、密鑰分發等功能,采用基于公鑰密碼體制的改進Kerberos認證協議來對用戶進行身份認證,是模型的核心部分。
認證模塊由認證客戶端模塊、認證服務器端模塊組成。當客戶端接到來自客戶端的任意請求時,先判斷是否為客戶端啟動后接收到的第一個請求,如果是,則客戶端必須先去認證服務器進行身份認證。
①認證客戶端。認證客戶端主要包括六個模塊,分別為:AS請求模塊、TGS請求模塊、GSSAPI接口模塊、KerberosGSSAPI模塊、票據列出模塊、票據銷毀模塊。
AS請求模塊主要功能是用戶獲取TGS的票據TGT。當用戶進行身份認證時,AS請求模塊被調用,從AS服務器中獲取TGT。AS請求模塊包括獲取Ticket模塊和報錯子模塊。通過調用ECC加密模塊,對每條信息進行必要的安全處理;TGS請求模塊主要用于獲得應用服務器的票據。在調用TGS請求之前,客戶端必須己經得到TGT,以便用TGT向TG服務器證明自己的身份。GSSAPI接口模塊用于實現與客戶端的接口,客戶端調用GSSAPI接口模塊來進行身份認證;KerberosGSSAPI模塊被GSSAPI接口模塊調用,真正實現建立安全上下文,報文保護級別協商以及對每條報文的保護。通過調用KerberosGSSAPI模塊,用戶獲得與服務器進行加密通信的會話密鑰。票據列出模塊用于列出保留在緩存中的主要實體名和當前所有活動票據的內容。票據銷毀模塊用于銷毀所有的票據,以防止他人竊取票據,當用戶斷開與服務器的連接時,系統會調用該模塊來銷毀用戶的票據。
②認證服務器。認證服務器模塊主要包括KDC模塊、GSSAPI接口模塊KerberosGSSAPI模塊以及其他輔助模塊。
KDC模塊主要完成用戶身份認證和票據分發等功能,包括AS請求處理子模塊和TGS請求處理子模塊。它與認證客戶端的AS請求模塊和TGS請求模塊一起工作,來完成身份認證和票據分發功能;GSSAPI接口模塊用于實現與服務器的接口,服務器調用GSSAPI接口模塊來進行身份認證,而GSSAPI接口模塊則調用KerberosGSSAPI,用于真正實現建立安全上下文,報文保護級別協商以及對每條報文的保護。
(2)模塊。模塊在模型中主要實現客戶端應用程序通過客戶端、服務器訪問應用服務器的功能,通過采用Socks5協議實現。
模塊分別在客戶端和應用服務器端加載一個軟件。客戶端接受客戶端的所有請求,經處理后轉發給服務器端。客戶端首先與服務器建立一個TCP連接,通常SOCKS端口為1080,通過安全隧道,服務器認證并接受所有來自客戶端軟件的通信。若身份得以認證,則安全服務器將請求遞交應用服務器,處理請求后并將結果返回安全服務器,安全服務器將此結果返回給客戶端。
安全服務器在確認客戶端連接請求有效后接管連接,代為向應用服務器發出連接請求,安全服務器應根據應用服務器的應答,決定如何響應客戶端請求,服務進程應當連接兩個連接,客戶端與服務進程間的連接、服務進程與應用服務器端的連接。為確認連接的唯一性與時效性,進程應當維護連接表或相關數據庫。安全服務器為所有網絡通信提供了一個安全隧道,在建立通道的過程中,存在用戶認證的過程。用戶經過認證和原始協議請求,通過GSSAPI建立的安全隧道傳送。
(3)加密模塊。加密模塊在系統中主要完成對數據的加解密處理,通過調用橢圓曲線加密算法具體實現。模型中采用ECIES加解密方案,具體實現過程采用borZoi算法庫。borZoi是個免費的C++橢圓曲線加密庫,含有完整的源代碼,提供了定義在特征值為2的有限域上的算法,提供了加密模塊。
三、系統安全性分析
系統提供了應用層的安全解決方案,可作為網絡的授權訪問控制中心,提供用戶到應用服務器的訪問控制服務。基于橢圓曲線加密法的網絡身份認證,用戶可以采用較短的密鑰長度來實現較高的安全性,這樣既有便于用戶的記憶也提高了服務器的計算速度,從而將大大縮短登錄時間。在橢圓曲線密碼體制中,橢圓曲線Ep(a,b)中p、a、b的任何一個數字改變就產生新橢圓曲線方程,這樣既可為用戶提供豐富的選擇性也可以為服務器節約更廣闊的存儲空間,同時確保網絡信息的保密性、完整性和可用性。
本文通過分析橢圓曲線密碼體制,建立了網絡身份認證系統模型,該模型采用軟硬件協同的方式,基于混合加密體制,使用速度快而安全性高的ECC算法進行加解密、簽名與驗證簽名,對網絡的信息建立起良好的保護的屏障,能夠很好地抵抗重放攻擊、猜測攻擊、網絡竊聽攻擊,整個網絡身份認證方案簡單有效。
參考文獻:
張凌杰:基于企業網身份認證系統的模型研究[J].福建電腦,2008,(5):109~110