Επόμενο Προηγούμενο Περιεχόμενα
Λύση στο παραπάνω πρόβλημα και στο ότι ο DES είναι
κρυπτογραφικός αλγόριθμος και υπήρχε παλαιότερα δυσκολία
εξαγωγής του από τις Η.Π.Α, κυρίως για τα μη εμπορικά
UNIX λειτουργικά, έδωσε ο Paul-Henning Kamp για το
FreeBSD λειτουργικό. Σχεδιάσε ένα αλγόριθμο κωδικοποίησης
συνθηματικών βασισμένο στον MD5 ( 3) hash αλγόριθμο. Ο MD5 είναι
απο τον σχεδιασμό του μίας φοράς (one-way), οπότε οι
μετατροπές σε αυτόν ήταν μικρές, ενώ προστέθηκε salt απο
12 μέχρι 48 bits.
Ο αλγορίθμος αυτός σε γενικές γραμμές κωδικοποιεί το salt
και το συνθηματικό, με τον MD5, με αρκετούς διαφορετικούς
τρόπους, έτσι ώστε να καθυστερήσει την διαδικασία. Ο MD5
αλγόριθμος παράγει ένα 128 bit hash και αφού μετατραπεί
σε εκτυπώσιμη μορφή μαζί με το salt αποθηκεύεται στο
αρχείο συνθηματικών. Ενα τυπικό σύστημα με MD5
κωδικοποιημένα συνθηματικά θα έχει καταχωρίσεις στο
/etc/shadow της μορφής:
nmav:$1$4Wcrq7pj$l8uWovJXI1QBP6MXRrWdt0:11000:0:99999:7:::
Οι χαρακτήρες '$1$' καθορίζουν τον συγκεκριμένο αλγόριθμο
που χρησιμοποιείται (versioning) και μιας και η DES
κωδικοποίηση δεν χρησιμοποιεί τον χαρακτήρα '$', δεν είναι
πρόβλημα για ένα πρόγραμμα να τα διακρίνει. Το salt
ξεχωρίζει απο την έξοδο του MD5 με τον χαρακτήρα '$'.
O MD5 δεν έθετε πρακτικούς περιορισμούς στο μέγεθος του
συνθηματικού του χρήστη. Είχε όμως το πρόβλημα του DES
encoding... έχει συγκεκριμένη πολυπλοκότητα και κάποια
στιγμή στο μέλλον θα ήταν εφικτή η brute force attack και
σε αυτόν, άρα θα έπρεπε να αντικατασταθεί και πάλι.
Επόμενο Προηγούμενο Περιεχόμενα