Tero Kivinen writes:
> Kristofer PISTER writes:
> > Can you say more about the reasoning behind "Disallow short
> > addresses in Nonce generation" ?
> 
> Short addresses are not defined to be unique. The 802.15.4 says that
> how short addresses are chosen is outside the scope of this standard.
...
> Section 7.3.1 defines integer representation format for the section
> 7.3, and it says that format of B.2 is used, and B.2.2 says integers
> shall be represented as octect strings in most-significat-octet-first.
> This means that if we encode short address 0x1234 as 16-bit integer,
> and pad with zeros we get nonce value of
> 
>       12 34 00 00 00 00 00 00

Of course forgot one big collision case too. I.e. if there is anybody
in the network having extended address of 12:34:00:00:00:00 (or
00:00:00:00:12:34 depending on how the short addresses are encoded in
source address field), this will also cause nonce collisions for short
address of 0x1234 when they send at the same time (i.e. use same ASN).

There would have also be ways to try to fix these issues in other
ways, by requiring that PAN coordinators must enforce that short
addresses are unique at all times, and that they must not allocate
short addresses for devices where they might overlap extended
addresses, and if node with extended address that might overlap with
some short address join the network, the device with that short
address must immediately be disassicated from the network, and of
course specify the encoding for the short address, and most likely
also add the PAN id to be used in combination with short address in
nonce generation etc. Even then the short addresses could only be used
when ASN is used, there is no way to use them securely when ASN is not
used.

All of this would have caused much bigger non-interoperable changes to
the implementations, and made the PAN coordinators work much harder,
so just removing the short addresses in the nonce generation was much
easier change, and most likely will cause much less actual changes in
implementations (== do the same you already do when not using TSCH
i.e. use the ExtAddress in DeviceDescriptor when calculating nonce).
-- 
[email protected]

_______________________________________________
6tisch mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/6tisch

Reply via email to