Το SHA-1 (συντομογραφία για τον ασφαλή αλγόριθμο κατακερματισμού 1) είναι μία από τις πολλές κρυπτογραφικές συναρτήσεις κατακερματισμού.
Χρησιμοποιείται συχνότερα για να επαληθεύσουμε ότι ένα αρχείο δεν έχει τροποποιηθεί. Αυτό γίνεται με την παραγωγή ενός αθροίσματος ελέγχου πριν από τη μετάδοση του αρχείου και, στη συνέχεια, ξανά μόλις φτάσει στον προορισμό του.
Το μεταδιδόμενο αρχείο μπορεί να θεωρηθεί γνήσιο μόνο εάν και τα δύο αθροίσματα ελέγχου είναι πανομοιότυπα.
Ιστορικό και τρωτά σημεία της συνάρτησης κατακερματισμού SHA
Ο SHA-1 είναι μόνο ένας από τους τέσσερις αλγόριθμους της οικογένειας του ασφαλούς αλγόριθμου κατακερματισμού (SHA). Τα περισσότερα αναπτύχθηκαν από την Υπηρεσία Εθνικής Ασφάλειας των ΗΠΑ (NSA) και δημοσιεύθηκαν από το Εθνικό Ινστιτούτο Προτύπων και Τεχνολογίας (NIST).
Το SHA-0 έχει μέγεθος σύνοψης μηνύματος (τιμή κατακερματισμού) 160 bit και ήταν η πρώτη έκδοση αυτού του αλγορίθμου. Οι τιμές κατακερματισμού του είναι 40 ψηφία. Δημοσιεύτηκε με το όνομα "SHA" το 1993, αλλά δεν χρησιμοποιήθηκε σε πολλές εφαρμογές επειδή αντικαταστάθηκε γρήγορα με SHA-1 το 1995 λόγω ενός ελαττώματος ασφαλείας.
Το SHA-1 είναι η δεύτερη επανάληψη αυτής της κρυπτογραφικής συνάρτησης κατακερματισμού. Αυτό έχει επίσης μια σύνοψη μηνυμάτων 160 bit και προσπάθησε να αυξήσει την ασφάλεια διορθώνοντας μια αδυναμία που βρέθηκε στο SHA-0. Ωστόσο, το 2005, το SHA-1 βρέθηκε επίσης ανασφαλές.
Μόλις εντοπίστηκαν κρυπτογραφικές αδυναμίες στο SHA-1, το NIST έκανε μια δήλωση το 2006 ενθαρρύνοντας τις ομοσπονδιακές υπηρεσίες να υιοθετήσουν τη χρήση του SHA-2 μέχρι το έτος 2010. Το SHA-2 είναι ισχυρότερο από το SHA-1 και έγιναν επιθέσεις ενάντια στο SHA-2 είναι απίθανο να συμβεί με την τρέχουσα υπολογιστική ισχύ.
Όχι μόνο ομοσπονδιακοί φορείς, αλλά ακόμη και εταιρείες όπως η Google, η Mozilla και η Microsoft είτε έχουν αρχίσει να σχεδιάζουν να σταματήσουν να αποδέχονται πιστοποιητικά SHA-1 SSL είτε έχουν ήδη αποκλείσει τη φόρτωση αυτού του είδους σελίδων.
Η Google έχει αποδείξεις για σύγκρουση SHA-1 που καθιστά αυτήν τη μέθοδο αναξιόπιστη για τη δημιουργία μοναδικών αθροισμάτων ελέγχου, είτε πρόκειται για κωδικό πρόσβασης, αρχείο ή οποιοδήποτε άλλο τμήμα δεδομένων. Μπορείτε να κάνετε λήψη δύο μοναδικών αρχείων PDF από το SHAttered για να δείτε πώς λειτουργεί. Χρησιμοποιήστε μια αριθμομηχανή SHA-1 από το κάτω μέρος αυτής της σελίδας για να δημιουργήσετε το άθροισμα ελέγχου και για τα δύο και θα διαπιστώσετε ότι η τιμή είναι ακριβώς η ίδια, παρόλο που περιέχουν διαφορετικά δεδομένα.
SHA-2 και SHA-3
Το SHA-2 δημοσιεύτηκε το 2001, αρκετά χρόνια μετά το SHA-1. Περιλαμβάνει έξι συναρτήσεις κατακερματισμού με διαφορετικά μεγέθη σύνοψης: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 και SHA-512/256.
Αναπτύχθηκε από σχεδιαστές που δεν ανήκουν στην NSA και κυκλοφόρησε από το NIST το 2015, είναι ένα άλλο μέλος της οικογένειας αλγορίθμων ασφαλούς κατακερματισμού, που ονομάζεται SHA-3 (πρώην Keccak).
Το SHA-3 δεν προορίζεται να αντικαταστήσει το SHA-2 όπως οι προηγούμενες εκδόσεις είχαν σκοπό να αντικαταστήσουν προηγούμενες. Αντίθετα, αναπτύχθηκε απλώς ως μια άλλη εναλλακτική λύση στα SHA-0, SHA-1 και MD5.
Πώς χρησιμοποιείται το SHA-1;
Ένα πραγματικό παράδειγμα όπου μπορεί να χρησιμοποιηθεί το SHA-1 είναι όταν εισάγετε τον κωδικό πρόσβασής σας στη σελίδα σύνδεσης ενός ιστότοπου. Αν και συμβαίνει στο παρασκήνιο χωρίς να το γνωρίζετε, μπορεί να είναι η μέθοδος που χρησιμοποιεί ένας ιστότοπος για να επαληθεύσει με ασφάλεια ότι ο κωδικός πρόσβασής σας είναι αυθεντικός.
Σε αυτό το παράδειγμα, φανταστείτε ότι προσπαθείτε να συνδεθείτε σε έναν ιστότοπο που επισκέπτεστε συχνά. Κάθε φορά που ζητάτε να συνδεθείτε, θα πρέπει να εισάγετε το όνομα χρήστη και τον κωδικό πρόσβασής σας.
Εάν ο ιστότοπος χρησιμοποιεί την κρυπτογραφική συνάρτηση κατακερματισμού SHA-1, αυτό σημαίνει ότι ο κωδικός πρόσβασής σας μετατρέπεται σε άθροισμα ελέγχου μετά την εισαγωγή του. Αυτό το άθροισμα ελέγχου συγκρίνεται στη συνέχεια με το άθροισμα ελέγχου που είναι αποθηκευμένο στον ιστότοπο που σχετίζεται με το τρέχον άθροισμα κωδικό πρόσβασης, είτε δεν έχετε αλλάξει τον κωδικό πρόσβασής σας από τότε που εγγραφήκατε είτε αν τον αλλάξατε μόλις πριν από λίγα λεπτά. Εάν τα δύο ταιριάζουν, σας εκχωρείται πρόσβαση. αν δεν το κάνουν, σας λένε ότι ο κωδικός πρόσβασης δεν είναι σωστός.
Ένα άλλο παράδειγμα όπου μπορεί να χρησιμοποιηθεί αυτή η συνάρτηση κατακερματισμού είναι η επαλήθευση αρχείων. Ορισμένοι ιστότοποι θα παρέχουν το άθροισμα ελέγχου SHA-1 του αρχείου στη σελίδα λήψης, έτσι ώστε όταν κάνετε λήψη του αρχείου, μπορείτε να ελέγξετε μόνοι σας το άθροισμα ελέγχου για να βεβαιωθείτε ότι το ληφθέν αρχείο είναι το ίδιο με αυτό που είχατε σκοπό να κάνετε λήψη.
Μπορεί να αναρωτιέστε πού είναι η πραγματική χρήση σε αυτόν τον τύπο επαλήθευσης. Εξετάστε ένα σενάριο όπου γνωρίζετε το άθροισμα ελέγχου SHA-1 ενός αρχείου από τον ιστότοπο του προγραμματιστή, αλλά θέλετε να κάνετε λήψη της ίδιας έκδοσης από διαφορετικό ιστότοπο. Στη συνέχεια, θα μπορούσατε να δημιουργήσετε το άθροισμα ελέγχου SHA-1 για τη λήψη σας και να το συγκρίνετε με το γνήσιο άθροισμα ελέγχου από τη σελίδα λήψης του προγραμματιστή.
Εάν τα δύο είναι διαφορετικά, αυτό όχι μόνο σημαίνει ότι τα περιεχόμενα του αρχείου δεν είναι πανομοιότυπα, αλλά μπορεί να υπάρχει κρυφό κακόβουλο λογισμικό στο αρχείο, τα δεδομένα μπορεί να καταστραφούν και να προκαλέσουν ζημιά στα αρχεία του υπολογιστή σας, το αρχείο δεν είναι οτιδήποτε σχετίζεται με το πραγματικό αρχείο, κ.λπ.
Ωστόσο, θα μπορούσε επίσης να σημαίνει απλώς ότι ένα αρχείο αντιπροσωπεύει μια παλαιότερη έκδοση του προγράμματος από το άλλο, καθώς ακόμη και αυτή η μικρή αλλαγή θα δημιουργήσει μια μοναδική τιμή αθροίσματος ελέγχου.
Μπορεί επίσης να θέλετε να ελέγξετε ότι τα δύο αρχεία είναι πανομοιότυπα εάν εγκαθιστάτε ένα service pack ή κάποιο άλλο πρόγραμμα ή ενημέρωση, επειδή προκύπτουν προβλήματα εάν ορισμένα από τα αρχεία λείπουν κατά την εγκατάσταση.
SHA-1 Υπολογιστές αθροίσματος ελέγχου
Μπορεί να χρησιμοποιηθεί ένα ειδικό είδος αριθμομηχανής για τον προσδιορισμό του αθροίσματος ελέγχου ενός αρχείου ή μιας ομάδας χαρακτήρων.
Για παράδειγμα, το SHA1 Online και το SHA1 Hash Generator είναι δωρεάν διαδικτυακά εργαλεία που μπορούν να δημιουργήσουν το άθροισμα ελέγχου SHA-1 οποιασδήποτε ομάδας κειμένου, συμβόλων ή/και αριθμών.
Αυτοί οι ιστότοποι, για παράδειγμα, θα δημιουργήσουν αυτό το ζεύγος:
pAssw0rd!
bd17dabf6fdd24dab5ed0e2e6624d312e4ebeaba