Re: [Rats] Dealing with Attestation Roots

Anders Rundgren <anders.rundgren.net@gmail.com> Fri, 24 April 2020 03:32 UTC

Return-Path: <anders.rundgren.net@gmail.com>
X-Original-To: rats@ietfa.amsl.com
Delivered-To: rats@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D65BE3A0C51 for <rats@ietfa.amsl.com>; Thu, 23 Apr 2020 20:32:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 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, FREEMAIL_FROM=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=gmail.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 dlaYfwtJGX50 for <rats@ietfa.amsl.com>; Thu, 23 Apr 2020 20:32:11 -0700 (PDT)
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com [IPv6:2a00:1450:4864:20::32b]) (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 299163A0EF8 for <rats@ietf.org>; Thu, 23 Apr 2020 20:32:03 -0700 (PDT)
Received: by mail-wm1-x32b.google.com with SMTP id 188so8852574wmc.2 for <rats@ietf.org>; Thu, 23 Apr 2020 20:32:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=nMCC8tRc6XQbPCPiB2dV1j65xRFZTjlEfS7jxtkMChE=; b=p8lidzFCzC+IjL2xFtYfU6q2fH5RKVEePpKdknlYrz25HVabb4A4mDyNife1y/5YDO FiGw6Z/xEVdFDLboY7pbnlfE041Nn7WbYLrXcCd8dtdigZouTIJo7VL4nbI+sMuRafqJ Vq3qJroy9wsu0szkOMMXuNXaJiduD+CMZPU7m506YxPcd88ChgrlWVTe3W2kTGBGBlzT +RGrEKLzbaFJ4tlRTLIGVqdHKOyZK0uB3WQU0UM6SetG67VdMu9mZFe+TjW77PDkxDd1 lgSyXqK6KDWDhFZQWNrH49NI8ELUtKvJGTupB5at+v0fOxEw6md6S7AZwxin8vSGKA44 wofg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=nMCC8tRc6XQbPCPiB2dV1j65xRFZTjlEfS7jxtkMChE=; b=oqn5N/zhZkPZwhzeJF6Geq3f4KddqNhpu9Rc6htR5FuQfJK77eSphd21CYzJj+o2m3 weGz2h+HK+97LCJAZqQqckIr/uS3SivNT34H7q611cUnkJlSJ98yaSuyjDnX9Iw/Uk8/ s+UppPnnQADUWnn/kP7GWcHtPLX2O40M0HDiiePKLxW+JCbUm0AQPZZrkF+tESpOVp6p g8bc2If56r/WhNPFQlz4Zhds+hbGlRbPWu/zWBaEFtHS+v4m4iu11M6/qm99aSwy4fVF soerfcOnLAPV6elNp8SFERP6WRJj0NM3OS+0GPDlgtTqysYVQpvn80MOj5mNbsv53W2X rAjg==
X-Gm-Message-State: AGi0PuZvBz7wSi1zS88NTCopphT0TMruS1lceaLKwaMcbEUqhUYU72pC K+9dR7vXg+nTtUQtqf1PRuV2lV9Bzng=
X-Google-Smtp-Source: APiQypKGjer/7PeRYxZyKv2GyKSdHc3DOISuszPSEOVpIYtiQiWtM7+0V+Tv1RIK5/R3L5hQEGFc5A==
X-Received: by 2002:a1c:24d4:: with SMTP id k203mr7568913wmk.49.1587699121021; Thu, 23 Apr 2020 20:32:01 -0700 (PDT)
Received: from [192.168.1.79] (25.131.146.77.rev.sfr.net. [77.146.131.25]) by smtp.googlemail.com with ESMTPSA id q143sm1019229wme.31.2020.04.23.20.31.59 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 23 Apr 2020 20:31:59 -0700 (PDT)
To: Laurence Lundblade <lgl@island-resort.com>
Cc: "rats@ietf.org" <rats@ietf.org>
References: <49d8907c-7637-3d21-0619-4999565fc50e@gmail.com> <7C65B977-FA56-4118-BA8B-121BD9697F7C@island-resort.com> <d67985a1-97da-3e23-81e6-1b58b61e1d1a@gmail.com> <FE63538E-389A-4F07-B8DB-6B875D27C3D0@island-resort.com>
From: Anders Rundgren <anders.rundgren.net@gmail.com>
Message-ID: <089577da-e46c-5f9c-ef08-30a325ea9cfc@gmail.com>
Date: Fri, 24 Apr 2020 05:31:57 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0
MIME-Version: 1.0
In-Reply-To: <FE63538E-389A-4F07-B8DB-6B875D27C3D0@island-resort.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Language: en-US
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/rats/uccH126M6b8Pmyn97Mlng9hdsJ0>
Subject: Re: [Rats] Dealing with Attestation Roots
X-BeenThere: rats@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Remote ATtestation procedureS <rats.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rats>, <mailto:rats-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rats/>
List-Post: <mailto:rats@ietf.org>
List-Help: <mailto:rats-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rats>, <mailto:rats-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 24 Apr 2020 03:32:14 -0000

On 2020-04-23 21:20, Laurence Lundblade wrote:
> Hi Anders,
> 
Hi Laurence;

> I think using an X.509 hierarchy with EAT is a fine thing to do, but no one’s done it yet. 

I see it more like a workaround in the absence of a standard.  Using CWTs is a better solution.


The two EAT implementations I know of, use other means to find the verification key. One by key ID, another by a combination of claims inside the attestation.

Somewhere there must be a trust anchor or a trusted public key, right? How do you locate it expressed in practical terms?  This is the only thing the "Web PKI + Vendor URL" proposal was meant to addresses.  For those who have doubts about automated retrieval of trust anchors based on vendor-specific host names, the scheme can also aid manual installation of such.

The proposal is neutral with respect to key hierarchy.  A flat or multi-level (as in Android) scheme would be dealt with in the same way.

Anders

> 
> Android’s solution is not standard, it is just used by Android AFAIK.
> 
> I think it would be fine to write a draft that says how to use X.509 with EAT. It would involve https://tools.ietf.org/html/draft-ietf-cose-x509-06 and maybe the URL you’ve suggested for finding the root. Would even be interested in adding this functionality to ctoken <https://github.com/laurencelundblade/ctoken>.
> 
> Technically speaking, this is all about endorsements and relates to recent email threads on that subject here.
> 
> LL
> 
> 
>> On Apr 22, 2020, at 7:54 AM, Anders Rundgren <anders.rundgren.net@gmail.com <mailto:anders.rundgren.net@gmail.com>> wrote:
>>
>> On 2020-04-22 16:38, Laurence Lundblade wrote:
>>> Hi Anders,
>>
>> Hi Laurence,
>> Thank you for responding!
>>
>>>> On Feb 27, 2020, at 9:51 AM, Anders Rundgren <anders.rundgren.net@gmail.com <mailto:anders.rundgren.net@gmail.com>> wrote:
>>>>
>>>> Hi List,
>>>> In the https://cyberphone.github.io/openbankingwallet project the idea was to use attestations.  The most recent version of the Android app indeed supports this as well.
>>>>
>>>> In an ideal world the root would be provided by Google.  However, since we don't live in an ideal world there are vendors out there who do not follow that "recipe”.
>>> Are you referring to Android N Key Attestation that is implemented in the key store?
>>
>> This is indeed one possible usage.
>> https://developer.android.com/training/articles/security-key-attestation
>>
>>>>
>>>> For W3C's PaymentRequest API a simpler solution is used which do not match attestations but is better than nothing.  This scheme builds on publishing a manifest associated with the app.  Here is my particular manifest:  https://mobilepki.org/w3cpay/method
>>>>
>>>> But I still would like to use attestations and also not being tied to browsers.
>>>>
>>>> What about making attestations optionally contain a URL to the root like https://huawei.com/teeroot ?
>>> I don’t know what https://huawei.com/teeroot  is. I can’t get anything from this URL.
>>
>> That's correct, I don't even know where to find Huawei's attestation root which is how I came to this idea :)
>>
>>
>>> I’m guessing you are after an X.509 root certificate, one that is used for Android-style attestation. Is that right?
>>
>> Right.  Is using an X.509 root certificate an unusual way of dealing with attestation verification?
>>
>> Anders
>>
>>> LL
>>>> Since the number of vendors in finite and the Web-PKI is in a fairly good shape these days, this could serve as a workaround for those who don't have any number of cycles to spend on installing arbitrary tee root certificates.  That is, a verifier's "trust registry" would simply hold host names like "huawei.com", "sony.com", "samsung.com", etc.
>>>>
>>>> If there is a better method, I'm all ears!
>>>>
>>>> thanx,
>>>> Anders
>>>>
>>>> _______________________________________________
>>>> RATS mailing list
>>>> RATS@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/rats
>>
>>
>