data encryption

Τι είναι και πώς λειτουργεί η κρυπτογράφηση δεδομένων.

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

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

encryption

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

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

Ο Ιούλιος Καίσαρας στην εποχή του χρησιμοποίησε μια άλλου τύπου Κρυπτογράφηση, μετατοπίζοντας κάθε γράμμα του αλφαβήτου συγκεκριμένες θέσεις δεξιότερα ή αριστερότερα. Βάσει του παρακάτω υποδείγματος θα μπορούσατε να κρυπτογραφήσετε τη λέξη “ΝΕΟ” ως “ΠΘΣ”.

ΚΑΘΑΡΟ:   ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ
ΚΡΥΠΤ/ΝΟ: ΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩΑΒΓ

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

Πάνω σε παρόμοια λογική κατασκευάστηκε και το “Τετράγωνο του Πολύβιου” ή αλλιώς το “Πολύβιο κρυπτογράφημα”.

polybious square

Χρησιμοποιώντας έναν πίνακα σαν τον παραπάνω θα μπορούσε να γραφτεί η λέξη “GEEK” ως “23 31 31 43”.

Η ιστορία της σύγχρονης κρυπτογράφησης.

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

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

Ο Horst Feistel μαζί με τους συνάδελφούς του στην IBM κατάφερε τότε να δημιουργήσει ορισμένους αλγόριθμους κρυπτογράφησης-αποκρυπτογράφησης γνωστούς ως “Lucifer”, από τους οποίους προέκυψε και το λεγόμενο Data Encryption Standard (DES).

Το DES έτυχε καθολικής αποδοχής τόσο από τις ΗΠΑ το 1976 όσο και από τον υπόλοιπο κόσμο σταδιακά. Ωστόσο ορισμένες αδυναμίες του σε επίπεδο ασφάλειας αλλά και υλοποίησης, καθότι με τα τεχνολογικά μέσα την εποχής η Κρυπτογράφηση “γονάτιζε” τα υπολογιστικά συστήματα, κινητοποίησαν ορισμένους ερευνητές στο να προτείνουν μια ποικιλία από εναλλακτικούς αλγορίθμους κρυπτογράφησης, τέλη δεκαετίας ’80 με αρχές δεκαετίας ’90. Έτσι γεννήθηκε ο Rijndael αλγόριθμος κρυπτογράφησης, το όνομά του οποίου προήλθε από τον συνδυασμό των επωνύμων των δημιουργών του (Vincent Rijmen & Joan Daemen).

Ο παραπάνω αλγόριθμος κρυπτογράφησης υιοθετήθηκε από την κυβέρνηση των ΗΠΑ στις 26 Νοεμβρίου του 2001, έπειτα από διαδικασίες βελτιώσεων και δοκιμών οι οποίες διήρκεσαν 5 περίπου χρόνια. Πριν αυτό συμβεί, είχαν παρουσιαστεί περί τους 15 διαφορετικούς αλγορίθμους κρυπτογράφησης ως εναλλακτικές λύσεις, εκ των οποίων τελικά καταλληλότερος κρίθηκε ο Rijndael, ή αλλιώς Advanced Encryption Standard (AES).

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

aes encryption
Μπορεί φυσικά κανείς να θελήσει να κρυπτογραφήσει π.χ. λίγα Δεδομένα, τα οποία θα τα αποκρυπτογραφήσει κάτω από συγκεκριμένες σπάνιες συνθήκες. Έτσι, μπορεί να χρησιμοποιήσει τον ισχυρότερο δυνατό αλγόριθμο κρυπτογράφησης ή ακόμη να συνδυάσει παραπάνω του ενός αλγορίθμους. Πάντως, αν η ταχύτητα κρυπτογράφησης-αποκρυπτογράφησης είναι μέρος της εξίσωσης, όπως στην υπηρεσία Backup Experts Cloud Backup, τότε ο AES αλγόριθμος αποτελεί επιλογή μονόδρομο.

Κρυπτογράφηση Συμμετρικού και ασύμμετρου κλειδιού.

Συμμετρικοί καλούνται οι αλγόριθμοι κρυπτογράφησης οι οποίοι χρησιμοποιούν το ίδιο (ή παρόμοιο) κλειδί τόσο για την Κρυπτογράφηση όσο και για την αποκρυπτογράφηση. Οι ασύμμετροι αλγόριθμοι από την άλλη χρησιμοποιούν διαφορετικό κλειδί για την Κρυπτογράφηση, με εκείνο για την αποκρυπτογράφηση. Το πρώτο θα το συναντήσετε ως “Public-key” στην ορολογία των υπολογιστών.

Κρυπτογράφηση συμμετρικού κλειδιού.

Θα περιγράψουμε τη συμμετρική Κρυπτογράφηση με την ακόλουθη ιστορία:

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

