Next Article in Journal
An Effective Approach Based on Generalized Bernstein Basis Functions for the System of Fourth-Order Initial Value Problems for an Arbitrary Interval
Next Article in Special Issue
Cryptanalysis of Two Privacy-Preserving Authentication Schemes for Smart Healthcare Applications
Previous Article in Journal
Variational Solution and Numerical Simulation of Bimodular Functionally Graded Thin Circular Plates under Large Deformation
Previous Article in Special Issue
Authenticated Key Exchange under Bad Randomness, Revisited
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Fine-Grained Forward Secure Firmware Update in Smart Home

1
College of Computer, Qinghai Normal University, Xining 810008, China
2
Maths and Information Technology School, Yuncheng University, Yuncheng 044000, China
3
National Engineering Research Center for Secured Wireless, Xi’an University of Posts and Telecommunications, Xi’an 710121, China
*
Authors to whom correspondence should be addressed.
Mathematics 2023, 11(14), 3084; https://doi.org/10.3390/math11143084
Submission received: 13 June 2023 / Revised: 3 July 2023 / Accepted: 11 July 2023 / Published: 12 July 2023
(This article belongs to the Special Issue Applied Cryptography and Blockchain Security)

Abstract

:
Although the vigorous development of smart homes brings great convenience to people’s lives, smart homes usually suffer from various security threats due to firmware vulnerabilities. Firmware update is a possible solution, but existing methods cannot address the security issues during the update process well. To enable secure firmware updates, a Forward Secure Firmware Update (FSFU) system was realized based on the proposed Puncturable-Ciphertext Policy-Attribute-Based Encryption (P-CP-ABE) scheme. In FSFU, when the service provider delivers the latest firmware, it specifies an access policy and some tags to encrypt the data and appends its signature to achieve both fine-grained access control and authentication. Authorized customers can obtain the latest firmware by decrypting the encrypted data through their private key. In particular, after a successful update, each authorized customer can realize forward security by updating his/her puncturable key, which is an important private key component. In addition, FSFU is further enhanced by outsourcing a part of the parameters and computational tasks. Finally, FSFU was proven to be secure under the Decisional Bilinear Diffie–Hellman (DBDH) assumption. Our proposed FSFU is efficient from both the theoretical analysis and the experimental results.

1. Introduction

With the continuous development of IoT technology, smart homes have become an attractive application that can provide users with more comfort and convenience in their lives [1,2]. Major manufacturers have developed and launched their smart home systems. They provide consumers with supporting smart devices, cloud platforms, and mobile applications. Some of the more famous are Samsung’s SmartThings [3], Amazon’s AWS [4], Apple’s Home app [5], Alibaba’s AliyunloT [6], etc. Manufacturers are eager to develop new features and products to attract consumers and increase their share of the smart home market.
The potential economic benefits of smart homes have attracted many hacker groups to attack vulnerabilities in smart home systems, and many of the attacks are targeting customers’ IoT devices. Technically, IoT devices are very small embedded devices that are used for sensing, control, and so on [7]. To protect embedded devices, an effective way is to update the firmware to fix the vulnerabilities. The service provider uploads the latest firmware to the cloud platform for the authorized customers to download.
As shown in Figure 1, there are possible threats, such as pretending and eavesdropping, during the firmware update process, and therefore, its security needs to be considered. However, some existing methods do not address the security issues during firmware updates well [8]. Some state-of-the-art techniques, including differential privacy [9], opacity [10], etc., can achieve security. Differential privacy focuses on protecting the privacy of changes in the database, and opacity focuses on hiding system behavior. In smart home systems, service providers only expect authorized customers meeting certain policies to enjoy the latest firmware updates, hence Ciphertext Policy-Attribute-Based Encryption (CP-ABE) is more suitable for achieving secure firmware updates.

1.1. Contribution

To achieve secure firmware updates in the smart home, an FSFU system is proposed based on a proposed Puncturable-Ciphertext Policy-Attribute-Based Encryption (P-CP-ABE) scheme. In FSFU, the service provider is called the Data Owner (DO), and the customer is called the Data User (DU). When the DO supplies the latest firmware, it encrypts the data with a specified access policy and some tags. To enable customers to identify the source of the firmware, the DO attaches a signature to the encrypted data. The authorized DU can obtain plaintext from the encrypted data using his/her private key, which contains a puncturable key component. After a successful update, the DU can renew his/her puncturable key component, and the updated key loses the capability to decrypt the past encrypted data. We also propose extended FSFU, which outsources some parameters and operations to the fog node. Specifically, the features of FSFU are listed below:
-
Authentication: The signature allows customers to verify that the latest firmware is being delivered by the expected service provider.
-
Fine-grained access control: Upon receipt of the encrypted data, only authorized users can obtain the plaintext, where authorized users are those whose attribute sets satisfy the policy and the puncturable key does not contain the tag in the ciphertext.
-
Forward security: After successfully updating to the latest firmware, data users can update their puncturable key component by puncturing a tag attached to the ciphertext. The updated key loses the capability to decrypt the past ciphertext, ensuring the forward security of the encrypted data.
-
Outsourced capability: In extended FSFU, the DO can outsource some of the encryption work to fog nodes. Similarly, the DU can send part of the private key to the fog node for storage and, thus, outsource part of the decryption work. As a result, the storage and computation costs of the participants, especially DUs, can be reduced.

1.2. Related Work

Sahai and Waters first proposed the concept of Attribute-Based Encryption (ABE) [11], in which DUs are described by their attributes so that ABE can achieve fine-grained access control on encrypted data. In general, there are two main types of ABE: Key Policy-Attribute-Based Encryption (KP-ABE) [12] and Ciphertext Policy-Attribute-Based Encryption (CP-ABE) [13]. The difference between them is that CP-ABE’s ciphertext is related to a specified policy (or structure) and the decryption key is related to attributes, while KP-ABE is just the opposite: the ciphertext is related to the attributes, and the decryption key is related to the policy. If the attributes satisfy the policy, the plaintext can be recovered. Ibraimi, Tang, et al. proposed a selectively secure CP-ABE based on the Decisional Bilinear Diffie–Hellman (DBDH) assumption [14], which can be conveniently modified to outsource the computation during encryption and decryption. There are a large number of studies on attribute-based encryption from [15]. However, very little work considers the forward security of the encrypted data.
The survey [8] investigates various attacks against firmware updates of IoT devices from 2004 to 2018 and discusses measures for secure firmware updates. According to the survey, existing secure firmware updates can be divided into “centralized” and “distributed” categories. Centralized solutions based on the server–client model include [16,17,18], etc. Decentralized solutions, mostly based on blockchain, include [7,19,20], etc. However, as mentioned above, there is very little work that deals with forward security.
There are some proposals to add forward security to encrypted email, which is a “store and forward” messaging system [21,22,23]. However, these proposals increase complexity and introduce new points of failure. The distribution of new key components for senders requires a highly available network infrastructure [21]. The premise of secure communication is that an initial message must be exchanged [24]. Reference [25] proposed a Forward Secure-Public Key Encryption scheme (FS-PKE) in which the user could periodically update the key to revoke the decryption capability. However, it is coarse-grained. Puncturable Encryption (PE) [26], proposed in SP 2015, enables fine-grained forward security by puncturing specific tags. In this way, fine-grained revocation of the decryption capability can be achieved. What is more, users can update their keys themselves without the need for the trusted center to reissue a new key. There are some recent works related to PE still emerging [27,28,29,30].

