專利名稱:網(wǎng)絡(luò)通訊的加密方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通訊技術(shù)領(lǐng)域,尤其是涉及ー種網(wǎng)絡(luò)通訊的加密方法和系統(tǒng)。
背景技術(shù):
隨著互聯(lián)網(wǎng)的發(fā)展和即時通信(Instant Messaging, IM)平臺的普及使用,通訊安全成了互聯(lián)網(wǎng)環(huán)境不得不面對的ー個問題。目前互聯(lián)網(wǎng)。目前網(wǎng)絡(luò)通訊使用的協(xié)議主要分兩種,一種是ニ進制協(xié)議,再一種是文本協(xié)議。
ニ進制協(xié)議的特點是可讀性差,維護性差,但是效率高,網(wǎng)絡(luò)流量低;文本協(xié)議的特點跟ニ進制協(xié)議正好相反,其可讀性強,網(wǎng)絡(luò)流量高,維護成本較低,所以,目前的即時通信平臺通常采用的文本協(xié)議進行通訊。然而,采用文本協(xié)議通訊時也存在一些問題,例如文本協(xié)議可讀性強的特點直接威脅了通訊的安全,從而使對文本協(xié)議進行加密變得十分必要。目前基于文本協(xié)議的加密技術(shù)包括對稱加密和非対稱加密兩種方式。非対稱加密保密性比較好,但加密和解密花費時間長,速度慢,加解密的效率太低,無法適用于頻繁的通絡(luò)通訊,特別是信息量巨大的即時通信;而現(xiàn)有對稱加密,雖然效率很高,但由于通訊雙方使用同樣的密鑰進行加密和解密,很容易被破解,信息的保密性較低,無法保證網(wǎng)絡(luò)通訊的安全性。
發(fā)明內(nèi)容
本發(fā)明實施例提供了ー種網(wǎng)絡(luò)通訊的加密方法和系統(tǒng),能夠在保證信息安全性的同時,降低通訊雙方加解密運算的工作量,提高了加解密的效率和通訊的性能。為達到上述目的,本發(fā)明實施例的技術(shù)方案是這樣實現(xiàn)的本發(fā)明實施例提供了ー種網(wǎng)絡(luò)通訊的加密方法,包括第一通訊方向第二通訊方發(fā)送加密協(xié)商請求,啟動加密協(xié)商;第一通訊方和第二通訊方通過非對稱加密的交互方式,分別生成初始對稱密鑰,完成加密協(xié)商;第一通訊方利用所述初始對稱密鑰對數(shù)據(jù)包進行加密,得到加密數(shù)據(jù)包,并利用預(yù)定算法更新初始對稱密鑰,將更新后的初始對稱密鑰作為下一次加密的對稱密鑰,第一通訊方將加密數(shù)據(jù)包發(fā)送至第二通訊方;第二通訊方采用初始對稱密鑰對所述加密數(shù)據(jù)包進行解密,并利用相同的預(yù)定算法更新初始對稱密鑰,將更新后的初始對稱密鑰作為下一次解密的對稱密鑰。本發(fā)明實施例還提供了一種網(wǎng)絡(luò)通訊的加密系統(tǒng),所述系統(tǒng)包括第一通訊方和第二通訊方,所述第一通訊方包括第一協(xié)商單元和加密單元,所述第一協(xié)商單元,用于向第二通訊方發(fā)送加密協(xié)商請求,啟動加密協(xié)商,以及,通過非對稱加密方式與第二通訊方進行交互,生成初始對稱密鑰;
所述加密単元,用于利用所述初始對稱密鑰對數(shù)據(jù)包進行加密,得到加密數(shù)據(jù)包,并利用預(yù)定算法更新初始對稱密鑰,將更新后的初始對稱密鑰作為下一次加密的對稱密鑰,以及,將加密數(shù)據(jù)包發(fā)送至第二通訊方;所述第二通訊方包括第二協(xié)商單元和解密單元,所述第二協(xié)商單元,用于在加密協(xié)商啟動后,通過非對稱加密方式與第一通訊方進行交互,生成初始對稱密鑰;所述解密単 元,用于采用初始對稱密鑰對所述加密數(shù)據(jù)包進行解密,并利用相同的預(yù)定算法更新初始對稱密鑰,將更新后的初始對稱密鑰作為下一次解密的對稱密鑰。由上述可見,本發(fā)明實施例的技術(shù)方案提供了ー種新型的適用于文本協(xié)議的加解密方案,通訊雙方首先通過安全性較高的加密協(xié)商過程,生成初始對稱密鑰;然后,執(zhí)行數(shù)據(jù)包的加密通訊過程,這種通訊過程雖然采用了對稱加密的交互機制,卻能夠在加密通訊過程,不斷動態(tài)更新通訊雙方的對稱密鑰,保證了網(wǎng)絡(luò)通訊的安全性。本發(fā)明實施例的技術(shù)方案,解決了現(xiàn)有非対稱加密效率過低以及對稱加密保密性較低的問題,能夠在保證信息安全性的同時,降低通訊雙方加解密運算的工作量,提高了加解密的效率和通訊的性能。本技術(shù)方案對于較大數(shù)據(jù)量的加密通訊場景以及即時通信的場景都能夠取得較好的效果。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I為本發(fā)明實施例一提供的ー種網(wǎng)絡(luò)通訊的加密方法流程示意圖;圖2為本發(fā)明實施例ニ提供的ー種網(wǎng)絡(luò)通訊的加密方法流程示意圖;圖3為本發(fā)明實施例三提供的一種網(wǎng)絡(luò)通訊的加密系統(tǒng)結(jié)構(gòu)示意圖;圖4為本發(fā)明實施例三提供的另ー種網(wǎng)絡(luò)通訊的加密系統(tǒng)結(jié)構(gòu)示意圖。
具體實施例方式下面將結(jié)合本發(fā)明的附圖,對本發(fā)明的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。本發(fā)明實施例一提供了ー種網(wǎng)絡(luò)通訊的加密方法,參見圖1,包括11 :第一通訊方向第二通訊方發(fā)送加密協(xié)商請求,啟動加密協(xié)商;12 :第一通訊方和第二通訊方通過非對稱加密的交互方式,分別生成初始對稱密陰,完成加S協(xié)商;13 :第一通訊方利用上述初始對稱密鑰對數(shù)據(jù)包進行加密,得到加密數(shù)據(jù)包,井利用預(yù)定算法更新初始對稱密鑰,將更新后的初始對稱密鑰作為下一次加密的對稱密鑰,第一通訊方將加密數(shù)據(jù)包發(fā)送至第二通訊方;14 :第二通訊方采用初始對稱密鑰對上述加密數(shù)據(jù)包進行解密,并利用相同的預(yù)定算法更新初始對稱密鑰,將更新后的初始對稱密鑰作為下一次解密的對稱密鑰。進ー步的,上述第一通訊方為即時通信客戶端,上述第二通訊方為即時通信服務(wù)器;或者,上述第一通訊方為即時通信服務(wù)器,上述第二通訊方為即時通信客戶端;或者,上述第一通訊方和第二通訊方都為即時通信客戶端。由上述可見,本發(fā)明實施例的技術(shù)方案提供了ー種新型的適用于文本協(xié)議的加解密方案,通訊雙方首先通過安全性較高的加密協(xié)商過程,生成初始對稱密鑰;然后,執(zhí)行數(shù)據(jù)包的加密通訊過程,這種通訊過程雖然采用了對稱加密的交互機制,卻能夠在加密通訊過程,不斷動態(tài)更新通訊雙方的對稱密鑰,保證了網(wǎng)絡(luò)通訊的安全性。
本發(fā)明實施例的技術(shù)方案,解決了現(xiàn)有非対稱加密效率過低以及對稱加密保密性較低的問題,能夠在保證信息安全性的同時,降低通訊雙方加解密運算的工作量,提高了加解密的效率和通訊的性能。本技術(shù)方案對于較大數(shù)據(jù)量的加密通訊場景以及即時通信的場景都能夠取得較好的效果。為了便于清楚描述本發(fā)明實施例的技術(shù)方案,在發(fā)明的實施例中,采用了“第一”、“第二”等字樣對功能和作用基本相同的相同項或相似項進行區(qū)分,本領(lǐng)域技術(shù)人員可以理解“第一”、“第二”等字樣并不對數(shù)量和執(zhí)行次序進行限定。下面對本發(fā)明實施例ニ提供的ー種網(wǎng)絡(luò)通訊的加密方法進行說明。在此,以網(wǎng)絡(luò)中的第一通訊方和第二通訊方之間的通訊場景為例進行說明,第一通訊方和第二通訊方使用文本協(xié)議,如會話發(fā)起協(xié)議(Session Initiation Protocol, SIP),進行通訊。參見圖2,具體包括如下處理I :第一通訊方向第二通訊方發(fā)送加密協(xié)商請求。要求第一通訊方和第二通訊方具有協(xié)商能力,例如,第一通訊方和第二通訊方中內(nèi)置驗證證書,能夠驗證彼此的數(shù)字簽名等。上述協(xié)商請求中可以攜帶指示信息,向第二通訊方指示執(zhí)行協(xié)商所需要的能力或條件。2 :第二通訊方根據(jù)加密協(xié)商請求,向第一通訊方返回響應(yīng)消息。當(dāng)?shù)诙ㄓ嵎绞盏絽f(xié)商請求,且判斷自身具有協(xié)商能力時,向第一通訊方發(fā)送響應(yīng)消息,表示接受協(xié)商請求。該步驟并不是必須的,例如,第一通訊方可以預(yù)先維護ー個協(xié)商列表,當(dāng)?shù)诙ㄓ嵎轿挥谠搮f(xié)商列表中時,第一通訊方通過向第二通訊方發(fā)送協(xié)商請求,即可啟動加S協(xié)商。在加密協(xié)商過程中,由于需要傳輸?shù)臄?shù)據(jù)量較小,第一通訊方和第二通訊方采用非対稱加密的交互方式,以使數(shù)據(jù)獲得較高的安全性。3 :第一通訊方生成加密協(xié)商因子。4 :第一通訊方采用第二通訊方的公鑰對加密協(xié)商因子進行加密。5 :第一通訊方將加密后的加密協(xié)商因子發(fā)送至第二通訊方。6:第二通訊方利用第二通訊方的私鑰進行解密,得到加密協(xié)商因子,根據(jù)該加密協(xié)商因子生成初始對稱密鑰。
7:第二通訊方利用第一通訊方的公鑰對第二通訊方的數(shù)字簽名加密,將得到的加密結(jié)果作為驗證信息,以進行身份驗證。8:第二通訊方向第一通訊方返回協(xié)商結(jié)果信息,所述協(xié)商結(jié)果信息中包括上述驗證信息,上述驗證信息是利用第一通訊方的公鑰對第二通訊方的數(shù)字簽名加密得到的。9 :第一通訊方利用第一通訊方的私鑰解密上述協(xié)商結(jié)果信息中的驗證信息。10 :第一通訊方確認第二通訊方的數(shù)字簽名是否通過認證,若認證成功,進行步驟11 ;若認證失敗,結(jié)束當(dāng)前的通訊。第一通訊方可以利用其內(nèi)置的驗證證書驗證第二通訊方的數(shù)字簽名。11 :第一通訊方根據(jù)加密協(xié)商因子生成初始對稱密鑰。 在進行加密通訊之前,通過上述步驟進行加密協(xié)商。至此,完成第一通訊方和第二通訊方之間的加密協(xié)商。12:第一通訊方利用上述初始對稱密鑰對數(shù)據(jù)包進行加密,得到加密數(shù)據(jù)包,井利用預(yù)定算法更新初始對稱密鑰,將更新后的初始對稱密鑰作為下一次加密的對稱密鑰。在步驟12中,主要對第一通訊方和第二通訊方通訊時,第一通訊方的首次加密進行了描述,則利用初始對稱密鑰(表示為Kl)得到的下一次加密的對稱密鑰(表示為K2),即為第一通訊方執(zhí)行第二次加密操作時所使用的對稱密鑰。進ー步的,第一通訊方可以利用上述初始對稱密鑰對數(shù)據(jù)包(表示為M)進行異或運算,得到加密數(shù)據(jù)包M',其過程可以表示如下M' = M"K1在一組完整的數(shù)據(jù)通訊過程中,第一通訊方在每次采用相應(yīng)對稱密鑰對數(shù)據(jù)包加密的同時,都會對該對稱密鑰進行更新。例如,第一通訊方在執(zhí)行第三次加密操作時,所使用的對稱密鑰(表示為K3)是通過對第二次加密時的對稱密鑰K2更新得到的。即第一通訊方在利用上述更新后的初始對稱密鑰對數(shù)據(jù)包進行加密時,還會利用預(yù)定算法生成本次加密(第二次加密)后下一次加密(第三次加密)的對稱密鑰。由上可見,第一通訊方在每次對數(shù)據(jù)包加密的同時,對本次加密所使用的對稱密鑰進行更新,在下一次加密操作中使用更新后的對稱密鑰,從而實現(xiàn)了對稱密鑰的動態(tài)調(diào)整,避免了現(xiàn)有對稱加密方案中,由于對稱密鑰固定、易于泄露或破解而帶來的安全問題。13 :第一通訊方將加密數(shù)據(jù)包發(fā)送至第二通訊方。14 :第二通訊方采用初始對稱密鑰對上述加密數(shù)據(jù)包進行解密,并利用相同的預(yù)定算法更新初始對稱密鑰,將更新后的初始對稱密鑰作為下一次解密的對稱密鑰。對同一數(shù)據(jù)包,第二通訊方解密所采用的對稱密鑰與第一通訊方對其加密時所采用的對稱密鑰是相同的。進ー步的,第二通訊方采用初始對稱密鑰對加密數(shù)據(jù)包進行異或運算,得到原始數(shù)據(jù)包,其過程可以表示如下M = M' ~K1 = Μ~ΚΓΚ1在步驟14中,主要對第一通訊方和第二通訊方通訊時,第二通訊方的首次解密進行了描述,則利用初始對稱密鑰Kl得到的下一次解密Κ2的對稱密鑰,即為第二通訊方執(zhí)行第二次解密操作時所使用的對稱密鑰。在一組完整的數(shù)據(jù)通訊過程中,第二通訊方在每次采用相應(yīng)對稱密鑰對加密數(shù)據(jù)包解密的同吋,都會對該對稱密鑰進行更新。第二通訊方在利用上述更新后的初始對稱密鑰K3對加密數(shù)據(jù)包進行解密時,利用上述預(yù)定算法生成本次解密后下一次解密的對稱密鑰K3,在加解密過程的不斷執(zhí)行中,第一通訊方和第二通訊方的對稱密鑰會隨著數(shù)據(jù)包的加密,不斷的同步變換,顯著地加大了數(shù)據(jù)抓包的破解難度,從而實現(xiàn)了對稱密鑰的動態(tài)調(diào)整,避免了現(xiàn)有對稱加密方案中,由于對稱密鑰固定、易于泄露或破解而帶來的安全問題。
進ー步的,第一通訊方和第二通訊方之間采用傳輸控制協(xié)議(TransmissionControl Protocol, TCP)進行數(shù)據(jù)包的傳輸,由于TCP能夠保證數(shù)據(jù)包發(fā)送順序性,從而保證對于同一數(shù)據(jù)包,第一通訊方加密所采用的對稱密鑰和第二通訊方解密時所采用的對稱密鑰相同;或者,第一通訊方和第二通訊方也可以采用其他的通訊連接方式,如用戶數(shù)據(jù)包協(xié)議(User Datagram Protocol, UDP),這種情況下,第一通訊方向第二通訊方發(fā)送的加密數(shù)據(jù)包中攜帯數(shù)據(jù)包指示標識,通過第二通訊方可以根據(jù)該數(shù)據(jù)包指示標識對接收到的加密數(shù)據(jù)包進行辨認,以確定對各加密數(shù)據(jù)包解密時所應(yīng)該使用的對稱密鑰,從而保證對于同一數(shù)據(jù)包,第一通訊方加密所采用的對稱密鑰和第二通訊方解密時所采用的對稱密鑰相同。進ー步的,初始對稱密鑰和后續(xù)動態(tài)更新所得到的對稱密鑰包括一初始ー維數(shù)組,第一通訊方和第二通訊方對初始對稱密鑰更新所采用的預(yù)定算法相同,具體可以如下通過預(yù)定規(guī)則改變上述初始ー維數(shù)組中元素的位置,得到更新后的一維數(shù)組,例如,預(yù)定規(guī)則可以為在ー維數(shù)組中選取兩個元素,互換上述兩個元素在一維數(shù)組中的位置;將更新后的一維數(shù)組和初始ー維數(shù)組進行異或運算,得到上述下一次加密的對稱密鑰或者下一次解密的對稱密鑰。示例性的,上述對稱密鑰的ー種結(jié)構(gòu)可以如下
Dublic class Key {
private byte[] pum;private byte _i;private byte」;
}_pum表示ー維數(shù)組,該ー維數(shù)組在加密協(xié)商時創(chuàng)建,根據(jù)協(xié)商內(nèi)容的不同,ー維數(shù)組中的具體元素也不同。_i和_j為進行加解密時更新對稱密鑰的輔助游標變量。示例性的,上述預(yù)定算法的偽代碼可以表示如下public byte Transform(byte k)
{
」+= _pmu[++_i];
byte temp = _pmu[_i];
_pmu[_i] = _pmu[J];
_pmu[」]=temp;
return (byte)(k A _pmu[(byte)(_pmu[_i] + _pmu[」])]);
} 由上可見,通過_i,_j, _pum的變化,能夠改變對稱密鑰的數(shù)值。改變后的對稱密鑰的數(shù)值與_i和_j還有_pum在數(shù)組中對應(yīng)位置的值有夫。對稱密鑰在更新時候的變化是通過顛倒了數(shù)組里_i_j兩個下標所對應(yīng)元素的位置,再與上一次加解密中所使用的對稱密鑰進行異或Γ)運算得到的。進ー步的,上述第一通訊方為即時通信客戶端,上述第二通訊方為即時通信服務(wù)器;或者,上述第一通訊方為即時通信服務(wù)器,上述第二通訊方為即時通信客戶端;或者,上述第一通訊方和第二通訊方都為即時通信客戶端。由上述可見,本發(fā)明實施例的技術(shù)方案提供了ー種新型的適用于文本協(xié)議的加解密方案,通訊雙方首先通過安全性較高的加密協(xié)商過程,生成初始對稱密鑰;然后,執(zhí)行數(shù)據(jù)包的加密通訊過程,這種通訊過程雖然采用了對稱加密的交互機制,卻能夠在加密通訊過程,不斷動態(tài)更新通訊雙方的對稱密鑰,保證了網(wǎng)絡(luò)通訊的安全性。本發(fā)明實施例的技術(shù)方案,解決了現(xiàn)有非対稱加密效率過低以及對稱加密保密性較低的問題,能夠在保證信息安全性的同時,降低通訊雙方加解密運算的工作量,提高了加解密的效率和通訊的性能。本技術(shù)方案對于較大數(shù)據(jù)量的加密通訊場景以及即時通信的場景都能夠取得較好的效果。本發(fā)明實施例三提供了一種網(wǎng)絡(luò)通訊的加密系統(tǒng),參見圖3,上述系統(tǒng)包括第一通訊方31和第二通訊方32,所述第一通訊方31包括第一協(xié)商單元311和加密單元312,所述第一協(xié)商單元311,用于向第二通訊方32發(fā)送加密協(xié)商請求,啟動加密協(xié)商,以及,通過非對稱加密方式與第二通訊方32進行交互,生成初始對稱密鑰;所述加密単元312,用于利用所述初始對稱密鑰對數(shù)據(jù)包進行加密,得到加密數(shù)據(jù)包,并利用預(yù)定算法更新初始對稱密鑰,將更新后的初始對稱密鑰作為下一次加密的對稱密鑰,以及,將加密數(shù)據(jù)包發(fā)送至第二通訊方;所述第二通訊方32包括第二協(xié)商單元321和解密單元322,所述第二協(xié)商單元321,用于在加密協(xié)商啟動后,通過非對稱加密方式與第一通訊方31進行交互,生成初始對稱密鑰;所述解密単元322,用于采用初始對稱密鑰對所述加密數(shù)據(jù)包進行解密,并利用相同的預(yù)定算法更新初始對稱密鑰,將更新后的初始對稱密鑰作為下一次解密的對稱密鑰。進ー步的,第一通訊方也可以作為解密端,這時,第一通訊方31還包括第三協(xié)商単元313和第二解密單元314,所述第三協(xié)商單元313,用于在加密協(xié)商啟動后,通過非對稱加密方式與第二通訊方進行交互,生成初始對稱密鑰;所述第二解密單元314,用于采用初始對稱密鑰對接收到的加密數(shù)據(jù)包進行解密,并利用相同的預(yù)定算法更新初始對稱密鑰,將更新后的初始對稱密 鑰作為下一次解密的對稱密鑰;第二通訊方也可以作為加密端,這時,第二通訊方32還包括第四協(xié)商單元323和第二加密單元324,所述第四協(xié)商單元323,用于向第一通訊方發(fā)送加密協(xié)商請求,啟動加密協(xié)商,以及,通過非對稱加密方式與第一通訊方進行交互,生成初始對稱密鑰;所述第二加密單元,用于利用所述初始對稱密鑰對數(shù)據(jù)包進行加密,得到加密數(shù)據(jù)包324,并利用預(yù)定算法更新初始對稱密鑰,將更新后的初始對稱密鑰作為下一次加密的對稱密鑰,以及,將加密數(shù)據(jù)包發(fā)送至第二通訊方。上述第一通訊方可以為即時通信客戶端,上述第二通訊方可以為即時通信服務(wù)器;或者,上述第一通訊方可以為即時通信服務(wù)器,上述第二通訊方可以為即時通信客戶端;或者,上述第一通訊方和第二通訊方都可以為即時通信客戶端。本發(fā)明系統(tǒng)實施例中各單元的具體工作方式可以參見本發(fā)明方法實施例中的相關(guān)內(nèi)容。由上述可見,本發(fā)明實施例的技術(shù)方案提供了ー種新型的適用于文本協(xié)議的加解密方案,通訊雙方首先通過安全性較高的加密協(xié)商過程,生成初始對稱密鑰;然后,執(zhí)行數(shù)據(jù)包的加密通訊過程,這種通訊過程雖然采用了對稱加密的交互機制,卻能夠在加密通訊過程,不斷動態(tài)更新通訊雙方的對稱密鑰,保證了網(wǎng)絡(luò)通訊的安全性。本發(fā)明實施例的技術(shù)方案,解決了現(xiàn)有非対稱加密效率過低以及對稱加密保密性較低的問題,能夠在保證信息安全性的同時,降低通訊雙方加解密運算的工作量,提高了加解密的效率和通訊的性能。本技術(shù)方案對于較大數(shù)據(jù)量的加密通訊場景以及即時通信的場景都能夠取得較好的效果。本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺的方式來實現(xiàn)?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在存儲介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例或者實施例的某些部分所述的方法。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明保護的范圍之內(nèi)。
權(quán)利要求
1.一種網(wǎng)絡(luò)通訊的加密方法,其特征在于,所述方法包括 第一通訊方向第二通訊方發(fā)送加密協(xié)商請求,啟動加密協(xié)商; 第一通訊方和第二通訊方通過非對稱加密的交互方式,分別生成初始對稱密鑰,完成加密協(xié)商; 第一通訊方利用所述初始對稱密鑰對數(shù)據(jù)包進行加密,得到加密數(shù)據(jù)包,并利用預(yù)定算法更新初始對稱密鑰,將更新后的初始對稱密鑰作為下一次加密的對稱密鑰,第一通訊方將加密數(shù)據(jù)包發(fā)送至第二通訊方; 第二通訊方采用初始對稱密鑰對所述加密數(shù)據(jù)包進行解密,并利用相同的預(yù)定算法更新初始對稱密鑰,將更新后的初始對稱密鑰作為下一次解密的對稱密鑰。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述第一通訊方和第二通訊方通過非對稱加密的交互方式,分別生成初始對稱密鑰,完成加密協(xié)商包括· 第一通訊方生成加密協(xié)商因子,并采用第二通訊方的公鑰對加密協(xié)商因子進行加密后發(fā)送至第二通訊方; 第二通訊方利用第二通訊方的私鑰進行解密,得到加密協(xié)商因子,根據(jù)該加密協(xié)商因子生成初始對稱密鑰,向第一通訊方返回協(xié)商結(jié)果信息,所述協(xié)商結(jié)果信息中包括驗證信息,所述驗證信息是利用第一通訊方的公鑰對第二通訊方的數(shù)字簽名加密得到的; 第一通訊方利用第一通訊方的私鑰解密所述協(xié)商結(jié)果信息中的驗證信息,對第二通訊方的數(shù)據(jù)簽名進行認證,當(dāng)認證通過后,根據(jù)加密協(xié)商因子生成初始對稱密鑰,完成加密協(xié)商。
3.根據(jù)權(quán)利要求I所述的方法,其特征在于, 所述第一通訊方和第二通訊方之間采用傳輸控制協(xié)議TCP進行數(shù)據(jù)包的傳輸,以保證對于同一數(shù)據(jù)包,第一通訊方加密所采用的對稱密鑰和第二通訊方解密時所采用的對稱密鑰相同;或者, 所述第一通訊方向第二通訊方發(fā)送的加密數(shù)據(jù)包中攜帶數(shù)據(jù)包指示標識,以保證對于同一數(shù)據(jù)包,第一通訊方加密所采用的對稱密鑰和第二通訊方解密時所采用的對稱密鑰相同。
4.根據(jù)權(quán)利要求I至3任一項所述的方法,其特征在于, 所述初始對稱密鑰包括一初始一維數(shù)組,所述預(yù)定算法為 通過預(yù)定規(guī)則改變所述初始一維數(shù)組中元素的位置,得到更新后的一維數(shù)組; 將更新后的一維數(shù)組和初始一維數(shù)組進行異或運算,得到所述下一次加密的對稱密鑰或者下一次解密的對稱密鑰。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述預(yù)定規(guī)則具體包括 在一維數(shù)組中選取兩個元素,互換所述兩個元素在一維數(shù)組中的位置。
6.根據(jù)權(quán)利要求I至3任一項所述的方法,其特征在于, 所述第一通訊方利用所述初始對稱密鑰對數(shù)據(jù)包進行加密,得到加密數(shù)據(jù)包包括 第一通訊方利用所述初始對稱密鑰對數(shù)據(jù)包進行異或運算,得到加密數(shù)據(jù)包; 所述第二通訊方采用初始對稱密鑰對所述加密數(shù)據(jù)包進行解密包括 第二通訊方采用初始對稱密鑰對所述加密數(shù)據(jù)包進行異或運算,得到原始數(shù)據(jù)包。
7.根據(jù)權(quán)利要求I至3任一項所述的方法,其特征在于,所述方法還包括第一通訊方在利用所述更新后的初始對稱密鑰對數(shù)據(jù)包進行加密時,利用所述預(yù)定算法生成本次加密后下一次加密的對稱密鑰;以及, 第二通訊方在利用所述更新后的初始對稱密鑰對加密數(shù)據(jù)包進行解密時,利用所述預(yù)定算法生成本次解密后下一次解密的對稱密鑰。
8.一種網(wǎng)絡(luò)通訊的加密系統(tǒng),其特征在于,所述系統(tǒng)包括第一通訊方和第二通訊方, 所述第一通訊方包括第一協(xié)商單元和加密單元, 所述第一協(xié)商單元,用于向第二通訊方發(fā)送加密協(xié)商請求,啟動加密協(xié)商,以及,通過非對稱加密方式與第二通訊方進行交互,生成初始對稱密鑰; 所述加密單元,用于利用所述初始對稱密鑰對數(shù)據(jù)包進行加密,得到加密數(shù)據(jù)包,并利用預(yù)定算法更新初始對稱密鑰,將更新后的初始對稱密鑰作為下一次加密的對稱密鑰,以及,將加密數(shù)據(jù)包發(fā)送至第二通訊方; 所述第二通訊方包括第二協(xié)商單元和解密單元, 所述第二協(xié)商單元,用于在加密協(xié)商啟動后,通過非對稱加密方式與第一通訊方進行交互,生成初始對稱密鑰; 所述解密單元,用于采用初始對稱密鑰對所述加密數(shù)據(jù)包進行解密,并利用相同的預(yù)定算法更新初始對稱密鑰,將更新后的初始對稱密鑰作為下一次解密的對稱密鑰。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于, 所述第一通訊方還包括第三協(xié)商單元和第二解密單元, 所述第三協(xié)商單元,用于在加密協(xié)商啟動后,通過非對稱加密方式與第二通訊方進行交互,生成初始對稱密鑰; 所述第二解密單元,用于采用初始對稱密鑰對接收到的加密數(shù)據(jù)包進行解密,并利用相同的預(yù)定算法更新初始對稱密鑰,將更新后的初始對稱密鑰作為下一次解密的對稱密鑰; 所述第二通訊方還包括第四協(xié)商單元和第二加密單元, 所述第四協(xié)商單元,用于向第一通訊方發(fā)送加密協(xié)商請求,啟動加密協(xié)商,以及,通過非對稱加密方式與第一通訊方進行交互,生成初始對稱密鑰; 所述第二加密單元,用于利用所述初始對稱密鑰對數(shù)據(jù)包進行加密,得到加密數(shù)據(jù)包,并利用預(yù)定算法更新初始對稱密鑰,將更新后的初始對稱密鑰作為下一次加密的對稱密鑰,以及,將加密數(shù)據(jù)包發(fā)送至第二通訊方。
10.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于, 所述第一通訊方為即時通信客戶端,所述第二通訊方為即時通信服務(wù)器;或者, 所述第一通訊方為即時通信服務(wù)器,所述第二通訊方為即時通信客戶端;或者, 所述第一通訊方和第二通訊方都為即時通信客戶端。
全文摘要
本發(fā)明公開了一種網(wǎng)絡(luò)通訊的加密方法和系統(tǒng),能夠在保證信息安全性的同時,降低通訊雙方加解密運算的工作量,提高了加解密的效率和通訊的性能。本發(fā)明實施例提供的一種網(wǎng)絡(luò)通訊的加密方法,包括第一通訊方向第二通訊方發(fā)送加密協(xié)商請求,啟動加密協(xié)商;第一通訊方和第二通訊方通過非對稱加密的交互方式,分別生成初始對稱密鑰,完成加密協(xié)商;第一通訊方利用所述初始對稱密鑰對數(shù)據(jù)包進行加密,得到加密數(shù)據(jù)包,并利用預(yù)定算法更新初始對稱密鑰,將更新后的初始對稱密鑰作為下一次加密的對稱密鑰;第二通訊方采用初始對稱密鑰對加密數(shù)據(jù)包進行解密,并利用相同的預(yù)定算法更新初始對稱密鑰,將更新后的初始對稱密鑰作為下一次解密的對稱密鑰。
文檔編號H04L29/06GK102857479SQ201110182320
公開日2013年1月2日 申請日期2011年6月30日 優(yōu)先權(quán)日2011年6月30日
發(fā)明者劉玎 申請人:北京新媒傳信科技有限公司