Re: Encryption simplification

Willy Tarreau <> Mon, 31 October 2016 06:56 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 75200129557 for <>; Sun, 30 Oct 2016 23:56:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -8.398
X-Spam-Status: No, score=-8.398 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-1.497, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id iGhnzAUxedGI for <>; Sun, 30 Oct 2016 23:56:19 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 9BC8E12953C for <>; Sun, 30 Oct 2016 23:56:19 -0700 (PDT)
Received: from lists by with local (Exim 4.80) (envelope-from <>) id 1c16Re-0004wD-62 for; Mon, 31 Oct 2016 06:51:46 +0000
Resent-Date: Mon, 31 Oct 2016 06:51:46 +0000
Resent-Message-Id: <>
Received: from ([]) by with esmtps (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <>) id 1c16RY-0004ui-S9 for; Mon, 31 Oct 2016 06:51:40 +0000
Received: from ([] by with esmtp (Exim 4.84_2) (envelope-from <>) id 1c16RS-00067T-Cs for; Mon, 31 Oct 2016 06:51:35 +0000
Received: (from willy@localhost) by pcw.home.local (8.15.2/8.15.2/Submit) id u9V6pAgH017058; Mon, 31 Oct 2016 07:51:10 +0100
Date: Mon, 31 Oct 2016 07:51:10 +0100
From: Willy Tarreau <>
To: Martin Thomson <>
Cc: HTTP Working Group <>
Message-ID: <>
References: <>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <>
User-Agent: Mutt/1.6.0 (2016-04-01)
Received-SPF: pass client-ip=;;
X-W3C-Hub-Spam-Status: No, score=-5.5
X-W3C-Hub-Spam-Report: AWL=-0.575, BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, W3C_AA=-1, W3C_IRA=-1, W3C_WL=-1
X-W3C-Scan-Sig: 1c16RS-00067T-Cs 749f35b9d27ecbc15257d8ba9717a121
Subject: Re: Encryption simplification
Archived-At: <>
X-Mailing-List: <> archive/latest/32748
Precedence: list
List-Id: <>
List-Help: <>
List-Post: <>
List-Unsubscribe: <>

Hi Martin,

On Sun, Oct 30, 2016 at 09:22:26PM +1100, Martin Thomson wrote:
> After discussion about content codings, I've made something of a
> drastic change to the encryption draft.  A preview is here:
> The pull request is here:
> This is a huge simplification in many ways, so I think that's a fair
> improvement.
> The main assertion that this assumes is this: content codings should
> be self-descriptive.
> Obviously, this isn't a strong assertion given that this content
> coding requires a key, and SDCH relies on having an external
> dictionary, but the point is that the contents of the message can be
> decoded without reading additional header fields.  This is consistent
> with the observation that James Manger made about the MICE content
> coding previously [1].
> To that end, I've removed the Encryption header field and packed the
> critical data into the content itself.  This is more efficient and
> avoids strange cross-header-field correlation between Encryption and
> Content-Encoding.  It retains Crypto-Key and key identifiers, but
> that's necessary since they generally travel separately.

I like it. I think it is well designed and even suspect that if it
succeeds we'll see an update later to move some payload-specific
metadata which currently stand in headers into the encrypted block
(I don't have good examples right now but have faced this need in
the past -- we may for example think about the content's title and
author or the location where a photo was taken). But for now I think
it efficiently covers what it aims to.

Good job!