Re: [OAUTH-WG] Mix-Up and CnP/ Code injection

Brian Campbell <bcampbell@pingidentity.com> Wed, 04 May 2016 16:41 UTC

Return-Path: <bcampbell@pingidentity.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 641D912D82D for <oauth@ietfa.amsl.com>; Wed, 4 May 2016 09:41:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level:
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=pingidentity.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 RBzmWmKcz9uS for <oauth@ietfa.amsl.com>; Wed, 4 May 2016 09:41:00 -0700 (PDT)
Received: from mail-ig0-x22d.google.com (mail-ig0-x22d.google.com [IPv6:2607:f8b0:4001:c05::22d]) (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 4F49D12DDC6 for <oauth@ietf.org>; Wed, 4 May 2016 09:30:15 -0700 (PDT)
Received: by mail-ig0-x22d.google.com with SMTP id m9so52796858ige.1 for <oauth@ietf.org>; Wed, 04 May 2016 09:30:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pingidentity.com; s=gmail; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=G8PpxWTRVbMNXCrkoP9wiP4VNcyBWFdBqRJryoijbF0=; b=hIgc3+Xmd82OfrJ+OODgEKkF4/XRWQkY1NMqjbaZivYIXTcQ3T7FhUv5UrtysK+Gem J0qRppzemQW0O7gdvPWrvKk97B+IO8GCJfZMWjLN3446GpD9Z/5bFL6+ednJZ2vvw208 Zt41tnjfMAbe0MLpmOgcQZ0892Z6BJQxJzsFg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=G8PpxWTRVbMNXCrkoP9wiP4VNcyBWFdBqRJryoijbF0=; b=Xwtxdl6cVSWfiYKTkrVWOn2evLD2iK9YPcs7XqIfKwE5rz4nk4SuhWN2Jh6m6f9woE qkdKHpyStoaqSgAw/pGCDVmsVJKwpT/VZXKNJOXI8qVCMSK9ksHtaRT7ek3O5P3+gFdy eCsGt7VfYuhTANaEQwVDY7h4ys5aK8Eu8+WIXkMA8Lgl0hINR951cDzjiP5zlPkCVYbq gh2+BbwURQGde1ceKSmNy+B3EqfvmceTNxTuHgS6t1sjNvIU4wJWdOgA2n8cNjXZddjS pekPzbVeBRs1HzMdHE2CsLLfTN297ZEoTk0R4eeXe08nQjjhdF5xWQwUBFGh5s0dhIHI ohIw==
X-Gm-Message-State: AOPr4FV70x90uJgH2Vc/iw3NMSnovLKrbIremWaEAN1FnKVvg86xOOVGAkmqV3FMRoerFkZU3TfOB8yNfGSY22cG
X-Received: by 10.50.67.113 with SMTP id m17mr35798239igt.62.1462379414253; Wed, 04 May 2016 09:30:14 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.79.81.1 with HTTP; Wed, 4 May 2016 09:29:44 -0700 (PDT)
In-Reply-To: <49355f12-ef58-0637-47e0-7acd54e882d9@lodderstedt.net>
References: <571B60BA.8090301@lodderstedt.net> <CABzCy2DeMSGc_yjKi=NWJjh7RLoVsb+KyD9S_MuiQ_gJNg5+fw@mail.gmail.com> <49355f12-ef58-0637-47e0-7acd54e882d9@lodderstedt.net>
From: Brian Campbell <bcampbell@pingidentity.com>
Date: Wed, 04 May 2016 10:29:44 -0600
Message-ID: <CA+k3eCRD6OSnds_Fvt3UMtYNRomC55sW1iDgqwda9ERNGC1ytA@mail.gmail.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>
Content-Type: multipart/alternative; boundary="047d7bd753ea83a029053206bd14"
Archived-At: <http://mailarchive.ietf.org/arch/msg/oauth/4njwaktfADK5cPIoGJ7i8ycG_t8>
Cc: oauth <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Mix-Up and CnP/ Code injection
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.17
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: Wed, 04 May 2016 16:41:02 -0000

Sorry to chime in late but I wanted to say that I strongly agree with
Torsten's characterization of things.

On Sat, Apr 30, 2016 at 11:57 AM, Torsten Lodderstedt <
torsten@lodderstedt.net> wrote:

> Hi Nat,
>
> sure, one could also authenticate and cryptographically protect the
> redirect response. Leveraging OIDC concepts is an idea worth considering
> but they should be adopted to the OAuth philosophy. The id token as used in
> the hybrid flows mixes an identity assertion with elements of transport
> security measures. A OAuth AS does not provide identity data to clients, so
> we only need the transport security part.
>
> I personally would prefer a OAuth response object (similar to request
> object you have proposed) over the id token. Such a response object could
> contain (and directly protect) state, code and other response values. I
> consider this the more elegant design and it is easier to implement then
> having detached signatures over hash values of codes or access tokens.
> Moreover, it would allow to encrypt the response as well.
>
> Generally, our threat analysis so far does not have provided justification
> for cryptographically protected redirect responses. All proposals currently
> on the table stop mix up and code injection using simpler mechanisms.
>
> I think OAuth 2.0 is a huge success due to its balance of versatility,
> security and _simplicity_. We definitely need to keep it secure, but we
> should also keep it as simple as possible.
>
> kind regards,
> Torsten.
> Am 29.04.2016 um 10:08 schrieb Nat Sakimura:
>
> As I look at it more and more, it started to look like the problem of
> accepting tainted values without message authentication. To fix the root
> cause, we would have to authenticate response. ID Token was designed to
> also serve as a solution anticipating it.
>
> Any concrete ideas?
>
> On Sat, Apr 23, 2016 at 04:47 Torsten Lodderstedt <torsten@lodderstedt.net>
> wrote:
>
>> Hi all,
>>
>> discussion about Mix-Up and CnP seems to have stopped after the session
>> in BA - at least in the OAuth WG. There is a discussion about
>> mitigations in OpenId Connect going on at the OpenId Connect mailing list.
>>
>> I'm very much interested to find a solution within the OAuth realm as
>> I'm not interested to either implement two solutions (for OpenId Connect
>> and OAuth) or adopt a OpenId-specific solution to OAuth (use id! tokens
>> in the front channel). I therefore would like to see progress and
>> propose to continue the discussion regarding mitigations for both threats.
>>
>> https://tools.ietf.org/html/draft-ietf-oauth-mix-up-mitigation-00
>> proposes reasonable mitigations for both attacks. There are alternatives
>> as well:
>> - mix up:
>> -- AS specific redirect uris
>> -- Meta data/turi
>> (https://tools.ietf.org/html/draft-sakimura-oauth-meta-07#section-5)
>> - CnP:
>> -- use of the nonce parameter (as a distinct mitigation beside state for
>> counter XSRF)
>>
>> Anyone having an opinion?
>>
>> best regards,
>> Torsten.
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>