Backward Compatible Identity-Based Encryption

In this paper, we present a new identity-based encryption (IBE) system that is named Backward Compatible Identity-based Encryption (BC-IBE). Our BC-IBE is proposed to solve the problem caused by the out-of-synchronization between users’ private keys and ciphertexts. Encryption systems such as revocable IBE or revocable Attribute-based Encryption (ABE) often require updating private keys to revoke users after a certain time period. However, in those schemes, an updated key can be used to decrypt the ciphertexts created only during the current time period. Once the key is updated and the previous keys are removed, the user, the owner of the updated key, will lose access to the past ciphertexts. In our paper, we propose BC-IBE that supports backward compatibility, to solve this problem. In our proposed system, user’s private keys and ciphertexts can be updated periodically with time tags, and these processes can be used to revoke users who do not receive an updated key as the other revocable encryption does. However, in our proposed system, a private key newly issued to a user is backward compatible. This means that it decrypts not only the ciphertexts at the present time period but also all past ciphertexts. This implies that our proposed scheme guarantees the decryption of all encrypted data even if they are not synchronized. Compared to the existing revocable identity-based encryption system, our proposed BC-IBE has the advantage of simplifying key management and securely delegating ciphertext updates. Our proposed scheme only requires a single backward-compatible private key to decrypt all past ciphertexts created. Moreover, the ciphertext update process in our proposed scheme does not require any special privileges and does not require decryption. This means that this process can be securely delegated to a third-party server, such as a cloud server, and it prevents the potential leakage of secrets. For those reasons, BC-IBE is suitable for a system where users are more dynamic, such as the Internet-of-Things (IoT) network, or a system that regularly updates the data, like cloud data storage. In this paper, we provide the construction of BC-IBE and prove its formal security.


Introduction
The Internet of Things (IoT) network is a network where a number of heterogeneous devices are connected to each other and exchange various types of data. As the data in an IoT network is often private, the security of the transmitted data in the IoT network is considered important. Public key encryption is the most widely used cryptographic system to control access to the IoT network in security protocols like Transport Layer Security (TLS), Datagram TLS, and Constraint Application Protocol (CoAP) because it does not require any pre-shared secret.
In such public key encryption systems, the authentication of devices is essential because the devices must check the identities of the corresponding party before encrypting a secret using its public key. Otherwise, the adversary can easily disguise as the other and hijack the data in the middle via an attack like Man-in-the-middle (MITM) attack [1,2]. Particularly, in a public key encryption system, a public key is transmitted through a non-secure channel. Therefore, a sender needs to check if the recipient's public key is matched with its identity so that it is truly from the same recipient who the sender intends to communicate with.
Public Key Infrastructure (PKI) is a widely used system for authentication and preventing this type of attack. A PKI system enables devices to authenticate if the recipient's identity and public key are matched before the sender sends any private data to the receiver. This conventional system implements the authentication process by issuing and maintaining certificates. Each certificate consists of identity, public keys and digital signatures so that it can be used to verify if the public key in the certificate belongs to the certificate owner via digital signatures. Unfortunately, maintaining certificates causes a significant burden to the system. It requires verifying multiple signatures for authentication and having to exchange large-sized certificates in addition to the cost of maintaining the certificate chain. Those are considered too large for the resource-constrained network such as IoT systems.
Identity-based encryption (IBE) [3][4][5] was introduced to manage access control based on the user's identity. In IBE, a sender encrypts a message with a public key that is associated with a receiver's identity. Furthermore, the receiver can decrypt ciphertexts with its private key that corresponds to the public key. The recipient's public key is not needed to be authenticated as it is already associated with its identity. Therefore, it reduces the burden of managing certificates that the IoT system wants to avoid due to its cost. Although an IBE system can bring a huge benefit to access control in an IoT system where a complex authentication scheme is needed due to its heterogeneity and scale, there are other properties that should be considered in an authentication. One of the properties that must be considered is dynamic access control.
In an IoT system, a user can join and be revoked from the system while the system is operating. One of the key features of IoT networks is sharing resources. A user can use multiple devices to share storage, as each individual device has relatively little storage. Cloud storage services such as Microsoft Onedrive and Google Drive are often used to share users' data across multiple devices, from desktop PCs to mobile phones or tablet PCs. However, those mobile devices can easily be lost and also out-of-synchronized by the carelessness of the user. This will put users' privacy at significant risk as those incidents will make a user's private key and data leak or become inaccessible from time to time.
In a traditional PKI system, a user (or its public key associated with the compromised private key) can be removed from its certificate chain by adding its certificate to a revocation list. However, in the IBE system, which does not use any certificates, the revocation is not straightforward. To support the revocation in IBE systems, Revocable IBE (RIBE) [6][7][8][9][10] was introduced to revoke a user when its private key is compromised.
RIBE uses a key-update mechanism. In RIBE, for a specific time slot, a user's long-term private key, for which the associated identity does not belong to the revocation list, can be used to compute the decryption key that can be used to decrypt the ciphertext encrypted in that time slot. Therefore, in the RIBE, one who does not have the decryption key in a specific time slot T is revoked. In RIBE, the decryption key cannot be used for the other time slots, particularly ciphertexts for the previous time slots. This may cause some compatibility problems in a practical system. For example, in the heterogeneous IoT network, some nodes are not synchronized properly and encrypt the data using the just previous time slot. The receiver cannot decrypt the data as it has already updated its key. Moreover, in cloud storage, the data is normally synchronized but not always. Some data, for example, stored in local storage, may not be synchronized properly. In this scenario, the data that are encrypted cannot be decrypted after the key update.
In this paper, we solve this problem, which we called the backward compatibility problem, by providing a new encryption system based on IBE that is named Backward Compatible IBE (BC-IBE). Trivial solutions for this problem are (1) keeping all previous decryption keys for backward compatibility or (2) decrypting and re-encrypting all ciphertexts created in the past time slots. However, the former requires more resources in secure memory, which is considered expensive. The latter requires a large overhead and the potential leakage of the secret as it causes decryption and re-encryption.
In our solution, BC-IBE allows a user to keep only a single key for the present time slot, but this key can be used to decrypt not only the ciphertexts created for the present time slot where the current key is issued but also all past ciphertexts previously created. Moreover, at the same time, in our proposed BC-IBE, ciphertexts can be updated for a new time slot without decryption, so that it reduces the overhead caused by decryption and re-encryption.

Our Contribution
In this paper, we propose a new IBE encryption system, which is named backward compatible identity-based encryption (BC-IBE). Our proposed scheme provides the revocation of an expired private key via the update of ciphertexts and the backward compatibility of an updated private key. The details are as follows: 1.
Backward compatibility: In our proposed scheme, a private key updated for time T can decrypt all the ciphertexts created at the time T and all the previous ciphertexts created before the time T . One of the most trivial ways to achieve this is to keep all previous keys in secure storage. However, in that system, the user needs to maintain multiple keys to decrypt all past ciphertexts, which consumes large amounts of secure memory space. In our proposed scheme, the user only needs to maintain a single key at all times, but this key can be used to decrypt all past ciphertexts that were encrypted at previous time slots. At the same time, the same key can decrypt the ciphertext generated for the present time slot, too.

2.
Revocation: In our proposed scheme, a private key is efficiently revoked by updating ciphertexts in the past time slots. That means that for all ciphertexts of the time T , all previous keys issued before the time T cannot be used to decrypt the ciphertexts at time T . Therefore, all past keys are revoked in the system.

3.
Updating ciphertexts: In our BC-IBE, ciphertexts can be updated to revoke the past keys without decryption or re-encryption. Hence, the data owner does not need to download all ciphertexts and decrypt and re-encrypt them for the update. Moreover, this process does not involve any secret parameters. It can be easily delegated to a third party, such as a cloud service provider. Our scheme allows the updating of ciphertexts. This will be helpful for the overall scheme as (1) the scheme does not leak any information to the server while there is no secret involved in updating ciphertexts, (2) the server does not maintain the secret key for the ciphertext update and does not need any connection to be maintained to receive it.
We compare the above three properties of our BC-IBE scheme to the other encryption systems: identity-based encryption (IBE), revocable identity-based encryption (RIBE) and aggregate identity based encryption (AIBE) using Table 1. The plain IBE schemes [3][4][5]11,12] do not support revocation. As there are no states or separated time periods, backward compatibility is not applicable in the plain IBE. Due to the same reason, plain IBE does not support re-encrypting ciphertexts. RIBE [7,9,10,13,14] is a scheme for revoking invalid users only at a specific time slot. All ciphertexts in the past time slot cannot be decrypted using the decryption key at the present time slot, as each decryption key is a short-term key only for the current time slot. Therefore, it does not support the backward compatibility of a private key. The ciphertexts of the past time periods are accessible via decryption and re-encryption for the current time period.
AIBE [15] may be a suitable scheme for backward compatibility, as it can aggregate all past keys and the current key into a single one. However, it is not a scheme for revocation. Therefore, it does not provide revocation and re-encryption.
To summarize, our proposed scheme has the following contribution: • We define the backward compatibility property of identity-based encryption and construct the first scheme that satisfies the backward compatibility property. • Together with the backward compatibility property, our scheme supports the update of the ciphertexts. In our scheme, previous ciphertexts can be updated for the newly updated key without decryption, and they cannot be decrypted by all previously issued keys.
• As the encryption system we proposed is new, we newly develop the definition of BC-IBE, suggest its security model, and provide the security proof of the proposed scheme.

