Hashing Attacks and Applications. Dimitris Mitropoulos

Σχετικά έγγραφα
Hash Functions. μεγεθος h = H(M) ολους. στο μηνυμα. στο συγκεκριμενο hash (one-way property)

Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων. Συναρτήσεις Κατακερματισμού

Εφαρμοσμένη Κρυπτογραφία Ι

Ασφάλεια Υπολογιστικών Συστηµάτων

Κεφάλαια 2&21. Συναρτήσεις κατακερματισμού Πιστοποίηση ταυτότητας μηνυμάτων

Κρυπτογραφία. MAC - Γνησιότητα/Ακεραιότητα μηνύματος. Πέτρος Ποτίκας

Παύλος Εφραιμίδης. Βασικές Έννοιες Κρυπτογραφίας. Ασφ Υπολ Συστ

Αυθεντικότητα Μηνυμάτων Συναρτήσεις Hash/MAC

Κρυπτογραφία. MAC - Γνησιότητα/Ακεραιότητα μηνύματος. Πέτρος Ποτίκας

Εισαγωγή στην Κρυπτογραφία και τις Ψηφιακές Υπογραφές

Οικονομικό Πανεπιστήμιο Αθηνών Τμήμα Πληροφορικής ΠΜΣ Κρυπτογραφία και Εφαρμογές

Κρυπτογραφία. MAC - Γνησιότητα/Ακεραιότητα μηνύματος. Πέτρος Ποτίκας

Κρυπτογραφία. MAC - Γνησιότητα/Ακεραιότητα μηνύματος. Πέτρος Ποτίκας

8.3.4 Τεχνικές Ασφάλειας Συμμετρική Κρυπτογράφηση Ασυμμετρική Κρυπτογράφηση Ψηφιακές Υπογραφές

Κρυπτογραφία. Μονόδρομες συναρτήσεις - Συναρτήσεις σύνοψης. Άρης Παγουρτζής - Πέτρος Ποτίκας

Αυθεντικοποίηση μηνύματος και Κρυπτογραφία δημόσιου κλειδιού

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ(Θ)

ρ. Κ. Σ. Χειλάς, ίκτυα Η/Υ ΙΙΙ, Τ.Ε.Ι. Σερρών, 2007

Κεφάλαιο 8. Ακεραιότητα και Αυθεντικότητα Μηνυμάτων

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ

Επιθέσεις και Ασφάλεια Κρυπτοσυστημάτων

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

Κρυπτογραφία. Συναρτήσεις μονής κατεύθυνσης - Συναρτήσεις κατακερματισμού. Άρης Παγουρτζής - Πέτρος Ποτίκας

Οι απειλές. Απόρρητο επικοινωνίας. Αρχές ασφάλειας δεδομένων. Απόρρητο (privacy) Μέσω κρυπτογράφησης

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών Ασφάλεια Δεδομένων.

Οικονομικό Πανεπιστήμιο Αθηνών Τμήμα Πληροφορικής ΠΜΣ στα Πληροφοριακά Συστήματα Κρυπτογραφία και Εφαρμογές Διαλέξεις Ακ.

Εισαγωγή στην επιστήμη της Πληροφορικής και των. Aσφάλεια

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο

Κεφάλαιο 21. Κρυπτογραφία δημόσιου κλειδιού και πιστοποίηση ταυτότητας μηνυμάτων

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

Εισαγωγή στην επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών. Aσφάλεια

Cryptography and Network Security Chapter 13. Fifth Edition by William Stallings

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. Δ Εξάμηνο

Public Key Cryptography. Dimitris Mitropoulos

Εισαγωγή στην Κρυπτολογία 3. Ασφάλεια Τηλεπικοινωνιακών Συστημάτων Κωδικός DIΤ114 Σταύρος ΝΙΚΟΛΟΠΟΥΛΟΣ

Ψηφιακές Υπογραφές. Άρης Παγουρτζής Στάθης Ζάχος. Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. Δ Εξάμηνο

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. Δ Εξάμηνο

Αννα Νταγιου ΑΕΜ: 432. Εξαμηνο 8. Ερώτηση 1. Πληκτρολογήστε την εντολή: openssl help Παρατηρήστε τις πληροφορίες που λαµβάνετε.

Εισαγωγή στην επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών. Aσφάλεια

Αλγόριθµοι δηµόσιου κλειδιού

Κρυπτογραφία. Hash functions. Πέτρος Ποτίκας. Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 11η Διάλεξη: Ασφάλεια στο Web

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

1 Ψηφιακές Υπογραφές. 1.1 Η συνάρτηση RSA : Η ύψωση στην e-οστή δύναμη στο Z n. Κρυπτογραφία: Αρχές και πρωτόκολλα Διάλεξη 6. Καθηγητής Α.

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

Ασφάλεια Πληροφοριακών Συστηµάτων. Αυθεντικότητα Μηνυµάτων 1

Κεφάλαιο 8. Συναρτήσεις Σύνοψης. 8.1 Εισαγωγή

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο. Ψηφιακή Υπογραφή και Αυθεντικοποίηση Μηνύματος

Cryptography and Network Security Chapter 9. Fifth Edition by William Stallings

8.3 Ασφάλεια ικτύων. Ερωτήσεις

Χρήστος Ξενάκης Τμήμα Ψηφιακών Συστημάτων Πανεπιστήμιο Πειραιά

Λειτουργικά Συστήματα (ΗΥ321)

Βασικές Έννοιες Κρυπτογραφίας

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. Κρυπτογραφία. Εισαγωγή. Χρήστος Ξενάκης

Ασφάλεια Τηλεπικοινωνιακών Συστημάτων ΣΤΑΥΡΟΣ Ν ΝΙΚΟΛΟΠΟΥΛΟΣ 03 ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΚΡΥΠΤΟΛΟΓΙΑ

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

ΕΠΑΝΑΛΗΠΤΙΚΟ ΤΕΣΤ ΣΤΗΝ ΕΝΟΤΗΤΑ

Ασφάλεια Υπολογιστικών Συστημάτων

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΕΦΑΡΜΟΣΜΕΝΩΝ ΜΑΘΗΜΑΤΙΚΩΝ ΚΑΙ ΦΥΣΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΟΜΕΑΣ ΜΑΘΗΜΑΤΙΚΩΝ

Εφαρμοσμένη Κρυπτογραφία Ι

ΕΠΛ 674: Εργαστήριο 1 Ασφάλεια Επικοινωνιακών Συστημάτων - Κρυπτογραφία

Ασφάλεια ικτύων (Computer Security)

Κεφάλαιο 2. Κρυπτογραφικά εργαλεία

Διάλεξη 18: Τεχνικές Κατακερματισμού I (Hashing)

Χρήστος Ξενάκης Τμήμα Ψηφιακών Συστημάτων

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο

6/1/2010. Ασφάλεια Ασύρματων & Κινητών Επικοινωνιών. Περιεχόμενα. Εισαγωγή /1 IEEE

Ηλεκτρονικό εμπόριο. HE 7 Τεχνολογίες ασφάλειας

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

Blum Blum Shub Generator

Διαχείριση Ασφάλειας και Εμπιστοσύνης σε Πολιτισμικά Περιβάλλοντα

Ασφάλεια Υπολογιστικών Συστημάτων

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. Κρυπτογραφία. Κρυπτογραφικές Συναρτήσεις. Χρήστος Ξενάκης

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο

Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Τμήμα Τηλεπληροφορικής & Διοίκησης

Κρυπτογραφία. Κεφάλαιο 1 Γενική επισκόπηση

ΕΠΑΝΑΛΗΠΤΙΚΟ ΤΕΣΤ ΣΤΗΝ ΕΝΟΤΗΤΑ

Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων SSL/TLS

Ασφάλεια Ασύρματων & Κινητών Επικοινωνιών

Α.ΤΕΙ ΚΡΗΤΗΣ ΠΑΡΑΡΤΗΜΑ ΧΑΝΙΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝIΚΩΝ ΜΗΧΑΝΙΚΩΝ

ΠΡΟΣΤΑΣΙΑ ΠΡΟΣΩΠΙΚΩΝ ΔΕΔΟΜΕΝΩΝ ΣΤΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΘΩΣ ΚΑΙ ΣΤΟ ΔΙΑΔΙΚΤΥΟ

Ψηφιακά Πιστοποιητικά Ψηφιακές Υπογραφές

ΠΡΟΣ: Κάθε ενδιαφερόμενο. Θεσσαλονίκη, 18 /11/2016

1. Τι είναι ακεραιότητα δεδομένων, με ποιους μηχανισμούς επιτυγχάνετε κ πότε θα χρησιμοποιούσατε τον καθένα εξ αυτών;

Διδάσκουσα: Χάλκου Χαρά,

κρυπτογραϕία Ψηφιακή ασφάλεια και ιδιωτικότητα Γεώργιος Σπαθούλας Msc Πληροφορική και υπολογιστική βιοιατρική Πανεπιστήμιο Θεσσαλίας

Κρυπτογραφία. Κρυπτοσυστήματα τμήματος (Block ciphers) Άρης Παγουρτζής Στάθης Ζάχος Πέτρος Ποτίκας

GPG & ΚΡΥΠΤΟΓΡΑΦΙΑ. Π. Αγγελάτος, Δ. Ζήνδρος

Εισαγωγή στην Πληροφορική

Κρυπτογραφία. Κρυπτοσυστήματα πακέτου (Block ciphers) Άρης Παγουρτζής Στάθης Ζάχος Πέτρος Ποτίκας

Ψηφιακές Υπογραφές. Παναγιώτης Γροντάς - Άρης Παγουρτζής. ΕΜΠ - Κρυπτογραφία - ( ) 28/11/2017. Digital Signatures 1 / 57

Κρυπτογραφία. Κρυπτοσυστήματα τμήματος (Block ciphers) Άρης Παγουρτζής Στάθης Ζάχος Πέτρος Ποτίκας

CCA. Simple CCA-Secure Public Key Encryption from Any Non-Malleable ID-based Encryption

Ο ΑΤΔ Λεξικό. Σύνολο στοιχείων με βασικές πράξεις: Δημιουργία Εισαγωγή Διαγραφή Μέλος. Υλοποιήσεις

Διάλεξη 22: Τεχνικές Κατακερματισμού I (Hashing)

Ασφάλεια στο Ηλεκτρονικό Επιχειρείν. ΤΕΙ Δυτικής Ελλάδας Τμήμα Διοίκησης Επιχειρήσεων - Πάτρα Κουτσονίκος Γιάννης

Ρ ΓΑ Σ Τ Ή Ρ Ι Ο 8 Α Σ Φ Ά Λ Ε Ι Α Σ Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Ώ Ν Σ Υ Σ Τ Η Μ ΆΤ Ω Ν

Transcript:

Hashing Attacks and Applications Dimitris Mitropoulos dimitro@di.uoa.gr

Hash Function Κρυπτογραφική Συνάρτηση Κατακερματισμού: μια μαθηματική συνάρτηση που έχοντας ως είσοδο μια αυθαίρετου μεγέθους ομάδα δεδομένων, δίνει σαν έξοδο μια καθορισμένου μεγέθους συμβολοσειρά (string). Η έξοδος (που συνήθως αποκαλείται σύνοψη digest) δεν μπορεί να χρησιμοποιηθεί για να παραχθεί η αρχική είσοδος. H : {0, 1}! {0, 1}

Hash Function Ιδιότητες Ιδιότητες μιας ιδανικής κρυπτογραφικής συνάρτησης κατακερματισμού: 1. Είναι εύκολο να υπολογιστεί η σύνοψη για οποιαδήποτε είσοδο. 2. Δεν είναι εφικτό να βρεις την είσοδο από την σύνοψη. 3. Δεν είναι εφικτό να τροποποιήσεις την είσοδο χωρίς να τροποποιηθεί η σύνοψη. 4. Δεν είναι εφικτό να βρεθούν δύο διαφορετικές είσοδοι που δίνουν την ίδια σύνοψη.

Hash Function The Avalanche Effect Apple 476432a3e8 5a0aa21c23 f5abd2975a 89b6820d63 Red Apple Συνάρτηση Κατακερματισμού 1eef5fa651b b3620f36b9 320aa983fc 3c4f9b7c1 Red AppLE 04a1fc6f24e d3ddb39f2b 68f736c4c8 8a249fdd2

