Σε ένα πρόσφατο άρθρο σχετικά με τον έλεγχο του εάν επλήγησαν από το hacking incident του Gawker Πώς να μάθετε αν η διεύθυνσή σας ηλεκτρονικού ταχυδρομείου είχε διαρρεύσει μέσω της βάσης δεδομένων του Gawker Πώς να μάθετε αν η διεύθυνσή σας ηλεκτρονικού ταχυδρομείου είχε διαρρεύσει μέσω της βάσης δεδομένων του Gawker Διαβάστε περισσότερα, διεύθυνση ηλεκτρονικού ταχυδρομείου σε κατακερματισμό MD5.
Είχαμε μερικές ερωτήσεις από τους αναγνώστες που ρωτούσαν ακριβώς τι συνέβαινε και γιατί αυτή η διαδικασία ήταν απαραίτητη. Δεν είναι το στυλ μας να σας αφήνουμε να κάνετε ερωτήσεις, επομένως εδώ υπάρχει μια πλήρη κατάρρευση του MD5, το hashing και μια μικρή επισκόπηση των υπολογιστών και της κρυπτογράφησης.
Κρυπτογράφηση
Το MD5 αντιπροσωπεύει τον αλγόριθμο Dessigger MESSAGE 5 και επινοήθηκε από τον διάσημο αμερικανικό κρυπτογράφο καθηγητή Ronald Rivest το 1991 για να αντικαταστήσει το παλαιό πρότυπο MD4. Το MD5 είναι απλά το όνομα για ένα είδος κρυπτογραφικής κατανομής που ο Ron ήρθε με τρόπο πίσω στο '91.
Η ιδέα πίσω από το κρυπτογραφικό hashing είναι να πάρει ένα αυθαίρετο μπλοκ δεδομένων και να επιστρέψει μια τιμή "hash" σταθερού μεγέθους. Μπορεί να είναι οποιαδήποτε δεδομένα, οποιουδήποτε μεγέθους, αλλά η τιμή κατακερματισμού θα είναι πάντα σταθερή. Δοκιμάστε το για τον εαυτό σας εδώ.
Ο κρυπτογραφικός κατακερματισμός έχει πολλές χρήσεις και υπάρχει ένας μεγάλος αριθμός αλγορίθμων (εκτός του MD5) που έχουν σχεδιαστεί για να κάνουν μια παρόμοια δουλειά. Μία από τις κύριες χρήσεις κρυπτογραφικού κατακερματισμού είναι η επαλήθευση του περιεχομένου ενός μηνύματος ή ενός αρχείου μετά τη μεταφορά.
Αν έχετε κατεβάσει ποτέ ένα ιδιαίτερα μεγάλο αρχείο (διανομές Linux, τέτοια πράγματα), ίσως έχετε παρατηρήσει την τιμή κατακερματισμού που την συνοδεύει. Αφού γίνει λήψη αυτού του αρχείου, μπορείτε να χρησιμοποιήσετε το hash για να επαληθεύσετε ότι το αρχείο που κατεβάσατε δεν διαφέρει καθόλου από το διαφημιζόμενο αρχείο.
Η ίδια μέθοδος λειτουργεί για μηνύματα, με το hash να επαληθεύει ότι το μήνυμα που λαμβάνεται αντιστοιχεί στο μήνυμα που στάλθηκε. Σε ένα πολύ βασικό επίπεδο, εάν εσείς και ένας φίλος έχετε ένα μεγάλο αρχείο το καθένα και επιθυμείτε να επαληθεύσετε ότι είναι ακριβώς το ίδιο χωρίς τη βαριά μεταφορά, ο κώδικας κατακερματισμού θα το κάνει για σας.
Οι αλγόριθμοι Hashing παίζουν επίσης ένα ρόλο στην αναγνώριση δεδομένων ή αρχείων. Ένα καλό παράδειγμα για αυτό είναι δίκτυα ανταλλαγής αρχείων από ομότιμους χρήστες, όπως το eDonkey2000. Το σύστημα χρησιμοποίησε μια παραλλαγή του αλγόριθμου MD4 ( παρακάτω ), η οποία επίσης συνδύασε το μέγεθος του αρχείου σε ένα hash για να δείξει γρήγορα τα αρχεία στο δίκτυο.
Ένα παράδειγμα υπογραφής αυτού είναι η δυνατότητα ταχείας εύρεσης δεδομένων σε πίνακες κατακερματισμού, μια μέθοδος που χρησιμοποιείται συνήθως από μηχανές αναζήτησης.
Μια άλλη χρήση για hashes είναι η αποθήκευση κωδικών πρόσβασης. Η αποθήκευση των κωδικών πρόσβασης ως σαφούς κειμένου είναι μια κακή ιδέα, για προφανείς λόγους, οπότε μετατρέπονται σε τιμές κατακερματισμού. Όταν ένας χρήστης εισάγει έναν κωδικό πρόσβασης, μετατρέπεται σε τιμή κατακερματισμού και ελέγχεται σε σχέση με τον γνωστό κατακερματισμό. Δεδομένου ότι ο κατακερματισμός είναι μια διαδικασία μονής κατεύθυνσης, υπό την προϋπόθεση ότι ο αλγόριθμος είναι ήχος, τότε υπάρχει θεωρητικά μικρή πιθανότητα να αποκρυπτογραφηθεί ο αρχικός κωδικός πρόσβασης από το hash.
Ο κρυπτογραφικός κατακερματισμός χρησιμοποιείται επίσης συχνά για την παραγωγή κωδικών πρόσβασης και παραγώγων κωδικών πρόσβασης από μια μόνο φράση.
Αλγόριθμος αποσπάσματος μηνυμάτων 5
Η λειτουργία MD5 παρέχει 32 ψηφία δεκαεξαδικό αριθμό. Αν θέλαμε να μετατρέψουμε το 'makeuseof.com' σε μια τιμή hash του MD5 τότε θα μοιάζει με: 64399513b7d734ca90181b27a62134dc . Κατασκευάστηκε με μια μέθοδο που ονομάζεται δομή Merck "Damgård" ( παρακάτω ), η οποία χρησιμοποιείται για την κατασκευή των γνωστών λειτουργιών κατακερματισμού "απόσβεσης".
Καμία ασφάλεια δεν είναι πάντα απόδειξη, ωστόσο και το 1996 εντοπίστηκαν δυνητικά ελαττώματα μέσα στον αλγόριθμο κατακερματισμού MD5. Εκείνη την εποχή αυτά δεν θεωρήθηκαν ως θανατηφόρα και η MD5 συνέχισε να χρησιμοποιείται. Το 2004 ανακαλύφθηκε πολύ πιο σοβαρό πρόβλημα αφού μια ομάδα ερευνητών περιέγραψε τον τρόπο με τον οποίο δύο χωριστά αρχεία μοιράζονται την ίδια τιμή MD5 hash. Αυτή ήταν η πρώτη περίπτωση μιας επίθεσης σύγκρουσης που χρησιμοποιήθηκε κατά του αλγόριθμου κατακερματισμού MD5. Μια επίθεση σύγκρουσης προσπαθεί να βρει δύο εξόδους αρμπιταρίσματος που παράγουν την ίδια τιμή κατακερματισμού - επομένως, μια σύγκρουση (δύο αρχεία που υπάρχουν με την ίδια τιμή).
Κατά τα επόμενα χρόνια επιχειρήθηκε η εξεύρεση περαιτέρω προβλημάτων ασφάλειας στο MD5 και το 2008 μια άλλη ερευνητική ομάδα κατόρθωσε να χρησιμοποιήσει τη μέθοδο επίθεσης σύγκρουσης σε πλαστό πιστοποιητικό SSL. Αυτό θα μπορούσε να ωθήσει τους χρήστες να σκέφτονται ότι περιηγούνται με ασφάλεια, όταν δεν είναι. Το Υπουργείο Εσωτερικής Ασφάλειας των ΗΠΑ ανακοίνωσε ότι: "οι χρήστες πρέπει να αποφεύγουν να χρησιμοποιούν τον αλγόριθμο MD5 σε οποιαδήποτε χωρητικότητα. Όπως έχει αποδείξει η προηγούμενη έρευνα, θα πρέπει να θεωρείται κρυπτογραφικά σπασμένη και ακατάλληλη για περαιτέρω χρήση ».
Παρά την προειδοποίηση της κυβέρνησης, πολλές υπηρεσίες εξακολουθούν να χρησιμοποιούν το MD5 και ως εκ τούτου διατρέχουν τεχνικά κίνδυνο. Ωστόσο, είναι δυνατό να "αλατιστούν" οι κωδικοί πρόσβασης, για να αποφευχθούν οι δυνητικοί επιτιθέμενοι χρησιμοποιώντας λεξικές επιθέσεις (δοκιμές γνωστών λέξεων) κατά του συστήματος. Εάν ένας χάκερ έχει μια λίστα τυχαίων συχνά χρησιμοποιούμενων κωδικών πρόσβασης και της βάσης δεδομένων του λογαριασμού χρήστη σας, μπορούν να ελέγξουν τα hashes στη βάση δεδομένων έναντι εκείνων που βρίσκονται στη λίστα. Το αλάτι είναι μια τυχαία συμβολοσειρά, η οποία συνδέεται με υπάρχοντα hashes με κωδικό πρόσβασης και στη συνέχεια έχει ξαναχτιστεί. Η τιμή άλατος και η προκύπτουσα καταστροφή στη συνέχεια αποθηκεύονται στη βάση δεδομένων.
Εάν ένας χάκερ ήθελε να βρει τους κωδικούς πρόσβασης των χρηστών σας τότε θα έπρεπε να αποκρυπτογραφήσει πρώτα τα hashes του αλατιού και αυτό κάνει μια επίθεση λεξικού αρκετά άχρηστη. Το αλάτι δεν επηρεάζει τον ίδιο τον κωδικό πρόσβασης, οπότε πρέπει πάντα να επιλέγετε έναν δύσκολο να μαντέψετε κωδικό πρόσβασης.
συμπέρασμα
Το MD5 είναι μια από τις πολλές διαφορετικές μεθόδους εντοπισμού, εξασφάλισης και επαλήθευσης δεδομένων. Ο κρυπτογραφικός κατακερματισμός είναι ένα ζωτικής σημασίας κεφάλαιο στην ιστορία της ασφάλειας και η φύλαξη των πραγμάτων. Όπως με πολλά πράγματα σχεδιασμένα με γνώμονα την ασφάλεια, κάποιος έχει φύγει και σπάσει.
Ίσως δεν θα πρέπει να ανησυχείτε πολύ για το hash και τα MD5 checksum στις ημερήσιες συνήθειες σέρφινγκ σας, αλλά τουλάχιστον τώρα ξέρετε τι κάνουν και πώς το κάνουν.
Πάντα χρειαζόταν να χωρίσετε τίποτα; Ελέγχετε τα αρχεία που λαμβάνετε; Ξέρετε για οποιεσδήποτε καλές εφαρμογές ιστού MD5; Ενημερώστε μας στα σχόλια!
Εισαγωγή εικόνας: Shutterstock