Paper Organization
The rest of this paper is organized as follows: in Section 1, we provide the introduction and contribution to explaining the motivation of our research. Sections 2 and 3 are for related work and preliminary explanations of the important literature for our work, respectively. In Section 4, the detailed method and the technical overview of our BC-IBE are explained. In Section 5, we present our construction and its formal security analysis. In Section 6. We discuss a potential threat and conclude our paper.

Related Works
The concept of identity-based encryption was proposed by Shamir [3]. It enables users to encrypt a message using their identities, such as e-mail, mobile numbers, and account numbers. Therefore, it reduces a lot of the burden needed to authenticate the receivers. The first practical IBE scheme was proposed by Boneh and Franklin [4] in a bilinear pairing group. Furthermore, it became an active research topic in public-key cryptography. Multiple IBE schemes [5,11,12] which improved security, were introduced, including adaptive security.
Revocable identity-based encryption (RIBE) is a system that improves an IBE scheme to support efficient revocation. As a user's private key can be compromised by an adversary, revocation is practically needed. The first practical RIBE scheme were introduced by Boldyreva et al. [13] using the complete subtree (CS) method, which achieves logarithm revocation complexity. Their scheme revokes a user's access by broadcasting an update key. The revoked users cannot compute a decryption key from the key update, so they are revoked. More schemes that achieve better security [14,16] or are based on different revocation methods [17] (e.g., the subset difference method) were introduced. Some RIBE systems are resistant to decryption key leakage. They are called decryption key exposure resistance (DKER) RIBE schemes [7,9,10]. Moreover, the generic constructions for RIBE from IBE was introduced by [6,8]. A few RIBE schemes also [18][19][20] use a third-party server to update the ciphertexts, similar to our scheme but without supporting backwards compatibility, and it also needs a key for the server to revoke users. RIBE revokes users by updating decryption keys, but our scheme basically revokes users using the ciphertext and the status. This approach is more widely used in revocable attribute-based encryption (RABE) [21][22][23], in which each user has a private key that is associated with its attributes, and the decryption is allowed when its attributes satisfy a specific function (e.g., Boolean function). In those schemes, ciphertexts are re-encrypted or updated to revoke attributes to supporting dynamic credentials. The decryption key in RIBE can be used to decrypt the ciphertexts created within the same time slots. That is the main difference from our BC-IBE. In RIBE, the past ciphertexts can be updated only via decryption using the old keys, then it needs to be re-encrypted for the present time slot.
Improving the efficiency of those RIBE is still an ongoing problem. Lee et al. [24] and Yinxia et al. [25] presented RIBE schemes with a short key and a short ciphertext. More recently, Keita et al. [26] proposed a RIBE scheme that reduces the size of public keys.
However, those schemes focus on reducing the keys in the current time period and do not support backward compatibility. This means their scheme still needs a list of private keys for backward compatibility.

Bilinear Pairing
Let's set G as a group generator that takes a security parameter λ as input and outputs a description of a bilinear group G. For our purposes, we will have G output (p, G, G T , e) where p is a prime, G and G T are cyclic groups of order p, and e : G × G → G T is an efficiently computable non-degenerate bilinear map. We assume that the group operations in G and G T as well as the bilinear map e are efficiently computable in polynomial time with respect to λ and that the group descriptions of G and G T include generators of the respective cyclic groups.

Assumption
Assumption 1. The q Decision Bilinear Diffie-Hellman Inversion (q-DBDHI) Assumption [15]. Let G and G T be groups of order p with a bilinear map e : G × G → G T , and let g be a generator We define the advantage of the adversary of A to guess b correctly as follows:

