王謹旗
摘? ?要:SSL VPN安全網關為傳輸層和應用層協議提供安全隧道,利用安全隧道技術,在傳輸層實現互聯網網絡信息的安全保護,能夠利用公共網絡為用戶建立虛擬的專用網絡,提供比專網更加安全的通信信道。SSL VPN安全網關以國家密碼管理局審批的密碼卡為基礎密碼器件,為其提供密鑰運算、密鑰保護、密鑰備份恢復等功能;操作系統采用裁剪的Linux系統,同時,嚴格遵循國家密碼管理政策和相關設計規范,實現了基于傳輸層的SSL VPN安全網關,為各種應用提供了身份認證和安全傳輸的需求。在政府、金融、運營商、能源、交通等領域具有廣泛的用途,有明顯的社會效益和經濟效益。文章對此展開了分析。
關鍵詞:國密算法;SSL VPN;安全網關;輸控制協議/因特網互聯協議
自身的缺陷、網絡的開放性以及黑客的攻擊是造成互聯網絡不安全的主要原因。傳輸控制協議/因特網互聯協議(Transmission Control Protocol/Internet Protocol,TCP/IP)作為Internet使用的標準協議集,是黑客實施網絡攻擊的重點目標。TCP/IP協議組是目前使用最廣泛的網絡互連協議。但TCP/IP協議組本身存在著一些安全性問題。TCP/IP協議是建立在可信的環境之下,首先考慮網絡互連缺乏對安全方面的考慮,基于地址的協議本身就會泄露口令,而且經常會運行一些無關的程序,這些都是網絡本身的缺陷。互連網技術屏蔽了底層網絡硬件細節,使得異種網絡之間可以互相通信。這就給“黑客”們攻擊網絡以可乘之機。由于大量重要的應用程序都以TCP作為其傳輸層協議,因此TCP的安全性問題會給網絡帶來嚴重的后果[1]。網絡的開放性、TCP/IP協議完全公開、遠程訪問使許多攻擊者無須到現場就能夠得手,連接的主機基于互相信任的原則等性質使網絡更加不安全。這種不安全性會造成巨大的社會影響和經濟損失。
1? ? 項目背景
虛擬專用網(Virtual Private Network,VPN)是解決通信安全問題的有效方式,是目前信息安全領域重要研究領域之一。VPN通過一個私有的通道來創建安全的連接,將遠程用戶、公司分支機構、公司的業務合作伙伴用企業網連接起來,形成一個擴展的公司企業網。常用的VPN技術分為MPLS VPN,SSL VPN,IPSec VPN和PPTP VPN4種方式。SSL VPN是以HTTPS為基礎的VPN技術,工作在傳輸層和應用層之間。SSL VPN充分利用了SSL協議提供的基于證書的身份認證、數據加密和消息完整性驗證機制,可以為應用層之間的通信建立安全連接[2]。SSL協議指定了一種在應用程序協議和TCP/IP協議之間提供數據安全性分層的機制,它為TCP/IP連接提供數據加密、服務器認證、消息完整性以及可選的客戶認證。他的特點是無需客戶端軟件,使用方便,適用于用戶安裝配置不易或是特定應用情況。安全套接層協議層方案,它只能訪問適用標準的Web創作工具如HTML和JavaScript的應用。這項技術可以分析每個網頁,確保從該網頁引出的程序化的導航路徑通過安全連接,轉發到SSL VPN服務器,為用戶遠程訪問公司內部網絡提供安全保證[3]。
2? ? 設計原則
開發和應用SSL VPN安全網關的目的是保證應用的安全,所以安全網關無論在硬件、軟件、應用接口,還是在管理上,都采用了較完善的安全體系,能確保安全網關自身安全,以及服務接口的安全。采用成熟可靠的技術、先進的設計生產和制造工藝、嚴格執行ISO9000質量管理規定,研制開發出性能穩定可靠的產品。
3? ? 工作原理
SSL VPN安全網關各功能模塊相對獨立,由邏輯系統對其進行有機結合,包括密碼服務模塊服務,SSL模塊,系統管理模塊組成。
密碼服務接口接收密碼作業請求,對密碼作業進行分析調度,將密碼作業請求提交給密碼運算模塊。對密碼運算模塊進行統一調度和分配,并返回密碼運算模塊的處理結果。密碼運算模塊是各種密碼運算函數的集合,包含非對稱算法SM2算法、SM1和SM4對稱加密算法、摘要算法SM3算法以及隨機數生成、證書解析、驗證、簽名的函數等,為SSL模塊和系統管理模塊提供密碼運算支持。
SSL模塊是SSL VPN安全網關的核心組成部分,其通過消息處理服務和應用層的業務系統連接,為其提供消息接收、返回等服務;通過SSL協議模塊和客戶端(用戶)建立SSL握手,并加密與應用的傳輸數據;通過身份認證模塊(證書鏈認證、證書廢除列表模塊、SSL證書防火墻模塊)來鑒別用戶的身份。SSL VPN協議模塊負責SSL服務端與SSL客戶端之間密鑰的協商、握手,產生雙方的工作密鑰,用于加密并認證雙方傳輸數據。SSL身份認證模塊負責對SSL協商中客戶端身份進行鑒別,身份認證模塊分為多種認證方式,包括證書有效性驗證、證書鏈認證、證書廢除列表認證、SSL防火墻,這些方式可以單獨也可以組合使用。
4? ? 工作流程
身份認證流程,系統管理員使用智能密碼鑰匙作為身份證書的密鑰載體,在登錄SSL VPN安全網關時需要進行驗證。服務器在管理員需要登錄時,會從密碼卡中獲取一組隨機數,發送給管理員,管理員使用智能密碼鑰匙對隨機數簽名,同時發送管理員身份證書和簽名值,SSL VPN安全網關在獲取管理員身份證書時會計算hash,并與系統初始化的hash比對,之后驗證證書鏈,最后對簽名值進行驗簽[4]。
備份恢復流程SSL VPN安全網關中的關鍵密鑰需要備份,以便在SSL VPN安全網關中的密鑰損壞或更新密鑰時,及時恢復密鑰。SSL VPN安全網關中需要備份的密鑰為設備簽名密鑰對和設備加密密鑰對。
5? ? 關鍵技術及創新
本項目深度裁剪Linux系統,采用最新的Linux內核,并對Linux內核進行定制,加入安全補丁,上層文件系統均有自己開發。SSL VPN安全網關支持負載均衡,可以在負載均衡器的調度下進行有效工作,并支持多機熱備技術,在一個集群中的設備,可以互為備份,有效地提高可靠性。SSL VPN安全網關采用SVG技術,通過CGI接口,實時動態地獲取SSL隧道的狀態,直觀明了地查看當前SSL隧道的認證協商情況和系統負載情況[5]。
動態加載密碼設備特點,不同加密卡以及加密設備,如何做到無縫切換,不同加密設備之間,在通用運算的接口模塊中,引申引擎概念,每一種加密設備對應一個引擎,這個引擎可以包括對稱加密算法、SM2算法、摘要算法和密鑰管理接口。這樣每一個加密設備都有一個引擎,系統會根據加密卡或者加密機的特征,會自動加載引擎,做到密碼運算設備無縫交接。
6? ? 結語
研制一款支持國產SM1,SM2,SM3,SM4算法,遵循國家密碼管理局頒發的《SSL VPN技術規范》的SSL VPN網關是十分必要的,對于我國電子政務建設、國民經濟信息化建設、信息網絡建設及網絡安全保密系統的建設均具有重要的現實意義。
[參考文獻]
[1]馮登國.公開密鑰基礎設施—概念,標準和實施[J].現代電子技術,2001(2):23.
[2]馬亞娜,錢煥延.用Cookie構建Web安全的實現[J].計算機工程,2002(11):34-35.
[3]李晏睿,趙政.一種基于PKI/PMI的企業安全架構[J].計算機工程與設計,2004(12):95-96.
[4]安繼芳,孫建華.密碼技術與電子商務[J].網絡安全技術與應用,2005(2):10-11.
[5]伍娟.基于國密SM4和SM2的混合密碼算法研究與實現[J].軟件導刊,2013(8):127-130.