Return-Path: <gffletch@aol.com>
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 9DE111A90DD
 for <oauth@ietfa.amsl.com>; Mon, 11 Jan 2016 12:12:29 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.79
X-Spam-Level: 
X-Spam-Status: No, score=-1.79 tagged_above=-999 required=5
 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, FREEMAIL_FROM=0.001,
 HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001,
 RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, T_DKIM_INVALID=0.01]
 autolearn=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 wFDiH9cQnxN0 for <oauth@ietfa.amsl.com>;
 Mon, 11 Jan 2016 12:12:26 -0800 (PST)
Received: from omr-a018e.mx.aol.com (omr-a018e.mx.aol.com [204.29.186.64])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by ietfa.amsl.com (Postfix) with ESMTPS id 4F7421A90DF
 for <oauth@ietf.org>; Mon, 11 Jan 2016 12:12:26 -0800 (PST)
Received: from mtaout-maa01.mx.aol.com (mtaout-maa01.mx.aol.com
 [172.26.222.141])
 by omr-a018e.mx.aol.com (Outbound Mail Relay) with ESMTP id 7416138003A1;
 Mon, 11 Jan 2016 15:12:25 -0500 (EST)
Received: from [10.172.102.124] (unknown [10.172.102.124])
 (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits))
 (No client certificate requested)
 by mtaout-maa01.mx.aol.com (MUA/Third Party Client Interface) with ESMTPSA id
 CF72F38000090; Mon, 11 Jan 2016 15:12:24 -0500 (EST)
To: Mike Jones <Michael.Jones@microsoft.com>, "oauth@ietf.org" <oauth@ietf.org>
References: <BY2PR03MB442D5C13C5157A506DAC9B0F5C90@BY2PR03MB442.namprd03.prod.outlook.com>
 <5693F276.8020501@aol.com>
 <BY2PR03MB442C71F1A51D05DD7390ABAF5C90@BY2PR03MB442.namprd03.prod.outlook.com>
From: George Fletcher <gffletch@aol.com>
Organization: AOL LLC
Message-ID: <56940CD8.8000701@aol.com>
Date: Mon, 11 Jan 2016 15:13:12 -0500
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:38.0)
 Gecko/20100101 Thunderbird/38.5.1
MIME-Version: 1.0
In-Reply-To: <BY2PR03MB442C71F1A51D05DD7390ABAF5C90@BY2PR03MB442.namprd03.prod.outlook.com>
Content-Type: multipart/alternative;
 boundary="------------040201080308050603010504"
x-aol-global-disposition: G
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mx.aol.com;
 s=20150623; t=1452543145;
 bh=Ev5ZoEIwHaEJgR3tFe6F9/W4GeHexdEetMMEx94y8DA=;
 h=From:To:Subject:Message-ID:Date:MIME-Version:Content-Type;
 b=mt+ooiNeq+NqWPZAreVm4KTxGvgAAilPIdryntzREbh1pepq5dZiaHx++hfH0QvO9
 4zqGUUbbzd3YZO0cvVa1wEHxuI6hCA7Rn4eXYszQ69+z9ynUI9Akhq9j+q90U7ItCT
 jKotKpMAnFU3c8WHyKYbHqTeSpccYWjpdSTQe//U=
x-aol-sid: 3039ac1ade8d56940ca80c1d
X-AOL-IP: 10.172.102.124
Archived-At: <http://mailarchive.ietf.org/arch/msg/oauth/W-v8ZsCMTLVcr8rsTOeAJXTx2Uc>
Subject: Re: [OAUTH-WG] OAuth 2.0 Mix-Up Mitigation
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: <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, 11 Jan 2016 20:12:29 -0000

This is a multi-part message in MIME format.
--------------040201080308050603010504
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 8bit

So just to make sure I understand...

This specification requires the response from the Authorization Server 
to an successful /authorize call to pass back code=, state= and jwt= (?) 
or individually iss= and aud= as URL parameters on the 302 to the 
redirect_url. This way, before the client issues a call to the /token 
endpoint (with the code), it can verify that the token endpoint is correct.

If the client doesn't validate the endpoints at this step, then it could 
disclose it's secret to a malicious endpoint. Correct?

Thanks,
George

On 1/11/16 2:59 PM, Mike Jones wrote:
>
> The alternatives for the code flow are to return them either in a new 
> JWT added to the reply containing them in the “iss” and “aud” claims 
> or to return them in new individual “client_id” and “iss” 
> authorization response parameters. Both alternatives are described in 
> the draft.  I’m sure that we’ll now be having a good engineering 
> discussion on the tradeoffs between the alternatives.,
>
> In a separate draft, John Bradley will shortly also be describing the 
> possibility of securing the “state” value using a “state_hash” value 
> that works in a way that’s similar to how “at_hash” and “c_hash” 
> secure the “access_token” and “code” values in Connect.  This would be 
> an alternative means of binding the authorization request and response 
> to the session – accomplishing the same thing that the Connect “nonce” 
> does.
>
> While I fully get that some OAuth implementations want to avoid having 
> to have crypto, it seems like at least support for cryptographic 
> hashing (SHA-256, etc.) may be necessary to mitigate some of these 
> attacks (at least for clients that use more than one authorization 
> server).
>
> The other important engineering discussion I know we’re going to have 
> is whether, when an OAuth profile already returns the information 
> needed for the mitigation, whether we want to specify that the client 
> obtain it from the existing location, or whether to also return it in 
> a duplicate location.  I’ll note that OpenID Connect already returns 
> the client ID and issuer for the flows that return an ID Token in the 
> authorization response, so this isn’t a hypothetical question.
>
> Finally, I know that we’ll need to discuss the impact of cut-and-paste 
> attacks when the issuer and client ID are returned as individual 
> authorization response parameters that are not cryptographically bound 
> to the rest of the response. The cut-and-paste attack that returning 
> the issuer and client_id values as separate parameters enables, even 
> when state_hash or nonce is used, is for the attacker to capture the 
> legitimate response containing “iss” and “client_id” results and 
> substitute different values for these fields, then post that altered 
> response to the legitimate client.  The state and/or nonce values are 
> protected against substitution but “iss” and “client_id” are not.
>
> And yes, I absolutely agree that good examples are essential.  That’s 
> high on my list for the -01 version.
>
> Thanks a bunch,
>
> -- Mike
>
> *From:*George Fletcher [mailto:gffletch@aol.com]
> *Sent:* Monday, January 11, 2016 10:21 AM
> *To:* Mike Jones <Michael.Jones@microsoft.com>; oauth@ietf.org
> *Subject:* Re: [OAUTH-WG] OAuth 2.0 Mix-Up Mitigation
>
> Thanks Mike. One question after reading about the different attack 
> vectors and this spec...
>
> How are the 'iss' and 'aud' values returned with the 'code' and 
> 'state' parameters. It seems the client needs to verify the endpoints 
> before making the request to exchange the code for a token. If the 
> client is using the default OAuth2 client_id and client_secret these 
> values will be sent to the malicious endpoint if the client can't 
> verify the endpoints before hand.
>
> Also, it would be nice to add some non-normative examples to the spec.
>
> Thanks,
> George
>
> On 1/11/16 4:27 AM, Mike Jones wrote:
>
>     Yesterday Hannes Tschofenig announced an OAuth Security Advisory
>     on Authorization Server Mix-Up
>     <https://mailarchive.ietf.org/arch/msg/oauth/JIVxFBGsJBVtm7ljwJhPUm3Fr-w>.
>     This note announces the publication of the strawman OAuth 2.0
>     Mix-Up Mitigation draft he mentioned that mitigates the attacks
>     covered in the advisory.  The abstract of the specification is:
>
>     This specification defines an extension to The OAuth 2.0
>     Authorization Framework that enables an authorization server to
>     provide a client using it with a consistent set of metadata about
>     itself. This information is returned in the authorization
>     response. It can be used by the client to prevent classes of
>     attacks in which the client might otherwise be tricked into using
>     inconsistent sets of metadata from multiple authorization servers,
>     including potentially using a token endpoint that does not belong
>     to the same authorization server as the authorization endpoint
>     used. Recent research publications refer to these as "IdP Mix-Up"
>     and "Malicious Endpoint" attacks.
>
>     The gist of the mitigation is having the authorization server
>     return the client ID and its issuer identifier (a value defined in
>     the OAuth Discovery specification
>     <http://self-issued.info/?p=1496>) so that the client can verify
>     that it is using a consistent set of authorization server
>     configuration information, that the client ID is for that
>     authorization server, and in particular, that the client is not
>     being confused into sending information intended for one
>     authorization server to a different one.  Note that these attacks
>     can only be made against clients that are configured to use more
>     than one authorization server.
>
>     Please give the draft a quick read and provide feedback to the
>     OAuth working group.  This draft is very much a starting point
>     intended to describe both the mitigations and the decisions and
>     analysis remaining before we can be confident in standardizing a
>     solution.  Please definitely read the Security Considerations and
>     Open Issues sections, as they contain important information about
>     the choices made and the decisions remaining.
>
>     Special thanks go to Daniel Fett (University of Trier), Christian
>     Mainka (Ruhr-University Bochum), Vladislav Mladenov
>     (Ruhr-University Bochum), and Guido Schmitz (University of Trier)
>     for notifying us of the attacks and working with us both on
>     understanding the attacks and on developing mitigations.  Thanks
>     too to Hannes Tschofenig for organizing a meeting on this topic
>     last month and to Torsten Lodderstedt and Deutsche Telekom for
>     hosting the meeting.
>
>     The specification is available at:
>
>     ·http://tools.ietf.org/html/draft-jones-oauth-mix-up-mitigation-00
>
>     An HTML-formatted version is also available at:
>
>     ·http://self-issued.info/docs/draft-jones-oauth-mix-up-mitigation-00.html
>
>     -- Mike
>
>     P.S.  This note was also posted at http://self-issued.info/?p=1524
>     and as @selfissued <https://twitter.com/selfissued>.
>
>
>
>
>     _______________________________________________
>
>     OAuth mailing list
>
>     OAuth@ietf.org <mailto:OAuth@ietf.org>
>
>     https://www.ietf.org/mailman/listinfo/oauth
>
>
>
> -- 
> Chief Architect
> Identity Services Engineering     Work:george.fletcher@teamaol.com <mailto:george.fletcher@teamaol.com>
> AOL Inc.                          AIM:  gffletch
> Mobile: +1-703-462-3494           Twitter:http://twitter.com/gffletch
> Office: +1-703-265-2544           Photos:http://georgefletcher.photography

-- 
Chief Architect
Identity Services Engineering     Work: george.fletcher@teamaol.com
AOL Inc.                          AIM:  gffletch
Mobile: +1-703-462-3494           Twitter: http://twitter.com/gffletch
Office: +1-703-265-2544           Photos: http://georgefletcher.photography


--------------040201080308050603010504
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: 8bit

<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <font face="Helvetica, Arial, sans-serif">So just to make sure I
      understand...<br>
      <br>
      This specification requires the response from the Authorization
      Server to an successful /authorize call to pass back code=, state=
      and jwt= (?) or individually iss= and aud= as URL parameters on
      the 302 to the redirect_url. This way, before the client issues a
      call to the /token endpoint (with the code), it can verify that
      the token endpoint is correct.<br>
      <br>
      If the client doesn't validate the endpoints at this step, then it
      could disclose it's secret to a malicious endpoint. Correct?<br>
      <br>
      Thanks,<br>
      George<br>
    </font><br>
    <div class="moz-cite-prefix">On 1/11/16 2:59 PM, Mike Jones wrote:<br>
    </div>
    <blockquote
cite="mid:BY2PR03MB442C71F1A51D05DD7390ABAF5C90@BY2PR03MB442.namprd03.prod.outlook.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <style><!--
/* Font Definitions */
@font-face
	{font-family:Helvetica;
	panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
	{font-family:Wingdings;
	panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Consolas;
	panose-1:2 11 6 9 2 2 4 3 2 4;}
@font-face
	{font-family:"Segoe UI \,sans-serif";
	panose-1:0 0 0 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;
	color:black;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:#0563C1;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:#954F72;
	text-decoration:underline;}
pre
	{mso-style-priority:99;
	mso-style-link:"HTML Preformatted Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:10.0pt;
	font-family:"Courier New";
	color:black;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
	{mso-style-priority:34;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.5in;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;
	color:black;}
p.msonormal0, li.msonormal0, div.msonormal0
	{mso-style-name:msonormal;
	mso-margin-top-alt:auto;
	margin-right:0in;
	mso-margin-bottom-alt:auto;
	margin-left:0in;
	font-size:12.0pt;
	font-family:"Times New Roman",serif;
	color:black;}
span.EmailStyle19
	{mso-style-type:personal;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
span.HTMLPreformattedChar
	{mso-style-name:"HTML Preformatted Char";
	mso-style-priority:99;
	mso-style-link:"HTML Preformatted";
	font-family:Consolas;
	color:black;}
span.EmailStyle22
	{mso-style-type:personal-reply;
	font-family:"Calibri",sans-serif;
	color:#002060;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
/* List Definitions */
@list l0
	{mso-list-id:541674032;
	mso-list-type:hybrid;
	mso-list-template-ids:-1852395748 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:Symbol;}
@list l0:level2
	{mso-level-number-format:bullet;
	mso-level-text:o;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:"Courier New";}
@list l0:level3
	{mso-level-number-format:bullet;
	mso-level-text:\F0A7;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:Wingdings;}
@list l0:level4
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:Symbol;}
@list l0:level5
	{mso-level-number-format:bullet;
	mso-level-text:o;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:"Courier New";}
@list l0:level6
	{mso-level-number-format:bullet;
	mso-level-text:\F0A7;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:Wingdings;}
@list l0:level7
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:Symbol;}
@list l0:level8
	{mso-level-number-format:bullet;
	mso-level-text:o;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:"Courier New";}
@list l0:level9
	{mso-level-number-format:bullet;
	mso-level-text:\F0A7;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:Wingdings;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
      <div class="WordSection1">
        <p class="MsoNormal"><span style="color:#002060">The
            alternatives for the code flow are to return them either in
            a new JWT added to the reply containing them in the “iss”
            and “aud” claims or to return them in new individual
            “client_id” and “iss” authorization response parameters. 
            Both alternatives are described in the draft.  I’m sure that
            we’ll now be having a good engineering discussion on the
            tradeoffs between the alternatives.,<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#002060"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#002060">In a separate
            draft, John Bradley will shortly also be describing the
            possibility of securing the “state” value using a
            “state_hash” value that works in a way that’s similar to how
            “at_hash” and “c_hash” secure the “access_token” and “code”
            values in Connect.  This would be an alternative means of
            binding the authorization request and response to the
            session – accomplishing the same thing that the Connect
            “nonce” does.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#002060"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#002060">While I fully
            get that some OAuth implementations want to avoid having to
            have crypto, it seems like at least support for
            cryptographic hashing (SHA-256, etc.) may be necessary to
            mitigate some of these attacks (at least for clients that
            use more than one authorization server).<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#002060"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#002060">The other
            important engineering discussion I know we’re going to have
            is whether, when an OAuth profile already returns the
            information needed for the mitigation, whether we want to
            specify that the client obtain it from the existing
            location, or whether to also return it in a duplicate
            location.  I’ll note that OpenID Connect already returns the
            client ID and issuer for the flows that return an ID Token
            in the authorization response, so this isn’t a hypothetical
            question.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#002060"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#002060">Finally, I know
            that we’ll need to discuss the impact of cut-and-paste
            attacks when the issuer and client ID are returned as
            individual authorization response parameters that are not
            cryptographically bound to the rest of the response.  </span><span
            style="color:#002060">The cut-and-paste attack that
            returning the issuer and client_id values as separate
            parameters enables, even when state_hash or nonce is used,
            is for the attacker to capture the legitimate response
            containing “iss” and “client_id” results and substitute
            different values for these fields, then post that altered
            response to the legitimate client.  The state and/or nonce
            values are protected against substitution but “iss” and
            “client_id” are not.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#002060"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#002060">And yes, I
            absolutely agree that good examples are essential.  That’s
            high on my list for the -01 version.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#002060"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#002060">                                                         
            Thanks a bunch,<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#002060">                                                         
            -- Mike<o:p></o:p></span></p>
        <p class="MsoNormal"><a moz-do-not-send="true"
            name="_MailEndCompose"><span style="color:#002060"><o:p> </o:p></span></a></p>
        <span style="mso-bookmark:_MailEndCompose"></span>
        <div>
          <div style="border:none;border-top:solid #E1E1E1
            1.0pt;padding:3.0pt 0in 0in 0in">
            <p class="MsoNormal"><b><span style="color:windowtext">From:</span></b><span
                style="color:windowtext"> George Fletcher
                [<a class="moz-txt-link-freetext" href="mailto:gffletch@aol.com">mailto:gffletch@aol.com</a>]
                <br>
                <b>Sent:</b> Monday, January 11, 2016 10:21 AM<br>
                <b>To:</b> Mike Jones
                <a class="moz-txt-link-rfc2396E" href="mailto:Michael.Jones@microsoft.com">&lt;Michael.Jones@microsoft.com&gt;</a>; <a class="moz-txt-link-abbreviated" href="mailto:oauth@ietf.org">oauth@ietf.org</a><br>
                <b>Subject:</b> Re: [OAUTH-WG] OAuth 2.0 Mix-Up
                Mitigation<o:p></o:p></span></p>
          </div>
        </div>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal" style="margin-bottom:12.0pt"><span
            style="font-family:&quot;Helvetica&quot;,sans-serif">Thanks
            Mike. One question after reading about the different attack
            vectors and this spec...<br>
            <br>
            How are the 'iss' and 'aud' values returned with the 'code'
            and 'state' parameters. It seems the client needs to verify
            the endpoints before making the request to exchange the code
            for a token. If the client is using the default OAuth2
            client_id and client_secret these values will be sent to the
            malicious endpoint if the client can't verify the endpoints
            before hand.<br>
            <br>
            Also, it would be nice to add some non-normative examples to
            the spec.<br>
            <br>
            Thanks,<br>
            George</span><span style="font-size:12.0pt"><o:p></o:p></span></p>
        <div>
          <p class="MsoNormal">On 1/11/16 4:27 AM, Mike Jones wrote:<o:p></o:p></p>
        </div>
        <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
          <p class="MsoNormal">Yesterday Hannes Tschofenig announced an
            <a moz-do-not-send="true"
href="https://mailarchive.ietf.org/arch/msg/oauth/JIVxFBGsJBVtm7ljwJhPUm3Fr-w">OAuth
              Security Advisory on Authorization Server Mix-Up</a>. 
            This note announces the publication of the strawman OAuth
            2.0 Mix-Up Mitigation draft he mentioned that mitigates the
            attacks covered in the advisory.  The abstract of the
            specification is:<o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal" style="margin-left:.5in">This
            specification defines an extension to The OAuth 2.0
            Authorization Framework that enables an authorization server
            to provide a client using it with a consistent set of
            metadata about itself. This information is returned in the
            authorization response. It can be used by the client to
            prevent classes of attacks in which the client might
            otherwise be tricked into using inconsistent sets of
            metadata from multiple authorization servers, including
            potentially using a token endpoint that does not belong to
            the same authorization server as the authorization endpoint
            used. Recent research publications refer to these as "IdP
            Mix-Up" and "Malicious Endpoint" attacks.<o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal">The gist of the mitigation is having the
            authorization server return the client ID and its issuer
            identifier (a value defined in the
            <a moz-do-not-send="true"
              href="http://self-issued.info/?p=1496">OAuth Discovery
              specification</a>) so that the client can verify that it
            is using a consistent set of authorization server
            configuration information, that the client ID is for that
            authorization server, and in particular, that the client is
            not being confused into sending information intended for one
            authorization server to a different one.  Note that these
            attacks can only be made against clients that are configured
            to use more than one authorization server.<o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal">Please give the draft a quick read and
            provide feedback to the OAuth working group.  This draft is
            very much a starting point intended to describe both the
            mitigations and the decisions and analysis remaining before
            we can be confident in standardizing a solution.  Please
            definitely read the Security Considerations and Open Issues
            sections, as they contain important information about the
            choices made and the decisions remaining.<o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal">Special thanks go to Daniel Fett
            (University of Trier), Christian Mainka (Ruhr-University
            Bochum), Vladislav Mladenov (Ruhr-University Bochum), and
            Guido Schmitz (University of Trier) for notifying us of the
            attacks and working with us both on understanding the
            attacks and on developing mitigations.  Thanks too to Hannes
            Tschofenig for organizing a meeting on this topic last month
            and to Torsten Lodderstedt and Deutsche Telekom for hosting
            the meeting.<o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal">The specification is available at:<o:p></o:p></p>
          <p class="MsoListParagraph"
            style="text-indent:-.25in;mso-list:l0 level1 lfo2"><!--[if !supportLists]--><span
              style="font-family:Symbol"><span style="mso-list:Ignore">·<span
                  style="font:7.0pt &quot;Times New Roman&quot;">      
                </span></span></span><!--[endif]--><a
              moz-do-not-send="true"
              href="http://tools.ietf.org/html/draft-jones-oauth-mix-up-mitigation-00"><a class="moz-txt-link-freetext" href="http://tools.ietf.org/html/draft-jones-oauth-mix-up-mitigation-00">http://tools.ietf.org/html/draft-jones-oauth-mix-up-mitigation-00</a></a><o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal">An HTML-formatted version is also
            available at:<o:p></o:p></p>
          <p class="MsoListParagraph"
            style="text-indent:-.25in;mso-list:l0 level1 lfo2"><!--[if !supportLists]--><span
              style="font-family:Symbol"><span style="mso-list:Ignore">·<span
                  style="font:7.0pt &quot;Times New Roman&quot;">      
                </span></span></span><!--[endif]--><a
              moz-do-not-send="true"
href="http://self-issued.info/docs/draft-jones-oauth-mix-up-mitigation-00.html"><a class="moz-txt-link-freetext" href="http://self-issued.info/docs/draft-jones-oauth-mix-up-mitigation-00.html">http://self-issued.info/docs/draft-jones-oauth-mix-up-mitigation-00.html</a></a><o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal">                                                         
            -- Mike<o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal">P.S.  This note was also posted at <span
              style="font-size:10.0pt">
              <a moz-do-not-send="true"
                href="http://self-issued.info/?p=1524">http://self-issued.info/?p=1524</a>
            </span>
            and as <a moz-do-not-send="true"
              href="https://twitter.com/selfissued">@<span
                style="font-size:10.0pt;font-family:&quot;Segoe UI
                ,sans-serif&quot;,serif">selfissued</span></a><span
              style="font-size:10.0pt">.</span><o:p></o:p></p>
          <p class="MsoNormal"><span
              style="font-size:12.0pt;font-family:&quot;Times New
              Roman&quot;,serif"><br>
              <br>
              <br>
              <o:p></o:p></span></p>
          <pre>_______________________________________________<o:p></o:p></pre>
          <pre>OAuth mailing list<o:p></o:p></pre>
          <pre><a moz-do-not-send="true" href="mailto:OAuth@ietf.org">OAuth@ietf.org</a><o:p></o:p></pre>
          <pre><a moz-do-not-send="true" href="https://www.ietf.org/mailman/listinfo/oauth">https://www.ietf.org/mailman/listinfo/oauth</a><o:p></o:p></pre>
        </blockquote>
        <p class="MsoNormal"><span
            style="font-size:12.0pt;font-family:&quot;Times New
            Roman&quot;,serif"><br>
            <br>
            <o:p></o:p></span></p>
        <pre>-- <o:p></o:p></pre>
        <pre>Chief Architect                   <o:p></o:p></pre>
        <pre>Identity Services Engineering     Work: <a moz-do-not-send="true" href="mailto:george.fletcher@teamaol.com">george.fletcher@teamaol.com</a><o:p></o:p></pre>
        <pre>AOL Inc.                          AIM:  gffletch<o:p></o:p></pre>
        <pre>Mobile: +1-703-462-3494           Twitter: <a moz-do-not-send="true" href="http://twitter.com/gffletch">http://twitter.com/gffletch</a><o:p></o:p></pre>
        <pre>Office: +1-703-265-2544           Photos: <a moz-do-not-send="true" href="http://georgefletcher.photography">http://georgefletcher.photography</a><o:p></o:p></pre>
      </div>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
Chief Architect                   
Identity Services Engineering     Work: <a class="moz-txt-link-abbreviated" href="mailto:george.fletcher@teamaol.com">george.fletcher@teamaol.com</a>
AOL Inc.                          AIM:  gffletch
Mobile: +1-703-462-3494           Twitter: <a class="moz-txt-link-freetext" href="http://twitter.com/gffletch">http://twitter.com/gffletch</a>
Office: +1-703-265-2544           Photos: <a class="moz-txt-link-freetext" href="http://georgefletcher.photography">http://georgefletcher.photography</a>
</pre>
  </body>
</html>

--------------040201080308050603010504--

