新四季網

應用安全性認證方法及裝置與流程

2023-04-28 14:34:56


本申請涉及計算機領域,尤其涉及一種應用安全性認證方法及裝置。



背景技術:

隨著計算機技術的發展,各類應用(APP)層出不窮,應用的安全性越來越受到關注。目前對應用的安全性的認證方法為:

在應用安裝或初始運行時對應用進行認證,以應用安裝時對應用的認證過程為例,具體的應用認證方法為:在應用發布時將應用的APK(安裝包)文件的哈希值寫入安裝文件的外殼中。在應用安裝時,從該安裝文件的外殼中獲取應用發布時的APK文件的哈希值,並從安裝文件中獲取當前安裝的應用的APK文件的哈希值,將該應用發布時的APK文件的哈希值與當前安裝的應用的APK文件的哈希值進行比較,若一致,則表明應用未被篡改,為合法的應用;否則說明應用可能被篡改,從而可採取相應的措施,如停止安裝或停止加載。

上述應用認證方法至少存在如下問題:

1、應用發布時的原始APK文件的哈希值被寫入應用安裝文件的外殼中,很容易被攻擊者獲取並篡改,從而依據該篡改後的APK文件的哈希值無法準確認證應用的合法性。

2、只有在應用安裝或初始運行時執行對應用的認證,無法發現釣魚、假冒應用或惡意用戶發起的惡意服務請求等行為。

因此,目前的應用認證方法無法有效實現應用的安全性認證。



技術實現要素:

本申請解決的技術問題之一是,提供一種應用安全性認證方法及裝置,實現應用的安全認證。

根據本申請一方面的一個實施例,提供了一種應用安全性認證方法,所述方法包括:

接收通過所述應用發起的業務的伺服器業務請求;

響應於接收到所述伺服器業務請求,獲取所述應用的應用安全性指標數據;

將伺服器業務請求和應用安全性指標數據傳遞到伺服器,其中伺服器一方面對伺服器待處理業務請求進行業務響應,另一方面根據獲取的應用安全性指標數據對應用的安全性進行認證。

根據本申請另一方面的一個實施例,提供了一種應用安全性認證方法,所述方法包括:

響應於接收到通過所述應用發起了伺服器業務請求的通知,獲取所述應用的應用安全性指標數據;

將獲取的應用安全性指標數據傳遞到伺服器,其中伺服器根據獲取的應用安全性指標數據對應用的安全性進行認證。

根據本申請另一方面的一個實施例,提供了一種安全功能組件,包括:

接收單元,用於接收通過所述應用發起的-伺服器業務請求;

獲取單元,用於響應於接收到所述伺服器業務請求,獲取所述應用的應用安全性指標數據;

傳遞單元,用於將伺服器業務請求和應用安全性指標數據傳遞到伺服器,其中伺服器一方面對伺服器業務請求進行業務響應,另一方面根據獲取的應用安全性指標數據對應用的安全性進行認證。

根據本申請另一方面的一個實施例,提供了一種包括上面所述的安全功能組件的終端。

根據本申請另一方面的一個實施例,提供了一種安全功能組件,包括:

獲取單元,用於響應於接收到通過所述應用發起的伺服器業務請求的通知,獲取所述應用的應用安全性指標數據;

傳遞單元,用於將獲取的應用安全性指標數據傳遞到伺服器,其中伺服器根據獲取的應用安全性指標數據對應用的安全性進行認證。

根據本申請另一方面的一個實施例,提供了一種包括上面所述的安全功 能組件的終端。

根據本申請另一方面的一個實施例,提供了一種應用安全性認證方法,所述方法包括:

接收通過所述應用發起的伺服器業務請求、以及應用的應用安全性指標數據,所述應用的應用安全性指標數據在終端伴隨著通過所述應用發起的伺服器業務請求而獲取;

對所述的伺服器業務請求進行業務響應;

根據獲取的應用安全性指標數據對應用的安全性進行認證。

根據本申請另一方面的一個實施例,提供了一種應用安全性認證裝置,所述裝置包括:

接收單元,用於接收通過所述應用發起的伺服器業務請求、以及應用的應用安全性指標數據,所述應用的應用安全性指標數據在終端伴隨著通過所述應用發起的伺服器業務請求而獲取;

業務響應單元,用於對伺服器業務請求進行業務響應;

應用認證單元,用於根據獲取的應用安全性指標數據對應用的安全性進行認證。

根據本申請另一方面的一個實施例,提供了一種包括上面所述的裝置的伺服器。

根據本申請另一方面的一個實施例,提供了一種應用安全性認證方法,所述方法包括:

接收應用的應用安全性指標數據,所述應用安全性指標數據在終端伴隨著通過所述應用發起的業務而獲取;

根據獲取的應用安全性指標數據對應用的安全性進行認證。

根據本申請另一方面的一個實施例,提供了一種應用認證組件,包括:

接收單元,用於接收應用的應用安全性指標數據,所述應用安全性指標數據在終端伴隨著通過所述應用發起的伺服器業務請求而獲取;

認證單元,根據獲取的應用安全性指標數據對應用的安全性進行認證。

本申請實施例終端的安全功能組件在接收到通過應用發起的伺服器業務請求的情況下,獲取所述應用的應用安全性指標數據,並將伺服器業務請 求與獲取的應用安全性指標數據傳遞給伺服器,以便伺服器一方面對伺服器業務請求進行業務響應,另一方面根據獲取的應用安全性指標數據對應用的安全性進行認證。實現了終端輔助伺服器實現對應用安全性進行認證。

本申請實施例終端的安全功能組件在接收到通過應用發起的伺服器業務請求情況下,獲取應用的應用安全性指標數據,並將該應用安全性指標數據傳遞給伺服器,以便伺服器根據獲取的應用安全性指標數據對應用的安全性進行認證,從而實現了終端輔助伺服器實現對應用安全性進行認證。

本申請實施例伺服器根據接收的通過所述應用發起伺服器業務請求、以及應用的應用安全性指標數據,對伺服器業務請求進行業務響應的同時,根據獲取的應用安全性指標數據對應用的安全性進行認證,也就是本申請實施例將對應用安全性指標數據的認證放在伺服器執行,有效防止該應用安全性指標數據被篡改的風險,從而保證了應用安全性認證的可靠性。如果放在客戶端執行則很容易被攻擊者篡改,從而應用安全性認證可靠性降低。且將應用的安全性認證結合在伺服器業務響應中實現了伺服器及時、準確、有效的發現應用是否被替換或篡改,從而可有效防止釣魚、假冒應用或惡意用戶發起的惡意服務請求等行為。

本領域普通技術人員將了解,雖然下面的詳細說明將參考圖示實施例、附圖進行,但本申請並不僅限於這些實施例。而是,本申請的範圍是廣泛的,且意在僅通過後附的權利要求限定本申請的範圍。

附圖說明

通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細描述,本申請的其它特徵、目的和優點將會變得更明顯:

圖1是根據本申請一個實施例的終端與伺服器配合實現應用安全性認證的示意圖。

圖2是根據本申請一個實施例的應用安全性認證方法的流程圖。

圖3是根據本申請另一個實施例的應用安全性認證方法的流程圖。

圖4是根據本申請一個實施例的安全功能組件的結構示意圖。

圖5是根據本申請一個實施例的應用安全性認證裝置的結構示意圖。

圖6是根據本申請另一個實施例的終端與伺服器配合實現應用安全性認證的示意圖。

圖7是根據本申請又一個實施例的應用安全性認證方法流程圖。

圖8是根據本申請另一個實施例的安全功能組件的結構示意圖。

圖9是根據本申請又一個實施例的應用安全性認證方法的流程圖。

圖10是根據本申請一個實施例的應用認證組件結構示意圖。

本領域普通技術人員將了解,雖然下面的詳細說明將參考圖示實施例、附圖進行,但本申請並不僅限於這些實施例。而是,本申請的範圍是廣泛的,且意在僅通過後附的權利要求限定本申請的範圍。

具體實施方式

在更加詳細地討論示例性實施例之前應當提到的是,一些示例性實施例被描述成作為流程圖描繪的處理或方法。雖然流程圖將各項操作描述成順序的處理,但是其中的許多操作可以被並行地、並發地或者同時實施。此外,各項操作的順序可以被重新安排。當其操作完成時所述處理可以被終止,但是還可以具有未包括在附圖中的附加步驟。所述處理可以對應於方法、函數、規程、子例程、子程序等等。

所述計算機設備包括用戶設備與網絡設備。其中,所述用戶設備包括但不限於電腦、智慧型手機、PDA等;所述網絡設備包括但不限於單個網絡伺服器、多個網絡伺服器組成的伺服器組或基於雲計算(Cloud Computing)的由大量計算機或網絡伺服器構成的雲,其中,雲計算是分布式計算的一種,由一群鬆散耦合的計算機集組成的一個超級虛擬計算機。其中,所述計算機設備可單獨運行來實現本申請,也可接入網絡並通過與網絡中的其他計算機設備的交互操作來實現本申請。其中,所述計算機設備所處的網絡包括但不限於網際網路、廣域網、城域網、區域網、VPN網絡等。

需要說明的是,所述用戶設備、網絡設備和網絡等僅為舉例,其他現有的或今後可能出現的計算機設備或網絡如可適用於本申請,也應包含在本申請保護範圍以內,並以引用方式包含於此。

後面所討論的方法(其中一些通過流程圖示出)可以通過硬體、軟體、固件、中間件、微代碼、硬體描述語言或者其任意組合來實施。當用軟體、固件、中間件或微代碼來實施時,用以實施必要任務的程序代碼或代碼段可以被存儲在機器或計算機可讀介質(比如存儲介質)中。(一個或多個)處理器可以實施必要的任務。

這裡所公開的具體結構和功能細節僅僅是代表性的,並且是用於描述本申請的示例性實施例的目的。但是本申請可以通過許多替換形式來具體實現,並且不應當被解釋成僅僅受限於這裡所闡述的實施例。

應當理解的是,雖然在這裡可能使用了術語「第一」、「第二」等等來描述各個單元,但是這些單元不應當受這些術語限制。使用這些術語僅僅是為了將一個單元與另一個單元進行區分。舉例來說,在不背離示例性實施例的範圍的情況下,第一單元可以被稱為第二單元,並且類似地第二單元可以被稱為第一單元。這裡所使用的術語「和/或」包括其中一個或更多所列出的相關聯項目的任意和所有組合。

應當理解的是,當一個單元被稱為「連接」或「耦合」到另一單元時,其可以直接連接或耦合到所述另一單元,或者可以存在中間單元。與此相對,當一個單元被稱為「直接連接」或「直接耦合」到另一單元時,則不存在中間單元。應當按照類似的方式來解釋被用於描述單元之間的關係的其他詞語(例如「處於...之間」相比於「直接處於...之間」,「與...鄰近」相比於「與...直接鄰近」等等)。

這裡所使用的術語僅僅是為了描述具體實施例而不意圖限制示例性實施例。除非上下文明確地另有所指,否則這裡所使用的單數形式「一個」、「一項」還意圖包括複數。還應當理解的是,這裡所使用的術語「包括」和/或「包含」規定所陳述的特徵、整數、步驟、操作、單元和/或組件的存在,而不排除存在或添加一個或更多其他特徵、整數、步驟、操作、單元、組件和/或其組合。

還應當提到的是,在一些替換實現方式中,所提到的功能/動作可以按照不同於附圖中標示的順序發生。舉例來說,取決於所涉及的功能/動作,相繼示出的兩幅圖實際上可以基本上同時執行或者有時可以按照相 反的順序來執行。

下面結合附圖對本申請的技術方案作進一步詳細描述。

如圖1中所示為本申請實施例終端與伺服器配合實現應用安全性認證的示意圖。本申請實施例中由終端10將應用安全性指標數據發送給伺服器11,實現終端10輔助伺服器11實現對應用安全性進行認證。伺服器11基於終端10發送的應用安全性指標數據對應用安全性進行認證。

圖2是根據本申請一個實施例的應用安全性認證方法的流程圖,該方法對應圖1中的終端10側的安全功能組件110的操作,用於終端10側的安全功能組件110獲取應用安全性指標數據,以便終端10發送該應用安全性指標數據給伺服器11,以輔助實現伺服器11對應用安全性進行認證。所述方法主要包括如下步驟:

S210、接收通過所述應用發起的伺服器業務請求;

S220、響應於接收到所述伺服器業務請求,獲取所述應用的應用安全性指標數據;

S230、將伺服器業務請求和應用安全性指標數據傳遞到伺服器,其中伺服器一方面對伺服器業務請求進行業務響應,另一方面根據獲取的應用安全性指標數據對應用的安全性進行認證。

為進一步理解本方案,下面對上述各步驟做進一步詳細介紹。

步驟S210中所述的伺服器業務請求包括但不限於如下業務的請求:來自應用的身份認證請求、支付請求、電子交易請求、業務數據數字籤名請求等。也就是在不同場景該伺服器業務請求不同,例如,其可以為攜帶用戶身份信息的身份認證請求,所述用戶身份信息包括但不限於以下至少一項:姓名、身份證號、電話號碼等等。或者,所述伺服器業務請求為同時攜帶用戶身份信息及待籤名數據的服務請求。

需要說明的是,本申請實施例由獨立於所述應用的安全功能組件完成,因此,步驟S210接收通過所述應用發起的伺服器業務請求。也就是,本申請實施例將伺服器業務請求的發起的組件與具有應用認證數據搜集功能的安全功能組件分離,甚至可將安全功能組件設置於安全級別更高的可信環境中,例如,設置於內核層或硬體隔離環境,從而可以保證安全功能組件搜集 的認證數據是真實可靠的。避免了當應用軟體本身被破解篡改時,安全性認證邏輯被繞過的問題。

本申請實施例的核心思想是對應用的認證結合在已有的業務響應中。按照已有技術,在接收到通過所述應用發起的伺服器業務請求後,會將該請求發送給伺服器,以便伺服器對請求進行業務響應。本申請實施例為實現對應用的認證,如步驟S220中所述,在接收到通過所述應用發起的伺服器業務請求後,會獲取所述應用的應用安全性指標數據,將該應用安全性指標數據連同伺服器業務處理請求一起發送給伺服器進行處理,從而實現對應用的安全性進行認證。

所述的應用安全性指標數據即為可以對應用進行安全性認證信息的數據。所述應用安全性指標數據包括如下中的至少一項:

應用的真實性和完整性指標數據;

應用所運行環境的指標數據;

應用運行狀態的指標數據。

其中,所述應用的真實性和完整性指標數據包括如下中的至少一項:

所述應用的安裝包文件的哈希值;

應用的DEX文件的哈希值;

應用的安裝包文件的開發者籤名。

所述應用所運行環境的指標數據包括如下中的至少一項:

終端型號、作業系統軟體版本、設備是否被破解(root)、設備安全設置、網絡環境。

所述應用運行狀態的指標數據包括如下中的至少一項:

業務請求發生時間、業務請求發生位置。

安全功能組件可通過不同可靠方式,從終端本地(如本地作業系統或可信運行環境等)獲取該應用安全性指標數據。通過獲取上述應用安全性指標數據,不但可以對應用真實性和完整性進行認證,還可以對應用運行環境以及運行狀態進行認證和風險分析。避免了應用本身運行環境出現問題時,例如,終端被root,或刷機等,終端提供給伺服器的應用安全性指標數據不可靠的問題。

步驟S230所述將伺服器業務請求和應用安全性指標數據傳遞到伺服器的一種實施例為:

直接將接收的伺服器業務請求以及獲取的應用安全性指標數據發送給伺服器。

將伺服器業務請求和應用安全性指標數據傳遞到伺服器的另一種實施例為:

將伺服器業務請求的全部或部分和應用安全性指標數據進行籤名處理或發送到籤名組件進行籤名處理;

將籤名處理後的伺服器業務數據和應用安全性指標數據發送給伺服器。

也就是,本申請實施例為保證數據的完整性和可靠性,在將伺服器業務請求和應用安全性指標數據傳遞到伺服器前,對伺服器業務請求和應用安全性指標數據進行籤名處理。其中,可以將籤名組件與安全功能組件集中設置在一個軟體實體中,也可以分離設置。在集中設置情況下,該安全功能組件可直接將伺服器業務請求和應用安全性指標數據進行籤名處理;在分離設置場景,可將伺服器業務請求和應用安全性指標數據發送到籤名組件進行籤名處理。

另外,若將安全功能組件與籤名組件分離設置,為進一步保證待籤名數據的安全性,可將籤名組件設置於安全環境中,例如設置於終端應用處理器的應用層、或內核層、或可信計算環境(trustzone)中。另外,在對應用安全性指標數據進行籤名時,該籤名組件只接受來自安全功能組件發送的籤名請求,也就是,在籤名組件接收到籤名請求情況下,會識別籤名請求發送者身份是否為安全功能組件,只有在確認的情況下,才進行籤名處理,否則不執行籤名處理。由於安全功能組件處於可信環境中,其申請籤名的待籤數據均為真實可靠的數據,本申請實施例的籤名組件通過只接受安全功能組件的籤名請求,可以進一步保證應用認證過程的安全性。

本申請一種實施例對伺服器業務請求和應用安全性指標數據進行籤名處理可以為:將伺服器業務請求和應用安全性指標數據分別進行籤名處理或發送到籤名組件進行分別籤名處理。也就是,分別為伺服器業務請求和應用安全性指標數據添加數字籤名,籤名後的伺服器業務數據和籤名後的應用安 全性指標數據可以在同一消息中也可以分別發送給伺服器。

另一種實施例對伺服器業務請求和應用安全性指標數據進行籤名處理可以為:

將伺服器業務請求和應用安全性指標數據合在一起進行籤名處理或發送到籤名組件進行籤名處理。即,將伺服器業務請求和應用安全性指標數據作為一個待籤數據包進行數字籤名。

為伺服器業務數據和應用安全性指標數據進行籤名的處理過程,可以利用已有的非對稱密鑰加密協議,採用非對稱密鑰加密籤名處理,例如,使用籤名組件的私鑰對伺服器業務請求和應用安全性指標數據籤名,並可選地,將對應的公鑰信息發送給伺服器,以便伺服器根據該公鑰信息獲取對應公鑰。

伺服器根據獲取的應用安全性指標數據對應用進行安全性認證包括:

將獲取的應用安全性指標數據與伺服器通過不同於響應於接收到所述伺服器業務請求而獲取的所述應用安全性指標數據的方式獲取的應用安全性指標數據進行比較;或者

對應用安全性指標數據進行有效性分析或合理性分析。

不同於響應於接收到所述伺服器業務請求而獲取的所述應用安全性指標數據的方式例如在被保護的應用在發布時,伺服器可獲得該應用發布的安全性指標數據(如應用的真實性和完整性指標數據)並存儲於伺服器,用於在接收到伺服器業務請求時進行比較。或者,通過用戶的其它應用、其它系統功能、其它設備獲取該應用的安全性指標數據。例如,在終端上運行的其他應用或系統功能可向伺服器報告終端運行環境的指標數據(終端型號、作業系統軟體版本、設備是否被root、設備安全設置、網絡環境等),這些數據可在接收到伺服器業務請求時進行比較。再例如,用戶擁有的其它終端設備(如手環、SIM卡等)可向伺服器提供用戶的位置信息,也可作為安全性指標對比數據。

對應用安全性指標數據進行的有效性分析或合理性分析可通過已有技術實現,通過這些有效性分析或合理性分析也能對應用的安全性進行認證。

本申請實施例將應用的安全性認證過程與以非對稱加密技術為基礎的 安全服務捆綁在一起,解決了移動環境中電子政務、電子商務的安全風險,特別是對信息安全要求較高的業務,例如,電子政務、電子交易類業務、金融類業務、支付類業務提供了可靠的保障。有效保證了提供金融支付業務的企業及用戶個人利益。當然,也可以使用對稱密鑰加密籤名處理。

本申請實施例將伺服器業務請求和應用安全性指標數據發送給伺服器的目的在於:伺服器一方面對伺服器業務請求進行業務響應,另一方面根據獲取的應用安全性指標數據對應用的安全性進行認證,從而實現了終端為伺服器提供對應用進行安全性認證的信息,輔助伺服器實現應用安全性的認證。

另外,需要說明的是,發送伺服器業務、請求和應用安全性指標數據給伺服器的操作可以由安全功能組件執行,也可由其他發送功能模塊執行,在由其他發送模塊執行情況下,該安全功能組建需將該伺服器業務請求和應用安全性指標數據發送給發送功能模塊,再由該發送模塊將伺服器業務請求和應用安全性指標數據發送給伺服器。

如圖3中所示為本申請另一實施例提供的應用安全性認證方法,該方法對應圖1中伺服器側的操作,用於伺服器側一方面對伺服器業務請求進行業務響應,另一方面根據接收的應用安全性指標數據對應用的安全性進行認證。避免了目前對於惡意應用的安全性認證均是由終端來完成,伺服器在業務操作中無法確定終端的應用是否為合法應用,因此,很難識別釣魚、假冒應用或惡意用戶的惡意服務請求等問題,實現了及時、準確、有效的發現應用被篡改或替換。所述方法主要包括如下步驟:

S310、接收通過所述應用發起的伺服器業務請求、以及應用的應用安全性指標數據,所述應用的應用安全性指標數據在終端伴隨著通過所述應用發起的伺服器業務請求而獲取;

S320、對所述的伺服器業務請求進行業務響應;

S330、根據獲取的應用安全性指標數據對應用的安全性進行認證。

為進一步理解本方案,下面對上述各步驟做進一步詳細介紹。

步驟S310中所述的伺服器業務請求包括但不限於如下業務請求:來自 應用的身份認證請求、支付請求、電子交易請求、業務數據數字籤名請求等。也就是在不同場景該待處理業務請求會不同,例如,其可以為攜帶用戶身份信息的身份認證請求,所述用戶身份信息包括但不限於以下至少一項:姓名、身份證號、電話號碼等等。或者,所述伺服器業務請求為同時攜帶用戶身份信息及待籤名數據的服務請求。

所述的應用安全性指標數據即為可以對應用進行安全性認證信息的數據。所述應用安全性指標數據包括如下中的至少一項:

應用的真實性和完整性指標數據;

應用所運行環境的指標數據;

應用運行狀態的指標數據。

其中,所述應用的真實性和完整性指標數據包括如下中的至少一項:

所述應用的安裝包文件的哈希值;

應用的DEX文件的哈希值;

應用的安裝包文件的開發者籤名。

所述應用所運行環境的指標數據包括如下中的至少一項:

終端型號、作業系統軟體版本、設備是否被root、設備安全設置、網絡環境。

所述應用運行狀態的指標數據包括如下中的至少一項:

業務請求發生時間、業務請求發生位置。

其中一種實施例,接收到的所述伺服器業務請求、以及應用的應用安全性指標數據包含籤名處理後的伺服器業務請求、以及應用的應用安全性指標數據。且一種情況為:所述籤名處理後的伺服器業務請求、以及應用的應用安全性指標數據是分別籤名處理後的伺服器業務請求、以及應用的應用安全性指標數據。則在只接收到籤名後的伺服器業務請求,或只接收到籤名後的應用安全性指標數據情況下,可等待全部籤名數據接收到後再進行相應的操作。

另一種情況為:所述籤名處理後的伺服器業務數據、以及應用的應用安全性指標數據是伺服器業務數據、以及應用的應用安全性指標數據合在一起後籤名處理後的數據。

在接收到的伺服器業務請求、以及應用的應用安全性指標數據是籤名處理後的伺服器業務請求、以及應用的應用安全性指標數據情況下,本申請實施例可執行如下操作:

對籤名處理後的伺服器業務請求、以及應用的應用安全性指標數據進行籤名驗證,從而驗證伺服器業務請求、以及應用的應用安全性指標數據的真實性及完整性。

其中一種實施例,若所述籤名處理是非對稱密鑰加密籤名處理,伺服器業務請求、以及應用的應用安全性指標數據在終端用私鑰籤名處理,則所述對籤名處理後的伺服器業務請求、以及應用的應用安全性指標數據進行籤名驗證包括:使用公鑰進行籤名處理後的伺服器業務請求、以及應用的應用安全性指標數據的籤名驗證。其中,在接收籤名處理後的伺服器業務請求、以及應用的應用安全性指標數據的同時可接收公鑰信息,根據該公鑰信息獲取對應的公鑰,從而使用公鑰進行籤名驗證。或者在伺服器本地保存公鑰信息,根據該伺服器本地保存的公鑰信息獲取對應的公鑰,從而使用該對應的公鑰進行籤名驗證。

步驟S320中對所述伺服器業務請求進行業務響應包括但不限於對用戶身份信息進行認證和/或對待籤名數據進行驗證等,該業務響應過程可採用已有技術實現,本申請實施例對此不做具體限制。

步驟S330是對應用安全性進行認證,具體為:根據獲取的應用安全性指標數據對應用的安全性進行認證。具體的兩種認證的方式前面已提及。

本申請實施例通過將應用的認證放在伺服器側執行,有效減小了該應用的認證數據被篡改的風險。且對應用安全性進行認證不但可以對應用真實性和完整性進行認證,還可以對應用運行環境以及運行狀態進行認證。避免了應用本身運行環境出現問題時,例如,終端被root,或刷機等,終端提供給伺服器的應用安全性指標數據不可靠的問題。另外,伺服器側還可以對應用安全性指標數據進行有效性和合理性分析,或者和同時從其他應用、系統功能或其他終端設備(如手環、SIM卡等)獲得的指標數據進行比對,從而進行認證,實現了靈活的認證方式。

需要說明的是,本申請實施例對籤名驗證、對伺服器業務請求進行業務 響應以及對應用安全性進行認證的步驟並無先後順序的限制。可同時進行業務響應和應用安全性認證,也可先後進行。其中,為便提高認證效率,可首先執行籤名驗證,在籤名驗證成功情況下,再分別執行業務響應及應用安全性認證。若籤名認證失敗,則可直接回復認證失敗響應,而不執行後續的業務響應及應用安全性認證的操作,當然本實施例並不局限於此。且三部分功能可由同一模塊完成,也可由不同模塊或不同伺服器完成。

本申請實施例在所述三部分功能完成後,可以根據各自的結果發送響應給所述終端。其中,針對不同的結果可發送不同的響應給所述終端,例如,在應用安全性認證失敗,而伺服器業務請求的業務響應完成,以及籤名認證通過情況下,返回的響應可以為:應用程式非法;在應用認證通過以及籤名認證通過,而對伺服器業務請求的業務響應失敗情況下,返回的響應可以為:業務請求的響應失敗。

在上述三部分功能均通過情況下伺服器才會接受該應用後續的支付、轉帳、電子交易、信息處理等業務請求。

本申請實施例解決了伺服器對終端運行的應用的安全性認證問題,將應用的安全性認證過程與業務響應過程相結合,可有效檢測應用的使用是否是用戶本人意願,可有效防止釣魚、假冒應用或惡意用戶的惡意服務請求等現象,從而可以及時、準確、有效的發現應用是否被篡改。

本申請實施例可應用於基於不對稱加密技術的任何移動應用場景,例如身份認證、電子籤名等,通過將應用的安全性認證過程與以非對稱加密技術為基礎的安全服務捆綁在一起,解決了移動環境中電子政務、電子商務的安全風險,特別是對信息安全要求較高的業務,例如,電子政務、電子交易類業務、金融類業務、支付類業務提供了可靠的保障。有效保證了提供金融支付業務的企業及用戶個人利益。當然,也可以使用對稱密鑰加密籤名處理。

