鐘玉峰,楊 茹
(黑龍江工程學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)系,黑龍江 哈爾濱150050)
IP組播是一種允許一個(gè)或多個(gè)發(fā)送者發(fā)送同一數(shù)據(jù)包到多個(gè)接收者的技術(shù)。經(jīng)常應(yīng)用于網(wǎng)絡(luò)資源共享、網(wǎng)絡(luò)會(huì)員服務(wù)、網(wǎng)絡(luò)計(jì)費(fèi)支付、網(wǎng)絡(luò)電視電話會(huì)議、網(wǎng)絡(luò)培訓(xùn)、軍事通信、大型網(wǎng)絡(luò)游戲開發(fā)等方面。與傳統(tǒng)的單播(Unicast)和廣播[1](Broadcast)通信方式相比,組播具有較高的效率、較低的負(fù)荷及較高的針對(duì)性,特別適用于那些有條件限制或針對(duì)特定對(duì)象的網(wǎng)絡(luò)服務(wù)。這些服務(wù)往往都涉及一些比較重要的內(nèi)容,比如國(guó)家機(jī)密、軍事情報(bào)、貿(mào)易合同、資金往來等,而這些信息通常也是“黑客”或攻擊者所感興趣的。再加上網(wǎng)絡(luò)的開放性和組播本身存在的漏洞等原因,導(dǎo)致組播在帶來越來越多的便利的同時(shí),也帶來了安全隱患的問題,比如經(jīng)常發(fā)生網(wǎng)銀帳戶被盜取、機(jī)密信息被竊聽或篡改、假冒和拒絕服務(wù)等一系列問題。目前,關(guān)于IP組播安全方面的研究不是很多,也不成熟,所以對(duì)其安全技術(shù)的研究將會(huì)對(duì)IP組播技術(shù)的普及具有重要意義。
要研究和解決IP組播通信安全,首要的問題是了解IP組播存在的安全漏洞和風(fēng)險(xiǎn)及其產(chǎn)生的原因。然后才能“對(duì)癥下藥”,尋求解決問題的方法和技術(shù)。IP組播存在的安全漏洞和風(fēng)險(xiǎn)主要有:①非組成員假冒成合法組成員,并組播非法數(shù)據(jù)。②非組成員利用網(wǎng)絡(luò)開放性這一漏洞,越權(quán)獲得組播數(shù)據(jù)。③攻擊者往往通過竊聽、攔截等手段獲取組播數(shù)據(jù),進(jìn)而對(duì)其內(nèi)容進(jìn)行修改或破壞。④容易遭受拒絕服務(wù)[2]攻擊,有時(shí)甚至遭到分布式拒絕服務(wù)攻擊(DDoS)。拒絕服務(wù)攻擊的特點(diǎn)是短時(shí)間內(nèi)攻擊者本身或由其控制的一些傀儡主機(jī)惡意地向組播組發(fā)送海量的數(shù)據(jù)包,耗盡網(wǎng)絡(luò)帶寬,造成網(wǎng)絡(luò)癱瘓,導(dǎo)致不能正常進(jìn)行組播服務(wù)。
目前對(duì)IP組播安全的防范措施和技術(shù)的研究主要從數(shù)據(jù)、成員和策略三個(gè)方面進(jìn)行研究。數(shù)據(jù)方面主要是從組播數(shù)據(jù)的完整性、抗抵賴性、保密性等方面保證組播安全,通過采用加密算法對(duì)數(shù)據(jù)加密以及對(duì)密鑰的分發(fā)和更新來實(shí)現(xiàn)。其中對(duì)密鑰的分發(fā)和更新是一個(gè)難點(diǎn)問題,也是解決組播安全的關(guān)鍵。成員方面主要是指對(duì)組播組成員身份進(jìn)行確認(rèn)、對(duì)新加入和退出的成員進(jìn)行管理等,一般主要采用認(rèn)證[3]技術(shù)實(shí)現(xiàn)。策略方面主要是指對(duì)IP組播制定相應(yīng)的安全策略,包括加密策略、認(rèn)證策略和密鑰管理策略等。圖1具體說明了IP組播的安全問題和解決方案。
圖1 IP組播的安全問題和解決方案
為了達(dá)到安全組播通信的目的,需要使用TEK(traffic encrypting key)加密通信數(shù)據(jù),組成員和KSC(key security controller)用加密密鑰來加密TEK。當(dāng)組成員發(fā)生變化時(shí),應(yīng)當(dāng)及時(shí)更新組密鑰。正因?yàn)閷?duì)密鑰的管理是IP組播安全的關(guān)鍵,所以本文著重對(duì)密鑰管理進(jìn)行研究,主要從組播密鑰管理的系統(tǒng)框架、組播密鑰管理簡(jiǎn)化策略和組播密鑰更新算法[4]三個(gè)方面提出一些自己的見解。
組播密鑰管理的系統(tǒng)框架對(duì)組播組內(nèi)的成員、控制器等實(shí)體及其角色和行為都有重要的影響,在組播安全體系中具有十分重要的作用。組播密鑰管理模式主要有集中式結(jié)構(gòu)和分布式結(jié)構(gòu)兩種[5]。
1)集中式結(jié)構(gòu):集中式結(jié)構(gòu)大都設(shè)置一個(gè)KSC來負(fù)責(zé)組播組密鑰的初始化、組密鑰的分發(fā)和更新,所有發(fā)送者和接收者都是從KSC獲取密鑰。該種結(jié)構(gòu)優(yōu)點(diǎn)是便于集中控制,KSC持有組中所有成員信息,密鑰數(shù)和組的規(guī)模成正比,密鑰分發(fā)更新速度快;缺點(diǎn)是容易導(dǎo)致“單點(diǎn)失效”。因?yàn)轫敿?jí)密鑰安全控制中心只有一個(gè),即組密鑰安全控制器,一旦它被“黑客”攻破或出現(xiàn)故障,則整個(gè)組將變得沒有安全保證,甚至不能正常工作。
2)分布式結(jié)構(gòu):分布式結(jié)構(gòu)中不存在KSC,所有成員權(quán)限一樣,組密鑰由所有成員共同協(xié)商確定。該種結(jié)構(gòu)優(yōu)點(diǎn)較好地解決了集中式結(jié)構(gòu)“單點(diǎn)失效”問題;缺點(diǎn)是容易受到內(nèi)部攻擊,網(wǎng)絡(luò)負(fù)荷大,密鑰分發(fā)、更新速度較慢,缺乏集中控制等。
綜合考慮兩者的優(yōu)點(diǎn)和缺點(diǎn),本文采用一種混合模式,如圖2所示。
圖中實(shí)線表示組播數(shù)據(jù)流,虛線表示密鑰管理系統(tǒng)的主干。其中頂級(jí)域有多個(gè)組密鑰安全控制器(KCS),各組密鑰安全控制器負(fù)責(zé)控制本區(qū)域的子組密鑰安全控制器(SKCS)及組播成員的密鑰分發(fā)更新工作,同時(shí)各組密鑰安全控制器之間也能彼此通信,信息共享,相互協(xié)調(diào)。采用這種混合結(jié)構(gòu),不僅增強(qiáng)了系統(tǒng)的魯棒性[6],提高了效率,也使密鑰的分發(fā)更新與數(shù)據(jù)傳輸分離,增加系統(tǒng)的安全性和可移植性。
圖2 組播密鑰管理系統(tǒng)框架
組播密鑰管理的目的是實(shí)現(xiàn)組播通信時(shí)秘密信息在合法組成員或某個(gè)成員子集之間共享,而非組成員不能知道該秘密信息,從而確保組播安全。對(duì)于動(dòng)態(tài)變化的組進(jìn)行密鑰管理是一個(gè)困難的問題。每當(dāng)有成員從組中退出或加入時(shí),組密鑰必須改變或更新。使得退出的成員不能獲知新的組密鑰(前向機(jī)密性[7]);新加入的成員不能獲知以前的密鑰(后向機(jī)密性)。但是,如果某個(gè)時(shí)間段內(nèi)用戶頻繁加入和退出,就需要整個(gè)組播系統(tǒng)頻繁的更新組密鑰,這樣不僅增加系統(tǒng)負(fù)擔(dān),降低系統(tǒng)性能,同時(shí)也增加系統(tǒng)風(fēng)險(xiǎn)。針對(duì)這種情況,本文提出一種密鑰管理簡(jiǎn)化策略。其基本思想是:以子組為單位進(jìn)行密鑰管理和更新。當(dāng)一個(gè)子組加入或離開時(shí),所有的認(rèn)證過程只發(fā)生一次,即子組密鑰安全控制器和組密鑰安全控制器的相互認(rèn)證過程,不再需要對(duì)該子組的每一個(gè)成員單獨(dú)進(jìn)行繁瑣的認(rèn)證過程。子組內(nèi)部由子組密鑰控制器負(fù)責(zé)管理和更新密鑰。這樣,訪問控制過程得到了大幅度簡(jiǎn)化,系統(tǒng)性能得到很大提高。
組播密鑰更新算法[8]是整個(gè)系統(tǒng)的核心算法。它解決了訪問控制、密鑰安全和子組安全控制器之間的互信等問題。具體算法如下:
1)當(dāng)有子組加入時(shí)。由加入子組的子組密鑰安全控制器向要加入組的組密鑰安全控制器發(fā)送加入請(qǐng)求;組密鑰安全控制器和子組密鑰安全控制器相互認(rèn)證;組密鑰控制器生成新的組密鑰,并更新組密鑰安全控制器密鑰樹;由各子組密鑰安全控制器負(fù)責(zé)向本組所有成員組播更新后的組密鑰。
2)當(dāng)有子組離開時(shí)。由離開子組的子組密鑰安全控制器向組密鑰安全控制器發(fā)送離開請(qǐng)求;組密鑰安全控制器認(rèn)證并同意離開;組密鑰安全控制器生成新的組密鑰,并更新組密鑰安全控制器密鑰樹;由各子組密鑰安全控制器負(fù)責(zé)向本組成員組播更新后的組密鑰。
3)當(dāng)子組內(nèi)部有成員加入或離開時(shí)。子組密鑰安全控制器收到成員加入或離開請(qǐng)求后,認(rèn)證并同意該請(qǐng)求,并更新子組密鑰樹,生成新的子組密鑰[9];由子組密鑰控制器向組密鑰安全控制器發(fā)送密鑰更新請(qǐng)求;組密鑰安全控制器同意請(qǐng)求并產(chǎn)生新的組通信密鑰;組密鑰安全控制器向各子組密鑰安全控制器組播更新后的組密鑰;各子組密鑰安全控制器收到更新后的組密鑰后,向各自組成員組播更新后的組密鑰。
混合式密鑰管理方案有效地克服集中式結(jié)構(gòu)的“單點(diǎn)失效”[10]問題、完全分布式結(jié)構(gòu)控制效力不足和可能存在的內(nèi)部攻擊問題,從而使組播系統(tǒng)的安全性和整體性能得到很大提高。但是在如何驗(yàn)證用戶或子組退出的真實(shí)性、如何周期性地更新密鑰以及密鑰更新頻率等方面的研究還有待加強(qiáng)。另外,IP組播安全往往不是只靠一兩項(xiàng)技術(shù)就能實(shí)現(xiàn)的,還需要配合多種技術(shù)手段。所以,如何使密鑰管理和其他安全技術(shù)有機(jī)結(jié)合也是今后的研究方向。
[1]周賢偉.IP組播與安全[M].北京:國(guó)防工業(yè)出版社,2006:16-30.
[2]陳越,林予松,費(fèi)曉飛.一種基于IPv6CGA的域內(nèi)安全組播基礎(chǔ)設(shè)施[J].計(jì)算機(jī)工程與應(yīng)用,2005,41(13):121-124.
[3]華建國(guó),徐正全.一種新的基于IPv6組播的密鑰管理方案[J].計(jì)算機(jī)工程,2006,32(14):114-11.
[4]Pais,Alwyn,Joshi,et al.A new probabilistic rekeying method for secure multicast groups[J].International Journal of Information Security,2010,9(4):275-286.
[5]戴瓊海,覃毅力,張瑩.組播通信的訪問控制和密鑰管理[J].電子學(xué)報(bào),2002,30(12A):2020-2023.
[6]Di Pietro,Roberto,Mancini,et al.Hierarchies of keys in secure multicast communications.Journal of Computer Security[J].[出版社不詳],2010,18(5):839-860.
[7]何志勇.基于IPv6安全組播的研究[J].四川理工學(xué)院學(xué)報(bào):自然科學(xué)版,2008,21(5):33-35.
[8]楊昌,劉洪基,張煥國(guó).一種基于Keynote信任管理系統(tǒng)的主動(dòng)組播組控制機(jī)制研究[J].計(jì)算機(jī)應(yīng)用與軟件,2006,23(08):22-23.
[9]Pompili,Dario;Scoglio,Caterina;Lopez,Luca.Multicast algorithms in service overlay networks[J].Computer Communications,2008,31(3):489-505.
[10]許建真,董永先,梁克會(huì).一種高效的動(dòng)態(tài)組播密鑰管理方案[J].計(jì)算機(jī)應(yīng)用研究,2010,27(3):1061-1063.