Return-Path: <vladimir@connect2id.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 9A32712010D
 for <oauth@ietfa.amsl.com>; Tue,  7 Jan 2020 05:58:28 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level: 
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5
 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001,
 SPF_HELO_NONE=0.001, SPF_NONE=0.001]
 autolearn=unavailable autolearn_force=no
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 UgS_-RvDpDfv for <oauth@ietfa.amsl.com>;
 Tue,  7 Jan 2020 05:58:25 -0800 (PST)
Received: from p3plsmtpa12-10.prod.phx3.secureserver.net
 (p3plsmtpa12-10.prod.phx3.secureserver.net [68.178.252.239])
 (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 7709E120120
 for <oauth@ietf.org>; Tue,  7 Jan 2020 05:58:25 -0800 (PST)
Received: from [192.168.88.250] ([94.155.17.54]) by :SMTPAUTH: with ESMTPSA
 id opNGik7E8n9FUopNHitjBq; Tue, 07 Jan 2020 06:58:24 -0700
x-spam-cmae: v=2.3 cv=SNc8q9nH c=1 sm=1 tr=0 p=_Y5QVBCcAAAA:8
 a=FNQ4XmqxRr20pcroDK0mpg==:117 a=FNQ4XmqxRr20pcroDK0mpg==:17
 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=q0rX5H01Qin5IyBaTmIA:9
 a=r77TgQKjGQsHNAKrUKIA:9 a=48vgC7mUAAAA:8 a=UM_DoP-0AAAA:8 a=LS6YZpeZAAAA:8
 a=vggBfdFIAAAA:8 a=DVqm7IH0AAAA:8 a=-B3230MOAAAA:8 a=pGLkceISAAAA:8
 a=BBoBmrX5DfzL3ZKhHt8A:9 a=MuVwZFWdJ64b3vTM:21 a=Ty4s1fouFGWNx9UI:21
 a=QEXdDO2ut3YA:10 a=r_AD4E2wVIxbPAgEuloA:9 a=tgtXeDFGb3I7toZQ:21
 a=P4tNvQTW8I36gEdL:21 a=jVb8tlh8HRYajJk3:21 a=_W_S_7VecoQA:10
 a=D8lnhvtxf0AONpHuB7QA:9 a=ZVk8-NSrHBgA:10 a=30ssDGKg3p0A:10
 a=w1C3t2QeGrPiZgrLijVG:22 a=TEVHQOIvcflanWNqQbWu:22 a=IRr2vCDBpksuBOXhfkKu:22
 a=M6wP_kGduNurgptF5PJY:22 a=Z6yIbYtmj3_f4zpjOCXI:22 a=IdGyktwZ2tr74praB_5u:22
x-spam-account: vladimir@connect2id.com
x-spam-domain: connect2id.com
To: Filip Skokan <panva.ip@gmail.com>,
 "Richard Backman, Annabelle" <richanna=40amazon.com@dmarc.ietf.org>
Cc: Dave Tonge <dave.tonge@moneyhub.com>, oauth <oauth@ietf.org>,
 Nat Sakimura <nat@sakimura.org>
References: <E1C4F217-8A9F-4E26-A488-C17D741C1D34@lodderstedt.net>
 <CALAqi_-J6vUSc11V1L2L+tGfZEjqdya6R0rqV-kxiM2NoFb0Zw@mail.gmail.com>
 <50191CC6-0A19-42B4-87C2-880F53FD3C4F@lodderstedt.net>
 <05AB19DB-FCD2-4FAA-A470-0978E7B65354@amazon.com>
 <CA+k3eCS6SdAKjOp67o_zUytnNGnpM4p5UO68CvZeEXg11PWrtg@mail.gmail.com>
 <801AFC59-B94A-4C9E-A44D-60F4EF6F4EC2@forgerock.com>
 <38C69B8C-905F-46F1-88BB-016CF7DE2952@amazon.com>
 <CALAqi_8tM4E0UgOt0Bq-DTx0d-putVWv-grt6=jXVES5GHfMZw@mail.gmail.com>
From: Vladimir Dzhuvinov <vladimir@connect2id.com>
X-Enigmail-Draft-Status: N11100
Organization: Connect2id Ltd.
Message-ID: <3c24a635-3d48-7b86-de31-fbf8595cf15f@connect2id.com>
Date: Tue, 7 Jan 2020 15:58:21 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <CALAqi_8tM4E0UgOt0Bq-DTx0d-putVWv-grt6=jXVES5GHfMZw@mail.gmail.com>
Content-Type: multipart/signed; protocol="application/pkcs7-signature";
 micalg=sha-256; boundary="------------ms030205050400070805000602"
X-CMAE-Envelope: MS4wfJ0fCYBSZ1rLzyqyVkZuZ8CDGICBQQUHGaMbMB9Zg2dr/oEkCQ9VqIlaYOHm8qlWHaGUX1yO5uikg7N6hL2fZZRDtrgP1s7c6IXJazKJenMX1VClVwT+
 DT3pCp+XyjTYuVM5o/kj+0RRaxwbb0ad/LjRCd3asM72oYjVRKdgpguuRnvDzY4e1cLNcBb44d1Jx5+SfxN+BXRQKSnalseiMc50zg6+gcp05rTLtHWKiU0D
 3PDnEQtXU2qqQWAsdq1PbXA41EnXdlF8TUiEOYkDMuYnbaZVUOuAfZ3ON3CbjiJ1phZj+Xgvi2tHmHATL/5eqQ==
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/Lz6kWcdZP5lD1hVE6b8l3Ez6fQw>
Subject: Re: [OAUTH-WG] [UNVERIFIED SENDER] Re: PAR metadata
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: Tue, 07 Jan 2020 13:58:28 -0000

This is a cryptographically signed message in MIME format.

--------------ms030205050400070805000602
Content-Type: multipart/alternative;
 boundary="------------B13116EA8C3AFD96FEC57117"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------B13116EA8C3AFD96FEC57117
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On 07/01/2020 00:22, Filip Skokan wrote:
> We've been discussing making the following=C2=A0change to the language
>
>     The AS SHOULD validate the request in the same way as at the
>     authorization endpoint. The AS MUST ensure that all parameters to
>     the authorization request are still valid at the time when the
>     request URI is used.
>
Could you expand a bit on the second sentence?

Alternative suggestion:

The AS MUST validate the request in the same way as at the authorization
endpoint, or complete the request validation at the authorization endpoin=
t.

Vladimir


> This would allow the PAR endpoint to simply stash the encrypted
> request object instead of decrypting and validating it. All within the
> bounds of "SHOULD -=C2=A0We=E2=80=99d like you to do this, but we can=E2=
=80=99t always
> require it". This supports "light weight PAR" implementation rather
> than introducing the unnecessary complexity in the form of a second JWK=
S.
>
> Best,
> *Filip*
>
>
> On Mon, 6 Jan 2020 at 23:00, Richard Backman, Annabelle
> <richanna=3D40amazon.com@dmarc.ietf.org
> <mailto:40amazon.com@dmarc.ietf.org>> wrote:
>
>     The issue isn=E2=80=99t that the PAR endpoint needs access to one s=
pecific
>     request object decryption key that could reasonably be shared
>     across AS endpoints, but that it actually needs access to the
>     private keys for all encryption public keys in the JWK set pointed
>     to by the AS=E2=80=99s jwks_uri metadata property. Since there is n=
o way
>     to designate one particular key as the one to use for encrypting
>     request objects, clients may reasonably use any encryption public
>     key in the JWK set to encrypt a request object. As one example of
>     how this could expose sensitive data to the PAR endpoint, if the
>     PAR endpoint has all the decryption keys for the keys in the AS=E2=80=
=99s
>     JWK set, it would be able to decrypt ID Tokens sent in
>     id_token_hint request parameters. As more and more use cases
>     develop for encrypting blobs for the AS, this issue will only get
>     worse.
>
>     =C2=A0
>
>     The PAR endpoint can=E2=80=99t simply stash the encrypted request o=
bject,
>     as it is required to verify the request, according to =C2=A72.1:
>
>     =C2=A0
>
>     The AS MUST process the request as follows:
>
>     =C2=A0
>
>     ...
>
>     =C2=A0
>
>     3.=C2=A0 The AS MUST validate the request in the same way as at the=

>
>     =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0authorizatio=
n endpoint. ...
>
>     =C2=A0
>
>     This language needs to be more flexible, IMHO, to allow for
>     lightweight PAR endpoints that may not have the information or
>     authority needed to perform all the validation that happens at the
>     authorization endpoint. I need to think about this more before I
>     can say if it would adequately address my concerns, but it=E2=80=99=
d be a
>     good start and makes sense in its own right.
>
>     =C2=A0
>
>     I think it=E2=80=99s pretty risky for us to base decision on an ass=
umption
>     that no one is going to need or want to encrypt pushed request
>     objects, particularly when they=E2=80=99re JWTs, and JWTs have well=

>     established support for encryption, and encrypted JWTs are
>     supported by pass-by-value in OIDC and draft-ietf-oauth-jwsreq.
>     But if you insist, here are a few examples for why someone might
>     want to do this:
>
>      1. The request object is passed by reference, and accessible on
>         the public Internet.
>      2. The request object contains sensitive transaction-related data
>         in RAR parameters that the client=E2=80=99s authN/authZ stack d=
oesn=E2=80=99t
>         need to have access to.
>      3. The AS requires request object encryption to minimize exposure
>         to the hosted PAR endpoint service it uses.
>      4. #2, but the threat vector is gaps in end-to-end TLS.
>      5. Any of the above, but the concern is message integrity, and
>         the AS requires requested objects to be encrypted for
>         confidentiality and integrity protection and does not support
>         signed request objects.
>
>     =C2=A0
>
>     =E2=80=93=C2=A0
>
>     Annabelle Richard Backman
>
>     AWS Identity
>
>     =C2=A0
>
>     =C2=A0
>
>     *From: *Neil Madden <neil.madden@forgerock.com
>     <mailto:neil.madden@forgerock.com>>
>     *Date: *Monday, January 6, 2020 at 6:29 AM
>     *To: *Brian Campbell <bcampbell@pingidentity.com
>     <mailto:bcampbell@pingidentity.com>>
>     *Cc: *"Richard Backman, Annabelle" <richanna@amazon.com
>     <mailto:richanna@amazon.com>>, Nat Sakimura <nat@sakimura.org
>     <mailto:nat@sakimura.org>>, Dave Tonge <dave.tonge@moneyhub.com
>     <mailto:dave.tonge@moneyhub.com>>, Torsten Lodderstedt
>     <torsten@lodderstedt..net <mailto:torsten@lodderstedt.net>>, oauth
>     <oauth@ietf.org <mailto:oauth@ietf.org>>
>     *Subject: *[UNVERIFIED SENDER] Re: [OAUTH-WG] PAR metadata
>
>     =C2=A0
>
>     Agreed.
>
>     =C2=A0
>
>     In addition, I'm not sure why the PAR endpoint would need access
>     to the decryption keys at all. If you're using encrypted request
>     objects then the PAR endpoint receives an encrypted JWT and then
>     later makes the same (still encrypted) JWT available to the
>     authorization endpoint. If the PAR endpoint is doing any kind of
>     decryption or validation on behalf of the authorization endpoint
>     then they are clearly not in separate trust boundaries.
>
>     =C2=A0
>
>     -- Neil
>
>     =C2=A0
>
>
>
>         On 6 Jan 2020, at 13:57, Brian Campbell
>         <bcampbell=3D40pingidentity.com@dmarc.ietf.org
>         <mailto:bcampbell=3D40pingidentity.com@dmarc.ietf.org>> wrote:
>
>         =C2=A0
>
>         I really struggle to see the assumption that an entity be able
>         to use the same key to decrypt the same type of message
>         ultimately intended for the same purpose as an artificial
>         limit. The same general assumption =C2=A0 underlies everything =
else
>         in OAuth/OIDC (Vladimir's post points to some but not all
>         examples of such). There's no reason for PAR to make a one-off
>         exception. And should there be some deployment specific reason
>         that truly requires that kind of isolation, there are
>         certainly implementation options that aren't
>         compatibility-breaking. And having said all that, I'm honestly
>         a little surprised anyone is thinking much about encrypted
>         request objects with PAR as, at least with my limited
>         imagination, there's not really a need for it.
>
>         =C2=A0
>
>         =C2=A0
>
>         =C2=A0
>
>         =C2=A0
>
>         =C2=A0
>
>         =C2=A0
>
>         =C2=A0
>
>         =C2=A0
>
>         On Fri, Jan 3, 2020 at 2:43 PM Richard Backman, Annabelle
>         <richanna=3D40amazon.com@dmarc.ietf.org
>         <mailto:40amazon.com@dmarc.ietf.org>> wrote:
>
>             PAR introduces an added wrinkle for encrypted request
>             objects: the PAR endpoint and authorization endpoint may
>             not have access to the same cryptographic keys, even
>             though they're both part of the "authorization server."
>             Since they're different endpoints with different roles,
>             it's reasonable to put them in separate trust boundaries.
>             There is no way to support this isolation with just a
>             single "jwks_uri" metadata property.
>
>             The two options that I see are:
>
>             1. Define a new par_jwks_uri metadata property.
>             2. Explicitly state that this separation is not supported.
>
>             I strongly perfer #1 as it has a very minor impact on
>             deployments that don't care (i.e., they just set
>             par_jwks_uri and jwks_uri to the same value) and failing
>             to support this trust boundary creates an artificial limit
>             on implementation architecture and could lead to
>             compatibility-breaking workarounds.
>
>             =E2=80=93
>             Annabelle Richard Backman
>             AWS Identity
>
>
>             On 12/31/19, 8:07 AM, "OAuth on behalf of Torsten
>             Lodderstedt" <oauth-bounces@ietf.org
>             <mailto:oauth-bounces@ietf.org> on behalf of
>             torsten=3D40lodderstedt.net@dmarc.ietf.org
>             <mailto:40lodderstedt.net@dmarc.ietf.org>> wrote:
>
>             =C2=A0 =C2=A0 Hi Filip,
>
>             =C2=A0 =C2=A0 > On 31. Dec 2019, at 16:22, Filip Skokan
>             <panva.ip@gmail.com <mailto:panva.ip@gmail.com>> wrote:
>             =C2=A0 =C2=A0 >
>             =C2=A0 =C2=A0 > I don't think we need a *_auth_method_* met=
adata for
>             every endpoint the client calls directly, none of the new
>             specs defined these (e.g. device authorization endpoint or
>             CIBA), meaning they also didn't follow the scheme from RFC
>             8414 where introspection and revocation got its own
>             metadata. In most cases the unfortunately named
>             `token_endpoint_auth_method` and its related metadata is
>             what's used by clients for all direct calls anyway.
>             =C2=A0 =C2=A0 >
>             =C2=A0 =C2=A0 > The same principle could be applied to sign=
ing (and
>             encryption) algorithms as well.
>             =C2=A0 =C2=A0 >
>             =C2=A0 =C2=A0 > This I do not follow, auth methods and thei=
r signing
>             is dealt with by using
>             `token_endpoint_auth_methods_supported` and
>             `token_endpoint_auth_signing_alg_values_supported` -
>             there's no encryption for the `_jwt` client auth methods.
>             =C2=A0 =C2=A0 > Unless it was meant to address the Request =
Object
>             signing and encryption metadata, which is defined and IANA
>             registered by OIDC. PAR only references JAR section 6.1
>             and 6.2 for decryption/signature validation and these do
>             not mention the metadata (e.g. request_object_signing_alg)
>             anymore since draft 07.
>
>             =C2=A0 =C2=A0 Dammed! You are so right. Sorry, I got confus=
ed somehow.
>
>             =C2=A0 =C2=A0 >
>             =C2=A0 =C2=A0 > PS: I also found this comment related to th=
e same
>             question about auth metadata but for CIBA.
>
>             =C2=A0 =C2=A0 Thanks for sharing.
>
>             =C2=A0 =C2=A0 >
>             =C2=A0 =C2=A0 > Best,
>             =C2=A0 =C2=A0 > Filip
>
>             =C2=A0 =C2=A0 thanks,
>             =C2=A0 =C2=A0 Torsten.
>
>             =C2=A0 =C2=A0 >
>             =C2=A0 =C2=A0 >
>             =C2=A0 =C2=A0 > On Tue, 31 Dec 2019 at 15:38, Torsten Lodde=
rstedt
>             <torsten@lodderstedt.net <mailto:torsten@lodderstedt.net>>
>             wrote:
>             =C2=A0 =C2=A0 > Hi all,
>             =C2=A0 =C2=A0 >
>             =C2=A0 =C2=A0 > Ronald just sent me an email asking whether=
 we will
>             define metadata for
>             =C2=A0 =C2=A0 >
>             =C2=A0 =C2=A0 > pushed_authorization_endpoint_auth_methods_=
supported and
>             =C2=A0 =C2=A0 >
>             pushed_authorization_endpoint_auth_signing_alg_values_suppo=
rted.
>             =C2=A0 =C2=A0 >
>             =C2=A0 =C2=A0 > The draft right now utilises the existing t=
oken
>             endpoint authentication methods so there is basically no
>             need to define another parameter. The same principle could
>             be applied to signing (and encryption) algorithms as well.
>             =C2=A0 =C2=A0 >
>             =C2=A0 =C2=A0 > What=E2=80=99s your opinion?
>             =C2=A0 =C2=A0 >
>             =C2=A0 =C2=A0 > best regards,
>             =C2=A0 =C2=A0 > Torsten.
>
>
>
>             _______________________________________________
>             OAuth mailing list
>             OAuth@ietf.org <mailto:OAuth@ietf.org>
>             https://www.ietf.org/mailman/listinfo/oauth
>


--------------B13116EA8C3AFD96FEC57117
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable

<html>
  <head>
    <meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3DUTF=
-8">
  </head>
  <body>
    <div class=3D"moz-cite-prefix">On 07/01/2020 00:22, Filip Skokan
      wrote:<br>
    </div>
    <blockquote type=3D"cite"
