By
- Mališa Vučinić LAKE Working Group Co-chair
- Stephen Farrell LAKE Working Group Co-chair
5 Jun 2024
Ephemeral Diffie-Hellman Over COSE (EDHOC) is a very compact, lightweight authenticated key exchange protocol, providing state-of-the-art security including mutual authentication, forward secrecy and identity protection.
EDHOC is designed to be a security enabler in the next generation of Internet-of-Things products and can be used for instance in appliances for home and businesses. One example of a company working in this area is ASSA ABLOY, who offer a broad range of access solutions where EDHOC is considered as a suitable authentication component enabling modern standards-based IoT integrations that are power efficient, fast and lightweight.
EDHOC is built on proven technologies. It uses the Concise Binary Object Representation (CBOR) encoding for message compactness, without sacrificing on extensibility. It leverages the CBOR Object Signing and Encryption (COSE) algorithms to provide cryptographic agility and reduce the amount of new code that is required on constrained devices. EDHOC also uses COSE for identification of authentication credentials, including COSE keys, CBOR Web Token (CWT), CWT Claims Set (CCS), X.509, and CBOR-encoded X.509 (C509) certificates. EDHOC’s authentication credentials, e.g. certificates, need not be transported over the air, a feature that enables significant byte savings. Through this effective usage of Internet technologies standardized for constrained environments, and careful cryptographic design, EDHOC guarantees mutual authentication of the two endpoints and the confidentiality of the established shared secret. This secret can then be used by other protocols such as Object Security for Constrained RESTful Environments (OSCORE) or COSE for data encryption.
Following up on the successful standardization stories of TLS 1.3 and Messaging Layer Security (MLS), particular attention during the standardization process in the LAKE working group was given to formal verification of protocol security. The academic community was invited to study the protocol and responded with more than 5 independent studies. The open process gives assurance that the protocol is sound.
EDHOC is already widely implemented. Optimized implementations for microcontrollers exist in Rust and in C, and in Java for non-constrained systems. Implementations have been interop-tested through several interop events organized by the LAKE working group. More implementation effort is always welcome and any feedback should be communicated to the LAKE working group, which is continuing the maintenance of EDHOC by compiling implementation experience, defining application profiles and adding security applications through the integration point defined by the base protocol.
Source – Internet Engineering Task Force (IETF)