[發明專利]數字簽名方法及移動終端和服務器有效
| 申請號: | 201410835701.7 | 申請日: | 2014-12-26 |
| 公開(公告)號: | CN104486086B | 公開(公告)日: | 2017-10-20 |
| 發明(設計)人: | 李常坤;石浩然 | 申請(專利權)人: | 北京奇虎科技有限公司;奇智軟件(北京)有限公司 |
| 主分類號: | H04L9/32 | 分類號: | H04L9/32;H04L29/06 |
| 代理公司: | 北京市立方律師事務所11330 | 代理人: | 王增鑫 |
| 地址: | 100088 北京市西城區新*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數字簽名 方法 移動 終端 服務器 | ||
技術領域
本發明涉及移動通信技術領域,具體而言,本發明涉及一種數字簽名方法及移動終端和服務器。
背景技術
隨著科技的進步和社會發展,移動終端的使用已經相當的廣泛。越來越多的程序被技術人員開發出來,以應用于移動終端中。
對于一個適用于移動終端的程序,技術人員通常在開發出該程序的代碼文件、配置文件、資源文件、圖片等等原始文件后,對原始文件進行數字簽名,得到簽名相關的文件;將該程序的原始文件和簽名相關的文件一起打包成安裝包,供用戶下載安裝。
以適用于安卓操作系統的程序為例,開發方的技術人員對于該程序的代碼文件Classex.dex、配置文件AndroidManifest.xml、資源文件、圖片等等原始文件,通常利用簽名工具程序對各原始文件進行簽名:計算出各原始文件的一階散列值記載到Manifest.mf文件中;根據各原始文件的一階散列值計算出各原始文件的二階散列值記載到Cert.sf文件中;對各二階散列值進行摘要計算得到摘要信息;根據預先生成的私鑰對摘要信息進行加密;根據加密結果以及預先生成的公鑰生成Cert.rsa文件。之后,將各原始文件,與簽名相關的Manifest.mf文件、Cert.sf文件和Cert.rsa文件一起打包成程序的安裝包。
移動終端的操作系統接收到安裝程序的指令后,從該程序的安裝包中解壓出該程序的各原始文件、以及Manifest.mf文件、Cert.sf文件和Cert.rsa文件;利用Manifest.mf文件、Cert.sf文件和Cert.rsa文件,對各原始文件進行簽名認證,以驗證原始文件是否被惡意程序所篡改。
此外,安裝于移動終端中的第三方的安全類應用程序,對于安全性未知的程序,通常需要從該程序的安裝包中解壓出各原始文件,對多個原始文件進行適用于沙箱中運行的修改后,重新進行數字簽名,得到重新簽名的簽名相關的文件。將簽名相關的文件、與修改后的原始文件進行二次打包,以便于該安全性未知的程序在創建的沙箱中安裝運行。
但是,現有的數字簽名方法對程序的原始文件進行數字簽名的過程通常是在移動終端中執行;也就是說,數字簽名過程中涉及的私鑰存放在移動終端中;該方式容易導致惡意程序盜取私鑰后,即可隨意篡改待安裝程序的原始文件,也可以通過對篡改后的原始文件進行重新簽名,得到合法的簽名相關的文件;現有的數字簽名方法可能導致被惡意程序劫持或污染的程序的安裝包,可以通過操作系統的簽名認證而被允許安裝;進一步地,可能造成惡意程序利用移動終端中存儲的用戶信息執行惡意行為。
因此,綜上,現有的數字簽名方法安全性較低,可能會給用戶帶來潛在的安全隱患,造成用戶的利益損失,從而降低了用戶的體驗。
發明內容
本發明針對現有的數字簽名方法的缺點,提出一種數據簽名方法及移動終端和服務器,用以解決現有的數字簽名方法存在的安全性較低的問題。
本發明的技術方案根據一個方面,提供了一種移動終端的數字簽名方法,包括:
移動終端對于二階散列值文件中的二階散列值序列,對該二階散列值序列中除了代碼文件的二階散列值之外的各二階散列值進行摘要計算,得到第一子摘要信息;
將第一子摘要信息和所述代碼文件的二階散列值向服務器上傳;
其中,所述二階散列值對應原始文件;所述原始文件的二階散列值是根據該原始文件的一階散列值算得的,該原始文件的一階散列值是根據該原始文件的內容算得的;所述代碼文件是所述原始文件之一。
進一步,所述將該二階散列值序列中除了代碼文件的二階散列值之外的各二階散列值進行摘要計算之前,還包括:
將所述代碼文件的二階散列值,移動到所述二階散列值序列的末尾,得到二階散列值序列重排后的二階散列值文件。
進一步,所述移動終端的數字簽名方法,還包括:
所述移動終端接收到所述服務器返回的數字簽名文件后,對于一階散列值文件中的一階散列值序列,將該一階散列值序列中所述代碼文件的一階散列值,移動到所述一階散列值序列的末尾,得到一階散列值序列重排后的一階散列值文件;
將所述數字簽名文件、二階散列值序列重排后的二階散列值文件、一階散列值序列重排后的一階散列值文件,以及所述二階散列值序列中各二階散列值各自對應的原始文件一起打包成安裝包。
較佳地,所述一階散列值文件具體為Manifest.mf文件;所述二階散列值文件具體為Cert.sf文件;所述數字簽名文件具體為Cert.rsa文件。
本發明的技術方案根據另一個方面,還提供了一種服務器端的數字簽名方法,包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京奇虎科技有限公司;奇智軟件(北京)有限公司,未經北京奇虎科技有限公司;奇智軟件(北京)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410835701.7/2.html,轉載請聲明來源鉆瓜專利網。





