Skip to content

Add recommendation to not include Trust Mark issuer in Trust Anchors #214

@Razumain

Description

@Razumain

I discovered this problem at the workshop in Stockholm.

Here is the problem illustrated as a use-case:

I run Federation A with Trust Anchor TA-A and I want to extend my federation to services under Trust Anchor TA-B

Referring to earlier discussions, it should be valid, and sometime necessary to not make TA-B a direct subordinate of TA-A. One major reason could be to avoid policy conflicts between TA-A and TA-B. So in this case I make relevant IE:s under TA-B subordinate entities directly under TA-A.

But here is the problem. I also want to honor some Trust Marks under TA-B, but in this case TA-B itself acts as the Trust Mark issuer for these Trust Marks. I actually ran into exactly this problem in Stockholm.

As I have not made TA-B a subordinate of TA-A, I have no means of trusting these Trust Marks. The only way I could solve this was to also include TA-B as a subordinate of TA-A, but this also create multiple paths to the same entity. Some via TA-B and some via its subordinate IE:s.

I could solve this in my implementation as I have a parameter for resolvers to ignore subordinates under a particular entity, So I included TA-B with this restriction. But this is far from ideal.

Conclusion
I think we should have a section on recommendations regarding what services that fits well together and what federation services that should not be mixed. I can think of several valid guidelines and recommendations.

  • Trust Anchor fits well with a Resolver - Allows a single trusted key both to validate paths and resolve entities
  • Trust Anchor should not include Trust Mark endpoints (for reasons above) as it makes it harder to chain between federation contexts
  • Federation Endpoints (TA, IE, TrustMark issuers, Resolvers) MUST NOT aslo provider federated services (OP, RP, OAuth client, Authorization server, Resource server, etc) under a common Entity Identifier.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions