• 沒有找到結果。

具情境感知的授權控管模型於智慧型空間之研究

N/A
N/A
Protected

Academic year: 2022

Share "具情境感知的授權控管模型於智慧型空間之研究"

Copied!
74
0
0

加載中.... (立即查看全文)

全文

(1)

i

具情境感知的授權控管模型於智慧型空間之研究

中華大學資訊管理學系

摘要

由於近年來科技發展迅速,同時也發展出了許多人性化的科技,智慧型空間

(Smart space)便是其中之一。而在一般以角色為基礎的存取控制(Role-Based Access Control)系統中,並不會將使用者的情境(Context)當作限制條件來決定 分配何種角色給使用者,因此可能發生無法符合實際的運作情形,或是權限不符 合的情形。

因此本研究的目的,便是探討在智慧型空間中的情境相關授權之控管,以期 能設計出一套適用於智慧型空間裡完善的授權控管系統,能夠應付智慧型空間裡 隨時改變的情境,給予使用者相對應的權限。本研究適用於具有無線網路(Wireless Network)之智慧型空間,在本系統中將以智慧型實驗室為例,當使用者持手持裝 置進入實驗室時,系統能夠透過無線存取點(Wireless Access Point)與手持裝置連 線,並且取得此持有者的資訊,透過此使用者的資訊以及當時的情境資訊,授予 此使用者適當的角色,以及此角色在此智慧型實驗室內,對各物件相對應的權限,

並且避免當一個角色擁有過多的情境,而導致某些情境的組合使得該角色無法獲 得正確的權限。

關鍵詞:授權、情境、以角色為基礎的存取控制、智慧型空間

研究生:詹智翔 指導教授:吳美玉 教授

(2)

ii

Research on Context-Aware Authorization Management Model for Smart Space

Department of Information Management, Chung-Hua University, Hsin-Chu, Taiwan, ROC

ABSTRACT

Due to the development of technology rapidly, a lot of human technologies are developed. Smart space is one of the human technologies. In Role-Based Access Control system, it does not regard the user's contexts as the limited conditions while assigning the role to user. Therefore, the situation about impractical operation and unsuitable permissions may be happened.

The purpose of this research is to probe into context-related authorization management in smart space in order to design a novel authorization control system for smart space. The authorization management system assigns permissions to users according to the highly changeable context in smart space. This research is applicable to smart space of having the wireless network. In this research, we will use the mobile devices with smart laboratory as the example. When a user holds a mobile device to enter the smart laboratory, the system can connect with the mobile device through wireless access point and then capture the user’s information. The system will authorize an appropriate role to this user and permissions on smart space objects by the role according to the user’s information and current context information. The proposed model also avoids when a role has too much contexts, then some combinations of contexts make this role unable to obtain the correct authorization.

Keywords: authorization, context, Role-Based Access Control, smart space

Student:Chih-Hsiang Chan Advisor:Dr. Mei-Yu Wu

(3)

iii

致謝

碩士班的日子在論文完成時終告一段落,首先感謝我的指導教授吳美玉老 師,在這二年來不辭辛勞的指導以及帶領下,讓我學習到許多知識,各種報告以 及寫作的技巧,並且讓我學會發現問題、獨立思考、解決問題,使我受益良多,

讓我能夠如期完成碩士論文。另外也要感謝口詴委員葉慈章教授、郭明煌教授以 及李之中教授對於我的論文熱心的指導與建議。以及同實驗室的同學其弘、宗澤、

家維、本涵、文政以及政揚,感謝他們給予我適當的協助以及支持與鼓勵。

最後,我要特別感謝我的父母,感謝他們多年以來的支持與鼓勵,讓我能夠 專注於我的研究上無後顧之憂,使我可以很順利的完成學業。

要感謝的人無法在此一一道述,謝謝曾經指導過我、關心我的每一個人,僅 以一句萬分感謝,表達我最誠摯的謝意。

(4)

iv

目錄

摘要 ... I 致謝 ... III 目錄 ... IV 圖目錄 ... VII 表目錄 ... IX

第一章 緒論 ... 1

1.1 研究背景與動機 ... 1

1.2 研究目的 ... 2

1.3 研究流程 ... 3

1.4 論文架構 ... 4

第二章 文獻探討 ... 6

2.1 智慧型空間 (SMARTSPACE) ... 6

2.2 存取控制機制 ... 7

2.2.1. 存取控制陣列 (Access Control Matrix, ACM) ... 8

2.2.2. 存取控制串列 (Access Control Lists, ACLs)... 9

2.2.3. 能力串列 (Capability List, CL) ... 11

2.2.4. 授權關係 (Authorization Relation, AR) ... 12

2.2.5. 隨意性存取控制 (Discretionary Access Control, DAC) ... 14

2.2.6. 強制性存取控制 (Mandatory Access Control, MAC) ... 15

(5)

v 2.2.7. 以角色為基礎的存取控制

(Role-Based Access Control, RBAC) ... 17

2.3 情境 (CONTEXT) ... 23

2.3.1. 情境感知 (Context-Aware) ... 24

2.3.2. 情境衝突 (Context Conflict) ... 25

2.4 無線感測器網路定位技術 (WIRELESSSENSORNETWORKSPOSITIONTECHNOLOGY) ... 26

2.5 小結 ... 28

第三章 具情境感知的授權控管系統模型 ... 30

3.1 具情境感知的授權控管模型 ... 31

3.2 基本元件 ... 31

3.3 指派與授權 ... 32

3.4 小結 ... 37

第四章 系統實作與分析 ... 39

4.1 開發工具及平台 ... 39

4.2 系統模型架構 ... 40

4.3 系統功能 ... 41

4.3.1. 使用者管理 ... 43

4.3.2. 角色管理 ... 45

4.3.3. 情境管理 ... 47

4.3.4. 方針管理 ... 48

4.3.5. 感測器 ... 52

4.4 實作分析 ... 55

第五章 結論與未來研究 ... 57

(6)

vi

5.1 結論 ... 57 5.2 未來研究 ... 58 參考文獻 ... 60

(7)

vii

圖目錄

圖 1 研究流程圖 ... 4

圖 2 存取矩陣 ... 9

圖 3 存取控制串列 ... 11

圖 4 能力串列 ... 12

圖 5 機密性模式 ... 16

圖 6 整合性模式 ... 16

圖 7 以角色為基礎的存取控制模型 ... 18

圖 8 角色階層圖 ... 21

圖 9 無線感測網路基本架構圖 ... 27

圖 10 具情境感知的授權控管系統模型 ... 31

圖 11 具情境感知的授權控管系統架構 ... 41

圖 12 情境感知授權控管系統登入畫面 ... 42

圖 13 情境感知授權控管系統主畫面 ... 43

圖 14 新增使用者 ... 44

圖 15 使用者異動 ... 44

圖 16 新增角色 ... 45

圖 17 角色管理 ... 46

圖 18 角色階層圖 ... 46

圖 19 新增情境 ... 47

圖 20 情境異動 ... 48

圖 21 新增角色指派方針 ... 49

圖 22 角色指派方針異動 ... 50

圖 23 新增權限指派方針 ... 51

(8)

viii

圖 24 權限指派方針異動 ... 52

圖 25 模擬感測器取得情境 ... 53

圖 26 角色指派 ... 54

圖 27 權限指派 ... 55

(9)

ix

表目錄

表 1 授權關係 ... 14

表 2 開發工具與平台 ... 39

表 3 角色指派方針 ... 49

表 4 權限指派方針 ... 51

(10)

1

第一章 緒論

1.1 研究背景與動機

由於資訊科技以及網路的蓬勃發展,日常生活的環境上也有許多的新科技與 應用,智慧型空間(Smart Space)便是其中之一。智慧型空間,即是具有計算、

通訊與感知的環境。在這個計算環境中,藉由計算、通訊與感知的設備提供計算 和資訊服務,可以讓人們更方便、更有效率的完成各種工作。

在各種不同的智慧型空間內亦有不同的存取控制機制。近年來較廣為人知的 存取控制機制為以角色為基礎的存取控制(Role-Based Access Control),與傳統 的存取控制機制最大的不同在於權限是指派給角色,而不是如同一般傳統的存取 機制,直接將權限指派給使用者,如此可以減少許多管理上的麻煩,並且在組織 或人事變動的時候,也能更方便的更改存取控制規則。但是在以角色為基礎的存 取控制的系統中,一個很典型的授權方針就是「使用者 U 在分配到角色 R 後,

透過角色 R 取得權限 P」,在這裡角色分配給使用者後,使用者僅需透過角色即 可取得權限,並未考慮到使用者或是週遭的環境,是否存在著不符合條件的情 境,而給予了使用者不適當的權限。

情境(Context),是任何可以描述一個個體狀況的資訊,這邊指的個體可以 是人員、地點、時間,以及所有相關的物件。在一般以角色為基礎的存取控制系 統上,指派權限時僅考慮使用者的角色,並不會考慮到周遭的情境,例如在某個 企業裡,初始的設定為只要是工程師便可以擁有存取資料庫的權限,即使這位工 程師不是在上班時間,或者不是使用企業內部的網路,依然可以透過工程師的這 個角色來存取資料庫。而實際上在一般企業裡,是不允許這種情形發生的,如此 一來,企業內部的資訊很有可能會外洩,對企業是一個很嚴重的資訊安全漏洞。

因此在指派角色以及權限時,加以考慮使用者以及周遭環境的情境,如上述例 子,在指派角色以及權限時,將當時使用者的實體所在位置、網路位置以及時間

(11)

2

等情境當作條件,即可避免上述例子所發生的問題,以彌補傳統上的以角色為基 礎的存取控制的不足。雖然以角色為基礎的存取控制亦有發展出加入條件作為取 得角色以及權限時的限制,但是在這種模型下的條件一般都為靜態的條件,即事 先在系統內設定好的條件。而在智慧型空間裡,可以透過感測器取得許多情境,

因此可以將情境作為條件,加入以情境為條件在授權方針上,如此系統可以透過 隨時在改變的情境,動態的指派角色以及權限,比傳統上靜態的條件更有彈性,

因此傳統的授權方針將會變成「角色 R 分配給使用者 U 時,必頇要滿足情境限 制 C 才能擁有權限 P」,如此在授予權限時,不僅考慮了使用者能取得的角色,

並且考慮到使用者或是週遭環境的情境後,再將權限授予使用者,避免將不適當 的權限授予使用者。

在一般系統上,使用者能夠存取哪些資料,完全端賴於使用者的角色,以及 存取控制系統授予角色哪些權限,授權通常由管理員或系統設置,授予個人使用 系統和保存在系統上的資料的許可權。在智慧型空間中,則還必頇要考慮到情境 相關的因素,像是時間、地點…等等,因此在智慧型空間裡,情境將會是系統判 斷該授予使用者什麼樣的權限時,一個非常重要的依據。

此外,一個系統要能夠很正確的授予適當的權限給適當的角色,必頇要獲得 正確的情境,透過已經設定好的方針庫,依據方針庫裡的方針,指派角色給使用 者,以及將權限授予符合規定的角色,並且要避免當一個角色擁有過多的情境,

而導致某些情境的組合使得該角色無法獲得正確的權限。

1.2 研究目的

本研究的目的在於探討智慧型空間中,具有情境感知的授權控管,在以角色 為基礎的存取控制上,加入情境的要素,將情境作為指派角色與權限時的依據,

並且設計出一套適用在智慧型空間裡完善的授權控管系統,此系統能夠應付智慧

(12)

3

型空間裡隨時改變的情境,給予使用者適當的權限。本研究中將以智慧型實驗室 為例,假設各使用者持行動裝置,利用此行動裝置進入此智慧型實驗室後,透過 無線網路與無線存取點取得連線,則系統可以透過無線存取點來取得此手持裝置 的相關資訊,藉此判斷此手持裝置的使用者為誰,並且依據使用者的不同,以及 當時所接收到的各種情境,根據方針庫裡的角色指派方針,來判斷應該授予使用 者什麼樣的角色,之後再依據使用者所分配到的角色,透過方針庫裡權限指派的 方針來給予對各物件不同的使用權限,以期達到在智慧型空間內,情境相關授權 之控制。

1.3 研究流程

本論文的研究流程如圖 1 所示,首先闡述研究背景與動機、研究目的,從智 慧型空間和情境感知相關的文獻,針對各種不同的授權控管作分析、比較,找出 其可能產生的問題以及不足的地方,並且再收集整理相關的文獻,以期找出改善 及解決問題的方法。在確定研究主題為「具情境感知的授權控管模型於智慧型空 間之研究」後,依據相關文獻的蒐集與分析,進一步確立研究範圍。

本研究在文獻的蒐集與分析上,主要區分為下列幾項主題:

1. 智慧型空間

2. 以角色為基礎的存取控制模型 3. 情境與情境感知

4. 情境衝突

根據文獻資料的分析與整理,可作為本論文研究架構之理論基礎;而雛型系 統實作部份則使用 ASP 來開發此系統,資料儲存的部分則使用 Microsoft SQL 資 料庫技術,將重點著眼於情境相關之授權與指派方針的實作,並期望能實作出此 授權控管模型架構的雛型。

(13)

4 圖 1 研究流程圖

1.4 論文架構

本論文藉由具情境感知的授權控管模型架構,以期達到在智慧型空間內與情 境感知相關之授權控管。本論文主要分為五個章節,各章節安排如下:

第一章為「緒論」,對研究背景與動機、研究目的、研究流程以及論文架構 作一個簡單的說明。

第二章為「文獻探討」,介紹與本研究相關的主題,包括了智慧型空間、以 角色為基礎的存取控制、情境與情境感知,以及情境衝突等。

第三章為「具情境感知的授權控管模型」,主要是介紹本研究所提出的具情

(14)

5

境感知的授權控管模型,以及指派與授權相關的方針。

第四章為「雛型系統建置與實作」,詳述雛型系統實作的方式與流程、開發 工具與平台、相關技術與架構中各模組的功能展現。

第五章為「結論與未來研究方向」,總結本研究的研究成果,並針對未來可 能的研究方向加以說明。

(15)

6

第二章 文獻探討

在進入主題之前,讓我們先來回顧一些與本研究相關的文獻,包括智慧型空 間以及各種存取機制,其中存取機制的重心主要放在以角色為基礎的存取控制,

此外還有從以角色為基礎的存取控制模型所衍生的相關模型,最後是與情境、情 境感知以及情境衝突相關的文獻。

2.1 智慧型空間 (Smart Space)

智慧型空間即是具有計算、通訊與感知的環境。在這個計算環境中,藉由計 算、通訊與感知的設備提供計算和資訊服務,可以讓人們更方便、更有效率的完 成各種工作[1] [27][50]。

在此環境中,系統不僅需具有計算、感知等能力,還必頇擁有當環境、人或 是物件改變時,能夠依據當時各種情境的改變,以及所造成各種不同的情境組合 來給予各角色所應獲得的權限。

目前不論是在學術界或者是業界,皆有許多關於智慧型空間的研究計畫。在 學術界,像是美國麻省理工學院(MIT)裡 Computer Science and Artificial Intelligence Laboratory 所 研 究 的 AIRE ( Agent-based Intelligent Reactive Environment)計畫[47],以及 Media Lab 的 Smart Rooms 計畫[48]與 KidsRoom 計畫[7][49],美國喬治亞理工學院(Georgia Tech)的 Aware Home Research Initiative (AHRI)計畫[42];在業界有 IBM 公司的 DreamSpace 計畫[43],Microsoft 公司的 EasyLiving 計畫[46]等等,國內亦有工業技術研究院裡電腦與通訊工業研 究所研發的 Indoor Location-Aware Guide System[5]。

而近年來,許多研究開始將行動通訊技術與智慧型空間加以整合,這些行動 裝置包括了個人數位助理(Personal Digital Assistant , PDA)、手機(Mobile Phone)

(16)

7

等。利用行動裝置的可移動性、攜帶便利等特質,及行動裝置的普及性,透過這 些行動裝置發送訊息,即可達到方便、快速、有效率地監控此智慧型空間內的任 何物件[15]。

目前有關智慧型空間的研究議題,許多是著重在感測與辨識(Sensing and Recognition),在此空間內,包含了許多生物辨識的技術,像是可以感知人體的 動作,或是分辨人的語言、臉部辨識以及視覺與聽覺的呈現等功能[50],接著透 過這些感測以及辨識的資訊,來達到在智慧型空間內的存取控制,例如像是另一 個智慧型空間內的熱門議題:程控式(Programmable),即是在這個智慧型空間 內提供一個程式化的平台,讓使用者能夠隨時的改變或控制這個空間內物件的機 能[24]。

2.2 存取控制機制

存取控制的目的在於限制一個系統上的合法使用者可執行的動作或操作,目 前已經發展出許多存取控制的機制,從最早的存取控制陣列(Access Control Matrix)[31][37]、存取控制串列(Access Control Lists, ACLs)[26][29][31]、能 力串列(Capability List, CL)[26][31]、授權關係(Authorization Relation, AR)[31],

以及隨意性存取控制(Discretionary Access Control, DAC)[26][31]、強制性存取 控制(Mandatory Access Control, MAC)[31],主要為探討主體(Subject)是否 有權限去存取受體(Object)的關係。

由於傳統上的存取控制架構在執行或是管理上不太具有彈性,因此針對此問 題,David F. Ferraiolo 及 D. Richard Kuhn 等學者於 1992 年提出以角色為基礎的 存取控制(Role-Based Access Control)[17]。以下將逐一介紹存取控制陣列、存 取控制串列、能力串列、授權關係、隨意性存取控制、強制性存取控制、以角色 為基礎的存取控制及其相關衍生的研究。

(17)

8

2.2.1. 存取控制陣列 (Access Control Matrix, ACM)

最早使用的資料存取控制的方法即是存取控制矩陣,存取控制矩陣是將主體 對於物件的存取權力以一個二維矩陣來記錄,透過此二維矩陣的行列對應關係來 表示主體對受體所擁有的權力[31][37]。

傳統的資料庫呈現方式是以檔案為主,主體即為使用者,受體則是資料庫裡 所儲存的檔案,如圖 2 所示,透過存取控制矩陣可以很清楚地呈現出各個使用 者對檔案所擁有的權力,在這張圖裡總共有 File 1、File 2、File 3、File 4 四個檔 案及 Account 1 與 Account 2 兩個帳號,以及三位使用者 John、Alice 以及 Bob,

在矩陣裡相交的部份即為使用者對檔案或帳號的權力,在圖 2 裡使用者對檔案 的權力總共包含了 Own、R、W 三種權力,Own 即擁有這個檔案,R 為對此檔 案有讀取的權力,W 則是對此檔案具有寫入的權力,若是空白則表示此使用者 對此檔案沒有任何權力。例如:使用者 John 擁有 File1、File 3,並且有讀取與寫 入的權力,不過使用者 John 對 File 2 及 File 4 無任何權力,即無法存取 File 2 以 及 File 4。另外,因為使用者 John 擁有 File 1,所以使用者 John 可以給予其他使 用者對 File 1 的各種權限,例如給予使用者 Alice 讀取 File 1 的權限,以及給予 使用者 Bob 讀取跟寫入 File 1 的權限。當然,使用者 John 也可以隨時取消使用 者 Alice 以及使用者 Bob 對 File 1 的權限。

(18)

9

圖 2 存取矩陣[31]

雖然存取控制矩陣的原理非常簡單,並且能夠以簡單易懂的方式來呈現主體 與受體之間存取控制的關係,但是只適用於數量較少的主體與受體,而不適用於 主體與受體的數量非常龐大時,因為當主體與受體數量龐大時會使得存取控制矩 陣非常複雜,並且矩陣也會變得很稀疏,十分的浪費儲存空間;而要更動主體和 受體也會變得十分不易,不論是在刪除或新增主體、受體時,將會影響整行或列,

使得在維護上會隨著矩陣越大而越困難,同時所需要處理記錄的存取控制資訊也 會越來越多,反而會使得存取控制矩陣變得非常複雜,而無法表現出其簡單易懂 的特性。

2.2.2. 存取控制串列 (Access Control Lists, ACLs)

存取控制串列是以存取控制矩陣當作基礎的資料存取控制機制,以串列

(List)的方式將所有與受體有相關授權的主體串起來,每個受體都會對應一個 串列的主體,而每個串列皆會紀錄所有可以對此受體進行存取的主體以及各個主 體可以對此受體存取的權限,也就是說每個主體對於該受體的存取權限是記錄在 該受體所對應的串列之中[26][29][31]。

(19)

10

當使用者欲使用某個檔案時,可以從該檔案的串列起始點開始循序搜尋該串 列中是否有此使用者的資料紀錄,並且比對此記錄有哪些可以讓使用者使用該檔 案的權力。圖 3 是以圖 2 內的使用者與檔案之間的存取控制關係所構成的存取 控制串列,File 1 的存取控制串列表示使用者 John、Alice 與 Bob 皆可以使用 File 1,其中使用者 John 為擁有 File 1,以及讀取與寫入的權限,使用者 Alice 僅有對 File 1 讀取的權限,而 Bob 則有對 File 1 的讀取與寫入的權限。

透過存取控制串列可以清楚地看出每一個受體存取控制的狀況,而在權限需 要異動時,只需要修改串列內的資料,要新增或是移除串列也都非常方便與快 速,在管理上相當方便且簡單。因此在一些受歡迎的作業系統上,如 UNIX 與 VMS 皆是使用存取控制串列做為其存取控制的管理方式。

雖然存取控制串列可以很方便的查詢每個受體的存取控制狀況,但是存取控 制串列是以受體的觀點來形成主體的串列,當以受體的觀點來管理主體的權限是 很方便的,不過若是要查詢某個主體對各個受體所擁有的權限時,則必頇對每個 受體的串列一一搜尋,或是欲刪除某個主體時,也必頇對每個受體的串列做搜 尋,如此在管理上是相當不便的。因此許多系統允許使用群組名字的方式在存取 控制串列中,將對某受體有相同的存取控制權限的主體形成一個群組,以群組的 名字當作串列紀錄的主體名字,如此可以讓存取控制機制較為簡化[31]。

(20)

11

圖 3 存取控制串列[31]

2.2.3. 能力串列 (Capability List, CL)

能力串列的模式類似於存取控制串列,不過串列是將所有與主體有相關授權 的受體串起來,形成一個受體串列,每個主體都會對應一個受體串列,而每個串 列皆會紀錄所有該主體可以進行存取的受體以及權限,與存取控制串列的以受體 為主的方式剛好相反[26][31]。

如圖 4 所示,亦是以圖 2 的使用者與檔案之間的存取控制關係所構成,從 圖中可以很清楚地看出主體所有被授權的受體,例如使用者 Bob 對 File 1 有讀取

(21)

12

以及寫入的權限,對 File 2 則有讀取的權限,並且擁有 File 4 以及對 File 4 讀取 與寫入的權限。

因為能力串列的模式與存取控制串列類似,所以亦有類似的問題產生。在能 力串列裡,是以主體的觀點來形成受體串列,所以當要查詢某受體能被哪一些主 體所存取時,就必頇依序尋找每個受體串列;或是當要刪除某個受體或是對某個 受體的存取權限時,也必頇依序尋找每個受體串列。如此在管理上十分的不便,

而且浪費時間與資源。

圖 4 能力串列[31]

2.2.4. 授權關係 (Authorization Relation, AR)

授權關係是結合了存取控制串列與能力串列的存取控制方法,但是也同時繼 承了此兩種方式的優點與缺點。授權關係可以不同的觀點來進行存取控制,可以 如存取控制串列以受體的觀點來看主體的授權狀況,也可以如能力串列以主體的 觀點來看受體的授權狀況[31]。

如表 1 所示,以主體的觀點來看,使用者 John 擁有 File 1,且可以對 File 1

(22)

13

有讀取與寫入的權限,對 File 3 也是有擁有、讀取及寫入的權限。也可以用受體 來做排序,以受體的觀點來看,對 File 4 有存取權限的使用者為 Alice 以及 Bob,

Alice 對 File 4 有讀取的權力,Bob 則為 File 4 的擁有者,且可以對 File 4 讀取及 寫入。在修改權限時,也可以依權限修改的對象為主體或是受體,來針對主體、

受體做排序,如此一來避免了使用存取控制串列或是能力串列時,因為修改的對 象為主體或受體的不同時,而可能需要循序搜尋全部的串列,浪費了許多時間與 資源。

此外,關聯式資料庫管理系統(Relational Database Management System)亦 是使用這種方式來呈現。

(23)

14

表 1 授權關係[31]

Subject Access Mode Object John OWN File 1 John R File 1 John W File 1 John OWN File 3 John R File 3 John W File 3 Alice R File 1 Alice OWN File 2 Alice R File 2 Alice W File 2 Alice W File 3 Alice R File 4 Bob R File 1 Bob W File 1 Bob R File 2 Bob OWN File 4 Bob R File 4 Bob W File 4

2.2.5. 隨意性存取控制 (Discretionary Access Control, DAC)

隨意性存取控制是根據使用者的身份以及授權或規則來給予使用者對資訊 的存取權限,每個使用者或是一個群組的使用者對不同物件皆有不同的存取方 式,例如:讀取、寫入或修改等。當使用者對物件有存取需求時,會先根據先前 所制訂的規則做檢查,經過認證之後,存取需求才能被接受,再根據權限去進行 存取動作[26][31]。

隨意性存取控制對資料使用權限的授權較有彈性,對不同的系統以及程式 時,可依系統以及程式的需求來做調整,所以依據隨意性存取控制所完成的存取

(24)

15

控制機制比強制性存取控制(Mandatory Access Control, MAC)更有彈性。

然而在隨意性存取控制中,權限很容易經由授權轉給其他人,例如:使用者 Bon 被允許讀取屬於使用者 John 的 File 1,而使用者 Bob 不需要經過使用者 John 同意,便可將此權限直接授權予使用者 Alice。所以在隨意性存取控制中對於資 訊的傳遞以及控制並不嚴謹,以致於無法防止資訊的擴散。

2.2.6. 強制性存取控制 (Mandatory Access Control, MAC)

為了改善隨意性存取控制(DAC)中,具有權限者能夠任意地把權限授予較 低層級的使用者,而造成資訊的擴散,因此發展出強制性存取控制(Mandatory Access Control)。在強制性存取控制中將使用者和資料分類成不同的安全層級

(Security Level ),這些安全層級為一個階層式的架構,在強制性存取控制內主 要分為主體(Subject)和受體(Object),系統中每個主體和受體皆會被指派一 個標籤(label)來得知所屬的安全層級,標籤會同時對應主體與受體,也就是每 一個主體及受體在系統中都會被指定一個所屬的安全層級,而標籤分為高度機密

(Top Secret, TS), 機密(Secret, S), 一般機密(Confidential, C)與無機密性

(Unclassified, U)四個強制性存取控制的存取策略層級[31]。

在強制性存取控制的安全層級中,主體與受體存在一定的權限關係,所以強 制性存取控制提供兩種不同的資料存取模式,第一種存取模式為機密性模式

(Secrecy),分為四個安全階級,高度機密、機密、一般機密與無機密性,如圖 5 所示,其資訊流向為下層流向上層。在這個存取模式下有兩個存取原則必頇要 遵孚:

1. Read Down:上層的主體可以讀取下層的受體。

2. Write Up:下層的主體可以寫入上層的受體。

此一原則是在防止在較高層的主體將重要的資訊經由寫入較低層的受體的

(25)

16 方式,而將資訊外洩。

圖 5 機密性模式[31]

第二種存取模式為整合性模式(Integrity),分為決定性(Crucial, C)、重要

(Important, I)與未知(Unknown, U)三個安全階級,如圖 6 所示,其資訊流 向為上層流向下層。整合性模式亦有兩個存取原則必頇要遵孚,與第一種存取原 則-機密性模式恰好相反:

1. Read Up:下層的主體可以讀取上層的受體 2. Write Down:上層的主體可以寫入下層的受體

此一原則是在防止較低層的主體儲存欲往上層主體傳遞的資訊。

圖 6 整合性模式[31]

(26)

17

和隨意性存取控制比較,強制性存取控制能夠限制使用者讀取和寫入的動 作,而達到資訊流向的控制,但是強制性存取控制會有隱密通道(covert channel)

的問題,會非法的傳遞間接資訊流。

2.2.7. 以角色為基礎的存取控制 (Role-Based Access Control, RBAC)

針對傳統的存取控制方式,如隨意性存取控制以及強制性存取控制的問題,

因此 David F. Ferraiolo 及 D. Richard Kuhn 等學者於 1992 年首次提出以角色為 基礎的存取控制(Role-Based Access Control, RBAC)[17]的概念,並說明以角色 為 基 礎 的 存 取 控 制 為 一 種 非 隨 意 性 的 存 取 控 制 ( non-discretionary access control),之後經過 Sandhu 等學者加以改進,並正式提出以角色為基礎的存取控 制模型[32]。最後交由美國國家標準與技術局(National Institute of Standards and Technology, NIST)加以收編、整理之後訂製成一套標準,稱為 NIST RBAC[33]。

在以角色為基礎的存取控制模型中,使用者被分配到適當的角色,再經由所 屬的角色來決定資源的存取權限。以角色為基礎的存取控制具有角色階層(role hierarchy)此特性,透過角色階層可以反映出組織的授權結構,使得企業在管理 角色以及權限上具有較大的彈性。並且包含了最少權限(least privilege)、權責 區分(separation of duties),及資料抽象化(data abstraction)這三項常見的安全 原則[32]。

(27)

18

圖 7 以角色為基礎的存取控制模型[20]

2.2.7.1 基本元件

圖 7 為 RBAC 模型,包含了 RBAC 的基本架構,其主要元件包括了四個元 素:使用者(User)、角色(Roles)、會期(Sessions)、權限(PRMS),而權限 再細分為操作(OPS)及物件(OBS);除了此四個元素,還包括了各項元素之 間的對應關係,包含使用者與角色的指派(User Assignment, UA)、權限與角色 的指派(Permission Assignment, PA)及使用者透過會期啟動角色的關係分別為 User_sessions 以及 Session_roles [18][30][32][33]。以下將對各項元素以及元素之 間的關係作一詳細說明:

1. 使用者:即一般的使用者,通常是指與系統互動的人,另外也包含智慧型代 理人,例如:機器人、行動電腦等等。

2. 角色:即可分配給使用者的角色,是一種工作功能或是一種工作職稱,可以 視為組織或存取控制機制中扮演的角色,透過角色能得知在企業裡相關的權 限以及責任。

3. 會期:就是在使用者擔任某個角色的期間。

(28)

19

4. 權限:存取機制中對於物件的權力,包括存取方式或是操作行為;操作,就 是使用者對物件所執行之動作;物件即欲操作之物件。

5. 使用者與角色的指派:是指角色指派給使用者,使用者和角色之間有多對多 的指派關係,亦即使用者可以擁有多個角色;而角色也可以被分配給多個使 用者。

6. 權限與角色的指派:即是將權限指派給角色,也是一種多對多的關係,亦即 使用者可以擁有多個角色;而角色也可以被分配給多個使用者。

7. user_sessions:指的是使用者對應到的會期,當一個使用者要啟動一個角色 時,會先建立出一個會期,即是User_sessions。User_sessions中,使用者對於 會期是屬於一對多的關係,也就是說一個使用者可以對應到多個會期,但是 一個會期只會對應到一個使用者。

8. session_roles:是使用者的角色對應到的會期,會期會在使用者所擁有的眾多 角色之中啟動一個或數個角色,即是Session_roles。會期對於角色是屬於多對 多的關係,也就是說一個會期可以啟動許多個角色,而每個角色也可以同時 被許多個會期所啟動。

2.2.7.2 安全原則

以角色為基礎的存取控制模型包含著名的三種安全規範[19][32],以下加以 詳細說明三種安全規範:

1. 最少權限(Least privilege):當授予角色權限時,應僅給予適當的權限,過 多的授權不但對實際運用沒有任何的幫助,且會造成維護時多餘的負擔,此 外,過多的授權也可能因為使用者無意的錯誤操作,而危及系統的安全。所 以在授權于角色時,僅頇授予角色剛好足夠的權限即可,不需過度提供角色 不需要的權限。

(29)

20

2. 權責區分(Separation of duties):是一種針對權限上的安全原則,主要將發 生衝突的權責授予在不同角色身上,避免權責不分,在操作同一資料所造成 實務上的弊端,例如:開立支票的角色與簽核支票的角色如果由同一位使用 者來擔任,將容易造成監孚自盜的事情發生,此種問題就必頇在權責區分中 將開立支票與稽核支票的角色明確劃分開。而權責區分可分為靜態權責區分

(Static Separation of Duties)或稱為強互斥(Strong exclusion)及動態權責 區分(Dynamic Separation of Duties)或稱為弱互斥(Weak exclusion)

[4][18][22][38]。靜態權責區分表示同一使用者不能擁有相互衝突的角色,

