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

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

description

ΠΜΣ 36 Ασφάλεια Πληροφοριακών Συστημάτων. Αν. Καθ. Π. Γεωργιάδης Δρ. Μαριάς Ιωάννης Υπ. Δρ. Παπαπαναγιώτου Κωνσταντίνος. 30 /0 5 /0 7. Συναρτήσεις Σύνοψης. Χαρακτηριστικά. Αναφέρονται και ως Συναρτήσεις Κατακερματισμού - PowerPoint PPT Presentation

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

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

1ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

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

Αν. Καθ. Π. ΓεωργιάδηςΔρ. Μαριάς Ιωάννης

Υπ. Δρ. Παπαπαναγιώτου Κωνσταντίνος

30/05/07

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

2ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

Συναρτήσεις Σύνοψης

Αναφέρονται και ως Συναρτήσεις Κατακερματισμού

Απεικονίζουν ένα μήνυμα αυθαίρετου μήκους (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)

Χαρακτηριστικά

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

3ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

Μία συνάρτηση σύνοψης 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) μπορεί αποστέλλεται μαζί με το μήνυμα Μ

Συναρτήσεις Σύνοψης

Χαρακτηριστικά

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

4ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

Η συνάντηση σύνοψης 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 είναι πιθανοτικά ισοδύναμα), τότε μέχρι 2t-n inputs αντιστοιχίζονται σε ένα digest,

δύο τυχαία επιλεγμένα inputs παράγουν το ίδιο digest με πιθανότητα 2-n (independent of t ).

Συναρτήσεις Σύνοψης

Χαρακτηριστικά

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

5ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

Μονόδρομες (One Way)

Γνωρίζοντας το αποτύπωμα (hash value) δεν μπορούμε να υπολογίσουμε το αρχικό μήνυμα ή κείμενο (pre-image)

Υπολογιστικά Ελεύθερες Συγκρούσεων (Collision-free)

Δεν μπορούν να βρεθούν δύο διαφορετικά αρχικά μηνύματα (pre-images) που να δημιουργούν το ίδιο αποτύπωμα (hash value)

Σημαντικότερες Ιδιότητες

00101011001001010110011100010011011000100110………………………………1100100100011001001000

00100110001100010011000110

pre-imagepre-image

hash valuehash value

Hash

Function

Συναρτήσεις Σύνοψης

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

6ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

Αλγόριθμοι ΚατακερματισμούMD5 (Rivest, 1991)

Είσοδο ένα μήνυμα αυθαιρέτου μήκους και παράγει αποτύπωμα των 128-bit

Πιο αργός από τον SHA-1

Με ασφάλεια που αμφισβητείται έντονα

SHA-1, NIST (1994) Είσοδο ένα μήνυμα μεγέθους έως 264 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)

Συναρτήσεις Σύνοψης

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

7ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

Αλγόριθμοι Κατακερματισμού – SHA-1

Αντιστοιχεί bitstrings με bitlength <264 σε 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

Συναρτήσεις Σύνοψης

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

8ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

Συναρτήσεις Σύνοψης και Αυθεντικοποίηση

ΜΥ

ΝΗ

ΜΑ

H

ΜΥ

ΝΗ

ΜΑ

ΜΥ

ΝΗ

ΜΑ

H

Σύγκριση

A, B: άκρα επικοινωνίαςSΑΒ: μυστική τιμή (π.χ., password, ημερομηνία γέννησης)

Μ: Μήνυμα που θέλει να στείλει ο Α σε Β Αποστολέας Α Παραλήπτης B

Παράγει MDM= H (SAB || M)

Αποστέλλει Μ και MDM στον B

Λαμβάνει M και MDM

Υπολογίζει MD΄M= H (SAB || M)

Συγκρίνει MD΄M και MDM

Αν ίσα τότε ακεραιότητα Μ και αυθεντικοποίηση αποστολής από Α

SΑΒ SΑΒ

MDM MDM

MD΄M

Συναρτήσεις Σύνοψης

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

9ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

Κρυπτογραφία Δημοσίου Κλειδιού

Εισαγωγικά Στοιχεία

Σε ένα σχήμα κρυπτογραφίας public-key encryption για κάθε ζεύγος encryption/ decryption (e, d), το κλειδί e (public key) γίνεται δημόσια διαθέσιμο, ενώ το κλειδί d (private key) διατηρείται μυστικό.

Για ένα τέτοιο σχήμα πρέπει να είναι υπολογιστικά ανέφικτο να προσδιοριστεί το d γνωρίζοντας μόνο το e !!!

«Επινοήθηκε» από τους Diffie και Hellman το 1976

Πρώτο σχήμα Δημοσίων Κλειδιών: RSA από Rivest, Shamir, Adleman (1978, MIT)

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

10ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

Κρυπτογραφία Δημοσίου Κλειδιού

Εισαγωγικά Στοιχεία

Σημαντικές διαφορές σε σχέση με τη συμμετρική κρυπτογραφία, ωστόσο:

α) δεν την αντικατέστησε

β) δεν είναι περισσότερο ούτε λιγότερο ασφαλής σε κρυπτανάλυση από

