Διαχείριση και Ασφάλεια Τηλεπικοινωνιακών Συστημάτων Κρυπτοσυστήματα Δημοσίου Κλειδιού
Εφαρμογές κρυπτοσυστημάτων δημοσίου κλειδιού Κρυπτογράφηση (Encryption)/Αποκρυπτογράφηση (Decryption) Διανομή μυστικού (συμμετρικού) κλειδιού Ψηφιακές υπογραφές (Digital Signatures) Ανταλλαγή κλειδιών (Key Exchange) 2
Κρυπτογράφηση/αποκρυπτογράφηση Ασύμμετρο κρυπτοσύστημα: o περιλαμβάνει τη χρήση δυο κλειδιών: ενός δημοσίου κλειδιού (public key) και ενός προσωπικού κλειδιού (private key) o τα δεδομένα κρυπτογραφούνται με το δημόσιο κλειδί του παραλήπτη και αποστέλλονται o όταν παραληφθούν αποκρυπτογραφούνται με το προσωπικό κλειδί του παραλήπτη o η γνώση του δημοσίου κλειδιού δεν επιτρέπει την ανακάλυψη του ιδιωτικού o αλγόριθμος: RSA (Rivest, Shamir, Adleman) 3
Διανομή μυστικού κλειδιού (1/2) το αρχικό μήνυμα m κρυπτογραφείται με το μυστικό (συμμετρικό) κλειδί το μυστικό κλειδί κρυπτογραφείται με το δημόσιο κλειδί του παραλήπτη ψηφιακός φάκελος (digital envelope) 4
Διανομή μυστικού κλειδιού (2/2) ψηφιακός φάκελος (digital envelope) το κρυπτογραφημένο κλειδί το μυστικό κλειδί αποκρυπτογραφείται με το ιδιωτικό κλειδί του παραλήπτη το αρχικό μήνυμα m ciphertext c το μυστικό κλειδί αποκρυπτογραφεί το μήνυμα 5
Ψηφιακές υπογραφές (1/2) Η κρυπτογράφηση/αποκρυπτογράφηση αντιμετωπίζει το πρόβλημα της υποκλοπής (confidentiality) αλλά όχι αυτά της παραποίησης (integrity) και προσποίησης (authentication) Η ψηφιακή υπογραφή (digital signature) θεωρείται ως το ηλεκτρονικό ισοδύναμο της συμβατικής υπογραφής και είναι μια συμβολοσειρά που προκύπτει από το συνδυασμό των δυαδικών ψηφίων ενός μηνύματος και αυτών ενός μυστικού κλειδιού Η χρησιμοποίηση της ψηφιακής υπογραφής σε ένα σύστημα ασφαλείας ενός δικτύου είναι απαραίτητη καθώς παρέχει αυθεντικοποίηση του αποστολέα και ακεραιότητα του μηνύματος Αλγόριθμος DSA (Digital Signature Algorithm) 6
Ψηφιακές υπογραφές (2/2) Για την παραγωγή ψηφιακής υπογραφής χρησιμοποιείται μια μαθηματική συνάρτηση μονόδρομος τεμαχισμός (one-way hash function) ή σύνοψη μηνύματος (message digest) Με την εφαρμογή μιας hash function σε ένα μήνυμα προκύπτει ένας αριθμός σταθερού μήκους: ο αριθμός είναι μοναδικός για κάθε μήνυμα, ακόμη και μικρή αλλαγή στο μήνυμα οδηγεί σε διαφορετικό αριθμό το μήνυμα δεν μπορεί να εξαχθεί από τη γνώση του αριθμού (μονόδρομη συνάρτηση) Η κρυπτογράφηση του message digest με το ιδιωτικό κλειδί του αποστολέα αποτελεί την εισαγωγή ψηφιακής υπογραφής σε ένα μήνυμα Πώς αυτή η διαδικασία εξασφαλίζει τη μη-παραποίηση του μηνύματος και τη μη-προσποίηση του αποστολέα? 7
Υπογραφή-Sign (1/2) 8
Υπογραφή-Sign (2/2) Ο αποστολέας A εφαρμόζει μια hash συνάρτηση στο μήνυμα για να δημιουργήσει μια περίληψη μηνύματος (message digest) προκαθορισμένου μεγέθους Για να δημιουργήσει μια ψηφιακή υπογραφή κρυπτογραφεί συνήθως την περίληψη μηνύματος και όχι το ίδιο το μήνυμα με το ιδιωτικό του κλειδί η κρυπτογραφημένη περίληψη μηνύματος είναι η ψηφιακή υπογραφή του αποστολέα Ο αποστολέας Α στέλνει στον παραλήπτη Β την κρυπτογραφημένη περίληψη μηνύματος και το μήνυμα κρυπτογραφημένο ή όχι 9
Επαλήθευση-Verify (1/2) 10
Επαλήθευση-Verify (2/2) Ο παραλήπτης Β εφαρμόζει την ίδια hash συνάρτηση με τον αποστολέα Α στο μήνυμα που παρέλαβε. Δημιουργεί έτσι τη δική του εκδοχή για την ορθή περίληψη μηνύματος. Στη συνέχεια αποκρυπτογραφεί τη ψηφιακή υπογραφή την οποία παρέλαβε συνημμένη με το μήνυμα χρησιμοποιώντας το δημόσιο κλειδί του Α. Η διαδικασία αυτή οδηγεί στην αναπαραγωγή της περίληψη μηνύματος την οποία δημιούργησε ο Α. Ο Β έχει τώρα στη διάθεση του δύo περιλήψεις. Τις συγκρίνει και αν ταιριάζουν, αυθεντικοποίησε επιτυχώς τη ψηφιακή υπογραφή του Α. Αν όχι, υπάρχουν λίγες πιθανές εξηγήσεις: είτε κάποιος προσποιείται τον Α είτε το μήνυμα μεταβλήθηκε από τη στιγμή που το υπέγραψε ο Α (εσκεμμένα π.χ. intruder ή μη π.χ. λάθος στη μετάδοση) 11
Συνολική Διαδικασία 12
Ανταλλαγή κλειδιών (1/3) Η αποτελεσματικότητα του αλγορίθμου Diffie-Hellman βασίζεται στη δυσκολία υπολογισμού διακριτών λογαρίθμων Διακριτός λογάριθμος: αρχικά προσδιορίζεται μία πρωτογενής ρίζα a ενός πρώτου αριθμού q τέτοιου ώστε οι δυνάμεις του να παράγουν όλους τους ακεραίους από το 1 έως το q-1 ( a mod q, a 2 mod q a q-1 mod q αποτελούν τους 1... q-1 με κάποια μετάθεση) για οποιονδήποτε ακέραιο b<q και για μια πρωτογενή ρίζα a ενός πρώτου αριθμού q μπορεί να βρεθεί μοναδικός αριθμός i τέτοιος ώστε b=a i mod q, 1<=1<=q-1 ο εκθέτης i αναφέρεται ως διακριτός λογάριθμος του b για βάση a mod q και συμβολίζεται i=ind a,q (b) 13
Ανταλλαγή κλειδιών (2/3) Ανταλλαγή κλειδιών κατά Diffie-Hellman Alice Bob X A, q, a X B Y A = a XA mod q q, a, Y A Y B = a XB mod q K = Y B XA mod q Y B K = Y A XB mod q 14
Ανταλλαγή κλειδιών (3/3) Τα X A, X B είναι μυστικά (ιδιωτικά κλειδιά) Ένας επιτιθέμενος μπορεί να μάθει τα q, a, Y A, Y B όμως, ο υπολογισμός του X B είναι δύσκολος καθώς αποτελεί διακριτό λογάριθμο X B =ind a,q (Υ B ) το ίδιο και ο υπολογισμός του X A καθώς αποτελεί διακριτό λογάριθμο X A =ind a,q (Υ A ) Παράδειγμα: έστω a=7 και q=71 έστω ότι οι Αlice και Bob επιλέγουν X A =5 και X b =12 Y A = a XA mod q = 7 5 mod 71 = 51 Y B = a XB mod q = 7 12 mod 71 = 4 K = Y A XB mod q = 51 12 mod 71 = 30 ή Y B XA mod q = 4 5 mod 71 = 30 15