專利名稱:一種第三方應(yīng)用接口授權(quán)方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及互聯(lián)網(wǎng)安全技術(shù)領(lǐng)域,特別是涉及一種第三方應(yīng)用接口授權(quán)方法和系統(tǒng)。
背景技術(shù):
在互聯(lián)網(wǎng)時代,把網(wǎng)站的服務(wù)封裝成一系列計算機易識別的數(shù)據(jù)接口開放出去, 供第三方開發(fā)者使用,這種行為就叫做開放的應(yīng)用程序編程接口(Open API),提供Open API的平臺本身就被稱為開放平臺。
通過開放平臺,網(wǎng)站不僅能提供對Web網(wǎng)頁的簡單訪問,還可以進行復(fù)雜的數(shù)據(jù)交互,將它們的Web網(wǎng)站轉(zhuǎn)換為與操作系統(tǒng)等價的開發(fā)平臺。第三方開發(fā)者可以基于這些已經(jīng)存在的、公開的Web網(wǎng)站而開發(fā)豐富多彩的應(yīng)用。
可見,所謂開放平臺,就是首先提供一個基本的服務(wù),然后通過開放自身的接口, 使得第三方開發(fā)者得以通過運用和組裝其接口以及其他第三方服務(wù)接口產(chǎn)生新的應(yīng)用,并且使得該應(yīng)用能夠統(tǒng)一運行在這個平臺之上,我們把這樣的一種網(wǎng)絡(luò)服務(wù)模式叫做開放平臺。開放平臺模式成功的要點在于,通過自身服務(wù)和第三方應(yīng)用的互利互惠,提高用戶對平臺網(wǎng)站的粘性和使用程度。
目前,一般是給第三方應(yīng)用授權(quán)一組憑證,開放平臺通過驗證此憑證的有效性來給予相應(yīng)能力。具體的,每個第三方被授予的能力可能有所不同,比如可以執(zhí)行某些操作、 享受某些服務(wù)的權(quán)限有所不同。每組憑證對應(yīng)與其相應(yīng)的應(yīng)用能力。第三方應(yīng)用使用給其開放的平臺服務(wù)時,會首先向開放平臺提交憑證,平臺服務(wù)驗證該憑證是否合法有效,比如通過比對憑證是否一致等,確定該第三方是否合法,并在合法時允許其使 用被授權(quán)的應(yīng)用能力。
上述關(guān)于第三方的安全驗證方案,僅驗證第三方的合法性,這種方案過于單一,網(wǎng)絡(luò)安全還存在很多風(fēng)險。發(fā)明內(nèi)容
本發(fā)明提供了一種第三方應(yīng)用接口授權(quán)方法,該方法能夠進行多重驗證,進一步提聞網(wǎng)絡(luò)安全。
本發(fā)明還提供了一種第三方應(yīng)用接口授權(quán)系統(tǒng),該系統(tǒng)能夠進行多重驗證,進一步提聞網(wǎng)絡(luò)安全。
為達到上述目的,本發(fā)明的技術(shù)方案是這樣實現(xiàn)的
本發(fā)明公開了一種第三方應(yīng)用接口授權(quán)方法,該方法包括
第三方根據(jù)分配的認證信息生成第三方密文,根據(jù)用戶輸入的用戶信息生成用戶身份密文;
第三方向開放平臺發(fā)起接口請求,并傳遞所述第三方密文和用戶身份密文;
開放平臺驗證所述第三方密文和用戶身份密文,當驗證結(jié)果為驗證通過時,向該第三方授權(quán)接口。
上述方法中,所述認證信息包括密鑰和標識信息;
所述第三方根據(jù)分配的認證信息生成第三方密文包括根據(jù)密鑰和標識,使用高級加密標準AES算法生成第三方密文。
上述方法中,所述用戶信息包括用戶名和密碼;
所述第三方根據(jù)用戶輸入的用戶信息生成用戶身份密文包括根據(jù)用戶名和密碼,使用安全哈希算法SHAl和消息摘要算法MD5生成用戶身份密文。
上述方法中,
第三方根據(jù)分配的認證信息以及當前的時間戳生成第三方密文;和/或,第三方根據(jù)用戶輸入的用戶信息以及當前的時間戳生成用戶身份密文;
所述開放平臺驗證所述第三方密文和用戶身份密文還包括將第三方密文和/或用戶身份密文中的時間戳與當前時間進行比較,判斷是否過期。
上述方法進一步包括在將第三方密文和/或用戶身份密文中的時間戳與當前時間進行比較,判斷為過期時,開放平臺向第三方返回本地的當前時間,以便第三方根據(jù)開放平臺返回的當前時間與開放平臺的時間進行同步。
上述方法中,如果所述第三方連續(xù)驗證失敗的次數(shù)超過預(yù)置次數(shù)時,開放平臺對該第三方進行圖形驗證。
當驗證結(jié)果為驗證通過,向該第三方授權(quán)接口之后進一步包括記錄該第三方的行為。
本發(fā)明還公開了一種第三方應(yīng)用接口授權(quán)系統(tǒng),該系統(tǒng)包括開放平臺和第三方; 所述開放平臺包括接口服務(wù)和平臺核心服務(wù);
所述第三方,根據(jù)分配的憑證認證信息生成第三方密文,根據(jù)用戶輸入的用戶信息生成用戶身份密文,向所述接口服務(wù)發(fā)起接口請求;所述接口請求包含所述第三方密文和用戶身份密文;
所述接口服務(wù)驗證所述接口請求中的第三方密文和用戶身份密文,并根據(jù)驗證結(jié)果確定是否向該第三方客戶端授權(quán)接口,如果驗證結(jié)果為驗證通過,則向平臺核心服務(wù)發(fā)送請求;并將平臺核心服務(wù)反饋的接口服務(wù)數(shù)據(jù)返回第三方。
平臺核心服務(wù)接收到接口服務(wù)的請求后,向接口服務(wù)反饋接口服務(wù)數(shù)據(jù)。
上述系統(tǒng)中,所述第三方根據(jù)分配的認證信息以及當前的時間戳生成第三方密文;和/或,第三方根據(jù)用戶輸入的用戶信息以及當前的時間戳生成用戶身份密文;
所述接口服務(wù)在驗證所述第三方密文和用戶身份密文的過程中,還將第三方密文和/或用戶身份密文中的時間戳與當前時間進行比較,判斷是否過期。
上述系統(tǒng)中,
如果所述第三方連續(xù)驗證失敗的次數(shù)超過預(yù)置次數(shù),則開放平臺對該第三方進行圖形驗證;
和/ 或,
所述接口服務(wù)在將第三方密文和/或用戶身份密文中的時間戳與當前時間進行比較,判斷為過期時,向第三方客戶端返回本地的當前時間,以便第三方客戶端根據(jù)接口服務(wù)返回的當前時間與接口服務(wù)的本地時間進行同步。
由上述可見,本發(fā)明這種第三方根據(jù)分配的認證憑證信息生成第三方密文,根據(jù)用戶輸入的用戶信息生成用戶身份密文,向開放平臺發(fā)起接口請求,并傳遞所述第三方密文和用戶身份密文;開放平臺驗證所述第三方密文和用戶身份密文,當驗證結(jié)果為驗證通過時,向該第三方授權(quán)接口的技術(shù)方案,不僅驗證所分配的憑證信息,還對用戶身份進行驗證,進行了多重驗證,進一步提高了網(wǎng)絡(luò)安全。
圖1是本發(fā)明實施例中的一種第三方應(yīng)用接口授權(quán)方法的流程圖2是本發(fā)明中的第三方應(yīng)用接口授權(quán)方案的一個較佳實施例的流程圖3是本發(fā)明實施例中的一種第三方應(yīng)用接口授權(quán)系統(tǒng)的組成示意圖。
具體實施方式
為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合附圖和具體實施例對本發(fā)明進行詳細描述。
圖1是本發(fā)明實施例中的一種第三方應(yīng)用接口授權(quán)方法的流程圖。如圖1所示, 該方法包括
101,第三方根據(jù)分配的認證信息生成第三方密文,根據(jù)用戶輸入的用戶信息生成用戶身份密文。
在本步驟中,所述認證信息包括密鑰和標識信息;第三方根據(jù)密鑰和標識,使用高級加密標準(AES)算法生成第三方密文。所述用戶信息包括用戶名和密碼;第三方根據(jù)用戶名和密碼,使用安全哈希算法第一版(SHAl)和消息摘要算法第五版(MD5)生成用戶身份密文。
通常來說,上述標識信息是用來標識第三方的,具體可以是一個字符串或與第三方息有關(guān)的標識內(nèi)容等。
102,第三方向開放平臺發(fā)起接口請求,并傳遞所述第三方密文和用戶身份密文。
103,開放平臺驗證所述第三方密文和用戶身份密文,當驗證結(jié)果為驗證通過時, 向該第三方授權(quán)接口。
圖1所述的方法中,不僅驗證為第三方所分配的憑證信息,還對用戶身份進行驗證,進行了多重驗證,更能保證安全。
在圖1所述方法的基礎(chǔ)上,進一步可以驗證時間戳,即第三方根據(jù)分配的認證信息以及當前的時間戳生成第三方密文;和/或,第三方根據(jù)用戶輸入的用戶信息以及當前的時間戳生成用戶身份密文。開放平臺驗證所述第三方密文和用戶身份密文的過程中,將第三方密文和/或用戶身份密文中的時間戳與當前時間進行比較,判斷是否過期。
圖2是本發(fā)明中的第三方應(yīng)用接口授權(quán)方案的一個較佳實施例的流程圖。這里第三方具體為一個第三方客戶端,如圖2所示,包括
201,第三方客戶端根據(jù)所分配的密鑰和標識以及當前的時間戳,使用AES算法生成第三方密文;根據(jù)用戶輸入的用戶名和密碼以及當前的時間戳,使用SHAl和MD5生成用戶身份密文。
202,第三方客戶端向開發(fā)平臺發(fā)送接口請求, 傳遞所述兩個密文。
203,開放平臺驗證第三方密文中的密鑰和標識,如果驗證通過則執(zhí)行步驟204,否則記錄驗證失敗次數(shù),執(zhí)行步驟208。
204,開放平臺驗證第三方密文中的時間戳,即將該時間戳與當前時間比較,如果時間差超過預(yù)設(shè)值,則執(zhí)行步驟208,否則執(zhí)行步驟205。
205,開放平臺驗證用戶身份密文中的用戶名和密碼,如果驗證通過則執(zhí)行步驟 206,否則記錄驗證失敗次數(shù),執(zhí)行步驟208。
206,開放平臺驗證用戶身份密文中的時間戳,即將該時間戳與當前時間比較,如果時間差超過預(yù)設(shè)值,則執(zhí)行步驟208,否則執(zhí)行步驟207。
207,請求成功,開放平臺授權(quán)接口,記錄第三方客戶端的此次行為。結(jié)束本流程。
208,請求失敗。如果是時間戳過期,則開放平臺向第三方客戶端返回本地的當前時間,以便第三方客戶端根據(jù)開放平臺返回的當前時間與開放平臺的時間進行同步。如果是驗證失敗,則判斷連續(xù)驗證失敗的次數(shù)是否超過預(yù)設(shè)次數(shù),是則對該第三方客戶端進行圖形驗證。
圖3是本發(fā)明實施例中的一種第三方應(yīng)用接口授權(quán)系統(tǒng)的組成示意圖。如圖3所示,該系統(tǒng)包括開放平臺和第三方;所述開放平臺包括接口服務(wù)和平臺核心服務(wù);
所述第三方客戶端第三方,根據(jù)分配的憑證認證信息生成第三方密文,第三方客戶端第三方根據(jù)用戶輸入的用戶信息生成用戶身份密文,向所述接口服務(wù)發(fā)起接口請求; 所述接口請求包含所述第三方密文和用戶身份密文;
所述接口服務(wù)驗證所述接口請求中的第三方密文和用戶身份密文,并根據(jù)驗證結(jié)果確定是否向該第三方授權(quán)接口,如果是則向平臺核心服務(wù)發(fā)送請求,并將平臺核心服務(wù)反饋的接口服務(wù)數(shù)據(jù)返回第三方。
平臺核心服務(wù)接收到接口服務(wù)的請求后,向接口服務(wù)反饋接口服務(wù)數(shù)據(jù)?!?br>
在圖3所示系統(tǒng)中,所述第三方根據(jù)分配的認證信息以及當前的時間戳生成第三方密文;和/或,第三方根據(jù)用戶輸入的用戶信息以及當前的時間戳生成用戶身份密文;
所述接口服務(wù)在驗證所述第三方密文和用戶身份密文的過程中,還將第三方密文和/或用戶身份密文中的時間戳與當前時間進行比較,判斷是否過期。
在圖3所示系統(tǒng)中,如果所述第三方連續(xù)多次驗證失敗的次數(shù)超過預(yù)置次數(shù),則接口服務(wù)對該第三方進行圖形驗證;和/或,所述接口服務(wù)在將第三方密文和/或用戶身份密文中的時間戳與當前時間進行比較,判斷為過期時,向第三方返回本地的當前時間,以便第三方根據(jù)接口服務(wù)返回的當前時間與接口服務(wù)的本地時間進行同步。
進一步的,第三方根據(jù)開放平臺返回的接口服務(wù)數(shù)據(jù),對開放平臺接口進行應(yīng)用, 相應(yīng)的,開放平臺還進一步記錄該第三方客戶端的行為。
需要說明的是,本系統(tǒng)實施例中的各功能模塊或各功能單元可以參見上述方法實施例中各步驟工作原理和處理過程的相關(guān)描述,此處不再贅述。
由上述可見,本發(fā)明這種第三方根據(jù)分配的認證信息生成第三方密文,根據(jù)用戶輸入的用戶信息生成用戶身份密文,向開放平臺發(fā)起接口請求,并傳遞所述第三方密文和用戶身份密文;開放平臺驗證所述第三方密文和用戶身份密文,并根據(jù)驗證結(jié)果確定是否向該第三方授權(quán)接口的技術(shù)方案,不僅驗證所分配的憑證信息,還對用戶身份進行驗證,進行了多重驗證,更能保證安全。
本發(fā)明中還進一步對時間戳進行驗證,保證了時效的控制,以及在多次驗證失敗時進行圖形驗證,實現(xiàn)對失敗次數(shù)的控制,即對惡意驗證的控制。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本 發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明保護的范圍之內(nèi)。
權(quán)利要求
1.一種第三方應(yīng)用接口授權(quán)方法,其特征在于,該方法包括 第三方根據(jù)分配的認證信息生成第三方密文,根據(jù)用戶輸入的用戶信息生成用戶身份密文; 第三方向開放平臺發(fā)起接口請求,并傳遞所述第三方密文和用戶身份密文; 開放平臺驗證所述第三方密文和用戶身份密文,當驗證結(jié)果為驗證通過時,向該第三方授權(quán)接口。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述認證信息包括密鑰和標識信息; 所述第三方根據(jù)分配的認證信息生成第三方密文包括根據(jù)密鑰和標識,使用高級加密標準AES算法生成第三方密文。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述用戶信息包括用戶名和密碼; 所述第三方根據(jù)用戶輸入的用戶信息生成用戶身份密文包括根據(jù)用戶名和密碼,使用安全哈希算法SHAl和消息摘要算法MD5生成用戶身份密文。
4.根據(jù)權(quán)利要求1至3中任一項所述的方法,其特征在于, 第三方根據(jù)分配的認證信息以及當前的時間戳生成第三方密文;和/或,第三方根據(jù)用戶輸入的用戶信息以及當前的時間戳生成用戶身份密文; 所述開放平臺驗證所述第三方密文和用戶身份密文還包括將第三方密文和/或用戶身份密文中的時間戳與當前時間進行比較,判斷是否過期。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,該方法進一步包括在將第三方密文和/或用戶身份密文中的時間戳與當前時間進行比較,判斷為過期時,開放平臺向第三方返回本地的當前時間,以便第三方根據(jù)開放平臺返回的當前時間與開放平臺的時間進行同步。
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,如果所述第三方客戶端連續(xù)驗證失敗的次數(shù)超過預(yù)置次數(shù)時,開放平臺對該第三方客戶端進行圖形驗證。
7.根據(jù)權(quán)利要求1至3中任一項所述的方法,其特征在于,當驗證結(jié)果為驗證通過,向該第三方授權(quán)接口之后進一步包括記錄該第三方的行為。
8.—種第三方應(yīng)用接口授權(quán)系統(tǒng),其特征在于,該系統(tǒng)包括開放平臺和第三方;所述開放平臺包括接口服務(wù)和平臺核心服務(wù); 所述第三方,根據(jù)分配的憑證認證信息生成第三方密文,根據(jù)用戶輸入的用戶信息生成用戶身份密文,向所述接口服務(wù)發(fā)起接口請求;所述接口請求包含所述第三方密文和用戶身份密文; 所述接口服務(wù)驗證所述接口請求中的第三方密文和用戶身份密文,并根據(jù)驗證結(jié)果確定是否向該第三方客戶端授權(quán)接口,如果驗證結(jié)果為驗證通過,則向平臺核心服務(wù)發(fā)送請求;并將平臺核心服務(wù)反饋的接口服務(wù)數(shù)據(jù)返回第三方。
平臺核心服務(wù)接收到接口服務(wù)的請求后,向接口服務(wù)反饋接口服務(wù)數(shù)據(jù)。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于, 所述第三方客戶端根據(jù)分配的憑證認證信息以及當前的時間戳生成第三方密文;和/或,第三方客戶端根據(jù)用戶輸入的用戶信息以及當前的時間戳生成用戶身份密文; 所述接口服務(wù)在驗證所述第三方密文和用戶身份密文的過程中,還將第三方密文和/或用戶身份密文中的時間戳與當前時間進行比較,判斷是否過期。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,如果所述第三方連續(xù)驗證失敗的次數(shù)超過預(yù)置次數(shù),則接口服務(wù)對該第三方進行圖形驗證; 和/或, 所述接口服務(wù)在將第三方密文和/或用戶身份密文中的時間戳與當前時間進行比較,判斷為過期時,向第三方客戶端返回本地的當前時間,以便第三方客戶端根據(jù)接口服務(wù)返回的當前時間與接口服務(wù)的本地時間進行同步。
全文摘要
本發(fā)明公開了一種第三方應(yīng)用接口授權(quán)方法和系統(tǒng)。所述方法包括第三方根據(jù)分配的認證信息生成第三方密文,根據(jù)用戶輸入的用戶信息生成用戶身份密文;第三方向開放平臺發(fā)起接口請求,并傳遞所述第三方密文和用戶身份密文;開放平臺驗證所述第三方密文和用戶身份密文,當驗證結(jié)果為驗證通過時,向該第三方授權(quán)接口。本發(fā)明的技術(shù)方案能夠進行多重驗證,進一步提高網(wǎng)絡(luò)安全。
文檔編號H04L29/06GK103001936SQ20111027609
公開日2013年3月27日 申請日期2011年9月16日 優(yōu)先權(quán)日2011年9月16日
發(fā)明者唐嶠木, 范世杰, 魏勝, 王書穎 申請人:北京新媒傳信科技有限公司