• 沒有找到結果。

針對減輕管理負擔之條件式角色存取控制設計

N/A
N/A
Protected

Academic year: 2021

Share "針對減輕管理負擔之條件式角色存取控制設計"

Copied!
54
0
0

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

全文

(1)

國 立 交 通 大 學

電機與控制工程學系

碩士論文

針對減輕管理負擔之條件式角色存取控制設計

Design of Condition-aware Role-based Access Control to Relax

Management Overheads

研 究 生:張宗堯

Student: Tsung-Yao Chang

指導教授:黃育綸 博士

Advisor: Dr. Yu-Lun Huang

中華民國九十八年六月

June, 2009

(2)

針對減輕管理負擔之條件式角色存取控制設計

Design of Condition-aware Role-based Access Control to Relax Management

Overheads

研 究 生:張宗堯 Student: Tsung-Yao Chang

指導教授:黃育綸 博士 Advisor: Dr. Yu-Lun Huang

國 立 交 通 大 學 電機與控制工程學系

碩士論文

A Thesis

Submitted to Department of Electrical and Control Engineering College of Electrical Engineering

National Chiao Tung University in partial Fulfill of the Requirements

for the Degree of Master

in

Department of Electrical and Control Engineering

June, 2009

Hsinchu, Taiwan, Republic of China

(3)

針對減輕管理負擔之條件式角色存取控制

設計

學生:張宗堯

指導教授:黃育綸 博士

國 立 交 通 大 學電機與控制工程學系(研究所)碩士班

存取控制的基本概念在於讓管理者能簡單、直覺並有效率的進行授權。傳統的存 取控制著重於轉換使用者的身分到相對應的權限,但隨著資訊系統普遍性的發展,許 多應用將會牽涉到使用者所處的環境背景,僅僅根據使用者的身分來進行授權顯得在 安全性和實用性上有些不足,因此在這個研究中,我們提出一個存取控制模型,可以 在進行授權時將使用者背景因素納入,透過延伸角色式存取控制(RBAC)的概念為基 礎,我們加入了條件要素來限制權限的給予,使用者必須同時擁有認可的身分和符合 指定的條件來獲得要求的權限,並且,我們透過將條件區分成動態得和靜態的,用不 同的方式來做處理,使用者提供靜態的條件給系統來直接取得權限,系統再根據安全 策略的需要去確認動態的條件,已達到減少角色數目和複雜度,以及減低反覆更新使 用者屬性的成本,除此之外,在某些應用中,使用者甚至不需要進行身分確認,透過 我們提出的模型,可以直接根據其擁有的條件來取得權限。結合以上幾點的改進,來 達到紓解管理負擔以及使得授權更為直覺的目的。

(4)

Design of Condition-aware Role-based Access Control to

Relax Management Overheads

Student: Tsung-Yao Chang

Advisor: Dr. Yu-Lun Huang

Department of Electrical and Control Engineering

National Chiao Tung University

Abstract

The basic concept of an access control model intends to make the authorization simple and efficient. Conventional access control mechanisms discuss the mappings of user identities to certain permissions. With the evolution of ubiquitous computing technologies, applications have become context-aware and can interact with the context information in addition to the user identities. In this research, we propose a distinctive access control model that cooperates with context information. Our model is extended from the Role-base Access Control (RBAC) by adding a new component called "Condition", which is comprised of context information and user operations. Conditions can be treated as constraints or criteria when assigning roles and permissions to users. Different from the other models, the proposed model partitions conditions into immutable and mutable conditions, and manages different types of conditions in different ways. Users need to provide immutable conditions to obtain permissions from an access control system, while the system checks mutable conditions without user involvements. Compared with the existing models, such a design can reduce the number of roles defined in the system. By reducing the number of roles and the times required to obtain and check the conditions, we show that our model can reduce more authorization and management overhead than the existing models.

(5)

謝誌

這篇論文及其口試為我的碩士班生活畫下了完美的句點,從尋找方向、確定題 目、提出構想到付諸實踐,這個過程中多少會有遇到阻礙的時候,此時接受了許多方 面的協助才使得我的研究能順利的完成,其中最重要的就是黃育綸老師提供了很多建 議,時常會有思考不周詳的地方需要老師幫忙釐清,寫作方面老師也花了很多時間使 我的文章更為通順,真的很感謝老師,另外實驗室的黃詠文學長也提供了很多寶貴的 經驗以及許多技術上的指導,沒有他的幫助我的研究肯定會坎坷不少,接下來要感謝 實驗室中同屆同學們,互相討論並給予了很多寶貴的意見和經驗,值得一提的,RTES Lab所有的同學,提供了一個非常良好的學習環境,不僅僅在研究學習上,也是我在很 多方面成長很多,使我的研究所生活更加精彩,最後特別高興能有家人和朋友們全力 的支持,讓我能沒有後顧之憂的專心於學習上,未來並也將利用所學以及所得到的經 驗,期望能有更好的表現,不辜負大家對我的期待。

(6)

Contents

摘要 i Abstract ii 謝誌 iii Table of Contents iv List of Figures vi

List of Tables vii

Chapter 1 Introduction 1

1.1 Background . . . 1

1.2 Contribution . . . 3

1.3 Synopsis . . . 4

Chapter 2 Related work 5 2.1 Role-based Access Control . . . 5

2.1.1 Least Privilege . . . 6

2.1.2 Separation of Duties . . . 6

2.1.3 Data Abstraction . . . 7

2.1.4 Role Precedence . . . 7

2.1.5 Role Hierarchy . . . 7

2.2 Generalized Role-based access control . . . 8

2.3 Location-aware Role-based access control . . . 8

(7)

2.4.1 Location Information . . . 10

2.5 eXtensible Access Control Markup Language(XACML) . . . 12

Chapter 3 Condition-aware RBAC Model 13 3.1 Overview . . . 13 3.2 Proposed Model . . . 14 3.2.1 Design Issues . . . 15 3.2.2 Model Definitions . . . 21 3.2.3 Examples . . . 25 3.3 Realization . . . 26

Chapter 4 Case Study 32 4.1 Case Study on RBAC . . . 33

4.2 Case Study on LRBAC . . . 33

4.3 Case Study on GRBAC . . . 35

4.4 Case Study on Our Model . . . 36

Chapter 5 Analysis on Overheads 38 5.1 Management Overheads . . . 39

5.2 Condition Verification Overheads . . . 40

Chapter 6 Conclusion and Future Work 42

(8)

List of Figures

2.1 NIST Role-based Access Control Model . . . 5

2.2 An Example of Hierarchical Roles . . . 7

2.3 Generalized Role-based Access Control Model . . . 8

2.4 Location-aware Role-based Access Control Model . . . 9

3.1 System Framework Overview . . . 14

3.2 Our model . . . 16

3.3 Relations between Users, Conditions and Permissions . . . 17

3.4 Combination of Role-based and Condition-based Authorization . . . 18

3.5 Example of Hierarchical Conditions . . . 20

3.6 Our model with Approval Confirmation . . . 21

4.1 Case Study of RBAC - Hirarchical Roles . . . 34

4.2 Case Study of LRBAC - Hirarchical Roles . . . 35

