Hi,

I am talking about the AIMS draft in WIMSE: 
https://datatracker.ietf.org/doc/draft-ietf-wimse-aims/

On the different elements you raise:


  *   Beyond the feeling that this is wrong, what are the threats you aim to 
solve with this binding?
  *   OAuth is Open Authorization and it requires authentication to be verified 
ahead of issuance. The User Authentication is expected but left to OIDC to 
define, while the client authentication is completely part of OAuth. Still, 
both are bound  in the issued token.
  *   Login and Session (as in session of the access to resource) happens at 
different times and we need keep them separated as only two outcomes can happen:
     *   The User will always be in the loop cause only it can unlock the key 
to prove the identity
     *   The Client has a key that represents the user and therefore there is 
no longer the ability to differentiate the user from the client creating 
confusion at the resource servers. Confusion is the enemy of proper access 
control and automatically raise multiple new threats that would need to be 
covered.
  *   mTLS provides identity assurance for all transactions
     *   Where used. mTLS stops at TLS termination layer which is not always 
compatible with the architecture at stake, see CDNs.
     *   Still, contrary argument is that it is a valid mechanism. Frameworks 
like FAPI recognize the two options for PoP as they both have value, cf. the 
initial discussion.

Coming back to the Live Key:

  *   DPoP does not forbid that the key bound to the token is the same as the 
key bound to the mTLS session
  *   When you propose that the key can be constructed with the actor being the 
client application + the device + local posture
     *   That is what WIMSE is asking to do: assert the posture of the compute 
layer (infrastructure/device, and application stack on top of it/ client) 
before issuing it a credentials that allow it to authenticate during 
authorization request
     *   WIMSE support, but does not impose, the usage of this key to act as 
mTLS client authenticator and to act as the Workload Proof Token secret (a DPoP 
equivalent for Workload)
  *   Then when you propose with the user's presence as a condition on it or not
     *   That is exactly what OAuth2.0 Step Up Authentication Challenge 
Protocol / RFC 9470 [https://datatracker.ietf.org/doc/rfc9470/ ] is for. 
Allowing Resource Server to require a refreshed proof of liveness / user 
presence for the access to be granted based on its own authorization decision.
     *   This what also fueled the current proposal of 
https://datatracker.ietf.org/doc/draft-ietf-oauth-rar-metadata-remediation/00/ 
to expand also to authorization_details for which the Authorization Server 
might also require a refreshed proof of liveness / user presence
     *   This is also a sub use case of 
https://datatracker.ietf.org/doc/draft-ietf-oauth-deferred-token-response/00/ 
where the AS could reach out of band to the user for a refreshed proof of 
liveness / user presence

Therefore we have (or will have soon) the complete framework to support the 
objectives you set through your proposal, and this in a complete respect of the 
current OAuth 2.0 model. Until we know better.

Jeff

Jean-François “Jeff” Lombardo | Amazon Web Services

Principal Standards Specialist, Identity Services
Montréal, Canada

From: Thi Nguyen-Huu <[email protected]>
Sent: September 24, 2026 9:26 AM
To: Lombardo, Jeff <[email protected]>; Neil Madden <[email protected]>
Cc: [email protected]
Subject: RE: [EXT] [OAUTH-WG] Re: Beyond the DPoP / HTTPSig choice: login and 
session as one problem


CAUTION: This email originated from outside of the organization. Do not click 
links or open attachments unless you can confirm the sender and know the 
content is safe.


AVERTISSEMENT: Ce courrier électronique provient d’un expéditeur externe. Ne 
cliquez sur aucun lien et n’ouvrez aucune pièce jointe si vous ne pouvez pas 
confirmer l’identité de l’expéditeur et si vous n’êtes pas certain que le 
contenu ne présente aucun risque.

Neil, Jeff,

Thank you both — your comments are helpful.

First, to clarify what I meant, since "client key" as I used it seems to mean 
something different in this group. In our best-practice case we use for mTLS 
the Live Key representing user + device + local posture. If the Live Key is to 
be used for DPoP or similar, it can be constructed with the actor being the 
client application + the device + local posture, with the user's presence as a 
condition on it or not. Constructed that way it would not be usable by other 
applications on the same endpoint.

But what I am proposing firstly in this email is to treat login and session as 
one problem, and this will certainly not fit all the requirements of OAuth, or 
of other existing models.

It feels wrong to me that one identity is verified — the user, mostly — and 
access is then given to another: the client, or whatever holds the token, with 
binding or not, but not the identity that was verified.

For me the right concept is to verify the identity before giving access to it, 
at the point of access, meaning at every transaction. And this goes beyond 
OAuth: the common user authentication we have today, no exception, is a login 
that serves the session and its transactions some time later. The login, or the 
token, is in the past; the access is now.

Separating login and session is suboptimal, and we had to do it because we 
could not verify the user without user friction.

mTLS provides identity assurance for all transactions, and it already 
authenticates the machines as part of the key exchange. The Live Key adds the 
user verification to it. So, where applicable, we believe this approach is more 
secure and simpler.

And I understand that OAuth should not cover authentication. Yet everywhere I 
look, the bearer token is what authentication ends up resting on. So might 
OAuth not be perfect in this one respect?

As stated in the first email, solving login and session with one solution might 
not fit anywhere. But this group is perhaps the best placed to say whether it 
is worth pursuing.

PS: Jeff, on WIMSE — I think you mean the condition-bounded credentials draft 
you reviewed in July. If you meant something else there, I would like to read it

Cheers

Thi Nguyen-Huu
CEO
winmagic.com<https://winmagic.com/>
11-80 Galaxy Blvd.  |  Toronto, ON  |  M9W 4Y8  |  Canada

From: Lombardo, Jeff <[email protected]<mailto:[email protected]>>
Sent: Wednesday, September 23, 2026 5:44 PM
To: Neil Madden <[email protected]<mailto:[email protected]>>; Thi 
Nguyen-Huu 
<[email protected]<mailto:[email protected]>>
Cc: [email protected]<mailto:[email protected]>; Lombardo, Jeff 
<[email protected]<mailto:[email protected]>>
Subject: RE: [OAUTH-WG] Re: Beyond the DPoP / HTTPSig choice: login and session 
as one problem

CAUTION:This email originated from outside of the organization. Do not click 
links, open attachments or respond unless you recognize the sender and know 
that the content is safe.

+1 to Neil

We are conflating multiple things here.

The key in DPoP, mTLS, HTTPSig is a key possessed by the Client to prove it is 
the one which got authorized through the issuance of the access token to 
perform a task for the scope, audience, and possible authorization_details as 
well as access control logic based on other claims.

When a user in involved, this happens during the authorization process. This 
could rely to a private / public key based  authentication scheme (OIDC) with a 
keyset owned by the user (FIDO2). This keyset could be stored on a portable or 
local hardware support.

The action of authorizing is here to bound: the authenticity of the user 
delegating with the key of the client acting on its behalf. Once done the user 
is no longer required to be involved as it is the client key that is used when 
accessing resources on the basis of this authorization. The fact that the 
client has a key to bound authorization and that this key is only existing upon 
security posture checks is exactly what WIMSE is already proposing.

Giving access from the client to the user bound keys is a unsecure are the 
client could then authorize itself for any scope, audience, and possible 
authorization_details as well as access control logic based on other claims 
without the user knowledge and capability of action. This would confuse the AS 
as it will impossible for it to differentiate an authorization request to act 
on behalf of the subject/user and an authorization request in the back of the 
user/subject. This would be especially bad for AI Agent architecture.

There are some works on allowing the client to expand beyond the initial 
authorization scope, audience, authorization_details, etc.  with boundaries on 
what could be requested. For example, Karl McGuiness proposal around Mission 
Based for OAuth.

Jeff

Jean-François “Jeff” Lombardo | Amazon Web Services

Principal Standards Specialist, Identity Services
Montréal, Canada

From: Neil Madden <[email protected]<mailto:[email protected]>>
Sent: September 23, 2026 4:05 PM
To: Thi Nguyen-Huu 
<[email protected]<mailto:[email protected]>>
Cc: [email protected]<mailto:[email protected]>
Subject: [EXT] [OAUTH-WG] Re: Beyond the DPoP / HTTPSig choice: login and 
session as one problem


CAUTION: This email originated from outside of the organization. Do not click 
links or open attachments unless you can confirm the sender and know the 
content is safe.


AVERTISSEMENT: Ce courrier électronique provient d’un expéditeur externe. Ne 
cliquez sur aucun lien et n’ouvrez aucune pièce jointe si vous ne pouvez pas 
confirmer l’identité de l’expéditeur et si vous n’êtes pas certain que le 
contenu ne présente aucun risque.

They are separate because they authenticate different things. The login 
authenticates the user, who then authorises a client. The client (which may or 
may not be acting under direct user supervision) then acts using the access 
token(s) - what you refer to as a session. They *could* in some circumstances 
use the same mechanism, but there is no need to conflate them. In particular, 
requiring a client to use a user’s credentials (eg key) seems to defeat the 
purpose for which OAuth exists in the first place - to avoid such credential 
sharing.

Neil

On 23 Sep 2026, at 20:42, Thi Nguyen-Huu 
<[email protected]<mailto:[email protected]>>
 wrote:

Subject: Beyond the DPoP / HTTPSig choice: login and session as one problem

Hello,

As the WG is discussing mTLS, DPoP and HTTPSig, I would like to raise a 
question I have wanted to raise since joining the IETF this year.

All three constrain who may present a token, with a proof of possession of a 
key. The token exists because the authentication happened earlier, somewhere 
else, and something has to carry it forward.

What if the key represents an identity now — that is, authentication: a 
condition-bound key, or easier for me to say a Live Key, that exists and can 
sign only while the authorized user is using the authentic, authorized endpoint 
with a policy-compliant security posture, and disappears when any of that stops 
being true.

With such a key, a login is no longer needed. An mTLS session using it as the 
client key needs no user login, and identity is proven at the moment of the 
request, on every request, for the session and each transaction in it.

That is what I would like the group to consider. Today a login is needed to 
establish who is there, and mTLS, DPoP or HTTPSig protect the session that 
follows it: two problems, two solutions.

But, one key can do both — it is the authentication, and it is what the session 
is bound to. Simpler and end-to-end.

To be precise, this key represents "identity". Online identity, as I use the 
term, is a combination of actor, platform and local posture — the actor being a 
user, an AI agent, an application, a browser, whatever acts. The key is 
therefore registered per actor and endpoint. What that identity is entitled to 
still comes from the authorization server, or from the token.

OAuth might not be about login — that is perhaps OIDC's and FIDO2's ground. But 
the issue is a gap in security, and more precisely in cryptography. Current 
user authentications, Passkeys included, end in a verdict. They do not 
establish a key to protect the data exchange that follows, as an encapsulated 
operation like an authenticated key exchange would. And so the token is not 
protected by the authentication. Other methods may provide alternatives, but 
mTLS protecting login and session in one atomic operation is stronger than 
covering login and then covering the session separately.

What I'd like to know is whether this group sees collapsing login and session 
as in scope for OAuth. I have argued elsewhere that withstanding AI-enabled 
attacks needs end-to-end cryptography, and that separating login from session 
is a gap in it — one that can be closed. If it is out of scope here, I would 
value a pointer to where it belongs — WIMSE, W3C, or elsewhere.

PS: Btw, the same condition-bound key works under all three mechanisms and can 
carry whatever the token is meant to assert.

Cheers

Thi Nguyen-Huu
CEO
<image001.png>
winmagic.com<https://winmagic.com/>
<image002.png>
11-80 Galaxy Blvd.  |  Toronto, ON  |  M9W 4Y8  |  Canada






_______________________________________________
OAuth mailing list -- [email protected]<mailto:[email protected]>
To unsubscribe send an email to 
[email protected]<mailto:[email protected]>
_______________________________________________
OAuth mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to