專利名稱:一種基于無等級角色間映射的訪問控制方法
技術領域:
本發(fā)明涉及一種基于無等級角色間映射的訪問控制方法,屬于計算機網(wǎng)絡或電信網(wǎng)絡的安全訪問控制技術領域。
背景技術:
隨著網(wǎng)絡技術的發(fā)展和網(wǎng)上應用的迅速增加,越來越多的業(yè)務和交易通過計算機網(wǎng)絡進行,隨之而來的泄密、黑客等信息安全問題日益凸現(xiàn),當前信息系統(tǒng)的安全已經(jīng)成為業(yè)界和用戶關注的熱點。訪問控制技術是一個安全信息系統(tǒng)不可或缺的安全措施,對保護主機硬件系統(tǒng)和應用軟件系統(tǒng)的安全都有重要意義。
訪問控制技術起源于70年代,當時主要用于管理大型主機系統(tǒng)上共享數(shù)據(jù)的授權訪問。隨著計算機技術和應用的發(fā)展,特別是網(wǎng)絡應用的發(fā)展,該技術的思想和方法迅速應用于信息系統(tǒng)的各個領域。在30年的發(fā)展過程中,先后出現(xiàn)了多種重要的訪問控制技術,其基本目標都是防止非法用戶進入系統(tǒng)和合法用戶對系統(tǒng)資源的非法使用。為了達到這個目標,訪問控制通常以用戶身份認證為前提,并在此基礎上實施各種訪問控制策略來控制和規(guī)范合法用戶在系統(tǒng)中的行為。目前,被廣泛接受的主流訪問控制技術主要有自主訪問控制、強制訪問控制和基于角色的訪問控制三種,下面分別介紹之。
自主訪問控制(DAC,Discretionary Access Control)是隨分時系統(tǒng)的出現(xiàn)而產(chǎn)生的,基本思想是系統(tǒng)中的主體(用戶或用戶進程)可以自主地將其擁有的對客體(系統(tǒng)資源)的訪問權限全部或部分地授予其它主體。其實現(xiàn)方法一般是建立系統(tǒng)訪問控制矩陣,該矩陣的行對應系統(tǒng)的主體,列對應系統(tǒng)的客體,元素表示主體對客體的訪問權限。為了提高系統(tǒng)性能,在實際應用中常常建立基于行(主體)或列(客體)的訪問控制方法。
基于行的方法是在每個主體上都附加一個該主體可以訪問的客體的明細表,根據(jù)表中信息的不同可分為權能表(Capabilities List)、前綴表(Profiles)和口令(Password)三種形式。其中權能表決定用戶是否可以對客體進行訪問以及進行何種形式的訪問(讀、寫、改、執(zhí)行等)。一個擁有某種權力的主體可以按一定方式訪問客體,并且在進程運行期間,訪問權限可以添加或刪除。前綴表包括受保護的客體名以及主體對它的訪問權。當主體欲訪問某客體時,自主訪問控制系統(tǒng)將檢查主體的前綴是否具有它所請求的訪問權??诹顧C制中的每個客體(甚至客體的每種訪問模式)都需要一個口令,主體訪問客體時首先向操作系統(tǒng)提供該客體的口令。
基于列的自主訪問控制是對每個客體附加一個可訪問它的主體明細表。它有兩種形式保護位(Protection bits)和訪問控制表(ACLAccess Control List)。其中保護位是對所有主體指明一個訪問模式集合,由于它不能完備地表達訪問控制矩陣,因而很少使用。訪問控制表可以決定某個主體是否能夠訪問該客體,它是在客體上附加一主體明細表來表示訪問控制矩陣。表中的每一項包括主體的身份和對客體的訪問權。訪問控制表是實現(xiàn)自主訪問控制的最好方法。
盡管DAC已經(jīng)在許多系統(tǒng)中得以實現(xiàn)(例如UNIX),然而DAC的一個致命弱點是授予的訪問權可以傳遞。一旦訪問權被傳遞出去將難以控制,訪問權的管理相當困難,會帶來嚴重的安全問題;另一方面,DAC對受保護的客體產(chǎn)生的副本不予保護,即一個用戶不能訪問某一客體,但能夠訪問它的拷貝,這更增加了管理的難度;而且,在大型系統(tǒng)中,主、客體的數(shù)量巨大,無論使用哪一種形式的DAC,所帶來的系統(tǒng)開銷都相當昂貴、難以支付,但是效率相當?shù)土樱茈y滿足大型應用、特別是網(wǎng)絡應用的需要。因此,傳統(tǒng)的自主訪問控制安全保護能力有限。
強制訪問控制(MAC,Mandatory Access Control)源于對信息機密性的要求和防止特洛伊木馬之類的攻擊,MAC通過無法回避的存取限制來阻止直接或間接的非法入侵。系統(tǒng)中的主/客體都由安全管理員(SO,Security Officer)被強制分配一個固定的安全屬性,該安全屬性決定一個主體是否能夠訪問某個客體,用戶或用戶進程不能改變自身或其它主/客體的安全屬性。強制訪問控制系統(tǒng)中的每個主體都被授予一個安全證書,每個客體則被指定為一定的敏感級別。訪問控制的兩個關鍵規(guī)則是不向上讀和不向下寫,即信息流只能從低安全級向高安全級流動,任何違反非循環(huán)信息流的行為都被禁止。
MAC起初主要用于軍方應用中,并且常與DAC結合使用,主體只有通過了DAC與MAC的檢查后,才能訪問某個客體。由于MAC對客體施加了更嚴格的訪問控制,因而可以防止特洛伊木馬之類的程序偷竊受保護的信息,同時MAC對用戶意外泄漏機密信息的可能性也有預防能力。但是,如果用戶惡意泄漏信息,仍然可能無能為力;而且,由于MAC增加了不能回避的訪問限制,可能影響系統(tǒng)的靈活性。另一方面,雖然MAC作為一種多級訪問控制系統(tǒng),增強了信息機密性,但不能實施完整性控制。由于網(wǎng)上信息更需要完整性,影響了MAC的網(wǎng)上應用。另外,MAC的本質(zhì)是基于格的非循環(huán)單向信息流政策,而在MAC系統(tǒng)中實現(xiàn)單向信息流的前提是系統(tǒng)中不存在逆向潛信道。逆向潛信道的存在會導致信息違反規(guī)則的流動。然而,現(xiàn)代計算機系統(tǒng)中這種潛信道是很難去除的,如大量的共享存儲器以及為提升硬件性能而采用的各種Cache等。這些都給系統(tǒng)增加了安全性漏洞。
網(wǎng)絡的迅速發(fā)展,特別是Intranet的廣泛應用,使網(wǎng)上信息的完整性要求超過了機密性,并對訪問控制服務的質(zhì)量提出更高要求,而傳統(tǒng)的DAC、MAC兩種訪問控制技術很難滿足這些要求。因此,90年代后NIST(National Instituteof Standards and Technology)提出了基于角色的訪問控制(RBAC,Role-BasedAccess Control)概念,并被廣為接受。RBAC技術的突出優(yōu)點是簡化了各種環(huán)境下的授權管理。由于在DAC/MAC系統(tǒng)中訪問權限直接授予用戶,系統(tǒng)中的用戶數(shù)量眾多,而且經(jīng)常變動,增加了授權管理的復雜性。RBAC的思想是將訪問權限分配給角色,系統(tǒng)中的每個用戶擔任特定角色,所謂角色實質(zhì)上是與特定工作崗位相關聯(lián)的一個權限集。因此,與用戶相比,角色相對穩(wěn)定。當用戶改變時,只需進行角色的撤消和重新分配即可,使得用戶的授權管理大為簡化。目前,雖然RBAC已經(jīng)在某些系統(tǒng)中開始應用,但是,RBAC仍然處于發(fā)展階段,尚未出現(xiàn)成熟的產(chǎn)品,如何應用仍然是一個相當復雜的問題。
下面簡要介紹RBAC的一些基本概念主體(subject)發(fā)出訪問或存取操作要求的主動方,通常是用戶或代理用戶行為的進程??腕w(object)接受其它實體操作的被動方。通常是可操作的系統(tǒng)資源,如文件、程序或數(shù)據(jù)對象。一個實體在某一時刻是主體,而在另一時刻可能成為客體,取決于該實體是動作的執(zhí)行者還是承受者。用戶(user)企圖使用系統(tǒng)的人員。每個用戶都有一個唯一的用戶標識,當用戶進入系統(tǒng)時,必須提供其用戶標識,以供系統(tǒng)進行身份認證。角色(role)系統(tǒng)中一組職責和權限的集合。角色的劃分涉及組織內(nèi)部的崗位職責和安全策略的綜合考慮。訪問權限(permission)在受系統(tǒng)保護的客體上執(zhí)行某一操作的許可。用戶到角色映射(user-to-role mapping)為用戶分配特定角色后,該用戶和角色之間的對應關系。角色到權限映射(permission-to-role mapping)為角色分配一組訪問權限后,該角色與訪問權限之間的對應關系。這樣通過角色將用戶與訪問權限聯(lián)系起來。用戶具有其所屬諸角色的訪問權限的總和。
現(xiàn)在,一種典型的基于角色的訪問控制技術是RBAC96模型,它有四種模型RBAC0是基本模型,描述任何支持RBAC的系統(tǒng)的最小要求。RBAC0包含四個基本要素用戶、角色、會話和訪問權限。用戶在一次會話中激活所屬角色的一個子集,獲得一組訪問權限,即可對相關客體執(zhí)行規(guī)定的操作,任何非顯式授予的權限都是被禁止的。
RBAC1是對RBAC0的擴充,增加了角色等級概念。實際組織中,職權重疊現(xiàn)象的客觀存在是角色等級的依據(jù)。通過角色等級,上級角色能夠繼承下級角色的訪問權限,再加上被授予的自身特有的權限,構成該角色的全部權限,這樣極大地方便了權限管理。
RBAC2也是RBAC0的擴充,增加了約束的概念。它的約束規(guī)則主要有最小權限分配給用戶的權限不能超過完成其職責所需的最少權限,否則會導致權力的濫用。
互斥角色,組織中的某些角色是互斥的,一個用戶最多只能屬于一組互斥角色中的某一個,否則會破壞職責分離。權限分配也有互斥約束,同一權限只能授予互斥角色中的某一個。
基數(shù)約束與角色容量分配給一個用戶的角色數(shù)目以及一個角色擁有的權限數(shù)目都可以作為安全策略加以限制,稱作基數(shù)約束。一個角色對應的用戶數(shù)也有限制,如總經(jīng)理角色只能由一人擔當,這是角色容量。
先決條件一個用戶要獲得某一角色必須具備的某些條件,如總會計必須是會計。同理,一個角色必須先擁有某一權限才能獲得另一權限,如在文件系統(tǒng)中必須先有讀目錄的權限,然后才能有寫文件的權限。
RBAC3是RBAC1和RBAC2的結合。它將角色等級與約束結合起來,產(chǎn)生等級結構上的約束。例如等級間的基數(shù)約束是給定角色的父角色(直接上級)或子角色(直接下級)的數(shù)量限制。等級間的互斥角色能夠決定兩個給定角色是否可以有共同的上級角色或下級角色,特別是兩個互斥角色是否可以有共同的上級角色。例如在一個項目組中,程序員和測試員是兩個互斥角色,這兩個互斥角色是否能夠有共同的上級角色--項目主管角色,就是由等級間的互斥角色來決定。
隨著網(wǎng)絡的發(fā)展,資源的擁有者會把自己的資源對外開放,同時為了保證資源的安全,需要對資源的訪問進行控制。因此,當若干個資源采用的訪問控制策略相同或者相似時,就可以認為這些資源集合構成了一個安全域;也就是說,同一個安全域里的各個資源間的相互訪問都是保證安全的。現(xiàn)在,各個安全域間之的訪問交互越來越頻繁,一個安全域在使用其它安全域提供的資源的同時,它也開放一些資源供其它安全域使用。為了保證各個安全域的信息安全,必須對開放出來的資源進行安全訪問控制。
由于每個安全域都有可能同時擔任訪問域和被訪域的雙重角色,即安全域內(nèi)的資源不但會訪問其它安全域,也有可能被其它安全域所訪問,如果直接采用目前的基于角色的訪問控制技術,那么每個安全域既要定義和管理用戶到本域角色的映射關系(當用戶使用本域的權限時),也要定義和管理用戶到其它安全域角色的映射關系(當用戶使用其它安全域的權限時),還要定義和管理角色到權限的映射關系;而且,如果角色之間具有等級關系,又要定義和管理這些不同等級角色之間的映射關系。如此一來,每個安全域都需要維護大量的映射關系,使得每個安全域中維護管理映射關系的復雜度大大增加。另外,由于用戶和角色之間的映射關系相對穩(wěn)定,角色之間的等級關系也相對穩(wěn)定,無法根據(jù)每次請求的上下文進行動態(tài)實時的訪問控制,這些缺陷嚴重影響了各個安全域之間的交互訪問的靈活性。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的是提供一種基于無等級角色間映射的訪問控制方法,該方法在交互的兩個安全域之間創(chuàng)建一種對外角色間的無等級映射關系而進行訪問控制,當用戶使用其它安全域的資源時,都只需建立用戶與本域?qū)ν饨巧挠成潢P系,大大降低了安全域管理映射關系的復雜度,并且能夠進行實時、有效的訪問控制,靈活性強,確保訪問的安全性。
為了達到上述目的,本發(fā)明提供了一種基于無等級角色間映射的訪問控制方法,其技術方案是在每個安全域內(nèi)創(chuàng)建一個或多個用于訪問控制、并與本域內(nèi)開放的資源訪問權限有虛映射的對外角色,以便在交互的安全域之間建立無等級的對外角色映射關系,并創(chuàng)建角色映射證書來標識該無等級的對外角色映射關系;同時根據(jù)訪問資源的請求上下文信息,在每個安全域內(nèi)動態(tài)創(chuàng)建與用戶的實際訪問權限相映射的中間角色,再在該中間角色和一個或多個對外角色之間建立無等級映射,使得用戶使用其它安全域的資源時,只需建立用戶與本域?qū)ν饨巧挠成潢P系,從而降低安全域?qū)τ成潢P系的管理復雜度,并能實時、有效地進行域間的權限訪問控制,確保訪問的安全性。
該方法包括下列操作步驟(1)在每個安全域中創(chuàng)建一個或多個對外角色,并把該一個或多個對外角色與該安全域內(nèi)開放的各個資源的訪問權限進行虛映射;(2)安全域管理者雙方根據(jù)自身利益和/或訪問控制策略進行協(xié)商,在兩個安全域之間建立對外角色之間的無等級映射,并創(chuàng)建角色映射證書來標識該映射關系;(3)當一個安全域需要使用另一個安全域內(nèi)的資源時,被訪安全域接收到訪問安全域發(fā)送來的角色映射證書后,根據(jù)角色映射證書對訪問安全域進行安全認證,判斷是否接受訪問;如果通過認證,接受訪問,執(zhí)行后續(xù)操作;否則,執(zhí)行步驟(7)的操作;(4)被訪安全域根據(jù)角色映射證書解析出與訪問安全域?qū)ν饨巧鄬谋居蛞粋€或多個對外角色,以及與本域一個或多個對外角色虛映射的資源訪問權限,實現(xiàn)初步授權;(5)被訪安全域的訪問控制決策模塊根據(jù)一個或多個對外角色及其虛映射的資源訪問權限,尤其是本次訪問的請求上下文信息,決定本次請求真正擁有的訪問權限,再動態(tài)創(chuàng)建中間角色,并將該中間角色與其真正擁有的訪問權限和該中間角色與本域?qū)ν饨巧g分別建立實映射;(6)訪問安全域內(nèi)的主體通過其域內(nèi)的對外角色與被訪安全域的對外角色之間的映射、被訪安全域內(nèi)的對外角色與中間角色之間的映射、以及該中間角色與資源訪問權限之間的映射來實現(xiàn)對被訪安全域內(nèi)的資源訪問控制;(7)被訪安全域拒絕訪問,并給訪問安全域發(fā)回拒絕訪問請求的響應。
所述對外角色是安全域擁有者根據(jù)自身的訪問控制策略決定開放哪些資源和對誰開放資源后,創(chuàng)建的一種對外開放并執(zhí)行訪問控制的角色,用于與其它安全域的對外角色之間建立無等級的映射關系;該對外角色與安全域內(nèi)所有開放的資源的訪問權限之間存在虛映射對應關系。
所述虛映射是一種對外角色和資源訪問權限之間的對應關系,該對應關系表示與該對外角色映射的其它對外角色或用戶可能擁有這些資源的訪問權限,必須根據(jù)實際發(fā)起訪問的請求上下文信息,訪問控制決策模塊才能動態(tài)決定用戶/角色是否真正擁有該資源的訪問權限。
所述中間角色是根據(jù)訪問請求上下文信息、對外角色和虛映射的權限,系統(tǒng)動態(tài)創(chuàng)建的角色;該中間角色與用戶真正擁有的訪問權限相映射,也與同一安全域內(nèi)的對外角色相映射,且該兩個相互映射的角色之間不存在等級關系。
所述對外角色和中間角色的映射與中間角色和訪問權限的映射都是短生命周期的映射關系,只存在于一次訪問請求中,或一個會話的多次請求過程中。
所述角色映射證書是用于標識兩個互訪安全域的對外角色映射關系的憑證,分別保存在每個安全域內(nèi),訪問安全域根據(jù)該角色映射證書才能獲悉通過被訪安全域中的哪個對外角色來訪問被訪安全域中的資源。
所述角色映射證書的格式和實現(xiàn)方式均由安全域雙方協(xié)商決定,其內(nèi)容包括但不限于下述信息角色之間的映射關系,與角色虛映射的權限信息和安全域的認證信息。
所述訪問請求上下文是記錄主體需要訪問的資源、以及與本次請求相關的時間、地理位置、用戶標識和其它請求信息,被訪安全域根據(jù)該請求上下文信息來動態(tài)確定主體真正擁有的資源訪問權限。
所述兩個安全域之間協(xié)商建立對外角色間映射關系的基礎是付費、或基于雙方相互信任的免費、或根據(jù)各自需要進行權限交換。
本發(fā)明是一種基于無等級角色間的映射訪問控制方法,其優(yōu)點如下在安全域之間建立了無等級的對外角色映射關系,安全域內(nèi)的主體只需與本域?qū)ν饨巧⒂成潢P系,無需考慮與訪問域內(nèi)其它實體或資源的關系,使得目前每個安全域都要維護和管理的大量映射關系的復雜性明顯簡化;而且,對外角色之間是沒有等級限制的無等級映射關系,對外角色和中間角色之間也是沒有等級限制的映射關系,使得角色間的關系簡單化,便于管理和控制。另外,對外角色與資源訪問權限之間是虛映射,其它安全域內(nèi)的主體不能直接通過對外角色獲得訪問權限,從而使得動態(tài)決定主體真正擁有的權限成為可能,解決了現(xiàn)有技術中用戶和角色間的映射關系和角色間的等級關系都相對穩(wěn)定、缺乏靈活性的缺陷。再者,該方法利用訪問控制決策模塊根據(jù)訪問請求上下文信息動態(tài)創(chuàng)建中間角色,建立無等級的對外角色和中間角色映射、中間角色和權限映射,以實現(xiàn)動態(tài)實時授權。該中間角色生命周期很短,只存在于一次訪問請求中,或者一個會話的多次請求過程中,維護管理簡單、容易。
圖1是本發(fā)明基于無等級角色間映射的訪問控制方法的工作原理示意圖。
圖2是本發(fā)明基于無等級角色間映射的訪問控制方法操作流程方框圖。
具體實施例方式
為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面結合附圖對本發(fā)明作進一步的詳細描述。
參見圖1,介紹本發(fā)明一種基于無等級角色間映射的訪問控制方法,其是在每個安全域1、2內(nèi)分別創(chuàng)建一個或多個用于訪問控制的對外角色role,該對外角色role除了分別與該安全域內(nèi)的用戶主體subject之間有映射關系①、與本域內(nèi)開放的資源訪問權限permission有虛映射關系④以外,它與根據(jù)訪問資源的請求上下文信息context在每個安全域內(nèi)動態(tài)創(chuàng)建的中間角色middle role之間也有無等級映射關系②,而且,該中間角色middle role與用戶主體subject的實際訪問權限有實映射③。這樣,用戶使用其它安全域的資源時,只需先建立該用戶主體subject與本域?qū)ν饨巧g的映射關系①,再在交互的兩個安全域1、2之間建立無等級的對外角色映射關系⑤,將訪問請求發(fā)送給被訪安全域,由被訪安全域的訪問控制決策模塊根據(jù)角色映射證書RMC和請求上下文context來動態(tài)創(chuàng)建中間角色middle role,就能夠授予來訪者真正實際擁有的訪問權限。該方法降低了安全域?qū)τ成潢P系的管理復雜度,并能實時、有效地進行域間的權限訪問控制,確保訪問安全。
參見圖2,具體說明本發(fā)明基于無等級角色間映射的訪問控制方法的操作步驟(1)在每個安全域中創(chuàng)建一個或多個對外角色,并把該一個或多個對外角色與該安全域內(nèi)開放的各個資源的訪問權限進行虛映射;安全域管理者根據(jù)自身的訪問控制策略決定開放哪些資源和對誰開放資源后,創(chuàng)建一個或多個對外角色,并把該一個或多個對外角色分別與開放的資源的訪問權限進行虛映射。這里的對外角色是本發(fā)明的創(chuàng)造,它是一種對外開放并執(zhí)行訪問控制的角色,用于與其它安全域的對外角色之間建立無等級的映射關系;該對外角色是安全域內(nèi)所有開放資源的訪問權限的集合,但是它與權限之間的對應關系是虛映射。這種虛映射只表示與該對外角色映射的其它對外角色或用戶可能擁有這些資源的訪問權限,外界不能直接通過對外角色來使用權限訪問資源,必須等到發(fā)起實際的訪問請求時,才能動態(tài)決定外界是否能夠真正擁有該資源的訪問權限。
(2)安全域管理者雙方根據(jù)自身利益和/或訪問控制策略進行協(xié)商,在兩個安全域之間建立對外角色之間的無等級映射,并創(chuàng)建角色映射證書來標識該映射關系;安全域之間對外角色的相互映射,屬于域間的角色映射,且這兩個對外角色之間不存在等級關系。安全域內(nèi)的主體欲使用其它安全域的資源時,該主體先與本域內(nèi)的對外角色相映射,再由本域內(nèi)的對外角色與資源所在域的對外角色相映射。兩個安全域之間建立角色映射之前,需要進行協(xié)商交易,而協(xié)商交易的基礎可以是根據(jù)各自需要進行權限交換,或者通過付費,或者基于雙方之間的相互信任的免費等多種方式。協(xié)商達成一致后,建立用于標識兩個互訪安全域的對外角色映射關系的憑證——角色映射證書(RMC,Role MappingCertificate),該角色映射證書分別保存在每個安全域內(nèi),其格式和實現(xiàn)方式由安全域雙方協(xié)商決定,只要雙方能夠認可即可。其內(nèi)容至少包括描述角色之間的映射關系,與角色虛映射的權限信息和安全域的認證信息等,它既是一種認證授權證書;也是訪問安全域獲悉通過被訪安全域中的哪個對外角色來訪問其中資源的依據(jù)。例如當一個安全域1要訪問另一個安全域2時,安全域1的對外角色就是根據(jù)兩者之間的角色映射證書獲知它應該通過安全域2中的哪個對外角色來訪問安全域2中的資源。
(3)當一個安全域需要使用另一個安全域內(nèi)的資源之前,訪問安全域先要向被訪安全域提交角色映射證書,被訪安全域接收到訪問安全域發(fā)送來的角色映射證書后,根據(jù)角色映射證書對訪問安全域進行安全認證,判斷是否接受訪問;如果通過認證,接受訪問,執(zhí)行后續(xù)操作;否則,執(zhí)行步驟(7)的操作;(4)被訪安全域根據(jù)角色映射證書解析出與訪問安全域?qū)ν饨巧鄬谋居蛞粋€或多個對外角色,以及與本域一個或多個對外角色虛映射的資源訪問權限,由于對外角色與權限之間有虛映射,因此在建立對外角色的映射關系后,實現(xiàn)初步授權;(5)被訪安全域的訪問控制決策模塊根據(jù)本次訪問的請求上下文信息,決定本次請求真正擁有的訪問權限,再動態(tài)創(chuàng)建中間角色,并將該中間角色與其真正擁有的訪問權限和該中間角色與本域?qū)ν饨巧g分別建立實映射;請求上下文context是記錄主體需要訪問的資源、以及與本次請求相關的時間、地理位置、用戶標識和其它請求信息,其格式和傳送方式都沒有規(guī)定,被訪安全域根據(jù)請求上下文信息來動態(tài)確定主體真正擁有的資源訪問權限。中間角色middle role是系統(tǒng)根據(jù)訪問請求上下文信息動態(tài)創(chuàng)建的角色,該中間角色與用戶真正擁有的訪問權限相互映射,同時與同一安全域內(nèi)的對外角色相映射,但是這兩個相互映射的角色之間不存在等級關系。該步驟建立的中間角色和對外角色映射以及中間角色和權限映射的兩種映射關系的生命周期都很短,只存在于一次訪問請求中或一個會話的多次請求過程中。
(6)訪問安全域內(nèi)的主體通過其域內(nèi)的對外角色與被訪安全域的對外角色之間的映射、被訪安全域內(nèi)的對外角色與中間角色之間的映射、以及該中間角色與資源訪問權限之間的映射來實現(xiàn)對被訪安全域內(nèi)的資源訪問控制;
(7)被訪安全域拒絕訪問,并給訪問安全域發(fā)回拒絕訪問請求的響應。
總之,本發(fā)明是在不同安全域的對外角色之間建立無等級關系的映射,安全域內(nèi)的主體只要和本域的對外角色建立映射,無需同被訪安全域的對外角色之間建立映射,簡化了安全域?qū)τ谟成潢P系的管理操作。另外,雖然對外角色不直接與權限相映射,但是通過由訪問控制決策模塊動態(tài)創(chuàng)建的中間角色,該中間角色分別與對外角色和權限的映射,達到了實際授權的目的。而且,中間角色及其與對外角色和權限的映射的生命周期都很短,只存在于一次訪問請求中或者一個會話的多次請求過程中,簡化了映射關系的管理和操作的復雜度。
權利要求
1.一種基于無等級角色間映射的訪問控制方法,其特征在于在每個安全域內(nèi)創(chuàng)建一個或多個用于訪問控制、并與本域內(nèi)開放的資源訪問權限有虛映射的對外角色,以便在交互的安全域之間建立無等級的對外角色映射關系,并創(chuàng)建角色映射證書來標識該無等級的對外角色映射關系;同時根據(jù)訪問資源的請求上下文信息,在每個安全域內(nèi)動態(tài)創(chuàng)建與用戶的實際訪問權限相映射的中間角色,再在該中間角色和一個或多個對外角色之間建立無等級映射,使得用戶使用其它安全域的資源時,只需建立用戶與本域?qū)ν饨巧挠成潢P系,從而降低安全域?qū)τ成潢P系的管理復雜度,并能實時、有效地進行域間的權限訪問控制,確保訪問的安全性。
2.根據(jù)權利要求1所述的基于無等級角色間映射的訪問控制方法,其特征在于包括下列操作步驟(1)在每個安全域中創(chuàng)建一個或多個對外角色,并把該一個或多個對外角色與該安全域內(nèi)開放的各個資源的訪問權限進行虛映射;(2)安全域的管理者雙方根據(jù)自身利益和/或訪問控制策略進行協(xié)商,在兩個安全域之間建立對外角色之間的無等級映射,并創(chuàng)建角色映射證書來標識該映射關系;(3)當一個安全域需要使用另一個安全域內(nèi)的資源時,被訪安全域接收到訪問安全域發(fā)送來的角色映射證書后,根據(jù)角色映射證書對訪問安全域進行安全認證,判斷是否接受訪問;如果通過認證,接受訪問,執(zhí)行后續(xù)操作;否則,執(zhí)行步驟(7)的操作;(4)被訪安全域根據(jù)角色映射證書解析出與訪問安全域?qū)ν饨巧鄬谋居蛞粋€或多個對外角色,以及與本域一個或多個對外角色虛映射的資源訪問權限,實現(xiàn)初步授權;(5)被訪安全域的訪問控制決策模塊根據(jù)一個或多個對外角色及其虛映射的資源訪問權限,尤其是本次訪問的請求上下文信息,決定本次請求真正擁有的訪問權限,再動態(tài)創(chuàng)建中間角色,并將該中間角色與其真正擁有的訪問權限和該中間角色與本域?qū)ν饨巧g分別建立實映射;(6)訪問安全域內(nèi)的主體通過其域內(nèi)的對外角色與被訪安全域的一個或多個對外角色之間的映射、被訪安全城內(nèi)的一個或多個對外角色與中間角色之間的映射、以及該中間角色與資源訪問權限之間的映射來實現(xiàn)對被訪安全域內(nèi)的資源訪問控制;(7)被訪安全域拒絕訪問,并給訪問安全域發(fā)回拒絕訪問請求的響應。
3.根據(jù)權利要求1所述的基于無等級角色間映射的訪問控制方法,其特征在于所述對外角色是安全域擁有者根據(jù)自身的訪問控制策略決定開放哪些資源和對誰開放資源后,創(chuàng)建的一種對外開放并執(zhí)行訪問控制的角色,用于與其它安全域的對外角色之間建立無等級的映射關系;該對外角色與安全域內(nèi)所有開放的資源的訪問權限之間存在虛映射對應關系。
4.根據(jù)權利要求3所述的基于無等級角色間映射的訪問控制方法,其特征在于所述虛映射是一種對外角色和資源訪問權限之間的對應關系,該對應關系表示與該對外角色映射的其它對外角色或用戶可能擁有這些資源的訪問權限,必須根據(jù)實際發(fā)起訪問的請求上下文信息,訪問控制決策模塊才能動態(tài)決定用戶/角色是否真正擁有該資源的訪問權限。
5.根據(jù)權利要求1所述的基于無等級角色間映射的訪問控制方法,其特征在于所述中間角色是根據(jù)訪問請求上下文信息、對外角色和虛映射的權限,系統(tǒng)動態(tài)創(chuàng)建的角色;該中間角色與用戶真正擁有的訪問權限相映射,也與同一安全域內(nèi)的對外角色相映射,且該兩個相互映射的角色之間不存在等級關系。
6.根據(jù)權利要求5所述的基于無等級角色間映射的訪問控制方法,其特征在于所述對外角色和中間角色的映射與中間角色和訪問權限的映射都是短生命周期的映射關系,只存在于一次訪問請求中,或一個會話的多次請求過程中。
7.根據(jù)權利要求1所述的基于無等級角色間映射的訪問控制方法,其特征在于所述角色映射證書是用于標識兩個互訪安全域的對外角色映射關系的憑證,分別保存在每個安全域內(nèi),訪問安全域根據(jù)該角色映射證書才能獲悉通過被訪安全域中的哪個對外角色來訪問被訪安全域中的資源。
8.根據(jù)權利要求7所述的基于無等級角色間映射的訪問控制方法,其特征在于所述角色映射證書的格式和實現(xiàn)方式均由安全域雙方協(xié)商決定,其內(nèi)容包括但不限于下述信息角色之間的映射關系,與角色虛映射的權限信息和安全域的認證信息。
9.根據(jù)權利要求2所述的基于無等級角色間映射的訪問控制方法,其特征在于所述訪問請求上下文是記錄主體需要訪問的資源、以及與本次請求相關的時間、地理位置、用戶標識和其它請求信息,被訪安全域根據(jù)該請求上下文信息來動態(tài)確定主體真正擁有的資源訪問權限。
10.根據(jù)權利要求2所述的基于無等級角色間映射的訪問控制方法,其特征在于所述兩個安全域之間協(xié)商建立對外角色間映射關系的基礎是付費、或基于雙方相互信任的免費、或根據(jù)各自需要進行權限交換。
全文摘要
一種基于無等級角色間映射的訪問控制方法,是在每個安全域內(nèi)創(chuàng)建一個或多個用于訪問控制、并與本域內(nèi)開放的資源訪問權限有虛映射的對外角色,以便在交互的安全域之間建立無等級的對外角色映射關系,并創(chuàng)建角色映射證書來標識該無等級的對外角色映射關系;同時根據(jù)訪問資源的請求上下文信息,在每個安全域內(nèi)動態(tài)創(chuàng)建與用戶的實際訪問權限相映射的中間角色,再在該中間角色和對外角色之間建立無等級映射,使得用戶使用其它安全域的資源時,只需要建立用戶與本域?qū)ν饨巧挠成潢P系,從而降低安全域?qū)τ成潢P系的管理復雜度,并能實時、有效地進行域間的權限訪問控制,確保訪問的安全性。
文檔編號H04L9/00GK1633085SQ20041010410
公開日2005年6月29日 申請日期2004年12月29日 優(yōu)先權日2004年12月29日
發(fā)明者楊放春, 鄒華, 宋名星, 蘇森, 孫其博, 徐鵬, 龍湘明, 李靜林 申請人:北京郵電大學