專(zhuān)利名稱(chēng):多播通信業(yè)務(wù)的安全傳送的制作方法
技術(shù)領(lǐng)域:
符合本發(fā)明原理的系統(tǒng)和方法總體上涉及用于安全網(wǎng)絡(luò)通信的方法和設(shè)備。
背景技術(shù):
涉及計(jì)算機(jī)組的網(wǎng)絡(luò)計(jì)算應(yīng)用程序可以向組中的多臺(tái)計(jì)算機(jī)發(fā)送相同的信息。有三種常規(guī)的方式來(lái)設(shè)計(jì)用于組通信的網(wǎng)絡(luò)應(yīng)用程序,所述方式為單播、廣播和多播。如圖1所示,單播系統(tǒng)允許向一個(gè)特殊接收方傳輸每一數(shù)據(jù)分組的副本。為了傳輸?shù)蕉鄠€(gè)接收方,需要與每一接收方進(jìn)行獨(dú)立的連接。隨著接收方數(shù)目的增加,進(jìn)行多個(gè)直接連接需要大量帶寬,并且由于相同分組必須被反復(fù)地復(fù)制然后傳輸給每一接收方,故而可以會(huì)產(chǎn)生延遲?;趶V播系統(tǒng),可以把每一分組的一個(gè)副本發(fā)送給廣播地址。因此,當(dāng)實(shí)際只有少數(shù)人希望接收廣播時(shí),廣播傳輸被發(fā)送給大量人員。
采用多播系統(tǒng),網(wǎng)絡(luò)應(yīng)用程序可以向一組接收方發(fā)送已編址的一個(gè)或多個(gè)分組的一個(gè)副本,而不是僅向一個(gè)接收方(如單播系統(tǒng)中那樣)發(fā)送一個(gè)或多個(gè)分組。然后一個(gè)或多個(gè)網(wǎng)絡(luò)可以向接收方轉(zhuǎn)發(fā)所述一個(gè)或多個(gè)分組。由于依靠網(wǎng)絡(luò)來(lái)轉(zhuǎn)發(fā)一個(gè)或多個(gè)分組,所以多播應(yīng)用程序只可以對(duì)允許多播的網(wǎng)絡(luò)起作用。通常,諸如單播、廣播或者多播的傳輸不安全,這是因?yàn)槟康牡氐刂房梢员痪W(wǎng)絡(luò)上的任何人看見(jiàn),即使所述分組的數(shù)據(jù)凈荷已經(jīng)被加密也一樣。
存在多種常規(guī)方法來(lái)經(jīng)由網(wǎng)絡(luò)傳輸數(shù)據(jù)分組。這些常規(guī)方法的某些可以提供安全傳輸,而其它的也許不能。用于數(shù)據(jù)分組安全傳輸?shù)募夹g(shù)之一是使用單播隧道。如圖2所示,源設(shè)備210可以向隧道網(wǎng)關(guān)220傳輸數(shù)據(jù),以跨越單播隧道230來(lái)傳輸,以便經(jīng)由隧道端點(diǎn)250到達(dá)目的地設(shè)備270。對(duì)于安全傳輸來(lái)說(shuō),通常可以使用用于正使用的特定單播隧道230的唯一密鑰來(lái)加密所述分組。可以在隧道網(wǎng)關(guān)220把所述分組封裝在單播隧道分組中。常規(guī)的隧道可以使用諸如網(wǎng)際協(xié)議安全的封裝安全凈荷(IPsec ESP)的封裝協(xié)議。IPsec可以提供隧道安全特性的范圍。IPsec單獨(dú)或與諸如互聯(lián)網(wǎng)密鑰交換(IKE)的其它協(xié)議一起可以為每個(gè)隧道構(gòu)造唯一的安全關(guān)聯(lián)集合,其包括用于給定隧道的訪問(wèn)控制、加密密鑰和驗(yàn)證密鑰。因此,一旦數(shù)據(jù)進(jìn)入隧道230,數(shù)據(jù)和分組的最終目的地都無(wú)法被解密。隧道端點(diǎn)250可以基于解密密鑰來(lái)解密所接收的分組,并且對(duì)給定隧道執(zhí)行驗(yàn)證檢查,并且然后可以向分組的最終目的地、即目的地設(shè)備270轉(zhuǎn)發(fā)原始分組。
發(fā)明內(nèi)容
在符合本發(fā)明原理的一方面中,提供了一種允許經(jīng)由網(wǎng)絡(luò)進(jìn)行安全多播傳輸?shù)姆椒?。所述方法可以包括從第一下游路由器接收第一加入?qǐng)求,所述加入請(qǐng)求表明待加入的多播組;向第一下游路由器發(fā)送組密鑰,其中所述組密鑰至少基于所述多播組;使用所述組密鑰來(lái)對(duì)第一分組進(jìn)行密碼處理以便生成封裝凈荷;向封裝凈荷添加第一報(bào)頭以便形成第一封裝分組;基于所添加的第一報(bào)頭來(lái)建立與第一下游路由器的隧道;以及經(jīng)由所述隧道向第一下游路由器發(fā)送第一封裝分組。
在符合本發(fā)明原理的第二方面中,提供了一種用于經(jīng)由網(wǎng)絡(luò)接收多播傳輸?shù)姆椒āK龇椒梢园ń?jīng)由單播隧道向轉(zhuǎn)發(fā)路由器發(fā)送加入請(qǐng)求,所述單播隧道是在轉(zhuǎn)發(fā)路由器和第一下游路由器之間建立的,所述加入請(qǐng)求表明待加入的多播組;響應(yīng)于發(fā)送的加入請(qǐng)求,接收組密鑰,所述組密鑰至少基于所述多播組;在轉(zhuǎn)發(fā)路由器和第一下游路由器之間建立組密鑰隧道;經(jīng)由組密鑰隧道接收封裝分組;使用所述組密鑰對(duì)封裝分組進(jìn)行密碼處理以便揭示多播分組,所述多播分組包括具有多播目的地地址的網(wǎng)際協(xié)議(IP)報(bào)頭;在接口上向?qū)?yīng)于所述多播目的地地址的至少一個(gè)多播接收方轉(zhuǎn)發(fā)多播分組。
在符合本發(fā)明原理的第三方面中,提供了一種用于在計(jì)算機(jī)網(wǎng)絡(luò)內(nèi)接收和發(fā)送分組的設(shè)備。所述設(shè)備可以被配置成經(jīng)由第一隧道從第一下游路由器接收第一加入請(qǐng)求,所述第一隧道是在第一下游路由器和轉(zhuǎn)發(fā)路由器之間建立的,所述第一加入請(qǐng)求表明待加入的多播組;經(jīng)由第一隧道向第一下游路由器發(fā)送至少基于多播組的組密鑰;使用所述組密鑰來(lái)對(duì)第一分組進(jìn)行密碼處理以便生成封裝凈荷;向所述封裝凈荷添加第一報(bào)頭以便形成第一封裝分組,其中所述第一報(bào)頭包括與第一下游路由器相關(guān)聯(lián)的信息;基于所添加的第一報(bào)頭來(lái)建立與第一下游路由器的第二隧道;以及經(jīng)由所述第二隧道向第一下游路由器發(fā)送第一封裝分組。
在符合本發(fā)明原理的第四方面中,提供了一種用于在計(jì)算機(jī)網(wǎng)絡(luò)內(nèi)接收和發(fā)送分組的設(shè)備。所述設(shè)備可以被配置成經(jīng)由第一單播隧道從第一下游路由器接收第一加入請(qǐng)求,其中所述第一單播隧道是在第一下游路由器和轉(zhuǎn)發(fā)路由器之間建立的;經(jīng)由第二單播隧道從第二下游路由器接收第二加入請(qǐng)求,所述第二單播隧道是在第二下游路由器和轉(zhuǎn)發(fā)路由器之間建立的,其中所述第一和第二加入請(qǐng)求表明待加入的多播組;生成至少基于多播組的組密鑰;經(jīng)由所述第一單播隧道向第一下游路由器發(fā)送組密鑰;經(jīng)由所述第二單播隧道向第二下游路由器發(fā)送組密鑰;使用所述組密鑰對(duì)第一多播分組進(jìn)行密碼處理,以便生成封裝凈荷;向封裝凈荷添加第一單播網(wǎng)際協(xié)議(IP)報(bào)頭,以便形成第一封裝分組,其中所述第一單播IP報(bào)頭與第一下游路由器相關(guān)聯(lián);基于所添加的第一單播IP報(bào)頭來(lái)建立與第一下游路由器的第一組密鑰隧道;復(fù)制所述封裝凈荷;向復(fù)制的封裝凈荷添加第二單播網(wǎng)際協(xié)議(IP)報(bào)頭以便形成第二封裝分組,其中所述第二單播IP報(bào)頭與第二下游路由器相關(guān)聯(lián);基于所添加的第二單播IP報(bào)頭來(lái)建立與第二下游路由器的第二組密鑰隧道;經(jīng)由所述第一組密鑰隧道向第一下游路由器發(fā)送第一封裝分組;以及經(jīng)由所述第二組密鑰隧道向第二下游路由器發(fā)送第二封裝分組。
并入并且構(gòu)成此說(shuō)明書(shū)一部分的附圖舉例說(shuō)明了本發(fā)明的實(shí)現(xiàn)方式,并且結(jié)合此描述來(lái)解釋本發(fā)明。在所述附圖中,圖1是網(wǎng)絡(luò)傳輸形態(tài)的例證說(shuō)明。
圖2是使用隧道的示例性網(wǎng)絡(luò)通信的示意圖。
圖3是經(jīng)由隧道進(jìn)行的示例性多播數(shù)據(jù)傳輸?shù)氖疽鈭D。
圖4是經(jīng)由多個(gè)隧道進(jìn)行的示例性多播數(shù)據(jù)傳輸?shù)氖疽鈭D。
圖5是舉例說(shuō)明了接收隧道分組并且把隧道分組解密為多播分組的示例性過(guò)程的流程圖。
圖6是描述用于經(jīng)由隧道傳輸多播分組的示例性方法的流程圖。
圖7是舉例說(shuō)明符合本發(fā)明原理的加密和驗(yàn)證方案的示例性實(shí)現(xiàn)方式的示意圖。
圖8是舉例說(shuō)明符合本發(fā)明原理的封裝方案的示例性實(shí)現(xiàn)方式的示意圖。
圖9是舉例說(shuō)明符合本發(fā)明原理的封裝方案的另一示例性實(shí)現(xiàn)方式的示意圖。
圖10是描述用于經(jīng)由隧道進(jìn)行的多播數(shù)據(jù)傳輸?shù)氖纠苑椒ǖ牧鞒虉D。
具體實(shí)施例方式
本發(fā)明的具體實(shí)施方式
將參考附圖。不同附圖中的同一附圖標(biāo)記可以表示相同或者類(lèi)似元素。此外,接下來(lái)的詳細(xì)描述不限制本發(fā)明。相反,本發(fā)明的范圍由所附權(quán)利要求書(shū)及其等效物來(lái)定義。
圖3是經(jīng)由隧道進(jìn)行的示例性多播數(shù)據(jù)傳輸?shù)氖疽鈭D。如圖3所示,使用隧道的多播數(shù)據(jù)傳輸可以從多播源300開(kāi)始。多播源300可以依照多播分組的形式向隧道網(wǎng)關(guān)310傳輸多播數(shù)據(jù)。多播分組可以包括多播數(shù)據(jù)凈荷和IP報(bào)頭。多播數(shù)據(jù)凈荷可以是由隧道網(wǎng)關(guān)310的下游接收方請(qǐng)求的來(lái)自多播流的數(shù)據(jù)段。網(wǎng)際協(xié)議(IP)報(bào)頭可以提供包括多播源300的網(wǎng)絡(luò)地址和由接收方340預(yù)訂的多播組地址的信息。所述網(wǎng)絡(luò)地址例如可以是IP地址。所述多播流可以被定義為一組分組,其組成向特定源和組(標(biāo)記為(S,G))多播出去的數(shù)據(jù)。
多播流可以?xún)H僅經(jīng)由允許多播的網(wǎng)絡(luò)被直接傳輸。不允許的網(wǎng)絡(luò)中的路由器以及其它中間網(wǎng)絡(luò)節(jié)點(diǎn)可以不轉(zhuǎn)發(fā)包含多播報(bào)頭的數(shù)據(jù)分組,因?yàn)椴辉试S的設(shè)備可以不讀取多播接收方地址,因此不知道向哪里轉(zhuǎn)發(fā)所述多播分組。為了經(jīng)由不允許的網(wǎng)絡(luò)傳輸多播數(shù)據(jù),源300可以經(jīng)由單播隧道來(lái)傳輸多播分組,所述單播隧道開(kāi)始于隧道網(wǎng)關(guān)310并且結(jié)束于隧道端點(diǎn)330。圖3舉例說(shuō)明了僅涉及在多播源300和多播接收方340之間提供清晰傳輸路徑的一個(gè)隧道的示例性路徑??梢允褂枚鄠€(gè)隧道并且下面相對(duì)于圖4來(lái)論述??梢栽谒淼谰W(wǎng)關(guān)310把多播分組轉(zhuǎn)換為封裝分組以便經(jīng)由單播隧道傳送。隧道網(wǎng)關(guān)310可以加密并且驗(yàn)證多播分組,然后可以把已加密的并且已驗(yàn)證的分組封裝在封裝分組中。所述封裝可以包括附加報(bào)頭,其包括隧道的源和端點(diǎn)單播地址(例如,IP隧道中的源和目的地IP地址)。所述IP報(bào)頭和數(shù)據(jù)分組的屬性于是對(duì)于網(wǎng)絡(luò)而言是不可見(jiàn)的。隧道網(wǎng)關(guān)310然后可以把多播分組作為封裝分組經(jīng)由不允許多播的網(wǎng)絡(luò)向隧道端點(diǎn)330傳輸。
在隧道網(wǎng)關(guān)310傳輸之后,所述封裝分組沿通向隧道端點(diǎn)330的隧道路徑可以遇到多個(gè)中間節(jié)點(diǎn)設(shè)備,例如包括路由器320a和320b(統(tǒng)稱(chēng)為“路由器320”)(例如,單播節(jié)點(diǎn))。路由器320可以用于沿特定路徑向下一目的地轉(zhuǎn)發(fā)分組,或者跳過(guò),無(wú)論它是另一路由器還是最終目的地。路由器320可以審查附加于隧道分組的單播隧道報(bào)頭,以便確定隧道分組的目的地地址。每個(gè)路由器320內(nèi)的路由表可以由路由器320使用,以便確定哪個(gè)路徑用于轉(zhuǎn)發(fā)具有特定多播組地址的分組。使用路由表,路由器320可以確定用于隧道分組的正確路徑,并且因此轉(zhuǎn)發(fā)所述隧道分組。隧道網(wǎng)關(guān)310和隧道端點(diǎn)330之間的路徑可以穿過(guò)多個(gè)中間節(jié)點(diǎn),每一中間節(jié)點(diǎn)類(lèi)似地轉(zhuǎn)發(fā)所述隧道分組,直到它到達(dá)隧道端點(diǎn)330為止。如果沒(méi)有封裝單播報(bào)頭,而是保留IP報(bào)頭,那么不允許多播的節(jié)點(diǎn)設(shè)備不可以識(shí)別多播組地址,并且因此不能把分組路由到下一目的地,導(dǎo)致丟失分組。
隧道端點(diǎn)330可以接收封裝分組。隧道端點(diǎn)330可以從封裝分組中去除封裝,并解密和驗(yàn)證最終分組。解密和驗(yàn)證過(guò)程產(chǎn)生具有IP報(bào)頭和多播數(shù)據(jù)凈荷的原始多播分組。基于在IP報(bào)頭中發(fā)現(xiàn)的目的地,諸如多播組地址,隧道端點(diǎn)330可以向其它多播接收方340和另外的下游路由器轉(zhuǎn)發(fā)多播分組。
現(xiàn)在參考圖4,舉例說(shuō)明了使用多個(gè)隧道的示例性多播系統(tǒng)。多播源400可以向每個(gè)多播組的轉(zhuǎn)發(fā)路由器410傳輸每個(gè)多播分組的副本。雖然為了簡(jiǎn)單而示出了連接,但是應(yīng)該理解的是,多播源400和轉(zhuǎn)發(fā)410可以依照任何適當(dāng)方式與可能位于其間的另外中間設(shè)備(例如,路由器等)可操作地連接。另外,正如此處所定義的那樣,多播組涉及一種已定義的多播組地址,基于所述地址,一組多播接收方460a-460h(統(tǒng)稱(chēng)為“多播接收方460”)可以連續(xù)地查找多播流。位于多播網(wǎng)絡(luò)內(nèi)的多播接收方460可以經(jīng)由組密鑰隧道420a-420c(統(tǒng)稱(chēng)為“組密鑰隧道420”)之一以及預(yù)先存在的單播隧道425a-425c(“預(yù)先存在的單播隧道425”)之一被連接至多播流。在本實(shí)現(xiàn)方式中,每個(gè)隧道420涉及同一多播組,并因此提供使用相同的組密鑰集合加密、驗(yàn)證并且封裝的多播分組,但它們?nèi)跃哂胁煌腎P目的地報(bào)頭。應(yīng)該理解的是,可以把另外的單播隧道集合用于不同的多播流??梢越?jīng)由單播網(wǎng)絡(luò)428(例如,因特網(wǎng)、局域網(wǎng)(LAN)等)為每個(gè)多播流并且為每對(duì)轉(zhuǎn)發(fā)路由器410和下游路由器440建立組密鑰隧道420和預(yù)先存在的單播隧道425。轉(zhuǎn)發(fā)路由器410可以是可兼容路由器、網(wǎng)絡(luò)服務(wù)器、計(jì)算機(jī)或者其它一些包括多播源400內(nèi)的組件的隧道可兼容網(wǎng)絡(luò)接口。
依照本發(fā)明的原理,可以從一個(gè)多播接收方460通過(guò)相關(guān)的一個(gè)預(yù)先存在的單播隧道425、經(jīng)由相關(guān)的一個(gè)下游路由器440接收表明參與組密鑰加密方案的加入請(qǐng)求。然后轉(zhuǎn)發(fā)路由器410可以生成相關(guān)聯(lián)的組密鑰,并且再次經(jīng)由相關(guān)的一個(gè)預(yù)先存在的單播隧道425與發(fā)出請(qǐng)求的一個(gè)下游路由器440交換密鑰。然后轉(zhuǎn)發(fā)路由器410可以使用組密鑰來(lái)加密并且驗(yàn)證原始多播分組,并且封裝所述多播分組,如上面參照?qǐng)D3所描述的那樣,以便根據(jù)每一多播分組來(lái)形成封裝分組。將在下面的附加細(xì)節(jié)中提出涉及所接收的加入請(qǐng)求、加密、驗(yàn)證和封裝的附加細(xì)節(jié)。
轉(zhuǎn)發(fā)路由器410還可以向每一封裝分組附加IP報(bào)頭,并且把每一封裝分組經(jīng)由適當(dāng)?shù)慕M密鑰隧道420朝向每一發(fā)出請(qǐng)求的下游路由器440引導(dǎo)。與加密、驗(yàn)證和封裝所述多播分組相關(guān)的處理可以統(tǒng)稱(chēng)為隧道封裝處理,并且可以包括準(zhǔn)備多播分組以便經(jīng)由隧道420轉(zhuǎn)發(fā)給下游路由器440所需的任何技術(shù)。
另外,應(yīng)該理解的是,所示出的隧道數(shù)目?jī)H僅是例證性的。根據(jù)用于探尋多播組數(shù)據(jù)的下游路由器數(shù)目和這些下游路由器希望加入的多播組(S,G)或者(*,G)的數(shù)目,可以存在任何數(shù)目的隧道。術(shù)語(yǔ)(S,G)指的是由源S和組地址G來(lái)識(shí)別多播組的方式。對(duì)于(*,G)組來(lái)說(shuō),多個(gè)源可以生成原始多播分組。可以經(jīng)由對(duì)應(yīng)于單播報(bào)頭的適當(dāng)一個(gè)組隧道420向下游路由器440a-440c(統(tǒng)稱(chēng)為“下游路由器440”)傳輸封裝分組。例如,位于多播接收方端的下游路由器440可以是可兼容路由器、網(wǎng)絡(luò)服務(wù)器、一個(gè)多播接收方460或者可以是其它一些隧道可兼容網(wǎng)絡(luò)接口。此外,如果任何下游路由器440是網(wǎng)絡(luò)服務(wù)器,那么充當(dāng)下游路由器的網(wǎng)絡(luò)服務(wù)器和多播接收方之間的網(wǎng)絡(luò)應(yīng)該是允許多播的,因此多播分組可以從下游路由器440傳輸給多播接收方460。否則,在轉(zhuǎn)發(fā)路由器410和一個(gè)下游路由器440之間出現(xiàn)的上述方法將以類(lèi)似方式在下游路由器440和路由器440(未示出)下游的另外路由器之間再次出現(xiàn)。
當(dāng)?shù)竭_(dá)一個(gè)下游路由器440時(shí),每個(gè)封裝分組可以被解封裝、解密并且驗(yàn)證。然后可以由下游路由器440依照已知的方式把最終多播分組朝向多播接收方460路由。
圖5是舉例說(shuō)明依照本發(fā)明原理的用于經(jīng)由網(wǎng)絡(luò)接收多播分組的一個(gè)示例性過(guò)程的流程圖。在此示例性實(shí)現(xiàn)方式中,多播分組是從多播源400經(jīng)由轉(zhuǎn)發(fā)路由器410、隧道420b和下游路由器440b向多播接收方460d傳輸?shù)?。此?shí)現(xiàn)方式僅僅是示例性的,并且依照本發(fā)明原理,可以利用任何適當(dāng)?shù)木W(wǎng)絡(luò)元件的組合。處理過(guò)程可以從下游路由器440b建立與轉(zhuǎn)發(fā)路由器410的初始單播隧道425b以便于單播分組交換而開(kāi)始(動(dòng)作500)。一旦隧道420b已經(jīng)被建立,就可以從多播接收方460d接收加入請(qǐng)求(動(dòng)作502),所述加入請(qǐng)求表明接收方460d想要預(yù)訂特定的多播組和所接收的涉及該組的傳輸。所述加入請(qǐng)求可以遵循所述領(lǐng)域已知的任何適當(dāng)?shù)亩嗖f(xié)議。在符合本發(fā)明原理的一種實(shí)現(xiàn)方式中,所述加入請(qǐng)求可以是協(xié)議獨(dú)立多播-分散模式(ProtocolIndependent Multicast-Sparse Mode,PIM-SM)加入請(qǐng)求。作為選擇,還可以接收互聯(lián)網(wǎng)組管理協(xié)議(Internet Group ManagementProtocol,IGMP)加入請(qǐng)求。無(wú)論所使用的協(xié)議如何,所接收的加入請(qǐng)求應(yīng)該至少包括表示希望加入的多播組的指示(例如,多播組地址)。
當(dāng)接收到加入請(qǐng)求時(shí),下游路由器440b經(jīng)由預(yù)先存在的單播隧道425b把所述加入請(qǐng)求轉(zhuǎn)發(fā)至轉(zhuǎn)發(fā)路由器410(動(dòng)作504)。正如下面在附加細(xì)節(jié)中論述的那樣,轉(zhuǎn)發(fā)路由器410生成與下游路由器440b相關(guān)聯(lián)的組加密和驗(yàn)證密鑰(統(tǒng)稱(chēng)為“組密鑰”)。傳輸加入請(qǐng)求之后,下游路由器440b可以從轉(zhuǎn)發(fā)路由器410接收安全關(guān)聯(lián)參數(shù)(動(dòng)作505)。在符合本發(fā)明原理的一種實(shí)現(xiàn)方式中,所述安全關(guān)聯(lián)參數(shù)可以包括涉及轉(zhuǎn)發(fā)路由器410所采用的組密鑰方案的特殊內(nèi)容,包括但不限于密鑰使用期限、所使用的密碼、密鑰長(zhǎng)度、重疊處理指令、請(qǐng)求消息、確認(rèn)消息、狀態(tài)和錯(cuò)誤消息、翻轉(zhuǎn)協(xié)議等。一旦已經(jīng)交換了安全參數(shù),那么就把所生成的密鑰經(jīng)由預(yù)先存在的單播隧道425b傳遞給下游路由器440b并由其接收(動(dòng)作506)。然后,轉(zhuǎn)發(fā)路由器410使用所述組密鑰來(lái)加密并且驗(yàn)證與所選多播組相關(guān)聯(lián)的每一輸入多播分組,并且把最終凈荷封裝為具有隧道IP報(bào)頭的封裝分組,所述隧道IP報(bào)頭并入用于封裝凈荷的源和目的地地址(例如,轉(zhuǎn)發(fā)路由器410和下游路由器440b)。接下來(lái),根據(jù)隧道IP報(bào)頭源和目的地地址來(lái)建立組密鑰隧道420b,以便接納封裝分組(動(dòng)作507)。然后,經(jīng)由組密鑰隧道420b把封裝分組傳輸給下游路由器440b并由其接收(動(dòng)作508)。然后把所接收的分組解封裝,由此除去隧道IP報(bào)頭并且保留加密的并且驗(yàn)證的數(shù)據(jù)凈荷(動(dòng)作510)。然后,使用在動(dòng)作506中接收的組密鑰并且依照協(xié)商的安全關(guān)聯(lián)參數(shù)來(lái)解密所接收的分組,以便揭露初始多播分組(動(dòng)作512)。然后,下游路由器440b可以分析原始多播分組的報(bào)頭,以便基于報(bào)頭中的組(目的地)地址來(lái)識(shí)別多播接收方正在哪個(gè)接口上查找所述分組(動(dòng)作514)。然后把已解封裝并已解密的分組向已識(shí)別出的接口上的多播接收方460d轉(zhuǎn)發(fā)出去(動(dòng)作516)。
圖6舉例說(shuō)明了用于經(jīng)由隧道在源和接收方之間進(jìn)行安全多播數(shù)據(jù)傳輸?shù)氖纠苑椒?。最初,如上?jiǎn)述的那樣,轉(zhuǎn)發(fā)路由器410經(jīng)由預(yù)先存在的單播隧道425b從下游路由器440b接收加入請(qǐng)求(動(dòng)作600)。作為響應(yīng),轉(zhuǎn)發(fā)路由器410首先確定先前是否已經(jīng)為特定多播組接收了加入請(qǐng)求(動(dòng)作602)。如果是,那么所述過(guò)程進(jìn)行到如下所述的動(dòng)作606。然而,如果先前沒(méi)有接收到加入請(qǐng)求,那么轉(zhuǎn)發(fā)路由器410可以與下游路由器440b交換安全關(guān)聯(lián)參數(shù)(動(dòng)作603)。如上所述,所述安全關(guān)聯(lián)參數(shù)可以包括涉及轉(zhuǎn)發(fā)路由器410采用的組密鑰方案的特殊內(nèi)容,諸如密鑰使用期限、所使用的密碼、密鑰長(zhǎng)度、翻轉(zhuǎn)協(xié)議等。至少基于多播組來(lái)生成組加密和驗(yàn)證密鑰(動(dòng)作604)。此形式的組密鑰可以由習(xí)語(yǔ)Kgp來(lái)表示,其中‘p’表示密鑰類(lèi)型,而‘g’表示多播組。因此,組密鑰的一個(gè)示例性集合是作為驗(yàn)證密鑰的K239.1.1.1α和作為加密密鑰的K239.1.1.1e,其中239.1.1.1是所期望的多播組的IP地址。在符合本發(fā)明原理的候選實(shí)現(xiàn)方式中,所述組密鑰還可以基于與轉(zhuǎn)發(fā)路由器410相關(guān)聯(lián)的尋址信息。在此實(shí)現(xiàn)方式中,對(duì)于驗(yàn)證密鑰和加密密鑰而言,所述組密鑰可以分別表示為K5.5.5.1,239.1.1.1α和K5.5.5.1,239.1.1.1e,其中5.5.5.1是轉(zhuǎn)發(fā)路由器410的IP地址。
一旦生成,就可以經(jīng)由預(yù)先存在的單播隧道425b把組密鑰轉(zhuǎn)發(fā)給下游路由器440b,以便允許隨后對(duì)所接收的多播分組進(jìn)行解密和驗(yàn)證(動(dòng)作606)。當(dāng)從多播源400接收與所選多播組(例如具有239.1.1.1的目的地IP地址)相關(guān)聯(lián)的多播分組時(shí),轉(zhuǎn)發(fā)路由器410最初使用在動(dòng)作604中生成的組密鑰來(lái)加密并驗(yàn)證分組報(bào)頭和凈荷信息,以便生成加密并驗(yàn)證的多播分組(動(dòng)作608)。接下來(lái),封裝已加密和驗(yàn)證的多播分組以便形成封裝分組的封裝凈荷(動(dòng)作610)。在一種實(shí)現(xiàn)方式中,所述凈荷可以是封裝安全凈荷(Encapsulating Security Payload,ESP),正如由IETF(互聯(lián)網(wǎng)工程工作小組,Internet Engineering Task Force)出版的RFC 2406中定義的。
然后確定組密鑰隧道的后續(xù)跳(動(dòng)作611)。更具體地說(shuō),識(shí)別用于接收所述分組的下一個(gè)或多個(gè)下游路由器的目的地地址。然后可以把隧道IP報(bào)頭添加至封裝凈荷以便形成封裝分組(動(dòng)作612)。在符合本發(fā)明原理的一種實(shí)現(xiàn)方式中,所述隧道IP報(bào)頭包括分別與轉(zhuǎn)發(fā)路由器410和下游路由器440b相關(guān)聯(lián)的源和目的地地址,如在動(dòng)作611中所識(shí)別的。依照這些地址,然后可以在轉(zhuǎn)發(fā)路由器410和下游路由器440b之間建立組密鑰隧道420b,以便于多播分組的交換(動(dòng)作613)。
依照此方式,每個(gè)多播組只需要一個(gè)封裝,無(wú)論預(yù)訂所述多播組的多播接收方的數(shù)目如何都如此。因此,前往不同下游路由器440的封裝分組之間的唯一差別是所添加的隧道IP報(bào)頭。封裝后,經(jīng)由組密鑰隧道420b把接收到的多播分組轉(zhuǎn)發(fā)至下游路由器440b(動(dòng)作614)。接下來(lái)確定是否還有未被服務(wù)的任何下游路由器(動(dòng)作616)。如果是,那么過(guò)程返回到動(dòng)作611,其中確定適當(dāng)?shù)南乱惶?。如果沒(méi)有,那么由于多播分組已經(jīng)被路由至所有發(fā)出請(qǐng)求的下游路由器,所以過(guò)程結(jié)束。
圖7是舉例說(shuō)明符合本發(fā)明原理的加密方案的一種示例性實(shí)現(xiàn)方式的示意圖。如圖7所示,由轉(zhuǎn)發(fā)路由器410接收到的多播分組700可以包括UDP(用戶(hù)數(shù)據(jù)報(bào)協(xié)議)報(bào)頭(UDP)702、IP報(bào)頭(IP)704和凈荷(P)706。當(dāng)由轉(zhuǎn)發(fā)路由器410加密后,可以生成并入多播分組700的已加密多播分組708。
圖8是舉例說(shuō)明符合本發(fā)明原理的封裝方案的一種示例性實(shí)現(xiàn)方式的示意圖。如圖8所示,符合本發(fā)明原理的封裝可以生成并入在圖7中描述的已加密多播分組708、用于便于解封裝的ESP報(bào)頭802以及用于便于所接收分組的驗(yàn)證的驗(yàn)證報(bào)尾804的封裝凈荷800。
圖9是舉例說(shuō)明符合本發(fā)明原理的封裝分組的若干示例性實(shí)現(xiàn)方式的示意圖。更具體地說(shuō),所示出的第一封裝分組900包括圖8的封裝凈荷800以及與第一下游路由器440a相關(guān)聯(lián)的IP報(bào)頭(IP′)902。另外,所示出的第二封裝分組904也包括圖8的封裝凈荷800以及與第二下游路由器440b相關(guān)聯(lián)的第二IP報(bào)頭(IP”)906。所示出的第三封裝分組908也包括圖8的封裝凈荷800以及與第三下游路由器440c相關(guān)聯(lián)的第三IP報(bào)頭(IP)910。如圖所示,使用符合本發(fā)明原理的組密鑰和封裝方案,只需要為每個(gè)多播分組執(zhí)行一次加密、驗(yàn)證和封裝,下游路由器指定由附加于封裝分組的不同IP報(bào)頭來(lái)提供,由此基本上減小了用于多播處理的開(kāi)銷(xiāo)。
在圖10中描述了經(jīng)由IP網(wǎng)絡(luò)環(huán)境進(jìn)行多播數(shù)據(jù)傳輸?shù)囊环N示例性實(shí)現(xiàn)方式。最初,可以在轉(zhuǎn)發(fā)路由器410和每一下游路由器440之間創(chuàng)建IPsec單播隧道425的第一集合(動(dòng)作1000)。IPsec可以提供包括隧道安全關(guān)聯(lián)構(gòu)造的隧道安全特性的范圍。隧道安全關(guān)聯(lián)可以包括對(duì)隧道的訪問(wèn)控制、加密密鑰和驗(yàn)證密鑰。
在建立從轉(zhuǎn)發(fā)路由器410至下游路由器440的IPsec隧道425之后,一個(gè)或多個(gè)下游路由器440可以從多播接收方460接收加入請(qǐng)求,以便加入具有定義地址的特定多播組(動(dòng)作1002)。作為響應(yīng),接收的下游路由器440可以確定轉(zhuǎn)發(fā)路由器410是否支持組密鑰加密/驗(yàn)證方案(動(dòng)作1004)。在一種實(shí)現(xiàn)方式中,下游路由器440維護(hù)一個(gè)表,所述表基于多播組的(S,G)或者(*,G)來(lái)表明參與組密鑰加密方案。參考此表可以允許下游路由器440確定轉(zhuǎn)發(fā)路由器410的參與和執(zhí)行組密鑰隧道功能的能力。如果確定轉(zhuǎn)發(fā)路由器410支持組密鑰加密,那么可以把加入請(qǐng)求經(jīng)由相關(guān)聯(lián)的隧道425發(fā)送給轉(zhuǎn)發(fā)路由器410表明組密鑰參與(動(dòng)作1006)。
當(dāng)接收到所述加入請(qǐng)求后,轉(zhuǎn)發(fā)路由器410經(jīng)由隧道425與發(fā)出請(qǐng)求的下游路由器440交換安全參數(shù)(動(dòng)作1007),并且依照上面就圖6提出的方式來(lái)生成用于驗(yàn)證和加密的組密鑰(動(dòng)作1008)。在符合本發(fā)明原理的候選實(shí)現(xiàn)方式中,另外的下游路由器也許已經(jīng)發(fā)送用于多播組的信號(hào),由此由轉(zhuǎn)發(fā)路由器410先前觸發(fā)組密鑰生成。不論是哪種情況,都經(jīng)由隧道425把組密鑰轉(zhuǎn)發(fā)給發(fā)出請(qǐng)求的下游路由器440,以用于解密并且驗(yàn)證接收的封裝分組(動(dòng)作1010)。接下來(lái),使用在動(dòng)作1008中生成的組密鑰來(lái)加密、驗(yàn)證并且封裝輸入的多播分組以便生成封裝凈荷(動(dòng)作1012)。
接下來(lái),轉(zhuǎn)發(fā)路由器410識(shí)別與每一發(fā)出請(qǐng)求的下游路由器440相關(guān)聯(lián)的IP地址(動(dòng)作1014),并且為每個(gè)識(shí)別出的下游路由器440生成封裝分組(動(dòng)作1016),其中單個(gè)封裝分組包括在動(dòng)作1012中生成的封裝凈荷的副本和唯一的IP報(bào)頭,所述唯一的IP報(bào)頭包括與相應(yīng)的下游路由器440相關(guān)聯(lián)的目的地IP地址。另外,識(shí)別出發(fā)出請(qǐng)求的下游路由器440之后,可以建立組密鑰IPsec隧道420以便于在轉(zhuǎn)發(fā)路由器410和下游路由器440之間交換封裝分組(動(dòng)作1018)。然后經(jīng)由隧道420向在每一封裝分組的隧道IP報(bào)頭中識(shí)別出的下游路由器440轉(zhuǎn)發(fā)所述封裝分組(動(dòng)作1020)。
一旦由下游路由器440接收,就使用在動(dòng)作1010中接收的組密鑰來(lái)解封裝、解密并且驗(yàn)證封裝分組或進(jìn)行其它密碼處理,以便生成原始多播分組(動(dòng)作1022)。然后依照多播分組的多播目的地地址經(jīng)由適當(dāng)接口把多播分組朝向多播接收方460轉(zhuǎn)發(fā)(動(dòng)作1024)。通過(guò)允許使用與單個(gè)IPSec隧道相關(guān)聯(lián)的組密鑰來(lái)加密并且封裝多播分組,不需要為每個(gè)接收方逐一地對(duì)多播分組進(jìn)行密碼處理。
上述步驟的順序可以改變,而不會(huì)影響結(jié)果。例如,可以在使用該組隧道的安全關(guān)聯(lián)中的那些密鑰創(chuàng)建了任何特定封裝凈荷之后來(lái)分發(fā)組密鑰,為每個(gè)組隧道420生成的安全關(guān)聯(lián)具有相同的密鑰。另外,如果已經(jīng)接收到請(qǐng)求,由此獲知多播接收方,那么可以定義組并且在沒(méi)有首先在多播源400和每個(gè)多播接收方460之間生成單個(gè)隧道的情況下形成組隧道420。
實(shí)施例可以依照數(shù)字電子電路、計(jì)算機(jī)硬件、固件或者軟件或者其組合來(lái)實(shí)現(xiàn)。實(shí)施例可以作為計(jì)算機(jī)程序產(chǎn)品來(lái)實(shí)現(xiàn),即,可確實(shí)嵌入在例如機(jī)器可讀存儲(chǔ)設(shè)備或者傳送信號(hào)的信息載體中的計(jì)算機(jī)程序,以便由例如可編程處理器、計(jì)算機(jī)或者多個(gè)計(jì)算機(jī)的數(shù)據(jù)處理設(shè)備來(lái)執(zhí)行或者用于控制它們的操作。可以依照任何形式的程序設(shè)計(jì)語(yǔ)言來(lái)編寫(xiě)計(jì)算機(jī)程序,包括編譯或者解釋語(yǔ)言,并且其可以采用各種形式,包括按照獨(dú)立程序或者按照模塊、組件、子程序或者適用于計(jì)算環(huán)境的其它部件的形式。計(jì)算機(jī)程序可以被采用以便在處于一個(gè)場(chǎng)所的一臺(tái)或多臺(tái)計(jì)算機(jī)上執(zhí)行,或者跨越由通信網(wǎng)絡(luò)互聯(lián)的多個(gè)場(chǎng)所來(lái)分布。
各實(shí)施例的方法動(dòng)作可以由一個(gè)或多個(gè)可編程處理器來(lái)執(zhí)行,所述一個(gè)或多個(gè)可編程處理器用于執(zhí)行計(jì)算機(jī)程序以便通過(guò)對(duì)輸入數(shù)據(jù)操作并且生成輸出來(lái)執(zhí)行符合本發(fā)明原理的功能。方法動(dòng)作還可以由符合本發(fā)明原理的設(shè)備來(lái)執(zhí)行,所述設(shè)備可作為專(zhuān)用邏輯電路來(lái)實(shí)現(xiàn),例如FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)或者ASIC(專(zhuān)用集成電路)。
適用于執(zhí)行計(jì)算機(jī)程序的處理器例如可以包括通用和專(zhuān)用微處理器以及任何類(lèi)型的數(shù)字計(jì)算機(jī)的任意一個(gè)或多個(gè)處理器。通常,處理器將接收來(lái)自只讀存儲(chǔ)器或者隨機(jī)存取存儲(chǔ)器或者它們兩者的指令和數(shù)據(jù)。計(jì)算機(jī)的基本元件是用于執(zhí)行指令的處理器和用于存儲(chǔ)指令和數(shù)據(jù)的一個(gè)或多個(gè)存儲(chǔ)器設(shè)備。通常,計(jì)算機(jī)還可以包括、或者可以被可操作地耦合以便從用于存儲(chǔ)數(shù)據(jù)的一個(gè)或多個(gè)大容量存儲(chǔ)設(shè)備接收或向其轉(zhuǎn)送數(shù)據(jù),所述大容量存儲(chǔ)設(shè)備例如是磁盤(pán)、磁光盤(pán)或者光盤(pán)。適用于具體實(shí)現(xiàn)計(jì)算機(jī)程序指令和數(shù)據(jù)的信息載體可以包括所有形式的非易失性存儲(chǔ)器,例如包括諸如EPROM、EEPROM和閃存設(shè)備的半導(dǎo)體存儲(chǔ)器設(shè)備,例如內(nèi)部硬盤(pán)或者移動(dòng)盤(pán)、磁光盤(pán)、CD-ROM和DVD-ROM盤(pán)的磁盤(pán)。處理器和存儲(chǔ)器可以由專(zhuān)用邏輯電路來(lái)補(bǔ)充或者并入專(zhuān)用邏輯電路中。
符合本發(fā)明原理的實(shí)施例可以依照計(jì)算系統(tǒng)來(lái)實(shí)現(xiàn),所述計(jì)算系統(tǒng)可以包括諸如數(shù)據(jù)服務(wù)器的后端組件,或者其可以包括媒件組件,例如應(yīng)用服務(wù)器,或者其可以包括前端組件,例如具有圖形用戶(hù)界面或者網(wǎng)絡(luò)瀏覽器的客戶(hù)端計(jì)算機(jī),借此,用戶(hù)可以與本發(fā)明的實(shí)現(xiàn)方式交互,或者可以包括這種后端、媒件或者前端組件的組合。所述系統(tǒng)的組件可以通過(guò)任何形式或者任何介質(zhì)的數(shù)字?jǐn)?shù)據(jù)通信、例如通信網(wǎng)絡(luò)來(lái)互連。通信網(wǎng)絡(luò)的例子可以包括局域網(wǎng)(“LAN”)和廣域網(wǎng)(“WAN”),例如,因特網(wǎng)。
所述計(jì)算系統(tǒng)可以包括客戶(hù)端和服務(wù)器??蛻?hù)端和服務(wù)器一般彼此遠(yuǎn)離,并且通??梢越?jīng)由通信網(wǎng)絡(luò)來(lái)相互作用??蛻?hù)端和服務(wù)器的關(guān)系是借助于在相應(yīng)計(jì)算機(jī)上運(yùn)行并且具有客戶(hù)端-服務(wù)器彼此關(guān)系的計(jì)算機(jī)程序來(lái)實(shí)現(xiàn)。
已經(jīng)描述了本發(fā)明的多個(gè)實(shí)施例。盡管如此,應(yīng)該理解的是,在不脫離本發(fā)明的精神和發(fā)明范圍的情況下可以作出各種修改。
權(quán)利要求
1.一種用于經(jīng)由網(wǎng)絡(luò)提供安全多播傳輸?shù)姆椒?,包括從第一下游路由器接收第一加入?qǐng)求,所述加入請(qǐng)求表明待加入的多播組;向所述第一下游路由器發(fā)送組密鑰,其中所述組密鑰至少基于所述多播組;使用所述組密鑰對(duì)第一分組進(jìn)行密碼處理以便生成封裝凈荷;向所述封裝凈荷添加第一報(bào)頭以形成第一封裝分組;基于所添加的第一報(bào)頭來(lái)建立與第一下游路由器的隧道;以及經(jīng)由所述隧道向第一下游路由器發(fā)送第一封裝分組。
2.如權(quán)利要求1所述的方法,包括響應(yīng)于所接收的第一加入請(qǐng)求,與第一下游路由器交換安全關(guān)聯(lián)參數(shù)。
3.如權(quán)利要求2所述的方法,其中,所述安全關(guān)聯(lián)參數(shù)包括從包含如下內(nèi)容的組中選擇的參數(shù)組密鑰使用期限、所使用的密碼、密鑰長(zhǎng)度、重疊處理指令、請(qǐng)求消息、確認(rèn)消息、狀態(tài)和錯(cuò)誤消息以及翻轉(zhuǎn)協(xié)議。
4.如權(quán)利要求1所述的方法,響應(yīng)于所接收的第一加入請(qǐng)求,確定先前是否已經(jīng)為所述多播組生成組密鑰;以及如果先前沒(méi)有為所述多播組生成組密鑰,則生成至少基于所述多播組的組密鑰。
5.如權(quán)利要求1所述的方法,其中,所述組密鑰還基于多播源的地址和多播組的地址。
6.如權(quán)利要求1所述的方法,其中,所述第一下游路由器可操作地連接到至少一個(gè)多播接收方。
7.如權(quán)利要求1所述的方法,其中,所述組密鑰包括組加密密鑰和組驗(yàn)證密鑰。
8.如權(quán)利要求1所述的方法,其中,密碼處理包括使用所述組密鑰來(lái)加密所述分組。
9.如權(quán)利要求1所述的方法,其中,密碼處理包括使用所述組密鑰來(lái)驗(yàn)證所述分組。
10.如權(quán)利要求1所述的方法,其中,密碼處理包括封裝所述分組。
11.如權(quán)利要求10所述的方法,其中,封裝所述分組包括生成并入所述分組的封裝安全凈荷(ESP)。
12.如權(quán)利要求1所述的方法,其中,所述第一報(bào)頭包括與轉(zhuǎn)發(fā)路由器相關(guān)聯(lián)的源網(wǎng)際協(xié)議(IP)地址,以及與第一下游路由器相關(guān)聯(lián)的目的地IP地址。
13.如權(quán)利要求1所述的方法,其中,所述隧道是單播隧道。
14.如權(quán)利要求13所述的方法,其中,所述隧道是網(wǎng)際協(xié)議安全(IPsec)隧道。
15.如權(quán)利要求1所述的方法,其中,從第一下游路由器接收所述第一加入請(qǐng)求包括經(jīng)由預(yù)先存在的隧道從第一下游路由器接收所述第一加入請(qǐng)求,其中所述預(yù)先存在的隧道是在轉(zhuǎn)發(fā)路由器和第一下游路由器之間建立的;以及其中向第一下游路由器發(fā)送所述組密鑰包括經(jīng)由預(yù)先存在的隧道向第一下游路由器發(fā)送所述組密鑰。
16.如權(quán)利要求1所述的方法,包括從第二下游路由器接收第二加入請(qǐng)求;把所述組密鑰發(fā)送至第二下游路由器;復(fù)制所述封裝凈荷;向已復(fù)制的封裝凈荷添加第二報(bào)頭以形成第二封裝分組;基于所添加的第二報(bào)頭,在轉(zhuǎn)發(fā)路由器和第二下游路由器之間建立第二隧道;并且經(jīng)由所述第二隧道向第二下游路由器發(fā)送第二封裝分組。
17.如權(quán)利要求16所述的方法,其中,所述第二報(bào)頭包括與轉(zhuǎn)發(fā)路由器相關(guān)聯(lián)的源網(wǎng)際協(xié)議(IP)地址,以及與第二下游路由器相關(guān)聯(lián)的第二目的地IP地址。
18.一種用于經(jīng)由網(wǎng)絡(luò)接收多播傳輸?shù)姆椒ǎ龇椒òń?jīng)由單播隧道向轉(zhuǎn)發(fā)路由器發(fā)送加入請(qǐng)求,所述單播隧道是在轉(zhuǎn)發(fā)路由器和第一下游路由器之間建立的,所述加入請(qǐng)求表明待加入的多播組;響應(yīng)于發(fā)送的加入請(qǐng)求而接收組密鑰,所述組密鑰至少基于所述多播組;在轉(zhuǎn)發(fā)路由器和第一下游路由器之間建立組密鑰隧道;經(jīng)由組密鑰隧道接收封裝分組;使用所述組密鑰對(duì)封裝分組進(jìn)行密碼處理以便揭示多播分組,所述多播分組包括具有多播目的地地址的網(wǎng)際協(xié)議(IP)報(bào)頭;并且在接口上向?qū)?yīng)于所述多播目的地地址的至少一個(gè)多播接收方轉(zhuǎn)發(fā)所述多播分組。
19.如權(quán)利要求18所述的方法,包括在傳輸所述加入請(qǐng)求之后,從轉(zhuǎn)發(fā)路由器接收安全關(guān)聯(lián)參數(shù)。
20.如權(quán)利要求18所述的方法,其中,所述轉(zhuǎn)發(fā)路由器是發(fā)起多播分組的多播源。
21.如權(quán)利要求18所述的方法,其中,所述封裝分組包括單播IP報(bào)頭,所述單播IP報(bào)頭包括對(duì)應(yīng)于轉(zhuǎn)發(fā)路由器的源地址以及對(duì)應(yīng)于下游路由器的目的地地址。
22.如權(quán)利要求18所述的方法,包括確定所述轉(zhuǎn)發(fā)路由器是否支持組密鑰處理;以及如果所述轉(zhuǎn)發(fā)路由器支持組密鑰處理,則向所述轉(zhuǎn)發(fā)路由器發(fā)送加入請(qǐng)求,其中所述加入請(qǐng)求表明參與組密鑰方案。
23.如權(quán)利要求18所述的方法,其中所述單播隧道和所述組密鑰隧道是IP安全(IPsec)隧道。
24.一種用于在計(jì)算機(jī)網(wǎng)絡(luò)內(nèi)接收和發(fā)送分組的設(shè)備,所述設(shè)備被配置成經(jīng)由第一隧道從第一下游路由器接收第一加入請(qǐng)求,所述第一隧道是在第一下游路由器和轉(zhuǎn)發(fā)路由器之間建立的,所述第一加入請(qǐng)求表明待加入的多播組;經(jīng)由第一隧道向第一下游路由器發(fā)送至少基于所述多播組的組密鑰;使用所述組密鑰對(duì)第一分組進(jìn)行密碼處理以便生成封裝凈荷;向所述封裝凈荷添加第一報(bào)頭以便形成第一封裝分組,其中所述第一報(bào)頭包括與第一下游路由器相關(guān)聯(lián)的信息;基于所添加的第一報(bào)頭來(lái)建立與第一下游路由器的第二隧道;以及經(jīng)由所述第二隧道向第一下游路由器發(fā)送第一封裝分組。
25.如權(quán)利要求24所述的設(shè)備,其中,所述隧道包括網(wǎng)際協(xié)議安全(IPsec)隧道。
26.如權(quán)利要求24所述的設(shè)備,其中,所述網(wǎng)絡(luò)設(shè)備還被配置成響應(yīng)于所接收的第一加入請(qǐng)求,與第一下游路由器交換安全關(guān)聯(lián)參數(shù)。
27.一種用于在計(jì)算機(jī)網(wǎng)絡(luò)內(nèi)接收和發(fā)送分組的設(shè)備,所述設(shè)備被配置成經(jīng)由第一單播隧道從第一下游路由器接收第一加入請(qǐng)求,其中所述第一單播隧道是在第一下游路由器和轉(zhuǎn)發(fā)路由器之間建立的;經(jīng)由第二單播隧道從第二下游路由器接收第二加入請(qǐng)求,其中所述第二單播隧道是在第二下游路由器和轉(zhuǎn)發(fā)路由器之間建立的,其中所述第一和第二加入請(qǐng)求表明待加入的多播組;生成至少基于多播組的組密鑰;經(jīng)由所述第一單播隧道向第一下游路由器發(fā)送組密鑰;經(jīng)由所述第二單播隧道向第二下游路由器發(fā)送組密鑰;使用所述組密鑰對(duì)第一多播分組進(jìn)行密碼處理以便生成封裝凈荷;向封裝凈荷添加第一單播網(wǎng)際協(xié)議(IP)報(bào)頭以便形成第一封裝分組,其中所述第一單播IP報(bào)頭與第一下游路由器相關(guān)聯(lián);基于所添加的第一單播IP報(bào)頭來(lái)建立與第一下游路由器的第一組密鑰隧道;復(fù)制所述封裝凈荷;向復(fù)制的封裝凈荷添加第二單播網(wǎng)際協(xié)議(IP)報(bào)頭以便形成第二封裝分組,其中所述第二單播IP報(bào)頭與第二下游路由器相關(guān)聯(lián);基于所添加的第二單播IP報(bào)頭來(lái)建立與第二下游路由器的第二組密鑰隧道;經(jīng)由所述第一組密鑰隧道向第一下游路由器發(fā)送第一封裝分組;以及經(jīng)由所述第二組密鑰隧道向第二下游路由器發(fā)送第二封裝分組。
28.如權(quán)利要求27所述的設(shè)備,其中所述設(shè)備被配置成響應(yīng)于所接收的第一加入請(qǐng)求,確定先前是否已經(jīng)為所述多播組生成組密鑰;以及如果先前沒(méi)有為所述多播組生成組密鑰,則生成至少基于所述多播組的組密鑰。
29.一種用于在計(jì)算機(jī)網(wǎng)絡(luò)內(nèi)接收和發(fā)送分組的設(shè)備,包括用于經(jīng)由第一隧道從第二隧道端點(diǎn)接收加入請(qǐng)求的部件,所述第一隧道是在第一隧道端點(diǎn)和第二隧道端點(diǎn)之間建立的,所述加入請(qǐng)求表明待加入的多播組;用于經(jīng)由第一隧道向第二隧道端點(diǎn)發(fā)送至少基于所述多播組的組密鑰的部件;用于使用所述組密鑰對(duì)第一分組進(jìn)行密碼處理以便生成封裝凈荷的部件;用于向封裝凈荷添加報(bào)頭以形成封裝分組的部件,其中所述報(bào)頭包括與第二隧道端點(diǎn)相關(guān)聯(lián)的信息;用于基于所添加的報(bào)頭而在第一隧道端點(diǎn)和第二隧道端點(diǎn)之間建立第二隧道的部件;以及用于經(jīng)由所述第二隧道向第二隧道端點(diǎn)發(fā)送封裝分組的部件。
30.如權(quán)利要求29所述的設(shè)備,包括用于響應(yīng)于所接收的加入請(qǐng)求,在第二隧道端點(diǎn)和第一隧道端點(diǎn)之間交換安全參數(shù)的部件。
全文摘要
提供了經(jīng)由網(wǎng)絡(luò)的安全隧道多播發(fā)送和接收??梢詮牡诙淼蓝它c(diǎn)接收加入請(qǐng)求(600),所述加入請(qǐng)求表明待加入的多播組。可以把組密鑰發(fā)送給第二隧道端點(diǎn)(606),其中所述組密鑰至少基于所述多播組。可以對(duì)在第一隧道端點(diǎn)處接收的分組進(jìn)行密碼處理以便生成封裝凈荷(610)??梢韵蚍庋b凈荷添加報(bào)頭以便形成封裝分組(612),其中所述報(bào)頭包括與第二隧道端點(diǎn)相關(guān)聯(lián)的信息?;谔砑拥膱?bào)頭,隧道可以建立在第一隧道端點(diǎn)和第二隧道端點(diǎn)之間(613)。所述封裝分組可以經(jīng)由隧道傳輸至第二隧道端點(diǎn)(614)。所述第二隧道端點(diǎn)可以接收封裝分組(508)。封裝分組的密碼處理可以揭示具有第二報(bào)頭的分組(510,512)。然后可以在接口上向第二報(bào)頭中識(shí)別出的至少一個(gè)多播接收方轉(zhuǎn)發(fā)所述分組(516)。
文檔編號(hào)H04L29/06GK1890920SQ200480036352
公開(kāi)日2007年1月3日 申請(qǐng)日期2004年10月29日 優(yōu)先權(quán)日2003年10月31日
發(fā)明者格萊格里·M.·萊伯維茲, 劉昌明, 謝重耀 申請(qǐng)人:叢林網(wǎng)絡(luò)公司