Re: [quicwg/base-drafts] Define an anti-forgery limit (#3620)
Christopher Wood <notifications@github.com> Fri, 08 May 2020 15:23 UTC
Return-Path: <noreply@github.com>
X-Original-To: quic-issues@ietfa.amsl.com
Delivered-To: quic-issues@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0C2293A0410 for <quic-issues@ietfa.amsl.com>; Fri, 8 May 2020 08:23:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.101
X-Spam-Level:
X-Spam-Status: No, score=-3.101 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, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=github.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 MgywTSiCuPlT for <quic-issues@ietfa.amsl.com>; Fri, 8 May 2020 08:23:31 -0700 (PDT)
Received: from out-20.smtp.github.com (out-20.smtp.github.com [192.30.252.203]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E95A33A017E for <quic-issues@ietf.org>; Fri, 8 May 2020 08:23:30 -0700 (PDT)
Received: from github-lowworker-f045d1f.ac4-iad.github.net (github-lowworker-f045d1f.ac4-iad.github.net [10.52.19.54]) by smtp.github.com (Postfix) with ESMTP id C0BA98C0546 for <quic-issues@ietf.org>; Fri, 8 May 2020 08:23:29 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1588951409; bh=qRifXoFzjK8Sz8CRalo3G0p0Oe68WJrdf2c/Jp0jTio=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=U6tUighK9HnFcMYzosegChCH2P19qNvllwBokvMJv7mfVKU8Vxo+/8AVy4E+ZNZ7B r/opFjbw6vVXPV8F4y+0C/bgTE1iYE6DNaepuvvoQlbQI6xuProxyTS+Q37gjXOZot HGH6MDy2q7ylMPgtubylXw5lObZKaeqlF+TZrgsU=
Date: Fri, 08 May 2020 08:23:29 -0700
From: Christopher Wood <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+AFTOJK2HYKAVYUAFXKSESIV4YFNHDEVBNHHCIZGB6U@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/3620/review/408305716@github.com>
In-Reply-To: <quicwg/base-drafts/pull/3620@github.com>
References: <quicwg/base-drafts/pull/3620@github.com>
Subject: Re: [quicwg/base-drafts] Define an anti-forgery limit (#3620)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5eb57971b234e_2a6d3fa9b72cd96835367f"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: chris-wood
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/yCJ2xczHZm3UiNz9sybblI6MjJw>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG <quic-issues.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic-issues/>
List-Post: <mailto:quic-issues@ietf.org>
List-Help: <mailto:quic-issues-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 08 May 2020 15:23:33 -0000
@chris-wood approved this pull request. Thanks, @martinthomson! I derived the same bounds. This looks good to me. > Key updates MUST be initiated before usage limits on packet protection keys are -exceeded. For the cipher suites mentioned in this document, the limits in -Section 5.5 of {{!TLS13}} apply. Other cipher suites MUST define usage limits -in order to be used with QUIC. +exceeded. For the cipher suites mentioned in this document, the limits in +Section 5.5 of {{!TLS13}} apply. {{!TLS13}} does not specify a limit for +AEAD_AES_128_CCM, but the analysis in {{ccm-bounds}} shows that a limit of 2^23 +packets can be used to obtain the same confidentiality protection as the limits +specified in TLS. + +The usage limits defined in TLS 1.3 exist to provide protection against attacks ```suggestion The usage limits defined in TLS 1.3 exist for protection against attacks ``` > +packet that cannot be authenticated, allowing multiple attempts at defeating +integrity protection. ```suggestion packet that cannot be authenticated, allowing multiple attempts forgery attempts. ``` > +Endpoints MUST count the number of packets that are received but cannot be +authenticated. If the number of packets that fail authentication exceeds a ```suggestion Endpoints MUST count the number of received packets that fail authentication. If the number of packets that fail authentication exceeds a ``` > +analysis of other AEAD functions in {{AEBounds}}, this analysis assumes a +packet length of 2^10 blocks and a packet size limit of 2^14. + +For AEAD_AES_128_CCM, the total number of block cipher operations is the sum +of: the length of the associated data in blocks, the length of the ciphertext +in blocks, the length of the plaintext in blocks, plus 1. In this analysis, +this is simplified to a value of twice the length of the packet in blocks (that +is, `2l = 2^11`). This simplification is based on the packet containing all of +the associated data and ciphertext. This results in a negligible 1 to 3 block +overestimation of the number of operations. + + +## Confidentiality Limits + +For confidentiality, Theorem 2 in {{?CCM-ANALYSIS}} establishes that an +attacker gains an advantage over an ideal pseudorandom permutation (PRP) of no ```suggestion attacker gains a distinguishing advantage over an ideal pseudorandom permutation (PRP) of no ``` > +For a target advantage of 2^-60, which matches that used by {{!TLS13}}, this +results in the relation: + +~~~ +q <= 2^23 +~~~ + +That is, endpoints cannot protect more than 2^23 packets with the same set of +keys without causing an attacker to gain an larger advantage than the target of +2^-60. + + +## Integrity Limits + +For integrity, Theorem 1 in {{?CCM-ANALYSIS}} establishes that an attacker +gains an advantage over an ideal PRP of no more than: ```suggestion gains a distinguishing advantage over an ideal PRP of no more than: ``` > +analysis of other AEAD functions in {{AEBounds}}, this analysis assumes a +packet length of 2^10 blocks and a packet size limit of 2^14. + +For AEAD_AES_128_CCM, the total number of block cipher operations is the sum +of: the length of the associated data in blocks, the length of the ciphertext +in blocks, the length of the plaintext in blocks, plus 1. In this analysis, +this is simplified to a value of twice the length of the packet in blocks (that +is, `2l = 2^11`). This simplification is based on the packet containing all of +the associated data and ciphertext. This results in a negligible 1 to 3 block +overestimation of the number of operations. + + +## Confidentiality Limits + +For confidentiality, Theorem 2 in {{?CCM-ANALYSIS}} establishes that an +attacker gains an advantage over an ideal pseudorandom permutation (PRP) of no (to clarify that the harm is distinguishability from an ideal PRP, and not plaintext leakage or something.) -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/quicwg/base-drafts/pull/3620#pullrequestreview-408305716
- Re: [quicwg/base-drafts] Define an anti-forgery l… Martin Thomson
- Re: [quicwg/base-drafts] Define an anti-forgery l… Martin Thomson
- Re: [quicwg/base-drafts] Define an anti-forgery l… Martin Thomson
- Re: [quicwg/base-drafts] Define an anti-forgery l… Martin Thomson
- [quicwg/base-drafts] Define an anti-forgery limit… Martin Thomson
- Re: [quicwg/base-drafts] Define an anti-forgery l… Martin Thomson
- Re: [quicwg/base-drafts] Define an anti-forgery l… Martin Thomson
- Re: [quicwg/base-drafts] Define an anti-forgery l… ianswett
- Re: [quicwg/base-drafts] Define an anti-forgery l… Martin Thomson
- Re: [quicwg/base-drafts] Define an anti-forgery l… Lucas Pardue
- Re: [quicwg/base-drafts] Define an anti-forgery l… Jana Iyengar
- Re: [quicwg/base-drafts] Define an anti-forgery l… Martin Thomson
- Re: [quicwg/base-drafts] Define an anti-forgery l… Martin Thomson
- Re: [quicwg/base-drafts] Define an anti-forgery l… Kazuho Oku
- Re: [quicwg/base-drafts] Define an anti-forgery l… Martin Thomson
- Re: [quicwg/base-drafts] Define an anti-forgery l… Kazuho Oku
- Re: [quicwg/base-drafts] Define an anti-forgery l… Martin Thomson
- Re: [quicwg/base-drafts] Define an anti-forgery l… Felix Günther
- Re: [quicwg/base-drafts] Define an anti-forgery l… Martin Thomson
- Re: [quicwg/base-drafts] Define an anti-forgery l… Martin Thomson
- Re: [quicwg/base-drafts] Define an anti-forgery l… Christopher Wood
- Re: [quicwg/base-drafts] Define an anti-forgery l… Felix Günther
- Re: [quicwg/base-drafts] Define an anti-forgery l… Christopher Wood
- Re: [quicwg/base-drafts] Define an anti-forgery l… David Schinazi
- Re: [quicwg/base-drafts] Define an anti-forgery l… Martin Thomson
- Re: [quicwg/base-drafts] Define an anti-forgery l… Martin Thomson
- Re: [quicwg/base-drafts] Define an anti-forgery l… Martin Thomson
- Re: [quicwg/base-drafts] Define an anti-forgery l… Christopher Wood
- Re: [quicwg/base-drafts] Define an anti-forgery l… Jana Iyengar
- Re: [quicwg/base-drafts] Define an anti-forgery l… David Schinazi
- Re: [quicwg/base-drafts] Define an anti-forgery l… Christopher Wood
- Re: [quicwg/base-drafts] Define an anti-forgery l… David Schinazi
- Re: [quicwg/base-drafts] Define an anti-forgery l… Christopher Wood
- Re: [quicwg/base-drafts] Define an anti-forgery l… Martin Thomson
- Re: [quicwg/base-drafts] Define an anti-forgery l… Martin Thomson