《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業界動態 > 一種新型結構的VPN安全網關平臺設計

一種新型結構的VPN安全網關平臺設計

2008-03-31
作者:梁 錚,黃永峰

  摘 要: 分析了安全網關產品的發展趨勢,從技術和需求等不同角度對其發展思路進行了綜述,指出了傳統VPN安全網關產品的設計缺陷,提出一種新的通用VPN安全網關平臺體系結構,并以IPsec VPN的實現為例,證明了其設計性能上的優勢。
  關鍵詞: VPN 安全網關 “內嵌" title="內嵌">內嵌”結構


  安全網關產品是目前網絡安全類產品中的一個熱點。安全網關類產品的性能和功能一直是一對矛盾。用戶的安全需求通常分為兩類:(1)在公共性較強的網絡節點上,對性能要求很高,但需要的安全策略相對簡單和固定;(2)位于網絡的邊緣處,數據流量較小,安全需求卻非常豐富。
  從技術發展角度看:一方面,ASIC(Application Specific Integrated Circuit)和FPGA(Field Programmable Gate Array)技術已經可以承擔諸如協議處理等原來只能用軟件實現的功能,大量基于硬件處理的產品問世,性能突出,一般應用在萬兆以上速率的網絡中;另一方面,要實現網絡邊緣處復雜的協議處理、靈活的策略控制以及用戶的多變需求,目前的ASIC技術水平尤其是國內的開發能力還有待提高。因此,基于通用處理器/網絡處理器的平臺模式仍將長期存在并將多用于網絡邊緣的VPN(Virtual Private Network)安全網關產品中[1],本文著重討論這一類產品的實現。
1 VPN安全網關存在的問題
  由于IP網絡協議的復雜性,影響VPN安全網關性能的因素非常多。現有平臺的IP包安全處理有幾種典型的方式:(1)在主處理器內部調用軟件模塊,其主處理器承受的壓力很大,無法保證較高的性能;(2)通過一組總線將需要安全處理的數據發送到一個協處理模塊上,完成處理后再送回主模塊。目前多數成熟的VPN安全網關產品都是基于這種設計,例如通過工控機平臺的PCI總線調用PCI加密卡,或者近些年出現的在嵌入式處理器總線上掛接安全模塊" title="安全模塊">安全模塊的方式。
  上述設計簡單且易于實現。在早期,通信接口的性能不高,主要瓶頸不在處理器和總線上。但如今,主模塊的調度協調能力以及與安全模塊之間的總線瓶頸已經嚴重限制了系統的性能。首先,主模塊在調用安全模塊工作時自身處于閑置狀態,無法處理后續的數據包。由于IP協議的復雜和IP包的變長,即使在主模塊中采用了部分流水設計,也難以從根本上改善這種狀況,從而導致IP包處理產生排隊,在較大的壓力下,很容易大量丟包。其次,主模塊與安全模塊之間的數據交換增加了總線處理時間和帶寬壓力。現有安全網關典型結構如圖1 所示。在主模塊和安全模塊之間,雙向的數據流進行了一次迂回,可較粗略地認為該部分的數據帶寬為單向數據流的4倍,而主模塊也相當于進行了2次軟件轉發,如此的結構使得總線處成為一個瓶頸,嚴重限制了系統整體性能。基于以上原因,采用該種模式設計的VPN安全網關其性能很難提升,形成了“只有高速接口,沒有線速能力”的情況,對用戶網絡的影響很大。


2 VPN安全網關平臺的創新
2.1 創新原則和目標

  對于變化較多的虛擬專用網絡,VPN安全網關必須能夠很靈活地適應用戶的各種要求,包括組網方式和定制安全策略等。因此,功能靈活且便于更改的應用層需求是必須保證的。在此基礎上,提高安全網關的處理能力十分重要,在現有百兆、千兆的應用環境下要盡可能地減小對用戶網絡的影響。此外,開發代價以及價格控制都必須考慮。
2.2 結構模式創新的依據
  近年來在國外IP網絡安全應用研究中,出現了一種新思維,其基本模式就是將IP包的協議處理和安全處理與線路串成一線,即避免數據在安全模塊進行處理時的排隊等待,使數據不再經過總線迂回。以實現IPsec的FPGA設計為例,華盛頓大學的一種FPGA驗證設計中,外出數據處理" title="數據處理">數據處理和進入數據處理分別如圖2和圖3所示[2]


  圖2和圖3中,虛線框內的箭頭表示數據流向。以外出數據為例,數據在流經控制邏輯的同時,也進入處理路徑,分別經過包協議處理、AES和HMAC算法處理,然后做校驗準備發送。這樣,安全模塊相當于嵌入在網絡傳輸路徑中,安全模塊處理后的數據包可以直接發送。如此設計的優勢顯而易見,避免了總線迂回造成的瓶頸,同時也使整個處理流程更加符合流水設計的思想。
  基于此種思想的ASIC/FPGA設計目前已經有一些類似的研究,另外很多實際的網關產品為提高性能" title="高性能">高性能也傾向于將盡量多的任務交給硬件去完成。但由于技術的復雜度、需求的多變性以及應用的多樣性等原因,基于純硬件實現的方案有很大局限性。因此,立足通用平臺基礎,設計合理的高性能VPN產品是一件十分有意義的事情。
3 新型結構的VPN安全網關平臺設計
3.1 新型VPN平臺體系結構

  借鑒上述的先進思想并綜合各方面因素,可以開發一種新的、稱為“內嵌”結構模式的平臺化VPN網關體系結構,如圖4所示。其基本設計思想如下:平臺的主要模塊——主模塊和安全模塊串聯于數據處理的路徑上,這樣,安全處理流程相當于內嵌在線路中,數據不再經過總線迂回;主模塊仍舊利用現有的高性能處理器使用軟件方式,主要完成部分協議處理、策略控制以及對用戶的便捷服務;而安全模塊主要采用成熟的FPGA或ASIC設計方式,完成較為固定的一些安全處理,其速度可以保證IP包能夠線速通過。


3.2 “內嵌”結構平臺的設計重點
  采用這種模式讓軟硬件協同工作,很好地解決了設備性能與設計復雜度及成本之間的矛盾,在達到較好性能的同時,具有較高的靈活性和可擴展性。但是,這種結構也存在著實現上的難點,即如何將兩個模塊的任務進行合理劃分。因為從IP網絡未來的發展趨勢看,安全協議已越來越緊密地融入通信協議本身。
  通過分析可以看出,主模塊和安全模塊在構成上具有不同特點。主模塊由高性能的通用處理器/網絡處理器組成,它通過軟件來處理數據包,方便靈活,但處理能力相對硬件而言較弱,因此將能夠保證軟件執行速度、需要靈活處理和日后擴展的功能交由主模塊實現;安全模塊由高性能FPGA/ASIC以及輔助芯片組成,全硬件實現,處理能力強,但是實現復雜,不靈活,適合處理任務相對固定的部分。需要指出的是,各部分功能的執行未必單調地影響性能,必須結合多種因素來較為精確的評估,找到最優點,這是設計工作的關鍵之處。
3.3 主模塊軟硬件設計
  (1)硬件工作。在實驗分析的基礎上,根據需求選擇合適的處理器平臺,完成平臺相關硬件的研制開發工作,建立完整的硬件平臺應用體系。在選擇中主要考察的因素包括:運算速度、通信控制器的能力、外圍資源以及開發難度和價格等。
  (2)軟件工作。編寫優化協議實現代碼和數據結構,以完成“內嵌”結構下主模塊的通信功能和部分安全功能;同時,編寫高效的網絡接口驅動程序,以達到高吞吐率" title="吞吐率">吞吐率的要求,可參考一些成熟的代碼,例如穩定版本的Linux源代碼。
3.4 安全模塊設計
  安全模塊基本考慮功能相對固定、模塊化好、使用硬件邏輯實現較為固定的協議處理和算法,對于MAC處理等可考慮增加一些外圍輔助芯片,以減少總體邏輯設計的復雜度。在設計好明確的功能后,寫出功能需求,進行設計開發,其基本要求是能夠高速地處理通過報文,一般情況下應能達到線速。
4 新結構設計及應用中的性能分析
4.1 模塊功能劃分的依據

  每一類功能的實現都需要軟硬件合理分工,協調工作,以發揮出系統結構的優越性。以IPsec VPN功能的實現為例,IPsec中包含了大量的安全協議和管理體系,需要量化地分析出一個完整IPsec處理流程中各部分的相對工作量,并結合處理器找出瓶頸和優化工作目標。對此,可采用如下方式:
  (1)使用相同版本、同樣功能的已有軟件(如2.4版本Linux內核+Freeswan1.99.8,Freeswan1.99.8主要完成IPsec功能)在已有不同平臺(如PC機、PowerPC系列開發平臺和AMCC等)上分別測試不同長度IP包的吞吐率。此測試為處理器本身的選型和設計搭配提供依據。
  (2)使用相同的平臺,同樣軟件,通過添加不同功能(例如純透傳方式、ESP隧道模式、屏蔽算法、添加不同算法等),測試不同長度IP包的吞吐率。此測試可分析各功能塊對系統性能的影響并找出軟件部分的優化目標。
  (3)幾種典型軟硬件組合方式測試。
  在得出相應的數據后,綜合分析各方因素,結合具體平臺,完成總體設計。
