Next Article in Journal
Multi-Channel Transfer Learning of Chest X-ray Images for Screening of COVID-19
Next Article in Special Issue
Forensic Analysis of Fitbit Versa 2 Data on Android
Previous Article in Journal
Fleet Management and Control System for Medium-Sized Cities Based in Intelligent Transportation Systems: From Review to Proposal in a City
Previous Article in Special Issue
IoT-Inspired Framework of Intruder Detection for Smart Home Security Systems
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

BESTIE: Broadcast Encryption Scheme for Tiny IoT Equipment

1
Department of Information Systems, Hanyang University, Seoul 04763, Korea
2
Department of Electrical Engineering, Kookmin University, Seoul 02707, Korea
*
Authors to whom correspondence should be addressed.
Electronics 2020, 9(9), 1389; https://doi.org/10.3390/electronics9091389
Submission received: 15 July 2020 / Revised: 11 August 2020 / Accepted: 24 August 2020 / Published: 27 August 2020
(This article belongs to the Special Issue Security and Privacy for IoT and Multimedia Services)

Abstract

:
In public key broadcast encryption, anyone can securely transmit a message to a group of receivers such that privileged users can decrypt it. The three important parameters of the broadcast encryption scheme are the length of the ciphertext, the size of private/public key, and the performance of encryption/decryption. It is suggested to decrease them as much as possible; however, it turns out that decreasing one increases the other in most schemes. This paper proposes a new broadcast encryption scheme for tiny Internet of Things (IoT) equipment (BESTIE), minimizing the private key size in each user. In the proposed scheme, the private key size is O ( log n ) , the public key size is O ( log n ) , the encryption time per subset is O ( log n ) , the decryption time is O ( log n ) , and the ciphertext text size is O ( r ) , where n denotes the maximum number of users, and r indicates the number of revoked users. The proposed scheme is the first subset difference-based broadcast encryption scheme to reduce the private key size O ( log n ) without sacrificing the other parameters. We prove that our proposed scheme is secure under q-Simplified Multi-Exponent Bilinear Diffie-Hellman (q-SMEBDH) in the standard model.

1. Introduction

In a modern Internet of Things (IoT) infrastructure, the number of total devices tend to increase on a large scale, while the size of individual equipment become smaller. When dealing with secure communications for a massive number of resource-constrained devices, it is important not only to support flexible access control but also to minimize transmission costs and device computation/storage overhead. Broadcast encryption is the fundamental cryptographic primitive to uphold secure communication to any group of privileged devices.

1.1. Broadcast Encryption

In the Broadcast encryption (BE) scheme, anyone can securely transmit a message to a group of receivers such that privileged users can decrypt it. In BE protocol, the transmission consists of ( S , H d r , C T s k ) : the S is a group (subset) of users, H d r is a header which contains the encryption of session key s k , and C T s k is the ciphertext of message encrypted with the key s k . When receiving the following transmission, a user first extracts (or decrypts) the session key s k from H d r ; then, he/she uses the following symmetric key s k for the decryption of C T s k . If the user is not covered in S, this indicates that the user is revoked and should not be able to extract the key from H d r . Moreover, the system should guarantee that, even if all the revoked users collude, it should be impossible to learn any information about the s k in the H d r . The header is considered a real ciphertext in a BE field of research, since it holds the security of transmissions.
In BE systems, the main competitive issue was reducing the number of subsets to cut down the ciphertext header size. The subset group S works as an encryption unit in most BE schemes and privileged users are determined by multiple subsets. In this case, the header should include all of the corresponding encryptions of s k . To be more concrete, suppose we have subsets of S 1 , , S n ; then, the header { H d r } is a vector that consists of H d r 1 , , H d r n . Namely, the header size is strictly linear to the number of subsets, which clarifies that the number of subsets needs to be minimized.
Many schemes have been proposed [1,2,3,4,5] in different representations with the purpose of reducing the number of subsets, i.e., the header size in BE. In particular, subset difference schemes [1,6] have been received a lot of attention and adopted practically from DVD and Blu-ray disc standards (AACS) to Pay-TV systems since SD schemes provide appropriate parameters of key size, execution time, and ciphertext size. Hence, this paper concentrates on the SD-based approach.
By varying the SD framework, Lin’s group proposed an interval coverage [2] which achieves a comparable header size to the SD approach. Moreover, Kim et al. [3] devised a combinatorial subset difference (CSD), which extends the SD to be more general and expressive. Figure 1 shows an example to visualize each representation. The SD represents a subset with a subtraction (difference) of two subtrees, which is from a binary tree constructed with users mapped as leaf nodes. As an example, in Figure 1a, the SD representation ( 1 , 7 ) covers privileged users 4 , 5 , 6 . The interval representation lets a subset denote a range of privileged users. In the example of Figure 1b, ( 4 , 6 ) can cover the privileged users 4 , 5 , 6 . The SD representation is likely to cover more users since subtrees provide more flexible depth compared to the fixed range of interval representation. However, SD has a limitation: it is bound to the tree hierarchy. When converting the binary tree to the bitwise representation ( 0 , 1 , * ) by translating the left edge as 0 and the right edge as 1 (Figure 1c), the wildcard (*) cannot be placed before the bit. The reason for this is that each bit is decided from top to bottom due to the hierarchy, thus an unfixed bit (*) can only exist when its parent is fixed. The SD and interval schemes, therefore, show analogous results in terms of header sizes; the SD scheme shows a header size of 4 r , and the interval scheme shows a header size of 3 r in the worst case, where r is the number of revoked users. Note that it is hard to decide which scheme has a smaller header size, if not fixed in the worst cases.
Similar to SD, the CSD also represents a subset with a subtraction of two sets, but each subset is no longer a subtree; it is a label of binary bits which is a generalized expansion of the subset difference. In the example of Figure 1c, the CSD subset ( * * , * 1 ) can cover the privileged users 00 , 10 . Note that the representation * 1 is impossible to visualize in the tree figure, since the tree is bound to the hierarchy. The CSD has removed the limitation of hierarchy that lies in the subset difference, and it can cover both the SD and the interval representation with a bit label. It is the most generalized form of subset construction that can cover all existing representations. The CSD cuts the header size down to 2 r , even in the worst case, and shows that it can always cover users with less (or at least the same) subsets than SD representations.
The public key broadcast encryption scheme for the CSD representation [3] has shown that BE can be applied efficiently to the secure multicast in IoT systems. Since the CSD can represent the generalized binary bits, it can cover the bit string of IP addresses for devices in an IoT system network. The experiments in Reference [3] show that the CSD scheme is practical and appropriate for IoT multicasts within a large scale of devices.

1.2. BE for Tiny Equipment

While the number of IoT equipment increases, the size of the equipment itself decreases. In current IoT infrastructures, devices are likely to have no more than a few kilobytes of secure on-chip storage. Note that the key should not be stored in the off-chip flash storage (which could be larger), since they are exposed to the public and commonly extractable [7]. In this setting, the keys of BE should be short enough to be stored in the small-sized memory of tiny IoT equipment. To justify the usage of BE in various IoT systems with tiny devices, we list some specific application examples:
  • Secure multicast: The research of Reference [3] already justified the usage of BE for secure multicast. To be more specific, an IoT system manager may want to broadcast and distribute secure messages to the devices by using the subset difference of IPv6 address bit string. Current IoT equipment commonly utilize chips that have 4 KB to 128 KB of non-volatile memory (EEPROM or on-chip flash). Some devices tend to use trusted platform module (TPM) chips that can store and manage keys securely, and the TPM key storage also has a size of no more than 16 KB. (ATmega 128 microprocessor has 128 KB flash and 4 KB EEPROM, and Atmel TPM series provide 16 KB of non-volatile key storage [8]).
  • Engine control unit (ECU) firmware management: The engine control unit (ECU) of a vehicle is known to have a key storage for its code and data encryption. In time-to-time firmware updates, the system needs to set privileged devices either to guarantee customized firmwares for different vehicles or to revoke the disclosed keys that are often used by other vendors. BE can provide an appropriate environment for the large scale of ECU firmware encryption management. The non-volatile on-chip memory of the ECU usually has a size of no more than 12 KB.
Unfortunately, none of the existing BE schemes are capable of satisfying the requirement of small sized keys in a setting with a massive number of devices. There were some noticeable works that focus on the key size of BE, like Reference [6]. In Reference [6], the authors proposed a scheme that reduces the private key (SK) size from O ( log 3 n ) to O ( log 2 n ) , compared to the original S D -based schemes [4]. Interval scheme [2] also shows a same order of O ( log 2 n ) for the SK size, while maintaining the same transmission complexity as [4,6]. The size complexity O ( log 2 n ) , however, is not small enough to be practically applied for tiny IoT devices. In the secure multicast example, the current IPv6 standard considers 2 128 users. Therefore, in the secure multicast for random devices, the system should provide a full spectrum of representations for the 128-bit address combinations. The ECU firmware case is also similar; the vehicle ECU has its own ID which usually consists of distinct 32 to 128 bits [9]. This leads the private key to grow larger than 40 KB for 32 bits or 640 KB for 128 bits, which cannot be stored in the small on-chip storage of 12 KB in ECU. In fact, it is an open problem to reduce the private key size to O ( log n ) in the SD-based BE approach. This should be achieved with a reasonable cost; Goodrich [10] proposed a symmetric BE with the SK size of O ( log n ) , but the computation cost is O ( n ) which is beyond practical (see Table 1 for details).

1.3. BESTIE with Short-Key

In this paper, we propose BESTIE, a new broadcast encryption scheme which has a short key size for tiny IoT equipment. The proposed BESTIE has a key size of O ( log n ) , which exceeds the current boundary of the key size O ( log 2 n ) among the existing subset difference-based broadcast encryptions. By applying BESTIE in the 128-bit ID systems, we can obtain a 7 KB private key (SK), which can be easily stored in the secure on-chip memory of tiny IoT equipment. Moreover, the BESTIE does not sacrifice any other factor, such as execution (encryption/decryption) times or header sizes.
The main idea to reduce the key size in the proposed scheme is to share the same random value for every key, while different random values are applied for each key in the existing subset difference-based approaches. In the original CSD scheme [3], as well as most subset difference-based schemes, O ( l ) size key is required for each bit in the ID, i.e., given a private key S K = ( S K I D 1 , , S K I D l ) , each element S K I D i contains a primary key and O ( l ) size auxiliary key for the other bit positions to build a decryption key, where l denotes the bit-length or log n (for total n users). In the existing schemes, each auxiliary key should contain an independent random value; otherwise, a combination of keys may generate an unauthorized decryption key. The proposed BESTIE devises a novel and secure way to reuse the O ( l ) auxiliary key for all primary keys. As a result, the BESTIE requires O ( log n ) size key. The detailed construction is available in Section 4.
Another interesting feature is that, unlike most existing schemes, BESTIE does not demand a public key (PK) for the decryption. Other schemes, such as SD [6] or interval schemes [2], reconstruct the corresponding decryption key from the PK, as well as the SK in the decryption phase, and thus need to maintain the PK in the device storage or receive the PK from the communication. On the other hand, since the decryption in BESTIE relies on the computation with the secret key SK only, there is no need to store the PK in the device. This indicates that BESTIE has an advantage in the PK storage and/or PK transmission overhead.

1.4. Contributions

We formally summarize the contributions of our BESTIE as follows:
  • Theoretical advance: The proposed BESTIE resolves a challenging problem to reduce the private key size to O ( log n ) in the SD-based BE approach, without sacrificing any other efficiency. Moreover, BESTIE is compatible with even CSD, which is more expressive, and is thus more compact than SD.
  • Practicality: The BESTIE is applicable to large scale IoT systems ( 2 128 devices) with a reasonable performance; it requires only 7 KB private key size while the private key size is more than 600 KB in the other existing SD-based approaches.
  • Implementation: We implement the proposed protocol on the Intel Edison 500 Mhz IoT device. The implementation result can be directly utilized for various IoT applications, such as secure multicast and ECU firmware updates.
  • Security: We prove that the BESTIE is collusion resistant and IND-sID-CPA-secure under the l-Simplified Multi-Exponent Bilinear Diffie-Hellman (l-SMEBDH) assumption (without the random oracle model). We also provide an IND-sID-CCA-secure version of the scheme.
Section 2 organizes related works. Section 3 describes a required background and definitions. We present the construction and the security proof of our proposed BESTIE in Section 4 and extend it to the CCA-secure scheme in Section 5. Section 6 analyzes experimental results. In Section 7, we draw a conclusion.

2. Related Work

The broadcast encryption (BE) is a traditional cryptographic method, and there have been a variety of researches with different features [1,4,5,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]. Known also as a revocation schemes, BE can provide efficient revocation of individual users, while letting the privileged users remain available to decrypt the broadcasted transmission. The listed categories below are the various viewpoints in BE, and every existing BE scheme has its own feature due to the different purposes.
  • Stateful vs. stateless: There are two types of BE schemes, which are stateful schemes [24,26,27] and stateless schemes [1,10,22]. In the stateful BE scheme, the key exchange occurs more than once. On the other hand, the stateless BE scheme allows the key exchange only once in the initial setup. Stateful schemes can be useful in a setting that can allow users to interact after the initial setup. However, in real practice, such as Pay-TV systems or IoT networks, once the devices are deployed, it becomes a big burden to update all keys synchronously.
  • Symmetric vs. asymmetric: The BE can be also categorized as a symmetric BE [10,25] and asymmetric BE. In the symmetric BE, only a trusted user who has a symmetric key can encrypt and broadcast the message to the receivers. An asymmetric BE, known as a public key broadcast encryption (PKBE), enables any user to broadcast the encrypted information.
It is clear that a stateful BE scheme and a symmetric BE scheme have more limitations in terms of its usage; this paper proposes a stateless public key (asymmetric) BE scheme. For a more practical use, most optimizations of BE schemes are focused on reducing header or key sizes.
  • lHeader size: The main objective of the BE research was to reduce the header size, which decides the transmission overhead. Since the header size relies on the number of subsets, there were many works that proposed subset construction/representation methods [2,10,11,22]. The most common representations were the complete subtree (CS) [11], the subset difference (SD) [11], and the interval encryption [2]. The CS method covers users with root nodes of subtrees. The SD method covers users with a subtraction of two subtrees. The interval encryption covers users with ranges of privileged users. Recently, the work of Reference [3] proposed a combinatorial subset difference (CSD), which covers users with a subtraction of two non-hierarchical bit-labels. The SD scheme has a header size of 4 r , the interval scheme has a header size of 3 r , and the CSD scheme has a header size of 2 r , each for the worst cases when r is the number of revoked users.
  • Key size: Some works have focused on reducing the PK/SK size of BE, although there usually is a trade-off between the size and the encryption/decryption time. The work of Reference [6] has succeeded on reducing the SK size to the order of O ( log 2 n ) in the subset difference. The interval scheme also obtained an order of O ( log 2 n ) for the SK size. Until now, even a symmetric key BE (which is limited, but more generally efficient) has a boundary of O ( log 2 n ) for the size of SK.

2.1. SD-Based BE

Among the existing BE schemes, our main focus is on the SD-based methods (e.g., SD, interval, CSD), which achieves the header size of O ( r ) . In methods that do not use SD, the header size is impractical since it depends on the number of total users n instead of the number of revocation r. For instance, Boneh et al. [5] proposed a notable scheme which covers the users as groups of indices; their general construction gains the header size of O ( n ) (PK size: O ( n ) , SK size: O ( 1 ) , encryption time: O ( n ) , decryption time: O ( n ) ). However, in general practice, the revocation tends to remain small while the total user grows large in various applications: the number of revocation r is much smaller than the n .
Table 1 shows the order of costs in SD-based BE schemes that achieve the header (CT) size of O ( r ) , where n is the number of total users, and r is the number of revoked users. NNL’01 [11] is the original SD scheme which is a symmetric key BE. DF’02 [4] proposed a transformation technique that converts a symmetric key BE to public key BE by utilizing hierarchical identity-based encryption (HIBE); the shown results are obtained by applying the BBG-HIBE [20] scheme to the NNL’01. (DF’02 [4] states O ( 1 ) PK size and O ( log 2 n ) SK size, but it refers to the HIBE keys; remind that the BBG-HIBE key has O ( log n ) elements). Lin’10 [2] refers to the interval encryption, which is similar to the SD in a way that the users are represented in a binary tree; the secret key size is O ( log 2 n ) . LKLP’14 [6] proposes a more efficient SD scheme with utilizing the random oracle, which also achieves the secret key size of O ( log 2 n ) . GST’04 [10] is a symmetric key BE which focuses on the O ( log n ) SK size. However, it sacrifices the decryption time to O ( n ) , or increase CT size and encryption time by a given constant k to mitigate the decryption time. Compared with all existing SD-based BE schemes, BESTIE is the first approach to obtain a O ( log n ) SK size while providing overall decent performance. Moreover, since BESTIE does not sacrifice any other factors, it retains a small CT size, a small PK size, and fast encryption/decryption performance.

2.2. Attribute-Based Encryption

From a high-level perspective, BE can be considered as a special case of attribute-based encryption (ABE) [28,29,30,31]; if we let each bitwise ID be an attribute and define subset inclusion as an access policy of ciphertext-policy ABE (CP-ABE), it can provide the same functionality of BE. However, as most general cases are not as efficient as special cases, ABE cannot achieve time and size costs comparable to BE. For instance, in the CP-ABE with constant-size ciphertext [31], the key size grows linear to the number of attributes. Since the access policy requires a bitwise representation of the ID and subsets, the key size roughly grows to O ( 2 n ) , which is beyond practical.

3. Preliminaries

In this section, we provide backgrounds and preliminary definitions. Section 3.1 describes the basic definition of public key broadcast encryption (PKBE). Section 3.2 defines the formal security model for our proposed system. Section 3.3 gives a remark for the mathematical background about bilinear maps and pairings in elliptic curve groups. In Section 3.4, we describe the cryptographic assumption which our system is based on. Section 3.5 gives a summary for the combinatorial subset difference, which is a subset cover method our system adopts.

3.1. Public Key Broadcast Encryption

In a public key broadcast encryption (PKBE) system, the original message m is commonly encrypted to C K , which is often called the broadcast body, with a simple symmetric key algorithm (e.g., AES block cipher). Then, the symmetric key M is encrypted with the PKBE encryption, so that the legitimate receivers can obtain the symmetric key M and use it for the symmetric decryption of C K to obtain m. In the following decryption of BE systems, the symmetric key M is considered as a message; the symmetric key encryption/decryption process (i.e., m, C K ) is common and often omitted in BE schemes.
The PKBE encryption is required for each subset, and the header (or the broadcast ciphertext) H d r for each subset is collected into a vector { H d r } = { ( S i , H d r S i ) } i = 1 w where w is the number of total subsets. A legitimate user decrypts the message by looking for the H d r S i corresponding to the subset S i where it belongs to, obtaining M from H d r S i with the PKBE decryption, and finally decrypting the message m from the broadcast body C K . Formally, a PKBE system Π consists of four algorithms:
Setup ( l , λ )
takes user’s ID bit-length l and session key length λ as inputs. It outputs public parameters P K and a master key M K .
KeyGen ( I D , M K , P K )
takes user’s l-bit I D , master key M K , and public key P K as inputs. It outputs a private key set S K I D .
Encrypt ( S , P K , M )
takes a subset S, and a public key P K and a message M as inputs. It outputs a broadcast ciphertext H d r S for the subset S.
Decrypt ( S , I D , S K I D , H d r S )
takes a subset S, a user id I D { 0 , 1 } l , private key S K I D for user I D , and a header H d r S as inputs. If I D S , then it outputs message M.
The system is correct if every user in S can get the message M. Namely, for all S and all I D S , if ( P K , M K ) Setup ( l , λ ) , S K I D KeyGen ( I D , M K , P K ) , and H d r S Encrypt ( S , P K , M ) then Decrypt ( S , I D , S K I D , H d r S ) extracts M.

3.2. Security Model

In this section, we describe a selective semantic security (IND-sID-CPA) and a selective CCA-security (IND-sID-CCA) for broadcast encryption as in Reference [3,5]. Depending on whether the number of challenged sets is represented as a single subset or as multiple subsets, we separate security notions as a single-set security and a multi-set security. Consequently, the single-set security implies a multi-set security as shown in Reference [3].
The single-set security is defined as a following game between an adversary A and a challenger C . Both C and A are given l and λ , the user ID length and the key length, respectively, as inputs. Note that the collusion resistance is straightforward, since the secret keys for all users (except the selected target) are distributed before the challenge.
Init: 
Algorithm A outputs a set S * of users to attack.
Setup: 
The challenger C performs Setup ( l , λ ) to obtain a public key P K and a master key M K .
KeyGen: 
The challenger C runs KeyGen ( I D , M K , P K ) to obtain private keys S K 0 l , ⋯, S K 1 l . C then provides A with the public key P K and all private keys S K I D for I D S * .
Phase 1: 
(optional for CCA) Attacker A adaptively issues decryption queries q 1 , , q d where a decryption query consists of the triple ( S , I D , H d r S ) with S S * and I D S . C responds with Decrypt ( S , I D , S K I D , H d r S ) .
Challenge: 
For the challenge, algorithm A outputs two messages M 0 and M 1 . C picks ξ { 0 , 1 } , encrypts the message M ξ by running Encrypt ( S * , P K , M ξ ) to obtain H d r S * , and gives H d r S * to the attacker A .
Phase 2: 
(optional for CCA) Attacker A continues to adaptively issue decryption queries q d + 1 , ⋯, q D where a decryption query consists of ( S , I D , H d r S ) with S S * and I D S . The only constraint is that H d r S H d r S * . C responds as in query phase 1.
Guess: 
Attacker A produces its guess ξ { 0 , 1 } for ξ and wins the game if ξ = ξ .
Let AdvSSBr A , Π ( l , λ ) be the advantage that A wins the above game.
Definition 1. 
A public key broadcast encryption Π is ( t , ϵ , l , λ ) -single-set-CPA secure if for every t-time adversary A we have that | AdvSSBr A , Π ( l , λ ) 1 / 2 | < ϵ.
Definition 2. 
A public key broadcast encryption Π is ( t , ϵ , l , λ , d , D ) -single-set-CCA secure if | AdvSSBr A , Π ( l , λ ) 1 / 2 | < ϵ for every t-time adversary A with at most D decryption queries.
The multi-set security game is defined similar to the single-set security game, except the challenged set is given as multiple subsets.
Init: 
Algorithm A outputs a set S * = { S 1 * , , S w * } of users to attack.
Setup: 
The challenger C executes Setup ( l , λ ) to obtain a public key P K and a master key M K .
KeyGen: 
The challenger C runs KeyGen ( I D , M K , P K ) to obtain private keys S K 0 l , ⋯, S K 1 l . C gives A all private keys S K I D for I D S i * where i = 1 , , w .
Phase 1: 
(optional for CCA) Attacker A adaptively issues decryption queries q 1 , , q d where a decryption query consists of the triple ( S , I D , H d r S ) with S S * and I D S . C responds with Decrypt ( S , I D , S K I D , H d r S ) .
Challenge: 
For the challenge, algorithm A outputs two messages M 0 and M 1 . C picks ξ { 0 , 1 } , encrypts the message M ξ by running Encrypt ( S i * , P K , M ξ ) to obtain H d r S i * for i = 1 , , w , and gives all H d r S i * to the attacker A .
Phase 2: 
(optional for CCA) Attacker A continues to adaptively issue decryption queries q d + 1 , ⋯, q D where a decryption query consists of ( S , I D , H d r S ) with S S * and I D S . The only constraint is that H d r S i H d r S i * . C responds as in query phase 1.
Guess: 
Attacker A provides its guess ξ { 0 , 1 } for ξ and wins the game if ξ = ξ .
Let AdvMSBr A , Π ( l , λ ) be the advantage that A wins the above game.
Definition 3. 
A public key broadcast encryption Π is ( t , ϵ , l , λ ) -multi-set-CPA secure if | AdvMSBr A , Π ( l , λ ) 1 / 2 | < ϵ for every t-time adversary A .
Definition 4. 
A public key broadcast encryption Π is ( t , ϵ , l , λ , d , D ) -multi-set-CCA secure if for every t-time adversary A with at most D decryption queries we have that | AdvMSBr A , Π ( l , λ ) 1 / 2 | < ϵ .
In Reference [3], it is shown that the single-set security implies the multi-set security.
Theorem 1
([3]). Suppose the public key broadcast encryption Π is ( t , ϵ , l , λ ) -single-set-CPA secure ( ( t , ϵ , l , λ , d , D ) -single-set-CCA secure). Then, public key broadcast encryption Π is ( t , ϵ , l , λ ) -multi-set-CPA secure ( ( t , ϵ , l , λ , d , D ) -multi-set-CCA secure) for ϵ < ϵ * w , where w is the number of subsets.

3.3. Bilinear Groups

We briefly examine bilinear maps and bilinear map groups. We adopt the following notation [32,33,34].
  • G 1 , G 2 and G T are (multiplicative) cyclic groups of prime order p.
  • g 1 and g 2 are generators of G 1 and G 2 , respectively.
  • e : G 1 × G 2 G T denotes a bilinear map.
Let G 1 , G 2 , and G T be groups as above. A bilinear map is a map e : G 1 × G 2 G T with satisfying the following properties:
  • Bilinear: for all u G 1 , v G 2 and a , b Z p , we have e ( u a , v b ) = e ( u , v ) a b
  • Non-degenerate: e ( g 1 , g 2 ) 1 .
We say that G 1 and G 2 are bilinear groups if the group action in G 1 and G 2 can be computed efficiently and there exist a group G T and an efficiently computable bilinear map e : G 1 × G 2 G T as above.

3.4. Computational Complexity Assumptions

The security of our system is based on a complexity assumption called q-simplified multi exponent bilinear Diffie-Hellman (q-SMEBDH) assumption. The q-SMEBDH assumption was originally introduced in Reference [6], but without formal analysis on the hardness of the assumption. In this paper, we formally show that the q-SMEBDH is a weaker assumption than the q-bilinear Diffie-Hellman exponent known as q-BDHE, by reducing q-SMEBDH to the q-BDHE.
Assumption 1. 
(q-Simplified Multi-Exponent Bilinear Diffie-Hellman, q-SMEBDH). Let ( p , G 1 , G 2 , G T , e ) describe the bilinear group of prime order p with the security parameter λ. Let g 1 and g 2 be generators of G 1 and G 2 , respectively. The q-SMEBDH assumption is that, if the challenge tuples P = ( ( p , G 1 , G 2 , G T , e ) , g 1 , g 2 , g 1 c , g 2 c , { g 1 a i , g 2 a i , g 1 b / a i , g 2 b / a i } 1 i q , { g 1 b a i / a j , g 2 b a i / a j } 1 i , j , i j , q ) and T are given, no PPT algorithm B can distinguish T = T 0 = e ( g 1 , g 2 ) b c from T = T 1 = e ( g 1 , g 2 ) d with more than a negligible advantage. The advantage of B is defined as A d v B q S M E B D H ( λ ) = P r [ B ( P , T 0 ) = 0 ] P r [ B ( P , T 1 ) = 0 ] , where the probability is taken over the random choice of a 1 , , a l , b , c , d Z p .
We prove that the q-SMEBDH is weaker than the well-known q bilinear Diffie-Hellman exponent assumption (q-BDHE). The (decisional) q-BDHE problem is stated as follows [5,20,35,36]: given a vector of elements,
( g 1 , h 1 , { g 1 α i } i [ 2 q ] , i q + 1 , g 2 , h 2 , { g 2 α i } i [ 2 q ] , i q + 1 ) G 1 2 q + 1 × G 2 2 q + 1
as input, it should be hard to distinguish e ( g 1 , h 2 ) α q + 1 ( = e ( h 1 , g 2 ) α q + 1 ) from random where log g 1 h 1 = log g 2 h 2 .
Lemma 1. 
If there is an adversary A which solves a q-SMEBDH problem with ϵ advantage in time τ, then there is an adversary which solves a q-BDHE problem with ϵ advantage in time τ + q 2 .
Proof. 
We will reduce a q-BDHE problem to a q-SMEBDH problem. Assume that ( g 1 , { g 1 α i } i [ 2 q ] , i q + 1 , g 2 , h , { g 2 α i } i [ 2 q ] , i q + 1 ) is given. To reduce it to q-SMEBDH, choose random exponents v 1 , , v q Z p . Let a i = α i · v i . Let b = α q + 1 .
g 1 a i = g 1 α i v i . g 2 a i = g 2 α i v i . g 1 b / a i = g 1 α q + 1 i v i 1 . g 2 b / a i = g 2 α q + 1 i v i 1 . g 1 b a j / a i = g 1 α q + 1 + j i v j v i 1 . g 2 b a j / a i = g 2 α q + 1 + j i v j v i 1 .
Note that, since i j , q + 1 + j i q + 1 and 2 q + 1 + j i 2 q . Let g 1 c = h 1 and g 2 c = h 2 .
If, for a given q-SMEBDH, there is an adversary A which decides whether T = e ( g 1 b , g 2 c ) with ϵ advantage, then using A , we can decide whether T = e ( g 1 , h 2 ) α q + 1 with ϵ advantage since e ( g 1 , h 2 ) α q + 1 = e ( g 1 , g 2 c ) b .  □

3.5. Combinatorial Subset Difference

The subset cover representation method of our system is based on the combinatorial subset difference (CSD) proposed in Reference [3]. The CSD uses a more general, thus, more compact representation method which is extended from the subset difference (SD). The subset difference is the most common representation method in the broadcast encryption (BE) in literature, which denotes a subset with a difference of two subtrees. To be more specific, the SD method constructs a binary tree by mapping the users to the leaf nodes, and represents the subset of privileged users by subtracting the two complete subtrees denoted as the root node of each subtree (i.e., ( C L , R L ) , where C L is a covered set, and R L is a revoked set).
CSD [3] is a more universal type of representation method that consists of a subtraction of two non-hierarchical labels. It is similar to the SD method, but C L and R L are no longer subtrees; labels are bit-strings which consist of { 0 , 1 , * } , where a wildcard * includes both 0 and 1. CSD is a more generalized expression compared to the SD and includes all possible SD combinations. The number of subsets in CSD is always smaller than that of SD, or at least the same. The header sizes in CSD are 2 r in the worst case, while they are 4 r in the SD in the worst case (r = the number of revoked users).
A secure and efficient BE construction compatible with CSD is more challenging than a construction based on SD. Since the key structure is not bound to the tree structure anymore, there are more representation cases that a privileged user has to decrypt using its key. Thus, the BE scheme with CSD may cause key size growth to cover additional cases and is even harder to reduce the key size. In this paper, we propose the first BE scheme, which minimizes the key size to be logarithmic and is compatible with even CSD, as well as SD.

4. Proposed Broadcast Encryption Scheme

In this section, we propose BESTIE, a broadcast encryption scheme applicable to tiny IoT equipment and prove its security. In Section 4.1, we describe our intuitions of how to compress the key size. We construct our proposed BE scheme in Section 4.2, analyze the complexity in Section 4.3, and prove its security in Section 4.4.

4.1. Main Idea

Before the formal description, we informally elaborate a sketch of the idea that lies behind the BESTIE. The main contribution of the BESTIE is to compress the private key size from O ( log 2 n ) to O ( log n ) .
As mentioned in Section 1, most subset difference-based schemes require O ( l ) size key for each bit in the ID. i.e., given a private key S K = ( S K I D 1 , , S K I D l ) , each element S K I D i contains a primary key, and O ( l ) size auxiliary key. In the existing schemes, each auxiliary key should contain an independent random value; otherwise, a combination of keys may generate an unauthorized decryption key.
In Reference [3], the CSD subset is represented as ( C L , R L ) where C L is a covered set and R L is a revoked set and a user with an ID should be able to construct its decryption key only if it belongs to the covered set but NOT to the revoked set, i.e., I D C L and I D ¬ R L . The combination of key elements derives a decryption key. However, the combination should be performed in a restricted way to prevent from generating any unauthorized decryption key. To ensure that the combination generates only legitimate keys, the scheme has the auxiliary keys with different random exponents r i for each primary key. The resulting S K for the user with I D = I D 1 I D l in the CSD is summarized as follows.
S K I D i = { g α ( k i , I D ¯ i ) r i } { k j , 0 r i , k j , 1 r i | j i , j [ 1 , l ] } ,
where sets { g α ( k i , I D ¯ i ) r i } and { k j , 0 r i , k j , 1 r i | j i , j [ 1 , l ] } include a primary key and auxiliary keys, respectively.
Thus, the key size becomes O ( log 2 n ) , since i [ 1 , l ] . (i.e., O ( log n ) per combination × log n combinations). Existing subset difference-based BE schemes [2,6] have the similar approach. Hence, the known lower key size bound has been O ( log 2 n ) .
In our approach, we detach k i , I D ¯ i from the primary key g α ( k i , I D ¯ i ) r i of S K I D i in Equation (1) by splitting the master key α into a pair ( α α w , α w ), and apply the same random r to the auxiliary keys as follows:
S K I D = { g α α w ( ) r } { g α w k j , I D ¯ j r , k j , I D j r | j [ 1 , l ] } .
Now, the key is divided into two parts such that a decryption key can be constructed only if both conditions I D C L and I D ¬ R L are satisfied. Note that, if at least a single bit in ID is different from R L (i.e., I D R L ), then g α w and g α α w can be combined, outputting the decryption key g α .
The full construction is more complex, and we describe it in the next section.

4.2. Construction

In this section, we describe the formal construction of the proposed BESTIE, which is a public key broadcast encryption scheme. As defined in Section 3.1, the public key broadcast encryption can allow any user (or device) to broadcast messages. When the system begins, each user is grouped into a specific subset. To broadcast the message, the broadcaster needs to run encryption for each subset to obtain subset header.
Figure 2 visualizes the overall workflow of the public key broadcast encryption. The manager runs the setup to initiate the system, publishes the public key P K , and keeps the master secret key M K . Then, by using M K , the manager runs key generation for each device and provides corresponding secret keys S K I D . When a device wants to broadcast a message, it runs encryption for each subset to obtain corresponding header, and gathers all headers to broadcast the vector of headers. When a device receives the headers, it searches the header for its own subset, and runs decryption with the header and its own secret key to obtain the message.
In the following construction, we denote I D i , C L i , and R L i the ith bit of a bit-string I D , C L , and R L , respectively. In addition, we denote H ( I D ) = h 0 i = 1 l h i , I D i , K ( I D ) = k 0 i = 1 l k i , I D i , h i , * = h i , 0 · h i , 1 and k i , * = 1 .
Setup( l , λ ):
This algorithm first generates the bilinear groups G 1 , G 2 of prime order p of bit size θ ( λ ) . It selects random elements g 1 G 1 and g 2 G 2 . It selects a random exponent α Z p . It chooses O ( l ) random group elements h 0 , h 1 , 0 , h 1 , 1 , , h l , 0 , h l , 1 , k 0 , k 1 , 0 , k 1 , 1 , , k l , 0 , k l , 1 G 1 . It outputs a master key M K = g 1 α and a public key as
P K = ( ( p , G 1 , G 2 , G T , e ) , g , h 0 , h 1 , 0 , h 1 , 1 , , h l , 0 , h l , 1 , k 0 , k 1 , 0 , k 1 , 1 , , k l , 0 , k l , 1 , Ω = e ( g 1 , g 2 ) α ) .
KeyGen( I D , M K , P K ):
This algorithm takes as input I D = I D 1 I D l , the master key M K , and the public key P K . It chooses random exponents α w and r Z p and outputs a private key S K I D as
S K I D = ( x 0 , x 1 , , x l , y 0 , y 1 , y 2 l , z ) = ( g 1 α α w H ( I D ) r , h 1 , I D ¯ 1 r , , h l , I D ¯ l r , k 0 r , g 1 α w k 1 , I D ¯ 1 r , k 1 , I D 1 r , , g 1 α w k l , I D ¯ l r , k l , I D l r , g 2 r ) .
Encrypt( S , P K , M ):
This algorithm takes S = ( C L , R L ) = ( C L 1 C L l , R L 1 R L l ) as input labels, the public key P K , and a message M G T as inputs. It selects a random exponent t Z p and outputs a ciphertext by implicitly including S = ( C L , R L ) as
H d r S = { C 0 = Ω t · M , C 1 = g 2 t , C 2 = H ( C L ) t , C 3 = K ( R L ) t } .
Decrypt( S , I D , S K I D , H d r S ):
This algorithm takes a subset S = ( C L , R L ) , a user’s I D , a private key S K I D , and a ciphertext H d r S for S as inputs. Let P = { i | I D i R L i R L i * } and Q = { i | I D i = R L i R L i * } . Let d denote the number of bits, which, in I D , are different from R L or d = | P | .
If d > 0 , it parses S K I D = ( x 0 , x 1 , , x l , y 0 , y 1 , y 2 l , z ) .
Then, it computes
x = x 0 C L i = * x i y = ( y 0 i P y 2 i 1 i Q y 2 i ) d 1
and outputs a message as
M = C 0 · e ( x · y , C 1 ) 1 · e ( C 2 · C 3 d 1 , z ) .
Otherwise, it outputs ⊥.
The correctness is verified by the following equation.
x = x 0 C L i = * x i = g 1 α α w ( h 0 i = 1 l h i , I D i ) r · C L i = * h i , I D i ¯ r = g 1 α α w ( h 0 C L i * h i , I D i C L i = * h i , * ) r = g 1 α α w H ( C L ) r y = ( y 0 i P y 2 i 1 i Q y 2 i ) d 1 = ( k 0 r g 1 α w d R L i * k i , R L i r ) d 1 = g 1 α w ( k 0 R L i * k i , R L i ) r d 1 = g 1 α w K ( R L ) r d 1 .
Since x = g 1 α α w H ( C L ) r , y = g 1 α w K ( R L ) r d 1 , and x · y = g 1 α H ( C L ) r K ( R L ) r d 1 ,
e ( x · y , C 1 ) e ( C 2 · C 3 d 1 , z ) = e ( g 1 α H ( C L ) r K ( R L ) r d 1 , g 2 t ) e ( H ( C L ) t K ( R L ) t d 1 , g 2 r ) = e ( g 1 , g 2 ) α t = Ω t .

4.3. Complexity Analysis

In this section, we analyze the complexity of the key sizes and the execution time of the proposed public key broadcast encryption scheme. The main complexity relies on the parameter l, which is the number of bits for total users n (or log n ).
For the key sizes, the public key size requires four fixed elements g , h 0 , k 0 , Ω and l elements h i , 0 , h i , 1 , k i , 0 , k i , 1 , which is total 2 l + 4 elements where the default element size is 20 bytes. The secret key requires total 2 l + 3 elements where the default element size is 20 bytes, which reduces the order to O ( l ) or O ( log n ) . The header size for a single subset requires four fixed elements, which is constant-size.
For the execution time, the encryption time for a single subset requires four elliptic curve computations, which is almost negligible as O ( 1 ) . Since the number of subsets depend on the subset representation, the complexity is determined by the number of subsets in the CSD, which is O ( r ) . The decryption time requires O ( l ) computations, which is O ( log n ) for n total users.

4.4. Security Proof

