«Υλοποίηση του πρωτοκόλλου S2RP (Secure and Scalable Rekeying Protocol)»

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "«Υλοποίηση του πρωτοκόλλου S2RP (Secure and Scalable Rekeying Protocol)»"

Transcript

1 ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΕΙΔΙΚΕΥΣΗΣ «Υλοποίηση του πρωτοκόλλου S2RP (Secure and Scalable Rekeying Protocol)» ΔΗΜΗΤΡΙΟΣ ΤΣΙΤΣΙΠΗΣ Επιβλέπων καθηγητής: Εξεταστική επιτροπή: Κ. Γκούτης Καθηγητής Κ. Γκούτης Καθηγητής Α. Τζες Καθηγητής Ο. Κουφοπαύλου ΑΡΙΘΜΟΣ ΔΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ.../29 ΠΑΤΡΑ 29

2

3 Ευχαριστίες Θα ήθελα να εκφράσω τις θερμές μου ευχαριστίες στον καθηγητή κύριο Τζε, αλλά και τους καθηγητές κύριο Γκούτη και κύριο Κουφοπαύλου, για τη δυνατότητα που μου έδωσαν να ασχοληθώ με το αντικείμενο αυτό και την εμπιστοσύνη που μου έδειξαν για τη διεκπεραίωσή του. Θα ήθελα επίσης να ευχαριστήσω θερμά το Γιώργο Νικολακόπουλο για το χρόνο που αφιέρωσε και την πολύτιμη βοήθεια και συμβουλές του για να βγει εις πέρας αυτή η εργασία. Τέλος θα ήθελα να ευχαριστήσω την οικογένειά μου, που με στηρίζει καθημερινά και σε κάθε μου βήμα, αλλά και τους φίλους μου, που μοιράζονται μαζί μου τις χαρούμενες στιγμές και μου συμπαραστέκονται στις πιο δύσκολες.

4

5 Περίληψη Τα Wireless Sensor Networks (WSNs) είναι μια σχετικά νέα τεχνολογία, της οποίας η σημαντικότητα έχει αναγνωριστεί από την επιστημονική κοινότητα και έχει προοπτικές για εφαρμογή σε πολλές περιπτώσεις που απαιτείται επίβλεψη και έλεγχος σε μεγάλες εκτάσεις, όπως ο έλεγχος καλής λειτουργίας κτηρίων και κατασκευών, παρακολούθηση στρατιωτικών περιοχών, παρακολούθηση και έλεγχος καλλιεργειών ή ακόμα και επίβλεψη της υγείας ενός ασθενούς. Είναι προφανές πως σε πολλά από αυτά τα σενάρια εφαρμογών τα δεδομένα που αποκτώνται και ανταλλάσσονται μέσα σε αυτά τα δίκτυα είναι ευαίσθητα και η απόκρυψή τους από τρίτους, καθώς και η αποτροπή προσθήκης ψευδών δεδομένων από τρίτους είναι υψίστης σημασίας. Καθώς όμως τα δίκτυα αυτά αποτελούνται από χαμηλής υπολογιστικής δυνατότητας κόμβους, (τόσο λόγω οικονομίας, ώστε, δεδομένου του αριθμού των κόμβων που απαιτούνται για τέτοιες εφαρμογές, το κόστος να κρατηθεί σε λογικά επίπεδα, όσο και για λόγους κατανάλωσης ενέργειας) απαιτείται η χρήση αλγορίθμων ασφαλείας μικρών υπολογιστικών και επικοινωνιακών απαιτήσεων. Για την επίτευξη ασφαλούς επικοινωνίας μεταξύ των κόμβων με μικρή υπολογιστική επιβάρυνση, υλοποιούνται συμμετρικοί αλγόριθμοι κρυπτογραφίας, και για τη διαχείριση των κλειδιών κρυπτογραφίας το πρωτόκολλο διαχείρισης κλειδιών S2RP, το οποίο καθορίζει μεθόδους διανομής, αλλά και ακύρωσης συμμετρικών κλειδιών. Το πρωτόκολλο αυτό μπορεί να διατηρήσει προς τα εμπρός και προς τα πίσω ασφάλεια (ασφάλεια των μελλοντικών μεταδόσεων, και ασφάλεια των δεδομένων που έχουν ήδη μεταδοθεί αντίστοιχα) των δεδομένων σε δυναμικά μεταβαλλόμενες τοπολογίες (πχ. πρόσθεση νέου κόμβου ή ανακάλυψη εκτεθειμένου κόμβου που πρέπει να αφαιρεθεί από την τοπολογία). Στο πλαίσιο της εργασίας, έγινε υλοποίηση του πρωτοκόλλου S2RP,

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

7 Abstract Wireless Sensor Networks (WSNs) are a relatively new technology, the importance of which is widely recognized in academia. They have great potential for use in applications requiring monitoring and control over large areas, like integrity and operational monitoring of buildings and structures, military surveillance, crop monitoring or even health monitoring. It is obvious that the data transfered in most of these applications are of a sensitive nature, and preventing a third party from accessing that data, or injecting its own forged data in the network is of utmost importance. However, because of the low computational power and network performance of these networks' nodes (which is due to economic reasons - so as to keep cost in reasonable levels in high node count networks, as well as for energy consumption reasons), the use of algorithms and protocols of low computational and communication requirements is mandatory. To achieve secure communication between the nodes of a such network, we implement symmetric key cryptographic algorithms, and the protocol S2RP (Secure and Scalable Rekeying Protocol) for key management. S2RP defines procedures for key distribution and revocation, with the use of which it can maintain forward and backward communication security (e.g. connection of a new node, or discovery of an exposed node, which must be removed) for dynamic network topologies. For the purpose of this thesis, we implemented the S2RP protocol, as well as the additional cryptographic primitives that are needed to achieve secure communication in a network. The implementation was initially made within a graphical simulator, which we implemented to test the protocol in the packet level. Finally, we ported the protocol to a network of TelosB motes.

8

9 Περιεχόμενα Λίστα συντομεύσεων...3 Λίστες Εικόνων Πινάκων... Λίστα εικόνων... Λίστα πινάκων.... Εισαγωγή..... Ιστορική αναδρομή Ασύρματα Δίκτυα αισθητήρων Ανάγκη ασφάλειας στα ασύρματα δίκτυα αισθητήρων Το πρωτόκολλο S2RP Εισαγωγικές έννοιες Αρχιτεκτονική πρωτοκόλλου Αλυσίδες κλειδιών Επισκόπηση του S2RP Αρχικοποίηση Η φάση επικοινωνίας Ασφαλής επικοινωνία μελών Διαχείριση δικτύου αποσύνδεση κόμβου Διαχείριση δικτύου Σύνδεση νέου κόμβου Περιοδική ανανέωση κλειδιών Επαναρρύθμιση κλειδιών Κατηγορίες μηνυμάτων αλλαγής κλειδιών Κρυπτογραφικές Συναρτήσεις σύνοψης Κατασκευή Merkle- Damgård Secure Hash Algorithm SHA Προετοιμασία των δεδομένων Compression Function (Συντελεστής Συμπίεσης) Αποτέλεσμα...3. Κρυπτογραφία Γενικά Αλγόριθμοι Συμμετρικής Κρυπτογραφίας Αλγόριθμοι Ασύμμετρης Κρυπτογραφίας Διαφορές συμμετρικής και ασύμμετρης κρυπτογραφίας Υβριδικά συστήματα Δημιουργία κλειδιών Κατασκευή συμμετρικών αλγορίθμων Ο αλγόριθμος κρυπτογράφησης Skipjack Λειτουργία Βασική δομή Συνάρτηση G.... Το λειτουργικό σύστημα CONTIKI Η στοίβα πρωτόκολλων Rime...9. TelosB Hardware Platform...3. Υλοποίηση του S2RP..... Γενικά Πρώτο στάδιο υλοποίησης, μερική εξομοίωση...

10 .2.. Συναρτήσεις κρυπτογράφησης και σύνοψης Βασικές δομές δεδομένων πρωτοκόλλου S2RP Τρόπος λειτουργίας της υλοποίησης Μοντέλο εξομοίωσης Περιβάλλον εξομοίωσης Στοιχεία της διεπαφής Λειτουργία της γραφικής διεπαφής Εσωτερική λειτουργία της γραφικής διεπαφής Παράδειγμα λειτουργίας του S2RP σε περιβάλλον εξομοίωσης..... Μεταφορά στο λειτουργικό σύστημα contiki Σχεδίαση Αποστολή και λήψη πακέτων Επικοινωνία κόμβων υπολογιστή Πειραματικά αποτελέσματα Δίκτυο πειράματος Πειραματική διαδικασία Συμπεράσματα...3 Βιβλιογραφία

11 Λίστα συντομεύσεων Συντόμευση Ερμηνεία ΑΔΑ Ασύρματα Δίκτυα Αισθητήρων abc Anonymous best-effort BroadCast module AES Advanced Encryption Standard fkey Κλειδί μιας αλυσίδας κλειδιών GC Group Controller (ελεγκτής δικτύου) GMS Group Management Service (υπηρεσία διαχείρισης μελών) IDS Intrusion Detection System (σύστημα εντοπισμού εισβολής) JoinKey Κλειδί σύνδεσης (στην υλοποίηση του S2RP) KMS Key Management Service (υπηρεσία διαχείρισης κλειδιών) LKH Logical Key Hierarchy (λογική ιεραρχία κλειδιών) OWHF One Way Hash Function (μονόδρομη συνάρτηση σύνοψης) PKI Public Key Infrastructure (υποδομή δημοσίου κλειδιού) privkey Private key (Ιδιωτικό κλειδί ενός κόμβου στην υλοποίηση του S2RP) runicast Reliable Unicast module SHA Secure Hash Function S RP Secure and Scalable Rekeying Protocol symkey Symmetric Key Συμμετρικό κλειδί (στην υλοποίηση του S2RP) WSN Wireless Sensor Network 2 3

12 Λίστες Εικόνων Πινάκων Λίστα εικόνων Εικόνα : Αλυσίδα κλειδιών... Εικόνα 2: Eviction tree με m=2 και h=3... Εικόνα 3: Κατασκευή Merkle- Damgård[3]...3 Εικόνα : Σχηματική αναπαράσταση των κανόνων Α και Β... Εικόνα : Σχηματική αναπαράσταση των Gk και [Gk]-... Εικόνα : ένα TelosB mote [33]... Εικόνα : Χαρακτηριστικά του TelosB... Εικόνα 8: μοντέλο κλήσεων... Εικόνα 9: το περιβάλλον ssrpgui... Εικόνα : παράδειγμα()...3 Εικόνα : παράδειγμα(2)... Εικόνα 2: παράδειγμα(3)... Εικόνα 3: παράδειγμα()... Εικόνα : παράδειγμα()... Εικόνα : παράδειγμα()...8 Εικόνα : παράδειγμα()...9 Εικόνα : παράδειγμα(8)...8 Εικόνα 8: παράδειγμα(9)...8 Εικόνα 9: παράδειγμα()...8 Εικόνα 2: παράδειγμα()...82 Εικόνα 2: το δίκτυο των telosb...8 Λίστα πινάκων Πίνακας : Τύποι μηνυμάτων...2 Πίνακας 2: πίνακας αντικατάστασης F... Πίνακας 3: Διαθέσιμες εντολές στην υλοποίηση του S2RP σε contiki/telosb...8

13 ... Εισαγωγή Ιστορική αναδρομή Κατά τις τελευταίες δεκαετίες τα δίκτυα υπολογιστών έχουν γνωρίσει τεράστια ανάπτυξη, ενώ έχουν αλλάξει τόσο οι δομές τους, όσο και οι χρήσεις τους. Τα τηλεπικοινωνιακά δίκτυα ξεκίνησαν από ενσύρματες μισθωμένες συνδέσεις μεταξύ τερματικών και mainframes και τοπικά δίκτυα μικρού αριθμού υπολογιστών, ενώ με το πέρασμα του χρόνου δίκτυα όπως το ARPANET [] αναπτύχθηκαν και διασυνδέθηκαν μεταξύ τους, δημιουργώντας αυτό που αργότερα έγινε γνωστό ως Internet [2]. Ταυτόχρονα, τα υπολογιστικά συστήματα έγιναν ισχυρότερα, μικρότερα και φτηνότερα, κάτι που οδήγησε στην κατακόρυφη αύξηση του αριθμού τους, καθώς και των εφαρμογών που εξυπηρετούν. Οι τρόποι σύνδεσης των συστημάτων έχουν επίσης αλλάξει, με την ασύρματη δικτύωση να βλέπει συνεχώς αυξανόμενη χρήση έναντι της ενσύρματης. Οι συνεχείς βελτιώσεις και οι καινοτομίες στην περιοχή των ασύρματων τηλεπικοινωνιακών δικτύων οδήγησαν τα τελευταία χρόνια στη δημιουργία των ασύρματων δικτύων αισθητήρων (Wireless Sensor Networks / WSN) [3]. Τα δίκτυα αυτά απαρτίζονται από μεγάλο αριθμό μικρών συστημάτων με δυνατότητες ασύρματης επικοινωνίας, μέτρησης περιβαλλοντικών παραμέτρων και σχετική ενεργειακή αυτονομία. Λόγω του μικρού κόστους και των δυνατοτήτων δικτύωσης τους, μπορούν να χρησιμοποιηθούν σε εφαρμογές που απαιτείται η λήψη και επεξεργασία δεδομένων από πολλά σημεία, σε κλίμακες που ήταν προηγουμένως αδύνατο καλυφθούν, λόγω απαγορευτικού κόστους και αδυναμία συλλογής των δεδομένων.

14 .2. Ασύρματα Δίκτυα αισθητήρων Τα Ασύρματα Δίκτυα Αισθητήρων (ΑΔΑ) είναι δίκτυα μεγάλου αριθμού μικρών και χαμηλού κόστους αισθητήρων, οι οποίοι συλλέγουν και μεταδίδουν δεδομένα. Η ανάπτυξη αυτού του νέου τύπου ασύρματων δικτύων, δίνει την ευκαιρία για την εφαρμογή ενσωματωμένων υπολογιστικών συστημάτων σε περιπτώσεις που η χρήση προηγουμένων τεχνολογιών θα ήταν αδύνατη, ασύμφορη ή ανεπαρκής. Οι πιθανές εφαρμογές των δικτύων αισθητήρων περιλαμβάνουν παρακολούθηση περιβαλλοντολογικών παραμέτρων, σεισμική ανίχνευση, στρατιωτική επιτήρηση περιοχών, παρακολούθηση φυσικών περιβαλλόντων, αποθεμάτων, κτλ. [], [], []. Οι κόμβοι που απαρτίζουν αυτά τα δίκτυα είναι ενσωματωμένα συστήματα, εν γένει αρκετά περιορισμένων υπολογιστικών δυνατοτήτων. Διαθέτουν υποσύστημα ασύρματης επικοινωνίας μικρής εμβέλειας και κατανάλωσης, καθώς και αισθητήρες, οι οποίοι εξαρτώνται από την εφαρμογή. Η τροφοδοσία τους γίνεται συνήθως με μπαταρία, και σε κάποιες περιπτώσεις επιπλέον με μεθόδους συλλογής ενέργειας, όπως φωτοηλεκτρικά στοιχεία. Το μέγεθος αυτών των δικτύων, σε συνδυασμό με τις μικρές δυνατότητες των στοιχείων του, κάνουν τις δομές και τις τεχνικές που εφαρμόζονται μέχρι τώρα στα δίκτυα από μη αποδοτικές έως ανεφάρμοστες με τελικό αποτέλεσμα να είναι πολλές οι τεχνολογικές προκλήσεις που προκύπτουν στην ανάπτυξη των δικτύων αυτών. Αντίθετα με τις απαιτήσεις των τυπικών δικτύων, που συνήθως έχουν να κάνουν με την επίτευξη μεγάλης ταχύτητας, ο κύριος στόχος της έρευνας στα δίκτυα αισθητήρων είναι η μεγιστοποίηση της αυτονομίας και της σθεναρότητας του δικτύου. Καθώς οι δυνατότητες αποθήκευσης ενέργειας των κόμβων είναι περιορισμένες, κάθε επίπεδο

15 της επικοινωνίας, από το φυσικό μέχρι την εφαρμογή, σχεδιάζεται ώστε να ελαχιστοποιήσει την κατανάλωση του κόμβου, ή, εφόσον τα κριτήρια είναι διαφορετικά, την μεγιστοποίηση της ζωής του δικτύου..3. Ανάγκη ασφάλειας στα ασύρματα δίκτυα αισθητήρων Όπως και στις κλασσικές εφαρμογές δικτυακών συστημάτων, έτσι και σε πολλές εφαρμογές των ΑΔΑ, τίθεται το ζήτημα της ασφάλειας. Ειδικά σε περιπτώσεις στρατιωτικών ή βιομηχανικών χρήσεων, είναι απαραίτητη η εγγύηση πως τα δεδομένα που ανταλλάσσονται μεταξύ των κόμβων δε μπορούν να υποκλαπούν ή να εισαχθούν πλαστά δεδομένα από τρίτους. Για την ασφάλεια των επικοινωνιών υπάρχει πληθώρα λύσεων στο πεδίο των κλασσικών δικτύων, οι οποίες όμως, όπως συμβαίνει και με τα υπόλοιπα στοιχεία της υλοποίησής τους (π.χ. δρομολόγηση) δε μπορούν να χρησιμοποιηθούν στα ΑΔΑ []. Οι καθοριστικοί περιορισμοί στην περίπτωση της ασφάλειας είναι η μικρή υπολογιστική ικανότητα και δυνατότητες του υποσυστήματος επικοινωνίας, σε συνδυασμό με το μεγάλο μέγεθος του δικτύου, ενώ και η κατανάλωση ενέργειας είναι κι εδώ σημαντική. Η κρυπτογράφηση των δεδομένων, βασικό σημείο της ασφάλειας, απαιτεί μεγάλο επεξεργαστές αριθμό που πράξεων συναντώνται σε οποιαδήποτε συνήθως σε μορφή ΑΔΑ είναι της. Οι χαμηλής υπολογιστικής ισχύος, συνήθως των 8 ή bit. Έτσι, πρέπει οι σχετικές εφαρμογές πολύπλοκους ασφάλειας να αλγορίθμους χρησιμοποιούν κρυπτογραφίας, όσο ενώ γίνεται η χρήση λιγότερο τους να περιορίζεται στο ελάχιστο δυνατό, ώστε όχι μόνο να είναι δυνατή η επεξεργασία των δεδομένων σε πραγματικό χρόνο αν απαιτείται, αλλά και η εξοικονόμηση ενέργειας, με ελαχιστοποίηση της χρήσης του επεξεργαστή.

16 Το μέγεθος των δικτύων είναι επίσης ένας καθοριστικός παράγοντας για τις μεθόδους που θα χρησιμοποιηθούν για τη διασφάλιση των δεδομένων τους. Καθώς η ασφαλής μετάδοση των δεδομένων απαιτεί την ύπαρξη κλειδιών γνωστά σε όλο ή έστω μέρος του δικτύου, πρέπει να υπάρχουν πρωτόκολλα για τη μετάδοση και ίσως την ανάκληση αυτών των κλειδιών. Η επιβάρυνση του δικτύου από τέτοιες διαδικασίες αυξάνεται εν γένει μη γραμμικά με το μέγεθος του δικτύου, και δεδομένων των περιορισμένων δυνατοτήτων των υποσυστημάτων επικοινωνίας, η εφαρμογή πρωτοκόλλων ασφαλείας σε μεγάλα δίκτυα γίνεται από δύσκολη έως αδύνατη. Έτσι, πρέπει να χρησιμοποιηθούν εναλλακτικές μέθοδοι μετάδοσης και ανάκλησης των κλειδιών, που να κρατούν την επιβάρυνση στο δίκτυο όσο γίνεται μικρότερη [8]. Τέλος, η κατανάλωση ενέργειας πρέπει επίσης να κρατηθεί όσο δυνατόν χαμηλότερη γίνεται αυξάνοντας το χρόνο αυτονομίας του κάθε κόμβου και του δικτύου συνολικά. Αυτό, στην περίπτωση των πρωτοκόλλων ασφάλειας συμβαδίζει με τη βελτιστοποίηση των ανωτέρω παραμέτρων, τη μείωση της χρήσης των επεξεργαστικών πόρων, και τη μείωση των μηνυμάτων που μεταδίδονται στο δίκτυο. Συμπερασματικά, για τη διασφάλιση της επικοινωνίας σε δίκτυα αισθητήρων, πρέπει να χρησιμοποιηθούν πρωτόκολλα διαχείρισης κλειδιών που ελαχιστοποιούν την επιβάρυνση στο δίκτυο που εισάγουν οι διαδικασίες διανομής και ενημέρωσης των κλειδιών. Επιπλέον, πρέπει να χρησιμοποιηθούν αλγόριθμοι κρυπτογράφησης που μπορούν να τρέξουν στα συστήματα που απαρτίζουν αυτά τα δίκτυα σε πραγματικό χρόνο, εισάγοντας την ελάχιστη δυνατή επιβάρυνση τόσο στο χρόνο εκτέλεσης, όσο και στην κατανάλωση ενέργειας. 8

17 Το πρωτόκολλο S2RP 2. Το πρωτόκολλο S2RP (Secure and Scalable Rekeying Protocol) [8] είναι ένα πρωτόκολλο ασφαλείας προορισμένο για δίκτυα αισθητήρων. Στόχος του είναι να ελαχιστοποιήσει τη χρήση πόρων του δικτύου, παρέχοντας μεθόδους για αυθεντική διανομή κλειδιών κρυπτογραφίας, ώστε να διατηρείται η προς τα εμπρός και προς τα πίσω ασφάλεια της επικοινωνίας (forward και backward security). Το S2RP είναι αποδοτικό από πλευράς επιβάρυνσης στην επικοινωνία (communication overhead), καθώς ελαχιστοποιεί τα απαιτούμενα μηνύματα σε κάθε αλλαγή τοπολογίας ή γενικότερα αλλαγής κλειδιών. Επίσης είναι αποδοτικό και ως προς την χρησιμοποιεί επιβάρυνση μόνο στον υπολογισμό συμμετρική των κρυπτογραφία κλειδιών, και αφού μονόδρομες (κρυπτογραφικές) συναρτήσεις σύνοψης (hash functions). Τα παραπάνω χαρακτηριστικά του S2RP το καθιστούν ιδανικό για να εφαρμοστεί σε ασύρματα δίκτυα αισθητήρων, που έχουν υλικό μικρών υπολογιστικών και επικοινωνιακών δυνατοτήτων. Επιπλέον το S2RP είναι ένα πρωτόκολλο ασφαλείας με ιδιαίτερες δυνατότητες κλιμάκωσης (scalability) σε σύγκριση με κλασσικές λύσεις, και άρα είναι ιδανικό για μεγάλα ή/και υψηλής δυναμικότητας αισθητήρων που δίκτυα, όπως χαρακτηρίζονται από είναι τα πολύ ασύρματα μεγάλους δίκτυα αριθμούς ασύρματων κόμβων. 9

18 2... Εισαγωγικές έννοιες Σε ένα δίκτυο ασύρματων αισθητήρων, οι κόμβοι συνεργάζονται για την επίτευξη ενός στόχου, σύμφωνα με το μοντέλο ομαδικής επικοινωνίας (Group Communication Model). [9] Στο μοντέλο ομαδικής επικοινωνίας οι εξουσιοδοτημένοι κόμβοι του δικτύου έχουν ένα κοινό συμμετρικό κλειδί που χρησιμοποιείται για την κρυπτογράφηση των μηνυμάτων μεταξύ τους. Νέοι κόμβοι συνδέονται στο δίκτυο αφού τοποθετηθούν και οι εκτεθειμένοι (σε τρίτους) κόμβοι αναγκάζονται να εγκαταλείψουν το δίκτυο, ενώ υπάρχει και η δυνατότητα οικειοθελούς αποχώρησης ενός κόμβου από το δίκτυο. Σε αυτό το μοντέλο η προς τα εμπρός και προς τα πίσω εμπιστευτικότητα θα πρέπει να υλοποιηθούν με αλλαγή κλειδιών (rekeying) με αποτέλεσμα τα κλειδιά να αλλάζουν για κάθε σύνδεση και αποσύνδεση κόμβων από το δίκτυο. Οι αλλαγές αυτές μπορούν να γίνουν περιοδικά (periodic), η ως αντενέργεια (reactive). Για καλύτερη κλιμάκωση, το δίκτυο μπορεί να χωριστεί σε ομάδες, με δικό της κλειδί η καθεμία, ή με ένα κοινό κλειδί μεταξύ τους. Στο S2RP οι αλλαγές κλειδιών γίνονται με reactive τρόπο, κάτι που δίνει το πλεονέκτημα ότι νέοι κόμβοι μπορούν να συνδεθούν στο δίκτυο χωρίς αναμονή, ενώ οι εκτεθειμένοι κόμβοι μπορούν να εκδιωχθούν από το δίκτυο το ίδιο γρήγορα. Η χρήση όμως reactive αλλαγής κλειδιών σε δίκτυα αισθητήρων θέτει δυο προκλήσεις. Πρώτον, με την παραλαβή των νέων κλειδιών ο κάθε κόμβος πρέπει να επιβεβαιώσει την αυθεντικότητά τους, ενώ παραδοσιακές μέθοδοι για ευρεία πιστοποίηση (broadcast authentication) που βασίζονται σε ασύμμετρη κρυπτογραφία [] δε μπορούν να χρησιμοποιηθούν λόγω υπολογιστικής πολυπλοκότητας. Δεύτερον, η reactive αλλαγή κλειδιών επισύρει μεγάλη επιβάρυνση στην επικοινωνία, ειδικά σε μεγάλα δίκτυα []. Το S2RP παρέχει προς τα εμπρός και προς τα πίσω ασφάλεια, δίνοντας παράλληλα λύση σε αυτές τις προκλήσεις. Έχει καλή κλιμάκωση,

19 καθώς απαιτεί O(logn) μηνύματα για να ανακληθεί ένα κλειδί και να μοιραστεί ένα νέο, με n τον αριθμό των κόμβων του δικτύου. Επίσης τα καινούρια κλειδιά πιστοποιούνται χρησιμοποιώντας μόνο συμμετρική κρυπτογραφία και κρυπτογραφικές συναρτήσεις σύνοψης, που είναι αρκετές τάξεις μεγέθους πιο αποδοτικές υπολογιστικά από τη χρήση ασύμμετρης κρυπτογραφίας. Στο S2RP η διαχείριση του δικτύου γίνεται συγκεντρωμένα (centralized). Σε μια τέτοια προσέγγιση η ανάκληση κλειδιών και η διανομή νέων γίνεται από μια υπηρεσία διαχείρισης κλειδιών (Key Management Service, KMS). Στις μέχρι τώρα υλοποιήσεις συγκεντρωμένης διαχείρισης το KMS, σε κάθε αλλαγή κλειδιού, στέλνει το νέο κλειδί σε όλους τους κόμβους, εκτός από αυτόν που αποχώρισε, αν πρόκειται για τέτοια περίπτωση. Κάτι τέτοιο απαιτεί O(n) μηνύματα, ενώ το S2RP το πραγματοποιεί αυτό με O(logn) μηνύματα. Το πρωτόκολλο βασίζεται κυρίως σε δυο μηχανισμούς, τη λογική ιεραρχία κλειδιών (Logical Key Hierarchy) και τις αλυσίδες κλειδιών. Η πρώτη δίνει τη δυνατότητα για αλλαγή κλειδιών με αριθμό μηνυμάτων που είναι συνάρτηση του λογαρίθμου των κόμβων του δικτύου. H δεύτερη δίνει δυνατότητα εύκολης πιστοποίηση αυθεντικότητας των νέων κλειδιών.

20 2..2. Αρχιτεκτονική πρωτοκόλλου Για το πρωτόκολλο S2RP που εφαρμόστηκε θεωρήθηκε ασύρματο δίκτυο αισθητήρων στο οποίο οι κόμβοι συνεργάζονται για την εκτέλεση μιας εφαρμογής σύμφωνα με το μοντέλο επικοινωνίας ομάδας. Σε αυτό το σενάριο κάθε κόμβος γίνεται μέλος του δικτύου με ρητή αίτησή του. Σαν μέλος της ομάδας, ο κάθε κόμβος μπορεί να μεταδώσει μηνύματα σε κάθε άλλο μέλος του δικτύου. Ένας κόμβος μπορεί επίσης να αποχωρήσει από το δίκτυο είτε οικειοθελώς αν εκτελέσει την εργασία του, είτε εξαναγκασμένα αν έχει εκτεθεί σε τρίτους. Μετά από την αποχώρηση από το δίκτυο, ο κόμβος δε μπορεί να στείλει, ούτε να δεχθεί μηνύματα από άλλους κόμβους, ή να επανασυνδεθεί, στην περίπτωση που είχε εκτεθεί. Μέλη του δικτύου μπορούν να χωριστούν σε ομάδες. Κάθε κόμβος γίνεται μέλος κάποιας ομάδας με τη σύνδεσή του στο δίκτυο και παραμένει μέλος αυτής της ομάδας, όσο είναι στο δίκτυο. Οι ομάδες μπορεί να είναι διαμορφωμένες σύμφωνα με διάφορα κριτήρια, όπως η γεωγραφική θέση, ή η λειτουργία των κόμβων. Για την προστασία των δεδομένων από παθητικούς ή ενεργητικούς αντιπάλους, τα μέλη του δικτύου χρησιμοποιούν ένα κοινό κλειδί για την επικοινωνία μεταξύ τους. Ομοίως, κόμβοι της ίδιας ομάδας έχουν κοινό κλειδί για την κρυπτογράφηση των μηνυμάτων εντός αυτής. Σε αυτό το μοντέλο, η προς τα εμπρός και προς τα πίσω ασφάλεια παρέχεται μέσω αλλαγής κλειδιών, κατά την οποία το κλειδί του δικτύου και των αντίστοιχων ομάδων αλλάζει όταν υπάρχει είσοδος ή έξοδος κόμβου από το δίκτυο. Το σύνολο των κόμβων το διαχειρίζεται ένας ελεγκτής δικτύου (Group Controller, GC) που αποτελείται από τρία τμήματα: μια υπηρεσία διαχείρισης μελών (Group Membership Service, GMS), μια υπηρεσία διαχείρισης κλειδιών (Key Management Service, KMS) και ένα σύστημα εντοπισμού εισβολής (Intrusion Detection System, IDS). Το GMS έχει 2

21 πληροφορίες για τους κόμβους του δικτύου, παρακολουθώντας ποιοι κόμβοι συνδέονται και αποσυνδέονται. Ένας αισθητήρας που θέλει να συμβάλλει στην εκτέλεση της εφαρμογής του δικτύου αισθητήρων συνδέεται ως κόμβος στο δίκτυο καλώντας την διαδικασία σύνδεσης. Αργότερα, μπορεί να θέλει να τερματίσει τη συνεργασία και να αποσυνδεθεί invoking τη διαδικασία αποσύνδεσης. Το IDS παρακολουθεί το δίκτυο για να ανακαλύψει κόμβους που έχουν εκτεθεί σε επιθέσεις. Με την επιτυχή αποκάλυψη ενός εκτεθειμένου κόμβου, το IDS αναγκάζει τον κόμβο να αποχωρήσει από το δίκτυο, invoking τη διαδικασία αποσύνδεσης, με όρισμα το αναγνωριστικό του κόμβου. Κάθε φορά που ένας αισθητήρας συνδέεται, αποσυνδέεται ή αναγκάζεται να αποσυνδεθεί από το δίκτυο, το κλειδί δικτύου και κάποια, ή όλα τα κλειδιά ομάδων πρέπει να ανανεωθούν, για να διατηρηθεί η προς τα εμπρός και προς τα πίσω ασφάλεια των δεδομένων. Αυτό αποτελεί το ρόλο του KMS. Με την αλλαγή του πίνακα των συνδεδεμένων κόμβων, το GMS καλεί τη διαδικασία αλλαγής κλειδιών του KMS, αναφέροντας το γεγονός που οδήγησε στην αλλαγή. Επιπροσθέτως, το KMS υποστηρίζει την περιοδική αλλαγή των κλειδιών, με σκοπό τη μείωση του αριθμού των πακέτων κρυπτογραφημένων με κάποιο κλειδί, μειώνοντας τον κίνδυνο κρυπτανάλυσης. Το GC μπορεί να υλοποιηθεί σαν ένας πιο υπολογιστικά ισχυρός κόμβος από τους υπόλοιπους του δικτύου, όπως ένα PC ή ένας server, έχοντας πρακτικά απεριόριστους για την εφαρμογή υπολογιστικούς, αποθηκευτικούς και ενεργειακούς πόρους. Επίσης, μπορεί να θεωρηθεί ότι το GC είναι είτε ανθεκτικό σε παραποίηση είτε είναι φυσικά προστατευμένο, αποκλείοντας την περίπτωση να εκτεθεί σε τρίτους. 3

22 2..3. Αλυσίδες κλειδιών Το πρωτόκολλο S2RP επιτυγχάνει την πιστοποίηση αυθεντικότητας (authentication) με τη χρήση των αλυσίδων κλειδιών, που δημιουργούνται με μονόδρομες (κρυπτογραφικές) συναρτήσεις σύνοψης (One Way Hash Functions / OWHF). Οι συναρτήσεις αυτές έχουν τις ιδιότητες: για είσοδο m είναι εύκολο να υπολογιστεί το H(m) για έξοδο y, είναι δύσκολο να βρεθεί είσοδος m ώστε y = H(m) (preimage resistance) για είσοδο m είναι πρακτικά αδύνατο να βρεθεί διαφορετική είσοδος n ώστε H(n) = H(m) (second preimage resistance) Θεωρώντας αποστολέα S που μεταδίδει συμμετρικά κλειδιά και παραλήπτη R που πρέπει να μπορεί να πιστοποιήσει τα κλειδιά που λαμβάνει, χρησιμοποιούνται μονόδρομες συναρτήσεις σύνοψης ως εξής: Ο S υπολογίζει μια αλυσίδα κλειδιών, στην οποία το κάθε στοιχείο προκύπτει από την εφαρμογή της H στο επόμενο. Αναλυτικά, ξεκινώντας από μια τυχαία είσοδο s, η αλυσίδα που κατασκευάζεται από τα στοιχεία s, H(s), H2(s), H3(s),.., HN(s), όπου Hi(s) είναι το αποτέλεσμα της εφαρμογής i φορές την H στο s. Η σειρά των στοιχείων είναι η αντίστροφη, δηλαδή για τα στοιχεία της αλυσίδας είναι K(i) = HN-i. Η αλυσίδα ορίζεται ως Chain K Ν N,=, H {K i K i =H N i K N, i N }

23 Εικόνα : Αλυσίδα κλειδιών Από τις ιδιότητες της Η προκύπτει ότι κάποιος που γνωρίζει το κλειδί K(j) μπορεί να υπολογίσει όλα τα προηγούμενα κλειδιά αλλά κανένα από τα επόμενα, K i, i j, K i, j i N. Ο S λοιπόν αποκαλύπτει τα κλειδιά αντιστρόφως της σειράς δημιουργίας τους. Έστω ότι έχει αποκαλυφθεί το κλειδί K(i) μέσα από ένα πιστοποιημένο κανάλι στον R. Αργότερα, αποκαλύπτεται το κλειδί K(j) στον R, μέσω ενός μη πιστοποιημένου καναλιού, χωρίς επιβάρυνση στο κανάλι επικοινωνίας. Ο R μπορεί να επιβεβαιώσει την αυθεντικότητα του κλειδιού, δηλαδή ότι έρχεται από τον S εφαρμόζοντας j-i φορές την Η στο K(j) και ελέγχοντας αν το αποτέλεσμα ισούται με το K(i). Ας σημειωθεί ότι αν ο S έχει μεταφέρει αρχικά την αρχή της αλυσίδας (chain head) στον R, τότε αυτός μπορεί να πιστοποιήσει όλα τα κλειδιά της αλυσίδας. Ορίζουμε ως τρέχον κλειδί (current-key), K(cur), το τελευταίο κλειδί της αλυσίδας που έχει αποκαλυφθεί. Δηλαδή το K(cur) αντιστοιχεί στο K(i) αν ο S έχει αποκαλύψει ήδη το K(i) αλλά όχι το K(i+). Ακόμα, ορίζουμε ως επόμενο κλειδί (next key), Κ(next), το επόμενο κλειδί προς αποκάλυψη. Αν δηλαδή K(cur) = K(i), K(next) = K(i+).

24 Επισκόπηση του S2RP 2... Κάθε αισθητήρας έχει ένα ιδιωτικό κλειδί (private key), ένα συμμετρικό κλειδί που ξέρει επίσης μόνο το KMS. Το KMS χρησιμοποιεί αυτό το κλειδί για την ασφαλή προς έναν μετάδοση (unicast) πληροφοριών αλλαγής κλειδιών σε αυτόν τον κόμβο. Ονομάζουμε K s το x κλειδί που αντιστοιχεί στον αισθητήρα sx. Για την εξασφάλιση της προς τα εμπρός ασφάλειας, το S2RP κρατά μια ιεραρχική δομή συμμετρικών κλειδιών, ονομαζόμενο eviction tree. Όπως φαίνεται στην Eικόνα 2, οι εσωτερικοί κόμβοι αριθμούνται όπως σε αναζήτηση κατά πλάτος, με ρίζα τον κόμβο e. Εικόνα 2: Eviction tree με m=2 και h=3 Τα κλειδιά αντιστοιχούνται σε κόμβους του δέντρου ως εξής: Το ιδιωτικό κλειδί κάθε μέλους αντιστοιχείται σε ένα φύλλο του δέντρου, ενώ κάθε εσωτερικός κόμβος ej αντιστοιχείται με μία αλυσίδα κλειδιών, Ne Chain K e, N e, H e. j j Έστω j K ecur j το τρέχον κλειδί της αλυσίδας Ne Chain K e, N e, H e. j j j

25 Ορίζουμε ως Keys cur το σύνολο των τρεχόντων κλειδιών του κάθε εσωτερικού κόμβου. Κάθε αισθητήρας sx αποθηκεύει ένα υποσύνολο των KeySet s x ορισμένο ως εξής: Έστω Keys cur, Path s x το σύνολο των εσωτερικών κόμβων στο μονοπάτι από τη ρίζα του δέντρου ως το φύλλο που αντιστοιχεί στον αισθητήρα sx. Το KeySet s x τρέχοντα κλειδιά των εσωτερικών κόμβων στο αποτελείται από τα Path s x : KeySet s x ={K cur e j Path s x } e j Ανά πάσα στιγμή το υποσύνολο κλειδιών που κατέχει κάθε μέλος αποτελείται από h κλειδιά, όπου h είναι το μήκος του μονοπατιού. Στην περίπτωση ενός συμμετρικού δέντρου είναι h=log m n, όπου n το σύνολο των κόμβων και m οι απόγονοι ανά κόμβο. Το τρέχον κλειδί που K cur e αντιστοιχεί στη ρίζα του δέντρου, ανήκει στο υποσύνολο κλειδιών κάθε μέλους. Αυτή η ιεραρχία κλειδιών επιτρέπει τον ορισμό ομάδων (clusters). L e j Έστω ej ένας εσωτερικός κόμβος και το σύνολο των φύλλων που ανήκουν στο υπο-δέντρο με ρίζα το ej. Ορίζουμε ομάδα που αντιστοιχεί στο ej, ονομαζόμενη Cluj, το σύνολο των αισθητήρων των οποίων τα κλειδιά αντιστοιχούν σε φύλλα στο {e a,e b, e c, e d } το σύνολο των κόμβων σημειωθεί ότι το κλειδί L e j. Αναφορικά με την Eικόνα 2, αποτελεί την ομάδα Clu. Ας K cur είναι κοινό μόνο στα μέλη της ομάδας Cluj. e Το KMS χρησιμοποιεί το eviction tree για να διασφαλίσει την προς τα εμπρός ασφάλεια. Όταν ένας αισθητήρας όλα τα κλειδιά στο sl φεύγει από το δίκτυο, KeySet sl θεωρούνται εκτεθειμένα και πρέπει να ανανεωθούν. Συνεπώς το KMS αλλάζει τα κλειδιά ως εξής: Για κάθε εσωτερικό κόμβο κλειδί K ecur j ej στο με το επόμενο, Path sl, το KMS αντικαθιστά το τρέχον K enext Ακολούθως το KMS μεταδίδει το έχουν το ej στην αλυσίδα j K enext j Ne Chain K e, N e, H e. j j j σε όλους τους αισθητήρες που στο μονοπάτι τους, εκτός από τον s l, σε O logn

26 μηνύματα. Έτσι, ο sl δεν έχει κανένα από τα τρέχοντα κλειδιά. Το eviction tree δεν είναι κατάλληλο για τη διατήρηση της προς τα πίσω ασφάλειας. Κάθε καινούριος κόμβος που συνδέεται στο δίκτυο, λαμβάνει όλα τα τρέχοντα κλειδιά που αντιστοιχούν στο μονοπάτι του. Με αυτά τα κλειδιά μπορεί όμως να υπολογίσει και όλα τα προηγούμενα κλειδιά, εφαρμόζοντας επανειλημμένα τη συνάρτηση σύνοψης. Για να διατηρηθεί η προς τα πίσω ασφάλεια, το KMS ορίζει ένα επιπρόσθετο κλειδί, που ονομάζουμε κλειδί σύνδεσης (join key), K j. Αυτό το συμμετρικό κλειδί είναι κοινό για όλα τα μέλη του δικτύου και ανανεώνεται με ασφάλεια κάθε φορά που ένα νέο μέλος έρχεται στο δίκτυο. Τα μέλη υπολογίζουν το κλειδί του δικτύου αναμιγνύοντας το κλειδί σύνδεσης με το κλειδί της ρίζας του δέντρου. Η προς τα πίσω ασφάλεια είναι πλέον διασφαλισμένη καθώς το νέο μέλος δε γνωρίζει τα προηγούμενα κλειδιά σύνδεσης, κι έτσι δε μπορεί να υπολογίσει τα προηγούμενα κλειδιά δικτύου. Ομοίως τα κλειδιά ομάδων υπολογίζονται αναμιγνύοντας το κλειδί σύνδεσης με τα αντίστοιχα κλειδιά των εσωτερικών κόμβων. Σε μια απλή προσέγγιση, όταν ένα νέο μέλος έρχεται στο δίκτυο, το KMS δημιουργεί καινούριο κλειδί σύνδεσης και το μεταδίδει στους αισθητήρες ξεχωριστά, κρυπτογραφώντας το με το ιδιωτικό κλειδί του καθενός, κάτι που απαιτεί O n μηνύματα. Μια πιο αποδοτική προσέγγιση είναι κάθε μέλος να υπολογίζει K j. Σε αυτή την περίπτωση, το KMS μεταδίδει τοπικά το νέο κλειδί προς όλους μια εντολή αλλαγής του κλειδιού σύνδεσης, και κόμβοι που είναι ήδη στο δίκτυο πιστοποιούν την αυθεντικότητα της εντολής και υπολογίζουν το νέο Kj εφαρμόζοντας τη συνάρτηση σύνοψης στο προηγούμενο. Με αυτόν τον τρόπο το KMS χρειάζεται να μεταδώσει με unicast το νέο κλειδί μόνο στο νέο μέλος, που δε μπορεί να το υπολογίσει, μη γνωρίζοντας το προηγούμενο. Η πιστοποίηση της αυθεντικότητας της εντολής 8 γίνεται ξανά με το μηχανισμό των αλυσίδων κλειδιών.

27 Συγκεκριμένα, το KMS δημιουργεί μια αλυσίδα HC H e ), όπου το μπορεί να είναι ίδια με την NC Chain K C, N C, H C l KC (Η αντιστοιχεί στην l-οστή εντολή αλλαγής κλειδιού σύνδεσης Αρχικοποίηση Κατά την αρχικοποίηση, το KMS δίνει τις απαραίτητες πληροφορίες στους κόμβους που αποτελούν το αρχικό δίκτυο. Αυτό γίνεται με off-line μεθόδους. Το KMS δίνει ένα δείκτη και ένα ιδιωτικό κλειδί σε κάθε αισθητήρα. Το ιδιωτικό κλειδί για έναν κόμβο sa υπολογίζεται από την K s = f MK, s a, όπου f είναι μια ασφαλής ψευδοτυχαία συνάρτηση και MK a είναι ένα αρχικό κλειδί, γνωστό μόνο στο KMS. Έτσι το KMS χρειάζεται να έχει αποθηκευμένο μόνο το MK, κάτι σημαντικό ως προς τις απαιτήσεις σε αποθηκευτικούς πόρους όταν ο αριθμός των κόμβων είναι μεγάλος. Το Ks υπολογίζεται μόνο στην περίπτωση που το KMS πρέπει να a επικοινωνήσει με unicast με έναν αισθητήρα. Όπως Ne αναφέρθηκε, Chain K e, N e, H e j j j το KMS προ-υπολογίζει για κάθε εσωτερικό κόμβο ej τις αλυσίδες του δέντρου. Το μήκος της αλυσίδας μπορεί να εξαρτάται από τον κόμβο στον οποίο αντιστοιχεί. Αν δέντρο, δηλαδή level e j level e j =log m j m m. υπό-δέντρο με ρίζα το αυτό του του ei είναι το επίπεδο του εσωτερικού κόμβου στο ej Αν level e j level ei, το αποτελείται από περισσότερους κόμβους από e i. Το KMS αποκαλύπτει ένα στοιχείο στην αλυσίδα κλειδιών κάθε φορά που αφαιρείται ένα φύλλο που ανήκει στο αντίστοιχο υπό-δέντρο. Λόγω αυτού, οι αλυσίδες κόμβων μικρότερου επιπέδου καταναλώνονται γρηγορότερα, κι έτσι είναι λογικό να έχουν μεγαλύτερο μήκος από αυτές των κόμβων μεγαλύτερου επιπέδου. Στην παραπάνω περίπτωση δηλαδή θα είναι Ne Ne. j i 9

28 Κατά την αρχικοποίηση, κάθε μέλος λαμβάνει τις κεφαλές των Keys cur αλυσίδων των κόμβων που ανήκουν στο μονοπάτι του. Το έτσι αρχικά περιέχει τις κεφαλές των αλυσίδων κλειδιών που αντιστοιχούν στους εσωτερικούς κόμβους. Τέλος, επιλέγεται τυχαία ένα κλειδί σύνδεσης Kj και δημιουργείται και μια αλυσίδα κλειδιών-εντολών για την αλλαγή του. Το κλειδί σύνδεσης, όπως και η κεφαλή της αλυσίδας μεταδίδονται σε όλους τους αισθητήρες. Για παράδειγμα, για τον αισθητήρα sa του δικτύου της εικόνας 2, το KMS δίνει έναν δείκτη στον κόμβο και μεταδίδει το αντίστοιχο ιδιωτικό κλειδί σε αυτόν. Το μονοπάτι για τον sa είναι το Path sa ={e, e, e 3 }, κι έτσι το σύνολο κλειδιών που μεταδίδονται σε αυτόν είναι το κλειδί σύνδεσης 2 3 KeySet s a ={K e, K e, K e }. Επίσης μεταδίδονται σε αυτόν το Kj και η κεφαλή της αλυσίδας εντολών, K C.

29 2... Η φάση επικοινωνίας Κατά τη φάση της επικοινωνίας των κόμβων τα μέλη του δικτύου μπορεί να αλλάξουν, και το KMS πρέπει να διασφαλίσει την προς τα εμπρός και προς τα πίσω ασφάλεια, με αλλαγές κλειδιών. Επιπλέον, το KMS μπορεί να ανανεώνει περιοδικά τα κλειδιά δικτύου και ομάδων, αν χρειάζεται Ασφαλής επικοινωνία μελών sx Ανά πάσα στιγμή κάθε αισθητήρας-κόμβος το κλειδί σύνδεσης KJ και το έχει αποθηκευμένα KeySet s x. Αυτά χρησιμοποιούνται για τον τοπικό υπολογισμό των κλειδιών δικτύου K grp και ομάδων K clu. i Για τον υπολογισμό του κλειδιού δικτύου χρησιμοποιείται το κλειδί KJ σύνδεσης cur K grp =M K e και το τρέχον κλειδί κόμβου e, δηλαδή, K J, όπου M είναι μια συνάρτηση μίξης των δυο κλειδιών. Για τα κλειδιά ομάδων, ομοίως ισχύει του cur K Clu =M K e i i, K J. Διαχείριση δικτύου αποσύνδεση κόμβου Όταν ένα μέλος sl φεύγει, ή αναγκάζεται να φύγει από το δίκτυο, το KMS πρέπει να εμποδίσει το sl να έχει πρόσβαση σε μελλοντικές επικοινωνίες εντός του δικτύου. Τα κλειδιά που διαθέτει το sl θεωρούνται εκτεθειμένα, έτσι το KMS πρέπει να ανανεώσει κάθε κλειδί που περιέχεται στο KeySet sl, για τη διατήρηση της προς τα εμπρός ασφάλειας. Αναλυτικά ακολουθούνται τα παρακάτω βήματα: 2

30 Αρχικά, το KMS βρίσκει τους εσωτερικούς κόμβους που βρίσκονται Path sl, των οποίων τα κλειδιά είναι εκτεθειμένα. στο Το KMS ενημερώνει το δέντρο του δικτύου, αφαιρώντας το φύλλο sl. που αντιστοιχεί στο ej Για κάθε εσωτερικό κόμβο και κάθε απόγονό του στο δέντρο, το KMS δημιουργεί ένα μήνυμα αλλαγής κλειδιού. Αν ο απόγονος ej του είναι φύλλο, το μήνυμα περιέχει next το Ke j κρυπτογραφημένο με το ιδιωτικό κλειδί του αντίστοιχου μέλους. Αν ec είναι ένας εσωτερικός κόμβος και το K ecur c δεν είναι K enext εκτεθειμένο, το μήνυμα αλλαγής κλειδιού περιέχει το κρυπτογραφημένο με το το K enext K ecur. Αν είναι εκτεθειμένο, τότε περιέχει c κρυπτογραφημένο με το j Με το πέρας της διαδικασίας, στο sl γνωστό στον κλειδί του sl j K enext. c Keys cur, κάθε next έχει αντικατασταθεί με το Ke j cur Ke j που ήταν. Καθώς το ιδιωτικό δε χρησιμοποιείται για την κρυπτογράφηση μηνυμάτων, sl όλα τα τρέχοντα κλειδιά που γνωρίζει ο έχουν αλλαχτεί και τα μηνύματα αλλαγής έχουν κρυπτογραφηθεί με κλειδιά που δε γνωρίζει ο s l, τέλος ο sl δεν έχει πρόσβαση στα μηνύματα που ανταλλάσσονται στο εξής μέσα στο δίκτυο. Για παράδειγμα, αναφορικά με το δίκτυο της Εικόνας 2, έστω ότι ο sd αισθητήρας K ecur φεύγει από το δίκτυο. Τα κλειδιά K ecur, K ecur είναι πλέον εκτεθειμένα και πρέπει να αλλαχτούν. Τα νέα κλειδιά είναι τα K enext, K enext και K enext, με K ecur =H e K enext. Το KMS i i δημιουργεί και μεταδίδει τα ακόλουθα μηνύματα αλλαγής κλειδιών. 22 και next Μ : KMS s c : E K K e Μ2 : KMS sc : E K K e sc next next e

31 next M3 : KMS {s a, s b }: E K K e cur e3 M : next next e Ke KMS {s e, s f, s g, s h }: E K K e cur e2 δηλώνει next M : Όπου KMS {sa, s b, sc }: E K μετάδοση broadcast. Στην περίπτωση συμμετρικού m-αδικού δέντρου, το KMS χρειάζεται να μεταδώσει m[ log n ] μηνύματα. Με την παραλαβή των μηνυμάτων αλλαγής κλειδιών, τα μέλη τα αποκρυπτογραφούν με τα κατάλληλα κλειδιά, και παίρνουν τα καινούρια κλειδιά, για τα οποία ελέγχουν την αυθεντικότητά He. τους εφαρμόζοντας τη συνάρτηση σύνοψης sc Στο παράδειγμα, ο κόμβος δέχεται τα μηνύματα Μ, Μ2 και K s, και παίρνει Μ. Αποκρυπτογραφεί το Μ με το ιδιωτικό του κλειδί next το Ke, για το οποίο Αποκρυπτογραφεί το Μ2 με το cur next K e =H e K e το next Ke ελέγχει next Ke αν cur ισχύει, παίρνει το c next Ke. Τέλος, αποκρυπτογραφεί το Μ με το και ελέγχει αν cur next K e =H e K e next K e =H e K e. και ελέγχει αν next Ke, παίρνει. Διαχείριση δικτύου Σύνδεση νέου κόμβου Για τη διατήρηση της προς τα πίσω ασφάλειας, κάθε μέλος κρατά το κλειδί σύνδεσης K J. Αυτό το κλειδί ανανεώνεται με ασφάλεια κάθε φορά που ένας νέος κόμβος συνδέεται στο δίκτυο, έτσι ώστε να μην μπορεί αυτός να βρει τα προηγούμενα. Όταν ένας νέος κόμβος sn εισέλθει στο δίκτυο, το KMS μεταδίδει με broadcast μια εντολή για ανανέωση του K J. Όλοι οι κόμβοι που είναι ήδη στο δίκτυο έχουν αποθηκευμένο το προηγούμενο κλειδί εντολής, έστω l cur K C = K C, ενώ 23

32 l στο μήνυμα της εντολής αλλαγής θα υπάρχει το κλειδί KC next = KC. Με τη λήψη του νέου κλειδιού με την εντολή αλλαγής, τα ήδη μέλη του δικτύου μπορούν να επιβεβαιώσουν την αυθεντικότητα της εντολής, ελέγχοντας αν ισχύει cur next. K C =H C K C Εφόσον επιβεβαιωθεί η αυθεντικότητα της εντολής, υπολογίζεται το νέο κλειδί σύνδεσης, εφαρμόζοντας μια συνάρτηση σύνοψης στο τρέχον και αντικαθίσταται το κλειδί εντολής με το νέο. Τέλος το KMS στέλνει με unicast το νέο κλειδί l σύνδεσης, καθώς και το τελευταίο κλειδί εντολής,. Επίσης, το KC KMS ενημερώνει το δέντρο του δικτύου, και στέλνει ακόμα το στο KeySet s n sn. Για παράδειγμα, στο δίκτυο της Εικόνας 2, ας υποθέσουμε ότι συνδέεται ένας νέος κόμβος σαν απόγονος του κόμβου e 3. Μεταδίδεται sa η εντολή αλλαγής κλειδιού σύνδεσης στους κόμβους Ανανεώνεται το δέντρο δικτύου, προσθέτοντας τον sn ως sh. σαν απόγονο του e 3. Αποστέλλονται το νέο κλειδί σύνδεσης, το τελευταίο κλειδί εντολής, καθώς και τα κλειδιά cur Ke, cur Ke και cur Ke 3 στον sn, κρυπτογραφημένα με το ιδιωτικό κλειδί του Περιοδική ανανέωση κλειδιών Υπάρχει δυνατότητα για το KMS να ανανεώνει περιοδικά το κλειδί του δικτύου, καθώς και τα κλειδιά των ομάδων. Αυτό μειώνει τον κίνδυνο κρυπτανάλυσης, καθώς έτσι τα κλειδιά ακυρώνονται διαρκώς και το κρυπτογραφημένο με κάθε κλειδί υλικό που μπορεί να συλλέξει κάποιος τρίτος είναι περιορισμένο. Καθώς το κλειδί δικτύου και τα κλειδιά ομάδων είναι συνάρτηση του κλειδιού σύνδεσης, μια απλή ανανέωση του τελευταίου οδηγεί στην ανανέωση αυτών. Για κάτι τέτοιο, το KMS μεταδίδει με broadcast την 2

33 εντολή για αλλαγή κλειδιού σύνδεσης, με το κλειδί εντολής next KC ενσωματωμένο στο μήνυμα. Με την παραλαβή οι κόμβοι ελέγχουν την αυθεντικότητα της εντολής ελέγχοντας την ισχύ του θέτουν το, K grp 2... και next cur ως το νέο κλειδί εντολής, και υπολογίζουν τα νέα KC next K C =H C K C, KJ K Clu. i Επαναρρύθμιση κλειδιών Η αλυσίδα κλειδιών εντολών και οι αλυσίδες κλειδιών των εσωτερικών κόμβων έχουν πεπερασμένο μήκος. Έτσι, όταν όλα τα κλειδιά που ανήκουν σε μια αλυσίδα έχουν καταναλωθεί, πρέπει να δημιουργηθεί και να χρησιμοποιηθεί μια νέα. Για να γίνει αυτό, το KMS δημιουργεί την αλυσίδα, και στέλνει με unicast την κεφαλή της νέας αλυσίδας σε όλους τους κόμβους που απαιτείται, δηλαδή σε όλους τους κόμβους, όταν πρόκειται για την αλυσίδα κλειδιών εντολών ή την αλυσίδα κλειδιών δικτύου, ή τα μέλη της εκάστοτε ομάδας, όταν πρόκειται για αλυσίδα κλειδιών ομάδας. 2

34 2... Κατηγορίες μηνυμάτων αλλαγής κλειδιών Για τη διατήρηση της προς τα εμπρός και προς τα πίσω ασφάλειας, το KMS χρησιμοποιεί πέντε τύπων μηνύματα αλλαγής κλειδιών, όπως φαίνονται και στον πίνακα. Τύπος Προορισμός Δείκτες Κλειδιά Te b Broadcast j i c l E K Ke u Unicast: sx j i Te i l ec b Broadcast l TC u Unicast: sx l TJ u Unicast: sx - i E K K h K e sx TC j i ej K j l C l l E K K C h K C sx E K K J h K J sx Πίνακας : Τύποι μηνυμάτων του S2RP Te Το KMS μεταδίδει μηνύματα τύπου έστω όταν ένας αισθητήρας, b s l, φύγει ή αναγκαστεί να φύγει από το δίκτυο. ej Έστω T e, ένα για κάθε απόγονο του b απογόνους και K el c Ke e j. Έστω ec το προς j i Ke j σε m ένας από τους το κλειδί που αντιστοιχεί σ' αυτόν. Το μήνυμα θα περιέχει K ei κρυπτογραφημένο με το μπορούν να πιστοποιήσουν j i και e j. Το KMS μεταδίδει το χρήση κλειδί που αντιστοιχεί στον μηνύματα Path sl ένας κόμβος που ανήκει στο την εφαρμόζοντας τη συνάρτηση σύνοψης K el. Καθώς οι παραλήπτες c αυθεντικότητα του μηνύματος H e, δε χρειάζεται κάποιου είδους ψηφιακή υπογραφή. Το μήνυμα θα περιέχει επίσης τους δείκτες j και c, ώστε να ξέρουν οι παραλήπτες με ποιο κλειδί είναι κρυπτογραφημένο το μήνυμα, και ποιο νέο κλειδί περιλαμβάνεται σε αυτό. Αυτό έχει σαν δευτερεύουσα 2 συνέπεια ότι ο αριθμός των κόμβων του δικτύου

35 περιορίζεται από το μήκος των δεικτών αυτών. Αν το μήκος τους σε bits είναι x, τότε το δίκτυο μπορεί να περιλαμβάνει το πολύ 2 x κόμβους. Τέλος, στο μήνυμα περιέχονται οι δείκτες i και l, που δείχνουν τη θέση των κλειδιών στις αντίστοιχες αλυσίδες. Σαν συνέπεια, το μέγιστο μήκος των αλυσίδων περιορίζεται από το μήκος των δεικτών, όπως και προηγουμένως. Τα μηνύματα τύπου T e περιέχουν ένα κλειδί του τύπου u K ei. Το j KMS μεταδίδει με unicast τέτοια πακέτα σε εξωτερικούς κόμβους sx όταν αυτοί συνδέονται στο δίκτυο, όταν πρόκειται για αλλαγή κλειδιών του αμέσως ανώτερου επιπέδου, ή όταν χάνονται μηνύματα τύπου Επίσης, όταν εξαντλείται μια αλυσίδα κλειδιών με την κεφαλή αυθεντικότητας μιας νέας αυτών των αλυσίδας. Για μηνυμάτων, b N e, το KMS στέλνει j τέτοια μηνύματα σε όλους του εξωτερικούς κόμβους στην ομάδα του, TE. την τα εξασφάλιση μηνύματα ej της αυτά κρυπτογραφούνται με το εκάστοτε ιδιωτικό κλειδί του κόμβου στον οποίο μεταδίδονται. Επίσης, στο μήνυμα περιέχεται, εκτός από το κλειδί K ei, j και μια σύνοψη του κλειδιού αυτού. Αυτό εγγυάται πως ένας τρίτος που δεν έχει γνώση του K s, με το οποίο κρυπτογραφείται το μήνυμα, δεν x έχει τη δυνατότητα να παρέμβει στα δεδομένα του μηνύματος, χωρίς να χαλάσει τη σχέση μεταξύ του μεταδιδόμενου κλειδιού και της σύνοψής του. Τα μηνύματα τύπου TC b χρησιμοποιούνται για τη μετάδοση εντολών ανανέωσης του κλειδιού σύνδεσης, είτε περιοδικά, είτε λόγω της σύνδεσης ενός νέου κόμβου στο δίκτυο. Περιέχουν ένα κλειδί του τύπου l K C, καθώς και το δείκτη l που δείχνει τη θέση του μεταδιδόμενου κλειδιού στην αλυσίδα. Γι' αυτά τα μηνύματα δεν απαιτείται κάποιου είδους ασφάλεια, έτσι δε χρειάζεται καν να κρυπτογραφηθούν. Τα μηνύματα τύπου TC u χρησιμοποιούνται όταν ένας κόμβος συνδέεται στο δίκτυο και δεν έχει γνώση κλειδιών στην αλυσίδα NC, 2

36 όταν έχουν χαθεί μηνύματα τύπου T C, ή όταν τελειώσει η αλυσίδα b N C. Η αυθεντικότητα αυτών των μηνυμάτων ελέγχεται όπως και στα μηνύματα τύπου T e, συμπεριλαμβάνοντας στο μήνυμα τη σύνοψη του u μεταδιδόμενου κλειδιού, ενώ τα μηνύματα αυτά κρυπτογραφούνται επίσης με το ιδιωτικού κλειδί του παραλήπτη. Τέλος, τα μηνύματα TJ u χρησιμοποιούνται για τη μετάδοση του κλειδιού σύνδεσης στους νέους κόμβους που συνδέονται στο δίκτυο. Η δομή τους και η πιστοποίηση της αυθεντικότητάς τους είναι ίδια με τα μηνύματα τύπων 28 TE u και TC. u

37 3. Κρυπτογραφικές Συναρτήσεις σύνοψης Οι κρυπτογραφικές συναρτήσεις σύνοψης (Cryptographic Hash functions) είναι ντετερμινιστικές συναρτήσεις που δέχονται ένα οποιοδήποτε κομμάτι δεδομένων (μήνυμα / message), για το οποίο εξάγουν μια σειρά από bit σταθερού μεγέθους, τη σύνοψη (hash value, digest, message digest), για την οποία ισχύει πως κάποια αλλαγή στο μήνυμα, τυχαία η ηθελημένη, θα αλλάξει τη σύνοψη. Βασικά στοιχεία μιας κρυπτογραφικής συνάρτησης σύνοψης είναι τα εξής: Ο υπολογισμός της σύνοψης είναι εύκολος για κάθε μήνυμα. Είναι πρακτικά αδύνατο να βρεθεί ένα μήνυμα που δίνει μια δεδομένη σύνοψη. (preimage resistance) Είναι πρακτικά αδύνατο να τροποποιηθεί ένα μήνυμα χωρίς να αλλάξει η σύνοψή του. (second preimage resistance / weak collision resistance) Είναι πρακτικά αδύνατο να ευρεθούν δυο διαφορετικά μηνύματα με την ίδια σύνοψη. (collision resistance) Οι κρυπτογραφικές συναρτήσεις σύνοψης έχουν πολλές εφαρμογές σχετικές με την ασφάλεια δεδομένων, όπως σε ψηφιακές υπογραφές, messages authentication codes (MACs) και άλλες μορφές πιστοποίησης (authentication). Μπορούν επίσης να χρησιμοποιηθούν και σαν απλές συναρτήσεις σύνοψης - για κατάταξη δεδομένων σε πίνακες, σαν αποτυπώματα για την ταυτοποίηση αρχείων, ή για την εύρεση αλλοιωμένων δεδομένων. 29

38 3... Κατασκευή Merkle- Damgård Οι κρυπτογραφικές συναρτήσεις σύνοψης πρέπει να μπορούν να δεχτούν ένα μήνυμα τυχαίου μεγέθους, εξάγοντας μια σύνοψη σταθερού μεγέθους. Αυτό μπορεί να επιτευχθεί με το διαχωρισμό της εισόδου σε μια σειρά τμημάτων δεδομένων σταθερού μεγέθους, και την επεξεργασία αυτών σε σειρά. Η είσοδος σε κάθε στάδιο είναι η προηγούμενη έξοδος και το τρέχον τμήμα, ενώ η συνάρτηση που εκτελεί αυτή τη διαδικασία ονομάζεται συνάρτηση συμπίεσης (compression function). Στο τελευταίο τμήμα προστίθενται bits ώστε να φτάσει το μέγεθος των άλλων τμημάτων. Οι περισσότερες ευρέως χρησιμοποιούμενες συναρτήσεις σύνοψης έχουν αυτή τη μορφή [2]. Εικόνα 3: Κατασκευή Merkle- Damgård[3] 3

39 3.2. Secure Hash Algorithm Οι συναρτήσεις hash SHA (Secure Hash Algorithm) [] είναι ένα σύνολο από κρυπτογραφικές συναρτήσεις hash, σχεδιασμένες από την NSA και δημοσιευμένες από το NIST, σαν ένα ομοσπονδιακό στάνταρ επεξεργασίας πληροφορίας των Ηνωμένων Πολιτειών. Υπάρχουν τρεις αλγόριθμοι SHA, ονομαζόμενοι SHA-, SHA- και SHA-2 []. Η οικογένεια συναρτήσεων SHA-2 χρησιμοποιεί έναν αλγόριθμο, με μεταβλητό μέγεθος σύνοψης. Έτσι προκύπτουν τα ονόματα των συναρτήσεων αυτής, SHA22, SHA-2, SHA-38 και SHA-2, όπου ο αριθμός υποδηλώνει το μέγεθος της σύνοψης SHA- Η SHA- είναι η πιο διαδεδομένη συνάρτηση από την οικογένεια, και αποτελεί αναθεωρημένη εκδοχή της SHA-, η οποία αποσύρθηκε από την NSA λίγο μετά τη δημοσίευσή της λόγω ενός σφάλματος που μειώνει την κρυπτογραφική της ασφάλεια. Δέχεται μηνύματα μήκους ως 2- bits, τα επεξεργάζεται σε τμήματα των 2bits και παράγει σύνοψη μήκους bits, που αντιστοιχεί σε λέξεις των 32bits. Η κυρίως επεξεργασία γίνεται σε 8 κύκλους της συνάρτησης συμπίεσης (compression function), η οποία κάνει χρήση του αποτελέσματος του προηγούμενου κύκλου H H και ένα block του μηνύματος, ανεπτυγμένο σε 8 λέξεις W W9, επιστρέφοντας το αποτέλεσμα στις H H. Οι καλύτερες κρυπτογραφικές επιθέσεις που έχουν βρεθεί κατά του αλγορίθμου είναι των Xiaoyum Wang, Andrew Yao και Frances Yao [], που το 2 έδειξαν μια μέθοδο εύρεσης συγκρούσεων πολυπλοκότητας 23, και των Cameron McDonald, Philip Hawkes και Josef Pieprzyk [] που το 29 παρουσίασαν μια αντίστοιχη επίθεση πολυπλοκότητας 22. 3

40 3.2.. Προετοιμασία των δεδομένων Το πρώτο στάδιο της SHA- είναι η προσθήκη bits στο μήνυμα, ώστε να προκύψουν ακέραια τμήματα (blocks) των 2bits. Αρχικά προστίθεται ένα bit '' στο τέλος του μηνύματος και k '', όπου k ο μικρότερος φυσικός για τον οποίο, αν l είναι το μήκος του αρχικού μηνύματος, ισχύει: l k mod 2=8. Το μήνυμα συμπληρώνεται από τον αριθμό l, σε αναπαράσταση bit, συμπληρώνοντας έτσι το τελευταίο block. Αρχικοποιούνται οι μεταβλητές H H σε: H=23 H=efcdab89 H2=98badcfe H3=32 H=c3d2ef Και το μήνυμα χωρίζεται σε blocks των 2bits, M(), M(2),.., M(N). Compression Function (Συντελεστής Συμπίεσης) Η συνάρτηση αυτή εκτελείται για κάθε block i = ως N. Δημιουργείται το message schedule, που αποτελείται από 8 λέξεις, που προκύπτουν από το τρέχον block, ως εξής: { M it t W t= ROTL W t 3 W t 8 W t W t t 9 Όπου y ROTL x είναι η πράξη περιστροφής της λέξης x προς τα αριστερά κατά y bits και 32 ο τελεστής xor.

41 Αρχικοποιούνται οι προσωρινές μεταβλητές a, b, c, d, e με το αποτέλεσμα του προηγούμενου block: i a= H i / b= H Για κάθε κύκλο t, με i / c=h 2 i / d =H 3 i / e= H t 9 : T = ROTL a f t b, c, d e K t W t e=d d =c c=rotl 3 b b=a a=t Οι προσθέσεις είναι modulo 232. T είναι μια προσωρινή μεταβλητή. Kt μια σταθερά και ft(x,y,z) μια συνάρτηση των x,y,z, διαφορετικές για κάθε κύκλο t: { a82999 t 9 K t= ed9eba 2 t 39 8fbbcdc t 9 a82999 t 9 { Ch x, y, z = x y x z t 9 2 t 39 f t x, y, z = Parity x, y, z = x y z Maj x, y, z = x y x z y z t 9 Parity x, y, z = x y z t 99 Υπολογίζεται το αποτέλεσμα του block (οι προσθέσεις είναι modulo 232): Η i =a H i Η i =b H i Η i2 =c H 2i Η i3 =d H 3i i i Η =e H 33

42 Αποτέλεσμα Αφού γίνει επεξεργασία όλων των block, το αποτέλεσμα είναι το σύνολο της τελευταίας εξόδου: Ν Ν Ν Ν Ν Η Η Η 2 Η 3 Η 3

43 .... Κρυπτογραφία Γενικά Ο όρος κρυπτογραφία αναφέρεται στην πρακτική και στη μελέτη της απόκρυψης πληροφορίας. Οι αλγόριθμοι που πραγματοποιούν την κρυπτογράφηση ή την αποκρυπτογράφηση ενός μηνύματος είναι γνωστοί ως ciphers (διαφορετικοί των κωδίκων codes, που αναφέρονται σε πίνακες αντιστοίχησης λέξεων ή φράσεων σε τυχαίες συμβολοσειρές). Η κρυπτογραφία χρησιμοποιείται από τα αρχαία χρόνια για την ασφαλή μετάδοση ή αποθήκευση μηνυμάτων, αποτρέποντας την πρόσβαση σε αυτά ή μεταβολή αυτών από τρίτους. Οι κλασσικοί ciphers είχαν ως αρχή λειτουργίας την αντικατάσταση ή μεταφορά γραμμάτων, κάποιοι χρησιμοποιώντας μηχανικά μέσα. Οι μοντέρνοι ciphers χωρίζονται σε δυο βασικές κατηγορίες, τους συμμετρικούς και τους ασύμμετρους αλγορίθμους. Και οι δυο τύποι χρησιμοποιούν ένα η περισσότερες μεταβλητές, ονομαζόμενες κρυπτομεταβλητές (cryptovariables) ή κλειδιά (keys), οι οποίες αποτελούν είσοδο μαζί με τα δεδομένα στις διαδικασίες κρυπτογράφησης και αποκρυπτογράφησης, και αλλάζουν την ακριβή λειτουργία του αλγορίθμου [8]. Οι συμμετρικοί ciphers [9], χρησιμοποιούν μια μοναδική κρυπτομεταβλητή για την κρυπτογράφηση και την αποκρυπτογράφηση (ή δυο συναφείς κρυπτομεταβλητές, υπό την έννοια ότι ο υπολογισμός της μιας από την άλλη είναι απλή διαδικασία), η οποία πρέπει να είναι κρυφή σε τρίτους, γι' αυτό και η συμμετρική κρυπτογραφία ονομάζεται και κρυπτογραφία κρυφού κλειδιού (private key cryptography). Οι διαδικασίες κρυπτογράφησης και αποκρυπτογράφησης είναι κι αυτές συνήθως 3

44 παρόμοιες. Οι ασύμμετροι ciphers [2] χρησιμοποιούν δυο διαφορετικά κλειδιά, ένα κρυφό κι ένα που δημοσιεύεται. Η κρυπτογράφηση ενός μηνύματος μπορεί να γίνει με τη χρήση μόνο του δεύτερου, ενώ για την αποκρυπτογράφηση απαιτείται γνώση του κρυφού κλειδιού. Η ασύμμετρη κρυπτογραφία ονομάζεται και κρυπτογραφία δημοσίου κλειδιού (public key cryptography). 3

45 ..2. Αλγόριθμοι Συμμετρικής Κρυπτογραφίας Οι αλγόριθμοι συμμετρικής κρυπτογραφίας είναι μια κατηγορία αλγορίθμων κρυπτογραφίας που χρησιμοποιούν συναφή, ή συνήθως πανομοιότυπα κλειδιά για κρυπτογράφηση και αποκρυπτογράφηση. [9] Τα δυο κλειδιά είναι συναφή υπό την έννοια ότι ο υπολογισμός του ενός από το άλλο γίνεται με έναν απλό μετασχηματισμό, στην περίπτωση που δεν είναι ίδια. Τα κλειδιά αυτά, για την ασφαλή μετάδοση των κρυπτογραφημένων πληροφοριών, πρέπει να είναι μυστικά σε τρίτους. Οι αλγόριθμοι συμμετρικής κρυπτογραφίας χωρίζονται σε steam ciphers και block ciphers. Οι πρώτοι κωδικοποιούν ένα bit ή byte του μηνύματος κάθε φορά. Αναπτύσσουν το κλειδί κρυπτογράφησης σε μια ψευδοτυχαία συμβολοσειρά, της οποίας κάποιο ψηφίο κάθε φορά αναμιγνύεται με ένα ψηφίο του αρχικού μηνύματος για τον υπολογισμό του κρυπτογραφημένου ψηφίου (Synchronous stream ciphers), ενώ σε κάποιους από τους αλγορίθμους το κάθε ψηφίο που κωδικοποιείται εξαρτάται επίσης και από τα προηγούμενα ψηφία (Self-synchronizing stream ciphers). Οι δεύτεροι λειτουργούν πάνω σε σταθερά σύνολα από bits, ονομαζόμενα blocks. Δέχονται ως είσοδο ένα block δεδομένων, και το κωδικοποιούν χρησιμοποιώντας και το κλειδί κρυπτογράφησης, σε ένα ίσου μεγέθους block, ενώ η κρυπτογράφηση είναι αμετάβλητη μεταξύ των blocks. Συνηθέστερα μεγέθη block είναι τα bits και τα 28 bits. 3

46 ..3. Η Αλγόριθμοι Ασύμμετρης Κρυπτογραφίας ασύμμετρη κρυπτογραφία είναι μια αρκετά νέα μορφή κρυπτογραφίας, η οποία έχει μια βασική διαφοροποίηση από κάθε άλλη μορφή κρυπτογραφίας για την κρυπτογράφηση και αποκρυπτογράφηση ενός μηνύματος χρησιμοποιούνται δυο διαφορετικά κλειδιά. Βασική ιδιότητα των κλειδιών των αλγορίθμων αυτής της κλάσης είναι ότι ο υπολογισμός του κρυφού κλειδιού από το δημόσιο (και συχνά και το αντίστροφο) είναι πρακτικά αδύνατος. Η ιδιότητα αυτή λύνει ένα βασικό πρόβλημα που υπάρχει σε άλλες μορφές κρυπτογραφίας, την ανάγκη δηλαδή να συμφωνηθεί μεταξύ αποστολέα και παραλήπτη, ή γενικότερα μεταξύ των μελών που επιθυμούν να επικοινωνήσουν, ένα κοινό κλειδί, χωρίς να επιτραπεί σε τρίτους να το υποκλέψουν. Άλλη εφαρμογή της κρυπτογραφίας δημοσίου κλειδιού είναι η υλοποίηση μηχανισμού ψηφιακής υπογραφής, στην οποία ακολουθείται η αντίστροφη διαδικασία μέρος του μηνύματος κρυπτογραφείται με το κρυφό κλειδί του αποστολέα, και το αποτέλεσμα (υπογραφή) αποστέλλεται μαζί με το μήνυμα. Ο παραλήπτης αποκρυπτογραφεί το τμήμα αυτό με το δημόσιο κλειδί του αποστολέα, και ελέγχει την ταύτισή του με το μέρος του μηνύματος στο οποίο θα έπρεπε να αντιστοιχεί. Αν ταυτίζονται, σημαίνει ότι η υπογραφή έχει κρυπτογραφηθεί με το κρυφό κλειδί του αποστολέα, που μόνο αυτός γνωρίζει. Το βασικό ζήτημα στη χρήση της κρυπτογραφία δημοσίου κλειδιού είναι η επιβεβαίωση ότι κάποιο δημόσιο κλειδί ανήκει πράγματι σε αυτόν που υποτίθεται ότι ανήκει, και δεν έχει αντικατασταθεί από κάποιον τρίτο. Για τη λύση αυτού μπορεί, αναλόγως την εφαρμογή, τα δημόσια κλειδιά να έχουν μοιραστεί από πριν μέσω ενός ασφαλούς καναλιού, ή να χρησιμοποιηθεί μια υποδομή δημοσίων κλειδιών (Public Key Infrastructure, PKI), στην οποία τρίτοι, γνωστοί ως αρχές πιστοποίησης (certificate authority), πιστοποιούν την αυθεντικότητα των δημοσίων κλειδιών. 38

47 ..3. Διαφορές συμμετρικής και ασύμμετρης κρυπτογραφίας Η βασική διαφορά της ασύμμετρης από τη συμμετρική κρυπτογραφία είναι η χρήση διαφορετικού κλειδιού για κρυπτογράφηση και αποκρυπτογράφηση, τέτοια ώστε ο υπολογισμός του δεύτερου από το πρώτο να είναι πρακτικά αδύνατος. Αυτό δίνει τη δυνατότητα το κλειδί κρυπτογράφησης να μοιραστεί δημόσια, δίνοντας τη δυνατότητα σε οποιονδήποτε να κρυπτογραφήσει ένα μήνυμα προς τον ιδιοκτήτη των κλειδιών, χωρίς να μπορεί κάποιος τρίτος να εξάγει το αρχικό μήνυμα από το κρυπτογραφημένο. Το βασικό πλεονέκτημα των ασύμμετρων αλγορίθμων είναι η κατάργηση της ανάγκης ενός κρυφού κλειδιού. Ένα τέτοιο κλειδί στη συμμετρική κρυπτογραφία πρέπει να είναι γνωστό σε όλες τις ομάδες που θέλουν να επικοινωνήσουν, εφόσον δεν είναι αναγκαία η μυστικότητα μεταξύ των ομάδων. Σε αντίθετη περίπτωση, είναι απαραίτητο να υπάρχουν n(n-)/2 κλειδιά, όσα και τα δυνατά κανάλια επικοινωνίας, γνωστό το καθένα στις δυο ομάδες που αντιστοιχεί. Επιπροσθέτως, για μεγαλύτερη ασφάλεια από ανακάλυψη των κλειδιών από τρίτους, πρέπει να ανανεώνονται ανά τακτά διαστήματα, με ασφαλή τρόπο. Αντιθέτως, ως προς την ταχύτητα, οι συμμετρικοί αλγόριθμοι είναι εν γένει πολύ πιο γρήγοροι από αντίστοιχης ασφάλειας ασύμμετρους, πρακτικά εκατοντάδες έως χιλιάδες φορές πιο γρήγοροι. Ακόμα, το μήκος που απαιτείται να έχουν τα κλειδιά των συμμετρικών αλγορίθμων είναι επίσης πολύ μικρότερο από αυτό των κλειδιών της ασύμμετρης κρυπτογραφίας. 39

48 ..3.2 Υβριδικά συστήματα Σύγχρονα κρυπτοσυστήματα συνήθως χρησιμοποιούν συνδυασμό συμμετρικών και ασύμμετρων αλγορίθμων για τη λειτουργία τους. Ασύμμετροι αλγόριθμοι χρησιμοποιούνται στη αρχή μιας συνεδρίας για τη διανομή συμμετρικών κλειδιών, και μετά την επιτυχή διανομή των κλειδιών χρησιμοποιούνται οι γρηγορότεροι συμμετρικοί αλγόριθμοι για την κρυπτογράφηση των δεδομένων. Έτσι απλοποιείται η διαδικασία διαχείρισης κλειδιών, κωδικοποιημένα με καθώς για ασύμμετρους δεδομένα αλγόριθμους που είναι στέλνονται αναγκαίο να πιστοποιηθεί μόνο η αυθεντικότητά τους, καθώς η μυστικότητά τους είναι δεδομένη Δημιουργία κλειδιών Συνήθως χρησιμοποιούνται ψευδοτυχαίες γεννήτριες για την παραγωγή των συμμετρικών κλειδιών. Αναγκαία είναι όμως η ύπαρξη υψηλής εντροπίας στην αρχικοποίηση των γεννητριών, καθώς η έλλειψη τυχαιότητας μπορεί να οδηγήσει σε εύκολη εύρεση των κλειδιών [2]...3. Κατασκευή συμμετρικών αλγορίθμων Η κατασκευή συμμετρικών αλγορίθμων κρυπτογραφίας γίνεται συνήθως με τη χρήση Feistel ciphers. [22] feistel ciphers είναι ότι η Βασικό χαρακτηριστικό των διαδικασίες κρυπτογράφησης και αποκρυπτογράφησης μοιάζουν αρκετά, και σε κάποιες περιπτώσεις είναι απολύτως ίδιες, με ανάστροφη εφαρμογή των κλειδιών. Οι Feistel ciphers, ή Feistel networks (δίκτυα Feistel) είναι επαναλαμβανόμενοι αλγόριθμοι, με μια εσωτερική συνάρτηση, ονομαζόμενη συνάρτηση κύκλου (round function).

49 Αν έστω F η round function και K, K,.., KN τα υπο-κλειδιά για τους κύκλους,,.., Ν αντίστοιχα, η λειτουργία ενός Feistel cipher έχει ως εξής: Χωρίζονται τα δεδομένα σε δυο ίσα τμήματα, (L, R) Για κάθε κύκλο i=,,.., N, είναι: L i =Ri Ri = Li F Ri, K i Τελικά τα κρυπτογραφημένα δεδομένα είναι το (LN+, RN+) Η αποκρυπτογράφηση του (LN+, RN+) γίνεται αντιστρέφοντας τη διαδικασία: Για κάθε κύκλο i=ν, Ν-,..,, είναι Ri =Li Li =Ri F Li, K i Τελικά τα κρυπτογραφημένα δεδομένα είναι το (L, R) Η F δε χρειάζεται να είναι αντιστρέψιμη, ενώ όπως φαίνεται, η διαδικασία είναι ίδια, με μόνη διαφορά την αντιστροφή της σειράς που χρησιμοποιούνται τα υπο-κλειδιά στην αποκρυπτογράφηση. Οι Feistel ciphers μπορούν να γενικευτούν και στην περίπτωση που τα Li, Ri δεν είναι ίδιου μήκους ονομαζόμενοι unbalanced Feistel ciphers.

50 .2. Ο αλγόριθμος κρυπτογράφησης Skipjack Ο αλγόριθμος Skipjack [23], [2] είναι ένα block cipher, ανεπτυγμένο από την NSA για την αντικατάσταση του DES (Data Encryption Standard) [2]. Αρχικά ήταν απόρρητος, αλλά δημοσιεύτηκε στις 2 Ιουνίου του 998. Χρησιμοποιεί κλειδί των 8 bits για την κρυπτογράφηση και αποκρυπτογράφηση block δεδομένων των bits ενώ αποτελείται από ένα unbalanced Feistel network των 32 κύκλων. Μέσα σε μια μέρα από τη δημοσίευση του αλγορίθμου οι Eli Biham και Adi Shamir ανακάλυψαν μια κρυπταναλυτική επίθεση κατά των από του 32 κύκλους του αλγορίθμου, ενώ μετά από μερικούς μήνες, μαζί με τον Alex Biryukon την επέκτειναν σε 3 κύκλους, χρησιμοποιώντας impossible differential cryptanalysis [2]. Η κρυπτανάλυση αυτή παραμένει η καλύτερη κατά του skipjack μέχρι στιγμής. 2

51 .2.. Λειτουργία.2.. Βασική δομή Ο skipjack κρυπτογραφεί blocks των 8 bytes, που χωρίζει εσωτερικά σε λέξεις των 2 bytes (w ως w), σε 32 κύκλους χρησιμοποιώντας έναν από δυο κανόνες (A και Β) σε κάθε κύκλο. Οι κανόνες περιγράφονται από τις παρακάτω εξισώσεις, με k τον αριθμό του τρέχοντος κύκλου: Κρυπτογράφηση Rule A k Rule B k k k w =G w w counter w k2 =Gk w k k k w 3 =w 2 w k =w k3 k k k w =w w k2 =Gk w k k k k k w 3 =w w2 counter w k =w k3 Αποκρυπτογράφηση Κανόνας A- k k Κανόνας B- k w = G w 2 w k2 =w k3 k k w 3 =w w k =wk wk2 counter k k k k w = G w 2 w k2 = G k w k2 w k3 counter k k k w 3 =w w k =wk 3

52 Εικόνα : Σχηματική αναπαράσταση των κανόνων Α και Β Η κρυπτογράφηση γίνεται ως εξής: Για τον πρώτο κύκλο είναι k= και η είσοδος είναι w i, i. Σε κάθε κύκλο το k αυξάνεται κατά. Ο counter σε κάθε κύκλο ισούται με k+. Για τους 8 πρώτους κύκλους χρησιμοποιείται ο κανόνας Α. Για τους επόμενους 8 κύκλους χρησιμοποιείται ο κανόνας Β. Για τους επόμενους 8 κύκλους χρησιμοποιείται ο κανόνας Α. Για τους τελευταίους 8 κύκλους χρησιμοποιείται ο κανόνας Β. Το τελικό αποτέλεσμα είναι w 32 i, i. Η αποκρυπτογράφηση γίνεται ως εξής: Για τον πρώτο κύκλο είναι k=32 και η είσοδος είναι Σε κάθε κύκλο το k μειώνεται κατά. O counter σε κάθε κύκλο ισούται με k. 32 w i, i.

53 Για τους 8 πρώτους κύκλους χρησιμοποιείται ο κανόνας Β-. Για τους επόμενους 8 κύκλους χρησιμοποιείται ο κανόνας Α-. Για τους επόμενους 8 κύκλους χρησιμοποιείται ο κανόνας Β-. Για τους τελευταίους 8 κύκλους χρησιμοποιείται ο κανόνας Α-. Το τελικό αποτέλεσμα είναι.2..2 Η w i, i. Συνάρτηση G συνάρτηση εξαρτώμενη από G την είναι μια δομή κρυπτομεταβλητή Feistel τεσσάρων (cryptovariable κύκλων, / κλειδί κρυπτογράφησης). Η συνάρτηση κύκλου F είναι ένας σταθερός πίνακας αντικατάστασης ενός byte, καλούμενος F-table. Η G ορίζεται ως: G k w=g g 2 =g g, όπου αριθμός κύκλου και g i =F g i cv k i 3 g i 2, k είναι ο cv k i 3 είναι το (k+i-3)ό του χρονοδιαγράμματος της κρυπτομεταβλητής. Παρομοίως η G- ορίζεται ως: k G w=g g =g g 2 όπου g i 2=F g i cv k i 3 g i.

54 Εικόνα : Σχηματική αναπαράσταση των Gk και [Gk]- H κρυπτομεταβλητή είναι μήκους bytes ( ως 9), τα οποία χρησιμοποιούνται με τη σειρά και σε κύκλο. Έτσι το προς χρήση byte της κρυπτομεταβλητής προκύπτει από τους δείκτες του χρονοδιαγράμματος modulo.

55 Ο πίνακας αντικατάστασης F δίνεται παρακάτω: X x x2 x3 x x x x x8 x9 xa xb xc xd xe xf x a3 d 9 83 f8 8 f f b b af f9 x e 2d d 8a ce c ca 2e 2 9 d9 e e x a df 2 a f 8 2 b a c3 c9 3x 9 8 b ba f2 3 9a 9 c ae e f x 39 b b f fa 3d 3 f a a2 c 93 8 b ee b a ea d 9 2f b8 x b9 da 8 3f bf e a 8 8 f b d8 9 x 3 d e a d 98 9b x 9 fc b2 c2 b fe df 2 e eb d e dd a d 8x 2 ed 9c e 9 3c cd 3 2 d2 d de c 8 9x 89 cb 3 f 8d c Ax 88 2c 8f aa c8 dc c9 d c 3 a 9f d 2b d 3 Bx 3 b c 3 d c fd 3b cc fb f ab e 3e b a Cx ad 23 9c 22 f 29 9 e Dx c ef ff 8c e e2 bc 2 f 3 a ec d3 8e 2 8b 8 e8 Ex 8 be 92 f 2 c d cf f3 a bb ac xf e c a9 3 2 b e3 bd a8 3a 9 2a Πίνακας 2: πίνακας αντικατάστασης F Όπου τα ψηλά bits του δείκτη δίνουν τη γραμμή και τα χαμηλά bits τη στήλη.

56 . Το λειτουργικό σύστημα CONTIKI Το contiki [2], [28] είναι ένα λειτουργικό σύστημα ανοιχτού κώδικα, γραμμένο στη γλώσσα C, για ενσωματωμένα συστήματα και ασύρματα δίκτυα αισθητήρων (Wireless Sensor Networks). Σημαντικά στοιχεία του είναι η αποδοτική χρήση της μνήμης και η υψηλή φορητότητα μεταξύ πλατφορμών υλικού. Αποτελείται από έναν event-driven πυρήνα, πάνω στον οποίο μπορούν να φορτώνονται-εκφορτώνονται διεργασίες κατά την εκτέλεση. Οι διεργασίες χρησιμοποιούν protothreads, τα οποία είναι ουσιαστικά νήματα (threads) χωρίς αυτόνομη στοίβα, και παρέχουν ένα πολυνηματικό προγραμματιστικό περιβάλλον χωρίς την ανάγκη δέσμευσης πολλών πόρων. Είναι σχεδιασμένο για μικροελεγκτές με λίγη μνήμη. Ένα τυπικό σύστημα που τρέχει contiki μπορεί να έχει περίπου 2kB RΑΜ και kb ROM. Για δικτύωση, μπορεί να χρησιμοποιηθεί τόσο το πρωτόκολλο Rime, που αναπτύχθηκε για το contiki, όσο και τα καθιερωμένα πρωτόκολλα TCP/IP και UDP/IP, με χρήση της υλοποίησης uip [29], που είναι σχεδιασμένη ειδικά για 8bit μικροελεγκτές με περιορισμένη μνήμη, και υλοποιεί το μικρότερο δυνατό σύνολο χαρακτηριστικών που απαιτούνται για πλήρη επικοινωνία μέσω TCP/IP. Για τη μεγιστοποίηση της αυτονομίας των αισθητήρων, το contiki παρέχει ένα μηχανισμό profiling για την εύρεση των χαρακτηριστικών κατανάλωσης ενέργειας κάθε κόμβου. Αυτό μπορεί να χρησιμοποιηθεί τόσο για την αξιολόγηση της ενεργειακής συμπεριφοράς πρωτοκόλλων, όσο και την εκτίμηση της διάρκειας ζωής των κόμβων. Για την αποθήκευση πληροφοριών, το contiki παρέχει ένα flash- 8

57 based σύστημα αρχείων, το Coffee [3]. Αυτό επιτρέπει τη συνύπαρξη πολλών αρχείων σε μια μνήμη flash ενώ οι επιδόσεις του προσεγγίζουν αυτές της χρήσης της μνήμης flash χωρίς σύστημα αρχείων. Για την ανάπτυξη εφαρμογών και το debugging, παρέχει τρεις διαφορετικούς εξομοιωτές (MSPsim, netsim process level simulator, Cooja cross-layer network simulator), που λειτουργούν σε διαφορετικά επίπεδα, για τη διευκόλυνση κάθε σταδίου παραγωγής εφαρμογών.... Η στοίβα πρωτόκολλων Rime Η στοίβα πρωτοκόλλων επικοινωνίας Rime [3],[32] είναι ένα σύνολο ελαφρών (lightweight) θεμελιακών στοιχείων (primitives) επικοινωνίας, που κυμαίνονται από ανώνυμη γειτονική μετάδοση (local broadcast) (flooding) βέλτιστης του δικτύου. προσπάθειας, Είναι ως σχεδιασμένο αξιόπιστο για πλημμύρισμα κατανάλωση λίγης ενέργειας, ενώ τα πακέτα TCP/IP κινούνται εσωτερικά σε ένα δίκτυο αισθητήρων που λειτουργεί με contiki, διοχετευμένα σε πακέτα Rime. Τα πρωτόκολλα στη στοίβα Rime είναι υλοποιημένα σε στρώματα, δηλαδή τα πιο πολύπλοκα πρωτόκολλα είναι βασισμένα στα απλούστερα. Η στοίβα διαθέτει τόσο single hop όσο και multi hop πρωτόκολλα. Τα δεύτερα δεν έχουν ενσωματωμένο κάποιο μηχανισμό δρομολόγησης, αλλά καλούν την εφαρμογή ή κάποιο πρωτόκολλο ανώτερου επιπέδου για την εύρεση του επόμενου κόμβου. Αυτό επιτρέπει τη χρήση ενός οποιουδήποτε πρωτοκόλλου δρομολόγησης πάνω από αυτά. Η αρχιτεκτονική της στοίβας επίσης επιτρέπει την εύκολη επέκτασή της με επιπλέον πρωτόκολλα, τα οποία μπορούν να υλοποιηθούν πάνω σε κάποιο από τα ήδη υπάρχοντα. Κάποια από τα βασικά πρωτόκολλα της στοίβας Rime είναι: 9

58 Anonymous best-effort local area broadcast (abc module). Το πρωτόκολλο αυτό στέλνει πακέτα ανώνυμα σε όλους τους γείτονες του κόμβου Announcements (announcement module). Το πρωτόκολλο αυτό στέλνει ζευγάρια κλειδιού-τιμής στους γείτονες του κόμβου Best-effort local are broadcast (broadcast module). Στέλνει πακέτα στους γείτονες του κόμβου με κεφαλίδα που δηλώνει τον αποστολέα. Tree-based hop-by-hop reliable data collection (collect module). Υλοποιεί ένα hop-by-hop μηχανισμό συλλογής δεδομένων Callback time (ctimer module).υλοποιεί ένα μηχανισμό χρονομετρητή που καλεί μια συγκεκριμένη συνάρτηση C όταν αυτός λήξει. Ipolite best effort local broadcast (ipolite module). Στέλνει ένα πακέτο στους γείτονες του κόμβου ανά συγκεκριμένο χρονικό διάστημα. Mesh routing (mesh module). Στέλνει πακέτα χρησιμοποιώντας multi hop δρομολόγηση σε συγκεκριμένο παραλήπτη μέσα στο δίκτυο. Best-effort multihop forwarding (multihop module). Υλοποιεί ένα μηχανισμό προώθησης μεταξύ κόμβων Neighbor discovery (neighbor-discovery module). Υλοποιεί ένα μηχανισμό περιοδικής εύρεσης γειτόνων Rime neighbor management (neighbor module). Διαχειρίζεται τον πίνακα γειτόνων του κόμβου Best-effort network flooding (netflood module). Πραγματοποιεί πλημμύρισμα του δικτύου (βέλτιστης προσπάθειας) Rime buffer management (packetbuf module). Διαχειρίζεται τα

59 buffers του Rime Packet queue (packetqueue module). Διαχειρίζεται μια ουρά πακέτων. Rime polite announcement (polite-announcement module). Υλοποιεί περιοδικές ανακοινώσεις. Polite anonymous best effort local broadcast (polite module). Στέλνει ένα τοπικό πακέτο ανά συγκεκριμένο χρονικό διάστημα. Rime queue buffer management (queuebuf module). Διαχειρίζεται buffers που βρίσκονται σε ουρά Rime addresses (rimeaddr module). Είναι μια αφηρημένη αναπαράσταση διευθύνσεων στο Rime. Rime route discovery protocol (route-discovery module). Πραγματοποιεί εύρεση δρομολόγησης. Rime route table (route module). Διαχειρίζεται τον πίνακα δρομολογήσεων του Rime Single-hop reliable bulk data transfer (rudolph module). Υλοποιεί ένα μηχανισμό αξιόπιστης single-hop μεταφοράς δεδομένων. Multi-hop reliable bulk data transfer (rudolph module). Υλοποιεί ένα μηχανισμό αξιόπιστης multi-hop μεταφοράς δεδομένων. Single-hop reliable unicast (runicast module). Υλοποιεί αξιόπιστη single-hop μεταφορά πακέτων. Stubborn best-effort local are broadcast (stbroadcast module). Πραγματοποιεί πεισματάρικη μετάδοση πακέτου στους γείτονες του κόμβου. Stubborn unicast (stunicast module). Στέλνει συνεχόμενα ένα πακέτο σε έναν γείτονα. Reliable single-source multi-hop flooding (trickle module). Στέλνει

60 ένα πακέτο σε όλους τους κόμβους του δικτύου. Single-hop unicast (unicast module). συγκεκριμένο γείτονα του κόμβου. 2 Στέλνει πακέτο σε

61 . TelosB Hardware Platform Το TelosB [33] είναι μια πλατφόρμα υλικού ανοιχτού κώδικα για ασύρματα δίκτυα αισθητήρων, ανεπτυγμένη από την Crossbow. Βασικά χαρακτηριστικά του αποτελούν: USB συνδεσιμότητα, που μπορεί να χρησιμοποιηθεί τόσο για προγραμματισμό του υλικού, όσο και για συλλογή δεδομένων και εν γένει επικοινωνία με υπολογιστικά συστήματα πομποδέκτης συμβατός με το στάνταρ IEEE 82.., που λειτουργεί σε συχνότητες 2. ως 2.83GHz, ενώ έχει δυνατότητα μετάδοσης δεδομένων με ρυθμό 2kbps μικροελεγκτής Texas Instruments MSP3, αρχιτεκτονικής bit, με συχνότητα λειτουργίας 8MHz και ενσωματωμένη μνήμη RAM kb εξωτερική μνήμη flash χωρητικότητας MB, για αποθήκευση δεδομένων χαμηλή κατανάλωση ενέργειας Εικόνα : ένα TelosB mote [33] 3

62 Εικόνα : Χαρακτηριστικά του TelosB

63 Υλοποίηση του S2RP... Γενικά Σαν στόχος τίθεται η υλοποίηση κώδικα που τρέχει πάνω στο hardware των telosb motes και υλοποιεί τις λειτουργίες του πρωτοκόλλου S2RP και δίνει τη δυνατότητα κρυπτογραφημένης επικοινωνίας στους κόμβους του δικτύου. Για τη λειτουργία του κώδικα απαιτείται η χρήση συναρτήσεων σύνοψης, καθώς και αλγορίθμων συμμετρικής κρυπτογραφίας. Επιπλέον, για την εφαρμογή του σε ένα δίκτυο απαιτείται ένας αλγόριθμος δρομολόγησης για τα πακέτα που διακινούνται μέσα στο δίκτυο. Τέλος, ο κώδικας του S2RP χωρίζεται λογικά σε δυο τμήματα, όπου στο ένα βρίσκονται οι συναρτήσεις που αφορούν τις λειτουργίες του KMS και στο δεύτερο οι συναρτήσεις που αφορούν τις λειτουργίες των υπολοίπων κόμβων. Ως συνάρτηση σύνοψης επιλέχθηκε η SHA- της οικογένειας SHA (Secure Hash Algorithm). Κριτήρια για την επιλογή συνάρτησης σύνοψης είναι η ασφάλεια που παρέχει, το μήκος των συνόψεων που παράγει, καθώς και η απόδοσή της ως προς την υπολογιστική ισχύ που απαιτεί. Ως προς την ασφάλεια, για την SHA- έχουν βρεθεί κάποιες επιθέσεις, που μειώνουν την πολυπλοκότητα της εύρεσης σύγκρουσης (collision) δυο συνόψεων σε 22, που όμως είναι ακόμα πρακτικά αρκετά ασφαλές για την εφαρμογή, δεδομένου του περιορισμένου μήκους σύνοψης που απαιτείται, για την ελαχιστοποίηση της επικοινωνιακής επιβάρυνσης κατά τη μετάδοση των κλειδιών. Τέλος, ο υπολογισμός συνόψεων SHA-, παρότι μη αμελητέος, είναι εφαρμόσιμος στα περιορισμένων πόρων ενσωματωμένα συστήματα που απευθύνεται το S2RP. Για την κρυπτογράφηση των μηνυμάτων που μεταδίδονται μέσα στο δίκτυο, επιλέχθηκε ο αλγόριθμος Skipjack, καθώς πληροί τις αναγκαίες

64 προϋποθέσεις μιας τέτοιας εφαρμογής, δηλαδή την επαρκή ασφάλεια, τον γρήγορο υπολογισμό και την υποστήριξη μικρών κλειδιών και block δεδομένων. Ως προς την ασφάλεια, αυτή είναι των 8 bits ενώ δεν έχει βρεθεί αποτελεσματική επίθεση κατά του πλήρους αλγορίθμου του Skipjack (32 κύκλοι). Έχει αρκετά μικρό μέγεθος κλειδιού 8bits, και υποστηρίζει blocks δεδομένων bits, περιορίζοντας τις ανάγκες σε μνήμη και την αύξηση μεγέθους των μηνυμάτων λόγω μεγάλων κβάντων δεδομένων. Τέλος ο αλγόριθμος είναι αρκετά απλός και γρήγορος στον υπολογισμό, ενώ δεν απαιτεί κάποια αρχική ρύθμιση των προς χρήση κλειδιών, όπως π.χ. Ο AES. [3] Η δρομολόγηση των πακέτων επιλέχθηκε για τις ανάγκες της εργασίας να είναι στατική, δηλαδή ένα πακέτο από έναν κόμβο έναν κόμβο sy sx προς φτάνοντας σε έναν εσωτερικό κόμβο προωθείται σε κάποιον σταθερό παραλήπτη, τον πρόγονο ή έναν από τους απογόνους του.

65 .2. Πρώτο στάδιο υλοποίησης, μερική εξομοίωση Για την υλοποίηση του S2RP δεν παράγεται απ' ευθείας κώδικας προοριζόμενος για εφαρμογή στα motes, αλλά γίνεται σταδιακή σχεδίαση. Το πρώτο στάδιο είναι η παραγωγή των συναρτήσεων του S2RP και η ενσωμάτωσή τους σε ένα πρόγραμμα εξομοίωσης ενός δικτύου. Στόχος αυτού είναι μια πρώτη επαλήθευση της λειτουργίας της υλοποίησης. Η λειτουργία του δικτύου, για την εξομοίωση, μοντελοποιείται ως εξής: Καλείται μια λειτουργία κάποιου κόμβου. Η λειτουργία εκτελεί κάποιες αλλαγές στα σχετικά με το S2RP δεδομένα του κόμβου και στέλνει κάποια πακέτα σε άλλους κόμβους. Ένας κόμβος στον οποίο έχει σταλεί πακέτο εκτελεί μια συνάρτηση λήψης και επεξεργασίας αυτού του πακέτου, και πιθανώς στέλνει κάποια πακέτα σε άλλους κόμβους. Το τελευταίο βήμα εκτελείται μέχρι να τελειώσουν τα προς επεξεργασία πακέτα. Για να επιτευχθεί αυτό, αρχικά γίνεται η παραγωγή βιβλιοθηκών για για τις συναρτήσεις κρυπτογράφησης και σύνοψης. Έπειτα ορίζονται οι τύποι και οι δομές δεδομένων που θα χρησιμοποιούνται από το πρωτόκολλο. Τέλος, πάνω σ' αυτά υλοποιούνται σταδιακά οι συναρτήσεις του S2RP, του KMS και των υπολοίπων κόμβων, κοινές συναρτήσεις, καθώς και βοηθητικές συναρτήσεις για την εξομοίωση.

66 .2.. Συναρτήσεις κρυπτογράφησης και σύνοψης Πρώτο βήμα στην υλοποίηση είναι η παραγωγή κώδικα για τις στοιχειώδεις λειτουργίες της κρυπτογράφησης δεδομένων και της εξαγωγής συνόψεων, που απαιτούνται για τη λειτουργία του S2RP. Η υλοποίηση του αλγορίθμου skipjack που αναλαμβάνει την κρυπτογράφηση και αποκρυπτογράφηση δεδομένων στην εφαρμογή έχει σαν βασική διεπαφή με το υπόλοιπο πρόγραμμα τις συναρτήσεις jackenc και jackdec, που δέχονται ως ορίσματα δείκτες στα δεδομένα και στο κλειδί που θα χρησιμοποιηθεί. Τα δεδομένα εξόδου γράφονται πάνω στα δεδομένα εισόδου, καθώς αυτή η προσέγγιση μειώνει τις απαιτήσεις σε μνήμη, ενώ στην εφαρμογή δεν απαιτείται να κρατούνται τα αρχικά δεδομένα μετά την κρυπτογράφηση, ή το αντίστροφο. Έτσι η διεπαφή του αλγορίθμου skipjack με την εφαρμογή είναι διαμορφώνεται ως εξής: void jackenc(uint8_t* data,uint8_t* key); void jackdec(uint8_t* data,uint8_t* key); Και οι δυο αποτελούνται από 32 κλήσεις στις συναρτήσεις που εκτελούν έναν κύκλο του αλγορίθμου skipjack, εναλλάσσοντας ανά 8 κύκλους μεταξύ των κανόνων A και B. Οι βρόχοι που καλούν τις συναρτήσεις αυτές είναι ανεπτυγμένοι (unrolled) καθώς αυτό αυξάνει κάπως την ταχύτητα της υλοποίησης. Τα ενδιάμεσα δεδομένα που επεξεργάζονται αυτές οι συναρτήσεις είναι στατικά στις συναρτήσεις. Εναλλακτικά θα μπορούσαν να δημιουργούνται δυναμικά σε κάθε κλήση (απο)κρυπτογράφησης, δίνοντας τη δυνατότητα για παράλληλες κλήσεις αυτών, αλλά καθώς αυτό δεν απαιτείται στο πλαίσιο της εργασίας, επιλέχθηκαν τα στατικά δεδομένα λόγω μεγαλύτερης απόδοσης. Στην υλοποίηση της κρυπτογραφικής συνάρτησης σύνοψης SHA- η 8

67 διεπαφή με την εφαρμογή ορίζεται ως: void sha(uint8_t* msg, size_t len, uint8_t* digest); Όπου οι παράμετροι εισόδου είναι ένας δείκτης στα δεδομένα για τα οποία θα εξαχθεί η σύνοψη, το μήκος των δεδομένων, και τέλος ένας δείκτης στη θέση που θα γραφτεί η σύνοψη. Εσωτερικά αυτή η συνάρτηση χωρίζεται στην αρχικοποίηση των δεδομένων, στην κύρια διαδικασία του υπολογισμού και την εγγραφή των δεδομένων στην έξοδο. Το κύριο μέρος της συνάρτησης εφαρμόζεται πάνω σε κομμάτια δεδομένων των 2bits, ενώ τα αποτελέσματα αποθηκεύονται σε πέντε μεταβλητές των 32bit, και αποτελούν είσοδο για το επόμενο τρέξιμο της διεργασίας, για τα επόμενα 2bits Βασικές δομές δεδομένων πρωτοκόλλου S2RP Αρχικά, καθορίζονται βασικές δομές, τις οποίες θα χρησιμοποιήσει η υλοποίηση του S2RP. Για τα κλειδιά που περιέχονται στις αλυσίδες κλειδιών, και προκύπτουν από την εφαρμογή της συνάρτησης σύνοψης SHA-, ορίζεται μια δομή με μοναδικό μέλος έναν πίνακα από 2 bytes: #define HASHKEYLENGTH 2 struct hashkey { uint8_t data[hashkeylength]; }; Υπάρχει όμως ακόμα κι ένα δεύτερο είδος κλειδιών, το οποίο χρησιμοποιείται για την κρυπτογράφηση και αποκρυπτογράφηση των δεδομένων, μέσω του αλγορίθμου skipjack. Τα κλειδιά που χρησιμοποιεί ο τελευταίος είναι μήκους bytes, έτσι η αντίστοιχη δομή στον κώδικα είναι της μορφής: 9

68 #define SYMKEYLENGTH struct symkey { uint8_t data[symkeylength]; }; Για τη λειτουργία του πρωτοκόλλου απαιτείται και μια δομή για τα πακέτα που θα μεταφέρονται μέσα στο δίκτυο. Για την υλοποίησή μας επιλέχθηκε η δρομολόγηση να είναι έντονα συζευγμένη με την ασφάλεια, που παρέχει το S2RP, καθώς ούτως ή άλλως το S2RP χρειάζεται να διατηρεί αρκετές πληροφορίες για τη δομή του δικτύου για τη λειτουργία του. Έτσι για τα πακέτα χρησιμοποιείται μια ενιαία επικεφαλίδα (header) που περίεχει όλες τις πληροφορίες που πρέπει να συνοδεύουν τα δεδομένα ώστε να γίνει σωστή επεξεργασία τους στον παραλήπτη. Αυτά είναι: η διεύθυνση του αποστολέα και του παραλήπτη, μεγέθους ενός byte, καθώς στο πλαίσιο της εργασίας δεν απαιτείται κάτι μεγαλύτερο. Ο τύπος του μηνύματος, μήκους ενός byte, που είναι πληροφορία του επιπέδου του S2RP και καθορίζει αν το μήνυμα περιέχει δεδομένα, ή κάποια από τις εντολές του S2RP (και ποια από αυτές). Ο αριθμός του κλειδιού με το οποίο είναι κρυπτογραφημένο το μήνυμα. Ουσιαστικά είναι η διεύθυνση του εσωτερικού κόμβου, στον οποίο αντιστοιχεί ένα τρέχον κλειδί, το οποίο χρησιμοποιείται για την κρυπτογράφηση του μηνύματος. Η παράμετρος αυτή χρησιμοποιείται τόσο για μηνύματα δεδομένων, όσο και για τις περισσότερες από τις εντολές του S2RP. Μια μεταβλητή ενός byte που περιέχει επιπλέον πληροφορίες για το μήνυμα σε καθορισμένα bit, όπως το αν πρόκειται για μήνυμα απλής ή πολλαπλής μετάδοσης (broadcast ή unicast). Το μήκος των δεδομένων που περιλαμβάνει το πακέτο, σε bytes, που αποθηκεύεται σε μεταβλητή ενός byte. Έτσι ο τύπος του πακέτου καθορίζεται ως εξής:

69 struct packet { uint8_t type; uint8_t length; uint8_t from; uint8_t to; uint8_t keyindex; uint8_t flags; uint8_t data[packet_length_max]; }; Τέλος, χρειάζονται δομές για την αποθήκευση των πληροφοριών στους κόμβους. Οι δομές αυτές θα είναι διαφορετικές για το KMS και για τους υπόλοιπους κόμβους του δικτύου, καθώς οι πληροφορίες που διατηρούν διαφέρουν αρκετά μεταξύ τους. Το KMS για κάθε κόμβο πρέπει να διατηρεί τις εξής πληροφορίες: Τη διεύθυνση του κόμβου το είδος του κόμβου (εσωτερικός ή εξωτερικός-αισθητήρας) τον πρόγονο του κόμβου στο δίκτυο τους απογόνους του κόμβου στο δίκτυο το ιδιωτικό κλειδί του κόμβου (για τους εξωτερικούς κόμβους) την αντίστοιχη αλυσίδα κλειδιών (για τους εσωτερικούς κόμβους) Η αποθήκευση ολόκληρων των αλυσίδων κλειδιών για κάθε εσωτερικό κόμβο σε ένα ενσωματωμένο σύστημα όπως το telosb είναι ανέφικτη. Μια λύση είναι αυτές να αποθηκευτούν σε ένα συνδεδεμένο με το KMS υπολογιστικό σύστημα μεγαλύτερων δυνατοτήτων, κάτι που είναι επιτρεπτό στα σενάρια λειτουργίας του S2RP, καθώς το KMS είναι μοναδικό και θα βρίσκεται σε κλειστό και προστατευμένο χώρο. Μια δεύτερη λύση είναι η χρήση δευτερεύουσας μνήμης, όπως η flash του telosb, που είναι αρκετά μεγαλύτερη της RAM αυτού. Αυτή είναι και η προσέγγιση που ακολουθήθηκε στην εργασία, όπως θα αναφερθεί και παρακάτω.

70 Έτσι, η δομή που διατηρεί το KMS για κάθε κόμβο είναι η εξής: #define NODE_TYPE_INTERNAL #define NODE_TYPE_SENSOR struct listnode { unsigned char id; struct symkey privkey; struct hashkey fkey; struct symkey skey; unsigned char numchilds; struct listnode *parent; struct listnode *childs[childspernode]; unsigned char nodetype; unsigned char routelength; unsigned char routepath[path_length_max]; }; Όπου id είναι η διεύθυνση του κόμβου, privkey είναι το ιδιωτικό κλειδί του κόμβου (για τους εξωτερικούς κόμβους), fkey είναι τρέχουσα κεφαλή της αλυσίδας κλειδιών που αντιστοιχεί στον κόμβο (για τους εσωτερικούς κόμβους), skey είναι το συμμετρικό κλειδί, που προκύπτει από τον συνδυασμό του fkey και του τρέχοντος κλειδιού σύνδεσης του δικτύου, numchilds ο αριθμός απογόνων του κόμβου στο δέντρο, childs ο πίνακας δεικτών στις δομές των απογόνων του κόμβου, nodetype το είδος του κόμβου (εσωτερικός ή εξωτερικός) routelength η απόσταση σε κόμβους από το KMS, και routepath πίνακας με τη διαδρομή από το KMS στον κόμβο. Αρκετές από αυτές τις πληροφορίες μπορούν να υπολογίζονται όταν χρειαστεί και να μην είναι μόνιμα αποθηκευμένες στο KMS, αλλά στην υλοποίηση της εργασίας επιλέχθηκε αυτή η προσέγγιση, καθώς οι περιορισμοί στη μνήμη δεν ήταν δεσμευτικοί. Στους υπόλοιπους κόμβους του δικτύου θα χρησιμοποιηθεί μια δομή που θα περιέχει όλες τις πληροφορίες για τη λειτουργία του κόμβου αυτού. Αυτές είναι: 2 το αναγνωριστικό (identifier) του κόμβου ο τύπος του κόμβου (εσωτερικός, εξωτερικός)

71 το ιδιωτικό κλειδί του κόμβου το τρέχον κλειδί σύνδεσης του δικτύου το τρέχον κλειδί εντολής το σύνολο των τρεχόντων κλειδιών που βρίσκονται στη διαδρομή από το KMS ως τον κόμβο το σύνολο των συμμετρικών κλειδιών, που προκύπτουν από το συνδυασμό των ανωτέρω κλειδιών με το κλειδί σύνδεσης τα αναγνωριστικά των κόμβων στη διαδρομή από το KMS ως τον κόμβο τα αναγνωριστικά των απογόνων του κόμβου έναν πίνακα δρομολόγησης, με τον πρώτο ενδιάμεσο προορισμό για κάθε πιθανό τελικό προορισμό έναν πίνακα με τα κλειδιά που είναι κοινά μεταξύ του κόμβου και των υπολοίπων κόμβων, ώστε να μπορεί να επιλεχθεί ένα κατάλληλο κλειδί για την επικοινωνία ουσιαστικά έναν πίνακα με τους εκάστοτε μέγιστους κοινούς προγόνους μεταξύ του κόμβου και των υπολοίπων Έτσι η δομή που θα περιέχει τις πληροφορίες για τη λειτουργία κάθε κόμβου, πλην του KMS, διαμορφώνεται ως εξής: struct nodeinfo { uint8_t id; uint8_t nodetype; struct symkey privkey; struct hashkey joinkey; struct hashkey commandkey; struct hashkey fkeyset[path_length_max]; struct symkey skeyset[path_length_max]; uint8_t routelength; uint8_t routepath[path_length_max]; uint8_t parent; uint8_t childs[childspernode]; uint8_t subtreeroots[nodes_max]; 3

72 uint8_t routelist[nodes_max]; };.2..3 Τρόπος λειτουργίας της υλοποίησης Το βασικό μοντέλο λειτουργίας της εφαρμογής σε κάθε κόμβο συνοψίζεται σε δυο διαδικασίες. Στην πρώτη λαμβάνεται ένα μήνυμα στον κόμβο, αν χρειάζεται γίνεται αποκρυπτογράφηση, αναγνωρίζεται ο τύπος του μηνύματος, καλείται η κατάλληλη συνάρτηση που εκτελεί τις απαραίτητες ενέργειες στα δεδομένα του κόμβου και στέλνει ίσως ένα ή περισσότερα μηνύματα σε άλλους κόμβους. Εναλλακτικά, επιλέγεται απ' ευθείας από το χρήστη ή άλλο εξωτερικό παράγοντα να κληθεί μια συνάρτηση, η οποία εκτελεί ενέργειες στα δεδομένα του κόμβου και ίσως στέλνει μηνύματα σε άλλους κόμβους. Εικόνα 8: μοντέλο κλήσεων

73 Για το KMS η συνάρτηση που καλεί την αποκρυπτογράφηση των εισερχόμενων πακέτων, τα επεξεργάζεται και καλεί την κατάλληλη λειτουργία είναι η: int kmsreceivepacket(); Οι λειτουργίες που μπορούν να εκτελεστούν είναι, εκτός από την αποστολή κρυπτογραφημένων δεδομένων, η διαγραφή ενός κόμβου από το δίκτυο (μέσω αλλαγής κλειδιών), η προσθήκη ενός κόμβου στο δίκτυο, και η ανανέωση του κλειδιού εισόδου: int int int int kmssenddata(struct packet *pkt); kmschangejoinkey(); kmsremovenode(struct listnode *node); kmsaddnode(struct packet *pkt); Επιπλέον ορίζονται συναρτήσεις υψηλού επιπέδου, που εκτελούνται σαν μέρος των προηγούμενων λειτουργιών υπάρχουν για την αποστολή κλειδιών εσωτερικών κόμβων και κλειδιού σύνδεσης, σε unicast καθώς και σε broadcast, που αντιστοιχούν στα μηνύματα τύπων T J (Ο πέμπτος τύπος μηνύματος u Te, Te, TC b u u και T C καλύπτεται ουσιαστικά στη b συνάρτηση kmschangejoinkey()): int int int int kmssendfkey(uint8_t keytochange); kmssendfkeyunicast(uint8_t keytosend, uint8_t tonode); kmssendcommandkeyunicast(uint8_t tonode); kmssendjoinkeyunicast(uint8_t tonode); Στους υπόλοιπους κόμβους του δικτύου υπάρχει η αντίστοιχη συνάρτηση: int nodereceivepacket(); που καλεί την κατάλληλη λειτουργία. Οι διαθέσιμες λειτουργίες γι' αυτούς τους κόμβους είναι η προώθηση του πακέτου σε έναν ή περισσότερους κόμβους και η επεξεργασία μηνυμάτων των τύπων Te, b

74 Te, TC, u u T J και u TC b του S2RP, που οδηγούν σε αλλαγές εσωτερικών κλειδιών, κλειδιού σύνδεσης, ή τρέχοντος κλειδιού εντολής. Οι αντίστοιχες συναρτήσεις είναι οι εξής: int nodechangefkey(struct packet *pkt); int nodechangefkeyunicast(struct packet *pkt); int nodechangejoinkey(struct packet *pkt); int nodechangecommandkeyunicast(struct packet *pkt); int nodegetjoinkeyunicast(struct packet *pkt); Επιπλέον, στους εξωτερικούς κόμβους μπορούν να πραγματοποιηθεί αποστολή πακέτου δεδομένων ή αποστολή ενημέρωσης στο KMS για επικείμενη αποχώρηση του κόμβου από το δίκτυο, ή αίτηση στο KMS για σύνδεση στο δίκτυο. Οι συναρτήσεις που υλοποιούν τις αντίστοιχες λειτουργίες είναι οι εξής: int nodesenddata(struct packet *pkt); int nodesendleave(); int noderequestjoin(); Οι αποστολές πακέτων γίνονται μέσω της συνάρτησης int sendpacket(struct packet *pkt, uint8_t dest, uint8_t source); είτε για το KMS είτε για τους υπόλοιπους κόμβους. Η ύπαρξη ενός σημείου στον κώδικα από το οποίο δημιουργούνται πακέτα καθιστά εύκολη την αλλαγή του περιβάλλοντος, εξομοίωση ή υλικό. Επιπλέον, για τη λειτουργία του S2RP απαιτείται η αρχικοποίηση των δεδομένων κάθε κόμβου. Για τις ανάγκες της εξομοίωσης, η αρχικοποίηση των κόμβων γίνεται σε μια επιπλέον συνάρτηση στον κώδικα του KMS, που γεμίζει τις δομές nodeinfo με δεδομένα από τις δομές listnode του KMS.

75 .2.. Μοντέλο εξομοίωσης Όπως αναφέρθηκε, για τον συναρτησιακό έλεγχο της υλοποίησης, απομονωμένο από τη διαδικασία μετάδοσης των πακέτων, απαιτείται ουσιαστικά ένα μοντέλο που επιτρέπει την έναρξη κάποιας λειτουργίας σε έναν κόμβο και τη διαδοχική κατάλληλη ενημέρωση των υπολοίπων κόμβων ή τη λήψη των δεδομένων σε αυτούς, μέσω πακέτων που περνούν μέσα στο δέντρο του δικτύου. Η υλοποίηση αυτού έγινε με τη χρήση με τη χρήση ενός buffer για κάθε κόμβο, όπου αποθηκεύονται προσωρινά τα πακέτα που προορίζονται γι' αυτόν. Μετά την έναρξη μιας λειτουργίας, ο έλεγχος δίνεται κυκλικά σε όλους τους κόμβους, οι οποίοι επεξεργάζονται ένα πακέτο κάθε φορά και παράγουν την αντίστοιχη έξοδο ή περαιτέρω μηνύματα και τα αποθηκεύουν στους buffers των προορισμών. Η διαδικασία ακολουθείται μέχρι να αδειάσουν όλοι οι buffers. Ο μηχανισμός αυτός υλοποιείται από τις συναρτήσεις: int stackcpacket(struct packet *cpkt,uint8_t dest, uint8_t source); int proccessnextcpacket(uint8_t stackid, uint8_t *source); int proccesspackets();

76 .3. Περιβάλλον εξομοίωσης Η βασική υλοποίηση της εξομοίωσης που περιγράφηκε πιο πάνω καθιστά δυνατό κάποιο βασικό έλεγχο του S2RP, αλλά για εκτενή επαλήθευση της σωστής λειτουργίας, καθώς και παρακολούθηση της εσωτερικής κατάστασης κάθε κόμβου ανά πάσα στιγμή, είναι αναγκαία η δημιουργία κάποιας γραφικής διεπαφής, μέσα από την οποία θα μπορούν να κληθούν οι λειτουργίες του πρωτοκόλλου, καθώς και να αποσταλούν δεδομένα μέσα στο εικονικό δίκτυο, ενώ θα δίνονται πληροφορίες για κάθε βήμα της εξομοίωσης, και θα προβάλλονται πληροφορίες κατάστασης των κόμβων..3.. Στοιχεία της διεπαφής Οι βασικός ρόλος της διεπαφής είναι η δυνατότητα εκτέλεσης οποιασδήποτε πιθανής λειτουργίας του S2RP καθώς και η αποστολή μηνυμάτων από οποιονδήποτε κόμβο του εικονικού δικτύου. Απαραίτητο επίσης είναι να φαίνεται η έξοδος κάθε σταδίου της εξομοίωσης σε ένα πλαίσιο καταγραφής. Έτσι, τα βασικά στοιχεία του περιβάλλοντος θα είναι ένα πλαίσιο κειμένου στο οποίο θα προστίθενται οι έξοδοι των διεργασιών στους κόμβους, καθώς και στοιχεία επιλογής του κόμβου από τον οποίο θέλουμε να στείλουμε μήνυμα, του τύπου μηνύματος που θέλουμε να στείλουμε, του προορισμού, και των δεδομένων που θέλουμε να μεταφέρουμε. Επιπροσθέτως, για την εποπτεία της κατάστασης του συστήματος πρέπει να υπάρχει μια περιοχή στην οποία μπορούν να προβληθούν οι εσωτερικές πληροφορίες για οποιονδήποτε κόμβο. Για την εύκολη παρακολούθηση των κινήσεων των πακέτων και της δομής του δικτύου χρειάζεται μια γραφική αναπαράσταση των κόμβων και των συνδέσεων μεταξύ τους, στην οποία μπορεί να γίνεται επισήμανση των πακέτων και 8

77 των διαδρομών που ακολουθούν αυτά. Τέλος, για την εύκολη παρακολούθηση της ροής των πακέτων πρέπει να υπάρχει η δυνατότητα για εισαγωγή καθυστέρησης ή και παύσης μεταξύ της επεξεργασίας κάθε πακέτου Λειτουργία της γραφικής διεπαφής Όπως φαίνεται και στην παρακάτω εικόνα, στο περιβάλλον της εξομοίωσης δίνεται μια αναπαράσταση των κόμβων του δικτύου, με γραμμές που δείχνουν τις συνδέσεις μεταξύ των αντίστοιχων κόμβων. Με τη σειρά από κουμπιά με επιγραφές kms και node ως node πραγματοποιείται η επιλογή ενός κόμβου. Στην περιοχή node info προβάλλονται οι πληροφορίες για τα σχετικά με το S2RP δεδομένα που έχει αποθηκευμένα ο επιλεγμένος κόμβος. Στο κατώτερο πλαίσιο γίνεται η δημιουργία ενός νέου μηνύματος από τον επιλεγμένο κόμβο. Σε αυτό μπορεί να καθοριστεί ο τύπος του μηνύματος, ο προορισμός και τα δεδομένα που θα σταλούν, αν πρόκειται για τέτοιο μήνυμα. Με το κουμπί send αποστέλλεται το μήνυμα, ενώ η έξοδος των κόμβων δίνεται στην περιοχή κειμένου packet log. Η μετάδοση κάθε πακέτου φαίνεται και στη γραφική παράσταση του δικτύου, με αλλαγή του χρώματος στη γραμμή σύνδεσης δυο κόμβων, ενώ κάτω από το όνομα κάθε κόμβου που λαμβάνει πακέτο φαίνεται μια σύνοψη του μηνύματος και της δράσης που έγινε σε απάντηση αυτού. Υπάρχουν ακόμα στοιχεία ελέγχου της ροής των μηνυμάτων, με τα οποία καθορίζεται η καθυστέρηση μεταξύ της επεξεργασίας καθενός, ή αν θα γίνεται παύση μετά από την επεξεργασία κάθε πακέτου, με χειροκίνητη συνέχιση από το χρήστη, με πάτημα ενός κουμπιού. 9

78 Εικόνα 9: το περιβάλλον ssrpgui.3..3 Η Εσωτερική λειτουργία της γραφικής διεπαφής γραφική διεπαφή γράφτηκε σε C++, χρησιμοποιώντας το framework εφαρμογών Qt [3]. Για την ενσωμάτωση του κώδικα του S2RP στο νέο κώδικα με πλήρη λειτουργικότητα απαιτείται τόσο κλήση συναρτήσεων C από κώδικα C++ όσο και το αντίθετο. Το πρώτο γίνεται απλώς περικλείοντας τις δηλώσεις των συναρτήσεων C που χρειάζονται μέσα σε ένα block: extern C { } Για την κλήση συναρτήσεων C++ από κώδικα C πρέπει οι πρώτες να έχουν interface συμβατό με τη γλώσσα C, δηλαδή να μην είναι μέλη κάποιας κλάσης, και να μην υπάρχουν υπερφορτωμένες εκδόσεις τους. Έτσι, για το πέρασμα πληροφοριών του S2RP στο γραφικό περιβάλλον

79 δημιουργούνται wrappers των σχετικών συναρτήσεων. Αυτές είναι συναρτήσεις για την ένδειξη της κίνησης των πακέτων, για την παύση της εξομοίωσης και για την σύντομη περιγραφή των πακέτων. Καθώς οι συναρτήσεις αυτές δεν έχουν νόημα εκτός του γραφικού περιβάλλοντος, μεταγλωττίζονται υπό συνθήκη, με τη βοήθεια εντολών του προεπεξεργαστή. Ένα βασικό ζήτημα για τη λειτουργία της υλοποίησης του S2RP μέσα από το γραφικό περιβάλλον είναι η ανακατεύθυνση της εξόδου των κόμβων από το standard output σε πλαίσιο κειμένου της εφαρμογής. Αυτό στην υλοποίησή μας έγινε εφικτό με τη χρήση μιας βοηθητικής συνάρτησης: int logit(const char *fmt,...); για την οποία δημιουργούνται δυο υλοποιήσεις, και χρησιμοποιείται η κατάλληλη, με τη χρήση υπό συνθήκη μεταγλώττισης. Η πρώτη υλοποίηση χρησιμοποιείται χωρίς το γραφικό περιβάλλον, και είναι ουσιαστικά ένα wrapper της συνάρτησης printf. Η δεύτερη προσθέτει το αλφαριθμητικό στο πλαίσιο κειμένου της γραφικής διεπαφής..3.. Παράδειγμα λειτουργίας του S2RP σε περιβάλλον εξομοίωσης Για την καλύτερη παρουσίαση της λειτουργίας της εφαρμογής, θα δοθεί ένα παράδειγμα λειτουργίας του S2RP, μέσα από το περιβάλλον εξομοίωσης ssrpgui, για ένα δίκτυο σχήματος πλήρους δυαδικού δέντρου, βάθους 3 κόμβων (εξαιρουμένου του KMS). Συγκεκριμένα, η ακολουθία μεταδόσεων που θα γίνει είναι η εξής: Αποστολή ενός μηνύματος δεδομένων από το KMS στον κόμβο 2. (broadcast στους απογόνους του, 8, 9,, )

80 Εκδίωξη του κόμβου από το δίκτυο Αποστολή μηνύματος δεδομένων από τον κόμβο 3 στον κόμβο 2. (Ο κόμβος δεν πρέπει να μπορεί να αποκρυπτογραφήσει τα δεδομένα) Επανασύνδεση του κόμβου στο δίκτυο. Αποστολή μηνύματος δεδομένων από τον κόμβο 3 στον κόμβο 2. (Ο κόμβος πρέπει να μπορεί να αποκρυπτογραφήσει τα δεδομένα) Επιλέγεται ο κόμβος kms από τη διεπαφή, και από τα στοιχεία ελέγχου του νέου πακέτου επιλέγουμε τύπο μηνύματος data, προορισμό τον κόμβο 2 και δεδομένα έστω hello ssrp!. Επιλέγεται να γίνεται παύση μετά από κάθε πακέτο, και γίνεται εκτέλεση. Εικόνα : παράδειγμα() 2

1. Τι είναι ακεραιότητα δεδομένων, με ποιους μηχανισμούς επιτυγχάνετε κ πότε θα χρησιμοποιούσατε τον καθένα εξ αυτών;

1. Τι είναι ακεραιότητα δεδομένων, με ποιους μηχανισμούς επιτυγχάνετε κ πότε θα χρησιμοποιούσατε τον καθένα εξ αυτών; 1. Τι είναι ακεραιότητα δεδομένων, με ποιους μηχανισμούς επιτυγχάνετε κ πότε θα χρησιμοποιούσατε τον καθένα εξ αυτών; Η ακεραιότητα δεδομένων(data integrity) Είναι η ιδιότητα που μας εξασφαλίζει ότι δεδομένα

Διαβάστε περισσότερα

Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων. Συναρτήσεις Κατακερματισμού

Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων. Συναρτήσεις Κατακερματισμού ΤΕΙ ΚΡΗΤΗΣ ΤΜΉΜΑ ΜΗΧΑΝΙΚΏΝ ΠΛΗΡΟΦΟΡΙΚΉΣ Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων Συναρτήσεις Κατακερματισμού Ο όρος συνάρτηση κατακερματισμού (hash function) υποδηλώνει ένα μετασχηματισμό που παίρνει

Διαβάστε περισσότερα

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών Ασφάλεια Δεδομένων.

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών Ασφάλεια Δεδομένων. Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής στην Επιστήμη των Υπολογιστών 2015-16 Ασφάλεια Δεδομένων http://www.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Οι απειλές Ένας κακόβουλος χρήστης Καταγράφει μηνύματα

Διαβάστε περισσότερα

Οι απειλές. Απόρρητο επικοινωνίας. Αρχές ασφάλειας δεδομένων. Απόρρητο (privacy) Μέσω κρυπτογράφησης

Οι απειλές. Απόρρητο επικοινωνίας. Αρχές ασφάλειας δεδομένων. Απόρρητο (privacy) Μέσω κρυπτογράφησης Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής στην Επιστήμη των Υπολογιστών 2014-015 Ασφάλεια Δεδομένων http://www.ionio.gr/~mistral/tp/csintro/ Οι απειλές Ένας κακόβουλος χρήστης Καταγράφει μηνύματα που ανταλλάσσονται

Διαβάστε περισσότερα

Κρυπτογραφία. Κεφάλαιο 1 Γενική επισκόπηση

Κρυπτογραφία. Κεφάλαιο 1 Γενική επισκόπηση Κρυπτογραφία Κεφάλαιο 1 Γενική επισκόπηση Ανασκόπηση ύλης Στόχοι της κρυπτογραφίας Ιστορικό Γενικά χαρακτηριστικά Κλασσική κρυπτογραφία Συμμετρικού κλειδιού (block ciphers stream ciphers) Δημοσίου κλειδιού

Διαβάστε περισσότερα

8.3.4 Τεχνικές Ασφάλειας Συμμετρική Κρυπτογράφηση Ασυμμετρική Κρυπτογράφηση Ψηφιακές Υπογραφές

8.3.4 Τεχνικές Ασφάλειας Συμμετρική Κρυπτογράφηση Ασυμμετρική Κρυπτογράφηση Ψηφιακές Υπογραφές Κεφάλαιο 8 8.3.4 Τεχνικές Ασφάλειας Συμμετρική Κρυπτογράφηση Ασυμμετρική Κρυπτογράφηση Ψηφιακές Υπογραφές Σελ. 320-325 Γεώργιος Γιαννόπουλος ΠΕ19, ggiannop (at) sch.gr http://diktya-epal-g.ggia.info/ Creative

Διαβάστε περισσότερα

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. Δ Εξάμηνο

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. Δ Εξάμηνο ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο Εισαγωγή- Βασικές Έννοιες Διδάσκων : Δρ. Παρασκευάς Κίτσος diceslab.cied.teiwest.gr Επίκουρος Καθηγητής Εργαστήριο Σχεδίασης Ψηφιακών Ολοκληρωμένων Κυκλωμάτων

Διαβάστε περισσότερα

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο Συναρτήσεις Κατακερματισμού και Πιστοποίηση Μηνύματος Διδάσκων : Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής e-mail: pkitsos@teimes.gr, pkitsos@ieee.org Αντίρριο

Διαβάστε περισσότερα

Hash Functions. μεγεθος h = H(M) ολους. στο μηνυμα. στο συγκεκριμενο hash (one-way property)

Hash Functions. μεγεθος h = H(M) ολους. στο μηνυμα. στο συγκεκριμενο hash (one-way property) Hash Functions Συρρικνωνει μηνυμα οποιουδηποτε μηκους σε σταθερο μεγεθος h = H(M) Συνηθως θεωρουμε οτι η hash function ειναι γνωστη σε ολους Το hash χρησιμοποιειται για να ανιχνευσει τυχον αλλαγες στο

Διαβάστε περισσότερα

Εισαγωγή στην επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών. Aσφάλεια

Εισαγωγή στην επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών. Aσφάλεια Εισαγωγή στην επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών Aσφάλεια ΣΤΟΧΟΙ ΚΕΦΑΛΑΙΟΥ Ορισµός τριών στόχων ασφάλειας - Εµπιστευτικότητα, ακεραιότητα και διαθεσιµότητα Επιθέσεις Υπηρεσίες και Τεχνικές

Διαβάστε περισσότερα

Αυθεντικότητα Μηνυμάτων Συναρτήσεις Hash/MAC

Αυθεντικότητα Μηνυμάτων Συναρτήσεις Hash/MAC Αυθεντικότητα Μηνυμάτων Συναρτήσεις Hash/MAC Τμήμα Μηχ. Πληροφορικής ΤΕΙ Κρήτης Αυθεντικότητα Μηνυμάτων 1 Αυθεντικότητα Μηνύματος Εφαρμογές Προστασία ακεραιότητας Εξακρίβωση ταυτότητας αποστολέα Μη άρνηση

Διαβάστε περισσότερα

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο Ψηφιακή Υπογραφή και Αυθεντικοποίηση Μηνύματος Διδάσκων : Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής e-mail: pkitsos@teimes.gr, pkitsos@ieee.org Αντίρριο

Διαβάστε περισσότερα

Κεφάλαια 2&21. Συναρτήσεις κατακερματισμού Πιστοποίηση ταυτότητας μηνυμάτων

Κεφάλαια 2&21. Συναρτήσεις κατακερματισμού Πιστοποίηση ταυτότητας μηνυμάτων Κεφάλαια 2&21 Συναρτήσεις κατακερματισμού Πιστοποίηση ταυτότητας μηνυμάτων Ενεργητικές επιθέσεις Η κρυπτογράφηση παρέχει προστασία από παθητικές επιθέσεις (υποκλοπή). Μια διαφορετική απαίτηση είναι η προστασία

Διαβάστε περισσότερα

κρυπτογραϕία Ψηφιακή ασφάλεια και ιδιωτικότητα Γεώργιος Σπαθούλας Msc Πληροφορική και υπολογιστική βιοιατρική Πανεπιστήμιο Θεσσαλίας

κρυπτογραϕία Ψηφιακή ασφάλεια και ιδιωτικότητα Γεώργιος Σπαθούλας Msc Πληροφορική και υπολογιστική βιοιατρική Πανεπιστήμιο Θεσσαλίας κρυπτογραϕία Ψηφιακή ασφάλεια και ιδιωτικότητα Γεώργιος Σπαθούλας Msc Πληροφορική και υπολογιστική βιοιατρική Πανεπιστήμιο Θεσσαλίας ιδιότητες ασϕάλειας ιδιότητες ασϕάλειας αγαθών Εμπιστευτικότητα (Confidentiality)

Διαβάστε περισσότερα

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο. Ψηφιακή Υπογραφή και Αυθεντικοποίηση Μηνύματος

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο. Ψηφιακή Υπογραφή και Αυθεντικοποίηση Μηνύματος ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο Ψηφιακή Υπογραφή και Αυθεντικοποίηση Μηνύματος 1 ΠΕΡΙΕΧΟΜΕΝΑ Ψηφιακές Υπογραφές Ασύμμετρης Κρυπτογραφίας Συστήματα ψηφιακής υπογραφής με αυτοανάκτηση Συστήματα

Διαβάστε περισσότερα

Εισαγωγή στην επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών. Aσφάλεια

Εισαγωγή στην επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών. Aσφάλεια Εισαγωγή στην επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών Aσφάλεια Περιεχόμενα Πλευρές Ασφάλειας Ιδιωτικό Απόρρητο Μέθοδος Μυστικού Κλειδιού (Συμμετρική Κρυπτογράφηση) Μέθοδος Δημόσιου Κλειδιού (Ασύμμετρη

Διαβάστε περισσότερα

Ηλεκτρονικό εμπόριο. HE 7 Τεχνολογίες ασφάλειας

Ηλεκτρονικό εμπόριο. HE 7 Τεχνολογίες ασφάλειας Ηλεκτρονικό εμπόριο HE 7 Τεχνολογίες ασφάλειας Πρόκληση ανάπτυξης ασφαλών συστημάτων Η υποδομή του διαδικτύου παρουσίαζε έλλειψη υπηρεσιών ασφάλειας καθώς η οικογένεια πρωτοκόλλων TCP/IP στην οποία στηρίζεται

Διαβάστε περισσότερα

Ψηφιακά Πιστοποιητικά Ψηφιακές Υπογραφές

Ψηφιακά Πιστοποιητικά Ψηφιακές Υπογραφές ΤΕΙ Κρητης Τμήμα Μηχανικών Πληροφορικής Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων Ψηφιακά Πιστοποιητικά Ψηφιακές Υπογραφές Ψηφιακά Πιστοποιητικά Υποδομή δημόσιου κλειδιού (Public Key Infrastructure

Διαβάστε περισσότερα

Εισαγωγή στην επιστήμη της Πληροφορικής και των. Aσφάλεια

Εισαγωγή στην επιστήμη της Πληροφορικής και των. Aσφάλεια Εισαγωγή στην επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών Aσφάλεια Περιεχόμενα Πλευρές Ασφάλειας Ιδιωτικό Απόρρητο Μέθοδος Μυστικού Κλειδιού (Συμμετρική Κρυπτογράφηση) Μέθοδος Δημόσιου Κλειδιού (Ασύμμετρη

Διαβάστε περισσότερα

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. Δ Εξάμηνο

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. Δ Εξάμηνο ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο Εισαγωγή- Βασικές Έννοιες Διδάσκων : Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής e-mail: pkitsos@teimes.gr, pkitsos@ieee.org Αντίρριο 2015 1 ΤΙ ΕΙΝΑΙ Η ΚΡΥΠΤΟΛΟΓΙΑ?

Διαβάστε περισσότερα

Κρυπτογραφία. Κεφάλαιο 4 Αλγόριθμοι Δημοσίου Κλειδιού (ή ασύμμετροι αλγόριθμοι)

Κρυπτογραφία. Κεφάλαιο 4 Αλγόριθμοι Δημοσίου Κλειδιού (ή ασύμμετροι αλγόριθμοι) Κρυπτογραφία Κεφάλαιο 4 Αλγόριθμοι Δημοσίου Κλειδιού (ή ασύμμετροι αλγόριθμοι) Κρυπτοσυστήματα Δημοσίου κλειδιού Αποστολέας P Encryption C Decryption P Παραλήπτης Προτάθηκαν το 1976 Κάθε συμμετέχων στο

Διαβάστε περισσότερα

Εφαρμοσμένη Κρυπτογραφία Ι

Εφαρμοσμένη Κρυπτογραφία Ι Εφαρμοσμένη Κρυπτογραφία Ι Κωνσταντίνου Ελισάβετ ekonstantinou@aegean.gr http://www.icsd.aegean.gr/ekonstantinou Συνολικό Πλαίσιο Ασφάλεια ΠΕΣ Εμπιστευτικότητα Ακεραιότητα Πιστοποίηση Μη-αποποίηση Κρυπτογράφηση

Διαβάστε περισσότερα

Εισαγωγή στην Κρυπτογραφία και τις Ψηφιακές Υπογραφές

Εισαγωγή στην Κρυπτογραφία και τις Ψηφιακές Υπογραφές Εισαγωγή στην Κρυπτογραφία και τις Ψηφιακές Υπογραφές Βαγγέλης Φλώρος, BSc, MSc Τµήµα Πληροφορικής και Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών Εν αρχή είναι... Η Πληροφορία - Αρχείο

Διαβάστε περισσότερα

Κρυπτογραφία. Εργαστηριακό μάθημα 1

Κρυπτογραφία. Εργαστηριακό μάθημα 1 Κρυπτογραφία Εργαστηριακό μάθημα 1 Βασικοί όροι Με τον όρο κρυπτογραφία εννοούμε τη μελέτη μαθηματικών τεχνικών που στοχεύουν στην εξασφάλιση θεμάτων που άπτονται της ασφάλειας μετάδοσης της πληροφορίας,

Διαβάστε περισσότερα

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 11η Διάλεξη: Ασφάλεια στο Web

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 11η Διάλεξη: Ασφάλεια στο Web Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 11η Διάλεξη: Ασφάλεια στο Web Δρ. Απόστολος Γκάμας Λέκτορας (407/80) gkamas@uop.gr Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 1 1 Εισαγωγικά Βασικές

Διαβάστε περισσότερα

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. Κρυπτογραφία. Εισαγωγή. Χρήστος Ξενάκης

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. Κρυπτογραφία. Εισαγωγή. Χρήστος Ξενάκης Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Κρυπτογραφία Εισαγωγή Χρήστος Ξενάκης Στόχος του μαθήματος Η παρουσίαση και ανάλυση των βασικών θεμάτων της θεωρίας κρυπτογραφίας. Οι εφαρμογές της κρυπτογραφίας

Διαβάστε περισσότερα

ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ(Θ)

ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ(Θ) ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ(Θ) Ενότητα 6: ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ ΔΙΔΑΣΚΩΝ: ΚΩΝΣΤΑΝΤΙΝΟΣ ΧΕΙΛΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Ασφάλεια Πληροφοριακών Συστηµάτων

Ασφάλεια Πληροφοριακών Συστηµάτων Ασφάλεια Πληροφοριακών Συστηµάτων Κρυπτογραφία/Ψηφιακές Υπογραφές Διάλεξη 3η Δρ. A. Στεφανή Τµ. Διοίκησης Επιχειρήσεων, ΤΕΙ Δυτ. Ελλάδας Ψηφιακές Υπογραφές- Βασικές Αρχές Η Ψηφιακή Υπογραφή είναι ένα µαθηµατικό

Διαβάστε περισσότερα

ΕΠΛ 674: Εργαστήριο 1 Ασφάλεια Επικοινωνιακών Συστημάτων - Κρυπτογραφία

ΕΠΛ 674: Εργαστήριο 1 Ασφάλεια Επικοινωνιακών Συστημάτων - Κρυπτογραφία ΕΠΛ 674: Εργαστήριο 1 Ασφάλεια Επικοινωνιακών Συστημάτων - Κρυπτογραφία Παύλος Αντωνίου Γραφείο: ΘΕΕ 02 B176 Εαρινό Εξάμηνο 2011 Department of Computer Science Ασφάλεια - Απειλές Ασφάλεια Γενικά (Ι) Τα

Διαβάστε περισσότερα

Πληροφορική Ι. Μάθημα 10 ο Ασφάλεια. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Δρ. Γκόγκος Χρήστος

Πληροφορική Ι. Μάθημα 10 ο Ασφάλεια. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Δρ. Γκόγκος Χρήστος Οι διαφάνειες έχουν βασιστεί στο βιβλίο «Εισαγωγή στην επιστήμη των υπολογιστών» του B. Forouzanκαι Firoyz Mosharraf(2 η έκδοση-2010) Εκδόσεις Κλειδάριθμος Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου

Διαβάστε περισσότερα

Εισαγωγή στην Κρυπτολογία 3. Ασφάλεια Τηλεπικοινωνιακών Συστημάτων Κωδικός DIΤ114 Σταύρος ΝΙΚΟΛΟΠΟΥΛΟΣ

Εισαγωγή στην Κρυπτολογία 3. Ασφάλεια Τηλεπικοινωνιακών Συστημάτων Κωδικός DIΤ114 Σταύρος ΝΙΚΟΛΟΠΟΥΛΟΣ Εισαγωγή στην Κρυπτολογία 3 Ασφάλεια Τηλεπικοινωνιακών Συστημάτων Κωδικός DIΤ114 Σταύρος ΝΙΚΟΛΟΠΟΥΛΟΣ Ακεραιότητα Μονόδρομη Κρυπτογράφηση Ακεραιότητα Αυθεντικότητα μηνύματος Ακεραιότητα μηνύματος Αυθεντικότητα

Διαβάστε περισσότερα

ρ. Κ. Σ. Χειλάς, ίκτυα Η/Υ ΙΙΙ, Τ.Ε.Ι. Σερρών, 2007

ρ. Κ. Σ. Χειλάς, ίκτυα Η/Υ ΙΙΙ, Τ.Ε.Ι. Σερρών, 2007 Ψηφιακές υπογραφές Ψηφιακές υπογραφές Υπάρχει ανάγκη αντικατάστασης των χειρόγραφων υπογραφών µε ψηφιακές (ΨΥ) Αυτές πρέπει να διαθέτουν τα εξής χαρακτηριστικά: Ο παραλήπτης πρέπει να είναι σε θέση να

Διαβάστε περισσότερα

Ασφάλεια Υπολογιστικών Συστηµάτων

Ασφάλεια Υπολογιστικών Συστηµάτων Ορισµοί Κρυπτογράφηση: η διεργασία µετασχηµατισµού ενός µηνύµατος µεταξύ ενός αποστολέα και ενός παραλήπτη σε µια ακατανόητη µορφή ώστε αυτό να µην είναι αναγνώσιµο από τρίτους Αποκρυπτογράφηση: η διεργασία

Διαβάστε περισσότερα

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. Δ Εξάμηνο

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. Δ Εξάμηνο ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο Ασύμμετρη Κρυπτογράφηση (Κρυπτογραφία Δημόσιου Κλειδιού) Διδάσκων : Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής e-mail: pkitsos@teimes.gr, pkitsos@ieee.org

Διαβάστε περισσότερα

ΤΕΙ Κρήτης Τμήμα Μηχανικών Πληροφορικής. Συμμετρική Κρυπτογραφία

ΤΕΙ Κρήτης Τμήμα Μηχανικών Πληροφορικής. Συμμετρική Κρυπτογραφία ΤΕΙ Κρήτης Τμήμα Μηχανικών Πληροφορικής Συμμετρική Κρυπτογραφία Εισαγωγή Στην συνηθισμένη κρυπτογραφία, ο αποστολέας και ο παραλήπτης ενός μηνύματος γνωρίζουν και χρησιμοποιούν το ίδιο μυστικό κλειδί.

Διαβάστε περισσότερα

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ 1 o ΔΙΑΓΩΝΙΣΜΑ ΘΕΜΑ 1 ο Α) Ποια είναι τα βασικά στοιχεία, τα οποία χαρακτηρίζουν το ISDN; Η ψηφιακή μετάδοση. Όλα τα σήματα μεταδίδονται σε ψηφιακή μορφή απ' άκρη σ' άκρη του δικτύου,

Διαβάστε περισσότερα

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο Πρωτόκολλα και Αρχιτεκτονική Δικτύου Για να ανταλλάξουν δεδομένα δύο σταθμοί, εκτός από την ύπαρξη διαδρομής μεταξύ

Διαβάστε περισσότερα

Αλγόριθµοι δηµόσιου κλειδιού

Αλγόριθµοι δηµόσιου κλειδιού Αλγόριθµοι δηµόσιου κλειδιού Αλγόριθµοι δηµόσιου κλειδιού Ηδιανοµή του κλειδιού είναι ο πιο αδύναµος κρίκος στα περισσότερα κρυπτογραφικά συστήµατα Diffie και Hellman, 1976 (Stanford Un.) πρότειναν ένα

Διαβάστε περισσότερα

Εισ. Στην ΠΛΗΡΟΦΟΡΙΚΗ. Διάλεξη 8 η. Βασίλης Στεφανής

Εισ. Στην ΠΛΗΡΟΦΟΡΙΚΗ. Διάλεξη 8 η. Βασίλης Στεφανής Εισ. Στην ΠΛΗΡΟΦΟΡΙΚΗ Διάλεξη 8 η Βασίλης Στεφανής Περιεχόμενα Τι είναι κρυπτογραφία Ιστορική αναδρομή Αλγόριθμοι: Καίσαρα Μονοαλφαβιτικοί Vigenere Vernam Κρυπτογραφία σήμερα Κρυπτογραφία Σκοπός Αποστολέας

Διαβάστε περισσότερα

ΠΡΟΣΤΑΣΙΑ ΠΡΟΣΩΠΙΚΩΝ ΔΕΔΟΜΕΝΩΝ ΣΤΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΘΩΣ ΚΑΙ ΣΤΟ ΔΙΑΔΙΚΤΥΟ

ΠΡΟΣΤΑΣΙΑ ΠΡΟΣΩΠΙΚΩΝ ΔΕΔΟΜΕΝΩΝ ΣΤΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΘΩΣ ΚΑΙ ΣΤΟ ΔΙΑΔΙΚΤΥΟ ΠΡΟΣΤΑΣΙΑ ΠΡΟΣΩΠΙΚΩΝ ΔΕΔΟΜΕΝΩΝ ΣΤΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΘΩΣ ΚΑΙ ΣΤΟ ΔΙΑΔΙΚΤΥΟ ΔΙΑΔΙΚΤΥΟ Το διαδίκτυο προσφέρει: Μετατροπή των δεδομένων σε ψηφιακή - ηλεκτρονική μορφή. Πρόσβαση

Διαβάστε περισσότερα

ΠΡΟΣΤΑΣΙΑ ΠΡΟΣΩΠΙΚΩΝ ΔΕΔΟΜΕΝΩΝ ΣΤΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΘΩΣ ΚΑΙ ΣΤΟ ΔΙΑΔΙΚΤΥΟ

ΠΡΟΣΤΑΣΙΑ ΠΡΟΣΩΠΙΚΩΝ ΔΕΔΟΜΕΝΩΝ ΣΤΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΘΩΣ ΚΑΙ ΣΤΟ ΔΙΑΔΙΚΤΥΟ ΠΡΟΣΤΑΣΙΑ ΠΡΟΣΩΠΙΚΩΝ ΔΕΔΟΜΕΝΩΝ ΣΤΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΘΩΣ ΚΑΙ ΣΤΟ ΔΙΑΔΙΚΤΥΟ ΔΙΑΔΙΚΤΥΟ Το διαδίκτυο προσφέρει: Μετατροπή των δεδομένων σε ψηφιακή - ηλεκτρονική μορφή. Πρόσβαση

Διαβάστε περισσότερα

Κρυπτογραφία. Κωνσταντίνου Ελισάβετ

Κρυπτογραφία. Κωνσταντίνου Ελισάβετ Κρυπτογραφία Κωνσταντίνου Ελισάβετ ekonstantinou@aegean.gr http://www.icsd.aegean.gr/ekonstantinou Συμμετρικά Κρυπτοσυστήματα κλειδί k Αρχικό κείμενο (m) Αλγόριθμος Κρυπτογράφησης Ε c = E k (m) Κρυπτογραφημένο

Διαβάστε περισσότερα

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. Κρυπτογραφία. Κρυπτογραφικές Συναρτήσεις. Χρήστος Ξενάκης

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. Κρυπτογραφία. Κρυπτογραφικές Συναρτήσεις. Χρήστος Ξενάκης Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Κρυπτογραφία Κρυπτογραφικές Συναρτήσεις Χρήστος Ξενάκης Ψευδοτυχαίες ακολουθίες Η επιλογή τυχαίων αριθμών είναι ένα βασικό σημείο στην ασφάλεια των κρυπτοσυστημάτων

Διαβάστε περισσότερα

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Ι. Σημειώσεις Θεωρίας

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Ι. Σημειώσεις Θεωρίας Ινστιτούτα Επαγγελματική Κατάρτισης ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Ι Σημειώσεις Θεωρίας Επιμέλεια: Ματθές Δημήτριος Αθήνα 2017 Μάθημα 1: Βασικές Έννοιες στα Δίκτυα Υπολογιστών 1.1 Δίκτυο Υπολογιστών Ένα δίκτυο είναι

Διαβάστε περισσότερα

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική Ι. Ενότητα 10 : Ασφάλεια. Δρ. Γκόγκος Χρήστος

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική Ι. Ενότητα 10 : Ασφάλεια. Δρ. Γκόγκος Χρήστος 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Πληροφορική Ι Ενότητα 10 : Ασφάλεια Δρ. Γκόγκος Χρήστος 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Χρηματοοικονομικής & Ελεγκτικής

Διαβάστε περισσότερα

Ασφάλεια Πληροφοριακών Συστημάτων

Ασφάλεια Πληροφοριακών Συστημάτων Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Ασφάλεια Πληροφοριακών Συστημάτων Ενότητα 6: Κρυπτογραφία Ι Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

Διαβάστε περισσότερα

ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ Lab 3

ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ Lab 3 ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ Lab 3 Η Aσύμμετρη Kρυπτογραφία ή Κρυπτογραφία Δημοσίου Κλειδιού χρησιμοποιεί δύο διαφορετικά κλειδιά για την κρυπτογράφηση και αποκρυπτογράφηση. Eπινοήθηκε στο τέλος της δεκαετίας

Διαβάστε περισσότερα

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο Τοπολογίες Διατάξεων Κρυπτογράφησης- Ασφάλεια Δικτύων και Ασφάλεια Ηλεκτρονικού Ταχυδρομείου Διδάσκων : Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής e-mail:

Διαβάστε περισσότερα

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

Διαβάστε περισσότερα

Ασφάλεια Πληροφοριακών Συστηµάτων. Αυθεντικότητα Μηνυµάτων 1

Ασφάλεια Πληροφοριακών Συστηµάτων. Αυθεντικότητα Μηνυµάτων 1 Αυθεντικότητα Μηνυµάτων Συναρτήσεις Hash/MAC Τμήμα Μηχ. Πληροφορικής ΤΕΙ Κρήτης Αυθεντικότητα Μηνυµάτων 1 Αυθεντικότητα Μηνύµατος Εφαρμογές Προστασία ακεραιότητας Εξακρίβωση ταυτότητας αποστολέα Μη άρνηση

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 1.7. Πρωτόκολλα και Αρχιτεκτονική Δικτύου

ΚΕΦΑΛΑΙΟ 1.7. Πρωτόκολλα και Αρχιτεκτονική Δικτύου ΚΕΦΑΛΑΙΟ 1.7 Πρωτόκολλα και Αρχιτεκτονική Δικτύου Επικοινωνία δύο σταθμών Ύπαρξη διαδρομής Αποκατάσταση σύνδεσης Ο σταθμός-πηγή πρέπει να ξέρει πότε ο σταθμός-προορισμός είναι έτοιμος να λάβει δεδομένα.

Διαβάστε περισσότερα

ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ(Θ)

ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ(Θ) ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ(Θ) Ενότητα 4: ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ ΔΙΔΑΣΚΩΝ: ΚΩΝΣΤΑΝΤΙΝΟΣ ΧΕΙΛΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Ασφάλεια Ασύρματων & Κινητών Επικοινωνιών

Ασφάλεια Ασύρματων & Κινητών Επικοινωνιών Ασφάλεια Ασύρματων & Κινητών Επικοινωνιών Ασύρματες Επικοινωνίες Μέρος V Χρήστος Ξενάκης Τμήμα Ψηφιακών Συστημάτων Πανεπιστήμιο Πειραιώς Slide: 1/30 Περιεχόμενα IEEE 802.11i ΤΟ ΠΡΩΤΟΚΟΛΛΟ CCMP Γενικά Λίγα

Διαβάστε περισσότερα

Ασφάλεια Πληροφοριακών Συστημάτων

Ασφάλεια Πληροφοριακών Συστημάτων Ασφάλεια Πληροφοριακών Συστημάτων Κρυπτογραφία/Ψηφιακές Υπογραφές Διάλεξη 2η Δρ. Β. Βασιλειάδης Τμ. Διοίκησης Επιχειρήσεων, ΤΕΙ Δυτ. Ελλάδας Kρυπτανάλυση Προσπαθούμε να σπάσουμε τον κώδικα. Ξέρουμε το

Διαβάστε περισσότερα

Κεφάλαιο 2. Κρυπτογραφικά εργαλεία

Κεφάλαιο 2. Κρυπτογραφικά εργαλεία Κεφάλαιο 2 Κρυπτογραφικά εργαλεία Συμμετρική κρυπτογράφηση Καθολικά αποδεκτή τεχνική που χρησιμοποιείται για τη διαφύλαξη της εμπιστευτικότητας δεδομένων τα οποία μεταδίδονται ή αποθηκεύονται Γνωστή και

Διαβάστε περισσότερα

ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Διαχείριση Ασφαλείας (Ι) Απειλές Ασφαλείας Συμμετρική & Μη-Συμμετρική Κρυπτογραφία

ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Διαχείριση Ασφαλείας (Ι) Απειλές Ασφαλείας Συμμετρική & Μη-Συμμετρική Κρυπτογραφία ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Διαχείριση (Ι) Απειλές Συμμετρική & Μη-Συμμετρική Κρυπτογραφία Β. Μάγκλαρης maglaris@netmode.ntua.gr www.netmode.ntua.gr 13/11/2017 ΘΕΜΑΤΙΚΕΣ ΠΕΡΙΟΧΕΣ ΑΣΦΑΛΕΙΑΣ Είδη Απειλών και Επιθέσεων

Διαβάστε περισσότερα

Κρυπτογραφία. MAC - Γνησιότητα/Ακεραιότητα μηνύματος. Πέτρος Ποτίκας

Κρυπτογραφία. MAC - Γνησιότητα/Ακεραιότητα μηνύματος. Πέτρος Ποτίκας Κρυπτογραφία MAC - Γνησιότητα/Ακεραιότητα μηνύματος Πέτρος Ποτίκας Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 1 / 37 Περιεχόμενα 1 Message

Διαβάστε περισσότερα

Τετάρτη 20 Ιουνίου, Κρυπτογράφηση Ανωνυμοποίηση Ψευδωνυμοποίηση

Τετάρτη 20 Ιουνίου, Κρυπτογράφηση Ανωνυμοποίηση Ψευδωνυμοποίηση Τετάρτη 20 Ιουνίου, 2018 Κρυπτογράφηση Ανωνυμοποίηση Ψευδωνυμοποίηση ΚΡΥΠΤΟΓΡΑΦΗΣΗ Τι είναι: Κρυπτογράφηση είναι ο μετασχηματισμός δεδομένων σε μορφή που να είναι αδύνατον να διαβαστεί χωρίς τη γνώση της

Διαβάστε περισσότερα

ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΑΚΥΒΕΡΝΗΣΗ ΣΤΗΝ ΕΕ

ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΑΚΥΒΕΡΝΗΣΗ ΣΤΗΝ ΕΕ ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΑΚΥΒΕΡΝΗΣΗ Ψηφιακές υπογραφές ΝΙΚΟΣ ΣΑΡΙΔΑΚΗΣ ΣΤΑΣΗΣ ΑΝΤΩΝΗΣ Γενική Γραμματεία Δημόσιας Διοίκησης και Ηλεκτρονικής Διακυβέρνησης ΥΠΕΣΔΔΑ 1 ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΑΚΥΒΕΡΝΗΣΗ ΣΤΗΝ ΕΕ ΠΟΛΙΤΕΣ ΕΠΙΧΕΙΡΗΣΕΙΣ

Διαβάστε περισσότερα

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο Τοπολογίες Διατάξεων Κρυπτογράφησης- Εισαγωγή στην Ασφάλεια Δικτύων και Ασφάλεια Ηλεκτρονικού Ταχυδρομείου Διδάσκων : Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής

Διαβάστε περισσότερα

Ασφάλεια Υπολογιστικών Συστημάτων

Ασφάλεια Υπολογιστικών Συστημάτων Ασφάλεια Υπολογιστικών Συστημάτων Ενότητα 2: Συμμετρική κρυπτογραφία Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

Ασφάλεια Τηλεπικοινωνιακών Συστημάτων ΣΤΑΥΡΟΣ Ν ΝΙΚΟΛΟΠΟΥΛΟΣ 03 ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΚΡΥΠΤΟΛΟΓΙΑ

Ασφάλεια Τηλεπικοινωνιακών Συστημάτων ΣΤΑΥΡΟΣ Ν ΝΙΚΟΛΟΠΟΥΛΟΣ 03 ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΚΡΥΠΤΟΛΟΓΙΑ Ασφάλεια Τηλεπικοινωνιακών Συστημάτων ΣΤΑΥΡΟΣ Ν ΝΙΚΟΛΟΠΟΥΛΟΣ 03 ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΚΡΥΠΤΟΛΟΓΙΑ Περιγραφή μαθήματος Η Κρυπτολογία είναι κλάδος των Μαθηματικών, που ασχολείται με: Ανάλυση Λογικών Μαθηματικών

Διαβάστε περισσότερα

Κεφάλαιο 21. Κρυπτογραφία δημόσιου κλειδιού και πιστοποίηση ταυτότητας μηνυμάτων

Κεφάλαιο 21. Κρυπτογραφία δημόσιου κλειδιού και πιστοποίηση ταυτότητας μηνυμάτων Κεφάλαιο 21 Κρυπτογραφία δημόσιου κλειδιού και πιστοποίηση ταυτότητας μηνυμάτων Κρυπτογράφηση δημόσιου κλειδιού RSA Αναπτύχθηκε το 1977 από τους Rivest, Shamir και Adleman στο MIT Ο πιο γνωστός και ευρέως

Διαβάστε περισσότερα

Ασφάλεια στο Ηλεκτρονικό Επιχειρείν. ΤΕΙ Δυτικής Ελλάδας Τμήμα Διοίκησης Επιχειρήσεων - Πάτρα Κουτσονίκος Γιάννης

Ασφάλεια στο Ηλεκτρονικό Επιχειρείν. ΤΕΙ Δυτικής Ελλάδας Τμήμα Διοίκησης Επιχειρήσεων - Πάτρα Κουτσονίκος Γιάννης Ασφάλεια στο Ηλεκτρονικό Επιχειρείν ΤΕΙ Δυτικής Ελλάδας Τμήμα Διοίκησης Επιχειρήσεων - Πάτρα Κουτσονίκος Γιάννης 1 Κίνδυνοι Η-Ε Μερικοί από τους κινδύνους ενός δικτυακού τόπου Ε-εμπορίου περιλαμβάνουν:

Διαβάστε περισσότερα

Παύλος Εφραιμίδης. Κρυπτογραφικά Πρωτόκολλα. Ασφ Υπολ Συστ

Παύλος Εφραιμίδης. Κρυπτογραφικά Πρωτόκολλα. Ασφ Υπολ Συστ Παύλος Εφραιμίδης Κρυπτογραφικά Πρωτόκολλα Ασφ Υπολ Συστ 1 Fair Coin Millionaires Problem Blind Signatures Oblivious Signatures Simultaneous Contract Signing Simultaneous Exchange of Secrets προηγμένα

Διαβάστε περισσότερα

ΕΠΑΝΑΛΗΠΤΙΚΟ ΤΕΣΤ ΣΤΗΝ ΕΝΟΤΗΤΑ

ΕΠΑΝΑΛΗΠΤΙΚΟ ΤΕΣΤ ΣΤΗΝ ΕΝΟΤΗΤΑ ΕΠΑ.Λ. Άμφισσας Σχολικό Έτος : 2011-2012 Τάξη : Γ Τομέας : Πληροφορικής Μάθημα : ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ Διδάσκων : Χρήστος Ρέτσας Η-τάξη : tiny.cc/retsas-diktya2 ΕΠΑΝΑΛΗΠΤΙΚΟ ΤΕΣΤ ΣΤΗΝ ΕΝΟΤΗΤΑ 8.3.4-8.3.6

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 131: ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I ΕΡΓΑΣΙΑ 2

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 131: ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I ΕΡΓΑΣΙΑ 2 ΕΡΓΑΣΙΑ Διδάσκων: Γιώργος Χρυσάνθου Υπεύθυνος Άσκησης: Πύρρος Μπράτσκας Ημερομηνία Ανάθεσης: 3/10/015 Ημερομηνία Παράδοσης: 09/11/015 09:00 π.μ. I.Στόχος Στόχος αυτής της εργασίας είναι η χρησιμοποίηση

Διαβάστε περισσότερα

Τεχνολογία Πολυμέσων. Ενότητα # 16: Πολυεκπομπή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Τεχνολογία Πολυμέσων. Ενότητα # 16: Πολυεκπομπή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Τεχνολογία Πολυμέσων Ενότητα # 16: Πολυεκπομπή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα.

Διαβάστε περισσότερα

Κρυπτογραφία. MAC - Γνησιότητα/Ακεραιότητα μηνύματος. Πέτρος Ποτίκας

Κρυπτογραφία. MAC - Γνησιότητα/Ακεραιότητα μηνύματος. Πέτρος Ποτίκας Κρυπτογραφία MAC - Γνησιότητα/Ακεραιότητα μηνύματος Πέτρος Ποτίκας Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 1 / 32 Περιεχόμενα 1 Message

Διαβάστε περισσότερα

ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ Α. α. Πριν εμφανιστεί η τεχνολογία ISDN οι υπηρεσίες φωνής, εικόνας και δεδομένων απαιτούσαν διαφορετικά δίκτυα.

ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ Α. α. Πριν εμφανιστεί η τεχνολογία ISDN οι υπηρεσίες φωνής, εικόνας και δεδομένων απαιτούσαν διαφορετικά δίκτυα. ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ ΕΠΑΛ (ΟΜΑΔΑ Α ) & ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΕΠΑΛ (ΟΜΑΔΑ Β ) ΘΕΜΑ Α ΚΥΡΙΑΚΗ 04/05/2014- ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΟΚΤΩ (8) ΕΚΦΩΝΗΣΕΙΣ Α1. Να χαρακτηρίσετε

Διαβάστε περισσότερα

Μάθημα 5: To Μοντέλο Αναφοράς O.S.I.

Μάθημα 5: To Μοντέλο Αναφοράς O.S.I. Μάθημα 5: To Μοντέλο Αναφοράς O.S.I. 5.1 Γενικά Τα πρώτα δίκτυα χαρακτηρίζονταν από την «κλειστή» αρχιτεκτονική τους με την έννοια ότι αυτή ήταν γνωστή μόνο στην εταιρία που την είχε σχεδιάσει. Με τον

Διαβάστε περισσότερα

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η Αρχές Δικτύων Επικοινωνιών Σελ. 9-50 Γεώργιος Γιαννόπουλος ΠΕ19, ggiannop (at) sch.gr http://diktya-epal-b.ggia.info/ Creative Commons License 3.0 Share-Alike Σύνδεση από σημείο

Διαβάστε περισσότερα

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.5 Πρωτόκολλο IP 38. Τι είναι το πρωτόκολλο ιαδικτύου (Internet Protocol, IP); Είναι το βασικό πρωτόκολλο του επιπέδου δικτύου της τεχνολογίας TCP/IP. Βασίζεται στα αυτοδύναµα

Διαβάστε περισσότερα

Threshold Cryptography Algorithms. Εργασία στα πλαίσια του μαθήματος Τεχνολογίες Υπολογιστικού Νέφους

Threshold Cryptography Algorithms. Εργασία στα πλαίσια του μαθήματος Τεχνολογίες Υπολογιστικού Νέφους Threshold Cryptography Algorithms Εργασία στα πλαίσια του μαθήματος Τεχνολογίες Υπολογιστικού Νέφους Ορισμός Το σύστημα το οποίο τεμαχίζει ένα κλειδί k σε n τεμάχια έτσι ώστε οποιοσδήποτε συνδυασμός πλήθους

Διαβάστε περισσότερα

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία Συμμετρικά κρυπτοσυστήματα Άρης Παγουρτζής Στάθης Ζάχος Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Σχολή ΗΜΜΥ ΕΜΠ 1

Διαβάστε περισσότερα

Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Τμήμα Τηλεπληροφορικής & Διοίκησης

Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Τμήμα Τηλεπληροφορικής & Διοίκησης Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Τμήμα Τηλεπληροφορικής & Διοίκησης Κατάλογος Περιεχομένων 1 ΑΣΎΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΊΑ ΚΑΙ PGP...- 3-1.1 ΕΙΣΑΓΩΓΉ...- 3-1.2 ΤΙ ΕΊΝΑΙ ΤΟ PGP;...- 4-1.3 ΤΟ PGP ΒΉΜΑ ΒΉΜΑ......-

Διαβάστε περισσότερα

Εφαρμοσμένη Κρυπτογραφία Ι

Εφαρμοσμένη Κρυπτογραφία Ι Εφαρμοσμένη Κρυπτογραφία Ι Κωνσταντίνου Ελισάβετ ekonstantinou@aegean.gr http://www.icsd.aegean.gr/ekonstantinou Ψηφιακές Υπογραφές Ορίζονται πάνω σε μηνύματα και είναι αριθμοί που εξαρτώνται από κάποιο

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων Εισαγωγή

ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων Εισαγωγή ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων 1.1. Εισαγωγή Γενικότερα δεν υπάρχει κάποια ταξινόμηση των πιθανών δικτύων κάτω από την οποία να ταιριάζουν όλα τα δίκτυα. Παρόλα αυτά η ταξινόμηση τους είθισται να γίνεται

Διαβάστε περισσότερα

Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων SSL/TLS

Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων SSL/TLS Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων SSL/TLS Fysarakis Konstantinos, PhD kfysarakis@staff.teicrete.gr » Το SSL (Secure Sockets Layer) αναπτύχθηκε από την εταιρεία Netscape. Η έκδοση 1.0 δεν παρουσιάστηκε

Διαβάστε περισσότερα

Διαχείριση Ασφάλειας και Εμπιστοσύνης σε Πολιτισμικά Περιβάλλοντα

Διαχείριση Ασφάλειας και Εμπιστοσύνης σε Πολιτισμικά Περιβάλλοντα Διαχείριση Ασφάλειας και Εμπιστοσύνης σε Πολιτισμικά Περιβάλλοντα Ενότητα 5: ΚΡΥΠΤΟΓΡΑΦΗΣΗ Δημήτριος Κουκόπουλος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διαχείρισης Πολιτισμικού Περιβάλλοντος

Διαβάστε περισσότερα

ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ(Θ)

ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ(Θ) ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ(Θ) Ενότητα 5: ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ ΔΙΔΑΣΚΩΝ: ΚΩΝΣΤΑΝΤΙΝΟΣ ΧΕΙΛΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων. PGP (Pretty Good Privacy)

Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων. PGP (Pretty Good Privacy) Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων PGP (Pretty Good Privacy) Εισαγωγή Το λογισμικό Pretty Good Privacy (PGP), το οποίο σχεδιάστηκε από τον Phill Zimmerman, είναι ένα λογισμικό κρυπτογράφησης

Διαβάστε περισσότερα

Δίκτυα Υπολογιστών Ενότητα 6: Secure Sockets Layer - SSL

Δίκτυα Υπολογιστών Ενότητα 6: Secure Sockets Layer - SSL Δίκτυα Υπολογιστών Ενότητα 6: Secure Sockets Layer - SSL Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Κρυπτογραφικά Πρωτόκολλα

Κρυπτογραφικά Πρωτόκολλα Κρυπτογραφικά Πρωτόκολλα Παύλος Εφραιµίδης 25/04/2013 1 Κρυπτογραφικά Πρωτόκολλα Bit Commitment Fair Coin Mental Poker Secret Sharing Zero-Knowledge Protocol 2 πρωτόκολλα και υπηρεσίες χρήστης κρυπτογραφικές

Διαβάστε περισσότερα

Cryptography and Network Security Chapter 13. Fifth Edition by William Stallings

Cryptography and Network Security Chapter 13. Fifth Edition by William Stallings Cryptography and Network Security Chapter 13 Fifth Edition by William Stallings Chapter 13 Digital Signatures To guard against the baneful influence exerted by strangers is therefore an elementary dictate

Διαβάστε περισσότερα

Κρυπτογραφία. Κωνσταντίνου Ελισάβετ

Κρυπτογραφία. Κωνσταντίνου Ελισάβετ Κρυπτογραφία Κωνσταντίνου Ελισάβετ ekonstantinou@aegean.gr http://www.icsd.aegean.gr/ekonstantinou ιαχείριση Κλειδιών Ορισμός: Εγκαθίδρυση κλειδιού (key establishment) είναι η διαδικασία κατά την οποία

Διαβάστε περισσότερα

Ψηφιακά Πιστοποιητικά Ψηφιακές Υπογραφές

Ψηφιακά Πιστοποιητικά Ψηφιακές Υπογραφές ΤΕΙ Κρητης Τμήμα Μηχανικών Πληροφορικής Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων Ψηφιακά Πιστοποιητικά Ψηφιακές Υπογραφές Φυσαράκης Κων/νος, PhD kfysarakis@staff.teicrete.gr Ψηφιακά Πιστοποιητικά Εισαγωγή

Διαβάστε περισσότερα

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. Κρυπτογραφία. Κρυπτοαλγόριθμοι. Χρήστος Ξενάκης

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. Κρυπτογραφία. Κρυπτοαλγόριθμοι. Χρήστος Ξενάκης Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Κρυπτογραφία Κρυπτοαλγόριθμοι Χρήστος Ξενάκης Θεωρία Πληροφορίας Η Θεωρία πληροφορίας (Shannon 1948 1949) σχετίζεται με τις επικοινωνίες και την ασφάλεια

Διαβάστε περισσότερα

Διδάσκουσα: Χάλκου Χαρά,

Διδάσκουσα: Χάλκου Χαρά, Διδάσκουσα: Χάλκου Χαρά, Διπλωματούχος Ηλεκτρολόγος Μηχανικός & Τεχνολογίας Η/Υ, MSc e-mail: chalkou@upatras.gr Κάθε ασθενείς έχει έναν ιατρικό φάκελο όπου περιέχονται τα ιατρικά του δεδομένα. Οι χειρόγραφοι

Διαβάστε περισσότερα

YΒΡΙΔΙΚΗ ΚΡΥΠΤΟΓΡΑΦΙΑ

YΒΡΙΔΙΚΗ ΚΡΥΠΤΟΓΡΑΦΙΑ ΤΕΙ Κρητης Τμήμα Μηχανικών Πληροφορικής Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων YΒΡΙΔΙΚΗ ΚΡΥΠΤΟΓΡΑΦΙΑ Εισαγωγή Ο στόχος της υβριδικής μεθόδου είναι να αντισταθμίσει τα μειονεκτήματα της συμμετρικής

Διαβάστε περισσότερα

Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Τμήμα Τηλεπληροφορικής & Διοίκησης

Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Τμήμα Τηλεπληροφορικής & Διοίκησης Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Τμήμα Τηλεπληροφορικής & Διοίκησης Κατάλογος Περιεχομένων ΕΙΣΑΓΩΓΉ ΣΤΟ CRYPTOOL... 3 DOWNLOADING CRYPTOOL... 3 ΜΗΧΑΝΙΣΜΟΊ ΚΑΙ ΑΛΓΌΡΙΘΜΟΙ ΚΡΥΠΤΟΓΡΑΦΊΑΣ ΣΤΟ CRYPTOOL...

Διαβάστε περισσότερα

Διαχείριση Ασφάλειας και Εμπιστοσύνης σε Πολιτισμικά Περιβάλλοντα

Διαχείριση Ασφάλειας και Εμπιστοσύνης σε Πολιτισμικά Περιβάλλοντα Διαχείριση Ασφάλειας και Εμπιστοσύνης σε Πολιτισμικά Περιβάλλοντα Ενότητα 6: ΑΣΦΑΛΕΙΑ ΚΑΙ ΕΜΠΙΣΤΟΣΥΝΗ ΣΤΟ ΔΙΑΔΙΚΤΥΟ, ΨΗΦΙΑΚΑ ΠΙΣΤΟΠΟΙΗΤΙΚΑ-ΨΗΦΙΑΚΕΣ ΥΠΟΓΡΑΦΕΣ Δημήτριος Κουκόπουλος Σχολή Οργάνωσης και Διοίκησης

Διαβάστε περισσότερα

Ερώτηση 1 η μεταγωγής κυκλώματος? : Ποια είναι τα κύρια χαρακτηριστικά της. Ερώτηση 2 η : Ποια είναι τα κύρια χαρακτηριστικά της μεταγωγής μηνύματος?

Ερώτηση 1 η μεταγωγής κυκλώματος? : Ποια είναι τα κύρια χαρακτηριστικά της. Ερώτηση 2 η : Ποια είναι τα κύρια χαρακτηριστικά της μεταγωγής μηνύματος? Μετάδοση Δεδομένων Δίκτυα Υπολογιστών 68 Ερώτηση 1 η μεταγωγής κυκλώματος? : Ποια είναι τα κύρια χαρακτηριστικά της Απάντηση : Στα δίκτυα μεταγωγής κυκλώματος (circuit switching networks), η μετάδοση των

Διαβάστε περισσότερα

6/1/2010. Ασφάλεια Ασύρματων & Κινητών Επικοινωνιών. Περιεχόμενα. Εισαγωγή /1 IEEE

6/1/2010. Ασφάλεια Ασύρματων & Κινητών Επικοινωνιών. Περιεχόμενα. Εισαγωγή /1 IEEE Ασφάλεια Ασύρματων & Κινητών Επικοινωνιών Ασύρματες Επικοινωνίες Μέρος III Χρήστος Ξενάκης Τμήμα Ψηφιακών Συστημάτων Πανεπιστήμιο Πειραιώς Slide: 1/42 Περιεχόμενα IEEE 802.11 WIRED EQUIVALENT PRIVACY (WEP)

Διαβάστε περισσότερα

Λειτουργικά Συστήματα (ΗΥ321)

Λειτουργικά Συστήματα (ΗΥ321) Λειτουργικά Συστήματα (ΗΥ321) Διάλεξη 19: Ασφάλεια Κρυπτογράφηση Βασική ιδέα: Αποθήκευσε και μετάδωσε την πληροφορία σε κρυπτογραφημένη μορφή που «δε βγάζει νόημα» Ο βασικός μηχανισμός: Ξεκίνησε από το

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 11: Διαδικασία Μετάδοσης Δεδομένων Εισαγωγή

ΚΕΦΑΛΑΙΟ 11: Διαδικασία Μετάδοσης Δεδομένων Εισαγωγή ΚΕΦΑΛΑΙΟ 11: Διαδικασία Μετάδοσης Δεδομένων 11.1. Εισαγωγή Η μετάδοση δεδομένων αναφέρεται στην μεταφορά κάποιας πληροφορίας από ένα σημείο σε κάποιο άλλο, αφού πρώτα έχει μετασχηματισθεί σε ένα ηλεκτρομαγνητικό

Διαβάστε περισσότερα

El Gamal Αλγόριθμος. Κώστας Λιμνιώτης Κρυπτογραφία - Εργαστηριακό μάθημα 7 2

El Gamal Αλγόριθμος. Κώστας Λιμνιώτης Κρυπτογραφία - Εργαστηριακό μάθημα 7 2 Κρυπτογραφία Εργαστηριακό μάθημα 7 (Αλγόριθμοι Δημοσίου Κλειδιού) α) El Gamal β) Diffie-Hellman αλγόριθμος για την ανταλλαγή συμμετρικού κλειδιού κρυπτογράφησης El Gamal Αλγόριθμος Παράμετροι συστήματος:

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ Σε δίκτυο υπολογιστών εμπιστευτική πληροφορία μπορεί να υπάρχει αποθηκευμένη σε μέσα αποθήκευσης (σκληροί δίσκοι, μνήμες κ.λ.π.), ή να κυκλοφορεί μέσου του δικτύου με τη μορφή πακέτων. Η ύπαρξη πληροφοριών

Διαβάστε περισσότερα

Συμμετρικά κρυπτοσυστήματα

Συμμετρικά κρυπτοσυστήματα Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία Συμμετρικά κρυπτοσυστήματα Άρης Παγουρτζής Στάθης Ζάχος Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών Δίκτυα Feistel Σημαντικές

Διαβάστε περισσότερα

WIRELESS SENSOR NETWORKS (WSN)

WIRELESS SENSOR NETWORKS (WSN) WIRELESS SENSOR NETWORKS (WSN) Δρ. Ιωάννης Παναγόπουλος Εργαστήριο Υπολογιστικών Συστημάτων Καθ. Γεώργιος Παπακωνσταντίνου Αθήνα 2008 ΕΙΣΑΓΩΓΗ ΣΤΑ WSN Σε συγκεκριμένες εφαρμογές, επιθυμείται η μέτρηση

Διαβάστε περισσότερα