#3 LoRaWAN | LoRa MAC Layer

Apa itu LoRaWAN?

Muhammad Yunus
6 min readJun 17, 2018

LoRaWAN merupakan protokol jaringan untuk device LoRa. LoRaWAN memiliki kemampuan enkripsi data untuk membangun jaringan wireless yang aman [1]. Spesifikasi LoRaWAN bersifat opensource dan di dukung oleh LoRa Alliance. Selain kemampuan enkripsi data, LoRaWAN memiliki kemampuan seperti adaptive data rate optimisation (ADR), Quality of Service (QoS), dll.[2].

LoRaWAN packet

LoRaWAN packet di simpan dalam payload LoRa physical. Terdiri dari tiga bagian utama yaitu, MAC Header, MAC Payload dan MIC [2]. Strukturnya secara lengkap seperti pada gambar di bawah,

Packet LoRaWAN di enkripsi menggunakan AES128 untuk menjamin keamanan data. Mekanisme pengamanan data ini di jelaskan di bagian bawah.

Arsitektur LoRaWAN

LoRaWAN dibangun menggunakan topologi star to star yang memungkinkan device dapat bekerja menggunakan baterai dalam jangka waktu yang lama dibandingkan topologi mesh network. Pada arsitektur LoRaWAN, device tidak ter-asosiasi dengan gateway tertentu. Data dari device akan di terima oleh beberapa gateway dalam jangkauan network loRa. Tiap gateway akan meneruskan paket yang diterima dari device ke network server yang ada di cloud melalui backhaul seperti ethernet, wifi, satelit ataupun seluler. Pemrosesan dilakukan di level network server yang mengatur jaringan, memfilter paket yang di terima, security check, penjadwalan ACK (acknowledments), dan mengatur adaptive data rate (ADR). Ketika device bergerak tidak di perlukan handover antar gateway, ini merupakan feature utama untuk menjamin aplikasi LoRaWAN seperti asset tracking yang memang menjadi salah satu target utama vertikal IoT LoRaWAN [3].

Tipe device LoRaWAN

Device melayani berbagai jenis aplikasi dan tentu saja memiliki persyaratan yang berbeda di tiap penerapannya. Yang menjadi faktor persyaratan utama adalah mengenai umur pakai baterai dan latensi komunikasi dari network server menuju gateway sampai ke device (downlink)[3]. Sehingga device LoRaWAN di golongkan menjadi tiga class, diantaranya :

  • Class A (device komunikasi dua arah) : tipe device ini memungkinkan komunikasi dua arah dimana tiap device mengirimkan data (Uplink message) akan di ikuti dua Downlink receive window yang pendek. Slot transmisi di jadwalkan oleh device sendiri bisa bersifat periodik atw event. Device class A memiliki konsumsi daya paling rendah dan cocok untuk di terapkan pada device sensor dengan sumber daya baterai [3]. Skema komunikasi LoRaWAN device class A di tunjukkan pada gambar di bawah [2] :
  • Class B (device komunikasi dua arah dengan penjadwalan receive slot : Class B membuka lebih banyak receive window di bandingkan dengan class A. Hal ini memungkinkan device dapat melakukan time-synchronization beacon dari gateway dan juga membuat server tau kapan device dalam posisi listening. Class B masih tergolong battery powered device dengan kemampuan kontrol (aktuator) [3]. Skema komunikasi LoRaWAN device class B pada SF12 di tunjukan pada gambar di bawah [2] :
  • Class C (device komunikasi dua arah dengan receive slot maksimal) : device class C hampir memiliki slot receive window yang terbuka terus menerus dan hanya tertutup saat mengirimkan data. Sehingga device tipe ini memakan daya yang lebih besar dan memang di desain untuk device aktuator tanpa latensi untuk komunikasi downlink-nya[3]. Device ini tidak diperuntukkan menggunakan sumberdaya baterai yang terbatas kecuali sumber baterai yang memiliki sistem pengisian otomatis seperti dari solar panel atau menggunakan sumber listrik PLN. Skema komunikasi LoRaWAN device class C ditunjukkan pada gambar di bawah [2] :

Alokasi Frekuensi LoRaWAN

Spesifikaai frekuensi LoRaWAN berbeda dari satu kawasan / negara ke kawasan/ negara lain. Ini bergantung pada alokasi spektrum dan kebijakan masing masing negara [3]. Secara global alokasi frekuensi LoRaWAN di tunjukkan pada tabel di bawah :

Untuk kawasan Asia, alokasi frekuensi di tetapkan pada rentang 923 MHz dengan code alokasi AS923. AS923 tergolong simetric band dimana frekuensi untuk downlink sama dengan uplink ditambah extra receive window (RX2). Paling sedikit terdapat 8 channel komunikasi yang di sediakan dengan rata-rata bekerja pada rentang 923–925 MHz. Secara keseluruhan alokasi frekuensi AS923 bisa dilihat pada gambar di bawah :

Dari laman The Things Network, AS923 di kelompokkan menjadi dua bagian [4].

  • AS920-923

Digunakan di Japan, Malaysia, Singapur

Uplink:

923.2 - SF7BW125 to SF12BW125

923.4 - SF7BW125 to SF12BW125

922.2 - SF7BW125 to SF12BW125

922.4 - SF7BW125 to SF12BW125

922.6 - SF7BW125 to SF12BW125

922.8 - SF7BW125 to SF12BW125

923.0 - SF7BW125 to SF12BW125

922.0 - SF7BW125 to SF12BW125

922.1 - SF7BW250921.8 - FSK

Downlink:

Uplink channels 1-10 (RX1)

923.2 - SF10BW125 (RX2)

  • AS923-925

Digunakan di Brunei, Camboja, Hong Kong, Indonesia, Laos, Taiwan, Thailand, Vietnam

Uplink:

923.2 - SF7BW125 to SF12BW125

923.4 - SF7BW125 to SF12BW125

923.6 - SF7BW125 to SF12BW125

923.8 - SF7BW125 to SF12BW125

924.0 - SF7BW125 to SF12BW125

924.2 - SF7BW125 to SF12BW125

924.4 - SF7BW125 to SF12BW125

924.6 - SF7BW125 to SF12BW125

924.5 - SF7BW250

924.8 - FSK

Downlink:

Uplink channels 1-10 (RX1)

923.2 - SF10BW125 (RX2)

LoRaWAN Join Procedure & Security

Security :

Beberapa parameter dasar :

  • Application EUI (AppEUI) :

Merupakan unique application identifier yang digunakan untuk mengelompokkan device berdasarkan aplikasinya. Tersusun dari 64 bit alamat yang dapat di atur ulang [5].

  • Device EUI (DevEUI) :

Merupakan identifier yang di atur oleh manufaktur, sehingga tiap objek bersifat unik. Dalam penerapan nya setup ini tidak dapat di atur ulang [5].

  • Application Key (AppKey) :

Merupakan secret key yang di bagikan antara device dan jaringan (network server). Ini digunakan mengatur dan mengontrol Session key [5].

  • Device Address (DevAddr) :

Merupakan logical address sebuah device pada network LoRaWAN [5].

  • Network Session Key (NwkSKey):

Merupakan encryption key antara objek / device dengan operator (network server) yang digunakan untuk menghitung dan memverifikasi MIC (message integrity code). Selanjutnya digunakan pula untuk encrypt dan decrypt MAC payload/message. Tiap MAC Payload yang di enkripsi di sertai MIC signature yang di hasilkan oleh AES 128 menggunakan secret key, NwkSKey [5].

  • Application Session Key (AppSKey):

Encryption key antara objek/device dengan user (melalui aplikasi). Enkripsi dilakukan dengan menggunakan algoritma AES dengan 128 bit secret key [5].

Join procedure :

Device LoRaWAN memiliki dua cara untuk terhubung kedalam jaringan. Keduanya dibedakan dalam hal spesifikasi keamanan yang di butuhkan [6].

  1. ABP (Activation By Personalization)

Kelebihan:

  • Mudah untuk di hubungan ke dalam jaringan.
  • Implementasi pada device pada jangka waktu yang pendek.

Kekurangan:

Encryption key yang menjadi kunci komunikasi pada jaringan LoRaWAN di konfigurasi secara manual dalam device. Ini menjadi celah keamanan yang riskan dimana key dapat di curi oleh attacker secara fisik. Misalnya pada device pembaca meteran air yang dapat mengirimkan data debit pemakaian yang salah sehingga mengakibatkan total biaya bulanan pemakaian yang membengkak ataupun sebaliknya [6].

Parameter yang diperlukan ABP:

  • DevAddr
  • NwkSKey
  • AppSKey

2. OTAA (Over The Air Activation) :

Kelebihan :

  • Network server menciptakan dan mengirim encryption keys yang membuatnya lebih aman.
  • OTAA menjadi metode paling banyak digunakan pada LoRaWAN

Kekurangan :

Device harus menerapkan mekanisme komunikasi yang lebih kompleks dibandingkan dengan ABP. Karena sebelum device dan server dapat saling mengirimkan data, terlebih dahulu dilakukan proses join procedure [6].

Parameter yang diperlukan OTAA

  • AppEUI
  • DevEUI
  • AppKey
  • DevAddr
  • NwkSKey
  • AppSKey

Sekian bagian #3 LoRaWAN, di tulisan selanjutnya akan dibahas mengenai LoRaWAN device dan gateway, mulai dari hardware dan SDK untuk development hingga persiapan sertifikasi dan deployment.

Sumber :

  1. Aras E; R. Sangkar G; Lawrence P; Hughes D. Exploring The Security Vulnerabilities of LoRa. iMinds-DistriNet, KU Leuven, 3001 Leuven, Belgium.
  2. LoRa Developer Guide : Orange.
  3. A technical overview of loRa and LoRaWAN : LoRa Alliance, 2015.
  4. LoRaWAN frequency plan : TTN (https://www.thethingsnetwork.org/docs/lorawan/frequency-plans.html).
  5. LoRaWAN Technology for Waspmote, Arduino and Raspberry Pi : Cooking Hack (https://www.cooking-hacks.com/documentation/tutorials/lorawan-for-arduino-raspberry-pi-waspmote-868-900-915-433-mhz).
  6. LoRaWAN, ABP and ABP connections : Jaguar Network (https://corporate.jaguar-network.com/en/news/lorawan-in-a-nutshell-2-internet-of-things-iot/).

--

--

Muhammad Yunus
Muhammad Yunus

Written by Muhammad Yunus

IoT Engineer, Software Developer & Machine Learning Enthusiast

Responses (2)