symmetric key encryption
Οι συμμετρικοί αλγόριθμοι κρυπτογράφησης διαχωρίζονται σε 2 τύπους, stream & block ciphers. Οι πρώτοι κρυπτογραφούν τα bits των πληροφοριών ανά 1 κάθε φορά, ενώ οι δεύτεροι ανά blocks των 64 bits τη φορά.

Κρυπτογράφηση ασύμμετρου κλειδιού.

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

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

assymetric key encryption

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

Η Κρυπτογράφηση ασύμμετρου κλειδιού χρησιμοποιεί διαφορετικό κλειδί για την Κρυπτογράφηση και διαφορετικό για την αποκρυπτογράφηση. Αυτό δεν είναι επιλογή αλλά αναγκαιότητα. Ο παραλήπτης του μηνύματος δημιουργεί ένα ιδιωτικό κλειδί (private key) και ένα δημόσιο κλειδί (public key). Το δημόσιο κλειδί διανέμεται ελεύθερα μεταξύ των αποστολέων μηνυμάτων που το χρησιμοποιούν για την Κρυπτογράφηση του μηνύματος. Ο παραλήπτης χρησιμοποιεί το ιδιωτικό κλειδί του για την αποκρυπτογράφηση των μηνυμάτων που έχουν κρυπτογραφηθεί με το δημόσιο κλειδί του. Στην ασύμμετρη Κρυπτογράφηση, η διενέργεια κρυπτογράφησης μέσω του δημοσίου κλειδιού είναι διαδικασία χωρίς επιστροφή. Με άλλα λόγια δεν γίνεται να διενεργηθεί αποκρυπτογράφηση με το ίδιο (δημόσιο) κλειδί με το οποίο έγινε η Κρυπτογράφηση. H τελευταία μπορεί να ολοκληρωθεί αποκλειστικά και μόνο με το ιδιωτικό κλειδί.

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

Πώς η Κρυπτογράφηση διασφαλίζει την επικοινωνία στο διαδίκτυο.

Έχοντας κατανοήσει την ιδέα της ασύμμετρης κρυπτογράφησης, μπορούμε να καταλάβουμε το πώς εδώ και χρόνια το πρωτόκολλο SSL (Secure Sockets Layer) διασφαλίζει τις συναλλαγές μας στο διαδίκτυο από κάποιον ο οποίος ενδεχομένως τις υποκλέπτει (man in the middle στη γλώσσα των τεχνικών).

Αρχικά ο browser σας καλεί μια ασφαλή https σελίδα, όπως για παράδειγμα η σελίδα Backup-Experts.gr

Έπειτα ο Web Server απαντά με το δημόσιο κλειδί του μαζί με το πιστοποιητικό (certificate) του φορέα που εξέδωσε το δημόσιο κλειδί.

Ο browser σας ελέγχει ότι πρόκειται για έγκυρο πιστοποιητικό, δηλαδή δεν έχει λήξει (όλα τα πιστοποιητικά φέρουν ημερομηνία λήξεως) και χρησιμοποιεί το δημόσιο κλειδί για να κρυπτογραφήσει τα Δεδομένα που επιθυμούμε να αποστείλουμε προς τον web Server που φιλοξενεί το site. Τέτοια θα μπορούσε να είναι για παράδειγμα η περίπτωση μηνύματος από τη φόρμα επικοινωνίας, η εγγραφή στο newsletter κλπ.

Στη συνέχεια ο web Server αποκρυπτογραφεί τα Δεδομένα που ο browser σας έστειλε χρησιμοποιώντας το ιδιωτικό κλειδί, το οποίο παραμένει κρυφό και αποστέλλει την απάντηση στον browser σας.

Αυτή λοιπόν είναι η διαδικασία μέσω της οποίας κάνετε τις online αγορές σας, πληρώνετε τους λογαριασμούς σας, συναλλάσσεστε με την τράπεζά σας!

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

Οι Backup Experts, όντας φανατικοί οπαδοί της ασφάλειας των δεδομένων αγαπούμε την Κρυπτογράφηση και την θεωρούμε αναπόσπαστο κομμάτι της ασφάλειας του πληροφοριακού συστήματος κάθε επιχείρησης. Για δε τις διαδικασίες Backup, εννοείται ότι υλοποιούμε τις αυστηρότερες και ασφαλέστερες προδιαγραφές για την επικοινωνία Server-Client που η σύγχρονη Τεχνολογία μπορεί να παρέχει. Πρόκειται φυσικά για τον αλγόριθμο 256 Bit AES. Έχει δε υπολογιστεί ότι για να μπορέσουμε να τον υπερβούμε μέσω αλλεπάλληλων δοκιμών διαφορετικών κλειδιών, με βάση τη σημερινή ταχύτητα των υπολογιστών, δεν θα αρκούσε χρονικά η ηλικία του σύμπαντος. Αυτό καταδικάζει τα μέσω AES κρυπτογραφημένα Δεδομένα στην αφάνεια, εφόσον το κλειδί αποκρυπτογράφησής τους χαθεί.

Επιστροφή