Re: [OAUTH-WG] Step-up Authentication review

Pieter Kasselman <pieter.kasselman@microsoft.com> Fri, 22 April 2022 08:45 UTC

Return-Path: <pieter.kasselman@microsoft.com>
X-Original-To: oauth@ietfa.amsl.com
Delivered-To: oauth@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AB2923A1291 for <oauth@ietfa.amsl.com>; Fri, 22 Apr 2022 01:45:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.008
X-Spam-Level:
X-Spam-Status: No, score=-2.008 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=0.1, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=microsoft.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2hSZYp5AgN0w for <oauth@ietfa.amsl.com>; Fri, 22 Apr 2022 01:45:40 -0700 (PDT)
Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on2070b.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe1a::70b]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 258FE3A0EAF for <oauth@ietf.org>; Fri, 22 Apr 2022 01:45:39 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VjCl03Fv2AqIep5MZ9VHOcLO7wPzXEW1T8/j54qS96fZcd6oG1gMgdlUM+Fczkm+tPKtyKxpTRA04ZocUzMbDYWHZm08KcGP7WCIWe4x8ERVMYaD9348pv7kd9Vg8v5rfXNAxOsOnTvMG5Yg/zrZC/KBkxnI/A2tIpesWgAuRmWikSfFdAs6jGkhaRtZX+lQGpC0q+uPEvE64gvBmPH6wJoGrL+X7gxp/5/BKGeHhEWyUnWqeuADlKh/9kDODTZBvmZjkcsRjG/MV0F/aUmMnEfZThW59RTH+/JIamFK+wkyBvXrySe3hpOEsqEeJpUuzpPr10YLHKk66k3s+LjfJQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=5Pgmg1EZpedHpnabTFYqlVtkyOwJaT8fj/B7cffqUts=; b=nBXXdIlXaAeziV6kCcBOUQI0KfE67PWma6tgVkKvW5tYLQWkHdNOWTaFScVSsQykv2Cv7vXZww0dlGMzuxr0kRcmF8RYbkZEr2n9J19+9W/CU2INJzUzo7y/4RqHaRmp1aQMUrW5neDiQX4Oq2RgpgyHvvqg4/hXpnGjmUE0wefxBAhJIf9txmf3G1AAB44Jg+BvqX0/QlXDXcIXGC4baRNtAMFL0hhJKtUbMDfaGxKwA/c4qL/ysm2DHzfPXzvjKiRh7rDXEigfEZ0ysN++Q+e1qXQ06ZL1dDB+kHbmb8I6W8mhCrW1MBBI9UrzKPb8uH4O2MOxD4IYLzJqut9r7w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5Pgmg1EZpedHpnabTFYqlVtkyOwJaT8fj/B7cffqUts=; b=c4psoQ78EJH/tye/KOknOEgjJP4MABJ/Z6/1cq2Om+hPKTVq6YJD6E9AHEBiF7ejR29UnFMAS3YPWo+ODVWP57jiAKVmZ7q03z+SxEA9682FUh0wBBPUEaAyCGAh/qm3WX3aOH3/IO/+nUTCiLAutAZCfUh4Qa9Q6HThMCDpAbM=
Received: from AM7PR83MB0452.EURPRD83.prod.outlook.com (2603:10a6:20b:1b6::10) by DB6PR8303MB0070.EURPRD83.prod.outlook.com (2603:10a6:24:1::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5206.4; Fri, 22 Apr 2022 08:45:32 +0000
Received: from AM7PR83MB0452.EURPRD83.prod.outlook.com ([fe80::55d1:efba:c2ca:9516]) by AM7PR83MB0452.EURPRD83.prod.outlook.com ([fe80::55d1:efba:c2ca:9516%6]) with mapi id 15.20.5206.007; Fri, 22 Apr 2022 08:45:32 +0000
From: Pieter Kasselman <pieter.kasselman@microsoft.com>
To: Filip Skokan <panva.ip@gmail.com>, Vittorio Bertocci <vittorio.bertocci@auth0.com>, Brian Campbell <bcampbell@pingidentity.com>, Rifaat Shekh-Yusef <rifaat.s.ietf@gmail.com>
CC: oauth <oauth@ietf.org>
Thread-Topic: [OAUTH-WG] Step-up Authentication review
Thread-Index: AQHYVNQdJXqipLh//EiLx9jfIOdXJqz6eGwAgAEjlYA=
Date: Fri, 22 Apr 2022 08:45:32 +0000
Message-ID: <AM7PR83MB0452F55F143486F0EAD20D3391F79@AM7PR83MB0452.EURPRD83.prod.outlook.com>
References: <CADNypP8vaZVdNOf31o-=MSV8VVzfJ8NnZ9jfxYTnx7anhraJpA@mail.gmail.com> <CALAqi_83OLuiiK83dXutipAcc2Os=03Lz5L5cw4Cf0NfwPficQ@mail.gmail.com>
In-Reply-To: <CALAqi_83OLuiiK83dXutipAcc2Os=03Lz5L5cw4Cf0NfwPficQ@mail.gmail.com>
Accept-Language: en-IE, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=true; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2022-04-22T08:41:17Z; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Standard; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=Internal; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ActionId=368207ba-bd27-4e35-bd9e-3cac8b0efabd; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=microsoft.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 7032f2e4-f639-440a-cfe4-08da243c760f
x-ms-traffictypediagnostic: DB6PR8303MB0070:EE_
x-ld-processed: 72f988bf-86f1-41af-91ab-2d7cd011db47,ExtAddr
x-microsoft-antispam-prvs: <DB6PR8303MB00706262B10046711761503A91F79@DB6PR8303MB0070.EURPRD83.prod.outlook.com>
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: drS9Gl3P4W9JdOD/q00A9OBLsiMThE0ZXGQ1gq4nmYmtk6XVQrLFqtz6gKJyijqRgp8V/aJJjM8I94SiUgu9aF24Dsego3bAJsaiM8QdhUqlXsbOsvEfrVtBIWq5WY7iUtJuiKkfLZjnMbcbnshtAuAXTZE+I9iIPSjoqOU9qiuTyr6Han+2+LgAZwAhgGck0Gi/6rMNO/k/46SRj9c0P/7ePVo8Fm7Jhz42O2BZiyzmd1X4DMe4u3RbGgMoSd7ej1bmW2u1Dp077taRkWKXCtStNtbZSg4dAqL98vOQSq/ZKgS1k5IPR6iQcxURqs7SLPADGVP5W4HCiXXR2FPBWIvkgEoUBRwqaERDtwl+iKsydYg+tSpV+zjUbZv0aJ3e9Go3Ru7c2C/FVpo+jIRTBvbL/92QNI9IE1ViWUxT63n7IRlz2BcoIHiglVA+Fukm25nlRcCnPTTXLCw/rJHEN2V0XeOByiWK+Amrn7ceLiw4FRHD5QOdEWopKNESFclqPPZQFADi6BBdb/ueGMNzNalMxH7kw3dsfi4xllT7oZmVmTJonMKvFQeq+ehE03x55PoJ6IyPvlyK4bWsl8YJbLki2AN0oCIRFM3Xnw5z+FZhvFEG35ICkVYT+HcaqwjKUCqegbtd5QmvDYH6tDN6Hv2j37YAcqFIv4vclxXwjZdGa5j1Ss6yiPSFXiDRmPWBMZ5lc17UQ2Skd86PDOJEUTtE+9VZRTod+I22Wk/AgSCDqzgZW7YBuyypg+6LT1OaMZPNVmb+WmhslsTWCiPI6Bs/Vpp5FGjpGaUSCeR2YTc8XEYJ5rMN46kP1y655BCFiuWOW5yCaBtRSejy7A73Bg==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM7PR83MB0452.EURPRD83.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(451199009)(508600001)(5660300002)(8936002)(44832011)(21615005)(52536014)(9686003)(966005)(122000001)(33656002)(86362001)(6506007)(2906002)(8990500004)(7696005)(82950400001)(82960400001)(38100700002)(55016003)(38070700005)(53546011)(71200400001)(30864003)(166002)(186003)(66446008)(64756008)(83380400001)(66556008)(66476007)(8676002)(316002)(4326008)(10290500003)(66946007)(110136005)(76116006); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 9Xbrtt8GEFvuKojCAiKevYQJ/3bOmU64cND75XaNSFtyg+y/EHMqGk+zgvcIr4Ae8h+1XdCNLfOagO0WfknReOvsbiqI2bvmHdpDyztTfH/mLDfwRYlKC0FOq+KNm6c9loUZCaFaw6NmQV6bqf8NfMDQWDI9X95w1luPuYB4/vVcga2UuVXRJxQIRrbtTl/OlnCQy2zJFQeCzJTJE0kx8yUOCzJiag2V16v7yyhJcxXqDdwc13xScUINcjs464y4575vNzSB1ZTv2KVwejPTxFi/BwWdhqwWdsH2kwf9tawJanmo4AGytdAgqtnfkQG4csrvjCY11MPSOo/IdXS3rsiDr0XxylsiP67O8QJF6QSsWo4WEh0Iw0VDQTxltzKILMo/rS8QKtAE+m8OVmW+8afXryGOblHTH9YYQxtb+4h27SP481dnS14F/6qaskiwH41/GRp5qjfS5Z6tojXB/smbTSeLE3cQZRGfTIq2Z7tzXYxsKAonRUmkw38WLTQcpQRqD9UgpclGpjNgIuT4Q7NohhkGvLZWjIPY8qGTXRmDIcGoUyLqnbWF+C4T09duOujn1DciFOHCV/GTLgSt4kIz3I2bSYf4z0p+ao81h4SrT8fwIWlkRhgTEFwUvLHJq8zXVsdPRM2pLPh+NXBndPYb7wNmalq97O4qloS6r7TzuFdW4GnC95JAClcY/5OYJjrq7XBYwJzd/qpPcfBbkWAWVTDUJ+BhwNE8LJ5c1ZG14Uo7nFD1mynCjOZRXB13TCT1d+rmQzfREyCABl0Qo1mxOBwwZmnAsg1mziCiaOyJdKHOGIJAPRrLjBg9wYCYP+dDD45PlzP/OUWJWdlLQERl2YtPoCCOKB1q+/Bv5/QFBVIsavFYG2NBdJxNpeSYC3g33X52xZ7iK4bKJqs12k6iKXQaYeCV1Thovmchkx3T4IV5M1G3S3eYv+69SrHwpNmuvyZ8Qek6Zfd5Bzp+DYPPEpDgec6Aer3JfuAH/SXoGSY52p3w0g/I0hf0CX6jlmJFjfXztFqKRcVjVGIyHq9Xdrst8EUhMAYpKsgWzGwf87rMkxxxlANloiivUbydWf4A5I69NX7SdUzdpDBukPU7uI4HDqXSrHUflfrsjLJ1/Eq2jRLQJo9IOrBoVKuEc7KIcbU7hbjWLvkJdqwCocr+X2SRBMNxbG4MdVobvVQUR9CG+IPz1mIQyBipGJ3SJy7vnAAXIyrkFHAbramT5E/IqQcsZJmYg4GfpMHxP0GwoxgBW91KGb4/fhRotIcvys4ho0Ix3udE8HapgmeuvGGFBPXDMLDCx5osDYge3dK9Ut3NJ+ir55Mdse2xXvmXmAflcuIiVtdtPu9qQjCilLPVQwuMM5ai7RqbKvxYWy4YMqfKCYLaSiuAd0k1VbaYp3DMLhQ4ch1kX+YzuYgxQyA5stCowytINIGYM72BZOCyEUP0SUbKsQhss29qzcR7QRSmigUdQeOUlzU8chQvXUilO3r6s1CcKhUJDj16LABO40iSaMfP1eUvpU3NZZCPieBKsgwJB53LnYZpiKo85FuQOGN4fSanPTj4kyxq1CgazR+dbgSHjENqNHTyxrlXQs56TDRrB8stJn5tQN7Gth/XZqAdoESbZAdZTwzBw9nXEyOTi0AxjvmSt+bZ1hxzyd5n1wdRjaiIgLrj8a0tP9lI/TGnWnKxX//IhQ2lJ8XdtFhzHtKpM82E10uyxuTXYtMyJ6LozUb8mlqrS/cAHw==
Content-Type: multipart/alternative; boundary="_000_AM7PR83MB0452F55F143486F0EAD20D3391F79AM7PR83MB0452EURP_"
MIME-Version: 1.0
X-OriginatorOrg: microsoft.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AM7PR83MB0452.EURPRD83.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7032f2e4-f639-440a-cfe4-08da243c760f
X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Apr 2022 08:45:32.2782 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: V4bZw3fOyG2AQ/pUDECOnvOTTSEu7cVaz7Mswo4b7pjUw4n1AOQBPkD7ZrrKQfJBhL9+WLo2j+g3RHdWtxvXVuIl0w8RkRzhTORi3dsl8cY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR8303MB0070
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/hLZVFo5rVjImC9CEWAZwwulTA60>
Subject: Re: [OAUTH-WG] Step-up Authentication review
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/oauth/>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 22 Apr 2022 08:45:46 -0000

Hi Vittorio, Brian, Rifaat and OAuth WG members.

I volunteered to review the OAuth 2.0 Step-up Authentication Challenge Protocol (https://www.ietf.org/archive/id/draft-bertocci-oauth-step-up-authn-challenge-01.html) at the OAuth working group meeting at IETF 113. I did the review in the context of a "just-in-time" step-up authentication scenario we are exploring and have the following observations:


  1.  A standard for step-up authentication will be valuable with an increasing need for "just-in-time" step-up authentication to improve user experience and allow customers to protect their assets appropriately. We should pursue this work.
  2.  There is an implicit assumption in the proposal that the "step-up" is a superset that includes all preceding authentication contexts and that it persists. This may not always be the case if the "step-up" is short lived before reverting to the previous authentication context and the authentication methods may not always be a superset. For example a server side liveness biometric check or government ID presentation may be required on top of an MFA authentication. Satisfying the liveness check or government ID presentation can be done independent of the MFA method, and does not imply the MFA method was used.
  3.  When this "super-set" assumption does not hold it may result in a degraded user experience (user is prompted to re-authenticate on "step-down", extra latency and round trips), increased costs (extra token issuance) or cause a security vulnerability (e.g. only the "step_up" check is performed, the acr and auth_time is updated implying initial checks were performed as well while resetting the auth_time for the initial authentication context (if it took place)).

Some ideas on how to address this (there are probably more):

  1.  Make the assumption explicit and add security considerations to outline the security risks along with implementation guidance on how to deal with the "temporary step-up" uses cases (see Step 6: Option 1-3 below as examples).
  2.  Don't assume that "step-up" is always a superset of what came before and include authentication context history in the access token to give visibility to the resource server on which authentication contexts were satisfied when and how long ago (e.g. include the latest acr and auth_time values as proposed but also provide an acr_history construct of acr/auth_time tuples that reflect the authentication context history). This "acr_history" property may be optional for those deployments that do operate in a strict superset environment (if it is optional, the security considerations should outline the risks of making this assumption).

I am sharing more details on the scenario below, in case it helps to clarify the above observations (also, feel free to poke holes or suggest better options).

Scenario Description
The user is authenticated using one of a number of authentication methods available (password, FIDO, other MFA etc). For specific high value actions (e.g. a transaction approval, code commit etc), an additional "step-up" spot check needs to be performed on the user identity (e.g. a server side biometric liveness check, present a government issued ID, or some additional MFA options). The validity period of this "spot-check" needs to be short to minimise risk, after which authentication needs to "step-down" to the original authentication context. If the user needs to perform another high value transaction, they need to complete the "step-up" again. This roughly translates into the following steps:


  1.  User attempts to access "regular resource 1"
  2.  User is authenticated using an "initial" authentication mechanism (password, FIDO, other MFA)
  3.  User attempts to perform high value action on "sensitive resource 2"
  4.  User is prompted for a "step-up" authentication (e.g. server side liveness check/biometric verification, government ID presentation)
  5.  User authenticates and completes action.
  6.  User continues to access regular resources as before with no re-authentication for the "initial" authentication method.
  7.  User attempts to perform another high value action on "sensitive resource 2"
  8.  User is once again prompted for a "step-up" authentication (e.g. server side liveness check/biometric verification, government ID presentation)
  9.  User authenticates and completes action.

So, ideally we want to be able to perform an "initial" authentication, then force a short-lived "step-up" and then  followed by a "step-down" without having the user take any action for the "step-down". So, going through this step-by-step, it looks something like this:

Steps 1-2: This is achieved using existing OAuth flows and the authorisation server issues an access token with "acr: initial" and "auth_time: t0".

Step 3-5: The resource server responds with "insufficient_user_authentication", "acr_values: step_up" and "max_age: 0", which the client pass back to the authorization server. The authorization server force the step-up authentication and issue the new access token with the requested "acr: step_up" value and a new "auth_time: t1" value. At this point the resource server validate the token and inspect the new "acr: step_up" and "auth_time: t1" values. If the time window falls within the expected range, and the acr value match the expected value, the user can complete the high value action

Step 6: At this point the user navigates away from the high value resource that only requires the "acr: step_up" value. The resource server now  has one of the following options (there may be more, these are the ones that came to mind as I read the spec):

Step 6: Option 1
The resource server treats the "acr: step_up" value as a superset that includes the "acr: initial" value and accepts the "auth_time: t1" as representative of both the "acr: step_up" and the "acr: initial" value. The resource server assess the new "acr" and "auth_time" values for each resource accessed, based on the policies for those resources. The downside of this approach is a potential security vulnerability. If the "acr: step_up" value is not a strict superset, but rather an additional check, the previous authentication context is lost and may introduce a security vulnerability. For example, a user may be unauthenticated and asked to do a liveness check. On completing the liveness check, the new "acr: step_up" value may be set, implying that the user also complied with the "acr: initial" authentication step, even when they did not. Alternatively, the "acr: initial" value may be on the verge of exceeding the validity period, but a "step-up" check may cause the "auth_time" to be updated, implying that the "acr: initial" requirement was satisfied more recently than it really was.

Step 6: Option 2
The resource server rejects the "acr: step_up" value and issue another "insufficient_user_authentication", "acr_values" and "max_age". The client presents it to the authorisation server. If the authorization server still have the information on the original "acr: initial" value and "auth_time: t0" it may issue a new token with that information. If the "max_age" window exceeds the time elapsed from when the "auth_time" was issued, or if the authorization server no longer has the previous results cached, it may force a re-authentication to satisfy the "acr_value: initial" requirement and issue a new access token. This has the downside of an extra roundtrip with the Authorization Server in order to retrieve the original authentication context, and may result in additional authentication requests following a "step-up" if the authorization server no longer has a record of the previous authentication cached. In an extreme case, where the Authorisation Server does not keep state, the user will be forced to re-authenticate to satisfy "acr: initial" after every "acr: step_up" interaction. In large scale deployments, it also requires synchronisation of authentication context state across geo-distributed authorisation servers, which drives complexity and costs.

Step 6: Option 3
The client can maintain multiple tokens, one for each "acr" value and present those tokens depending on the resources being accessed. This approach pushes responsibility back to the client to handle the complexity of managing the tokens and feels like an anti-pattern to some extent as it is preferable to keep complexity out of the clients.

Step 6: Option 4 (not supported in current proposal, for consideration of inclusion)
Don't assume that "step-up" is always a superset of previous authentication contexts and include authentication context history in the access token to give visibility to the resource server on which authentication contexts were satisfied when and how long ago (e.g. include the latest acr and auth_time values as proposed but also provide an acr_history construct of acr/auth_time tuples that preceded the "step-up" operation). This avoids unnecessary re-authentication (uesr experience issues, latency), additional roundtrips to the Authorisation Server (costs), simplified state management for the authorization server (cost and complexity) and avoids pushing more complexity to the client. There is still a risk that the resource server misinterprets the acr values or history, but that risk already exists, and having the history enables the resource server to take all the information explicitly into account when applying policies.

Step 7-9: The same as steps 3-5.

It would be great to hear from others if there are other options/alternatives to consider to refine this valuable proposal for step-up authentication.

Cheers

Pieter


From: OAuth <oauth-bounces@ietf.org> On Behalf Of Filip Skokan
Sent: Thursday 21 April 2022 16:04
To: Vittorio Bertocci <vittorio.bertocci@auth0.com>; Brian Campbell <bcampbell@pingidentity.com>; Rifaat Shekh-Yusef <rifaat.s.ietf@gmail.com>
Cc: oauth <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Step-up Authentication review

Hello Rifaat, Brian, Vittorio, everyone,

As a follow up to the last IETF meeting, I've reviewed the step up authentication draft again.

Aside from a number of typos and what was shared and discussed at the IETF meeting in person I believe the mechanism could use an AS discovery component.

I believe that a call for adoption is in order so that this document may get worked on under the working group process.

Best,
Filip Skokan


On Wed, 20 Apr 2022 at 18:31, Rifaat Shekh-Yusef <rifaat.s.ietf@gmail.com<mailto:rifaat.s.ietf@gmail.com>> wrote:
Gentlemen,

During the last IETF meeting, you volunteered to review the step-up authentication draft.
https://datatracker.ietf.org/doc/html/draft-bertocci-oauth-step-up-authn-challenge<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdatatracker.ietf.org%2Fdoc%2Fhtml%2Fdraft-bertocci-oauth-step-up-authn-challenge&data=05%7C01%7Cpieter.kasselman%40microsoft.com%7C862c7d08c589472fb1ad08da23a84fd1%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637861503080864352%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Peo4ilfA8TBMal3JotN9LzisCerx0Qznc7%2F5asKVHHM%3D&reserved=0>

Can you please review the document and provide your feedback on the mailing list?

Thanks,
 Rifaat