谷小青+曹晴+樊彩霞+袁超
摘 要: 授權(quán)模塊是SSL VPN系統(tǒng)的基礎(chǔ)模塊,主要是對系統(tǒng)內(nèi)的用戶進行訪問控制。 動態(tài)授權(quán)模型是在RBAC的基礎(chǔ)之上,為了滿足SSL VPN系統(tǒng)的訪問控制需求,引入了客戶端的安全狀態(tài)值,根據(jù)用戶的角色和安全狀態(tài)值來判定用戶的最終訪問權(quán)限,用于控制不同安全狀態(tài)客戶端的訪問請求,進一步提高了SSL VPN系統(tǒng)的安全性能。
關(guān)鍵字: SSL VPN系統(tǒng); 動態(tài)授權(quán); RBAC; 安全狀態(tài)
中圖分類號: TN915.08?34 文獻標識碼: A 文章編號: 1004?373X(2014)21?0092?02
Application of RBAC?based dynamic authorization model in SSL VPN system
GU Xiao?qing, CAO Qing, FAN Cai?xia, YUAN Chao
(College of Sciences, Henan Agricultural University, Zhengzhou 450002, China)
Abstract: The authorization module is the basic module of SSL VPN (security socket layer virtual private network) system, which mainly executes the control of user access in the system. The dynamic authorization model is based on the RBAC to meet the needs of access control in SSL VPN system. The safety state value in the client is introduced in the system to determine the final access authority according to the user′s role and safety state value. It is used to control the client access requests in different security status, so as to further improve the safety performance of SSL VPN system.
Keywords: SSL VPN system; dynamic authorization; role?based access control; security state
0 引 言
隨著計算機網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,企業(yè)的信息化程度得到了很大的提高,企業(yè)公司分支機構(gòu)、商業(yè)伙伴及供應(yīng)商同公司位于不同的地方。如何在他們之間建立一條專用的安全的通信線路,成為企業(yè)快速發(fā)展需解決的重要問題。虛擬專用網(wǎng)(Virtual Private Network,VPN)是通過一個公用網(wǎng)絡(luò)(通常是因特網(wǎng))建立一個臨時的、安全的連接,是一條穿過混亂的公用網(wǎng)絡(luò)的安全、穩(wěn)定的隧道。
目前,比較流行的VPN技術(shù)有:IPSec VPN 和SSL VPN[1]。IPSec VPN需要在通信雙方安裝特定的客戶端軟件,在客戶端和服務(wù)器端還需要大量的評價、部署、培訓(xùn)、升級和支持,是一個成本高、復(fù)雜程度高的方案,沒有安裝客戶端的移動用戶無法實現(xiàn)臨時的遠程VPN連接。與IPSec VPN不同的是,SSL VPN是采用SSL協(xié)議實現(xiàn)遠程接入,SSL協(xié)議是基于Web應(yīng)用的安全協(xié)議。遠端的移動用戶無需安裝任何特殊的客戶端軟件,也無需進行任何手動配置,僅需一個Web瀏覽器就可以連接VPN。SSL VPN由于其部署簡單,無客戶端,維護成本低,網(wǎng)絡(luò)適應(yīng)強等特點被企業(yè)廣泛采用。
SSL VPN系統(tǒng)采用SSL協(xié)議建立安全可靠的隧道,實現(xiàn)了服務(wù)器的認證、客戶認證(可選)、數(shù)據(jù)的完整性和保密性等功能[2]。對系統(tǒng)中的敏感數(shù)據(jù)還需要對用戶的訪問進行細粒度的控制,確保系統(tǒng)資源的安全性。
1 基于RBAC的動態(tài)授權(quán)模型
1.1 基于角色的訪問控制(RBAC)
基于角色的訪問控制(Role?Based Access Control,RBAC)作為自主訪問控制和強制訪問控制的代替,成為目前應(yīng)用最廣泛的訪問控制技術(shù)之一。RBAC的基本思想是:在用戶和權(quán)限之間引入角色,將權(quán)限與角色相聯(lián)系,通過給每一個用戶分配角色,讓用戶間接地與權(quán)限相聯(lián)系,極大地降低了權(quán)限管理的復(fù)雜性,RBAC模型如圖1所示。
在模型中每個會話與一個用戶相關(guān)聯(lián),而每個用戶可以發(fā)起一個或多個會話。而“用戶?角色”和“角色?權(quán)限”之間都是多對多的關(guān)系,也就是說,一個用戶可以有多個角色,同一個角色可分配給多個用戶。同樣地,一個角色可以擁有多個權(quán)限,一個權(quán)限可被多個角色所擁有。
圖1 RBAC模型
1.2 SSL VPN系統(tǒng)中的授權(quán)問題
在SSL VPN系統(tǒng)中,當客戶端訪問系統(tǒng)內(nèi)的服務(wù)器(如Webservers等)時,必須先與SSL VPN服務(wù)器建立SSL連接。SSL VPN服務(wù)器在端口443監(jiān)聽客戶端的連接,所以,只要防火墻打開443端口,客戶端便可以通過SSL VPN服務(wù)器連接到內(nèi)部的資源服務(wù)器[3],根據(jù)系統(tǒng)給用戶分配的角色獲取相應(yīng)的訪問權(quán)限。在此過程中存在如下的問題:
(1) 用戶可以在任一客戶端進行登錄,只需下載一個瀏覽器(如IE瀏覽器)即可,因為目前的瀏覽器都支持SSL協(xié)議[4]。而客戶端的安全性無法保證,如果客戶端有病毒,則可能會通過SSL VPN服務(wù)器感染到內(nèi)部網(wǎng)絡(luò)。
(2) SSL VPN服務(wù)器通過綁定443端口來監(jiān)聽客戶端的連接,一旦客戶端有連接請求,SSL VPN服務(wù)器就建立一個SSL連接。使得惡意用戶能夠繞過防火墻,達到攻擊內(nèi)部服務(wù)器的目的。
針對以上存在的安全問題,本文在用戶建立SSL連接時,對用戶的客戶端進行安全狀態(tài)檢測,并依據(jù)該安全狀態(tài)值和用戶的角色進行動態(tài)授權(quán),提高系統(tǒng)的訪問控制能力。
2 動態(tài)授權(quán)模型在SSL VPN系統(tǒng)中的應(yīng)用
在基于RBAC的動態(tài)授權(quán)模型中,當客戶端向SSL VPN服務(wù)器發(fā)出連接請求時,在建立SSL連接的同時,對客戶端的安全狀態(tài)進行檢測[5?6],檢測內(nèi)容包括防火墻的檢測、反病毒的檢測和操作系統(tǒng)補丁的檢測。
防火墻的檢測主要是對客戶端安裝的防火墻軟件的版本號進行檢查,是否符合要求;而反病毒的檢測,除了要檢測反病毒軟件是否安裝運行,還要檢測是否打開了實時保護服務(wù)和病毒庫是否更新;操作系統(tǒng)補丁的檢測是通過調(diào)用API函數(shù)獲得操作系統(tǒng)的基本信息,包括打過補丁的修補包。
這三個部分的檢測結(jié)果與客戶端的安全狀態(tài)密切相關(guān),系統(tǒng)按照綜合的檢測結(jié)果對客戶端的安全狀態(tài)進行分級,分別劃分為等級A,B,C,其中等級A安全級別最高,等級C最低。同時對系統(tǒng)內(nèi)部的資源也分別設(shè)置訪問等級,分別為1,2,3等級。在用戶請求訪問內(nèi)部資源時,只能訪問級別相等或更低的資源。
在該動態(tài)授權(quán)模型中,系統(tǒng)根據(jù)用戶的安全等級和用戶的角色以及資源的訪問等級進行訪問控制[7?8],其授權(quán)模型圖如圖2所示。
圖2 基于RBAC的動態(tài)授權(quán)模型
該授權(quán)模型的工作過程如下:
(1) 對用戶所使用的客戶端進行安全狀態(tài)檢測,檢測客戶端的防火墻、反病毒軟件和操作系統(tǒng)的補丁,根據(jù)這三部分的安全檢測結(jié)果,判定出客戶端的安全級別。
(2) 對用戶進行角色分配,遍歷角色所對應(yīng)的資源列表。
(3) 遍歷角色所映射的資源列表,比較資源許可級別與客戶端安全級別,把其中資源許可級別大于等于客戶端安全級別的資源作為用戶最終可訪問的資源。
3 結(jié) 語
在SSL VPN系統(tǒng)中,用戶可以在客戶端下載瀏覽器通過SSL協(xié)議連接到內(nèi)部網(wǎng)絡(luò),即外出辦公的用戶或合作伙伴可以使用公共網(wǎng)上的任一客戶端進行登錄。為了確??蛻舳说陌踩裕琒SL VPN服務(wù)器對請求訪問的客戶端進行安全狀態(tài)檢測,檢測客戶端所安裝的防火墻、反病毒軟件和系統(tǒng)補丁,并根據(jù)檢測結(jié)果對客戶端的安全狀態(tài)劃分等級。在SSL VPN系統(tǒng)的授權(quán)模塊中將用戶的權(quán)限與具體使用的客戶端安全狀態(tài)綁定,在系統(tǒng)運行期間動態(tài)調(diào)整用戶的權(quán)限,增加了系統(tǒng)的靈活性,滿足了SSL VPN系統(tǒng)中的訪問控制需求。
注:本文通訊作者為袁超。
參考文獻
[1] 徐家臻,陳莘萌.基于IPSec與基于SSL的VPN的比較[J].計算機工程與設(shè)計,2004,25(4):586?588.
[2] FOROUZAN B A.密碼學(xué)與網(wǎng)絡(luò)安全[M].北京:清華大學(xué)出版社,2009.
[3] 周敬利,曾海鵬.SSL VPN服務(wù)器關(guān)鍵技術(shù)研究[J].計算機工程與科學(xué),2005,27(6):7?9.
[4] 張學(xué)杰,李大興.SSL技術(shù)在構(gòu)建VPN中的應(yīng)用[J].計算機應(yīng)用,2006,26(8):1827?1830.
[5] 余勝生,歐陽長春,周敬利,等.訪問控制技術(shù)在SSL VPN系統(tǒng)中的應(yīng)用[J].華中科技大學(xué)學(xué)報:自然科學(xué)版,2006,34(7):49?52.
[6] 徐博,郭淑琴,陸敏飛.一種基于擴展RBAC的訪問控制模型在SSL VPN系統(tǒng)中的應(yīng)用[J].浙江工業(yè)大學(xué)學(xué)報,2011,39(2):177?181.
[7] 段卓然.SSL VPN系統(tǒng)用戶權(quán)限管理模塊的設(shè)計與實現(xiàn)[D].北京:北京郵電大學(xué),2008.
[8] 韓慶占.改進的RBAC模型及其在電子病歷系統(tǒng)中的應(yīng)用[D].沈陽:東北大學(xué),2008.
[9] 李之棠,賀濟美,雷杰.SSL VPN的安全漏洞及其解決方案[J].計算機工程與科學(xué),2006,28(8):10?13.
[10] 張雷.擴展RBAC模型在Web應(yīng)用中的研究與實現(xiàn)[D].北京:北京交通大學(xué),2008.
(2) SSL VPN服務(wù)器通過綁定443端口來監(jiān)聽客戶端的連接,一旦客戶端有連接請求,SSL VPN服務(wù)器就建立一個SSL連接。使得惡意用戶能夠繞過防火墻,達到攻擊內(nèi)部服務(wù)器的目的。
針對以上存在的安全問題,本文在用戶建立SSL連接時,對用戶的客戶端進行安全狀態(tài)檢測,并依據(jù)該安全狀態(tài)值和用戶的角色進行動態(tài)授權(quán),提高系統(tǒng)的訪問控制能力。
2 動態(tài)授權(quán)模型在SSL VPN系統(tǒng)中的應(yīng)用
在基于RBAC的動態(tài)授權(quán)模型中,當客戶端向SSL VPN服務(wù)器發(fā)出連接請求時,在建立SSL連接的同時,對客戶端的安全狀態(tài)進行檢測[5?6],檢測內(nèi)容包括防火墻的檢測、反病毒的檢測和操作系統(tǒng)補丁的檢測。
防火墻的檢測主要是對客戶端安裝的防火墻軟件的版本號進行檢查,是否符合要求;而反病毒的檢測,除了要檢測反病毒軟件是否安裝運行,還要檢測是否打開了實時保護服務(wù)和病毒庫是否更新;操作系統(tǒng)補丁的檢測是通過調(diào)用API函數(shù)獲得操作系統(tǒng)的基本信息,包括打過補丁的修補包。
這三個部分的檢測結(jié)果與客戶端的安全狀態(tài)密切相關(guān),系統(tǒng)按照綜合的檢測結(jié)果對客戶端的安全狀態(tài)進行分級,分別劃分為等級A,B,C,其中等級A安全級別最高,等級C最低。同時對系統(tǒng)內(nèi)部的資源也分別設(shè)置訪問等級,分別為1,2,3等級。在用戶請求訪問內(nèi)部資源時,只能訪問級別相等或更低的資源。
在該動態(tài)授權(quán)模型中,系統(tǒng)根據(jù)用戶的安全等級和用戶的角色以及資源的訪問等級進行訪問控制[7?8],其授權(quán)模型圖如圖2所示。
圖2 基于RBAC的動態(tài)授權(quán)模型
該授權(quán)模型的工作過程如下:
(1) 對用戶所使用的客戶端進行安全狀態(tài)檢測,檢測客戶端的防火墻、反病毒軟件和操作系統(tǒng)的補丁,根據(jù)這三部分的安全檢測結(jié)果,判定出客戶端的安全級別。
(2) 對用戶進行角色分配,遍歷角色所對應(yīng)的資源列表。
(3) 遍歷角色所映射的資源列表,比較資源許可級別與客戶端安全級別,把其中資源許可級別大于等于客戶端安全級別的資源作為用戶最終可訪問的資源。
3 結(jié) 語
在SSL VPN系統(tǒng)中,用戶可以在客戶端下載瀏覽器通過SSL協(xié)議連接到內(nèi)部網(wǎng)絡(luò),即外出辦公的用戶或合作伙伴可以使用公共網(wǎng)上的任一客戶端進行登錄。為了確??蛻舳说陌踩裕琒SL VPN服務(wù)器對請求訪問的客戶端進行安全狀態(tài)檢測,檢測客戶端所安裝的防火墻、反病毒軟件和系統(tǒng)補丁,并根據(jù)檢測結(jié)果對客戶端的安全狀態(tài)劃分等級。在SSL VPN系統(tǒng)的授權(quán)模塊中將用戶的權(quán)限與具體使用的客戶端安全狀態(tài)綁定,在系統(tǒng)運行期間動態(tài)調(diào)整用戶的權(quán)限,增加了系統(tǒng)的靈活性,滿足了SSL VPN系統(tǒng)中的訪問控制需求。
注:本文通訊作者為袁超。
參考文獻
[1] 徐家臻,陳莘萌.基于IPSec與基于SSL的VPN的比較[J].計算機工程與設(shè)計,2004,25(4):586?588.
[2] FOROUZAN B A.密碼學(xué)與網(wǎng)絡(luò)安全[M].北京:清華大學(xué)出版社,2009.
[3] 周敬利,曾海鵬.SSL VPN服務(wù)器關(guān)鍵技術(shù)研究[J].計算機工程與科學(xué),2005,27(6):7?9.
[4] 張學(xué)杰,李大興.SSL技術(shù)在構(gòu)建VPN中的應(yīng)用[J].計算機應(yīng)用,2006,26(8):1827?1830.
[5] 余勝生,歐陽長春,周敬利,等.訪問控制技術(shù)在SSL VPN系統(tǒng)中的應(yīng)用[J].華中科技大學(xué)學(xué)報:自然科學(xué)版,2006,34(7):49?52.
[6] 徐博,郭淑琴,陸敏飛.一種基于擴展RBAC的訪問控制模型在SSL VPN系統(tǒng)中的應(yīng)用[J].浙江工業(yè)大學(xué)學(xué)報,2011,39(2):177?181.
[7] 段卓然.SSL VPN系統(tǒng)用戶權(quán)限管理模塊的設(shè)計與實現(xiàn)[D].北京:北京郵電大學(xué),2008.
[8] 韓慶占.改進的RBAC模型及其在電子病歷系統(tǒng)中的應(yīng)用[D].沈陽:東北大學(xué),2008.
[9] 李之棠,賀濟美,雷杰.SSL VPN的安全漏洞及其解決方案[J].計算機工程與科學(xué),2006,28(8):10?13.
[10] 張雷.擴展RBAC模型在Web應(yīng)用中的研究與實現(xiàn)[D].北京:北京交通大學(xué),2008.
(2) SSL VPN服務(wù)器通過綁定443端口來監(jiān)聽客戶端的連接,一旦客戶端有連接請求,SSL VPN服務(wù)器就建立一個SSL連接。使得惡意用戶能夠繞過防火墻,達到攻擊內(nèi)部服務(wù)器的目的。
針對以上存在的安全問題,本文在用戶建立SSL連接時,對用戶的客戶端進行安全狀態(tài)檢測,并依據(jù)該安全狀態(tài)值和用戶的角色進行動態(tài)授權(quán),提高系統(tǒng)的訪問控制能力。
2 動態(tài)授權(quán)模型在SSL VPN系統(tǒng)中的應(yīng)用
在基于RBAC的動態(tài)授權(quán)模型中,當客戶端向SSL VPN服務(wù)器發(fā)出連接請求時,在建立SSL連接的同時,對客戶端的安全狀態(tài)進行檢測[5?6],檢測內(nèi)容包括防火墻的檢測、反病毒的檢測和操作系統(tǒng)補丁的檢測。
防火墻的檢測主要是對客戶端安裝的防火墻軟件的版本號進行檢查,是否符合要求;而反病毒的檢測,除了要檢測反病毒軟件是否安裝運行,還要檢測是否打開了實時保護服務(wù)和病毒庫是否更新;操作系統(tǒng)補丁的檢測是通過調(diào)用API函數(shù)獲得操作系統(tǒng)的基本信息,包括打過補丁的修補包。
這三個部分的檢測結(jié)果與客戶端的安全狀態(tài)密切相關(guān),系統(tǒng)按照綜合的檢測結(jié)果對客戶端的安全狀態(tài)進行分級,分別劃分為等級A,B,C,其中等級A安全級別最高,等級C最低。同時對系統(tǒng)內(nèi)部的資源也分別設(shè)置訪問等級,分別為1,2,3等級。在用戶請求訪問內(nèi)部資源時,只能訪問級別相等或更低的資源。
在該動態(tài)授權(quán)模型中,系統(tǒng)根據(jù)用戶的安全等級和用戶的角色以及資源的訪問等級進行訪問控制[7?8],其授權(quán)模型圖如圖2所示。
圖2 基于RBAC的動態(tài)授權(quán)模型
該授權(quán)模型的工作過程如下:
(1) 對用戶所使用的客戶端進行安全狀態(tài)檢測,檢測客戶端的防火墻、反病毒軟件和操作系統(tǒng)的補丁,根據(jù)這三部分的安全檢測結(jié)果,判定出客戶端的安全級別。
(2) 對用戶進行角色分配,遍歷角色所對應(yīng)的資源列表。
(3) 遍歷角色所映射的資源列表,比較資源許可級別與客戶端安全級別,把其中資源許可級別大于等于客戶端安全級別的資源作為用戶最終可訪問的資源。
3 結(jié) 語
在SSL VPN系統(tǒng)中,用戶可以在客戶端下載瀏覽器通過SSL協(xié)議連接到內(nèi)部網(wǎng)絡(luò),即外出辦公的用戶或合作伙伴可以使用公共網(wǎng)上的任一客戶端進行登錄。為了確保客戶端的安全性,SSL VPN服務(wù)器對請求訪問的客戶端進行安全狀態(tài)檢測,檢測客戶端所安裝的防火墻、反病毒軟件和系統(tǒng)補丁,并根據(jù)檢測結(jié)果對客戶端的安全狀態(tài)劃分等級。在SSL VPN系統(tǒng)的授權(quán)模塊中將用戶的權(quán)限與具體使用的客戶端安全狀態(tài)綁定,在系統(tǒng)運行期間動態(tài)調(diào)整用戶的權(quán)限,增加了系統(tǒng)的靈活性,滿足了SSL VPN系統(tǒng)中的訪問控制需求。
注:本文通訊作者為袁超。
參考文獻
[1] 徐家臻,陳莘萌.基于IPSec與基于SSL的VPN的比較[J].計算機工程與設(shè)計,2004,25(4):586?588.
[2] FOROUZAN B A.密碼學(xué)與網(wǎng)絡(luò)安全[M].北京:清華大學(xué)出版社,2009.
[3] 周敬利,曾海鵬.SSL VPN服務(wù)器關(guān)鍵技術(shù)研究[J].計算機工程與科學(xué),2005,27(6):7?9.
[4] 張學(xué)杰,李大興.SSL技術(shù)在構(gòu)建VPN中的應(yīng)用[J].計算機應(yīng)用,2006,26(8):1827?1830.
[5] 余勝生,歐陽長春,周敬利,等.訪問控制技術(shù)在SSL VPN系統(tǒng)中的應(yīng)用[J].華中科技大學(xué)學(xué)報:自然科學(xué)版,2006,34(7):49?52.
[6] 徐博,郭淑琴,陸敏飛.一種基于擴展RBAC的訪問控制模型在SSL VPN系統(tǒng)中的應(yīng)用[J].浙江工業(yè)大學(xué)學(xué)報,2011,39(2):177?181.
[7] 段卓然.SSL VPN系統(tǒng)用戶權(quán)限管理模塊的設(shè)計與實現(xiàn)[D].北京:北京郵電大學(xué),2008.
[8] 韓慶占.改進的RBAC模型及其在電子病歷系統(tǒng)中的應(yīng)用[D].沈陽:東北大學(xué),2008.
[9] 李之棠,賀濟美,雷杰.SSL VPN的安全漏洞及其解決方案[J].計算機工程與科學(xué),2006,28(8):10?13.
[10] 張雷.擴展RBAC模型在Web應(yīng)用中的研究與實現(xiàn)[D].北京:北京交通大學(xué),2008.