γ) η διανομή των κλειδιών είναι περισσότερο τετριμμένη, αλλά όχι απλούστερη

δ) Η διαχείριση κλειδιών γίνεται δυσκολότερη

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

11ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

Κρυπτογραφία Δημοσίου Κλειδιού

Αρχικό κείμενο ή πρωτογενές μήνυμα (plaintext)

Αλγόριθμος κρυπτογράφησης (encryption algorithm)

Δημόσιο και Ιδιωτικό κλειδί (public/private key)

Κρυπτογράφημα ή κρυπτογραφημένο κείμενο (ciphertext)

Αλγόριθμος αποκρυπτογράφησης (decryption algorithm)

Συστατικά Κρυπτογραφίας Δημοσίου Κλειδιού

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

12ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

Κρυπτογραφία Δημοσίου Κλειδιού

Προς Άννα

Σας πληροφ ορώ

Γιάννης

Πρωτογενές Μήνυμα

Κρυπτογράφηση

Κρυπτογραφημένο Μήνυμα

Δίκτυο Επικοινωνίας

Προς Άννα

Σας πληροφ ορώ

Γιάννης

Αποκρυπτογράφηση

PtreqwddcfadfrpCdxerAcsdddfhGKHfalopenfit

PtreqwddcfadfrpCdxerAcsdddfhGKHfalopenfit

Κρυπτογραφημένο Μήνυμα

Πρωτογενές Μήνυμα

Γιάννης Άννα

Δημόσιο κλειδί Άννας

Ιδιωτικό κλειδί Άννας

Προς Άννα

Σας πληροφ ορώ

Γιάννης

Πρωτογενές Μήνυμα

Κρυπτογράφηση

Κρυπτογραφημένο Μήνυμα

Δίκτυο Επικοινωνίας

Προς Άννα

Σας πληροφ ορώ

Γιάννης

Αποκρυπτογράφηση

PtreqwddcfadfrpCdxerAcsdddfhGKHfalopenfit

PtreqwddcfadfrpCdxerAcsdddfhGKHfalopenfit

Κρυπτογραφημένο Μήνυμα

Πρωτογενές Μήνυμα

Γιάννης Άννα

Δημόσιο κλειδί Άννας

Ιδιωτικό κλειδί Άννας

1) Κρυπτογραφία

Δημόσιο κλειδί παραλήπτη

Ιδιωτικό κλειδί παραλήπτη

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

13ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

Κρυπτογραφία Δημοσίου Κλειδιού

Προς Άννα

Σας πληροφ ορώ

Γιάννης

Πρωτογενές Μήνυμα

Κρυπτογράφηση

Κρυπτογραφημένο Μήνυμα

Δίκτυο Επικοινωνίας

Προς Άννα

Σας πληροφ ορώ

Γιάννης

Αποκρυπτογράφηση

PtreqwddcfadfrpCdxerAcsdddfhGKHfalopenfit

PtreqwddcfadfrpCdxerAcsdddfhGKHfalopenfit

Κρυπτογραφημένο Μήνυμα

Πρωτογενές Μήνυμα

Γιάννης Άννα

Ιδιωτικό κλειδί Γιάννη

Δημόσιο κλειδί Γιάννη

Προς Άννα

Σας πληροφ ορώ

Γιάννης

Πρωτογενές Μήνυμα

Κρυπτογράφηση

Κρυπτογραφημένο Μήνυμα

Δίκτυο Επικοινωνίας

Προς Άννα

Σας πληροφ ορώ

Γιάννης

Αποκρυπτογράφηση

PtreqwddcfadfrpCdxerAcsdddfhGKHfalopenfit

PtreqwddcfadfrpCdxerAcsdddfhGKHfalopenfit

Κρυπτογραφημένο Μήνυμα

Πρωτογενές Μήνυμα

Γιάννης Άννα

Ιδιωτικό κλειδί Γιάννη

Δημόσιο κλειδί Γιάννη

2) Αυθεντικοποίηση ή Ψηφιακή Υπογραφή

Ιδιωτικό κλειδί αποστολέα

Δημόσιο κλειδί αποστολέα

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

14ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

Κρυπτογραφία Δημοσίου Κλειδιού

Κρυπτογράφηση/αποκρυπτογράφησηΟ αποστολέας κρυπτογραφεί το plaintext με το δημόσιο κλειδί του παραλήπτη. Ο παραλήπτης αποκρυπτογραφεί το ciphertext με το ιδιωτικό του κλειδί, που μόνο αυτός κατέχει. Εμπιστευτικότητα, ακεραιότητα

Ψηφιακή Υπογραφή Ο αποστολέας κρυπτογραφεί (ή υπογράφει) το plaintext με το ιδιωτικό του κλειδί, που μόνο αυτός κατέχει. Ο παραλήπτης αποκρυπτογραφεί το ciphertext με το δημόσιο κλειδί του αποστολέα. Αυθεντικοποίηση

Ανταλλαγή Κλειδιών Οι δύο πλευρές συνεργάζονται για να ανταλλάξουν ένα κλειδί συνόδου. Υφίστανται αρκετές προτάσεις, που εμπλέκουν το ή τα ιδιωτικά κλειδιά.

