On 17/10/2018 7:44 PM, Andrew Worsley wrote:
>
>
> On 17 Oct 2018 7:00 pm, "Usman Saeed via luv-main"
> <luv-main@luv.asn.au <mailto:luv-main@luv.asn.au>> wrote:
>
> Hi,
>
> I am working on a project involving distributed radio nodes
> connected over a wireless network. We are using symmetric key
> cryptography for ciphering (AES-256). The radio nodes are running
> Linux on a 250MHz processor.
> I need a solution to manage the symmetric keys in this network of
> nodes, written in C/C++. The solution should be able to manage the
> life cycle of the keys. It should be able to auto-generate a new
> key (upon expiry or when manually instructed by the user) and
> securely disseminate it in the network and archive the old key
> after activation of the new key.
> I have looked at Key Management Interoperability Protocol (KMIP).
> It provides all of these features but sadly there is no
> open-source implementation available in C.
> Does anyone know a solution for symmetric key management that can
> provide these features and implemented in the open-source domain?
>
> Thanks,
> Usman
>
>
> If you are not wedded to AES have a look at wireguard.
> https://lwn.net/Articles/761939/
>
> It's available on many distributions are automatically handles
> updating session keys once you have registered each nodes public key.
> I found the lkms package very easy get under Debian Stretch.
>
> It's light weight, simple and just works without complex Daemon needed.
>
> If you want to support many nodes with arbitrary linkage you will
> need to run some more complex routing system I guess.
>
> Andrew
Hi,
I second the idea of using a schema along the lines implemented in
WireGuard. You might be able re-purpose the WireGuard kernel module for
your communications.
Your talk about 'securely dissemination' of the keys, WireGuard does
initially need the keys to be shared but from there is its all automatic.
Cheers
Mike