PRIVACY-FRIENDLY FLEXIBLE IOT HEALTH DATA PROCESSING WITH USER-CENTRIC ACCESS CONTROL

Page created by Edwin Estrada
 
CONTINUE READING
1

                                                   Privacy-Friendly Flexible IoT Health Data
                                                  Processing with User-Centric Access Control
                                                                            Khlood Jastaniah, Ning Zhang, and Mustafa A. Mustafa

                                           Abstract—This paper proposes a novel Single and Multiple               and friends may need to have (or benefit from having) access
                                        user(s) data Aggregation (SAMA) scheme designed to support                to the results of these analytic models. Therefore, healthcare
arXiv:2203.00465v1 [cs.CR] 1 Mar 2022

                                        privacy preserving aggregation of health data collected from              systems should support wearable data processing and sharing
                                        users’ IoT wearables. SAMA also deploys a user-centric approach
                                        to support flexible fine-grain access control. It achieves this           with multiple and diverse data recipients [5].
                                        by deploying two key ideas. First, it uses multi-key Homo-                   Healthcare provision via wearable devices has led to an
                                        morphic cryptosystem (variant Paillier) to allow flexibility in           increased number of applications that collect, store and analyse
                                        accommodating both single and multi-user data processing as               (usually with the assistance of cloud providers) user sensitive
                                        well as preserving the privacy of users while processing their            wearable data at an unprecedented scale and depth [2], [6],
                                        IoT health data. Second, it uses ciphertext-policy attribute-based
                                        encryption to support flexible access control, which ensures users        [7]. However, this approach comes with mounting concerns
                                        are able to grant data access securely and selectively. Formal            over users’ data privacy (data confidentiality). The concerns
                                        security and privacy analyses have shown that SAMA supports               lead to two major issues. First, although data collection could
                                        data confidentiality and authorisation. The scheme has also               be done via secure channels, processing of user wearable data
                                        been analysed in terms of computational and communication                 is typically performed in plaintext and governed by service
                                        overheads to demonstrate that it is more efficient than the
                                        relevant state-of-the-art solutions.                                      providers who may outsource/disclose the wearable data or
                                                                                                                  analytic results to third parties [8], [9]. Second, users have no
                                           Index Terms—IoT, wearable, Multi-key Homomorphic encryp-
                                                                                                                  control over who access and share the collected and processed
                                        tion, Attribute based encryption, Access control, Privacy.
                                                                                                                  data [10]–[12]. In addition, unauthorised exposure of personal
                                                               I. I NTRODUCTION                                   health data violate the GDPR [13] and HIPPA [14] regulations
                                                                                                                  that advocates for users’ privacy protection and access control.

                                        I   OT wearable devices are becoming mainstream as people
                                            realize the benefits they bring to their life along with their
                                        low and affordable prices due to rapid development in sensors,
                                                                                                                  Therefore, it is important to achieve secure data processing and
                                                                                                                  sharing, adopting user-centric approach, which gives access
                                                                                                                  control over data in the hands of users rather than service
                                        wireless communication, and cloud computing technologies.                 providers.
                                        These devices are equipped with sensors and communication                    There are already attempts to tackle the aforementioned
                                        capabilities to collect (in real-time) users’ health related data         issues which can be generalised into two approaches. The first
                                        (e.g., heart rate, oxygen saturation), activities (e.g., steps count,     approach is based on homomorphic encryption schemes, while
                                        sleep quality), and environment (e.g., location, humidity) [1].           the second approach uses attribute-based encryption schemes.
                                           Modern healthcare systems can utilize data generated from
                                                                                                                  Existing solutions related to the first approach either support
                                        IoT wearable devices to support analytic models. Such models
                                                                                                                  secure data processing over data collected only from a single
                                        could be used to provide services (i) to individuals, e.g.,
                                                                                                                  user [15]–[20] or only from multiple users [12], [21]–[26],
                                        personalized treatments such as monitoring a patient remotely
                                                                                                                  but they do not efficiently support system models for both
                                        and diagnosing diseases early by detecting health anomalies,
                                                                                                                  single and multiple user data processing scenarios. In addition,
                                        and (ii) to the wider public for purposes such as predicting
                                                                                                                  the solutions using the second approach [11], [12], [27]–[29]
                                        the spread of disease by analysing data collected from mul-
                                                                                                                  assume that data processing entities – typically third-party
                                        tiple individuals [2], [3]. For instance, a study by Stanford
                                                                                                                  services providers – are trustworthy.
                                        Healthcare Innovation Lab [4] uses data collected from many
                                                                                                                     In modern healthcare systems, the enormous amount of
                                        commercial wearables, such as Apple Watch and Fitbit, to
                                                                                                                  wearable sensitive health data generated and some of the
                                        identify symptoms of people infected with Coronavirus at an
                                                                                                                  processing jobs are typically outsourced or delegated to third-
                                        early stage and also record the geographic spread of the virus.
                                                                                                                  party service providers, such as cloud providers due to user’s
                                           Moreover, many data recipients, including healthcare
                                                                                                                  constrained devices. In such cases, measures should be in
                                        providers, researchers, insurance companies, family members,
                                                                                                                  place such that any threats from the third-party service
                                          K. Jastaniah was supported by The University of Jeddah funded by the    providers can be addressed. Moreover, data owners should
                                        Saudi Government Scholarship. M. A. Mustafa was supported by the Dame     define fine-grained access control to both raw data and com-
                                        Kathleen Ollerenshaw Fellowship and by the EPSRC through the projects
                                        EnnCore EP/T026995/1 and SCorCH EP/V000497/1.                             puted/aggregated data and specify who can access which data
                                          K. Jastaniah, N. Zhang, and M.A. Mustafa are with the Department of     items (i.e. user-centric access control). In addition, there are
                                        Computer Science, The University of Manchester, Manchester, UK, e-mail:   multiple entities (e.g., healthcare professionals, researchers)
                                        {khlood.jastaniah, ning.zhang-2, mustafa.mustafa}@manchester.ac.uk.
                                          M.A. Mustafa is also with imec-COSIC, KU Leuven, Leuven, Belgium.       who require to process and access different sets of data of
                                          Manuscript received xxx xx, 2021; revised xxx xx, 2021.                 specific individuals and/or of a group of people for different
2

legitimate purposes [2], [12], and both types of data processing                       TABLE I: Acronyms.
and access (single and multiple users data) should be supported          Acronym    Meaning
and granted based on a user-centric approach [8]. Therefore,
                                                                         SAMA       Single And Multiple User Data Aggregation
there is a need for secure data processing that can accom-               DR         Data Recipient
modate single and multiple user data cases, while supporting             CSP        Cloud Service Provider
user-centric fine-grained data access capabilities.                      KA         Key Authority
                                                                         HE         Homomorphic Encryption
   To fill in this research gap, we propose a novel privacy-             PE         Pailliar Encryption
preserving Single And Multiple user data Aggregation                     VP-HE      Variant Paillier Homomorphic Encryption
(SAMA) scheme that supports single and multiple users data               ABE        Attribute Based Encryption
                                                                         CP-ABE     Ciphertext-Policy Attribute Based Encryption