Theorem 2. 
Let G 1 and G 2 be bilinear groups of prime order p. Suppose the (decision) ( t , ϵ , 4 q ) -SMEBDH assumption holds in G 1 × G 2 . Then, the proposed public key broadcast encryption system is ( t , ϵ , q , λ ) semantically secure for arbitrary q, and t < t + O ( e q 2 ) , where e is the maximum time for an exponentiation in G 1 and G 2 .
Proof. 
Suppose A has advantage ϵ in attacking the proposed public key broadcast encryption system. Using A , we construct an algorithm B that solves the (decision) 4 q -SMEBDH problem.
For generators g 1 G 1 and g 2 G 2 , and b Z p , algorithm B is given as input random tuples P = ( ( p , G 1 , G 2 , G T , e ) , g 1 , g 2 , { g 1 a i , g 2 a i , g 1 b / a i , g 2 b / a i } 1 i 4 q , { g 1 b a i / a j , g 2 b a i / a j } 1 i , j , i j , 4 q , g 1 c , g 2 c ) and T that is either sampled from P S M E B D H (where T = e ( g 1 , g 2 ) b c ) or from R S M E B D H (where T is uniform and independent in G T ). Algorithm B ’s goal is to output 1 when the input tuple T is sampled from P S M E B D H and 0 otherwise. Note that we let l = q in this proof. Algorithm B interacts with A in a selective subset game as follows:
Init:
The game begins with A outputting a subset S * = ( C L * , R L * ) to attack where C L * , R L * { 0 , 1 , * } l .
Setup:
To generate the public key, algorithm B chooses random exponents γ 1 , γ 2 , v 1 , v 4 l Z p , and sets h i , j = g 1 a 2 i 1 + j · g 1 v 2 i 1 + j , k i , j = g 1 a 2 l + 2 i 1 + j · g 1 v 2 l + 2 i 1 + j for i { 1 , , l } and j { 0 , 1 } , h 0 = ( i = 1 l h i , C L i * ) 1 · g 1 γ 1 and k 0 = ( i = 1 l k i , R L i * ) 1 · g 1 γ 2 . Let α = b .
KeyGen:
To generate a private key S K I D for user I D { 0 , 1 } l , algorithm B considers the following three cases.
(i)
I D C L * :
Algorithm B chooses random exponents r and α w Z p and sets r = b a 2 j 1 + I D j + r where I D j C L j * .
Algorithm B can easily compute g 1 v i r ,
since g 1 v i r = g 1 b a 2 j 1 + I D j · v i · g 1 v i r .
Algorithm B computes x 0 as follows:
i = 1 l h i , I D i r = i = 1 l ( g 1 a 2 i 1 + I D i ) b a 2 j 1 + I D j + r · g 1 v 2 i 1 + I D i r = i = 1 , i j l g 1 b · a 2 i 1 + I D i a 2 j 1 + I D j · g 1 b · i = 1 l ( g 1 a 2 i 1 + I D i ) r · g 1 v 2 i 1 + I D i r .
h 0 r = ( ( i = 1 l h i , C L i * ) 1 · g 1 γ 1 ) r = ( i = 1 l g 1 a 2 i 1 + C L i * · g 1 γ 1 ) b a 2 j 1 + I D j + r · g 1 v 2 i 1 + C L i * r = i = 1 l g 1 b · a 2 i 1 + C L i * a 2 j 1 + I D j · g 1 b a 2 j 1 + I D j γ 1 · g 1 v 2 i 1 + C L i * r · h 0 r .
x 0 = g 1 α α w H ( I D ) r = g 1 b α w · h 0 r · i = 1 l h i , I D i r = g 1 b α w i = 1 l g 1 b · a 2 i 1 + C L i * a 2 j 1 + I D j · g 1 b a 2 j 1 + I D j γ 1 · g 1 v 2 i 1 + C L i * r · h 0 r · i = 1 , i j l g 1 b a 2 i 1 + I D i a 2 j 1 + I D j · g 1 b · i = 1 l ( g 1 a 2 i 1 + I D i ) r · g 1 v 2 i 1 + I D i r = g 1 α w i = 1 l g 1 b · a 2 i 1 + C L i * a 2 j 1 + I D j · g 1 b a 2 j 1 + I D j γ 1 · h 0 r · i = 1 , i j l g 1 b · a 2 i 1 + I D i a 2 j 1 + I D j · i = 1 l ( g 1 a 2 i 1 + I D i ) r · g 1 v 2 i 1 + C L i * r · g 1 v 2 i 1 + I D i r .
Algorithm B computes x i , y 0 , y i , and z as follows:
x i = h i , I D i ¯ r = g 1 a 2 i 1 + I D i ¯ · ( b a 2 j 1 + I D j + r ) · g 1 v 2 i 1 + I D i ¯ r = g 1 b · a 2 i 1 + I D i ¯ a 2 j 1 + I D j · ( g 1 a 2 i 1 + I D i ¯ ) r · g 1 v 2 i 1 + I D i ¯ r .
y 0 = k 0 r = ( ( i = 1 l k i , R L i * ) 1 · g 1 γ 2 ) b a 2 j 1 + I D j + r = i = 1 l g 1 b · a 2 l + 2 i 1 + R L i * a 2 j 1 + I D j · g 1 γ 2 · b a 2 j 1 + I D j · k 0 r · g 1 v 2 l + 2 i 1 + R L i * r
y 2 i 1 = g 1 α w k i , I D i ¯ r = g 1 α w · g 1 b · a 2 l + 2 i 1 + I D i ¯ a 2 j 1 + I D j · ( g 1 a 2 l + 2 i 1 + I D i ¯ ) r · g 1 v 2 l + 2 i 1 + I D i ¯ r .
y 2 i = k i , I D i r = g 1 b · a 2 l + 2 i 1 + I D i a 2 j 1 + I D j · ( g 1 a 2 l + 2 i 1 + I D i ) r · g 1 v 2 l + 2 i 1 + I D i r .
z = g 2 r = g 2 b a 2 j 1 + I D j + r = g 2 b a 2 j 1 + I D j · g 2 r .
(ii)
I D C L * and I D R L * :
Algorithm B selects random exponents r and u Z p and sets r = j = 1 l b a 2 l + 2 j 1 + I D j ¯ + r . It sets α w = b u .
Algorithm B can compute g v i r , since g 1 v i r = g 1 j = 1 l b a 2 l + 2 j 1 + I D j ¯ · v i · g 1 v i r .
Algorithm B computes x 0 as follows:
i = 1 l h i , I D i r = i = 1 l ( g 1 a 2 i 1 + I D i ) j = 1 l b a 2 l + 2 j 1 + I D j ¯ + r · g 1 v 2 i 1 + I D i r = i = 1 l j = 1 l g 1 b · a 2 i 1 + I D i a 2 l + 2 j 1 + I D j ¯ · i = 1 l ( g 1 a 2 i 1 + I D i ) r · g 1 v 2 i 1 + I D i r .
h 0 r = ( ( i = 1 l h i , C L i * ) 1 · g 1 γ 1 ) r = ( i = 1 l g 1 a 2 i 1 + C L i * · g 1 γ 1 ) j = 1 l b a 2 l + 2 j 1 + I D j ¯ + r · i = 1 l g 1 v 2 i 1 + C L i * r = i = 1 l j = 1 l g 1 b a 2 i 1 + C L i * a 2 l + 2 j 1 + I D j ¯ · j = 1 l g 1 b a 2 l + 2 j 1 + I D j ¯ γ 1 · h 0 r · i = 1 l g 1 v 2 i 1 + C L i * r .
x 0 = g 1 α α w H ( I D ) r = g 1 u h 0 r i = 1 l h i , I D i r .
Algorithm B computes x i , y 0 , y i , and z as follows:
x i = h i , I D i ¯ r = g 1 a 2 i 1 + I D i ¯ · ( j = 1 l b a 2 l + 2 j 1 + I D j ¯ + r ) · g 1 v 2 i 1 + I D i ¯ r = j = 1 l g 1 b · a 2 i 1 + I D i ¯ a 2 l + 2 j 1 + I D j ¯ · ( g 1 a 2 i 1 + I D i ¯ ) r · g 1 v 2 i 1 + I D i ¯ r .
y 0 = k 0 r = ( ( i = 1 l k i , R L i * ) 1 · g 1 γ 2 ) j = 1 l b a 2 l + 2 j 1 + I D j ¯ + r = i = 1 l j = 1 l g 1 b · a 2 l + 2 i 1 + R L i * a 2 l + 2 j 1 + I D j ¯ · j = 1 l g 1 b a 2 l + 2 j 1 + I D j ¯ · γ 2 · k 0 r · i = 1 l g 1 v 2 i 1 + R L i * r .
Note that R L i * = I D i if R L i * * .
If R L i * = * then a 2 l + 2 i 1 + R L i * = 0 since k i , * = 1 .
y 2 i 1 = g 1 α w · k i , I D i r = g b u · g 1 j = 1 l b · a 2 l + 2 i 1 + I D i ¯ a 2 l + 2 j 1 + I D j ¯ · ( g 1 a 2 l + 2 i 1 + I D i ¯ ) r · g 1 v 2 l + 2 i 1 + I D i ¯ r = g 1 b u j = 1 , j i l g 1 b · a 2 l + 2 i 1 + I D i ¯ a 2 l + 2 j 1 + I D j ¯ · g 1 b · ( g 1 a 2 l + 2 i 1 + I D i ¯ ) r · g 1 v 2 l + 2 i 1 + I D i ¯ r = g 1 u j = 1 , j i l g 1 b · a 2 l + 2 j 1 + I D j ¯ a 2 l + 2 j 1 + I D j ¯ · ( g 1 a 2 l + 2 i 1 + I D i ¯ ) r · g 1 v 2 l + 2 i 1 + I D i ¯ r .
y 2 i = k i , I D i r = g 1 j = 1 l b · a 2 l + 2 i 1 + I D i a 2 l + 2 j 1 + I D j ¯ · ( g 1 a 2 l + 2 i 1 + I D i ) r · g 1 v 2 l + 2 i 1 + I D i r
z = g 2 r = g 2 j = 1 l b a 2 l + 2 j 1 + I D j ¯ + r = j = 1 l g 2 b a 2 l + 2 j 1 + I D j ¯ · g 2 r .
(iii)
I D C L * and I D R L * :
Algorithm B does not require the S K I D , since I D S * .
Challenge:
Algorithm A submits challenge labels ( C L , R L ) and two messages M 0 * , M 1 * . If ( C L C L * ) ( R L R L * ) , then Algorithm B aborts the simulation since it failed to guess the challenge labels. Otherwise, B flips a random coin ξ { 0 , 1 } internally. B implicitly sets t = c and creates a challenge ciphertext as
( C 0 , C 1 , C 2 , C 3 ) = ( T · M ξ * , g 2 c , ( g 1 c ) γ 1 , ( g 1 c ) γ 2 ) .
Guess:
Finally, A outputs a guess ξ { 0 , 1 } . Algorithm B concludes its own game by producing a guess as follows. If ξ = ξ then B outputs 1 meaning T = e ( g 1 , g 2 ) b c . Otherwise, it outputs 0 meaning that T is random in G T .
To complete the proof, we show that public keys, private keys, and the challenge ciphertext are correctly distributed. The public keys are correctly distributed since new random elements v i are chosen from Z p . The private keys are correctly distributed as shown in the query phase. The challenge ciphertext is correctly distributed since it satisfies the following equation:
C 0 = e ( g 1 , g 2 ) α t M ξ * = e ( g 1 , g 2 ) b c M ξ * , C 1 = g 2 t = g 2 c , C 2 t 1 = H ( C L * ) = h 0 i = 1 l h i , C L i * = ( i = 1 l h i , C L i * ) 1 g 1 γ 1 i = 1 l h i , C L i * = g 1 γ 1 , C 3 t 1 = K ( R L * ) = k 0 i = 1 l k i , R L i * = ( i = 1 l k i , R L i * ) 1 g 1 γ 2 i = 1 l k i , R L i * = g 1 γ 2 .
When the input tuple is sampled from P S M E B D H (where T = e ( g 1 , g 2 ) b c ), then A ’s view is identical to its view in a real attack game, and, therefore, A satisfies | P r [ ξ = ξ ] 1 / 2 | ϵ . When the input tuple is sampled from R S M E B D H (where T is uniform in G T ), then P r [ ξ = ξ ] = 1 / 2 . Therefore, with g 1 uniform in G 1 , g 2 uniform in G 2 , b and c uniform in Z p , and T uniform in G T , we have that
| P r [ B ( P , e ( g 1 , g 2 ) b c ) = 0 ] P r [ B ( P , T ) = 0 ] | | ( 1 / 2 + ϵ ) 1 / 2 | = ϵ
as required, which completes the proof of the theorem. □

5. CCA-Secure Broadcast Encryption

In this section, we extend our proposed BESTIE to the chosen-cipertext-secure broadcast encryption, similar to Reference [3,37] by attaching an unforgeable one-time signature scheme to the semantically secure PKBE scheme. To utilize the CCA extension in Reference [3,37], we require our broadcast encryption to support general IDs such that wildcards (*) can be used in IDs for key generation. Thus, we first describe a general ID scheme as a building block. Then, we represent a CCA-secure scheme with a complexity analysis and security proof.

