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