Efﬁcient Hierarchical Identity-Based Encryption System for Internet of Things Infrastructure

: Security is a main concern for the Internet of Things (IoT) infrastructure as large volumes of data are collected and processed in the systems. Due to the limited resources of interconnected sensors and devices in the IoT systems, efﬁciency is one of the key considerations when deploying security solutions (e.g., symmetric/asymmetric encryption, authentication, etc.) in IoT. In this paper, we present an efﬁcient Hierarchical Identity-Based Encryption (HIBE) system with short parameters for protecting data conﬁdentiality in distributed IoT infrastructure. Our proposed HIBE system has the public parameters, private key, and ciphertext, each consisting of a constant number of group elements. We prove the full security of the HIBE system in the standard model using the dual system encryption technique. We also implement the proposed scheme and compare the performance with the original Lewko–Waters HIBE. To the best of our knowledge, our construction is the ﬁrst HIBE system that achieves both full security in the standard model and short parameters in terms of the public parameters, private key, and ciphertext.


Introduction
Encryption is a security solution used for data confidentiality protection.There are two types of encryption systems, namely symmetric and asymmetric.A symmetric encryption system uses the same key for encryption and decryption.In an asymmetric encryption (also known as public-key encryption) system, a public key of the data recipient is used for encryption, and the private key is used for decryption.In 1984, Shamir [1] proposed the idea of identity-based cryptography where the identity (ID) of a user is used as a public key, and a third party, called the Private Key Generator (PKG), is responsible for generating a private key for the user.This approach simplifies the problem of managing digital certificates in traditional public key systems.It was only in 2001 that Boneh and Franklin [2] constructed the first Identity-Based Encryption (IBE) scheme from the Weil pairing with chosen ciphertext security in the random oracle model.Many IBE schemes [3][4][5] were then proposed and proven secure in the standard model.Horwitz and Lynn [6] introduced the notion of Hierarchical Identity-Based Encryption (HIBE), which gives more flexibility for users to share and manage sensitive data.In an HIBE scheme, private keys at a lower level of PKG can be issued by a higher level of PKG.This reduces the burden for a single PKG setting of IBE.
One of the main design issues for the HIBE system is to obtain an efficient scheme with short parameters (e.g., public parameters, private key, ciphertext).It is desirable to design an HIBE scheme with parameters that are independent of the maximum hierarchy depth or the depth of user identity.Otherwise, it is not practical to be implemented in the application due to high computation and communication cost.In terms of security, it is desirable to have an HIBE system with full security as compared to selective-identity security.Many previous HIBE schemes have been designed in the direction of achieving the above properties.However, most previous realizations of HIBE systems [7] only provided the above features partially, i.e., achieving constant-size ciphertext (resp.private key), but the private key (resp.ciphertext) still depends on the hierarchy depth.

Applications
The hierarchical structure and the key delegation property of HIBE make it an ideal security solution for protecting data confidentiality in the emerging computing and network environments, such as cloud storage, smart home systems, mobile networks, and the Internet of Things (IoT) [8][9][10][11][12].The advantage of an HIBE system is that it provides the scalability of IBE system in a distributed network environment by reducing the workload of a root PKG.This can be achieved by delegating lower-level sub-PKGs for key generation.
Consider the applications in IoT where many sensors and devices are interconnected.HIBE can be deployed in the IoT system such as the unit IoT and Ubiquitous IoT (U2IoT) architecture [13,14] to support secure data storage and exchange.In the U2IoT architecture, multiple interconnected sensors or devices form a unit IoT.A local IoT and industrial IoT comprise multiple unit IoT within a region or an industry, respectively.The local IoT and industrial IoT in a country are integrated by a national IoT to form the ubiquitous IoT.Data collected and exchanged by each IoT system in this architecture are managed by a Unit Data Center (UDC), Local Data Center (LDC), Industry Data Center (IDC), and National Data Center (NDC), respectively.
The root PKG of HIBE can be deployed in NDC, which delegates LDC and IDC as the sub-PKGs.The delegations follow the paths in the hierarchical structure as shown in Figure 1, where the lowest level is formed by the sensors.The NDC is responsible for generating the public parameters of the whole system.It also generates the private keys used by LDC and IDC, respectively.Subsequently, the task of key generation can be delegated to LDC and IDC for generating private keys of the UDC under their management.The private keys used by the sensors at the lowest level can be obtained from their respective UDC.Due to the constraint of the computation capability and power supply of the sensors in the IoT system, it is desirable to implement an efficient and secure HIBE system with short public parameters, private key, or ciphertext.

Our Contributions
We present an efficient HIBE system with a constant size of public parameters, private key, and ciphertext based on the composite order group.In particular, both the private key and ciphertext of our proposed HIBE system contain only three group elements, respectively.Our improved HIBE system is constructed by tweaking the HIBE system of Lewko and Waters [7].The proposed HIBE construction is more efficient than [7] in terms of the runtime for key generation and encryption, as well as the size of public parameters and the private key.We apply the dual system encryption technique to prove the full security under three static assumptions.We believe that our system is the first one that achieves both full security and a constant size of public parameters, private key, and ciphertext.

Related Work
Horwitz and Lynn [6] first presented the concept of HIBE.In 2002, Gentry and Silverberg [15] constructed the first HIBE scheme, which was proven secure in the random oracle model.An efficient selective-ID secure HIBE without the random oracle was proposed by Boneh and Boyen [16].Since then, some fully-secure HIBE schemes [17,18] without the random oracle were presented.The security of the above schemes was proven using a partitioning strategy [19], which divided the identity space into identities that were used in the key query phase and challenge phase, respectively.IBE systems that were proven secure using this technique generally had large public parameters, which make them impractical.The partitioning approach is also inadequate to use for proving the security of HIBE systems.
These limitations were highlighted by Waters [19] and solved with his dual-system encryption approach.Waters realized a fully-secure HIBE system with linear-sized ciphertext based on the proof technique in [19].Lewko and Waters [7] proposed a new technique for dual-system encryption in composite order bilinear groups.They constructed the HIBE system with constant-size ciphertexts without tags.Angelo, Vincenzo, and Giuseppe [20] modified the HIBE construction of [7] to achieve anonymity.Some other recent fully-secure HIBE systems, which were proven using the dual-system encryption technique, include [21,22].Chen and Wee [21] proposed a compact HIBE scheme in prime-order groups, but the scheme had a linear-sized private key and ciphertext.In [22], a fully-secure and anonymous HIBE scheme with short ciphertexts in prime order (asymmetric) bilinear groups was proposed.However, the size of public parameters and the private key of their HIBE scheme grew linearly with the hierarchy depth.
Park and Lee [23] constructed the first anonymous HIBE with constant-size ciphertext over prime-order groups, which was proven secure without random oracles.The anonymous HIBE scheme proposed in [24] had a constant size of the private key and ciphertext.However, we note that their HIBE construction was only secure against selective-identity-chosen plaintext attack.Hu et al. [25] also proposed an HIBE system that achieved a constant-size ciphertext and private key without random oracle, but the size of the public parameters depended on the hierarchy depth.Since the proposed Revocable Hierarchical Identity-Based Encryption (RHIBE) by Seo and Emura [26], there have been many studies on the construction of more efficient RHIBE in terms of shorter public parameters, private key, update key, or ciphertext [27][28][29][30][31][32].

Paper Organization
Definitions of the HIBE system and complexity assumptions are briefly reviewed in Section 2. Our improved HIBE scheme is described in Section 3. The security proof is shown in Section 4. Section 5 compares the performance of our construction with the HIBE system in [7].Section 6 gives the conclusions and an open problem of our improved scheme.

Bilinear Groups
Let q 1 , q 2 , q 3 be distinct primes and G and G T be cyclic groups of order N = q 1 q 2 q 3 .To define composite order bilinear groups [33], we use a group generating algorithm G, which takes a security parameter k as input and outputs a tuple (N = q 1 q 2 q 3 , G, G T , e), where e : G × G → G T is a map with the following properties: Here, we let G q 1 , G q 2 , and G q 3 denote the subgroups of order q 1 , q 2 , and q 3 in G, respectively.Given h i ∈ G q i and h j ∈ G q j for i = j, we have e(h i , h j ) = 1 (i.e., the identity element in G T ).This is known as the orthogonality property, and it will be used in our construction.

Complexity Assumptions
We use the complexity assumptions introduced in [7] to prove the security of our HIBE system.In the assumptions below, we let G q 1 q 2 denote the subgroup of order q 1 q 2 in G and G q 1 q 3 denote the subgroup of order q 1 q 3 in G.
Assumption 1.The following distribution is defined based on a group generator G: For an adversary B, we define the advantage as follows: Definition 1.We say that a group generator G satisfies Assumption 1 if for all polynomial time adversaries B, we have that The following distribution is defined based on a group generator G: For an adversary B, we define the advantage as follows: Definition 2. We say that a group generator G satisfies Assumption 2 if for all polynomial time adversaries B, we have that Adv A2 B (k) is negligible.

Assumption 3.
The following distribution is defined based on a group generator G: For an adversary B, we define the advantage as follows: Definition 3. We say that a group generator G satisfies Assumption 3 if for all polynomial time adversaries B, we have that Adv A3 B (k) is negligible.

Security Definition
The security of HIBE [34] is defined in term of the following game between a challenger C and an adversary A.
Setup: The challenger C runs the GlobalSetup algorithm and obtains the public parameters.C also maintains a set S for private keys it has created.Initially, S = ∅.C gives the public parameters to A.
Phase 1: A issues the following queries: • Create: The identity vector ID = (ID 1 , . . ., ID j ) of depth j is given to C by A. C runs the KeyGen algorithm to generate the key for this identity vector.The key is then added in the set S. A reference of this key is returned to A. Challenge: A gives two equal-length messages M 0 and M 1 , as well as a challenge identity ID * to C. The restriction is that no revealed identity in Phase 1 is a prefix of this challenge identity.C flips a coin β ∈ {0, 1} and encrypts M β under ID * .It gives the resulting ciphertext C * to A.
Phase 2: This phase is identical to Phase 1 with the restriction that any revealed identity must not be a prefix of the challenge identity ID * .

Guess.
A outputs a guess β ∈ {0, 1}.If β = β , then A wins the game.We define the advantage of an adversary A in this game to be: Definition 4. A hierarchical identity-based encryption scheme is secure if all polynomial time adversaries have at most a negligible advantage in the above security game.

Our Improved HIBE System
Our improved HIBE system achieves short parameters with a constant size of ciphertext, private key, and public parameter.The idea of the HIBE construction is to tweak the original Lewko and Waters HIBE system [7] by reducing the parameters without sacrificing its security.We find out that the aim of adding u i ∈ G q 1 to the original HIBE [7] is to make the key random in key delegation.We replace u i ∈ G q 1 with u 1 ∈ G q 1 , and the randomness is still the same as the original HIBE where the key K 1 , K 2 , E has a random r ∈ Z N in the exponent.Therefore, even when we take out u i ∈ G q 1 , the key remains fully randomized, and thus, our improved HIBE system also achieves full security.

Construction
Suppose G and G T denote bilinear groups of order N = q 1 q 2 q 3 , where q 1 , q 2 , q 3 are distinct primes.Let G q i be the subgroup of order q i in G and e : G × G → G T be the bilinear map.The HIBE system is constructed as follows.
• GlobalSetup (1 k ): Let k be the security parameter, g 1 , h 1 , u 1 ∈ G q 1 , U 3 ∈ G q 3 , and α ∈ Z N .The public parameters PK and master secret key MSK are generated as: • KeyGen (MSK, ID = (ID 1 , . . ., ID j )): The key generation algorithm first selects a random r ∈ Z N and random elements R 3 , R 3 , R 3 of G q 3 .It then generates the private key for an identity ID = (ID 1 , . . ., ID j ) of depth j by computing: It outputs the private key as SK = (K 1 , K 2 , E). • Delegate(PK, SK ID=(ID 1 ,...,ID j ) , ID j+1 ): Given a private key SK = (K 1 , K 2 , E ) for (ID 1 , . . ., ID j ), a new key for (ID 1 , . . ., ID j+1 ) is created as follows.The delegation algorithm selects a random r ∈ Z N and random elements R3 , R 3 , R 3 ∈ G q 3 .The new key is computed as: It outputs the private key for ID = (ID 1 , . . ., ID j , ID j+1 ) as SK = (K 1 , K 2 , E).We fully rerandomize this new key, i.e., the new key is only related to the values ID 1 , . . ., ID j of the previous key.

Semi-Functional Algorithms
The security of our HIBE system is proven by using the dual system encryption [7,19] methodology.With this proof technique, it is required to define an additional ciphertext and key, namely a semi-functional ciphertext and key.We only use them in the security proof of the HIBE system, but not in the real system.
We denote g 2 as a generator of G q 2 .The semi-functional key is created based on the normal private key (K 1 , K 2 , E ) that was generated by the key generation algorithm.We then select exponents γ, z k , z ∈ R Z N and generate the semi-functional key as: The semi-functional ciphertext is created based on the normal ciphertext (C 0 , C 1 , C 2 ) generated by the encryption algorithm.We then select exponents x, z c ∈ R Z N and generate the semi-functional ciphertext as: The decryption of a semi-functional ciphertext under a semi-functional key is computed by multiplying the blinding factor with e(g 2 , g 2 ) xγ(z k −z c ) .We will obtain a correct decryption if z c = z k .

Security Analysis
The security proof of our HIBE system is shown with a sequence of games from Game Real -Game Final that are played between an adversary A and a challenger C. We will show that no polynomial-time adversary A can distinguish one game from the next under a complexity assumption.
Game Real : The first game is the usual security game used for defining HIBE security.In this game, normal private keys and the challenge ciphertext are used between A and C.
Game Real : This game is the same as Game Real with the exception that all key queries will be answered by fresh calls to the key generation algorithm (the challenger C will not be asked to delegate keys in a particular way).
Game Restricted : This game is almost identical to Game Real except that the adversary A is restricted from making key queries for identities, which are prefixes of the challenge identity modulo q 2 .Game k : Game k is similar to Game Restricted , except the following changes: 1.The first k keys are semi-functional for k from 0-w, where w denotes the number of key queries made by A. The rest of the keys are normal.2. The ciphertext given to A is semi-functional.In Game 0 , all of the keys are normal.and a semi-functional challenge ciphertext is given to A. In Game w , all the keys and challenge ciphertext given to A are semi-functional.
Game Final : This game is the same as Game w , except that the challenger gives a semi-functional encryption of a random message to A as the challenge ciphertext.The random message is independent of the messages provided by A.

Lemma 1. For any adversary A, Adv
Proof.Keys that are returned to A's queries are identically distributed whether they are generated by the Delegate algorithm from a previous key or from a fresh call to the KeyGen algorithm.A's view in Game Real is identical to its view in Game Real .

Game Real A − Adv
Game Restricted A = .Then, we can build an algorithm B with advantage Adv A2 B ≥ 2 in breaking Assumption 2.
Proof.Suppose A has a probability of producing identities ID and ID * such that ID = ID * modulo N and q 2 divides ID − ID * .B can then determine a nontrivial factor of N by computing a = gcd(ID − ID * , N).Let b = N a .We consider the following three cases: 1. one of a, b is q 1 , and the other is q 2 q 3 ; 2. one of a, b is q 2 , and the other is q 1 q 3 ; 3. one of a, b is q 3 , and the other is q 1 q 2 .
and T, where T ∈ G or T ∈ G q 1 q 3 , B can simulate the security games with A and determine which of the above cases has occurred as follows: If either one of these equalities holds, then Case 1 occurs.B subsequently tests whether e(T a , U 1 U 2 ) = 1 (we assume without loss of generality that a = q 1 and b = q 2 q 3 ).If the equality holds, B determines that T ∈ G q 1 q 3 .Otherwise, If neither of these holds and the test for Case 1 fails, then Case 2 occurs.Next, B can determine which of a, b is equal to q 1 q 3 by testing which of g a 1 , g b 1 is the identity.Without loss of generality, we assume that a = q 2 and b = q 1 q 3 .B subsequently tests whether T b = 1.If the equality holds, B determines that T ∈ G q 1 q 3 .Otherwise, T ∈ G.
• Case 3: If the tests for Cases 1 and 2 fail, then Case 3 occurs.B can then determine which of a, b is equal to q 3 by testing which of U a 3 , U b 3 is the identity.We assume without loss of generality that a = q 3 .B subsequently tests whether e(T a , V 2 V 3 ) = 1.If the equality holds, B determines that T ∈ G q 1 q 3 .Otherwise, T ∈ G. Proof.Given D = (N, G, G T , e, g 1 , U 3 ) and T, where T ∈ G q 1 q 2 or T ∈ G q 1 , Game Restricted or Game 0 is simulated as follows.B first selects random exponents α, a, b ∈ Z N .It then sets B keeps the master secret key MSK = α.It sends the public parameters PK = {N, g 1 , h 1 , u 1 , e(g 1 , g 1 ) α } to A.
A's queries for the private key of identity ID = (ID 1 , • • • , ID j ) are answered by B as follows: B selects random exponents r, t, v and w ∈ Z N and sets: At some point, B receives a challenge identity and two messages M 0 , M 1 from A. B chooses a random β ∈ {0, 1} and returns the challenge ciphertext as follows: If T ∈ G q 1 q 2 , the simulated semi-functional ciphertexts C 0 , C 1 , C 2 could match the primary semi-functional ciphertexts as follows: The ciphertext (C 0 , C 1 , C 2 ) is semi-functional with T implicitly set as g s 1 g x 2 and z c = a(ID * 1 + . . .+ ID * j ) + b in Game 0 .This is properly distributed as z c mod q 2 is not correlated with a mod q 1 and b mod q Therefore, these possibilities for T can be distinguished by B using the output of A. Proof.Given D = (N, G, G T , e, g 1 , U 1 U 2 , U 3 , V 2 V 3 ) and T, where T ∈ G or T ∈ G q 1 q 3 , Game k−1 or Game k is simulated as follows.B selects random exponents α, a, b ∈ Z N and sets B sends the public parameters PK = {N, g 1 , h 1 , u 1 , e(g 1 , g 1 ) α } to A and keeps the master secret key MSK = α.
B answers A's i th key query for identity (ID 1 , • • • , ID j ) as follows: • For i < k, B selects random exponents r, z, t, v ∈ Z N first and then creates a semi-functional key as: We note that values of t and zmodulo q 1 and modulo q 3 are uncorrelated by the Chinese remainder theorem.
• For i > k, B runs the KeyGen algorithm to generate a normal key.
and then creates the following key by choosing random exponents w k , w ∈ Z N : If T ∈ G q 1 q 3 , it means that T is implicitly set as g r 1 R 3 and the key is normal.If T ∈ G, it means that T is implicitly set as g r 1 g γ 2 R 3 and we have a semi-functional key.
At some point, B receives a challenge identity ID * = (ID * 1 , • • • , ID * j ) and two messages M 0 , M 1 from A. B chooses a random β ∈ {0, 1} and returns the challenge ciphertext as follows: This means that g s 1 = U 1 and z c = a(ID * 1 + . . .+ ID * j ) + b are implicitly set in the challenge ciphertext.Since ID k is not a prefix of the challenge ID * mod q 2 , z k and z c are independent and randomly distributed.
and two messages M 0 , M 1 from A. B chooses a random β ∈ {0, 1} and returns the challenge ciphertext as follows: This implicitly sets z c = a(ID * 1 + . . .+ ID * j ) + b.We note that u 1 = g a 1 and h 1 = g b 1 are elements of G q 1 , so when a and b are randomly chosen from Z N , the values of a mod q 1 and b mod q 1 and the value z c = a(ID * 1 + . . .+ ID * j ) + b mod q 2 are random and independent.If T = e(g 1 , g 1 ) αs , then we have a properly-distributed semi-functional ciphertext (C 0 , C 1 , C 2 ) under the message M β in Game w .If T is a random element of G T , then we have a semi-functional ciphertext (C 0 , C 1 , C 2 ) under a random message in Game Final .Therefore, these possibilities for T can be distinguished by B using the output of A.
Theorem 1.If Assumptions 1-3 hold, then the proposed HIBE system is secure.
Proof.If Assumptions 1-3 hold, then we have shown by the previous lemmas that the real security game is indistinguishable from Game Final , in which the value of B is information-theoretically hidden from the adversary.Hence, the adversary can obtain no advantage in breaking the HIBE system.

Performance Comparison
We provide a performance comparison of our improved HIBE system with other HIBE systems proposed in [7,19,22,25].The efficiency comparison is summarized in Table 1.Let n be the maximum depth of the HIBE and d be the depth of identity vector."PK size", "SK size", and "CT size" denote the length of public parameters, private key, and ciphertext, respectively.We use P, E, and E T to represent the computational cost of a bilinear pairing, a G-exponentiation, and a G T -exponentiation operation respectively for the KeyGen, Encrypt, and Decrypt algorithms.
The public parameters size of [19] contains (2n + 13) group elements.The private key size of [19] is O(d).The public parameters and private key of [7] contain (n + 3) and (n − d + 2) group elements, respectively.The public parameters size of [25] is (2bn + 3)|G| + 1|Z p |, where b is the bit length of an identity.However, the private key size of [25] is O(1).In [22], the public parameters size is O(n) and the private key contains 6(n − d) + 12 group elements.In contrast, our improved HIBE system only requires constant-size public parameters and private key (i.e., independent of the depth of the hierarchy).In particular, public parameters and private key in our HIBE system contain only four and three group elements, respectively.All the HIBE systems in this comparison have constant-size ciphertext except [19] with O(d) of ciphertext size.
All of the three computational costs for [19] grow linearly with the depth of the identity vector.The computational costs of the Decrypt algorithm for [7,22,25] and our improved HIBE systems are all independent of the hierarchy depth.However, our improved HIBE system achieves better computation efficiency for the KeyGen and Encrypt algorithms as they are independent of the depth of the hierarchy and identity vector, respectively.
We implemented our improved HIBE system on a Windows 10 PC with a CPU of Intel Core i7-7700 (3.60 GHz) and memory of 16GB.We ran the KeyGen and Encrypt algorithms for different hierarchy depths (n = 1, 5, 10, ..., 50) and recorded the run time as shown in Tables 2 and 3, respectively.As shown in Figures 2 and 3, the run times of the KeyGen and Encrypt algorithms for our improved HIBE system were much faster than the original HIBE system in [7].

Conclusions and Future Work
Deploying efficient data protection mechanisms are the main challenges for a complex and heterogeneous Internet of Things infrastructure.We proposed an efficient HIBE system with short parameters where the public parameters, private key, and ciphertext are all independent of the hierarchy or identity depth.We proved the security of the improved system using the dual-system encryption technique.This is the only HIBE system simultaneously achieving full security in the standard model and providing O(1)-sized public parameters, private key, and ciphertext.Our improved HIBE construction is based on composite order groups.In general, an HIBE construction in prime order groups can achieve similar security levels with a smaller size of group elements.This may result in shorter ciphertexts, and the decryption is more efficient as compared to an HIBE system constructed over composite order groups [23].Therefore, it would be interesting to explore the construction of an HIBE system based on prime order groups that can achieve all these properties simultaneously.

Lemma 3 .
Suppose there exists an adversary A such that Adv Game Restricted A − Adv Game 0 A = .Then, we can build an algorithm B with advantage Adv A1 B = in breaking Assumption 1.

Lemma 4 .=
Suppose there exists an adversary A such that Adv .Then, we can build an algorithm B with advantage Adv A2 B = in breaking Assumption 2.

Figure 2 .
Figure 2. Run time of the KeyGen algorithm for [7] and our improved HIBE system.

Figure 3 .
Figure 3. Run time of the Encrypt algorithm for [7] and our improved HIBE system.

Author
Contributions: Writing, original draft preparation, L.G. and J.W.; writing, review and editing, W.-C.Y.Funding: Lifeng Guo was supported by National Science Foundation of China (Grant No. 61202365), Project for Returned Overseas of Shanxi Province (2015-015), Natural Science Foundation of Shanxi Province, China (Grant No. 201701D12052), and National Natural Science Foundation of China (Grant No. 61872226).

•
Delegate: A specifies a private key SK ID in S and gives an identity ID j+1 to C. C runs the Delegate algorithm to generate a new private key for ID=(ID 1 , . . ., ID j+1 ) and adds this key to S. It returns a reference of this key to A. • Reveal: A specifies an element of the set S. C gives this private key to A and removes it from S. At this point, A no longer needs to make delegation queries for this private key, as it can run the Delegate algorithm by itself.

Table 1 .
Efficiency comparison between existing and our improved HIBE system.