【技術實現步驟摘要】
本專利技術涉及信息安全
,尤其涉及一種對APK完整性保護的方法。
技術介紹
通常的,每個Android應用開發完成后,其開發者或作者都會對其開發的Android應用進行簽名,用戶安裝Android應用時智能手機需要先檢測簽名信息是否準確無誤。現各大應用市場在上傳應用時,通常都會對應用程序進行二次簽名,以確保應用程序的安全性。而現有的處理方式是:不管是原作者的簽名還是針對應用市場或服務的擴展簽名都是用寫文件的方式,把簽名文件寫入apk文件包中,同時,安裝應用程序時,驗證簽名是讀取apk中相應文件,以流的形式讀取出來,由此導致安裝速度收到很大影響,特別是對于運行速度本身就較慢的智能手機,其安裝速度甚至會陷入卡頓狀態。
技術實現思路
本專利技術針對現有技術的不足,提出的一種對APK完整性保護的方法,該方法能有效保護APK應用且能提高其安裝運行速度。一種對APK完整性保護的方法包括APK簽名及簽名驗證兩部分,具體為:所述APK簽名步驟包括:步驟一:獲得APK開發者的簽名數據公鑰moduls數據,即原簽名數據;步驟二:計算APK中開發者簽名文件的hash值A;步驟三:計算APK根目錄下AndroidManifest.xml文件的hash值B,及計算resources.arsc文件的hash值C;步驟四:將hash值A、hash值B、hash值C、原簽名數據及應用標記依次順序連接作為簽名基礎數據;步驟五:采用基于SHA1的1024位RSA加密私鑰對簽名基礎數據進行加密,由此形成簽名數據;步驟六:將加密后的簽名數據寫入APK的Filecomment區并保存,則完成簽 ...
【技術保護點】
一種對APK完整性保護的方法包括APK簽名及簽名驗證兩部分,具體為:所述APK簽名步驟包括:步驟一:獲得APK開發者的簽名數據公鑰moduls數據,即原簽名數據;步驟二:計算APK中開發者簽名文件的hash值A;步驟三:計算APK根目錄下AndroidManifest.xml文件的hash值B,及計算resources.arsc文件的hash值C;步驟四:將hash值A、hash值B、hash值C、原簽名數據及應用標記依次順序連接作為簽名基礎數據;步驟五:采用基于SHA1的1024位RSA加密私鑰對簽名基礎數據進行加密,由此形成簽名數據;步驟六:將加密后的簽名數據寫入APK的File?comment區并保存,則完成簽名;所述簽名驗證包括:步驟一:取出已經簽名的簽名基礎數據,所述簽名基礎數據包括原簽名數據、hash值A、hash值B、hash值C和簽名基礎數據;步驟二:取出存儲在APK文件File?comment區的加密數據,取出的數據如果為空則驗簽失敗,不為空則繼續進行簽名驗證;步驟三:使用SHA1的1024位RSA加密公約對簽名驗證步驟二獲得的加密數據解密;步驟三:將解密后的數據與簽 ...
【技術特征摘要】
1.一種對APK完整性保護的方法包括APK簽名及簽名驗證兩部分,具體為:所述APK簽名步驟包括:步驟一:獲得APK開發者的簽名數據公鑰moduls數據,即原簽名數據;步驟二:計算APK中開發者簽名文件的hash值A;步驟三:計算APK根目錄下AndroidManifest.xml文件的hash值B,及計算resources.arsc文件的hash值C;步驟四:將hash值A、hash值B、hash值C、原簽名數據及應用標記依次順序連接作為簽名基礎數據;步驟五:采用基于SHA1的1024位RSA加密私鑰對簽名基礎數據進行加密,由此形成簽名數據;步驟六:將加密后的簽名數據寫入APK的Filecomment區并保存,則完成簽名;所述簽名驗證包括:步驟一:取出已經簽名的簽名基礎數據,所述簽名基礎數據包括原簽名數據、hash值A、hash值B、hash值C和簽名基...
【專利技術屬性】
技術研發人員:高振鵬,楊思忠,
申請(專利權)人:中科信息安全共性技術國家工程研究中心有限公司,
類型:發明
國別省市:北京;11
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。