You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Expanidng a little bit for documentation and other readers.
JWE with asymmetric content encryption use an hybrid encryption scheme (like TLS). The scheme has two component:
(1) a secret sharing algorithm (or key encryption algorithm), which is an asymmetric secret sharing scheme like diffie hellman, which uses a public/private key pair. This key is called Key Encryption Key (KEK). This algorithm will negotiate a (symmetric) Content Encryption Key (CEK).
Which secret sharing algorithm to use is contaned in the alg header https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.1.
(2) a content encryption algorithm, which will use the CEK shared above to actually encrypt the content payload. Which algorithm is used to encrypt the payload is in the enc header https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.2
We already do use AES-GCM with 256 bit size key as the default algorithm for content encryption (2).
Se default map for content encryption algorithm, which favours AES-GCM for EC KEK
I'm not sure if there is a KEK (asymmetric) scheme (1) that involves AES-GCM.
Our default is ECDH-ES+A256KW, which I'm honestly clueless about the details. I was knowledgebale only about ECDH-ES.
Expanding the issue with current Potential LSP requirement, I'd personally prefer is Potential LSP mandated both a default content encryption algorithm (AES-GCM) AND key encryption algorithm (no proposal as of 2025-02-18), that is, clealy specified what to support in both alg and enc header parameters of a JWE.
Let's use A256GCM by default
as it is supported by cryptojwt as well: https://github.com/search?q=repo%3AIdentityPython%2FJWTConnect-Python-CryptoJWT%20%20A256GCM&type=code
@Zicchio ^
The text was updated successfully, but these errors were encountered: