Re: [TLS] Reducing record expansion overhead allowance

Daniel Kahn Gillmor <> Mon, 21 July 2014 03:12 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 578131B2AB1 for <>; Sun, 20 Jul 2014 20:12:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 8ziUAzG6Kyev for <>; Sun, 20 Jul 2014 20:12:26 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id C01361B2B02 for <>; Sun, 20 Jul 2014 20:12:25 -0700 (PDT)
Received: from [] ( []) by (Postfix) with ESMTPSA id 7FD21F984; Sun, 20 Jul 2014 23:12:22 -0400 (EDT)
Message-ID: <>
Date: Sun, 20 Jul 2014 23:12:19 -0400
From: Daniel Kahn Gillmor <>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:30.0) Gecko/20100101 Icedove/30.0
MIME-Version: 1.0
To: "StJohns, Michael" <>, Eric Rescorla <>
References: <> <> <> <> <> <>
In-Reply-To: <>
Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="SQCVK5rd4AHppws9RWQD20HNiXTaDDkG0"
Cc: "" <>
Subject: Re: [TLS] Reducing record expansion overhead allowance
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 21 Jul 2014 03:12:28 -0000

[reordering for chronological sanity]
On 07/20/2014 12:21 PM, StJohns, Michael wrote:
> On Sunday, July 20, 2014, Eric Rescorla <> wrote:
>> On Sun, Jul 20, 2014 at 9:08 AM, StJohns, Michael < wrote:
>>> On Sunday, July 20, 2014, Eric Rescorla <>  wrote:
>>>> I believe the consensus here was to have padding be done separately.
>>> You mean as part of the plain text?
>> From the perspective of the AEAD algorithm, yes.
> So then not really a TLS issue, but has to be supported by each application
> and is transparent to TLS?   Ok - Thanks.

No, i don't think that was the intended meaning.  I think padding should
be made available within TLS, but applied directly on the cleartext; the
padded form of the cleartext is what is fed to the cipher.

Unpacking the nuances i recall from Denver:

 * padding is probably most correctly and effectively done at the
application layer, since the application itself has an understanding of
what its common usage patterns are, and how to frame a plausible
anonymity set as a padding target.

 * but in practice, most applications (and most implementations) are
likely to just slap TLS on top of a cleartext protocol "for security",
and not think much more about it.

 * some application layers themselves may not have the means to produce
and consume the padding needed within the application cleartext.

 * some (imperfect) level of resistance to traffic analysis is probably
achievable with a simple policy applied at the TLS layer, without
application layers having to do anything but flip a switch.  This is
much more likely to happen for any given application than detailed analysis.

Given these constraints, TLS is probably the best place to provide the
possibility of padding.

Defining reasonable and comprehensible padding policies/profiles is a
lot more work that will also need to be done, but we should be able to
define the mechanism within TLS without too much complexity.