Role Based Access Control on MLS Systems Without Kernel Changes
Total Page:16
File Type:pdf, Size:1020Kb
Role Based Access Control on For example, roles in a bank may include the role of teller or accountant. Each of these roles has a set of MLS Systems without Kernel privileges or transactions that they can p erform, includ- Changes ing some privileges that are available to b oth roles. Roles can b e hierarchical. For example, some roles in a hospital D. Richard Kuhn may b e health care provider, nurse, and do ctor. The do c- National Institute of Standards and Technology tor role may include all privileges available to the nurse Gaithersburg, Maryland 20899 role, which in turn includes all the privileges available to the health care provider role. Roles have b een used in a variety of forms for com- Abstract puter system security for at least 20 years, and several prop osals for incorp orating roles into existing access con- Role based access control (RBAC) is attracting increas- trol mechanisms have b een published [2], [3], [4]. More ing attention as a security mechanism for b oth commer- recently, formal defnitions for general-purp ose RBAC no- cial and many military systems. This pap er shows how tions have b een prop osed [5], [6], [7]. RBAC can b e implemented using the mechanisms avail- This pap er shows how RBAC can b e implemented able on traditional multi-level security systems that im- using the controls available on traditional lattice-based plement information fow p olicies. The construction from multi-level secure systems. This approach presents a MLS to RBAC systems is signifcant b ecause it shows that number of advantages: the enormous investment in MLS systems can b e lever- aged to pro duce RBAC systems. The metho d requires no • Many frms have sp ent hundreds of millions of dol- changes to the existing MLS system kernel and allows im- lars building, testing, and maintaining MLS systems. plementation of hierarchical RBAC entirely through site By implementing RBAC using a single trusted pro- confguration options. A single trusted pro cess is used to cess, this investment can b e leveraged to pro duce new map privileges of RBAC roles to MLS lab els. Access is systems that have great commercial value without re- then mediated by the MLS kernel. Where C is the num- quiring a similarly large investment to build entirely b er of categories and d the depth of the role hierarchy, the new RBAC systems. number of roles that can b e controlled is approximately • The assurance pro cess for trusted systems is lengthy d C ;d and exp ensive. By confning RBAC to a single . C ;2d trusted pro cess that sits ab ove the MLS kernel, the assurance pro cess should b e much less exp en- sive than that required for an entirely new system. 1 Introduction Since RBAC is implemented through confguration Role based access control (RBAC) is an alternative to options, a system can provide RBAC while retaining traditional discretionary (DAC) and mandatory access the same high assurance level. control (MAC) p olicies that is attracting increasing at- • Op erating RBAC and MLS security simultaneously tention [1], particularly for commercial applications. The on a system may b e much easier to analyze for assur- principle motivation b ehind RBAC is the desire sp ecify ance purp oses. By using only combinations of cat- and enforce enterprise-spec ifc security p olicies in a way egory lab els to implement RBAC, information fow that maps naturally to an organization's structure. Tra- can b e protected using the conventional sets of secu- ditionally, managing security has required mapping an rity levels and categories. organization's security p olicy to a relatively low-level set of controls, typically access control lists. With RBAC, security is managed at a level that cor- 2 Implementing RBAC on Multi- resp onds closely to the organization's structure. Each level Secure Systems user is assigned one or more roles, and each role is as- signed one or more pr iv il eg es that are p ermitted to users RBAC can b e implemented directly on multi-level secure in that role. (MLS) systems that supp ort the traditional lattice based controls. This is signifcant b ecause it means the enor- mous investment in MLS systems can b e applied to im- plementing RBAC systems. The metho d describ ed here d C ;d can handle approximately RBAC privileges, C;2d where C is the number of categories supp orted on the MLS system. and d the depth of the role hierarchy. 2.1 MLS Access Controls categories to RBAC privileges. This approach is used in the Data General DG/UX B2 Secure System [12]. For MLS access controls make use of a set of lab els attached small numbers of privileges, this is an efcient solution. to sub jects and ob jects. The lab els defne a set of se- DG/UX supp orts up to 128 separate roles. Users can curity levels, such as CONFIDENTIAL, SECRET, TOP simply b e assigned a set of categories that corresp ond to SECRET, and a set of categ or ies, such as NATO, NO- the privileges of their roles, then access is handled by the FORN. Conventional MLS systems implement the mil- MLS system. itary security p olicy defned by the Bell and LaPadula Unfortunately, most MLS systems supp ort a rela- mo del [8]. tively small number of categories and levels, typically 64 We assume a standard set of features and functions to 128 of each. Obviously, if the MLS system were testing for an MLS system, such as those describ ed in [9] or [10]. that l > l ^ c = c , rather than l > l ^ c < c , then s o o s s o o s The MLS system is assumed to maintain the following we could simply use subsets of categories to map to priv- sets: c ileges, giving a total of 2 mappings. But since we want L = an ordered set of security clearance levels l ; to b e able to control access to RBAC privileges simul- C = a set of category names c. taneously with MLS access control without changing the Each sub ject s has a set of category names c authorized s MLS system, we need a metho d that can uniquely rep- for use by sub ject s, and each ob ject o has a set of cat- resent a large number of privileges using MLS categories egory names c asso ciated with the ob ject. Levels and o and levels. categories defne lab els for sub jects s and ob jects o, des- One alternative is to establish a mapping b etween ignated A(s) and A(o) resp ectively. The lab els form a RBAC privileges and pairs of MLS categories. This ap- lattice where A(i) > A(j ) if l > l and c 2 c 2 i j i j proach would supp ort a total of (n ; n);2 privilege map- For read and activate access, the mandatory ac- pings. If 64 categories are available on the MLS system, cess control rules require the simple security prop erty: then 2, 016 privileges could b e mapp ed to MLS categories. A(s) > A(o). For write access, the *-prop erty controls This is a more reasonable number, but large organiza- access. The traditional, or lib eral *-prop erty requires tions may require many more individual privileges to b e that A(o) > A(s). The strict *-prop erty, designed to controlled. Also, in some applications only a very small prevent integrity problems as a result of \write-up", re- number of categories may b e available. If only 10 cat- quires A(o) = A(s). A variation on the *-prop erty, the egories were available, then only 45 privileges could b e trusted lib eral *-prop erty, intro duced by Bell [11], desig- controlled in this manner. nates separate lab els for read and write, A and A re- r w A more generalized approach is to use combinations sp ectively. The simple security rule is applied for A and r of categories. For c categories, the largest number of priv- the *-prop erty for A . w ileges that can b e distinguished is c c;2 2.2 MLS to RBAC Mapping 17 With 64 categories, this would b e 1:83 x 10 . A role can b e thought of as a set of p ermissions on priv- ileges. RBAC can then b e implemented on an MLS sys- 2.3 Construction of Category Sets tem by establishing a relationship b etween privilege sets within the RBAC system and category sets within the This section describ es a metho d of implementing RBAC MLS system. by mapping from roles to categories at system initializa- To implement RBAC, a trusted interface function is tion time. Only category sets are used; security levels are developed to ensure that the assignment of levels and cat- not needed to control access to RBAC-protected ob jects. egories to users is controlled according to the RBAC rules. This makes it p ossible to use RBAC simultaneously with No mo difcations to the MLS system are necessary. Roles the information-fow p olicies supp orted on MLS systems. and their asso ciated privilege sets must b e mapp ed by the interface function to sets of categories. The trusted 2.3.1 Roles and Privilege Sets interface op erates according to the rules given in Section 2.1. Each time a user establishes a session, the interface Let R b e a tree of roles and asso ciated privileges, where presents the user's role options, then checks to ensure that the ro ot R represents one or more privileges that are 0 the user is authorized for the requested role.