4.2 工作模式的選擇
  該網關可以采用幾種不同的安全工作模式,其安全性各不相同,處理效率也不一樣。一般而言,安全保護越完善,其額外開銷越大。IPSec標準規定的加密工作模式有ESP(Encapsulating Security Payload)傳輸模式和ESP隧道模式[3]。為了提高傳輸效率,可以自定義“純加密”模式。


4.3 設計及實現示例
  根據主模塊和安全模塊的特點,可對工作任務進行一種合理劃分:安全模塊處理能力強,可利用硬件完成密鑰匹配策略、數據包加解密和認證工作;主模塊程序設計靈活,可完成IKE(Internet Key Exchange)密鑰協商、組包/拆包、分片/組片、策略查找、路由查找等功能。這種模式可以很好地讓軟硬件協同工作,較理想地解決了設備性能與設計復雜度及成本之間的矛盾,在達到較好性能的同時,具有很高的靈活性和可擴展性。圖5以數據外出方向為例具體描述安全網關在執行ESP隧道加密模式時對IP包的處理流程。
  以上是以IPsec的實現為例說明軟硬件功能協調劃分的重要性。在實際應用中,對于每一類功能,如入侵檢測、防病毒、NAT(Network Address Translator)穿越和多播等,都可以結合實際情況分配最優實現位置,對于主模塊處理器的選擇和搭配也可以根據處理任務量來決定,提高平臺的整體性價比。
4.4 與傳統結構平臺的性能對比
  通過一組實驗數據能夠驗證新型結構對性能的提升作用。為了在盡量相似的環境下比較,可以以Freescale(飛思卡爾半導體公司)的某款PowerPC處理器平臺為基礎,利用已有的Linux2.4內核和Freeswan1.99.8,進行IP包百兆情況下雙向全雙工吞吐率測試。測試1:處理器執行完整功能的IPsec,包括一組標準的加密算法(軟件實現3DES算法);測試2:利用處理器總線調用加密模塊(3DES算法);測試3:新型“內嵌”模式。表1列出了雙向全雙工吞吐率測試結果。


  在主模塊處理器相同的情況下,新結構的性能有明顯的提升。特別需要指出的是:該測試僅為了在相同條件下進行對比。事實上,如果根據需要合理地選擇處理器及優化軟件,其測試可以達到很高的性能,采用FPGA設計的安全模塊也完全滿足線速要求。可見,避免復雜的算法處理等待和總線迂回,再加上必要的優化設計,新結構VPN安全網關的性能能夠提升到一個很高的層次。
  “內嵌”模式結構是一種先進的VPN安全網關平臺結構,具有較強的可行性,較低的成本。在百兆和千兆網絡吞吐率的測試中,其平臺性能大大好于傳統結構的VPN產品,一般情況下能夠達到網絡包線速處理,且應用靈活,便于修改,對于特定用戶的需求,例如定制自有算法、適應復雜網絡等都可以很好地滿足。“內嵌”結構中各模塊的任務劃分和協同工作方式可作為以后高性能VPN專用芯片設計的重要參考,其平臺性能的測試數據也可以作為系列新產品的定型依據,具有非常廣闊的發展空間。
參考文獻
1 李 軍.第三代安全網關:中國安全產業新機遇.互聯網周刊,2003;(43)
2 Lu J,Lockwood J.IPSec implementation on xilinx virtex-II Pro FPGA and its application.In:19th IEEE international parallel and distributed processing symposium(IPDPS′05),2005
3 Kent S,Atkinson R.IP encapsulating security payload.RFC2406,1998

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 日韩综合在线 | 大伊人网 | 欧美亚洲综合在线 | 亚洲天堂精品在线 | 乱人伦中文字幕视频 | 麻豆国产精品高中生视频 | 日韩福利一区 | 亚洲一区精品在线 | 日本黄色影院在线观看 | 一本大道在线观看 | 狠狠色综合网站久久久久久久 | 日韩一区二区免费看 | 91亚洲国产在人线播放午夜 | 国产一级α片 | 日本黄a三级三级三级 | 国产久爱青草视频在线观看 | 免费一级片在线观看 | 亚洲一级毛片 | 欧美极品第一页 | 人喾交性专区免费看 | 高清freexxxx性 | 2048国产精品原创综合在线 | 视频国产在线 | 午夜影视免费 | 9191亚洲高清国产 | 欧美日韩在线看 | 亚洲欧美在线观看 | 欧美性猛交xxxxbbbb | 九九黄色大片 | 一级毛片aaaaaa免费看 | 蝌蚪网在线视频 | 日韩在线你懂的 | 日本三级香港三级少妇 | 色综合天天综合 | 日韩亚洲欧美视频 | 十八成人网 | 免费国产小视频 | 国产精品久久久亚洲 | 欧美日韩在线吹潮视频 | 免费操片 | 国语对白自拍 |