ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Μηχανισμοί Ασφαλείας που εξαρτώνται από τη θέση των κινητών κόμβων Αντιγόνη Α. Ζήση Επιβλέπων: Ευστάθιος Χατζηευθυμιάδης, Αναπληρωτής Καθηγητής ΑΘΗΝΑ ΜΑΡΤΙΟΣ 2017
ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Μηχανισμοί Ασφαλείας που εξαρτώνται από τη θέση των κινητών κόμβων Αντιγόνη Α. Ζήση Α.Μ.: 1115201000206 ΕΠΙΒΛΕΠΩΝ: Ευστάθιος Χατζηευθυμιάδης, Αναπληρωτής Καθηγητής
ΠΕΡΙΛΗΨΗ Μορφές απειλής σε ασύρματα δίκτυα αποτελούν οι ενεργητικές και οι παθητικές απειλές στους κόμβους του δικτύου. Βασικές απαιτήσεις ενός τέτοιου δικτύου είναι η ακεραιότητα, η αυθεντικότητα, η ταυτοποίηση και η απόρρητη συναλλαγή. Μια προσέγγιση για την απόκτηση των παραπάνω αποτελεί η διαχείριση της ασφάλειας του δικτύου με βάση την θέση των κόμβων (Location-Based Security Management). Σκοπός της εργασίας αυτής αποτελεί η εύρεση κατάλληλης κρυπτογραφικής μεθόδου, με βάση τη θέση των κόμβων, για την επίτευξη της ασφαλούς επικοινωνίας μέσα στο δίκτυο. Βασιζόμενοι σε μία νέα κρυπτογραφική έννοια που ονομάζεται pairing, [1] προτείνουμε την ιδέα κλειδιών που βασίζονται στην τοποθεσία (Location Based Keys, LBKs) δεσμεύοντας ιδιωτικά κλειδιά ανεξάρτητων κόμβων με τα ID τους και τη γεωγραφική τους θέση. Έπειτα, αναπτύσσουμε ένα περιβάλλον συστήματος επαλήθευσης (βασιζόμενο στα LBK) για να εντοπιστεί η επίδραση του συμβιβασμένου κόμβου στην εγγύτητα τους. Παρουσιάζουμε επίσης, αποτελεσματικές προσεγγίσεις για να εγκατασταθεί διαμοιραζόμενο κλειδί μεταξύ οποιωνδήποτε κόμβων δικτύου. Σε αντίθεση με τις προηγούμενες προτάσεις εγκαθίδρυσης κλειδιού, οι προσεγγίσεις μας παρουσιάζουν σχεδόν ιδανικές αντοχές σε περίπτωση έκθεσης κόμβου, χαμηλές προδιαγραφές μνήμης και υψηλή διαδικτυακή επεκτασιμότητα. Επιπλέον, παρουσιάζουμε την αποτελεσματικότητα των LBKs στην εξουδετέρωση διαφορετικών επιθέσεων ενάντια σε δίκτυα αισθητήρων όπως η Sybil επίθεση ή η επίθεση αντιγραφής. Τέλος, προτείνουμε ένα βασισμένο στην τοποθεσία σύστημα υποστήριξης ορίου (κατωφλίου) ονομαζόμενη LTE (Location based Threshold Endorsement) προκειμένου να κρίνουμε αν ένας κόμβος που πλησιάζει επιτρέπεται να επιχειρήσει έναρξη συνεδρίας με κάποιον άλλο κόμβο. ΘΕΜΑΤΙΚΗ ΠΕΡΙΟΧΗ: ασφάλεια δικτύων βάσει τοποθεσίας των κόμβων ΛΕΞΕΙΣ ΚΛΕΙΔΙΑ: διαχείριση της ασφάλειας του δικτύου, κλειδιά που βασίζονται στην τοποθεσία, προτάσεις εγκαθίδρυσης κλειδιού, σύστημα υποστήριξης ορίου κατωφλίου
ABSTRACT Node compromise is a serious threat to wireless sensor networks deployed in unattended and hostile environments. To mitigate the impact of compromised nodes, we propose a suite of location-based compromise-tolerant security mechanisms. Based on a new cryptographic concept called pairing, we propose the notion of location-based keys (LBKs) by binding private keys of individual nodes to both their IDs and geographic locations. We then develop an LBK-based neighborhood authentication scheme to localize the impact of compromised nodes to their vicinity. We also present efficient approaches to establish a shared key between any two network nodes. In contrast to previous key establishment solutions, our approaches feature nearly perfect resilience to node compromise, low communication and computation overhead, low memory requirements, and high network scalability. Moreover, we demonstrate the efficacy of LBKs in counteracting several notorious attacks against sensor networks such as the Sybil attack, the identity replication attack, and wormhole and sinkhole attacks. Finally, we propose a location-based threshold-endorsement scheme, called LTE, in order to evaluate the intentions of each approaching node and under the right circumstances, initiate a session with it. SUBJECT AREA: location based security KEYWORDS: Node compromise, location-based keys, key establishment, locationbased threshold-endorsement scheme
Στους γονείς και τη γιαγιά μου
ΕΥΧΑΡΙΣΤΙΕΣ Για τη διεκπεραίωση της παρούσας Πτυχιακής Εργασίας, θα ήθελα να ευχαριστήσω θερμά τον επιβλέποντα, αναπληρωτή καθηγητή κ. Ευστάθιο Χατζηευθυμιάδη, κυρίως για την εμπιστοσύνη που μου έδειξε, και την υπομονή που έκανε κατά τη διάρκεια υλοποίησης της. Η συνεργασία και η συμβολή του στην ολοκλήρωση της μέσα από προτάσεις για τη βελτίωση της ήταν πολύτιμη. Σημαντική ήταν, επίσης, και η υποστήριξη της οικογένειάς µου, η οποία μου στάθηκε σε όλα τα στάδια της διεκπεραίωσης της.
ΠΕΡΙΕΧΟΜΕΝΑ ΠΡΟΛΟΓΟΣ... 13 1. ΕΙΣΑΓΩΓΗ... 14 1.1 Ασύρματα Δίκτυα Αισθητήρων... 15 1.2 Απαιτήσεις Ασφάλειας... 16 1.3 Ασύρματα Κέντρα Διανομής Κλειδιών... 17 1.3.1 Βασικά συστήματα διανομής... 17 1.4 Κατανομή κλειδιών σε κατανεμημένα WSN... 18 1.5 Εδραίωση κλειδιών... 19 1.5.1 Εδραίωση κλειδιών σε συμμετρικά κρυπτοσυστήματα... 19 1.6 Το πρωτόκολλο αυθεντικοποίησης Κέρβερος... 23 1.6.1 Ανάλυση του πρωτοκόλλου Κέρβερος... 26 1.6.2 Οι αδυναμίες του Κέρβερος... 27 1.6.3 Το σύστημα Charon... 27 1.6.3.1 Ανάλυση του Charon... 28 1.6.3.2 H ασφάλεια του Charon... 32 1.6.4 Το σύστημα Kaman... 33 1.6.4.1 Ανάλυση του Kaman... 33 1.6.4.2 Η ασφάλεια του Kaman... 37 1.6.5 Απειλές σε Ασύρματα Δίκτυα Αισθητήρων... 39 2. ΘΕΜΕΛΙΩΔΕΙΣ ΑΡΧΕΣ ΔΙΑΧΕΙΡΙΣΗΣ ΚΛΕΙΔΙΩΝ... 42 2.1 Το Μοντέλο Αντιπάλου... 42 2.2 Διαχείριση Συστήματος Κλειδιών βασισμένων στην τοποθεσία... 42 2.3 Αυθεντικοποίηση Γειτονιάς βάσει τοποθεσίας... 44 3. ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΚΙΝΗΤΙΚΟΤΗΤΑΣ - ΜΟΒΙSIM... 46 3.1 Σύνθετα ίχνη κίνησης κόμβων... 46 3.2 Παράμετροι συστήματος... 48 3.3 Εφαρμογή LTE (Location Based Threshold Endorsement)... 49 3.3.1 Ανάλυση Πίνακα Αποτελεσμάτων... 49 4. ΕΙΣΑΓΩΓΗ ΓΙΑ ORDER PRESERVING HASH FUNCTIONS... 51 4.1 Συναρτήσεις Κατακερματισμού (Hash functions)... 51 4.2 Τέλειες Συναρτήσεις Κατακερματισμού (Perfect Hash Functions)... 52 4.2.1 Minimal Perfect Hash Functions... 52
4.3 Εισαγωγή για Minimal Perfect Hash Functions, Preserving Order... 52 5. ΣΥΜΠΕΡΑΣΜΑΤΑ... 54 ΠΙΝΑΚΑΣ ΟΡΟΛΟΓΙΩΝ... 55 ΣΥΝΤΜΗΣΕΙΣ ΑΡΚΤΙΚΟΛΕΞΑ ΑΚΡΩΝΥΜΙΑ... 56 ΠΑΡΑΡΤΗΜΑ... 57 ΑΝΑΦΟΡΕΣ... 59
ΚΑΤΑΛΟΓΟΣ ΣΧΗΜΑΤΩΝ Σχήμα 1: Διάγραμμα Χρόνου Απόστασης μεταξύ Νi, N o.49 Σχήμα 2: Order Preserving Minimal Hash Function..53
ΚΑΤΑΛΟΓΟΣ ΕΙΚΟΝΩΝ Εικόνα 1: Network Models: (α) Hierarchical and (β) Distributed Wireless Sensor Networks... 15 Εικόνα 2: KDC με (α) ενδιάμεση και (β) άμεση επικοινωνία... 19 Εικόνα 3: KTC με (α) ενδιάμεση και (β) άμεση επικοινωνία.... 20 Εικόνα 4: Πρωτόκολλο Πιστοποίησης Ταυτότητας Κέρβερος (σχήμα α)... 24 Εικόνα 5: Πρωτόκολλο Πιστοποίησης Ταυτότητας Κέρβερος (σχήμα β)... 25 Εικόνα 6: α) To Κέρβερος. β) Απόκτηση εισιτηρίου μέσω του Charon. γ) Απόκτηση ενός κλειδιού συνδιάλεξης για χρήση με το Charon. δ) Απόκτηση ενός κλειδιού εξυπηρέτησης μέσω του Charon.... 29 Εικόνα 7: Λειτουργία του Kaman... 34 Εικόνα 8: Επίθεση Καταβόθρας (Sinkhole)... 39 Εικόνα 9: Σιβυλλική Επίθεση (Sybil)... 40 Εικόνα 10: Επίθεση Σκουληκότρυπας (Wormhole)... 40 Εικόνα 11: Επίθεση Αντιγραφής Κόμβου (Identity Replication Attack)... 41 Εικόνα 12: Μοτίβο κίνησης των κόμβων στο Μοντέλο Κινητικότητας RPGM... 46 Εικόνα 13: Η ροή εργασίας της χρήσης MobiSim... 47 Εικόνα 14: Χωρική Κατανομή των κόμβων στο μοντέλο Nomadic... 48 Εικόνα 15: Μια συνάρτηση κατακερματισμού... 51
ΚΑΤΑΛΟΓΟΣ ΠΙΝΑΚΩΝ Πίνακας 1: Μορφή του χώρου αποθήκευσης του διακομιστή Kaman 34 Πίνακας 2: Ανάλυση των αποτελεσμάτων της εφαρμογής MobiSim.57
ΠΡΟΛΟΓΟΣ ΕΚΠΑ, 2017 Η παρούσα εργασία εκπονήθηκε στα πλαίσια του μαθήματος «Πτυχιακή Εργασία» και αποτελεί συνιδιοκτησία του ΕΚΠΑ και του φοιτητή, ο καθένας από τους οποίους έχει το δικαίωμα ανεξάρτητης χρήσης και αναπαραγωγής της (στο σύνολο ή τμηματικά) για διδακτικούς και ερευνητικούς σκοπούς, σε κάθε περίπτωση αναφέροντας τον τίτλο, το συγγραφέα και το ΕΚΠΑ, όπου εκπονήθηκε η Πτυχιακή Εργασία καθώς και τον επιβλέποντα και την επιτροπή κρίσης.
1. ΕΙΣΑΓΩΓΗ Τα ασύρματα δίκτυα αισθητήρων έχουν αποσπάσει ιδιαίτερη προσοχή τελευταία εξαιτίας της ευρείας χρήσης τους σε στρατιωτικές και πολιτικές επιχειρήσεις [2]. Πολλά ασύρματα δίκτυα αισθητήρων (WSN, Wireless Sensor Networks), αναπτύσσονται σε αφύλακτα και συχνά εχθρικά περιβάλλοντα όπως ο στρατός και επιχειρήσεις εθνικής ασφάλειας. Γι αυτό, οι μηχανισμοί ασφαλείας που παρέχουν εμπιστευτικότητα, επιβεβαίωση, ακεραιότητα δεδομένων και υπηρεσίες ελέγχου της προέλευσης των δεδομένων, μεταξύ άλλων σκοπών ασφαλείας, είναι κρίσιμοι για να εξασφαλίσουν μία σωστή διαδικτυακή λειτουργία. Ένα μελλοντικό WSN θεωρείται ότι πρέπει να αποτελείται από εκατοντάδες ή ακόμη και χιλιάδες αισθητήριους κόμβους. Αυτό, όμως, θα καθιστά αδύνατη την παρακολούθηση και την προστασία κάθε ανεξάρτητου κόμβου από φυσικές ή λογικές επιθέσεις. Επίσης, η περίφραξη κάθε κόμβου με λογισμικό που θα αντιστέκεται σε παραβιάσεις θεωρείται άσκοπη και ασύμφορη οικονομικά. Γι αυτό, κάθε κόμβος θα αναπαριστά ένα πιθανό σημείο έκθεσης. Αφού εκτεθούν συγκεκριμένοι κόμβοι κι αποκτηθεί το κλειδί τους, αντίπαλοι μπορούν να εισάγουν διάφορες εσωτερικές επιθέσεις. Για παράδειγμα, μπορούν να αλλοιώσουν ή να επαναλάβουν πληροφορίες δρομολόγησης προκειμένου να διακοπεί η δρομολόγηση του δικτύου. Μπορούν να ξεκινήσουν Sybil επίθεση όπου ένας μόνο κόμβος παρουσιάζει περισσότερες από μία ταυτότητες σε άλλους κόμβους ή να επιχειρήσουν επίθεση αντιγραφής ταυτότητας κατά την οποία κλώνοι ενός εκτεθειμένου κόμβου τοποθετούνται σε πολλά διαδικτυακά σημεία. Ακόμα, αντίπαλοι μπορεί να εισάγουν ψευδή δεδομένα στο δίκτυο για να καταναλώσουν τους ελάχιστους πόρους που διαθέτει. Εξαιτίας αυτής της κατάστασης, κρίνεται αναγκαία η σχεδίαση μηχανισμών ασφαλείας που θα επιτρέπουν και θα διαχειρίζονται την έκθεση των δικτύων. Δηλαδή μηχανισμοί ώστε το δίκτυο να παραμένει ασφαλές ακόμη κι αν ένας αριθμός κόμβων εκτίθεται σε απειλές. Πολλές λύσεις έχουν προταθεί για την ασφάλεια στα WSN, αλλά οι περισσότερες από αυτές δεν παρέχουν την απαραίτητη ανοχή στην έκθεση των κόμβων και στις επιθέσεις που προκύπτουν. Σε πολλά WSN, οι αισθητήριοι κόμβοι παραμένουν σταθεροί στο σημείο που αναπτύσσονται. Αυτή η ιδιότητα παίζει σημαντικό ρόλο σε πολλές εφαρμογές WSΝ, όπως η παρακολούθηση στόχου και η γεωγραφική δρομολόγηση. Ωστόσο, η προοπτική τους στη διασφάλιση των WSN δεν έχει λάβει την απαραίτητη προσοχή. Βασισμένοι λοιπόν σε αυτή την παρατήρηση, προτείνεται μία σειρά από μηχανισμούς ασφαλείας που εξαρτώνται από τη θέση του κινητού κόμβου. Αρχικά, προτείνεται η καινοτόμα ιδέα των κλειδιών βάσει τοποθεσίας, ή αλλιώς LBK, Location Based Keys που βασίζονται στην κρυπτογραφική έννοια γνωστή ως pairing. Στο σύστημα μας, κάθε κόμβος θα κρατάει ένα ιδιωτικό κλειδί δεσμευμένο στο ID και τη γεωγραφική του τοποθεσία και όχι μόνο στο ID όπως στα τυπικά συστήματα. Ακολούθως, γίνεται σχεδίαση ενός πρωτοπόρου πρωτοκόλλου επαλήθευσης γειτονικών κόμβων βασισμένα στα LBK. Μέσω αυτής, θα επιτευχθεί το επιθυμητό αποτέλεσμα εντοπισμού του ακριβούς αριθμού των εκτεθειμένων κόμβων (σε περίπτωση που εντοπιστεί ότι υπάρχουν αντίστοιχοι) στη γύρω περιοχή. Στη συνέχεια, παρουσιάζονται αποτελεσματικές προσεγγίσεις για την εγκατάσταση των διαμοιραζόμενων κλειδιών μεταξύ δύο οποιονδήποτε κόμβων που είναι άμεσοι γείτονες και συνδέονται από απόσταση. Τα συγκεκριμένα κλειδιά είναι σημαντικά στην παροχή Α. Ζήση 14
ασφαλούς υποστήριξης για τα ασύρματα δίκτυα αισθητήρων, WSN. Οι προσεγγίσεις αυτές, παρουσιάζουν εξαιρετική αντίσταση σε περιπτώσεις εκθέσεων κόμβου καθώς τα ζευγάρια διαμοιραζόμενων κλειδιών μεταξύ των μη εκτεθειμένων κόμβων θα παραμένουν πάντα ασφαλή, ανεξάρτητα του πόσοι κόμβοι εκτίθενται. Τέλος, παρουσιάζονται τρόποι ώστε τα LBK να μπορούν να λειτουργήσουν ως αποτελεσματικοί μέθοδοι αντιμετώπισης επιθέσεων σε WSN, όπως επιθέσεις Sybil Attack, επιθέσεις αντιγραφής ταυτότητας και άλλες. 1.1 Ασύρματα Δίκτυα Αισθητήρων H επικοινωνία σε ασύρματα δίκτυα αισθητήρων (Wireless Sensor Networks WSN) παρουσιάζει ομοιότητες με τα ασύρματα δίκτυα ad hoc [3]. Ομοίως, τα ασύρματα δίκτυα αισθητήρων είναι δυναμικά, με την έννοια ότι το ραδιοφωνικό εύρος και η συνδεσιμότητα του δικτύου αλλάζουν με το χρόνο. Κόμβοι αισθητήρων πεθαίνουν και νέοι κόμβοι μπορούν να προστεθούν στο δίκτυο. Ωστόσο, τα ασύρματα δίκτυα αισθητήρων είναι πιο περιορισμένα, πυκνότερα και μπορεί να ζημιωθούν (ή να επωφεληθούν) από περιττές πληροφορίες. Οι αρχιτεκτονικές WSN οργανώνονται σε ιεραρχικές και διανεμημένες δομές, όπως φαίνεται στο παρακάτω Σχήμα. Εικόνα 1: Network Models: (α) Hierarchical and (β) Distributed Wireless Sensor Networks Στα ιεραρχικά ασύρματα δίκτυα αισθητήρων (Hierarchical Wireless Sensor Networks - HWSN), Σχήμα (α), υπάρχει μια ιεραρχία μεταξύ των κόμβων με βάση τις δυνατότητές τους: τους σταθμούς βάσης, τους επικεφαλής ομάδας και τους κόμβους αισθητήρων. Οι σταθμοί βάσης είναι πολλές τάξεις μεγέθους πιο ισχυροί από τους αισθητήριους κόμβους και τους επικεφαλής ομάδας. Ένας σταθμός βάσης είναι συνήθως μια πύλη σε άλλο δίκτυο, ένα ισχυρό κέντρο δεδομένων επεξεργασίας / αποθήκευσης, ή ένα σημείο πρόσβασης για ανθρώπινη διεπαφή. Οι σταθμοί βάσης συλλέγουν τις αναγνώσεις των αισθητήρων, εκτελούν δαπανηρές εργασίες για λογαριασμό των αισθητήριων κόμβων και διαχειρίζονται το δίκτυο. Σε ορισμένες εφαρμογές, οι σταθμοί βάσης θεωρούνται αξιόπιστοι και ανθεκτικοί. Έτσι, χρησιμοποιούνται ως κέντρα κατανομής κλειδιών. Οι κόμβοι αισθητήρων αναπτύσσονται γύρω από μία ή περισσότερες γειτονιές του σταθμού βάσης. Σχηματίζουν ένα πυκνό δίκτυο όπου μια ομάδα αισθητήρων που βρίσκονται σε μια συγκεκριμένη περιοχή μπορεί να παρέχει παρόμοιες αναγνώσεις. Οι Α. Ζήση 15
κόμβοι με τους καλύτερους πόρους, ονομάζονται επικεφαλής ομάδας και μπορούν να χρησιμοποιηθούν για τη συλλογή της τοπικής κυκλοφορίας, την οποία στέλνουν στο σταθμό βάσης. Η ισχύς εκπομπής του σταθμού βάσης είναι συνήθως αρκετή για να φτάσει σε όλους τους αισθητήριους κόμβους, αλλά οι κόμβοι αισθητήρων εξαρτώνται και από την ad hoc επικοινωνία για να φθάσουν στο σταθμό βάσης. Έτσι, η ροή δεδομένων σε τέτοια δίκτυα μπορεί να είναι: (i) κατά ζεύγη (unicast) μεταξύ των κόμβων αισθητήρων, (ii) κατά ομάδα (multicast) μέσα σε ένα σύμπλεγμα των κόμβων αισθητήρων, και (iii) κατά δίκτυο (broadcast) από τους σταθμούς βάσης στους κόμβους αισθητήρων. Ένα κατανεμημένο ασύρματο δίκτυο αισθητήρων (Distributed Wireless Sensor Network - DWSN) φαίνεται στο Σχήμα (β). Δεν υπάρχει σταθερή υποδομή, και η τοπολογία του δικτύου δε γίνεται γνωστή πριν από την ανάπτυξη. Οι κόμβοι αισθητήρων είναι συνήθως τυχαία διασκορπισμένοι σε όλη την περιοχή του στόχου. Από τη στιγμή που έχουν αναπτυχθεί, κάθε κόμβος αισθητήρας σαρώνει την περιοχή κάλυψης του ραδιοφώνου του για να βρει τους γείτονές του. 1.2 Απαιτήσεις Ασφάλειας Τα ασύρματα δίκτυα είναι πιο ευάλωτα σε επιθέσεις από τα ενσύρματα διότι τα πρώτα μεταδίδουν με περιορισμένους πόρους στους κόμβους αισθητήρων και παραμένουν χωρίς έλεγχο σε περιβάλλοντα άνευ ασφαλείας [4]. Οι απαιτήσεις ασφάλειας στα Ασύρματα Δίκτυα Αισθητήρων είναι παρόμοιες με εκείνες των δικτύων ad hoc λόγω των ομοιοτήτων μεταξύ ΜΑΝΕΤ (Mobile Ad hoc Network) και WSN. Έτσι, τα ασύρματα δίκτυα αισθητήρων έχουν τις ακόλουθες γενικές απαιτήσεις ασφάλειας: - Διαθεσιμότητα : Διασφάλιση ότι η υπηρεσία που προσφέρεται από ολόκληρο το WSN, ή από οποιοδήποτε μέρος του, ή από ένα ενιαίο κόμβο αισθητήρα, πρέπει να είναι διαθέσιμη όποτε ζητείται, - Αυθεντικοποίηση : Επικύρωση κόμβων, των επικεφαλής ομάδων και σταθμών βάσης πριν γίνει παροχή ενός περιορισμένου πόρου, ή αποκάλυψη πληροφοριών, - Ακεραιότητα : Διασφάλιση ότι το μήνυμα ή η οντότητα υπό εξέταση δεν μεταβάλλεται, - Εμπιστευτικότητα : Παροχή προστασίας των ασύρματων καναλιών επικοινωνίας για την πρόληψη υποκλοπών, - Μη Απόκρυξη : Πρόληψη κακόβουλων κόμβων από το να κρύψουν τις δραστηριότητές τους. Εκτός από αυτές τις γενικές απαιτήσεις, τα ασύρματα δίκτυα αισθητήρων έχουν και τις ακόλουθες ειδικές απαιτήσεις: - Δυνατότητα Επιβίωσης : η ικανότητα να παρέχουν ένα ελάχιστο επίπεδο υπηρεσιών σε περίπτωση απώλειας ισχύος, αποτυχιών ή επιθέσεων, - Υποβάθμιση των υπηρεσιών ασφαλείας: η δυνατότητα να αλλάζουν το επίπεδο ασφάλειας, όταν αλλάζει η διαθεσιμότητα των πόρων. Αυτές οι απαιτήσεις ασφαλείας γίνεται να παρέχονται από ένα μηχανισμό κατανομής κλειδιών με τις απαιτήσεις που δίνονται παρακάτω. Α. Ζήση 16
- Δυνατότητα του συστήματος: η ικανότητα να υποστηρίξει μεγαλύτερα δίκτυα. Οι μηχανισμοί κατανομής κλειδιών πρέπει να υποστηρίζουν μεγάλα δίκτυα και να είναι ελαστικά απέναντι σε μία ουσιαστική αύξηση του μεγέθους του δικτύου, ακόμη και μετά την ανάπτυξη, - Αποτελεσματικότητα: όπου η αποθήκευση και οι περιορισμοί επεξεργασίας και επικοινωνίας για τους κόμβους αισθητήρων πρέπει να λαμβάνονται υπ όψιν, - Πολυπλοκότητα Αποθήκευσης: το ποσό της μνήμης που απαιτείται για την αποθήκευση πιστοποιητικών ασφαλείας, - Πολυπλοκότητα Επεξεργασίας: το ποσό των κύκλων του επεξεργαστή που απαιτείται για τη δημιουργία ενός κλειδιού, - Πολυπλοκότητα Επικοινωνίας: ο αριθμός των μηνυμάτων που ανταλλάσσονται κατά τη διάρκεια της διαδικασίας δημιουργίας κλειδιού, - Συνδεσιμότητα Κλειδιού (πιθανότητα διαμοιρασμού-κλειδιού): η πιθανότητα δύο (ή περισσότεροι) κόμβοι αισθητήρων να αποθηκεύσουν το ίδιο κλειδί ή υλικό κλειδιού. Η συνδεσιμότητα Κλειδιού πρέπει να παρέχεται σε ένα WSN για να μπορεί να λειτουργήσει. - Ανθεκτικότητα: Αντίσταση κατά την έκθεση του κόμβου. Η παραβίαση των πιστοποιητικών ασφαλείας, οι οποίοι αποθηκεύονται σε έναν κόμβο αισθητήρα ή ανταλλάσσονται μέσω ραδιοζεύξεων, δεν θα πρέπει να αποκαλύπτει πληροφορίες σχετικά με την ασφάλεια οποιουδήποτε συνδέσμου στο WSN. Συνήθως υψηλότερη ανθεκτικότητα σημαίνει μικρότερος αριθμός εκτεθειμένων συνδέσεων. 1.3 Ασύρματα Κέντρα Διανομής Κλειδιών Τα κλειδιά κατανομής αποτελούν σημαντικό θέμα στο σχεδιασμό των ασύρματων δικτύων αισθητήρων (WSN). Τα Ασύρματα δίκτυα αισθητήρων ορίζονται, επίσης, ως δίκτυα μικρών συσκευών, που τροφοδοτούνται από μπαταρία, περιορίζονται από μνήμη και ονομάζονται κόμβοι αισθητήρων, οι οποίοι έχουν τη δυνατότητα ασύρματης επικοινωνίας σε μια περιορισμένη περιοχή [5]. Λόγω της μνήμης και της ισχύος, πρέπει να είναι καλά τοποθετημένοι για να οικοδομηθεί ένα πλήρως λειτουργικό δίκτυο. 1.3.1 Βασικά συστήματα διανομής Η προ-διανομή κλειδιών είναι ο τρόπος διανομής των κλειδιών σε κόμβους πριν από την ανάπτυξη τους. Ως εκ τούτου, οι κόμβοι δημιουργούν δίκτυα, χρησιμοποιώντας τα μυστικά κλειδιά τους μετά την ανάπτυξη, δηλαδή, όταν φτάσουν την επιθυμητή θέση τους. Ένα σύστημα προ-διανομής έχει 3 φάσεις : 1. Κατανομή Κλειδιών 2. Ανακάλυψη Κοινόχρηστου κλειδιού 3. Εγκαθίδρυση Κλειδιού Μονοπατιού Κατά τη διάρκεια αυτών των φάσεων, παράγονται μυστικά κλειδιά που τοποθετούνται σε κόμβους αισθητήρων και κάθε κόμβος αισθητήρα ψάχνει την περιοχή που ανήκει στο εύρος επικοινωνίας του για να βρει έναν άλλο κόμβο να επικοινωνήσει. Μια ασφαλής σύνδεση δημιουργείται όταν δύο κόμβοι ανακαλύπτουν ένα ή περισσότερα κοινά κλειδιά (αυτό διαφέρει σε κάθε σύστημα) και η επικοινωνία γίνεται σε αυτή τη σύνδεση μεταξύ των δύο κόμβων. Στη συνέχεια, γίνεται εγκατάσταση μονοπατιών που ενώνουν αυτούς Α. Ζήση 17
τους συνδέσμους, για να δημιουργήσουν ένα συνδεδεμένο γράφημα. Το αποτέλεσμα είναι ένα ασύρματο δίκτυο επικοινωνίας που λειτουργεί με το δικό του τρόπο, σύμφωνα με το σύστημα προ-διανομής που χρησιμοποιήθηκε κατά τη δημιουργία του. Υπάρχουν πολλές μορφές ασύρματων δικτύων αισθητήρων για τις οποίες τα συστήματα προ-διανομής ανταγωνίζονται για να επιτύχουν ένα καλύτερο αποτέλεσμα. Τα πιο κρίσιμα από αυτά είναι : η τοπική και παγκόσμια συνδεσιμότητα καθώς και η ανθεκτικότητα. - Η τοπική συνδεσιμότητα αποτελεί την πιθανότητα κάθε δύο κόμβοι αισθητήρων να έχουν ένα κοινό κλειδί με το οποίο μπορούν να δημιουργήσουν μια ασφαλή σύνδεση για επικοινωνία. - Η παγκόσμια συνδεσιμότητα είναι το μέρος των κόμβων που βρίσκονται σε ένα μεγαλύτερο συνδεδεμένο γράφημα πάνω από τον αριθμό όλων των κόμβων. - Η ανθεκτικότητα είναι ο αριθμός των συνδέσεων που δεν μπορεί να τεθεί σε κίνδυνο, όταν ένας αριθμός κόμβων (επομένως τα κλειδιά αυτών) βρεθούν σε κίνδυνο. Είναι ουσιαστικά η ποιότητα της αντίστασης ενάντια στις προσπάθειες να αποκτηθεί παράνομη πρόσβαση στο δίκτυο. Εκτός από αυτά, τα δύο άλλα κρίσιμα ζητήματα στο σχεδιασμό WSN είναι το υπολογιστικό κόστος και το κόστος του υλικού. - Το υπολογιστικό κόστος αφορά το ποσό των υπολογισμών που γίνονται κατά τη διάρκεια αυτών των φάσεων. - Το κόστος του υλικού αποτελεί γενικά το κόστος της μνήμης και της μπαταρίας σε κάθε κόμβο. Τα κλειδιά μπορεί να δημιουργούνται τυχαία και, στη συνέχεια, οι κόμβοι να καθορίζουν την αμοιβαία συνδεσιμότητα. 1.4 Κατανομή κλειδιών σε κατανεμημένα WSN Σε DWSN, οι κόμβοι αισθητήρων χρησιμοποιούν προ-διανεμημένα κλειδιά άμεσα, ή χρησιμοποιούν το υλικό κλειδιών για να δημιουργήσουν ζεύγη και κλειδιά ομάδας. Η πρόκληση βρίσκεται στο να βρεθεί ένας αποτελεσματικός τρόπος κατανομής των κλειδιών και του υλικού τους στους αισθητήριους κόμβους πριν από την ανάπτυξη. Οι λύσεις για το πρόβλημα της διανομής κλειδιών σε DWSN χρησιμοποιήσουν μία από τις τρεις προσεγγίσεις: - πιθανολογική, - ντετερμινιστική, - υβριδική. μπορούν να Στις πιθανολογικές λύσεις, αλυσίδες κλειδιών επιλέγονται τυχαία από ένα σύνολο κλειδιών και διανέμονται σε κόμβους αισθητήρων. Στις ντετερμινιστικές λύσεις, ντετερμινιστικές διαδικασίες χρησιμοποιούνται για το σχεδιασμό της ομάδας κλειδιών και τις αλυσίδες κλειδιών που παρέχουν καλύτερη συνδεσιμότητα κλειδιού. Τέλος, οι υβριδικές λύσεις χρησιμοποιούν πιθανολογικές προσεγγίσεις για ντετερμινιστικές λύσεις προκειμένου να βελτιώσουν την επεκτασιμότητα και την ελαστικότητα. Α. Ζήση 18
1.5 Εδραίωση κλειδιών Με τον όρο «εδραίωση κλειδιών» (Κey Εstablishment) εννοούμε το σύνολο των μηχανισμών που εκτελούνται προκειμένου να αποκτήσουν τα επικοινωνούντα μέλη τα απαιτούμενα κλειδιά για κρυπτογραφική επικοινωνία. Οι μηχανισμοί εδραίωσης κλειδιών περιλαμβάνουν τη δημιουργία, μεταφορά και εγκατάσταση κλειδιών και αναφέρονται περισσότερο στα κλειδιά συνόδου. Οι μηχανισμοί εδραίωσης κλειδιών οι οποίοι είναι κρυπτογραφικής φύσης, αποτελούν τα πρωτόκολλα εδραίωσης κλειδιών (key establishment protocols). 1.5.1 Εδραίωση κλειδιών σε συμμετρικά κρυπτοσυστήματα Οι δύο βασικές αδυναμίες στην εδραίωση κλειδιών σε ένα συμμετρικό κρυπτοσύστημα είναι η ανάγκη ασφαλούς καναλιού για τη μεταφορά των κλειδιών και ο αυξημένος αριθμός απαιτούμενων κλειδιών, ο οποίος είναι ανάλογος του τετραγώνου των μελών. Οι αδυναμίες αυτές αντιμετωπίζονται με την εισαγωγή δύο νέων οντοτήτων στο μοντέλο επικοινωνίας: το Κέντρο Διανομής Κλειδιών (Key Distribution Centre, KDC) και το Κέντρο Μετάφρασης Κλειδιών (Key Translation Centre, KTC). Τα KDC και KTC αποτελούν λύσεις συγκεντρωτικής διαχείρισης κλειδιών (centralized key management) και βασίζονται στην ακόλουθη αρχή. Εφόσον δεν πραγματοποιείται επικοινωνία μεταξύ όλων των μελών με όλους, δεν είναι απαραίτητο να ανταλλαχθούν n 2 κλειδιά, όπου n ο αριθμός των μελών του συστήματος. Αντίθετα, μπορούν αρχικά να διανεμηθούν (μέσω ασφαλών καναλιών) μόνον n κλειδιά, μεταξύ κάποιου έμπιστου μέλους με τα υπόλοιπα μέλη. Όταν κάποιο μέλος επιθυμεί να επικοινωνήσει με κάποιο άλλο μέλος, δημιουργείται ένα κρυπτογραφικά ασφαλές κανάλι, με τη βοήθεια του έμπιστου μέλους, το οποίο λειτουργεί ως KDC, ή KTC, ανάλογα με το μοντέλο επικοινωνίας. Κέντρο Διανομής Κλειδιών, KDC Στην περίπτωση του KDC, η δημιουργία του κλειδιού συνόδου πραγματοποιείται από το KDC. Οι δύο εναλλακτικές λύσεις όπου εμπλέκεται το KDC φαίνονται στο Σχήμα. Εικόνα 2: KDC με (α) ενδιάμεση και (β) άμεση επικοινωνία Α. Ζήση 19
Σύμφωνα με την πρώτη εναλλακτική (Σχήμα α), η Αλίκη επικοινωνεί με το KDC (1) και αιτείται κλειδί συνόδου για να επικοινωνήσει με τον Βύρωνα. Το KDC δημιουργεί το κλειδί συνόδου ks και το κρυπτογραφεί με το κλειδί ka το οποίο το μοιράζεται με την Αλίκη, και με το κλειδί kb το οποίο το μοιράζεται με τον Βύρωνα, παράγοντας δύο κρυπτοκείμενα, e ka (ks) και e kb (ks). Στη συνέχεια το KDC στέλνει τα δύο κρυπτοκείμενα στην Αλίκη (2). Η Αλίκη με τη σειρά της στέλνει το κρυπτοκείμενο e kb (ks) στον Βύρωνα. Τέλος, η Αλίκη και ο Βύρων αποκρυπτογραφούν ο καθένας το αντίστοιχο κρυπτοκείμενο και αποκτούν το κλειδί συνόδου ks. Σύμφωνα με τη δεύτερη εναλλακτική (Σχήμα β), η Αλίκη ξεκινά και πάλι την επικοινωνία (1), στέλνοντας την αίτηση κλειδιού συνόδου στο KDC για να επικοινωνήσει με τον Βύρωνα. Το KDC δημιουργεί ένα κλειδί συνόδου και το κρυπτογραφεί χωριστά με το κλειδί της Αλίκης και του Βύρωνα, όπως και στην προηγούμενη περίπτωση. Στη συνέχεια στέλνει τα κρυπτογραφημένα κλειδιά χωριστά στην Αλίκη (2) και στον Βύρωνα (3). Τέλος, η Αλίκη και ο Βύρων αποκρυπτογραφούν το κρυπτοκείμενο που έλαβαν και ανακτούν το κλειδί συνόδου. Κέντρο Μετάφρασης Κλειδιών, KTC Στην περίπτωση του KTC, το κλειδί συνόδου δημιουργείται από το μέλος το οποίο ξεκινά την επικοινωνία. Οι δύο εναλλακτικές για τη διανομή και εγκατάσταση του κλειδιού συνόδου είναι παρόμοιες με αυτές του KDC, όπως φαίνεται στο Σχήμα. Εικόνα 3: KTC με (α) ενδιάμεση και (β) άμεση επικοινωνία. Σύμφωνα με το μοντέλο της ενδιάμεσης επικοινωνίας (Σχήμα α), η Αλίκη δημιουργεί ένα κλειδί συνόδου ks και το κρυπτογραφεί με το κλειδί το οποίο το μοιράζεται με το KTC. Στη συνέχεια στέλνει το κρυπτογραφημένο κλειδί e ka (ks) στο KTC (1) μαζί με το όνομα του Βύρωνα. Το KTC «μεταφράζει» το κλειδί συνόδου που έλαβε, αποκρυπτογραφώντας το με το κλειδί ka και κρυπτογραφώντας το με το κλειδί kb. Στη συνέχεια, το KTC στέλνει το κρυπτογραφημένο κλειδί στην Αλίκη (2), η οποία με τη σειρά της το μεταβιβάζει στον Βύρωνα (3). Τέλος, ο Βύρων αποκρυπτογραφεί το κρυπτογραφημένο κλειδί συνόδου που έλαβε. Το μοντέλο της άμεσης επικοινωνίας (Σχήμα β), είναι ίδιο με το μοντέλο της ενδιάμεσης επικοινωνίας, μέχρι το στάδιο όπου το KTC μεταφράζει το κλειδί συνόδου από την Α. Ζήση 20
Αλίκη στον Βύρωνα. Στη συνέχεια, το KTC στέλνει το κρυπτογραφημένο κλειδί απ ευθείας στον Βύρωνα, χωρίς τη μεσολάβηση της Αλίκης. Ανάλυση των KDC και KTC Στο εξής θα αναφερόμαστε στα KDC και KTC ως «Κέντρο», εκτός και αν υπάρχει ανάγκη για διαφοροποίηση. Το βασικό πλεονέκτημα από τη χρήση των Κέντρων είναι η ανάγκη αποθήκευσης περιορισμένου αριθμού μακροπρόθεσμων κλειδιών. Πιο συγκεκριμένα, το κάθε μέλος απαιτείται να αποθηκεύει ένα και μόνο κλειδί, αυτό το οποίο το μοιράζεται με το Κέντρο, ενώ το Κέντρο θα πρέπει να αποθηκεύσει n κλειδιά. Ωστόσο, η εξάρτηση της ασφάλειας του συστήματος από μια οντότητα όπως το Κέντρο, επιφυλάσσει κινδύνους. Πρώτον, το Κέντρο θεωρείται έμπιστο. Γενικά όταν αναφερόμαστε σε εμπιστοσύνη, ένα ορθά σχεδιασμένο μοντέλο εμπιστοσύνης θα πρέπει να ελαχιστοποιεί τον αριθμό των οντοτήτων οι οποίες θεωρούνται έμπιστες. Στο συγκεκριμένο μοντέλο του Κέντρου, από τις n+1 οντότητες οι οποίες συμμετέχουν, απαιτείται να αποδίδεται εμπιστοσύνη μόνον σε μία οντότητα. Σε περίπτωση που ένα μοντέλο απαιτεί εμπιστοσύνη σε πολλά μέλη, η πιθανότητα κατάρρευσης της ασφάλειας του συστήματος αυξάνεται, διότι αυξάνονται οι ευκαιρίες προσβολής από τον αντίπαλο, ο οποίος μπορεί να είναι και κάποιο από τα μέλη. Η υπόθεση της έμπιστης οντότητας δεν είναι νέα έννοια. Για παράδειγμα, μια τράπεζα λαμβάνει εμπιστοσύνη από τους πελάτες της. Οι πελάτες της τράπεζας από την άλλη εμπιστεύονται τη συγκεντρωτική διαχείριση των χρημάτων τους από την τράπεζα, προς χάριν αποτελεσματικότερης διαχείρισης ρίσκου. Συνεπώς, η εισαγωγή της έμπιστης οντότητας σε ένα μοντέλο επικοινωνίας είναι πολλές φορές αναπόφευκτη. Έτσι, η υπόθεση της έμπιστης οντότητας εισάγει νέες απειλές και νέους κινδύνους. Στην περίπτωση που ο αντίπαλος εκθέσει την ασφάλεια ενός από τα μέλη, τότε προσβάλλεται η επικοινωνία του συγκεκριμένου μέλους. Όμως, στην περίπτωση που ο αντίπαλος εκθέσει την ασφάλεια της έμπιστης οντότητας, τότε θα καταρρεύσει η ασφάλεια όλου του συστήματος. Έτσι, τα μοντέλα με Κέντρα που παρουσιάσαμε στις προηγούμενες παραγράφους θα πρέπει να προστατευθούν περαιτέρω με πρόσθετους μηχανισμούς, προκειμένου να μειωθεί το ρίσκο στο βαθμό εκείνον, ώστε να δικαιολογηθεί η χρήση των μοντέλων με Κέντρα. Προτού προχωρήσουμε στους μηχανισμούς προστασίας, θα εξετάσουμε τις απειλές που εμφανίζονται στα παραπάνω μοντέλα. Αρχικά απαιτείται η ανταλλαγή των μακροπρόθεσμων κλειδιών μεταξύ του Κέντρου με τα μέλη. Σε αυτό το σημείο οι απειλές είναι οι ίδιες με αυτές του μοντέλου επικοινωνίας δύο μελών με συμμετρική κρυπτογραφία. Απαιτείται δηλαδή ασφαλές κανάλι ώστε τα επικοινωνούντα μέλη να μοιράζονται το ίδιο μυστικό κλειδί, η μεταφορά του οποίου γίνεται με μη κρυπτογραφικά μέσα (π.χ. με κούριερ, αυτοπροσώπως, κτλ.). Όπως είδαμε, στα μοντέλα με Κέντρα παίρνουν μέρος τρεις οντότητες, η Αλίκη, ο Βύρων και το Κέντρο. Η Αλίκη είναι το μέλος το οποίο εκτελεί το πρώτο βήμα στη διαδικασία εδραίωσης του κλειδιού συνόδου, και είναι εκείνη η οποία ξεκινά την επικοινωνία με το Κέντρο. Μεταξύ των τριών μελών, η επικοινωνία της Αλίκης με το Κέντρο ονομάζεται φάση απόκτησης κλειδιού (key acquisition), ενώ η επικοινωνία μεταξύ της Αλίκης και του Βύρωνα ονομάζεται φάση μεταφοράς κλειδιού (key transfer). Και στις δύο φάσεις η ποσότητα η οποία μεταφέρεται υπό την προστασία κρυπτογραφίας είναι το κλειδί συνόδου. Κατά τις φάσεις αυτές, η κρυπτογραφική υπηρεσία που παρέχεται είναι η εμπιστευτικότητα. Αυτό ισοδυναμεί με προστασία Α. Ζήση 21
απέναντι σε παθητική επίθεση του αντιπάλου. Ο αντίπαλος έχει το ρόλο του υποκλοπέα ο οποίος παρακολουθεί και καταγράφει τα μηνύματα τα οποία ανταλλάσσονται μεταξύ των τριών. Σε τυχόν ενεργητική επίθεση του αντιπάλου, τα προαναφερθέντα μοντέλα δεν μπορούν να διαφυλάξουν τόσο την εμπιστευτικότητα, όσο και την αυθεντικοποίηση των επικοινωνούντων μελών. Θα εξετάσουμε τις περιπτώσεις όπου ο αντίπαλος επιχειρεί επίθεση τόσο στη φάση απόκτησης, όσο και στη φάση μεταφοράς κλειδιού. Επίσης θεωρούμε ότι ο αντίπαλος μπορεί να είναι κάποιο από τα άλλα μέλη. Κατά τη φάση απόκτησης του κλειδιού, ο αντίπαλος ελέγχει την επικοινωνία μεταξύ της Αλίκης και του Κέντρου. Στην περίπτωση του KDC, ο αντίπαλος μπορεί να προσποιηθεί ότι είναι το Κέντρο, και να αποστείλει στην Αλίκη κάποιο από τα περασμένα κλειδιά συνόδου. Με αυτόν τον τρόπο ελέγχει ποια κλειδιά συνόδου χρησιμοποιούνται, χωρίς να τα γνωρίζει. Η χρησιμοποίηση του ίδιου κλειδιού αποτελεί σημαντική πληροφορία, διότι ο αντίπαλος μπορεί στο μέλλον να ανακαλύψει το κλειδί και κατ επέκταση θα μπορεί να αποκρυπτογραφήσει κρυπτοκείμενα περισσότερα της μιας συνόδου επικοινωνίας. Αντίστοιχα, ο αντίπαλος μπορεί να προσποιηθεί ότι είναι η Αλίκη και να ζητήσει κλειδί για επικοινωνία με τον Βύρωνα. Η προσποίηση επιτυγχάνεται με την επανάληψη κάποιου προηγούμενου μηνύματος που τυχόν έχει στείλει η Αλίκη στο Κέντρο. Κατά τη φάση μεταφοράς του κλειδιού, ο αντίπαλος μπορεί να αποστείλει ένα από τα προηγούμενα κρυπτογραφημένα κλειδιά συνόδου τα οποία προορίζονται για την επικοινωνία μεταξύ του Βύρωνα και της Αλίκης. Εάν ο αντίπαλος έχει τη δυνατότητα να επαναμεταδίδει περασμένα κλειδιά, τότε έχει το κίνητρο να επιχειρήσει κρυπτανάλυση σε οποιοδήποτε από τα κλειδιά αυτά, με σκοπό να ελέγχει τις επικοινωνίες μεταξύ των άλλων μελών. Στην περίπτωση του KTC, οι παραπάνω απειλές υφίστανται με ορισμένες τροποποιήσεις. Επειδή το κλειδί συνόδου δε δημιουργείται στο Κέντρο, οι απειλές δεν έχουν την ίδια ισχύ, αλλά είναι πιο αδύναμες. Για παράδειγμα, στην περίπτωση που ο αντίπαλος προσποιηθεί ως το Κέντρο και απαντήσει στην αίτηση της Αλίκης με ένα από τα προηγούμενα κλειδιά, η επίθεσή του θα γίνει αντιληπτή μετά από ορισμένη ποσότητα ανταλλαγής μηνυμάτων μεταξύ της Αλίκης και του Βύρωνα. Ωστόσο, εάν η Αλίκη έχει επικοινωνήσει στο παρελθόν με τον αντίπαλο, τότε ο αντίπαλος μπορεί να αναπτύξει μια πιο πολύπλοκη αλλά και πιο αποτελεσματική επίθεση ως εξής. Αν θεωρήσουμε ότι οι ταυτότητες των μελών είναι αριθμοί κάποιου καθορισμένου μεγέθους, τότε ο αντίπαλος μπορεί να καταγράψει και να απομονώσει το μήνυμα το οποίο στάλθηκε από την Αλίκη στο Κέντρο, τα οποίο περιείχε την ταυτότητα του αντιπάλου. Σε νέα αίτηση επικοινωνίας της Αλίκης με τον Βύρωνα, ο αντίπαλος καταγράφει το μήνυμα που στέλνεται από την Αλίκη στο Κέντρο. Στη συνέχεια ο αντίπαλος αντικαθιστά το τμήμα της νέας αίτησης της Αλίκης με τη δικιά του ταυτότητα, όπως την είχε καταγράψει από την προηγούμενη επικοινωνία. Το αποτέλεσμα θα είναι το Κέντρο να μεταφράσει το κλειδί συνόδου μεταξύ της Αλίκης και του Βύρωνα και να το κρυπτογραφήσει με το κλειδί του αντιπάλου. Έτσι ο αντίπαλος μπορεί και αυτός να αποκρυπτογραφήσει το κρυπτογραφημένο κλειδί συνόδου και να υποκλέψει όλη την επικοινωνία μεταξύ της Αλίκης και του Βύρωνα. Είναι φανερό από τα παραπάνω παραδείγματα επιθέσεων ότι η κύρια αδυναμία των Κέντρων είναι η έλλειψη αυθεντικοποίησης των μηνυμάτων, η οποία αφήνει ελεύθερες τις ενεργές επιθέσεις επανάληψης παλαιών μηνυμάτων. Τα πρωτόκολλα εδραίωσης κλειδιών που μπορούν να αμυνθούν στις παραπάνω επιθέσεις, αποβλέπουν στην προσθήκη αυθεντικοποίησης των μηνυμάτων που ανταλλάσσονται, τόσο κατά τη φάση απόκτησης, όσο και κατά τη φάση μετάδοσης του κλειδιού συνόδου. Α. Ζήση 22
Χαρακτηριστικά πρωτοκόλλων εδραίωσης κλειδιού Τα σύγχρονα πρωτόκολλα εδραίωσης κλειδιού περιλαμβάνουν επιπλέον ποσότητες πληροφορίας, οι οποίες συνεισφέρουν στην αντιμετώπιση των ενεργών επιθέσεων του αντιπάλου. Οι ποσότητες αυτές είναι: χρονοσφραγίδα (timestamp). Η χρονοσφραγίδα αποτελείται από την ημερομηνία, ώρα, λεπτά, δευτερόλεπτα και σε ορισμένες περιπτώσεις και από δέκατα ή εκατοστά του δευτερολέπτου και εκφράζει τη χρονική στιγμή που εκτελείται μια ενέργεια του πρωτοκόλλου, η οποία μπορεί να είναι κάποια (κρυπτογραφική) πράξη ή μετάδοση πληροφορίας. Η χρονοσφραγίδα απαιτεί στην πράξη έμπιστο εξυπηρετητή (server) χρονοσφραγίδας, ο οποίος εξυπηρετεί αιτήσεις δημιουργίας χρονοσφραγίδων. μοναδικός αριθμός (nonce). Ο μοναδικός αριθμός πολλές φορές αντικαθιστά τη χρονοσφραγίδα και είναι ένας τυχαίος αριθμός ο οποίος δεν εμφανίζεται σε μελλοντική εκτέλεση του πρωτοκόλλου και προσδίδει μοναδικότητα στα μηνύματα τα οποία ανταλλάσσονται. Είναι σημαντικό ο αριθμός αυτός να μην είναι προβλέψιμος από τον αντίπαλο. Ο μοναδικός αριθμός συνυπολογίζεται στις κρυπτογραφικές πράξεις και έτσι δεσμεύεται κρυπτογραφικά με τα αντίστοιχα μηνύματα, με αποτέλεσμα να μειώνονται οι βαθμοί ελευθερίας δράσης του αντιπάλου. 1.6 Το πρωτόκολλο αυθεντικοποίησης Κέρβερος Ο Κέρβερος είναι ένα σύστημα αυθεντικοποίησης μελών ενός δικτύου υπολογιστών. Τα μέλη μπορεί να είναι χρήστες ή και συστατικά του δικτύου όπως προσωπικοί υπολογιστές, εκτυπωτές, servers, κτλ. Ο Κέρβερος αναπτύχθηκε στο Ινστιτούτο Τεχνολογίας της Μασαχουσέτης (ΜΙΤ), για να ασφαλίσει τους πόρους ενός δικτύου στο οποίο οι χρήστες θα ήθελαν να προσπελάσουν και αποτελεί μέρος του project Athena [7]. Εκτός από την αυθεντικοποίηση των μελών, ο Κέρβερος προσφέρει πληροφορίες ελέγχου πρόσβασης ενός χρήστη στους κατανεμημένους πόρους ενός δικτύου. Έχει υλοποιηθεί σε περιβάλλον Unix και εκτελεί τις βασικές υπηρεσίες ασφάλειας των Windows 2000 της Microsoft. Όσον αφορά στην εδραίωση κλειδιών, ο Κέρβερος περιλαμβάνει ένα KDC, το οποίο αποτελεί την έμπιστη οντότητα στην αυθεντικοποίηση των χρηστών [8]. Στο σημείο αυτό θα παρουσιάσουμε το πρωτόκολλο αυθεντικοποίησης ενός χρήστη σε κάποιον άλλον και δημιουργίας κλειδιού συνόδου μεταξύ αυτών. Το πρωτόκολλο εμπλέκει εκτός από έναν κόμβο Α, ο οποίος αντιπροσωπεύει τον πελάτη, τρεις διακομιστές: 1. Διακομιστής Πιστοποίησης Ταυτότητας (Authentication Server, AS): Επαληθεύει την ταυτότητα των χρηστών κατά τη σύνδεσή τους 2. Διακομιστής Εκχώρησης Εισιτηρίων (Ticket Granting Server, TGS): Εκδίδει εισιτήρια που αποδεικνύουν την ταυτότητα 3. Διακομιστής Β: Πραγματοποιεί το αίτημα του κόμβου Α Α. Ζήση 23
Εικόνα 4: Πρωτόκολλο Πιστοποίησης Ταυτότητας Κέρβερος (σχήμα α) Ο Authentication Server είναι παρόμοιος με ένα KDC στο ότι μοιράζεται ένα μυστικό συνθηματικό με κάθε χρήστη [6]. Από τη μεριά του TGS, εκδίδονται εισιτήρια τα οποία μπορούν να πείσουν τους πραγματικούς διακομιστές ότι αυτός που παραδίδει το εισιτήριο είναι πραγματικά αυτός που αναφέρεται στο εισιτήριο. Η διαδικασία του πρωτοκόλλου πιστοποίησης ταυτότητας Kerberos παρουσιάζεται στην παρακάτω εικόνα. Για να ξεκινήσει μια συνδιάλεξη, ο κόμβος Α στέλνει το όνομά του και το όνομα του TGS στον AS σε μορφή απλού κειμένου. Ο AS επιστρέφει ένα κλειδί συνδιάλεξης και ένα εισιτήριο Κ TGS (Α, Κ S, t) το οποίο προορίζεται για το TGS. Το κλειδί συνδιάλεξης κρυπτογραφείται με το μυστικό κλειδί Κ Α του κόμβου Α, έτσι ώστε μόνο ο Α να μπορεί να το αποκρυπτογραφήσει. Α. Ζήση 24
Εικόνα 5: Πρωτόκολλο Πιστοποίησης Ταυτότητας Κέρβερος (σχήμα β) Προκειμένου να συνδεθεί ο κόμβος Α με τον διακομιστή Β, στέλνεται ένα μήνυμα στο TGS, αιτώντας του ένα εισιτήριο για να μπορέσει να επικοινωνήσει με τον Β. Βασικό στην αίτηση αυτή είναι το Κ TGS (Α, Κ S, t) το οποίο είναι κρυπτογραφημένο με το μυστικό κλειδί του TGS και χρησιμοποιείται ως απόδειξη ότι ο αποστολέας είναι ο Α. Ο TGS απαντά δημιουργώντας ένα κλειδί συνδιάλεξης Κ ΑΒ για να το χρησιμοποιήσουν ο Α και ο Β και επιστρέφει με δύο τρόπους το κλειδί αυτό. Ο πρώτος τρόπος είναι με την κρυπτογράφηση μόνο με το K S, έτσι ώστε να μπορεί να το διαβάσει ο Α, ενώ ο δεύτερος είναι ένα ακόμη εισιτήριο, που κρυπτογραφείται με το κλειδί του Β, έτσι ώστε να μπορεί να το διαβάσει μόνο ο Β. Στη συνέχεια, ο Α στέλνει το K ΑΒ στον Β για να εγκαθιδρύσει μια συνδιάλεξη μαζί του, όπου αυτή η συνδιάλεξη έχει χρονοσφραγίδα. Στο τέλος, για επιβεβαιωθεί και ο Α ότι μιλάει με τον Β, στέλνεται το τελευταίο μήνυμα όπως παρουσιάζεται στην προηγούμενη εικόνα. Μετά από αυτή τη διαδικασία, ο Α μπορεί να επικοινωνήσει με τον Β υπό την κάλυψη του Κ ΑΒ. Αν αργότερα αποφασίσει ο Α ότι θέλει να επικοινωνήσει με άλλο διακομιστή, έστω τον Γ, απλώς επαναλαμβάνει από το τρίτο μήνυμα της διαδικασίας, δηλαδή αυτό προς το TGS, μόνο που θα προσδιορίσει ότι επιθυμεί επικοινωνία με τον Γ. Ένας κακόβουλος κόμβος μπορεί να αντιγράψει αυτό το μήνυμα και να το χρησιμοποιήσει προς δική του επ ωφελεία, αλλά θα εντοπιστεί από τη κρυπτογραφημένη χρονοσφραγίδα t που περιέχεται σε αυτό. Επίσης δεν μπορεί να αντικαταστήσει τη χρονοσφραγίδα με μια πρόσφατη, καθώς δεν γνωρίζει το Κ S, το κλειδί δηλαδή της συνδιάλεξης του Α με το TGS. Με περίπτωση που ο κακόβουλος κόμβος προλάβει να αναπαραγάγει γρήγορα το τρίτο μήνυμα, το μόνο που θα λάβει είναι ένα αντίγραφο του τέταρτου μηνύματος, το οποίο όμως δεν μπορεί να αποκρυπτογραφήσει. Αποτέλεσμα της όλης διαδικασίας είναι ότι ο Α μπορεί να προσπελάσει με ασφάλεια διακομιστές σε ολόκληρο το δίκτυο και ότι το συνθηματικό του δεν χρειάστηκε να μεταδοθεί μέσω του δικτύου, εκτός από λίγα millisecond στην αρχή της διαδικασίας. Α. Ζήση 25
1.6.1 Ανάλυση του πρωτοκόλλου Κέρβερος Η ασφάλεια του Κέρβερου εξαρτάται κυρίως από δύο χαρακτηριστικά: από το χειρισμό του χρόνου και από τα μακροπρόθεσμα κλειδιά. Η χρησιμοποίηση παραμέτρων που εξαρτώνται από το χρόνο, έχει πλεονεκτήματα και μειονεκτήματα. Ο ορισμός του χρόνου ζωής του εισιτηρίου αποβλέπει στην εξοικονόμηση μηνυμάτων από και προς το Κέντρο [9]. Σε ένα δίκτυο υπάρχουν οντότητες οι οποίες επικοινωνούν με μεγάλη συχνότητα, όπως για παράδειγμα ένας εξυπηρετητής αρχείων (file server) με τα προγράμματα-πελάτες του, σε ένα κατανεμημένο σύστημα αρχείων. Σε ένα τέτοιο σύστημα, η συνεχής απαίτηση επικοινωνίας με το Κέντρο για την έκδοση των εισιτηρίων θα προκαλούσε, τόσο μεγάλη κίνηση στο δίκτυο, όσο και αυξημένο φόρτο εργασίας στο Κέντρο. Η χρησιμοποίηση του χρόνου ζωής του εισιτηρίου μειώνει εντυπωσιακά τις απαιτήσεις υπολογιστικής ισχύος του Κέντρου και αυξάνει επίσης την απόδοση του δικτύου. Ωστόσο, η χρησιμοποίηση μεγάλων ορίων χρόνου ζωής καθιστά το σύστημα ευάλωτο σε επιθέσεις επαναχρησιμοποίησης. Το ρίσκο είναι αυξημένο στις υπηρεσίες εκείνες όπου ο χρήστης χρησιμοποιεί πόρους του δικτύου για μικρό χρονικό διάστημα, όπως για παράδειγμα, ο έλεγχος μηνυμάτων ηλεκτρονικού ταχυδρομείου και η αποστολή εγγράφων σε υπηρεσία εκτύπωσης. Υπό αυτές τις συνθήκες, ο αντίπαλος έχει το πλεονέκτημα να επαναχρησιμοποιήσει το εισιτήριο του χρήστη προκειμένου να αποκτήσει πρόσβαση στους πόρους που επιθυμεί. Συνεπώς, ο καθορισμός των ορίων του χρόνου ζωής του κλειδιού εξαρτάται από τα όρια ρίσκου που θεωρούνται ανεκτά, σύμφωνα με την πολιτική της επιχείρησης. Από τεχνικής πλευράς, η χρησιμοποίηση παραμέτρων που εξαρτώνται από το χρόνο, απαιτεί υπηρεσίες συγχρονισμού της ώρας όλων των συστημάτων που συμμετέχουν στον Κέρβερο. Παρόλο που υπάρχουν πρωτόκολλα συγχρονισμού ώρας μεταξύ των συστημάτων, πολλά από αυτά δεν είναι κατάλληλα για χρήση σε πρωτόκολλα ασφάλειας όπως ο Κέρβερος, διότι δεν είναι σχεδιασμένα στο να αντιστέκονται σε επιθέσεις. Ο Κέρβερος και γενικότερα τα πρωτόκολλα που παρέχουν υπηρεσίες ασφάλειας και περιλαμβάνουν χρονικές παραμέτρους θα πρέπει να χρησιμοποιούν υπηρεσίες συγχρονισμού ώρας οι οποίες προσφέρουν αυθεντικοποίηση και ακεραιότητα. Όσον αφορά στα μακροπρόθεσμα κλειδιά που μοιράζονται τα μέλη με το Κέντρο, για χάριν ευκολίας χρήσης τα κλειδιά αυτά παράγονται από κωδικούς πρόσβασης που πληκτρολογούν οι χρήστες για να συνδεθούν στο σύστημα. Επομένως, η ασφάλεια του Κέρβερου εκφυλίζεται στην ασφάλεια των κωδικών πρόσβασης και οι επιθέσεις του αντιπάλου σχετίζονται με τις μεθόδους ανάκτησης των κωδικών πρόσβασης που είναι η εξαντλητική αναζήτηση και η επίθεση λεξιλογίου (dictionary attack). Οι παραπάνω επιθέσεις στα μακροχρόνια κλειδιά μπορούν να πραγματοποιηθούν σε όλα τα συστήματα όπου ο αντίπαλος έχει πρόσβαση στο κανάλι επικοινωνίας των μελών με το Κέντρο και μπορεί να υποκλέψει τα μηνύματα που διακινούνται. Σε ορισμένα δικτυακά λειτουργικά, ο αντίπαλος μπορεί να αναπτύξει πιο αποτελεσματικές επιθέσεις, εκμεταλλευόμενος συγκεκριμένες αδυναμίες του λειτουργικού συστήματος. Για παράδειγμα, αν το λειτουργικό σύστημα δεν μπορεί να παρέχει το απαιτούμενο βαθμό ασφάλειας κατά τη σύνδεση (login) του χρήστη στο σταθμό εργασίας, ο αντίπαλος μπορεί να υποκλέψει τον κωδικό πρόσβασης καθώς αυτός πληκτρολογείται από το χρήστη. Σε μια τέτοια επίθεση, τα πρωτόκολλα του Κέρβερου δεν μπορούν να παρέχουν τις επιθυμητές κρυπτογραφικές υπηρεσίες ασφάλειας. Α. Ζήση 26
1.6.2 Οι αδυναμίες του Κέρβερος Το Kerberos δεν έχει την δυνατότητα να προστατεύει ένα δίκτυο από κάθε είδους απειλή. Ωστόσο, πέντε από τις πιο σημαντικές αδυναμίες είναι οι εξής: 1. Το πιστοποιητικό ταυτότητας βασίζεται στη λειτουργία κάποιου ρολογιού. Εάν κάποιος κόμβος μπορεί να παραπλανηθεί σχετικά με την ώρα, ένα παλαιότερο πιστοποιητικό ταυτότητας μπορεί να επαναληφθεί χωρίς κανένα πρόβλημα. Επομένως απαιτείται κάθε κόμβος στο δίκτυο να έχει ένα καλά ρυθμισμένοσυγχρονισμένο ρολόι. 2. Από την παραπάνω αδυναμία του Kerberos, προκύπτει η αδυναμία του σε επιθέσεις επαναληπτικής εκτέλεσης (replay attacks). 3. Μια άλλη κατηγορία επιθέσεων στο πρωτόκολλο Kerberos είναι οι επιθέσεις που βασίζονται στην πρόβλεψη κωδικών (password-guessing attack). Όταν ένας εισβολέας καταγράφει τη συνομιλία και ο χρήστης αιτείται ένα εισιτήριο από το TGS, η απάντηση δίνεται κρυπτογραφημένη με το κλειδί του πελάτη. Αυτό το κλειδί προέρχεται από ένα δημόσια γνωστό αλγόριθμο με βάση το κωδικό πρόσβασης του χρήστη. Έτσι μπορούν να πραγματοποιηθούν επανειλημμένες δοκιμές από τον εισβολέα για τον υπολογισμό του κλειδιού προσπαθώντας να αποκρυπτογραφήσει την απάντηση. 4. Οι χρήστες πρέπει να κρατούν τους κωδικούς τους μυστικούς. Το Kerberos δεν είναι σε θέση να προστατέψει το δίκτυο από ασυνείδητους χρήστες που μοιράζουν τους κωδικούς τους ή που δεν είναι αρκετά προσεκτικοί για να τον κρατήσουν κρυφό. 5. Μια αδυναμία έγκειται στα εισιτήρια του Kerberos, καθώς όσο περισσότερο είναι σε χρήση, τόσο μεγαλύτερος είναι ο κίνδυνος να κλαπούν ή να παραβιαστούν. 1.6.3 Το σύστημα Charon Το Charon είναι ένα πρωτόκολλο που υλοποιείται με βάση το Kerberos για έμμεση επαλήθευση ταυτότητας και ασφαλείς επικοινωνίες με κινητές συσκευές κατηγορίας PDA (Προσωπικοί Ψηφιακοί Βοηθοί). Με τη λέξη «έμμεση» εννοείται ότι, το μεγαλύτερο μέρος των υπολογιστικών πόρων που απαιτούνται για την εκτέλεση του πρωτοκόλλου επαλήθευσης ταυτότητας και τη δημιουργία ενός ασφαλούς διαύλου, βρίσκονται σε έναν μεσολαβητή, διαδικασία η οποία εκτελείται σε έναν σταθμό εργασίας. Το Charon παρέχει τρία σημαντικά οφέλη στους πελάτες του: 1. Αποτελεί μέσο επαλήθευσης της ταυτότητάς τους σε ένα σημείο σύνδεσης της υπηρεσίας μέσω της χρήσης ενός πρωτοκόλλου που βασίζεται στο Kerberos 2. Αποτελεί έναν ασφαλή δίαυλο επικοινωνίας με το εν λόγω σημείο σύνδεσης, ο οποίος είναι τουλάχιστον εξίσου ισχυρός με εκείνους που παρέχονται από το Kerberos 3. Παρέχει πρόσβαση σε υπηρεσίες αμφίδρομης επαλήθευσης ταυτότητας, οι οποίες χρησιμοποιούν το πρωτόκολλο Kerberos (εντός της υπάρχουσας υποδομής του Kerberos). Α. Ζήση 27
Και τα τρία οφέλη υλοποιούνται χωρίς την απαίτηση εκτέλεσης της πλήρους βιβλιοθήκης του Kerberos για τον πελάτη. Αντί γι αυτό, υπάρχει διαχωρισμός της λειτουργικότητας, μεταξύ του πελάτη, και του μεσολαβητή. 1.6.3.1 Ανάλυση του Charon Οι στόχοι του Charon, όσον αφορά την ασφάλεια, είναι οι εξής: 1. Το Charon είναι αξιόπιστο με προσωρινά κλειδιά συνδιάλεξης, για τη μετάδοση συγκεκριμένων υπηρεσιών εκ μέρους του πελάτη. Όχι όμως και με τον κωδικό πρόσβασης χρήστη του Kerberos, ή κάνοντας χρήση επαρκών στοιχείων, με βάση τα οποία μπορεί να παριστάνει τον χρήστη, σε περίπτωση παραβίασής του. Δηλαδή, κάθε φορά που ζητείται μία πρόσθετη υπηρεσία, απαιτείται η συνεργασία του πελάτη για την απόκτηση πρόσβασης. 2. Αν υπονομευτεί η ασφάλεια του Charon, το χειρότερο που μπορούν να κάνουν οι εισβολείς, είναι να αποκτήσουν έγκυρες άδειες εισόδου όσον αφορά την τρέχουσα πρόσβαση σε μία υπηρεσία που χρησιμοποιεί το πρωτόκολλο Kerberos. Μπορεί να δοθεί μικρός χρόνος ζωής σε αυτές οι άδειες εισόδου, για να ελαχιστοποιηθεί η ζημία που μπορεί να προκαλέσουν. 3. Οι υποκλοπές της σύνδεσης μεταξύ Προσωπικού Ψηφιακού Βοηθού (PDA) και μεσολαβητή δεν θα πρέπει να έχουν μεγαλύτερη χρησιμότητα, από ότι οι υποκλοπές οποιασδήποτε σύνδεσης δικτύου (χωρίς προστασία) εντός της υποδομής του Kerberos. Το Charon πραγματοποιεί τις παρακάτω υποθέσεις, σχετικά με το περιβάλλον και το μοντέλο χρήσης του: 1. Ο χρήστης, ο οποίος επιθυμεί να επαληθεύσει την ταυτότητά του, διαθέτει έναν κωδικό πρόσβασης στο Kerberos στον αρχικό τομέα του (στον διαχειριστικό τομέα του Kerberos). 2. Κάποιος σταθμός εργασίας, με τον οποίο ο πελάτης μπορεί εύκολα να έρθει σε επαφή, εκτελεί έναν μεσολαβητή, ο οποίος «διαβάζει» το πρωτόκολλο Charon. 3. Ο χρήστης εμπιστεύεται την αξιοπιστία του λογισμικού του μεσολαβητή, προκειμένου να μην αποθηκευτεί και παραβιαστεί ο κωδικός πρόσβασής του. Στο Charon, όλη η διεπικοινωνία με το KDC και το TGS μετατοπίζεται, από τον πελάτη, στον μεσολαβητή. Δηλαδή ο πελάτης επικοινωνεί αποκλειστικά με τον μεσολαβητή, γεγονός το οποίο συνεπάγεται επίσης ότι ο πελάτης δεν χρειάζεται να είναι συμβατός με το πρωτόκολλο TCP/IP. Αυτό το είδος επικοινωνίας (μηχανισμός χειραψίας) αποτελείται από δύο φάσεις. Κατά τη διάρκεια της πρώτης φάσης της χειραψίας, η οποία απεικονίζεται στην Εικόνα 16β, ο πελάτης χρησιμοποιεί το Charon ως έξυπνο δρομολογητή για να αποκτήσει TGT. Από τη μεριά του KDC και του TGS, το Charon εμφανίζεται ως πελάτης. Κατά τη διάρκεια της δεύτερης φάσης της χειραψίας (Εικόνα 16γ), ο πελάτης και το Charon συνεργάζονται για να αποκτήσουν άδεια εισόδου στην υπηρεσία από το TGS, μέσω του αιτήματος εισόδου του πελάτη στην υπηρεσία του Charon που χρησιμοποιεί το πρωτόκολλο Kerberos. Α. Ζήση 28
Μετά την επίτευξη αυτής της χειραψίας που αποτελείται από δύο φάσεις, το κλειδί συνδιάλεξης, στο οποίο περιλαμβάνεται η άδεια εισόδου στην υπηρεσία, μπορεί να χρησιμοποιηθεί για να ασφαλίσει τον δίαυλο μεταξύ του πελάτη και του Charon. Ο πελάτης μπορεί επίσης να ζητήσει πρόσβαση σε άλλες υπηρεσίες που χρησιμοποιούν το πρωτόκολλο το Kerberos (Εικόνα 6δ). Εικόνα 6: α) To Κέρβερος. β) Απόκτηση εισιτηρίου μέσω του Charon. γ) Απόκτηση ενός κλειδιού συνδιάλεξης για χρήση με το Charon. δ) Απόκτηση ενός κλειδιού εξυπηρέτησης μέσω του Charon. Μια άλλη σημαντική διαφορά μεταξύ του Charon και του Kerberos είναι ότι ο μεσολαβητής δεν έχει στην κατοχή του όλες τις απαραίτητες πληροφορίες για να διαπραγματευτεί την πρόσβαση σε υπηρεσίες για λογαριασμό του πελάτη. Συγκεκριμένα, ο πελάτης κρατά το κλειδί συνδιάλεξης ανάμεσα στον ίδιο και το TGS. Το κλειδί αυτό απαιτείται προκειμένου να δημιουργηθούν πιστοποιητικά επαλήθευσης ταυτότητας με χρονοσήμανση, τα οποία πρέπει να προσκομίζονται σε κάθε αίτημα πρόσβασης στην υπηρεσία. Κατά συνέπεια, το Charon δεν μπορεί να αποκτήσει πρόσβαση σε υπηρεσία για λογαριασμό του πελάτη, χωρίς τη ρητή συνεργασία του τελευταίου. Κατά την περιγραφή των μηνυμάτων που ανταλλάσσονται στο πρωτόκολλο Charon, χρησιμοποιείται η εξής ορολογία: Υπηρεσία που χρησιμοποιεί το πρωτόκολλο Kerberos: Μία υπηρεσία, η οποία απαιτεί από τους πελάτες της να επαληθεύσουν την ταυτότητά τους κατά τη χρήση του Kerberos, και η οποία διαθέτει η ίδια την ικανότητα να επαληθεύσει την ταυτότητά της στους πελάτες της, μέσω της χρήσης του Kerberos. Διακομιστής Kerberos: Ένας σταθμός εργασίας, ο οποίος φιλοξενεί μία ή περισσότερες υπηρεσίες που χρησιμοποιούν το πρωτόκολλο Kerberos. Αυτό απαιτεί τα πιστοποιητικά κάθε μίας φιλοξενούμενης υπηρεσίας να εγκαθίστανται με ασφάλεια στον σταθμό εργασίας από τον διαχειριστή του Kerberos. Α. Ζήση 29
C: Ο εντολέας του πελάτη, δηλαδή ο χρήστης. Ο χρήστης γνωρίζει έναν κωδικό πρόσβασης, από τον οποίο μπορεί να προέλθει το κλειδί Kc. Kc: Το κλειδί που προέρχεται από τον κωδικό πρόσβασης του πελάτη για το Kerberos. S: Ο εντολέας που αντιστοιχεί σε κάποια υπηρεσία που χρησιμοποιεί το πρωτόκολλο Kerberos. Ks: Το μυστικό κλειδί πρόσβασης στην υπηρεσία, το οποίο αποθηκεύεται τοπικά και με ασφάλεια στον διακομιστή. KDC: Το Κέντρο Διανομής Κλειδιών, το οποίο είναι μία ασφαλής βάση δεδομένων που γνωρίζει τα μυστικά κλειδιά κάθε εντολέα του Kerberos εντός του τομέα του. TGS: Ο Διακομιστής Εκχώρησης Εισιτηρίων στο Kerberos. TGT: Η αρχική άδεια εισόδου που επιστρέφεται από το TGS, η οποία, όταν αποκρυπτογραφείται από τον πελάτη με τη χρήση του Kc, μπορεί να χρησιμοποιηθεί για να αποδείξει την ταυτότητα του πελάτη σε μελλοντικές συναλλαγές (σε συνδυασμό με ένα έγκυρο πιστοποιητικό επαλήθευσης ταυτότητας), χωρίς να απαιτείται από τον εντολέα να παρέχει πάλι το Kc. Ktgs: Το κλειδί του Διακομιστής Εκχώρησης Εισιτηρίων (TGS). Ap: Ένα πιστοποιητικό επαλήθευσης ταυτότητας του Kerberos, το οποίο περιέχει όνομα, διεύθυνση, και χρονοσήμανση, για τον εντολέα P. Kc,tgs: Το κλειδί συνδιάλεξης μίας χρήσης, το οποίο δημιουργείται από τον TGS, μεταξύ του πελάτη C και του TGS. Kc,s: Το κλειδί συνδιάλεξης μεταξύ του πελάτη C και του διακομιστή S. Tc,s: Η άδεια εισόδου, η οποία εξουσιοδοτεί τον πελάτη C να αποκτήσει πρόσβαση στην υπηρεσία S. {x}k: Το μήνυμα x, το οποίο είναι κρυπτογραφημένο με βάση το κλειδί K. Ch: Ο πράκτορας του Charon (τμήμα της διαδικασίας μεσολάβησης) που εκτελείται στον σταθμό εργασίας του μεσολαβητή. P: Η υπηρεσία μεσολάβησης, η οποία λειτουργεί ως εντολέας του Kerberos. Kp: Το μυστικό κλειδί του μεσολαβητή, το οποίο του επιτρέπει να επαληθεύσει την ταυτότητά του ως υπηρεσία του Kerberos. Kc,p: το κλειδί συνδιάλεξης, το οποίο δημιουργείται από το KDC, για χρήση μεταξύ του πελάτη και του μεσολαβητή. Η περίληψη των μηνυμάτων που ανταλλάσσονται κατά τη διάρκεια της πρώτης φάσης του πρωτοκόλλου Charon έχει ως εξής: 1. C Ch: Ο πελάτης εκδηλώνει την επιθυμία του να δημιουργήσει ασφαλή δίαυλο επαλήθευσης ταυτότητας με το Charon. 2. Ch KDC: Το Charon ζητά TGT για λογαριασμό του πελάτη. Το μήνυμα αυτό είναι πανομοιότυπο με το μήνυμα 1 του πρωτοκόλλου Kerberos. 3. KDC Ch: {Kc,tgs, {Tc,tgs}Ktgs}Kc Το πακέτο TGT επιστρέφεται στο Charon. Το μήνυμα αυτό είναι πανομοιότυπο με το μήνυμα 2 του πρωτοκόλλου Kerberos. 4. Ch C: {Kc,tgs, {Tc,tgs}Ktgs}Kc Το πακέτο TGT προωθείται ακριβώς όπως είναι στον πελάτη. Ο πελάτης ζητά από τον χρήστη τον κωδικό πρόσβασής του στο Kerberos, τον μετατρέπει σε κλειδί DES, και χρησιμοποιεί το DES για να αποκρυπτογραφήσει το πακέτο TGT. Στο Kerberos, ο χρήστης, αντί γι αυτό, θα έπρεπε να πληκτρολογήσει τον κωδικό πρόσβασης στον σταθμό εργασίας. Αυτά τα 4 μηνύματα αντικαθιστούν τα μηνύματα 1-2 στο πρωτόκολλο Kerberos. Α. Ζήση 30
Σε αυτό το σημείο του πρωτοκόλλου, ο πελάτης, με το κλειδί Kc, κατέχει τα περιεχόμενα του πακέτου TGT. Δηλαδή το ίδιο το TGT {Tc,tgs}Ktgs, και ένα κλειδί συνδιάλεξης Kc,tgs για να το χρησιμοποιήσει κατά τον διάλογό του με τον TGS. Ο μεσολαβητής κατέχει μόνο τα περιεχόμενα του τρίτου μηνύματος (το κρυπτογραφημένο πακέτο TGT), και συγκεκριμένα, δεν μπορεί να αποκρυπτογραφήσει το τρίτο μήνυμα, αφού δεν γνωρίζει το Kc. Επομένως, δεν μπορεί να έχει στην κατοχή του το Kc,tgs. Ο πελάτης ζητά στη συνέχεια άδεια εισόδου στην υπηρεσία μεσολάβησης, στη δεύτερη φάση του μηχανισμού χειραψίας, όπως παρακάτω: 5. C Ch: P, {Tc,tgs}Ktgs, {Ac}Kc,tgs Αίτημα άδειας εισόδου στην υπηρεσία μεσολάβησης. Ο πελάτης πρέπει να δημιουργήσει ένα πιστοποιητικό επαλήθευσης ταυτότητας Ac, και να το κρυπτογραφήσει χρησιμοποιώντας το Kc,tgs, το οποίo απέκτησε στο 4ο βήμα. 6. Ch TGS: P, {Tc,tgs}Ktgs, {Ac}Kc,tgs Το Charon μεταβιβάζει τις πληροφορίες στον TGS ως ένα καλά διατυπωμένο αίτημα του Kerberos. Σημειώνουμε ότι το προωθημένο μήνυμα περιέχει το κρυπτογραφημένο TGT που επιστράφηκε αρχικά στο τρίτο μήνυμα, και το πιστοποιητικό επαλήθευσης ταυτότητας που δημιουργήθηκε από τον πελάτη, 7. TGS Ch: {Kc,p, {Tc,p}Kp}Kc,tgs Ο TGS επιστρέφει την άδεια εισόδου στην υπηρεσία μεσολάβησης, καθώς και ένα κλειδί συνδιάλεξης για χρήση μεταξύ του πελάτη και του μεσολαβητή, όλα εκ των οποίων είναι κρυπτογραφημένα με Kc,tgs, έτσι ώστε μόνο ο πελάτης να μπορεί να αποκρυπτογραφήσει αυτό το μήνυμα. 8. Ch C: {Kc,p, {Tc,p}Kp}Kc,tgs Η άδεια εισόδου και το κλειδί προωθούνται όπως ακριβώς είναι στον πελάτη, ο οποίος τα αποκρυπτογραφεί χρησιμοποιώντας Kc,tgs, και εξάγει το Kc,p. 9. C Ch: {Tc,p}Kp, {Ac}Kc,p Ο πελάτης προωθεί στο Charon την άδεια εισόδου στην υπηρεσία μεσολάβησης, και ένα πιστοποιητικό επαλήθευσης ταυτότητας που έχει δημιουργήσει. Το πιστοποιητικό επαλήθευσης ταυτότητας αποδεικνύει ότι ο πελάτης γνωρίζει το Kc,p. Αφού το Charon έχει πρόσβαση στα πιστοποιητικά Kp του Kerberos του μεσολαβητή, μπορεί να αποκρυπτογραφήσει το {Tc,p}Kp, και να εξάγει το Kc,p, από το Tc,p. Σε αυτό το σημείο κρίνεται αναγκαίο να αναφερθεί ότι ισχύουν τα εξής: Τόσο ο πελάτης, όσο και ο μεσολαβητής, έχουν στην κατοχή τους το κλειδί συνδιάλεξης Kc,p, το οποίο μπορεί να χρησιμοποιηθεί για την κρυπτογράφηση της περαιτέρω μεταξύ τους επικοινωνίας. Όλα τα κλειδιά Kc,tgs, Kc, Kp, και Kc,p, και οι άδειες εισόδου Tc,tgs και Tc,p, μεταβιβάζονται με ασφάλεια. Το Charon πιστεύει ότι ο χρήστης είναι αυτός που ισχυρίζεται ότι είναι. Το Charon δεν γνωρίζει το Kc,tgs. Για την απόκτηση πρόσβασης σε επιπλέον υπηρεσίες που χρησιμοποιούν το πρωτόκολλο Kerberos, μηνύματα παρόμοια με τα 5-9 μπορεί να ανταλλαγούν ξανά, για τη δημιουργία ενός κλειδιού συνδιάλεξης μεταξύ του πελάτη και της υπηρεσίας. Αυτό το κλειδί συνδιάλεξης μπορεί στη συνέχεια να μεταβιβαστεί με ασφάλεια στο Charon, το οποίο μπορεί να επικοινωνήσει με την υπηρεσία για λογαριασμό του πελάτη. Η προσέγγιση αυτή απαιτεί περισσότερη εργασία για τον πελάτη, εξασφαλίζει όμως ότι τα Α. Ζήση 31
μοναδικά κλειδιά που θα έχει ποτέ στην κατοχή του το Charon, θα είναι κλειδιά συνδιάλεξης. Μία εναλλακτική προσέγγιση, η οποία παρέχει περισσότερη εμπιστοσύνη στο Charon, είναι να αποκαλύψει ο πελάτης το Kc,tgs στο Charon, μέσω ενός ασφαλούς διαύλου που έχει δημιουργηθεί, επιτρέποντάς του έτσι να διαπραγματευθεί απευθείας για υπηρεσίες που χρησιμοποιούν το πρότυπο Kerberos. Σε αυτήν την περίπτωση, το Charon εξακολουθεί να μην διαθέτει τον κωδικό πρόσβασης του χρήστη για το Kerberos, επειδή όμως διαθέτει το Kc,tgs, μπορεί να προκληθεί μεγαλύτερη ζημία σε περίπτωση που παραβιαστεί. Συγκεκριμένα, ένα εισβολέας, ο οποίος ελέγχει το Kc,tgs, μπορεί να παριστάνει τον εντολέα του πελάτη για τον χρόνο ζωής του TGT, ο οποίος καθορίζεται κατά τον χρόνο του αιτήματος που πραγματοποιείται γι αυτήν, στην πράξη όμως μπορεί να διαρκεί αρκετές ώρες. 1.6.3.2 H ασφάλεια του Charon Υπάρχουν τρία λογικά σημεία κατάληξης στο σύστημα: ο πελάτης, ο μεσολαβητής (συμπεριλαμβανομένου του Charon), και οι πράκτορες υποδομής του Κerberos (συγκεκριμένα, ο TGS και το KDC). Καθένα από αυτά θα μπορούσε ενδεχομένως να παραβιαστεί από έναν εισβολέα. Επιθέσεις από Κακόβουλους Πελάτες: Το ισχυρότερο σημείο της αρχιτεκτονικής του Kerberos είναι ότι είναι σχεδόν απρόσβλητο από κακόβουλους πελάτες. Σε αυτό το ισχυρό σημείο, το πρωτόκολλο Charon αποτελεί τον διάδοχό του. Οι μόνες πληροφορίες που παρέχονται ελεύθερα στον πελάτη, τόσο από το πρωτόκολλο Kerberos, όσο και από το Charon, είναι το TGT, το οποίο είναι κρυπτογραφημένο με το κλειδί Kc του πελάτη, αλλά και με το κλειδί Ktgs του TGS. Επιθέσεις στον Σταθμό Εργασίας που Φιλοξενεί το Charon: Εάν παραβιαστεί ο σταθμός εργασίας, στον οποίο εκτελείται ο μεσολαβητής, τότε είναι πιθανόν ο εισβολέας να αποκτήσει τα πιστοποιητικά του Kerberos, τα οποία είναι αποθηκευμένα σε ένα αρχείο. Αυτό σημαίνει ότι ο εισβολέας αυτός μπορεί στη συνέχεια να αποκτήσει όλα τα κλειδιά συνδιάλεξης, τα μυστικά κλειδιά, και τις άδειες εισόδου που κατείχε ποτέ το Charon. Όμως, σε αυτά δεν συμπεριλαμβάνεται ούτε το κλειδί Kc του πελάτη, ούτε το κλειδί συνδιάλεξης Kc,tgs για τη δημιουργία πιστοποιητικών επαλήθευσης ταυτότητας. Επιθέσεις στο Σύστημα Αρχείων: Παρέχεται προστασία σε αυτές τις επιθέσεις μέσω της εκτέλεσης του Charon και του μεσολαβητή από ένα τοπικό σύστημα αρχείων, θεωρώντας τον μεταγλωττιστή που δημιούργησε τα εκτελέσιμα αρχεία ως αξιόπιστο. Άδειες Εισόδου στο Kerberos με Χρονικό Όριο: Μία επιπλέον άμυνα κατά των εισβολέων είναι να ζητούνται άδειες εισόδου στο Kerberos με μικρό χρόνο ζωής. Στο πρωτόκολλο Charon, ο εντολέας του πελάτη υποδεικνύει στο Charon τον επιθυμητό χρόνο ζωής κάθε άδειας εισόδου που ζητείται. Αν λήξει η άδεια εισόδου, πρέπει να ζητείται νέα άδεια. Το Charon λειτουργεί ως σήραγγα δεδομένων κατά τη διάρκεια του πρώτου μισού της χειραψίας επαλήθευσης ταυτότητας, και ταυτόχρονα ως σήραγγα δεδομένων και υπηρεσία κατά τη διάρκεια του δεύτερου μισού αυτής της χειραψίας. Όταν λειτουργεί ως σήραγγα δεδομένων, μπορεί να θεωρηθεί ως τμήμα του δικτύου υποδομής. Αφού το Kerberos θεωρεί ήδη ότι το δίκτυο είναι αναξιόπιστο, η χρήση του Charon ως σήραγγας δεδομένων, ουσιαστικά ως δρομολογητή, δεν επηρεάζει την ισχύ του πρωτοκόλλου. Α. Ζήση 32
Οι υποθέσεις που πρέπει να γίνουν για το πρωτόκολλο Charon είναι: Όλοι οι εντολείς πρέπει να είναι βέβαιοι ότι το KDC και ο TGS δεν έχουν παραβιαστεί, που σημαίνει ότι τα μυστικά κλειδιά που διαμοιράζονται με αυτά είναι ασφαλή. Οι εντολείς πρέπει να είναι βέβαιοι ότι το KDC και ο TGS δημιουργούν τα κατάλληλα κλειδιά συνδιάλεξης, και ότι τα κλειδιά αυτά δεν γίνονται ποτέ γνωστά σε κανέναν, πέραν του KDC, του TGS, και των εντολέων που συμμετέχουν στη σύνοδο. Οι εντολείς πρέπει να έχουν την πεποίθηση ότι οι χρονοσημάνσεις, οι οποίες ενσωματώνονται στις άδειες εισόδου και τα πιστοποιητικά επαλήθευσης ταυτότητας, είναι πρόσφατες, δηλαδή, ότι οι άδειες εισόδου που έχουν αντιγραφεί ή είναι παλιές, και τα πιστοποιητικά επαλήθευσης ταυτότητας που χρησιμοποιούνται σε μία επαναληπτική επίθεση, μπορούν να ανιχνευθούν και να απορριφθούν. 1.6.4 Το σύστημα Kaman Σε αυτό το σημείο θα παρουσιαστεί ένα σύστημα ασφαλούς πιστοποίησης ταυτότητας, το Kaman, για ad-hoc δίκτυα [10]. Στο Kaman υπάρχουν πολλαπλοί διακομιστές Kerberos για διανομή της πιστοποίησης ταυτότητας και του φορτίου. Καθώς οι κινητοί κόμβοι είναι ευαίσθητοι ως προς τους φυσικούς κατόχους τους, στο Kaman μόνο οι χρήστες γνωρίζουν το μυστικό κλειδί ή τον κωδικό πρόσβασης, και οι διακομιστές γνωρίζουν μια κρυπτογραφημένη συνάρτηση κατακερματισμού αυτών των κωδικών πρόσβασης. Όλοι οι διακομιστές Kaman μοιράζονται ένα μυστικό κλειδί με κάθε άλλον διακομιστή. Στο Kerberos, ο διακομιστής αποτελεί συνήθως ένα μεμονωμένο ευάλωτο σημείο, καθώς διαθέτει τον χώρο αποθήκευσης των συναρτήσεων κατακερματισμού των κωδικών πρόσβασης όλων των χρηστών. Στο Kaman, όλοι οι διακομιστές, κατά περιοδικά διαστήματα, ή όταν ζητηθεί, δημιουργούν αντίγραφα των βάσεων δεδομένων τους μεταξύ τους. Στο Kerberos, η υλική παραβίαση του διακομιστή συνεπάγεται την πλήρη κατάρρευση του συστήματος επαλήθευσης ταυτότητας. Στο Kaman, ένας προαιρετικός μηχανισμός ελέγχου διαθεσιμότητας μπορεί ακόμη και να απενεργοποιήσει έναν κατειλημμένο διακομιστή. Χρησιμοποιείτε ένας μηχανισμός επιλογής διακομιστή κατ εκλογή, οπότε, η μη διαθεσιμότητα ενός διακομιστή, μετά από κάποιο χρονικό διάστημα, εκκινεί τη διαδικασία εκλογής διακομιστή. Στο Kaman πραγματοποιούνται οι εξής υποθέσεις: 1. Όλοι οι χρήστες διαθέτουν ένα μυστικό κλειδί, ή έναν κωδικό πρόσβασης, τα οποία είναι γνωστά μόνο στους ίδιους. 2. Όλοι οι διακομιστές γνωρίζουν τη συνάρτηση κατακερματισμού των κωδικών πρόσβασης όλων των χρηστών. 3. Όλοι οι διακομιστές μοιράζονται ένα μυστικό κλειδί με κάθε άλλον διακομιστή. 1.6.4.1 Ανάλυση του Kaman Η γενική λειτουργία του Kaman παρουσιάζεται στην Εικόνα 17. Όποτε ο κόμβος C 1 επιθυμεί να επιχειρήσει ασφαλή επικοινωνία με έναν άλλον κόμβο C 2, στέλνει αίτημα σε έναν από τους διακομιστές Kaman S 1. Ο διακομιστής δημιουργεί μία άδεια εισόδου, η Α. Ζήση 33
οποία περιέχει το κλειδί συνδιάλεξης για την αιτούμενη επικοινωνία, και την στέλνει πίσω στον πελάτη C 1. Ο πελάτης C 1, με τη σειρά του, στέλνει αυτήν την άδεια εισόδου στον πελάτη-στόχο C 2, με τον οποίο επιθυμεί να επικοινωνήσει. Ο παραλήπτης πελάτης C 2 εγκρίνει την άδεια εισόδου, και δημιουργείται ασφαλής συνδιάλεξη μεταξύ των δύο πελατών, χρησιμοποιώντας το κλειδί συνδιάλεξης που παρέχεται από τον διακομιστή. Οι διακομιστές ανταλλάσσουν επίσης δεδομένα μέσω ενός κρυπτογραφημένου διαύλου, χωρίς ωστόσο να ζητήσουν την άδεια εισόδου, καθώς κατέχουν ήδη το κλειδί συνδιάλεξης. Εικόνα 7: Λειτουργία του Kaman Κατά την αρχική διαμόρφωση, μπορεί να υπάρχει μόνο ένας μεμονωμένος διακομιστής, ο οποίος διαθέτει τον χώρο αποθήκευσης. Σε αυτόν τον χώρο αποθηκεύονται η ταυτότητα και ο κατακερματισμένος κωδικός πρόσβασης του κάθε χρήστη, μαζί με την προτεραιότητα και τον χρόνο ζωής. Χορηγείται υψηλότερη προτεραιότητα σε όλους τους πιθανούς χρήστες, οι οποίοι είναι αρκετά αξιόπιστοι, από εκείνους που παρουσιάζουν χαμηλότερη αξιοπιστία. Σύμφωνα με το σενάριο χρήσης, η κατανομή των χρόνων ζωής των χρηστών πραγματοποιείται αντιστρόφως ανάλογα προς την αντιληπτή «εχθρότητα» του περιβάλλοντος του δικτύου. Αν το περιβάλλον αυτό είναι φιλικό, ο χρόνος ζωής των κωδικών πρόσβασης μπορεί να είναι μεγάλος, όμως σε περίπτωση μη ασφαλούς περιβάλλοντος, ο χρόνος αυτός μπορεί να μειωθεί. Ο χώρος αποθήκευσης βασικά περιέχει τέσσερα πεδία: Την Ταυτότητα, τον Κωδικό Πρόσβασης, την Προτεραιότητα, και τον Χρόνο Ζωής του χρήστη. Η διαμόρφωση του χώρου αποθήκευσης παρουσιάζεται στον παρακάτω Πίνακα: Πίνακας 1: Μορφή του χώρου αποθήκευσης του διακομιστή Kaman Το Kaman χρησιμοποιεί μία τροποποιημένη έκδοση του πρωτοκόλλου Kerberos 5 για πιστοποίηση ταυτότητας σε ad-hoc δίκτυα. Σε αυτό το πρωτόκολλο χρησιμοποιείται Α. Ζήση 34
ένας Διακομιστής Εκχώρησης Εισιτηρίων (TGS) για τη χορήγηση άδειας εισόδου σε χρήστες, η ταυτότητα των οποίων έχει ήδη επαληθευτεί μέσω του Διακομιστή Πιστοποίησης Ταυτότητας (AS). Στο Kaman εξαλείφεται η χρήση του TGS, έτσι ώστε να γίνει πιο προσβάσιμη για χρήση σε ad-hoc δίκτυα. Όποτε ένας κόμβος επιθυμεί να δημιουργήσει ασφαλή σύνδεση με έναν άλλον κόμβο, προσεγγίζει τον Διακομιστή Πιστοποίησης Ταυτότητας, και ακολουθεί το πρωτόκολλο, όπως φαίνεται: C 1 Διακομιστής Επιλογές, IDC 1, IDC 2, Χρονοσφραγίδα, Στοιχείο μιας Χρήσης Διακομιστής C 1 IDC 1, Άδεια Εισόδου C 2, {KC 1,C 2, Χρονοσφραγίδα, Στοιχείο μιας Χρήσης, IDC 2 }KC 1 C 1 C 2 Επιλογές, Εισιτήριο C 2, Πιστοποιητικό Ταυτότητας C 1 C 2 C 1 {TS, Υποκλειδί, Αριθ. Ακολουθίας }KC 1, C 2 Όπου: Εισιτήριο C 2 = {Σημαίες, KC 1, C 2, IDC 1, ADC 1, Χρόνοι}KC 2 Πιστοποιητικό Ταυτότητας C 1 = {ID C 1, TS}KC 1,C 2 Επιλογές: Χρησιμοποιούνται για να ζητηθεί να συμπεριληφθούν συγκεκριμένες σημαίες στο επιστρεφόμενο εισιτήριο Χρόνοι: Χρησιμοποιούνται για να καθοριστεί η έναρξη, η λήξη, και οι ρυθμίσεις ανανέωσης χρόνου της άδειας εισόδου Σημαίες: Κατάσταση του εισιτηρίου Στοιχείο μιας Χρήσης: Μία τυχαία τιμή, η οποία χρησιμοποιείται ως ψευδομοναδικό αναγνωριστικό συναλλαγής για την αποφυγή επαναληπτικών επιθέσεων Υποκλειδί: Επιλογή άλλου κλειδιού κρυπτογράφησης για την εν λόγω σύνοδο, αντί του KC 1,C 2 Αριθ. Ακολουθίας: Αριθμός ακολουθίας έναρξης για την ανίχνευση επαναλήψεων (επιθέσεων) IDC 1 : Ταυτότητα του Πελάτη1 IDC 2 : Ταυτότητα του Πελάτη2 ADC 1 : Διεύθυνση Δικτύου του Πελάτη1 KCn: Κλειδί κρυπτογράφησης με βάση τον κακακερματισμένο κωδικό πρόσβασης του χρήστη n KC 1,C 2 : Κλειδί συνδιάλεξης μεταξύ του Πελάτη1 και του Πελάτη2 TS: Ενημερώνει για τον χρόνο δημιουργίας του εν λόγω πιστοποιητικού ταυτότητας (Χρονοσήμανση) Κατά τη διάρκεια της ανταλλαγής της υπηρεσίας πιστοποίησης ταυτότητας, ο Πελάτης1 ζητά άδεια εισόδου από τον διακομιστή Kaman για περαιτέρω επικοινωνία με τον Πελάτη2. Ο διακομιστής ελέγχει πρώτα αν ο Πελάτης1 και ο Πελάτης2 διαθέτουν χρόνο ζωής σε ισχύ, ο οποίος συνδέεται με τις ταυτότητες των χρηστών τους. Αν διαθέτουν πράγματι χρόνο ζωής σε ισχύ, τότε ο διακομιστής αποκρίνεται, παρέχοντας στον Πελάτη1 ένα εισιτήριο για πρόσβαση στον Πελάτη2. Αυτό το εισιτήριο, πέρα των άλλων τιμών, περιέχει και ένα κλειδί συνδιάλεξης για επικοινωνία μεταξύ του Πελάτη1 και του Πελάτη2. Ο Πελάτης1 στη συνέχεια μεταβιβάζει αυτό το εισιτήριο στον Πελάτη2 για τη δημιουργία ασφαλούς επικοινωνίας, μέσω της χρήσης του κλειδιού συνδιάλεξης. Ο Πελάτης2 επιβεβαιώνει την παραλαβή αυτού του εισιτηρίου στέλνοντας μία Χρονοσήμανση πίσω στον Πελάτη1. Α. Ζήση 35
Σε αντίθεση με το αρχικό πρωτόκολλο Kerberos 5, στο Kaman χρησιμοποιείται μόνο ο Διακομιστή Πιστοποίησης Ταυτότητας (AS), για να δημιουργηθεί στον πελάτη που πραγματοποιεί το αίτημα, εισιτήριο για επικοινωνία με έναν άλλον πελάτη. Ο μηχανισμός αυτός μας παρέχει τα παρακάτω οφέλη σε περιβάλλον δικτύου κατά περίπτωση: 1. Απαιτείται η απόκτηση πρόσβασης σε μεμονωμένο διακομιστή 2. Ταχύτερη πιστοποίηση ταυτότητας 3. Περιορισμένη επεξεργασία από την πλευρά του πελάτη 4. Περιορισμένη κατανάλωση μπαταρίας Ο διακομιστής Kaman εξουσιοδοτεί χρήστες μόνο μέχρι τη λήξη του χρόνου ζωής των κωδικών πρόσβασής τους. Το εισιτήριο λήγει αυτόματα κατά τα λήξη αυτής της χρονικής περιόδου. Σύμφωνα με ένα προσυμφωνημένο σύνολο κανόνων, η συνδιάλεξη μεταξύ δύο πελατών τερματίζεται επίσης κατά τη λήξη του εισιτηρίου. Όλοι οι πελάτες που ζητούν επέκταση της εξουσιοδότησης, πρέπει να αιτηθούν νέο κωδικό πρόσβασης, πριν τη λήξη του εισιτηρίου. Το πρωτόκολλο γι αυτήν την επέκταση φαίνεται παρακάτω: Πελάτης1 Διακομιστής Επιλογές, IDC 1, Στοιχείο μιας Χρήσης Διακομιστής Πελάτης1 IDC 1, {KC, Χρονοσφραγίδα, Στοιχείο μιας Χρήσης, IDC 1 }KC 1 Όπου: Επιλογές: Χρησιμοποιούνται για να ζητηθεί να συμπεριληφθούν συγκεκριμένες σημαίες στο επιστρεφόμενο εισιτήριο Χρόνοι: Χρησιμοποιούνται για να καθοριστεί η έναρξη, η λήξη, και οι ρυθμίσεις ανανέωσης χρόνου του εισιτηρίου Στοιχείο μιας Χρήσης: Μία τυχαία τιμή, η οποία χρησιμοποιείται ως ψευδομοναδικό αναγνωριστικό συναλλαγής για την αποφυγή επαναληπτικών επιθέσεων IDC 1 : Ταυτότητα του Πελάτη1 ADC 1 : Διεύθυνση Δικτύου του Πελάτη1 KC 1 : Κρυπτογράφηση με βάση του χρήστες του παλιού κατακερματισμένου κωδικού πρόσβασης KC: Νέος κωδικός πρόσβασης για τον Πελάτη1 Σύμφωνα με την περιοχή κάλυψης και το εύρος των κόμβων, μποροεί να απαιτηθεί η ύπαρξη ενός ή περισσότερων διακομιστών. Η εκλογή διακομιστή ενεργοποιείται από τις παρακάτω καταστάσεις: 1. Όταν ο αριθμός των διαθέσιμων διακομιστών αυξάνεται ή μειώνεται 2. Όταν ο χρόνος ζωής του διακομιστή λήγει 3. Όταν ένας διακομιστής αδυνατεί να ανταποκριθεί στον προαιρετικό μηχανισμό ελέγχου διαθεσιμότητας Σε περίπτωση που ένας διακομιστής δεν είναι διαθέσιμος, εξαιτίας είτε του εύρους ασύρματης μετάδοσής του, είτε της γεωγραφικής θέσης του, είτε αν ο χρόνος ζωής του έχει λήξει, ενεργοποιείται μία εκλογή διακομιστή. Κατά τη διάρκεια αυτών των εκλογών, οι διακομιστές ελέγχουν τους χώρους αποθήκευσής τους για τους χρήστες με τα υψηλότερα επίπεδα προτεραιότητας. Αν περισσότεροι από ένας κόμβοι έχουν την ίδια προτεραιότητα, τότε λαμβάνονται υπόψη οι χρόνοι ζωής τους. Οι κόμβοι αυτοί με την υψηλότερη προτεραιότητα και χρόνο ζωής, αναβαθμίζονται αυτόματα σε διακομιστές, μέσω της ασφαλούς μεταφοράς του χώρου αποθήκευσης σε αυτούς. Ομοίως, αν ο αριθμός διακομιστών αυξηθεί (εμφάνιση μη διαθέσιμου διακομιστή), ο διακομιστής με τη Α. Ζήση 36
χαμηλότερη προτεραιότητα και χρόνο ζωής υποβαθμίζεται σε πελάτη. Η περιοδικότητα αυτών των εκλογών εξαρτάται από την περιοχή διασποράς, την πυκνότητα των κόμβων, και τη σοβαρότητα της κατάστασης. Ένα άλλο σημαντικό στοιχείο στο Κaman είναι η δημιουργία αντιγράφου του χώρου αποθήκευσης. Η δημιουργία αντιγράφου του χώρου αποθήκευσης κατά τακτά χρονικά διαστήματα είναι ζωτικής σημασίας για τον συνολικό συγχρονισμό και τη συνεχή λειτουργία του μηχανισμού πιστοποίησης ταυτότητας. Επίσης, διασφαλίζει την επέκταση της βάσης δεδομένων λογαριασμών σε έναν αριθμό διακομιστών, έτσι ώστε να προστατευθεί από σύλληψη και παραβίαση των κόμβων. Διασφαλίζει ακόμη την ενημέρωση όλων των λογαριασμών χρηστών, μέσω της εφαρμογής τυχόν αλλαγών σε όλους τους διακομιστές. Ο μηχανισμός αυτός εξασφαλίζει ότι όλοι οι λογαριασμοί που προστέθηκαν, τροποποιήθηκαν, ή ανακλήθηκαν, από την τελευταία δημιουργία αντιγράφου, ενημερώνονται στον χώρο αποθήκευσης εγκαίρως και τακτικά. Κάθε δημιουργία αντιγράφου συνδέεται με έναν σχετικό αριθμό ακολουθίας, και μπορεί να γίνεται είτε περιοδικά, ή να υλοποιείται μέσω της χρήσης μηχανισμού ώθησης και έλξης. Η συχνότητα δημιουργία αντιγράφου εξαρτάται από την περιοχή διασποράς, την πυκνότητα των κόμβων, τη σοβαρότητα της κατάστασης, και τους ενεργειακούς περιορισμούς. Διακομιστής1 Διακομιστής2 {TS, R, Αριθ. Ακολουθίας }KS 1,S 2 Όπου: Αριθ. Ακολουθίας: Αριθμός Ακολουθίας Δημιουργίας Αντιγράφου R: Χώρος Αποθήκευσης KS 1,S 2 : Κλειδί συνδιάλεξης μεταξύ του Διακομιστή1 και του Διακομιστή2 TS: Ενημερώνει για τον χρόνο κατά τον οποίο εκτελέστηκε η εν λόγω δημιουργία αντιγράφου (Χρονοσήμανση) Αν R είναι ο τρέχων χώρος αποθήκευσης του Διακομιστή S1, TS ο χρόνος δημιουργίας αντιγράφου, και Ν ο αριθμός ακολουθίας της τρέχουσας δημιουργίας αντιγράφου, τότε το πακέτο δημιουργίας αντιγράφου θα είναι {TS, R, N)KS 1,S 2. Στην ουσία για τη μεγιστοποίηση της συνδεσιμότητας των πελατών με τους διακομιστές, έχουν τεθεί σε εφαρμογή τα μέτρα της δημιουργίας αντιγράφων και της ύπαρξης εκλογής διακομιστών. 1.6.4.2 Η ασφάλεια του Kaman Ενεργητικές Επιθέσεις Οι επιθέσεις που χρησιμοποιούν τροποποίηση έχουν γενικά ως στόχο την ακεραιότητα των υπολογισμών δρομολόγησης, και έτσι, τροποποιώντας τις πληροφορίες δρομολόγησης, ένας εισβολέας μπορεί να προκαλέσει διακοπή της κίνησης του δικτύου, την οποία ανακατευθύνει σε διαφορετικό προορισμό, ή οδηγεί να ακολουθήσει μία μεγαλύτερη διαδρομή προς τον προορισμό, αυξάνοντας τις καθυστερήσεις στην επικοινωνία. Σε αυτήν την περίπτωση, το πρωτόκολλο Kaman στους κόμβους του δικτύου, χρησιμοποιεί τα κλειδιά συνδιάλεξης για να κρυπτογραφήσει τη ροή κίνησης Α. Ζήση 37
των δεδομένων και των πακέτων ελέγχου. Έτσι συμπεριλαμβάνοντας τα κατακερματισμένα περιεχόμενα των μηνυμάτων σε κάθε μεταδιδόμενο πακέτο, εξασφαλίζεται η ακεραιότητα των περιεχομένων, σε συνδυασμό με την εμπιστευτικότητα. Οι επιθέσεις πλαστογραφίας εκτελούνται μέσω της δημιουργίας ψευδών μηνυμάτων δρομολόγησης. Οι επιθέσεις αυτές είναι δύσκολο να αναγνωριστούν, καθώς γίνονται αντιληπτές ως γνήσια πακέτα δρομολόγησης. παράδειγμα κακόβουλων επιθέσεων με χρήση πλαστογραφίας. Η επίθεση αυτή έχει ως στόχο πρωτόκολλα δρομολόγησης τα οποία λειτουργούν όταν ζητηθεί, και τα οποία χρησιμοποιούν διπλή ανάσχεση σε κάθε κόμβο. Ένας εισβολέας διασπείρει με ταχύτητα μηνύματα δρομολόγησης σε όλο το δίκτυο, καταστέλλοντας τα μεταγενέστερα γνήσια μηνύματα δρομολόγησης, καθώς οι κόμβοι τα απορρίπτουν, καταστέλλοντάς τα ως διπλότυπα. Ομοίως, ένας εισβολέας μπορεί να εξουδετερώσει ένα δρομολόγιο προς έναν προορισμό, το οποίο βρίσκεται σε λειτουργία, πλαστογραφώντας μηνύματα σφάλματος δρομολόγησης, υποστηρίζοντας ότι η επικοινωνία με έναν γειτονικό κόμβο δεν είναι πλέον εφικτή. Με τη χρήση του πρωτοκόλλου Kaman, η αυθεντικότητα των πακέτων ελέγχου και δεδομένων που λαμβάνονται μπορεί να επαληθευτεί χρησιμοποιώντας τα κλειδιά συνδιάλεξης. Καθώς τα κλειδιά συνδιάλεξης είναι μοναδικά, τα πλαστογραφημένα πακέτα μπορεί εύκολα να επαληθευτούν, και κατά συνέπεια, να απορριφθούν. Στις επιθέσεις πλαστοπροσωπίας, ένας κακόβουλος κόμβος μπορεί να εξαπολύσει πολλές επιθέσεις σε ένα δίκτυο, παριστάνοντας έναν άλλον κόμβο. Η πλαστοπροσωπία συμβαίνει όταν ένας κακόβουλος κόμβος παραποιήσει την ταυτότητά του, παραποιώντας τη διεύθυνσή του MAC ή IP, προκειμένου να παραμορφώσει την εικόνα της τοπολογίας του δικτύου, την οποία μπορεί να συλλέξει ένας καλόβουλος κόμβος. Για παράδειγμα, μία επίθεση πλαστοπροσωπίας επιτρέπει τη δημιουργία βρόχων δρομολόγησης των πληροφοριών που έχουν συλλεχθεί από έναν κόμβο, με αποτέλεσμα τον διαμελισμό του δικτύου. Λόγω όμως της κρυπτογράφησης όλης της κίνησης στο πρωτόκολλο Kaman, από σημείο σε σημείο, διασφαλίζεται έμμεσα η επαλήθευση της γνησιότητας των πακέτων, καθώς μόνο τα σημεία κατάληξης, τα οποία έχουν επαληθευτεί εκ των προτέρων, μπορούν να έχουν στην κατοχή τους τα κλειδιά συνδιάλεξης. Κατά συνέπεια, η γνησιότητα όλων των πακέτων επαληθεύεται αυτόματα κατά τη φάση της αποκρυπτογράφησης, εξασφαλίζοντας την απόρριψη τυχόν πακέτων τα οποία έχουν υποστεί πλαστοπροσωπία. Παθητικές Επιθέσεις Στις παθητικές επιθέσεις, ο εισβολέας δεν προκαλεί διακοπή λειτουργίας του πρωτόκολλου δρομολόγησης. Αντί γι αυτό, πραγματοποιεί μόνο υποκλοπές στην κίνηση δρομολόγησης και επιχειρεί να αποσπάσει πολύτιμες πληροφορίες από αυτήν, όπως η ιεραρχία των κόμβων, και η τοπολογία του δικτύου. Για παράδειγμα, αν μία διαδρομή προς έναν συγκεκριμένο κόμβο ζητείται πιο συχνά από ό, τι προς τους άλλους κόμβους, ο εισβολέας μπορεί να υποθέσει ότι ο κόμβος αυτός είναι σημαντικός για τη λειτουργία του δικτύου, και η απενεργοποίησή του θα μπορούσε να επιφέρει την κατάρρευση ολόκληρου του δικτύου. Ομοίως, ακόμη και όταν δεν είναι εφικτό να απομονωθεί η ακριβής θέση ενός κόμβου, είναι πιθανό να μπορεί να βρει κανείς πληροφορίες σχετικά με την τοπολογία του δικτύου, μέσω ανάλυσης των περιεχομένων των πακέτων δρομολόγησης. Η επίθεση αυτή είναι κυριολεκτικά αδύνατον να ανιχνευθεί σε ασύρματο περιβάλλον, και κατά συνέπεια, είναι επίσης εξαιρετικά δύσκολο να αποτραπεί. Η μόνη λύση που παρέχει σε αυτήν την περίπτωση το πρωτόκολλο Kaman έγκειται στο γεγονός ότι λόγω της κρυπτογράφησης των πακέτων και των δεδομένων πριν τη Α. Ζήση 38
μετάδοσή τους, είναι αρκετά δύσκολο για έναν κακόβουλο κόμβο να πραγματοποιήσει παθητική υποκλοπή. 1.6.5 Απειλές σε Ασύρματα Δίκτυα Αισθητήρων Σε αυτή την ενότητα θα αναφερθούμε σε μερικές από τις επιθέσεις στις οποίες είναι πιθανό να πέσουν θύματα τα Ασύρματα Δίκτυα Αισθητήρων [11]. Επίθεση Καταβόθρας Sinkhole Attack Στην επίθεση καταβόθρας (Εικόνα 8) ο προσβεβλημένος κόμβος διαχειρίζεται τις πληροφορίες δρομολόγησης που έχει υποκλέψει από το δίκτυο με σκοπό να γίνει ελκυστικός στους γειτονικούς του κόμβους για λήψη πακέτων από αυτούς. Ως αποτέλεσμα αυτού οι γειτονικοί κόμβοι επιλέγουν τον συγκεκριμένο κόμβο για την προώθηση των μηνυμάτων που λαμβάνουν. Με τον τρόπο αυτό ο επιτιθέμενος μπορεί να ελέγξει τη ροή πληροφοριών εντός του δικτύου μέσω του προσβεβλημένου κόμβου. Εικόνα 8: Επίθεση Καταβόθρας (Sinkhole) Σιβυλλική επίθεση Sybil Attack Η σιβυλλική επίθεση (Εικόνα 9) σκοπεύει στο να δώσει πολλαπλές ταυτότητες σε έναν κόμβο. Με τον τρόπο αυτό ένας προσβεβλημένος κόμβος μπορεί να μιμηθεί ταυτότητες άλλων κόμβων ή να αναπαράγει νέες ψεύτικες ταυτότητες. Οι ψεύτικες ταυτότητες υλοποιούν ισάριθμους εικονικούς κόμβους οι οποίοι καλούνται σιβυλλικοί κόμβοι. Οι κόμβοι αυτοί συμμετέχουν κανονικά στις λειτουργίες του δικτύου WSN, αν και αποτελούν στη πραγματικότητα μόνο μία συσκευή. Αποτέλεσμα της επίθεσης είναι η μεγαλύτερη ενεργειακή επιβάρυνση της προσβεβλημένης συσκευής σε σύγκριση με τις υπόλοιπες συσκευές του δικτύου. Α. Ζήση 39
Εικόνα 9: Σιβυλλική Επίθεση (Sybil) Επίθεση Σκουληκότρυπα Wormhole Attack Η επίθεση σκουληκότρυπας (Εικόνα 10) χρησιμοποιείται από τον επιτιθέμενο με σκοπό την παραπλάνηση δύο απομακρυσμένων κόμβων ως προς την εγγύτητα τους, έτσι ώστε αυτοί να αναγνωρίζονται ως γειτονικοί. Οι συγκεκριμένη επίθεση μπορεί να χρησιμοποιηθεί σε συνδυασμό με άλλες επιθέσεις, όπως την επιλεκτική προώθηση, την επίθεση καταβόθρας και τη σιβυλλική επίθεση. Εικόνα 10: Επίθεση Σκουληκότρυπας (Wormhole) Επίθεση Αντιγραφής Κόμβου Identity Replication Attack Η επίθεση αντιγραφής ενός κόμβου (Εικόνα 11) είναι ιδιαίτερα απλή. Ένας επιτιθέμενος επιδιώκει να προσθέσει στο υπάρχον δίκτυο αισθητήρων έναν κόμβο με την αντιγραφή της ταυτότητας (ID) ενός κόμβου που υπάρχει ήδη στο δίκτυο. κόμβος που αντιγράφεται με τον παραπάνω τρόπο μπορεί να δημιουργήσει πολλαπλά προβλήματα και να μειώσει αισθητά την απόδοση του δικτύου: τα πακέτα μπορεί να διασπαστούν η και ακόμα να προωθηθούν λανθασμένα. Αυτό μπορεί να οδηγήσει σε ένα αποσυνδεδεμένο δίκτυο όπου θα διακινούνται ψευδή γεγονότα από τους αισθητήρες. Εάν ένας επιτιθέμενος αποκτήσει πρόσβαση σε ολόκληρο το δίκτυο μπορεί να αποθηκεύσει κρυπτογραφικά κλειδιά στον αντιγραμμένο αισθητήρα και επίσης να εισάγει τον κόμβο σε στρατηγικά σημεία εντός του δικτύου (κοντά σε έναν σταθμό βάσης). Αυτό θα έχει σαν αποτέλεσμα τον εύκολο χειρισμό ενός τομέα του δικτύου. Α. Ζήση 40
Εικόνα 11: Επίθεση Αντιγραφής Κόμβου (Identity Replication Attack) Α. Ζήση 41
2. ΘΕΜΕΛΙΩΔΕΙΣ ΑΡΧΕΣ ΔΙΑΧΕΙΡΙΣΗΣ ΚΛΕΙΔΙΩΝ 2.1 Το Μοντέλο Αντιπάλου Οι αντίπαλοι σε ασύρματα δίκτυα αισθητήρων μπορούν να ταξινομηθούν είτε ως εξωτερικοί είτε ως εσωτερικοί αντίπαλοι [1]. Οι πρώτοι δεν έχουν αυθεντικό υλικό κλειδιών για να μπορούν να συμμετάσχουν στις εργασίες του δικτύου ως νόμιμοι κόμβοι. Μπορούν απλώς να κρυφακούσουν τις ραδιοφωνικές μεταδόσεις ή να εισάγουν ψευδή στοιχεία ή να δρομολογήσουν μηνύματα στο δίκτυο για να καταναλώνουν τους πόρους του δικτύου. Μόλις αποκτήσουν πλήρη έλεγχο ορισμένων κόμβων, οι εξωτερικοί αντίπαλοι μπορούν να γίνουν εσωτερικοί για να είναι σε θέση να ξεκινήσουν πιο ήπιες επιθέσεις. Οι εσωτερικοί αντίπαλοι είναι γενικά πιο δύσκολο να αντιμετωπιστούν σε σχέση με τους εξωτερικούς εξαιτίας της κατοχής αυθεντικών κλειδιών. Μπορούμε ακόμα να υποθέσουμε ότι οι αντίπαλοι έχουν πολύ πιο ισχυρούς πόρους στον τομέα της ενέργειας, της επικοινωνίας, και των ικανοτήτων επικοινωνίας από τους συνηθισμένους αισθητήριους κόμβους. Μπορούν επίσης να επικοινωνούν και να συνεργάζονται πάνω από ένα υψηλού εύρους ζώνης και χαμηλής περιόδου κανάλι αόρατο στους νόμιμους κόμβους αισθητήρων. Ωστόσο, υποθέτουμε ότι οι αντίπαλοι δεν μπορούν να θέσουν σε κίνδυνο έναν απεριόριστο αριθμό των κόμβων αισθητήρων. Ούτε μπορούν να σπάσουν κρυπτογραφικές αρχές στις οποίες βασίζεται το σχέδιο μας. Σε αντίθετη περίπτωση, είναι απίθανο να υπάρξει οποιαδήποτε εφικτή λύση ασφαλείας. 2.2 Διαχείριση Συστήματος Κλειδιών βασισμένων στην τοποθεσία Σε αυτή την ενότητα παρουσιάζεται ένα σύστημα διαχείρισης κλειδιών βασισμένων στην τοποθεσία (Location - Based Keys LBK) για Ασύρματα δίκτυα αισθητήρων. Η παραγωγή και διανομή των LBKs, μια ασφαλής διαδικασία εξασφάλισης αυθεντικών γειτονικών κόμβων με χρήση LBK, και μέθοδοι για τον καθορισμό άμεσων και πολλαπλών κοινόχρηστων κλειδιών. 1. Φάση Ανάπτυξης Εξετάζουμε WSN μεγάλης κλίμακας που αποτελούνται από εκατοντάδες ή ακόμη και χιλιάδες κόμβους αισθητήρων. Υποθέτουμε ότι όλοι οι κόμβοι έχουν το ίδιο εύρος μετάδοσης R και επικοινωνούν μέσω αμφίδρομων ασύρματων συνδέσεων. Οι κόμβοι εκτελούν μια συνεργατική παρακολούθηση του καθορισμένου πεδίου του αισθητήρα και αναφέρουν τα γεγονότα της παρακολούθησης στο μακρινό κόμβο όπου μαζεύονται τα δεδομένα (sink), ο οποίος είναι ένα κέντρο συλλογής δεδομένων με ισχυρές δυνατότητες επεξεργασίας. Εμείς, υποθέτουμε ότι κάθε κόμβος Α έχει ένα μοναδικό, ακέραιο και μη μηδενικό ID, που συμβολίζεται με ID A. Για περιορισμούς του κόστους, οι κόμβοι υποτίθεται ότι δεν είναι απαραβίαστοι, υπό την έννοια ότι αντίπαλοι μπορούν να εξάγουν όλο το υλικό κλειδιών και τα αποθηκευμένα δεδομένα ενός εκτεθειμένου κόμβου. Ωστόσο, ο συγκεκριμένος κόμβος (sink) θεωρείται αξιόπιστος και απρόσβλητος γενικά. Α. Ζήση 42
Πριν από την ανάπτυξη του δικτύου, υποθέτουμε ότι μια αξιόπιστη αρχή (Trusted Authority, TA) κάνει τις ακόλουθες λειτουργίες. 1) Δημιουργεί τις παραμέτρους σύνδεσης (pairing), όπως περιγράφεται στο τμήμα Σύνδεσης (Pairing Concept). Επιλέγει μία αυθαίρετη γεννήτρια W του G 1. 2) Επιλέγει δύο κρυπτογραφικές συναρτήσεις κατακερματισμού: Η, χαρτογράφηση συμβολοσειρών σε μη μηδενικά στοιχεία στη G 1 και h, χαρτογράφηση αυθαίρετων εισροών σε εκροές σταθερού μήκους, π.χ., SHA-1. 3) Διαλέγει μια τυχαία κ Є Ζ* q ως το κύριο δίκτυο μυστικών και ορίζει W pub = κw. 4) Υπολογίζει για κάθε κόμβο A ένα κλειδί βασισμένο στο ID (ΙΒΚ εν συντομία), ΙΚ Α = κη(ιd Α ) Є G 1. Κάθε κόμβος Α διαθέτει τις παραμέτρους δημόσιου συστήματος ( p,q, E/F p, G 1, G 2, ê, H, h, W, W pub ) και του ιδιωτικού του IK A. Είναι σημαντικό να σημειωθεί ότι είναι υπολογιστικά ανέφικτο να βγάλουμε συμπέρασμα για το κ από τα (W, W pub ) ή από οποιοδήποτε (ID, ΙΒΚ) ζεύγος, όπως το (ID A, ΙΚ Α ) λόγω της δυσκολίας της επίλυσης του DLP σε G 1. Ως εκ τούτου, ακόμη και μετά την έκθεση σε κίνδυνο ενός αριθμού κόμβων και των IBKs τους, οι αντίπαλοι δεν είναι ακόμα σε θέση να υπολογίσουν τα IBKs των εκτεθειμένων κόμβων. 2. Ανάπτυξη αισθητήρα και προσαρμογή Αφού αποκτήσουν το υλικό που αφορά τα κλειδιά, οι κόμβοι αισθητήρων μπορούν να αναπτυχθούν με διάφορους τρόπους, όπως η φυσική εγκατάσταση ή ο τυχαίος διασκορπισμός τους. Υπάρχουν επίσης πολλές μέθοδοι για τον εντοπισμό κάθε κόμβου, όπως η παροχή της γεωγραφικής θέσης του κάθε κόμβου. Θεωρούμε τις 2 ακόλουθες τεχνικές εντοπισμού αισθητήρων, οι οποίες διαφέρουν ως προς τους τρόπους παραγωγής των LBKs για μεμονωμένους κόμβους. Το τελικό αποτέλεσμα κάθε προσέγγισης είναι ότι κάθε κόμβος Α διαθέτει την τοποθεσία του που συμβολίζεται με l A και ένα LBK, LK A = κη( ID A l A ) όπου το δηλώνει τη συνένωση του μηνύματος. 1) Προσαρμογή βάσει Εύρους: Σε αυτή την προσέγγιση, υποθέτουμε ότι μια ομάδα κινητών ρομπότ ξεκινάνε να σαρώσουν όλο τον τομέα αισθητήρων μαζί με προσχεδιασμένες διαδρομές. Τα κινητά ρομπότ έχουν δυνατότητες GPS, καθώς και πιο ισχυρό υπολογισμό και ικανότητες επικοινωνίας από τους συνήθεις κόμβους. Το ρομπότ - αρχηγός είναι επίσης εξοπλισμένο με το κύριο μυστικό του δικτύου, κ. Για να εντοπίσουν ένα κόμβο, έστω τον Α, κινητά ρομπότ τρέχουν σε ένα ασφαλές εύρος που βασίζεται στο πρωτόκολλο εντοπισμού για να υπολογίσουν την απόλυτη απόσταση τους από τον κόμβο Α και στη συνέχεια να καθορίσουν το l A, την τοποθεσία του Α. Μετά το ρομπότ αρχηγός υπολογίζει το LK A = κη( ID A l A ). Έπειτα, παράγει ΙK A = κη(id A ) και στέλνει {LK A l A } IKA, h IKA (LK A l A) στον Α. Από αυτό το σημείο και μετά, το {Μ} k θα αποδίδεται στο κρυπτογραφημένο μήνυμα Μ με το κλειδί k και το h k (M) θα αναφέρεται στην ακεραιότητα του μηνύματος (Message Integrity Code - MIC) Μ με το κλειδί k. Μετά τη λήψη του μηνύματος, ο κόμβος A χρησιμοποιεί τo πρώτο εγκατεστημένο του ΙΒΚ ΙK A για να αποκρυπτογραφήσει το LK A και l A και στη συνέχεια, αναγεννά το MIC. Εάν το αποτέλεσμα ταιριάζει με αυτό που έστειλε το ρομπότ, ο Α αποθηκεύει τα LK A και l A για μετέπειτα χρήση. Μετά από αυτή τη διαδικασία, όλα τα κόμβοι μπορούν να εφοδιαστούν με την αντίστοιχη θέση τους και τα LBK τους. Μετά από αυτό, τα κινητά ρομπότ αφήνουν το πεδίο του αισθητήρα και το ρομπότ αρχηγό θα πρέπει να διαγράψει με ασφάλεια το κ από τη μνήμη του. Κατά τη διάρκεια εργασιών σε μετέπειτα Α. Ζήση 43
δίκτυο, η πρόσθεση κόμβου μπορεί να είναι απαραίτητη για να διατηρηθεί η καλή σύνδεση με το δίκτυο. Ο εντοπισμός νέων κόμβων μπορεί να γίνει με τον ίδιο τρόπο. Η προσέγγιση αυτή βασίζεται στην υπόθεση ότι οι αντίπαλοι δεν ξεκινούν ενεργές επιθέσεις σε κινητά ρομπότ σε αυτό το στάδιο που συνήθως δεν διαρκεί πολύ. Ωστόσο, μπορούν να εκτελούν παθητικές επιθέσεις, όπως υποκλοπές μηνυμάτων ή παρεμβολή καναλιού για να διαταράξει τη διαδικασία εντοπισμού. Αυτή η υπόθεση είναι λογική δεδομένου ότι τα κινητά ρομπότ είναι πολύ λιγότερα από τους συνηθισμένους αισθητήριους κόμβους και, ως εκ τούτου, μπορούμε να δαπανούμε περισσότερα για αυτούς επισυνάπτοντας τους σε υψηλής ποιότητας απαραβίαστο υλικό και τοποθετώντας τους υπό παρακολούθηση. Οι αντίπαλοι μπορεί επίσης να θέλουν να αποφύγουν προσωρινά ενεργές επιθέσεις που μπορεί εύκολα να τους εκθέσουν. Μετά τη φάση του εντοπισμού, οι αντίπαλοι είναι ελεύθεροι να ξεκινήσουν επιθέσεις όλων των ειδών. 2) Εντοπισμός ανεξάρτητα από το Εύρος: Αντίθετα, η συγκεκριμένη προσέγγιση δεν βασίζεται σε μετρήσεις της ακριβούς απόστασης ή του εύρους. Αντιθέτως, μπορούμε να υποθέσουμε ότι υπάρχουν κάποιοι ειδικοί κόμβοι που ονομάζονται άγκυρες και γνωρίζουν τις δικές τους θέσεις. Όλοι οι κόμβοι που δεν είναι άγκυρες αντλούν αυτόνομα τις θέσεις τους με βάση πληροφορίες από τους άλλους κόμβους άγκυρες και τους γειτονικούς κόμβους μέσω ασφαλών τεχνικών εντοπισμού ανεξάρτητων του εύρους. Τα LBKs δημιουργούνται από τους κόμβους. Για να γίνει αυτό, κάθε κόμβος Α έχει προεγκατεστημένο το κύριο μυστικό δίκτυο σύμφωνα με το οποίο για τη δημιουργία LBK, LK A = κη(id A l A ). Η προσέγγιση αυτή εκμεταλλεύεται το γεγονός ότι οι αισθητήριοι κόμβοι αναπτύσσονται σε ευαίσθητα περιβάλλοντα ασφαλείας, τα οποία συνήθως είναι σχεδιασμένα να αντέχουν τις επιθέσεις διάρρηξης, τουλάχιστον για ένα σύντομο χρονικό διάστημα, όταν πιάνονται από αντιπάλους. Συγκεκριμένα, υποθέτουμε ότι ένας αντίπαλος χρειάζεται ένα χρονικό διάστημα, τουλάχιστον Τ min για να εκθέσει επιτυχώς την ασφάλεια ενός κόμβου και κάθε κόμβος χρειάζεται κάποιο χρόνο λιγότερο από Τ min για να ολοκληρώσει τον εντοπισμό και την εγκατάσταση του LBK του. Επιπλέον, κάθε κόμβος θα πρέπει να προγραμματιστεί για να διαγράφει με ασφάλεια το κ από τη μνήμη του μετά από χρόνο Τ min της ανάπτυξή της. Σε περίπτωση που προστεθεί κι άλλος κόμβος, νέοι κόμβοι μπορούν να λάβουν τις θέσεις και τα LBKs τους κατά τον ίδιο τρόπο. 2.3 Αυθεντικοποίηση Γειτονιάς βάσει τοποθεσίας Εξ ορισμού, η αυθεντικοποίηση γειτονιάς αποτελεί τη διαδικασία κατά την οποία κάθε δύο γειτονικοί κόμβοι επικυρώνουν τη συμμετοχή του άλλου στο δίκτυο. Αυτή η διαδικασία είναι θεμελιώδης για την υποστήριξη πολλών υπηρεσιών ασφαλείας σε ασύρματα δίκτυα αισθητήρων. Για παράδειγμα, ένας κόμβος θα πρέπει να δέχεται μηνύματα μόνο από επικυρωμένους γείτονες και να στέλνει μόνο σε αυτούς. Σε αντίθετη περίπτωση, εξωτερικοί τους αντίπαλοι μπορούν εύκολα να εισάγουν ψεύτικα μηνύματα εκπομπής στο δίκτυο ή να αποσπάσουν μυστικές πληροφορίες του δικτύου από νόμιμους κόμβους. Κατά τη φάση μετά την ανάπτυξη, κάθε κόμβος πρέπει να ανακαλύψει και να εκτελέσει αμοιβαία επαλήθευση ταυτότητας με τους γειτονικούς κόμβους, διαδικασία φυσιολογική για πολλές λύσεις ασφάλειας στα δίκτυα αισθητήρων. Κάθε κόμβος θα σκεφτεί έναν άλλο κόμβο ως αυθεντικό γείτονα, αν και μόνο αν αυτός ο κόμβος είναι εντός της Α. Ζήση 44
εμβέλειας μετάδοσης του R και κατέχει επίσης το σωστό αντίστοιχο LBK. Με το ακόλουθο παράδειγμα εξηγείται η διαδικασία ελέγχου ταυτότητας γειτονιάς. Aς υποθέσουμε ότι ο κόμβος Α επιθυμεί να ανακαλύψει και να επικυρώσει τους γειτονικούς κόμβους έχοντας τη θέση και τα LBK τους. Για να γίνει αυτό, ο Α μεταδίδει σε τοπικό επίπεδο ένα αίτημα επαλήθευσης ταυτότητας συμπεριλαμβανομένου του ID του, ID A, την τοποθεσία του la και μία τυχαία παρούσα θέση n A. Μετά την παραλαβή μίας τέτοιας αίτησης, ο κόμβος Β πρέπει πρώτα να εξακριβώσει ότι η θέση που ισχυρίστηκε ο Α είναι στο εύρος μετάδοσης του, επαληθεύοντας αν για την Ευκλείδεια απόσταση ισχύει : l A l B R. Ο έλεγχος αυτός είναι η βασική γραμμή άμυνας ενάντια στην επίθεση αντιπάλων που μεταδίδουν μηνύματα αυθεντικοποίησης κρυφά μεταξύ του κόμβου Β κι ενός ουσιαστικά μη γειτονικού κόμβου. Χωρίς τον έλεγχο θέσης, ο Β και το συγκεκριμένο θύμα θα πιστέψουν λανθασμένα ότι είναι γείτονες, επειδή και οι δύο έχουν ένα αυθεντικό LBK σύμφωνα μέσω του οποίου μπορεί να ολοκληρωθεί με επιτυχία η διαδικασία ελέγχου ταυτότητας. Αν η ανισότητα δεν ισχύει, ο κόμβος Β απορρίπτει την αίτηση ελέγχου ταυτότητας. Διαφορετικά, ο Β υπολογίζει ένα κοινόχρηστο κλειδί, Κ Β,Α = ê(lk B, H(ID A la )). Στη συνέχεια επιλέγει μόνο μία απάντηση για τον κόμβο Α, συμπεριλαμβανομένου του ID της και τη θέση, μια τυχαία θέση n B και ενός κωδικού ακεραιότητας μηνύματος (Message Integrity Code, MIC) που υπολογίζεται ως h KA,B (n A n B 2). Με την παραλαβή της απάντησης, ο κόμβος Α ελέγχει πρώτα αν ισχύει η ανισότητα. Αν ναι, προχωρά στην παραγωγή ενός κοινόχρηστου κλειδιού Κ Α,B = ê(lk B, H(ID Β lβ )), μέσω του οποίου υπολογίζει πάλι τον MIC. Εάν το αποτέλεσμα είναι ίσο με αυτό που έστειλε ο Β, ο κόμβος Α θεωρεί τον Β ως αυθεντικό γείτονα. Στη συνέχεια, ο Α επιστρέφει στον κόμβο Β ένα νέο MIC υπολογισμένο ως h KA,B (n A n B 2). Κατά την παραλαβή του, ο Β χρησιμοποιεί το Κ Β,Α για να ξαναδημιουργήσει το MIC και συγκρίνει το αποτέλεσμα με αυτό που έλαβε. Αν είναι ίσα, ο Β χαρακτηρίζει τον κόμβο Α ως αυθεντικό γείτονα εξίσου. Η παραπάνω διαδικασία είναι έγκυρη επειδή μόνο αν οι κόμβοι Α και Β έχουν το σωστό LBK, το Κ Α,B και το Κ Β,Α θα είναι ίσα λόγω των παρακάτω εξισώσεων : Α. Ζήση 45
3. ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΚΙΝΗΤΙΚΟΤΗΤΑΣ - ΜΟΒΙSIM 3.1 Σύνθετα ίχνη κίνησης κόμβων Σε αυτήν την ενότητα θα αναφερθούν όλα τα ίχνη και οι παράμετροι που χρησιμοποιήθηκαν για να αξιολογηθεί η απόδοση του πρωτοκόλλου. Ο πειραματισμός έγινε μόνο με τεχνητά ίχνη. Τα τεχνητά ίχνη για τους κόμβους δημιουργήθηκαν με βάση το Reference Point Group Model (RPGM) [12]. Στο RPGM κάθε γκρουπ έχει ένα λογικό κέντρο, του οποίου η κίνηση καθορίζει την κίνηση και τη συμπεριφορά ολόκληρου του γκρουπ. Τα ίχνη για το RPGM δημιουργήθηκαν από το εργαλείο Mobility Simulation - MobiSim. Το MobiSim καθορίζει ένα μοντέλο κίνησης για το λογικό κέντρο και εξάγει ίχνη για όλα τα μέλη του γκρουπ και για κάθε γκρουπ ξεχωριστά [13]. Εικόνα 12: Μοτίβο κίνησης των κόμβων στο Μοντέλο Κινητικότητας RPGM To MobiSim είναι μια εφαρμογή διαχείρισης της κινητικότητας, αποτελούμενη από πολλές ενότητες, που χρησιμοποιεί μία συνδεδεμένη αρχιτεκτονική και μια γεννήτρια σχημάτων προκειμένου να βοηθήσει τους ερευνητές στον τομέα της ΜΑΝΕΤ (Mobile Ad-hoc δίκτυα) να ασχοληθούν με την κινητικότητα σε αυτά τα δίκτυα [14]. Ο χρήστης μπορεί να δημιουργήσει "σενάρια", να τα προσομοιώσει σε γραφική ή ομαδική κατάσταση, να αναφέρει τα ίχνη τους, να αξιολογήσει τις εκτιμήσεις τους και, τέλος, να ελέγξει την κινητικότητα των αλγορίθμων αναγνώρισης μοντέλου στα ίχνη αυτά. Α. Ζήση 46
Εικόνα 13: Η ροή εργασίας της χρήσης MobiSim Όπως αναφέραμε προηγουμένως, ένα από τα χαρακτηριστικά του Mobisim είναι το Μοντέλο Αναφοράς Σημείου Ομάδας (Reference Point Group Model RPGM). Σύμφωνα με την παρατήρηση ότι τα κινητά των ΜΑΝΕΤ κόμβων τείνουν να συντονίσουν την κίνηση τους, προτείνεται το Μοντέλο Αναφοράς Σημείου Ομάδας RPGM [15] [16]. Ένα θεωρητικό παράδειγμα αυτής της κινητικότητας είναι οι διαφορετικές ομάδες που συνεργάζονται σε περιπτώσεις καταστροφής, όπως αστυνομικοί, πυροσβέστες και ιατρικοί βοηθοί. Ομάδες, δηλαδή, που οφείλουν να λειτουργήσουν και ως σύνολο και να συνεργαστούν, αλλά και ανεξάρτητα. Θα κάνουμε χρήση του μοντέλου Nomadic, όπου κάθε ομάδα έχει ένα κέντρο, το οποίο είναι είτε ένα λογικό κέντρο ή ένας κόμβος - αρχηγός της ομάδας. Για λόγους απλότητας, υποθέτουμε ότι το κέντρο είναι ο ηγέτης της ομάδας. Έτσι, κάθε ομάδα αποτελείται από έναν αρχηγό και έναν αριθμό μελών. Η κίνηση του αρχηγού της ομάδας καθορίζει τη συμπεριφορά της κινητικότητας ολόκληρης της ομάδας. Αρχικά, κάθε μέλος της ομάδας είναι ομοιόμορφα κατανεμημένο στη γειτονιά του αρχηγού της ομάδας. Στη συνέχεια, σε κάθε στιγμή, κάθε κόμβος έχει μια ταχύτητα και η κατεύθυνση του προέρχεται από μία τυχαία απόκλιση από την κατεύθυνση του αρχηγού της ομάδας. Η κίνηση στην κινητικότητα ομάδας μπορεί να χαρακτηριστεί ως εξής: - SDR είναι ο Λόγος της Απόκλισης ταχύτητας και - ADR είναι ο λόγος της Απόκλισης Γωνίας. SDR και ADR χρησιμοποιούνται για τον έλεγχο της απόκλισης της ταχύτητας (μέγεθος και κατεύθυνση) των μελών της ομάδας από εκείνη του ηγέτη. Ως εκ τούτου, οι παράμετροι θα είναι οι ADR, SDR, η αρχική απόσταση (η αρχική απόσταση των μελών Α. Ζήση 47
από τον κόμβο - αρχηγό), και το μέγεθος της ομάδας που καθορίζει τον αριθμό των κόμβων της ομάδας. Εικόνα 14: Χωρική Κατανομή των κόμβων στο μοντέλο Nomadic 3.2 Παράμετροι συστήματος Παρήγαμε, λοιπόν, ίχνη για γκρουπ στα οποία το μοντέλο κίνησης του λογικού κέντρου ήταν το Νομαδικό (Nomadic) με χρόνο προσομοίωσης Τ 500 sec, σε περιβάλλον διάστασης 400x400 μέτρα. Συγκεκριμένα, ορίσαμε 10 κόμβους από τον Ν ο έως τον Ν 9, με Ν ο να είναι ο αρχηγός κόμβος και οι υπόλοιποι 9 από τον Ν 1 έως τον Ν 9 να είναι οι ακόλουθοι κόμβοι (attached nodes). Ο κάθε κόμβος ακόλουθος προσπαθεί για t χρονικές στιγμές (time slots), διάρκειας τ η καθεμία, να συνδεθεί με τον κόμβο αρχηγό. Σε κάθε χρονική στιγμή ο κάθε κόμβος απέχει συγκεκριμένη απόσταση d από τον αρχηγό κόμβο. Ελέγχουμε αυτή την απόσταση και τη συγκρίνουμε με μία προκαθορισμένη τιμή που έχουμε θέσει ως τιμή ανώτατου κατωφλίου Threshold, T. Αν για την απόσταση ισχύει d < T, τότε η σύνδεση για το συγκεκριμένο κόμβο γίνεται δεκτή (session OK). Αντιθέτως, αν η απόσταση είναι μεγαλύτερη από την τιμή που έχουμε θέσει ως Threshold T, δηλαδή αν d > T, η σύνδεση θα απορρίπτεται (session dropped) καθώς θα παρατηρείται αλλαγή στα διαμοιραζόμενα κλειδιά και η απόσταση θα πλησιάζει το ανώτατο όριο. Γενικά, θεωρούμε ότι οι κόμβοι δεν επιτρέπεται να κινούνται κοντά στο Threshold. Α. Ζήση 48
3.3 Εφαρμογή LTE (Location Based Threshold Endorsement) 3.3.1 Ανάλυση Πίνακα Αποτελεσμάτων Από τις μετρήσεις που πήραμε, ως max distance D θέτουμε το 35 και ορίζουμε Threshold = 30 προκειμένου να έχουμε μεγάλο ποσοστό αποδεκτών συνδέσεων και μικρό ποσοστό μπλοκαρισμένων. Το ποσοστό επιτυχίας της επικοινωνίας μεταξύ των κόμβων εξαρτάται κατά κύριο λόγο από την επιλογή του κατωφλίου για την επικοινωνία. Τιμή Threshold! (d από Ν ο ) (t) 0 (t) Σχήμα 1: Διάγραμμα Χρόνου Απόστασης μεταξύ Νi, N o Στο παραπάνω διάγραμμα, παρουσιάζονται οι μεταβολές στη σύνδεση όταν αλλάζει η απόσταση ενός κόμβου από τον αρχηγό κόμβο. Χωρίσαμε τον άξονα του χρόνου (t) σε χρονικά διαστήματα(time slots) και ελέγξαμε την απόσταση ενός συγκεκριμένου κόμβου από τον αρχηγό (d από N o ) προκειμένου να εντοπίσουμε αν κινείται στα αποδεκτά όρια. Έτσι, για : t1-t2 : Παρατηρούμε ότι για το συγκεκριμένο χρονικό διάστημα, η απόσταση του κόμβου από τον αρχηγό είναι σταθερή στις 28 μονάδες οπότε η σύνδεση θα επιτραπεί και θα έχουμε έναρξη συνεδρίας - session OK. t3-t4 : Αντιθέτως, σε αυτό το χρονικό διάστημα, η απόσταση του εξεταζόμενου κόμβου από τον αρχηγό μεταβάλλεται. Από 29 ανεβαίνει σε 29,5 και στο τέλος, φτάνει 30, τιμή μη αποδεκτή καθώς ισούται με την τιμή του ορίου(threshold) που έχουμε θέσει. Έτσι, θα διακοπεί η σύνδεση και θα έχουμε session dropped. t5-t6 : Τέλος, ενώ αρχικά, η απόσταση ταυτιζόταν με την τιμή του ορίου, στη συνέχεια, παρατηρείται μείωση της σε 29,5 μέχρι που καταλήγει στην τιμή 29 που είναι αποδεκτή για την έναρξη της συνεδρίας session OK. Α. Ζήση 49
Γενικά, θεωρούμε μία συγκεκριμένη πιθανότητα ως τη βασική προϋπόθεση για να ενεργοποιηθεί ένας κόμβος(initial activation probability). Αντίστοιχα, κάθε κόμβος έχει μία πιθανότητα(active_prob) να είναι ενεργός και μία συνθήκη (try_activate), η οποία θα είναι TRUE ή FALSE αναλόγως του αν θα ενεργοποιηθεί για να επιχειρήσει σύνδεση με τον αρχηγό κόμβο. Κάθε φορά που θέλουμε να διαπιστώσουμε αν ένας κόμβος επιχειρεί να ενεργοποιηθεί, ελέγχουμε αν η πιθανότητα του συγκεκριμένου κόμβου είναι μικρότερη από την αρχική πιθανότητα ενεργοποίησης (initial activation probability). Αν η συνθήκη αυτή είναι TRUE, τότε ελέγχουμε και αν η απόσταση του συγκεκριμένου κόμβου είναι εντός των αποδεκτών ορίων(μικρότερη του Threshold). Αν αυτή η συνθήκη είναι εξίσου TRUE, έχουμε έναρξη συνεδρίας(session started) και διαμοιρασμό κλειδιών μεταξύ των 2 κόμβων (key_assigned) αλλιώς, αν είναι FALSE, ο κόμβος δεν μπορεί να συνδεθεί για τη συγκεκριμένη χρονική στιγμή. Εφόσον παρατηρηθεί έναρξη συνεδρίας, ελέγχουμε κατά πόσο διατηρείται. Για παράδειγμα, αν ένας κόμβος στην αρχή δεν μπορούσε να συνδεθεί με τον αρχηγό κόμβο, αλλά την επόμενη χρονική στιγμή η σύνδεση γινόταν δυνατή, λέμε ότι η επικοινωνία έχει ξεκινήσει (started). Αντιθέτως, αν στην αρχή ήταν δυνατή η σύνδεση, αλλά την επόμενη χρονική στιγμή η συνθήκη γινόταν FALSE στο session_started, τότε λέμε ότι η επικοινωνία μεταξύ των κόμβων σταμάτησε(discontinued). Στην τελευταία περίπτωση, αν παρατηρηθεί ότι είχε ξεκινήσει η συνεδρία μεταξύ ενός κόμβου και του αρχηγού για κάποια χρονική στιγμή και στην επόμενη διατηρήσουν αυτή τη συνθήκη (session_started, TRUE), τότε η επικοινωνία μεταξύ των κόμβων λέμε ότι συνεχίζεται (continued). Τέλος, δημιουργούμε μία συνθήκη, η οποία θα ελέγχει αν κατά την εναλλαγή των συνδέσεων παρατηρείται ανάκληση των διαμοιραζόμενων κλειδιών (key_revoked). Αν η επικοινωνία μεταξύ 2 κόμβων έχει διακοπεί (discontinued), αλλά για την ίδια χρονική στιγμή ο κόμβος είχε προσπαθήσει να συνδεθεί με τον αρχηγό (try_activate, TRUE) τότε έχουμε ανάκληση κλειδιών και η συνεδρία σταματά. Μέρος των παραπάνω συνθηκών και αποτελεσμάτων τους εμφανίζονται στον Πίνακα 2 που βρίσκεται στο Παράρτημα. Α. Ζήση 50
4. ΕΙΣΑΓΩΓΗ ΓΙΑ ORDER PRESERVING HASH FUNCTIONS 4.1 Συναρτήσεις Κατακερματισμού (Hash functions) H ταχεία πρόσβαση στην πληροφορία είναι απαραίτητη για μια ευρεία ποικιλία συστημάτων ανάκτησης και τις εφαρμογές τους. Ο κατακερματισμός χρησιμοποιείται εδώ και καιρό, όταν απαιτείται ταχύτερη αναζήτηση. Ωστόσο, δεν είναι κατάλληλος σε ευρύτερες αναζητήσεις. Μια συνάρτηση κατακερματισμού Η δέχεται ένα μεγάλο μπλοκ δεδομένων Μ ως είσοδο και παράγει μια σύνθετη τιμή h = H(M). Μια «καλή» συνάρτηση κατακερματισμού έχει ως προτεραιότητα να παράγει εξόδους οι οποίοι είναι διάχυτοι και προφανώς τυχαίοι. Σε γενικές γραμμές, η αρχή του αντικειμένου της συνάρτησης είναι η ακεραιότητα δεδομένων. Μια οποιαδήποτε αλλαγή σε ένα ή περισσότερα bits στα αποτελέσματα των δεδομένων, είναι πιθανό να επιφέρει αλλαγή στον hash κώδικα. Μια συνάρτηση κατακερματισμού h:f* G n αντιστοιχίζει ένα στοιχείο x F* αυθαίρετου μήκους, στο στοιχείο y G n με συγκεκριμένο μήκος n: y = h (x). Η σχηματική παράσταση μιας συνάρτησης κατακερματισμού φαίνεται στην παρακάτω Εικόνα. Η συνάρτηση δέχεται ένα συγκριτικά μεγάλο μήνυμα και παράγει μια σύνοψη του μηνύματος, μικρότερου και συγχρόνως σταθερού μεγέθους. Εικόνα 15: Μια συνάρτηση κατακερματισμού Μια κρυπτογραφική συνάρτηση κατακερματισμού είναι μια συνάρτηση με τις ακόλουθες ιδιότητες: 1. δοθέντος y, είναι υπολογιστικά αδύνατο να βρεθεί x τέτοιο ώστε h(x) = y 2. δοθέντων x, h(x), είναι υπολογιστικά αδύνατο να βρεθεί x τέτοιο ώστε h(x ) = h(x) 3. είναι υπολογιστικά αδύνατο να βρεθούν x1, x2 F*, τέτοια ώστε, h(x1) = h(x2). Στην πράξη υπάρχει περίπτωση, ανάλογα με την εφαρμογή, να απατούνται μόνον ορισμένες από τις ιδιότητες των κρυπτογραφικών συναρτήσεων κατακερματισμού. Έτσι, ορίζονται οικογένειες κρυπτογραφικών συναρτήσεων κατακερματισμού με παρόμοιες ιδιότητες. Πιο συγκεκριμένα, οι συναρτήσεις οι οποίες διατηρούν τις ιδιότητες (1) και (2), Α. Ζήση 51
ονομάζονται μονόδρομες συναρτήσεις κατακερματισμού (one-way hash functions), ενώ οι συναρτήσεις που διατηρούν τις ιδιότητες (2) και (3) ονομάζονται ανθεκτικές σε συγκρούσεις συναρτήσεις κατακερματισμού (collision resistance hash functions). Μια μονόδρομη συνάρτηση κατακερματισμού με κλειδί ορίζεται ως η συνάρτηση h k :F* G n, όπου για κάθε k K, υπάρχει μια μονόδρομη συνάρτηση κατακερματισμού που να αντιστοιχίζει το F* στο G n. 4.2 Τέλειες Συναρτήσεις Κατακερματισμού (Perfect Hash Functions) Μια τέλεια συνάρτηση κατακερματισμού για ένα σύνολο S είναι μια συνάρτηση κατακερματισμού που χαρτογραφεί διακριτά σημεία του S σε ένα σύνολο από ακέραιους, αλλά χωρίς να προκαλεί συγκρούσεις [17]. Στην ουσία έχουμε μια αποτύπωση ένα προς ένα. Μια κατηγορία τέλειας συνάρτησης κατακερματισμού είναι αυτή της κατ ελάχιστου τέλειας συνάρτησης κατακερματισμού (Minimal Perfect Hash Functions). 4.2.1 Minimal Perfect Hash Functions Αποτελούν τέλειες συναρτήσεις που χαρτογραφούν n κλειδιά σε n διαδοχικούς ακέραιους. Έστω j και k δύο στοιχεία ενός πεπερασμένου συνόλου K. Η F είναι μια κατ ελάχιστον τέλεια συνάρτηση κατακερματισμού, αν για F(j) = F(k) ισχύει j = k και υπάρχει ένας ακέραιος a, τέτοιος ώστε το εύρος της F να είναι από a έως a+ K -1. Μια κατ ελάχιστον τέλεια συνάρτηση κατακερματισμού είναι συνεχόμενης διάταξης αν τα κλειδιά έχουν δοθεί με μια σειρά a 1, a 2,, a n και για κάθε κλειδιά a k και a j ισχύει F(a k ) = F(a j ). Υπάρχουν τρεις μέθοδοι για τη δημιουργία μιας κατ ελαχίστου τέλειας συνάρτησης κατακερματισμού συνεχόμενης διάταξης. Οι δύο πρώτες απαιτούν μεγάλο χώρο, ενώ η τρίτη λιγότερο αλλά είναι πιο πολύπλοκη. Οι μέθοδοι είναι οι εξής: 1. Μέθοδος μη ύπαρξης κύκλου. Βασίζεται στη χρήση μια μεγάλης αναλογίας μεταξύ του γράφου που απεικονίζονται τα κλειδιά και του μεγέθους της ομάδος των κλειδιών που χρησιμοποιούνται. 2. Μέθοδος δύο επιπέδων κατακερματισμού. Στο πρώτο επίπεδο υπολογίζεται κανονικά η συνάρτηση κατακερματισμού και στο δεύτερο επίπεδο έχουμε έναν πίνακα από δείκτες. Για κάθε τιμή από τον υπολογισμό γίνεται διευθυνσιοδότηση στο δεύτερο επίπεδο όπου και αποθηκεύονται οι πραγματικές θέσεις της καταγραφής. 3. Μέθοδος με πλάγιο μέσο. Ένα κλειδί έμμεσα κατακερματίζεται όταν η κατάστασή του περιγράφεται από πληροφορίες που σχετίζονται από δύο περιοχές, h 1 (k) και h 2 (k). 4.3 Εισαγωγή για Minimal Perfect Hash Functions, Preserving Order Ενώ o δυναμικός κατακερματισμός γενικά δεν διατηρεί την αρχική διάταξη του κλειδιού, υπάρχουν order preserving key transformations, οι οποίες είναι κατάλληλες για τα Α. Ζήση 52
δυναμικά σετ κλειδιών εφ όσον οι διανομές κλειδιού παραμένουν σταθερές [18]. Από την άλλη, θεωρήθηκε δεδομένο ότι τα σετ κλειδιών είναι στατικά και ερευνήθηκαν οι δημοσιευμένοι αλγόριθμοι για να βρεθούν minimal perfect hash functions (MPHFs), οι οποίες δε θα επιτρέπουν συγκρούσεις και το μέγεθος του πίνακα hash θα είναι το ίδιο με το μέγεθος του σετ του κλειδιού. Από τους εξεταζόμενους αλγόριθμους, βρέθηκε ένας με βέλτιστη πολυπλοκότητα Ο(n 4 ), ο οποίος ενδεχομένως να επιδεχόταν βελτίωση. Έτσι, με κάποιες μικρές επεκτάσεις, έγινε δυνατή η διαχείριση χιλιάδων κλειδιών με πολυπλοκότητα Ο(n 3 ) για n μοναδικά κλειδιά. Με αναδιατύπωση του προβλήματος, αναπτύχθηκε ένας O(n log n) αλγόριθμος και δοκιμάστηκε με ένα πλήθος από σετ κλειδιών, συμπεριλαμβανομένου κι ενός σετ με n = 1.200.000 κλειδιών. Σχήμα 2: Order Preserving Minimal Hash Function Η διαφύλαξη της διάταξης του σετ κλειδιού είναι σημαντική για την ανάκτηση πληροφοριών, όπως φαίνεται στο παραπάνω Σχήμα. Πρέπει να βρεθεί μία συνάρτηση, η οποία θα χαρτογραφεί τα κλειδιά, συνήθως σε μορφή συμβολοσειρών ή αλληλουχιών από αριθμούς, μέσα σε πίνακες κατακερματισμού. Συνοπτικά, θα πρέπει το i-οστό κλειδί να χαρτογραφηθεί στην i-οστή τοποθεσία του πίνακα. Α. Ζήση 53
5. ΣΥΜΠΕΡΑΣΜΑΤΑ Τα Ασύρματα Δίκτυα Αισθητήρων (WSN) είναι ιδιαίτερα ευάλωτα στην ασφάλεια τους. Γενικά, έχουν αναπτυχθεί σε εχθρικά περιβάλλοντα για τη συλλογή διαφορετικών ειδών δεδομένων, με αποτέλεσμα να είναι εκτεθειμένα σε σοβαρές επιθέσεις λογισμικού. Συνεπώς, η ανάπτυξη μεθόδων για την αύξηση της ασφάλειας τους γίνεται μια σημαντική πτυχή της μελέτης των δικτύων αυτών. Ανά καιρούς, έχουν εξεταστεί ορισμένες μεθόδοι ασφαλείας και έχουν προταθεί ή εφαρμοστεί λύσεις που προσδιορίζουν τις πιθανές μορφές επιθέσεων ασφαλείας που μπορεί να δεχθούν. Μέσα από τη συγκεκριμένη εργασία, έγινε παρουσίαση ενός μηχανισμού ασφαλείας, ο οποίος στηρίζεται στη θέση των κινητών κόμβων. Μερικά αξιόλογα συμπεράσματα που προέκυψαν από τη θεωρητική και πρακτική μελέτη του, είναι τα εξής : 1. H αυθεντικοποίηση γειτονιάς αποτελεί θεμελιώδη διαδικασία για την υποστήριξη πολλών υπηρεσιών ασφαλείας σε ασύρματα δίκτυα αισθητήρων. 2. Στο μοντέλο κινητικότητας Nomadic, που χρησιμοποιήσαμε, κάθε ομάδα αποτελείται από έναν αρχηγό και έναν αριθμό μελών. Η κίνηση του αρχηγού της ομάδας καθορίζει τη συμπεριφορά της κινητικότητας ολόκληρης της ομάδας, επομένως, 3. Το ποσοστό επιτυχίας της επικοινωνίας μεταξύ των κόμβων εξαρτάται κατά κύριο λόγο από την απόσταση του αρχηγού κόμβου από τα υπόλοιπα μέλη και κατ επέκταση, την επιλογή του κατωφλίου για την επικοινωνία. 4. Όσον αφορά στην ασφάλεια, για να γίνει εφικτή η σύνδεση μεταξύ δύο κόμβων και να υπάρξει ανταλλαγή δεδομένων μεταξύ τους, θα πρέπει ο κόμβος που επιχειρεί έναρξη συνεδρίας να βρίσκεται στα επιθυμητά πλαίσια απόστασης δεδομένου ότι παραμένει ενεργός και δεν παρατηρείται ανάκληση κλειδιών. Α. Ζήση 54
ΠΙΝΑΚΑΣ ΟΡΟΛΟΓΙΩΝ Ξενόγλωσσος Όρος Ελληνικός Όρος Location Based Keys - LBK Location Based Threshold Endorsement Wireless Sensor Networks - WSN Hierarchical Wireless Sensor Networks Distributed Wireless Sensor Networks Ad Hoc Networks Mobile Ad hoc NETworks - MANET Key Establishment Key Establishment Protocols Key Distribution Center - KDC Key Translation Center KTC Centralized Key Management Key Acquisition Key Transfer Timestamp Nonce Authentication Server AS Ticket Granting Server TGS Aggregation Point AP Trusted Authority TA Message Integrity Code - MIC Personal Digital Assistant - PDA Κλειδιά Βασιζόμενα στην Τοποθεσία Σύστημα Υποστήριξης Ορίου Κατωφλίου Ασύρματα Δίκτυα Αισθητήρων Ιεραρχικά Ασύρματα Δίκτυα Αισθητήρων Κατανεμημένα Ασύρματα Δίκτυα Αισθητήρων Δίκτυα αυτοοργανωμένα ή κατ απαίτηση (από τη λατινική φράση ad hoc που σημαίνει γι αυτό το σκοπό ) Κινητά αυτοοργανωμένα Δίκτυα Εδραίωση Κλειδιών Πρωτόκολλα Εδραίωσης Κλειδιών Κέντρο Διανομής Κλειδιών Κέντρο Μετάφρασης Κλειδιών Συγκεντρωτική Διαχείριση Κλειδιών Απόκτηση Κλειδιού Μεταφορά Κλειδιού Χρονοσφραγίδα Μοναδικός Αριθμός Διακομιστής Πιστοποίησης Ταυτότητας Διακομιστής Έκδοσης Εισιτηρίου Σημείο Συνάντησης Αξιόπιστη Αρχή Κωδικός Ακεραιότητας Μηνύματος Προσωπικός Ψηφιακός Βοηθός Α. Ζήση 55
LBK WSN Ad Hoc MANET KDC KTC MIC RPGM MobiSim LTE ΣΥΝΤΜΗΣΕΙΣ ΑΡΚΤΙΚΟΛΕΞΑ ΑΚΡΩΝΥΜΙΑ Location Based Keys Wireless Sensor Networks Αυτοοργανωμένα Δίκτυα Mobile Ad hoc NETworks Key Distribution Centre Key Translation Centre Message Integrity Code Reference Point Group Model Mobility Simulation Location - based Threshold Endorsement Α. Ζήση 56
ΠΑΡΑΡΤΗΜΑ Πίνακας 2: Ανάλυση των αποτελεσμάτων της εφαρμογής MobiSim Α. Ζήση 57