«Υπηρεσίες» Κρυπτογραφίας Δημοσίου Κλειδιού

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

15ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

Κρυπτογραφία Δημοσίου Κλειδιού

«Υπηρεσίες» Κρυπτογραφίας Δημοσίου Κλειδιού

Κρυπτογράφηση/ αποκρυπτογράφηση

Ψηφιακή Υπογραφή

Ανταλλαγή Κλειδιών

Diffie-Hellman - - V

RSA V V V

DSS (DSA) - V -

Elliptic Curve V V V

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

16ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

Κρυπτογραφία Δημοσίου Κλειδιού

Αυθεντικοποίηση ή Ψηφιακή Υπογραφή με Σύνοψη

Κρυπτογράφηση: Ιδιωτικό κλειδί αποστολέα

Αποκρυπτογράφηση: Δημόσιο κλειδί αποστολέα

ΣύνοψηΣύνοψη

1 7 7 8 9 0 9

1

2

3 4

5

5

6

ΚΙΑ

ΣύνοψηΣύνοψη

1 7 7 8 9 0 9

7

1 7 7 8 9 0 9

ΚΔΑ

Παραλήπτης, Π

ΣύγκρισηΣύγκριση

Αποστολέας, Α

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

17ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

Κρυπτογραφία Δημοσίου Κλειδιού

Απαιτήσεις Κρυπτογραφίας Δημοσίου Κλειδιού

1. Είναι υπολογιστικά εφικτό για ένα μέρος Β να παράγει ένα ζεύγος κλειδιών (public key eb, private key db)

2. Είναι υπολογιστικά εφικτό για έναν αποστολέα Α, που γνωρίζει το δημόσιο κλειδί του Β και το plaintext Μ να δημιουργήσει το αντίστοιχο ciphertext: C= eb(M)

3. Είναι υπολογιστικά εφικτό για έναν παραλήπτη B, που γνωρίζει το ιδιωτικό του κλειδί και λαμβάνει το ciphertext C να ανακτήσει το αρχικό κείμενο M: Μ=db(C)=db(eb(M))

4. Είναι υπολογιστικά ανέφικτο γνωρίζοντας μόνο το δημόσιο κλειδί ed να προσδιοριστεί το ιδιωτικό κλειδί db

5. Είναι υπολογιστικά ανέφικτο γνωρίζοντας το δημόσιο κλειδί ed και το ciphertext C να προσδιοριστεί το αρχικό μήνυμα M

6. Οποιοδήποτε από τα δύο κλειδιά μπορεί να χρησιμοποιηθεί για την κρυπτογράφηση και το άλλο για την αποκρυπτογράφηση, ήτοι Μ=db(eb(M))=eb(db(M))

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

18ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

Κρυπτογραφία Δημοσίου Κλειδιού

Είναι block cipher

To plaintext Μ και το ciphertext C είναι ακέραιοι αριθμοί, με τιμές μεταξύ 0 και n-1, για μεγάλο n

Συμβολισμοί Κρυπτογράφηση C=Me mod n

Αποκρυπτογράφηση Μ=Cd mod n

Τόσο ο αποστολέας όσο και ο παραλήπτης πρέπει να γνωρίζουν τις τιμές των e και n.

Αντιθέτως, την τιμή d πρέπει να τη γνωρίζει μόνο ο παραλήπτης.

Πρόκειται για σχήμα με δημόσιο κλειδί {e,n} και ιδιωτικό κλειδί {d}

Αλγόριθμος RSA

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

19ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

Κρυπτογραφία Δημοσίου Κλειδιού

Παραγωγή ΚλειδιούΕπέλεξε πρώτους, μεγάλους, 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-1mod(φ(n))

Δημόσιο κλειδί {e,n}

Ιδιωτικό κλειδί {d}

ΚρυπτογράφησηΑρχικό κείμενο Μ<n

Κρυπτογράφημα C=Me mod n

ΑποκρυπτογράφησηΚρυπτογράφημα C

Αρχικό κείμενο M=Cd mod n

Συνάρτηση Eulere, φ(n): relatively

prime

Χρήση Εκτ. Αλγ. Ευκλείδη unique d

Αλγόριθμος RSA

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

20ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

Κρυπτογραφία Δημοσίου Κλειδιού

Παραγωγή ΚλειδιούΕπέλεξε πρώτους, μεγάλους, 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-1mod(φ(n))

p = 7, q = 17

n = 119

φ(n) = 96

e = 5

d = 77

Έστω M = 19

Αποστολέας, encryption C = M e mod n = 195 mod 119 = 66

Παραλήπτης, decryption M= C d mod n = 66 77 mod 119 = 19

Αλγόριθμος RSA

Συνάρτηση Euler

Χρήση Εκτ. ΑλγόριθμουΕυκλείδη unique d

Δυαδική-πολλαπλασιαστική εκθετοποίηση

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

21ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

Κρυπτογραφία Δημοσίου Κλειδιού

Δυσκολία RSA: Παραγοντοποίηση Μεγάλων Ακεραίων (FACTORING problem)

Δεδομένου ακεραίου θετικού n , βρες τους πρώτους παραγοντοποιητές του (prime factorization), ή γράψε το n ως n=p1

e1p2e2…pk

ek

όπου pi, pj πρώτοι μεταξύ τους

Το μήκος κλειδιού μπορεί να διαφέρει (συνήθως των 1024 bits)

Variable plaintext block size

Για ζεύγος κλειδιών public= <e, n> και private = <d> encryption: C= Me mod n, M < n decryption: M = Cd mod n signature: S = Md mod n, M < n verification: M = Se mod n

Αλγόριθμος RSA

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

22ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

• Η πρώτη πρακτική λύση στο πρόβλημα διανομής κλειδιών

• Αλγόριθμος ανταλλαγής κλειδιών για δύο μέρη που ποτέ δεν ήρθαν στο παρελθόν σε συμφωνία ή μοιράζονται κοινό μυστικό κλειδί ή τιμή

• Δυνατότητα ανταλλαγής μηνυμάτων για συμφωνία κλειδιών (key agreement) μέσα από ανασφαλές κανάλι

• Αποτελεσματικός σε παθητικές επιθέσεις (eavesdropping), αλλά όχι σε ενεργητικές

• Κανένα μέρος δεν έχει εξασφάλιση για την ταυτότητα του άλλου (entity authentication)

• Δυσκολία: Υπολογισμός Διακριτών Λογαρίθμων

Αλγόριθμος Diffie – Hellman

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

23ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

Ολίγη λογαριθμική αριθμητική ...

• Έστω ακέραιος, πρώτος αριθμός p

• Ως πρωτογεννής ρίζα a του p ορίζεται ο αριθμός του οποίου οι δυνάμεις του modulo(p) παράγουν όλους τους ακέραιους από 1 έως p-1

Αν a είναι πρωτογεννής ρίζα του p τότε οι αριθμοί

amodp, a2modp, …, ap-1modp

είναι διακριτοί και αποτελούν τους ακέραιους από 1 έως p-1

• Για οποιοδήποτε ακέραιο b και για μία πρωτόγεννη ρίζα α ενός πρώτου p μπορεί να βρεθεί μοναδικός αριθμός i τέτοιος ώστε b=αimodp (0≤i≤p-1).

• O i καλείται διακριτός λογάριθμος ή δείκτης του b για βάση a και modp και συμβολίζεται ως i=inda,p(b)

Αλγόριθμος Diffie – Hellman

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

24ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

Ο A και ο B στέλνουν ο καθένας από ένα μήνυμα σε ανοικτό κανάλι

Αποτέλεσμα: Κοινό μυστικό κλειδί K γνωστό στα δύο μέρη A και B

Βήμα 1. Επιλέγεται και δημοσιοποιείται πρώτος αριθμός p και μία πρωτόγεννης ρίζα α του p

Βήμα 2. Δημιουργία τυχαίων αριθμών

Ο Α επιλέγει έναν τυχαίο ακέραιο ΧΑ, ΧΑ<p και υπολογίζει το ΥΑ=αΧΑmodp

Ο B επιλέγει έναν τυχαίο ακέραιο ΧB, ΧB<p και υπολογίζει το ΥB=αΧBmodp

Κάθε πλευρά κρατά μυστική τις τιμές ΧΑ και ΧB

Βήμα 3. Κάθε πλευρά αποστέλλει στην άλλη τις τιμές ΥΑ και ΥB

Βήμα 4. Παραγωγή κλειδιού

Για Α: Κ=(ΥΒ)ΧΑmodp

Για Β: Κ=(ΥΑ)ΧΒmodp

Αλγόριθμος Diffie – Hellman

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

25ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

Μηνύματα

A B : ΥΑ=αΧΑmodp

A B : ΥΒ=αΧΒmodp

Οι δύο σχέσεις παράγουν το ίδιο αποτέλεσμα:

K= (ΥB)ΧΑmodp = (αΧBmodp)ΧΑmodp = (αΧB)ΧΑmodp = αΧBΧΑmodp = (αΧΑmodp)ΧΒmodp = (ΥA)ΧBmodp

Ένας επιτιθέμενος έχει μόνο τα στοιχεία α, p, ΥΑ και ΥΒ για κρυπτανάλυση. Είναι αναγκασμένος να βρει ένα διακριτό λογάριθμο για να υπολογίσει το Κ.

Για παράδειγμα αν επιτεθεί στον Β θα πρέπει να υπολογίσει ΧB=inda,p(ΥΒ)

Για μεγάλους πρώτους αριθμούς (p) το πρόβλημα θεωρείται υπολογιστικά ανέφικτο να λυθεί

Παραγωγή κλειδιών

A: K= (ΥB)ΧΑmodp

B: K= (ΥA)ΧBmodp

Αλγόριθμος Diffie – Hellman

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

26ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

Υποθέτουμε ότι ο πρώτος αριθμός είναι το p=71

Η πρωτογενής ρίζα είναι a=7

Οι Α και B επιλέγουν ιδιωτικά κλειδιά ΧΑ=5 και ΧB=12

Τα αντίστοιχα δημόσια κλειδιά είναι

για τον A: ΥA = 75 mod 71 = 51 mod 71

για τον Β: ΥΒ = 712 mod 71 = 4 mod 71

Στη συνέχεια ανταλλάσσουν τα δημόσια κλειδιά ΥA και ΥΒ για να υπολογίσουν το κοινό κλειδί K

Α: K= (ΥB)ΧΑmodp = (4 mod 71)5 mod 71 = 45 mod 71 = 30 mod 71

Β: K= (ΥΑ)ΧΒmodp = (51 mod 71)12 mod 71 = 5112 mod 71 = 30 mod 71

Αλγόριθμος Diffie – Hellman - παράδειγμα

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

27ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

• Εκθετικές διαδικασίες ακριβές σε υλοποίηση – χρονοβόρες

• Δεν μπορεί να χρησιμοποιηθεί για αυθεντικοποίηση (unauthenticated key agreement.)

• Αναποτελεσματικός σε ενεργητικές επιθέσεις (man in the middle attacks)

• Ο Ούνος παίζει τον Καίσαρα στον Στρατηγό και τον Στρατηγό στον Καίσαρα

Καίσαρας Ούνος Στρατηγός

Προς Σ: α, p selected Από K: α, p selected Από K: α, p selected

Επιλέγει κρυφό ΧΚ Επιλέγει κρυφό ΧΟ Επιλέγει κρυφό ΧΣ

ΥΚ=αΧΚmodp ΥΟ=αΧΟmodp ΥΣ=αΧΣmodp

ΥΚ ΥΟ ΥΣ

(ΥΟ)ΧΚmodp=(ΥΚ)ΧΟmodp (ΥΟ)ΧΣmodp=(ΥΣ)ΧΟmodp

Αλγόριθμος Diffie – Hellman - παράδειγμα

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

28ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

• Διανομή κλειδιών (key distribution) – ανάγκη για μέθοδο προστασίας συναλλαγών και επικοινωνιών χωρίς να

χρειάζεται να εμπιστεύεσαι κάποια Έμπιστη Τρίτη οντότητα για παραγωγή του κλειδιού σου

– Κρυπτογραφία δημοσίου κλειδιού βοηθά

• Πρόβλημα 1– Πως αυθεντικοποιείται η σχέση μεταξύ δημοσίου και ιδιωτικού κλειδιού; – … δηλαδή ότι ένας κάτοχος κατέχει και τα δύο

• Πρόβλημα 2– Ποιος είναι αυτός ο κάτοχος; – Λύση: Ψηφιακό πιστοποιητικό

Ζητήματα διανομής δημοσίων κλειδιών

Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

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

29ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

Διανομή Δημοσίων Κλειδιών και Αυθεντικοποίηση

• Υλοποιείται με τέσσερις διαφορετικές μεθόδους-αρχιτεκτονικές:– Ανακοίνωση (announcement)– Κατάλογος Δημόσια Διαθέσιμος – Αρχή Διαχείρισης και Διανομής Δημοσίων Κλειδιών

(Public-key authority)– Ψηφιακά Πιστοποιητικά Δημοσίου Κλειδιού (Public-key

certificates)

Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

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

30ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

Αυθεντικοποίηση – μέθοδος am1

Alice Bob

Enemy

I’m Alice Alice Bob

Enemy

I’m A

lice

Αδυναμίες Δεν υπάρχει τρόπος να γνωρίζει o Bob ότι το πρόσωπο που έστειλε το μήνυμα “I’m

Alice” είναι όντως η Alice Ο Enemy μπορεί να αντιγράψει την Alice

Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

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

31ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

Αυθεντικοποίηση – μέθοδος am2

Alice Bob

Enemy

I’m AliceAlice Bob

Enemy

Προσθήκη κωδικού επικοινωνίας O Bob ζητάει μέρα γέννησης, κωδικός πρόσβασης (κτλ)Αδυναμίες Δεν υπάρχει τρόπος να γνωρίζει o Bob ότι το πρόσωπο που έστειλε το μήνυμα “I’m

Alice” είναι όντως η Alice Ο Enemy μπορεί να αντιγράψει την Alice και το password της

gime passwdpasswd

I’m A

lice

gime p

assw

d

passw

d

Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

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

32ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

Αυθεντικοποίηση – μέθοδος am2.encr

Alice Bob

Enemy

I’m AliceAlice Bob

Enemy Προσθήκη κωδικού επικοινωνίας κρυπτογραφημένου ΚΑΒ συμμετρικό κλειδί Κρυπτογράφηση passwordΑδυναμίες Ο Enemy μπορεί να αντιγράψει το encrypted password της Alice Υλοποιεί κατόπιν replay attacks O Bob δεν μπορεί να ξεχωρίσει το αρχικό μήνυμα αυθεντικοποίησης της Alice από το

ύστερο αντίγραφό του (playback)

gime passwd$#1q&u9

I’m A

lice

gime p

assw

d

$#1q

&u9

ΚΑΒ(passwd)=$#1q&u9

Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

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

33ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

Διανομή Κλειδιών – Replay Attacks problems

