Re: [TLS] [Emu] Fwd: Benjamin Kaduk's Discuss on draft-ietf-emu-eap-tls13-13: (with DISCUSS and COMMENT)

Joseph Salowey <joe@salowey.net> Mon, 01 February 2021 21:52 UTC

Return-Path: <joe@salowey.net>
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 58C813A1507 for <tls@ietfa.amsl.com>; Mon, 1 Feb 2021 13:52:21 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=salowey-net.20150623.gappssmtp.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 LzaFh84v6jyd for <tls@ietfa.amsl.com>; Mon, 1 Feb 2021 13:52:19 -0800 (PST)
Received: from mail-lj1-x230.google.com (mail-lj1-x230.google.com [IPv6:2a00:1450:4864:20::230]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6C25A3A1501 for <tls@ietf.org>; Mon, 1 Feb 2021 13:52:19 -0800 (PST)
Received: by mail-lj1-x230.google.com with SMTP id f19so21560014ljn.5 for <tls@ietf.org>; Mon, 01 Feb 2021 13:52:19 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=salowey-net.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=+O4QVUjjalF3fIPu0HYhzqXhU7TN21lm6zkp5QXjjuE=; b=QE2EJ3YuIjYOvEpJLYf2IHGKjbFX1T7BQMAuqnOeWOhWW++5bb74rua2A+Sm7Zr83b EV6IwIfdU89Dh6tjCs8VUZKWqIErcX1sIFY9SNGN+tdbsyy//jtGq6CNWhyglmKg1ziq nazCYWMiQ1Zblyzo6Qs7bWClTBXfZ6QAy9DNIG/J6DNoP163bA6rcLS4NBx9rFFz0jPg WEpH0Tp33BAbWWJZyBfbFj0QDzqSoFC8O+fK3rOMhyNoeCuUbC/q25D4GZI5zCinBL+X KfIWvoxA0w8yGZwK6X7MNXiNYV0IzKecYOYDNXAX2IuzHJ60W3B0Z2DxWYe0uJlwN0Af IK2A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=+O4QVUjjalF3fIPu0HYhzqXhU7TN21lm6zkp5QXjjuE=; b=HIKq824C1OE7g3Npat5iu+LcSkdAWWHIOiRY3fmbHDfHOQENMvA9YzQsCMqKavaHn1 SspwtfLW8Bhja/ixg85cfP8lzi0Q72t26Aep5tOPWmKunlcDahwe/1qBsPyAc/FulEpH /Aqf7/1pMMouJQe24nNp06kmVe3eRTd/Qt6lj6tFkJf2PgnKy2+l2+bCCJCGoNH7wPYR LHDHu6u02OqcWZTjPk+0+axnpNrUrZHa0bvyKDp60FidVykT5WePRmxOfoHbohMDv6kV nHLZ71GnBNW1EJNSn7zko16dvCBGwXrztB056F3Or7Wxqp5ULKizDBNcy5T9gFaqCODH 6QAw==
X-Gm-Message-State: AOAM532SSfnlNbo5+QYXQLDhLvvePvZ8rs+ZwA+WTIYEE6rQ8xKC60Of GGMrctV9jj6pf0QuEGZ9gw5Q3YrkZArnJ0hkepajrKKqB8o=
X-Google-Smtp-Source: ABdhPJztop/XVDnc+Sv7fjBBT++Kibs9aNHFdCPK4jdvnmxntxwrsSVW3E/0MQaGM/HcxjfMV9YGlxS8WPg1iMeHq1Q=
X-Received: by 2002:a2e:870d:: with SMTP id m13mr11738397lji.64.1612216336480; Mon, 01 Feb 2021 13:52:16 -0800 (PST)
MIME-Version: 1.0
References: <e669002f-caff-1e6e-e28b-d09157eb0c07@ericsson.com> <6241F0B6-C722-449E-AC3A-183DE330E7B5@deployingradius.com> <9ddd1593-3131-f5cc-d0db-74bf3db697bf@ericsson.com> <3CB58153-8CCA-4B1E-B530-BA67A6035310@deployingradius.com> <CAOgPGoA3U+XpZMY7J+KGovNx6MtAdEzRaGW33xVJdQNWSi4LVg@mail.gmail.com> <770e6a49-52fc-4e8b-91af-48f85e581fbb@www.fastmail.com> <CAOgPGoBGOMXH-kMhQSujWxnACdmBL845u0ouE0fUYc4rWtUrZg@mail.gmail.com> <ca4c526e-79a0-4fa7-abda-2b626795f068@www.fastmail.com> <3409F71E-4CE4-46BB-8079-BFBE9BE83C9A@deployingradius.com> <66157321-55DC-4831-8EF2-D75934D9024C@deployingradius.com> <20210129183220.GI21@kduck.mit.edu> <1A830492-3404-4BCC-844B-D7D950458BD9@deployingradius.com> <CABcZeBMAtmPfG0rctvO8UvnhPqY1etk=SxnonP_t6ysNxH7hVA@mail.gmail.com> <D6AAF668-86C8-4C5D-AF1E-B37F106A4D1C@deployingradius.com> <CABcZeBPES99+xo16=aSDJQbGpzM_Q+k-pWtg424Gu4UAcFbo9Q@mail.gmail.com> <FFE1B807-B055-45DF-84FA-A0D63C058729@deployingradius.com> <CABcZeBMeR-kH_P_Lq9X8sOCvZ=u8_tGEOE2QErKX--Tk3cEg=Q@mail.gmail.com> <9E25ADFC-16F2-4719-B223-E34598633D2B@deployingradius.com> <CAOgPGoCANLd0hisu5cLtb=FKa-TKy2ixrSvJ0dAUVLef9F1L0A@mail.gmail.com> <34757A81-4918-4B48-9ECC-533DB861992A@deployingradius.com> <CAOgPGoA1boAcWyV9cn6_uXvCRPEBkAUeg2f8u8FaPPk=54tRSw@mail.gmail.com> <C98C5488-0401-4DB5-9EB2-9AD44287BA7C@deployingradius.com>
In-Reply-To: <C98C5488-0401-4DB5-9EB2-9AD44287BA7C@deployingradius.com>
From: Joseph Salowey <joe@salowey.net>
Date: Mon, 01 Feb 2021 13:52:04 -0800
Message-ID: <CAOgPGoChCZhc9BON0yvV=Zmsudd35dTF6u2tyad5vppQRh1vpQ@mail.gmail.com>
To: Alan DeKok <aland@deployingradius.com>
Cc: Eric Rescorla <ekr@rtfm.com>, EMU WG <emu@ietf.org>, Benjamin Kaduk <kaduk@mit.edu>, "<tls@ietf.org>" <tls@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000098d0805ba4d5e32"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/YnYmSvbwHR4fVJXeGbI_rZKcjkU>
Subject: Re: [TLS] [Emu] Fwd: Benjamin Kaduk's Discuss on draft-ietf-emu-eap-tls13-13: (with DISCUSS and COMMENT)
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.29
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: Mon, 01 Feb 2021 21:52:21 -0000

On Mon, Feb 1, 2021 at 12:04 PM Alan DeKok <aland@deployingradius.com>
wrote:

> On Feb 1, 2021, at 3:00 PM, Joseph Salowey <joe@salowey.net> wrote:
> > [Joe] What purpose is the CloseNotify serving? RFC 5216 does not require
> CloseNotify.
>
>   With TLS 1.2, the server sends TLS Finished to the client *after* it
> sees the client cert.
>
>   With TLS 1.3, the server sends TLS Finished to the client *before* it
> sees the client cert.
>
>   So the question is: when the client sees EAP-Success, has it's
> certificate been verified?  If there's no more TLS exchange server ->
> client, then malicious parties can forge an EAP-Success, and the client
> doesn't know any better.
>
>   This attack isn't possible in TLS 1.2, because the client receives the
> TLS Finished from the server, as a *positive* acknowledgement that the
> server has authenticated the client.  In addition, the TLS exporter keys
> are not available until after the server sends TLS Finished.
>
>
[Joe]   There are some cases the finished will fail (math and path
problems), but  5216 allows for a different flow which is vulnerable to an
early EAP Success:

 In the case where the server authenticates to the peer successfully,
   but the peer fails to authenticate to the server, the conversation
   will appear as follows:

   Authenticating Peer     Authenticator
   -------------------     -------------
                           <- EAP-Request/
                           Identity
   EAP-Response/
   Identity (MyID) ->
                           <- EAP-Request/
                           EAP-Type=EAP-TLS
                           (TLS Start)
   EAP-Response/
   EAP-Type=EAP-TLS
   (TLS client_hello)->
                           <- EAP-Request/
                           EAP-Type=EAP-TLS
                           (TLS server_hello,
                             TLS certificate,
                    [TLS server_key_exchange,]
               TLS certificate_request,
                 TLS server_hello_done)

   EAP-Response/
   EAP-Type=EAP-TLS
   (TLS certificate,
    TLS client_key_exchange,
    TLS certificate_verify,
    TLS change_cipher_spec,
    TLS finished) ->

                           <- EAP-Request/
                           EAP-Type=EAP-TLS
                           (TLS change_cipher_spec,
                           TLS finished)
   EAP-Response/
   EAP-Type=EAP-TLS ->
                           <- EAP-Request
                           EAP-Type=EAP-TLS
                           (TLS Alert message)
   EAP-Response/
   EAP-Type=EAP-TLS ->
                           <- EAP-Failure
                           (User Disconnected)




>   With TLS 1.3, the exporter keys are available *before* the client cert
> has been validated.  This "fast path" helps with non-EAP protocols.  But
> makes life more difficult for EAP.
>
>
[Joe] We can use Ben's suggestion and make the exported keys depend on the
Peer and server's identities or certificates.  But if you are going to want
a protected result indication in EAP-TLS then you cannot end the early.
 5216 does not support protected result indicators, it's not clear to me if
implementations do or not.


>   Alan DeKok.
>
>