Flexible and Efficient Security Framework for Many-to-Many Communication in a Publish/Subscribe Architecture
Abstract
:1. Introduction
- We have developed a global framework, offering three types of lightweight security options in a highly efficient way. In the highest security option, security features of authentication, confidentiality, non-repudiation, and anonymity are included.
- We have embedded this security framework into the context of MQTT communication, enabling secure many-to-many communication, while taking into account the trade-off between security and efficiency.
- We have implemented our proposed solution in a testbed and, compared with MQTTS, show that the communication overhead is reduced by and the computational overhead by for the setup of a secure connection on the client side.
2. Related Work
3. Background and Preliminaries
3.1. Architecture and Attack Model
3.2. Security Features
- Option 1: Authentication and non repudiation. In this option, the receivers are able to verify the origin and content of the message. The sender is unable to afterwards deny the submitted message. This situation is typically applied in the case of environmental sensors, measuring temperature, humidity, etc.
- Option 2: Authentication, non repudiation and confidentiality. Here, nobody, not even the broker, except the subscribers are able to derive the message sent by the publishers. The broker is able to verify the authentication of the publisher in a non-repudiable manner. A typical use case for which this security level can be of interest are sensors measuring air quality and pollution. In order not to cause panic, it can be good to only let authorized people analyze the data.
- Option 3: Authentication, confidentiality, anonymity, unlinkability, and non-repudiation. Finally, in the full option, anonymity and unlinkability are also included. These features ensure that an attacker is unable to derive patterns in the communication of a set of sensors. For instance, sensors and actuators related to presence, door openers, alarms, and lamps should best keep their anonymity and unlinkability in order to avoid patterns by attackers to derive the real presence of the owner in the house. The same holds for sensors attached to a body sensor network of the patient in order to avoid tracking of a patient.
3.3. Cryptographic Operations
- Elliptic Curve Integrated Encryption Scheme [22]. ECIES enables efficient encryption to a particular receiver with public key using a random EC point . The common secret key equals to . Since , the receiver is able to derive the same key if R is added to the message.
- Schnorr signature [23]. Denote the key pair of the sender S by with , where represents the private key and the public key. To sign a message M with the Schnorr signature scheme, the sender first chooses a random value and computes . Next, it derives , resulting in the actual signature . Using , everybody knowing the public key of the sender is able to verify the signature on M by checking the equality of the equation .
- Elliptic Curve Qu Vanstone certificates [24]. ECQV certificates are a lightweight alternatives of the classical X509 certificates and are typically used in IoT applications. In addition, they have interesting security features, as they do not need a secure channel between the certificate authority (CA) and the device requesting a certificate. In addition, they offer protection against key escrow attacks, as the CA is also not aware of the private key established by the device during the protocol. Assume the key pair of the CA is defined by and is publicly available and trusted.In the ECQV protocol, the device chooses a random value and computes . This value, together with its identity and eventually a proof of identity, , are sent to the CA. The CA then also chooses a random value and computes . The certificate is then defined as . Next, the CA derives the auxiliary information for the device to derive its private key.Based on the received data of the CA, the device is able to compute its key pair . Here, and . Only if the last equality is correct, the device accepts the key pair. Any other entity is able to derive the public key knowing by using this last equality. Note that also an expiration time can be included in the hash of the computations.
3.4. MQTT
- Both publisher and subscriber are spatially separated. They only need to know the hostname/IP and port of the broker in order to send and receive messages.
- Decoupling in time is possible as the broker can store the messages for clients that are not online.
- The communication flow in MQTT works asynchronously. This means that there are no tasks blocks while awaiting or publishing a message.
4. Framework
4.1. Set-Up
4.2. Key Initialization
4.2.1. Individual Key
4.2.2. Group Key
- 1.
- Group key request of client.The device sends securely to the CA (via the broker) as response on the individual key construction, by encrypting it with the key . This allows the CA to verify the authenticity by checking if as only the device is capable to derive this value.
- 2.
- Group key request of client, forwarded by broker to CA.The broker collects all the info received by the devices and forwards it to the CA.
- 3.
- Construction of the group key related info by CA.Denote the identity of the group with , containing the group of publishers with identities and corresponding group of subscribers with identities . For both groups, a secret key pair for the publishers and for the subscribers is derived. To this end, the CA first defines a group public key byThe key pair of the publishers is then defined bySimilar for the key pair of the subscribers holds that
- 4.
- Response of CA to broker.Consequently, the group info with group identity contains the informationIn addition, the CA also computes for each of the individual publishers and subscribers the encryption of and , respectively, by means of the ECIES algorithm in which a random point is created in order to derive the common secret key , where is the public key of the publisher or subscriber.Both the group key information and the individual information is sent to the broker.
- 5.
- Response of broker to both publishers and subscribers.Upon receiving this information, the broker first checks the validity of the group key information of both the individual public keys (by the ECQV mechanism) and the group keys (by construction with ). In the first two communication modes, these data should be publicly available and stored at the broker side. In the last mode, option 3 with anonymity, the broker only stores .The broker then forwards to the publishers of the groupNote that the broker is not able to verify the individual information as it does not know the private keys of the devices.
- 6.
- Verification of the devices.
4.3. Secure Communication
- Option 1: Authentication and non-repudiation.Here, the publisher with identity and key pair sends the messageUpon arrival of this message at the broker side, the broker can check the validity by verifying the signature. If correct, the broker further forwards the message to the subscribers of the group.In a similar way as the broker, the subscribers of the group can verify the authenticity of the message.
- Option 2: Authentication, non-repudiation, and confidentiality. In this case, the publisher sends the messageAfter receiving this message, the broker is able to verify the authentication by checking the signature. If correct, the broker further forwards the message to the subscribers of the group.The subscribers, who are in the possession of the private group key are able to decrypt the message and also to verify the individual authenticity of the message.
- Option 3: Authentication, confidentiality, non-repudiation, and anonymity.For the full option, the publishers sendThe broker can again in the same way validate the authentication of the message at group level, while the subscribers are able to decrypt the message and to verify the authenticity.
4.4. Key Update Phase
5. Security Analysis
5.1. Construction of Key Material
5.2. Communication Modes
- Option 1: Thanks to the usage of the Schnorr signature and the construction of the key material, authentication, and non-repudiation are established.
- Option 2: Similar as in option 1, authentication and non-repudiation are established. In addition, due to the usage of the ECIES algorithm, also confidentiality is obtained.
- Option 3: The main difference with option 2 is that the identity of the sender is included in the encrypted message in order to obtain anonymity. As a consequence, the signature linked to that identity is also added to the encrypted message. An additional signature is included in order to allow the verification at group level by the broker. As a result, anonymity and unlinkablity are obtained as well.
6. Performance Analysis
6.1. Our Testbed
6.2. Overhead Analysis
- 1.
- Connection (+certificate request). In the connection phase, the connect (see Table 1) packet is growing by 122 bytes to include the public key and the random number g of the pub/sub node.
- 2.
- 3.
- Topic subscription (+verification number sending). For the verification phase the subscriptions packet (see Table 3) must include the encrypted verification number which adds 48 bytes to the size of the packet.
- 4.
6.3. Computational Cost
6.4. Scalability
7. Conclusions
Author Contributions
Funding
Conflicts of Interest
References
- Diro, A.A.; Chilamkurti, N.; Kumar, N. Lightweight Cybersecurity Schemes Using Elliptic Curve Cryptography in Publish-Subscribe fog Computing. Mob. Netw. Appl. 2017, 22, 848–858. [Google Scholar] [CrossRef]
- Diro, A.A.; Reda, H.; Chilamkurti, N.; Mahmood, A.; Zaman, N.; Nam, Y. Lightweight Authenticated-Encryption Scheme for Internet of Things Based on Publish-Subscribe Communication. IEEE Access 2021, 8, 60539–60551. [Google Scholar] [CrossRef]
- Carlier, M.; Steenhaut, K.; Braeken, A. Symmetric-Key-Based Security for Multicast Communication in Wireless Sensor Networks. Computers 2019, 8, 27. [Google Scholar] [CrossRef]
- Ren, K.; Lou, W.; Zhu, B.; Jajodia, S. Secure and Efficient Multicast in Wireless Sensor Networks Allowing Ad hoc Group Formation. IEEE Trans. Veh. Technol. 2009, 58, 2018–2029. [Google Scholar] [CrossRef]
- Shabisha, P.; Braeken, A.; Kumar, P.; Steenhaut, K. Fog-Orchestrated and Server-Controlled Anonymous Group Authentication and Key Agreement. IEEE Access 2019, 7, 150247–150261. [Google Scholar] [CrossRef]
- Chandramouli, A.; Choudhury, A.; Patra, A. A Survey on Perfectly Secure Verifiable Secret-Sharing. ACM Comput. Surv. 2022, 54, 1–36. [Google Scholar] [CrossRef]
- Wang, Y.; Lou, X.; Fan, Z.; Sheng, W.; Guan, H. Verifiable Multi-Dimensional (t, n) Threshold Quantum Secret Sharing Based on Quantum Walk. Int. J. Theor. Phys. 2022, 61, 156–165. [Google Scholar] [CrossRef]
- Keoh, S.; Kumar, S.; Garcia-Morchon, O.; Dijk, E.; Rahman, A. DTLS-Based Multicast Security for Low-Power and Lossy Networks (LLNs). 2014. Available online: http://www.watersprings.org/pub/id/draft-keoh-tls-multicast-security-00.html (accessed on 22 September 2022).
- Tiloca, M.; Nikitin, K.; Raza, S. Axiom: DTLS-based secure IoT group communication. ACM Trans. Embed. Comput. Syst. TECS 2017, 16, 1–29. [Google Scholar] [CrossRef]
- Tiloca, M.; Gehrmann, C.; Seitz, L. On improving resistance to denial of service and key provisioning scalability of the DTLS handshake. Int. J. Inf. Secur. 2017, 16, 173–193. [Google Scholar] [CrossRef]
- Choudhury, B.; Nag, A.; Nandi, S. DTLS based secure group communication scheme for Internet of Things. In Proceedings of the 2020 IEEE 17th International Conference on Mobile Ad Hoc and Sensor Systems (MASS), Delhi, India, 10–13 December 2020; pp. 156–164. [Google Scholar] [CrossRef]
- Peng, W.; Liu, S.; Peng, K.; Wang, J.; Liang, J. A Secure Publish/Subscribe Protocol for Internet of Things Using Identity-Based Cryptography. In Proceedings of the 5th International Conference on Computer Science and Network Technology (ICCSNT), Changchun, China, 10–11 December 2016; pp. 628–634. [Google Scholar]
- Polyakov, Y.; Rohloff, K.; Sahu, G.; Vaikuntanathan, V. Fast Proxy Re-Encryption for Publish/Subscribe Systems. Acm Trans. Priv. Secur. 2017, 20, 1–31. [Google Scholar] [CrossRef]
- Amanlou, S.; Hasan, M.; Bakar, K. Lightweight and secure authentication scheme for IoT network based on publish–subscribe fog computing model. Comput. Netw. 2021, 199, 108465. [Google Scholar] [CrossRef]
- Ion, M.; Russello, G.; Crispo, B. Design and implementation of a confidentiality and access control solution for publish/subscribe systems. Comput. Netw. 2012, 56, 2014–2037. [Google Scholar] [CrossRef]
- Tariq, M.A.; Koldehofe, B.; Rothermel, K. Securing broker-less publish/subscribe systems using identity-based encryption. IEEE Trans. Parallel Distrib. Syst. 2014, 25, 518–528. [Google Scholar] [CrossRef]
- Duan, L.; Sun, C.; Zhang, Y.; Ni, W.; Chen, J. A Comprehensive Security Framework for Publish/Subscribe-Based IoT Services Communication. IEEE Access 2019, 7, 25989–26001. [Google Scholar] [CrossRef]
- Wang, Q.; Chen, D.; Zhang, N.; Ding, Z.; Qin, Z. PCP: A Privacy-Preserving Content-Based Publish–Subscribe Scheme With Differential Privacy in Fog Computing. IEEE Access 2017, 5, 17962–17974. [Google Scholar] [CrossRef]
- Su, W.T.; Chen, W.C.; Chen, C.C. An extensible and transparent Thing-to-Thing security enhancement for MQTT protocol in IoT environment. In Proceedings of the 2019 Global IoT Summit (GIoTS), Aarhus, Denmark, 17–21 June 2019; pp. 1–4. [Google Scholar]
- Dolev, D.; Yao, A. On the security of public key protocols. IEEE Trans. Inf. Theory 1983, 29, 198–208. [Google Scholar] [CrossRef]
- Koblitz, N. Elliptic curve cryptosystems. Math. Comp. 1987, 48, 203–209. [Google Scholar] [CrossRef]
- Smart, N. The Exact Security of ECIES in the Generic Group Model. In Cryptography and Coding. Cryptography and Coding 2001; Lecture Notes in Computer Science; Honary, B., Ed.; Springer: Berlin/Heidelberg, Germnay, 2001; Volume 2260, pp. 73–84. [Google Scholar]
- Schnorr, C. Efficient identification and signatures for smart cards. In Advances in Cryptology—CRYPTO’89 Proceedings; Lecture Notes in Computer Science; Springer: New York, NY, USA, 1990; Volume 435, pp. 239–252. [Google Scholar]
- Brown, D.; Gallant, R.; Vanstone, S. Provably Secure Implicit Certificate Schemes. In Financial Cryptography; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germnay, 2001; Volume 2339, pp. 156–165. [Google Scholar]
- MQTT. Mq Telemetry Transport. Available online: https://mqtt.org/ (accessed on 1 September 2022).
- Koschuch, M.; Hudler, M.; Krüger, M. Performance Evaluation of the TLS Handshake in the Context of Embedded Devices. In Proceedings of the 2010 International Conference on Data Communication Networking (DCNET), Athens, Greece, 26–28 July 2010; pp. 35–44. [Google Scholar]
Fixed Header (2 bytes) | ||||
packet_type | remaining_length | flags | ||
Variable Header (4 bytes) | ||||
proto_name | proto_level | flags | keep_alive | |
Payload (variable) | ||||
client_id | pk (+66 bytes) | g (+66 bytes) |
Fixed Header (2 bytes) | |||
packet_type | remaining_length | flags | |
Variable Header (2 bytes) | |||
session_parent | return_code | ||
Payload (98 bytes) | |||
cert (+32 bytes) | r (+66 bytes) |
Fixed Header (2 bytes) | |||||
packet_type | remaining_length | flags | |||
Variable Header (2 bytes) | |||||
packet_id | |||||
Payload (variable) | |||||
topics | verification (+ 48 bytes) |
Fixed Header (2 bytes) | |||||
packet_type | remaining_length | flags | |||
Variable Header (2 bytes) | |||||
packet_id | |||||
Payload (variable) | |||||
topics | return_codes | group_keys private (+32 bytes) | group_keys public (+66 bytes) |
Message | Size | Remarks |
---|---|---|
ClientHello | 160–170 bytes | Depends on parameter such as cipher suites. Client Hello extensions and session resumption. |
Session ID | 132 bytes | |
ServerHello | 70–75 bytes | Varies with Server Hello extensions. |
Certificate | 800–1500 bytes | Depends on the certificate chain size and the number of certificates needed. |
ClientKeyExchange | 130 bytes | |
ChangeCipherSpec | 1 byte | |
Finished | 12 bytes | |
TLS Record Header | 5 bytes | |
TLS Handshake Header | 4 bytes |
Step (Proposed Scheme) | Operations | Time (ms) |
---|---|---|
Certificate reception | 1 PM, 1 PA, 1 H | 29 |
Verification | 1 PM, 1 AES | 20 |
Step (MQTTS) | Operations | Total Time (ms) |
ECDSA Verification | 2 PM, 1 PA, 1 H | |
ECDHE | 2 PM, 1 AES | 144 |
ECDSA Signature | 1 PM, 1 H |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 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
Van Glabbeek, R.; Deac, D.; Perale, T.; Steenhaut, K.; Braeken, A. Flexible and Efficient Security Framework for Many-to-Many Communication in a Publish/Subscribe Architecture. Sensors 2022, 22, 7391. https://doi.org/10.3390/s22197391
Van Glabbeek R, Deac D, Perale T, Steenhaut K, Braeken A. Flexible and Efficient Security Framework for Many-to-Many Communication in a Publish/Subscribe Architecture. Sensors. 2022; 22(19):7391. https://doi.org/10.3390/s22197391
Chicago/Turabian StyleVan Glabbeek, Roald, Diana Deac, Thomas Perale, Kris Steenhaut, and An Braeken. 2022. "Flexible and Efficient Security Framework for Many-to-Many Communication in a Publish/Subscribe Architecture" Sensors 22, no. 19: 7391. https://doi.org/10.3390/s22197391
APA StyleVan Glabbeek, R., Deac, D., Perale, T., Steenhaut, K., & Braeken, A. (2022). Flexible and Efficient Security Framework for Many-to-Many Communication in a Publish/Subscribe Architecture. Sensors, 22(19), 7391. https://doi.org/10.3390/s22197391