• Γενικό πρόβλημα: Replay Attacks– Ένας εχθρός ανακτά τα μηνύματα που ανταλλάσσονται και τα

αναμεταδίδει στο μέλλον

• Η κρυπτογράφηση δε αντιμετωπίζει το πρόβλημα. • Απαιτείται ενσωμάτωση μηχανισμών προσδιορισμού

«προσφατότητας» μηνυμάτων από τον αποστολέα • freshness identifiers• Τρεις τύποι freshness identifier

– nonces– timestamps– sequence numbers

Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

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

34ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

Διανομή Κλειδιών – Replay Attacks problems

• Nonce– Τυχαίος αριθμός, απρόβλεπτος και μη επαναχρησιμοποιούμενος

• Timestamps– Ο αποστολέας επισυνάπτει encrypted real-time timestamp σε κάθε μήνυμα

– Ο παραλήπτης αποκρυπτογραφεί timestamp και το συγκρίνει με το τρέχοντα χρόνο

• Αν η διαφορά αρκετά μικρή, τότε αποδέχεται μήνυμα, διαφορετικά το απορρίπτει

– Πρόβλημα ο συγχρονισμός μεταξύ sender και receiver

• Sequence numbers– Ο αποστολέας επισυνάπτει μια μονοτονικά αύξουσα τιμή (counter) σε κάθε μήνυμα,

αυξάνει κατά 1 μετά από κάθε αποστολή μηνύματος προς παραλήπτη

– Ο παραλήπτης απαιτείται να θυμάται την τελευταία μέγιστη τιμή του counter που έλαβε από αποστολέα

freshness identifiers

Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

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

35ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

Αυθεντικοποίηση – μέθοδος am3.singlekey (ιδέα από Lamport 81)

Alice Bob

Enemy

I’m AliceAlice Bob

Enemy

R1ΚΑΒ(R1)

I’m A

lice

R?

Προσθήκη απαίτησης για Nonce R, και time-stamp ΚΑΒ συμμετρικό κλειδί Κρυπτογράφηση RΑδυναμίες forgery Ο Enemy μπορεί να αντιγράψει το encrypted R της Alice Replay attacks δεν μπορεί να αναπτυχθούνΆλλη ιδέα !!! Χρήση one-time-keys (μεγάλος αριθμός κλειδιών προ-συμφωνείται μεταξύ Α και Β)

Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

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

36ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

• Ερώτημα: – Μπορούμε να χρησιμοποιήσουμε κρυπτογραφία δημοσίου κλειδιού για

αυθεντικοποίηση; – Αν ναι, με ποιον τρόπο εξασφαλίζουμε αυθεντικοποίηση της Alice

απέναντι στον Bob? • Ήδη μιλήσαμε για τέσσερις τρόπους

– Ανακοίνωση – Κατάλογος Δημόσια Διαθέσιμος – Αρχή Διαχείρισης και Διανομής Δημοσίων Κλειδιών – Ψηφιακά Πιστοποιητικά Δημοσίου Κλειδιού

• Ποιος είναι αποδοτικότερος • Ποια τα κριτήρια;

Διανομή Δημοσίων Κλειδιών και Αυθεντικοποίηση

Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

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

37ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

(1) Ανακοίνωση

• Οι χρήστες στέλνουν δημόσια κλειδιά σε παραλήπτες ή τα εκπέμπουν σε μία κοινότητα (κλειστή) χρηστών– Π.χ., ανάρτηση κλειδιού σε news groups/email list

• Κυριότερη Αδυναμία: Πλαστογραφία (forgery)– Οποιοσδήποτε μπορεί να δημιουργήσει ένα δημόσιο κλειδί ισχυριζόμενος

ότι είναι κάποιος άλλος και να το μεταδώσει ή εκπέμψει– Μέχρι να ανακαλυφθεί η πλαστογραφία ο χρήστης εξακολουθεί να είναι

μεταμφιεσμένος

• Άλλη αδυναμία: πλήθη κλειδιών που αποστέλλονται (overhead)– κλιμάκωση

Διανομή Δημοσίων Κλειδιών και Αυθεντικοποίηση

Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

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

38ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

K1 K2

K3

K4

K5

K6 K7

K8

K9 K10

n 2 4 8 16 32 64(n*(n-1))/2 1 6 28 120 336 2016

Πλήθη κλειδιών και συμφωνιών !!!

Παράδειγμα για Secret Keys

(1) ΑνακοίνωσηΔιανομή Δημοσίων Κλειδιών και Αυθεντικοποίηση

Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

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

39ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

(1) Ανακοίνωση - Αυθεντικοποίηση – μέθοδος am3.publicKey

Διανομή Δημοσίων Κλειδιών και Αυθεντικοποίηση

Alice Bob

Enemy

I’m Alice

Alice Bob

Enemy

R ΚRA(R)

Απαίτηση για χρήση Δημοσίων Κλειδιών και Nonce R ΚUA ΚRA δημόσιο ιδιωτικό κλειδί οντότητας Α Αδυναμίες Forgery Ο Enemy μπορεί χρησιμοποιεί τα δικά του κλειδιά O Bob εκτελεί ΚUΕ(ΚRE(R)), ανακτά R και μπερδεύει την Alice με τον Enemy