5.1. General ID Scheme

In this section, we explain a general ID scheme as described in Reference [3], which can include wildcards (*) in the IDs for key generation. Similar to Section 4.2, we denote I D i , C L i , and R L i the ith bit of bit-strings I D , C L , and R L , respectively. In addition, we denote H ( I D ) = h 0 i = 1 l h i , I D i , K ( I D ) = k 0 i = 1 l k i , I D i , h i , * = h i , 0 · h i , 1 and k i , * = 1 .
Setup( l , λ ): The setup is equivalent to the main scheme in Section 4.2.
M K = g 1 α , P K = ( ( p , G 1 , G 2 , G T , e ) , g , h 0 , h 1 , 0 , h 1 , 1 , , h l , 0 , h l , 1 , k 0 , k 1 , 0 , k 1 , 1 , , k l , 0 , k l , 1 , Ω = e ( g 1 , g 2 ) α ) .
KeyGen( I D , M K , P K ): Private key generation is similar to the main scheme, except for the wildcards (*). We set h i , * = 1 and populate h i , 0 r and h i , 1 r for h i , * ¯ r . Similarly, the interpretation of k i , * covers both k i , 0 and k i , 1 . Therefore, if I D i = * , S K I D includes both g 1 α w k i , 0 r and g 1 α w k i , 1 r , as well as h i , 0 r and h i , 1 r . The key generation is summarized as follows:
S K I D = ( x 0 , x 1 , , x l , y 0 , y 1 , , y 2 l , z ) , w h e r e x 0 = g 1 α α w H ( I D ) r , x i = h i , I D ¯ i r ( 1 i l ) y 0 = k 0 r y 2 i 1 = g 1 α w k i , I D ¯ i r y 2 i = k i , I D i r ( 1 i l ) , i f I D i * y 2 i 1 = g 1 α w k i , 0 r y 2 i = g 1 α w k i , 1 r ( 1 i l ) , i f I D i = * z = g 2 r .
Encrypt( S , P K , M ): The encryption is equivalent to the main scheme in Section 4.2.
H d r S = { C 0 = Ω t · M , C 1 = g 2 t , C 2 = H ( C L ) t , C 3 = K ( R L ) t } .
Decrypt( S , I D , S K I D , H d r S ): Similar to the decryption in Section 4.2, for I D i * , let P = { i | I D i * I D i R L i R L i * } and Q = { i | I D i * I D i = R L i R L i * } . We define new sets for wildcards as P * = { I D i = * R L i = 1 } and Q * = { I D i = * R L i = 0 } .
Then, let d = | P | + | P * | + | Q * | , where | P | denotes the number of bits which in I D are different from R L , and | P * | + | Q * | indicates the number of * in I D .
If d > 0 , it parses S K I D = ( x 0 , x 1 , , x l , y 0 , y 1 , y 2 l , z ) .
Then, it computes
x = x 0 · C L i = * I D i * x i · C L i * I D i = * h i , C L i r · C L i = * I D i = * h i , 0 r h i , 1 r y = ( y 0 · i P P * y 2 i 1 · i Q Q * y 2 i ) d 1
and outputs a message as
M = C 0 · e ( x · y , C 1 ) 1 · e ( C 2 · C 3 d 1 , z ) .
Otherwise, it outputs ⊥.

5.2. CCA-Secure Scheme

In the following notation, a vector V = ( v 1 , , v n ) is interchangeably presented as v 1 v n . With vectors V = ( v 1 , , v n ) and V = ( v 1 , , v m ) , we denote the concatenation of V and V or V | | V = ( v 1 , , v n , v 1 , , v m ) .
We extend our semantically secure broadcast encryption scheme using a similar technique presented in Reference [3,37] to attain the chosen ciphertext security. We can construct an l-level public key broadcast encryption system Π = ( Setup , KeyGen , Encrypt , Decrypt ) secure against chosen-ciphertext attacks using the ( l + z ) -level Π = ( Setup , KeyGen , Encrypt , Decrypt ) semantically secure broadcast encryption scheme with a strong one-time signature scheme ( S i g K e y G e n , S i g n , V e r i f y ) with verification keys which are mapped to { 0 , 1 } z . The main idea is that I D = ( b 1 , , b l ) { 1 , 0 , * } l in Π is transformed to I D = I D | | * z = ( b 1 , , b l , * , , * ) { 1 , 0 , * } l + z in Π . Therefore, the secret key S K I D for I D in Π becomes the secret key S K I D in Π . When encrypting a message M for the I D in Π , the sender constructs a z-bit verification key V s i g = ( e 1 , , e z ) { 0 , 1 } z and then encrypts M to the I D = I D | | V s i g using Π .
For more detail, l-level Π is built using ( l + z ) -level Π and a one-time signature scheme as the following:
Setup( l , λ ): Let 2 l be the maximum number of users and l a m b d a be the session key length. Assume that the signature verification key space is { 0 , 1 } z .
Perform a semantically secure broadcast encryption scheme Π to generate the public key P K and master secret key M K , and output P K and M K .
P K , M K Setup ( l + z ) .
KeyGen( I D , M K , P K ): To generate a private key S K I D for an identity I D = b 1 b l utilizing the master secret key, encode I D to I D = I D | | z * * * . The key generation algorithm in KeyGen of Π generates the secret key S K I D .
Let S K I D = S K I D = ( S K I D , 1 , , S K I D , l + z ) and output { S K I D } I D { 0 , 1 } l .
{ S K I D } I D { 0 , 1 } l + z KeyGen ( I D , M K , P K ) .
Encrypt( S , P K , M ): Perform S i g K e y G e n ( 1 z ) algorithm to get a signature signing key K s i g and a verification key V s i g . Assume that V s i g = e 1 e z . For a given S = ( C L | | V s i g , R L | | V s i g ) , run Encrypt to obtain header H d r S and sign the header as
H d r S Encrypt ( S , P K , M ) σ S i g n ( H d r S , K s i g )
and output the tuple H d r as ( H d r S , σ , V s i g ) .
Decrypt( S , I D , S K I D , H d r ):
Parse H d r = ( ( C 0 , C 1 , C 2 , C 3 ) , σ , V s i g ) .
  • Verify if σ is valid against ( C 0 , C 1 , C 2 , C 3 ) under the key V s i g . If invalid, output .
  • Otherwise, encode I D to I D = I D | | z * * * , execute
    Decrypt ( S , I D , S K I D , H d r ) and output the message M.
Correctness can be shown with a similar computation to the one in Section 4. It is noted that the user key size is enlarged from O ( l ) to O ( l + z ) , and the header size increases by the size of a signature and a verification key.

5.3. Complexity Analysis

In this section, we analyze the complexity of the key sizes and the execution time of the proposed public key broadcast encryption scheme. The general complexity is increased from l to l + z where z is a bit-length of the one-time signature verification key, since the CCA-secure extension requires z additional depth from the original scheme.
For the key sizes, the public key size requires 2 ( l + z ) + 4 elements, and the secret key size requires 2 ( l + z ) + 3 elements. The header size is 5 fixed elements, since the CCA-secure header requires one-time signature in addition to the original header.
The encryption additionally requires one-time signature singing time and the decryption additionally requires one-time signature verifying time. However, one-time signature processing time is very fast and negligible: the execution times remain almost the same as the original CPA-secure scheme.

5.4. Security Proof

Theorem 3. 
Let G be a bilinear group of prime order p. For any integer l, the public key broadcast encryption system Π is ( t , ϵ 1 + ϵ 2 , l , λ , D ) CCA-secure if the public key broadcast encryption system Π is ( t , ϵ 1 , l + z , λ , 0 ) semantically secure in G and the signature scheme is ( t , ϵ 2 , z , 1 ) strongly existentially unforgeable. Moreover, t < t ( 2 ( l + z ) a + 2 p ) · D t s , where a is point addition time, p is pairing time, and t s presents the sum of S i g K e y G e n , S i g n and V e r i f y computation time.
Proof. 
Assume that there exists a t-time adversary A such that | A d v B r A , Π 1 / 2 | > ϵ 1 + ϵ 2 . We construct an algorithm B that has advantage | A d v B r B , Π 1 / 2 | > ϵ 1 in G . Algorithm B proceeds as following.
Init: Algorithm B performs A and receives set S * in which users A challenges on. B executes the S i g K e y G e n algorithm to obtain a signature signing key K s i g * and a verification key V s i g * { 0 , 1 } z . Let V s i g * = e 1 e z ; then, B builds S * * = { U | | V s i g * | U S * } and outputs it.
Setup: B gets the public key P K of Π from challenger C .
KeyGen: B obtains secret keys S K I D for revoked I D S * * from challenger C . Note that I D S * * iff X S * * , i , I D i X i X i * , and I D S * * iff X S * * , i , I D i = X i X i = * .
Since Π can generate secret keys using *, I D can be classified into the following two forms:
  • I D = I D | | z * * * for I D S *
  • I D = I D | | k 1 * * * e ¯ k z k * * * for I D S * and k { 1 , , z } .
Algorithm B responds with P K and secret keys S K I D of the first type of I D . Note that the secret key S K I D = S K I D where I D = I D | | z * * * . The secret keys S K I D of the second type of I D are used to respond to the decryption queries of A as following.
Phase 1: Algorithm A issues decryption queries.
Let ( I D , S , H d r ) be a decryption query where S S * and I D S . Let H d r = ( H d r S , σ , V s i g ) . Algorithm B responds as following:
  • Perform V e r i f y to check the signature σ against H d r S = ( C 0 , C 1 , C 2 , C 3 ) with verification key V s i g . If the signature is invalid, then B returns ⊥.
  • If V s i g = V s i g * , then a forge event happens, and algorithm B outputs a random bit b $ { 0 , 1 } and aborts the simulation.
  • Otherwise, B decrypts the header using the second type of secret keys.
Let V = k 1 * * * e ¯ k z k * * * , where k { 1 , , z } . Using S K I D | | V , B can obtain M Decrypt ( S , I D , S K I D | | V , H d r S ) since V s i g is covered by V.
Challenge: When A outputs M 0 and M 1 for the challenge, B bypasses them to C and gets the challenge H d r S * . To generate a challenge for A , B calculates H d r * as the following:
σ * S i g n ( H d r S * , K s i g * ) H d r * ( H d r S * , σ * , V s i g * ) .
B replies with H d r * to A .
Phase 2: Same as in query phase 1.
Guess: Algorithm A outputs a guess b { 0 , 1 } . Then, B outputs 1 if b = b , or outputs 0 otherwise.
Notice that algorithm B can simulate all queries to run A , B ’s success probability as the following:
| A d v B r B , Π 1 2 | | A d v B r A , Π 1 2 | P r [ forge ] > ( ϵ 1 + ϵ 2 ) P r [ forge ] .
It is required to compute the probability of B aborting the simulation as a result of a forge to conclude the proof of Theorem 3. We argue that P r [ forge ] < ϵ 2 . Otherwise one can utilize A to forge signatures with a probability of at least ϵ 2 . Shortly, we can build another simulator that knows the private key, but receives K s i g * as a challenge in an existential forgery game. In the above experiment, A aborts by submitting a query that includes an existential forgery under K s i g * on some ciphertexts. Our simulator can use this forgery to win the existential forgery game. During the game the adversary makes only one chosen message query to generate the signature for the challenge ciphertext. Hence, P r [ forge ] < ϵ 2 . It now follows that B ’s advantage is at least ϵ 1 , as required.  □

6. Experiment

In this section, we show and compare the implementation results by constructing the BESTIE protocol on the real IoT system, which can let many useful IoT applications, such as secure multicast, be available. We present the experimental results in terms of three main factors—the ciphertext header size, the execution time, and the key size—in the proposed scheme (BESTIE) and existing PKBE schemes. We programmed and tested the BESTIE and other schemes on the Intel Edison board environment with a 32-bit 500 Mhz processor, which is commonly utilized as a small IoT device. We performed real encryption protocols based on ublinux 3.10.17 system and pairing-based cryptography (PBC) library (element type set as type F, or f p a r a m , which is size-friendly), from setup to encryption/decryption, and measured the time and size of parameter results.
The number of subsets define the ciphertext header sizes in broadcast encryptions. Figure 3 and Figure 4 compares the number of subsets in the BESTIE, CSD [3], SD [4], and interval schemes [2]. Note that the header sizes are equivalent in BESTIE and CSD since they share the same CSD representation method. In Figure 3, the y axis represents the number of subsets as varying the number of randomly chosen revoked users (x axis) varies. The number of total users is 2 128 . The result shows that the number of subsets is strictly linear to the number of revoked users. In Figure 4, instead of a random revocation, we vary the number of randomly chosen secure multicast subsets. Secure multicast subsets are non-hierarchical subsets that include wildcards (*) in the middle of covering labels (e.g., 1 * * 01 10 * * 1 ). BESTIE,CSD-15, SD-15, and Interval-15 indicate 2 15 total users. BESTIE, CSD-20, SD-20, and Interval-20 indicate 2 20 total users. Since the CSD representation supports a non-hierarchical representation (* can be placed anywhere), it can cover the non-hierarchical example within a single CSD subset; the number of subsets in BESTIE and CSD is identical to the number of non-hierarchical groups. However, the number of subsets in the SD and interval schemes is large since they only support hierarchical representations.
Figure 5 represents the encryption time in the BESTIE, CSD, and interval schemes by measuring the time of encrypting a fixed message with using each protocol. The y-axis represents the encryption time measured in seconds, and the x-axis represents the bit-length of users. The SD scheme follows the encryption of Reference [20], thus it requires point exponentiation for the increasing bit-length. In the figure, the encryption time in SD increases dramatically when the bit-length gets longer. The results show that, other than the SD scheme, the encryption time remains similar, and BESTIE shows the best encryption performance among the BE schemes.
Figure 6 represents the decryption time in the BESTIE, CSD, and interval schemes, by measuring the time of decrypting a fixed message with using each protocol. Since the decryption is generally performed in a slow IoT (or embedded) system, the decryption performance should be improved. Since the decryption algorithm mostly performs multiplication of secret keys with constant number of pairings and exponentiations in BESTIE and CSD, the decryption time does not increase as the number of users increases. On the other hand, since the interval scheme performs key derivation using a public parameter for decryption, the decryption time is proportional to the depth of users. Hence, BESTIE and CSD are IoT-friendly PKBE schemes in decryption.
Table 2 shows the public key and secret key size in the bestie, CSD, SD, and interval schemes. When the number of users is 2 128 , BESTIE requires 7.56 KB of SK storage, while CSD, SD, and interval schemes require 960 KB, 40,960 KB, and 640 KB, respectively. Overall, the encryption and decryption performance results show that the BESTIE achieves the fastest encryption and decryption time both less than 200 ms; it indicates that the performance overhead is not an issue in the IoT implementation. The main issue is the secret key size: The key storage sizes in most resource-constrained devices are less than 8 KB. The key size results show that the BESTIE achieves the smallest key size due to the smaller order of O ( log n ) , which is the only available result for the restricted key storages in IoT devices.

7. Conclusions

This paper proposes a broadcast encryption scheme for tiny IoT equipment (BESTIE) that reduces the key size suitable for a large scale IoT systems. The proposed BESTIE is a public key broadcast encryption scheme for the combinatorial subset difference (CSD) representation. BESTIE has the most efficient ciphertext header size, which is 2 r in the worst case, where r is the number of revoked users. Most importantly, BESTIE is the first scheme to reduce a key size to O ( log n ) from O ( log 2 n ) , which was the minimal key size in existing subset difference-based approaches, without sacrificing any other factor.
The experimental results show that the BESTIE has the best performance in key generation, encryption, and decryption. Furthermore, in BESTIE the SK size is no more than 7 KB, even for the IPv6 128 bit settings (or 2 128 devices). We prove that the proposed BESTIE is secure under q-Simplified Multi-Exponent Bilinear Diffie-Hellman (q-SMEBDH) assumption without the random oracle model.

Author Contributions

