fieldtester.io

Σύνδεση και ασφάλεια

OTAA και ABP, τα κλειδιά μιας συσκευής και γιατί ένα gateway δεν μπορεί να διαβάσει τα δεδομένα σας.

OTAA και ABP

OTAA (over-the-air activation): η συσκευή συνδέεται με ένα αίτημα σύνδεσης (join request). Χρειάζεται τρεις τιμές:

  • DevEUI: τον μοναδικό σε όλο τον κόσμο αριθμό της συσκευής (16 δεκαεξαδικοί χαρακτήρες),
  • JoinEUI (παλαιότερα AppEUI): προσδιορίζει τον join server,
  • AppKey: το μυστικό κλειδί (32 δεκαεξαδικοί χαρακτήρες).

Από αυτές παράγονται νέα κλειδιά συνεδρίας σε κάθε σύνδεση. Η OTAA είναι ο συνιστώμενος τρόπος.

ABP (activation by personalization): τα κλειδιά συνεδρίας και η διεύθυνση της συσκευής είναι σταθερά. Η συσκευή δεν συνδέεται ποτέ. Απλούστερο, αλλά λιγότερο ασφαλές και επιρρεπές σε σφάλματα όταν οι μετρητές πλαισίων αποσυγχρονίζονται.

Κρυπτογράφηση

ΣυσκευήGatewayNetworkserverApplicationserverΕφαρμογήfieldtester.ioPayload κρυπτογρ. με AppSKey, από άκρο σε άκρουπογραφή με κλειδί δικτύου, έλεγχος από δίκτυοβλέπει μόνοκρυπτογρ. byteτο payloadαποκρυπτ. εδώ
Το ωφέλιμο φορτίο μένει κρυπτογραφημένο από τη συσκευή έως τον application server. Το gateway και ο network server βλέπουν μόνο κρυπτογραφημένα byte.

Το LoRaWAN χρησιμοποιεί AES-128 σε δύο επίπεδα:

  • NwkSKey (αρκετά κλειδιά δικτύου στο LoRaWAN 1.1): προστατεύει το μήνυμα από αλλοιώσεις· με αυτό το δίκτυο ελέγχει ότι ένα μήνυμα είναι γνήσιο.
  • AppSKey: κρυπτογραφεί το ωφέλιμο φορτίο από άκρο σε άκρο. Το gateway και ο φορέας λειτουργίας του δικτύου βλέπουν μόνο κρυπτογραφημένα byte· μόνο ο application server τα αποκρυπτογραφεί.

Μετρητής πλαισίων

Κάθε μήνυμα φέρει έναν αύξοντα μετρητή (FCnt). Το δίκτυο απορρίπτει μηνύματα με μετρητή που έχει ήδη δει. Έτσι κανείς δεν μπορεί να αναπαραγάγει παλιά πακέτα.

Αν μια συσκευή ABP επανεκκινήσει και ξεκινήσει ξανά από το 0, το δίκτυο απορρίπτει τα μηνύματά της. Με την OTAA ο μετρητής ξεκινά από την αρχή μετά από κάθε σύνδεση, κάτι που εκεί είναι σωστό.