This feature of SOAP security gateways forbids
unauthorized users to invoke Web services methods
at runtime. However, this checking by the gateway
leads to a performance degradation in service calling.
Furthermore, access control inside the UDDI
registry is still essential to prevent unauthorized
users from reading certain information in the first
place. It is desirable for security, business
confidentiality and interface simplicity purposes to
present to users only the set of services they have
permission to access.
UDDI defines a standard way for businesses to
list their services and discover each other on the
Internet. An entry in the UDDI registry contains
references to the WSDL service interface description
file and the URL of the Web service. Typically
when a user searches the registry for a service, he
will get the service access point and a tModel
linking to the WSDL description file. The user is
then able to interact with the service based on the
access point and the WSDL description file.
Thus access control can be enforced on entries
inside the UDDI registry to allow only authorized
users to access information about a particular service
access point and tModel. For easier maintenance and
configuration, security policies may be defined in
XML and we can use the existing XML-based
access control specifications such as XACML to
exploit XML’s own ability to build access control in
the UDDI.
2 BACKGROUND
Extensive research has already been carried out on
access control to XML documents built upon XML-
based security policies. A number of access control
models (Bertino et. al., 2001; Damiani et. al., 2002a,
Gabillon & Bruno, 2001) were first proposed by
academia to regulate access to XML documents. For
example Gabillon and Bruno have proposed an
XML authorization model for pull-mode access
control. Similarly Damiani et. al. have proposed a
fine-grained access control system for pull-mode
access control. Bertino et. al. from the University of
Milan have proposed a java-based Author-X system
in 2001 for both pull and push mode access.
These models introduce XML-based access
control to XML documents at both instance and
schema level. They provide a way for security
administrators to define security policies in XML
format. Access control is based on the definition of
subjects, objects and authorization rules. Subjects
are user identifiers such as a login name which may
be used to access the system. Objects can be nodes
inside an XML XPath tree and are referred in XPath
language. Finally there are authorization rules
defining the access permissions for certain subjects
to access certain objects. The syntax of authorization
rules differs slightly from one model to another.
However they all define rules about who can access
what resources under which mode.
These authorization policies support access
control at different levels of granularity, from DTD
(Document Type Definition) schemas to individual
documents to elements within those documents.
Security policies specified at the DTD level will be
applied to all derived XML documents; On the other
hand policies specified on an element inside an
XML document may be defined in a recursive
approach applicable to all its sub-elements or in a
non-recursive approach only applicable to itself
(Damiani et. al., 2002b).
Once receiving the request, these systems check
for every element inside the requested document the
access privileges the user has on the element by
referring directly to the security policies as well as
calculating the implicit rules by propagation options
(Bertino et. al., 2001; Damiani et. al., 2002b). The
system fetches all relevant policies from the policy
base applicable to the element at both the instance
and the DTD levels. The system then applies its
conflict resolution policies to eliminate possible
conflicts. The pruning algorithm recursively
processes each secure policy and marks the
appropriate elements with “+” or “-”. Finally, as
indicated by Bertino, the system presents the
requester with a view of the requested documents by
pruning all unauthorized elements and attributes
from the original documents marked with “-” sign.
If a system has a large number of users, access
control policies may become tedious for security
administrators to manage. On the other hand quite
often access permissions to resources inside an
organization are normally determined by the role a
user plays. As pointed out by Ferraiolo and Kuhn
(1992), this role definition normally involves
“specification of duties, responsibilities and
qualifications”. Hence Role Based Access Control
(RBAC) was first introduced in 1992 by Ferraiolo
and Kuhn. With the Role Based Access Control
model, users will be assigned with security roles.
Security policies will be defined in the form of roles,
objects and permissions. Resources availability is
then determined by the role a user plays in the
interaction. By grouping users into security roles, the
Role Based Access Control model is a lot easier to
maintain.
Some of the above mentioned access control
models support role based access control by offering
ways for security administrators to define users and
user groups. For instance Gabillon and Bruno (2001)
proposed using a separate XML subject sheet (XSS)
UDDI ACCESS CONTROL FOR THE EXTENDED ENTERPRISE
177