Send me KUA

ΚUA

I’m A

lice

R

KR E(R

)

Send p

ublic

key

KU E

Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

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

40ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

(2) Κατάλογος Δημόσια Διαθέσιμος

• Καταχωρεί τα κλειδιά σε ένα δημόσια διαθέσιμο κατάλογο – URL

• Λύση προβλήματος κλιμάκωσης• Ο κατάλογος πρέπει να είναι έμπιστος (διατηρείται από ΕΤΟ)

– Η ΕΤΟ να δεσμεύεται ότι δεν τροποποιεί τα περιεχόμενα– Ποιος μπαίνει, τι αλλάζει ?

• εξουσιοδότηση/αυθεντικοποίηση (π.χ., μέσω συμμετρικού κλειδιού KA,ETO )

• Ιδιότητες καταλόγου:– περιέχει {name, public-key} entries– οι συμμετέχοντες (names) μπορούν οποιαδήποτε στιγμή να αλλάξουν το key – προσβάσιμος ηλεκτρονικά – λειτουργία 24x7

• Εξακολουθεί να είναι τρωτός σε πλαστογραφία

Διανομή Δημοσίων Κλειδιών και Αυθεντικοποίηση

Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

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

41ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

• Βελτιώνει την ασφάλεια με έλεγχο της διανομής (υπογραφή κατά τη διανομή) των κλειδιών του κατάλογου από μια Αρχή ΕΤΟ

• Απαιτεί από τους χρήστες να γνωρίζουν εκ προοιμίου το δημόσιο κλειδί της ΕΤΟ

• Μόνο η ΕΤΟ διαθέτει το ιδιωτικό της κλειδί • Οι χρήστες αλληλεπιδρούν με την ΕΤΟ για να ανακτήσουν με ασφάλεια

το δημόσιο κλειδί της Οντότητας με την οποία επιθυμούν να επικοινωνήσουν

• Απαιτήσεις – Ότι και ο Δημόσιος Κατάλογος, και – real-time access στο δημόσιο κλειδί της ΕΤΟ όταν χρειάζονται τα κλειδιά

(3) Public-Key AuthorityΔιανομή Δημοσίων Κλειδιών και Αυθεντικοποίηση

Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

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

42ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

Κατάλογος

Initiator A

Public Key Authority

Responder B

(1) Request || Time1

(2) EKRauth[KUB || Request || Time1]

(4) Request || Time2

(5) EKRauth[ KUA || Request || Time2 ]

(3) EKUB[ IDA || N1 ]

(6) EKUA[ N1 || N2 ]

(7) EKUB[ N2 ]

KUI: Public Key Entity I

KRI: Private Key Entity I

Ni: Nonce i IDI: Identity of Entity IEKRauth: Private Key PKA

(3) Public-Key AuthorityΔιανομή Δημοσίων Κλειδιών και Αυθεντικοποίηση

Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

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

43ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

AAuth Στέλνει time-stamped μήνυμα με μία αίτηση (συν Request ID) για το KU του B

AuthA Απαντά με encrypted μήνυμα (με χρήση του KR της Auth). Περιέχει το KU του Β, το αρχικό Request ID (εγγυάται συσχέτιση με την αρχική αίτηση), και το timestamp (εγγυάται ότι δεν έχει πραγματοποιηθεί εναλλαγή)

Ο Α decrypts το μήνυμα με το KU της Auth, (εξασφαλίσει ότι προήλθε από αυτήν) και αποθηκεύει το KU του B

AΒ Στέλνει encypted μήνυμα (με χρήση του KU του B) που περιέχει το ID του Α και και ένα τυχαία επιλεγόμενο αριθμό N1 που ταυτοποιεί μοναδικά αυτήν τη συναλλαγή

Ο Β decrypts το μήνυμα με το KRB που μόνο αυτός διαθέτει, και βλέπει αίτηση από Α.

BAuthB O B με τη σειρά του λαμβάνει από την Auth το KU του Α (όπως βήματα 1 και 2)

Τα πιστοποιημένα από την Auth δημόσια κλειδιά των A και B είναι εκατέρωθεν γνωστά

ΒΑ Στέλνει encypted μήνυμα (με χρήση του KU του Α) που περιέχει τον προσδιοριστή N1 και ένα τυχαία επιλεγόμενο αριθμό N2 που ταυτοποιεί μοναδικά τη νέα συναλλαγή

Ο Α λαμβάνει το μήνυμα, decrypts με το KRΑ που μόνο αυτός διαθέτει. Αντιλαμβάνεται παρουσία του προσδιοριστή N1, και συμπεραίνει ότι το μήνυμα ήρθε από Β.

ΑΒ Στέλνει encypted μήνυμα (με χρήση του KU του B) που περιέχει τον προσδιοριστή N2

Ο Β λαμβάνει το μήνυμα, decrypts με το KRΒ που μόνο αυτός διαθέτει. Αντιλαμβάνεται παρουσία του προσδιοριστή N2, και συμπεραίνει ότι το μήνυμα ήρθε από Α.

(1)

(2)

(3)

(4-5)

(6)

(7)

(3) Public-Key AuthorityΔιανομή Δημοσίων Κλειδιών και Αυθεντικοποίηση

Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

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

44ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

(3) Public-key Authority

• Συνολικά απαιτούνται 7 μηνύματα

• Ωστόσο 4 από αυτά (AAuthA και BAuthB) ανταλλάσσονται σπάνια (οι A και B cash τα KUs)

• Απαιτείται συνεχής και real-time πρόσβαση – Μειονέκτημα:

• Η Αρχή μπορεί να εξελιχθεί σε bottleneck της αρχιτεκτονικής

• DoS attacks

• Όμως αυθεντικοποιεί πράγματι τα συναλλασσόμενα μέρη;– Πως εγγράφονται τα {name, Public Keys}?

Διανομή Δημοσίων Κλειδιών και Αυθεντικοποίηση

Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

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

45ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

• Προτάθηκε από Kohnfelder (1978)• Τα πιστοποιητικά επιτρέπουν ανταλλαγή κλειδιών με

αυθεντικοποίηση χωρίς να απαιτούν real-time πρόσβαση σε κατάλογο

• Τα πιστοποιητικά παράγονται από έμπιστη ΕΤΟ ή Certificate Authority (CA)

• Ένα πιστοποιητικό συσχετίζει την “ταυτότητα” ενός χρήστη (identity) με public key – Συχνά περιλαμβάνει πρόσθετες πληροφορίες, όπως χρόνος εγκυρότητας,

δικαιώματα χρήσης κοκ• Τα περιεχόμενα του πιστοποιητικού υπογράφονται (signed) από την

έμπιστη ΕΤΟ (CA)

(4) Public-Key Certificates Διανομή Δημοσίων Κλειδιών και Αυθεντικοποίηση

Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

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

46ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

• Το πιστοποιητικό δημοσίου κλειδιού μπορεί να επαληθευτεί από οποιονδήποτε γνωρίζει το public-key της CA

• Το παραδίδεται στο χρήστη και σχετίζεται με το αντίστοιχο ιδιωτικό του κλειδί (το οποίο παράγει ο ίδιος ο χρήστης)

• Ένας χρήστης μεταβιβάζει το δημόσιο κλειδί του σε ένα άλλο χρήστη με το να του μεταδώσει το πιστοποιητικό του

• Χαρακτηριστικά– Μόνο η CA μπορεί να δημιουργεί και να ανανεώνει certficate – Κάθε χρήστης μπορεί να λάβει ένα certficate, να το διαβάσει και να

προσδιορίσει την ταυτότητα και το δημόσιο κλειδί του κατόχου του– Κάθε χρήστης μπορεί να πιστοποιήσει ότι το certficate δημιουργήθηκε από

την CA και δεν είναι πλαστό– Κάθε χρήστης μπορεί να επαληθεύσει την ισχύ (π.χ., χρονική) του certficate

(4) Public-Key Certificates Διανομή Δημοσίων Κλειδιών και Αυθεντικοποίηση

Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

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

47ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

A

CA

B

KUA KUB

CA= EKRauth[KUA , IDA, Time1]

CB= EKRauth[KUB , IDB, Time2]

CA

CB

Ο Χρήστης παράγει ζεύγος ιδιωτικού (KR) και δημόσιου (KU) κλειδιού

Ο Χρήστης απευθύνεται στην CA και υποβάλει το δημόσιο κλειδί του αιτούμενος ένα certficate

- Αν αυτό γίνεται phase-to-phase ή μέσω ηλεκτρονικής αίτησης με authentication τότε μόνο authentication

KUI: Public Key Entity I

KRI: Private Key Entity I

Τimei: Expiration i

(4) Public-Key Certificates Διανομή Δημοσίων Κλειδιών και Αυθεντικοποίηση

Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή

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

48ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης

• Για τον χρήστη Α η CA παρέχει ένα certficate της μορφής CA = EKRauth[KUA , IDA, T1]

• Ο χρήστης Α μπορεί να μεταβιβάσει το CA σε οποιονδήποτε άλλο χρήστη, π.χ., Β• Ο παραλήπτης Β λαμβάνει το CA και επαληθεύει την ταυτότητα και το δημόσιο

κλειδί του Α ως εξής: DKUauth[CA] = DKUauth[EKRauth[KUA , IDA, T1]] = (KUA , IDA, T1)

• Εφόσον το certficate είναι αναγνώσιμο μόνο με χρήση του ιδιωτικού κλειδιού της CA, επαληθεύεται ότι το certficate έχει δημιουργηθεί από την CA

• Τα στοιχεία KUA και IDA παρέχουν στον παραλήπτη την ταυτότητα και το δημόσιο κλειδί του κατόχου του πιστοποιητικού

• Το timestamp T1 επικυρώνει την ισχύ του certficate, ενεργώντας ως «ημερομηνία λήξης».

• «Ληγμένα» certficate πρέπει να κρίνονται ανασφαλή

(4) Public-Key Certificates Διανομή Δημοσίων Κλειδιών και Αυθεντικοποίηση

Κρυπτογραφία Δημοσίου Κλειδιού και Διανομή