專利名稱:網絡安全裝置的制作方法
技術領域:
本發明涉及一種連接在受保護計算機(客戶機)與網絡之間的網絡安全裝置和利用這種網絡安全裝置的方法。網絡安全裝置通過對話密鑰與其它受保護客戶機對話。然后,把兩客戶機之間的所有通信進行加密。本發明的裝置是一種自構成的,把其自身鎖定到其客戶機的IP(互聯網協議)地址和MAC地址。一旦設置之后,客戶機不能改變其IP或MAC。因此,本發明的的網絡安全裝置不允許客戶通過設置一個假的IP或MAC地址仿真另一客戶機。
背景技術:
A.網絡體系結構
圖1示出了一種互聯通信網100,它包括5個傳輸或基干網A、B、C、D和E以及3個支干網絡(stub network,一種只收送本地主機資料的網絡)R、Y和Z。“基干”網絡是一種中間網絡,它從一個網絡向另一網絡傳送通信數據。“支干”網絡是一種終端和末端網絡,通過該網絡只能最初產生或者最終接收通信數據。每個網絡,例如短支網絡R,包括一個或多個互聯的子網絡I、J、L和M。如這里所使用的一樣,述語“子網絡”涉及一個或多個節點的集合,例如,(d),(a)(b,x,y),(q,v)(r,z),(s,u),(e,f,g),(h,i),(j,k,l),(m,n)以及(o,p)等,它們通過線路或開關互聯,以進行本地節點通信。每個子網絡可以是一種局域網或LAN。每個子網絡具有一個或多個節點,它們可以是主計算機(“主機”)u,v,w,x,y,z或者路由器a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s。主機是一種可以最初產生或最終接收通信數據的末端節點。路由器是一種單獨用作兩其它節點之間的中間節點的節點;路由器從一節點接收通信數據,再把該數據重新傳輸給另一節點。在這里,把基干網絡、支干網絡、子網絡和節點一起稱為“互聯網系統”。
圖2示出了主機或路由器節點10的方框圖。如圖所示,節點可以包括一CPU11、存儲器12和一個或多個輸入/輸出(I/O)端口(或網絡接口)13-1,13-2,…,13-N,它們連接到總線14上。如圖所示,每個I/O端口13-1,13-2,…,13-N通過導線,光纖和/或開關連接到另一節點的I/O端口。I/O端口13-1,13-2,…,13-N用于以組織成一個或多個數據包的位流形式把通信數據傳輸給另一節點,以及用于從另一節點接收數據包。如果主機10為一臺連接到子網絡(以太網)上的主計算機,則,主機將有一個I/O端口(以太接口)。
初始產生傳輸給另一節點的數據包的主機稱為源節點,最終接收數據包的主機稱為目的地節點。把數據包通過包括源節點、零個或多個中間節點以及目的地節點的順序節點以組桶形式傳輸來實現通信。例如,可以把數據包從節點w傳送到節點c、節點d、節點b以及節點x。
圖3A示出了一種典型的數據包40,具有包含通信數據(即用戶數據)的有用負荷41和包含控制和/或地址信息的首部42。通常,首部信息以層次的形式排列,包括IP層和物理層。
IP層一般包括IP源地址、IP目的地地址、校驗和以及指示多跳躍網絡內的跳躍數的跳躍計數。物理層首部包括源的MAC地址(硬件地址)和目的地的MAC地址。
用戶數據可以包括TCP(轉移控制協議)包(包括TCP首部)或者UDP(用戶數據協議)包(包括UDP首部)。這些協議控制其它事物之一,包括把要傳輸的信息進行打包,把接收到的包再組裝成最初傳輸的信息,發送和接收數據包的調度(參見例如D.Commer的“具有TCP/IP的互聯網”第一卷(1991);D.Commer和D.Stevens的“具有TCP/IP的互聯網”第二卷(1991))。
在典型的互聯網協議調用IP中,為互聯網100的每個節點分配一個在整個互聯網100上是唯一的互聯網(IP)地址,例如圖3B所示的節點Y的互聯網地址。參見信息科學協會,RFC791的“互聯網協議”,1981年9月。IP地址以分級形式分配;每個節點的互聯網(IP)地址包含指示節點的網絡地址部分31、指示節點的特定子網絡地址部分32、指示特定主機或路由器并區分特定子網絡中的各節點的主機部分33。
在使用IP協議的互聯網100中,源和目的地節點的IP地址由源節點放在數據包首部42內。接收數據包的節點通過檢查這些地址可以識別出源和目的地節點。B.加密技術利用消息加密技術可以防止在諸如圖1的網絡100的網絡中進行偷聽。消息加密技術利用加密函數,它使用一個稱為對話密鑰的數字對數據(消息內容)進行加密。只有彼此通信的一對主機(所以只有特定通信中適當成對的主機)都知道該對話密鑰才能對數字信號進行加密和解密。加密功能的兩個例子是國家標準局的數據加密標準(DES)(參見例如國家標準局的“數據加密標準”1977FIPS-PUB-45)以及更近的快速加密算法(FEAL)(參見例如Shimizu和S.Miyaguchi的“FEAL快速數據加密算法”,日本的系統與計算機,第19卷,第7號和S.Miyaguchi的“FEAL密碼族”,CRYPTO處理90,Santa Barbara,Calif.1990年8月)。另一種加密函數稱為IDEA。使用加密函數的一種方法是電子碼本技術。在這種技術中,對明文本消息m進行加密,利用公式c=f(m,xk)的加密函數產生密碼文本消息c,其中sk為對話密鑰。消息c只可以用已知的對話密鑰sk來解密,以獲得明文文本消息m=f(c,sk)。
兩通信主機之間的密鑰協議可以利用公共密鑰密碼來實現。(參見例如美國專利No.5,222,140和5,229,263)。
在討論公共密鑰加密技術之前,提供一些背景信息是有用的。最實際的現代加密是基于被認為(但沒有證明)是難度很大(即,按平均數用多項式不能解決)的兩個皆知的數學問題。這兩個問題稱為因式分解(Factorization)和離散Log(Discrete-Log)。把因式分解問題定義如下輸入N,其中N=pq,p和q為大的質數輸出p和/或q把離散Log問題定義如下輸入p,g,y,其中Y=gxmod P,P為較大的質數輸出x(離散Log問題可以同樣用組合模數N=pq定義)。
根據因式分解和離散Log問題,一些其它的問題定義成對應于加密系統的進一步修改問題。
在加密中前面已經開發利用的這一問題的一個系統(參見H.C.williams的“對RSA公共密鑰加密的改進”,IEEE信息理論匯刊,1980年11月6第IT-26卷)是模平方根問題,定義如下輸入N,y,其中Y=x2mod N,N=pg,p和q為較大的質數輸出x如果已知p和q,則計算平方根是容易的,如果p和q不知,則較難。當N是兩質數組成時,通常對模N進行四次方根。如這里所使用的,把zm√x mod N定義成表示x為最小的整數,所以z2mx mod N。
另一個問題稱為組合Diffic-hellman(CDH)問題,定義如下輸入N,g,gxmod N,gymod N,其中N=pq,p和q為大的質數輸出gxymod N數學方法已經證明,模平方根和組合Diffie-Hellman問題同樣難以解決上述因式分解問題(參見例如M.O.Rabin的“如因式分解一樣難以處理的數字化簽字和公共密鑰函數”計算機科學MIT實驗室,1979年1月TR212;Z.Shmuely的“組合Diffie-Hellman公共密鑰產生方案是難以擊破的”,以色列Technion計算機科學部,1985年2月Israel TR 356;以及K.S.McCurley的“等效于因式分解的密鑰分布系統”,密碼術期刊1988年第2卷第2號,第95至105頁)。
在一般的公共密鑰加密系統中,每個用戶i都有一個公共密鑰Pi(例如模數N)和一個保密密鑰Si(例如系數p和q)。對用戶i的消息利用使用每個人都已知的公共密鑰的共用操作進行加密(例如,對模數N進行平方)。然而,該消息利用使用保密密鑰(例如系數p和q)的保密(例如對模數N進行開方)來解密。C.網絡安全裝置目前已有的網絡安全產品分成兩類(1)防火墻,例如兩面神(Janus)和ANS以及(2)軟件產品,諸如加密郵件、保密http、一次口令等。
防火墻是一種專用計算機,通常運行Unix操作系統。它起到對輸入和輸出的通信進行過濾的作用。防火墻作為路由器放置在局域網(LAN)與外界世界之間。根據源和/或目的地IP地址以及TCP端口號決定是否讓數據包通過。一些防火墻還能加密數據,只要通信的兩端都使用相同類型的防火墻。一些防火墻具有個入鑒定的特點。
軟件產品是基于這樣一種假定,安裝有軟件產品的計算是安全的,僅需要對外部網絡進行保護。因此,這種軟件產品能通過斷開計算機容易地旁路。一種通常的方案是當入侵者在計算機上植入“特洛伊馬”時,它向他傳送每次處理的未加密的復制件。有時,即使在計算機不可能受監視的間斷時間期間,把它用為延遲動作一樣完成。
另外,有一些設計成防止入侵以保持計算機完整的鑒別產品。這些產品是基于這種假設,即它們是100%安全的。一旦該產品受到危害,它就完全無效了。有時,一用戶的不小心使用可能會危害該產品的所有其它用戶。
防火墻在保持網絡安全性方面更有效。然而,它們非常昂貴。其價格范圍在$10,000至$50,000之間,加上硬件的價格。它們需要高級專家來安裝和維護。大多數復雜和高效的防火墻需要經專門訓練技師或工程師對它們進行維護。對每個人專門訓練的費用高達$10,000,加上每年$60,000至$120,000的薪水。
防火墻不得不進行經常維護、改進以及監視,以提供相當的安全性。它們僅覆蓋互聯網協議的TCP部分,沒有覆蓋UDP部分。因此,它們不能對NFS(網絡文件服務)和許多客戶機/服務器應用提供安全性。
防火墻是一種全服務計算機,它可以登入以進行維護和監視。因此,它可以斷開。一旦防火墻受到危害,它就失去其作用,成為負擔而不是安全助手。防火墻僅保護LAN與WAN(廣域網)之間的連接。它不保護從LAN內入侵到特定的主機。
由于上述原因,本發明的目的在于提供一種網絡安全裝置,它克服了已有技術的網絡安全裝置的缺點。
本發明的目的尤其是提供一種硬件裝置,為連接到網絡上的單獨的主機進行網絡安全保護。
發明內容
本發明的安全裝置包含連接到受保護客戶機的第一網絡接口、連接到網絡部分的第二網絡接口以及連接到該兩接口上的處理電路。如圖所示,連接客戶機的網絡部分為以太網,第一和第二網絡接口是以太網接口。連接在兩接口之間的處理電路可以是傳統的諸如Intel 486 DX2-66或Pentium等CPU。另一方面,處理單元可以做成一個或多個ASIC(專用集成電路)或者ASIC與CPU的組合。從受保護客戶機來的通信從客戶機經第一接口、處理電路、第二接口進入到網絡。同樣,從網絡接收到的通信從第二接口經處理電路、第一接口進入到受保護客戶機。
較佳地,網絡安全裝置是一個密封的裝置,它不能登入。它具有與受保護客戶機相同的IP地址。
許多重要的功能由本發明的網絡安全裝置實現。網絡安全裝置獲得其客戶機的MAC和/或IP地址,把其本身鎖定到這些地址上。為了進行鎖定,把MAC和/或IP地址存儲在網絡安全裝置的永久存儲器內。如果從客戶機到達的數據包的MAC和/或IP地址與存儲在該存儲器內的地址不同,則該數據包不能通過進入到網絡內。因此,受保護客戶機不能改變其MAC和/或IP地址。這防止了受保護客戶機仿真網絡中的其它客戶機的MAC和/或IP地址。當數據包從客戶機到達第一網絡接口時,處理電路用網絡安全裝置的MAC地址代替受保護客戶機的MAC地址。然后,讓數據包通過第二接口進入網絡。反過來,在數據包從網絡側到達網絡安全裝置時,進行相同的轉換。
從受保護客戶機接收到的數據包在通過網絡傳輸到目的地之前,利用諸如IDEA、FEAL或DES等加密函數進行加密。同樣,對從目的地接收到的經加密的數據包進行解密。這種加密和解密需要受保護客戶機和目的地共同具有共用對話密鑰(目的地是位于網絡某處的另一網絡安全裝置的受保護客戶機)。
共用對話密鑰是通過利用公共密鑰加密技術來獲得的。因此,兩保持客戶機(下文標為i和j)都具有公共密鑰Pi,Pj以及保密密鑰Si,Sj。公共密鑰Pi和Pj具有靜態部分和周期地更新的動態部分。保密密鑰Si,Sj也具有靜態部分和動態部分。
為了進行密鑰交換,網絡安全裝置保持有兩個數據庫。靜態數據庫包含有關網絡中保密主機或節點的信息。保密主機或節點是受網絡安全裝置保護的主機或節點。靜態數據庫的每個表項包含有關特定保密主機的信息,即主機IP地址、進入數據庫的時間,以及主機永久公共密鑰。
動態數據庫包含有關保密和非保密主機的信息。動態數據庫的每個表項包括主機IP地址、指示主機是否保密的標記、指示主機是否處于傳輸的標記(即處于密鑰交換中),以及共用保密對話密鑰的指針。
主機i的網絡安全裝置使用的使共用對話密鑰與主機j的網絡安全裝置一致的協議如下假設從主機i到主機j進行通信。通信從主機j到達主機i的網絡安全裝置。網絡安全裝置檢查主機j是否在動態數據庫內。如果主機j是在動態數據庫內,則確定動態數據庫是否具有主機i與主機j之間進行通信用的共用對話密鑰。如果有這種共用對話密鑰,則利用該共用對話密鑰對主機i的通信進行加密,并傳輸給主機j。如果沒有共用對話密鑰,則主機i把其公共密鑰Pi的動態部分傳送給主機j,主機j通過把其公共密鑰Pj的動態部分傳送給主機i作為回復。公共密鑰的動態部分的交換可以利用公代密鑰的靜態部分進行加密,它可以從主機i和主機j的靜態數據庫獲得。然后,根據Diffie-Hellman計算共用對話密鑰,例如假設,Pi=Gsimod N,其中N為質數或兩質數的積。假設,Pj=Gsjmod N。在公共密鑰交換之后,主機i的網絡安全裝置計算η=PjSi=gSjSimod N。同樣,主機j的網絡安全裝置計算η=piSi=gSjSimod N。因此,兩主機i和j都具有相同的η。然后,該數字可以用作共用對話密鑰或用于取得共用對話密鑰。
請注意,這里假設在主機i的靜態數據庫內具有主機j的表項。如果沒有,則在交換動態公共密鑰之前先交換靜態公共密鑰,在主機i的靜態數據內形成主機j的動態數據庫表項。而且,如果在主機i的動態數據庫內沒有主機j的表項,則在交換動態密鑰之前應先產生該表項。
應當注意,加密是在IP級進行的,以對TCP和UDP數據包進行騙碼。
簡言之,本發明的網絡安全裝置具有許多顯著的優點。
如防火墻一樣,本發明的網絡安全裝置在一種較佳的實現方式中是硬件/軟件的組合。然而,它是一密封的“盒子”,不能登入。因此,它不會受到危害,而防火墻會。因而,在LAN的每個節點上都可以裝備它。這樣,它在LAN內以及外面提供保護。網絡安全裝置直接在IP級上工作。因此,它覆蓋了所有類型的IP協議,不需要對不同的網絡應用作專門的配置。因而,本發明的網絡安全裝置是免維護的。
本發明的網絡安全裝置檢測客戶主機的IP地址,并把其本身鎖定在該地址上。它不需要安裝。一旦鎖定,就不允許客戶主機改變其IP地址。本發明的網絡安全裝置還保持保密主機的永久數據庫。如果對密鑰的仲裁請求到達,與數據庫沖突,則拒絕主機進行通信。上述兩個特點的組合產生了IP地址的雙重鑒別。本發明的安全裝置在客戶機與網絡之間產生有形的障欄。因此,防止了通過直接與以太網通信而旁路。
本發明的安全裝置對所有到網絡的通信進行加密,包括動態公共密鑰的交換。
附圖概述圖1示意性地示出了互聯網。
圖2示意性地示出了圖1網絡內的主機的構造。
圖3A和3B示出了在圖1的網絡內傳輸的數據包的格式。
圖4示出了根據本發明的實施例的在圖1網絡內主機使用的網絡安全裝置。
圖5示出了圖4的網絡安全裝置保持的靜態數據庫內的表項。
圖6示出了圖4的網絡安全裝置保持的動態數據庫內的表項。
圖7是圖4的網絡安全裝置使用的密鑰交換算法的流程圖。
圖8是圖4的網絡安全裝置利用的ARP處理算法的流程圖。
圖9是圖4的網絡安全裝置利用的IP數據包處理算法的流程圖。
本發明的實施方式圖4示意性地示出了根據本發明實施例的的網絡安全裝置。安全裝置10包含第一接口0,連接到客戶主機12上。具體地說,接口0通過電纜或電線13連接到客戶機12的網絡接口上(例如圖24接口13)。安全裝置10包含第二接口1,連接到網絡100的一部分上。如圖所示,接口1連接到以太網上,所以接口0,1是以太網接口,例如SMC以太網超接口。
CPU14連接到接口0,1上。CPU是例如Intel 486 DX 62-66。靜態存儲器16(例如快擦寫EEPROM)連接到CPU14上,動態存儲器18(例如RAM)連接到CPU14上。可選的加密模塊20進行加密和大量的運算操作。加密單元用實現可編程的邏輯陣列來實現。另一方面,加密模塊也可以省略,其功能可以利用軟件程序由CPU14執行來實現。接口0偶然模式放置。在這種模式中,接口0通過客戶主機12來的所有通信,在電纜13上傳送給CPU14。網絡連接是通過接口1,接口1設置成與客戶機12相同的IP地址。網絡安全裝置10通過發送其自已的(而不是客戶機的)MAC地址響應于地址分辨協議。通過阻止試圖利用以太網協議來旁路裝置10入而增加了安全程度。
CPU要4保持兩數據庫。一數據庫為靜態數據庫,存儲在快擦ROM16內。該數據庫包含有關網絡內的保密節點的永久信息,即節點IP地址,進入到數據庫的時間,節點永久公共密鑰。圖5示出了這種數據庫內節點的記錄結構。
第二數據庫是動態數據庫。動態數據庫包含有關保密和非保密節點的信息,即,節點IP地址,最后更新的時間,指示節點是否保密(即具有其自已的網絡安全裝置)的標記,指示節點是否處于傳輸(即處于密鑰交換中)的標記,對具有該節點的共用保密對話密鑰的指針。圖6示出了這種數據庫內節點記錄的結構。傳輸標記有三種可能的值0-不處于傳輸狀態,1-待回復遠程主機,2-待計算共用密鑰。
CPU14運行的軟件有三個部分(1)操作系統,(2)網絡系統,(3)密鑰運算。操作系統和網絡系統兩者都是類似Unix的內核的一部分。密鑰運算駐留在存儲器內,由網絡系統指令其工作。操作系統是一種修改過的Linux系統,除了RAM,盤和以太接口的驅動程序外,除去了所有其它驅動程序。網絡系統用于通信、密鑰交換、加密和配置等。
密鑰交換算法圖示在圖7中。假設主客戶機要向網絡內IP=A的節點傳送一通信。當通信到達主客戶機的網絡安全裝置時(圖7的步驟60),檢查動態數據庫(DDB)以確定在動態數據庫內是否有節點A的表項(步驟61)。如果在動態數據庫內有節點A的表項,則檢查節點A和受保護客戶機的共用對話密鑰是否已經換效(步驟62)。
如果共用對話密鑰沒有換效,則利用對話密鑰和諸如IDEA等加密函數對數據包進行加密(步驟63)。如果共用對話密鑰已經換效,在未加密傳輸時對IP=A的節點的動態數據庫表項進行標注(步驟64),這表示正在進行密鑰交換。
主客戶機和IP=A的節點的公共密鑰動態部分交換如下。主客戶機(即源)向IP=A的節點(即目的地)傳送其動態公共密鑰和IP地址(步驟65),并等待5秒以得到回復(步驟66)。主機的動態公共密鑰可以用IP=A的節點的靜態公共密鑰加密。回復是IP=A的目的地節點的動態公共密鑰。這可以用主客戶機的靜態公共密鑰來加密。步驟65和66重復三次。如果沒有從目的地收到回復(步驟68),則源網絡安全裝置在目的地DDB表項內標注傳輸結束(步驟67)。
如果接收到回復,則把主機網絡安全裝置的DDB內的目的地傳輸標記設置成2(步驟69)。然后,源網絡安全裝置利用例如上述的Diffie-Hellman技術計算源和目的地的共用對話密鑰(步驟70)。然后,把共用對話密鑰輸入到源網絡安全裝置的DDB內(步驟71),把該DDB表項的傳輸標記標注為0(步驟72)。
動態公共密鑰的交換和共用對話密鑰的計算假設在源網絡安全裝置的靜態數據庫(SDB)和源網絡安全裝置的動態數據庫內有IP=A的目的地節點的表項。如果這些表項不存在,則可以在動態公共密鑰交換之前創建它們(步驟65-69)。
如果沒有IP=A的節點的DDB表項(步驟61),則把該表項的傳輸標記標注成非保密傳輸(步驟82)。然后進行檢查以確定源網絡安全裝置的SDB是否具有IP=A的節點的表項(步驟83)。如果有這種表項,則進行動態密鑰交換(步驟65等)。源網絡安全裝置向IP=A的節點傳輸源的永久公共密鑰(步驟84),并等待5秒,以得到回復(步驟85)。步驟84和85可以重復幾次,例如3次。
如果接收到回復(步驟86),則在SDB內創建表項(步驟87)。如果沒有接收到回復,把DDB內的表項傳輸標記標注成傳輸結束(步驟67)。
如上述較佳實施例中所指出的,網絡安全裝置是密封的盒子,不能登入。網絡安全裝置10檢測客戶主機12的IP(和/或MAC)地址,并將其鎖定到該地址。一旦網絡安全裝置鎖定到該地址上,客戶機面臨的是網絡安全裝置不能改變其IP(和/或MAC)地址。
地址分辨協議(ARP)是用于把IP地址分解成匹配以太機(MAC)地址的協議,MAC地址是網絡接口響應的實際地址。
本發明的網絡安全裝置利用ARP(地址分辨協議)來配置其本身,隱藏客戶主機。
圖8示出本發明的網絡安全裝置是如何處理IP=B的ARP請求的。請求可能從主機到達接口0或者從網絡到達接口1(步驟100)。如果請求通過接口0到達,則網絡安全裝置確定它是否已配置(步驟102)。如果網絡產裝置沒有配置,則對其自身進行配置(步驟103)。配置包括在永久存儲器內存儲主機的IP地址和/或MAC地址。在配置之后,網絡安全裝置內的CPU用接口1的MAC地址代替源MAC地址(步驟104),并把該請求發送給接口1(步驟105)。然后,把該請求通過網絡傳輸給其目的地。
如果主機網絡安全裝置已經配置了(步驟102),就確定該請求是否為回復(步驟106)。這是通過檢查目的地MAC段來進行的。在回復時,該字段不為零。如果該請求不是回復,則根據步驟104進行MAC地址轉換,并把該請求傳送給接口1(步驟105),以傳輸到網絡內。如果該請求為回復,就確定該請求內的源IP地址與目前永久存儲在存儲器內的IP地址是否一致(步驟107)。如果一致,由于網絡安全裝置已經回答了ARP,所以就把該請求放棄,如果不一致,則關閉該系統(步驟109)。
如果,請求通過網絡到達接口1,則讓該請求通過接口0(步驟111)。如果該請求為回復(步驟112),則把該請求通過接口0(步驟113)。如果該請求不為回復,則用接口1的MAC地址回答該請求(步驟114)。
圖9示出了本發明的網絡安全裝置使用的數據包處理算法。如圖所示,數據包還有源地址IP=C到達(步驟200)。數據包可能從主機到達接口0或從網絡到達接口1。
首先,假設數據包從主機到達接口0。如果數據包載有ICMP(互聯網控制消息協議)或IGMP(互聯網網關消息協議)標識(步驟201),則讓數據包通過接口而不進行加密。然而,把數據包內的源MAC地址轉換成接口1的MAC地址(步驟202)。不把ICMP和IGMP定址到目的地主機。而是由網絡內的中間表項利用這些數據包,例如路由器等,用于各種功能。
如果數據包定址的目的地不可靠,就放棄該數據包(步驟203、204)。該裝置可以處于保密/非保密模式(指定的順序)。在這種情況下,數據包將不改變地傳送。
接著,確定數據包是否包含已經分成碎片的消息的一部分(步驟205)。如果數據包含有碎片,則收集這些碎片(步驟206),并對消息進行加密(步驟207)。加密是利用共用對話密鑰和加密函數進行的。如果對于特定的LAN,加密消息太長(步驟208),則將它分成碎片(步驟209)。然后,把加密數據傳輸給接口,以便傳輸到網絡內(步驟210)。
加密數據包在IP首部的協議IS部分內載有一簽字。這表示數據包已加密。不對數據包的IP地址進行加密,否則該數據包不能按路線通過網絡。
現在假設數據包通過網絡到達接口1的情況。如果數據包是ICMP或IGMP數據包(步驟220),則不需要解密,就把該數據包傳送給接口0(步驟221)。如果數據包為密鑰交換數據包(步驟222),則根據密鑰交換協議處理該數據包(步驟223)。如果該數據沒有加密(步驟224),就放棄該數據包(步驟225)。該裝置可以處于保密/非保密模式(指定的順序)。在這種情況下,將把數據包不改變地傳送給客戶機。如果數據包加密了,而網絡產裝置沒有該密鑰(步驟226),則執行密鑰交換協議(步驟227),放棄該數據包(步驟228)。如果在網絡安全裝置的動態數據庫內的密鑰可用,則對數據包進行解密(步驟229),并把它傳送給接口0(步驟230)。
對于從網絡接收到的數據包,把網絡安全裝置的MAC地址轉換成客戶機的MAC地址。對于從受保護客戶機接收到的數據包,把客戶機的MAC地址轉換成網絡安全裝置的MAC地址。
簡言之,上述揭示了獨特的網絡安全裝置。最后要說明的是,上述本發明的實施例只是圖示說明而已。對于本技術領域的熟練人員來說,不脫離下面權利要求書的范圍可以作出大量可替換的實施例。
權利要求
1.一種至少保護一個通過網絡進行通信的特定節點的網絡安全裝置,其特征在于,包含(a)連接到至少一個特定節點上的第一網絡接口,(b)連接到網絡上的第二網絡接口,(c)連接到所述第一和第二接口上的處理電路,所述處理電路(1)在所述第二接口把所述數據包傳輸給所述網絡之前,把包含在所述第一接口從所述至少一個特定節點接收到的數據包內的所述至少一特定節點的MAC地址轉換成所述網絡安全裝置的MAC地址,(2)把包含在從所述網絡接收到的數據包內的所述網絡安全裝置的MAC地址轉換成所述至少一個特定節點的所述MAC地址。
2.如權利要求1所述的網絡安全裝置,其特征在于,所述第一和第二網絡接口為以太網接口。
3.如權利要求1所述的網絡安全裝置,其特征在于,所述處理電路對包含在從所述至少一個特定節點接收到的所述數據包內的用戶數據進行加密,而包含在從所述至少一個特定節點接收到的所述數據包內的IP地址保持不加密。
4.如權利要求3所述的網絡安全裝置,其特征在于,所述處理電路對包含在從所述至少一個特定節點接收到的所述數據包內的、包括TCP數據包首部的TCP數據包進行加密。
5.如權利要求3所述的網絡安全裝置,其特征在于,所述處理電路對包含在從所述至少一個特定節點接收到的所述數據包內的、包括UDP數據包首部的UDP數據包進行加密。
6.如權利要求3所述的網絡安全裝置,其特征在于,所述處理電路利用對話密鑰和加密函數對所述用戶數據進行加密。
7.如權利要求1所述的網絡安全裝置,其特征在于,所述網絡安全裝置保持包含指示所述網絡內一個或多個節點的IP地址和永久公共密鑰的信息的第一數據庫。
8.如權利要求7所述的網絡安全裝置,其特征在于,所述網絡安全裝置保持包含指示所述網絡內一個或多個節點的IP地址以及所述至少一個特定節點的共用對話密鑰的第二數據庫。
9.如權利要求8所述的網絡安全裝置,其特征在于,所述動態數據庫內的一個或多個節點是不保密節點。
10.一種至少保護一個通過網絡進行通信的特定節點的網絡安全裝置,其特征在于,包含連接到至少一個特定節點上的第一網絡接口,連接到網絡上的第二網絡接口,和連接到所述第一和第二接口上的處理電路,所述處理電路在所述第二接口把所述數據包傳輸給所述網絡之前,對包含在所述第一接口從所述至少一個特定節點接收到的數據包內的用戶數據進行加密,而保持所述數據包的IP地址不加密。
11.如權利要求10所述的網絡安全裝置,其特征在于,所述用戶數據為TCP數據包。
12.如權利要求10所述的網絡安全裝置,其特征在于,所述用戶數據為UDP數據。
13.如權利要求10所述的網絡安全裝置,其特征在于,所述處理電路把包含在所述數據包內的所述至少一個特定節點的MAC地址轉換成所述網絡安全裝置的MAC地址。
14.一種把數據包從第一節點傳輸到網絡內的方法,包含下列步驟(1)產生包含所述第一節點的MAC地址、目的地的IP地址和用戶數據的數據包以及,(2)在連接在所述第一節點與所述網絡之間的網絡安全裝置內,把所述第一節點的所述MAC地址轉換成所述網絡安全裝置的MAC地址,以及(3)把所述數據包傳輸給所述網絡。
15.如權利要求14所述的方法,其特征在于,還包含在所述網絡安全裝置內對所述用戶數據進行加密,而保持所述IP地址不加密的步驟。
16.如權利要求14所述的方法,其特征在于,所述用戶數據包括TCP數據包。
17.如權利要求14所述的方法,其特征在于,所述用戶數據包括UTP數據包。
18.如權利要求14所述的方法,其特征在于,所述加密步驟包含協調所述網絡內的所述第一節點與第二節點所共用的對話密鑰的步驟。
19.如權利要求18所述的方法,其特征在于,所述協調共用對話密鑰的步驟包含下列步驟(1)在所述網絡安全裝置上,利用所述第二節點的靜態公共密鑰對所述第一節點的動態公共密鑰進行加密,并把所述第一節點的所述動態公共密鑰傳輸給所述第二節點,(2)從所述第二節點接收所述第二節點的與所述第一節點的靜態公共密鑰加密的動態公共密鑰,并在所述網絡安全裝置內用所述第一節點的靜態保密密鑰對所述第二節點的所述動態公共密鑰進行解密,(3)在所述網絡安全裝置上,根據所述第一主機的動態保密密鑰和所述第二節點的所述動態公共密鑰產生所述共用對話密鑰。
20.如權利要求19所述的方法,其特征在于,所述第一節點保持包含指示所述網絡內其它節點的靜態公共密鑰的信息的靜態數據庫,所述網絡安全裝置根據該數據庫獲得所述第二節點的所述靜態公共密鑰。
21.如權利要求20所述的方法,其特征在于,所述網絡安全裝置保持包括所述共用對話密鑰指示器的動態數據庫。
22.一種把數據包從一節點傳輸到網絡內的方法,其特征在于,包含下列步驟(1)產生包含所述主機MAC地址、目的地的IP地址和用戶數據的數據包,(2)在連接所述主機所述網絡之間的網絡安全裝置中,對所述用戶數據進行加密,而不對所述IP地址加密,(3)把所述數據包傳輸到所述網絡內。
23.在一種組合中,包含一在網絡中的節點,以及連接在所述節點所網絡之間的安全裝置,所述安全裝置防止所述節點改變其IP地址,使所述節點不能仿真所述網絡內的另一節點。
24.如權利要求22所述的組合,其特征在于,所述安全裝置在永久存儲器內存儲所述IP地址,阻止從與所述存儲的IP地址不同的IP地址的所術節點處接收的數據包進入所述網絡。
25.如權利要求22所述的組合,其特征在于,所述安全裝置包含連接到所述節點的第一網絡接口、連接到所述網絡上的第二網絡接口,和連接到所述第一第二接口上以對用戶數據加密而不對IP地址加密的處理電路。
26.一種防止網絡中的節點仿真所述網絡內的另一節點的方法,其特征在于,所述方法包含下列步驟(1)在連接在所述第一節點和所述網絡之間的網絡安全裝置的存儲器內,永久地存儲所述節點的特征地址,和(2)利用所述網絡安全裝置,阻止所述節點用與永久存儲地址不同的源地址進入所述網絡在所述網絡安全裝置上接收數據包。
27.如權利要求26所述的方法,其特征在于,所述特征地址為IP地址或MAC地址。
全文摘要
一種網絡安全裝置(10),連接在受保護客戶機(12)與網絡(100)之間。網絡安全裝置(10)與另一受保護客戶機協調對話密鑰。然后,對兩客戶機之間的所有通信進行加密。本發明的裝置是自配置的,它把自己鎖定在其客戶機(12)的IP地址上。因此,一旦設備后客戶機(12)不能改變其IP地址,所以不能仿真另一客戶機的IP地址。當從受保護主機傳輸數據包時,在把數據包傳輸到網絡內之前,安全裝置(10)把客戶機的MAC地址轉換成其自己的MAC地址。定址到主機的數據包含有安全裝置的MAC地址。在把數據包傳輸給客戶機(12)之前,安全裝置(10)把其MAC地址轉換成客戶機(12)的MAC地址。
文檔編號H04L29/06GK1173256SQ96191481
公開日1998年2月11日 申請日期1996年9月6日 優先權日1995年9月18日
發明者阿隆·弗里德曼, 本·蔡恩·利維 申請人:數字保證網絡技術股份有限公司