18
1 A pattern language for A pattern language for security models security models Eduardo B. Fernandez and Rouyi Pan Presented by Liping Cai 03/15/2006

1 A pattern language for security models Eduardo B. Fernandez and Rouyi Pan Presented by Liping Cai 03/15/2006

Embed Size (px)

Citation preview

Page 1: 1 A pattern language for security models Eduardo B. Fernandez and Rouyi Pan Presented by Liping Cai 03/15/2006

1

A pattern language for security modelsA pattern language for security models

Eduardo B. Fernandez and Rouyi Pan

Presented by Liping Cai

03/15/2006

Page 2: 1 A pattern language for security models Eduardo B. Fernandez and Rouyi Pan Presented by Liping Cai 03/15/2006

2

OverviewOverview

Layers Pattern Authorization Pattern RBAC Pattern Multilevel Security Pattern File Authorization Pattern Discussion

Page 3: 1 A pattern language for security models Eduardo B. Fernandez and Rouyi Pan Presented by Liping Cai 03/15/2006

3

An instance of the layers patternAn instance of the layers pattern

Page 4: 1 A pattern language for security models Eduardo B. Fernandez and Rouyi Pan Presented by Liping Cai 03/15/2006

4

Authorization PatternAuthorization Pattern Context: -- Any computational environment where there are active entities that

request resources whose access must be controlled. Problem: -- How to describe allowable types of accesses by active computational

entities to passive resources(protected objects) Forces:

-- The authorization structure must be independent of the type of resource;-- Predicates or guards may restrict the use of authorization according to specific conditions;-- some of the authorizations may be delegated by their holders to other subjects.

Page 5: 1 A pattern language for security models Eduardo B. Fernandez and Rouyi Pan Presented by Liping Cai 03/15/2006

5

Authorization Pattern Solution:

Page 6: 1 A pattern language for security models Eduardo B. Fernandez and Rouyi Pan Presented by Liping Cai 03/15/2006

6

Authorization Patternsolution

Page 7: 1 A pattern language for security models Eduardo B. Fernandez and Rouyi Pan Presented by Liping Cai 03/15/2006

7

Authorization PatternAuthorization Pattern

Consequences: -- applies to any type of resources -- The predicts in the rules are a general representation of any conditions

that may restrict the application of a rule. -- the copy flag in the rules controls transfer of rights. -- Some systems separate administrative authorizations from user

authorizations for further security. -- the request may not need to specify the exact object in the rule, the

object may be implied by an existing protected object. Known uses -- Corresponds to the components of the access matrix, a fundamental security

model. -- Basis for the access control systems of most commercial products. Related Patterns -- RBAC pattern -- file authorization pattern

Page 8: 1 A pattern language for security models Eduardo B. Fernandez and Rouyi Pan Presented by Liping Cai 03/15/2006

8

RBAC PatternRBAC Pattern

Context: -- User should get rights based on their job functions. Problem: -- How to assign rights to users according to their roles in an

institution. Forces: -- People have different needs for access to information; -- define precise access rights for its members according to a

need-to-know policy; -- Granting rights to individual users would require storing

many authorization rules and it would also be hard to keep track of these rules;

-- User may have more than one role; may want to enforce policies such as separation of duty;

-- a role may be assigned to individual users or to a groups of users;

Page 9: 1 A pattern language for security models Eduardo B. Fernandez and Rouyi Pan Presented by Liping Cai 03/15/2006

9

RBAC Pattern:RBAC Pattern:

Solution:

Page 10: 1 A pattern language for security models Eduardo B. Fernandez and Rouyi Pan Presented by Liping Cai 03/15/2006

10

RBAC PatternRBAC Pattern

Page 11: 1 A pattern language for security models Eduardo B. Fernandez and Rouyi Pan Presented by Liping Cai 03/15/2006

11

RBAC PatternRBAC Pattern

Consequences: -- reduce the complexity of security; -- Institution policies about job functions can be reflected directly in the

definition of roles and the assignment of users to roles; -- Roles can be structured for further flexibility and reduction of rules; -- Users can activate more than one session at a time for functional

flexibility -- can add UML constraints -- reducing the number of authorization rules and the number of role

assignments. -- Additional conceptual complexity; Known Uses: -- Basis of most research papers and implementations of this idea. -- implemented in a variety of commercial systems Related Patterns: -- authorization pattern(simple version) -- Role pattern and the abstract Session.

Page 12: 1 A pattern language for security models Eduardo B. Fernandez and Rouyi Pan Presented by Liping Cai 03/15/2006

12

 Multilevel Security Pattern

Context -- data and documents have sensitivity levels. Users have

clearances and can access documents based on their clearances.

Problem -- How to decide access in an environment with security

classifications. Forces -- The model should protect the confidentiality and

integrity of data based on its sensitivity. -- The model should be able to be used at any architectural

level. -- There could be different sets of rules to decide access. -- There must be a convenient way to assign users and data

to classification levels.

Page 13: 1 A pattern language for security models Eduardo B. Fernandez and Rouyi Pan Presented by Liping Cai 03/15/2006

13

Multilevel Security PatternMultilevel Security Pattern Solution:

Page 14: 1 A pattern language for security models Eduardo B. Fernandez and Rouyi Pan Presented by Liping Cai 03/15/2006

14

Multilevel Security Pattern Consequence -- The classification of users and data is relatively simple. -- can be proved to be secure under certain assumptions. -- Implementations should use labels in data to indicate their

classification. -- additionally need trusted programs to assign users and data

to levels. -- hard to do or impossible in commercial. Known uses -- has been used by several military-sponsored projects and in

a few commercial products. Related Patterns -- the concept of roles can also be applied here, role

classifications can replace user classifications.

Page 15: 1 A pattern language for security models Eduardo B. Fernandez and Rouyi Pan Presented by Liping Cai 03/15/2006

15

File Authorization PatternFile Authorization Pattern Context: -- The users of operating systems need to define files. These files can

be accessed from different authorized workstations and access to the files should be restricted to authorized users.

Forces: -- There may be different categories of subjects. -- Subjects may be authorized to access files, directories, and

workstations. -- A subject has a home directory for each authorized workstation,

but the same home directory can be shared among several workstation or among several subjects.

-- Users may be grouped for access -- Some systems may use roles instead of in addition to users as

subjects. -- There are different implementations for the file systems of

operating system.

Page 16: 1 A pattern language for security models Eduardo B. Fernandez and Rouyi Pan Presented by Liping Cai 03/15/2006

16

File Authorization PatternFile Authorization PatternSolution:

Page 17: 1 A pattern language for security models Eduardo B. Fernandez and Rouyi Pan Presented by Liping Cai 03/15/2006

17

File Authorization Pattern Consequences: -- can accommodate a variety of subjects -- access objects can be single files, directories, recursive structures -- Implied authorization is possible. -- Implementations are not forced to follow the access matrix model. --Some systems may not use authorizations for workstations. -- Most operating systems use read/write/execute as access types. Higher

level types of access are possible. -- In most operating systems there is the concept of owner, a special type

of user with all rights on the files he creates. -- In some systems, files are mapped to the virtual memory address space.

The pattern still applies to this case. Know Uses -- represents the file systems of Unix, Windows, Linx and most current

operating systems. Related patterns   -- Composite pattern -- RBAC pattern

Page 18: 1 A pattern language for security models Eduardo B. Fernandez and Rouyi Pan Presented by Liping Cai 03/15/2006

18

General DiscussionGeneral Discussion The actual implementation depends on the

architectural level where they are applied. -- Access Control Lists -- the use of capabilities -- control access to classes -- the use of metaclasses and reflection Need to add more patterns in each level Other security models -- Clark-Wilson model -- Chinese Wall model