3. Syntax and Definition of Security
3.1. Our Scheme Definition
Definition 1. A traceable ciphertext policy attribute-based encryption (T-CP-ABE) scheme comprises five components.
The Setup algorithm takes in a security parameter κ, and it returns a master secret key MSK and the public parameters PP.
This is a private key generation algorithm, which takes in PP,MSK, S and ID employed to trace back to the corresponding owner and the Authority engages in an oblivious transfer protocol with a user U, where S is an attribute set belonging to the user U. At the end, U receives a private key for her ID and her attribute set S, . The notation denotes the fact that the authority may not exactly know which key the user has received.
: The Encrypt algorithm takes in the public parameters PP, the identity ID, access structure 𝔸 and a message m and it returns a ciphertext .
: The Decrypt algorithm takes in the public parameters PP, the ciphertext and a private key . It returns a plaintext message m if the identity of the private key matches that of the ciphertext and the attribute set S satisfies the access structure 𝔸, else it returns an error symbol ⊥.
Definition 2. (ε Useful Decoder Box) A PPT algorithm is a ε Useful Decoder Box for the identity ID, where ε is non-negligible, if .
: The Trace algorithm takes in the identity ID, the public parameters PP, a well-formed private key , a parameter ε and has black box access to a ε useful decoder box . It outputs User or Authority.
The tracing algorithm allows an honest user to present her private key and a captured decoder box to a judge to incriminate the misfeasance of Authority; furthermore, the tracing algorithm hinders a dishonest user from falsely incriminating that the Authority has created the decoder box.
3.2. Definition of Security
A secure black box traceable ciphertext policy attribute-based encryption (T-CP-ABE) scheme holds if the following three requirements are met: (1) it satisfies IND-ID-CCA security; (2) if the Authority created a decoder box , the tracing algorithm should incriminate the Authority; (3) if the colluding users created the decoder box , it should incriminate these users. We capture the security conditions in the three games as follows:
Definition 3. (IND-ID-Chosen Plaintext Attacks (CPA) Security Game) A T-CP-ABE scheme is IND-ID-CPA secure if no PPT attacker 𝒜 has non-negligible advantages in this game:
Setup: The challenger runs the Setup algorithm generating MSK and PP given to the attacker 𝒜.
Query Phase 1: The attacker 𝒜 runs the interactive PriKeyGen protocol with the challenger for adaptively-picked identities and attribute sets , where , and receives the corresponding private keys .
Challenge: The attacker 𝒜 submits two plaintext messages and , which are of equal length, challenge identity and a challenge access structure , except that should not be equal to any of the identities queried in Query Phase 1, and the access structure is satisfied by none of the attribute sets where in Query Phase 1. The challenger flips a fair binary coin and encrypts with and . The resulting ciphertext is passed on to the attacker 𝒜.
Query Phase 2: Phase 1 is repeated, except that should not be equal to any of the identities in , and the access structure is satisfied by none of the attribute sets in which , where Q is the number of the queries made by the attacker.
Guess: The attacker returns a guess of β; if , the attacker will win.
Definition 4. The proposed scheme is secure against chosen plaintext attacks (CPA) if no probabilistic polynomial time adversary has a non-negligible advantage in the aforementioned game, in which the advantage is defined as: The above game can be extended to obtain security against chosen ciphertext attacks where decryption oracles are allowed for in Phase 1 and Phase 2. Such a game is called the IND-ID-CCA security game.
Definition 5. (Dishonest User Security Game) In this game, some dishonest users where collude to try to create a decoder box framing the Authority. The challenger and the attacker have the following common inputs: the security parameter κ and another parameter . A T-CP-ABE scheme is Dishonest User secure if no PPT attacker 𝒜 has a non-negligible advantage in the following game:
Init: The attacker 𝒜 commits to a challenge identity to the challenger.
Setup: The challenger runs the Setup algorithm, which generates MSK and PP that are given to the attacker 𝒜.
Private Key Generation Queries: The attacker 𝒜 runs the interactive PriKeyGen protocol with the challenger for adaptively-picked identities and attribute sets , where , and receives the corresponding private keys .
Create Decoder Box: The attacker 𝒜 submits a private key and a decoder box for the challenge identity declared in the Init phase.
Tracing Failure: The tracing algorithm falsely incriminates the Authority, i.e., . Furthermore, the decoder box is ε useful for ID, i.e., . If these two conditions hold, the attacker 𝒜 will win this game.
Definition 6. (Dishonest Authority Security Game) In this game, a malicious Authority tries to create a decoder box framing the user. Both the challenger and the attacker Authority have common inputs as follows: the security parameter κ and another parameter . A traceable CP-ABE scheme is Dishonest Authority secure if no PPT attacker 𝒜 has non-negligible advantages in the following game:
Setup: The challenger is given an identity ID and PP, which are generated by the attacker 𝒜 (acting as a malicious Authority) and checks whether ID and PP are well formed, aborting if these checks fail.
PriKeyGen: The attacker 𝒜 and the challenger conduct the private key generation protocol to generate a private key for the identity ID and the attribute set S. If no party aborts, the private key is received by the challenger as output.
Decryption Queries: The attacker 𝒜 adaptively makes queries for ciphertexts of the challenger, and the challenger responds with the decryption values under .
Create Decoder Box: The attacker 𝒜 returns a decoder box .
Tracing Failure: The tracing algorithm falsely incriminates the User, i.e., . Furthermore, the decoder box is ε useful for ID, i.e., . If these two conditions hold, the attacker 𝒜 will win this game.
Definition 7 A black box T-CP-ABE scheme is secure if no PPT attacker 𝒜 has non-negligible advantage in κ in the IND-ID-CCA security game, Dishonest User Security Game and Dishonest Authority Security Game.
4. Scheme Construction
A ciphertext has a structure as follows: (ID,), where ID is the identity of the user and are Z (where Z is a positive integer) parallel repetitions, each comprising monotone access structure . A private key has a structure as follows: (ID,), where each comprises k out of N attributes. A ciphertext can be decrypted by a user U iff (the ID of the private key matches that of the ciphertext) AND ( satisfies monotone access structure ) AND⋯ AND ( satisfies monotone access structure ). Let L be the length of bits of the identity string ID , N the global security parameter, Z super-logarithmic in N, the maximum number of columns of the matrix M and the j-th bit of the identity ID . Let , , and be the sets , , and , respectively.
For each
, pick two random elements
and
from
with the restriction that these
values are all different. For each
,
and
, pick a random
uniformly from
. Pick two random elements
uniformly. The public parameters are:
The master secret key .
This protocol enables a user U to obliviously pick which attributes she needs, employing a k-out-of-N oblivious transfer protocol upon each repetition. The corresponding same index in each repetition has distinct attributes. Distinct attributes correspond to distinct elements in . The repetitions are conducted in parallel and are viewed as individual components of the private key.
The private key generation protocol between the Authority and a user U is performed as follows:
Step 1. The user will abort if and are not all different.
Step 2. The Authority picks elements uniformly at random with the restriction that , where is associated with the identity and are associated with the sets of attributes.
Step 3. The Authority picks L elements uniformly at random with the restriction that .
Step 4. The Authority picks uniformly at random with the restriction that .
Step 5. The Authority calculates the private key components for any and passes them on to the user U. It picks elements uniformly at random, calculates the private key components ({), sends {} to the user U and stores .
Step 6. The Authority picks permutations at random.
Step 7. The Authority and the user U conduct Z executions of a k-out-of-N oblivious transfer protocol in which the Authority is a sender and the user U is a receiver. In the z-th execution, the private input of the Authority is the private key components , and the private input of the user U is a set of k attributes picked at random. The private output of the user is the private key component
Step 8. The Authority passes the permutation list to the user U. The user U checks whether she obtains the correct private key components as a percent . If not, it will abort.
Step 9. The user U sets and checks whether a private key validity check on passes. If not, the user U will abort.
Key Validity Check: For a given private key for the ID and attribute set S, to check whether this private key is well formed, a deterministic algorithm Key Validity Check is defined as follows:
Step 1.
Step 2. Check whether and , holds. If not, it fails. If so, the private key validity check passed, and the user U sets .
The encryption algorithm takes in
, a message
and an LSSS access structure
, where
associates rows of
to attributes and
is an injective function. Let
denote an
matrix. This algorithm picks a random vector
employed to share the encryption exponent
. The ciphertext
is constructed as follows:
Ciphertext Validity Check: To check whether this ciphertext is well formed, a deterministic Ciphertext Validity Check algorithm is defined as follows: If the attribute sets of the private keys satisfy the access structures of the ciphertexts, then there exist coefficients , such that , where is the i-th row vector of the access matrix . Check if , and , holds. If not, it fails and returns ⊥. If so, the ciphertext validity check passed, and the user U sets .
The
Decrypt algorithm takes in the public parameters PP, the well-formed
and
. If the identity of the private key matches that of the ciphertext and the attribute sets
of the private keys satisfy the access structures
of the ciphertexts, then there exist coefficients
, such that
; the ciphertext is decrypted to recover the message
m as follows:
The tracing algorithm runs a Key Validity Check to check whether the private key is well formed. It repeats the experiments times as follows:
Pick a set of attributes with the restriction with not satisfying the access structure .
Pick a message m at random and encrypt m using the access structure .
The decoder box returns some message .
For any iteration, if , incriminate the Authority, else incriminate the user U.
5. Security Proofs
The security of the aforementioned scheme is proven as follows:
Theorem 1. The advantage of an attacker in the IND-ID-CCA security game is negligible for the T-CP-ABE scheme under the DBDH assumption.
This theorem is trivially reduced to the
IND-ID-CCA security of [
9] and [
12]. If an attacker breaks the
IND-ID-CCA security of our scheme, it is trivial to construct an attacker breaking the
IND-ID-CCA security of Naccache’s scheme [
12] and Waters’s scheme [
9]. For any message
m, it is a secret shared with
in which a random
is picked uniformly and encrypted with the CP-ABE scheme [
9] and
with Naccache’s IBE scheme [
12] to achieve the T-CP-ABE scheme under the DBDH assumption.
Theorem 2. Provided that the k-out-of-N oblivious transfer is secure based on the real/ideal world security definition, the advantage of an attacker in the Dishonest Authority Security Game is negligible for the T-CP-ABE scheme.
Proof. This scheme comprises Z attribute sets in parallel and employs fully-simulatable oblivious transfer in the private key generation phase. If Key Validity Check and Ciphertext Validity Check pass, this scheme will incriminate the Authority, which can access a decryption oracle . Via Key Validity Check and Ciphertext Validity Check, all of the same ciphertexts can be decrypted by the users whose attributes satisfy the access structures associated with these ciphertexts to the same value, and the Authority can decrypt to this value.
Let be a ε useful decoder box, where ε is non-negligible. Perform the experiment as follows:
Pick a set of attributes , except that does not satisfy the access structure .
Pick a message m at random; encrypt it employing the access structure , and this returns the resulting ciphertext .
The decoder box returns .
Return the Authority if . □
Theorem 3. The advantage of an attacker in the Dishonest User Security Game is negligible for the T-CP-ABE scheme under the DBDH assumption.
Proof. A user can adapt the security proof in [
9] to show that the selective ID
Dishonest User Security Game can be reduced to the decisional bilinear Diffie-Hellman (DBDH) assumption. □
Init: The attacker 𝒜 declares a challenge identity . The ideal functionality from the ideal world in the simulation based model of Oblivious Transfer picks and the challenge access structures , which are employed to obtain the resulting challenge ciphertexts sent to the challenger by .
Setup: The challenger sends public parameters to , which transfers to 𝒜.
Private Key Generation Query: If 𝒜 makes a request for a private key on , then sends the corresponding user attributes to that passes it to , it outputs a well-formed private key that sends back to 𝒜. If , since obtains the private keys, it can pick permutations , such that the private key received by 𝒜 cannot decrypt a ciphertext containing the previously-picked access structure. queries for this private key and sends it back to 𝒜.
Create Decoder Box: 𝒜 submits a private key and a decoder box . If 𝒜 wins the Dishonest User Security Game, then the Authority will be incriminated by the decoder box. picks two messages at random sent to that sends a challenge ciphertext under the previously-picked access structures. If can decrypt this message, so can , and sends the right guess to ; else is a random ciphertext that cannot decrypt. Hence, if 𝒜 wins the Dishonest User Security Game, has a non-negligible advantage in decrypting this ciphertext. Therefore, has a non-negligible advantage in the attribute-based selective set game against , which is in contradiction with the security of the CP-ABE scheme under the DBDH assumption.