Re: [Iotops] maintain ownership (was: can we create protocols that securely transfer ownership?)

"Amyas Phillips, Ambotec" <amyas@ambotec.org> Thu, 05 November 2020 12:55 UTC

Return-Path: <amyas@ambotec.org>
X-Original-To: iotops@ietfa.amsl.com
Delivered-To: iotops@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5597D3A13A6 for <iotops@ietfa.amsl.com>; Thu, 5 Nov 2020 04:55:44 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Level:
X-Spam-Status: No, score=-2.099 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, 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=ambotec.org
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 HfTXlUiT2YIg for <iotops@ietfa.amsl.com>; Thu, 5 Nov 2020 04:55:42 -0800 (PST)
Received: from mail-wr1-x435.google.com (mail-wr1-x435.google.com [IPv6:2a00:1450:4864:20::435]) (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 616463A1773 for <iotops@ietf.org>; Thu, 5 Nov 2020 04:55:42 -0800 (PST)
Received: by mail-wr1-x435.google.com with SMTP id x7so1653034wrl.3 for <iotops@ietf.org>; Thu, 05 Nov 2020 04:55:42 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ambotec.org; s=google; h=from:content-transfer-encoding:mime-version:subject:date:references :to:in-reply-to:message-id; bh=IgQ0omUNjnLpSQewIcpAco/UmmKb6UxjtGVyuREtud8=; b=KM64TjTxX9XS9i9aNefyDYpj9G7QyjFinMkacOF6InZ/Lb0xrl/AEgEg7fztC2Plkn I6nFIDRpFkCCFmMjcZIpoaqtsDnoDwR3dyW6em3xvU/8p9b+MOi9om+1so5KmiUkCaWo 18hoUy5o8lmx/pfPm90f7JQ4KJSfJx0LFrsr4yjxQ1tbwZDl/5wcL9s3hbSrL2oyPWPl VbhlfQ1GJWDtLPl8WbuSvHj0dx4uOhHPnY37XcmAjK2dAjyVg8Vo+D9+xHL81TsiP8nc /WRz8EwAGdURlwqkQrOMn5h5hBInBBRPvTDoiLZqdikFKLvgBaiSLE2tF0Y2p6llZq8T Fr7Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:content-transfer-encoding:mime-version :subject:date:references:to:in-reply-to:message-id; bh=IgQ0omUNjnLpSQewIcpAco/UmmKb6UxjtGVyuREtud8=; b=Lap42jCjvedBozycDTk4C/jUCtaMMV9JOLKqR6WDJS57YaddZM8vvTfdFT+fwZ9bz2 0bGQmuiFrAcBT+dKpCxb1UVLNOmZJphVCGSAU9Aco/GgmDOlBEV4VJsb9AYei2yBXj3W WhCZs1N40R/LBOPayydZv0T2RcpweU7zNKO6xuGZOyN7PuGf1UPJmRUrRqMZKW7Sqh1J nN2TJC3w6fOa3I6f6nrLCFWI7eyDuGcU3hF8VH/p2wgznsRVFThr0uYkUL706jKFc1LF PG25fXDXtG3db5NNG34afT1MvMt5HatqQadj3VPTXMMv8p71l858aSnbfV3/IDj0eVNB RZHw==
X-Gm-Message-State: AOAM531UpHneQlbf4QsYQCuKKLb3OUfHnscw3dinZFPDX8iUQP8Ee1hT GjW7yxRDI+c+ZJATg+YfoK/MdsAROA066mxBhm4=
X-Google-Smtp-Source: ABdhPJyLQ/c6tTls0skbQMvNKa47wiBFCoqTnwWvSBrIomdZvw6Y0mBwFDInbtEDbqUhDtdax+bWng==
X-Received: by 2002:adf:8296:: with SMTP id 22mr2791900wrc.341.1604580939892; Thu, 05 Nov 2020 04:55:39 -0800 (PST)
Received: from [10.6.3.73] ([194.35.233.182]) by smtp.gmail.com with ESMTPSA id n9sm2313564wmd.4.2020.11.05.04.55.38 for <iotops@ietf.org> (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 05 Nov 2020 04:55:39 -0800 (PST)
From: "Amyas Phillips, Ambotec" <amyas@ambotec.org>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.4\))
Date: Thu, 05 Nov 2020 12:55:38 +0000
References: <B8F9A780D330094D99AF023C5877DABAADB1F8C6@dggeml511-mbs.china.huawei.com> <15665.1604430085@localhost> <20201103204823.GE48111@faui48f.informatik.uni-erlangen.de> <5254.1604514609@localhost>
To: "iotops@ietf.org" <iotops@ietf.org>
In-Reply-To: <5254.1604514609@localhost>
Message-Id: <EEF8A3ED-E57D-4F84-92DD-5C74123AFD91@ambotec.org>
X-Mailer: Apple Mail (2.3608.120.23.2.4)
Archived-At: <https://mailarchive.ietf.org/arch/msg/iotops/t9NCuNsqqPVPkjngl3pjluC6XIE>
Subject: Re: [Iotops] maintain ownership (was: can we create protocols that securely transfer ownership?)
X-BeenThere: iotops@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: IOT Operations <iotops.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/iotops>, <mailto:iotops-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/iotops/>
List-Post: <mailto:iotops@ietf.org>
List-Help: <mailto:iotops-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/iotops>, <mailto:iotops-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Nov 2020 12:55:44 -0000

