本發(fā)明涉及通信領(lǐng)域,尤其涉及一種數(shù)據(jù)傳輸方法及系統(tǒng)。
背景技術(shù):
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,通過網(wǎng)絡(luò)進(jìn)行的數(shù)據(jù)傳輸越來越多。網(wǎng)絡(luò)數(shù)據(jù)傳輸涉及面十分廣闊,應(yīng)用網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)傳輸?shù)男袠I(yè)也越來越多,越來越多的網(wǎng)絡(luò)數(shù)據(jù)傳輸對(duì)數(shù)據(jù)安全性的要求較高。
但是,現(xiàn)有的網(wǎng)絡(luò)數(shù)據(jù)傳輸方法的數(shù)據(jù)安全性有待提高。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明解決的技術(shù)問題是提高數(shù)據(jù)傳輸方法的安全性。
為解決上述技術(shù)問題,本發(fā)明實(shí)施例提供一種數(shù)據(jù)傳輸方法,包括:
第一數(shù)據(jù)端將加密算法編譯成虛擬指令,發(fā)送包含所述虛擬指令的數(shù)據(jù)包至第二數(shù)據(jù)端;
所述第二數(shù)據(jù)端利用所述虛擬指令對(duì)待加密數(shù)據(jù)進(jìn)行加密,以得到加密數(shù)據(jù);
所述第二數(shù)據(jù)端將所述加密數(shù)據(jù)送至第一數(shù)據(jù)端;
所述第一數(shù)據(jù)端對(duì)所述加密數(shù)據(jù)進(jìn)行解密,以判斷所述加密數(shù)據(jù)的有效性。
可選的,所述數(shù)據(jù)包中還包括:能夠執(zhí)行所述虛擬指令的虛擬環(huán)境或?qū)?yīng)所述虛擬環(huán)境的選擇標(biāo)識(shí)。
可選的,所述第一數(shù)據(jù)端采用動(dòng)態(tài)更新的指令系統(tǒng)對(duì)所述加密算法進(jìn)行編譯。
可選的,所述第一數(shù)據(jù)端還適于對(duì)所述加密算法進(jìn)行更新。
可選的,所述數(shù)據(jù)包中還包括簽名信息;在對(duì)所述待加密數(shù)據(jù)進(jìn)行加密 之前,還包括:所述第二數(shù)據(jù)端使用所述簽名信息對(duì)所述待加密數(shù)據(jù)進(jìn)行簽名;
所述第一數(shù)據(jù)端對(duì)所述加密數(shù)據(jù)進(jìn)行解密,以判斷所述加密數(shù)據(jù)的有效性包括:所述第一數(shù)據(jù)端對(duì)所述加密數(shù)據(jù)進(jìn)行解密以得到簽名的待加密數(shù)據(jù);所述第一數(shù)據(jù)端通過對(duì)所述簽名的待加密數(shù)據(jù)進(jìn)行驗(yàn)證,以判斷所述加密數(shù)據(jù)的有效性。
可選的,所述待加密數(shù)據(jù)包括支付信息。
可選的,當(dāng)所述加密數(shù)據(jù)為有效數(shù)據(jù)時(shí),還包括:第一數(shù)據(jù)端發(fā)起支付申請(qǐng)。
本發(fā)明實(shí)施例還提供一種數(shù)據(jù)傳輸系統(tǒng),包括:
第一數(shù)據(jù)端,適于將加密算法編譯成虛擬指令,發(fā)送包含所述虛擬指令的數(shù)據(jù)包至第二數(shù)據(jù)端,并對(duì)來自所述第二數(shù)據(jù)端的加密數(shù)據(jù)進(jìn)行解密,以判斷所述加密數(shù)據(jù)的有效性;
所述第二數(shù)據(jù)端,適于利用所述虛擬指令對(duì)待加密數(shù)據(jù)進(jìn)行加密,以得到加密數(shù)據(jù),并將所述加密數(shù)據(jù)送至第一數(shù)據(jù)端。
可選的,所述數(shù)據(jù)包中還包括:能夠執(zhí)行所述虛擬指令的虛擬環(huán)境或?qū)?yīng)所述虛擬環(huán)境的選擇標(biāo)識(shí)。
可選的,所述第一數(shù)據(jù)端采用動(dòng)態(tài)更新的指令系統(tǒng)對(duì)所述加密算法進(jìn)行編譯。
可選的,所述第一數(shù)據(jù)端還適于對(duì)所述加密算法進(jìn)行更新。
可選的,所述數(shù)據(jù)包中還包括簽名信息;
所述第二數(shù)據(jù)端還適于,在對(duì)所述待加密數(shù)據(jù)進(jìn)行加密之前,使用所述簽名信息對(duì)所述待加密數(shù)據(jù)進(jìn)行簽名;
所述第一數(shù)據(jù)端包括:解密單元,適于對(duì)所述加密數(shù)據(jù)進(jìn)行解密以得到簽名的待加密數(shù)據(jù);驗(yàn)證單元,適于對(duì)所述簽名的待加密數(shù)據(jù)進(jìn)行驗(yàn)證,以判斷所述加密數(shù)據(jù)的有效性。
可選的,所述待加密數(shù)據(jù)包括支付信息。
可選的,所述第一數(shù)據(jù)端還包括:支付申請(qǐng)發(fā)起單元,適于當(dāng)所述加密數(shù)據(jù)為有效數(shù)據(jù)時(shí),發(fā)起支付申請(qǐng)。
與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例的技術(shù)方案具有以下有益效果:
通過將加密算法編譯成虛擬指令,使得加密算法不再以明文的形式存在,進(jìn)而使得非法第三方難以獲知加密算法,從而增加了加密算法的保密性。第二數(shù)據(jù)端利用所述虛擬指令對(duì)待加密數(shù)據(jù)進(jìn)行加密,得到加密數(shù)據(jù),可以增加待加密數(shù)據(jù)的數(shù)據(jù)安全性。第二數(shù)據(jù)端將加密數(shù)據(jù)發(fā)送至第一數(shù)據(jù)端,第一數(shù)據(jù)端可以對(duì)數(shù)據(jù)進(jìn)行解密,從而可以安全性更高的方式完成整個(gè)數(shù)據(jù)傳輸?shù)耐ㄐ胚^程。
附圖說明
圖1是本發(fā)明實(shí)施例中一種數(shù)據(jù)傳輸方法的流程圖;
圖2是本發(fā)明實(shí)施例中一種數(shù)據(jù)傳輸系統(tǒng)的結(jié)構(gòu)示意圖;
圖3是本發(fā)明實(shí)施例中一種第一數(shù)據(jù)端的結(jié)構(gòu)示意圖。
具體實(shí)施方式
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,通過網(wǎng)絡(luò)進(jìn)行的數(shù)據(jù)傳輸越來越多。網(wǎng)絡(luò)數(shù)據(jù)傳輸涉及面十分廣闊,應(yīng)用網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)傳輸?shù)男袠I(yè)也越來越多,越來越多的網(wǎng)絡(luò)數(shù)據(jù)傳輸對(duì)數(shù)據(jù)安全性的要求較高。
但是,現(xiàn)有的網(wǎng)絡(luò)數(shù)據(jù)傳輸方法的數(shù)據(jù)安全性有待提高。
本發(fā)明通過將加密算法編譯成虛擬指令,使得加密算法不再以明文的形式存在,進(jìn)而使得非法第三方難以獲知加密算法,從而增加了加密算法的保密性。第二數(shù)據(jù)端利用所述虛擬指令對(duì)待加密數(shù)據(jù)進(jìn)行加密,得到加密數(shù)據(jù),可以增加待加密數(shù)據(jù)的數(shù)據(jù)安全性。第二數(shù)據(jù)端將加密數(shù)據(jù)發(fā)送至第一數(shù)據(jù)端,第一數(shù)據(jù)端可以對(duì)數(shù)據(jù)進(jìn)行解密,從而可以安全性更高的方式完成整個(gè)數(shù)據(jù)傳輸?shù)耐ㄐ胚^程。
為使本發(fā)明的上述目的、特征和有益效果能夠更為明顯易懂,下面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施例做詳細(xì)的說明。
圖1是本發(fā)明實(shí)施例中一種數(shù)據(jù)傳輸方法的流程圖。
在步驟s11中,第一數(shù)據(jù)端將加密算法編譯成虛擬指令。
第一數(shù)據(jù)端可以是服務(wù)器或者服務(wù)器集群,也可以是其它具備數(shù)據(jù)處理能力的設(shè)備。虛擬指令可以是自定義指令或者也可以是各種適當(dāng)?shù)耐ㄓ弥噶?,可以在匹配的虛擬環(huán)境中運(yùn)行。
在現(xiàn)有技術(shù)中,加密算法往往是以各種形式暴露給第三方的,比如以客戶端程序代碼或腳本代碼的形式,存在于用戶終端內(nèi),而該程序代碼或腳本代碼通常是明碼公開的,這樣就給第三方提供了偽造數(shù)據(jù)的可能性。
在本發(fā)明實(shí)施例中,將源代碼形式的加密算法編譯后發(fā)送至第二數(shù)據(jù)端進(jìn)行使用,如此,惡意第三方將無法輕易獲取編譯后的加密算法的具體內(nèi)容,也就難以進(jìn)行數(shù)據(jù)的偽造。進(jìn)一步而言,本發(fā)明實(shí)施例將加密算法編譯為虛擬指令,由于虛擬指令可以是自定義的指令,處于未公開的狀態(tài),非法第三方難以獲得該虛擬指令的指令系統(tǒng),從而可以大大增強(qiáng)加密算法的保密性。
在具體實(shí)施中,所述第一數(shù)據(jù)端還適于對(duì)所述加密算法進(jìn)行更新。對(duì)加密算法的更新可以是定期更新,也可以對(duì)每次數(shù)據(jù)傳輸均采用不同的加密算法。
對(duì)加密算法進(jìn)行更新,可以使得加密算法具有時(shí)效性,即便數(shù)據(jù)傳輸過程中的數(shù)據(jù)包被截獲,并且非法第三方也破解了截獲數(shù)據(jù)的加密算法,但由于加密算法具有時(shí)效性,使得該破解徒勞無功,從而進(jìn)一步增加了數(shù)據(jù)傳輸方法的安全性。
在步驟s12中,發(fā)送包含所述虛擬指令的數(shù)據(jù)包至第二數(shù)據(jù)端。
第二數(shù)據(jù)端可以是計(jì)算機(jī)、服務(wù)器、手機(jī)、平板電腦等具備一定運(yùn)算能力的設(shè)備。
在一具體實(shí)施中,所述數(shù)據(jù)包中還可以包括能夠執(zhí)行所述虛擬指令的虛擬環(huán)境。也就是說,能夠執(zhí)行所述虛擬指令的虛擬環(huán)境可以裝載在第二數(shù)據(jù)端,第一數(shù)據(jù)端向第二數(shù)據(jù)端發(fā)送的數(shù)據(jù)包中包含選擇標(biāo)識(shí),用以選中或激活第二數(shù)據(jù)端內(nèi)裝載的虛擬環(huán)境;或者,虛擬環(huán)境也可以是由第一數(shù)據(jù)端向 第二數(shù)據(jù)端發(fā)送的,也即,第二數(shù)據(jù)端并未裝載虛擬環(huán)境,虛擬環(huán)境的完整文件由第一數(shù)據(jù)端傳送至第二數(shù)據(jù)端。其中,虛擬指令系統(tǒng)和虛擬環(huán)境是相互匹配的,如果虛擬指令是自定義的,那么虛擬環(huán)境就是與該自定義虛擬指令匹配的虛擬環(huán)境,虛擬環(huán)境能夠采用適當(dāng)?shù)姆绞浇忉尰驁?zhí)行該虛擬指令。例如,該虛擬環(huán)境可以是虛擬機(jī)。
在另一具體實(shí)施中,所述第一數(shù)據(jù)端采用動(dòng)態(tài)更新的指令系統(tǒng)對(duì)所述加密算法進(jìn)行編譯。第一數(shù)據(jù)端可以定期更新指令系統(tǒng),也可以在每次需進(jìn)行數(shù)據(jù)傳輸前均更新指令系統(tǒng)。
相對(duì)應(yīng)地,第二數(shù)據(jù)端應(yīng)預(yù)備支持第一數(shù)據(jù)端指令系統(tǒng)的虛擬環(huán)境,該虛擬環(huán)境可以在步驟s11中由第一數(shù)據(jù)端向第二數(shù)據(jù)端發(fā)送,也可以是在第二數(shù)據(jù)端配置支持多種指令系統(tǒng)的環(huán)境,每次需要數(shù)據(jù)傳輸時(shí),由第一數(shù)據(jù)端在步驟s11中告知其應(yīng)用的指令系統(tǒng)。
類似于對(duì)加密算法進(jìn)行更新,采用動(dòng)態(tài)更新的指令系統(tǒng)可以使得指令系統(tǒng)具有時(shí)效性,即便數(shù)據(jù)傳輸過程中的數(shù)據(jù)包被截獲,并且非法第三方也破解了指令系統(tǒng),但由于指令系統(tǒng)具有時(shí)效性,對(duì)應(yīng)已破解指令系統(tǒng)的數(shù)據(jù)傳輸過程已完成,下次數(shù)據(jù)傳輸過程采用了不同的指令系統(tǒng),從而可以進(jìn)一步增加了數(shù)據(jù)傳輸方法的安全性。
在步驟s13中,所述第二數(shù)據(jù)端利用所述虛擬指令對(duì)待加密數(shù)據(jù)進(jìn)行加密,以得到加密數(shù)據(jù)。
在具體實(shí)施中,所述待加密數(shù)據(jù)包括支付信息。支付信息可以是與網(wǎng)絡(luò)支付相關(guān)的信息,例如支付密鑰、支付金額、收款方標(biāo)識(shí)等等。
支付過程對(duì)數(shù)據(jù)安全性要求較高,在支付過程中,本發(fā)明實(shí)施例的第二數(shù)據(jù)端可以由具有支付需求的客戶使用,第一數(shù)據(jù)端可以在驗(yàn)證支付信息的合法性后,發(fā)起支付申請(qǐng)。例如,在驗(yàn)證合法性后,第一數(shù)據(jù)端將用戶的支付信息轉(zhuǎn)發(fā)至相應(yīng)的支付服務(wù)器,用以完成支付。
支付過程需要防止非法第三方偽裝成第二數(shù)據(jù)端發(fā)送數(shù)據(jù)以偽造交易。在本發(fā)明實(shí)施例中,由于非法第三方難以獲知加密算法,從而難以偽裝成第二數(shù)據(jù)端偽造交易,進(jìn)而提高支付過程的安全性。
在步驟s14中,所述第二數(shù)據(jù)端將所述加密數(shù)據(jù)送至第一數(shù)據(jù)端。
在步驟s15中,所述第一數(shù)據(jù)端對(duì)所述加密數(shù)據(jù)進(jìn)行解密,以判斷所述加密數(shù)據(jù)的有效性。
對(duì)加密數(shù)據(jù)有效性的判斷,可以通過以下方法進(jìn)行:第一數(shù)據(jù)端采用與加密方法對(duì)應(yīng)的解密方法對(duì)加密數(shù)據(jù)進(jìn)行解密,判斷解密得到的數(shù)據(jù)是否完整,若是完整的數(shù)據(jù),則可以認(rèn)為加密數(shù)據(jù)是有效的。是否為完整的數(shù)據(jù)可以通過預(yù)設(shè)的校驗(yàn)規(guī)則進(jìn)行。
在一具體實(shí)施中,所述數(shù)據(jù)包中還可以包括簽名信息;在對(duì)所述待加密數(shù)據(jù)進(jìn)行加密之前,還可以包括:所述第二數(shù)據(jù)端使用所述簽名信息對(duì)所述待加密數(shù)據(jù)進(jìn)行簽名;
所述第一數(shù)據(jù)端對(duì)所述加密數(shù)據(jù)進(jìn)行解密,以判斷所述加密數(shù)據(jù)的有效性可以包括:所述第一數(shù)據(jù)端對(duì)所述加密數(shù)據(jù)進(jìn)行解密以得到簽名的待加密數(shù)據(jù);所述第一數(shù)據(jù)端通過對(duì)所述簽名的待加密數(shù)據(jù)進(jìn)行驗(yàn)證,以判斷所述加密數(shù)據(jù)的有效性。
在具體實(shí)施中,所述待加密數(shù)據(jù)包括支付信息時(shí),利用步驟s15的方式來判斷支付信息的有效性,可以提高支付安全性。
在電子支付過程中,可以包括用戶鑒權(quán)的過程,這一過程需反映出真實(shí)的用戶支付意圖,而非由惡意程序偽造的假意圖。用戶鑒權(quán)通常采用輸入密碼或者動(dòng)態(tài)驗(yàn)證碼的形式。由于密碼或者驗(yàn)證碼是支付請(qǐng)求數(shù)據(jù)中不可缺少的信息,并且此信息只有用戶自己知道,因此這種過程較難被非法第三方(比如惡意程序代碼等)偽造。但是此支付形式需要人工參與的過程較多,不夠方便。
在類似移動(dòng)短信代支付業(yè)務(wù)中,運(yùn)營(yíng)商通過用戶接入點(diǎn)能夠直接獲知用戶身份(即手機(jī)號(hào)碼),因此省去了用戶鑒權(quán)過程,無需輸入密碼,提高了便捷性。但是,采用這種方式,服務(wù)器較難鑒別所收到的數(shù)據(jù)包是否合法,因?yàn)榘l(fā)送方有可能是的惡意代碼,偽裝成用戶,發(fā)送一個(gè)虛假的支付請(qǐng)求。
惡意代碼偽裝成用戶需要以知悉加密算法為前提,而本發(fā)明實(shí)施例中的加密算法難以被獲得,從而使得非法第三方難以部署惡意代碼,從而可以保 障用戶的資金安全。
本發(fā)明實(shí)施例還提供一種數(shù)據(jù)傳輸系統(tǒng),其結(jié)構(gòu)示意圖參見圖2。
數(shù)據(jù)傳輸系統(tǒng),可以包括:
第一數(shù)據(jù)端21,適于將加密算法編譯成虛擬指令,發(fā)送包含所述虛擬指令的數(shù)據(jù)包至第二數(shù)據(jù)端22,并對(duì)來自所述第二數(shù)據(jù)端22的加密數(shù)據(jù)進(jìn)行解密,以判斷所述加密數(shù)據(jù)的有效性;
所述第二數(shù)據(jù)端22,適于利用所述虛擬指令對(duì)待加密數(shù)據(jù)進(jìn)行加密,以得到加密數(shù)據(jù),并將所述加密數(shù)據(jù)送至第一數(shù)據(jù)端21。
在具體實(shí)施中,所述數(shù)據(jù)包中還可以包括:能夠執(zhí)行所述虛擬指令的虛擬環(huán)境或?qū)?yīng)所述虛擬環(huán)境的選擇標(biāo)識(shí)。
在具體實(shí)施中,所述第一數(shù)據(jù)端21可以采用動(dòng)態(tài)更新的指令系統(tǒng)對(duì)所述加密算法進(jìn)行編譯。
在具體實(shí)施中,所述第一數(shù)據(jù)端21還適于對(duì)所述加密算法進(jìn)行更新。
在具體實(shí)施中,所述數(shù)據(jù)包中還可以包括簽名信息;
所述第二數(shù)據(jù)端22還適于,在對(duì)所述待加密數(shù)據(jù)進(jìn)行加密之前,使用所述簽名信息對(duì)所述待加密數(shù)據(jù)進(jìn)行簽名;
所述第一數(shù)據(jù)端21可以包括:解密單元31(參見圖3,以下結(jié)合圖3進(jìn)行說明),適于對(duì)所述加密數(shù)據(jù)進(jìn)行解密以得到簽名的待加密數(shù)據(jù);驗(yàn)證單元32,適于對(duì)所述簽名的待加密數(shù)據(jù)進(jìn)行驗(yàn)證,以判斷所述加密數(shù)據(jù)的有效性。
在具體實(shí)施中,所述待加密數(shù)據(jù)可以包括支付信息。
在具體實(shí)施中,所述第一數(shù)據(jù)端還可以包括:支付申請(qǐng)發(fā)起單元33,適于當(dāng)所述加密數(shù)據(jù)為有效數(shù)據(jù)時(shí),發(fā)起支付申請(qǐng)。
本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例的各種方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲(chǔ)于一計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,存儲(chǔ)介質(zhì)可以包括:rom、ram、磁盤或光盤等。
雖然本發(fā)明披露如上,但本發(fā)明并非限定于此。任何本領(lǐng)域技術(shù)人員, 在不脫離本發(fā)明的精神和范圍內(nèi),均可作各種更動(dòng)與修改,因此本發(fā)明的保護(hù)范圍應(yīng)當(dāng)以權(quán)利要求所限定的范圍為準(zhǔn)。