Abstract
Incorrect cryptographic protocol implementation and malware attacks targeting its runtime may lead to insecure execution even if the protocol design has been proven safe. This research focuses on adapting a runtime-verification-centric trusted execution environment (RV-TEE) solution to a quantum-future cryptographic protocol deployment. We aim to show that our approach is practical through an instantiation of a trusted execution environment supported by runtime verification and any hardware security module compatible with commodity hardware. In particular, we provide: (i) A group chat application case study which uses the quantum-future group key establishment protocol from González Vasco et al., (ii) An implementation of the protocol from González Vasco et al. employing a resource-constrained hardware security module, (iii) The runtime verification setup tailored for the protocol’s properties, (iv) An empirical evaluation of the setup focusing on the user experience of the chat application.
This work is supported by the NATO Science for Peace and Security Programme through project G5448 Secure Communication in the Quantum Era.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
- 2.
- 3.
- 4.
We describe the implementation of the GAKE protocol in more detail in Sect. 4.
- 5.
Note that although the maximum number of participants in Fig. 4 is 60, this is not the limit of our implementation with the adjustment. The maximum number of participants for which we were able to successfully run our implementation was 789.
- 6.
Strictly speaking, the chat app properties are not protocol properties and arguably not part of the RV-TEE. However, checking that the chat app works as expected, means that it is more likely that the underlying protocol is also being used in a correct manner.
- 7.
This applies to the PC only implementation configuration. In the case of PC + HSM, the sensitive data never leaves the hardware security module.
- 8.
- 9.
Our analysis leaves out assertion checks such as non-null arguments. Our reasoning is that these checks could be implemented as simple assertions in the code and thus arguably not strictly part of RV.
References
Alkim, E., Bilgin, Y.A., Cenk, M., Gérard, F.: Cortex-M4 optimizations for \(\{\)R, M\(\}\) LWE schemes. IACR Trans. Cryptogr. Hardw. Embed. Syst. 2020, 336–357 (2020)
Aumasson, J.P.: Serious Cryptography: A Practical Introduction to Modern Encryption. No Starch Press, San Francisco (2017)
Avanzi, R., et al.: Kyber - public GitHub repository (2021). https://github.com/pq-crystals/kyber. Accessed 13 July 2021
Barak, B.: The complexity of public-key cryptography. In: Tutorials on the Foundations of Cryptography. ISC, pp. 45–77. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-57048-8_2
Barthe, G., Grégoire, B., Laporte, V.: Secure compilation of side-channel countermeasures: the case of cryptographic “constant-time”. In: 2018 IEEE 31st Computer Security Foundations Symposium (CSF), pp. 328–343. IEEE (2018)
Bauer, A., Jürjens, J.: Runtime verification of cryptographic protocols. Comput. Secur. 29(3), 315–330 (2010)
Bernstein, D.J.: Cache-timing attacks on AES (2005)
Bernstein, D.J.: Curve25519: new Diffie-Hellman speed records. In: Yung, M., Dodis, Y., Kiayias, A., Malkin, T. (eds.) PKC 2006. LNCS, vol. 3958, pp. 207–228. Springer, Heidelberg (2006). https://doi.org/10.1007/11745853_14
Bindel, N., Herath, U., McKague, M., Stebila, D.: Transitioning to a quantum-resistant public key infrastructure. In: Lange, T., Takagi, T. (eds.) PQCrypto 2017. LNCS, vol. 10346, pp. 384–405. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-59879-6_22
Blu5 Labs: SEcube - open source projects (2021). https://www.secube.blu5group.com/resources/open-source-projects/. Accessed 13 July 2021
Blu5 Labs: SEcube - reconfigurable silicon (2021). https://www.secube.eu/site/assets/files/1145/secube_datasheet_-_r7.pdf. Accessed 16 June 2021
Bos, J., et al.: CRYSTALS-Kyber: a CCA-secure module-lattice-based KEM. In: 2018 IEEE European Symposium on Security and Privacy (EuroS&P), pp. 353–367. IEEE (2018)
Clarkson, M.R., Schneider, F.B.: Hyperproperties. In: Proceedings of the 21st IEEE Computer Security Foundations Symposium, CSF 2008, Pittsburgh, Pennsylvania, USA, 23–25 June 2008, pp. 51–65. IEEE Computer Society (2008). https://doi.org/10.1109/CSF.2008.7
Colin, S., Mariani, L.: 18 run-time verification. In: Broy, M., Jonsson, B., Katoen, J.-P., Leucker, M., Pretschner, A. (eds.) Model-Based Testing of Reactive Systems. LNCS, vol. 3472, pp. 525–555. Springer, Heidelberg (2005). https://doi.org/10.1007/11498490_24
Colombo, C., Pace, G.J.: Industrial experiences with runtime verification of financial transaction systems: lessons learnt and standing challenges. In: Bartocci, E., Falcone, Y. (eds.) Lectures on Runtime Verification. LNCS, vol. 10457, pp. 211–232. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-75632-5_7
Colombo, C., Pace, G.J., Schneider, G.: LARVA – safer monitoring of real-time java programs (tool paper). In: Seventh IEEE International Conference on Software Engineering and Formal Methods (SEFM), pp. 33–37. IEEE Computer Society, November 2009
Colombo, C., Vella, M.: Towards a comprehensive solution for secure cryptographic protocol execution based on runtime verification. In: Proceedings of the 6th International Conference on Information Systems Security and Privacy, ICISSP, pp. 765–774. SCITEPRESS (2020)
Curmi, A., Colombo, C., Vella, M.: Runtime verification for trustworthy secure shell deployment (2021)
Daemen, J., Rijmen, V.: The Design of Rijndael. Springer, Heidelberg (2002). https://doi.org/10.1007/978-3-662-04722-4
Das, S., Russo, G., Dingman, A.C., Dev, J., Kenny, O., Camp, L.J.: A qualitative study on usability and acceptability of Yubico security key. In: Proceedings of the 7th Workshop on Socio-Technical Aspects in Security and Trust, pp. 28–39 (2018)
Dodis, Y., Kiltz, E., Pietrzak, K., Wichs, D.: Message authentication, revisited. In: Pointcheval, D., Johansson, T. (eds.) EUROCRYPT 2012. LNCS, vol. 7237, pp. 355–374. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-29011-4_22
González Vasco, M.I., Pérez del Pozo, Á.L., Steinwandt, R.: Group key establishment in a quantum-future scenario. Informatica 31(4), 751–768 (2020)
Jager, T., Schwenk, J., Somorovsky, J.: Practical invalid curve attacks on TLS-ECDH. In: Pernul, G., Ryan, P.Y.A., Weippl, E. (eds.) ESORICS 2015. LNCS, vol. 9326, pp. 407–425. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-24174-6_21
Kannwischer, M.J., Rijneveld, J., Schwabe, P.: Faster multiplication in \(\mathbb{Z}_{2^m}[x]\) on Cortex-M4 to speed up NIST PQC candidates. In: Deng, R.H., Gauthier-Umaña, V., Ochoa, M., Yung, M. (eds.) ACNS 2019. LNCS, vol. 11464, pp. 281–301. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-21568-2_14
Katz, J., Yung, M.: Scalable protocols for authenticated group key exchange. In: Boneh, D. (ed.) CRYPTO 2003. LNCS, vol. 2729, pp. 110–125. Springer, Heidelberg (2003). https://doi.org/10.1007/978-3-540-45146-4_7
Kocher, P., et al.: Spectre attacks: exploiting speculative execution. In: 2019 IEEE Symposium on Security and Privacy (SP), pp. 1–19. IEEE (2019)
Krawczyk, H., Bellare, M., Canetti, R.: HMAC: keyed-hashing for message authentication. IETF RFC 2104 (1997)
Leucker, M., Schallhart, C.: A brief account of runtime verification. J. Log. Algebraic Program. 78(5), 293–303 (2009)
Libsodium (2021). https://libsodium.gitbook.io/doc/. Accessed 13 July 2021
Marczak, B., Scott-Railton, J.: Move fast and roll your own crypto: a quick look at the confidentiality of zoom meetings. Technical report (2020). https://citizenlab.ca/2020/04/move-fast-roll-your-own-crypto-a-quick-look-at-the-confidentiality-of-zoom-meetings/. Accessed 15 June 2021
McKeen, F., et al.: Intel® software guard extensions (intel® sgx) support for dynamic memory management inside an enclave. In: Proceedings of the Hardware and Architectural Support for Security and Privacy 2016, pp. 1–9 (2016)
Meier, S., Schmidt, B., Cremers, C., Basin, D.: The TAMARIN prover for the symbolic analysis of security protocols. In: Sharygina, N., Veith, H. (eds.) CAV 2013. LNCS, vol. 8044, pp. 696–701. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-39799-8_48
Morio, K., Jackson, D., Vassena, M., Künnemann, R.: Modular black-box runtime verification of security protocols (2020)
NIST: FIPS PUB 180–2, SHA256 Standard (2002)
Poulin, C.: What to do to protect against Heartbleed OpenSSL vulnerability (2014). https://www.yubico.com/. Accessed 13 July 2021
Sabt, M., Achemlal, M., Bouabdallah, A.: Trusted execution environment: what it is, and what it is not. In: 14th IEEE International Conference on Trust, Security and Privacy in Computing and Communications (2015)
Schwabe, P., Stoffelen, K.: All the AES you need on Cortex-M3 and M4. In: Avanzi, R., Heys, H. (eds.) SAC 2016. LNCS, vol. 10532, pp. 180–194. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-69453-5_10
Somech, N., Kessem, L.: Breaking the ice: a deep dive into the IcedID banking trojan’s new major version release (2020). https://securityintelligence.com/posts/breaking-the-ice-a-deep-dive-into-the-icedid-banking-trojans-new-major-version-release/. Accessed 15 June 2021
Thales: High assurance hardware security modules (2020). https://cpl.thalesgroup.com/encryption/hardware-security-modules/network-hsms. Accessed 13 July 2021
Varriale, A., Prinetto, P., Carelli, A., Trotta, P.: SEcube (TM): data at rest and data in motion protection. In: Proceedings of the International Conference on Security and Management (SAM), p. 138 (2016)
Vella, M., Colombo, C., Abela, R., Špaček, P.: RV-TEE: secure cryptographic protocol execution based on runtime verification. J. Comput. Virol. Hack. Tech. 17(3), 229–248 (2021). https://doi.org/10.1007/s11416-021-00391-1
Wang, Z., Yu, H., Zhang, Z., Piao, J., Liu, J.: ECDSA weak randomness in Bitcoin. Futur. Gener. Comput. Syst. 102, 507–513 (2020)
Whiting, D., Housley, R., Ferguson, N.: Counter with CBC-MAC (CCM). IETF RFC 3610 (2003)
Wojtczuk, R., Rutkowska, J.: Attacking intel trusted execution technology. Black Hat DC 2009 (2009)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
Cite this paper
Abela, R. et al. (2021). Secure Implementation of a Quantum-Future GAKE Protocol. In: Roman, R., Zhou, J. (eds) Security and Trust Management. STM 2021. Lecture Notes in Computer Science(), vol 13075. Springer, Cham. https://doi.org/10.1007/978-3-030-91859-0_6
Download citation
DOI: https://doi.org/10.1007/978-3-030-91859-0_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-91858-3
Online ISBN: 978-3-030-91859-0
eBook Packages: Computer ScienceComputer Science (R0)