Το passwd είναι εργαλείο των περισσότερων λειτουργικών συστημάτων τύπου Unix και χρησιμοποιείται για την αλλαγή του συνθηματικού (password) κάποιου χρήστη. Το νέο συνθηματικό που δίνεται από το χρήστη περνάει μέσα από μια συνάρτηση παραγωγής κλειδιού (key derivation function) και σχηματίζει μια κωδική έκδοση (μέσω μιας συνάρτησης κατακερματισμού ή hash), η οποία και αποθηκεύεται - το αρχικό συνθηματικό δεν αποθηκεύεται για λόγους ασφάλειας.

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

Η εντολή passwd μπορεί να χρησιμοποιηθεί για την αλλαγή του συνθηματικού τοπικών λογαριασμών χρηστών και στα περισσότερα συστήματα, για την αλλαγή συνθηματικών σε κατανεμημένους μηχανισμούς ταυτοποίησης χρηστών, όπως το NIS, το Kerberos και το LDAP.

Κατά το παρελθόν, χρειάζονταν διαφορετικές εντολές για την αλλαγή των συνθηματικών διαφορετικών τρόπων ταυτοποίησης. Για παράδειγμα, η εντολή για να αλλαχτεί ένα συνθηματικό NIS ήταν η yppasswd. Αυτό απαιτούσε από το χρήστη να γνωρίζει τους διαφορετικούς τρόπους αλλαγής συνθηματικών για το κάθε σύστημα, ενώ πολλαπλασίαζε χωρίς λόγο τον κώδικα διαφόρων προγραμμάτων που είχαν τις ίδιες λειτουργίες (αλλά με διαφορετικά συστήματα από πίσω τους). Στις περισσότερες υλοποιήσεις υπάρχει πια μια μοναδική εντολή passwd και ο έλεγχος του σημείου στο οποίο αλλάζει ο κωδικός γίνεται διαφανώς στο χρήστη, μέσω pluggable authentication modules (PAMs).

Παραπομπές Επεξεργασία

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

Δείτε Επεξεργασία