• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于SDN的組播安全機制

      2020-10-28 01:48:28李旭陽國興昌劉寧春
      計算機技術(shù)與發(fā)展 2020年10期
      關(guān)鍵詞:數(shù)字證書接收者報文

      李旭陽,郜 帥,國興昌,劉寧春

      (北京交通大學(xué) 電子信息工程學(xué)院 下一代互聯(lián)網(wǎng)互聯(lián)設(shè)備國家工程實驗室,北京 100044)

      0 引 言

      組播是一種相對于單播的通信方式,它的主要用途是解決單播方式在一對多的通信場景下產(chǎn)生的資源消耗和占用大的問題。盡管組播在視頻直播、多媒體會議、股市行情流等場景下有重要的作用,但它在安全方面有較大的缺陷,容易遭到竊聽、盜用、拒絕服務(wù)等安全攻擊,導(dǎo)致了使用場景受限。

      在目前的IP組播安全領(lǐng)域中,主要的研究方向是組播的消息保護。為了加密組播信息,組播源和接收者需要擁有會話密鑰。此外,在組播場景中,接收者的數(shù)量和狀態(tài)處于動態(tài)變化中,為保證組播數(shù)據(jù)的前、后向保密性,需要動態(tài)地更新密鑰。目前密鑰的管理方案主要分為三大類:集中式、分散集中式和分布式。集中式方案只存在唯一的一個管理節(jié)點,統(tǒng)一進行密鑰的分配和更新,LKH是其中最為著名的方案[1],該方案通過建立一臺組控制器維護一棵邏輯密鑰樹,通過樹形的路徑向葉子節(jié)點上的成員分發(fā)密鑰。分散集中式通過建立多臺子控制器將組成員進行分組管理,典型代表是Iolus[2],它將一個名為GSC(組安全控制器)的實體設(shè)置為安全根節(jié)點,并將多個GSI(組安全中介)設(shè)置為中間管理節(jié)點,密鑰由GSC生成,并沿著GSI傳遞給每個接收者。分布式方案不建立額外的管理實體,密鑰由所有成員共同協(xié)商生成,這種方法實現(xiàn)較為困難,對成員和網(wǎng)絡(luò)的要求較高。

      從這些方案可以看出,IP組播與單播不同,在密鑰管理方面更為復(fù)雜。目前比較成熟的IP組播密鑰管理方案都是集中式的分層體系,這種集中化、層次化的思想與SDN(軟件定義網(wǎng)絡(luò),software defined network)[3]網(wǎng)絡(luò)架構(gòu)相似,又因為SDN控制器掌握著完整的網(wǎng)絡(luò)拓撲信息,因此更在建立組播樹方面更有優(yōu)勢[4],使得近些年出現(xiàn)了一批基于SDN的組播安全機制的研究[5]。這些方案提出將組播安全策略部署在SDN控制器上,利用SDN控制器在資源調(diào)度和拓撲發(fā)現(xiàn)的優(yōu)勢,來更好地實現(xiàn)安全組播通信的相關(guān)功能。

      SDN組播安全主要分為三個部分。第一部分是身份認證和訪問控制,目前國內(nèi)外出現(xiàn)了幾種不同的SDN組播認證方案。例如,Kici′nski模型[6]構(gòu)建了一個三層的SDN組播安全架構(gòu),用戶向高層組播應(yīng)用發(fā)送入組請求。與此方案的三層結(jié)構(gòu)不同,鄒劍鋒提出了一個兩層的SDN組播模型[7],通過IGMP實現(xiàn)組播接收者的入組,控制器負責(zé)用戶的認證和管理。此外,Leu提出了一種組播接收者的訪問控制方案[8],由組播源對接收者進行身份認證,然后提供身份認證令牌。田金川提出了一種基于端口的身份認證機制[9],通過向SDN控制器發(fā)送專用的挑戰(zhàn)/應(yīng)答報文,實現(xiàn)對該成員的訪問控制。根據(jù)這些方案的特點,可以發(fā)現(xiàn)它們都存在一些共同的缺點,即并不支持組播源的身份認證。第二部分是安全的路由協(xié)議,SDN控制器使用OpenFlow[10]或類似南向接口協(xié)議與交換機進行通信,根據(jù)OpenFlow規(guī)范,可以部署TLS[11]來保護控制器與交換機之間的信道。第三部分是組播數(shù)據(jù)的保護,在目前的SDN組播領(lǐng)域中還沒有涉及組播數(shù)據(jù)加密和密鑰管理方面的研究。

      綜合現(xiàn)有的SDN組播安全研究方案[12-13],認為其中存在以下兩方面缺陷:

      (1)身份認證方案不完善。一方面,現(xiàn)有的研究中缺少對于組播源的認證方案,這可能導(dǎo)致組播接收者收到來自虛假組播源的惡意消息。另一方面,大多數(shù)現(xiàn)有的認證方案需要多次握手來傳遞認證信息,認證過程復(fù)雜且導(dǎo)致了額外的延遲。

      (2)缺少消息加密機制?,F(xiàn)有的SDN組播安全機制研究中鮮有涉及組播消息的保護內(nèi)容,組播消息未加密會導(dǎo)致信息的泄漏,不符合一些安全性要求較高場景的需求。

      基于這兩方面的原因,該文提出了一種新的基于SDN的安全組播架構(gòu),以滿足特定場景下的高安全性組播需求。該方案對比現(xiàn)有SDN組播機制有以下方面的改進:基于數(shù)字證書的身份認證方法;同時支持組播源和組播接收者的身份認證;支持組播消息加密;集中式的密鑰管理機制,包括組播會話密鑰的生成、分配和更新。

      為了實現(xiàn)更快速的身份認證方法,該方案引入了數(shù)字證書機制,以降低組播源/接收者與SDN控制器之間因認證而產(chǎn)生的握手次數(shù)。在該方案中,每一個組播源/接收者都需要提前向SDN控制器申請一個數(shù)字證書,該證書可以區(qū)分申請者的身份類型,即組播源或接收者。擁有該證書之后,該組播源/接收者加入一個組播組時僅需要向SDN控制器發(fā)送其證書摘要,以完成身份認證。同時,該方案參考了IGMPv3協(xié)議[14]的組播加入方式,構(gòu)建了一種用于SDN組播的組播加入報文,用來承載身份認證信息和入組請求,使得認證和入組只需通過一個報文即可完成。

      組播消息加密需要一個組播組的所有組播源和接收者共享一個由SDN控制器生成并分發(fā)的會話密鑰。為了實現(xiàn)會話密鑰的安全分發(fā),SDN控制器分別使用組播源/接收者在申請數(shù)字證書過程中生成的公鑰對會話密鑰進行加密,通過單播進行分配。表1總結(jié)了該方案和前文提到的幾種SDN組播安全模型的基本特征,通過對比可以看出,該方案在安全性和方案的完整性上有明顯優(yōu)勢。

      表1 幾種SDN組播安全模型與該方案的對比

      1 基于SDN的安全組播機制設(shè)計

      1.1 系統(tǒng)拓撲

      根據(jù)SDN的體系結(jié)構(gòu),該方案的網(wǎng)絡(luò)體系結(jié)構(gòu)主要由兩部分組成。在控制平面上,SDN控制器負責(zé)身份認證、發(fā)放數(shù)字證書、管理密鑰和構(gòu)建組播路徑。在轉(zhuǎn)發(fā)平面上,SDN交換機負責(zé)根據(jù)SDN控制器發(fā)送的流表轉(zhuǎn)發(fā)數(shù)據(jù)包??刂破骱徒粨Q機之間的通信基于OpenFlow協(xié)議。方案拓撲如圖1所示。

      圖1 基于SDN的安全組播方案拓撲

      1.2 方案流程

      根據(jù)該方案的思路,一個完整的SDN安全組播流程需要包括以下幾個步驟:

      ·組播源/接收者向SDN控制器申請數(shù)字證書;

      ·組播源/接收者向SDN控制器構(gòu)建并發(fā)送組播加入和身份認證報文;

      ·SDN控制器處理報文的同時進行身份認證;

      ·SDN控制器向SDN交換機生成并下發(fā)流表,向組播源和接收者生成和分配組播會話密鑰;

      ·組播源和接收者通過組播會話密鑰進行加密組播通信;

      ·當(dāng)組播組發(fā)生變化時,SDN控制器更新流表和組播會話密鑰。

      下面對上述步驟進行具體描述。

      (1)數(shù)字證書申請。

      在該方案中,所有的組播源和組播接收者都需要向SDN控制器申請數(shù)字證書,申請時需要提供身份信息、代表組播源/接收者的標識以及自身的公鑰。

      SDN控制器收到此申請后會對身份信息進行審核,同時記錄其組播源/接收者身份,若審核通過則為其生成數(shù)字證書。隨后控制器對證書做摘要計算并用私鑰簽名,將證書與簽名一起頒發(fā)給相應(yīng)組播源和接收者,并將證書與摘要存入本地證書庫。

      組播源和接收者收到數(shù)字證書和證書摘要后首先用控制器公鑰對證書摘要進行解密,得到一個摘要值Hash1,然后使用證書中指定的簽名算法對證書進行摘要計算得到Hash2,若有Hash1=Hash2,則認為該證書真實可信并用作后續(xù)身份認證的憑證。

      (2)組播源/接收者入組。

      當(dāng)一個組播源或組播接收者要加入到一個組播組時,需要向SDN控制器發(fā)送組播加入和身份認證報文,報文格式如圖2所示。其中,加入/退出標識為0x11,當(dāng)此標識為0x22時表示組播離開報文;組播源/組播接收者類型標識表示主機加入組播組后要成為的角色,0x11表示組播源,0x22表示接收者,此字段應(yīng)與證書中的組播源/接收者標識符相對應(yīng)。當(dāng)前主機需要將自己的數(shù)字證書摘要值用SDN控制器的公鑰加密,放入加密的數(shù)字證書摘要字段,并將其長度寫入加密的數(shù)字摘要長度字段。該組播源/接收者將構(gòu)建好的報文發(fā)送給SDN控制器。

      圖2 組播加入和身份認證報文格式

      (3)身份認證和組播加入確認。

      SDN控制器收到組播加入和身份認證報文后,解析各個字段,確定報文類型、組播源/接收者類型、組播地址、組播源地址等信息,取出加密的數(shù)字證書摘要用私鑰解密,與證書庫中的摘要進行比較,若存在該記錄并且組播源/接收者類型無誤,則通過身份認證,確認該組播源/接收者加入。

      (4)流表下發(fā)和密鑰分配。

      當(dāng)一個組播組中同時存在至少一個組播源和接收者時,SDN控制器為該組播組計算和建立組播路徑,并向SDN交換機下發(fā)組播流表。同時,控制器為該組播組生成一個組播會話密鑰用來加、解密組播消息,分別用該組播組的組播源、接收者公鑰加密,以單播發(fā)送。組播源和接收者收到加密的組播會話密鑰,用自身私鑰解密。至此該組播組可以開始進行加密的組播通信,即組播源向組播地址發(fā)送用組播會話密鑰加密的組播消息,組播接收者向組播地址接收消息,用組播會話密鑰解密。

      一個組播組在進行組播通信的過程中,組播接收者會發(fā)生以下形式的變化:

      ·新的組播接收者加入;

      ·組播組內(nèi)的組播接收者離開。

      當(dāng)組播接收者需要進行上述操作時,需要向SDN控制器發(fā)送請求報文;SDN控制器需要驗證報文并更新組播路徑、下發(fā)新流表并更新組播會話密鑰,以保證前后向保密性。

      (5)組播組變化時的組播路徑與密鑰更新。

      當(dāng)一個正在進行組播通信的組播組有新的接收者加入或組內(nèi)接收者離開時,該接收者應(yīng)按照步驟2中所示方法構(gòu)建和發(fā)送組播加入(離開)和身份認證報文,其中加入/退出標識分別填寫0x11(加入)或0x22(離開),由SDN控制器接收并解析審核相應(yīng)信息。確認無誤后,SDN控制器會重新計算組播路徑,向SDN交換機下發(fā)新流表,并生成新的組播會話密鑰,加密分配給當(dāng)前組播組內(nèi)的組播源和接收者。相應(yīng)組播源和接收者解密獲得新的組播會話密鑰,使用此密鑰進行接下來的加密組播通信。

      上述流程示意如圖3所示。

      圖3 SDN組播安全方案流程示意圖

      2 仿真實驗和分析

      2.1 環(huán)境設(shè)置

      實驗在一臺服務(wù)器上安裝了開源SDN控制器軟件ONOS[15]作為SDN控制器,另一臺服務(wù)器安裝了Mininet軟件[16]通過Open vSwitch[17]虛擬出了四臺SDN交換機,連接拓撲如圖4所示,交換機與控制器之間通過OpenFlow協(xié)議通信,并開啟TLS選項。

      一臺主機作為組播源,與一臺SDN交換機相連,兩臺主機A和B作為組播接收者分別連接至另外兩臺不同的交換機,其中組播源和組播接收者A已取得SDN控制器頒發(fā)的數(shù)字證書,組播接收者B還未申請證書。此外,該方案在所有組播源和接收者上安裝了開源播放器軟件VLC作為組播數(shù)據(jù)流的輸入/輸出工具進行組播通信。

      2.2 功能測試

      2.2.1 組播源/接收者認證的實現(xiàn)

      在本測試環(huán)境中,已經(jīng)向SDN控制器申請過證書,并通過了身份認證的組播源和接收者A的信息保存在SDN控制器的身份信息數(shù)據(jù)庫中,如圖5所示,組播源B未向SDN控制器申請過數(shù)字證書。

      圖5 身份信息數(shù)據(jù)庫內(nèi)容

      此時,組播源、接收者A、接收者B構(gòu)建和發(fā)送組播加入和身份認證報文,由于接收者B未取得數(shù)字證書,因此報文中的數(shù)字證書摘要字段為空。SDN控制器接收請求后即建立組播路徑,其中包括了主機與交換機之間建立的接口。從圖6(a)中可見,SDN控制器為該組播組建立了以組播源為來源的入端口以及以接收者A為目的的出端口,與組播接收者B相連的端口未在其中。同時,通過圖6(b)的SDN交換機的狀態(tài)可以看出,SDN控制器已下發(fā)了組播流表,同樣轉(zhuǎn)發(fā)至組播接收者A所在端口,未向接收者B所在端口轉(zhuǎn)發(fā)。因此,該方案在測試環(huán)境下實現(xiàn)了SDN組播接收者的訪問控制。

      (a)SDN控制器端口狀態(tài)

      2.2.2 加密組播通信的實現(xiàn)

      組播源、組播接收者A和B都通過SDN控制器認證加入組播組,他們會收到SDN控制器發(fā)送的加密組播會話密鑰。組播源使用VLC播放器配置組播流輸出視頻源,并輸入解密后的會話密鑰,以生成加密的組播流。組播接收者A和B使用VLC播放器配置輸入流的組播地址和源地址,此時組播通信開始,但因接收者未輸入密鑰導(dǎo)致組播視頻無法正常播放。組播接收者A向VLC輸入解密過的組播會話密鑰后,組播視頻即可正常播放,接收者B仍然不能播放,反之亦然。以此證明該方案在實驗環(huán)境下實現(xiàn)了安全的加密通信。

      2.3 性能測試

      2.3.1 身份認證時延

      為測試身份認證對SDN組播造成的時延影響,本測試使用Mininet軟件虛擬出大量的主機當(dāng)作組播接收者,并逐漸增加接收者的數(shù)量,分別測量從組播接收者發(fā)出組播加入和身份認證報文到接收者收到組播流的時間間隔。作為對照,本測試在同等條件下測量了一般的SDN組播環(huán)境下從組播接收者發(fā)送IGMP報文到收到組播流的時間間隔。

      將兩種情況下的數(shù)據(jù)匯總起來得到如圖7(a)的結(jié)果。從圖中可以看出,認證過程的加入額外造成了少量的時延,但未對整體性能產(chǎn)生較大的影響。

      2.3.2 加解密時延

      為測試組播消息加密對SDN組播造成的時延影響,本測試選取了不同清晰度的視頻文件作為組播流,測量從組播源開始輸出加密組播視頻流到組播接收者正常播放解密視頻之間的時間間隔,結(jié)果如圖7(b)所示。由圖可見,即使是播放清晰度為1 080 P的高清視頻,整個過程也只需要2秒左右,加密對組播造成的時延對實際使用的影響有限。

      圖7 性能測試結(jié)果

      3 結(jié)束語

      提出了一種基于SDN的安全組播方案,其中包括了組播源/接收者的身份認證和組播消息的加密傳輸兩大方面內(nèi)容。針對現(xiàn)有SDN組播安全方案中組播接收者的認證過程復(fù)雜,并且不對組播源進行身份認證的問題,提出了一種基于數(shù)字證書的身份認證機制,通過一種新的組播加入和身份認證報文實現(xiàn)組播源和接收者的入組請求和身份認證,保證組播源和接收者身份的真實性。為了實現(xiàn)組播消息的加密傳輸,該方案為SDN控制器加入了密鑰管理的功能,包括組播會話密鑰的生成、分配、更新,保證了組播消息的機密性。仿真結(jié)果表明,該方案可以實現(xiàn)有效拒絕非法組播源/接收者入組,并實現(xiàn)加密組播功能,性能測試結(jié)果顯示,因安全機制造成的時延對實際使用的影響有限,該方案對解決組播安全問題有一定實用價值。

      猜你喜歡
      數(shù)字證書接收者報文
      基于J1939 協(xié)議多包報文的時序研究及應(yīng)用
      汽車電器(2022年9期)2022-11-07 02:16:24
      CTCS-2級報文數(shù)據(jù)管理需求分析和實現(xiàn)
      淺析反駁類報文要點
      中國外匯(2019年11期)2019-08-27 02:06:30
      單粒子未知態(tài)的分級量子通信
      當(dāng)心黑客利用數(shù)字證書的漏洞
      基于數(shù)字證書的軍事信息系統(tǒng)安全防護方案
      ATS與列車通信報文分析
      管理好系統(tǒng)中的數(shù)字證書
      電腦迷(2015年7期)2015-05-30 04:50:35
      吉林省支付清算系統(tǒng)參與者數(shù)字證書使用現(xiàn)狀調(diào)查與現(xiàn)存問題分析及建議
      淺談信息接收者反饋不當(dāng)現(xiàn)象及對策
      镶黄旗| 凌云县| 阳谷县| 东台市| 平凉市| 河西区| 崇仁县| 宁海县| 尼勒克县| 温州市| 伊金霍洛旗| 三穗县| 武城县| 苍梧县| 三明市| 潜江市| 恭城| 香港 | 黔江区| 高雄市| 大洼县| 石嘴山市| 贺兰县| 商丘市| 佛教| 双城市| 仁布县| 无极县| 南康市| 华宁县| 怀化市| 格尔木市| 京山县| 余江县| 平顺县| 时尚| 蒙阴县| 九寨沟县| 寿阳县| 库伦旗| 恭城|