4.3 Case Study of GRBAC - Hirarchical Roles . . . 36

4.4 Case Study of Our Model - Hirarchical Roles . . . 37

(9)

List of Tables

4.1 Case Study Examples . . . 32

4.2 Case Study of RBAC - Permission Assignment . . . 33

4.3 Case Study of RBAC - Permission Assignment . . . 34

4.4 Case Study of LRBAC' - Permission Assignment . . . 35

4.5 Case Study of GRBAC - Permission Assignment . . . 36

4.6 Case Study of Our Model - Permission Assignment . . . 37

(10)

Chapter 1

Introduction

1.1

Background

Nowadays, computer system becomes more pervasive in home and at work. While com-puter systems provide the convenience of our daily life, it also brings up the concern for security requirements. In many applications, people can access to some sensitive information or privi-leged services in many manners [1]. So we need a way to make sure that only authorized people can access to these resources without dealing with burdensome security policies. Therefore, some access control mechanisms have been applied like Role-based Access Control(RBAC) or Access Control Lists(ACL). Those mechanisms are used to simplify the authorization for better deployment of applications.

With the development of ubiquitous computing technology, application becomes context-aware and can interact with the context information such as environment status or user activi-ties. With people can access to the resources almost at anytime from anywhere with the Internet, the context may be essential information which characterizes the entity and some concepts are proposed [2]. For a security perspective, the major principle while processing access control becomes not only "Who they are" but also "Where they from" and "When it happened". In ad-dition to identity, there are other contexts may affect the access control decisions. For example, in a company, a night shift staff may not open the gates in the daytime, a junior engineer can

(11)

only access to the database inside his office. This context information such as location, time, type of device or connection must be took into account while processing access control.

Conventional access control mechanisms usually make the access control decisions only by the user identity. This causes a major defect because the user with different context like in different places or at different time must be distinguished. In the ubiquitous computing environ-ment, without considering context information the access control mechanism may compromise security. Conventional access control mechanisms are too static and are not suitable to model the situations which involve context information. Thus, we need an access control mechanism that makes access control decision with the context information.

Context-aware access control has been applied in various ways [3] [4]. Sandhu et al. pro-posed the Role-based Access Control(RBAC) [5] [6] [7] [8] model which lets the administrator predefine the permission to role and simplify the authorization. Taking the advantage of RBAC, Covington et al. introduced Generalized Role-based Access Control(GRBAC) [9] [10] [11]. The GRBAC incorporates the concept of environment role which captures environment infor-mation and take it as constraints while permissions are being assigned to roles. Ray et al. then proposed a Location-aware role-based Access control model(LRBAC) [12] [13] which extends the RBAC model to includes location which can be treated as an context. It takes location as constraints while roles are being assigned to users. Those solutions all are based on the concept of roles and environment information [14]. But sometimes access control decision can be made only by the environment information [15]. Thus, we don't have to assign this kind of permissions to every role. Dividing Roles and Conditions to two separating authorization entry can simplify the access control policy. Besides, the context includes not only environment information but also the interaction within users. For examples, a member of a conference can only access to the conference database during the conference period, in the site of conference and with other

(12)

members nearby. Furthermore, he need the authorization from the presenter to access some particular articles. This scenario shows that the access control decision can be affected by the activities of other users. And we can treat it as a context too.

Another part we are interested in is the management overheads while proceeding access control. Management overheads indicate the efforts taken by the administrator. While autho-rizing, less works need to be done less management overheads are taken. Those works include establishing the security policies previously according to the applications and maintaining the access control decision to be made by accurate information during a session. So we define two factors of management overheads that we need to pay attention which are the number of autho-rization entries and the frequency of verifying context information. ACL authorizes by listing every permission corresponding to every user. With the number of users and permissions in-creasing, the administrator may need lots of efforts to accomplish it. RBAC characterizes users by their capacity in the organization to reduce the number of entries. With context taking a part in access control, the relations between those entries become more complicated. LRBAC creates roles for every context information which interact with roles, yet increasing the number of roles. In GRBAC, the permissions which depend on context information are not pre-defined. Instead, the assignment varies dynamically. If the context is mutable, the ongoing access must contin-ually updates user context and introduces extra communication overheads. But sometimes not every context varies during access time period and we don't need to update them frequently. We separate those immutable contexts between mutable ones and present our own model.

1.2

Contribution

In this research, we present an access control model that includes conditions as an entity which characterizes users. Conditions includes environment information and interaction

(13)

be-tween users and can be extended to other constraints which are similar to Roles. Our model illustrates several principles in authorization.

• Who can access What.

• Who with specific attributes can access What.

• Under what circumstances that a resource can be accessed. • How long/much/often of a user's access

• Quality of access

Extending from RBAC, our model simplifies the authorization by the Roles. Our model can also support several basic authorization relations such as Role-Hierarchy and Separation of Duties. Also, our model introduces a way to describe how to authorize only by context and how the user interaction affects the access control decision. Most important, we separate mutable and immutable conditions to relax management overheads. Our model was presented by eXtensible Access Control Markup Language(XACML) to make it can be communicated around the cyberspace and anticipate it to adapt in many applications.

1.3

Synopsis

The thesis is organized as follows. We review the previous proposals of access control and context management in Chapter 2. Then we give the definitions of our model and expressed it with XACML in chapter 3. Chapter 4 and Chapter 5 illustrate a case study of those works on context-aware access control and compare them with our proposed model for the pros and cons. Finally, we conclude the thesis in Chapter 6.

(14)

Chapter 2

Related work

This research focuses on modeling more access control relations to cater more sophisticated applications and adapts from the NIST RBAC model. Still, there are other works that have been done to model context-aware access control in different ways. We are going to go through these previous researches here. Besides, the architecture of context-aware access control also includes the examination and process of context information. We also have a brief introduction.

2.1

Role-based Access Control

Users Sessions Roles Permissions PA Permission Assignment UA User Assignment ‧ ‧ ‧ Role Hierarchy SOD costraint

Figure 2.1: NIST Role-based Access Control Model

The RBAC model originally proposed Sandhu et al. in 1996 and was published by NIST in 2001 [5] [6] [7] [8]. The RBAC model is defined in terms of the functional roles in the

(15)

organiza-tion, and then appropriately assigns users to a role or set of roles. There are several parts we need to pay attention traditionally which are Users, Roles, Objects, Permissions and Sessions. User indicates a remote device or a human being for simplicity. Role is a named job function within the organization and can be treated as a set of authorities and responsibilities. Object can be data or resource that provided by the system. Permission is a clearance of access to one or more objects. Session allows user to active a subset of the roles they belong to. Beyond this scenario, several relations can be established which are user-role relation, role-permission relation and role-role relation. With RBAC, role-permission relations can be predefined. Administrator can easily confer and revoke users to roles instead of assign permissions directly to users. RBAC also supports hierarchical roles for advance usage. The main security principles of RBAC are listed below.

2.1.1

Least Privilege

Only the specified permission sets can be assigned to the role. This feature simplifies the relation between Permissions and Users.

2.1.2

Separation of Duties