本申請實施例還提供一種與圖2所述的應用安全性認證方法對應的安全功能組件,該安全功能組件的結構示意圖如圖4中所示,該安全功能組件獨立於所述應用,用於提供應用安全性指標數據給伺服器,以輔助伺服器實 現對應安全性進行認證,所述安全功能組件包括如下單元:

接收單元410,用於接收通過所述應用發起的伺服器業務請求;

獲取單元420,用於響應於接收到所述伺服器業務請求,獲取所述應用的應用安全性指標數據;

傳遞單元430,用於將伺服器業務請求和應用安全性指標數據傳遞到伺服器,其中伺服器一方面對伺服器業務請求進行業務響應,另一方面根據獲取的應用安全性指標數據對應用的安全性進行認證。

所述應用安全性指標數據包括如下中的至少一項:

應用的真實性和完整性指標數據;

應用所運行環境的指標數據;

應用運行狀態的指標數據。

所述應用的真實性和完整性指標數據包括如下中的至少一項:

所述應用的安裝包文件的哈希值;

應用的可執行文件的哈希值;

應用的安裝包文件的開發者籤名。

所述待認證業務數據包括如下中的至少一項:

用戶身份信息;

待籤名數據。

所述傳遞單元430被配置為:

將伺服器業務請求和應用安全性指標數據進行籤名處理或發送到籤名組件進行籤名處理;

將籤名處理後的伺服器業務請求和應用安全性指標數據發送給伺服器。

一種實施例,所述傳遞單元430被配置為:

將伺服器業務請求和應用安全性指標數據分別進行籤名處理或發送到籤名組件進行分別籤名處理。

另一種實施例,所述傳遞單元430被配置為:

將伺服器業務請求和應用安全性指標數據合在一起進行籤名處理或發送到籤名組件進行籤名處理。

籤名組件只有在確認接收到來自安全功能組件的應用安全性指標數據 的條件下,才進行籤名處理。

一種實施例,所述籤名處理是非對稱密鑰加密籤名處理。

本申請實施例還提供一種終端,該終端包括如上面所述的安全功能組件,該安全功能組件的結構及功能同上面所述,此處不再贅述。

本申請實施例還提供一種與圖3中的應用安全性認證方法對應的應用安全性認證裝置,該裝置結構示意圖如圖5中所示,該裝置主要包括:

接收單元510,用於接收通過所述應用發起的伺服器業務請求、以及應用的應用安全性指標數據,所述應用的應用安全性指標數據在終端伴隨著通過所述應用發起的伺服器業務請求而獲取;

業務響應單元520,用於對所述伺服器業務請求進行業務響應;

應用認證單元530,用於根據獲取的應用安全性指標數據對應用的安全性進行認證。該業務認證單元530即為圖1中的應用認證組件。

所述應用安全性指標數據包括如下中的至少一項:

應用的真實性和完整性指標數據;

應用所運行環境的指標數據;

應用運行狀態的指標數據。

所述應用的真實性和完整性指標數據包括如下中的至少一項:

所述應用的安裝包文件的哈希值;

應用的可執行文件的哈希值;

應用的安裝包文件的開發者籤名。

所述伺服器業務請求包括如下中的至少一項:

用戶身份信息;

待籤名數據。

當接收到的所述伺服器業務請求、以及應用的應用安全性指標數據是籤名處理後的伺服器業務請求、以及應用的應用安全性指標數據,所述裝置還包括:

籤名驗證單元540,用於對籤名處理後的伺服器業務請求、以及應用的應用安全性指標數據進行籤名驗證,從而驗證伺服器業務請求、以及應用的 應用安全性指標數據的完整性。

其中,一種實施例所述籤名處理後的伺服器業務請求、以及應用的應用安全性指標數據是分別籤名處理後的伺服器業務請求、以及應用的應用安全性指標數據。

另一種實施例所述籤名處理後的伺服器業務請求、以及應用的應用安全性指標數據是伺服器業務請求、以及應用的應用安全性指標數據合在一起後籤名處理後的數據。

一種實施例,若所述籤名處理是非對稱密鑰加密籤名處理,伺服器業務請求、以及應用的應用安全性指標數據在終端用私鑰籤名處理,所述籤名驗證單元540被配置為:

用公鑰進行籤名處理後的伺服器業務請求、以及應用的應用安全性指標數據的籤名驗證。

本申請實施例還提供一種伺服器,該伺服器包括如上面所述的應用安全性認證裝置,該應用安全性認證裝置的結構及功能如上面實施例中所述,此處不再贅述。

如圖6中所示為本申請實施例終端與伺服器配合實現應用安全性認證的示意圖。本申請實施例中由終端60將應用安全性指標數據發送給伺服器61,實現終端60輔助伺服器61實現對應用安全性進行認證。伺服器61基於終端60發送的應用安全性指標數據對應用安全性進行認證。

圖7是根據本申請一個實施例的應用安全性認證方法的流程圖,該方法對應圖6中的終端60側的安全功能組件610的操作,用於終端60側的安全功能組件610獲取應用安全性指標數據,以便終端60發送該應用安全性指標數據給伺服器61,以輔助實現伺服器61對應用安全性進行認證。所述方法主要包括如下步驟:

S710、響應於接收到通過所述應用發起了伺服器業務請求的通知,獲取所述應用的應用安全性指標數據;

S720、將獲取的應用安全性指標數據傳遞到伺服器,其中伺服器根據獲取的應用安全性指標數據對應用的安全性進行認證。

下面對上述各步驟做進一步詳細介紹。

步驟S710是由獨立於所述應用的安全功能組件完成,這樣可以將安全功能組件設置於可信的環境中,例如,設置於內核層或硬體隔離環境,從而可以保證安全功能組件搜集的認證數據是真實可靠的,避免了當應用軟體本身被破解篡改時,安全性認證邏輯被繞過的問題。該安全功能組件是在接收到通過應用發起了伺服器業務請求的通知的情況下,被觸發獲取應用的應用安全性指標數據。其中,觸發該安全功能組件獲取應用的安全性指標數據的方式包括如下任一種:

在應用發起伺服器業務請求的情況下應用發送通知給安全功能組件,以通知安全功能組件應用發起了一個伺服器業務請求,觸發安全功能組件獲取應用安全性指標數據;

應用、安全功能組件之外的第三方功能單元監視到應用發起伺服器業務請求,通知安全功能組件通過應用發起了一個伺服器業務請求,觸發安全功能組件獲取應用安全性指標數據。

該方法與圖2對應的方法的區別在於,該安全功能組件可以獨立處理應用安全性指標數據,它完全不處理伺服器業務請求。伺服器業務請求可能通過另外的組件轉發到伺服器進行業務響應。

所述的應用安全性指標數據即為可以對應用進行安全性認證信息的數據。所述應用安全性指標數據包括如下中的至少一項:

應用的真實性和完整性指標數據;

應用所運行環境的指標數據;

應用運行狀態的指標數據。

其中,所述應用的真實性和完整性指標數據包括如下中的至少一項:

所述應用的安裝包文件的哈希值;

應用的DEX文件的哈希值;

應用的安裝包文件的開發者籤名。

所述應用所運行環境的指標數據包括如下中的至少一項:

終端型號、作業系統軟體版本、設備是否被root、設備安全設置、網絡環境。

所述應用運行狀態的指標數據包括如下中的至少一項:

業務請求發生時間、業務請求發生位置。

安全功能組件可通過不同可靠方式,從終端本地(如本地作業系統或可信運行環境等)獲取該應用安全性指標數據。通過獲取上述應用安全性指標數據,不但可以對應用真實性和完整性進行認證,還可以對應用運行環境以及運行狀態進行認證和風險分析。避免了應用本身運行環境出現問題時,例如,終端被root,或刷機等,終端提供給伺服器的應用安全性指標數據不可靠的問題。

步驟S720中所述的將獲取的應用安全性指標數據傳遞到伺服器的步驟包括:

直接將獲取的應用安全性指標數據傳遞到伺服器發送給伺服器。

將獲取的應用安全性指標數據傳遞到伺服器的另一種實施例為:

將應用安全性指標數據進行籤名處理或發送到籤名組件進行籤名處理;將籤名處理後的應用安全性指標數據發送給伺服器。

將獲取的應用安全性指標數據傳遞到伺服器的又一種實施例為:

將應用安全性指標數據發送到籤名組件,以便籤名組件將應用安全性指標數據和來自應用的伺服器業務請求組合在一起後進行籤名處理;

將籤名處理後的組合數據發送給伺服器,以便伺服器一方面對伺服器業務請求進行處理,另一方面根據應用安全性指標數據實現對應用的安全性進行認證。

也就是,本申請實施例為保證數據完整性和真實性,在將應用安全性指標數據傳遞到伺服器前,對應用安全性指標數據進行籤名處理。其中,可以將籤名組件與安全功能組件集中設置在一個軟體實體中,也可以分離設置。在集中設置情況下,該安全功能組件可直接將應用安全性指標數據進行籤名處理;在分離設置場景,可將應用安全性指標數據發送到籤名組件進行籤名處理。

另外,若將安全功能組件與籤名組件分離設置,為進一步保證待籤名數據的安全性,可將籤名組件設置於安全環境中,例如設置於終端應用處理器的應用層、或內核層、或可信計算環境(trustzone)中。另外,該籤名組件 只接受來自安全功能組件發送的籤名請求,也就是,在籤名組件接收到籤名請求情況下,會識別籤名請求發送者身份是否為安全功能組件,若是安全功能組件,籤名組件只有在確認接收到來自安全功能組件的籤名請求情況下,才進行籤名處理,否則不執行籤名處理。由於安全功能組件處於可信環境中,其申請籤名的待籤數據均為真實可靠的數據,本申請實施例的籤名組件通過只接受安全功能組件的籤名請求,可以進一步保證應用認證過程的安全性。

所述籤名處理可以是非對稱密鑰加密籤名處理。當然並不局限於此。

伺服器根據獲取的應用安全性指標數據對應用的安全性進行認證也包括前述兩種方式,故不贅述。

本申請實施例提供一種與上述應用安全性認證方法對應的安全功能組件,如圖8中所述為所述安全功能組件結構示意圖,所述安全功能組件獨立於所述應用。該安全功能組件包括:

獲取單元810,用於響應於接收到通過所述應用發起了伺服器業務請求的通知,獲取所述應用的應用安全性指標數據;

傳遞單元820,用於將獲取的應用安全性指標數據傳遞到伺服器,其中伺服器根據獲取的應用安全性指標數據對應用的安全性進行認證。

其中,所述應用安全性指標數據包括如下中的至少一項:

應用的真實性和完整性指標數據;

應用所運行環境的指標數據;

應用運行狀態的指標數據。

所述應用的真實性和完整性指標數據包括如下中的至少一項:

所述應用的安裝包文件的哈希值;

應用的可執行文件的哈希值;

