Aνάπτυξη κρυπτογραφικών αλγορίθμων για ετερογενή ασύρματα δίκτυα αισθητήρων

Ένα ασύρματο δίκτυο αισθητήρων αποτελείται από χωρικά κατανεμημένες αυτόνομες συσκευές, οι οποίες χρησιμοποιούν αισθητήρες για την συνεργατική παρακολούθηση φυσικών και περιβαλλοντικών συνθηκών. Ένας κόμβος ενός δικτύου αισθητήρων συνήθως αποτελείται από ένα μικροελεγκτή, ένα ραδιο-πομποδέκτη, μια π...

Πλήρης περιγραφή

Λεπτομέρειες βιβλιογραφικής εγγραφής
Κύριος συγγραφέας: Πυργελής, Απόστολος
Άλλοι συγγραφείς: Σπυράκης, Παύλος
Μορφή: Thesis
Γλώσσα:Greek
Έκδοση: 2012
Θέματα:
Διαθέσιμο Online:http://hdl.handle.net/10889/5254
Περιγραφή
Περίληψη:Ένα ασύρματο δίκτυο αισθητήρων αποτελείται από χωρικά κατανεμημένες αυτόνομες συσκευές, οι οποίες χρησιμοποιούν αισθητήρες για την συνεργατική παρακολούθηση φυσικών και περιβαλλοντικών συνθηκών. Ένας κόμβος ενός δικτύου αισθητήρων συνήθως αποτελείται από ένα μικροελεγκτή, ένα ραδιο-πομποδέκτη, μια πηγή ενέργειας, η οποία συχνά είναι μια μπαταρία και διαφόρων ειδών αισθητήρες (π.χ. θερμοκρασίας, υγρασίας, φωτεινότητας). Τα ασύρματα δίκτυα αισθητήρων προσφέρουν οικονομικά βιώσιμες λύσεις σε ποικίλες εφαρμογές. Δίκτυα τέτοιου τύπου δραστηριοποιούνται σε βιοιατρικές, στρατιωτικές, βιομηχανικές εφαρμογές καθώς και εφαρμογές παρακολούθησης του φυσικού περιβάλλοντος. Επιπλέον, τα δίκτυα αισθητήρων είναι κλειδί για τη δημιουργία έξυπνων χώρων που ενθέτουν τεχνολογία πληροφορίας στα καθημερινά περιβάλλοντα εργασίας και κατοικίας. Λόγω της χρήσης τέτοιων δικτύων σε περιβάλλοντα που ανταλλάσσονται ευαίσθητες πληροφορίες, δημιουργούνται θέματα ασφάλειας και μυστικότητας. Χαρακτηριστικά των διαφόρων εφαρμογών όπως η λειτουργία σε αντίξοα περιβάλλοντα, η ελλιπής γνώση της τοπολογίας του δικτύου, οι δυνατότητες αυτο-οργάνωσης και αυτόματης διόρθωσης λειτουργιών και η λειτουργία χωρίς ανθρώπινη επιτήρηση καθιστούν τη διατήρηση της ασφάλειας μια μεγάλη πρόκληση. Ένας κλάδος που παρέχει λύσεις σε προβλήματα ασφαλείας είναι αυτός της κρυπτογραφίας. Η κρυπτογραφία είναι μια καλά εδραιωμένη επιστημονική περιοχή, με πρωτόκολλα και πρότυπα τα οποία τυγχάνουν ευρείας αναγνώρισης. Παρόλα αυτά, η χρήση τους σε περιβάλλοντα περιορισμένων πόρων όπως αυτά των ασυρμάτων δικτύων αισθητήρων, απαιτεί προσαρμογές. Η απαίτηση αυτή προκύπτει λόγω των ιδιαίτερων χαρακτηριστικών των δικτύων αυτών και των κόμβων που τα απαρτίζουν όπως η χαμηλή υπολογιστική ισχύς, οι περιορισμένες δυνατότητες αποθήκευσης και η περιορισμένη διαθέσιμη ενέργεια καθώς και η επικοινωνία ασύρματης φύσης που υιοθετείται. Ένα επιπλέον πρόβλημα που παρουσιάζεται στα ασύρματα δίκτυα αισθητήρων, είναι η ετερογένεια. Οι συσκευές αισθητήρων που παράγονται από τη βιομηχανία σήμερα, έχουν διαφορετικές υπολογιστικές δυνατότητες και εκτελούν διαφορετικά λειτουργικά συστήματα. Κάποιες αποτελούνται από μικροεπεξεργαστές 8-bit και έχουν ελάχιστη ποσότητα μνήμης RAM, ενώ άλλες έχουν πολύ μεγάλη υπολογιστική δύναμη και μπορούν να εκτελέσουν desktop λειτουργικά συστήματα όπως Linux. Έτσι, ενώ είναι σχετικά εύκολο να αναπτύξει κανείς μια εφαρμογή για μια συγκεκριμένη πλατφόρμα, είναι πολύ δύσκολο να γράψει γενικό κώδικα ανεξάρτητο της πλατφόρμας μεταγλώτισσης. Έτσι, υπάρχοντες υλοποιημένοι αλγόριθμοι και εφαρμογές πρέπει να τροποποιούνται κατάλληλα για να μπορούν να προσαρμοστούν σε διαφορετικά περιβάλλοντα ανάπτυξης. Μια απάντηση στο παραπάνω πρόβλημα δίνει η βιβλιοθήκη Wiselib η οποία προσφέρει ένα προγραμματιστικό περιβάλλον για την ανάπτυξη γενικών αλγορίθμων που έχουν ως στόχο την εκτέλεσή τους σε ετερογενή δίκτυα αισθητήρων. Σκοπός της παρούσας διπλωματικής εργασίας είναι να προσφέρει λύσεις στα δύο προαναφερθέντα προβλήματα, ανάπτυσσοντας κρυπτογραφικούς αλγόριθμους για ετερογενή ασύρματα δίκτυα αισθητήρων. Για την επίτευξη του σκοπού αυτού, αναπτύσουμε μια κρυπτογραφική βιβλιοθήκη στο προγραμματιστικό περιβάλλον της Wiselib, μιας γενικής βιβλιοθήκης αλγορίθμων για ετερογενή δίκτυα αισθητήρων. Η Wiselib είναι υλοποιημένη σε C++ και με χρήση τεχνικών όπως τα πρότυπα και οι inline συναρτήσεις, επιτρέπει τη συγγραφή γενικού κώδικα ο οποίος αναλύεται και δεσμεύεται κατά τη διαδικασία μεταγλώττισσης χωρίς να δημιουργείται πλεονασμός μνήμης ή υπολογισμού. Λόγω των απαιτήσεων ασφαλείας που δημιουργούνται από τις εφαρμογές δικτύων αισθητήρων καθώς και των περιορισμένων υπολογιστικών πόρων, η κρυπτογραφική μας βιβλιοθήκη παρέχει αλγορίθμους τόσο συμμετρικής όσο και ασυμμετρικής κρυπτογραφίας. Οι αλγόριθμοι ασυμμετρικής κρυπτογραφίας βασίζονται στην κρυπτογραφία ελλειπτικών καμπυλών. Οι ελλειπτικές καμπύλες αποτελούν ένα ιδανικό σύστημα για ανάπτυξη κρυπτογραφίας δημοσίου κλειδιού σε ενσωματωμένα περιβάλλοντα τα οποία υστερούν σε επεξεργαστική ισχύ, μνήμη και ενέργεια. Αυτό ισχύει διότι τα συστήματα ελλειπτικών καμπυλών προσφέρουν το ίδιο επίπεδο ασφάλειας με άλλα κρυπτοσυστήματα (π.χ. RSA) με χρήση πολύ μικρότερου μεγέθους κλειδιών. Έτσι, συνολικά η βιβλιοθήκη μας παρέχει τους εξής αλγορίθμους: τον αλγόριθμο συμμετρικής κρυπτογράφησης AES, τον αλγόριθμο κατακερματισμού SHA-1, το σχήμα συμφωνίας κλειδιών Diffie Hellman (ECDH), τον αλγόριθμο ασυμμετρικής κρυπτογράφησης ECIES και το σχήμα ψηφιακής υπογραφής ECDSA. Για την ανάλυση της απόδοσης της κρυπτογραφικής μας βιβλιοθήκης γίνεται πειραματική αξιολόγηση (χρόνος εκτέλεσης, ενέργεια,μέγεθος μεταφρασμένου κώδικα) των παραπάνω αλγορίθμων σε δύο συσκευές ( iSense, TelosB) με διαφορετικές επεξεργαστικές δυνατότητες (16 MHz, 8 MHz) που τρέχουν διαφορετικά λειτουργικά συστήματα (iSense OS, Contiki Sky). Το γεγονός ότι αξιολογήσαμε τους κρυπτογραφικούς αλγορίθμους σε δύο συσκευές διαφορετικών δυνατοτήτων και περιβαλλόντων ανάπτυξης, αποδεικνύει τη γενικότητα της υλοποίησης μας.Τέλος, για να αποδείξουμε την ευκολία χρήσης των υλοποιημένων αλγορίθμων παρουσιάζουμε τρεις εφαρμογές δικτύων αισθητήρων που τους χρησιμοποιούνε. Πιο συγκεκριμένα, επιδεικνύουμε πως οι κρυπτογραφικοί αλγόριθμοι μπορούν να συνδυαστούν με αλγορίθμους δρομολόγησης και ομαδοποίησης που παρέχει η βιβλιοθήκη Wiselib, με αποτέλεσμα να δημιουργηθούν ασφαλείς εφαρμογές δικτύων αισθητήρων.