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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

YΒΡΙΔΙΚΗ ΚΡΥΠΤΟΓΡΑΦΙΑ

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

Στοιχεία Κρυπτογραφίας

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

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

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

Κεφάλαιο 1. Βασικές έννοιες στην κρυπτογραφία

ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ Lab 3

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

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

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

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

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

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

ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ

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

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

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

KΕΦΑΛΑΙΟ 5 ΨΗΦΙΑΚΕΣ ΥΠΟΓΡΑΦΕΣ

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

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

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

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

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

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

ΤΕΙ Κρήτης Τμήμα Μηχανικών Πληροφορικής. Συμμετρική Κρυπτογραφία

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

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

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

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

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

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

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

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

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

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

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

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

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

Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων. PGP (Pretty Good Privacy)

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

Συμμετρική Κρυπτογραφία

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

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

Κρυπτογραφία και Ηλεκτρονικοί Υπολογιστές. ΣΥΝΤΕΛΕΣΤΕΣ: Κραβαρίτης Αλέξανδρος Μαργώνη Αγγελική Χαλιμούρδα Κων/να

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

Hashing Attacks and Applications. Dimitris Mitropoulos

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

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

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

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

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

Κρυπτογραφία. Κωνσταντίνου Ελισάβετ

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

Κρυπτογραφία. Κεφάλαιο 4 Αλγόριθμοι Δημοσίου Κλειδιού (ή ασύμμετροι αλγόριθμοι)

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

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

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

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

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

Τετάρτη 20 Ιουνίου, Κρυπτογράφηση Ανωνυμοποίηση Ψευδωνυμοποίηση

ΨΗΦΙΑΚΗ ΥΠΟΓΡΑΦΗ. Απόστολος Πλεξίδας Προϊστάµενος της ιεύθυνσης ιαφάνειας & Ηλεκτρονικής ιακυβέρνησης της Περιφέρεια Κεντρικής Μακεδονίας

Συμμετρικά κρυπτοσυστήματα

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

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

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

Παύλος Εφραιμίδης. Κρυπτογραφικά Πρωτόκολλα. Ασφ Υπολ Συστ

Δίκτυα Υπολογιστών Ενότητα 6: Secure Sockets Layer - SSL

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 131: ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I ΕΡΓΑΣΙΑ 2

Εισ. Στην ΠΛΗΡΟΦΟΡΙΚΗ. Διάλεξη 8 η. Βασίλης Στεφανής

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

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

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

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

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

Transcript:

ΤΕΙ ΚΡΗΤΗΣ ΤΜΉΜΑ ΜΗΧΑΝΙΚΏΝ ΠΛΗΡΟΦΟΡΙΚΉΣ Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων Συναρτήσεις Κατακερματισμού

Ο όρος συνάρτηση κατακερματισμού (hash function) υποδηλώνει ένα μετασχηματισμό που παίρνει σαν είσοδο ένα μήνυμα m οποιουδήποτε μήκους και επιστρέφει στην έξοδο μία ακολουθία χαρακτήρων h περιορισμένου μήκους που καλείται hash value, δηλαδή είναι h = H(m).

Οι συναρτήσεις κατακερματισμού (hash functions) είναι συναρτήσεις της μορφής H(x)=y, με τις εξής ιδιότητες: η είσοδος είναι οποιουδήποτε μήκους η έξοδος έχει περιορισμένο (και συγκεριμένο) μήκος δεδομένου του x, ο υπολογισμός του y είναι εύκολος η H(x) είναι μη αντιστρέψιμη η H(x) είναι (ιδανικά) αμφιμονοσήμαντη (ένα προς ένα συνάρτηση)

Λέγοντας μη αντιστρέψιμη συνάρτηση εννοούμε ότι δεδομένου ενός y είναι υπολογιστικά πολύ δύσκολο έως αδύνατο να βρεθεί ο x. Λέγοντας αμφιμονοσήμαντη εννοούμε ότι για δύο x 1, x 2 για τα οποία ισχύει ότι x 1 x 2 είναι πάντα H(x 1 ) H(x 2 ). Σε καμία περίπτωση δεν πρέπει να είναι H(x 1 ) = H(x 2 ) όταν x 1 x 2.

Η hash value παρουσιάζει συνοπτικά το μεγαλύτερο μήνυμα ή έγγραφο, για αυτό καλείται και σύνοψη μηνύματος (message digest). Μπορούμε να φανταστούμε την σύνοψη του μηνύματος σαν "ψηφιακό αποτύπωμα" (digital fingerprint) του εγγράφου.

Ειδικότερα οι κρυπτογραφικές συναρτήσεις κατακερματισμού πρέπει να παρέχουν: Συμπίεση (compression) μικρού μήκους έξοδος. Αποδοτικότητα (efficiency) η συνάρτηση H(m) να μπορεί να υπολογιστεί για κάθε m. Μία κατεύθυνση (one-way) δεδομένου μία τιμής h ναι είναι αδύνατον να βρεθεί m ώστε να ισχύει h = H(m ). Αδύναμη αντίσταση σε σύγκρουση (weak collision resistance ή second preimage resistance) δεδομένου m να είναι αδύνατον να βρεθεί m m ώστε να ισχύει H(m) = H(m ). Ισχυρή αντίσταση σε σύγκρουση (strong collision resistance) να είναι αδύνατον να βρεθεί οποιοδήποτε ζευγάρι m, m με m m ώστε να ισχύει H(m) = H(m ). Όταν έχουμε ισχυρή αντίσταση σε σύγκρουση, αντίστροφο δεν ισχύει πάντα. έχουμε και αδύναμη αλλά το

Επειδή οι hash functions είναι πιο γρήγορες από τους αλγόριθμους κρυπτογράφησης και ψηφιακών υπογραφών, συνηθίζεται να παράγεται η υπογραφή των μηνυμάτων με την εφαρμογή κρυπτογραφικών διαδικασιών στο message digest, το οποίο είναι πιο μικρό και εύκολο στην διαχείριση. Επιπλέον ένα message digest μπορεί να δημοσιοποιηθεί χωρίς να αποκαλύπτει τα περιεχόμενα του αυθεντικού κειμένου

Πρακτικά, κάθε συνάρτηση συγχώνευσης μηνύματος έχει τρεις ιδιότητες: Με είσοδο το καθαρό κείμενο P, είναι εύκολο να υπολογιστεί το MD(P). Με έξοδο το MD(P) είναι πρακτικά απίθανο να βρεθεί το P. Είναι αδύνατη η παραγωγή δύο μηνυμάτων που παρουσιάζουν την ίδια συγχώνευση μηνύματος.

Οι Damgard και Merkle εισήγαγαν την έννοια της compression function. Αυτές οι συναρτήσεις παίρνουν είσοδο καθορισμένου μήκους και δίνουν έξοδο μικρότερου, περιορισμένου μήκους. Δεδομένου, λοιπόν, ενός compression function, μία hash function μπορεί να πραγματοποιηθεί με την επανειλημμένη εφαρμογή της compression function μέχρι ολόκληρο το μήνυμα να έχει υποστεί επεξεργασία.

Πιο αναλυτικά, το μήνυμα τεμαχίζεται σε blocks, των οποίων το μέγεθος εξαρτάται από την compression function, και συμπληρώνεται (padded) για λόγους ασφαλείας, ώστε το μήκος του μηνύματος να είναι πολλαπλάσιο του μήκους του block. Το παρακάτω σχήμα επιδεικνύει την λογική της διαδικασίας:

Ακολουθούν παραδείγματα γνωστών hash functions...

O SHA-0 αναπτύχθηκε και παρουσιάστηκε από το NIST το 1993. Λόγω κάποιων αδυναμιών, που εντοπίστηκαν σχεδόν αμέσως, διορθώθηκε και παρουσιάστηκε ως SHA-1 δύο χρόνια αργότερα.

Ο SHA-1 παίρνει είσοδο μήνυμα μήκους μικρότερο από 2 64 bits και παράγει message digest 160 bits. 2 64 bits = 2 exabytes Είναι ελαφρά πιο αργός από τον MD5, αλλά το μεγαλύτερο message digest που παράγει τον κάνει πιο ασφαλή απέναντι σε προσπάθειες αντιστροφής του

Το 2001 ο NIST παρουσίασε τον SHA-2 που στην αποτελείται από τους SHA-224, SHA-256, SHA-384 και SHA-512. Τα νούμερα αναφέρονται στα bits της σύνοψης που παράγει η κάθε παραλλαγή του αλγορίθμου.

Το 2007 ξεκίνησε ο διαγωνισμός του NIST για τον SHA-3. Ο διαγωνισμός ολοκληρώθηκε τον Οκτώβριο του 2012, και ο αλγόριθμος που επιλέχθηκε ήταν ο Keccak (που πλέον θα καλείται SHA-3). Δουλεύει με λέξεις 64bit και έχει μεταβλητή έξοδο. Δεν θα αντικαταστήσει τον SHA-2 αφού δεν έχουν ακόμα εντοπιστεί προβλήματα στην ασφάλεια του τελευταίου.

Οι αλγόριθμοι MD2,MD4,MD5 είναι hash functions που έχουν αναπτυχθεί από τον Ron Rivest. Προορίζονται, κυρίως, για την παραγωγή ψηφιακών υπογραφών. Το μήνυμα πρώτα σμικρύνεται με έναν από αυτούς τους αλγόριθμους και έπειτα το message digest του μηνύματος κρυπτογραφείται με την ιδιωτική κλείδα του αποστολέα.

Και οι τρεις παίρνουν στην είσοδο μήνυμα αυθαίρετου μήκους, δουλεύουν με «λέξεις» των 32bit και δίνουν στην έξοδο ένα message digest 128 bit. Παρ' όλο που η κατασκευή τους μοιάζει αρκετά, ο MD2 είχε σχεδιαστεί για μηχανές 8 bit, σε αντίθεση με τους MD4 και MD5 που προορίζονται για μηχανές 32 bit.

Ο MD4 αναπτύχθηκε το 1990. Το μήκος του μηνύματος συμπληρώνεται με κατάλληλο αριθμό bits, ώστε το μήκος του σε bits συν 448 να είναι διαιρέσιμο από το 512. Ο MD5 αναπτύχθηκε το 1991. Είναι μια βελτιωμένη έκδοση του MD4, γι' αυτό είναι και λίγο πιο αργός. Έχουν επανειλημμένα αναλυθεί με διάφορους τρόπους και δεν πρέπει να θεωρούνται πλέον ασφαλείς.

Message Authentication Code είναι ένα κώδικας (καλείται και checksum) που συνοδεύει το μήνυμα και πιστοποιεί την ταυτότητα του αποστολέα και την ακεραιότητα του μηνύματος. Για την παραγωγή τους εφαρμόζεται στο μήνυμα ένα από τα προαναφερθέντα κρυπτογραφικά εργαλεία σε συνδυασμό με ένα μυστικό κλειδί.

Σε αντίθεση με τις ψηφιακές υπογραφές, τα MACs υπολογίζονται και επαληθεύονται με το ίδιο κλειδί, έτσι ώστε να μπορούν να επαληθευθούν μόνο από τον προοριζόμενο παραλήπτη. Ένας τύπος MAC είναι αυτός που βασίζεται σε hash functions.

Τα MACs που βασίζονται σε hash functions χρησιμοποιούν ένα μυστικό κλειδί σε συνδυασμό με ένα hash function για την παραγωγή του checksum που συνοδεύει το μήνυμα. Το κλειδί χρησιμοποιείται για να κρυπτογραφήσει το message digest του μηνύματος. Ο παραλήπτης του μηνύματος, που μοιράζεται με τον αποστολέα το ίδιο κλειδί, αποκρυπτογραφεί το message digest και έπειτα το συγκρίνει με ένα message digest που παράγει ο ίδιος από το μήνυμα. Εάν η σύγκριση είναι επιτυχής, τότε ο παραλήπτης σιγουρεύεται ότι τα δεδομένα δεν έχουν αλλοιωθεί. Ένα παράδειγμα είναι ο keyed-md5.

Δημιουργία σύνοψης ενός τυχαίου κειμένου με τη χρήση του Crypt Tool. Cryptool Hash Demonstration Δημιουργία σύνοψης ενός τυχαίου κειμένου με τη χρήση του HashCalc.