For sensitive tasks, the functions of Roles may not be assigned to the same Users at the same time. For example, if a bank account holder and also be a teller who transact his account, it may cause some security problems. In this scenario, we need the functions of Roles be mutually exclusive. We can define two varieties of Separation of Duties(SOD) which are dynamic and static. For dynamic SOD, Users can not activate those Roles which are mutually exclusive at the same time. Then for static SOD, those Roles which are mutually exclusive can't be activated even assigned to the same Users. RBAC supports these kinds of constraint.

(16)

2.1.3

Data Abstraction

Administrator can establish abstract permissions other than typical permissions like read, write and execute.

2.1.4

Role Precedence

Sometimes, confliction may occur between two different Roles which are belonged to the user session. An operation which is allowed by one Role may be denied by another. This problem can be solved by Separation of Duties, but we also can establish some algorithm in this case to make it simple. The simplest way is make the access control decision always be allowed or denied.

2.1.5

Role Hierarchy

Project member

Test engineer Programmer

Project supervisor Programmer’ Test engineer’

Figure 2.2: An Example of Hierarchical Roles

In most organizations, the positions or job functions have hierarchical relations. While constructing Roles, we can take the advantage of these relations to simplify the privilege. A role which inherits another's permissions is called Senior Role, and the role which is inherited is called Junior Role. RBAC supports these kinds of inheritance and let the administrators manage role more easily. Overall, the user acquires a set of roles according of its identity and invokes a session of the roles activated. The permissions which assigned to these roles can be easily obtained by previous definition then determine whether the user can takes those operations.

(17)

2.2

Generalized Role-based access control

Subject /Request User Authentication Service

Subject Role Activation Service

Authorization Service

Environment Role Activation Service

Context Toolkit Present User Credentials Role Activ ation View Active Environment Roles Event Notification Policy Definition Language

Access Rights Management

Figure 2.3:Generalized Role-based Access Control Model

Covington et al. introduced GRBAC [9] [10] [11]. The Roles in GRBAC are defined as a group of users other than a set of permissions. Similarly, the Environment Roles are a set of environment statuses which can be constructed hierarchical. For a User accessing an object, he should be assigned a Role and there are some transactions that allow this Role to access this object when the current Environment Role is active. In this case, the Environment Role acts as an objective background and should be checked frequently. As long as the environment statuses change, the system makes another authorization without the user request.

2.3

Location-aware Role-based access control

Ray et al. proposed LRBAC model [12] [13]. LRBAC model extends RBAC to incorporate location information by adding a new component location into RBAC model. Locations are associated with roles. Roles can be assigned or activated in some particular location. Thus, each

(18)

Permissions Users Roles Locations Objects Operations Sessions U se rS es si on SessionRole UserAssign UserL ocatio n ActiveL ocati on Assig nLoc ation PermA ssign ObjLocation PermOb ject Perm O pe r

Figure 2.4: Location-aware Role-based Access Control Model

valid role is associated with a set of locations where the role can be assigned or activated. A user is allowed to perform an operation on an object, if it has been assigned a role which includes a permission of the operation on the object. Moreover, the user location must be included in those locations associate with the role which make it can be assigned or activated.

2.4

Context Verification

In general, context information is often publicly and freely available like time and location. But we still need a method to determine if the information meets our requirements. At the same time, we need to make sure the context information we attained is reliable. In order to do so, there are several criteria with the context verification.

(19)

as the user, the system or a trusty third party. Either one is accessible depending on the applications. But for the security concern, performing by the system or a trusty third party is preferable to by the user.

• Recording user context history. In the physical world, there are some restrictions on

user activity. By comparing the user context information to its history or to other user context information, we can find out some presentation is not reasonable. For example, user location can't change in an irrational rate or path. In some places, distance between two users can't be too close or too far even overlap. This restrictions all can help us to verify the user context information.

• Ensuring user privacy. While recording the user context information, it comes out the

issue of user privacy. In some applications, context may be sensitive information. So we need to protect this information from other irregular usage.

2.4.1

Location Information

In many applications, the location becomes essential information for variety of purposes [16]. User may request the rights to access some information from many different places. The as-sumption that user identity fully determines what they are authorized to do is not sufficient. So location is major context information that we focus on.

For some top secret information, it requires having a physical presence in the room where the system locates. But this scenario needs to isolate this top secret information from those usual information on different system. This makes a lot of inconvenient. According to the assumptions, a top secret place only allows people with security clearance to enter. Also, top secret information will only be contained in a top secret place. These two intuitive concepts

(20)

enforce the security policy. By verifying the user location, the user privilege can be determined at the same time. In order to achieve the location verification, the software applications must be reachable via a telecommunication infrastructure. Fortunately, new and enhanced location determination techniques allow us to get location information more accuracy.

Location Determination

According to current location determination method, Global Positioning System(GPS) is the most popular one. But it can only take the advantage on the outdoor environment. For indoor lo-cation determination, Lolo-cation determination techniques can be classified into range-dependent and

range-independent ones [17]. Range-dependent location determination indicates that we need to measure the range between nodes to determine the location of the device. The infrastruc-ture includes several reference points which are disposed at proper positions. Usually, these techniques rely on measuring specific properties of the exchanged signals, such as the received signal strength(RSS), Time of Arrival(ToA), Angle of Arrival(AoA) and the Time Difference of Arrival(TDoA). Those properties depend on the distance between nodes and can be used to measure the distance between them. Range-independent location determination, instead of mea-suring the distance, uses other characteristics to determine proximity. For example, it compares the signal properties from defferent reference points or to the data base, or simply identifies its location through physical contact with other nodes. In this research, we assume that the location verification can be made by either technique stated above.

(21)

Location Representation

By today's technology of mobile network, it's hard to ensure fully exact user location. It also costs more to determine the absolute location. Instead of measuring the user's absolute location, it's more sufficient to verify if the user location meet certain criteria. Ardagna et al. proposed location verification which makes location query while user requests for object [18] [19]. Be-cause of the interoperability of location determination, we separate the location determination from the access control engine and call it location service, the access control engine ask the location service if the user is in the appropriate place. The query includes several kinds of rep-resentation depending on the access control policies, such as within area, velocity, density, etc. And the location service responds this query in a binary response with a confidence value. The access control engine receives the information to make the authority. By recording a series of confidence value of different location services, the access control engine can set the Service Level Agreement(SLA) of the location service to decide the information from certain location service to be credible or not. This concept is proposed to compete the uncertainty of the location determination.

2.5

eXtensible Access Control Markup Language(XACML)

XACML is a declarative access control language implemented in Extensible Markup Lan-guage(XML). Latest version XACML 2.0 was ratified by OASIS standards organization in 2007 [20] [21]. XACML defined a core schema and corresponding namespace to express the authorization policy in XML. It makes the access control easier to share between applications and communicate with other. Anderson express RBAC with XACML in a formal way [22] and we extend it to express our model.

(22)

Chapter 3

Condition-aware RBAC Model

This section explains a typical framework of an access control system, followed by the proposed condition-aware RBAC model.

3.1

Overview

Mainly, we can divide an access control system into three parts. First, the certificate au-thority is a trust third party that gathering information about users then transforms it to certain certificate in order to proof the identities or attributes of users. Second, the access control de-cision point receive the certificate provide by the authorities and determine if the user can take the requesting operations according to the access control policy. Finally, the access control de-cisions are sent to the access control enforcement point which actually implement the access control and provide the resource. The framework is like Fig 3.1. Our model focuses on how the access control decisions are made. We assume that certificate authorities are reliable and can accept frequently request on user conditions. Then our model acts as the access control decision take these information and proceed the authorization.

There are two ways access control decision point receiving the user certificate: push mode and pull mode. In the push approach, user presents its identity and condition certificates to the access control decision point. In the pull approach, access control enforcement point gathers related information of user. Considering the continuity and mutability of conditions, it is not

(23)

Identity Authority User Workstation Condition Authority Role Authority Access Control Decision Point Access Control Enforcement Point Id en tit y C er tif ic ate Role Certi ficate Req uest C er tif ic ate C ha in Request Role Certificate C on tro l D ec isi on Requ est Con ditio n(im mu table) Certific ate Request Condition Certificate

Our Proposed Model

Figure 3.1:System Framework Overview

efficient and scalable to apply only either of one approach. In our proposal, we separate the immutable and mutable conditions to apply both push and pull mode respectively. We'll discuss this concept in the upcoming sections.

3.2

Proposed Model

Our proposed model is a distinctive architecture for context-aware access controlling. We give out an intuitional view and meaningful relations between the Users and Permissions.

(24)

Ad-ministrators need not deal with burdensome access control policies and directly reach the fruitful result which is a security and lightweight access control mechanism.

Our model as Fig 3.2 shows how the access control decisions are made. There are four ma-jor components which are Users, Roles, Conditions and Permissions. Users indicate a human being. Roles are the job functions which basically are related to the capacity in the organization. Conditions mean the context of Users who make the access request. And Permissions stand as the approval to access some resources. Our model includes two ways to authorize Users which are Roles and Conditions. The main goals are simplifying the relations between Permissions and Users and making the authorization more related to the real framework of the organization. In many cases, Roles and Conditions may interact with each other. Our model also takes this constraint into account. Furthermore, this kind of interaction may also present between cer-tain Users. Our model clearly describes these relations. We will discuss each relation in the upcoming chapters more detailed.

3.2.1

Design Issues

We start with the RBAC model. The basic concept of RBAC is that multiple users and permissions associate with some particular role. Users acquire permissions by belonging to the same role with the permission. Basically, there is no constraint on these relations. LRBAC in-troduces location as a constraint while users are being assigned to roles. In this research, instead of a constraint, we treat conditions as sets of permissions like roles. Permissions are directly assigned to conditions. Conditions can be the only characteristics of User which determine au-thorizations. Stills, Conditions can also work with the user Roles. But now we first describe how we make access control decision by Conditions.

(25)

U Users R Roles

Identity

Verification

C Conditions

Con

ditio

n

Veri

fica

tion

P Permissions

Permission-Role

Assignment

Pe

rm

iss

ion

-C

on

dit

ion

As

sig

nm

en

t

Role

Hierarchy

Condition

Hierarchy

Session

R

ol

e

C

on

st

ra

in

t

Pe

rm

iss

ion

Co

ns

tra

int

Figure 3.2: Our model

contexts than on their identities. For example, in MRT system, the payments of the passengers mostly depend on the stations they got in and out. In this case, we don't really care about who the passengers are, but we are interested in how long they traveled and if we let them leave or not. Besides, some social network platforms or forums may support anonymous using. But it still has some Conditions which limit Users authorities. Such scenario, we need an access control mechanism that directly couple Users and Permissions by Conditions.

In terms of the applications, the Conditions may have several properties.

• Assigning Conditions to Users vary more frequently than assigning Permissions to

Con-ditions.

(26)

• Conditions can be hierarchical in many ways.

• A user can only be assigned one content for one particular condition.

Comparing those properties to the definitions of Roles in RBAC, it's reasonable for us to es-tablish Conditions as a component like Roles as shown in Fig 3.3. The authority to some particular Conditions are predefined. Then Users grant their status of Conditions though condi-tion verificacondi-tion. As long as the system verifies the Condicondi-tions, Users grant the corresponding Permissions. For example, in a library, some publications are only allowed accessing inside the building. The permissions for accessing this information can be assigned to the Condition

in the library. While users are verified being in the library, they are able to access this secure

information. U Users P Permissions C Conditions Condition Verification Permission Assignment

Figure 3.3: Relations between Users, Conditions and Permissions

Next, considering the fact that Users can also be assigned Roles by their identity, we com-bine those two methods as in Figure 3.4. In short, Users can grant Permissions by their Roles or Conditions if the security policies only require either one. As Roles and Conditions are sets of Permissions and can be predefined, our model can achieve Least Privilege and reduce the burden on the administrator.

Overall, our access control model becomes Fig 3.2. As mention above, Users can be au-thorized to take some operations by Roles or Conditions separately. Besides, Conditions may affect the access control decision, by being constraints on assigning Roles to Users or on as-signing Permissions to Roles. For the same constraints, Conditions can act in either one way most of the time. Complying with the basic concepts of RBAC, we try to make Users acquiring

(27)

U Users R Roles P Permissions C Conditions Role Authen tication Condition Verification Perm ission-Role Assig nment Permis sion-Co ndition Assign ment

Figure 3.4:Combination of Role-based and Condition-based Authorization

Permissions directly by their Roles. Comparing the access operation time period to the varying frequency of Conditions, we can separate those mutable Conditions from the immutable ones. In order to make the relations between Users and Roles being stable, we make those immutable Conditions as constraints to Roles from being assigned. This kind of Roles is related with some Conditions. Users push their certificate on identity and immutable Conditions with the access request. Only the Users who are verified to have those Conditions can be assigned such Roles. For example, "night-time" is an immutable Condition. The Role "night-shift" is related with the Condition "nighttime ". Users can only acquire the Role shift" with the Condition "night-time ". And for those mutable Conditions, we take them as constraints on assigning Permissions to Roles and they need to be verified by frequently pulling the update on mutable Conditions. For example, "In the building" is a mutable Condition. The night-shift staff can access the wire-less network only inside the building. So the Role "night-shift" must be verified Condition "In the building" to activate the Permission "Wireless Network".

Session is another important component in our model. A user may have multiple certificates that allow him acquire multiple roles and conditions. Those roles and conditions form the user session. User can decide which roles or conditions he wants to activate during current access. As long as the activating roles and conditions complying with the concept of Separation of Duties

(28)

or other constraints, user can get all the permissions that assigned to those activating roles and conditions. Next, we discuss about the extra feature in our model.

Separating Immutable and Mutable Conditions

Every ongoing access has its access time period. Suppose it requires several Conditions. Some of them may not change during once access. For example, entering the gate may not last over tens of seconds. If a staff only be permitted entering the gate during weekday. The Condition "Weekday" may not change during such staff entering the gate. And we call this kind of Conditions immutable conditions. And for the mutable conditions which may vary during the ongoing access, any change of these mutable conditions in concurrent access should invoke the updating.

Approval Confirmation

Relatively Roles can also affect Conditions from being assigned. Our model describes the relation that other user's previous operations may affect current authorization. For example, for a shared data, an ongoing write operation is performed. Current user can't acquire the write permission at the same time. Or a security policy needs another user's approval to be confirmed. We treat this previous operation as a Condition that approves certain permissions to be available. This kind of Conditions related with certain Roles. For example, entering the laboratory needs the approval from the professor. So the Roles "professor" decides if the Condition "Approval-on-lab" can be assigned. Users need this Condition "approval from the professor" to enter the laboratory.

(29)

Separation of Duties(SOD)

While other user's operations may affect certain permissions on being assigned, the SOD becomes more important. Traditional SOD describes the situation that a user can't be a player and a referee at the same time. Our model retains this constraint and introduces conditions into this constraint. We can describe certain roles or conditions can't be assigned to or activated by the same user. In the other word, under different conditions, different sets of roles may be exclusive to each other.

Condition Hierarchy

With Role Hierarchy, a senior role can inheritance the permissions which assigned to a junior role beyond its capacity. Similarly, many conditions also have hierarchical architecture like location and time. Then we illustrate a combination of Role and Condition Hierarchy. We treat a role with condition as a senior role. We use an example to explain this relation.

Little Boy

Learning

Teenager

Learning Having its own room

Little Boy with Adult approving

Learning Watch TV

Adult

Learning Having its own room Drink alcohol

Teenager in the weekend

Learning Having its own room Go out with friends

Teenager at Saturday

Learning Having its own room Go out with friends Stay outside overnight

Figure 3.5: Example of Hierarchical Conditions

As in Fig 3.5, the relations between Role "Little Boy", "Teenager" and "Adult" form a Role Hierarchy. And Condition "Weekend" and "Saturday" form a Condition Hierarchy. While we treat them as immutable conditions and construct roles for them, Role "Teenager in the weekend" becomes a senior role to Role "Teenager". Similarly, Role "Little Boy with Adult Approving"

(30)

inheritances the permission assigned to Role "Little Boy".

The relations above provide several ways of authorizing and constraining on the applica-tions which involve context information. Finally, our model becomes like Fig 3.6 and we define it in the next section.

3.2.2

Model Definitions

U Users R Roles Idneity Verification C Conditions Con dition Verifica tion P Permissions Permission-Role Assignment Perm ission -Con dition Assig nmen t Role Hierarchy Condition Hierarchy User 1 User 2 U Users R Roles C Condit ions P Permis sions Approva l Confirm ation Session Session Perm ission Cons traint R ol e C on st ra in t

Figure 3.6: Our model with Approval Confirmation

In our access control as Fig 3.6, the major components are described as below.

U: Users Users indicate human beings or other autonomous agent such as a process or a device. We assume that each User requests some system resource through a remote device and the device can be detected by the condition service.

(31)

P: Permissions Permissions are approvals of taking an operation to some particular resources. These operations includes typical operations like read, write and execute and other oper-ations depend on the application.

R: Roles Roles are sets of Permission and often related to the capacity in the organization.

S: Session A user can be assigned multiple Roles and Conditions at the same time. And those Roles and Conditions form the user Session. During the authorization, Users can decide to activate certain Roles or Conditions to proceed.

C: Conditions Conditions are the factors of environment the actions took by other Users which may affect the access control decisions.

Next, we describe the associations between the above components.

UA: User Assignment UA includes Identity Verification and Condition Verification. Both IV and CV are used to mapping Users to certain permission sets.

• IV: Identity Verification IV is the mapping that assigns Roles to Users.

After authenticating, Users are classified to some Roles by their identity. A user can be assigned with a set of Roles called Session. While making access requests, User decides to activate the Roles in their Session to acquire certain Permissions.

• CV: Condition Verification CV is the mapping that assigns Conditions to Users.

The system grants user attribute by the condition service. The Condition Verification includes location determination, time system, environment sensor or approval from other Users. Those depend on the application requirements.

Role Constraint Some Conditions should be granted to acquire particular Permissions. For the immutable one, Roles assigned these Permissions are associate with these immutable

(32)

Conditions. Users need to grant these immutable Conditions to acquire these Roles. This relation is Role Constraint.

PA: Permission Assignment PA includes Role Assignment and Condition Assignment. PA maps Roles and Conditions to certain predefined Permissions.

• RA: Permission-Role Assignment RA is the mapping that assigns Permissions to

Roles.

Permissions associate with roles previously according to the application rules.

• CA: Permission-Condition Assignment CA is the mapping that assigns

Permis-sions to Conditions.

Permissions also associated with conditions. A condition can be assigned with sev-eral permissions.

Permission Constraint As mentioned above, some Conditions are relative mutable and be a constraint on assigning Permissions to Roles. Conditions need to be verified frequently to allow User acquiring these Permissions, even if User already grant the corresponding Roles.

Approval Confirmation The approval is the authorization proof from other Users or we can say from other Roles. We treat the approval as a Condition that includes certain Permis-sions. The Approval Confirmation allows these Conditions to be acquired.

Then we illustrate the definitions of our model.

• U, R, C, P , represent sets of Users, Roles, Conditions and Permissions respectively. • UA = IV ∪ CV

(33)

– IV ⊆ U × R × C, the policy that maps Users to Roles.

assignedU sers(r : R)→ 2U ≡ assignedUsers(r : R) = {u ∈ U | (u, r) ∈ UA}

With the effect of Role Constraint, the association between Users and Roles may takes Conditions into account and becomes the statements below.

assignedU sers(r : R, ci : C) → 2U ≡ assignedUsers(r : R, ci : C) = {u ∈ U |

(u, r, ci)∈ UA}

– CV ⊆ U × C, the policy that maps Users to Conditions.

assignedU sers(c : C)→ 2U ≡ assignedUsers(c : C) = {u ∈ U | (u, c) ∈ CV } • P A = RA ∪ CA

– RA⊆ R × P , the policy that maps Roles to Permissions.

assignedP erms(r : R) → 2P ≡ assignedP erms(r : R) = {p ∈ P | (r, p) ∈

RA}

With the effect of Permission Constraint, the association between Permissions and Roles may takes Conditions into account and becomes the statements below.

assignedP erms(r : R, ci : C) → 2U ≡ assignedP erms(r : R, ci : C) = {p ∈

P | (u, r, ci)∈ RA}

– CA⊆ C × P , the policy that maps Conditions to Permissions.

assignedP erms(c : C) → 2P ≡ assignedP erms(c : C) = {p ∈ P | (c, p) ∈

CA}

• The statements above define the associations that a user can have within the model. With

the effect of Session, a user can have multiple associations with Roles and Conditions as defined below.

(34)

belong to.

– sessionRoles : S → 2R, the association that maps Session to the set of Roles.

sessionRoles(s)⊆ {r | (sessionUser(s), r, c) ∈ UA}

– sessionConds : S → 2R, the association that maps Session to the set of Conditions.

sessionConds(s)⊆ {r | (sessionUser(s), c) ∈ CV }

– sessionP erms : S → 2P, the Permissions this Session has.

sessionP erms(s) =∪r∈sessionRoles(s){p | (r, p) ∈ RA}

3.2.3

Examples

