適用于cdn增值業(yè)務(wù)平臺的http安全通信方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及HTTP安全通信的技術(shù)領(lǐng)域,特別是設(shè)及一種適用于CDN增值業(yè)務(wù)平臺 的HTTP安全通信方法及系統(tǒng)。
【背景技術(shù)】
[0002] 超文本傳輸協(xié)議(HTTP,HyperTextTransferProtocol)是互聯(lián)網(wǎng)上應(yīng)用最為廣 泛的一種網(wǎng)絡(luò)協(xié)議。所有的WWW文件都必須遵守運(yùn)個標(biāo)準(zhǔn)。HTTP協(xié)議是基于明文文本、無 狀態(tài)的協(xié)議,存在嚴(yán)重的安全隱患。
[0003] CDN的全稱是ContentDelivery化twork,即內(nèi)容分發(fā)網(wǎng)絡(luò),其通過在現(xiàn)有的 Internet中增加一層新的網(wǎng)絡(luò)架構(gòu),將網(wǎng)站的內(nèi)容發(fā)布到最接近用戶的網(wǎng)絡(luò)邊緣,并將用 戶請求導(dǎo)向最近的服務(wù)節(jié)點,從而緩解網(wǎng)絡(luò)擁塞,提高用戶訪問速度。
[0004] CDN增值業(yè)務(wù)平臺是指在CDN基礎(chǔ)服務(wù)平臺之上開發(fā)出的各種具備高附加值服務(wù) 提供能力的業(yè)務(wù)平臺。例如定向流量經(jīng)營平臺、移動應(yīng)用流量加速和監(jiān)控平臺、流媒體內(nèi)容 分發(fā)平臺等等。運(yùn)些CDN增值業(yè)務(wù)平臺的共同特點是,在傳統(tǒng)的CDN基礎(chǔ)架構(gòu)上增加了"調(diào) 度和控制中屯、"運(yùn)一角色,用于統(tǒng)一處理增值服務(wù)的主要業(yè)務(wù)邏輯和各邊緣節(jié)點的流量調(diào) 度控制等功能。 陽0化]現(xiàn)有技術(shù)中,常見的CDN、肥B等HTTP系統(tǒng)使用的安全通信機(jī)制主要有W下幾種: [0006] (I)HTTPS 陽007] 通過加入一個SSL/TLS層來對HTTP內(nèi)容數(shù)據(jù)進(jìn)行完整的加密。該方式具有很高 等級的安全性,是當(dāng)前最主流的安全通信方法。然而HTTPS具有部署代價較高、需要高價購 買證書、服務(wù)器資源開銷大等等負(fù)面影響,在成本控制嚴(yán)格的小型網(wǎng)站難W普及,也不適用 于WHTTP協(xié)議流量為主的CDN增值業(yè)務(wù)。 陽00引 似身份認(rèn)證
[0009] 通過HTTPCOOKIE或SESSION機(jī)制攜帶身份認(rèn)證信息。該方法通常與HTTPS配合 使用,身份認(rèn)證過程中使用HTTPS,主要內(nèi)容傳輸則使用HTTP攜帶會話令牌。其中會話令牌 存放在COOKIE或SESSION中。該方法存在明顯安全問題,即無法防止中間人攻擊。攻擊者 通過鏈路嗅探、流量劫持等方式獲取會話令牌,之后可W冒用用戶身份進(jìn)行訪問,也可W任 意進(jìn)行重放攻擊。
[0010] (3)客戶端時間戳校驗和加密 W11] 該方法通過客戶端服務(wù)端的時間同步,在HTTP信息中攜帶時間戳,并W時間戳作 為加密因子對會話令牌進(jìn)行加密,W防御重放攻擊。然而該方法無法防御客戶端逆向破解。 攻擊者通過反編譯、反匯編等手段逆向分析客戶端邏輯,掌握了同步和加密方法,安全防御 能力就徹底失效。
【發(fā)明內(nèi)容】
[0012] 鑒于W上所述現(xiàn)有技術(shù)的缺點,本發(fā)明的目的在于提供一種適用于CDN增值業(yè)務(wù) 平臺的HTTP安全通信方法及系統(tǒng),利用CDN增值業(yè)務(wù)平臺的業(yè)務(wù)架構(gòu)特性,在HTTP數(shù)據(jù)包 中增加少量額外的安全數(shù)據(jù),進(jìn)行安全校驗,在部署代價和額外資源消耗低于HTTPS的前 提下,達(dá)成了安全傳輸?shù)哪康摹?br>[0013] 為實現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明提供一種適用于CDN增值業(yè)務(wù)平臺的 HTTP安全通信方法,包括W下步驟:步驟S1、客戶端啟動時,向增值業(yè)務(wù)平臺調(diào)度控制中屯、 發(fā)送鑒權(quán)請求及身份信息;步驟S2、增值業(yè)務(wù)平臺調(diào)度控制中屯、驗證所述身份信息,若所 述身份信息無效,則拒絕所述鑒權(quán)請求,流程結(jié)束;若所述身份信息有效,轉(zhuǎn)入步驟S3 ;步 驟S3、增值業(yè)務(wù)平臺調(diào)度控制中屯、根據(jù)所述身份信息生成身份令牌,并為客戶端選定CDN 節(jié)點,將所述身份令牌W明文方式下發(fā)至所述CDN節(jié)點;步驟S4、增值業(yè)務(wù)平臺調(diào)度控制中 屯、獲取自身的鑒權(quán)時間戳,根據(jù)前半密鑰生成規(guī)則由所述鑒權(quán)時間戳生成前半令牌加密密 鑰,再根據(jù)加密算法選擇規(guī)則對所述鑒權(quán)時間戳進(jìn)行計算,根據(jù)計算結(jié)果選擇令牌加密算 法;步驟S5、增值業(yè)務(wù)平臺調(diào)度控制中屯、響應(yīng)客戶端的鑒權(quán)請求,并返回身份令牌明文、鑒 權(quán)時間戳、前半令牌加密密鑰、令牌加密算法和CDN節(jié)點IP地址至客戶端;步驟S6、客戶端 接收到鑒權(quán)請求的響應(yīng)后,記錄當(dāng)前設(shè)備的鑒權(quán)開機(jī)時間戳;步驟S7、當(dāng)客戶端發(fā)送一個 HTTP請求時,記錄當(dāng)前設(shè)備的請求開機(jī)時間戳,并根據(jù)鑒權(quán)時間戳、鑒權(quán)開機(jī)時間戳和請求 開機(jī)時間戳生成后半令牌加密密鑰;步驟S8、客戶端將前半令牌加密密鑰和后半令牌加密 密鑰相組合,生成令牌加密密鑰;步驟S9、客戶端根據(jù)令牌加密密鑰和令牌加密算法,對身 份令牌明文加密,生成身份令牌密文;步驟S10、客戶端在HTTP請求頭部附加身份令牌密 文、鑒權(quán)時間戳、請求開機(jī)時間戳、鑒權(quán)開機(jī)時間戳后,發(fā)送至所選定的CDN節(jié)點;步驟S11、 CDN節(jié)點接收到客戶端發(fā)送的HTTP請求后,根據(jù)前半密鑰生成規(guī)則和加密算法選擇規(guī)則, 對鑒權(quán)時間戳進(jìn)行計算,得出前半令牌加密密鑰和令牌加密算法;步驟S12、CDN節(jié)點根據(jù) HTTP請求頭部中的鑒權(quán)時間戳、請求開機(jī)時間戳和鑒權(quán)開機(jī)時間戳計算后半令牌加密密 鑰;步驟S13、CDN節(jié)點將前半令牌加密密鑰和后半令牌加密密鑰相組合,生成令牌加密密 鑰,并通過令牌加密密鑰和令牌加密算法,對身份令牌密文解密,得到身份令牌明文;若解 密成功且身份令牌有效時,進(jìn)入步驟S14,否則,所述HTTP請求不合法,拒絕所述HTTP請求, 流程結(jié)束;步驟S14XDN節(jié)點對后半令牌加密密鑰做有效性檢查,若有效,轉(zhuǎn)入步驟S15 ;若 無效,CDN節(jié)點拒絕所述HTTP請求,流程結(jié)束;步驟S15、CDN節(jié)點將所述HTTP請求轉(zhuǎn)發(fā)回源 站,并接收源站發(fā)送來的HTTP響應(yīng);步驟S16、使用CDN系統(tǒng)證書私鑰對后半令牌加密密鑰 進(jìn)行加密生成后半令牌加密密鑰密文,并將后半令牌加密密鑰密文附帶在HTTP響應(yīng)頭部, 客戶端接收到響應(yīng)時,使用CDN系統(tǒng)證書公鑰對后半令牌加密密鑰密文進(jìn)行解密,驗證CDN 節(jié)點返回的后半令牌加密密鑰與客戶端自身的后半令牌加密密鑰是否一致,若無法解密或 者數(shù)值不一致則說明響應(yīng)為偽造,停止后續(xù)請求并做提示;若正常解密且數(shù)值一致,則所述 HTTP請求正常結(jié)束。
[0014] 根據(jù)上述的適用于CDN增值業(yè)務(wù)平臺的HTTP安全通信方法,其中:所述步驟Sl之 前還包括:增值業(yè)務(wù)平臺調(diào)度控制中屯、和CDN節(jié)點定期做時間同步,使增值業(yè)務(wù)平臺調(diào)度 控制中屯、和CDN節(jié)點間的時間差異小于一定闊值。
[0015] 進(jìn)一步地,根據(jù)上述的適用于CDN增值業(yè)務(wù)平臺的HTTP安全通信方法,其中:所述 一定闊值為100毫秒。
[0016] 根據(jù)上述的適用于CDN增值業(yè)務(wù)平臺的HTTP安全通信方法,其中:所述步驟S4 中,使用不可逆的算法將所述身份信息生成所述身份令牌。
[0017] 根據(jù)上述的適用于CDN增值業(yè)務(wù)平臺的HTTP安全通信方法,其中:所述步驟S5 中,所述前半密鑰生成規(guī)則和所述加密算法選擇規(guī)則均在增值業(yè)務(wù)平臺調(diào)度控制中屯、中動 態(tài)生成和選擇。
[0018] 根據(jù)上述的適用于CDN增值業(yè)務(wù)平臺的HTTP安全通信方法,其中:所述步驟S7 中,客戶端將請求開機(jī)時間戳與鑒權(quán)開機(jī)時間戳相減,得到請求鑒權(quán)時間差;再將鑒權(quán)時間 戳與請求鑒權(quán)時間差值相加,得到后半令牌加密密鑰。
[0019] 進(jìn)一步地,根據(jù)上述的適用于CDN增值業(yè)務(wù)平臺的HTTP安全通信方法,其中:W鑒 權(quán)時間戳與請求鑒權(quán)時間差值相加后的值的十進(jìn)制整數(shù)字符串字面值作為后半令牌加密 密鑰。
[0020] 根據(jù)上述的適用于CDN增值業(yè)務(wù)平臺的HTTP安全通信方法,其中:所述步驟S14 中,將后半令牌加密密鑰記為Tk。,,身份令牌對應(yīng)客戶端之前所發(fā)出的所有HTTP請求中后 半令牌加密密鑰的最大值記為Tk。,。,。、;發(fā)出的上一個HTTP請求的后半令牌加密密鑰記為 Tkeyprev,CDN節(jié)點當(dāng)前時間戳記為Lede;
[0021] 對后半令牌加密密鑰做有效性檢查時,后半令牌加密密鑰必須符合W下規(guī)則: 陽02引 1)Tkeymax-HTTP請求超時時間<Tkey;
[0023] 2)TkeyPrev聲Tk巧; 陽024]如Lcde-最大時間偏差<Tkey<T""de。
[00巧]根據(jù)權(quán)利要求1所述的適用于CDN增值業(yè)務(wù)平臺的HTTP安全通信方法,其特征在 于:所述步驟S16中,CDN系統(tǒng)證書公鑰預(yù)先存放在客