Discuss PSK authentication method and resumption method (lightweight)
Similar to what was done with PSK/resumption mechanism in TLS 1.3.
External and internal PSK
The method should still provide ephemeral key exchange, identity protection and mitigate tracking and fingerprinting.
Benefits:
1 asymmetric operation compared to three in current methods.
eliminates external things like fetching credentials from a database, revocation and path validation.
Key scheduling
Add ID_PSK in message 1. Remove ID_CRED_R and ID_CRED_I in m2 and m3, respectively. Secure privacy properties when sending ID_PSK in clear in the first message? Proposal to encrypt it using G_XY.
Add PSK to salt to derive PRK_2e (salt = [TH_2, PSK]).
PRK_3e2m, PRK_4e3m and PRK_2e should be different. (MAC oracle Charlie Jacomme)
Derive resumption PSK = EDHOC_KDF(PRK_out, 11, h'', h_len)
Discussion
Previous discussion slides:
Do we need a fourth message? It might not be necessary for cryptographic reasons but EAP-EDHOC might need it. There are two main approaches:
Approach A: Send PSK_ID in m1, similarly to how it is done in TLS 1.3.
m1: G_X, PSK_ID
m2: G_Y, MAC
m3: MAC
OSCORE
Approach B: Send PSK_ID encrypted using the ephemeral shared secret G_XY. The benefit of this is that it protects the PSK identifier from passive attackers. Better privacy than approach A.
m1: G_X
m2: G_Y
m3: PSK_ID, MAC
OSCORE
m4: MAC
Diagrams
Key schedule
https://docs.google.com/drawings/d/1CaSlUGdeJrfUj6GSp2Y6hRs69G60rnr_NOpW0ILP4x4/edit?usp=sharing
Approach A
https://docs.google.com/drawings/d/1fXr9CyR41A2-I5DCxHIdJvA1TpwNZqi8fxG5QWnTX4I/edit?usp=sharing
Approach B
https://docs.google.com/drawings/d/16pO7xMiU2ddMFHYZAozuqgMh-IcXbqVoi5k_Dx9Inxg/edit?usp=sharing