<div dir="ltr"><div>The RP asking the OP to enforce the <font face="monospace">max_age</font> *is* the RP asking to enforce its own policy. It then also gets the auth_time claim to confirm the policy it intended was met.</div><div><br></div><div>Plus, IPSIE *is* the profile where these would be a MUST. We are trying to avoid adding optionality within an IPSIE level.</div><div><br></div><div><br></div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Tue, Jun 17, 2025 at 2:48 PM Dima Postnikov via Openid-specs-ipsie <<a href="mailto:openid-specs-ipsie@lists.openid.net">openid-specs-ipsie@lists.openid.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Hi Dean,</div><div><br></div><div>Without too much background on this issue, I feel like we are mixing 2 approaches:</div><div>1) RP asking OP to enforce max_age policy</div><div>2) RP asking for raw <span style="font-family:SFMono-Regular,Menlo,Consolas,"PT Mono","Liberation Mono",Courier,monospace">auth_time</span> to enforce its own policy. </div><div><br></div><div>I feel like both are not always necessary? </div><div><br></div><div>There might be a profile of the spec that has these MUSTs but not a core spec?</div><div><br></div><div>Regards,</div><div>Dima</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jun 18, 2025 at 7:16 AM Dean H. Saxe via Openid-specs-ipsie <<a href="mailto:openid-specs-ipsie@lists.openid.net" target="_blank">openid-specs-ipsie@lists.openid.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>
    
      
  
  

  

    
    <div>
      <p dir="auto">TL;DR; - NIST FAL2 requires the RP to be able to specify a maximum age since last authentication in its request to the OP. FAL2 also requires the OP to communicate the timestamp of the last authentication event to the RP. These controls exist to enable the OP and RP to each enforce their own business rules around authentication time and need to be considered for IPSIE.</p><p dir="auto" style="line-height:1.3;font-family:ui-sans-serif,-apple-system,"system-ui","Segoe UI",Helvetica,"Apple Color Emoji",Arial,sans-serif,"Segoe UI Emoji","Segoe UI Symbol";min-height:19.5px;border-radius:0px;color:rgb(29,27,22);font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:-0.15px;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;margin:0px"></p><p dir="auto" style="line-height:1.3;font-family:ui-sans-serif,-apple-system,"system-ui","Segoe UI",Helvetica,"Apple Color Emoji",Arial,sans-serif,"Segoe UI Emoji","Segoe UI Symbol";min-height:19.5px;border-radius:0px;color:rgb(29,27,22);font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:-0.15px;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;margin:0px">On today’s IPSIE call we discussed the two issues (#89, #90) and a related PR which attempt to address these concerns. Following a good discussion (located here until the minutes are migrated to the IPSIE Wiki), we agreed to take this discussion to the mailing list. In a nutshell, the discussion comes down to whether the OP or RP should control whether the authentication event has occurred recently enough to be acceptable.</p><p dir="auto" style="line-height:1.3;font-family:ui-sans-serif,-apple-system,"system-ui","Segoe UI",Helvetica,"Apple Color Emoji",Arial,sans-serif,"Segoe UI Emoji","Segoe UI Symbol";min-height:19.5px;border-radius:0px;color:rgb(29,27,22);font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:-0.15px;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;margin:0px"></p><p dir="auto" style="line-height:1.3;font-family:ui-sans-serif,-apple-system,"system-ui","Segoe UI",Helvetica,"Apple Color Emoji",Arial,sans-serif,"Segoe UI Emoji","Segoe UI Symbol";min-height:19.5px;border-radius:0px;color:rgb(29,27,22);font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:-0.15px;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;margin:0px">After listening to the discussion this morning, my perspective is that both the OP and RP have an interest in ensuring recency of authentication.</p><ul dir="auto"><li dir="auto"><p dir="auto" style="line-height:1.3;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,"Apple Color Emoji",Arial,sans-serif,"Segoe UI Emoji","Segoe UI Symbol";min-height:19.5px;border-radius:0px;margin:0px">The OP’s interest is to ensure that authentication has occurred with sufficient recency to allow another federated authentication event to be processed. The OP is, absent a signal from the RP, unaware of the RP’s recency requirements. Enterprises may choose to enforce this rule centrally at the OP.</p></li><li dir="auto"><p dir="auto" style="line-height:1.3;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,"Apple Color Emoji",Arial,sans-serif,"Segoe UI Emoji","Segoe UI Symbol";min-height:19.5px;border-radius:0px;margin:0px">The RPs interest is in protecting the users and the RP’s brand. The RP may not trust that the IdP has been configured in a sufficiently secure manner and wants to enforce authentication controls to protect itself.</p></li></ul><p dir="auto" style="line-height:1.3;font-family:ui-sans-serif,-apple-system,"system-ui","Segoe UI",Helvetica,"Apple Color Emoji",Arial,sans-serif,"Segoe UI Emoji","Segoe UI Symbol";min-height:19.5px;border-radius:0px;color:rgb(29,27,22);font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:-0.15px;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;margin:0px"></p><p dir="auto" style="line-height:1.3;font-family:ui-sans-serif,-apple-system,"system-ui","Segoe UI",Helvetica,"Apple Color Emoji",Arial,sans-serif,"Segoe UI Emoji","Segoe UI Symbol";min-height:19.5px;border-radius:0px;color:rgb(29,27,22);font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:-0.15px;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;margin:0px">In order to ensure both the OP and RP’s concerns are represented, controls can be established, and the controls do not reduce interop, I have pushed a PR to codify the requirements for the parameter and claim. The PR makes three changes:</p><p dir="auto" style="line-height:1.3;font-family:ui-sans-serif,-apple-system,"system-ui","Segoe UI",Helvetica,"Apple Color Emoji",Arial,sans-serif,"Segoe UI Emoji","Segoe UI Symbol";min-height:19.5px;border-radius:0px;color:rgb(29,27,22);font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:-0.15px;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;margin:0px"></p><ul dir="auto"><li dir="auto"><p dir="auto" style="line-height:1.3;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,"Apple Color Emoji",Arial,sans-serif,"Segoe UI Emoji","Segoe UI Symbol";min-height:19.5px;border-radius:0px;margin:0px">First, the following lines have been added as a requirement for OPs issuing ID tokens:</p><ul dir="auto"><li dir="auto"><p dir="auto" style="line-height:1.3;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,"Apple Color Emoji",Arial,sans-serif,"Segoe UI Emoji","Segoe UI Symbol";min-height:19.5px;border-radius:0px;margin:0px">MUST contain the<code>auth_time</code>claim to describe when end user authentication last occurred (see Note 4);</p></li><li dir="auto"><p dir="auto" style="line-height:1.3;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,"Apple Color Emoji",Arial,sans-serif,"Segoe UI Emoji","Segoe UI Symbol";min-height:19.5px;border-radius:0px;margin:0px">Note 4: This claim is required to satisfy the requirements in Section 4.7 of [NIST.FAL].</p></li></ul></li><li dir="auto"><p dir="auto" style="line-height:1.3;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,"Apple Color Emoji",Arial,sans-serif,"Segoe UI Emoji","Segoe UI Symbol";min-height:19.5px;border-radius:0px;margin:0px">Second, the OpenID providers authorization code flow has been updated with the following requirements:</p><ul dir="auto"><li dir="auto"><p dir="auto" style="line-height:1.3;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,"Apple Color Emoji",Arial,sans-serif,"Segoe UI Emoji","Segoe UI Symbol";min-height:19.5px;border-radius:0px;margin:0px">MUST support the <code>max_age</code>parameter with a values representing the maximum number of seconds allowable since the user was authenticated by the OP. If the elapsed time since authentication is less than this value, the OP MAY choose to actively reauthenticate the user. If the elapsed time since authentication is greater than this value, the OP MUST actively reauthenticate the user.</p></li></ul></li><li dir="auto"><p dir="auto" style="line-height:1.3;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,"Apple Color Emoji",Arial,sans-serif,"Segoe UI Emoji","Segoe UI Symbol";min-height:19.5px;border-radius:0px;margin:0px">Third, the RP must send the max_age as a parameter:</p><ul dir="auto"><li dir="auto"><p dir="auto" style="line-height:1.3;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,"Apple Color Emoji",Arial,sans-serif,"Segoe UI Emoji","Segoe UI Symbol";min-height:19.5px;border-radius:0px;margin:0px">MUST use the <code>max_age</code> parameter in the authentication request to specify the maximum allowable authentication age to the OP in seconds. The <code>max_age</code> parameter value MAY be determined based upon the business rules of the RP.</p><p dir="auto" style="line-height:1.3;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,"Apple Color Emoji",Arial,sans-serif,"Segoe UI Emoji","Segoe UI Symbol";min-height:19.5px;border-radius:0px;margin:0px"></p></li></ul></li></ul><p dir="auto" style="line-height:1.3;font-family:ui-sans-serif,-apple-system,"system-ui","Segoe UI",Helvetica,"Apple Color Emoji",Arial,sans-serif,"Segoe UI Emoji","Segoe UI Symbol";min-height:19.5px;border-radius:0px;color:rgb(29,27,22);font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:-0.15px;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;margin:0px">I believe that this balances the concerns of both OPs and RPs, does not introduce any interop concerns, and allows both the RP and OP an opportunity to control the recency of an authentication event.</p><p dir="auto" style="line-height:1.3;font-family:ui-sans-serif,-apple-system,"system-ui","Segoe UI",Helvetica,"Apple Color Emoji",Arial,sans-serif,"Segoe UI Emoji","Segoe UI Symbol";min-height:19.5px;border-radius:0px;color:rgb(29,27,22);font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:-0.15px;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;margin:0px"></p><p dir="auto" style="line-height:1.3;font-family:ui-sans-serif,-apple-system,"system-ui","Segoe UI",Helvetica,"Apple Color Emoji",Arial,sans-serif,"Segoe UI Emoji","Segoe UI Symbol";min-height:19.5px;border-radius:0px;color:rgb(29,27,22);font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:-0.15px;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;margin:0px">I appreciate any additional comments or feedback on the issues and PR ahead of next week’s call.  Ideally we’ll be able to come to rough consensus ahead of the call, allowing the WG to move forward and close these issues soon.</p><p dir="auto" style="line-height:1.3;font-family:ui-sans-serif,-apple-system,"system-ui","Segoe UI",Helvetica,"Apple Color Emoji",Arial,sans-serif,"Segoe UI Emoji","Segoe UI Symbol";min-height:19.5px;border-radius:0px;color:rgb(29,27,22);font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:-0.15px;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;margin:0px"></p><p dir="auto" style="line-height:1.3;font-family:ui-sans-serif,-apple-system,"system-ui","Segoe UI",Helvetica,"Apple Color Emoji",Arial,sans-serif,"Segoe UI Emoji","Segoe UI Symbol";min-height:19.5px;border-radius:0px;color:rgb(29,27,22);font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:-0.15px;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;margin:0px">Thanks,</p><p dir="auto" style="line-height:1.3;font-family:ui-sans-serif,-apple-system,"system-ui","Segoe UI",Helvetica,"Apple Color Emoji",Arial,sans-serif,"Segoe UI Emoji","Segoe UI Symbol";min-height:19.5px;border-radius:0px;color:rgb(29,27,22);font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:-0.15px;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;margin:0px">-dhs</p><p dir="auto" style="line-height:1.3;font-family:ui-sans-serif,-apple-system,"system-ui","Segoe UI",Helvetica,"Apple Color Emoji",Arial,sans-serif,"Segoe UI Emoji","Segoe UI Symbol";min-height:19.5px;border-radius:0px;color:rgb(29,27,22);font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:-0.15px;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;margin:0px"></p><div><p dir="auto" style="line-height:1.3;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,"Apple Color Emoji",Arial,sans-serif,"Segoe UI Emoji","Segoe UI Symbol";min-height:19.5px;border-radius:0px;margin:0px">--</p><div dir="auto" style="line-height:1.3;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,"Apple Color Emoji",Arial,sans-serif,"Segoe UI Emoji","Segoe UI Symbol""><p dir="auto" style="line-height:1.3;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,"Apple Color Emoji",Arial,sans-serif,"Segoe UI Emoji","Segoe UI Symbol";min-height:19.5px;border-radius:0px;margin:0px">Dean H. Saxe</p></div><div dir="auto" style="line-height:1.3;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,"Apple Color Emoji",Arial,sans-serif,"Segoe UI Emoji","Segoe UI Symbol""><p dir="auto" style="line-height:1.3;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,"Apple Color Emoji",Arial,sans-serif,"Segoe UI Emoji","Segoe UI Symbol";min-height:19.5px;border-radius:0px;margin:0px"><a href="mailto:dean@thesax.es" target="_blank">dean@thesax.es</a></p></div></div>
    </div>
    
-- <br>
Openid-specs-ipsie mailing list<br>
<a href="mailto:Openid-specs-ipsie@lists.openid.net" target="_blank">Openid-specs-ipsie@lists.openid.net</a><br>
<a href="https://lists.openid.net/mailman/listinfo/openid-specs-ipsie" rel="noreferrer" target="_blank">https://lists.openid.net/mailman/listinfo/openid-specs-ipsie</a><br>
</div></blockquote></div></div>
-- <br>
Openid-specs-ipsie mailing list<br>
<a href="mailto:Openid-specs-ipsie@lists.openid.net" target="_blank">Openid-specs-ipsie@lists.openid.net</a><br>
<a href="https://lists.openid.net/mailman/listinfo/openid-specs-ipsie" rel="noreferrer" target="_blank">https://lists.openid.net/mailman/listinfo/openid-specs-ipsie</a><br>
</blockquote></div>