Ο κωδικός είναι απαραίτητος για κάθε διαδικτυακή επαλήθευση στοιχείων. Αν και τις περισσότερες φορές, δεν υπάρχει περιορισμός ψηφίων ή διαφορετικών χαρακτήρων, είναι δυστυχώς αποδεδειγμένο, ότι ένα μεγάλο μέρος του πληθυσμού χρησιμοποιεί πάρα πολύ απλούς κωδικούς, που μπορούν να βρεθούν αρκετά εύκολα.
Και το χειρότερο είναι ότι οι περισσότεροι από αυτούς είναι και αρκετά προβλέψιμοι, κυρίως γιατί τα μυαλά μας δεν είναι τόσο διαφορετικά όσο νομίζουμε και οι περισσότεροι τείνουμε να επιλέγουμε περισσότερο συγκεκριμένα πρότυπα ή αριθμούς.
Κωδικοί όπως asdsa, 123456, 111111, 654321, qwerty, password επιλέγονται πολύ πιο συχνά από όσο νομίζετε.
Και εκτός από τους κοινούς γενικούς κωδικούς, υπάρχουν και αρκετοί που μπορεί να προβλεφθούν σχετικά εύκολα αν γνωρίζετε μερικά στοιχεία από την ζωή του ιδιοκτήτη του κωδικού.
Έτσι συνηθισμένες επιλογές για κωδικό μπορεί να είναι το όνομα μαζί με μερικά ψηφία (πχ aggelos11), το τηλέφωνο του σπιτιού, το παρατσούκλι, ο ήρωας από την αγαπημένη σειρά, το όνομα της γυναίκας/κοπέλας και άλλα παρόμοια.

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

Επισήμανση: Το παρόν άρθρο, (όπως και όλα τα ανάλογα άρθρα που έχουν ανεβεί κατά καιρούς στο supereverything) αποτελεί έναν απλό και σύντομο οδηγό, ο οποίος προσπαθεί να δείξει με όσο πιο κατανοητό τρόπο γίνεται, τις διαφορές ενός ασφαλή και ενός μη ασφαλή κωδικού, καθώς και πως μπορείτε να δημιουργήσετε εύκολα σχετικά ασφαλείς κωδικούς. Σίγουρα δεν πρόκειται για έναν  αναλυτικό οδηγό στον οποίο θα διαβάσετε πχ τις διαφορές MD5 και SHA256. 

Ασφαλείς κωδικοί

Ποιοι είναι όμως οι ασφαλείς κωδικοί; Ασφαλείς κωδικός θεωρείται κάποιος κωδικός ο οποίος μπορεί δύσκολα να προβλεφτεί και χρειάζεται πάρα πολύ χρόνο για να σπάσει με brute force1  ή όποια άλλη μέθοδο, ακόμα και από υπερυπελογιστή.

1. Τυχαίος κωδικός με πολλά ψηφία

Τέτοιοι κωδικοί είναι οι τυχαίοι κωδικοί με αρκετά ψηφία. Με την σημερινή τεχνολογία, οτιδήποτε κάτω από 8 ψηφία, θεωρείται μη ασφαλές, οπότε ένας ασφαλής κωδικός θα πρέπει να περιλαμβάνει τουλάχιστον 10-12 ψηφία.
Και για να είναι ακόμα πιο ασφαλής θα πρέπει τα ψηφία εκτός από τυχαία, να ανήκουν και σε διαφορετικές κατηγορίες. Δηλαδή να είναι ένα τυχαίο μείγμα από μικρά, κεφαλαία, αριθμοί και σημεία στίξης. Έτσι για παράδειγμα ο κωδικός fF34$#.awl@_d* θεωρείται αρκετά ασφαλής . Βέβαια δεν νομίζω να υπάρχει άτομο, το οποίο να μην έχει κάποια πολύ ιδιαίτερη ικανότητα, που θα καταφέρει να θυμηθεί αρκετούς τέτοιους κωδικούς.

2. Password Managers

Το παραπάνω πρόβλημα έρχονται να λύσουν οι password managers. Οι password managers είναι εφαρμογές οι οποίες μπορεί να είναι αποθηκευμένες μόνο στον υπολογιστή ή το κινητό σας ή μπορεί να είναι συγχρονισμένες και στο cloud, και οι οποίες σας επιτρέπουν να δημιουργείτε και να αποθηκεύετε ασφαλείς κωδικούς (με αρκετούς χαρακτήρες) για κάθε ιστοσελίδα. Οι περισσότεροι από τους password managers, μπορούν να λειτουργήσουν και σαν επέκταση του browser και έτσι να συμπληρώνουν αυτόματα τον κωδικό σας στην ιστοσελίδα.
Οι  password managers, μπορούν να δημιουργήσουν με το πάτημα ενός κουμπιού έναν εντελώς τυχαίο κωδικό όσων χαρακτήρων θέλετε, με ότι συνδυασμό επιθυμείτε. Έτσι μπορείτε να επιλέξετε έναν τυχαίο κωδικό 16 χαρακτήρων που να περιλαμβάνει πεζά, κεφαλαία, αριθμούς, σημεία στίξης και ειδικούς χαρακτήρες. Ένας τέτοιος κωδικός θα ήταν αδύνατο να απομνημονευθεί από έναν κοινό θνητό, αλλά για το password manager είναι παιχνιδάκι.
Το μειονέκτημα που έχουν οι password managers, είναι ότι για να συνδεθείτε στον λογαριασμό σας θα πρέπει να έχετε ένα ασφαλή κωδικό για τον ίδιο τον password manager, το οποίο είναι ίσως εύκολο αν μπαίνετε μόνο από έναν υπολογιστή, αλλά αν λόγω δουλειάς αλλάζετε συνεχώς είναι ένα θέμα. Και εκτός από αυτό, είναι ένα μέρος στο οποίο έχετε αποθηκευμένους όλους τους κωδικούς σας, οπότε αν κάτι πάει στραβά θα πρέπει να αλλάξετε κωδικούς από δεκάδες σελίδες.
Μερικοί γνωστοί password managers είναι ο Lastpass και o Dashlane

3. Two step verification

Για να μην μπλέκεστε με password managers και θυμάστε κωδικούς που δεν θα θυμόταν ούτε ο Kim Peek1, μπορείτε να επιλέξετε την διπλή επαλήθευση. Η διπλή επαλήθευση είναι μια μέθοδος που εκτός από κωδικό απαιτείται και επαλήθευση μέσω ενός άλλου πιστοποιημένου μέσου. Τις περισσότερες φορές αυτό είναι το κινητό, το οποίο είχατε συμπληρώσει όταν δημιουργήσατε τον λογαριασμό σας. Έτσι αν έχετε επιλέξει την διπλή επαλήθευση, αφού συμπληρώσετε σωστά τον κωδικό σας, θα σας σταλεί ένα μήνυμα στο κινητό σας με έναν νέο κωδικό τον οποίο θα πρέπει να εισάγετε για να μπορέσετε να έχετε πρόσβαση στον λογαριασμό σας.
Η διπλή επαλήθευση, απαιτείται επίσης όταν θέλετε να αλλάξετε και κωδικό ή κάποια πολύ σημαντικά στοιχεία από τον λογαριασμό. Αυτό είναι αρκετά σημαντικό, γιατί μπορεί να προστατεύσει τον λογαριασμό σας αν κάνατε το λάθος και αφήσατε ανοιχτή κάποια συσκευή σας, αποκτώντας πρόσβαση κάποιο τρίτο πρόσωπο σε αυτή και ταυτόχρονα και στον λογαριασμό σας.
Δυστυχώς όμως η διπλή επαλήθευση έχει μερικά προβλήματα. Το πρώτο είναι ότι η ιστοσελίδα πρέπει να σας στείλει ένα δωρεάν μήνυμα στο κινητό, κάτι που το κάνει αυτόματα αποκλειστικό προνόμιο μόνο των μεγάλων και πολύ δημοφιλών ιστοσελίδων που έχουν αρκετά έσοδα (google, facebook, twitter, dropbox). Το άλλο πρόβλημα είναι ότι απαιτεί να έχετε πάντα το κινητό μαζί σας, το οποίο δεν είναι και τόσο δύσκολο, αλλά αν σας το κλέψουν ή σπάσει ή μείνει από μπαταρία, τότε θα έχετε θέμα.

4. Passphrases

Όλες οι παραπάνω λύσεις, είναι αρκετά αποτελεσματικές, αλλά έχουν όλες μερικά μειονεκτήματα. Αρκετά μειονεκτήματα που δεν έχει η τελευταία λύση, η οποία θεωρείται καλύτερη από τους περισσότερους ειδικούς του χώρου, τα passphrases.
Τα passphrases είναι κωδικοί οι οποίοι αποτελούνται από εκφράσεις. Το πλεονέκτημά τους είναι ότι μπορεί να έχουν αρκετά ψηφία αλλά ταυτόχρονα να είναι πολύ εύκολο να απομνημευθούν. Ειδικά αν μέσα στο passphrase χρησιμοποιήσετε και κάποιο συγκεκριμένο pattern (πχ το χαρακτήρα # ανάμεσα σε κάθε λέξη και τελευταίο γράμμα κάθε λέξης κεφαλαίο) ο κωδικός γίνεται ακόμα πιο δύσκολος να σπάσει.
Μερικά απλά παραδείγματα με passphrase
Το arnaki_ladolemono_me_patates είναι ένα πολύ απλό passphrase, που όμως θεωρείται σχετικά ασφαλές, κυρίως γιατί έχει αρκετούς χαρακτήρες και χρησιμοποιεί λέξεις που δεν είναι τόσο κοινές (πχ ladolemono).
Το rE_keratA_amA_toN_vreiS_sfirA_moY είναι αρκετά καλύτερο και πολύ πιο ασφαλές από το προηγούμενο, επειδή εκτός από πεζά χρησιμοποιεί και κεφαλαία, μαζί φυσικά με την κάτω παύλα.
Το MiN_KanetE_C0pY_PastE_Aut0_T0_Arthr0!  (εκτός από κανόνας αυτής της ιστοσελίδας που δυστυχώς παραβιάζεται  από διάφορες copypaste σελίδες ποικίλης ύλης), είναι ακόμα πιο ασφαλής κωδικός σε σύγκριση με τους δύο παραπάνω, γιατί χρησιμοποιεί πεζά, κεφαλαία, αριθμούς (το ψηφίο 0 αντί για όμικρον), σημεία στίξης, Αγγλικά και greeklish.
Βέβαια, οι password cracking εφαρμογές δεν χρησιμοποιούν απλό brute force για να βρουν ένα κωδικό, αλλά δοκιμάζουν πρώτα και γνωστές λέξεις και συνδυασμούς αυτών (dictionary attack). To καλό με εμάς, είναι ότι τα Ελληνικά δεν είναι η πιο διαδεδομένη γλώσσα στον κόσμο και τα greeklish δεν έχουν κανόνες (πχ η ίδια λέξη μπορεί να γραφεί με αρκετούς διαφορετικούς τρόπους). Έτσι είναι πολύ πιο δύσκολο να συμπεριληφθούν σε databases password cracking εφαρμογών. Για σιγουριά πάντως καλό είναι να χρησιμοποιείτε και μερικές λέξεις οι οποίες είναι τοπικές ή τις χρησιμοποιείται μόνο εσείς.
Όπως είδατε όλες οι παραπάνω φράσεις, είναι αρκετά εύκολο να απομνημευθούν και είναι πολύ πιο ασφαλείς από τα περισσότερα passwords που χρησιμοποιούσατε μέχρι τώρα. Ίσως έχουν πιο πολλούς χαρακτήρες και να είναι λίγο πιο χρονοβόρο να τους πληκτρολογείτε, αλλά αν θέλετε να έχετε το κεφάλι σας ήσυχο, άσχετα αν επιλέξετε και κάποιο άλλο τρόπο (πχ 2step verification ή password manager), η επιλογή των passphrases ως κωδικούς για τους λογαριασμούς σας είναι μονόδρομος.
Το μόνο που έχετε να κάνετε, είναι να βρείτε ένα θέμα και ένα πρότυπο και να φτιάξετε τις δικές σας passphrases, και λέμε passphrases γιατί καλό είναι να φτιάξετε περισσότερες από μία τις οποίες θα αλλάζετε ανά κάποια διαστήματα.

Για περισσότερα, μπορείτε να δείτε αυτό το μικρό βίντεο από την συνέντευξη του πρώην εργαζόμενου της NSA Edward Snowden στον παρουσιαστή της εκπομπής Last Week Tonight With John Oliver, John Oliver, στο οποίο συζητούν το συγκεκριμένο θέμα.

Έχετε ασφαλή κωδικό, αλλά άμα τους τον δώσετε εσείς…

Ένας κωδικός παραμένει ασφαλής, μόνο όταν τον ξέρετε εσείς και μόνο εσείς! Κάτι που ίσως δεν ξέρετε, είναι ότι τους κωδικούς σας δεν τους γνωρίζουν (κανονικά) ούτε και οι ίδιες οι ιστοσελίδες για τους οποίους τους δημιουργήσατε.
Τώρα θα ρωτήσετε πως γίνεται και ξέρουν αν είναι σωστός ο κωδικός ή όχι, αν δεν ξέρουν οι ίδιες τον κωδικό;
Γίνεται χρησιμοποιώντας πολύπλοκα μαθηματικά και έναν αλγόριθμό επαλήθευσης3. Αυτό που κάνουν όλες (τουλάχιστον οι σοβαρές ιστοσελίδες), είναι ότι όταν δημιουργείτε τον κωδικό σας, δημιουργούν μέσω μιας συνάρτησης (hash function) ένα κλειδί επαλήθευσης, το οποίο και αποθηκεύεται στην database της ιστοσελίδας.
Κάθε φορά που προσπαθείτε να εισέλθετε στον λογαριασμό σας πατώντας τον κωδικό σας, ξανακάνει την ίδια διαδικασία που έκανε και όταν δημιουργήσατε τον κωδικό. Αν το κλειδί που δημιουργήθηκε είναι ίδιο με αυτό που έχει αποθηκεύσει η ιστοσελίδα όταν δημιουργήσατε το λογαριασμό, τότε σημαίνει ότι ο κωδικός σας είναι σωστός. Αυτό που κάνει αυτή την μέθοδο αρκετά ασφαλή, είναι ότι είναι αρκετά δύσκολο (όχι όμως αδύνατο3) έχοντας μόνο το κλειδί επαλήθευσης), να βρει κάποιος τον αρχικό κωδικό.
Έτσι οι ιστοσελίδες δεν γνωρίζουν ή αποθηκεύουν τον κωδικό σας, απλώς μπορούν να επαληθεύουν αν ο κωδικός που βάλατε, είναι σωστός ή όχι. Γιαυτό ακριβώς τον λόγο, όταν ζητάτε να αλλάξετε κωδικό σε μια σελίδα γιατί δεν τον θυμάστε πια, σας στέλνουν ένα email με ένα link, το οποίο αν το πατήσετε σας οδηγεί σε μία σελίδα που σας επιτρέπει να αλλάξετε τον κωδικό σας.

Phishing

H πιο εύκολη και αποτελεσματική μέθοδος υποκλοπής κωδικών είναι η μέθοδος που ονομάζεται phishing. Το Phishing, δεν είναι τίποτα άλλο παρά μια μέθοδος χάκερ οι οποίοι προσπαθούν να σας παραπλανήσουν ώστε να τους αποκαλύψετε εσείς οι ίδιοι τον κωδικό σας.
Πως γίνεται αυτό; Ο πιο συνηθισμένος τρόπος phishing, είναι να σας στείλουν ένα email, το οποίο να είναι παρόμοιο οπτικά με τα email που στέλνει κάποια γνωστή ιστοσελίδα (πχ facebook). Στο email  θα σας ζητάνε να πατήσετε ένα σύνδεσμό για κάποιο λόγο (πχ για λόγους ασφαλείας πρέπει να αλλάξετε τον κωδικό σας), ο οποίος θα είναι ακριβώς ίδιος με την σελίδα εισόδου της ιστοσελίδας. Εκεί θα πρέπει να πατήσετε τα στοιχεία και τον κωδικό σας. Αν κάνετε το λάθος και δώσετε τα πραγματικά στοιχεία εισόδου, τότε οι χάκερς έχουν πλέον πρόσβαση στον λογαριασμό σας, γιατί αποθηκεύονται στην database τους.
 
email αποστολής κωδικού
To email αποστολής επαναφοράς κωδικού από το Twitter. To domain είναι πάντα αυτό της ιστοσελίδας

Πως μπορείτε να αποφύγετε την παραπάνω απάτη; Εύκολα, το μόνο που χρειάζεται είναι προσοχή. Καταρχάς κοιτάτε πάντα το email αποστολής και όχι τον τίτλου του αποστολέα. Έτσι μπορεί ό τίτλος να λέει Facebook Admin, αλλά το email να λέει jok@google.com. Μια ιστοσελίδα πάντα θα έχει email με το domain της, πχ τα αυτόματα email του facebook είναι από το noreply@facebook.com ή πχ το δικό μας email επικοινωνίας είναι info@supereverything.gr .

Ψεύτικη σελίδα με το E-banking της Alpha Bank. Κοιτάξτε το url στον browser πάντα
Ψεύτικη σελίδα με το E-banking της Alpha Bank. Κοιτάζετε το url στον browser πάντα. Το συγκεκριμένο είναι από hackariσμενο abandoned domain.
Φυσικά αυτό δεν μπορεί να είναι εγγύηση πάντα, καθώς μπορεί να έχει δηλωθεί ψευδώς email αποστολής από πραγματικό domain. Γιαυτό όταν ανοίγετε ένα σύνδεσμό από email που σας οδηγεί σε μια ιστοσελίδα, πάντα θα πρέπει να κοιτάτε το σύνδεσμο που γράφει ο browser. Έτσι αν πρόκειται για email από το twitter, θα πρέπει ο σύνδεσμος να ανήκει στο domain του twitter. Δηλαδή να είναι https://www.twitter.com/…... Το τι θα γράφει μετά το αρχικό domain δεν σας απασχολεί, αλλά πρέπει οπωσδήποτε να υπάρχει το domain στην αρχή του συνδέσμου (όχι μέσα στον ίδιο τον σύνδεσμο, γιατί εκεί δεν έχει καμία σημασία).
Δείτε ένα παράδειγμα από την ιστοσελίδα της Microsoft, πατώντας εδώ.

Μερικά χρήσιμα που πρέπει να γνωρίζετε

  • Αν θέλετε να ελέγξετε πόσο ασφαλής είναι ο κωδικός που χρησιμοποιείται μπορείτε να τον δοκιμάσετε σε σελίδες όπως το passwordmeter και το howsecureismypassword
  • Επειδή τα passphrases μπορεί να είναι αρκετά μεγάλα και είναι πιο πιθανό να κάνετε κάποιο λάθος, τον πρώτο καιρό καλό είναι να πληκτρολογείτε αργά και να ελέγχετε πριν ξεκινήσετε, ότι είστε στην σωστή γλώσσα και ότι δεν έχετε πατήσει καταλάθως το caps lock.
  • Κατά καιρούς θα διαβάζετε νέα ότι κάποια γνωστή ιστοσελίδα δέχτηκε επίθεση hackers που κατάφεραν να αποσπάσουν τα προσωπικά σας δεδομένα. Καλό είναι όταν ακούτε κάτι τέτοιο να αλλάζετε αμέσως κωδικό από αυτήν την σελίδα, αλλά αν δεν έχετε χρησιμοποιήσει κάποιον γελοίο κωδικό, να μην πανικοβάλλεστε. Αυτό που κατάφεραν να αποσπάσουν οι χάκερ, δεν είναι ο κωδικός σας, αλλά μόνο το κλειδί επαλήθευσης του κωδικού σας, και αν και έχοντας το κλειδί, μπορεί κάποιος να βρει τον κωδικό, δεν είναι τόσο εύκολο, ειδικά για τα passphrases. Διαβάστε περισσότερα στην συντόμευση 3 στο τέλος του άρθρου.

  1. Brute force : Ονομάζεται η μέθοδος κατά την οποία προσπαθεί να βρεθεί ένας κωδικός, δοκιμάζοντας συστηματικά όλα τα πιθανά ενδεχόμενα. Συνήθως αυτή η διαδικασία γίνεται αυτόματα από ειδικά προγράμματα. Γιαυτό ακριβώς τον λόγο οι περισσότερες ιστοσελίδες έχουν περιορισμένο αριθμό λανθασμένων προσπαθειών, μετά τον οποίο κλειδώνει ο λογαριασμός (για πάντα ή για μερικές ώρες/μέρες)
  2. Kim Peek : Ο Kim Peek ήταν ο αληθινός χαρακτήρας στον οποίο βασίστηκε το σενάριο της ταινίας Rain Man. Έπασχε από το σύνδρομο Savant και είχε μια εξαιρετική ικανότητα να αποστηθίζει κείμενα και πολύ μεγάλους αριθμούς.
  3. Το κλειδί επαλήθευσης μέσω hash function είναι αρκετά δύσκολο να “σπάσει”, όχι όμως και αδύνατο, ειδικά για αδύναμους κωδικούς. Αυτό γίνεται γιατί παρόλο που το κλειδί επαλήθευσης έχει τουλάχιστον 2128 (στο md5, που πλέον θεωρείται μη ασφαλές) διαφορετικούς συνδυασμούς και παρόλο που κάθε κλειδί επαλήθευσης δεν είναι μοναδικό για ένα κωδικό, αλλά μπορεί να είναι ίδιο για δεκάδες χιλιάδες διαφορετικούς κωδικούς, η προβλεψιμότητα μας το κάνει λίγο εύκολο για τους crackers. Πως γίνεται αυτό; Με την δημιουργία databases στις οποίες συνηθισμένοι και εύκολοι κωδικοί έχουν αντιστοιχηθεί σε κάποιο κλειδί επαλήθευσης. Έτσι με μια απλή αναζήτηση σε μια τέτοια database, μπορεί να βρεθεί ένας κωδικός μέσα σε λίγα δευτερόλεπτα. Τώρα θα ρωτήσετε πως γίνεται αφού το κάθε κλειδί δεν είναι μοναδικό (αλλά αρκετοί διαφορετικοί κωδικοί, μπορεί να αντιστοιχούν στο ίδιο ακριβώς κλειδί) να βρεθεί ο σωστός κωδικός; Η απάντηση είναι ότι δεν μπορεί να το ξέρει, αλλά μπορεί να μαντέψει ότι θα είναι ο πιο εύκολος. Δηλαδή για παράδειγμα ο κωδικός hello_koula μπορεί να έχει το ίδιο κλειδί με αρκετούς άλλους κωδικούς (ίσως και εκατοντάδες), όμως είναι σχεδόν σίγουρο ότι κανένας δεν θα είναι τόσο απλός και μικρός όσο αυτός. Οπότε, στις databases των crackers αυτό το κλειδί που έχει βρεθεί, θα αντιστοιχεί μόνο σε αυτόν τον κωδικό. Γιαυτό ένας ακόμα λόγος που πρέπει να χρησιμοποιείτε passphrases, είναι ακριβώς αυτό το πρόβλημα. Περισσότερα για αυτό το θέμα μπορείτε να δείτε σε αυτό το πολύ καλό άρθρο και σε αυτή την συζήτηση σε φόρουμ..

 

Αν θέλετε να συμμετέχετε στις συζητήσεις χωρίς να χρησιμοποιήσετε λογαριασμό του disqus ή κοινωνικών δικτύων, μπορείτε να επιλέξετε να σχολιάσετε ανώνυμα ως επισκέπτης. Απλώς συμπληρώστε ένα οποιοδήποτε όνομα και ένα αληθοφανές email (πχ kanenas@gmail.com) και επιλέξτε το κουτάκι «I'd rather post as a guest».
Τα ανώνυμα σχόλια και όσα περιέρχουν links, απαιτούν επαλήθευση από κάποιον διαχειριστή πριν δημοσιευθούν. Για περισσότερα σχετικά με την πολιτική σχολιασμού της ιστοσελίδας, μπορείτε να διαβάσετε εδώ.

  • Ανώνυμος

    Oreos odigos bravo.