Ωστόσο, εδώ είναι μια κατανομή των κοινών συστάσεων και εκτιμήσεων:
Γενικές κατευθυντήριες γραμμές:
* 80 bits της εντροπίας είναι μια ευρέως συνιστώμενη βασική γραμμή για ισχυρή ασφάλεια κωδικού πρόσβασης. Αυτό είναι ένα καλό σημείο εκκίνησης για τις περισσότερες εφαρμογές και υπηρεσίες. Γιατί; Επειδή καθιστά τον Brute-Forcing τον κωδικό πρόσβασης απαγορευτικά ακριβό για τους περισσότερους επιτιθέμενους.
* Τουλάχιστον 11 χαρακτήρες με έντονη τυχαία: Αυτό συχνά μεταφράζεται σε περίπου 50 κομμάτια εντροπίας χρησιμοποιώντας μια ισχυρή γεννήτρια κωδικού πρόσβασης με ένα μεγάλο σύνολο χαρακτήρων (κεφαλαία, πεζά, ψηφία, σύμβολα). Ενώ είναι καλύτερο από το τίποτα, θεωρείται όριο επαρκές από πολλούς εμπειρογνώμονες ασφαλείας και θα μπορούσε να είναι ευάλωτη σε πιο εξελιγμένες επιθέσεις, ειδικά εάν η διαδικασία δημιουργίας κωδικού πρόσβασης είναι λανθασμένη ή οι χρήστες κάνουν προβλέψιμες επιλογές.
Παράγοντες που επηρεάζουν τις απαιτήσεις εντροπίας:
* Η τιμή των προστατευμένων δεδομένων: Εάν προστατεύετε εξαιρετικά ευαίσθητες πληροφορίες (π.χ. τραπεζικούς λογαριασμούς, κυβερνητικά μυστικά), θα θέλετε σημαντικά υψηλότερη εντροπία. Σκεφτείτε στην περιοχή των 100 bits ή περισσότερο.
* Οι πόροι του εισβολέα: Οι εθνικοί φορείς ή οι μεγάλοι εγκληματικοί οργανισμοί διαθέτουν τους πόρους για να σπάσουν τους κωδικούς πρόσβασης που θα θεωρούνται "ισχυροί" για τους μέσους χρήστες.
* Ο αλγόριθμος κατακερματισμού που χρησιμοποιείται: Ένας σύγχρονος, ισχυρός αλγόριθμος κατακερματισμού (όπως το Argon2, το BCrypt ή το Scrypt) είναι κρίσιμος. Εάν χρησιμοποιείτε έναν παλαιότερο, ασθενέστερο αλγόριθμο (όπως MD5 ή SHA1), ακόμη και οι κωδικοί πρόσβασης υψηλής εντροπίας μπορεί να είναι ευάλωτοι. Ο αλγόριθμος κατακερματισμού προσθέτει στο κόστος μιας επίθεσης, καθιστώντας τον ζωτικό στρώμα άμυνας.
* αλάτι: Ένα μοναδικό, τυχαία παραγόμενο αλάτι θα πρέπει πάντα να χρησιμοποιείται όταν χρησιμοποιείται όταν κατακερματίζεται. Τα άλατα εμποδίζουν τους επιτιθέμενους να χρησιμοποιούν προ-υπολογισμένους πίνακες hashes κωδικού πρόσβασης (πίνακες ουράνιου τόξου).
* Απαιτήσεις πολυπλοκότητας κωδικού πρόσβασης: Ενώ οι απαιτήσεις πολυπλοκότητας (π.χ. "πρέπει να περιέχουν ένα κεφαλαίο γράμμα, έναν αριθμό και ένα σύμβολο") συχνά εφαρμόζονται, μπορούν να αντιστραφούν. Οι χρήστες τείνουν να δημιουργούν προβλέψιμους κωδικούς πρόσβασης που πληρούν τις απαιτήσεις, οι οποίες στην πραγματικότητα * μειώνουν * την εντροπία. Είναι καλύτερο να ενθαρρύνετε *μήκος *και *τυχαία *.
* επαναχρησιμοποίηση κωδικού πρόσβασης: Η επαναχρησιμοποίηση κωδικών πρόσβασης σε πολλούς ιστότοπους είναι ένας * κύριος * κίνδυνος ασφαλείας. Εάν μια υπηρεσία διακυβεύεται, όλοι οι λογαριασμοί που χρησιμοποιούν τον ίδιο κωδικό πρόσβασης γίνονται ευάλωτοι.
* Διαχειριστές κωδικού πρόσβασης: Χρησιμοποιώντας έναν αξιόπιστο διαχειριστή κωδικού πρόσβασης για τη δημιουργία και την αποθήκευση ισχυρών, συνιστάται ιδιαίτερα μοναδικοί κωδικοί πρόσβασης για κάθε ιστότοπο. Οι διαχειριστές κωδικών πρόσβασης μπορούν εύκολα να δημιουργήσουν και να διαχειριστούν κωδικούς πρόσβασης με 128 bits εντροπίας ή υψηλότερα.
* Έλεγχος ταυτότητας πολλαπλών παραγόντων (MFA): Η ενεργοποίηση του MFA προσθέτει ένα δεύτερο στρώμα ασφάλειας, ακόμη και αν ο κωδικός πρόσβασης είναι αδύναμος ή συμβιβασμένος. Αυτό αυξάνει σημαντικά τη δυσκολία για έναν εισβολέα.
Εκτίμηση εντροπίας:
Η εντροπία μετράται συνήθως σε *bits *. Κάθε bit αντιπροσωπεύει μείωση κατά 50% της αβεβαιότητας. Όσο υψηλότερη είναι η εντροπία, τόσο πιο δύσκολο είναι να μαντέψετε ή να σπάσετε τον κωδικό πρόσβασης.
* Μέγεθος ρύθμισης χαρακτήρων: Ο αριθμός των πιθανών χαρακτήρων που μπορείτε να χρησιμοποιήσετε στον κωδικό πρόσβασής σας (κεφαλαία, πεζά, ψηφία, σύμβολα).
* Μήκος κωδικού πρόσβασης: Τον αριθμό των χαρακτήρων στον κωδικό πρόσβασής σας.
Ο τύπος για την προσέγγιση της εντροπίας είναι:
`Entropy (bits) ≈ μήκος * log2 (μέγεθος ρύθμισης χαρακτήρων)`
`log2 (x)` είναι ο λογάριθμος Base-2 του `x`. Μπορείτε να το προσεγγίσετε με `log10 (x) / log10 (2) ≈ log10 (x) / 0,301`.
Παράδειγμα:
Ας πούμε ότι έχετε έναν κωδικό πρόσβασης που έχει μήκος 12 χαρακτήρων και χρησιμοποιεί κεφαλαία γράμματα, πεζά γράμματα, ψηφία και κοινά σύμβολα (περίπου 95 χαρακτήρες συνολικά).
* Μήκος =12
* Μέγεθος ρύθμισης χαρακτήρων =95
Εντροπία ≈ 12 * log2 (95) ≈ 12 * (log10 (95) / 0.301) ≈ 12 * (1.978 / 0.301) ≈ 12 * 6.57 ≈ 78.84 bits
Συστάσεις:
* Στόχος για τουλάχιστον 80 κομμάτια εντροπίας. Αυτή είναι μια καλή ισορροπία μεταξύ ασφάλειας και χρηστικότητας για πολλές εφαρμογές.
* Προτεραιότητα στο μήκος του κωδικού πρόσβασης σε σχέση με τις απαιτήσεις πολυπλοκότητας. Ένας μακρύς, τυχαίος κωδικός πρόσβασης είναι πολύ πιο δύσκολο να σπάσει από ένα σύντομο, πολύπλοκο.
* Χρησιμοποιήστε έναν ισχυρό αλγόριθμο κατακερματισμού κωδικού πρόσβασης με ένα μοναδικό αλάτι.
* Ενεργοποίηση ελέγχου ταυτότητας πολλαπλών παραγόντων όποτε είναι δυνατόν.
* Ενθαρρύνετε (ή ακόμα και την επιβολή) τη χρήση διαχειριστών κωδικών πρόσβασης.
* Ελέγξτε τακτικά και ενημερώστε τις πολιτικές κωδικού πρόσβασης.
* Εκπαιδεύστε τους χρήστες σχετικά με τις βέλτιστες πρακτικές ασφαλείας κωδικού πρόσβασης.
Συνοπτικά, 80 bits είναι ένα καλό σημείο εκκίνησης, αλλά η ιδανική ελάχιστη εντροπία εξαρτάται από το συγκεκριμένο πλαίσιο. Εξετάστε πάντα την αξία των προστατευόμενων δεδομένων, τους πιθανούς επιτιθέμενους και τα διαθέσιμα μέτρα ασφαλείας.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα