chrysn via RIOT notifications@riot-os.org wrote: > 1. Solve the persistence issues, possibly together with the PSA > topic > 2. Make the 802.15.4 security module get its numbers from there.
> At this point, we fix https://github.com/RIOT-OS/RIOT/issues/16844
> and get very minimal security at the level of WEP (shared key that
> doesn't get changed, and is burnt into every device)
I wasn’t thinking about such a step, but I totally agree it’s a good one. In particular, being able to burn in the 15wep key (a word I just made up) into to devices independently of the image you want to (debug) run is a great simplification of configuration errors vs coding errors.
> 3. Implement CoJP.
>
> Now we can roll over network keys, and kick devices from the network.
CoJP lets you do initial onboarding to any network that knows the device’s long-term symmetric key. It’s more than just rolling over network keys.
> 4. Implement EDHOC, get network keys with CoJP+EDHOC.
> Now we don't have to provision devices with knowledge of the network,
> but can enroll them by just handing their public key to the JRC.
This isn’t specified anywhere, but I guess it is a step we can consider but devices need to know what network they are going to join. So, i don’t think of this as a step
> 5. Implement ACE-AUTHZ in addition.
> Now the device can connect to a network even if it wasn't told
> beforehand that this is the network to connect to.
Yes.
> 100. Do something for keys not shared across the network.
> I don't know which specs to use here, and don't see a strong use
> case. (I'd use this if different devices have different quotas of
> outbound traffic or stuff like that, which is a weak case).
This involves some kind of per-peer-pair key agreement algorithm. It makes sense to use EDHOC for that, but that will require some IEEE-level “IANA” action, and a document somewhere.