cite=3D"mid:CALAqi_8tM4E0UgOt0Bq-DTx0d-putVWv-grt6=3DjXVES5GHfMZw@mail.gm=
ail.com">
      <meta http-equiv=3D"content-type" content=3D"text/html; charset=3DU=
TF-8">
      <div dir=3D"ltr">
        <div>We've been discussing making the following=C2=A0change to th=
e
          language</div>
        <div><br>
        </div>
        <blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px
          0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">=
The
          AS SHOULD validate the request in the same way as at the
          authorization endpoint. The AS MUST ensure that all parameters
          to the authorization request are still valid at the time when
          the request URI is used.<br>
        </blockquote>
      </div>
    </blockquote>
    <p>Could you expand a bit on the second sentence?</p>
    <p>Alternative suggestion:</p>
    <p>The AS MUST validate the request in the same way as at the
      authorization endpoint, or complete the request validation at the
      authorization endpoint.<br>
    </p>
    <p>Vladimir</p>
    <p><br>
    </p>
    <blockquote type=3D"cite"
cite=3D"mid:CALAqi_8tM4E0UgOt0Bq-DTx0d-putVWv-grt6=3DjXVES5GHfMZw@mail.gm=
ail.com">
      <div dir=3D"ltr">
        <div>This would allow the PAR endpoint to simply stash the
          encrypted request object instead of decrypting and validating
          it. All within the bounds of "SHOULD -=C2=A0We=E2=80=99d like y=
ou to do
          this, but we can=E2=80=99t always require it". This supports "l=
ight
          weight PAR" implementation rather than introducing the
          unnecessary complexity in the form of a second JWKS.</div>
        <br clear=3D"all">
        <div>
          <div dir=3D"ltr" class=3D"gmail_signature"
            data-smartmail=3D"gmail_signature">Best,<br>
            <b>Filip</b></div>
        </div>
        <br>
      </div>
      <br>
      <div class=3D"gmail_quote">
        <div dir=3D"ltr" class=3D"gmail_attr">On Mon, 6 Jan 2020 at 23:00=
,
          Richard Backman, Annabelle &lt;richanna=3D<a
            href=3D"mailto:40amazon.com@dmarc.ietf.org"
            moz-do-not-send=3D"true">40amazon.com@dmarc.ietf.org</a>&gt;
          wrote:<br>
        </div>
        <blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px
          0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">=

          <div lang=3D"EN-US">
            <div class=3D"gmail-m_-7775433421654775539WordSection1">
              <p class=3D"MsoNormal">The issue isn=E2=80=99t that the PAR=
 endpoint
                needs access to one specific request object decryption
                key that could reasonably be shared across AS endpoints,
                but that it actually needs access to the private keys
                for all encryption public keys in the JWK set pointed to
                by the AS=E2=80=99s jwks_uri metadata property. Since the=
re is
                no way to designate one particular key as the one to use
                for encrypting request objects, clients may reasonably
                use any encryption public key in the JWK set to encrypt
                a request object. As one example of how this could
                expose sensitive data to the PAR endpoint, if the PAR
                endpoint has all the decryption keys for the keys in the
                AS=E2=80=99s JWK set, it would be able to decrypt ID Toke=
ns sent
                in id_token_hint request parameters. As more and more
                use cases develop for encrypting blobs for the AS, this
                issue will only get worse.</p>
              <p class=3D"MsoNormal">=C2=A0</p>
              <p class=3D"MsoNormal">The PAR endpoint can=E2=80=99t simpl=
y stash
                the encrypted request object, as it is required to
                verify the request, according to =C2=A72.1:</p>
              <p class=3D"MsoNormal">=C2=A0</p>
              <pre style=3D"margin-left:0.5in"><span style=3D"color:black=
">The AS MUST process the request as follows:</span></pre>
              <pre style=3D"margin-left:0.5in"><span style=3D"color:black=
">=C2=A0</span></pre>
              <pre style=3D"margin-left:0.5in"><span style=3D"color:black=
">...</span></pre>
              <pre style=3D"margin-left:0.5in"><span style=3D"color:black=
">=C2=A0</span></pre>
              <pre style=3D"margin-left:0.5in"><span style=3D"color:black=
">3.=C2=A0 The AS MUST validate the request in the same way as at the</sp=
an></pre>
              <pre><span style=3D"color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 =C2=A0=C2=A0=C2=A0=C2=A0authorization endpoint. ...</span></pre>
              <pre><span style=3D"color:black">=C2=A0</span></pre>
              <p class=3D"MsoNormal">This language needs to be more
                flexible, IMHO, to allow for lightweight PAR endpoints
                that may not have the information or authority needed to
                perform all the validation that happens at the
                authorization endpoint. I need to think about this more
                before I can say if it would adequately address my
                concerns, but it=E2=80=99d be a good start and makes sens=
e in
                its own right.</p>
              <p class=3D"MsoNormal">=C2=A0</p>
              <p class=3D"MsoNormal">I think it=E2=80=99s pretty risky fo=
r us to
                base decision on an assumption that no one is going to
                need or want to encrypt pushed request objects,
                particularly when they=E2=80=99re JWTs, and JWTs have wel=
l
                established support for encryption, and encrypted JWTs
                are supported by pass-by-value in OIDC and
                draft-ietf-oauth-jwsreq. But if you insist, here are a
                few examples for why someone might want to do this:</p>
              <ol style=3D"margin-top:0in" type=3D"1" start=3D"1">
                <li class=3D"gmail-m_-7775433421654775539MsoListParagraph=
"
                  style=3D"margin-left:0in">The request object is passed
                  by reference, and accessible on the public Internet.</l=
i>
                <li class=3D"gmail-m_-7775433421654775539MsoListParagraph=
"
                  style=3D"margin-left:0in">The request object contains
                  sensitive transaction-related data in RAR parameters
                  that the client=E2=80=99s authN/authZ stack doesn=E2=80=
=99t need to
                  have access to.</li>
                <li class=3D"gmail-m_-7775433421654775539MsoListParagraph=
"
                  style=3D"margin-left:0in">The AS requires request objec=
t
                  encryption to minimize exposure to the hosted PAR
                  endpoint service it uses.</li>
                <li class=3D"gmail-m_-7775433421654775539MsoListParagraph=
"
                  style=3D"margin-left:0in">#2, but the threat vector is
                  gaps in end-to-end TLS.</li>
                <li class=3D"gmail-m_-7775433421654775539MsoListParagraph=
"
                  style=3D"margin-left:0in">Any of the above, but the
                  concern is message integrity, and the AS requires
                  requested objects to be encrypted for confidentiality
                  and integrity protection and does not support signed
                  request objects.</li>
              </ol>
              <p class=3D"MsoNormal">=C2=A0</p>
              <div>
                <p class=3D"MsoNormal"><span style=3D"font-size:12pt">=E2=
=80=93=C2=A0</span></p>
                <p class=3D"MsoNormal"><span style=3D"font-size:12pt">Ann=
abelle
                    Richard Backman</span></p>
                <p class=3D"MsoNormal"><span style=3D"font-size:12pt">AWS=

                    Identity</span></p>
              </div>
              <p class=3D"MsoNormal">=C2=A0</p>
              <p class=3D"MsoNormal">=C2=A0</p>
              <div
style=3D"border-right:none;border-bottom:none;border-left:none;border-top=
:1pt
                solid rgb(181,196,223);padding:3pt 0in 0in">
                <p class=3D"MsoNormal"><b><span
                      style=3D"font-size:12pt;color:black">From: </span><=
/b><span
                    style=3D"font-size:12pt;color:black">Neil Madden &lt;=
<a
                      href=3D"mailto:neil.madden@forgerock.com"
                      target=3D"_blank" moz-do-not-send=3D"true">neil.mad=
den@forgerock.com</a>&gt;<br>
                    <b>Date: </b>Monday, January 6, 2020 at 6:29 AM<br>
                    <b>To: </b>Brian Campbell &lt;<a
                      href=3D"mailto:bcampbell@pingidentity.com"
                      target=3D"_blank" moz-do-not-send=3D"true">bcampbel=
l@pingidentity.com</a>&gt;<br>
                    <b>Cc: </b>"Richard Backman, Annabelle" &lt;<a
                      href=3D"mailto:richanna@amazon.com" target=3D"_blan=
k"
                      moz-do-not-send=3D"true">richanna@amazon.com</a>&gt=
;,
                    Nat Sakimura &lt;<a href=3D"mailto:nat@sakimura.org"
                      target=3D"_blank" moz-do-not-send=3D"true">nat@saki=
mura.org</a>&gt;,
                    Dave Tonge &lt;<a
                      href=3D"mailto:dave.tonge@moneyhub.com"
                      target=3D"_blank" moz-do-not-send=3D"true">dave.ton=
ge@moneyhub.com</a>&gt;,
                    Torsten Lodderstedt &lt;<a
                      href=3D"mailto:torsten@lodderstedt.net"
                      target=3D"_blank" moz-do-not-send=3D"true">torsten@=
lodderstedt..net</a>&gt;,
                    oauth &lt;<a href=3D"mailto:oauth@ietf.org"
                      target=3D"_blank" moz-do-not-send=3D"true">oauth@ie=
tf.org</a>&gt;<br>
                    <b>Subject: </b>[UNVERIFIED SENDER] Re: [OAUTH-WG]
                    PAR metadata</span></p>
              </div>
              <div>
                <p class=3D"MsoNormal">=C2=A0</p>
              </div>
              <p class=3D"MsoNormal">Agreed. </p>
              <div>
                <p class=3D"MsoNormal">=C2=A0</p>
              </div>
              <div>
                <p class=3D"MsoNormal">In addition, I'm not sure why the
                  PAR endpoint would need access to the decryption keys
                  at all. If you're using encrypted request objects then
                  the PAR endpoint receives an encrypted JWT and then
                  later makes the same (still encrypted) JWT available
                  to the authorization endpoint. If the PAR endpoint is
                  doing any kind of decryption or validation on behalf
                  of the authorization endpoint then they are clearly
                  not in separate trust boundaries.</p>
              </div>
              <div>
                <p class=3D"MsoNormal">=C2=A0</p>
              </div>
              <div>
                <p class=3D"MsoNormal">-- Neil</p>
              </div>
              <div>
                <p class=3D"MsoNormal">=C2=A0</p>
                <div>
                  <p class=3D"MsoNormal"><br>
                    <br>
                  </p>
                  <blockquote style=3D"margin-top:5pt;margin-bottom:5pt">=

                    <div>
                      <p class=3D"MsoNormal">On 6 Jan 2020, at 13:57,
                        Brian Campbell &lt;<a
                          href=3D"mailto:bcampbell=3D40pingidentity.com@d=
marc.ietf.org"
                          target=3D"_blank" moz-do-not-send=3D"true">bcam=
pbell=3D40pingidentity.com@dmarc.ietf.org</a>&gt;
                        wrote:</p>
                    </div>
                    <p class=3D"MsoNormal">=C2=A0</p>
                    <div>
                      <div>
                        <div>
                          <p class=3D"MsoNormal">I really struggle to see=

                            the assumption that an entity be able to use
                            the same key to decrypt the same type of
                            message ultimately intended for the same
                            purpose as an artificial limit. The same
                            general assumption =C2=A0 underlies everythin=
g
                            else in OAuth/OIDC (Vladimir's post points
                            to some but not all examples of such).
                            There's no reason for PAR to make a one-off
                            exception. And should there be some
                            deployment specific reason that truly
                            requires that kind of isolation, there are
                            certainly implementation options that aren't
                            compatibility-breaking. And having said all
                            that, I'm honestly a little surprised anyone
                            is thinking much about encrypted request
                            objects with PAR as, at least with my
                            limited imagination, there's not really a
                            need for it.
                          </p>
                        </div>
                        <div>
                          <p class=3D"MsoNormal">=C2=A0</p>
                        </div>
                        <div>
                          <p class=3D"MsoNormal">=C2=A0</p>
                        </div>
                        <div>
                          <p class=3D"MsoNormal">=C2=A0</p>
                        </div>
                        <div>
                          <p class=3D"MsoNormal">=C2=A0</p>
                        </div>
                        <div>
                          <p class=3D"MsoNormal">=C2=A0</p>
                        </div>
                        <div>
                          <p class=3D"MsoNormal">=C2=A0</p>
                        </div>
                        <div>
                          <p class=3D"MsoNormal">=C2=A0</p>
                        </div>
                      </div>
                      <p class=3D"MsoNormal">=C2=A0</p>
                      <div>
                        <div>
                          <p class=3D"MsoNormal">On Fri, Jan 3, 2020 at
                            2:43 PM Richard Backman, Annabelle
                            &lt;richanna=3D<a
                              href=3D"mailto:40amazon.com@dmarc.ietf.org"=

                              target=3D"_blank" moz-do-not-send=3D"true">=
40amazon.com@dmarc.ietf.org</a>&gt;
                            wrote:</p>
                        </div>
                        <blockquote
style=3D"border-top:none;border-right:none;border-bottom:none;border-left=
:1pt
                          solid rgb(204,204,204);padding:0in 0in 0in
                          6pt;margin-left:4..8pt;margin-right:0in">
                          <p class=3D"MsoNormal">PAR introduces an added
                            wrinkle for encrypted request objects: the
                            PAR endpoint and authorization endpoint may
                            not have access to the same cryptographic
                            keys, even though they're both part of the
                            "authorization server." Since they're
                            different endpoints with different roles,
                            it's reasonable to put them in separate
                            trust boundaries. There is no way to support
                            this isolation with just a single "jwks_uri"
                            metadata property.<br>
                            <br>
                            The two options that I see are:<br>
                            <br>
                            1. Define a new par_jwks_uri metadata
                            property.<br>
                            2. Explicitly state that this separation is
                            not supported.<br>
                            <br>
                            I strongly perfer #1 as it has a very minor
                            impact on deployments that don't care (i.e.,
                            they just set par_jwks_uri and jwks_uri to
                            the same value) and failing to support this
                            trust boundary creates an artificial limit
                            on implementation architecture and could
                            lead to compatibility-breaking workarounds.<b=
r>
                            <br>
                            =E2=80=93 <br>
                            Annabelle Richard Backman<br>
                            AWS Identity<br>
                            <br>
                            <br>
                            On 12/31/19, 8:07 AM, "OAuth on behalf of
                            Torsten Lodderstedt" &lt;<a
                              href=3D"mailto:oauth-bounces@ietf.org"
                              target=3D"_blank" moz-do-not-send=3D"true">=
oauth-bounces@ietf.org</a>
                            on behalf of torsten=3D<a
                              href=3D"mailto:40lodderstedt.net@dmarc.ietf=
=2Eorg"
                              target=3D"_blank" moz-do-not-send=3D"true">=
40lodderstedt.net@dmarc.ietf.org</a>&gt;
                            wrote:<br>
                            <br>
                            =C2=A0 =C2=A0 Hi Filip, <br>
                            <br>
                            =C2=A0 =C2=A0 &gt; On 31. Dec 2019, at 16:22,=
 Filip
                            Skokan &lt;<a
                              href=3D"mailto:panva.ip@gmail.com"
                              target=3D"_blank" moz-do-not-send=3D"true">=
panva.ip@gmail.com</a>&gt;
                            wrote:<br>
                            =C2=A0 =C2=A0 &gt; <br>
                            =C2=A0 =C2=A0 &gt; I don't think we need a
                            *_auth_method_* metadata for every endpoint
                            the client calls directly, none of the new
                            specs defined these (e.g. device
                            authorization endpoint or CIBA), meaning
                            they also didn't follow the scheme from RFC
                            8414 where introspection and revocation got
                            its own metadata. In most cases the
                            unfortunately named
                            `token_endpoint_auth_method` and its related
                            metadata is what's used by clients for all
                            direct calls anyway.<br>
                            =C2=A0 =C2=A0 &gt; <br>
                            =C2=A0 =C2=A0 &gt; The same principle could b=
e applied
                            to signing (and encryption) algorithms as
                            well.<br>
                            =C2=A0 =C2=A0 &gt; <br>
                            =C2=A0 =C2=A0 &gt; This I do not follow, auth=
 methods
                            and their signing is dealt with by using
                            `token_endpoint_auth_methods_supported` and
`token_endpoint_auth_signing_alg_values_supported` - there's no
                            encryption for the `_jwt` client auth
                            methods.
                            <br>
                            =C2=A0 =C2=A0 &gt; Unless it was meant to add=
ress the
                            Request Object signing and encryption
                            metadata, which is defined and IANA
                            registered by OIDC. PAR only references JAR
                            section 6.1 and 6.2 for decryption/signature
                            validation and these do not mention the
                            metadata (e.g. request_object_signing_alg)
                            anymore since draft 07.<br>
                            <br>
                            =C2=A0 =C2=A0 Dammed! You are so right. Sorry=
, I got
                            confused somehow. <br>
                            <br>
                            =C2=A0 =C2=A0 &gt; <br>
                            =C2=A0 =C2=A0 &gt; PS: I also found this comm=
ent
                            related to the same question about auth
                            metadata but for CIBA.<br>
                            <br>
                            =C2=A0 =C2=A0 Thanks for sharing. <br>
                            <br>
                            =C2=A0 =C2=A0 &gt; <br>
                            =C2=A0 =C2=A0 &gt; Best,<br>
                            =C2=A0 =C2=A0 &gt; Filip<br>
                            <br>
                            =C2=A0 =C2=A0 thanks,<br>
                            =C2=A0 =C2=A0 Torsten. <br>
                            <br>
                            =C2=A0 =C2=A0 &gt; <br>
                            =C2=A0 =C2=A0 &gt; <br>
                            =C2=A0 =C2=A0 &gt; On Tue, 31 Dec 2019 at 15:=
38,
                            Torsten Lodderstedt &lt;<a
                              href=3D"mailto:torsten@lodderstedt.net"
                              target=3D"_blank" moz-do-not-send=3D"true">=
torsten@lodderstedt.net</a>&gt;
                            wrote:<br>
                            =C2=A0 =C2=A0 &gt; Hi all,<br>
                            =C2=A0 =C2=A0 &gt; <br>
                            =C2=A0 =C2=A0 &gt; Ronald just sent me an ema=
il asking
                            whether we will define metadata for <br>
                            =C2=A0 =C2=A0 &gt; <br>
                            =C2=A0 =C2=A0 &gt;
                            pushed_authorization_endpoint_auth_methods_su=
pported
                            and<br>
                            =C2=A0 =C2=A0 &gt;
                            pushed_authorization_endpoint_auth_signing_al=
g_values_supported.<br>
                            =C2=A0 =C2=A0 &gt; <br>
                            =C2=A0 =C2=A0 &gt; The draft right now utilis=
es the
                            existing token endpoint authentication
                            methods so there is basically no need to
                            define another parameter. The same principle
                            could be applied to signing (and encryption)
                            algorithms as well.
                            <br>
                            =C2=A0 =C2=A0 &gt; <br>
                            =C2=A0 =C2=A0 &gt; What=E2=80=99s your opinio=
n?<br>
                            =C2=A0 =C2=A0 &gt; <br>
                            =C2=A0 =C2=A0 &gt; best regards,<br>
                            =C2=A0 =C2=A0 &gt; Torsten.<br>
                            <br>
                            <br>
                            <br>
_______________________________________________<br>
                            OAuth mailing list<br>
                            <a href=3D"mailto:OAuth@ietf.org"
                              target=3D"_blank" moz-do-not-send=3D"true">=
OAuth@ietf.org</a><br>
                            <a
                              href=3D"https://www.ietf.org/mailman/listin=
fo/oauth"
                              target=3D"_blank" moz-do-not-send=3D"true">=
https://www.ietf.org/mailman/listinfo/oauth</a></p>
                        </blockquote>
                      </div>
                    </div>
                  </blockquote>
                </div>
              </div>
            </div>
          </div>
        </blockquote>
      </div>
    </blockquote>
    <br>
  </body>
</html>

--------------B13116EA8C3AFD96FEC57117--

--------------ms030205050400070805000602
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCC
CzMwggUbMIIEA6ADAgECAhBs/e7jES6a32XKZxs4R01iMA0GCSqGSIb3DQEBCwUAMIGWMQsw
CQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxm
b3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENs
aWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTE5MTEwMjAwMDAw
MFoXDTIxMTEwMTIzNTk1OVowKDEmMCQGCSqGSIb3DQEJARYXdmxhZGltaXJAY29ubmVjdDJp
ZC5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDG5mL+CcvSppMj/W8Kd0/E
1/y5/s94gmbIFzEugHyMPV2dd6lusiALe35QCtu3e8Wy6FkCwzxWmmzhF4FY/e4uPbDjco3w
/GgHhz2KXe385u31c32/uM3jRqhYT5JvmXxte/GgmjcW1yWcPkKEz/sCezdIYpI9Pek+P4Gr
xmbt8H+wJrwfrXKTJXXT+gFjCcZDRLm67X4U57TsaCoezTe7zOoPX9zxMTyZD/cvC/SfuVxQ
U60ZsfZzdcgPwScgy3JaiPegcbnqqebjJqtRx42eRjrBZ1/u411rHN2QQLgiih7D1/4PJC9f
/8nHgaerLy3ogdu1dw5+vQ1TRIYBmcIXAgMBAAGjggHQMIIBzDAfBgNVHSMEGDAWgBQJwPL8
C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQU446sriG/NgywLZA2oBG79Yr2qyAwDgYDVR0P
AQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2Vj
dGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20v
U2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoG
CCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0
aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEF
BQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wIgYDVR0RBBswGYEXdmxhZGltaXJAY29u
bmVjdDJpZC5jb20wDQYJKoZIhvcNAQELBQADggEBAEE73kCtUigl/bhLrqS6AsCU+jKm1fxq
BY09+ktBwVcu5WgM18Uov3WvzVnjXn5BNNVM3RwhWFXyW3pPnDPyjqgxcpfoyY5SJEzvcPlu
wm69z/dzqasVhsHPIFSjACnUBrFZPsq/abMQr4yFOMVyX/EudYgmZVu2Er9Ui7YbTO1Nolap
xlseQIgQhVcr7aSs02PLDANuwW/asgKExYzhPdt9MF1lezj968Mv74kRo1T/lm5RFNfh2QdM
9C0n1t+qRCrRF1VbsiTgChjazgNGbvl12bOAujX0up4hqw+7PaCcI3Mpyv/rKKKrRG52iCcv
cMHX344tOqKM/DIdF/0WNpkwggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqG
SIb3DQEBDAUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UE
BxMLSmVyc2V5IENpdHkxHjAcBgNVBAoTFVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UE
AxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAw
MDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBN
YW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQx
PjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyjztlApB/975Rrno
1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUfItMltrMaXqcESJuK
8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeWQcpGEGFUUd0k
N+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YBrf24k5Ee
1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewDch/8
kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4G
A1UdDwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMC
BggrBgEFBQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDov
L2NybC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHku
Y3JsMHYGCCsGAQUFBwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3Qu
Y29tL1VTRVJUcnVzdFJTQUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2Nz
cC51c2VydHJ1c3QuY29tMA0GCSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADd
F9d6HBA4kMjjsb0XMZHztuOCtKF+xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou7
4TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0
sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJ
JIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1eoYV7lNwNBKpeHdNuO6Aacb533JlfeUH
xvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4KxaYIhvqPqUMWqRdWyn7crItNkZe
roXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL1Ygz3SBsyECa0waq4hOf/Z85
F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQOZ1YL5ezMTX0ZSLwrymU
E0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qodx/PL+5jR87myx5uY
dBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i5ZgtwCLXgAIe
5W8mybM2JzGCBDIwggQuAgEBMIGrMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRl
ciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2Vj
dXJlIEVtYWlsIENBAhBs/e7jES6a32XKZxs4R01iMA0GCWCGSAFlAwQCAQUAoIICVzAYBgkq
hkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0yMDAxMDcxMzU4MjFaMC8G
CSqGSIb3DQEJBDEiBCD3cFSwWsCh71Ok9aW4Yoi+up6+0U/oGARJWPBgdzH/YjBsBgkqhkiG
9w0BCQ8xXzBdMAsGCWCGSAFlAwQBKjALBglghkgBZQMEAQIwCgYIKoZIhvcNAwcwDgYIKoZI
hvcNAwICAgCAMA0GCCqGSIb3DQMCAgFAMAcGBSsOAwIHMA0GCCqGSIb3DQMCAgEoMIG8Bgkr
BgEEAYI3EAQxga4wgaswgZYxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNo
ZXN0ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGDAWBgNVBAoTD1NlY3RpZ28gTGltaXRlZDE+MDwG
A1UEAxM1U2VjdGlnbyBSU0EgQ2xpZW50IEF1dGhlbnRpY2F0aW9uIGFuZCBTZWN1cmUgRW1h
aWwgQ0ECEGz97uMRLprfZcpnGzhHTWIwgb4GCyqGSIb3DQEJEAILMYGuoIGrMIGWMQswCQYD
VQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3Jk
MRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVu
dCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhBs/e7jES6a32XKZxs4R01i
MA0GCSqGSIb3DQEBAQUABIIBAHaBWCR15Q3B6iHavj7emcj/OCO4DZAuWsx0rZm9b2dXfxvz
iQZVF+/MM+l3KtWDQjMvLBNmanKI2madbN4epJKvc4Ds3Nl14JHRqtBhOWgfoDSt9aGePHOD
er3zbhRdMu/kqb4GSlGudti5gKBfSg4T/H8rDTBlY3Ny/jMflZgNsAcl2rFA9WiYAwNQq9Bi
0CebokzQz07oTszI1sj2bFao0hZtwp9BVIiWj73GO1HJUaG1Bby5C2tzfr+a80vqlphcvMBq
63sAX89ysA73y76u0b3ZkY17RQ87KHoj2rJnaqH8uARNizQA2yEHZgz3y6e90AYyqpncM62Q
YNqSJG4AAAAAAAA=
--------------ms030205050400070805000602--