Next, we illustrate an example of our model. Suppose that a night shift staff can acquire the right to access the company gate at nighttime. Also, he can use the wireless network while being inside the building. The authorization process is stated below.

• The authentication and condition service verify his identity and conditions.

• The access control engine receives the access request like {Uid, Context1, Context2, ...}.

In this case, Context1may stands as location amd Context2as time.

• The access control engine assign Roles and Conditions to user based on the information

in the access request and the access control policies. In this case, the user may be assigned the Role "employee", "night-shift" and the Condition "In-the-building" and "nighttime", then the access control engine makes the access control decisions. Since Condition "in the building" is mutable relatively and Condition "night-time" is immutable. The user Session becomes as below.

(35)

– U A : (Uid, employee), (Uid, nighttime, night− shift)

RA : (night− shift, gate), (employee, In − the − building, W irelessNetwork)

3.3

Realization

XACML is a general-purpose access control policy language and can be use to describe the policy and access control decision request and response. Applying XML makes it easier to communicate, so we extend XACML to illustrate our model in a formal way. In order to improve readability, the specification assumes use of the following XML Internal Entity declarations:

^lt;!ENTITY xml "http://www.w3.org/2001/XMLSchema#"> ^lt;!ENTITY rule-combine

"urn:oasis:names:tc:xacml:1.0:rule-combining-algorithm:"> ^lt;!ENTITY policy-combine

"urn:oasis:names:tc:xacml:1.0:policy-combining-algorithm:"> ^lt;!ENTITY function "urn:oasis:names:tc:xacml:1.0:function:"> ^lt;!ENTITY subject-category

"urn:oasis:names:tc:xacml:1.0:subject-category:">

^lt;!ENTITY subject "urn:oasis:names:tc:xacml:1.0:subject:"> ^lt;!ENTITY role "urn:oasis:names:tc:xacml:2.0:subject:role"> ^lt;!ENTITY roles "urn:example:role-values:">

^lt;!ENTITY resource "urn:oasis:names:tc:xacml:1.0:resource:"> ^lt;!ENTITY action "urn:oasis:names:tc:xacml:1.0:action:"> ^lt;!ENTITY actions "urn:oasis:names:tc:xacml:2.0:actions:">

^lt;!ENTITY environment "urn:oasis:names:tc:xacml:1.0:environment:">

According to XACML, We specify the components as below.

Users are expressed by XACML Subjects.

Roles are expressed by XACML Subject Attributes.

Conditions are expressed by XACML Subject Attributes.

(36)

Operations are expressed by XACML Actions.

Permissions are express by XACML Permission <PolicySet> and linked to the corresponding roles by Role <PolicySet>.

And the associations between components are as Policy or PolicySet in XACML.

Role <PolicySet> associates user who has particular role to a Permission <PolicySet>.

Permission <PolicySet> that associates role to a set of permissions.

Condition <PolicySet> associates user who has particular condition to a Condition <Policy-Set>/

Condition <PolicySet> associates condition to a set of permissions.

Role Assignment <PolicySet> specifies which roles can be assigned to or activated by which users. Role Assignment <PolicySet> is performed by Role Authority.

Condition Assignment <PolicySet> specifies which roles can be assigned to or activated by which users. Condition Assignment <PolicySet> is performed by Role Authority.

Next, we illustrate how a user grants its permissions by their roles and conditions by a simple Policy "Clerk can only enter the Gate in Weekday". First, user requests its roles and conditions from the role and condition authority. The role and condition authority decide which roles and conditions he can acquire by the Role Assignment <Policy> and Condition Assignment <Policy>. The Condition Assignment <Policy> may like the table below and similar to the Role Assignment <Policy>.

(37)

<Policy xmlns="urn:oasis:names:tc:xacml:2.0:policy:shema:os"

PolicyId="Condition:Assignment:Policy" RuleCombiningAlgId="&rule-combine;deny-overrides"> <Rule RuleId="in:weekday:condition:requirements" Effect="Permit">

<Target> <Resources>

<Resource>

<ResourceMatch MatchId="&function;string-equal">

<AttributeValue DataType="&xml;string">condition;in Weekday<AttributeValue> <ResourceAttributeDesignator AttributeId="condition" DataType="&xml;string"/> </ResourceMatch> </Resource> </Resources> <Actions> <Action> <ActionMatch MatchId="&function;string-equal"> <AttributeValue DataType="&xml;string">&action;enableCondition</AttributeValue> <ActionAttributeDesignator AttributeId="&action;action-id' DataType="&xml;string"/>

</ActionMatch> </Action> </Actions> </Target> <Condtion> <Apply FunctionId="&function:and"> <Apply FunctionId="&function:greater-than-or-equal"> <Apply FunctionId="&function:string-one-and-only"> <EnvironmentAttributeDesignator DataType="http://www.w3.org/2001/XMLSchema#string" AttributeId="&environment;DayOfWeek"/> </Apply> <AttributeValue DataType="&xml;string">1</AttributeValue> <Apply FunctionId="&function:greater-than-or-equal"> <Apply FunctionId="&function:string-one-and-only"> <EnvironmentAttributeDesignator DataType="http://www.w3.org/2001/XMLSchema#string" AttributeId="&environment;DayOfWeek"/> </Apply> <AttributeValue DataType="&xml;string">1</AttributeValue> <Apply FunctionId="&function:less-than-or-equal"> <Apply FunctionId="&function:string-one-and-only"> <EnvironmentAttributeDesignator DataType="http://www.w3.org/2001/XMLSchema#string" AttributeId="&environment;DayOfWeek"/> </Apply> <AttributeValue DataType="&xml;string">5</AttributeValue> </Condition> </Rule> </Policy>

Role and Condition Authority assign roles and conditions to the user by his identify and context information. Then the user uses these certificates to acquire corresponding permissions. The Role <PolicySet> associates user to the Role "Clerk in Weekday" and the Permission <Poli-cySet> specifies the actual permissions it has. The Permission <Poli<Poli-cySet> of Role "Clerk in Weekday" also references to the Permission <PolicySet> of Role "Clerk" which allows user to

(38)

inheritance the permissions assigned to Role "Clerk". Role <Policy Set>

<PolicySet xmlns="urn:oasis:names:tc:xacml:2.0:policy:schema:os" PolicySetId="RPS:clerk:in:weekday:role"> <Target> <Subjects> <Subject> <SubjectMatch MatchId="&function;anyURI-equal"> <AttributeValue DataType="&xml;anyURI">&role;clerk</AttributeValue>

<SubjectAttributeDesignator AttributeId="&2.0:role" DataType="&xml;anyURI"/> </SubjectMatch> </Subject> </Subjects> </Target> <Condition> <Apply FunctionId="&function;string-equal"> <Apply FunctionId="&function;string-one-and-only">

<SubjectAttributeDesignator DataType="&xml;string" AttributeId="condition"/> </Apply>

<AttributeValue DataType="&xml;string">in Weekday</AttributeValue> </Apply> </Condition> <PolicySetIdReference>PPS:clerk:in:weekday:role</PolicySetIdReference> </PolicySet> Permission <PolicySet> <PolicySet xmlns="urn:oasis:names:tc:xacml:2.0:policy:schema:os" PolicySetId="PPS:clerk:in:weekday:role" PolicyCombinungAlgId="&policy-combine;deny-overrides"> <Policy PolicyId="Permissions:specifically:for:the:clerk:in:weekday:role RuleCombiningAlgId="&rule-combine;deny-overrides">

<Rule RuleId="Permission:enter:the:gate" Effet="Permit"> <Target> <Resources> <Resource> <ResourceMatch MatchId="&function;string-equal"> <AttributeValue DataType="&xml:string">Gate</AttributeValue> <ResourceAttributeDesignator AttributeId="&resource;resource-id" DataType="&xml;string"/> </ResourceMatch> </Resource> </Resources> <Actions> <Action> <ActionMatch MatchId="&function;string-equal"> <AttributeValue DataType="&xml;string">enter<AttributeValue>

<ActionAttributeDesignator AttributeId="&action;action-id" DataType="&xml;string"/> </ActionMatch>

(39)

</Actions> </Target> </Rule> </Policy> <PolicySetIdReference>PPS:clerk:role</PolicySetIdReference> </PolicySet>

The Policy above should how immutable condition works. For mutable conditions, the Permission <PolicySet> restricts such permissions from being acquired. The Permission <Pol-icySet> may like below.

Permission <PolicySet>

<PolicySet xmlns="urn:oasis:names:tc:xacml:2.0:policy:schema:os"

PolicySetId="PPS:clerk:role" PolicyCombinungAlgId="&policy-combine;deny-overrides"> <Policy PolicyId="Permissions:specifically:for:the:clerk:role RuleCombiningAlgId="&rule-combine;deny-overrides">

<Rule RuleId="Permission:access:WirelessNet" Effet="Permit"> <Target>

<Resources> <Resource>

<ResourceMatch MatchId="&function;string-equal">

<AttributeValue DataType="&xml:string">Wireless Network</AttributeValue> <ResourceAttributeDesignator AttributeId="&resource;resource-id" DataType="&xml;string"/> </ResourceMatch> </Resource> </Resources> <Actions> <Action> <ActionMatch MatchId="&function;string-equal"> <AttributeValue DataType="&xml;string">access<AttributeValue>

<ActionAttributeDesignator AttributeId="&action;action-id" DataType="&xml;string"/> </ActionMatch> </Action> </Actions> </Target> <Condtion> <Apply FunctionId="&function:greater-than-or-equal"> <Apply FunctionId="&function:string-one-and-only"> <EnvironmentAttributeDesignator DataType="http://www.w3.org/2001/ XMLSchema#string" AttributeId="&environment;location"/> </Apply> <AttributeValue DataType="&xml;string">building</AttributeValue> </Apply> </Condition> </Rule> </Policy> <PolicySetIdReference>PPS:visitor:role</PolicySetIdReference>

(40)
(41)

Chapter 4

Case Study

In this chapter, we illustrate a case study about access control to see how previous model and mine be applied to a case that contains conditions in access control.

Suppose there are several basic capacities in an enterprise which are Manager, Clerk and Visitor. And the corresponding Permissions they have are illustrated in the Table below.

Table 4.1: Case Study Examples

Roles Permissions Conditions

Manager

Gate

Approve access of Database Database

Wireless Network In the building Elevator Not stop at 2ndfloor Web Site

Clerk

Gate Weekday

Database Approval from the manager Wireless Network In the building

Elevator Not stop at 2ndfloor Web Site

Visitor Elevator Not stop at 2

ndfloor

Web Site

There are five resources can be acquired which are Gate, Database, Wireless Network, El-evator and Web Site. Some of them must be accessed under certain conditions. This case con-tains those authorization ways that may present in actual applications. Those are the principles of condition-aware access control we need to pay attention.

(42)

• Who with what attributes can access what resources. • With what attributes the resources can be accessed.

We try to model these authorizations systematic. Next, we apply RBAC, LRBAC, GRBAC to model this scenario one by one. Then we use our model and illustrate the differences between the previous works.

4.1

Case Study on RBAC

RBAC can only describe the authorization by user identity. In this case, RBAC can't dis-tinguish the authorization which has conditions. The PA may be applied like the table below.

Table 4.2: Case Study of RBAC - Permission Assignment Roles Permissions

Manager Gate, Approve access of Database, Database, Wireless Network, Elevator, Web Site

Clerk Gate, Database, Wireless Network, Elevator, Web Site Visitor Elevator, Web Site

In this table, all permissions are directly assigned to those roles. Without considering the conditions, the security requirement may not be satisfied. The following figure shows the Role inheritance.

4.2

Case Study on LRBAC

Basically, LRBAC focuses on the user location. It can take user location as a constraint on User Assignment, but it didn't mention about other conditions. So the PA may appear like the table below.

(43)

Clerk

Gate Database Wireless Network Elevator Web Site

Manager

Approve access of Database

Gate Database Wireless Network Elevator Web Site

Visitor

Elevator Web Site

Figure 4.1:Case Study of RBAC - Hirarchical Roles

Table 4.3: Case Study of RBAC - Permission Assignment

Roles Permissions

Manager Gate, Approve access of Database, Database, Elevator, Web Site

Manager(in the building) Wireless Network

Clerk Gate, Database, Elevator, Web Site Clerk(in the building) Wireless Network

Visitor Elevator, Web Site

Manager and Clerk can access the wireless network only in the building. LRBAC can describe these roles which interact with locations, but it still can't describe those conditions other than locations like "Weekday". However, LRBAC can be extended to include other conditions and takes them as a constraint on UA just like locations. Suppose we call it LRBAC', LRBAC' can model the conditions in this case. The PA becomes as below.

In order to describe every conditions, LRBAC' needs ten roles. LRBAC' needs to create role for every independent condition. With the growing of number of condition, LRBAC' may use a lot of roles and some of them are essentially redundant. Management overhead may increase in this case.

(44)

Clerk Gate Database Elevator Web Site Manager

Approve access of Database

Gate Database Elevator Web Site Visitor Elevator Web Site

Clerk in the building

Wireless Network

Gate Database Elevator Web Site

Manager in the building

Wireless Network

Approve access of Database Gate

Database Elevator Web Site

Figure 4.2: Case Study of LRBAC - Hirarchical Roles

Table 4.4: Case Study of LRBAC' - Permission Assignment

Roles Permissions

Manager Gate, Approve access of Database, Database,

Web Site

Manager(in the building) Wireless Network Manager(Not stop at 2ndfloor) Elevator

Clerk Web Site

Clerk(in the building) Wireless Network

Clerk(in Weekday) Gate

Clerk(with Approval from Manager) Database Clerk(Not stop at 2ndfloor) Elevator

Visitor Web Site

Visitor(Not stop at 2ndfloor) Elevator

4.3

Case Study on GRBAC

GRBAC can support full conditions in this scenario. It just implements the basic roles and takes all conditions as constraints on PA. The PA is illustrated on the table below.

Manager is pre-assigned those permissions which don't interact with conditions like "Gate" and "Database". User can directly acquire these permissions after their identity being verified as Manager. And for those permissions which interact with conditions, GRBAC frequently verifies their status and decides if the role can have these permissions. So GRBAC just needs three roles

(45)

Table 4.5: Case Study of GRBAC - Permission Assignment

Roles Permissions Conditions*

Manager

Gate, Approve access of Database, Database, Web Site

Wireless Network In the building

Elevator Not stop at 2nd floor

Clerk

Web Site

Gate Weekday

Database Approval from Manager

Wireless Network In the building

Elevator Not stop at 2nd floor

Visitor Web Site

Elevator Not stop at 2nd floor

but there are four conditions need to be verified frequently.

Clerk

Gate* Database* Wireless Network* Elevator* Web Site

Manager

Approve access of Database

Gate Database Wireless Network* Elevator* Web Site

Visitor

Elevator* Web Site

Figure 4.3: Case Study of GRBAC - Hirarchical Roles

4.4

Case Study on Our Model

Finally, we apply our model. First, we separate the mutable and immutable conditions. Considering the access operation time period, Conditions "Approval from Manager" and "In the building" may vary during the access operation "Database" and "Wireless Network" respec-tively. But conditions "Not stop at 2nd floor" and "Weekday" don't change during access to

"Gate" and "Elevator". So we create roles for those immutable conditions. The PA appears like the table below.

(46)

Table 4.6: Case Study of Our Model - Permission Assignment

Roles Permissions Conditions

Not stop at 2nd floor Elevator

Manager Gate, Approve access of Database, Database, Elevator, Web Site

Wireless Network In the building

Clerk

Web Site

Database Approval from Manager

Wireless Network In the building

Clerk(in Weekday) Gate

Visitor Web Site

In this case, our model needs five roles to illustrate the authorization. And there are two conditions need to be verified frequently. Also, it can satisfies all authorization scene in this case. Next chapter, we give a comparison between our model and other proposals. After the analysis, we point out how much benefit we can obtain by applying our access control model.

Manager

Approve access of Database Gate Database Wireless Network* Web Site Elevator Visitor Web Site Elevator Not stop at 2nd floor

Elevator Clerk Client Database* Wireless Network* Web Site Elevator Clerk in Weekday Gate Client Database* Wireless Network* Web Site Elevator

(47)

Chapter 5

Analysis on Overheads

The original authorization treats every permission as an independent entry. Therefore, with the increase of permissions, administrator needs to deal with a large amount of authorization. Without a good arrangement, it's impractical to assign every permission to every user separately. In order to reduce the management overheads, RBAC introduces the concept of role. Basically, in an organization, the combination of permissions may be only a few types depending on the capacity of user. Applying role in access control can make significant reduction in authorization entries, and then reduce the management overheads. So the number of authorization entries or say the number of roles is one of the factor that effect management overheads.

Another factor is the frequency of verifying conditions and roles. Less time we need to ver-ify conditions, less overheads both on the system and management. Basically, the frequency of verifying conditions is dependent with the type of condition. But we can control the number of conditions we verified. Treating the immutable conditions as roles can reduce the frequency of verifying roles. User can acquire those permissions which are mutable with conditions directly by their roles and doesn't have to wait for the condition verification. And the condition veri-fication only was made when those permissions associated with mutable conditions are being request.

(48)

5.1

Management Overheads

Comparing those proposals applied on the case study illustrated in the previous chapter, we can obtain the difference of capability as the following table.

Table 5.1: Analysis on Management Overheads

Authorization Theme RBAC LRBAC GRBAC Our Model

identity

context × × ×

identity+location ×

identy+context ×

number of roles in the case 3* 5**/10 3 5

*RBAC constructs 3 roles in the scenario but can't model the authorization with context. **LRBAC constructs 5 roles to model the authorization with location, but it needs 10 roles to model the authorization with context.

To support the authorization with context information, RBAC is insufficient and LRBAC needs to be modified. We call the modified LRBAC as LRBAC' and comparing with GRBAC and our model.

Because of taking all conditions constraints as roles, LRBAC' construct way more of roles. This increases the complexity of roles hierarchy as Figure 5.1.

Instead of constructing all condition constraints as roles, our model takes mutable condi-tions as constraints on Permission Assignment and reduces a great number of roles. Similarly, GRBAC makes all condition to restrain permissions assigning to roles. GRBAC can have less number of roles than our model. But since all conditions need to be verified frequently, it makes user hard to ascertain their permissions by their role and increases the overhead on condition verification. We will discuss it in the next section.

(49)

Clerk Web Site

Manager

Approve access of Database Gate

Database Web Site

Visitor Web Site

Clerk in the building Wireless Network Web Site

Manager in the building Wireless Network

Approve access of Database Gate

Database Web Site

Clerk not stop at 2nd floor

Elevator Web Site

Clerk in Weekday Gate

Web Site

Visitor not stop at 2nd floor

Elevator Web Site

Clerk with Manager approving Database

Web Site

Manager not stop at 2nd floor

Approve access of Database Gate

Database Elevator Web Site

Figure 5.1: Case Study on LRBAC'

5.2

Condition Verification Overheads

In the case study, there are four kinds of condition constraints. Suppose the varying period of each condition denote as τi and the period of corresponding access if αi. If τi ≫ αi, which

means this kind of condition seldom change during the access. Then we set the corresponding condition as immutable condition, otherwise, as a mutable condition. Condition "Not stop at

(50)

2nd floor" and "Weekday" are immutable in the case study. So we construct Role "Clerk(in Weekday)" etc., leaving Condition "In the building" and "Approval from Manager" as mutable conditions. User push the information of "Who they are", "if it is Weekday" and "which floor he rides the elevator to" to the access decision point with access request. This information doesn't have to be verified during once access. So we verify two less conditions than GRBAC.

Suppose the access frequency of variation of mutable conditions be f ci. The frequency

of verification must greater or equal than the frequency of variation and be f vi > fci. As a

result, the verification time with an access should be f vi × τi for a related condition. Suppose

a permission is related two n conditions, the total verification time within an access should be

n

i=1

f vi× τi (5.1)

Making the immutable conditions as roles and only verified with the request can reduce the overhead on condition verification. Also, users can know what they are allowed to do more directly by their roles.

數據

Figure 2.1: NIST Role-based Access Control Model
Figure 2.2: An Example of Hierarchical Roles
Figure 2.3: Generalized Role-based Access Control Model
Figure 2.4: Location-aware Role-based Access Control Model
+7

參考文獻

相關文件

x=spawn P-FIB(n-1)

[r]

(b) 剝奪或減損其他會員依 GATT 1994 直接或間接享有之利益,2. 特別是依 GATT 1994 第二條得享有之關稅減讓利益 12 ; (c)

 The oxidation number of oxygen is usually -2 in both ionic and molecular compounds. The major exception is in compounds called peroxides, which contain the O 2 2- ion, giving

The Liouville CFT on C g,n describes the UV region of the gauge theory, and the Seiberg-Witten (Gaiotto) curve C SW is obtained as a ramified double cover of C g,n ... ...

We compare the results of analytical and numerical studies of lattice 2D quantum gravity, where the internal quantum metric is described by random (dynamical)

 附錄 2:在 Windows XP 中將 Tera Term 設定為預設 Telnet 用戶端..  附錄

分項計畫「海上絲路之探索」之設計與推行,基本上針對本校通