本發(fā)明一般地涉及通信。更具體地,本發(fā)明涉及基于http協(xié)議的數(shù)據(jù)加密、解密方法及系統(tǒng)。
背景技術(shù):
1、http協(xié)議是互聯(lián)網(wǎng)時(shí)代最重要的網(wǎng)絡(luò)協(xié)議之一,它是互聯(lián)網(wǎng)上數(shù)據(jù)交換的基礎(chǔ),用于在web服務(wù)器和客戶(hù)端瀏覽器之間傳輸文本、圖片、視頻等各種資源。http具有簡(jiǎn)單性、可擴(kuò)展性、無(wú)連接等優(yōu)點(diǎn),它的出現(xiàn)極大地促進(jìn)了信息的共享和互聯(lián)網(wǎng)的普及。
2、http協(xié)議由于其設(shè)計(jì)初衷是為了便捷的信息交換,因此在安全性方面存在一些固有的缺點(diǎn),例如,http協(xié)議在傳輸數(shù)據(jù)時(shí)不進(jìn)行加密,數(shù)據(jù)以明文形式傳輸,容易被第三方讀取該數(shù)據(jù);此外,http不提供數(shù)據(jù)完整性驗(yàn)證機(jī)制,因此在傳輸過(guò)程中,數(shù)據(jù)可能會(huì)被未經(jīng)授權(quán)的第三方篡改,而接收方無(wú)法輕易檢測(cè)到這種篡改。對(duì)此,現(xiàn)有技術(shù)一般通過(guò)在http上加入ssl/tls協(xié)議,即改用https協(xié)議,以對(duì)數(shù)據(jù)進(jìn)行加密和完整性驗(yàn)證,然而這種方式需要向第三方證書(shū)頒發(fā)機(jī)構(gòu)購(gòu)買(mǎi)ssl證書(shū);或者是在通信的雙方之間建立安全的vpn專(zhuān)用網(wǎng)絡(luò),在此vpn內(nèi)部進(jìn)行數(shù)據(jù)訪問(wèn),然而這種方式需要額外提供vpn服務(wù)器,并使用專(zhuān)用的終端進(jìn)行輔助連接vpn,便捷性差。
技術(shù)實(shí)現(xiàn)思路
1、為解決上述http協(xié)議安全性差的技術(shù)問(wèn)題,本發(fā)明在如下的多個(gè)方面中提供方案。
2、在第一方面中,本發(fā)明提供了一種基于http協(xié)議的數(shù)據(jù)加密方法,包括:生成發(fā)送端的公鑰和發(fā)送端的私鑰;向接收端發(fā)送交換公鑰的請(qǐng)求,獲得所述接收端的公鑰;生成第一秘鑰,根據(jù)所述第一秘鑰對(duì)待發(fā)送的數(shù)據(jù)進(jìn)行加密,獲得密文數(shù)據(jù);根據(jù)所述接收端的公鑰對(duì)所述第一秘鑰進(jìn)行加密,根據(jù)所述發(fā)送端的私鑰對(duì)加密后的所述第一秘鑰進(jìn)行簽名,獲得第二秘鑰;將所述密文數(shù)據(jù)和所述第二秘鑰進(jìn)行拼接合成,發(fā)送至所述接收端。
3、進(jìn)一步地,生成第一秘鑰,包括:根據(jù)對(duì)稱(chēng)加密算法生成所述第一秘鑰。
4、進(jìn)一步地,生成發(fā)送端的公鑰和發(fā)送端的私鑰,包括:根據(jù)rsa加密算法生成所述發(fā)送端的公鑰和所述發(fā)送端的私鑰。
5、進(jìn)一步地,還包括:定期向所述接收端發(fā)送交換公鑰的請(qǐng)求。
6、進(jìn)一步地,將所述密文數(shù)據(jù)和所述第二秘鑰進(jìn)行拼接合成,包括:根據(jù)預(yù)設(shè)的分隔符將所述密文數(shù)據(jù)和所述第二秘鑰進(jìn)行連接,對(duì)連接后的數(shù)據(jù)體進(jìn)行huffman編碼壓縮。
7、進(jìn)一步地,向接收端發(fā)送交換公鑰的請(qǐng)求,包括:基于http協(xié)議向所述接收端發(fā)送交換公鑰的請(qǐng)求。
8、在第二方面中,本發(fā)明提供了一種基于http協(xié)議的數(shù)據(jù)解密方法,包括:生成接收端的公鑰和接收端的私鑰,響應(yīng)于發(fā)送端的交換公鑰請(qǐng)求,獲得所述發(fā)送端的公鑰;接收并分解所述發(fā)送端發(fā)送的數(shù)據(jù)體,獲得由第一秘鑰加密的密文數(shù)據(jù)和第二秘鑰;根據(jù)所述發(fā)送端的公鑰對(duì)所述第二秘鑰進(jìn)行解密驗(yàn)簽;根據(jù)所述接收端的私鑰對(duì)通過(guò)驗(yàn)證的第二秘鑰進(jìn)行解密,獲得第一秘鑰;根據(jù)所述第一秘鑰對(duì)所述密文數(shù)據(jù)進(jìn)行解密。
9、進(jìn)一步地,還包括:在響應(yīng)所述發(fā)送端的請(qǐng)求時(shí),生成新的數(shù)據(jù)秘鑰,根據(jù)所述數(shù)據(jù)秘鑰對(duì)待發(fā)送的數(shù)據(jù)進(jìn)行加密,獲得密文數(shù)據(jù);根據(jù)所述發(fā)送端的公鑰對(duì)所述數(shù)據(jù)秘鑰進(jìn)行加密,根據(jù)所述接收端的私鑰對(duì)加密后的所述數(shù)據(jù)秘鑰進(jìn)行簽名,獲得簽名秘鑰;將所述密文數(shù)據(jù)和所述簽名秘鑰進(jìn)行拼接合成,發(fā)送至所述發(fā)送端。
10、在第三方面中,本發(fā)明還提供了一種基于http協(xié)議的通信加密系統(tǒng),其特征在于,包括處理器和存儲(chǔ)器,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序指令,當(dāng)所述計(jì)算機(jī)程序指令被所述處理器執(zhí)行時(shí)實(shí)現(xiàn)根據(jù)第一方面中任一項(xiàng)所述的一種基于http協(xié)議的數(shù)據(jù)加密方法。
11、在第四方面中,本發(fā)明提供了一種基于http協(xié)議的通信解密系統(tǒng),其特征在于,包括處理器和存儲(chǔ)器,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序指令,當(dāng)所述計(jì)算機(jī)程序指令被所述處理器執(zhí)行時(shí)實(shí)現(xiàn)根據(jù)第二方面中所述的一種基于http協(xié)議的數(shù)據(jù)解密方法。
12、本發(fā)明的有益效果在于:本發(fā)明通過(guò)對(duì)明文數(shù)據(jù)使用對(duì)稱(chēng)加密算法進(jìn)行加密,保證了數(shù)據(jù)的安全性和加密的效率,通過(guò)對(duì)數(shù)據(jù)秘鑰使用非對(duì)稱(chēng)加密算法進(jìn)行加密,確保了數(shù)據(jù)秘鑰傳輸?shù)陌踩裕ㄟ^(guò)對(duì)秘鑰進(jìn)行簽名,確保了傳輸?shù)臄?shù)據(jù)的完整性以及通信雙方的身份的識(shí)別,此外,通過(guò)在通信雙方設(shè)置相同的拼接規(guī)則和分解規(guī)則,進(jìn)一步提高了基于http協(xié)議通信的安全性,并且不需要額外引入https、vpn等第三方協(xié)議,也無(wú)需提供硬件支持,容易實(shí)現(xiàn),成本低。
1.一種基于http協(xié)議的數(shù)據(jù)加密方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的基于http協(xié)議的數(shù)據(jù)加密方法,其特征在于,生成第一秘鑰,包括:根據(jù)對(duì)稱(chēng)加密算法生成所述第一秘鑰。
3.根據(jù)權(quán)利要求1所述的基于http協(xié)議的數(shù)據(jù)加密方法,其特征在于,生成發(fā)送端的公鑰和發(fā)送端的私鑰,包括:根據(jù)rsa加密算法生成所述發(fā)送端的公鑰和所述發(fā)送端的私鑰。
4.根據(jù)權(quán)利要求1所述的基于http協(xié)議的數(shù)據(jù)加密方法,其特征在于,還包括:定期向所述接收端發(fā)送交換公鑰的請(qǐng)求。
5.根據(jù)權(quán)利要求1所述的基于http協(xié)議的數(shù)據(jù)加密方法,其特征在于,將所述密文數(shù)據(jù)和所述第二秘鑰進(jìn)行拼接合成,包括:根據(jù)預(yù)設(shè)的分隔符將所述密文數(shù)據(jù)和所述第二秘鑰進(jìn)行連接,對(duì)連接后的數(shù)據(jù)體進(jìn)行huffman編碼壓縮。
6.根據(jù)權(quán)利要求1所述的基于http協(xié)議的數(shù)據(jù)加密方法,其特征在于,向接收端發(fā)送交換公鑰的請(qǐng)求,包括:基于http協(xié)議向所述接收端發(fā)送交換公鑰的請(qǐng)求。
7.一種基于http協(xié)議的數(shù)據(jù)解密方法,其特征在于,包括:
8.據(jù)權(quán)利要求7所述的基于http協(xié)議的數(shù)據(jù)解密方法,其特征在于,還包括:
9.一種基于http協(xié)議的通信加密系統(tǒng),其特征在于,包括處理器和存儲(chǔ)器,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序指令,當(dāng)所述計(jì)算機(jī)程序指令被所述處理器執(zhí)行時(shí)實(shí)現(xiàn)根據(jù)權(quán)利要求1-6中任一項(xiàng)所述的一種基于http協(xié)議的數(shù)據(jù)加密方法。
10.一種基于http協(xié)議的通信解密系統(tǒng),其特征在于,包括處理器和存儲(chǔ)器,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序指令,當(dāng)所述計(jì)算機(jī)程序指令被所述處理器執(zhí)行時(shí)實(shí)現(xiàn)根據(jù)權(quán)利要求7或8中所述的一種基于http協(xié)議的數(shù)據(jù)解密方法。