專利名稱:數(shù)據(jù)傳輸時進行安全性驗證的方法及系統(tǒng)的制作方法
技術(shù)領域:
本發(fā)明涉及數(shù)據(jù)傳輸技術(shù),尤其涉及數(shù)據(jù)傳輸時進行安全性驗證的方法及系統(tǒng)。
背景技術(shù):
在互聯(lián)網(wǎng)應用中,用戶終端基于瀏覽器平臺與服務器之間進行數(shù)據(jù)傳輸。具體地,瀏覽器向服務器發(fā)送關于各頁面的請求消息;服務器對接收的頁面請求消息進行處理,并反饋處理后的信息;瀏覽器接收服務器反饋的信息后進行解釋、顯示。一般地,通過超文件傳輸協(xié)議(HTTP,hypertext transmission protocol)通道在瀏覽器與服務器之間進行數(shù)據(jù)傳輸,由于HTTP通道對于收發(fā)的數(shù)據(jù)不做安全性處理,導致傳輸?shù)臄?shù)據(jù)存在泄露的風險。為了提高數(shù)據(jù)傳輸?shù)陌踩裕刹捎肏TTPS通道進行數(shù)據(jù)傳輸,HTTPS通道會對瀏覽器與服務器之間傳輸?shù)捻撁嬲埱笙⑦M行加解密處理。在統(tǒng)一資源定位器(URL,UniformResource Locator)地址中包含“HTTPS: ”就表明通過HTTPS通道進行數(shù)據(jù)傳輸,HTTPS存在不同于HTTP的默認端口及一個加密/身份驗證層。雖然采用HTTPS通道提高了數(shù)據(jù)傳輸?shù)陌踩?,但如果第三方進行了頁面?zhèn)卧欤薷牧税l(fā)送給服務器的頁面請求消息,將導致服務器進行錯誤的處理,大大降低安全性。下面以在本地應用平臺上運行第三方應用的情況進行舉例說明,該第三方應用例如為網(wǎng)絡游戲應用。首先,需要對cookie進行簡要說明。cookie方法是在瀏覽器儲存數(shù)據(jù)的一種方法,cookie對應于域名,不同的域名對應不同的cookie。與某一域名對應的所有頁面共享同一個cookie,并且,各域名對應的cookie互相獨立,一個域名不能獲取另一個網(wǎng)站的cookie,某一域名對應的各頁面不能獲取另一域名對應的cookie。域是一個網(wǎng)絡概念,指的是一個網(wǎng)絡單位,是一個網(wǎng)絡單位與其它網(wǎng)絡單位之間的界限,可以將域理解為一組有組織管理和訪問控制的計算機的集合。對于不同域的訪問是有限制的,其他域不能輕易訪問本域里的資源,比如wm.sina.com和www.sohu.com,就屬于兩個不同的域,兩者的Cookie是分開的。下面對在本地應用平臺上運行網(wǎng)絡游戲的過程進行說明。瀏覽器首先顯示用戶登錄頁面,用戶輸入用戶名等登錄信息,瀏覽器將登錄信息保存在用戶登錄頁面所對應域的網(wǎng)頁本地緩存字段(Cookie)中,該用戶登錄頁面的域(domain)名例如為qq.com。而后,用戶選擇調(diào)用網(wǎng)絡游戲,瀏覽器顯示網(wǎng)絡游戲頁面,這里,將該網(wǎng)絡游戲頁面的域名表示為app.com,在網(wǎng)絡游戲中,用戶擁有虛擬資產(chǎn),如各種道具等,虛擬物品具有類似實物的可購買行及有價屬性。用戶在使用虛擬卡、幣等購買虛擬物品時,瀏覽器根據(jù)用戶操作顯示虛擬物品交換頁面,該虛擬物品交換頁面可具體為充值支付頁面,一般地,充值支付頁面與用戶登錄頁面的域名相同,這里都為qq.com ;用戶在充值支付頁面中輸入充值數(shù)量和購買物品;瀏覽器通過HTTPS通道向服務器發(fā)送當前頁面請求消息,該當前頁面請求消息中包含充值數(shù)量和購買物品;并且,根據(jù)瀏覽器的特點,會在當前頁面請求消息的頭部添加與該充值支付頁面所對應域的cookie,也就是添加qq.com對應的cookie。服務器接收頁面請求消息后進行相應處理,包括從該用戶的賬戶扣除虛擬卡或幣,并向用戶配送其購買的物品。網(wǎng)絡游戲中有較多的即時小額購買行為,瀏覽器會頻繁地向服務器發(fā)送關于充值支付頁面的請求消息,提高數(shù)據(jù)傳輸時的安全性成為較重要的問題。在上述實例中,雖然瀏覽器采用了 HTTPS通道向服務器發(fā)送頁面請求消息,以提高安全性;但是,如果當前頁面是第三方偽造的,第三方會對用戶在當前頁面輸入的信息進行修改,再向服務器發(fā)送修改后的當前頁面請求消息時,這將導致服務器進行錯誤的處理,不能保證數(shù)據(jù)傳輸?shù)陌踩浴?br>
發(fā)明內(nèi)容
本發(fā)明提供了一種數(shù)據(jù)傳輸時進行安全性驗證的方法,該方法能夠提高數(shù)據(jù)傳輸?shù)陌踩?。本發(fā)明提供了一種數(shù)據(jù)傳輸時進行安全性驗證的系統(tǒng),該系統(tǒng)能夠提高數(shù)據(jù)傳輸?shù)陌踩浴R环N數(shù)據(jù)傳輸時進行安全性驗證的方法,該方法包括:瀏覽器提取當前頁面所對應域的cookie,將cookie加入待簽名信息中;瀏覽器對待簽名信息進行簽名,將簽名后信息放入當前頁面請求消息的內(nèi)容部分;瀏覽器向服務器發(fā)送當前頁面請求消息;服務器從當前頁面請求消息頭部提取出cookie,從內(nèi)容部分提取出簽名后信息,由cookie確定出待簽名信息,對待簽名信息進行簽名,得到當前簽名后信息;服務器將當前簽名后信息與提取出的簽名后信息進行比較,如果兩者相同,則通過驗證。一種數(shù)據(jù)傳輸時進行安全性驗證的系統(tǒng),該系統(tǒng)包括瀏覽器和服務器;所述瀏覽器,用于提取當前頁面所對應域的cookie,將cookie加入待簽名信息中;對待簽名信息進行簽名,將簽名后信息放入當前頁面請求消息的內(nèi)容部分,向服務器發(fā)送當前頁面請求消息;所述服務器,用于從當前頁面請求消息頭部提取出cookie,從內(nèi)容部分提取出簽名后信息,由cookie確定出待簽名信息,對待簽名信息進行簽名,得到當前簽名后信息;將當前簽名后信息與提取出的簽名后信息進行比較,如果兩者相同,則通過驗證。從上述方案可以看出,本發(fā)明中,瀏覽器提取當前頁面所對應域的cookie,將cookie加入待簽名信息中,對待簽名信息進行簽名,將簽名后信息放入當前頁面請求消息的內(nèi)容部分;服務器接收當前頁面請求消息后,從中提取出cookie和簽名后信息,進行驗證。這樣,即使第三方偽造了當前頁面,由于第三方無法獲知本發(fā)明所采用的數(shù)據(jù)傳輸方式,也就是,不能獲知基于cookie進行簽名的數(shù)據(jù)傳輸方式,將導致服務器驗證失敗,相應地,服務器也就不會進行后續(xù)處理,從而,提高了數(shù)據(jù)傳輸?shù)陌踩浴?br>
圖1為本發(fā)明數(shù)據(jù)傳輸時進行安全性驗證的方法示意性流程圖2為本發(fā)明數(shù)據(jù)傳輸時進行安全性驗證的方法流程圖實例;圖3為本發(fā)明數(shù)據(jù)傳輸時進行安全性驗證的系統(tǒng)結(jié)構(gòu)示意圖。
具體實施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,下面結(jié)合實施例和附圖,對本發(fā)明進一步詳細說明。本發(fā)明中,采用基于cookie進行簽名的方式進行數(shù)據(jù)傳輸,具體地,瀏覽器提取當前頁面所對應域的cookie,將cookie加入待簽名信息中,對待簽名信息進行簽名,將簽名后信息放入當前頁面請求消息的內(nèi)容部分;服務器接收當前頁面請求消息后,從中提取出cookie和簽名后信息,進行驗證。這樣,即使第三方偽造了當前頁面,由于第三方無法獲知本發(fā)明所采用的數(shù)據(jù)傳輸方式,將導致服務器驗證失敗,相應地,服務器也就不會進行后續(xù)處理,從而,提高了數(shù)據(jù)傳輸?shù)陌踩?。參見圖1,為本發(fā)明數(shù)據(jù)傳輸時進行安全性驗證的方法示意性流程圖,該流程包括以下步驟:步驟101,瀏覽器提取當前頁面所對應域的cookie,將cookie加入待簽名信息中。步驟102,瀏覽器對待簽名信息進行簽名,將簽名后信息放入當前頁面請求消息的內(nèi)容部分。步驟103,瀏覽器向服務器發(fā)送當前頁面請求消息。根據(jù)瀏覽器的特點,瀏覽器將提取當前頁面所對應域的cookie,將cookie放入當前頁面請求消息的頭部,并將用戶在當前頁面輸入的信息放在當前頁面請求消息的內(nèi)容部分。本發(fā)明中,瀏覽器還在內(nèi)容部分放入了簽名后信息。步驟104,服務器從當前頁面請求消息頭部提取出cookie,從內(nèi)容部分提取出簽名后信息,由cookie確定出待簽名信息,對待簽名信息進行簽名,得到當前簽名后信息。服務器采用與瀏覽器相同的算法,對待簽名信息進行簽名,例如,消息摘要算法第五版(MD5,Message Digest Algorithm5)或安全哈希算法(SHA1, Secure Hash Algorithm)
算法等。步驟105,服務器將當前簽名后信息與提取出的簽名后信息進行比較,如果兩者相同,則通過驗證。如果通過驗證,則服務器對頁面請求消息進行正常的后續(xù)處理,包括完成充值支付等;如果驗證失敗,則服務器拒絕對頁面請求消息進行后續(xù)處理。采用本發(fā)明方案,瀏覽器向服務器發(fā)送的當前頁面請求消息已經(jīng)具有較高的安全性,且HTTPS通道的傳輸速度較HTTP通道慢,因而,瀏覽器可采用HTTP通道向服務器發(fā)送當前頁面請求消息;當然地,為了更進一步提高數(shù)據(jù)傳輸?shù)陌踩?,瀏覽器也可采用HTTPS通道向服務器發(fā)送當前頁面請求消息。上述流程涉及的待簽名信息具體內(nèi)容可根據(jù)需要設定,例如,該待簽名信息中可以只包含cookie,相應地,只要獲知了 cookie便確定出了待簽名信息。下面同樣以在本地應用平臺上運行網(wǎng)絡游戲的過程進行說明。瀏覽器首先顯示用戶登錄頁面,用戶輸入用戶名等登錄信息,瀏覽器將登錄信息保存在用戶登錄頁面所對應域的Cookie中,該用戶登錄頁面的域名例如為qq.com。而后,用戶選擇調(diào)用網(wǎng)絡游戲,瀏覽器顯示網(wǎng)絡游戲頁面,這里,將該網(wǎng)絡游戲頁面的域名表示為app.com,在網(wǎng)絡游戲中,用戶擁有虛擬資產(chǎn),如各種道具等,虛擬物品具有類似實物的可購買行及有價屬性。用戶在使用虛擬卡、幣等購買虛擬物品時,瀏覽器根據(jù)用戶操作顯示虛擬物品交換頁面,該虛擬物品交換頁面可具體為充值支付頁面,一般地,充值支付頁面與用戶登錄頁面的域名相同,這里都為qq.com;用戶在充值支付頁面中輸入充值數(shù)量和購買物品;瀏覽器提取qq.com對應的cookie,對cookie進行簽名,將簽名后信息放入當前頁面請求消息的內(nèi)容部分,將cookie放入頭部,將當前頁面請求消息通過HTTPS通道發(fā)送給服務器,該當前頁面請求消息的內(nèi)容部分還包含充值數(shù)量和購買物品。服務器接收頁面請求消息后從當前頁面請求消息頭部提取出cookie,從內(nèi)容部分提取出簽名后信息,對cookie進行簽名,得到當前簽名后信息;將當前簽名后信息與提取出的簽名后信息進行比較,如果兩者相同,則通過驗證。而后,進行相應的后續(xù)處理,包括從該用戶的賬戶扣除虛擬卡或幣,并向用戶配送其購買的物品。為了進一步提高數(shù)據(jù)傳輸?shù)陌踩?,可根?jù)需要在待簽名信息中添加其他信息。下面進行舉例說明,該實例的步驟流程如圖2所示:步驟201,服務器向瀏覽器下發(fā)交互標識(token)和簽名密鑰(sigkey),瀏覽器接收服務器下發(fā)的交互標識和簽名密鑰,將交互標識添加到當前頁面所對應域的cookie中。具體地,可以在需要采用本發(fā)明方案進行數(shù)據(jù)傳輸時,由瀏覽器預先向服務器請求下發(fā)交互標識和簽名密鑰。步驟202,瀏覽器提取當前頁面所對應域的cookie,將cookie和簽名密鑰加入待簽名信息中。步驟203,瀏覽器對待簽名信息進行簽名,將簽名后信息放入當前頁面請求消息的內(nèi)容部分。步驟204,瀏覽器向服務器發(fā)送當前頁面請求消息。步驟205,服務器從當前頁面請求消息頭部提取出cookie,從內(nèi)容部分提取出簽名后信息,由cookie確定出待簽名信息,對待簽名信息進行簽名,得到當前簽名后信息。雖然瀏覽器沒有向服務器傳送簽名密鑰,但服務器自身知道簽名密鑰,本實例中待簽名信息包含cookie和簽名密鑰,服務器從頭部提取出cookie之后,由提取出的cookie和已知的簽名密鑰便可得到了待簽名信息。步驟206,服務器將當前簽名后信息與提取出的簽名后信息進行比較,如果兩者相同,則通過驗證。參見圖3,為本發(fā)明數(shù)據(jù)傳輸時進行安全性驗證的系統(tǒng)結(jié)構(gòu)示意圖,該系統(tǒng)包括瀏覽器和服務器;所述瀏覽器,用于提取當前頁面所對應域的cookie,將cookie加入待簽名信息中;對待簽名信息進行簽名,將簽名后信息放入當前頁面請求消息的內(nèi)容部分,向服務器發(fā)送當前頁面請求消息;所述服務器,用于從當前頁面請求消息頭部提取出cookie,從內(nèi)容部分提取出簽名后信息,由cookie確定出待簽名信息,對待簽名信息進行簽名,得到當前簽名后信息;將當前簽名后信息與提取出的簽名后信息進行比較,如果兩者相同,則通過驗證??蛇x地,所述瀏覽器包括第一提取單元、第一簽名單元和發(fā)送單元,所述服務器包括第二提取單元、第二簽名單元和驗證單元;
所述第一提取單元,用于提取當前頁面所對應域的cookie,將cookie加入待簽名信息中,將待簽名信息發(fā)送給所述第一簽名單元;所述第一簽名單元,用于對待簽名信息進行簽名,將簽名后信息放入當前頁面請求消息的內(nèi)容部分,將當前頁面請求消息發(fā)送給所述發(fā)送單元;所述發(fā)送單元,用于將當前頁面請求消息發(fā)送給服務器;所述第二提取單元,用于從當前頁面請求消息頭部提取出cookie,從內(nèi)容部分提取出簽名后信息,發(fā)送給所述驗證單元;并由cookie確定出待簽名信息,將待簽名信息發(fā)送給所述第二簽名單元;所述第二簽名單元,用于對待簽名信息進行簽名,得到當前簽名后信息,將當前簽名后信息發(fā)送給所述驗證單元;所述驗證單元,用于將當前簽名后信息與提取出的簽名后信息進行比較,如果兩者相同,則通過驗證??蛇x地,所述瀏覽器還包含添加單元,用于接收服務器下發(fā)的交互標識和簽名密鑰,將交互標識添加到當前頁面所對應域的cookie中,將簽名密鑰加入待簽名信息中。所述當前頁面請求消息為關于當前頁面的超文件傳輸協(xié)議HTTP請求消息,或者,為關于當前頁面的安全超文本傳輸協(xié)議HTTPS請求消息。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應包含在本發(fā)明保護的范圍之內(nèi)。
權(quán)利要求
1.一種數(shù)據(jù)傳輸時進行安全性驗證的方法,其特征在于,該方法包括: 瀏覽器提取當前頁面所對應域的cookie,將cookie加入待簽名信息中; 瀏覽器對待簽名信息進行簽名,將簽名后信息放入當前頁面請求消息的內(nèi)容部分; 瀏覽器向服務器發(fā)送當前頁面請求消息; 服務器從當前頁面請求消息頭部提取出cookie,從內(nèi)容部分提取出簽名后信息,由cookie確定出待簽名信息,對待簽名信息進行簽名,得到當前簽名后信息; 服務器將當前簽名后信息與提取出的簽名后信息進行比較,如果兩者相同,則通過驗證。
2.如權(quán)利要求1所述的方法,其特征在于,所述瀏覽器對待簽名信息進行簽名包括:瀏覽器采用消息摘要算法第五版MD5或安全哈希算法SHAt對待簽名信息進行簽名; 所述服務器對待簽名信息進行簽名包括:服務器采用MD5或SHAt對待簽名信息進行簽名。
3.如權(quán)利要求1所述的方法,其特征在于,所述待簽名信息中只包含cookie。
4.如權(quán)利要求1所述的方法,其特征在于,所述瀏覽器提取當前頁面所對應域的cookie之前,該方法還包括:瀏覽器接收服務器下發(fā)的交互標識和簽名密鑰,將交互標識添加到當前頁面所對應域的cookie中,將簽名密鑰加入待簽名消息中。
5.如權(quán)利要求1至4中任一項所述的方法,其特征在于,所述當前頁面請求消息為關于當前頁面的超文件傳輸協(xié)議HTTP請求消息,或者,為關于當前頁面的安全超文本傳輸協(xié)議HTTPS請求消息。
6.如權(quán)利要求5所述的方法,其特征在于,所述當前頁面為虛擬物品交互頁面,當前頁面對應域的cookie為用戶登錄頁面對應域的cookie。
7.一種數(shù)據(jù)傳輸時進行安全性驗證的系統(tǒng),其特征在于,該系統(tǒng)包括瀏覽器和服務器; 所述瀏覽器,用于提取當前頁面所對應域的cookie,將cookie加入待簽名信息中;對待簽名信息進行簽名,將簽名后信息放入當前頁面請求消息的內(nèi)容部分,向服務器發(fā)送當前頁面請求消息; 所述服務器,用于從當前頁面請求消息頭部提取出cookie,從內(nèi)容部分提取出簽名后信息,由cookie確定出待簽名信息,對待簽名信息進行簽名,得到當前簽名后信息;將當前簽名后信息與提取出的簽名后信息進行比較,如果兩者相同,則通過驗證。
8.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述瀏覽器包括第一提取單元、第一簽名單元和發(fā)送單元,所述服務器包括第二提取單元、第二簽名單元和驗證單元; 所述第一提取單元,用于提取當前頁面所對應域的cookie,將cookie加入待簽名信息中,將待簽名信息發(fā)送給所述第一簽名單元; 所述第一簽名單元,用于對待簽名信息進行簽名,將簽名后信息放入當前頁面請求消息的內(nèi)容部分,將當前頁面請求消息發(fā)送給所述發(fā)送單元; 所述發(fā)送單元,用于將當前頁面請求消息發(fā)送給服務器; 所述第二提取單元, 用于從當前頁面請求消息頭部提取出cookie,從內(nèi)容部分提取出簽名后信息,發(fā)送給所述驗證單元;并由cookie確定出待簽名信息,將待簽名信息發(fā)送給所述第二簽名單元;所述第二簽名單元,用于對待簽名信息進行簽名,得到當前簽名后信息,將當前簽名后信息發(fā)送給所述驗證單元; 所述驗證單元,用于將當前簽名后信息與提取出的簽名后信息進行比較,如果兩者相同,則通過驗證。
9.如權(quán)利要求7或8所述的系統(tǒng),其特征在于,所述瀏覽器還包含添加單元,用于接收服務器下發(fā)的交互標識和簽名密鑰,將交互標識添加到當前頁面所對應域的cookie中,將簽名密鑰加入待簽名信息中。
10.如權(quán)利要求7或8所述的系統(tǒng),其特征在于,所述當前頁面請求消息為關于當前頁面的超文件傳輸協(xié)議HTTP請求消息,或者,為關于當前頁面的安全超文本傳輸協(xié)議HTTPS請求消息。`
全文摘要
本發(fā)明提供了數(shù)據(jù)傳輸時進行安全性驗證的方法及系統(tǒng),其中,該方法包括瀏覽器提取當前頁面所對應域的cookie,將cookie加入待簽名信息中;瀏覽器對待簽名信息進行簽名,將簽名后信息放入當前頁面請求消息的內(nèi)容部分,向服務器發(fā)送當前頁面請求消息;服務器從當前頁面請求消息頭部提取出cookie,從內(nèi)容部分提取出簽名后信息,由cookie確定出待簽名信息,對待簽名信息進行簽名,得到當前簽名后信息;服務器將當前簽名后信息與從內(nèi)容部分提取出簽名后信息進行比較,如果兩者相同,則通過驗證。本發(fā)明方案能夠顯著提高數(shù)據(jù)傳輸?shù)陌踩浴?br>
文檔編號H04L9/32GK103139147SQ20111038031
公開日2013年6月5日 申請日期2011年11月25日 優(yōu)先權(quán)日2011年11月25日
發(fā)明者陳寧國 申請人:騰訊科技(深圳)有限公司