processing over encrypted data and realises data sharing with
fine-grain access control based on a user-centric approach. To
the best of our knowledge, this paper is the first attempt to
combine single and multiple users data processing and sharing      devices that have limited computational capabilities. PHE
the processing results across multiple entities with the focus     schemes, on the other hand, support a limited number of
on a user-centric design approach. To this end, the novel          operations, addition or multiplication, on encrypted data. Such
contributions of this work are three-fold:                         PHE schemes (e.g., Paillier [32]) are suitable for resource
                                                                   constrained devices.
   • The design of SAMA – a novel privacy-preserving
      scheme to support secure aggregation of data collected          Some of the existing schemes that deploy HE [15]–[20]
      from both single and multiple users and secure data          have considered secure processing of data provided only
      sharing with fine-grain access control based on a user-      by one (single) user, while other schemes [12], [21]–[26]
      centric approach. The secure aggregation of data is en-      support secure processing of data coming only from different
      sured by using variant Paillier homomorphic encryption       (multiple) users. However, in modern healthcare systems, in
      (VP-HE) scheme in a multi-key environment such that          many cases, data recipients need to access the processing
      data from individual owners (users) are encrypted by         results of both single and multiple users’ data. In such cases,
      multiple users’ public keys in a twin-cloud architecture     the use of the above schemes has limitations. Firstly, HE
      and data processing can be carried out over the encrypted    proposals cannot efficiently support both single and multiple
      data. The fine-grained access control of the processing      users data processing scenarios. Secondly, HE cannot support
      result is supported by using Ciphertext-policy Attribute-    data sharing with multiple data recipients who require access
      based Encryption (CP-ABE), which gives data owners           to the same processing result.
      full control of the access rights over their data.              To support secure and user-centric access control, there are
   • The investigation of the SAMA scheme both theoretically
                                                                   proposals [11], [12], [27]–[29] adopting ABE schemes [33].
      (in terms of security) and through simulation (in terms      These proposals allow users to choose who can access their
      of computational and communication costs) – our results      data, hence supporting fine-grained access control and multi-
      indicate that SAMA satisfies the specified set of security   user access. ABE schemes can be classified into two types:
      and privacy requirements with lower computational and        ciphertext-policy ABE (CP-ABE) [34] and key-policy ABE
      communication cost in user and data recipients side          (KP-ABE) [35] schemes. The main difference between the
      compared with [30].                                          two types is the following. In the CP-ABE scheme, access
                                                                   structures are embedded with ciphertexts and users’ attributes
   The rest of this paper is organised as follows. Section II
                                                                   are embedded with the users’ private keys, while with the
discusses the related work. Sections III and IV show design
                                                                   KP-ABE scheme, the access structure is associated with the
preliminaries and main building blocks used in the design
                                                                   private keys of users and the ciphertexts are associated with
of SAMA. This is followed by a detailed design of the
                                                                   attributes. Therefore, with the KP-ABE schemes, users do not
SAMA scheme in Section V. Sections VI and VII detail
                                                                   have control over who can access the data; they can only
SAMA’s security/privacy analysis and performance evaluation,
                                                                   control attributes assignments [34]. ABE schemes, on their
respectively. Finally, Section VIII concludes the paper. The
                                                                   own, do not support computations over encrypted data.
acronyms used in the paper are shown in Table I.
                                                                      There are some existing proposals which combine secure
                                                                   data processing with access control. Ding et al. [30], [36]
                    II. R ELATED W ORK                             proposed a flexible access control over the computation results
   Efforts have already been made to preserve the confi-           of encrypted multiple users’ data by combining ABE with
dentiality of user data while data is being processed by           HE schemes. The computation supports addition, subtraction,
deploying different advanced cryptographic techniques. One of      multiplication, division, etc. However, these proposals do
the most widely used techniques is Homomorphic Encryption          not efficiently support processing over data of both single
(HE) which allows operations on encrypted data. There are          and multiple user(s) nor user-centric access control. Ruj and
mainly two types of HE schemes: Fully HE (FHE) and                 Nayak [37] combined Paillier HE with ABE to support privacy
partial HE (PHE). FHE schemes support an arbitrary number          preserving data aggregation and access control in the smart
of operations over encrypted data [31]. However, they are          grid. However, in their proposal, the aggregated data needs to
still impractical as they require high computational resources.    be decrypted and then re-encrypted with an access policy by
Hence they are not suitable for use in wearable/portable           a trusted authority, hence this solution places unconditional
3

trust on the data manager. Tang et al. [38] proposed privacy-
                                                                    Users                                                   Data Recipients
preserving fog-assisted health data sharing that supports a                                       Key Authority                                 Service Providers
flexible user-centric approach using ABE. Patients send the                                       Cloud Providers

abnormal values encrypted by symmetric encryption scheme                    •   ♥ 120

and define the access policy by encrypting the symmetric key
                                                                                                                            Insurance Stuff        Insurance
with ABE. It also supports naive Bayes disease classification                                         CSPA
                                                                                                                                                   Company

over the encrypted data at the fog node; however, it does not
effectively support processing over data from multiple users.
Pang and Wang [39] propose privacy preserving data mining                   •   ♥ 120

                                                                                                                             Researchers           Research
operations on outsourced data from multiple parties under                                             CSPB
                                                                                                                                                    Institute

multi-key environments using VP-HE. The proposal supports                                                                                              HOSPITAL

sharing of processed data only with a data recipient (miner);                                                       Nurse          Pharmacist
                                                                                                                                    • ••
however, it does not support user-centric and fine-grained data                                                     •   •
                                                                                                                                                   Healthcare
                                                                                                                    Doctor         Lab Worker       Provider
sharing with multiple users.
   In summary, the state-of-the-art research in privacy pre-
serving data processing either focuses on the single user or                            Fig. 1: System model of the SAMA scheme.
multiple user(s) data processing; they do not support both use-
cases systematically. Furthermore, there are limited efforts on
exploring the integration of privacy preserving data processing    but curious. They make legitimate requests to access users’
with fine-grained user-centric access control to support secure    data, but they may be curious to access or find out other
data processing and secure data sharing access among multiple      users’ data. The CSPs are semi-honest (honest-but-curious)
users. This paper aims to address this knowledge gap, to           entities. They follow the protocol as per the specifications, yet
design a solution that can efficiently support both single and     they are curious about the sensitive information of users or
multiple user data processing and fine-grained data sharing        any aggregated user data. The KA is considered a trustworthy
in a user-centric manner while protecting users’(data owners)      entity. It performs all its duties honestly and never colludes
data privacy.                                                      with any other entities. The external adversary bounded by
                                                                   computational resources (not having access to quantum com-
                     III. P RELIMINARIES                           puters) is considered as untrustworthy or even malicious.
  In this section, we introduce the system and threat model,       The external attackers may utilize different kinds of network
assumptions, notations, and design requirements of SAMA.           eavesdropping attacks and/or modify the data in transit or try
                                                                   to gain unauthorized access in an attempt to disrupt the system
                                                                   or the cloud servers.
A. System Model
   The system model used by SAMA consists of the following
                                                                  C. Assumptions
entities (see Fig. 1). Users are data owners who possess
wearables and are willing to share the data collected from           The following assumptions are considered in the SAMA
their wearables with various data recipients for their own        design.  The communication channels among all entities are
personal benefits or for the collective benefit of society.       encrypted  and authenticated. CSPA and CSPB do not collude
Users’ wearable data is usually collected and shared via          with  each other or with any other entities as they have a legal
their smartphone (gateway). Data recipients (DRs) are data        responsibility   to prevent leakage of the users’ sensitive data.
consumers who wish to utilise users’ wearable data in order       All entities’  identities are verified by the key authority before
to provide (personalised) services to users or society. Example   obtaining  the   encryption  and decryption keys.
DRs could be individuals such as the users themselves, their
family members, friends, professionals (e.g., named GPs), D. Design Requirements
organisations such as hospitals, research centers, insurance, or
                                                                     The proposed system should satisfy the following func-
charities, etc. Two cloud service providers store and process
                                                                  tional, security and privacy, and performance requirements.
data on behalf of users: Cloud A (CSPA ) provides users with
                                                                     1) Functional Requirements:
storage and processing for users’ data, and manages access
requests, while Cloud B (CSPB ) cooperates with CSPA in          (F1)  Flexible data processing: SAMA should support both
data computations and access control. A Key authority (KA)             single   and multiple user(s) data aggregation using the
plays the role of a key management organisation.                       same   system   model and without substantially increasing
                                                                       the computational and communication overhead.
                                                                 (F2) Fine-grain access control: SAMA should support a flexi-
B. Threat Model                                                        ble access policy for users and facilitate granting different
   This section describes the threat model of the proposed             access rights to a set of data recipients.
SAMA scheme as follows. Users are trustworthy but curious. (F3) user-centric: each user should control who is authorized
They outsource correct wearable data to cloud providers but            to access the raw data collected from their wearables as
are keen to learn other users’ data. DRs are also trustworthy          well as the aggregated data that includes their raw data.
4

   2) Security and Privacy Requirements:                                                            TABLE II: Notations.
(S1) Data confidentiality: users’ raw and aggregated data                        Symbol        Meaning
     should be protected from unauthorised disclosure.                           NU            number of users
(S2) Authorisation: only authorised DRs should be able to                        NDR           number of DR
     access users’ aggregated data based on the user-defined                     Nreq          number of data points requested for aggregation
                                                                                 Nm            number of messages received by Ui
     access policy.                                                              N             number of users in multiple users processing
   3) Performance Requirements:                                                  Ui            ith user, i = {1, . . . , N }
                                                                                 mi            raw data provided by Ui
(P1) Efficient: SAMA should be viable for wearables which                        ri            random number generated by CSPA for each Ui
     are devices with limited computational capabilities.
                                                                                 ssk           strong secret key in VP-HE
                                                                                 vpki , wski   VP-HE key pair (public key, weak secret key) of Ui
                      IV. B UILDING B LOCKS                                      EncV P        encryption using VP-HE
                                                                                 DecV P        decryption using VP-HE
  This section reviews briefly the Paillier cryptosystem [32],                   [msum ]       addition result encrypted by the vpki of Ui
the Variant-Paillier in Multikey cryptosystem [39], and CP-                      [mi ]         mi encrypted by the vpki of Ui
                                                                                 [ri ]         random number encrypted by the vpki of Ui
ABE [34], which are used in the SAMA scheme design. The
notations used throughout the paper are presented in Table II.                   EncP E        encryption using PE
                                                                                 DecP E        decryption using PE
                                                                                 ppkj , pskj   PE key pair (public key, private key) of DR
A. Paillier Cryptosystem                                                         pk            public parameters in CP-ABE
                                                                                 MK            master key in CP-ABE
   Paillier cryptosystem [32] is a practical additive homomor-                   sk            secret key in CP-ABE
phic encryption scheme proven to be semantically secure.                         EncABE        encryption using CP-ABE
   1) Paillier in Single-Key Environment: It consists of three                   DecABE        decryption using CP-ABE
                                                                                 APS /APM      single and multiple user(s) data access policy
algorithms: key generation algorithm (KGenP E ), encryption
algorithm(EncP E ), and decryption algorithm(DecP E ).
   • KGenP E (k’) −→ ppk, psk: Given a security parameter k’,                        g utn = 1 mod n2 , and gcd(L(g λ mod n2 ), n) = 1.
     select two large prime numbers p and q. Compute n =                             Define L(x) = (x − 1)/n. Compute h = g n×λ/t
     p · q, and λ = lcm(p − 1, q − 1). Define L(x) = (x −                            mod n2 . The public key is vpk = (n, g, h), the weak
     1)/n. Select a generator g ∈ Z∗n . Compute µ = (L(gλ                            secret key is wsk = t and the strong secret key is ssk = λ
     mod n2 ))−1 mod n. The public key is ppk = (n,g) and                        •   EncV P (vpk, m) − → c: Given a message m ∈ Zn and
     the private key is psk = (λ, µ).                                                a public key vpk = (n, g, h), choose a random num-
   • EncP E (ppk, m) − → c: Given a message m ∈ Z and a                              ber r ∈ Zn , and compute the ciphertext c as c =
     public key ppk = (n,g), choose a random number r ∈ Z∗n ,                        EncV P (vpk, m) = g m hr mod n2 .
     and compute the ciphertext c = EncP E (ppk, m) = gm · rn                    •   W DecV P (wsk, c) − → m: The decryption algorithm with
     mod n2 .                                                                        a weak secret key decrypts only the ciphertext encrypted
   • DecP E (psk, c) − → m: Given a ciphertext c and a                               with the associated public key. Given wsk and c, the
     private key psk = (λ, µ), recover the message m =                               ciphertext can be decrypted as m = W DecV P (wsk, c) =
     DecP E (psk, c) = L(cλ mod n2 ) · µ mod n.                                      L(ct mod n2 )
                                                                                     L(gt mod n2 ) mod n.
                                                                                 •   SDecV P (ssk, c) −→ m: The decryption algorithm with
   2) Variant-Paillier in Multi-Key Environment: The variant
                                                                                     a strong key decrypts the ciphertexts encrypted with any
Paillier scheme [39] is one of the recent variations of the Pail-
                                                                                     public key of the scheme. Given ssk and c, the ciphertext
lier cryptosystem. It is similar to the original scheme [32] with
                                                                                     can be decrypted as m = SDecV P (ssk, c) = L(cλ
a slight modification in the key generation algorithm, which
                                                                                     mod n2 ) · µ mod n.
makes it compatible to work in multiple users environment
by generating a different public-private key pair for each user                      L(cλ mod n2 )                     L(g λm mod n2 )
                                                                                                          mod n =                                mod n
with two trapdoor decryption algorithms. The scheme com-                             L(g λ mod n2 )                     L(g λ mod n2 )
prises four algorithms: key generation (KGenV P ), encryption
(EncV P ), decryption with a weak secret key (Decwsk ), and
decryption with a strong secret key (Decssk ).                                 B. Ciphertext-Policy Attribute Based Encryption
   • KGenV P (k) −          → vpk, wsk, ssk: Given a security pa-                 The CP-ABE is a type of public-key encryption in which
      rameter k, choose k + 1 small odd prime factors                          the ciphertext is associated with an access policy and user
      u, v1 , . . . , vi , . . . , vk and choose two large prime fac-          keys are dependent upon attributes to supports fine-grained
      tors vp and vq in which p and q are large primes                         access control [39]. It consists of four main algorithms: a
      with the same bit length. Compute p and q as p =                         setup algorithm (Setup), encryption algorithm (EncABE ), key
      2uv1 v2 · · · vi · · · vk vp +1 and q = 2uv1 v2 · · · vi · · · vk vq +   generation algorithm (KGenABE ), and decryption algorithm
      1. Calculate n = p · q and λ = lcm(p − 1, q − 1).                        (DecABE ).
      Choose t as a number or a product of multiple numbers                       • Setup(s, U ) −→ pk, mk: Given a security parameter s and
      from the set (v1 , v2 , . . . , vi , . . . , vk ), and t|λ naturally          a universe of attributes U , the setup algorithm outputs the
      exists. Choose a random integer g ∈ Zn∗2 that satisfies                       public parameters pk and a master key mk.
5

  •   EncABE (pk, M, A) −   → C: Given public parameters pk, a                                                                           Users                 CSPA                 CSPB                 DR

      message M , and an access structure A over the universe
      of attributes, the encryption algorithm outputs a ciphertext
      C which implicitly contains A.                                                                User
                                                                                                                                   Set APS and APM
                                                                                                   Access
  •   KGenABE (mk, s) −    → sk: Given a master key mk and                                                  policy
      a set of attributes s which describe the key, the key                                            setting
                                                                                                                                                       Store APS and APM

      generation algorithm outputs a private key sk.                                                                                  Encrypt data
  •   DecABE (pk, C, sk) −  → M : Given public parameters pk, a               Data
                                                                            uploading
      ciphertext C, which includes an access policy A, and a                                                                                           Store encrypted data

      private key sk, using a decryption algorithm, a user can                                                                   Request aggregated data

                                                                                                               Request case
      decrypt the ciphertext and get a message M only if the

                                                                                                                  User
                                                                                                                                                     Aggregate encrypted data
      attributes associated with the private key satisfy A.

                                                                       Data access request and processing
                                                                                                                                 Decrypt aggregated data

                   V. T HE SAMA S CHEME                                                                                                                                                      Request aggregated data

                                                                                                                                                           Select N users*
  In this section, we propose our novel secure data aggre-                                                                                        Aggregate encrypted data**
gation scheme, SAMA, that works on single and multiple                                                                                                       Mask data

                                                                                                               Request case
user(s) data with flexible data sharing, adopting a user-centric                                                                                                              Decrypt masked data

approach. First, we give an overview of SAMA and explain

                                                                                                                   DR
                                                                                                                                                                             Aggregate masked data*
                                                                                                                                                                         Encrypt masked data by ppkj
the system initialisation before presenting it in detail.                                                                                                                Encrypt pskj by APS or APM

                                                                                                                                           De-mask encrypted aggre-
                                                                                                                                           gated data
A. Overview of the SAMA Scheme                                                                                                                                                               Decrypt encrypted pskj
                                                                                                                                                                                             by skj
   The SAMA scheme mainly makes use of a combination of                                                                                                                                      Decrypt aggregated data
                                                                                                                                                                                             by pskj
the Paillier HE and CP-ABE schemes and consists of three
                                                                      *Only for multiple users data processing request
main phases: (i) user access polity setting, (ii) data uploading,      **Only for single user data processing request

and (iii) data access request and processing, as shown in Fig. 2.                                                             Fig. 2: An overview of the SAMA scheme.
   At the user access policy setting phase, to achieve a user-
centric fine-grained access policy, users define two types of                                                                 TABLE III: Cryptographic Keys of Entities.
access policies: single (APS ) and multiple (APM ) user(s) data
access policy and send them to CSPA . This allows CSPA to                                                                           Entity           Public Key               Private Key
process and share users’ data with DRs according to users’                                                                          User             vpki                     wski
preferences. In the data uploading phase, every user encrypts                                                                       CSPA             ppkj
their data with their VP-HE public key and sends the resulting                                                                      CSPB             ppkj and pk              pskj and ssk
                                                                                                                                    DR               ppkj                     pskj and skj
ciphertext to CSPA .
   During the data access request and processing phase, CSPA
receives requests from DR to access the (aggregated) data of
users. These requests are processed by the CSP s and the             the access policy APM . In both cases, CSPB sends both
results are shared with the corresponding requesters. There          ciphertexts to CSPA . CSPA then performs de-masking on the
                                                                     received ciphertext and sends the encrypted result (aggregated
can be three different types of requests, coming either by the
users themselves for accessing their own data or from the DRs        data) and CP-ABE ciphertext to DR. Finally, the authorized
requesting data of a single user or multiple users.                  DR who satisfies the access policy will be able to decrypt
                                                                     the CP-ABE ciphertext and obtain the Paillier private key to
   Upon receiving a request from a user, the CSPA aggregates
the user’s encrypted data and the result is sent back to the         decrypt the ciphertext of the final result (users aggregate data).
user. The user then can use their own VP-HE weak secret
key to obtain their aggregated data. If the request is received      B. System Initialisation
by DR for a single user’s data, CSPA aggregates the user’s
encrypted data, masks it, and sends the masked encrypted data           The system initialisation step comprises two phases: sys-
to CSPB . CSPB then performs strong decryption to obtain             tem parameters setup and cryptographic key generation and
the masked data, encrypts this result (masked aggregated data)       distribution. All the entities’ keys are listed in Table III.
with a Paillier public key and encrypts the Paillier private key        1) System Parameters Setup: In this phase, system param-
using CP-ABE with the access policy APS , and sends both             eters of the three encryption schemes are set.
ciphertexts to CSPA . However, if the request is received by                        •                         VP-HE setup: The KA sets a security parameter k and
DR for multiple users data processing, the process is slightly                                                chooses two large prime numbers p and q such that
different. CSPA gets the encrypted data of users, masks                                                       L(p) = L(q) = k. L is the bit length of the input data.
the data and sends the masked data to the CSPB . CSPB                               •                         Paillier setup: The KA selects the security parameter k ′ ,
then performs strong decryption on the received ciphertexts,                                                  such that k ′ > k. It then chooses two large prime numbers
aggregate them, encrypts the result with a Paillier public key,                                               p and q. Then, the key generation algorithm is initiated
and encrypts the Paillier private key using CP-ABE with                                                       as explained in the Section IV-A1
6

                    Users                                       CSPA                             Users                                   CSPA

                            User access policy setting                                  Data access request and processing (User Request case)

                                                                                                                Requests own Data
            User defines single and
            multiple user(s) access
            policy (APS , APM )
                                                                                                                                     Performs additive
                                                                                                                                     homomorphic
                                        APS , APM                                                                                    encryption
                                                                                                                Processing results
                                                       storage AP storage
                                                                                           Decrypts the
                                                                                           processing
                                                                                           results using wski
                                  Data uploading

            Users encrypt
            wearable data
            using vpki                                                        Fig. 4: Data access request and processing phase - user request.
                                      Encrypted data

                                                       storage Data storage
                                                                              DR with specific attributes satisfying the access policy can
                                                                              have access to the final aggregated result.
Fig. 3: User access policy setting and data uploading phase.                     (ii) APM allows users to determine whether they agree their
                                                                              data to be aggregated with other users’ data and the aggregated
                                                                              result can be accessed by DRs. In other words, each user
  •   ABE setup: The KA generates security parameters s and                   defines his/her sharing preferences and gives consent to allow
      U attributes, which are used to generate pk and mk using                use of their individual wearable data in aggregation along with
      the Setup algorithm described in Section IV-B.                          other users’ wearable data. Note that APM does not authorise
                                                                              CSPA to share any specific individual raw data with anyone. It
  2) System Key Generation and Distribution: This phase is                    only allows CSPA to use the encrypted data of users whose
divided into three steps outlined below.                                      sharing preferences match with the attributes of DRs who
  •   VP-HE Key Generation: The KA generates a unique                         have requested access to data.
      ssk and distinct variant Paillier homomorphic pub-                         b) Activate notification: Users can select to receive regular
      lic/private key pair (vpki , wski ) for every user Ui , i =             notifications, which is a summary of all single and multi-
      1, . . . , NU , using the KGenV P algorithm described in                user data requests to access their data received by DRs.
      Section IV-A2.                                                          Through the summary, users can check how many data access
  •   Paillier Key Generation: The KA generates a distinct Pail-              requests were granted/rejected. This will also allow users to
      liar homomorphic public/private key pair (ppkj , pskj ),                monitor who has requested access to their data and whose
      for each request that comes from the same or any DR, us-                requests were granted/rejected. Regular notification can be
      ing the KGenP E algorithm described in Section IV-A1.                   switched on/off by the user and can also be set to be received
  •   ABE Key Generation: The KA generates a distinct private                 as daily/weekly/monthly data access summaries. CSPA is
      key skj for every DRj , using KGenABE as described                      responsible to follow users’ notification selections.
      in Section IV-B. DRj obtains skj from the KA, which                        c) Update access policy: The CSPA provides the users the
      embeds her/his attributes/roles.                                        ability to update their access policy periodically or based on
                                                                              demand. Users also have the option to update their pre-defined
                                                                              access policies (APS and/or APM ) based on their notifications
C. SAMA in Detail
                                                                              details.
   The SAMA scheme consists of three main phases: (1) User                       2) Data Uploading: During this phase, users upload their
access policy setting, (2) Data uploading, and (3) Data access                data to CSP s regularly. More specifically, users encrypt their
request and processing.                                                       wearable data mi with their variant-Paillier public key, vpki ,
   1) User Access Policy Setting: This phase shown in Fig. 3                  to obtain Cvpki = EncV P (vpki , mi ) and send the encrypted
is usually performed at the setup stage. It allows users to set               data to CSPA . This phase is the same for single and multi-user
their access policy for data aggregation and sharing require-                 aggregated data sharing, as shown in Fig. 3.
ments and share it with CSPA . It includes three steps: a)                       3) Data Access Request and Processing: In this phase,
define access policy, b) activate notifications, and c) update                there can be three different types of data access requests for
access policy.                                                                users’ aggregated data as follows: a) Users request access
   a) Define access policy: Generally, the user defines two                   to their own (aggregated) data, b) DRs request access to
types of access policy: (i) single-user data aggregation and                  aggregated data of a single user and c) DRs request access
sharing access policy (APS ) and (ii) multiple-users data ag-                 to aggregated data of multiple users. The requests coming
gregation and sharing access policy (APM ).                                   from users are directly handled by CSPA , while the requests
   (i) APS allows users to control who can access the aggre-                  coming from DRs are handled by both CSP s.
gated results of their own data. Therefore, only the authorized                  a) User access request for own (aggregated) data: A user
7

requests CSPA to aggregate his/her own encrypted wearable                                Users                   CSPA                              CSPB                  DR

data and provide the processed result, as shown in Fig. 4.
Upon receiving the request to aggregate Nreq data points,
CSPA aggregates the users’ data (i.e., it performs additive                                      Data access request and processing (DR request case)
homomorphic operations    PNreq  by multiplyingQthe encrypted data                                                          Request single / multiple user(s) data
                                                       Nreq
of the user) to get [ i=1            mi ]vpki = i=1         Cvpki , where
                                                                                                            Select N users*
[data] denotes encrypted data. The result then is sent to the
                                          PNreq                                                      Aggregate encrypted data**
user. Then, the user can decrypt [ i=1              mi ]vpki with his/her                                   Mask data
                                                                                                                                  Masked Data
own
PNreq  weak   secret  key  wsk    i to  obtain
                                    PNreq        the  aggregated data as
                                                                                                                                         Decrypts and obtains the
   i=1   m i =  Dec  vp (wsk  i , [   i=1  m i ] vpki ).                                     Regular notifications                       masked data
                                                                                                                                         Aggregate masked data*
   b) DR access request for single-user data processing: A
                                                                                                                                       Encrypts the masked data with
DR requests access to the aggregated data of a (specific) single                                                                       ppkj and encrypts pskj with CP-
                                                                                                                                       ABE using APS /APM
user. For example, a doctor requires access to the aggregated                                                                     Masked Data
data of a specific patient to monitor his/her health condition.                                       De-mask encrypted data
                                                                                                                                                Data
The aggregated data can be accessed only by DRs (e.g.,
doctors, friends, etc) whose attributes satisfy the fine grain                                                                                             Decrypt CP-ABE(pskj ) and
                                                                                                                                                           use pskj to decrypt and get
access policy APS set by the user. This phase, as shown in                     *Only for multiple users data processing request
                                                                               **Only for single user data processing request
                                                                                                                                                           the processing result

Fig. 5, is divided into the following five steps:
   (i) Handling DR request: After a DR has issued a request                  Fig. 5: Data access request and processing phase -
to access the aggregated data of a single user, the CSPA                     DR request case.
performs the same additive homomorphic operations, as in
Step a) explainedPabove. The result is a ciphertext of the
                         Nreq
aggregated data: [ i=1         mi ]vpki .                                    Finally, it uses pskj to obtain the initially requested aggregated
                                                                                                  PNreq                        PNreq
   (ii) Masking: CSPA then masks the aggregated data. More                   data of the user: i=1        mi = DecP E (pskj , [ i=1   mi ]ppkj ).
specifically, it generates a random number rUi and encrypts it                  c) DR access request for multi-user data processing: A
with the user’s VP-HE public key, vpki , to obtain [rUi ]vpki =              DR requests access to aggregated data of multiple users. For
Encvp (vpki , rUi ). The ciphertext [rUi ]vpki then is multiplied            example, a researcher may require access to the aggregated
                                                        PNreq
with the ciphertext of the aggregated data [ i=1               mi ]vpki to   data of a specific set of patients (users) who, for instance,
                                                             PNreq
get a ciphertext of the masked aggregated data [ i=1 mi +                    suffer from the same disease. The aggregated data can be
               PNreq
rUi ]vpki = [ i=1      mi ]vpki ∗ [rUi ]vpki . The result is then sent       accessed only by DRs whose attributes satisfy the fine grain
to CSPB along with the APS set by the user.                                  access policy APM of the users whose data is requested. This
   (iii) Preparing the processing result: Upon receiving the                 phase is also shown in Fig. 5 and consists of the following
result, CSPB decrypts it using its strong                 decryption key     steps.
                                                    PNreq                        (i) Handling DR request: Upon receiving a request to
ssk to get the masked aggregate data                    i=1 mi + rUi =
               PNreq                                                         access aggregated data of multiple users, the CSPA initiates
Decvp (ssk, [ i=1 mi + rUi ]vpki ). Then, a new Paillier key
pair (ppkj , pskj ) is generated by KA (based on CSPB                        the process by comparing users’ APM with DR attributes. It
request) and the new key pair is sent back to CSPB .                         then selects users whose APM matches with DR request. For
The new Pailliar public key, ppkj , is used to encrypt the                   simplicity, let us assume that CSPA selects N users.
                                            PNreq                                (ii) Masking: CSPA starts the masking process by gen-
masked aggregated data to get [ i=1                   mi + rUi ]ppkj =
                PNreq                                                        erating a random number for every user’s data used in the
EncP E (ppkj , i=1 mi + rUi ), while the new Pailliar private                aggregation. It then encrypts these generated random numbers
key pskj is encrypted by the user defined access policy (APS )               with the corresponding users’ variant Paillier public keys,
to get [pskj ]APS = EncABE (pk, pskj , APS ). Finally, the two
                             PNreq                                           vpki , generating [rUi ]vpki = Encvp (vpki , rUi ). Next, each
generated ciphertexts ([ i=1           mi + rUi ]ppkj and [pskj ]APS )       encrypted random number is multiplied with the respective
are sent to CSPA .                                                           user’s encrypted data, [mi ]vpki , to obtain [mi + rUi ]vpki =
   (iv) De-masking: When CSPA receives the two cipher-                       [mi ]vpki ∗ [ri ]vpki . Finally, the N masked ciphertexts are sent
texts, it initiates the de-masking process. It encrypts the                  to CSPB along with the APM set by the user for further
random number rUi (used previously in the masking process)                   processing.
with ppkj to obtain [rUi ]ppkj = EncP E (ppkj , rUi ). Then,                     (iii) Preparing the processing result: this step consists of
CSPA calculates the additive inverse of [rUi ]ppkj , generating              the outlined sub-steps below:
                        n−1
[−rUi ]ppkj = [rUi ]ppk      . Finally, it de-masks the aggregated              - The CSPB decrypts all the received masked cipher-
                      PNreqj
                                               PNreq
data as follows: [ i=1 mi ]ppkj = [ i=1                   mi + rUi ]ppkj ∗         texts with the variant Paillier strong secret key ssk to
[−rUi ]ppkj .                                                                      obtain the individual users’ masked data: mi + rUi =
   (v) DR access the processing result: DR can access the                          Decvp (ssk, [mi +rUi ]vpki ). Then, it performs an addition
processing result only if the DR’s key attributes satisfy the                      operation
                                                                                   PN           toPget the maskedPN aggregation as follows:
                                                                                                     N
user’ APS . Hence, DR can decrypt and obtain pskj by                                  i=1 m  i +     i=1 rU i =    i=1 (mi + rUi ).
using its ABE secret key pskj = DecABE (pk, [pskj ]APS , sk).                   - KA generates a new Paillier public-private key
8

     (ppkj , pskj ) for every authorised DR request received.                        TABLE IV: Requirements Comparison.
   - CSPB encrypts the masked      PNresult using
                                               PN the Pailliar
     public key ppkj to obtain [ i=1 mi + i=1 rUi ]ppkj =                                               [37]   [38]   [39]   [30]   SAMA
                      PN          PN
     EncP E (ppkj , ( i=1 mi + i=1 rUi )), while the corre-           single-user data processing.              X                    X
     sponding private key pskj is encrypted with the common           Multiple users data processing.   X              X      X      X
     APM : [pskj ]APM = EncABE (pk, pskj , APM ).
                                                  PN                  Fine-grain access control         X       X             X      X
   - Lastly, CSPB sends both ciphertexts [ i=1 mi +
     PN                                                               User-centric                              X                    X
       i=1 rUi ]ppkj and [pskj ]APM to CSPA .
     (iv) De-masking: in this phase, CSPA performs the
following steps: It aggregates all the random  PN numbers rUi         B. Security of the SAMA Scheme
(used in the masking process) to obtain               r . It then
                                               P i=1 Ui
encrypts the result with ppkj to get [ N           i=1 Ui ]ppkj =
                                                      r                  The security analysis of the SAMA scheme is based on the
                PN
EncP E (ppkj , i=1 rUi ). After that, it computes the additive        simulation paradigm with the presence of semi-honest (honest-
              PN
inverse of [ i=1 rUi ]ppkj by raising it to the power of              but-curious and non-colluding) adversaries. To prove that the
             PN                  P                                    execution view of the IDEAL world is computationally indis-
n − 1: [− i=1 rUi ]ppkj = [ N             rU ]n−1 . Finally, it de-
                                PNi=1 i ppkj           PN             tinguishable from the execution view of the REAL world, we
mask the result as follows: [ i=1 mi ]ppkj = ([ i=1 mi +
PN                       PN                                           construct four simulators (SimU , SimCSPA , SimCSPB , and
   i=1 rUi ]ppkj ) ∗ ([−  i=1 rUi ]ppkj ).                            SimDR ), which represents four entities U , CSPA , CSPB ,
    (v) DR access the processing result: the DR decrypts              and DR. These simulators simulate the execution of the fol-
[pskj ]APM using sk if the DR’s key satisfies the access policy:      lowing adversaries AdvU , AdvCSPA , AdvCSPB , and AdvDR
pskj = DecABE (pk, [pskj ]APM , sk). Finally, the DR uses             that compromise U , CSPA , CSPB , and DR, respectively.
the obtained pskj to obtain the requested aggregated data:
PN                          PN                                        Note that KA is excluded as it is assumed to be a trustworthy
   i=1 mi = DecP E (psk, [     i=1 mi ]).                             entity.
                                                                         T heorem 1. The SAMA scheme can securely retrieve the
                                                                      aggregation result plaintext of the addition computations over
D. Functional Requirements Comparison                                 encrypted data in the presence of semi-honest adversaries.
   The functional requirements achieved by SAMA in com-                  P roof : We prove the security of the SAMA scheme by
parison with related schemes [30], [37]–[39] are summarised           considering the case with two data inputs.
in Table IV. Compared to these schemes, SAMA achieves all                1) SimU : The SimU encrypts the provided inputs m1
the specified functional requirements.                                and m2 using VP-HE and returns both ciphertexts to AdvU .
                                                                      The simulation view of the IDEAL world of AdvU is
                                                                      computationally indistinguishable from the REAL world view
                  VI. S ECURITY A NALYSIS                             owing to the semantic security of VP-HE.
                                                                         2) SimCSPA : The SimCSPA simulates AdvCSPA in single
   In this section, we perform a security analysis which in-
                                                                      and multiple user(s) data processing scenarios. In the single-
cludes the security of the cryptosystems used (Paillier, variant
                                                                      user data case, SimCSPA multiplies the provided ciphertexts
Paillier, and CP-ABE), the security of the SAMA scheme, and
                                                                      and then encrypts a random number r with VP-HE. Next, it
the security requirements of SAMA.
                                                                      multiplies the encrypted random number with the result of
                                                                      the multiplication of the ciphertexts. Later, the same random
                                                                      number r is encrypted with the public key of the Paillier
A. Security of the Cryptosystems
                                                                      scheme and its ciphertext is raised to n−1 and multiplied with
   The security of the Paillier cryptosystem [32] depends on          the given ciphertext. In the multiple users data case, SimCSPA
the hardness of the Composite Residuosity Class problem               generates two random numbers r1 and r2 , encrypts them with
in the standard model. The scheme is semantically secure              the public key of the VP-HE and multiplies the encrypted
against chosen-plaintext attack as the Decisional Composite           random numbers with the ciphertexts (encrypted m1 and m2 ),
Residuosity assumption holds. The variant Paillier [39] is            respectively. Later, the same random numbers are encrypted
similar to the Paillier encryption with a slight change in            with the public key of the Paillier scheme, and the results
the key generation algorithm (described in Section IV-A2).            are raised to n − 1 and multiplied with the given ciphertext.
Hence, its security follows directly from the security of the         In both cases, the AdvCSPA receives the output ciphertexts
Paillier cryptosystem, which is proven to satisfy the seman-          from SimCSPA . Therefore, the REAL and IDEAL views
tic security in the standard model under the assumption of            of AdvCSPA are computationally indistinguishable owing to
the intractability of the Composite Residuosity Class hard            the semantic security of VP-HE and Paillier encryption.
problem [39]. Moreover, the CP-ABE is secure under the                   3) SimCSPB : The execution view of CSPB in the REAL
generic elliptic curve bi-linear group and random Oracle model        world is given by both ciphertext of (m1 + r1 ) and (m2 + r2 ),
assumptions [34]. Therefore, the SAMA scheme builds its               which are used to obtain m1 + r1 and m2 + r2 by executing
security on the proven security of the Paillier, variant Paillier,    decryption with the strong secret key on these ciphertexts (r1
and CP-ABE cryptosystems.                                             and r2 are random integers in Zn ). The execution view of
9

CSPB in the IDEAL world has two ciphertexts randomly                user-centric access policy has been applied in the design of
selected in the Zn2 . The SimCSPB simulates AdvCSPB in              the SAMA scheme, which allows users to define their access
both single and multiple user(s) data processing scenarios. In      policies to securely and selectively grant DRs access to the
the single-user data case, SimCSPB simulates AdvCSPB as             processing result. Thus, the processing result is encrypted
follows. The SimCSPB runs the strong decryption algorithm           using APS and APM , which are access policies set by users
and obtains m′1 + m′2 + r′ and then the decryption result           to determine their sharing preferences for sharing the single
undergoes further encryption by the public key of Paillier          and multiple users data processing results. Hence, the private
encryption to obtain a new ciphertext. In the multiple users        key of DR (sk) is required to decrypt the encrypted processing
data case, SimCSPB runs the strong decryption algorithm             result using CP-ABE and only the authorised DR who satisfies
and obtains m′1 + r1′ and m′2 + r2′ . Then, the SimCSPB             the access policy can access the key and thereby decrypt the
aggregates the decryption results, and then the aggregated          processing result. Thus, using CP-ABE, SAMA provides user-
result is further encrypted by Paillier encryption public key to    centric fine grain access control and only authorized DR can
obtain a ciphertext. Next, in both cases, a randomly generated      access the processing result (satisfying (S2)).
number is encrypted with CP-ABE. Then, the two ciphertexts
(generated by the Paillier and CP-ABE schemes) are provided                      VII. P ERFORMANCE E VALUATION
as a result by SimCSPB to AdvCSPB . These ciphertexts are             In this section, we evaluate the performance of the SAMA
computationally indistinguishable between the REAL and              scheme in terms of the computational complexity and commu-
IDEAL world of AdvCSPB since the CSPB is honest and                 nication overheads incurred among all entities in the system.
the semantic security of VP-HE and Paillier cryptosystem, and       We also compare the performance of SAMA with the perfor-
the security of CP-ABE.                                             mance of the most relevant work [30].
   4) SimDR : The SimDR randomly selects chosen cipher-
texts (besides not having access to challenged data), decrypts,
and sends them to AdvDR to gain data information. The               A. Computational Complexity
view of the AdvDR is the decrypted result without any other            The computationally expensive operations considered in the
information irrespective of how many times the adversary            SAMA scheme are the modular exponentiation and multiplica-
access the SimDR . Due to the security of CP-ABE and the            tion operations, denoted as M odExp and M odM ul, respec-
semantic security of the Paillier scheme, both REAL and             tively. We ignore the fixed numbers of modular additions in
IDEAL world views are indistinguishable. Since the user data        our analysis as their computational cost compared to M odExp
encryption process and DR decryption process are common             and M odM ul is negligible. In our analyses we also use the
for both single and multi-user data processing in the SAMA          following parameters: BiP air is the cost of a bilinear pairing
scheme, the security proof of AdvU and AdvDR is common              in ABE; |γ| + 1 is the number of attributes in the access
for both single and multi-user scenarios.                           policy tree and ϑ is the number of attributes needed to satisfy
                                                                    the access policy. Furthermore, we divide the complexity of
                                                                    SAMA to computations related into HE for data aggregation
C. Analysis against Security Requirements                           and ABE for access control.
   1) Data Confidentiality: Every user encrypts his/her data           1) Computational Complexity of HE Data Aggregation: In
using his/her VP-HE public key vpki . CSPA then performs            our analysis, we split the computational complexity into four
homomorphic addition operation over encrypted data, and             parts: the complexity at each of the entities.
delivers the processing result ciphertext with the encrypted           Computations at User Side: This is a common step for sin-
private Paillier key psk using CP-ABE to the DR. Only               gle and multiple user(s) data cases. At each reporting time slot,
authorized DRs can obtain psk and hence have access to the          each user encrypts their data by their VP-HE public key vpki
user data. Furthermore, the SAMA scheme conceals users’ raw         to generate a ciphertext used for data processing/analyzing.
data by adding random numbers at CSPA , i.e., masking the           This encryption requires two modular exponentiation opera-
processed data, hence preserving the privacy of the user(s) data    tions, hence the computational complexity at the user side is:
at CSPB . Moreover, the Paillier cryptosystem is semantically       2 ∗ M odExp.
secure and the CP-ABE is secure under the generic elliptic             Computations at CSP s: This includes operations per-
curve bi-linear group model as discussed in VI-A. In addition,      formed by CSPA and CSPB . As these operations are slightly
the communication channels among all the entities (user,            different for the single and multiple user(s) data processing
CSPA , CSPB , and DR) are secure (e.g., encrypted using             scenarios, we analyse them separately.
SSL). Therefore, based on all of the above, only the authorised        For the single-user data processing case, CSPA performs
entities (i.e., the user or DR) can access the processing result    additive homomorphic encryption on the received user ci-
and all the unauthorised internal or external entities who might    phertexts ((Nm − 1) ∗ M odM ul), generates a random num-
eavesdrop messages sent and/or collect information can only         ber r, encrypt it with the user’s VP public key vpki (2 ∗
access the ciphertext of the users (satisfying (S1)).               M odExp), multiplies the results of the homomorphic ad-
   2) Authorisation: SAMA uses CP-ABE to implement se-              dition with the encrypted random number (M odM ul) and
cure fine grain access control, where the processing result is      sends it to CSPB . Next, CSPA re-encrypts the generated
encrypted by the user defined access policies and the decryp-       random number r by ppkj (2 ∗ M odExp), calculates the
tion key is associated with the attributes of the recipients. The   additive inverse of r (M odExp), and then multiplies it with
10

                                                       TABLE V: Computation Cost.
 Entity   Computation of single-user Data Processing     Computation of Multiple Users Data Processing   Computation of Addition in [30]
 U ser                               2 ∗ M odExp as this is a common step                                4 ∗ M odExp
 CSP      (Nm + 2) ∗ M odM ul + 9 ∗ M odExp +            (4∗N +5)∗M odExp+(2∗N +1)∗M odM ul+             Nm ∗ M odM ul + 7 ∗ M odExp +
          (|γ| + 1) ∗ Exp                                (|γ| + 1) ∗ Exp                                 2 ∗ (|γ| + 1) ∗ Exp
 DR       2 ∗ M odExp + M odM ul + ϑ ∗ BiP air           2 ∗ M odExp + M odM ul + ϑ ∗ BiP air            2 ∗ M odExp + M odM ul +
                                                                                                         ϑ ∗ BiP air

the encrypted processing result (M odM ul) to remove the                U . This requires |U | + 1 exponentiations and one bi-linear
masking from the original data. Thus, CSPA performs in                  pairing. The EncABE () requires two exponential operations
total: (Nm + 1) ∗ M odM ul + 5 ∗ M odExp. CSPB per-                     for each leaf in the ciphertext’s access tree τ , which needs
forms strong decryption using ssk on the received ciphertexts           (|γ| + 1) ∗ Exp, whereas the KGenABE () algorithm requires
(2 ∗ M odExp + M odM ul). It then encrypts the aggregated               two exponential operations for every attribute given to the user.
masked result with ppkj (2 ∗ M odExp), and encrypts pskj                Also, the private key consists of two group elements for every
with CP-ABE using APS ((|γ| + 1) ∗ Exp). Hence, CSPB                    attribute. Finally, DecABE () requires two pairings for every
performs in total: 4 ∗ M odExp + M odM ul + (|γ| + 1) ∗ Exp.            leaf of the access tree τ matched by a private key attribute
   In total, the computational cost at CSP s in a single-user           and at most one exponentiation for each node along a path
data processing case is: (Nm +2)∗M odM ul +9∗M odExp+                   from that leaf to the root node.
(|γ| + 1) ∗ Exp.                                                           The Setup() only need to be executed once. Thus, its
   For the multiple users data processing case, CSPA gen-               computational complexity can be neglected in both single
erates a random number for every user’s data (N users),                 and multiple users data processing cases. Further, EncABE ()
encrypts them using the VP public key of the corresponding              is performed only once to encrypt the private key of the
user, vpki , (N ∗ 2 ∗ M odExp), and then multiplies the                 encrypted final result in both single and multi-user scenarios,
resulting ciphertexts with the ciphertexts received from users          also its computation cost is negligible. Moreover, Setup()
(N ∗ M odM ul). Later, it aggregates all the generated random           and KGenABE () are performed at KA and EncABE () by
numbers, encrypts it using ppkj (2 ∗ M odExp), calculates               CSPB , which means users will not be burdened with the
the additive inverse of the aggregation result (M odExp),               computational cost. Although the DecABE () algorithm is
and then multiplies the aggregation result ciphertext with              performed by DR which incurs some computational cost, it is
the received ciphertext from CSPB (M odM ul) to remove                  an essential requirement to provide an authorised DR access
the masking from the original data. Thus, the computational             to the final result with fine grained access control.
cost of CSPA in multiple users data processing case is:
(N ∗2+3)∗M odExp+(N +1)∗M odM u)). CSPB performs                        B. Communication Overhead
strong decryption using ssk for all N received ciphertexts                 There are two types of communication overhead incurred
(N ∗ (2 ∗ M odExp + M odM ul)), and then aggregates the
                                                                        in the SAMA scheme: overhead due to occasional data com-
decryption result. Next, it encrypts the addition result with a
                                                                        munication and overhead due to regular data communication.
Paillier public key ppkj (2∗M odExp), and then encrypts psk             The former overhead captures the data sent occasionally, e.g.,
with CP-ABE using APM (|γ| + 1) ∗ Exp). Hence, the total
                                                                        AP (APS , APM ) uploads/updates and notifications. The latter
computation cost of CSPB in multiple users data processing              overhead includes the regular data communication patterns
case is: (2∗N +2)∗M odExp+N ∗M odM ul+(|γ|+1)∗Exp                       within SAMA, such as data upload, data requests, and data
   Therefore, in total, computational complexity of both CSP s          exchanged between cloud providers when data is being pro-
in multiple users data processing case is: (4 ∗ N + 5) ∗                cessed. Since the former overhead is negligible compared to
M odExp + (2 ∗ N + 1) ∗ M odM ul + (|γ| + 1) ∗ Exp.                     the latter overhead, here we focus only on the communication
   Computations at DRs: In single and multiple users data               overhead due to regular data communication patterns.
processing, a DR decrypts a ABE ciphertext using his/her sk                To ease the analyses, we divide the communication overhead
to obtain the Pailliar decryption key pskj (at most ϑ∗BiP air),         introduced by the SAMA scheme into three parts: overhead
and then uses it to decrypt the encrypted processing result             incurred (1) between users and CSP s denoted as (Users-
(2∗M odExp+M odM ul). In total, this gives a computational              to-CSP s), (2) between CSP s (Between-CSP s), and (3)
cost at DR: (2 ∗ M odExp + M odM ul + ϑ ∗ BiP air).                     between CSP s and DRs (CSP s-to-DRs).
   We compare the total computational costs of each entity in              1) Users-to-CSP s: This is a common step for single and
SAMA with the addition scheme of [30] in Table V.                       multiple users data cases. At each data reporting time slot, each
   2) Computational Complexity of Access Control: We as-                user Ui sends one ciphertext to CSPA . As each ciphertext has
sume that there are |U | universal attributes, in which |γ|             a length of 2∗L(n) (operations are performed under mod n2 ),
attributes are in the access policy tree τ , and at most ϑ              the total communication overhead for this part in single and
attributes should be satisfied in the access policy tree τ to           multiple users data processing is: N ∗ 2 ∗ L(n).
decrypt the ciphertext. The Setup() will generate the public               2) Between-CSP s: The communication between CSP s in
parameters using the given system parameters and attributes             single-user data processing is as follows. CSPA sends one
11

                                                  TABLE VI: Communication Overhead.
                       Communication of single-user           Communication of Multiple Users                                    Communication of Addition
                       Data Processing                        Data Processing                                                    in [30]
 User-to-CSPA                             N ∗ 2 ∗ L(n) as this is a common step                                                  N ∗ 4 ∗ L(n)
 CSPA ↔ CSPB           4 ∗ L(n) + (|γ| + 1) ∗ L               (n + 1) ∗ 2 ∗ L(n) + (|γ| + 1) ∗ L                                 8 ∗ L(n) + (|γ| + 1) ∗ L
 CSPA -to-DR           2 ∗ L(n) + (|γ| + 1) ∗ L               2 ∗ L(n) + (|γ| + 1) ∗ L                                           4 ∗ L(n) + (|γ| + 1) ∗ L

ciphertext of length 2 ∗ L(n), which is the masked aggregated                              Our single and multi-user
                                                                                                                                                     200
                                                                                                                                                            Our multi-user
                                                                                                scheme in [30]                                              scheme in [30]
user’s data, to CSPB . Then, CSPB sends one ciphertext of                           40
                                                                                                                                                     150    Our single-user

2 ∗ L(n) to CSPA , which is the masked encrypted processing

                                                                        Time (ms)

                                                                                                                                         Time (ms)
                                                                                                                                                     100
result, and one CP-ABE ciphertext of (|γ| + 1) ∗ L, where                           20
L is the bit length of elements in ABE. Therefore, the                                                                                               50

total communication among CSP s in the single-user data                              0                                                                0
processing case is: 4 ∗ L(n) + (|γ| + 1) ∗ L.                                             512                      1024           2048                     512                      1024          2048
                                                                                                             length of n (bit)                                                length of n (bit)
   The communication between CSP s in multiple users data
processing is as follows. CSPA sends N ciphertext (masked               (a) Operation time of the user (b) Operation time of CSPA with
of encrypted user’s data) of length 2 ∗ L(n) to CSPB ,                  with the different lengths of n the different lengths of n
                                                                                    200
which is N ∗ 2 ∗ L(n). Then, similar to the single-user data                               Our multi-user
                                                                                           scheme in [30]
                                                                                                                                                     30
                                                                                                                                                            Our multi-user
                                                                                                                                                            scheme in [30]
                                                                                           Our single-user                                                  Our single-user
processing scenario, CSPB sends one ciphertext of 2 ∗ L(n)                          150

                                                                                                                                                     20

                                                                        Time (ms)

                                                                                                                                         Time (ms)
and (|γ| + 1) ∗ L of the CP-ABE ciphertext to CSPA . The                            100

total communication cost among CSP s in multiple users data                                                                                          10
                                                                                    50
processing case is: (N + 1) ∗ 2 ∗ L(n) + (|γ| + 1) ∗ L.
   3) CSP s-to-DRs: In the single and multiple users data,                           0                                                                0

CSPA sends to DRs one ciphertext of length 2 ∗ L(n) (the                                  512                      1024
                                                                                                             length of n (bit)
                                                                                                                                  2048                     512                      1024
                                                                                                                                                                              length of n (bit)
                                                                                                                                                                                                  2048

encrypted processing result) and one CP-ABE ciphertext of
                                                                        (c) Operation time of CSPB with (d) Operation time of DR with the
length (|γ|+1)∗L. Thus, The communication between CSPA                  the different lengths of n      different lengths of n
and the DRs is: 2 ∗ L(n) + (|γ| + 1) ∗ L.
   A comparison between the communication overhead of the
SAMA scheme and the addition scheme proposed in [30]                    Fig. 6: Computational cost of the SAMA scheme with the
is shown in Table VI. Overall, we can observe that the                  different lengths of n.
SAMA scheme has lower communication overhead than the
Addition scheme in [30] at the user and DR side, while, the
communication overhead between CSP s in multiple users                     1) Computational Cost of Data Processing: We evaluate
case of the SAMA scheme is higher than [30].                            the computational cost for all of the four entities: Ui , CSPA ,
                                                                        CSPB and DR in both single and multiple users data pro-
C. Experimental Results                                                 cessing scenarios and compare with the related work [30]
   Here we present the experimental results of SAMA in                  (multi-user) in terms of different lengths of n. In addition,
three different settings: (1) computational cost of the data            we show the computational cost of single and multiple users
processing operations, (2) computational cost of the data               processing cases with a variable number of messages and
access operations, and (3) communication overheads within               users, respectively.
SAMA.                                                                      (i) Influence of different lengths of n on data processing:
   For the computational cost, we have implemented the                  Figure 6a shows the influence of the different lengths of n
SAMA scheme to test its computational performances by                   on data processing of two messages, where n=512, 1024, and
conducting experiments with Java Pairing-Based Cryptogra-               2048 bits. We can observe that the computational cost is low
phy (jPBC) [40] and Java Realization for Ciphertext-Policy              on the user side, hence acceptable for resource-constrained
Attribute-Based Encryption (cpabe) [41] libraries on a laptop           devices. In our single and multiple users data processing,
with Intel Core i7-7660U CPU 2.50GHz and 8GB RAM. We                    CSPA and CSPB achieve better computational efficiency
ran each experiment 500 times and took the average values. We           compared to the scheme in [30], as shown in Fig. 6b and 6c,
set the length of n to 1024 bits, m to 250 bits, and r to 500 bits.     respectively. The operation time of DR, as shown in Fig. 6d,
We show the computation evaluation for the single-user and              is the least among all the other entities because it only needs to
multiple users data processing for all entities separately and          decrypt the processed result. Even when the n length reaches
specifically CSPA and CSPB as they perform different sets               2048 bits, it still only needs about 30ms to complete the
of computations in each case as described in Section VII-C1.            computations. Further, our scheme computation performance
In addition, the efficiency of user-centric access control and          at DR is comparable to that of the scheme in [30].
communication overhead among the entities are shown in                     We can observe that the computation cost is linearly in-
Section VII-C2 and Section VII-C3 respectively.                         creasing with the increase of the bit length of n among all
You can also read