<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 12 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Sprechblasentext Zchn";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.apple-converted-space
        {mso-style-name:apple-converted-space;}
span.SprechblasentextZchn
        {mso-style-name:"Sprechblasentext Zchn";
        mso-style-priority:99;
        mso-style-link:Sprechblasentext;
        font-family:"Tahoma","sans-serif";}
span.E-MailFormatvorlage20
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="DE" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Hi John,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">why doesn’t it make sense for a RP to specifically ask for HW protected keys? I could imagine some operators use software-based  keys (which should
 be ok in some cases) whereas the majority will store them on the SIM card. <o:p>
</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">And by the way: It’s not just about asking the OP to perform 2nd factor authentication or accept single factor. In the case of Mobile Connect,
 it is also desirable to ask for certain factors (or better said prohibit knowledge alone) in the single factor case. The predominant example is inherence in the case of SIM applet (click ok).<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">best regards,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Torsten.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">Von:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> John Bradley [mailto:jbradley@mac.com]
<br>
<b>Gesendet:</b> Freitag, 27. November 2015 20:02<br>
<b>An:</b> Lodderstedt, Torsten<br>
<b>Cc:</b> openid-specs-mobile-profile@lists.openid.net<br>
<b>Betreff:</b> Re: [Openid-specs-mobile-profile] ACR values<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">That is true but normally the levels are not defined in a protocol document.   They would be in a trust framework document that details how to conform to them including all the legal and business practice agreements.<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">All we can say is that all of that is dealt with someplace else and the URI indicate the means by which the subject was most recently authenticated.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">One of the hard things with LoA is that better might be subjective.  There is no guarantee in general that one is better than another as they might theoretically mitigate different risks.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">For MODRNA LoA it looks like we are going to have three dimensions for what would normally all be bound up in a single loa number in 29115/SP800-63<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">a) Identtiy proofed   [ “True” ,  “False”]            (can the IdP legally identify the subject)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">b) Proof of Possession [ “True” , “False”]        (in 800-63 PoP is required for LoA 4,  but we can deal with it separately in the protocol)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">c) Strength of Primary credential  [ “single factor”, “multi-factor soft-key”,  “ multi-factor hard key” ]<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">In the first stage we are only asserting non proofed subjects.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">That gives us three levels now and eventually six to plan for.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">In reality the user will have a token with a HW or software key, so as a RP asking specifically for one or the other doesn’t make much sense.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">As a RP I think that you want to be able to say force the user to 2nd factor if there current login is single factor, or I will take what the user is logged in as.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Lets assume for the moment that amr in the response can differentiate between hard and soft keys.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">That would leave us with two acr values to ask for.   Lets call them 1F and 2F for the moment. <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">That would give us:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[ “1F” ]  ==  Give me what the user has logged in at, don’t force step up.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[ “2F” , "1F" ]  ==  Force the user to do two factor if there device supports it, but I will take single if that is all there device supports.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[ “2F” ]            ==  Force the user to do two factor if there device supports it, return an error if 2F is not available.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">In the response the “amr” will indicate if the authentication was with  HW or SW based keys.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">It strikes me that trying to add another LoA complicates things for the RP.  <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">I suspect that for initial login most sites will want [ “1F” ] and do [ “2F” , "1F" ]  for step up around specific transactions.  <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Banks will want [ “2F” , "1F" ]  all the time.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Asking for [ “2F” ]  on its own is not as useful as asking for [ “2F” , "1F" ]  at-least if you get back a LoA with “1F” then you know it is probably the correct person as opposed to any random person who could generate an error,   at that
 point you can guide them through some other step up or tell them to use a different device etc.  However some people may have limited RP logic and be happier with an error.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">So as an example if the user has authenticated with “2F”  but the RP asks for [ “1F” ] then we would expect the IdP not to prompt (assuming max-age is ok)  and return “2F” as the acr in the response along with a amr indicating if the key
 was HW or SW protected. <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">It might make sense in non modrna cases to have a RP specifically ask for a HW backed multi-factor.   The IdP could force the user to use a smart card with match on card biometrics on a different computer, rather than using the soft token
 on the phone.  How ever I don’t think that is our use-case, and having an extra thing the RP can ask for just adds to the complexity.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">If we need to have three for some political reason I would have the IdP treat the two multi-factor as equivalent in the request, and only differentiated in the response.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Thoughts on paring it down to two?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">John B.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">On Nov 27, 2015, at 2:19 PM, Lodderstedt, Torsten <<a href="mailto:t.lodderstedt@telekom.de">t.lodderstedt@telekom.de</a>> wrote:<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">As a RP, I would prefer to send the minimal level I would like the OP to fulfill, e.g. mc2, and I would accept if the OP did better, i.e. authenticated
 using mc3.</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">I think it is evenly important to be clear on the meaning of the levels. Otherwise, the RP does not know what to expect and the OP does not know
 exactly know what to implement.</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Best regards,</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Torsten.</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span><o:p></o:p></p>
</div>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<div>
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">Von:</span></b><span class="apple-converted-space"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> </span></span><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">John
 Bradley [<a href="mailto:jbradley@mac.com">mailto:jbradley@mac.com</a>]<span class="apple-converted-space"> </span><br>
<b>Gesendet:</b><span class="apple-converted-space"> </span>Freitag, 27. November 2015 15:14<br>
<b>An:</b><span class="apple-converted-space"> </span>Lodderstedt, Torsten<br>
<b>Cc:</b><span class="apple-converted-space"> </span><a href="mailto:philippe.clement@orange.com">philippe.clement@orange.com</a>;
<a href="mailto:openid-specs-mobile-profile@lists.openid.net">openid-specs-mobile-profile@lists.openid.net</a><br>
<b>Betreff:</b><span class="apple-converted-space"> </span>Re: [Openid-specs-mobile-profile] ACR values</span><o:p></o:p></p>
</div>
</div>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">That is not the normal behaviour for Connect when using the query parameter.  <o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal">We had much debate at the time. <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">We can achieve that with server side policy however.   <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">What I think people want is to send a list in preference order  eg [ “mc-2”, “mc-3” ] <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">The IdP must try to do the highest one in the list that the users device supports, if that fails then the IDP will return an error.<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">That is the semantic if you use make it an essential claim in the request object.<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">Normally if the device only supported “mc-1” or “mc-4" the IdP could try that and return it if successful.  <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">I suppose that we could say that if the user can be authenticated at a higher level by the IdP it can do that and return a lower level from the requested list.<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">This is probably more important to be clear on than the levels themselves in some ways.<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">Is that the behaviour we want to require of the IdP?<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">John B.<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal">On Nov 27, 2015, at 8:51 AM, Lodderstedt, Torsten <<a href="mailto:t.lodderstedt@telekom.de"><span style="color:purple">t.lodderstedt@telekom.de</span></a>> wrote:<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<div>
<div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">></span><span lang="EN-US">If the IdP cant supply one of the acr values by getting the user to step up then it must return a failed authentication<span class="apple-converted-space"><span style="color:#1F497D"> </span></span>attempt.</span><o:p></o:p></p>
</div>
</div>
</div>
<div>
<div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"> </span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">I think this is the desired behavior for MODRNA</span><o:p></o:p></p>
</div>
</div>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica","sans-serif"">_______________________________________________<br>
Openid-specs-mobile-profile mailing list<br>
</span><a href="mailto:Openid-specs-mobile-profile@lists.openid.net"><span style="font-size:9.0pt;font-family:"Helvetica","sans-serif";color:purple">Openid-specs-mobile-profile@lists.openid.net</span></a><span style="font-size:9.0pt;font-family:"Helvetica","sans-serif""><br>
</span><a href="http://lists.openid.net/mailman/listinfo/openid-specs-mobile-profile"><span style="font-size:9.0pt;font-family:"Helvetica","sans-serif";color:purple">http://lists.openid.net/mailman/listinfo/openid-specs-mobile-profile</span></a><o:p></o:p></p>
</div>
</div>
</blockquote>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica","sans-serif"">_______________________________________________<br>
Openid-specs-mobile-profile mailing list<br>
</span><a href="mailto:Openid-specs-mobile-profile@lists.openid.net"><span style="font-size:9.0pt;font-family:"Helvetica","sans-serif";color:purple">Openid-specs-mobile-profile@lists.openid.net</span></a><span style="font-size:9.0pt;font-family:"Helvetica","sans-serif""><br>
</span><a href="http://lists.openid.net/mailman/listinfo/openid-specs-mobile-profile"><span style="font-size:9.0pt;font-family:"Helvetica","sans-serif";color:purple">http://lists.openid.net/mailman/listinfo/openid-specs-mobile-profile</span></a><o:p></o:p></p>
</div>
</blockquote>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</body>
</html>