對應用程序進行安全認證的方法、系統及設備的制造方法
【技術領域】
[0001]本發明涉及安全認證技術,尤其涉及對應用程序進行安全認證的方法、系統及設備。
【背景技術】
[0002]隨著智能手機、平板電腦以及智能電視等智能設備的普及,運行與智能設備上的應用程序的數量也呈現爆發式增長。為了維護軟件開發者的權益,應用程序的分發都需要經過安全認證。智能設備通常只允許安裝通過安全認證的應用程序,而現有的安全驗證過程非常簡單,只保證應用程序的完整性和軟件開發者的著作權。
[0003]與此同時,應用程序的使用范圍也越來越廣,比如音視頻回放、電子支付以及設備間的內容共享等。應用程序的關鍵算法(代碼段)以及敏感信息(數據段)在上述應用場景下屬于敏感信息,不能公開地分發,必須加以保護。
[0004]而現有技術只對應用程序進行簡單的安全驗證,沒有對應用程序本身內容進一步采取安全性保護及認證,可能導致關鍵算法和敏感信息被黑客非法竊取,造成巨大的損失。
【發明內容】
[0005]本發明提供了一種對應用程序進行安全認證的方法,該方法能夠提高認證的安全性。
[0006]本發明提供了一種對應用程序進行安全認證的系統,該系統能夠提高認證的安全性。
[0007]本發明提供了一種對應用程序進行安全認證的智能設備,該智能設備能夠提高認證的安全性。
[0008]一種對應用程序進行安全認證的方法,該方法包括:
[0009]從可信任應用程序分發服務器獲取可信任應用程序包,將可信任應用程序包轉移到可信任執行環境中,在可信任執行環境中進行解包,得到可信任應用程序和附加信息;
[0010]獲取可信任應用程序和附加信息的解密秘鑰;
[0011]采用解密秘鑰解密可信任應用程序和附加信息,得到解密后的可信任應用程序和附加信息;
[0012]對解密后的可信任應用程序進行單輸入摘要算法運算,得到摘要信息;
[0013]利用附加信息中的公鑰解密附加信息中的簽名信息,得到原始摘要信息;
[0014]判斷所述原始摘要信息與所述摘要信息是否一致,如果是,則通過安全認證,在可信任執行環境中加載和運行可信任應用程序。
[0015]—種對應用程序進行安全認證的系統,該系統包括智能設備和可信任應用程序分發服務器,所述智能設備包括可信任應用程序管理單元和安全認證服務單元,安全認證服務單元位于可信任執行環境中;
[0016]所述可信任應用程序管理單元,從可信任應用程序分發服務器獲取可信任應用程序包,發送給所述安全認證服務單元;
[0017]所述安全認證服務單元,接收所述可信任應用程序管理單元發送的可信任應用程序包,對其解包后得到加密的可信任應用程序和附加信息;獲取可信任應用程序和附加信息的解密秘鑰;采用解密秘鑰解密可信任應用程序和附加信息,得到解密后的可信任應用程序和附加信息;對解密后的可信任應用程序進行單輸入摘要算法運算,得到摘要信息;利用附加信息中的公鑰解密附加信息中的簽名信息,得到原始摘要信息;判斷所述原始摘要信息與所述摘要信息是否一致,如果是,則通過安全認證,加載和運行可信任應用程序;
[0018]所述可信任應用程序分發服務器,根據所述可信任應用程序管理單元的請求,為其提供可信任應用程序包。
[0019]—種對應用程序進行安全認證的智能設備,該智能設備包括可信任應用程序管理單元和安全認證服務單元,安全認證服務單元位于可信任執行環境中;
[0020]所述可信任應用程序管理單元,從可信任應用程序分發服務器獲取可信任應用程序包,發送給所述安全認證服務單元;
[0021]所述安全認證服務單元,接收所述可信任應用程序管理單元發送的可信任應用程序包,對其解包后得到可信任應用程序和附加信息;獲取可信任應用程序和附加信息的解密秘鑰;采用解密秘鑰解密可信任應用程序和附加信息,得到解密后的可信任應用程序和附加信息;對解密后的可信任應用程序進行單輸入摘要算法運算,得到摘要信息;利用附加信息中的公鑰解密附加信息中的簽名信息,得到原始摘要信息;判斷所述原始摘要信息與所述摘要信息是否一致,如果是,則通過安全認證,加載和運行可信任應用程序。
[0022]從上述方案可以看出,本發明中,從可信任應用程序分發服務器獲取可信任應用程序包,將可信任應用程序包轉移到可信任執行環境中,解包后得到可信任應用程序和附加信息;獲取可信任應用程序和附加信息的解密秘鑰;采用解密秘鑰解密可信任應用程序和附加信息,得到解密后的可信任應用程序和附加信息;對解密后的可信任應用程序進行單輸入摘要算法運算,得到摘要信息;利用附加信息中的公鑰解密附加信息中的簽名信息,得到原始摘要信息;判斷所述原始摘要信息與所述摘要信息是否一致,如果是,則通過安全認證,在可信任執行環境中加載和運行可信任應用程序。采用本發明方案,對可信任應用程序的安全認證、加載和運行都在可信任執行環境中完成,保證了認證的安全性。并且,可信應用程序以及附加信息在可信任應用程序分發服務器和智能終端之間的傳輸都是以加密的方式存在,保證了可信任應用程序的安全性;同時可信任應用程序的附加信息,包括簽名信息和公鑰也是加密的,增強了可信任應用程序的完整性;從而,進一步提高了認證的安全性。
【附圖說明】
[0023]圖1為本發明對應用程序進行安全認證的方法示意性流程圖;
[0024]圖2為本發明開發端提交可信任應用程序的流程圖實例;
[0025]圖3為本發明智能設備對可信任應用程序進行安全認證的流程圖實例;
[0026]圖4為本發明對應用程序進行安全認證的系統結構示意圖;
[0027]圖5為本發明對應用程序進行完全認證的系統構架示意圖實例。
【具體實施方式】
[0028]為使本發明的目的、技術方案和優點更加清楚明白,下面結合實施例和附圖,對本發明進一步詳細說明。
[0029]本發明中,將對可信任應用程序的安全認證、加載和運行都轉移到可信任執行環境中完成,并且,可信應用程序以及附加信息在可信任應用程序分發服務器和智能終端之間的傳輸都是以加密的方式存在,從而,提高了認證的安全性。
[0030]參見圖1,為本發明對應用程序進行安全認證的方法示意性流程圖,其包括以下步驟:
[0031]步驟101,從可信任應用程序分發服務器獲取可信任應用程序包,將可信任應用程序包轉移到可信任執行環境中,在可信任執行環境中進行解包,得到可信任應用程序和附加信息。
[0032]本發明采用了與現有不同的方案對應用程序進行安全認證,為了進行區別,將采用本發明方案進行認證的對象稱為可信任應用程序,將采用現有方案進行認證的對象稱為普通應用程序。
[0033]本發明中,從可信任應用程序分發服務器獲取可信任應用程序包后,將可信任應用程序包轉移到可信任執行環境中,而后便可在信任執行環境中對可信任應用程序進行安全認證。
[0034]步驟102,獲取可信任應用程序和附加信息的解密秘鑰。
[0035]解密秘鑰可以是智能終端與可信任應用程序分發服務器之間約定的任意解密秘鑰;需要時,智能終端直接提取出預先預定的解密秘鑰。還可以,在需要時,按照預先約定的計算方案運算得到所需的解密秘鑰;例如:
[0036]智能設備獲取本地的安全共享秘鑰;
[0037]智能設備將可信任應用程序的通用唯一識別碼(UUID)和安全共享秘鑰,進行多輸入摘要算法計算,得到可信任應用程序和附加信息的解密秘鑰。
[0038]多輸入摘要算法,即有多個輸入,對多個輸入進行摘要算法運算。本發明中具體對UUID和安全共享秘鑰兩個輸入進行摘要算法運算,得到解密秘鑰;該多輸入摘要算法例如為哈希運算消息認證碼(HMAC,Hash-based Message Authenticat1n Code)算法。
[0039]所述安全共享秘鑰以明文形式存于可信任執行環境的固件中,或者,通過硬件加密后存于可信任執行環境的固件中;
[0040]如果安全共享秘鑰是以硬件加密的方式存于可信任執行環境的固件中,則采用硬件解密引擎獲得解密后的安全共享秘鑰,將解密后的安全共享秘鑰用于多輸入摘要算法運算;否則直接將安全共享秘鑰用于多輸入摘要算法運算。
[0041]安全共享秘鑰可以以明文的形式存在于可信任執行環境的固件中,也可以通過硬件加密后存在于可信任執行環境的固件中,加密安全共享秘鑰的秘鑰是硬件秘鑰,此硬件秘鑰只能被硬件加密引擎獲得。這樣即使可信任執行環境的固件被黑客非法破解,黑客也無法獲得安全共享秘鑰,提升了安全共享秘鑰安全性。
[0042]對于涉及安全共享秘鑰的情形,本發明方法還包括:
[0043]授權中心接收生產廠商提供的綁定信息,所述綁定信息包含智能設備的安全共享秘鑰與智能設備型號之間的對應關系,同類型智能設備有唯一的智能設備型號;
[0044]授權中心保存接收的綁定信息。相應地,步驟101所述從可信任應用程序分發服務器獲取可信任應用程序包,包括:
[0045]智能設備向可信任應用程序分發服務器發送智能設備型號以及待請求的可信任應用程序的UUID ;
[0046]可信任應用程序分發服務器向授權中心發