Re: [Lake] January lake wg virtual interim webex details

Göran Selander <goran.selander@ericsson.com> Mon, 13 January 2020 13:59 UTC

Return-Path: <goran.selander@ericsson.com>
X-Original-To: lake@ietfa.amsl.com
Delivered-To: lake@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 36C9012004F for <lake@ietfa.amsl.com>; Mon, 13 Jan 2020 05:59:14 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.001
X-Spam-Level:
X-Spam-Status: No, score=-2.001 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-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 prHbnjgzGLOB for <lake@ietfa.amsl.com>; Mon, 13 Jan 2020 05:59:10 -0800 (PST)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2087.outbound.protection.outlook.com [40.107.21.87]) (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 9B405120103 for <lake@ietf.org>; Mon, 13 Jan 2020 05:59:09 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gkwlV3oeAVskH3zxTAKz99p3zScKE5dsaFHA5wYeb/90fho6Qg9h9X4xq92G6GII2P76pjm2SlfnFHJepTv2F8fGUsUqvmY2n5rUMjBbWDb/X4XykqlberBFhcTtRA7TQ/46f9Veg5bfB+5KP+wox643fExk9uwnr/M7kvkPR4nrg+289ZVMx1TdE6y/fpE67qI/DcVKcEiIL11WT4MNssn3zHv4OQZ2xAkNGMPe48ZXsHEGEWkh0wcWNWITXVPCFYVW9fiujI+Oavf4gFWHNy9RXL1xqPNL/8fmzLCXZ7JpYjZH62btSubhrB8iW6scoIVs+/ro5NNxUW57Vkt4Ow==
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=P5CG33bvrfWsrWhODPyY8pw3PnHPZ4NDLxVEJjSqf4o=; b=XtxPFH3K61OwJWgYzOJEzXyCCxOcPGfCx7btooy71p2d2W7Ejt01B25vDnQqPgS6TYJMdYXJnNtzAWsOU0SH63ZMImMqMwJkXtReu4cFS5lH7pJu32KoBVsQNqAZhdJ/+CAVLmYLKsh8ZVL3f+hetUbaflZwNGNmbR1mQfO+/MgwNJruUKxE4pRXT7pxUjNXpU7fknTKqmN8FNFhpdDuKI6t8W6m/esxjfBBp20M5g+HZ+krmfRutruuOb//kg1SYva+a1YZZg5e2LvoJEhwY500ycUZ7Lqnq0kINeV8Ec2hj3vocXuPNWmUs2j12gNyU+IGYfaIGKM9gFZGEwLy5A==
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=P5CG33bvrfWsrWhODPyY8pw3PnHPZ4NDLxVEJjSqf4o=; b=d3n174glIereGjWjXSsT2oNKnELrrFeGWW1DEBeHZGY5FHV+AHBSRyT10Zi2G1bONxncMZaWkbt8lU4vpisEWMXw9F5ZfcIsZkpV7fDblppjWqcR2Oe1DLuGHVFZcnX13nODTzyRw4ksIgxm35xzQ3MxvATQzRSJsQFszk2ILaI=
Received: from HE1PR07MB4172.eurprd07.prod.outlook.com (20.176.163.140) by HE1PR07MB3212.eurprd07.prod.outlook.com (10.170.243.147) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2644.5; Mon, 13 Jan 2020 13:59:07 +0000
Received: from HE1PR07MB4172.eurprd07.prod.outlook.com ([fe80::538:4bc2:5936:6252]) by HE1PR07MB4172.eurprd07.prod.outlook.com ([fe80::538:4bc2:5936:6252%3]) with mapi id 15.20.2644.015; Mon, 13 Jan 2020 13:59:07 +0000
From: Göran Selander <goran.selander@ericsson.com>
To: Eric Rescorla <ekr@rtfm.com>
CC: "lake@ietf.org" <lake@ietf.org>, Stephen Farrell <stephen.farrell@cs.tcd.ie>
Thread-Topic: [Lake] January lake wg virtual interim webex details
Thread-Index: AQHVtRn8YVwfhvlN10qeZvLsfFU506fDLTMAgAyyFQCAErcKAIADdwUAgALMdQA=
Date: Mon, 13 Jan 2020 13:59:06 +0000
Message-ID: <85F699EA-CEC2-4D35-AF9D-9206CA0409DE@ericsson.com>
References: <4cb9f698-d7b6-2f5d-c853-1679ea6ddd8f@cs.tcd.ie> <3d77de35-8a6a-82ee-bb05-4de0e716d731@cs.tcd.ie> <34e0d061-e826-6c9d-6fee-3ea81915fedb@cs.tcd.ie> <D0083AF6-A7E4-4E00-90A2-E4E38C269C12@ericsson.com> <CABcZeBNBGLFt8ns1chCiKuYH_4CYJj+32hSH2wu1PrFS1iPcww@mail.gmail.com> <4DF53144-9195-42F1-8BB1-2F968A0894A2@ericsson.com> <CABcZeBNmmNk1tdS1A0v==UGkyDFAG0SaMAFMkK26vP-kAE4Wfg@mail.gmail.com>
In-Reply-To: <CABcZeBNmmNk1tdS1A0v==UGkyDFAG0SaMAFMkK26vP-kAE4Wfg@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/10.20.0.191208
authentication-results: spf=none (sender IP is ) smtp.mailfrom=goran.selander@ericsson.com;
x-originating-ip: [192.176.1.87]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: e12192fd-3fa7-47c8-34dc-08d79830c1a0
x-ms-traffictypediagnostic: HE1PR07MB3212:
x-microsoft-antispam-prvs: <HE1PR07MB3212D3772853F3643D5CC888F4350@HE1PR07MB3212.eurprd07.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-forefront-prvs: 028166BF91
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(376002)(346002)(39860400002)(396003)(136003)(366004)(189003)(199004)(26005)(966005)(36756003)(86362001)(66574012)(2906002)(478600001)(85202003)(2616005)(91956017)(6486002)(316002)(54906003)(85182001)(33656002)(30864003)(6506007)(53546011)(186003)(5660300002)(76116006)(6916009)(4326008)(71200400001)(8936002)(66946007)(8676002)(81166006)(81156014)(66476007)(66556008)(64756008)(66446008)(6512007); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR07MB3212; H:HE1PR07MB4172.eurprd07.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1;
received-spf: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 05GB4XPw9jHoC5sdhEHYkoRynLatMmReN3j5R09WNKwaQj/8GadfedamqEFISipqhQz2K/je/nHWbRifq5UoqoEAgll5PNsf/RR6yEC/Prcx97nvBQa4qqEfOfTFppba/UvO5SyWRmo/MgmN+TCQ9JJ9jTi2fQ1oetlop5lqvMr0M84JyYhQyjblcSVe/pKdtmN8z19orWBVtoQOh/A1kvlWydqIOwsMyv6BLG1npmUg8vcejqCyCDHGsjG6g+QhaOOKrGMM/RD2wki1aiciqMnLTbLkj4KwWMSI62De5yv9/IMlrngAeJxnAui44Kp2qNMSxqbo69NZyn5ORodF7GSGPKOI/1cSsAv5NiKZ1NgOuGRcR8foRG0Wm4zER5lkzpuKEBo0V2L1khcMwJAHLdvCbW+OYIG0tSieKgBJ9y65JNcWjHXhT0cGMT6o80n/xisYvxmcRxD3U7sVhMaAb7V1xf70fD5QbbwTKpjogJ4=
x-ms-exchange-transport-forked: True
Content-Type: multipart/alternative; boundary="_000_85F699EACEC24D35AF9D9206CA0409DEericssoncom_"
MIME-Version: 1.0
X-OriginatorOrg: ericsson.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e12192fd-3fa7-47c8-34dc-08d79830c1a0
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Jan 2020 13:59:06.8739 (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: tyHO551OLi7iKzCthDYNwYSVy+vAM68+z4XNA/geMBdgSZ5SGDTVxVlTc0fkYKXH7AYHRmdoRd7zn3eXRN3U+A0XtVymg21K6AO/GO9zG7k=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR07MB3212
Archived-At: <https://mailarchive.ietf.org/arch/msg/lake/NRZZxMquXDalGICn4evaO6pxzFo>
Subject: Re: [Lake] January lake wg virtual interim webex details
X-BeenThere: lake@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Lightweight Authenticated Key Exchange <lake.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/lake>, <mailto:lake-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/lake/>
List-Post: <mailto:lake@ietf.org>
List-Help: <mailto:lake-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/lake>, <mailto:lake-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 13 Jan 2020 13:59:14 -0000

Thanks for the response. On request I made Github issues [1] of some of these points, more details inline.

[1] https://github.com/lake-wg/reqs/issues


From: Eric Rescorla <ekr@rtfm.com>
Date: Saturday, 11 January 2020 at 21:15
To: Göran Selander <goran.selander@ericsson.com>
Cc: "lake@ietf.org" <lake@ietf.org>, Stephen Farrell <stephen.farrell@cs.tcd.ie>
Subject: Re: [Lake] January lake wg virtual interim webex details

Thanks for your response. I reformatted your message a bit to make the
quoting clearer and responded below.

> > > 1. Public key credentials
> > >
> > > Both public key certificates and raw public keys need to be
> > > supported. Certificates are needed for generic zero-touch
> > > deployment. Raw public key is a significant message size optimization
> > > if the public key is already trusted. Two different public key types
> > > have been discussed: public signature keys and static Diffie-Hellmann
> > > keys. In the latter case signatures are replaced with MACs leading to
> > > a significant reduction of message size. Hence static DH keys are
> > > desirable to support.
> > >
> > > Working assumption: support for signature based and static DH based
> > > authentication.
> >
> > Yes, I think I agree with this, but as soon as you introduce
> > this much flexibility, we have to ask whether it's negotiable
> > or whether you just assume that the RP will support whatever
> > the AP wants to offer. My sense is that negotiable is actually
> > required in at least some cases, but maybe others feel
> > differently.
> >
> >  GS: Agree about negotiation. Responder needs to be able to verify which method is being used.
> >
> > > 2. Mixed credentials
> > >
> > > Mixed credentials, one party certificate and the other RPK, are
> > > motivated by a use case. Because of 1 we also need to support mixed
> > > types of public key credentials.
> > >
> > > Working assumption: support for mixed signature and static DH based
> > > authentication.
> >
> > Agreed.
> >
> >
> >
> > > 3. PFS against compromise of which key material?
> > >
> > > Examples:
> > >     - protection against the loss of long-term keys at the initiator
> > >     - protection against the loss of long-term keys at the responder
> > >     - protection against the loss of ephemeral keys
> > >     - protection against a bad RNG at initiator or responder
> > >
> > > Working assumptions:
> > >     - Protection against loss of long-term keys at initiator and responder.
> > >     - Protection against bad RNG using randomness improvements such as
> > >       draft-irtf-cfrg-randomness-improvements and analogously for
> > >       symmetric keys
> >
> > Agreed.
> >
> >
> > > 4. Number of round trips/messages and frame sizes
> > >
> > > Mutual authentication requires at least 3 AKE messages. In radio
> > > technologies such as 6TiSCH and LoRaWAN performance is affected by AKE
> > > messages fitting into radio frames. The amount of data available for
> > > AKE messages is not fixed but depend on radio configuration such as
> > > scattering factors, data rates, number of hops etc.
> > >
> > >     - The AKE could be spread out over 4 messages of smaller size
> > >       (compare SIGMA-I and SIGMA-R). In principle, for certain AKE
> > >       message sizes and radio configuration, the number of radio
> > >       frames could be smaller with 4 AKE messages instead of 3. In
> > >       practice, the number of radio frames may be either smaller or
> > >       larger with 4 AKE messages instead of 3.
> > >
> > >     - With 3 AKE messages, the OSCORE request may be sent together
> > >       with AKE message 3 resulting in 1 round trip before sending
> > >       encrypted traffic data. If the AKE has 4 messages, then the
> > >       protocol is never 1 RTT before traffic data, which increases the
> > >       time for completing the protocol.
> > >
> > >     - Experience from IKE shows that 4 messages are preferred for
> > >       unreliable transport such as UDP. For LAKE, however, we assume
> > >       transport over CoAP or other reliable transport.
> > >
> > > Working assumption: The AKE shall have 3 messages.
> >
> > It's probably useful to distinguish *messages* from *flights*. I agree
> > that we want three flights, but it seems clear that for some radio
> > technologies, it's not possible to get a full signature-based
> > exchange in three frames, so there needs to be fragmentation
> > somewhere. The question then becomes where that fragmentation
> > should happen and whether the AKE should be aware of it. That
> > seems like a more complicated question, especially with very
> > small frame sizes.
>
> GS: I didn’t understand the difference. Current terminology is in
> terms of “messages” (AKE units) and “frames”/”packets” (radio layer
> units). We want to minimize the number of radio layer units needed,
> but technology, regulations, configuration, etc. affect the size of
> the radio layer units. As you say, the AKE message may be fragmented
> by lower layers, but I don’t think we can require that the AKE layer
> to be aware or have any control of that.

Well, we might not *require* it, but it's quite possibly beneficial to
have it be aware of it.  To take an example: DTLS has an internal
fragmentation mechanism which allows for messages to be split over
multiple UDP datagrams. sThis has various advantages over IP
fragmentation, including (1) working in places where fragments are
blocked and (2) partial retransmission (DTLS 1.3 only). In some
discussions, I've heard it said that in general it's advantageous not
to rely on lower layer fragmentation. So, this seems like something we
should try to flesh out.

GS: I don’t know how to formulate a Github issue on this point but I added a terminology issue (#2). I agree that it may be beneficial to be aware of fragmentation, to the extent that is possible in specification time. We require support for transport over CoAP which has its own fragmentation, retransmission, etc., which the AKE is expected to reuse, but we also allow other transport.


> > > 5. Number of round trips/messages and identity protection
> > >
> > > What identifying information shall be protected against what
> > > adversaries? As much as possible of the identifying information should
> > > be protected, but protecting all identifying information has impact on
> > > the properties, in particular number of messages/round trips.
> > >
> > >     - Encrypting PSK identity with DH shared secret protects against
> > >       passive network adversaries, but does not allow authentication
> > >       of responder within 3 messages
> > >
> > >     - Encrypting crypto algorithms does not allow negotiation of
> > >       cipher suite within 3 messages
> > >
> > >    - Encryption of connection identifier only works in asymmetric case
> > >      and does not results in arbitrarily short identifiers
> > >
> > >  Working assumption: The following data need not be encrypted:
> > >     - PSK identifier
> > >     - cipher suite
> > >     - connection identifier
> >
> > Agreed.
> >
> >
> > > 6. Application data
> > >
> > > Applications may want to transport application data within the AKE to
> > > reduce round trips and number of messages.
> > >
> > > Working assumptions:
> > >    - The protection properties of the application data provided by the
> > >      AKE depends on which protocol message (see Section 2.6 of [00])
> > >
> > >    - The application data must not violate the AKE security
> > >      properties. The assumptions on the application data needs to be
> > >      detailed by the specification.
> >
> > Hmm.. Maybe. I think this gets back to the question of messages
> > versus flights. I agree that you want to be able to send application
> > messages in the same flight as AKE messages, but "within the AKE"
> > seems too strong, and would violate key separation.
>
> GS: Right, the formulation “within the AKE” is not optimal, we should
> change that. What is meant is in the same message/flight as the AKE
> message, i.e. together with the AKE message. Now key separation
> impacts the message size, so there is a tradeoff to make here. It
> would be good to list what kind of key separation is actually
> important. Separation between flights/messages, separation between
> traffic data and session resumption, they both seems relevant. But it
> was not clear to us that the attack surface is expanded in any
> significant way with using a separate key for one flight and the kind
> of application data we expect to be used in this flight like an access
> token, authorization voucher, etc.  One interesting comparison is with
> certificates, would you require a separate key to encrypt the
> authentication certificate in the AKE?

No. What I mean here is that tou want to use separate keys to encrypt
the AKE messages (if they are encrypted as they are here) than the
keys used to encrypt the application messages. That allows you to
analyze the AKE in isolation and make statements about its properties
no matter how the application protocol behaves (for instance, if it
has a decryption oracle).

This is doubly important in situations where the record layer is
providing some of the security of the AKE (e.g., integrity of
negotiation and/or liveness), as opposed to just confidentiality for
the AKE messages.


GS: The point I was trying to make is that the kind of data we expect to transport in “Application Data”, e.g. an authorization voucher, could be similar to that contained in an authentication certificate, which are typically not protected with separate keys.  I’ve added a general issue (#4) about key separation.



> > > > > 7. PAKE support
> > > > >
> > > > > LAKE is focused on the setting of low latency, large number of
> > > > > devices, automated deployment, e.g. industrial IoT. The use of
> > > > > passwords has not been requested in this context.
> > > > >
> > > > > Working assumption: PAKEs are out of scope for this version
> > > >
> > > > Agreed.
> >
> >
> > > 8. PQC support
> > >
> > > There are currently no standardized PQC key exchange algorithms.
> > >
> > > Working assumption: PQC is out of scope for this version
> >
> > Well, sort of. It would be bad if we couldn't easily add PQC,
> > but I agree we don't need to standardize it now.
>
> GS: I think we agree on this. PQC signatures should be straightforward
> to add, but less clear what change a PQC key exchange would
> require. Also, that would probablynot be suitable for the most
> constrained setting.

I think it depends on what we end up with.

GS: I’ve added an issue (#5) on PQC requirement formulation.


> > > 9. Selfie attack
> > >
> > > The protocol is assumed to be two-party PSK, i.e. need not protect
> > > against attacks when more than two parties share keys.
> > >
> > > Working assumption: The AKE need to protect against reflection attacks
> > > but need not protect against attacks when more than two parties
> > > legitimately share keys.
> >
> > Agreed on the second point. I'm not yet sure if we need internal
> > anti-reflection mechanisms or just key role sepatation.
>
> GS: The intention with “the AKE need to protect against reflection
> attacks” was as a high level requirement without go into the solution
> space. Key role separation is one solution. Can we formulate the
> requirement better?

I'll give it some thought.

GS: I’ve added an issue (#6) on listing of specific attacks.


> > > 10. Extensibility
> > >
> > > By supporting COSE, the AKE supports new algorithms, new certificate
> > > formats, ways to identify credentials, etc. The AKE may need to
> > > support new AKE methods, e.g. to later add PAKE support. Since
> > > simplicity is one objective with this work, care needs to be taken to
> > > avoid extensions working against this.
> >
> > I'm not sure I understand what this means in practice.
>
> GS: This was an attempt to say that there is a trade-off between
> extensibility and complexity. Future extensions may have different
> objectives, but the current version of the protocol must not become
> heavy just to incorporate a generic extension mechanism. Other
> formulations are welcome.

I think I mostly agree with this, but it's not clear to me that
it's not worth paying *anything* for extensibility now (for instance
we are agreed we need extensibility of algorithms). This seems like
it's just going to be a judgement call, not a requirement.

GS: I’ve added an issue (#7) on extensibility vs. complexity



> > > 11. Support for different MACs in AKE and OSCORE
> > >
> > > Longer MAC length for AKE than OSCORE may give better security
> > > properties.
> > >
> > > Working assumption: The AKE shall support different AEAD/MAC
> > > algorithms for OSCORE and AKE
> >
> > This seems unnecessarily concrete. I tend to think we want to uplevel
> > the question and ask what the security requirements for the AKE are as
> > compared to the transport (OSCORE). This pulls in questions of key
> > separation, strength of the handshake integrity check, etc., but
> > it's not limited to OSCORE MAC.
>
> GS: This is a good discussion point for the interim. OSCORE needs
> AEAD, HKDF, Master Secret, Master Salt and Connection IDs. The
> potential relationship/independence between these and those of the AKE
> are relevant to document. Was this what you were thinking of? Göran

Maybe.

My primary point here (and I think Karthik has made this as well)
is that it's important that the AKE be covered by a full strength
integrity check. There are a number of ways to do this depending
on the overall architecture of the system.

GS: I’ve added an issue (#8) on strength of the handshake integrity check

Göran