Re: New confidentiality and integrity limits

Martin Thomson <> Fri, 26 June 2020 04:31 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 812D43A1119 for <>; Thu, 25 Jun 2020 21:31:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Status: No, score=-2.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key) header.b=OKPL74Pa; dkim=pass (2048-bit key) header.b=aedA+Osp
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id Zz6LUY1fOSg3 for <>; Thu, 25 Jun 2020 21:31:28 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 2A5C63A10F8 for <>; Thu, 25 Jun 2020 21:31:28 -0700 (PDT)
Received: from compute2.internal (compute2.nyi.internal []) by mailout.nyi.internal (Postfix) with ESMTP id 75F405C00B7; Fri, 26 Jun 2020 00:31:27 -0400 (EDT)
Received: from imap2 ([]) by compute2.internal (MEProxy); Fri, 26 Jun 2020 00:31:27 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; h=mime-version:message-id:in-reply-to:references:date:from:to :cc:subject:content-type; s=fm2; bh=Fk7z/UZqqpofwozX5agIFBJeAiCA Zh3H8Tu7HQ3Xjb0=; b=OKPL74PaaKA0pWHWz5RwL5pxZWvrjspLExFeyFQ/KkWz 6h3hxsQI2WpqPZYfDU6ixHOWnx1juWR0Y4PNHfrFmdZVid6T/Mgo+BTI7yd04oPO 8FYisTcVngsStBrslSVIfxbi1Dd3Tj5DvuLBdDz6agv1gXvByKOmTPI5A5CCNwnv nczGTYEIYJfUA5EDjFp87h/dzs6j0yeT2iudJba2TtjURWK5wTjrlLG3sABt7XMH PurmieX0U1vZOwUb3TyjJkuJsJi10TYzqSfiSkmH/Yt6drYPmHUhP6gtNeBuW3WU bDEYYUvSX+Grdg4qe/0VAnrxCdMX4gYHjERO+R70fQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=Fk7z/U ZqqpofwozX5agIFBJeAiCAZh3H8Tu7HQ3Xjb0=; b=aedA+OspWktuovPrB3Y2Oi 7nCUv4/3PEMPZUqtp/MRdjJ5C/dPoS0YA7MJBqnmF6d73YfYoVmIQS/PZYI1IkSQ oILV10DiJHWP0tW9Zqc+ss7HF7KB/R8ugB+dPRBf/SRB/hr0XNFO2JWTbEjeT5C8 nSvBxwrvIUR//qhJ+Z/1zI6TrSkIgNF7XpY6iki1x8Ty+tMBhX2bzUCK3bWwoL+7 Oz2FvTku/UrbO3TgeiCo7Gb21TY9Tk6hs2SFaGdWDlp48wfcueYPT4JiuVNlJYnj 4CBM6+8xL1xL3O/l0Uk+W85mdz30VtRA8tOWo1riHV0Nva+7x3C0dTx5xG0jvnjA ==
X-ME-Sender: <xms:H3r1XsfoCv1qkpxuKJuCoyqsh2y57Po6MWPxty7A-_WhOCkRwunmiA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduhedrudeltddgkeefucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepofgfggfkjghffffhvffutgesthdtredtreertdenucfhrhhomhepfdforghr thhinhcuvfhhohhmshhonhdfuceomhhtsehlohifvghnthhrohhphidrnhgvtheqnecugg ftrfgrthhtvghrnhepkeetueeikedtkeelfeekvefhkeffvedvvefgkefgleeugfdvjeej geffieegtdejnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrh homhepmhhtsehlohifvghnthhrohhphidrnhgvth
X-ME-Proxy: <xmx:H3r1XuMCMvzddAi7ivV2-b0fjVAT3tbzJzIEqX_DoBch8NQ_58nseg> <xmx:H3r1XtiEh8o7QsqHwspS0SvLRU1SAPQB4UZryRzN5SKiZA8igGZ4Cw> <xmx:H3r1Xh8MEQnCDhypH0KcFYWGlAHrtmqpLgu9Skeyd7zMrGB9D2jQFg> <xmx:H3r1Xm4FDy-3QAcoS8biaDfhlMX3l6li5mtUdNhR4NKAj4HxbesstA>
Received: by mailuser.nyi.internal (Postfix, from userid 501) id 299E1E00A8; Fri, 26 Jun 2020 00:31:27 -0400 (EDT)
X-Mailer: Webmail Interface
User-Agent: Cyrus-JMAP/3.3.0-dev0-543-gda70334-fm-20200618.004-gda703345
Mime-Version: 1.0
Message-Id: <>
In-Reply-To: <>
References: <> <> <> <> <>
Date: Fri, 26 Jun 2020 14:31:03 +1000
From: "Martin Thomson" <>
To: "Jana Iyengar" <>
Cc: "QUIC WG" <>
Subject: Re: New confidentiality and integrity limits
Content-Type: text/plain
Archived-At: <>
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 26 Jun 2020 04:31:30 -0000

On Fri, Jun 26, 2020, at 11:01, Jana Iyengar wrote:
> Thank you for all the analysis and for distilling it into the 
> recommendations above -- the more precise bounds are super helpful!
> It seems to me that the other limits are not practical limits for the 
> most part. 

Assuming that you mean "the limits are unlikely to be a problem in practice"?  I think that is right.

The numbers that change here are forgery limits, and we expect that a real connection will have very few apparent forgeries.  In testing, I see a handful during the handshake (with my RTT, I often get Initial retransmissions that arrive after the keys have been dropped), but that's only ever about 2 packets from what I've seen.  Similarly, an implementation that drops keys aggressively around a key update might see a few near each update.  

Overall, we're talking about seeing a handful of apparent forgeries in normal use, not millions (which is the lowest limit we have).  This could mean that someone using AES-CCM will run into this limit before they hit the 2^62 packet limit, but that is unlikely to be problem for the other ciphers as their limits are higher.

This is mostly a problem for people who might be subject to sustained forgery attacks, but an attacker that sends ~8 million bad packets to close a connection has earned their ability to kill that connection.  It's not exactly an economical attack.  (For contrast, the AES-128-GCM number is ~16 quadrillion.)

> Am I correct in understanding that the practical impact of 
> this boils down to "We might need to do key updates more frequently 
> than we had hoped" since the integrity limits are a bit more modest?

Unfortunately, integrity limits are not reset by a key update, so the net effect is that you have to make a new connection.  But see above.

The confidentiality limits are marginally higher as a result of the new analysis, so you end up having to update a tiny bit less.