Tham gia mạng và bảo mật
OTAA và ABP, các khóa của một thiết bị và vì sao gateway không đọc được dữ liệu của bạn.
OTAA và ABP
OTAA (over-the-air activation, kích hoạt qua sóng vô tuyến): thiết bị tham gia mạng bằng một join request. Nó cần ba giá trị:
- DevEUI: số định danh duy nhất trên toàn cầu của thiết bị (16 ký tự hex),
- JoinEUI (trước đây là AppEUI): xác định join server,
- AppKey: khóa bí mật (32 ký tự hex).
Từ các giá trị này, các khóa phiên mới được tạo ra ở mỗi lần tham gia mạng. OTAA là cách được khuyến nghị.
ABP (activation by personalization, kích hoạt bằng cá nhân hóa): các khóa phiên và địa chỉ thiết bị được cố định. Thiết bị không bao giờ thực hiện join. Đơn giản hơn, nhưng kém an toàn hơn và dễ gặp lỗi khi bộ đếm khung bị lệch.
Mã hóa
LoRaWAN dùng AES-128 ở hai cấp:
- NwkSKey (trong LoRaWAN 1.1 là nhiều khóa mạng): bảo vệ tin nhắn khỏi bị thay đổi; mạng dùng nó để kiểm tra tin nhắn có thật hay không.
- AppSKey: mã hóa payload từ đầu đến cuối. Gateway và nhà vận hành mạng chỉ thấy các byte đã mã hóa; chỉ application server giải mã chúng.
Bộ đếm khung
Mỗi tin nhắn mang một bộ đếm tăng dần (FCnt). Mạng loại bỏ những tin nhắn có số đếm mà nó đã thấy. Điều này ngăn việc gửi lại các gói cũ.
Nếu một thiết bị ABP khởi động lại và bắt đầu lại từ 0, mạng sẽ loại bỏ tin nhắn của nó. Với OTAA, bộ đếm bắt đầu lại sau mỗi lần join, và ở đó điều này là đúng.