Προτάσεις ασφάλειας για το πρωτόκολλο MQTT
Security enhancements for the MQTT protocol
Master Thesis
Συγγραφέας
Αγγέλου, Δημήτριος - Βασίλειος
Ημερομηνία
2020-12Επιβλέπων
Κοτζανικολάου, ΠαναγιώτηςΠροβολή/ Άνοιγμα
Λέξεις κλειδιά
MQTT ; PAKE ; Attribute-based encryption ; End-to-end encryption ; Forward secure encryptionΠερίληψη
Το πρωτόκολλο MQTT χρησιμοποιείται σε εφαρμογές λογισμικού που απαιτείται ασύγχρονη επικοινωνία. Το συγκεκριμένο πρωτόκολλο βασίζεται στο πρότυπο publish/subscribe το οποίο παρέχει αποσύζευξη αποστολέα και παραλήπτη. Οι αποστολείς στέλνουν μηνύματα στον broker ο οποίος τα δρομολογεί στους ενδιαφερόμενους παραλήπτες. Οι παραλήπτες δηλώνουν την επιθυμία τους να λαμβάνουν μηνύματα για κάποιο topic με το να εγγραφούν σε αυτό. Μία από τις προκλήσεις που προκύπτουν είναι η αμοιβαία αυθεντικοποίηση του πελάτη και του broker. Επιπλέον, λόγω της ασύγχρονης φύσης του πρωτοκόλλου είναι αναγκαία η από άκρο σε άκρο κρυπτογράφηση των μηνυμάτων που ανταλλάσσονται μέσω του broker. Ακόμα είναι επιθυμητό το σχήμα κρυπτογράφησης να παρέχει χρονική ασφάλεια (forward secrecy) κάτι το οποίο είναι δύσκολο στην περίπτωση που το άλλο μέρος της επικοινωνίας είναι αποσυνδεδεμένο. Η παρούσα διπλωματική εξετάζει την καταλληλότητα των πρωτοκόλλων PAKE ως μηχανισμό αυθεντικοποίησης για το πρωτόκολλο MQTT. Επιπρόσθετα εξετάζονται σχήματα κρυπτογράφησης από άκρο σε άκρο τα οποία πρέπει να παρέχουν χρονική ασφάλεια. Το προτεινόμενο σχήμα χρησιμοποιεί το πρωτόκολλο SRP για να παρέχει αμοιβαία αυθεντικοποίηση “μεσάζοντα” (broker) και πελάτη με την χρήση κωδικών χωρίς την ανάγκη ύπαρξης υποδομής δημοσίου κλειδιού (PKI). Επιπλέον, συνδυάζει το πρωτόκολλο OTR μαζί με ένα σχήμα κρυπτογράφησης δημοσίου κλειδιού χρονικής ασφάλειας για την κρυπτογράφηση των μηνυμάτων. Τέλος, παρέχεται η υλοποίηση του παραπάνω σχήματος το οποίο χρησιμοποιήθηκε για την κατασκευή μιας ασφαλούς chat εφαρμογής που βασίζεται στο πρωτόκολλο MQTT.