Conceptualization, J.K. and H.O.; methodology, J.K. and H.O.; software, J.L.; validation, J.L.; writing—original draft preparation, J.L; writing—review and editing, J.K., J.L., and H.O. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported by Institute of Information & communications Technology Planning & Evaluation (IITP) grant funded by the Ministry of Science and ICT Korea (2017-0-00661, 2016-6-00599).

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Naor, M.; Pinkas, B. Efficient trace and revoke schemes. In Financial Cryptography; Springer: Berlin/Heidelberg, Germany, 2001; pp. 1–20. [Google Scholar]
  2. Lin, H.; Cao, Z.; Liang, X.; Zhou, M.; Zhu, H.; Xing, D. How to construct interval encryption from binary tree encryption. In Proceedings of the International Conference on Applied Cryptography and Network Security, Beijing, China, 2–25 June 2010; Springer: Berlin/Heidelberg, Germany, 2010; pp. 19–34. [Google Scholar]
  3. Lee, J.; Lee, S.; Kim, J.; Oh, H. Combinatorial Subset Difference—IoT-Friendly Subset Representation and Broadcast Encryption. Sensors 2020, 20, 3140. [Google Scholar] [CrossRef] [PubMed]
  4. Dodis, Y.; Fazio, N. Public Key Broadcast Encryption for Stateless Receivers. In ACM Workshop on Digital Rights Management; Feigenbaum, J., Ed.; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2002; Volume 2696, pp. 61–80. [Google Scholar]
  5. Boneh, D.; Gentry, C.; Waters, B. Collusion Resistant Broadcast Encryption with Short Ciphertexts and Private Keys. In Proceedings of the Annual International Cryptology Conference, Santa Barbara, CA, USA, 14–18 August 2005; Shoup, V., Ed.; Lecture Notes in Computer Science. Springer: Berlin/Heidelberg, Germany, 2005; Volume 3621, pp. 258–275. [Google Scholar]
  6. Lee, K.; Koo, W.K.; Lee, D.H.; Park, J.H. Public-key revocation and tracing schemes with subset difference methods revisited. In European Symposium on Research in Computer Security; Springer: Cham, Switzerland, 2014; pp. 1–18. [Google Scholar]
  7. Fukami, A.; Ghose, S.; Luo, Y.; Cai, Y.; Mutlu, O. Improving the reliability of chip-off forensic analysis of NAND flash memory devices. Digit. Investig. 2017, 20, S1–S11. [Google Scholar] [CrossRef]
  8. Zhang, H.; Qin, Z.; Yang, Q. Design and Implementation of the TPM chip J3210. In Proceedings of the 2008 Third Asia-Pacific Trusted Infrastructure Technologies Conference, Hubei, China, 14–17 October 2008; pp. 72–78. [Google Scholar]
  9. Su, Y.; Holleman, J.; Otis, B.P. A digital 1.6 pJ/bit chip identification circuit using process variations. IEEE J. Solid State Circuits 2008, 43, 69–77. [Google Scholar] [CrossRef]
  10. Goodrich, M.T.; Sun, J.Z.; Tamassia, R. Efficient Tree-Based Revocation in Groups of Low-State Devices. In Advances in Cryptology—CRYPTO 2004; Franklin, M.K., Ed.; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2004; Volume 3152, pp. 511–527. [Google Scholar]
  11. Naor, D.; Naor, M.; Lotspiech, J. Revocation and Tracing Schemes for Stateless Receivers. In Advances in Cryptology—CRYPTO 2001; Kilian, J., Ed.; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2001; Volume 2139, pp. 41–62. [Google Scholar]
  12. Naor, M.; Pinkas, B. Efficient trace and revoke schemes. Int. J. Inf. Secur. 2010, 9, 411–424. [Google Scholar] [CrossRef]
  13. Boneh, D.; Waters, B. A fully collusion resistant broadcast, trace, and revoke system. In Proceedings of the 13th ACM Conference on Computer and Communications Security, Alexandria, VA, USA, 30 October–3 November 2006; ACM: New York, NY, USA, 2006; pp. 211–220. [Google Scholar]
  14. Delerablée, C. Identity-based broadcast encryption with constant size ciphertexts and private keys. In Advances in Cryptology—ASIACRYPT 2007; Springer: Berlin/Heidelberg, Germany, 2007; pp. 200–215. [Google Scholar]
  15. Boneh, D.; Hamburg, M. Generalized identity based and broadcast encryption schemes. In Advances in Cryptology—ASIACRYPT 2008; Springer: Berlin/Heidelberg, Germany, 2008; pp. 455–470. [Google Scholar]
  16. Boneh, D.; Sahai, A.; Waters, B. Fully collusion resistant traitor tracing with short ciphertexts and private keys. In Advances in Cryptology—EUROCRYPT 2006; Springer: Berlin/Heidelberg, Germany, 2006; pp. 573–592. [Google Scholar]
  17. Gentry, C.; Waters, B. Adaptive Security in Broadcast Encryption Systems (with Short Ciphertexts). In Advances in Cryptology—EUROCRYPT 2009, Proceedings of the 28th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Cologne, Germany, 26–30 April 2009; Springer: Berlin/Heidelberg, Germany, 2009; pp. 171–188. [Google Scholar] [CrossRef] [Green Version]
  18. Yao, D.; Fazio, N.; Dodis, Y.; Lysyanskaya, A. ID-based Encryption for Complex Hierarchies with Applications to Forward Security and Broadcast Encryption. In Proceedings of the ACM Conference on Computer and Communications Security, Washington, DC, USA, 25–29 October 2004; ACM: New York, NY, USA, 2004; pp. 354–363. [Google Scholar] [CrossRef]
  19. Canetti, R.; Halevi, S.; Katz, J. Chosen-Ciphertext Security from Identity-Based Encryption. In Advances in Cryptology—EUROCRYPT 2004, Proceedings of the International Conference on the Theory and Applications of Cryptographic Techniques, Interlaken, Switzerland, 2–6 May 2004; Springer: Berlin/Heidelberg, Germany, 2004; pp. 207–222. [Google Scholar] [CrossRef] [Green Version]
  20. Boneh, D.; Boyen, X.; Goh, E. Hierarchical Identity Based Encryption with Constant Size Ciphertext. In Advances in Cryptology—EUROCRYPT 2005, Proceedings of the 24th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Aarhus, Denmark, 22–26 May 2005; Springer: Berlin/Heidelberg, Germany, 2005; Volume 3494, pp. 440–456. [Google Scholar] [CrossRef] [Green Version]
  21. Fiat, A.; Naor, M. Broadcast Encryption. In Advances in Cryptology—CRYPTO’93; Stinson, D.R., Ed.; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 1993; Volume 773, pp. 480–491. [Google Scholar]
  22. Halevy, D.; Shamir, A. The LSD Broadcast Encryption Scheme. In Advances in Cryptology—CRYPTO 2002; Yung, M., Ed.; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2002; Volume 2442, pp. 47–60. [Google Scholar]
  23. Wallner, D.M.; Harder, E.J.; Agee, R.C. Key Management for Multicast: Issues and Architectures. Internet Draft. Available online: https://www.hjp.at/(de,st_b)/doc/rfc/rfc2627.html (accessed on 27 August 2020).
  24. Canetti, R.; Malkin, T.; Nissim, K. Efficient communication-storage tradeoffs for multicast encryption. In Proceedings of the International Conference on the Theory and Applications of Cryptographic Techniques, Prague, Czech Republic, 2–6 May 1999; Springer: Berlin/Heidelberg, Germany, 1999; pp. 459–474. [Google Scholar]
  25. Cheon, J.H.; Jho, N.; Kim, M.; Yoo, E.S. Skipping, Cascade, and Combined Chain Schemes for Broadcast Encryption. IEEE Trans. Inf. Theory 2008, 54, 5155–5171. [Google Scholar] [CrossRef]
  26. Canetti, R.; Garay, J.; Itkis, G.; Micciancio, D.; Naor, M.; Pinkas, B. Multicast security: A taxonomy and some efficient constructions. In IEEE INFOCOM’99. Conference on Computer Communications, Proceedings of the Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies, New York, NY, USA, 21–25 March 1999; IEEE: Piscataway, NJ, USA, 1999; Volume 2, pp. 708–716. [Google Scholar]
  27. Sherman, A.T.; McGrew, D.A. Key establishment in large dynamic groups using one-way function trees. IEEE Trans. Softw. Eng. 2003, 29, 444–458. [Google Scholar] [CrossRef] [Green Version]
  28. Goyal, V.; Pandey, O.; Sahai, A.; Waters, B. Attribute-based encryption for fine-grained access control of encrypted data. In Proceedings of the 13th ACM Conference on Computer and Communications Security, Alexandria, VA, USA, 30 October–3 November 2006; pp. 89–98. [Google Scholar]
  29. Emura, K.; Miyaji, A.; Nomura, A.; Omote, K.; Soshi, M. A Ciphertext-Policy Attribute-Based Encryption Scheme with Constant Ciphertext Length. In Proceedings of the 5th International Conference on Information Security Practice and Experience, ISPEC, Xi’an, China, 13–15 April 2009; pp. 13–23. [Google Scholar]
  30. Zhou, Z.; Huang, D. On efficient ciphertext-policy attribute based encryption and broadcast encryption: Extended abstract. In Proceedings of the 17th ACM Conference on Computer and Communications Security, CCS, Chicago, IL, USA, 4–8 October 2010; pp. 753–755. [Google Scholar]
  31. Attrapadung, N.; Herranz, J.; Laguillaumie, F.; Libert, B.; De Panafieu, E.; Ràfols, C. Attribute-based encryption schemes with constant-size ciphertexts. Theor. Comput. Sci. 2012, 422, 15–38. [Google Scholar] [CrossRef] [Green Version]
  32. Joux, A. A One Round Protocol for Tripartite Diffie-Hellman. J. Cryptol. 2004, 17, 263–276. [Google Scholar] [CrossRef]
  33. Boneh, D.; Franklin, M.K. Identity-Based Encryption from the Weil Pairing. SIAM J. Comput. 2003, 32, 586–615. [Google Scholar] [CrossRef] [Green Version]
  34. Galbraith, S.D.; Paterson, K.G.; Smart, N.P. Pairings for cryptographers. Discret. Appl. Math. 2008, 156, 3113–3121. [Google Scholar] [CrossRef] [Green Version]
  35. Dubois, R.; Guillevic, A.; Breton, M.S.L. Improved Broadcast Encryption Scheme with Constant-size Ciphertext. In Proceedings of the 5th International Conference on Pairing-Based Cryptography, Beijing, China, 22–24 November 2013; Springer: Berlin/Heidelberg, Germany, 2013; pp. 196–202. [Google Scholar] [CrossRef] [Green Version]
  36. Chase, M.; Maller, M.; Meiklejohn, S. Déjà Q All Over Again: Tighter and Broader Reductions of q-Type Assumptions. In Advances in Cryptology—ASIACRYPT 2016, Proceedings of the 22nd International Conference on the Theory and Application of Cryptology and Information Security, Hanoi, Vietnam, 4–8 December 2016; Springer: Berlin/Heidelberg, Germany, 2016; pp. 655–681. [Google Scholar] [CrossRef]
  37. Boneh, D.; Canetti, R.; Halevi, S.; Katz, J. Chosen-Ciphertext Security from Identity-Based Encryption. SIAM J. Comput. 2007, 36, 1301–1328. [Google Scholar] [CrossRef]
Figure 1. Subset construction examples in (a) SD, (b) interval, and (c) combinatorial subset difference (CSD) representations.
Figure 1. Subset construction examples in (a) SD, (b) interval, and (c) combinatorial subset difference (CSD) representations.
Electronics 09 01389 g001
Figure 2. The general workflow of the public key broadcast encryption.
Figure 2. The general workflow of the public key broadcast encryption.
Electronics 09 01389 g002
Figure 3. The number of subsets in the broadcast encryption scheme for tiny Internet of Things (IoT) equipment (BESTIE), CSD, SD, and interval schemes for random revocation ( 2 128 users).
Figure 3. The number of subsets in the broadcast encryption scheme for tiny Internet of Things (IoT) equipment (BESTIE), CSD, SD, and interval schemes for random revocation ( 2 128 users).
Electronics 09 01389 g003
Figure 4. The number of subsets in the BESTIE, CSD, SD, and interval schemes for secure multicast revocation.
Figure 4. The number of subsets in the BESTIE, CSD, SD, and interval schemes for secure multicast revocation.
Electronics 09 01389 g004
Figure 5. Encryption time in the BESTIE, CSD, SD, and interval schemes.
Figure 5. Encryption time in the BESTIE, CSD, SD, and interval schemes.
Electronics 09 01389 g005
Figure 6. Decryption time in the BESTIE, CSD, SD, and interval schemes.
Figure 6. Decryption time in the BESTIE, CSD, SD, and interval schemes.
Electronics 09 01389 g006
Table 1. Comparison of costs between SD-based public-key Broadcast encryption (BE). ref. n = the number of total users, and r = the number of revoked users.
Table 1. Comparison of costs between SD-based public-key Broadcast encryption (BE). ref. n = the number of total users, and r = the number of revoked users.
BESTIELKLP’14Lin’10DF’02NNL’01GST’04
(Ours)[6][2][4][11][10]
PK Size O ( log n ) O ( 1 ) O ( log n ) O ( log n ) N/AN/A
SK Size O ( log n ) O ( log 2 n ) O ( log 2 n ) O ( log 3 n ) O ( log 2 n ) O ( log n )
CT Size O ( r ) O ( r ) O ( r ) O ( r ) O ( r ) O ( k r )
Enc Time O ( r ) O ( r ) O ( r ) O ( r log n ) O ( r log n ) O ( k r log ( n / k ) )
Dec Time O ( log n ) O ( 1 ) O ( log n ) O ( log n ) O ( log n ) O ( n 1 / k )
Enc typeAsymmetricAsymmetricAsymmetricAsymmetricSymmetricSymmetric
Assumption q S M E B D H q S M E B D H q B D H E q B D H I One-way func.One-way func.
ROMNoYesNoNoNoNo
Table 2. Key size of BESTIE, CSD, SD, and interval schemes.
Table 2. Key size of BESTIE, CSD, SD, and interval schemes.
Depth BESTIECSDSD(HIBE)Interval
( bits ) (Ours)[3]    [4,20]    [2]
PK size
( K B ) 8 bit0.660.660.200.39
16 bit1.291.290.350.70
32 bit2.542.540.661.33
64 bit5.045.041.292.58
128 bit10.0410.042.545.08
SK size
( K B ) 8bit0.533.7910.042.58
16 bit1.0015.0480.0410.08
32 bit1.9360.04640.0440.08
64 bit3.81240.045120.04160.08
128 bit7.56960.0440960.04640.08

Share and Cite

MDPI and ACS Style

Lee, J.; Kim, J.; Oh, H. BESTIE: Broadcast Encryption Scheme for Tiny IoT Equipment. Electronics 2020, 9, 1389. https://doi.org/10.3390/electronics9091389

AMA Style

Lee J, Kim J, Oh H. BESTIE: Broadcast Encryption Scheme for Tiny IoT Equipment. Electronics. 2020; 9(9):1389. https://doi.org/10.3390/electronics9091389

Chicago/Turabian Style

Lee, Jiwon, Jihye Kim, and Hyunok Oh. 2020. "BESTIE: Broadcast Encryption Scheme for Tiny IoT Equipment" Electronics 9, no. 9: 1389. https://doi.org/10.3390/electronics9091389

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop