Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 1 ΠΜΣ36 Ασφάλεια Πληροφοριακών Συστημάτων Αν. Καθ. Π. Γεωργιάδης Δρ. Μαριάς Ιωάννης Υπ. Δρ. Παπαπαναγιώτου Κωνσταντίνος.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 1 ΠΜΣ36 Ασφάλεια Πληροφοριακών Συστημάτων Αν. Καθ. Π. Γεωργιάδης Δρ. Μαριάς Ιωάννης Υπ. Δρ. Παπαπαναγιώτου Κωνσταντίνος."— Μεταγράφημα παρουσίασης:

1 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 1 ΠΜΣ36 Ασφάλεια Πληροφοριακών Συστημάτων Αν. Καθ. Π. Γεωργιάδης Δρ. Μαριάς Ιωάννης Υπ. Δρ. Παπαπαναγιώτου Κωνσταντίνος 30/05/07

2 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 2 Συναρτήσεις Σύνοψης Αναφέρονται και ως Συναρτήσεις Κατακερματισμού Απεικονίζουν ένα μήνυμα αυθαίρετου μήκους (pre-image) σε ένα σταθερό αριθμό bits To αποτέλεσμα της διαδικασίας ονομάζεται αποτύπωμα, ή hash value, message digest ή fingerprint Αλγόριθμοι:  MD5 (Message Digest 5, Rivest 1991)  SHA-1 (Secure Hash Algorithm 1, NIST 1994)  RIPEMD (RACE Integrity Primitives Evaluation Message Digest, Europe RACE Framework, 1996) Χαρακτηριστικά

3 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 3 Μία συνάρτηση σύνοψης H(x) παράγει αποτύπωμα h (digital fingerprints) αρχείου x ή μηνύματος ( M ) ή άλλης μορφής δεδομένων με τις εξής προϋποθέσεις 1.Μπορεί να εφαρμοστεί σε τμήμα δεδομένων οποιουδήποτε μεγέθους 2.Παράγει έξοδο (σύνοψη h ) σταθερού μικρού μήκους 3.Εύκολα υπολογίσιμη για δοθέν x ή M 4.Για δοθέν σύνοψη h πρέπει να είναι υπολογιστικά ανέφικτο να βρεθεί x τέτοιο ώστε H(x)=h 5.Πρέπει να είναι υπολογιστικά ανέφικτο να βρεθεί ζεύγος (x,y) τέτοιο ώστε H(x)=H(y) Η σύνοψη H(x) μπορεί αποστέλλεται μαζί με το μήνυμα Μ Συναρτήσεις Σύνοψης Χαρακτηριστικά

4 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 4 Η συνάντηση σύνοψης H(x) αντιστοιχεί strings αυθαίρετα μεγάλου (αλλά σταθερού) μήκους σε ορισμένου και σταθερού μήκους strings των n bits. Για πεδία ορισμού D και τιμών R H: D  R, |D| > |R| Η H(x) είναι many-to-one. Ύπαρξη collisions (inputs με ταυτόσημα digests) Περιορίζοντας την H(x) σε πεδίο ορισμού των t- bit (t>n), αν η H(x) είναι “random” (όλα τα digests είναι πιθανοτικά ισοδύναμα), τότε μέχρι 2 t-n inputs αντιστοιχίζονται σε ένα digest, δύο τυχαία επιλεγμένα inputs παράγουν το ίδιο digest με πιθανότητα 2 -n (independent of t ). Συναρτήσεις Σύνοψης Χαρακτηριστικά

5 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 5 Μονόδρομες (One Way)  Γνωρίζοντας το αποτύπωμα (hash value) δεν μπορούμε να υπολογίσουμε το αρχικό μήνυμα ή κείμενο (pre-image) Υπολογιστικά Ελεύθερες Συγκρούσεων (Collision-free)  Δεν μπορούν να βρεθούν δύο διαφορετικά αρχικά μηνύματα (pre- images) που να δημιουργούν το ίδιο αποτύπωμα (hash value) Σημαντικότερες Ιδιότητες 0010101100111000100110………………11001001000 0010011000110 pre-image hash value Hash Function Συναρτήσεις Σύνοψης

6 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 6 Αλγόριθμοι Κατακερματισμού MD5 (Rivest, 1991)  Είσοδο ένα μήνυμα αυθαιρέτου μήκους και παράγει αποτύπωμα των 128-bit  Πιο αργός από τον SHA-1  Με ασφάλεια που αμφισβητείται έντονα SHA-1, NIST (1994)  Είσοδο ένα μήνυμα μεγέθους έως 2 64 bit και παράγει αποτύπωμα των 160-bit  Εφαρμογές: TLS, SSL, PGP, SSH, S/MIME, και IPSec.  Τέσσερις εκδόσεις με μεγαλύτερο αποτύπωμα: SHA-224, SHA-256, SHA-384, και SHA-512 (αναφέρονται και ως SHA-2) RIPEMD-160  Παράγει message digest 160-bit σε δεκα-εξαδική μορφή  Ασφαλέστερος από τον MD5  Υπάρχουν εκδόσεις με μεγαλύτερο αποτύπωμα (128, 256 and 320-bit versions) Συναρτήσεις Σύνοψης

