Table 1: JMeter evaluation.
Average request time (ms)
No authentication 51
Basic authentication 52
Shibboleth authentication 54
times, which results in 5000 requests per scenario and
15000 requests overall, has been implemented.
Table 1 shows average request/response times of
the tested scenarios. Obviously and expectedly using
a reverse proxy which is forwarding requests to other
web servers without any authentication performs best.
Also using basic authentication which does no more
than sending additional login credentials in the HTTP
request header is only insignificantly slower. In the
shibboleth scenario a slightly worse result could have
been expected because of the complexity of shibbo-
leth authentication. For instance there is additional
communication between the apache mod shib mod-
ule and the service provider daemon shibd, which
holds session information. But obviously this over-
head does not pose much of a negative impact on the
overall performance of this setup.
These results make the aforementioned integra-
tion of Shibboleth authentication into cloud comput-
ing infrastructures using a reverse proxy, an attractive
way to maintain manageability and security.
Things to consider when integrating a Shibboleth
reverse proxy are proxy resources, bandwidth and
failover. Scaling up is the most common way to en-
hance the performance of a reverse proxy, when de-
mands are rising. Scaling out (e.g. distributing load
on multiple reverse proxies) can be a bit problem-
atic because Shibboleth SPs store session informa-
tion, which in this case need to be distributed among
multiple reverse proxies. Shibboleth supports some
mechanisms to cluster SPs. One way is to choose a
master SP which stores session information and let
other SPs communicate via TCP to it in case they
need additional information. Another way would be
to store session data in a central database and connect
SPs to it. Either way those approaches add a lot of
complexity and it needs to be seen, whether or not
they are feasible performancewise. Another approach
is to only protect the web application’s login script
and let the application itself handle authentication and
authorization in its session management. This way
the SP is only needed for initial authentication and
attribute exchange at the very beginning of a session
with the web application. Adding session stickiness
to this timeframe solves a lot of problems, but requires
the application to have session management and a lo-
gin script has to be developed, which handles session
creation. (see (Shibboleth 2 Documentation, 2011b)
for further information on SP clustering)
The approach described in this paper suffers from
one major problem. Requiring all requests to be han-
dled by the reverse proxy makes it a single point of
failure. This can be solved by applying common fail-
over strategies. In fact deploying the proxy as a vir-
tual machine has the advantage of hot migratability of
the VM in case the hosting cloud node fails. Further
research has to be conducted in this area.
6 RELATED WORK
Guanxi (Jie et al., 2008) is an open source implemen-
tation of the Shibboleth protocol and architecture for
e-social science. Guanxi Shibboleth is integrated into
the Sakai collaborative and learning environment and
PERMIS technology is enabling a policy-driven, role-
based, fine-grained access control. Our approach es-
pecially enables the OpenNebula Cloud Management
System with Shibboleth but enhances the access to
Cloud services by policies.
The national grid service (NGS) provides access
to compute and data resources for UK academics. The
work from Xiao Dong Wang et.al. (Wang et al., 2009)
describes an architecture by which users are authen-
ticated by the UK access management federation to
acquire low assurance credentials to access Grid re-
sources on the NGS. Technically it is integrated into a
portal, whereas our approach is a proxy which can be
integrated in other portals.
The work from Takaaki, K. et.al. (Takaaki et al.,
2011) developed a web forward proxy server with
authentication method using Shibboleth. This proxy
solves problems in basic access authentication and di-
gest access authentication supported by existing web
forward proxy servers. Here the user already has to
use a proxy and it is not supporting federations.
The approach discussed in this paper is exclu-
sively based on open source technologies which
makes it particularly interesting in an academic en-
vironment. For example TU Munich also uses Shib-
boleth as a single sign-on system (Hommel, 2010).
This proxy solution could also be interesting for such
infrastructures outside of cloud environments if use
cases exist where additional flexibility is needed.
7 CONCLUSIONS AND FUTURE
WORK
In this paper a solution to reduce the number of ser-
CLOSER2012-2ndInternationalConferenceonCloudComputingandServicesScience
94