Atualizações da especificação
A versão TS001 LoRaWAN L2 1.2.x da especificação é uma atualização da Especificação LoRaWAN v1.0.x. Aqui estão as principais diferenças:
Melhorias de segurança
A especificação LoRaWAN 1.0.x requer uma única chave secreta compartilhada, a chave do aplicativo (AppKey). A AppKey é usada para derivar duas chaves de sessão: a AppSKey e a NwkSKey.
A novidade no LoRaWAN 1.2.x é a chave de rede (NwkKey). Esta é uma chave AES de 128 bits usada para derivar três chaves de sessão:
- FNwkSIntKey (Forwarding Network Session Integrity Key): Usado por um dispositivo final para calcular o MIC para todas as mensagens de uplink
- SNwkSIntKey (Serving Network Session Encryption Key): Usado por um dispositivo final para verificar o MIC para todas as mensagens de downlink
- NwkSEncKey (Network Session Encryption Key): usado para a criptografia de comandos MAC
Outro aprimoramento de segurança está relacionado ao contador de quadros. Com LoRaWAN 1.1, o contador de quadros nunca pode ser redefinido durante uma sessão. Isso significa que, ao usar Autenticação por Personalização (ABP), os dispositivos finais devem ter memória persistente, para garantir que o contador de quadros não reinicie do zero após um ciclo de energia.
Para evitar ataques de repetição, dois nonces foram introduzidos: o DevNonce e o JoinNonce. O DevNonce é um contador que começa em zero quando o dispositivo é ligado inicialmente. Cada vez que um dispositivo inicia uma solicitação de ingresso, o DevNonce é incrementado em um. Essa mudança também foi incluída de LW1.0.4 em diante. O JoinNonce é um contador que também começa em zero. Ele incrementa toda vez que uma solicitação de ingresso é aceita (ou seja, quando uma mensagem de aceitação de ingresso é enviada pelo servidor de ingresso). Esse mecanismo evita ataques de repetição, em que um invasor envia mensagens de solicitação de ingresso previamente gravadas com a intenção de desconectar o respectivo dispositivo final da rede.
Além disso, vários novos comandos MAC foram adicionados, incluindo o comando rejoin, junto com comandos adicionais para dispositivos Classe B.
Procedimento de Rejoin
A novidade no LoRaWAN 1.2.x é o procedimento de rejoin . Enquanto um dispositivo está “conectado” a uma rede, o servidor de rede pode solicitar que o dispositivo final envie periodicamente uma solicitação de rejoin. Um servidor de rede também pode enviar um comando de rejoin forçado para exigir que o dispositivo final retorne à rede
Roaming
Com o LoRaWAN 1.2.x, os dispositivos podem se conectar a — e serem controlados por — outra rede, conhecida como rede visitante. Quando um acordo de roaming entre as operadoras está em vigor com esta rede visitante, seu servidor de rede pode se conectar ao servidor de join do dispositivo final e assumir o controle total sobre o dispositivo.
Para obter detalhes completos sobre as alterações em LW1.2.x, consulte o site da LoRa Alliance.