基于chap協(xié)議的數(shù)據(jù)交互方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及移動(dòng)通訊數(shù)據(jù)業(yè)務(wù)領(lǐng)域,尤其是一種基于CHAP協(xié)議的數(shù)據(jù)交互方法及裝置。
【背景技術(shù)】
[0002]隨著計(jì)算機(jī)技術(shù)的發(fā)展,客戶(hù)端與服務(wù)器之間的數(shù)據(jù)交互越來(lái)越頻繁,所述客戶(hù)端和所述服務(wù)器之間數(shù)據(jù)傳輸?shù)陌踩运媾R的挑戰(zhàn)越來(lái)越嚴(yán)峻。
[0003]當(dāng)前,通常選擇將所述客戶(hù)端和所述服務(wù)器之間的請(qǐng)求進(jìn)行參數(shù)簽名,或者加入迭代次數(shù)和時(shí)間戳來(lái)防止中間人攻擊,以保證所述客戶(hù)端和所述服務(wù)器之間數(shù)據(jù)傳輸?shù)陌踩?。這種技術(shù)方案簡(jiǎn)單,但是依賴(lài)于時(shí)間同步,實(shí)現(xiàn)困難,也不太精確。同時(shí),也面臨蠻力和猜測(cè)攻擊。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的在于提供一種基于CHAP協(xié)議的數(shù)據(jù)交互方法及裝置,以解決客戶(hù)端和服務(wù)器之間數(shù)據(jù)傳輸?shù)陌踩珕?wèn)題。
[0005]為了達(dá)到上述目的,本發(fā)明提供了一種基于CHAP協(xié)議的數(shù)據(jù)交互方法及裝置,其中,基于CHAP協(xié)議的數(shù)據(jù)交互方法,包括以下步驟:
[0006]所述客戶(hù)端采用非對(duì)稱(chēng)加密算法將存儲(chǔ)在本地的授權(quán)碼用一公鑰加密,然后將加密后的授權(quán)碼發(fā)送給服務(wù)器進(jìn)行挑戰(zhàn);
[0007]所述服務(wù)器接收到所述加密后的授權(quán)碼后,用與所述公鑰對(duì)應(yīng)的私鑰進(jìn)行解密,獲取所述授權(quán)碼,并驗(yàn)證所述授權(quán)碼的合法性;
[0008]當(dāng)驗(yàn)證所述授權(quán)碼合法后,所述服務(wù)器生成一第一隨機(jī)數(shù),將所述服務(wù)器上存儲(chǔ)的與所述授權(quán)碼對(duì)應(yīng)的隨機(jī)數(shù)更新為所述第一隨機(jī)數(shù),利用安全散列算法對(duì)所述授權(quán)碼和所述第一隨機(jī)數(shù)進(jìn)行加密形成一第一密文,并將所述第一密文和所述第一隨機(jī)數(shù)作為第一挑戰(zhàn)值發(fā)送給所述客戶(hù)端;
[0009]所述客戶(hù)端接收到所述第一挑戰(zhàn)值后,利用所述安全散列算法對(duì)存儲(chǔ)在本地的授權(quán)碼和所述第一隨機(jī)數(shù)進(jìn)行加密形成一第二密文,比較所述第一密文和所述第二密文,當(dāng)所述第一密文與所述第二密文相同時(shí),則所述服務(wù)器身份合法,所述客戶(hù)端對(duì)所述服務(wù)器作出應(yīng)答;
[0010]所述服務(wù)器接收并驗(yàn)證所述客戶(hù)端的應(yīng)答,當(dāng)所述客戶(hù)端的應(yīng)答正確時(shí),所述客戶(hù)端合法,所述客戶(hù)端和所述服務(wù)器之間進(jìn)行數(shù)據(jù)傳輸。
[0011]優(yōu)選的,在上述的基于CHAP協(xié)議的數(shù)據(jù)交互方法中,所述服務(wù)器在驗(yàn)證所述授權(quán)碼的合法性時(shí),當(dāng)所述授權(quán)碼在所述服務(wù)器上已注冊(cè),且在有效期內(nèi),則所述授權(quán)碼合法。
[0012]優(yōu)選的,在上述的基于CHAP協(xié)議的數(shù)據(jù)交互方法中,所述客戶(hù)端在將加密后的授權(quán)碼發(fā)送給服務(wù)器之前,需要對(duì)所述加密后的授權(quán)碼進(jìn)行編碼,所述服務(wù)器在接收到編碼后的所述加密后的授權(quán)碼后,先解碼以獲取所述加密后的授權(quán)碼。
[0013]優(yōu)選的,在上述的基于CHAP協(xié)議的數(shù)據(jù)交互方法中,所述服務(wù)器接收并驗(yàn)證所述客戶(hù)端的應(yīng)答,當(dāng)所述客戶(hù)端的應(yīng)答正確時(shí),所述客戶(hù)端合法,所述客戶(hù)端和所述服務(wù)器之間進(jìn)行數(shù)據(jù)傳輸?shù)牟襟E包括:
[0014]所述客戶(hù)端利用安全散列算法對(duì)存儲(chǔ)在本地的授權(quán)碼、通行密語(yǔ)以及所述第一隨機(jī)數(shù)進(jìn)行加密,形成第三密文,并將所述第三密文作為對(duì)所述服務(wù)器的應(yīng)答,并將一業(yè)務(wù)參數(shù)發(fā)送給所述服務(wù)器;
[0015]所述服務(wù)器接收到所述第三密文和所述業(yè)務(wù)參數(shù)后,驗(yàn)證所述客戶(hù)端的應(yīng)答,當(dāng)所述客戶(hù)端的應(yīng)答正確時(shí),所述客戶(hù)端合法,根據(jù)第三密文和所述業(yè)務(wù)參數(shù),獲取與所述業(yè)務(wù)參數(shù)相關(guān)的業(yè)務(wù)數(shù)據(jù),對(duì)所述業(yè)務(wù)數(shù)據(jù)進(jìn)行加密,形成第四密文,將所述第四密文發(fā)送給所述客戶(hù)端;所述服務(wù)器生成一第二隨機(jī)數(shù),并將所述服務(wù)器上存儲(chǔ)的與所述授權(quán)碼對(duì)應(yīng)的隨機(jī)數(shù)更新為所述第二隨機(jī)數(shù)。
[0016]優(yōu)選的,在上述的基于CHAP協(xié)議的數(shù)據(jù)交互方法中,所述服務(wù)器利用對(duì)稱(chēng)加密算法對(duì)所述業(yè)務(wù)數(shù)據(jù)進(jìn)行加密形成所述第四密文。
[0017]優(yōu)選的,在上述的基于CHAP協(xié)議的數(shù)據(jù)交互方法中,所述客戶(hù)端和所述服務(wù)器上均存儲(chǔ)有所述通行密語(yǔ)。
[0018]優(yōu)選的,在上述的基于CHAP協(xié)議的數(shù)據(jù)交互方法中,所述通行密語(yǔ)為一字符串。
[0019]本發(fā)明還提供了一種使用如上所述基于CHAP協(xié)議的數(shù)據(jù)交互方法的裝置,包括:
[0020]客戶(hù)端和服務(wù)器,所述客戶(hù)端對(duì)存儲(chǔ)在本地的授權(quán)碼進(jìn)行加密后傳輸給所述服務(wù)器,所述服務(wù)器接收到加密后的授權(quán)碼進(jìn)行解密并驗(yàn)證其合法性;當(dāng)驗(yàn)證所述授權(quán)碼合法時(shí),所述服務(wù)器生成一第一隨機(jī)數(shù),并利用安全散列算法對(duì)所述授權(quán)碼和所述第一隨機(jī)數(shù)進(jìn)行加密形成第一密文,將所述第一密文和所述第一隨機(jī)數(shù)發(fā)送給所述客戶(hù)端,所述客戶(hù)端接收到所述第一密文和所述第一隨機(jī)數(shù)后,利用安全散列算法對(duì)存儲(chǔ)在本地的授權(quán)碼和所述第一隨機(jī)數(shù)進(jìn)行加密,形成第二密文,并對(duì)所述第一密文和所述第二密文進(jìn)行比較,當(dāng)所述第一密文和所述第二密文相同時(shí),所述客戶(hù)端和所述服務(wù)器身份合法;所述客戶(hù)端利用安全散列算法對(duì)存儲(chǔ)在本地的授權(quán)碼、通行密語(yǔ)以及所述第一隨機(jī)數(shù)進(jìn)行加密,形成第三密文,并將所述第三密文作為對(duì)所述服務(wù)器的應(yīng)答,并將一業(yè)務(wù)參數(shù)發(fā)送給所述服務(wù)器,所述服務(wù)器接收到所述第三密文和所述業(yè)務(wù)參數(shù)后,驗(yàn)證所述客戶(hù)端的應(yīng)答,當(dāng)所述客戶(hù)端的應(yīng)答正確時(shí),所述客戶(hù)端合法,然后根據(jù)第三密文和所述業(yè)務(wù)參數(shù),獲取與所述業(yè)務(wù)參數(shù)相關(guān)的業(yè)務(wù)數(shù)據(jù),對(duì)所述業(yè)務(wù)數(shù)據(jù)進(jìn)行加密,形成第四密文,將所述第四密文發(fā)送給所述客戶(hù)端。
[0021]優(yōu)選的,在上述的基于CHAP協(xié)議的數(shù)據(jù)交互裝置中,所述客戶(hù)端包括:客戶(hù)端控制模塊、客戶(hù)端發(fā)送模塊、客戶(hù)端接收模塊、客戶(hù)端存儲(chǔ)模塊以及客戶(hù)端比較模塊,其中,
[0022]所述客戶(hù)端控制模塊將存儲(chǔ)在本地的授權(quán)碼進(jìn)行加密,形成加密后的授權(quán)碼,利用所述安全散列算法對(duì)本地存儲(chǔ)的授權(quán)碼和所述第一隨機(jī)數(shù)進(jìn)行加密形成第二密文;
[0023]所述客戶(hù)端發(fā)送模塊將所述加密后的授權(quán)碼、所述第三密文和所述業(yè)務(wù)參數(shù)發(fā)送給所述服務(wù)器接收模塊;
[0024]所述客戶(hù)端接收模塊用于接收所述服務(wù)器發(fā)送模塊發(fā)送的所述第一密文、所述第一隨機(jī)參數(shù)以及所述第四密文;
[0025]所述客戶(hù)端存儲(chǔ)模塊用于存儲(chǔ)所述授權(quán)碼、所述第一密文、所述第二密文、所述第三密文、所述第四密文、所述業(yè)務(wù)參數(shù)、所述第一參數(shù)以及所述通行密語(yǔ);
[0026]所述客戶(hù)端比較模塊用于比較所述第一密文和所述第二密文。
[0027]優(yōu)選的,在上述的基于CHAP協(xié)議的數(shù)據(jù)交互裝置中,所述服務(wù)器包括:服務(wù)器控制模塊、服務(wù)器發(fā)送模塊、服務(wù)器接收模塊以及服務(wù)器存儲(chǔ)模塊,其中,
[0028]所述服務(wù)器控制模塊用于驗(yàn)證所述授權(quán)碼的合法性、生成所述第一隨機(jī)參數(shù)、形成所述第一密文以及所述第四密文;
[0029]所述服務(wù)器發(fā)送模塊用于發(fā)送所述第一密文、所述第一隨機(jī)參數(shù)以及所述第四密文;
[0030]所述服務(wù)器接收模塊用于接收所述客戶(hù)端發(fā)送模塊發(fā)送的所述加密后的授權(quán)碼、所述第三密文和所述業(yè)務(wù)參數(shù);
[0031 ] 所述服務(wù)器存儲(chǔ)模塊用于存儲(chǔ)所述授權(quán)碼、所述第一密文、所述第二密文、所述第三密文、所述第四密文、所述業(yè)務(wù)參數(shù)、所述第一參數(shù)以及所述通行密語(yǔ)。
[0032]在本發(fā)明提供的基于CHAP協(xié)議的數(shù)據(jù)交互方法及裝置中,采用第一隨機(jī)數(shù)、非對(duì)稱(chēng)加密算法以及安全散列算法來(lái)驗(yàn)證所述客戶(hù)端和所述服務(wù)器的合法性,從而實(shí)現(xiàn)所述客戶(hù)端和所述服務(wù)器之間的身份驗(yàn)證,避免了中間人的攻擊。在身份驗(yàn)證成功后,再在所述客戶(hù)端和所述服務(wù)器之間進(jìn)行數(shù)據(jù)傳輸,保證了所述客戶(hù)端和所述服務(wù)器之間數(shù)據(jù)傳輸?shù)陌踩约翱煽啃裕瑫r(shí)也避免了重放攻擊。
【附圖說(shuō)明】
[0033]圖1為本發(fā)明實(shí)施例中基于CHAP協(xié)議的數(shù)據(jù)交互裝置結(jié)構(gòu)示意圖;
[0034]圖2為本發(fā)明實(shí)施例中基于CHAP協(xié)議的數(shù)據(jù)交互方法的流程圖;
[0035]圖3為圖2中步驟S5的流程圖;
[0036]圖中:100-客戶(hù)端;1001-客戶(hù)端控制模塊;1002-客戶(hù)端發(fā)送模塊;1003-客戶(hù)端接收模塊;1004_客戶(hù)端存儲(chǔ)模塊;1005_客戶(hù)端比較模塊;
[0037]200-服務(wù)器;2001_服務(wù)器控制模塊;2002_服務(wù)器發(fā)送模塊;2003_服務(wù)器接收模塊;2004-服務(wù)器存儲(chǔ)模塊。
【具體實(shí)施方式】
[0038]下面將結(jié)合示意圖對(duì)本發(fā)明的【具體實(shí)施方式】進(jìn)行更詳細(xì)的描述。根據(jù)下列描述和權(quán)利要求書(shū),本發(fā)明的優(yōu)點(diǎn)和特征將更清楚。需說(shuō)明的是,附圖均采用非常簡(jiǎn)化的形式且均使用非精準(zhǔn)的比例,僅用以方便、明晰地輔助說(shuō)明本發(fā)明實(shí)施例的目的。
[0039]本實(shí)施例提供了一種基于CHAP協(xié)議的數(shù)據(jù)交互裝置,如圖1所示,包括:客戶(hù)端1