亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于信任鏈傳遞的APK重簽名算法設計

        2014-07-02 00:29:35于成麗郭燕慧鈕心忻
        電視技術 2014年21期
        關鍵詞:調(diào)用開發(fā)者信任

        于成麗,郭燕慧,鈕心忻

        (北京郵電大學 網(wǎng)絡與交換技術國家重點實驗室 信息安全中心,北京 100876)

        基于信任鏈傳遞的APK重簽名算法設計

        于成麗,郭燕慧,鈕心忻

        (北京郵電大學 網(wǎng)絡與交換技術國家重點實驗室 信息安全中心,北京 100876)

        基于信任鏈傳遞機制設計了一個Android應用安全管理系統(tǒng)上的APK重簽名算法。算法利用官方私鑰對通過安全檢測的APK中開發(fā)者簽名文件進行重簽名以證明其通過官方安全認證,保證了被簽名的APK文件信息的安全性、完整性和不可否認性。測試結(jié)果表明,對比重簽名整個APK文件算法,算法能夠高效加速文件的簽名與驗簽進度,提升了用戶應用安裝體驗;同時具備良好的靈活性和可擴展性,具有較高的應用價值和推廣價值。

        信任鏈傳遞;APK重簽名;應用安全管理系統(tǒng);SHA1算法;RSA算法

        1 APK背景簡介

        伴隨著3G,4G業(yè)務的商用,電視、PC、手機“三屏合一”的推進,智能電視被稱是繼PC、平板電腦和智能手機之后的第四屏,吸引了中外眾多企業(yè)的目光。谷歌、蘋果、聯(lián)想、小米、樂視、TCL、愛奇藝等紛紛進入智能電視領域,各大第三方應用商店也將開始提供Android智能電視應用服務,智能電視將成為互聯(lián)網(wǎng)公司一個重要的主戰(zhàn)場,以Android系統(tǒng)為首的智能終端用戶量日益大增。由于這些智能電視終端可植入大量各種各樣的APP,這種開源的Android平臺為開發(fā)者深度定制系統(tǒng)提供很好的機遇,然而部分被收買的開發(fā)者在定制ROM時肆意破解篡改發(fā)布的APK軟件安裝包,在APK編譯后通過植入大量的木馬病毒來竊取用戶信息,給Android用戶帶來了嚴重的隱私安全和經(jīng)濟損失[1-3]。為保護用戶的隱私安全,減少不必要的經(jīng)濟損失,官方安全機構(gòu)聯(lián)合應用商城及各大智能電視終端廠商期望建立并維護一套可監(jiān)管的、健全的、標準化的APK應用安全管理平臺。

        近期,文獻[4]先后通過靜態(tài)提取APK權(quán)限、API調(diào)用序列、組件、資源以及APK結(jié)構(gòu)構(gòu)件特征向量,動態(tài)修改APK源碼、重新編譯成內(nèi)核鏡像文件并加載模擬器并實時監(jiān)控APK軟件安裝包等方法,設計了一個對APK安裝包動靜態(tài)檢測相結(jié)合的惡意APK安全檢測方法。隨后,易等人[5]提出了一套基于Web的Android應用安全管理系統(tǒng),該系統(tǒng)允許Android用戶在終端添加對應用證書的合法性檢測來保證APK軟件安裝包的安全。借鑒上述動靜態(tài)安全檢測方法和思想,本文搭建了一套健全、可信的APK應用安全管理系統(tǒng),其具體結(jié)構(gòu)流程如圖1所示。

        從軟件安全的角度考慮,通過對安全檢測的重簽名APK進行驗簽,判斷它是否由“官方”安全認證并判定它不是被破解、被篡改過的重新簽名打包“盜版軟件”,確保Android用戶安全使用APK軟件安裝包。如圖1所示,由于上述系統(tǒng)上的重簽名驗簽模塊被內(nèi)嵌到智能電視終端應用安裝器中,提高驗簽效率,進而提升用戶體驗迫在眉睫。鑒于此,本文基于信任鏈傳遞機制設計了一個An?droid應用安全管理系統(tǒng)上高效安全的APK重簽名算法。

        圖1 APK應用安全管理系統(tǒng)

        2 關鍵技術分析

        APK簽名即Android應用簽名,它是Android系統(tǒng)對APK包完整性和發(fā)布機構(gòu)唯一性的校驗機制。顯然,An?droid用戶希望安裝被驗簽過的APK來有效地提升自身系統(tǒng)安全。然而,一些開發(fā)者為牟取利益,常常利用自簽名私鑰對篡改APK安裝包、重新簽名、開發(fā)類似的APK,而這些APK能夠盜取用戶隱私信息而獲取利益。因此,在保護APK的版權(quán)和開發(fā)者利益且不影響APK正常安裝運行的前提下,開發(fā)者可以合理利用APK簽名算法等手段來限制開發(fā)惡意的APK。

        APK簽名機制的大致框架[6-7]如下:開發(fā)者在發(fā)布APK前,即要對一個未簽名的Android應用程序Un?signedApp.Apk簽名,首先執(zhí)行一個signapk.jar包,然后分別 用 公鑰 testkey.x509.pem和 私 鑰 key.pk8對 Un?signedApp.Apk進行數(shù)字簽名,并將公鑰證書信息certifi?cate.pem打包在APK文件中,最后在安裝應用時,系統(tǒng)對APK進行驗簽并提取APK的公鑰信息,這樣只有通過驗簽的UnsignedApp.Apk才允許被安裝到系統(tǒng)智能終端。

        另外,通過分析其他APK簽名機制發(fā)現(xiàn),簽名安裝好的APK包中會新增加1個含有3個開發(fā)者簽名信息文件MANIFEST.MF,CERT.SF,CERT.RSA的目錄文件“/ META-INF”。然而,通過跟蹤Android系統(tǒng)驗簽源碼發(fā)現(xiàn),驗簽是通過驗證3個簽名信息文件來校驗APK,并沒有對META-INF目錄做自校驗處理,所以如果在ME? TA-INF目錄中添加其他文件并不會影響APK系統(tǒng)驗簽、安裝、運行和更新。本文試圖在簽名過程中將重簽名的APK文件獨立存放到META-INF目錄下,將驗簽模塊內(nèi)嵌在智能終端應用安裝器中。對于計算整個APK文件重簽名的技術,它們在簽名和驗簽過程中都產(chǎn)生大量的復雜運算,極大降低了Android用戶體驗,因此,考慮改進并開發(fā)一種新型APK重簽名算法。

        為了更加高效合理地處理上述問題,本文將沈昌祥院士等人構(gòu)建的信任鏈傳遞與度量模型[8-10]應用到本文APK重簽名算法中。在可信計算體系中,信任鏈傳遞與度量模型主要被用來建立可信的操作平臺。如圖2所示,該模型首先需要創(chuàng)立一個可信根(CRTM),然后通過建立一條信任鏈可信計算BIOS代碼的HASH值,不斷將信任傳遞,經(jīng)由操作系統(tǒng)裝載器(OS Loader)到達可信的操作系統(tǒng)(OS),直到傳遞給可信平臺(AP)進而建立可信的智能終端。下文設計的APK重簽名算法僅對新目錄META-INF下的3個簽名信息文件MANIFEST.MF,CERT.SF,CERT.RSA進行重簽名,對其他文件不作任何處理。本文重簽名算法以Android系統(tǒng)原生簽名為信任根,不斷將信任向上傳遞到APK重簽名流程,信任的傳遞通過完整性度量和驗證實現(xiàn)。

        圖2 信任鏈傳遞與度量模型

        3 APK重簽名算法

        3.1 簽名過程

        本文重簽名算法的簽名具體實現(xiàn)流程如圖3所示。接下來,本文分兩階段詳細闡述。

        圖3 APK重簽名算法流程

        1)APK系統(tǒng)簽名階段

        由于Android系統(tǒng)允許用戶使用自簽名的私有證書對應用程序簽名,于是在公布的源碼包中為其提供了一個自帶簽名工具signapk.jar源碼signApk.java。因此,APK系統(tǒng)簽名階段主要是在新增加目錄“/META-INF”下依次生成MANIFEST.MF,CERT.SF,CERT.RSA等3個簽名信息文件。

        (1)生成MANIFEST.MF文件

        通過調(diào)用addDigestsToManifest方法用SHA1數(shù)字簽名算法[11]逐一對APK包中所有未簽名文件計算摘要值,采用Base64對摘要值進行編碼,將編碼信息寫入MANI?FEST.MF文件。

        (2)生成CERT.SF文件

        通過調(diào)用writeSignatureFile方法用SHA1-RSA算法[12]分別對MANIFEST.MF文件和MANIFEST.MF文件中的每個摘要項計算摘要值,將所有摘要計算結(jié)果寫入CERT.SF文件。

        (3)生成CERT.RSA文件

        通過調(diào)用writeSignatureBlock方法對CERT.SF文件簽名,將簽名結(jié)果和輸入的公鑰證書打包成PKCS7格式寫入CERT.RSA文件。

        上述過程以信任鏈傳遞機制服務簽名過程串行進行的,下一步驟的輸入依賴上一步的輸出,這種串聯(lián)性為驗簽時逐層驗證文件完整性提供了便利。

        2)APK重簽名階段

        顧名思義,APK重簽名即在APK系統(tǒng)簽名基礎之上對其再一次簽名,其具體流程如下(為保持流程的連貫性,以下序號接上文1)APK系統(tǒng)簽名階段):

        (4)調(diào)用CalcalateMetaFileHash()利用SHA1算法對APK系統(tǒng)簽名的3個簽名信息文件MANIFEST.MF,CERT.SF、CERT.RSA重新計算摘要值;

        (5)采用Base64手段對上述摘要值再次編碼,調(diào)用signData()利用SHA1-RSA算法對編碼值進行簽名,將簽名值寫入sign.sig文件;

        (6)提取公鑰信息及官方簽名機構(gòu)信息寫入到info. txt文件;

        (7)將sign.sg和info.txt文件插入到APK中ME?TA-INF目錄。

        主要代碼如下:

        本算法借助于SHA1,RSA[13]等經(jīng)典數(shù)字簽名算法,不僅保證了被簽名的APK文件信息的安全性、完整性和不可否認性,而且加速文件的簽名與驗簽進度,提升了用戶安全安裝體驗。

        3.2 驗簽過程

        類似地,驗簽過程也分兩階段展開。首先,Android系統(tǒng)使用“PackageInstaller”程序進行應用程序的安裝時,利用安裝器調(diào)用APK重簽名驗簽模塊對驗簽重簽名算法;其次調(diào)用系統(tǒng)驗簽程序?qū)ndroid系統(tǒng)簽名逐一驗簽。其具體流程如下:

        1)APK重簽名驗簽階段

        (1)檢查APK中是否包含第2.1節(jié)APK重簽名中第(5)步生成的sign.sig文件。若包含繼續(xù)下一步驗證;若不包含,則驗簽過程失敗,即簽名失敗。

        (2)調(diào)用CalcalateMetaFileHash()利用SHA1算法分別對APK的META-INF文件中的簽名信息文件MANI?FEST.MF,CERT.SF,CERT.RSA計算摘要值。

        (3)調(diào)用signature.verify()對sign.sig文件簽名值和公鑰信息進行驗簽確認是否一致。

        主要代碼如下:

        2)APK系統(tǒng)驗簽階段(為保持流程的連貫性,以下步驟接上文1)APK重簽名驗簽階段)

        (4)調(diào)用JarUtils.verifySignature()對第2.1節(jié)APK系統(tǒng)簽名第(3)步的簽名驗證,驗證CERT.RSA的簽名是否確實從CERT.SF而來。

        (5)調(diào)用JarVerifier.verify()對第2.1節(jié)APK系統(tǒng)簽名第(2)步的摘要驗證,驗證CERT.SF中的摘要值是否確實MANIFEST.MF文件計算得到。

        (6)調(diào)用VerifierEntry.verify()對第2.1節(jié)APK系統(tǒng)簽名第(1)步的摘要驗證,驗證MANIFEST.MF中的摘要值是否確實由應用程序文件計算得到。

        分析可見,上述驗簽過程通過官方公鑰證書利用重簽名信息文件sign.sig對MANIFEST.MF,CERT.SF,CERT. RSA這3個開發(fā)者簽名文件進行驗簽,并根據(jù)驗簽結(jié)果對用戶進行風險提示,用戶自行選擇是否繼續(xù)安裝應用。該過程不僅能夠利用APK重簽名保證開發(fā)者自身簽名文件的完整性,而且APK繼續(xù)安裝時還利用開發(fā)者簽名特性進一步驗證APK中其他文件所有文件完整性,這是由于APK每一文件一旦被改動將會導致驗簽無法順利通過。

        4 測試分析

        模擬真實電視用戶裝機環(huán)境,選取Android智能電視裝機必備的10款不同APK應用(譬如安全工具、文件管理、購物、影音、生活等)為例進行測試,如表1所示(這里分別命名本文重簽名算法和對APK所有文件重簽名算法為算法1和算法2)。測試原型系統(tǒng)及實驗平臺配置中簽名服務器(Linux虛擬機)為:CPU(3.29 GHz),RAM(4.00 Gbyte),OS(Ubuntu);驗簽移動智能終端:CPU(1.45 Hz),RAM(2.00 Gbyte),OS(Android 4.2)。

        表1 Android智能電視中的10款不同APK應用測試結(jié)果

        測試結(jié)果表明,Android用戶利用本文重簽名算法在安裝Android智能電視中如上10款APK應用時平均所需等待時間僅為0.3 s,而采用算法2平均所需等待時間將達到1.68 s,接近是本算法的6倍,本算法極大地降低了Android用戶APK應用安裝體驗滿意度。這是由于算法2需要對APK文件中所有文件的進行簽名,而本重簽名算法僅需對META-INF目錄下包含開發(fā)者簽名信息的3個文件進行簽名即可。

        為使測試更具典型性和普遍性,本文進一步選擇了55個0.2~306.1 Mbyte之間的APK文件作為測試對象,分別比較算法1和算法2的簽名和驗簽所需時間,如圖4~圖5所示。由于智能終端容量所限,Android用戶更傾向選擇安裝較小APK文件,這里較多地選取了文件大小為0~50 Mbyte之間的APK。測試分析表明,整體上看,無論是在簽名過程還是驗簽過程,本文算法平均所需時間僅僅是算法2的1/5,即本文重簽名算法在一定程度上加速了簽名與驗簽進度,進一步提升Android用戶APK應用安裝體驗滿意度。

        圖4 簽名時間與APK文件大小

        圖5 驗簽時間與APK文件大小

        5 小結(jié)

        基于信任鏈傳遞機制,本文設計了一個基于Android應用安全管理系統(tǒng)上高效安全的APK重簽名算法,詳細闡述了算法的簽名、驗簽過程和代碼實現(xiàn)過程。該算法利用官方私鑰對通過安全檢測的APK中META-INF目錄下開發(fā)簽名進行重簽名以證明其通過官方安全認證,防止合法的APK被非法篡改,保證了被簽名APK文件信息的安全性、完整性和不可否認性。測試結(jié)果表明,對比重簽名整個APK文件,本文算法能夠高效加速文件的簽名與驗簽進度,提升了用戶安全安裝體驗;此外,它具有高實用性、靈活性強和可擴展性等優(yōu)點,具有較高的應用價值和推廣價值。

        然而,由于Android平臺的開放性,當今未經(jīng)官方認證APK應用,只進行風險提示,由Android用戶選擇是否繼續(xù)安裝,并不強行禁止用戶安裝。因此,對于那些未經(jīng)官方認證的惡意APK安裝檢測問題是后續(xù)要考慮的課題。

        [1]閆梅,彭新光.基于Android安全機制的權(quán)限檢測系統(tǒng)[J].計算機工程與設計,2013(3):85-88.

        [2] 李靜華,慕德俊,楊鳴坤,等.Android惡意程序行為分析系統(tǒng)設計[J].北京郵電大學學報,2014(S1):104-107.

        [3] 史立原,譚金蓉.安卓電視機芯智能升級的應用研究[J].電視技術,2014,38(6):58-61.

        [4]胡文君,趙雙,陶敬,等.一種針對Android平臺惡意代碼的檢測方法及系統(tǒng)實現(xiàn)[J].西安交通大學學報,2013(10):37-43.

        [5] 易明,葉佳,石瑀.基于Web的Android應用安全管理系統(tǒng)[J].計算機安全,2014(2):26-28.

        [6] 孫偉.Android移動終端操作系統(tǒng)的安全分析[J].軟件學報,2013(4):105-108.

        [7]雷靈光,張中文,王躍武,等.Android系統(tǒng)代碼簽名驗證機制的實現(xiàn)及安全性分析[J].信息網(wǎng)絡安全,2012(8):61-63.

        [8] 李曉勇,韓臻,沈昌祥.Windows環(huán)境下信任鏈傳遞及其性能分析[J].計算機研究與發(fā)展,2007(11):1889-1895.

        [9] 于培.可信計算信任鏈傳遞機制的研究與設計[D].西安:西安電子科技大學,2011.

        [10]司麗敏.可信計算平臺信任鏈理論與技術研究[D].北京:北京工業(yè)大學,2011.

        [11] 路而紅,董秀則,李雪梅.現(xiàn)代密碼算法工程[M].北京:清華大學出版社,2012.

        [12] DANGRAD I.A design principle for hash functions[C]//Proc.Crypto LNCS,1989.[S.l.]:IEEE Press,1989:416-427.

        [13]RIVESTR,SHAMIR A,ADLEMAN L.A method for obtaining digi?tal signatures and public-key crypto-systems[J].Communications of the ACM,1978(21):120-126.

        Design of APK Repeating Signature Algorithm Based on Transfer of Trust Chain

        YU Chengli,GUO Yanhui,NIU Xinxin
        (Information Security Center,State Key Laboratory of Networking and Switching Technology,Beijing University of Posts and Telecommunications,Beijing 100876,China)

        Based on the transfer of trust chain,an effective APK repeating signature algorithm is proposed on the application security management platform in this paper.The proposed algorithm signs the security detection APK file repeated by utilizing the official private key on the basis of the traditional APK signature algorithm,after signature APK file can be through the official safety certification.Thus it can be guaranteed security,integrity and nonrepudiation of the signature APK files.Results of the tests show that the proposed algorithm can speed up the rate of signature and verifier signature efficiently compared with the method of signing the whole APK file,and promote Android users’satisfaction when the APK application program is installed.Moreover,it has good flexibility,extensibility,higher application value and popularization value.

        transfer of trust chain;APK repeating signature;application security management system;SHA1 algorithm;RSA algorithm

        TP393.08

        A

        ?? 雯

        2014-08-08

        【本文獻信息】于成麗,郭燕慧,鈕心忻.基于信任鏈傳遞的APK重簽名算法設計[J].電視技術,2014,38(21).

        國家自然科學基金青年基金項目(61302087);教育部博士點基金項目(20120005110017);國家科技支撐計劃項目(2012ZX03002012;2012BAH06B02);北京郵電大學青年基金項目(20120005110017)

        于成麗(1989—),碩士生,主研智能終端安全保障、移動互聯(lián)網(wǎng)安全檢測、安全加密、密碼學、數(shù)字水印等;

        郭燕慧(1974—),副教授,碩士生導師,主要從事內(nèi)容安全、軟件安全、機器學習、知識發(fā)現(xiàn)等研究;

        鈕心忻(1963—),教授,博士生導師,主要從事信息安全、信息隱藏與數(shù)字水印、數(shù)字內(nèi)容及其安全、軟件無線電等研究。

        猜你喜歡
        調(diào)用開發(fā)者信任
        核電項目物項調(diào)用管理的應用研究
        表示信任
        LabWindows/CVI下基于ActiveX技術的Excel調(diào)用
        測控技術(2018年5期)2018-12-09 09:04:46
        嚶嚶嚶,人與人的信任在哪里……
        桃之夭夭B(2017年2期)2017-02-24 17:32:43
        從生到死有多遠
        基于系統(tǒng)調(diào)用的惡意軟件檢測技術研究
        16%游戲開發(fā)者看好VR
        CHIP新電腦(2016年3期)2016-03-10 13:06:42
        iOS開發(fā)者調(diào)查
        電腦迷(2015年8期)2015-05-30 12:27:10
        iOS開發(fā)者調(diào)查
        電腦迷(2015年4期)2015-05-30 05:24:09
        信任
        91av在线播放| 亚洲成av人片不卡无码| 啦啦啦中文在线观看日本| 天天做天天躁天天躁| 亚洲精品AⅤ无码精品丝袜无码 | 99国语激情对白在线观看| 中国一级黄色片久久久| 亚洲一区二区三区播放| 欧美整片第一页| 亚洲午夜精品国产一区二区三区| 蜜桃尤物在线视频免费看| 东京热人妻一区二区三区| 国产精品三级一区二区按摩| 亚洲av色香蕉第一区二区三区| 中国国产不卡视频在线观看 | 嗯啊哦快使劲呻吟高潮视频| 91精品国产91热久久p| 国产愉拍91九色国产愉拍| 成人免费无码大片a毛片| a级黑人大硬长爽猛出猛进| 91精品在线免费| 日本系列有码字幕中文字幕| 亚洲色成人www永久在线观看| 亚洲天堂在线视频播放| 免费啪啪av人妻一区二区 | 日韩在线无| 亚洲美女主播一区二区| 男女av一区二区三区| 无码精品日韩中文字幕| 国产成人精品三上悠亚久久| 久久国产精品色av免费看| 国产精品无码久久综合| 成人无码午夜在线观看| 都市激情亚洲综合一区| 揄拍成人国产精品视频| 亚洲av无码精品色午夜果冻不卡| 亚洲日日噜噜噜夜夜爽爽| 国产一区白浆在线观看| av无码人妻中文字幕| 亚洲AV肉丝网站一区二区无码| 女人天堂国产精品资源麻豆|