基于rbac模型的家庭業務訪問控制方法
【技術領域】
[0001]本發明涉及一種基于RBAC模型的家庭業務訪問控制方法,屬于網絡通信技術領域。
【背景技術】
[0002]隨著家庭數據業務的快速發展,業務需求不斷增多。家庭業務的運營涉及的步驟較為繁復,這不利于業務的快速開展和部署。因此需要家庭開放平臺為多樣化的家庭業務提供統一且通用的管理、服務和支撐保障機制,以營造良好的家庭業務生長環境。在家庭開放平臺中,可管理的數據或資源具有集中控制、分域協作及分散接入的特點,因此,分權分域管理功能成為家庭開放平臺的一項關鍵管理能力。其本質是為不同的管理員提供不同的功能權限,并將集中控制的可管理的數據或資源劃分為多個管理實體(可以有多個層次,即為域的繼承)。自主訪問控制(DAC,Discret1nary Access Control)、強制訪問控制(MAC,Mandatory Access Control)和基于角色的訪問控制(RBAC)是目前三種主流的訪問控制技術,由于DAC和MAC無法較好的滿足商業和政府部門系統的安全需求,因此,RBAC(Role-based Access Control)便成為人們研宄的重點。
[0003]在RBAC中,用戶和權限通過角色關聯,角色相對于用戶來說更為穩定,用戶可以通過更換角色來獲取不同的權限,而不用直接修改所對應的權限,這就極大地簡化了權限的管理。RBAC模型僅包含四個基本要素:用戶、角色、會話和權限,這在家庭開放平臺中是存在不足的:基本的RBAC模型把對資源的管理統稱為權限,可以體現分權的概念,但在分域上面不能很好的滿足,不能滿足家庭業務上的靈活而復雜的分權分域需求。
[0004]因此,如何基于RBAC模型來實現家庭業務在訪問控制上的分權分域管理功能,是一個亟待解決的技術問題。
【發明內容】
[0005]有鑒于此,本發明的目的是提供一種基于RBAC模型的家庭業務訪問控制方法,能基于RBAC模型來實現家庭業務在訪問控制上的分權分域管理功能。
[0006]為了達到上述目的,本發明提供了一種基于RBAC模型的家庭業務訪問控制方法,包括有:
[0007]步驟一、創建若干個域,其中包含有一個超級域,所述超級域由家庭業務的所有終端組成,多個域之間存在有繼承關系,超級域是其它所有域的祖先域,其他每個域都擁有I個或多個父域,并從父域的組成終端中選取多個終端再組成子域;
[0008]步驟二、設置多個用戶角色,然后將每個用戶角色分別和已創建的一個域、和若干個操作進行關聯,即每個用戶角色擁有對所關聯的域的所有終端進行相應操作的權限。
[0009]與現有技術相比,本發明的有益效果是:本發明在RBAC基本模型的基礎上,細化了權限這一概念,根據家庭開放平臺對終端管理的業務需求,添加了對象、操作、域、分組四個要素,提出了域的可繼承性,深入的控制角色可管理的數據內容和操作,提供了更細粒度化的權限功能。本發明可以解決家庭開放平臺對終端管理的分權分域需求,解決了系統中訪問控制約束的問題,提出了多樣化的角色和權限設計方案,實現了復雜的職責分配,并且增強了系統的安全性。
【附圖說明】
[0010]圖1是本發明一種基于RBAC模型的家庭業務訪問控制方法的流程圖。
[0011]圖2是以當前的一個或多個域為父域而新建一個子域時的具體操作流程圖。
[0012]圖3是本發明中多個域繼承關系示意圖的一個實施例。
[0013]圖4是本發明采用完全撤銷方式來撤銷一個域的具體操作流程圖。
[0014]圖5是本發明采用局部撤銷方式來撤銷一個域的具體操作流程圖。
【具體實施方式】
[0015]為使本發明的目的、技術方案和優點更加清楚,下面結合附圖對本發明作進一步的詳細描述。
[0016]本發明在現有的RBAC模型基礎上細化了權限的概念,把權限分為對象和操作,并將一些對象的集合劃分為域或分組,對象、操作與角色通過域關聯,角色可以獲得這個域內包含的對象的管理和操作的權限。本發明增加了操作集、管理對象集、域和分組四個要素,其中:
[0017]1、操作集,為操作的集合,代表了權限中具體的操作,例如對一個數據執行刪除操作,這個刪除就是一個操作,操作是會話中的元行為,是最小單位;
[0018]2、對象集,其中的對象是操作所對應的具體終端;
[0019]3、域,為管理對象域集,域由一個或多個對象組成,對一個域執行一個操作就是對這個域中所有的對象執行這個操作,域可以繼承,具有層次關系;
[0020]4、分組,分組由一個或多個對象組成,每個分組隸屬于一個域,分組中的對象都是所隸屬的域中的對象。
[0021]如圖1所示,本發明一種基于RBAC模型的家庭業務訪問控制方法,包括有:
[0022]步驟一、創建若干個域,其中包含有一個超級域,所述超級域由家庭業務的所有終端組成,多個域之間存在有繼承關系,超級域是其它所有域的祖先域,其他每個域都擁有I個或多個父域,并從父域的組成終端中選取多個終端再組成子域;
[0023]子域繼承父域,子域和父域之間的繼承關系包括有單繼承和多繼承兩種,其中單繼承是指子域僅有一個父域,即從其父域的組成終端中選取多個終端來組成子域,多繼承是指子域擁有多個父域,即子域從其多個父域的組成終端中選取多個終端而組成子域;
[0024]根據域的繼承關系,從域的父域開始、向上追溯直至超級域所形成的繼承分支上的所有域都是該域的祖先域,域的繼承層次是其在繼承分支上所處的前后位置,超級域的繼承層次最高,其他域越靠近超級域,則其繼承層次也越高;當根據域的繼承關系,從域的子域開始、向下查詢而獲得的所有域都是該域的子孫域;
[0025]步驟二、設置多個用戶角色,然后將每個用戶角色分別和已創建的一個域、和若干個操作進行關聯,即每個用戶角色擁有對所關聯的域的所有終端進行相應操作的權限。
[0026]本發明中的域可以繼承,當創建一個角色的子角色時,可以把當前角色的域或者子域分配給子角色,這樣就不會出現一個角色把自己無權管理的對象的管理權限分配給他的子角色,域的偏序關系使得系統更加安全。域的層次關系使用繼承層次分支符prefix來標識,可以確定每個域的父域,從而有利于向上追溯所有的祖先域、或者向下查詢所有的子孫域,步驟一進一步包括有:
[0027]為每個域分配一個唯一的標識符ID,并根據域的所有祖先域及其對應的繼承層次、和自身ID來為每個域構建一個繼承層次分支符prefix,同時還設置一個域的層級深度限制值 max-deptho
[0028]所述域的ID可使用一個大于或等于O的整數進行標識,例如超級域的ID設置為0,對于繼承超級域的4個子域A、B、C、D的ID可以分別設置為:1,2,3,15。
[0029]所述prefix用于按照繼承層次從高到低的次序,從超級域開始,順序記錄每個域的所有祖先域和自身的ID,進一步的說,先對祖先域和自身的ID按照從高到低的繼承層次進行排列,即超級域的ID排在最前,而自身的ID排在最后,然后按照排列的先后次序,將祖先域的ID、和自身的ID逐一寫入到域的prefix中,其中使用繼承層次分割符(例如:/)將處于不同繼承層次的祖先域、或自身的ID進行間隔,當多個祖先域處于同一繼承層次時(即存在有多繼承關系),使用多繼承間隔符(例如:,)將處于同一繼承層次的多個祖先域進行間隔,例如:/0/1,2, 3/4,11,6/9,12,8/13/,其中,超級域的ID是0,排在最前,ID為1、2、3的域是超級域的子域,ID為4、11、6的域是1、2、3的子域,ID為9、12、8的域是4、11、6的子域,域自身的ID是13,排在最后。
[0030]每個域的層級深度限制值max-d印th可以根據家庭業務需要、和其父域的層級深度限制值max-depth而設置,其值可以是一個整數,當max-depth是一個負整數時,則表示該域不限制層級深度,即該域下的子域的max-depth的取值不受父域限制;imax_depth是O時,則表示該域下無法再創建子域。當父域的max-depth是一個大于O的整數時,則該域下的子域的max-depth須小于父域的max-depth,默認子域的max-depth為父域的max-depth減L.
[0031]這樣,如圖2所示,當根據角色需要,以當前的一個或多個域為父域而新建一個子域時,還可以包括有:
[0032]步驟Al、為新建子域設置一個新的ID,并構建一個prefix,所述prefix的初始值為空;
[0033]步驟A2、判斷新建子域與其所要繼承的父域是否是單繼承關系?如果是,則提取新建子域所要繼承的父域的prefix,并保存到新建子域的prefix中,然后在新建子域的prefix的結尾處增加所述新建子域的ID,并使用繼承層次分割符將父域和子域的ID進行間隔,本流程結束;如果否,則繼續步驟A3 ;
[0034]步驟A3、提取新建子域所要繼承的所有父域的prefi