Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά

Όταν ακούτε τη λέξη «κρυπτογραφία», μερικοί άνθρωποι θυμούνται τον κωδικό πρόσβασής τους στο WiFi, το πράσινο λουκέτο δίπλα στη διεύθυνση του αγαπημένου τους ιστότοπου και πόσο δύσκολο είναι να μπείτε στο email κάποιου άλλου. Άλλοι θυμούνται μια σειρά από τρωτά σημεία τα τελευταία χρόνια με ενδεικτικές συντομογραφίες (DROWN, FREAK, POODLE...), κομψά λογότυπα και μια προειδοποίηση για επείγουσα ενημέρωση του προγράμματος περιήγησής σας.

Η κρυπτογραφία τα καλύπτει όλα, αλλά την ουσία σε ένα άλλο. Το θέμα είναι ότι υπάρχει μια λεπτή γραμμή μεταξύ απλού και σύνθετου. Κάποια πράγματα είναι εύκολο να γίνουν, αλλά δύσκολα συναρμολογούνται ξανά, όπως το σπάσιμο ενός αυγού. Άλλα πράγματα είναι εύκολο να γίνουν, αλλά είναι δύσκολο να τα επιστρέψουμε όταν λείπει ένα μικρό, σημαντικό, κρίσιμο μέρος: για παράδειγμα, το άνοιγμα μιας κλειδωμένης πόρτας όταν το «κρίσιμο μέρος» είναι το κλειδί. Η κρυπτογραφία μελετά αυτές τις καταστάσεις και πώς μπορούν να χρησιμοποιηθούν στην πράξη.

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

Σε αυτή τη σειρά άρθρων, θα εξετάσουμε τους διαφορετικούς τύπους κρυπτογραφικών επιθέσεων, με έμφαση στις βασικές αρχές. Σε γενικές γραμμές και όχι ακριβώς με αυτή τη σειρά, αλλά θα καλύψουμε τα εξής:

  • Βασικές στρατηγικές: ωμή δύναμη, ανάλυση συχνότητας, παρεμβολή, υποβάθμιση και διασταυρούμενα πρωτόκολλα.
  • Επώνυμα τρωτά σημεία: ΦΡΙΚΙ, ΕΓΚΛΗΜΑ, ΠΟΥΤΛ, ΠΝΙΓΙΖΕΙ, Λογτζάμ.
  • Προηγμένες στρατηγικές: επιθέσεις χρησμού (επίθεση Vodenet, επίθεση Kelsey). μέθοδος συνάντησης στη μέση, επίθεση γενεθλίων, στατιστική μεροληψία (διαφορική κρυπτανάλυση, ολοκληρωμένη κρυπτανάλυση κ.λπ.).
  • Επιθέσεις πλευρικών καναλιών και των στενών συγγενών τους, τεχνικές ανάλυσης αποτυχίας.
  • Επιθέσεις στην κρυπτογραφία δημόσιου κλειδιού: ρίζα κύβου, εκπομπή, σχετικό μήνυμα, επίθεση Coppersmith, αλγόριθμος Pohlig-Hellman, κόσκινο αριθμών, επίθεση Wiener, επίθεση Bleichenbacher.

Το συγκεκριμένο άρθρο καλύπτει το παραπάνω υλικό μέχρι την επίθεση του Kelsey.

Βασικές Στρατηγικές

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

Μερικές από αυτές τις επιθέσεις έχουν σε μεγάλο βαθμό ξεπεραστεί και δεν έχουν χρησιμοποιηθεί για πολλά χρόνια. Άλλοι είναι παλιοί που εξακολουθούν να κρυφτούν τακτικά σε ανυποψίαστους προγραμματιστές κρυπτοσυστημάτων στον 21ο αιώνα. Η εποχή της σύγχρονης κρυπτογραφίας μπορεί να θεωρηθεί ότι ξεκίνησε με την έλευση του IBM DES, του πρώτου κρυπτογράφησης που άντεξε κάθε επίθεση σε αυτή τη λίστα.

Απλή ωμή δύναμη

Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλάΤο σχήμα κρυπτογράφησης αποτελείται από δύο μέρη: 1) μια συνάρτηση κρυπτογράφησης που λαμβάνει ένα μήνυμα (απλό κείμενο) σε συνδυασμό με ένα κλειδί και στη συνέχεια παράγει ένα κρυπτογραφημένο μήνυμα—κρυπτογραφημένο κείμενο. 2) μια συνάρτηση αποκρυπτογράφησης που παίρνει το κρυπτογραφημένο κείμενο και το κλειδί και παράγει το απλό κείμενο. Τόσο η κρυπτογράφηση όσο και η αποκρυπτογράφηση πρέπει να είναι εύκολο να υπολογιστούν με το κλειδί — και δύσκολο να υπολογιστούν χωρίς αυτό.

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

Σημειώστε ότι υπάρχουν δύο σιωπηρές υποθέσεις εδώ. Πρώτον, γνωρίζουμε πώς να εκτελούμε την αποκρυπτογράφηση, δηλαδή πώς λειτουργεί το κρυπτοσύστημα. Αυτή είναι μια τυπική υπόθεση όταν συζητάμε την κρυπτογραφία. Η απόκρυψη των λεπτομερειών υλοποίησης του κρυπτογράφησης από τους εισβολείς μπορεί να φαίνεται σαν ένα πρόσθετο μέτρο ασφαλείας, αλλά μόλις ο εισβολέας καταλάβει αυτές τις λεπτομέρειες, αυτή η πρόσθετη ασφάλεια χάνεται αθόρυβα και αμετάκλητα. Ετσι Αρχή Kerchhoffs: Το σύστημα που πέφτει στα χέρια του εχθρού δεν πρέπει να προκαλεί ταλαιπωρία.

Δεύτερον, υποθέτουμε ότι το σωστό κλειδί είναι το μόνο κλειδί που θα οδηγήσει σε μια λογική αποκρυπτογράφηση. Αυτή είναι επίσης μια λογική υπόθεση. ικανοποιείται εάν το κρυπτογραφημένο κείμενο είναι πολύ μεγαλύτερο από το κλειδί και είναι αναγνώσιμο. Αυτό συμβαίνει συνήθως στον πραγματικό κόσμο, εκτός τεράστια μη πρακτικά κλειδιά ή άλλες αηδίες που είναι καλύτερα να αφεθούν στην άκρη (εάν δεν σας αρέσει η απόρριψη των επεξηγήσεων, δείτε το Θεώρημα 3.8 εδώ).

Με βάση τα παραπάνω, προκύπτει μια στρατηγική: ελέγξτε κάθε πιθανό κλειδί. Αυτό ονομάζεται ωμή δύναμη, και μια τέτοια επίθεση είναι εγγυημένα ότι θα λειτουργήσει ενάντια σε όλους τους πρακτικούς κρυπτογράφησης - τελικά. Για παράδειγμα, η ωμή βία είναι αρκετή για να χακάρεις κρυπτογράφηση του Καίσαρα, ένας αρχαίος κρυπτογράφηση όπου το κλειδί είναι ένα γράμμα του αλφαβήτου, υπονοώντας λίγο περισσότερα από 20 πιθανά κλειδιά.

Δυστυχώς για τους κρυπτοαναλυτές, η αύξηση του μεγέθους του κλειδιού είναι μια καλή άμυνα ενάντια στην ωμή βία. Καθώς το μέγεθος του κλειδιού αυξάνεται, ο αριθμός των πιθανών πλήκτρων αυξάνεται εκθετικά. Με τα σύγχρονα μεγέθη κλειδιών, η απλή ωμή βία είναι εντελώς ανέφικτη. Για να καταλάβουμε τι εννοούμε, ας πάρουμε τον ταχύτερο γνωστό υπερυπολογιστή από τα μέσα του 2019: Κορυφή από την IBM, με μέγιστη απόδοση περίπου 1017 λειτουργιών ανά δευτερόλεπτο. Σήμερα, το τυπικό μήκος κλειδιού είναι 128 bit, που σημαίνει 2128 πιθανούς συνδυασμούς. Για να ψάξει όλα τα πλήκτρα, ο υπερυπολογιστής Summit θα χρειαστεί χρόνο που είναι περίπου 7800 φορές μεγαλύτερος από την ηλικία του Σύμπαντος.

Πρέπει η ωμή βία να θεωρείται ιστορικό αξιοπερίεργο; Καθόλου: είναι απαραίτητο συστατικό στο βιβλίο μαγειρικής κρυπτανάλυσης. Σπάνια οι κρυπτογράφηση είναι τόσο αδύναμοι που μπορούν να σπάσουν μόνο με μια έξυπνη επίθεση, χωρίς τη χρήση βίας στον ένα ή τον άλλο βαθμό. Πολλά επιτυχημένα hacks χρησιμοποιούν μια αλγοριθμική μέθοδο για να αποδυναμώσουν πρώτα τον κρυπτογράφηση στόχου και μετά να εκτελέσουν μια επίθεση ωμής βίας.

Ανάλυση συχνότητας

Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλάΤα περισσότερα κείμενα δεν είναι ασυναρτησίες. Για παράδειγμα, στα αγγλικά κείμενα υπάρχουν πολλά γράμματα «e» και τα άρθρα «the». σε δυαδικά αρχεία υπάρχουν πολλά null byte ως padding μεταξύ των τμημάτων των πληροφοριών. Η ανάλυση συχνότητας είναι κάθε επίθεση που εκμεταλλεύεται αυτό το γεγονός.

Το κανονικό παράδειγμα ενός κρυπτογραφήματος που είναι ευάλωτο σε αυτή την επίθεση είναι ο απλός κρυπτογράφησης αντικατάστασης. Σε αυτόν τον κρυπτογράφηση, το κλειδί είναι ένας πίνακας με όλα τα γράμματα να αντικατασταθούν. Για παράδειγμα, το 'g' αντικαθίσταται από το 'h', το 'o' αντικαθίσταται από το j, οπότε η λέξη 'go' γίνεται 'hj'. Αυτός ο κρυπτογράφησης είναι δύσκολο να γίνει ωμή, επειδή υπάρχουν τόσοι πολλοί πιθανοί πίνακες αναζήτησης. Αν σας ενδιαφέρουν τα μαθηματικά, το πραγματικό μήκος του κλειδιού είναι περίπου 88 bit: αυτό είναι
Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά. Αλλά η ανάλυση συχνότητας συνήθως κάνει τη δουλειά γρήγορα.

Θεωρήστε το ακόλουθο κρυπτοκείμενο επεξεργασμένο με έναν απλό κρυπτογράφηση αντικατάστασης:

XDYLY ALY UGLY XDWNKE WN DYAJYN ANF YALXD DGLAXWG XDAN ALY FLYAUX GR WN OGQL ZDWBGEGZDO

Από Y εμφανίζεται συχνά, καθώς και στο τέλος πολλών λέξεων, μπορούμε να υποθέσουμε διστακτικά ότι αυτό είναι το γράμμα e:

XDeLe ALe UGLE XDWNKE WN DeAJeN ANF eALXD DGLAXWG XDAN ALe FleAUX GR WN OGQL ZDWBGEGZDO

ζευγάρι XD επαναλαμβάνεται στην αρχή πολλών λέξεων. Συγκεκριμένα, ο συνδυασμός XDeLe υποδηλώνει ξεκάθαρα τη λέξη these ή there, ας συνεχίσουμε λοιπόν:

theLe ALe UGLE thWNKE WN heAJeN ANF eALth DGLAtWG από την ALe FleAUt GR WN OGQL ZDWBGEGZDO

Ας υποθέσουμε περαιτέρω ότι L αντιστοιχεί r, A - a και ούτω καθεξής. Θα χρειαστούν πιθανώς μερικές προσπάθειες, αλλά σε σύγκριση με μια επίθεση με πλήρη ωμή βία, αυτή η επίθεση επαναφέρει το αρχικό κείμενο σε ελάχιστο χρόνο:

υπάρχουν περισσότερα πράγματα στον ουρανό και στη γη οράτιο από όσα ονειρεύεστε στη φιλοσοφία σας

Για κάποιους, η επίλυση τέτοιων «κρυπτογραφημάτων» είναι ένα συναρπαστικό χόμπι.

