Re: [6tisch-security] wirelessHART/6tisch join process

Jonathan Simon <jsimon@linear.com> Tue, 27 May 2014 16:39 UTC

Return-Path: <jsimon@linear.com>
X-Original-To: 6tisch-security@ietfa.amsl.com
Delivered-To: 6tisch-security@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CE6BA1A01A8 for <6tisch-security@ietfa.amsl.com>; Tue, 27 May 2014 09:39:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Level:
X-Spam-Status: No, score=-4.2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3] autolearn=ham
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 xWYlcFAqadQf for <6tisch-security@ietfa.amsl.com>; Tue, 27 May 2014 09:39:19 -0700 (PDT)
Received: from p01c12o141.mxlogic.net (p01c12o141.mxlogic.net [208.65.145.64]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D511D1A01AF for <6tisch-security@ietf.org>; Tue, 27 May 2014 09:39:16 -0700 (PDT)
Received: from unknown [12.218.215.72] (EHLO smtpauth1.linear.com) by p01c12o141.mxlogic.net(mxl_mta-8.0.0-1) with ESMTP id fafb4835.0.715.00-295.1694.p01c12o141.mxlogic.net (envelope-from <jsimon@linear.com>); Tue, 27 May 2014 10:39:16 -0600 (MDT)
X-MXL-Hash: 5384bfb45bbfb090-4618440e1264af21c77a45ad039aef3ebee9e3f8
Received: from jsimonmacmini.engineering.linear.com (unknown [10.70.48.25]) by smtpauth1.linear.com (Postfix) with ESMTPSA id 5AA44740A0; Tue, 27 May 2014 09:39:09 -0700 (PDT)
Content-Type: text/plain; charset="windows-1252"
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Jonathan Simon <jsimon@linear.com>
In-Reply-To: <32529.1401204680@sandelman.ca>
Date: Tue, 27 May 2014 09:41:12 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <A469EA9C-6AB4-4D98-BF8F-FD8CF628DF59@linear.com>
References: <E045AECD98228444A58C61C200AE1BD8416F3AF4@xmb-rcd-x01.cisco.com> <531DD632.2060009@cox.net> <531DDB20.5050600@gmail.com> <10925.1394631496@sandelman.ca> <532069C8.2050005@gmail.com> <23590.1394999032@sandelman.ca> <18106.1395625035@sandelman.ca> <19609.1396839403@sandelman.ca> <11557.1397444260@sandelman.ca> <28192.1398644294@sandelman.ca> <29064.1399255587@sandelman.ca> <19475.1400588783@sandelman.ca> <4903.1401158997@sandelman.ca> <53840205.2070103@gmail.com> <CAJeFcoS3PNFX2obx3uNDJDtH=QvNLmaPhw2R468sNaeqpo8QBQ@mail.gmail.com> <32529.1401204680@sandelman.ca>
To: Michael Richardson <mcr+ietf@sandelman.ca>
X-Mailer: Apple Mail (2.1878.2)
X-AnalysisOut: [v=2.1 cv=AaA/HhnG c=1 sm=1 tr=0 a=glloKNylpeYNumXQcclYyA==]
X-AnalysisOut: [:117 a=glloKNylpeYNumXQcclYyA==:17 a=kxGRWJTf_DYA:10 a=D2_]
X-AnalysisOut: [GN2MmYMYA:10 a=BLceEmwcHowA:10 a=N659UExz7-8A:10 a=MqDINYq]
X-AnalysisOut: [SAAAA:8 a=YlVTAMxIAAAA:8 a=SyYMxH9GAAAA:8 a=48vgC7mUAAAA:8]
X-AnalysisOut: [ a=jAZBiwQmyI1jSaIP70AA:9 a=8dfgveM6c710LqtT:21 a=0RF6iuJb]
X-AnalysisOut: [Kvme4UTv:21 a=pILNOxqGKmIA:10 a=xLpt9-x9cSEA:10 a=lZB815dz]
X-AnalysisOut: [VvQA:10]
X-Spam: [F=0.5000000000; CM=0.500; MH=0.500(2014052717); S=0.200(2014051901)]
X-MAIL-FROM: <jsimon@linear.com>
X-SOURCE-IP: [12.218.215.72]
Archived-At: http://mailarchive.ietf.org/arch/msg/6tisch-security/VON7byf_VtqS4arjR7OxDq1tbjE
Cc: 6tisch-security@ietf.org
Subject: Re: [6tisch-security] wirelessHART/6tisch join process
X-BeenThere: 6tisch-security@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Extended Design Team for 6TiSCH security architecture <6tisch-security.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/6tisch-security>, <mailto:6tisch-security-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/6tisch-security/>
List-Post: <mailto:6tisch-security@ietf.org>
List-Help: <mailto:6tisch-security-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/6tisch-security>, <mailto:6tisch-security-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 27 May 2014 16:39:21 -0000

Responses inline

> 
> Jonathan Simon <jsimon@linear.com> wrote:
>> * One or more devices are sending beacons to advertise the presence of
>> the network. In WirelessHART, this frame is unencrypted, but
>> authenticated with a well known key.  The beacon contains the current
>> ASN, which the joining device uses to synchronize its clock.
> 
> I think that this step won't change at all.
> draft-piro-6tisch-security-issues-01 calls this a Partial and Hybrid Secure
> Network.

JS - How the joining node trusts the beacon appears to be one of Rene’s questions.  A well-known key allows you to distinguish it from another protocol, but it doesn’t protect you against an attacker. One option is generating the key based on one of the preconfigured certs. 
> 
>> * Once the joining node has heard a beacon, it continues listening for
>> additional beacons for a short specified timeout.
> 
> You don't explain this part, but one assumes one does this in order to:
>  1) perhaps obtain a better (louder) beacon.
>  2) in order to hear the correct (non-malicious beacon) as well.
> 
> We also need to listen for an RA during some slotted-Aloha period,
> which the beacon(s) would tell us about.

JS - it’s to hear louder beacons, or beacons from devices closer to the manager (coordinator).
> 
>> * The joining node encrypts a frame containing some HART specific
>> content, including a list of beaconing neighbors it heard in the
>> previous steps. The size of the payload is ~ 60 bytes.  The packet is
>> routed by a "proxy" node - the joining parent. The frame is
>> authenticated using the well-known key, and encrypted using a shared
>> symmetric key known only by the node and the manager.
> 
> The name for this message is the ND+ARO... That's how things map.
> And the ND+ARO is "routed by a proxy node", exactly the same.
> The frame is authenticated using a public key rather than a well known
> symmetric key.  The message is probably not encrypted.
> 
> What is the purpose of including the list of beaconing neighbours?

JS - WirelessHART is centrally managed, so the additional connnectivity information is there for mesh management.  There is a separate discovery process (analogous to ND) in the running network to gather the same information, but it is typically slow.  
> 
>> * The manager responds with a frame containing the run-time link-layer
>> key, the node's new short address (this takes the place of PAN
>> coordinator association), and a unicast session key and starting nonce
>> for the manager. This frame is encrypted with the symmetric key. The
>> payload is ~ 60 bytes, and is routed to the proxy for delivery to the
>> joining node - the proxy uses the link-layer well known key on the
>> frame.
> 
> ND+ARO reply, but possibly not including all of this information.
> My understanding is that in the WirelessHart case, that the format of this
> frame is in the same sensor/acutator format as application layer traffic.
> 
> In the 6tisch situation, this is where we would like to insteed start
> the DTLS/CoAP session.  Ideally, we'd like like it to be end-to-end, but the
> node is not completely on the network, and so it might still require a
> proxy.  That *could* be trivially in the form an IPIP header, or it could
> more complex.
> 
>> * At this point the joining node transitions to using the run-time
>> link-layer key for all link-layer frames, and the manager unicast
>> session for end-to-end manager traffic. This ends the initial security
>> handshake.
> 
> Agreed --- one can imagine that the node might remove the JOIN key from its
> MAC, and replaces it with the run-time key, and that might even involve
> resetting that chip or something.
> 
>> * Over a number of additional frames, the manager assigns additional
>> sessions, including broadcast sessions, and a unicast session to the
>> Gateway (sink for all data traffic), and additional communications
>> resources, routing information, etc.  There is no explicit transition
>> from joining to joined - the mote transitions when certain key frames
>> are received.
> 
> This is akin to the 6top schedule distribution.
> 
>> * Note that a WirelessHART link-layer frame contains and additional
>> frame type byte and a 4-byte link-layer MIC, on top of the unsecured
>> 15.4 frame.  A network frame contains an additional 16-40 bytes of
>> addressing, routing, security and other information.
> 
> --
> ]               Never tell me the odds!                 | ipv6 mesh networks [
> ]   Michael Richardson, Sandelman Software Works        | network architect  [
> ]     mcr@sandelman.ca  http://cp.mcafee.com/d/5fHCMUe6wUqdEInhjKMUqekjtPqbwVBcSyUepvdEK3zhOyCOqejrzPPPz5XCN6ABqM1hYEvIundDOx-NVsSCwXH3Pb_nVWZPhPRXBQSn7-hjjujVqWtAkRrCzAtOEuvkzaT0QSyrhdTV5xdVYsyMCqejtPo0aCMgYZnotrsdKjBiNcLjXdNBcIn8lrxrW0GnPtU02rd79EVjhdCBJOsGm9BWvpKcFBziWq834E-vZa1sg1o9NOsGm9Cy0hHa1EwmzmTQErvKr1ZiF        |   ruby on rails    [
> 
> 
> --
> Michael Richardson <mcr+IETF@sandelman.ca>, Sandelman Software Works
> -= IPv6 IoT consulting =-
> 
> 
> 
> _______________________________________________
> 6tisch-security mailing list
> 6tisch-security@ietf.org
> http://cp.mcafee.com/d/1jWVIpdEInhjKMUqekjtPqbwVBcSyUepvdEK3zhOyCOqejrzPPPz5XCN6ABqM1hYEvIundDOx-NVsSCwXH3Pb_nVWZPhPRXBQSn7-hjjujVqWtAkRrCzAtOEuvkzaT0QSyrhdTV5xdVYsyMCqejtPpesRG9pxjFvdTw0e2qKMM-l9OwXn79OFoCnFZCUOCmdKjBiNcLjXdNBcIn8lrxrW0GnPtU02rd79EVjhdCBJOsGm9BWvpKcFBziWq834E-vZa1sg1o9NOsGm9Cy0hHa1EwmzmTQErvKrU8X-yrFc