Re: [TLS] PR#625: Change alert requirements

Ilari Liusvaara <ilariliusvaara@welho.com> Wed, 07 September 2016 19:25 UTC

Return-Path: <ilariliusvaara@welho.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 20C9512B373 for <tls@ietfa.amsl.com>; Wed, 7 Sep 2016 12:25:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.408
X-Spam-Level:
X-Spam-Status: No, score=-3.408 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, RP_MATCHES_RCVD=-1.508] autolearn=ham autolearn_force=no
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 wGOeaurjL8NC for <tls@ietfa.amsl.com>; Wed, 7 Sep 2016 12:25:08 -0700 (PDT)
Received: from welho-filter1.welho.com (welho-filter1.welho.com [83.102.41.23]) by ietfa.amsl.com (Postfix) with ESMTP id 6486112B3C0 for <tls@ietf.org>; Wed, 7 Sep 2016 12:24:49 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by welho-filter1.welho.com (Postfix) with ESMTP id 8F432F598; Wed, 7 Sep 2016 22:24:48 +0300 (EEST)
X-Virus-Scanned: Debian amavisd-new at pp.htv.fi
Received: from welho-smtp2.welho.com ([IPv6:::ffff:83.102.41.85]) by localhost (welho-filter1.welho.com [::ffff:83.102.41.23]) (amavisd-new, port 10024) with ESMTP id VDWUIh-H42vq; Wed, 7 Sep 2016 22:24:48 +0300 (EEST)
Received: from LK-Perkele-V2 (87-100-237-87.bb.dnainternet.fi [87.100.237.87]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by welho-smtp2.welho.com (Postfix) with ESMTPSA id 46C9D27B; Wed, 7 Sep 2016 22:24:48 +0300 (EEST)
Date: Wed, 7 Sep 2016 22:24:47 +0300
From: Ilari Liusvaara <ilariliusvaara@welho.com>
To: Timothy Jackson <tjackson@mobileiron.com>
Message-ID: <20160907192446.h3us4hwnqm62orwb@LK-Perkele-V2.elisa-laajakaista.fi>
References: <CABcZeBMeLgqjvr2cjWL=AHTQJbS9siNBB6U2=0654yigbBGkYA@mail.gmail.com> <1558569.9rZYFBiQ0G@pintsize.usersys.redhat.com> <CABcZeBMCkSJ1nGfZDjx3CJcUsLhH4AMZ=0wOc+uNs0YKu6kW1Q@mail.gmail.com> <3902031.op4bE2I96X@pintsize.usersys.redhat.com> <DM2PR0301MB0847A61D65DBF3AEC2149E168CF80@DM2PR0301MB0847.namprd03.prod.outlook.com> <CABcZeBNLSTMT6ARTyXAAXzHJujzxrn7Sc6NwDTSQBS8VCvqe0w@mail.gmail.com> <CAF8qwaDbroqSfMs5fHeRSWnaZCj=U9dgxDSX9z8Pn_=H9-e3BQ@mail.gmail.com> <66936A3E-6DF5-4CF9-A248-01F002D5DD82@mobileiron.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <66936A3E-6DF5-4CF9-A248-01F002D5DD82@mobileiron.com>
User-Agent: NeoMutt/ (1.7.0)
Sender: ilariliusvaara@welho.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/XtmSDukUDCSXk6LFxQ6eKkY3L-A>
Cc: "tls@ietf.org" <tls@ietf.org>
Subject: Re: [TLS] PR#625: Change alert requirements
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <tls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tls>, <mailto:tls-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tls/>
List-Post: <mailto:tls@ietf.org>
List-Help: <mailto:tls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Sep 2016 19:25:10 -0000

On Wed, Sep 07, 2016 at 06:57:43PM +0000, Timothy Jackson wrote:
> We probably want to discuss the potential for side-channels introduced by
> alerting. I’ve seen at least one case where there were two possible
> classes of errors at a particular state in the protocol. One caused an
> alert, the other caused the TLS stack to close the channel.
> Unfortunately, this difference in behavior could give information to an
> attacker. The only viable solution was to modify the TLS stack to close
> the channel in both cases.
> 
> If we’re going to continue having alerts, I think we would need to be
> sure that an implementations following the RFC will not wind up in this
> situation. I suspect that will be difficult at best.

IMO, no-alert (not even tried) closes are only acceptable if:

- Association was never created (bad HelloVerifyRequest or
  HelloRetryRequest in DTLS).
- Association has been lost (transport error).
- The association state is corrupt.


The bad alerts that leak info are:

- Depend on secret values and
- Substantial probability to not trigger alert for first cause(s).


IIRC, TLS 1.0-1.2 blockmode had one of those.

Note that if you have an alert which could leak information, very
probably it is a timing attack vector as well. And there just closing
the connection won't help.


-Ilari