應用的安裝包文件的開發者籤名。

所述傳遞單元820被配置為:

將應用安全性指標數據進行籤名處理或發送到籤名組件進行籤名處理;

將籤名處理後的應用安全性指標數據發送給伺服器。

所述傳遞單元820被配置為:

將應用安全性指標數據發送到籤名組件,以便籤名組件將應用安全性指標數據和來自應用的伺服器業務請求組合在一起後進行籤名處理;

將籤名處理後的組合數據發送給伺服器,以便伺服器一方面對伺服器業務請求進行驗證處理,另一方面根據應用安全性指標數據實現對應用的安全性進行認證。

所述籤名處理是非對稱密鑰加密籤名處理。

本申請實施例還提供一種終端,該終端包括如上面所述的安全功能組件,該安全功能組件的結構及功能同上面所述,此處不再贅述。

本申請實施例還提供一種應用安全性認證方法,如圖9中所示為所述方法流程圖,該方法對應圖1及圖6中應用認證組件的操作。該方法用於伺服器側的應用認證組件利用接收的應用安全性指標數據對應用安全性進行認證,所述方法包括如下步驟:

S910、接收應用的應用安全性指標數據,所述應用安全性指標數據在終端伴隨著通過所述應用發起的伺服器業務請求而獲取;

S920、根據獲取的應用安全性指標數據對應用的安全性進行認證。

步驟S910中所述的應用安全性指標數據包括如下中的至少一項:

應用的真實性和完整性指標數據;

應用所運行環境的指標數據;

應用運行狀態的指標數據。

其中,所述應用的真實性和完整性指標數據包括如下中的至少一項:

所述應用的安裝包文件的哈希值;

應用的可執行文件的哈希值;

應用的安裝包文件的開發者籤名。

本申請實施例還提供一種與上述應用安全性認證方法對應的應用認證組件,該應用認證組件的結構示意圖如圖10中所示,包括:

接收單元1010,用於接收應用的應用安全性指標數據,所述應用安全性指標數據在終端伴隨著通過所述應用發起的伺服器業務請求而獲取;

認證單元1020,用於根據獲取的應用安全性指標數據對應用的安全性進行認證。

其中,所述應用安全性指標數據包括如下中的至少一項:

應用的真實性和完整性指標數據;

應用所運行環境的指標數據;

應用運行狀態的指標數據。

所述應用的真實性和完整性指標數據包括如下中的至少一項:

所述應用的安裝包文件的哈希值;

應用的可執行文件的哈希值;

應用的安裝包文件的開發者籤名。

綜上所述,本申請實施例終端的安全功能組件在接收到通過應用發起的伺服器業務請求情況下,獲取所述應用的應用安全性指標數據,並將伺服器業務請求與獲取的應用安全性指標數據傳遞給伺服器,以便伺服器一方面對伺服器業務請求進行響應,另一方面通過根據從終端獲取的應用安全性指標數據對應用安全性進行認證。

伺服器根據接收的通過所述應用發起的伺服器業務請求、以及應用的應用安全性指標數據,對伺服器業務請求進行業務響應的同時,根據獲取的應用安全性指標數據對應用的安全性進行認證,在認證在伺服器端而不是在客戶端進行,有效防止該應用安全性指標數據被篡改的風險,從而保證了應用安全性認證的可靠性。將應用的安全性認證結合在業務認證中實現了伺服器及時、準確、有效的發現應用是否被替換或篡改,從而可有效防止釣魚、假冒應用或惡意用戶發起的惡意服務請求等行為。

需要注意的是,本申請可在軟體和/或軟體與硬體的組合體中被實施,例如,可採用專用集成電路(ASIC)、通用目的計算機或任何其他類似硬體設備來實現。在一個實施例中,本申請的軟體程序可以通過處理器執行以實現上文所述步驟或功能。同樣地,本申請的軟體程序(包括相關的數據結構)可以被存儲到計算機可讀記錄介質中,例如,RAM存儲器,磁或光碟機動器或軟磁碟及類似設備。另外,本申請的一些步驟或功能可採用硬體來實現,例如,作為與處理器配合從而執行各個步驟或功能的 電路。

另外,本申請的一部分可被應用為電腦程式產品,例如電腦程式指令,當其被計算機執行時,通過該計算機的操作,可以調用或提供根據本申請的方法和/或技術方案。而調用本申請的方法的程序指令,可能被存儲在固定的或可移動的記錄介質中,和/或通過廣播或其他信號承載媒體中的數據流而被傳輸,和/或被存儲在根據所述程序指令運行的計算機設備的工作存儲器中。在此,根據本申請的一個實施例包括一個裝置,該裝置包括用於存儲電腦程式指令的存儲器和用於執行程序指令的處理器,其中,當該電腦程式指令被該處理器執行時,觸發該裝置運行基於前述根據本申請的多個實施例的方法和/或技術方案。

對於本領域技術人員而言,顯然本申請不限於上述示範性實施例的細節,而且在不背離本申請的精神或基本特徵的情況下,能夠以其他的具體形式實現本申請。因此,無論從哪一點來看,均應將實施例看作是示範性的,而且是非限制性的,本申請的範圍由所附權利要求而不是上述說明限定,因此旨在將落在權利要求的等同要件的含義和範圍內的所有變化涵括在本申請內。不應將權利要求中的任何附圖標記視為限制所涉及的權利要求。此外,顯然「包括」一詞不排除其他單元或步驟,單數不排除複數。系統權利要求中陳述的多個單元或裝置也可以由一個單元或裝置通過軟體或者硬體來實現。第一,第二等詞語用來表示名稱,而並不表示任何特定的順序。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