<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div>Hi Dag,</div><div><br></div>the AS may use <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);">PS256 (</span><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);">RSASSA-PSS using SHA-256 and MGF1 with</span><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"> SHA-256)</span> that is an RSA signature scheme: <a href="https://datatracker.ietf.org/doc/html/rfc7518#section-3.5">https://datatracker.ietf.org/doc/html/rfc7518#section-3.5</a><div>And, if doing so shall use a key with a minimum length of 2048 bits.</div><div><br></div><div><div><div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">The AS may also use ES256 using a key with a minimum length of 160 bits.</div><div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">Or, the AS may use EdDSA with Ed25519 (implies a key length of 256 bits).</div><div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><br></div><div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">There is no need for a new bullet point. Ed25519 is specific for EdDSA (a subtype of the same) and not applicable for PS256 nor for ES256.</div></div></div></div><div><div></div></div><div><br><blockquote type="cite"><div>On 16 Aug 2024, at 13:06, dag.sneeggen via Openid-specs-fapi <openid-specs-fapi@lists.openid.net> wrote:</div><br class="Apple-interchange-newline"><div><div>New issue 706: Unclear section 5.4 of FAPI2 security profile<br>https://bitbucket.org/openid/fapi/issues/706/unclear-section-54-of-fapi2-security<br><br>Dag Sneeggen:<br><br>I was reading [https://openid.net/specs/fapi-2\_0-security-profile-ID2.html#name-cryptography-and-secrets](https://openid.net/specs/fapi-2_0-security-profile-ID2.html#name-cryptography-and-secrets) today and this section is unclear to me.<br><br>The way it’s structure leads me to think that all AS have to use only elliptic keys for JWTs, but then later in the section it also mentions RSA keys.<br><br>The reason I’m confused is because there are 4 main subsections: \(omitted parts for clarity\)<br><br>1. **Authorization Servers**, Clients, and Resource Servers when **creating or processing JWTs shall**<br><br>    1. adhere to \[[RFC8725](https://openid.net/specs/fapi-2_0-security-profile-ID2.html#RFC8725)\]<br>    2. **use** `PS256`**,** `ES256`**, or** `EdDSA` **\(using the** `Ed25519` **subtype\) algorithms**<br>    3. not use or accept the `none` algorithm<br><br>2. **RSA keys shall have a minimum length of 2048 bits**.<br>3. Elliptic curve keys shall have a minimum length of 160 bits.<br>4. 128bit entropy section.<br><br>Does this mean that AS must only use EC keys for JWTs? or is section 1b here only applicable `Ed25519` keys?<br><br>If AS must only use EC keys for JWTs then why does section 2 mention RSA keys?<br><br>Should there be a new “top-level” section between 3 and 4 that says something like “Elliptic curve subtype `Ed25519` shall use `PS256`, `ES256`, or `EdDSA` algorithms" - is this the intent?<br><br>_______________________________________________<br>Openid-specs-fapi mailing list<br>Openid-specs-fapi@lists.openid.net<br>https://lists.openid.net/mailman/listinfo/openid-specs-fapi<br></div></div></blockquote></div><br></div></body></html>