一種防止安裝包被篡改的方法
【專利摘要】本發(fā)明公開了一種防止安裝包被篡改的方法,其通過獲取應(yīng)用程序開發(fā)者的數(shù)字簽名,并進行加密得到原始加密簽名,且將所述的原始加密簽名集成在該應(yīng)用程序中,當(dāng)啟動應(yīng)用程序時,自動獲取該應(yīng)用程序的數(shù)字簽名,并進行加密得到程序加密簽名,最后通過比對原始加密簽名與程序加密簽名的一致性并提示用戶進行相應(yīng)的處理,從而能夠自動進行安裝包的檢測并及時通知用戶,減少惡意軟件帶來的惡意行為或安全風(fēng)險,保證了系統(tǒng)的安全性,最大程度降低了損害。
【專利說明】一種防止安裝包被篡改的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及移動通信領(lǐng)域,特別是一種防止安裝包被篡改的方法。
【背景技術(shù)】
[0002]現(xiàn)在智能終端越來越普及,應(yīng)用軟件也越來越多,用戶需要下載應(yīng)用軟件時,通常會在智能終端的第三方市場下載,由于目前市場上的安卓應(yīng)用程序的監(jiān)管還不到位,這些第三方市場中應(yīng)用程序的安全性檢測存在漏洞,導(dǎo)致用戶安裝的應(yīng)用程序存在惡意行為或安全風(fēng)險,例如:通過山寨或破解等方式惡意捆綁廣告插件,或者,在用戶不知情的情況下,未經(jīng)授權(quán)對外傳送客戶的隱私信息,消耗用戶流量等。因此現(xiàn)在需要一種方法能夠有效地避免用戶安裝惡意軟件,減少惡意軟件帶來的惡意行為或安全風(fēng)險,從而提高系統(tǒng)的安全性。
【發(fā)明內(nèi)容】
[0003]本發(fā)明為解決上述問題,提供了一種能夠有效防止安裝包被篡改的方法,從而避免消耗用戶的流量,并且提高系統(tǒng)的安全性。
[0004]為實現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案為:
[0005]一種防止安裝包被篡改的方法,其特征在于,包括以下步驟:
[0006]10.獲取應(yīng)用程序開發(fā)者的數(shù)字簽名;
[0007]20.將所述的開發(fā)者的數(shù)字簽名進行加密,得到原始加密簽名;
[0008]30.將所述的原始加密簽名集成在該應(yīng)用程序中;
[0009]40.啟動應(yīng)用程序時自動獲取該應(yīng)用程序的數(shù)字簽名;
[0010]50.將所述的應(yīng)用程序的數(shù)字簽名進行加密,得到程序加密簽名;
[0011]60.比對原始加密簽名與程序加密簽名是否一致,如果不一致,則該應(yīng)用程序被第三方篡改,提示用戶進行相應(yīng)的處理。
[0012]優(yōu)選的,所述的步驟10中獲取應(yīng)用程序開發(fā)者的數(shù)字簽名,主要是獲取應(yīng)用程序開發(fā)者在開發(fā)平臺上注冊后,該開發(fā)平臺發(fā)放給開發(fā)者唯一的簽名數(shù)字證書。
[0013]優(yōu)選的,所述的步驟20中將所述的開發(fā)者的數(shù)字簽名進行加密與所述的步驟50中將所述的應(yīng)用程序的數(shù)字簽名進行加密,二者的加密方法是相同的。
[0014]優(yōu)選的,所述的數(shù)字簽名的加密,主要是對數(shù)字簽名的哈希值進行加密。
[0015]優(yōu)選的,所述的步驟60中比對原始加密簽名與程序加密簽名是否一致,主要是比對二者加密后的加密哈希值是否完全相同。
[0016]優(yōu)選的,所述的步驟60中提示用戶進行相應(yīng)的處理,主要是通過禁止該應(yīng)用程序使用所有與資費相關(guān)的方法。
[0017]優(yōu)選的,所述的步驟60中提示用戶進行相應(yīng)的處理,主要是通過彈出提示框告知用戶其安裝的應(yīng)用程序是被第三方篡改過的,并且提供正確安裝包的下載按鈕。
[0018]本發(fā)明的有益效果是:
[0019]本發(fā)明的一種防止安裝包被篡改的方法,其通過獲取應(yīng)用程序開發(fā)者的數(shù)字簽名,并進行加密得到原始加密簽名,且將所述的原始加密簽名集成在該應(yīng)用程序中,當(dāng)啟動應(yīng)用程序時,自動獲取該應(yīng)用程序的數(shù)字簽名,并進行加密得到程序加密簽名,最后通過比對原始加密簽名與程序加密簽名的一致性并提示用戶進行相應(yīng)的處理,從而能夠自動進行安裝包的檢測并及時通知用戶,減少惡意軟件帶來的惡意行為或安全風(fēng)險,保證了系統(tǒng)的安全性,最大程度降低了損害。
【專利附圖】
【附圖說明】
[0020]此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本發(fā)明的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
[0021]圖1為本發(fā)明一種防止安裝包被篡改的方法的流程簡圖。
【具體實施方式】
[0022]為了使本發(fā)明所要解決的技術(shù)問題、技術(shù)方案及有益效果更加清楚、明白,以下結(jié)合附圖及實施例對本發(fā)明進行進一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0023]如圖1所示,本發(fā)明的一種防止安裝包被篡改的方法,其包括以下步驟:
[0024]10.獲取應(yīng)用程序開發(fā)者的數(shù)字簽名;
[0025]20.將所述的開發(fā)者的數(shù)字簽名進行加密,得到原始加密簽名;
[0026]30.將所述的原始加密簽名集成在該應(yīng)用程序中;
[0027]40.啟動應(yīng)用程序時自動獲取該應(yīng)用程序的數(shù)字簽名;
[0028]50.將所述的應(yīng)用程序的數(shù)字簽名進行加密,得到程序加密簽名;
[0029]60.比對原始加密簽名與程序加密簽名是否一致,如果不一致,則該應(yīng)用程序被第三方篡改,提示用戶進行相應(yīng)的處理。
[0030]所述的步驟10中獲取應(yīng)用程序開發(fā)者的數(shù)字簽名,主要是獲取應(yīng)用程序開發(fā)者在開發(fā)平臺上注冊后,該開發(fā)平臺發(fā)放給開發(fā)者唯一的簽名數(shù)字證書,例如Android平臺上簽名數(shù)字證書。
[0031]所述的步驟20中將所述的開發(fā)者的數(shù)字簽名進行加密與所述的步驟50中將所述的應(yīng)用程序的數(shù)字簽名進行加密,主要是對數(shù)字簽名的哈希值進行加密,并且二者的加密方法是相同的,且該加密方法可以是公開的,也可以是開發(fā)者自定義的。另外,將加密后的原始加密簽名集成在該應(yīng)用程序中,可以方便接下來與程序加密簽名進行比對。
[0032]所述的步驟60中比對原始加密簽名與程序加密簽名是否一致,主要是比對二者加密后的加密哈希值是否完全相同,如果完全相同,則表示該應(yīng)用程序為正常的安裝包安裝的,如果有不一致,則該應(yīng)用程序被第三方篡改。這里如果直接采用將數(shù)字簽名的哈希值進行比對,則有可能被破解者修改,并調(diào)整成二者一致,從而導(dǎo)致安裝包的不安全性,因此本發(fā)明采用比對加密哈希值,使得在安裝包從開發(fā)者到用戶之間的傳輸過程中不會被修改哈希值,真正有效的保證了安裝包的安全性。
[0033]并且,若不相同,還進一步提示用戶進行相應(yīng)的處理,例如:禁止該應(yīng)用程序使用所有與資費相關(guān)的方法,包括網(wǎng)絡(luò)通訊、電話、短信等;或者,通過彈出提示框告知用戶其安裝的應(yīng)用程序是被第三方篡改過的,并且提供正確安裝包的下載按鈕,當(dāng)用戶點擊該按鈕時,則會開始下載正確的安裝包,非常方便快捷,無需用戶自行查找正確的安裝包,為用戶節(jié)約了大量時間。
[0034]本發(fā)明的一種防止安裝包被篡改的方法,其利用安裝包的簽名數(shù)字證書驗證來判斷是否被篡改,并且其在開發(fā)應(yīng)用程序時就預(yù)先將原始加密簽名集成在應(yīng)用程序內(nèi),并預(yù)先設(shè)定在應(yīng)用程序啟動時自動檢測該應(yīng)用程序是否已被篡改,若被篡改則會禁止使用所有與資費相關(guān)的方法以及彈出提示框提示用戶并提供下載正確安裝包的按鈕供用戶進行下載,從而避免消耗用戶的流量,降低損害。
[0035]上述說明示出并描述了本發(fā)明的優(yōu)選實施例,應(yīng)當(dāng)理解本發(fā)明并非局限于本文所披露的形式,不應(yīng)看作是對其他實施例的排除,而可用于各種其他組合、修改和環(huán)境,并能夠在本文發(fā)明構(gòu)想范圍內(nèi),通過上述教導(dǎo)或相關(guān)領(lǐng)域的技術(shù)或知識進行改動。而本領(lǐng)域人員所進行的改動和變化不脫離本發(fā)明的精神和范圍,則都應(yīng)在本發(fā)明所附權(quán)利要求的保護范圍內(nèi)。
【權(quán)利要求】
1.一種防止安裝包被篡改的方法,其特征在于,包括以下步驟: 10.獲取應(yīng)用程序開發(fā)者的數(shù)字簽名; 20.將所述的開發(fā)者的數(shù)字簽名進行加密,得到原始加密簽名; 30.將所述的原始加密簽名集成在該應(yīng)用程序中; 40.啟動應(yīng)用程序時自動獲取該應(yīng)用程序的數(shù)字簽名; 50.將所述的應(yīng)用程序的數(shù)字簽名進行加密,得到程序加密簽名; 60.比對原始加密簽名與程序加密簽名是否一致,如果不一致,則該應(yīng)用程序被第三方篡改,提示用戶進行相應(yīng)的處理。
2.根據(jù)權(quán)利要求1所述的一種防止安裝包被篡改的方法,其特征在于:所述的步驟10中獲取應(yīng)用程序開發(fā)者的數(shù)字簽名,主要是獲取應(yīng)用程序開發(fā)者在開發(fā)平臺上注冊后,該開發(fā)平臺發(fā)放給開發(fā)者唯一的簽名數(shù)字證書。
3.根據(jù)權(quán)利要求1所述的一種防止安裝包被篡改的方法,其特征在于:所述的步驟20中將所述的開發(fā)者的數(shù)字簽名進行加密與所述的步驟50中將所述的應(yīng)用程序的數(shù)字簽名進行加密,二者的加密方法是相同的。
4.根據(jù)權(quán)利要求3所述的一種防止安裝包被篡改的方法,其特征在于:所述的數(shù)字簽名的加密,主要是對數(shù)字簽名的哈希值進行加密。
5.根據(jù)權(quán)利要求4所述的一種防止安裝包被篡改的方法,其特征在于:所述的步驟60中比對原始加密簽名與程序加密簽名是否一致,主要是比對二者加密后的加密哈希值是否完全相同。
6.根據(jù)權(quán)利要求1所述的一種防止安裝包被篡改的方法,其特征在于:所述的步驟60中提示用戶進行相應(yīng)的處理,主要是通過禁止該應(yīng)用程序使用所有與資費相關(guān)的方法。
7.根據(jù)權(quán)利要求1所述的一種防止安裝包被篡改的方法,其特征在于:所述的步驟60中提示用戶進行相應(yīng)的處理,主要是通過彈出提示框告知用戶其安裝的應(yīng)用程序是被第三方篡改過的,并且提供正確安裝包的下載按鈕。
【文檔編號】G06F21/51GK104298915SQ201410548501
【公開日】2015年1月21日 申請日期:2014年10月16日 優(yōu)先權(quán)日:2014年10月16日
【發(fā)明者】張偉, 傅松林, 胡瑞鑫, 曾佳水 申請人:廈門美圖之家科技有限公司