7 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 7 Αλγόριθμοι Κατακερματισμού – SHA-1 Αντιστοιχεί bitstrings με bitlength <2 64 σε 16-bit digests Τυποποιήσεις FIPS PUB 180-2, Secure Hash Standard (including SHA-1, SHA-256, …) RFC 3174, US Secure Hash Algorithm 1 (SHA1) Παραδείγματα SHA-1 hash σε 43-byte ASCII είσοδο: SHA1("The quick brown fox jumps over the lazy dog") = 2fd4e1c67a2d28fced849ee1bb76e7391b93eb12 Μικρή αλλαγή (d to c): SHA1("The quick brown fox jumps over the lazy cog") = de9f2c7fd25e1b3afad3e85a0bd17d9b100db4b3 Το zero-length string SΗΑ1("") = da39a3ee5e6b4b0d3255bfef95601890afd80709 Συναρτήσεις Σύνοψης

8 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 8 Συναρτήσεις Σύνοψης και Αυθεντικοποίηση ΜΥΝΗΜΑ H H Σύγκριση A, B: άκρα επικοινωνίας S ΑΒ : μυστική τιμή (π.χ., password, ημερομηνία γέννησης) Μ: Μήνυμα που θέλει να στείλει ο Α σε Β Αποστολέας Α Παραλήπτης B Παράγει MD M = H (S AB || M) Αποστέλλει Μ και MD M στον B Λαμβάνει M και MD M Υπολογίζει MD΄ M = H (S AB || M) Συγκρίνει MD΄ M και MD M Αν ίσα τότε ακεραιότητα Μ και αυθεντικοποίηση αποστολής από Α S ΑΒ MD M MD ΄ M Συναρτήσεις Σύνοψης

9 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 9 Κρυπτογραφία Δημοσίου Κλειδιού Εισαγωγικά Στοιχεία Σε ένα σχήμα κρυπτογραφίας public-key encryption για κάθε ζεύγος encryption/ decryption (e, d), το κλειδί e (public key) γίνεται δημόσια διαθέσιμο, ενώ το κλειδί d (private key) διατηρείται μυστικό. Για ένα τέτοιο σχήμα πρέπει να είναι υπολογιστικά ανέφικτο να προσδιοριστεί το d γνωρίζοντας μόνο το e !!! «Επινοήθηκε» από τους Diffie και Hellman το 1976 Πρώτο σχήμα Δημοσίων Κλειδιών: RSA από Rivest, Shamir, Adleman (1978, MIT)

10 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 10 Κρυπτογραφία Δημοσίου Κλειδιού Εισαγωγικά Στοιχεία Σημαντικές διαφορές σε σχέση με τη συμμετρική κρυπτογραφία, ωστόσο: α) δεν την αντικατέστησε β) δεν είναι περισσότερο ούτε λιγότερο ασφαλής σε κρυπτανάλυση από γ) η διανομή των κλειδιών είναι περισσότερο τετριμμένη, αλλά όχι απλούστερη δ) Η διαχείριση κλειδιών γίνεται δυσκολότερη

11 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 11 Κρυπτογραφία Δημοσίου Κλειδιού Αρχικό κείμενο ή πρωτογενές μήνυμα (plaintext) Αλγόριθμος κρυπτογράφησης (encryption algorithm) Δημόσιο και Ιδιωτικό κλειδί (public/private key) Κρυπτογράφημα ή κρυπτογραφημένο κείμενο (ciphertext) Αλγόριθμος αποκρυπτογράφησης (decryption algorithm) Συστατικά Κρυπτογραφίας Δημοσίου Κλειδιού

12 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 12 Κρυπτογραφία Δημοσίου Κλειδιού 1)Κρυπτογραφία Δημόσιο κλειδί παραλήπτη Ιδιωτικό κλειδί παραλήπτη

13 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 13 Κρυπτογραφία Δημοσίου Κλειδιού 2)Αυθεντικοποίηση ή Ψηφιακή Υπογραφή Ιδιωτικό κλειδί αποστολέα Δημόσιο κλειδί αποστολέα

14 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 14 Κρυπτογραφία Δημοσίου Κλειδιού Κρυπτογράφηση/αποκρυπτογράφηση Ο αποστολέας κρυπτογραφεί το plaintext με το δημόσιο κλειδί του παραλήπτη. Ο παραλήπτης αποκρυπτογραφεί το ciphertext με το ιδιωτικό του κλειδί, που μόνο αυτός κατέχει. Εμπιστευτικότητα, ακεραιότητα Ψηφιακή Υπογραφή Ο αποστολέας κρυπτογραφεί (ή υπογράφει) το plaintext με το ιδιωτικό του κλειδί, που μόνο αυτός κατέχει. Ο παραλήπτης αποκρυπτογραφεί το ciphertext με το δημόσιο κλειδί του αποστολέα. Αυθεντικοποίηση Ανταλλαγή Κλειδιών Οι δύο πλευρές συνεργάζονται για να ανταλλάξουν ένα κλειδί συνόδου. Υφίστανται αρκετές προτάσεις, που εμπλέκουν το ή τα ιδιωτικά κλειδιά. «Υπηρεσίες» Κρυπτογραφίας Δημοσίου Κλειδιού

