Αντιμετώπιση προβλημάτων

Γνώση Υπολογιστών >> Αντιμετώπιση προβλημάτων >  >> Οι κωδικοί πρόσβασης

Μπορείτε να εξηγήσετε πώς να κατακερματίζετε με ασφάλεια τα δεδομένα κατακερματισμού για σκοπούς κρυπτογράφησης;

Ο ίδιος ο Hashing δεν κρυπτογραφεί απευθείας τα δεδομένα. Το Hashing είναι μια λειτουργία μονής κατεύθυνσης. Μπορείτε να κατακερματίσετε δεδομένα για να πάρετε μια έξοδο σταθερού μεγέθους (το hash), αλλά δεν μπορείτε να αντιστρέψετε τη διαδικασία για να πάρετε τα αρχικά δεδομένα πίσω. Αυτό καθιστά χρήσιμο για πράγματα όπως αποθήκευση κωδικού πρόσβασης (όπου αποθηκεύετε το hash, όχι τον ίδιο τον κωδικό πρόσβασης) και τους ελέγχους ακεραιότητας δεδομένων (για να δείτε εάν τα δεδομένα έχουν παραβιαστεί).

Η κρυπτογράφηση, από την άλλη πλευρά, είναι μια αμφίδρομη διαδικασία. Χρησιμοποιείτε ένα κλειδί για να κρυπτογραφήσετε τα δεδομένα και το ίδιο (ή ένα σχετικό) κλειδί για να το αποκρυπτογραφήσετε.

Επομένως, δεν χρησιμοποιείτε το hashing * για * κρυπτογράφηση. Ωστόσο, ο Hashing διαδραματίζει καθοριστικό ρόλο στα * ασφαλή σχήματα κρυπτογράφησης με διάφορους τρόπους:

1. Το Hashing χρησιμοποιείται συχνά για την παραγωγή πλήκτρων κρυπτογράφησης από έναν κωδικό πρόσβασης ή ένα κύριο κλειδί. Αυτό είναι ζωτικής σημασίας επειδή η αποθήκευση των κλειδιά κρυπτογράφησης είναι άμεσα είναι εξαιρετικά επικίνδυνη. Αντ 'αυτού, μπορείτε να χρησιμοποιήσετε μια ισχυρή συνάρτηση παραγωγής κλειδιών όπως το PBKDF2, το Argon2 ή το BCrypt, το οποίο επανειλημμένα κατακερματίζει το κλειδί κωδικού πρόσβασης/κύριο με αλάτι (τυχαία δεδομένα) και έναν υψηλό αριθμό επανάληψης για να καταστήσει υπολογιστικά δαπανηρή για βίαιη δύναμη ή να σπάσει το κλειδί. Αυτή η διαδικασία μετατρέπει έναν σχετικά αδύναμο κωδικό πρόσβασης σε ένα ισχυρό, κρυπτογραφικά ασφαλές κλειδί που χρησιμοποιείται για την κρυπτογράφηση.

2. Κωδικοί ελέγχου ταυτότητας μηνυμάτων (Macs): Τα MAC παρέχουν τόσο ακεραιότητα όσο και έλεγχο ταυτότητας. Συνδυάζουν ένα μυστικό κλειδί με τα δεδομένα χρησιμοποιώντας μια συνάρτηση κρυπτογραφικού κατακερματισμού (όπως το HMAC-SHA256). Η προκύπτουσα ετικέτα MAC επισυνάπτεται στα κρυπτογραφημένα δεδομένα. Ο παραλήπτης χρησιμοποιεί το ίδιο κλειδί και τα λαμβανόμενα δεδομένα για τον υπολογισμό του Mac. Εάν το υπολογιζόμενο MAC ταιριάζει με το ληφθέν Mac, αποδεικνύει ότι τα δεδομένα δεν έχουν παραβιαστεί και ότι προέρχεται από κάποιον που κατέχει το μυστικό κλειδί.

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

Συνοπτικά: Δεν έχετε κατακερματιστεί * αντί * να το κρυπτογραφήσετε. Χρησιμοποιείτε το hashing * σε συνδυασμό με * κρυπτογράφηση για να βελτιώσετε την ασφάλεια:

* Ισχυρή παραγωγή κλειδιού: Μετατρέψτε έναν κωδικό πρόσβασης ή ένα βασικό κλειδί σε ένα ισχυρό κλειδί κρυπτογράφησης.

* macs: Εξασφαλίστε την ακεραιότητα και την αυθεντικότητα των δεδομένων.

* Ψηφιακές υπογραφές: Επαληθεύστε την αυθεντικότητα και την ακεραιότητα ενός μηνύματος (που χρησιμοποιείται συχνά παράλληλα με την κρυπτογράφηση).

Παράδειγμα (εννοιολογική):

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

1. Χρησιμοποιήστε το PBKDF2 για να αντλήσετε ένα ισχυρό κλειδί κρυπτογράφησης από τον κωδικό πρόσβασης ενός χρήστη και ένα αλάτι.

2. κρυπτογράφηση: Κρυπτογραφήστε το μήνυμα χρησιμοποιώντας έναν συμμετρικό αλγόριθμο κρυπτογράφησης όπως το AES με το παράγωγο κλειδί.

3. γενιά MAC: Χρησιμοποιήστε το HMAC-SHA256 για να δημιουργήσετε ένα MAC χρησιμοποιώντας το ίδιο κλειδί κρυπτογράφησης και το κρυπτογραφημένο μήνυμα.

4. μετάδοση: Στείλτε το κρυπτογραφημένο μήνυμα και το Mac.

5. επαλήθευση και αποκρυπτογράφηση: Ο παραλήπτης λαμβάνει το κρυπτογραφημένο μήνυμα και το MAC. Χρησιμοποιούν την ίδια διαδικασία παραγωγής κλειδιών (με το ίδιο αλάτι και κωδικό πρόσβασης) για να αντλήσουν το κλειδί κρυπτογράφησης. Στη συνέχεια αποκρυπτογραφούν το μήνυμα και παράγουν το δικό τους Mac. Εάν το δημιουργημένο MAC ταιριάζει με το ληφθέν MAC, το μήνυμα θεωρείται αυθεντικό και αμετάβλητο.

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

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα