亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

生成密鑰的方法、通信系統(tǒng)、通信設備和服務器的制作方法

文檔序號:7660048閱讀:205來源:國知局
專利名稱:生成密鑰的方法、通信系統(tǒng)、通信設備和服務器的制作方法
技術(shù)領域
本發(fā)明涉及信息安全領域,特別涉及生成密鑰的方法、通信系統(tǒng)、通信設備和服務器。
背景技術(shù)
隨著網(wǎng)絡技術(shù)的發(fā)展,人們越來越依賴通過網(wǎng)絡進行信息的發(fā)送和傳輸。但是,就目前的網(wǎng)絡現(xiàn)狀而言,網(wǎng)絡是不安全的。直接利用網(wǎng)絡來傳輸重要的、需要保密的信息是不可取。為了保證這些信息的私密性和真實性,一般來說有兩種方式。一種是利用公鑰密碼系統(tǒng),但是這種系統(tǒng)在某些應用來說效率不是很高。另一種是通過密鑰交換協(xié)議來得到一個臨時會話密鑰。
在實際應用中,有多種密鑰交換協(xié)議,如三方Kerberos認證系統(tǒng),兩方SIGMA協(xié)議和基于口令的密鑰交換協(xié)議,其中,基于口令的密鑰交換協(xié)議更適用于實際應用。在這種密鑰交換協(xié)議中,通信雙方不需要記住冗長的密鑰,而只要記住只有幾位(6-8位)長度的口令。當然,由于使用了短長度的口令,基于口令的密鑰交換協(xié)議經(jīng)常受到黑客攻擊,即字典攻擊,包括在線字典攻擊和離線字典攻擊,這種攻擊把所有有可能的口令全部試一遍。在線字典攻擊通過限制用戶在某段時間內(nèi)嘗試口令的次數(shù)進行抵制,而抵抗離線字典攻擊是基于口令的密鑰交換協(xié)議的一個基本安全要求。
現(xiàn)有技術(shù)中有一種抵抗離線字典攻擊的密鑰交換協(xié)議,該協(xié)議的具體過程如下協(xié)議初始化部分用戶和服務器之間共享一個口令pw,初始化系統(tǒng)內(nèi)其它的公開參數(shù)(p,q,g,H1,H2,H3)。其中,p是一個1024比特的素數(shù),q是一個160比特的素數(shù),并且q|p-1,即p-1是q的倍數(shù),g是群Zp的一個階為q的元素,即gq=1modp。H1,H2,H3是三個密碼哈希函數(shù)(如SHA-1)。
協(xié)議執(zhí)行部分假設用戶A和用戶B通過服務器S的協(xié)助要建立一個臨時會話密鑰,本部分共有六輪通信。用戶A與服務器S之間共享的口令是pwAS,用戶B與服務器S之間共享的口令是pwBS。
A在Zq*中任意選取一個數(shù)x,并計算X=gx,α=H1(pwdAS)和X′=X·α。然后,A把X′發(fā)送給S;B在Zq*中任意選取一個數(shù)y,并計算Y=gy,β=H1(pwdBS)和Y′=Y(jié)·β。然后,把Y′發(fā)送給S。
S收到X′和Y′后,計算α=H1(pwdAS),β=H1(pwdBS),X=X′α,]]>Y=Y′β,]]>隨機選取兩個數(shù)r∈Zq*]]>和R。計算X″=Xr,Y″=Y(jié)r,α′=H2(R,pwdAS,X′),β′=H2(R,pwdAS,Y′),X=X″α′和Y=Y(jié)″β′,然后把(R,X)發(fā)送給A,把(R,Y)發(fā)送給B。
A收到(R,X)后,計算α′=H2(R,pwdAS,X′),Y′′=Y′′′α′,]]>K=Y(jié)″x,然后計算sk=H(A,B,S,R,X′,Y′,X,Y,K)。
B收到(R,Y)后,計算β′=H2(R,pwdbS,Y′),X′′=X′′′β′,]]>K=X″y,然后計算sk=H(A,B,S,R,X′,Y′,X,Y,K)。
協(xié)議結(jié)果用戶A和B之間生成了一個強密碼的臨時會話密鑰。
上述技術(shù)中的用戶A和B之間沒有互相認證,容易受到在線不可感知字典攻擊。

