RE: Question about 0-RTT

"Lubashev, Igor" <ilubashe@akamai.com> Thu, 04 July 2019 01:00 UTC

Return-Path: <ilubashe@akamai.com>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 083521202AD for <quic@ietfa.amsl.com>; Wed, 3 Jul 2019 18:00:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=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 u-BAMopFhK-2 for <quic@ietfa.amsl.com>; Wed, 3 Jul 2019 18:00:21 -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 4EA29120703 for <quic@ietf.org>; Wed, 3 Jul 2019 18:00:20 -0700 (PDT)
Received: from pps.filterd (m0050096.ppops.net [127.0.0.1]) by m0050096.ppops.net-00190b01. (8.16.0.27/8.16.0.27) with SMTP id x640v1IM003270; Thu, 4 Jul 2019 02:00:02 +0100
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=akamai.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : mime-version; s=jan2016.eng; bh=o13iCQVtvj0FhbQRpGmxtl8EkJwP+GM3lrejaizgFAM=; b=R3lG0Ii3pP5y18hCckmuMpPDjJVV/kAxY2KyZfHMaE17lWrG+9nALQJrJQ9nSI/EXpPv g7tNaj8ft4DN7LnVglsxdjno/79PdyKwdvngEXI5rXml31LmVSEQ8XsZWFG2KPlhBhHf ef7BN8HMcW98mL/IJl3kR4ja4VIRHQymz6cxHAFFX7D8H+dpcHkuAhRXVIUnX8xyw09P UmnGVOLXLXGRuE0GXR3xGZtTgNBba11njF33C8p8I0dP/fZTSAr30DCv3rbJ4tCggiku 6HBh+ewHEngL6bbjuBrkoWD5914TsprBDbAIG/zc3D0qJivekXBttpmhbuqG3TG1G48U SQ==
Received: from prod-mail-ppoint4 (prod-mail-ppoint4.akamai.com [96.6.114.87] (may be forged)) by m0050096.ppops.net-00190b01. with ESMTP id 2th4jn8hgv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 04 Jul 2019 02:00:01 +0100
Received: from pps.filterd (prod-mail-ppoint4.akamai.com [127.0.0.1]) by prod-mail-ppoint4.akamai.com (8.16.0.27/8.16.0.27) with SMTP id x640lSjr020208; Wed, 3 Jul 2019 21:00:01 -0400
Received: from email.msg.corp.akamai.com ([172.27.27.25]) by prod-mail-ppoint4.akamai.com with ESMTP id 2te3ay2prm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Wed, 03 Jul 2019 21:00:00 -0400
Received: from USTX2EX-DAG1MB5.msg.corp.akamai.com (172.27.27.105) by ustx2ex-dag1mb1.msg.corp.akamai.com (172.27.27.101) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Wed, 3 Jul 2019 19:59:59 -0500
Received: from USTX2EX-DAG1MB5.msg.corp.akamai.com ([172.27.27.105]) by ustx2ex-dag1mb5.msg.corp.akamai.com ([172.27.27.105]) with mapi id 15.00.1473.004; Wed, 3 Jul 2019 19:59:59 -0500
From: "Lubashev, Igor" <ilubashe@akamai.com>
To: William Herrin <bill@herrin.us>
CC: "quic@ietf.org" <quic@ietf.org>
Subject: RE: Question about 0-RTT
Thread-Topic: Question about 0-RTT
Thread-Index: AQHVMe7WATOS4EDkz02CwqZTPlVkl6a5g/uAgABgoID//7ab8A==
Date: Thu, 04 Jul 2019 00:59:58 +0000
Message-ID: <aa048eef0615446b80d8aa903cd42a17@ustx2ex-dag1mb5.msg.corp.akamai.com>
References: <CAP-guGUW9cfBVWGYkqLFZWmjuiUjAhTnYN=zcjJL=em5MXHjsQ@mail.gmail.com> <0f590cac8f424b808fe0d77c203321a0@ustx2ex-dag1mb5.msg.corp.akamai.com> <CAP-guGXoZjHoXpD=c20BHKRD-jXMhe6nr87qk3AKa0VGUp0kgA@mail.gmail.com>
In-Reply-To: <CAP-guGXoZjHoXpD=c20BHKRD-jXMhe6nr87qk3AKa0VGUp0kgA@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [172.19.32.189]
Content-Type: multipart/alternative; boundary="_000_aa048eef0615446b80d8aa903cd42a17ustx2exdag1mb5msgcorpak_"
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-07-03_06:, , signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1907040008
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-07-03_06:, , 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=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1907040010
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/EGIQGEL6mAwPHQckdZ5xhvBlT28>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic>, <mailto:quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic/>
List-Post: <mailto:quic@ietf.org>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic>, <mailto:quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 04 Jul 2019 01:00:26 -0000

I recommend you also familiarize yourself with https://tools.ietf.org/html/draft-ietf-quic-tls-20#section-2.1.  It gives a good overview of TLS and later in the text describes how TLS is used in QUIC.  It is referenced from the Transport draft is a few key places.

Most often, yes, 0-RTT data will be transmitted only in the first round trip (except if a server’s handshake packet is lost). Note that 0-RTT data is also encrypted using keys received in a prior connection!

Of course, if 0-RTT packets are rejected by the server (see Version Negotiation and Retry packets), the client may need to resend 0-RTT data again.


  *   Igor

From: William Herrin <bill@herrin.us>
Sent: Wednesday, July 03, 2019 7:52 PM
To: Lubashev, Igor <ilubashe@akamai.com>
Cc: quic@ietf.org
Subject: Re: Question about 0-RTT

Thanks Igor,

I get the impression in RFC8446 that 0-RTT data is literally transmitted in the first round trip before the server returns back the key. After the first round trip, the data is always encrypted. Is that accurate?

Is that true in QUIC as well? I was under the (possibly mistaken) impression that quic will in some cases need additional round trips before negotiation is complete and it moves to the 1-RTT state?

Regardless, can something be added to section 1.2 (terms and definitions) referring the reader to the explanation of 0-RTT and 1-RTT?

Thanks,
Bill Herrin


On Wed, Jul 3, 2019 at 4:21 PM Lubashev, Igor <ilubashe@akamai.com<mailto:ilubashe@akamai.com>> wrote:
Hi Bill,

0-RTT is a term commonly used by TLS – the crypto protocol that QUIC uses to secure data.
See https://tools.ietf.org/html/rfc8446#section-2.3<https://urldefense.proofpoint.com/v2/url?u=https-3A__tools.ietf.org_html_rfc8446-23section-2D2.3&d=DwMFaQ&c=96ZbZZcaMF4w0F4jpN6LZg&r=Djn3bQ5uNJDPM_2skfL3rW1tzcIxyjUZdn_m55KPmlo&m=d0KcURGrcHxZbPgbOhMFQVWDioNjMfOuw0cA8k2AhKg&s=rCBQpRDg-vAwT4eJhwm4PkWpHp-JrviatUMszI3yzJE&e=>.

0-RTT is a feature of a protocol that allows data to be delivered to the other endpoint in less than 1 RTT (round trip time) from the connection initiation (more accurately, it is a protocol feature that allows data to be sent before the protocol handshake is complete).

0-RTT data (also known as “early data”) is the data that is sent before the handshake completion.  0-RTT packets are packets containing 0-RTT data.


  *   Igor

From: William Herrin <bill@herrin.us<mailto:bill@herrin.us>>
Sent: Wednesday, July 03, 2019 6:29 PM
To: quic@ietf.org<mailto:quic@ietf.org>
Subject: Question about 0-RTT

Hi folks,

Reading https://tools.ietf.org/html/draft-ietf-quic-transport-20<https://urldefense.proofpoint.com/v2/url?u=https-3A__tools.ietf.org_html_draft-2Dietf-2Dquic-2Dtransport-2D20&d=DwMFaQ&c=96ZbZZcaMF4w0F4jpN6LZg&r=Djn3bQ5uNJDPM_2skfL3rW1tzcIxyjUZdn_m55KPmlo&m=msfZzbaeOpr7Gt4WhhK5mhZnk3Rzx2GqgBOkE18nG6c&s=Qp2ZTiT1jKK_6xTpaZAgSlJK9epps9hNNzWC7KxS7Js&e=>, I have a question about 0-RTT: What is it?

The draft talks a lot about it, but I didn't see anywhere that clearly defined what it is. When I see "RTT" without a definition I tend to think "round trip time," but the explanation of 0-RTT seems to have more to do with encryption setup during connection initialization than any tie to which round trip completes the setup. I find this confusing.

Would someone comment and either show me the definition I missed or add one to the next draft?

Thanks,
Bill Herrin

--
William Herrin
bill@herrin.us<mailto:bill@herrin.us>
https://bill.herrin.us/<https://urldefense.proofpoint.com/v2/url?u=https-3A__bill.herrin.us_&d=DwMFaQ&c=96ZbZZcaMF4w0F4jpN6LZg&r=Djn3bQ5uNJDPM_2skfL3rW1tzcIxyjUZdn_m55KPmlo&m=msfZzbaeOpr7Gt4WhhK5mhZnk3Rzx2GqgBOkE18nG6c&s=jPAJj-S1TqI7CHKFAOfs473d_g6_fQPYYjttzpRopic&e=>


--
William Herrin
bill@herrin.us<mailto:bill@herrin.us>
https://bill.herrin.us/<https://urldefense.proofpoint.com/v2/url?u=https-3A__bill.herrin.us_&d=DwMFaQ&c=96ZbZZcaMF4w0F4jpN6LZg&r=Djn3bQ5uNJDPM_2skfL3rW1tzcIxyjUZdn_m55KPmlo&m=d0KcURGrcHxZbPgbOhMFQVWDioNjMfOuw0cA8k2AhKg&s=_bJSyRDpLBIuaAHlAOywblTprBzS1rItCEyJcXW-uhw&e=>