Re: New Version Notification for draft-thomson-http-replay-00.txt

Benjamin Kaduk <bkaduk@akamai.com> Thu, 27 July 2017 18:35 UTC

Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=lists.ie@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AAF4C1320C9 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 27 Jul 2017 11:35:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7
X-Spam-Level:
X-Spam-Status: No, score=-7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=akamai.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 W4W9vIJvBgzw for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 27 Jul 2017 11:35:28 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) (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 5D4291320B5 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Thu, 27 Jul 2017 11:35:28 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.89) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1danb7-00019k-Am for ietf-http-wg-dist@listhub.w3.org; Thu, 27 Jul 2017 18:33:21 +0000
Resent-Date: Thu, 27 Jul 2017 18:33:21 +0000
Resent-Message-Id: <E1danb7-00019k-Am@frink.w3.org>
Received: from mimas.w3.org ([128.30.52.79]) by frink.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from <bkaduk@akamai.com>) id 1danaw-00018t-MM for ietf-http-wg@listhub.w3.org; Thu, 27 Jul 2017 18:33:10 +0000
Received: from mx0b-00190b01.pphosted.com ([67.231.157.127]) by mimas.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from <bkaduk@akamai.com>) id 1danav-0004ax-39 for ietf-http-wg@w3.org; Thu, 27 Jul 2017 18:33:10 +0000
Received: from pps.filterd (m0050102.ppops.net [127.0.0.1]) by m0050102.ppops.net-00190b01. (8.16.0.21/8.16.0.21) with SMTP id v6RIWfbc025054; Thu, 27 Jul 2017 19:32:41 +0100
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=akamai.com; h=subject : to : cc : references : from : message-id : date : mime-version : in-reply-to : content-type; s=jan2016.eng; bh=25D4LifLZVYBcPZZUEi1j8OlUoOSMW0ZL3A0myhZ2W8=; b=ctLxInxUBbdNW8oFwbATkiOdSsAuvB0CO7yYmgfOLEOyS95IT68086LMfGQNXh3Wlyx0 FtBH0PyRVJlNIL27oBf2ISgp5hq6faBERXfSCihE0d7d9ix6qt/LW29ZpRu75UXAtgnw 3iSrIH5AV0zvteGxx7IjKIK8VtasodFc8Lzz85oMpT3C+JMjtZ1zzB8p0wxDN/1BYPRx CvfRsMzQLijS27ulCGXUa1WNE+rF5zMg9flBHkPy3d5SxMkTsrujJccLlZkisys5SS5U dUGL/SkbF441NJ2quzb25JMdTwVCEjBerN3CzpiQ84D76aywObicqh6rn0p6nv/gARyF +w==
Received: from prod-mail-ppoint2 (a184-51-33-19.deploy.static.akamaitechnologies.com [184.51.33.19] (may be forged)) by m0050102.ppops.net-00190b01. with ESMTP id 2bx7n2c89u-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 27 Jul 2017 19:32:36 +0100
Received: from pps.filterd (prod-mail-ppoint2.akamai.com [127.0.0.1]) by prod-mail-ppoint2.akamai.com (8.16.0.17/8.16.0.17) with SMTP id v6RIWUns012872; Thu, 27 Jul 2017 14:32:34 -0400
Received: from prod-mail-relay11.akamai.com ([172.27.118.250]) by prod-mail-ppoint2.akamai.com with ESMTP id 2bv21utq8c-1; Thu, 27 Jul 2017 14:32:33 -0400
Received: from [172.19.17.86] (bos-lpczi.kendall.corp.akamai.com [172.19.17.86]) by prod-mail-relay11.akamai.com (Postfix) with ESMTP id 50F5D1FC7D; Thu, 27 Jul 2017 18:32:32 +0000 (GMT)
To: Kazuho Oku <kazuhooku@gmail.com>
Cc: Martin Thomson <martin.thomson@gmail.com>, Subodh Iyengar <subodh@fb.com>, Ilari Liusvaara <ilariliusvaara@welho.com>, Mike Bishop <Michael.Bishop@microsoft.com>, HTTP Working Group <ietf-http-wg@w3.org>
References: <149811425736.30341.16596521802774811431.idtracker@ietfa.amsl.com> <MWHPR15MB14559FC79A1208E87B7714DDB6A60@MWHPR15MB1455.namprd15.prod.outlook.com> <CANatvzxX9wQKqOQZ81O45psWAR7+eg+2cP9i3qQ3XoOxbf=BPg@mail.gmail.com> <MWHPR15MB145573BAA3E2821EDAE3B67BB6A60@MWHPR15MB1455.namprd15.prod.outlook.com> <20170721162620.w4pux4q7h3ebn3kt@LK-Perkele-VII> <MWHPR15MB1455B7B5826FD620A907E8C9B6A40@MWHPR15MB1455.namprd15.prod.outlook.com> <CANatvzxmeYd--vJn2V+frA2Niq4LRuo9ct=pMsAa689+a8_iOA@mail.gmail.com> <CABkgnnU8X+K-K4Dkwo271Wm1ZmbQtxzhM7bR7PuKXOvBiaUS-w@mail.gmail.com> <CANatvzzEJMsHM2_yk7ON3u0bDoqrEHcwDd0Y+tZW_BWz3wkzbA@mail.gmail.com> <CANatvzw64WwksUnyzMWyF9LoPvYMdZP-THUb9NnsoxHCbeku+Q@mail.gmail.com> <b3c87af0-2ec6-eedf-864a-30f04dd21d14@akamai.com> <CANatvzyByFbmcEdw=aZc3v_rRvX6Fyq4q2Wiov=O0FkNQAYpog@mail.gmail.com> <aecbb68c-6fb1-52af-032d-fbd4997776b1@akamai.com> <CANatvzynhSvYQ7UaN09rhR2C8tkBB0QrCV2niptAuYR=nHokMw@mail.gmail.com>
From: Benjamin Kaduk <bkaduk@akamai.com>
Message-ID: <938ae714-fbc3-7946-8e25-2cda25972aad@akamai.com>
Date: Thu, 27 Jul 2017 13:32:32 -0500
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1
MIME-Version: 1.0
In-Reply-To: <CANatvzynhSvYQ7UaN09rhR2C8tkBB0QrCV2niptAuYR=nHokMw@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------C888F4D3F270D9C923EE4529"
Content-Language: en-US
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2017-07-27_10:, , signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1706020000 definitions=main-1707270289
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2017-07-27_10:, , signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1011 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1706020000 definitions=main-1707270289
Received-SPF: pass client-ip=67.231.157.127; envelope-from=bkaduk@akamai.com; helo=mx0b-00190b01.pphosted.com
X-W3C-Hub-Spam-Status: No, score=-4.0
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: mimas.w3.org 1danav-0004ax-39 07ba8fbf6090a6a39412ff331e16905b
X-Original-To: ietf-http-wg@w3.org
Subject: Re: New Version Notification for draft-thomson-http-replay-00.txt
Archived-At: <http://www.w3.org/mid/938ae714-fbc3-7946-8e25-2cda25972aad@akamai.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/34178
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <http://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

On 07/25/2017 08:30 PM, Kazuho Oku wrote:
> Hi Benjamin,
>
> 2017-07-26 1:06 GMT+09:00 Benjamin Kaduk <bkaduk@akamai.com>:
>> On 07/25/2017 10:30 AM, Kazuho Oku wrote:
>>
>> Hi Benjamin,
>>
>> Thank you for your response.
>>
>> 2017-07-25 21:27 GMT+09:00 Benjamin Kaduk <bkaduk@akamai.com>:
>>
>> This part I do not agree with, in particular the intermediary making the
>> decision to re-send the request without the early-data header.  I believe
>> that this decision must be left in the hands of the original client, and do
>> not think the latency concern justifies deviating from that.
>>
>> Could you please clarify the reason that an intermediary should not be
>> allowed to retry a request (that has once been rejected by 4NN) when
>> receiving an 1-RTT confirmation from client, without setting the
>> early-data header?
>>
>> To me, the behavior is identical to a server that postpones a request
>> (that was received as 0-RTT data) until it sees a ClientFinished.
>> Which is a behavior you state as permissible.
>>
>>
>>
>> In the general case, the request can be different when generated for the
>> retry versus the initial request.  This is quite obvious for the token
>> binding draft proposal in
>> https://tools.ietf.org/html/draft-ietf-tokbind-tls13-0rtt-02 but I doubt
>> that's the only possible case.  Granted, the token binding case is not
>> especially applicable to the proxy case being discussed here since the proxy
>> would need to be involved in handling token binding for that to work.  But I
>> hope it helps to illustrate that the client should retain control over how
>> the request is retried and that the proxy may not have all the information
>> necessary to automatically retry.
> Thank you for the example.
>
> I can understand that the request transmitted in 0-RTT and 1-RTT can
> be different. However I do not understand why the fact leads to a
> conclusion that the client should be the one to resend the request.

The client may be the only one that has all the information needed to
construct a proper 1-RTT request.

> My understanding is that in Token Binding either a secret derived from
> early_exporter_master_secret or exporter_master_secret is used. It is
> true that there is no replay resistance when the server receives 0-RTT
> data with Token Binding. However, replay resistance is gained at the
> moment the server receives (and successfully validates) a
> ClientFinished. By using ClientFinished as a confirmation, there is no
> need to request the client to resend the request, even if Token
> Binding was used.
>
> I believe that all data that are protected using early secrets gain
> replay resistance at the moment the TLS handshake completes. Hence no
> need to require the client to resend data.
>
>

I think your use of the phrase "gain replay resistance" is confusing and
perhaps misleading.  Anything sent via 0-RTT is potentially subject to
replay, and nothing can change that.  What happens at receipt of
ClientFinished is an indication that *this particular instance* being
received by the server is not a replay.  But the same data could be
replayed to, and potentially accepted at, other servers as well.

-Ben