Re: [Iot-onboarding] OPC and BRSKI

Eliot Lear <lear@cisco.com> Wed, 07 August 2019 07:33 UTC

Return-Path: <lear@cisco.com>
X-Original-To: iot-onboarding@ietfa.amsl.com
Delivered-To: iot-onboarding@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 640601201FA; Wed, 7 Aug 2019 00:33:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.49
X-Spam-Level:
X-Spam-Status: No, score=-14.49 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.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 5l5ZqZae1KMw; Wed, 7 Aug 2019 00:33:26 -0700 (PDT)
Received: from aer-iport-2.cisco.com (aer-iport-2.cisco.com [173.38.203.52]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2F011120043; Wed, 7 Aug 2019 00:33:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=43910; q=dns/txt; s=iport; t=1565163205; x=1566372805; h=from:message-id:mime-version:subject:date:in-reply-to:cc: to:references; bh=czWOeU+n4n3exT5wvmljlMLtdUd6zkvVCPHULUEeNpA=; b=eYfSz+YEi7ZFSTE2ZGu/WEFzrB98L0mFr0gFJ0VPvjo/J/uAdHE/3sbb qN0BFjj4Xnb76xESxOgedJwPz3nXO1W3N4p3CNVxV3UeEQvM7BnU8UydM LJ0QUyPEXP0bwU8cutga7GHF7zhA1zuCwNol/92NLhF+R84COAS1I+m8Y g=;
X-Files: signature.asc : 195
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0AHAABkfkpd/xbLJq1dCRkBAQEBAQEBAQEBAQEHAQEBAQEBgVMEAQEBAQELAYEVU4EcUQEyKoQeiBxgiFqHN5FSFIFnAgcBAQEJAwEBGAEKDAEBhD8CgmI0CQ4BBAEBBAEBAgEGbYUnDIVKAQEBAQIBAQEhSAMLBQcECxEEAQEBIAEGAwICJx8JCAYKCYMiAYF7Dw+qBoEyhUmEcwoGgTQBgVCKKYF/gREnH4FOfj6CYQEBAoEjEhMBTIJVMoImBIwNIBqIRpYdCYIegh+BDpB0G4IvhyyDa4ZQhBeefIMygw4CBAYFAhWBUDgqgS4zGggbFTsqAYJBPoENiXyFQT0DMAEBi14rgiUBAQ
X-IronPort-AV: E=Sophos;i="5.64,356,1559520000"; d="asc'?scan'208,217";a="15180434"
Received: from aer-iport-nat.cisco.com (HELO aer-core-3.cisco.com) ([173.38.203.22]) by aer-iport-2.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 07 Aug 2019 07:33:22 +0000
Received: from [10.61.221.4] ([10.61.221.4]) by aer-core-3.cisco.com (8.15.2/8.15.2) with ESMTPS id x777XLTj001409 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 7 Aug 2019 07:33:21 GMT
From: Eliot Lear <lear@cisco.com>
Message-Id: <F5504CAE-85B7-43AF-B743-1E234A4B320E@cisco.com>
Content-Type: multipart/signed; boundary="Apple-Mail=_670022E0-FBEC-4F9F-B0B7-714E175AD8B6"; protocol="application/pgp-signature"; micalg="pgp-sha1"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
Date: Wed, 07 Aug 2019 09:33:19 +0200
In-Reply-To: <BYAPR08MB4903E91A2E9FC117755443C1FAD50@BYAPR08MB4903.namprd08.prod.outlook.com>
Cc: Toerless Eckert <tte@cs.fau.de>, "iot-onboarding@ietf.org" <iot-onboarding@ietf.org>, "anima@ietf.org" <anima@ietf.org>
To: "Randy Armstrong (OPC)" <randy.armstrong@opcfoundation.org>
References: <BYAPR08MB4903F02A37ED9AE092A59B8EFAD50@BYAPR08MB4903.namprd08.prod.outlook.com> <649C8221-5F33-4EC2-8E03-3EEAF4CAAB64@cisco.com> <BYAPR08MB4903129ECDEADF61E681DE0BFAD50@BYAPR08MB4903.namprd08.prod.outlook.com> <46BF5F7B-5407-45A9-9C4F-EA553DF5814B@cisco.com> <BYAPR08MB49037C509717B409DE7B570BFAD50@BYAPR08MB4903.namprd08.prod.outlook.com> <20190806223052.md5lp6yeleuvuf5l@faui48f.informatik.uni-erlangen.de> <BYAPR08MB4903CED7FFDB7D11EFDB49FAFAD50@BYAPR08MB4903.namprd08.prod.outlook.com> <BYAPR08MB4903E91A2E9FC117755443C1FAD50@BYAPR08MB4903.namprd08.prod.outlook.com>
X-Mailer: Apple Mail (2.3445.104.11)
X-Outbound-SMTP-Client: 10.61.221.4, [10.61.221.4]
X-Outbound-Node: aer-core-3.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/iot-onboarding/nbaiWSeRUbqbmbLtIS5xXB9G6MU>
Subject: Re: [Iot-onboarding] OPC and BRSKI
X-BeenThere: iot-onboarding@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Discussion of IoT onboarding mechanisms <iot-onboarding.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/iot-onboarding>, <mailto:iot-onboarding-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/iot-onboarding/>
List-Post: <mailto:iot-onboarding@ietf.org>
List-Help: <mailto:iot-onboarding-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/iot-onboarding>, <mailto:iot-onboarding-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Aug 2019 07:33:31 -0000

Randy,

Thanks.  We have irregular calls, but I will poll for one in the 3rd week of August to discuss your use case.

In an OPC UA environment, might one expect that the join registrar and the certificate manager be co-resident?  This would be where EST/SCEP would happen (BRSKI can be viewed as an extension to EST - RFC 7030).  There is no "push mode" for EST.  However, my understanding is that the same capability roughly speaking resides in CIP.

My bigger question is whether you want to use all of this for network authentication to avoid unauthorized devices joining the network in the first place, or whether this is intended solely for application authentication.

Eliot


> On 7 Aug 2019, at 01:19, Randy Armstrong (OPC) <randy.armstrong@opcfoundation.org> wrote:
> 
> Push should be “Certificate Manager initiated”
> 
> From: Iot-onboarding <iot-onboarding-bounces@ietf.org <mailto:iot-onboarding-bounces@ietf.org>> On Behalf Of Randy Armstrong (OPC)
> Sent: August 6, 2019 4:17 PM
> To: Toerless Eckert <tte@cs.fau.de <mailto:tte@cs.fau.de>>
> Cc: iot-onboarding@ietf.org <mailto:iot-onboarding@ietf.org>; anima@ietf.org <mailto:anima@ietf.org>; Eliot Lear <lear@cisco.com <mailto:lear@cisco.com>>
> Subject: Re: [Iot-onboarding] OPC and BRSKI
> 
> Hi
> 
> 1) Sure, need to understand how TCP UA works wih the minimum amount of message authentication to allow for BRSKI. Main challenge may be the need for pledges to receive messages from registrar that are authenticated by the registar, but where the pledge has to wait until it can actually perform the authentication later. Depending on how you built TCP UA message layer authentication this may be piece of cake / free or not.
> 
> It would be easy to drop in a OPC UA aware registrar and implement all of the BRKSI flows back to the MASA. The only nuisance factor is the 'prior-signed-voucher-request'.. If MASA's are willing allow this field to be omitted and to trust the Registrar then nothing more needs to done. If MASA's need this field then we could get it from the Device via OPC UA but producing the CMS message adds an additional burden on low end devices (i.e. the need to pull in libraries that provide the same functionality as OPC UA but do it in different format).
> 
> The 2 modes of operation with a OPC UA aware registrar (the Certificate Manager is an OPC UA defined entity).
> 
> Pull (device initiated)
> 
> <image005.png>
> 
> Push (Registrar initiated)
> 
> <image006.png>
> 
> Regards,
> 
> Randy
> 
> -----Original Message-----
> From: Toerless Eckert <tte@cs.fau.de <mailto:tte@cs.fau.de>>
> Sent: August 6, 2019 3:31 PM
> To: Randy Armstrong (OPC) <randy.armstrong@opcfoundation.org <mailto:randy.armstrong@opcfoundation.org>>
> Cc: Eliot Lear <lear@cisco.com <mailto:lear@cisco.com>>; iot-onboarding@ietf.org <mailto:iot-onboarding@ietf.org>; anima@ietf.org <mailto:anima@ietf.org>
> Subject: Re: [Iot-onboarding] OPC and BRSKI
> 
> On Tue, Aug 06, 2019 at 09:32:45PM +0000, Randy Armstrong (OPC) wrote:
> > OPC is layered to separate the application from the choice of network protocol. TLS/WebSockets is an option but the primary protocol that will be used by low end devices is UA TCP which provides complete message based security framework.  These devices do not need TLS to have security and requiring it would require duplication of code.
> 
> Sure, need to understand how TCP UA works wih the minimum amount of message authentication to allow for BRSKI. Main challenge may be the need for pledges to receive messages from registrar that are authenticated by the registar, but where the pledge has to wait until it can actually perform the authentication later. Depending on how you built TCP UA message layer authentication this may be piece of cake / free or not.
> 
> > 2) At some point, the thing decides which part gets an IP address or at least is responsible for the phy.  Can that process be leveraged to establish identity?
> >
> > Machines may have a separate network for internal Devices which IPs assigned by the machine???s DHCP service. Some of these devices may interact with external equipment via a NAT router which assigns a unique port to each device. This means the individual Devices need to be granted access to the operators network when the machine is installed even though the operator cannot provide them with IPs.
> >
> > I need to consult with our machine experts to better explain this use case.
> 
> Primary questions seem to be whether this is just about authentication at the TCP UA layer or further below at some implied NAC mechanism.
> 
> > 3) One possible view here is that the MASA may be offline, and may have provided a voucher via offline means to the join registrar.  This of course would be nonceless with a lengthy expiry time.  In addition, I posited during BRSKI???s review that perhaps the device should be able to generate its own certificate via a higher level interface.
> >
> > OPC already has APIs needed to manage Certificates on a Device. The link to something like the MASA is what we are missing. Nonceless vouchers that do not expire should allow local registrar to emulate a MASA when the MASA is no longer available. I wanted to make sure that this mode of operation is allowed BRSKI.
> 
> Yes it is, it may just not be fully specified in the current targeted BRSKI RFC that we feel everybody who wants to implement it has everything to do so, but thats would just be subjet to future small RFC to close any possible gaps.
> 
> > 4) Can you say more about what mechanisms OPC is interested in pursuing?
> >
> > With OPC we assume that network selection and IP assignment are out of scope. Wired devices are the primary market at this time but 5G could change that.
> 
> BRSKI also does not care about Addressing. Only ACP does, so you can ignore that part if you're not interested in. We have tried to separate out ACP specific aspects in the BRSKI document as good as possible with the somewhat convoluted process we had in the IETF how to drive those documents.
> 
> Cheers
>     Toerless
> 
> > Regards,
> >
> > Randy
> >
> > From: Eliot Lear <lear@cisco..com <mailto:lear@cisco.com>>
> > Sent: August 6, 2019 1:47 PM
> > To: Randy Armstrong (OPC) <randy.armstrong@opcfoundation.org <mailto:randy.armstrong@opcfoundation.org>>
> > Cc: iot-onboarding@ietf.org <mailto:iot-onboarding@ietf.org>
> > Subject: Re: [Iot-onboarding] OPC and BRSKI
> >
> > Hi Randy,
> >
> > Thanks for this.  It???s a great starting point.  I would propose that we do a call so we can get some high bandwidth discussion going.  Please now see below.
> >
> >
> > On 6 Aug 2019, at 20:58, Randy Armstrong (OPC) <randy.armstrong@opcfoundation.org<mailto:randy.armstrong@opcfoundation.org <mailto:randy.armstrong@opcfoundation.org%3cmailto:randy.armstrong@opcfoundation.org>>> wrote:
> >
> > I will start with the main trouble spots. Some of these may be already covered by BRKSI but I missed the implications of some of the text:
> >
> > 1) Low end devices that only support OPC; this means no TLS client
> > capabilities and no ability to initiate network communication (i.e.
> > server only mode);
> >
> >
> > How does OPC handle such devices?  I think this is also coming up elsewhere.  One question is whether TLS is required.  Without TLS one does lose confidentiality, but so long as the client can sign the request, maybe that???s all you use.
> >
> >
> >
> > 2) Machine builders that combine devices into a machine that is sold as a unit. These device still have a unique network identity but the effective manufacturer has changed; How to deal with the DeviceID?
> >
> >
> > At some point, the thing decides which part gets an IP address or at least is responsible for the phy.  Can that process be leveraged to establish identity?
> >
> >
> >
> >
> > 3) Devices may be reset to factory defaults and sold/transferred to another organization. This needs to be possible even if the MASA is no longer available (i.e. the original manufacturer has gone out of business).
> >
> > One possible view here is that the MASA may be offline, and may have provided a voucher via offline means to the join registrar.  This of course would be nonceless with a lengthy expiry time.  In addition, I posited during BRSKI???s review that perhaps the device should be able to generate its own certificate via a higher level interface.
> >
> >
> >
> > 4) Offline operation is the norm with pre-issued vouchers delivered out of band. The pre-issued vouchers will need to have reasonably long lifetime (i.e. years not hours).
> >
> > The lifecycle of a device is shown in the following diagram. The
> > expectation is we would need to add links to the MASA at each step in
> > the lifetime
> >
> >
> > Thank you for that.  For wired it seems to me that a permissive MASA model (logging only) could provide you a way forward.  For wireless, this is not an option because proper network selection needs to occur.  Another question is whether we need another mechanism is necessary to validate the voucher (aka, a PSK w/ proof of knowledge, or DPP, etc).
> >
> > Can you say more about what mechanisms OPC is interested in pursuing?
> >
> > Eliot
> >
> 
> > --
> > Iot-onboarding mailing list
> > Iot-onboarding@ietf.org <mailto:Iot-onboarding@ietf.org>
> > https://www.ietf.org/mailman/listinfo/iot-onboarding <https://www.ietf.org/mailman/listinfo/iot-onboarding>
> 
> 
> --
> ---
> tte@cs.fau.de <mailto:tte@cs.fau.de>