馬驄
摘 要:文章首先介紹分析了SSL協(xié)議,探討了SSL協(xié)議對(duì)VPN支持的方面可能存在缺陷,并提出了引入PKI數(shù)字證書(shū)系統(tǒng),用于解決網(wǎng)絡(luò)環(huán)境下身份認(rèn)證、訪問(wèn)控制等存在的問(wèn)題,以來(lái)增強(qiáng)SSL VPN系統(tǒng)的安全性,并對(duì)PKI的加密算法的安全性進(jìn)行了分析比較?;赑KI技術(shù)的SSL VPN技術(shù)有效的彌補(bǔ)了SSL VPN在安全性的不足,添加了用戶(hù)權(quán)限分級(jí)控制,滿(mǎn)足了不同層次的需求,可以更加靈活配置管理遠(yuǎn)程接入的訪問(wèn),實(shí)現(xiàn)了資源的安全共享。
關(guān)鍵詞: SSL 協(xié)議; PKI 技術(shù); 數(shù)字證書(shū); VPN; 網(wǎng)絡(luò)技術(shù)
中圖分類(lèi)號(hào):TP393.08 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)12-0040-02
Abstract:This paper first introduces the SSL protocol, and discusses the possibility of how to use SSL protocol to support VPN. This paper introduces the PKI system to construct the secure and effective highly system which can support SSL VPN technology. The PKI system can vouch for the security of transmit, guarantee the users identity, and solve the problem of authentication.
Key words:SSL; PKI; digital certificate system; VPN; network
1 概述
SSL VPN是近年來(lái)興起的一種新的VPN技術(shù),是一種解決遠(yuǎn)程用戶(hù)安全訪問(wèn)本地網(wǎng)絡(luò)中敏感數(shù)據(jù)的解決方法。SSL VPN技術(shù)[1]有著易于實(shí)現(xiàn)安裝,不需要安裝客戶(hù)端,成本低廉,細(xì)粒度的訪問(wèn)控制等優(yōu)勢(shì),適用于遠(yuǎn)程分散用戶(hù)的鏈接。然而隨著SSL VPN的廣泛應(yīng)用,SSL VPN技術(shù)也暴露出來(lái)一些問(wèn)題,例如黑客會(huì)利用所控制的合法終端進(jìn)行攻擊或造成數(shù)據(jù)的泄漏。SSL VPN雖然能夠抵御外部用戶(hù)的終端的攻擊,但是針對(duì)這些來(lái)自合法用戶(hù)的攻擊比較無(wú)力。
因此,本文將從SSL VPN存在的問(wèn)題入手,針對(duì)這些安全保護(hù)上問(wèn)題引入數(shù)字證書(shū)和數(shù)字簽名技術(shù),改進(jìn)了SSL VPN的安全性能,從而使其滿(mǎn)足達(dá)到應(yīng)用到遠(yuǎn)程測(cè)控網(wǎng)絡(luò)的構(gòu)建的安全性的要求。
2 SSL VPN技術(shù)概述
SSL VPN技術(shù)是在現(xiàn)有的SSL協(xié)議的應(yīng)用基礎(chǔ)上發(fā)展而來(lái)的,它增加了客戶(hù)端執(zhí)行訪問(wèn)控制和安全的級(jí)別和能力。SSL協(xié)議一般位于TCP/IP協(xié)議與各種應(yīng)用層協(xié)議之間,其可分為兩層: SSL記錄協(xié)議層,SSL握手協(xié)議層。SSL握手協(xié)議是建立在可靠的傳輸協(xié)議(如TCP)之上,為高層協(xié)議提供數(shù)據(jù)封裝、壓縮、加密等基本功能的支持。SSL記錄協(xié)議是建立在SSL握手協(xié)議之上,用于在實(shí)際的數(shù)據(jù)傳輸開(kāi)始前,通訊雙方進(jìn)行身份認(rèn)證、協(xié)商加密算法、交換加密密鑰等。
3 基于PKI技術(shù)的SSL VPN設(shè)計(jì)
3.1 PKI技術(shù)概述
公鑰基礎(chǔ)設(shè)施Public Key Infrastructure(PKI)[2,3]是一個(gè)采用非對(duì)稱(chēng)密碼算法原理和技術(shù)實(shí)現(xiàn)的、具有通用性的安全基礎(chǔ)設(shè)施。該設(shè)施通過(guò)規(guī)范化地管理密鑰,并利用數(shù)字證書(shū)上的數(shù)字簽名來(lái)標(biāo)識(shí)在密鑰持有人的身份,為應(yīng)用系統(tǒng)進(jìn)行身份驗(yàn)證、數(shù)據(jù)的完整性和保密性、不可否認(rèn)性等來(lái)進(jìn)行安全保障的措施,從而提供一個(gè)安全可靠的系統(tǒng)環(huán)境。常見(jiàn)的PKI系統(tǒng)如下圖所示:
PKI系統(tǒng)的基礎(chǔ)是數(shù)字證書(shū)[2,4,5]。數(shù)字證書(shū)其主要用于在網(wǎng)絡(luò)業(yè)務(wù)活動(dòng)中對(duì)實(shí)體標(biāo)識(shí)身份,方便通信雙方對(duì)其身份的驗(yàn)證,也會(huì)對(duì)證書(shū)的有效期進(jìn)行檢查,保證了不可抵賴(lài)性,解決了雙方信任問(wèn)題。 數(shù)字證書(shū)通常由證書(shū)認(rèn)證中心簽名并發(fā)布出來(lái),包含了公鑰持有者的信息以及公開(kāi)的密鑰的文件。
數(shù)字證書(shū)主要分為兩大類(lèi),一類(lèi)是簽名證書(shū),主要用于對(duì)用戶(hù)信息進(jìn)行簽名,保證信息的不可否認(rèn)性和不可抵賴(lài)性;另一類(lèi)則是加密證書(shū),主要用于傳輸過(guò)程中對(duì)用戶(hù)傳送的信息進(jìn)行加密,以保證信息的真實(shí)性和完整性。
而數(shù)字證書(shū)的安全性則由加密算法的優(yōu)劣來(lái)決定。目前常見(jiàn)的非對(duì)稱(chēng)加密算法主要有RSA,DSA和ECC。三種加密算法都有著很高的安全性,但以本文的角度上來(lái)考慮到用戶(hù)訪問(wèn)的數(shù)據(jù)能夠在最短的時(shí)間內(nèi)進(jìn)行加密或解密從而進(jìn)行傳輸。所以本文會(huì)以加解密算法的復(fù)雜度作為首要條件進(jìn)行考慮,綜合考慮加密算法的安全性,最后選擇了橢圓曲線(xiàn)加密算法—ECC。
3.2 EEC算法
橢圓曲線(xiàn)加密算法ECC是一種公鑰加密算法,它具有計(jì)算量小,存儲(chǔ)空間占用小,帶寬要求低等優(yōu)點(diǎn)。它的算法的核心思想是利用橢圓曲線(xiàn)上的有理點(diǎn)構(gòu)成Abel加法群上橢圓離散對(duì)數(shù)計(jì)算的復(fù)雜性。
3.3 實(shí)驗(yàn)結(jié)論
目前市面上的SSL大部分采用的是RSA非對(duì)稱(chēng)加密算法,因此本文選取了RSA與EEC加密算法的比較。在實(shí)驗(yàn)過(guò)程分別采用了依次遞增加密密鑰長(zhǎng)度,來(lái)測(cè)試兩個(gè)算法的耗時(shí)和效率。
根據(jù)圖4和圖5的結(jié)果,可以得到實(shí)驗(yàn)結(jié)論為:隨著密鑰長(zhǎng)度越來(lái)越長(zhǎng),RSA性能大為降低。而ECC的算法則上升程度有限??偟膩?lái)說(shuō),EEC算法比RSA更為適用與進(jìn)行數(shù)字證書(shū)的加密。
3.4 PKI技術(shù)在SSL VPN中的應(yīng)用
系統(tǒng)設(shè)計(jì)的目標(biāo)是建立一個(gè)具有高安全性,能夠適用基于互聯(lián)網(wǎng)進(jìn)行遠(yuǎn)程測(cè)控系統(tǒng)通信的SSL VPN安全系統(tǒng)。系統(tǒng)采用SSL協(xié)議為基礎(chǔ),引入PKI數(shù)字證書(shū)技術(shù),來(lái)保證測(cè)控信息通道安全的安全通訊系統(tǒng)。系統(tǒng)主要完成的工作分為以下幾個(gè)部分:
(1)建立SSL VPN服務(wù)器
(2)建立認(rèn)證中心CA,實(shí)現(xiàn)對(duì)數(shù)字證書(shū)的發(fā)放、管理和作廢等功能。
(3)建立LDAP目錄服務(wù)器,用于查詢(xún)用戶(hù)信息等功能。
SSL VPN服務(wù)要能夠接受用戶(hù)的訪問(wèn),提供給用戶(hù)相應(yīng)的功能權(quán)限,并能對(duì)訪問(wèn)的用戶(hù)進(jìn)行管理。用戶(hù)從PKI數(shù)字證書(shū)系統(tǒng)中去申請(qǐng)用于建立SSL連接的所需求的數(shù)字證書(shū),同時(shí)也會(huì)去申請(qǐng)角色的權(quán)限(通常內(nèi)嵌在數(shù)字證書(shū)中)。管理員根據(jù)不同的需求分配不同的角色給用戶(hù),以便用戶(hù)使用自己相應(yīng)的資源。SSL VPN應(yīng)用服務(wù)器根據(jù)用戶(hù)的權(quán)限進(jìn)行識(shí)別,然后建立起一個(gè)隧道連接,同時(shí)也會(huì)檢測(cè)訪問(wèn)的權(quán)限范圍,提供相應(yīng)的操作結(jié)果值和安全范圍內(nèi)的資源給用戶(hù)。
在用戶(hù)的訪問(wèn)請(qǐng)求階段,SSL握手協(xié)議層中采用了生成隨機(jī)碼和驗(yàn)證,保證建立過(guò)程的唯一性和隨機(jī)性。利用了PKI數(shù)字證書(shū)技術(shù)對(duì)用戶(hù)的身份進(jìn)行驗(yàn)證。采用了用戶(hù)角色的設(shè)計(jì),對(duì)不同的用戶(hù)提供了不同的訪問(wèn)權(quán)限等級(jí),保障了應(yīng)用服務(wù)器上的資源的安全使用。在SSL協(xié)議層采用了多種方法對(duì)數(shù)據(jù)的傳輸過(guò)程進(jìn)行加密。同時(shí),在傳輸數(shù)據(jù)過(guò)程中采用MAC算法對(duì)傳輸數(shù)據(jù)的完整性進(jìn)行驗(yàn)證,保證了數(shù)據(jù)的完整性。
4 結(jié)論
通過(guò)引入了PKI數(shù)字證書(shū)系統(tǒng),彌補(bǔ)了SSL VPN在安全性方面的不足,添加了用戶(hù)權(quán)限分級(jí)控制,滿(mǎn)足了不同層次的需求,可以更加靈活配置管理遠(yuǎn)程接入的訪問(wèn),實(shí)現(xiàn)了資源的安全共享,極大提高了系統(tǒng)的數(shù)據(jù)的安全性,更能適應(yīng)不同的數(shù)據(jù)操作環(huán)境。
參考文獻(xiàn):
[1] Charlie Hosner. OpenVPN and the SSL VPN Revolution. http://openvpn.net/index. php/open-source/articles.html .
[2] 徐勇,袁丁.數(shù)字證書(shū)的研究與實(shí)現(xiàn)[J].通信技術(shù),2009(1).
[3] 虞歌. PKI體系的分析[J]. 現(xiàn)代計(jì)算機(jī), 2003(7).
[4] 張仕斌,何大可,盛志偉. PKI安全認(rèn)證模型的分析與研究[J]. 成都信息工程學(xué)院學(xué)報(bào),2006(3).
[5] 徐慶征.公開(kāi)密鑰基礎(chǔ)設(shè)施PKI及其體系結(jié)構(gòu)的研究[J]. 數(shù)據(jù)通信,2004(3).
[6] Ramy K. Khalil,F(xiàn)ayez W. Zaki,Mohamed M. Ashour, et al.A Study of Network Security Systems[J]. International Journal of Computer Science and Network Security ,2010.
[7] 陳向榮,余勝生.IPSec-VPN中應(yīng)用PKI的研究與實(shí)現(xiàn)方案[J]. 計(jì)算機(jī)與數(shù)字工程,2002(6).
[8] Eric Young.OpenSSL project[EB/OL]. http://www.openssl.org .
[9] Younglove R.Virtual Private network show they work[J]. Computing &Control Engineering Journal,2005,11(5).