李國良 李三平 高健強 劉 川
1(中科恒運股份有限公司 河北 石家莊 050091)2(甘肅省民政廳信息中心 甘肅 蘭州 730030)
民政業(yè)務(wù)涉及到的品類繁多,包括養(yǎng)老、低保、婚姻、基層政權(quán)、殯葬、兒童福利等多項獨立的業(yè)務(wù)類別,而在民政部門內(nèi)部也會根據(jù)不同的業(yè)務(wù)劃分不同的部門,在目前“大數(shù)據(jù)、大平臺”的指引思路下,建立民政統(tǒng)一的智慧應(yīng)用平臺刻不容緩。民政數(shù)據(jù)的特點是分布廣、數(shù)據(jù)量大、涉及多級用戶、數(shù)據(jù)安全要求高。智慧民政應(yīng)用平臺一般集中部署在民政廳的機房中,在建立智慧民政應(yīng)用平臺之前,要確保各級數(shù)據(jù)的安全傳輸,對常用的安全解決方案進行分析。
(1) 專線傳輸。租用已經(jīng)架設(shè)到村(社區(qū))一級的運營商專線,通過購買專線服務(wù)的方式與政務(wù)網(wǎng)專線對接,實現(xiàn)所有數(shù)據(jù)通過專線交互。但每個行政單位每年的線路服務(wù)費用是3 600元,一般省份約有上萬個行政單位,初步計算,每年大約需支付幾千萬元的線路維護費用。
優(yōu)點:數(shù)據(jù)傳輸安全,傳輸速度高,能夠滿足所有單位民政數(shù)據(jù)的提交、獲取要求。缺點:支付費用過高。
(2) 互聯(lián)網(wǎng)數(shù)據(jù)加密。行政單位通過互聯(lián)網(wǎng)與部署在民政廳機房的智慧民政應(yīng)用平臺交換數(shù)據(jù),對傳輸數(shù)據(jù)進行加密,以密文的形式在互聯(lián)網(wǎng)傳輸,智慧民政應(yīng)用平臺對接收到的數(shù)據(jù)解密。
優(yōu)點:費用低,智慧民政應(yīng)用平臺對各類業(yè)務(wù)數(shù)據(jù)使用統(tǒng)一的算法加、解密,工作量小。缺點:數(shù)據(jù)容易被竊取和篡改,尤其是用戶認證數(shù)據(jù),被竊取后影響較大。
(3) 使用SSL VPN。廳里部署一套SSL VPN網(wǎng)關(guān)設(shè)備,智慧民政應(yīng)用平臺各業(yè)務(wù)系統(tǒng)作為訪問資源配置在SSL VPN網(wǎng)關(guān)中,提前給每個行政單位分配VPN賬號。行政單位使用已分配賬號實現(xiàn)SSL VPN認證,認證通過后,建立虛擬傳輸通道,并通過資源訪問各業(yè)務(wù)系統(tǒng)。
優(yōu)點:費用較低,密碼不泄露的情況下,能確保數(shù)據(jù)傳輸?shù)陌踩?。缺點:由于行政單位眾多,已分配密碼不易更換;密碼沒有失效機制。
針對以上分析,本文提出一種基于SSL VPN的安全加固系統(tǒng)。基于LDAP提供的認證中心、方便讀寫、密碼管理等能力,實現(xiàn)了與SSL VPN很好的互補;設(shè)計了“雙認證一加密”的數(shù)據(jù)傳輸安全加固系統(tǒng),確保了數(shù)據(jù)在低成本付出的情況下數(shù)據(jù)的傳輸安全。
LDAP(Lightweight Directory Access Protocol)是輕量級目錄訪問協(xié)議。它是在X.500標準的基礎(chǔ)上發(fā)展起來的,但比X.500更簡單易用,還可以自行定制。LDAP完全支持TCP/IP,所以允許訪問Internet。
(1) 存儲模型。LDAP的存儲類似樹型結(jié)構(gòu),條目的數(shù)據(jù)結(jié)構(gòu)中存儲具體信息。若干條目組成一個目錄信息樹,條目與對象對應(yīng),DN為條目的唯一標識名,每個條目包含多個屬性,且每個屬性有一個或多個值。
LDAP服務(wù)器提供目錄服務(wù),以目錄數(shù)據(jù)庫方式存儲網(wǎng)絡(luò)信息,LDAP協(xié)議的信息模型由目錄信息樹和其相關(guān)概念構(gòu)成。
dc(domain component)表示域名部分,其格式是將完整的域名拆分為幾個部分;cn(common name)代表公共名稱;ou(organization unit)代表組織單位;uid代表用戶ID;關(guān)鍵字sn(surname)代表姓;dn(distinguished name)代表唯一辨別名,rdn(relative dn)代表相對辨別名;關(guān)鍵字c(country)代表國家;關(guān)鍵字o(organization)代表組織名。
(2) 安全模型。LDAP的安全模型主要通過安全通道、身份認證和訪問控制實現(xiàn)。
身份認證:
① 匿名認證。適用于沒有數(shù)據(jù)安全問題且不涉及訪問權(quán)限的完全公開方式。
② 基本認證。通過用唯一辨別名(DN)和密碼實現(xiàn)身份識別,密碼識別分為簡單密碼、摘要密碼認證。
③ SASL(Simple Authentication and Secure Layer)認證。在TLS和SSL安全通道基礎(chǔ)上實現(xiàn)的身份認證,包括以數(shù)字證書實現(xiàn)的認證。
LDAP中的通信安全提供了基于TLS/SSL的安全保障。TLS/SSL以PKI信息安全技術(shù)為基礎(chǔ),該安全服務(wù)在Internet上廣泛采用。LDAP通過StartTLS方式啟動TLS服務(wù),該服務(wù)既能夠?qū)崿F(xiàn)客戶端身份與服務(wù)端身份的雙向驗證,又能夠提供通信中數(shù)據(jù)完整性、保密性保護。
訪問控制標準:目前并沒有訪問控制標準,但LDAP的訪問控制相當豐富和靈活。訪問控制策略語句實現(xiàn)LDAP中訪問控制,而訪問控制列表實現(xiàn)應(yīng)用系統(tǒng)和RDBS。
由于行政單位眾多,且組織機構(gòu)龐雜,為了更好地進行認證,在民政廳建立獨立的LDAP服務(wù)器,通過LDAP服務(wù)器來進行所有行政單位用戶的統(tǒng)一管理。LDAP可以根據(jù)組織內(nèi)部的結(jié)構(gòu)來進行人員的劃分,根據(jù)組織內(nèi)部的組織架構(gòu)來建立LDAP的人員用戶結(jié)構(gòu)。
SSL VPN是在傳統(tǒng)VPN和IPSec VPN等成熟技術(shù)基礎(chǔ)上提出來的,SSL VPN的明顯優(yōu)勢在于移動接入和Web安全,它能夠提供遠程安全接入,而不需要安裝或設(shè)定單獨客戶端軟件。SSL在Web的安全性和易用性領(lǐng)域架起了一座橋梁。SSL VPN有三大好處:(1) 它很簡單,不需要過多配置,可以即刻安裝、即刻生效;(2) 不需要安裝獨立客戶端,直接使用瀏覽器內(nèi)嵌的SSL協(xié)議;(3) 兼容性好,能夠適用于任何的操作系統(tǒng)及終端。
目前大部分SSL VPN產(chǎn)品支持Radius、LDAP/AD、LocalDB、第三方CA、Dkey、自建CA、硬件特征碼、動態(tài)令牌、短信認證等多種安全認證方式(如圖1所示),最大程度地保證了合法用戶的介入。
圖1 SSL VPN認證方式
SSL VPN能夠與LDAP進行聯(lián)動,在SSL VPN設(shè)備上無需建立LDAP的用戶,直接把認證數(shù)據(jù)轉(zhuǎn)向LDAP服務(wù)器,讓LDAP直接判斷,如圖2所示。
圖2 SSL VPN與LDAP結(jié)合
智慧民政應(yīng)用平臺部署在民政廳的機房里,很難通過架設(shè)專線到所有行政單位的高成本實現(xiàn)數(shù)據(jù)的安全傳輸,而面對業(yè)務(wù)類型多、涉及范圍廣、數(shù)據(jù)傳輸層級多、安全性要求高等的特性,妥善解決各類民政數(shù)據(jù)傳輸障礙,實現(xiàn)數(shù)據(jù)無縫對接,確保數(shù)據(jù)的安全傳輸,亟需一套高性能的安全加固系統(tǒng)。
在基于SSL VPN的密碼不易更換、密碼失效機制難以控制的基礎(chǔ)上,利用LDAP的優(yōu)良特性,設(shè)計了“雙認證一加密”的實現(xiàn)方案。圖3為系統(tǒng)設(shè)計流程。
圖3 系統(tǒng)設(shè)計流程
應(yīng)用客戶端集成SSL VPN網(wǎng)關(guān)的客戶端,通過SSL VPN配置界面配置服務(wù)端認證程序LDAP的地址和行政區(qū)劃編碼、隨機碼的獲取路徑。
應(yīng)用服務(wù)端認證程序接受客戶端的調(diào)用,生成隨機碼(16位字母和數(shù)字的組合)。提前收集位于互聯(lián)網(wǎng)上用戶的姓名、身份證號、手機號、行政區(qū)劃編碼、單位名稱、郵箱、級別等,錄入到服務(wù)端認證程序的數(shù)據(jù)庫。
客戶端程序啟動后,讓用戶輸入姓名、身份證號、手機號、行政區(qū)劃編碼,把姓名、身份證號、行政區(qū)劃編碼存入到本地的dat文件,并提交到服務(wù)端認證程序,與庫里的已錄入信息進行比對,驗證身份。
驗證通過后,生成隨機碼,把行政區(qū)劃編碼、隨機碼(作為SSL VPN認證的用戶名和密碼)存入LDAP的指定位置。SSL VPN網(wǎng)關(guān)會定時從服務(wù)端認證服務(wù)器的LDAP中讀取行政區(qū)劃編碼。
服務(wù)端認證程序把隨機碼返回給客戶端程序,客戶端程序通過命令復制該隨機碼,啟動SSL VPN客戶端,并最小化自身。
把用戶名和動態(tài)密碼通過內(nèi)部接口傳遞給SSL VPN客戶端,實現(xiàn)到SSL VPN網(wǎng)關(guān)的第二次認證,SSL VPN網(wǎng)關(guān)到LDAP服務(wù)中驗證動態(tài)密碼的合法性,認證通過后,建立VPN傳輸隧道,實現(xiàn)“雙認證一加密”的數(shù)據(jù)安全傳輸模式。
本系統(tǒng)利用LDAP的可操作性和認證功能,研發(fā)了基于SSL VPN的安全加固系統(tǒng),在SSL VPN的基礎(chǔ)上,實現(xiàn)了認證密碼動態(tài)生成、密碼失效機制,保證了民政業(yè)務(wù)數(shù)據(jù)的安全傳輸。圖4為系統(tǒng)結(jié)構(gòu)圖。
圖4 系統(tǒng)結(jié)構(gòu)
錄入:填寫姓名、身份證號、區(qū)劃編碼、手機號等基本信息。
提交:把基本信息提交到服務(wù)端驗證。
保存:基本信息保存到客戶端本地文件,以后登錄時只輸入手機號即可實現(xiàn)第一次認證。
復制動態(tài)密碼:接收到服務(wù)端返回的動態(tài)密碼后,自動復制動態(tài)密碼,供直接粘貼使用。
啟動SSL VPN客戶端:啟動SSL VPN客戶端時,調(diào)用SSL VPN客戶端的啟動程序。當應(yīng)用客戶端完成第一次認證并生成動態(tài)密碼后,啟動SSL VPN客戶端,供第二次認證。
使用.Net的Winform控件開發(fā)客戶端程序,并把SSL VPN客戶端的API集成到雙向認證客戶端程序中,第一次認證完成后,把用戶名和動態(tài)密碼傳遞給SSL VPN客戶端,并把該客戶端程序調(diào)起,向SSL VPN網(wǎng)關(guān)發(fā)起第二次認證。
服務(wù)端WebService接收客戶端程序的調(diào)用,驗證客戶端程序提交的姓名、身份證號、區(qū)劃編碼、手機號,驗證通過后,根據(jù)算法生成16位動態(tài)密碼,把動態(tài)密碼返回給客戶端程序,同時把動態(tài)密碼更新到LDAP中。
服務(wù)端管理工具維護認證所需的基礎(chǔ)數(shù)據(jù),包括姓名、身份證號、區(qū)劃編碼、手機號、單位名稱、郵箱、級別、備注等,維護操作包括查詢、添加、刪除。
用C#語言開發(fā)Webservice和服務(wù)端管理工具,Webservice程序部署在IIS中,以服務(wù)的形式發(fā)布,供雙向認證客戶端調(diào)用。
提前收集所有行政單位用戶的姓名、身份證號、區(qū)劃編碼、手機號,存入Mysql數(shù)據(jù)庫。當客戶端發(fā)起第一次驗證請求時,與庫里的對應(yīng)數(shù)據(jù)進行對比,比對成功后,作為第一次認證通過的依據(jù)。
數(shù)據(jù)加密應(yīng)用客戶端提交的姓名、身份證號、行政區(qū)劃編碼、手機號等信息,會在互聯(lián)網(wǎng)上傳輸,為了保證數(shù)據(jù)傳輸?shù)陌踩耘c真實性,采用加密算法對數(shù)據(jù)進行加密。使用非對稱加密算法MD5對客戶端錄入的基本信息進行加密,確保在互聯(lián)網(wǎng)上傳輸?shù)挠脩艋拘畔⑹敲芪模苑烙脩艋拘畔⑿孤丁?/p>
LDAP做為用戶認證中心,一方面接收應(yīng)用服務(wù)端生成的動態(tài)密碼,并更新到對應(yīng)的樹狀結(jié)構(gòu)的節(jié)點下;另一方面接收SSL VPN網(wǎng)關(guān)的認證,驗證身份的真實性和有效性。在LDAP中管理的密碼,能夠配置密碼失效策略(本系統(tǒng)的密碼失效時間是1分鐘),從而實現(xiàn)了密碼的動態(tài)生成、失效管理,加固了SSL VPN自身的安全性。
用戶維護:收集所有鄉(xiāng)鎮(zhèn)(街道)用戶的區(qū)劃編碼,按節(jié)點錄入到LDAP中User父節(jié)點下,為下一步不斷更新各個子節(jié)點的密碼屬性做準備。
密碼更新:應(yīng)用客戶端每發(fā)起一次認證請求,服務(wù)端都會生成一次唯一的動態(tài)密碼,并更新到LDAP中指定的子節(jié)點屬性下,為下一步用戶使用動態(tài)密碼認證做準備。
用戶認證:SSL VPN網(wǎng)關(guān)接收到SSL VPN客戶端的認證請求后,使用接收到的用戶名和密碼到LDAP中做認證,認證完成后,建立VPN虛擬通道。
密碼失效管理:在User節(jié)點下,建立policy子節(jié)點,在該子節(jié)點下配置密碼失效的策略,包括密碼有效期、密碼長度及復雜度、密碼錯誤驗證次數(shù)、密碼持續(xù)時間等。
接收應(yīng)用客戶端請求:應(yīng)用客戶端嵌入SSL VPN客戶端的啟動程序,自動啟動SSL VPN客戶端。
發(fā)起VPN認證:通過API接收區(qū)劃編碼(做為用戶名)和動態(tài)密碼,發(fā)起認證請求。
接收認證:接收SSL VPN客戶端發(fā)起的認證請求。
驗證密碼:接收到SSL VPN客戶端傳遞的區(qū)劃編碼、動態(tài)密碼后,到LDAP中驗證真實性和有效性。
建立虛擬通道:驗證通過后,建立安全虛擬傳輸通道。
SSL VPN網(wǎng)關(guān)配置LDAP的訪問地址、訪問用戶和密碼,定時從LDAP中把用戶名同步到網(wǎng)關(guān)中,拿到SSL VPN客戶端請求的用戶名和動態(tài)密碼后,到LDAP中驗證,實現(xiàn)了第三方驗證。
本部署方案通過在民政廳單位網(wǎng)絡(luò)出口處旁路部署高性能SSL VPN安全設(shè)備,使用VPN技術(shù)建立專網(wǎng),為省廳與各行政單位之間的各種業(yè)務(wù)、管理和相關(guān)通訊提供安全保障。同時,開啟訪問控制和攻擊防護等功能來保護廳核心區(qū)的服務(wù)器安全。通過安全設(shè)備為接入互聯(lián)網(wǎng)的民政單位辦公網(wǎng)提供安全的上網(wǎng)保障。SSL VPN網(wǎng)關(guān)、應(yīng)用服務(wù)端的WebService部署在互聯(lián)網(wǎng)環(huán)境,便于各個行政單位用戶的訪問和認證,LDAP及應(yīng)用服務(wù)端數(shù)據(jù)庫部署在內(nèi)網(wǎng)環(huán)境,確保用戶賬號信息及基本信息的安全。
為充分驗證該安全加固系統(tǒng)的工程實用性,對系統(tǒng)進行綜合測試。
(1) 功能測試。測試方案如下:
在SSL VPN網(wǎng)關(guān)配置界面配置LDAP的連接地址、用戶名、密碼;
把一套姓名、身份證號、行政區(qū)劃編碼、手機號信息存入應(yīng)用服務(wù)端的Mysql數(shù)據(jù)庫;
在應(yīng)用客戶端輸入姓名、身份證號、行政區(qū)劃編碼、手機號,調(diào)用WebService提交認證信息;
自動啟動SSL VPN客戶端并向SSL VPN網(wǎng)關(guān)發(fā)起認證,認證完成后,能夠建立虛擬專用通道,看到已配置完成的智慧民政應(yīng)用平臺的所有資源;
其他邊界測試。
(2) 性能測試。性能測試方案如表1所示。
表1 性能測試指標
續(xù)表1
(1) 功能測試結(jié)果。能夠?qū)崿F(xiàn)認證請求、生成動態(tài)密碼、動態(tài)密碼1分鐘失效、建立VPN虛擬通道、訪問內(nèi)外智慧民政應(yīng)用平臺資源。
(2) 性能測試結(jié)果。性能測試結(jié)果如表2所示。
通過在單服務(wù)器上壓力測試,400個用戶并發(fā)使用應(yīng)用客戶端發(fā)起調(diào)用,持續(xù)10分鐘加壓,請求數(shù)為4 260,調(diào)用錯誤率為0.00%,平均響應(yīng)時間約為25.8秒,最小響應(yīng)時間為1.35秒,最大響應(yīng)時間為30.4秒。應(yīng)用服務(wù)端最終部署在4節(jié)點集群,能夠滿足實際用戶調(diào)用需求。
本文所設(shè)計與實現(xiàn)的“雙認證一加密”基于SSL VPN的安全加固系統(tǒng),將應(yīng)用客戶端、應(yīng)用服務(wù)端、LDAP、SSL VPN客戶端與SSL VPN網(wǎng)關(guān)結(jié)合到了一起,利用LDAP的可操作性、密碼管理、失效策略、認證中心等特征,有效解決了SSL VPN本身密碼固化、長期有效的問題,極大地增強了SSL VPN的安全性。
“雙認證一加密”的安全加固系統(tǒng)已在多個省份的智慧民政應(yīng)用平臺中得到了使用,從根本上解決了數(shù)據(jù)傳輸?shù)陌踩珕栴},帶來的效益如下:
(1) 該方案只涉及到購買一套安全加固系統(tǒng)、SSL VPN網(wǎng)關(guān)設(shè)備和接入點的費用,相比租用運營商的專線,每省每年要節(jié)省兩個數(shù)量級的費用,給政府節(jié)約了相當可觀的成本。
(2) 動態(tài)密碼隨機生成、1分鐘失效策略,使整套安全加固系統(tǒng)的安全等級有了很大提高,為數(shù)據(jù)更加安全傳輸提供了有力支撐。
(3) 相比傳統(tǒng)VPN設(shè)備,不必為每個行政單位用戶配備一個客戶端硬件。與其他動態(tài)口令設(shè)備相比,該加固系統(tǒng)使用純軟件實現(xiàn)了動態(tài)密碼策略管理,給用戶使用提供了極大地便利,簡化了行政單位工作人員的操作,提高了工作人員的效率。
本系統(tǒng)在所推廣應(yīng)用的幾個省份中,通過幾個版本的迭代,得到了廣大行政單位用戶的好評。