林 庚,喬占西,于 昕
(1.北京科技大學(xué)信息工程學(xué)院 北京100083;2.河南科技大學(xué) 洛陽471003;3.北京科技大學(xué)土木與環(huán)境工程學(xué)院 北京100083)
組播通信作為一種高效的數(shù)據(jù)傳輸方式近年來得到了廣泛的關(guān)注[1]。它的優(yōu)勢在于發(fā)送方只需向組播組發(fā)送一份數(shù)據(jù),所有組內(nèi)接收方都可以得到該數(shù)據(jù),其中的數(shù)據(jù)拷貝工作由組播路由器負(fù)責(zé),這極大地減輕了組播發(fā)送方的計算開銷,并節(jié)省了寶貴的網(wǎng)絡(luò)帶寬。軟件在線分發(fā)與升級、股市信息發(fā)布、IPTV、多媒體會議、視頻點播、多方網(wǎng)絡(luò)游戲等都是組播通信應(yīng)用的例子[2]。但組播通信的安全機制還不完善,組播源認(rèn)證是組播安全的熱點問題之一。在組播源認(rèn)證過程中涉及大量的發(fā)送方和接收方,而且組播數(shù)據(jù)傳輸過程中可能產(chǎn)生數(shù)據(jù)包丟失。基于上述分析,該文提出了一種能夠?qū)崟r進行認(rèn)證并且僅產(chǎn)生低通信和計算開銷、容忍丟包、具有抗抵賴性的組播源認(rèn)證協(xié)議。
目前的組播源認(rèn)證協(xié)議可分為以下兩類:
· 基于MAC的源認(rèn)證方案[3~5],雖然MAC不提供抗抵賴性,但MAC可高效地生成和認(rèn)證數(shù)據(jù),從而達(dá)到提高效率的目的;
· 基于Hash的源認(rèn)證方案[6~10],采用數(shù)字簽名提供抗抵賴性,但組播通信是對大量接收方和發(fā)送方而言的,考慮到通信和計算開銷問題,大多數(shù)機制使用Hash鏈分?jǐn)倲?shù)字簽名技術(shù)來減少這兩種開銷。
Gennaro和Rohatgi[7]在1997年首先提出原始Hash鏈方案,基本設(shè)計思想如圖1所示。首先將要發(fā)送的數(shù)據(jù)分成m份。將最后發(fā)送的數(shù)據(jù)包Pm的Hash值H(Pm)附加到前一個數(shù)據(jù)包 H(Pm-1)上,形成 P/m-1;然后將 P/m-1的 Hash值H(P/m-1)附加到 Pm-2上形成P/m-2,依此類推,把新形成數(shù)據(jù)包的Hash值加到前一個數(shù)據(jù)包上形成新數(shù)據(jù)包,最后對 P/1求 Hash值,得到 H(P/1),將 H(P/1)數(shù)字簽名;最后,將Hash鏈發(fā)送出去,接收方檢查數(shù)字簽名的正確性,如果正確就保存其包含的Hash值以認(rèn)證后面的數(shù)據(jù)包,如果不正確就丟掉它。
但原始Hash鏈協(xié)議在有丟包發(fā)生的網(wǎng)絡(luò)中并不適用。因此,組播安全領(lǐng)域的專家又提出了EMSS[7]、H2A[8]等組播源認(rèn)證協(xié)議,其中H2A組播認(rèn)證協(xié)議是較優(yōu)化的一種,其設(shè)計思想如圖2所示。首先,發(fā)送方把要發(fā)送的數(shù)據(jù)分成m份,將 H(P/a+2),…,H(P/m-a)值添加到其后 K個數(shù)據(jù)包上(K是發(fā)送方根據(jù)接收方周期性返回的接收狀況反饋信息而確定的可動態(tài)調(diào)整的Hash鏈冗余度),其中,一個Hash值放在與原數(shù)據(jù)包鄰近的下一個數(shù)據(jù)包上,另K-1個Hash值放在其后一定范圍內(nèi)任意K-1個數(shù)據(jù)包上;然后,把最后發(fā)送的數(shù)據(jù)包和加在其上的Hash值當(dāng)作一個新數(shù)據(jù)包對其求Hash值,把求得的值按前面的方式附在其后K個數(shù)據(jù)包上,每處理完一個數(shù)據(jù)包就向接收方發(fā)送一個,對最后發(fā)送的數(shù)據(jù)包簽名;最后,接收方保留收到的其他數(shù)據(jù)包,檢驗簽名包的真實性,根據(jù)Hash鏈與簽名包的關(guān)聯(lián)關(guān)系認(rèn)證其他數(shù)據(jù)包。
H2A方案雖然提高了抗丟包性,計算和通信開銷適度,但仍有以下幾個不足:
·H2A方案接收方在認(rèn)證數(shù)據(jù)包時產(chǎn)生認(rèn)證延遲,并且需要緩存空間來保存先到達(dá)的數(shù)據(jù)包直到接收到簽名包才能進行認(rèn)證,這樣易遭受DoS攻擊,浪費緩存資源;
·從接收方發(fā)送反饋信息的方式看,在大規(guī)模組播組中采用這種反饋方式可能浪費網(wǎng)絡(luò)資源引起網(wǎng)絡(luò)擁塞,并增加發(fā)送方計算負(fù)擔(dān),而且,敵對的攻擊方可以假冒接收方發(fā)送大量虛假的反饋信息,影響K值選擇;
·在目標(biāo)包(某數(shù)據(jù)包承載其他數(shù)據(jù)包的Hash值,該數(shù)據(jù)包就是其他數(shù)據(jù)包的目標(biāo)包)選取上,仍有進一步優(yōu)化的可能,以提高抗丟包魯棒性。
為了解決上述問題,下文結(jié)合原始Hash鏈和H2A協(xié)議的思想,設(shè)計了一種新的更為高效的組播源認(rèn)證協(xié)議。
發(fā)送方將緩存的數(shù)據(jù)分成m個數(shù)據(jù)包,然后按照發(fā)送順序?qū)?shù)據(jù)包從1~m編號,將最后發(fā)送的數(shù)據(jù)包Pm的Hash值H(Pm)附加到數(shù)據(jù)包Pm-1上形成新數(shù)據(jù)包P/m-1,另外,將K-1個H(Pm)隨機地附加到前方任意K-1個數(shù)據(jù)包上(K是根據(jù)接收方反饋的網(wǎng)絡(luò)狀況計算出的冗余度),其中,必須有一個H(Pm)附加到前方與Pm相距至少a-1的數(shù)據(jù)包上(a-1是間隔數(shù)據(jù)包的個數(shù),可根據(jù)網(wǎng)絡(luò)丟包情況動態(tài)調(diào)節(jié))。P/m-1的Hash值 H(P/m-1)即為 H(Pm-1+H(Pm))。依照上面的方法,把P/m-1的Hash值H(P/m-1)附到數(shù)據(jù)包P/m-2上,形成新的數(shù)據(jù)包P/m-2(前方被選定來附加Hash值的數(shù)據(jù)包和這個新附加的Hash值形成了一個新的數(shù)據(jù)包),另外將K-1個H(P/m-1)隨機地附加到前方任意 K-1個數(shù)據(jù)包上,同樣,其中必須有一個H(P/m-1)附加到前方與P/m-1相距至少a-1的數(shù)據(jù)包上。其他數(shù)據(jù)包的組成形式依此類推(如圖3所示)。最后對第一個要發(fā)送的,也是最后形成的數(shù)據(jù)包P/1的Hash值H(P/1)數(shù)字簽名。發(fā)送方按照簽名包,P/1,P/2,…,P/m-1,P/m的順序發(fā)送數(shù)據(jù)包。由于第一個數(shù)字簽名包是認(rèn)證過程的關(guān)鍵,應(yīng)多發(fā)送幾次簽名數(shù)據(jù)包以避免其丟失。每隔多少個數(shù)據(jù)包產(chǎn)生一個簽名包可根據(jù)接收方在應(yīng)用層可容忍的最大延遲而定。
數(shù)據(jù)包到達(dá)接收方時,接收方將首先認(rèn)證簽名包的真實性,簽名包通過認(rèn)證后緩存簽名包中的Hash值,當(dāng)隨后接收到其他數(shù)據(jù)包時接收方立即利用其先前保存的Hash值,通過Hash鏈認(rèn)證其他數(shù)據(jù)包的真實性,如果認(rèn)證成功保存其他數(shù)據(jù)包攜帶的Hash值,以便認(rèn)證隨后接收到的數(shù)據(jù)包。如果數(shù)據(jù)包在傳輸過程中有丟包,可利用協(xié)議設(shè)計中存在的冗余度特性對其他數(shù)據(jù)包進行認(rèn)證。例如,數(shù)據(jù)包P/a的值放在其前面的P/a-1、P/a-10、P/a-12這3個數(shù)據(jù)包上,如果P/a-1、P/a-10丟失了,接收方還可以根據(jù)P/a-12中保留的Hash值對數(shù)據(jù)包P/a進行驗證。K值的選取由發(fā)送方根據(jù)接收方反饋的網(wǎng)絡(luò)丟包率計算得出。預(yù)先在接收方設(shè)定好變化閾值和采樣周期,每個采樣周期對網(wǎng)絡(luò)狀況進行一次采樣,接收方計算網(wǎng)絡(luò)丟包率變化值(網(wǎng)絡(luò)丟包率指丟失的數(shù)據(jù)包占發(fā)送數(shù)據(jù)包的比率,網(wǎng)絡(luò)丟包率變化值指當(dāng)前采樣得到的網(wǎng)絡(luò)丟包率同前一次反饋的網(wǎng)絡(luò)丟包率相減產(chǎn)生的絕對值),將這個網(wǎng)絡(luò)丟包率變化值與預(yù)定的變化閾值相比較。如果網(wǎng)絡(luò)丟包率變化值大于預(yù)定的變化閾值,向發(fā)送方反饋當(dāng)前的網(wǎng)絡(luò)丟包率信息;如果網(wǎng)絡(luò)丟包率變化值小于變化閾值就不發(fā)送反饋任何信息;等待下一個采樣周期繼續(xù)采樣比較,然后再決定是否發(fā)送反饋信息。接收方在發(fā)送反饋信息時需要將反饋信息用組密鑰進行對稱加密。發(fā)送方接收到反饋信息后,解密反饋信息并根據(jù)反饋信息決定如何調(diào)整冗余度K,同時K值還可以根據(jù)要發(fā)送的數(shù)據(jù)包的重要性進行適當(dāng)增大或減小,以保證抗丟包魯棒性或減小協(xié)議的通信開銷。突發(fā)損失數(shù)據(jù)包長度,由接收方用對稱密鑰加密處理后,反饋給發(fā)送方。
在協(xié)議中先發(fā)送簽名數(shù)據(jù)包,由接收方認(rèn)證。如通過認(rèn)證保留其中包含的Hash值,這樣通過保留的Hash值,可對隨后接收到的數(shù)據(jù)包進行實時認(rèn)證。在沒有網(wǎng)絡(luò)丟包的情況下K=1,接收方的認(rèn)證緩存需求為1,認(rèn)證延遲時間為0。因為前一個接收到的數(shù)據(jù)包已包含了下一個數(shù)據(jù)包的Hash值,可以通過該Hash值對下一個數(shù)據(jù)包進行實時認(rèn)證,實時認(rèn)證節(jié)約了接收方的緩存資源,避免了浪費緩存的惡意攻擊。該設(shè)計思想的安全性已由參考文獻(xiàn)[3]證明。如果網(wǎng)絡(luò)中有丟包現(xiàn)象產(chǎn)生,則設(shè)K>1,由于接收方先得到后面數(shù)據(jù)包的Hash值,其同樣可以較及時地認(rèn)證接收到的數(shù)據(jù)。
該協(xié)議改變了接收方周期地發(fā)送反饋信息的方式,并對反饋信息進行加密傳輸。該協(xié)議在原來周期性返回反饋信息的基礎(chǔ)上,增加了在接收方將網(wǎng)絡(luò)丟包率變化值同預(yù)定變化閾值比較的過程。接收方根據(jù)預(yù)定好的采樣周期,每隔一段時間對網(wǎng)絡(luò)狀況進行采樣,計算網(wǎng)絡(luò)丟包率變化值,將這個網(wǎng)絡(luò)丟包率變化值與預(yù)定的變化閾值相比較。如果網(wǎng)絡(luò)丟包率變化值大于預(yù)定的變化閾值就向發(fā)送方發(fā)送反饋信息;如果網(wǎng)絡(luò)丟包率變化值小于變化閾值就不發(fā)送反饋信息,等待下一周期繼續(xù)采樣比較,再決定是否發(fā)送反饋信息。發(fā)送方根據(jù)接收到的反饋信息決定如何調(diào)整冗余度K。采用這種方法避免了在網(wǎng)絡(luò)傳輸狀況穩(wěn)定條件下,接收方周期性返回反饋信息所造成的網(wǎng)絡(luò)帶寬和發(fā)送方計算資源的浪費。還可以根據(jù)具體情況做進一步改進,冗余度K是根據(jù)反饋的網(wǎng)絡(luò)丟包率計算出來的數(shù)值,對于有些接收方也許K是合適的,另外一些也許稍大或稍小,因此對同一Hash鏈中的數(shù)據(jù)包,其中十分重要的數(shù)據(jù)包冗余度可以大于K,不重要的數(shù)據(jù)包冗余度可以適當(dāng)小于K。這樣在總計算開銷和認(rèn)證開銷大體不變的前提下,提高了重要信息的抗丟包性。網(wǎng)絡(luò)情況變化較大時,接收方的采樣周期和變化閾值需要做相應(yīng)的調(diào)整(采樣周期變小,變化閾值增大。周期變小可以實時監(jiān)測網(wǎng)絡(luò)變化情況,變化閾值增大可以避免在網(wǎng)絡(luò)情況持續(xù)變化較大時頻繁地返回反饋信息而增加接收方計算負(fù)擔(dān)和網(wǎng)絡(luò)帶寬)。另外,為了防止攻擊方假冒接收方發(fā)送大量虛假反饋信息,影響發(fā)送方正確選擇K值,該協(xié)議中采用了對稱密鑰加密反饋信息方法,即接收方用組密鑰加密反饋信息。發(fā)送方接收到反饋信息后,解密反饋信息并根據(jù)反饋信息來決定如何調(diào)整冗余度K。
表1 各種基于Hash鏈的組播源認(rèn)證協(xié)議性能比較
該協(xié)議在目標(biāo)包選取上做了進一步優(yōu)化,如圖3所示。將Pm的Hash值H(Pm)附加到數(shù)據(jù)包Pm-a上形成新數(shù)據(jù)包P/m-a,將K-1個H(Pm)隨機地附加到前方任意 K-1個數(shù)據(jù)包上(根據(jù)參考文獻(xiàn)[4]在突發(fā)丟包模型中采用這種隨機選取目標(biāo)包的方法可以產(chǎn)生很高的認(rèn)證率),其中必須有1個H(Pm)附加到前方與Pm相距至少a-1的數(shù)據(jù)包上。這種安排出于如下考慮:H(Pm)附加到數(shù)據(jù)包Pm-a上可以在網(wǎng)絡(luò)無丟包情況下,直接對數(shù)據(jù)包實時認(rèn)證(K=1),避免浪費緩存資源。根據(jù)參考文獻(xiàn)[4],將K-1個H(Pm)隨機地附加到前方任意K-1個數(shù)據(jù)包上,在突發(fā)丟包模型中采用這種隨機選取目標(biāo)包的方法可以產(chǎn)生很高的認(rèn)證率。將H(Pm)附加到前方與Pm相距至少a-1的數(shù)據(jù)包上,是由于如果網(wǎng)絡(luò)中有突發(fā)丟包損失,突發(fā)丟包損失長度L小于a時,利用這個剩余的Hash值能夠繼續(xù)認(rèn)證數(shù)據(jù)包。另外,協(xié)議中的a值必須根據(jù)網(wǎng)絡(luò)丟包情況動態(tài)改變,如果丟包情況嚴(yán)重,a值必須增加,否則a值可以相應(yīng)減小。網(wǎng)絡(luò)中丟包損失突發(fā)特性像參考文獻(xiàn)[8]中敘述的一樣。突發(fā)丟包開始于流中的任意位置,并且一直持續(xù)到流中的任意一個數(shù)據(jù)包。為了抗丟包,突發(fā)損失包的長度L必須小于a。a應(yīng)仔細(xì)選擇,選小了可能導(dǎo)致L值大于a;選大了則會浪費較多的緩存資源。通過采用這種選擇目標(biāo)包的方式可以增加協(xié)議的抗丟包魯棒性。
該方案同幾種相關(guān)的基于Hash鏈的組播源認(rèn)證協(xié)議各項性能比較結(jié)果見表1。
通過比較可以看出,該協(xié)議接收方在認(rèn)證數(shù)據(jù)包時沒有延遲(無丟包情況)時,抗丟包魯棒性強,為了認(rèn)證而附加在數(shù)據(jù)包上的Hash隨網(wǎng)絡(luò)變化狀況而改變,較為靈活。接收方返回的網(wǎng)絡(luò)狀況信息通常少于H2A協(xié)議,在一定程度上減輕了網(wǎng)絡(luò)負(fù)擔(dān)和發(fā)送方的計算開銷。
本文提出了一種基于Hash鏈的高效組播源認(rèn)證協(xié)議,它借鑒了原始Hash鏈和H2A組播源認(rèn)證協(xié)議的設(shè)計優(yōu)點,從發(fā)送方發(fā)送簽名數(shù)據(jù)包的先后順序、接收方發(fā)送反饋信息的方式及目標(biāo)數(shù)據(jù)包選取等三個方面進行設(shè)計,提高了接收方認(rèn)證速度,減少了發(fā)送方計算開銷和網(wǎng)絡(luò)帶寬損耗,增強了協(xié)議的抗丟包魯棒性。通過比較分析證明該協(xié)議是高效的。
1 Xu Zhiming, Wang Yu, Zhu Jingguo.A reliable multicast routing protocolforhigh-speed mobile ad hoc networks:R-ODMRP.Journal of Software,2010,5(1):20~27
2 Singh K, Yadav R, Shankar S.Adaptive multicast source authentication.In:2009 IEEE International Advance Computing Conference,IACC,Patiala India,March 2009
3 Obana S,Kurosawa K.Bounds and combinatorial structure of(k,n)multi-receiver a-codes.Designs,Codes and Cryptography.2001,22(1):47~63
4 Perrig A,Canetti R,Tygar J D,et al.The TESLA broadcast authentication protocol.RSA CryptoBytes,2002(5)
5 Ruiying D, Song W.An improved scheme of μTESLA authentication based trusted computing platform.In: 2008 International Conference on Wireless Communications,Jhalwa India,December 2008
6 Yacine C,Abdelmadjid B,Yoann H.RLH:receiver driven layered Hash-chaining for multicast data origin authentication.Computer Communications,2005(28):726~740
7 Perrig A,Canetti R,Tygar J D, et al.Efficient authentication and signingofmulticaststreamsoverlossychannels.In:ProceedingsoftheIEEE ComputerSocietySymposium on Research in Security and Privacy,Berkeley California USA,May 2000
8 Yacine C, Abdelmadjid B, Hatem B.H2A: hybrid hashchaining scheme for adaptive multicast source authentication of media-streaming.Computers&Security,2005(24):57~68
9 Younis M,F(xiàn)arrag O.Tiered authentication of multicast traffic in wirelessad hoc networks.In: 2009 IEEE GlobalTelecommunications Conference,Hawaii USA,Nov 2009
10 Eltaief H,Youssef H.MLCC:a new hash-chained mechanism for multicast source authentication. International Journal of Communication Systems,2009,22(9):1069~1087