Re: [OAUTH-WG] Richard Barnes' Discuss on draft-ietf-oauth-assertions-17: (with DISCUSS and COMMENT)

Richard Barnes <rlb@ipv.sx> Thu, 16 October 2014 22:20 UTC

Return-Path: <rlb@ipv.sx>
X-Original-To: oauth@ietfa.amsl.com
Delivered-To: oauth@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 380A11A8ABD for <oauth@ietfa.amsl.com>; Thu, 16 Oct 2014 15:20:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.977
X-Spam-Level:
X-Spam-Status: No, score=-1.977 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7] autolearn=ham
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 NEXDF1T9uZym for <oauth@ietfa.amsl.com>; Thu, 16 Oct 2014 15:20:23 -0700 (PDT)
Received: from mail-vc0-f176.google.com (mail-vc0-f176.google.com [209.85.220.176]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 49B9B1A8AA6 for <oauth@ietf.org>; Thu, 16 Oct 2014 15:20:23 -0700 (PDT)
Received: by mail-vc0-f176.google.com with SMTP id hq11so3433607vcb.21 for <oauth@ietf.org>; Thu, 16 Oct 2014 15:20:22 -0700 (PDT)
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:date :message-id:subject:from:to:cc:content-type; bh=wF2RfFPV2NC7IMVS9L5rsA2LCINNPj4xs7sY+ozIwHA=; b=C3+mrGIGCPTaEZkdFTTpz2GeJni5XOyuEr6Qh9LSnRmZDB4WOLzU+HQ19TSOc52RwT xnwa80vziEsoi+EZXw0u8UkNlys8ZH2umFm/1iges3B5Fup1Bmr031kB4brDELuIzF0l WCKpVS+Cl44vdWt7qN/j33lI1/2OyIe0RQVI+nR+AqfXBvKbUgzczEPCwKg8Taagnb+y m2dHmT+dNQVhG+LHDqtTgAqPFgah//1jVZEGLOGbAO6+A30LafdecLkvY9J/Z4K8mu3w gY31lLEKD2JrG0vlqZWtYt8DJp1Wymd62D2yPU0Iq+dzIOh7y0tDI2xqsbq3LNYpFEqM I02g==
X-Gm-Message-State: ALoCoQn1S1GqYY6C2ORj+vCYb4b4gh2oKlrx6O93OFYfqshtiDTThQHh70VDJod03WSGDgvFMGUB
MIME-Version: 1.0
X-Received: by 10.221.28.137 with SMTP id ru9mr4120506vcb.19.1413498022300; Thu, 16 Oct 2014 15:20:22 -0700 (PDT)
Received: by 10.31.149.205 with HTTP; Thu, 16 Oct 2014 15:20:22 -0700 (PDT)
In-Reply-To: <A9B4CF00-6D06-4FE1-83EE-CC0D141C9AD3@oracle.com>
References: <20141016034735.18695.61014.idtracker@ietfa.amsl.com> <CA+k3eCQKxWri1kjjig90AhrsQ=D0H=CLfKGuSa513sKDar52Rw@mail.gmail.com> <A9B4CF00-6D06-4FE1-83EE-CC0D141C9AD3@oracle.com>
Date: Thu, 16 Oct 2014 15:20:22 -0700
Message-ID: <CAL02cgQO1nuozW-F6riDgo4QFkp3Gv89SSWzJcbO-0eayyGufg@mail.gmail.com>
From: Richard Barnes <rlb@ipv.sx>
To: Phil Hunt <phil.hunt@oracle.com>
Content-Type: multipart/alternative; boundary="001a1133750282a263050591a7fe"
Archived-At: http://mailarchive.ietf.org/arch/msg/oauth/YnaE5MakJvTHFHsybvGNf11lhIA
Cc: "draft-ietf-oauth-assertions@tools.ietf.org" <draft-ietf-oauth-assertions@tools.ietf.org>, "oauth-chairs@tools.ietf.org" <oauth-chairs@tools.ietf.org>, The IESG <iesg@ietf.org>, oauth <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Richard Barnes' Discuss on draft-ietf-oauth-assertions-17: (with DISCUSS and COMMENT)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.15
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: <http://www.ietf.org/mail-archive/web/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: Thu, 16 Oct 2014 22:20:26 -0000

You guys are all arguing that having an Audience can be useful.  I don't
disagree.  I disagree that it should be REQUIRED in all cases.

The Google vulnerability that Brian raised was an interesting read, but as
John points out, it only applies to Bearer Assertions.  There's no security
requirement at all for holder-of-key assertions to have an audience, since
they can't be replayed by someone who doesn't hold the key.

I could agree that an audience should be REQUIRED for bearer assertions.
Since they are vulnerable to replay, Audience protects against the
Authorization Server re-using the token.  (It would be good to say this
explicitly in the doc, actually.)  But for holder-of-key assertions, the
Audience should be OPTIONAL.  Note that this requires that instance
documents define the difference between bearer assertions and holder-of-key
assertions, so that implementations can enforce these requirements.

So it seems like there are two solutions here:
1. Scope the document to bearer assertions only, and keep the MUST
2. Keep the current scope, make Audience OPTIONAL for holder-of-key
assertions, and define the difference in the instance docs.

--Richard






On Thu, Oct 16, 2014 at 9:57 AM, Phil Hunt <phil.hunt@oracle.com> wrote:

> It is also important for a non-protocol purpose. Liability.
>
> If a 3rd party uses an assertion that was not intended for it, it cannot
> obviously hold the asserting party responsible.
>
> Phil
>
> @independentid
> www.independentid.com
> phil.hunt@oracle.com
>
>
>
> On Oct 16, 2014, at 8:43 AM, Brian Campbell <bcampbell@pingidentity.com>
> wrote:
>
> Thanks for your review and feedback, Richard. Replies are inline below...
>
> On Wed, Oct 15, 2014 at 9:47 PM, Richard Barnes <rlb@ipv.sx> wrote:
>
>> Richard Barnes has entered the following ballot position for
>> draft-ietf-oauth-assertions-17: Discuss
>>
>> When responding, please keep the subject line intact and reply to all
>> email addresses included in the To and CC lines. (Feel free to cut this
>> introductory paragraph, however.)
>>
>>
>> Please refer to http://www.ietf.org/iesg/statement/discuss-criteria.html
>> for more information about IESG DISCUSS and COMMENT positions.
>>
>>
>> The document, along with other ballot positions, can be found here:
>> http://datatracker.ietf.org/doc/draft-ietf-oauth-assertions/
>>
>>
>>
>> ----------------------------------------------------------------------
>> DISCUSS:
>> ----------------------------------------------------------------------
>>
>> "The assertion MUST contain an Audience that identifies the Authorization
>> Server as the intended audience.  Assertions that do not identify the
>> Authorization Server as an intended audience MUST be rejected."
>>
>> Could you please identify the threat model within which this "MUST" is
>> required?  This requirement doesn't follow from any of the threats
>> elaborated in Section 8.
>>
>> The Audience is only necessary if the Issuer wishes to constrain the set
>> of Authorization Servers with which an assertion may be used.  So ISTM
>> that this should be "MAY contain..."
>>
>>
>
> The audience restriction let's the issuer say specifically what relying
> party is allowed to consume the assertion, which ensures that the client
> can't use it somewhere else that it wasn't intended and that the relying
> party that receives the assertion can't turn around and use it to access
> some other service.
>
> Strictly speaking, you are right that the audience is only necessary if
> the Issuer wishes to constrain the set of Authorization Servers with which
> an assertion may be used. But the Issuer really really really should make
> that constraint and fully understanding the implications of not doing so is
> difficult and unlikely.
>
> There was a vulnerability in Google apps SAML a few years back that
> demonstrates how important audience restriction is and how it can be
> difficult for even very sophisticated providers to get it all right. I
> haven't had time to read it again to make sure but I think that this is the
> paper http://www.ai-lab.it/armando/pub/fmse9-armando.pdf
>
> I don't see what value allowing audience to be omitted brings other than
> that it is academically a possibility. But requiring it (hopefully, if the
> requirement is followed) helps reduce the possibility of a whole bunch of
> security problems that folks likely won't foresee.
>
>
>
>> ----------------------------------------------------------------------
>> COMMENT:
>> ----------------------------------------------------------------------
>>
>> "keyed message digest" -> "Message Authentication Code"
>>
>> That's the proper terminology [RFC4949], especially since there are MACs
>> that are not based on digests.
>>
>
> OK
>
>
>>
>> "This mechanism provides additional security properties." -- Please
>> delete this or elaborate on what security properties it provides.
>>
>
> Will delete.
>
>
>>
>> Section 8.2 should note that "Holder-of-Key Assertions" are also a
>> mitigation for this risk.
>>
>>
> OK
>
>
>
>> _______________________________________________
>> 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
>
>
>