• 沒有找到結果。

第二章  文獻探討

2.4.  存取控制簡介

2.4.6.  以角色為基礎的存取控制模型

和控管不夠嚴密,很容易經由授權而將權限轉給其他的人,造成資訊會被非法接 觸及傳播[21][31]。

2.4.5. 強制性存取控制

強制性存取控制會將使用者和物件依照不同性質分類成不同等級,系統會在 每個使用者和物件上標示一個標籤作為等級識別用,使用者和物件之間透過標籤 來互相對應、管理並連結兩者關係。強制性存取控制會依照標籤來限制使用者對 物件執行存取或寫入的行為,因此可以控制資訊的流向。相較之下,強制性存取 控制比隨意性存取控制對於權限的管理較具有安全性,而缺點是缺乏彈性且會有 隱密通道(covert channel)發生[31]。

2.4.6. 以角色為基礎的存取控制模型

由於傳統上的存取控制架構在執行或是管理上具有某些缺陷或是彈性不夠 大的問題,針對這些問題,學者提出以角色為基礎之存取控制(Role-Based Access Control, RBAC)來解決傳統存取控制架構的缺點[10][15]。

1992 年由Ferraiolo和Kuhn等學者[8]首次提出以角色為基礎的存取控制概 念,之後Sandhu等學者[28]對其加以改進並正式提出以角色為基礎的存取控制模 型,經由美國國家標準與技術協會(National Institute of Standards and Technology, NIST)組職加以收編、整理之後訂定標準,稱為NIST RBAC[30]。之後開始有許 許多多以RBAC為基礎的相關研究產生,並且結合不同領域之專業知識來提出各 種的衍生模型[33][35][37]。也有學者已經運用RBAC模型,實作相關的存取控制 系統[43][57]。

22

在以角色為基礎的存取控制模型中,使用者被分配到適當的角色,透過角色 來決定使用者存取資源的權限,而不是讓使用者直接對檔案資源做處理。以角色 為基礎的存取控制其中一個特性便是具有角色階層(Role Hierarchy)[28]的觀 念,企業組織等相關機構透過角色階層可以反映出整體的授權結構,使得組織在 管理角色和權限上具有比較大的彈性空間,其中使用者會被指派多個角色,一個 角色也可以由多個人來擔任,角色會對應到所擁有的職權,透過角色分派給使用 者的方式來取得職權,其存取控制模型簡介如圖2-5所示。

圖 2-5. 以角色為基礎之存取控制模型[28]

以下簡略概述以角色為基礎之存取控制模型基本架構:

1. 基本元素

以角色為基礎之存取控制模型包含四 個基本元件,分別為使用者

(User)、角色(Role)、權限(Permission)、會期(Session),各元件 之說明如下:

z 使用者(User):大多是指和系統互動的人,也包括智慧型代理人如行 動電腦、機器人等。

23

z 角色(Role):可視為使用者在組織中所扮演的職務,透過角色能得知 在企業裡相關的權限和責任。

z 權限(Permission):存取機制中對物件的操作許可,如存取方式或是 操作行為。

z 會期(Session):指角色指派的期間,從使用者啟動角色到結束角色的 整個會期期間。

另外元件之間主要的對應關係包含使用者與角色指派(User Assignment, UA),是指使用者與角色之間屬於多對多的指派關係。另一個對應關係為 權限與角色指派(Permission Assignment, PA),主要是角色與權限之間的 指派關係。

2. 限制條件

組織可依照需求加入限制條件(Constraints),用來額外判斷角色的指 派是否合乎組織運作的規範,例如互斥角色的設定,限制某些相衝突的角色 無法分派給同一個使用者。假設在遠距教學的課程中,如果讓該門的修課學 生和助教之角色由同一個人擔任,則可能會發生竄改學業成績的情形,為了 避免發生弊端,必須要把相衝突的角色定義為互斥角色。

24

3. 角色階層

透過角色階層可以了解到一個企業組織的規模和授權結構,每個人因職 務的不同扮演不一樣的角色,而角色彼此之間形成一種階層關係,透過繼承 的方式,讓角色擁有本身權限之外,還繼承下層角色之權限。角色階層關係 圖如圖2-6所示,部門成員為角色階層中的最低層,擁有的權限最少,軟體 工程師和硬體工程師繼承部門成員的角色,所以擁有本身的權限再加上訪客 的權限,而部門經理繼承助軟體工程師與硬體工程師,除了擁有自己和軟體 工程師與硬體工程師的權限,透過角色階層關係,部門經理還能繼承部門成 員的權限。

圖 2-6. 角色階層圖

4. 安全原則

以角色為基礎之存取控制模型支援三種安全原則[6][28],分別為最少權 限(Least privilege)、權責區分(Separation of duties, SoD)和資料抽象化

(Data abstraction)。

25

z 最少權限(Least privilege)

並不是全部的權限使用者都會用到,且過多的權限也可能會因為使用者 無心或是故意的操作而造成系統的錯誤,因此給予角色所能使用的適當 權限即可,不授予超過角色權責的權限。根據以上考量因素,提供給角 色剛好足夠的權限即可,減少系統出錯的風險和維護人員資料的負擔。

z 權責區分(Separation of duties, SoD)

主是要針對權限分派的安全原則,避免相衝突的兩個角色由同一個人操 作而造成弊端。例如:會計人員和採買人員的角色若是由同一個使用者 來擔任,則可能會發生購買金額不實等舞弊情況。

z 資料抽象化(Data abstraction)

使用抽象的權限來表示實際的權限,例如買賣系統的買入和賣出。用買 入賣出的專業術語來取代電腦的讀寫檔案操作行為,讓使用買賣系統的 操作人員不會因為看不懂要讀取還是寫入而發生資料使用錯誤。資料抽 象化有助於提供使用者正確的語意,減少因為不明白名詞意思而產生錯 誤的操作,並且能夠有效保持整體資料的一致性。

除了單純的以角色為基礎之存取控制之外還有很多其他以不同目的為基礎 的存取控制模型[44],像是以時間和角色為基礎的存取控制(Temporal RBAC, TRBAC),是利用不同的時間區隔,動態調整角色的權限[16];以空間和角色為 基礎的存取控制(Spatial RBAC, SRBAC),它和TRBAC類似,不同的是,它是 以空間位置移動的觀點,來賦予角色存取權限[14],除此之外,還有以規則庫為 基礎的存取控制(Rule Set Based Access Control, RSBAC)、以任務為基礎的存 取控制(Task-Based Access Control, TBAC)等多種不同使用需求和類型的存取

26

控制[5][22]。上述這些以各種不同基礎為存取控制的模式,除了單純的個別使用 之外,還可以根據需求來合併其他存取控制模式,得到功能更強大的存取控制模 組。例如以時間和角色為基礎的存取控制(TRBAC)可以和以空間和角色為基 礎的存取控制(SRBAC)結合使用於系統中,同時考量時間和空間因素,來給 予使用者正確的權限;或是運用複合式之RBAC來因應較為巨大繁雜的組織存取 控制需求[24]。存取控制機制也可以和其他方面的系統結構做結合,如本論文提 到的以角色為基礎之存取控制再加上數位版權管理的雛型架構,結合RBAC之人 員與權限管理的彈性與效率,並輔以數位版權管理機制來對創作者的數位內容做 版權保護,使得系統在使用者與物件之間的存取控制做妥善的應用。

相關文件