Fine-Grained Forward Secure Firmware Update in Smart Home
Abstract
:1. Introduction
1.1. Contribution
- -
- 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
1.3. Organization
2. System Architecture and Design Goal
2.1. System Architecture
- 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 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.
- (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
- 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
3.1. Access Structures and Access Tree
3.2. Lagrange Interpolation and Shamir’s Secret-Sharing Scheme
3.3. Ciphertext Policy-ABE
- Setup: Upon the input of a security parameter k, the algorithm outputs the public parameters and a master key .
- KeyGen: Upon the input of the master key and an attribute set S, the algorithm outputs a secret key associated with S.
- Encrypt: Upon the input of the public key , a message m, and an access tree , the algorithm outputs the ciphertext . The purpose of specifying is to make decryption accessible to authorized users.
- Decrypt: Upon the input of a ciphertext and a secret key associated with S, the algorithm outputs a message m or an error symbol ⊥.
3.4. Puncturable Encryption
- PE.KeyGen: Upon the input of a security parameter k and a maximum tag number d, the algorithm outputs a public key and an initial secret key .
- PE.Encrypt: Upon the input of a public key , a plaintext m, and tags , the algorithm outputs the ciphertext c.
- PE.Puncture: Upon the input of a secret key and a tag t, the algorithm outputs a new secret key . This new key revokes the decryption capability on those ciphertexts encrypted with t, and the other decryption capabilities are the same as .
- PE.Decrypt: Upon the input of a secret key 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
- -
- Bilinearity: for all and .
- -
- Non-degeneracy: , where 1 is the identity element of .
4. Formal Definition and Security Model
4.1. Definition of Basic P-CP-ABE
- Setup: It takes a security parameter k and a maximum tag number d as the input. The algorithm outputs a public key and a master secret key .
- KeyGen: It takes the master secret key , an attribute set S, and a DO identity as the input. The algorithm outputs a private key associated with for signing, a private key , and an initial puncture key to decrypt the ciphertext together.
- Encrypt: It takes a public key , a plaintext M, an access tree , a singing key associated with , and tags as the input. The algorithm outputs the ciphertext that contains the signature associated with .
- Puncture: It takes a secret key and a tag t as the input. The algorithm outputs an updated key that cannot decrypt ciphertexts encrypted with t.
- Decrypt or ⊥: It takes a ciphertext , a secret key associated with S, and a puncturable key as the input. The algorithm outputs a message M or an error symbol ⊥.
4.2. Security Model
- Init: The adversary declares the target access tree and the set of tags .
- Setup: The challenger initializes a tag set and a counter . Then, he/she executes Setup and gives to .
- Phase 1: can adaptively issue a polynomially bounded number of queries for any of the following:
- -
- KeyGen(S): queries a secret key for a set of attributes , where .
- -
- Puncture(t): The challenger sets , runs Puncture, and lets .
- -
- Corrupt(): If this is the first time issues this query and , the challenger sends the current secret key to and sets . In all other cases, Corrupt() returns ⊥.
- Challenge: sends two messages of equal length to the challenger. The challenger flips a random coin and executes Encrypt. The challenge ciphertext is sent to .
- Phase 2: It is identical to Phase 1.
- Guess: outputs a guess .
5. Forward Secure Firmware Update System
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 , where is a group of prime order p and g is a generator. Then, the TA chooses three hash functions The TA sets the attribute universe as and executes the following Setup algorithm:
- -
- Setup: The TA selects elements at random. Compute and Then, the TA selects a random element and chooses a d-degree polynomial such that . Then, the TA defines . is set as an initial tag that will not be used later in the encryption operation. The public system parameters are published as , and the master key is :
- (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 to the DO associated with its . The TA implements these operations by executing the KeyGen algorithm:
- -
- KeyGen: The TA first computes and sends to the DO. Then, the TA samples random elements and letsThe TA sends 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 and encrypts the symmetric key, which plays the role of plaintext 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: The DO first performs the first stage of encryption by selecting a random element and calculating .Then, the DO generates the signature. The DO samples a random element and calculates . The signature .The DO then performs the second-level encryption. In an access tree, consider an AND(∧) node as an threshold and an OR(∨) node as a 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 is divided among its n children by Shamir’s secret-sharing scheme. Each shared secret is assigned to each child node, and thus, this node is marked as assigned. For the leaf node , which represents an attribute, calculate , where i is the unique attribute index according to the access tree. This process is illustrated in Figure 5.Finally, the encrypted data are
- (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: If S does not satisfy or contains the punctured tags, return ⊥. Otherwise, the algorithm behaves as follows.The DU first verifies the signature. Check whether the equation 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 that satisfies . For each attribute , calculateSimultaneously, the DU decrypts the puncturable part. For , find such that and computeAfter that, the DU executes the second-level decryption. Output
- (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: First, parse , and then, parse . The DU selects at random and letsFinally, the updated key is
5.2. Extended Construction
- (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 associated with a virtual attribute and generates .
- (3)
- Latest secure firmware delivery: It is identical to the basic scheme, except:
- -
- The DO generates the first-level ciphertext and a signature on it. Then, the DO passes to the local fog node.
- -
- The fog node verifies the signature as the DU did above. If the ciphertext 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 such that . The DO generates and passes and as the root value to the fog node to generate ciphertext for each leaf. The fog node generates .
Finally, output - (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 through and , which is received from the data-user-obtained attribute set S. The fog node computes .
- ∗
- The fog node computes by and .
- ∗
- , then the fog node passes to the data user.
- -
- Decryption by the DU: After receiving , the DU computes
Finally, the DU can obtain the plaintext: - (5)
- Revocation of decryption capability of latest firmware: This process is identical to the basic system, except that the DO keeps and passes to the fog node for external decryption.
6. Security and Performance Analysis
6.1. Security Analysis
6.2. Authentication of P-CP-ABE
6.3. Data Confidentiality of P-CP-ABE
- KeyGen(S) query: requests the decryption key for the attribute set S from and contains with the form . Then, uniformly selects random elements and computes and . sends to .
- Puncture(t) query: increments n and runs Puncture, sends to , and sets .
- Corrupt() query: If this is the first time issues this query and , sends the current secret key to and sets . In all other cases, Corrupt() returns ⊥.
6.4. Collusion Resistance
6.5. Forward Security
6.6. Security Analysis of Extended Scheme
6.7. Performance Analysis
7. Conclusions and Future Work
Author Contributions
Funding
Data Availability Statement
Conflicts of Interest
References
- 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]
- 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]
- Samsung. SmartThing. Available online: http://www.smartthings.com/ (accessed on 12 July 2023).
- Amazon. AWS. Available online: https://aws.amazon.com/cn/iot/ (accessed on 12 July 2023).
- Apple. Home-App. Available online: https://www.apple.com/home-app/ (accessed on 12 July 2023).
- Alibaba. AliyunloT. Available online: https://iot.aliyun.com/ (accessed on 12 July 2023).
- 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]
- 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]
- Han, S.; Topcu, U.; Pappas, G.J. Differentially Private Distributed Constrained Optimization. IEEE Trans. Autom. Control 2017, 62, 50–64. [Google Scholar] [CrossRef]
- An, L.; Yang, G.H. Enhancement of opacity for distributed state estimation in cyber-physical systems. Automatica 2022, 136, 110087. [Google Scholar] [CrossRef]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
Notation | Description |
---|---|
The universe of attributes. | |
Two cyclic multiplicative groups. | |
Integer ring with modulus p, where p is a prime number. | |
. | |
Hash function. | |
Access tree associated with the ciphertext. | |
Number of leaves in . | |
S | Attribute set of the DU. |
The smallest subset of S that satisfies . | |
Tags associated with the ciphertext; d is the maximum number. | |
Public key, including the public system parameters. | |
Master key secretly held by the TA. | |
Participant’s private key. | |
Puncturable key, which is a component of the decryption key. |
Scheme | Access Structure | Outsource Ability | Authentication | Forward Security |
---|---|---|---|---|
Original CP-ABE [14] | Tree | ✕ 1 | ✕ | ✕ |
Pt-CP-ABE [28] | Matrix | ✕ | ✕ | √2 |
Our basic scheme | Tree | ✕ | √ | √ |
Our extended scheme | Tree | √ | √ | √ |
Scheme | Ciphertext Size | Decryption Cost | Communication Cost | ||||
---|---|---|---|---|---|---|---|
Pairing | DO | DU | |||||
Pt-CP-ABE [28] | 1 | / | |||||
Our basic scheme | 1 | ||||||
Our extended scheme | 1 | d | 1 | 5 |
Operation | Time (ms) |
---|---|
Generation for | 57.21 |
Generation for | 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. |
© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
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
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 StyleZhao, 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
APA StyleZhao, Q., Zheng, D., Zhang, Y., & Ren, Y. (2023). Fine-Grained Forward Secure Firmware Update in Smart Home. Mathematics, 11(14), 3084. https://doi.org/10.3390/math11143084