Definitions
We write the formal definition of IBE using the syntax of [15].
Definition 1 (Identity-Based Encryption (IBE)). The identity-based encryption for a set of identity spaces I = {{0, 1} n } n∈N and a message space M consists of the following PPT algorithm (Setup, KeyGen, Enc, Dec): • Setup (1 λ , 1 n ) → (pk, msk): takes as input the security parameter λ, the identity length n. It outputs the public parameters pk and the master secret key msk. • KeyGen(msk, id) → (sk id ): takes as input the master secret key msk and the identity id ∈ I. It outputs a private key sk id . • Enc(m, id, pk) → (ct id ): takes as input a message m ∈ M, an identity id ∈ I, and the public parameters pk. It outputs a ciphertext ct id . • Dec(sk id , ct id ) → (m/ ⊥): takes as input a private key sk id , a ciphertext ct id . It outputs a message m or aborts.
Correctness. An IBE scheme is correct if the following holds: for all λ, n ∈ N, let (pk, msk) ← The aggregating secret keys property, introduced in ref. [15], allows aggregating multiple private keys in an identity-based encryption scheme into a single compact key. They provide the definition of Aggregate Identity-Based Encryption(AIBE) by adding two extra algorithms to the definition of IBE as described in the following definition: Definition 2 (Aggregate Identity-Based Encryption (AIBE)). In addition to the algorithms (Setup, KeyGen, Enc, Dec) that forms an IBE scheme, the aggregating secret keys property requires the following two PPT algorithms (KeyAgg, AggDec) to support secret key aggregation in AIBE.

2.
AggDec(ŝk, (id 1 , . . . id ), ct, j) → (m/ ⊥) takes as input an aggregated private keyŝk, a list of identities {id i |i ∈ [ ]}, a ciphertext ct and the index j ∈ [ ] that denotes the identity utilized to create ct. It outputs a message m or aborts.
Correctness. An IBE scheme with aggregating secret keys is correct if the following holds: Definition 3 (Security of IBE [15]). The security of IBE scheme is defined as follows: • Setup : The challenger runs Setup(1 λ , 1 n ) to obtain a public key pk. It gives A the public key pk. • Phase I: The adversary A requests sk id i for i ∈ {1, . . . , q 1 }. • Challenge: If Phase I is over, the adversary A sends messages m 0 and m 1 with the challenge identity id * to the challenger where id * was not queried in Phase I. Furthermore, the challenger chooses a random binary β and runs Enc algorithm to calculate ct id * = Enc(m β , id * , pk) and returns (ct id * ) to A. We define the advantage of the adversary A to win in the game as following: Static security is a weaker notion of security. In static security, the adversary lets the challenger know all the identities to be queried and the challenge identity id * before Setup.

We use AdvIBE Static
A,n (λ) to denote the static security of IBE.

