Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

audience REQUIRED for just one trust domain? #63

Closed
obfuscoder opened this issue Jan 15, 2024 · 4 comments
Closed

audience REQUIRED for just one trust domain? #63

obfuscoder opened this issue Jan 15, 2024 · 4 comments

Comments

@obfuscoder
Copy link

obfuscoder commented Jan 15, 2024

This issue is somewhat related to the aud claim comment I made earlier via mail to the authors.

The spec states that audience parameter is REQUIRED in the Txn-Token request. It contains the trust domain. To my understanding, every trust domain has a single (logical) Txn-Service. A Txn-Service is usually configured to only issue Txn-Tokens to one and only one trust domain. Also the authenticating clients which the Txn-Service accepts in incoming requests are part of that trust domain. After all, they have been registered within that trust domain. It might be possible that the Txn-Service is used in multiple trust domains. In those scenarios I fully agree that the audience parameter is REQUIRED. My guess is, though, that the most deployed setup will incorporate a single trust domain.

@gffletch
Copy link
Collaborator

So, with the move to bind the sub claim to the trust domain identified by the aud claim, I believe we should keep it to be required. I also think that there will be deployments with multiple Transaction Token Services (each using their own unique signing keys) that service a single trust domain.

What is the benefit of making the aud claim optional?

@obfuscoder
Copy link
Author

What is the benefit of making the aud claim optional?

Mostly brevity reasons. Also, if it is defined as REQUIRED, it will be enforced by 3rd party libraries which a company might want to integrate in their components/services. This essentially forces the company (albeit using Txn-Tokens within their trust domain only internally) to define and set the aud claim without added benefit.

Having aud REQUIRED also implies that the value needs to be validated somehow. I think this aspect should be mentioned in the spec, if it is really required. So every Token service must have the audience parameter validated as well as every service/worker receiving a Txn-Token must validate the aud claim against a configured accepted value (or list of values).

@tulshi
Copy link
Collaborator

tulshi commented Feb 1, 2024

I think aud is required to prevent a TraT from being reused in a domain its not supposed to be used in.

@tulshi
Copy link
Collaborator

tulshi commented Feb 2, 2024

Closing as per discussion in meeting on 2/2/24: https://hackmd.io/@rpc-sec-wg/Hk0ggi5ca

@tulshi tulshi closed this as completed Feb 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants