diff options
| author | Dimitri Staessens <dimitri@ouroboros.rocks> | 2026-06-21 14:07:00 +0200 |
|---|---|---|
| committer | Sander Vrijders <sander@ouroboros.rocks> | 2026-06-29 08:33:00 +0200 |
| commit | 55a8136859d82d9bdb8f85abb25290177ca7e561 (patch) | |
| tree | e3b87e09322867245a49fe11c51b621efcff2730 /src/irmd/oap/internal.h | |
| parent | 552a4c4469db1cedacc02eb4f9969afe73e0fb42 (diff) | |
| download | ouroboros-55a8136859d82d9bdb8f85abb25290177ca7e561.tar.gz ouroboros-55a8136859d82d9bdb8f85abb25290177ca7e561.zip | |
irmd: Harden OAP handshake and add cert-less re-key
Adds support for:
Server key confirmation: the session key is bound to the
negotiated algorithm via the HKDF info. The server returns a
key-confirmation tag (rsp_tag, replacing the bare request-hash echo),
so a cipher downgrade or key desync is detected. The cleartext path
keeps a request echo, compared in constant time.
Sealed server identity: AEAD-seal the certificate, signature and
piggybacked data in the encrypted response (kex and rsp_tag move
ahead as AAD), hiding the server identity and response sizes.
Cert-less re-key: let the client omit its certificate, verifying the
peer against the cached certificate. On PQC flows, ephemeral
server-encap KEX (preserving forward secrecy) is used, even if the
original flow allocation was client-encap.
Signed-off-by: Dimitri Staessens <dimitri@ouroboros.rocks>
Signed-off-by: Sander Vrijders <sander@ouroboros.rocks>
Diffstat (limited to 'src/irmd/oap/internal.h')
0 files changed, 0 insertions, 0 deletions
