手機(jī)的敏感數(shù)據(jù)的加密方法和基于其的離線解密方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機(jī)信息處理技術(shù),特別是一種針對手機(jī)應(yīng)用程序獲得的敏感數(shù)據(jù)文件進(jìn)行加密和離線解密的方法。
【背景技術(shù)】
[0002]對于手機(jī)應(yīng)用程序中需要使用的敏感數(shù)據(jù),傳統(tǒng)的加密和解密方法均是在線方法,例如,將敏感數(shù)據(jù)文件放在服務(wù)端,當(dāng)手機(jī)上需要使用敏感數(shù)據(jù)時,通過非對稱加密的方法將加密后的數(shù)據(jù)文件通過http網(wǎng)絡(luò)發(fā)送到手機(jī)端,然后再解密使用;或者采用的是將加密后的文件存放于手機(jī)端,需要使用的時候從服務(wù)端通過http網(wǎng)絡(luò)獲取密鑰后再解密使用。上述在線方法必須保證有服務(wù)端和保持通信的公共網(wǎng)絡(luò)存在。
[0003]由于傳統(tǒng)的方法需要服務(wù)端的存在,在某些網(wǎng)絡(luò)安全要求比較嚴(yán)格的環(huán)境下(比如電網(wǎng)公司),不能有對局域網(wǎng)外部連通的網(wǎng)絡(luò),同時也不能將敏感數(shù)據(jù)放在公網(wǎng)服務(wù)器上供手機(jī)應(yīng)用程序通過http形式使用,因此加密后的敏感數(shù)據(jù)、解密密鑰和方法都只能存在于手機(jī)的應(yīng)用程序中。如何保證在該離線環(huán)境下敏感數(shù)據(jù)和解密密鑰的安全是需要解決的問題。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的是提供一種可以使解密時無需服務(wù)端和公共網(wǎng)絡(luò)、從而提高數(shù)據(jù)安全性的加密方法。
[0005]為達(dá)到上述目的,本發(fā)明采用的技術(shù)方案是:
一種手機(jī)的敏感數(shù)據(jù)的加密方法,所述加密方法為:針對不同的所述敏感數(shù)據(jù),服務(wù)端獲取能夠使用所述敏感數(shù)據(jù)的手機(jī)的唯一識別信息,再根據(jù)所述手機(jī)的唯一識別信息生成隨機(jī)字符串,并基于所述手機(jī)的唯一識別信息和所述隨機(jī)字符串生成所述敏感數(shù)據(jù)的加密密鑰而對所述敏感數(shù)據(jù)進(jìn)行加密。
[0006]所述加密方法中,所述手機(jī)的唯一識別信息包括手機(jī)的設(shè)備標(biāo)識符、IMEI串、Mac地址中的一種或幾種的組合。
[0007]所述隨機(jī)字符串為128位隨機(jī)字符串。
[0008]所述服務(wù)端采用Blowfish對稱加密方法生成所述敏感數(shù)據(jù)的加密密鑰而對所述敏感數(shù)據(jù)進(jìn)行加密。
[0009]本發(fā)明還提供一種基于上述加密方法的離線解密方法。
[0010]—種基于上述手機(jī)的敏感數(shù)據(jù)的加密方法的離線解密方法,所述離線解密方法為:能夠使用所述敏感數(shù)據(jù)的手機(jī)離線獲取所述敏感數(shù)據(jù)和所述隨機(jī)字符串,并基于其唯一識別信息和所述隨機(jī)字符串生成解密密鑰,從解密所述敏感數(shù)據(jù),進(jìn)而使用所述敏感數(shù)據(jù)。
[0011 ] 所述解密方法中,所述手機(jī)的唯一識別信息包括手機(jī)的設(shè)備標(biāo)識符、IMEI串、Mac地址中的一種或幾種的組合。
[0012]通過所述手機(jī)上的應(yīng)用程序存儲和使用所述敏感數(shù)據(jù)以及實現(xiàn)所述解密方法。
[0013]由于上述技術(shù)方案運用,本發(fā)明與現(xiàn)有技術(shù)相比具有下列優(yōu)點:本發(fā)明的加密方法和解密方法相配合,可以在解密時無需服務(wù)端和公共網(wǎng)絡(luò)的支持,從而在很大程度上解決了數(shù)據(jù)的安全問題,尤其適用于對安全性要求較高的領(lǐng)域中。
【附圖說明】
[0014]附圖1為本發(fā)明的加密方法和解密方法的流程示意圖。
【具體實施方式】
[0015]下面結(jié)合實施例對本發(fā)明作進(jìn)一步描述。
[0016]實施例一:如附圖1所示,一種手機(jī)的敏感數(shù)據(jù)的加密方法,為:針對不同的敏感數(shù)據(jù),服務(wù)端獲取能夠使用敏感數(shù)據(jù)的手機(jī)的唯一識別信息,再根據(jù)手機(jī)的唯一識別信息生成隨機(jī)字符串,并基于手機(jī)的唯一識別信息和隨機(jī)字符串生成敏感數(shù)據(jù)的加密密鑰而對敏感數(shù)據(jù)進(jìn)行加密。
[0017]通過以下步驟依次實現(xiàn):服務(wù)端首先獲取手機(jī)的唯一識別信息,這里的唯一識別信息可以是手機(jī)的設(shè)備標(biāo)識符、IMEI串、Mac地址中的一種或幾種的組合,本實施例中采用設(shè)備標(biāo)識符(Device Token)。若獲取成功,則服務(wù)端根據(jù)所獲得的設(shè)備標(biāo)識符生成128位的隨機(jī)字符串,接著基于設(shè)備標(biāo)識符和隨機(jī)字符串,采用Blowfish對稱加密方法生成敏感數(shù)據(jù)的加密密鑰而對敏感數(shù)據(jù)進(jìn)行加密,例如,加密密鑰可以采用設(shè)備標(biāo)識符+隨機(jī)字符串的md5值。若服務(wù)端獲取手機(jī)的唯一識別信息失敗,則退出或重新獲取。
[0018]每個手機(jī)的唯一識別信息所對應(yīng)形成的隨機(jī)字符串可以放入單獨的文件中,與加密后的敏感數(shù)據(jù)文件共同形成一個打文件,對該打文件可以進(jìn)行簡單的加密操作。
[0019]針對采用上述加密方法的敏感數(shù)據(jù)進(jìn)行解密的離線解密方法為:能夠使用敏感數(shù)據(jù)的手機(jī)離線獲取敏感數(shù)據(jù)和隨機(jī)字符串,并基于其唯一識別信息和隨機(jī)字符串生成解密密鑰,從解密敏感數(shù)據(jù),進(jìn)而使用敏感數(shù)據(jù)。
[0020]具體的,當(dāng)手機(jī)的應(yīng)用程序需要使用敏感數(shù)據(jù)時,手機(jī)通過其上的應(yīng)用程序以離線方式獲取敏感數(shù)據(jù)和隨機(jī)字符串并保存,不同的手機(jī)可以獲取不同類型的敏感數(shù)據(jù)文件。然后應(yīng)用程序通過獲取的隨機(jī)字符串和手機(jī)的唯一識別信息生成解密密鑰。這里的手機(jī)的唯一識別信息包括手機(jī)的設(shè)備標(biāo)識符、IMEI串、Mac地址中的一種或幾種的組合,需與加密方法中采用的一致,故本實施例則采用設(shè)備標(biāo)識符。并且,解密密鑰的生成方式也與加密方法中加密密鑰的生成方式相同。當(dāng)該解密密鑰與加密密鑰相匹配時,即可解密敏感數(shù)據(jù),并可以進(jìn)一步使用該敏感數(shù)據(jù)。使用后可進(jìn)行其他操作。上述的解密過程不需要服務(wù)端的支持。
[0021]對比傳統(tǒng)的手機(jī)應(yīng)用程序敏感數(shù)據(jù)的加密和解密方法,采用將敏感數(shù)據(jù)存放于應(yīng)用程序中,不采用服務(wù)端通過網(wǎng)絡(luò)提供數(shù)據(jù)和密鑰的方案,而是使用手機(jī)的唯一識別信息作為解密密鑰的一部分,能夠在很大程度上解決無服務(wù)端的手機(jī)應(yīng)用程序敏感數(shù)據(jù)安全問題,即使手機(jī)應(yīng)用程序被惡意攻擊者反編譯破解,但攻擊者不能輕易得到手機(jī)的唯一識別信息,則不能生成正確的解密密鑰,敏感數(shù)據(jù)得到了保護(hù)。
[0022]上述實施例只為說明本發(fā)明的技術(shù)構(gòu)思及特點,其目的在于讓熟悉此項技術(shù)的人士能夠了解本發(fā)明的內(nèi)容并據(jù)以實施,并不能以此限制本發(fā)明的保護(hù)范圍。凡根據(jù)本發(fā)明精神實質(zhì)所作的等效變化或修飾,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項】
1.一種手機(jī)的敏感數(shù)據(jù)的加密方法,其特征在于:所述加密方法為:針對不同的所述敏感數(shù)據(jù),服務(wù)端獲取能夠使用所述敏感數(shù)據(jù)的手機(jī)的唯一識別信息,再根據(jù)所述手機(jī)的唯一識別信息生成隨機(jī)字符串,并基于所述手機(jī)的唯一識別信息和所述隨機(jī)字符串生成所述敏感數(shù)據(jù)的加密密鑰而對所述敏感數(shù)據(jù)進(jìn)行加密。2.根據(jù)權(quán)利要求1所述的手機(jī)的敏感數(shù)據(jù)的加密方法,其特征在于:所述手機(jī)的唯一識別信息包括手機(jī)的設(shè)備標(biāo)識符、IMEI串、Mac地址中的一種或幾種的組合。3.根據(jù)權(quán)利要求1所述的手機(jī)的敏感數(shù)據(jù)的加密方法,其特征在于:所述隨機(jī)字符串為128位隨機(jī)字符串。4.根據(jù)權(quán)利要求1所述的手機(jī)的敏感數(shù)據(jù)的加密方法,其特征在于:所述服務(wù)端采用Blowfish對稱加密方法生成所述敏感數(shù)據(jù)的加密密鑰而對所述敏感數(shù)據(jù)進(jìn)行加密。5.—種基于權(quán)利要求1至4中任一項所述的手機(jī)的敏感數(shù)據(jù)的加密方法的離線解密方法,其特征在于:所述離線解密方法為:能夠使用所述敏感數(shù)據(jù)的手機(jī)離線獲取所述敏感數(shù)據(jù)和所述隨機(jī)字符串,并基于其唯一識別信息和所述隨機(jī)字符串生成解密密鑰,從解密所述敏感數(shù)據(jù),進(jìn)而使用所述敏感數(shù)據(jù)。6.根據(jù)權(quán)利要求5所述的離線解密方法,其特征在于:所述手機(jī)的唯一識別信息包括手機(jī)的設(shè)備標(biāo)識符、IMEI串、Mac地址中的一種或幾種的組合。7.根據(jù)權(quán)利要求5或6所述的離線解密方法,其特征在于:通過所述手機(jī)上的應(yīng)用程序存儲和使用所述敏感數(shù)據(jù)以及實現(xiàn)所述解密方法。
【專利摘要】本發(fā)明涉及一種手機(jī)的敏感數(shù)據(jù)的加密方法為:針對不同的敏感數(shù)據(jù),服務(wù)端獲取能夠使用敏感數(shù)據(jù)的手機(jī)的唯一識別信息,再根據(jù)手機(jī)的唯一識別信息生成隨機(jī)字符串,并基于手機(jī)的唯一識別信息和隨機(jī)字符串生成敏感數(shù)據(jù)的加密密鑰而對敏感數(shù)據(jù)進(jìn)行加密。一種基于上述手機(jī)的敏感數(shù)據(jù)的加密方法的離線解密方法為:能夠使用敏感數(shù)據(jù)的手機(jī)離線獲取敏感數(shù)據(jù)和隨機(jī)字符串,并基于其唯一識別信息和隨機(jī)字符串生成解密密鑰,從解密敏感數(shù)據(jù),進(jìn)而使用敏感數(shù)據(jù)。本發(fā)明的加密方法和解密方法相配合,可以在解密時無需服務(wù)端和公共網(wǎng)絡(luò)的支持,從而在很大程度上解決了數(shù)據(jù)的安全問題,尤其適用于對安全性要求較高的領(lǐng)域中。
【IPC分類】H04W12/02
【公開號】CN105357665
【申請?zhí)枴緾N201510853339
【發(fā)明人】蔣昊松, 黃國棟, 張霞
【申請人】江蘇省電力公司蘇州供電公司, 國家電網(wǎng)公司
【公開日】2016年2月24日
【申請日】2015年11月30日