IoT Group Membership Management Using Decentralized Identifiers and Verifiable Credentials
Abstract
:1. Introduction
- Given the DID of a group, any entity can verify that a signed item has been produced by an authorized member of that group.
- The signing keys of the IoT devices can be rotated without requiring any communication with the group administrator, or other group members, or clients.
- IoT endpoints can be easily added to or removed from a CoAP group.
- IoT endpoints have only to implement legacy digital signature algorithms in order to support our solution.
- Breached singing keys can be easily detected.
2. Background and Related Work
2.1. CoAP Group Communication
2.2. Decentralized Identifiers
2.3. Verifiable Credentials
2.4. Related Work
3. Design
3.1. The Did:Self Method
- id: The DID which the document concerns.
- verificationMethod: A list of public keys expressed using the “JsonWebKey2020” notation [15]. Each key in the list is identified by an id.
- authentication: A list of public keys, or public key identifiers that can be used to authenticate the DID holder.
- assertion: A list of public keys or public key identifiers that can be used to verify digital signatures of VCs.
- jti: The DID the proof refers to.
- iat: The date and time of the proof’s generation.
- exp: An expiration time.
- s256: The base64url encoded hash of the DID document, calculated using SHA-256.
- Verify that the DID is equal to the jti claim of the proof.
- Verify that the digest of the DID document is equal to the s256 claim of the proof.
- Verify that the proof has not expired.
- Verify the signature of the proof using the did:self DID (recall that a did:self DID is a public key.)
3.2. System Entities
3.3. Owner Onboarding and Endpoint Management
- jti: An issuer-specific VC identifier.
- iss: The .
- sub: The .
- iat: A timestamp indicating the VC’s issuance time.
- exp: A timestamp indicating the VC’s expiration time.
- vc: The actual VC (see the following).
1 { 2 “jti”:“member1”, 3 “iss”:“did:self:…”, 4 “sub”:“did:self:…”, 5 “iat”:1650558962, 6 “exp”:1681663521, 7 “vc”:{ 8 “type”:[“membership”], 9 “credentialSubject”:{ 10 “group”:“building1.floor1”, 11 } 12 } 13 }
3.4. CoAP Request
3.5. CoAP Response
- URI: The CoAP URI of the requested resource.
- token: The token included in the CoAP request.
- s256: The hash of the CoAP response payload, calculated using SHA-256.
3.6. CoAP Response Verification
- Initially, it extracts the membership VC included in the membership option and verifies its proof using the appropriate assertion key defined in the DID document of the group administrator. If the proof includes an expiration time, the client verifies that this time has not passed. If all verifications are successful, the client validates that the groups claim includes the requested group and that the sub claim includes the of the endpoint that responded.
- The client extracts the DID document of included in the endpoint option and verifies its proof. Then, it retrieves from that DID document the public key which has been used as the authentication key.
- The client verifies that the attestation option includes the correct values for the URI, token, and sha-256 fields. Then, it verifies the digital signature of that option using the extracted authentication key.
3.7. Membership Cancellation
Membership VC Revocation
4. Implementation and Evaluation
4.1. Performance Evaluation
4.2. Security Properties
Resilience to Attacks
4.3. Comparison to Other Approaches
4.3.1. Registry-Based DID Methods
4.3.2. Lightweight Certificates
4.3.3. VC-Less Approach
5. Conclusions and Future Work
Author Contributions
Funding
Data Availability Statement
Conflicts of Interest
References
- Rahman, A.; Dijk, E. Group Communication for the Constrained Application Protocol (CoAP); RFC 7390; IETF: Fremont, CA, USA, 2014. [Google Scholar]
- Sporny, M.; Guy, A.; Sabadello, M. Decentralized Identifiers (DIDs) v1.0. W3C Proposed Recommendation, W3C. 2021. Available online: https://www.w3.org/TR/did-core/ (accessed on 25 April 2022).
- Sporny, M.; Noble, G.; Longley, D.; Burnett, D.C.; Zundel, B.; Hartog, K.D. Verifiable Credentials Data Model 1.0. W3C Recommendation, W3C. 2019. Available online: https://www.w3.org/TR/verifiable-claims-data-model/ (accessed on 25 April 2022).
- Shelby, Z.; Hartke, K.; Bormann, C. The Constrained Application Protocol (CoAP); RFC 7252; IETF: Fremont, CA, USA, 2014. [Google Scholar]
- Ansey, R.; Kempf, J.; Berzin, O.; Xi, C.; Sheikh, I. Gnomon: Decentralized Identifiers for Securing 5G IoT Device Registration and Software Update. In Proceedings of the 2019 IEEE Globecom Workshops (GC Wkshps), Waikoloa, HI, USA, 9–13 December 2019; IEEE: Piscataway, NJ, USA, 2019; pp. 1–6. [Google Scholar]
- Figueroa-Lorenzo, S.; Añorga Benito, J.; Arrizabalaga, S. Modbus Access Control System Based on SSI over Hyperledger Fabric Blockchain. Sensors 2021, 21, 5438. [Google Scholar] [CrossRef] [PubMed]
- Terzi, S.; Savvaidis, C.; Votis, K.; Tzovaras, D.; Stamelos, I. Securing Emission Data of Smart Vehicles with Blockchain and Self-Sovereign Identities. In Proceedings of the 2020 IEEE International Conference on Blockchain (Blockchain), Rhodes, Greece, 2–6 November 2020; IEEE: Piscataway, NJ, USA, 2020; pp. 462–469. [Google Scholar]
- Fan, X.; Chai, Q.; Xu, L.; Guo, D. DIAM-IoT: A Decentralized Identity and Access Management Framework for Internet of Things. In Proceedings of the 2nd ACM International Symposium on Blockchain and Secure Critical Infrastructure, Taipei, Taiwan, 6 October 2020; pp. 186–191. [Google Scholar]
- de Diego, S.; Regueiro, C.; Maciá-Fernández, G. Enabling Identity for the IoT-as-a-Service Business Model. IEEE Access 2021, 9, 159965–159975. [Google Scholar] [CrossRef]
- Fotiou, N.; Thomas, Y.; Siris, V.A.; Xylomenos, G.; Polyzos, G.C. Securing Named Data Networking routing using Decentralized Identifiers. In Proceedings of the 2021 IEEE 22nd International Conference on High Performance Switching and Routing (HPSR), Paris, France, 7–10 June 2021; pp. 1–6. [Google Scholar]
- Fotiou, N.; Siris, V.; Polyzos, G. Enabling self-verifiable mutable content items in IPFS using Decentralized Identifiers. In Proceedings of the DI2F: Decentralising the Internet with IPFS and Filecoin, IFIP Networking, Espoo, Finland, 21 June 2021. [Google Scholar]
- Josefsson, S. The Base16, Base32, and Base64 Data Encodings; RFC 4648; IETF: Fremont, CA, USA, 2006. [Google Scholar]
- Bernstein, D.J.; Duif, N.; Lange, T.; Schwabe, P.; Yang, B.Y. High-speed high-security signatures. J. Cryptogr. Eng. 2012, 2, 77–89. [Google Scholar] [CrossRef] [Green Version]
- Bormann, C.; Hoffman, P. Concise Binary Object Representation (CBOR); RFC 8949; IETF: Fremont, CA, USA, 2020. [Google Scholar]
- W3C Credentials Community Group. DDID Specification Registries; Working Group Note; W3C Credentials Community Group: Cambridge, MA, USA, 2021. [Google Scholar]
- Jones, M.; Bradley, J.; Sakimura, N. JSON Web Signature (JWS); RFC 7515; IETF: Fremont, CA, USA, 2015. [Google Scholar]
- Schaad, J. CBOR Object Signing and Encryption (COSE); RFC 8152; IETF: Fremont, CA, USA, 2017. [Google Scholar]
- Hoffman, P.; Schlyter, J. The DNS-Based Authentication of Named Entities (DANE) Transport Layer Security (TLS) Protocol: TLSA; RFC 6698; IETF: Fremont, CA, USA, 2012. [Google Scholar]
- Sporny, M.; Longley, D. (Eds.) Revocation List 2020; Draft Community Group Report; W3C Credentials Community Group: Cambridge, MA, USA, 2021. [Google Scholar]
- Liu, Z.; Seo, H.; Castiglione, A.; Choo, K.K.R.; Kim, H. Memory-efficient implementation of elliptic curve cryptography for the Internet-of-Things. IEEE Trans. Dependable Secur. Comput. 2018, 16, 521–529. [Google Scholar] [CrossRef]
- af Heurlin, L. Authorization Certificate based Access Control in Embedded Environments. Master’s Thesis, Aalto University, Espoo, Finland, 2015. [Google Scholar]
Operation | Time (ms) Using RPi | Time (ms) Using ESP32 |
---|---|---|
Ed22519 pair generation | 46 | 452 |
DID document and proof generation using COSE | 2.7 | 293 |
Membership VC generation using COSE | 2.7 | 293 |
Attestation generation using COSE | 0.7 | 82 |
DID document verification | 1.5 | 160 |
Membership VC verification | 1.5 | 160 |
Attestation verification | 1.5 | 160 |
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
Fotiou, N.; Siris, V.A.; Xylomenos, G.; Polyzos, G.C. IoT Group Membership Management Using Decentralized Identifiers and Verifiable Credentials. Future Internet 2022, 14, 173. https://doi.org/10.3390/fi14060173
Fotiou N, Siris VA, Xylomenos G, Polyzos GC. IoT Group Membership Management Using Decentralized Identifiers and Verifiable Credentials. Future Internet. 2022; 14(6):173. https://doi.org/10.3390/fi14060173
Chicago/Turabian StyleFotiou, Nikos, Vasilios A. Siris, George Xylomenos, and George C. Polyzos. 2022. "IoT Group Membership Management Using Decentralized Identifiers and Verifiable Credentials" Future Internet 14, no. 6: 173. https://doi.org/10.3390/fi14060173
APA StyleFotiou, N., Siris, V. A., Xylomenos, G., & Polyzos, G. C. (2022). IoT Group Membership Management Using Decentralized Identifiers and Verifiable Credentials. Future Internet, 14(6), 173. https://doi.org/10.3390/fi14060173