Re: [Rats] Verifier Input instead of Endorsement?

Henk Birkholz <henk.birkholz@sit.fraunhofer.de> Tue, 07 July 2020 19:32 UTC

Return-Path: <henk.birkholz@sit.fraunhofer.de>
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 3C2A83A09E1 for <rats@ietfa.amsl.com>; Tue, 7 Jul 2020 12:32:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham 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 vHHDJcAH0JAz for <rats@ietfa.amsl.com>; Tue, 7 Jul 2020 12:31:59 -0700 (PDT)
Received: from mail-edgeS23.fraunhofer.de (mail-edges23.fraunhofer.de [153.97.7.23]) (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 A8A553A09DA for <rats@ietf.org>; Tue, 7 Jul 2020 12:31:57 -0700 (PDT)
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A2EiBgCFzQRf/xwBYJlgHQEBAQEJARIBBQUBQIFKAoMXgTMKhCiRGZocgV8JCwEBAQEBAQEBAQYBARgLCgIEAQEChEUCghMBJDgTAhABAQYBAQEBAQYEAgKGRAxDARABgnyBAgEBAQEBAQEBAQEBAQEBAQEBAQEWAkNVEgEBHQEBAQECAQEBIQ8BBTMDCwULCQIOBAYCAiMDAgInHwECDgYKAwEFAgEBF4MLAYJcHwULji6bBHaBMoVRgz+BOgaBDioBjFoPD4FMP4ERJw+CLC4+glwBAQIBgUKDMIJgBJI3kU6QAlwoB4FZgQaBBwQLhzWGLopFBQodkRgGgwmKdpBziwOURQIEAgkCFYFqWYEgTSRPgmlQFwINV41TF4hihURyAjUCBgEHAQEDCXyIFIY0AYEQAQE
X-IPAS-Result: A2EiBgCFzQRf/xwBYJlgHQEBAQEJARIBBQUBQIFKAoMXgTMKhCiRGZocgV8JCwEBAQEBAQEBAQYBARgLCgIEAQEChEUCghMBJDgTAhABAQYBAQEBAQYEAgKGRAxDARABgnyBAgEBAQEBAQEBAQEBAQEBAQEBAQEWAkNVEgEBHQEBAQECAQEBIQ8BBTMDCwULCQIOBAYCAiMDAgInHwECDgYKAwEFAgEBF4MLAYJcHwULji6bBHaBMoVRgz+BOgaBDioBjFoPD4FMP4ERJw+CLC4+glwBAQIBgUKDMIJgBJI3kU6QAlwoB4FZgQaBBwQLhzWGLopFBQodkRgGgwmKdpBziwOURQIEAgkCFYFqWYEgTSRPgmlQFwINV41TF4hihURyAjUCBgEHAQEDCXyIFIY0AYEQAQE
X-IronPort-AV: E=Sophos;i="5.75,324,1589234400"; d="scan'208";a="18923656"
Received: from mail-mtaka28.fraunhofer.de ([153.96.1.28]) by mail-edgeS23.fraunhofer.de with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 07 Jul 2020 21:31:40 +0200
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0ASBQBgzQRf/1lIDI1gHAEBAQEBAQcBARIBAQQEAQFAgUoCgihvVzAsCoQokRmaHIFoCwEDAQEBAQEGAQEYCwoCBAEBhEcCghECJDgTAhABAQUBAQECAQYEbYVbDEMBEAGFGQEBAQECAQEBIQ8BBTMDCwULCQIOBAYCAiMDAgInHwECDgYKAwEFAgEBF4MLAYJcJAuOLpsEdoEyhVGDPoE6BoEOKgGMWg8PgUw/gREnD4IsLj6CXAEBAgGBQoMwgmAEkjeRTpACXCgHgVmBBoEHBAuHNYYuikUFCh2RGAaDCYp2kHOLA5RFAgQCCQIVgWoiNoEgTSRPgmlQFwINV41TF4hihURBMQI1AgYBBwEBAwl8iBSGNAGBEAEB
X-IronPort-AV: E=Sophos;i="5.75,324,1589234400"; d="scan'208";a="30286911"
Received: from mailext.sit.fraunhofer.de ([141.12.72.89]) by mail-mtaKA28.fraunhofer.de with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 07 Jul 2020 21:31:35 +0200
Received: from mail.sit.fraunhofer.de (mail.sit.fraunhofer.de [141.12.84.171]) by mailext.sit.fraunhofer.de (8.15.2/8.15.2/Debian-10) with ESMTPS id 067JVZGD023015 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA256 bits=128 verify=NOT); Tue, 7 Jul 2020 21:31:35 +0200
Received: from [192.168.16.50] (79.206.156.41) by mail.sit.fraunhofer.de (141.12.84.171) with Microsoft SMTP Server (TLS) id 14.3.487.0; Tue, 7 Jul 2020 21:31:30 +0200
To: Laurence Lundblade <lgl@island-resort.com>
CC: Michael Richardson <mcr+ietf@sandelman.ca>, "rats@ietf.org" <rats@ietf.org>
References: <878E068C-DAFD-4441-94F7-BA79CAF7FED6@island-resort.com> <BL0PR2101MB10279501A4ECA5BB7B6AED63A36F0@BL0PR2101MB1027.namprd21.prod.outlook.com> <BF5071AC-0C8D-4B26-8330-8589736B6EF5@island-resort.com> <af8e64b9-41b3-f42a-183d-1c9544fc1d7d@sit.fraunhofer.de> <C4D6DCB6-F0D9-4858-823C-7B045005B48C@island-resort.com> <13132.1593723461@localhost> <6091010E-3F7D-4B45-9B8E-9D954CE03C43@island-resort.com> <24201.1593904708@localhost> <59471994-1797-42CE-AC6F-34F07315ADFB@island-resort.com> <0a747f8c-81eb-2c03-46d3-73977faee457@sit.fraunhofer.de> <B95C972D-5EED-48FD-8F00-B1C52932B5B9@island-resort.com>
From: Henk Birkholz <henk.birkholz@sit.fraunhofer.de>
Message-ID: <c9b1790e-1c33-f6a7-f64c-635f8d314b96@sit.fraunhofer.de>
Date: Tue, 07 Jul 2020 21:31:28 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0
MIME-Version: 1.0
In-Reply-To: <B95C972D-5EED-48FD-8F00-B1C52932B5B9@island-resort.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Language: en-US
Content-Transfer-Encoding: 8bit
X-Originating-IP: [79.206.156.41]
Archived-At: <https://mailarchive.ietf.org/arch/msg/rats/GcT-vBaIXUf93VuX3OSUtGVM7j0>
Subject: Re: [Rats] Verifier Input instead of Endorsement?
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: Tue, 07 Jul 2020 19:32:02 -0000


On 07.07.20 20:33, Laurence Lundblade wrote:
> 
> 
>> On Jul 7, 2020, at 8:29 AM, Henk Birkholz 
>> <henk.birkholz@sit.fraunhofer.de 
>> <mailto:henk.birkholz@sit.fraunhofer.de>> wrote:
>>
>> Hi Laurence,
>>
>> at first, I thought I get your line of thought, but now I am confused 
>> again. Sorry! Comments in-line.
>>
>> On 07.07.20 16:51, Laurence Lundblade wrote:
>>>> On Jul 4, 2020, at 4:18 PM, Michael Richardson 
>>>> <mcr+ietf@sandelman.ca 
>>>> <mailto:mcr+ietf@sandelman.ca><mailto:mcr+ietf@sandelman.ca>> wrote:
>>>>
>>>>
>>>> Laurence Lundblade <lgl@island-resort.com 
>>>> <mailto:lgl@island-resort.com><mailto:lgl@island-resort.com>> wrote:
>>>>>> Laurence Lundblade <lgl@island-resort.com 
>>>>>> <mailto:lgl@island-resort.com><mailto:lgl@island-resort.com>> wrote:
>>>>>>> The problem with Endorser is that they produce Endorsements and I 
>>>>>>> think there are problems with Endorsements:
>>>>>>
>>>>>>> - In Berlin you told me they don’t have keys in them. So then how do
>>>>>>> keys get into the Verifier?
>>>>>>
>>>>>> Well, first, I thought we agreed that the arcs above Verifier were 
>>>>>> out of
>>>>>> scope for the architecture.  The WG might recharter to include 
>>>>>> that, but I
>>>>>> thought we agreed that the concerns were seperable.  HOWEVER...
>>>>
>>>>> If that’s the approach, then Endorsements should be removed from the
>>>>> document, both in the text and diagram.
>>>>
>>>> That makes no sense to me.
>>>>
>>>> It is perfectly reasonable to define something just well enough in 
>>>> order to make it
>>>> clear what is out of scope for standardization.
>>>>
>>>> We can come up with many different ways to standardize Endorsements (or
>>>> Verifier Inputs), and it shouldn't matter at all to the protocol between
>>>> Attester and Verifier.
>>>>
>>>> That's what makes it seperable.
>>>> Do you agree?
>>> Sorry, didn’t say that right.
>>> If we’re going to minimize description of what is above the Verifier, 
>>> then the term “Endorsement” should be replaced with a more general 
>>> term like “Verifier Input” or “Attester Trust Criteria” or other.
>>> I think there are three problems with the term “Endorsement":
>>> - It implies a specific style of input (a signed document) that is 
>>> too narrow for a general architecture
>>
>> If that is what a reader gets from the document we have to do better. 
>> An endorsement does not have to be signed in the way that a UCCS does 
>> not have to be signed. It has to be tamper-evident though, because the 
>> Verifier relies on its integrity. That's the point and I think that is 
>> not too narrow.
> 
> If you want to define an Endorsement as a *protocol*, not just a 
> signed/unsigned document, then the term might work.
> 
> Endorsement Protocol:
>   - A one-time transfer or a multiple requests/responses for each and 
> every Verification or anything in between
>   - Must provide integrity
>   - May have to provide confidentiality, particularly for symmetric keys

I'd think that would be a little bit too much for an architecture, but 
to generally associate attributes, such as authentic and tamper-evident, 
with conceptual messages that are endorsements sounds fine for me at 
first glance.

Solution I-Ds can build on that as is the intent of the architecture 
document.

> 
> 
>>> - It is ambiguous and/or not clear it is even correct. The room in 
>>> Berlin of experts agreed that Endorsement can’t have keys in them, 
>>> but there must be a key input to the Verifier.
>>
>> Well, my recollection of that room of experts does not include any 
>> opinions on key material for Endorsements as defined for IETF RATS. 
>> The TCG defines (I just looked that up) four specific terms around and 
>> "Endorsement Key", so I am relatively sure that key material is 
>> involved in all cases, as these are the only terms that make use of 
>> the phrase endorsement.
> 
> My slide in Berlin said “Endorsements have key material”. You that 
> wasn’t right. I said “sorry for my mistake”. The room tacitly agreed 
> with you.

Maybe we were talking past each other? Going back to the examples I 
looked up: TCG EK-Certs, for example, can include pub-keys, of course. 
If you remember the openssl output of my screen - there were some 
pub-key structures in there. But then again, I would not focus on these 
kinds of certificates here - that seems way to niche'ish. I would rather 
like to focus on what we create here, currently (which allows for 
multiple types of Endorsements already).

> 
> This says to me that at least one of these is true:
>   - There is some pre conceived idea for what Endorsements are, 
> seemingly from the the TCG world
>   - There is confusion about what Endorsements are (you said no keys in 
> Berlin, now you say there are keys)
>   - RATS architecture is not clear about how verification key material 
> gets to the Verifier.
> 
> I don’t mind being wrong here. My trouble is the lack of clarity, common 
> understanding and gap in the RATS architecture.

I am little bit at a loss why you think that the definition here:

> https://tools.ietf.org/html/draft-ietf-rats-architecture-04#section-2

and the associated expositional text here:

> https://tools.ietf.org/html/draft-ietf-rats-architecture-04#section-8.2

is leaving any confusion to what Endorsements are?

Key Provisioning is a separate topic, I think. And I am now growing more 
certain that you are missing text about key provisioning in the RATS 
architecture document, yes?

For me that represent a tangible issue. The architecture document does 
not directly address key provisioning - that is certainly true. But I am 
not sure, if there is any intent to add text about that to a RATS 
document. Are there opinions on the list about this?

Viele Grüße,

Henk

> 
>>
>>> - It is TCG-specific. The term is not used in FIDO, Android and 
>>> TEE-based projects that I’ve worked on.
>>
>> And this confuses me. I'll do a self-quote here: "Endorsements as 
>> defined for IETF RATS". We are defining that term here in the RATS 
>> architecture. The TCG does not define it in any document that I could 
>> google just now. Maybe I have missed something there. But that is 
>> beside the point anyways. The point is that we are defining it here.
> 
> Seems to me there are semantics associated with the term “Endorsement” 
> from the TCG and that seems to be of a relatively static document that 
> is transferred once. It seems like adopting a definition in RATS that is 
> beyond that is confusing (e.g., confusion between now and Berlin).  If 
> we must use the term Endorsement, then I think it should Endorsement 
> Protocol to separate from the previous.
> 
> I still think this is simple and could work:
> 
>     Verifier Input
> 
>     Inputs used by the Verifier to establish trust in Attester, evaluate
>     Attestation Evidence and produce Attestation results. It may include
>     cryptographic keys, known-good/reference values, static implicit
>     claims and policy configuration.
> 
> 
> LL
> 
> 
> 
>>
>>
>> Viele Grüße,
>>
>> Henk
>>
>>> Some text like this?
>>>    Verifier Input
>>>    Inputs used by the Verifier to establish trust in Attester, evaluate
>>>    Attestation Evidence and produce Attestation results. It may include
>>>    cryptographic keys, known-good/reference values, static implicit
>>>    claims and policy configuration.
>>> LL
>>> _______________________________________________
>>> RATS mailing list
>>> RATS@ietf.org <mailto:RATS@ietf.org>
>>> https://www.ietf.org/mailman/listinfo/rats
>>
>> _______________________________________________
>> RATS mailing list
>> RATS@ietf.org <mailto:RATS@ietf.org>
>> https://www.ietf.org/mailman/listinfo/rats
>