1.3. Organization

The rest of this paper is organized as follows. Section 2 presents the system architecture and design goals. Section 3 lists the related preliminaries. Section 4 describes the formal definition of P-CP-ABE and the security model. The details of FSFU (including the extended construction) are given in Section 5. We prove the security and analyze the performance in Section 6. The conclusion of the work is given in Section 7.

2. System Architecture and Design Goal

2.1. System Architecture

The system architecture is shown in Figure 2. There are five entities in the system. The role and responsibilities of each entity are described below:
  • The Trusted Authority (TA) is fully trusted. The system’s public parameters and secret keys for participants are generated by the TA. We assumed that the TA is responsible for publishing the attribute universe Ω = { a 1 , , a n } and a collection of possible tags.
  • The Cloud Sever (CS) is semi-trusted. The CS can provide a powerful storage service for participants.
  • The Fog Node (FN) is semi-trusted. FNs act as caches between the participants and the CS. FNs can provide temporary storage and outsource computing services to participants.
  • The Data Owner (DO) is the service provider, which delivers the latest firmware to the DU via the FNs and the CS.
  • The Data User (DU) requests data files associated with specific tags and receives them from the FN. If the DU is in the same domain as the DO, the DU can obtain the data file directly from the FN. If the DU is far away from the DO, the FN close to the DU will request the data file from the neighboring FNs and the cloud platform, and the data file will be transmitted to it and eventually forwarded to the DU.
An overview of the FSFU system can be found below:
(1)
Initialization: The system is initialized by the TA, which generates the public parameters and a master key. The public parameters of the system are public to all participants, and the master key is secret.
(2)
Authorization: The DU authenticates to the TA using his/her own set of attributes, and the TA issues a secret decryption key to the DU based on the set of attributes. Meanwhile, the DO authenticates to the TA using its ID, and the TA issues a signing key associated with the ID to the DO.
(3)
Secure latest firmware delivery: For the latest firmware, the DO specifies an access policy, uses it along with some tags to encrypt the latest firmware, and embeds its signature. The ciphertext is outsourced to the nearest fog node and then transmitted to the cloud platform.
(4)
Latest fine-grained firmware access: After receiving the latest encrypted firmware, the authorized DU first verifies the signature. Then, the plaintext is revealed from the ciphertext if each of the embedded tags has never been punctured.
(5)
Revocation of decryption capability of latest firmware: After revealing the latest firmware and successfully updating it, the DU can revoke the decryption capability for the ciphertext by puncturing a tag attached to it. If the DU has done this, he/she has updated the private key himself/herself, and malicious participants who have stolen the secret key cannot decrypt the current ciphertext.

2.2. Adversary Model and Design Goal

In FSFU, both a malicious DO and an unauthorized DU may attack the system as adversaries. For authentication, a malicious DO may deliver unexpected data, pretending to be a legitimate provider for improper gain. The encrypted data are transmitted over a public channel, so anyone can obtain the ciphertext. For data confidentiality, malicious unauthorized users may collude to recover the latest firmware. In addition, some malicious DUs may attack the devices of authorized DUs to steal private keys. Therefore, we considered the following specific security goals:
  • Data confidentiality: The latest outsourced firmware should be protected from unauthorized access due to its economic value.
  • Authentication: When the DO publishes the latest encrypted firmware, the DU should be able to verify that the expected service provider has published it.
  • Collusion resistance: Unauthorized users with different attribute sets may collude by combining their private keys to obtain the latest firmware for free. For economic reasons, these collusion attacks must be prevented.
  • Forward security: The DU’s device may be hacked, and the private key may be stolen. When the latest firmware is successfully updated, the private decryption key should be updated by the DU itself so that the current ciphertext can no longer be decrypted with the updated key.

3. Preliminaries

Table 1 lists some notations and their descriptions.

3.1. Access Structures and Access Tree

Definition 1
(Access structures [14]). Let { P 1 , P 2 , , P n } be a set of parties. A collection A 2 { P 1 , P 2 , , P n } is monotone if B , C : if B A and B C , then C A . An access structure is a collection A , i.e., A 2 { P 1 , P 2 , , P n } { } . An authorized set is a subset in A , and conversely, an unauthorized set is a set that is not in A .
Access tree: One way to represent an access structure or policy is through an access tree. Each node in the access tree Γ has at most n children. In Γ , the leaves represent attributes, and every other node is a ( t , n ) threshold gate, which can be AND (∧) or OR (∨). During the encryption phase, each node is assigned a pair of values ( i , s i ) , where i is the public index and s i is the corresponding value [14].

3.2. Lagrange Interpolation and Shamir’s Secret-Sharing Scheme

Given t different pairs of values ( x 1 , y 1 ) , , ( x t , y t ) , a polynomial f ( x ) of degree t 1 can be uniquely defined by the Lagrange interpolation [14], in such a way that:
f ( x ) = i = 1 t y i j = 1 , j i t ( x x j ) ( x i x j ) .
Suppose a dealer D holds a secret s. It is divided into n shares in Shamir’s ( t , n ) (where t n ) threshold secret-sharing technique [14]. Any subset with shares greater than or equal to t can jointly reconstruct the secret s, and no subset with shares less than s can obtain the secret s. This is based on polynomial interpolation. The details of this method are given below.
The dealer D chooses a prime p > max ( s , n ) and defines a 0 = s . Then, D chooses t 1 random coefficients a 1 , , a t 1 , 0 a j p , and defines the random polynomial over Z p , f ( x ) = j = 0 t 1 a j x j . According to f ( x ) , D securely sends to user p i the share s i = f ( i ) along with p i ’s index i.
Any group of t or more users can reconstruct s using their shares ( i , s i ) together by Lagrange interpolation, i.e., s = f ( 0 ) = i = 1 t s i l i ( 0 ) , where l i ( 0 ) = j = 1 t 0 j i j .

3.3. Ciphertext Policy-ABE

CP-ABE consists of four algorithms [13]:
  • Setup ( k ) : Upon the input of a security parameter k, the algorithm outputs the public parameters p k and a master key m s k .
  • KeyGen ( S , m s k ) : Upon the input of the master key m s k and an attribute set S, the algorithm outputs a secret key s k S associated with S.
  • Encrypt ( m , Γ , p k ) : Upon the input of the public key p k , a message m, and an access tree Γ , the algorithm outputs the ciphertext c Γ . The purpose of specifying Γ is to make decryption accessible to authorized users.
  • Decrypt ( c Γ , s k S ) : Upon the input of a ciphertext c Γ and a secret key s k S associated with S, the algorithm outputs a message m or an error symbol ⊥.

3.4. Puncturable Encryption

A Puncturable Encryption (PE) scheme consists of four algorithms [26]:
  • PE.KeyGen ( k , d ) : Upon the input of a security parameter k and a maximum tag number d, the algorithm outputs a public key P K and an initial secret key S K 0 .
  • PE.Encrypt ( P K , m , t 1 , , t d ) : Upon the input of a public key P K , a plaintext m, and tags t 1 , , t d , the algorithm outputs the ciphertext c.
  • PE.Puncture ( P K , S K i 1 , t ) : Upon the input of a secret key S K i 1 and a tag t, the algorithm outputs a new secret key S K i . This new key S K i revokes the decryption capability on those ciphertexts encrypted with t, and the other decryption capabilities are the same as S K i 1 .
  • PE.Decrypt ( P K , S K i , c , t 1 , , t d ) : Upon the input of a secret key S K i and a ciphertext c, the algorithm outputs a message m if any tag attached to the ciphertext is not punctured or outputs an error symbol ⊥.

3.5. Bilinear Pairing and Security Assumption

Definition 2
(Bilinear pairing [14]). Let G 1 , G 2 be two multiplicative cyclic groups of prime order p, and let g be a generator of G 1 . e : G 1 × G 1 G 2 is a bilinear pairing (or bilinear map) with the following properties:
-
Bilinearity: e ( u a , v b ) = e ( u b , v a ) = e ( u , v ) a b for all u , v G 1 and a , b Z p .
-
Non-degeneracy: e ( g , g ) 1 , where 1 is the identity element of G 2 .
Definition 3
(Computational Diffie–Hellman assumption [31]). Given g , g a , g b G 1 , for the Computational Diffie–Hellman (CDH) problem in G 1 , it is difficult for any PPT adversary to calculate V = g a b .
Definition 4
(Decisional bilinear Diffie–Hellman assumption [14]). Given g , g a , g b , g c G 1 and a random element T G 2 , for the Decisional Bilinear Diffie–Hellman (DBDH) problem, it is difficult for any PPT adversary to distinguish the tuple ( g , g a , g b , g c , e ( g , g ) a b c ) from ( g , g a , g b , g c , T ) .

4. Formal Definition and Security Model

4.1. Definition of Basic P-CP-ABE

There are five algorithms included in our basic P-CP-ABE scheme. The syntax definition is as follows:
  • Setup ( k , d ) ( P K , M S K ) : It takes a security parameter k and a maximum tag number d as the input. The algorithm outputs a public key P K and a master secret key M S K .
  • KeyGen ( P K , M S K , S , I D ) ( s k σ , s k , K P 0 ) : It takes the master secret key M S K , an attribute set S, and a DO identity I D as the input. The algorithm outputs a private key s k σ associated with I D for signing, a private key s k , and an initial puncture key K P 0 to decrypt the ciphertext together.
  • Encrypt ( P K , M , Γ , s k σ , t 1 , , t d ) C T : It takes a public key P K , a plaintext M, an access tree Γ , a singing key s k σ associated with I D , and tags t 1 , , t d as the input. The algorithm outputs the ciphertext C T that contains the signature associated with I D .
  • Puncture ( K P i 1 , t ) K P i : It takes a secret key K P i 1 and a tag t as the input. The algorithm outputs an updated key K P i that cannot decrypt ciphertexts encrypted with t.
  • Decrypt ( C T , S , s k , K P i ) M or ⊥: It takes a ciphertext C T , a secret key s k associated with S, and a puncturable key K P i as the input. The algorithm outputs a message M or an error symbol ⊥.

4.2. Security Model

The security of our basic P-CP-ABE is defined by the IND-CPA game played by an adversary A and a challenger. Here, we considered selective security, i.e., A specifies the challenge access tree and the set of tags in the initial phase before the public parameters of the system are distributed. The formal definition of the game is given below:
  • Init: The adversary A declares the target access tree Γ * and the set of tags { t 1 * , , t d * } .
  • Setup: The challenger initializes a tag set P = and a counter n = 0 . Then, he/she executes Setup ( k , d ) ( P K , M S K ) and gives P K to A .
  • Phase 1: A can adaptively issue a polynomially bounded number of queries for any of the following:
    -
    KeyGen(S): A queries a secret key for a set of attributes S = { a j | a j Ω } , where a j Γ * .
    -
    Puncture(t): The challenger sets n = n + 1 , runs Puncture ( K P n 1 , t ) K P n , and lets P = P { t } .
    -
    Corrupt(): If this is the first time A issues this query and { t 1 * , , t d * } P = , the challenger sends the current secret key K P n to A and sets C P . In all other cases, Corrupt() returns ⊥.
  • Challenge: A sends two messages of equal length M 0 , M 1 to the challenger. The challenger flips a random coin β { 0 , 1 } and executes Encrypt ( P K , M β , Γ * , t 1 * , , t d * ) C T * . The challenge ciphertext C T * is sent to A .
  • Phase 2: It is identical to Phase 1.
  • Guess: A outputs a guess β { 0 , 1 } .
If β = β , the adversary A wins the game. The advantage of adversary A is characterized as ϵ = | Pr [ β = β ] 1 2 | .
Definition 5.
A P-CP-ABE scheme is selectively secure if any polynomial time adversary has at most a negligible advantage in the above selective game.

5. Forward Secure Firmware Update System

The details of FSFU are described in this section, and then, we extend it to outsource some parameters and computation to fog nodes.

5.1. Design Details of FSFU

(1)
Initialization: The TA first takes a security parameter k and a maximum number d as the input and generates a bilinear map e : G 1 × G 1 G 2 , where G 1 is a group of prime order p and g is a generator. Then, the TA chooses three hash functions H 1 , H 2 : { 0 , 1 } * G 1 , H 3 : { 0 , 1 } * Z p . The TA sets the attribute universe as Ω = { a 1 , a 2 , , a n } and executes the following Setup algorithm:
-
Setup ( k , d ) : The TA selects elements α , n 1 , n 2 , , n n Z p * at random. Compute y = e ( g , g ) α and T j = g n j , j = 1 , , n . Then, the TA selects a random element a Z p * and chooses a d-degree polynomial q ( · ) such that q ( 0 ) = a . Then, the TA defines V ( x ) = g q ( x ) . t 0 is set as an initial tag that will not be used later in the encryption operation. The public system parameters are published as P K , and the master key is M S K :
P K = ( e , g , g a , y = e ( g , g ) α , T j ( j = 1 , , n ) , g q ( l ) , ( l = 1 , , d ) , t 0 , H 1 , H 2 , H 3 ) , M S K = ( α , a , n j ( j = 1 , , n ) ) .
(2)
Authorization: As shown in Figure 3, the TA grants access rights by issuing a private key to the DU based on its attribute set S and issuing a singing key s k σ to the DO associated with its I D . The TA implements these operations by executing the KeyGen algorithm:
-
KeyGen ( P K , M S K , S , I D ) : The TA first computes P = H 1 ( I D ) and sends s k σ = P a to the DO. Then, the TA samples random elements r , r a , r Z p * and lets
s k = ( D = g α r · ( g a ) r a , a j S , D j = g r n j 1 ) , K P 0 = ( [ k p 0 1 , k p 0 2 , k p 0 3 , k p 0 4 ] ) = ( [ ( g a ) r a + r , V ( H 3 ( t 0 ) ) r , g r , t 0 ] ) .
The TA sends ( s k , K P 0 ) to the DU.
(3)
Latest secure firmware delivery: The DO chooses a symmetric encryption scheme and uses it to encrypt the latest firmware. Then, the DO specifies an access tree Γ and some tags t 1 , , t d and encrypts the symmetric key, which plays the role of plaintext M G 2 in the Encrypt algorithm described below. The encryption process is considered to be two-level. The first level of encryption is associated with M and d tags, where the DO’s signature is attached. The second level of encryption is associated with access tree Γ . Finally, as shown in Figure 4, the ciphertext data are outsourced to the local fog node and then transmitted to the cloud platform:
-
Encrypt ( P K , M , Γ , s k σ , t 1 , , t d ) : The DO first performs the first stage of encryption by selecting a random element s Z p * and calculating C 0 = M · e ( g , g ) α s , C 1 = g s , { C 3 k = V ( H 3 ( t k ) ) s , k = 1 , , d } .
C T f i r s t = ( C 0 , C 1 , { C 3 k , k = 1 , , d } ) = ( g s , M · e ( g , g ) r s , { V ( H 3 ( t k ) ) s , k = 1 , , d } ) .
Then, the DO generates the signature. The DO samples a random element r * Z p * and calculates P m = H 2 ( C T f i r s t ) . The signature σ = ( S i g = P m r * · P a , T = g r * ) .
The DO then performs the second-level encryption. In an access tree, consider an AND(∧) node as an ( n , n ) threshold and an OR(∨) node as a ( 1 , n ) threshold, where n is the number of its children. Assign values to the nodes of the access tree Γ using a top-down recursive approach. For the root node, set its value to s so that the root is marked as assigned and all other nodes are unassigned.
Recursively, for each inner node i marked assigned, if its children are marked unassigned, its share s i is divided among its n children by Shamir’s ( t , n ) secret-sharing scheme. Each shared secret s j = f ( j ) is assigned to each child node, and thus, this node is marked as assigned. For the leaf node a j , i Γ , which represents an attribute, calculate c j , i = T j s i , where i is the unique attribute index according to the access tree. This process is illustrated in Figure 5.
Finally, the encrypted data are
C T = ( Γ , C 0 , C 1 , { c j , i , a j , i Γ } , { C 3 k , k = 1 , , d } , σ ) .
(4)
Latest fine-grained firmware access: As shown in Figure 6, after the ciphertext is verified by the signature, the authorized DU can reveal the symmetric key that was used to encrypt the latest firmware so that the DU can obtain the latest firmware through the symmetric key. The authorized DU executes the Decrypt algorithm as shown below:
-
Decrypt ( C T , S , s k , K P i ) : If S does not satisfy Γ or { t k , k = 1 , , d } contains the punctured tags, return ⊥. Otherwise, the algorithm behaves as follows.
The DU first verifies the signature. Check whether the equation e ( S i g , g ) = e ( T , P m ) · e ( g a , P ) holds. If not, discard the data; if true, the ciphertext is indeed from the expected DO.
Then, the DU performs the first-level decryption. Choose the smallest S S that satisfies Γ . For each attribute a j S , calculate
A ˜ = a j S e ( D j , c j . i ) L i ( 0 ) = a j S e ( g r n j 1 , T j s i ) L i ( 0 ) = a j S e ( g t j s i , g r n j 1 ) L i ( 0 ) = e ( g , g ) r a j S s i L i ( 0 ) = e ( g , g ) r s ,
where L i ( 0 ) is a Lagrange coefficient and can be calculated by the index of the attribute in the access tree. Then, calculate
A = e ( C 1 , D ) · A ˜ = e ( C 1 , D ) · e ( g , g ) r s = e ( g s , g α r · ( g a ) r a ) · e ( g , g ) r s = e ( g , g ) α s · e ( g , g ) a r a s .
Simultaneously, the DU decrypts the puncturable part. For j = 0 , 1 , , i , find w j 1 , , w j d , w j such that w j · q ( H 3 ( k p j 4 ) ) + k = 1 d ( w j k · q ( H 3 ( t k ) ) ) = q ( 0 ) = a and compute
B ¯ = e ( k p 0 1 , C 0 ) e ( k p 0 3 , k = 1 d ( C 3 k ) w 0 k ) · e ( k p 0 2 , C 0 ) w 0 = e ( ( g a ) r r a + r 01 λ 1 + + r 0 i λ i , g s ) e ( g r + r 01 + + r 0 i , k = 1 d ( V ( H 3 ( t k ) ) ) s w 0 k ) · e ( V ( H 3 ( t 0 ) ) r + r 01 + + r 0 i , g s ) w 0 = e ( g , g ) a ( r r a + r 01 λ 1 + + r 0 i λ i ) s e ( g , g ) s ( r + r 01 + + r 0 i ) ( k = 1 d w 0 k · q ( H 3 ( t k ) ) + w 0 q ( H 3 ( t 0 ) ) ) = e ( g , g ) a ( r r a + r 01 λ 1 + + r 0 i λ i ) s e ( g , g ) s ( r + r 01 + + r 0 i ) a = e ( g , g ) a ( r a λ 1 λ i ) s , B ˜ = j = 1 i e ( k p j 1 , C 0 ) e ( k p j 3 , k = 1 d ( C 3 k ) w j k ) · e ( k p j ( 2 ) , C 0 ) w j = j = 1 i e ( ( g a ) λ j + r 1 j , g s ) e ( g r 1 j , k = 1 d ( V ( H 3 ( t k ) ) ) s w j k ) · e ( V ( H 3 ( t 0 ) ) r 1 j , g s ) w = j = 1 i e ( g , g ) a ( λ j + r 1 j ) s e ( g , g ) s r 1 j ( k = 1 d w j k · q ( H 3 ( t k ) ) + w j q ( H 3 ( t 0 ) ) ) = j = 1 i e ( g , g ) a ( λ j + r 1 j ) s e ( g , g ) s r 1 j a = e ( g , g ) a ( λ 1 + + λ i ) s ,
B = B ¯ · B ˜ = e ( g , g ) r a a s .
After that, the DU executes the second-level decryption. Output
M = C 0 A · B = M · e ( g , g ) α s e ( g , g ) α s · e ( g , g ) a r a s · e ( g , g ) r a a s .
(5)
Revocation of decryption capability of latest firmware: After revealing the latest firmware and successfully updating it, as shown in Figure 7, the DU can revoke the capability to decrypt the ciphertext through the Puncture algorithm, as shown below:
-
Puncture ( K P i 1 , t ) : First, parse K P i 1 = ( k p 0 , k p 1 , , k p i 1 ) , and then, parse k p 0 = [ k p 0 1 , k p 0 2 , k p 0 3 , k p 0 4 ] . The DU selects λ i , r 0 i , r 1 i Z p * at random and lets
k p 0 = [ k p 0 1 · ( g a ) r 0 i λ i , k p 0 2 · V ( H 3 ( t 0 ) ) r 0 i , k p 0 3 · g r 0 i , t 0 ] = [ ( g a ) r r a + r 01 λ 1 + + r 0 i λ i , V ( H 3 ( t 0 ) ) r + r 01 + + r 0 i , g r + r 01 + + r 0 i , t 0 ] . k p i = [ ( g a ) λ i + r 1 i , V ( H 3 ( t 0 ) ) r 1 i , g r 1 i , t ] .
Finally, the updated key is
K P i = ( k p 0 , k p 1 , , k p i 1 , k p i ) .

