ΑΣΦΑΛΕΙΑ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ (Βασικά Θέματα Κρυπτογραφίας Συμμετρική & Ασύμμετρη Κρυπτογραφία Ψηφιακές Υπογραφές) Καλλονιάτης Χρήστος Διδάσκων Πληροφορικής (Π.Δ. 407/80) Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας, Πανεπιστήμιο Αιγαίου http://www.aegean.gr/culturaltec/kalloniatis
Συμμετρικά Κρυπτοσυστήματα Κανόνες Συμμετρικής Κρυπτογραφίας Ένα σχήμα συμμετρικής συμβατικής κρυπτογραφίας αποτελείται από πέντε επιμέρους οντότητες: Αρχικό κείμενο (plaintext) Αλγόριθμο κρυπτογράφησης (encryption algorithm) Μυστικό κλειδί (secret key) Κρυπτογράφημα ή κρυπτογραφημένο μήνυμα (ciphertext) Αλγόριθμο αποκρυπτογράφησης (decryption algorithm) 2
Aπλοποιημένο Μοντέλο Συμβατικής Κρυπτογραφίας 3
Προϋποθέσεις για την ασφαλή χρήση της συμβατικής κρυπτογραφίας Η ύπαρξη ενός ισχυρού (strong) αλγορίθμου κρυπτογράφησης ΠομπόςκαιΔέκτηςέχουνπαραλάβειτααντίγραφατου μυστικού κλειδιού με ασφαλή τρόπο και τα διαφυλάσσουν σε ασφαλές μέρος Αδύναμος κρίκος: η μυστικότητα του κλειδιού και όχι η μυστικότητα του αλγορίθμου που χρησιμοποιείται 4
Κρυπτανάλυση Η διαδικασία της προσπάθειας αποκάλυψης του αρχικού κειμένου ή του κλειδιού από μη εξουσιοδοτημένες οντότητες δυνητικούς επιτιθέμενους 5
Ορισμός υπολογιστικά ασφαλούς σχήματος κρυπτογράφησης Ένα σχήμα κρυπτογράφησης θεωρείται υπολογιστικά ασφαλές (computationally secure) εφόσον το κρυπτογράφημα που παράγεται πληροί ένα τουλάχιστον από τα ακόλουθα κριτήρια: Το κόστος της παραβίασης του κρυπτομηνύματος να υπερβαίνει την αξία των τελικά λαμβανομένων πληροφοριών από τη διαδικασία της κρυπτανάλυσης Ο χρόνος που απαιτείται για την κρυπτανάλυση του κρυπτομηνύματος πρέπει να υπερβαίνει την ωφέλιμη διάρκεια ζωής των λαμβανομένων πληροφοριών 6
Μέσος χρόνος που απαιτείται για εξαντλητική αναζήτηση κλειδιών 7
Τοποθέτηση Συσκευών Κρυπτογράφησης Κρυπτογράφηση διαμέσου ενός δικτύου μεταγωγής πακέτων PSN PSN Δίκτυο μεταγωγής πακέτων PSN PSN = Συσκευή κρυπτογράφησης από-άκρη-σε-άκρη = Συσκευή κρυπτογράφησης ζεύξης PSN = Packet switching node 8
Διανομή Κρυπτογραφικών Κλειδιών Η διανομή κλειδιών μπορεί να επιτευχθεί με διάφορους τρόπους. Για δύο συμβαλλόμενα μέρη Α και Β: Ένα κλειδί θα μπορούσε να επιλεγεί από τον Α και να παραδοθεί με φυσικό τρόπο στον Β. Ένας έμπιστος τρίτος θα μπορούσε να επιλέξει το κλειδί και να το παραδώσει με φυσικό τρόπο στους Α και Β. ΕάνοΑκαιοΒέχουνχρησιμοποιήσειπρόσφατακάποιοκλειδί που παραμένει μυστικό, θα μπορούσε ο ένας να διαβιβάσει στον άλλο το νέο κλειδί, κρυπτογραφώντας το με το παλαιό κλειδί. ΕάνοιΑκαιΒδιατηρούνμίακρυπτογραφημένησύνδεσημε έναν τρίτο Γ, ο Γ θα μπορούσε να παραδώσει ένα κλειδί μέσω της κρυπτογραφημένης σύνδεσης στους Α και Β. 9
Αυτόματη διανομή κλειδιών σε πρωτόκολλο προσανατολισμένο στη σύνδεση Για τη λειτουργία αυτή, προσδιορίζονται δύο είδη κλειδιών: Κλειδί συνόδου (session key) Μόνιμο κλειδί (permanent key) Η διαμόρφωση (configuration) περιλαμβάνει τα ακόλουθα στοιχεία: Κέντρο διανομής κλειδιού (key distribution center KDC) Μετωπικός επεξεργαστής (front end processor FEP) 10
Αυτόματη διανομή κλειδιών σε πρωτόκολλο προσανατολισμένο στη σύνδεση (σχήμα) 1. O αποστολέας στέλνει ένα πακέτο αίτησης σύνδεσης 2. Ο FEP αποθηκεύει το πακέτο και ζητάει σύνδεση απο το KDC 3. KDC διανέμει το κλειδί συνόδου και προς της δύο άκρες 4. Αποστέλνει το πακέτο αιτήματος σύνδεσης FEP = front-end processor KDC = key distribution center 2 KDC FEP 3 Host 1 F E P Δίκτυο 4 F E P Host 11
Βήματα για την εγκατάσταση μιας σύνδεσης Βήμα 1. Αποστολή πακέτου αίτησης σύνδεσης (connectionrequest packet) Βήμα 2. Ο FEP αποθηκεύει το πακέτο και αποστέλλει μία αίτηση στο KDC για την επίτευξη της σύνδεσης Βήμα 3. Η επικοινωνία μεταξύ του FEP και του KDC κρυπτογραφείται χρησιμοποιώντας ένα κύριο κλειδί, που γνωρίζουν μόνον οι FEP και KDC. Εάν το KDC εγκρίνει το αίτημα σύνδεσης, τότε δημιουργεί το κλειδί συνόδου και το παραδίδει στους δύο κατάλληλους FEP χρησιμοποιώντας ένα μοναδικό μόνιμο κλειδί για κάθε FEP Βήμα 4. Ο FEP έχει τη δυνατότητα να αποστείλει το πακέτο αιτήματος σύνδεσης και να πραγματοποιηθεί μία σύνδεση μεταξύ των δύο συστημάτων. Τα δεδομένα του χρήστη κρυπτογραφούνται από τους αντίστοιχους FEP χρησιμοποιώντας το κλειδί συνόδου μιας χρήσης 12
Αρχές Ασύμμετρων Κρυπτοσυστημάτων Η κρυπτογραφία δημοσίου κλειδιού (public key cryptography) αξιοποιείται κατά προτεραιότητα: για αυθεντικοποίηση μηνυμάτων για διανομή μυστικών κλειδιών. 13
Δομή Κρυπτοσυστημάτων Δημοσίου Κλειδιού (1/2) Μία δομή κρυπτοσυστήματος δημοσίου κλειδιού αποτελείται από τις ακόλουθες συνιστώσες: Αλγόριθμος κρυπτογράφησης (encryption algorithm) Αρχικό κείμενο (plaintext) Ζεύγος δημόσιου (public) και ιδιωτικού (private) κλειδιού Κρυπτογράφημα ή κρυπτογραφημένο μήνυμα (ciphertext) Αλγόριθμος αποκρυπτογράφησης (decryption algorithm) 14
Δομή Κρυπτοσυστημάτων Δημοσίου Κλειδιού (2/2) Joy Τα δημόσια κλειδιά του Bob Ted Mike Alice Το δημόσιο κλειδί της Alice Αποστελλόμενο Κρυπτογράφημα Το ιδιωτικό κλειδί της Alice Αρχικό κείμενο Αλγόριθμος κρυπτογράφησης (π.χ., DES) Αλγόριθμος αποκρυπτογράφησης Αρχικό κείμενο α) Κρυπτογράφηση Το ιδιωτικό κλειδί του Bob Joy Mike Τα δημόσια κλειδιά της Alice Ted Bob Το δημόσιο κλειδί του Bob Αποστελλόμενο Κρυπτογράφημα Αρχικό κείμενο Αλγόριθμος κρυπτογράφησης (π.χ., DES) Αλγόριθμος αποκρυπτογράφησης Αρχικό κείμενο β) Αυθεντικοποίηση 15
Εφαρμογές Κρυπτοσυστημάτων Δημοσίου Κλειδιού Κρυπτογράφηση/Αποκρυπτογράφηση Decryption) (Encryption/ Ψηφιακή υπογραφή (Digital Signature) Ανταλλαγή κλειδιών (Key Exchange) 16
Απαιτήσεις σε Περιβάλλον Κρυπτογραφίας Δημοσίου Κλειδιού (1/2) Ένας τέτοιος αλγόριθμος πρέπει: Να είναι υπολογιστικά εύκολο: για κάποιο φορέα Β να δημιουργήσει ένα ζεύγος κλειδιών (δημόσιο κλειδί KU b, ιδιωτικό κλειδί KR b ) για τον αποστολέα Α, γνωρίζοντας το δημόσιο κλειδί και το μήνυμα προς κρυπτογράφηση Μ, να δημιουργήσει το αντίστοιχο κρυπτογραφημένο μήνυμα C=E KUb (M) για τον παραλήπτη Β να αποκρυπτογραφήσει το κρυπτογραφημένο μήνυμα C, χρησιμοποιώντας το ιδιωτικό του κλειδί, ώστε να ανακτήσει το αρχικό μήνυμα: M=D KRb (C) = D KRb [E KUb (M)] 17
Απαιτήσεις σε Περιβάλλον Κρυπτογραφίας Δημοσίου Κλειδιού (2/2) Να είναι υπολογιστικά ανέφικτο (computationally infeasible) για έναν επιτιθέμενο γνωρίζοντας το δημόσιο κλειδί KU b να υπολογίσει το αντίστοιχο ιδιωτικό κλειδί KR b καθώς και το κρυπτογραφημένο κείμενο C, να μπορέσει να ανακτήσει το αρχικό κείμενο M. Προαιρετικά: Οποιοδήποτε από τα δύο συσχετιζόμενα κλειδιά μπορεί να χρησιμοποιηθεί για την κρυπτογράφηση και το άλλο για την αποκρυπτογράφηση, δηλαδή ισχύει: M=D KRb [E KUb (M)] = D KUb [E KRb (M)] 18
Σύνοψη Η Κρυπτογραφία και η Κρυπτανάλυση ασχολούνται με τη μελέτη, την ανάλυση, την ανάπτυξη και την επαλήθευση κρυπτογραφικών μεθόδων, τεχνικών, συστημάτων και πρωτοκόλλων. Αποτελούν από κοινού το επιστημονικό πεδίο της Κρυπτολογίας. Οι εφαρμογές της Κρυπτογραφίας αποτελούν το βασικό τεχνολογικό υπόβαθρο σε περιβάλλον δικτύων υπολογιστών για την υλοποίηση μέτρων αντιμετώπισης απειλών (όπως της υποκλοπής δεδομένων, της τροποποίησης δεδομένων, της παράνομης αναπαραγωγής ψηφιακών εγγράφων, της παραβίασης της ιδιωτικότητας κλπ.) στο αναπτυσσόμενο περιβάλλον της Κοινωνίας της Πληροφορίας. 19
Συμμετρική και Ασύμμετρη Κρυπτογραφία Συμμετρική (Κλασική) Κρυπτογραφία Το ίδιο κλειδί χρησιμοποιείται για την κρυπτογράφηση και για την αποκρυπτογράφηση δεδομένων Τα συναλλασσόμενα μέρη πρέπει να συμφωνήσουν εκ των προτέρων για το κλειδί που θα χρησιμοποιηθεί Η προστασία του κλειδιού αποτελεί κρίσιμο πρόβλημα Ασύμμετρη (Δημόσιου Κλειδιού) Κρυπτογραφία Χρησιμοποιούνται δύο διαφορετικά κλειδιά, ένα ιδιωτικό και ένα δημόσιο, τα οποία σχετίζονται μεταξύ τους με μονόδρομες συναρτήσεις (one way functions) Τα δεδομένα που κρυπτογραφούνται με το ένα κλειδί, αποκρυπτογραφούνται αποκλειστικά με το άλλο Μόνο μία φυσική οντότητα γνωρίζει το ιδιωτικό κλειδί, ενώ το δημόσιο κλειδί είναι εύκολα διαθέσιμο στο κοινό
Υβριδική Κρυπτογραφία Η ασύμμετρη κρυπτογραφία είναι μη αποτελεσματική για την κρυπτογράφηση μεγάλου όγκου δεδομένων, αντίθετα από τη συμμετρική Συνηθισμένη χρήση της ασύμμετρης κρυπτογραφίας είναι η αποστολή ενός συμμετρικού κρυπτογραφικού κλειδιού μέσω ενός ανασφαλούς διαύλου Ένα Κέντρο Διανομής Κλειδιών (Key Distribution Center) διανέμει με ασφάλεια στα συναλλασσόμενα μέρη ένα συμμετρικό κλειδί, κρυπτογραφημένο με τα δημόσια κλειδιά των εμπλεκομένων Οι συναλλασσόμενοι αποκρυπτογραφούν το κλειδί αυτό και ξεκινούν εμπιστευτικές συνόδους μεταξύ τους, χρησιμοποιώντας συμμετρικούς αλγόριθμους Ο συνδυασμός των δύο τεχνολογιών ονομάζεται Υβριδική Κρυπτογραφία με Ψηφιακό Φάκελο (digital envelope)
Πλεονεκτήματα της Κρυπτογραφίας Δημόσιου Κλειδιού Τα δημόσια κλειδιά δεν απαιτούν διαφύλαξη εμπιστευτικότητας Τα ιδιωτικά κλειδιά δεν αποκαλύπτονται και δε διανέμονται σε τρίτους, σε καμία περίπτωση Για να σταλεί ένα εμπιστευτικό μήνυμα χρησιμοποιείται το δημόσιο κλειδί του παραλήπτη. Μόνο το ιδιωτικό κλειδί που κατέχει ο παραλήπτης μπορεί να αποκρυπτογραφήσει το μήνυμα Για να υπογραφεί ένα μήνυμα χρησιμοποιείται το ιδιωτικό κλειδί του αποστολέα. Οποιοσδήποτε τρίτος μπορεί να επαληθεύσει την υπογραφή με το δημόσιο κλειδί του αποστολέα Ελαχιστοποίηση της διαχείρισης κλειδιών Μεγάλη διάρκεια κύκλου ζωής των κλειδιών Παρέχεται η δυνατότητα επαλήθευσης της ακεραιότητας δεδομένων
Προβλήματα της Κρυπτογραφίας Δημόσιου Κλειδιού Πώς επαληθεύεται η ταυτότητα του κατόχου ενός ζεύγους κλειδιών; Πώς διασφαλίζεται η μυστικότητα και η ακεραιότητα των κλειδιών κατά τη δημιουργία και τη χρήση τους; Πώς διανέμονται στο κοινό τα δημόσια κλειδιά, έτσι ώστε να διασφαλίζεται η αντιστοίχησή τους με μία φυσική οντότητα; Πώς ολοκληρώνεται ο κύκλος ζωής τους, όταν αυτό κριθεί αναγκαίο; Διαφαίνεται η ανάγκη ύπαρξης μίας Έμπιστης Τρίτης Οντότητας που διαχειρίζεται Ψηφιακά Πιστοποιητικά.
Ηλεκτρονικές υπογραφές
Ορισμός Η Ηλεκτρονική Υπογραφή (electronic signature) είναι δεδομένα συνημμένα ή συσχετισμένα με ένα ηλεκτρονικό κείμενο, τα οποία χρησιμεύουν στην επαλήθευση της αυθεντικότητάς του Έχει τα εξής χαρακτηριστικά: Είναι μονοσήμαντα συνδεδεμένη με τον υπογράφοντα Παρέχει τη δυνατότητα αναγνώρισης του υπογράφοντα Δημιουργείται με μέσα που βρίσκονται στον αποκλειστικό έλεγχο του υπογράφοντα Είναι μονοσήμαντα συνδεδεμένη με το σχετικό κείμενο, με τρόπο ώστε να διασφαλίζεται η ακεραιότητά του
Συναρτήσεις Σύνοψης (Hash functions) Δέχονται ως είσοδο δεδομένα μεταβλητού μεγέθους και επιστρέφουν μία σειρά bits σταθερού μήκους Το αποτέλεσμα ονομάζεται Σύνοψη ή Ίχνος ή Αποτύπωμα του αρχικού κειμένου Οι συναρτήσεις είναι μονόδρομες και συνεπώς η ανάκτηση του αρχικού κειμένου από τη σύνοψη είναι πρακτικά ανέφικτη Η σύνοψη χαρακτηρίζει μοναδικά το αρχικό κείμενο, δηλαδή είναι πρακτικά ανέφικτο να βρεθούν δύο αρχικά κείμενα με την ίδια σύνοψη Γνωστές συναρτήσεις σύνοψης: RIPEMD 160, MD2, MD5, SHA 1, BSAH, Square Mod (σύνηθες μήκος σύνοψης: 128 160 bits)
Δημιουργία και Επαλήθευση Ψηφιακής Υπογραφής Δημιουργία Επαλήθευση