專利名稱:一種基于應用數字簽名認證的開放api公共授權訪問控制的方法
技術領域:
本發明涉及通信技術領域,具體涉及一種基于應用數字簽名認證的開放API公共授權訪問控制的方法。
背景技術:
目前,開放已經成為移動互聯網領域的主旋律。在移動終端智能化飛速發展的同時,出現了明顯的智能終端“云手機”化特征,移動互聯網更加強調開放平臺對用戶提供的云端服務的價值。移動應用的開發正在從以智能終端平臺為中心逐漸向以網絡開放平臺為中心轉移。互聯網開放平臺所聚集的開發者和應用的巨大力量已經開始釋放。然而,目前的開放環境還是不夠成熟和完善,還存在著一些問題。互聯網開放平臺企業正在形成一些小的、松散的聯盟,他們希望建立多種方式的合作,從而能夠靈活有效地組合更豐富的應用,同時聚集和共享開發者隊伍,共享用戶資源。通常,只有在這樣的聯盟內部才會實現用戶的跨平臺一點登錄以及面向Web應用的一站式用戶資源的授權。而對于用戶來說,也希望在面對整個互聯網資源時能夠做到這些。雖然全面的融合是今后移動互聯網開放平臺發展的大趨勢,但目前互聯網開放平臺各自為政,網絡信息和能力開放的水平參差不齊,API的授權方式不統一,Web應用和開放平臺通過API進行互聯互通的時候還存在很多問題:一方面,應用開發者在使用這些開放能力時候,需要與各個開放平臺單獨實現API的授權對接,大量重復的工作是影響應用開發創新的障礙之一;另一方 面,互聯網上基于各類開放平臺的Web應用不斷出現,但獲得API授權的方式并不統一。由于目前的授權協議中缺乏對Web應用的合法性或者可信性進行判斷的機制,有些惡意第三方應用能夠在用戶不知情或者用戶不注意的情況下,完成API的授權,造成用戶信息的安全隱患。因此,構建可信計算環境,是解決移動互聯網信息安全問題的主流方向。
發明內容
針對現有技術中存在的缺陷和不足,本發明提出了一種基于應用數字簽名認證的開放API公共授權訪問控制的方法,能夠在對Web應用或者應用軟件產品使用聯盟或者第三方公共服務平臺內部的開放API的請求授權之前,先對Web應用或者應用軟件產品的數字簽名證書進行判斷。為了達到上述目的,本發明提出了一種基于應用數字簽名認證的開放API公共授權訪問控制的方法,包括:步驟1:用戶開始登錄,由應用軟件產品客戶端向聯盟或者第三方公共服務平臺的公共授權服務器發起授權請求;步驟2:所述公共授權服務器根據所述應用軟件產品客戶端標識和數字簽名證書進行鑒權判斷,如果客戶端標識和數字簽名證書在聯盟或者第三方公共服務平臺的數據庫中有備案記錄,則執行步驟3,如果客戶端標識和數字簽名證書在聯盟或者第三方公共服務平臺的數據庫中沒有備案記錄,則返回步驟I ;步驟3:所述公共授權服務器向所述應用軟件產品客戶端回復授權碼;步驟4:所述應用軟件產品客戶端使用所述授權碼獲取用戶登錄所述應用軟件產品需要訪問的開放API的所屬資源的授權令牌,并使用所述授權令牌訪問所述資源的開放API,從而完成用戶登錄。進一步地,在所述步驟I之前,還包括步驟0,所述步驟O具體包括:步驟01:聯盟或者第三方公共服務平臺經過對應用軟件產品測試、認證,為所述應用軟件產品分配客戶端標識及頒發數字簽名證書,并將所述客戶端標識和數字簽名證書在聯盟或者第三方公共服務平臺的數據庫中成對備案;步驟02:將所述應用軟件產品打包成安裝包,并在所述安裝包中集成數字簽名證書。進一步地,與所述步驟01同時進行的還包括:步驟0Γ:當所述應用軟件產品需要使用的開放API的所屬資源中至少一個不屬于聯盟或者第三 方公共服務平臺的成員時,所述應用軟件產品不能獲得聯盟或者第三方公共服務平臺頒發的數字簽名證書。進一步地,所述步驟02之后還包括:步驟03:將所述安裝包在聯盟或者第三方公共服務平臺的應用軟件產品庫中備案,并隨時給各應用商店供貨;步驟04:將所述安裝包放在應用商店的架上銷售;步驟05:用戶從應用商店購買應用軟件產品,下載、運行所述安裝包,安裝所述應用軟件產品。進一步地,所述步驟4具體包括如下步驟:步驟41:所述應用軟件產品客戶端使用所述授權碼向所述資源發起獲取所述資源的開放API授權令牌的請求;步驟42:所述資源獲知所述授權碼是由聯盟或者第三方公共服務平臺的公共授權服務器發放的,向所述應用軟件產品客戶端回復授權令牌,允許所述應用軟件產品客戶端對所述資源的開放API的調用;步驟43:所述應用軟件產品客戶端使用所述授權令牌訪問所述資源的開放API,從而完成登錄過程。進一步地,所述應用軟件產品的代碼中調用一個或多個需要授權的API。進一步地,所述步驟05中在安裝所述應用軟件產品時,提示用戶所述應用軟件產品所帶的數字簽名證書的來源。進一步地,所述授權令牌在有效期內。本發明提供的基于應用數字簽名認證的開放API公共授權訪問控制的方法,能夠在對Web應用或者應用軟件產品使用聯盟或者第三方公共服務平臺內部的開放API的請求授權之前,先對Web應用或者應用軟件產品的數字簽名證書進行判斷,從而構建可信的計算機環境,實現可信的訪問控制。下面結合附圖,對本發明的具體實施方式
作進一步的詳細說明。對于所屬技術領域的技術人員而言,從對本發明的詳細說明中,本發明的上述和其他目的、特征和優點將顯而易見。
圖1為本發明基于應用數字簽名認證的開放API公共授權訪問控制的方法的流程示意圖;圖2為本發明優選實施例的流程示意圖。
具體實施例方式如圖1所示,本發明提出了一種基于應用數字簽名認證的開放API公共授權訪問控制的方法,包括:步驟1:用戶開始登錄,由應用軟件產品客戶端向聯盟或者第三方公共服務平臺的公共授權服務器發起授權請求;在本步驟中,用戶可以是智能移動終端的使用者,該用戶在登錄時,應用軟件客戶端首先獲取公共授權服務器的信息,并向聯盟或者第三方公共服務平臺的公共授權服務器發起授權請求。步驟2:公共授·權服務器根據應用軟件產品客戶端標識和數字簽名證書進行鑒權判斷,如果客戶端標識和數字簽名證書在聯盟或者第三方公共服務平臺的數據庫中有備案記錄,則執行步驟3,如果客戶端標識和數字簽名證書在聯盟或者第三方公共服務平臺的數據庫中沒有備案記錄,則返回步驟I ;本步驟可以根據步驟I中由應用軟件客戶端發出的授權請求中所帶的數字簽名證書,在公共授權服務器的數據庫中進行查詢,根據查詢結果判定是否對該授權請求進行授權,從而在對應用軟件產品的登錄授權過程中增加了對可信性進行判斷的機制。步驟3:公共授權服務器向應用軟件產品客戶端回復授權碼;本步驟是在步驟2中的鑒權判斷后,公共授權服務器對于在數據庫中已有備案記錄的應用軟件產品客戶端,認為是經過公共授權服務器認證的,由公共授權服務器向該應用軟件產品客戶端回復授權碼,從而確保經過認證的應用軟件產品客戶端能夠獲得授權。步驟4:應用軟件產品客戶端使用授權碼獲取用戶登錄應用軟件產品需要訪問的開放API的所屬資源的授權令牌,并使用授權令牌訪問資源的開放API,從而完成用戶登錄。在本步驟中,用戶登錄應用軟件需要訪問的開放API的所屬資源收到由應用軟件產品客戶端發起的獲取開放平臺API的授權令牌的請求后,可獲知授權碼是由聯盟或者第三方公共服務平臺的公共服務器發放的,認為該客戶端是可信任的客戶端,則向該客戶端發送授權令牌,允許該應用軟件產品客戶端對該資源的開放API的調用,從而實現可信的訪問控制。本發明提供的基于應用數字簽名認證的開放API公共授權訪問控制的方法,能夠在對Web應用或者應用軟件產品使用聯盟或者第三方公共服務平臺內部的開放API的請求授權之前,先對Web應用或者應用軟件產品的數字簽名證書進行判斷,從而構建可信的計算機環境,實現可信的訪問控制。
在步驟I之前,還可以包括步驟0,步驟O具體包括:步驟01:聯盟或者第三方公共服務平臺經過對應用軟件產品測試、認證,為應用軟件產品分配客戶端標識及頒發數字簽名證書,并將客戶端標識和數字簽名證書在聯盟或者第三方公共服務平臺的數據庫中成對備案;步驟02:將應用軟件產品打包成安裝包,并在安裝包中集成數字簽名證書。與步驟01同時進行的還可以包括:
步驟0Γ:當應用軟件產品需要使用的開放API的所屬資源中至少一個不屬于聯盟或者第三方公共服務平臺的成員時,應用軟件產品不能獲得聯盟或者第三方公共服務平臺頒發的數字簽名證書。步驟02之后還可以包括:步驟03:將安裝包在聯盟或者第三方公共服務平臺的應用軟件產品庫中備案,并隨時給各應用商店供貨;步驟04:將安裝包放在應用商店的架上銷售;步驟05:用戶從應用商店購買應用軟件產品,下載、運行安裝包,安裝應用軟件產品O步驟4可以優選包括如下步驟:步驟41:應用軟件產品客戶端使用授權碼向資源發起獲取該資源的開放API授權令牌的請求;步驟42:該資源獲知授權碼是由聯盟或者第三方公共服務平臺的公共授權服務器發放的,向應用軟件產品客戶端回復授權令牌,允許應用軟件產品客戶端對資源的開放API的調用;步驟43:應用軟件產品客戶端使用授權令牌訪問資源的開放API,從而完成登錄過程。進一步地,應用軟件產品的代碼中可以調用一個或多個需要授權的API。進一步地,為了使用戶更加安全可信地使用應用軟件產品,步驟05中在安裝應用軟件產品時,可以提示用戶應用軟件產品所帶的數字簽名證書的來源。進一步地,授權令牌在有效期內。進一步地,應用軟件產品需要使用的開放API的所屬資源可以是開放平臺、運營商或其他資源。以下為本發明提出的基于應用數字簽名認證的開放API公共授權訪問控制的方法的一個優選實施例,在本實施例中,以聯盟實驗室的形式為例,建立開放API的共享授權機制,只有經過聯盟實驗室認證的應用軟件產品才可以被授權使用聯盟實驗室內的開放API。在本實施例中,開發者完成了一個應用軟件的開發,該應用軟件產品的代碼中調用了一個或多個需要授權的API,其中開放平臺A的API為a,運營商B的API為b,并且,開放平臺A和運營商B都是聯盟實驗室的成員。如圖2所示,一種基于應用數字簽名認證的開放API公共授權訪問控制的方法,包括如下具體步驟:步驟S1:聯盟實驗室經過測試認證應用軟件產品,為該應用軟件產品分配客戶標識及頒發數字簽名證書,并將客戶標識和數字簽名證書在聯盟實驗室的數據庫中成對備案;
步驟S2:將該應用軟件產品打包成安裝包,在安裝包中集成數字簽名證書,并在聯盟實驗室的應用軟件產品庫中備案,隨時給各應用商店供貨;步驟S3:將該應用軟件產品的安裝包放在某應用商店的架上銷售;步驟S4:智能終端用戶從應用商店中購買這個應用軟件產品,下載、運行安裝包,在智能終端上安裝該應用軟件產品,在安裝時提示用戶該應用軟件產品所帶的數字簽名證書的來源;步驟S5:用戶開始登錄步驟,客戶端首先獲取授權服務器信息,并向聯盟實驗室的公共授權服務器發起授權請求;步驟S6:聯盟實驗室的公共授權服務器根據該應用軟件的客戶端標識和數字簽名證書進行判斷,決定是否給這個請求授權;步驟S7:客戶端標識和數字簽名證書在聯盟實驗室有備案記錄,說明是在聯盟實驗室進行過應用軟件產品測試認證的產品,由聯盟實驗室的公共授權服務器向該應用軟件的客戶端回復授權碼;步驟S8:智能終端上的應用軟件產品客戶端使用授權碼向開放平臺發起獲取開放平臺API授權令牌的請求,向運營商發起獲取運營商API授權令牌的請求;步驟S9:開放平臺A獲知授權碼是由聯盟實驗室發放的,為可信任的客戶端,則向應用軟件產品客戶端回復第一授權令牌,允許應用軟件產品客戶端對API (a)的調用;同樣,運營商B獲知授權碼是由聯盟實驗室發放的,為可信任的客戶端,則向應用軟件產品客戶端回復第二授權令牌,允許軟件產品客戶端對API (b)的調用;步驟SlO:應用軟件產品客戶端獲取了開放平臺A的第一授權令牌和運營商B的第二授權令牌,在這些令牌的有效期內,可以使用第一授權令牌訪問開放平臺的API (a),并使用第二授權令牌訪問運營·商的API (b),從而完成登錄過程。在上述實施例中,公共授權服務器對應用軟件產品授權的過程可以進一步包括:當開放平臺A和運營商B中的至少一個不屬于聯盟實驗室的成員時,該應用軟件產品將不能獲得聯盟實驗室頒發的數字簽名證書;當沒有在公共授權服務器上獲取授權碼時,應用軟件客戶端可以再次向公共授權服務器發起授權碼的請求。本發明提供的基于應用數字簽名認證的開放API公共授權訪問控制的方法,能夠在對Web應用或者應用軟件產品使用聯盟或者第三方公共服務平臺內部的開放API的請求授權之前,先對Web應用或者應用軟件產品的數字簽名證書進行判斷,使用戶在可信的計算機環境下使用聯盟或者第三方公共服務平臺內部的開放API,從而實現可信的訪問控制。雖然,本發明已通過以上實施例及其附圖而清楚說明,然而在不背離本發明精神及其實質的情況下,所屬技術領域的技術人員當可根據本發明作出各種相應的變化和修正,但這些相應的變化和修正都應屬于本發明的權利要求的保護范圍。
權利要求
1.一種基于應用數字簽名認證的開放API公共授權訪問控制的方法,其特征在于,包括: 步驟1:用戶開始登錄,由應用軟件產品客戶端向聯盟或者第三方公共服務平臺的公共授權服務器發起授權請求; 步驟2:所述公共授權服務器根據所述應用軟件產品客戶端標識和數字簽名證書進行鑒權判斷,如果客戶端標識和數字簽名證書在聯盟或者第三方公共服務平臺的數據庫中有備案記錄,則執行步驟3,如果客戶端標識和數字簽名證書在聯盟或者第三方公共服務平臺的數據庫中沒有備案記錄,則返回步驟I ; 步驟3:所述公共授權服務器向所述應用軟件產品客戶端回復授權碼; 步驟4:所述應用軟件產品客戶端使用所述授權碼獲取用戶登錄所述應用軟件產品需要訪問的開放API的所屬資源的授權令牌,并使用所述授權令牌訪問所述資源的開放API,從而完成用戶登錄。
2.根據權利要求1所述的基于應用數字簽名認證的開放API公共授權訪問控制的方法,其特征在于,在所述步驟I之前,還包括步驟O,所述步驟O具體包括: 步驟Ol:聯盟或者第三方公共服務平臺經過對應用軟件產品測試、認證,為所述應用軟件產品分配客戶端標識及頒發數字簽名證書,并將所述客戶端標識和數字簽名證書在聯盟或者第三方公共服務平臺的數據庫中成對備案; 步驟02:將所述應用軟件產品打包成安裝包,并在所述安裝包中集成數字簽名證書。
3.根據權利要求2所述的基于應用數字簽名認證的開放API公共授權訪問控制的方法,其特征在于,與 所述步驟01同時進行的還包括: 步驟01':當所述應用軟件產品需要使用的開放API的所屬資源中至少一個不屬于聯盟或者第三方公共服務平臺的成員時,所述應用軟件產品不能獲得聯盟或者第三方公共服務平臺頒發的數字簽名證書。
4.根據權利要求2所述的基于應用數字簽名認證的開放API公共授權訪問控制的方法,其特征在于,所述步驟02之后還包括: 步驟03:將所述安裝包在聯盟或者第三方公共服務平臺的應用軟件產品庫中備案,并隨時給各應用商店供貨; 步驟04:將所述安裝包放在應用商店的架上銷售; 步驟05:用戶從應用商店購買應用軟件產品,下載、運行所述安裝包,安裝所述應用軟件產品。
5.根據權利要求1所述的基于應用數字簽名認證的開放API公共授權訪問控制的方法,其特征在于,所述步驟4具體包括如下步驟: 步驟41:所述應用軟件產品客戶端使用所述授權碼向所述資源發起獲取所述資源的開放API授權令牌的請求; 步驟42:所述資源獲知所述授權碼是由聯盟或者第三方公共服務平臺的公共授權服務器發放的,向所述應用軟件產品客戶端回復授權令牌,允許所述應用軟件產品客戶端對所述資源的開放API的調用; 步驟43:所述應用軟件產品客戶端使用所述授權令牌訪問所述資源的開放API,從而完成登錄過程。
6.根據權利要求1所述的基于應用數字簽名認證的開放API公共授權訪問控制的方法,其特征在于,所述應用軟件產品的代碼中調用一個或多個需要授權的API。
7.根據權利要求4所述的基于應用數字簽名認證的開放API公共授權訪問控制的方法,其特征在于,所述步驟05中在安裝所述應用軟件產品時,提示用戶所述應用軟件產品所帶的數字簽名證書的來源。
8.根據權利要求1或5所述的基于應用數字簽名認證的開放API公共授權訪問控制的方法,其特征在于,所述授權令牌 在有效期內。
全文摘要
本發明提供了一種基于應用數字簽名認證的開放API公共授權訪問控制的方法。以聯盟或者第三方公共服務平臺的形式建立開放API的公共授權機制,只有經過聯盟或者公共服務平臺認證的Web應用或者應用軟件產品才可以被授權使用聯盟或者第三方公共服務平臺內部的開放API。用戶在使用Web應用或者應用軟件產品進行網絡API的調用時,Web應用或者應用軟件產品客戶端發起的API授權請求中帶有其數字證書信息,公共授權服務器在對該數字證書進行判斷之后,再完成API的授權。基于對Web應用或者應用軟件產品的數字簽名證書進行判斷,對Web應用或者應用軟件產品客戶端使用開放API的行為進行授權,從而實現可信的訪問控制。
文檔編號H04L9/32GK103248481SQ201210030329
公開日2013年8月14日 申請日期2012年2月10日 優先權日2012年2月10日
發明者吳偉, 逄淑寧, 閔棟, 崔媛媛, 蔣曉琳, 劉東明 申請人:工業和信息化部電信傳輸研究所