Deje AppK la clave de aplicación. La clave de sesión de aplicación ( AppSKey ) y la clave de sesión de red ( NwkSKey ) se generan usando solo el algoritmo AES sin adoptar el protocolo Diffie Hellman.
Supongamos que tenemos un Nodo de dispositivo que genera un nonce pseudoaleatorio de 16 bits, a saber, DevNonce . Este nonce se envía al servidor de aplicaciones. El servidor de aplicaciones genera un archivo de error pseudo aleatorio de 22 bits, AppNonce , que se envía al Nodo del dispositivo.
La ID de red, llamada NetID se comparte previamente entre las entidades. Además, se utiliza un código estándar de 32 bits (para NwkSKey , que es 0x01, para AppSKey , que es 0x02).
Finalmente, el mensaje resultante se rellena a 128 bits.
NwkSKey = aes128_encrypt(AppKey, 0x01 | AppNonce | NetID | DevNonce | pad16)
AppSKey = aes128_encrypt(AppKey, 0x02 | AppNonce | NetID | DevNonce | pad16)
Sin embargo, le recomiendo este enlace para profundizar en LoraWan Security .