A Java-Based Certication Framework for Service Compositions

sizzledgooseSoftware and s/w Development

Nov 3, 2013 (3 years and 9 months ago)

80 views

A Java-Based Certification Framework for
Service Compositions
Marco Anisetti,Claudio A.Ardagna,
Ernesto Damiani
Dipartimento di Informatica
Università degli Studi di Milano
Crema (CR),26013,Italy
firstname.lastname@unimi.it
Federico Giuba
Università degli Studi di Milano
Crema (CR),26013,Italy
federico.giuba@studenti.unimi.it
ABSTRACT
The evaluation of security propert
ies of web services is a key
problem,especially when business processes are dynamical-
ly built by composing atomic services provided by different
suppliers at runtime.In this paper we present a Java-based
framework for the security certification of BPEL-based com-
positions of web services.The fr
amework is grounded on the
test-based service certification scheme proposed in the con-
text of the ASSERT4SOAProject
(http://www.assert4soa.
eu/) and permits to virtually certify a BPEL-based compo-
site service for a set of security properties,starting from
certificates awarded to the component services.
1.INTRODUCTION
The success of web services is de
eply changing the design,
development,and distribution of software.Today,business
processes are often implemented throug
h a dynamic com-
position of web services avail
able over the Internet.In a
context where web services are con
tinuously (re-)designed
and released,an accurate and robust evaluation of compo-
site service security becomes a fundamental challenge.The
use of assurance solutions based on certification to evaluate
software security has recently rece
ived considerable atten-
tion [4],but most of the availab
le solutions have not conside
-
red the certification of composite services or are not suitable
for dynamic run-time compositions.
Recently,Anisetti et al.[1] have proposed a test-based
security certification scheme for BPEL-based composite ser-
vices,where the basic idea is to produce a virtual security
certificate for compositions on the basi
s of the certificates of
component services.Here,the term “v
irtual” refers to the
fact that the test evidence in the certificate proving a given
security property for the composition is inferred by the cer-
tification authority,with no real testing activities.In this
paper we describe a Java-
based framework (developed using
Eclipse IDE) implementing the approach in [1] and present
a preliminary performance analysis.
2.BPELSECURITYCERTIFICATIONFRA-
MEWORK
Our certification approach models a BPEL process as a
BPEL graph in which each web service invocation is repre-
sented as a vertex.Service invocations are connected to-
gether following different compositional pattern:sequence,
alternative,or parallel.An annotated BPEL graph extends
a BPEL graph with a labeling fun
ction,which annotates
every vertex representing an invoke operation with functio-
nal and security requirements.Given an annotated BPEL
graph,a BPEL instance graph is defined,where every ver-
tex representing an invoke operation is instantiated with a
real service such that the following conditions hold:i) the
service satisfies the functional requirements and ii) its certi-
ficate satisfies security requirements in the an
notations.Our
BPEL security certification framework receives as input an
annotated BPEL graph and a set of candidate services with
the corresponding security certificates (following the certi-
fication scheme described in [1]),selects the best subset of
services satisfying the BPEL security annotations (BPEL
instance graph),and generates the virtual security certifica-
te for the BPEL instance graph as output.Figure 2 shows
an architectural overview of th
e BPEL security certification
framework.
Figure 1:Architectural overview of the BPEL
security certification framework
The BPEL instance graph is generated adopting a four-
step selection process as follows:i) UDDI Search,for each
invoke operation in the annotated BPEL graph the framework
performs an UDDI inquiry obtaining a set of candidate ser-
vices that satisfy functional requi
rements;ii) Security Requi-
rements Matching Process,the security certificates of every
candidate service selected at step i) are matched with se-
curity requirements defined in the annotated BPEL graph;
iii) Comparison Process,candidates returned at step ii) are
ranked on the basis of their secu
rity properties;iv) BPEL
instantiation,the first candidate service in the ranked list of
step iii) is associated to the BPEL instance graph invocation
as a partner link.As soon as the BPEL instance graph is
generated,a Virtual Certification Process is triggered.This
process evaluates i) the security certificates of the candidate
services belonging to the BPEL instance graph and ii) the
compositional pattern defined by the BPEL graph.It the
n
generates the virtual certificate for the BPEL instance.In
the following we describe our components in detail.
Figure 2:An example of matching
2.1 UDDI Component
For each invoke in the ann
otated BPEL,a set of services
compatible with the functional annotations are selected.In
particular,this selection is implemented via inquiring a UD-
DI registry (method findCandidates() of class BpelGraph).
Our framework integrates the Apache jUDDI-client [3],ba-
sed on UDDI v3 API,that allows to connect to every UDDI
v3 compliant registry.The function
al service search is per-
formed using tModels [5] in the UDDI structure.Searching
for services compatible with a specific tModel,we obtain
a set of endpoints identifying pa
rtner link candidates that
satisfy functional requirements.
2.2 Matching Process Component
It receives as input,from the UD
DI Component,a set
of web services compatible with th
e functional requiremen-
ts expressed for each invocation in the annotated BPEL.
This component implements the matching algorithm (me-
thod matchCandidates()) described in [2] allowing to select,
between the functional compatib
le services,those candidate
services that satisfy the security requirements expressed in
the annotated BPEL.Figure 2.2 shows an example of mat-
ching process between informat
ion stored in a certificate and
the requirements expressed in the annotation.
2.3 Comparison Process Component
It receives as input,from the Ma
tching Process Compo-
nent,a set of functional and security compatible candidate
services for every BPEL invocation.This component im-
plements the comparison algorithm described in [2],ranking
candidate services based on their security certificates.This
component exposes method compareCandidates() that re-
ceives as input a set of partner link candidates and sorts
them out on the basis of their certificates,according to the
“property first” approach described in [2].
2.4 Virtual Certification Component
It receives as input a BPEL insta
nce graph and produces
as output a virtual certificate for it.To this aim,it ite-
ratively composes pairs of (virtual) certificates C
i
and C
j
,
according to their compositional pattern,to generate a vir-
tual certificate for the composition.The pro
cess is repeated
until the BPEL instance graph is reduced to a graph ha-
ving a single vertex v with virtual certificate C

ij
.Given
two certificates C
i
and C
j
,a virtual certificate C

ij
is gene-
rated including a security propert
y,a model of the service,
and the evidence supporting the security property.At the
Figure 3:An example of service composition.First,
the details about the BPEL graph are
shown;then,
service certificates to be composed are lis
ted;finally,
the virtual certificate is presented
Table 1:Performance analysis.
Number of candidate
Ad-hoc rules
Execution
services per invoke
times (s)
10
20
1.28s
50
20
1.90s
200
20
3.78s
10
100
5.55s
50
100
6.05s
200
100
7.76s
current stage our framework supports a virtual certificate
composition process working at se
curity property level on-
ly.
1
In particular,a virtual property can be generated either
by applying a set of ad-hoc rules defined by experts,which
specifies if and how a virtual security property can be ge-
nerated from the composition of two different security pro-
perties,or with a default rule,which considers relationship
s
among properties defined in a property hierarchy.Figure 2.4
shows a composition of a pair of certificates in parallel.
3.PERFORMANCE ANALYSIS
Performance analysis has been exec
uted on a workstation
equipped with Intel Core i5-2500K 3.30GHz,8 GB of RAM,
128 GBof SSD,running Windows 7 64-bit and Java 1.7.0-21,
and has considered a BPEL process with 6 invoke elements.
Table 1 shows a detailed perf
ormance evaluation by in-
creasing the number of candida
te services per invoke and
the number of ad-hoc rules to be evaluated for the genera-
tion of the virtual security property.Our results show that
the time needed for a runtime generation of a virtual cer-
tificate is reasonable and is 7.76s in the worst-case scenario
with 100 ad-hoc rules and 200 ca
ndidate services for each
invocation.
1
We leave the support for virtual models and evidence to
our future work.
4.CONCLUSIONS
We presented a Java-based frame
work (developed using
Eclipse IDE) for the security cer
tification of BPEL-based
compositions.The proposed framework generates a virtual
test-based certificate for a composite service,which consists
of a virtual security property,starting from the certificates
of the component services.Our future work will consider
the implementation of an extended framework providing a
solution for the generation of complete virtual certificates.
5.REFERENCES
[1] M.Anisetti,C.A.Ardagna,E.Damiani,and
J.Maggesi.Security certification-aware service
discovery and selection.In Proc.of ICWS 2013,2013.
[2] M.Anisetti,C.A.Ardagna,E.Damiani,and
F.Saonara.A test-based security certification scheme
for web services.ACM Trans.Web,7(2):5:1–5:41,May
2013.
[3] APACHE.juddi apache pr
oject - official site.
http://juddi.apache.org/.
[4] E.Damiani,C.Ardagna,and N.E.Ioini.Open source
systems security certification.Springer,New York,NY,
USA,2009.
[5] OASIS.Uddi version 3.0.2.
https://www.oasis-open.org/committees/
uddi-
spec/doc/spec/v3/uddi-v3.0.2-20041019.htm.