Κρυπτογραφία: Όχι τόσο ασφαλής όσο νομίζουμε
Τα τελευταία χρόνια, η κρυπτογραφία είναι ένα από τα πιο δημοφιλή θέματα συζητήσεων μέσα στο Internet. Έχει γίνει συνείδηση στους χρήστες του δικτύου ότι η ασφάλεια των πληροφοριών, του πιο πολύτιμου ίσως αγαθού στις μέρες μας, πρέπει να μας απασχολεί όλους. Γι' αυτό, κάθε τόσο βλέπουμε να εμφανίζονται νέα προϊόντα προστασίας δεδομένων, νέοι αλγόριθμοί και φυσικά όλο και μεγαλύτερα κλειδιά (κωδικοί).
Η κοινή λογική μάς λέει πως όσο πιο μεγάλο είναι το κλειδί που χρησιμοποιούμε για την κρυπτογράφηση των δεδομένων μας, τόσο περισσότερο χρόνο και υπολογιστική ισχύ θα χρειαστεί κάποιος για να τα αποκρυπτογραφήσει. Για παράδειγμα, αν κρυπτογραφηθεί ένα μήνυμα χρησιμοποιώντας κλειδί με μέγεθος 56 bit (π.χ. DES) τότε οι πιθανοί συνδυασμοί που πρέπει να δοκιμάσει κάποιος για να το αποκρυπτογραφήσει είναι 2 εις την 56η (72057600000000000 συνδυασμοί). Αυτή η μέθοδος (η δοκιμή όλων των δυνατών συνδυασμών μέχρι να βρεθεί ο σωστός) έχει γίνει γνωστή με το όνομα brute force.
Βέβαια τα πράγματα δεν είναι ακριβώς έτσι μια και ο αριθμός αυτός (2 εις την 56η) αναφέρεται στο σύνολο των συνδυασμών. Μπορεί κανείς να φανεί τυχερός και να βρει τον σωστό κωδικό με την πρώτη προσπάθεια ή άτυχος και να τον βρει με την τελευταία. Στατιστικά, αυτό θα γίνει κάπου στη μέση, δηλαδή στους 36028800000000000 συνδυασμούς.
Οι ειδικοί μας λένε πως πρέπει να χρησιμοποιούμε όλο και μεγαλύτερα κλειδιά διότι το κόστος των Η/Υ μειώνεται συνεχώς και γίνεται όλο και πιο εύκολο να δοκιμάσει κανείς έναν έναν όλους τους δυνατούς συνδυασμούς μέχρι να βρει το σωστό κλειδί. Σήμερα συνιστούνται κλειδιά μεγέθους 1024 bit ή μεγαλύτερα (1024 bit = 1797700000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000 συνδυασμοί).
Με την υπάρχουσα τεχνολογία Η/Υ, για να σπάσει κάποιος έναν κώδικα με κλειδί 1024 bit θα χρειαζόταν πάρα πολλά χρόνια ή ένα απίστευτο ποσό χρημάτων για να αγοράσει ή νοικιάσει τους μισούς Η/Υ του κόσμου...
Μπορεί όμως και όχι!
Τα τελευταία χρόνια, έχει αναπτυχθεί ένα νέο είδος κρυπτοαναλυτικών (αποκρυπτογραφικών) επιθέσεων που βασίζεται στα ιδιαίτερα χαρακτηριστικά κάθε προγράμματος κρυπτογράφησης. Ο κρυπτοαναλυτής μελετάει τον χρόνο που κάνει κάθε κρυπτογράφηση για να ολοκληρωθεί (όπως στην περίπτωση του "σπασίματος" των RSA κλειδιών το 1995), την κατανάλωση ρεύματος, τις εκπομπές ακτινοβολίας της συσκευής, τις αντιδράσεις του προγράμματος σε κάθε λανθασμένη εισαγωγή δεδομένων κ.λπ. και χρησιμοποιεί αυτά τα στοιχεία για να "μαντέψει" το κλειδί που χρησιμοποιείται για την κρυπτογράφηση.
Τέτοιες τακτικές έχουν χρησιμοποιηθεί με μεγάλη επιτυχία για να "ξεκλειδώσουν" έξυπνες κάρτες (smart cards), Internet electronic commerce servers και άλλους μηχανισμούς ασφαλείας. Υπάρχουν βέβαια κάποιοι ρομαντικοί που τις χαρακτηρίζουν ανέντιμες (unfair) γιατί δεν βασίζονται στα μαθηματικά αλλά σε ανάλυση στο φυσικό επίπεδο (ελαττώματα του λογισμικού και του υλικού που χρησιμοποιείται για την κρυπτογράφηση). Αυτό όμως είναι δευτερεύον. Δεν υπάρχουν κανόνες καλής συμπεριφοράς όταν προσπαθείς να βρεις τα μυστικά του αντιπάλου σου και σίγουρα κανείς δεν θα είναι τόσο ρομαντικός ώστε να εγκαταλείψει το πανίσχυρο όπλο της επίθεσης στο φυσικό επίπεδο (Side-channel cryptanalysis). Για να καταλάβετε μάλιστα πόσο ισχυρές είναι αυτές οι τεχνικές αρκεί να σας πω πως για να μπορέσει κάποιος να βρει το κλειδί του γνωστού κρυπτογραφικού αλγόριθμου DES με τον μαθηματικό τρόπο (αναλύοντας όλες τις πιθανές λύσεις), θα πρέπει να κάνει περίπου 5,5 εκατομμύρια περισσότερες προσπάθειες απ ότι με μια επίθεση στο φυσικό επίπεδο (ο υπολογισμός αυτός αναφέρεται σε σύστημα που δεν έχει καμία προστασία από επιθέσεις του τύπου αυτού).
Το συμπέρασμα που βγαίνει από τα παραπάνω δεν είναι καθόλου ενθαρρυντικό. Αν και οι κατασκευαστές κρυπτογραφικών προϊόντων προσπαθούν να τα προστατέψουν από τέτοιες επιθέσεις, θα χρειαστεί να περάσουν αρκετά χρόνια μέχρι να εμφανιστούν και να δοκιμαστούν ειδικά πρότυπα προστασίας από επιθέσεις στο φυσικό επίπεδο (σήμερα υπάρχει μόνο το Tempest, που χρησιμοποιείται για την προφύλαξη από ηλεκτρομαγνητική παρακολούθηση). Μέχρι όμως να έρθει εκείνη η ημέρα, δυστυχώς θα πρέπει να θεωρούμε όλα τα προγράμματα κρυπτογράφησης πολύ λιγότερο αποτελεσματικά απ ότι πιστεύαμε μέχρι σήμερα.
Περισσότερες πληροφορίες για τα παραπάνω θα βρείτε στα:
Side-channel cryptanalysis: http://www.counterpane.com/side_channel.html
Differential-power analysis: http://www.cryptography.com/dpa/index.html
Industry reaction: http://www.news.com/News/Item/0,4,23025,00.html
Differential-fault analysis: http://www.cs.technion.ac.il/~biham/publications.html
Timing attack: http://www.cryptography.com/timingattack/
Γιώργος Επιτήδειος
Επιστροφή στο Αρχείο ’ρθρων Παλαιών Τευχών Επιστροφή στις Επιχειρηματικές Σελίδες Copyright 1998, 1999, 2000 Γιώργος Επιτήδειος Υποδείξεις, Ερωτήσεις, Σχόλια στην διεύθυνση gepiti@gepiti.com |