As far as I know the LoraWan v1.1 Spec uses the following keys:
- FNwkSIntKey: In order secure the message integrity on the data that a node sends to the server.
- SNwkSIntKey: In order to secure the message integrity on the data that a node receives from the network.
- NwkSEncKey: In order to encrypt the payload data transfered over the network.
Also I have seen that also supports the following keys when performs a join procedure:
- JSIntKey: That is used for message integrity during join procedures.
- JSEncKey: That is used for message encryption during join procedures.
Also I have looked over a current abp activation code example using IBM's lmic library.
And I saw only the having a network session key and an Application session key according to the snippet:
static const PROGMEM u1_t NWKSKEY[16] = { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C };
static const u1_t PROGMEM APPSKEY[16] = { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C };
And I wonder why they have only 2 session keys. So I want to ask:
- Do they support the version 1.0.x and not the latest 1.1 version?
- If they support the version 1.1 do they use only 2 keys for backwards compartibility (the documentation states that FNwkSIntKey, SNwkSIntKey, NwkSEncKey should have the same value in case of Backwards compartibility)?
- If yes how I will use it in order to support the full non-backwards compartible spec 1.1 of LoraWan?