fieldtester.io

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

Thiết bịGatewayNetworkserverApplicationserverỨng dụngfieldtester.ioPayload mã hóa bằng AppSKey, đầu cuốiký bằng khóa mạng, mạng kiểm trachỉ thấybyte mã hóapayload đượcgiải mã ở đây
Payload được mã hóa suốt từ thiết bị đến application server. Gateway và network server chỉ thấy các byte đã 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.