Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Ακαδημαϊκό Έτος Εξάμηνο: Δ’ Ασφάλεια Υπολογιστών και Προστασία Δεδομένων Ενότητα 3: Μια Επισκόπηση των Κρυπτογραφικών Μηχανισμών της Ασφάλειας Η/Υ και Δικτύων Εμμανουήλ Μάγκος
1.2. Μυστικότητα & Εμπιστευτικότητα Συμμετρικές Τεχνικές: Kρυπτογράφηση Μυστικότητα (Εμπιστευτικότητα)
Αλγόριθμοι Αντικατάστασης (Μονοαλφαβητικοί) Αλγόριθμος Ολίσθησης (Shift Cipher) Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 * *
Συμμετρική Κρυπτογράφηση Ο Αλγόριθμος DES - Συνοπτικά F. Bauer. Decrypted Secrets–Methods and Maxims of Cryptology,4th Edition. Springer, (1 γύρος)
1.2. Μυστικότητα & Εμπιστευτικότητα Τεχνικές Δημόσιου Κλειδιού: Kρυπτογράφηση
Ο αλγόριθμος RSA 1. H Alice επιλέγει τυχαία δύο πρώτους αριθμούς p, q є Ζ * Ν 2. Η Alice υπολογίζει N = p * q 3. H Alice διαλέγει αριθμό e є Ζ* Φ(Ν) 4. Η Alice υπολογίζει αριθμό d є Ζ* Ν, ώστε 5. H Alice διαγράφει τα p και q 1.2. Μυστικότητα & Εμπιστευτικότητα Αλγόριθμοι Δημόσιου Κλειδιού – Ο αλγόριθμος RSA Κρυπτογράφηση: Αποκρυπτογράφηση: Η. Mel, D. Baker. Cryptography Decrypted. Addison-Wesley, 2001 Δημόσιο Κλειδί : (e, N) Ιδιωτικό Κλειδί : d (Υπολογιστική) Ασφάλεια RSA problem. Ανάγεται στο: Factoring problem: Πρόβλημα εύρεσης πρώτων παραγόντων μεγάλων αριθμών Για μεγάλο Ν, (>= 1024 bit), «δύσκολο» να βρεθούν οι πρώτοι παράγοντες p και q Υπολογιστικά Αδύνατο J. Katz, Y. Lindell. Introduction to Modern Cryptography. Chapman & Hall/CRC, 2008.
π.χ. κρυπτογράφηση του αριθμού 19 στο Z * 55 (e, d) = (3, 27) n = 55 Κρυπτογράφηση: c = 19 3 mod 55 = 39 Aποκρυπτογράφηση: m = mod Μυστικότητα & Εμπιστευτικότητα Αλγόριθμοι Δημόσιου Κλειδιού – Ο αλγόριθμος RSA Η. Mel, D. Baker. Cryptography Decrypted. Addison-Wesley, 2001
Αλγόριθμοι Δημόσιου Κλειδιού – Ο αλγόριθμος Εδραίωσης (Συμμετρικού) Κλειδιού των Diffie-Hellman Όλες οι πράξεις γίνονται mod p g και p: Παράμετροι συστήματος ΓΝΩΣΤΕΣ ΣΕ ΟΛΟΥΣ Παράμετροι συστήματος p= 101, g=3 a=5 b=6 John Hershey. Cryptography Demystified. McGraw-Hill Professional, 2003 (Diffie-Hellman, 1976)
Επίθεση Ενδιάμεσης Οντότητας (MITM) στο πρωτόκολλο Diffie-Hellman N. Ferguson, B. Schneier. Practical Cryptography. Wiley, Λύση: Τεχνικές Αυθεντικοποίησης Μηνύματος και Οντότητας !
Ιδιότητες Συναρτήσεων Hash 1. Compression Είσοδος (pre image): Αλφαριθμητικό κάθε μεγέθους. Έξοδος: αλφαριθμητικό μεγέθους Χ (τιμή hash) 2. Ευκολία στον υπολογισμό Δεδομένης μιας τιμής x και της συνάρτησης H, είναι εύκολο να βρείς το H(x) 1.3. Αυθεντικοποίηση Μηνύματος Συμμετρικές Τεχνικές: Συναρτήσεις Hash D R Menezes, Oorschot, Vanstone, Handbook of Applied Cryptography, CRC,
Κρυπτογραφικές Συναρτήσεις Hash Μονόδρομες Συναρτήσεις Hash με επιπλέον προστασία από συγκρούσεις (collision resistance) 1.3. Αυθεντικοποίηση Μηνύματος Συμμετρικές Τεχνικές: Συναρτήσεις Hash Ιδιότητες Κρυπτογραφικών Συναρτήσεων Hash 1. One way: Εύκολο να υπολογίσεις την τιμή hash δεδομένου του αρχικού μηνύματος, δύσκολο να υπολογίσεις το αρχικό μήνυμα δεδομένης της τιμής hash. 2. Collision-Resistance: Δύσκολο να βρεθεί σύγκρουση Σύγκρουση: δύο μηνύματα που δίνουν την ίδια τιμή hash D R Menezes, Oorschot, Vanstone, Handbook of Applied Cryptography, CRC, 2001 Σημείωση: Αν |D| > |R| τότε οι συγκρούσεις είναι αναπόφευκτες, ωστόσο, σε μια κρυπτογραφική συνάρτηση hash είναι δύσκολο να βρεθούν Εύκολο Δύσκολο
Μονόδρομες συναρτήσεις hash Παραδείγματα Αλγορίθμων SHA -1 Αλγόριθμοι Hash Ένας γύρος (round) στον αλγόριθμο SHA- 1
Mao, W. Modern Cryptography: Theory and Practice. Prentice Hall, 2003
1.3. Αυθεντικοποίηση Μηνύματος Συμμετρικές Τεχνικές: ΜΑC ΗΜΑC: Μια συνάρτηση MAC μπορεί να θεωρηθεί παραλλαγή μιας συνάρτησης hash (n-bit) Είσοδος: Το μήνυμα Μ και ένα συμμετρικό κλειδί Κ Έξοδος: τιμή MAC (n–bit) Ασφάλεια Συνάρτησης HMAC 1. Κληρονομεί τις ιδιότητες ασφάλειας της συνάρτησης Hash 2. H διαδρομή Μ ΜΑC(M) δεν είναι πλέον εύκολη..εκτός & αν υπάρχει γνώση του Κ 3. Αν η Hash είναι ασφαλής, η ασφάλεια της συνάρτησης MAC βασίζεται στο μήκος του κλειδιού Μήκος(Κ) = 128 bit Μήκος Hash = 256 bit Menezes, Oorschot, Vanstone, Handbook of Applied Cryptography, CRC, 2001 HASH
1.3. Αυθεντικοποίηση Μηνύματος Συμμετρικές Τεχνικές: ΜΑC: Μοντέλο Επικοινωνίας Αλγόριθμος Hash M M, ΜΑC(Μ) Μ 5 NAI (OK) OXI M 1 Secure Channel K K K Ακεραιότητα ΚΑΙ Αυθεντικοποίηση Μηνύματος
1.3. Αυθεντικοποίηση Μηνύματος Συμμετρικές Τεχνικές: ΜΑC Eνας αλγόριθμος σε CBC mode μπορεί να χρησιμοποιηθεί και ως αλγόριθμος MAC, όπου η τιμή ΜΑC ισούται με το n-οστό κρυπτογραφημένο block C. Kaufman, R. Perlman, M. Speciner. Network Security – Private Communication in a Public World. 2002
1.3. Αυθεντικοποίηση Μηνύματος Αλγόριθμοι Δημόσιου Κλειδιού - Ψηφιακή Υπογραφή με RSA Δημιουργία Κλειδιών 1. Επιλογή πρώτων: p = 7927, q = Υπολογισμός: n = p * q = Υπολογισμός: Φ(n) = 7926 * 6996 = Επιλογή e = 5 και επίλυση της εξίσωσης: 5 * d 1 (mod ) Δημόσιο κλειδί: (n = , e = 5) Ιδιωτικό Κλειδί: d = Υπογραφή (του μηνύματος Μ = C = ( ) mod = Επαλήθευση Μ = mod = Menezes, Oorschot, Vanstone, Handbook of Applied Cryptography, CRC, 2001
1.3. Αυθεντικοποίηση Μηνύματος Ψηφιακή Υπογραφή με Αλγόριθμο ΔΚ και Hash Σε συστήματα Αυθεντικοποίησης (MAC, ψηφ. υπογραφή) η ασφάλεια της συνάρτησης Hash έναντι συγκρούσεων (collision resistance) είναι κρίσιμη ! 1. Έστω ο Mallory βρίσκει δύο Μ1 και Μ2 ώστε Η(Μ1)=Η(Μ2) 2. Ο Mallory πείθει με κάποιον τρόπο την Alice να υπογράψει το Μ1 3. Ο Mallory ισχυρίζεται ότι η Alice υπέγραψε το Μ2 !!!
1.4. Υποδομή Δημόσιου Κλειδιού Διανομή Δημόσιων Κλειδιών 1. Απευθείας παράδοση μέσω ενός «ασφαλούς» καναλιού π.χ. αυτοπροσώπως ή με Courier 2. Δημόσια ανακοίνωση π.χ. Web, USENET, lists,… 3. Παράδοση μέσω μη ασφαλούς (ηλεκτρονικού) καναλιού και επιβεβαίωση αυθεντικότητας μέσω ανεξάρτητου καναλιού Π.χ. Ανάγνωση μέσω τηλεφώνου της τιμής hash του PGP ΔΚ 4. Χρήση ενός online καταλόγου με δημόσια κλειδιά Το κανάλι παράδοσης θα πρέπει να είναι ασφαλές από επιθέσεις του Mallory π.χ. O server υπογράφει ψηφιακά τις απαντήσεις Menezes, Oorschot, Vanstone, Handbook of Applied Cryptography, CRC, 2001 ΒΔ ΔΚ Β W. Stallings. Cryptography and Network Security, Principles and Practice. 5th Edition, Pearson, 2010
1.4. Υποδομή Δημόσιου Κλειδιού Διανομή Δημόσιων Κλειδιών (Stallings, 2010) (Popek and Kline, 1979)
1.4. Υποδομή Δημόσιου Κλειδιού Διανομή Δημόσιων Κλειδιών Κυρίαρχη πρόταση: Χρήση offline server (CA) που εκδίδει (υπογράφει) πιστοποιητικά a) Κάθε χρήστης εγγράφεται στην CA, υποβάλλει το ΔΚ του, λαμβάνει ένα πιστοποιητικό του ΔΚ του b) Για να μπορεί ο χρήστης να επαληθεύει πιστοποιητικά άλλων χρηστών θα πρέ- πει να έχει/αποκτήσει το έγκυρο ΔΚ CA : Η ισχύς ενός πιστοποιη- τικού θα πρέπει να είναι επαληθεύσιμη Menezes, Oorschot, Vanstone, Handbook of Applied Cryptography, CRC, 2001 Cert Α Το βήμα a) μπορεί να γίνει ηλεκτρονικά. Ωστόσο, το βήμα b) θα πρέπει να γίνει με φυσικό (ή άλλο, ασφαλή) τρόπο ώστε να αποτραπεί επίθεση από τον Mallory !! Πιστοποιητικό: «Δέσιμο» του ονόματος του υποκείμενου με ένα ΔΚ (Kohnfelder 1978) (Denning 1983)
1.4. Υποδομή Δημόσιου Κλειδιού Exchange of Public Key Certificates (Stallings, 2010)
1.4. Υποδομή Δημόσιου Κλειδιού Exchange of Public Key Certificates (Stallings, 2010)
1.4. Υποδομή Δημόσιου Κλειδιού Standard: X.509 Certificates (Stallings, 2010) (ITU-T X.509)
1.4. Υποδομή Δημόσιου Κλειδιού Exchange of Public Key Certificates (Stallings, 2010)
O Σύγχρονος Ρόλος της Κρυπτογραφίας Modern Role of Cryptography: Ensuring Fair Play of Games… Mao, W. Modern Cryptography: Theory and Practice. Prentice Hall, 2003
Ας μελετήσουμε το ακόλουθο πρόβλημα… Δύο (ή περισσότερες) οντότητες, διαθέτουν από μία βάση δεδομένων με εμπιστευτικά (ευαίσθητα) δεδομένα, και επιθυμούν την εκτέλεση ενός αλγορίθμου εξόρυξης δεδομένων στην ένωση των βάσεων, χωρίς να αποκαλυφθούν τα επιμέρους δεδομένα… (Lindell and Pinkas, 2000) X1X1 X2X2 Σημείωση: Οι δύο οντότητες ΔΕΝ ΕΜΠΙΣΤΕΥΟΝΤΑΙ η μία την άλλη
Μην φοβάστε !! Δεν θα προδώσω τα μυστικά σας … Η απάντηση είναι … Θα σας βοηθήσω !! Αν με εμπιστεύεστε … Ένα «Ιδανικό» πρωτόκολλο 16 Tons X1X1 X2X2 F(X 1,X 2 ) Στόχος: H υλοποίηση συστημάτων που «μοιάζουν» με το ιδανικό σύστημα… Πώς? Με τη χρήση κρυπτογραφικών τεχνικών και μεθόδων …
Μπορούμε να υπολογίσουμε το μέσο μισθό μας, χωρίς να μάθουμε ο ένας το μισθό του άλλου; Secure Multiparty Computation (SMC) [Yao, 1987] ΔΚ Β [Μ Α + r] M = (M C + M B + Μ Α ) / 3 ΔΚ C [Μ Β + Μ Α + r] ΔΚ A [M C + M B + Μ Α + r] Alice Bob Carol