patients, and the need of harmonizing different coun-
try legislations on patients’ privacy consent and en-
abling their healthcare systems to interoperate.
In this paper, we focus on the problem of defin-
ing and implementing access control policies for pro-
tecting EHRs from accesses by unauthorized users
(i.e. people not explicitly authorized by patients).
The challenge comes from the necessity of adopting
a standard-based approach and, at the same time, of
providing policy designers with tools that permit writ-
ing access control policies in a user-friendly way and
enable formal reasoning on them. This latter aspect
would be a remarkable achievement, since it would
permit to formally enforce patients’ informed privacy
consent by supporting policy designers and system ar-
chitects (and, indirectly, also patients, healthcare pro-
fessionals and lawyers) to understand the overall ef-
fect of policies and their consequences.
We propose an approach inspired by the OA-
SIS standard eXtensible Access Control Markup Lan-
guage (XACML) (OASIS XACML TC, 2005), which
is the de-facto standard for defining authorization
statements to protect sensible resources. For example,
also the epSOS’s standardization bodies endorsed its
use for guaranteeing a secure and authorized access
to patient health data by enforcing the informed pri-
vacy consent. However, the adoption of XACML may
imply a high cost. Indeed, XACML comes with an
XML syntax that makes the task of writing (and, then,
understanding) policies difficult and error-prone. Be-
sides, it comes without a formal semantics, rather its
specification document is written in prose (i.e., in En-
glish) and contains quite a number of loose points that
may give rise to different interpretations and lead to
different implementation choices. This leaves the dif-
ficult task of understanding the full implications of the
various choices to the implementers, which should be
avoided, since otherwise the portability of XACML
policies across different platforms could be consider-
ably undermined.
To address the issues above concerning XACML,
we advocate the use of Formal Access Control Pol-
icy Language (FACPL) (Masi et al., 2012). FACPL
is a language for expressing policies with solid math-
ematical foundations but, differently from XACML,
its simple and clear syntax and semantics makes it
easy to learn and use. Indeed, FACPL comes with
a BNF syntax that can be exploited to create front-
ends for user-friendly policy editors. Besides, since
FACPL relies on theoretical foundations, it enables
formal reasoning on policies to be used, e.g., for for-
mally proving patient consent, law fulfillment and
other soundness properties. We have intentionally de-
signed FACPL by taking inspiration from XACML,
thus it can express access control policies similar to
those expressible by XACML and for different appli-
cation domains. In this paper, however, we focus on
the healthcare domain and present the potentialities of
our approach when used in healthcare systems in pro-
duction where we believe it can contribute to build
safer and more reliable systems.
The rest of the paper is organized as follows. Sec-
tion 2 provides an overview of XACML by resorting
to an application to an healthcare scenario borrowed
from epSOS. Section 3 presents FACPL and the tools
already developed on top of it. Finally, Section 4 con-
cludes the paper by discussing the potentialities of the
proposed formal approach.
2 THE XACML STANDARD
The XACML standard provides a language for ex-
pressing access control policies and access requests,
and a framework to evaluate access requests w.r.t.
policies and to enforce the authorization decision.
The access to each resource is regulated by one or
more policies. These are XML documents expressing
the capabilities and credentials that a requestor must
have for accessing the resource.
Evaluation of XACML requests is performed by
two different actors, the Policy Decision Point (PDP)
and the Policy Enforcement Point (PEP). The autho-
rization decision is computed by the PDP by checking
the matching between values specified in the policies
and the corresponding values retrieved from the re-
quests. The decision can be one among permit, deny,
not-applicable and indeterminate: the first two values
have an obvious meaning, while the third means that
the PDP does not have any policy that applies to the
request and the fourth means that the PDP is unable to
evaluate the request. In case of permit and deny, the
PDP can attach some additional actions, called obli-
gations, to the decision. The PDP decision is then
enforced by the PEP, which authorizes the access re-
quest if it understands and can discharge the obliga-
tions and, of course, if the PDP decision is positive.
The basic elements of the policy language pro-
vided by the standard are the rules. A rule speci-
fies the logic for the access control decision by means
of an effect, that can be either permit or deny; a tar-
get, that indicates to which requests the rule applies;
a condition, that is an expression refining the appli-
cability established by the target; and some obliga-
tions. Rules are then combined into policies that, be-
sides their own target and obligations, specify a com-
bining algorithm, which, from the set of rules’ de-
cisions, computes what is the decision for a request.
HEALTHINF2013-InternationalConferenceonHealthInformatics
264