魏凌波,馮曉兵,張馳,盛化龍,俞能海
(1. 中國(guó)科學(xué)技術(shù)大學(xué)信息科學(xué)技術(shù)學(xué)院中國(guó)科學(xué)院電磁空間信息重點(diǎn)實(shí)驗(yàn)室,安徽 合肥 230026;2. 中國(guó)科學(xué)院信息工程研究所信息安全國(guó)家重點(diǎn)實(shí)驗(yàn)室,北京 100093)
網(wǎng)絡(luò)功能如防火墻(firewall)、網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT,network address translation)、深度分組檢測(cè)[1](DPI,deep packet inspection)通常是指在源主機(jī)和目的主機(jī)之間除了交換機(jī)和路由器之外的其他中間設(shè)備(middleboxes)實(shí)現(xiàn)的功能,是現(xiàn)代網(wǎng)絡(luò)的重要組成部分。圖1顯示了包括防火墻、負(fù)載均衡(LB,load balance)在內(nèi)的幾個(gè)常用的網(wǎng)絡(luò)功能。但傳統(tǒng)的網(wǎng)絡(luò)功能由硬件實(shí)現(xiàn),存在著成本高、靈活性低和管理復(fù)雜等問題,而網(wǎng)絡(luò)功能虛擬化可以解決上述問題。
網(wǎng)絡(luò)功能虛擬化[2]把由硬件實(shí)現(xiàn)的網(wǎng)絡(luò)功能轉(zhuǎn)變?yōu)檐浖?shí)現(xiàn),可以降低成本并且提高網(wǎng)絡(luò)功能的靈活性和擴(kuò)展性,目前,被世界各地越來越多的組織所采用。近些年,隨著云計(jì)算的發(fā)展,人們探索了網(wǎng)絡(luò)功能外包部署的新模型,嘗試由第三方代理來提供網(wǎng)絡(luò)功能作為服務(wù)。目前,上述網(wǎng)絡(luò)功能已經(jīng)可以托管在公共云或嵌入在互聯(lián)網(wǎng)服務(wù)提供商(ISP,Internet service provider)基礎(chǔ)設(shè)施內(nèi)的私有云中。將網(wǎng)絡(luò)功能外包到云,可以獲得云計(jì)算技術(shù)帶來的優(yōu)勢(shì),如降低成本和易于管理等。
然而,網(wǎng)絡(luò)功能外包的同時(shí),也對(duì)企業(yè)的隱私信息帶來了挑戰(zhàn)。在外包的過程中,未加密的通信流量和網(wǎng)絡(luò)功能策略暴露給云服務(wù)商。因此,外包框架需要提供保密性、與現(xiàn)有基礎(chǔ)設(shè)施的兼容性并具有高吞吐量。利用前綴保持的加密(prefix-preserving encryption)方案[3]匿名化 IP地址,本文提出了一種具有隱私保護(hù)的網(wǎng)絡(luò)功能外包系統(tǒng)(PPNFO,privacy preserving network function outsourcing),它實(shí)現(xiàn)了企業(yè)向云服務(wù)商外包多個(gè)網(wǎng)絡(luò)功能,同時(shí)保護(hù)了通信流量和網(wǎng)絡(luò)功能策略的隱私性。相比其他同類解決方案,它具有以下優(yōu)勢(shì)。
1) 允許云服務(wù)商執(zhí)行 IP地址匹配(例如,IP地址是否在子域128.0.0.0/24)或端口匹配(例如,端口是否在500~1 000范圍內(nèi))。
2) 不僅保護(hù)網(wǎng)絡(luò)功能策略的隱私,還保護(hù)了通信流量的隱私。而目前大多數(shù)的解決方案只考慮了網(wǎng)絡(luò)功能策略的隱私保護(hù),存在流量信息泄露給云服務(wù)商的問題。
3) 云服務(wù)商處理的是加密的流量,所以很難進(jìn)行探測(cè)攻擊。
圖1 網(wǎng)絡(luò)功能示例
現(xiàn)有的網(wǎng)絡(luò)功能外包的研究工作大體分為以下 3類:1) 提出網(wǎng)絡(luò)功能外包的系統(tǒng)架構(gòu);2) 實(shí)現(xiàn)網(wǎng)絡(luò)功能外包中策略的隱私保護(hù);3) 實(shí)現(xiàn)網(wǎng)絡(luò)功能外包中通信流量的隱私保護(hù)。
網(wǎng)絡(luò)功能外包系統(tǒng)架構(gòu)的研究主要有Sherry等[4]提出的 APLOMB系統(tǒng)架構(gòu)和 Gibb等[5]的方案。APLOMB系統(tǒng)將網(wǎng)絡(luò)功能外包到云服務(wù)商,把流入和流出企業(yè)的數(shù)據(jù)流重定向到云端。文獻(xiàn)[5]的方案可以使企業(yè)將網(wǎng)絡(luò)功能外包到外部功能提供者,企業(yè)只需要轉(zhuǎn)發(fā)數(shù)據(jù),其他處理全部由外部功能提供者來執(zhí)行;任何人都可以作為網(wǎng)絡(luò)服務(wù)提供者,沒有位置的限制。但這2種架構(gòu)都沒有考慮隱私保護(hù)問題。
基于上述架構(gòu),很多保護(hù)網(wǎng)絡(luò)功能策略隱私的方案被提出來。文獻(xiàn)[6]提出了Ladon,將原始訪問策略轉(zhuǎn)換為防火墻決策圖,并使用Bloom filters算法對(duì)防火墻決策圖進(jìn)行匿名化。但Ladon不能阻止公共云通過自由探測(cè)或僅僅通過傳輸竊聽和分析來推導(dǎo)出原始的防火墻策略。文獻(xiàn)[7]提出的Ladon混合云增強(qiáng)了Ladon的保密性,但用戶仍需要在私有云中維護(hù)防火墻,且Ladon混合云已被證明是不安全的。Shi等[8]提出了使用加密多線性映射[9]來模糊原始防火墻規(guī)則的框架 SOFA,云服務(wù)商通過過濾入站和出站通信來執(zhí)行防火墻功能,但不能恢復(fù)原始的防火墻規(guī)則。SOFA還容易受到探測(cè)攻擊,存在安全漏洞[10]。文獻(xiàn)[11]提出的方案考慮了防火墻和其他如負(fù)載均衡器、載波級(jí)NAT、入侵檢測(cè)系統(tǒng)和深度分組檢測(cè)等網(wǎng)絡(luò)功能。以上方案的缺點(diǎn)是部分網(wǎng)絡(luò)功能外包給云,用戶仍需要用自己的中間盒來執(zhí)行剩余的網(wǎng)絡(luò)功能,系統(tǒng)的通信開銷和計(jì)算成本較高,沒有考慮到通信流量隱私保護(hù)。
為了保護(hù)通信流量的隱私性,文獻(xiàn)[12]提出了BlindBox框架,通過使用HTTPS協(xié)議利用中間盒進(jìn)行通信,兼顧了網(wǎng)絡(luò)功能策略隱私和通信流量隱私安全。但 BlindBox支持的外包中間盒少,而且不適用于短期連接的應(yīng)用程序。基于BlindBox,文獻(xiàn)[13]提出了一種支持多種網(wǎng)絡(luò)功能外包方法Embark,它提出了加密方案PrefixMatch,可以使服務(wù)商快速執(zhí)行前綴匹配,保證了加密分組的有效性。但該方案只能在明文域處理復(fù)雜的操作(除了允許/阻止)。Asghar等[14]提出了SplitBox,利用云虛擬機(jī)的分布式特性,給出了網(wǎng)絡(luò)功能的抽象定義,并利用幾個(gè)云為用戶提供網(wǎng)絡(luò)功能的協(xié)同計(jì)算。然而,該方案增加了系統(tǒng)的復(fù)雜性,且不支持網(wǎng)絡(luò)功能服務(wù)鏈的外包。
以上3類工作的安全性逐步提高,但所采用的加解密方法的計(jì)算復(fù)雜度仍有可降低的空間,對(duì)用戶信息的隱私保護(hù)也有待加強(qiáng)?;谇熬Y保持的加密方法,本文提出了一種隱私保護(hù)的網(wǎng)絡(luò)功能外包系統(tǒng),同時(shí)實(shí)現(xiàn)了對(duì)用戶網(wǎng)絡(luò)功能策略和通信流量的隱私保護(hù),而且比同類方案具有更高的吞吐量和更低的時(shí)延。
本文系統(tǒng)使用了APLOMB[4]架構(gòu),將企業(yè)通信流量重定向到云服務(wù)商。圖2是APLOMB的通信模型:通信流量先被網(wǎng)關(guān)發(fā)送到云服務(wù)商,經(jīng)過云服務(wù)商完成相關(guān)的處理之后,再返回到企業(yè)網(wǎng)關(guān)。特別地,若2個(gè)企業(yè)之間共享了密鑰,通信流量信息經(jīng)過云服務(wù)商處理之后便不再需要返回企業(yè)網(wǎng)關(guān)進(jìn)行解密操作。
圖2 APLOMB的通信模型
這里,假設(shè)云服務(wù)商是“誠(chéng)實(shí)且好奇”的,或稱之為“被動(dòng)”攻擊者[15]。不同于“主動(dòng)”攻擊者會(huì)惡意操縱數(shù)據(jù)、破壞正常運(yùn)行的協(xié)議,“被動(dòng)”攻擊者會(huì)按照企業(yè)的要求提供很好的服務(wù),并具有所有數(shù)據(jù)的訪問權(quán)限,包括從網(wǎng)關(guān)接收到的通信流量和網(wǎng)絡(luò)功能策略信息。另外,由于網(wǎng)關(guān)是由企業(yè)進(jìn)行管理和維護(hù)的,本文假設(shè)網(wǎng)關(guān)是可以被信任的,不會(huì)泄露任何信息。
本文主要討論包括防火墻、網(wǎng)絡(luò)地址轉(zhuǎn)換、負(fù)載均衡在內(nèi)的網(wǎng)絡(luò)核心功能,用Enc表示一個(gè)通用加密協(xié)議,SIP表示源 IP地址,DIP表示目的 IP地址,SP表示源端口號(hào),DP表示目的端口號(hào),P表示協(xié)議,(SIP,DIP,SP,DP,P)表示一個(gè)連接的五元組,(SIP[],DIP[],SP[],DP[],P)表示一個(gè)規(guī)則。
來自不同供應(yīng)商的防火墻可能具有顯著不同的配置和規(guī)則,因此,需要提取出防火墻的一般模型。使用文獻(xiàn)[16]中的模型,防火墻由多個(gè)訪問控制列表(ACL,access control list)組成,每個(gè)ACL由一個(gè)規(guī)則組成,規(guī)則可以用形式(謂詞,動(dòng)作)解釋。其中,謂詞定義為源/目標(biāo) IP地址和端口以及協(xié)議的范圍的組合,可能的動(dòng)作集合包括“接受”和“拒絕”。一般防火墻具有以下性質(zhì)。
典型的NAT將一對(duì)源IP和端口轉(zhuǎn)換為一對(duì)外部源IP和端口。一般來說,NAT有以下要求。
1)相同的一對(duì)源 IP和端口應(yīng)映射到相同的外部源IP和端口。
2)不同的一對(duì)源 IP和端口不應(yīng)映射到相同的外部源IP和端口。
以下性質(zhì)可以滿足以上2個(gè)要求。
負(fù)載均衡維護(hù)一個(gè)服務(wù)器池,可分為L(zhǎng)3LB和L4LB。兩者均要滿足以下特性:相同的五元組應(yīng)該轉(zhuǎn)發(fā)到相同的服務(wù)器,即相同的五元組應(yīng)具有相同的加密結(jié)果,不同的五元組加密結(jié)果則不同。
通過以上分析可以發(fā)現(xiàn),以防火墻、NAT、LB為代表的網(wǎng)絡(luò)功能都是對(duì)五元組進(jìn)行操作。以防火墻為例,它查看數(shù)據(jù)分組的頭部,按照數(shù)據(jù)分組的源地址和目的地址來決定數(shù)據(jù)分組應(yīng)該接受還是拒絕。這類網(wǎng)絡(luò)功能在本地會(huì)事先生成一個(gè)規(guī)則列表,每個(gè)規(guī)則對(duì)應(yīng)相應(yīng)的動(dòng)作。云服務(wù)商按照規(guī)則對(duì)往來的數(shù)據(jù)分組進(jìn)行匹配。
PPNFO包含4個(gè)階段:第一階段是策略加密階段,由企業(yè)完成線下操作,不需要實(shí)時(shí)性;第二階段是通信流量加密階段,由企業(yè)的管理員在本地完成;第三階段是匹配階段,由云服務(wù)商來完成;第四階段是通信流量解密階段,在本地完成。PPNFO應(yīng)用了基于前綴保持的加密方法,可以使云服務(wù)商執(zhí)行IP地址前綴匹配或端口匹配。圖3是PPNFO系統(tǒng)的處理流程。
云服務(wù)商按照規(guī)則對(duì)往來的數(shù)據(jù)分組進(jìn)行匹配,匹配方式可以分為2種,精確匹配和間隔匹配,例如,檢查五元組是否滿足(SIP1,SP1,DP1,P1,SIP1)=(SIP2,DIP2,SP2,DP2,P2),這屬于精確匹配;檢測(cè)端口范圍是否在1 000~2 000之間或一個(gè)IP是否屬于56.24.67.0/16,這屬于間隔匹配。間隔匹配可以定義成形式為f[a,b](x)的布爾函數(shù),當(dāng)且僅當(dāng)x∈[a,b]時(shí)返回真。精確匹配是間隔匹配的一種特殊的情況,更容易實(shí)現(xiàn)。本文提出了有效解決前綴表示的間隔匹配的方法,也可用于精確匹配。
對(duì)于不是用前綴來表示的規(guī)則,首先,要將其轉(zhuǎn)換為前綴表示。舉例來說,間隔[32,111],用 8位二進(jìn)制表示為[00100000,01101111],可以轉(zhuǎn)換成一組前綴的表示形式{001*,010*,0110*}。驗(yàn)證一個(gè)數(shù)是否在這個(gè)間隔中,等價(jià)于驗(yàn)證這個(gè)數(shù)是否和某一個(gè)前綴匹配。例如,37(二進(jìn)制表示為00100101)與前綴 001*匹配,則屬于這個(gè)間隔;128(二進(jìn)制表示為 10000000)不匹配任意一個(gè)前綴,則說明128不屬于這個(gè)間隔。算法1給出了如何把間隔表示轉(zhuǎn)換成前綴表示的方法。
算法1 生成前綴
輸入 [p1p2…pn,q1q2…qn]
步驟1 form=1 tondo
步驟 2 ifpm<qmthen
步驟3 記下m,break
步驟4 end if
步驟5 end for
步驟6 if 找不到m
步驟7 returnp1p2…pn
步驟 8 else if 所有的i∈[m,n],pi= 0,qi= 1 then
步驟9 returnp1p2…pm-1*
步驟10 else
步驟 11 把[p1p2…pn,q1q2…qn]轉(zhuǎn)變?yōu)閇p1p2…pm-10pm+1…pn,q1q2…qm-1011…1]和[p1p2…pm-1100…0,q1q2…qm-10qm+1…qn]
步驟 12 將[pm+1…pn,11…1]和[100…0,qm+1…qn]作為輸入,從步驟1開始執(zhí)行,分別產(chǎn)生前綴
步驟13 return所有前綴
步驟14 end if
接下來,介紹由文獻(xiàn)[3]提出的前綴保持加密。對(duì)前綴保持加密的定義如下,假設(shè)a和b有kbit相同的前綴,則加密后的密文E(a)和E(b)也應(yīng)具有kbit相同的前綴。如果明文可以取n位數(shù)的任何值,則整個(gè)明文集合可以由高度為n的完整二叉樹表示,稱為明文樹。注意到,整個(gè)可能的IPv4地址集合可以由高度為32的完整二叉樹表示,每個(gè)地址由葉子節(jié)點(diǎn)表示。該樹中的每個(gè)節(jié)點(diǎn)(不包括根節(jié)點(diǎn))對(duì)應(yīng)于一個(gè)由節(jié)點(diǎn)的高度指示的比特位置和由父節(jié)點(diǎn)的分支方向指示的比特值。圖4(a)即一棵明文樹。
圖3 PPNFO系統(tǒng)的處理流程
文獻(xiàn)[3]提出的加密方法可以看作對(duì)明文樹的非葉子節(jié)點(diǎn)(包括根節(jié)點(diǎn))指定一個(gè)二進(jìn)制變量。此變量決定加密函數(shù)是否改變這個(gè)點(diǎn)的值。應(yīng)用了加密函數(shù)后,明文樹變成了密文樹。圖4(b)表示加密樹,圖4(c)表示經(jīng)過圖4(b)處理后的密文樹。從圖4中可以看出,2個(gè)明文串001和010具有1 bit相同的前綴,加密后分別為111和100,同樣具有1 bit相同的前綴。
用 fi來表示加密函數(shù),i=1,2,…,n-1,f0是一個(gè)常數(shù)函數(shù)。a=a1a2…an表示明文,密文用a'=a'1a'2…a'n來表示。對(duì)于每一個(gè)a'i,計(jì)算a'i=ai⊕fi-1(a1a2…ai-1),然后得到密文a'=a'1a'2…a'n。
所使用的fi定義為其中,L返回“最低有效位”。R是偽隨機(jī)函數(shù)或偽隨機(jī)置換,如文獻(xiàn)[17]。P是填充函數(shù),擴(kuò)展a1a2…ai為一個(gè)與R的塊大小匹配的更長(zhǎng)的字符串。k是偽隨機(jī)函數(shù)R中使用的密鑰,其長(zhǎng)度應(yīng)該遵循偽隨機(jī)函數(shù)的要求。
基于前綴保持的加密方法,提出的 PPNFO系統(tǒng)不僅可以支持防火墻的外包,還可用于NAT、負(fù)載均衡的外包。該系統(tǒng)主要由4個(gè)階段組成。
1) 策略加密階段
此階段的主要目的是保護(hù)網(wǎng)絡(luò)策略的隱私性,該部分操作是非交動(dòng)的,在企業(yè)本地完成。網(wǎng)絡(luò)功能策略不發(fā)生變化的情況下,該階段只需在初始化時(shí)執(zhí)行一次。另外該系統(tǒng)支持策略的實(shí)時(shí)更新。策略更新之前,網(wǎng)關(guān)要向云服務(wù)商發(fā)送信號(hào)。然后,網(wǎng)關(guān)對(duì)新的網(wǎng)絡(luò)策略進(jìn)行加密處理并發(fā)送給云服務(wù)商。在這段時(shí)間內(nèi),云服務(wù)商基于舊的網(wǎng)絡(luò)策略對(duì)通信流量進(jìn)行處理。一旦網(wǎng)關(guān)將所有待更新的策略處理完,便向云服務(wù)商發(fā)送信號(hào),要求它交換新的數(shù)據(jù)。收到信號(hào)之后的云服務(wù)商處理完當(dāng)前的通信流量后,便更換所有新的網(wǎng)絡(luò)策略,并通知網(wǎng)關(guān)策略已經(jīng)更新。前綴保持加密算法如算法2所示。
算法2 前綴保持加密
輸入 [p1p2…pi]
步驟1 for i=1 to n do
步驟 2 p'i=pi⊕gi-1(p1p2…pi-1)
步驟3 return p'1p'2…p'i-1
2) 通信流量加密階段
對(duì)于往來的通信流量,企業(yè)的管理員仍要對(duì)其進(jìn)行加密,然后發(fā)送給云服務(wù)商。對(duì)網(wǎng)絡(luò)功能策略和通信流量的雙重加密,使云服務(wù)商無法獲取企業(yè)的隱私信息,進(jìn)一步確保了系統(tǒng)的安全性。
以一個(gè)數(shù)據(jù)分組為例,對(duì)于到達(dá)企業(yè)網(wǎng)關(guān)的數(shù)據(jù)分組,首先提取出與網(wǎng)絡(luò)策略相關(guān)的域。本文選擇源IP、目的IP、源端口和目的端口,然后進(jìn)行加密處理。加密后的域重新填充到數(shù)據(jù)分組覆蓋掉原來的值,得到新的數(shù)據(jù)分組,最后將其發(fā)送給云服務(wù)商。具體如算法3所示。
算法3 通信流量加密
輸入 原始通信流量 x
步驟1 取出 SIP,DIP,SP,DP
步驟2 then 轉(zhuǎn)換 SIP,DIP,SP,DP為二進(jìn)制形式
步驟3 加密SIP,DIP,SP,DP 得到SIP',DIP',SP',DP'
步驟4 將 SIP,DIP,SP,DP替換為 SIP',DIP',SP',DP'
步驟5 return x'
3) 匹配階段
圖4 前綴保持加密示例
此階段由云服務(wù)商來完成,由于需要處理大量實(shí)時(shí)的數(shù)據(jù)分組,所以對(duì)性能的要求很高。對(duì)于每個(gè)到來的數(shù)據(jù)分組,云服務(wù)商對(duì)其進(jìn)行匹配操作。若策略匹配的結(jié)果為“拒絕”,則直接丟棄數(shù)據(jù)分組;若為“接受”,則將數(shù)據(jù)分組返回企業(yè)網(wǎng)關(guān)。具體如算法4所示。
算法4 匹配
輸入 通信流量 x'、策略 r'
步驟1 for i =1 to n do
步驟2 ri'={SIPi',DIPi',SPi',DPi'}
步驟3 ifSIP'= SIPi',DIP' = DIPi',SP'=SPi',DP' = DPi'
步驟4 x'= ri'
步驟5 else
步驟6 下一條策略
4) 通信流量解密階段
云服務(wù)器在完成通信流量匹配之后,會(huì)將符合規(guī)則的數(shù)據(jù)分組返回企業(yè)網(wǎng)關(guān)。由于網(wǎng)關(guān)之前對(duì)這個(gè)數(shù)據(jù)分組進(jìn)行了加密操作,所以仍需要解密還原出原始的數(shù)據(jù)分組,然后將數(shù)據(jù)分組發(fā)送到對(duì)應(yīng)的目的地址。具體如算法5所示。
算法5 解密
輸入 [p'1p'2…p'n]
步驟1 for i =1 to n do
步驟 2 pi= p'i⊕gi-1(p'1p'2…p'i-1)
步驟3 return p1p2…pn
這里,假設(shè)企業(yè)網(wǎng)絡(luò)和外部網(wǎng)絡(luò)、云服務(wù)商之間的連接是在公共網(wǎng)絡(luò)上,所以攻擊者可以竊聽并下載加密的消息。本節(jié)分析基于前綴保持加密方案的安全性。文獻(xiàn)[3]已經(jīng)證明式(1)實(shí)現(xiàn)的功能和一個(gè)隨機(jī)的前綴保持函數(shù)是相同的。而且如4.2節(jié)中所述,當(dāng)明文可以取任意n bit的值時(shí),前綴保持加密函數(shù)分組含 2n-1個(gè)二進(jìn)制變量。所以,密鑰有 22n-1種可能性。例如,若n為16,則可能的密鑰有2265535種。因此,式(1)中的k有足夠多的選擇域,攻擊者通過暴力攻擊的手段破解系統(tǒng)是不切實(shí)際的。
對(duì)于已知明文攻擊,由于加密機(jī)制具有前綴保持的特性,攻擊者可以從其他密文里推斷信息。例如,如果攻擊者獲取一個(gè)明文密文對(duì)然后知道另一個(gè)密文那么攻擊者將會(huì)知道k位前綴對(duì)應(yīng)的明文是注意,如果攻擊者知道一個(gè)明文密文對(duì)也會(huì)知道另外一個(gè)明文密文對(duì)所以,攻擊者總是知道偶數(shù)對(duì)<明文,密文>。
假設(shè)攻擊者知道2對(duì)<明文,密文>。給定一個(gè)隨機(jī)的密文,使A(n)表示可以推斷出來的前綴的平均長(zhǎng)度。明文的 k bit前綴被推斷出的概率是若k=n,則概率是因此,有
即如果已知2對(duì)<明文,密文>,而攻擊者從一個(gè)隨機(jī)的密文上推斷出的信息平均不超過2 bit。
若攻擊者已知k對(duì)<明文,密文>。當(dāng)n→∞時(shí),給定一個(gè)密文,攻擊者可以推斷出的平均長(zhǎng)度為lbk+2[3]。因此,攻擊者通過比較一個(gè)密文和已知的<明文,密文>獲取的前綴信息是有限的。所以,即使攻擊者獲取到了一些<明文,密文>,系統(tǒng)也是安全的。當(dāng)然,這對(duì)系統(tǒng)來說是一個(gè)潛在的威脅,因?yàn)楣粽吡私飧嗟模济魑?密文>對(duì),就會(huì)推斷出更多的信息。因此在使用過程中,可以定期更新密鑰,這時(shí)攻擊者了解的<明文,密文>便沒有任何用處。
綜上,本文采用的前綴加密方法可以有效地抵抗攻擊者的暴力攻擊和已知明文攻擊;在面對(duì)“誠(chéng)實(shí)且好奇”的云端服務(wù)器時(shí),可以保護(hù)企業(yè)網(wǎng)絡(luò)功能策略和通信流量的隱私性。
硬件環(huán)境:CPU是Intel(R) Core i3-4130,內(nèi)存是DDR3 12 GB,硬盤是1 TB 7 200轉(zhuǎn)/秒。開發(fā)環(huán)境:開發(fā)操作系統(tǒng)使用了 Ubuntu14.04,開發(fā)語言及工具分別為C/C++、Click模塊路由器。
Embark和SplitBox實(shí)現(xiàn)了與PPNFO系統(tǒng)相同的隱私保護(hù)功能,它們對(duì)通信流量和網(wǎng)絡(luò)功能策略進(jìn)行了加密,具有很高的安全性。在本節(jié)中,將這2種方案與本文系統(tǒng)作比較。由于策略加密階段是在本地完成的,對(duì)網(wǎng)絡(luò)功能外包性能的影響可以忽略不計(jì),3種方案的此階段不作比較,而主要比較通信流量加密階段和匹配階段的性能。
1) 策略加密階段的開銷
圖5顯示了PPNFO隨著網(wǎng)絡(luò)功能策略數(shù)量的增加平均時(shí)間成本的變化。策略加密階段只需要一次而且只在網(wǎng)絡(luò)策略變化時(shí)才會(huì)進(jìn)行加密。從圖 5中可以看出,隨著網(wǎng)絡(luò)策略的數(shù)量增長(zhǎng),時(shí)間開銷大致呈線性增加。PPNFO加密30個(gè)防火墻策略的時(shí)間約為4.08 ms。這個(gè)時(shí)間很短,完全不會(huì)影響網(wǎng)絡(luò)功能外包的性能。
圖5 策略加密階段開銷實(shí)驗(yàn)結(jié)果
2) 通信流量加密階段的開銷
對(duì)于每個(gè)傳入和傳出的數(shù)據(jù)分組,需要實(shí)時(shí)地進(jìn)行通信流量加密。圖6顯示出了PPNFO通信流量加密時(shí)間隨著數(shù)據(jù)分組增長(zhǎng)的時(shí)間開銷。為了驗(yàn)證PPNFO可以實(shí)時(shí)地進(jìn)行通信流量加密,實(shí)驗(yàn)中分別采用 101、102、103、104、105個(gè)數(shù)據(jù)分組計(jì)算時(shí)間代價(jià),可以看到,在數(shù)據(jù)分組數(shù)量不大的情況下,計(jì)算耗時(shí)與數(shù)據(jù)分組數(shù)量幾乎呈線性關(guān)系,在數(shù)據(jù)量較大時(shí)甚至整體性能要優(yōu)于線性復(fù)雜度。這種性能已經(jīng)符合通信流量處理的實(shí)時(shí)性要求,且處理相同數(shù)量的數(shù)據(jù)分組,PPNFO用時(shí)最少。
圖6 通信流量加密階段開銷實(shí)驗(yàn)結(jié)果
3) 匹配階段的開銷
匹配階段包括執(zhí)行策略檢查以及將分組返回給網(wǎng)關(guān)。PPNFO與其他2種方案的匹配時(shí)間隨著防火墻策略數(shù)量的變化曲線如圖7所示。本實(shí)驗(yàn)執(zhí)行了1 000萬個(gè)數(shù)據(jù)分組,從圖7中可以看出,3種方案的匹配時(shí)間都隨著防火墻策略數(shù)量的增加而增加。但在防火墻策略數(shù)量相同的情況下,PPNFO實(shí)驗(yàn)效果最優(yōu)。
圖7 時(shí)間開銷隨網(wǎng)絡(luò)功能策略數(shù)量變化
3種方案的網(wǎng)絡(luò)吞吐量隨著防火墻策略數(shù)量的變化曲線如圖8所示。這里,吞吐量的單位是Gbit/s,代表了系統(tǒng)所能達(dá)到的傳輸速率。從圖8中可看出,隨著防火墻策略數(shù)量的增加,3種方案的吞吐量都在降低。在網(wǎng)絡(luò)功能策略數(shù)目相同的前提下,PPNFO吞吐量最大,大約是其他2種方案的1.5倍。
圖8 3種方案的吞吐量比較
目前,網(wǎng)絡(luò)功能已經(jīng)成為人們生活中不可或缺的一部分。隨著網(wǎng)絡(luò)功能虛擬化和云計(jì)算技術(shù)的發(fā)展,越來越多的企業(yè)將自己的網(wǎng)絡(luò)功能外包給云服務(wù)商來實(shí)現(xiàn)和維護(hù)。然而,在網(wǎng)絡(luò)功能外包的過程中,存在著安全隱患。本文利用前綴保持的加密方案設(shè)計(jì)和實(shí)現(xiàn)了網(wǎng)絡(luò)功能外包系統(tǒng),解決了網(wǎng)絡(luò)功能外包中的隱私保護(hù)問題。最后以防火墻為測(cè)試用例進(jìn)行了實(shí)驗(yàn)驗(yàn)證,結(jié)果表明 PPNFO比同類方案具有更高的吞吐量和更低的時(shí)延,降低了企業(yè)和云服務(wù)商的成本。
參考文獻(xiàn):
[1]于強(qiáng),霍紅衛(wèi). 一組提高存儲(chǔ)效率的深度包檢測(cè)算法[J]. 軟件學(xué)報(bào),2011,22(1): 149-163.YU Q,HUO H W. Algorithms improving the storage efficiency of deep packet inspection[J]. Journal of Software,2011,22(1): 149-163.
[2]袁泉,湯紅波,黃開枝,等. 基于Q-learning算法的vEPC虛擬網(wǎng)絡(luò)功能部署方法[J]. 通信學(xué)報(bào),2017,38(8): 172-182.YUAN Q,TANG H B,HUANG K Z,et al. Deployment method for vEPC virtualized network function via Q-learning[J]. Journal on Communications,2017,38(8):172-182.
[3]XU J,FAN J,AMMAR M H,et al. Pre fi x-preserving IP address anonymization: measurement-based security evaluation and a new cryptography-based scheme[C]//10th IEEE International Conference on Network Protocols. 2002: 280-289.
[4]SHERRY J,HASAN S,SCOTT C,et al. Making middleboxes someone else's problem: network processing as a cloud service[J]. ACM SIGCOMM Computer Communication Review,2012,42(4): 13-24.
[5]GIBB G,ZENG H,MCKEOWN N. Outsourcing network functionality[C]//The First Workshop on Hot Topics in Software De fi ned Networks. 2012: 73-78.
[6]KHAKPOUR A R,LIU A X. First step toward cloud-based fi re-walling[C]//2012 IEEE 31st Sym-posium on Reliable Distributed Systems (SRDS). 2012: 41-50.
[7]KUREK T,NIEMIEC M,LASON A. Taking back control of privacy:a novel framework for preserving cloud-based firewall policy confidentiality[J]. International Journal of Information Security,2016,15(3):235-250.
[8]SHI J,ZHANG Y,ZHONG S. Privacy-preserving network functionality outsourcing[J]. arXiv preprint,arXiv:1502.00389,2015.
[9]CORON J S,LEPOINT T,TIBOUCHI M. Practical multilinear maps over the integers[M]//Advances in Cryptology-CRYPTO. 2013: 476-493.
[10]CHEON J H,HAN K,LEE C,et al. Cryptanalysis of the multilinear map over the integers[M]//Advances in Cryptology-EUROCRYPT 2015: 3-12.
[11]MELIS L,ASGHAR H J,DE CRISTOFARO E,et al. Private processing of outsourced network functions: feasibility and constructions[C]//The 2016 ACM International Workshop on Security in Software Defined Networks & Network Function Virtualization. 2016: 39-44.
[12]SHERRY J,LAN C,POPA R A,et al. Blindbox: deep packet inspection over encrypted traffic[J].ACM SIGCOMM Computer Communication Review,2015,45(4): 213-226.
[13]LAN C,SHERRY J,POPA R A,et al. Embark: securely outsourcing middle-boxes to the cloud[C]//13th USENIX Symposium on Networked Systems Design and Implementation (NSDI 16). 2016:255-273.
[14]ASGHAR H J,MELIS L,SOLDANI C,et al. SplitBox: toward efficient private network function virtualization[C]//The Workshop on Hot Topics in Middleboxes and Network Function Virtualization.2016: 7-13.
[15]MATT B. Introduction to computer security[M]. Pearson Education India,2006.
[16]WANG C,CHOW S S M,WANG Q,et al. Privacy-preserving public auditing for secure cloud storage[J]. IEEE transactions on computers,2013,62(2): 362-375.
[17]DAEMEN J,RIJMEN V. The design of Rijndael: AES-the advanced encryption standard[M]. Springer Science & Business Media,2013.