基于橢圓曲線密碼體制的網(wǎng)絡(luò)身份認(rèn)證系統(tǒng)研究
(作者未知) 2009/6/30
(接上頁(yè))難的。因此H無(wú)法得到A、B間傳送的明文信息。基于橢圓曲線的密碼體制如圖1所示。
二、基于橢圓曲線密碼體制的網(wǎng)絡(luò)身份認(rèn)證系統(tǒng)
由于網(wǎng)絡(luò)具有信息量大的特點(diǎn),其主要威脅來(lái)自于非授權(quán)用戶的非法訪問(wèn),因此它對(duì)數(shù)據(jù)完整性的要求很高,需要最快的速度提供最高的安全性,保證信息的機(jī)密性、完整性和有效性。網(wǎng)絡(luò)身份認(rèn)證是依靠用戶賬號(hào)、口令或者生物特征等信息來(lái)實(shí)現(xiàn)的,這些認(rèn)證方法在某種程度上存在著安全隱患,如賬號(hào)、口令或指紋特征信息在存儲(chǔ)、傳輸過(guò)程中可能被截取、被篡改等。在身份認(rèn)證系統(tǒng)中,起關(guān)鍵作用的是其中的加密體系。本文設(shè)計(jì)的身份認(rèn)證系統(tǒng)中,用戶首先要通過(guò)認(rèn)證模塊進(jìn)行注冊(cè),注冊(cè)成功后,獲得經(jīng)過(guò)系統(tǒng)認(rèn)證中心CA簽名的公鑰和私鑰。用戶公鑰和CA的公鑰都是公開(kāi)信息,用戶的私鑰只有用戶本人知道,由用戶自己保存。
1.系統(tǒng)的總體結(jié)構(gòu)
假設(shè)通信的是A與B雙方,A與B處在同一個(gè)網(wǎng)絡(luò)中,文本加解密采用對(duì)稱算法AES,而密鑰的傳輸與簽名驗(yàn)簽都采用非對(duì)稱算法ECC。系統(tǒng)由服務(wù)器和客戶端兩部分組成,如圖2所示,服務(wù)器端包括代理服務(wù)器、認(rèn)證服務(wù)器、應(yīng)用服務(wù)器;客戶端包括代理客戶端、認(rèn)證客戶端。代理客戶端和代理服務(wù)器共同完成代理功能,認(rèn)證客戶端和認(rèn)證服務(wù)器共同完成身份認(rèn)證功能。
系統(tǒng)模型主要工作流程如下:
(1)將用戶信息存放在系統(tǒng)數(shù)據(jù)庫(kù)中;
(2)客戶端應(yīng)用程序通過(guò)客戶端代理向認(rèn)證模塊請(qǐng)求申請(qǐng)登錄認(rèn)證;
(3)認(rèn)證模塊檢查用戶身份并完成認(rèn)證過(guò)程,向客戶端發(fā)放應(yīng)用服務(wù)器的Ticket;
(4)客戶端向安全代理服務(wù)器請(qǐng)求獲取訪問(wèn)策略數(shù)據(jù);
(5)安全代理服務(wù)器讀取訪問(wèn)控制表中對(duì)應(yīng)的策略控制記錄,確定用戶是否有權(quán)限訪問(wèn)相應(yīng)的應(yīng)用服務(wù)器資源;
(6)確定用戶有權(quán)訪問(wèn)后,連接到相應(yīng)的應(yīng)用服務(wù)器;
(7)客戶端與應(yīng)用服務(wù)器間建立起了一條加密通道,雙方通過(guò)此通道來(lái)交換數(shù)據(jù)。
2.系統(tǒng)功能模塊及實(shí)現(xiàn)
(1)認(rèn)證模塊。認(rèn)證模塊主要實(shí)現(xiàn)身份認(rèn)證、密鑰分發(fā)等功能,采用基于公鑰密碼體制的改進(jìn)Kerberos認(rèn)證協(xié)議來(lái)對(duì)用戶進(jìn)行身份認(rèn)證,是模型的核心部分。
認(rèn)證模塊由認(rèn)證客戶端模塊、認(rèn)證服務(wù)器端模塊組成。當(dāng)客戶端代理接到來(lái)自客戶端的任意請(qǐng)求時(shí),先判斷是否為客戶端代理啟動(dòng)后接收到的第一個(gè)請(qǐng)求,如果是,則客戶端代理必須先去認(rèn)證服務(wù)器進(jìn)行身份認(rèn)證。
①認(rèn)證客戶端。認(rèn)證客戶端主要包括六個(gè)模塊,分別為:AS請(qǐng)求模塊、TGS請(qǐng)求模塊、GSSAPI接口模塊、Kerberos GSSAPI模塊、票據(jù)列出模塊、票據(jù)銷毀模塊。
AS請(qǐng)求模塊主要功能是用戶獲取TGS的票據(jù)TGT。當(dāng)用戶進(jìn)行身份認(rèn)證時(shí),AS請(qǐng)求模塊被調(diào)用,從AS服務(wù)器中獲取TGT。AS請(qǐng)求模塊包括獲取Ticket模塊和報(bào)錯(cuò)子模塊。通過(guò)調(diào)用ECC加密模塊,對(duì)每條信息進(jìn)行必要的安全處理;TGS請(qǐng)求模塊主要用于獲得應(yīng)用服務(wù)器的票據(jù)。在調(diào)用TGS請(qǐng)求之前,客戶端必須己經(jīng)得到TGT,以便用TGT向TG服務(wù)器證明自己的身份。GSSAPI接口模塊用于實(shí)現(xiàn)與客戶端代理的接口,客戶端代理調(diào)用GSSAPI接口模塊來(lái)進(jìn)行身份認(rèn)證;Kerberos GSSAPI模塊被GSSAPI接口模塊調(diào)用,真正實(shí)現(xiàn)建立安全上下文,報(bào)文保護(hù)級(jí)別協(xié)商以及對(duì)每條報(bào)文的保護(hù)。通過(guò)調(diào)用Kerberos GSSAPI模塊,用戶獲得與代理服務(wù)器進(jìn)行加密通信的會(huì)話密鑰。票據(jù)列出模塊用于列出保留在緩存中的主要實(shí)體名和當(dāng)前所有活動(dòng)票據(jù)的內(nèi)容。票據(jù)銷毀模塊用于銷毀所有的票據(jù),以防止他人竊取票據(jù),當(dāng)用戶斷開(kāi)與服務(wù)器的連接時(shí),系統(tǒng)會(huì)調(diào)用該模塊來(lái)銷毀用戶的票據(jù)。
②認(rèn)證服務(wù)器。認(rèn)證服務(wù)器模塊主要包括KDC模塊、GSSAPI接口模塊Kerberos GSSAPI模塊以及其他輔助模塊。
KDC模塊主要完成用戶身份認(rèn)證和票據(jù)分發(fā)等功能,包括AS請(qǐng)求處理子模塊和TGS請(qǐng)求處理子模塊。它與認(rèn)證客戶端的AS請(qǐng)求模塊和TGS請(qǐng)求模塊一起工作,來(lái)完成身份認(rèn)證和票據(jù)分發(fā)功能;GSSAPI接口模塊用于實(shí)現(xiàn)與代理服務(wù)器的接口,代理服務(wù)器調(diào)用GSSAPI接口模塊來(lái)進(jìn)行身份認(rèn)證,而GSSAPI接口模塊則調(diào)用Kerberos GSSAPI,用于真正實(shí)現(xiàn)建立安全上下文,報(bào)文保護(hù)級(jí)別協(xié)商以及對(duì)每條報(bào)文的保護(hù)。
(2)代理模塊。代理模塊在模型中主要實(shí)現(xiàn)客戶端應(yīng)用程序通過(guò)代理客戶端、代理服務(wù)器訪問(wèn)應(yīng)用服務(wù)器的功能,通過(guò)采用Socks5協(xié)議實(shí)現(xiàn)。
代理模塊分別在客戶端和應(yīng)用服務(wù)器端加載一個(gè)代理軟件?蛻舳舜斫邮芸蛻舳说乃姓(qǐng)求,經(jīng)處理后轉(zhuǎn)發(fā)給服務(wù)器端代理?蛻舳舜硎(未完,下一頁(yè))
|