本申請涉及數(shù)據(jù)安全,特別是涉及一種數(shù)據(jù)傳輸方法、裝置和計算機設備。
背景技術(shù):
1、為了確保用戶數(shù)據(jù)在傳輸和存儲過程中的安全性,防止數(shù)字信息泄露,數(shù)據(jù)傳輸技術(shù)成為不可或缺的重要手段。在數(shù)據(jù)傳輸安全方面,當前普遍采用的是ssl/tls協(xié)議來建立安全的數(shù)據(jù)通道,這種協(xié)議通過加密傳輸?shù)臄?shù)據(jù),確保了在數(shù)據(jù)傳輸過程中不被第三方竊取或篡改。
2、然而,盡管傳輸過程中的數(shù)據(jù)傳輸已經(jīng)得到了有效保障,但在數(shù)據(jù)存儲環(huán)節(jié),仍需對數(shù)據(jù)進行再次加密處理,這種重復加解密的做法不僅增加了資源的消耗,還可能降低系統(tǒng)的整體性能。
技術(shù)實現(xiàn)思路
1、基于此,有必要針對上述技術(shù)問題,提供一種能夠有效降低資源消耗的數(shù)據(jù)傳輸方法、裝置和計算機設備。
2、第一方面,本申請?zhí)峁┝艘环N數(shù)據(jù)傳輸方法,應用于第一端;包括:
3、發(fā)送第一主公鑰至第二端,并接收第二端返回的第二主公鑰;
4、生成隨機對稱加密密鑰,通過隨機對稱加密密鑰對待傳輸數(shù)據(jù)進行加密,得到加密數(shù)據(jù);
5、獲取待傳輸數(shù)據(jù)的數(shù)據(jù)摘要,根據(jù)第二主公鑰、數(shù)據(jù)摘要和隨機對稱加密密鑰,獲取第一對稱密鑰密文;
6、將待傳輸數(shù)據(jù)的頭部信息、第一對稱密鑰密文、數(shù)據(jù)摘要和加密數(shù)據(jù)進行組合,得到數(shù)據(jù)報文,將數(shù)據(jù)報文發(fā)送至第二端。
7、在其中一個實施例中,第一主公鑰的生成過程,包括:
8、生成隨機數(shù)種子,對隨機數(shù)種子進行哈希運算,得到對應的哈希值;
9、將哈希值作為主私鑰,對主私鑰進行橢圓曲線數(shù)學計算,得到第一主公鑰。
10、在其中一個實施例中,根據(jù)第二主公鑰、數(shù)據(jù)摘要和隨機對稱加密密鑰,獲取第一對稱密鑰密文的步驟,包括:
11、通過分層確定性密鑰算法,對第二主公鑰和數(shù)據(jù)摘要進行計算,得到第一確定性加密公鑰;
12、通過第一確定性加密公鑰對隨機對稱加密密鑰進行加密,得到第一對稱密鑰密文。
13、在其中一個實施例中,通過分層確定性密鑰算法,對第二主公鑰和數(shù)據(jù)摘要進行計算,得到第一確定性加密公鑰的步驟,包括:
14、將第二主公鑰與數(shù)據(jù)摘要組合,對組合后的數(shù)據(jù)進行哈希計算,得到臨時私鑰;
15、對臨時私鑰進行橢圓曲線數(shù)學計算,得到臨時公鑰,并對臨時公鑰和第二主公鑰進行橢圓曲線數(shù)學計算,得到第一確定性加密公鑰。
16、第二方面,本申請還提供了一種數(shù)據(jù)傳輸方法,應用于第二端;包括:
17、接收第一端發(fā)送的第一主公鑰,并返回第二主公鑰至第一端;
18、接收第一端發(fā)送的數(shù)據(jù)報文;數(shù)據(jù)報文包括頭部信息、第一對稱密鑰密文、數(shù)據(jù)摘要、加密數(shù)據(jù);
19、在根據(jù)頭部信息對數(shù)據(jù)報文驗證通過的情況下,通過分層確定性密鑰算法,對第二主公鑰對應的主私鑰和數(shù)據(jù)摘要進行計算,得到確定性解密私鑰;
20、通過確定性解密私鑰對第一對稱密鑰密文進行解密,得到隨機對稱加密密鑰;
21、通過隨機對稱加密密鑰對加密數(shù)據(jù)進行解密,得到明文數(shù)據(jù)。
22、在其中一個實施例中,該方法還包括:
23、對明文數(shù)據(jù)進行哈希計算,得到明文數(shù)據(jù)的數(shù)據(jù)摘要;
24、通過明文數(shù)據(jù)的數(shù)據(jù)摘要和數(shù)據(jù)報文中的數(shù)據(jù)摘要,對明文數(shù)據(jù)進行驗證。
25、在其中一個實施例中,該方法還包括:
26、發(fā)送第二主公鑰至第三端,并接收第三端返回的第三主公鑰;
27、通過分層確定性密鑰算法,對第三主公鑰和數(shù)據(jù)摘要進行計算,得到第二確定性加密公鑰;
28、通過第二確定性加密公鑰對隨機對稱加密密鑰進行加密,得到第二對稱密鑰密文;
29、將數(shù)據(jù)報文中的第一對稱密鑰密文更新為第二對稱密鑰密文,將更新后的數(shù)據(jù)報文發(fā)送至第三端。
30、第三方面,本申請還提供了一種數(shù)據(jù)傳輸裝置,應用于第一端;包括:
31、公鑰發(fā)送模塊,用于發(fā)送第一主公鑰至第二端,并接收第二端返回的第二主公鑰;
32、密鑰生成模塊,用于生成隨機對稱加密密鑰,通過隨機對稱加密密鑰對待傳輸數(shù)據(jù)進行加密,得到加密數(shù)據(jù);
33、密文獲取模塊,用于獲取待傳輸數(shù)據(jù)的數(shù)據(jù)摘要,根據(jù)第二主公鑰、數(shù)據(jù)摘要和隨機對稱加密密鑰,獲取第一對稱密鑰密文;
34、報文發(fā)送模塊,用于將待傳輸數(shù)據(jù)的頭部信息、第一對稱密鑰密文、數(shù)據(jù)摘要和加密數(shù)據(jù)進行組合,得到數(shù)據(jù)報文,將數(shù)據(jù)報文發(fā)送至第二端。
35、第四方面,本申請還提供了一種數(shù)據(jù)傳輸裝置,應用于第二端;包括:
36、公鑰接收模塊,用于接收第一端發(fā)送的第一主公鑰,并返回第二主公鑰至第一端;
37、報文接收模塊,用于接收第一端發(fā)送的數(shù)據(jù)報文;數(shù)據(jù)報文包括頭部信息、第一對稱密鑰密文、數(shù)據(jù)摘要、加密數(shù)據(jù);
38、私鑰獲取模塊,用于在根據(jù)頭部信息對數(shù)據(jù)報文驗證通過的情況下,通過分層確定性密鑰算法,對第二主公鑰對應的主私鑰和數(shù)據(jù)摘要進行計算,得到確定性解密私鑰;
39、密文解密模塊,用于通過確定性解密私鑰對第一對稱密鑰密文進行解密,得到隨機對稱加密密鑰;
40、數(shù)據(jù)解密模塊,用于通過隨機對稱加密密鑰對加密數(shù)據(jù)進行解密,得到明文數(shù)據(jù)。
41、第五方面,本申請還提供了一種計算機設備,包括存儲器和處理器,存儲器存儲有計算機程序,處理器執(zhí)行計算機程序時實現(xiàn)第一方面和第二方面中任意一項的方法步驟。
42、第六方面,本申請還提供了一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,計算機程序被處理器執(zhí)行時實現(xiàn)第一方面和第二方面中任意一項的方法步驟。
43、第七方面,本申請還提供了一種計算機程序產(chǎn)品,包括計算機程序,該計算機程序被處理器執(zhí)行時實現(xiàn)第一方面和第二方面中任意一項的方法步驟。
44、上述數(shù)據(jù)傳輸方法、裝置和計算機設備,通過采用分層確定性密鑰算法,收發(fā)端能夠獨立派生加密公鑰和解密私鑰,實現(xiàn)了一數(shù)據(jù)一密鑰的加密模式,提高了加密的安全性,使得每個數(shù)據(jù)都有獨立的密鑰進行加密,從而確保了數(shù)據(jù)在傳輸和存儲過程中的保密性。另外,接收的加密數(shù)據(jù)可直接進行存儲,而在需要轉(zhuǎn)發(fā)加密數(shù)據(jù)時,輕量化的密鑰重加密操作減少了計算資源的消耗,提高了轉(zhuǎn)發(fā)效率,使得數(shù)據(jù)能夠在網(wǎng)絡中快速、安全地傳遞,在處理大量數(shù)據(jù)的存儲和轉(zhuǎn)發(fā)時更加高效,能夠滿足高并發(fā)、大規(guī)模數(shù)據(jù)處理的需求。
1.一種數(shù)據(jù)傳輸方法,其特征在于,應用于第一端;所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第一主公鑰的生成過程,包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述第二主公鑰、所述數(shù)據(jù)摘要和所述隨機對稱加密密鑰,獲取第一對稱密鑰密文,包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述通過分層確定性密鑰算法,對所述第二主公鑰和所述數(shù)據(jù)摘要進行計算,得到第一確定性加密公鑰,包括:
5.一種數(shù)據(jù)傳輸方法,其特征在于,應用于第二端;所述方法包括:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述方法還包括:
7.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述方法還包括:
8.一種數(shù)據(jù)傳輸裝置,其特征在于,應用于第一端;所述裝置包括:
9.一種數(shù)據(jù)傳輸裝置,其特征在于,應用于第二端;所述裝置包括:
10.一種計算機設備,包括存儲器和處理器,所述存儲器存儲有計算機程序,其特征在于,所述處理器執(zhí)行所述計算機程序時實現(xiàn)權(quán)利要求1至7中任一項所述的方法的步驟。