一種基於fdp250k-iifpga晶片與cpu並行加解密計算的sslvpn實現方法
2024-01-22 06:28:15
專利名稱:一種基於fdp250k-ii fpga晶片與cpu並行加解密計算的ssl vpn實現方法
技術領域:
本發明涉及計算機軟體技術領域,尤其涉及一種SSL VPN實現方法,特別涉及一種基於FDP250K-II FPGA晶片與CPU並行加解密計算的SSL VPN實現方法。
背景技術:
SSL安全網關因其複雜和嚴格的用戶安全認證及通訊加密,SSL協議的數據計算需要佔用大量的網絡和處理器資源,大部分基於軟體的SSL Proxy最高只能處理數百兆的數據流量,在大並發用戶操作的情況下極易耗盡設備資源,造成的伺服器癱瘓和網絡擁塞。本發明基於復旦大學自主開發的FDP250K-II FPGA晶片的SSL協議加速器應用方案,主要是採用FDP250K-II FPGA晶片的硬體資源來卸載主處理器的SSL握手函數,通過硬體處理邏輯來負荷最大量的專門數據計算,使得主處理器能夠有足夠的剩餘能力來處理其他任務,提高SSL安全網關的處理能力。本發明採用模塊化和層次化的設計方式,從安全性、高性能、靈活性和可擴展性等方面,設計TCP/IP網絡環境下的安全網關安全體系模型。主要技術有網絡層和應用層安全協議、信息加密和完整性保護技術、應用代理技術待等。網關系統採用以FPGA作為SSL 安全協議加速器設計的方式,實現數據的加解密處理,通過SSL模塊調用,加解密採用硬體與軟體協同工作的方式實現。
發明內容
本發明的目的是提供一種基於FDP250K-II FPGA晶片與CPU並行加解密計算的 SSL VPN實現方法。該方法利用復旦大學自主開發的FDP250K-II FPGA晶片的SSL協議加速器功能,通過採用硬體加速的方式來分擔伺服器荷載,以提供安全、可靠的遠程接入訪問服務。所實現的硬體邏輯運行速率高,減輕了主CPU運算負荷,提高了系統的並發處理速度和用戶訪問速度。本發明的目的可以通過以下技術方案來實現基於國產自主智慧財產權FDP250K-II FPGA晶片的SSL安全協處理器應用開發方案,採用FDP250K-II FPGA晶片來協同和加速處理用戶鑑權協議以及通道加解密,通過採用硬體加速的方式來分擔伺服器載荷,以提供安全、可靠的遠程接入訪問服務。SSL協議加速器實現如下圖所示。
圖1FDP250K-II應用於SSL協議加速實現框圖方案設計的應用系統分為控制路徑(control path)和數據路徑(data path)兩部分控制路徑用於編程系統參數、整合系統狀況,以及為用戶提供實時系統分析;數據路徑用於完成網絡數據的加密、解密和相關的運算。採用FDP250K-II開發的SSL加速模塊FDP250K-II FPGA配置於數據路徑中,由入口 parser決定FDP250K-II的運算方式。處理器將需要運算的數據塊以及相關指令送至FDP250K-II,FDP250K-II根據內部的硬體處理邏輯、按規定的方法梯次執行運算,再將運算結果送回至處理器。能夠大大提高信道 (session)建立以及數據編/解碼的速度,是達成有效軟硬體資源分配的最佳方案。
具體實施例方式為使本發明實現的技術手段、創作特徵、達成目的與功效易於明白了解,下面結合具體實施方式
,進一步闡述本發明。一種基於FDP250K-II FPGA晶片與CPU並行加解密計算的SSL VPN實現方法,其特徵在於採用FDP250K-II FPGA晶片來協同和加速處理用戶鑑權協議以及通道加解密, 通過採用硬體加速的方式來分擔伺服器荷載,以提供安全、可靠的遠程接入訪問服務。所實現的硬體邏輯運行速率高,減輕了主CPU運算負荷,提高了系統的並發處理速度和用戶訪問速度。在SSL VPN接收到加密數據時,將所有數據放入到income隊列,對每個消息進行處理,把處理後的數據放入到加解密消息隊列,由消息管理線程進行調度處理。SSL VPN網關在處理完客戶端請求後,就向請求客戶端返回處理結果。在SSL VPN網關返回結果數據之前,會先對數據進行加密,然後再把加密後的數據返回到客戶端。在實現並行計算時,SSL VPN網關會把數據放入output數據隊列,以備調度線程調用。無論在income數據隊列還是在outcome隊列,每個數據都有自己的獨立的狀態, 主要用於調度線程,數據的主要狀態有 等待狀態wait 運行狀態 running 完成狀態 finishedSSL VPN從網關接收由客戶端發送的請求數據時,直接把數據放入income數據隊列中,數據的初始狀態置為等待狀態。SSL VPN在處理完從客戶端發送的請求後,向客戶端返回結果前,把要發送的數據直接放入outcome數據隊列中,數據的初始狀態置為等待狀態。隊列中數據中為運行狀態的數據項表示,調度線程已把數據交由FDK250或CPU進行加解密處理,但還沒有完成。完成狀態表示數據的加解密處理已由FDK250或CPU完成,SSLVPN網關可以把數據返回給客戶端。SSL VPN income前置處理主要是從客戶端接收請求,對加密的請求數據進行處理,把加密後的數據項放入income隊列中。SSL VPN income後置處理主要是從income隊列中查詢完成解密的數據項,把明文數據傳遞給相應的請求處理程序進行處理,並從隊列中刪除已處理過的數據項。解密過程如下圖所示圖2解密過程SSL VPN outcome前置處理主要是SSL VPN請求處理程序接收要求返回的結果數據,進行相應的數據處理後,把明文數據項放入output隊列中。SSL VPN outcome後置處理主要是從outcome隊列中查詢完成加密的數據項,把加密後的密文返加相應的請求客戶端,並從隊列中刪除已處理的數據項。
加密過程如下圖所示圖3加密過程調度線程主要是實現調度算法,對加解密消息隊列outcome解密隊列進行管理和調度。調度線程通過對隊列的計算和狀態檢查,了解當前的數據量;通過對CPU負載的檢查,掌握當前的CPU的空閒程序,然後根據調度算法,確定是否採用CPU進行加解密處理。
權利要求
1. 一種基於FDP250K-II FPGA晶片與CPU並行加解密計算的SSL VPN實現方法,其特徵在於採用FDP250K-II FPGA晶片來協同和加速處理用戶鑑權協議以及通道加解密,通過採用硬體加速的方式來分擔伺服器荷載,以提供安全、可靠的遠程接入訪問服務。所實現的硬體邏輯運行速率高,減輕了主CPU運算負荷,提高了系統的並發處理速度和用戶訪問速度。
全文摘要
一種基於FDP250K-II FPGA晶片與CPU並行加解密計算的SSL VPN實現方法,其特徵在於採用FDP250K-II FPGA晶片來協同和加速處理用戶鑑權協議以及通道加解密,通過採用硬體加速的方式來分擔伺服器荷載,以提供安全、可靠的遠程接入訪問服務。所實現的硬體邏輯運行速率高,減輕了主CPU運算負荷,提高了系統的並發處理速度和用戶訪問速度。
文檔編號H04L29/08GK102377754SQ20101025966
公開日2012年3月14日 申請日期2010年8月20日 優先權日2010年8月20日
發明者周蕾, 張勇進, 王從勝 申請人:上海海加網絡科技有限公司