Our Method
The objective of our scheme is to build a more practical revocation system that supports ciphertext update and backward compatibility of the private key. Figure 1 depicts the backward compatibility that our scheme pursues. In the figure, tag i implies a tag allocated for the ith time slot. The private key sk id,i of an identity id for the time slot i can decrypt the ciphertext for the current time slot, ct id,i and all past ciphertexts, ct id,j for j < i. However, it cannot decrypt ciphertexts for future time slots. Our scheme is using a polynomial function to control access. Using a polynomial function is more popular for the variant of IBE, which is Identity-Based Broadcast Encryption (IBBE) [27][28][29]. IBBE is designed to share a single ciphertext for multiple users for broadcasting. As multiple identities are engaged in the encryption and decryption processes, it uses a polynomial function to handle this. In particular, in those schemes, the roots of a polynomial function are identities so it can be used to implement OR gates in the scheme.
In our scheme, a polynomial function is used differently. It has as its roots the identity of the recipient and tags that are uniquely allocated for time slots. So, one who can cancel out a polynomial function embedded in a ciphertext entirely using its private key that is associated with the identity and the tags can decrypt the ciphertext. It means that the polynomial function works in our scheme as AND gates.
For example, let a, t 1 and t 2 be the identity and the tags used for Alice, respectively. The ciphertext is constructed by using a polynomial function P(a, t 1 , ., g r·P(a,t 1 ,t 2 ) where g is a group generator and r is a randomization parameter.) and Alice has a private key computed based on 1/P(a, t 1 , t 2 ) (e.g., g 1/P(a,t 1 ,t 2 ) ) at the second time slot. Therefore, Alice can decrypt the ciphertext using a pairing computation (e.g., e(g r·P(a,t 1 ,t 2 ) , g 1/P(a,t 1 ,t 2 ) ) = e(g, g) r ) using her key. Therefore, decryption is possible only for one who has a private key based on the inverse of the polynomial function given in the ciphertext.
For the revocation, we observed that, although a polynomial function is set in a ciphertext, it can be updated to become more restrictive. Using the previous example, if the following is given (C = m · e(g, g) r , C 2 = g r·P(a,t 1 ,t 2 )x 2 , C 1 = g r·P(a,t 1 ,t 2 )x , C 0 = g r·P(a,t 1 ,t 2 ) ).
To update the ciphertext with t 3 , the tag for the third time slot is given, and one can update the ciphertext as C = m · e(g, g) r , C 2 = R, C 1 = C 2 · C −t 3 1 = g r·P(a,t 1 ,t 2 )(x−t 3 )x = g r·P(a,t 1 ,t 2 ,t 3 )x , where R is a random value and P(a, t 1 , t 2 , . This can be completed without any other secret parameter and does not need decryption. Moreover, once the new ciphertext is updated successfully, it cannot go back. For the updated ciphertext, all previous keys such as g 1/P(a,t 1 ,t 2 ) are no longer valid as they cannot completely divide the polynomial function given in the ciphertext due to (x − t 3 ). Therefore, they are revoked. However, the newly generated key at the time t 3 can be used for all previous ciphertexts by executing the update process locally. Therefore, this method can be used to guarantee backward compatibility.
To prove the security of our scheme, we utilize aggregate identity-based encryption (AIBE) . AIBE was introduced by Goyal and Vaikuntanathan [15]. Their scheme is used for a system that maintains multiple private keys. It uses the key accumulate algorithm, called DPP, from Delerablée, Paillier and Pointcheval [30,31] to aggregate multiple keys such as {g 1/(x−a i ) , a i } i∈[ ] into a single key g 1/(x−a 1 )(x−a 2 )···(x−a ) . Our scheme does not need key aggregation as a private key can be updated directly by a key-update key. However, it is still useful to prove the security of BC-IBE, as we can query the private keys and use them to form a key-update key without knowing the master secret.
Before we present our main construction, we provide the formal definitions of our BC-IBE and its security models in the following subsections.

Definition of BC-IBE
Using the notion of identity-based encryption, we provide the definition of Backward Compatible Identity-Based Encryption (BC-IBE). Our BC-IBE consists of seven algorithms, Setup, UpdateKeyGen, KeyGen, KeyUpdate, Enc, EncUpdate, and Dec, as defined below: • Setup(1 λ , 1 n 1 , 1 n 2 , 1 n 3 ) → (pk, msk): takes as input the security parameter λ, the identity length n 1 , the tag length n 2 and the maximum number of updates n 3 . It outputs a public key pk and a master secret key msk. • UpdateKeyGen((tag 1 , . . . , tag ), id, msk) → (usk id, ): takes as input a sequence of tags tag i ∈ {0, 1} n 2 for i ∈ [ ], an identity id ∈ {0, 1} n 1 and the secret key msk. It outputs a key-update key usk id, . • KeyGen(id, msk) → sk id,0 : takes as input an identity id and the master secret key msk. It outputs a private key sk id,0 . • KeyUpdate(sk id,j−1 , usk id,j ) → sk id,j : takes as input the private key sk id,j−1 and the update key usk id,j for j ≤ n 3 . It outputs a private key sk id,j . • Enc(m, id, pk) → ct 0 : takes as input a message m ∈ M, an identity id ∈ {0, 1} n 2 , and a public key pk. It outputs a ciphertext ct 0 . • EncUpdate(pk, ct id,j−1 , id, (tag 1 , . . . , tag j )) → ct id,j : takes as input the ciphertext ct id,j−1 , an identity id, a sequence of tags (tag 1 , . . . , tag j ). The algorithm outputs the updated ciphertext ct id,j . • Dec(sk id,i , ct id,j ) → m/ ⊥: takes as input a private key sk id,i , a ciphertext ct id,j . It outputs the message m or aborts.

Security of BC-IBBE
We define the security of our BC-IBE scheme as follows: • Setup: The challenger runs Setup(1 λ , 1 n 1 , 1 n 2 , 1 n 3 ) to obtain a public key pk. It gives A the public key pk. • Phase I: The adversary A issues the following queries to the challenger: For i ∈ [q 1 ], the challenger sets tag 1 , . . . , tag k ∈ {0, 1} n 2 for k ∈ [n 3 ] and it requests usk id i ,k for (id i , {tag j } j∈[k] ).
For each query, the challenger returns the resulting key to the adversary. • Challenge: When Phase I is over, the adversary A sends messages m 0 and m 1 with a challenge of identity id * and tags, (tag * 1 , . . . , tag * ) in that the pair (id * , tag * ) has never been queried together in Phase I to the challenger. The challenger chooses a random binary β and runs the Enc algorithm to compute ct id * ,0 = Enc(m β , id * , pk), and then it updates the ciphertext ct id * ,0 to the ciphertext ct id * ,j using EncUpdate by executing consecutively EncUpdate(pk, ct id * ,i−1 , id * , (tag * 1 , . . . , tag * i )) for i ∈ [ ]. The challenger returns (ct id * , ) to A.
We define the advantage of the adversary A to win in the game as follows: Static security is the weaker security notion of BC-IBE by adding the step that the adversary lets the challenger know all identities and tags to be queried before Setup (i.e., before requesting any parameters from the challenger). We use AdvBC-IBE Static A,n (λ) to denote the advantage of the adversary in the static security model.

Our Construction
Let G(λ) be an algorithm that outputs bilinear group parameters G, G T , e , where G and G T are of order p, and e : G × G → G T . Let g and e(g, g) be generators of G and G T , respectively. With a collision-resistant hash algorithm H : {0, 1} n 1 × {0, 1} n 2 → Z p where n 1 and n 2 are the lengths of identities and tags, respectively. Furthermore, n 3 is the maximum number of updates. The construction of our BC-IBE scheme is as follows: • Setup(1 λ , 1 n 1 , 1 n 2 , 1 n 3 ) → (pk, msk) takes the security parameter λ as input and the sizes of identities (n 1 ) and tags (n 2 ) together with the maximum number of the key updates (n 3 ). Furthermore, the algorithm generates the bilinear group p, G, G T , g, e ← G(1 λ ). It randomly chooses parameters α and β in Z p and hk ← HGen(1 λ ) where hk is a parameter for the identity hash algorithm. It sets a public key pk := (hk, g, {g β i } i∈[n 3 ] , g α ) and a private key msk := (hk, α, β). The key generation algorithm takes the latest updated key usk id, and the secret key sk id, −1 for 1 ≤ . It updates the secret key It should be noted that the above equation results in sk id, = g α/ ∏ i=0 (β+h id, ) . It returns sk id, . • Enc(m, pk, id) → ct id,0 : The encryption algorithm takes a message m, a public key pk and an identity id. It randomly selects a random value r ∈ Z p and computes h id,0 = H(hk, id, 0). It, then, sets the following as the ciphertext ct: It outputs ct id,0 := ({C i } n 3 i=0 , C T ). • EncUpdate(pk, ct id, −1 , , id, (tag 1 , . . . , tag )) → (ct id, ): The re-encryption algorithm takes a public key pk and a ciphertext ct id, −1 and the identity id and a sequence of the tags (tag 1 , . . . , tag ). It randomly selects a random value r ∈ Z p and computes (h id,0 , h id,1 , . . . , h id, ) = (H(hk, id, 0), H(hk, id, tag 1 ) , . . . , H(hk, id, tag )). It com-putes (a 0 , a 1 , . . . , a +1 ) where a j is the coefficient of x j in the polynomial function . It sets C T := C T · e(g, g) αr . For all i ∈ [n 3 − ], For all i such that n 3 − < i ≤ n 3 , it randomly selects R i ∈ G also sets C i := C i · R i . It outputs the updated ciphertext: • Dec(sk id, , ct id,j , (tag 1 , . . . , tag ), j, hk) → (m): The decryption algorithm takes the secret key sk id, and the ciphertext ct id,j of id and the tags {tag 1 , . . . tag }. Furthermore, we set coefficient a i as follows: It, then, parses ct id,j to C 0 . . . C n 3 and C T and computes Correctness. By the definition, C 0 = g r(β+h id,0 ) , sk id,0 = g α/(β+h id,0 ) and C T = m · e(g, g) αr . Therefore, C T · e(C 0 , sk id,0 ) −1 = m · e(g, g) αr · e(g r·(β+h id,0 ) , g α/(β+h id,0 ) ) −1 = m · e(g, g) α·r · e(g, g) −α·r = m Correctness for updated ciphertexts and keys. For j ≤ , by the definition, C j = gr ∏ j i=0 (β+h id,i ) , sk id, = g α/ ∏ i=1 (β+h id,i ) and C T = m · e(g, g) α·r . First, we compute a i that is the coefficient of x i of the polynomial (x + h id,j+1 ) · · · (x + h id, ) for all i ∈ {0, . . . , − j}. Therefore, = m · e(g, g) α·r · e(gr ·(∏ i=0 (β+h id,i )) , g α/ ∏ i=0 (β+h id,i ) ) = m · e(g, g) α·r · e(g, g) −α·r = m Theorem 1. Our BC-IBE is static secure under (q-DBDHI) assumption.
Proof. We will show the security of our BC-IBE using Lemma 1 in our security analysis. It will be proven to be secure by showing the oracles simulating the security of the AIBE from Goyal and Vaikuntanathan are invariant. Therefore, it will have the same security that AIBE has.

Security Analysis
We utilize Goyal and Vaikuntanathan's AIBE (see Appendix A) to prove our scheme. Their AIBE scheme is static secure and its static security is proven under q-DBDHI assump-tion in a random oracle model. In our scheme, we also show that our scheme is secure via the security of the AIBE scheme.
To use the AIBE scheme for the security proof of BC-IBE, we define two indistinguishable oracles O 0 AIBE and O 1 AIBE that simulate the static security of AIBE. First, we define O 0 AIBE as follows: • Setup(1 λ , 1 n , id * ) → (mpk): takes as input the security parameter λ, the identity length n. It returns the public parameters mpk = (hk, {g β i } i∈[n] ) where hk ← HGen(1 λ ) is a parameter for the hash algorithm for identities H (i.e., H(hk, id) = h id ) ∈ Z p ). • Query(id ∈ {0, 1} n \ {id * }) → (sk id ): When a secret key sk id for the identity id ∈ {0, 1} n is requested, it returns a private key Challenge(m 0 , m 1 , id * , mpk) → (ct id * ) takes as input messages m 0 , m 1 ∈ M, an identity id * ∈ {0, 1}, and the public parameters mpk. It randomly selects b ∈ {0, 1} and outputs the challenge ciphertext where r is a randomly selected value in Z p .
The oracle O 1 AIBE is defined identically except that m b in ct id * is replaced by a random message in M. It should be noted that the oracles O 0 AIBE and O 1 AIBE are indistinguishable under q − DBDH I assumption in the random oracle model by the static security of Aggregate IBE in [15].

Lemma 1.
Suppose there is a PPT algorithm A that breaks the static security of BC-IBE with non-negligible probability . Furthermore, we can build an algorithm B that distinguishes between O 0 AIBE and O 1 AIBE using A with .
Proof. We are going to prove the static security of our BC-IBE scheme using the indistinguishability between O 0 AIBE and O 1 AIBE as follows: Before Setup, for the initialization, the challenger sets the identities to be queried and the maximum number of updates n 3 . It also chooses the identity to be challenged, id * and the number of updates to be challenged for id * , which is tag * . The algorithm B sets a new identity space that is defined as and the challenge identity id * ||tag * . B sends them to the oracle (either O 0 AIBE or O 1 AIBE ) that it works with. The oracle uses this for the initialization by creating n 1 + n 2 sized identity space (i.e., {0, 1} n 1 +n 2 where n 1 and n 2 are the sizes of the identity and tag spaces, respectively. Through this process, B will break the static security of AIBE by distinguishing between O 0 AIBE and O 1 AIBE using A. Setup: To create pk for B. B requests a public key to the oracle, it works with. The oracle sends (hk, {g β i } i∈[n] ) back to B. Furthermore, B randomly selects α and sends (H, {g β i } i∈[n] , g α ) as pk where H is a random oracle hashing identities with hk ← HGen(1 λ ) by concatenating an identity and a tag and taking it as input together with hk. (i.e., H(hk, id|| tag)).
Phase I/II: In this stage, A can query three types of queries and B responds it as follows: 1.
When A requests sk id i ,0 for i ∈ [q], B requests the private key for id i ||0 to the oracle. B receivesŝk id i ||0 from the oracle. Furthermore, it sets sk id i ,0 = (ŝk id i ||0 ) α and returns it to A.

3.
A also can request sk id * ||0 and usk id * ||tag * i for i ∈ [ − 1] and also B can respond in the same way it responds above. They cannot query usk id * ||tag * .
Challege: When A requests the challenge ciphertext for id * , (tag * 1 , . . . , tag * ), B requests the challenge ciphertext of id * ||tag * to the oracle that it works with. The oracle will send the challenge ciphertext that is either a ciphertext for m b or a random message following: where T is either m b · e(g, g) r or a random value R ∈ G T according to the definition of the oracles. to the oracle it works with. It then, computes a 0 , . . . , a where a i is a coefficient of where R 1 , . . . , R are random values in Z p It, then, returns the challenge chiphertext to A. The last equality of the above equation because, for all i = {0, 1, . . . , }, a i is also the coefficient of ) by its definition.
Guess: When B receives the answer from A, it sends back the result to the oracle it works with. As A distinguishes if T encrypts a random message or m b with the non-negligible advantage , B also can use this advantage to distinguish between O 0 AIBE and O 1 AIBE .

Performance Evaluation
In this section, we compare the performance of our scheme with the other revocable identity-based encryption schemes in Tables 2 and 3. In revocable identity-based encryption schemes [9,17,26], backward compatibility is not supported. Therefore, we assume that they keep all previous keys for backward compatibility for n time periods.
As shown in those tables, our scheme has a very short private key (sk) even though it supports backward compatibility. In the existing scheme, the size of those keys increases in not only the number of keys it keeps for backward compatibility, (n) but also the total number of users ( ). Moreover, our key update processes are simple, it always needs a single key for each time period and sk is directly used as a decryption key. In all other schemes, the size of updating keys increases in the total number of users ( ).
Our scheme has relatively longer ciphertexts as it increases in the maximum number of updates and also the decryption needs n exponentiation computations although it only needs one pairing. However, the other RIBE does not support the updates. It needs decryption and re-encryption to update existing ciphertexts. This difference makes the size of the ciphertext larger but we believe that this is the cost of the functional enhancement. In addition, one may consider guaranteeing backward compatibility within reasonable time periods. With a smaller n, our scheme outperforms the other RIBE schemes in terms of decryption overhead.
Moreover, the size of the secret keys is often considered an expensive resource as it needs secure memory and is an extra burden for the management. Therefore, our proposed scheme can be used where the restriction of secure memory is severe.  ESW [26] 3rlog( /r))|G 2 | 6|G 2 | 3 Pairings + 2 Exp.

Discussion on Threats on Updating Ciphertexts
In our proposed scheme, the ciphertext update can be conducted by any third party without giving any private key. However, our update only makes the access policy applied to ciphertexts more restrictive because it always needs a newly established update key to be aggregated to a decryption key in addition to the keys already aggregated to the decryption key. Due to this, even one who has a malicious purpose cannot compromise the ciphertext through the update. The other potential threat is one makes ciphertexts inaccessible by updating them to an arbitrary identity. However, this means that the adversary has a writing privilege for the ciphertext because the update process needs to overwrite the previous ciphertext to the updated one. If the adversary already has the writing privilege, the adversary can compromise the availability of ciphertext anyway even without using the update algorithm. For example, it can overwrite ciphertext to any random elements using its privilege. Due to the reasons we explain above, we argue that the threats on updating ciphertext are reasonable and do not increase the attacker's capability significantly.

Conclusions
In this paper, we introduce a new encryption system, which supports the backward compatibility property. Our proposed scheme allows for a user to keep a single key allocated for the present time slot and this key can decrypt all ciphertexts created at past and present time slots. So, it is backward compatible. In addition, in our proposed scheme, ciphertexts can be updated for the new time slots without decryption. After it is updated, it cannot be decrypted using the past keys. Therefore, it naturally supports revocation. The ciphertext update process does not require any secret parameters in our scheme so that it can be delegated to a third party. We believe that this is helpful for cloud storage and server-aided IoT network where the synchronization of the data in a system matters.
We present our idea by setting a new definition of backward compatible identity-based encryption (BC-IBE) and its security model. Furthermore, we construct an efficient scheme that satisfies the backward compatibility property we previously described. We prove its security using the aggregate identity-based encryption scheme introduced by Goyal and Vaikuntanathan.
We provide an efficient scheme as the size of the private key is constant, but the length of the ciphertext of the proposed scheme increases linearly over the maximum number of updates. It would be interesting to reduce the size of ciphertexts for future work.

Conflicts of Interest:
The author declares no conflict of interest.

Appendix A. Goyal and Vaikuntanathan's Aggregate IBE
We provide the construction of Goyal and Vaikuntanathan's Aggregate IBE [15]. We let the bilinear group p, G, G T , g, e ← G(1 λ ) be the bilinear group parameters in prime order p.

•
Setup(1 λ , 1 n ) → (pk, msk) takes the security parameter λ as input and the upper bound on the number of aggregations n. It randomly samples a value β ∈ Z * p and the public parameters for identity hashing as hk ← HGen(1 λ ). It sets a public key pk := (hk, {g β i } i∈[n] , g α ) and a private key msk := (hk, β).
• KeyGen(id, msk) → sk id : The key generation algorithm takes the identity id and the master secret key msk. It hashes the identity as h id = H(hk, id). It outputs the secret key sk id as g 1/(β+h id ) .
• Aggregate(pk, {(id i , sk i )} i ) →ŝk: The key aggregation algorithm computes the aggregated key asŝ Enc(m, mpk, id, 1 T ) → ct: The encryption algorithm takes a message m, a public key pk, an identity id and a bound T where T is the maximum number of aggregations. It randomly selects a random value r ∈ Z p and computes h id = H(hk, id). It, then, sets the following as the ciphertext ct: C i := g r(β+h id )β i , C T := m · e(g, g) r It outputs ct := ({C i } T−1 i=0 , C T ). It, then, outputs The correctness of the above scheme can be found in [15].