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

Multiple Trust Mark objects with the same ID in Entity Statement and its handling #165

Open
cicnavi opened this issue Dec 11, 2024 · 6 comments
Assignees

Comments

@cicnavi
Copy link
Collaborator

cicnavi commented Dec 11, 2024

Just to consider if it is necessary to clarify...

In Entity Statement claim trust_marks https://openid.net/specs/openid-federation-1_0.html#section-3-6.23, in theory, an entity can put multiple JSON objects with the same "id" value, designating the same Trust Mark identifier.

Is it OK to do that, or one "should not" do that? In the validation process in case of multiple trust marks with same identifier, what if one fails validation and other passes - is that a "validation pass" or "validation fail" for the same Trust Mark ID? Should we then consider the trust mark that is issued later, etc...

@zachmann
Copy link
Collaborator

My opinion on this is that this SHOULD NOT or even MUST NOT be done.

For validating on the other hand I would say if there is a valid one, there is a valid one. I think it should not matter what else might be there.
However, I certainly can expect that implementation will just iterate through the list of trust marks looking for the one with a specific trust mark id, and stop at the first one they found with that id; if that one is invalid, I would not look for another one, since my assumption would be there is only one anyway.

@cicnavi
Copy link
Collaborator Author

cicnavi commented Dec 11, 2024

Agree on most, but not sure about this:

For validating on the other hand I would say if there is a valid one, there is a valid one. I think it should not matter what else might be there.

as I imagine in theory there could be one issued earlier which never expires (and the signature checks out), and one issued later but which expired...

@selfissued
Copy link
Member

@peppelinux @rohe what are your thoughts on this?

@peppelinux
Copy link
Member

peppelinux commented Jan 8, 2025

iterating upon an array of trust marks, provided within an Entity Configuration trust_marks parameter, the first valid trust mark matching a specific id would be enough for who evaluates that trust mark type presence and validity.

@peppelinux
Copy link
Member

peppelinux commented Jan 8, 2025

I am in favor of enabling multiple trust marks with the same id and with different trust mark issuers

I want to disallow the possibility to have the same trust mark type, issued by the same issuer, multiple times within the same Entity Configuration.

@Razumain
Copy link
Collaborator

Razumain commented Jan 9, 2025

I'm not sure I see the problem.

From an algorithmic standpoint I'm looking at a number of available proofs that this entity has been granted a number of defined Trust Marks.
My validation process will look at each proof individually and attempt to validate it. If it fails, it will just discard this proof and validate the next.
In the end it will gather all successfully validated proofs and make that a list of valid Trust Marks.

If I use a resolver, I expect the resolver to the same, and give me all Trust Marks that was successfully validated.

If the same entity collects Trust Marks with the same ID from different issuers, that seems highly redundant but I fail to see where it would break anything.

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

5 participants