Please use this identifier to cite or link to this item: http://hdl.handle.net/10889/5254
Title: Aνάπτυξη κρυπτογραφικών αλγορίθμων για ετερογενή ασύρματα δίκτυα αισθητήρων
Authors: Πυργελής, Απόστολος
Issue Date: 2012-05-15
Keywords: Κρυπτογραφία
Κρυπτογραφία ελλειπτικών καμπυλών
Ετερογενή ασύρματα δίκτυα αισθητήρων
Αλγόριθμοι
Keywords (translated): Cryptography
Elliptic curve cryptography
Heterogenous wireless sensor networks
Algorithms
Wiselib
Abstract: Ένα ασύρματο δίκτυο αισθητήρων αποτελείται από χωρικά κατανεμημένες αυτόνομες συσκευές, οι οποίες χρησιμοποιούν αισθητήρες για την συνεργατική παρακολούθηση φυσικών και περιβαλλοντικών συνθηκών. Ένας κόμβος ενός δικτύου αισθητήρων συνήθως αποτελείται από ένα μικροελεγκτή, ένα ραδιο-πομποδέκτη, μια πηγή ενέργειας, η οποία συχνά είναι μια μπαταρία και διαφόρων ειδών αισθητήρες (π.χ. θερμοκρασίας, υγρασίας, φωτεινότητας). Τα ασύρματα δίκτυα αισθητήρων προσφέρουν οικονομικά βιώσιμες λύσεις σε ποικίλες εφαρμογές. Δίκτυα τέτοιου τύπου δραστηριοποιούνται σε βιοιατρικές, στρατιωτικές, βιομηχανικές εφαρμογές καθώς και εφαρμογές παρακολούθησης του φυσικού περιβάλλοντος. Επιπλέον, τα δίκτυα αισθητήρων είναι κλειδί για τη δημιουργία έξυπνων χώρων που ενθέτουν τεχνολογία πληροφορίας στα καθημερινά περιβάλλοντα εργασίας και κατοικίας. Λόγω της χρήσης τέτοιων δικτύων σε περιβάλλοντα που ανταλλάσσονται ευαίσθητες πληροφορίες, δημιουργούνται θέματα ασφάλειας και μυστικότητας. Χαρακτηριστικά των διαφόρων εφαρμογών όπως η λειτουργία σε αντίξοα περιβάλλοντα, η ελλιπής γνώση της τοπολογίας του δικτύου, οι δυνατότητες αυτο-οργάνωσης και αυτόματης διόρθωσης λειτουργιών και η λειτουργία χωρίς ανθρώπινη επιτήρηση καθιστούν τη διατήρηση της ασφάλειας μια μεγάλη πρόκληση. Ένας κλάδος που παρέχει λύσεις σε προβλήματα ασφαλείας είναι αυτός της κρυπτογραφίας. Η κρυπτογραφία είναι μια καλά εδραιωμένη επιστημονική περιοχή, με πρωτόκολλα και πρότυπα τα οποία τυγχάνουν ευρείας αναγνώρισης. Παρόλα αυτά, η χρήση τους σε περιβάλλοντα περιορισμένων πόρων όπως αυτά των ασυρμάτων δικτύων αισθητήρων, απαιτεί προσαρμογές. Η απαίτηση αυτή προκύπτει λόγω των ιδιαίτερων χαρακτηριστικών των δικτύων αυτών και των κόμβων που τα απαρτίζουν όπως η χαμηλή υπολογιστική ισχύς, οι περιορισμένες δυνατότητες αποθήκευσης και η περιορισμένη διαθέσιμη ενέργεια καθώς και η επικοινωνία ασύρματης φύσης που υιοθετείται. Ένα επιπλέον πρόβλημα που παρουσιάζεται στα ασύρματα δίκτυα αισθητήρων, είναι η ετερογένεια. Οι συσκευές αισθητήρων που παράγονται από τη βιομηχανία σήμερα, έχουν διαφορετικές υπολογιστικές δυνατότητες και εκτελούν διαφορετικά λειτουργικά συστήματα. Κάποιες αποτελούνται από μικροεπεξεργαστές 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, με αποτέλεσμα να δημιουργηθούν ασφαλείς εφαρμογές δικτύων αισθητήρων.
Abstract (translated): A wireless sensor network consists of spatially distributed autonomous devices, that use sensors in order to cooperatively monitor natural and environmental conditions. A wireless sensor network node typically consists of a micro-processor, a radio transceiver, an energy source (usually a battery) and various kinds of sensors that measure different environmental conditions (e.g. temperature, humidity, lightness). Wireless sensor networks are economically viable solutions to various applications. Networks of this type are used in biomedical, military, industrial as well as in applications that monitor the natural environment. Moreover, sensor networks are a key for the creation of smart spaces that introduce information technology in everyday environments like those of home and work. Because sensor networks are typically deployed in environments where sensitive information is communicated, security and privacy issues arise. Application characteristics like deployment in adverse environments, the incomplete knowledge of the network topology, the possibility of self-organization and the operation without human surveillance make the maintenance of security a big challenge. Cryptography is a science field that provides solutions to security problems. Cryptography is a well established science field that has provided protocols and standards of wide acceptance. However, the use of such protocols and standards in resource constrained environments, like those of sensor networks, requires changes and adaptations. This applies due to the special characteristics of such networks and the devices that consist them, e.g. the restricted processing power, the limited storage possibility and energy as well as the wireless nature of communication. A second problem that arises in wireless sensor networks is that of heterogeneity. The nodes produced by the industry today have different processing possibilities and execute various operating systems. Some nodes consist of 8-bit micro-processors that offer tiny amounts of RAM memory, whereas others are produced with 32-bit processors that can even execute desktop operating systems like Linux. Thus, while it is easy for a developer to implement a platform specific application, it is quite difficult to write some generic platform independent code. In order to re-use implemented applications and algorithms in different development environments a programmer has to make adaptations and changes according to the new platform specifications. A solution to this problem is provided by Wiselib. Wiselib offers an development environment suitable for the implementation of generic algorithms that can be compiled and executed on heterogenous wireless sensor networks. The objective of this work is to provide solutions to the aforementioned sensor network problems (security, heterogeneity). For this reason, we develop a cryptographic library on the generic program environment of Wiselib, a generic algorithm library for heterogenous sensor networks. Wiselib is implemented in C++ and employing advanced techniques, like templates and inline functions, it allows writing of generic code that can be allocated and resolved during compilation without producing computation or memory overhead. Due to the security requirements imposed by the sensor network applications and the resource restrictions by the sensor nodes, our cryptographic library provides symmetric as well as asymmetric cryptographic algorithms. The public key algorithms are based on elliptic curve cryptography. Elliptic curves consist an ideal system for the development of public key cryptography in resource constrained environments that offer restricted computation power, memory and energy. That is because elliptic curve cryptosystems offer the same level of security with other public key cryptosystems (e.g. RSA), using much smaller key sizes. Thus, in total our cryptographic library provides the following algorithms: the symmetric encryption algorithm AES, the hash algorithm SHA-1, the key agreement scheme Diffie Hellman (ECDH), the public key encryption algorithm ECIES and the signature scheme ECDSA. In order to evaluate the performance of our cryptographic library we experimentally test (in terms of execution time, compiled code size, energy consumption) its algorithms on two devices (iSense, TelosB) with different processing possibilities (16 MHz, 8 MHz) that execute different operating systems (iSense OS, Contiki Sky). The fact that we evaluated the cryptographic algorithms on two different devices with unlike capabilities and that execute different operating systems proves that our implementation is generic. Finally, in order to prove the ease of use of the implemented cryptographic algorithms we present three sensor network applications that employ them. More precisely, we show how our cryptographic algorithms can be combined with routing and clustering algorithms (provided by Wiselib), resulting in secure sensor network applications.
Appears in Collections:Τμήμα Μηχανικών Η/Υ και Πληροφορικής (ΜΔΕ)
Τμήμα Μηχανικών Η/Υ και Πληροφορικής (ΜΔΕ)

Files in This Item:
File Description SizeFormat 
pyrgelis.pdf2.53 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.