Πως λειτουργεί η κρυπτογραφία στην κινητή τηλεφωνία;
Για όσους βαριούνται να διαβάσουν το παρακάτω άρθρο η TL;DR (Too Long; Didn’t Read) απάντηση στο παραπάνω ερώτημα είναι ΔΕΝ ΛΕΙΤΟΥΡΓΕΙ
GSM ή αλλιώς breaking me badly
Αρχικά πρέπει να γνωρίζουμε ότι κάθε SIM έχει αποθηκευμένο ένα μακράς-διάρκειας κρυφό κλειδί (Κ). Θα αναλύσουμε παρακάτω γιατί είναι σημαντική η φράση “μακράς-διάρκειας”. Ο φορέας της κινητής τηλεφωνίας που μας χορήγησε τη SIM έχει ένα αντίγραφο αυτού του κλειδιού (κακό). Ο τρόπος με τον οποίο επικοινωνεί η συσκευή μας με τον φορέα απεικονίζεται συνοπτικά στο παρακάτω σχήμα:
Όπου MS(Mobile Station) είναι το κινητό μας, HLR(Home Location Register) είναι η κεντρική βάση δεδομένων στον φορέα και VLR(Visitor Location Register) είναι η βάση δεδομένων σε περίπτωση που κάνουμε roaming μέσω άλλου φορέα. Όπως βλέπουμε και στο σχήμα μετασχηματίζεται το κλειδί Κ μέσω της RAND (μια συνάρτηση που προσθέτει “τυχαιότητα”) και δημιουργείται ένα session κλειδί Kc. Όπου A3/A8 στο σχήμα είναι αλγόριθμοι κρυπτογράφησης που χρησιμοποιεί το GSM πρωτόκολλο (περισσότερα παρακάτω). Η παραπάνω διαδικασία δημιουργεί ένα session κλειδί για τον φορέα και τον χρήστη που χρησιμοποιείται για την κρυπτογράφηση των δεδομένων καθώς και ένα authentication token -SRES στο σχήμα- για την αυθεντικοποίηση του κινητού με την κεραία. Τα προβλήματα που προκύπτουν από το παρακάτω μοντέλο είναι τα εξής:
- Μη αυθεντικοποίηση του πύργου(κεραία κινητής): Οι συσκευές αυθεντικοποιούν τον εαυτό τους στην κεραία αλλά η κεραία δεν κάνει το ίδιο. Αυτό σημαίνει πως οποιοσδήποτε μπορεί να δημιουργήσει μια κεραία στην οποία θα συνδεθεί η συσκευή. Το βασικό πρόβλημα σε αυτό το σενάριο είναι ότι στο GSM πρωτόκολλο ο πύργος επιλέγει τον αλγόριθμο κρυπτογράφησης.. Αυτό σημαίνει πρακτικά ότι ο επιτιθέμενος μπορεί να επιλέξει να απενεργοποιήσει την κρυπτογράφηση (Α5/0 mode) και να διαβάζει σε cleartext όλη την κίνηση των δεδομένων.. Θεωρητικά η συσκευή προειδοποιεί τον χρήστη σε αυτή την περίπτωση αλλά οι κάρτες SIM περιέχουν ένα bit που απενεργοποιεί αυτή την προειδοποίηση..
- Κακοί αλγόριθμοι κρυπτογράφησης: Οι αλγόριθμοι του GSM όταν δημιουργήθηκαν ακολούθησαν τη λογική κρυπτογράφησης security through obscurity (=αυτοσχεδίασε και ήλπιζε πως δεν θα το καταλάβει κανείς). Η λογική security through obscurity είναι λάθος στους αλγόριθμους κρυπτογράφησης καθώς λαμβάνει σαν δεδομένο πως ο επιτιθέμενος δεν γνωρίζει τον αλγόριθμο κρυπτογράφησης. Επίσης έχει απορριφθεί σαν λογική εδώ και κάποιους αιώνες. Επίσης τέτοιοι αλγόριθμοι όταν “σκάνε” (αποκαλύπτονται) σκάνε πολύ άσχημα και γεννούν διαμάντια. Αυτά όμως είναι λεπτομέρειες για τους γονείς του GSM που επέλεξαν να εμπιστευτούνε για την κινητή τηλεφωνία. Για αυτό το λόγο και οι Α3/Α8 που δημιουργήθηκαν αρχικά και χρησιμοποιούσαν μια κοινή function με όνομα COMP128-1 η οποία είναι “σπασμένη” σε τέτοιο σημείο που κάποιος μπορεί να κλωνοποιήσει το κλειδί της SIM με 8 δοκιμές.
- Πολύ κακοί αλγόριθμοι κρυπτογράφησης: Ευτυχώς το πρόβλημα με τον COMP128-1 μπορούσε να διορθωθεί με μια αλλαγή της SIM. Δυστυχώς τα πράγματα έγιναν πολύ χειρότερα με τον A5/1 αλγόριθμο ο οποίος ήταν ενσωματωμένος στις περισσότερες συσκευές (κινητά) και κεραίες. Ο A5/1 διέρευσε περίπου την ίδια περίδο με τον COMP128-1 και άρχισε να δέχεται απανωτά χτυπήματα. Σήμερα είναι εφικτή μια κρυπτανάλυση με μέθοδο known-plaintext στον Α5/1 χρησιμοποιώντας rainbow tables που κυκλοφορούν ελεύθερα στο διαδίκτυο. Το καλύτερο είναι ότι πλέον οι περισσότερες κλήσεις που χρησιμοποιούν τον A5/1 μπορούν να αποκρυπτογραφηθούν με έναν καλό υπολογιστή (όχι υπερυπολογιστή, καλό υπολογιστή όπως αυτόν που έχει ένας gamer π.χ)
- Απαράδεκτοι αλγόριθμοι κρυπτογράφησης: Τα πράγματα δυστυχώς έγιναν ακόμα χειρότερα.. Το πρωτόκολλο υποστήριζε μια παραλλαγή του Α5/1 τον A5/2 που ήταν τόσο χάλια που μπορούσε να σπάσει σε real time (δηλαδή την ίδια στιγμή) και ο οποίος έσπασε (σαν αλγόριθμος) τον ίδιο μήνα που εκδόθηκε (good job!). Το χειρότερο ήταν πως ο αλγόριθμος χρησιμοποιούσε το ίδιο κλειδί με τον A5/1. Αυτό σήμαινε πως μπορούσε κάποιος να κλέψει το session key μέσω ενός ψεύτικου πύργου όπου θα γύρναγε την κρυπτογράφηση σε Α5/2, θα έκλεβε το session key και στη συνέχεια θα γύρναγε στον Α5/1 της πραγματικής κεραίες. Active sniffing και στη συνέχεια passive sniffing δηλαδή αφού κατέχει το κλειδί. Το 2006 (7 χρόνια μετά το σπάσιμο του Α5/2) η GSM Association όρισε πως οι νέες συσκευές δεν θα υποστηρίζουν πλέον τον Α5/2 (μα γιατί;) ειδικά από τη στιγμή που η 3G επικοινωνία όριζε ως αποκλειστική τη χρήση του Α5/1. Φυσικά υπάρχει και η περίπτωση να μην χρησιμοποιείται καν κρυπτογράφηση σε περίπτωση που το δίκτυο δεν υποστηρίζει τον Α5/1. Ένα καλό ερώτημα είναι κατά πόσο αυτές οι οδηγίες ισχύουν στα ελληνικά δεδομένα τηλεπικοινωνίας..
3G/4G/LTE και μεταξωτές κορδέλες
Οκ το GSM καθιερώθηκε πριν 30 χρόνια. Λογικό να υπάρχουν προβλήματα (αν και είπαμε ότι η λογική security through obsurity είναι λογική 16 αιώνα). Βέβαια το 90+ % των χρηστών κινητής τηλεφωνίας το χρησιμοποιούνε αλλά οκ αφού κάναμε την πατάτα και δεν διορθώνεται (δες (3) παραπάνω) ας φτιάξουμε κάτι νέο.. 3G:
Το παραπάνω σχήμα κάτι θυμίζει;
Η χρήση του 3G όρισε νέα standards (LTE) για την ασφάλεια του GSM. Αυτά είναι συνοπτικά:
- Αυθεντικοποίηση από κοινού: Το 3G πρωτόκολλο χρησιμοποιεί ένα “Authentication and Key Agreement “ (AKA) πρωτόκολλο το οποίο απαιτεί την αυθεντικοποίηση της κεραίας. Για να επιβεβαιώσει μια συσκευή ότι μιλάει με μια νόμιμη κεραία ο φορέας πλέον δημιουργεί ένα Message Authentication Code (MAC) που η συσκευή επιβεβαιώνει πριν συνδεθεί.
- Καλύτεροι αλγόριθμοι αυθεντικοποίσης: Τα session κλειδιά καθώς και το authentication tag υπολογίζονται κάνοντας χρήση κάποιων νέων αλγορίθμων f1-f5 κλειστού κώδικα (security through obscurity will not be beaten!) που είναι θεωρητικά ισχυροί. Το κακό (που είναι το καλό άραγε;) είναι πως ο φορέας επιλέγει τη χρήση των αλγορίθμων καθώς και το μέγεθος των κλειδιών.. Κάποια έγγραφα με υποδείξεις μας οδηγούν στο συμπέρασμα ότι οι αλγόριθμοι αυτοί είναι κάποιου είδους block cipher όπως ο AES. Το πρόβλημα με τους block ciphers αλγορίθμους είναι ότι αν δεν είναι κάποιος αρκετά προσεκτικός στη σχεδίαση αλλά και στην υλοποίησή τους μπορεί να έχει καταστροφικά αποτελέσματα.. Αλλά εμείς εμπιστευόμαστε τους τύπους που επί 7 χρόνια υποστήριζαν επίσημα αλγόριθμο που έσπαγε σε πραγματικό χρόνο..
- Καλύτερη κρυπτογράφηση: Η κρυπτογράφηση των κλήσεων στο 3G γίνεται με τη χρήση ενός block cipher κλειστού κώδικα με όνομα KASUMI. Ο KASUMI βασίζεται στον MISTY1 που δημιούργησε η Mistubishi το 1995 και είναι αρκετά τροποποιημένος ώστε να δουλεύει γρήγορα σε συσκευές κινητής τηλεφωνίας. Το πρόβλημα με τον KASUMI είναι ότι οι (τόσο έξυπνες ώστε να είναι κρυφές) τροποποιήσεις που έχει σε σχέση με τον MISTY1 τον κάνουν αρκετά πιο αδύναμο σε σχέση με τον MISTY1. Το 2010 επιτεύχθηκε ανάκτηση ενός 128 bit κλειδιού του KASUMI μέσα σε 2 ώρες. Αυτό φυσικά επετεύχθη σε “συνθήκες εργαστηρίου” (μη ρεαλιστικές συνθήκες) αλλά αποδεικνύει ότι ο KASUMI δεν είναι τόσο ισχυρός όσο υποστηρίζεται…
Ένα ακόμη πρόβλημα είναι ότι το 3G δεν υποστηρίζεται παντού και οι συσκευές είναι ρυθμισμένες ώστε να συνδέονται μέσω GSM όταν μια σύνδεση 3G/4G δεν είναι εφικτή.
GSM vs 3G and the winner is….
Ένα βασικό πρόβλημα είναι ότι και το GSM και το AKA δεν έχουν Perfect Forward Secrecy (PFS) που έχει για παράδειγμα το otr plugin του pidgin. Τι είναι το PFS; Το PFS είναι ουσιαστικά μια ιδιότητα ενός πρωτοκόλλου συμφωνίας κλειδιού (ανταλλαγής κλειδιού) που διασφαλίζει πως το sesion key δεν μπορεί να ανακτηθεί αν ανακτηθεί το long term (μακράς διάρκειας) κλειδί. Για όσους χάθηκαν κοιτάξτε πάλι την ενότητα “GSM ή αλλιώς Breaking me badly”. Αυτό σημαίνει στην περίπτωση της κινητής τηλεφωνίας πως αν κάποιος αποκτήσει το long term κλειδί (Κ) μπορεί να αποκρυπτογραφήσει όποια συνομιλία έγινε ή θα γίνει στο μέλλον. Τέλειο;
Ελληνικά δεδομένα
Δεν αναφερθήκαμε καθόλου όμως στα ελληνικά δεδομένα και στα περίφημα βαλιτσάκια και τσαντάκια (πλάκα κάνω δεν υπάρχει τσαντάκι) της ΕΥΠ. Καταρχάς πέραν της “βαλίτσας” υπάρχει η πολύ απλή παρακολούθηση με ένταλμα στον πάροχο ή με παρακολούθηση από το κτήριο της ΕΥΠ. Η δεύτερη περίπτωση (παρακολούθηση από το κτήριο της ΕΥΠ) αν όντως ισχύει σημαίνει ότι η ΕΥΠ έχει εγκαταστήσει ένα είδος κοριού στο δίκτυο κινητής τηλεφωνίας των παρόχων. Αν ισχύει αυτή η περίπτωση τότε το περίφημο βαλιτσάκι (θα αναλύσουμε σε λίγο) είναι απαραίτητο σε περίπτωση που δεν είναι γνωστός ο αριθμός του τηλεφώνου που χρησιμοποιεί ο “ύποπτος”.
Φυσικά το γεγονός ότι οι άρσεις απορρήτου έχουν αυξηθεί εκθετικά μας διδάσκει ότι μερικές φορές ένα χαρτί προκαλεί μεγαλύτερη καταστροφή από ένα σφυρί. Έτσι λοιπόν δεν χρειάζεται να επιστρατευθούν βαλιτσάκια και περίεργοι τύποι με καπαρντίνες. Αρκεί ένα χαρτί που θα επικαλείται “λόγους εθνικής ασφάλειας” για να διασφαλίσει τη συνεργασία των παρόχων και την ελεύθερη πρόσβαση στα άδυτα της κινητής τηλεφωνίας. Με λίγα λόγια, ακόμα και αν οι αλγόριθμοι κρυπτογράφησης της κινητής τηλεφωνίας λειτουργούσαν άψογα, ένα χαρτί από την εισαγγελία επικαλούμενο “λόγους εθνικής ασφάλειας” θα εξασφάλιζε την απόλυτη πρόσβαση στα δεδομένα και στις επικοινωνίες ενός πολίτη.
Το βαλιτσάκι μου και πάμε διακοπές
Με βάση τις παραπάνω πληροφορίες που παραθέσαμε σχετικά με την κρυπτογράφηση στην κινητή τηλεφωνία, δεν φαντάζει και τόσο εξωπραγματικό το γεγονός ότι υπάρχει εξοπλισμός που προσποιείται πως είναι κεραία κινητής τηλεφωνίας με σκοπό να υποκλέψει τη συνομιλία. Τέτοιου είδους εξοπλισμός πωλείται από 700 δολάρια στο internet (IMSI-catcher). Το θέμα είναι πως ακριβοπληρωμένοι εξοπλισμοί τύπου “βαλιτσάκι” (είναι προφανές ότι οι έλληνες δαιμόνιοι ρεπόρτερ το ονόμασαν έτσι επειδή έχει το μέγεθος και ίσως την εμφάνιση βαλίτσας) υποστηρίζουν την ταυτόχρονη σύνδεση με πολλούς υπόπτους και φυσικά έχουν πολύ μεγαλύτερη εμβέλεια. Κατά τα άλλα δεν είναι καμιά φοβερή δυνατότητα που θα οδηγούσε τους συνωμοσιολόγους να αναφωνήσουν “είχαμε δίκιο, η κυβέρνηση τα παρακολουθεί όλα!”
Συμπέρασμα
Δυστυχώς τα πράγματα δεν είναι αστεία. Αν δεν σας έφτανε το γεγονός ότι κουβαλάτε μαζί σας ένα ρουφιάνο που καταγράφει τη θέση σας (clickme#1, clickme#2, clickme#3, clickme#4) τότε αποκτήσατε και μια σιγουριά πως ότι λέτε μπορεί να το ακούσει όχι απλά η κυβέρνηση/αστυνομία αλλά οποιοσδήποτε έχει γύρω στα 800 ευρώ να ξοδέψει.. Άλλωστε έχουν έρθει στη δημοσιότητα (στην ελλάδα) περιπτώσεις όπου εταιρίες χρησιμοποιούσαν αντίστοιχα “βαλιτσάκια” για εταιρική κατασκοπία..
Το παραπάνω άρθρο είναι σε μεγάλο μέρος μετάφραση με προσθαφαιρέσεις από εδώ
Επιπλέον πηγές και αναγνώσματα:
Παρακολουθήσεις κινητών τηλεφώνων
ωραίο αρθράκι.
αμα βρειτε χρόνο πιάστε και λίγο το ζητημα με την κρυπτογράφημένη ομιλια με κινητα android μέσω software και 3G internet.
το ζήτημα του εντοπισμού δεν λύνεται αλλά για να μην ακούνε κανει δουλειά ???
δεν ξέρω την τύφλα μου 🙂
Στις 31 Οκτώβρη 2013, ο επικεφαλής της ΕΥΠ Θοδωρής Δραβίλλας κατέθεσε ενώπιον της Επιτροπής Θεσμών και Διαφάνειας της Βουλής.
Αποσπάσματα από δημοσιεύσεις σε μέσα μαζικής ενημέρωσης :
“Ο διοικητής της ΕΥΠ φέρεται να είπε ότι δεν υπάρχει το περιβόητο «βαλιτσάκι» παρακολουθήσεων παρά μόνο ένα τζιπ που εντοπίζει όπως το ραδιογωνιόμετρο τα σήματα εκπομπής των κινητών τηλεφώνων.”
“Αρνήθηκε παράλληλα την ύπαρξη της περίφημης «βαλίτσας παρακολουθήσεων» και φέρεται να έκανε λόγο για ένα όχημα, τζιπ, που λειτουργεί ως ραδιογωνιόμετρο και εντοπίζει το σήμα.”
“Ο διοικητής της ΕΥΠ πάντως άφησε να εννοηθεί ότι οι συνομιλίες, που έχουν δημοσιοποιηθεί κατά καιρούς, προκύπτουν από τους παρόχους σε συνεργασία με τις εκάστοτε εισαγγελικές αρχές που δίνουν εντολή άρσης του τηλεφωνικού απορρήτου.”
Η αναφορά του “Security Research Labs” με έδρα το Βερολίνο για την ασφάλεια του GSM δικτύου στην Ελλάδα : https://skytal.es/blog/wp-content/uploads/2014/01/gsmmap.org-country_report-Greece-2012-03.pdf
Γίνεται αξιολόγηση των τρίων κύριων παρόχων κινητής τηλεφωνίας στην Ελλάδα (Cosmote, Wind, Vodafone) με βάση ττρία χαρακτηριστικά : την δυνατότητα υποκλοπής δεδομένων (interception), τη δυνατότητα πλαστοπροσωπίας (impersonation) και τη δυνατότητα εντοπισμού (tracking).