Ισχύς κωδικού

Η δύναμη του κωδικού πρόσβασης είναι ένα μέτρο της αποτελεσματικότητας ενός κωδικού πρόσβασης κατά την επιθεση με χρηση εικασίας ή brute-force επιθέσεων. Στη συνήθη μορφή της, εκτιμά ποσες δοκιμές χρειαζονται για έναν εισβολέα που δεν έχει άμεση πρόσβαση στον κωδικό πρόσβασης, κατά μέσο όρο, για να τον μαντέψει σωστά. Η δύναμη του κωδικού πρόσβασης είναι μια εξίσωση του μήκους, την πολυπλοκότητα, και το ποσο απρόβλεπτος ειναι ο κωδικός.
Χρησιμοποιώντας ισχυρούς κωδικούς πρόσβασης μειώνεται ο συνολικός κίνδυνος παραβίασης της ασφάλειας, αλλά ισχυροί κωδικοί πρόσβασης δεν αντικαθιστούν την ανάγκη για άλλες αποτελεσματικές διαδικασίες ασφάλειας. Η αποτελεσματικότητα ενός κωδικού πρόσβασης που θα του δώσει δύναμη καθορίζεται σε μεγάλο βαθμό από τον σχεδιασμό και την υλοποίηση των παραγόντων (γνώση, ιδιοκτησία, ενύπαρξη). Ο πρώτος παράγοντας είναι η κύρια εστίαση αυτού του άρθρου.
Ο ρυθμός με τον οποίο ένας εισβολέας μπορεί να υποβάλει εικασίες σχετικά με τον κωδικό πρόσβασης στο σύστημα είναι ένας βασικός παράγοντας για τον προσδιορισμό της ασφάλειας του συστήματος. Μερικά συστήματα επιβάλουν  ένα time-out από μερικά δευτερόλεπτα, μετά από ένα μικρό αριθμό (π. χ. τρεις) αποτυχημένων προσπάθειων εισαγωγής του κωδικού πρόσβασης.  Χωρίς άλλα τρωτά σημεία, τα συστήματα αυτά μπορεί να είναι αποτελεσματικά ασφαλή με σχετικά απλούς κωδικούς πρόσβασης. Ωστόσο, το σύστημα πρέπει να αποθηκεύει πληροφορίες σχετικά με τους κωδικούς πρόσβασης χρηστών σε κάποια μορφή και αν αυτές οι πληροφορίες κλαπούν, από την παραβίαση της ασφάλειας του συστήματος, οι κωδικοί πρόσβασης του χρήστη μπορεί να είναι σε κίνδυνο.

Δημιουργία κωδικού πρόσβασης

Οι κωδικοί πρόσβασης δημιουργούνται είτε αυτόματα (χρησιμοποιώντας τυχαιο εξοπλισμό) ή από έναν άνθρωπο, όπου η δεύτερη περίπτωση είναι πιο συχνή. Ενώ η δύναμη των τυχαίων κωδικών πρόσβασης ενάντια σε μια επίθεση brute-force μπορεί να υπολογιστεί με ακρίβεια, τον προσδιορισμό της αντοχής ενος κωδικού προσβασης ενος ανθρώπου- είναι μια προκληση.
Συνήθως, οι άνθρωποι καλούνται να επιλέξουν έναν κωδικό πρόσβασης, μερικές φορές καθοδηγημένοι από τις προτάσεις ή περιορισμένοι με ένα σύνολο κανόνων, όταν δημιουργούν ένα νέο λογαριασμό για το σύστημα του υπολογιστή ή στο διαδίκτυο. Μόνο πρόχειρες εκτιμήσεις της αντοχής είναι δυνατές, δεδομένου ότι οι άνθρωποι τείνουν να ακολουθούν μοτίβα για τις εν λόγω διαδικασίες, και αυτά τα μοτίβα μπορούν συνήθως να βοηθήσουν έναν εισβολέα. επιπλέον, λίστες με συνηθισμένους κωδικούς πρόσβασης είναι ευρέως διαθέσιμες για χρήση από προγραμματα που εικαζουν κωδικούς. Οι κατάλογοι περιλαμβάνουν τα πολυάριθμα ηλεκτρονικά λεξικά για διάφορες ανθρώπινες γλώσσες, παραβιασμένες βάσεις δεδομένων απλών και hashed passwords από διάφορες διαδικτυακες επιχείρησεις και κοινωνικούς λογαριασμούς, μαζί με άλλους κοινούς κωδικούς. Όλα τα στοιχεία στις λίστες αυτές θεωρούνται αδύναμα, όπως κωδικοί πρόσβασης που είναι απλές τροποποιήσεις τους. Για μερικές δεκαετίες, οι έρευνες των κωδικών πρόσβασης σε multi-user συστήματα υπολογιστών έχουν δείξει ότι το 40% ή περισσότερο είναι εύκολο να εικασθούν, χρησιμοποιώντας μόνο τα προγράμματα ηλεκτρονικών υπολογιστών, και ακόμα περισσότεροι μπορεί να βρεθούν όταν οι πληροφορίες για ένα συγκεκριμένο χρήστη λαμβάνονται υπόψη κατά τη διάρκεια της επίθεσης.

Επικυρωση της εικασίας του κωδικού πρόσβασης

Τα συστήματα που χρησιμοποιούν τους κωδικούς πρόσβασης για τον έλεγχο ταυτότητας πρέπει να έχουν κάποιο τρόπο να ελέγξουν τον κωδικό πρόσβασης που εισαγεται για να αποκτήσουν πρόσβαση. Αν ισχύουν οι κωδικοί πρόσβασης τοτε απλώς αποθηκεύονται σε ένα σύστημα αρχείων ή βάσης δεδομένων, ένας εισβολεας που αποκτά επαρκή πρόσβαση στο σύστημα, θα λάβει όλους τους κωδικούς πρόσβασης των χρηστών, δίνοντας στον εισβολέα τη δυνατότητα πρόσβασης σε όλους τους λογαριασμούς για την επίθεση του συστήματος, και, ενδεχομένως, άλλων συστημάτων, όπου οι χρήστες χρησιμοποιούν τους ίδιους ή παρόμοιους κωδικούς πρόσβασης. Ένας τρόπος για να μειώθει ο κίνδυνο αυτός είναι να αποθηκεύσετε μόνο ένα κρυπτογραφικό hash κάθε κωδικό πρόσβασης αντί για το ίδιο το κωδικό πρόσβασης. Πρότυπα κρυπτογράφησης hashes, όπως το Secure Hash Algorithm (SHA), είναι πολύ δύσκολο να αντιστραφούν, έτσι ώστε ένας εισβολέας που παίρνει στα χέρια του την τιμή hash δεν μπορεί άμεσα να ανακτήσει τον κωδικό πρόσβασης. Ωστόσο, η γνώση από την τιμή hash επιτρέπει στον εισβολέα γρήγορα τεστ εικασιών εκτός σύνδεσης. Προγραμματα σπασιματος κωδικών  είναι ευρέως διαθέσιμα και θα δοκιμάσουν ένα μεγάλο αριθμό πειραματικων κωδικών πρόσβασης απο ενα κλεμμενο cryptographic hash.
Βελτιώσεις στην τεχνολογία των υπολογιστών αυξηναν τον ρυθμό με τον οποίο οι εικασιες κωδικών πρόσβασης μπορούν να ελεγχθούν. Για παράδειγμα, το 2010, το Georgia Tech Research Institute ανέπτυξε μια μέθοδο με το GPGPU για να σπάσουν τους κωδικούς πρόσβασης, πολύ πιο γρήγορα.Η Elcomsoft εφηύρε τη χρήση κοινών κάρτων γραφικών για την ταχύτερη ανάκτηση κωδικού πρόσβασης τον αύγουστο του 2007 και σύντομα κατατεθεί το αντίστοιχο δίπλωμα ευρεσιτεχνίας στις ΗΠΑ. από το 2011, τα εμπορικά προϊόντα είναι διαθέσιμα που αξίωνουν τη δυνατότητα να δοκιμάσουν μέχρι 112,000 κωδικούς ανά δευτερόλεπτο σε μια τυπική επιφάνεια εργασίας του υπολογιστή χρησιμοποιώντας ένα high-end επεξεργαστή γραφικών. μια τέτοια συσκευή θα σπασει εναν κωδικο προσβασης 6 χαρακτηρων σε μια μέρα. Σημειώστε ότι το έργο μπορεί να διανεμηθεί πάνω σε πολλούς υπολογιστές για επιπλέον επιτάχυνση ανάλογη με τον αριθμό των διαθέσιμων υπολογιστών με συγκρίσιμα GPUs. Ειδικά κλειδία που τεντωνουν τα hashes που είναι διαθέσιμα για να παρει ένα σχετικά μεγάλο χρονικό διάστημα για τον υπολογισμό και τη μείωση του ρυθμού με τον οποίο μαντέυουν. Αν και θεωρείται βέλτιστη πρακτική για να χρησιμοποιήσετε το τεντωμα των κλειδιων hashes, πολλά από τα κοινά συστήματα δεν το κανουν.
Μια άλλη περιπτωση όπου η γρήγορη εικασια είναι δυνατή ειναι όταν ο κωδικός πρόσβασης χρησιμοποιείται για να σχηματίσει ένα κλειδί κρυπτογράφησης. Σε τέτοιες περιπτώσεις, ένας εισβολέας μπορεί γρήγορα να ελέγξει για να δεί εαν μαντεψε με επιτυχια τον κωδικό πρόσβασης αποκρυπτογραφόντας τα κρυπτογραφημένα δεδομένα. Για παράδειγμα, ένα εμπορικό προϊόν που ισχυρίζεται δοκιμή 103,000 WPA PSK κωδικούς ανά δευτερόλεπτο.
Αν ένα συστημα κωδικών πρόσβασης αποθηκεύει μόνο το hash του κωδικού πρόσβασης, ένας εισβολέας μπορεί να προ-υπολογίσει τιμές hash κλειδιού για κοινούς κωδικούς και τις παραλλαγές τους και για όλους τους κωδικούς πρόσβασης μικρότερους από ένα ορισμένο μήκος, επιτρέποντας την ταχεία ανάκτηση του κωδικού πρόσβασης μόλις το hash λαμβάνεται. Πολύ μεγάλες λίστες των προ-υπολογισμενων κωδικών hash μπορεί να αποθηκεύονται αποτελεσματικα χρησιμοποιώντας πίνακες ουράνιου τόξου. Αυτή η μέθοδος επίθεσης μπορεί να απειλείται από την αποθήκευση μιας τυχαίας τιμής, που ονομάζεται αλάτι κρυπτογραφησης, μαζί με το hash. Το αλάτι συνδυαζεται με τον κωδικό πρόσβασης για τον υπολογισμό του hash, έτσι ώστε ένας εισβολέας αποκρυπτογραφοντας έναν πίνακα ουρανιου τοξου θα πρέπει να αποθηκεύσει κάθε κωδικό του hash με κάθε δυνατή αξία του αλατιού. Αυτό γίνεται ακατόρθωτο αν το αλάτι έχει μια αρκετά μεγάλη σειρά, πχ μια έκδοση 32-bit αριθμούς. Δυστυχώς, πολλά συστήματα ελέγχου ταυτότητας που χρησιμοποιουνται συχνα , δεν χρησιμοποιουν το κρυπτογραφικο αλατι και οι πινακες ουράνιου τόξου είναι διαθέσιμοι στο Διαδίκτυο για διάφορα τέτοια συστήματα.