本發(fā)明涉及一種數(shù)據(jù)獲取方法及其系統(tǒng),尤其涉及一種基于授權(quán)認(rèn)證的數(shù)據(jù)獲取方法及其系統(tǒng)。
背景技術(shù):
現(xiàn)有技術(shù)中,請求獲取數(shù)據(jù)的數(shù)據(jù)獲取端一般是直接訪問存儲數(shù)據(jù)的數(shù)據(jù)中心來獲取數(shù)據(jù),這在獲取量大的時候,容易導(dǎo)致網(wǎng)絡(luò)擁堵甚至癱瘓,而且由于直接訪問,并沒有對訪問者的身份進(jìn)行驗證,這樣會存在安全隱患,如此,既減緩了數(shù)據(jù)獲取速度又不能保證數(shù)據(jù)安全。
技術(shù)實現(xiàn)要素:
針對上述技術(shù)問題,本發(fā)明提供一種能夠保證安全高效獲取數(shù)據(jù)的基于授權(quán)認(rèn)證的數(shù)據(jù)獲取方法及其系統(tǒng)。
本發(fā)明采用的技術(shù)方案為:
本發(fā)明的一實施例提供一種基于授權(quán)認(rèn)證的數(shù)據(jù)獲取方法,包括以下步驟:S101:數(shù)據(jù)獲取端向授權(quán)終端發(fā)送自己的身份信息;S102:所述授權(quán)終端接收所述身份信息并提取授權(quán)證書,向所述數(shù)據(jù)獲取端發(fā)送使用與所述數(shù)據(jù)獲取端共享的第一共享加密密鑰加密的授權(quán)令牌;S103:所述數(shù)據(jù)獲取端接收所述授權(quán)令牌,使用第一共享加密密鑰加密包含請求獲取數(shù)據(jù)的數(shù)據(jù)請求信息和授權(quán)令牌的數(shù)據(jù)獲取驗證請求,并將所述數(shù)據(jù)獲取驗證請求發(fā)送給所述授權(quán)終端;S104:所述授權(quán)終端接收所述數(shù)據(jù)獲取驗證請求并進(jìn)行匹配,如果匹配通過則生成數(shù)據(jù)密鑰和數(shù)據(jù)令牌,使用與所述授權(quán)代理端共享的第二共享加密密鑰對所述數(shù)據(jù)令牌進(jìn)行加密和使用第一共享加密密鑰加密所述數(shù)據(jù)密鑰,并將加密后的數(shù)據(jù)令牌和數(shù)據(jù)密鑰發(fā)送給所述數(shù)據(jù)獲取端;S105:所述數(shù)據(jù)獲取端將加密后的數(shù)據(jù)令牌發(fā)送給所述授權(quán)代理端,并將自己的身份信息的使用所述數(shù)據(jù)密鑰加密后發(fā)送給所述授權(quán)代理端;S106:所述授權(quán)代理端使用所述數(shù)據(jù)密鑰解密所述數(shù)據(jù)令牌,提取數(shù)據(jù)令牌信息,并使用所述數(shù)據(jù)密鑰解密加密的身份信息,以及進(jìn)行身份合法性驗證,并將驗證結(jié)果返回給所述數(shù)據(jù)獲取端;S107:所述數(shù)據(jù)獲取端基于所述驗證結(jié)果向所述授權(quán)代理端發(fā)送獲取數(shù)據(jù)的數(shù)據(jù)請求;S108:所述授權(quán)代理端接收所述數(shù)據(jù)獲取端發(fā)送的數(shù)據(jù)請求,并判斷是否存在對應(yīng)于所述數(shù)據(jù)請求的數(shù)據(jù),如果有,則將相應(yīng)的數(shù)據(jù)發(fā)送給所述數(shù)據(jù)獲取端,如果沒有,則執(zhí)行步驟S109;S109:所述授權(quán)代理端向數(shù)據(jù)中心發(fā)送獲取對應(yīng)于所述數(shù)據(jù)請求的數(shù)據(jù)獲取請求;S110:所述數(shù)據(jù)中心基于所述數(shù)據(jù)獲取請求將對應(yīng)于所述數(shù)據(jù)請求的原始數(shù)據(jù)發(fā)送給所述授權(quán)代理端,所述授權(quán)代理端檢查所述原始數(shù)據(jù)的標(biāo)簽屬性來獲得緩沖信息,并使用會話密鑰加密所述原始數(shù)據(jù),并將加密的原始數(shù)據(jù)發(fā)送給所述數(shù)據(jù)獲取端。
本發(fā)明的另一實施例提供一種基于授權(quán)認(rèn)證的數(shù)據(jù)獲取系統(tǒng),包括授權(quán)終端、數(shù)據(jù)獲取端、授權(quán)代理端和數(shù)據(jù)中心,所述數(shù)據(jù)獲取端通過向所述授權(quán)代理端發(fā)送經(jīng)所述授權(quán)終端授權(quán)的數(shù)據(jù)請求來獲取所述數(shù)據(jù)中心的數(shù)據(jù),所述授權(quán)代理端包括下載應(yīng)用中心、更新應(yīng)用中心和高速緩沖存儲器,所述授權(quán)終端與所述數(shù)據(jù)獲取端共享第一共享加密密鑰,所述授權(quán)終端與所述授權(quán)代理端共享第二共享加密密鑰;其中,向所述授權(quán)代理端發(fā)送經(jīng)所述授權(quán)終端授權(quán)的數(shù)據(jù)請求包括:數(shù)據(jù)獲取端向授權(quán)終端發(fā)送自己的身份信息;所述授權(quán)終端接收所述身份信息并提取授權(quán)證書,向所述數(shù)據(jù)獲取端發(fā)送使用第一共享加密密鑰加密的授權(quán)令牌;所述數(shù)據(jù)獲取端接收所述授權(quán)令牌,使用第一共享加密密鑰加密包含請求獲取數(shù)據(jù)的數(shù)據(jù)請求信息和授權(quán)令牌的數(shù)據(jù)獲取驗證請求,并將所述數(shù)據(jù)獲取驗證請求發(fā)送給所述授權(quán)終端;所述授權(quán)終端接收所述數(shù)據(jù)獲取驗證請求并進(jìn)行匹配,如果匹配通過則生成數(shù)據(jù)密鑰和數(shù)據(jù)令牌,使用第二共享加密密鑰對所述數(shù)據(jù)令牌進(jìn)行加密和使用第一共享加密密鑰加密所述數(shù)據(jù)密鑰,并將加密后的數(shù)據(jù)令牌和數(shù)據(jù)密鑰發(fā)送給所述數(shù)據(jù)獲取端;所述數(shù)據(jù)獲取端將加密后的數(shù)據(jù)令牌發(fā)送給所述授權(quán)代理端,并將自己的身份信息的使用所述數(shù)據(jù)密鑰加密后發(fā)送給所述授權(quán)代理端;所述授權(quán)代理端使用所述數(shù)據(jù)密鑰解密所述數(shù)據(jù)令牌,提取令牌信息,并使用所述數(shù)據(jù)密鑰解密加密的身份信息,以及進(jìn)行身份驗證,并將驗證結(jié)果返回給所述數(shù)據(jù)獲取端;所述數(shù)據(jù)獲取端基于所述驗證結(jié)果向所述授權(quán)代理端發(fā)送獲取數(shù)據(jù)的數(shù)據(jù)請求;
所述數(shù)據(jù)獲取端基于所述驗證的數(shù)據(jù)請求獲取數(shù)據(jù)包括:所述授權(quán)代理端接收所述數(shù)據(jù)獲取端發(fā)送的數(shù)據(jù)請求,并通過其中的下載應(yīng)用中心檢索高速緩沖存儲器中是否有響應(yīng)于所述數(shù)據(jù)請求的數(shù)據(jù),如果有,則將相應(yīng)的數(shù)據(jù)發(fā)送給所述數(shù)據(jù)獲取端,如果沒有,則通知所述授權(quán)代理端中的更新應(yīng)用中心向數(shù)據(jù)中心獲取原始數(shù)據(jù),并將獲取的原始數(shù)據(jù)發(fā)送給所述下載應(yīng)用中心;所述下載應(yīng)用中心接收所述原始數(shù)據(jù),檢查所述原始數(shù)據(jù)的標(biāo)簽屬性來獲得緩沖信息,并使用會話密鑰加密所述原始數(shù)據(jù),并將加密的原始數(shù)據(jù)發(fā)送給所述數(shù)據(jù)獲取端。
本發(fā)明提供了一種數(shù)據(jù)獲取方法及其系統(tǒng),在使用本發(fā)明獲取數(shù)據(jù)前,需要通過位于數(shù)據(jù)中心的前端的授權(quán)代理端來獲取數(shù)據(jù)中心的數(shù)據(jù),而無法直接向數(shù)據(jù)中心請求數(shù)據(jù),從而使得授權(quán)代理端可以透明的對數(shù)據(jù)進(jìn)行加密。為了保證提升處理性能,授權(quán)代理端對加密結(jié)果進(jìn)行了高速緩存,避免重復(fù)加密的資源消耗。
附圖說明
圖1為本發(fā)明實施例提供的數(shù)據(jù)獲取方法的流程示意圖;
圖2為本發(fā)明實施例提供的數(shù)據(jù)獲取系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施方式
以下,結(jié)合附圖,對本發(fā)明的基于授權(quán)認(rèn)證的數(shù)據(jù)獲取方法及其系統(tǒng)進(jìn)行介紹。
圖1為本發(fā)明實施例提供的數(shù)據(jù)獲取方法的流程示意圖;圖2為本發(fā)明實施例提供的數(shù)據(jù)獲取系統(tǒng)的結(jié)構(gòu)示意圖。
【實施例1】
首先結(jié)合圖2對本發(fā)明的基于授權(quán)認(rèn)證的數(shù)據(jù)獲取系統(tǒng)進(jìn)行介紹。如圖2所示,本發(fā)明的基于授權(quán)認(rèn)證的數(shù)據(jù)獲取系統(tǒng)包括授權(quán)終端、數(shù)據(jù)獲取端、授權(quán)代理端和數(shù)據(jù)中心,所述數(shù)據(jù)獲取端通過向所述授權(quán)代理端發(fā)送經(jīng)所述授權(quán)終端授權(quán)的數(shù)據(jù)請求來獲取所述數(shù)據(jù)中心的數(shù)據(jù),在數(shù)據(jù)獲取端發(fā)送授權(quán)請求和數(shù)據(jù)請求之前,所述授權(quán)終端就已經(jīng)與所述數(shù)據(jù)獲取端共享第一共享加密密鑰k1,所述授權(quán)終端就已經(jīng)與所述授權(quán)代理端共享第二共享加密密鑰k2。此外,數(shù)據(jù)獲取端與授權(quán)代理端之間的加密密鑰ks(數(shù)據(jù)密鑰)由授權(quán)終端動態(tài)生成,該加密密鑰ks具有時效性,即超過一定時間后時效。數(shù)據(jù)獲取端在獲取數(shù)據(jù)前,必須向授權(quán)終端申請授權(quán),然后使用獲得的授權(quán)向授權(quán)代理端請求數(shù)據(jù),授權(quán)代理端使用加密密鑰ks加密數(shù)據(jù)并返回給數(shù)據(jù)獲取端。授權(quán)代理端位于數(shù)據(jù)中心的前端,設(shè)置有下載應(yīng)用中心、更新應(yīng)用中心和高速緩沖存儲器,可通過CDN節(jié)點訪問數(shù)據(jù)中心。數(shù)據(jù)獲取端無法直接向CDN節(jié)點請求數(shù)據(jù),數(shù)據(jù)獲取端只能通過授權(quán)代理端來獲取CDN中的數(shù)據(jù),從而使得授權(quán)代理可以透明的對數(shù)據(jù)進(jìn)行加密。為了保證提升處理性能,授權(quán)代理對加密結(jié)果進(jìn)行了高速緩存,避免重復(fù)加密的資源消耗。
具體地,數(shù)據(jù)獲取端獲取數(shù)據(jù)的過程如下:
(1)所述數(shù)據(jù)獲取端向授權(quán)終端發(fā)送自己的身份信息;
(2)所述授權(quán)終端接收所述身份信息并提取授權(quán)證書(包含第一共享加密密鑰k1),向所述數(shù)據(jù)獲取端發(fā)送使用第一共享加密密鑰k1加密的授權(quán)令牌;同時將授權(quán)令牌實踐存入到授權(quán)日志數(shù)據(jù)庫中。
(3)所述數(shù)據(jù)獲取端接收所述授權(quán)令牌,使用第一共享加密密鑰k1加密包含請求獲取數(shù)據(jù)的數(shù)據(jù)請求信息和授權(quán)令牌的數(shù)據(jù)獲取驗證請求,并將所述數(shù)據(jù)獲取驗證請求發(fā)送給所述授權(quán)終端。
(4)所述授權(quán)終端接收所述數(shù)據(jù)獲取驗證請求并進(jìn)行匹配,如果匹配通過則生成數(shù)據(jù)密鑰ks和數(shù)據(jù)令牌,使用第二共享加密密鑰對所述數(shù)據(jù)令牌進(jìn)行加密和使用第一共享加密密鑰k2加密所述數(shù)據(jù)密鑰ks,并將加密后的數(shù)據(jù)令牌和數(shù)據(jù)密鑰發(fā)送給所述數(shù)據(jù)獲取端,其中數(shù)據(jù)令牌包含包關(guān)于數(shù)據(jù)獲取端的身份信息、數(shù)據(jù)請求信息、數(shù)據(jù)密鑰、數(shù)據(jù)令牌時間戳、數(shù)據(jù)令牌生命期的信息;同時將數(shù)據(jù)令牌實踐存入到授權(quán)日志數(shù)據(jù)庫中。
(5)所述數(shù)據(jù)獲取端將加密后的數(shù)據(jù)令牌發(fā)送給所述授權(quán)代理端,并將自己的身份信息的使用所述數(shù)據(jù)密鑰加密后發(fā)送給所述授權(quán)代理端。
(6)所述授權(quán)代理端使用所述數(shù)據(jù)密鑰解密所述數(shù)據(jù)令牌,提取令牌信息,并使用所述數(shù)據(jù)密鑰解密加密的身份信息,以及進(jìn)行身份驗證,并將驗證結(jié)果返回給所述數(shù)據(jù)獲取端;同時把身份驗證信息存入到授權(quán)訪問日志數(shù)據(jù)庫中。
(7)所述數(shù)據(jù)獲取端基于所述驗證結(jié)果向所述授權(quán)代理端發(fā)送獲取數(shù)據(jù)的數(shù)據(jù)請求。
(8)所述授權(quán)代理端接收所述數(shù)據(jù)獲取端發(fā)送的數(shù)據(jù)請求,并判斷是否存在對應(yīng)于所述數(shù)據(jù)請求的數(shù)據(jù),具體可通過所述下載應(yīng)用中心檢索所述高速緩沖存儲器中是否存在對應(yīng)于所述數(shù)據(jù)請求的數(shù)據(jù)。如果有,則將相應(yīng)的數(shù)據(jù)發(fā)送給所述數(shù)據(jù)獲取端,如果沒有,則向數(shù)據(jù)中心發(fā)送獲取對應(yīng)于所述數(shù)據(jù)請求的數(shù)據(jù)獲取請求。
(9)所述數(shù)據(jù)中心基于所述數(shù)據(jù)獲取請求將對應(yīng)于所述數(shù)據(jù)請求的原始數(shù)據(jù)發(fā)送給所述授權(quán)代理端,具體可通過所述下載應(yīng)用中心請求所述更新應(yīng)用中心向所述數(shù)據(jù)中心發(fā)送獲取對應(yīng)于所述數(shù)據(jù)請求的數(shù)據(jù)的數(shù)據(jù)獲取請求,所述下載應(yīng)用中心接收所述原始數(shù)據(jù)并檢查所述原始數(shù)據(jù)的標(biāo)簽屬性來獲得可緩沖信息,例如,數(shù)據(jù)的生效期和數(shù)據(jù)的生命期等,并使用會話密鑰加密所述原始數(shù)據(jù),并將加密的原始數(shù)據(jù)發(fā)送給所述數(shù)據(jù)獲取端,如果加密后的原始數(shù)據(jù)可緩存,則所述下載應(yīng)用中心將加密后的原始數(shù)據(jù)存入所述高速緩沖存儲器中,并建立緩存索引。同時下載應(yīng)用中心將數(shù)據(jù)請求存入到授權(quán)訪問日志數(shù)據(jù)庫中。
CDN節(jié)點的授權(quán)代理端會周期性將授權(quán)訪問日志庫推送到授權(quán)終端的授權(quán)日志庫,授權(quán)終端的在線監(jiān)測系統(tǒng)會對授權(quán)日志庫進(jìn)行分析,監(jiān)測授權(quán)證書的使用情況:比如證書對應(yīng)終端安裝量、數(shù)據(jù)請求量、數(shù)據(jù)請求頻率等。
【實施例2】
接著,參考圖1使用實施例1中的基于授權(quán)認(rèn)證的數(shù)據(jù)獲取系統(tǒng)獲取數(shù)據(jù)的方法進(jìn)行描述。如圖1所示,本發(fā)明的基于授權(quán)認(rèn)證的數(shù)據(jù)獲取方法包括以下步驟:
S101:發(fā)送身份信息
具體地,數(shù)據(jù)獲取端向授權(quán)終端發(fā)送自己的身份信息。
S102:驗證身份信息和發(fā)送授權(quán)令牌
具體地,所述授權(quán)終端接收所述身份信息并提取授權(quán)證書(包含第一共享加密密鑰k1),向所述數(shù)據(jù)獲取端發(fā)送使用與所述數(shù)據(jù)獲取端共享的第一共享加密密鑰加密的授權(quán)令牌;同時將授權(quán)令牌實踐存入到授權(quán)日志數(shù)據(jù)庫中。
S103:發(fā)送數(shù)據(jù)獲取驗證請求
具體地,所述數(shù)據(jù)獲取端接收所述授權(quán)令牌,使用第一共享加密密鑰k1加密包含請求獲取數(shù)據(jù)的數(shù)據(jù)請求信息和授權(quán)令牌的數(shù)據(jù)獲取驗證請求,并將所述數(shù)據(jù)獲取驗證請求發(fā)送給所述授權(quán)終端。
S104:發(fā)送數(shù)據(jù)令牌和數(shù)據(jù)密鑰
具體地,所述授權(quán)終端接收所述數(shù)據(jù)獲取驗證請求并進(jìn)行匹配,如果匹配通過則生成數(shù)據(jù)密鑰ks和數(shù)據(jù)令牌,使用第二共享加密密鑰對所述數(shù)據(jù)令牌進(jìn)行加密和使用第一共享加密密鑰k2加密所述數(shù)據(jù)密鑰ks,并將加密后的數(shù)據(jù)令牌和數(shù)據(jù)密鑰發(fā)送給所述數(shù)據(jù)獲取端,其中數(shù)據(jù)令牌包含包關(guān)于數(shù)據(jù)獲取端的身份信息、數(shù)據(jù)請求信息、數(shù)據(jù)密鑰、數(shù)據(jù)令牌時間戳、數(shù)據(jù)令牌生命期的信息;同時將數(shù)據(jù)令牌實踐存入到授權(quán)日志數(shù)據(jù)庫中。
S105:發(fā)送加密的數(shù)據(jù)令牌和身份信息
具體地,所述數(shù)據(jù)獲取端將加密后的數(shù)據(jù)令牌發(fā)送給所述授權(quán)代理端,并將自己的身份信息的使用所述數(shù)據(jù)密鑰加密后發(fā)送給所述授權(quán)代理端。
S106:發(fā)送驗證結(jié)果
具體地,所述授權(quán)代理端使用所述數(shù)據(jù)密鑰解密所述數(shù)據(jù)令牌,提取數(shù)據(jù)令牌信息,并使用所述數(shù)據(jù)密鑰解密加密的身份信息,以及進(jìn)行身份合法性驗證,并將驗證結(jié)果返回給所述數(shù)據(jù)獲取端;同時把身份驗證信息存入到授權(quán)訪問日志數(shù)據(jù)庫中。
S107:發(fā)送數(shù)據(jù)請求
具體地,所述數(shù)據(jù)獲取端基于所述驗證結(jié)果向所述授權(quán)代理端發(fā)送獲取數(shù)據(jù)的數(shù)據(jù)請求;
S108:判斷是否存在相應(yīng)的數(shù)據(jù),如果存在,則發(fā)送相應(yīng)的數(shù)據(jù)
具體地,所述授權(quán)代理端接收所述數(shù)據(jù)獲取端發(fā)送的數(shù)據(jù)請求,并判斷是否存在對應(yīng)于所述數(shù)據(jù)請求的數(shù)據(jù),具體可通過所述下載應(yīng)用中心檢索所述高速緩沖存儲器中是否存在對應(yīng)于所述數(shù)據(jù)請求的數(shù)據(jù)。如果有,則將相應(yīng)的數(shù)據(jù)發(fā)送給所述數(shù)據(jù)獲取端,如果沒有,則執(zhí)行步驟S109;
S109:請求獲取相應(yīng)的數(shù)據(jù)
具體地,所述授權(quán)代理端向數(shù)據(jù)中心發(fā)送獲取對應(yīng)于所述數(shù)據(jù)請求的數(shù)據(jù)獲取請求。
S110:發(fā)送獲取的相應(yīng)的數(shù)據(jù)
具體地,所述數(shù)據(jù)中心基于所述數(shù)據(jù)獲取請求將對應(yīng)于所述數(shù)據(jù)請求的原始數(shù)據(jù)發(fā)送給所述授權(quán)代理端,具體可通過所述下載應(yīng)用中心請求所述更新應(yīng)用中心向所述數(shù)據(jù)中心發(fā)送獲取對應(yīng)于所述數(shù)據(jù)請求的數(shù)據(jù)的數(shù)據(jù)獲取請求,所述下載應(yīng)用中心接收所述原始數(shù)據(jù)并檢查所述原始數(shù)據(jù)的標(biāo)簽屬性來獲得可緩沖信息,例如,數(shù)據(jù)的生效期和數(shù)據(jù)的生命期等,并使用會話密鑰加密所述原始數(shù)據(jù),并將加密的原始數(shù)據(jù)發(fā)送給所述數(shù)據(jù)獲取端,如果加密后的原始數(shù)據(jù)可緩存,則所述下載應(yīng)用中心將加密后的原始數(shù)據(jù)存入所述高速緩沖存儲器中,并建立緩存索引。同時下載應(yīng)用中心將數(shù)據(jù)請求存入到授權(quán)訪問日志數(shù)據(jù)庫中。
CDN節(jié)點的授權(quán)代理端會周期性將授權(quán)訪問日志庫推送到授權(quán)終端的授權(quán)日志庫,授權(quán)終端的在線監(jiān)測系統(tǒng)會對授權(quán)日志庫進(jìn)行分析,監(jiān)測授權(quán)證書的使用情況:比如證書對應(yīng)終端安裝量、數(shù)據(jù)請求量、數(shù)據(jù)請求頻率等。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請的實施例可提供為方法、系統(tǒng)、或計算機(jī)程序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機(jī)可用程序代碼的計算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實施的計算機(jī)程序產(chǎn)品的形式。