Re: [6tisch] Fwd: New Version Notification for draft-tiloca-6tisch-robust-scheduling-01.txt

2019-03-21 Thread Yasuyuki Tanaka

Hi Marco,

I'd like to ask you to help me understand the attack (>_<)

https://tools.ietf.org/html/draft-tiloca-6tisch-robust-scheduling-01#section-3.2
> 3.2.  Attack Example
>
> (snip)
>
>2.  The adversary picks a channel 'f*' at random, and monitors it for
>N_C consecutive slotframes to determine the timeslots in which
>the victim node communicates on that channel.  Due to the usage
>property, the number of such timeslots is equal to the number of
>cells assigned to the victim node.

How does the adversary identify communication of the victim? It
assumes the adversary knows the EUI-64 address of the victim in
advance, or the adversary randomly picks out a victim node?

If the adversary attacks based on a target EUI-64 address, it seems
using EUI-16 (short) address which can be assigned through the join
process could mitigate the attack.


https://tools.ietf.org/html/draft-ietf-6tisch-minimal-security-09#section-10

I'm wondering how severe the attack is...

Best,
Yatch

On 12/17/2018 12:38 PM, Marco Tiloca wrote:

Hi all,

We have just submitted a new version of our draft describing how to 
alter the communication pattern of network nodes to counteract selective 
jamming.


https://tools.ietf.org/html/draft-tiloca-6tisch-robust-scheduling-01

This update especially addresses the comments from IETF 103, by 
clarifying the attack importance and the adversary model. Also, the 
draft is now aligned with the CoJP Join Response from the latest minimal 
security framework.


Comments are welcome!

Thanks,
/Marco


 Forwarded Message 
Subject: 	New Version Notification for 
draft-tiloca-6tisch-robust-scheduling-01.txt

Date:   Mon, 17 Dec 2018 03:27:31 -0800
From:   internet-dra...@ietf.org
To: 	Marco Tiloca , Gianluca Dini 
, Simon Duquennoy 






A new version of I-D, draft-tiloca-6tisch-robust-scheduling-01.txt
has been successfully submitted by Marco Tiloca and posted to the
IETF repository.

Name: draft-tiloca-6tisch-robust-scheduling
Revision: 01
Title: Robust Scheduling against Selective Jamming in 6TiSCH Networks
Document date: 2018-12-17
Group: Individual Submission
Pages: 15
URL: 
https://www.ietf.org/internet-drafts/draft-tiloca-6tisch-robust-scheduling-01.txt
Status: 
https://datatracker.ietf.org/doc/draft-tiloca-6tisch-robust-scheduling/
Htmlized: 
https://tools.ietf.org/html/draft-tiloca-6tisch-robust-scheduling-01
Htmlized: 
https://datatracker.ietf.org/doc/html/draft-tiloca-6tisch-robust-scheduling
Diff: 
https://www.ietf.org/rfcdiff?url2=draft-tiloca-6tisch-robust-scheduling-01


Abstract:
This document defines a method to generate robust TSCH schedules in a
6TiSCH (IPv6 over the TSCH mode of IEEE 802.15.4-2015) network, so as
to protect network nodes against selective jamming attack. Network
nodes independently compute the new schedule at each slotframe, by
altering the one originally available from 6top or alternative
protocols, while preserving a consistent and collision-free
communication pattern. This method can be added on top of the
minimal security framework for 6TiSCH.



Please note that it may take a couple of minutes from the time of submission
until the htmlized version and diff are available at tools.ietf.org.

The IETF Secretariat


___
6tisch mailing list
6tisch@ietf.org
https://www.ietf.org/mailman/listinfo/6tisch



___
6tisch mailing list
6tisch@ietf.org
https://www.ietf.org/mailman/listinfo/6tisch


Re: [6tisch] Comments on draft-ietf-6tisch-msf-02 - Re: draft-ietf-6tisch-msf-02.txt is published

2019-03-21 Thread Tengfei Chang
Hi Yatch,

Thanks for the following-up comments! I replied inline below.

On Thu, Mar 21, 2019 at 4:25 PM Yasuyuki Tanaka 
wrote:

> Thank you, Tengfei.
>
> Additional and following-up comments:
>
>
> [Section 5.1, what to do after timeout of a 6P transaction]
> https://tools.ietf.org/html/draft-ietf-6tisch-msf-02#section-5
>
> The draft does not say anything about how to handle timeout of a 6P
> transaction. I know, the initiator of the timed out transaction will
> resend a 6P request to the same peer ;-) But, it's better to mention
> that as well as the maximum number of retries if we have.
>
>
Comment accepted!


>
> [Section 9, 6P Timeout Value]
> https://tools.ietf.org/html/draft-ietf-6tisch-msf-02#section-9
>
> A couple of questions:
>
> - "C" includes the autonomous cell to the neighbor or it is the number
>of the managed cells?
> - How can the timeout value be calculated while PDR is not available?
>
>
I agree that those questions are not clear for the current version.
As the current version allows 6P to send on the autonomous SHARED cell
mentioned in the draft (MAY send on the Managed Cell as well, as mentioned
in the draft.), the PDR value is not realistic.
The calculation of TIMEOUT in the draft MAY not apply anymore.

Instead of a complex calculation, I propose to use a fixed value.
The value is the worst case to have a 6P response received on the
autonomous SAHRED cell after maxmium re-tries.
The worse case means each time when 6P response is failed to send out, it
back-off with the largest number of cells (autonomous SHARED cell).
Since there is only one autonomous SHARED cell each node, the node will
wait for the same number of slotframes.

The calculation is like:

for maxmium 3 retries:

backoff exponent start from 2 and increase each re-transmission

6P Timeout = slotframeDuration * (1 +  (2^2-1)+(2^3-1)+(2^4-1)  )


> [Section 4.5, Step 4 of the bootstrap process]
> https://tools.ietf.org/html/draft-ietf-6tisch-msf-02#section-4.5
>
> tengfei> I don't know whether there is a specification for how the
> tengfei> neighbor table should be managed. If no, I think PERSONALLY
> tengfei> it's better not keeping the address from pledge in neighbor
> tengfei> table.
>
> Although the actual way to manage neighbor information is
> implementation-dependent, the minimal security framework draft
> suggests to have separate memory for joined nodes and for pledges
> respectively:
>
>
> https://tools.ietf.org/html/draft-ietf-6tisch-minimal-security-09#section-6


I see. I am not sure using a neighbor cache is able to avoid the DoS attack.
My intuitive thinking is the neighbor cache still has a fixed size.
If an attacker sends multiple join requests with fake eui64 address in the
packet, it can still fill up the neighbor cache, which blocks other pledges
to join.

This maybe need to discuss with minimal security scope as well.


>
> Again, my comment on Section 4.5 is just that, I think we need some
> text in "Security Considerations" section for this operation described
> in Step 4. And, it seems the term of "the neighbor table" in the Step
> 4 is ambiguous. Some may think it's IPv6 neighbor cache, some may
> think L2 neighbor table.
>

I agree!


>
>
> [Appendix-B, SAX configuration]
>
> tengfei> This is a pre-configured (offline) for interoperability
> tengfei> purpose only.
>
> It's better to mention how a pledge gets the SAX parameters used in
> the network where it is trying to join. There are always two options:
>
> - pre-configured
> - advertised in EBs
>

Agreed.


>
> Best,
> Yatch
>


-- 
Chang Tengfei,
Pre-Postdoctoral Research Engineer, Inria
___
6tisch mailing list
6tisch@ietf.org
https://www.ietf.org/mailman/listinfo/6tisch


Re: [6tisch] Comments on draft-ietf-6tisch-msf-02 - Re: draft-ietf-6tisch-msf-02.txt is published

2019-03-21 Thread Yasuyuki Tanaka

Thank you, Tengfei.

Additional and following-up comments:


[Section 5.1, what to do after timeout of a 6P transaction]
https://tools.ietf.org/html/draft-ietf-6tisch-msf-02#section-5

The draft does not say anything about how to handle timeout of a 6P
transaction. I know, the initiator of the timed out transaction will
resend a 6P request to the same peer ;-) But, it's better to mention
that as well as the maximum number of retries if we have.


[Section 9, 6P Timeout Value]
https://tools.ietf.org/html/draft-ietf-6tisch-msf-02#section-9

A couple of questions:

- "C" includes the autonomous cell to the neighbor or it is the number
  of the managed cells?
- How can the timeout value be calculated while PDR is not available?


[Section 4.5, Step 4 of the bootstrap process]
https://tools.ietf.org/html/draft-ietf-6tisch-msf-02#section-4.5

tengfei> I don't know whether there is a specification for how the
tengfei> neighbor table should be managed. If no, I think PERSONALLY
tengfei> it's better not keeping the address from pledge in neighbor
tengfei> table.

Although the actual way to manage neighbor information is
implementation-dependent, the minimal security framework draft
suggests to have separate memory for joined nodes and for pledges
respectively:


https://tools.ietf.org/html/draft-ietf-6tisch-minimal-security-09#section-6

Again, my comment on Section 4.5 is just that, I think we need some
text in "Security Considerations" section for this operation described
in Step 4. And, it seems the term of "the neighbor table" in the Step
4 is ambiguous. Some may think it's IPv6 neighbor cache, some may
think L2 neighbor table.


[Appendix-B, SAX configuration]

tengfei> This is a pre-configured (offline) for interoperability
tengfei> purpose only.

It's better to mention how a pledge gets the SAX parameters used in
the network where it is trying to join. There are always two options:

- pre-configured
- advertised in EBs

Best,
Yatch

___
6tisch mailing list
6tisch@ietf.org
https://www.ietf.org/mailman/listinfo/6tisch