Re: [Rats] Serialization formats for attestation results

"Smith, Ned" <ned.smith@intel.com> Tue, 10 March 2020 00:43 UTC

Return-Path: <ned.smith@intel.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 445DE3A0B01 for <rats@ietfa.amsl.com>; Mon, 9 Mar 2020 17:43:22 -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 UjXq9vVvpCVw for <rats@ietfa.amsl.com>; Mon, 9 Mar 2020 17:43:20 -0700 (PDT)
Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) (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 259AD3A0AFF for <rats@ietf.org>; Mon, 9 Mar 2020 17:43:19 -0700 (PDT)
X-Amp-Result: SKIPPED(no attachment in message)
X-Amp-File-Uploaded: False
Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 09 Mar 2020 17:43:18 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.70,535,1574150400"; d="scan'208";a="231123980"
Received: from orsmsx109.amr.corp.intel.com ([10.22.240.7]) by orsmga007.jf.intel.com with ESMTP; 09 Mar 2020 17:43:18 -0700
Received: from orsmsx108.amr.corp.intel.com ([169.254.2.232]) by ORSMSX109.amr.corp.intel.com ([169.254.11.206]) with mapi id 14.03.0439.000; Mon, 9 Mar 2020 17:43:18 -0700
From: "Smith, Ned" <ned.smith@intel.com>
To: Michael Richardson <mcr+ietf@sandelman.ca>, Laurence Lundblade <lgl@island-resort.com>
CC: "rats@ietf.org" <rats@ietf.org>
Thread-Topic: [Rats] Serialization formats for attestation results
Thread-Index: AQHV8ZQaWAvU4YNcLkmb0xGgdL8Ppqg3TtEAgACPRACAAUXdAIADktqA//+RoACAAaOOgIAARKGAgALWBAA=
Date: Tue, 10 Mar 2020 00:43:18 +0000
Message-ID: <7E2FD1F6-C073-448D-90AF-ABF079D625B5@intel.com>
References: <41203417-EF88-4A43-8556-2665F2A6B09F@island-resort.com> <E0AE76F4-8AAE-427B-AF76-E5AB3CA66070@intel.com> <CAHbuEH5pr8Cw6pd-jzGZ281Dz8kibGMtSnCo4KpP6-3HesgKJQ@mail.gmail.com> <63304E99-E120-4025-A4FB-AAA326796300@island-resort.com> <19724.1583535153@localhost> <D7F44491-4D6A-4EA3-BC4A-615F11255968@intel.com> <F7ED01F8-31BF-4627-801D-BE0AE57CB61C@island-resort.com> <12503.1583616287@localhost>
In-Reply-To: <12503.1583616287@localhost>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/10.22.0.200209
x-originating-ip: [10.255.88.101]
Content-Type: text/plain; charset="utf-8"
Content-ID: <8F575375BEE5F84D857194B19D337B55@intel.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/rats/uTp7FoZJw-fjLHZENafTQAgKiSE>
Subject: Re: [Rats] Serialization formats for attestation results
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, 10 Mar 2020 00:43:22 -0000

Nms> inline

On 3/7/20, 1:24 PM, "Michael Richardson" <mcr+ietf@sandelman.ca> wrote:

    
    Laurence Lundblade <lgl@island-resort.com> wrote:
        > Here’s how I’d expect a lot of the X.509 PKI’s to work.
    
        > 0) A root cert (a form / part of endorsement) is generated by the manufacturer / endorser and is given to the verifier.
Nms> In X.509 format.
    
        > 1) The manufacturer puts the private part of a key pair into the attester. It can be in any format including some raw format or some BER encoded format or even COSE format. It will just be used to sign evidence, so the best is probably some raw format. For ECDSA, best is probably just a 256-bit number.
    
        > 2) The manufacturer puts one or more X.509 certs into the attester including one with the corresponding public key.
Nms> Manufacturers prefer not to put certs in the device because they use a lot of memory. This cost is multiplied by the number of devices shipped. It adds up. Instead they prefer to put them in the cloud or generate them from something more primitive (e.g. fuses, PUFs, seed). 
Nms> If the device is a 'layered' device or 'composite device' then the cost is multiplied even more.
    
        > 3) The attester signs evidence  with the private key
    
        > 4) The attester bundles the X.509 certs into the COSE headers. See
        > https://tools.ietf.org/html/draft-ietf-cose-x509-05
    
    In draft-selander-ace-ake-authz we are looking at a way to pass the key by
    reference rather than value, since bytes really count.
Nms> The use case seems to suggest that "X.509 PKIs" are built around COSE? I wouldn't have expected that to be the case looking across all the devices where an X.509 cert is issued for a device/machine. 
    
        > 5) The verifier walks the cert chain from the COSE headers up to the root
Nms> Many implementations of PKI rely on a conveyance protocol such as TLS to transfer the certificates (if they are available in the first place). COSE can offer a similar capability. Not sure it should be characterized as "a lot of PKIs". Maybe in a relative way where "a lot" can be characterized as less than 'most'? 
    
        > Net-net, the attester copies X.509 certs around, but never looks inside
        > so no BER code is needed.
    
    We are in complete agreement.
Nms> The context of the thread relates to the complexity of the Verifier and Relying Party (who is also a Verifier). The design choices of the Attester (device mfg) impact the Verifier because they issue certs in PKI/BER/X.509 and also encode things in CBOR/COSE/jSON/JOSE and a variety of other conveyance protocols. Verifier are increasingly constrained and increasingly mesh/fabric/embedded where BOM cost also matters. I'm not sure how any of this thread resolves the complexity question that arose due to the observation that there are many possible serialization formats for Attestation Results (and presumably for Evidence too). 
    
    
    --
    Michael Richardson <mcr+IETF@sandelman.ca>, Sandelman Software Works
     -= IPv6 IoT consulting =-