Ασφάλεια Ασύρματων & Κινητών Επικοινωνιών Ασύρματες Επικοινωνίες Μέρος V Χρήστος Ξενάκης Τμήμα Ψηφιακών Συστημάτων Πανεπιστήμιο Πειραιώς Slide: 1/31
Περιεχόμενα IEEE 802.11i Temporal Key Integrity Protocol (TKIP) Γενικά Προστασία της Ακεραιότητας Υπηρεσία εμπιστευτικότητας Σύγκριση με WEP Slide: 2/31
Εισαγωγή /1 Το πρωτόκολλο TKIP προσπαθεί να διορθώσει τις διάφορες αδυναμίες που παρουσιάζει το WEP To TKIP περιλαμβάνει: τη χρήση ενός σχήματος για την παραγωγή νέου κλειδιού κρυπτογράφησης RC4 για κάθε MPDU μεγαλύτερο σε μέγεθος IV μια νέα μέθοδο για την προστασία της ακεραιότητας, γνωστή ως Michael ένα μηχανισμό, που βασίζεται σε μετρητή για υπηρεσίες προστασίας από επανεκπομπή Slide: 3/31
Εισαγωγή /2 Το TKIP μπορεί να υποστηριχθεί από υπάρχουσες συσκευές WEP με μια αναβάθμιση του λογισμικού τους (firmware) Ωστόσο: το TKIP αποτελεί μια μεσοπρόθεσμη λύση Κάποια access points δεν μπορούν να αναβαθμιστούν μέσω λογισμικού, ώστε να υποστηρίξουν τον αλγόριθμο AES Slide: 4/31
Εισαγωγή /3 Τα δίκτυα WLAN που υλοποιούν το TKIP ονομάζονται και μεταβατικά από πλευράς ασφαλείας δίκτυα Transition Security Networks (TSNs) Το TKIP περιλαμβάνεται στο υποπρότυπο 802.11i Το TKIP σχεδιάστηκε για να παράσχει υπηρεσίες εμπιστευτικότητας ακεραιότητας προστασίας από επανεκπομπή Slide: 5/31
Εισαγωγή /4 Στο TKIP Δεν χρησιμοποιούνται ισχυροί αλγόριθμοι κρυπτογράφησης (π.χ. AES) και ακεραιότητας (π.χ. HMAC-SHA-1) λόγω περιορισμένης επεξεργαστικής ισχύος Κάνει χρήση του υπάρχοντος σχήματος ενθυλάκωσης του WEP Οι συσκευές που το υλοποιούν έχουν υψηλή απόδοση (performance) κατά τη διαδικασία κρυπτογράφησης/ αποκρυπτογράφησης Όσο αφορά την ακεραιότητα, ο αλγόριθμος (σε μορφή λογισμικού) ) θα πρέπει να είναι αρκετά γρήγορος ρ Slide: 6/31
Σχεδιασμός του TKIP Γενικά για το TKIP /1 χρησιμοποιεί ενημερωμένα κλειδιά από τις διαδικασίες 4-way ή 2-way exchange μετά την εγκαθίδρυση μιας PTKSA ή GTKSA από το παραγόμενο κλειδί PTK παράγονται: Κλειδιά κρυπτογράφησης TK και GTK δύο κλειδιά ακεραιότητας ένα για κάθε κατεύθυνση ένα μονοτονικά ανά MPDU αυξανόμενο μετρητή μήκους 48 bits (TKIP Sequence Counter, TSC) για προστασία από επανεκπομπή περιέχει ένα extended IV, μήκους 4 bytes, καθώς και 2 bytes από το IV του WEP μόλις η τιμή του μετρητή TSC φτάσει τη μέγιστη τιμή της αρχικοποίηση διαδικασίας 4-way exchange (ή 2-way exchange) για τη δημιουργία νέου κλειδιού TK Slide: 7/31
Γενικά για το TKIP /2 Στo TKIP για κάθε MPDU ορίζεται μια κρυπτογραφική διαδικασία μίξης 2 φάσεων για τη δημιουργία ενημερωμένου (fresh) κλειδιού Πρώτη φάση: το κλειδί TK και η διεύθυνση του πομπού (TA) αποτελούν είσοδο σε μια κρυπτογραφική διαδικασία δημιουργίας της παραμέτρου TKIP mixed Transmitter Address and Key (TTAK) Δεύτερη φάση: αναμιγνύεται η TTAK, το ΤΚ και τα δύο λιγότερο σημαντικότερα bytes του TSC για τη δημιουργία του WEP seed. Μοναδικό κλειδί για κάθε κατεύθυνση επικοινωνίας και μοναδικό κλειδί για κάθε MPDU Slide: 8/31
Προστασία της ακεραιότητας: Ο αλγόριθμος Michael /1 Ο αλγόριθμος Michael σχεδιάστηκε ώστε: να προστατεύει την ακεραιότητα κάθε MSDU, των διευθύνσεων MAC SA και DA καθώς και το πεδίο προτεραιότητα (Priority field) να λειτουργεί σε επίπεδο MSDU να απαιτεί λιγότερους από 10 κύκλους ανά byte να λειτουργεί σε χαμηλής ισχύος επεξεργαστές Slide: 9/31
Προστασία της ακεραιότητας: Ο αλγόριθμος Michael /2 Το MIC υπολογίζεται ως εξής: Υπάρχουν δύο κλειδιά ακεραιότητας μήκους 8 bytes STA στο AP AP στο STA Το MIC για κάθε MSDU υπολογίζεται στα πεδία SA, DA, Pi Priority, it 3 δεσμευμένων bytes και τέλος στα δεδομένα σε μορφή αρχικού κειμένου το αποτέλεσμα μήκους 8 bytes προσαρτάται στο MSDU. το MIC θα κρυπτογραφηθεί από τον RC4 κάνοντας χρήση του κλειδιού TK Slide: 10/31
Προστασία της ακεραιότητας: Ο αλγόριθμος Michael /3 Το MIC που δημιουργεί ο αλγόριθμος Michael έχει μήκος 8bytes μικρό (π.χ., στο πρωτόκολλο IPsec το παραγόμενο MIC είναι 12 bytes) Ωστόσο ο Michael δεν παρέχει ρχ ασφάλεια 64 bits Σχεδιάστηκε με στόχο την ασφάλεια των 20 bits από πλευράς ακεραιότητας: μια τυχαίως επιλεγείσα τιμή MIC έχει μια πιθανότητα στις 1.048.576 να θεωρηθεί έγκυρη από κρυπτογραφικής άποψης δεν θεωρείται ιδιαίτερα αξιόπιστο Slide: 11/31
Παράκαμψη του Michael: σύλληψη ενός μηνύματος Αντίμετρα /1 την ταυτόχρονη παρεμπόδισή του ώστε να μη φτάσει στον παραλήπτη την αλλαγή του περιεχομένου του και την επαναπροώθησή του στο δέκτη Ο δέκτης δεν θα πρέπει να αντιληφθεί ότι το μήνυμα έχει υποστεί παραποίηση Η μήκους 8 bytes τιμή του MIC είναι κρυπτογραφημένη στο MAC πλαίσιο ο επιτιθέμενος δεν γνωρίζει την αρχική τιμή της γνωρίζει όμως την ακριβή θέση που αυτή βρίσκεται έτσι μπορεί να αλλάξει για παράδειγμα με τυχαίο τρόπο τα bits που αυτή περιέχει Slide: 12/31
Αντίμετρα /2 Η πιθανότητα επαλήθευσης της τιμής του MIC είναι μια στο ένα εκατομμύριο περίπου Αν ο επιτιθέμενος μπορεί να εξαπολύσει τη συγκεκριμένη επίθεση μερικές εκατοντάδες ή και χιλιάδες φορές στη σειρά τότε οι πιθανότητες αλλάζουν σημαντικά προς όφελός του Αντίμετρα αμέσως μόλις η επίθεση γίνει αντιληπτή αναγνώριση της επίθεσης διακοπή των επικοινωνιών στο δεχόμενο επίθεση STA / AP για διάστημα ενός λεπτού Περιορίζει δραστικά τον επιτιθέμενο μια επίθεση ανά λεπτό της ώρας Ανεβάζει την αντοχή του MIC από το 20 στα 29 bits Slide: 13/31
Αντίμετρα /3 Η συγκεκριμένη λύση δημιουργεί καταστάσεις επιθέσεων DoS Ενεργοποιείται/απενεργοποιείται συνεχώς Αντιμέτρα - Ο παραλήπτης καταγράφει κάθε αποτυχία επαλήθευσης MIC ως πιθανή ενεργού τύπου επίθεση - Αν υπάρχουν δύο αποτυχίες MIC μέσα σε διάστημα ενός λεπτού - ο δέκτης πρέπει να αποσυσχετιστεί, - να διαγράψει την τρέχουσα SA - και να περιμένει 1 λεπτό πριν επιχειρήσει επανασυσχέτιση - Έτσι για μια επιτυχημένη πλαστογράφηση πλαισίου ο επιτιθέμενος χρειάζεται 6 ολόκληρους μήνες Slide: 14/31
Αντίμετρα /4 Στην πράξη για να υπάρξει αποτυχία MIC ο επιτιθέμενος πρέπει να παρακάμψει τον έλεγχο του μετρητή TSC ώστε το πλαίσιο να μην απορριφθεί, εκλαμβανόμενο ως εκτός σειράς ο μετρητής TSC αποτελεί τμήμα του IV που είναι αναμεμιγμένο (mixed) μέσα στο ανά MPDU κλειδί κρυπτογράφησης Έτσι, ακόμα και αν αλλάξουμε επιτυχώς το μετρητή TSC, το πλαίσιο δεν θα απενθυλακωθεί σωστά, με αποτέλεσμα να απορριφθεί πριν υπολογισθεί το MIC Slide: 15/31
Εμπιστευτικότητα TKIP: Διαδικασία ανάμιξης κλειδιού TKIP /1 Το TKIP υιοθετεί μια διαδικασία δύο φάσεων Για κάθε κατεύθυνση αεύθυσηεπικοινωνίας να εξασφαλίζεται α διαφορετικό κλειδί Παραγωγή ενός ενδιάμεσου κλειδιού που καλείται TTAK. Η κρυπτογραφική διαδικασία απαιτεί σχετικά λίγους υπολογιστικούς πόρους XOR AND προσθέσεις και μια μη γραμμική αντικατάσταση S-Box Slide: 16/31
Εμπιστευτικότητα TKIP: Διαδικασία ανάμιξης κλειδιού TKIP /2 Πρώτη φάση-παραγωγή κλειδιού ΤΤΑΚ χρήση των τεσσάρων περισσότερο ρ σημαντικών bytes του μετρητή TSC (extended IV) ΤΚ (κλειδί) ΤΑ (διεύθυνση πομπού) Phase_I(TK, TA, TSC_MSB) ΤΤΑΚ Η πρώτη φάση μπορεί να αποθηκευτεί προσωρινά (cached) και ακολούθως να επαναχρησιμοποιηθεί για αρκετά (216) MPDUs στη σειρά. Slide: 17/31
Εμπιστευτικότητα TKIP: Διαδικασία ανάμιξης κλειδιού TKIP /3 TSC2 - TSC5 4 bytes (Extended IV) TSC0, TSC1 2 bytes (WEP IV) 13 bytes WEP TA Φάση Ι TTAK Φάση ΙI TSC1 Seed 6 bytes (Key Mixing) 10 bytes (Key Mixing) TSC0 Per MPDU key 3 bytes WEP IV TK 16 bytes Slide: 18/31
Εμπιστευτικότητα TKIP: Διαδικασία ανάμιξης κλειδιού TKIP /4 Δεύτερη φάση Το κλειδί TTAK αναμιγνύεται με τα δύο λιγότερο σημαντικά (least significant) bytesτου μετρητή TSC (τμήμα του WEP IV) και το κλειδί TK Όπως και η πρώτη φάση έτσι και η παρούσα απαιτεί λίγους υπολογιστικούς πόρους (XOR, λογικές πράξεις AND και OR, πρόσθεση, ολίσθηση προς τα δεξιά (right shift) σε συνδυασμό με αντικαταστάσεις S-Box) Phase_II(TTAK, TK, TSCLSB) Per MPDU Key Το αποτέλεσμα της φάσης αυτής είναι ένα ανά MPDU κλειδί RC4 μήκους 13 bytes και ένα μήκους 3 bytes WEP IV Slide: 19/31
Εμπιστευτικότητα TKIP: Προστασία από επανεκπομπή /5 Το πρωτόκολλο TKIP χρησιμοποιεί το μετρητή TSC για προστασία από επανεκπομπή Πρέπει να προστατεύεται η ακεραιότητα του συγκεκριμένου μετρητή Στο TKIP ακεραιότητα προσφέρεται σε επίπεδο MSDU, ενώ αντίθετα ο μετρητής TSC αυξάνεται μονοτονικά για κάθε MPDU στα πλαίσια κάθε SA (PTKSA, GTKSA, STAkeySA) Για το λόγο αυτό το TKIP προσφέρει μόνο έμμεση προστασία της ακεραιότητας του μετρητή TSC Κάθε STA διατηρεί το δικό του TSC Slide: 20/31
Εμπιστευτικότητα TKIP: Προστασία από επανεκπομπή /6 Ο μετρητής TSC αποτελεί επίσης το IV τα δύο λιγότερο σημαντικά bytes του για το σχηματισμό του WEP IV τα τέσσερα σημαντικότερά του για το σχηματισμό του extended IV Tο TSC περιλαμβάνεται στη διαδικασία ανάμιξης κλειδιού του TKIP αλλαγή στο TSC ενός MPDU θα οδηγούσε αυτόματα σε λανθασμένη παραγωγή του per MPDU key και άρα (πιθανότατα) στη μη επαλήθευση του ICV Ακόμα όμως και σε περίπτωση που η διαδικασία επαλήθευσης του ICV έχει θετικό αποτέλεσμα, θα αποτύχει η αντίστοιχη επαλήθευσης του MIC σε επίπεδο MSDU Slide: 21/31
Εμπιστευτικότητα TKIP: Προστασία από επανεκπομπή /7 Slide: 22/31
Εμπιστευτικότητα TKIP: Προστασία από επανεκπομπή /8 Σύνοψη της προστασίας από επανεκπομπή Ο μετρητής TSC αρχικοποιείται με την τιμή 1 κάθε φορά που δημιουργείται ή ανανεώνεται ένα νέο κλειδί TK. Για κάθε επόμενο TSC στα πλαίσια του ίδιου κλειδιού TK, το TSC αυξάνεται κάθε φορά κατά 1 Όταν όλες οι διαθέσιμες τιμές του TSC εξαντληθούν ή αν συμβεί κάποιο άλλο γεγονός (υποψία ί επίθεσης, εντολή διαχειριστή) το κλειδί TK ανανεώνεται και o μετρητής TSC αρχικοποιείται πάλι με την τιμή 1 Ο δέκτης διατηρεί ένα μετρητή TSC για κάθε ξεχωριστή SA Αν μια ληφθείσα τιμή του TSC έχει επαναληφθεί στο παρελθόν, τότε το MPDU που την περιέχει απορρίπτεται Slide: 23/31
Εμπιστευτικότητα TKIP: Ενθυλάκωση και απενθυλάκωση TKIP /9 Διαδικασία ενθυλάκωσης TKIP 1. Ο αποστολέας υπολογίζει γζ το MIC του MSDU, έχοντας ως είσοδο τις τιμές SA, DA, Priority και τα δεδομένα που περιέχει το ίδιο το MSDU 2. Ο αποστολέας επισυνάπτει το υπολογισθέν MIC στο MSDU και προωθεί το πακέτο στο επίπεδο MAC για επεξεργασία 3. Το επίπεδο MAC πρέπει, αν απαιτείται, να κατατμήσει το MSDU MIC που παρέλαβε σε δύο ή περισσότερα MPDUs και να τα αποστείλει στο TKIP για περαιτέρω επεξεργασία Ένας μονοτονικά αυξανόμενος μετρητής TSC χρησιμοποιείται για κάθε MPDU Slide: 24/31
Εμπιστευτικότητα TKIP: Ενθυλάκωση και απενθυλάκωση TKIP /10 Slide: 25/31
Εμπιστευτικότητα TKIP: Ενθυλάκωση και απενθυλάκωση TKIP /11 Το TKIP ενεργοποιεί τη δύο φάσεων διαδικασία ανάμιξης κλειδιού για τη δημιουργία του κλειδιού κρυπτογράφησης ανά MPDU, το οποίο απαιτείται για την ενθυλάκωση WEP Το αποτέλεσμα της πρώτης φάσης είναι η παράμετρος TTAK Το αποτέλεσμα της δεύτερης φάσης τροφοδοτεί το υλικό ενθυλάκωσης WEP της συσκευής μαζί με το MPDU. Εκτός από το MIC, παράγεται και το σχετικό ανά MPDU ICV Ο μετρητής TSC αυξάνεται κατά 1 για το επόμενο MPDU στη σειρά Slide: 26/31
Εμπιστευτικότητα TKIP: Ενθυλάκωση και απενθυλάκωση TKIP /12 Παραλήπτης-απενθυλάκωση: επαληθεύει ότι το MPDU που μόλις παρέλαβε δεν αποτελεί επανάληψη άλλου, ελέγχοντας το μετρητή TSC. διαδικασία ανάμιξης δύο φάσεων με σκοπό την παραγωγή του κλειδιού κρυπτογράφησης ανά MPDU απενθυλάκωση του MPDU με το WEP. έλεγχος του WEP ICV Αν ο έλεγχος είναι σωστός τότε το MPDU αποστέλλεται για επανασυγκρότηση με τα υπόλοιπα MPDUs του ίδιου MSDU, αλλιώς το MPDU απορρίπτεται Slide: 27/31
Εμπιστευτικότητα TKIP: Ενθυλάκωση και απενθυλάκωση TKIP /13 Υπολογισμό του MIC στο επανασυγκροτημένο MPDU και τα πεδία SA, DA και Priority Αν οι τιμές του ληφθέντος και του εκ νέου υπολογισθέντος MIC ταυτίζονται τότε το MSDU διοχετεύεται στο ανώτερο επίπεδο Ο παραλήπτης ενημερώνει την τιμή του τοπικού μετρητή TSC για την χρησιμοποιούμενη SA, ώστε να ισούται με αυτή του TSC που περιείχε το τελευταίο ληφθέν MPDU Σε περίπτωση που η διαδικασία δ επαλήθευσης του MIC αποτύχει, τότε έχουμε επίθεση αντίμετρα Slide: 28/31
Εμπιστευτικότητα TKIP: Ενθυλάκωση και απενθυλάκωση TKIP /14 Slide: 29/31
Σύνοψη /1 Το TKIP προσπαθεί να διορθώσει τις αδυναμίες του WEP, με τον περιορισμό της επαναχρησιμοποίησης του ίδιου υλικού συσκευών με το WEP Οι λύσεις επικεντρώνονται σε αυξημένο μέγεθος κλειδιών και IV, καθώς και νέων αλγορίθμων μαζί με τεχνικές αντιμέτρων Προσθέτει τέσσερα επιπλέον bytes σε κάθε MPDU, επεκτείνοντας ο μήκος του IV Επαναχρησιμοποιεί δύο bytes από το IV του WEP, προσθέτοντας σε αυτά τα τέσσερα νέα, προκειμένου να δημιουργήσει ένα μετρητή ανά MPDU, μήκους 6bytes Ο μετρητής προσφέρει προστασία από επανεκπομπή Εισάγει ένα νέο αλγόριθμο δύο φάσεων για τη δημιουργία κλειδιού κρυπτογράφησης ανά MPDU, ο οποίος αναμιγνύει το μετρητή TSC, τη δεύθ διεύθυνση του πομπού ού και το κλειδί TK Slide: 30/31
Σύνοψη /2 Slide: 31/31