例如:開立支票的角色與簽核支票的角色不能同時分派給同一個使用者擔 任,即是屬於此種權責區分。靜態權責區分在實作上比較容易,但對於整體 企業運作環境來說缺乏彈性,而且較不符合企業運作時的實際運作狀況;而 動態權責區分為同一使用者可以擁有相互衝突的角色,但是在執行時期,必 需要擇一來擔任,不得同一時間來擔任相互衝突的角色。例如:一家公司董 事長可以身兼總經理的職務,是屬於此種權責區分。動態權責區分必頇在執 行時期,根據使用者實際扮演角色的狀況來判斷權限。運用此種權責區分比 較符合企業現實狀況,也較能夠彈性的運用,但實作需要考慮的狀況比較多 也比較複雜。

3. 資料抽象化(Data abstraction):即是將實際的資料隱藏於操作之中,使用 者以日常職務分類,例如會計系統的借、貸,用借、貸的會計用語來取代電 腦的操作行為,例如:讀、寫或是執行資料。此種方式有助於提供給系統維 護人員或使用者正確的語意,不致於因為名詞誤解而產生錯誤的授權,並且 能夠有效的保持整體資料的一致性。

(30)

21

2.2.7.3 角色階層

在以角色為基礎的存取控制模型中,擁有一個很重要的特性,就是角色階層

(Role Hierarchy)。透過角色階層可以了解到一個企業組織的組織規模以及授權 結構。在企業組織裡,每個人因職務上的不同,扮演不同的角色,而角色彼此之 間形成一種階層的關係。角色階層中上層的角色可以繼承下層角色的權限,如圖 8 所示。

專案經理在角色階層中位於較高層級,同時可以繼承測詴工程師及程式設計 師的權限,而測詴工程師及程式設計師又同時繼承專案成員的權限,但彼此也擁 有屬於自己的權限,這種繼承的關係如同實際組織的架構,因此以角色為基礎的 存取控制模型利於管理組織角色的架構。

圖 8 角色階層圖

2.2.7.4 RBAC限制

雖然利用角色階層特性,可以方便權限分派控制的管理,但仍頇注意以下幾 點限制[13][32]:

1. 互斥角色(Mutually Exclusive Roles):此一原則根據權責區分原則所設定,

避免同一位使用者同時身兼兩個互斥的角色,例如:開立支票角色與簽核支

(31)

22

票角色不能同時由一個使用者擔任,以避免有弊端產生。故所有類似此一情 況的角色應設為互斥角色。

2. 使用者數量(Cardinality):對於一個角色可以給予幾個使用者擔任的數量 應予以限制,尤其是一些擁有特殊權限的角色,如系統管理者,使用者數量 應控制在少數,否則會有系統安全上的顧慮。

3. 前提角色(Prerequisite Roles):前提角色的意思是說使用者必頇先具有某一 個角色,才能成為另一個角色,在一般企業組織架構下,通常會有此特性,

例如:在一個產品開發專案中,專案角色的前提角色有行銷人員、產品設計 人員以及專案經理,如果要擁有此專案角色,則必頇先取得行銷人員、產品 設計人員或是專案經理的其中一個角色,才能去取得此專案角色;此外前提 角色的概念也可利用於權限上,即一個角色先具有某個權限 P,才能擁有另 一個權限 Q。

另外需要注意使用者是否擁有兩個以上的身份,假如使用者可以不同的身份 進入,取得不同角色的權限,則上述所提之原則將被破壞。因此企業對於使用者、

角色以及權限都應該有完整的考量。

目前對於以角色為基礎的存取控制之實作研究有很多,如以物件導向技術 [9][10][11]、資料庫設計[21][23],亦或是安全性之考量[40]。也有許多研究是以 角色為基礎的存取控制模型的相關衍生模型,如 Thomas 與 Sandhu 於 1997 年提 出的以工作為基礎的授權控制(Task-based Authorization Controls, TBAC)[41],

是以工作為導向的存取控制,在流程管理提出需求為主動(active)的安全模式,

有別於傳統的授權控制屬於被動(passive)存取。Kumar 等學者提出的具情境偵 測的以角色為基礎的存取控制(Context Sensitivity in Role-based Access Control, CS-RBAC)[25],是透過角色情境和情境過濾的概念當作在指派角色以及授權時 的隱含限制條件。Feng 等人則提出一個加入情境認知和服務導向的以角色為基 礎的存取控制模型(Context-Aware Role-Based Access Control Model for Web

(32)

23

Services , CSRBAC)[16] 以提升對於網路服務管理的靈活性與安全性。而本論 文的重心是放在與情境相關的授權上,因此接下來將會詳細介紹情境相關的文 獻,包括情境感知,以及在存取控制系統上使用情境為條件時,在設計情境條件 組合時可能會發生的情境衝突。

2.3 情境 (Context)

在最近幾年,情境已經使用在越來越多地方,而位置是最常被使用的情境,

像是 Cyberguide[8]、C-MAP[39]等系統,皆是根據使用者的位置來提供相關資 訊。而近年來,也開始使用越來越多不同的情境,不僅僅是侷限於時間、空間,

根據 Chen 與 Dey 等人[12][14]所定義的情境為「任何可以描述一個個體狀況的資 訊,這邊所指的個體包括了人員、地點,或是所有相關的物件皆可以稱之為個體。」

以及「情境是環境的狀態和設定,是應用軟體用來決定行為,或是在一個應用軟 體事件發生時使用者所關注的。」此外,Schilit 等學者在對情境的定義中,提出 三個情境最重要的觀點[35],分別是:

1. 你現在處於什麼地方?

2. 你的附近有哪些人?

3. 你的附近有什麼資源?

另外有許多學者將情境加以分類,因為適當的情境分類,可以協助設計者在 設計他們的應用程式時,對於情境有適當的應用。如 Ryan 等人[28]將情境分類 為位置(Location)、環境(Environment)、身分識別(Identity)與時間(Time)。

而 Schilit[34]等人則是將情境分類為位置(Location)與身份識別(Identity)。Chen 與 Kotz[12]等人將情境分類為所在位置(Location)、活動(Activity)、身分識別

(Identity)與時間(Time),用這四種情境類別的資訊,來描述特定個體目前的 狀態。

(33)

24

根據以上的研究,因此我們可以大致將情境感知裡的情境分為以下四種類型 的情境:

1. 計算情境(Computing context):如網路服務品質、通訊頻寬、通訊花費以 及鄰近資源如印表機、顯示器、工作站等等。

2. 使用者情境(User context):使用者的喜好設定、位置、鄰近的使用者等,

甚至可以包括使用者當前的社交狀態。

3. 時間情境(Time context):每日、每週、每月的某一個時刻,或是一年的 某一個季節等情境因素。

4. 實體情境(Physical context):像是亮度、噪音程度、溫度等。

2.3.1. 情境感知 (Context-Aware)

由 Schilit 與 Theimer [34]所提出對情境認知的定義,是應用軟體能夠發現和 反應環境變化的能力。也就是說,在此環境中,舉凡人員、地點、時間或是物件 等,隨著時間的變化,應用軟體對於此環境中任何事物的改變而採取相對應的應 變,以適應環境中的種種變化,便稱為情境感知[16]。

在感知的方式上也有所區別。根據 Schiller 及 Voisard [36]的研究指出,情境 感知中的行為分為:

1. 主動式情境感知(Active context awareness):當系統接收到了使用者當時 的情境因素後,會主動依據當時的情境因素而改變系統所提供的服務,本研 究即屬於此種方式。

2. 被動式情境感知(Passive context awareness):為使用者主動為自己所感興 趣之情境提出要求,系統再依使用者的要求提供資訊,如全球定位系統

(Globe Position System, G.P.S)的導航功能等。

情境感知同時包含了三種重要的內涵[6]:

(34)

25

1. 微運算(micro-computing)或普及運算(Pervasive Computing)。

2. 使用者介面設計(User interface design)。

3. 無所不在通訊網路(Ubiquitous communications networks)。

情境感知的主要目的在於將環境智慧融入生活的情境中。IBM 提出普及運 算的概念,用以描述未來的智慧型空間,期望能在任何時間、任何地點以及任何 設備(anytime、anywhere、any devices)取得資訊並且進行回應,以各種運算裝 置與網路技術的整合,達到一個無所不在的運算環境[6]。而今日無線網路的普 及化,運用無線網路的環境來進行情境感知,擺脫以往有線環境的空間限制,使 得使用者或是環境內任何個體的位置將不再被侷限,更可以營造出情境感知的環 境,使得情境感知能夠應用到更廣的領域。

因此,情境感知最重要的便是能夠適應環境,對此環境內的各種各樣的情境 做出回應。另外,在本研究中,也將設定一套方針,用以對環境中可能發生的事 件做出相對應的動作,並根據隨時在改變的情境來對角色的授權作修改,以達到 授權控制的目的。

2.3.2. 情境衝突 (Context Conflict)

在分配角色給使用者時,系統會依據當時使用者的情境,以及環境的情境來 做判斷,再決定應當分配何種角色給此位使用者。所以在設定欲取得某個角色 時,使用者以及當時環境所必頇擁有的情境時,必頇要避免當情境過多,是否會 因為某些情境的組合,而造成衝突的情形發生,使得使用者無法正常的獲取某些 角色,進而無法取得某些權限[2]。

例如,欲取得某一個角色的情境組合中有一個情境被設定為(time: 0000, 2400),此表示式是說明時間 time 為 0000 到 2400,即 00 時 00 分到 24 時 00 分 這段時間內可以取得這個角色,也就是說此角色全天候都可以取得,但是如果這

(35)

26

個角色的情境組合中同時也存在著另一個情境為(time: 0800, 1800),表示時間 time 為 0800 到 1800 內才符合此情境,即此角色只能在上午八點至下午六點才能 夠取得這個角色,如果將此兩個情境分開來看,都是很合理的限制,但是當這兩 個情境組合起來將會發現,如果在上午八點至下午六點之間要取得此角色,將不 會有問題,例如:目前時間為中午十二點,則同時符合(time: 0000, 2400)與(time:

0800, 1800),因此此角色在這個時間還是能夠正常的取得;但是,在上午八點至 下午六點以外的時間,例如:上午七點,則對於(time: 0000, 2400)這個情境是 符合限制的,而對於(time: 0800, 1800)卻是不符合條件的,而使得使用者無法 正常的取得角色以及權限。

所以在設計擔任角色或執行物件所需的情境組合時,必頇要清楚地瞭解各種 情境之間的關係,小心的設定情境條件,避免類似這種衝突的情形發生。

2.4 無線感測器網路定位技術 (Wireless Sensor Networks Position Technology)

隨著無線通訊的進步,也同時帶動了無線感測網路(Wireless Sensor Networks, WSNs)的發展。無線感測網路是由許多感測器節點(Sensor node)所組成,這 些感測器能夠感測在其環境下目前的環境變數,例如:溫度、亮度、溼度等。此 外,環境內的各節點也能透過無線通訊的方式與鄰近節點溝通,並且可以分享資 訊,將其收集到的資訊用多點跳躍的方式回報給資料收集端,最後可以將感測器 所收集到的資料加以分析、應用,如環境監控或是醫療用途等[3],圖 9 為無線 感測網路的基本架構圖。

(36)

27

圖 9 無線感測網路基本架構圖[3]

在許多無線感測網路的應用裡,可以藉由位置資訊來得知事件發生所在,接 著採取各種因應的措施或是服務,在此要得知位置資訊則必頇仰賴定位技術。目 前最成熟且最廣泛使用的定位技術為全球定位系統,目前全球定位系統可以達到 的準確度是根據使用環境而定,一般大約在 5 至 50 公尺之間。根據定位的準確 性則可以分為兩部份:標準定位服務(Stand Positioning Service, SPS)與準確定 位服務(Precise Positioning Service, PPS)。

在定位一個物體或是設備時,最常見的作法為根據一些參考點量測目標與各 個參考點之間的角度或是距離,目前較為常見的技術為 ToA(Time of Arrival),

利用訊號傳輸的時間來估計此目標物體與參考點之間的距離,另一種技術為 TDoA(Time Difference Of Arrival),是利用兩種不同速度的訊號,藉著訊號傳遞 的時間差估計彼此的距離,另外還有需要一些硬體,如天線陣列或是超音波陣列 的技術,為 AoA(Angle of Arrival)。除了利用訊號的傳遞時間來計算距離的方 式,還有利用無線電訊號在傳遞時,會因為距離而逐漸衰減的特性來計算距離的 方法,此種方法即為 RSS(Really Simple Syndication)。目前已有的定位技術包 括了三點定位法、多點定位法及樣本比對定位法等,利用以上這些定位技術所得 到的位置資訊,可在讓環境內的各種服務更加聰明,例如使用者可以透過目前所

(37)

28

在位置,查詢鄰近的商家;或是在博物館等環境內,透過定位系統來建立導覽的 服務等,雖然目前這些定位技術尚未成熟,還無法達到高精準度的定位,不過相 信在不久的將來,定位技術將可以更加精準的定位,並且與日長生活緊密的結 合,讓我們在生活上更加便利。

2.5 小結

在本章節中,我們介紹了與本研究相關的文獻,包括智慧型空間,是本 研究中主要探討的環境,抑是本研究中系統架構所需要的環境;以及各種存取機 制的方法,包括傳統的存取控制機制如:存取控制陣列、存取控制串列、能力串 列、授權關係,及隨意性存取控制、強制性存取控制等,主要為探討主體是否有 權限去存取受體的關係,但是這些存取控制架構在執行或是管理上不太具有彈 性。因此近年來發展出了以角色為基礎的存取控制,為一種非隨意性的存取控 制,在以角色為基礎的存取控制模型中,使用者被分配到適當的角色,再經由所 屬的角色來決定資源的存取權限,本研究即是用以角色為基礎的存取控制當作本 系統基本的存取機制架構。不過以角色為基礎的存取控制並未考慮到使用者或是 週遭的環境,是否存在著不符合條件的情境,而給予了使用者不適當的權限。

因此有學者在以角色為基礎的存取控制中加入了情境的概念,如 Kumar 等 學者[25]雖然在以角色為基礎的存取控制中提出了情境的概念,但是僅考慮了使 用者以及物件的情境,並未考慮整個環境的情境,是否會有其他可能影響使用者 存取資源的情境;Feng 等人[16]提出了一個加入情境認知和服務導向並以角色為 基礎的存取控制模型,存取控制系統可以藉由取得安全相關的環境條件做出存取 控制的判斷,但是此模型僅適合用於網頁伺服器的環境上。

除了以角色為基礎的存取控制的架構外,本研究並加入了情境、情境感知以 及情境衝突的概念,用來輔助系統控管權限,避免在這個環境內即使存在著不符

(38)

29

合條件的情境,而仍然給予使用者不適當的權限。

最後介紹了目前的無線感測網路的定位技術,可以透過這些定位技術來得知 使用者的位置。雖然目前的定位技術並不能很精準的計算出使用者的位置,不過 本研究主要為提出一個想法、概念,因此不考慮現有的技術能否達到非常精準的 定位,我們相信在未來,定位技術將能夠達到更精確的定位。

(39)

30

第三章 具情境感知的授權控管系統模型

在本研究中,我們提出了一個具情境感知的授權控管系統模型,並且設計了 一套用在這個模型上的方針。

在這個具情境感知的授權控管系統模型裡,我們是以智慧型實驗室為例,並 且假設每位使用者都持有行動裝置,這邊所指的行動裝置可以是個人數位助理

(PDA)或是手機等具有無線網路的功能之行動裝置,並且假設每位使用者只會 使用自己的行動裝置,而不會以他人的行動裝置來取得某些自身無法取得的權 限。所以本研究後續將以使用者的行動裝置及具無線網路環境的智慧型實驗室,

與具情境感知的授權控管系統模型來做說明,如何達到可用於智慧型空間中的情 境感知相關的授權控管。

而在本研究中,僅考量本研究之授權控管系統相關之情境,因此將情境分類 為以下三種類別:

1. 環境情境(environment context):即使用者自身所處環境的狀況,像是使用 者的位置、當前的時間等情境。

2. 連線情境(connect context):即使用者的連線狀態、可使用的無線存取點等 情境。

3. 物件情境(object context):設備的使用情形,如此物件現在是否閒置、忙 碌等情境。

另外,目前全球定位系統可以達到的準確度是根據使用環境而定,一般大約 在 5 至 50 公尺之間,因此在此智慧型空間中,現有的定位技術並不能將使用者 的位置精確的定出。而本研究主要為提出一個想法、概念,因此不考慮現有的技 術能否達到非常精準的定位,但是我們相信在不久的將來,定位技術日趨成熟,

將能夠達到更細微的定位。

(40)

31

3.1 具情境感知的授權控管模型

本研究的模型,具情境感知的授權控管系統模型如圖 10 所示。此模型的主 要概念是在智慧型空間裡,在授權時加入情境作為條件,輔助方針授權角色予使 用者,以及授予物件的操作權限予角色,並且根據隨時變動的情境來動態的授予 角色以及權限,以避免在使用者取得角色或是對物件的權限後,即使情境變動後 仍有這些權限,而造成不適當的授權。

