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