Re: [Emu] WGLC completed for for draft-ietf-emu-eap-tls13-05

Alan DeKok <aland@deployingradius.com> Sat, 13 July 2019 14:51 UTC

Return-Path: <aland@deployingradius.com>
X-Original-To: emu@ietfa.amsl.com
Delivered-To: emu@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2DDBB12023F for <emu@ietfa.amsl.com>; Sat, 13 Jul 2019 07:51:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] 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 oGbvCmMwh38h for <emu@ietfa.amsl.com>; Sat, 13 Jul 2019 07:51:15 -0700 (PDT)
Received: from mail.networkradius.com (mail.networkradius.com [62.210.147.122]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0C288120234 for <emu@ietf.org>; Sat, 13 Jul 2019 07:51:14 -0700 (PDT)
Received: from [10.192.3.79] (lstlambert-657-1-56-254.w80-13.abo.wanadoo.fr [80.13.33.254]) by mail.networkradius.com (Postfix) with ESMTPSA id E5E8D1E8C; Sat, 13 Jul 2019 14:51:11 +0000 (UTC)
Authentication-Results: NetworkRADIUS; dmarc=none header.from=deployingradius.com
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 12.2 \(3445.102.3\))
From: Alan DeKok <aland@deployingradius.com>
In-Reply-To: <20190713142127.GA32230@w1.fi>
Date: Sat, 13 Jul 2019 16:51:10 +0200
Cc: Joseph Salowey <joe@salowey.net>, EMU WG <emu@ietf.org>
Content-Transfer-Encoding: 7bit
Message-Id: <DA0799BE-3F63-4214-9FF6-68CEF4D743C1@deployingradius.com>
References: <CAOgPGoCB7VOzjo+ckDhNiApa6ozCDr3zfj6pMVG3ZRfV4RP6mQ@mail.gmail.com> <20190712210819.GA26853@w1.fi> <05B92C31-6CFB-4DFD-BCBD-EE5F3472D7B2@deployingradius.com> <20190713142127.GA32230@w1.fi>
To: Jouni Malinen <j@w1.fi>
X-Mailer: Apple Mail (2.3445.102.3)
Archived-At: <https://mailarchive.ietf.org/arch/msg/emu/S37JQ5CXXRFcF30UOcMfBFmWm10>
Subject: Re: [Emu] WGLC completed for for draft-ietf-emu-eap-tls13-05
X-BeenThere: emu@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "EAP Methods Update \(EMU\)" <emu.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/emu>, <mailto:emu-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/emu/>
List-Post: <mailto:emu@ietf.org>
List-Help: <mailto:emu-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/emu>, <mailto:emu-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 13 Jul 2019 14:51:25 -0000

On Jul 13, 2019, at 4:21 PM, Jouni Malinen <j@w1.fi> wrote:
> I'm not sure how I'd feel about EAP-TLS extension that uses actual
> application data when we have EAP-TEAP available for cases that need
> additional data to be exchanged in the tunnel.

  Sure.

> Anyway, this combination
> of server sending one octet (0x00) and peer decrypting the application
> data but ignoring its length and contents is what I ended up
> implementing now. This seems to work fine for the case where
> NewSessionTicket message(s) are used.

  That makes sense.

> I did see some issues when OpenSSL 1.1.1 when disabling sending of
> session tickets, though. The current draft indicates that the empty
> Application Data payload would be send out in the same EAP packet with
> the server's Finished message, i.e., before the server having
> authenticated the peer. And this would be done without the peer having
> used TLS early data (which is explicitly disallowed in the draft). That
> combination did not work with my experiments since OpenSSL was rejecting
> the SSL_write() operation after the server having written own Finished
> message, but before having received the Finished message from the peer.
> The OpenSSL documentation seemed to imply that SSL_write_early_data()
> could be used by the server _if_ the client first sent early data.. At
> least in my tests, OpenSSL rejected that call without early data from
> the client.

  Yes, that's what I've seen, too.

> I may have missed some other part of the OpenSSL API where the server
> could have sent out the Application Data message to the unauthenticated
> peer (if someone knows how to do that, please do let me know), but
> regardless, this design of the EAP-TLS v1.3 server depending on a
> mechanism that need actual application data (even if empty or known one
> octet value) to be sent before having completed authentication of the
> TLS client feels like something that can result in implementation
> complexities with various TLS libraries. Forcing a new session ticket to
> be sent out is a way to work around this, but I'm not sure I'd call this
> ideal.

  I think that's the only practical solution.

  Alan DeKok.