本發(fā)明所述移動終端入網(wǎng)驗證實現(xiàn)方法中散列串生成的具體流程圖。
[0021]圖3為本發(fā)明所述移動終端入網(wǎng)驗證實現(xiàn)方法中經(jīng)過加密通道發(fā)送消息的具體流程圖。
[0022]圖4為本發(fā)明所述移動終端入網(wǎng)驗證實現(xiàn)系統(tǒng)較佳實施例的結(jié)構(gòu)框圖。
【具體實施方式】
[0023]本發(fā)明提供一種移動終端入網(wǎng)驗證實現(xiàn)方法及實現(xiàn)系統(tǒng),為使本發(fā)明的目的、技術(shù)方案及效果更加清楚、明確,以下對本發(fā)明進一步詳細說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0024]請參見圖1,圖1是本發(fā)明所述移動終端入網(wǎng)驗證實現(xiàn)方法較佳實施例的流程圖。如圖1所示,其包括以下步驟:
步驟S100、當(dāng)服務(wù)器檢測到移動終端的入網(wǎng)請求時,則生成隨機串,將所述隨機串以用戶證書的公鑰為密鑰加密生成散列串,并發(fā)送至移動終端;
步驟S200、移動終端接收所述散列串并進行消息完整性驗證,當(dāng)通過完整性驗證且移動終端中的散列串與服務(wù)器中的散列串一致時,則將待發(fā)送信息經(jīng)過DH算法的協(xié)商密鑰加密的加密通道發(fā)送至服務(wù)器。
[0025]進一步的,如圖2所示,所述步驟SlOO中散列串生成具體包括:
步驟S101、當(dāng)服務(wù)器接收到移動終端的入網(wǎng)請求時,則根據(jù)預(yù)設(shè)的隨機算法生成隨機串;
步驟S102、服務(wù)器根據(jù)已存儲的與移動終端相對應(yīng)的用戶證書的公鑰為密鑰將所述隨機串進行加密生成網(wǎng)絡(luò)正在尋找實際回應(yīng)值,并根據(jù)所述網(wǎng)絡(luò)正在尋找實際回應(yīng)值生成帶雙向驗證標(biāo)識位的散列串,并發(fā)送至移動終端。
[0026]進一步的,如圖3所示,所述步驟S200中經(jīng)過加密通道發(fā)送消息具體包括:
步驟S201、移動終端接收所述散列串,并根據(jù)散列串驗證消息的完整性,當(dāng)通過驗證時,根據(jù)移動終端中已存儲的用戶私鑰對所述散列串進行解密得到解碼隨機串。
[0027]步驟S202、判斷所述散列串中的雙向驗證標(biāo)志位是否為1,當(dāng)雙向驗證標(biāo)志位為I時則執(zhí)行步驟S203,當(dāng)雙向驗證標(biāo)志位不為I時則執(zhí)行步驟S208。
[0028]在步驟S202中對所述散列串中的雙向驗證標(biāo)志位進行判斷,是為了確定是否將解碼隨機串經(jīng)過用戶私鑰加密后再發(fā)送至服務(wù)器,當(dāng)雙向驗證標(biāo)志位為I時則將解碼隨機串經(jīng)過用戶私鑰加密后再發(fā)送至服務(wù)器,當(dāng)雙向驗證標(biāo)志位不為I時(即為O時)則將解碼隨機串直接發(fā)送至服務(wù)器。
[0029]步驟S203、移動終端生成第一幻數(shù)隨機串,并對根據(jù)服務(wù)器證書的公鑰對所述第一幻數(shù)隨機串加密,得到第一加密幻數(shù)隨機串,并發(fā)送至服務(wù)器。
[0030]步驟S204、服務(wù)器根據(jù)服務(wù)器私鑰對所述第一加密幻數(shù)隨機串進行解密,解密得到第一解密幻數(shù)隨機串,并發(fā)送至移動終端。
[0031]步驟S205、在移動終端中進行第一解密幻數(shù)隨機串與第一幻數(shù)隨機串的比對,當(dāng)一致時且移動終端通過合法性驗證時,則根據(jù)用戶私鑰對所述解碼隨機串加密,得到加密解碼隨機串,并發(fā)送至服務(wù)器。
[0032]在步驟S203-步驟S205中,移動終端通過第一幻數(shù)隨機串(即第一 magic隨機串)、服務(wù)器證書的公鑰及服務(wù)器私鑰結(jié)合,對服務(wù)器進行合法性驗證。當(dāng)服務(wù)器通過合法性驗證時,則將解碼隨機串經(jīng)過用戶私鑰加密后再發(fā)送至服務(wù)器。
[0033]步驟S206、服務(wù)器接收并根據(jù)用戶證書的公鑰對所述加密解碼隨機串進行解密,得到解密隨機串,并與所述隨機串進行比對,當(dāng)相同時則執(zhí)行步驟S209。
[0034]步驟S207、移動終端將所述解碼隨機串發(fā)送至服務(wù)器。
[0035]步驟S208、服務(wù)器接收所述解碼隨機串,并與所述隨機串進行比對,當(dāng)一致時且移動終端通過合法性驗證時則執(zhí)行步驟S209。
[0036]步驟S209、移動終端將待發(fā)送信息經(jīng)過DH算法的協(xié)商密鑰加密的加密通道發(fā)送至服務(wù)器。
[0037]其中,所述用戶證書的公鑰和用戶私鑰由移動終端生成,所述用戶證書的公鑰由移動終端發(fā)送至服務(wù)器進行存儲,所述用戶私鑰存儲在移動終端的SIM卡或內(nèi)存中。所述服務(wù)器證書的公鑰和服務(wù)器私鑰有服務(wù)器生成,所述服務(wù)器證書的公鑰由服務(wù)器發(fā)送至移動終端進行存儲,所述服務(wù)器私鑰存儲在服務(wù)器中。
[0038]進一步的,在所述步驟S205和步驟S208中,對移動終端進行合法性驗證的過程具體包括:
步驟S251、服務(wù)器生產(chǎn)第二幻數(shù)隨機串,根據(jù)用戶證書的公鑰對所述第二幻數(shù)隨機串加密,得到第二加密幻數(shù)隨機串,并發(fā)送至移動終端;
步驟S252、移動終端根據(jù)用戶私鑰對所述第二加密幻數(shù)隨機串進行解密,得到第二解密幻數(shù)隨機串,并發(fā)送至服務(wù)器;
步驟S253、在服務(wù)器中進行第二加密幻數(shù)隨機串與第二幻數(shù)隨機串的比對,當(dāng)一致時則移動終端通過合法性驗證。
[0039]進一步的,所述步驟S200之后還包括:
步驟S300、服務(wù)器接收所述待發(fā)送信息,并將與待發(fā)送信息對應(yīng)的反饋信息經(jīng)過DH算法的協(xié)商密鑰加密的加密通道發(fā)送至移動終端。
[0040]為了更清楚的理解步驟S101-S102及步驟S201-S209,下面通過一具體實施例來說明。
[0041]服務(wù)器生成一段隨機串(即rand),使用用戶證書中的公鑰加密生成網(wǎng)絡(luò)正在尋找實際回應(yīng)值(即xres),并對加密結(jié)果生成散列串(即hashkey),將網(wǎng)絡(luò)正在尋找實際回應(yīng)值(即xres)都附加在隨機串后,并附加是否要求雙向驗證標(biāo)識dvry。
[0042]移動終端收到請求驗證消息后,通過hashkey驗證消息完整性,使用私鑰解密xres,解密得到rand。如果dvry設(shè)置為1,使用服務(wù)器證書公鑰加密移動終端生成的幻數(shù)隨機串(即magic隨機串),在此過程中還驗證服務(wù)器和移動終端的合法性。否則,直接發(fā)送rand給服務(wù)器,服務(wù)器比較接收到的rand是否與生成的一致,來驗證移動終端有效性。
[0043]在上述過程中,移動終端生成大整數(shù)X,并計算rand的x次方X,發(fā)送X給運營商服務(wù)器。服務(wù)器生成大整數(shù)y,并計算rand的y次方Y(jié),發(fā)送Y給移動終端,信息分別以明文發(fā)送給對方。
[0044]移動終端使用X和收到的Y,計算Y的X次方并對P取模得到xy.服務(wù)器使用y和收到的X,計算X的I次方并對P取模,也得到同樣的Xy值。
[0045]雙方使用各自計算的數(shù)值xy,作為一次會話的通信密碼。通信的加密通道,使用傳統(tǒng)的對稱加密算法,避免不對稱算法加密速度慢的缺點。
[0046]可見,本發(fā)明采用充分驗證的新型算法,在無線網(wǎng)絡(luò)接入層完成足夠可靠的用戶識別,并為后續(xù)通信提供數(shù)據(jù)校驗和加密通信,提高了入網(wǎng)驗證的可靠性和安全性。
[0047]基于上述方法,本發(fā)明還提供一種移動終端入網(wǎng)驗證實現(xiàn)系統(tǒng),如圖4所示,其包括:
散列串生成模塊100,用于當(dāng)服務(wù)器檢測到移動終端的入網(wǎng)請求時,則生成隨機串,將所述隨機串以用戶證書的公鑰為密鑰加密生成散列串,并發(fā)送至移動終端;
加密發(fā)送模塊200,用于移動終端接收所述散列串并進行消息完整性驗證,當(dāng)通過完整性驗證且移動終端中的散列串與服務(wù)器中的散列串一致時,則將待發(fā)送信息經(jīng)過DH算法的協(xié)商密鑰加密的加密通道發(fā)送至服務(wù)器。
[0048]進一步的,在所述移動終端入網(wǎng)驗證實現(xiàn)系統(tǒng)中,所述散列串生成模塊100具體包括:
隨機串生成單元,用于當(dāng)服務(wù)器接收到移動終端的入網(wǎng)請求時,則根據(jù)預(yù)設(shè)的隨機算法生成隨機串;
散列串發(fā)送單元,用于服務(wù)器根據(jù)已存儲的與移動終端相對應(yīng)的用戶證書的公鑰為密鑰將所述隨機串進行加密生成網(wǎng)絡(luò)正在尋找實際回應(yīng)值,并根據(jù)所述網(wǎng)絡(luò)正在尋找實際回應(yīng)值生成帶雙向驗證標(biāo)識位的散列串,并發(fā)送至移動終端。
[0049]進一步的,在所述移動終端入網(wǎng)驗證實現(xiàn)系統(tǒng)中,所述加密發(fā)送模塊200具體包括:
解密單元,用于移動終端接收所述散列串,并根據(jù)散列串驗證消息的完整性,當(dāng)通過驗證時,根據(jù)移動終端中已存儲的用戶私鑰對所述散列串進行解密得到解碼隨機串;
判斷單元,用于判斷所述散列串中的雙向驗證標(biāo)志位是否為1,當(dāng)雙向驗證標(biāo)志位為I時則啟動第一發(fā)送單元,當(dāng)雙向驗證標(biāo)志位不為I時則啟動第二發(fā)送單元;
第一幻數(shù)加密單元,用于移動終端生成第一幻數(shù)隨機串,并對根據(jù)服務(wù)器證書的公鑰對所述第一幻數(shù)隨機串加密,得到第一加密幻數(shù)隨機串,并發(fā)送至服務(wù)器;
第一幻數(shù)解密單元,用于服務(wù)器根據(jù)服務(wù)器私鑰對所述第一加密幻數(shù)隨機串進行解密,解密得到第一解密幻數(shù)隨機串,并發(fā)送至移動終端;
第一幻數(shù)比對單元,用于在移動終端中進行第一解密幻數(shù)隨機串與第一幻數(shù)隨機串的比對,當(dāng)一致時且移動終端通過合法性驗證時,則根據(jù)用戶私鑰對所述解碼隨機串加密,得到加密解碼隨機串,并發(fā)送至服務(wù)器