Context-Aware Attribute-Based Techniques For Data Security and Access Control in Mobile Cloud Environment
Context-Aware Attribute-Based Techniques For Data Security and Access Control in Mobile Cloud Environment
Citation: Li, F. (2015). Context-Aware Attribute-Based Techniques for Data Security and
Access Control in Mobile Cloud Environment. (Unpublished Doctoral thesis, City University
London)
This version of the publication may differ from the final published version.
Reuse: Copies of full items can be used for personal research or study,
educational, or not-for-profit purposes without prior permission or charge.
Provided that the authors, title and full bibliographic details are credited, a
hyperlink and/or URL is given for the original metadata page and the content is
not changed in any way.
City Research Online: http://openaccess.city.ac.uk/ [email protected]
Context-Aware Attribute-Based Techniques for Data
Security and Access Control in Mobile Cloud
Environment
A Thesis Submitted to
City University London, School of Engineering and Mathematical Sciences
In Fulfillment of the Requirements for the Degree
Doctor of Philosophy in
Information Engineering
By
FEI LI
April, 2015
Table of Contents
List of Figures………………………………………………………………………………………………….....V
List of Tables……………………………………………………………………………………………………VIII
Acknowledgements…………………………………………………………………………………………...IX
Declaration…………………………………………………………………………………………………………X
Abstract……………………………………………………………………………………………………………..XI
Notation and Abbreviation……………………………………………………………………………….XII
Publications…………………………………………………………………………………………………..…XVI
1 Introduction.............................................................................................................................1
1.1 Motivation .................................................................................................................2
1.1.1 Problems with the Current Technologies ..............................................................4
1.2 Contributions of the Thesis .......................................................................................7
1.3 Outline of the Thesis .................................................................................................9
2 Identity, Privacy, and Security in Mobile Cloud Environment ...............................................12
2.1 Mobile Cloud Computing.........................................................................................13
2.1.1 Concept of Mobile Cloud Computing ..................................................................13
2.1.2 Advantages of Mobile Cloud Computing .............................................................19
2.1.3 Issues of Mobile Cloud Computing ......................................................................21
2.2 Case Study ...............................................................................................................24
2.2.1 Existing Data Protection Laws .............................................................................27
2.3 Security Concepts, Technologies and Mechanisms .................................................30
2.3.1 Security Technologies and Mechanisms ..............................................................31
2.3.2 Protocols and Standards ......................................................................................36
2.4 Summary..................................................................................................................39
3 Identity Management Systems..............................................................................................41
I
3.1 Single-Sign-On (SSO) and Federation.......................................................................42
3.2 Microsoft .NET Passport: .........................................................................................43
3.3 The Liberty Alliance(Kantara) ..................................................................................46
3.4 OpenID.....................................................................................................................48
3.5 Higgins .....................................................................................................................51
3.6 OAuth ......................................................................................................................53
3.7 Comparison and Literature Review .........................................................................55
3.8 Conclusion ...............................................................................................................61
4 Access Control Technologies .................................................................................................62
4.1 Access Control Models ............................................................................................63
4.1.1 Discretionary Access Control ...............................................................................64
4.1.2 Mandatory Access Control ..................................................................................66
4.1.3 Role-Based Access Control ..................................................................................68
4.1.4 Attribute Based Access Control ...........................................................................71
4.2 Privacy-Preserving Languages .................................................................................74
4.2.1 The Platform for Privacy Preferences ..................................................................75
4.2.2 Enterprise Privacy Authorization Language .........................................................76
4.2.3 Extensible Access Control Markup Language ......................................................76
4.3 Attribute Based Encryption .....................................................................................83
4.3.1 Key-Policy Attribute-Based Encryption ................................................................86
4.3.2 Ciphertext-Policy Attribute-Based Encryption.....................................................87
4.3.3 Multi-Authority Attribute-Based Encryption .......................................................89
4.3.4 Challenges ...........................................................................................................95
4.4 Conclusion ...............................................................................................................97
5 User-Centric Attribute-Based Access Control Model Using XACML ......................................99
5.1 Architecture of Policy-Based User-Centric Approach ............................................100
5.1.1 System Initialization...........................................................................................104
5.1.2 Design of the Model ..........................................................................................105
5.2 Policy Evaluation Component (PEC) ......................................................................110
5.3 Security Evaluation ................................................................................................115
5.3.1 Protocols on Authentication ..............................................................................115
II
5.3.2 Security Analysis ................................................................................................117
5.3.3 User-Centric Approach ......................................................................................122
5.3.4 Use Case Study ..................................................................................................123
5.4 Proof of Concept....................................................................................................125
5.4.1 Protocol Verification ..........................................................................................125
5.4.2 Implementation and Tests .................................................................................130
5.4.3 Sample Screenshots of the Client Application...................................................131
5.4.4 Possible Extension .............................................................................................136
5.4.5 XACML Message Standard .................................................................................136
5.5 Discussion ..............................................................................................................137
5.6 Conclusion .............................................................................................................139
6 Context-Aware Attribute-Based Encryption Schemes .........................................................140
6.1 Introduction ...........................................................................................................140
6.2 Context-Aware Single Authority Attribute-Based Encryption Scheme ..................143
6.2.1 Preliminaries......................................................................................................144
6.2.2 Construction ......................................................................................................146
6.3 Context-Aware Multi-Authority Attribute-Based Encryption Scheme ..................150
6.3.1 Preliminaries......................................................................................................151
6.3.2 Construction ......................................................................................................154
6.3.3 Security Analysis ................................................................................................159
6.3.4 Performance Analysis ........................................................................................165
6.3.5 Computational Complexity Analysis ..................................................................165
6.3.6 Communication Complexity Analysis ................................................................171
6.4 Low-Complexity Multi-Authority Attribute-Based Encryption Scheme.................172
6.4.1 Constructions ....................................................................................................173
6.4.2 Security Analysis ................................................................................................178
6.4.3 Performance Analysis ........................................................................................179
6.5 Conclusion .............................................................................................................183
7 Conclusions and Future Work .............................................................................................185
7.1 Summary and Conclusions ....................................................................................185
7.2 Recommendations for Future Work ......................................................................191
III
Bibligraphy:.............................................................................................................................193
Appendix ................................................................................................................................209
XACML Language ................................................................................................................209
XACML Policy ..................................................................................................................209
XACML Request ..............................................................................................................212
XACML Response ............................................................................................................213
IV
List of Figures
Figure 5.1 Framework of the proposed User-Centric Policy-Based Access Control Model
V
Using XACML ..........................................................................................................102
VI
Figure 6.4 Comparison of Computational Costs for Decryption Between Conventional
VII
List of Tables
6.3 Time Complexity Measures for Tow Different Test Beds 168
VIII
Acknowledgements
This thesis arose after years of research that has been done since I came
to City University London. First and foremost, I would like to express my
gratitude to my supervisor Professor Muttukrishnan Rajarajan, for his supervision,
advice and guidance from the starting of my research. With his extraordinary
experience and admirable insights, he has taught me about science, life, and
encouragement. It is my pleasure to work with you.
I also would like to acknowledge the research collaboration with Dr.
Yogachandran Rahulamathavan. Thanks for the invaluable advice and patience. I
am grateful to my colleagues and everyone for their support and help on my
research work.
By the completion of this thesis, I am approaching the end of a 20 years
long life for officially enrolled as a student. Looking back at these years I will
remember with affection the people I have met and the moments with joy and
happy along the way.
I owe my final thanks to my beloved parents, with their unconditional
support, love, and trust. This thesis is dedicated to them.
IX
Declaration
No portion of the work referred to in this thesis has been submitted in support
of an application for another degree or qualification of this or any other university
or other institute of learning. I hereby grant powers of discretion to the University
Librarian to allow this thesis to be copied in whole or in part without further
reference to the author. This permission covers only single copies made for study
purposes, subject to normal conditions of acknowledgement.
X
Abstract
The explosive growth of mobile applications and Cloud computing has enabled
smart mobile devices to host various Cloud-based services such as Google apps,
Instagram, and Facebook. Recent developments in smart devices‟ hardware and
software provide seamless interaction between the users and devices. As a result,
in contrast to the traditional user, the mobile user in mobile Cloud environment
generates a large volume of data which can be easily collected by mobile Cloud
service providers. However, the users do not know the exact physical location of
their personal data. Hence, the users cannot control over their data once it is stored
in the Cloud. This thesis investigates security and privacy issues in such mobile
Cloud environments and presents new user-centric access control techniques
tailored for the mobile Cloud environments.
Most of the work to date has tried to address the data security issues on the Cloud
server and only little attention has been given to protect the users‟ data privacy.
One way to address the privacy issues is to deploy access control technique such
as Extensible Access Control Markup Language (XACML) to control data access
on users‟ data. XACML defines a standard of access control policies, rule
obligations and conditions in data access control. XACML utilizes Extensible
Markup Language (XML) schema to define attributes of data requesters, resources,
and environment in order to evaluate access requests. A user-centric
attribute-based access control model using XACML which enables users to define
privacy access policies over the personal data based on their preferences is
presented.
In order to integrate the data security and user‟s privacy in mobile Cloud
environment, the thesis investigates attribute-based encryption (ABE) scheme.
ABE scheme enables data owners to enforce access policies during the encryption.
Context-related attributes such as requester‟s location and behavior are
incorporated within ABE scheme to provide data security and user privacy. This
will enable the mobile data owners to dynamically control the access to their data
at runtime. In order to improve the performance, a solution that offloads the
high-cost computational work and communications from the mobile device to the
Cloud is proposed. Anonymisation techniques are applied in the key issuing
protocol so that the users‟ identities are protected from being tracked by the
service providers during transactions. The proposed schemes are secure from
known attacks and hence suitable for mobile Cloud environment. Security of the
proposed schemes is formally analyzed using standard methods.
XI
Notations and Abbreviations
3G Third Generation
4G Forth Generation
CH Context Handler
ID Identity
XII
ID-WSF Liberty Identity Web Services Framework
NI National Insurance
XIII
PII Personally identifiable Information
RG Request Generator
RSA Rivest-Shamir-Adleman
SP Service Provider
SSO Single-Sign-On
VP Validating Point
XIV
XACML eXtensible Access Control Markup Language
XV
Publications
The results of the research described in this thesis have been published in
the following papers:
361-367.
Bucharest, Romania
Cloud Computing” Service Oriented System Engineering (SOSE). 2013 IEEE 7th
International Symposium on, pp.573,577, 25-28 March 2013, San Francisco Bay,
USA
XVI
[4]Fei Li, Yogachandran Rahulamathavan, Mauro Conti, Muttukrishnan Rajarajan,
Canada
review)
XVII
Chapter 1. Introduction
1 Introduction
Mobile handsets have changed human life to a great extend during the last couple of
decades, and it was one of the biggest inventions of the early 1980s.The recent
from traditional desktop computers; hence, users can access online services via
mobile handsets from anywhere and anytime. This transformation increased the
user interaction with computers to a great extent. Various new online technologies
and services are introduced to adopt the change in computer landscape. Mobile
Cloud computing is one of the emerging technologies where the traditional Cloud
combination with mobile devices over mobile networks [1]. The combination of
Cloud computing and mobile technology improves the user experience and
services such as Google Map services via mobile devices provide convenient
navigation services to mobile Cloud users. All the necessary distance and route
optimizations are done within the Cloud. Mobile devices are not involved into such
1
Chapter 1. Introduction
of user data security and privacy. Within this context, this thesis discusses the
security and privacy perspective of this trend and proposes novel algorithms to
mitigate the risk in identity management and privacy protection. In the following,
1.1 Motivation
empowering the users with rich mobile experience. Today‟s users prefer to access
online data and services, such as using Dropbox for Cloud storage, and sharing
photos with friends using Instagram via mobile devices [3]. This trend has fuelled
the need to transform the traditional Cloud computing into mobile Cloud
computing that can help to address some of the data processing challenges.
battery time, and storage capabilities of mobile devices hamper their ability to
Cloud computing is an emerging Cloud service model that combines the Cloud
2
Chapter 1. Introduction
embrace new paradigm of mobile Cloud computing such as mobile storage as a new
way to extend the capabilities of mobile devices and mobile platforms, which has
the potential to impact the business environment and provide more convenience to
When users are accessing Cloud based services through their mobile devices, the
Cloud service providers may collect data from the users for service delivery. Most
the following scenario, an Instagram user can either share his photos with other
preferred Instagram users, or publish the content on his Facebook page. In order to
do so, he has to authorize Instagram with certain access rights on his Facebook
computing.
3
Chapter 1. Introduction
(2) Data and Privacy Protection: Users use the Cloud for online data
existing security approaches are not suitable for protecting the users'
The above security and privacy issues are new challenges in mobile Cloud
secure the data and online services delivered over the mobile Cloud platform, as
4
Chapter 1. Introduction
approaches, which are not suitable for mobile Cloud environment [3, 5-7]. The
Lack of control for users to protect their data: Service providers often hold and
process user data. If such data are disclosed or abused by unauthorized service
providers, the mobile Cloud users may lose their competitive advantage or even go
out of business. Most of the security solutions implemented by the Cloud providers
do not allow the data owners to define the necessary access control policies to
restrict access for the personal data. Hence, tailored access control techniques are
user‟s privacy.
users obtain different services through various Cloud service providers, e.g. when
a Facebook user launches a third-party app in the Facebook App store, the app
providers requests the users' identities and data access consent (i.e. to read the
friendship details, location information or publish data on the personal home page
etc.) in order to deliver the requested service. Personal data such as friendships
app provider knows the users' partial identity and privacy information from their
Facebook profile.
5
Chapter 1. Introduction
Today most of the social media apps are accessed from smartphones. Hence it is
they hold, the user‟s sensitive privacy information may be illegally shared without
the user‟s consent. In order to protect the privacy of the individual, untraceable
solutions should satisfy the requirements that user‟s real identity should be
have people‟s educational records. Hospitals store their patients‟ medical records.
attributes for the user. However, most of the current implementations have only one
trusted authority, which acts as the administrator of the whole system, maintains
identity management and issues decryption keys. It will become a bottleneck of the
system if there are a large number of users. Storing all users‟ information at one
central repository is not an ideal solution too. If a Cloud service provider is attacked
6
Chapter 1. Introduction
This thesis focuses on addressing the problems stated above, and proposes robust
computing environment.
address the above security issues in mobile Cloud environment is proposed. The
MA-ABE scheme enables data owners to define access policies during encryption
and is flexible and practical for mobile Cloud computing environment. A number of
secret keys to the data owner to secure his personal data that is stored in the Cloud.
In order to restrict access for users‟ online data, an Attribute-Based Access Control
language which performs access control based on attributes. Using XACML allows
7
Chapter 1. Introduction
in the Cloud. A data requestor can only decrypt the data based on
maintain different sets of attributes and issue decryption keys for the
8
Chapter 1. Introduction
Cloud environments.
user‟s data privacy issues in section 1.1.1. The model is based on the
The thesis consists of six Chapters in total. Chapter 2 gives an introduction and
related definitions for mobile Cloud computing, identity, privacy and security
9
Chapter 1. Introduction
identity and data security such as cryptographic schemes, security protocols are
discussed in this Chapter. The existing identity management systems such as .NET
Passport, The Liberty Alliance, OpenID, Higgins and OAuth are examined in detail
Chapter 4 discusses the guidelines of privacy protection, and discusses the current
approaches in privacy protection, e.g. solutions for privacy, data access control, and
then proceeds by explaining the main building blocks required for data access
control. Several widely used access control models are discussed followed by a
challenges for privacy-preserving and data access control for mobile Cloud
XACML for mobile Cloud environments. The proposed framework enables users
to define their own access control polices for their personal data. Real-time
attributes are used to secure the data transactions. An attribute authority stores and
manages all the attributes used in this study. The proof of concept of the proposed
10
Chapter 1. Introduction
context-aware single authority ABE scheme, any context-related attributes that can
be captured from user‟s mobile devices are used during the encryption. In addition
proposed in order to address issues of the single authority scenario. Finally, a low
offload heavy computation and communication tasks from the mobile device to the
can secure the data confidentiality and preserve the user‟s privacy.
11
2 Identity, Privacy, and Security in Mobile Cloud
Environment
This chapter reviews the concept of mobile Cloud computing, identity, privacy and
This chapter is organized as follows: the Section 2.1 describes the concept of
mobile Cloud computing followed by a case study of identity, privacy and security
are outlined in Section 2.3. The conclusions are drawn in Section 2.4.
12
Chapter 2. Identity, Privacy, and Security in Mobile Cloud Computing
Mobile devices now provide online data and services to users from anywhere at any
time. Most of the UK mobile operators have established 3G mobile networks and
are now moving forward to 4G LTE networks which can provide much better
performance compared to the 3G networks [8]. The term mobile Internet refers to
the combination of the mobile communication and Internet [9]. Hence, mobile
users can enjoy much better mobile data services via mobile Internet. The number
users in 2013 and it is predicted to reach up to 75% by 2016 [10]. Due to the
technology, mobile Internet provides endless space for mobile network and a
Online services for mobile devices are designed using the end-to-end principle.
Data and services transactions are taken place between the service providers and
(JSON) [12], and Simple Object Access Protocol (SOAP) [13] etc. In today‟s
market, the majority of “smart devices” are mostly based on Apple iOS [14] and
Google Android mobile Operating Systems (OS) [15]. They provide powerful
solutions for mobile platform to satisfy the growing requirements of mobile users.
Developers can freely design innovative mobile applications for mobile users.
Apple announced that there are over 75 billion downloads from the AppStore by
13
Chapter 2. Identity, Privacy, and Security in Mobile Cloud Computing
June 2014 [16], and over 1.3 million apps available for iOS devices by September
2014 [17]. Meanwhile, Google Play reached 25 billion downloads with over
675,000 apps by 26th September 2012 [18].Google did not release further data on
the number of app downloads in the Play market. However, the Play market beats
AppStore with over 1 million apps in 2013 [19]. The AppBrain provides real-time
number of available apps in Google Play market [20], and there are 1432174
applications available in the Google Play market as of 17th December 2014. These
mobile apps give great convenience to people‟s life. Users are increasing the
empowering end users with rich mobile experience [4]. However, the limited
hampering the ability of smart devices to satisfy such demands. For instance, it is
software. Because a user has to download a huge size database which stores all
related information, and the cost of operations such as search, update and reserve
from such apps are heavy. In order to address these limitations, Cloud computing is
infrastructure, platforms, and software provided by Cloud servers at low cost [22,
23]. It represents a new paradigm shift in Internet-based service that delivers highly
14
Chapter 2. Identity, Privacy, and Security in Mobile Cloud Computing
provider‟s interactions. With the explosion of mobile applications and the support
of Cloud computing for a variety of services for mobile users, mobile Cloud
environment. Mobile Cloud computing brings new types of services and facilities
The hardware and systems software in the Cloud data centres provide those services.
called a public Cloud; the service being sold is utility computing [24]. Currently
available public Clouds in the market include Amazon Elastic Compute Cloud
(EC2), Google AppEngine, and Microsoft Azure. The term of private Cloud refers
to internal data centres of a business entity or other organization that are not made
shared by several organizations and supports a specific community that has shared
Public Cloud, or Community Cloud) that remain unique entities but are bound
application portability.
15
Chapter 2. Identity, Privacy, and Security in Mobile Cloud Computing
The National Institute of Standards and Technology (NIST) defines fou4 types
of Cloud deployment models and three service models of Cloud computing [25]:
organization.
by general public.
16
Chapter 2. Identity, Privacy, and Security in Mobile Cloud Computing
Users can access the services from various client devices through a
computing resources where the consumer can deploy and run their
consumer does not manage the Cloud infrastructure but has control
17
Chapter 2. Identity, Privacy, and Security in Mobile Cloud Computing
storage and processing of data on mobile devices to reduce their limitations. It is the
of mobile Cloud computing is how a smartphone can best utilize the Cloud
executed on the mobile devices or outsourced to the Cloud. Where to compute the
Service (QoS) and users‟ Quality of Experience (QoE) [27], where the QoS refers
to the overall performance seen by a customer [28] and the QoE refers to the
[29].
mobile Cloud computing [30]. They used specific factors for mobile Cloud
services such as signal strength, mobile operating systems, hardware etc based on
evidence-based method to measure QoE. They use six factors to provide the
evidences, which are review design, quality of review, consistency across services,
18
Chapter 2. Identity, Privacy, and Security in Mobile Cloud Computing
(1) Data storage capacity and processing power: Even though the hardware
processing power are still the major constraints of the mobile devices.
For instance, the Instagram [32] service enables mobile users to upload
browse all the photos from any supported devices. With mobile Cloud
computing, users can save energy and storage space of their mobile
(2) Battery life: Battery life is one of the most important concerns for
an increase of energy cost and may not be feasible for all mobile devices.
(3) Reliability: Cloud can provide more reliable and effective environment
19
Chapter 2. Identity, Privacy, and Security in Mobile Cloud Computing
Factors such as the mobile operating system, battery, hardware etc. can
devices can cause unexpected loss if data are stored locally. By using
Cloud, such loss can be minimal since the data are stored and processed
on the Cloud.
to satisfy the changes for demands of users, and service providers can
(5) Ease of integration: Mobile users can consume services from different
they authorize Instagram with access to their personal data and page.
Gartner‟s report says that by 2016, nearly 40% of mobile application development
project will leverage Cloud mobile back-end services [35]. However, there are
20
Chapter 2. Identity, Privacy, and Security in Mobile Cloud Computing
before it can take off in commercial arena. The drawbacks associated with mobile
With the advantages discussed above, different types of mobile Cloud computing
services greatly increase convenience, however, new issues are introduced which
latency are big issues in mobile Cloud computing since the radio
21
Chapter 2. Identity, Privacy, and Security in Mobile Cloud Computing
weight value will continue to receive content. The new Hyper Text
power and storage spaces were the major issues of mobile devices.
22
Chapter 2. Identity, Privacy, and Security in Mobile Cloud Computing
the user data on the Cloud. Thus, a user can decide which
data requester can obtain access and know the purpose of the
issue.
The above issues are main concerns of the mobile Cloud environments. The
main focus of this thesis is on the data security and privacy issues in the mobile
Cloud environment and the protection of users‟ sensitive personal information such
following sections, a case study for the investigation of current relationships within
23
Chapter 2. Identity, Privacy, and Security in Mobile Cloud Computing
Cloud Computing in Section 2.2. The current security primitives to protect the user
with his friends on Facebook. He needs to authorize Instagram using his personal
Facebook account details. Figure 2.1 shows the default authorization settings of
Instagram at a Facebook account. Instagram will ask for the permission to contents
on Facebook page and access to data at any time. As a result, the user‟s identity
Cloud environment.
A mobile Cloud user registers at service provider with a unique identity. For
example, a user can use his email address as a unique identity to register at
Facebook. The email identity may consist of a set of attributes such as surname,
date of birth and place of birth to describe the user. These attributes can be either
static or real-time. Attributes such as username, home address, date of birth, and
device IMEI number can be considered as static attributes which will not be
real-time contextual attributes such as users‟ location records, time, and nearby
a key challenge to protect privacy while securing users‟ digital identities in the
24
Chapter 2. Identity, Privacy, and Security in Mobile Cloud Computing
It raises an identity security issue that if two such service providers collude
together, then they can reveal all the user‟s attributes. Existing identity
management systems, such as OpenID [38], Higgins [39] etc. are designed for
traditional PC-based Cloud environment, and do not work with all their features in
in detail in Chapter 3.
to the user with good experience. This trend increasingly affects the user privacy.
are typical mobile Cloud applications. A user wants to book a table at a restaurant
with best reviews around his current location. He uses a mobile app which has a
Tripadvisor [40]. User‟s mobile device captures the current location and sends it to
25
Chapter 2. Identity, Privacy, and Security in Mobile Cloud Computing
the Cloud service provider hosting the mobile app. The app analyses the location
and returns the requested results. In order to complete the booking, the user needs to
give more details about him to the app. During this process, user does not know
whether such personal details are collected by the app or some other third party
entities. Furthermore, with a long time usage, the app may have a huge number of
data based on the user‟s behaviours. The user will not know how his personal
information will be used and even does not know his data is collected by the mobile
Most of the service providers claim that they will only collect anonymous data.
However, when the service provider has a large number of users, it may sell the
users‟ sensitive data to a third party who can mine the data to build business models
for profits [41-43]. Mobile apps can also be used to inject the malwares to users‟
phones. Some malwares can even monitor user‟s daily activities [44]. Researchers
have investigated this issue and proposed solutions in order to prevent collusion
attacks. Bugiel et al. presented a practical security framework for Android platform
which addresses the problem of collusion attacks [45]. Their framework can
control in Android platform. They also improved the security framework with a
system kernel module [46], which enables the framework to provide security
The problem of identity security and privacy is to find a balance between user
convenience and computer security. The best way is not to give any information in
26
Chapter 2. Identity, Privacy, and Security in Mobile Cloud Computing
order to protect privacy. However, in many cases users are often asked to give some
and services. Researchers have also put efforts to address issues raised above.
control models, and attribute-based encryption are deployed to protect users' data.
Chapter 3 and Chapter 4 details those technologies and gives a literature review
over the Internet. It includes two aspects: 1) the users should have the control of
giving data access consents about their personal information to any authorized
entities (i.e. it determines who can access the data) and 2) the control of how the
published guidelines on the protection of privacy and trans border flows of personal
data [47]. The guidelines have been used to derive privacy laws governing the use
any such data should have limits. And the collection means should be
lawful and fair, and, where appropriate, with the knowledge or consent
27
Chapter 2. Identity, Privacy, and Security in Mobile Cloud Computing
of use, and the extent for those purposes should be accurate, complete
collection should be specified earlier than the time of data collection and
others as are not incompatible with those purpose and as are specified on
available or otherwise used for the purpose other than those specified at
the collection time, except with the consent of the data subject or by the
authority of law.
nature of personal data, and the main purpose of their user, as well as the
28
Chapter 2. Identity, Privacy, and Security in Mobile Cloud Computing
amended.
stated above.
Accountability Act (HIPAA) in 1996 [48]. The act addresses the security and
privacy issues of health data. The European Union (EU) published the Data
Protection Directive which regulates the processing of personal data within the EU.
It defines that personal data can only be gathered legally under strict conditions for
information must protect it from misuse and must respect certain rights of the data
29
Chapter 2. Identity, Privacy, and Security in Mobile Cloud Computing
owners which are given in the EU law [49, 50]. In 2013, the European Commission
data which is aimed at strengthening individual rights and tackling the challenges of
This section examines the current technology building blocks and standards for
place via wireless medium. Similar to Ethernet, three key aspects of information
accessible when it is required. It ensures that the system work promptly and the
30
Chapter 2. Identity, Privacy, and Security in Mobile Cloud Computing
participant. A party cannot deny receiving a request and the other party cannot deny
are accountable.
The concepts listed above are necessary requirements for any security
frameworks. These concepts help to protect the information systems from attacks.
authentication, authorization and access control etc. Various security techniques are
used for these services such as cryptography, digital signatures [53], Transport
(SAML) [13].
should not be revealed to any other parties except the intended recipient. Prior to the
the important areas in cryptographic technologies. The message which contains the
fully readable information is called plaintext. The encryption process is used for
31
Chapter 2. Identity, Privacy, and Security in Mobile Cloud Computing
encryption process. A key is required for both encryption and decryption to perform
revealed to any other third party. The key normally is a special numerical value
categories: the secret key technology and the public key technology. In the secret
key cryptography, the sender and receiver use the same key for encryption and
decryption. Therefore, the key is shared as a secret by the two ends but is blind to
the outer world. Different from the secret key cryptography, the public key
cryptography has a pair of keys, a private key and a public key. The public key is
open to any one while the private key is only known to the key holder. Either key of
the key pair can be applied for encryption, but only the other key of the same key
pair can do the decryption. Based on these two main technologies, several known
also refers to the secret key cryptography. The secret key can be a number, a word
or a string of random letters. The information system takes as input a secret key to
the encryption algorithm with the plaintext to generate the ciphertext. Figure 2.2
32
Chapter 2. Identity, Privacy, and Security in Mobile Cloud Computing
depicts the work flow of the symmetric cryptographic mechanism. There are two
commonly used types of symmetric encryption algorithms that are listed below:
Block ciphers takes as input a block of data and encrypt them as a single unit
with a key. Blocks of 64 or 128 bits have been widely used. Such algorithms are
Stream ciphers encrypt the digits (typically bytes) of a message one at a time.
In symmetric cryptography, securely exchanging the secret keys over the Internet
or public domains is a critical issue. Users have to prevent from sending them to
33
Chapter 2. Identity, Privacy, and Security in Mobile Cloud Computing
public key cryptography. Instead of using pre-shared secret keys, every user must
have a key pair. The key pair consists of two keys: a private key and a public key.
Both the private and public keys are generated or acquired by owner of the key
pair. The public key is publicly available and can be used for encryption,
verification of a digital signature (digital signature will be discussed in the next sub
section). The private key is secured at the owner and is kept as a secret. In a public
key scenario, a sender encrypts a message with the recipient‟s public key. The
receiver who holds the corresponding private key can decrypt the message. Figure
There are several existing asymmetric encryption algorithms, the EI Gamal [58]
and Rivest-Shamir-Adleman (RSA) [59] are the most widely used public key
schemes.
34
Chapter 2. Identity, Privacy, and Security in Mobile Cloud Computing
In digital signature scheme, a message is signed by the sender using the private key.
The recipient can verify the signature using the sender‟s public key. The digital
signature scheme gives an evidence for a recipient to believe that the message was
sent by a known sender. The sender cannot deny the fact of having sent a message.
function which maps any length of data input into a fixed length output. Given a
One-way property: H(x) is easy to compute h with any given input x, however
Strong collision resistance: It is hard to find any pair (x, y) to compute such that
H(x) = H(y).
keys can be verified based on the hash values of them. It greatly helps for data
35
Chapter 2. Identity, Privacy, and Security in Mobile Cloud Computing
validation with data privacy. Secure Hash Algorithm (SHA) is a hash algorithm and
it was developed in 1993. The cryptography hash algorithm SHA-1 was published
in 1995 with a maximum input length 264 bits and outputs a 160 bit message
digest[62]. However, a successful attack on SHA-1 was reported in 2005 [63] and
in order to avoid these problems, more advanced algorithms such as SHA-2 and
The Transport Layer Security and its predecessor, Secure Sockets Layer (SSL), are
over the Internet [64]. It secures the communication channels above the IP layer and
(normally is a Web browser and a Web server) to exchange data over public
domains. Data confidentiality and integrity are ensured. The latest version of TLS is
36
Chapter 2. Identity, Privacy, and Security in Mobile Cloud Computing
structured data. It enables users to define their own tags in XML document and is
widely used for business data share and exchanging in different domains. XML
parser is a software program that checks the syntax of the XML document and
XML parser firstly checks whether the document is well formed, the term of
well-formed means satisfy all XML syntax rules. Then the parser will check
whether the document is Valid, which means satisfied semantic rules that are in
SOAP envelope. The envelope contains two main regions such as the SOAP
Header and SOAP Body. The SOAP Header contains information about the
SOAP message and the SOAP Body contains the message payload.
37
Chapter 2. Identity, Privacy, and Security in Mobile Cloud Computing
authorization information between two Web service domains. There are four key
SAML 1.0 was first adopted as a Web standard by OASIS in 2002 [66]. After
several revisions, in 2005, SAML 2.0 was announced [67]. It has been widely
SAML protocol messages are transported within the SOAP body and SAML
response has SAML status and one or more assertions. The assertion consists of one
widely used in federated environment because it enables the functionality that users
in another domain.
38
2.4 Summary
some static user attributes may be gathered by the service provider. However, in
mobile Cloud environment, not only static attributes but also dynamic user
attributes such as location records and user behavior are collected by the service
providers. Hence, this new notion adds various new threats to the user privacy.
modify the security concepts to cope with the emerging mobile application trend. In
enough for securing data and service transactions. Even though, smart mobile
devices can use these security features, these is a necessary to develop new
environments.
Due to the nature of mobile Cloud environments, service providers are now
collecting much more sensitive information about the user with or without their
consents. Users should have full control over their own data. Security technologies
such as access control, and cryptography should enable the users to disclose
personal data based on their preferences. The existing technologies are able to
secure data transaction and confidentiality, but they cannot cover such new privacy
39
Chapter 2. Identity, Privacy, and Security in Mobile Cloud Computing
40
3 Identity Management Systems
grow, so does the number of digital identities. To help protect digital identities, a
issues of identity protection and identity management. These proposed systems are
and federation which are implemented today by most of the identity management
the above identity management systems and literature review is given in Section
41
Chapter 3. Identity Management Systems
Different online services may be hosted by different service providers. Users have
different the Cloud services. SSO is a technology that lets users authenticate to a
single authentication authority once so that they can access all authentication
environment. Therefore, one login action enables user access to all the permitted
SSO provides convenience to both the user and service provide. Users do not have
to memorize many usernames and passwords and at the same time, it also reduces
domains. A user of one domain can securely access data or services seamlessly
attributes etc. The credential includes the user identity and security information.
The user identity is known as a federated identity. It is used in order to permit the
user to gain access across different domains which are covered by the same
authentication server using the same identity. The authentication server is named as
42
Chapter 3. Identity Management Systems
SSO not only provides convenience to traditional PC users in the past, but also
system, the users can access multiple websites using a single set of credentials.
Passport user gives permission to the Passport server to the Passport account
name, last name, date of birth, etc. The sites deploying Passport services are called
authentication server.
.NET Passport frees the user from multiple registrations and memorizing
passwords. The following figure explains how the Passport system works.
43
Chapter 3. Identity Management Systems
(1) User requests resources from a Passport participating site via the
browser
(2) The participating site generates a Passport object and forward to the
(3) If there are any existing cookies, the page loads with a sign-out link and
(4) The user clicks the sign-in link to start the authentication process. The
page then redirects to the .NET Passport sign-in page. The user‟s
44
Chapter 3. Identity Management Systems
participating site ID, the return URL to the participating site after
authentication
(5) .NET Passport Server checks the validity of the participating site ID
ID and the Passport profile and then forwards these data to the user‟s
(7) The browser redirects the page to the participating site with the
encrypted cookies
(8) The Passport Manager authenticate the cookies and grant access to the
.NET Passport is a SSO mechanism for systems that are connected over the
mobile browsers, such as Safari and Chrome are designed with many important
not a suitable for mobile Cloud environment because of its browser-based feature
provider of the OpenID framework [69]. The users of .NET Passport system are
allowed to access any web sites that are covered by the OpenID authentication.
45
Chapter 3. Identity Management Systems
After this planned implementation in 2009, there is no further update for .NET
Passport [70].
and organizations representing leaders in IT, government, and finance from across
management. The vision of the Liberty alliance is to establish privacy and security
standards bodies with an eye toward adopting or extending other specifications [71].
From the mid of 2009, the work of the Liberty Alliance project has been to
contribute to the Kantara Initiative [72]. Figure 3.2 depict the abstract view of the
Liberty architecture.
46
Chapter 3. Identity Management Systems
sign-on to a domain once from any device and then access to the partner Web sites
and mobile devices [73]. It provides approaches for implementing federation and
SSO.
services. It contains a set of specifications for creating, using and updating various
aspects of identities. The ID-WSF also presents security functions for privacy
protection.
Liberty Alliance is based on the notation of „trust circles‟ which are formed
47
Chapter 3. Identity Management Systems
service providers. The assertion consists of the name identifier of the user for
service providers to identify the user. The authentication server uses distinct
identifiers for each user with different service providers. Figure 3.3 describes the
The Liberty Alliance supports SSO and use SAML token for authentication.
Using SAML also enable it to bring attributes within the communication messages.
However, it does not support attribute exchange which is critical in mobile Cloud
environments.
3.4 OpenID
supports Web SSO to multiple sites using a single digital identity [76]. The OpenID
framework was announced in 2005. An OpenID user can create an account with a
preferred OpenID identity provider and then use the account for signing into any
sites which accepts OpenID authentication. There are three main actors under the
48
Chapter 3. Identity Management Systems
OpenID framework: the user, the Relying Party (RP), and the Identity Provider
(IdP). The RP is always known as the service provider from which the user requests
services.
process. They are theOpenID provider (OP), which stands for the identity provider;
the Relying Party (RP) which is also called service provider and the user. Assuming
that the OP and the RP has an existing trust relationship. OP has a trusted list of RPs.
In the OpenID model, the users only need to have the identity and password details.
49
Chapter 3. Identity Management Systems
(1) User requests to login into the RP and submits the credential
(3) User enters the password into the field on the OP‟s page
(4) If the user‟s credential is verified, OP redirects RP‟s page to the user
OpenID users can choose a trustworthy OpenID server to register their OpenID
parses the URL and will get the OP‟s address “openidserver.com” and the user‟s
identity “yourname”. Then the RP can redirect the OP to the user for authentication.
The authentication process will make use of the identity “yourname” and the user
will inputs the password. If the authentication is successful, OP will redirect RP‟s
page to the user. In the whole process, user is not required to reveal the password to
the RP which protects the privacy [77]. However, limitations are discussed in [78]
that OP only uses one password to authenticate the user which is not secure enough.
mechanism and it utilizes the cookies which is not suitable for the mobile Cloud
environment.
There are two main versions of OpenID specification: OpenID 1.1 [79] and
OpenID 2.0 [38]. The 2.0 version is compatible with the 1.1 version. OpenID has
been largely adopted with one billion accounts and nine million sites enabling
50
Chapter 3. Identity Management Systems
3.5 Higgins
active client.
Higgins provides a Personal Data Service (PDS) that let each user control how
their personal data is shared with friends and organizations they trust. A PDS is a
Cloud-based service that works on behalf of a user, the individual. It gives the user
a central point of control for his personal information. The user‟s interests, contact
personal data. A PDS is a place where a user establishes bi-directional data flows
between external businesses and his PDS, or between a trust recipient‟s PDS and
Higgins uses the concept of cards to store information between the user and the
other entity. The entity can be either a service provider or a person. In Figure 3.5,
the cards shown in green represent a relationship between the user and an external
shares and synchronizes a set of attributes between the site and the user‟s PDS.
51
Chapter 3. Identity Management Systems
The profile shown in brown circle represents a relationship between the user
and another person. The relationship includes a bi-directional data connection that
The blue box shown as AddOn App is a built-in app or extension app which has
access to the local storage and update, add value to what‟s available irrespective of
The local storage for data storage holds user‟s data using the vocabularies of
the Higgins‟ Persona Data Model 2.0. It exposes these data to the Portal or a
manner. A card is established for the user to control the data release to a preferred
recipient. However, there are some limitations of Higgins. Although the client
52
Chapter 3. Identity Management Systems
apps are design as browser-based or a stand-alone client app, they cannot run
Cloud environment.
3.6 OAuth
access to personal information (e.g. user attributes, photos, location records) stored
Briefly, it allows a user, to grant access to your private resources on one site to
another site. While OpenID in Section 2.6.2 is about using a single identity to sign
into many sites, OAuth is about giving access to your stuff without sharing your
(4) Authorization Server: refers to the server that issues an access token
authorization.
53
Chapter 3. Identity Management Systems
OAuth 2.0 [82] was published in 2011 and many IT leading enterprises such as
Facebook, Google, LinkedIn are on the list of OAuth service providers. Recall the
Instagram access to personal data of his Facebook account. It is easy to use and
saves plenty of time for the user. An OAuth user can freely choose which service
provider can obtain the authorization to his personal content from the hosting site,
but also define which part of data and time period that the requesting service
provider can access. Your identity credentials such as password and username will
not be revealed to the requesting services party. Hence user‟s privacy is partially
protected.
The following Figure 3.6 depicts the work flow of the OAuth protocol.
54
Chapter 3. Identity Management Systems
Although, OAuth limits new sites from obtaining all of user data and selling it
against your will, it cannot prevent abuse of user‟s personal data. One of the largest
OAuth implementation is Facebook which shares user‟s data with business partners.
Those third-party applications in the App Store of Facebook have the rights to
request access to personal data such as a user‟s friendship details, email address,
education history, hometown etc. These settings make the user‟s privacy under
threat. If one or more service providers combine their data together, the user will be
Table 3.1 gives the results of comparison, where √refers to supported and ×refers
to not supported.
Attribute SAML
Type SSO
Exchange Tokens
.NET
Redirect-based √ √ ×
Passport
The Liberty
Redirect-based √ × √
Alliance
OpenID Redirect-based √ √ ×
55
Chapter 3. Identity Management Systems
Higgins Client-based √ √ √
OAuth Redirect-based × √ ×
information related to users and process [83]. The private and sensitive data not
only contain identity information, but also contain privacy information. The
Sun and Yan proposed a generic and flexible solution based on Cloud computing
technologies. However, they did not consider the privacy protection. Authors [85]
users to do further actions based on the requests, and this framework did not
56
Chapter 3. Identity Management Systems
For a smartphone user, the GPS sensor can capture the real-time location data, the
camera can be used to recognize a person's face etc. Thus, lots of contextual data
can be used to identity a user [83]. Paruchuri and Chellappan [86] proposed an
architecture using the sensor data from the smartphone to generate the context and
identify the user to the outside world. Various context information such as location,
phone call history, Web browser history etc. are used to identify the user. However,
their architecture is built and ran on a mobile device, thus it cannot work in a
proposed platform: agent, middleware and Cloud service providers. The agent
information as a user profile. The profile also contains user's preferences. Thus, a
user can initially control the data and specify the object that he wants to reveal his
Cloud service providers. The proposed platform protects users' identity when
authentication with a Cloud service provider, but it does not protect user's online
data.
57
Chapter 3. Identity Management Systems
However, their work did not help the user to protect online personal data.
Since the context information is collected from the mobile devices based on the
users' behavior, user-centric model is investigated to solve the security and privacy
issues for mobile users. The user-centric model enables user control their own data
and activities with strong privacy and security protection [89]. Cloud resources
approach using smartcard. In their approach, users' attributes are stored in the
smartcard, thus, a user can control the release of his attributes. However, a user has
inconvenience and increase the possibility of identity theft if the smartcard is lost.
complex interactions among different contextual entities. Thus, the system can
process and deal with different contexts obtained from different domains around a
user. Their work strengthens the user-centric model by managing contexts from
different providers for the user. Authors in [92] presented an approach empowering
end-users to tailor their mobile applications according to their privacy needs. They
mobile Cloud applications. However, their evaluation results are based on specific
application they developed. The compatibility with existing mobile Cloud apps is
unsolved.
58
Chapter 3. Identity Management Systems
researchers investigated a new approach to identify the user based on the user
behaviors. The user's context data on a smartphone such as call history, location
records, app usage etc. indicates the user's normal activities. By profiling such
activities, frauds can be detected [93].Lee and Song proposed a model to analyze
studied the core issues of privacy and then tested conventional theories for the
context in online social network. They contributed to describe the privacy issues
for online social network applications and their proposed model can serve as a
networks. Their research was an ongoing project, and did not consider the privacy
studying call activity and mobility patterns, they classified the behaviors that
exhibit similar characteristics. The data recorded by cell-towers were also used to
analyze the mobility of mobile phone users. Their experimental results showed
that the proposed methods can be used to predict events and actions that are
possible to happen if some specific circumstances exist. Their research moves one
step forward for detecting users' behaviors. Such evidences can be used to identify
a mobile user. Lathiaet al.[96] presented a platform which is called UBhave, the
UBhave is a project that aims to investigate the power and challenge of using
mobile phones for digital behavior change interventions. Data is collected from
smart mobile devices and user's online social networks activity. By developing
tools to visualize the sequential use of the various interventions over time, the
59
Chapter 3. Identity Management Systems
overview of user's behaviors can be provided. The analysis of large data set from
the user, the system can be used to promote positive behavior changes. However,
the platform still has issues for the energy constrains at the smart mobile devices.
Furthermore, the privacy concerns when collection data from a mobile user is still
unsolved.
60
3.8 Conclusion
The .NET Passport, Liberty Alliance, OpenID, and Higgins identity management
systems provide the SSO architecture for users‟ convenience when accessing
multiple Web sites in a Web browser. However, such identity management systems
do not have a proper client in mobile platforms which is not suitable for mobile
and powerful privacy protection scheme that users have the ability to choose the
recipient of his personal data. But it cannot protect the data from abuse by the
hosting service provider. The requirements of mobile Cloud user should not only
Based on the study of the above identity management system and recent
storage which stores all his personal data. A privacy-preserving mechanism should
identity management systems can protect user‟s identity from potential attacks, but
naturally they do not consider the privacy protection and thus lack mechanisms to
access on user‟s online data and using novel cryptographic technologies to satisfy
fine-grained way.
61
4 Access Control Technologies
leaked to various unknown service providers. Users do not have control over the
data collected by the service providers and this may eventually breach the user
processing and secondary use. Hence, it is necessary to set up a data access control
mechanism so that users‟ data can be protected from being abused. There are three
main solutions that can be explored to protect the privacy of the user's data: (1)
technique to control usage of user data and (3) storing data in the encrypted form.
This chapter reviews the current main access control models, privacy protection
languages, and encryption schemes, and then discusses the possible solutions to
models and the privacy-preserving languages are examined in Section 4.3. Section
62
Chapter 4. Privacy and Privacy-Preserving Technologies
Most of the time, users want to safeguard the information that may be harmful or
embarrassing. Thus, the notion of privacy and the notion of control fit together[97].
place or other resources. In the information engineering, the access may mean
certain operation (such as Read, Write, Share and Delete) on the resources, or
the years of research carried out over the past decades, several access control
In any access control model, the entities that can perform actions in the system
are called subjects, while the entities which are representing the resources to which
access may be controlled are called objects. In a computer information system, both
subjects and objects should be considered as software entities rather than human
users. Human users may only perform actions on the system via the software
entities which are controlled by them. In most of the current information systems,
The models that are used by the existing systems are classified into two types,
the capability based model and the access control lists (ACL) based model[98]. In a
capability based model, the subjects will be granted access to any objects based on
of your car key grants you access to your car. Such a capability will be transmitted
63
Chapter 4. Privacy and Privacy-Preserving Technologies
to another party in order to convey the access. The Plessey System 250 was built in
based model. The mechanism is different in the ACL based model. The system
permission list which is associated with the objects. For example, the security staff
invitation list. Access is conveyed by editing the list. For computer networking, an
access control list refers to rules that are applied to port numbers that are available
on a host, each with a list of hosts that are permitted to use the services.
The capability based model and the ACL based model have the features to
grant access to group members. Such as the doctors in the same department will
have the same access privileges. In a higher level of control, users are assigned with
a user ID. All the processes started by the same user ID have the privileges
corresponding to the user ID. This level of control is still not fine-grained enough.
A doctor has the access to modify any patient‟s records in a department. However,
to a history of records, the system should define the access policy so that they won‟t
four main access control models which are categorized as either discretionary or
The Discretionary Access Control (DAC) [101] criteria was defined as follows:
64
Chapter 4. Privacy and Privacy-Preserving Technologies
groups to which they belong. The controls are discretionary in the sense that a
The DAC mechanism restricts access to objects based solely on the identity of
subjects who are trying to access them. The user may also be restricted to a subset
of the possible access types (e.g. read, write, execute) available for the protected
resources. Typically, a particular user or set of users have the authority to distribute
and revoke the access to an object, which means a particular user with certain
access permission can pass the permission on to any other subject without notifying
The first general model of DAC was proposed by Lampson in 1972 [102].
With several years of research, the DAC mechanism is widely used in variety of
of its flexibility. In most of the operating systems, such as Windows, Linux, and
Macintosh are based on DAC model[103]. If a user creates a file in one of these
operating systems, he/she can decide the access privileges he/she wants to give to
other users. Then the operating system will make access decisions based on the
access privileges define by the user. However, the DAC mechanism has drawbacks.
For the issue of distributing permission, the particular user cannot provide real
assurance on the information flow in a system. A user who has the access to read
certain data may pass the permission to another user which are not cognizant by the
data owner [100]. The data owner loses the control of the usage of data after
65
Chapter 4. Privacy and Privacy-Preserving Technologies
sending it to the user. Most of the proposed designs of DAC [104-107]are not
model, a user will be granted access to a resource only if rules exist that allows the
user to access the resource. Subjects and objects have a set of security attributes.
by the system, and examines the provided security attributes. A decision will be
ManAC mechanism for the UNIX file system. In this mechanism, all files have a
set of attributes. File attributes consist of name, owner, owning group, access
permissions and modification times of a file, and etc. The operating system uses
some of these attributes to enforce DAC. DAC allows the owners of files to
determine who can access their files by defining DAC access policies. Rjaibi and
administrator to define labels and to set up a database table such that access to a
row in that table is based upon the label associated with that row and the label
associated with the user accessing that row. ManAC are mostly deployed in
66
Chapter 4. Privacy and Privacy-Preserving Technologies
extended XML document model to include label information and define new rules
to satisfy this extended model. An extra XML file contains security labels and
permitted actions are defined. Each request has to satisfy the requirements in the
extra XML files. Authors in [111] presented a ManAC mechanism for mobile
trusted computing base. All requests from each subject to objects are enforced by
the access control mechanism based on policies. Thus, mobile devices were not
required to be involved in the access control process. This model moved a step
forward for access control in mobile environment at that time. However, it is out
system, ManAC can also be applied. The objects are tables, views, procedures, etc
[112] and the subject is the user. The root user (the administrator) defines access
rules for each user and the data consent for user is granted based on the rules.
policies. Users do not have the ability to override the policy, which is contrast to the
DAC mechanism that a subject has the ability to make access decisions and/or
assign security attributes. In real world, almost all UNIX-like operating systems
FreeBSD[114].
67
Chapter 4. Privacy and Privacy-Preserving Technologies
authorized users [115, 116]. It is largely adopted in majority of the enterprises and
organizations with more than 500 employees which require multi-level security
[117].
Within an enterprise or organization, roles are created for various job functions,
associated with the roles. Users are made members of appropriate roles, and
permissions to certain resources are acquired through the role assignments. The
users do not have the access to the resources but only request permission through
their roles. This greatly simplifies the management of permissions. There are
permission.
Role Authorization: A subject‟s active role must be authorized for the subject.
This ensures that users can only use roles for which they are authorized.
permissions are authorized for the subject‟s active role. This rule ensures that users
are controlled by the system not users. RBAC differs from ManAC that is the
68
Chapter 4. Privacy and Privacy-Preserving Technologies
write) based on a user‟s security attributes. While in RBAC, the system controls
RBAC can be viewed as a set of permissions. Figure 4.1 depicts a standard RBAC
model and Figure 4.2 shows an example of the RBAC role hierarchy.
69
Chapter 4. Privacy and Privacy-Preserving Technologies
Researchers have done many works to improve the RBAC model. Elisa
addresses temporal issues related to RBAC. Coyne and Weil proposed a model
(INCITs) Cyber Security 1.1. The model implemented the access control mapping
spatially aware RBAC model which involves location-based services. Their work
extends the RBAC model to deal with spatial and location-based information.
Sejong Oh and Seog Park [121] proposed a task-RBAC model which was founded
on the concept of classification of tasks. The task model deals with each task
differently according to its class, and supports task level access control and
70
Chapter 4. Privacy and Privacy-Preserving Technologies
aware RBAC model. Their approach extended the RBAC services to the
enforcement of context constrain. The new requirements for the RBAC can be
attributes of the user, not based on the rights of the subject associated with a user
after authentication. Unlike RBAC, the ABAC model can define permissions based
make use of additional resource attributes is suitable for mobile Cloud environment.
Attributes such as location, time, date, IMEI number, OS version of a mobile device
71
Chapter 4. Privacy and Privacy-Preserving Technologies
can strengthen the security level of data transactions and provide more evidence to
the system to make access decisions. Therefore, ABAC can provide a more flexible
and complex access control solution. Due to the mobility of a mobile user, such
contextual attributes keep changing. Traditional access control model cannot utilize
object and environment make ABAC provide a more fine-grained way than
ManAC and RBAC are initially designed for access control management within a
single domain, which is not suitable for mobile Cloud environment because of the
Attributes are the set of properties that may be associated with a given entity.
the related attributes, which are established by digitally signed credentials through
which credential issuers assert their judgments about the attributes of entities.
Because these digital credentials are signed, they can serve to introduce strangers to
one another without on-line contract with attribute authorities [130]. Three types of
The attributes associated with a subject define the identity and characteristics of the
72
Chapter 4. Privacy and Privacy-Preserving Technologies
which the access request taken place. Such as time, location, data, operating system
(OS) .etc. The environment attributes are not associated with a subject or an object.
Researchers [128, 130,131] have addressed the issues for deploying ABAC in
the Web service architecture. In [84], Bo Lang and Ian Foster et al. presented an
ABAC model to address privacy issues for Grid Computing. They also provided a
toolkit that is called Globus Toolkit release 4 to implement the framework. Bobba
message system [132]. A location aware ABAC system is presented by Isabel et al.
to extend ABAC with dynamic authorizations. Lanjing Wang and Baoyi Wang
They presented meta-attribute and meta-policy to describe the attributes and polices
in local domain to collaborate with other domains. ABAC is an ideal access control
model for mobile environments, and several solutions have been proposed to
73
Chapter 4. Privacy and Privacy-Preserving Technologies
In order to address the issues in the privacy practices, different types of languages
are available to represent the human readable policies in more precise and computer
compatible formats [138]. Some languages are designed to help enterprises express
their privacy policies in ways that are more amenable to policy enforcement and
some languages are designed to help users define their privacy preferences.
Privacy policy languages can help with several of the stages involved in
withdrawing). They were designed to express the privacy controls that both
organizations and users want to express. Most of the privacy policy languages
were designed for specific purposes with specific features and characteristics and
most of the initiatives for designing these languages have occurred in the last fifteen
years. The W3C began the development of the Platform for Privacy Preferences
industry made IBM design the Enterprise Privacy Authorization Language (EPAL)
in 2003[140]. And during the same period, the OASIS presented the eXtensible
Access Control Language (XACML) for both privacy and security policies in a
The privacy policy languages are expected to be fairly simple and small.
Therefore they have been designed as light-weight XML markup languages. They
74
Chapter 4. Privacy and Privacy-Preserving Technologies
flow controls. The next three sections will briefly discuss three main privacy policy
languages.
to grant users more control over their personal information when browsing the Web.
The P3P user agent allow users to automatically be informed of site privacy
practices [143]. Thus, the P3P Preference Exchange Language (APPEL) was
A P3P-enabled website will have a set of policies, e.g. stating the uses of
personal information that is gathered from the site visitors. With a P3P-enabled
Web browser, a P3P user can also define a set of policies, e.g. what personal
information can be revealed to the Web sites that they visited. Then when a user
visits a site, P3P will compare what personal information the user is willing to
release, and what personal information the server wants to get. If the two do not
match, P3P will inform the user and ask if he/she is willing to proceed to site and
Although P3P provides the support for privacy for Web sites, the Electronic
Privacy Information Centre (EPIC) has criticised P3P, referred to the technology as
a “Pretty Poor Policy” [145]. They claim that P3P software is not suitable for
75
Chapter 4. Privacy and Privacy-Preserving Technologies
Internet users are likely to be unable to use the default P3P software. Furthermore,
the P3P framework is not initially designed for supporting Web privacy. In the
privacy authorization for actual enforcement within an intra- or inter- enterprise for
obligation is usually an action that some agent is required to perform in the future
which controls the purpose of data usage after sending to the requesters. The EPAL
framework does not consider the privacy for the Web application which is the
The Extensible Access Control Markup Language (XACML) was formed by the
76
Chapter 4. Privacy and Privacy-Preserving Technologies
associated with an entity will be embedded into a XACML access request, while the
access decision is made depending on whether the access requester satisfies the
XACML policy.
The XACML access control framework contains four key main components:
the Policy Administration Point (PAP), the Policy Decision Point (PDP), the Policy
access requests into the native request format of the XACML canonical form and
convert the authorization decisions in the XACML canonical form to the native
response format. Any required obligations should be performed by PEP with the
Figure 4.3 depicts the data flow of the standard XACML frameworks. The
77
Chapter 4. Privacy and Privacy-Preserving Technologies
(1) PAPs prepare and write the policies and policy sets to be available to
the PDP. These policies and policy sets represent the complete policy
78
Chapter 4. Privacy and Privacy-Preserving Technologies
(3) The PEP sends the request for access to the context handler, in its
(4) The context handler constructs an XACML request context and sends
it to the PDP.
(5) If additional attributes are required, the PDP will request them from
(6) If the additional attributes request received from the PDP, the context
(7) The PIP obtains the requested additional attributes from subjects,
(8) The PIP returns the requested attributes to the context handler.
(9) The context handler can decide whether to include the resource in the
context.
(10) The PDP evaluate the policy after receiving the requested attributes
(11) The PDP sends the response context and access decision to the
context handler.
(12) The context handler forwards the response context to the PEP after
79
Chapter 4. Privacy and Privacy-Preserving Technologies
(14) If access is permitted, the PEP permits the access; otherwise, it denies
access.
Based on the flow, the PDP has no control over the enforcement of the policy
decision. This model for access control depends on having every request for
protected resources go through PEP, which isresponsible for all enforcements. The
built into the application or the platform on which the application is built.
XACML, vocabulary terms are called attributes, and are defined by the particular
applications or domains that use policies – they are domain-specific. The PDP does
policy; it needs to understand only how to determine whether the values supplied
for each attribute in an authorization decision request satisfy the conditions for
access specified resource in the policy. In order to do this, the PDP needs to know
only a unique identifier for the Attribute and the generic data type of the values for
items. This means assigning a unique identifier for the item, the data type of the
values for that item, and the meaning of each value that might be used for that item.
The meaning of the values is not used by the PDP, however, and is significant
80
Chapter 4. Privacy and Privacy-Preserving Technologies
domain-specific. The policy language may itself define some standard Attributes
XACML was largely adopted after being presented in 2002 [149]. Compared
with EPAL, the functionality of XACML 2.0 is a superset of EPAL 1.2. The EPAL
differences often result in less functionality than XACML has [150]. XACML is
supports both general access control and privacy policies, allowing these closely
control policy language than EPAL, and a full- featured privacy policy language.
XACML has already been an OASIS approved standard. With the support of many
issue comes, the researchers can react quickly to address them. There is an active
community of users and developers who are continuing to expand improve, and
apply the language [151] which gives a powerful and long life to XACML.
Many scientific research works have been done to address issues in the Internet
privacy protection field. Claudio extended the XACML architecture and modules
(WS-Policy Constraints) [152]. Vivyinget al. extended the XACML with policy
introduced a policy negotiation point. Their work addressed issues in the access
81
Chapter 4. Privacy and Privacy-Preserving Technologies
Since XACML provides the support for integrating SAML standard [154], the
access control [155]. Their extensions allow the requester to learn which attributes
Management systems [156]. Nils and Vladimir describes a location aware access
separations on duty constraints (both static and dynamic) can be implemented. The
work provides location dependent access control and security enhancing solutions
introduce a mapping function and assign a unique ID for the mobile users. An
authorization process.
82
Chapter 4. Privacy and Privacy-Preserving Technologies
flows must be formatted in the XACML format, it provides huge convenience for
access control that the user can easily define polices to protect data. Such features
can help mobile users to protect their privacy in mobile Cloud environments. In the
next section, another approach to protect users‟ data in mobile Cloud environments
is investigated.
mobile Cloud environment is by storing the data in the encrypted form, thus
minimizing the risk. However, data sharing is one of the most important features of
and cannot efficiently satisfy the user‟s online data sharing requirements.
Encrypting the data in the Cloud alleviates the above problem [159]. Thus, if
the servers which store the data are compromised, the amount of lost information is
limited because the adversary does not have the decryption key to obtain the data in
the plain text. In a traditional public key encryption method, data is encrypted by a
particular individual who has already established a public-private key pair. The
selectively share their encrypted data at a fine-grained level, e.g. a patient wants to
medical records. This can be done by either encrypting the file in a shared group
public key, or encrypting the file for each doctor. None of these techniques is
83
Chapter 4. Privacy and Privacy-Preserving Technologies
is a type of public-key encryption scheme in which the key of a user and the
owner encrypts the data by using several attributes. A decryptor can decrypt the
data only if his/her attributes matches the required attributes. Figure 4.4 shows the
Sahai and Waters made some initial steps to solve this problem for expressing
access polices during encryption. In their system, user‟s key and ciphertexts are
84
Chapter 4. Privacy and Privacy-Preserving Technologies
labelled with sets of descriptive attributes and a particular key can decrypt a
particular ciphertext only if there is a match between the attributes of the ciphertext
and the user‟s key. An authority with access to the master keys will issue different
private keys to users, where a user‟s private key is associated with an access
structure over attributes and reflects the access policy. The decryption algorithm
allows users to decrypt data using their private keys as long as their access policy
The original ABE construction of Sahai and Waters allows, the authority to
issue the private key based on threshold access policy. In order to decrypt the data,
This primitive feature limits the expressibility of the access policy. For instance, the
≤ n. The data owner encrypts the file with k number of attributes enforced. When a
user requests a decryption key for the file, the attribute authority issues a private
key for the user with dk number of attributes. Only if k ≤ dk, the user can decrypt the
requested file. Sahai and Water‟s model cannot define more complex access
policies, two main extensions of original ABE scheme were proposed afterwards:
85
Chapter 4. Privacy and Privacy-Preserving Technologies
In 2007, Goyal and Pandey [159] developed a richer type of ABE cryptosystem and
encryptor with a set of descriptive attributes. Each private key is associated with an
access structure that specifies which type of ciphertexts the key can decrypt. This
access structure is specified in the private key while the ciphertexts are simply
access control to facilitate granting differential access rights to a set of users and
allow flexibility in specifying access rights of individual users. The data is stored on
the server in an encrypted form; different users are allowed to decrypt the data
In the ABE scheme, the access policy scheme is based on the secret-sharing
parities, they can reconstruct the secret by using their shares. If there are less than t
number of parties, they cannot get any information about the secret. Benaloh [162]
extended Shamir‟s idea to a tree-access structure. The tree consists of threshold and
the interior nodes consist of AND and OR gates. The leafs consist of different
parties. Any set of parties that satisfy the tree can reconstruct the secret together.
Goyal and Pandey proposed a new secret sharing scheme that each private key is
associated with a tree-access structure where the leafs are associated with attributes.
86
Chapter 4. Privacy and Privacy-Preserving Technologies
parties. The information given to a party is called a share of the secret. Every SSS
realizes some access structures that define the sets of parties who should be able to
the private key. The authority can specify a more general secret sharing scheme for
monotonic access trees. They also suggested a new ABE scheme which is discussed
in the next section. Figure 4.5 shows the work flow of KP-ABE scheme.
associated access structure over attributes. A user will only be able to decrypt the
87
Chapter 4. Privacy and Privacy-Preserving Technologies
ciphertext if that user‟s attributes pass through the ciphertext‟s access structure.
The access structures are described by a monotonic access tress, which means the
nodes of the access structure are composed of threshold values and the leaves
describe attributes. They suggest the AND gates can be constructed as n-of-n
threshold gates and OR gates as 1-of-n threshold gates. Figure 4.6 depicts a
Access Structure A’
Attribute Set T
data locally. The server is entrusted as a reference monitor that checks a user‟s
credentials before allowing him to access data. Most existing public key encryption
methods allow a party to encrypt data to a particular user, but are unable to
Both the KP-ABE and CP-ABE schemes can efficiently address this problem. A
88
Chapter 4. Privacy and Privacy-Preserving Technologies
data owner can exert control over who has access to the data he/she encrypts. All
the users who satisfy the requirements are able to decrypt the ciphertext.
There is only one authority that issues the private keys and manages all the
attributes in both the KP-ABE scheme and CP-ABE scheme making this scheme
authority. It verifies all the attributes or credentials for each user in the system and
issues private keys to the user. Therefore, it is powerful enough to get all the
drawback of the CP-ABE and KP-ABE scheme. Furthermore, since the central
authority issues private keys for all the users, if the system is built as a large and
global scale system, the authority will become a common bottleneck. If the system
spreads the central authority‟s key over several machines to alleviate performance
scheme to address the issues of a single authority ABE scheme. In reality, different
entities are responsible for maintaining different sets of information, such as Driver
and Vehicle Licensing Agency (DVLA) managing all the UK driver and vehicle
In a single authority scenario, in order to get medical and driver‟s information, there
must be at least one fully trusted authority that monitors all the information. If the
89
Chapter 4. Privacy and Privacy-Preserving Technologies
fully trusted authority is compromised, then all the sensitive data that stored at
DVLA and NHS is under risk. There is a requirement to construct an ABE model
where more than one authority can operate simultaneously, each handing out secret
scheme, the data owner has the ability to specify for each authority k a set of
attributes monitored by that authority and a number dk so that the message can be
decrypted only by a user who has at least dk number of the given attributes from
corrupted, and guarantee the security of encryption as long as the required attributes
cannot be obtained exclusively from those authorities and the central authority
remains honest. However the central authority still exists in the scheme but with
less functionality. It is stilled fully trusted but handles no attributes and only issues
For a user of Chase‟s model, he will be assigned with a global identifier (GID).
Thus, the GID can be an identifying string for which a user has provable
credentials and it seems likely that such information would be presented when users‟
attributes are verified. If two users request the private keys from two attribute
authorities, the GID enables the authorities to distinguish the two requests in order
to prevent collusion.
90
Chapter 4. Privacy and Privacy-Preserving Technologies
Each user will send his GID to the central authority and receive a
corresponding key. The central authority will not get any information about the
user‟s attributes. The central authority only issues a setup key for the user‟s GID
and holds the master secret of the system. Although the central authority does not
monitor any attributes, it still be able to decrypt any messages with the master
secret. Figure 4.7 illustrates the architecture of Chase and Chow‟s MA-ABE
scheme.
Chase‟s work[165]made a small step forward than the single authority ABE
scheme, the main drawback of CP-ABE and KP-ABE still remains with the
MA-ABE scheme [166] based on Chase‟s previous work. In the latest work, the
and better security. In the improved framework, GID is still used as the identifier of
users with same properties discussed before. Each pair of attribute authorities
would share a secret key. For each user, he/she will request secret keys from each
authority and combine them to get the decryption key. The authorities are not
allowed to communicate with each other to prevent collusion attacks. Chase and
Chow used anonymous techniques to hide the identity of users which means the
GID is now completely hidden to the attribute authorities. The authorities cannot
track user‟s attributes from the requests to identify the user and then combine their
keys together to get decryption keys of the user. It achieves the pseurandomity,
anonymity and untracebility, therefore, the privacy of the user is protected. They
also provide extensions to the basic framework, such as to support more complex
91
Chapter 4. Privacy and Privacy-Preserving Technologies
The improved Chase and Chow‟s framework provides a more practical ABE
scheme. However, the computational cost and communication overheads are high
and complex. The user has to communicate with all the authorities to obtain the
decryption key. In mobile Cloud environment, the processing power may not be
strong enough and the mobile data network may not be reliable for completing all
required communication.
system, any party can become an authority and there is no requirement for any
global coordination other than the creation of an initial set of common reference
parameters. A party can act as an authority simply by creating a public key and
92
Chapter 4. Privacy and Privacy-Preserving Technologies
issuing private keys to different users that reflect their attributes. Each authority can
function entirely independently and can join or leave freely. The central authority is
removed in the scheme. It is secure against any collusion attacks and it can process
the access policy expressed in any Boolean formula over attributes. However, their
cost.
Kan Yang and XiaohuaJia [167] designed an access control framework for
multi-authority and proposed an efficient and secure MA-ABE scheme for Cloud
storage. Their work is the first multi-authority scheme based on the CP-ABE
scheme which does not require a central authority. However, they introduce a
certificate authority which is responsible for assigning an unique identity for each
user and an authority identity for each attribute authority. The certificate authority
enforced data access control model based on MA-ABE scheme for the medical
records stored in the Cloud [168]. The patient uploads his encrypted PHI files to the
Cloud storage using KP-ABE scheme; then the doctor or nurse requests the PHI file
based on the attributes received from all the authorities. However, their proposed
records using KP-ABE scheme on mobile devices [169]. Their system allows
boundary. Each encrypted record has its own access policy. They implemented an
iPhone client application for storing and managing medical records offline.
93
Chapter 4. Privacy and Privacy-Preserving Technologies
However, their work is not suitable for the collaboration environment since it is a
captured to provide more complex policies to secure the data access control. These
attributes can be time, current location, date, IMEI number and any other contextual
attributes. Those can be derived from the local context information using the
hardware embedded within smart devices. Enforcing these attributes into the
encrypted data during the encryption can effectively reduce the risk of collusion
attack. Several works are discussed in the following paragraphs. They have
encrypting. The user can only decrypt the data when the coordinates acquired for
GPS receiver are matched with the target coordinate. Considering the inaccuracy
and inconsistency of the GPS signal, they involve a toleration distance to increase
the practicality. However, privacy-preserving and data access control were not
updates. The fading functions allow treating attributes in accordance with their rate
of change so that attributes can be updated independently from the entire private
keys. By choosing a proper fading rate, the balance of trade-offs between security
security services. Their work finds a solution for using context-related attributes
94
Chapter 4. Privacy and Privacy-Preserving Technologies
under a single domain. Xu and Martin proposed a dynamic user revocation and key
refreshing for ABE in Cloud storage [172]. In Xu and Martin‟s model, the system
can refresh the system keys or remove the access from a user without issuing new
keys to other users or re-encrypting existing ciphertexts. Therefore, the mobile user
can have a more flexible solution to protect their data and privacy in the mobile
Cloud environment.
4.3.4 Challenges
In the ABE scheme, collusion attack is the most important challenge. For example,
Sender encrypts a message with two out of three of the following attributes: doctor
Bob and Alice combine their attributes then they have two out of three required
attributes, but they should not be able to get the decryption keys to obtain the
secret for each user. So private keys issued for different users cannot be combined.
each user and can be distinguished by each authority to prove the possession of
Assuming that there are two authorities, AA1and AA2. Alice request keys for
attribute set S1 from AA1and S2 from AA2. Then Bob also requests keys for
attributes S1 for AA1 and S2 from AA2. If the authorities do not exchange
information about the two requests and Alice and Bob are identified by nothing
95
Chapter 4. Privacy and Privacy-Preserving Technologies
beyond their attributes. So from the authorities‟ point of view, the two scenarios
must be identical. By using the GID, the authorities can distinguish these two
However, using the GID may cause the system to issue the decryption keys
based on the identifier and not based on the attributes. So Chase still uses the central
authority to issue a setup key for the user‟s GID. The central authority will not
monitor any attributes; user only sends the GID to it and receives the key. Each
authority computes his own independent secret by giving away only the GID. With
the key obtained from the central authority, the user can always combine the results
to obtain the secret. The secret given by each authority is a pseudorandom secret
and only combined with the key from the central authority.
In Chase and Chow‟s improved MA-ABE scheme [166], without the adding of
additional key of the central authority, each attribute authority generates a set of
secret while issuing keys. When user receives these keys and reconstructs the secret,
the computation will use these secrets to get the summation which is equal to 1 or -1.
is an ideal solution for data security in the mobile Cloud environment, since it
96
4.4 Conclusion
in technology and the rapid use of mobile Cloud computing systems created a
system. The access control is not only for defining who is able to take actions on
resources, but also to control the purpose for which the resources were accessed. In
mobile Cloud environments, there are real-time contextual attributes which can be
derived from the context information. From this aspect, the access control model
for a mobile use case should be able to capture not only the static attributes of
related stakeholders, but also dynamic attributes to improve the security level.
considered as a node on the whole network. Those smart devices are always
provided with Internet access through Wi-Fi or 3/4G data networks. They are
two parties and also to protect the collected personally identifiable information in
the connected digital society. ABAC is a flexible, scalable, and fine-grained access
control model which has shown enormous potential in the last couple of years to
enhance the service provisioning from smart mobile handsets. Considering the
97
Chapter 4. Privacy and Privacy-Preserving Technologies
language to work with ABAC. The combination of XACML and ABAC can
security and privacy aspects in mobile Cloud environment. This chapter examined
techniques are not designed for mobile environments. The work proposed in this
thesis will combine state of the art existing access control and privacy preserving
techniques to provide a novel framework through which the personal data can be
98
5 User-Centric Attribute-Based Access Control Model
Using XACML
amount of online data via Cloud-based services such as Google services inthe
storage raises privacy issues. There is a need for user-centric approach whereby
users can control the usage of their personal data in order to mitigate privacy
important and technologies for protecting privacy are considered as vital features in
mobile Cloud-based services. Hence, in this Chapter the author proposed a general,
XACML, where user controls the privacy of personal data in the mobile Cloud
environment.
using XACML. Section 5.1 describes the architecture of the model and Section 5.2
gives details of policy evaluation process. Section 5.3 gives the security evaluation
of the proposed model followed by a case study. The proof of concept and
implementation details are given in Section 5.4. The conclusion is given the
99
Chapter 5. User-Centric Attribute-Based Access Control Model Using XACML
to secure the personal data: location, time, date, app usage etc. These attributes can
be exploited to authenticate the user who requests permission for data access. In the
provider (SP). To allow a SP to access the personal data, the user authorizes the
SP by pre-defined privacy access policies while the user is also challenged by the
system in order to verify whether he/she is the actual user who is requesting
services from the SP. An Attribute Authority (AA) which stores all the users‟ and
SPs‟ attributes for authorization is introduced. The AA is a trusted party by both the
users and SPs. By defining personal privacy access policies, users can control the
storage). Thus, the proposed model enables the mobile users to authorize the SP
with the participation of AA. By using the available context-related attributes, the
system also verifies the user to ensure it is the actual person who is requesting the
services. Compared with the current identity management systems, the proposed
run-time which is more flexible and secure in mobile Cloud environment, and
provides data access control for the mobile Cloud user to enforce access control
100
Chapter 5. User-Centric Attribute-Based Access Control Model Using XACML
In the proposed model, the users define XACML policies in order to control
the access to their personal online data. XACML is a privacy access policy
[173]. The proposed user-centric approach has five main actors: the user, the SP,
Policy Evaluation Component (PEC), the AA, and Identity Provider (IdP) as shown
in Figure 5.1.
attributes of the users and SPs. SP has to register with AA in order to provide a
service to the mobile Cloud user. AA assigns a unique Service Provider Identity
(SPId) to the SP and this identity is stored at the AA. Any attributes related to the
SP is also stored at the AA. In most of the current identity management systems, an
identity provider authenticates the users and SPs[174]. It is also introduced in the
proposed model, and it is not only responsible for authentication, but also connects
the users, SPs, and the PEC. In order to restrict access control on users' online data,
PEC is introduced to enforce access control. PEC is modified based on the standard
authentication for the user. By cooperating with AA, real-time attributes such as
location, time are used to verify the user. Therefore, the proposed model enables
User: A user is a person with a mobile device and the mobile device
101
Chapter 5. User-Centric Attribute-Based Access Control Model Using XACML
formats all the requests into XACML requests, evaluates the access
services or online data) to the user and requests user‟s data based on
the policies.
102
Chapter 5. User-Centric Attribute-Based Access Control Model Using XACML
previous chapter. In order to authorize the user, PII is used as key attributes for the
user authorization process. The U.S. Office of Management and Budget suggests
email address.
biometric data.
In some countries, people are assigned with a unique number which can be
used for identity verification. In the UK, driving licence number and National
4, the Global Identity (GID) is considered as a key attribute in the proposed model
103
Chapter 5. User-Centric Attribute-Based Access Control Model Using XACML
which stands as an identity of a user. The user is registered using the GID and other
attributes. Assuming that the GID is a secret and only the user knows the exact
The IdP and the PEC have an existing trust relationship. The user is assumed to
request data and services from the SP. The IdP can also be a federated identity
provider whereby the user can use the same identity to access any other partner sites.
The user needs to register with IdP before requesting online resource from the SP.
PEC is an online access control service, which enable users to define access control
policies for their online data. PEC can be considered as a private Cloud that
implements access control services on behalf of the user. AA is trusted by the user,
In the proposed access control model, there are several steps that needs to be
executed by both the user and the SPs in order to initialize the system.
Initially, a user needs to finish the registration process. The registration process
can be done online. The registration process includes the following steps:
(3) Define privacy access policies for his/her attributes at the PEC
After the registration, the user‟s details such as username and password will be
stored in the IdP, the data which is related to users‟ privacy is stored at the AA. For
104
Chapter 5. User-Centric Attribute-Based Access Control Model Using XACML
instance, the NI number and driving licence number are stored at the AA. With the
pre-defined XACML policy, the PEC can evaluate any access request on user‟s PII.
After the registration, the SP‟s attributes such as SPId, name, address etc. are
The main goal of proposed model is to enable mobile Cloud usersto define access
control polices on their online PII. Thus, data requesters who satisfy the access
policy can be granted access on these sensitive personal online data. Assuming all
the actors of the proposed model and any services or data provided by the system
must be available online. The workflow of the proposed model is depicted by the
Stage one: for a registered user, the first step is to login into the system via IdP.
After receiving the request, IdP starts the authentication process. If the user is
successfully authenticated, he can then request any data or services from a SP. Once
received the resource request, the SP would ask several attributes of the user in
order to deliver the resource. In a mobile environment, the user should have full
control over his online personal information. Thus, in order to protect user‟s
privacy, an access control mechanism which restricts the access on user‟s personal
105
Chapter 5. User-Centric Attribute-Based Access Control Model Using XACML
data is proposed. The SP must satisfy the privacy access policy defined by the user
in order to gain the PII data. The policies stored at the PEC are used to control the
access on user‟s data and the policy evaluation is carried out by the PEC.
Stage two: after requesting the data or services, the IdP generates a local
security context based on the request. The security context contains information of
the user, SP and the requested resources. The security context will be forwarded to
Stage three: after receiving the security context, PEC extracts information
about the user, SP and the requested resource from the security context. PEC
Step 1: Retrieve the information of the SP, query the AA for the
Step 2: Retrieve the information of the user, query the AA for the
Step 3: Evaluate the request based on the policies stored in the Policy
Repository.
In order to verify the user in Step two in Stage three, the PEC needs to generate
a challenge message and send it to the user. User‟s mobile device generates a
response message based on user‟s inputs. Then PEC starts the policy evaluation if
the verifications of the SP and user are successful. If the result of policy evaluation
in Step 3 is successful, then PEC sends the result to the user and SP via IdP.
From the three stages, the proposed model support SSO which is an important
106
Chapter 5. User-Centric Attribute-Based Access Control Model Using XACML
enables the proposed model to dynamically authenticate the user, which cannot be
Figure 5.2 depicts the workflow of the proposed model. The message flow is
described below.
(1)The user sends login requests to the IdP using the mobile device.
107
Chapter 5. User-Centric Attribute-Based Access Control Model Using XACML
(3)After the user inputs username and password, the mobile device
(8)The IdP generates a local security context based on the request. The
context contains necessary attributes of the SP, the user and the
requested resource.
(9)The IdP forwards the request to the PEC for further policy
evaluations.
(10)The PEC receives the request and extracts any required information
from the request. Then, the PEC queries the AA to check the validity
of the SP.
(11)The PEC queries the AA for the GID of the user and generates a
(12)After receiving the challenge, the user has to answer the challenge.
108
Chapter 5. User-Centric Attribute-Based Access Control Model Using XACML
(13)If the response is verified, then the PEC starts to evaluate the
request.
(15) The IdP forwards the decision to both user and service provider.
From Figure 5.2, it shows that once the mobile user requested the data or
services from SPs, IdP starts to collect all the necessary information from the user
and SP. The information from the user contains username, or location, time and any
details of the SPs and the information about the requested resource. Such
information consists of related attributes and the IdP generates a local security
context based on these attributes. Thus, the security context consists of three parts:
The PEC extracts necessary information from the security context and queries
the AA for any information about SP. If the response from the AA shows that the
SP is a legitimate provider, then the PEC checks whether the user has defined any
Based on the requested resource, the SP asks any PII attributes of the user in
order to deliver the resource. During this step, the PEC challenges the user in order
109
Chapter 5. User-Centric Attribute-Based Access Control Model Using XACML
to authenticate the user‟s identity. Policy evaluation protects user‟s privacy. Such
operations that are carried out at the PEC are the necessary steps for policy
evaluation process of the system. In the next section, more details about the
responsible for XACML authentication and authorization. After receiving the local
security context, PEC starts to the access evaluation for the access requests.
CH: Context Handler, formats received access requests into XACML format
PEP: Policy Enforcement Point, issues access requests to the PDP and
PDP: Policy Decision Point, evaluates the applicable policy and renders an
authorization decision
110
Chapter 5. User-Centric Attribute-Based Access Control Model Using XACML
Each component performs different functionalities and processes. Let us recall the
local security context generated by IdP in the previous section. Once the PEC
received the security context (see step 8 in Figure 5.2), the PEP extracts the
attributes of the SP and user. Then PEC queries the AA for the attributes of the
mobile user and SP. Figure 5.3shows the architecture of the PEC.
111
Chapter 5. User-Centric Attribute-Based Access Control Model Using XACML
Figure 5.4 depicts the authorization process of the model. For instance, if a
mobile user wants to purchase an item from the SP, then the user needs to request
the mobile banking services to complete the payment. Generally, the user is
concerned about the authenticity of the SP. At this time, the user needs to check
compares the attributes of the SP obtained from AA and the attributes extracted
from the security context received from IdP. If the SP is verified, RG will generate
a challenge message. PEP forwards the challenge message to the user via IdP.
User‟s mobile device displays this challenge request and waiting for the inputs from
the user. This step is to ensure that it is the actual account holder who is requesting
the resource. A response message will be generated using the input and sent to the
PEP. PEP forwards the response to VP. If VP successfully validates the user, CH
will generate a XACML access request and send it to the PDP for policy evaluation.
PDP makes the access decision based on the policies in the policy repository. If the
access decision is “Deny”, then user‟s personal data will not be revealed to the SP.
112
Chapter 5. User-Centric Attribute-Based Access Control Model Using XACML
(1) IdP generates the security context and sends it the PEC
not
113
Chapter 5. User-Centric Attribute-Based Access Control Model Using XACML
(6) PEC starts to verify the user based on the response message
(7) If the verification is successful, PEC then start the policy evaluation
process
(9) IdP forwards the decision to both the user and the SP
This approach enables user to define privacy access policies to protect their
data. In order to deliver data and services, SP requires user's PII. Current identity
mobile user restrict access on his/her PII. The proposed model is designed and built
on top of the standard XACML framework. Users can simply define privacy access
polices to control access from different requests on his online PII. The thesis
contributes the access control model for mobile Cloud users by modifying the
subsection.
114
Chapter 5. User-Centric Attribute-Based Access Control Model Using XACML
(1) The user will request access to the SP from the IdP.
(3) IdP verifies the user and redirect the user to the SP
115
Chapter 5. User-Centric Attribute-Based Access Control Model Using XACML
116
Chapter 5. User-Centric Attribute-Based Access Control Model Using XACML
Local Security Context is a set of attributes from user, SP and the required
resources. The PEC validates user and SP based these attributes. It is
defined in XML format.
<SecurityContext>
<user>
<username>John</username>
<time>201206121230</time>
</user>
<SP>
<SPId>200010000001</SPId>
<SPName>Citi Bank</SPName>
<time>201206121235</time>
</SP>
</SecurityContext>
powerful protection to the data confidentiality and integrity. The proposed model
each active role. The main goal of the proposed model, is to utilize the existing
117
Chapter 5. User-Centric Attribute-Based Access Control Model Using XACML
Let consider the following simple scenario: A customer who lives in the UK is
travelling to Paris. During the travel, he wants to use his mobile device to access the
online service from a SP in Paris and at the same time would like to reject all
requests for online transactions from the UK based ISPs during this period. The
Our proposed scheme is secure from spoofing attacks. Use the above scenario as a
typical example and assume the user has defined an access policy that any access
requests from Paris can be approved. The flow is based on Figure 5.2.
Adversary: Registered at the IdP as a service provider. The user can request data or
services from the adversary. Adversary want to collect users' online data without
permission.
118
Chapter 5. User-Centric Attribute-Based Access Control Model Using XACML
Initially the user is logged in to the IdP. IdP collects the necessary attributes from
both the user and SP. Attributes from user are location, time, username, OS, IMEI
etc. Attributes from the SP are SPId, name, time, IP address, location etc. IdP
<SecurityContext>
<user>
<username>user</username>
<time>2013007291600</time>
<location>Paris</location>
<OS>iOS 7.0</OS>
</user>
<SP>
<SPId>200010000001</SPId>
<SPName>Thomas Cook</SPName>
<time>2013007291600</time>
<location>London</location>
<IP>0.0.0.0</IP>
</SP>
<acessrequest>
<subject>Thomas Cook</subject>
119
Chapter 5. User-Centric Attribute-Based Access Control Model Using XACML
<object>
<name>John</name>
<gender>Male</gender>
<...>
......
</...>
</object>
</accessrequest>
</SecurityContext>
PEC extracts necessary attributes from the local security context. In order to verify
the user and SP, it queries the AA for correct attributes to evaluate access request.
Recall that the user has defined access policy on his personal online data. The
Adversary's SPId which is sent via the local security context needs to
PEC evaluate the access request based on the user's pre-define policies.
If the SP passes the first step, PEC evaluates the access request. In this
scenario, the request is: ''Thomas Cook requests John's online PII in UK'.
The local security context proves user's current location is Pairs, thus the
'FALSE'.
The adversary can gain access to user's online data unless 1) it is a legitimate SP
which has records in AA, and 2) its access requests satisfy user's privacy access
120
Chapter 5. User-Centric Attribute-Based Access Control Model Using XACML
policy. Therefore, the proposed model provides extra protection on user's online
data.
Following the verification of the AA, PEC verifies the user based on the GID. The
challenge message is displayed on the smart devices and asking user to input the
GID. The consideration for this step is unauthorized use of the smart device. The
'unauthorized use of the smart device' suggests that someone is trying to use the
smart device without the user's permission. For instance, user lost the device in
Pairs, someone got hold of the phone and ordered products on user's behalf. GID is
Roles in the proposed model such as SP, IdP, PEC and AA can be considered as
carried out using the public key infrastructure. Each entity has a private key and
public key pair. The sender use its own private key to sign message and use the
receiver's public key to encrypt the message. Thus, the receiver uses sender's public
key to verify sender digital signature and decrypts the message using its own
private key.
With the development of mobile platforms, smart devices can provide more secure
and flexible ways to secure communication. Android and iOS supports mobile apps
using the SSL to secure the communications [176]. Hu et al. proposed a 3 factor
121
Chapter 5. User-Centric Attribute-Based Access Control Model Using XACML
(PIN code, SIM card authentication and facial biometric) authentication method to
protect the message security on Android platform [177].In the proposed model, the
however, provides more data access restrictions on his online data usage.
authenticated by the IdP, then he can request data or services from the SPs. A
registered user trusts the AA and pre-defines the data access control policy for his
PII data. The user initiates the access request for targeted resources from a SP; the
IdP generates the local security context based on the request. The context consists
information about the user. In an e-health service use case, the SP needs to know the
historical medical information of the user in order to provide medical advice. This
raises a security issue: which part of information can be revealed to the e-health
system? Most of the existing systems lack mechanisms to protect the user‟s PII. In
default, SPs collect any information or allow a partner site to collect the required
information. Hence, user has no control over the data once it leaves his premises.
In our proposed model, more sensitive attributes are stored at the AA. AA has the
ability to control the attributes disclosure. XACML privacy access policies can be
defined by the user at PEC. Thus the user can control the disclosure of his PII from
unauthorized access.
122
Chapter 5. User-Centric Attribute-Based Access Control Model Using XACML
On receiving the security context from the IdP, the PEC extracts the
information from the security context and then the PEC queries the AA to check the
legality of the SP. Since the SP is registered at the AA with required information,
the AA can validate the SP. This step ensures that the SP is a registered and
legitimate provider. If the SP is verified, then the PEC queries the AA for user‟s
information. In this scenario, the GID is considered as the identifier of the user. The
following two phases are carried out to protect the user‟s privacy:
These two phases are crucial for the mutual authorization and solve the
potential authorization negotiation between the user and SP. The pre-defined
policies have the higher priority than the policy defined for the requested resources.
pre-defined policies are forbidden, then the PEC rejects the SP‟s request to protect
user‟s privacy.
service is a typical user case for mobile Cloud users. For example, a patient wants to
choose a doctor in dental department. In order to serve the patient, the hospital
requires his personal information. He firstly registers with the hospital system as a
patient and uploads the PII and related medical records to the Cloud Storage, which
123
Chapter 5. User-Centric Attribute-Based Access Control Model Using XACML
access policy that only a doctor in dental department can read his PII and the
medical records.
In this scenario, the patient requesting the services from the hospital can be
considered as the user in the proposed model. The Cloud storage is the AA who
manages attributes for both the users and doctors. There is a central server which
enforces access control and is responsible for the verification of user and SP. The
After logging into the system, the patient requests for a dental service. A doctor
responds to the request and chooses to treat the patient. The identity provider of the
system receives the requests and collects attributes from the patient and the doctor.
A local security context is created and sent to the central server. The central server
extracts the attributes from the local security contexts. Based on these attributes, it
queries the AA in order to verify the doctor and the patient. The verification method
can be defined by the practical requirements. For instance, Doctor can be verified
by the staff ID, job title, and department. The patient can be challenge not only by
the GID, but also through security questions defined by himself. Once the
verifications are successful, PEC evaluates the access request from the doctor.
Neither a doctor from a department other than the dental department, nor a nurse
from the dental department can gain access to user's PII and medical records. This
Thus, the patient restricts access on his online sensitive data. Privacy and data
124
Chapter 5. User-Centric Attribute-Based Access Control Model Using XACML
specified entity.
model. Scyther tool [178-180] was developed by CasCremers for security protocol
protocols. Scyther provides a graphic user interface which incorporates the Scyther
The syntax of Scyther tool will not be discussed in the thesis, but some basic
knowledge is explained in order to explain the protocol validation process.
The five actors in the proposed model is defined as role in the Scyther
validation tool. The message flow sequence in Figure 5.2 is followed and
implemented in the Scyther tool as follows:
role User {
constuname: Data;
125
Chapter 5. User-Centric Attribute-Based Access Control Model Using XACML
freshattrU: Data;
role SP {
freshattrSP: Data;
roleIdP {
varuname: Data;
126
Chapter 5. User-Centric Attribute-Based Access Control Model Using XACML
freshLSConxt: Data;
role PEC {
127
Chapter 5. User-Centric Attribute-Based Access Control Model Using XACML
role AA {
varqury: Nonce;
freshrslt: Data;
128
Chapter 5. User-Centric Attribute-Based Access Control Model Using XACML
The result of Scyther has proved the claims of implemented protocol. During the
are found. It can been seen from Figure 5.8 that all secret parameters from each
129
Chapter 5. User-Centric Attribute-Based Access Control Model Using XACML
platform[15, 181-184]. The functionalities of four entities; IdP, SP, mobile user,
Client app for the mobile device is developed using Eclipse and the
implementation is based on Android JDK using version 2.3.3. The AA‟s and SP‟s
130
Chapter 5. User-Centric Attribute-Based Access Control Model Using XACML
functionalities are developed and deployed on JAX-WS web service using Apache
Tomcat Web Server [183] in Netbeans [185]. The IdP is also built on top of the
containers. The J2EE and JSP containers connect with MySQL database for storing
stored at the IdP‟s database. The AA also stores all the attributes in the database.
[182].
The architecture is feasible to integrate more than one SP into the systems and
depict several key steps such as user login (Figure 5.6), the SP's request for the
user‟s PII (Figure 5.7), policy evaluation process (Figure 5.8), and policy decision
(Figure 5.9) of the proposed user-centric attribute-based access control model. The
under Glassfish server. The Figure 5.10 depicts the screenshot of the policy
131
Chapter 5. User-Centric Attribute-Based Access Control Model Using XACML
132
Chapter 5. User-Centric Attribute-Based Access Control Model Using XACML
133
Chapter 5. User-Centric Attribute-Based Access Control Model Using XACML
Figure 5.14 depicts the test page of the PEC service. In Figure 5.14, the
XACML request and pdpService() for policy evaluation. The first method is a
service for PEC to generate a dynamic XACML request for the SP on user‟s PII
data. The second method is a service of PEC to evaluate the PII access request.Let
following four parameters need to be entered: user_id, user‟s email address, the
Figure 5.15 shown below is a screenshot of SOAP request and SOAP response
when a data requester is successfully granted access on user's PII. The SOAP
request part in Figure 5.15 shows the access request, which includes the four
required attributes from the data requester: user_id, email address, state of
134
Chapter 5. User-Centric Attribute-Based Access Control Model Using XACML
authentication, and location data. The SOAP request is received by the PEP and
formatted by CH. PDP evaluates the formatted request based on the pre-defined
policies.
The SOAP response part in Figure 5.15 shows the decision of the access
request. The decision is made by PDP and CH converts it to original format and
sends it back to PEP. Thus, PEP can forward the decision to the user and SP.
It shows that the XACML policy evaluation process is successfully loaded and
works fine.
135
Chapter 5. User-Centric Attribute-Based Access Control Model Using XACML
The implementation was currently worked under the scenario for one SP. However,
based on the study of the existing identity management system in Section 3, our
system can accommodate more than one SPs. User‟s identity can be considered as a
SPs as long as they have done the registration process described in Section 5.1.1.
This section describes polices used for the data access control, and construction of
container that can hold other Policies or PolicySets, as well as references to policies
express through a set of Rules. Each XACML policy document contains exactly
one Policy or PolicySet root XML tag. Therefore, a Policy or PolicySet may
contain multiple policies or Rules, each of which may have different access
A policy example which defines that any user who holds an email address from
136
Chapter 5. User-Centric Attribute-Based Access Control Model Using XACML
the resources‟ attributes and the operation that the subject wants to perform on the
resource.
Regarding to the above policy example, a user who holds an email account
Appendix.
As a result of evaluating the policy, the response context contains only the decision
and the requested resource. Regarding the policy example and response context
example, the user has an email account “[email protected]”, hence she can obtain
5.5 Discussion
Attributes based access control scheme, which makes access decision based on the
model use attributes as the key factor to authorize data consent. With standardised
specifications and components, it can flexibly solve privacy related issues for
137
Chapter 5. User-Centric Attribute-Based Access Control Model Using XACML
mobile devices. In XACML based model, each access request, the complete
XACML hierarchy must be processed in order to find the matching policy sets,
policies and rules, to evaluate them ,and to compute access decision result[186].In
resources. A XACML based model requires service to establish all the required
to build a privacy preserving model for mobile devices. The efficiency of the whole
consumption for evaluating policies are high cost tasks. XACML message is
transmitted in XML format and the parsing overhead of XML documents is also an
issue [187] that needs attention. As a result, a more light-weight and general
solution is required to satisfy today‟s security and privacy issues of mobile devices.
138
Chapter 5. User-Centric Attribute-Based Access Control Model Using XACML
5.6 Conclusion
The proposed user-centric policy-based access control model uses the attributes
from any related stakeholders in the mobile environment. By involving the trusted
attribute authority, user has the ability to check the legality of the requested service
providers and define his/her own access privacy policies to protect the sensitive
personal information. Thus, the user has the control of his online data to decide who
can be granted access to the personal information. The access can also be restricted
to a certain part of the personal information. By using specific attributes that are
provided by the mobile devices, services providers and the related environment, the
and also provides seamless access to their mobile financial services from anywhere,
139
6 Context-Aware Attribute-Based Encryption Schemes
6.1 Introduction
scheme for smart mobile devices. Due to the recent technological advancements in
mobile devices, powerful processors and various sensors are embedded within
smartphones. This trend allows millions of people to use smartphones for their
work and day-to-day social activities. In order to support this transformation, the
traditional Cloud computing infrastructures are being modified into mobile Cloud
computing.
Chapter 5 presented a model for mobile Cloud users to enforce access control
over their PII to prevent the privacy attack from unauthorized service providers.
third-party Cloud service providers. Hence, the Cloud service providers have
control over the data that is stored in the Cloud storage and can monitor the
communications between the end user and the Cloud with or without their prior
Furthermore, the user experience and usability are important factors that can
140
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
avoided in mobile Cloud environment as they are complex and infeasible. The
smartphone features should be exploited to provide robust access control with less
user operations. Therefore, the contextual attributes such as location, time, app
usage, unlock failure etc. in mobile Cloud environment should be involved in the
security framework.
mobile devices. It extends the functionality of the proposed model in Chapter 5 for
Cloud data storage with data confidentiality and addresses some shortcomings in
usability and user experience. The real-time contextual attributes are further
environment.
data owner encrypts, uploads, and decrypts the data using mobile
- The data owner has the control of his personal data, and can define
141
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
The following three algorithms are proposed in the following sections: (1)
of mobile devices.
188-190]. Mobile user‟s activities such as app usage, network usage, charging
times and unlock failures have been used to profile the user-behaviour. This
user-behaviour profile can be used to detect anomaly activities and provide more
Let us assume that there is an app installed in mobile-device which can be used
Installing the behaviour-profiling app in the user‟s mobile device can be used to
capture the real-time attributes. Such attributes can be used to verify whether the
current user is the phisical owner of the mobile device. In the following three
algorithms, assuming that user‟s mobile device has the profiling-behaviour app
installed and the context-related attributes can be captured by the app. There is a
142
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
if the particular attributes satisfied the requirements. The outputs will be used by the
following three algorithms for the user to recover the encrypted data.
Scheme
authority is described. It is designed for mobile users to share and store their
personal data securely in the Cloud storage. A user has his personal data such as
location records, medical history stored in the Cloud. He would not allow any
service provider. This can only be achieved by storing the data in the encrypted
form in the Cloud storage. In the meantime, access control techniques should also
are considered as the ideal solution together with the access control models for
authentication of the users. A data owner can upload encrypted data in the Cloud,
and the encrypted data was enforced with access control polices during the
encryption process. Access policies are defined by the data owner, thus, he
determines who can access the data. A user will request data from an Attribute
Authority, which is responsible for maintaining the attributes, verifying the user
143
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
Figure 6.1 shows the architecture of single authority ABE scheme. Four actors are
involved in the scheme, the data owner, the AA, the user and Cloud Storage. A
data owner uses the contextual attributes and static attributes from AA to
encrypted his data and uploads it to the Cloud storage. A user downloads the data
and requests decryption keys based on his attributes. The AA verifies the user and
6.2.1 Preliminaries
This section gives the background information and security assumption for the
ABE scheme. Figure 6.1 shows the architecture of the single authority ABE
scheme.
144
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
Let 𝔾1 and 𝔾2be two cyclic groups of order q for some large prime q and g is a
generator of 𝔾1. A bilinear map e :𝔾1× 𝔾1→ 𝔾2between these two groups. The
Bilinear: A map e :𝔾1× 𝔾1→ 𝔾2is bilinear if e(ga, gb) = e(g, g)ab for all P,
Q ∈ 𝔾1and all a, b ∈ ℤ.
Non-degenerate: The map does not send all pairs in 𝔾1× 𝔾1to the identity
in 𝔾2. Observe that since 𝔾1, 𝔾2are groups of prime order, this implies
that e(g, g) ≠ 1.
Q ∈ 𝔾1.
(DBDH) Assumption
gb, C = gc,Z = e(g, g)abc) from the tuple (A = ga, B = gb, C = gc,Z = e(g, g)z) with
D, a threshold value k where 1< 𝑘 ≤ 𝑛 is defined. Only if there are k pieces shares
145
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
or more comes together, then user can reconstruct the secret D. Complete
6.2.2 Construction
The section will begin by explain how the traditional ABE scheme can be
there is only one attribute authority (AA) maintains a set of attributes and
conventional ABE scheme, a data owner in the proposed scheme can encrypt the
data by not only using credentials obtained from AAs but also using context-related
set of attributes.
146
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
defined by data owner and data as inputs and outputs the ciphertext
of the data.
obtained from the smart mobile device and the ciphertext. Then it
Setup S
For a given security parameter 𝜆and 𝜎 ∈ {0, 1}𝑠 𝑝𝑜𝑙𝑦 (λ), group bilinear
and publishes corresponding public keys {Ti = 𝑔𝑡𝐴,𝑖 } ∀i and Y = e (g, g)y.
Key Issuing KI
The AA generates decryption credential for ith attribute for the user u as:
Dui = 𝑔𝑝 𝑢 (𝑖) 𝑡 𝐴 ,𝑖
where ∀i ∈ Au(Au denotes the attributes set of the user
u).
Encryption E
147
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
The data owner encrypts the message m for a set of attributes Am= AA∪AC,
𝑎𝑐,1 , … , 𝑎𝑐,𝑛 denotes the context-related attributes defined by the data owner, as
follows:
The data owner randomly chooses sA , sB∈ ℤq, and encrypts the message
as 𝐸𝑛𝐶𝑚 = m𝑌 𝑠𝐵 .
concatenation.
Now the data owner uploads CTm={𝐸𝑛𝐶𝑚 , E0, Ei, ∀i ∈ AA, and AC} into
the Cloud.
Decryption D
User downloads CTm from the Cloud and checks the required attributes
User computes e(Ei, Di) = e(g, g)𝑝 𝑢 (𝑖)𝑆𝐴 for any attribute i∈AC∩ Au.
e(g, g)𝑦 𝑆𝐴 .
computes the hash value of context related attributes such as location, risk-level
associated with current location and risk-level associated with user behaviour and
148
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
The novelty in our scheme compared to the conventional ABE scheme lies in
encryption and decryption sub algorithms which are detailed in the following:
denote the context related attribute set defined by the data owner as AC=
{aC,1, …,aC,n}, where aC,I denotes context related attributes. For sake of simplicity,
consider the following three context related attributes: aC,1 = “location”, aC,2 = “risk
level with his recent app usage” and aC,3 = “unlock failures in last two days”. Now
AC = {aC,1 = “London”, aC,2< “3” and aC,3< “2”}, assume that risk level
varies between 1 to 10 where higher risk denoted by larger value. Then computes
considered as the access policy of the encrypted message. Using the client
149
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
application installed in the mobile device, the user will capture the real-time context
related attributes such as, location. The mapping function, M, outputs “yes” if the
current risk level is less than threshold defined by employer. This ensures that the
employee has all the credentials from AA, context-related attributes enforced by the
Scheme
In this section, the author describes the context-aware MA-ABE scheme. In a single
authority scenario, there is only one AA will monitor all the attributes and issues
encryption and decryption credentials for the users. It is a fully trusted party which
users have to prove his identity in order to obtain a decryption credential. For
instance, to decrypt a message m, a user proves his identity with required set of
attributes and receives the decryption credentials based on those attributes. In this
case, the AA has too much power which provides itself with the ability to decrypt
all communication messages and knows all the user‟s attributes. In the event of
and user‟s privacy can be revealed to the attackers. This is one of the drawbacks in
manages UK national health information system and the UK drivers and vehicles‟
150
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
(DVLA). Hence, in reality, it is impossible for a single authority to monitor all these
attributes and hence a viable solution is to go for multiple authorities based ABE
attributes and issues credentials for the employees based on a set of attributes. The
AA defines a threshold value dk so that the message can be decrypted only if a user
has at least dk number of given attributes from the AA. There is no trusted central
6.3.1 Preliminaries
The bilinear pairings and complexity assumptions are the same in section 6.2.1.
to commit or abort the transaction [191, 192]. The protocol is a standard protocol
for making commit and abort atomic. In a normal execution of a single distributed
151
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
every participant.
(commit or abort), and notifies the results to all the participants. Then
In our MA-ABE scheme, the central authority which holds the master secret was
removed. An anonymous key issuing protocol under the structure of Chase and
In MA-ABE system, public parameters are available for users and AAs. A user
can request secret keys from an AA provided he has some attributes which are
managed by the AA. Then key generation algorithm will be executed by the AA
and the corresponding secret keys will be returned to the user. When a data owner
wants to encrypt a message, he makes use of the public parameters together with an
attribute set of his choice to carry out the encryption. Any user can obtain the
Define GID as the global identifier of the user. u is the GID of the user; it can
be a hash value of the GID. The user uses the anonymous key issuing protocol to
obtain decryption keys without the central authority. Before starting the key issuing
Using the key issuing algorithm presented, the kth AA shares a secret 𝑠𝑘,𝑗 , with
𝑥
jth AA and picks 𝑥𝑘 ∈ ℤ𝑞 , and computes 𝑦𝑘 = 𝑔1 𝑘 . Thus, the kth AA and jth AA
152
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
𝑥 𝑥𝑗 𝑠𝑘,𝑗 +𝑢
can jointly compute the shared secret 𝑔1 𝑘 . The kth AA also has private
keys: α, β, γ ∈ ℤ𝑞 . Figure 6.2 depicts the flow of the anonymous key issuing
(1) A two-phase commit protocol is used to start the key issuing and
takes u,𝜌1 from the user and 𝑠𝑘,𝑗 from the kth AA as input, and
outputs 𝑋 = 𝑠𝑘𝑗 + 𝑢 𝜌1 .
𝑋2 = ℎ𝛼𝜏 .
(3) The kth AA sends 𝑋1 , 𝑋2 and proof of knowledge of the secret values
(i.e. 𝛼, 𝜏, 𝑥).
𝜌 𝜌2
(4) The user picks a random 𝜌2 ∈ ℤ𝑞 and computes 𝑌 = 𝑋1 1 𝑋2 .
Then the user sends Y and proof of knowledge of 𝜌2 to the kth AA.
153
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
6.3.2 Construction
Similar to single authority case, the proposed algorithm is also composed of four
sub algorithms namely as Setup, Key Issuing, Encryption and Decryption. In the
154
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
maintained by kth AA as 𝑛𝑘 .
ciphertext.
Setup S
For a given security parameter 𝜆 and 𝜎 ∈ {0, 1}𝑝𝑜𝑙𝑦 (λ) , group bilinear
Now, the AAs interact with each other and execute the following:
𝑣𝑘
𝑒 𝑔1 , 𝑔2 , and sends 𝑌𝑘 to other AAs, where each AA computes
𝑌= 𝑌𝑘 = 𝑒 𝑔1 , 𝑔2 𝑘 𝑣𝑘 .
155
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
𝑥
kth AA randomly chooses 𝑥𝑘 ∈ ℤ𝑞 and computes 𝑦𝑘 = 𝑔1 𝑘 .
Using the share secret 𝑠𝑘𝑗 and u, kth AA and jth AA computes
𝑥 𝑠𝑘𝑗 +𝑢 𝑥𝑘 𝑠𝑗𝑘 +𝑢
𝑦𝑘 𝑗 and 𝑦𝑗 respectively.
𝑡
and computes corresponding public key as 𝑇𝑘,𝑖 = 𝑔2𝑘,𝑖 .
Key Issuing KI
𝑅 𝑥 𝑠𝑘𝑗 +𝑢
For 𝑗 ∈ 1, … , 𝐾 𝑘 , user gets the 𝐷𝑘𝑗 = 𝑔1 𝑘𝑗 𝑦𝑘 𝑗 for
𝑅 𝑠𝑘𝑗 +𝑢 𝑥𝑗
𝑘 > 𝑗 or 𝐷𝑘𝑗 = 𝑔1 𝑘𝑗 𝑦𝑘 if 𝑘 < 𝑗, where 𝑅𝑘𝑗 ∈ ℤ𝑞 is a
random value.
𝑅
𝐷𝑢 = 𝑘,𝑗 ∈ 1,…,𝐾 × 1,…,𝐾 𝑘 𝐷𝑘𝑗 = 𝑔1 𝑢 , where
156
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
𝑗 ∈ 1,…,𝐾 𝑘 𝑅𝑘𝑗 .
𝑝 𝑖 𝑡 𝑘 ,𝑖
kth AA computes 𝑆𝑘,𝑖 = 𝑔1 𝑘,𝑢 , 𝑖 ∈ 1, … , 𝑛𝑘 for each
Encryption E
The data owner encrypts the data m for attribute set 𝐴𝑚 = 𝐴𝐴1 ∪ 𝐴𝐴2 ∪ … 𝐴𝐴𝐾 ∪
𝐴𝐶 as follows:
follows: 𝐸𝑛𝐶𝑚 = m𝑌 𝑠𝐵 .
𝑠 𝑠
E0 = h(M(aa,1)∥ M(aa,2)∥… M(aa,n))𝑌 𝑠𝐴+𝑠𝐵 , 𝐸1 = 𝑔2𝐴 , 𝐶𝑘,𝑖 = 𝑇𝑘,𝑖𝐴 ,
𝑖 ∈ 𝐴𝐴𝑘 , 𝑘 ∈ 1, … , 𝐾 .
Decryption D
The user downloads the 𝐶𝑇𝑚 from the Cloud and checks the required
157
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
Using 𝑆𝑘,𝑖 and the corresponding 𝐶𝑘,𝑖 , user computes𝑒 𝑆𝑘,𝑖 , 𝐶𝑘,𝑖 =
𝑠𝐴 𝑝 𝑘,𝑢 𝑖
𝑒 𝑔1 , 𝑔2 .
𝑠𝐴 𝑝 𝑘,𝑢 𝑖
User interpolates all 𝑒 𝑔1 , 𝑔2 and gets 𝑃𝑘,𝑢 =
𝑠𝐴 𝑣𝑘 −𝑅𝑢 𝑌 𝑠𝐴
𝑄 = 𝑒 𝑔1 , 𝑔2 = 𝑅 𝑢 𝑠𝐴 .
𝑒 𝑔1 ,𝑔2
Now the client application installed in user‟s mobile device computes the hash
with current location and risk-level associated with user behaviour and outputs
𝑆𝐵
ℎ(𝑀(𝑎’𝑎, 1) ∥ 𝑀(𝑎’𝑎, 2) ∥ ⋯ 𝑀(𝑎’𝑎, 𝑛))Y S A
= 𝑚𝑌 ∙
ℎ(𝑀(𝑎𝑎, 1) ∥ 𝑀(𝑎𝑎, 2) ∥ ⋯ 𝑀(𝑎𝑎, 𝑛)) 𝑌 𝑠𝐴+𝑠𝐵
158
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
In this section, the security of the proposed framework is analyzed. The data
analysed. Then the security analyse of key issuing protocol is presented to prove the
6.3.3.1 Confidentiality
The proposed scheme is to be proved secure in the selective ID (SID) model. In SID,
the adversary must provide the identity he wishes to attack before receiving the
Assume there are N number of attribute authorities. Let us denote nkto be the
Setup
The adversary sends a list of attribute sets 𝐴𝐶 = 𝐴1𝐶 … . 𝐴𝐾𝐶 , one set
The challenger generates parameters for the system and sends them
to the adversary.
Key Issuing
The adversary receives all the parameters which includes the system
parameters, honest AA‟ public keys, public and secret keys of the
corrupt AAs.
The adversary makes secret key queries as he wants the AAs follow
two rules: 1) for each GID, there must be at least one honest AA
159
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
and 2) the adversary never queries the same authority twice with the
same GID.
Challenge
Guess
𝐸𝑛 𝐶 𝑚 𝐸𝑛 𝐶 𝑚
In our scheme, the challenge encryption 𝑏 = = =
𝑌 𝑠𝐵 𝑒 𝑔1 ,𝑔2 𝑠 𝐵 𝑘 𝑣𝑘
𝑠𝐵 𝑘 𝑣𝑘
ℎ(𝑀(𝑎’𝑎, 1) ∥ 𝑀(𝑎’𝑎, 2) ∥ ⋯ 𝑀(𝑎’𝑎, 𝑛))e Du , E1 Q
𝑒 𝑔1 , 𝑔2 ∙
𝐸0
From the algorithms in the previous section, the following three values are
known.
𝑠
e 𝐷𝑢 , 𝐸1 = e 𝑘,𝑗 ∈ 1,…,𝐾 × 1,…,𝐾 𝑘 𝐷𝑘𝑗 , 𝑔2𝐴 ;
𝑠𝐴 𝑣𝑘 −𝑅𝑢 𝑌 𝑠𝐴
Q = 𝑒 𝑔1 , 𝑔2 = 𝑅 𝑢 𝑠𝐴 ;
𝑒 𝑔1 ,𝑔2
160
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
These three values are the key parameters to decrypt the encrypted message. If
the adversary can successfully compute these values, the algorithm can be
considered as an insecure algorithm. The possibility for the adversary to get these
values is investigated.
Given that:
𝑠
e 𝐷𝑢 , 𝐸1 = e 𝐷𝑘𝑗 , 𝑔2𝐴
𝑘,𝑗 ∈ 1,…,𝐾 × 1,…,𝐾 𝑘
𝑅 𝑥 𝑠𝑘𝑗 +𝑢 𝑅 𝑠𝑘𝑗 +𝑢 𝑥𝑗
where𝐷𝑘𝑗 = 𝑔1 𝑘𝑗 𝑦𝑘 𝑗 for 𝑘 > 𝑗 or 𝐷𝑘𝑗 = 𝑔1 𝑘𝑗 𝑦𝑘 if 𝑘 < 𝑗 ,
𝑠
where 𝑅𝑘𝑗 ∈ ℤ𝑞 and 𝐸1 = 𝑔2𝐴 is a public key.
For kth AA, the adversary queries each AA for the secret. Assume jth (1 < 𝑗 <
𝑅 𝑥 𝑠𝑘𝑗 +𝑢
𝑘) AA receives the request. jth AA issues 𝐷𝑘𝑗 = 𝑔1 𝑘𝑗 𝑦𝑘 𝑗 .
𝑅 𝑥 𝑠𝑘𝑗 +𝑢
In 𝐷𝑘𝑗 = 𝑔1 𝑘𝑗 𝑦𝑘 𝑗 , the 𝑠𝑘𝑗 is the secret shared between jth and kth AA.
Since there is only one honest AA, it will exchange the secret with all other corrupt
𝑥 𝑠𝑘𝑗 +𝑢 𝑥𝑘 𝑠𝑗𝑘 +𝑢
authorities by computing 𝑦𝑘 𝑗 and 𝑦𝑗 during the Setup stage.
The 𝑅𝑘𝑗 ∈ ℤ𝑞 is issued by kth AA during the Key Issuing stage. The
adversary can get the value of 𝐷𝑘𝑗 . This is a potential risk of the MA-ABE scheme
161
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
𝑠𝐴 𝑣𝑘 −𝑅𝑢 𝑌 𝑠𝐴
For Q = 𝑒 𝑔1 , 𝑔2 = 𝑅 𝑠 , let us recall that the kth AA issues a
𝑒 𝑔1 𝑢 ,𝑔2𝐴
𝑝 𝑖 𝑡 𝑘,𝑖
secret key 𝑆𝑘,𝑖 = 𝑔1 𝑘,𝑢 for the eligible attributes of user u. 𝑝𝑘,𝑢 𝑖 is a
the kth AA, if the number of user‟s eligible attributes is greater than the threshold dk.
In order to obtain Q, for any dk attributes 𝑖 ∈ 𝐴𝑘𝐶 ∩ 𝐴𝑘𝑢 at kth AA, three steps are
executed:
𝑠𝐴 𝑝 𝑘,𝑢 𝑖
Computes𝑒 𝑆𝑘,𝑖 , 𝐶𝑘,𝑖 = 𝑒 𝑔1 , 𝑔2 .
𝑠𝐴 𝑝 𝑘,𝑢 𝑖
The kth AA interpolates all the values 𝑒 𝑔1 , 𝑔2 together to get
For the adversary, all the corrupt AAs issue decryption keys for him. However,
for the honest AA, the adversary with insufficient attributes cannot compute the
value of 𝑃𝑘,𝑢 because he is unable to get the value 𝑝𝑘,𝑢 0 . Thus Q is not available
For the last the value of ℎ(𝑀(𝑎’𝑎, 1) ∥ 𝑀(𝑎’𝑎, 2) ∥ ⋯ 𝑀(𝑎’𝑎, 𝑛)). With the
and the necessary operations executed during decryption. Therefore, the mobile
operating system should have a secure mechanism to protect the app and the data
162
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
The recently introduced robust security software such as KNOX [194] and
BES [195] virtually divided the mobile device into two isolated containers:
personal user container and work container. The apps in one container are separated
from the apps in the other container. The apps in work container are also virtually
located in the user mobile device management server. Thus, the behaviour-profiling
app can be verified by the device management server to prevent from being
to feed false results for the context-related attributes can be easily detected.
From the analysis above, it shows that if the adversary request secret keys from
adversary cannot output a correct guess of b’ such that b’ = b. Our scheme is secure
In the anonymous key issuing protocol, the kth AA will set up several parameters
𝑥
and 𝑋2 = ℎ𝛼𝜏 , where 𝑔 = 𝑦𝑗 𝑘 , ℎ = 𝑔1 . g and h are unknown to the user..
𝑥𝑘 𝜏 𝑠𝑘𝑗 + 𝑢 𝜌 1
Now adversary can get that 𝑋1 = 𝑔𝜏 𝑥
= 𝑦𝑗 and 𝑋2 = ℎ𝛼𝜏 =
163
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
𝜌 𝜌2 𝜌2 𝑥𝑘 𝜏 𝑠𝑘𝑗 + 𝑢 𝛼𝜏 𝜌 2
The challenger then computes 𝑌 = 𝑋1 1 𝑋2 = 𝑦𝑗 𝑔1 with a
𝛾𝜌 2 𝑥 𝑘 𝑠𝑘𝑗 + 𝑢 𝛾𝛼 𝜌 2
random𝜌2 ∈ ℤ𝑞 . The kth authority computes the 𝑍 = 𝑌 𝛾 𝜏 = 𝑦𝑗 𝑔1 .
Note that during the kth AA issuing a key, the other AAs will also participate to
compute the pseudorandom values: the shared secret 𝑠𝑘𝑗 and the public key
𝑥
𝑦𝑗 = 𝑔1 𝑗 .
𝑥𝑘
However, values of discrete logarithm between 𝑔 = 𝑦𝑗 = 𝑔 𝑥 𝑗 𝑥 𝑘 𝑎𝑛𝑑 ℎ = 𝑔1
should be unknown. This also requires that the collusion group authorities cannot
If there is only one honest AA, the adversary can extract the master secret such
as 𝑠𝑘𝑗 ,during the key issuing process because of the incorporation of some
pseudorandom values from other corrupt authorities. Then the protocol is not
secure.
𝑥
For kth corrupted authority, the adversary obtains 𝑦𝑗 = 𝑔1 𝑗 , from the honest jth
AA (1 < 𝑗 < 𝑘). The value is a pseudorandom value based on the shared secret
𝑅 𝑥 𝑠𝑘𝑗 +𝑢
𝑔1 𝑘𝑗 𝑦𝑘 𝑗 . If there are only one honest authority, recall that each pair of
authorities shares the 𝑠𝑘𝑗 , with the knowledge of 𝑦𝑗 , 𝑠𝑘𝑗 , 𝑢, 𝑎𝑛𝑑 𝑅𝑘𝑗 the adversary
can easily compute 𝐷𝑘𝑗 of the honest authority as a result. Thus, the secret value
164
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
e 𝐷𝑢 , 𝐸1 is revealed to the adversary. All the other corrupt AAs are able to
In this scenario, therefore, at least one more AAs are required to adjust its
Authorities.
In this section, computation and communication costs associated for both the single
and multi-authority algorithms proposed in Section 6.2 and 6.3 are analysed. The
the related conventional ABE schemes. The single authority ABE scheme is
In single authority ABE scheme, the user is only involved in the computation
process during the Decryption stage and the data owner involves computation
process in the Encryption stage. The computational cost involved in the Setup and
Key Issuing stages can be ignored since those can be done in the idle time. The
165
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
exponentiation. Let us denote the computational time for one multiplication, one
the total number of attributes used for encryption as n and the total number of
context-related attributes used by the data owner as d. Table 6.1 shows the total
time required for encryption and for decryptions for the proposed scheme and
conventional scheme.
Table 6.1 Comparison of Computational Cost for the Single Authority ABE
From Table 6.1, it shows that in the single authority scenario, our scheme takes just
one more exponentiation operation and one more multiplication than the
scheme with Chase and Chow‟s scheme [166]. In the multi-authority scenario, the
users are involved in the Decryption stage while the data owner is involved in the
Encryption stage. For simplicity, denote the total number of AAs in the system as K
166
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
and the data owner uses n number of attributes from each AA for encryption. Let us
use the same benchmark time values given for jPBC library for comparison[196].
Table 6.3 shows the time values (in ms) for 𝐶𝑚 , 𝐶𝑒𝑥 , and 𝐶𝑝 based on two different
test beds:
(1) Intel (R) Core (TM) 2 Quad CPU Q6600 with 2.50GHz and 3GB
The time values given in Table 6.3 are for a symmetric elliptic curve called
Type A curve which has a base field size of 512-bit and the embedding degree is 2.
The type A curve has a 160-bit group order. Let us assume that the data owner uses
an environment similar to the Test bed 1 for encryption while the user uses a mobile
167
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
𝐶𝑝 14.6 491.2
𝐶𝑚 1.8 20
Table 6.3 Time Complexity Measures for Two Different Test Beds
Scheme
168
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
Figure 6.3 shows the computational complexity in terms of total time required for
the data owner and the user to encrypt and decrypt the data, respectively for
encryption, our scheme consumes nearly 5msmore than the conventional ABE.
the encryption which provides runtime security to the data owner. It is worth noting
that from Figure 6.3 that the time difference between our scheme and the
time complexity orders for both schemes are same for encryption). However, our
attributes. For decryption, it is obvious from Figure 6.3 that our scheme performs
169
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
Figure 6.4 compares the decryption costs for both the proposed scheme and the
AAs (i.e. K = 2, 4, 6, 8, 10).Encryption and decryption time increases with the total
number of AAs. For encryption, similar to K = 1 case, the time complexity orders
of both the schemes are same (i.e. our scheme consume nearly 5ms more than the
AAs). Moreover, for decryption, our scheme performs equally well as the
encryption. As seen from both Figure 6.3 and Figure 6.4, time complexity for
decryption is nearly 100 times more than the encryption due to the limited process
power at the mobile device. The time complexity can be reduced if less number of
attributes are used for encryption. The proposed scheme enables the data owner to
reduce the time complexity at the user end by reducing the number of attributes
from the AA. However, our scheme adds an extra layer of security by adding the
The proposed scheme enables the data owner to reduce the time complexity at
the user end by adding more context-related attributes with negligible increment in
complexity. For instance, the data owner can include five attributes from AAs and
another five context-related attributes which almost reduces the complexity by half
compared with the conventional MA-ABE scheme. However, the proposed scheme
conventional ABE scheme. In a nutshell, the proposed scheme does not degrade the
170
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
attributes to enhance the security of the employer‟s data while reducing the
The communication costs for the proposed schemes and the conventional schemes
are relying on the Key Issuing stage and when uploading and downloading the data.
and the data owner. Communication costs for both the schemes in Key Issuing
Stage are equal. During uploading and downloading stage, only the extra
From the performance analysis in the previous section, it shows that the
workload of the computation and communications are heavy for the mobile users.
For the communication, each user has to communicate with all the authorities for
decryption keys and data. These interactions and computational works are a burden
for the mobile user in terms of communication and computation complexity. The
reliability of mobile data network is also a challenge for completing all required
communications. The next section will present a solution to address these issues.
171
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
Scheme
both the conventional MA-ABE scheme and the proposed context-aware MA-ABE
environments and platform [197]. The author introduced a Cloud server based
semi-trusted-authority (STA) between the user and the AAs. The user equipped
with smart devices only provides pseudonym of his identity to the STA. Then the
STA interacts with all the AAs on-behalf of the user and obtains decryption-keys.
Later, STA combines all the keys to obtain a key and pass it to the user. The user
has the ability to do necessary computations on the received keys and obtains the
final decryption keys to recover the data. Since all the distributed keys provided by
the AAs are masked, STA cannot decrypt the data. Moreover, STA cannot pool all
the keys and obtain attributes of the user. Hence, our algorithm preserves the
security and privacy of Chase and Chow‟s MA-ABE scheme while outsourcing the
Assume that the STA will execute the protocol correctly that he will behave in
172
6.4.1 Constructions
There are five different parties involved in the proposed framework: the data owner
(encryptor), the user (decryptor), the AA, STA and the Cloud storage server. Figure
6.5 depicts the main framework and work flow of the proposed system.
Environment
173
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
The algorithm is composed of four sub algorithms which are named as: Setup,
Key Issuing: AAs generate decryption keys for a user u that holds a
set of attributes.
obtained from smart mobile device and the ciphertext. The output
Setup S
For a given security parameter 𝜆 and 𝜎 ∈ {0, 1}𝑝𝑜𝑙𝑦 (λ) , group bilinear
Now, the AAs interact with each other and execute the following:
174
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
𝑣𝑘
𝑒 𝑔1 , 𝑔2 , and sends 𝑌𝑘 to other AAs, where each AA computes
𝑌= 𝑌𝑘 = 𝑒 𝑔1 , 𝑔2 𝑘 𝑣𝑘 .
𝑥
kth AA randomly chooses 𝑥𝑘 ∈ ℤ𝑞 and computes 𝑦𝑘 = 𝑔1 𝑘 .
𝑥 𝑠𝑘𝑗 +𝑢 𝑥𝑘 𝑠𝑗𝑘 +𝑢
𝑦𝑘 𝑗 and 𝑦𝑗 respectively.
𝑡
and computes corresponding public key as 𝑇𝑘,𝑖 = 𝑔2𝑘,𝑖 .
Key Issuing KI
The STA executes the following steps with kth AA on behalf of user u, hence
STA. In order to mask the decryption keys to the STA, a pre-shared secret between
user and kth AA is used when issuing keys, the key will be combined into the
pseudorandom and only the user can derive the decryption key.
𝑅 𝑥 𝑠𝑘𝑗 +𝑢
For 𝑗 ∈ 1, … , 𝐾 𝑘 , STA gets the 𝐷𝑘𝑗 = 𝑔1 𝑘𝑗 𝑦𝑘 𝑗 for
𝑅 𝑠𝑘𝑗 +𝑢 𝑥𝑗
𝑘 > 𝑗 or 𝐷𝑘𝑗 = 𝑔1 𝑘𝑗 𝑦𝑘 if 𝑘 < 𝑗, where 𝑅𝑘𝑗 ∈ ℤ𝑞 is a
random value.
175
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
𝑅
𝐷𝑢 = 𝑘,𝑗 ∈ 1,…,𝐾 × 1,…,𝐾 𝑘 𝐷𝑘𝑗 = 𝑔1 𝑢 , where
Now, kth AA use the pre-shared secret, 𝑟𝑘 between user u and kthAA,
𝑝 𝑖 𝑡 𝑘 ,𝑖
The kth AA computes 𝑆𝑘,𝑖 = 𝑔1 𝑘,𝑢 ,𝑖 ∈ 1, … , 𝑛𝑘 for each
Encryption E
The data owner encrypts the message m for attribute set Ac=
Now the data owner uploads the encrypted data and related
176
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
Decryption D
The decryption stage has two steps. Firstly STA obtains the masked keys from
all the authorities and combine them together. Then the combined key will be
Decryption by STA
𝑠𝑝 𝑘,𝑢 i
𝑒 𝑆𝑘,𝑖 , 𝐶𝑘,𝑖 = 𝑒 𝑔1 , 𝑔2 .
𝑠𝑝 𝑘,𝑢 i
(2) STA interpolates all 𝑒 𝑔1 , 𝑔2 together and gets
𝑠𝑝 𝑘,𝑢 0
𝑃𝑘 = 𝑒 𝑔1 , 𝑔2 =
𝑠 𝑣𝑘 + 𝑟 𝑘 − 𝑗 ∈ 1,…,𝐾 𝑅𝑘𝑗
𝑒 𝑔1 , 𝑔2 𝑘 .
𝑠 𝑣𝑘 + 𝑟 𝑘 −𝑠𝑅𝑢 𝑌 𝑠+𝑠 𝑟 𝑘
𝑒 𝑔1 , 𝑔2 = 𝑅 .
𝑒 𝑔1 𝑢 , 𝑔2𝑠
𝑅
o Then STA computes 𝑇 = 𝑒 𝐷𝑢 , 𝐸1 ∙ 𝑄 = 𝑒 𝑔1 𝑢 , 𝑔2𝑠 ∙ 𝑄 =
𝑌 𝑠+𝑠 𝑟𝑘
and forwards 𝑇 to the user.
Decryption by User
177
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
scheme [166], the security analysis showed that the proposed scheme does not
degrade the security and privacy of the encrypted message and mobile user
against unauthorized users and the curious Cloud service providers under the
The user‟s privacy is also protected by the anonymous key issuing protocol.
The stages that differ between the two schemes are focused on, the Key Issuing
During the Decryption stage, the STA performs the steps in place of the
𝑅
𝑒 𝑔1 𝑢 , 𝑔2𝑠 ∙ 𝑄 = 𝑌 𝑠+𝑠 𝑟𝑘
in contrast to𝑌 𝑠 that is computed by the authority in
the Chase and Chow‟s scheme. As the required decryption key to decrypt the
message m is 𝑌 𝑠 , the STA cannot decrypt to obtain the message m, therefore the
confidentiality of the message is ensured. More precisely, since the shared secret
𝑟𝑘 is only known between the kth AA and the mobile user, and thus the summation
𝑘 𝑟𝑘 can only be obtained by a mobile user; therefore the STA cannot obtain 𝑌 𝑠
178
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
During the Key Issuing stage, the STA performs most of the steps in place of
𝑝 𝑖 𝑡 𝑘,𝑖
the user in Chase and Chow‟s scheme. The kth AA computes 𝑆𝑘,𝑖 = 𝑔1 𝑘,𝑢 ,𝑖 ∈
1, … , 𝑛𝑘 and sends them to STA. If the user satisfies the minimum 𝑑𝑘 number
satisfy the minimum 𝑑𝑘 number of attributes then the user cannot obtain enough
number of key 𝑆𝑘,𝑖 to recover the secret 𝑝 0 . This is the crucial point that for the
polynomial with degree (𝑑𝑘 − 1). A number of 𝑑𝑘 points are required in order to
get 𝑝 0 . If the user with insufficient attributes, then the kth AA chooses a
polynomial with degree (𝑛𝑘 + 1). Therefore, the STA is not able to pool all 𝑆𝑘,𝑖
from all AAs in order to find attributes of mobile user, and cannot distinguish which
set of attributes belongs to the mobile user. This also preserves the privacy of the
user.
In Chase and Chow‟s scheme, the user takes part in the computation during the
Key Issuing and Decryption stages. Most of the required computation and
communications take place in these two stages. Our proposed scheme successfully
offloads these time-cost operations to the semi-trusted Cloud based server. Since
the Cloud servers have powerful computing capacity and reliable network, utilizing
179
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
Chase and Chow‟s scheme, user needs to start (𝑁 − 1)independent invocations for
each AA during the key issuing stage. In order to compute the decryption key 𝐷𝑢 , a
user has to request the key 𝐷𝑘𝑗 from all the authorities. This process requires a
complete the process. Our proposed scheme offloads these communications to the
Cloud based server, so that the communication overheads can be avoided at the
between the conventional MA-ABE scheme and our proposed scheme. From
Figure 6.6, the number of communications in Chase and Chow's scheme goes up
much more than our proposed scheme. In our scheme, the user only needs to do
180
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
In both the conventional MA-ABE scheme and proposed low complexity MA-ABE
scheme, the user (data requester) has to execute several computations which are
required in the Key Issuing and Decryption stages in order to decrypt the data. The
computational time (in ms) for one multiplication, one exponentiation and one
attributes of each authority n and total number of attributes used by the data owner
as d, and N denotes the total number of authorities. The following table shows a
MA-ABE scheme and the proposed scheme. From the results, it shows that for both
181
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
Key Issuing and Decryption stages, the high-cost computational tasks are
182
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
6.5 Conclusion
The concept of ABE scheme has been demonstrated to perform a step closer in
securely sharing the data. The traditional ABE is based on a single authority which
manages all the attributes, communications and also issues the decryption keys.
From the security aspect, if the authority was attacked, the whole system will be
compromised. From the performance aspect, the authority is designed with too
much responsibility. It can be the bottleneck of the whole system when a large
number of users request keys at the same time. Furthermore, in the mobile Cloud
in the mobile Cloud environments. Thus, the decryption keys are not only issued
based on the attributes that are maintained by AAs, but also rely on policies defined
user requests the decryption keys from different authorities. The proposed scheme
also removes the dependency on the central authority which issues final decryption
keys and monitors all the communications to reduce the risk level of the system.In
this way, users can combine all the keys received from all the AAs and the real-time
contextual attributes captured by the mobile device in order to obtain the final
decryption key. Then, the author proposed the third scheme, the low-complexity
183
Chapter 6. Context-Aware Attribute-Based Encryption Schemes
analysing the second scheme, the author found that the performance of mobile
device to complete all the processes may degrade together with the user experience.
High computation workloads should be offloaded to the Cloud. The STA which
works on behalf of the user is introduced, thus the performance of mobile devices
are much improved. The communication overheads and computation work are
maintains the system security and data access at the same level as the previous
schemes.
184
7 Conclusions and Future Work
This thesis investigated security and privacy issues in the emerging mobile Cloud
do not support both the privacy and security issues in the mobile Cloud
between the user and smart devices, the user generates a large volume of personal
data. These data are eventually collected by the mobile Cloud service providers and
users do not have much control over their utilisation. In order to enhance the user
privacy together with security in the mobile Cloud environment, various access
access control and attribute-based encryption (ABE) schemes were modified in the
environments.
smart mobile devices. This enables the smart devices to offload computational,
information such as location, user behaviour and contact details. The existing
185
Chapter 7. Conclusions and Future Work
and OAuth were solely developed to protect user‟s identities in conventional Cloud
investigated the issues where such identity management systems are used in mobile
DAC, ManAC, RBAC, and ABAC, privacy protection languages such as P3P,
EPAL, and XACML and ABE encryption techniques cannot be directly extended to
For mobile Cloud environment, three techniques were proposed to protect users‟
privacy and security of online data: (1) deploying an access control technique to
protect the user data in Chapters 5 and 6, and (3) storing the online data in the
accesscontrol model is also given for mobile Cloud environments. The proposed
techniques mutually authorize the user and the service provider (SP).
define access control policies for their online data. SPs need to satisfy the privacy
access policy in order to obtain users‟ data. An attribute authority (AA) is proposed
to maintain attributes of the users and SPs. This assures the status of a SP so that
user‟s sensitive data will not be revealed to a malicious third party. The available
real-time context-related attributes such as time, date, and location are used during
the authorization process. When a requester requests user‟s privacy data, the system
will pick required real-time attributes to verify the requesterduring the policy
evaluation process. The model is built on top of the XACML standard, which is one
186
Chapter 7. Conclusions and Future Work
extended by using attributes from the mobile users, SPs, and surrounding
environment so that the authorization can be done at runtime. Thus, the access
control of user‟s data in mobile Cloud environment is more secure than the
Using XACML requires the system to follow the standards of XACML. All the
Different domains would define their own structures and protocols to set up an
request data from domain B if domain B could not understand the requested
process if there are a large number of policies. In order to address these issues, the
ABE scheme was modified to ensure the security of data together with privacy.
There were three different ABE schemes proposed in this thesis for data and
services access in the mobile Cloud environment. In the proposed schemes, the data
are stored in the encrypted formatso that data confidentiality is guaranteed. ABE
enables the data owner to define access policy during the encryption process. Due
to the features of mobile users and mobile platforms in mobile Cloud environment,
contextual attributes are available and can be used to strengthen the security and
data privacy. The first technique is a single authority context-aware ABE scheme
which incorporates contextual attributes. The data owner defines privacy access
policy during the encryption process and uploads the encrypted data. An AA
maintains a set of attributes, issues decryption keys and can monitor all the
187
Chapter 7. Conclusions and Future Work
communications. After receiving the decryption keys from the AA, the contextual
attributes of the data requester are also collected by data requester‟s mobile device.
These attributes are combined with the decryption keys to recover the original data.
Single authority ABE scheme is impractical since the single authority has too
much control, such as manages users‟ attributes, issues decryption keys, and
Also single authority system cannotbe scaled due to the bottleneck problem if there
are a large number of users requesting keys. Meanwhile, in reality, different sets of
proposed. More than one AA maintains different sets of attributes and issues
decryption keys. In order to protect user‟s identity from being tracked by each AA,
an anonymous key issuing protocol was proposed. Using this protocol, the data
the requester‟s data transactions. Due to the nature of the anonymous key issuing
protocol, as long as there are two honest authorities and other AAs are malicious;
the rest of the malicious AAs cannot combine the requester‟s data that they hold to
recover the original text. Thus, the collusion attacks are prevented. The proposed
scheme removed the central authority, which takes charge of issuing decryption
keys and monitoring all the activities. As a result, the central authority will not be
the bottleneck if the system is designed in a large scale. The loss of corruption of
In order to decrypt the ciphertext, the data requester must satisfy the access
188
Chapter 7. Conclusions and Future Work
combines them with the decryption keys received from all the AAs. The data
requester has to contact all the AAs to get the decryption keys. The communication
overheads will be high if there are a large number of AAs. In mobile Cloud
Furthermore, final decryption key is computed based on the keys received from all
the AAs and attributes captured by the mobile devices, hence the computational
work is a burden. Those two limitations affect the performances of the mobile
A low-complexity ABE scheme was proposed to address the issues that exist in the
computationsare migrated from the mobile end to the Cloud end. This method
improves the performance at the mobile end. In this proposed algorithm, a user is
not required to make contact with the AAs; STA requests the keys on behalf of the
user. The user has a pre-shared secret with each AA, which is unknown to the STA.
When issuing decryption keys, each AA embeds the pre-shared secret into the
recover the message. The security analysis showed that the proposed
only secure the users‟ data, but also empower the mobile users to control the
189
Chapter 7. Conclusions and Future Work
Finally, this thesis proposes the data access control techniques and ABE
schemes to protect users‟ privacy and sensitive data from unauthorized access.
In this part of the research work, an attributes-based access control model for
mobile Cloud environment is proposed to restrict access of users‟ online data. The
author deployed access control techniques to protect the user‟s data access.
XACML is used as the privacy access policy language, which is a flexible and
the use. The MA-ABE scheme removes the central authority and
manner.
190
Chapter 7. Conclusions and Future Work
AA cannot track a transaction and identify the user who initiates the
they hold to reveal the original text as long as there are two honest
against up to (N – 2) AAs.
The following summaries some of the future research work that could be carried out
in parallel. The user could not use the previous key to operate the
191
Chapter 7. Conclusions and Future Work
between the user and SPs and will be ideal for multi-Cloud
192
Bibligraphy:
[2] C. Ivan and R. Popa, "Cloud based Cross Platform Mobile Applications
Building and integrating cloud services with mobile client applications,"
Advances in Computer Science: an International Journal, vol. 3, pp. 69-77,
2014.
[6] H. T. Dinh, C. Lee, D. Niyato, and P. Wang, "A survey of mobile cloud
computing: architecture, applications, and approaches," Wireless
Communications and Mobile Computing, vol. 13, pp. 1587-1611, 2013.
[8] K. Sangani, "Rolling out the mobile future," Engineering & Technology,
vol. 7, pp. 80-81, 2012.
[9] S.-Z. Yang, "The marketing chain in the mobile Internet era," in Machine
Learning and Cybernetics (ICMLC), 2011 International Conference on,
2011, pp. 1058-1061.
[10] E. report. (Jan, 2013). Three Out of Four UK Mobile Users to Own
Smartphones by 2016. Available:
http://www.emarketer.com/Article/Three-of-Four-UK-Mobile-Users-Own-
Smartphones-by-2016/1009614
193
Bibliography
[16] Statista. (June 2014). Cumulative number of apps downloaded from the
Apple App Store from June 2008 to June 2014. Available:
http://www.statista.com/statistics/263794/number-of-downloads-from-the-
apple-app-store/
[17] Statista. (Sep. 2014). Number of available apps in the Apple App Store from
July 2008 to September 2014. Available:
http://www.statista.com/statistics/263795/number-of-available-apps-in-the
-apple-app-store/
[18] Statista. (July 2013). Cumulative number of apps downloaded from the
Google Play Android app store as of July 2013. Available:
http://www.statista.com/statistics/281106/number-of-android-app-downloa
ds-from-google-play/
[19] V. H. (24, July, 2013). Android's Google Play beats App Store with over 1
million apps, now officially largest. Available:
http://www.phonearena.com/news/Androids-Google-Play-beats-App-Store
-with-over-1-million-apps-now-officially-largest_id45680
[22] H. T. Dinh, C. Lee, D. Niyato, and P. Wang, "A survey of mobile cloud
computing: architecture, applications, and approaches," Wireless
Communications and Mobile Computing, 2011.
194
Bibliography
[25] P. Mell and T. Grance, "The NIST definition of cloud computing (draft),"
NIST special publication, vol. 800, p. 7, 2011.
[26] L. Zhong, B. Wang, and H. Wei, "Cloud computing applied in the mobile
internet," in Computer Science & Education (ICCSE), 2012 7th
International Conference on, 2012, pp. 218-221.
[27] R. Jain, "Quality of experience," IEEE MultiMedia, vol. 11, pp. 96-95,
2004.
[30] Z. Peng and Y. Zheng, "A QoS-aware system for mobile cloud computing,"
in Cloud Computing and Intelligence Systems (CCIS), 2011 IEEE
International Conference on, 2011, pp. 518-522.
[36] L. Zhang, X. Ding, Z. Wan, M. Gu, and X.-Y. Li, "WiFace: a secure
geosocial networking system using WiFi-based multi-hop MANET," in
Proceedings of the 1st ACM Workshop on Mobile Cloud Computing &
Services: Social Networks and Beyond, 2010, p. 3.
195
Bibliography
[42] G. Sloane. (2014). Foursquare Starts Selling All That Data. Available:
http://www.adweek.com/news/technology/foursquare-starts-selling-all-dat
a-158628
[44] (January 2014) Mobile Malware Infects Millions; LTE Spurs Growth.
Infosecurity. Available:
http://www.infosecurity-magazine.com/news/mobile-malware-infects-mill
ions-lte-spurs-growth/
196
Bibliography
[54] T. Dierks, "The transport layer security (TLS) protocol version 1.2," 2008.
[56] P. Karn, W. A. Simpson, and P. Metzger, "The ESP triple DES transform,"
1995.
[58] T. ElGamal, "A public key cryptosystem and a signature scheme based on
discrete logarithms," in Advances in Cryptology, 1985, pp. 10-18.
[59] R. L. Rivest, A. Shamir, and L. Adleman, "A method for obtaining digital
signatures and public-key cryptosystems," Communications of the ACM,
vol. 21, pp. 120-126, 1978.
[63] X. Wang, Y. L. Yin, and H. Yu, "Finding collisions in the full SHA-1," in
Advances in Cryptology–CRYPTO 2005, 2005, pp. 17-36.
[64] A. C. Weaver, "Secure Sockets Layer," Computer, vol. 39, pp. 88-90, 2006.
[66] P. Hallam-Baker and E. Maler, "Assertions and protocol for the oasis
security assertion markup language (saml)," OASIS XML-Based Security
Services Technical Committee, 2002.
197
Bibliography
[69] M. Walker. (27 Oct 2008). Windows Live ID now supports OpenID Identity
Framework. Available:
http://blogs.msdn.com/b/mikewalker/archive/2008/10/27/windows-live-id-
will-support-openid-identity-framework.aspx
[70] D. Burt. (27 Aug 2009). Windows Live ID OpenID Status Update. Available:
http://blogs.technet.com/b/privacyimperative/archive/2009/08/28/windows
-live-id-openid-status-update.aspx
[76] D. Recordon and D. Reed, "OpenID 2.0: a platform for user-centric identity
management," in Proceedings of the second ACM workshop on Digital
identity management, 2006, pp. 11-16.
198
Bibliography
[80] G. Alpár, J.-H. Hoepman, and J. Siljee, "The identity crisis. security,
privacy and usability issues in identity management," arXiv preprint
arXiv:1101.0427, 2011.
[83] H. Takabi, J. B. Joshi, and G.-J. Ahn, "Security and Privacy Challenges in
Cloud Computing Environments," IEEE Security & Privacy, vol. 8, pp.
24-31, 2010.
[89] D. Huang, T. Xing, and H. Wu, "Mobile cloud computing service models: a
user-centric approach," IEEE Network, vol. 27, pp. 6-11, 2013.
199
Bibliography
200
Bibliography
[108] T. Thomas, "A mandatory access control mechanism for the Unix file
system," in Aerospace Computer Security Applications Conference, 1988.,
Fourth, 1988, pp. 173-177.
[110] L. LI, Y.-Z. HE, and D.-G. FENG, "A fine-grained mandatory access
control model for XML documents," Journal of software, vol. 15, pp.
1528-1537, 2004.
201
Bibliography
202
Bibliography
[128] E. Yuan and J. Tong, "Attributed based access control (ABAC) for web
services," in Web Services, 2005. ICWS 2005. Proceedings. 2005 IEEE
International Conference on, 2005.
[129] E. Coyne and T. R. Weil, "ABAC and RBAC: Scalable, Flexible, and
Auditable Access Management," IT Professional, vol. 15, pp. 14-16, 2013.
[130] S. Hai-bo and H. Fan, "An Attribute-Based Access Control Model for Web
Services," in Parallel and Distributed Computing, Applications and
Technologies, 2006. PDCAT '06. Seventh International Conference on,
2006, pp. 74-79.
[133] L. Wang and B. Wang, "Attribute-Based Access Control Model for Web
Services in Multi-Domain Environment," in Management and Service
Science (MASS), 2010 International Conference on, 2010, pp. 1-4.
203
Bibliography
[142] J. Reagle and R. Wenning, "P3P and Privacy on the Web FAQ," The World
Wide Web Consortium, http://www. w3. org/P3P/P3FAQ. html, vol. 12,
1997.
[145] P. P. Privacy, "An Assessment of P3P and Internet Privacy," ed: Electronic
Privacy Information Center, 2000.
[150] A. Anderson, "A comparison of two privacy policy languages: EPAL and
XACML," Sun Microsystems, Inc.2005.
204
Bibliography
[161] A. Shamir, "How to share a secret," Communications of the ACM, vol. 22,
pp. 612-613, 1979.
205
Bibliography
[168] M. Li, S. Yu, Y. Zheng, K. Ren, and W. Lou, "Scalable and secure sharing
of personal health records in cloud computing using attribute-based
encryption," 2013.
[170] H.-C. Liao and Y.-H. Chao, "A new data encryption algorithm based on the
location of mobile users," Information Technology Journal, vol. 7, pp.
63-69, 2008.
206
Bibliography
[181] Oracle. (2013). MySQL :: The world's most popular open source database.
Available: http://www.mysql.com/
207
Bibliography
[196] A. D. Caro. (2012). The Java Pairing Based Cryptography Library (jPBC).
Available: http://gas.dia.unisa.it/projects/jpbc/index.html
208
Appendix
XACML Language
XACML Policy
The following polices defines that any user who holds an email address
from the domain of “city.ac.uk” have the access to read resources at
http://www.city.ac.uk.
209
Bibliography
category:access-subject"
AttributeId="urn:oasis:names:tc:xacml:1.0:
subject:subject-id"
DataType="urn:oasis:names:tc:xacml:1.0:datatype:
rfc822Name"/>
</SubjectMatch>
</Subject>
<Resources>
<Resource>
<ResourceMatch
MatchId="urn:oasis:names:tc:xacml:1.0:
function:anyURI-equal">
<AttributeValue
DataType="http://www.w3.org/2001/
XMLSchema#anyURI">
http://www.city.ac.uk</AttributeValue>
<ResourceAttributeDesignator
AttributeId="urn:oasis:names:tc:xacml:1.0:
resource:resource-id"
DataType="http://www.w3.org/2001/
XMLSchema#anyURI"/>
</ResourceMatch>
</Resource>
</Resources>
<Actions>
<Action>
<ActionMatch
MatchId="urn:oasis:names:tc:xacml:1.0:
function:string-equal">
<AttributeValue
DataType="http://www.w3.org/2001/XMLSchema#
string">
210
Bibliography
Read</AttributeValue>
<ActionAttributeDesignator
AttributeId="urn:oasis:names:tc:xacml:1.0:
action:action-id"
DataType="http://www.w3.org/2001/
XMLSchema#string"/>
</ActionMatch>
</Action>
</Actions>
</Target>
</Rule>
</Policy>
211
Bibliography
XACML Request
A user who holds an email account “[email protected]” requests the
resources of School of Engineering and Mathematical Science at
http://www.city.ac.uk.
212
Bibliography
<Action>
<AttributeAttributeId="urn:oasis:names:tc:xacml:1.0:
action:action-id"
DataType="http://www.w3.org/2001/XMLSchema#string">
<AttributeValue>read</AttributeValue>
</Attribute>
</Action>
</Request>
XACML Response
Regarding to the policy example and response context example, the user has
an email account “[email protected]” can obtain the data consent on the
resources at “http://www.city.ac.uk/”. The policy evaluation decision should be
Permit. The response context is listed as follows.
<Response>
<Result ResourceId="http://www.city.ac.uk/">
<Decision>Permit</Decision>
<Status>
<StatusCode Value="urn:oasis:names:tc:xacml:1.0:status:ok"/>
</Status>
</Result>
</Response>
213