Re: [OAUTH-WG] DPoP key rotation

George Fletcher <gffletch@aol.com> Mon, 14 June 2021 16:39 UTC

Return-Path: <gffletch@aol.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 9EF5B3A2A61 for <oauth@ietfa.amsl.com>; Mon, 14 Jun 2021 09:39:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=aol.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 fkVqllaP9IXe for <oauth@ietfa.amsl.com>; Mon, 14 Jun 2021 09:39:51 -0700 (PDT)
Received: from sonic308-9.consmr.mail.ne1.yahoo.com (sonic308-9.consmr.mail.ne1.yahoo.com [66.163.187.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D77473A2A6E for <oauth@ietf.org>; Mon, 14 Jun 2021 09:39:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aol.com; s=a2048; t=1623688789; bh=Mzq7zj09bhpBW9APfNCyTevCC1w5m0jrdXMqu96YEBg=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From:Subject:Reply-To; b=DvE9PnssrI4kALeJCjRTzdePKLvfa5MSv8YxnFcqhJsUbtOtVAfJUJJD8hMW/iwBYoAOJ+Z6FnaxfNTwXiKwTFyHGr0jC4RWZySKXBMOxvgAK1+fCiMIopCHz4ePWCUA+iTWtwF8guD5MRpfUZivH1A/BXVfr+/LmzZcVmTzHD5dEjZNLx2lJthQl1K2KAhZ6jVWwYH64kq4ub2bgh3KxhqJc9K947IyLvWCHMY1/gRLrcj7WF4pSn7TubAsVEAqQuVl1DhaYfsmtiF/J04u8Y+Ms1FSRKGAE8yH4/1XdKZpbztHiSfvtCDJ9GckOn+TTwb9CVzt7evNYDvJMxTqmA==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1623688789; bh=TrtzKd5E4B3Eth8No+jWrW4K/HKwUVoCz9NIcswjVSn=; h=X-Sonic-MF:Subject:To:From:Date:From:Subject; b=mFA56Skv68V1XLiZRWIMtbAB5Fhe7zK8ShbylwebBn1X/u0cLrOwN06VYwkQdDij1/O49QNHGthD3Q4yjdJ9r9IKZObh7A2D2HtwK6vVhBjW2I7HnvZ8/fxlqDcMztSz233PKMjq68r5M3DyrSQv7dVj08De/zf7Dh/TR5Pq+MHdf2JCisAiI7pXJLUre7qJHR6ilsCQEM2g/EFaT6EdCCmfh8pFzimmPGoAb+mIabrZawS9pMWfBoFe7dHC64mL7Xe4BYCZp7bWXcIPXm18Mxag/4XoatH85czXl/xGYq/tmdiaD9G97eOck1/Ch0qBuOxTlqXwjLxHgZatCnwxmA==
X-YMail-OSG: 3TpDk9kVM1k6z_dDDsptKcY26LSgZfR_2CseIw4qEsFKUYvxfLxZ.m8LcBSQ6kA 2huUZSzPZ5vamTjHRKyS_R7F8Pl6RZJhCOdavnqwBuRjysEZIfJdXVtIwNKNVVb91UAlKHc1kwou NQ6TGZmgqXChKgm_2oF1co2Vx2tDT.vTZzc.ngpWog3fHoz2ogtpnOOBNeak9bAKPsTKyUyQE6J3 fiqaj6wJI.YI4da9qlLBr.y0mF3PKYsAnHLWLx_8GnfM3NmHE6A5SjjC.k2ROG6geSw7re492_ex mITwvV2DohgRRGUbRXvGzDpVR97MhcZYSaRiZ6pJkhEgJ3JDjPoa.aYx9Cd4SNNKENjUPOoEcwcL CbQto948OLQKqk3kgzDODeq98GmlpMSaxe4htVwqkyS7M0VHR0IgVl_YVu_dM9vGuFrQ4z1W.dAe gnirfEN5FtR3GNU5rhAhxJdqw1xr2i0nl6au5V6DB8bJGgXkHZCwxe4kxeWSgT5cwpSpMkH7Xpvh FSt20hH8ePbxKuyNn1rcOZ.gWw2JtB8auGQm6zoKL6PeHCLLsdW.tlvfRx9SvtUIoXZV8zwYHUgM ifLK5eVNfZEPI5jMNQ61OSBSb0KdxPNFL4.GPF6.F.zMYiut.6u30P0r9qWRZJH00EhqeaUzspfQ .pVGFhpqlmt_o.pqYgiIQMXiGKP.a4qXn14uv86VDMliZtQRgE3L.Tu9DyzFaaW0zwPLPdyDWTFv 8EbGlhmz_.sqdrNyA9_v1jjB5_Uv4HFlxj4HfSAAWMsrWawxFwY7Fc0.Tftv.VZ_00cDILJMlyLo EUGhOqXXWG1GkyQ1zaFw5KUTHQnSyFE48KUsBI5ET0GCoZknXGgiMFRg78B2e8GXfo5kfTIYAcdZ FkJBrGZWAImEVwX6gbpaiE_Wpbkl5J1g7oTxhXQzjo1VfaJWzBSEDzvLrWkh3KJMWHefkfuFly4A pzOEA7FyFuVLWf_onFQAqjsVy2i6EPCkVW9cHwObDrmeZNmLATun5UAYBH6mxbtmYaP35AT9web2 Y92AjwUS.DReHtKhWtXiUDE.Vel9voY7uoY7EYLSsYhdjpBw15rq5yd6NCiISaFpe88c20XX5onY sOFxe.PWJDt4jAbPg1_oTVaKQPAg7h7zdaMVAUEjN038K.t_SD6boCl.2gKfQus8GQGGlwCGvOKm V5ydfsy0GlKrm3ZDGTOUA8M8F2dmfsvhBMHB2w9CT.y.31PEopsUDKexpmQZKfnFOAWm4tAFqnZy 0ekuEkRvG.mg0qdJgHE43OvEqvQYiJ7iBEYDzBr2jL.DWIGa4OZTKWlR7Ja5U53R5Xc3ctnbaZas .FGeJdOT1uy2MJrITr99QuA3PY2.N5Tceq2MWS6U2OEkMV_FUByyqtXpkWOXCGSil9BbZTTRQy5J Fp7C63_sOYyFOxFRXIkrv0LGAbn09yPSDa5q.X7TPVre_g8.XuzTfj_OMHS2UammyCCzhZjUxBOF SAQlWxOTWfx4O0XgiNKJ1GUwF_wtTuvi4Bqlcw7X4tEhQnkyOSDpN.TEF9p82egwX5wXmRHYrM9o umLOBOnzE2eYkHO1Ea6nYCcRrUw2dm0_RiFver0_qBjZYDqNtRxZUtyLujCvKMBRTegu0nFH.gPg TXoUPZxo9nb37c1WtomDsxRZMLbk.nG5gm1llpsT4mBh3fNTzVYgB1saDDSCYC.8KHTOuMmDDr5G dHIT4b0Wd.rm1wRRLu_QSQeezZs.5.w68w.Jc313KehaNpy_zBG8Uvr2x9K6pl4aIC_9.xkvCq1l xbsBlxRwDkevNkUIpoKy0UII1DcQTBWa0d_t0hy_LySQFW9NhOvXEPv8AAUj.gFMkS_PpR9QdR8P PtZiB9ZlJvgdnZXPK48xgaA2pccwp0O1gXI_sINZSDmthqQmro7ucpencYlM2zbjNpb9PAtnqcQa kC0UW_nKwIxsrKVGH0VOzfYoBGj69BBbUkB9.fza3wKBRIKxymdRsQnMt6qxj.EIpvHrQupvL921 DCiClEYxzsJ59upgN41DSnEGmcXzTtz5_30lspDMGfdkygFWlAYsbI.0g0UilBnkZptfsnnV4jAw abjEvr.cSGx1bGPhyX_DMMs2X1BQMYtLiB.Copm.AS1kf6iKnyXmPsfRxZX4VbSMKvcUJfrvQ4Py pZdI6H61ngLybBJ55SSpwOwSzl2b2cD.J_AIDsvpD3KX.etvHCkXBHHDtmnTbChoM9LqcTMP.43M yU8IT_VlNeGoZFbJUO_n4qcATTzO050fT5IIeOdJ9P0t8eyfidj22xBaDAj583QOUu_xTi5_.Jo7 wIypVwyGYoCyl8p.HDtcFIt7ukyr.WqKc6GjMbJfLAgNIjQ1tJ67ojrvfDy3sSTi45RWip2vydqu TOVpIydOnu0Hg3IqL7PhgG80B4iNQi.L1zB_6a2XwB5JUtLmYqoEvCLK71IB9TjO83A--
X-Sonic-MF: <gffletch@aol.com>
Received: from sonic.gate.mail.ne1.yahoo.com by sonic308.consmr.mail.ne1.yahoo.com with HTTP; Mon, 14 Jun 2021 16:39:49 +0000
Received: by kubenode520.mail-prod1.omega.bf1.yahoo.com (VZM Hermes SMTP Server) with ESMTPA ID 0ed1ef1ec94255bfe75bc8f1c199be6f; Mon, 14 Jun 2021 16:29:42 +0000 (UTC)
To: Brian Campbell <bcampbell=40pingidentity.com@dmarc.ietf.org>, Dmitry Telegin <dmitryt=40backbase.com@dmarc.ietf.org>
Cc: oauth <oauth@ietf.org>
References: <CAOtx8D=mdXHAgaEFspp7qEam6qH70LNUBTW_UivGxwYih1GDbw@mail.gmail.com> <CA+k3eCS4yA6GmWi8s87oXTVz3DAhjdaMukO289nh8Dqk-NAHnw@mail.gmail.com>
From: George Fletcher <gffletch@aol.com>
Organization: AOL LLC
Message-ID: <48695e18-80bf-28eb-c8ac-2fb25aad8a45@aol.com>
Date: Mon, 14 Jun 2021 12:29:40 -0400
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <CA+k3eCS4yA6GmWi8s87oXTVz3DAhjdaMukO289nh8Dqk-NAHnw@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------37FE9BF03F80A3053D28690C"
Content-Language: en-US
X-Mailer: WebService/1.1.18469 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/feIzbTzcqsejAupyQWSeGyItw4k>
Subject: Re: [OAUTH-WG] DPoP key rotation
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: Mon, 14 Jun 2021 16:39:59 -0000

There has also been some limited discussion on whether it's useful for 
mobile applications to create a relationship between keys used for 
Dynamic Client Registration (DCR) and the associated keys for DPoP 
headers. DCR does have mechanisms for rotating client instance keys and 
hence if the keys for DPoP are the same then this might be a mechanisms 
to support rotation for mobile applications.

Note that while both Android and iOS have hardware support for keys... 
the keys themselves have limitations on how they can be used, so 
depending on your use case, the hardware backed keys may not suffice.

Thanks,
George

On 6/11/21 4:20 PM, Brian Campbell wrote:
> Hi Dmitry,
>
> This ML is indeed the appropriate place for this kind of thing. You 
> raise a legitimate question, however, the general rough consensus 
> thinking has been that allowing for DPoP key rotation for refresh 
> tokens and public clients (the only case where it's relevant) didn't 
> add enough value to justify the added complexity. It doesn't help with 
> the threat model for in-browser applications. And mobile applications 
> have really good options for key storage - to the point that the kind 
> of event that might compromise a DPoP key would involve a lot more 
> than key rotation to cleanup from.
>
>
>
> On Tue, Jun 8, 2021 at 10:31 AM Dmitry Telegin 
> <dmitryt=40backbase.com@dmarc.ietf.org 
> <mailto:40backbase.com@dmarc.ietf.org>> wrote:
>
>     Hi,
>
>     I'm Dmitry Telegin, I'm currently working on DPoP implementation
>     in Keycloak on behalf of my company, Backbase. Takashi Norimatsu
>     of Hitachi supervises this process as the head of the Keycloak
>     FAPI SIG.
>
>     With the current DPoP design, once the keypair has been generated
>     on the user agent and the initial token set has been obtained
>     (using authorization_code grant), the whole chain of the
>     subsequent access/refresh tokens will be bound to this particular
>     keypair. That means, the keypair should be persisted on the user
>     agent for the duration of the session.
>
>     OTOH, sessions could be rather long-lived, especially if we take
>     offline tokens [1] into account. In a nutshell, offline access
>     provides a non-expiring refresh token. This could be highly
>     relevant e.g. for mobile applications that would employ offline
>     tokens to help users avoid logging in every time.
>
>     The longer the session lasts, the higher the probability of key
>     leakage is. Currently, the only way to switch to a new DPoP
>     keypair is to start a new session (i.e. log in again). Do you
>     think it might be worth incorporating some sort of key rotation
>     concept into DPoP design?
>
>     The most obvious way to perform key rotation is to do that during
>     token refresh. For that, we could make the refresh_token grant
>     honour the additional DPoP proof that would supersede the current
>     one. From the technical PoV, it could be as easy as supplying two
>     proofs within the DPoP header:
>
>     |DPoP: eyJ0eXAiO... eyJ0eXAiO... |
>
>     |Or we can go with a single (old) DPoP proof, containing the new
>     proof (to supersede the current one) as a claim (or vice versa). |
>
>     |We'd appreciate any feedback from the WG. Also apologize if this
>     ML is not the appropriate place to discuss issues like this. |
>
>     |Regards, |
>
>     |Dmitry Telegin |
>
>     |Senior Backend Engineer, Backbase R&D B.V. |
>
>     [1]
>     https://openid.net/specs/openid-connect-core-1_0.html#OfflineAccess
>     <https://openid.net/specs/openid-connect-core-1_0.html#OfflineAccess>
>     _______________________________________________
>     OAuth mailing list
>     OAuth@ietf.org <mailto:OAuth@ietf.org>
>     https://www.ietf.org/mailman/listinfo/oauth
>     <https://www.ietf.org/mailman/listinfo/oauth>
>
>
> /CONFIDENTIALITY NOTICE: This email may contain confidential and 
> privileged material for the sole use of the intended recipient(s). Any 
> review, use, distribution or disclosure by others is strictly 
> prohibited.  If you have received this communication in error, please 
> notify the sender immediately by e-mail and delete the message and any 
> file attachments from your computer. Thank you./
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth