Re: [OAUTH-WG] Dynamic Client Registration in trusted federation

Dave Tonge <> Wed, 13 June 2018 05:27 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id C0FD0130DDC for <>; Tue, 12 Jun 2018 22:27:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.451
X-Spam-Status: No, score=-2.451 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.249, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id IYa-o5K82agA for <>; Tue, 12 Jun 2018 22:27:35 -0700 (PDT)
Received: from ( [IPv6:2a00:1450:4010:c07::22d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id C22FA126F72 for <>; Tue, 12 Jun 2018 22:27:34 -0700 (PDT)
Received: by with SMTP id i83-v6so1896232lfh.5 for <>; Tue, 12 Jun 2018 22:27:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=KMj5VB6PH07uqjSOi7GzE5fVrjX5FzwFKgSaENpJWfM=; b=G2dSzUOhLv7RHOyepsyIgNp3mgx+6zDt8NqaTw/qtk8pIVXX82SyZkfD/QRYyp4ZCY Gl8Bof0PpNYg6DHIkPWgbbuFbChI/lLLwiIabMg2Bh5ercLqO66erBnG8RCEpuomTvY/ Tq/yjnwm4ez8oP65HU7vAg/xo+QRyVXYAazyo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=KMj5VB6PH07uqjSOi7GzE5fVrjX5FzwFKgSaENpJWfM=; b=inEZ+7EkviumR4xfEcQe9Kq6IU/kSBmfpi6xTP6KSb5JvB8SSNUG2sdVvzp204d/7P 8YpxY3Amdwb6YtSNpqmsIg+nyDwYCQd/KJ3WOCIZRmSDxU2NQdrrmIBut8EygA5hYL4n 8coe36KoFSuhafo6KtaMlA6C7U7aOa30qsZhGxm3PTr7H6ShtxwczCRXp1CoAQj/sALr NX8CMfl1B2JllL+6aUxBO+1fUyW7JhWUTCd9VO9i21Hw36CEbEw+tk+2yFIquo/sZ8vm r/Pxf6vh7yaVk6Bhbo1tVGw6Uc5g2yT72O3qbmwbtbJRgcaVgp+EhHBKVmrOp1QiTUfo Apxg==
X-Gm-Message-State: APt69E0QBJLxKBrPTjqdAmp1NmeOcYuqFO/MLb6Y1IJdc3YkGihnD9KW nI3bAiwulhiHuTbk7wBV1w4c+CVJffDLnUVlS4iH4w==
X-Google-Smtp-Source: ADUXVKKPCE7IYEm0wivZER58b1vAKa5netjom3zMfv/DsDxp17eKGa0ehBhhwSjkoFBig+Xu0EKfWqtWhhl/yGMzZuA=
X-Received: by 2002:a19:9f95:: with SMTP id i143-v6mr1981286lfe.125.1528867653017; Tue, 12 Jun 2018 22:27:33 -0700 (PDT)
MIME-Version: 1.0
Received: by 2002:a19:860a:0:0:0:0:0 with HTTP; Tue, 12 Jun 2018 22:27:12 -0700 (PDT)
In-Reply-To: <>
References: <> <> <> <>
From: Dave Tonge <>
Date: Wed, 13 Jun 2018 07:27:12 +0200
Message-ID: <>
To: George Fletcher <>
Cc: Matt Pryor - UKRI STFC <>, "" <>
Content-Type: multipart/alternative; boundary="0000000000005dfd7a056e7f3d4c"
Archived-At: <>
Subject: Re: [OAUTH-WG] Dynamic Client Registration in trusted federation
X-Mailman-Version: 2.1.26
Precedence: list
List-Id: OAUTH WG <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 13 Jun 2018 05:27:40 -0000

Hi Matt

To add to George's point I think software statements solve your issue.
For an example of how they are being used by UK OpenBanking please look


On 1 June 2018 at 17:21, George Fletcher <>

> Hi Matt,
> I think your use case is fully within the use cases enabled by
> software-statements.
> A per client software-statement allows you to tighten the security model
> (if desired). For example binding the software-statement to the client
> presenting it in such a way as to have a cryptographic trust chain.
> Unfortunately, the specifications are not clear about the best way to do
> this. The Client Registration Request does allow for "extension parameters"
> so that may be a way to add what's necessary.
> Thanks,
> George
> On 6/1/18 10:33 AM, Matt Pryor - UKRI STFC wrote:
> Hi George,
> That did occur to me. It seemed like a bit of an abuse of the software-statement system, but maybe it is partially intended for this.
> It still needs us to securely distribute the software statement as well. Would you envisage a single software-statement for all installations, with each installation specifying their own client-specific metadata, or would you issue a software-statement per installation. The second sounds like it would allow us to exert more control.
> Thanks for your help!
> Matt
> On 01/06/2018, 15:28, "George Fletcher" <> <> wrote:
>     Given that you have a federation, could not the federation issue the
>     signed software-statement to each of the relying parties (existing or
>     old) and the AS will trust the dynamic client registration if and only
>     if the signed software-statement is signed by the federation. This fits
>     more closely with the trust framework model.
>     Thanks,
>     George
>     On 6/1/18 9:57 AM, Matt Pryor - UKRI STFC wrote:
>     > Hi,
>     >
>     > I am working on a use case of OAuth 2.0 in a federation and am after some advice about bootstrapping trust.
>     >
>     > Each site in the federation has an OAuth 2.0 authorization server and an OAuth 2.0 relying party. The relying party at each site needs to be registered with all the authorization servers in the federation. We want to automate as much of this process as possible, but restrict client registration to trusted members of the federation. We also want to make onboarding a new federation member as easy as possible.
>     >
>     > This seems an ideal use case for the Dynamic Client Registration Protocol (RFC 7591). The RFC permits the client registration endpoint to require a pre-existing token in order to register a new client which gives us our security (only trusted federation members can register a client).
>     >
>     > The challenge seems to be in bootstrapping the initial trust. It seems cumbersome to require that a new federation member must manually obtain a token from each authorization server before registering - they may as well manually register their client. I'd be interested to know if anyone has any ideas for a solution other than securely distributing a shared secret to new federation members.
>     >
>     > One possible option is to piggy-back on the legacy authn/z we already have - users can obtain an X509 certificate from their home idp, which is then trusted by all the other sites. We can then obtain SAML assertions about their permissions based on that certificate. We could use this mechanism to maintain a list of trusted admins, requiring authentication with an X509 certificate with the correct SAML assertion for the client registration endpoint. However, we are hoping to retire the X509 support in the short-to-medium term, so I'm also looking for solutions that do not use it. I'm also not sure how the use of X509 certificates would fit in with an RFC-compliant implementation of the Dynamic Client Registration Protocol.
>     >
>     > Thanks in advance for your help,
>     > Matt
>     >
>     >
>     > _______________________________________________
>     > OAuth mailing list
>     >
>     >
>     >
> _______________________________________________
> OAuth mailing list

Dave Tonge