基于安卓平臺的應(yīng)用程序發(fā)布方法、開發(fā)者追溯方法和裝置的制造方法
【專利摘要】本發(fā)明涉及基于安卓平臺的應(yīng)用程序發(fā)布方法、開發(fā)者追溯方法和裝置。所述基于安卓平臺的應(yīng)用程序發(fā)布方法包括如下步驟:獲取應(yīng)用程序開發(fā)者的用戶身份信息;解析應(yīng)用程序apk包,讀取apk包的自簽名數(shù)字證書,并提取自簽名數(shù)字證書中的公鑰;以用戶身份信息和公鑰向第三方認(rèn)證服務(wù)中心申請同密鑰數(shù)字證書;將由第三方認(rèn)證服務(wù)中心審核并簽發(fā)的同密鑰數(shù)字證書重新打包進apk包;發(fā)布重新打包的apk包。本發(fā)明通過第三方簽發(fā)的同密鑰數(shù)字證書確保了開發(fā)者身份真實可信,同密鑰數(shù)字證書重新打包到apk包中能實現(xiàn)對開發(fā)者的追溯,而且還兼容安卓系統(tǒng)的安全認(rèn)證機制,不影響應(yīng)用程序正常升級。
【專利說明】基于安卓平臺的應(yīng)用程序發(fā)布方法、開發(fā)者追溯方法和裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及移動互聯(lián)網(wǎng)的信息安全技術(shù),更具體地說,涉及一種基于安卓平臺的應(yīng)用程序發(fā)布方法、開發(fā)者追溯方法和裝置。
【背景技術(shù)】
[0002]隨著移動智能終端的普及、移動互聯(lián)網(wǎng)業(yè)務(wù)的蓬勃發(fā)展,信息安全重心從互聯(lián)網(wǎng)向移動互聯(lián)網(wǎng)轉(zhuǎn)移。移動智能終端引發(fā)的顛覆性變革揭開了移動互聯(lián)網(wǎng)產(chǎn)業(yè)發(fā)展的序幕,智能終端改變了人們的工作生活方式。但是,在移動終端向智能化、開放化發(fā)展的同時,也面臨越來越多的安全威脅。
[0003]谷歌的安卓(Android)操作系統(tǒng)是開放平臺,因而成為手機惡意軟件主要感染平臺。無法對安卓手機惡意軟件的開發(fā)者身份進行有效溯源進而追究其法律責(zé)任,導(dǎo)致惡意軟件開發(fā)者違法成本低下,是造成安卓平臺手機惡意軟件泛濫的主要原因之一。
[0004]目前,在安卓平臺上主要通過代碼簽名技術(shù)來對開發(fā)者的身份進行追溯,即開發(fā)者使用數(shù)字證書對應(yīng)用程序進行簽名,通過讀取應(yīng)用程序中的數(shù)字簽名信息,來確認(rèn)應(yīng)用程序開發(fā)者的身份。按照簽名證書的種類可分為:
[0005]1、自簽名證書簽名,即使用自簽名證書對安卓軟件進行代碼簽名。
[0006]2、第三方可信證書簽名,即使用向合法的第三方認(rèn)證服務(wù)中心(CA)申請的證書對已發(fā)布的存量應(yīng)用進行重新簽名。
[0007]現(xiàn)有的這些安卓平臺開發(fā)者追溯方法的不足之處在于:
[0008]1、大部分開發(fā)者在代碼簽名的時候,使用的是自簽名證書,無法保證其身份真實可信。
[0009]2、對于已經(jīng)發(fā)布的大量的存量應(yīng)用,采用依法設(shè)立的第三方認(rèn)證服務(wù)中心簽發(fā)的數(shù)字證書對存量應(yīng)用進行重新簽名,這種方式會造成安卓應(yīng)用程序的簽名證書發(fā)生變化,導(dǎo)致安卓應(yīng)用程序不能正常升級。
【發(fā)明內(nèi)容】
[0010]本發(fā)明要解決的技術(shù)問題在于,針對現(xiàn)有技術(shù)的上述缺陷,提供一種基于安卓平臺的應(yīng)用程序發(fā)布方法和裝置、以及通過該方法和裝置發(fā)布的基于安卓平臺的應(yīng)用程序的開發(fā)者追溯方法和裝置、以及一種安卓平臺,能夠確保開發(fā)者身份真實可信、可追溯同時不影響安卓應(yīng)用程序正常升級。
[0011]本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:提出一種基于安卓平臺的應(yīng)用程序發(fā)布方法,包括如下步驟:
[0012]獲取應(yīng)用程序開發(fā)者的用戶身份信息;
[0013]解析應(yīng)用程序apk包,讀取所述apk包的自簽名數(shù)字證書,并提取所述自簽名數(shù)字證書中的公鑰;
[0014]以所述用戶身份信息和所述公鑰向第三方認(rèn)證服務(wù)中心申請同密鑰數(shù)字證書;
[0015]將由所述第三方認(rèn)證服務(wù)中心審核并簽發(fā)的同密鑰數(shù)字證書重新打包進所述apk包;
[0016]發(fā)布所述重新打包的apk包。
[0017]根據(jù)本發(fā)明所述的基于安卓平臺的應(yīng)用程序發(fā)布方法中,所述將同密鑰數(shù)字證書重新打包進所述apk包進一步包括:將所述同密鑰數(shù)字證書打包在apk包的META-1NF目錄中。
[0018]本發(fā)明為解決其技術(shù)問題還提出一種基于安卓平臺的應(yīng)用程序發(fā)布裝置,包括:
[0019]用戶身份獲取模塊,用于獲取應(yīng)用程序開發(fā)者的用戶身份信息;
[0020]密鑰獲取模塊,用于解析應(yīng)用程序apk包,讀取所述apk包的自簽名數(shù)字證書,并提取所述自簽名數(shù)字證書中的公鑰;
[0021]證書獲取模塊,用于以所述用戶身份信息和所述公鑰向第三方認(rèn)證服務(wù)中心申請同密鑰數(shù)字證書;
[0022]應(yīng)用打包模塊,用于將由所述第三方認(rèn)證服務(wù)中心審核并簽發(fā)的同密鑰數(shù)字證書重新打包進所述apk包;
[0023]應(yīng)用發(fā)布模塊,用于發(fā)布所述重新打包的apk包。
[0024]根據(jù)本發(fā)明所述的基于安卓平臺的應(yīng)用程序發(fā)布裝置中,所述應(yīng)用打包模塊將所述同密鑰數(shù)字證書打包在apk包的META-1NF目錄中。
[0025]本發(fā)明為解決其技術(shù)問題還提出一種采用如上所述的方法發(fā)布的基于安卓平臺的應(yīng)用程序的開發(fā)者追溯方法,包括如下步驟:
[0026]解析所述重新打包后發(fā)布的apk包;
[0027]獲取所述apk包中的由第三方認(rèn)證服務(wù)中心簽發(fā)的同密鑰數(shù)字證書;
[0028]提取所述同密鑰數(shù)字證書中的用戶身份信息。
[0029]本發(fā)明為解決其技術(shù)問題還提出一種采用如上所述的方法發(fā)布的基于安卓平臺的應(yīng)用程序的開發(fā)者追溯裝置,包括:
[0030]解析模塊,用于解析所述重新打包后發(fā)布的apk包;
[0031 ] 第三方證書獲取模塊,用于獲取所述apk包中的由第三方認(rèn)證服務(wù)中心簽發(fā)的同密鑰數(shù)字證書;
[0032]證書信息提取模塊,用于提取所述同密鑰數(shù)字證書中的用戶身份信息。
[0033]本發(fā)明為解決其技術(shù)問題還提出一種安卓應(yīng)用軟件系統(tǒng),包括如上所述的應(yīng)用程序發(fā)布裝置和如上所述的開發(fā)者追溯裝置。
[0034]本發(fā)明通過給軟件開發(fā)者簽發(fā)第三方可信數(shù)字證書(該證書中的公鑰與開發(fā)者自簽名證書的公鑰相同)確保了安卓應(yīng)用程序開發(fā)者的身份真實可信;通過將同密鑰數(shù)字證書打包到安卓應(yīng)用程序的apk包中,讀取同密鑰數(shù)字證書中的開發(fā)者信息,便能實現(xiàn)對開發(fā)者的追溯;而且,將同密鑰數(shù)字證書打包到安卓應(yīng)用程序的apk包中,兼容安卓系統(tǒng)的安全認(rèn)證機制,不影響安卓應(yīng)用程序正常升級。
【附圖說明】
[0035]下面將結(jié)合附圖及實施例對本發(fā)明作進一步說明,附圖中:
[0036]圖1是本發(fā)明一個實施例的安卓應(yīng)用軟件系統(tǒng)的系統(tǒng)架構(gòu)圖;
[0037]圖2是本發(fā)明一個實施例的基于安卓平臺的應(yīng)用程序發(fā)布方法的流程圖;
[0038]圖3是本發(fā)明一個實施例的基于安卓平臺的應(yīng)用程序的開發(fā)者追溯方法的流程圖。
【具體實施方式】
[0039]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0040]為了加強應(yīng)用監(jiān)管,打擊移動互聯(lián)網(wǎng)惡意軟件,對惡意軟件的開發(fā)者進行追溯,本申請設(shè)計了一種安卓應(yīng)用軟件系統(tǒng),基于第三方可信數(shù)字證書進行安卓應(yīng)用程序的發(fā)布和開發(fā)者追溯,通過給軟件開發(fā)者簽發(fā)第三方可信數(shù)字證書(且該證書中的公鑰與開發(fā)者自簽名證書的公鑰相同),確保開發(fā)者身份真實可信,同時將同密鑰數(shù)字證書打包到安卓應(yīng)用程序的apk包(apk是AndroidPackage的縮寫,即安卓安裝包)中,通過讀取同密鑰數(shù)字證書中的開發(fā)者信息,實現(xiàn)對開發(fā)者的追溯,而且還不會影響安卓應(yīng)用程序的正常升級。
[0041]圖1示出了本發(fā)明一個實施例的安卓應(yīng)用軟件系統(tǒng)100的系統(tǒng)架構(gòu)圖。如圖1所示,該安卓應(yīng)用軟件系統(tǒng)100包括應(yīng)用程序發(fā)布裝置110和開發(fā)者追溯裝置120兩個部分。應(yīng)用程序發(fā)布裝置110用于獲取用戶身份信息和apk包的自簽名數(shù)字證書中的簽名公鑰信息,然后向第三方認(rèn)證服務(wù)(CA)中心申請同密鑰數(shù)字證書,并將CA中心審核并簽發(fā)的同密鑰數(shù)字證書重新打包到apk包中,再將重新打包后的apk包發(fā)布。在需要追溯開發(fā)者身份時,開發(fā)者追溯裝置120從apk包中讀取同密鑰數(shù)字證書,進而讀取該同密鑰數(shù)字證書中的開發(fā)者身份信息,達到追溯開發(fā)者的目的。
[0042]具體如圖1所示,應(yīng)用程序發(fā)布裝置110包括用戶身份獲取模塊111、密鑰獲取模塊112、證書獲取模塊113、應(yīng)用打包模塊114和應(yīng)用發(fā)布模塊115。用戶身份獲取模塊111用于獲取應(yīng)用程序開發(fā)者的用戶身份信息。密鑰獲取模塊112用于解析應(yīng)用程序apk包,讀取該apk包的自簽名數(shù)字證書,并提取出該自簽名數(shù)字證書中的公鑰。證書獲取模塊113用于攜帶用戶身份信息和自簽名數(shù)字證書中的公鑰向CA中心200申請同密鑰數(shù)字證書。如圖1所示,CA中心200由證書申請信息接口模塊210、用戶身份審核模塊220、證書簽發(fā)模塊230和證書信息發(fā)送模塊240組成。證書申請信息接收模塊210接收證書獲取模塊113發(fā)出的申請,獲得用戶身份信息和公鑰信息。然后由用戶身份審核模塊220基于該用戶身份信息審核開發(fā)者身份。審核通過則由證書簽發(fā)模塊230基于該用戶身份信息和該公鑰信息簽發(fā)同密鑰數(shù)字證書,然后由證書信息發(fā)送模塊240將簽發(fā)的同密鑰數(shù)字證書返回給證書獲取模塊113。接著,應(yīng)用打包模塊114將證書獲取模塊113從CA中心200申請到的同密鑰數(shù)字證書重新打包進apk包中。一個具體實施例中,應(yīng)用打包模塊114可以將該同密鑰數(shù)字證書打包在apk包的META-1NF目錄中。應(yīng)用發(fā)布模塊115用于發(fā)布該經(jīng)應(yīng)用打包模塊114重新打包的apk包。由于該重新打包發(fā)布的apk包具有第三方可信數(shù)字證書且該證書中的公鑰與開發(fā)者自簽名證書的公鑰相同),確保開發(fā)者身份真實可信的同時還能實現(xiàn)對開發(fā)者的追溯,而且不會影響安卓應(yīng)用程序的正常升級。
[0043]在需要追溯開發(fā)者身份時,開發(fā)者追溯裝置120可基于追溯請求從由應(yīng)用程序發(fā)布裝置110發(fā)布的apk包中讀取同密鑰數(shù)字證書,進而讀取該同密鑰數(shù)字證書中的開發(fā)者身份信息,達到追溯開發(fā)者的目的。具體如圖1所示,開發(fā)者追溯裝置120包括解析模塊121、第三方證書獲取模塊122和證書信息提取模塊123。其中,解析模塊121用于解析應(yīng)用程序發(fā)布裝置110發(fā)布的apk包,第三方證書獲取模塊122用于從經(jīng)解析模塊121解析的apk包信息中獲取由第三方認(rèn)證服務(wù)中心200簽發(fā)的同密鑰數(shù)字證書,證書信息提取模塊123用于提取該同密鑰數(shù)字證書中的用戶身份信息。然后開發(fā)者追溯裝置120可響應(yīng)追溯請求,返回提取出的用戶身份信息,實現(xiàn)開發(fā)者追溯。
[0044]基于以上所介紹的安卓應(yīng)用軟件系統(tǒng),本發(fā)明提出一種基于安卓平臺的應(yīng)用程序發(fā)布方法。圖2示出了本發(fā)明一個實施例的基于安卓平臺的應(yīng)用程序發(fā)布方法300的流程圖。如圖2所示,該基于安卓平臺的應(yīng)用程序發(fā)布方法300包括如下步驟:
[0045]首先步驟S301中,獲取應(yīng)用程序開發(fā)者的用戶身份信息。
[0046]隨后步驟S302中,解析該應(yīng)用程序apk包,讀取該apk包的自簽名數(shù)字證書,并提取出該自簽名數(shù)字證書中的公鑰。
[0047]隨后步驟S303中,以獲得的用戶身份信息和自簽名數(shù)字證書中的公鑰向第三方認(rèn)證服務(wù)中心申請同密鑰數(shù)字證書。
[0048]隨后步驟S304中,將由第三方認(rèn)證服務(wù)中心基于該用戶身份信息和公鑰審核并簽發(fā)的同密鑰數(shù)字證書重新打包進應(yīng)用程序apk包中。一個具體實施例中,該步驟中可以將第三方認(rèn)證服務(wù)中心簽發(fā)的同密鑰數(shù)字證書重新打包在apk包的META-1NF目錄中。
[0049]隨后步驟S305中,發(fā)布該重新打包的apk包。
[0050]基于以上所介紹的安卓應(yīng)用軟件系統(tǒng),本發(fā)明還提出一種基于安卓平臺的應(yīng)用程序的開發(fā)者追溯方法,用于對通過以上所介紹的應(yīng)用程序發(fā)布方法所發(fā)布的安卓應(yīng)用程序進行開發(fā)者追溯。圖3示出了本發(fā)明一個實施例的基于安卓平臺的應(yīng)用程序的開發(fā)者追溯方法400的流程圖。如圖3所示,該基于安卓平臺的應(yīng)用程序的開發(fā)者追溯方法400包括如下步驟:
[0051]首先步驟S401中,解析該重新打包后發(fā)布的apk包。
[0052]隨后步驟S402中,從解析后的apk包信息中獲取由第三方認(rèn)證服務(wù)中心簽發(fā)的同密鑰數(shù)字證書。
[0053]隨后步驟S403中,提取該同密鑰數(shù)字證書中的用戶身份信息,實現(xiàn)開發(fā)者追溯。
[0054]以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【主權(quán)項】
1.一種基于安卓平臺的應(yīng)用程序發(fā)布方法,其特征在于,包括如下步驟: 獲取應(yīng)用程序開發(fā)者的用戶身份信息; 解析應(yīng)用程序apk包,讀取所述apk包的自簽名數(shù)字證書,并提取所述自簽名數(shù)字證書中的公鑰; 以所述用戶身份信息和所述公鑰向第三方認(rèn)證服務(wù)中心申請同密鑰數(shù)字證書; 將由所述第三方認(rèn)證服務(wù)中心審核并簽發(fā)的同密鑰數(shù)字證書重新打包進所述apk包; 發(fā)布所述重新打包的apk包。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將同密鑰數(shù)字證書重新打包進所述apk包進一步包括:將所述同密鑰數(shù)字證書打包在apk包的META-1NF目錄中。3.—種基于安卓平臺的應(yīng)用程序發(fā)布裝置,其特征在于,包括: 用戶身份獲取模塊,用于獲取應(yīng)用程序開發(fā)者的用戶身份信息; 密鑰獲取模塊,用于解析應(yīng)用程序apk包,讀取所述apk包的自簽名數(shù)字證書,并提取所述自簽名數(shù)字證書中的公鑰; 證書獲取模塊,用于以所述用戶身份信息和所述公鑰向第三方認(rèn)證服務(wù)中心申請同密鑰數(shù)字證書; 應(yīng)用打包模塊,用于將由所述第三方認(rèn)證服務(wù)中心審核并簽發(fā)的同密鑰數(shù)字證書重新打包進所述apk包; 應(yīng)用發(fā)布模塊,用于發(fā)布所述重新打包的apk包。4.根據(jù)權(quán)利要求3所述的裝置,其特征在于,所述應(yīng)用打包模塊將所述同密鑰數(shù)字證書打包在apk包的META-1NF目錄中。5.一種采用如權(quán)利要求1或2所述的方法發(fā)布的基于安卓平臺的應(yīng)用程序的開發(fā)者追溯方法,其特征在于,包括如下步驟: 解析所述重新打包后發(fā)布的apk包; 獲取所述apk包中的由第三方認(rèn)證服務(wù)中心簽發(fā)的同密鑰數(shù)字證書; 提取所述同密鑰數(shù)字證書中的用戶身份信息。6.一種采用如權(quán)利要求1或2所述的方法發(fā)布的基于安卓平臺的應(yīng)用程序的開發(fā)者追溯裝置,其特征在于,包括: 解析模塊,用于解析所述重新打包后發(fā)布的apk包; 第三方證書獲取模塊,用于獲取所述apk包中的由第三方認(rèn)證服務(wù)中心簽發(fā)的同密鑰數(shù)字證書; 證書信息提取模塊,用于提取所述同密鑰數(shù)字證書中的用戶身份信息。7.—種安卓應(yīng)用軟件系統(tǒng),其特征在于,包括如權(quán)利要求3所述的應(yīng)用程序發(fā)布裝置和如權(quán)利要求6所述的開發(fā)者追溯裝置。
【文檔編號】G06F21/16GK105873044SQ201510031080
【公開日】2016年8月17日
【申請日】2015年1月21日
【發(fā)明人】陳松林, 劉志誠, 王巍
【申請人】卓望數(shù)碼技術(shù)(深圳)有限公司