*Seven comments on draft-ietf-oauth-attestation-based-client-auth-11 (1) General. The draft does not address in section 4 or elsewhere the suspension or the revocation of a Client Attestation JWT. This important consideration should be added into the draft. *

*(2) Page 6. Section 1.1 (**Data Flow).***

*Change: *

**optionally, properties of that key (e.g., that it was securely generated or resides in hardware-backed storage) *

*into: *

**optionally, characteristics of the Client Instance (e.g., the criteria against which the Client Instance has been assessed and in particular the protection of keys managed by the Client Instance, as well as the protection aimed at limiting the use of these keys to that Client Instance) *

*Rational: The field is renamed from "properties of that key" to "characteristics of the Client Instance" which is more general. The characteristics of the Client Instance may include additional features or properties that are unrelated to the protection or use of keys managed by the Client Instance.
*

*
(3) Page 7. Section 3 (Terminology). *

*Change: *

*Client Attestation JWT:A JSON Web Token (JWT) generated by the Client Attester that attests to the authenticity of a Client Instance and is cryptographically bound to a key managed by that Client Instance.A Client Attestation JWT may additionally convey information about the integrity or state of the Client Instance. *

*into: *

*Client Attestation JWT:A JSON Web Token (JWT) generated by the Client Attester that attests to the authenticity of a Client Instance and is cryptographically bound to a key managed by that Client Instance.A Client Attestation JWT may additionally convey information about the characteristics of the Client Instance. *

*Rational: The second sentence is changed to use the words "characteristics of the Client Instance". *

*(4) Page 18. Section 7.1 (Client Attestation JWT) The first instance of a client_id appears in the item 7: *

   *7. If a client_id is provided in the request containing the Client*
   *Attestation, then this client_id matches the sub claim of the*
   *Client Attestation JWT, unless specified otherwise by a profile*
   *as described in Section 13.*

***The use of this parameter is not sufficiently explained. An explanation is provided in section 7.5. A reference to section 7.5 should be added and/or some text of that section should be copied here.

*
*
*
*(5)**Page 30. Section 11.1 (Client Instance Tracking Across Authorization Servers or Resource Servers)*

*In a Client Attestation JWT, the sub claim is defined as: * sub: REQUIRED. The sub (subject) claim MUST specify the client_id value of the OAuth Client, unless specified otherwise by a profile as described in Section 13. Since the sub claim is REQUIRED, using different Client Instance Keys will be insufficient to prevent tracking Across Authorization Servers or Resource Servers. Tracking can also be made using the exp (expiration time) claim and the iat (issued at) claim when they are defined with a fine level of granularity. Section 13 (mentioned in the above sentence) states: A profile MAY deviate on the following points: * The subject of the Client Attestation JWT: a profile MAY redefine the meaning of the sub claim (see Section 4) and how a client_id maps to Client Instances. Such a profile MUST define how the checks that rely on sub matching the client_id are replaced, in particular those in Section 7.1 and Section 7.5. This explanation is unclear. The 'sub' field can be useful to suspend or revoke a Client Attestation JWT. If the 'sub' field is made OPTIONAL, then tracking Client Instance JWTs across Authorization Servers or Resource Servers can be prevented, but suspension or revocation will no more be possible. One solution to consider will be to allow tracking Client Instance JWTs across Authorization Servers, but not across Resource Servers. In this way, Authorization Servers will be able to ask for the revocation of one or more Client Attestation JWTs by a Client Attester and to verify that a Client Attestation JWT has not be suspended or revoked **by the Client Attester.* *In certain deployment scenarios, there will be a single Authorization Server and hence there will not be a tracking problem across Authorization Servers. Some text should be added to address this issue. (6) Page 30. Section 11.1 (Client Instance Tracking Across Authorization Servers or Resource Servers) Whatever solution will be described to address the previous issue, the following text addition is proposed: In certain deployment scenarios, the number of Resource Servers can be quite large compared to the number of Authorization Servers. In such a case, instead of supporting this protocol between a Client Instance and a Resource Server, an alternative approach can be used that **allows to limit the number of Client Attestation JWTs with different Client Instance Keys**. *

*At step (7), when the Client Instance accesses a protected resource,
it may present a security token either directly issued by an
Authorization Server or derived by the Client Instance from data
issued by an Authorization Server.The Authorization Server
can include into the issued data the characteristics of the Client
Instance.  In this way, since the Resource Server trusts the
Authorization Server, it can rely on the Client Instance
characteristics contained in the security token.This is a
transitive trust relationship.*

*Rational: This alternative approach allows the use of **Client Attestation **JWTs
exclusively with Authorization Servers.**
*

*
(7) Page 32. Add a new section under section 12 (Security Considerations) called: *

*12.3 Characteristics of the Client Instance *

*In a Client Attestation JWT, the characteristics of the Client Instance are optional.When they are included in it, before accepting or validating these characteristics, the Authorization Server (or the Resource Server) must verify that it can trust the Client Attester to provide them.Such verification may prove easier when the criteria against which the Client Instance was evaluated (e.g. a reference to a Protection Profile or to a Policy Identifier) are disclosed among the characteristics of the Client Instance.In this way, the Client Attester can be held liable if the declared characteristics do not comply with the criteria. *

*Rational: This text paves the way for defining (elsewhere) a structure for the characteristics of the client instance that allows the Client Attester to be held liable if the declared characteristics do not comply with the criteria. Denis*


This message starts a WG Last Call for:
draft-ietf-oauth-attestation-based-client-auth-11

This Working Group Last Call ends on 2026-09-22

Abstract:
    This specification defines an extension to the OAuth 2.0 protocol
    (RFC 6749) that enables a client instance to include a key-bound
    attestation when interacting with an Authorization Server or Resource
    Server.  This mechanism allows a client instance to prove its
    authenticity verified by a client attester without revealing its
    target audience to that attester.  It may also serve as a mechanism
    for client authentication as per OAuth 2.0.

File can be retrieved from:
https://www.ietf.org/archive/id/draft-ietf-oauth-attestation-based-client-auth-11.txt

Please review and indicate your support or objection to proceed with the
publication of this document by replying to this email [email protected]
in copy. Objections should be explained and suggestions to resolve them are
highly appreciated.

Authors, and WG participants in general, are reminded of the Intellectual
Property Rights (IPR) disclosure obligations described in BCP 79 [1].
Appropriate IPR disclosures required for full conformance with the provisions
of BCP 78 [1] and BCP 79 [2] must be filed, if you are aware of any.
Sanctions available for application to violators of IETF IPR Policy can be
found at [3].

Thank you.

[1]https://datatracker.ietf.org/doc/bcp78/
[2]https://datatracker.ietf.org/doc/bcp79/
[3]https://datatracker.ietf.org/doc/rfc6701/

The IETF datatracker status page for this Internet-Draft is:
https://datatracker.ietf.org/doc/draft-ietf-oauth-attestation-based-client-auth/

There is also an HTML version available at:
https://www.ietf.org/archive/id/draft-ietf-oauth-attestation-based-client-auth-11.html

A diff from the previous version is available at:
https://author-tools.ietf.org/iddiff?url2=draft-ietf-oauth-attestation-based-client-auth-11

_______________________________________________
OAuth mailing list [email protected]
To unsubscribe send an email [email protected]

_______________________________________________
OAuth mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to