<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On 31 May 2021, at 12:01, Pawel Kowalik via Openid-specs-ab <<a href="mailto:openid-specs-ab@lists.openid.net" class="">openid-specs-ab@lists.openid.net</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div class="">Hi,</div><div dir="ltr" class=""><br class=""></div><div dir="ltr" class="">> For example, the trust chain works differently than what I was used too in X.509. In X.509, the intermediary or trust anchor </div><div dir="ltr" class="">> would issue a certificate binding certain attributes of an entity to the public key of this entity. In federation, the chain starts</div><div dir="ltr" class="">> with a self-signed statement of the entity about itself. The intermediary or trust anchor then seems to vouch for the public key</div><div dir="ltr" class="">> of the entity the respective federation policy is about? That’s not fully clear to me, perhaps I’m the only one.  Moreover, I’m not</div><div dir="ltr" class="">> completely sure I understood how entity statements, metadata and federation api relate to each other and work together.  <br class="">
><br class="">> I think an overview describing and motivating the design concepts and principles would be helpful to readers. <br class=""></div><div dir="ltr" class=""><br class=""></div><div class="">We also made a similar observation when trying to employ this specification.</div><div class="">Namely it is not intuitive how an intermediate or trust anchor could express metadata information about an entity it vouches for.</div><div class=""><br class=""></div><div class="">As per 2.1 metadata claim is only possible if iss==sub, meaning only for the self-statement and forbidden for all other cases.</div><div class="">The only way an intermediate X may say something about a leaf Y is through metadata_policy by enforcing a value,</div></div></div></blockquote><div><br class=""></div>Correct !</div><div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class=""> like in this example:</div><div class=""><br class=""></div><div class=""><span id="gmail-docs-internal-guid-77aff23d-7fff-e138-8b3c-e6a462a84cc6" class=""><div style="line-height: 1.2; border-left-width: 0.5pt; border-left-style: solid; border-left-color: rgb(0, 0, 0); border-right-width: 0.5pt; border-right-style: solid; border-right-color: rgb(0, 0, 0); border-top-width: 0.5pt; border-top-style: solid; border-top-color: rgb(0, 0, 0); margin-top: 0pt; margin-bottom: 0pt; padding: 1pt 4pt 0pt;" class=""><span style="font-size: 10pt; font-family: "Courier New"; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class=""> "metadata_policy": {</span></div><div style="line-height: 1.2; border-left-width: 0.5pt; border-left-style: solid; border-left-color: rgb(0, 0, 0); border-right-width: 0.5pt; border-right-style: solid; border-right-color: rgb(0, 0, 0); margin-top: 0pt; margin-bottom: 0pt; padding: 0pt 4pt;" class=""><span style="font-family: "Courier New"; font-size: 10pt; white-space: pre-wrap;" class="">    "openid_relying_party": {</span><br class=""></div><div style="line-height: 1.2; border-left-width: 0.5pt; border-left-style: solid; border-left-color: rgb(0, 0, 0); border-right-width: 0.5pt; border-right-style: solid; border-right-color: rgb(0, 0, 0); margin-top: 0pt; margin-bottom: 0pt; padding: 0pt 4pt;" class=""><font face="Courier New" class=""><span style="font-size:13.3333px;white-space:pre-wrap" class="">...</span></font></div><div style="line-height: 1.2; border-left-width: 0.5pt; border-left-style: solid; border-left-color: rgb(0, 0, 0); border-right-width: 0.5pt; border-right-style: solid; border-right-color: rgb(0, 0, 0); margin-top: 0pt; margin-bottom: 0pt; padding: 0pt 4pt;" class=""><span style="font-size: 10pt; font-family: "Courier New"; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">      "organization_name": {"value": "NTNU"},</span></div><div style="line-height: 1.2; border-left-width: 0.5pt; border-left-style: solid; border-left-color: rgb(0, 0, 0); border-right-width: 0.5pt; border-right-style: solid; border-right-color: rgb(0, 0, 0); margin-top: 0pt; margin-bottom: 0pt; padding: 0pt 4pt;" class=""><span style="font-size: 10pt; font-family: "Courier New"; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">      "trust_level": {"value": 2},</span></div><div style="line-height: 1.2; border-left-width: 0.5pt; border-left-style: solid; border-left-color: rgb(0, 0, 0); border-right-width: 0.5pt; border-right-style: solid; border-right-color: rgb(0, 0, 0); margin-top: 0pt; margin-bottom: 0pt; padding: 0pt 4pt;" class=""><span style="font-size: 10pt; font-family: "Courier New"; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">...</span></div><div style="line-height: 1.2; border-left-width: 0.5pt; border-left-style: solid; border-left-color: rgb(0, 0, 0); border-right-width: 0.5pt; border-right-style: solid; border-right-color: rgb(0, 0, 0); margin-top: 0pt; margin-bottom: 0pt; padding: 0pt 4pt;" class=""><span style="font-variant-numeric: normal; font-variant-east-asian: normal; font-size: 10pt; font-family: "Courier New"; vertical-align: baseline; white-space: pre-wrap;" class="">    }</span><span style="font-variant-numeric: normal; font-variant-east-asian: normal; font-size: 10pt; font-family: "Courier New"; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;" class="">,</span><br class=""></div><div style="line-height: 1.2; border-left-width: 0.5pt; border-left-style: solid; border-left-color: rgb(0, 0, 0); border-right-width: 0.5pt; border-right-style: solid; border-right-color: rgb(0, 0, 0); margin-top: 0pt; margin-bottom: 0pt; padding: 0pt 4pt;" class=""><span style="font-family: "Courier New"; font-size: 10pt; white-space: pre-wrap;" class="">  },</span><br class=""></div></span><br class="gmail-Apple-interchange-newline"></div><div class="">This is however semantically not the same as X issuing a statement that Y has a name of "NTNU" and trust level 2.</div></div></div></blockquote><div><br class=""></div>No, it’s not,<br class=""><br class=""></div><div>OK, so the notion was that since a leaf entity not necessarily knows which federations it belongs to, it just publishes</div><div>everything it can do and then it’s up to the opponent to figure out using policies what actually should be used in a</div><div>federation the entity belongs to.</div><div><br class=""></div><div>This means that the intermediate doesn’t vouch for any information the leaf entity is publishing (except for the JWKS)</div><div>it just places boundaries on what of it should be used.</div><div class=""><br class=""></div>It also means that the specification allows the leaf entity to update its metadata without asking all its superiors if it can.<div class="">Whether that is how it will work in reality is anyones guess. In some contexts it’s absolutely OK in other maybe not.</div><div class="">It’s your choice the specification doesn’t force you to do it in one specific way.</div><div class="">Now if an intermediate feels responsible for it’s subordinates I would expect it to regularly check that the subordinates metadata</div><div class="">is within the prescribed boundaries.</div><div class=""><div class=""><div class=""><br class=""><div class="">
<div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;">— Roland</div><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;">Scratch a pessimist and you find often a defender of privilege. -William Beveridge, economist and reformer (5 Mar 1879-1963) </div>
</div>
<br class=""></div></div></div></body></html>