5.2. Extended Construction

When firmware updates occur in the smart home system, a major problem is the limited computing power and memory of the data user nodes in the network. In the cloud–fog paradigm, some operations and parameters can be processed by fog nodes to reduce the computing and memory load of participants. In this section, we extend the basic FSFU to outsource some of the computation and parameters to the fog nodes; see Figure 8. The extended construction is described below:
(1)
Initialization: It is identical to the basic system.
(2)
Authorization: It is identical to the basic system, except that the TA chooses an additional random element n 0 Z p * associated with a virtual attribute and generates D 0 = g r n 0 1 .
(3)
Latest secure firmware delivery: It is identical to the basic scheme, except:
-
The DO generates the first-level ciphertext C T f i r s t and a signature σ on it. Then, the DO passes ( C T f i r s t , σ ) to the local fog node.
-
The fog node verifies the signature as the DU did above. If the ciphertext C T f i r s t is authenticated, the fog node and the DO perform the second-level encryption together to generate the final ciphertext.
-
Second-level encryption: The DO divides s into s 0 , s 1 such that s = s 0 + s 1 . The DO generates c 0 , 0 = T 0 s 0 and passes Γ and s 1 as the root value to the fog node to generate ciphertext for each leaf. The fog node generates { c j , i , a j , i Γ } .
Finally, output
C T = ( C T f i r s t , c 0 , 0 = T 0 s 0 , c j , i = T j s i , a j , i Γ ) .
(4)
Latest fine-grained firmware access: Some computations can be performed at the fog node. The details are described below:
-
Decryption by fog node:
The fog node computes A ˜ through { c j , i = T j s i , a j , i Γ } and { D j , a j S } , which is received from the data-user-obtained attribute set S. The fog node computes A ˜ = e ( g , g ) r s 1 .
The fog node computes B ˜ = e ( g , g ) a ( λ 1 + + λ i ) s by { C 3 k , k = 1 , , d } and K P i k p 0 .
C T p a r t = ( C 0 , C 1 , c 0 , 0 = T 0 s 0 , A ˜ , B ˜ ) , then the fog node passes C T p a r t to the data user.
-
Decryption by the DU: After receiving C T p a r t , the DU computes
A ¯ = e ( T 0 n 0 , D 0 ) · A ˜ = e ( g s 0 n 0 , g r n 0 1 ) · e ( g , g ) r s 1 = e ( g , g ) r s , A = e ( C 1 , D ) · A ¯ ,
B ¯ = e ( k p 0 1 , C 1 ) e ( k p 0 3 , k = 1 d ( C 3 k ) w 0 k ) · e ( k p 0 2 , C 1 ) w 0 * ,
and B = B ¯ · B ˜ = e ( g , g ) r a a s .
Finally, the DU can obtain the plaintext:
M = C 0 A · B .
(5)
Revocation of decryption capability of latest firmware: This process is identical to the basic system, except that the DO keeps k p 0 and passes K P i k p 0 to the fog node for external decryption.

6. Security and Performance Analysis

6.1. Security Analysis

Our basic P-CP-ABE scheme proposed above includes the CP-ABE scheme, the identity-based signature and puncturable encryption scheme, so its security is related to these schemes. The security analysis is given below.

6.2. Authentication of P-CP-ABE

Lemma 1.
Suppose the CDH assumption holds in G 1 ; an IBS scheme is secure against existential forgery [31], and so is the P-CP-ABE scheme.
Since the signature is attached to the components associated with the message in the ciphertext, the authenticity of the source of the message can be verified by this signature.

6.3. Data Confidentiality of P-CP-ABE

Lemma 2
([14]). Suppose that the DBDH assumption holds. Then, no polynomial adversary can break the CP-ABE scheme with a challenge access tree Γ * .
Theorem 1.
Our basic P-CP-ABE scheme proposed above is selectively CPA-secure in the selective game mentioned in Section 4, based on the assumption in Lemma 2.
Proof. 
Suppose that there is an adversary A who can break our basic P-CP-ABE scheme with a non-negligible advantage ϵ . A can be used to break the CP-ABE scheme proposed in [14], which we will denote as Π C P = ( Setup C P , KeyGen C P , Encrypt C P , Decrypt C P ) , with a simulator B . The simulator plays the role of the challenger and interacts with A .
Init: A gives B the challenge access tree Γ * together with the tag set { t 1 * , , t d * } before the public parameters are established. Then, B forwards them to Π C P .
Setup: B receives P K = ( e , g , g a , g c , y = e ( g , g ) α , T j = g j n , ( j = 1 , , n ) from Π C P . First, B initializes a tag set P = ϕ and a counter n = 0 . Then, B uniformly chooses d + 1 random elements θ 0 , θ 1 , , θ d from Z p * , where θ 0 is associated with t 0 . This is performed so that q ( 0 ) = a , q ( H 3 ( t i * ) ) = θ i is implicitly determined, and then, V ( H 3 ( t i * ) ) = g θ i . B passes public parameters P K = ( e , g , g a , y = e ( g , g ) α , T j ( j = 1 , , n ) , g q ( l ) ( l = 1 , , d ) , t 0 ) to A .
Phase 1: A can adaptively issue a polynomially bounded number of queries for any of the following:
  • KeyGen(S) query: B requests the decryption key for the attribute set S from Π C P and contains s k S = ( d 0 , a j S : D j ) with the form d 0 = g α r . Then, B uniformly selects random elements r a , r Z p * and computes D = d 0 · ( g a ) r a and k p 0 1 = ( g a ) r a + r , k p 0 2 = g θ 0 r , k p 0 3 = g r , k p 0 4 = t 0 . B sends ( s k = ( D , a j S : D j ) , K P 0 = ( [ k p 0 1 , k p 0 2 , k p 0 3 , k p 0 4 ] ) ) to A .
  • Puncture(t) query: B increments n and runs Puncture ( K P n 1 , t ) , sends K P i to A , and sets P = P { t } .
  • Corrupt() query: If this is the first time A issues this query and { t 1 * , , t d * } P = , B sends the current secret key K P n to A and sets C P . In all other cases, Corrupt() returns ⊥.
Challenge: A sends two equal-length messages M 0 , M 1 to B . B passes them to Π C P . Π C P flips a fair coin β 0 , 1 and sends the challenge ciphertext c t = ( C 0 , C 1 , a j , i Γ * , c j , i ) of the form C 0 = M β · e ( g , g ) α c , C 1 = g c , to B . Then, B computes C 3 k = ( C 0 ) θ k , k = 1 , , d and sends the challenge ciphertext:
C T * = ( c t , { C 3 k , k = 1 , , d } )
to A .
Phase 2: It is identical to Phase 1.
Guess: B decides its own output based on the output of A . When β { 0 , 1 } is the guess of A , B outputs the same β as the guess of β . Thus, B has the same advantage as ϵ to break the CP-ABE scheme Π C P . □

6.4. Collusion Resistance

In order to reveal a message from the encrypted data, e ( g , g ) α s should be recovered, and the knowledge of e ( g , g ) r s is a precondition. Due to the random element r for each DU in the private key distribution phase, it is impossible to combine keys generated for different attribute sets to reconstruct e ( g , g ) r s because of the different r.

6.5. Forward Security

For a ciphertext concatenated with a list of tags t 1 , , t d , without loss of generality, assume that the puncturable key K P has already punctured t 1 such that k p 1 4 = t 1 . As a result, whoever kept K P cannot find w 11 , , w 1 d , w 1 such that w 1 · q ( H 3 ( k p 1 4 ) ) + k = 1 d ( w 1 k · q ( H 3 ( t k ) ) ) = q ( 0 ) = a . Furthermore, B ˜ cannot be recovered, and it causes K P to lose its capability to decrypt the past ciphertext. This guarantees forward security.

6.6. Security Analysis of Extended Scheme

In the extended scheme, the DO outsources the second-level encryption, which is the encryption for the leaf nodes in the access tree, to the fog node and passes a part of the secret number to it as the value of the root node during encryption. The DU transmits part of the private key components to the fog node, and the fog node performs the external decryption operation, then transmits C T p a r t to the DU such that the DU can perform the final decryption to reveal the plaintext. The extended scheme is secure under the discrete logarithm assumption on the elliptic curve.

6.7. Performance Analysis

The security of the proposed schemes was proven above; in this section, the performance analysis focused on the computational efficiency by comparing the cost of encryption and decryption. Table 2 and Table 3 show the feature comparison and performance comparison of different schemes, where the communication cost is for the DO and the DU. In the above tables, Γ is the access tree, l is the row number of the access matrix, while n m a x is the maximum column number, I is the index set of the authorized attribute set, S is the smallest attribute subset that satisfies Γ , d is the maximum tag number, and i is the puncture numbers.
The cost of our basic scheme is much lower than that of Pt-CP-ABE [28], as can be clearly seen from Table 3, since in the latter, the product of each element of the access matrix with the corresponding component of the vector is used in encryption and decryption. Since key storage and computation are outsourced, the overhead of the extended scheme does not depend on the size of the universe of attributes and the puncturable numbers, as can be seen from Table 3. Participants may have to make a tradeoff between communication overhead and computation and storage costs, depending on the device.
Then, we conducted the test on a PC: the computer operating system used was Windows 10 Home Chinese Edition, and the processor was an Intel(R) Core(TM) i5-7200U CPU @ 2.50 GHz and 16 GB RAM. The test was based on a 160-bit elliptic curve group constructed on the curve y 2 = x 3 + x over a 512-bit field.
The computation time to generate an initial puncturable key K P 0 and the subsequent puncturable key are listed in Table 4. In smart homes, the latest firmware is not published very often in a short period of time, so the puncturable time is reasonable. It can be seen in Figure 9 that, despite the introduction of the signature and puncturable key, the encryption and decryption were still efficient. In contrast, in the Pt-CP-ABE scheme, both the encryption time and decryption time grew very fast, and the trend was the square of the number of attributes, as analyzed above. In conclusion, our proposed FSFU is efficient from both the theoretical analysis and the experimental results.

7. Conclusions and Future Work

To enable secure firmware updates in smart home systems, we proposed an FSFU system that invokes the proposed Puncturable-Ciphertext Policy-Attribute-Based Encryption (P-CP-ABE) scheme. In addition, we described the extended version, where some of the computations and parameters were outsourced to fog nodes under the cloud–fog paradigm. In practice, user attributes and firmware tags are often monitored by different independent authorities. In addition, a multi-authority system can better protect the privacy of user identities than a single trusted authority. Key distribution and privacy protection in a multi-authority puncturable-ciphertext policy-attribute-based encryption scheme is a challenging problem for future research.

Author Contributions

Conceptualization, Q.Z. and Y.Z.; methodology, Q.Z.; validation, Y.Z.; formal analysis, Y.Z.; resources, D.Z.; writing—original draft preparation, Q.Z.; supervision, D.Z. and Y.Z.; writing—review and editing, Y.Z. and Y.R. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded in part by the National Natural Science Foundation of China (62072369, 62072371), in part by the Youth Innovation Team of Shaanxi Universities, in part by the Shaanxi Special Support Program Youth Top-notch Talent Program, and in part by the Technology Innovation Leading Program of Shaanxi (2023-YD-CGZH-31).

Data Availability Statement

The data used to support the findings of this study are included within the article.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Yaqoob, I.; Ahmed, E.; Hashem, I.A.T.; Ahmed, A.I.A.; Gani, A.; Imran, M.; Guizani, M. Internet of Things Architecture: Recent Advances, Taxonomy, Requirements, and Open Challenges. IEEE Wirel. Commun. 2017, 24, 10–16. [Google Scholar] [CrossRef]
  2. Mehmood, Y.; Ahmad, F.; Yaqoob, I.; Adnane, A.; Imran, M.; Guizani, S. Internet-of-Things-Based Smart Cities: Recent Advances and Challenges. IEEE Commun. Mag. 2017, 55, 16–24. [Google Scholar] [CrossRef]
  3. Samsung. SmartThing. Available online: http://www.smartthings.com/ (accessed on 12 July 2023).
  4. Amazon. AWS. Available online: https://aws.amazon.com/cn/iot/ (accessed on 12 July 2023).
  5. Apple. Home-App. Available online: https://www.apple.com/home-app/ (accessed on 12 July 2023).
  6. Alibaba. AliyunloT. Available online: https://iot.aliyun.com/ (accessed on 12 July 2023).
  7. Lee, B.; Lee, J.H. Blockchain-based secure firmware update for embedded devices in an Internet of Things environment. J. Supercomput. 2017, 73, 1152–1167. [Google Scholar] [CrossRef]
  8. Bettayeb, M.; Nasir, Q.; Talib, M.A. Firmware Update Attacks and Security for IoT Devices: Survey. In Proceedings of the the ArabWIC 6th Annual International Conference Research Track (ArabWIC 2019), Rabat, Morocco, 7–9 March 2019; Volume 4, pp. 1–6. [Google Scholar]
  9. Han, S.; Topcu, U.; Pappas, G.J. Differentially Private Distributed Constrained Optimization. IEEE Trans. Autom. Control 2017, 62, 50–64. [Google Scholar] [CrossRef]
  10. An, L.; Yang, G.H. Enhancement of opacity for distributed state estimation in cyber-physical systems. Automatica 2022, 136, 110087. [Google Scholar] [CrossRef]
  11. Sahai, A.; Waters, B. Fuzzy identity-based encryption. In Proceedings of the Advances in Cryptology–EUROCRYPT 2005, Aarhus, Denmark, 22–26 May; Springer: Berlin/Heidelberg, Germany, 2005; pp. 457–473. [Google Scholar]
  12. 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; Association for Computing Machinery: New York, NY, USA, 2006; pp. 89–98. [Google Scholar]
  13. Bethencourt, J.; Sahai, A.; Waters, B. Ciphertext-Policy Attribute-Based Encryption. In Proceedings of the 2007 IEEE Symposium on Security and Privacy (SP ’07), Berkeley, CA, USA, 20–23 May 2007; pp. 321–334. [Google Scholar]
  14. Ibraimi, L.; Tang, Q.; Hartel, P.; Jonker, W. Efficient and provable secure ciphertext-policy attribute-based encryption schemes. In Proceedings of the Information Security Practice and Experience, ISPEC 2009, Xi’an, China, 13–15 April 2009; Lecture Notes in Computer Science. Springer: Berlin/Heidelberg, Germany, 2009; pp. 1–12. [Google Scholar]
  15. Zhang, Y.; Deng, R.H.; Xu, S.; Sun, J.; Li, Q.; Zheng, D. Attribute-Based Encryption for Cloud Computing Access Control: A Survey. ACM Comput. Surv. 2020, 53, 1–41. [Google Scholar] [CrossRef]
  16. Choi, B.C.; Lee, S.H.; Na, J.C.; Lee, J.H. Secure firmware validation and update for consumer devices in home networking. IEEE Trans. Consum. Electron. 2016, 62, 39–44. [Google Scholar] [CrossRef]
  17. Zaware, P.G.; Shinde, S.V. Wireless monitoring, controlling and firmware upgradation of embedded devices using Wi-Fi. In Proceedings of the 2014 International Conference on Advances in Communication and Computing Technologies (ICACACT 2014), Mumbai, India, 10–11 August 2014; pp. 1–6. [Google Scholar]
  18. Hong, S.G.; Kim, N.S.; Heo, T. A smartphone connected software updating framework for IoT devices. In Proceedings of the 2015 International Symposium on Consumer Electronics (ISCE), Madrid, Spain, 24–26 June 2015; pp. 1–2. [Google Scholar]
  19. Lee, B.; Malik, S.; Wi, S.; Lee, J.H. Firmware verification of embedded devices based on a blockchain. In Proceedings of the Quality, Reliability, Security and Robustness in Heterogeneous Networks, QShine 2016, Seoul, Republic of Korea, 7–8 July 2016; Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering. Springer: Berlin/Heidelberg, Germany, 2017; pp. 52–61. [Google Scholar]
  20. Roy, G.G.R.; Britto Ramesh Kumar, S. An Architecture to Enable Secure Firmware Updates on a Distributed-Trust IoT Network Using Blockchain. In International Conference on Computer Networks and Communication Technologies; Springer: Singapore, 2019; pp. 671–679. [Google Scholar]
  21. Schneier, B.; Hall, C. An improved e-mail security protocol. In Proceedings of the 13th Annual Computer Security Applications Conference, San Diego, CA, USA, 8–12 December 1997; pp. 227–230. [Google Scholar]
  22. Barreto, P.S.L.M.; Naehrig, M. Pairing-Friendly Elliptic Curves of Prime Order. In Proceedings of the Selected Areas in Cryptography, Kingston, ON, Canada, 11–12 August 2005; Springer: Berlin/Heidelberg, Germany, 2006; pp. 319–331. [Google Scholar]
  23. Sun, H.M.; Hsieh, B.T.; Hwang, H.J. Secure E-mail protocols providing perfect forward secrecy. IEEE Commun. Lett. 2005, 9, 58–60. [Google Scholar]
  24. Santesson, S.; Myers, M.; Ankney, R.; Malpani, A.; Galperin, S.; Adams, C.X. 509 Internet Public Key Infrastructure Online Certificate Status Protocol-OCSP; Technical Report; Internet Engineering Task Force: Fremont, CA, USA, 2013. [Google Scholar]
  25. Canetti, R.; Halevi, S.; Katz, J. A forward-secure public-key encryption scheme. In Proceedings of the Advances in Cryptology–EUROCRYPT 2003, Warsaw, Poland, 4–8 May 2003; Lecture Notes in Computer Science. Springer: Berlin/Heidelberg, Germany, 2003; pp. 255–271. [Google Scholar]
  26. Green, M.D.; Miers, I. Forward Secure Asynchronous Messaging from Puncturable Encryption. In Proceedings of the 2015 IEEE Symposium on Security and Privacy, San Jose, CA, USA, 17–21 May 2015; pp. 305–320. [Google Scholar]
  27. Wei, J.; Chen, X.; Wang, J.; Hu, X.; Ma, J. Forward-Secure Puncturable Identity-Based Encryption for Securing Cloud Emails. In Proceedings of the Computer Security—ESORICS 2019, Luxembourg, 23–27 September 2019; Springer International Publishing: Cham, Switzerland, 2019; pp. 134–150. [Google Scholar]
  28. Xuan Phuong, T.V.; Ning, R.; Xin, C.; Wu, H. Puncturable Attribute-Based Encryption for Secure Data Delivery in Internet of Things. In Proceedings of the IEEE INFOCOM 2018—IEEE Conference on Computer Communications, Honolulu, HI, USA, 16–19 April 2018; pp. 1511–1519. [Google Scholar]
  29. Xue, L.; Ni, J.; Huang, C.; Lin, X.; Shen, X. Forward Secure and Fine-grained Data Sharing for Mobile Crowdsensing. In Proceedings of the 2019 17th International Conference on Privacy, Security and Trust (PST), Fredericton, NB, Canada, 26–28 August 2019; pp. 1–9. [Google Scholar]
  30. Sun, J.; Xu, G.; Zhang, T.; Alazab, M.; Deng, R.H. A Practical Fog-Based Privacy-Preserving Online Car-Hailing Service System. IEEE Trans. Inf. Forensics Secur. 2022, 17, 2862–2877. [Google Scholar] [CrossRef]
  31. Gentry, C.; Ramzan, Z. Identity-based aggregate signatures. In Proceedings of the Public Key Cryptography—PKC 2006, New York, NY, USA, 24–26 April 2006; Lecture Notes in Computer Science. Springer: Berlin/Heidelberg, Germany, 2006; pp. 257–273. [Google Scholar]
Figure 1. Possible threats in the firmware update process.
Figure 1. Possible threats in the firmware update process.
Mathematics 11 03084 g001
Figure 2. The FSFU system architecture.
Figure 2. The FSFU system architecture.
Mathematics 11 03084 g002
Figure 3. Authorization in FSFU.
Figure 3. Authorization in FSFU.
Mathematics 11 03084 g003
Figure 4. Latest secure firmware delivery in FSFU.
Figure 4. Latest secure firmware delivery in FSFU.
Mathematics 11 03084 g004
Figure 5. Encryption for leaves of the access tree.
Figure 5. Encryption for leaves of the access tree.
Mathematics 11 03084 g005
Figure 6. Latest fine-grained firmware access in FSFU.
Figure 6. Latest fine-grained firmware access in FSFU.
Mathematics 11 03084 g006
Figure 7. Revocation of decryption capability of latest firmware in FSFU.
Figure 7. Revocation of decryption capability of latest firmware in FSFU.
Mathematics 11 03084 g007
Figure 8. Extended system with outsourcing.
Figure 8. Extended system with outsourcing.
Mathematics 11 03084 g008
Figure 9. Comparison of encryption and decryption times.
Figure 9. Comparison of encryption and decryption times.
Mathematics 11 03084 g009
Table 1. Notations and descriptions.
Table 1. Notations and descriptions.
NotationDescription
Ω The universe of attributes.
G 1 , G 2 Two cyclic multiplicative groups.
Z p Integer ring with modulus p, where p is a prime number.
Z p * Z p * = Z p { 0 } .
H i ( · ) , i = 1 , 2 , 3 Hash function.
Γ Access tree associated with the ciphertext.
| Γ | Number of leaves in Γ .
SAttribute set of the DU.
S The smallest subset of S that satisfies Γ .
t 1 , , t d Tags associated with the ciphertext; d is the maximum number.
P K Public key, including the public system parameters.
M S K Master key secretly held by the TA.
s k Participant’s private key.
K P Puncturable key, which is a component of the decryption key.
Table 2. Feature comparison of different schemes.
Table 2. Feature comparison of different schemes.
SchemeAccess StructureOutsource AbilityAuthenticationForward Security
Original CP-ABE [14]Tree1
Pt-CP-ABE [28]Matrix2
Our basic schemeTree
Our extended schemeTree
1 ✕ indicates that the scheme does not has this capability. 2 indicates that the scheme has this capability.
Table 3. Performance comparison of different schemes.
Table 3. Performance comparison of different schemes.
Scheme Ciphertext SizeDecryption CostCommunication Cost
| G 1 | | G 2 | Exp . ( G 1 ) Exp . ( G 2 ) PairingDODU
Pt-CP-ABE [28] l × n m a x + 1 + d 1 | I | × n m a x + | I | / n m a x + | I | + 1 + 3 ( i + 1 ) ( l × n m a x + 1 + d ) | G 1 | + | G 2 | ( l × n m a x + 1 + d ) | G 1 | + | G 2 |
Our basic scheme | Γ | + 3 + d 1 d ( i + 1 ) | S | + i + 1 S + 4 + 3 ( i + 1 ) ( | Γ | + 3 + d ) | G 1 | + | G 2 | ( | Γ | + 3 + d ) | G 1 | + | G 2 |
Our extended scheme 2 + d 1d15 ( 2 + d ) | G 1 | + | G 2 | + | Z p | ( 5 + | S | ) | G 1 | + 3 | G 2 | + | t a g |
Table 4. Puncturable key generation time.
Table 4. Puncturable key generation time.
OperationTime (ms)
Generation for K P 0 57.21
Generation for K P i 1 K P i 90.06
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Zhao, Q.; Zheng, D.; Zhang, Y.; Ren, Y. Fine-Grained Forward Secure Firmware Update in Smart Home. Mathematics 2023, 11, 3084. https://doi.org/10.3390/math11143084

AMA Style

Zhao Q, Zheng D, Zhang Y, Ren Y. Fine-Grained Forward Secure Firmware Update in Smart Home. Mathematics. 2023; 11(14):3084. https://doi.org/10.3390/math11143084

Chicago/Turabian Style

Zhao, Qiuxia, Dong Zheng, Yinghui Zhang, and Yan Ren. 2023. "Fine-Grained Forward Secure Firmware Update in Smart Home" Mathematics 11, no. 14: 3084. https://doi.org/10.3390/math11143084

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