Hi folks

Is there a definition of ownership you are using? If not I’d like to propose one because I've found ownership to be a not particularly useful concept in IoT, unless redefined. 

- Ownership as a fundamental legal concept of capitalist societies means having the rights to dispose of an asset how you please, including improving it and deriving benefits from it. 
- Assets historically were strictly physical. 
- When patents were invented it started being possible to own an object without having the right to physically copy it. 
- When copyright was extended to compiled software it started being possible to own an embedded device without having the right to copy its software.
- DMCA and EUCD and equivalents further removed the right to even modify the software.
- Most IoT devices are now sold with EULAs, constraining any remaining legal concept of ownership with contractual terms. 
- You can even find that a licence to use it is the only thing you get when you buy a device, legal title remaining with the vendor.

I’d like to suggest that we set aside legal title and say “ownership” for the purpose of this discussion means “logical control of a device”. Transfer of logical control is an important and delicate event in an IoT device’s lifecycle so this seems to fit within the aims of the charter, even if it isn’t mentioned explicitly.

I’d like to further suggest that logical control ultimately means the right to control what software is installed on a device. That is to say, ownership == logical control == the right to set and (if transfer of control is supported) replace the firmware update trust anchor. That is what ownership means. Every other form of control is delegated from that and is called something other than “ownership". 

That’s it. 


I’ve anticipated and tried to answer some possible objections. They run on a bit, sorry about that: 

1. What if an IC has an integrated secure element under logical control of a third party and it is impossible even for a person with legal title to seize control of that SE? 

That’s fine, just acknowledge the SE as a separate domain of control. Someone has physical title, possibly constrained by license terms. Someone has logical control of the SE. Someone has logical control of the ‘insecure’ computing environment. It would a similar situation in a device with a  main application processor and separate a wireless module with its own firmware. 

2. Wouldn’t this mean that any device whose firmware has to be signed by its OEM is still under the logical control of and “owned” by that OEM? 

Yes.

3. But that’s not who I mean when I talk about the owner! 

I get it, but this just means different and more specific terminology is required. You might mean the entity trusted by the device to issue application-layer commands (possibly including commands to set application-layer trust anchors).

4. What if an OEM retains firmware update rights but no direct connection, do they still have ultimate logical control? 

Yes.

5. What if the application can’t be updated? 

Logical control has been permanently delegated to whoever the device's application layer trusts. There always was control at the application layer, just in this case it is “ultimate” control. Assuming the application exposes logical interfaces and authenticates requests to them there are could be as many logical controllers / "owners" as there are trust anchors for authenticating them, but if there is one interface specifically for administering trust anchors then whoever controls that who is now the ultimate logical controller / “owner”. 

It has to be said that what can be controlled in this situation is much less than what someone with firmware update rights would be able to control. Also,  unless the new owner is able to validate the installed firmware against a build of the source code there’s no way they can know just what they are controlling. 

6. What if the device ships without trust anchors, who owns it then? 

It is in a first-to-claim state. That assumes that once “claimed” it can’t be claimed by anyone else without the current claimant’s authorisation. 

7. Who is the ultimate controller if there is an immutable initial bootloader with a trust anchor immutably set, and a stage two bootloader with another trust anchor, and an application? 

The immutable initial bootloader creates a firmware update right, i.e. an ownership right, which has been permanently claimed by whoever set its trust anchor. In most devices an immutable initial bootloader would allow updating a stage two bootloader, meaning the stage two bootloader’s TA can be changed. So whoever set the iniitial bootloaders' TA controls who gets to install the stage 2 bootloader, and whoever installs the stage 2 bootloader controls who gets to install the main application. 

The ultimate controller a.k.a. owner is whoever set the root TA. What they control has been determined by whoever designed and installed the initial bootloader and whoever designed and fabricated the IC running it, and perhaps whoever designed and manufactured the device running the IC. In this case the owner gets to decide who can install the second boot stage - probably themselves

8. Isn’t is possible to dream up IoT devices that don’t have logical controllers? 

I guess so - you could do without secure boot and expose unauthenticated interfaces, or you could make a device that is always claimable - but that doesn't invalidate the concept. 

9. What does transfer of ownership mean then?

Setting someone else’s TA in the initial bootloader. 

10. What if a hacker obtains arbitrary code execution?

They 0wn the device but they don’t own it - not unless they can make their control permanent across reboots. They have application layer logical control until a reboot. 


Thanks
Amyas