用于防止在命名數據網絡路由器上插入惡意內容的方法和設備的制造方法
【技術領域】
[0001]本申請一般涉及計算機網絡。更具體地,本申請涉及控制內容對象通過命名數據網絡的流動。
【背景技術】
[0002]在內容中心網絡(CCN)中,客戶端裝置能夠通過傳播包括數據名稱的興趣消息來獲得此數據。沿CCN的路由器存儲興趣的反向路徑,并朝能夠提供所請求的數據的內容生產者傳播此興趣。一旦內容生產者返回滿足此興趣的內容對象,路由器將此內容對象沿反向路徑轉發到客戶端裝置。
[0003]遺憾的是,惡意實體可能將惡意數據注入到興趣的反向路徑中。為了防止惡意數據返回客戶端裝置,一些路由器可以對內容對象執行密碼認證操作以認證內容對象或他們的發送者。然而,對每個內容對象執行這種密碼認證可能顯著降低這些路由器的運行性能。
【發明內容】
[0004]—個實施例提供阻止惡意內容對象通過命名數據網絡插入到興趣的反向路徑中的對象轉發裝置。在操作中,所述裝置能夠通過第一接口接收內容對象,并且能夠在未決興趣表(PIT)中執行查詢操作,以識別與所述內容對象關聯的興趣的PIT表項。所述裝置然后從所述PIT表項確定用來轉發所述興趣的出接口(egress interface)。如果所述裝置確定所述PIT表項的出接口與所述內容對象的第一接口匹配,則所述裝置通過在所述PIT表項中規定的返回接口轉發所述內容對象。另一方面,如果所述PIT表項的出接口與所述內容對象的第一接口不匹配,則所述裝置能夠阻止所述內容對象。
[0005]在一些實施例中,所述出接口包括物理接口。
[0006]在一些實施例中,所述出接口包括虛擬接口。
[0007]在這些實施例的一些變形中,所述虛擬接口與描述一組接口的邏輯關系的合取范式(CNF)表達式關聯。
[0008]在一些實施例中,所述裝置能夠通過第二接口接收第二興趣,并且基于第二興趣的名稱在轉發信息庫中執行查詢操作,以確定用于轉發第二興趣的出接口。一旦所述裝置通過出接口轉發所述第二興趣,所述裝置能夠在興趣的PIT中創建新表項。此新PIT表項可以包括用來轉發興趣的出接口。
[0009]在一些實施例中,在PIT中執行查詢操作的同時,所述裝置確定PIT表項的分層結構的可變長度識別符(HSVLI)是否與興趣的名稱匹配。
[0010]在一些實施例中,PIT表項包括存儲散列值的名稱字段。同樣,在PIT中執行查詢操作的同時,所述裝置確定PIT表項的散列值是否與興趣的名稱的散列匹配。
【附圖說明】
[0011]圖1根據實施例圖解說明便于阻止惡意內容對象通過命名數據網絡插入到興趣的反向路徑中的計算環境。
[0012]圖2根據實施例圖解說明阻止惡意內容對象插入到興趣的反向路徑中的轉發器的示例性通信。
[0013]圖3根據實施例呈現圖解說明在未決興趣表中創建表項以將興趣的名稱映射到興趣的入接口(ingress interface)和出接口(egress interface)的方法的流程圖。
[0014]圖4根據實施例圖解說明示例性未決興趣表。
[0015]圖5根據實施例呈現圖解說明基于相應的PIT表項確定是否阻止或轉發內容對象的方法的流程圖。
[0016]圖6根據實施例圖解說明便于阻止惡意內容對象插入到興趣的反向路徑中的示例性設備。
[0017]圖7根據實施例圖解說明便于阻止惡意內容對象插入到興趣的反向路徑中的示例性計算機系統。
[0018]在圖中,相同的附圖標記指相同的附圖元件。
【具體實施方式】
[0019]給出以下描述使得本領域技術人員能夠制造和使用實施例,以下描述是在特定應用和其需求的背景下提供的。對所公開實施例的各種改進對本領域技術人員是非常顯然的,在不偏離本申請的精神和范圍下,本文中定義的一般原理可以應用于其它實施例和應用。因此,本發明不局限于所顯示的實施例,而是給予與本文中公開的原理和特征一致的最寬范圍。
[0020]本發明的實施例提供一種路由器,所述路由器解決了防止惡意實體將惡意數據通過命名數據網絡(NDN)注入到數據流中的問題。例如,客戶端裝置能夠通過傳播包括數據的名稱的興趣消息通過NDN獲得此數據,這建立沿路由器到能夠提供所請求數據的內容生產者的反向路徑。其它網絡裝置可能通過沿反向路徑向路由器轉發包括興趣名稱的內容對象來將惡意數據“注入”到此反向路徑中。因此,惡意實體可以利用此弱點來向訪問在線服務的客戶端或者甚至向在線服務本身提供欺騙性數據。
[0021]如果惡意實體繼續沿反向路徑在路由器上注入惡意數據,此路由器丟棄其具有的興趣的反向路徑信息,原因是路由器不再期望接收此興趣的內容對象。如果在丟棄反向路徑信息之后,路由器從在線服務接收內容對象,則假定反向路徑信息不再存在的話,路由器會有效地阻止內容對象。因此,惡意實體還可以利用此弱點通過防止在線服務的客戶端從在線服務接收數據來實現服務拒絕(DoS)攻擊。
[0022]在一些實施例中,NDN的路由器能夠通過跟蹤哪些出接口用來轉發興趣并且只返回通過其相應興趣的接口接收的內容對象來防止惡意實體將數據注入到未決興趣的反向路徑中。例如,NDN路由器能夠在未決興趣表(PIT)中存儲此出接口。這樣,當路由器基于內容對象的名稱對PIT執行查詢操作時,路由器能夠獲得包括曾用來轉發相應興趣的出接口以及將用來轉發內容對象的返回接口的PIT表項。如果內容對象不是通過興趣的出接口接收的,則路由器能夠阻止內容對象,即使它已經被惡意地插入到反向路徑中。否則,路由器能夠繼續通過返回接口像平常一樣返回內容對象。
[0023]以下術語描述諸如內容中心網絡(CCN)的命名數據網絡(NDN)架構的元件:
[0024]內容對象(Content Object):單——項命名數據,其綁定到唯一名稱。內容對象是“永久的”,這意味著內容對象可以在計算裝置內或者在不同的計算裝置中移動,但不會改變。如果內容對象的任何組成變化,則出現變化的實體創建包括更新內容的新內容對象,并且將新內容對象綁定到新唯一名稱。
[0025]名稱(Name):NDN中的名稱通常是與位置無關的,唯一地識別內容對象。數據轉發裝置不管內容對象的網絡地址或物理位置如何,可以使用名稱或名稱前綴將興趣包向生成或存儲內容對象的網絡節點轉發。在一些實施例中,名稱可以是分層結構的可變長度識別符(HSVLI)。HSVLI可以分成幾個分層組成,這些組成可以以各種方式構造。例如,個別的名稱組成pare,home, ndn,和test, txt可以以左對齊的前綴為主的方式構造,形成名稱u/parc/home/ndn/test.txt.”。因此,名稱 “/parc/home/ndn” 可以是 “/parc/home/ndn/test.txt.”的“父”或“前綴”。附加組成可以用來區分內容項目的不同形式,諸如合作文檔。
[0026]在一些實施例中,名稱可以包括無層次識別符,諸如由內容對象的數據(例如檢驗和值)和/或從內容對象的名稱的組成部分導出的散列值。基于散列的名稱的描述在(發明人 Ignac1 Solis 于 2013 年 3 月 20 日提交的名稱為“ORDERED-ELEMENT NAMING FORNAME-BASED PACKET FORWARDING”的)美國專利申請號13/847,814中描述。名稱還可以是扁平標簽(flat label)。后面,“名稱”用來指在命名數據網絡中一條數據的任何名稱,諸如層次名稱或名稱前綴,扁平名稱(flat name),固定長度的名稱,任意長度的名稱,或者標簽(例如多協議標簽交換(MPLS)標簽)。
[0027]^(Interest):指示對一條數據的請求的包,包括該條數據的名稱(或名稱前綴)。數據消費者可以在信息中心網絡中傳播請求或興趣,NDN路由器可以向可以提供請求數據的存儲裝置(例如緩存服務器)或數據生產者播送,以滿足請求或興趣。
[0028]在一些實施例中,NDN系統可以包括內容中心網絡(CCN)架構。然而,本文中公開的方法還可以應用于其它NDN或還有其它信息中心網絡(ICN)架構。CCN架構的描述在