Η ιδέα της ανάλυσης συχνότητας είναι πιο θεμελιώδης από ό,τι φαίνεται με την πρώτη ματιά. Και ισχύει για πολύ πιο σύνθετους κρυπτογράφους. Σε όλη την ιστορία, διάφορα σχέδια κρυπτογράφησης προσπάθησαν να αντιμετωπίσουν μια τέτοια επίθεση χρησιμοποιώντας «πολυαλφαβητική αντικατάσταση». Εδώ, κατά τη διαδικασία κρυπτογράφησης, ο πίνακας αντικατάστασης γραμμάτων τροποποιείται με πολύπλοκους αλλά προβλέψιμους τρόπους που εξαρτώνται από το κλειδί. Όλοι αυτοί οι κρυπτογράφοι θεωρήθηκαν δύσκολο να σπάσουν ταυτόχρονα. και όμως η μέτρια ανάλυση συχνότητας τελικά τους νίκησε όλους.

Ο πιο φιλόδοξος πολυαλφαβητικός κρυπτογράφηση στην ιστορία, και πιθανώς ο πιο διάσημος, ήταν ο κρυπτογράφησης Enigma του Β' Παγκοσμίου Πολέμου. Ήταν σχετικά περίπλοκο σε σύγκριση με τους προκατόχους του, αλλά μετά από πολλή σκληρή δουλειά, οι Βρετανοί κρυπταναλυτές το έσπασαν χρησιμοποιώντας ανάλυση συχνότητας. Φυσικά, δεν μπορούσαν να αναπτύξουν μια κομψή επίθεση όπως αυτή που φαίνεται παραπάνω. έπρεπε να συγκρίνουν γνωστά ζεύγη απλού κειμένου και κρυπτογραφημένου κειμένου (η λεγόμενη "επίθεση απλού κειμένου"), προκαλώντας ακόμη και τους χρήστες του Enigma να κρυπτογραφήσουν ορισμένα μηνύματα και να αναλύσουν το αποτέλεσμα (η "επιλογή απλού κειμένου"). Αλλά αυτό δεν διευκόλυνε τη μοίρα των ηττημένων εχθρικών στρατών και των βυθισμένων υποβρυχίων.

Μετά από αυτόν τον θρίαμβο, η ανάλυση συχνότητας εξαφανίστηκε από την ιστορία της κρυπτανάλυσης. Οι κρυπτογράφηση στη σύγχρονη ψηφιακή εποχή έχουν σχεδιαστεί για να λειτουργούν με bits, όχι με γράμματα. Το πιο σημαντικό, αυτοί οι κρυπτογράφηση σχεδιάστηκαν με τη σκοτεινή κατανόηση αυτού που αργότερα έγινε γνωστό ως ο νόμος του Schneier: Οποιοσδήποτε μπορεί να δημιουργήσει έναν αλγόριθμο κρυπτογράφησης που ο ίδιος δεν μπορεί να παραβιάσει. Δεν αρκεί για το σύστημα κρυπτογράφησης φαινόταν δύσκολο: για να αποδείξει την αξία του, πρέπει να υποβληθεί σε ανελέητο έλεγχο ασφαλείας από πολλούς κρυπτοαναλυτές που θα κάνουν ό,τι μπορούν για να σπάσουν τον κρυπτογράφηση.

Προκαταρκτικοί υπολογισμοί

Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλάΑς πάρουμε μια υποθετική πόλη Precom Heights, πληθυσμού 200. Κάθε σπίτι στην πόλη περιέχει κατά μέσο όρο τιμαλφή αξίας 000 δολαρίων, αλλά όχι περισσότερα από 30 δολάρια Η αγορά ασφαλείας στο Precom μονοπωλείται από την ACME Industries, η οποία παράγει τις θρυλικές κλειδαριές πόρτας Coyote™. Σύμφωνα με την ανάλυση των ειδικών, μια κλειδαριά κατηγορίας Coyote μπορεί να σπάσει μόνο από μια πολύ περίπλοκη υποθετική μηχανή, η δημιουργία της οποίας θα απαιτούσε περίπου πέντε χρόνια και επένδυση 000 δολαρίων. Είναι η πόλη ασφαλής;

Πιθανότατα όχι. Τελικά, θα εμφανιστεί ένας αρκετά φιλόδοξος εγκληματίας. Θα συλλογιστεί ως εξής: «Ναι, θα επιβαρυνθώ με μεγάλα προκαταβολικά έξοδα. Πέντε χρόνια αναμονής ασθενών και 50 $. Αλλά όταν τελειώσω, θα έχω πρόσβαση σε όλο τον πλούτο αυτής της πόλης. Αν παίξω σωστά τα χαρτιά μου, αυτή η επένδυση θα αποδώσει πολλές φορές».

Το ίδιο ισχύει και στην κρυπτογραφία. Οι επιθέσεις εναντίον ενός συγκεκριμένου κρυπτογράφησης υπόκεινται σε μια ανελέητη ανάλυση κόστους-οφέλους. Εάν η αναλογία είναι ευνοϊκή, η επίθεση δεν θα συμβεί. Αλλά οι επιθέσεις που λειτουργούν εναντίον πολλών πιθανών θυμάτων ταυτόχρονα σχεδόν πάντα αποδίδουν, οπότε η καλύτερη σχεδιαστική πρακτική είναι να υποθέσουμε ότι ξεκίνησαν από την πρώτη μέρα. Έχουμε ουσιαστικά μια κρυπτογραφική εκδοχή του νόμου του Μέρφι: «Οτιδήποτε μπορεί πραγματικά να σπάσει το σύστημα θα σπάσει το σύστημα».

Το απλούστερο παράδειγμα ενός κρυπτοσυστήματος που είναι ευάλωτο σε μια επίθεση προυπολογισμού είναι ένας κρυπτογράφηση χωρίς κλειδί σταθερού κλειδιού. Αυτό συνέβη με Η κρυπτογράφηση του Καίσαρα, το οποίο απλώς μετατοπίζει κάθε γράμμα του αλφαβήτου τρία γράμματα προς τα εμπρός (ο πίνακας είναι κυκλωμένος, επομένως το τελευταίο γράμμα του αλφαβήτου κρυπτογραφείται τρίτο). Εδώ πάλι μπαίνει στο παιχνίδι η αρχή Kerchhoffs: όταν ένα σύστημα χακαριστεί, χακάρεται για πάντα.

Η ιδέα είναι απλή. Ακόμη και ένας αρχάριος προγραμματιστής κρυπτοσυστημάτων πιθανότατα θα αναγνωρίσει την απειλή και θα προετοιμαστεί ανάλογα. Εξετάζοντας την εξέλιξη της κρυπτογραφίας, τέτοιες επιθέσεις ήταν ακατάλληλες για τους περισσότερους κρυπτογράφους, από τις πρώτες βελτιωμένες εκδόσεις του κρυπτογράφησης του Καίσαρα μέχρι την παρακμή των πολυαλφαβητικών κρυπτογράφησης. Τέτοιες επιθέσεις επέστρεψαν μόνο με την έλευση της σύγχρονης εποχής της κρυπτογραφίας.

Αυτή η επιστροφή οφείλεται σε δύο παράγοντες. Πρώτον, τελικά εμφανίστηκαν αρκετά πολύπλοκα κρυπτοσυστήματα, όπου η πιθανότητα εκμετάλλευσης μετά από hacking δεν ήταν προφανής. Δεύτερον, η κρυπτογραφία έγινε τόσο διαδεδομένη που εκατομμύρια λαϊκοί έπαιρναν αποφάσεις κάθε μέρα σχετικά με το πού και ποια μέρη της κρυπτογραφίας να επαναχρησιμοποιηθούν. Χρειάστηκε αρκετός χρόνος μέχρι οι ειδικοί να συνειδητοποιήσουν τους κινδύνους και να σήμανε συναγερμό.

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

Παρεμβολή

Εδώ είναι ο διάσημος ντετέκτιβ Σέρλοκ Χολμς, ο οποίος εκτελεί μια επίθεση παρεμβολής στον δύσμοιρο Δρ Γουάτσον:

Αμέσως μάντεψα ότι ήρθατε από το Αφγανιστάν... Η σκέψη μου ήταν η εξής: «Αυτός ο άντρας είναι γιατρός στον τύπο, αλλά έχει στρατιωτικό χαρακτήρα. Στρατιωτικός γιατρός λοιπόν. Μόλις έφτασε από τις τροπικές περιοχές - το πρόσωπό του είναι σκούρο, αλλά αυτή δεν είναι η φυσική απόχρωση του δέρματός του, αφού οι καρποί του είναι πολύ πιο λευκοί. Το πρόσωπο είναι ταλαιπωρημένο - προφανώς, έχει υποφέρει πολύ και έχει υποφέρει από ασθένεια. Τραυματίστηκε στο αριστερό του χέρι - το κρατάει ακίνητο και λίγο αφύσικα. Πού στους τροπικούς θα μπορούσε ένας Άγγλος στρατιωτικός γιατρός να αντέξει τις κακουχίες και να τραυματιστεί; Φυσικά, στο Αφγανιστάν». Ολόκληρη η σκέψη δεν κράτησε ούτε δευτερόλεπτο. Και έτσι είπα ότι ήρθατε από το Αφγανιστάν και ξαφνιαστήκατε.

Ο Χολμς μπορούσε να εξαγάγει πολύ λίγες πληροφορίες από κάθε αποδεικτικό στοιχείο ξεχωριστά. Μπορούσε να καταλήξει στο συμπέρασμά του μόνο εξετάζοντάς τα όλα μαζί. Μια επίθεση παρεμβολής λειτουργεί με παρόμοιο τρόπο εξετάζοντας γνωστά ζεύγη απλού κειμένου και κρυπτοκειμένου που προκύπτουν από το ίδιο κλειδί. Από κάθε ζευγάρι εξάγονται μεμονωμένες παρατηρήσεις που επιτρέπουν να εξαχθεί ένα γενικό συμπέρασμα για το κλειδί. Όλα αυτά τα συμπεράσματα είναι ασαφή και φαίνονται άχρηστα μέχρι να φτάσουν ξαφνικά σε μια κρίσιμη μάζα και να οδηγήσουν στο μόνο δυνατό συμπέρασμα: όσο απίστευτο κι αν είναι, πρέπει να είναι αληθινό. Μετά από αυτό, είτε το κλειδί αποκαλύπτεται, είτε η διαδικασία αποκρυπτογράφησης γίνεται τόσο εκλεπτυσμένη που μπορεί να αναπαραχθεί.

Ας δείξουμε με ένα απλό παράδειγμα πώς λειτουργεί η παρεμβολή. Ας πούμε ότι θέλουμε να διαβάσουμε το προσωπικό ημερολόγιο του εχθρού μας, του Μπομπ. Κρυπτογραφεί κάθε αριθμό στο ημερολόγιό του χρησιμοποιώντας ένα απλό κρυπτοσύστημα για το οποίο έμαθε από μια διαφήμιση στο περιοδικό "A Mock of Cryptography". Το σύστημα λειτουργεί ως εξής: Ο Μπομπ επιλέγει δύο αριθμούς που του αρέσουν: Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά и Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά. Από εδώ και πέρα, για να κρυπτογραφήσετε οποιονδήποτε αριθμό Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά, υπολογίζει Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά. Για παράδειγμα, αν ο Μπομπ επέλεγε Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά и Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά, μετά τον αριθμό Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά θα κρυπτογραφηθεί ως Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά.

Ας πούμε ότι στις 28 Δεκεμβρίου παρατηρήσαμε ότι ο Μπομπ γρατζουνούσε κάτι στο ημερολόγιό του. Όταν τελειώσει, θα το σηκώσουμε ήσυχα και θα παρακολουθήσουμε την τελευταία καταχώρηση:

Дата: 235/520

Αγαπητό ημερολόγιο,

Σήμερα ήταν μια καλή μέρα. Διά μέσου 64 σήμερα έχω ραντεβού με την Alisa, η οποία μένει σε ένα διαμέρισμα 843. Πραγματικά πιστεύω ότι μπορεί να είναι 26!

Δεδομένου ότι είμαστε πολύ σοβαροί να ακολουθήσουμε τον Μπομπ στο ραντεβού του (είμαστε και οι δύο 15 σε αυτό το σενάριο), είναι σημαντικό να γνωρίζετε την ημερομηνία καθώς και τη διεύθυνση της Αλίκης. Ευτυχώς, παρατηρούμε ότι το κρυπτοσύστημα του Bob είναι ευάλωτο σε επίθεση παρεμβολής. Μπορεί να μην ξέρουμε Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά и Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά, αλλά γνωρίζουμε τη σημερινή ημερομηνία, επομένως έχουμε δύο ζεύγη απλού κειμένου-κρυπτογραφημένου κειμένου. Δηλαδή το ξέρουμε Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά κρυπτογραφημένο σε Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλάΚαι Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά - στις Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά. Αυτό θα γράψουμε:

Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά

Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά

Δεδομένου ότι είμαστε 15 ετών, γνωρίζουμε ήδη για ένα σύστημα δύο εξισώσεων με δύο αγνώστους, το οποίο σε αυτή την κατάσταση είναι αρκετό για να βρούμε Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά и Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά χωρίς κανένα πρόβλημα. Κάθε ζεύγος απλού κειμένου-κρυπτογραφημένου κειμένου θέτει έναν περιορισμό στο κλειδί του Bob και οι δύο περιορισμοί μαζί είναι επαρκείς για την πλήρη ανάκτηση του κλειδιού. Στο παράδειγμά μας η απάντηση είναι Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά и Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά (στο Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά, έτσι ώστε 26 στο ημερολόγιο αντιστοιχεί η λέξη «το ένα», δηλαδή «το ίδιο» - περίπου. λωρίδα).

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

Οι νεοφερμένοι συχνά παραπονιούνται ότι η κρυπτογραφία είναι «η τέχνη του να σχεδιάζεις πράγματα ώστε να είναι όσο το δυνατόν πιο άσχημα». Οι επιθέσεις παρεμβολής πιθανώς ευθύνονται σε μεγάλο βαθμό. Ο Μπομπ μπορεί είτε να χρησιμοποιήσει ένα κομψό μαθηματικό σχέδιο είτε να κρατήσει το ραντεβού του με την Αλίκη απόρρητο—αλλά δυστυχώς, συνήθως δεν μπορείτε να το έχετε και με τους δύο τρόπους. Αυτό θα γίνει πολύ σαφές όταν τελικά φτάσουμε στο θέμα της κρυπτογραφίας δημόσιου κλειδιού.

Διασταυρούμενο πρωτόκολλο/υποβάθμιση

Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλάΣτο Now You See Me (2013), μια ομάδα ψευδαισθήσεων επιχειρεί να εξαπατήσει τον διεφθαρμένο ασφαλιστικό μεγιστάνα Άρθουρ Τρέσλερ από ολόκληρη την περιουσία του. Για να αποκτήσουν πρόσβαση στον τραπεζικό λογαριασμό του Άρθουρ, οι παραισθησιολόγοι πρέπει είτε να δώσουν το όνομα χρήστη και τον κωδικό πρόσβασής του είτε να τον αναγκάσουν να εμφανιστεί αυτοπροσώπως στην τράπεζα και να λάβει μέρος στο πρόγραμμα.

Και οι δύο επιλογές είναι πολύ δύσκολες. Τα παιδιά έχουν συνηθίσει να παίζουν στη σκηνή και να μην συμμετέχουν σε επιχειρήσεις πληροφοριών. Επιλέγουν λοιπόν την τρίτη πιθανή επιλογή: ο συνεργός τους τηλεφωνεί στην τράπεζα και προσποιείται τον Άρθουρ. Η τράπεζα κάνει πολλές ερωτήσεις για να επαληθεύσει την ταυτότητα, όπως το όνομα του θείου και το όνομα του πρώτου κατοικίδιου. τους ήρωές μας εκ των προτέρων εξάγουν εύκολα αυτές τις πληροφορίες από τον Άρθουρ χρησιμοποιώντας έξυπνη κοινωνική μηχανική. Από αυτό το σημείο και μετά, η εξαιρετική ασφάλεια κωδικού πρόσβασης δεν έχει πλέον σημασία.

(Σύμφωνα με έναν αστικό μύθο που έχουμε επαληθεύσει και επαληθεύσει προσωπικά, ο κρυπτογράφος Eli Beaham συνάντησε κάποτε έναν ταμία στην τράπεζα που επέμενε να θέσει μια ερώτηση ασφαλείας. Όταν ο ταμίας ρώτησε το όνομα της γιαγιάς του από τη μητέρα του, ο Beaham άρχισε να υπαγορεύει: "Capital X, μικρό υ, τρία...»).

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

Σε ορισμένες περίπλοκες περιπτώσεις, δεν αρκεί η απλή επικοινωνία με τον διακομιστή χρησιμοποιώντας ένα ασθενέστερο πρωτόκολλο, αλλά απαιτείται η ακούσια συμμετοχή ενός νόμιμου πελάτη. Αυτό μπορεί να οργανωθεί χρησιμοποιώντας τη λεγόμενη επίθεση υποβάθμισης. Για να καταλάβουμε αυτή την επίθεση, ας υποθέσουμε ότι οι ψευδαισθαντές μας έχουν πιο δύσκολο έργο από ό,τι στην ταινία. Ας υποθέσουμε ότι ένας τραπεζικός υπάλληλος (ταμίας) και ο Άρθουρ αντιμετώπισαν κάποιες απρόβλεπτες συνθήκες, με αποτέλεσμα τον ακόλουθο διάλογο:

Διαρρήκτης: Γειά σου? Αυτός είναι ο Άρθουρ Τρέσλερ. Θα ήθελα να επαναφέρω τον κωδικό πρόσβασής μου.

Ταμίας: Εξαιρετική. Ρίξτε μια ματιά στο προσωπικό σας βιβλίο μυστικών κωδικών, σελίδα 28, λέξη 3. Όλα τα ακόλουθα μηνύματα θα κρυπτογραφηθούν χρησιμοποιώντας τη συγκεκριμένη λέξη ως κλειδί. PQJGH. LOTJNAM PGGY MXVRL ZZLQ SRIU HHNMLPPPV…

Διαρρήκτης: Γεια σου, περίμενε, περίμενε. Είναι πραγματικά απαραίτητο αυτό; Δεν μπορούμε να μιλάμε σαν κανονικοί άνθρωποι;

Ταμίας: Δεν συνιστώ να το κάνετε αυτό.

Διαρρήκτης: Απλώς... κοίτα, είχα μια άθλια μέρα, εντάξει; Είμαι VIP πελάτης και δεν έχω διάθεση να σκάψω αυτά τα ηλίθια βιβλία κωδικών.

Ταμίας: Πρόστιμο. Αν επιμένετε, κύριε Tressler. Εσυ τι θελεις?

Διαρρήκτης: Παρακαλώ, θα ήθελα να δωρίσω όλα τα χρήματά μου στο Arthur Tressler National Victims Fund.

(Παύση).

Ταμίας: Είναι ξεκάθαρο τώρα. Δώστε το PIN σας για μεγάλες συναλλαγές.

Διαρρήκτης: Τι μου;

Ταμίας: Κατόπιν προσωπικού σας αιτήματος, συναλλαγές αυτού του μεγέθους απαιτούν PIN για μεγάλες συναλλαγές. Αυτός ο κωδικός σας δόθηκε όταν ανοίξατε τον λογαριασμό σας.

Διαρρήκτης:... Το εχασα. Είναι πραγματικά απαραίτητο αυτό; Δεν μπορείτε απλώς να εγκρίνετε τη συμφωνία;

Ταμίας: Οχι. Λυπάμαι, κύριε Tressler. Και πάλι, αυτό είναι το μέτρο ασφαλείας που ζητήσατε. Εάν θέλετε, μπορούμε να στείλουμε έναν νέο κωδικό PIN στο γραμματοκιβώτιό σας.

Οι ήρωές μας αναβάλλουν την επιχείρηση. Κρυφακούουν πολλές από τις μεγάλες συναλλαγές του Tressler, ελπίζοντας να ακούσουν το PIN. αλλά κάθε φορά που η συζήτηση μετατρέπεται σε κωδικοποιημένη ασυναρτησία πριν ειπωθεί οτιδήποτε ενδιαφέρον. Επιτέλους, μια ωραία μέρα, το σχέδιο μπαίνει σε εφαρμογή. Περιμένουν υπομονετικά τη στιγμή που ο Tressler πρέπει να κάνει μια μεγάλη συναλλαγή μέσω τηλεφώνου, μπαίνει στη γραμμή και μετά...

Tressler: Γειά σου. Θα ήθελα να ολοκληρώσω μια απομακρυσμένη συναλλαγή, παρακαλώ.

Ταμίας: Εξαιρετική. Ρίξτε μια ματιά στο προσωπικό σας βιβλίο μυστικών κωδικών, σελίδα...

(Ο διαρρήκτης πατάει το κουμπί· η φωνή του ταμία μετατρέπεται σε ακατάληπτο θόρυβο).

Ταμίας: - Το #@$#@$#*@$$@#* θα κρυπτογραφηθεί με αυτή τη λέξη ως κλειδί. AAAYRR PLRQRZ MMNJK LOJBAN…

Tressler: Συγγνώμη, δεν κατάλαβα καλά. Πάλι? Σε ποια σελίδα; Ποια λεξη?

Ταμίας: Αυτή είναι η σελίδα @#$@#*$)#*#@()#@$(#@*$(#@*.

Tressler: Τι;

Ταμίας: Λέξη αριθμός είκοσι @$#@$#%#$.

Tressler: Σοβαρά! Αρκετά πια! Εσείς και το πρωτόκολλο ασφαλείας σας είστε λίγο τσίρκο. Ξέρω ότι μπορείς να μου μιλήσεις κανονικά.

Ταμίας: Δεν προτείνω…

Tressler: Και δεν σας συμβουλεύω να χάσετε τον χρόνο μου. Δεν θέλω να ακούσω περισσότερα για αυτό μέχρι να διορθώσετε τα προβλήματα της τηλεφωνικής γραμμής σας. Μπορούμε να ολοκληρώσουμε αυτή τη συμφωνία ή όχι;

Ταμίας:… Ναί. Πρόστιμο. Εσυ τι θελεις?

Tressler: Θα ήθελα να μεταφέρω 20 $ στην Lord Business Investments, αριθμός λογαριασμού...

Ταμίας: Ενα ΛΕΠΤΟ ΠΑΡΑΚΑΛΩ. Είναι μεγάλη υπόθεση. Δώστε το PIN σας για μεγάλες συναλλαγές.

Tressler: Τι? Α, ακριβώς. 1234.

Εδώ είναι μια επίθεση προς τα κάτω. Το πιο αδύναμο πρωτόκολλο «απλώς μιλήστε απευθείας» είχε οραματιστεί ως επιλογή σε περίπτωση ανάγκης. Και όμως εδώ είμαστε.

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

Αυτό ακριβώς συνέβη με το πρωτόκολλο SSLv2 το 1995. Η κυβέρνηση των ΗΠΑ έχει αρχίσει εδώ και καιρό να βλέπει την κρυπτογραφία ως ένα όπλο που κρατιέται καλύτερα μακριά από ξένους και εγχώριους εχθρούς. Τα κομμάτια του κώδικα εγκρίθηκαν μεμονωμένα για εξαγωγή από τις Ηνωμένες Πολιτείες, συχνά με την προϋπόθεση ότι ο αλγόριθμος αποδυναμωνόταν σκόπιμα. Το Netscape, ο προγραμματιστής του πιο δημοφιλούς προγράμματος περιήγησης, του Netscape Navigator, έλαβε άδεια για SSLv2 μόνο με το εγγενώς ευάλωτο κλειδί RSA 512-bit (και 40-bit για RC4).

Μέχρι το τέλος της χιλιετίας, οι κανόνες είχαν χαλαρώσει και η πρόσβαση στη σύγχρονη κρυπτογράφηση έγινε ευρέως διαθέσιμη. Ωστόσο, οι πελάτες και οι διακομιστές υποστηρίζουν εξασθενημένη κρυπτογραφία "εξαγωγής" εδώ και χρόνια λόγω της ίδιας αδράνειας που διατηρεί την υποστήριξη για οποιοδήποτε σύστημα παλαιού τύπου. Οι πελάτες πίστευαν ότι μπορεί να συναντήσουν έναν διακομιστή που δεν υποστηρίζει τίποτα άλλο. Οι διακομιστές έκαναν το ίδιο. Φυσικά, το πρωτόκολλο SSL υπαγορεύει ότι οι πελάτες και οι διακομιστές δεν πρέπει ποτέ να χρησιμοποιούν ένα αδύναμο πρωτόκολλο όταν είναι διαθέσιμο ένα καλύτερο. Αλλά η ίδια υπόθεση ίσχυε για τον Tressler και την τράπεζά του.

Αυτή η θεωρία βρήκε τον δρόμο της σε δύο επιθέσεις υψηλού προφίλ που κλόνισαν την ασφάλεια του πρωτοκόλλου SSL το 2015, που ανακαλύφθηκαν και οι δύο από ερευνητές της Microsoft και INRIA. Αρχικά, οι λεπτομέρειες της επίθεσης FREAK αποκαλύφθηκαν τον Φεβρουάριο, ενώ τρεις μήνες αργότερα ακολούθησε μια άλλη παρόμοια επίθεση που ονομάζεται Logjam, την οποία θα συζητήσουμε λεπτομερέστερα όταν προχωρήσουμε στις επιθέσεις στην κρυπτογραφία δημόσιου κλειδιού.

Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλάΤρωτό FREAK (γνωστό και ως "Smack TLS") ήρθε στο φως όταν οι ερευνητές ανέλυσαν τις υλοποιήσεις πελάτη/διακομιστή TLS και ανακάλυψαν ένα περίεργο σφάλμα. Σε αυτές τις υλοποιήσεις, εάν ο πελάτης δεν ζητά καν να χρησιμοποιήσει αδύναμη κρυπτογραφία εξαγωγής, αλλά ο διακομιστής εξακολουθεί να ανταποκρίνεται με τέτοια κλειδιά, ο πελάτης λέει "Ωχ ​​καλά" και μεταβαίνει στην αδύναμη σουίτα κρυπτογράφησης.

Εκείνη την εποχή, η κρυπτογραφία εξαγωγής θεωρούνταν ευρέως ξεπερασμένη και απεριόριστη, επομένως η επίθεση προκάλεσε πλήρες σοκ και επηρέασε πολλούς σημαντικούς τομείς, συμπεριλαμβανομένων των τοποθεσιών του Λευκού Οίκου, της IRS και της NSA. Ακόμη χειρότερα, αποδεικνύεται ότι πολλοί ευάλωτοι διακομιστές βελτιστοποιούσαν την απόδοση επαναχρησιμοποιώντας τα ίδια κλειδιά αντί να δημιουργούν νέα για κάθε περίοδο λειτουργίας. Αυτό κατέστησε δυνατή, μετά την υποβάθμιση του πρωτοκόλλου, τη διεξαγωγή μιας επίθεσης προ-υπολογισμού: το σπάσιμο ενός κλειδιού παρέμεινε σχετικά ακριβό (100 $ και 12 ώρες τη στιγμή της δημοσίευσης), αλλά το πρακτικό κόστος επίθεσης στη σύνδεση μειώθηκε σημαντικά. Αρκεί να μαντέψετε το κλειδί του διακομιστή μία φορά και να σπάσετε την κρυπτογράφηση για όλες τις επόμενες συνδέσεις από εκείνη τη στιγμή.

Και πριν προχωρήσουμε, υπάρχει μια προχωρημένη επίθεση που πρέπει να αναφερθεί...

Επίθεση Oracle

Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλάMoxie Marlinspike πιο γνωστός ως ο πατέρας της εφαρμογής ανταλλαγής μηνυμάτων κρυπτογράφησης μεταξύ πλατφορμών Signal. αλλά λατρεύουμε προσωπικά μια από τις λιγότερο γνωστές καινοτομίες του: αρχή της κρυπτογραφικής καταστροφής (Cryptographic Doom Principle). Για να παραφράσουμε λίγο, μπορούμε να πούμε το εξής: «Εάν το πρωτόκολλο λειτουργεί οποιαδήποτε εκτελεί μια κρυπτογραφική λειτουργία σε ένα μήνυμα από μια δυνητικά κακόβουλη πηγή και συμπεριφέρεται διαφορετικά ανάλογα με το αποτέλεσμα, είναι καταδικασμένη». Ή σε πιο έντονη μορφή: "Μην παίρνετε πληροφορίες από τον εχθρό για επεξεργασία, και αν πρέπει, τότε τουλάχιστον μην δείξετε το αποτέλεσμα."

Ας αφήσουμε κατά μέρος τις υπερχειλίσεις buffer, τις εγχύσεις εντολών και τα παρόμοια. είναι εκτός του πεδίου αυτής της συζήτησης. Η παραβίαση της «αρχής της καταστροφής» οδηγεί σε σοβαρές παραβιάσεις κρυπτογράφησης λόγω του γεγονότος ότι το πρωτόκολλο συμπεριφέρεται ακριβώς όπως αναμένεται.

Για παράδειγμα, ας πάρουμε ένα πλασματικό σχέδιο με έναν ευάλωτο κρυπτογράφηση αντικατάστασης και, στη συνέχεια, ας δείξουμε μια πιθανή επίθεση. Ενώ έχουμε ήδη δει μια επίθεση σε έναν κρυπτογράφηση αντικατάστασης χρησιμοποιώντας ανάλυση συχνότητας, δεν είναι απλώς «ένας άλλος τρόπος για να σπάσετε τον ίδιο κρυπτογράφηση». Αντίθετα, οι επιθέσεις μαντείου είναι μια πολύ πιο σύγχρονη εφεύρεση που εφαρμόζεται σε πολλές περιπτώσεις όπου η ανάλυση συχνότητας αποτυγχάνει, και θα δούμε μια επίδειξη αυτού στην επόμενη ενότητα. Εδώ ο απλός κρυπτογράφηση επιλέγεται μόνο για να γίνει το παράδειγμα πιο σαφές.

Έτσι, η Alice και ο Bob επικοινωνούν χρησιμοποιώντας έναν απλό κρυπτογράφηση αντικατάστασης χρησιμοποιώντας ένα κλειδί που είναι γνωστό μόνο σε αυτούς. Είναι πολύ αυστηροί ως προς τη διάρκεια των μηνυμάτων: έχουν μήκος ακριβώς 20 χαρακτήρες. Έτσι, συμφώνησαν ότι αν κάποιος ήθελε να στείλει ένα πιο σύντομο μήνυμα, θα έπρεπε να προσθέσει κάποιο εικονικό κείμενο στο τέλος του μηνύματος για να το κάνει ακριβώς 20 χαρακτήρες. Μετά από λίγη συζήτηση, αποφάσισαν ότι θα δέχονταν μόνο τα ακόλουθα εικονικά κείμενα: a, bb, ccc, dddd κ.λπ. Έτσι, είναι γνωστό ένα εικονικό κείμενο οποιουδήποτε απαιτούμενου μήκους.

Όταν η Alice ή ο Bob λαμβάνει ένα μήνυμα, ελέγχουν πρώτα ότι το μήνυμα έχει το σωστό μήκος (20 χαρακτήρες) και ότι το επίθημα είναι το σωστό εικονικό κείμενο. Εάν αυτό δεν συμβαίνει, τότε απαντούν με κατάλληλο μήνυμα σφάλματος. Εάν το μήκος του κειμένου και το εικονικό κείμενο είναι εντάξει, ο παραλήπτης διαβάζει ο ίδιος το μήνυμα και στέλνει μια κρυπτογραφημένη απάντηση.

Κατά τη διάρκεια της επίθεσης, ο εισβολέας υποδύεται τον Μπομπ και στέλνει ψεύτικα μηνύματα στην Αλίκη. Τα μηνύματα είναι εντελώς ανοησίες - ο εισβολέας δεν έχει το κλειδί και επομένως δεν μπορεί να πλαστογραφήσει ένα ουσιαστικό μήνυμα. Όμως, δεδομένου ότι το πρωτόκολλο παραβιάζει την αρχή της καταστροφής, ένας εισβολέας μπορεί να παγιδεύσει την Alice ώστε να αποκαλύψει τις βασικές πληροφορίες, όπως φαίνεται παρακάτω.

Διαρρήκτης: PREWF ZHJKL MMMN. LA

Αλίκη: Μη έγκυρο εικονικό κείμενο.

Διαρρήκτης: PREWF ZHJKL MMMN. LB

Αλίκη: Μη έγκυρο εικονικό κείμενο.

Διαρρήκτης: PREWF ZHJKL MMMN. LC

Αλίκη: ILCT? TLCT RUWO PUT KCAW CPS OWPOW!

Ο διαρρήκτης δεν έχει ιδέα τι είπε μόλις η Αλίκη, αλλά σημειώνει ότι το σύμβολο C πρέπει να αντιστοιχεί a, αφού η Αλίκη δέχτηκε το εικονικό κείμενο.

Διαρρήκτης: REWF ZHJKL MMMN. LAA

Αλίκη: Μη έγκυρο εικονικό κείμενο.

Διαρρήκτης: REWF ZHJKL MMMN. LBB

Αλίκη: Μη έγκυρο εικονικό κείμενο.

Μετά από πολλές προσπάθειες...

Διαρρήκτης: REWF ZHJKL MMMN. LGG

Αλίκη: Μη έγκυρο εικονικό κείμενο.

Διαρρήκτης: REWF ZHJKL MMMN. LHH

Αλίκη: TLQO JWCRO FQAW SUY LCR C OWQXYJW. IW PWWR TU TCFA CHUYT TLQO JWFCTQUPOLQZ.

Και πάλι, ο εισβολέας δεν έχει ιδέα τι μόλις είπε η Αλίκη, αλλά σημειώνει ότι το H πρέπει να ταιριάζει με το b αφού η Αλίκη αποδέχτηκε το εικονικό κείμενο.

Και ούτω καθεξής μέχρι ο εισβολέας να μάθει την έννοια του κάθε χαρακτήρα.

Με την πρώτη ματιά, η μέθοδος μοιάζει με επιλεγμένη επίθεση απλού κειμένου. Στο τέλος, ο εισβολέας επιλέγει τα κρυπτογραφημένα κείμενα και ο διακομιστής τα επεξεργάζεται υπάκουα. Η κύρια διαφορά που κάνει αυτές τις επιθέσεις βιώσιμες στον πραγματικό κόσμο είναι ότι ο εισβολέας δεν χρειάζεται πρόσβαση στην πραγματική μεταγραφή—αρκεί μια απάντηση διακομιστή, ακόμη και τόσο αβλαβής όσο το "Μη έγκυρο εικονικό κείμενο".

Αν και αυτή η συγκεκριμένη επίθεση είναι διδακτική, μην κολλάτε πολύ στις ιδιαιτερότητες του συστήματος "εικονικού κειμένου", του συγκεκριμένου κρυπτοσυστήματος που χρησιμοποιείται ή της ακριβούς αλληλουχίας των μηνυμάτων που στέλνει ο εισβολέας. Η βασική ιδέα είναι πώς η Αλίκη αντιδρά διαφορετικά με βάση τις ιδιότητες του απλού κειμένου, και το κάνει χωρίς να επαληθεύει ότι το αντίστοιχο κρυπτογραφημένο κείμενο προήλθε στην πραγματικότητα από ένα αξιόπιστο μέρος. Έτσι, η Αλίκη επιτρέπει στον εισβολέα να αποσπάσει μυστικές πληροφορίες από τις απαντήσεις της.

Υπάρχουν πολλά που μπορούν να αλλάξουν σε αυτό το σενάριο. Τα σύμβολα στα οποία αντιδρά η Αλίκη ή η ίδια η διαφορά στη συμπεριφορά της ή ακόμα και το κρυπτοσύστημα που χρησιμοποιείται. Αλλά η αρχή θα παραμείνει η ίδια και η επίθεση στο σύνολό της θα παραμείνει βιώσιμη με τη μια ή την άλλη μορφή. Η βασική εφαρμογή αυτής της επίθεσης βοήθησε στην αποκάλυψη πολλών σφαλμάτων ασφαλείας, τα οποία θα εξετάσουμε σύντομα. αλλά πρώτα υπάρχουν μερικά θεωρητικά μαθήματα που πρέπει να αντληθούν. Πώς να χρησιμοποιήσετε αυτό το πλασματικό "σενάριο Alice" σε μια επίθεση που μπορεί να λειτουργήσει σε έναν πραγματικό σύγχρονο κρυπτογράφηση; Είναι εφικτό αυτό, έστω και στη θεωρία;

Το 1998, ο Ελβετός κρυπτογράφος Daniel Bleichenbacher απάντησε καταφατικά σε αυτή την ερώτηση. Επέδειξε μια επίθεση χρησμού στο ευρέως χρησιμοποιούμενο κρυπτοσύστημα δημόσιου κλειδιού RSA, χρησιμοποιώντας ένα συγκεκριμένο σχήμα μηνυμάτων. Σε ορισμένες υλοποιήσεις RSA, ο διακομιστής αποκρίνεται με διαφορετικά μηνύματα σφάλματος ανάλογα με το εάν το απλό κείμενο ταιριάζει με το σχήμα ή όχι. αυτό ήταν αρκετό για να πραγματοποιηθεί η επίθεση.

Τέσσερα χρόνια αργότερα, το 2002, ο Γάλλος κρυπτογράφος Serge Vaudenay έδειξε μια επίθεση χρησμού σχεδόν πανομοιότυπη με αυτή που περιγράφηκε στο παραπάνω σενάριο Alice - με τη διαφορά ότι αντί για μια πλασματική κρυπτογράφηση, έσπασε μια ολόκληρη αξιοσέβαστη κατηγορία σύγχρονων κρυπτογράφησης που χρησιμοποιούνται στην πραγματικότητα. Ειδικότερα, η επίθεση του Vaudenay στοχεύει κρυπτογράφους σταθερού μεγέθους εισόδου ("κρυπτογράφηση μπλοκ") όταν χρησιμοποιούνται στη λεγόμενη "λειτουργία κρυπτογράφησης CBC" και με ένα συγκεκριμένο δημοφιλές σχήμα padding, βασικά ισοδύναμο με αυτό στο σενάριο Alice.

Επίσης το 2002, ο Αμερικανός κρυπτογράφος John Kelsey συνέγραψε Δίδυμος — πρότεινε διάφορες επιθέσεις μαντείου σε συστήματα που συμπιέζουν τα μηνύματα και στη συνέχεια τα κρυπτογραφούν. Το πιο αξιοσημείωτο από αυτά ήταν μια επίθεση που εκμεταλλεύτηκε το γεγονός ότι είναι συχνά δυνατό να συναχθεί το αρχικό μήκος του απλού κειμένου από το μήκος του κρυπτογραφημένου κειμένου. Θεωρητικά, αυτό επιτρέπει μια επίθεση χρησμού που ανακτά τμήματα του αρχικού απλού κειμένου.

Παρακάτω παρέχουμε μια πιο λεπτομερή περιγραφή των επιθέσεων Vaudenay και Kelsey (θα δώσουμε μια πιο λεπτομερή περιγραφή της επίθεσης Bleichenbacher όταν προχωρήσουμε σε επιθέσεις στην κρυπτογραφία δημόσιου κλειδιού). Παρά τις καλύτερες προσπάθειές μας, το κείμενο γίνεται κάπως τεχνικό. οπότε αν τα παραπάνω είναι αρκετά για εσάς, παραλείψτε τις επόμενες δύο ενότητες.

Επίθεση του Βοντένε

Για να κατανοήσουμε την επίθεση του Vaudenay, πρέπει πρώτα να μιλήσουμε λίγο περισσότερο για τους κρυπτογράφησης μπλοκ και τους τρόπους κρυπτογράφησης. Ένας "κρυπτογράφηση μπλοκ" είναι, όπως αναφέρθηκε, ένας κρυπτογράφηση που παίρνει ένα κλειδί και μια είσοδο ορισμένου σταθερού μήκους ("μήκος μπλοκ") και παράγει ένα κρυπτογραφημένο μπλοκ ίδιου μήκους. Οι κρυπτογράφηση μπλοκ χρησιμοποιούνται ευρέως και θεωρούνται σχετικά ασφαλείς. Ο πλέον συνταξιούχος DES, που θεωρείται ο πρώτος σύγχρονος κρυπτογράφηση, ήταν ένας μπλοκ κρυπτογράφησης. Όπως αναφέρθηκε παραπάνω, το ίδιο ισχύει και για το AES, το οποίο χρησιμοποιείται ευρέως σήμερα.

Δυστυχώς, οι κωδικοί μπλοκ έχουν μια κραυγαλέα αδυναμία. Το τυπικό μέγεθος μπλοκ είναι 128 bit ή 16 χαρακτήρες. Προφανώς, η σύγχρονη κρυπτογραφία απαιτεί εργασία με μεγαλύτερα δεδομένα εισόδου, και εδώ μπαίνουν στο παιχνίδι οι τρόποι κρυπτογράφησης. Η λειτουργία κρυπτογράφησης είναι ουσιαστικά μια πειρατεία: είναι ένας τρόπος για να εφαρμόσετε με κάποιο τρόπο έναν κρυπτογράφηση μπλοκ που δέχεται μόνο είσοδο συγκεκριμένου μεγέθους σε είσοδο αυθαίρετου μήκους.

Η επίθεση του Vodene επικεντρώνεται στον δημοφιλή τρόπο λειτουργίας CBC (Cipher Block Chaining). Η επίθεση αντιμετωπίζει τον υποκείμενο κρυπτογράφηση μπλοκ ως ένα μαγικό, απόρθητο μαύρο κουτί και παρακάμπτει εντελώς την ασφάλειά του.

Ακολουθεί ένα διάγραμμα που δείχνει πώς λειτουργεί η λειτουργία CBC:

Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά

Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά

Το κυκλωμένο συν σημαίνει τη λειτουργία XOR (αποκλειστικό OR). Για παράδειγμα, λαμβάνεται το δεύτερο μπλοκ κρυπτογραφημένου κειμένου:

  1. Εκτελώντας μια λειτουργία XOR στο δεύτερο μπλοκ απλού κειμένου με το πρώτο μπλοκ κρυπτογραφημένου κειμένου.
  2. Κρυπτογράφηση του μπλοκ που προκύπτει με έναν κρυπτογράφηση μπλοκ χρησιμοποιώντας ένα κλειδί.

Εφόσον η CBC χρησιμοποιεί τόσο βαριά τη λειτουργία δυαδικού XOR, ας αφιερώσουμε λίγο χρόνο για να θυμηθούμε μερικές από τις ιδιότητές της:

  • Ανικανότητα: Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά
  • Ανταλλαγή: Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά
  • Συνεταιρισμός: Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά
  • Αυτοαναστρεψιμότητα: Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά
  • Μέγεθος byte: byte n από Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά = (byte n από Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά) Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά (byte n από Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά)

Συνήθως, αυτές οι ιδιότητες υποδηλώνουν ότι αν έχουμε μια εξίσωση που περιλαμβάνει πράξεις XOR και μια άγνωστη, μπορεί να λυθεί. Για παράδειγμα, αν το γνωρίζουμε Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά με το άγνωστο Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά και διάσημος Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά и Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά, τότε μπορούμε να βασιστούμε στις προαναφερθείσες ιδιότητες για να λύσουμε την εξίσωση για Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά. Εφαρμόζοντας XOR και στις δύο πλευρές της εξίσωσης με Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά, παίρνουμε Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά. Όλα αυτά θα γίνουν πολύ επίκαιρα σε λίγο.

Υπάρχουν δύο μικρές διαφορές και μία σημαντική διαφορά μεταξύ του σεναρίου μας Alice και της επίθεσης του Vaudenay. Δύο μικρά:

  • Στο σενάριο, η Alice περίμενε ότι τα απλά κείμενα θα τελείωναν με τους χαρακτήρες a, bb, ccc και ούτω καθεξής. Στην επίθεση Wodene, το θύμα αντ' αυτού αναμένει από τα απλά κείμενα να τελειώνουν N φορές με το N byte (δηλαδή, δεκαεξαδικό 01 ή 02 02, ή 03 03 03, κ.ο.κ.). Αυτή είναι καθαρά αισθητική διαφορά.
  • Στο σενάριο της Αλίκης, ήταν εύκολο να πει κανείς εάν η Αλίκη είχε αποδεχτεί το μήνυμα με την απάντηση "Λανθασμένο εικονικό κείμενο". Στην επίθεση του Vodene, απαιτείται περισσότερη ανάλυση και η ακριβής εφαρμογή από την πλευρά του θύματος είναι σημαντική. αλλά για λόγους συντομίας, ας το πάρουμε ως δεδομένο ότι αυτή η ανάλυση είναι ακόμα δυνατή.

Βασική διαφορά:

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

Αυτή η σημαντική διαφορά είναι το τελευταίο κομμάτι του παζλ για να κατανοήσουμε την επίθεση του Vaudenay, οπότε ας σκεφτούμε για λίγο γιατί και πώς θα ήταν ακόμη δυνατή μια επίθεση χρησμού στο CBC.

Ας υποθέσουμε ότι μας δίνεται ένα κρυπτογραφημένο κείμενο CBC 247 μπλοκ και θέλουμε να το αποκρυπτογραφήσουμε. Μπορούμε να στείλουμε ψεύτικα μηνύματα στον διακομιστή, όπως θα μπορούσαμε να στείλουμε ψεύτικα μηνύματα στην Αλίκη πριν. Ο διακομιστής θα αποκρυπτογραφήσει τα μηνύματα για εμάς, αλλά δεν θα εμφανίσει την αποκρυπτογράφηση - αντ 'αυτού, και πάλι, όπως και με την Alice, ο διακομιστής θα αναφέρει μόνο ένα bit πληροφοριών: εάν το απλό κείμενο έχει έγκυρη συμπλήρωση ή όχι.

Σκεφτείτε ότι στο σενάριο της Αλίκης είχαμε τις ακόλουθες σχέσεις:

$$display$$text{SIMPLE_SUBSTITUTION}(text{ciphertext},text{key}) = text{plaintext}$$display$$

Ας το ονομάσουμε αυτό «εξίσωση της Αλίκης». Ελέγχαμε το κρυπτογραφημένο κείμενο. ο διακομιστής (Alice) διέρρευσε ασαφείς πληροφορίες σχετικά με το ληφθέν απλό κείμενο. και αυτό μας επέτρεψε να αντλήσουμε πληροφορίες για τον τελευταίο παράγοντα - το κλειδί. Κατ' αναλογία, εάν μπορέσουμε να βρούμε μια τέτοια σύνδεση για το σενάριο CBC, ίσως μπορέσουμε να εξαγάγουμε κάποιες μυστικές πληροφορίες και εκεί.

Ευτυχώς, υπάρχουν πραγματικά σχέσεις εκεί έξω που μπορούμε να χρησιμοποιήσουμε. Εξετάστε την έξοδο της τελικής κλήσης για την αποκρυπτογράφηση ενός μπλοκ κρυπτογράφησης και υποδηλώστε αυτήν την έξοδο ως Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά. Υποδηλώνουμε επίσης μπλοκ απλού κειμένου Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά και μπλοκ κρυπτογραφημένου κειμένου Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά. Ρίξτε μια άλλη ματιά στο διάγραμμα CBC και παρατηρήστε τι συμβαίνει:

Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά

Ας το ονομάσουμε αυτό «εξίσωση CBC».

Στο σενάριο της Alice, παρακολουθώντας το κρυπτογραφημένο κείμενο και παρακολουθώντας την αντίστοιχη διαρροή απλού κειμένου, μπορέσαμε να πραγματοποιήσουμε μια επίθεση που ανακτούσε τον τρίτο όρο στην εξίσωση - το κλειδί. Στο σενάριο CBC, παρακολουθούμε επίσης το κρυπτογραφημένο κείμενο και παρατηρούμε διαρροές πληροφοριών στο αντίστοιχο απλό κείμενο. Εάν ισχύει η αναλογία, μπορούμε να λάβουμε πληροφορίες σχετικά Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά.

Ας υποθέσουμε ότι έχουμε ανακαινιστεί πραγματικά Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά, Τι τότε? Λοιπόν, τότε μπορούμε να εκτυπώσουμε ολόκληρο το τελευταίο μπλοκ απλού κειμένου ταυτόχρονα (Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά), απλά εισάγοντας Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά (που έχουμε) και
έλαβε Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά στην εξίσωση CBC.

Τώρα που είμαστε αισιόδοξοι για το συνολικό σχέδιο επίθεσης, ήρθε η ώρα να επεξεργαστούμε τις λεπτομέρειες. Παρακαλούμε δώστε προσοχή στο πώς ακριβώς διαρρέουν οι πληροφορίες απλού κειμένου στον διακομιστή. Στο σενάριο της Alice, η διαρροή προέκυψε επειδή η Alice θα απαντούσε με το σωστό μήνυμα μόνο εάν το $inline$text{SIMPLE_SUBSTITUTION}(text{ciphertext},text{key})$inline$ τελείωνε με τη γραμμή abb, και ούτω καθεξής, αλλά οι πιθανότητες να προκληθούν τυχαία αυτές οι συνθήκες ήταν πολύ μικρές). Παρόμοια με το CBC, ο διακομιστής δέχεται το padding εάν και μόνο εάν Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά τελειώνει σε δεκαεξαδικό 01. Ας δοκιμάσουμε λοιπόν το ίδιο κόλπο: να στέλνουμε ψεύτικα κρυπτογραφημένα κείμενα με τις δικές μας ψεύτικες τιμές Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλάμέχρι ο διακομιστής να αποδεχθεί τη γέμιση.

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

Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά

Τώρα χρησιμοποιούμε την ιδιότητα XOR byte-byte:

Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά

Γνωρίζουμε τον πρώτο και τον τρίτο όρο. Και έχουμε ήδη δει ότι αυτό μας επιτρέπει να ανακτήσουμε τον υπόλοιπο όρο - το τελευταίο byte από Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά:

Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά

Αυτό μας δίνει επίσης το τελευταίο byte του τελικού μπλοκ απλού κειμένου μέσω της εξίσωσης CBC και της ιδιότητας byte-by-byte.

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

Για να το καταλάβετε, σημειώστε πρώτα ότι το αποτέλεσμα της απόδοσης της σωστής τιμής του τελευταίου byte είναι Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά έχουμε μια νέα ικανότητα. Τώρα, όταν σφυρηλατούμε κρυπτογραφημένα κείμενα, μπορούμε να χειριστούμε το τελευταίο byte του αντίστοιχου απλού κειμένου. Και πάλι, αυτό σχετίζεται με την εξίσωση CBC και την ιδιότητα byte-by-byte:

Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά

Εφόσον γνωρίζουμε πλέον τον δεύτερο όρο, μπορούμε να χρησιμοποιήσουμε τον έλεγχό μας στον πρώτο για να ελέγξουμε τον τρίτο. Υπολογίζουμε απλά:

Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά

Δεν μπορούσαμε να το κάνουμε αυτό πριν γιατί δεν είχαμε ακόμα το τελευταίο byte Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά.

Πώς θα μας βοηθήσει αυτό; Ας υποθέσουμε ότι τώρα δημιουργούμε όλα τα κρυπτογραφημένα κείμενα έτσι ώστε στα αντίστοιχα απλά κείμενα το τελευταίο byte να είναι ίσο με 02. Ο διακομιστής δέχεται πλέον την αναπλήρωση μόνο εάν το απλό κείμενο τελειώνει με 02 02. Εφόσον διορθώσαμε το τελευταίο byte, αυτό θα συμβεί μόνο εάν το προτελευταίο byte του απλού κειμένου είναι επίσης 02. Συνεχίζουμε να στέλνουμε πλαστά μπλοκ κρυπτογραφημένου κειμένου, αλλάζοντας το προτελευταίο byte, έως ότου ο διακομιστής αποδεχτεί την αναπλήρωση για ένα από αυτά. Σε αυτό το σημείο παίρνουμε:

Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά

Και επαναφέρουμε το προτελευταίο byte Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά όπως και το τελευταίο αποκαταστάθηκε. Συνεχίζουμε με το ίδιο πνεύμα: διορθώνουμε τα δύο τελευταία byte του απλού κειμένου σε 03 03, επαναλαμβάνουμε αυτήν την επίθεση για το τρίτο byte από το τέλος και ούτω καθεξής, τελικά επαναφέροντας πλήρως Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά.

Τι γίνεται με το υπόλοιπο κείμενο; Σημειώστε ότι η τιμή Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά είναι στην πραγματικότητα $inline$text{BLOCK_DECRYPT}(text{key},C_{247})$inline$. Μπορούμε να βάλουμε οποιοδήποτε άλλο μπλοκ αντί Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά, και η επίθεση θα είναι ακόμα επιτυχής. Στην πραγματικότητα, μπορούμε να ζητήσουμε από τον διακομιστή να κάνει $inline$text{BLOCK_DECRYPT}$inline$ για τυχόν δεδομένα. Σε αυτό το σημείο, το παιχνίδι έχει τελειώσει - μπορούμε να αποκρυπτογραφήσουμε οποιοδήποτε κρυπτογραφημένο κείμενο (ρίξτε μια άλλη ματιά στο διάγραμμα αποκρυπτογράφησης CBC για να το δείτε και σημειώστε ότι το IV είναι δημόσιο).

Η συγκεκριμένη μέθοδος παίζει καθοριστικό ρόλο στην επίθεση του χρησμού που θα συναντήσουμε αργότερα.

Η επίθεση του Κέλσι

Ο συμπαθής μας John Kelsey παρουσίασε τις αρχές που διέπουν πολλές πιθανές επιθέσεις, όχι μόνο τις λεπτομέρειες μιας συγκεκριμένης επίθεσης σε μια συγκεκριμένη κρυπτογράφηση. Του Άρθρο 2002 του έτους είναι μια μελέτη πιθανών επιθέσεων σε κρυπτογραφημένα συμπιεσμένα δεδομένα. Πιστεύατε ότι οι πληροφορίες ότι τα δεδομένα συμπιέστηκαν πριν από την κρυπτογράφηση δεν ήταν αρκετές για να πραγματοποιηθεί μια επίθεση; Αποδεικνύεται ότι είναι αρκετό.

Αυτό το εκπληκτικό αποτέλεσμα οφείλεται σε δύο αρχές. Πρώτον, υπάρχει μια ισχυρή συσχέτιση μεταξύ του μήκους του απλού κειμένου και του μήκους του κρυπτογραφημένου κειμένου. για πολλούς κρυπτογράφους ακριβής ισότητα. Δεύτερον, όταν εκτελείται συμπίεση, υπάρχει επίσης μια ισχυρή συσχέτιση μεταξύ του μήκους του συμπιεσμένου μηνύματος και του βαθμού "θορύβου" του απλού κειμένου, δηλαδή της αναλογίας των μη επαναλαμβανόμενων χαρακτήρων (ο τεχνικός όρος είναι "υψηλή εντροπία" ).

Για να δείτε την αρχή σε δράση, εξετάστε δύο απλά κείμενα:

Απλό κείμενο 1: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Απλό κείμενο 2: ATVXCAGTRSVPTVVULSJQHGEYCMQPCRQBGCYIXCFJGJ

Ας υποθέσουμε ότι και τα δύο απλά κείμενα είναι συμπιεσμένα και στη συνέχεια κρυπτογραφημένα. Λαμβάνετε δύο προκύπτοντα κρυπτογραφημένα κείμενα και πρέπει να μαντέψετε ποιο κρυπτογραφημένο κείμενο ταιριάζει με ποιο απλό κείμενο:

Κρυπτοκείμενο 1: PVOVEYBPJDPVANEAWVGCIUWAABCIYIKOOURMYDTA

Κρυπτοκείμενο 2: DWKJZXYU

Η απάντηση είναι ξεκάθαρη. Μεταξύ των απλών κειμένων, μόνο το απλό κείμενο 1 μπορούσε να συμπιεστεί στο πενιχρό μήκος του δεύτερου κρυπτογραφημένου κειμένου. Το καταλάβαμε χωρίς να γνωρίζουμε τίποτα για τον αλγόριθμο συμπίεσης, το κλειδί κρυπτογράφησης ή ακόμα και τον ίδιο τον κρυπτογράφηση. Σε σύγκριση με την ιεραρχία των πιθανών κρυπτογραφικών επιθέσεων, αυτό είναι κάπως τρελό.

Ο Kelsey επισημαίνει περαιτέρω ότι υπό ορισμένες ασυνήθιστες συνθήκες αυτή η αρχή μπορεί επίσης να χρησιμοποιηθεί για την πραγματοποίηση μιας επίθεσης χρησμού. Συγκεκριμένα, περιγράφει πώς ένας εισβολέας μπορεί να ανακτήσει το μυστικό απλό κείμενο εάν μπορεί να αναγκάσει τον διακομιστή να κρυπτογραφήσει τα δεδομένα της φόρμας (το απλό κείμενο ακολουθούμενο από Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλάενώ έχει τον έλεγχο Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά και μπορεί με κάποιο τρόπο να ελέγξει το μήκος του κρυπτογραφημένου αποτελέσματος.

Και πάλι, όπως και άλλες επιθέσεις χρησμού, έχουμε τη σχέση:

Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά

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

Για να δείξουμε πώς μπορεί να λειτουργήσει μια τέτοια επίθεση, ας χρησιμοποιήσουμε ένα πλασματικό σχήμα συμπίεσης που μόλις καταλήξαμε: TOYZIP. Αναζητά γραμμές κειμένου που έχουν εμφανιστεί προηγουμένως στο κείμενο και τις αντικαθιστά με τρία byte κράτησης θέσης που υποδεικνύουν πού να βρεθεί μια προηγούμενη εμφάνιση της γραμμής και πόσες φορές εμφανίζεται εκεί. Για παράδειγμα, η γραμμή helloworldhello μπορεί να συμπιεστεί σε helloworld[00][00][05] Μήκος 13 byte σε σύγκριση με τα αρχικά 15 byte.

Ας υποθέσουμε ότι ένας εισβολέας προσπαθεί να ανακτήσει το απλό κείμενο μιας φόρμας password=..., όπου ο ίδιος ο κωδικός πρόσβασης είναι άγνωστος. Σύμφωνα με το μοντέλο επίθεσης του Kelsey, ένας εισβολέας θα μπορούσε να ζητήσει από τον διακομιστή να συμπιέσει και στη συνέχεια να κρυπτογραφήσει μηνύματα φόρμας (απλό κείμενο ακολουθούμενο από Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά), όπου Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά - ελεύθερο κείμενο. Όταν ο διακομιστής ολοκληρώσει τη λειτουργία του, αναφέρει το μήκος του αποτελέσματος. Η επίθεση έχει ως εξής:

Διαρρήκτης: Συμπιέστε και κρυπτογραφήστε το απλό κείμενο χωρίς καμία προσθήκη.

Υπηρέτης: Μήκος αποτελέσματος 14.

Διαρρήκτης: Συμπιέστε και κρυπτογραφήστε το απλό κείμενο στο οποίο επισυνάπτεται password=a.

Υπηρέτης: Μήκος αποτελέσματος 18.

Το κράκερ σημειώνει: [αρχικό 14] + [τρία byte που αντικαταστάθηκαν password=] + a

Διαρρήκτης: Συμπιέστε και κρυπτογραφήστε το απλό κείμενο στο οποίο προστίθεται password=b.

Υπηρέτης: Μήκος αποτελέσματος 18.

Διαρρήκτης: Συμπιέστε και κρυπτογραφήστε το απλό κείμενο στο οποίο προστίθεται password=с.

Υπηρέτης: Μήκος αποτελέσματος 17.

Το κράκερ σημειώνει: [αρχικό 14] + [τρία byte που αντικαταστάθηκαν password=c]. Αυτό προϋποθέτει ότι το αρχικό απλό κείμενο περιέχει τη συμβολοσειρά password=c. Δηλαδή, ο κωδικός πρόσβασης αρχίζει με ένα γράμμα c

Διαρρήκτης: Συμπιέστε και κρυπτογραφήστε το απλό κείμενο στο οποίο προστίθεται password=сa.

Υπηρέτης: Μήκος αποτελέσματος 18.

Το κράκερ σημειώνει: [αρχικό 14] + [τρία byte που αντικαταστάθηκαν password=с] + a

Διαρρήκτης: Συμπιέστε και κρυπτογραφήστε το απλό κείμενο στο οποίο προστίθεται password=сb.

Υπηρέτης: Μήκος αποτελέσματος 18.

(… Κάποια στιγμή αργότερα…)

Διαρρήκτης: Συμπιέστε και κρυπτογραφήστε το απλό κείμενο στο οποίο προστίθεται password=со.

Υπηρέτης: Μήκος αποτελέσματος 17.

Το κράκερ σημειώνει: [αρχικό 14] + [τρία byte που αντικαταστάθηκαν password=co]. Χρησιμοποιώντας την ίδια λογική, ο εισβολέας καταλήγει στο συμπέρασμα ότι ο κωδικός πρόσβασης αρχίζει με τα γράμματα co

Και ούτω καθεξής μέχρι να αποκατασταθεί ολόκληρος ο κωδικός πρόσβασης.

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

Τρωτά σημεία μάρκας: CRIME, POODLE, DROWN

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

ΕΓΚΛΗΜΑ

Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλάΕάν η επίθεση στοχεύει το πρόγραμμα περιήγησης και το δίκτυο του θύματος, κάποια πράγματα θα είναι ευκολότερα και άλλα πιο δύσκολα. Για παράδειγμα, είναι εύκολο να δείτε την κίνηση του θύματος: απλώς καθίστε μαζί του στο ίδιο καφέ με WiFi. Για αυτόν τον λόγο, τα πιθανά θύματα (δηλαδή σε όλους) συνιστάται γενικά να χρησιμοποιούν μια κρυπτογραφημένη σύνδεση. Θα είναι πιο δύσκολο, αλλά και πάλι δυνατό, να κάνετε αιτήματα HTTP για λογαριασμό του θύματος σε ιστότοπο τρίτων (για παράδειγμα, Google). Ο εισβολέας πρέπει να παρασύρει το θύμα σε μια κακόβουλη ιστοσελίδα με ένα σενάριο που κάνει το αίτημα. Το πρόγραμμα περιήγησης ιστού θα παρέχει αυτόματα το κατάλληλο cookie περιόδου λειτουργίας.

Αυτό φαίνεται εκπληκτικό. Αν ο Μπομπ πήγαινε στο evil.com, θα μπορούσε το σενάριο σε αυτόν τον ιστότοπο απλώς να ζητήσει από την Google να στείλει μέσω email τον κωδικό πρόσβασης του Μπομπ [email protected]? Λοιπόν, θεωρητικά ναι, αλλά στην πραγματικότητα όχι. Αυτό το σενάριο ονομάζεται επίθεση πλαστογραφίας αιτήματος μεταξύ τοποθεσιών (Συγχώνευση αιτήσεων μεταξύ ιστότοπων, CSRF), και ήταν δημοφιλές γύρω στα μέσα της δεκαετίας του '90. Σήμερα αν evil.com δοκιμάσει αυτό το τέχνασμα, η Google (ή οποιοσδήποτε ιστότοπος που σέβεται τον εαυτό του) θα απαντήσει συνήθως με: "Τέλεια, αλλά το διακριτικό CSRF για αυτήν τη συναλλαγή θα είναι... χμ... три триллиона и семь. Παρακαλώ επαναλάβετε αυτόν τον αριθμό." Τα σύγχρονα προγράμματα περιήγησης έχουν κάτι που ονομάζεται "πολιτική ίδιας προέλευσης", σύμφωνα με την οποία τα σενάρια στον ιστότοπο Α δεν έχουν πρόσβαση σε πληροφορίες που αποστέλλονται από τον ιστότοπο Β. Έτσι το σενάριο στο evil.com μπορεί να στείλει αιτήματα σε google.com, αλλά δεν μπορεί να διαβάσει τις απαντήσεις ή να ολοκληρώσει πραγματικά τη συναλλαγή.

Πρέπει να τονίσουμε ότι εκτός εάν ο Bob χρησιμοποιεί κρυπτογραφημένη σύνδεση, όλες αυτές οι προστασίες δεν έχουν νόημα. Ένας εισβολέας μπορεί απλώς να διαβάσει την κυκλοφορία του Bob και να ανακτήσει το cookie περιόδου λειτουργίας της Google. Με αυτό το cookie, θα ανοίξει απλώς μια νέα καρτέλα Google χωρίς να αφήσει το δικό του πρόγραμμα περιήγησης και θα υποδυθεί τον Bob χωρίς να αντιμετωπίσει ενοχλητικές πολιτικές ίδιας προέλευσης. Αλλά, δυστυχώς για έναν διαρρήκτη, αυτό γίνεται όλο και λιγότερο συνηθισμένο. Το Διαδίκτυο στο σύνολό του έχει από καιρό κηρύξει πόλεμο στις μη κρυπτογραφημένες συνδέσεις και η εξερχόμενη κίνηση του Μπομπ είναι πιθανώς κρυπτογραφημένη, είτε του αρέσει είτε όχι. Επιπλέον, από την αρχή της εφαρμογής του πρωτοκόλλου, η κίνηση ήταν επίσης συρρικνώθηκε πριν την κρυπτογράφηση? αυτή ήταν κοινή πρακτική για τη μείωση της καθυστέρησης.

Εδώ είναι που μπαίνει στο παιχνίδι ΕΓΚΛΗΜΑ (Compression Ratio Infoleak Made Easy, απλή διαρροή μέσω του λόγου συμπίεσης). Η ευπάθεια αποκαλύφθηκε τον Σεπτέμβριο του 2012 από τους ερευνητές ασφαλείας Juliano Rizzo και Thai Duong. Έχουμε ήδη εξετάσει ολόκληρη τη θεωρητική βάση, η οποία μας επιτρέπει να καταλάβουμε τι έκαναν και πώς. Ένας εισβολέας θα μπορούσε να αναγκάσει το πρόγραμμα περιήγησης του Bob να στείλει αιτήματα στην Google και στη συνέχεια να ακούσει τις απαντήσεις στο τοπικό δίκτυο σε συμπιεσμένη, κρυπτογραφημένη μορφή. Επομένως έχουμε:

Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλά

Εδώ ο εισβολέας ελέγχει το αίτημα και έχει πρόσβαση στον ανιχνευτή κίνησης, συμπεριλαμβανομένου του μεγέθους του πακέτου. Το φανταστικό σενάριο της Κέλσι ζωντάνεψε.

Κατανοώντας τη θεωρία, οι συντάκτες του CRIME δημιούργησαν ένα exploit που μπορεί να κλέψει cookies περιόδου λειτουργίας για ένα ευρύ φάσμα ιστότοπων, συμπεριλαμβανομένων των Gmail, Twitter, Dropbox και Github. Η ευπάθεια επηρέασε τα περισσότερα σύγχρονα προγράμματα περιήγησης ιστού, με αποτέλεσμα να κυκλοφορήσουν ενημερώσεις κώδικα που έθαψαν σιωπηλά τη δυνατότητα συμπίεσης στο SSL, έτσι ώστε να μην χρησιμοποιείται καθόλου. Το μόνο που προστατεύτηκε από την ευπάθεια ήταν ο αξιοσέβαστος Internet Explorer, ο οποίος δεν χρησιμοποίησε ποτέ καθόλου συμπίεση SSL.

ΣΓΟΥΡΟΜΑΛΛΟ ΣΚΥΛΑΚΙ

Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλάΤον Οκτώβριο του 2014, η ομάδα ασφαλείας της Google έκανε πάταγο στην κοινότητα ασφαλείας. Κατάφεραν να εκμεταλλευτούν μια ευπάθεια στο πρωτόκολλο SSL που είχε διορθωθεί πριν από περισσότερα από δέκα χρόνια.

Αποδεικνύεται ότι ενώ οι διακομιστές εκτελούν το λαμπερό νέο TLSv1.2, πολλοί έχουν αφήσει υποστήριξη για το παλαιού τύπου SSLv3 για συμβατότητα προς τα πίσω με τον Internet Explorer 6. Έχουμε ήδη μιλήσει για επιθέσεις υποβάθμισης, ώστε να μπορείτε να φανταστείτε τι συμβαίνει. Μια καλά ενορχηστρωμένη δολιοφθορά του πρωτοκόλλου χειραψίας και οι διακομιστές είναι έτοιμοι να επιστρέψουν στο παλιό καλό SSLv3, ουσιαστικά αναιρώντας τα τελευταία 15 χρόνια έρευνας για την ασφάλεια.

Για το ιστορικό πλαίσιο, Ακολουθεί μια σύντομη περίληψη της ιστορίας του SSL έως την έκδοση 2 από τον Matthew Green:

Το Transport Layer Security (TLS) είναι το πιο σημαντικό πρωτόκολλο ασφαλείας στο Διαδίκτυο. [..] σχεδόν κάθε συναλλαγή που κάνετε στο Διαδίκτυο εξαρτάται από το TLS. [..] Αλλά το TLS δεν ήταν πάντα TLS. Το πρωτόκολλο ξεκίνησε τη ζωή του Επικοινωνία Netscape που ονομάζεται "Secure Sockets Layer" ή SSL. Φήμες λένε ότι η πρώτη έκδοση του SSL ήταν τόσο τρομερή που οι προγραμματιστές συγκέντρωσαν όλες τις εκτυπώσεις του κώδικα και τις έθαψαν σε μια μυστική χωματερή στο Νέο Μεξικό. Κατά συνέπεια, η πρώτη δημόσια διαθέσιμη έκδοση του SSL είναι στην πραγματικότητα έκδοση SSL 2. Είναι αρκετά τρομακτικό και [..] ήταν προϊόν των μέσων της δεκαετίας του '90, το οποίο οι σύγχρονοι κρυπτογράφοι θεωρούν ως "σκοτεινές εποχές της κρυπτογραφίας" Πολλές από τις πιο αποτρόπαιες κρυπτογραφικές επιθέσεις που γνωρίζουμε σήμερα δεν έχουν ακόμη ανακαλυφθεί. Ως αποτέλεσμα, οι προγραμματιστές του πρωτοκόλλου SSLv2 ουσιαστικά αφέθηκαν να ψάξουν το δρόμο τους στο σκοτάδι και αντιμετώπισαν πολλά τρομερά τέρατα - προς λύπη τους και προς όφελός μας, καθώς οι επιθέσεις στο SSLv2 άφησαν ανεκτίμητα μαθήματα για την επόμενη γενιά πρωτοκόλλων.

Μετά από αυτά τα γεγονότα, το 1996, ένα απογοητευμένο Netscape επανασχεδίασε το πρωτόκολλο SSL από την αρχή. Το αποτέλεσμα ήταν η έκδοση 3 SSL, η οποία διόρθωσε πολλά γνωστά ζητήματα ασφαλείας του προκατόχου του.

Ευτυχώς για τους διαρρήκτες, το «λίγοι» δεν σημαίνει «όλοι». Συνολικά, το SSLv3 παρείχε όλα τα απαραίτητα δομικά στοιχεία για να ξεκινήσει μια επίθεση Vodene. Το πρωτόκολλο χρησιμοποίησε έναν κρυπτογράφηση μπλοκ λειτουργίας CBC και ένα μη ασφαλές σχήμα πλήρωσης (αυτό διορθώθηκε στο TLS· εξ ου και η ανάγκη για μια επίθεση υποβάθμισης). Αν θυμάστε το σχήμα padding στην αρχική μας περιγραφή της επίθεσης Vaudenay, το σχήμα SSLv3 είναι πολύ παρόμοιο.

Αλλά, δυστυχώς για τους διαρρήκτες, το «παρόμοιο» δεν σημαίνει «πανομοιότυπο». Το σχήμα πλήρωσης SSLv3 είναι "N τυχαία byte ακολουθούμενα από τον αριθμό N". Προσπαθήστε, υπό αυτές τις συνθήκες, να επιλέξετε ένα φανταστικό μπλοκ κρυπτογραφημένου κειμένου και να ακολουθήσετε όλα τα βήματα του αρχικού σχήματος του Vaudene: θα διαπιστώσετε ότι η επίθεση εξάγει με επιτυχία το τελευταίο byte από το αντίστοιχο μπλοκ απλού κειμένου, αλλά δεν προχωρά περαιτέρω. Η αποκρυπτογράφηση κάθε 16ου byte κρυπτογραφημένου κειμένου είναι ένα εξαιρετικό κόλπο, αλλά δεν είναι μια νίκη.

Αντιμέτωπη με την αποτυχία, η ομάδα της Google κατέφυγε σε μια τελευταία λύση: μεταπήδησε σε ένα πιο ισχυρό μοντέλο απειλής - αυτό που χρησιμοποιείται στο CRIME. Αν υποθέσουμε ότι ο εισβολέας είναι ένα σενάριο που εκτελείται στην καρτέλα του προγράμματος περιήγησης του θύματος και μπορεί να εξαγάγει cookies περιόδου λειτουργίας, η επίθεση εξακολουθεί να είναι εντυπωσιακή. Ενώ το ευρύτερο μοντέλο απειλής είναι λιγότερο ρεαλιστικό, είδαμε στην προηγούμενη ενότητα ότι αυτό το συγκεκριμένο μοντέλο είναι εφικτό.

Δεδομένων αυτών των ισχυρότερων δυνατοτήτων εισβολέων, η επίθεση μπορεί πλέον να συνεχιστεί. Σημειώστε ότι ο εισβολέας γνωρίζει πού εμφανίζεται το κρυπτογραφημένο cookie περιόδου λειτουργίας στην κεφαλίδα και ελέγχει το μήκος του αιτήματος HTTP που προηγείται. Επομένως, είναι σε θέση να χειριστεί το αίτημα HTTP έτσι ώστε το τελευταίο byte του cookie να ευθυγραμμίζεται με το τέλος του μπλοκ. Τώρα αυτό το byte είναι κατάλληλο για αποκρυπτογράφηση. Μπορείτε απλώς να προσθέσετε έναν χαρακτήρα στο αίτημα και το προτελευταίο byte του cookie θα παραμείνει στην ίδια θέση και είναι κατάλληλο για επιλογή με την ίδια μέθοδο. Η επίθεση συνεχίζεται με αυτόν τον τρόπο μέχρι να αποκατασταθεί πλήρως το αρχείο cookie. Ονομάζεται POODLE: Padding Oracle on Downgraded Legacy Encryption.

ΠΝΙΓΩ

Κρυπτογραφικές επιθέσεις: μια εξήγηση για τα μπερδεμένα μυαλάΌπως αναφέραμε, το SSLv3 είχε τα ελαττώματα του, αλλά ήταν θεμελιωδώς διαφορετικό από τον προκάτοχό του, αφού το διαρροή SSLv2 ήταν προϊόν διαφορετικής εποχής. Εκεί θα μπορούσατε να διακόψετε το μήνυμα στη μέση: соглашусь на это только через мой труп μετατράπηκε σε соглашусь на это; ο πελάτης και ο διακομιστής θα μπορούσαν να συναντηθούν διαδικτυακά, να δημιουργήσουν εμπιστοσύνη και να ανταλλάξουν μυστικά μπροστά στον εισβολέα, ο οποίος στη συνέχεια θα μπορούσε εύκολα να υποδυθεί και τους δύο. Υπάρχει επίσης το πρόβλημα με την εξαγωγή κρυπτογραφίας, το οποίο αναφέραμε όταν σκεφτήκαμε το FREAK. Αυτά ήταν τα κρυπτογραφικά Σόδομα και Γόμορρα.

Τον Μάρτιο του 2016, μια ομάδα ερευνητών από διαφορετικούς τεχνικούς τομείς συγκεντρώθηκε και έκανε μια εκπληκτική ανακάλυψη: το SSLv2 εξακολουθεί να χρησιμοποιείται σε συστήματα ασφαλείας. Ναι, οι εισβολείς δεν μπορούσαν πλέον να υποβαθμίσουν τις σύγχρονες περιόδους σύνδεσης TLS σε SSLv2 αφού αυτή η τρύπα έκλεισε μετά το FREAK και το POODLE, αλλά εξακολουθούν να μπορούν να συνδέονται με διακομιστές και να ξεκινούν οι ίδιοι συνεδρίες SSLv2.

Ίσως ρωτήσετε, γιατί μας ενδιαφέρει τι κάνουν εκεί; Έχουν μια ευάλωτη περίοδο λειτουργίας, αλλά δεν θα πρέπει να επηρεάσει άλλες συνεδρίες ή την ασφάλεια του διακομιστή - σωστά; Λοιπόν, όχι ακριβώς. Ναι, έτσι πρέπει να είναι θεωρητικά. Αλλά όχι - επειδή η δημιουργία πιστοποιητικών SSL επιβάλλει ένα συγκεκριμένο βάρος, με αποτέλεσμα πολλοί διακομιστές να χρησιμοποιούν τα ίδια πιστοποιητικά και, ως εκ τούτου, τα ίδια κλειδιά RSA για συνδέσεις TLS και SSLv2. Για να γίνουν τα πράγματα χειρότερα, λόγω ενός σφάλματος OpenSSL, η επιλογή "Απενεργοποίηση SSLv2" σε αυτήν τη δημοφιλή εφαρμογή SSL δεν λειτούργησε στην πραγματικότητα.

Αυτό κατέστησε δυνατή μια επίθεση πολλαπλών πρωτοκόλλων στο TLS, που ονομάζεται ΠΝΙΓΩ (Αποκρυπτογράφηση RSA με απαρχαιωμένη και εξασθενημένη κρυπτογράφηση, αποκρυπτογράφηση RSA με παρωχημένη και εξασθενημένη κρυπτογράφηση). Θυμηθείτε ότι αυτό δεν είναι το ίδιο με μια σύντομη επίθεση. ο εισβολέας δεν χρειάζεται να ενεργεί ως "άνθρωπος στη μέση" και δεν χρειάζεται να εμπλέξει τον πελάτη για να συμμετάσχει σε μια ανασφαλή συνεδρία. Οι εισβολείς απλώς ξεκινούν μια μη ασφαλή περίοδο λειτουργίας SSLv2 με τον διακομιστή οι ίδιοι, επιτίθενται στο αδύναμο πρωτόκολλο και ανακτούν το ιδιωτικό κλειδί RSA του διακομιστή. Αυτό το κλειδί ισχύει επίσης για συνδέσεις TLS και από αυτό το σημείο και μετά, καμία ασφάλεια TLS δεν θα το εμποδίσει να διακυβευτεί.

Αλλά για να το σπάσετε, χρειάζεστε μια επίθεση εργασίας ενάντια στο SSLv2, που σας επιτρέπει να ανακτήσετε όχι μόνο συγκεκριμένη κίνηση, αλλά και το μυστικό κλειδί διακομιστή RSA. Αν και πρόκειται για μια περίπλοκη ρύθμιση, οι ερευνητές μπορούσαν να επιλέξουν οποιαδήποτε ευπάθεια είχε κλείσει τελείως μετά το SSLv2. Βρήκαν τελικά μια κατάλληλη επιλογή: την επίθεση Bleichenbacher, την οποία αναφέραμε προηγουμένως και την οποία θα εξηγήσουμε αναλυτικά στο επόμενο άρθρο. Το SSL και το TLS προστατεύονται από αυτήν την επίθεση, αλλά ορισμένα τυχαία χαρακτηριστικά του SSL, σε συνδυασμό με σύντομα κλειδιά στην κρυπτογραφία ποιότητας εξαγωγής, κατέστησαν δυνατή μια συγκεκριμένη υλοποίηση του DROWN.

Τη στιγμή της δημοσίευσης, το 25% των κορυφαίων τοποθεσιών του Διαδικτύου επηρεάστηκε από την ευπάθεια DROWN και η επίθεση θα μπορούσε να πραγματοποιηθεί με μέτριους πόρους που ήταν διαθέσιμοι ακόμη και σε άτακτους μοναχικούς χάκερ. Η ανάκτηση του κλειδιού RSA του διακομιστή απαιτούσε οκτώ ώρες υπολογισμού και 440 $, και το SSLv2 έγινε από απαρχαιωμένο σε ραδιενεργό.

Περιμένετε, τι γίνεται με το Heartbleed;

Δεν πρόκειται για κρυπτογραφική επίθεση με την έννοια που περιγράφεται παραπάνω. Πρόκειται για υπερχείλιση buffer.

Ας κάνουμε ένα διάλειμμα

Ξεκινήσαμε με μερικές βασικές τεχνικές: ωμή δύναμη, παρεμβολή, υποβάθμιση, διασταυρούμενο πρωτόκολλο και προυπολογισμό. Στη συνέχεια, εξετάσαμε μια προηγμένη τεχνική, ίσως το κύριο συστατικό των σύγχρονων κρυπτογραφικών επιθέσεων: την επίθεση μαντείου. Ξοδέψαμε αρκετό χρόνο για να το καταλάβουμε - και κατανοήσαμε όχι μόνο την υποκείμενη αρχή, αλλά και τις τεχνικές λεπτομέρειες δύο συγκεκριμένων υλοποιήσεων: την επίθεση Vaudenay στη λειτουργία κρυπτογράφησης CBC και την επίθεση Kelsey σε πρωτόκολλα κρυπτογράφησης προ-συμπίεσης.

Κατά την ανασκόπηση των επιθέσεων υποβάθμισης και προυπολογισμού, περιγράψαμε εν συντομία την επίθεση FREAK, η οποία χρησιμοποιεί και τις δύο μεθόδους υποβαθμίζοντας τους ιστότοπους-στόχους σε αδύναμα κλειδιά και στη συνέχεια επαναχρησιμοποιούν τα ίδια κλειδιά. Για το επόμενο άρθρο, θα αποθηκεύσουμε την (πολύ παρόμοια) επίθεση Logjam, η οποία στοχεύει αλγόριθμους δημόσιου κλειδιού.

Στη συνέχεια εξετάσαμε τρία ακόμη παραδείγματα εφαρμογής αυτών των αρχών. Πρώτον, CRIME και POODLE: δύο επιθέσεις που βασίστηκαν στην ικανότητα του εισβολέα να εισάγει αυθαίρετο απλό κείμενο δίπλα στο αρχικό κείμενο-στόχο και, στη συνέχεια, να εξετάσει τις απαντήσεις του διακομιστή και τότε, χρησιμοποιώντας τη μεθοδολογία επίθεσης oracle, εκμεταλλευτείτε αυτές τις αραιές πληροφορίες για να ανακτήσετε μερικώς το απλό κείμενο. Το CRIME ακολούθησε την επίθεση του Kelsey στη συμπίεση SSL, ενώ το POODLE χρησιμοποίησε μια παραλλαγή της επίθεσης του Vaudenay στο CBC με το ίδιο αποτέλεσμα.

Στη συνέχεια, στρέψαμε την προσοχή μας στην επίθεση μεταξύ πρωτοκόλλων DROWN, η οποία δημιουργεί μια σύνδεση με τον διακομιστή χρησιμοποιώντας το πρωτόκολλο παλαιού τύπου SSLv2 και στη συνέχεια ανακτά τα μυστικά κλειδιά του διακομιστή χρησιμοποιώντας την επίθεση Bleichenbacher. Έχουμε παραλείψει τις τεχνικές λεπτομέρειες αυτής της επίθεσης προς το παρόν. όπως το Logjam, θα πρέπει να περιμένει μέχρι να κατανοήσουμε καλά τα κρυπτοσυστήματα δημόσιου κλειδιού και τα τρωτά σημεία τους.

Στο επόμενο άρθρο θα μιλήσουμε για προηγμένες επιθέσεις όπως το meet-in-the-middle, η διαφορική κρυπτανάλυση και οι επιθέσεις γενεθλίων. Ας κάνουμε μια γρήγορη επιδρομή στις επιθέσεις πλευρικών καναλιών και, στη συνέχεια, ας φτάσουμε στην ουσία του θέματος: κρυπτοσυστήματα δημόσιου κλειδιού.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο