Abstract
Privacy preserving mechanisms are essential for protecting data in IoT environments. This is particularly challenging as IoT environments often contain heterogeneous resource-constrained devices. One method for protecting privacy is to encrypt data with a pattern or metadata. To prevent information leakage, an evaluation using the pattern must be performed before the data can be retrieved. However, the computational costs associated with typical privacy preserving mechanisms can be costly. This makes such methods ill-suited for resource-constrained devices, as the high energy consumption will quickly drain the battery. This work solves this challenging problem by proposing SyLPEnIoT – Symmetric Lightweight Predicate Encryption for IoT, which is lightweight and efficient compared with existing encryption schemes. Based on the bitwise-XOR operation, we use this basic gate to construct a scheme that transfers encrypted data onto more powerful machines. Furthermore, for resource-constrained IoT devices, the requester can authenticate devices at different levels based on the type of communication. SyLPEnIoT was meticulously designed to run on a gamut of IoT devices, including ultra low-power sensors that are constrained in terms of CPU processing, memory and energy consumption, which are widely deployed in real IoT ecosystems.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Abdalla, M., Bourse, F., De Caro, A., Pointcheval, D.: Simple functional encryption schemes for inner products. In: Katz, J. (ed.) PKC 2015. LNCS, vol. 9020, pp. 733–751. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-46447-2_33
Abdalla, M., Catalano, D., Fiore, D., Gay, R., Ursu, B.: Multi-input functional encryption for inner products: function-hiding realizations and constructions without pairings. In: Shacham, H., Boldyreva, A. (eds.) CRYPTO 2018. LNCS, vol. 10991, pp. 597–627. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-96884-1_20
Agrawal, S., Freeman, D.M., Vaikuntanathan, V.: Functional encryption for inner product predicates from learning with errors. In: Lee, D.H., Wang, X. (eds.) ASIACRYPT 2011. LNCS, vol. 7073, pp. 21–40. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-25385-0_2
Agrawal, S., Libert, B., Maitra, M., Titiu, R.: Adaptive simulation security for inner product functional encryption. In: Kiayias, A., Kohlweiss, M., Wallden, P., Zikas, V. (eds.) PKC 2020. LNCS, vol. 12110, pp. 34–64. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-45374-9_2
Atzori, L., Iera, A., Morabito, G.: The internet of things: a survey. Comput. Netw. 54(15), 2787–2805 (2010)
Bernstein, D.J.: The Salsa20 family of stream ciphers. In: Robshaw, M., Billet, O. (eds.) New Stream Cipher Designs. LNCS, vol. 4986, pp. 84–97. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-68351-3_8
Bishop, A., Jain, A., Kowalczyk, L.: Function-hiding inner product encryption. In: Iwata, T., Cheon, J.H. (eds.) ASIACRYPT 2015. LNCS, vol. 9452, pp. 470–491. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-48797-6_20
Boneh, D., Di Crescenzo, G., Ostrovsky, R., Persiano, G.: Public key encryption with keyword search. In: Cachin, C., Camenisch, J.L. (eds.) EUROCRYPT 2004. LNCS, vol. 3027, pp. 506–522. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-24676-3_30
Boneh, D., Waters, B.: Conjunctive, subset, and range queries on encrypted data. In: Vadhan, S.P. (ed.) TCC 2007. LNCS, vol. 4392, pp. 535–554. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-70936-7_29
Carter, H., Mood, B., Traynor, P., Butler, K.: Secure outsourced garbled circuit evaluation for mobile devices. In: Proceedings of the 22nd USENIX, pp. 289–304 (2013)
Cash, D., Jarecki, S., Jutla, C., Krawczyk, H., Roşu, M.-C., Steiner, M.: Highly-scalable searchable symmetric encryption with support for Boolean queries. In: Canetti, R., Garay, J.A. (eds.) CRYPTO 2013. LNCS, vol. 8042, pp. 353–373. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-40041-4_20
Chase, M., Miao, P.: Private set intersection in the internet setting from lightweight oblivious PRF. In: Micciancio, D., Ristenpart, T. (eds.) CRYPTO 2020. LNCS, vol. 12172, pp. 34–63. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-56877-1_2
CISCO: Cisco IoT System Security: Mitigate Risk, Simplify Compliance, and Build Trust (2015)
Curtmola, R., Garay, J., Kamara, S., Ostrovsky, R.: Searchable symmetric encryption: improved definitions and efficient constructions. In: Proceedings of the 13th ACM CCS 2006, pp. 79–88 (2006)
Freeman, D.M.: Converting pairing-based cryptosystems from composite-order groups to prime-order groups. In: Gilbert, H. (ed.) EUROCRYPT 2010. LNCS, vol. 6110, pp. 44–61. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-13190-5_3
Gay, R., Méaux, P., Wee, H.: Predicate encryption for multi-dimensional range queries from lattices. In: Katz, J. (ed.) PKC 2015. LNCS, vol. 9020, pp. 752–776. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-46447-2_34
Golle, P., Staddon, J., Waters, B.: Secure conjunctive keyword search over encrypted data. In: Jakobsson, M., Yung, M., Zhou, J. (eds.) ACNS 2004. LNCS, vol. 3089, pp. 31–45. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-24852-1_3
Gorbunov, S., Vaikuntanathan, V., Wee, H.: Predicate encryption for circuits from LWE. In: Gennaro, R., Robshaw, M. (eds.) CRYPTO 2015. LNCS, vol. 9216, pp. 503–523. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-48000-7_25
Hazay, C., Toft, T.: Computationally secure pattern matching in the presence of malicious adversaries. In: Abe, M. (ed.) ASIACRYPT 2010. LNCS, vol. 6477, pp. 195–212. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-17373-8_12
Kamara, S., Mohassel, P., Riva, B.: Salus: a system for server-aided secure function evaluation. In: Proceedings of the 2012 ACM CCS, pp. 797–808 (2012)
Katsumata, S., Nishimaki, R., Yamada, S., Yamakawa, T.: Adaptively secure inner product encryption from LWE. Cryptology ePrint Archive, Report 2020/1135 (2020). https://eprint.iacr.org/2020/1135
Katz, J., Sahai, A., Waters, B.: Predicate encryption supporting disjunctions, polynomial equations, and inner products. In: Smart, N. (ed.) EUROCRYPT 2008. LNCS, vol. 4965, pp. 146–162. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-78967-3_9
Kim, S., Lewi, K., Mandal, A., Montgomery, H., Roy, A., Wu, D.J.: Function-hiding inner product encryption is practical. In: Catalano, D., De Prisco, R. (eds.) SCN 2018. LNCS, vol. 11035, pp. 544–562. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-98113-0_29
Lai, S., et al.: Result pattern hiding searchable encryption for conjunctive queries. In: Proceedings of the 2018 ACM CCS 2018, pp. 745–762 (2018)
Lee, K., Lee, D.H.: Improved hidden vector encryption with short ciphertexts and tokens. Des. Codes Cryptogr. 58(3), 297–319 (2011). https://doi.org/10.1007/s10623-010-9412-x
Lewko, A., Okamoto, T., Sahai, A., Takashima, K., Waters, B.: Fully secure functional encryption: attribute-based encryption and (hierarchical) inner product encryption. In: Gilbert, H. (ed.) EUROCRYPT 2010. LNCS, vol. 6110, pp. 62–91. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-13190-5_4
NIST: Post-Quantum Cryptography PQC, Security (Evaluation Criteria) (2020). https://csrc.nist.gov/projects/post-quantum-cryptography/post-quantum-cryptography-standardization/evaluation-criteria/security-(evaluation-criteria)
Peikert, C.: Public-key cryptosystems from the worst-case shortest vector problem: extended abstract. In: Proceedings of the Forty-First Annual ACM Symposium on Theory of Computing, pp. 333–342 (2009)
Pinkas, B., Rosulek, M., Trieu, N., Yanai, A.: SpOT-light: lightweight private set intersection from sparse OT extension. In: Boldyreva, A., Micciancio, D. (eds.) CRYPTO 2019. LNCS, vol. 11694, pp. 401–431. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-26954-8_13
Regev, O.: On lattices, learning with errors, random linear codes, and cryptography (2009)
Sedghi, S., van Liesdonk, P., Nikova, S., Hartel, P., Jonker, W.: Searching keywords with wildcards on encrypted data. In: Garay, J.A., De Prisco, R. (eds.) SCN 2010. LNCS, vol. 6280, pp. 138–153. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-15317-4_10
Shen, E., Shi, E., Waters, B.: Predicate privacy in encryption systems. In: Reingold, O. (ed.) TCC 2009. LNCS, vol. 5444, pp. 457–473. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-00457-5_27
Shi, E., Bethencourt, J., Chan, T.H., Song, D., Perrig, A.: Multi-dimensional range query over encrypted data. In: 2007 IEEE Symposium on Security and Privacy. SP 2007, pp. 350–364 (2007)
Shi, E., Waters, B.: Delegating capabilities in predicate encryption systems. In: Aceto, L., Damgård, I., Goldberg, L.A., Halldórsson, M.M., Ingólfsdóttir, A., Walukiewicz, I. (eds.) ICALP 2008. LNCS, vol. 5126, pp. 560–578. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-70583-3_46
Shor, P.W.: Algorithms for quantum computation: discrete logarithms and factoring. In: Proceedings 35th FOCS, pp. 124–134 (1994)
Song, D.X., Wagner, D., Perrig, A.: Practical techniques for searches on encrypted data. In: Proceedings of the SP 2000, p. 44 (2000)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
A Security Proof
A Security Proof
Theorem 2
The SyLPEnIoT scheme is selectively simulation-secure in the standard model under the assumption that PRF is a pseudo-random function.
Again, we use the notion \(Q_{\textsf {Tkn}}\) as the total number of token queries, and the notion \(Q_{\textsf {Enc}}\) as the total number of ciphertext queries.
Proof. We show that for any uniform probabilistic polynomial-time algorithm \(\mathcal {A}\), there exists a uniform probabilistic polynomial-time simulator \(\mathcal {S}\), such that the ensemble distribution: \( (\{\textsf {CT}_i\}_{i \in [1, Q_{\textsf {Enc}}]}, \{\textsf {TK}_{f_j}\}_{j \in [1, Q_{\textsf {Tkn}}]}) {\mathop {\leftarrow }\limits ^{R}} \textsf {Expt}_{\textsf {SyLPEnIoT}, \mathcal {A}}^{sel,\textsf {real}} (\lambda , \ell ) \) and the ensemble distribution: \( (\{\textsf {CT}_i\}_{i \in [1, Q_{\textsf {Enc}}]}, \{\textsf {TK}_{f_j}\}_{j \in [1, Q_{\textsf {Tkn}}]}) {\mathop {\leftarrow }\limits ^{R}} \textsf {Expt}_{\textsf {SyLPEnIoT}, \mathcal {A}}^{sel,\textsf {sim}} (\lambda , \ell ) \) are computationally indistinguishable. We then construct the simulator \(\mathcal {S}\) in the experiment sim. First, we consider the simplest scenario where \(\mathcal {A}\) makes \(Q_{\textsf {Enc}}= 1\) ciphertext query and \(Q_{\textsf {Tkn}}\le \textsf {poly}(\lambda )\) gen-token queries.
Since in our main SyLPEnIoT scheme, the input \(\mathcal {I}\) is described as a vector \(\vec {v}\), and a predicate is defined as a vector \(\vec {x}\), and the evaluation returns \(f_{\vec {x}}(\vec {v}) = 1\) iff the inner product \({<}\vec {v}, \vec {x}{>}\,= 0\). In this proof, we describe directly the simulation of \(\vec {v}, \vec {x}\) instead of attribute \(\mathcal {I}\), predicate f.
-
Inputs to Simulator \(\mathcal {S}\). Let \(Q_{\textsf {Enc}}= 1\), we assume that \(\mathcal {A}\) queries the simulator with a query history of the form \(\mathcal {H} = (\vec {v}, M, \vec {x}_1, \ldots , \vec {x}_Q)\). \(\mathcal {S}\) receives the security parameter \(1^{\lambda }\) along with the query history \(\mathcal {H}\). We recall the definition of query pattern \(\alpha (\mathcal {H})\), and decryption pattern \(\beta (\mathcal {H})\) as:
-
Given a query history \(\mathcal {H} = (\vec {v}, M ,\vec {x}_1, \ldots , \vec {x}_{Q_{\textsf {Tkn}}})\) for SyLPEnIoT scheme, we set \(\vec {x}_j = (x_{j,1}, \ldots , x_{j, \ell })\) for each \(j \in [1, Q_{\textsf {Tkn}}]\), where \(\ell \) is the length of f in SyLPEnIoT scheme. The token query pattern \(\alpha (\mathcal {H})\) is a set of of values
\(\{\alpha _{i,j,k}\}_{i,j \in [1,Q_{\textsf {Tkn}}], k \in [1,\ell ]}\) such that: \(\alpha _{i,j,k} = {\left\{ \begin{array}{ll} 1, &{} x_{i,k} = x_{j,k}\\ 0 , &{} otherwise \end{array}\right. },\) where \(i,j \in [1, Q_{\textsf {Tkn}}]\), \(k \in [1,\ell ]\) .
-
Then let \(\textsf {TK}_{f_j}\) be the gen-token corresponding to \(\vec {x}_j\) in \(\mathcal {H}=(\vec {v}, M ,\vec {x}_1, \ldots , \vec {x}_{Q_{\textsf {Tkn}}})\), where \(j \in [1, Q_{\textsf {Tkn}}]\). Also, let \(\textsf {CT}\) denotes a ciphertext upon the encryption of the plaintext \(\vec {v}, M\). The decryption pattern \(\beta (\mathcal {H})\) received by \(\mathcal {S}\) is defined as a set of values \(\{\beta _j\}_{j \in [1, Q_{\textsf {Tkn}}]}\): \(\beta _{j} = {\left\{ \begin{array}{ll} M, &{} {<}\vec {v}, \vec {x}_j{>}\,= 0\\ \perp , &{} otherwise \end{array}\right. },\)
We choose the values \(W_1, \ldots , W_{\ell } {\mathop {\leftarrow }\limits ^{R}} \{0,1\}^{\lambda }\) to simulate the \(\textsf {PRF}(\textsf {SK}, *||k)\) for \(k \in [1, \ell ]\).
-
-
Simulating GenToken. The simulator \(\mathcal {S}\) now generates GenToken
\(\{\textsf {TK}_{f_j}\}_{j \in [1, Q_{\textsf {Tkn}}]}\) using the algorithm below. Note that since the GenToken algorithm is deterministic, \(\mathcal {S}\) ensures the GenToken generate are consistent with the predicate vectors.
-
Simulating the Ciphertext. The plaintext \((\vec {v}, M)\) is not known to \(\mathcal {S}\). The only things that the simulator can learn are the various leakages of encrypted data and the secret keys. To simulate the components including the wildcard ‘*’, the values \(W_1, W_2, \ldots , W_\ell {\mathop {\leftarrow }\limits ^{R}} \{0,1\}^{\lambda }\) are used by \(\mathcal {S}\) to simulate \(\textsf {PRF}(\textsf {SK}, *||k)\) for \(k \in [1, \ell ]\).
-
If some \(j \in [1,Q_{\textsf {Tkn}}]\), \({<}\vec {v}, \vec {x}_j{>}\,= 0\), then at the positions k where \(\vec {x}_{j_k} = 1\), it can deduce \( \vec {v}_k = 0\), and from \(\vec {x}_{j_k} = 0\); it can infer \(\vec {v}_k = 1\) or \(\vec {v}_k = 0\). This information allows \(\mathcal {S}\) to simulate the ciphertext components as:
-
The final step is to simulate the c component. Recall that the decryption pattern is the set of value \({\beta _1, \ldots , \beta _Q}\). For \(j \in [1, Q_{\textsf {Tkn}}]\), \(\beta _j\) output of 1 if \({<}\vec {v}, \vec {x}{>}\,= 0\), then M is a message. Otherwise, then M is set as the string \(\{\perp \}^{\lambda }\). Later, M is used to generate the \(c = \textsf {SKE}.\textsf {Encrypt}(K,M)\) as in the real world. This ensures that decrypting C using \(\textsf {TK}_{f_j}\), the message M is recovered correctly. On the other hand, \({<}\vec {v}, \vec {x}_j{>}\,= 1\) for \(j \in [1, Q_{\textsf {Tkn}}]\), decrypting with any the token \(\textsf {TK}_{f_j}\) always returns the string \(\{\perp \}^{\lambda }\) .
-
-
The Indistinguishability Argument. This argues that a probabilistic polynomial-time distinguisher \(\mathcal {D}\) cannot computationally distinguish \((\textsf {CT}, \{\textsf {TK}_{f_j}\}_{j \in [1, Q_{\textsf {Tkn}}]}) {\mathop {\leftarrow }\limits ^{R}} \textsf {Expt}_{\textsf {SyLPEnIoT}, \mathcal {A}}^{sel,\textsf {real}} (\lambda , \ell )\) from
\((\textsf {CT}, \{\textsf {TK}_{f_j}\}_{j \in [1,Q_{\textsf {Tkn}}]}) {\mathop {\leftarrow }\limits ^{R}} \textsf {Expt}_{\textsf {SyLPEnIoT}, \mathcal {A}}^{sel,\textsf {sim}} (\lambda , \ell )\). The indistinguishability is presented as:
-
At the first simulation of \(\textsf {Expt}_{\textsf {SyLPEnIoT}, \mathcal {A}}^{sel,\textsf {sim}}\) as \(((\mathcal {I}_1,M_1),\ldots , (\mathcal {I}_{Q_{\textsf {Enc}}},M_{Q_{\textsf {Enc}}}),f_1, \ldots , f_{Q_{\textsf {Tkn}}}){\mathop {\leftarrow }\limits ^{R}} \mathcal {A}(1^{\lambda })\), it does not include the secret key SK with all but negligible probability, and the secret keys generated in the real mode of experiment using the pseudo-random function PRF are indistinguishable from the uniformly random secret keys generated by the simulator \(\mathcal {S}\). Then, this can distinguish between the output of PRF and a uniformly random string of size \(\lambda \) without knowing the corresponding secret key \(\textsf {SK}\). In the same way, the components of the ciphertext \(\textsf {CT}\) in the real experiment must also be indistinguishable from those generated by the simulator \(\mathcal {S}\).
-
Finally, if there exists at least one \(j \in [1,Q_{\textsf {Tkn}}]\) such that \({<}\vec {v}, \vec {x}_j{>}\,= 0\), \(\mathcal {S}\) gains knowledge of the message M, which is used to generate \(c = \textsf {SKE}.\textsf {Encrypt}(K,M)\) as in the real world. In this case, the indistinguishability is trivial. On the other hand, \({<}\vec {v}, \vec {x}_j{>}\,= 1\) for \(j \in [1,Q_{\textsf {Tkn}}]\), decrypting \(\textsf {CT}\) using any \(\textsf {TK}_{f_j}\) does not reveal the secret key K, which is used to encrypt M.
-
-
Polynomial Ciphertext Queries. The simulator \(\mathcal {S}\) can address polynomially many ciphertext queries of the form \(\{(\mathcal {I}_i, M_i)\}_{i \in [1, Q_{\textsf {Enc}}]]}\). The simulator \(\mathcal {S}\) essentially repeats the same ciphertext simulation phase for each such query. As our security definition, the simulator \(\mathcal {S}\) receives as input the decryption pattern corresponding to each ciphertext query \((\mathcal {I}_i , M_i)\). Hence, it can either infer the corresponding payload message \(M_i\) or a string \(\{\perp \}^{\lambda }\). Additionally, the components for \(\textsf {CT}_i\) are chosen consistently with the token-gen \(\{\textsf {TK}_{f_j}\}_{j \in [1,Q_{\textsf {Tkn}}]}\). This ensures that, if \(f_j(\mathcal {I}_i) = 1\) for some \(j \in [1, Q_{\textsf {Tkn}}]\), then decrypting \(\textsf {CT}_i\) using \(\textsf {TK}_{f_j}\) correctly recovers the string \(\{0,1\}^{\lambda }\). Finally, the simulation of two ciphertexts \(\textsf {CT}_i\) and \(\textsf {CT}_i'\) can proceed independent of whether the corresponding attributes \(\mathcal {I}_i\) and \(\mathcal {I}_i'\) match in one or more components. This completes the proof of Theorem 1.
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
Cite this paper
Viet Xuan Phuong, T., Susilo, W., Yang, G., Kim, J., Chow, YW., Liu, D. (2021). SyLPEnIoT: Symmetric Lightweight Predicate Encryption for Data Privacy Applications in IoT Environments. In: Bertino, E., Shulman, H., Waidner, M. (eds) Computer Security – ESORICS 2021. ESORICS 2021. Lecture Notes in Computer Science(), vol 12973. Springer, Cham. https://doi.org/10.1007/978-3-030-88428-4_6
Download citation
DOI: https://doi.org/10.1007/978-3-030-88428-4_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-88427-7
Online ISBN: 978-3-030-88428-4
eBook Packages: Computer ScienceComputer Science (R0)