用於在路由期間加密的系統和方法
2023-05-08 16:33:01
專利名稱:用於在路由期間加密的系統和方法
技術領域:
本發明一般涉及網絡路由和加密,並且更具體地涉及路由期間的加密。
背景技術:
如今像網際網路這樣的計算機網絡是眾所周知的。這樣的網絡包括通信介質、防火牆、路由器、網絡交換機和集線器。網絡常常互連客戶計算機和伺服器。在通過網際網路通信的情況下,通常在源計算機和目的計算機之間存在很多路由器和很多可能的路由路徑。當消息到達路由器時,路由器對通往目的地的路徑中的下一路由器或「跳(hop)」進行判定。存在很多已知的算法用於進行該判定,例如OSPF、RIP、IGRP、EIGRP、ISIS或BGP。通常,路由判定試圖經由最少的跳數將消息分組路由至目的地。
然而,路由器還可能考慮其它因素。例如,如果消息是敏感的,例如含有機密數據,並且沒有被加密,則在傳輸到非保密網絡上之前可能需要對它進行加密。將未加密的消息轉發到在其中對消息進行加密的虛擬專用網是已知的。然後,將消息轉發到路由器以便基於OSPF、RIP、IGRP、EIGRP、ISIS或BGP來進行已知的、最少跳的路由判定。雖然路由器可以檢測到消息是否已加密,但是確定該消息是否含有敏感數據卻較為困難。因此,如果路由器接收到未加密的消息,則它可以自動地將消息轉發到虛擬專用網用於加密,而不需要考慮該消息是否含有敏感數據。在消息不含敏感數據的那些情況下,這加重了虛擬專用網及其加密設備的負擔,並且還減慢了對消息的傳播。
美國專利6,732,273公開了一種消息的發送器,其生成消息特徵碼並且在遠離消息分組的主體的情況下,將該消息特徵碼附於每個消息分組。當路由器接收到消息分組時,其讀取消息特徵碼。如果該碼指示消息需要保密通信(通常如果有效載荷中的數據是敏感的並且未加密),那麼路由器以安全的方式(例如通過加密或其它的安全途徑)來傳播消息分組。然而,如果該碼指示消息並不敏感(通常如果有效載荷中的數據並不敏感,或者是敏感的但卻未加密),那麼路由器沿最短路徑傳播消息分組,通常通過非保密網際網路。雖然該技術是有效的,但它卻要求消息的發送器生成消息特徵碼。
本發明的目的是使得諸如路由器的網絡設備能夠在不需要上述類型的消息特徵碼的情況下,確定消息是否含有未加密的敏感數據。
發明內容
本發明在於用於路由的計算機系統、方法和程序。接收未加密的消息分組。作為響應,讀取所述消息分組中的有效載荷以確定所述有效載荷是否含有敏感信息。如果所述有效載荷含有敏感信息,則對所述消息分組進行加密並且隨後將其路由至非保密通信路徑。如果所述有效載荷不含敏感信息,則將所述消息分組路由至非保密通信路徑而不需要對所述消息分組進行加密。
依照本發明的特徵,在虛擬專用網中對所述消息分組進行加密。
依照本發明的另一特徵,讀取所述有效載荷以便通過為所述消息分組的格式確定標準,並且基於所述標準,確定所述消息分組內數據的位置以及在所述位置的所述數據的類型,來確定所述有效載荷是否含有敏感信息。
圖1是分布式計算機系統的框圖,其包括體現本發明的網絡網關設備和路由管理伺服器;圖2是圖1的網關設備內以硬體和/或軟體實現的、基於有效載荷的路由功能的流程圖;以及圖3是圖1的路由管理伺服器內的路由管理程序的流程圖。
具體實施例方式
現在將參照附圖詳細描述本發明。圖1說明了通常標記為10的分布式計算機系統,其中體現了本發明。系統10包括客戶計算機20、連接到非保密網絡34的網關設備22、具有加密設備37的虛擬專用網(「VPN」)35,以及連接到諸如網際網路的非保密網絡34的網絡路由器36。客戶計算機20可以是工作站或伺服器(例如,Web伺服器、產品伺服器等)並且包括已知的CPU 21、作業系統22、RAM 23、ROM 24和存儲器25。網關設備22可以是已知的網絡交換機、路由器或防火牆。網關設備22包括已知的最短路徑路由功能,例如OSPF、RIP、IGRP、EIGRP、ISIS或BGP。網關設備22還包括已知的CPU 41、作業系統42、RAM 43和ROM44。依照本發明,網關設備22還包括以硬體和/或軟體實現的、基於有效載荷的路由功能29,其在大多數情況下確定它所接收到的消息分組是否需要保密通信,例如通過加密。同樣依照本發明,系統10包括具有路由管理程序59的路由管理伺服器50,在下面那些情況下,路由管理伺服器50確定消息分組是否需要保密通信(例如通過加密),其中,那些情況是指網關設備22不能夠進行該判定或者被配置以請求來自伺服器50的確定。伺服器50還包括已知的CPI 51、作業系統52、RAM 53、ROM 54和存儲器55。
網關設備22中的功能29包括已知的硬體和/或軟體加密檢測功能31,以便確定消息是否已加密。通過對消息檢查加密的籤名特徵,例如消息是否含有作為加密特徵的ISAKMP、IPSEC或ESP標題,功能31確定消息是否已加密。如果消息已加密(不管它是否包括敏感信息),那麼可以使用非保密通信,例如,經由無加密的網際網路。
在未加密信息的情況下,網關設備22的功能29查看有效載荷內部以確定信息的性質,即它是敏感的還是不敏感的。基於用於通信中的數據的位置和類型的標準,功能29知道在哪裡尋找有效載荷中的數據並且,在大多數情況下,其知道數據是敏感的還是不敏感的。出於此目的,功能29保存數據的敏感類型的列表以及代表它們的籤名的正文串。如果消息未加密並且含有敏感信息,那麼應當使用保密通信,例如通過加密。在這樣的情況下,網關設備22將消息分組轉發到虛擬專用網35,在那裡由加密設備37對其進行加密。接下來,加密設備37將已加密的消息分組轉發到路由器36,路由器36基於已知的最短路徑路由算法(例如OSPF、RIP、IGRP、EIGRP、ISIS或BGP)來確定下一跳。然後,路由器36將消息分組轉發到網際網路中的下一跳。如果消息並未加密但卻不含敏感信息,那麼可以使用非保密通信,例如經由無加密的網際網路。在這樣的情況下,基於已知的路由算法,例如OSPF、RIP、IGRP、EIGRP、ISIS或BGP,網關設備22中已知的路由器功能47確定下一跳,並且繼而將消息分組轉發到網際網路中的下一跳。網關設備22還包括已知的CPU 41、作業系統42、RAM 43和ROM 44。如以上所指出的,在一些情況下,網關設備22不能夠確定未加密的消息是否含有敏感數據或以別的方式要求保密通信。例如,在一些情況下,網關設備22在表35中可能不具有數據的正文串或籤名的記錄。在其它情況下,網關設備可以被配置(通過配置文件33)以便總是請求來自路由管理伺服器50的、對未加密的數據是否敏感的確定。
在典型的情景中,客戶計算機20將消息發送至網關設備22。消息包括具有源IP位址、目的IP位址(例如,目的設備79的)、源埠號和目的埠號的標題。消息還包括分離於標題的、含有數據的有效載荷。客戶計算機20內的TCP/IP適配卡27根據OSI模型對消息進行分組化。網關設備22接收消息分組,並且如以上所解釋的,路由功能29確定將消息分組轉發到哪裡。
圖2根據本發明,較為詳細地說明了網關設備22中路由功能29的處理。在收到各消息分組時(步驟100),網關設備22確定分組是否已加密(判定101)。網關設備22通過對分組掃描加密算法的籤名特性來確定分組是否已加密。如果分組已加密(判定101,「是」分支),那麼網關設備22使用已知的路由硬體和/或軟體功能/算法47(例如OSPF、RIP、IGRP、EIGRP、ISIS或BGP)來確定在網際網路中的路徑上通往目的IP位址的下一路由器/跳,並且然後將消息分組轉發到此下一路由器/跳(步驟102)。如果分組未加密(判定101,「否」分支),那麼網關設備22確定其是否被配置以確定數據是否敏感(判定103)。如果是的話(判定103,「是」分支),那麼網關設備22確定決定消息分組的格式的標準,即分組的不同分段或欄位的語義和位置(步驟104)。網關設備22通過讀取IP標題來確定分組的標準。接下來,基於對消息分組可應用的標準,網關設備22確定有效載荷中數據的位置(步驟106)。例如,IP標準指定用於將分組分類為IP分組的數據位於分組的最初15個字節內。IPX標準指定用於將分組分類為IPX分組的數據位於分組的最初20個字節內。接下來,網關設備22嘗試確定數據是否敏感(假設網關設備被配置以嘗試該確定)(步驟108)。基於有效載荷內數據的籤名與表35中的條目的匹配,網關設備22嘗試確定數據是否敏感。例如,基於FTP標準,控制分組可以攜帶指示數據(例如口令信息)敏感的口令信息,SMB註冊類型分組指示數據含有敏感的註冊證書,並且FTP目錄控制指示數據含有並不敏感的文件控制信息。如果網關設備能夠將數據的籤名與表35中的條目匹配(判定109,「是」分支),那麼網關設備基於數據的性質以及表35中相應的策略/規則進行響應。通常,如果數據不敏感(判定110,「否」分支),那麼網關設備22使用如步驟102中的已知路由功能/算法47(例如OSPF、RIP、IGRP、EIGRP、ISIS或BGP)來確定在網際網路中的路徑上通往目的IP位址的下一路由器/跳,並且然後將消息分組在不加密的情況下轉發到此下一路由器/跳(步驟112)。通常,如果數據敏感(判定110,「是」分支),那麼網關設備22從其配置文件33確定含有加密設備的網絡的IP位址(步驟114)。在所說明的例子中,配置文件33將VPN 35指示為含有加密設備37。這樣,網關設備22將消息分組轉發到VPN 35(步驟120),在那裡加密設備37對消息分組進行加密(步驟130)。接下來,加密設備37將已加密的消息分組轉發到具有已知的硬體和/或軟體路由功能49的路由器36(步驟134)。路由器36中的功能49通過OSPF、RIP、IGRP、EIGRP、ISIS或BGP來確定在網際網路34中已加密的消息分組的下一跳。接下來,路由器36將已加密的消息分組轉發到下一跳/路由器,並且消息分組經由其它網絡設備以已知的方式前進到目的IP位址(步驟138)。
在一些情況下,網關設備22不被配置來嘗試確定未加密的數據是否敏感(判定103,「否」分支),或者其在表35中沒有用於未加密數據的條目(判定109,「否」分支)。在任何一種情況下,網關設備22都請求來自路由管理伺服器50的、對未加密的數據是否是敏感的確定,並且因此要求加密。為了開始該過程,網關設備22實現到路由管理伺服器50的TCP/IP連接,並且提供驗證證書(例如用戶ID和口令)(步驟140)。接下來,如以下參照圖3所描述的,網關設備22向伺服器50發送消息分組的有效載荷中數據的籤名或定義串(defined string),從而使得伺服器50能夠確定數據是否敏感(步驟144)。
圖3較為詳細地說明了路由管理伺服器50中的路由管理程序59的功能和用途。在步驟200中,響應於來自網關設備22的驗證請求,伺服器50確定網關設備22是否可靠並且已授權訪問伺服器50(判定202)。如果不是(判定202,「否」分支),則伺服器50將錯誤通知返回給網關設備22(步驟204)(並且不參與路由判定)。如果網關設備22是可靠的並且已授權(判定202,「是」分支),那麼伺服器50請求並且網關設備22向伺服器50發送消息分組的有效載荷中數據的籤名或定義串(步驟206)。作為響應,伺服器50從局部表58確定是否存在用於數據的該籤名或定義串的條目,以及用於該籤名或定義串的預定策略或規則(判定210)。表58在一列中列出數據的各種籤名和定義串,並且在下一列的相同的行中列出相應的策略/規則。每個策略或規則均指示數據是否敏感,並且如果是的話,是否加密該數據。視情況,表58列出了VPN 35的IP位址或者加密可以在其中發生的其它網絡的IP位址。另外,網關設備22具有VPN 35的IP位址的記錄或者加密可以在其中發生的其它網絡的IP位址的記錄。(視情況,策略/規則還可以要求指定的服務質量,例如帶寬)。如果不存在用於消息分組的籤名或定義串的策略/規則(判定210,「否」分支),那麼伺服器50通知網關設備22使用標準路由算法,例如OSPF、RIP、IGRP、EIGRP、ISIS或BGP(步驟212)。然而,如果存在用於來自當前消息分組的數據的籤名或定義串的策略/規則(判定210,「是」分支),那麼伺服器50通知網關設備22關於用於消息分組的策略/規則,例如,以便將消息分組轉發到VPN 35用於加密(步驟220)。網關設備22遵守來自伺服器50的通知中的策略/規則(圖2的步驟150)。
圖2中所說明的網關設備22的功能可以以硬體和/或軟體實現。就該功能可以以軟體實現這點來說,可以將其從計算機可讀介質125(例如磁帶或磁碟、光介質、DVD、半導體介質、存儲棒等)加載到網關設備22中,或者經由TCP/IP適配卡127從網際網路對其進行下載。
圖3中所說明的伺服器50的功能可以以硬體和/或軟體實現。就該功能可以以軟體實現這點來說,可以將其從計算機可讀介質135(例如磁帶或磁碟、光介質、DVD、半導體介質、存儲棒等)加載到伺服器50中,或者經由TCP/IP適配卡137從網際網路對其進行下載。
基於前述,已經公開了一種用於在路由期間加密的系統、方法和程序產品。然而,在不背離本發明的範圍的情況下,可以進行許多修改和置換。例如,可以基於加密狀態應用服務質量(「QoS」)信息或其它優先的路由處理。因此,已經藉助於說明公開了而非限制了本發明,並且應當參照下面的權利要求來確定本發明的範圍。
權利要求
1.一種用於路由的方法,所述方法包括以下步驟接收未加密的消息分組,並且作為響應,讀取所述消息分組中的有效載荷以確定所述有效載荷是否含有敏感信息,以及如果是的話,則對所述消息分組進行加密,並且隨後將所述消息分組路由至非保密通信路徑,如果不是的話,則將所述消息分組路由至非保密通信路徑而不需要對所述消息分組進行加密。
2.根據權利要求1所述的方法,其進一步包括以下步驟接收另一已加密的消息分組,並且作為響應,將所述另一消息分組路由至非保密通信路徑而不需要對所述另一消息分組進一步加密。
3.根據權利要求1所述的方法,其中將所述消息分組路由至非保密通信路徑的步驟包括進行OSPF路由的步驟。
4.根據權利要求1所述的方法,其中對所述消息分組進行加密的步驟在虛擬專用網中進行,並且如果所述有效載荷含有敏感信息,則所述方法進一步包括步驟將所述消息分組轉發到所述虛擬專用網用於加密。
5.根據權利要求1所述的方法,其中讀取所述消息分組中的所述有效載荷以確定所述有效載荷是否含有敏感信息的步驟包括以下步驟為所述消息分組的格式確定標準;基於所述標準,確定所述消息分組內數據的位置;以及確定在所述位置的所述數據的類型。
6.根據權利要求1所述的方法,其中所述有效載荷含有敏感信息,並且作為響應,對所述消息分組進行加密,並且隨後將所述消息分組路由至非保密通信路徑。
7.根據權利要求1所述的方法,其中所述有效載荷不含敏感信息,並且作為響應,將所述消息分組路由至非保密通信路徑而不需要對所述消息分組進行加密。
8.根據權利要求1所述的方法,其進一步包括步驟在讀取所述消息分組中的有效載荷以確定所述有效載荷是否含有敏感信息的步驟之前,確定所述消息分組是否被加密。
9.一種用於路由的系統,所述系統包括接收裝置,所述接收裝置用於接收未加密的消息分組,並且作為響應,讀取所述消息分組中的有效載荷以確定所述有效載荷是否含有敏感信息;加密裝置,響應於所述有效載荷含有敏感信息,所述加密裝置用於對所述消息分組進行加密,並且隨後將所述消息分組路由至非保密通信路徑;以及路由裝置,響應於所述有效載荷不含敏感信息,所述路由裝置用於將所述消息分組路由至非保密通信路徑而不需要對所述消息分組進行加密。
10.根據權利要求9所述的系統,其進一步包括用於接收另一已加密的消息分組的裝置,並且作為響應,其將所述另一消息分組路由至非保密通信路徑而不需要對所述另一消息分組進一步加密。
11.根據權利要求9所述的系統,其中所述用於將所述消息分組路由至非保密通信路徑的裝置包括用於進行OSPF路由的裝置。
12.根據權利要求9所述的系統,其中所述用於加密所述消息分組的裝置存在於虛擬專用網,並且所述系統進一步包括轉發裝置,響應於所述有效載荷含有敏感信息,所述轉發裝置用於將所述消息分組轉發到所述虛擬專用網用於加密。
13.根據權利要求9所述的系統,其中所述用於讀取所述消息分組中的所述有效載荷以確定所述有效載荷是否含有敏感信息的裝置包括用於為所述消息分組的格式確定標準的裝置;用於基於所述標準,確定所述消息分組內數據的位置的裝置;以及用於確定在所述位置的所述數據的類型的裝置。
14.根據權利要求9所述的系統,其中所述有效載荷含有敏感信息,並且所述系統進一步包括響應於所述有效載荷含有敏感信息,用於對所述消息分組進行加密,並且隨後將所述消息分組路由至非保密通信路徑的裝置。
15.根據權利要求9所述的系統,其中所述有效載荷不含敏感信息,並且所述系統進一步包括響應於所述有效載荷不含敏感信息,用於將所述消息分組路由至非保密通信路徑而不需要對所述消息分組進行加密的裝置。
16.根據權利要求9所述的系統,其進一步包括在用於讀取所述消息分組中的有效載荷以確定所述有效載荷是否含有敏感信息的裝置之前,用於確定所述消息分組是否被加密的裝置。
17.一種用於路由的電腦程式產品,所述電腦程式產品包括執行權利要求1至8中所述方法的代碼。
全文摘要
用於路由的計算機系統、方法和程序。接收未加密的消息分組。作為響應,讀取所述消息分組中的有效載荷以確定所述有效載荷是否含有敏感信息。如果所述有效載荷含有敏感信息,則對所述消息分組進行加密,並且隨後將其路由至非保密通信路徑。如果所述有效載荷不含敏感信息,則將所述消息分組路由至非保密通信路徑而不需要對所述消息分組進行加密。可以讀取所述有效載荷,以便通過為所述消息分組的格式確定標準,並且基於所述標準,確定所述消息分組內數據的位置以及在所述位置的所述數據的類型,來確定所述有效載荷是否含有敏感信息。
文檔編號H04L12/46GK101079813SQ20071010553
公開日2007年11月28日 申請日期2007年5月25日 優先權日2006年5月26日
發明者J·D·弗萊斯特, R·S·柯蒂斯 申請人:國際商業機器公司