Abstract. Access control is the process of mediating every request to resources
and data maintained by a system and determining whether the request should
be granted or denied. The access control decision is enforced by a mechanism
implementing regulations established by a security policy. Different access control
policies can be applied, corresponding to different criteria for defining what
should, and what should not, be allowed, and, in some sense, to different defi-
nitions of what ensuring security means. In this chapter we investigate the basic
concepts behind access control design and enforcement, and point out different
security requirements that may need to be taken into consideration. We discuss
several access control policies, and models formalizing them, that have been proposed
in the literature or that are currently under investigation.
1 Introduction
An important requirement of any information management system is to protect data
and resources against unauthorized disclosure (secrecy) and unauthorized or improper
modifications (integrity), while at the same time ensuring their availability to legitimate
users (no denials-of-service). Enforcing protection therefore requires that every access
to a system and its resources be controlled and that all and only authorized accesses can
take place. This process goes under the name of access control. The development of an
access control system requires the definition of the regulations according to which access
is to be controlled and their implementation as functions executable by a computer
system. The development process is usually carried out with a multi-phase approach
based on the following concepts:
Security policy: it defines the (high-level) rules according to which access control
must be regulated.1
Security model: it provides a formal representation of the access control security policy
and its working. The formalization allows the proof of properties on the security
provided by the access control system being designed.
1 Often, the term policy is also used to refer to particular instances of a policy, that is, actual
authorizations and access restrictions to be enforced (e.g., Employees can read bulletin-board).2 Pierangela Samarati and Sabrina De Capitani di Vimercati
Security mechanism: it defines the low level (software and hardware) functions that
implement the controls imposed by the policy and formally stated in the model.
The three concepts above correspond to a conceptual separation between different
levels of abstraction of the design, and provides the traditional advantages of multiphase
software development. In particular, the separation between policies and mechanisms
introduces an independence between protection requirements to be enforced
on the one side, and mechanisms enforcing them on the other. It is then possible to:
i) discuss protection requirements independently of their implementation, ii) compare
different access control policies as well as different mechanisms that enforce the same
policy, and iii) design mechanisms able to enforce multiple policies. This latter aspect is
particularly important: if a mechanism is tied to a specific policy, a change in the policy
would require changing the whole access control system; mechanisms able to enforce
multiple policies avoid this drawback. The formalization phase between the policy definition
and its implementation as a mechanism allows the definition of a formal model
representing the policy and its working, making it possible to define and prove security
properties that systems enforcing the model will enjoy [54]. Therefore, by proving that
the model is “secure” and that the mechanism correctly implements the model, we can
argue that the system is “secure” (w.r.t. the definition of security considered). The implementation
of a correct mechanism is far from being trivial and is complicated by the
need to cope with possible security weaknesses due to the implementation itself and by
the difficulty of mapping the access control primitives to a computer system. The access
control mechanism must work as a reference monitor, that is, a trusted component
intercepting each and every request to the system [5]. It must also enjoy the following
properties:
– tamper-proof : it should not be possible to alter it (or at least it should not be possible
for alterations to go undetected);
– non-bypassable: it must mediate all accesses to the system and its resources;
– security kernel: it must be confined in a limited part of the system (scattering security
functions all over the system implies that all the code must be verified);
– small: it must be of limited size to be susceptible of rigorous verification methods.
Even the definition of access control policies (and their corresponding models) is
far from being a trivial process. One of the major difficulty lies in the interpretation
of, often complex and sometimes ambiguous, real world security policies and in their
translation in well defined and unambiguous rules enforceable by a computer system.
Many real world situations have complex policies, where access decisions depend on
the application of different rules coming, for example, from laws, practices, and organizational
regulations. A security policy must capture all the different regulations to be
enforced and, in addition, must also consider possible additional threats due to the use
of a computer system. Access control policies can be grouped into three main classes:
Discretionary (DAC) (authorization-based) policies control access based on the identity
of the requestor and on access rules stating what requestors are (or are not)
allowed to do.Access Control: Policies, Models, and Mechanisms 3
Mandatory (MAC) policies control access based on mandated regulations determined
by a central authority.
Role-based (RBAC) policies control access depending on the roles that users have
within the system and on rules stating what accesses are allowed to users in given
roles.
Discretionary and role-based policies are usually coupled with (or include) an administrative
policy that defines who can specify authorizations/rules governing access
control.
In this chapter we illustrate different access control policies and models that have
been proposed in the literature, also investigating their low level implementation in
terms of security mechanisms. In illustrating the literature and the current status of access
control systems, of course, the chapter does not pretend to be exhaustive. However,
by discussing different approaches with their advantages and limitations, this chapter
hopes to give an idea of the different issues to be tackled in the development of an access
control system, and of good security principles that should be taken into account
in the design.
The chapter is structured as follows. Section 2 introduces the basic concepts of
discretionary policies and authorization-based models. Section 3 shows the limitation
of authorization-based controls to introduce the basis for the need of mandatory policies,
which are then discussed in Section 4. Section 5 illustrates approaches combining
mandatory and discretionary principles to the goal of achieving mandatory information
flow protection without loosing the flexibility of discretionary authorizations. Section 6
illustrates several discretionary policies and models that have been proposed. Section 7
illustrates role-based access control policies. Finally, Section 8 discusses advanced approaches
and directions in the specification and enforcement of access control regulations
Abstract. Access control is the process of mediating every request to resources
and data maintained by a system and determining whether the request should
be granted or denied. The access control decision is enforced by a mechanism
implementing regulations established by a security policy. Different access control
policies can be applied, corresponding to different criteria for defining what
should, and what should not, be allowed, and, in some sense, to different defi-
nitions of what ensuring security means. In this chapter we investigate the basic
concepts behind access control design and enforcement, and point out different
security requirements that may need to be taken into consideration. We discuss
several access control policies, and models formalizing them, that have been proposed
in the literature or that are currently under investigation.
1 Introduction
An important requirement of any information management system is to protect data
and resources against unauthorized disclosure (secrecy) and unauthorized or improper
modifications (integrity), while at the same time ensuring their availability to legitimate
users (no denials-of-service). Enforcing protection therefore requires that every access
to a system and its resources be controlled and that all and only authorized accesses can
take place. This process goes under the name of access control. The development of an
access control system requires the definition of the regulations according to which access
is to be controlled and their implementation as functions executable by a computer
system. The development process is usually carried out with a multi-phase approach
based on the following concepts:
Security policy: it defines the (high-level) rules according to which access control
must be regulated.1
Security model: it provides a formal representation of the access control security policy
and its working. The formalization allows the proof of properties on the security
provided by the access control system being designed.
1 Often, the term policy is also used to refer to particular instances of a policy, that is, actual
authorizations and access restrictions to be enforced (e.g., Employees can read bulletin-board).2 Pierangela Samarati and Sabrina De Capitani di Vimercati
Security mechanism: it defines the low level (software and hardware) functions that
implement the controls imposed by the policy and formally stated in the model.
The three concepts above correspond to a conceptual separation between different
levels of abstraction of the design, and provides the traditional advantages of multiphase
software development. In particular, the separation between policies and mechanisms
introduces an independence between protection requirements to be enforced
on the one side, and mechanisms enforcing them on the other. It is then possible to:
i) discuss protection requirements independently of their implementation, ii) compare
different access control policies as well as different mechanisms that enforce the same
policy, and iii) design mechanisms able to enforce multiple policies. This latter aspect is
particularly important: if a mechanism is tied to a specific policy, a change in the policy
would require changing the whole access control system; mechanisms able to enforce
multiple policies avoid this drawback. The formalization phase between the policy definition
and its implementation as a mechanism allows the definition of a formal model
representing the policy and its working, making it possible to define and prove security
properties that systems enforcing the model will enjoy [54]. Therefore, by proving that
the model is “secure” and that the mechanism correctly implements the model, we can
argue that the system is “secure” (w.r.t. the definition of security considered). The implementation
of a correct mechanism is far from being trivial and is complicated by the
need to cope with possible security weaknesses due to the implementation itself and by
the difficulty of mapping the access control primitives to a computer system. The access
control mechanism must work as a reference monitor, that is, a trusted component
intercepting each and every request to the system [5]. It must also enjoy the following
properties:
– tamper-proof : it should not be possible to alter it (or at least it should not be possible
for alterations to go undetected);
– non-bypassable: it must mediate all accesses to the system and its resources;
– security kernel: it must be confined in a limited part of the system (scattering security
functions all over the system implies that all the code must be verified);
– small: it must be of limited size to be susceptible of rigorous verification methods.
Even the definition of access control policies (and their corresponding models) is
far from being a trivial process. One of the major difficulty lies in the interpretation
of, often complex and sometimes ambiguous, real world security policies and in their
translation in well defined and unambiguous rules enforceable by a computer system.
Many real world situations have complex policies, where access decisions depend on
the application of different rules coming, for example, from laws, practices, and organizational
regulations. A security policy must capture all the different regulations to be
enforced and, in addition, must also consider possible additional threats due to the use
of a computer system. Access control policies can be grouped into three main classes:
Discretionary (DAC) (authorization-based) policies control access based on the identity
of the requestor and on access rules stating what requestors are (or are not)
allowed to do.Access Control: Policies, Models, and Mechanisms 3
Mandatory (MAC) policies control access based on mandated regulations determined
by a central authority.
Role-based (RBAC) policies control access depending on the roles that users have
within the system and on rules stating what accesses are allowed to users in given
roles.
Discretionary and role-based policies are usually coupled with (or include) an administrative
policy that defines who can specify authorizations/rules governing access
control.
In this chapter we illustrate different access control policies and models that have
been proposed in the literature, also investigating their low level implementation in
terms of security mechanisms. In illustrating the literature and the current status of access
control systems, of course, the chapter does not pretend to be exhaustive. However,
by discussing different approaches with their advantages and limitations, this chapter
hopes to give an idea of the different issues to be tackled in the development of an access
control system, and of good security principles that should be taken into account
in the design.
The chapter is structured as follows. Section 2 introduces the basic concepts of
discretionary policies and authorization-based models. Section 3 shows the limitation
of authorization-based controls to introduce the basis for the need of mandatory policies,
which are then discussed in Section 4. Section 5 illustrates approaches combining
mandatory and discretionary principles to the goal of achieving mandatory information
flow protection without loosing the flexibility of discretionary authorizations. Section 6
illustrates several discretionary policies and models that have been proposed. Section 7
illustrates role-based access control policies. Finally, Section 8 discusses advanced approaches
and directions in the specification and enforcement of access control regulations
การแปล กรุณารอสักครู่..