發(fā)明內(nèi)容
為了提高信息交互的安全性,本發(fā)明實施例提供了一種生成密鑰的方法、通信系統(tǒng)、通信設備和服務器。所述技術(shù)方案如下一種生成密鑰的方法,所述方法包括第一用戶和第二用戶分別與服務器相互交換身份信息和帶有口令的挑戰(zhàn)數(shù)據(jù);所述第一用戶和第二用戶收到服務器的身份信息和挑戰(zhàn)數(shù)據(jù)后,分別生成密鑰參量和應對數(shù)據(jù),將所述應對數(shù)據(jù)和密鑰參量發(fā)送給所述服務器;所述服務器收到第一用戶和第二用戶發(fā)送的應對數(shù)據(jù)和密鑰參量后,通過應對數(shù)據(jù)認證對應的用戶身份,認證通過后,根據(jù)第一用戶和第二用戶發(fā)送的應對數(shù)據(jù)分別生成第一應對數(shù)據(jù)和第二應對數(shù)據(jù),向第一用戶返回第二用戶的密鑰參量和所述第一應對數(shù)據(jù),向第二用戶返回第一用戶的密鑰參量和所述第二應對數(shù)據(jù);所述第一用戶和第二用戶收到服務器發(fā)送的應對數(shù)據(jù)和密鑰參量后,根據(jù)應對數(shù)據(jù)對服務器進行身份認證,認證通過后,根據(jù)密鑰參量生成密鑰。
本發(fā)明實施例還提供了一種通信系統(tǒng),包括第一設備、第二設備和服務器,其中,所述第一設備,用于與所述服務器相互交換信息進行身份認證,通過所述服務器轉(zhuǎn)發(fā)的所述第二設備的密鑰參量生成密鑰;所述第二設備,用于與所述服務器相互交換信息進行身份認證,通過所述服務器轉(zhuǎn)發(fā)的所述第一設備的密鑰參量生成密鑰;所述服務器,用于分別與所述第一設備和所述第二設備相互交換信息進行身份認證,將所述第一設備發(fā)送的密鑰參量轉(zhuǎn)發(fā)給所述第二設備,將所述第二設備發(fā)送的密鑰參量轉(zhuǎn)發(fā)給所述第一設備。
進一步地,本發(fā)明實施例還提供了一種通信設備,所述設備包括信息交互模塊,用于與服務器相互交換身份信息、帶有口令的挑戰(zhàn)數(shù)據(jù)和應對數(shù)據(jù),接收所述服務器轉(zhuǎn)發(fā)的對端通信設備的密鑰參量;密鑰參量生成模塊,用于生成密鑰參量和應對數(shù)據(jù),通知所述信息交互模塊將所述密鑰參量和應對數(shù)據(jù)發(fā)送給所述服務器;密鑰生成模塊,用于對所述信息交互模塊接收到的應對數(shù)據(jù)進行認證,認證通過后,根據(jù)所述信息交互模塊接收到的密鑰參量生成密鑰。
進一步地,本發(fā)明實施例還提供了一種服務器,所述服務器包括信息交互模塊,用于與通信設備相互交換身份信息、帶有口令的挑戰(zhàn)數(shù)據(jù)和應對數(shù)據(jù),接收所述通信設備發(fā)送的密鑰參量;身份認證模塊,用于根據(jù)所述信息交互模塊接收到的所述通信設備的應對數(shù)據(jù)對所述通信設備進行身份認證;密鑰參量轉(zhuǎn)發(fā)模塊,用于所述身份認證模塊對所述通信設備的認證通過后,生成應對數(shù)據(jù),將該應對數(shù)據(jù)和所述信息交互模塊接收到的密鑰參量發(fā)送給對應的通信設備。
本發(fā)明實施例提供的技術(shù)方案的有益效果是通過基于口令的三方認證機制生成的密鑰,提高了系統(tǒng)的安全性和可靠性,而且,用戶只需記住與服務器間的口令,及發(fā)送密鑰參量時攜帶應對數(shù)據(jù),簡化了操作,具有很好的實用性。


圖1是本發(fā)明實施例1提供的生成密鑰的方法流程圖;圖2是本發(fā)明實施例1提供的生成密鑰的具體方法流程圖;圖3是本發(fā)明實施例2提供的通信系統(tǒng)示意圖;圖4是本發(fā)明實施例3提供的通信設備示意圖;圖5是本發(fā)明實施例4提供的服務器示意圖。
具體實施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進一步地詳細描述。
本發(fā)明實施例中的兩個用戶先向服務器證明其身份,然后在服務器的協(xié)助下進行密鑰協(xié)商,并生成經(jīng)過認證的臨時會話密鑰。
實施例1參見圖1,本實施例提供了一種生成密鑰的方法,該方法包括以下步驟步驟101第一用戶和第二用戶分別與服務器相互交換身份信息和帶有口令的挑戰(zhàn)數(shù)據(jù);步驟102第一用戶和第二用戶收到服務器的身份信息和挑戰(zhàn)數(shù)據(jù)后,分別生成密鑰參量和應對數(shù)據(jù),將應對數(shù)據(jù)和密鑰參量發(fā)送給服務器;步驟103服務器收到第一用戶和第二用戶發(fā)送的應對數(shù)據(jù)和密鑰參量后,通過應對數(shù)據(jù)認證對應的用戶身份,認證通過后,根據(jù)第一用戶和第二用戶發(fā)送的應對數(shù)據(jù)分別生成第一應對數(shù)據(jù)和第二應對數(shù)據(jù),向第一用戶返回第二用戶的密鑰參量和第一應對數(shù)據(jù),向第二用戶返回第一用戶的密鑰參量和第二應對數(shù)據(jù);步驟104第一用戶和第二用戶收到服務器發(fā)送的應對數(shù)據(jù)和密鑰參量后,根據(jù)應對數(shù)據(jù)對服務器進行身份認證,認證通過后,根據(jù)密鑰參量生成密鑰。
在進行上述方法之前,需要對系統(tǒng)進行初始化,即為系統(tǒng)中每個用戶設置身份信息ID,且每個用戶U和服務器之間共享一個口令pwU,它運行在一個素數(shù)階的群里面。以及初始化系統(tǒng)中的公開參數(shù)(p,q,g,h,H)。其中,p和q是兩個大素數(shù),如p和q為大于1024比特的素數(shù),并且q|p-1,即p-1是q的倍數(shù),g,h是群Zp(Zp是整數(shù)模p構(gòu)成的集合)的兩個階為q的元素,即gq=1modp,hq=1modp,沒有人知道g,h兩者之間的離散對數(shù)表示。H是一個密碼哈希函數(shù)(如SHA-1)。
以用戶A和用戶B要建立臨時會話為例,用戶A的身份信息為IDA,用戶B的身份信息為IDB;用戶A與服務器之間的共享口令為pwA,用戶B與服務器之間的共享口令為pwB,參見圖2,生成臨時會話密鑰的具體過程如下步驟201用戶A在Zq*中任意選取一個數(shù)rA,并計算挑戰(zhàn)數(shù)據(jù)A1=gpwAhrAmodp,]]>然后把其身份信息和挑戰(zhàn)數(shù)據(jù)(IDA,A1)發(fā)送給服務器S。同理,用戶B也在Zq*中任意選取一個數(shù)rB。并計算挑戰(zhàn)數(shù)據(jù)B1=gpwBhrBmodp,]]>然后把(IDB,B1)發(fā)送給服務器S。
步驟202服務器S收到用戶A發(fā)送的(IDA,A1)后,在Zq*中任意選取一個數(shù)rSA,根據(jù)rSA和pwA計算挑戰(zhàn)數(shù)據(jù)S1=gpwAhrSAmodp,]]>并把(IDS,S1)發(fā)送給A。
同理,服務器S收到用戶B發(fā)送的(IDB,B1)后,在Zq*中任意選取一個數(shù)rSB,根據(jù)rSB和pwB計算挑戰(zhàn)數(shù)據(jù)S2=gpwBhrSBmodp,]]>并把(IDS,S2)發(fā)送給B。
步驟203用戶A收到服務器S發(fā)送的(IDS,S1)后,計算與服務器的共享密鑰skAS=(S1gpwA)rAmodp,]]>并根據(jù)所選取的數(shù)rA計算臨時會話密鑰的一個密鑰參量A2=grAmodp,]]>同時生成應對數(shù)據(jù)A3=H(IDA,IDB,IDS,A1,S1,A2,skAS)。并把(A2,A3)發(fā)送給服務器S。
步驟204用戶B收到服務器S發(fā)送的(IDS,S2)后,計算與服務器的共享密鑰skBS=(S2gpwB)rAmodp,]]>并根據(jù)所選取的數(shù)rB計算臨時會話密鑰的一個密鑰參量B2=grBmodp,]]>同時生成應對數(shù)據(jù)B3=H(IDA,IDB,IDS,IDS,S2,B2,skBS)。并把(B2,B3)發(fā)送給服務器S。
步驟205服務器S收到(A2,A3)和(B2,B3)后,計算與用戶A的共享密鑰skAS=(A1gpwA)rSAmodp,]]>與用戶B的共享密鑰skBS=(B1gpwB)rSBmodp,]]>然后驗證用戶A的身份是否合法,此處具體通過驗證A3=H(IDA,IDB,IDS,A1,S1,A2,skAS)是否成立來進行驗證,等式成立,則用戶A合法;否則不合法。用戶A通過驗證后,服務器S生成應對數(shù)據(jù)S3,S3=H(IDA,IDB,IDS,A1,S1,A2,skAS,B2),并將(B2,S3)返回給用戶A;同理,通過等式B3=H(IDA,IDB,IDS,S1,S1,B2,skBS)驗證用戶B合法后,服務器S生成應對數(shù)據(jù)S4,S4=H(IDA,IDB,IDS,A1,S1,B2,skBS,A2),并將(A2,S4)返回給用戶B。
步驟206用戶A收到服務器S發(fā)送的(B2,S3)后,驗證S3=H(IDA,IDB,IDS,A1,S1,A2,skAS,B2)是否成立,成立,則說明服務器S合法,否則,不合法。服務器S合法后,根據(jù)B2計算會話密鑰skAB=H(IDA,IDB,IDS,A2,B2B2rA),]]>并根據(jù)此會話密鑰生成數(shù)據(jù)A4=H(IDA,IDB,IDS,A2,B2,skAB,00)發(fā)送給用戶B。
步驟207用戶B收到服務器S發(fā)送的(A2,S4)后,驗證S4=H(IDA,IDB,IDS,B1,S1,B2,skBS,A2)是否成立,成立,則說明服務器S合法,否則,不合法。服務器S合法后,根據(jù)A2計算會話密鑰skAB=H(IDA,IDB,IDS,A2,B2,A2rB),]]>并根據(jù)此會話密鑰生成數(shù)據(jù)B4=H(IDA,IDB,IDS,A2,B2,skAB,11)發(fā)送給用戶A。
步驟208用戶A收到B4后,驗證B4=H(IDA,IDB,IDS,A2,B2,skAB,11)是否成立,如果成立,則將計算出的會話密鑰skAB作為臨時會話密鑰,否則,臨時會話密鑰生成失敗。
步驟209用戶B收到A4后,驗證A4=H(IDA,IDB,IDS,A2,B2,skAB,00)是否成立,如果成立,則將計算出的會話密鑰skAB作為臨時會話密鑰。否則,臨時會話密鑰生成失敗。
以上方法可以實現(xiàn)在同一個服務器下,建立一個只有兩個用戶知道的臨時會話密鑰;同時,用戶只要記住自己與服務器之間的口令即可,不需要另外再記住其他信息(系統(tǒng)參數(shù)除外);并且總通信輪數(shù)只有10輪,過程簡單,容易實現(xiàn);具有前向安全性,體現(xiàn)在即使用戶的口令暴露了,攻擊者也不能得到以前用戶所建立的臨時會話密鑰。可以抵抗在線不可感知字典攻擊。
實施例2參見圖3,本實施例提供了一種通信系統(tǒng),包括第一設備301、第二設備302和服務器303,其中,第一設備301,用于與服務器303相互交換信息進行身份認證,通過服務器303轉(zhuǎn)發(fā)的第二設備302的密鑰參量生成密鑰;第二設備302,用于與服務器303相互交換信息進行身份認證,通過服務器303轉(zhuǎn)發(fā)的第一設備301的密鑰參量生成密鑰;服務器303,用于分別與第一設備301和第二設備302相互交換信息進行身份認證,將第一設備301發(fā)送的密鑰參量轉(zhuǎn)發(fā)給第二設備302,將第二設備302發(fā)送的密鑰參量轉(zhuǎn)發(fā)給第一設備301。
其中,第一設備301包括第一信息交互模塊,用于與服務器303相互交換身份信息、帶有口令的挑戰(zhàn)數(shù)據(jù)和應對數(shù)據(jù),接收服務器303轉(zhuǎn)發(fā)的第二設備302的密鑰參量;第一密鑰參量生成模塊,用于生成密鑰參量和應對數(shù)據(jù),通知第一信息交互模塊將密鑰參量和應對數(shù)據(jù)發(fā)送給服務器303;第一密鑰生成模塊,用于對第一信息交互模塊接收到的應對數(shù)據(jù)進行認證,認證通過后,根據(jù)第一信息交互模塊接收到的密鑰參量生成密鑰。
第二設備302包括第二信息交互模塊,用于與服務器相互交換身份信息、帶有口令的挑戰(zhàn)數(shù)據(jù)和應對數(shù)據(jù),接收服務器303轉(zhuǎn)發(fā)的第一設備301的密鑰參量;
第二密鑰參量生成模塊,用于生成密鑰參量和應對數(shù)據(jù),通知第二信息交互模塊將密鑰參量和應對數(shù)據(jù)發(fā)送給服務器303;第二密鑰生成模塊,用于對第二信息交互模塊接收到的應對數(shù)據(jù)進行認證,認證通過后,根據(jù)第二信息交互模塊接收到的密鑰參量生成密鑰。
服務器303包括第三信息交互模塊,用于分別與第一設備301和第二設備302相互交換身份信息、帶有口令的挑戰(zhàn)數(shù)據(jù)和應對數(shù)據(jù),接收第一設備301和第二設備302發(fā)送的密鑰參量;第三身份認證模塊,用于通過第三信息交互模塊接收到的第一設備301和第二設備302的應對數(shù)據(jù)分別對第一設備301和第二設備302進行身份認證;密鑰參量轉(zhuǎn)發(fā)模塊,用于第三身份認證模塊對第一設備301和第二設備302的認證通過后,生成應對數(shù)據(jù),將第三信息交互模塊接收到的第一設備301的密鑰參量和應對數(shù)據(jù)發(fā)送給第二設備302,將第三信息交互模塊接收到的第二設備302的密鑰參量和應對數(shù)據(jù)發(fā)送給第一設備301。
為了增強系統(tǒng)的安全性,第一設備301還包括第一密鑰確認模塊,用于根據(jù)第一密鑰生成模塊生成的密鑰生成驗證數(shù)據(jù),并將上述驗證數(shù)據(jù)發(fā)送給第二設備302,以及接收第二設備302發(fā)送的驗證數(shù)據(jù),并根據(jù)所接收的驗證數(shù)據(jù)驗證第一密鑰生成模塊生成的密鑰是否與第二設備302生成的密鑰相同,如果相同,確認第一密鑰生成模塊生成的密鑰正確,否則,丟棄密鑰。
相應地,第二設備302還包括第二密鑰確認模塊,用于根據(jù)第二密鑰生成模塊生成的密鑰生成驗證數(shù)據(jù),并將上述驗證數(shù)據(jù)發(fā)送給第一設備301,以及接收第一設備301發(fā)送的驗證數(shù)據(jù),并根據(jù)所接收的驗證數(shù)據(jù)驗證第二密鑰生成模塊生成的密鑰是否與第一設備301生成的密鑰相同,如果相同,確認第二密鑰生成模塊生成的密鑰正確,否則,丟棄密鑰。
本實施例通過服務器建立了一個只有第一設備和第二設備自己知道的密鑰,提高了通信的安全性。
實施例3參見圖4,本實施例還提供了一種通信設備,該設備包括信息交互模塊401,用于與服務器相互交換身份信息、帶有口令的挑戰(zhàn)數(shù)據(jù)和應對數(shù)據(jù),接收服務器轉(zhuǎn)發(fā)的對端通信設備的密鑰參量;密鑰參量生成模塊402,用于生成密鑰參量和應對數(shù)據(jù),通知信息交互模塊401將密鑰參量和應對數(shù)據(jù)發(fā)送給服務器;密鑰生成模塊403,用于對信息交互模塊401接收到的應對數(shù)據(jù)進行認證,認證通過后,根據(jù)信息交互模塊401接收到的密鑰參量生成密鑰。
進一步地,該設備還包括密鑰確認模塊404,用于根據(jù)密鑰生成模塊403生成的密鑰生成驗證數(shù)據(jù),并將該數(shù)據(jù)發(fā)送給對端通信設備,以及接收對端設備發(fā)送的驗證數(shù)據(jù),并根據(jù)所接收的驗證數(shù)據(jù)驗證密鑰生成模塊401生成的密鑰是否與對端設備生成的密鑰相同,如果相同,確認密鑰生成模塊401生成的密鑰正確,否則,丟棄密鑰。
該通信設備的類型包括個人計算機、移動通信設備、路由器、網(wǎng)關(guān)。
本實施例提供的通信設備在生成密鑰的過程中,只需使用與服務器之間的口令即可,不需要另外再記住其他信息(系統(tǒng)參數(shù)除外),同時,將密鑰參量與應對數(shù)據(jù)一起發(fā)送給服務器,簡化了信息交互,容易實現(xiàn)。
實施例4參見圖5,本實施例還提供了一種服務器,該服務器包括信息交互模塊501,用于與通信設備相互交換身份信息、帶有口令的挑戰(zhàn)數(shù)據(jù)和應對數(shù)據(jù),接收上述通信設備發(fā)送的密鑰參量;身份認證模塊502,用于根據(jù)信息交互模塊501接收到的通信設備的應對數(shù)據(jù)對該通信設備進行身份認證;密鑰參量轉(zhuǎn)發(fā)模塊503,用于身份認證模塊502對通信設備的認證通過后,生成應對數(shù)據(jù),將該應對數(shù)據(jù)和信息交互模塊501接收到的密鑰參量發(fā)送給對應的通信設備。
本實施例提供的服務器能夠與通信設備進行相互認證,并將通過認證的通信設備的密鑰參量轉(zhuǎn)發(fā)給對應的通信設備,提高了信息交互的安全性。
以上實施例提供的技術(shù)方案,通過基于口令的三方認證機制生成的密鑰,提高了系統(tǒng)的安全性和可靠性,而且,用戶只需記住與服務器間的口令,操作簡單,具有很好的實用性。
以上實施例中的部分過程可以用軟硬件相結(jié)合的方式實現(xiàn),相應的軟件可以存儲在可讀取的存儲介質(zhì)上,例如計算機的硬盤、內(nèi)存或光盤中。
以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種生成密鑰的方法,其特征在于,所述方法包括第一用戶和第二用戶分別與服務器相互交換身份信息和帶有口令的挑戰(zhàn)數(shù)據(jù);所述第一用戶和第二用戶收到服務器的身份信息和挑戰(zhàn)數(shù)據(jù)后,分別生成密鑰參量和應對數(shù)據(jù),將所述應對數(shù)據(jù)和密鑰參量發(fā)送給所述服務器;所述服務器收到第一用戶和第二用戶發(fā)送的應對數(shù)據(jù)和密鑰參量后,通過應對數(shù)據(jù)認證對應的用戶身份,認證通過后,根據(jù)第一用戶和第二用戶發(fā)送的應對數(shù)據(jù)分別生成第一應對數(shù)據(jù)和第二應對數(shù)據(jù),向第一用戶返回第二用戶的密鑰參量和所述第一應對數(shù)據(jù),向第二用戶返回第一用戶的密鑰參量和所述第二應對數(shù)據(jù);所述第一用戶和第二用戶收到服務器發(fā)送的應對數(shù)據(jù)和密鑰參量后,根據(jù)應對數(shù)據(jù)對服務器進行身份認證,認證通過后,根據(jù)密鑰參量生成密鑰。
2.根據(jù)權(quán)利要求1所述的生成密鑰的方法,其特征在于,所述第一用戶和第二用戶分別與服務器相互交換身份信息和帶有口令的挑戰(zhàn)數(shù)據(jù)的步驟包括第一用戶選取隨機數(shù),根據(jù)該隨機數(shù)和口令確定挑戰(zhàn)數(shù)據(jù),將該挑戰(zhàn)數(shù)據(jù)和身份信息發(fā)送給服務器;第二用戶選取隨機數(shù),根據(jù)該隨機數(shù)和口令確定挑戰(zhàn)數(shù)據(jù),該挑戰(zhàn)數(shù)據(jù)和身份信息發(fā)送給服務器;所述服務器接收到來自所述第一用戶的挑戰(zhàn)數(shù)據(jù)和身份信息后,選取隨機數(shù),并根據(jù)與第一用戶間的口令和選取的隨機數(shù)確定挑戰(zhàn)數(shù)據(jù),將服務器的身份信息和該挑戰(zhàn)數(shù)據(jù)發(fā)送給所述第一用戶;所述服務器接收到來自所述第二用戶的挑戰(zhàn)數(shù)據(jù)和身份信息后,選取隨機數(shù),并根據(jù)與第二用戶間的口令和選取的隨機數(shù)確定挑戰(zhàn)數(shù)據(jù),將服務器信息和該挑戰(zhàn)數(shù)據(jù)發(fā)送給所述第二用戶。
3.根據(jù)權(quán)利要求1所述的生成密鑰的方法,其特征在于,所述第一用戶和第二用戶收到服務器的身份信息和挑戰(zhàn)數(shù)據(jù)后,分別生成密鑰參量,并根據(jù)服務器發(fā)送的挑戰(zhàn)數(shù)據(jù)、服務器的身份信息和所生成的密鑰參量生成應對數(shù)據(jù),將所述應對數(shù)據(jù)和密鑰參量發(fā)送給所述服務器的步驟包括所述第一用戶接收到所述服務器的身份信息和挑戰(zhàn)數(shù)據(jù)后,根據(jù)所選取的隨機數(shù)生成密鑰參量,根據(jù)自身的口令、挑戰(zhàn)數(shù)據(jù)和選取的隨機數(shù)確定共享密鑰,并根據(jù)該共享密鑰、身份信息和所生成的密鑰參量生成應對數(shù)據(jù),將所述應對數(shù)據(jù)和密鑰參量發(fā)送給所述服務器;所述第二用戶接收到所述服務器的身份信息和挑戰(zhàn)數(shù)據(jù)后,根據(jù)所選取的隨機數(shù)生成密鑰參量,根據(jù)自身的口令、挑戰(zhàn)數(shù)據(jù)和選取的隨機數(shù)確定共享密鑰,并根據(jù)該共享密鑰、身份信息和所生成的密鑰參量生成應對數(shù)據(jù),將所述應對數(shù)據(jù)和密鑰參量發(fā)送給所述服務器。
4.根據(jù)權(quán)利要求1所述的生成密鑰的方法,其特征在于,所述第一用戶和第二用戶收到服務器發(fā)送的應對數(shù)據(jù)和密鑰參量后,根據(jù)應對數(shù)據(jù)對服務器進行身份認證,認證通過后,根據(jù)密鑰參量生成密鑰的步驟包括所述第一用戶收到服務器發(fā)送的應對數(shù)據(jù)和密鑰參量后,根據(jù)所述應對數(shù)據(jù)對所述服務器進行認證,認證通過后,根據(jù)所選取的隨機數(shù)、第一用戶身份信息、第二用戶身份信息、服務器的身份信息和兩用戶的密鑰參量生成密鑰;所述第二用戶收到服務器發(fā)送的應對數(shù)據(jù)和密鑰參量后,根據(jù)所述應對數(shù)據(jù)對所述服務器進行認證,認證通過后,根據(jù)所選取的隨機數(shù)、第一用戶身份信息、第二用戶身份信息、服務器的身份信息和兩用戶的密鑰參量生成密鑰。
5.根據(jù)權(quán)利要求1所述的生成密鑰的方法,其特征在于,所述方法還包括所述第一用戶生成所述密鑰后,根據(jù)所述密鑰生成驗證數(shù)據(jù)發(fā)送給所述第二用戶,所述第二用戶生成所述密鑰后,根據(jù)所述密鑰生成驗證數(shù)據(jù)發(fā)送給所述第一用戶;所述第-用戶收到第二用戶的驗證數(shù)據(jù)后,進行驗證,驗證通過后,使用所述密鑰進行通信,否則,丟棄所述密鑰;所述第二用戶收到第一用戶的驗證數(shù)據(jù)后,進行驗證,驗證通過后,使用所述密鑰進行通信,否則,丟棄所述密鑰。
6.一種通信系統(tǒng),其特征在于,包括第一設備、第二設備和服務器,其中,所述第一設備,用于與所述服務器相互交換信息進行身份認證,通過所述服務器轉(zhuǎn)發(fā)的所述第二設備的密鑰參量生成密鑰;所述第二設備,用于與所述服務器相互交換信息進行身份認證,通過所述服務器轉(zhuǎn)發(fā)的所述第一設備的密鑰參量生成密鑰;所述服務器,用于分別與所述第一設備和所述第二設備相互交換信息進行身份認證,將所述第一設備發(fā)送的密鑰參量轉(zhuǎn)發(fā)給所述第二設備,將所述第二設備發(fā)送的密鑰參量轉(zhuǎn)發(fā)給所述第一設備。
7.根據(jù)權(quán)利要求6所述的通信系統(tǒng),其特征在于,所述第一設備包括第一信息交互模塊,用于與所述服務器相互交換身份信息、帶有口令的挑戰(zhàn)數(shù)據(jù)和應對數(shù)據(jù),接收所述服務器轉(zhuǎn)發(fā)的所述第二設備的密鑰參量;第一密鑰參量生成模塊,用于生成密鑰參量和應對數(shù)據(jù),通知所述第一信息交互模塊將所述密鑰參量和應對數(shù)據(jù)發(fā)送給所述服務器;第一密鑰生成模塊,用于對所述第一信息交互模塊接收到的應對數(shù)據(jù)進行認證,認證通過后,根據(jù)所述第一信息交互模塊接收到的密鑰參量生成密鑰。
8.根據(jù)權(quán)利要求6所述的通信系統(tǒng),其特征在于,所述第二設備包括第二信息交互模塊,用于與所述服務器相互交換身份信息、帶有口令的挑戰(zhàn)數(shù)據(jù)和應對數(shù)據(jù),接收所述服務器轉(zhuǎn)發(fā)的所述第一設備的密鑰參量;第二密鑰參量生成模塊,用于生成密鑰參量和應對數(shù)據(jù),通知所述第二信息交互模塊將所述密鑰參量和應對數(shù)據(jù)發(fā)送給所述服務器;第二密鑰生成模塊,用于對所述第二信息交互模塊接收到的應對數(shù)據(jù)進行認證,認證通過后,根據(jù)所述第二信息交互模塊接收到的密鑰參量生成密鑰。
9.根據(jù)權(quán)利要求6所述的通信系統(tǒng),其特征在于,所述服務器包括第三信息交互模塊,用于分別與所述第一設備和所述第二設備相互交換身份信息、帶有口令的挑戰(zhàn)數(shù)據(jù)和應對數(shù)據(jù),接收所述第一設備和所述第二設備發(fā)送的密鑰參量;第三身份認證模塊,用于通過所述第三信息交互模塊接收到的所述第一設備和所述第二設備的應對數(shù)據(jù)分別對所述第一設備和所述第二設備進行身份認證;密鑰參量轉(zhuǎn)發(fā)模塊,用于所述第三身份認證模塊對所述第一設備和所述第二設備的認證通過后,生成應對數(shù)據(jù),將所述第三信息交互模塊接收到的所述第一設備的密鑰參量和應對數(shù)據(jù)發(fā)送給所述第二設備,將所述第三信息交互模塊接收到的所述第二設備的密鑰參量和應對數(shù)據(jù)發(fā)送給所述第一設備。
10.根據(jù)權(quán)利要求6所述的通信系統(tǒng),其特征在于,所述第一設備還包括第一密鑰確認模塊,用于根據(jù)所述第一密鑰生成模塊生成的密鑰生成驗證數(shù)據(jù),并將上述驗證數(shù)據(jù)發(fā)送給所述第二設備,以及接收所述第二設備發(fā)送的驗證數(shù)據(jù),并根據(jù)所接收的驗證數(shù)據(jù)驗證所述第一密鑰生成模塊生成的密鑰是否與所述第二設備生成的密鑰相同,如果相同,確認所述第一密鑰生成模塊生成的密鑰正確,否則,丟棄所述密鑰;相應地,所述第二設備還包括第二密鑰確認模塊,用于根據(jù)所述第二密鑰生成模塊生成的密鑰生成驗證數(shù)據(jù),并將上述驗證數(shù)據(jù)發(fā)送給所述第一設備,以及接收所述第一設備發(fā)送的驗證數(shù)據(jù),并根據(jù)所接收的驗證數(shù)據(jù)驗證所述第二密鑰生成模塊生成的密鑰是否與所述第一設備生成的密鑰相同,如果相同,確認所述第二密鑰生成模塊生成的密鑰正確,否則,丟棄所述密鑰。
11.一種通信設備,其特征在于,所述設備包括信息交互模塊,用于與服務器相互交換身份信息、帶有口令的挑戰(zhàn)數(shù)據(jù)和應對數(shù)據(jù),接收所述服務器轉(zhuǎn)發(fā)的對端通信設備的密鑰參量;密鑰參量生成模塊,用于生成密鑰參量和應對數(shù)據(jù),通知所述信息交互模塊將所述密鑰參量和應對數(shù)據(jù)發(fā)送給所述服務器;密鑰生成模塊,用于對所述信息交互模塊接收到的應對數(shù)據(jù)進行認證,認證通過后,根據(jù)所述信息交互模塊接收到的密鑰參量生成密鑰。
12.根據(jù)權(quán)利要求11所述的通信設備,其特征在于,所述設備還包括密鑰確認模塊,用于根據(jù)所述密鑰生成模塊生成的密鑰生成驗證數(shù)據(jù)發(fā)送給所述對端通信設備,以及接收所述對端設備發(fā)送的驗證數(shù)據(jù),并根據(jù)所接收的驗證數(shù)據(jù)驗證所述密鑰生成模塊生成的密鑰是否與所述對端設備生成的密鑰相同,如果相同,確認所述密鑰生成模塊生成的密鑰正確,否則,丟棄所述密鑰。
13.根據(jù)權(quán)利要求11所述的通信設備,其特征在于,所述設備類型包括個人計算機、移動通信設備、路由器、網(wǎng)關(guān)。
14.一種服務器,其特征在于,所述服務器包括信息交互模塊,用于與通信設備相互交換身份信息、帶有口令的挑戰(zhàn)數(shù)據(jù)和應對數(shù)據(jù),接收所述通信設備發(fā)送的密鑰參量;身份認證模塊,用于根據(jù)所述信息交互模塊接收到的所述通信設備的應對數(shù)據(jù)對所述通信設備進行身份認證;密鑰參量轉(zhuǎn)發(fā)模塊,用于所述身份認證模塊對所述通信設備的認證通過后,生成應對數(shù)據(jù),將該應對數(shù)據(jù)和所述信息交互模塊接收到的密鑰參量發(fā)送給對應的通信設備。
全文摘要
本發(fā)明公開了一種生成密鑰的方法、通信系統(tǒng)、通信設備和服務器,屬于信息安全領域。所述方法包括第一用戶和第二用戶分別與服務器相互交換身份信息和帶有口令的挑戰(zhàn)數(shù)據(jù),以及應對數(shù)據(jù),并通過應對數(shù)據(jù)進行身份認證;第一用戶和第二用戶將生成的密鑰參量通過服務器轉(zhuǎn)發(fā)給對方;第一用戶和第二用戶根據(jù)密鑰參量生成密鑰。所述系統(tǒng)包括第一設備、第二設備和服務器。所述設備包括信息交互模塊、密鑰參量生成模塊和密鑰生成模塊。所述服務器包括信息交互模塊、身份認證模塊和密鑰參量轉(zhuǎn)發(fā)模塊。本發(fā)明通過基于口令的三方認證機制生成密鑰,提高了系統(tǒng)的安全性和可靠性,而且,用戶只需記住與服務器間的口令,操作簡單,具有很好的實用性。
文檔編號H04L29/06GK101083526SQ20071014319
公開日2007年12月5日 申請日期2007年8月7日 優(yōu)先權(quán)日2007年8月7日
發(fā)明者曹珍富, 董曉蕾, 邵俊, 位繼偉 申請人:華為技術(shù)有限公司, 上海交通大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1