15 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 15 Κρυπτογραφία Δημοσίου Κλειδιού «Υπηρεσίες» Κρυπτογραφίας Δημοσίου Κλειδιού Κρυπτογράφηση/ αποκρυπτογράφηση Ψηφιακή Υπογραφή Ανταλλαγή Κλειδιών Diffie-Hellman --V RSA VVV DSS (DSA) -V- Elliptic Curve VVV

16 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 16 Κρυπτογραφία Δημοσίου Κλειδιού Αυθεντικοποίηση ή Ψηφιακή Υπογραφή με Σύνοψη Κρυπτογράφηση: Ιδιωτικό κλειδί αποστολέα Αποκρυπτογράφηση: Δημόσιο κλειδί αποστολέα Σύνοψη 1 7 7 8 9 0 9 1 2 34 5 5 6 ΚΙΑΚΙΑ Σύνοψη 1 7 7 8 9 0 9 7 ΚΔΑΚΔΑ 7α 8α 9α 8α 9α 7α Παραλήπτης, Π Σύγκριση Αποστολέας, Α

17 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 17 Κρυπτογραφία Δημοσίου Κλειδιού Απαιτήσεις Κρυπτογραφίας Δημοσίου Κλειδιού 1.Είναι υπολογιστικά εφικτό για ένα μέρος Β να παράγει ένα ζεύγος κλειδιών (public key e b, private key d b ) 2.Είναι υπολογιστικά εφικτό για έναν αποστολέα Α, που γνωρίζει το δημόσιο κλειδί του Β και το plaintext Μ να δημιουργήσει το αντίστοιχο ciphertext: C= e b (M) 3.Είναι υπολογιστικά εφικτό για έναν παραλήπτη B, που γνωρίζει το ιδιωτικό του κλειδί και λαμβάνει το ciphertext C να ανακτήσει το αρχικό κείμενο M : Μ=d b (C)=d b (e b (M)) 4.Είναι υπολογιστικά ανέφικτο γνωρίζοντας μόνο το δημόσιο κλειδί e d να προσδιοριστεί το ιδιωτικό κλειδί d b 5.Είναι υπολογιστικά ανέφικτο γνωρίζοντας το δημόσιο κλειδί e d και το ciphertext C να προσδιοριστεί το αρχικό μήνυμα M 6.Οποιοδήποτε από τα δύο κλειδιά μπορεί να χρησιμοποιηθεί για την κρυπτογράφηση και το άλλο για την αποκρυπτογράφηση, ήτοι Μ=d b (e b (M))=e b (d b (M))

18 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 18 Κρυπτογραφία Δημοσίου Κλειδιού  Είναι block cipher  To plaintext Μ και το ciphertext C είναι ακέραιοι αριθμοί, με τιμές μεταξύ 0 και n-1, για μεγάλο n  Συμβολισμοί  Κρυπτογράφηση C=M e mod n  Αποκρυπτογράφηση Μ=C d mod n  Τόσο ο αποστολέας όσο και ο παραλήπτης πρέπει να γνωρίζουν τις τιμές των e και n.  Αντιθέτως, την τιμή d πρέπει να τη γνωρίζει μόνο ο παραλήπτης.  Πρόκειται για σχήμα με δημόσιο κλειδί {e,n} και ιδιωτικό κλειδί {d} Αλγόριθμος RSA

19 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 19 Κρυπτογραφία Δημοσίου Κλειδιού Παραγωγή Κλειδιού Επέλεξε πρώτους, μεγάλους, p, q διαφορετικούς, αριθμούς Υπολόγισε n:n = p x q Υπολόγισε φ(n): φ(n)=(p-1) x (q-1) Επέλεξε ακέραιο e (1<e<φ(n)):gcd(φ(n), e) = 1 Υπολόγισε d:d=e -1 mod(φ(n)) Δημόσιο κλειδί{e,n} Ιδιωτικό κλειδί{d} Κρυπτογράφηση Αρχικό κείμενοΜ<n ΚρυπτογράφημαC=M e mod n Αποκρυπτογράφηση Κρυπτογράφημα C Αρχικό κείμενο M=C d mod n Συνάρτηση Euler e, φ(n): relatively prime Χρήση Εκτ. Αλγ. Ευκλείδη  unique d Αλγόριθμος RSA

20 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 20 Κρυπτογραφία Δημοσίου Κλειδιού Παραγωγή Κλειδιού Επέλεξε πρώτους, μεγάλους, p, q διαφορετικούς, τυχαίους, αριθμούς Υπολόγισε n < Μ:n = p x q Υπολόγισε φ(n):φ(n)=(p-1) x (q-1) Επέλεξε ακέραιο e (1<e<φ(n)):gcd(φ(n), e) = 1 Υπολόγισε d:d=e -1 mod(φ(n)) p = 7, q = 17 n = 119 φ(n) = 96 e = 5 d = 77 Έστω M = 19 Αποστολέας, encryptionC = M e mod n = 19 5 mod 119 = 66 Παραλήπτης, decryptionM= C d mod n = 66 77 mod 119 = 19 Αλγόριθμος RSA Συνάρτηση Euler Χρήση Εκτ. Αλγόριθμου Ευκλείδη  unique d Δυαδική-πολλαπλασιαστική εκθετοποίηση

21 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 21 Κρυπτογραφία Δημοσίου Κλειδιού  Δυσκολία RSA:Παραγοντοποίηση Μεγάλων Ακεραίων (FACTORING problem)  Δεδομένου ακεραίου θετικού n, βρες τους πρώτους παραγοντοποιητές του (prime factorization), ή γράψε το n ως n=p 1 e1 p 2 e2 …p k ek  όπου p i, p j πρώτοι μεταξύ τους  Το μήκος κλειδιού μπορεί να διαφέρει (συνήθως των 1024 bits)  Variable plaintext block size  Για ζεύγος κλειδιών public= και private =  encryption: C= M e mod n, M < n  decryption: M = C d mod n  signature: S = M d mod n, M < n  verification: M = S e mod n Αλγόριθμος RSA

22 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 22 Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή Η πρώτη πρακτική λύση στο πρόβλημα διανομής κλειδιών Αλγόριθμος ανταλλαγής κλειδιών για δύο μέρη που ποτέ δεν ήρθαν στο παρελθόν σε συμφωνία ή μοιράζονται κοινό μυστικό κλειδί ή τιμή Δυνατότητα ανταλλαγής μηνυμάτων για συμφωνία κλειδιών (key agreement) μέσα από ανασφαλές κανάλι Αποτελεσματικός σε παθητικές επιθέσεις (eavesdropping), αλλά όχι σε ενεργητικές Κανένα μέρος δεν έχει εξασφάλιση για την ταυτότητα του άλλου (entity authentication) Δυσκολία: Υπολογισμός Διακριτών Λογαρίθμων Αλγόριθμος Diffie – Hellman

23 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 23 Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή Ολίγη λογαριθμική αριθμητική... Έστω ακέραιος, πρώτος αριθμός p Ως πρωτογεννής ρίζα a του p ορίζεται ο αριθμός του οποίου οι δυνάμεις του modulo(p) παράγουν όλους τους ακέραιους από 1 έως p-1  Αν a είναι πρωτογεννής ρίζα του p τότε οι αριθμοί amodp, a 2 modp, …, a p-1 modp  είναι διακριτοί και αποτελούν τους ακέραιους από 1 έως p-1 Για οποιοδήποτε ακέραιο b και για μία πρωτόγεννη ρίζα α ενός πρώτου p μπορεί να βρεθεί μοναδικός αριθμός i τέτοιος ώστε b=α i modp (0≤i≤p-1). O i καλείται διακριτός λογάριθμος ή δείκτης του b για βάση a και modp και συμβολίζεται ως i=ind a,p (b) Αλγόριθμος Diffie – Hellman

24 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 24 Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή Ο A και ο B στέλνουν ο καθένας από ένα μήνυμα σε ανοικτό κανάλι Αποτέλεσμα: Κοινό μυστικό κλειδί K γνωστό στα δύο μέρη A και B Βήμα 1. Επιλέγεται και δημοσιοποιείται πρώτος αριθμός p και μία πρωτόγεννης ρίζα α του p Βήμα 2. Δημιουργία τυχαίων αριθμών Ο Α επιλέγει έναν τυχαίο ακέραιο Χ Α, Χ Α <p και υπολογίζει το Υ Α= α Χ Α modp Ο B επιλέγει έναν τυχαίο ακέραιο Χ B, Χ B <p και υπολογίζει το Υ B= α Χ B modp Κάθε πλευρά κρατά μυστική τις τιμές Χ Α και Χ B Βήμα 3. Κάθε πλευρά αποστέλλει στην άλλη τις τιμές Υ Α και Υ B Βήμα 4. Παραγωγή κλειδιού Για Α: Κ=(Υ Β ) Χ Α modp Για Β: Κ=(Υ Α ) Χ Β modp Αλγόριθμος Diffie – Hellman

25 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 25 Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή Μηνύματα A  B : Υ Α= α Χ Α modp A  B : Υ Β= α Χ Β modp Οι δύο σχέσεις παράγουν το ίδιο αποτέλεσμα: K= (Υ B ) Χ Α modp = (α Χ B modp) Χ Α modp = (α Χ B ) Χ Α modp = α Χ B Χ Α modp = (α Χ Α modp) Χ Β modp = (Υ A ) Χ B modp Ένας επιτιθέμενος έχει μόνο τα στοιχεία α, p, Υ Α και Υ Β για κρυπτανάλυση. Είναι αναγκασμένος να βρει ένα διακριτό λογάριθμο για να υπολογίσει το Κ. Για παράδειγμα αν επιτεθεί στον Β θα πρέπει να υπολογίσει Χ B =ind a,p (Υ Β ) Για μεγάλους πρώτους αριθμούς (p) το πρόβλημα θεωρείται υπολογιστικά ανέφικτο να λυθεί Παραγωγή κλειδιών A: K= (Υ B ) Χ Α modp B: K= (Υ A ) Χ B modp Αλγόριθμος Diffie – Hellman

26 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 26 Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή Υποθέτουμε ότι ο πρώτος αριθμός είναι το p =71 Η πρωτογενής ρίζα είναι a =7 Οι Α και B επιλέγουν ιδιωτικά κλειδιά Χ Α =5 και Χ B =12 Τα αντίστοιχα δημόσια κλειδιά είναι για τον A: Υ A = 7 5 mod 71 = 51 mod 71 για τον Β: Υ Β = 7 12 mod 71 = 4 mod 71 Στη συνέχεια ανταλλάσσουν τα δημόσια κλειδιά Υ A και Υ Β για να υπολογίσουν το κοινό κλειδί K Α: K= (Υ B ) Χ Α modp = (4 mod 71) 5 mod 71 = 4 5 mod 71 = 30 mod 71 Β: K= (Υ Α ) Χ Β modp = (51 mod 71) 12 mod 71 = 51 12 mod 71 = 30 mod 71 Αλγόριθμος Diffie – Hellman - παράδειγμα

27 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 27 Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή Εκθετικές διαδικασίες ακριβές σε υλοποίηση – χρονοβόρες Δεν μπορεί να χρησιμοποιηθεί για αυθεντικοποίηση (unauthenticated key agreement.) Αναποτελεσματικός σε ενεργητικές επιθέσεις (man in the middle attacks) Ο Ούνος παίζει τον Καίσαρα στον Στρατηγό και τον Στρατηγό στον Καίσαρα ΚαίσαραςΟύνοςΣτρατηγός Προς Σ: α, p selectedΑπό K: α, p selected Επιλέγει κρυφό Χ Κ Επιλέγει κρυφό Χ Ο Επιλέγει κρυφό Χ Σ Υ Κ =α Χ Κ modp Υ Ο =α Χ Ο modpΥ Σ =α Χ Σ modp ΥΚ ΥΚ  Υ Ο  ΥΣ ΥΣ (Υ Ο ) Χ Κ modp=(Υ Κ ) Χ Ο modp(Υ Ο ) Χ Σ modp=(Υ Σ ) Χ Ο modp Αλγόριθμος Diffie – Hellman - παράδειγμα

28 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 28 Διανομή κλειδιών (key distribution) –ανάγκη για μέθοδο προστασίας συναλλαγών και επικοινωνιών χωρίς να χρειάζεται να εμπιστεύεσαι κάποια Έμπιστη Τρίτη οντότητα για παραγωγή του κλειδιού σου –Κρυπτογραφία δημοσίου κλειδιού βοηθά Πρόβλημα 1 –Πως αυθεντικοποιείται η σχέση μεταξύ δημοσίου και ιδιωτικού κλειδιού; –… δηλαδή ότι ένας κάτοχος κατέχει και τα δύο Πρόβλημα 2 –Ποιος είναι αυτός ο κάτοχος; –Λύση: Ψηφιακό πιστοποιητικό Ζητήματα διανομής δημοσίων κλειδιών Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

29 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 29 Διανομή Δημοσίων Κλειδιών και Αυθεντικοποίηση Υλοποιείται με τέσσερις διαφορετικές μεθόδους- αρχιτεκτονικές: –Ανακοίνωση (announcement) –Κατάλογος Δημόσια Διαθέσιμος –Αρχή Διαχείρισης και Διανομής Δημοσίων Κλειδιών (Public-key authority) –Ψηφιακά Πιστοποιητικά Δημοσίου Κλειδιού (Public-key certificates) Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

30 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 30 Αυθεντικοποίηση – μέθοδος am1 AliceBob Enemy I’m Alice AliceBob Enemy I’m Alice Αδυναμίες  Δεν υπάρχει τρόπος να γνωρίζει o Bob ότι το πρόσωπο που έστειλε το μήνυμα “I’m Alice” είναι όντως η Alice  Ο Enemy μπορεί να αντιγράψει την Alice Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

31 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 31 Αυθεντικοποίηση – μέθοδος am2 AliceBob Enemy I’m Alice AliceBob Enemy Προσθήκη κωδικού επικοινωνίας  O Bob ζητάει μέρα γέννησης, κωδικός πρόσβασης (κτλ) Αδυναμίες  Δεν υπάρχει τρόπος να γνωρίζει o Bob ότι το πρόσωπο που έστειλε το μήνυμα “I’m Alice” είναι όντως η Alice  Ο Enemy μπορεί να αντιγράψει την Alice και το password της gime passwd passwd I’m Alice gime passwd passwd Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

32 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 32 Αυθεντικοποίηση – μέθοδος am2.encr AliceBob Enemy I’m Alice AliceBob Enemy Προσθήκη κωδικού επικοινωνίας κρυπτογραφημένου  Κ ΑΒ συμμετρικό κλειδί  Κρυπτογράφηση password Αδυναμίες  Ο Enemy μπορεί να αντιγράψει το encrypted password της Alice  Υλοποιεί κατόπιν replay attacks  O Bob δεν μπορεί να ξεχωρίσει το αρχικό μήνυμα αυθεντικοποίησης της Alice από το ύστερο αντίγραφό του (playback) gime passwd $#1q&u9 I’m Alice gime passwd $#1q&u9 Κ ΑΒ (passwd) =$#1q&u9 Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

33 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 33 Διανομή Κλειδιών – Replay Attacks problems Γενικό πρόβλημα: Replay Attacks –Ένας εχθρός ανακτά τα μηνύματα που ανταλλάσσονται και τα αναμεταδίδει στο μέλλον Η κρυπτογράφηση δε αντιμετωπίζει το πρόβλημα. Απαιτείται ενσωμάτωση μηχανισμών προσδιορισμού «προσφατότητας» μηνυμάτων από τον αποστολέα freshness identifiers Τρεις τύποι freshness identifier –nonces –timestamps –sequence numbers Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

34 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 34 Διανομή Κλειδιών – Replay Attacks problems Nonce –Τυχαίος αριθμός, απρόβλεπτος και μη επαναχρησιμοποιούμενος Timestamps –Ο αποστολέας επισυνάπτει encrypted real-time timestamp σε κάθε μήνυμα –Ο παραλήπτης αποκρυπτογραφεί timestamp και το συγκρίνει με το τρέχοντα χρόνο Αν η διαφορά αρκετά μικρή, τότε αποδέχεται μήνυμα, διαφορετικά το απορρίπτει –Πρόβλημα ο συγχρονισμός μεταξύ sender και receiver Sequence numbers –Ο αποστολέας επισυνάπτει μια μονοτονικά αύξουσα τιμή (counter) σε κάθε μήνυμα, αυξάνει κατά 1 μετά από κάθε αποστολή μηνύματος προς παραλήπτη –Ο παραλήπτης απαιτείται να θυμάται την τελευταία μέγιστη τιμή του counter που έλαβε από αποστολέα freshness identifiers Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

35 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 35 Αυθεντικοποίηση – μέθοδος am3.singlekey (ιδέα από Lamport 81) AliceBob Enemy I’m Alice AliceBob Enemy R1R1 Κ ΑΒ (R1) I’m Alice R ? Προσθήκη απαίτησης για Nonce R, και time-stamp  Κ ΑΒ συμμετρικό κλειδί  Κρυπτογράφηση R Αδυναμίες  forgery  Ο Enemy μπορεί να αντιγράψει το encrypted R της Alice  Replay attacks δεν μπορεί να αναπτυχθούν Άλλη ιδέα !!!  Χρήση one-time-keys (μεγάλος αριθμός κλειδιών προ-συμφωνείται μεταξύ Α και Β) Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

36 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 36 Ερώτημα: –Μπορούμε να χρησιμοποιήσουμε κρυπτογραφία δημοσίου κλειδιού για αυθεντικοποίηση; –Αν ναι, με ποιον τρόπο εξασφαλίζουμε αυθεντικοποίηση της Alice απέναντι στον Bob? Ήδη μιλήσαμε για τέσσερις τρόπους –Ανακοίνωση –Κατάλογος Δημόσια Διαθέσιμος –Αρχή Διαχείρισης και Διανομής Δημοσίων Κλειδιών –Ψηφιακά Πιστοποιητικά Δημοσίου Κλειδιού Ποιος είναι αποδοτικότερος Ποια τα κριτήρια; Διανομή Δημοσίων Κλειδιών και Αυθεντικοποίηση Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

37 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 37 (1) Ανακοίνωση Οι χρήστες στέλνουν δημόσια κλειδιά σε παραλήπτες ή τα εκπέμπουν σε μία κοινότητα (κλειστή) χρηστών –Π.χ., ανάρτηση κλειδιού σε news groups/email list Κυριότερη Αδυναμία: Πλαστογραφία (forgery) –Οποιοσδήποτε μπορεί να δημιουργήσει ένα δημόσιο κλειδί ισχυριζόμενος ότι είναι κάποιος άλλος και να το μεταδώσει ή εκπέμψει –Μέχρι να ανακαλυφθεί η πλαστογραφία ο χρήστης εξακολουθεί να είναι μεταμφιεσμένος Άλλη αδυναμία: πλήθη κλειδιών που αποστέλλονται (overhead) –κλιμάκωση Διανομή Δημοσίων Κλειδιών και Αυθεντικοποίηση Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

38 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 38 K1K2 K3 K4 K5 K6 K7 K8 K9K10 n248163264 (n*(n-1))/216281203362016 Πλήθη κλειδιών και συμφωνιών !!! Παράδειγμα για Secret Keys (1) Ανακοίνωση Διανομή Δημοσίων Κλειδιών και Αυθεντικοποίηση Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

39 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 39 (1) Ανακοίνωση - Αυθεντικοποίηση – μέθοδος am3.publicKey Διανομή Δημοσίων Κλειδιών και Αυθεντικοποίηση AliceBob Enemy I’m Alice AliceBob Enemy R ΚR A (R) Απαίτηση για χρήση Δημοσίων Κλειδιών και Nonce R  ΚU A ΚR A δημόσιο ιδιωτικό κλειδί οντότητας Α Αδυναμίες  Forgery  Ο Enemy μπορεί χρησιμοποιεί τα δικά του κλειδιά  O Bob εκτελεί ΚU Ε (ΚR E (R)), ανακτά R και μπερδεύει την Alice με τον Enemy Send me KU A ΚUAΚUA I’m Alice R KR E (R) Send public key KU E Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

