Re: [6tisch-security] IP-IP-IP example?

Michael Richardson <mcr+ietf@sandelman.ca> Thu, 30 March 2017 20:17 UTC

Return-Path: <mcr+ietf@sandelman.ca>
X-Original-To: 6tisch-security@ietfa.amsl.com
Delivered-To: 6tisch-security@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C8EC6129469; Thu, 30 Mar 2017 13:17:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.902
X-Spam-Level:
X-Spam-Status: No, score=-1.902 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, RP_MATCHES_RCVD=-0.001, 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 96cxaFcejAz7; Thu, 30 Mar 2017 13:17:39 -0700 (PDT)
Received: from tuna.sandelman.ca (tuna.sandelman.ca [209.87.249.19]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B430C126B72; Thu, 30 Mar 2017 13:17:38 -0700 (PDT)
Received: from sandelman.ca (obiwan.sandelman.ca [IPv6:2607:f0b0:f:2::247]) by tuna.sandelman.ca (Postfix) with ESMTP id A0E54200A3; Thu, 30 Mar 2017 16:41:36 -0400 (EDT)
Received: from obiwan.sandelman.ca (localhost [IPv6:::1]) by sandelman.ca (Postfix) with ESMTP id 929A8636BB; Thu, 30 Mar 2017 16:17:37 -0400 (EDT)
From: Michael Richardson <mcr+ietf@sandelman.ca>
To: Thomas Watteyne <thomas.watteyne@inria.fr>
cc: "6tisch@ietf.org" <6tisch@ietf.org>, "6tisch-security@ietf.org" <6tisch-security@ietf.org>
In-Reply-To: <CADJ9OA-PTtq6yMUjhOAyOngcrbDd-YEpOu_UOfFWTD8=csNHGQ@mail.gmail.com>
References: <CADJ9OA-PTtq6yMUjhOAyOngcrbDd-YEpOu_UOfFWTD8=csNHGQ@mail.gmail.com>
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-sha256"; protocol="application/pgp-signature"
Date: Thu, 30 Mar 2017 16:17:37 -0400
Message-ID: <11574.1490905057@obiwan.sandelman.ca>
Archived-At: <https://mailarchive.ietf.org/arch/msg/6tisch-security/LVTMzBgRfpqTmVmuk-8PZzqZr3o>
Subject: Re: [6tisch-security] IP-IP-IP example?
X-BeenThere: 6tisch-security@ietf.org
X-Mailman-Version: 2.1.22
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: <https://mailarchive.ietf.org/arch/browse/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: Thu, 30 Mar 2017 20:17:42 -0000

Thomas, here is an example of a join message header, as seen on the join
side between pledge and Join Proxy.  Please let me know how I can make this
more complete for your code. If you want hex dump, I'll do that, but I'll
have to create a full topology with some addresses.

Let me do a second email for CoAP proxy example, once you are happy
with this presentation. I don't have a good idea for size of OSCOAP pieces, I
will pull those out.

L2:
        srcmac=ab-cd-12-34-56-78-ab-cd
        dstmac=88-88-aa-bb-cc-dd-ee-ff
IPv6:
        ver=6
        tc=0
        flowid=0
        src=fe80::abcd:1234:5678:abcd
        dst=fe80::0
        nh=17
UDP:
        srcport=1234    <- could be a constant?
        dstport=TBD     <- we could ask for a port, or use 5683

ULP:    OSCOAP stuff.


Travelling from Join Proxy to root/JRC using IPIP(IP):
L2:
        srcmac=ee-ff                    (2-byte, assigned short-address)
        dstmac=next-hop-l2
IPv6:
        ver=6
        tc=0
        flowid=0
        src=2001:db8::eeff
        dst=2001:db8::0001    (assume JRC got assigned short-address 0001)
        nh=41
  RPI header: rank=X, instanceID=Y
IPv6:
        ver=6
        tc=0
        flowid=0
        src=fe80::abcd:1234:5678:abcd
        dst=fe80::0
UDP:
        srcport=1234
        dstport=TBD

ULP:    OSCOAP stuff.


Travelling from root/JRC to Join Proxy using IPIP(IP), if JRC is co-located
in the DODAG root:
L2:
        srcmac=next-hop-l2
        dstmac=ee-ff
IPv6:
        ver=6
        tc=0
        flowid=0
        src=2001:db8::0001
        dst=2001:db8::eeff
        nh=41
  RPI header: rank=X, instanceID=Y
  RH3 header: X hops                    (do you want me to fill this in?)
IPv6:
        ver=6
        tc=0
        flowid=0
        src=fe80::abcd:1234:5678:abcd
        dst=fe80::0
UDP:
        srcport=1234
        dstport=TBD

ULP:    OSCOAP stuff.

Travelling from root/JRC to Join Proxy using IPIP(IP), if JRC is NOT co-located.
in the DODAG root. JRC is now 2001:db8:1::abcd.

L2:
        srcmac=next-hop-l2
        dstmac=ee-ff
IPv6:
        ver=6
        tc=0
        flowid=0
        src=2001:db8::0001
        dst=2001:db8::eeff
        nh=41
  RPI header: rank=X, instanceID=Y
  RH3 header: X hops                    (do you want me to fill this in?)
IPv6:
        ver=6
        tc=0
        flowid=0
        src=2001:db8:1::abcd
        dst=2001:db8::eeff
        nh=41
IPv6:
        ver=6
        tc=0
        flowid=0
        src=fe80::abcd:1234:5678:abcd
        dst=fe80::0
UDP:
        srcport=1234
        dstport=TBD

ULP:    OSCOAP stuff.



Link-Local anycast:
           https://tools.ietf.org/html/rfc4291#section-2.6

as far as I can tell, we can make up our own LL-anycast, but we could
reasonably also use fe80::0

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