圖 10 具情境感知的授權控管系統模型

3.2 基本元件

具情境感知的授權控管系統模型的基本元件包括了使用者(User)、情境

(Context)、角色(Role)、權限(Permission)以及方針(Policy),另外方針包 含了兩個部份,角色指派方針(Role Assign Policy)與權限指派方針(Permission Assign Policy)。以下將對各元件作詳細介紹。

1. 使用者:即一般的使用者。在本論文中,指的是與此智慧型空間所有相關的 人員。

(41)

32

2. 情境:此處的情境主要為使用者周遭的環境情境,包括使用者自身所處環境 的狀況,像是使用者的位置、當前的時間、使用者的連線狀態、可使用的無 線存取點等,也包括此環境內物件的使用情形,如物件的位置、物件使用的 情形等。

3. 角色:即可分配給使用者的角色,透過角色能獲得在此智慧型空間裡對各個 物件相關的權限。

4. 權限:存取機制中對於物件的各種權力,包括存取方式或是操作行為,在此 指的是使用者對此智慧型空間內的物件所執行之動作。

5. 方針:為了能夠有效控制此智慧型空間內,各使用者所能獲得的角色以及各 種角色所能獲得的權限,因此制定了一套方針來輔助系統指派與授權角色與 權限。

本系統之方針主要包含了兩個部份,角色指派方針與權限指派方針。角色指 派方針主要是負責指派角色給使用者,在系統接收到使用者以及週遭環境的情境 資訊後,將會依據這些情境資訊來判斷該授予此使用者什麼角色。在使用者取得 角色後,權限指派方針會依據使用者所取得的角色以及當時的情境,根據方針庫 裡的方針來做判斷,將權限授予此角色。此外,本系統還會根據隨時變動的情境,

動態的即時授予使用者角色以及權限。

3.3 指派與授權

在本研究中,將針對此智慧型實驗室設計一套方針,讓每位使用者的權限皆 受到這一套方針的限制,在本架構中,權限並非一一分配給使用者,而是指派給 角色,如此可以減少許多管理上的麻煩,並且在組織或人事變動的時候,也能更 方便的更改存取控制規則,除了將權限分配給角色,本架構還將會參考使用者以 及周遭實體的情境,用來協助此模型的授權控管系統,作為系統指派角色予使用

(42)

33

者以及授權角色對相關物件的存取權限時的判斷依據,讓系統能夠更貼近現實的 情況做出指派與授權。

本研究所訂定的方針主要包含了使用者與角色之間的指派,是依據使用者以 及周遭實體的情境來做指派的動作;以及角色與物件之間的授權關係,是根據當 時週遭環境的情境以及物件的情境,將對物件的權限授權給角色。另外還有關於 情境衝突的設定,以下將逐一敘述:

方針定義 1. uUSERS, cCONTEXTS, rROLES

   rRole(u) and cRContext(r) => URAC(u, r)

在方針定義 1 裡,u 為使用者;c 為情境組合,可能為一個到多個的情境組 合而成;r 則為此環境下的角色集合內的一個角色;Role(u)為使用者 u 可擔任 的角色集合;RContext(r)為擔任角色 r 所需要的情境;URAC(u, r)為指派角 色 r 給使用者 u。

方針定義 1 是說明當角色 r 屬於使用者 u 可擔任的角色集合中的一個,並且 當時的使用者情境以及環境情境滿足欲擔任此角色 r 所需要的情境組合 c 時,則 可以指派此角色 r 給此使用者 u。

而情境組合在具情境感知的授權控管系統上可能為各種不同的組合,系統可 以依照各種不同的角色,設定不同的情境組合作為取得這些角色的條件,讓系統 可以依這些情境不同的組合,而授予使用者不同的角色。

在此舉一個簡單的例子來對此方針作更詳細的描述,假設方針庫中包含了下 述兩個方針:

方針 1:(m222_LabMember)  Role(Alex) and (location: m222, time: 0000, 2400)  RContext(m222_LabMember) → URAC (Alex, m222_LabMember)

方針 2:(MIS_ Assistant)  Role(Alex) and (location: m222, time: 0800, 1800)

 RContext(MIS_ Assistant) → URAC (Alex, MIS_ Assistant)

(43)

34

由上述之方針 1 與方針 2,可以得知使用者 Alex 可以擔任的角色有 m222 實 驗室成員(m222_LabMember)與 MIS 助教(MIS_Assistant)。此外,由方針 1 可得知欲擔任 m222 實驗室成員(m222_LabMember)這個角色的情境限制為「位 置在 m222(location: m222)、時間為 00 時 00 分至 24 時 00 分(time: 0000, 2400)」; 由方針 2 可得知欲擔任 MIS 助教(MIS_ Assistant)這個角色的情境限制為「位 置在 m222(location: m222)、時間為 08 時 00 分至 18 時 00 分(time: 0800, 1800)」。

當 Alex 這位使用者持行動裝置進入 m222 時,系統已經透過無線網路與此 行動裝置取得聯繫,並且取得此行動裝置的持有人資訊,得知該行動裝置的登記 人為 Alex,由方針庫中可以得知 Alex 可以擔任的角色有 m222 實驗室成員以及 MIS 助教,此外由感測器取得使用者 Alex 正在 m222 這個位置,時間為上午 7 點,情境資訊符合 m222_LabMember 這個角色所需要的情境,而不符合 MIS 助 教這個角色的情境,因此即分配 m222_LabMember 這個角色給 Alex,使得 Alex 擁有此角色。

如果此時 Alex 進入另外一個地點,如 m223 實驗室,則因為 Alex 不具備可 擔任 m223_LabMember 這個角色,則系統會根據方針庫裡的其他方針規則來重 新分派角色給 Alex,如訪客(guest)或是其他實驗室的成員(lab member),而 此角色在 m223 可能無法使用在此實驗室裡大部分的物件。

方針定義 2. rROLES, ci, cjCONTEXTS, objOBJECTS,

pPERMISSIONS

r  OPRole(obj) and ci OPContext(obj, p) and cj OContext(obj)→ ROP(r, obj, p)

在方針定義 2 裡,r 為此環境下的角色集合內的一個角色;ci,cj為情境集 合;obj 為此環境下的某個物件;p 為對物件可操作的權限;OPRole(obj)為對

(44)

35

obj 此物件可操作的角色集合;OPContext(obj, p)為對 obj 此物件進行操作權限 p 時所需要的情境;OContext(obj)為物件 obj 當時的情境;ROP(r, obj, p)為 角色 r 對物件 obj 有著 p 的權限。

方針定義 2 即是說明角色 r 為對 obj 此物件有操作權限的角色,權限 p 為對 obj 此物件可操作的權限,且當時的情境組合 ci為對此物件 obj 進行操作 p 時所 需要的情境,並且當時物件 obj 的情境組合為 cj,則此角色 r 對物件 obj 有著 p 的權限。

在此我們舉個例子來說明,假設 m222 有一台公用印表機(m222Printer),

可供給所有 m222 的實驗室成員(m222_LabMember)使用,但是僅限於時間為 上午 8 點至下午 6 點,則方針為:

m222_LabMember  OPRole(m222Printer) and (location: m222, time: 0800, 1800 )  OPContext ( m222Printer, print ) and ( standby ) OContext

(m222Printer) → ROP(m222_LabMember, m222Printer, print)

即是說當使用者在位置 m222(location: m222)時,以及當時的時間為 08 時 00 分至 18 時 00 分(time: 0800, 1800)之間,並且此使用者所指派到的角色 為 m222 的實驗室成員(m222_LabMember),且當時的印表機狀態為準備中(stand by),那麼使用者即可以 m222 實驗室成員這個角色來對此公用印表機做列印的 動作。

方針定義 3. rROLES, objOBJECTS, pPERMISSIONS,

ci, cjCONTEXTS where ci, cjare the same type

I. ciRContext(r) and Conflict(ci, cj) => cjRContext(r).

II. ci OPContext(obj, p) and Conflict(ci, cj) =>

(45)

36 cj OPContext(obj, p).

在設計擔任一個角色所需要的情境組合時,或是執行某一個物件所需要的情 境組合時,情境組合中的多個情境有可能存在著衝突的情形,例如:當一個物件 被設定為某段時間可以被某些角色存取,卻也同時存在著此段時間內不能作任何 的存取動作,則會發生衝突的狀況。所以在設定情境組合時,必頇要清楚的瞭解 各情境之間的關係,避免情境衝突的發生。

