#experimental #key #key-exchange #message #suite #public-key #secret

no-std edhoc

Experimental EDHOC implementation with fourth optional message

1 unstable release

0.1.0 May 8, 2022

#60 in #suite

MIT/Apache

74KB
1.5K SLoC

oscore

An experimental EDHOC key exchange implementation, intended for embedded devices.

This EDHOC implementation is a update on the already existing implementation. The protocol is updated to comply with draft-ietf-lake-edhoc-12.

Be aware that this implementation is experimental, and only implement the STATIC-STATIC autentication mode, and cipher suite 0 of EDHOC.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.


lib.rs:

An experimental OSCORE implementation with EDHOC key exchange, intended for embedded devices.

The EDHOC implementation is based on the older version 14 of draft-selander-ace-cose-ecdhe. It only does authentication with raw public keys (RPK), so it covers the asymmetric authentication scenario, but not the symmetric one using pre-shared keys (PSK). On the OSCORE side, it does key derivation using the master secret and master salt, which can be established with EDHOC.

There is documentation as well as a demo implementation using this library, with a resource server on an STM32F3, a client on an STM32F4 and a CoAP proxy running on a Raspberry Pi.

Security

This should not currently be used in production code, use at your own risk.

Dependencies

~4.5MB
~86K SLoC