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

Mohit Sethi M <mohit.m.sethi@ericsson.com> Fri, 01 January 2021 17:03 UTC

Return-Path: <mohit.m.sethi@ericsson.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 00BEB3A0803; Fri, 1 Jan 2021 09:03:55 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.103
X-Spam-Level:
X-Spam-Status: No, score=-2.103 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, NICE_REPLY_A=-0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=ericsson.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 WsviD6xL_Uyb; Fri, 1 Jan 2021 09:03:52 -0800 (PST)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2067.outbound.protection.outlook.com [40.107.21.67]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0DFC53A07F4; Fri, 1 Jan 2021 09:03:51 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dgX3QQRACSnXin5z8qUAm26ro9ZWsMmG50Y9yXZjCYJDdK2tzRPEUkaAXgJafA4UkYoR9QKk4WaCdM+XTwD9Wkbsdw0yPSSXXtyR80UsZcrShPU9xCToURGO7Hi7KEDCZdVIyblosBYc5yvaWrgM4mhXDmDHXkVV67ncuq8VsYOt5F+0ZG20HUKcFz0bCR4FgGu9qQoVvZLGUVjQSQAC8r5vN5e1uM/tFPOonsYDelShttULE4bomeN+gjJzUNyxiNMAsYwo5LTMl6rjay+UVe55gdFJKoqnGnnV91EeHoyV2uj5+C2/Q7T4WvBzX6AF/66PonEq10bXJqgQJ+E4Zw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=X3aPLy+0yT7Nr97AwPMTmSjYCkfxePedgWJlgL99x0I=; b=cQr2JGAmntNiv0QhUS8K13WJABJA7iGYUga+WQjKNNa1V2HfSubuwaaVWZ0F5rz6DF8thPBbewfaMMGnnYUimh/ED79t8o66DXuovr4HkKon5OGD2YIp0oWKnFG47igRsmCkuSyrABG9IfDHTwPSaNxGD2sc7LBxhhqEsZHRigMZvUfc4Ldhq5uSFqdFou4rixQuQ/T6TvD7v1RSt+lNQWGemxOvAB8Grf9luNqtzgxveNsu2SaeZUi1SPR/PGVjFgUXrAxsXjRqubs2sD+2vAejHUU/4F19IlIIGC5yqHpd3RlM32GpfbCdijD+EF/8V2JJzWbi8AHGrBLL8Ayipw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ericsson.com; dmarc=pass action=none header.from=ericsson.com; dkim=pass header.d=ericsson.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=X3aPLy+0yT7Nr97AwPMTmSjYCkfxePedgWJlgL99x0I=; b=Rs+rdpC3nJeZHV3D/W+i8J2vOCJuqWkLpUC8jh7JkCjdHADX6IW+gflWEUplmR+oh4vzvWRXjwyxj4/k6xy9RRTjYuyjqeBo5874ekB5+SqvwbY7m/tD+GeILp1/JZRtfacx9K3Lfx/joXZSospUF2TWS9jgUZnioUU/mitfvz8=
Received: from HE1PR0701MB2394.eurprd07.prod.outlook.com (2603:10a6:3:70::13) by HE1PR0701MB2729.eurprd07.prod.outlook.com (2603:10a6:3:93::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.4; Fri, 1 Jan 2021 17:03:46 +0000
Received: from HE1PR0701MB2394.eurprd07.prod.outlook.com ([fe80::a012:f1c5:3df:a9d7]) by HE1PR0701MB2394.eurprd07.prod.outlook.com ([fe80::a012:f1c5:3df:a9d7%12]) with mapi id 15.20.3742.004; Fri, 1 Jan 2021 17:03:45 +0000
From: Mohit Sethi M <mohit.m.sethi@ericsson.com>
To: Benjamin Kaduk <kaduk@mit.edu>, The IESG <iesg@ietf.org>
CC: "draft-ietf-emu-eap-tls13@ietf.org" <draft-ietf-emu-eap-tls13@ietf.org>, "emu@ietf.org" <emu@ietf.org>, Joseph Salowey <joe@salowey.net>
Thread-Topic: Benjamin Kaduk's Discuss on draft-ietf-emu-eap-tls13-13: (with DISCUSS and COMMENT)
Thread-Index: AQHW0/v3Sc9XnYEKVU2ViWlCU2YXaqoTGCcA
Date: Fri, 01 Jan 2021 17:03:45 +0000
Message-ID: <6019f95d-b38f-443d-4ca9-977d5bb50e6a@ericsson.com>
References: <160815821055.25925.15897627611548078426@ietfa.amsl.com>
In-Reply-To: <160815821055.25925.15897627611548078426@ietfa.amsl.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0
authentication-results: mit.edu; dkim=none (message not signed) header.d=none;mit.edu; dmarc=none action=none header.from=ericsson.com;
x-originating-ip: [87.93.129.208]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: bc9ba723-3a16-48f0-ddec-08d8ae773348
x-ms-traffictypediagnostic: HE1PR0701MB2729:
x-microsoft-antispam-prvs: <HE1PR0701MB2729939403413C6BCE01D2A4D0D50@HE1PR0701MB2729.eurprd07.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: PQssUdnQn3H7eBYK1nKCBc1v1IWQNPeId78C9AUfN+vBQYjWi5bnDvxVUUulwFVzU3qIgpxb6Pe79r8aGcxo5HOKslTdduxn4zinwxUEq+m3xXBzZXP3OK8DUURzQiYGDgiF22SX9Umj3kD5VqMFDH61vJEJtzQ8Dv7FDd13etwyrDlE8EWblI4juMeOMNwuOiHkMaDR7vOPS1ksvZBpR3B3l60yKZSDqm2wE5djS3ltnTwx7rFYka2zhSe9G1T3B70MTck3zrOyTcsTaqbaifQQpY+NdiIpfyO3ONg4da1YPrTiIbuitkCtX3NOLV4MRspbRBzh08WZ7E6NW5OGJzDGyUl7h6N9Sl6Y952X2Rn0gh5j8PJJE4b6oWsZGa3RcLpngLB/pLRSwYEP/b4uGI1uOgl3GArfchq+utzHDWM2a6uOESWvFQIHZwo6PIuwuz2sz9nTnHTrqwLVn9ZltJHo9yvPd5VH8Lew+xvT9skkTJFBRI/ODUS0fD3Fz3qHMrhVekN0x2kyc+amZRE6i2Rxqs2olLWg+uvE0WfzqVeYdBKQh6McBkZZadamy9CY
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:HE1PR0701MB2394.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(39860400002)(396003)(376002)(136003)(346002)(366004)(66476007)(66446008)(31686004)(71200400001)(186003)(26005)(6506007)(4326008)(86362001)(5660300002)(76116006)(66946007)(316002)(64756008)(66556008)(2616005)(83380400001)(36756003)(54906003)(110136005)(8936002)(966005)(31696002)(478600001)(6486002)(8676002)(2906002)(6512007)(43740500002)(45980500001); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata: 87qDa8DQyeQEWwXEHsmHHQ+ab2QJyRYgMkqwAco5GWLlwjHzXpYvxGlIlVpt9cMZTfn+sR2vpQbpzT7buyJispYQdTMPBfvUMy04uHQVAOmaqJ0OZFyifT+QgNGMQoI2VSntW10Y8u6FXBtBiUihVI/LNlhJKrtkjdEDDjvL4e1nykatEHnGWeU2loMcAKv8YYfEPb4VvG34KPOAOzV6HCD5R0rmfVIizrzJ2CF1AH3RmQl09p+gzd5McFdyrbIJ3LZpw8c3/ZxrvNns7+ZQXDiRCRlXcZLkOCE8sihZEGNnEV6TMtcE2VbrLfdf/WrGZuwcYzklKleZhcN39IQes3ltFP620yDIP2oI8xtr13ekjzTxlA4NTwpVyFFyx09+jy63cPP/dVjHnuYc05ugssavYS/VRTMO9bnLbTjkithjwCgsA+g4UQRx3SuX9QAsdHEhDjRexTuMsB5ZjeIHH2EIeYHun3TtSQBQiVl7d2w9ufuA33ga/YCHHovPYDd+F9t70qn5SUeP3nv9b3LDVXBXjEOsf5mb/3jwEdPugtUfGzUyKBTMY2sjix8paVURZmMAAPEfPieBIosaKy1ikziTGvQYreO+SRNuhiPLslQCUQzMMXDPQp5Ep3HNpiRMwUJM0FVQDSu0A2B6hIycUsiGlOMpeOAN7/n4SUIUd5HFjOCN3jj3GL1zPSVBNQkWyqcyI27BWZLBIrzRSjyz4E0vD6FuvtRdA6ySpjBr6HC8Mq9Ao7aXxg9uJlRLe0xGi+lh5TbGzl23eNdwSMoyF3LAF98kPDxf/CiCVrlNMWlQ8elC9AT0mznViI/JDKViGBu/u/BO24cqbEDu6d4YTmFddCwn7lGeHYC4z3bRFCo+paGe4Cw5rL9O3RZ5Egn6j7TuSreK3rOgB+JY9iPAKk68Zq0PGHYGaVFhpu9A9iPokHZ8Lsy+SYDapQZNMGIjGqFfaLuH/k6wWksdC6fmS/8QiGlbXkYuFbxTtpapMJ0=
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-ID: <D0C129A8FEB2844D837F73AB18517048@eurprd07.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: ericsson.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: HE1PR0701MB2394.eurprd07.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bc9ba723-3a16-48f0-ddec-08d8ae773348
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Jan 2021 17:03:45.6730 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 92e84ceb-fbfd-47ab-be52-080c6b87953f
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: xdKdm8WwxHiBxIB4LxS9Ro7vF7p6NDTZNluLpLQaaeK9JZXSdWZHLyTsMlyhC7B8kzOXlIifMjm1wtfUFDIxt+bTaOEh2ZQvKPHV0vrVo+E=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0701MB2729
Archived-At: <https://mailarchive.ietf.org/arch/msg/emu/DDcszqOSaKPo5erh8_BlYyZO7f8>
Subject: Re: [Emu] Benjamin Kaduk's Discuss on draft-ietf-emu-eap-tls13-13: (with DISCUSS and COMMENT)
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: Fri, 01 Jan 2021 17:03:55 -0000

Hi Ben,

Thanks for the usual detailed feedback. I haven't yet addressed all the 
comments in your COMMENT section. Below, I copy the comments which have 
now been addressed in github: 
https://github.com/emu-wg/draft-ietf-emu-eap-tls13/commit/901a28578c65b8b483eecf6394cfc218b3d02f2b

> Using BCP195 as the slug is probably preferred, since any RFCs
> associated with the BCP are going to be relevant and topical
Done! I think. Not sure if this is the right way to do it : <xref 
target="RFC7525">BCP 195</xref>?

> Section 5.9
>
>     Pervasive monitoring refers to widespread surveillance of users.  In
>     the context EAP-TLS, pervasive monitoring attacks can target EAP-TLS
>
> nit: "context of"
Fixed. Also reported by Erik Kline!

>     static RSA based cipher suites without privacy.  This implies that an
>     EAP-TLS peer SHOULD NOT continue the handshake if a TLS 1.2 EAP-TLS
>     server responds to an empty certificate message with a TLS alert
>     message.
>
> Just to check my understanding, this "response" would be an EAP-TLS
> response containing a new ClientHello (that would proceed to do a
> handshake including the client certificate in the unprotected initial
> handshake)?  That is, it would be a response at the EAP layer but not at
> the TLS layer.
In EAP, servers send EAP-Request and peer send EAP-Response. I changed 
the text somewhat. It now reads "Therefore, it is RECOMMENDED for 
EAP-TLS peers to not use EAP-TLS with TLS 1.2 and static RSA based 
cipher suites without privacy. This implies that an EAP-TLS peer SHOULD 
NOT continue the handshake if a TLS 1.2 EAP-TLS server sends an 
EAP-TLS/Request with a TLS alert message in response to an empty 
certificate message from the peer." Other suggestions to improve are 
welcome.

>   and only using the pseudo-random usernames a single time.  Note that
>     the privacy-friendly usernames also MUST NOT include substrings that
>     can be used to relate the identity to a specific user.  Similarly,
>     privacy-friendly username SHOULD NOT be formed by a fixed mapping
>     that stays the same across multiple different authentications.
>
> I think that violating the SHOULD NOT would intrinsically violate the
> preceding MUST NOT ... so should they both be MUST NOTs
Changed to MUST NOT.

> Section 5.8
>
>     Tracking of users by eavesdropping on identity responses or
>     certificates is a well-known problem in many EAP methods.  When EAP-
>     TLS is used with TLS 1.3, all certificates are encrypted, and the
>     username part of the identity response is always confidentiality
>     protected (e.g. using anonymous NAIs).  [...]
>
> As written this applies to server certificates as well as TLS client
> certificates.  For which the statement is technically true, but with the
> caveat that it is typically easy to persuade the server to (re-)send
> those same certificates encrypted to a key known to the attacker, so the
> protection provided by the encryption is limited.  (The server has been
> fairly strongly authenticated by the time the EAP peer makes the
> decision to send its certificate, so there the reverse situation is
> different.)
Added a sentence to note this: "When EAP-TLS is used with TLS 1.3, all 
certificates are encrypted, and the username part of the identity 
response is always confidentiality protected (e.g., using anonymous 
NAIs). Note that even though all certificates are encrypted, the 
server's identity is only protected against passive attackers while 
client's identity is protected against both passive and active 
attackers. As with other EAP methods, even when privacy-friendly 
identifiers or EAP tunneling is used, the domain name (i.e., the realm) 
in the NAI is still typically visible."

>     Section 4.2.11, 8.1, and 8.2 of [RFC8446] provides security
>     considerations for resumption.
>
> I'm curious why specifically § 8.1 and 8.2 were selected, given that §8
> as a whole is about "0-RTT and Anti-Replay", which is a more specific
> topic than just resumption.
Updated to section 2.2 and 4.2.11 of RFC 8446.

>     Where a good decision is unclear, EAP-TLS servers SHOULD reject the
>     resumption.
>
> I suggest "reject the assumption and continue with a full handshake".
Makes sense. Done!

>     If any authorization, accounting, or policy decisions were made with
>     information that have changed between the initial full handshake and
>     resumption, and if change may lead to a different decision, such
>     decisions MUST be reevaluated.  It is RECOMMENDED that authorization,
>     accounting, and policy decisions are reevaluated based on the
>     information given in the resumption.  [...]
>
> I'm not sure I understand how these two sentences fit together.  Is it
> trying to say that "if there could be a different decision, you
> definitly have to re-check, and we recommend just always re-checking
> since that's timpler"?
Yes.

> Section 5.7
>
>     and the authorizations of the other party may have been reduced.  If
>     the cached revocation is not sufficiently current, the EAP-TLS peer
>     or EAP-TLS server MAY force a full TLS handshake.
>
> nit: s/cached revocation/cached revocation data/
>
>     in the certificate chain has been revoked or has expired.  In all
>     such cases, resumption results in a full TLS handshake instead.
>
> nit: s/resumption results/an attempt at resumption results/ (or similar)
Fixed.

> Section 5.5
>
> It seems like there may be some scope for improvements on the RFC 5216
> behavior here.  For example, what if we used the EAP Type field as the
> TLS Exporter 'context' argument, instead of the literal 0x0D?  That
> seems like it would prevent the modification from successfully causing a
> different TLS-based EAP method to be used, by using a different
> key-derivation formula, exactly as postulated by RFC 5126.
0x0D is the EAP type for EAP-TLS: 
https://www.iana.org/assignments/eap-numbers/eap-numbers.xhtml#eap-numbers-4

>     To enable revocation checking in situations where EAP-TLS peers do
>     not implement or use OCSP stapling, and where network connectivity is
>     not available prior to authentication completion, EAP--TLS peer
>     implementations MUST also support checking for certificate revocation
>     after authentication completes and network connectivity is available,
>     and they SHOULD utilize this capability by default.
>
> If it's RECOMMENDED to use OCSP stapling, what does it mean that they
> "SHOULD utilize this capability by default" (as well)?
>
> (Also, nit: only one '-' in EAP-TLS.)
Fixed the nit. This text was based on RFC 5216 which says " MUST also 
support checking for certificate revocation after authentication 
completes and network connectivity is available, and they SHOULD utilize 
this capability by default.". I have now tried to reformulate as "To 
enable revocation checking in situations where EAP-TLS peers do not 
implement or use OCSP stapling, and where network connectivity is not 
available prior to authentication completion, EAP-TLS peer 
implementations MUST also support checking for certificate revocation 
after authentication completes and network connectivity is available, 
and peers SHOULD utilize this in the absence of other revocation 
checking mechanisms.". Other suggestions are welcome.

>     TLS, see Section 4.4.2.1 of [RFC8446].  In TLS 1.3 the OCSP
>     information is carried in the CertificateEntry containing the
>     associated certificate instead of a separate CertificateStatus
>     message as in [RFC4366].  This enables sending OCSP information for
>
> RFC 4366 seems like a stale (obsolete) reference, and RFC 6066 should be
> preferred.  (RFC 4366 would then become an unused reference, I believe.)
Thanks. Fixed.

>     [3] Key strength: TLS 1.3 forbids all algorithms with known
>     weaknesses including 3DES, CBC mode, RC4, SHA-1, and MD5.  TLS 1.3
>
> Where does RFC 8446 forbid 3DES?  CBC is forbidden by the requirement to
> be AEAD, and RC4 and MD5 are explicitly forbidden, but the situation for
> SHA-1 is more subtle.  Please reword this sentence to be accurate.
Updated to: "TLS 1.3 forbids algorithms such as RC4 and MD5 which have 
known weaknesses."

> Section 5.1
>
>     [2] Confidentiality: The TLS 1.3 handshake offers much better
>     confidentiality than earlier versions of TLS by mandating cipher
>     suites with confidentiality and encrypting certificates and some of
>     the extensions, see [RFC8446].  When using EAP-TLS with TLS 1.3, the
>
> I note that there exist codepoints for TLS 1.3 ciphersuites that do not
> provide confidentiality protection.  Please point to the part of RFC
> 8446 that mandates this behavior.
The text now says "The TLS 1.3 handshake offers much better 
confidentiality than earlier versions of TLS. The mandatory to implement 
cipher suites of [RFC8446] ensure confidentiality. TLS 1.3 also encrypts 
certificates and some of the extensions. When using EAP-TLS with TLS 
1.3, the use of privacy is mandatory and does not cause any additional 
round-trips."

>     username in cleartext in the Identity Response.  Following [RFC7542],
>     it is RECOMMENDED to omit the username (i.e. the NAI is @realm), but
>     other constructions such as a fixed username (e.g. anonymous@realm)
>     or an encrypted username (e.g.  YmVuZGVy@realm) are allowed.  Note
>
> (I note that YmVuZGVy is just base64("bender"); does that really count
> as "encrypted"?)
Updated to xCZINCPTK5+7y81CrSYbPg+RKPE3OTrYLn4AQc4AC2U=@realm.

> Section 2.1.6
>
>     the handshake.  One use case is if the EAP-TLS server does not
>     support the groups in the "key_share" extension, but supports one of
>
> I'd consider adding a parenthetical "(or there is no "key_share"
> extension)".
Done.

--Mohit