Abstract
Nowadays, fog computing provides computation, storage, and application services to end users in the Internet of Things. One of the major concerns in fog computing systems is how fine-grained access control can be imposed. As a logical combination of attribute-based encryption and attribute-based signature, Attribute-based Signcryption (ABSC) can provide confidentiality and anonymous authentication for sensitive data and is more efficient than traditional “encrypt-then-sign” or “sign-then-encrypt” strategy. Thus, ABSC is suitable for fine-grained access control in a semi-trusted cloud environment and is gaining more and more attention recently. However, in many existing ABSC systems, the computation cost required for the end users in signcryption and designcryption is linear with the complexity of signing and encryption access policy. Moreover, only a single authority that is responsible for attribute management and key generation exists in the previous proposed ABSC schemes, whereas in reality, mostly, different authorities monitor different attributes of the user. In this paper, we propose OMDAC-ABSC, a novel data access control scheme based on Ciphertext-Policy ABSC, to provide data confidentiality, fine-grained control, and anonymous authentication in a multi-authority fog computing system. The signcryption and designcryption overhead for the user is significantly reduced by outsourcing the undesirable computation operations to fog nodes. The proposed scheme is proven to be secure in the standard model and can provide attribute revocation and public verifiability. The security analysis, asymptotic complexity comparison, and implementation results indicate that our construction can balance the security goals with practical efficiency in computation.
1. Introduction
With the rapid development of cloud computing, more people are coming to prefer moving both the large burden of data storage and computation overhead to cloud servers in a cost-effective manner [1]. However, the advance of the Internet of Things (IoTs) has posed a challenge to the centralized cloud computing system due to its geo-distribution, location awareness, and low latency requirements. To solve the problem, Cisco proposed the concept of fog computing in 2014, where a layer consisting of fog devices (such as routers, access points, and IP video cameras) bridges between the cloud server and end users [2]. In a fog computing system, the fog devices, termed as fog nodes, are distributed and implemented at the edge of networks [3]. Since fog nodes are much closer to end users than the cloud server and have plentiful computing resources and wireless communication facility, some of the computing tasks can be outsourced to fog nodes from the nearby end user, which alleviates the computation burden of the users and significantly improve the efficiency. Thus, the fog computing paradigm can be applied in many real-time and geographically distributed applications, such as wireless sensors, smart grids and health fog applications [4].
However, there are still various challenging obstacles in fog computing systems, such as the privacy and security of users’ data [5,6]. Traditionally, a cloud server is not fully trusted by the data owner in cloud computing system, and the data uploaded may contain sensitive information; hence, the data should be encrypted before outsourcing to the cloud. In accord with cloud computing, message confidentiality should also be considered in fog computing systems. Moreover, since the fog nodes are more easily compromised than cloud servers [6], it is required that fog nodes should alleviate the computation burden of end devices without degrading the privacy in fog computing systems. In addition to confidentiality, data owners may wish to impose fine-grained access control such that only users with certain attributes have access to the data [7]. For example, in a health fog system, which combines the advantage of both the fog computing and original cloud-based healthcare services [8], personal health records usually contain abundant sensitive information, such as weight, heart rate, and blood type. After gathering by sensors, the personal health record may be uploaded to the cloud for the user’s individual needs or to perform real-time analytics. To ensure the privacy of the health data, an access control system should guarantee that only the users authorized by the data owner can access the data. For instance, to analyze whether the blood pressure is normal, the owner “Alice” wants to share her health data to users with attributes “Institution = Hospital ∧ Role = Doctor ∧ Gender = Female”. One of the effective techniques to address this fine-grained access requirement is attribute-based encryption (ABE) [9]. It realizes the confidentiality and access control on data based on encryption under an access policy defined over the set of attributes.
Besides the confidentiality and fine-grained access control, it is also necessary to provide anonymity authentication for data sharing between users in the access control mechanism. For instance, the owner “Alice”, aged 20, would like to encrypt and store some sensitive health information in the cloud but does not want to be recognized. When a data user, such as the doctor or researcher, accesses the data, he/she can verify that the data is actually uploaded by a patient with certain credentials such as “Gender = Female ∧ Age ∈ [18,30]” without knowing the patient’s real identity “Alice” or her real age.
A feasible and promising solution is the Attribute Based Signcryption (ABSC) scheme, which takes advantages of Attribute-Based Encryption (ABE) and Attribute-Based Signature (ABS), and is more efficient than do the traditional “encrypt-then-sign” or “sign-then-encrypt” strategies. ABSC employs ABE to provide confidentiality and fine-grained access control, and uses ABS to achieve authentication without revealing the data owner’s sensitive attributes. Traditionally, ABE can be classified into two categories: Key-Policy ABE (KP-ABE) and Ciphertext-Policy ABE (CP-ABE). In KP-ABE, the secret key is associated with an access structure (predicate), and the message is encrypted with a set of attributes. While in CP-ABE, predicate is assigned to the plaintext message. Similarly, ABS has two categories: Signature-Policy ABS (SP-ABS) wherein the predicate is embedded in the signature, and Key-Policy ABS (KP-ABS) wherein the predicate is associated with the secret key. The Ciphertext-Policy ABSC (CP-ABSC) [10] supports CP-ABE and SP-ABS, and the Key-Policy ABSC (KP-ABSC) [11] supports KP-ABE and KP-ABS. Recently, many data access control schemes based on ABSC have been proposed, as in [12,13,14,15]. Although some of them are efficient, three problems must be considered when implementing ABSC scheme in fog computing environment. The first one is performance. The traditional ABSC scheme is typically computationally intensive. In particular, the cost of signcryption and designcryption on the user side are proportional to the complexity of predicates. One possible strategy to alleviate the computation overhead required on end user is to outsource the most computation-consuming job of signcryption and designcryption to the fog node. Although many ABE schemes with outsourcing encryption and decryption, as in [16,17,18,19,20], have been proposed in recent years for secure data sharing in fog computing system, realizing ABSC scheme with anonymous authentication and efficient computation outsourcing is still a challenge since ABSC schemes contain both of the signing and encryption protocols. The second problem is multi-authority. In traditional ABSC schemes, as in [12,13,14,15], a central authority is responsible for attribute management and key generation. However, in many applications, the predicate embedded in the ciphertext or signature can be written over attributes issued by different trust domains and authorities. For example, the health data uploaded by “Alice” may contain the encryption predicate as “(Doctor ∨ Researcher) ∨ Female”. Since only a hospital can authorize a person the attribute “Doctor” and only a research organization can certify that a person is a “Researcher”, it is not practical to authorize access right to a person by a single authority. Therefore, it is necessary to distribute attribute management and secret key generation from a single central authority over many authorities. Some multi-authority ABE schemes for fog computing, as in [17], have been proposed, whereas constructing multi-authority ABSC scheme with outsourcing capability is still a blank. The third one is attribute revocation. For example, when the attributes of a doctor are updated from A = {Institution = Hospital ∧ Role = Doctor ∧ Gender = Female} to B = {Institution = Hospital ∧ Gender = Female}, her access rights should be modified accordingly. Attribute revocation is not trivial and straightforward in ABE schemes. However, it has not been taken into account in multi-authority ABSC schemes with outsourcing capability.
The problem of designing a multi-authority data access control scheme based on ABSC with signcryption and designcryption outsourcing capabilities and attribute revocation for fog computing system, has received very little attention so far, although some schemes based on Multi-Authority ABE (MA-ABE) and ABS (MA-ABS) for cloud storage setting have been proposed, as in [21,22,23,24,25,26]. Meng et al. [27] proposed a decentralized KP-ABSC scheme for secure data sharing in the cloud. However, the scheme is just a combination of identity signature and MA-ABE, and only supports the threshold predicate. It also does not provide any security definition or computation outsourcing. Hong et al. [28] proposed a KP-ABSC scheme with outsourced designcryption and key exposure protection. However, the computation overhead of signcryption increases with the complexity of the predicate, and since the verification and decryption both have to be performed on the user side, the number of pairing operations evaluated on the user side is proportional to the sum of the required attributes, which is not acceptable to IoT devices. Moreover, the scheme in [28] does not support multi authorities and attribute revocation. We focus on CP-ABSC in access control application, as CP primitives are more suitable for the data owner to choose the predicate to determine who can access the sensitive data [14].
1.1. Contributions
In this paper, we propose OMDAC-ABSC, a novel data access control scheme for fog computing system based on Multi-Authority CP-ABSC (MACP-ABSC) supporting the computation outsourcing for both signcryptor (data owner) and designcryptor (data user). To the best of our knowledge, OMDAC-ABSC is the first scheme that significantly reduces computation burden from both data owners and data users in the multi-authority ABSC setting. Public verifiability, expressiveness and attribute revocation are also considered in our scheme. The main contributions can be summarized as follows:
- (1)
- We propose a data access control scheme OMDAC-ABSC for fog computing system, in which fog nodes serve as a bridge between the cloud server and end users. In our scheme, heavy signcryption and designcryption operations can be outsourced from end users (e.g., tablet computers and smartphones) to fog nodes. In signcryption phase, the fog nodes are in charge of generating part of the ciphertext. In designcryption phase, the fog nodes can perform the partial decryption without degrading the data confidentiality, and the data user only requires a constant number of exponentiations to decrypt the ciphertext. Additionally, unlike other existing works such as [27,28], our scheme supports public verification, since the verification mechanism does not require the plaintext message or the data owner’s public key. Thus the verification algorithm can be performed by any trusted party, which alleviates the computation burden of the end user. Therefore, our construction is efficient from computation point of view.
- (2)
- Unlike some existing ABE schemes for fog computing such as [16,18,19] and ABSC schemes such as [15,27,28], the proposed OMDAC-ABSC scheme is more expressiveness and supports any monotone Boolean function predicates represented by monotone span programs (MSP) for both signing and encryption. Moreover, we remove the limitation that the labeling functions ρ in signing and encryption predicates should be injective functions.
- (3)
- Our OMDAC-ABSC scheme is proven to be secure in the standard model. We also formally prove that our construction satisfies the properties of signcryptor privacy and collusion resistance.
- (4)
- We also consider the attribute revocation in our OMDAC-ABSC scheme. In attribute revocation phase, the authority supervising the revoked attribute only distributes the update keys to the non-revoked users and the cloud server to update the corresponding components. It is also proved that our scheme guarantees both the forward and backward revocation security.
1.2. Paper Organization
The remainder of this paper is organized as follows: in Section 2, we discuss some related works. Then in Section 3, we review the necessary notations and cryptographic background that are used throughout the paper. In Section 4, we give the definition of our scheme and the security requirements. The details of the scheme and the security proof are elaborated in Section 5 and Section 6, respectively. Section 7 is dedicated to discussing the functionality and performance of the scheme. Finally, we conclude this paper in Section 8.
2. Related Works
2.1. Access Control Schemes Based on ABE
ABE was first introduced by Sahai and Waters [9]. In ABE, a data owner can share sensitive data with others according to predicates (or access policies). Several works on ABE have been presented to address data access control in untrusted cloud servers. Recently, the ABE scheme was adopted in fog-computing systems to guarantee confidentiality and fine-grained access control. Heavy computations of encryption or decryption are outsourced to fog nodes to improve the efficiency. In [16], an anonymous user authentication in ciphertext update phase was realized, whereas the scheme only supports AND-gate predicate. Zuo et al. [18] proposed a CCA-secure ABE scheme with decryption outsourcing. However, the encryption phase of the scheme in [18] incurs heavy computation cost. Additionally, the scheme in [18] is only provably secure in the random oracle model and only supports the AND-gate encryption predicate. Zhang et al. [19] presented an ABE- based access control scheme for fog computing with outsourced encryption and decryption. Although the computation operations (pairings and exponentiations) for users to encrypt and decrypt are irrelevant to the complexity of predicate, the scheme only supports threshold encryption predicate, and requires both the cloud server and fog nodes to be trusted. Lounis et al. [29] proposed a cloud-based architecture for medical wireless sensor networks, in which the resource-constrained end devices outsource the costly computations to the trusted gateway. However, the decryption phase incurs heavy computation cost. Xiao et al. [30] constructed a fine-grained hybrid scheme for fog computing with the advantages of efficient data search and access authorization through online/offline encryption, delegation of search task and decryption to fog nodes, and provable security. Mao et al. [20] proposed an ABE scheme with verifiable outsourced decryption, whereas it incurs a heavy computation overhead in encryption phase. Li et al. [31] also proposed a fully verifiable ABE scheme with outsourcing capability. However, Liao et al. [32] showed that the verification mechanism proposed in [31] is not always correct.
In many ABE schemes, the attribute universe is assumed to be managed by a single authority. In reality, however, users’ attributes may be monitored by different authorities. To track this problem, MA-ABE scheme was proposed by Chase et al. [33]. In MA-ABE, the attribute universe is divided into multiple disjoint sets, and each authority controls one of these attribute sets. The user can successfully decrypt the ciphertext if and only if the user possesses at least a pre-specified number of attributes from each authority. Furthermore, Chase et al. [34] proposed an improved MA-ABE scheme to remove the fully trusted central authority by adopting a Pseudo Random Function (PRF) and a secure 2-party anonymous secret-key-issuing protocol. However, the multiple authorities must cooperate with each other, and the number of authorities must be determined in the initialization phase. Recently, many distributed access control schemes based on MA-ABE have been proposed, such as [21,22,23,24,25,26,35,36]. Han et al. [21] proposed a privacy-preserving decentralized CP-ABE based access scheme (PPDCP-ABE) to protect the user’s privacy. However, PPDCP-ABE cannot resist collusion attack or support anonymous authentication. Rui et al. [22] constructed a MA-ABE scheme with secure attribute-level immediate attribute revocation. The scheme is only provably secure under the random oracle model. Lewko et al. [23] proposed a decentralized attribute-based encryption using the dual system encryption methodology. The secret keys of the user are tied to his global identity in order to resist collusion attack. However, the scheme realizes the security in random oracle model using the composite-order bilinear group, which incurs great computation overhead. Sourya et al. [25] proposed a decentralized data sharing scheme with outsourced decryption and user revocation. They also proposed a decentralized data sharing scheme where multiple attribute authorities distribute secret keys to the user [24]. In [26], the authors outsourced the main computation overhead in a decryption algorithm to the cloud. However, the security cannot be guaranteed if the revoked user eavesdrops to obtain the update keys and retrieves the ability to decrypt as a non-revoked user. To implement multi-authority ABE in fog computing system, Fan et al. [17] proposed a VO-MAACS scheme with verification mechanism. Although the encryption and decryption algorithms are outsourced, the scheme cannot support anonymous authentication and attribute revocation, and does not have security proof. Jung et al. [35] presented an anonymous privilege control scheme to address data and identity privacy in multi-authority cloud storage system. To guarantee the confidentiality of user’s identity information, the scheme in [35] decomposes the central authority to multiple ones while preserving tolerance to compromise attack on the authorities. However, the security is realized in random oracle model, and the encryption predicate is the AND gate. In [36], the authors constructed a multi-authority data access control scheme with decryption outsourcing and attribute-level user revocation. The scheme supports any monotone encryption predicate and is adaptively secure in the standard model. Nevertheless, the scheme in [36] needs to deal with large composite-order group elements and thus incurs heavy computation overhead.
2.2. Attribute-Based Signature and Multi-Authority Attribute-Based Signature
ABS was first introduced by Maji et al. [37]. Due to their anonymity and authentication properties, many ABS schemes have been proposed. Like ABE, to overcome the drawback that only a single authority exists in the system, the concept of MA-ABS was introduced in [38]. In MA-ABS, there are multiple authorities and each authority controls one of disjoint attribute sets. The user is able to successfully sign the plaintext if he/she possesses a pre-specified number of attributes from multiple authorities.
2.3. Access Control Schemes Based on ABSC
ABSC scheme, first introduced by Gagné et al. [10], is a logical combination of ABE and ABS and can support many practical properties, including confidentiality, fine-grained access control, and authentication. Recently, many data access control schemes based on ABSC have been proposed, as in [11,12,13,14,15,27,28]. Y. Sreenivasa [11] proposed a Key-Policy attribute-based signcryption scheme that supports any monotone Boolean function and constant size ciphertext. However, the message confidentiality and unforgeability of the scheme against selectively adversary are proven in the random oracle model. Chen et al. [12] focused on the joint security of signature and encryption schemes and presented a CP-ABSC scheme in the joint security setting. However, it cannot support public verifiability since plaintext is required in verification mechanism. Liu et al. [13] proposed a secure PHR data access control scheme based on CP-ABE [39] and ABS [37]. However, it is only provably secure in a random oracle model. In [14], the authors constructed a CP-ABSC based access control scheme with public verifiability, but the scheme does not support computation outsourcing. Yu et al. [15] proposed the hybrid access policy ABSC scheme that supports KP-ABS and CP-ABE. The size of the ciphertext is constant, and the scheme realizes security in the standard model. Nevertheless, it only supports the threshold predicate in the encryption phase. Moreover, the above ABSC schemes only have a single authority and cannot be applied in the multi-authority system.
3. Preliminaries
By , we denote that is selected randomly from . denotes the cardinality of a finite set . denotes a finite field with prime order , and stands for . denotes that is computed by running algorithm with input . represents the set . denotes the th element of the vector . A function is negligible if, for any , there exists a such that when . We use and as superscripts for signing and encryption, respectively. denotes the probability of an event occurring. For an unambiguous presentation of the paper, we define the important notations used in our scheme in the Appendix A.
Definition 1.
Bilinear maps [22]: Let and be two cyclic groups with the prime order , and be the generator of . Then the bilinear map can be defined as follows:
- Bilinear. For all , , .
- Non-degenerate. .
- Computable. There is an efficient algorithm to compute the map .
takes as input a security parameter and outputs a bilinear group with prime order and a bilinear map .
Definition 2.
Decisional Bilinear Diffie-Hellman (BDH) Assumption [22]: Let be a generator of with prime order and be randomly chosen. Given a vector , the decisional BDH assumption holds if no PPT adversary can distinguish from with the advantage .
Definition 3.
Decisional q-Parallel Bilinear Diffie-Hellman Exponent (q-PBDHE) Assumption [21]: Suppose that , and is a generator of . Given , the decisional q-PBDHE assumption holds if no PPT adversary can distinguish from with the advantage .
Definition 4.
Monotone Span Program (MSP) [11]: Assume is a set of variables. An MSP is a labeled matrix , where is an matrix over and is the labeling function .
Let and where . . Let be the th row of . We denote if accepts the input . Likewise, means rejects . Then where for all .
An MSP computes a monotone Boolean function if for all .
Lemma 1
[14].If , then there exists a vector with such that for all .
Definition 5.
Predicates [14]: Assume is the universe of attributes. A predicate over is a monotone Boolean function whose inputs are associated with the attributes of . Let is a subset of attributes. A predicate accepts if . If does not satisfy then . A predicate is said to be monotone, if for every attribute set .
Suppose is a predicate and is the set of attributes utilized in . Then the corresponding MSP for is a labeled matrix , where .
Define and . . Then
.
Lemma 2
[14].If , then there exists a vector with such that for all where .
Definition 6
[14].Let be a matrix of size over a field . is rank of . If , then contains a polynomial number of vectors , and the predicate for which MSP is consists of both AND and OR gates. Otherwise, and the predicate is an AND gate. In our construction, we consider the signing and encryption predicates consisting of both AND and OR gates.
4. Scheme and Security Definitions
Our OMDAC-ABSC scheme consists of a multi-authority attribute-based signcryption (MACP-ABSC) scheme.
4.1. Multi-Authority Attribute-Based Signcryption
The MACP-ABSC scheme consists of the following five algorithms:
. Taking as input a security parameter , the algorithm outputs the public parameters . It also generates the public key for the user with identity .
. It takes as input and outputs the public key and secret key pairs for the authority.
. Taking as input , of authority , user’s public key and attribute set , where denotes the set of decryption attributes, and is the set of signing attributes. The algorithm outputs the secret signing and decryption keys for the user.
. Taking as input the plaintext , public parameters , signing and encryption predicates , and the set of signcryptor’s secret signing keys , where is the set of involved authorities in signcryption and is signcryptor’s identity. The algorithm outputs the ciphertext .
. This algorithm intakes the public parameters , ciphertext , public key of the data user (designcryptor), and the set of designcryptor’s secret decryption keys , outputs the plaintext or .
Definition 7.
Assume the signcryptor is denoted by and designcryptor is denoted by . We say that the MACP-ABSC scheme is correct if , then , where , , , , .
4.2. High-Level Overview of OMDAC-ABSC Scheme
Based on MACP-ABSC scheme, we propose OMDAC-ABSC scheme, a novel data access control scheme for fog computing system supporting the computation outsourcing for both signcryptor and designcryptor.
4.2.1. Scheme Description
As shown in Figure 1, our OMDAC-ABSC scheme has five types of entities: the global certificate authority (CA), cloud server, users (including signcryptors and designcryptors), independent attribute authorities (AAs) and fog nodes.
Figure 1.
System Architecture.
Global Certificate Authority: The global certificate authority (CA) is fully trusted in the system and generates the public parameters for the system. CA is also responsible for the users’ and authorities’ registrations. However, CA is not involved in any attribute management and the creations of the secret keys that are associated with attributes. With the help of CA, we can improve the privacy of our scheme by realizing the identity authentication and preventing authorities from forging a virtual user to decrypt the ciphertext. In secret key generation phase, the attribute authority verifies user’s certification using the verification key of CA and then generates the secret key for the user. In designcryption phase, the cloud server can verify user’s identifier and return the ciphertext to the fog node if the user is valid.
Cloud Server: The cloud server is a semi-trusted party and also provides data storage and data access service to users. Since our scheme supports public verification, the cloud server can verify that the ciphertext is valid and is signcrypted by the data owner whose attributes satisfy the signing predicates contained in the ciphertext. If the ciphertext is not valid, the cloud server can reject it.
User: Users who are attached to fog nodes and equipped with IoT devices in our system include the signcryptor and designcryptor. When the signcryptor signcrypts a message, he/she can select the signing and encryption predicates over the attributes from multiple authorities and outsource the resulting ciphertext to the cloud server. We assume that the ciphertext implicitly contains the signing and encryption predicates. Only legally registered users can endorse the data, and only users satisfying the encryption predicate can decrypt the data.
Attribute Authority: The authority can initialize itself to setup its public and secret keys. To compute the secret keys for users, the authority verifies the user’s identity and generates the secret keys according to the user’s attributes.
Fog Node: Fog nodes, deployed at the edge of the network, offer a variety of services, such as low latency, location awareness, and real-time applications. Each of them is linked to the cloud server. Fog nodes are also in charge of part of signcryption and designcryption computations. Note that in designcryption phase, only if the data user’s attributes satisfy the encryption predicate will the fog nodes partially designcrypt the ciphertext with the proxy secret keys.
The work flow of OMDAC-ABSC scheme is shown in Figure 2. The scheme consists of the following six phases.
Figure 2.
Work flow of OMDAC-ABSC scheme.
(1) System Initialization
In this phase, CA generates the public parameters for the system, and also accepts the registrations of the attribute authorities and the users. The initialization phase contains the following six algorithms:
. This algorithm is run by CA. Taking as input the security parameter , the algorithm outputs the public parameters .
. This algorithm is run by CA and data user. Taking as input the public parameters, CA assigns the global identity and partial public key to the user.
. This algorithm is run by CA and the attribute authority. Taking as input the public parameters, CA assigns the global identity and partial public key for the attribute authority.
. Given the global identity , public parameters , and partial public key , the data user runs to initialize himself/herself. The algorithm outputs the public key and secret key for the user. Additionally, the public key certificate generated by CA is sent to the user for identity authentication.
. Given the global identity , public parameters , and partial public key , the attribute authority runs to initialize itself. The algorithm outputs the public key and secret key for the attribute authority .
. This algorithm is run by CA to end the system initialization phase. Taking as input the public parameters and authorities’ public keys , CA generates the public key for each pair of user and authority .
(2) Secret Key Generation
After system initialization, the attribute authority can verify the user’s identity using the public key certificate and then run algorithm to compute the secret signing and decryption keys for the valid user according to the user’s attribute set .
. The algorithm intakes the public parameters , the public key and secret key pair of the authority , the public key and user’s attribute set , outputs the user’s secret signing and decryption keys .
(3) Proxy Secret Key Generation
In this phase, the data user runs algorithm to compute the proxy secret signing and decryption keys and then sends to the fog nodes to outsource the signcryption and designcryption computation overhead.
. Taking as input the secret key and secret signing and decryption keys , this algorithm outputs the proxy secret signing and decryption keys . are sent to the fog nodes.
(4) Data Signcryption
To achieve high efficiency, the signcryptor first encrypts the plaintext with a random content key by applying a symmetric encryption algorithm. Then the signcryptor defines the signing and encryption predicates and , and signcrypts the content secret key with the following two algorithms:
. This algorithm is performed in the fog nodes. Taking as input the public parameters , proxy secret signing key of the attribute authority whose attributes are selected for signing, the public key of signcryptor, the signing and encryption predicates , the algorithm outputs part of the ciphertext .
. This algorithm intakes the message to be signcrypted, the public parameters , the public key of attribute authorities whose attributes are selected for encryption, secret key of signcryptor and partial ciphertext , outputs the ciphertext and sends to the cloud server.
(5) Data Designcryption
When the user queries the ciphertext, the cloud server verifies the user’s identifier and returns the ciphertext to the fog node if the user is valid. If the decryption attribute set satisfies the encryption predicate embedded in ciphertext, the data user can obtain the plaintext by running algorithm which includes the following three sub-algorithms: run by any trusted party (public verifiability), run by fog nodes and performed by the user. (resp. ) denotes the set of the indexes of the authorities involved in signing (resp. encryption). Note that (resp. ) can be obtained from (resp. ) which is implicitly contained in .
. This algorithm takes as input the public parameters and ciphertext , outputs if contains an invalid signature corresponding to the signing predicate embedded in . Otherwise, proceed algorithm as follows:
. This algorithm contains two sub-algorithms:
. This algorithm intakes the public parameters , the ciphertext , the public key of the user and the proxy secret decryption key , outputs the partial decryption result and returns to the user.
. Taking as input the public parameters , the partial decryption result and secret key , the algorithm outputs the final plaintext or .
(6) Attribute revocation
In this phase, suppose the attribute of the user is revoked from . After randomly chooses a new attribute version key, the authority distributes the update keys implicitly containing the latest attribute version key to the non-revoked users and cloud server respectively. Only the -related components of secret keys and ciphertext will be updated.
. This algorithm is run by attribute authority . The algorithm intakes the public key of non-revoked user , the secret key of , outputs the signing and decryption update keys , and ciphertext update keys .
. This algorithm is run by the non-revoked user . Taking as input the secret signing and decryption key , and the signing and decryption update keys , the algorithm outputs the updated secret signing and decryption keys.
. This algorithm is run by the cloud server. Taking as input the ciphertext tagged with the revoked attribute, and the ciphertext update keys , the algorithm outputs the updated ciphertext.
4.2.2. Threat Assumption
Assume CA is fully trusted. The authorities can honestly issue the secret keys for the user and will not collude with the user to access the sensitive data. However, the authorities can be corrupted and disclose the information sent from the data user to the adversary. The fog nodes can also be corrupted and leak the information such as proxy secret keys to the adversary. The cloud server is semi-trusted. It will execute the protocol in general but will leak the signcrypted data to some malicious users and get illegal access privileges. The data users (including the signcryptor and designcryptor) are malicious and can collude with other users and even the cloud server and fog nodes to sign or decrypt the unauthorized data.
4.2.3. Security Requirements
Following [12,14], the confidentiality, unforgeability and signcryptor privacy of OMDAC-ABSC scheme are presented in Definitions 8, 9 and 10 as follows by defining the security games between a challenger and an adversary . Then in Definition 11 and Definition 12, we provide the definitions of collusion resistance and attribute revocation security.
Definition 8.
Indistinguishability of ciphertext under selective encryption predicate and adaptively chosen ciphertext attack (IND-sEP-CCA2).
The scheme is -IND-sEP-CCA2 secure if for any PPT adversary which runs in time at most and makes at most queries, queries, queries, and queries, the advantage of in the following game with a challenger is at most .
. specifies the space of attributes and the set of corrupted authorities. submits the challenge encryption predicate over encryption attributes that will be used to encrypt the challenge ciphertext. Note that the adversary cannot decrypt the challenge ciphertext with any secret decryption keys queried from queries and the keys directly generated from the corrupted authorities.
. The challenger runs the algorithms in system initialization phase to generate the public parameters, and the pairs of public key and the secret key of the attribute authorities. Then the challenger sends the public keys to the adversary. For the corrupted authorities, the challenger sends the secret keys to the adversary.
Phase 1. In this phase, the challenger answers the queries from as follows:
. can adaptively query the secret key for a user with identity and a set of attributes to the authority . does not satisfy together with any keys that can be obtained from corrupted authorities. The challenger runs and returns the secret key to the adversary.
. can adaptively query the proxy secret key for a user with identity . The challenger runs and returns the proxy secret key to the adversary.
. Upon receiving a message , signing and encryption predicts , the challenger selects a signing attribute set such that and returns the ciphertext to the adversary.
. submits a ciphertext , and a decryption attribute set . returns the plaintext to if and contains a valid signature corresponding to the signing predicate , where and are implicitly contained in .
. submits two messages with the same length and signing predicate to the challenger. selects a signing attribute set satisfying . The challenger randomly chooses a bit and runs the algorithm to signcrypt the message and returns the ciphertext to as the challenge ciphertext.
Phase 2. Phase 1 is repeated. In this phase, cannot issue with the challenge ciphertext obtained in Challenge phase and attribute set such that .
. outputs a guess bit on . wins the game if .
The advantage of is defined by .
Definition 9.
Existential unforgeability under selective signing predicate and adaptively chosen message attack (EUF-sSP-CMA).
The proposed scheme is -EUF-sSP-CMA secure if for any PPT adversary which runs in time at most and makes at most queries, queries, queries, and queries, the advantage of in the following game with a challenger is at most .
. specifies the space of attributes and a set of corrupted authorities, and then submits the challenge signing predicate over signing attributes that will be used to forge the ciphertext. Note that the adversary cannot sign the plaintext under the signing predicate with any secret signing keys queried from queries and the keys directly generated from the corrupted authorities.
and are the same as Definition 8.
. can adaptively query the secret key for a user with a set of attributes to the authority . does not satisfy together with any keys that can be obtained from corrupted authorities. The challenger runs and returns the secret key to the adversary.
. outputs the forgery ciphertext for the selective signing predicate and an arbitrary encryption predicate .
wins the game if is a valid ciphertext and has never issued . The advantage of is defined as .
Note that in our scheme, the fog nodes can be corrupted. In this case, the proxy secret keys sent from the users might be obtained by the adversary. This kind of attack is captured by the proxy secret key query , which makes the access control scheme proven secure in our security model have a wider spectrum of applications.
Definition 10.
Signcryptor Privacy.
It is required that the signature of the proposed scheme reveals nothing about the attributes of the data owner except that the attributes satisfy the signing predicate. We define signcryptor privacy as a game between a challenger and an adversary .
Assume the public parameters and public and secret key pairs of attribute authorities are given to . submits two signing attribute sets satisfying to the challenger. The challenger then chooses a bit and signcrypts the plaintext with the signing and encryption predicates , and secret signing key for . sends the ciphertext to . then outputs a guess bit on . wins the game if . We say OMDAC-ABSC scheme satisfies signcryptor privacy if for any adversary ,
Definition 11.
Collusion Resistance.
OMDAC-ABSC scheme is secure against collusion attack of two or more communication entities (e.g., data users, fog nodes, and cloud server) if there does not exist a set of polynomial time adversaries that can sign the plaintext (collusion resistance of signing) or decrypt the ciphertext (collusion resistance of decryption) by cooperating with each other when none of adversaries is authorized to sign or decrypt the data.
Definition 12.
Suppose the attribute is revoked.
Forward Security. If is the signing attribute, then OMDAC-ABSC scheme supports forward revocation security if the newly joined user can successfully sign the plaintext with the -corresponding signing attribute set. Otherwise, the forward revocation security guarantees if each newly joined user can decrypt -corresponding ciphertext if the decryption attributes of the user satisfy the encryption predicate contained in the ciphertext.
Backward Security. If is the signing attribute, then OMDAC-ABSC scheme supports backward revocation security if the updated ciphertext cannot be reversed back to the non-revoked state while maintaining the verification algorithm holds. Otherwise, the backward revocation security guarantees if the attribute revoked user cannot decrypt the -corresponding ciphertext as a non-revoked user.
5. Construction of OMDAC-ABSC Scheme
In this section, we propose the construction of OMDAC-ABSC scheme in detail. The notations of the scheme are listed in Appendix A.
5.1. System Initialization
5.1.1. System Setup 1
. Taking as input a security parameter , the algorithm outputs the public parameters as follows.
- (1)
- Generate a bilinear group , where the prime is the order of group . Let be the random generators of . Randomly select from . Choose three cryptographic collision resistant hash functions , and .
- (2)
- CA generates a pair of keys for signing and verification in identity authentication.
- (3)
- Output as the system public parameter. CA accepts both user registration and authority registration .
. CA verifies user ’s identity information then runs this algorithm to register . CA selects a unique identity number and sends as the partial public key to user. and are kept secret in the system.
. CA verifies the identity information of the authority then runs this algorithm to register the authority. CA selects a unique identity number , then selects and publishes the partial public key to .
. Given the global identity , the user runs to initialize itself and compute the public key and secret key as follows.
- Set where .
- Set .
- CA sets as the public key certificate.
. Each authority runs this algorithm to initialize itself and compute the public key and secret key as follows:
- (1)
- Set , where .
- (2)
- Set , where .
- (3)
- Set for each user .
5.1.2. System Setup 2
. Taking as input the public parameters and authorities’ public keys , CA generates the public key for each pair of user and authority as follows:
For , , where and .
5.2. Secret Key Generation
runs the secret key generation algorithm to generate the secret signing and decryption keys for the user .
. first verifies the user’s with verification key . If the user is a legal user, computes the user’s secret signing and decryption keys as:
- (1)
- .
- (2)
- .
5.3. Proxy Secret Key Generation
Each user runs the to generate the proxy secret key as:
- (1)
- .
- (2)
- .
The transformed secret keys are sent to the fog node.
5.4. Data Signcryption
The data owner first encrypts the data component with a content secret key by using symmetric encryption algorithm , then it runs to signcrypt the secret key. contains two phases: fog signcrypt and user signcrypt .
. Assume that (resp. ) is the signing predicate (resp. encryption predicate) over all the attributes selected from the set of attribute authorities (resp. ), where (resp. ) is a , (resp. ) matrix with row labeling function (resp. ). Note that we remove the limitation that (resp. ) should be an injective function (i.e., an attribute can associate with more than one rows of (resp. )). Let (resp. ) be the th row of the matrix (resp. ). Assume the signing attribute set is and . The algorithm contains two phases as follows:
- (1)
- . This algorithm is performed in the fog node FD as follows:
- It first computes a vector such that since . Note that for all where . Then the algorithm chooses such that .
- The algorithm randomly chooses and re-randomize the proxy secret key as,,,, where .
- The fog node randomly picks . Then it selects , , and computes the following terms: , . .
FD outputs the partially signcrypted ciphertext to the user.
- (2)
- . The user randomly picks and . Then the user computes where . The algorithm computes the following terms:
, , , , , , , and .
The ciphertext is .
5.5. Data Designcryption
If the owner’s attributes satisfy the signing predicate implicitly contained in the ciphertext, then any party can successfully verify the ciphertext (public verifiability). If the receiver’s decryption attributes satisfy the encryption predicates embedded in the ciphertext, then the decryption phase can be launched to access the plaintext.
. Assume that is a predefined time threshold for designcryption and is the current time. If or , the algorithm returns . Otherwise, the algorithm performs as follows. Note that (resp. ) can be obtained from the implicitly contained predicate (resp. ).
. This verification algorithm can be performed in FD or other trusted third party since it only takes the ciphertext and public parameter as the input.
The algorithm samples and computes , where . and , and . Then the algorithm checks the validity of the ciphertext using the following equation:
, where .
If it is invalid, return , otherwise, proceed algorithm as follows:
- . If the user’s attributes satisfy the encryption predicate, the cloud server sends the ciphertext to the FD. FD chooses a set of constants such that , where for all where . Then it computes: , where is defined as . FD sends to the user.
- . This algorithm is performed on the user side. After receiving , the data user recovers the message as: .
Correctness
Assume the identity of signcryptor (data owner) is . If and , then the ciphertext can be verified and decrypted as explained subsequently.
Since and , we have
. Thus we have
This demonstrates the correctness of algorithm. Assume the identity of designcryptor (data user) is . If , then
Hence and . This exhibits the correctness of algorithm.
5.6. Attribute Revocation
Suppose the attribute of user is revoked from .
. randomly chooses a new attribute version key and computes the updated attribute public key . sets for the non-revoked users to update their secret decryption and signing keys.
If there exists such that , namely the attribute of is selected as the encryption attribute, then queries where . Then it computes , and sets .
Otherwise, if is selected as the signing attribute, sets and , where is the set consisting of all the rows that .
sends ciphertext update keys to the cloud server to update the corresponding ciphertext.
. Upon receiving the update keys and , the non-revoked user then update his/her secret signing key or decryption key as follows:
If , .
If , .
. Upon receiving , the cloud server updates the ciphertext to contain the latest attribute version key as follows:
If and , the server randomly chooses and computes .
, where .
Otherwise, the cloud server updates the signature component as:
Correctness of Attribute Revocation.
By running , the secret signing and decryption keys of non-revoked user are associated with the new attribute version key , which is the same as the updated ciphertext components or .
For verification, since the updated signature component is associated with for such that , we have , which exhibits the correctness of algorithm.
Additionally, the operations and are equivalent to assigning a new random number to the corresponding components of ciphertext. Then in algorithm, we have for such that , which exhibits the correctness of algorithm.
6. Security Analysis
In this section, we state the security of our OMDAC-ABSC scheme in the following theorems. In Theorems 1 and 2, we prove the message confidentiality and ciphertext unforgeability of our scheme respectively. In Theorem 3 we demonstrate the signcryptor privacy. Then in Theorems 4 and 5, we analyze the collusion resistance and revocation security.
Throughout this section, assume is the cost time for one exponentiation in group or , and is the cost time for one pairing operation. are the maximum values of . Suppose that the Hash functions are collision resistant.
6.1. Message Confidentiality
Based on the security model defined in Definition 8 and Theorem 1, we can prove that our proposed scheme guarantees the message confidentiality under the hardness of the q-PBDHE assumption.
Theorem 1.
If an adversary can break -IND-sEP-CCA2 security of our scheme, then there is an algorithm that can solve the q-PBDHE assumption with an advantage in a time .
Proof.
Assume can break our scheme, we will construct the algorithm as follows: is given with the q-PBDHE challenge instance . The challenger runs to generate the bilinear group and chooses . If , sends to ; otherwise it sends to .
. The same as defined in Definition 8. Assume is the challenge encryption access structure over all the attributes selected from the set of authorities . Assume is a matrix and .
. The adversary chooses a set consisting of the corrupted authorities, and sends to the simulator . For each uncorrupted authority , randomly chooses and implicitly sets . publishes .
Let . , where .
sends to . initializes the empty list .
For the authority , chooses and sets . Let be the set consisting of the indexes with . For the attribute where , chooses and computes , where is the th element of . If , chooses and computes . This assignment describes that for each signing attribute as the signing attributes are different from encryption attributes. sends to . For the authority , generates the public keys and secret keys of as in the real scheme and sends both the public keys and secret keys to .
Phase 1.
. adaptively queries the secret keys for the attribute set with identity to the authority . does not satisfy together with any keys that can be obtained from corrupted authorities.
checks the list that whether the entry exists. If it does, sends and to the adversary and publishes the public key and .
- (1)
- Otherwise, randomly picks from and chooses a vector such that and for all since . sets , , and computes as the public key . Then computes
, and sets as . For the attribute such that , computes . Otherwise, . sends and to the adversary and publishes the public key and . inserts into .
. checks the list that whether the entry exists. If it does not exist, issues query to compute and , and then runs and returns to . Otherwise, directly performs and returns to .
. submits a message , signing and encryption predicts . selects a signing attribute set such that . For each , computes the secret signing key and from , and , where is an arbitrary identity. Then returns the ciphertext to .
. If or , then returns . If , aborts. If algorithm is invalid, returns .Otherwise, carries out the following steps.
Assume the encryption predicate contained in is and is the set which consists of the indexes of the authorities whose attributes are associated with rows of .
If does not satisfy the challenge encryption predicate , then can obtain and secret decryption key from , and . returns the output of to .
Otherwise, if , assume , where is the secret value chosen to generate in signcryption phase. Then for , compute . Thus can return to .
. submits two messages with the same length and signing predicate to . Assume is the set which consists of the indexes of the authorities whose attributes are associated with rows of and is a matrix. chooses . selects a signing attribute set satisfying and an arbitrary identity .
Let such that , such that . Implicitly set . Then compute the challenge ciphertext as follows:
Let and implicitly sets for all . Select , .
, .
, .
, . .
,
, where and .
Finally, sends the challenge ciphertext to .
Phase 2. Phase 1 is repeated. In this phase, cannot issue with the challenge ciphertext and attribute set such that .
. outputs his guess on . If , outputs 0 and guess that ; otherwise, outputs 1 to indicate that is a random element in .
If issues with the ciphertext satisfying , then the simulation aborts. The probability is at most . If , and does not abort, then is a valid ciphertext of . In this case, we have . If is a random element in , then is a random element and cannot obtain , namely the advantage in this case is . Therefore, the advantage of which can break the q-PBDHE assumption is at least . The runtime of is at most . □
6.2. Ciphertext Unforgeability
Based on the security model defined in Definition 9 and Theorem 2, we can prove that our proposed scheme guarantees the ciphertext unforgeability under the hardness of the q-PBDHE assumption.
Theorem 2.
If an adversary can break -EUF-sSP-CMA security of our scheme, then there is an algorithm that can solve the q-PBDHE assumption with an advantage in a time .
Proof.
Assume can break our basic scheme, we will construct the algorithm as follows: is given with the q-PBDHE challenge instance . The challenger runs to generate the bilinear group and chooses . If , sends to ; otherwise it sends to .
. The same as defined in Definition 9. Assume is the challenge signing access structure over all the attributes selected from the involved set of authorities . is a matrix and .
. The adversary chooses a set of consisting of the corrupted authorities, and sends to the simulator .
For each uncorrupted authority , randomly chooses and implicitly sets . publishes .
Let . chooses . Set and . . For , where . For , where .
Assume and . defines two functions and for each . Thus . Let . Then implies .
sends to . initializes the empty list .
For the authority , chooses and sets . Let be the set consisting of the indexes with . For the attribute where , chooses and computes . If , chooses and computes . This assignment describes that for each encryption attribute as the signing attributes are different from encryption attributes. sends to . For the authority , generates the public keys and secret keys of as in the real scheme and sends both the public keys and secret keys to .
. adaptively queries the secret keys for the attribute set with identity to the authority . does not satisfy together with any keys that can be obtained from corrupted authorities.
- (1)
- checks the list that whether the entry exists. If it does, sends and to the adversary and publishes the public key and .
- (2)
- Otherwise, randomly picks from and chooses a vector such that and for all . since . computes , , and . For , . Set and . Then sets . For the attribute such that , computes . Otherwise, . sends and to the adversary and publishes the public key and . inserts into .
. The same as Theorem 1.
. submits a message , signing and encryption predicts . selects a signing attribute set such that . performs as follows:
- (1)
- It first computes a vector such that . Then chooses such that .
- (2)
- randomly chooses and computes .
- (3)
- Assume . If , aborts. Otherwise, implicitly sets where . Then , , , where and .
- (4)
- chooses , , . Then selects , . For , computes , , , .
- (5)
- computes , . Finally, sends to .
. If or , then returns . Otherwise, issues the query to get the secret decryption key and returns the output of to .
. submits a valid ciphertext for the challenge signing predicate and an encryption predicate . If and has never issued . performs as follows:
- (1)
- computes . If , aborts. Otherwise, .
- (2)
- If is a valid ciphertext, then and . Then
, where and .
Thus, can calculate and then break the q-PBDHE assumption by computing . Let be the event that in some and be the event that in the forgery phase. Then we have . If , then . Thus the advantage of solving the q-PBDHE assumption is at least . The runtime of is at most . □
6.3. Signcryptor Privacy
Based on the security model defined in Definition 10, we prove that our scheme guarantees signcryptor privacy in Theorem 3.
Theorem 3.
Our scheme guarantees the signcryptor privacy.
Proof.
The challenger sends to the adversary . Then outputs two signing attribute sets satisfying . The challenger selects and computes with the secret signing key . Note that both the challenger and can compute for , where . Specifically, , where .
If the challenger uses , then it can generate the ciphertext as follows.
, where .
, .
. .
, where and .
If the challenger uses , and sets , then , . Thus . The challenger sets and sets . Then and . Hence , and .
Similarly, if the challenger firstly uses to generate , then it can generate with and . Therefore, can only outputs a random guess and the probability is at most . □
6.4. Collusion Resistance
High-Level Overview
In our scheme, the secret keys of each user are associated the random elements picked by CA which are difficult for each user, fog node, authority and cloud server to compute or learn. Therefore, the colluders such as the user, fog node, and cloud server cannot selectively replace or convert the components of the secret keys under the discrete logarithm assumption. Additionally, since chosen by CA is globally unique in the system and and are kept secret, secret keys generated from different authorities for the same can be tied together for signcryption and designcryption, and the secret keys generated for different users cannot be combined.
Let denote the set of colluders, and is the combined decryption attribute set of . Recall that the message is blinded by . It is infeasible to directly reconstruct due to the blindness of and the hardness of discrete logarithm assumption. Thus the colluders have to compute and have to cancel the redundant element , where . Due to BDH assumption, the only way to cancel is to compute the denominator in algorithm, which means with the same holds for all . However, since the colluders are individually unauthorized for decryption, none of the colluders holds for all simultaneously. Moreover, since the secret key cannot be replaced, converted or combined, are associated with different . Hence the colluders cannot successfully decrypt the ciphertext even though satisfies the encrypt predicate defined in the ciphertext. Specifically, according to Theorems 1 and 2, we can prove that our scheme guarantees the collusion resistance under q-PBDHE assumption in Theorem 4.
Theorem 4.
The proposed data access control scheme is collusion resistance.
Proof.
For the designcryptor, we state that the security game defined in Definition 9 implies the collusion resistance. Suppose that denotes the set of colluders who are unauthorized for decryption and . If the colluders can decrypt when , then the algorithm which can solve the q-PBDHE assumption can be constructed as follows.
In the initialization phase, the challenger sets as the selected challenge encryption predicate. In , queries for the secret decryption key corresponding to the colluder’s individual attribute set . Since the colluders are individually unauthorized for decryption, we have , which satisfies the constraint of defined in Definition 8. Then in challenge phase, the challenger encrypts under . If the colluders can decrypt the ciphertext, then can guess the bit , and thus can solve the q-PBDHE assumption with non-negligible probability.
Similarly, for the signcryptor, the Theorem 2 guarantees that no colluders such as users, fog nodes or cloud server can generate the signature by combining their information if they are individually unauthorized to sign the plaintext. Otherwise, the colluders can build an adversary and output a forgery to win the game in Definition 9 and break q-PBDHE assumption.
Therefore, the colluding users, fog nodes, and cloud server cannot sign or decrypt the data, and our OMDAC-ABSC scheme guarantees collusion resistance. □
6.5. Revocation Security
Assume the attribute of is revoked from . issues the update secret keys and sends the keys to the non-revoked users. and are associated with the secret value chosen by CA and attribute version key chosen by . Therefore, due to the blindness of , and , the revoked user cannot update his/her secret signing or decryption key, even though he/she can corrupt some attribute authorities (not the authority corresponding to ) or collude with the non-revoked user.
Theorem 5.
Our OMDAC-ABSC scheme guarantees the forward and backward revocation security.
Proof.
Forward Security. If there exists such that , the newly joined user can sign the plaintext and generate the signature component associated with , which is the same as the updated attribute public key of . Thus the algorithm holds if user’s signing attributes satisfy the signing predicate. Otherwise, the newly joined user’s secret decryption keys are all associated with , which is the same as that in the components . Thus the newly joined user can decrypt ciphertext if his/her attribute set satisfies the embedded encryption predicate.
Backward security. If there exists such that , and the revoked user reverse the signature component back to the non-revoked state which is associated with , then the algorithm cannot hold since the attribute public key of has been updated to .
Otherwise, assume denotes the ciphertext which is updated from in attribute revocation phase, we have and . It is hard for the revoked user to cancel and since they are associated with the values which are secretly chosen by and randomly picked by cloud server. Therefore, the revoked user cannot reverse the back to .
For the ciphertext which is uploaded after the attribute revocation phase, we have for such that . The revoked user cannot transform these components into the ones associated with due to the blindness of the attribute version keys chosen by and random element picked by fog node. Therefore, our OMDAC-ABSC scheme guarantees the forward and backward revocation security. □
7. Scheme Analysis
7.1. Security and Functionality
In this subsection, we detail the comprehensive security and functionality comparison among the proposed scheme and some MA-ABE schemes [21,22,23,24,25,26], CP-ABSC schemes [12,13,14,15] and ABE based schemes used for fog computing [16,17,18,19,20] in Table 1, Table 2 and Table 3. Therein, ✓ represents the capability to achieve the corresponding index, whereas ⨯ denotes the opposite. MBF represents monotone Boolean function, and TG represents the threshold gate.
Table 1.
Security and Functionality Comparison of MACP-ABE Schemes.
Table 2.
Security and Functionality Comparison of CP-ABSC Schemes.
Table 3.
Security and Functionality Comparison of ABE based Schemes for Fog Computing.
Table 1, Table 2 and Table 3 show that our scheme supports many useful properties, such as multi-authority, collusion resistance, computation outsourcing, anonymous authentication, expressiveness, public verifiability and attribute revocation. Our scheme also realizes the security in the standard model.
7.2. Asymptotic Complexity and Performance
This section numerically analyzes the asymptotic complexity and performance of the proposed OMDAC-ABSC scheme against some MACP-ABE schemes [21,22,24,25,26], CP-ABSC schemes [12,13,14,15], and ABE based schemes [16,17,18,19,20] used for fog computing in terms of the size of secret key, ciphertext and update key, and computation overhead (exponentiations and pairing computations) of , and algorithms. We focus on the computation overhead on the user side because of the limited computation resources. For simplicity, in asymptotic complexity analysis we ignore the cost time of Hash functions and operations in . Table 4 summarizes the notations used in this section.
Table 4.
Notations.
7.2.1. Asymptotic Complexity
Table 5 details the storage comparison on MACP-ABE schemes. It is clear that the size of the secret decryption key in our OMDAC-ABSC is larger than that in [24,25] due to the components . Table 5 also illustrates that the size of ciphertext in our scheme is larger than that in [21,22,26], and has the advantage over [25]. Since our scheme supports public verification of signcryptor’s attributes, the ciphertext contains the signature components , which result in a reducing of storage overhead. Although the scheme in [24] can also verify the data owner’s attributes, it requires signature group elements and is not publicly verifiable since it needs the plaintext message in verification algorithm. Additionally, both of our scheme and [25] requires the data owner to compute the ciphertext components when performing algorithm. This cost is .
Table 5.
Storage Comparison of MACP-ABE based Schemes.
For attribute revocation, it is apparent that our scheme and [22] incur relatively the same storage overhead. Compared with [26], our scheme requires the attribute authority supervising the revoked attribute to compute the ciphertext update key when is selected as an encryption attribute, and thus incurs at most group elements, whereas the scheme [26] only sends to the cloud. However, as shown in [22], DAC-MACS [26] cannot guarantee backward revocation security.
Table 6 shows the computation overhead comparison of and algorithms on the user side and algorithm on the cloud. From the table, we can see that the encryption and decryption cost of our scheme are both irrelevant to the number of attributes. In data signcryption phase, our scheme asks fog nodes to compute and generate part of the ciphertext which is associated with the signing and encryption predicates. Thus the signcryption cost of data owner can be reduced as in encryption and in signing. In decryption phase, our scheme only incurs the cost of one exponentiation in . Hence the performance of ours is better than most schemes except for [25]. To guarantee the CCA security in the standard model (see Theorem 1), our scheme requires the data owner to compute the components and , which results in a slight reducing of computation efficiency compared with [25]. However, our scheme performs better than [25] with respect to attribute revocation. Moreover, the DAC-MACS scheme in [26] only incurs the cost of exponentiations in in ciphertext update phase, while our scheme incurs twice this cost. The reason is that we re-randomize and in algorithm to realize the backward revocation security.
Table 6.
Time Comparison of Signcryption, Decryption and UpCiphertext.
If we set , then the proposed scheme is a traditional CP-ABSC scheme. In Table 7, we compare the asymptotic complexity of OMDAC-ABSC with CP-ABSC schemes [12,13,14,15]. As seen from Table 7, the size of the secret key is linear to the size of the attribute universe, which is not different between our scheme and others. Our scheme incurs a slight reducing of storage overhead than other schemes on the ciphertext. The reason is that we add to realize the attribute revocation and outsourced encryption, which are not considered in other schemes. Meanwhile, the ciphertext in our scheme consists of group elements for verification, while that in [12] is . Table 7 also indicates that our scheme incurs less computation overhead of on the user side than do the other schemes since most costly job of decryption is outsourced to fog nodes. Compared with [14], our construction requires pairing operations in total in decryption (user side) and verification, whereas in [14], pairings are needed. Moreover, since our scheme supports public verifiability, the verification algorithm can be performed by a trusted intermediate party. Thus the user can recover the plaintext within one exponentiation in . In contrast, the schemes in [12,13,15] are not publicly verifiable, and thus incur large amount of computation overhead in verification and decryption on the user side. In [12,13], the number of pairings is linear to the number of attributes. In [15], although the size of ciphertext is only , eight pairings are required to recover the plaintext.
Table 7.
Asymptotic Complexity Comparison of CP-ABSC based schemes.
Table 8 details the storage and computation overhead comparison of our scheme and some ABE based data access control schemes for fog computing. Since the schemes in [16,18,19,20] do not support multi-authority, we set in our scheme for comparison. It is illustrated that the size of secret decryption key in OMDAC-ABSC is less than that in others. Since our scheme enables any trusted third party to verify the data owner’s attributes, the ciphertext contains the signature components , which result in a reducing of storage overhead on the cloud side. For encryption, on the user side, our scheme incurs to compute and and thus is less efficient than [17]. However, our scheme guarantees the CCA security, which is not considered in [17]. For decryption, on the user side, our scheme and [17] both incurs less computation overhead than other schemes since the two schemes only require one exponentiation in . Therefore, our scheme is efficient from a computation point of view.
Table 8.
Storage and Computation Overhead Comparison of ABE based Schemes for Fog Computing.
7.2.2. Performance
We implement the whole architectures of MACP-ABE schemes [21,22,24,25,26], CP-ABSC schemes [12,13,14,15] and our scheme with Pairing-based Cryptography (PBC) library version 0.5.14 on an Ubuntu system 14.04 with a 2.6 GHz processor and 4G RAM. We employ 160-bit Type A elliptic curve group constructed on over a 512-bit finite field. The computation cost for one pairing operation is 2.9 ms, and that of exponentiation on and are 0.7 and 0.2 ms, respectively. Each value in Figure 3, Figure 4, Figure 5, Figure 6, Figure 7 and Figure 8 is the mean of 10 simulation trials.
Figure 3.
Encryption (user side).
Figure 4.
Encryption (user side).
Figure 5.
Decryption (user side).
Figure 6.
Decryption (user side).
Figure 7.
Signcryption (user side).
Figure 8.
Designcryption (user side).
For simplicity, suppose each user holds the same number of attributes from each authority and , where . . Then, in signcryption we set , and thus the comparison of computation overhead of (without signing) and algorithms on the user side between our scheme and [21,22,24,25,26] can be conducted according to parameters and . We also generate the signing and encryption predicates as AND-gate in the form of and . In Figure 3 and Figure 5, we set , while in Figure 4 and Figure 6, we assume . During the comparison between our scheme and the ones in [21,22,24,25,26], we do not take into account the signing protocol since the schemes in [21,22,25,26] do not support attribute-based signature.
Figure 3 and Figure 4 show that the encryption algorithm in our scheme is more efficient than that in [21,22,24,26]. The reason is that the most costly job of encryption has been outsourced to the fog nodes. Although our scheme incurs more computation overhead than the one in [25], we realize CCA security in the standard model and attribute-level revocation. Figure 5 and Figure 6 give the comparison of decryption time on the user side. It is illustrated that the performance of our scheme is relatively the same as that of [22,25,26], and is better than that of [21,24] because our scheme only incurs one exponentiation and one multiplication in .
Assume that and . Figure 7 and Figure 8 describe the comparison of computation overhead of and algorithms among the schemes [12,13,14,15] and ours. It is clear that our algorithm incurs less computation overhead than other schemes because of the outsourced signcryption. Since our scheme and Y. Sreenivasa’s scheme [14] are publicly verifiable, the algorithm can be outsourced to a trusted party, and then our scheme needs only one exponentiation and one multiplication in on the user side to recover the plaintext message.
Moreover, we simulate the schemes in [16,17,18,19,20] and our scheme on an android phone (MEIZU m1 note platform with an ARM Cortex A53-based processor MT6752@1.7 GHz, Android 5.1, and 2GB RAM) as user’s IoT device and a laptop (2.6 GHz processor, Ubuntu system 14.04, and 4G RAM) as the fog node. The underlying curve for pairings is also Type A curve in JPBC 2.0.0 [18], where the running time for pairing is 6 ms in Ubuntu system and 175 ms in Android. For comparison, we set in our scheme and do not consider the signing protocol since the schemes in [16,18,19,20] do not support multi-authority and the schemes in [16,17,18,19,20] do not support attribute-based signature. Figure 9 and Figure 10 show the comparison of computation overhead of encryption algorithm and Figure 11 and Figure 12 show the comparison of decryption algorithm. The results are the average number of 10 runs. In Figure 9 we only compare the cost time of encryption on fog node between ours and the schemes in [16,17,19] since the schemes in [18,20] do not support encryption outsourcing.
Figure 9.
Encryption (fog node side).
Figure 10.
Encryption (user side).
Figure 11.
Decryption (fog node side).
Figure 12.
Decryption (user side).
It is illustrated in Figure 10 that the computation time of encryption algorithm on data owner in our scheme is basically the same as that in [17], and is smaller than that in [18,20] because of the encryption outsourcing. Compared with [16,19], the encryption algorithm in our scheme incurs slightly more computation overhead since our scheme requires the data owner to sample and perform one Hash function (we do not take into account the Hash functions and here since they are involved in signing protocol). However, the encryption time is approximately 0.14–0.8 s, which is acceptable to the end users.
Figure 11 indicates that on the fog node side, the decryption algorithm of our scheme incurs more computation overhead than the schemes in [16,18,19,20]. However, Figure 12 shows that our scheme performs better than other schemes except for [17] in efficiency of decryption time on the user side. This is because our scheme outsources the most computation-consuming job of decryption to the fog node and only incurs the cost of one exponentiation and one multiplication in on the user side. In Figure 11, the decryption time of our scheme one the fog node is approximately 0.1–1 s, which increases almost linearly with the number of attributes.
However it is shown in Figure 12 that the running time of algorithm is nearly 0.03 s, which is acceptable for the end user. Since our scheme is public verifiable, the verification can be performed on any trusted third party and does not increase the computation burden of the user. Additionally, Huang et al. [16] and Zhang et al. [19] only support threshold access policy, while our scheme supports any monotone Boolean function. Overall, our scheme performs well in encryption and decryption on the user side and supports additional useful properties such as multi authorities, anonymous authentication, and public verifiability.
8. Conclusions
In this paper, we proposed OMDAC-ABSC scheme for data sharing in fog computing system. The proposed scheme realizes the security in the standard model and supports many practical properties, such as confidentiality, fine-grained access control, anonymous authentication, attribute revocation, and public verifiability. The heavy computation operations of the signcryption and designcryption algorithms are outsourced to the fog nodes making our scheme more efficient and more suitable for fog computing than the existing ABSC schemes. The security analysis, asymptotic complexity, and performance comparisons indicate that our construction hits a good balance between the security and overhead efficiency.
One problem with outsourced decryption is to verify that whether the partial decryption performed by fog nodes is correct. In ABE scheme, verifiable outsourcing has been adopted to overcome this problem, as in [17,30,31,32]. A similar technique can be used in our ABSC construction to address verifiable outsourcing, which will be our future work. Moreover, realizing a fully secure MACP-ABSC based access control scheme instead of a selectively secure scheme will be another challenge.
Author Contributions
Q.X. and C.T. conceived the scheme. Q.X. designed the scheme, analyzed the data and wrote the paper. W.Z. and F.C. performed the experiments. Z.F. and Y.X. modified the manuscript.
Funding
This research was funded by [National Key Research and Development Program of China] grant number [2017YFC0803702] and grant number [2017YFB0802302].
Conflicts of Interest
The authors declare no conflict of interest. The funding sponsors had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript, and in the decision to publish the results.
Appendix A
Table A1.
Notations used in OMDAC-ABSC scheme.
Table A1.
Notations used in OMDAC-ABSC scheme.
| Notations | Meaning |
|---|---|
| Set of attribute authorities and the set of users. | |
| Number of attribute authorities. | |
| Identity of user/authority. | |
| Identity of data owner (signcryptor)/data user (designcryptor). | |
| Attribute set of the user. | |
| Attribute set of the attribute authority. | |
| Decryption/Signing attribute set of the user. | |
| Set of the indexes of the authorities involved in signing/encryption. . . . | |
| Collision resistant hash functions. | |
| Signing and Encryption Predicate | |
| th row of . | |
| th element of . | |
| Number of rows of of . | |
| Number of columns of of . | |
| Maximum value of . | |
| Public parameters. | |
| Secret values chosen by CA for each user with identity . | |
| Attribute version key for attribute . | |
| Attribute public key for attribute . | |
| Partial public key generated by CA for each user . | |
| Partial public key generated by CA for each attribute authority . | |
| Public key of the user . | |
| Secret key of the user . | |
| Public key of the authority . | |
| Secret key of the authority . | |
| Public key for each pair of user and authority . | |
| Signing/Decryption attribute key of for attribute . | |
| Secret signing key of generated by . | |
| Secret decryption key of generated by . | |
| Proxy secret key for signing. | |
| Proxy secret key for decryption. | |
| Signing and decryption update keys for attribute . | |
| Ciphertext update keys. | |
| Vectors chosen by fog node for signing protocol. | |
| Secret value randomly chosen by fog node to randomize proxy secret key. | |
| Random values chosen by fog node for signcrypion. | |
| Random values chosen by data owner for signcrypion. | |
| Time threshold. | |
| Random values used for verification. | |
| Random values chosen by fog node for designcryption. | |
| Partial ciphertext computed by fog node in signcryption. | |
| Partial ciphertext computed by fog node in designcryption. | |
| Ciphertext. |
References
- Rong, C.M.; Nguyen, S.T.; Jaatun, M.G. Beyond lightning: A survey on security challenges in cloud computing. Comput. Electr. Eng. 2013, 39, 47–54. [Google Scholar] [CrossRef]
- Bonomi, F.; Milito, R.; Zhu, J.; Addepalli, S. Fog computing and its role in the internet of things. In Proceedings of the First Edition of the MCC Workshop on Mobile Cloud Computing, Helsinki, Finland, 13–17 August 2012. [Google Scholar]
- Stojmenovic, I.; Wen, S.; Huang, X.Y.; Luan, H. An overview of fog computing and its security issues. Concurr. Comput. Pract. Exp. 2016, 28, 2991–3005. [Google Scholar] [CrossRef]
- Ahmad, M.; Amin, M.B.; Hussain, S.; Kang, B.H.; Cheong, T.; Lee, S.Y. Health fog: A novel framework for health and wellness applications. J. Supercomput. 2016, 72, 3677–3695. [Google Scholar] [CrossRef]
- Yang, Y.J.; Liu, J.K.; Liang, K.T.; Choo, K.K.; Zhou, J.Y. Extended proxy-assisted approach: Achieving revocable fine-grained encryption of cloud data. In Proceedings of the Computer Security-ESORICS 2015, LNCS 9327, Vienna, Austria, 21–25 September 2015; Springer: Heidelberg, Germany, 2015. [Google Scholar]
- Yi, S.H.; Qin, Z.R.; Li, Q. Security and privacy issues of fog computing: A survey. In Proceedings of the International Conference on Wireless Algorithms, Systems, and Applications, Qufu, China, 10–12 August 2015. [Google Scholar]
- Ren, K.; Wang, C.; Wang, Q. Security challenges for the public cloud. IEEE Internet Comput. 2012, 16, 69–73. [Google Scholar] [CrossRef]
- Gia, T.N.; Jiang, M.Z.; Rahmani, A.M.; Westerlund, T.; Liljeberg, P.; Tenhunen, H. Fog computing in healthcare Internet of things: A case study on ECG feature extraction. In Proceedings of the IEEE International Conference on Computer and Information Technology; Ubiquitous Computing and Communications; Dependable, Autonomic and Secure Computing; Pervasive Intelligence and Computing (CIT/IUCC/DASC/PICOM), Liverpool, UK, 26–28 October 2015. [Google Scholar]
- Sahai, A.; Waters, B. Fuzzy identity based encryption. Lect. Notes Comput. Sci. 2004, 3494, 457–473. [Google Scholar]
- Gagné, M.; Narayan, S.; Naini, R.S. Threshold attribute based signcryption. In Proceedings of the Security and Cryptography for Networks, LNCS 6280, Amalfi, Italy, 13–15 September 2010; Springer: Berlin/Heidelberg, Germany, 2010. [Google Scholar]
- Rao, Y.S.; Dutta, R. Expressive attribute-based signcryption with constant-size ciphertext. In Proceedings of the Progress in Cryptology-AFRICACYPT 2014, LNCS 8469, Marrakesh, Morocco, 28–30 May 2014; Springer: Cham, Switzerland, 2014. [Google Scholar]
- Chen, C.; Chen, J.; Lim, H.W.; Zhang, Z.F.; Feng, D.G. Combined public-key schemes: The case of ABE and ABS. In Proceedings of the Provable Secure, LNCS 7496, Chengdu, China, 26–28 September 2012; Springer: Berlin/Heidelberg, Germany, 2012. [Google Scholar]
- Liu, J.H.; Huang, X.Y.; Liu, J.K. Secure sharing of personal health records in cloud computing: Ciphertext policy attribute based signcryption. Futur. Gener. Comput. Syst. 2015, 52, 67–76. [Google Scholar] [CrossRef]
- Rao, Y.S. A secure and efficient ciphertext policy attribute-based signcryption for personal health records sharing in cloud computing. Futur. Gener. Comput. Syst. 2017, 67, 133–151. [Google Scholar] [CrossRef]
- Yu, G.; Cao, Z.F. Attribute-based signcryption with hybrid access policy. Peer Peer Netw. Appl. 2015, 20, 1–9. [Google Scholar] [CrossRef]
- Huang, Q.L.; Yang, Y.X.; Wang, L.C. Secure data access control with ciphertext update and computation outsourcing in fog computing for Internet of Things. IEEE Access 2017, 5, 12941–12950. [Google Scholar] [CrossRef]
- Fan, K.; Wang, J.X.; Wang, X.; Li, H.; Yang, Y.T. A secure and verifiable outsourced access control scheme in fog-cloud computing. Sensors 2017, 17, 1695. [Google Scholar] [CrossRef] [PubMed]
- Zuo, C.; Shao, J.; Wei, G.Y.; Xie, M.D.; Ji, M. CCA-secure ABE with outsourced decryption for fog computing. Futur. Gener. Comput. Syst. 2018, 78, 730–738. [Google Scholar] [CrossRef]
- Zhang, P.; Chen, Z.H.; Liu, J.K.; Liang, K.T.; Liu, H.W. An efficient access control scheme with outsourcing capability and attribute update for fog computing. Futur. Gener. Comput. Syst. 2018, 78, 753–762. [Google Scholar] [CrossRef]
- Mao, X.P.; Lai, J.Z.; Mei, Q.X.; Chen, K.F.; Weng, J. Generic and efficient constructions of attribute-based encryption with verifiable outsourced decryption. IEEE Trans. Dependable Secur. 2016, 13, 533–546. [Google Scholar] [CrossRef]
- Han, J.G.; Susilo, W.; Mu, Y.; Zhou, J.Y.; Au, M.H.A. Improving privacy and security in decentralized CP-ABE. IEEE Trans. Inf. Forensics Secur. 2015, 10, 665–678. [Google Scholar]
- Jiang, R.; Wu, X.; Bhargava, B. SDSS-MAC: Secure data sharing scheme in multi-authority cloud storage systems. Comput. Secur. 2016, 62, 193–212. [Google Scholar] [CrossRef]
- Lewko, A.; Waters, B. Decentralizing attribute-based encryption. In Proceedings of the Advances in Cryptology-EUROCRYPT 2011, LNCS 6632, Tallinn, Estonia, 15–19 May 2011; Springer: Berlin/Heidelberg, Germany, 2011. [Google Scholar]
- Ruj, S.; Stojmenovic, M.; Nayak, A. Decentralized access control with anonymous authentication of data stored in clouds. IEEE Trans. Parallel Distrib. Syst. 2014, 20, 384–394. [Google Scholar] [CrossRef]
- Sourya, J.D.; Ruj, S. Efficient decentralized attribute-based access control for mobile clouds. IEEE Trans. Cloud Comput. 2017, 99, 1–14. [Google Scholar]
- Yang, K.; Jia, X.H.; Ren, K. DAC-MACS: Effective data access control for multi-authority cloud storage systems. IEEE Trans. Inf. Forensics Secur. 2013, 8, 1790–1801. [Google Scholar] [CrossRef]
- Meng, X.Y.; Meng, X.Y. A novel attribute-based signcryption scheme in cloud computing enviroments. In Proceedings of the IEEE International Conference on Information and Automation, Ningbo, China, 1–3 August 2016. [Google Scholar]
- Hong, H.S.; Xia, Y.H.; Sun, Z.X.; Liu, X.M. Provably secure attribute based signcryption with delegated computation and efficient key updating. KSII Trans. Internet Inf. Syst. 2017, 11, 2646–2659. [Google Scholar]
- Lounis, A.; Hadjidj, A.; Bouabdallah, A.; Challal, Y. Healing on the cloud: Secure cloud architecture for medical wireless sensor networks. Future Gener. Comput. Syst. 2016, 55, 266–277. [Google Scholar] [CrossRef]
- Xiao, M.; Zhou, J.; Liu, X.J.; Jiang, M.D. A hybrid scheme for fine-grained search and access authorization in fog computing environment. Sensors 2017, 17, 1423. [Google Scholar] [CrossRef] [PubMed]
- Li, J.G.; Wang, Y.; Zhang, Y.C.; Han, J.G. Full verifiability for outsourced decryption in attribute based encryption. IEEE Trans. Serv. Comput. 2017. [Google Scholar] [CrossRef]
- Liao, Y.J.; He, Y.C.; Li, F.G.; Jiang, S.Q.; Zhou, S.J. Analysis of an ABE scheme with verifiable outsourced decryption. Sensors 2018, 18, 176. [Google Scholar] [CrossRef] [PubMed]
- Chase, M. Multi-authority attribute-based encryption. In Proceedings of the 4th Theory of Cryptography Conference on Theory of Cryptography, TCC 2007, Amsterdam, The Netherlands, 21–24 February 2007. [Google Scholar]
- Chase, M.; Chow, S. Improving privacy and security in multi-authority attribute-based encryption. In Proceedings of the ACM Conference on Computer and Communications Security, Chicago, IL, USA, 9–13 November 2009. [Google Scholar]
- Jung, T.; Li, X.Y.; Wan, Z.G.; Wan, M. Privacy preserving cloud data access with multi-authorities. In Proceedings of the IEEE INFOCOM, Turin, Italy, 14–19 April 2013. [Google Scholar]
- Li, Q.; Ma, J.F.; Rui, L.; Liu, X.M.; Xiong, J.B.; Chen, D.W. Secure, efficient and revocable multi-authority access control system in cloud storage. Comput. Secur. 2016, 59, 45–59. [Google Scholar] [CrossRef]
- Maji, H.K.; Prabhakaran, M.; Rosulek, M. Attribute-Based Signature: Achieving Attribute Privacy and Collusion Resistance; IACR Cryptology Eprint Archive. 2008. Available online: http://eprint.iacr.org/2008/328 (accessed on 23 April 2018).
- Okamoto, T.; Takashima, K. Decentralized attribute-based signature. In Proceedings of the Public Key Cryptography, Nara, Japan, 26 Febrary–1 March 2013; Springer: Berlin/Heidelberg, Germany, 2013. [Google Scholar]
- Waters, B. Ciphertext-policy attribute-based encryption: An expressive, efficient and provable secure realization. In Proceedings of the Public Key Cryptography, Taormina, Italy, 6–9 March 2011; Springer: Berlin/Heidelberg, Germany, 2011. [Google Scholar]
© 2018 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).