Hash Function Εφαρμογές Μια αποδοτική συνάρτηση κατακερματισμού μπορεί να συμβάλει στην εξασφάλιση της ακεραιότητας των δεδομένων. Μπορεί να χρησιμοποιηθεί για να δεσμεύσει οντότητες που συσχετίζονται βάση συγκεκριμένων δεδομένων (π.χ. ένα ηλεκτρονικό συμβόλαιο). Η έξοδος της μπορεί να θεωρηθεί ως το δακτυλικό αποτύπωμα των δεδομένων εισόδου. Η αποθήκευση μιας σύνοψης μπορεί να συμβάλει στην εξασφάλιση της ιδιωτικότητας των χρηστών μιας εφαρμογής (λ.χ. passwords).

Committing (Δέσμευση) Σφραγισμένες προσφορές δημοπρασιών (bids): Υποβολή μυστικών και ανεξάρτητων προσφορών. O προσφέρων δημοσιοποιεί την τιμή H(bid). Μετά την δημοσιοποίηση, όλοι οι πλειοδότες ανακοινώνουν τις προσφορές τους.

Ψηφιακή Υπογραφή Sign Data (D) 0101011010 1001010101 h = H(D) 0101010101 S = E(SK, h) Signature (S) Signed Data

Ψηφιακή Υπογραφή Verify Signature (S) h = D(PK, S) 0101011010 1001010101 0101010101 Signed Data Σύγκριση Data (D) h = H(D) 0101011010 1001010101 0101010101

Code Signing Sign Το ιδιωτικό κλειδί του προγραμματιστή (ή της ομάδας ανάπτυξης). Αντίστοιχα υπάρχει και ένα πιστοποιητικό. Code (C) h = H(C) 0101011010 1001010101 0101010101 S = E(SK, h) Signature (S) Signed Code

Code Signing Verify Signature (S) h = D(PK, S) 0101011010 1001010101 0101010101 Signed Code Σύγκριση Code (C) h = H(C) 0101011010 1001010101 0101010101

Pretty Good Privacy Encryption Data (d) δημιουργία τυχαίου κλειδιού (Κ) 010101101010101 d = E(K, D) δημόσιο RSA κλειδί του παραλήπτη (PK) 010001101110101 Κ = ERSA(PK, K) Data (d ) 010101101110101 Encrypted Message

Pretty Good Privacy Decryption Encrypted Data ιδιωτικό RSA κλειδί του παραλήπτη (SK) 110100101110101 Data (d ) 010101101110101 K = DRSA(SK, K ) 010101101010101 d = D(K, d ) Data (d)

Hash Function Επιθέσεις First Pre-image Attack: Δεδομένης μιας τιμής h = H(m), ο επιτιθέμενος θέλει να βρει την τιμή m. Second Pre-image Attack: Δεδομένης μιας εισόδου m1, ο αντίπαλος δοκιμάζει να βρει μια δεύτερη m2 (διάφορη της m1) ώστε να ισχύει η ισότητα: H(m1) = H(m2). Collision Attack: Ο επιτιθέμενος προσπαθεί να βρει δυο διαφορετικές εισόδους m1, m2 για τις οποίες να ισχύει η ισότητα: H(m1) = H(m2).

Hash Function First Pre-image Attack Υποθέτουμε πως σε μια web εφαρμογή αποθηκεύονται στη βάση τα username και τα passwords με την μορφή: {username, H (password)} αντί της: {username, password}. Σε περίπτωση που η βάση κλαπεί, δεδομένου ενός h = Η(m), ο επιτιθέμενος θα προσπαθήσει να βρει το m (ή έστω ένα m που θα παράξει το h).

Hash Function Second Pre-image Attack Σε μια τέτοια επίθεση ο χρήστης γνωρίζει περισσότερα (H(m), m). Υποθέτουμε πως έχουμε την συνάρτηση κατακερματισμού: H(m) = m d mod p*q Όπου p και q είναι δυο (μεγάλοι) πρώτοι αριθμοί και d ένα γνωστός ακέραιος. Είναι εύκολο να βρούμε ένα m = m*p*q + m έτσι ώστε: H(m ) = H(m*p*q + m) = (m*p*q + m) d mod p*q = m d mod p*q Quiz: Για ποιόν αλγόριθμο μιλάμε εαν η επίθεση είναι first pre-image; Quiz 2: Τι θα συνέβαινε εαν πετυχαίναμε κάτι τέτοιο στην περίπτωση H(code);

The Birthday Paradox Πόσα άτομα θα πρέπει να βρεθούν σε ένα δωμάτιο ώστε η πιθανότητα να έχουν δυο από αυτά την ίδια μέρα γενέθλια, να είναι 50%;

The Birthday Paradox Εξήγηση Όταν το x είναι κοντά στο 0 ισχύει: κατά συνέπεια:

The Birthday Paradox Εξήγηση (2) <=> <=> εαν προσθέσουμε από 1 έως n έχουμε n(n+1)/2, έτσι: βάζοντας n αντί για 23:

The Birthday Paradox Εξήγηση (3) Γενικότερα: έχοντας n ανθρώπους και T αντικείμενα: υποθέτουμε πως θέλουμε πιθανότητα 50% και λύνουμε ως προς n: <=> <=> <=> <=> Θέλουμε Hash functions με μεγάλο T!

Collision Attack Χρησιμοποιώντας το B.P. 1. Τυχαία δειγματοληψία: x, H(x) 2. Αποθήκευση n ζευγαριών σε ένα table. 3. Ταξινόμηση με βάση τo Η(x). 4. Linear pass για entries που έχουν ίσα h.

Collision Attack Χρησιμοποιώντας το B.P. (2) Η Mallory θέλει να ξεγελάσει τον Bob ώστε αυτός να υπογράψει μια διαφορετική σύμβαση από αυτή που συμφώνησαν. Η Mallory φτιάχνει μια κανονική σύμβαση m και μια δόλια m. Έπειτα βρίσκει τρόπους να αλλάξει τη σύμβαση χωρίς να αλλάζει το νόημά της (προσθέτει κενά, αφαιρεί κόμματα, κ.α.) και έτσι παράγει πολλές παραλλαγές του m. Στη συνέχεια κάνει κάτι αντίστοιχο για την m. Μετά, για όλες τις παραλλαγές παράγει τα αντίστοιχα digests χρησιμοποιώντας μια H(x). Τέλος, ψάχνει να βρει περιπτώσεις όπου: Η(m) = H(m ). Quiz: είναι η ίδια περίπτωση με τα γενέθλια;

Merkle Damgård Design Υποθέτουμε πως έχουμε μια καλή one-way compression συνάρτηση (με αποδοτικό avalanche effect): Θέλουμε να επεκτείνουμε την είσοδο με το IV: IV HASH Μετά το τελευταίο compression γίνεται padding.

Merkle Damgård Design Padding (?) Εάν η είσοδος είναι: HashInput Και το compression function είναι 8 bytes, είναι θεμιτό να κάνουμε padding με μηδενικά; HashInput 0000000

Merkle Damgård Design Padding Προτιμάμε για: HashInput Να έχουμε: HashInput 1000000 00000009 Το μήκος της εισόδου

MD5 128 bit έξοδος. Η είσοδος σπάει σε blocks των 512 bits (16 λέξεις των 32 bit). Padding μέχρι το μήκος να διαιρείται με το 512. Χρησιμοποίηση: addition modulo 2 32, rotation. Πηγή εικόνας: https://en.wikipedia.org/wiki/md5

MD5 Επιθέσεις Ευάλωτος σε collision attacks (2004). Πλέον μπορεί να βρεθεί collision σε λιγότερο από μερικά δευτερόλεπτα. Ο ιός Flame εκμεταλλευόταν collisions για να δείχνει πως είναι επίσημο προϊόν της Microsoft.

SHA Secure Hash Algorithms Ακολουθούν και αυτοί το Merkle Damgård Design. Αποτελούν NIST (National Institute of Standards and Technology) standards. Ο SHA-1 αντικατέστησε τον SHA-0 που ήταν ευάλωτος σε collision attacks από πολύ νωρίς (1998). Ο SHA-1 προσέθετε ένα rotation ακόμα. Και οι δυο παράγουν έξοδο 160 bits. Πρώτα collision attacks στον SHA-1 το 2005. Υπάρχουν επίσης οι SHA-2 και ο SHA-3 (224, 256, 384 ή 512 bits έξοδος).

πριν μερικές εβδομάδες

SHA-1 Collisions Eπηρεάζουν τον τρόπο λειτουργίας του Git, του SVN, του BitTorrent και πολλών άλλων εφαρμογών.

MACs Message Authentication Codes Χρησιμοποιούνται ευρέως για την διαφύλαξη της ακεραιότητας (δεν μας απασχολεί η εμπιστευτικότητα) των δεδομένων (OS files, banner ads κ.α.). Συνδυασμός συμμετρικής κρυπτογράφησης και συναρτήσεων κατακερματισμού:

MACs Ορισμός Alice message m tag Bob Generate tag: tag < S(k, m) Verify tag: V(k, m, tag) = yes MAC: ένα ζεύγος αλγορίθμων (S, V) που ορίζονται από 3 σύνολα (K, M, T): 1. S(k, m) παράγει ένα T 2. V(k, m, t) δίνει ως έξοδο yes ή no. Ορθότητα: V(k, m, S(k, m)) = yes

MACs Χρειάζεται το key; message m tag Alice Generate tag: tag < CRC(m) Bob Verify tag: V(m, tag) = yes (CRC: Cyclic Redundancy Check)

MACs Χωρίς το key message m tag Alice Generate tag: tag < CRC(m) m // CRC(m ) Bob Verify tag: V(m, tag) = yes

Secure MACs Τι μπορεί να κάνει ο αντίπαλός; Chosen Message Attacks: για m 1, m 2, m q, o αντίπαλος λαμβάνει t i < S(k, m 1 ) Τι θέλει να κάνει; Existential Forgery: Να δημιουργήσει νέα έγκυρα ζεύγη message/tag (m, t). (m, t) /2 {(m 1, t 1 ), (m 2, t 2 ),, (m q, t q )} 1. Ο αντίπαλος δεν θα πρέπει να μπορεί να δημιουργήσει ένα τέτοιο έγκυρο ζεύγος. 2. Δεδομένου ενός (m, t) ο αντίπαλος δεν θα πρέπει να μπορεί να παράξει ένα (m, t ) για t = t.

Secure MACs Probability Game Για έναν MAC I = (S, V) έχουμε το παρακάτω MAC Game: Chal. k < K b 2 m1 M m2,, mq t1< S(k, m1) t2,, tq (m, t) Adv. A b = 1 εαν V(k, m, t) = yes και (m, t) b = 0 σε διαφορετική περίπτωση. /2 {(m1, t1),, (mq, tq)} Ένας I = (S, V) είναι ασφαλής για όλους τους αντιπάλους εαν η πιθανότητα το b = 1 είναι ελάχιστη.

MACs Προστασία των system files F1 F2 Fn το k προέρχεται από το password που δίνει ο χρήστης t1 = S(k, F1) t2 = S(k, F2) tn = S(k, Fn)

Βιβλιογραφία Stephane Manuel. Classification and Generation of Disturbance Vectors for Collision Attacks against SHA-1. [Online] Available: http://eprint.iacr.org/2008/469.pdf. Halevi S., Krawczyk H. Strengthening Digital Signatures Via Randomized Hashing. Lecture Notes in Computer Science, pp. 41-59. 2006. Mihir Bellare, Tadayoshi Kohno: Hash Function Balance and Its Impact on Birthday Attacks. EUROCRYPT 2004: pages 401 418. Al-Kuwari, S., Davenport, J. H. and Bradford, R. J., 2010. Cryptographic hash functions: recent design trends and security notions. In: Short Paper Proceedings of 6th China International Conference on Information Security and Cryptology (Inscrypt '10). Science Press of China, pp. 133-150. Apple Code Signing Guide [Online]. Available: https://developer.apple.com/library/content/documentation/security/ Conceptual/CodeSigningGuide/Introduction/Introduction.html. Xiaoyun Wang & Hongbo Yu. How to Break MD5 and Other Hash Functions. Advances in Cryptology Lecture Notes in Computer Science. pp. 19 35. McElroy, Damien; Williams, Christopher. "Flame: World's Most Complex Computer Virus Exposed". The Daily Telegraph. 28 May 2012 [Online] Available: http://www.telegraph.co.uk/news/worldnews/middleeast/iran/9295938/ Flame-worlds-most-complex-computer-virus-exposed.html. Florent Chabaud, Antoine Joux. Differential Collisions in SHA-0. In CRYPTO 98 Vincent Rijmen and Elisabeth Oswald. Update on SHA-1. Cryptology eprint Archive: Report 2005/010 [Online]. Available: http://eprint.iacr.org/2005/010. The Keyed-Hash Message Authentication Code (HMAC). National Institute of Standards and Technology. [Online]. Available: http://nvlpubs.nist.gov/nistpubs/fips/nist.fips.198-1.pdf.