亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

位置敏感且基于角色的訪問控制方法、裝置和系統(tǒng)的制作方法

文檔序號:7916931閱讀:217來源:國知局
專利名稱:位置敏感且基于角色的訪問控制方法、裝置和系統(tǒng)的制作方法
技術領域
本發(fā)明涉及訪問控制,更具體地涉及利用自動建立的位置敏感且基于 角色的訪問控制模型對目標資源進行訪問控制的方法、裝置和系統(tǒng)。
背景技術
隨著基于位置服務(LBS)的普及,位置敏感-基于角色的訪問控制 (LRBAC)在諸如機密會議、公司信息安全、金融機構的數(shù)據(jù)安全等的許 多應用中都有很好的前景。特定的應用場合(例如通信網(wǎng)絡、公司、醫(yī)院等)通常涉及各種用 戶,其中,這些用戶可以按相互關系或者用戶在該應用場合中充當?shù)慕巧?來成組或歸類。角色之間通常具有層級關系并且各個角色通常承擔不同的 職能職責,因而各個用戶可能需要與其角色相關聯(lián)地訪問特定資源。另 外,出于安全、隱私或其它因素的考慮,可能需要按角色限制用戶對特定 資源的訪問。于是希望開發(fā)基于用戶角色的訪問控制機制。此外,可以使用位置信息來提供額外的安全措施,因而服務的可訪問 性也可以取決于用戶的位置。例如,對于特定的目標資源,僅當用戶位于 該目標資源所在位置時才允許該用戶對其進行訪問。因此,很重要的是對 訪問控制機制的傳統(tǒng)概念進行擴展,以考慮用戶在有界空間的假設下的移 動性??赡苡捎谝韵聨追N原因而使空間有界化因為物理和技術限制(例 如,辦公空間、公園邊界、網(wǎng)絡范圍等),或者因為營銷抉擇(例如,賦 予到訪者的區(qū)域越大,則到訪者支付費用也越多),或者出于安全的考慮 (例如,軍事區(qū)內(nèi)的服務)。出于以上考慮,LRBAC系統(tǒng)使用用戶的位置和角色信息作為判斷依 據(jù)來授予用戶訪問許可?,F(xiàn)有的LRBAC系統(tǒng)是基于LRBAC模型來管理 用戶對目標資源的訪問的。LRBAC模型的核心思想是通過建立許可分配(PA, permission assignment)關系來模型化從角色、位置到許可的分 配。PA限定了當針對特定角色的許可根據(jù)該角色所關聯(lián)用戶的位置而動 態(tài)變化時的安全策略。
LRBAC模型的建立可以追溯到由R. Sandhu、 D. Ferraiolo和R. Kuhn 在論文"The NIST Model for Role Based Access Control: Towards a Unified Standard, Proceedings of 5th ACM Workshop on Role Based Access Control, July 26-27, 2000 "中提出的RBAC模型(Role-Based Access Control model) 。 RBAC模型將用戶的角色視為訪問控制的唯一判斷依據(jù)。
基于RBAC,通過引入用戶的位置信息作為訪問控制的附加判斷依 據(jù),提出了各種位置敏感-基于角色的訪問控制(LRBAC)模型。例如, 在F. Hansen禾口 V. Oleshchuk的論文"Spatial role-based access control model for wireless networks, Proceedings of Vehicular Technology Conference, 2003"中,RBAC被擴展以克服無線計算環(huán)境中的空間需求并限定基于位 置的安全策略。在Indrakshi Ray、 Mahendm Kumar和Lijun Yu的論文"A Location-Aware Role-Based Access Control Model, Proceedings of ICISS 2006: 147-161"中提出了一種LRBAC模型,用以示出RBAC模型中的不同分量 如何與位置相關,以及該位置信息如何用于判斷用戶是否可以訪問給定目 標。在M丄.Damiani、 E.Bertino 、 B.Catania禾卩P.Perlasca的論文"A Spatially Aware RBAC, ACM TISSEC, February 2007"中提出了一種GEO-RBAC模型,用以利用OGC (開放地理空間信息聯(lián)盟)標準來模型化位置 信息??臻g實體被用于模型化目標、用戶位置、和地理上有界的角色。
可見,以上的位置敏感-基于角色的訪問控制主要集中于對使用角色和 位置兩者作為判斷依據(jù)的訪問控制模型的描述和公式表示,因此這樣的模 型是很難付諸實際應用的。具體而言,當特定應用環(huán)境需要位置敏感-基于 角色的訪問控制時,將需要花費大量精力來分析并定義從角色、位置到許 可的多對多分配。
因為LRBAC模型中的角色-位置-許可事實上是三維映射關系,因此 對于大規(guī)模的基于位置的應用而言,LRBAC模型的建立處理是復雜、不 用戶友好,且極其困難的。這使得基于這種現(xiàn)有技術LRBAC模型的訪問控制是高成本且不用戶友好的。

發(fā)明內(nèi)容
基于以上分析,本發(fā)明希望提供簡單、用戶友好且自動化的訪問控制 方法、裝置和系統(tǒng)。
根據(jù)本發(fā)明一個方面,提供了一種訪問控制方法,其中,目標空間被 劃分為若干位置區(qū)域,每一位置區(qū)域具有相應的位置敏感許可集,目標空 間中的用戶被劃分為一種或多種角色,并且每一角色與一位置區(qū)域相映 射,該方法包括以下步驟獲取各個角色之間的組織關系和表示各個位置 區(qū)域的位置向量;基于位置區(qū)域的位置向量分析這些位置區(qū)域相互之間的 覆蓋關系從而建立位置偏序關系;濾除位置偏序關系中的傳遞覆蓋關系以 獲得位置鄰接關系;將各個角色之間的組織關系中的角色鄰接關系添加到 位置鄰接關系中從而建立位置-角色鄰接關系;基于位置-角色鄰接關系來 計算位置-角色偏序關系;以及參考所述位置-角色偏序關系來確定是否授 權用戶的訪問。
在一個示例中,各個角色之間的組織關系用矩陣、表格或Hasse圖表 示。在一個示例中,位置偏序關系、位置鄰接關系、位置-角色鄰接關系 和位置-角色偏序關系中的每一個都用矩陣表示。
根據(jù)本發(fā)明另一個方面,提供了一種訪問控制裝置,其中,目標空間 被劃分為若干位置區(qū)域,每一位置區(qū)域具有相應的位置敏感許可集,目標 空間中的用戶被劃分為一種或多種角色,并且每一角色與一位置區(qū)域相映 射,該裝置包括獲取部分,被配置為獲取各個角色之間的組織關系和表 示各個位置區(qū)域的位置向量;位置偏序關系建立部分,被配置為基于位置 區(qū)域的位置向量來分析位置區(qū)域相互之間的覆蓋關系從而建立位置偏序關 系;位置鄰接關系建立部分,被配置為濾除位置偏序關系中的傳遞覆蓋關 系以建立位置鄰接關系;位置-角色鄰接關系建立部分,被配置為將各個 角色之間的組織關系中的角色鄰接關系添加到位置鄰接關系中從而建立位 置-角色的鄰接關系;位置-角色偏序關系計算部分,被配置為基于位置-角色鄰接關系來計算位置-角色偏序關系;以及鑒權部分,被配置為參考 所述位置-角色偏序關系來確定是否授權用戶的訪問。
根據(jù)本發(fā)明又一個方面,提供了一種訪問控制系統(tǒng),其包括客戶 端,用戶使用該客戶端來發(fā)出包括該用戶的角色信息的訪問請求;無線定 位裝置,用于確定該用戶所處的位置;以及根據(jù)本發(fā)明一個實施例的訪問 控制裝置,用于根據(jù)從客戶端傳送而來的所述用戶的角色信息以及從無線 定位裝置傳送而來的所述用戶的位置信息來確定是否授權該用戶的訪問請 求。
通過結合附圖來閱讀以下詳細描述,本發(fā)明的其它特征和優(yōu)點對于本 領域技術人員而言將變得足夠清楚。


圖l是示出角色、位置區(qū)域、位置許可集和角色許可集之間的對應關
系的一個示例的表格;
圖2是示出各個角色的組織關系的一個示例的示圖3是示出根據(jù)本發(fā)明一個實施例的LRBAC處理的流程圖4示出了根據(jù)本發(fā)明一個實施例、基于角度來判斷一個點是否落在
一個凸多邊形區(qū)域內(nèi)的處理的流程圖5示出了某技術開發(fā)公司C的辦公區(qū)圖6是示出圖5所示公司應用場合所涉及的角色、位置區(qū)域、位置許 可集以及角色許可集之間的對應關系的表格;
圖7是示出圖5所示的公司應用場合所涉及的角色之間的組織關系的 示圖8示出了圖5所示的公司應用場合的許可Hasse圖; 圖9示出了根據(jù)本發(fā)明 一個實施例的位置敏感-基于角色的訪問控制裝 置的配置;以及
圖10是示出可以實現(xiàn)本發(fā)明的一個示例性位置敏感-基于角色的訪問 控制系統(tǒng)的示意圖。
具體實施例方式
以下將參考附圖來描述本發(fā)明的實施例。在這里的描述中,提供了許 多具體細節(jié)以幫助全面理解本發(fā)明的實施例。但是,本領域的技術人員將 了解,沒有這些具體細節(jié)中的一個或多個也能實現(xiàn)本發(fā)明。在其他情況 下,沒有具體地示出或詳細描述公知的組件或操作,以避免不必要地模糊 本發(fā)明實施例的各個方面。
接下來,在詳細描述根據(jù)本發(fā)明的位置敏感-基于角色的控制
(LRBAC)方法之前,為了便于理解本發(fā)明,將結合附圖l-2簡要描述本 發(fā)明所涉及的下述概念以及它們的相互關系角色、位置區(qū)域、位置許可 集、角色許可集和角色之間的組織關系。其中,圖1是示出角色、位置區(qū) 域、位置許可集和角色許可集之間的對應關系的一個示例的表格,而圖2 是示出各個角色的組織關系的 一個示例的示圖。
對于給定的目標空間(例如,網(wǎng)絡環(huán)境、公司、醫(yī)院等),該目標空 間中的用戶可以劃分為一種或多種角色(表示為角色集合R, R包括n、 r2、…、rn, n為自然數(shù)),并且該目標空間可以劃分為若干位置區(qū)域(表 示為位置區(qū)域集合L, L包括foCl、 /oc2、…、/ocN, N為自然數(shù))。另 外,在實際應用中,每個角色通常都擁有其位置區(qū)域。換而言之,每個角 色可以映射到一位置區(qū)域。例如,角色"經(jīng)理"可以映射到經(jīng)理辦公室, 角色"醫(yī)生"可以映射到"診室"等。但是,反過來,并不是每個位置區(qū) 域都有對應角色,因而存在n《N。圖1中的表格的前兩行示出了角色與 位置區(qū)域的對應關系。 在本發(fā)明中,定義了一個函數(shù)fi。c (ri),用于計算給定角色&的對應 位置區(qū)域。通過這種方式,角色-位置-許可的三維映射關系可以縮減為角 色/位置-許可的二維映射關系。
這里應該注意,在實際應用中,劃分得到的位置區(qū)域之間不存在部分 交叉的情形。也就是說,對于任意兩個位置區(qū)域,要不兩個位置區(qū)域互不 交叉,要不一個位置區(qū)域完全覆蓋另一個位置區(qū)域。此外,優(yōu)選的是,將 位置區(qū)域數(shù)學近似為多邊形。此外,對于該給定目標空間,目標空間中的資源(例如,文件、軟 件、網(wǎng)頁、打印等)可以被配置為位置敏感,以使得位置區(qū)域集合L中的 各個位置區(qū)域與預定安全級別的資源相關聯(lián)。即,對于給定的位置敏感資 源,只有當用戶處于該位置敏感資源所關聯(lián)的位置區(qū)域中時,才允許該用 戶訪問該位置敏感資源。這里,將與位置區(qū)域相關聯(lián)的預定安全級別的資 源稱為位置敏感許可集(以下簡稱為位置許可集)。如上所述的位置區(qū)域 集合L中的各個位置區(qū)域/0Cl、 /oc2、…、/ocN的對應位置許可集表示為 PerL!、 PerL2、 ...、 PerLN,如圖1中的表格的第三行所示。
角色許可集,是指各個角色的可能訪問權限。如上所述的角色集合R 中的各個角色r!、 r2、…、L的對應角色許可集表示為PerRi、 PerR2、...、 PerRn,如圖l中的表格的第四行所示。在本發(fā)明中,每個角色許可集由一 個或多個位置許可集組成。例如,角色& (i=l、 2、 ...、 n)的角色許可 集PerRi可以包括PerLj (j二l、 2、 ...、 N)。在這種情況下,PerLj是角色 rj的可能訪問權限,因為在本發(fā)明中目標資源是位置敏感的,所以僅當承 擔角色rj的用戶在位置區(qū)域/oCj中時才真正具有對位置許可集PerLj的訪問 權限。
角色之間的組織關系是指層級關系,例如,公司職員按職能劃分的上 下級關系,或者網(wǎng)絡用戶按服務級別劃分的層級關系,等等。如上所述的 角色集合R中的各個角色n、 r2、…、rj列如具有圖2所示的組織關系。 一般而言,較高級別的角色具有比較低級別的角色更多的許可。例如,參 考圖2,對于角色n和r2,存在PerR2cPerRi。根據(jù)一個實施例,該組織 關系可以用矩陣、表格或Hasse圖來表示。
在本發(fā)明中,角色、位置區(qū)域、位置許可集以及角色之間的組織關系 是預先設定的,而角色許可集是需要計算得到的。
以下將參考圖3來描述根據(jù)本發(fā)明的位置敏感-基于角色的訪問控制 (LRBAC)處理。圖3是示出根據(jù)本發(fā)明一個實施例的LRBAC處理10 的流程圖。如圖3所示,根據(jù)本實施例的LRBAC處理10從步驟Sll開始。在步 驟Sll中,給定目標空間所包括的各個位置區(qū)域的位置向量以及所涉及的 角色的組織關系被獲得。
注意,這里所使用的位置向量例如是由多邊形位置區(qū)域的頂點坐標組 成的頂點坐標向量。例如,對于有m (m>3)個頂點的位置區(qū)域,其頂點 坐標向量表示為[v(l),v(2),v(3),…v(m)],其中,v(i)是該位置區(qū)域的第i個 頂點的頂點向量[v"i), vy(i)],并且在頂點向量[v"i), Vy(i)]中,、(i)是該第 i個頂點的橫坐標,v"i)是該第i個頂點的縱坐標,i=l, 2, 3, ...m。特別 地,在給定位置區(qū)域呈矩形的情況下,該位置區(qū)域的位置向量例如是由左 下頂點和右上頂點限定的對角向量[/, d, r, t],其中,(/, d)禾Q (r, t)是該矩形位置區(qū)域的左下頂點和右上頂點的坐標。當然,矩形位置區(qū)域 也可以由左上頂點和右下頂點限定的對角向量來表示。
在獲得各個位置區(qū)域的位置向量和各個角色的組織關系之后,圖3所 示的處理10前進到步驟S12。
在步驟S12中,通過分析各個位置區(qū)域的覆蓋關系來建立位置偏序關 系。本領域技術人員應當了解,覆蓋關系具有自反性、反對稱性和傳遞 性,因此覆蓋關系是一種偏序關系。對于任意兩個位置區(qū)域fo。和/0Cj,
如果區(qū)域fo。完全包含在區(qū)域foCj中,則可以確定區(qū)域/0Cj覆蓋區(qū)域fo。, 表示為/0C/0Cj。特別地,對于任意兩個凸多邊形位置區(qū)域foCi和/0Cj, 如果區(qū)域/0Ci的所有頂點都落在區(qū)域/0Cj的范圍內(nèi),則可以確定 /OCi《/OCj。在這種情況下,關鍵問題是如何確定一個點是否落在一個位置 區(qū)域內(nèi)。
以下將參考圖4來描述根據(jù)本發(fā)明一個實施例的基于角度來判斷一個 點(假定為X)是否落在一個凸多邊形區(qū)域R內(nèi)的處理,其中,該凸多邊 形區(qū)域R的位置向量為[v(l),v(2),v(3),…,v(m)], m為該凸多邊形區(qū)域的頂 點數(shù)目。
如圖4所示,首先在步驟S51中將點X的坐標初始化為零,即 v[X]=(0,0),也就是說,重新定義了一個原點為X的新坐標系;并且定義以下新的變量Angle=0, i=l, fK)。然后在步驟S52中,確定區(qū)域R的各 個頂點在新坐標系中所處的象限。
接下來,在步驟S53中,從第一個頂點v(l)開始順序地獲取區(qū)域R的 兩個頂點v(i)和v(i+l)。在步驟S54中判斷這兩個頂點是否處于同一個象 限,如果它們處于同一個象限,則處理前進到步驟S64;否則處理進一步 判斷頂點v(i)的下一個頂點v(i+l)是否處于其下一個象限(S55)。在步驟 S55中,如果頂點v(i+l)處于頂點v(i)的下一個象限,則將Angle的值加上 (S56),否則進一步判斷頂點v(i+l)是否處于頂點v(i)的上一個象限 (S57)。在步驟S57中,如果判定頂點v(i+l)處于頂點v(i)的上一個象 限,則將Angle的值減去兀/2 (S58),否則可以判定頂點v(i+l)處于頂點 v(i)的對角象限。在這種情況下,在步驟S59中,計算變量f的值-
v力'+ W) (1)
其中,(Vx(i),Vy(i))為頂點V(i)在新坐標系中的坐標。
然后,在步驟S60中,判斷f的值是否大于零。如果判定fX),則在 步驟S61中將Angle的值加上兀,否則進一步判斷f是否小于零(S62)。 如果判定fO,則在步驟S63中將Angle的值減去兀,否則可以判定^0并 且處理前進到步驟S64。此外,在完成步驟S56、 S58、 S61或S63的計算 之后,處理也前進到步驟S64。在步驟S64中,將i值加1。然后在步驟 S65中判斷此時的i是否小于區(qū)域R的頂點數(shù)目m,如果判定i<m,則處 理返回到步驟S53以進行下一對頂點的比較。否則,判斷i是否等于m, 也就是判斷是否已經(jīng)到達最后一個頂點(S66)。如果答案是肯定的,則 將頂點v(l)賦給此時的v (i+1)(步驟S67),然后處理返回到步驟 S53,以使得對區(qū)域R的第m個頂點和第一個頂點進行比較。否則,區(qū)域 R的所有頂點的比較結束,于是在步驟S68中根據(jù)最終得到的Angle的值 來判斷點X是否落在區(qū)域R的范圍內(nèi)。具體而言,如果Angl^2",則點 X在區(qū)域R內(nèi);如果Angle-Ji,則點X在區(qū)域R的一條邊上;否則,點 X在區(qū)域R的范圍之外。通過上述基于角度的處理,對于任意兩個凸多邊形區(qū)域/0Ci和/0Cj, 如果區(qū)域/0Ci的所有頂點都落在區(qū)域foCj的范圍內(nèi),則可以確定
現(xiàn)在返回到圖3,在步驟S12中,在感興趣的位置區(qū)域呈矩形時,可 以通過對矩形位置區(qū)域的對角向量進行比較來確定這些矩形位置區(qū)域的覆 蓋關系,從而簡化確定任意兩個位置區(qū)域的覆蓋關系的處理。在一個實施
例中,對于任意兩個矩形位置區(qū)域/0Ci和foCj,
如果7 ' , 7 ,,貝U/oCi、/oCj (2)
其中,i、 j = l, 2, ..., N, N為位置區(qū)域的數(shù)目。
應當注意,在步驟S12中,根據(jù)一個實施例,可以用N申N矩降Rl來 表示位置偏序關系,其中,N為位置區(qū)域的數(shù)目。矩降Rl中的各個元素按 下式來取值。
7^,力=0否則
在矩陣Rl中,行1、 2、 ...、 N分別對應于位置區(qū)域/0Cl、 foc2、…、 /ocN,并且列l(wèi)、 2、 ...、 N分別對應于位置區(qū)域/od、 /oc2、…、/ocN。 以上雖然描述了用矩陣表示位置偏序關系的示例,但是,這僅僅是例示性 的而非限制性的。本領域技術人員應當了解,也可以用二叉樹之類的樹等 來表示位置偏序關系。
還應當注意,位置區(qū)域的覆蓋關系暗示了位置許可集的覆蓋關系。對 于任意兩個位置區(qū)域/oq和/ocj,它們的位置許可集分別為PerLi和PerLj, 如果存在/oci《/ocj,貝l」PerLjcPerLi為真。這很容易理解,例如,當一個 用戶處于位置區(qū)域foci中時,其具有的位置許可集為PerLi,而當其處于位 置區(qū)域focj中時,其具有的位置敏感許可集合為PerLj。此時,如果存在
/0?!?/0Cj,則當用戶處于/0Ci中時,他也處于/0Cj中,那么必然會有
PerLjcPerLi。因此,對于矩陣Rl中的各個元素,可以理解為
(3)i^(Z,y〕 = l如果尸e《〕尸e廠丄j (4) )丄0》')=0否則
本領域公知的是,覆蓋關系可以分為直接覆蓋和傳遞覆蓋(transitive coverage)。顧名思義,直接覆蓋指的是一個區(qū)域直接被另一個區(qū)域覆 蓋,而傳遞覆蓋指的是間接覆蓋。例如,如果存在覆蓋關系
/0Ci一/0Cj《/0Ck,則區(qū)域/0Ci被區(qū)域/0Cj直接覆蓋,并且被區(qū)域/0Ck傳遞覆
蓋,這兩種覆蓋關系都包括在步驟S12所建立的位置偏序關系中。但是, 事實上,傳遞覆蓋是可以從直接覆蓋關系推導得到的。所以可以濾除該位 置偏序關系中的傳遞覆蓋關系,以便于下一步處理。
在步驟S12中建立各個位置區(qū)域的位置偏序關系之后,圖3所示的處 理10前進到步驟S13。
在步驟S13中,通過濾除步驟S12所建立的位置偏序關系中的傳遞覆 蓋關系來獲得僅指示出直接覆蓋關系的位置鄰接關系。具體而言,在
/0Ci《/0Ck的情況下,如果存在/0Ci《foCj和/0Cj《/0Ck,則刪除/0Q和/0Ck的 覆蓋關系/0Ci《/。Ck。
根據(jù)本發(fā)明一個實施例,可以用矩陣AL來表示所述位置鄰接關系。
但是本領域技術人員應當了解,這個實施例僅僅是例示性的而非限制性 的,例如,也可以用二叉樹之類的樹等來表示位置鄰接關系。在一個示例
中,位置鄰接關系矩陣AL可以基于位置偏序關系矩陣RL通過以下算法計
算得到。
1. A鳴
2. for卜l:iV
if A =1
if =1 and if jz =1, j丄(/,_/) =0
else if々(/HA (/,^=0 endfor endif cndfor endfor
本領域技術人員應當了解,以上僅僅是從位置偏序關系矩陣RL推導位置鄰接關系矩陣Al的一個示例算法,其僅僅是示意性的而非限制性 的。根據(jù)本發(fā)明所給出的技術啟示,本領域技術人員還可以提出許多變形 例和修改例。
在步驟S13中獲得位置鄰接關系之后,圖3所示的處理10前進到步 驟S14。
在步驟S14中,根據(jù)角色與位置區(qū)域的映射關系(參見圖1中的表格 前兩行),可以將各個角色之間的鄰接關系添加到步驟S13所獲得的位置 鄰接關系中,從而建立位置-角色鄰接關系。
在步驟S14中,角色之間的鄰接關系可以通過遍歷步驟Sll所獲得的 各個角色的組織關系(例如,如圖2所示)來獲得。例如,在角色之間的 組織關系用Hasse圖表示的情況下,根據(jù)Hasse圖自身的特性,如果角色 ri和角色rj之間存在鏈路,并且角色ri是角色rj的父角色,則角色&鄰接于 角色rj,并且角色ri的許可直接覆蓋角色fj的許可。此時,根據(jù)角色與位 置區(qū)域的映射關系,可以將任意兩個角色之間的鄰接關系(即,角色許可 的直接覆蓋關系)添加到所述位置鄰接關系中的由該任意兩個角色所對應 的位置區(qū)域限定的位置處。換而言之,可以根據(jù)角色與位置區(qū)域的映射關 系將角色鄰接關系與位置鄰接關系合并以形成位置-角色鄰接關系。
例如,在用矩陣來表示步驟S13所獲得位置鄰接關系的情況下,可以 通過下述方式將其更新為位置-角色鄰接關系矩陣Al,r: 1)將位置鄰接關 系矩陣AL賦值給位置-角色鄰接關系矩陣Al,r; 2)遍歷角色的Hasse圖, 如果角色ri和角色fj之間存在鏈路,則使得
ALR /o^)),x(4c(0)) = 1 ( 5 )
其中,fl。e(rO表示角色ri所對應的位置區(qū)域,而算子Idex( )用于提取位置 區(qū)域在矩陣Al,r中的行標或列標。
應當注意,因為每個角色都具有一個對應位置區(qū)域,所以在位置-角色 鄰接關系矩陣AL,R中,可以將其行理解為角色&而將其列理解為位置區(qū) 域foCj。在位置敏感-基于角色的訪問控制中,當用戶的角色以及該用戶所 處位置確定時,就可以得到該用戶的許可集。因此,如果用戶具有角色& 且其處于位置focj,并且存在AL,R(ri,/0Cj)=l,則此時該用戶具有許可集合Per (ri,/ocj),而且該許可集合Per (ri5/oc」)被角色許可集PerRi覆蓋。因 此,利用位置-角色鄰接關系(位置-角色直接覆蓋關系)矩陣Al,r,可以 列出由位置和角色確定的許可直接覆蓋關系。
在步驟S14中建立位置-角色鄰接關系之后,圖3中的處理10前進到 步驟S15。
在步驟S15中,基于在步驟S14中建立的位置-角色鄰接關系來計算位 置-角色偏序關系。在本發(fā)明一個實施例中,在用矩陣來表示步驟S14所建 立的位置-角色鄰接關系的情況下,可以通過下式來計算位置-角色偏序關 系矩陣Rl,r:
1=脂丄,,《,,..《 (6) 其中,算子 表示邏輯或,N為位置區(qū)域的個數(shù),I表示單位矩陣,并且 其中A^的k (k=l,2,...N)次冪^^表示矩陣AL,r的邏輯k次冪。矩陣 Al,r的邏輯平方可由下式表示
^2(")=堂 (局',,雄,力) (7)
其中,算子②表示邏輯與。如式(7)所示,矩陣A^的邏輯平方中的第i 行、第j列的元素是將矩陣Al,k的第i行和第j列的對應元素進行邏輯與然 后進行邏輯或來得到的。通過這種方式,基于式(7)的運算,就可以得
到矩陣AL,k的邏輯k次冪。
本領域技術人員應當了解,根據(jù)圖論(Graph theory)以及上面的論
述,AL,k表示許可集合的直接覆蓋關系,乂h表示深度為2的傳遞覆蓋關
系,而4 表示深度為k的傳遞覆蓋關系。因此,根據(jù)式(6)可以得到完 備的覆蓋關系(偏序關系)。
此外,根據(jù)角色和位置之間的映射關系,可以認為,矩陣RL,n中的每 一行指示角色,而每一列指示位置區(qū)域。而且,如上所述,位置區(qū)域的覆 蓋關系可以轉(zhuǎn)換為位置許可集的覆蓋關系,并且角色的鄰接關系可以轉(zhuǎn)換 為角色許可集的覆蓋關系。因此,矩陣RL,n指示出了綜合的位置-角色許可 的覆蓋關系(許可的偏序關系)。
事實上,到此為止完成了位置敏感且基于角色的訪問控制模型的建 立。在獲得完備的位置-角色偏序關系之后,圖3中的處理IO前進到步驟S16。
在步驟S16中,通過參考步驟S15所計算得到的位置-角色偏序關系來
確定是否授權用戶的訪問。具體而言,例如可以利用圖4所示的處理來確
定用戶所處的位置落在哪個或哪些位置區(qū)域中,然后參考在步驟S15中獲
得的位置-角色偏序關系(位置-角色許可覆蓋關系)來確定用戶所承擔的
角色在這個或這些位置區(qū)域中是否有訪問權限。
至此,完成了根據(jù)以上實施例的位置敏感-基于角色的訪問控制處理。
根據(jù)本發(fā)明一個實施例,在圖3所示的步驟S16中,還可以基于所計
算得到的完備位置-角色偏序關系來確定各個角色的角色許可集。在一個示
例中,基于位置-角色偏序關系矩陣Rl,r,通過以下示例算法來生成各個角
色的許可集。其中,Per(ri)表示角色許可集PerRi, Per(lj)表示位置許可集
PerL"
For i=l:n
permission sets Per(r,.) = em/ (y
add permission set Per(/》to Per(。)
end if
)++;
end for end for
應當了解,以上給出的是基于位置-角色偏序關系來確定各個角色的角 色許可集的示例算法,其僅僅是示意性的而非限制性的。根據(jù)本發(fā)明所給 出的技術啟示,本領域技術人員還可以提出許多變形例和修改例。在各個 角色的角色許可集被確定的情況下,在圖3的步驟S16中,參考位置-角色 偏序關系包括查詢各個角色的角色許可集。
此外,根據(jù)本發(fā)明一個實施例,位置敏感-基于角色的訪問控制處理還 包括接收用戶的訪問請求、該用戶的角色信息以及該用戶的位置信息,并 且在授權用戶的訪問請求時,根據(jù)該用戶的訪問請求、角色信息和位置信 息,參考所述位置-角色偏序關系來確定是否授權該用戶進行訪問。
此外,根據(jù)本發(fā)明一個實施例,位置敏感-基于角色的訪問控制處理還 可以根據(jù)完備的位置-角色偏序關系,例如根據(jù)上述位置-角色偏序關系矩陣RL,k來生成并輸出許可Hasse圖。在一個示例中,首先根據(jù)矩陣Rl,h來 計算許可覆蓋矩陣CL,R (參見殷劍宏的論文"An efficient algorithm of evaluating Hasse Diagram, Journal of Hefei University of Technology (——禾中生 成Hasse圖的有效算法),Vol.28 No.3, 2005"):
(8)
其中,(RL,R—I) 2表示矩陣(RL,R—I)的邏輯平方;然后根據(jù)以下兩個
規(guī)則,對許可覆蓋矩陣CL,k中的每個元素繪制一個點,并且在這些點之間
繪制線段
1) 對于許可覆蓋矩陣中的任意兩個元素x和y,如果存在x《;;,則 在繪圖時與x相對應的點出現(xiàn)在與y相對應的點的下方;
2) 對于任意兩個元素x和y,如果x覆蓋y或者y覆蓋x,則與這兩 個元素相對應的點之間的線段包括在圖中。
為了便于理解,以下將以公司應用場合為例、參考圖5-7并結合圖3 所示的處理10來描述根據(jù)本發(fā)明一個實施例的位置敏感-基于角色的訪問 控制處理。圖5示出了某技術開發(fā)公司C的辦公區(qū)圖,圖6是示出圖5所 示公司應用場合所涉及的角色、位置區(qū)域、位置許可集以及角色許可集之 間的對應關系的表格,而圖7是示出圖5所示的公司應用場合所涉及的角 色之間的組織關系的示圖。
如圖5所示,該公司包括以下角色經(jīng)理M、項目組長T/1、項目組 長T/2、項目組Tl的軟件工程師Sl、項目組Tl的硬件工程師Hl、項目 組T2的軟件工程師S2和項目組T2的硬件工程師H2。對于以上的每個角 色都存在一個與其相對應的位置區(qū)域(圖中,除經(jīng)理辦公室之外用虛線框 指示的區(qū)域),分別表示為Loc—M、 Loc—T/l、 Loc—T/2、 Loc—Sl 、 Loc—HI 、 Loc—S2和Loc—H2。此外,按照職能分工(例如按照項目分 組),還可以將所述辦公區(qū)劃分為項目組Tl所處位置區(qū)域Loc—Tl、項目 組T2所處位置區(qū)域Loc—T2以及經(jīng)理辦公室Loc_M。可見,位置區(qū)域 Loc—Tl覆蓋了位置區(qū)域Loc—Sl、 Loc—Hl和Loc—T/l,而位置區(qū)域Loc—T2 覆蓋了位置區(qū)域Loc—S2、 Loc—H2和Loc—T/2。另外,整個辦公區(qū)可以用 Loc C表示。至此,可以得到角色和位置區(qū)域之間的映射關系。圖6中的
20表格的前兩行示出了基于圖5的應用場合的角色和位置區(qū)域的對應關系。
此外,圖6中的表格還給出了與各個位置區(qū)域相對應的位置許可集 PerL—M、 PerL—T/l、 PerL—T/2、 PerL—Sl、 PerL—Hl、 PerL一S2、 PerL—H2、 PerL—Tl、 PerL一T2、 PerL—C等,以及與各個角色相對應的角色許可集 PerR—M、 PerR—T/l、 PerR一T/2、 PerR—Sl、 PerR一Hl、 PerR—S2、 PerR—H2 等。圖7示出了圖5所示的公司應用場合所涉及的角色的示例性組織關 系。如上所述,較高級別的角色具有比較低級別的角色更多的許可。例 如,參考圖7,對于角色M和T/1,存在PerR—T/lcPerR—M。
現(xiàn)在,將結合圖3所示的處理10來描述上述公司應用場合的位置敏 感-基于角色的訪問控制處理。為了清楚起見,在隨后的描述中提及的偏序 關系和/或鄰接關系都用矩陣來表示,但是,這僅僅是例示性的而非限制性 的。本領域技術人員應當了解,偏序關系和/或鄰接關系也可以用諸如二叉 樹之類的樹來表示。
在圖3的步驟S11中,公司C的辦公區(qū)圖(參見圖5)和公司C中的 各個角色的組織關系(參見圖7)被獲得,其中各個角色的組織關系是用 Hasse圖表示的。如圖5所示,在本示例中,公司C的各個位置區(qū)域呈矩 形,因此在步驟S11中獲得了以下位置向量
區(qū)域Loc—C =
區(qū)域Loc—M=
區(qū)域Loc—T1 =
區(qū)域Loc—T2 = [55, 25, 100, 100]
區(qū)域Loc—T/l = [5, 26, 30, 40]
區(qū)域Loc—T/2=[70, 26, 90, 40]
區(qū)域Loc—Hl = [5, 43, 40, 65]
區(qū)域Loc—H2 = [60, 43, 95, 65]
區(qū)域Loc—Sl = [5, 68, 40, 90]
區(qū)域Loc—S2 = [60, 68, 95, 90]
在步驟S12中,對步驟Sll所獲得的各個位置區(qū)域的位置向量進行比 較,以確定任意兩個位置區(qū)域的覆蓋關系,從而建立位置偏序關系矩陣Rl。例如,對于區(qū)域Loc_C和區(qū)域Loc—M,通過比較它們的位置向量可
以得到
丄oc _M, S Z^oc—C, 丄oc—> Zoc— 丄oc Mi《丄oc Ci
由此可得Loc—M《Loc—C,因而在矩降Rl中
有Rl (Loc—C, Loc_M) =1。通過這種方式,可以確定公司C中的所有 位置區(qū)域的覆蓋關系,因而得到位置偏序關系矩陣rl如下式(9)所示。
Loc C Loc TlLoc T2 Loc M Loc T/l Loc T/2 Loc SI Loc HI Loc S2 Loc H2
及,
ioc —771 .ioc —772
0 0 0
0
1
0
1 1 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
(9)
在步驟S13中,通過濾除步驟S12所建立的位置偏序關系矩陣Rl中
的傳遞覆蓋關系來獲得僅指示出位置直接覆蓋關系的位置鄰接關系矩陣
AL。例如,在式(9)的矩陣Rl中,存在RL (Loc—T/l, Loc—C) =1 (即,位置區(qū)域Loc—C覆蓋位置區(qū)域Loc—T/l),與此同時,存在Rl (Loc— T/l, Loc—Tl) =1 (即,位置區(qū)域Loc—Tl覆蓋位置區(qū)域 Loc_T/l)禾n RL (Loc_Tl, Loc—C) =1 (即,位置區(qū)域Loc—C覆蓋位置 區(qū)域Loc—Tl)。由此可見,位置區(qū)域Loc—C傳遞覆蓋位置區(qū)域Loc—T/l, 則刪除位置區(qū)域Loc—C和Loc— T/l之間的傳遞覆蓋關系,即使得Rl (Loc—T/l, Loc_C) 二0。通過這種方式,可以濾除位置偏序關系矩陣rl 中的所有傳遞覆蓋關系,并得到位置鄰接關系矩陣Al,如下式(10)所Loc C Loc TlLoc T2 Loc M Loc T/l Loc T/2 Loc SI Loc HI Loc S2 Loc H2
丄oc —771 ioc—772
0 0 0
0
1
0
1 1 0 0
0 0 0 0
0
1 0
0
1 1
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
(io)
在步驟S14中,根據(jù)角色與位置區(qū)域的映射關系(參見圖6中的表格 前兩行),可以將各個角色之間的鄰接關系添加到步驟S13所獲得的位置 鄰接關系矩陣AL中。具體而言,遍歷步驟Sll所獲得的各個角色的Hasse 圖(參見圖7),如果兩個角色存在鄰接關系,則將該鄰接關系添加到位 置鄰接關系矩陣AL中的與這兩個角色的位置區(qū)域相對應的位置處。例 如,參見圖7,可見角色M和角色T/1存在鄰接關系,于是將該鄰接關系 添加到位置鄰接關系矩陣A^中的位置區(qū)域Loc—M行和位置區(qū)域Loc—T/l 列的位置處,即,使得(Loc—M, Loc— T/l) =0被更新為Al (Loc—M, Loc—T/l) =1。通過這種方式,可以得到位置-角色鄰接關系 矩陣A^,如下式(11)所示。
Loc C Loc TlLoc T2 Loc M Loc T/l Loc T/2 Loc SI Loc HI Loc S2 Loc H2
—0000000000
ioc—ri1000000000
1000000000
1000110000
丄oc—7710100001100
丄oc — 7720010000011
丄oc —510100000000
0100000000
0010000000
丄oc0010000000
(11)
在步驟S15中,基于在步驟S14中建立的位置-角色鄰接關系矩陣 根據(jù)式(6)來計算完備的位置-角色偏序關系矩陣Rl,R,如下式(12)所<formula>formula see original document page 24</formula>
最后,在步驟S16中,通過參考步驟S15所計算得到的位置-角色偏序 關系矩陣rl,ii來確定是否授權用戶的訪問。至此,完成了在圖5所示的公 司應用場合中的位置敏感-基于角色的訪問控制。
在一個實施例中,在圖5所示的公司應用場合下,可以基于位置-角色 偏序關系矩陣Rl,r,利用本領域公知的簡單算法(例如,上面所述的算
法)來確定各個角色的許可集,如下所示
PerR—M={PerL—M, PerL—T/l, PerL—T/2, PerL_Sl, PerL—Hl, PerL—S2,
PerL一H2, PerL—Tl, PerL_T2, PerL—D}; PerR—T/l={ PerL—T/l, PerL一Sl, PerL—HI, PerL—Tl, PerL—D }; PerR—T/2={ PerL—T/2, PerL一S2, PerL一H2, PerL—T2, PerL—D }; PerR—Sl={ PerL一Sl, PerL—Tl, PerL—D }; PerR_Hl={ PerL—HI, PerL一Tl, PerL_D }; PerR_S2={ PerL—S2, PerL一T2, PerL一D }; PerR_H2= { PerL—H2, PerL—T2, PerL_D }。
在此實施例中,步驟S16中的參考位置-角色偏序關系矩陣Rl,k包括査 詢各個角色的角色許可集。
此外,在一個實施例中,在圖5所示的公司應用場合下,可以根據(jù)上 述位置-角色偏序關系矩陣Rw來生成并輸出許可Hasse圖。具體而言,首 先將計算得到的位置-角色偏序關系矩陣Rl,h代入式(8),從而計算得到 許可覆蓋矩陣Cl,r,如下式(13)所示。在式(13)所示的矩陣Cl,r中, 每個元素表示許可的覆蓋關系。例如,Cl,r (Loc—Tl, Loc—C) =1表示位 置區(qū)域Loc Tl所對應的位置許可集覆蓋位置區(qū)域Loc C所對應的位置許可集;而Cl,r (Loc—M, Loc—T/l) =1表示位置區(qū)域Loc—M所對應的角色 M的角色許可集覆蓋位置區(qū)域Loc—T/l所對應的角色T/l的角色許可集。 由此可見,在許可覆蓋矩陣Cl,r中,行標所對應的許可覆蓋列標所對應的
許可。為了便于理解,將式(13)所示的矩陣CL,r中的行標和列標改變?yōu)?br> 相應的許可,如式(14)所示。<formula>formula see original document page 25</formula>
(13)
接下來,基于式(14)所示的許可覆蓋矩陣Cl,r,根據(jù)上述兩個繪制 Hasse圖的規(guī)則來繪制許可的Hasse圖。例如,從式(14)所示的矩陣可 見,存在Per一C《Per—Tl,則在繪圖時Per一C出現(xiàn)在Per一Tl的下方,并且 Per—C和Per_Tl之間連接有線段。圖8示出了按這種方式繪制得到的許可 Hasse圖。從該圖中,可以很容易地看出各個角色的角色許可集。例如, Per—M在許可Hasse圖的最頂點,并且Per—M與圖中的所有其它元素之間 都存在一條從上往下的鏈路,因此,角色M的角色許可集覆蓋所有其它許可集。因此,在以圖形方式呈現(xiàn)許可分配的情況下,位置敏感-基于角色的 訪問控制變得更加用戶友好。
以下將詳細描述根據(jù)本發(fā)明的位置敏感-基于角色的訪問控制裝置。圖
9示出了根據(jù)本發(fā)明一個實施例的位置敏感-基于角色的訪問控制裝置90 的配置。訪問控制裝置90包括獲取部分91、位置偏序關系建立部分92、 位置鄰接關系建立部分93、位置-角色鄰接關系建立部分94、位置-角色偏 序關系計算部分95和鑒權部分96。
獲取部分91被配置為獲取給定應用環(huán)境(目標空間)的位置區(qū)域圖 以及所涉及的角色的組織關系。其中,位置區(qū)域可以表示為位置向量,組 織關系可以表示為矩陣、表格或Hasse圖等。
位置偏序關系建立部分92被配置為基于獲取部分91所獲得的位置區(qū) 域圖,通過分析各個位置區(qū)域的覆蓋關系來建立位置偏序關系。在數(shù)學 上,任何形狀的位置區(qū)域都可以近似為多邊形區(qū)域。在位置區(qū)域呈凸多邊 形的情況下,位置偏序關系建立部分92通過判斷一個凸多邊形位置區(qū)域 的所有頂點是否都落在另一個凸多邊形位置區(qū)域內(nèi)來確定這兩個位置區(qū)域 的覆蓋關系,從而確定所有位置區(qū)域的覆蓋關系。另一方面,在位置區(qū)域 呈矩形時,通過對矩形位置區(qū)域的對角向量進行比較來確定這些位置區(qū)域 的覆蓋關系。根據(jù)本發(fā)明一個實施例,可以用矩陣Rl來表示各個位置區(qū) 域的位置偏序關系。
位置鄰接關系建立部分93通過濾除由位置偏序關系建立部分92建立 的位置偏序關系中的傳遞覆蓋關系來建立僅指示出直接覆蓋關系的位置鄰 接關系。根據(jù)本發(fā)明一個實施例,可以用矩陣AL來表示該位置鄰接關 系。
位置-角色鄰接關系建立部分94基于獲取部分91所獲得的各個角色的 組織關系,例如通過遍歷角色的Hasse圖來確定各個角色的鄰接關系,并 根據(jù)角色與位置區(qū)域的映射關系(如上所述)將所確定的角色鄰接關系添 加到位置鄰接關系建立部分93所計算得到的位置鄰接關系中,從而建立 位置-角色鄰接關系。根據(jù)本發(fā)明一個實施例,可以用矩陣A^來表示該 位置-角色鄰接關系。如上所述,矩陣A^的行標可以代表龜色,而其列標可以代表位置區(qū)域,并且該矩陣的每一行指示賦予該行所對應的角色ri 的許可集PerRi。因此,利用位置-角色鄰接關系矩陣Al,r,可以列出由位 置和角色確定的許可直接覆蓋關系。
位置-角色偏序關系計算部分95基于由位置-角色鄰接關系建立部分94 建立的位置-角色鄰接關系來計算完備的位置-角色偏序關系。位置-角色偏 序關系包括所有的覆蓋關系,S卩,直接覆蓋關系以及任意深度的傳遞覆蓋
關系。根據(jù)本發(fā)明的一個實施例,位置-角色偏序關系可以用矩陣RL,k來表
示。在這種情況下,可以通過式(6)來計算位置-角色偏序關系矩陣
RUR。根據(jù)角色和位置之間的映射關系,可以認為,矩陣RL,k中的每一行
指示角色,而每一列指示位置區(qū)域。根據(jù)上面的論述,可以認為矩陣Ri^R 指示出了位置-角色的許可覆蓋關系。
鑒權部分96通過參考位置-角色偏序關系計算部分95所計算得到的位 置-角色偏序關系來確定是否準許用戶的訪問請求。
根據(jù)本發(fā)明一個實施例,位置敏感-基于角色的訪問控制裝置還可以 包括接收部分(未示出),用于接收用戶的訪問請求、該用戶的角色信 息、以及該用戶的位置信息,并且鑒權部分根據(jù)該用戶的訪問請求、角色 信息和位置信息,參考位置-角色偏序關系來確定是否授權該用戶進行訪 問。
此外,在根據(jù)本發(fā)明一個實施例的位置敏感-基于角色的訪問控制裝置 中,鑒權部分可以根據(jù)由位置-角色偏序關系計算部分95計算得到的位置-角色偏序關系,例如根據(jù)位置-角色偏序關系矩陣Rl,r,利用本領域公知的 簡單算法來確定各個角色的訪問許可集。在這種情況下,鑒權部分96通
過查詢角色許可集來確定是否授權用戶進行訪問。
此外,根據(jù)本發(fā)明一個實施例,位置敏感-基于角色的訪問控制裝置還 可以包括Hasse圖生成部分(未示出),用于根據(jù)由位置-角色偏序關系計 算部分95計算得到的位置-角色偏序關系,例如根據(jù)上述位置-角色偏序關 系矩陣RMi來生成許可Hasse圖。在一個示例中,首先根據(jù)位置-角色偏序 關系矩陣rl,n來計算覆蓋矩陣Cl,r (參見式(8)),然后基于該覆蓋矩 陣CLR、根據(jù)上述兩個Hasse圖繪制規(guī)則來繪制許可的Hasse圖。圖10示出了可以實現(xiàn)本發(fā)明的一個示例性位置敏感-基于角色的訪問
控制系統(tǒng)100。該訪問控制系統(tǒng)100包括客戶端101、網(wǎng)絡102和106、訪 問控制裝置103、無線定位裝置104、位置服務器105、以及諸如數(shù)據(jù)庫 107a、打印機107b、信息服務器107c等的目標資源設備。
客戶端101例如可以是臺式計算機、便攜式計算機、手機、個人數(shù)字 助理等,并且客戶端101以有線或無線方式與網(wǎng)絡102 (稍后將描述)相 耦合??蛻舳?01的用戶(以下稱為用戶A,如圖所示)通過客戶端101 來發(fā)出對目標資源設備(例如,數(shù)據(jù)庫107a、打印機107b和信息服務器 107c等)進行訪問的訪問請求,該訪問請求包含客戶端101的用戶A的用 戶ID (標識符)和用戶A的角色信息。
網(wǎng)絡102例如可以是諸如企業(yè)內(nèi)部網(wǎng)絡(Intranet)、局域網(wǎng) (LAN)、因特網(wǎng)之類的計算機網(wǎng)絡,或者諸如無線局域網(wǎng)(WLAN)、 全球互連微波接入(WiMAX)網(wǎng)絡和蜂窩網(wǎng)絡之類的無線接入網(wǎng)絡。網(wǎng) 絡102接收從客戶端101傳送而來的用戶的訪問請求,并將該訪問請求轉(zhuǎn) 發(fā)到訪問控制服務器103 (稍后將描述)。
無線定位裝置104例如可以是全球定位系統(tǒng)(GPS)或者超聲波室內(nèi) 定位系統(tǒng)等,其時刻跟蹤該定位裝置104的定位范圍內(nèi)的用戶(包括用戶 A)和/或設備的位置,并將各個用戶和/或設備的位置傳送到位置服務器 105。
位置服務器105將從無線定位裝置104發(fā)送而來的各個用戶和/或設備 的位置與相應的用戶ID (標識符)和/或設備ID相關聯(lián)地存儲。位置服務 器105相當于一種存儲服務器,或者也可以是非易失性存儲器。
訪問控制服務器103包括如上所述根據(jù)本發(fā)明一個實施例的位置敏感-基于角色的訪問控制裝置。訪問控制服務器103在接收到從網(wǎng)絡102發(fā)送 而來的用戶A的訪問請求之后,基于該訪問請求中包含的用戶A的用戶 ID搜索位置服務器105中存儲的位置信息以得到用戶A的當前位置,并根 據(jù)用戶A的角色信息和當前所處位置來判斷是否授權用戶A的訪問請求。 如果用戶A的訪問請求得到許可,則訪問控制服務器103將該訪問請求轉(zhuǎn) 發(fā)到網(wǎng)絡106 (稍后將描述);否則訪問控制服務器103拒絕用戶A的訪
28問請求,并經(jīng)由網(wǎng)絡102通過客戶端101來通知用戶A其訪問請求為未得 到許可。訪問控制服務器103例如由微計算機來實現(xiàn),該微計算機包括中 央處理單元(CPU)、只讀存儲器(ROM)、隨機存取存儲器 (RAM)、非易失性存儲器、和接口。
網(wǎng)絡106可以與網(wǎng)絡102相同,或者可以是不同的網(wǎng)絡。網(wǎng)絡106接 收從訪問控制服務器103傳送而來的用戶A的訪問請求,并將該訪問請求 轉(zhuǎn)發(fā)到其所要去往的目標資源設備。例如,如果用戶A希望訪問數(shù)據(jù)庫 107a中的數(shù)據(jù),則網(wǎng)絡106將訪問請求轉(zhuǎn)發(fā)到數(shù)據(jù)庫107a;如果用戶A 希望利用打印機107b來打印文件,則網(wǎng)絡106將訪問請求轉(zhuǎn)發(fā)到打印機 107b;或者如果用戶A希望通過信息服務器107c獲得諸如Web瀏覽、IP 網(wǎng)上語音(VoIP)、電子郵件等的服務,貝ij網(wǎng)絡106將訪問請求轉(zhuǎn)發(fā)到信 息服務器107c。
以上描述了可以實現(xiàn)本發(fā)明的位置敏感-基于角色的訪問控制系統(tǒng)的一 個具體示例,但是應當了解,該示例僅僅是示意性的而非限制性的。例 如,在該具體示例中,雖然示出了特定數(shù)目的每種網(wǎng)絡設備,但是該訪問 控制系統(tǒng)可以包括任何數(shù)目的每種網(wǎng)絡設備。
此外,圖10所示的示例性位置敏感-基于角色的訪問控制系統(tǒng)是一種 集中式的訪問控制系統(tǒng),但是可以實現(xiàn)本發(fā)明的位置敏感-基于角色的訪問 控制系統(tǒng)也可以是分布式的。例如,在一個實施例中,每個客戶端都可以 集成位置敏感-基于角色的訪問控制裝置。在這種情況下,當用戶通過客戶 端作出訪問請求時,客戶端中的訪問控制裝置獲取該用戶的角色信息以及 位置信息,并基于用戶的訪問請求、用戶的角色信息和位置信息來判斷是 否授權用戶的訪問。
以上已經(jīng)根據(jù)具體實施例來對本發(fā)明進行了描述,但是本領域技術人 員應當了解,這些實施例僅僅是示意性的而非限制性的。在本發(fā)明的實質(zhì) 范圍和精神內(nèi),可對特定組件或要素進行許多修改。本發(fā)明將包括落在所 附權利要求及其等同物的范圍內(nèi)的任何變形例和修改例。應當了解,這里使用的存儲器例如可以是但不限于是電的、磁的、光 的、電磁的、紅外的或半導體的存儲器件、裝置、系統(tǒng)、傳播介質(zhì)或計算 機存儲器。
根據(jù)需要可以用硬件、軟件、固件或其組合來執(zhí)行步驟。注意,在不 脫離本發(fā)明范圍的前提下,可向本說明書中給出的流程圖添加步驟、從中 去除步驟或修改其中的步驟。并且,包含在本說明書中的各種處理并不限 于根據(jù)描述過程按時間順序來進行的那些處理,其還可以按需或者根據(jù)適 于實現(xiàn)該處理的裝置的處理能力來并行地或單獨地執(zhí)行上述各種處理。一 般來說,流程圖只是用來指示用于實現(xiàn)功能的基本操作的一種可能的序 列。
在軟件環(huán)境中實施本發(fā)明的情況下,可以使用典型操作系統(tǒng)來控制各 種程序的執(zhí)行。任何適當?shù)木幊陶Z言都可用來實現(xiàn)本發(fā)明,所述語言包括
C、 C++、 Java、匯編語言等等??梢允褂貌煌木幊碳夹g,例如過程式的 或面向?qū)ο蟮?。程序可在單個處理器或多個處理器上執(zhí)行。
還將意識到,根據(jù)特定應用的需要,附圖中示出的要素中的一個或多 個可以按更分離或更集成的方式來實現(xiàn),或者甚至在某些情況下被去除或 被停用。
此外,附圖中的任何信號箭頭應當被認為僅是示例性的,而不是限制 性的,除非另有具體指示。
權利要求
1.一種訪問控制方法,其中,目標空間被劃分為若干位置區(qū)域,每一位置區(qū)域具有相應的位置敏感許可集,所述目標空間中的用戶被劃分為一種或多種角色,并且每一所述角色與一所述位置區(qū)域相映射,所述方法包括以下步驟獲取各個所述角色之間的組織關系和表示各個所述位置區(qū)域的位置向量;基于所述位置區(qū)域的位置向量分析所述位置區(qū)域相互之間的覆蓋關系從而建立位置偏序關系;濾除所述位置偏序關系中的傳遞覆蓋關系以獲得位置鄰接關系;將所述各個角色之間的組織關系中的角色鄰接關系添加到所述位置鄰接關系中從而建立位置-角色鄰接關系;基于所述位置-角色鄰接關系來計算位置-角色偏序關系;以及參考所述位置-角色偏序關系來確定是否授權用戶的訪問。
2. 如權利要求l所述的方法,其中,所述位置偏序關系、所述位置 鄰接關系、所述位置-角色鄰接關系和所述位置-角色偏序關系中的每一個 都用矩陣表示。
3. 如權利要求l所述的方法,還包括接收用戶的訪問請求、該用戶的角色信息、以及該用戶的位置信息;并且在所述授權的步驟中,根據(jù)所述用戶的訪問請求、所述用戶的角色信 息和所述用戶的位置信息,參考所述位置-角色偏序關系來確定是否授權 該用戶進行訪問。
4. 如權利要求l所述的方法,其中,參考所述位置-角色偏序關系包 括根據(jù)所述位置-角色偏序關系來確定各個角色的角色許可集。
5. 如權利要求1所述的方法,其中,在所述位置區(qū)域呈凸多邊形 時,所述位置向量是所述位置區(qū)域的頂點坐標向量,并且在建立所述位置偏序關系的步驟中,如果一個位置區(qū)域的頂點都落在另一個位置區(qū)域內(nèi), 則判定所述一個位置區(qū)域被所述另一個位置區(qū)域覆蓋。
6. 如權利要求l所述的方法,其中,在所述位置區(qū)域呈矩形時,所 述位置向量是所述位置區(qū)域的對角向量,并且在建立所述位置偏序關系的 步驟中,通過對矩形位置區(qū)域的對角向量進行比較來確定這些矩形位置區(qū) 域的覆蓋關系。
7. 如權利要求l所述的方法,其中,在所述獲取位置鄰接關系的步驟中,如果在所述位置偏序關系中,存在第一位置區(qū)域覆蓋第二位置區(qū)域 的關系,并且還存在第一位置區(qū)域覆蓋第三位置區(qū)域且第三位置區(qū)域覆蓋 第二位置區(qū)域的關系,則確定所述第一位置區(qū)域傳遞覆蓋所述第二位置區(qū) 域。
8. 如權利要求l所述的方法,其中,在所述建立位置-角色鄰接關系 的步驟中,通過遍歷所述各個角色之間的組織關系來獲取所述角色鄰接關 系,并根據(jù)所述角色與所述位置區(qū)域的映射關系將所述角色鄰接關系與所 述位置鄰接關系合并以形成所述位置-角色鄰接關系。
9. 如權利要求2所述的方法,其中,通過對表示所述位置-角色鄰接 關系的位置-角色鄰接關系矩陣進行以下矩陣運算來獲得表示所述位置-角色偏序關系的位置-角色偏序關系矩陣位置-角色偏序關系矩陣=/ 々w 《/④…①《/其中,I表示單位矩陣,AL,K表示位置-角色鄰接關系矩陣,N表示所 述位置區(qū)域的數(shù)目,④表示邏輯或,并且^4,/表示矩陣AL,K的邏輯n次冪,n=l,...,N。
10. 如權利要求2所述的方法,還包括以下步驟 基于表示所述位置-角色偏序關系的位置-角色偏序關系矩陣來計算許可覆蓋矩陣,并根據(jù)該許可覆蓋矩陣和Hasse圖繪制規(guī)則來生成許可 Hasse圖,并且其中所述許可覆蓋矩陣是通過對所述位置-角色偏序關系矩 陣進行如下運算來獲得的許可覆蓋矩陣=(& ff—I)-(A ff—I)2其中,RL,Il表示所述位置-角色偏序關系矩陣,I表示單位矩陣,(RL,R—I) 2表示矩陣(RL,R—I)的邏輯平方。
11. 如權利要求i到io中的任意一項所述的方法,其中,所述各個角色之間的組織關系用矩陣、表格或Hasse圖表示。
12. —種訪問控制裝置,其中,目標空間被劃分為若干位置區(qū)域,每 一位置區(qū)域具有相應的位置敏感許可集,所述目標空間中的用戶被劃分為 一種或多種角色,并且每一所述角色與一所述位置區(qū)域相映射,所述裝置 包括獲取部分,被配置為獲取各個所述角色之間的組織關系和表示各個所 述位置區(qū)域的位置向量;位置偏序關系建立部分,被配置為基于所述位置區(qū)域的位置向量來分 析所述位置區(qū)域相互之間的覆蓋關系從而建立位置偏序關系;位置鄰接關系建立部分,被配置為濾除所述位置偏序關系中的傳遞覆蓋關系以建立位置鄰接關系;位置-角色鄰接關系建立部分,被配置為將所述各個角色之間的組織 關系中的角色鄰接關系添加到所述位置鄰接關系中從而建立位置-角色的 鄰接關系;位置-角色偏序關系計算部分,被配置為基于所述位置-角色鄰接關系 來計算位置-角色偏序關系;以及鑒權部分,被配置為參考所述位置-角色偏序關系來確定是否授權用 戶的訪問。
13. 如權利要求12所述的裝置,其中,所述位置偏序關系、所述位 置鄰接關系、所述位置-角色鄰接關系和所述位置-角色偏序關系中的每一 個都用矩陣表示。
14. 如權利要求12所述的裝置,還包括接收部分,用于接收用戶的訪問請求、該用戶的角色信息、以及該用 戶的位置信息;并且所述鑒權部分被配置為根據(jù)所述用戶的訪問請求、所述用戶的角色信 息和所述用戶的位置信息,參考所述位置-角色偏序關系來確定是否授權 該用戶進行訪問。
15. 如權利要求12所述的裝置,其中,所述鑒權部分還被配置為根 據(jù)所述位置-角色偏序關系來確定各個角色的角色許可集。
16. 如權利要求12所述的裝置,其中,在所述位置區(qū)域呈凸多邊形 時,所述位置向量是所述位置區(qū)域的頂點坐標向量,并且所述位置偏序關 系建立部分被配置為,如果一個位置區(qū)域的頂點都落在另一個位置區(qū)域內(nèi) 則判定所述一個位置區(qū)域被所述另一個位置區(qū)域覆蓋。
17. 如權利要求12所述的裝置,其中,在所述位置區(qū)域呈矩形時, 所述位置向量是所述位置區(qū)域的對角向量,并且所述位置偏序關系建立部 分被配置為通過對矩形位置區(qū)域的對角向量進行比較來確定這些位置區(qū)域 的覆蓋關系。
18. 如權利要求12所述的裝置,其中,所述位置鄰接關系建立部分 被配置為如果在所述位置偏序關系中,存在第一位置區(qū)域覆蓋第二位置 區(qū)域的關系,并且還存在第一位置區(qū)域覆蓋第三位置區(qū)域且第三位置區(qū)域 覆蓋第二位置區(qū)域的關系,則確定所述第一位置區(qū)域傳遞覆蓋所述第二位 置區(qū)域。
19. 如權利要求12所述的裝置,其中,所述位置-角色鄰接關系建立 部分被配置為通過遍歷所述各個角色之間的組織關系來獲取所述角色鄰接 關系,并根據(jù)所述角色與所述位置區(qū)域的映射關系將所述角色鄰接關系與 所述位置鄰接關系合并以形成所述位置-角色鄰接關系。
20. 如權利要求13所述的裝置,其中,所述位置-角色偏序關系計算部分被配置為通過對表示所述位置-角色鄰接關系的位置-角色鄰接關系矩 陣進行以下矩陣運算來獲得表示所述位置-角色偏序關系的位置-角色偏序 關系矩陣位置-角色偏序關系矩陣=/@4 r④4 Z④…④i, /其中,I表示單位矩陣,Aw表示位置-角色鄰接關系矩陣,N表示所 述位置區(qū)域的數(shù)目,①表示邏輯或,并且^4,/表示矩陣AL,k的邏輯n次 冪,n=l,...,N。
21. 如權利要求13所述的裝置,還包括許可Hasse圖生成部分,被配置為基于表示所述位置-角色偏序關系 的位置-角色偏序關系矩陣來計算許可覆蓋矩陣,并根據(jù)該許可覆蓋矩陣 和Hasse圖繪制規(guī)則來生成許可Hasse圖,并且其中,所述許可覆蓋矩陣 是通過對所述位置-角色偏序關系矩陣進行如下運算來獲得的許可覆蓋矩陣=(&廠1)-(A,廠I)2其中,Rui表示所述位置-角色偏序關系矩陣,I表示單位矩陣, (Rl,r—I) 2表示矩陣(RL,R—I)的邏輯平方。
22. 如權利要求12到21中的任意一項所述的裝置,其中,所述各個 角色之間的組織關系用矩陣、表格或Hasse圖表示。
23. —種訪問控制系統(tǒng),包括客戶端,用戶使用該客戶端來發(fā)出訪問請求,該訪問請求包括所述用戶的角色信息;無線定位裝置,用于確定所述用戶所處的位置;以及如權利要求12所述的訪問控制裝置,用于根據(jù)從所述客戶端傳送而來的所述用戶的角色信息以及從無線定位裝置傳送而來的所述用戶的位置信息來確定是否授權所述用戶的訪問請求。
全文摘要
本發(fā)明提供了位置敏感且基于角色的訪問控制方法、裝置和系統(tǒng)。目標空間被劃分為若干位置區(qū)域,每一位置區(qū)域具有相應的位置敏感許可集,目標空間中的用戶被劃分為一種或多種角色,并且每一角色與一位置區(qū)域相映射,訪問控制方法包括獲取各個角色之間的組織關系和表示各個位置區(qū)域的位置向量;基于位置區(qū)域的位置向量分析這些位置區(qū)域相互之間的覆蓋關系從而建立位置偏序關系;濾除位置偏序關系中的傳遞覆蓋關系以獲得位置鄰接關系;將各個角色之間的組織關系中的角色鄰接關系添加到位置鄰接關系中從而建立位置-角色鄰接關系;基于位置-角色鄰接關系來計算位置-角色偏序關系;以及參考所述位置-角色偏序關系來確定是否授權用戶的訪問。
文檔編號H04L9/32GK101631021SQ20081013202
公開日2010年1月20日 申請日期2008年7月18日 優(yōu)先權日2008年7月18日
發(fā)明者王永才, 趙軍輝 申請人:日電(中國)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1