<div dir="ltr"><div dir="ltr">Hi Darin, </div><div dir="ltr"><br></div><div>My apologies as well for taking so long to get back to you. My comments are inline below.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, May 20, 2020 at 5:24 PM McAdams, Darin <<a href="mailto:darinm@amazon.com">darinm@amazon.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
<div lang="EN-US">
<div class="gmail-m_5258644950013474351WordSection1">
<p class="MsoNormal">Really appreciate all the feedback. (And sorry it took so long to reply). It definitely called out a couple clarifications to make. I think I can color in the reasoning for some of the decisions where communities may continue having divergant
practices. Let’s see if we can get to common ground.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Before addressing the specifics, I’ll start with general context. We had a few tenets going into the working group. Hope these help illuminate.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><b>Tenet 1) Solve the enterprise pain points (but don’t preclude usage in other domains)</b><b><u></u><u></u></b></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Despite relying on the same standards, enterprise and higher education have historically diverged in their application. This is natural, as each has unique constraints. That led the education/research community into ecosystems such as InCommon
and the eduPerson schema, whereas the enterprise landscape is... well, Wild West. Anyone can launch a SaaS app into the world. Anyone can use it with a credit card. There is no common schema. Anything that causes abandonment is ruthlessly cut. The net result
is that enterprise tends to use simple subsets of the protocols, with a limited number of adhoc user attributes. Maybe a name and email. Sign-in usually occurs with an email address or phone number. When extended attributes are needed, they tend to be enterprise
specific, like Cost Center. <u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Interoperability is a lot harder in this ecosystem. FastFed aimed to solve this problem.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">In the beginning, participants from the education/research space were questioning what we were solving. The original answer was “This isn’t for you”. However, upon deeper conversation with experts in the community via forums such as the
Internet Identity Workshop, it was determined that some bits could be valuable. For example, the easy user experience. To allow other communities to leverage this, FastFed offers extensibility via Profiles.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">The BasicSaml profile included in this spec is for the enterprise community. It would be fantastic if other communities defined their own preferences. For example, a FastFed InCommon SAML profile that referenced existing practices by that
community. Similarly, you may want to consider an eduPerson extension to SCIM if that protocol looks useful.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">FastFed allows implementors to support any number of these profiles in parallel.
<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><b>Tenet 2) Be additive, not transformative</b><b><u></u><u></u></b></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">To succeed, FastFed needs to rely on seductive adoption in the enterprise landscape. There is no regulatory force for change. To succeed, the ease of implementation was a key consideration. For that reason, we sought to avoid wholesale
changes to existing implementations. Instead, we aimed to be mostly additive. E.g. Adding a new handshake atop what exists, but not forcing people to rewrite their existing SAML and SCIM endpoints.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">As a result, the FastFed Profiles largely represent the current practices of the enterprise community. While we may wish those practices were different, that ship has largely sailed. We don’t believe it’s FastFed’s place to mandate a wholesale
migration to different SAML practices, nor do we believe that is likely to succeed.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Rather, where the interop profiles require changes, they tend to be small nudges that have big returns on value. E.g. how to include multiple keys for certificate rotation.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><b>Tenet 3) Put the burden on IdPs<u></u><u></u></b></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">If any portions of the spec unavoidably require a fair amount of effort for implementation, we leaned toward putting that burden on the IdPs. The reason for this is that, in the enterprise space, there exists a smaller number of IdP venders
(when compared to the thousands of SaaS applications). They are in a better position to invest in the work and see that return.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><b>Tenet 4) Solve the 80% case<u></u><u></u></b></p>
<p class="MsoNormal"><u></u><u></u></p>
<p class="MsoNormal">FastFed was never going to be for everyone, even in the enterprise space. We prefer to deliver an easy user experience for the 80% of scenarios that can take advantage of it, rather than overcomplicate the spec (and slow down adoption)
to handle the long tail.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><b>Tenet 5) Use SCIM as the lingua franca<u></u><u></u></b></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">The enterprise community lacked consensus on a standard user schema. Most applications just made up their own. To align on interoperability, FastFed went with SCIM as the grammar to reference user attributes. This is true even if the application
doesn’t run a SCIM server. For example, if the app relies upon JIT provisioning, it will still use the SCIM schema grammar to describe the user attributes. There are no references to eduPerson (although if the higher education community wanted a similar schema,
they could define eduPerson extensions for SCIM).<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><b>Other Materials<u></u><u></u></b></p>
<p class="MsoNormal">There’s a 20 minute YouTube video that gives a quick overview of the problem statement; including the most common question, which is why this isn’t solved already by OpenID Connect.<br>
<a href="https://www.youtube.com/watch?v=ucQl5p6sa4A" target="_blank">https://www.youtube.com/watch?v=ucQl5p6sa4A</a><u></u><u></u></p>
<p class="MsoNormal"><b><u></u> <u></u></b></p>
<p class="MsoNormal">There’s also a set of use cases in the FastFed repo that dig deeper into the scenarios that FastFed is solving. (We started with Scenario 1).<u></u><u></u></p>
<p class="MsoNormal"><a href="https://bitbucket.org/openid/fastfed/src/master/scenarios/" target="_blank">https://bitbucket.org/openid/fastfed/src/master/scenarios/</a><u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">------<u></u><u></u></p>
<p class="MsoNormal">I hope that helps illuminate some context. Given that foundation, here are answers to the specific questions.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><i>>> Violates the SAML 2.0 standard by misusing the persistent nameID format<u></u><u></u></i></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">I apologize, but this was just a copy-and-paste error. And, I thank you for catching it.<u></u><u></u></p>
<p class="MsoNormal">The intended format was “unspecified”. I recognize this may raise other concerns, so I’ll explain the reasoning (and where we can change). For the most part, the enterprise community just doesn’t care. It ignores the type. The expected
inputs are documented elsewhere. If the wrong input is provided, the federation simply doesn’t work.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Since FastFed is opinionated about requiring the SCIM username as the nameId (I’ll come to that next), we could technically call the format “reassignable”. If that was the only blocker to spec approval, that’s an easy change. But, again,
most applications just ignore this.</p></div></div></blockquote><div><br></div><div>The enterprise community ignoring parts of the SAML specifications when convenient is why we're where we are, with a fractured ecosystem which precludes interoperability. Things might get better if we stopped ignoring the standard. This is where you'll find a lot of the push-back from the R&E sector.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div lang="EN-US"><div class="gmail-m_5258644950013474351WordSection1"><p class="MsoNormal"><u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><i>>> Using email address as a user identifier is a practice that is known to be problematic<u></u><u></u></i></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">There’s some trickiness to this one. A couple factors to call out:<u></u><u></u></p>
<p class="MsoNormal">1/ I’ll note that the SCIM username isn’t necessarily an email, but often is. Hence, that was used in the example. But, username != email with any guarantee.<u></u><u></u></p>
<p class="MsoNormal">2/ There is no existing persistent identifier in the enterprise ecosystem that all the parties agree upon. The closest is the SCIM externalID, which is the persistent identifier within the IdP that is optionally passed into the Application.
But, than can change if an organization migrates to a new IdP provider.<u></u><u></u></p>
<p class="MsoNormal">3/ When it comes to SaaS applications, the majority of apps already use email or phone as the identifier. That ship has sailed.<u></u><u></u></p>
<p class="MsoNormal">4/ FastFed needs to support JIT scenarios, as well as scenarios where the user was pre-provisioned prior to the SAML authentication. Just a callout to keep in mind.<u></u><u></u></p>
<p class="MsoNormal">5/ FastFed is targeting enterprises, and enterprises recycle usernames less often than a social provider like Yahoo. Nonetheless, FastFed encourages mechanisms such as SCIM provisioning to keep applications in sync should it occur. You’ll
see the SCIM profile has recommendations for username recycling.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">FastFed threads this needle by doing the following:<u></u><u></u></p>
<p class="MsoNormal">* Specifying the SCIM username as the subject. Because, it is the only mutually shared value that was guaranteed to be defined, and could also serve as an identifier. And, in fact, is how most SSO setups operate today in the enterprise
space.<u></u><u></u></p>
<p class="MsoNormal">* Passing the SCIM externalId in the attribute, for additional robustness by those who support it. That’s the persistent identifier within the given IdP.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Given the constraints of the enterprise landscape, is there a different approach to recommend? One that also stays within the original tenets?</p></div></div></blockquote><div><br></div><div>Yep- not much I can say here except that you're right and it's an unfortunate situation we find ourselves in with regard to misuse of email address as an identifier.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div lang="EN-US"><div class="gmail-m_5258644950013474351WordSection1"><p class="MsoNormal"><u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><i>>> Abuses unspecified NameFormat in mapping attributes from SCIM, does not use the proper official names for these attributes (inetOrgPerson).<u></u><u></u></i></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">This is how the enterprise landscape already operates, and there is not consensus that inetOrgPerson is the proper official name in this ecosystem. FastFed improves the status quo by aligning on SCIM as a shared grammar for user schema
and attribute names. The binding into SAML is aimed at the audience who wishes to continue using JIT capabilities they already possess, whereas FastFed highly encourages the use of SCIM provisioning for anything more complicated. But, again, these are profiles
for an enterprise audience. Other communities can specify different ones.</p></div></div></blockquote><div><br></div><div>OK</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div lang="EN-US"><div class="gmail-m_5258644950013474351WordSection1"><p class="MsoNormal"><u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><i>>> Claims that SAML doesn’t support provisioning of groups is incorrect.<u></u><u></u></i></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">This is my own fault for unclear language. The intent was to say that the FastFed BasicSaml profile doesn’t allow inclusion of groups (not that SAML doesn’t support it). In this particular FastFed Profile, anyone that wants group memberships
must use the SCIM provisioning channels. <u></u><u></u></p>
<p class="MsoNormal">If another community wishes to define an alternative profile that supports groups, that’s OK too.</p></div></div></blockquote><div><br></div><div>Thanks for the clarification.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div lang="EN-US"><div class="gmail-m_5258644950013474351WordSection1"><p class="MsoNormal"><u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><i>>> “No standard mechanism for an identity provider and application provider to directly exchange metadata required by existing standards” is incorrect.<u></u><u></u></i></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">The following sentence after that clarifies the context. A human being is required to act as a data bus between the providers, downloading/uploading the metadata files between the parties. The key phrase in the sentence is “directly exchange”,
as the parties can’t talk to each other directly. Can clarify that language if it’s causing confusion.</p></div></div></blockquote><div><br></div><div>The point of the way we do federation in R&E contexts is that there is no need for a human being to be involved. Metadata is automatically downloaded, cryptographically verified as trustworthy, and used to configure trusts without a human actor being present. We've been doing it this way for over 15 years, across tens of thousands of IdPs and SPs. </div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div lang="EN-US"><div class="gmail-m_5258644950013474351WordSection1"><p class="MsoNormal"><u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><i>>> SAML 2.0 has OpenID Connect/OAuth-compatible identifiers that should be used (admittedly, they are new, but all reasonably well-implemented SAML software should be able to support them if configured to do so)<u></u><u></u></i></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">To be honest, I wasn’t sure how to apply this. And, in the enterprise space, most SAML implementations are not reasonably well implemented : )<u></u><u></u></p>
<p class="MsoNormal">Given everything discussed so far about the constraints and tenets that FastFed is operating within, is there a specific recommendation for an alternative identifier?</p></div></div></blockquote><div><br></div><div>No, given what you've said above about your constraints and use of SCIM as a primary mechanism, along with SCIM user identifier, I'm fine with this.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div lang="EN-US"><div class="gmail-m_5258644950013474351WordSection1"><p class="MsoNormal"><u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">---------------<u></u><u></u></p>
<p class="MsoNormal">I apologize for this long response, but hopefully it helps illuminate some of the choices made. Given everything discussed so far, does it lead to any new questions or alternative takes on the spec?</p></div></div></blockquote><div><br></div><div>Thanks again - It seems like much of what you intend to do with this specification could be done with a combination of improved implementations of existing SAML standards, combined with use of SCIM.</div><div><br></div><div>Best regards,</div><div><br></div><div>Nick</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div lang="EN-US"><div class="gmail-m_5258644950013474351WordSection1"><p class="MsoNormal"><u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">-Darin<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<div style="border-style:solid none none;border-top-width:1pt;border-top-color:rgb(181,196,223);padding:3pt 0in 0in">
<p class="MsoNormal"><b><span style="font-size:12pt;color:black">From: </span></b><span style="font-size:12pt;color:black">Openid-specs-fastfed <<a href="mailto:openid-specs-fastfed-bounces@lists.openid.net" target="_blank">openid-specs-fastfed-bounces@lists.openid.net</a>> on behalf of Openid-specs-fastfed <<a href="mailto:openid-specs-fastfed@lists.openid.net" target="_blank">openid-specs-fastfed@lists.openid.net</a>><br>
<b>Reply-To: </b>Nicholas Roy <<a href="mailto:roy.nicholas@gmail.com" target="_blank">roy.nicholas@gmail.com</a>><br>
<b>Date: </b>Wednesday, May 20, 2020 at 1:43 PM<br>
<b>To: </b>Andrew Jason Morgan <<a href="mailto:morgan@oregonstate.edu" target="_blank">morgan@oregonstate.edu</a>><br>
<b>Cc: </b>Openid-specs-fastfed <<a href="mailto:openid-specs-fastfed@lists.openid.net" target="_blank">openid-specs-fastfed@lists.openid.net</a>><br>
<b>Subject: </b>RE: [EXTERNAL] [Openid-specs-fastfed] FastFed SAML Feedback<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<table border="0" cellspacing="0" cellpadding="0" style="border-collapse:collapse">
<tbody>
<tr style="height:15.25pt">
<td width="1123" valign="top" style="width:842.35pt;border:1.5pt solid rgb(237,125,49);padding:0in 5.4pt;height:15.25pt">
<p><strong><span style="font-family:Calibri,sans-serif;color:black;background-color:rgb(255,255,153);background-position:initial initial;background-repeat:initial initial">CAUTION</span></strong><span style="color:black;background-color:rgb(255,255,153);background-position:initial initial;background-repeat:initial initial">: 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.</span><u></u><u></u></p>
</td>
</tr>
</tbody>
</table>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal">Thank you for following up, Andy. <u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">If there are other questions, Andy and I, and other from the various SAML groups, can try to answer them.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Best,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Nick<u></u><u></u></p>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal">On Thu, May 14, 2020 at 12:33 PM Andrew Jason Morgan <<a href="mailto:morgan@oregonstate.edu" target="_blank">morgan@oregonstate.edu</a>> wrote:<u></u><u></u></p>
</div>
<blockquote style="border-style:none none none solid;border-left-width:1pt;border-left-color:rgb(204,204,204);padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;font-family:Arial,sans-serif;color:black">Mike (and others),<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;font-family:Arial,sans-serif;color:black"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;font-family:Arial,sans-serif;color:black">I've been participating in several working groups related to SAML deployment with Nick.<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;font-family:Arial,sans-serif;color:black"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;font-family:Arial,sans-serif;color:black"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;font-family:Arial,sans-serif;color:black">Let me quote the relevant documents first.<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;font-family:Arial,sans-serif;color:black"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;font-family:Arial,sans-serif;color:black">FastFed Basic SAML Profile 1.0 - draft 02, section 4.1.1 states:<u></u><u></u></span></p>
</div>
<div>
<blockquote style="border-width:1pt 1pt 1pt 2.25pt;border-style:none none none solid;border-color:rgb(200,200,200);padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal"><span style="font-size:12pt;font-family:Arial,sans-serif;color:rgb(102,102,102)">The Subject element MUST contain a NameID with the following properties:<u></u><u></u></span></p>
<div>
<ul type="disc">
<li class="MsoNormal" style="color:rgb(102,102,102)">
<span style="font-size:12pt;font-family:Arial,sans-serif">A Format set to "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent"<u></u><u></u></span></li><li class="MsoNormal" style="color:rgb(102,102,102)">
<span style="font-size:12pt;font-family:Arial,sans-serif">A value populated with the SCIM userName.<u></u><u></u></span></li></ul>
</div>
</blockquote>
<p class="MsoNormal"><span style="font-size:12pt;font-family:Arial,sans-serif;color:black">and gives an example value of "<a href="mailto:babs@example.com" target="_blank">babs@example.com</a>".<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;font-family:Arial,sans-serif;color:black"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;font-family:Arial,sans-serif;color:black">The SCIM userName attribute is defined in RFC7643 as:<u></u><u></u></span></p>
</div>
<div>
<blockquote style="border-width:1pt 1pt 1pt 2.25pt;border-style:none none none solid;border-color:rgb(200,200,200);padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal"><span style="font-size:12pt;font-family:Arial,sans-serif;color:rgb(102,102,102)"> userName<u></u><u></u></span></p>
<div>
<p class="MsoNormal"><span style="font-size:12pt;font-family:Arial,sans-serif;color:rgb(102,102,102)"> A service provider's unique identifier for the user, typically<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;font-family:Arial,sans-serif;color:rgb(102,102,102)"> used by the user to directly authenticate to the service provider.<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;font-family:Arial,sans-serif;color:rgb(102,102,102)"> Often displayed to the user as their unique identifier within the<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;font-family:Arial,sans-serif;color:rgb(102,102,102)"> system (as opposed to "id" or "externalId", which are generally<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;font-family:Arial,sans-serif;color:rgb(102,102,102)"> opaque and not user-friendly identifiers). Each User MUST include<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;font-family:Arial,sans-serif;color:rgb(102,102,102)"> a non-empty userName value. This identifier MUST be unique across<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;font-family:Arial,sans-serif;color:rgb(102,102,102)"> the service provider's entire set of Users. This attribute is<u></u><u></u></span></p>
</div>
<p class="MsoNormal"><span style="font-size:12pt;font-family:Arial,sans-serif;color:rgb(102,102,102)"> REQUIRED and is case insensitive.<u></u><u></u></span></p>
</blockquote>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;font-family:Arial,sans-serif;color:black">SAML Core 2.0 (<a href="https://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf" target="_blank">https://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf</a>)
section 8.3.7 defines the qualities of a persistent NameID as:<u></u><u></u></span></p>
</div>
<div>
<blockquote style="border-width:1pt 1pt 1pt 2.25pt;border-style:none none none solid;border-color:rgb(200,200,200);padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-top:5pt;margin-bottom:5pt">
<div>
<p class="MsoNormal"><span style="font-size:12.5pt;font-family:Arial,sans-serif;color:rgb(102,102,102)">URI:</span><span style="font-size:12.5pt;font-family:"Courier New";color:rgb(102,102,102)">urn:oasis:names:tc:SAML:2.0:nameid-format:persistent</span><span style="font-size:12pt;font-family:Arial,sans-serif;color:rgb(102,102,102)"><u></u><u></u></span></p>
</div>
<p class="MsoNormal"><span style="font-size:12pt;font-family:Arial,sans-serif;color:rgb(102,102,102)"><br>
Indicates that the content of the element is a persistent opaque identifier for a principal that is specific to an identity provider and a service provider or affiliation of service providers. Persistent name identifiers generated by identity providers MUST
be constructed using pseudo-random values that have no discernible correspondence with the subject's actual identifier (for example, username). The intent is to create a non-public, pair-wise pseudonym to prevent the discovery of the subject's identity or
activities.<u></u><u></u></span></p>
</blockquote>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;font-family:Arial,sans-serif;color:black"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;font-family:Arial,sans-serif;color:black"><a href="mailto:babs@example.com" target="_blank">babs@example.com</a> cannot be a persistent NameID value because it:<u></u><u></u></span></p>
</div>
<div>
<ul type="disc">
<li class="MsoNormal" style="color:black">
<span style="font-size:12pt;font-family:Arial,sans-serif">is NOT opaque<u></u><u></u></span></li><li class="MsoNormal" style="color:black">
<span style="font-size:12pt;font-family:Arial,sans-serif">is NOT generated from a pseudo-random value<u></u><u></u></span></li><li class="MsoNormal" style="color:black">
<span style="font-size:12pt;font-family:Arial,sans-serif">DOES correspond (in fact, is) the subject's actual identifier<u></u><u></u></span></li></ul>
<div>
<p class="MsoNormal"><span style="font-size:12pt;font-family:Arial,sans-serif;color:black">I don't think you can reasonably interpret the SCIM userName as meeting the requirements of a persistent NameID. SCIM mentions that userName differs from "id", and
"id" has semantics much closer to a persistent NameID. Please note that I am not as familiar with SCIM as SAML, so my comments regarding SCIM are only superficial.<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;font-family:Arial,sans-serif;color:black"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;font-family:Arial,sans-serif;color:black">As an operator of a SAML Identity Provider, I frequently see requests (mostly from vendors) wanting me to send an email address as a persistent NameID. I refuse
to violate the spec and common sense. Even if we ignore the other semantics of a persistent NameID, email addresses are not persistent. At most institutions, email addresses can change for various reasons because they are typically based on a person's name.
When we release persistent NameIDs, they are generated from an internal IAM generated unique id value.<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;font-family:Arial,sans-serif;color:black"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;font-family:Arial,sans-serif;color:black">Furthermore, the NameID is a poor choice to convey a user identifier because its use is so constrained. When crafting the requirements in the SAML V2.0 Deployment
Profile for Federation Interoperability<a href="https://kantarainitiative.github.io/SAMLprofiles/saml2int.html" target="_blank"> (https://kantarainitiative.github.io/SAMLprofiles/saml2int.html</a>), we considered all the available methods of representing user
identifiers in SAML. We decided to require support for the SAML V2.0 Subject Identifier Attributes Profile Version 1.0 (<a href="https://docs.oasis-open.org/security/saml-subject-id-attr/v1.0/cs01/saml-subject-id-attr-v1.0-cs01.pdf" target="_blank">https://docs.oasis-open.org/security/saml-subject-id-attr/v1.0/cs01/saml-subject-id-attr-v1.0-cs01.pdf</a>).
This profile defines 2 SAML attributes that are almost identical to the OIDC identifiers. See sections 3.1.3 and 4.1.3 of saml2int.<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;font-family:Arial,sans-serif;color:black"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;font-family:Arial,sans-serif;color:black">Thank you for the opportunity to participate!<u></u><u></u></span></p>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;font-family:Arial,sans-serif;color:black"><u></u> <u></u></span></p>
</div>
<div id="gmail-m_5258644950013474351gmail-m_8528664953913150228Signature">
<div>
<p class="MsoNormal"><span style="font-size:12pt;font-family:Arial,sans-serif;color:black">Andy Morgan</span><span style="font-size:12pt;font-family:"Courier New";color:black"><u></u><u></u></span></p>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;font-family:Arial,sans-serif;color:black">Identity & Access Management</span><span style="font-size:12pt;font-family:"Courier New";color:black"><u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;font-family:Arial,sans-serif;color:black">Oregon State University</span><span style="font-size:12pt;font-family:"Courier New";color:black"><u></u><u></u></span></p>
</div>
</div>
</div>
</div>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;font-family:Arial,sans-serif;color:black"><u></u> <u></u></span></p>
</div>
<div class="MsoNormal" align="center" style="text-align:center">
<hr size="0" width="100%" align="center">
</div>
<div id="gmail-m_5258644950013474351gmail-m_8528664953913150228divRplyFwdMsg">
<p class="MsoNormal"><b><span style="color:black">From:</span></b><span style="color:black"> Openid-specs-fastfed <<a href="mailto:openid-specs-fastfed-bounces@lists.openid.net" target="_blank">openid-specs-fastfed-bounces@lists.openid.net</a>> on behalf of
Mike Jones via Openid-specs-fastfed <<a href="mailto:openid-specs-fastfed@lists.openid.net" target="_blank">openid-specs-fastfed@lists.openid.net</a>><br>
<b>Sent:</b> Thursday, May 14, 2020 8:43 AM<br>
<b>To:</b> Nicholas Roy <<a href="mailto:roy.nicholas@gmail.com" target="_blank">roy.nicholas@gmail.com</a>><br>
<b>Cc:</b> <a href="mailto:openid-specs-fastfed@lists.openid.net" target="_blank">
openid-specs-fastfed@lists.openid.net</a> <<a href="mailto:openid-specs-fastfed@lists.openid.net" target="_blank">openid-specs-fastfed@lists.openid.net</a>><br>
<b>Subject:</b> Re: [Openid-specs-fastfed] FastFed SAML Feedback</span> <u></u><u></u></p>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
</div>
<div>
<div>
<p style="margin:0in 0in 0.0001pt"><span style="color:rgb(0,32,96)">It’s my hope that the working group members will now have a dialog with Nick and the others behind this feedback to figure out how to address the feedback.</span><u></u><u></u></p>
<p style="margin:0in 0in 0.0001pt"><span style="color:rgb(0,32,96)"> </span><u></u><u></u></p>
<p style="margin:0in 0in 0.0001pt"><span style="color:rgb(0,32,96)">I’ll start this off by asking for more specifics on 1. How is the spec misusing the persistent nameID format and what change would those that wrote this feedback suggest to address this
issue, Nick?</span><u></u><u></u></p>
<p style="margin:0in 0in 0.0001pt"><span style="color:rgb(0,32,96)"> </span><u></u><u></u></p>
<p style="margin:0in 0in 0.0001pt"><span style="color:rgb(0,32,96)"> -- Mike</span><u></u><u></u></p>
<p style="margin:0in 0in 0.0001pt"><span style="color:rgb(0,32,96)"> </span><u></u><u></u></p>
<div style="border-style:solid none none;border-top-width:1pt;border-top-color:rgb(225,225,225);padding:3pt 0in 0in">
<p style="margin:0in 0in 0.0001pt"><b>From:</b> Openid-specs-fastfed <<a href="mailto:openid-specs-fastfed-bounces@lists.openid.net" target="_blank">openid-specs-fastfed-bounces@lists.openid.net</a>>
<b>On Behalf Of </b>Nicholas Roy via Openid-specs-fastfed<br>
<b>Sent:</b> Tuesday, May 12, 2020 2:57 PM<br>
<b>To:</b> <a href="mailto:openid-specs-fastfed@lists.openid.net" target="_blank">
openid-specs-fastfed@lists.openid.net</a><br>
<b>Subject:</b> [Openid-specs-fastfed] FastFed SAML Feedback<u></u><u></u></p>
</div>
<p style="margin:0in 0in 0.0001pt"> <u></u><u></u></p>
<div>
<div>
<p style="margin:0in 0in 0.0001pt">Hi,<u></u><u></u></p>
<div>
<p style="margin:0in 0in 0.0001pt"> <u></u><u></u></p>
</div>
<div>
<p style="margin:0in 0in 0.0001pt">I've been asked to provide feedback on the FastFed drafts. The following is a roughly compiled, likely incomplete list, which is the result of review of the FastFed SAML profile by some people within the SAML deployment
and standards communities I work with. I am acting as a relay. I've requested that others from these groups also join this list, to enable a dialogue about the issues and their potential resolutions.<u></u><u></u></p>
</div>
<div>
<p style="margin:0in 0in 0.0001pt"> <u></u><u></u></p>
</div>
<div>
<p style="margin-right:0in;margin-left:47.25pt;margin-bottom:0.0001pt;vertical-align:baseline">
<span style="color:black">1.</span><span style="font-size:7pt;font-family:"Times New Roman",serif;color:black">
</span><span style="font-family:Arial,sans-serif;color:black">Violates the SAML 2.0 standard by misusing the persistent nameID format</span><u></u><u></u></p>
<p style="margin-right:0in;margin-left:47.25pt;margin-bottom:0.0001pt;vertical-align:baseline">
<span style="color:black">2.</span><span style="font-size:7pt;font-family:"Times New Roman",serif;color:black">
</span><span style="font-family:Arial,sans-serif;color:black">Abuses unspecified NameFormat in mapping attributes from SCIM, does not use the proper official names for these attributes (inetOrgPerson). This scheme is not interoperability-safe since it is
string-based and not oid-based.</span><u></u><u></u></p>
<p style="margin-right:0in;margin-left:47.25pt;margin-bottom:0.0001pt;vertical-align:baseline">
<span style="color:black">3.</span><span style="font-size:7pt;font-family:"Times New Roman",serif;color:black">
</span><span style="font-family:Arial,sans-serif;color:black">Claims that SAML doesn’t support provisioning of groups is incorrect.</span><u></u><u></u></p>
<p style="margin-right:0in;margin-left:47.25pt;margin-bottom:0.0001pt;vertical-align:baseline">
<span style="color:black">4.</span><span style="font-size:7pt;font-family:"Times New Roman",serif;color:black">
</span><span style="font-family:Arial,sans-serif;color:black">“No standard mechanism for an identity provider and application provider to directly exchange metadata required by existing standards” is incorrect. See:
<a href="https://kantarainitiative.github.io/SAMLprofiles/fedinterop.html#_metadata_and_trust_management" target="_blank">
https://kantarainitiative.github.io/SAMLprofiles/fedinterop.html#_metadata_and_trust_management</a> and
<a href="https://kantarainitiative.github.io/SAMLprofiles/saml2int.html#_metadata_and_trust_management" target="_blank">
https://kantarainitiative.github.io/SAMLprofiles/saml2int.html#_metadata_and_trust_management</a>. These methods are currently in use by tens of thousands of Identity Providers and Service Providers globally, just within the Research and Education community:
<a href="https://technical.edugain.org/status" target="_blank">https://technical.edugain.org/status</a>.</span><u></u><u></u></p>
<p style="margin-right:0in;margin-left:47.25pt;margin-bottom:0.0001pt;vertical-align:baseline">
<span style="color:black">5.</span><span style="font-size:7pt;font-family:"Times New Roman",serif;color:black">
</span><span style="font-family:Arial,sans-serif;color:black">Using email address as a user identifier is a practice that is known to be problematic (see also:
<a href="https://celeretech.com/blog/yahoo-begins-recycling-e-mail-accounts/" target="_blank">
https://celeretech.com/blog/yahoo-begins-recycling-e-mail-accounts/</a>)</span><u></u><u></u></p>
<p style="margin-right:0in;margin-left:47.25pt;margin-bottom:0.0001pt;vertical-align:baseline">
<span style="color:black">6.</span><span style="font-size:7pt;font-family:"Times New Roman",serif;color:black">
</span><span style="font-family:Arial,sans-serif;color:black">SAML 2.0 has OpenID Connect/OAuth-compatible identifiers that should be used (admittedly, they are new, but all reasonably well-implemented SAML software should be able to support them if configured
to do so): <a href="https://docs.oasis-open.org/security/saml-subject-id-attr/v1.0/saml-subject-id-attr-v1.0.html" target="_blank">
https://docs.oasis-open.org/security/saml-subject-id-attr/v1.0/saml-subject-id-attr-v1.0.html</a></span><u></u><u></u></p>
<p style="margin-right:0in;margin-left:0.5in;margin-bottom:0.0001pt;vertical-align:baseline">
<span style="font-family:Arial,sans-serif;color:black">Best Regards, </span><u></u><u></u></p>
<p style="margin-right:0in;margin-left:0.5in;margin-bottom:0.0001pt;vertical-align:baseline">
<span style="font-family:Arial,sans-serif;color:black">Nick Roy</span><u></u><u></u></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</blockquote></div></div>