本申請涉及軟件安全,更具體的說,是涉及一種數(shù)據(jù)加解密方法及其相關(guān)裝置。
背景技術(shù):
1、在移動應(yīng)用開發(fā)領(lǐng)域,密鑰安全是確保數(shù)據(jù)完整性和保護用戶隱私的重要因素。然而,傳統(tǒng)的密鑰存儲和使用方法通常存在被惡意攻擊者非法獲取的風(fēng)險,導(dǎo)致應(yīng)用數(shù)據(jù)泄漏,對用戶造成潛在威脅。因此,如何更好的保證密鑰的安全性,降低密鑰泄露風(fēng)險是領(lǐng)域內(nèi)技術(shù)人員關(guān)注的重點。
技術(shù)實現(xiàn)思路
1、有鑒于此,本申請?zhí)峁┤缦录夹g(shù)方案:
2、本申請第一方面提供了一種數(shù)據(jù)加解密方法,包括:
3、創(chuàng)建目標(biāo)應(yīng)用的簽名證書;
4、基于所述簽名證書中的第一信息,采用第一方式生成第一密鑰數(shù)據(jù);
5、基于所述第一密鑰數(shù)據(jù)對待保護數(shù)據(jù)進行加密,得到加密數(shù)據(jù)并保存,所述待保護數(shù)據(jù)為與所述目標(biāo)應(yīng)用相關(guān)的數(shù)據(jù);
6、若需要調(diào)用所述待保護數(shù)據(jù),獲得所述簽名證書;
7、基于從所述應(yīng)用文件獲得的所述簽名證書中的第一信息,采用所述第一方式生成第二密鑰數(shù)據(jù),所述第二密鑰數(shù)據(jù)與所述第一密鑰數(shù)據(jù)相同;
8、基于所述第二密鑰數(shù)據(jù)對所述加密數(shù)據(jù)進行解密,得到所述待保護數(shù)據(jù)。
9、在一個可能的實現(xiàn)中,所述獲得所述簽名證書,包括:
10、調(diào)用第一接口從本地存儲的所述目標(biāo)應(yīng)用的應(yīng)用文件中獲得所述簽名證書。
11、在一個可能的實現(xiàn)中,在所述調(diào)用第一接口從本地存儲的所述目標(biāo)應(yīng)用的應(yīng)用文件中獲得所述簽名證書前,還包括:
12、完成第一接口的調(diào)用驗證,所述調(diào)用驗證包括驗證調(diào)用目標(biāo)應(yīng)用的簽名證書是否為預(yù)設(shè)簽名證書。
13、在一個可能的實現(xiàn)中,所述基于所述簽名證書中的第一信息,采用第一方式生成第一密鑰數(shù)據(jù),包括:
14、基于所述簽名證書中的第一信息,采用消息摘要算法生成第一密鑰數(shù)據(jù);
15、基于從所述應(yīng)用文件獲得的所述簽名證書中的第一信息,采用所述第一方式生成第二密鑰數(shù)據(jù),包括:
16、基于從所述應(yīng)用文件獲得的所述簽名證書中的第一信息,采用所述消息摘要算法生成第二密鑰數(shù)據(jù)。
17、在一個可能的實現(xiàn)中,所述第一信息包括證書指紋數(shù)據(jù)和證書公鑰模數(shù)數(shù)據(jù),基于所述簽名證書中的第一信息,采用消息摘要算法生成第一密鑰數(shù)據(jù)或第二密鑰數(shù)據(jù),包括:
18、將所述證書指紋數(shù)據(jù)的大小調(diào)整至與目標(biāo)哈希算法的輸入數(shù)據(jù)塊的大小相同,得到調(diào)整后數(shù)據(jù);
19、基于所述調(diào)整后數(shù)據(jù)進行所述目標(biāo)哈希算法的哈希計算;
20、將所述證書公鑰模數(shù)數(shù)據(jù)添加到所述哈希計算中,得到哈希計算結(jié)果;
21、將所述哈希計算結(jié)果調(diào)整到對稱密碼算法的密鑰所需大小,得到第一密鑰數(shù)據(jù)或第二密鑰數(shù)據(jù)。
22、在一個可能的實現(xiàn)中,所述基于所述簽名證書中的第一信息,采用第一方式生成第一密鑰數(shù)據(jù),包括:
23、基于所述簽名證書中的第一信息,采用第一方式生成對稱密碼算法的第一密鑰數(shù)據(jù);
24、基于從所述應(yīng)用文件獲得的所述簽名證書中的第一信息,采用所述第一方式生成第二密鑰數(shù)據(jù),包括:
25、基于從所述應(yīng)用文件獲得的所述簽名證書中的所述第一信息,采用所述第一方式生成所述對稱密碼算法的第二密鑰數(shù)據(jù)。
26、在一個可能的實現(xiàn)中,所述基于所述第一密鑰數(shù)據(jù)對待保護數(shù)據(jù)進行加密,得到加密數(shù)據(jù)并保存,包括:
27、基于所述第一密鑰數(shù)據(jù)對待保護數(shù)據(jù)進行對稱密碼算法加密,得到加密數(shù)據(jù)并保存;
28、基于所述第二密鑰數(shù)據(jù)對所述加密數(shù)據(jù)進行解密,得到所述待保護數(shù)據(jù),包括:
29、基于所述第二密鑰數(shù)據(jù)對所述加密數(shù)據(jù)進行對稱密碼算法解密,得到所述待保護數(shù)據(jù)。
30、本申請第二方面提供了一種數(shù)據(jù)加解密裝置,包括:
31、證書創(chuàng)建模塊,用于創(chuàng)建目標(biāo)應(yīng)用的簽名證書;
32、密鑰生成模塊,用于基于所述簽名證書中的第一信息,采用第一方式生成第一密鑰數(shù)據(jù);
33、數(shù)據(jù)加密模塊,用于基于所述第一密鑰數(shù)據(jù)對待保護數(shù)據(jù)進行加密,得到加密數(shù)據(jù)并保存,所述待保護數(shù)據(jù)為與所述目標(biāo)應(yīng)用相關(guān)的數(shù)據(jù);
34、證書獲得模塊,用于在需要調(diào)用所述待保護數(shù)據(jù)時,獲得所述簽名證書;
35、密鑰獲得模塊,用于基于從所述應(yīng)用文件獲得的所述簽名證書中的第一信息,采用所述第一方式生成第二密鑰數(shù)據(jù),所述第二密鑰數(shù)據(jù)與所述第一密鑰數(shù)據(jù)相同;
36、數(shù)據(jù)解密模塊,用于基于所述第二密鑰數(shù)據(jù)對所述加密數(shù)據(jù)進行解密,得到所述待保護數(shù)據(jù)。
37、本申請第三方面提供了一種計算機程序產(chǎn)品,包括計算機可讀指令,當(dāng)所述計算機可讀指令在電子設(shè)備上運行時,使得所述電子設(shè)備實現(xiàn)上述任意一種數(shù)據(jù)加解密方法。
38、本申請第四方面提供了一種電子設(shè)備,包括至少一個處理器和與所述處理器連接的存儲器,其中:
39、所述存儲器用于存儲計算機程序;
40、所述處理器用于執(zhí)行所述計算機程序,以使所述電子設(shè)備能夠?qū)崿F(xiàn)上述任意一種數(shù)據(jù)加解密方法。
41、經(jīng)由上述的技術(shù)方案可知,本申請實施例公開了一種數(shù)據(jù)加解密方法及其相關(guān)裝置,方案利用目標(biāo)應(yīng)用的簽名證書中第一信息生成第一密鑰數(shù)據(jù),然后使用生成的第一密鑰數(shù)據(jù)對目標(biāo)應(yīng)用的待保護數(shù)據(jù)執(zhí)行加密處理,確保了待保護數(shù)據(jù)存儲的安全性;當(dāng)需要使用待保護數(shù)據(jù)時,再次獲得目標(biāo)應(yīng)用的簽名證書,并在動態(tài)計算過程中生成與之同源的第二密鑰數(shù)據(jù),基于第二密鑰數(shù)據(jù)進行待保護數(shù)據(jù)的解密。該方案中第一密鑰數(shù)據(jù)與目標(biāo)應(yīng)用的簽名證書緊密關(guān)聯(lián),而目標(biāo)應(yīng)該的簽名證書本身就是驗證開發(fā)者的身份和確保目標(biāo)應(yīng)用完整性的重要手段,因此這種與簽名證書高度關(guān)聯(lián)的第一密鑰數(shù)據(jù)的生成機制在增強密鑰獨有性與安全性的同時,也有效抵御了待保護數(shù)據(jù)被非法獲取的風(fēng)險。
1.一種數(shù)據(jù)加解密方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)加解密方法,其特征在于,所述獲得所述簽名證書,包括:
3.根據(jù)權(quán)利要求2所述的數(shù)據(jù)加解密方法,其特征在于,在所述調(diào)用第一接口從本地存儲的所述目標(biāo)應(yīng)用的應(yīng)用文件中獲得所述簽名證書前,還包括:
4.根據(jù)權(quán)利要求1所述的數(shù)據(jù)加解密方法,其特征在于,所述基于所述簽名證書中的第一信息,采用第一方式生成第一密鑰數(shù)據(jù),包括:
5.根據(jù)權(quán)利要求4所述的數(shù)據(jù)加解密方法,其特征在于,所述第一信息包括證書指紋數(shù)據(jù)和證書公鑰模數(shù)數(shù)據(jù),基于所述簽名證書中的第一信息,采用消息摘要算法生成第一密鑰數(shù)據(jù)或第二密鑰數(shù)據(jù),包括:
6.根據(jù)權(quán)利要求1所述的數(shù)據(jù)加解密方法,其特征在于,所述基于所述簽名證書中的第一信息,采用第一方式生成第一密鑰數(shù)據(jù),包括:
7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)加解密方法,其特征在于,所述基于所述第一密鑰數(shù)據(jù)對待保護數(shù)據(jù)進行加密,得到加密數(shù)據(jù)并保存,包括:
8.一種數(shù)據(jù)加解密裝置,其特征在于,包括:
9.一種計算機程序產(chǎn)品,其特征在于,包括計算機可讀指令,當(dāng)所述計算機可讀指令在電子設(shè)備上運行時,使得所述電子設(shè)備實現(xiàn)如權(quán)利要求1至7中任意一項所述的數(shù)據(jù)加解密方法。
10.一種電子設(shè)備,其特征在于,包括至少一個處理器和與所述處理器連接的存儲器,其中: