Skip to main content
PLOS One logoLink to PLOS One
. 2021 May 11;16(5):e0250992. doi: 10.1371/journal.pone.0250992

CESCR: CP-ABE for efficient and secure sharing of data in collaborative ehealth with revocation and no dummy attribute

Kennedy Edemacu 1, Beakcheol Jang 2,*, Jong Wook Kim 1,*
Editor: Pandi Vijayakumar3
PMCID: PMC8112809  PMID: 33974672

Abstract

With the rapid advancement of information and communication technologies, there is a growing transformation of healthcare systems. A patient’s health data can now be centrally stored in the cloud and be shared with multiple healthcare stakeholders, enabling the patient to be collaboratively treated by more than one healthcare institution. However, several issues, including data security and privacy concerns still remain unresolved. Ciphertext-policy attribute-based encryption (CP-ABE) has shown promising potential in providing data security and privacy in cloud-based systems. Nevertheless, the conventional CP-ABE scheme is inadequate for direct adoption in a collaborative ehealth system. For one, its expressiveness is limited as it is based on a monotonic access structure. Second, it lacks an attribute/user revocation mechanism. Third, the computational burden on both the data owner and data users is linear with the number of attributes in the ciphertext. To address these inadequacies, we propose CESCR, a CP-ABE for efficient and secure sharing of health data in collaborative ehealth systems with immediate and efficient attribute/user revocation. The CESCR scheme is unbounded, i.e., it does not bind the size of the attribute universe to the security parameter, it is based on the expressive and non-restrictive ordered binary decision diagram (OBDD) access structure, and it securely outsources the computationally demanding attribute operations of both encryption and decryption processes without requiring a dummy attribute. Security analysis shows that the CESCR scheme is secure in the selective model. Simulation and performance comparisons with related schemes also demonstrate that the CESCR scheme is expressive and efficient.

1 Introduction

Collaborative ehealth is a paradigm that enables sharing of electronic health information between healthcare stakeholders for efficient coordination and quality healthcare delivery to patients. In modern healthcare systems, the paradigm is playing a vital role in patients being simultaneously treated by multiple healthcare institutions [1]. In collaborative ehealth systems, the electronic health information can be obtained through wearable and embeddable health sensors [2, 3], medical recordings from health facilities, etc., and be outsourced to the cloud for sharing [46]. For example, consider a patient being treated simultaneously by two hospitals H-A and H-B for a heart problem and diabetes, respectively. As part of the treatment plan, H-A gives the patient a wearable health sensor to monitor her daily heart rate. Through a mobile device, the health sensor data is outsourced to the cloud for access by both H-A and H-B. This way, the need for repeated and duplicated medical examinations by H-B is minimized.

As fascinating as it may be, there are still several concerns that need to be addressed for its total acceptance. In particular, the use of third party servers for data storage presents privacy and security issues which are increasingly becoming the biggest concern in collaborative ehealth systems. Adoption of the traditional access control techniques can be used to address the data privacy and security concern in collaborative ehealth. However, these techniques only allow coarse-grained access policies which are not ideal for scalable environments.

An attractive solution is to adopt the attribute-based encryption (ABE) scheme which allows for the realization of fine-grained access policies [7]. ABE is primarily divided into: key-policy attribute-based encryption (KP-ABE) [7, 8] and ciphertext-policy attribute-based encryption (CP-ABE) [9] which is our focus in this work. In CP-ABE, the ciphertext is associated with an access policy and the user key is labeled with a set of attributes. Since its inception, CP-ABE has attracted a lot of attention for fine-grained access control in cloud environments. In [1016], different CP-ABE schemes are proposed for fine-grained access control of data in the cloud. However, the schemes rely on access structures that are either monotonic or restrictive, thus affecting the expressiveness and efficiency of the resulting schemes. As a result, ordered binary decision diagram (OBDD) access structure has been proposed and used for construction of expressive and efficient CP-ABE schemes in [17, 18].

Although the traditional OBDD-based CP-ABE schemes are expressive, their direct adoption for collaborative ehealth does not seem suitable. It is still necessary to simultaneously resolve the issues of unboundedness, expressiveness, efficiency and attribute/user revocation to ensure their usability and effectiveness for fine-grained access control in collaborative ehealth environments.

Attribute/user revocation and collusion resistance

Revoking misbehaving/compromised or obsolete users is a key requirement in collaborative ehealth systems [19]. However, the users share attributes and revoking a user of an attribute affects other users bearing the same attribute. As such, techniques like the expiration times [20, 21], version numbers [22, 23], attribute groups [24, 25], etc., have been proposed to achieve attribute/user revocations in systems deploying ABE schemes. The most important aspect in revocation is that collusion between revoked and non-revoked users should be prevented.

Unboundedness

ABE schemes are alternatively classified into “bounded” and “unbounded” schemes. In “bounded” schemes, the total number of attributes in the attribute space is fixed during setup and is polynomially bounded in the security parameter. The bounding of the size of the attribute universe can have undesirable effects on systems deploying ABE schemes. A smaller bound might result in the system exhaustion and a need for complete rebuilding when expansion is required. For example, consider the previous scenario in which the patient suffering from the heart disease is being treated by a doctor in hospital H-A. In a smaller bound ABE scheme deployment, the attribute universe leveraged for encryption and user key generation can be set as {hospital, department, profession}. However, at a later time, if the patient requires her data to be accessed only by experienced doctors, a new attribute “experience” might be introduced. In this bounded setting, to generate parameters associated with the “experience” attribute, the system will have to be completely rebuilt and additional expenses are incurred to re-encrypt all the ciphertexts. On the other hand, a larger bound might result in inefficient use of system resources as some parameters might be redundantly stored. Meanwhile, in the “unbounded” schemes, the total number of attributes in the attribute space is not bounded during setup and can expand exponentially.

Efficiency

In collaborative ehealth, several less powerful computing devices are involved. Consider the same scenario in which the patient suffering from the heart disease is being given a sensor device to monitor her daily activities by H-A. The captured sensor data is encrypted and sent to the cloud for analysis and diagnosis by doctors in H-A. In such a setting, the patient might be mobile and most likely use her mobile phone which has limited computing power to perform the data encryption before sending it to the cloud. This necessitates outsourcing of the computationally demanding ABE attribute operations incurred during encryption to the cloud. The same might apply to the doctor and thus, necessitates outsourcing of computationally demanding attribute operations incurred during decryption to the cloud. The most common technique used for secure outsourcing of computations in ABE involves the use of a dummy attribute which is borne by all the users in the system [26].

Expressiveness

Apart from the mentioned issues, expressiveness is another important issue to consider in attribute-based access control schemes. Several existing schemes support restrictive and monotonic access structures which are less expressive. A more expressive and non-restrictive access structure is the OBDD access structure and it can represent any non-monotonic boolean formula.

Our contribution

In this study, we address the security and privacy concerns in collaborative ehealth by proposing CESCR scheme. In CESCR, we simultaneously address the issues of attribute/user revocation, user collusion, unboundedness, expressiveness and efficiency. We provide a comprehensive security analysis, and simulation and performance evaluation for the CESCR scheme. The security analysis, and the simulation and performance evaluation results show that CESCR is secure and efficient for sharing of health data in collaborative ehealth systems. Specifically, CESCR scheme has the following features:

  • Attribute/user revocation: In CESCR, we adapt the attribute group approach [24]. Attribute groups are created whose members are users sharing the same attribute. A user can belong to multiple attribute groups depending on the number of attributes he/she bears. Each attribute group has a unique key only known to its group members. When a user is revoked of an attribute, a new attribute group is generated and broadcast to all the group members except the revoked user and the ciphertext element associated with the revoked attribute is updated. Unlike in [24, 25], in CESCR, the attribute keys are tightly and efficiently bound to the user identity which helps to prevent collusion attacks.

  • Unboundedness: In CESCR, the size of attribute universe is not bounded to the security parameter and thus, the number of attributes can expand exponentially while keeping the number of system public parameters constant. To achieve this, we propose a novel technique in which the only attribute elements in CESCR’s ciphertexts are those associated with the attribute groups of the ciphertext attributes.

  • Efficiency: CESCR securely outsources the computationally demanding attribute operations in both encryption and decryption to the cloud. But unlike other schemes that leverage dummy attributes to achieve secure outsourcing, the CESCR scheme does not require a dummy attribute.

  • Expressiveness: CESCR uses the OBDD access structure, which is non-monotonic and non-restrictive. Thus, it can handle any non-monotonic access policy expressable using the OBDD access structure.

  • User collusion resistance: In CESCR, the decryption keys are bound to the user identity, which makes it collusion resistant.

Paper organization

The rest of the paper is organized as follows, in Section 2, we present the related works. In Section 3, we present the summary of access structure, and mathematical and cryptographic complexity assumptions used in this work. Section 4 covers the system architecture, the formal scheme definition and the security model. In Section 5, we present the concrete construction of the CESCR scheme. We present the security analysis of our scheme in Section 6. Sections 7 and 8 present the simulation and performance evaluation, and conclusion, respectively.

2 Related work

The demand for improved healthcare service delivery is constantly increasing. Additionally, healthcare services are shifting from treatment oriented to proactive prevention. To achieve this, there is a need to have electronic health information centrally stored to be accessed and shared with healthcare stakeholders. For this reason, cloud-based health systems have turned out to be useful. In [27], an intelligent cloud-based healthcare service system is designed in which health sensors are utilized to obtain health data from a patient and sent to the cloud for storage and analysis. The system provides real time monitoring of patients for chronic diseases. In [28], Miah et al. designed a cloud-based ehealth system to enable health workers to collaborate for identifying and treating non-communicable diseases in rural areas of developing countries. In their system, less knowledgeable health workers in rural communities record health information from patients which are then stored in the cloud and made accessible to remotely located but knowledgeable doctors for analysis and recommendations. [29, 30] proposed integration of smart homes in cloud-based health systems. Their proposed system utilizes the smart home environment to gather health information which is then sent to the cloud for analysis.

Although the above-discussed studies have proposed and designed interesting health systems, none of them has focused on the data security and privacy issues encountered during health data sharing. To address the above issues, [31] designed a scheme that provides location privacy for patients and doctors in IoT-based health systems. The scheme employs the Chinese remainder theorem to preserve location privacy. Similarly, in [32], Azees et al. proposed schemes for anonymous authentication of patients and doctors in IoT-based health systems, and preserve the confidentiality of health data exchanged between the entities. [5, 6, 21, 33, 34] have studied and proposed ABE schemes for secure sharing of electronic health information in cloud-based health systems. ABE was originally proposed by Sahai and Waters in the form of fuzzy identity-based encryption [7]. It has since then been categorized as: KP-ABE in which secret keys are associated with access policies while ciphertexts are associated with attribute sets [8], and CP-ABE in which secret keys are associated with attribute sets while ciphertexts are associated with access policies [9]. Cheung and Newport then proposed a CP-ABE scheme based on the AND-gate access structure [11]. In the same work, they presented a security proof for their scheme in the standard model. Further ABE schemes have been proposed focusing on multi-authority [35, 36], hidden access-structure [37, 38] and hierarchy [39, 40]. However, these schemes rely on access structures that are either monotonic or restrictive. [17, 18] proposed CP-ABE schemes based on the non-monotonic and non-restrictive OBDD access structure. However, their schemes are bounded and aggregate attribute elements in ciphertext and decryption keys together, which makes it difficult to integrate an efficient and immediate attribute/user revocation.

A number of attribute/user revocation approaches have been proposed for ABE systems. In [20, 21, 41], a revocation list is included during encryption which is updated periodically. A user whose ID is listed in the revocation list is denied key updates and thus unable to decrypt the updated ciphertext. One drawback with this approach is that, revocations are not immediate. [24, 25, 42] proposed attribute group approach, in which attribute groups whose members are users sharing the same attribute are created. Each group is assigned a key only known to its members. Whenever a user is revoked from the group, a new key is generated and broadcast to all the group members except the revoked user. However, the [24] scheme suffers from collusion attacks, the [25] scheme is computationally inefficient and the [42] scheme is less expressive as it relies on the monotonic LSSS access structure. Version number approach is proposed in [22, 43]. In these schemes, user keys and ciphertexts are assigned version numbers, whenever a user is revoked of an attribute, an update key is generated and forwarded to all non-revoked users and their key version number is increased by one. The ciphertext is also updated and its version number gets increased by one. Further ABE schemes focusing on efficiency through generation of fixed-sized ciphertexts and outsourcing are presented in [26, 44, 45]. In [26], to securely outsource computations to the cloud, an inefficient approach in which a redundant dummy attribute which is shared by all the users is used. The elements associated with the dummy attribute are never updated.

The first construction of an unbounded (large universe) KP-ABE scheme was given by [46] in the composite order groups. Rouselakis and Waters in [47] constructed unbounded KP-ABE and CP-ABE schemes supporting LSSS access structures in the prime order groups. The construction in [47] was used by [48] to construct an unbounded CP-ABE scheme with partially hidden LSSS access structures in prime order groups. Recently, Zhang et al. [49] proposed an unbounded CP-ABE scheme for security and privacy protection in smart health systems. Their scheme partially hides LSSS access structures and its construction is based on the composite order groups. An unbounded CP-ABE scheme based on prime order group that supports partially hidden AND access structures is proposed in [50]. A large universe CP-ABE scheme supporting traceability and revocation is proposed in [51]. However, the scheme supports only the monotonic LSSS access structures and leverages the direct revocation mechanism in which the revocation lists are included during encryption. As such it is less expressive and does not achieve immediate attribute/user revocation.

In this work, we adapt the attribute group approach of [24, 25, 42] to achieve immediate and efficient attribute/user revocations. However, unlike in previous works, to prevent collusion attacks, the attribute group keys are efficiently bound to the user identities in this work. The unboundedness in our scheme is achieved through a novel technique that limits the attribute elements in the ciphertexts to only those associated with the attribute group keys of the ciphertext attributes. Our scheme also securely outsources computations to the cloud with no need for a redundant dummy attribute. To achieve expressiveness, we leverage the OBDD access structure. However, unlike in [17, 18], the attribute elements in the ciphertext and secret keys are not bound together, thus making it possible to achieve efficient and immediate attribute/user revocations.

3 Preliminaries

In this section, we present the summaries of bilinear map, complexity assumption, access structure, and the CP-ABE scheme that lays the foundation for the construction of the CESCR scheme.

3.1 Bilinear map

As in [9], let G and GT be two cyclic multiplicative groups of prime order p and g be the generator of G. A bilinear map is defined as, e:G×GGT, subject to satisfaction of the following properties:

  1. Bilinearity. That is, e(ux, vy) = e(uy, vx) = e(u, v)xy for a given u,vG and x,yZp.

  2. Non-degeneracy. That is, ∃ u,vG such that e(u, v) ≠ 1.

  3. Computability. That is, ∀ u,vG, e(u, v) is computationally feasible.

3.2 Decisional Bilinear Diffie-Hellman (DBDH) assumption

Definition 1: The DBDH [14] assumption states that, given two tuples (g, ga, gb, gc, e(g, g)abc) and (g, ga, gb, gc, e(g, g)z), where a,b,c,zRZp, a probabilistic polynomial time algorithm B that outputs {0, 1} can distinguish the two tuples with at most a negligible advantage ε, i.e., |Pr[B(g,ga,gb,gc,e(g,g)abc)=0]-Pr[B(g,ga,gb,gc,e(g,g)z)=0]|ε.

3.3 Access structure

Definition 2: An access structure is a rule R that returns 1 if an attribute set S satisfies R (SR). Otherwise it returns 0. In this work, the access structure used is the ordered binary decision diagram (OBDD) access structure which is non-monotonic and non-restrictive.

3.4 OBDD access structure

Definition 3: An OBDD access structure is a rooted, directed acyclic graph (G = (V, E)) for a boolean function f(a0, ⋯, an) over a set of boolean variables {a0, ⋯, an} with a pre-defined variable ordering [52]. Where the boolean variables depict the attributes and n is the number of attributes in the set. The graph has the following properties:

  1. There are two kinds of nodes in the graph G, i.e., V is either a terminal or a non-terminal node.

  2. Each non-terminal node in G has two child nodes low(v) and high(v). Also, each non-terminal node is labeled with a 4-element tuple (i, id, low(v), high(v)), where iI is the serial number of the attribute represented by the node, idID is a unique number assigned for the identification of the node, and low(v) ∈ V and high(v) ∈ V are the serial numbers of the node’s low(v) and high(v) child nodes, respectively. I is the set of attributes in the access structure and ID is the node identity universe.

  3. There are two terminal nodes labeled as 1 and 0, and they neither represent an attribute nor have child nodes.

  4. Each variable (attribute) appears only once along a directed path from the root node to a child node.

  5. There are no identical non-terminal nodes, i.e., non-terminal nodes should not share the same id, low(v) and high(v) elements.

  6. No node has identical low(v) and high(v) nodes, i.e., low(v) ≠ high(v).

OBDD access structure satisfaction

OBDD access structure satisfaction process is done recursively. Given an attribute set S, starting from the root node, S is compared with the attribute value stored in the node. If an element in S matches the current node’s attribute, S is forwarded to the high(v) child node. Otherwise, it is forwarded to the low(v) child node. This is done repeatedly until it is either forwarded to the 1 terminal node or the 0 terminal node. If the 1 terminal node is reached at the end of the process, S satisfies the OBDD access structure. Otherwise, S does not satisfy the OBDD access structure.

As an example, consider an access policy represented by the following boolean function f(a0, a1, a2) = a0.a1 + a0.a2 + a1.a2. The OBDD access structure depicting the described access policy is shown in Fig 1. All the paths from the root node to the 1 terminal node satisfy the OBDD access structure. Thus, the paths, a0 a1, a¯0a1a2 and a0a¯1a2 satisfy the OBDD access structure. However, the paths, a¯0a¯1, a¯0a1a¯2 and a0a¯1a¯2 do not satisfy the OBDD access structure as they lead to the 0 terminal node.

Fig 1. An OBDD access structure depicting the f(a0, a1, a2) = a0.a1 + a0.a2 + a1.a2 access formula with variable ordering as: a0 < a1 < a2.

Fig 1

The solid arrows represent the edges leading to the nodes’ high(v) child nodes and the dotted arrows represent the edges leading to the nodes’ low(v) child nodes.

3.5 Review of the CP-ABE scheme based on the OBDD access structure

In this section, we present the summary of the conventional CP-ABE scheme [17] based on the OBDD access structure that lays the foundation for the construction of our proposed CESCR scheme and proceeds as follows:

  1. Setup(λ)→(pp, mk): the algorithm chooses the groups and defines the bilinear map as defined in the Section 1. It then randomly chooses yRZp and computes Y = e(g, g)y. For each attribute in the universe, it randomly chooses t_iRZp and computes T_i=gt_i|iU, where U is the attribute universe. It publishes the public parameters pp as: (e,g,G,Y,T_i|iU) and the master key mk as: (y,t_i|iU).

  2. KeyGen(S, mk)→(sk): It computes the secret key sk associated with the attribute set S. It first randomly chooses rRZp and computes D = gyr and Di=g(r/iSt_i). The secret key sk is (D, Di).

  3. Encrypt(M, pp)→(CT): The data owner first defines an OBDD access structure. The Encrypt algorithm then randomly chooses sRZp and generates the ciphertext CT as: (OBDD,C1=M.Ys,C2=gs,CRt=g(iIt_i.s)|RtR). Where I is the attribute set in the OBDD access structure and R is the set of paths that satisfy the OBDD access structure.

  4. Decrypt(CT, sk)→M/⊥: If the user attribute set S satisfies the OBDD access structure, the algorithm computes, e(C2,D).e(CRt,Di)=e(g,g)s.(y-r).e(g,g)s.r=e(g,g)y.s=Ys. The user then recovers M by computing C1/Ys. Otherwise, the algorithm returns ⊥.

4 System architecture, formal definition and security model

In this section, we present the system architecture, the formal definition of the CESCR scheme and the security model.

4.1 System architecture

Shown in Fig 2 is the system architecture depicting the main entities in our scheme which are described as follows:

Fig 2. An architecture of our scheme depicting the entities involved.

Fig 2

  • Trusted Authority (TA). The TA is a trusted entity that is in-charge of the system initialization, and it also authorizes the data users and the data owner. The TA initializes the system by generating the system public parameters which are made available to all the other entities, and the master key which is kept secret. It authorizes data users through issuing keys associated with user attribute sets. If necessary, the TA also issues a key to the data owner. Additionally, the TA generates attribute group information which it shares with the cloud. We assume the TA is mostly online.

  • Data Owner (DO). The DO is an entity that owns and manages the outsourced data in the form of ciphertexts. The DO can be a patient or a hospital responsible for managing the patient’s data. The outsourced data can be medical recordings obtained from a hospital or health data obtained from health sensors attached to the patient. The DO has either a local server or a smart device that is used to perform partial encryption tasks. Before outsourcing the health data, the DO defines an access policy which is securely sent together with the partially encrypted data to the cloud.

  • Data User (DU). The DU is an entity that uses the patient’s data. Doctors, researchers, pharmacists, etc., are some of the examples of DU. Each DU has a set of attributes and attribute associated keys. If the DU’s attribute set satisfies the access policy embedded in the ciphertext, he/she can successfully decrypt the ciphertext and use the patient’s data. Otherwise, the decryption fails.

  • Cloud. The cloud is an entity that stores and performs partial computations on the health data. In this work, we categorize the cloud into two: the encryption and storage cloud (ESC) and the decryption cloud (DC). The ESC receives the partially encrypted data from the DO, completes the generation of the ciphertext and stores it for sharing with the DUs. Meanwhile, the DC securely receives attribute associated keys from a DU and ciphertext from the ESC to perform partial decryption. We assume the cloud is honest but curious.

4.2 Formal definition of CESCR

A CESCR scheme consists of ten algorithms which are described as follows:

  • Setup(1λ)→(pp, mk): The Setup algorithm is executed by the TA. It takes as input the security parameter λ and generates the public parameters pp and the master key mk as its output.

  • KeyGen(S, uid, mk, pp)→(Di1, Di2): The KeyGen algorithm is executed by the TA. It takes the public parameters pp, the master key mk, a user identity uid and a set of attributes S as inputs. It generates the decryption keys (Di1, Di2) associated with the attributes in S as its output.

  • KEKGen(i, ki, vj, uid, mk, pp)→(KEKi): The KEKGen algorithm is executed by the TA. The algorithm takes the public parameters pp, the master key mk, a user identity uid, a minimum cover node vj, an attribute group key ki and an attribute i as its inputs. It outputs a key encryption key (KEK) associated with the attribute i.

  • Encrypt(OBDD, M, pp)→(CTl): The Encrypt algorithm is executed by the DO. The algorithm takes the DO defined access policy OBDD, the data to be encrypted M and the public parameters pp as its inputs. It generates a partial ciphertext CTl as its output.

  • CldEncrypt(CTl, ki, vj, pp)→(CT): The CldEncrypt is executed by the ESC. It takes as input the public parameters pp, the partial ciphertext CTl, attribute group keys ki(s) and the minimum cover nodes vj associated with each attribute in the access structure, and generates a complete ciphertext CT as its output.

  • CldDecrypt(CT, Di1, Di2, KEKi, pp)→(Ctkn/⊥): The CldDecrypt algorithm is executed by the DC. The algorithm takes as input the public parameters pp, a DU’s decryption key elements Di1 and Di2, a DU’s key encryption key KEKi and a ciphertext CT. If the set of the DU’s attributes satisfy the access structure OBDD, the algorithm generates a token Ctkn as its output. Otherwise, it generates ⊥.

  • Decrypt(Ctkn, CT, pp)→(M): The Decrypt algorithm is executed by the DU. It takes the public parameter pp, the ciphertext CT and the token Ctkn as its inputs. It recovers M as its output.

  • UpInfo(i, pp)→(uki): The UpInfo algorithm is executed by the TA after an attribute revocation. It takes as input the public parameters pp and a revoked attribute i. The algorithm outputs an update key uki for the revoked attribute i.

  • CTUpdate(CT, uki, i, pp)→(CT′): The CTUpdate algorithm is executed by the ESC after an attribute revocation. It takes the public parameters pp, the revoked attribute i, an update key uki and the ciphertext CT as its inputs. It outputs an updated ciphertext CT′.

  • KeyUpdate(i, uki, KEKi, pp)→(KEKi): The KeyUpdate algorithm is executed by the DU who bears a revoked attribute i. The algorithm takes the revoked attribute i, an update key uki, a key encryption key KEKi and the public parameters pp as its inputs. It outputs an updated key encryption key KEKi associated with the revoked attribute i.

4.3 Security model

In this subsection, we give a security model for the CESCR scheme. The security model is described as a CPA game played between a probabilistic polynomial time (PPT) adversary A and a challenger, and proceeds as follows:

  • Init: The adversary A declares a challenge access structure OBDD* and an attribute i* to the challenger.

  • Setup: The challenger runs the (pp, mk)←Setup(1λ) algorithm. The challenger forwards the public parameters pp to the adversary A and keeps the master key mk.

  • Phase 1: The adversary A issues polynomially bounded series of key queries by each time submitting an attribute set S and a user identity uid to the challenger. S satisfies the challenge access structure OBDD* but the attribute i* is revoked. The challenger executes the (Di1, Di2)←KeyGen(S, uid, mk, pp) and KEKi←KEKGen(i, ki, vj, uid, mk, pp) algorithms, and gives Di1, Di2 and KEKi to adversary A. The adversary A may also decide to ask for update key for an attribute ii*. The challenger executes the ukii*←UpInfo(i, pp) algorithm and sends to A the update key ukii*.

  • Challenge: Once the adversary A decides that Phase 1 is over, it submits two messages M0 and M1 of equal lengths to the challenger and sets OBDD* as the access structure and i* as the revoked attribute. The challenger flips a coin μ ∈ {0, 1} and encrypts Mμ by executing the CTl←Encrypt(OBDD*,Mμ,pp) algorithm. The challenger then completes the encryption by running the CT←CldEncrypt(CTl, ki, vj, pp) algorithm to generate the ciphertext CT. The challenger further updates the ciphertext by executing the CT′←CTUpdate(CT, uki*, i*, pp) algorithm to generate CT′. The challenger then sends to A the CT′ as its challenge ciphertext.

  • Phase 2: The adversary A continues to adaptively issue key queries to the challenger with the restriction that the submitted attribute sets satisfy the OBDD* access structure but i* is revoked.

  • Guess: A then outputs a guess μ′ ∈ {0, 1}. The adversary A wins the game if μ = μ′. A wins the game with an advantage defined as |Pr[μ=μ]-12|.

Definition 4: A CP-ABE scheme with attribute revocation, and outsourced encryption and decryption is selective secure if all PPT adversaries have at most a negligible advantage in winning the defined CPA security game.

5 CESCR scheme construction

In this section, we present a concrete construction of the CESCR scheme. The construction is divided into five phases and proceed as follows:

  1. Setup

    The setup phase initializes the system through the Setup algorithm. Let G and GT be two cyclic multiplicative groups of prime order p, g be the generator of G, and e:G×GGT be a bilinear map as defined in Section 3. A hash function H:{0,1}*G is also defined. Let the attribute universe be U.

    Setup(1λ)→(pp, mk): The setup algorithm randomly chooses y,αRZp. It then computes h1 = g1/α, h2 = gα and defines Y = e(g, g)y. It publishes the public parameters pp as, pp=(e,g,h1,h2,G,Y) and keeps the secret master key mk as, mk = (α, y).

  2. Key generation

    The key generation phase comprises two algorithms: KeyGen and KEKGen algorithms which are both executed by the TA.

    KeyGen(S, uid, mk, pp)→(Di1, Di2): The KeyGen algorithm generates the user secret key (Di1, Di2). To generate the secret key for a user uid with attribute set S = {a1, a2, ⋯, an}, where n is the number of attributes in S, the algorithm first randomly chooses z1,z2,,zn-1RZp and computes zn as y-i=1n-1zimodp. Also for each attribute in S, the algorithm randomly chooses riRZp. It then computes the user secret key (Di1, Di2) with respect to the attribute set S as:
    Di1=gzi.H(uid)ri,Di2=H(uid)α.ri|1in
    KEKGen(i, ki, vj, uid, mk, pp)→KEKi: The KEKGen algorithm is used to generate the key encryption key KEKi associated with an attribute i. To generate the KEKi, the TA first creates an attribute group Gi whose members are users bearing the attribute i. As in [24], the TA then establishes a binary tree to manage the members of Gi as shown in Fig 3. The leaf nodes of the tree represent users. Each node in the tree holds a unique value vtZp. The path from the root node to a leaf node forms the path key pkey of a user. For example, the pkey for user uid5 is {v12, v6, v3, v1}. Also, for each attribute group Gi, there is a set of minimum cover nodes min(Gi). For instance, suppose the members of the attribute group Gi are, [uid1, uid2, uid3, uid4, uid5, uid6]. The min(Gi) for this list of members is {v2, v6}. As seen, there is an intersection vj between min(Gi) and pkey for each member of Gi. For example the intersection vj for uid5 is at node v6. In addition, each attribute group Gi is given a unique key kiRZp. TA then computes attribute group information as GI = ki/vj, which is used during ciphertext generation. To generate a KEKi associated with a group Gi for a user uid, the KEKGen algorithm computes KEKi as follows:
    KEKi=H(uid)ri.kivj|1in,vjpkey(uid)min(Gi)
    Note that, this is computed for every attribute group the user belongs to.
  3. Encryption

    The encryption phase consists of two sub-phases. The local encryption phase and the cloud encryption phase.

    Local encryption: The local encryption phase has one algorithm, the Encrypt algorithm which is executed by the DO. To encrypt data M, the DO first defines an OBDD access structure and uses the Encrypt algorithm to complete the local encryption.

    Encrypt(OBDD, M, pp)→CTl: The Encrypt algorithm randomly chooses sRZp and computes: C˜=M.Ys, C0 = gs and C1=h1s. The partial ciphertext CTl produced as output by the Encrypt algorithm is:
    CTl=(OBDD,C˜,C0,C1).
    The CTl is then sent to the ESC for the cloud encryption and storage.

    Cloud encryption: The cloud encryption has one algorithm, the CldEncrypt algorithm executed by the ESC. Upon receiving the CTl from the data owner, the ESC requests for attribute group information from TA for each attribute in the OBDD access structure. The TA sends gGI=gki/vj to the ESC. Using the CldEncrypt algorithm, the ESC then securely generates the complete ciphertext of the data M by computing a header Chdr associated with each attribute in the access structure.

    CldEncrypt(CTl, ki, vj, pp)→CT: The CldEncrypt algorithm computes the header as follows:
    iI:Chdr=C1.gGI=h1s.gkivj|vjmin(Gi),kiZp.
    Where, I is the attribute set of the OBDD access structure embedded in CTl. After generating the headers associated with the ciphertext attributes, the ESC stores the ciphertext CT as:
    CT=(OBDD,C˜,C0,C1,Chdr)
    Note that even without a dummy attribute, the ESC does not still obtain any information about the data M during the header generation as it does not know the value of s.
  4. Decryption

    To minimize the high computation demand on the DUs, we propose an outsourced partial decryption of the data. Thus, the data decryption phase consists of the outsourced decryption and the local decryption sub-phases.

    Outsourced decryption: The outsourced decryption phase is executed by the DC through the CldDecrypt algorithm. To decrypt the ciphertext CT, the DU first blinds his/her keys. The DU randomly chooses xRZp and blinds the keys as:
    (Di1)x=gzi.x.H(uid)ri.x,(Di2)x=H(uid)α.ri.x|1in(KEKi)x=H(uid)ri.kivj.x|1in,vjpath(uid)min(Gi)
    The DU then sends the blinded keys to the DC. The DU also requests the ESC to send CT to DC. The ESC responds by sending the C0 and Chdr parts of CT to DC, and the C˜ part to the DU. Upon receiving the required CT parts from the ESC, DC executes the CldDecrypt algorithm.
    CldDecrypt(CT, Di1, Di2, KEKi, pp)→Ctkn/⊥: The CldDecrypt algorithm checks whether DU’s attribute set satisfies the OBDD access structure in the ciphertext. If it does, it computes a token Ctkn as:
    Ctkn=i=1ne(Di1,C0).e(KEKi,h2)e(Di2,Chdr)=i=1ne(gzi.x.H(uid)ri.x,gs).e(H(uid)ri.kivj.x,h2)e(H(uid)α.ri.x,h1s.gkivj)=i=1ne(g,g)zi.s.x.e(H(uid),g)ri.s.x.e(H(uid),g)α.ri.kivj.xe(H(uid),g)ri.s.x.e(H(uid),g)α.ri.kivj.x=i=1ne(g,g)zi.s.x=e(g,g)ysx
    The generated Ctkn is then sent to the DU. Otherwise, it returns ⊥.

    Local decryption: Upon receiving Ctkn from DC and C˜ from the ESC, DU executes the Decrypt algorithm.

    Decrypt(Ctkn, CT, pp)→(M): The Decrypt algorithm recovers M as:
    M=C˜(Ctkn)1/x=MYs(e(g,g)ysx)1/x=M.e(g,g)yse(g,g)ys.
  5. Revocation

    When a user is revoked of an attribute i, the TA updates the attribute group from Gi to Gi. For example, from Fig 3, if users uid3 and uid4 (the blue leaf nodes) are revoked of the attribute i, the new minimum cover node set min(Gi) associated with the updated group Gi is {v4, v6} which does not now intersect with uid3 and uid4’s pkeys. TA also chooses a new group key kiZp for Gi. TA then executes the UpInfo algorithm to generate the update key uki used for updating the ciphertext and the user keys.

    UpInfo(i, pp)→uki: The UpInfo algorithm computes the update key uki as:
    ukic=vj.kiki.vj,
    where vjmin(Gi) for updating the ciphertext and
    ukik=kivj-kivj,
    where vjpath(uid)min(Gi) for updating keys of non-revoked users. The TA updates the attribute group information to GI′ as:
    GI=GI×ukic=kivj.vj.kiki.vj=kivj.
    The TA then sends gGI=gki/vj to the ESC to update the ciphertext and uses ukik to update the keys of all the non-revoked DUs in the group.

    Ciphertext update: Upon receiving the updated attribute group information, the ESC executes the CTUpdate algorithm to update the ciphertext.

    CTUpdate(CT, uki, i, pp)→CT′: The CTUpdate algorithm first randomly selects sRZp and updates CT as:
    CT=(OBDD,C˜=M.Y(s+s),C0=g(s+s),C1=h1(s+s),i=unrevoked:Chdr=h1(s+s).gkivj,i=revoked:Chdr=h1(s+s).gkivj)
    Note that, for the revoked attribute, the ESC then uses the newly received gGI=gki/vj and h(s+s′) to compute the new header. ESC replaces CT with CT′.

    Key update: In this work, it is only the KEKi key that is updated. The KEKi is updated for each non-revoked DU in the group by executing the KeyUpdate algorithm.

    KeyUpdate(i, ukik, KEKi, pp)→KEKi: The KeyUpdate algorithm updates the KEKi associated with revoked attribute i for each non-revoked DU to KEKi as:
    KEKi=H(uid)ri.kivj.H(uid)ri.(kivj-kivj)=H(uid)ri.kivj

Fig 3. A binary tree to manage attribute group members.

Fig 3

6 Security analysis

In this section, we present a security proof of the CESCR scheme.

Theorem 1: Suppose there is a PPT adversary A that can win our CPA security game with a non-negligible advantage ε, we can construct a simulator B that solves the DBDH problem with a non-negligible advantage.

Proof: Let G and GT be two multiplicative cyclic groups of prime order p. Let g be the generator of G and e:G×GGT be a bilinear map. The DBDH challenger C sends the tuple (g, A = ga, B = gb, C = gc, Z), where a,b,c,zRZp to B and B is asked to output ν. If ν = 0, Z = e(g, g)abc. Otherwise, Z is a random value in GT. B plays the role of the challenger in the CPA security game as follows:

Initialization: Adversary A declares a challenge access structure OBDD* and attribute i* to B.

Setup: B first sets y = ab. Then, B sets h1 = g1/α, h2 = gα, where αRZp, and defines Y = e(g, g)y = e(g, g)ab = e(A, B). B sends the public keys pp={e,g,h1,h2,G,Y} to A.

Phase I: A submits secret key and KEKi queries to B. A requests the secret keys by submitting the attribute set S belonging to a user uid to B. S satisfies OBDD* but i* is revoked. B creates a list HL: <uid, H> and a table T:<uid,S,KEKi,Di1,Di2> which are initially empty. B checks the HL to confirm whether the pair <uid, H> exists and does the following:

  1. If the pair <uid, H> exists, B responds by sending H which is the hash value associated with uid to A.

  2. Otherwise, B generates H for uid as follows:
    uid:H=gu.
    Where uRZp.
  3. B stores the pair <uid, H> in HL and sends H to A. Note that, A can query for H at any time and B responds as the same.

Then, B checks T to confirm whether the tuple <uid,S,KEKi,Di1,Di2> exists. If it exists, B sends the associated KEKi and (Di1,Di2) to A. Otherwise, B does the following:

  1. First, B checks HL for the hash value associated with uid. If it exists, B extracts it for usage during key generations. Else, B uses the above hash generation steps to generate H for uid. Then, for each iS, B randomly chooses si,riZp and sets zi=si, where n = |S| and zn=y-i=1n-1zi=ab-i=1n-1si. Then, B uses the (Di1,Di2)←KeyGen(S, uid, mk, pp) algorithm to generate the secret key
    Di1=gzi.H(uid)ri=gsi.guri,Di2=H(uid)α.ri=gu.α.ri|1in.
  2. B then randomly chooses kiRZp and minimum cover node vjZp for each iSii*. B also randomly chooses vi*RZp and ki*RZp as the minimum cover node and group key for i*, respectively. It then sets attribute group key ki as follows:
    i=i*:ki=ki*ii*:ki=bki
    B then uses the KEKi←KEKGen(i, ki, vj, uid, mk, pp) algorithm to generate the key encryption key KEKi for each attribute as:
    i=i*:KEKi*=H(uid)ri.ki*vi*=gu.ri*.ki*vi*ii*:KEKi=H(uid)ri.kivj=Bu.ri.kivj
  3. B adds the KEKi and (Di1,Di2) in a tuple <uid,S,KEKi,Di1,Di2> and stores it in the table T. B sends the Di1, Di2 and KEKi values to A.

A may decide to ask for an update key for another revoked attribute ii*, B randomly chooses k¯i,v¯jZp and using ukii*←UpInfo(i, pp) algorithm, it generates an update key uki=(k¯iv¯j-kivj). B then computes a new KEK′ using the KeyUpdate algorithm and submits it to A.

Challenge: Once adversary A decides Phase 1 is over, it submits two messages M0 and M1 of equal length to B and set the access structure as OBDD* and i* as a revoked attribute. B randomly flips a coin μ ∈ {0, 1} and encrypts Mμ as CTl using the CTl←Encrypt(OBDD*,Mμ,pp) algorithm. CTl is generated as: C˜=Mμ.e(g,g)yc=Mμ.e(g,g)abc, C0 = gc = C and C1=h1c=gc/α=C1/α.

CTl=<OBDD*,C˜,C0,C1>

Then, for each iI*, I* is the set of attributes in OBDD*, B generates group attribute information as:

i=i*:gki*/vi*ii*:Bki/vj

B then generates headers associated with the ciphertext attributes using the CT←CldEncrypt(CTl, ki, vj, pp) algorithm as:

i=i*:Chdr=C1/α.gki*/vi*ii*:Chdr=C1/α.Bki/vj

The generated CT is:

CT=<OBDD*,C˜,C0,C1,Chdr>

B then updates the ciphertext using the CT′←CTUpdate(CT, uki*, i*, pp) algorithm. B first randomly chooses sRZp and updates the ciphertext as:

CT=(OBDD*,C˜=Mμ.Y(c+s)=Mμ.Z.e(g,g)abs,C0=g(c+s),C1=h1(c+s),i=i*:Chdr=h1(c+s).gk*v*,ii*:Chdr=h1(c+s).Bkivj)

For i*, B generates gk*v*, where k*,v*RZp and uses it together with the updated C1 to generate the Chdr. B sets CT′ as the challenger ciphertext CT* and sends it to A.

Phase II: A continues to adaptively submit key queries as in phase I.

Guess: Adversary A then outputs a guess μ′ for μ. If μ′ = μ, B outputs ν′ = 0, i.e., Z = e(g, g)abc. Otherwise, B outputs ν′ = 1, i.e., Z is a random number in GT.

In the case ν = 1, the adversary gains no information about Mμ. Thus, Pr[μμ|ν=1]=12. B randomly guesses ν′ for ν when μ′ ≠ μ with a probability Pr[ν=ν|ν=1]=12.

If ν = 0, the adversary sees encryption of the message Mμ. By definition, the advantage of the adversary in this situation is ε. Thus, Pr[ν=ν|ν=0]=12+ε.

Therefore, the overall advantage of B in winning the above game is:

=12.(Pr[ν=ν|ν=0])+12.(Pr[ν=ν|ν=1])-12=12.(12+ε)+12.12-12=ε2

7 Simulation and performance analysis

7.1 Performance analysis

In this section, we analyze and compare our scheme with CP-ABE schemes in [17, 18, 24, 25, 49] in terms of revocation, boundedness, expressiveness and efficiency features. As shown in Table 1, all the schemes including ours are built using the prime order groups except the Zhang et al.’s scheme [49] which uses the composite order group. The schemes [17, 18] and ours are unrestricted and more expressive as they are based-on the non-monotonic and non-restrictive OBDD access structure. Meanwhile, the [18, 24] schemes which are based on the access tree access structure and the [49] scheme which is based on the LSSS access structure are less expressive. Our scheme and the Li et al.’s scheme [25] partially outsource their encryption and decryption tasks and thus, they are computationally more efficient on the data owner and user side. The computation tasks during encryption and decryption in the rest of the schemes are entirely performed by the data owners and data users and hence computationally more demanding on the data owner and data user sides. All the CP-ABE schemes except the [24] scheme are collusion resistant. Immediate attribute/user revocation is achieved in [24, 25] and our schemes, meanwhile, the rest of the schemes do not include an attribute/user revocation mechanism. Only the [17, 18] schemes are bounded, the rest of the CP-ABE schemes including ours are unbounded.

Table 1. Feature and storage comparison of CP-ABE schemes.

Schemes
[49] [24] [17] [25] [18] CESCR
Key size |k| + 2 2|k| + 1 + |pk| 2 3|k| + 6 2 3|k|
Ciphertext size 3|l| + 4 + |A| 3|l| + 2 + |A| 2 + |R| + |A| 2|l| + 7 + |A| 2 + |R| + |A| |l| + 3 + |A|
Unbounded × ×
Revocation × × ×
Coll-Resist ×
Encryption DO DO DO Par-out DO Par-out
Decryption DU DU DU Par-out DU Par-out
Expressiveness LSSS Access tree OBDD Access tree OBDD OBDD
Group Order Composite Prime Prime Prime Prime Prime

*|pk| is path key size, Coll-Resist is collusion resistance, Par-out is partially outsourced, DO is data owner, DU is data user.

In the same Table 1, we present the storage comparison of the CESCR scheme in relation to the other CP-ABE schemes. We use |k| to denote the number of user attributes, |l| to denote the number of attributes in the ciphertext, |A| to denote the size of the access structure and |R| is the number of routes that satisfy an OBDD access structure. Note that the same attribute can be repeated across multiple routes that satisfy the OBDD access structure. It can be observed that the CESCR scheme has optimal ciphertext storage efficiency only bettered by the [17, 18] schemes. This is because the only attribute element included in the CESCR’s ciphertext is the one associated with the attribute group keys. However, the CESCR scheme performs slightly worse than the other schemes except the Li et al.’s scheme [25] in key storage. This is because all the key components are interlinked for each attribute, which helps in preventing collusion attacks.

The computational comparisons are presented in Table 2. The comparison is done in terms of encryption, decryption and key generation costs. The encryption and decryption costs are analyzed on both the data owner and cloud sides. Here, we use |d| to denote the number of attributes involved in satisfying an access structure or simply the number of attributes involved in decryption. The [25] scheme and our scheme outsource the attribute operations during encryption and decryption to the cloud. For the rest of the schemes, the encryption and decryption tasks are entirely performed by the data owner and data user, respectively. Thus, on the DO side, the CESCR scheme has the least computation demand during encryption, as it requires only one multiplication and three exponentiation operations which are independent of the number of attributes in the ciphertext. Zhang et al.’s [49] scheme is the most demanding on the DO side computationally. Unlike the scheme [25] which performs 2 pairing and 2|l| exponentiation operations in the cloud during encryption, our scheme only performs |l| multiplications, which also makes it more efficient on the cloud side during encryption. Similarly, during decryption, our scheme is computationally the least demanding on the DU side as it requires only one multiplication and four exponentiation operations and the Zhang et al.’s [49] scheme is still the most demanding. However, on the cloud side during decryption, our scheme is slightly bettered by the Li et al.’s [25] scheme, this is because our scheme requires more pairing operations. In key generation, though our scheme is computationally more demanding due to its linking of all the key components for all the user attributes, it still performs better than the Li et al.’s scheme [25].

Table 2. Computation comparison of CP-ABE schemes.

Schemes
[49] [24] [17] [25] [18] CESCR
Encryption Cost Mult DO 11|l| + 2 1 |l| 2 |l| 1
Cloud n/a |l| n/a n/a n/a |l|
Expo DO 7|l| + 4 2|l| + 2 |l| + 2 6 |l| + 2 3
Cloud n/a |l| n/a 2|l| n/a n/a
Pair DO n/a n/a n/a 2 n/a n/a
Decryption Cost Mult DU 4|d| − 2 ≥|d| + 2 2 4 2 1
Cloud n/a n/a n/a ≥|d| + 2 n/a 2|d|
Expo DU 3|d| + 1 1 n/a 4 n/a 4
Pair DU 2|d| + 3 ≥2|d| + 1 2 n/a 2 n/a
Cloud n/a n/a n/a ≥2|d| + 4 n/a 3|d|
Key Gen Cost Mult 2|k| + 4 |k| + 1 1 4|k| + 10 1 |k|
Expo 2|k| + 3 3|k| + 1 2 4|k| + 6 2 4|k|
Pair n/a n/a n/a 1 n/a n/a

*Multi, Expo and Pair represent the multiplication, exponentiation and pairing operations, respectively. DO is data owner and DU is data user.

7.2 Experimental analysis

To explicitly demonstrate the efficiency of the CESCR scheme, we simulated the scheme in comparison with the [25, 24] schemes which we refer to in the experiment as the “LZQH scheme” and “H-N scheme”, respectively. The implementation was done using the Charm crypto framework [53]. We used the “SS512” curve which is a super-singular symmetric elliptic curve over 512-bit base field having a 160-bit curve group order. The experiment was carried out on a desktop computer with a 3.20GHz processor and 4.0 GB RAM running the Ubuntu 12.04 operating system. Each experiment was repeated 20 times, and we averaged the results and are shown in Fig 4.

Fig 4. Simulation results of the CESCR scheme in comparison with the LZQH [25] and H-N [24] schemes.

Fig 4

Fig 4(a) shows the setup computation time against the size of the attribute universe. It can be observed that all the schemes have constant computation time against the number of attributes. The schemes are all unbounded schemes and thus the number of parameters generated at setup does not depend on the size of the attribute universe. Our scheme generates more parameters and thus takes more computation time at setup as compared to the LZQH and H-N schemes. The LZQH scheme generates the least number of parameters during setup and hence the low computation time.

In Fig 4(b), we show the variation of computation time against the number of user attributes during key generation. Our scheme outperforms the LZQH scheme because of its fewer key elements. However, the H-N scheme exhibits the best performance during key generation because of its low exponentiation operation requirements.

Fig 4(c) and 4(d) show the variation of computation time in local and cloud encryptions against the number of attributes in the ciphertext. For our scheme and the LZQH scheme, since they both outsource their attribute operations to the Cloud, the computation time is constant against the varying ciphertext attribute number during the local encryption. For the H-N scheme, the computation time during local encryption increases with the increase in the number of attributes in the ciphertext. However, the computation time increases with the increasing ciphertext attribute number during the cloud encryption for all the schemes. In both cases, our scheme generally performs better than the LZQH and H-N schemes because of having fewer elements and exponentiation operations to be computed by the Cloud. Also, during local encryption, unlike the LZQH scheme, our scheme does not perform any pairing operations and there are no operations associated with a dummy attribute as in the LZQH scheme.

We show the decryption computation times against the varying number of attributes involved during decryption in Fig 4(e) and 4(f). For the cloud decryption, the computation time increases with an increase in the number of attributes involved in decryption for all the schemes except the H-N scheme that does not perform cloud decryption. Meanwhile, all the schemes except the H-N scheme exhibit constant computation times during the local decryption which are 0.02 ms and 0.08 ms for our scheme and the LZQH scheme, respectively. For local decryption, our scheme performs fewer multiplication and exponentiation operations as compared to the LZQH scheme, and thus the low computation time. All the attribute operations associated with decryption are performed by the user for the H-N scheme and hence the increase in computation time against the increase in number of attributes involved in decryption. In the cloud decryption, the difference in computation time between our scheme and the LZQH scheme is minimal.

In Fig 4(g) and 4(h), we show the variation of computation time for ciphertext update and key update against the number of revoked ciphertext and user attributes, respectively. For the ciphertext update, the computation time for our scheme and the H-N scheme increase with the increase in the number of revoked ciphertext attributes but remains constant for the LZQH scheme. This is because our scheme and the H-N scheme update the attribute elements associated with the revoked attributes. Meanwhile, in the LZQH scheme, only two ciphertext elements not related to the revoked attributes get updated and thus the constant computation time. However, unlike the H-N scheme that independently encrypts the header message, our scheme achieves better performance. For the key update, the computation time increases with the increase in the number of revoked user attributes for all the schemes. However, our scheme performs better, since it has fewer key elements that get updated as compared to the LZQH scheme and there is no independent decryption of group keys as compared to the H-N scheme.

In general, the proposed CESCR scheme is more expressive as it can handle the non-monotonic access policies without restrictions and is more efficient on the data user and data owner sides.

8 Conclusion

In this work, we focused on addressing data privacy and security concerns in collaborative ehealth systems. We proposed the CESCR scheme, which is a CP-ABE scheme whose main ingredients are, immediate attribute/user revocation, unboundedness, expressiveness, efficiency, and collusion resistance. We adapted the attribute group approach to address the immediate attribute/user revocation issues and bind the keys to the user identities to prevent collusion between data users. OBDD access structure was used to achieve expressivessness. A novel technique that limits the attribute elements in the ciphertext to only those associated with attribute group keys was proposed to achieve unboundedness and improved efficiency. The CESCR scheme further securely outsources the computationally demanding attribute operations in both encryption and decryption to the cloud without requiring a dummy attribute. We performed extensive security and performance analysis of the scheme in comparison with related CP-ABE schemes and the results show that the CESCR scheme is expressive, unbounded, secure, and efficient in comparison with the related CP-ABE schemes. The addition of traceability through the use of blockchain technology and policy hiding are interesting future considerations.

Data Availability

All relevant data are within the manuscript.

Funding Statement

This research was supported by the Basic Science Research Program through the National Research Foundation of Korea (NRF-2020R1F1A1072622).

References

  • 1. Sánchez-Guerrero R, Mendoza FA, Diaz-Sanchez D, Cabarcos PA, López AM. Collaborative ehealth meets security: Privacy-enhancing patient profile management. IEEE journal of biomedical and health informatics. 2017;21(6):1741–1749. 10.1109/JBHI.2017.2655419 [DOI] [PubMed] [Google Scholar]
  • 2. Xu S, Jayaraman A, Rogers JA. Skin sensors are the future of health care; 2019. [DOI] [PubMed] [Google Scholar]
  • 3. Pantelopoulos A, Bourbakis N.G. A survey on wearable sensor-based systems for health monitoring and prognosis. IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews). 2009;40(1):1–12. [Google Scholar]
  • 4. Raeve P.D. The world of cloud-based services: storing health data in the cloud; 2019. Available from: https://www.healtheuropa.eu/. [Google Scholar]
  • 5. Qian H, Li J, Zhang Y, Han J. Privacy-preserving personal health record using multi-authority attribute-based encryption with revocation. International Journal of Information Security. 2015;14(6):487–497. 10.1007/s10207-014-0270-9 [DOI] [Google Scholar]
  • 6.Pussewalage H.S.G, Oleshchuk V. A patient-centric attribute based access control scheme for secure sharing of personal health records using cloud computing. In: 2016 IEEE 2nd International Conference on Collaboration and Internet Computing (CIC). IEEE; 2016. p. 46–53.
  • 7.Sahai A, Waters B. Fuzzy identity-based encryption. In: Annual international conference on the theory and applications of cryptographic techniques. Springer; 2005. p. 457–473.
  • 8.Goyal V, Pandey O, Sahai A, Waters B. Attribute-based encryption for fine-grained access control of encrypted data. In: Proceedings of the 13th ACM conference on Computer and communications security; 2006. p. 89–98.
  • 9. Bethencourt J, Sahai A, Waters B. Ciphertext-policy attribute-based encryption. In: 2007 IEEE symposium on security and privacy (SP’07). IEEE; 2007. p. 321–334. [Google Scholar]
  • 10. Yu G, Wang Y, Cao Z, Lin J, Wang X. Traceable and undeniable ciphertext-policy attribute-based encryption for cloud storage service. International Journal of Distributed Sensor Networks. 2019;15(4):1550147719841276. [Google Scholar]
  • 11.Cheung L, Newport C. Provably secure ciphertext policy ABE. In: Proceedings of the 14th ACM conference on Computer and communications security; 2007. p. 456–465.
  • 12.Rao YS, Dutta R. Dynamic ciphertext-policy attribute-based encryption for expressive access policy. In: International Conference on Distributed Computing and Internet Technology. Springer; 2014. p. 275–286.
  • 13. Zhou Z, Huang D, Wang Z. Efficient privacy-preserving ciphertext-policy attribute based-encryption and broadcast encryption. IEEE Transactions on Computers. 2013;64(1):126–138. [Google Scholar]
  • 14. Waters B. Ciphertext-policy attribute-based encryption: An expressive, efficient, and provably secure realization. In: International Workshop on Public Key Cryptography. Springer; 2011. p. 53–70. [Google Scholar]
  • 15. Liu Z, Duan S, Zhou P, Wang B. Traceable-then-revocable ciphertext-policy attribute-based encryption scheme. Future Generation Computer Systems. 2019;93:903–913. 10.1016/j.future.2017.09.045 [DOI] [Google Scholar]
  • 16. Ma H, Wang Z, Guan Z. Efficient ciphertext-policy attribute-based online/offline encryption with user revocation. Security and Communication Networks. 2019;2019. [Google Scholar]
  • 17. Li L, Gu T, Chang L, Xu Z, Liu Y, Qian J. A ciphertext-policy attribute-based encryption based on an ordered binary decision diagram. IEEE Access. 2017;5:1137–1145. 10.1109/ACCESS.2017.2651904 [DOI] [Google Scholar]
  • 18.Zhang S, Li L, Chang L, Gu T, Liu H. A Ciphertext-Policy Attribute-Based Encryption Based on Multi-valued Decision Diagram. In: International Conference on Intelligent Information Processing. Springer; 2018. p. 303–310.
  • 19. Mandl K.D, Simons W.W, Crawford W.C, Abbett J.M. Indivo: a personally controlled health record for health information exchange and communication. BMC medical informatics and decision making. 2007;7(1):1–10. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 20. Pirretti M, Traynor P, McDaniel P, Waters B. Secure attribute-based systems. Journal of Computer Security. 2010;18(5):799–837. 10.3233/JCS-2009-0383 [DOI] [Google Scholar]
  • 21. Wei J, Chen X, Huang X, Hu X, Susilo W. RS-HABE: Revocable-storage and hierarchical attribute-based access scheme for secure sharing of e-health records in public cloud. IEEE Transactions on Dependable and Secure Computing. 2019;. 10.1109/TDSC.2019.2947920 [DOI] [Google Scholar]
  • 22. Yu S, Wang C, Ren K, Lou W. Attribute based data sharing with attribute revocation. In: Proceedings of the 5th ACM symposium on information, computer and communications security; 2010. p. 261–270. [Google Scholar]
  • 23. Fan K, Tian Q, Wang J, Li H, Yang Y. Privacy protection based access control scheme in cloud-based services. China Communications. 2017;14(1):61–71. 10.1109/CC.2017.7839758 [DOI] [Google Scholar]
  • 24. Hur J, Noh D.K. Attribute-based access control with efficient revocation in data outsourcing systems. IEEE Transactions on Parallel and Distributed Systems.2010;22(7):1214–1221. [Google Scholar]
  • 25. Li J, Yao W, Zhang Y, Qian H, Han J. Flexible and fine-grained attribute-based data storage in cloud computing. IEEE Transactions on Services Computing. 2016;10(5):785–796. [Google Scholar]
  • 26. Li J, Lin X, Zhang Y, Han J. KSF-OABE: Outsourced attribute-based encryption with keyword search function for cloud storage. IEEE Transactions on Services Computing. 2016;10(5):715–725. [Google Scholar]
  • 27. Kaur PD, Chana I. Cloud based intelligent system for delivering health care as a service. Computer methods and programs in biomedicine. 2014;113(1):346–359. 10.1016/j.cmpb.2013.09.013 [DOI] [PubMed] [Google Scholar]
  • 28. Miah S.J, Hasan J, Gammack J.G. On-cloud healthcare clinic: an e-health consultancy approach for remote communities in a developing country. Telematics and Informatics. 2017;34(1):311–322. 10.1016/j.tele.2016.05.008 [DOI] [Google Scholar]
  • 29. Pham M, Mengistu Y, Do H, Sheng W. Delivering home healthcare through a cloud-based smart home environment (CoSHE). Future Generation Computer Systems. 2018;81:129–140. 10.1016/j.future.2017.10.040 [DOI] [Google Scholar]
  • 30. Lee Y.T, Hsiao W.H, Huang C.M, Seng-cho T.C. An integrated cloud-based smart home management system with community hierarchy. IEEE Transactions on Consumer Electronics. 2016;62(1):1–9. 10.1109/TCE.2016.7448556 [DOI] [Google Scholar]
  • 31. Vijayakumar P, Obaidat M.S, Azees M, Islam S.H, Kumar N. Efficient and secure anonymous authentication with location privacy for IoT-based WBANs. IEEE Transactions on Industrial Informatics. 2019;16(4):2603–2611. [Google Scholar]
  • 32. Azees M, Vijayakumar P, Karuppiah M, Nayyar A. An efficient anonymous authentication and confidentiality preservation schemes for secure communications in wireless body area networks. Wireless Networks. 2021; p. 1–12. [Google Scholar]
  • 33. Li M, Yu S, Zheng Y, Ren K, Lou W. Scalable and secure sharing of personal health records in cloud computing using attribute-based encryption. IEEE transactions on parallel and distributed systems. 2012;24(1):131–143. [Google Scholar]
  • 34. Rao Y.S. A secure and efficient ciphertext-policy attribute-based signcryption for personal health records sharing in cloud computing. Future Generation Computer Systems. 2017;67:133–151. [Google Scholar]
  • 35. Han J, Susilo W, Mu Y, Yan J. Privacy-preserving decentralized key-policy attribute-based encryption. IEEE Transactions on Parallel and Distributed Systems. 2012;23(11):2150–2162. 10.1109/TPDS.2012.50 [DOI] [Google Scholar]
  • 36. Wang W, Qi F, Wu X, Tang Z. Distributed multi-authority attribute-based encryption scheme for friend discovery in mobile social networks. Procedia Computer Science. 2016;80:617–626. 10.1016/j.procs.2016.05.350 [DOI] [Google Scholar]
  • 37.Zhang Y, Zheng D. Anonymous attribute-based encryption with large universe and threshold access structures. In: 2017 IEEE International Conference on Computational Science and Engineering (CSE) and IEEE International Conference on Embedded and Ubiquitous Computing (EUC). vol. 1. IEEE; 2017. p. 870–874.
  • 38. Zhang Y, Li J, Chen X, Li H. Anonymous attribute-based proxy re-encryption for access control in cloud computing. Security and Communication Networks. 2016;9(14):2397–2411. 10.1002/sec.1509 [DOI] [Google Scholar]
  • 39.Gowda BK, Sumathi R. Hierarchy attribute-based encryption with timing enabled privacy preserving keyword search mechanism for e-health clouds. In: 2017 2nd IEEE International Conference on Recent Trends in Electronics, Information & Communication Technology (RTEICT). IEEE; 2017. p. 425–429.
  • 40. Huang Q, Yang Y, Shen M. Secure and efficient data collaboration with hierarchical attribute-based encryption in cloud computing. Future Generation Computer Systems. 2017;72:239–249. 10.1016/j.future.2016.09.021 [DOI] [Google Scholar]
  • 41. Wei J, Liu W, Hu X. Secure and efficient attribute-based access control for multiauthority cloud storage. IEEE Systems Journal. 2016;12(2):1731–1742. [Google Scholar]
  • 42. Liu Z, Jiang ZL, Wang X, Yiu SM. Practical attribute-based encryption: Outsourcing decryption, attribute revocation and policy updating. Journal of Network and Computer Applications. 2018;108:112–123. 10.1016/j.jnca.2018.01.016 [DOI] [Google Scholar]
  • 43. Yang K, Jia X. Expressive, efficient, and revocable data access control for multi-authority cloud storage. IEEE transactions on parallel and distributed systems. 2013;25(7):1735–1744. [Google Scholar]
  • 44. Li J, Zhang Y, Chen X, Xiang Y. Secure attribute-based data sharing for resource-limited users in cloud computing. Computers & Security. 2018;72:1–12. 10.1016/j.cose.2017.08.007 [DOI] [Google Scholar]
  • 45. Li J, Sha F, Zhang Y, Huang X, Shen J. Verifiable outsourced decryption of attribute-based encryption with constant ciphertext length. Security and Communication Networks. 2017;2017. [Google Scholar]
  • 46.Lewko A, Waters B. Decentralizing attribute-based encryption. In: Annual international conference on the theory and applications of cryptographic techniques. Springer; 2011. p. 568–588.
  • 47.Rouselakis Y, Waters B. Practical constructions and new proof methods for large universe attribute-based encryption. In: Proceedings of the 2013 ACM SIGSAC conference on Computer & communications security; 2013. p. 463–474.
  • 48.Cui H, Deng RH, Wu G, Lai J. An efficient and expressive ciphertext-policy attribute-based encryption scheme with partially hidden access structures. In: International Conference on Provable Security. Springer; 2016. p.19–38.
  • 49. Zhang Y, Zheng D, Deng RH. Security and privacy in smart health: Efficient policy-hiding attribute-based access control. IEEE Internet of Things Journal. 2018;5(3):2130–2145. 10.1109/JIOT.2018.2825289 [DOI] [Google Scholar]
  • 50. Zhang Y, Chen X, Li J, Wong DS, Li H. Anonymous attribute-based encryption supporting efficient decryption test. In: Proceedings of the 8th ACM SIGSAC symposium on Information, computer and communications security; 2013. p. 511–516. [Google Scholar]
  • 51.Liu Z, Wong D.S. Practical ciphertext-policy attribute-based encryption: traitor tracing, revocation, and large universe. In: International Conference on Applied Cryptography and Network Security. Springer; 2015. p. 127–146.
  • 52. Bryant R.E. Graph-based algorithms for boolean function manipulation. IEEE Transactions on Computers. 1986;100(8):677–691. [Google Scholar]
  • 53. Akinyele JA, Garman C, Miers I, Pagano MW, Rushanan M, Green M, et al. Charm: a framework for rapidly prototyping cryptosystems. Journal of Cryptographic Engineering. 2013;3(2):111–128. 10.1007/s13389-013-0057-3 [DOI] [Google Scholar]

Decision Letter 0

Pandi Vijayakumar

1 Mar 2021

PONE-D-21-04536

CESCR: CP-ABE for Efficient and Secure Sharing of Data in Collaborative eHealth with Revocation and no Dummy Attribute

PLOS ONE

Dear Dr. Kim,

Thank you for submitting your manuscript to PLOS ONE. After careful consideration, we feel that it has merit but does not fully meet PLOS ONE’s publication criteria as it currently stands. Therefore, we invite you to submit a revised version of the manuscript that addresses the points raised during the review process.

Please submit your revised manuscript by Apr 15 2021 11:59PM. If you will need more time than this to complete your revisions, please reply to this message or contact the journal office at plosone@plos.org. When you're ready to submit your revision, log on to https://www.editorialmanager.com/pone/ and select the 'Submissions Needing Revision' folder to locate your manuscript file.

Please include the following items when submitting your revised manuscript:

  • A rebuttal letter that responds to each point raised by the academic editor and reviewer(s). You should upload this letter as a separate file labeled 'Response to Reviewers'.

  • A marked-up copy of your manuscript that highlights changes made to the original version. You should upload this as a separate file labeled 'Revised Manuscript with Track Changes'.

  • An unmarked version of your revised paper without tracked changes. You should upload this as a separate file labeled 'Manuscript'.

If you would like to make changes to your financial disclosure, please include your updated statement in your cover letter. Guidelines for resubmitting your figure files are available below the reviewer comments at the end of this letter.

If applicable, we recommend that you deposit your laboratory protocols in protocols.io to enhance the reproducibility of your results. Protocols.io assigns your protocol its own identifier (DOI) so that it can be cited independently in the future. For instructions see: http://journals.plos.org/plosone/s/submission-guidelines#loc-laboratory-protocols

We look forward to receiving your revised manuscript.

Kind regards,

Pandi Vijayakumar, Ph.D

Academic Editor

PLOS ONE

Journal Requirements:

When submitting your revision, we need you to address these additional requirements.

1. Please ensure that your manuscript meets PLOS ONE's style requirements, including those for file naming. The PLOS ONE style templates can be found at

https://journals.plos.org/plosone/s/file?id=wjVg/PLOSOne_formatting_sample_main_body.pdf and

https://journals.plos.org/plosone/s/file?id=ba62/PLOSOne_formatting_sample_title_authors_affiliations.pdf

[Note: HTML markup is below. Please do not edit.]

Reviewers' comments:

Reviewer's Responses to Questions

Comments to the Author

1. Is the manuscript technically sound, and do the data support the conclusions?

The manuscript must describe a technically sound piece of scientific research with data that supports the conclusions. Experiments must have been conducted rigorously, with appropriate controls, replication, and sample sizes. The conclusions must be drawn appropriately based on the data presented.

Reviewer #1: Partly

Reviewer #2: Yes

**********

2. Has the statistical analysis been performed appropriately and rigorously?

Reviewer #1: Yes

Reviewer #2: Yes

**********

3. Have the authors made all data underlying the findings in their manuscript fully available?

The PLOS Data policy requires authors to make all data underlying the findings described in their manuscript fully available without restriction, with rare exception (please refer to the Data Availability Statement in the manuscript PDF file). The data should be provided as part of the manuscript or its supporting information, or deposited to a public repository. For example, in addition to summary statistics, the data points behind means, medians and variance measures should be available. If there are restrictions on publicly sharing data—e.g. participant privacy or use of data from a third party—those must be specified.

Reviewer #1: Yes

Reviewer #2: Yes

**********

4. Is the manuscript presented in an intelligible fashion and written in standard English?

PLOS ONE does not copyedit accepted manuscripts, so the language in submitted articles must be clear, correct, and unambiguous. Any typographical or grammatical errors should be corrected at revision, so please note any specific errors here.

Reviewer #1: Yes

Reviewer #2: Yes

**********

5. Review Comments to the Author

Please use the space provided to explain your answers to the questions above. You may also include additional comments for the author, including concerns about dual publication, research ethics, or publication ethics. (Please upload your review as an attachment if it exceeds 20,000 characters)

Reviewer #1: In this paper, the authors propose the CESCR solution to solve the problem of instant attribute/user cancellation and collusion, and achieve unboundedness and expressiveness.

Although this scheme implements attribute/user revocation, there are other problems. To accept it, there is still a long way to go. We point out the specific problems:

1. The paper lacks innovative points. The fifth point of user anti-collusion is actually something that has already been mentioned in the first point, and the attribute/user cancellation mentioned by the author is only the technology of other solutions. The fourth point of innovation is also a feature of the OBDD access structure itself, rather than unique to the solution.

2. In the section of Security Analysis, the probability of challenger B's success has not been analyzed in detail. Please use the mathematical formula to analyze concretely.

3. In the section of Simulation and Performance Analysis, the authors only chose to compare with one plan, which makes the degree of persuasion was not strong.

4. The content format and reference format of this article are not accurate enough. Please double check and correct.

Reviewer #2: 1. The introduction part is well written.

2. The technical novelty of the paper is good. The research problem and research methods are described clearly. The paper is potentially worthy of publication.

3. The related work section is comprehensive. However, the authors are requested to analyse the following papers in the releted work section.

* An efficient anonymous authentication and confidentiality preservation schemes for secure communications in wireless body area networks, wireless networks.

* Efficient and secure anonymous authentication with location privacy for IoT-based WBANs, IEEE Transactions on Industrial Informatics.

4. The contribution of this paper is well.

**********

6. PLOS authors have the option to publish the peer review history of their article (what does this mean?). If published, this will include your full peer review and any attached files.

If you choose “no”, your identity will remain anonymous but your review may still be made public.

Do you want your identity to be public for this peer review? For information about this choice, including consent withdrawal, please see our Privacy Policy.

Reviewer #1: No

Reviewer #2: No

[NOTE: If reviewer comments were submitted as an attachment file, they will be attached to this email and accessible via the submission site. Please log into your account, locate the manuscript record, and check for the action link "View Attachments". If this link does not appear, there are no attachment files.]

While revising your submission, please upload your figure files to the Preflight Analysis and Conversion Engine (PACE) digital diagnostic tool, https://pacev2.apexcovantage.com/. PACE helps ensure that figures meet PLOS requirements. To use PACE, you must first register as a user. Registration is free. Then, login and navigate to the UPLOAD tab, where you will find detailed instructions on how to use the tool. If you encounter any issues or have any questions when using PACE, please email PLOS at figures@plos.org. Please note that Supporting Information files do not need this step.

Decision Letter 1

Pandi Vijayakumar

19 Apr 2021

CESCR: CP-ABE for Efficient and Secure Sharing of Data in Collaborative eHealth with Revocation and no Dummy Attribute

PONE-D-21-04536R1

Dear Dr. Kim,

We’re pleased to inform you that your manuscript has been judged scientifically suitable for publication and will be formally accepted for publication once it meets all outstanding technical requirements.

Within one week, you’ll receive an e-mail detailing the required amendments. When these have been addressed, you’ll receive a formal acceptance letter and your manuscript will be scheduled for publication.

An invoice for payment will follow shortly after the formal acceptance. To ensure an efficient process, please log into Editorial Manager at http://www.editorialmanager.com/pone/, click the 'Update My Information' link at the top of the page, and double check that your user information is up-to-date. If you have any billing related questions, please contact our Author Billing department directly at authorbilling@plos.org.

If your institution or institutions have a press office, please notify them about your upcoming paper to help maximize its impact. If they’ll be preparing press materials, please inform our press team as soon as possible -- no later than 48 hours after receiving the formal acceptance. Your manuscript will remain under strict press embargo until 2 pm Eastern Time on the date of publication. For more information, please contact onepress@plos.org.

Kind regards,

Pandi Vijayakumar, Ph.D

Academic Editor

PLOS ONE

Additional Editor Comments (optional):

The paper can be accepted in the present format.

Reviewers' comments:

Reviewer's Responses to Questions

Comments to the Author

1. If the authors have adequately addressed your comments raised in a previous round of review and you feel that this manuscript is now acceptable for publication, you may indicate that here to bypass the “Comments to the Author” section, enter your conflict of interest statement in the “Confidential to Editor” section, and submit your "Accept" recommendation.

Reviewer #2: All comments have been addressed

**********

2. Is the manuscript technically sound, and do the data support the conclusions?

The manuscript must describe a technically sound piece of scientific research with data that supports the conclusions. Experiments must have been conducted rigorously, with appropriate controls, replication, and sample sizes. The conclusions must be drawn appropriately based on the data presented.

Reviewer #2: Yes

**********

3. Has the statistical analysis been performed appropriately and rigorously?

Reviewer #2: Yes

**********

4. Have the authors made all data underlying the findings in their manuscript fully available?

The PLOS Data policy requires authors to make all data underlying the findings described in their manuscript fully available without restriction, with rare exception (please refer to the Data Availability Statement in the manuscript PDF file). The data should be provided as part of the manuscript or its supporting information, or deposited to a public repository. For example, in addition to summary statistics, the data points behind means, medians and variance measures should be available. If there are restrictions on publicly sharing data—e.g. participant privacy or use of data from a third party—those must be specified.

Reviewer #2: Yes

**********

5. Is the manuscript presented in an intelligible fashion and written in standard English?

PLOS ONE does not copyedit accepted manuscripts, so the language in submitted articles must be clear, correct, and unambiguous. Any typographical or grammatical errors should be corrected at revision, so please note any specific errors here.

Reviewer #2: (No Response)

**********

6. Review Comments to the Author

Please use the space provided to explain your answers to the questions above. You may also include additional comments for the author, including concerns about dual publication, research ethics, or publication ethics. (Please upload your review as an attachment if it exceeds 20,000 characters)

Reviewer #2: (No Response)

**********

7. PLOS authors have the option to publish the peer review history of their article (what does this mean?). If published, this will include your full peer review and any attached files.

If you choose “no”, your identity will remain anonymous but your review may still be made public.

Do you want your identity to be public for this peer review? For information about this choice, including consent withdrawal, please see our Privacy Policy.

Reviewer #2: No

Acceptance letter

Pandi Vijayakumar

23 Apr 2021

PONE-D-21-04536R1

CESCR: CP-ABE for Efficient and Secure Sharing of Data in Collaborative eHealth with Revocation and no Dummy Attribute

Dear Dr. Kim:

I'm pleased to inform you that your manuscript has been deemed suitable for publication in PLOS ONE. Congratulations! Your manuscript is now with our production department.

If your institution or institutions have a press office, please let them know about your upcoming paper now to help maximize its impact. If they'll be preparing press materials, please inform our press team within the next 48 hours. Your manuscript will remain under strict press embargo until 2 pm Eastern Time on the date of publication. For more information please contact onepress@plos.org.

If we can help with anything else, please email us at plosone@plos.org.

Thank you for submitting your work to PLOS ONE and supporting open access.

Kind regards,

PLOS ONE Editorial Office Staff

on behalf of

Dr. Pandi Vijayakumar

Academic Editor

PLOS ONE

Associated Data

    This section collects any data citations, data availability statements, or supplementary materials included in this article.

    Supplementary Materials

    Attachment

    Submitted filename: Response to Reviewers.doc

    Data Availability Statement

    All relevant data are within the manuscript.


    Articles from PLoS ONE are provided here courtesy of PLOS

    RESOURCES