Re: [TLS] Separate APIs for 0-RTT

Benjamin Kaduk <bkaduk@akamai.com> Tue, 13 June 2017 19:03 UTC

Return-Path: <bkaduk@akamai.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E6E8312944C for <tls@ietfa.amsl.com>; Tue, 13 Jun 2017 12:03:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.989
X-Spam-Level:
X-Spam-Status: No, score=-1.989 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, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01, 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 oP_38SZGlKO2 for <tls@ietfa.amsl.com>; Tue, 13 Jun 2017 12:03:27 -0700 (PDT)
Received: from mx0b-00190b01.pphosted.com (mx0b-00190b01.pphosted.com [IPv6:2620:100:9005:57f::1]) (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 10A32129488 for <tls@ietf.org>; Tue, 13 Jun 2017 12:03:27 -0700 (PDT)
Received: from pps.filterd (m0050096.ppops.net [127.0.0.1]) by m0050096.ppops.net-00190b01. (8.16.0.21/8.16.0.21) with SMTP id v5DIvqUV017113; Tue, 13 Jun 2017 20:03:24 +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=c1hJUTkl4T25qsR9cmZkyKCMW70Vnk8j5tbeiGHBaLk=; b=T+XUG3BuJ3423w7jxSHMIc73d/eL0lP9Xa+Hh3hiFBKAhStjGGtQcl0rG/lftJV06IuJ H+fnbgcv7RCaAS/zNnFuIUf3jIjHDMWynItueS7FmmW3p8XLkIeWYnp0hlGfsIl/s/L3 rjG9YJs/EIWSjuU+RqLWb38bX4Me6sh31DxHeeGALbtPtQa34taqxR8PK9niAeF2AfNm lyNH/pO1CFuaquHtsI8+nGygjVEmMXwiYMpEboBRcXjsdIdrazaT0oLMT06C0pKwyqbF 17rUAo+JcQASTHPpeZINnhX2+u/JFsPQhrTciDALeXVGV0tipgRHmnppaAzM+cOko0wc 8g==
Received: from prod-mail-ppoint2 (a184-51-33-19.deploy.static.akamaitechnologies.com [184.51.33.19] (may be forged)) by m0050096.ppops.net-00190b01. with ESMTP id 2b2ndv84hy-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 13 Jun 2017 20:03:24 +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 v5DIu09B025469; Tue, 13 Jun 2017 15:03:23 -0400
Received: from prod-mail-relay11.akamai.com ([172.27.118.250]) by prod-mail-ppoint2.akamai.com with ESMTP id 2b0c3ub6ym-1; Tue, 13 Jun 2017 15:03:23 -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 037631FC88; Tue, 13 Jun 2017 19:03:22 +0000 (GMT)
To: Andrei Popov <Andrei.Popov@microsoft.com>, Ilari Liusvaara <ilariliusvaara@welho.com>, Colm MacCárthaigh <colm@allcosts.net>
Cc: "tls@ietf.org" <tls@ietf.org>
References: <CABcZeBPkRhjLNT2QKO+DgfjE8-e-KrJ5XOLbA9bR24R1Fd96MQ@mail.gmail.com> <0a4f3f85fa80423ea72d3eec4c7710aa@usma1ex-dag1mb1.msg.corp.akamai.com> <CABcZeBMpeBhcKoJYuMwLyER0VBh+RtVr6amWMPos3CJipXYHcA@mail.gmail.com> <DM2PR21MB00916718A71749E5D2CB19C38CC20@DM2PR21MB0091.namprd21.prod.outlook.com> <CABcZeBO+Qprg4DTwNJrFU1PXDPyKbbdakMrF9fhe02jRL50cow@mail.gmail.com> <8e206c83-645f-6389-a7bd-ddd51e747ea2@akamai.com> <CAAF6GDfyqMndibTujY83_Xha2dZn7qvaCpZJw7xZ--b=-EOaYA@mail.gmail.com> <bf4506e7-13ce-ce7f-d20e-67a0d73c642a@akamai.com> <CAAF6GDePg9FL0JgzrWrTcrK7X=J0_fKjHVCj9EScvyQobJWTKA@mail.gmail.com> <20170613183536.GA12760@LK-Perkele-V2.elisa-laajakaista.fi> <63c8ac33-489c-0ace-d4ba-b960cd965281@akamai.com> <DM2PR21MB0091B8DC8780B4FA67464F0A8CC20@DM2PR21MB0091.namprd21.prod.outlook.com>
From: Benjamin Kaduk <bkaduk@akamai.com>
Message-ID: <cd93737a-0882-b349-0a50-f6e6da72b47d@akamai.com>
Date: Tue, 13 Jun 2017 14:03:22 -0500
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1
MIME-Version: 1.0
In-Reply-To: <DM2PR21MB0091B8DC8780B4FA67464F0A8CC20@DM2PR21MB0091.namprd21.prod.outlook.com>
Content-Type: multipart/alternative; boundary="------------D89C7085199A50C01003E102"
Content-Language: en-US
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2017-06-13_09:, , 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-1703280000 definitions=main-1706130324
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2017-06-13_09:, , 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-1703280000 definitions=main-1706130324
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/h3gFs7g41AgPyOSNDRLX1l9hmlo>
Subject: Re: [TLS] Separate APIs for 0-RTT
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <tls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tls>, <mailto:tls-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tls/>
List-Post: <mailto:tls@ietf.org>
List-Help: <mailto:tls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Jun 2017 19:03:30 -0000

+1 (with my vote for MUST).

-Ben

On 06/13/2017 01:57 PM, Andrei Popov wrote:
>
> Regarding RFC language, I think we could be more specific:
>
>  
>
> 1. A TLS implementation SHOULD/MUST only send 0-RTT application data
> if the application has explicitly opted in;
>
> 2. A TLS implementation SHOULD/MUST only accept 0-RTT application data
> if the application has explicitly opted in;
>
> 3. When delivering 0-RTT application data to the application, a TLS
> implementation SHOULD/MUST provide a way for the application to
> distinguish it from the rest of the application data.
>
>  
>
> Or some better phrasing that our capable editor can craft😊.
>
>  
>
> Cheers,
>
>  
>
> Andrei
>
>  
>
> *From:*TLS [mailto:tls-bounces@ietf.org] *On Behalf Of *Benjamin Kaduk
> *Sent:* Tuesday, June 13, 2017 11:48 AM
> *To:* Ilari Liusvaara <ilariliusvaara@welho.com>; Colm MacCárthaigh
> <colm@allcosts.net>
> *Cc:* tls@ietf.org
> *Subject:* Re: [TLS] Separate APIs for 0-RTT
>
>  
>
> On 06/13/2017 01:35 PM, Ilari Liusvaara wrote:
>
>     On Tue, Jun 13, 2017 at 11:07:35AM -0700, Colm MacCárthaigh wrote:
>
>         On Tue, Jun 13, 2017 at 11:04 AM, Benjamin Kaduk <bkaduk@akamai.com> <mailto:bkaduk@akamai.com> wrote:
>
>          
>
>             I have been operating under the impression that at least some application
>
>             profiles for early data will require that certain application protocol
>
>             requests (e.g., something like HTTP POST) must be rejected at the
>
>             application layer as "not appropriate for 0-RTT data", which requires the
>
>             application to know if the request was received over 0-RTT data.
>
>              
>
>          
>
>          
>
>         That's a really good point; you've changed my mind. It's obviously a good
>
>         idea to return a 5XX to a POST over 0-RTT and that would need this.
>
>      
>
>     I think the proper code to send is 400. The request is client error,
>
>     nor server error, so it is 4XX. And there does not seem to be suitable
>
>     4XX code, so it goes to catch-all client error code 400.
>
>      
>
>     For HTTP/2, refusing the stream (sending stream error 7 without sending
>
>     server headers)  is also a good choice, as this should trigger a
>
>     retransmission of the offending request (POST requests failed by
>
>     refusing the stream are retryable).
>
>      
>
>
> At least the http 0-RTT profile that I started writing was going to
> allocate a new 4XX error code for this purpose.  I am under no
> pretense that my version of such a document will resemble anything
> that finally gets published, though.
>
> -Ben
>