基於角色的訪問控制的基本原理
① 簡述基於角色的訪問控制的基本原理,舉例說明其在防止文件被非法訪問方面的功能和作用。
RBAC的基本思想是:授權給用戶的訪問許可權,通常由用戶在一個組織中擔當的角色來確定。RBAC中許可被授權給角色,角色被授權給用戶,用戶不直接與許可關聯。RBAC對訪問許可權的授權由管理員統一管理,RBAC根據用戶在組織內所處的角色作出訪問授權與控制,授權規定是強加給用戶的,用戶不能自主地將訪問許可權傳給他人,這是一種非自主型集中式訪問控制方式。例如,在醫院里,醫生這個角色可以開處方,但他無權將開處方的權力傳給護士。
角色訪問控制(RBAC)引入了Role的概念,目的是為了隔離User(即動作主體,Subject)與Privilege(許可權,表示對Resource的一個操作,即Operation+Resource)。 Role作為一個用戶(User)與許可權(Privilege)的代理層,解耦了許可權和用戶的關系,所有的授權應該給予Role而不是直接給User或Group.Privilege是許可權顆粒,由Operation和Resource組成,表示對Resource的一個Operation.例如,對於新聞的刪除操作。Role-Privilege是many-to-many的關系,這就是許可權的核心。
基於角色的訪問控制方法(RBAC)的顯著的兩大特徵是:1.由於角色/許可權之間的變化比角色/用戶關系之間的變化相對要慢得多,減小了授權管理的復雜性,降低管理開銷。2.靈活地支持企業的安全策略,並對企業的變化有很大的伸縮性。
RBAC的關注點在於Role和User, Permission的關系。稱為User assignment(UA)和Permission assignment(PA)。關系的左右兩邊都是Many-to-Many關系。就是user可以有多個role,role可以包括多個user
在RBAC系統中,User實際上是在扮演角色(Role),可以用Actor來取代User,這個想法來自於Business Modeling With UML一書Actor-Role模式
例子:低級用戶只有向高級用戶寫入文件的權利,但是沒有從高級用戶那裡獲取文件的權利(一般的軍事系統都是這樣的),這樣就保證了信息的流向性,即從低級到高級,從而保證了信息的安全性。
② 網路安全與保密
一,多選題
1.ABC
2.ABC
3.ABD
4.ACD
5.ABCD
6.BCD
7.ACD
8.CD
二,填空題
1.信任網
2.公開密鑰
3.證書
4.認證,數據完整性
5. 時間同步
6.標示信息,公鑰
7.業界人士不叫CA難道叫NB?
8.hash函數和機密共享
三,名詞解釋
1.為了使某些授予許可許可權的權威機構、組織和個人滿意,而提供所要求的證明自己身份的過程。
2.訪問控制就是在身份認證的基礎上,依據授權對提出的資源的訪問請求加以控制。
3.基於公開密鑰理論和技術建立起來的安全體系,是提供信息安全服務、具有普遍性的安全基礎設施。
4.是標志網路用戶身份信息的一系列數據,又來在網路通信中識別通信各方的身份。
5.CA是認證機構的國際通稱,是指對數字證書的申請者發放、管理、取消數字證書的機構。
四,簡答題
1.a最終實體和數字證書,b認證中心,c注冊中心,d證書庫
2.原理是保證數字身份和物理身份相對應。
3.進行訪問控制的基本原則是:最小特權原則,職責隔離. 基於角色的訪問控制是指對於某種系統資源的訪問許可權不能有一種角色的用戶全部擁有,不需分角色管理,這樣一來才能提高系統的安全性。
4.由Kerberos提出的一種方案可以解決這個問題.它的基本原理是用戶必須記住一個和權威認證機構的密鑰,通過和權威認證機構聯系,並告訴它要聯系的人的信息,然後權威認證機構再和要聯系的人取得聯系,這樣每個人只要記住一個密鑰就可以和其他的人進行秘密通話了.
③ 基於角色的訪問控制和基於資源的訪問控制的區別
在分布式系統中,不同的計算機系統之間經常要進行資源的互相訪問,由此帶來的安全性問題與通常環境下的安全問題有比較大的不同,比如通常訪問控制一般有一個中央主機控制系統的安全策略和進行用戶認證、訪問控制等相關安全性檢驗工作,但是在分布式異構系統中往往並不存在這樣的一個統一的安全控制中心,那麼當一個系統中的用戶或計算機要訪問另一個系統的資源時,如何進行相關的安全控制保護呢?在論文中,首先分析了用傳統訪問控制方法來實現分布式資源互訪的缺點,然後討論了如何利用基於角色的訪問控制(RBAC)來實現分布式系統中的資源共享。
④ 訪問控制技術是什麼
訪問控制是網路安全防範和保護的主要策略,它的主要任務是保證網路資源不被非法使用,它是保證網路安全最重要的核心策略之一。按用戶身份及其所歸屬的某項定義組來限制用戶對某些信息項的訪問,或限制對某些控制功能的使用的一種技術,如UniNAC網路准入控制系統的原理就是基於此技術之上。訪問控制通常用於系統管理員控制用戶對伺服器、目錄、文件等網路資源的訪問。
訪問控制涉及到三個基本概念,即主體、客體和訪問授權。
主體:是一個主動的實體,它包括用戶、用戶組、終端、主機或一個應用,主體可以訪問客體。
客體:是一個被動的實體,對客體的訪問要受控。它可以是一個位元組、欄位、記錄、程序、文件,或者是一個處理器、存貯器、網路接點等。
授權訪問:指主體訪問客體的允許,授權訪問對每一對主體和客體來說是給定的。例如,授權訪問有讀寫、執行,讀寫客體是直接進行的,而執行是搜索文件、執行文件。對用戶的訪問授權是由系統的安全策略決定的。
⑤ 大家好,我正在用PHP做一個管理系統,有多個會員組,要求不同的用戶組用戶登陸後操作內容不同,如何實現
這種需求就是所謂的RBAC,即「基於角色的訪問控制」。基本原理就是整個許可權系統分四部分:用戶(user)、角色(role)、節點(node)和訪問列表(access);每個用戶都歸屬於至少一個角色,而不同的角色只能訪問特定的節點,角色與節點的這種對應關系保存在「訪問列表(access)」中。每當用戶進行一個操作訪問一個節點(具體為某個模塊的某個方法)時就去access表中檢查他所屬角色的許可權,許可權驗證通過則進行該操作,否則給予無許可權的提示。
要使用RBAC系統一般來說需要項目是MVC結構的。
更多詳細內容可以自己在網上搜索相關資料。
⑥ 簡述什麼是基於角色的訪問控制rbac
訪問是一種利用計算機資源去做某件事情的的能力,訪問控制是一種手段,通過它這種能力在某些情況下被允許或者受限制(通常是通過物理上和基於系統的控
制)。基於計算機的訪問控制不僅可規定是「誰」或某個操作有權使用特定系統資源,而且也能規定被允許的訪問類型。這些控制方式可在計算機系統或者外部設備
中實現。
就基於角色訪問控制而言,訪問決策是基於角色的,個體用戶是某個組織的一部分。用戶具有指派的角色(比如醫生、護士、出納、經理)。定義角色的過程應該基於對組織運轉的徹底分析,應該包括來自一個組織中更廣范圍用戶的輸入。
訪問權按角色名分組,資源的使用受限於授權給假定關聯角色的個體。例如,在一個醫院系統中,醫生角色可能包括進行診斷、開據處方、指示實驗室化驗等;而研究員的角色則被限制在收集用於研究的匿名臨床信息工作上。
控制訪問角色的運用可能是一種開發和加強企業特殊安全策略,進行安全管理過程流程化的有效手段。
⑦ 如何通過實例編程實現基於角色訪問控制
要解決上述需求1,我們捕捉路有變化事件並對每一路由變化進行檢查,看用戶是否授權訪問下一路由,保證他不會看到拒絕訪問的頁面
$rootScope.$on("$routeChangeStart", function(event, next, current) {
if(!authService.isUrlAccessibleForUser(next.originalPath))
$location.path('/authError');
});
上面的authService 是我們創建的一個服務,它有角色用戶列表,並給授權用戶路由流量。函數isUrlAccessibleForUser() 將檢查分配的用戶是否可以訪問給定流量並返回true或false.
服務將 從後台和路由訪問信息中獲取一個用戶的角色列表,每個角色將保存在服務本身的一個Map集合中。(關於用戶和角色的一些細節可以存到數據局,通過後台的方式獲取)
app.factory('authService', function ($http) {
var userRole = []; // obtained from backend var userRoleRouteMap = {
'ROLE_ADMIN': [ '/dashboard', '/about-us', '/authError' ],
'ROLE_USER': [ '/usersettings', '/usersettings/personal', '/authError']
};
return {
userHasRole: function (role) {
for (var j = 0; j < userRole.length; j++) {
if (role == userRole[j]) {
return true;
}
}
return false;
},
isUrlAccessibleForUser: function (route) {
for (var i = 0; i < userRole.length; i++) {
var role = userRole[i];
var validUrlsForRole = userRoleRouteMap[role];
if (validUrlsForRole) {
for (var j = 0; j < validUrlsForRole.length; j++) {
if (validUrlsForRole[j] == route)
return true;
}
}
}
return false;
}
};
});
這將解決上述需求的第一點,對於需求的第二點我們來創建一條指令。這個指令信息類似以下:
<div my-access=」ROLE_ADMIN」>......</div>
如果用戶有 ROLE_ADMIN 的這個角色的時候,將以上的html標簽將被載入到html的頁面中,否則將 這個 Html標簽從 頁面中移除。
指令的實現代碼如下:
.directive('myAccess', ['authService', 'removeElement', function (authService, removeElement) {
return{
restrict: 'A',
link: function (scope, element, attributes) {
var hasAccess = false;
var allowedAccess = attributes.myAccess.split(" ");
for (i = 0; i < allowedAccess.length; i++) {
if (authService.userHasRole(allowedAccess[i])) {
hasAccess = true;
break;
}
}
if (!hasAccess) {
angular.forEach(element.children(), function (child) {
removeElement(child);
});
removeElement(element);
}
}
}
}]).constant('removeElement', function(element){
element && element.remove && element.remove();
});
這一辦法是很簡潔的,而我們在GUI上很巧妙的實現了用戶授權. 一個潛在的問題是,如果UI的渲染器在你從後台獲取用戶角色之前就已經在運行了,那麼該HTML中所有帶上該指令的部分都會從html中被移除掉. 這對於我們而言不是個麻煩,因為我們會在登錄完成之時就獲取到了用戶角色的詳細信息。而如果這一問題對你而言是個問題的話,解決方案可以是這樣:如果用戶角色還沒有獲取到,就只是隱藏這些html元素,僅等到你獲取到角色列表之後再按照授權0信息將它們移除掉. 同時還請注意不能因為有了一個GUI的訪問控制,就省掉了後台固有的安全實現.
⑧ 訪問控制技術的類型機制
訪問控制可以分為兩個層次:物理訪問控制和邏輯訪問控制。物理訪問控制如符合標准規定的用戶、設備、門、鎖和安全環境等方面的要求,而邏輯訪問控制則是在數據、應用、系統、網路和許可權等層面進行實現的。對銀行、證券等重要金融機構的網站,信息安全重點關注的是二者兼顧,物理訪問控制則主要由其他類型的安全部門負責。 主要的訪問控制類型有3種模式:自主訪問控制(DAC)、強制訪問控制(MAC)和基於角色訪問控制(RBAC)。
1)自主訪問控制
自主訪問控制(Discretionary Access Control,DAC)是一種接入控制服務,通過執行基於系統實體身份及其到系統資源的接入授權。包括在文件,文件夾和共享資源中設置許可。用戶有權對自身所創建的文件、數據表等訪問對象進行訪問,並可將其訪問權授予其他用戶或收回其訪問許可權。允許訪問對象的屬主制定針對該對象訪問的控制策略,通常,可通過訪問控制列表來限定針對客體可執行的操作。
①每個客體有一個所有者,可按照各自意願將客體訪問控制許可權授予其他主體。
②各客體都擁有一個限定主體對其訪問許可權的訪問控制列表(ACL)。
③每次訪問時都以基於訪問控制列表檢查用戶標志,實現對其訪問許可權控制。
④DAC的有效性依賴於資源的所有者對安全政策的正確理解和有效落實。
DAC提供了適合多種系統環境的靈活方便的數據訪問方式,是應用最廣泛的訪問控制策略。然而,它所提供的安全性可被非法用戶繞過,授權用戶在獲得訪問某資源的許可權後,可能傳送給其他用戶。主要是在自由訪問策略中,用戶獲得文件訪問後,若不限制對該文件信息的操作,即沒有限制數據信息的分發。所以DAC提供的安全性相對較低,無法對系統資源提供嚴格保護。
2)強制訪問控制
強制訪問控制(MAC)是系統強制主體服從訪問控制策略。是由系統對用戶所創建的對象,按照規定的規則控制用戶許可權及操作對象的訪問。主要特徵是對所有主體及其所控制的進程、文件、段、設備等客體實施強制訪問控制。在MAC中,每個用戶及文件都被賦予一定的安全級別,只有系統管理員才可確定用戶和組的訪問許可權,用戶不能改變自身或任何客體的安全級別。系統通過比較用戶和訪問文件的安全級別,決定用戶是否可以訪問該文件。此外,MAC不允許通過進程生成共享文件,以通過共享文件將信息在進程中傳遞。MAC可通過使用敏感標簽對所有用戶和資源強制執行安全策略,一般採用3種方法:限制訪問控制、過程式控制制和系統限制。MAC常用於多級安全軍事系統,對專用或簡單系統較有效,但對通用或大型系統並不太有效。
MAC的安全級別有多種定義方式,常用的分為4級:絕密級(Top Secret)、秘密級(Secret)、機密級(Confidential)和無級別級(Unclas sified),其中T>S>C>U。所有系統中的主體(用戶,進程)和客體(文件,數據)都分配安全標簽,以標識安全等級。
通常MAC與DAC結合使用,並實施一些附加的、更強的訪問限制。一個主體只有通過自主與強制性訪問限制檢查後,才能訪問其客體。用戶可利用DAC來防範其他用戶對自己客體的攻擊,由於用戶不能直接改變強制訪問控制屬性,所以強制訪問控制提供了一個不可逾越的、更強的安全保護層,以防範偶然或故意地濫用DAC。
3)基於角色的訪問控制
角色(Role)是一定數量的許可權的集合。指完成一項任務必須訪問的資源及相應操作許可權的集合。角色作為一個用戶與許可權的代理層,表示為許可權和用戶的關系,所有的授權應該給予角色而不是直接給用戶或用戶組。
基於角色的訪問控制(Role-Based Access Control,RBAC)是通過對角色的訪問所進行的控制。使許可權與角色相關聯,用戶通過成為適當角色的成員而得到其角色的許可權。可極大地簡化許可權管理。為了完成某項工作創建角色,用戶可依其責任和資格分派相應的角色,角色可依新需求和系統合並賦予新許可權,而許可權也可根據需要從某角色中收回。減小了授權管理的復雜性,降低管理開銷,提高企業安全策略的靈活性。
RBAC模型的授權管理方法,主要有3種:
①根據任務需要定義具體不同的角色。
②為不同角色分配資源和操作許可權。
③給一個用戶組(Group,許可權分配的單位與載體)指定一個角色。
RBAC支持三個著名的安全原則:最小許可權原則、責任分離原則和數據抽象原則。前者可將其角色配置成完成任務所需要的最小許可權集。第二個原則可通過調用相互獨立互斥的角色共同完成特殊任務,如核對賬目等。後者可通過許可權的抽象控制一些操作,如財務操作可用借款、存款等抽象許可權,而不用操作系統提供的典型的讀、寫和執行許可權。這些原則需要通過RBAC各部件的具體配置才可實現。 訪問控制機制是檢測和防止系統未授權訪問,並對保護資源所採取的各種措施。是在文件系統中廣泛應用的安全防護方法,一般在操作系統的控制下,按照事先確定的規則決定是否允許主體訪問客體,貫穿於系統全過程。
訪問控制矩陣(Access Contro1 Matrix)是最初實現訪問控制機制的概念模型,以二維矩陣規定主體和客體間的訪問許可權。其行表示主體的訪問許可權屬性,列表示客體的訪問許可權屬性,矩陣格表示所在行的主體對所在列的客體的訪問授權,空格為未授權,Y為有操作授權。以確保系統操作按此矩陣授權進行訪問。通過引用監控器協調客體對主體訪問,實現認證與訪問控制的分離。在實際應用中,對於較大系統,由於訪問控制矩陣將變得非常大,其中許多空格,造成較大的存儲空間浪費,因此,較少利用矩陣方式,主要採用以下2種方法。
1)訪問控制列表
訪問控制列表(Access Control List,ACL)是應用在路由器介面的指令列表,用於路由器利用源地址、目的地址、埠號等的特定指示條件對數據包的抉擇。是以文件為中心建立訪問許可權表,表中記載了該文件的訪問用戶名和權隸屬關系。利用ACL,容易判斷出對特定客體的授權訪問,可訪問的主體和訪問許可權等。當將該客體的ACL置為空,可撤消特定客體的授權訪問。
基於ACL的訪問控制策略簡單實用。在查詢特定主體訪問客體時,雖然需要遍歷查詢所有客體的ACL,耗費較多資源,但仍是一種成熟且有效的訪問控制方法。許多通用的操作系統都使用ACL來提供該項服務。如Unix和VMS系統利用ACL的簡略方式,以少量工作組的形式,而不許單個個體出現,可極大地縮減列表大小,增加系統效率。
2)能力關系表
能力關系表(Capabilities List)是以用戶為中心建立訪問許可權表。與ACL相反,表中規定了該用戶可訪問的文件名及許可權,利用此表可方便地查詢一個主體的所有授權。相反,檢索具有授權訪問特定客體的所有主體,則需查遍所有主體的能力關系表。 通過介紹單點登入SSO的基本概念和優勢,主要優點是,可集中存儲用戶身份信息,用戶只需一次向伺服器驗證身份,即可使用多個系統的資源,無需再向各客戶機驗證身份,可提高網路用戶的效率,減少網路操作的成本,增強網路安全性。根據登入的應用類型不同,可將SSO分為3種類型。
1)對桌面資源的統一訪問管理
對桌面資源的訪問管理,包括兩個方面:
①登入Windows後統一訪問Microsoft應用資源。Windows本身就是一個「SSO」系統。隨著.NET技術的發展,「Microsoft SSO」將成為現實。通過Active Directory的用戶組策略並結合SMS工具,可實現桌面策略的統一制定和統一管理。
②登入Windows後訪問其他應用資源。根據Microsoft的軟體策略,Windows並不主動提供與其他系統的直接連接。現在,已經有第三方產品提供上述功能,利用Active Directory存儲其他應用的用戶信息,間接實現對這些應用的SSO服務。
2)Web單點登入
由於Web技術體系架構便捷,對Web資源的統一訪問管理易於實現。在目前的訪問管理產品中,Web訪問管理產品最為成熟。Web訪問管理系統一般與企業信息門戶結合使用,提供完整的Web SSO解決方案。
3)傳統C/S 結構應用的統一訪問管理
在傳統C/S 結構應用上,實現管理前台的統一或統一入口是關鍵。採用Web客戶端作為前台是企業最為常見的一種解決方案。
在後台集成方面,可以利用基於集成平台的安全服務組件或不基於集成平台的安全服務API,通過調用信息安全基礎設施提供的訪問管理服務,實現統一訪問管理。
在不同的應用系統之間,同時傳遞身份認證和授權信息是傳統C/S結構的統一訪問管理系統面臨的另一項任務。採用集成平台進行認證和授權信息的傳遞是當前發展的一種趨勢。可對C/S結構應用的統一訪問管理結合信息匯流排(EAI)平台建設一同進行。
⑨ RBAC中指定用戶的角色可以分配多個嗎
這種需求就是所謂的RBAC,即「基於角色的訪問控制」。基本原理就是整個許可權系統分四部分:用戶(user)、角色(role)、節點(node)和訪問列表(access);每個用戶都歸屬於至少一個角色,而不同的角色只能訪問特定的節點,角色與節點的這種對應關系保存在「訪問列表(access)」中。每當用戶進行一個操作訪問一個節點(具體為某個模塊的某個方法)時就去access表中檢查他所屬角色的許可權,許可權驗證通過則進行該操作,否則給予無許可權的提示。要使用RBAC系統一般來說需要項目是MVC結構的。詳細內容可以自己在網上搜索相關資料。
⑩ 什麼事訪問控制訪問控制包括哪幾個要素
訪問控制是幾乎所有系統(包括計算機系統和非計算機系統)都需要用到的一種技術。訪問控制是按用戶身份及其所歸屬的某項定義組來限制用戶對某些信息項的訪問,或限制對某些控制功能的使用的一種技術。
訪問控制包括伺服器、目錄、文件等。訪問控制是給出一套方法,將系統中的所有功能標識出來,組織起來,託管起來,將所有的數據組織起來標識出來託管起來, 然後提供一個簡單的唯一的介面,這個介面的一端是應用系統一端是許可權引擎。
(10)基於角色的訪問控制的基本原理擴展閱讀
實現機制:訪問控制的實現機制建立訪問控制模型和實現訪問控制都是抽象和復雜的行為,實現訪問的控制不僅要保證授權用戶使用的許可權與其所擁有的許可權對應,制止非授權用戶的非授權行為;還要保證敏感信息的交叉感染。
為了便於討論這一問題,我們以文件的訪問控制為例對訪問控制的實現做具體說明。通常用戶訪問信息資源(文件或是資料庫),可能的行為有讀、寫和管理。為方便起見,我們用Read或是R表示讀操作,Write或是W表示寫操作,Own或是O表示管理操作。