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
