Αρχική σελίδα » πως να » Τι είναι τα MD5, SHA-1 και SHA-256 Hashes και πώς μπορώ να τα ελέγξω;

    Τι είναι τα MD5, SHA-1 και SHA-256 Hashes και πώς μπορώ να τα ελέγξω;

    Μερικές φορές θα δείτε τα hashes MD5, SHA-1 ή SHA-256 που εμφανίζονται παράλληλα με τις λήψεις κατά τη διάρκεια των ταξιδιών σας στο Διαδίκτυο, αλλά δεν είναι γνωστό τι είναι. Αυτές οι φαινομενικά τυχαίες χορδές κειμένου σας επιτρέπουν να επαληθεύσετε ότι τα αρχεία που κατεβάζετε δεν είναι αλλοιωμένα ή αλλοιωμένα. Μπορείτε να το κάνετε αυτό με τις εντολές που είναι ενσωματωμένες στα Windows, macOS και Linux.

    Πώς λειτουργεί ο Hashes και πώς χρησιμοποιούνται για την επαλήθευση δεδομένων

    Τα hashes είναι προϊόντα κρυπτογραφικών αλγορίθμων που έχουν σχεδιαστεί για να παράγουν μια σειρά χαρακτήρων. Συχνά, αυτές οι συμβολοσειρές έχουν σταθερό μήκος, ανεξάρτητα από το μέγεθος των δεδομένων εισόδου. Ρίξτε μια ματιά στο παραπάνω διάγραμμα και θα δείτε ότι τόσο το "Fox" όσο και το "The red fox άλματα πάνω από το μπλε σκυλί" αποφέρουν την ίδια παραγωγή μήκους.

    Τώρα συγκρίνετε το δεύτερο παράδειγμα στο γράφημα με το τρίτο, το τέταρτο και το πέμπτο. Θα δείτε ότι, παρά μια πολύ μικρή αλλαγή στα δεδομένα εισόδου, οι χασίχες που προκύπτουν είναι πολύ διαφορετικές μεταξύ τους. Ακόμη και αν κάποιος τροποποιήσει ένα πολύ μικρό κομμάτι των δεδομένων εισόδου, το hash θα αλλάξει δραματικά.

    MD5, SHA-1 και SHA-256 είναι όλες οι διαφορετικές λειτουργίες κατακερματισμού. Οι δημιουργοί λογισμικού συχνά παίρνουν ένα αρχείο λήψης - όπως ένα αρχείο .iso Linux ή ακόμα και ένα αρχείο .exe των Windows - και το τρέχουν μέσω μιας συνάρτησης κατακερματισμού. Στη συνέχεια, προσφέρουν μια επίσημη λίστα των χασίς στους ιστοτόπους τους.

    Με αυτό τον τρόπο, μπορείτε να κάνετε λήψη του αρχείου και, στη συνέχεια, να εκτελέσετε τη λειτουργία hash για να επιβεβαιώσετε ότι έχετε το πραγματικό, πρωτότυπο αρχείο και ότι δεν έχει καταστραφεί κατά τη διαδικασία λήψης. Όπως είδαμε παραπάνω, ακόμη και μια μικρή αλλαγή στο αρχείο θα αλλάξει δραματικά το hash.

    Αυτά μπορούν επίσης να είναι χρήσιμα εάν έχετε ένα αρχείο που έχετε από ανεπίσημη πηγή και θέλετε να επιβεβαιώσετε ότι είναι νόμιμο. Ας υποθέσουμε ότι έχετε ένα αρχείο .ISO Linux που έχετε από κάπου και θέλετε να επιβεβαιώσετε ότι δεν έχει αλλοιωθεί. Μπορείτε να αναζητήσετε το hash αυτού του συγκεκριμένου αρχείου ISO online στον ιστότοπο της διανομής του Linux. Στη συνέχεια, μπορείτε να το εκτελέσετε μέσω της λειτουργίας κατακερματισμού στον υπολογιστή σας και να επιβεβαιώσετε ότι αντιστοιχεί στην τιμή κατακερματισμού που θα περιμένατε να έχει. Αυτό επιβεβαιώνει ότι το αρχείο που έχετε είναι το ίδιο ακριβώς αρχείο που προσφέρεται για λήψη στο δικτυακό τόπο της διανομής του Linux, χωρίς τροποποιήσεις.

    Σημειώστε ότι έχουν βρεθεί "συγκρούσεις" με τις λειτουργίες MD5 και SHA-1. Αυτά είναι πολλά διαφορετικά αρχεία - για παράδειγμα, ένα ασφαλές αρχείο και ένα κακόβουλο αρχείο - που έχουν ως αποτέλεσμα το ίδιο hash MD5 ή SHA-1. Γι 'αυτό θα πρέπει να προτιμάτε το SHA-256 όταν είναι δυνατό.

    Πώς να συγκρίνετε τις λειτουργίες Hash σε οποιοδήποτε λειτουργικό σύστημα

    Έχοντας αυτό υπόψη, ας δούμε πώς να ελέγξετε το hash ενός αρχείου που έχετε κατεβάσει και να το συγκρίνετε με αυτό που σας δίνεται. Εδώ είναι οι μέθοδοι για Windows, macOS και Linux. Οι αντισταθμίσεις θα είναι πάντοτε ίδιες εάν χρησιμοποιείτε την ίδια λειτουργία κατακερματισμού στο ίδιο αρχείο. Δεν έχει σημασία το λειτουργικό σύστημα που χρησιμοποιείτε.

    Windows

    Αυτή η διαδικασία είναι δυνατή χωρίς λογισμικό τρίτων κατασκευαστών στα Windows χάρη στο PowerShell.

    Για να ξεκινήσετε, ανοίξτε ένα παράθυρο PowerShell εκκινώντας τη συντόμευση "Windows PowerShell" στο μενού "Έναρξη".

    Εκτελέστε την ακόλουθη εντολή, αντικαθιστώντας το "C: \ path \ to \ file.iso" με τη διαδρομή προς οποιοδήποτε αρχείο που θέλετε να δείτε το hash:

    Πάρτε-FileHash C: \ path \ to \ file.iso

    Θα χρειαστεί λίγος χρόνος για να δημιουργήσετε το hash του αρχείου, ανάλογα με το μέγεθος του αρχείου, τον αλγόριθμο που χρησιμοποιείτε και την ταχύτητα της μονάδας δίσκου που βρίσκεται στο αρχείο.

    Από προεπιλογή, η εντολή θα εμφανίσει το SHA-256 hash για ένα αρχείο. Ωστόσο, μπορείτε να καθορίσετε τον αλγόριθμο κατακερματισμού που θέλετε να χρησιμοποιήσετε εάν χρειάζεστε έναν τύπο κατακερματισμού MD5, SHA-1 ή άλλου τύπου.

    Εκτελέστε μία από τις ακόλουθες εντολές για να καθορίσετε έναν διαφορετικό αλγόριθμο κατακερματισμού:

    Πάρτε-FileHash C: \ path \ to \ file.iso - Αλγόριθμος MD5
    Get-FileHash C: \ path \ to \ file.iso - Αλγόριθμος SHA1
    Get-FileHash C: \ path \ to \ file.iso - Αλγόριθμος SHA256
    Get-FileHash C: \ path \ to \ file.iso - Αλγόριθμος SHA384
    Πάρτε-FileHash C: \ path \ to \ file.iso - Αλγόριθμος SHA512
    Πάρτε-FileHash C: \ path \ to \ file.iso - Αλγόριθμος MACTripleDES
    Get-FileHash C: \ path \ to \ file.iso - Αλγόριθμος RIPEMD160

    Συγκρίνετε το αποτέλεσμα της συνάρτησης κατακερματισμού με το αποτέλεσμα που αναμένετε να δείτε. Αν είναι η ίδια τιμή, το αρχείο δεν έχει αλλοιωθεί, αλλοιωθεί ή αλλοιωθεί από το πρωτότυπο.

    macOS

    Το macOS περιλαμβάνει εντολές για την προβολή διαφορετικών τύπων hashes. Για να αποκτήσετε πρόσβαση σε αυτά, ξεκινήστε ένα παράθυρο τερματικού. Θα το βρείτε στο Finder> Εφαρμογές> Βοηθητικά προγράμματα> Τερματικό.

    ο md5 Η εντολή εμφανίζει το hash του MD5 ενός αρχείου:

    md5 / path / to / file

    ο shasum Η εντολή εμφανίζει το SHA-1 hash ενός αρχείου από προεπιλογή. Αυτό σημαίνει ότι οι ακόλουθες εντολές είναι ίδιες:

    shasum / path / to / αρχείο
    shasum -α 1 / διαδρομή / προς / αρχείο

    Για να εμφανίσετε το SHA-256 hash ενός αρχείου, εκτελέστε την ακόλουθη εντολή:

    shasum -a 256 / διαδρομή / προς / αρχείο

    Linux

    Στο Linux, αποκτήστε πρόσβαση σε ένα Terminal και εκτελέστε μία από τις ακόλουθες εντολές για να δείτε το hash για ένα αρχείο, ανάλογα με τον τύπο του hash που θέλετε να δείτε:

    md5sum / path / to / αρχείο
    sha1sum / path / to / αρχείο
    sha256sum / path / to / αρχείο

    Ορισμένες Hashes υπογράφονται κρυπτογραφικά για ακόμα μεγαλύτερη ασφάλεια

    Ενώ τα hashes μπορούν να σας βοηθήσουν να επιβεβαιώσετε ότι ένα αρχείο δεν έχει αλλοιωθεί, υπάρχει ακόμα μια οδός επίθεσης εδώ. Ένας εισβολέας θα μπορούσε να αποκτήσει τον έλεγχο ενός δικτυακού τόπου της διανομής του Linux και να τροποποιήσει τα hashes που εμφανίζονται σε αυτόν ή ένας εισβολέας θα μπορούσε να εκτελέσει μια επίθεση στο πρόσωπο και να τροποποιήσει την διαδικτυακή σελίδα κατά τη μεταφορά εάν είχατε πρόσβαση στον ιστότοπο μέσω HTTP αντί κρυπτογραφημένο HTTPS.

    Αυτός είναι ο λόγος για τον οποίο οι σύγχρονες διανομές Linux συχνά παρέχουν περισσότερα από τα hashes που περιλαμβάνονται στις ιστοσελίδες. Υπογράφουν κρυπτογραφικά αυτά τα hashes για να βοηθήσουν στην προστασία από τους επιτιθέμενους που ενδέχεται να επιχειρήσουν να τροποποιήσουν τα hashes. Θα θελήσετε να επαληθεύσετε την κρυπτογραφική υπογραφή για να βεβαιωθείτε ότι το αρχείο κατακερματισμού υπογράφηκε πραγματικά από τη διανομή του Linux αν θέλετε να είστε απολύτως βέβαιοι ότι ο κατακερματισμός και το αρχείο δεν έχουν αλλοιωθεί.

    Η επαλήθευση της κρυπτογραφικής υπογραφής είναι μια πιο εμπλεκόμενη διαδικασία. Διαβάστε τον οδηγό μας για την επαλήθευση ότι τα ISO ISO δεν έχουν αλλοιωθεί για πλήρεις οδηγίες.

    Πιστωτική εικόνα: Jorge Stolfi / Wikimedia