本發(fā)明屬于通信技術(shù)領(lǐng)域,尤其涉及一種虛擬資源數(shù)據(jù)的處理方法、裝置及系統(tǒng)。
背景技術(shù):
隨著互聯(lián)網(wǎng)絡(luò)技術(shù)的不斷進(jìn)步,人們對互聯(lián)網(wǎng)絡(luò)安全的要求也越來越高。
以基于客戶端數(shù)字證書的快捷支付為例,目前通常在發(fā)起支付請求時(shí),首先使用客戶端數(shù)字證書中的私鑰對支付請求中的部分字段對進(jìn)行數(shù)字簽名,然后將簽名后的數(shù)據(jù)作為一個(gè)新的字段和支付請求中的其他信息一起提交到支付后臺服務(wù)器,后臺服務(wù)器收到請求后,使用證書的公鑰對簽名進(jìn)行解密,如果解密成功且解密后的數(shù)據(jù)正確,則認(rèn)為是用戶的正確支付請求。由于客戶端證書的私鑰只有用戶的終端設(shè)備上才可以獲得,其他人很難仿冒用戶的簽名。
在對現(xiàn)有技術(shù)的研究和實(shí)踐過程中,本發(fā)明的發(fā)明人發(fā)現(xiàn),后臺處理用戶的支付請求時(shí),需要實(shí)時(shí)的對用戶的使用非對稱加密算法加密的簽名進(jìn)行解密,而非對稱加密算法加解密的效率是相當(dāng)?shù)偷摹R怨€加密算法(RSA,RSA algorithm)為例,其加解密速度相當(dāng)于同等加密強(qiáng)度的對稱加密算法的1/1000左右。在這種設(shè)計(jì)下,證書用戶對后臺服務(wù)器造成的壓力必然顯著大于非證書用戶,運(yùn)行效率相對較低。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種虛擬資源數(shù)據(jù)的處理方法及裝置,旨在減輕服務(wù)器的負(fù)載壓力,提高服務(wù)器的運(yùn)行速率。
為解決上述技術(shù)問題,本發(fā)明實(shí)施例第一方面提供:
一種虛擬資源數(shù)據(jù)的處理方法,其中包括:
發(fā)送虛擬資源數(shù)據(jù)的轉(zhuǎn)移請求,所述轉(zhuǎn)移請求攜帶請求相關(guān)的字段信息;
根據(jù)所述轉(zhuǎn)移請求,獲取服務(wù)器預(yù)設(shè)的第一挑戰(zhàn)碼,所述第一挑戰(zhàn)碼利用客戶端證書的公鑰加密后生成;
獲取客戶端證書的私鑰,并利用所述客戶端證書的私鑰對所述第一挑戰(zhàn)碼進(jìn)行解密;
根據(jù)解密后的第一挑戰(zhàn)碼以及所述字段信息生成第一數(shù)字簽名;
當(dāng)確定所述第一數(shù)字簽名與所述服務(wù)器中第二數(shù)字簽名一致時(shí),則指示允許所述虛擬資源轉(zhuǎn)移。
本發(fā)明實(shí)施例第二方面提供:
一種虛擬資源數(shù)據(jù)的處理方法,其中包括:
接收虛擬資源數(shù)據(jù)的轉(zhuǎn)移請求,所述轉(zhuǎn)移請求攜帶請求相關(guān)的字段信息;
根據(jù)所述轉(zhuǎn)移請求,向客戶端發(fā)送預(yù)設(shè)的第一挑戰(zhàn)碼,所述第一挑戰(zhàn)碼利用客戶端證書的公鑰加密后生成;
接收客戶端發(fā)送的第一數(shù)字簽名,所述第一數(shù)字簽名由所述客戶端利用客戶端證書的私鑰對所述第一挑戰(zhàn)碼進(jìn)行解密,并根據(jù)解密后的第一挑戰(zhàn)碼以及所述字段信息所生成;
當(dāng)確定所述第一數(shù)字簽名與所述服務(wù)器中第二數(shù)字簽名一致時(shí),則指示允許所述虛擬資源轉(zhuǎn)移。
本發(fā)明實(shí)施例第三方面提供:
一種虛擬資源數(shù)據(jù)的處理裝置,其中包括:
第一發(fā)送模塊,用于發(fā)送虛擬資源數(shù)據(jù)的轉(zhuǎn)移請求,所述轉(zhuǎn)移請求攜帶請求相關(guān)的字段信息;
第一獲取模塊,用于根據(jù)所述轉(zhuǎn)移請求,獲取服務(wù)器預(yù)設(shè)的第一挑戰(zhàn)碼,所述第一挑戰(zhàn)碼利用客戶端證書的公鑰加密后生成;
解密模塊,用于獲取客戶端證書的私鑰,并利用所述客戶端證書的私鑰對 所述第一挑戰(zhàn)碼進(jìn)行解密;
第一生成模塊,用于根據(jù)解密后的第一挑戰(zhàn)碼以及所述字段信息生成第一數(shù)字簽名;
第一指示模塊,用于當(dāng)確定所述第一數(shù)字簽名與所述服務(wù)器中第二數(shù)字簽名一致時(shí),則指示允許所述虛擬資源轉(zhuǎn)移。
本發(fā)明實(shí)施例第四方面提供:
一種虛擬資源數(shù)據(jù)的處理裝置,其中包括:
第二接收模塊,用于接收虛擬資源數(shù)據(jù)的轉(zhuǎn)移請求,所述轉(zhuǎn)移請求攜帶請求相關(guān)的字段信息;
第三發(fā)送模塊,用于根據(jù)所述轉(zhuǎn)移請求,向客戶端發(fā)送預(yù)設(shè)的第一挑戰(zhàn)碼,所述第一挑戰(zhàn)碼利用客戶端證書的公鑰加密后生成;
第三接收模塊,用于接收客戶端發(fā)送的第一數(shù)字簽名,所述第一數(shù)字簽名由所述客戶端利用客戶端證書的私鑰對所述第一挑戰(zhàn)碼進(jìn)行解密,并根據(jù)解密后的第一挑戰(zhàn)碼以及所述字段信息所生成;
第二指示模塊,用于當(dāng)確定所述第一數(shù)字簽名與所述服務(wù)器中第二數(shù)字簽名一致時(shí),則指示允許所述虛擬資源轉(zhuǎn)移。
本發(fā)明實(shí)施例第五方面提供:
一種虛擬資源數(shù)據(jù)的處理系統(tǒng),包括客戶端和服務(wù)器,其中,所述客戶端為第三方面提供的虛擬資源數(shù)據(jù)的處理裝置,所述服務(wù)器為第四方面提供的虛擬資源數(shù)據(jù)的處理裝置。
相對于現(xiàn)有技術(shù),本實(shí)施例,服務(wù)器提前使用客戶端證書中的公鑰為用戶生成挑戰(zhàn)碼;用戶請求虛擬資源轉(zhuǎn)移時(shí)使用客戶端證書的私鑰解密挑戰(zhàn)碼;然后根據(jù)將解密后的挑戰(zhàn)碼和請求相關(guān)的字段信息生成數(shù)字簽名;服務(wù)器通過驗(yàn)證客戶端生成的數(shù)字簽名的正確性來確認(rèn)該虛擬資源轉(zhuǎn)移請求是否合法;由于攻擊者沒有用戶的客戶端證書,無法對公鑰加密的挑戰(zhàn)碼進(jìn)行解密,因此無法模仿用戶的簽名。生成的數(shù)字簽名包含與對應(yīng)支付請求的相關(guān)信息,且該簽名 只能用于本次交易,更能保證交易的安全性;并且,由于挑戰(zhàn)碼提前設(shè)置,大大降低了支付高峰時(shí)給服務(wù)器帶來的負(fù)載壓力,提高服務(wù)器的運(yùn)行速率。
附圖說明
下面結(jié)合附圖,通過對本發(fā)明的具體實(shí)施方式詳細(xì)描述,將使本發(fā)明的技術(shù)方案及其它有益效果顯而易見。
圖1是本發(fā)明第一實(shí)施例提供的虛擬資源數(shù)據(jù)的處理方法的流程示意圖;
圖2為本發(fā)明第二實(shí)施例提供的虛擬資源數(shù)據(jù)的處理方法的流程示意圖;
圖3為本發(fā)明第三實(shí)施例提供的虛擬資源數(shù)據(jù)的處理方法的流程示意圖;
圖4為本發(fā)明第四實(shí)施例提供的虛擬資源數(shù)據(jù)的處理裝置的結(jié)構(gòu)示意圖;
圖5為本發(fā)明第五實(shí)施例提供的虛擬資源數(shù)據(jù)的處理裝置的結(jié)構(gòu)示意圖;
圖6為本發(fā)明第六實(shí)施例提供的虛擬資源數(shù)據(jù)的處理系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
請參照圖式,其中相同的組件符號代表相同的組件,本發(fā)明的原理是以實(shí)施在一適當(dāng)?shù)倪\(yùn)算環(huán)境中來舉例說明。以下的說明是基于所例示的本發(fā)明具體實(shí)施例,其不應(yīng)被視為限制本發(fā)明未在此詳述的其它具體實(shí)施例。
在以下的說明中,本發(fā)明的具體實(shí)施例將參考由一部或多部計(jì)算機(jī)所執(zhí)行的步驟及符號來說明,除非另有述明。因此,這些步驟及操作將有數(shù)次提到由計(jì)算機(jī)執(zhí)行,本文所指的計(jì)算機(jī)執(zhí)行包括了由代表了以一結(jié)構(gòu)化型式中的數(shù)據(jù)的電子信號的計(jì)算機(jī)處理單元的操作。此操作轉(zhuǎn)換該數(shù)據(jù)或?qū)⑵渚S持在該計(jì)算機(jī)的內(nèi)存系統(tǒng)中的位置處,其可重新配置或另外以本領(lǐng)域測試人員所熟知的方式來改變該計(jì)算機(jī)的運(yùn)作。該數(shù)據(jù)所維持的數(shù)據(jù)結(jié)構(gòu)為該內(nèi)存的實(shí)體位置,其具有由該數(shù)據(jù)格式所定義的特定特性。但是,本發(fā)明原理以上述文字來說明,其并不代表為一種限制,本領(lǐng)域測試人員將可了解到以下所述的多種步驟及操作亦可實(shí)施在硬件當(dāng)中。
本發(fā)明的原理使用許多其它泛用性或特定目的運(yùn)算、通信環(huán)境或組態(tài)來進(jìn)行操作。所熟知的適合用于本發(fā)明的運(yùn)算系統(tǒng)、環(huán)境與組態(tài)的范例可包括(但不限于)手持電話、個(gè)人計(jì)算機(jī)、服務(wù)器、多處理器系統(tǒng)、微電腦為主的系統(tǒng)、主架構(gòu)型計(jì)算機(jī)、及分布式運(yùn)算環(huán)境,其中包括了任何的上述系統(tǒng)或裝置。
本文所使用的術(shù)語「模塊」可看做為在該運(yùn)算系統(tǒng)上執(zhí)行的軟件對象。本文所述的不同組件、模塊、引擎及服務(wù)可看做為在該運(yùn)算系統(tǒng)上的實(shí)施對象。而本文所述的裝置及方法優(yōu)選的以軟件的方式進(jìn)行實(shí)施,當(dāng)然也可在硬件上進(jìn)行實(shí)施,均在本發(fā)明保護(hù)范圍之內(nèi)。
第一實(shí)施例
請參閱圖1,圖1是本發(fā)明第一實(shí)施例提供的虛擬資源數(shù)據(jù)的處理方法的流程示意圖。所述方法包括:
在步驟S101中,發(fā)送虛擬資源數(shù)據(jù)的轉(zhuǎn)移請求,所述轉(zhuǎn)移請求攜帶請求相關(guān)的字段信息。
可以理解的是,所述虛擬資源數(shù)據(jù)的處理方法可基于一客戶端上運(yùn)行,所述客戶端可以為筆記型計(jì)算機(jī)、平板PC(Personal Computer)、手機(jī)等具備儲存單元并安裝有微處理器而具有運(yùn)算能力的終端機(jī)構(gòu)成,本發(fā)明對此不作具體限定。
本發(fā)明實(shí)施例中所述虛擬資源數(shù)據(jù)的轉(zhuǎn)移請求可以包括移動支付處理、扣款處理,轉(zhuǎn)賬處理等,此處不作具體限定。
在步驟S102中,根據(jù)所述轉(zhuǎn)移請求,獲取服務(wù)器預(yù)設(shè)的第一挑戰(zhàn)碼,所述第一挑戰(zhàn)碼利用客戶端證書的公鑰加密后生成。
在步驟S103中,獲取客戶端證書的私鑰,并利用所述客戶端證書的私鑰對所述第一挑戰(zhàn)碼進(jìn)行解密。
在步驟S104中,根據(jù)解密后的第一挑戰(zhàn)碼以及所述字段信息生成第一數(shù)字簽名。
其中,所述步驟S102至步驟S104可具體為:
可以理解的是,挑戰(zhàn)碼(challenge)也稱作挑戰(zhàn)口令,是指遵循握手驗(yàn)證協(xié)議生成的一組加密口令,用于在傳輸過程中保證用戶的真實(shí)密碼不被泄露。本發(fā)明實(shí)施例中所述第一挑戰(zhàn)碼是指服務(wù)器利用客戶端證書的公鑰加密后生成的挑戰(zhàn)碼;容易想到的是,本實(shí)施例中“第一”、“第二”僅為便于區(qū)別說明,并不構(gòu)成限定。
客戶端獲取服務(wù)器所述第一挑戰(zhàn)碼后,利用客戶端證書的私鑰對所述第一挑戰(zhàn)碼進(jìn)行解密,然后根據(jù)解密后的第一挑戰(zhàn)碼以及請求相關(guān)的字段信息生成第一數(shù)字簽名,由于攻擊者沒有用戶的客戶端證書,無法對公鑰加密的第一挑戰(zhàn)碼進(jìn)行解密,因此無法模仿用戶的數(shù)字簽名,提高交易安全性。
在步驟S105中,當(dāng)確定所述第一數(shù)字簽名與所述服務(wù)器中第二數(shù)字簽名一致時(shí),則指示允許所述虛擬資源轉(zhuǎn)移。
服務(wù)器獲取所述客戶端生成的第一數(shù)字簽名,將所述第一數(shù)字簽名與其生成的第二數(shù)字簽名進(jìn)行比較,若確定出第一數(shù)字簽名與第二數(shù)字簽名一致時(shí),則接受所述客戶端發(fā)送的虛擬資源轉(zhuǎn)移請求,所述客戶端向用戶指示允許所述虛擬資源轉(zhuǎn)移。
由上述可知,本實(shí)施例提供的虛擬資源數(shù)據(jù)的處理方法,服務(wù)器提前使用客戶端證書中的公鑰為用戶生成挑戰(zhàn)碼;用戶請求虛擬資源轉(zhuǎn)移時(shí)使用客戶端證書的私鑰解密挑戰(zhàn)碼;然后根據(jù)將解密后的挑戰(zhàn)碼和請求相關(guān)的字段信息生成數(shù)字簽名;服務(wù)器通過驗(yàn)證客戶端生成的數(shù)字簽名的正確性來確認(rèn)該虛擬資源轉(zhuǎn)移請求是否合法;由于攻擊者沒有用戶的客戶端證書,無法對公鑰加密的挑戰(zhàn)碼進(jìn)行解密,因此無法模仿用戶的簽名。生成的數(shù)字簽名包含與對應(yīng)支付請求的相關(guān)信息,且該簽名只能用于本次交易,更能保證交易的安全性;并且,由于挑戰(zhàn)碼提前設(shè)置,大大降低了支付高峰時(shí)給服務(wù)器帶來的負(fù)載壓力,提高服務(wù)器的運(yùn)行速率。
第二實(shí)施例
請參閱圖2,圖2為本發(fā)明第二實(shí)施例提供的虛擬資源數(shù)據(jù)的處理方法的流程示意圖。
其中,本實(shí)施例提供與第一實(shí)施例相對應(yīng)的虛擬資源數(shù)據(jù)的處理方法;該方法基于一服務(wù)器上運(yùn)行,所述服務(wù)器接收客戶端發(fā)送的虛擬資源的轉(zhuǎn)移請求,并對所述虛擬資源的轉(zhuǎn)移請求進(jìn)行處理;其中,所述客戶端可以為筆記型計(jì)算機(jī)、平板PC、手機(jī)等具備儲存單元并安裝有微處理器而具有運(yùn)算能力的終端機(jī)構(gòu)成;本發(fā)明實(shí)施例中所述虛擬資源數(shù)據(jù)的轉(zhuǎn)移請求可以包括移動支付處理、扣款處理,轉(zhuǎn)賬處理等,此處不作具體限定。
所述方法包括:
在步驟S201中,接收虛擬資源數(shù)據(jù)的轉(zhuǎn)移請求,所述轉(zhuǎn)移請求攜帶請求相關(guān)的字段信息。
在步驟S202中,根據(jù)所述轉(zhuǎn)移請求,向客戶端發(fā)送預(yù)設(shè)的第一挑戰(zhàn)碼,所述第一挑戰(zhàn)碼利用客戶端證書的公鑰加密后生成。
在步驟S203中,接收客戶端發(fā)送的第一數(shù)字簽名,所述第一數(shù)字簽名由所述客戶端利用客戶端證書的私鑰對所述第一挑戰(zhàn)碼進(jìn)行解密,并根據(jù)解密后的第一挑戰(zhàn)碼以及所述字段信息所生成。
其中,所述步驟S201與步驟S203可具體為:
可以理解的是,挑戰(zhàn)碼也稱作挑戰(zhàn)口令,是指遵循握手驗(yàn)證協(xié)議生成的一組加密口令,用于在傳輸過程中保證用戶的真實(shí)密碼不被泄露。本發(fā)明實(shí)施例中所述第一挑戰(zhàn)碼是指服務(wù)器利用客戶端證書的公鑰加密后生成的挑戰(zhàn)碼。
客戶端獲取服務(wù)器所述第一挑戰(zhàn)碼后,利用客戶端證書的私鑰對所述第一挑戰(zhàn)碼進(jìn)行解密,然后根據(jù)解密后的第一挑戰(zhàn)碼以及請求相關(guān)的字段信息生成第一數(shù)字簽名,并發(fā)送至所述服務(wù)器;由于攻擊者沒有用戶的客戶端證書,無法對公鑰加密的第一挑戰(zhàn)碼進(jìn)行解密,因此無法模仿用戶的數(shù)字簽名,提高交易安全性。
在步驟S204中,當(dāng)確定所述第一數(shù)字簽名與所述服務(wù)器中第二數(shù)字簽名一致時(shí),則指示允許所述虛擬資源轉(zhuǎn)移。
服務(wù)器獲取所述客戶端生成的第一數(shù)字簽名,將所述第一數(shù)字簽名與其生成的第二數(shù)字簽名進(jìn)行比較,若確定出第一數(shù)字簽名與第二數(shù)字簽名一致時(shí),則接受所述客戶端發(fā)送的虛擬資源轉(zhuǎn)移請求,所述客戶端向用戶指示允許所述虛擬資源轉(zhuǎn)移。
由上述可知,本實(shí)施例提供的虛擬資源數(shù)據(jù)的處理方法,服務(wù)器提前使用客戶端證書中的公鑰為用戶生成挑戰(zhàn)碼;用戶請求虛擬資源轉(zhuǎn)移時(shí)使用客戶端證書的私鑰解密挑戰(zhàn)碼;然后根據(jù)將解密后的挑戰(zhàn)碼和請求相關(guān)的字段信息生成數(shù)字簽名;服務(wù)器通過驗(yàn)證客戶端生成的數(shù)字簽名的正確性來確認(rèn)該虛擬資源轉(zhuǎn)移請求是否合法;由于攻擊者沒有用戶的客戶端證書,無法對公鑰加密的挑戰(zhàn)碼進(jìn)行解密,因此無法模仿用戶的簽名。生成的數(shù)字簽名包含與對應(yīng)支付請求的相關(guān)信息,且該簽名只能用于本次交易,更能保證交易的安全性;并且,由于挑戰(zhàn)碼提前設(shè)置,大大降低了支付高峰時(shí)給服務(wù)器帶來的負(fù)載壓力,提高服務(wù)器的運(yùn)行速率。
第三實(shí)施例
請參閱圖3,圖3為本發(fā)明第三實(shí)施例提供的虛擬資源數(shù)據(jù)的處理方法的流程示意圖。所述方法包括:
在步驟S301中、服務(wù)器接收用戶信息;
在步驟S302中、服務(wù)器根據(jù)所述用戶信息,生成相對應(yīng)的第二挑戰(zhàn)碼,所述第二挑戰(zhàn)碼攜帶對應(yīng)的挑戰(zhàn)碼明文和挑戰(zhàn)碼密文;
在步驟S303中、服務(wù)器獲取所述用戶信息指示的用戶客戶端證書的公鑰;
在步驟S304中、服務(wù)器利用所述客戶端證書的公鑰對所述挑戰(zhàn)碼進(jìn)行加密,生成第一挑戰(zhàn)碼,并存儲所述挑戰(zhàn)碼明文和挑戰(zhàn)碼密文。
其中,所述步驟S301至步驟S304可具體為:服務(wù)器中預(yù)設(shè)的第一挑戰(zhàn)碼 可以在虛擬資源轉(zhuǎn)移之前進(jìn)行設(shè)置,所述第一挑戰(zhàn)碼是服務(wù)器利用客戶端證書的公鑰加密后生成。
可以理解的是,針對于客戶端,在發(fā)送虛擬資源的轉(zhuǎn)移請求之前,發(fā)送用戶信息,以使所述服務(wù)器根據(jù)所述用戶信息進(jìn)行處理以生成第一挑戰(zhàn)碼,所述處理包括:所述服務(wù)器根據(jù)所述用戶信息相對應(yīng)的第二挑戰(zhàn)碼,獲取所述用戶信息指示的客戶端證書的公鑰,所述服務(wù)器利用所述客戶端證書的公鑰對所述第二挑戰(zhàn)碼進(jìn)行加密,生成第一挑戰(zhàn)碼。
在步驟S305中,客戶端發(fā)送虛擬資源數(shù)據(jù)的轉(zhuǎn)移請求,所述轉(zhuǎn)移請求攜帶請求相關(guān)的字段信息;
其中,本發(fā)明實(shí)施例中所述虛擬資源數(shù)據(jù)的轉(zhuǎn)移請求可以包括移動支付處理、扣款處理,轉(zhuǎn)賬處理等,此處不作具體限定。
在步驟S306中,服務(wù)器根據(jù)所述轉(zhuǎn)移請求,向客戶端發(fā)送預(yù)設(shè)的第一挑戰(zhàn)碼;
在步驟S307中,客戶端獲取客戶端證書的私鑰,并利用所述客戶端證書的私鑰對所述第一挑戰(zhàn)碼進(jìn)行解密;
在步驟S308中,客戶端根據(jù)解密后的第一挑戰(zhàn)碼以及所述字段信息生成第一數(shù)字簽名;
其中,所述步驟S306至步驟S308可具體為:
優(yōu)選的,所述客戶端根據(jù)解密后的第一挑戰(zhàn)碼以及所述字段信息中的訂單號字段,使用單向散列算法生成第一數(shù)字簽名。
客戶端獲取服務(wù)器所述第一挑戰(zhàn)碼后,利用客戶端證書的私鑰對所述第一挑戰(zhàn)碼進(jìn)行解密,然后根據(jù)解密后的第一挑戰(zhàn)碼以及請求相關(guān)的字段信息生成第一數(shù)字簽名,并將所述第一數(shù)字簽名以及所述字段信息發(fā)送至服務(wù)器;由于攻擊者沒有用戶的客戶端證書,無法對公鑰加密的第一挑戰(zhàn)碼進(jìn)行解密,因此無法模仿用戶的數(shù)字簽名,提高交易安全性。
在步驟S309中,服務(wù)器獲取所述第一數(shù)字簽名,并將所述第一數(shù)字簽名 與所述服務(wù)器中第二數(shù)字簽名進(jìn)行比較;
可以理解的是,服務(wù)器獲取到第一數(shù)字簽名以及所述字段信息之后,可根據(jù)所述挑戰(zhàn)碼明文和所述字段信息,利用同樣的算法,如上述單向散列算法生成第二數(shù)字簽名;服務(wù)器獲取客戶端生成的第一數(shù)字簽名,將第一數(shù)字簽名與第二數(shù)字簽名進(jìn)行比較,得到比較結(jié)果,并將比較結(jié)果發(fā)送至客戶端。
針對于客戶端,客戶端接收所述服務(wù)器發(fā)送的比較結(jié)果,所述比較結(jié)果由服務(wù)器根據(jù)所述挑戰(zhàn)碼明文和所述字段信息生成第二數(shù)字簽名,并將所述第一數(shù)字簽名與所述第二數(shù)字簽名進(jìn)行比較而得到。
在步驟S310中,當(dāng)確定所述第一數(shù)字簽名與所述服務(wù)器中第二數(shù)字簽名一致時(shí),則指示允許所述虛擬資源轉(zhuǎn)移。
針對于客戶端,當(dāng)客戶端根據(jù)所述比較結(jié)果確定所述第一數(shù)字簽名與所述第二數(shù)字簽名一致時(shí),則指示允許所述虛擬資源轉(zhuǎn)移。
為方便理解本發(fā)明技術(shù)方案,基于上述實(shí)施例,下面以一具體應(yīng)用場景對所述虛擬資源數(shù)據(jù)的處理方法進(jìn)行分析說明:
該場景中,虛擬資源轉(zhuǎn)移具體指客戶端與服務(wù)器之間的支付處理,其中,該服務(wù)器可具體為支付后臺服務(wù)器,該客戶端可具體為手機(jī);
其步驟包括:
步驟S1、客戶端向支付后臺服務(wù)器發(fā)送一個(gè)支付請求;
即用戶使用客戶端下單后點(diǎn)擊支付,以觸發(fā)向服務(wù)器發(fā)起支付請求。
步驟S2、支付后臺服務(wù)器接收該支付請求,返回一個(gè)使用客戶端證書的公鑰加密的第一挑戰(zhàn)碼;
支付后臺服務(wù)器檢測該訂單的合法性,返回所述第一挑戰(zhàn)碼,以及該訂單的詳情、支持的支付方式等信息。
步驟S3、客戶端收到第一挑戰(zhàn)碼后,彈出支付確認(rèn)界面,以供用戶確認(rèn)支付方式及訂單信息的正確性。
用戶點(diǎn)擊確定后進(jìn)入步驟S4。
步驟S4、客戶端使用客戶端證書中的私鑰對所述第一挑戰(zhàn)碼進(jìn)行解密,然后將解密后的第一挑戰(zhàn)碼,同訂單號、用戶選擇的支付方式等字段使用MD5算法生成簽名字段Signstr(即第一數(shù)字簽名);然后將SignStr和訂單號、支付方式及其他支付相關(guān)信息一起發(fā)送到支付后臺服務(wù)器。
步驟S5、支付后臺服務(wù)器使用挑戰(zhàn)碼明文和訂單號等信息采用客戶端同樣的算法生成簽名字段(即第二數(shù)字簽名),并同客戶端傳來的簽名字段進(jìn)行比較驗(yàn)證,若簽名驗(yàn)證通過,則根據(jù)可以直接向客戶端返回支付成功,或者要求用戶加驗(yàn)支付密碼、短信驗(yàn)證碼后再完成支付。
由上述可知,本實(shí)施例提供的虛擬資源數(shù)據(jù)的處理方法,服務(wù)器提前使用客戶端證書中的公鑰為用戶生成挑戰(zhàn)碼;用戶請求虛擬資源轉(zhuǎn)移時(shí)使用客戶端證書的私鑰解密挑戰(zhàn)碼;然后根據(jù)將解密后的挑戰(zhàn)碼和請求相關(guān)的字段信息生成數(shù)字簽名;服務(wù)器通過驗(yàn)證客戶端生成的數(shù)字簽名的正確性來確認(rèn)該虛擬資源轉(zhuǎn)移請求是否合法;由于攻擊者沒有用戶的客戶端證書,無法對公鑰加密的挑戰(zhàn)碼進(jìn)行解密,因此無法模仿用戶的簽名。生成的數(shù)字簽名包含與對應(yīng)支付請求的相關(guān)信息,且該簽名只能用于本次交易,更能保證交易的安全性;并且,由于挑戰(zhàn)碼提前設(shè)置,大大降低了支付高峰時(shí)給服務(wù)器帶來的負(fù)載壓力,提高服務(wù)器的運(yùn)行速率。進(jìn)一步的,減低基于客戶端數(shù)字證書的快捷支付的業(yè)務(wù)運(yùn)營成本。
第四實(shí)施例
為便于更好的實(shí)施本發(fā)明實(shí)施例提供的虛擬資源數(shù)據(jù)的處理方法,本發(fā)明實(shí)施例還提供一種基于上述虛擬資源數(shù)據(jù)的處理方法的裝置。其中名詞的含義與上述第一實(shí)施例中的虛擬資源的處理的方法中相同,具體實(shí)現(xiàn)細(xì)節(jié)可以參考方法實(shí)施例中的說明。
請參閱圖4,圖4為本發(fā)明實(shí)施例提供的虛擬資源數(shù)據(jù)的處理裝置的結(jié)構(gòu)示意圖,其中所述虛擬資源數(shù)據(jù)的處理裝置可基于一客戶端上運(yùn)行,所述客戶 端可以為筆記型計(jì)算機(jī)、平板PC、手機(jī)等具備儲存單元并安裝有微處理器而具有運(yùn)算能力的終端機(jī)構(gòu)成,本發(fā)明對此不作具體限定。
如圖4所示,本發(fā)明所述虛擬資源數(shù)據(jù)的處理裝置可以包括第一發(fā)送模塊401、第一獲取模塊402、解密模塊403、第一生成模塊404以及第一指示模塊405。
其中,所述第一發(fā)送模塊401,用于發(fā)送虛擬資源數(shù)據(jù)的轉(zhuǎn)移請求,所述轉(zhuǎn)移請求攜帶請求相關(guān)的字段信息;所述第一獲取模塊402,用于根據(jù)所述轉(zhuǎn)移請求,獲取服務(wù)器預(yù)設(shè)的第一挑戰(zhàn)碼,所述第一挑戰(zhàn)碼利用客戶端證書的公鑰加密后生成;
所述解密模塊403,用于獲取客戶端證書的私鑰,并利用所述客戶端證書的私鑰對所述第一挑戰(zhàn)碼進(jìn)行解密;所述第一生成模塊404,用于根據(jù)解密后的第一挑戰(zhàn)碼以及所述字段信息生成第一數(shù)字簽名;所述第一指示模塊405,用于當(dāng)確定所述第一數(shù)字簽名與所述服務(wù)器中第二數(shù)字簽名一致時(shí),則指示允許所述虛擬資源轉(zhuǎn)移。
基于圖4提供的虛擬資源數(shù)據(jù)的處理裝置,還可以作出以下優(yōu)選設(shè)置:
所述第一生成模塊404具體用于:根據(jù)解密后的第一挑戰(zhàn)碼以及所述字段信息中的訂單號字段,使用單向散列算法生成第一數(shù)字簽名。
進(jìn)一步優(yōu)選的,所述裝置還可以包括:第二發(fā)送模塊,用于將所述第一數(shù)字簽名以及所述字段信息發(fā)送至服務(wù)器;第一接收模塊,用于接收所述服務(wù)器發(fā)送的比較結(jié)果,所述比較結(jié)果由服務(wù)器根據(jù)所述挑戰(zhàn)碼明文和所述字段信息生成第二數(shù)字簽名,并將所述第一數(shù)字簽名與所述第二數(shù)字簽名進(jìn)行比較而得到;基于此,所述第一指示模塊405具體用于:當(dāng)根據(jù)所述比較結(jié)果確定所述第一數(shù)字簽名與所述第二數(shù)字簽名一致時(shí),則指示允許所述虛擬資源轉(zhuǎn)移。
可以理解的是,在該實(shí)施例中沒有詳述的部分,可以參見上文第一和第三實(shí)施例中針對虛擬資源數(shù)據(jù)的處理方法的詳細(xì)描述,此處不再贅述。
由上述可知,本實(shí)施例提供的虛擬資源數(shù)據(jù)的處理裝置,服務(wù)器提前使用 客戶端證書中的公鑰為用戶生成挑戰(zhàn)碼;用戶請求虛擬資源轉(zhuǎn)移時(shí)使用客戶端證書的私鑰解密挑戰(zhàn)碼;然后根據(jù)將解密后的挑戰(zhàn)碼和請求相關(guān)的字段信息生成數(shù)字簽名;服務(wù)器通過驗(yàn)證客戶端生成的數(shù)字簽名的正確性來確認(rèn)該虛擬資源轉(zhuǎn)移請求是否合法;由于攻擊者沒有用戶的客戶端證書,無法對公鑰加密的挑戰(zhàn)碼進(jìn)行解密,因此無法模仿用戶的簽名。生成的數(shù)字簽名包含與對應(yīng)支付請求的相關(guān)信息,且該簽名只能用于本次交易,更能保證交易的安全性;并且,由于挑戰(zhàn)碼提前設(shè)置,大大降低了支付高峰時(shí)給服務(wù)器帶來的負(fù)載壓力,提高服務(wù)器的運(yùn)行速率。
第五實(shí)施例
請參閱圖5,圖5為本發(fā)明實(shí)施例提供的虛擬資源數(shù)據(jù)的處理裝置的結(jié)構(gòu)示意圖,其中名詞的含義與上述第二實(shí)施例中的虛擬資源的處理的方法中相同,具體實(shí)現(xiàn)細(xì)節(jié)可以參考方法實(shí)施例中的說明。
優(yōu)選的,所述虛擬資源數(shù)據(jù)的處理裝置包括第二接收模塊501、第三發(fā)送模塊502、第三接收模塊503以及第二指示模塊504;
其中,所述第二接收模塊501,用于接收虛擬資源數(shù)據(jù)的轉(zhuǎn)移請求,所述轉(zhuǎn)移請求攜帶請求相關(guān)的字段信息;所述第三發(fā)送模塊502,用于根據(jù)所述轉(zhuǎn)移請求,向客戶端發(fā)送預(yù)設(shè)的第一挑戰(zhàn)碼,所述第一挑戰(zhàn)碼利用客戶端證書的公鑰加密后生成;
所述第三接收模塊503,用于接收客戶端發(fā)送的第一數(shù)字簽名,所述第一數(shù)字簽名由所述客戶端利用客戶端證書的私鑰對所述第一挑戰(zhàn)碼進(jìn)行解密,并根據(jù)解密后的第一挑戰(zhàn)碼以及所述字段信息所生成;所述第二指示模塊504,用于當(dāng)確定所述第一數(shù)字簽名與所述服務(wù)器中第二數(shù)字簽名一致時(shí),則指示允許所述虛擬資源轉(zhuǎn)移。
進(jìn)一步的,基于圖5提供的虛擬資源數(shù)據(jù)的處理裝置,還可以作出以下優(yōu)選設(shè)置:
優(yōu)選的,所述裝置還可以包括:第四接收模塊,用于接收用戶信息;第二生成模塊,用于根據(jù)所述用戶信息,生成相對應(yīng)的第二挑戰(zhàn)碼,所述第二挑戰(zhàn)碼攜帶對應(yīng)的挑戰(zhàn)碼明文和挑戰(zhàn)碼密文;第二獲取模塊,用于獲取所述用戶信息指示的用戶客戶端證書的公鑰;加密存儲模塊,用于利用所述客戶端證書的公鑰對所述挑戰(zhàn)碼進(jìn)行加密,生成第一挑戰(zhàn)碼,并存儲所述挑戰(zhàn)碼明文和挑戰(zhàn)碼密文。
進(jìn)一步優(yōu)選的,所述裝置還可以包括:第五接收模塊,用于接收所述客戶端發(fā)送的所述第一數(shù)字簽名以及所述字段信息;第三生成模塊,用于使用所述挑戰(zhàn)碼明文和所述字段信息生成第二數(shù)字簽名;比較模塊,用于將所述第一數(shù)字簽名與所述第二數(shù)字簽名進(jìn)行比較,得到比較結(jié)果;第四發(fā)送模塊,用于將所述比較結(jié)果發(fā)送給客戶端。
可以理解的是,在該實(shí)施例中沒有詳述的部分,可以參見上文第二和第三實(shí)施例中針對虛擬資源數(shù)據(jù)的處理方法的詳細(xì)描述,此處不再贅述。
由上述可知,本實(shí)施例提供的虛擬資源數(shù)據(jù)的處理裝置,服務(wù)器提前使用客戶端證書中的公鑰為用戶生成挑戰(zhàn)碼;用戶請求虛擬資源轉(zhuǎn)移時(shí)使用客戶端證書的私鑰解密挑戰(zhàn)碼;然后根據(jù)將解密后的挑戰(zhàn)碼和請求相關(guān)的字段信息生成數(shù)字簽名;服務(wù)器通過驗(yàn)證客戶端生成的數(shù)字簽名的正確性來確認(rèn)該虛擬資源轉(zhuǎn)移請求是否合法;由于攻擊者沒有用戶的客戶端證書,無法對公鑰加密的挑戰(zhàn)碼進(jìn)行解密,因此無法模仿用戶的簽名。生成的數(shù)字簽名包含與對應(yīng)支付請求的相關(guān)信息,且該簽名只能用于本次交易,更能保證交易的安全性;并且,由于挑戰(zhàn)碼提前設(shè)置,大大降低了支付高峰時(shí)給服務(wù)器帶來的負(fù)載壓力,提高服務(wù)器的運(yùn)行速率。
第六實(shí)施例
請參閱圖6,圖6為本發(fā)明實(shí)施例提供的虛擬資源的處理系統(tǒng)的結(jié)構(gòu)示意圖,所述虛擬資源的處理系統(tǒng)包括:服務(wù)器601以及客戶端602,其中,所述 客戶端602可具體為第四實(shí)施例所述的虛擬資源數(shù)據(jù)的處理裝置,所述服務(wù)器601為第五實(shí)施例所述的虛擬資源數(shù)據(jù)的處理裝置。
其中,所述客戶端602用于發(fā)送虛擬資源數(shù)據(jù)的轉(zhuǎn)移請求,所述轉(zhuǎn)移請求攜帶請求相關(guān)的字段信息;根據(jù)所述轉(zhuǎn)移請求,獲取服務(wù)器預(yù)設(shè)的第一挑戰(zhàn)碼,所述第一挑戰(zhàn)碼利用客戶端證書的公鑰加密后生成;獲取客戶端證書的私鑰,并利用所述客戶端證書的私鑰對所述第一挑戰(zhàn)碼進(jìn)行解密;根據(jù)解密后的第一挑戰(zhàn)碼以及所述字段信息生成第一數(shù)字簽名;當(dāng)確定所述第一數(shù)字簽名與所述服務(wù)器中第二數(shù)字簽名一致時(shí),則指示允許所述虛擬資源轉(zhuǎn)移。
所述服務(wù)器601用于接收虛擬資源數(shù)據(jù)的轉(zhuǎn)移請求,所述轉(zhuǎn)移請求攜帶請求相關(guān)的字段信息;根據(jù)所述轉(zhuǎn)移請求,向客戶端發(fā)送預(yù)設(shè)的第一挑戰(zhàn)碼,所述第一挑戰(zhàn)碼利用客戶端證書的公鑰加密后生成;接收客戶端發(fā)送的第一數(shù)字簽名,所述第一數(shù)字簽名由所述客戶端利用客戶端證書的私鑰對所述第一挑戰(zhàn)碼進(jìn)行解密,并根據(jù)解密后的第一挑戰(zhàn)碼以及所述字段信息所生成;當(dāng)確定所述第一數(shù)字簽名與所述服務(wù)器中第二數(shù)字簽名一致時(shí),則指示允許所述虛擬資源轉(zhuǎn)移。
在上述實(shí)施例中,對各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒有詳述的部分,可以參見上文針對虛擬資源數(shù)據(jù)的處理方法的詳細(xì)描述,此處不再贅述。
本發(fā)明實(shí)施例提供的所述虛擬資源數(shù)據(jù)的處理裝置,譬如為計(jì)算機(jī)、平板電腦、具有觸摸功能的手機(jī)等等,所述虛擬資源數(shù)據(jù)的處理裝置與上文實(shí)施例中的虛擬資源數(shù)據(jù)的處理方法屬于同一構(gòu)思,在所述虛擬資源數(shù)據(jù)的處理裝置上可以運(yùn)行所述虛擬資源數(shù)據(jù)的處理方法實(shí)施例中提供的任一方法,其具體實(shí)現(xiàn)過程詳見所述虛擬資源數(shù)據(jù)的處理方法實(shí)施例,此處不再贅述。
需要說明的是,對本發(fā)明所述虛擬資源數(shù)據(jù)的處理方法而言,本領(lǐng)域普通測試人員可以理解實(shí)現(xiàn)本發(fā)明實(shí)施例所述虛擬資源數(shù)據(jù)的處理方法的全部或部分流程,是可以通過計(jì)算機(jī)程序來控制相關(guān)的硬件來完成,所述計(jì)算機(jī)程序可 存儲于一計(jì)算機(jī)可讀取存儲介質(zhì)中,如存儲在終端的存儲器中,并被該終端內(nèi)的至少一個(gè)處理器執(zhí)行,在執(zhí)行過程中可包括如所述虛擬資源數(shù)據(jù)的處理方法的實(shí)施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲器(ROM,Read Only Memory)、隨機(jī)存取記憶體(RAM,Random Access Memory)等。
對本發(fā)明實(shí)施例的所述虛擬資源數(shù)據(jù)的處理裝置而言,其各功能模塊可以集成在一個(gè)處理芯片中,也可以是各個(gè)模塊單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上模塊集成在一個(gè)模塊中。上述集成的模塊既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),也可以存儲在一個(gè)計(jì)算機(jī)可讀取存儲介質(zhì)中,所述存儲介質(zhì)譬如為只讀存儲器,磁盤或光盤等。
以上對本發(fā)明實(shí)施例所提供的一種虛擬資源數(shù)據(jù)的處理方法及裝置進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對于本領(lǐng)域的技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。