Re: [6tisch] xxx-bootstrap

Michael Richardson <mcr+ietf@sandelman.ca> Thu, 01 December 2016 00:18 UTC

Return-Path: <mcr+ietf@sandelman.ca>
X-Original-To: 6tisch@ietfa.amsl.com
Delivered-To: 6tisch@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1E1F7129BE0 for <6tisch@ietfa.amsl.com>; Wed, 30 Nov 2016 16:18:53 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.797
X-Spam-Level:
X-Spam-Status: No, score=-4.797 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-2.896, SPF_PASS=-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 ojaqZVLJOd4h for <6tisch@ietfa.amsl.com>; Wed, 30 Nov 2016 16:18:50 -0800 (PST)
Received: from tuna.sandelman.ca (tuna.sandelman.ca [IPv6:2607:f0b0:f:3:216:3eff:fe7c:d1f3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3FF4F12998B for <6tisch@ietf.org>; Wed, 30 Nov 2016 16:18:50 -0800 (PST)
Received: from sandelman.ca (obiwan.sandelman.ca [209.87.249.21]) by tuna.sandelman.ca (Postfix) with ESMTP id 465BD200A7; Wed, 30 Nov 2016 19:35:53 -0500 (EST)
Received: from obiwan.sandelman.ca (localhost [IPv6:::1]) by sandelman.ca (Postfix) with ESMTP id 0F888637A6; Wed, 30 Nov 2016 19:18:49 -0500 (EST)
From: Michael Richardson <mcr+ietf@sandelman.ca>
To: 6tisch <6tisch@ietf.org>
In-Reply-To: <efb18853e63642bc4a996dc419cd1efb@xs4all.nl>
References: <efb18853e63642bc4a996dc419cd1efb@xs4all.nl>
X-Mailer: MH-E 8.6; nmh 1.6+dev; GNU Emacs 24.5.1
X-Face: $\n1pF)h^`}$H>Hk{L"x@)JS7<%Az}5RyS@k9X%29-lHB$Ti.V>2bi.~ehC0; <'$9xN5Ub# z!G,p`nR&p7Fz@^UXIn156S8.~^@MJ*mMsD7=QFeq%AL4m<nPbLgmtKK-5dC@#:k
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha1; protocol="application/pgp-signature"
Date: Wed, 30 Nov 2016 19:18:49 -0500
Message-ID: <31466.1480551529@obiwan.sandelman.ca>
Archived-At: <https://mailarchive.ietf.org/arch/msg/6tisch/Th7dmubd7intVkPgDJr26tM5ciY>
Cc: consultancy@vanderstok.org
Subject: Re: [6tisch] xxx-bootstrap
X-BeenThere: 6tisch@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: "Discuss link layer model for Deterministic IPv6 over the TSCH mode of IEEE 802.15.4e, and impacts on RPL and 6LoWPAN such as resource allocation" <6tisch.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/6tisch>, <mailto:6tisch-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/6tisch/>
List-Post: <mailto:6tisch@ietf.org>
List-Help: <mailto:6tisch-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/6tisch>, <mailto:6tisch-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 01 Dec 2016 00:18:54 -0000

Hi, I haven't read the entire thread yet, but I wanted to pull out another
email from a private thread about some ideas I had before I forgot.

This would be the phase 1.  Now that I understand more about EDHOC,
I think that the certificate exchange and EDHOC setup would occur
at the GET /nonce phase.

Peter, if this is what you have in mind, then let's develop one of the
EST/CoAP drafts into saying this.

====

I am thinking about if we can come up with a mechanism that can be driven by
either side, which uses the same protocol and message encodings.
I had been thinking last night that CMS was getting in the way, but I
think that actually that's probably not the case; we are going to use
pkcs7/11 anyway, and if that's really the extent of it, then no big deal.

I'm trying to find a way to merge this into netconf-keystore essentially, and
that document is not really particular about the formats.

I'm looking at draft-ietf-anima-bootstrapping-keyinfra-04 section 5.7,
and EST section 4.

I imagine that one can reverse the process in 6tisch, and we could POST
From the JCE to client /cacerts, etc...

So, if the straight EST process looks like:

    new-node                     registrar
         POST /requestaudittoken-->     [includes nonce]
         <--- 200 OK + audit token-     [section 5.2]

         GET /cacerts ----------->
         <--- domain certificate--     (application/pkcs7-mime,
                                        CMC Simple PKI RESPONSE)
         GET /csrattrs ---------->
         <--- app/csrattrs -------     [ASN as per 7030]

         POST /simpleenroll------>     (PKCS#10 Cert Req)
         <--- LDevID cert---------     (pkcs7)


Then the JCE driven process should instead look like:

    pledge                       JCE
         <--- CoAP GET /nonce-----
         ----- 200 OK, nonce ---->     [could be empty if nonce

         <--- CoAP POST /voucher--     {audit token or ownership voucher}
         ----- 200 OK------------>     [or 4xx or 5xx code! ]

         <--- CoAP POST /cacerts--     [block-transfer]  [maybe not??]
                                       (application/pkcs7-mime,
                                        CMC Simple PKI RESPONSE)
         ----200 OK-------------->

         <--- CoAP POST /csrattrs-     [ASN as per 7030]
         ----200 OK-------------->

         <--- CoAP GET  /csr------
         ----200 OK ---PKCS10 ----     [PKCS#10 Cert Req]

         <--- CoAP POST /cert-----     [PKCS7 Certificate]
         ----200 OK --------------

Except that ideally, the above would be described in YANG with Kent's help
in netconf-keystore.
(Pascal, in our SoW #7, the above protocol would be Deliverable 3, btw)



--
Michael Richardson <mcr+IETF@sandelman.ca>ca>, Sandelman Software Works
 -= IPv6 IoT consulting =-