Re: [Iot-onboarding] [Secdispatch] DANE IOT proposed outcome

Phillip Hallam-Baker <phill@hallambaker.com> Mon, 30 November 2020 16:20 UTC

Return-Path: <hallam@gmail.com>
X-Original-To: iot-onboarding@ietfa.amsl.com
Delivered-To: iot-onboarding@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7B3583A0E1A for <iot-onboarding@ietfa.amsl.com>; Mon, 30 Nov 2020 08:20:24 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.4
X-Spam-Level:
X-Spam-Status: No, score=-1.4 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no 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 2BvN8eo63kUE for <iot-onboarding@ietfa.amsl.com>; Mon, 30 Nov 2020 08:20:22 -0800 (PST)
Received: from mail-yb1-f174.google.com (mail-yb1-f174.google.com [209.85.219.174]) (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 9EADA3A0E15 for <iot-onboarding@ietf.org>; Mon, 30 Nov 2020 08:20:22 -0800 (PST)
Received: by mail-yb1-f174.google.com with SMTP id t33so11926436ybd.0 for <iot-onboarding@ietf.org>; Mon, 30 Nov 2020 08:20:22 -0800 (PST)
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=AqlOfFHqNSuhczsysnu4CMNkv+Fxcy17Ch87kIZ0/NE=; b=DZ4A4xSyeXSbSimu97vmQ0ktDSn/oSJiRc/rBvp2WZCgcB7aZj/mt0Zzb1t8zJpVnR NVbF/WcaLn4bN/fkGO9LJtmD4N3g4iWSQ8puyD+jNs6kR6Mkh3svpY4iDGfWWK0ZSXdm KlLZaCijHpOuOeJA8CpZ96CTSCGTVgdmzYgeUZxm5VS6t0Db8gUg0Bj9IY7CZBWRh3Zb wxesthwmNSv0Zu5gOJEmo1IXU5sBuvwMmQAENxnHdDRC5pRXt5w0XdpWgaAEUX+gCTPX SQOfbgUdY1XSbBUhPFapt0jO6ucgFvDMsuFmgNB342Cli5IQXsQE5IfZAStVGGWlxd+w ls5g==
X-Gm-Message-State: AOAM533goLgYEmdQnHMtukQsWO5S0kCozl6e/NRfhzQaMCKmmXtsqjgk GULIa32ow0mLVGwDruUlh2iZIiVF8Ujwh7FBiA+G9SUoJbY=
X-Google-Smtp-Source: ABdhPJz2dKssMqsy/rQTcyq5NUlaz9jpU5BLDo//do84ISt72R7HDk+Ez0Oztdm9Bjszui9zU8TFi8p2kYDVUt0sfhk=
X-Received: by 2002:a25:8b89:: with SMTP id j9mr25143077ybl.302.1606753221778; Mon, 30 Nov 2020 08:20:21 -0800 (PST)
MIME-Version: 1.0
References: <2786E31F-2A4F-4901-8ECC-7AEF4B4D81E2@cisco.com> <b178d5066d6b4371a59ffe59bb6d6447@huawei.com> <3353.1606420713@localhost> <CAMm+Lwh8S0gCS_GhV7fRkznhNTT9VXACaPYXC4fJ0zcmx1SsJw@mail.gmail.com> <6fc266d3-def2-91a1-284d-058d32e08a0f@lounge.org> <CAMm+LwiEZMVpg_XgygQrG42GoUk5ti+W=+5pTydh4uh0SYJpqw@mail.gmail.com> <CAEfM=vSE1ruhEYE_OOfjn6hKrh2GDh1u1m0ck+v4fkPcLoQ_AA@mail.gmail.com>
In-Reply-To: <CAEfM=vSE1ruhEYE_OOfjn6hKrh2GDh1u1m0ck+v4fkPcLoQ_AA@mail.gmail.com>
From: Phillip Hallam-Baker <phill@hallambaker.com>
Date: Mon, 30 Nov 2020 11:20:11 -0500
Message-ID: <CAMm+LwgXMrtd_V_1+3aQi4wQ-LKibod41SqXndVFXSP62qB8BA@mail.gmail.com>
To: Ash Wilson <ash.wilson@valimail.com>
Cc: Dan Harkins <dharkins@lounge.org>, iot-onboarding@ietf.org
Content-Type: multipart/alternative; boundary="00000000000006a25305b5556367"
Archived-At: <https://mailarchive.ietf.org/arch/msg/iot-onboarding/yjmfi0M9S-NI3HcGITF716sCPC0>
Subject: Re: [Iot-onboarding] [Secdispatch] DANE IOT proposed outcome
X-BeenThere: iot-onboarding@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Discussion of IoT onboarding mechanisms <iot-onboarding.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/iot-onboarding>, <mailto:iot-onboarding-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/iot-onboarding/>
List-Post: <mailto:iot-onboarding@ietf.org>
List-Help: <mailto:iot-onboarding-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/iot-onboarding>, <mailto:iot-onboarding-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 30 Nov 2020 16:20:25 -0000

TL DR; We used to ship devices with thirty different ciphers till we
realized that was wrong. Now its time to do the same with key rotation.

On Mon, Nov 30, 2020 at 10:33 AM Ash Wilson <ash.wilson@valimail.com> wrote:

>
>
> On Thu, Nov 26, 2020 at 7:13 PM Phillip Hallam-Baker <
> phill@hallambaker.com> wrote:
>
>>
>>
>> On Thu, Nov 26, 2020 at 5:35 PM Dan Harkins <dharkins@lounge.org> wrote:
>>
>>>
>>>   OK, I'll bite...
>>>
>>> On 11/26/20 2:17 PM, Phillip Hallam-Baker wrote:
>>>
>>> Lets break this down.
>>>
>>> Does the proposed solution work with existing Browsers?
>>>
>>> If yes, fine. But since this is DANE based, it can't be. So we have to
>>> modify the browser.
>>>
>>>
>>>   Why do we care about browsers for IoT onboarding? If my thing has no
>>> UI then a browser is the last thing I care about.
>>>
>>
>> If we aren't doing browser... manufacturer just issues an own label cert
>> with no expiry, job done. The custom client can use its own
>> pathmath validation.
>>
>> We should be looking for straightforward ways to rotate device keys over
> time in favor of longer key lengths or more resilient algorithms.
> Forever/y10k certs don't enable that. The entity name should not change
> over the life of the device, but the public key needs to. DANE doesn't
> interrupt existing rotation strategies and it simplifies certificate
> rotation for object security use cases.
> The expectation is that once this is supported in the client TLS and/or
> messaging library, the customization required on the part of the
> application owner will be minimal.
>

Why? What benefit do you expect to see from rotating the keys?

After 25 years doing PKI, I have come to regard key rotation as a
superstitious practice that is followed out of habit rather than to achieve
a specific security goal. Back in the 1990s, we didn't have a choice - most
machines were having difficulties with 1024 bit RSA and ECC was considered
witchcraft. We have X448 today, it works and is acceptably secure for the
lifetime of the device.

What is the security benefit of changing from one X448 key to another? I
can show you the cost. What is the benefit?

Changing the algorithm is going to require a firmware update.

There is a value to rekeying during onboarding. But that is a one time
operation that occurs when ownership of the device is changed. And that is
best achieved using threshold techniques so that the new owner's key is
additive to the device key.

I believe you have it the wrong way round: keep the device key constant and
let the user change the name at will. Then the strong name of the device is
simply the fingerprint of the public key. Every device will have a
permanent manufacturer strong name and an owner strong name created during
onboarding.


In the future, users are going to own hundreds of networked devices. I
already have 150 because 50% of the light switches in the house are
networked. Expect every room in future house to have at least one networked
lightswitch, a smoke/occupancy/temperature detector and a heating control.

So how do we expect the owner to manage the PKI for those devices?
Especially when we are going to refuse to give the user any feedback that
might disturb them, that being the dogma of the 'usability' brains trust:
make devices easier to use by denying the user necessary information.

If house scale IoT is going to be viable, we are going to have to simplify
it. Key rotation is one of the biggest cost drivers. So we should only
require it if there is a really solid case to be made that it provides a
measurable reduction in risk.