40 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 40 (2) Κατάλογος Δημόσια Διαθέσιμος Καταχωρεί τα κλειδιά σε ένα δημόσια διαθέσιμο κατάλογο –URL Λύση προβλήματος κλιμάκωσης Ο κατάλογος πρέπει να είναι έμπιστος (διατηρείται από ΕΤΟ) –Η ΕΤΟ να δεσμεύεται ότι δεν τροποποιεί τα περιεχόμενα –Ποιος μπαίνει, τι αλλάζει ? εξουσιοδότηση/αυθεντικοποίηση (π.χ., μέσω συμμετρικού κλειδιού K A,ETO ) Ιδιότητες καταλόγου: –περιέχει {name, public-key} entries –οι συμμετέχοντες (names) μπορούν οποιαδήποτε στιγμή να αλλάξουν το key –προσβάσιμος ηλεκτρονικά –λειτουργία 24x7 Εξακολουθεί να είναι τρωτός σε πλαστογραφία Διανομή Δημοσίων Κλειδιών και Αυθεντικοποίηση Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

41 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 41 Βελτιώνει την ασφάλεια με έλεγχο της διανομής (υπογραφή κατά τη διανομή) των κλειδιών του κατάλογου από μια Αρχή ΕΤΟ Απαιτεί από τους χρήστες να γνωρίζουν εκ προοιμίου το δημόσιο κλειδί της ΕΤΟ Μόνο η ΕΤΟ διαθέτει το ιδιωτικό της κλειδί Οι χρήστες αλληλεπιδρούν με την ΕΤΟ για να ανακτήσουν με ασφάλεια το δημόσιο κλειδί της Οντότητας με την οποία επιθυμούν να επικοινωνήσουν Απαιτήσεις –Ότι και ο Δημόσιος Κατάλογος, και –real-time access στο δημόσιο κλειδί της ΕΤΟ όταν χρειάζονται τα κλειδιά (3) Public-Key Authority Διανομή Δημοσίων Κλειδιών και Αυθεντικοποίηση Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

42 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 42 Κατάλογος Initiator A Public Key Authority Responder B (1) Request || Time 1 (2) E KRauth [KU B || Request || Time 1 ] (4) Request || Time 2 (5) E KRauth [ KU A || Request || Time 2 ] (3) E KU B [ ID A || N 1 ] (6) E KU A [ N 1 || N 2 ] (7) E KU B [ N 2 ] KU I : Public Key Entity I KR I : Private Key Entity I N i : Nonce i ID I : Identity of Entity I E KRauth : Private Key PKA (3) Public-Key Authority Διανομή Δημοσίων Κλειδιών και Αυθεντικοποίηση Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

43 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 43 A  AuthΣτέλνει time-stamped μήνυμα με μία αίτηση (συν Request ID ) για το KU του B Auth  AΑπαντά με encrypted μήνυμα (με χρήση του KR της Auth). Περιέχει το KU του Β, το αρχικό Request ID (εγγυάται συσχέτιση με την αρχική αίτηση), και το timestamp (εγγυάται ότι δεν έχει πραγματοποιηθεί εναλλαγή) Ο Α decrypts το μήνυμα με το KU της Auth, (εξασφαλίσει ότι προήλθε από αυτήν) και αποθηκεύει το KU του B A  Β Στέλνει encypted μήνυμα (με χρήση του KU του B) που περιέχει το ID του Α και και ένα τυχαία επιλεγόμενο αριθμό N 1 που ταυτοποιεί μοναδικά αυτήν τη συναλλαγή Ο Β decrypts το μήνυμα με το KR B που μόνο αυτός διαθέτει, και βλέπει αίτηση από Α. B  Auth  BO B με τη σειρά του λαμβάνει από την Auth το KU του Α (όπως βήματα 1 και 2) Τα πιστοποιημένα από την Auth δημόσια κλειδιά των A και B είναι εκατέρωθεν γνωστά Β  ΑΣτέλνει encypted μήνυμα (με χρήση του KU του Α) που περιέχει τον προσδιοριστή N 1 και ένα τυχαία επιλεγόμενο αριθμό N 2 που ταυτοποιεί μοναδικά τη νέα συναλλαγή Ο Α λαμβάνει το μήνυμα, decrypts με το KR Α που μόνο αυτός διαθέτει. Αντιλαμβάνεται παρουσία του προσδιοριστή N 1, και συμπεραίνει ότι το μήνυμα ήρθε από Β. Α  ΒΣτέλνει encypted μήνυμα (με χρήση του KU του B) που περιέχει τον προσδιοριστή N 2 Ο Β λαμβάνει το μήνυμα, decrypts με το KR Β που μόνο αυτός διαθέτει. Αντιλαμβάνεται παρουσία του προσδιοριστή N 2, και συμπεραίνει ότι το μήνυμα ήρθε από Α. (1) (2) (3) (4-5) (6) (7) (3) Public-Key Authority Διανομή Δημοσίων Κλειδιών και Αυθεντικοποίηση Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

44 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 44 (3) Public-key Authority Συνολικά απαιτούνται 7 μηνύματα Ωστόσο 4 από αυτά (A  Auth  A και B  Auth  B) ανταλλάσσονται σπάνια (οι A και B cash τα KUs) Απαιτείται συνεχής και real-time πρόσβαση  –Μειονέκτημα: Η Αρχή μπορεί να εξελιχθεί σε bottleneck της αρχιτεκτονικής DoS attacks Όμως αυθεντικοποιεί πράγματι τα συναλλασσόμενα μέρη; –Πως εγγράφονται τα {name, Public Keys}? Διανομή Δημοσίων Κλειδιών και Αυθεντικοποίηση Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

45 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 45 Προτάθηκε από Kohnfelder (1978) Τα πιστοποιητικά επιτρέπουν ανταλλαγή κλειδιών με αυθεντικοποίηση χωρίς να απαιτούν real-time πρόσβαση σε κατάλογο Τα πιστοποιητικά παράγονται από έμπιστη ΕΤΟ ή Certificate Authority (CA) Ένα πιστοποιητικό συσχετίζει την “ταυτότητα” ενός χρήστη (identity) με public key –Συχνά περιλαμβάνει πρόσθετες πληροφορίες, όπως χρόνος εγκυρότητας, δικαιώματα χρήσης κοκ Τα περιεχόμενα του πιστοποιητικού υπογράφονται (signed) από την έμπιστη ΕΤΟ (CA) (4) Public-Key Certificates Διανομή Δημοσίων Κλειδιών και Αυθεντικοποίηση Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

46 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 46 Το πιστοποιητικό δημοσίου κλειδιού μπορεί να επαληθευτεί από οποιονδήποτε γνωρίζει το public-key της CA Το παραδίδεται στο χρήστη και σχετίζεται με το αντίστοιχο ιδιωτικό του κλειδί (το οποίο παράγει ο ίδιος ο χρήστης) Ένας χρήστης μεταβιβάζει το δημόσιο κλειδί του σε ένα άλλο χρήστη με το να του μεταδώσει το πιστοποιητικό του Χαρακτηριστικά –Μόνο η CA μπορεί να δημιουργεί και να ανανεώνει certficate –Κάθε χρήστης μπορεί να λάβει ένα certficate, να το διαβάσει και να προσδιορίσει την ταυτότητα και το δημόσιο κλειδί του κατόχου του –Κάθε χρήστης μπορεί να πιστοποιήσει ότι το certficate δημιουργήθηκε από την CA και δεν είναι πλαστό –Κάθε χρήστης μπορεί να επαληθεύσει την ισχύ (π.χ., χρονική) του certficate (4) Public-Key Certificates Διανομή Δημοσίων Κλειδιών και Αυθεντικοποίηση Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

47 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 47 A CA B KU A KU B C A = E KRauth [KU A, ID A, Time 1 ] C B = E KRauth [KU B, ID B, Time 2 ] CACA CBCB Ο Χρήστης παράγει ζεύγος ιδιωτικού ( KR ) και δημόσιου ( KU ) κλειδιού Ο Χρήστης απευθύνεται στην CA και υποβάλει το δημόσιο κλειδί του αιτούμενος ένα certficate - Αν αυτό γίνεται phase-to-phase ή μέσω ηλεκτρονικής αίτησης με authentication τότε μόνο authentication KU I : Public Key Entity I KR I : Private Key Entity I Τime i : Expiration i (4) Public-Key Certificates Διανομή Δημοσίων Κλειδιών και Αυθεντικοποίηση Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

48 ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 48 Για τον χρήστη Α η CA παρέχει ένα certficate της μορφής C A = E KRauth [KU A, ID A, T 1 ] Ο χρήστης Α μπορεί να μεταβιβάσει το C A σε οποιονδήποτε άλλο χρήστη, π.χ., Β Ο παραλήπτης Β λαμβάνει το C A και επαληθεύει την ταυτότητα και το δημόσιο κλειδί του Α ως εξής: D KUauth [C A ] = D KUauth [E KRauth [KU A, ID A, T 1 ]] = (KU A, ID A, T 1 ) Εφόσον το certficate είναι αναγνώσιμο μόνο με χρήση του ιδιωτικού κλειδιού της CA, επαληθεύεται ότι το certficate έχει δημιουργηθεί από την CA Τα στοιχεία KU A και ID A παρέχουν στον παραλήπτη την ταυτότητα και το δημόσιο κλειδί του κατόχου του πιστοποιητικού Το timestamp T 1 επικυρώνει την ισχύ του certficate, ενεργώντας ως «ημερομηνία λήξης». «Ληγμένα» certficate πρέπει να κρίνονται ανασφαλή (4) Public-Key Certificates Διανομή Δημοσίων Κλειδιών και Αυθεντικοποίηση Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή


Κατέβασμα ppt "ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 1 ΠΜΣ36 Ασφάλεια Πληροφοριακών Συστημάτων Αν. Καθ. Π. Γεωργιάδης Δρ. Μαριάς Ιωάννης Υπ. Δρ. Παπαπαναγιώτου Κωνσταντίνος."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google