方針定義 3 裡,r 為此環境下的角色集合內的一個角色;obj 為此環境下的某 個物件;p 為對物件可操作的權限;ci, cj為情境,且 ci, cj為同一個類型的情境;

Conflict(ci, cj)表示此二同類型的情境為衝突的情境。

在方針定義 3 中的第一個式子是說明 ci為擔任角色 r 所需要的情境,並且

ci, cj此二情境為互相衝突的情境,所以在設定情境組合時,不能將 cj也設定為 擔任此角色 r 所需要的情境,即是說不能將此二情境設定在同一個角色的情境組 合中,以避免發生衝突的情形。第二個式子是說明對物件 obj 進行操作 p 時所需 要的情境為 ci,並且 ci, cj此二情境為互相衝突的情境,所以在設定情境組合

時,亦不能將 cj也設定為對物件 obj 進行操作 p 時所需要的情境。透過方針 3 的檢查,可確保我們在方針庫(Policy Database)中的限制沒有衝突的情境組合,

而導致部份情境組合的角色無法正常的獲得,或是某些物件的權限無法取得。舉 例來說:

(time: 0000, 2400)RContext(r) and Conflict((time: 0000, 2400), (time:

0800, 1800))=> (time: 0800, 1800)RContext(r)

此例子是表示時間情境為上午 00 時 00 分到 24 時 00 分(time: 0000, 2400)

是擔任角色 r 所需要的權限,而該情境與另一個時間情境 08 時 00 分到 18 時 00 分(time: 0800, 1800)是衝突的情境條件,則不能將時間情境(time: 0800, 1800)

(46)

37

也設定為擔任角色 r 所需要的權限。雖然在感覺上時間情境(time: 0800, 1800)

是包含在時間情境(time: 0000, 2400),分別來看也都是正常的情境,但是在設 計情境組合時,這兩個情境是不能夠設定為同一組。若是在上午 8 點到下午 6 點 這段時間內,因為同時符合兩個情境條件,則在指派角色給使用者以及授予權限 給角色時將不會有問題,但是若是在上午 8 點到下午 6 點以外的時間,就會發生 與(time: 0000, 2400)符合情境,卻與(time: 0800, 1800)不符合的情形,因此 而發生衝突。所以,要避免能將這兩個情境同時設定在同一個角色所需要情境條 件組合中,以避免在角色指派時無法正確的將角色指派給使用者。

再舉另一個設定取得物件操作權限時避免情境衝突的例子:(location: m222)

 OPContext(obj, p) and Conflict(location: m222, location: m223) => (location:

m223) OPContext(obj, p)。此例子是表示位置情境為實驗室 m222(location:

m222)是對物件 obj 進行操作 p 時所需要的權限,並且與位置情境實驗室 m223

(location: m223)是衝突的情境條件,則不能將位置情境(location: m223)也設 定為對物件 obj 進行操作 p 時所需要的權限。雖然將(location: m222)與(location:

m223)分別來看也都是正常的情境,但是在設計情境組合時,這兩個情境是不 能夠設定為同一組,因為若是位置在實驗室 m222,就會發生與(location: m222)

符合情境,與(location: m223)則不符合的情形,而發生衝突,因此要避免能將 這兩個情境同時設定在取得物件操作權限時所需要的情境條件組合中。

3.4 小結

在本研究中,期望透過 3.3 節之方針,達到在此智慧型空間中情境相關之授 權控管,並且能夠應付在智慧型空間裡隨時改變的情境,給予使用者適當的角色 以及權限。

另外,雖然在 3.3 節裡,所描述的方針定義內的情境僅使用了時間、地點來

(47)

38

做說明,不過實際上的環境不只這些情境,還包括使用者的連線狀態、可使用的 無線存取點等,也包括此環境內物件的使用情形,如物件的位置、物件使用的情 形等。

以上這些情境皆為可能影響在此環境內的使用者對各個物件是否有存取權 限,因此這些情境皆可以作為系統在指派角色或是授予角色權限時的條件,系統 在設定方針時,可以將這些情境考量進去,讓系統在分配角色以及授權予使用者 時,能夠更符合實際環境的情形。

(48)

39

第四章 系統實作與分析

依照第三章所提出的具情境感知的授權控管模型架構,我們將利用 ASP 及 VB Script 網頁程式語言[44][45]來設計一個雛型系統,來說明此模型架構的運作 方式。另外,此系統主要是系統管理者所使用的後端管理系統。

在本章中將詳細描述系統實作方式、開發工具及平台以及系統功能介紹,並 且將模擬此系統在實際的環境下,依據使用者以及周遭環境的情境所作出的指派 與授權,最後對此系統做分析,來驗證其可行性。

4.1 開發工具及平台

本雛型系統的開發環境是在作業系統 Microsoft Windows XP 下,網頁編輯軟 體是採用 Macromedia 公司所開發的 Dreamweaver 8.0,而 script 語言則是使用 VB Script,搭配的網站伺服器是 IIS 5.0(Internet Information Services),另外,客戶 端只要使用可執行 HTML 碼的瀏覽器,即可瀏覽 ASP 所設計的網頁內容,因為 傳送至客戶端瀏覽器為 ASP 執行結果的一般 HTML 碼,因此與瀏覽器無關。ASP 所使用的 script 語言均在網頁伺服器端執行,客戶端的瀏覽器並不需要能夠執行 這些 script 語言;在資料庫方面,採用 Microsoft SQL server 2000 來當作本雛型 系統的資料庫系統。另外,本雛型系統實做的所有操作介面皆是以網頁的方式來 呈現。本系統的開發工具與平台如表 2 所示。

表 2 開發工具與平台

系統平台

作業系統 Microsoft Windows XP 網站伺服器 IIS 5.0

資料庫 Microsoft SQL server 2000

開發工具與語言

工具 Dreamweaver 8.0 語言 VB Script

(49)

40

4.2 系統模型架構

本研究的系統模型架構如圖 11 所示。首先使用者透過無線網路(Wireless Network)來連結此區的無線存取點(Access Point, AP),然後伺服器(Server)

透過無線存取點取得此行動裝置的相關資訊,藉此判斷此行動裝置的使用者為 誰,並且透過感測器(Sensor)獲取此使用者所在環境的情境資訊,伺服器同時 也將根據這些情境資訊與方針庫(Policy Database)裡的方針來做判斷,決定該 使用者再當時的情境下,應分派到何種適當的角色,再依據所分配予使用者的角 色以及當時的情境,授予此角色可以擁有的各種權限。

而隨著時間的變化,此環境中的人、物件等等的情境也會有所變化,本系統 模型架構透過感應器來感應這個環境中所有的一舉一動,所以此模型將會根據此 環境裡的人、物件等的情境改變,而隨時做出相對應的動作,重新對此環境裡使 用者所分配到的角色作授權。例如當一個使用者所分配到的角色,擁有在上午 8 點至下午 5 點使用印表機的權限,但是當過了下午 5 點後,若是沒有因為情境的 改變而重新對此使用者分配角色,則會發生即使不再限制的時間內,也能因為先 前所分配到的角色而有著不合規定的權限。

參考文獻

相關文件

The New Knowledge-Infrastructure: The Role of Technology-Based Knowledge-Intensive Business Services in National Innovation Systems. Services and the Knowledge-Based

Lange, “An Object-Oriented Design Method for Hypermedia Information Systems”, Proceedings of the Twenty-seventh annual Hawaii International Conference on System Sciences, 1994,

Shih and W.-C.Wang “A 3D Model Retrieval Approach based on The Principal Plane Descriptor” , Proceedings of The 10 Second International Conference on Innovative

通常在研究賽格威這類之平衡系統時在於機構之設計是十分的昂貴,本論文

Wells, “Using a Maze Case Study to Teach Object-Oriented Programming and Design Patterns,” Proceedings of the sixth conference on Australasian computing education, pp. Line, “Age

[17] John Barkley, Konstantin Beznosov, and Jinny Uppal, ―Supporting Relationship in Access Control Using Role Based Access Control,‖ Proceedings of ACM Role-Based

(1996), “Real-time recognition of activity using temporal templates,” Proceedings IEEE Computer Society Workshop on Computer vision, Sarasota Florida 96. (1998), “ A

Sun, “The Application of Role-Based Access Control in Workflow Management Systems”, Proceedings of IEEE International Conference on System, Man and Cybemetics, vol.6, pp.