xous-core/libs
bunnie a7477ec53b
Remove key slot implementation; migrate keys to data slots
The -A1 stepping is going to tie the IFR access control
bits for data and key slots together. This is due to an RTL
bug where the key slot maps were typo'd and they ended
up mapping to the same IFR ACL.

We "could" continue to use key slots with a rule that
key and data slots would have to coordinate with each
other and not use the same slot number.

However, because of this linkage, and because there are
other bugs suspected in the keyslot implementation, an
executive decision was made to disregard the key slot
feature in the chip.

The main downsides of this are:

- fewer slots (2048 vs 4096)
- no key access linkage to HMAC auth on SCE

I *think* that's it.

Fewer slots - 2048 slots is still a lot of slots, about half are
used now, I think this is plenty.

Key access linkage to HMAC auth on SCE - I have reasons to
suspect this feature is broken anyways for subtle reasons
related to malleability of the HMAC round constants. Even
without that brokenness, it's hard to use HMAC auth to manage
the system because it requires per-device unique keys: so,
we're using a PKI scheme and no symmetric secrets to handle
access controls.

Removing the key slots also greatly simplifies the code
base analytically. This culling removes the key slot
abstraction the "simple" way, but without the weirdness
of the keyslots (in particular the key ID chaining which
makes them different from data slots) I could remove even
more abstractions and simplify the code.

One upside is now all elements can enjoy the write mode
behavior which can force the slot to be only 0->1 writeable,
which could be useful for other things down the road.

This was tested to not interfere with Dabao-Alpha 0
bootloaders.
2025-11-13 18:21:52 +08:00
..
bao1x-api Remove key slot implementation; migrate keys to data slots 2025-11-13 18:21:52 +08:00
bao1x-hal Remove key slot implementation; migrate keys to data slots 2025-11-13 18:21:52 +08:00
blitstr2 cleanup warning in latest rust 2025-11-07 00:36:57 +08:00
chat bump versions 2025-10-06 13:23:18 +08:00
cos_table format libs/cos_table 2024-01-14 19:12:38 +08:00
flatipc update formatting to latest nightly rules 2024-09-24 01:49:45 +08:00
flatipc-derive update formatting to latest nightly rules 2024-09-24 01:49:45 +08:00
keystore-api add ephemeral api 2025-11-12 15:27:55 +08:00
mass-storage bump versions 2025-10-06 13:23:18 +08:00
perflib bump versions 2025-10-06 13:23:18 +08:00
precursor-hal reduce the pddb size for the vexii-test target 2025-07-21 19:03:24 +08:00
tls bump versions 2025-10-06 13:23:18 +08:00
userprefs bump versions 2025-10-06 13:23:18 +08:00
ux-api reduce debug noise 2025-11-12 17:46:38 +08:00
xous-bio bump versions 2025-10-06 13:23:18 +08:00
xous-bio-bdma improve std interface for bio 2025-10-28 18:01:17 +08:00
xous-pio bump versions 2025-10-06 13:23:18 +08:00
xous-pl230 bump versions 2025-10-06 13:23:18 +08:00