data decryption. Only those that have the attributes
that satisfy the encryption policy will be able to de-
crypt.
ABE is considered an important enabler technol-
ogy to provide the security services demanded in
cloud storage. Nevertheless, there are few avail-
able implementation of ABE schemes for practical
use in end user applications (Zickau et al., 2016).
ABE are complex systems relying in the theory of
elliptic curves and bilinear pairings, with several as-
pects to cover for a secure and efficient implementa-
tion. Most of the reported works on ABE are theo-
retical constructions, for example (Koo et al., 2013;
Saikeerthana and Umamakeswari, 2015; Fu et al.,
2014). Those works do not present experimental re-
sults that prove the schemes are well suited for use in
practice.
There are two kinds of ABE schemes: KP-ABE
and CP-ABE. In KP-ABE, the attributes are associ-
ated to the ciphertext and the access structure is as-
sociated to the keys. In CP-ABE the situation is the
opposite, the attributes are associated to decryption
keys and the access structure is associated to the ci-
phertext. This way, CP-ABE is conceptually closer to
the role based access control (RBAC) technology and
preferred for providing the access control mechanism
for data stored in the cloud.
In the same way, there are two common con-
structions of CP-ABE. The first one is based on the
Bethencourt et al (Bethencourt et al., 2007) work,
where the access structure is implemented as a tree
(leaf nodes are attributes and internal nodes are logic
gates defining the encryption policy). Some repre-
sentative ABE schemes using this type of technique
are (Bobba et al., 2009; Wan et al., 2012). DET-
ABE (Morales-Sandoval and Diaz-Perez, 2015) is a
Java application that implements this technique. The
second approach is based on the constructions given
by Waters (Waters, 2011), where the access structure
is implemented as a matrix and the encryption poli-
cies are represented as formatted boolean formulas.
Some representative constructions of ABE schemes
with matrix implementations of the access structure
are (Liu et al., 2015; Liu and Wong, 2016). AES4SeC
(Morales-Sandoval et al., 2017) is a Java applica-
tion that implements these ABE schemes. Additional
to offer confidentiality and access control, AES4SeC
also provides authentication and integrity services.
This work presents a quantitative and qualitative
comparison of two realizations of CP-ABE for pro-
viding confidentiality and access control mechanism
over the data stored in untrusted cloud servers. By it-
self, CP-ABE is not able to encrypt large amounts of
data. For that reason, DET-ABE and AES4SeC
implement the digital envelope technique, that uses a
symmetric cipher to encrypt data of any size, and the
decryption key is encrypted with CP-ABE, thus en-
forcing access control and confidentiality at the same
time. Both schemes use the Advanced Encryption
Standard (AES) as symmetric cipher, with support of
the three security levels of 128-, 192-, and 256-bit.
An study as the one presented here allows us to
highlight the advantages and disadvantages of prac-
tical implementations of the two most representative
ABE constructions. Our results show how execution
time varies for different security level requirements
and sizes of files that are shared through a file shar-
ing system. These results can be of interest to those
users that plan to implement this kind of cryptogra-
phy in real scenarios for data storage and sharing in
the cloud.
The remainder of this paper is organized as fol-
lows: Section 2 presents the generalities of an ABE
scheme. Section 3 describes the concept of digital
envelopes and how DET-ABE and AES4SeC imple-
ments that cryptographic concept to guarantee con-
fidentiality and access control mechanisms for large
amount of data. Section 4 describes the set of ex-
periments and the settings to evaluate DET-ABE and
AES4SeC under the same conditions. This section
discusses the results achieved and provides a quanti-
tative comparison. Finally, Section 5 presents the con-
clusion of this work and points out the future work.
2 ATTRIBUTE BASED
ENCRYPTION
Attribute based encryption is a relative new cryp-
tography that has a main distinctive that no keys but
policies are used for the data encryption process. A
policy is generally a boolean formula over a set of
attributes. An attribute is a property of an entity, for
example “to be a doctor”, “to have an academic
degree”, etc. For simplicity, attributes can be viewed
as text-strings. As an example consider the policy:
P = [“doctor”and“cardiologist”] or
[“nurse”and“hospital number 25”]
If P were used in ABE, the encrypted data (ciphertext)
can be only decrypted by entities having attributes
S
1
= {a
1
, a
2
, ··· , doctor, · ·· , cardiologist, · ·· } or S
2
=
{a
1
, a
2
, · ·· , nurse, · ·· , hospital number 25, · ·· }.
In ABE, a user having the sets S
1
or S
2
will be
given a decryption key completely dependent on its
attributes. When decrypting, the decryption key will
match the policy “mathematically”. CP-ABE consists
Protecting Data in the Cloud: An Assessment of Practical Digital Envelopes from Attribute based Encryption
383