Tero - you bring up a good point that after all of the discussion of this
issue we have
still not done a good job explaining it, since it's clear that there are
still misunderstandings.

The text in section 4.6 says "This specification assumes the existence of
two cryptographic keys."
That is incorrect, and should be changed.  I propose
"This specification assumes the existence of one protocol identifier, P1,
and one cryptographic
key K2.  P1 provides no security."

Let me go over the reasoning behind having P1.  Any implementation of
6TiSCH has one of
three choices for message integrity on the EBs:
1) use no message integrity
2) use a well-known protocol identifiier, with no security value
3) use a secret key

There is ample evidence that sending 15.4 frames without message integrity
is problematic, so
we'd prefer not to do option 1.
Option 2 provides no security, but it does provide message integrity, and
it provides some level
of confidence that the sender of the frame is using the same version of the
protocol that the
receiver is using.
Option 3 provides all of the benefits of option 2, plus some level of
security.  It is a fine option,
but it assumes the existence of a pre-distributed cryptographic key K1,
which is a non-starter.

ksjp

On Thu, Jan 5, 2017 at 8:04 AM, Tero Kivinen <kivi...@iki.fi> wrote:

> Brian E Carpenter writes:
> > Hi Thomas,
> >
> > The responses to my comments almost all look fine to me. Just one point,
> > on MINOR COMMENT 4 (slide 8):
> >
> > "Shouldn't this also say that this value MUST NOT be used in
> > operational networks?"
> >
> > We've seen many cases over the years of informal values making it into
> shipped
> > products... generally a Bad Thing. But with my lack of IEEE802.15.4
> expertise,
> > I really don't know whether it matters in this case. Whatever the WG
> decides
> > is good, as long as the point is considered.
>
> It does matter. If anybody knows the key they can do single packet DoS
> attack against network and kill it...
>
> I.e. send EB to some of the nodes, so that it changes the schedule.
> After that the nodes in the network are out of sync, and after few
> minutes or tens of minutes they will realize this and start to
> recover, but it takes long time, and can cause lots of disruption.
>
> If node receives EB which says that the EB slot is not timeslot 0, or
> that it has channel offset of 1 or something like that, then it will
> be listening EBs from wrong channel after that. After it misses enough
> of packets from the network it realizes it is out of sync and
> reinitializes itself back to network. This means it needs to do
> passive scan over the 16 channels listening each channel for slot
> frame size * timeslot duration * EB_PERIOD (at minimum, perhaps twice
> in case it happens to miss EB). Meaning that with 101 slot frames, and
> 10ms timeslot duration, and with EB_PERIOD of 3 that is 3 seconds per
> channel, and for 16 channels it takes 48 seconds.
>
> During that time nodes which were children of that node, will notice
> that it has gone, and they will start doing same...
>
> The attacker can cause even more confusion by changing the timeslot
> parameters, or channel hopping order, but I would hope that
> implementations would ignore changes to those IEs while the network is
> running.
>
> On the other changing channel offset or timeslot number for EBs, is
> something that might happen, so nodes might need to cope with that.
>
> I have complained this clear text password in the specification for
> long time, and I do not think there is any reason to include that key
> in the RFC. The early interoperability testing people can agree on key
> they use in the interoperability events it does not need to be
> hardcoded in the RFC or in the code.
>
> > I hope the interim goes well, it is too far out of my time zone to
> attend!
> --
> kivi...@iki.fi
>
_______________________________________________
Gen-art mailing list
Gen-art@ietf.org
https://www.ietf.org/mailman/listinfo/gen-art

Reply via email to