Τι είναι η κρυπτογράφηση και πώς λειτουργεί;
Η κρυπτογράφηση έχει μακρά ιστορία που χρονολογείται από την εποχή που οι αρχαίοι Έλληνες και Ρωμαίοι έστειλαν μυστικά μηνύματα υποκαθιστώντας γράμματα μόνο αποκρυπτογραφούμενα με ένα μυστικό κλειδί. Ελάτε μαζί μας για ένα γρήγορο μάθημα ιστορίας και μάθετε περισσότερα σχετικά με τον τρόπο λειτουργίας της κρυπτογράφησης.
Στη σημερινή έκδοση του HTG Explains, θα σας δώσουμε ένα σύντομο ιστορικό κρυπτογράφησης, πώς λειτουργεί και ορισμένα παραδείγματα διαφορετικών τύπων κρυπτογράφησης - βεβαιωθείτε επίσης ότι έχετε δει την προηγούμενη έκδοση, όπου εξηγήσαμε γιατί τόσοι geeks μισούν το Διαδίκτυο Εξερευνητής.
Εικόνα από xkcd, προφανώς.
Οι πρώτες ημέρες της κρυπτογράφησης
Οι αρχαίοι Έλληνες χρησιμοποίησαν ένα εργαλείο που ονομάζεται Scytale για να βοηθήσουν στην κρυπτογράφηση των μηνυμάτων τους πιο γρήγορα χρησιμοποιώντας έναν κρυπτογραφητή μεταφοράς - απλώς θα τυλίγανε τη λωρίδα περγαμηνής γύρω από τον κύλινδρο, θα έγραφαν το μήνυμα και στη συνέχεια, όταν ξετυλίγονταν δεν θα είχαν νόημα.
Αυτή η μέθοδος κρυπτογράφησης θα μπορούσε φυσικά να διαλυθεί εύκολα, αλλά είναι ένα από τα πρώτα παραδείγματα κρυπτογράφησης που χρησιμοποιούνται πραγματικά στον πραγματικό κόσμο.
Ο Ιούλιος Καίσαρ χρησιμοποίησε μια κάπως παρόμοια μέθοδο κατά τη διάρκεια του χρόνου του, μεταθέτοντας κάθε γράμμα του αλφαβήτου προς τα δεξιά ή προς τα αριστερά με μια σειρά από θέσεις - μια τεχνική κρυπτογράφησης γνωστή ως κρυπτογράφηση του Καίσαρα. Για παράδειγμα, χρησιμοποιώντας τον παρακάτω κρυπτογραφικό παράδειγμα θα γράψετε "GEEK" ως "JHHN".
Απλή: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Cipher: DEFGHIJKLMNOPQRSTUVWXYZABC
Δεδομένου ότι μόνο ο προοριζόμενος αποδέκτης του μηνύματος γνώριζε τον κρυπτογραφημένο κώδικα, θα ήταν δύσκολο για τον επόμενο να αποκωδικοποιήσει το μήνυμα, το οποίο θα φαινόταν αδύνατο, αλλά το πρόσωπο που είχε τον κρυπτογραφημένο κώδικα θα μπορούσε εύκολα να αποκωδικοποιήσει και να το διαβάσει.
Άλλα απλά κρυπτογράφηση κρυπτογράφησης, όπως η πλατεία Polybius, χρησιμοποίησαν έναν πολυαριθμό κρυπτογράφησης ο οποίος απαρίθμησε κάθε γράμμα με τις αντίστοιχες αριθμητικές θέσεις στην κορυφή και στην πλευρά για να πει πού ήταν η θέση του γράμματος.
Χρησιμοποιώντας ένα τραπέζι όπως το παραπάνω θα γράφετε το γράμμα "G" ως "23" ή "GEEK" ως "23 31 31 43".
Ηλεκτρονικό μηχάνημα
Κατά τη διάρκεια του Β 'Παγκοσμίου Πολέμου, οι Γερμανοί χρησιμοποίησαν τη μηχανή Enigma για να μεταβιβάσουν κρυπτογραφημένες μεταδόσεις προς τα εμπρός και πίσω, οι οποίες χρειάστηκαν χρόνια πριν οι πολωνοί είχαν τη δυνατότητα να σπάσουν τα μηνύματα και να δώσουν τη λύση στις συμμαχικές δυνάμεις,.
Η ιστορία της σύγχρονης κρυπτογράφησης
Ας το αντιμετωπίσουμε: οι σύγχρονες τεχνικές κρυπτογράφησης μπορούν να είναι ένα εξαιρετικά βαρετό θέμα, οπότε αντί να τους εξηγούμε με λόγια, έχουμε δημιουργήσει μια κόμικ που μιλάει για την ιστορία της κρυπτογράφησης, εμπνευσμένη από τον οδηγό στίβου του Jeff Moser στο AES. Σημείωση: σαφώς δεν μπορούμε να μεταφέρουμε τα πάντα για το ιστορικό της κρυπτογράφησης σε μια κόμικ.
Πίσω εκείνες τις μέρες, οι άνθρωποι δεν έχουν μια καλή μέθοδο κρυπτογράφησης για να εξασφαλίσουν την ηλεκτρονική τους επικοινωνία.
Ο Lucifer ήταν το όνομα που δόθηκε σε αρκετές από τις πρώτες πολιτικές κρυφές μαρκοπιές, που αναπτύχθηκαν από τον Horst Feistel και τους συναδέλφους του στην IBM.
Το Πρότυπο Κρυπτογράφησης Δεδομένων (DES) είναι ένας κρυπτογραφημένος κρυπτογραφημένος κώδικας, ο οποίος επιλέχθηκε από το Εθνικό Γραφείο Προτύπων ως επίσημο Ομοσπονδιακό Πρότυπο Επεξεργασίας Πληροφοριών (FIPS) για τις Ηνωμένες Πολιτείες το 1976 και το οποίο ακολούθησε εκτεταμένη χρήση σε διεθνές επίπεδο.
Οι ανησυχίες για την ασφάλεια και τη σχετικά αργή λειτουργία του DES σε λογισμικό που παρακίνησε τους ερευνητές να προτείνουν μια ποικιλία εναλλακτικών σχεδίων κρυπτογράφησης μπλοκ, τα οποία άρχισαν να εμφανίζονται στα τέλη της δεκαετίας του 1980 και στις αρχές της δεκαετίας του 1990: παραδείγματα περιλαμβάνουν RC5, Blowfish, IDEA, NewDES, SAFER, CAST5 και FEAL
Ο αλγόριθμος κρυπτογράφησης Rijndael υιοθετήθηκε από την κυβέρνηση των ΗΠΑ ως τυπική κρυπτογράφηση συμμετρικού κλειδιού ή Advanced Standard Encryption (AES). Το AES ανακοινώθηκε από το Εθνικό Ινστιτούτο Προτύπων και Τεχνολογίας (NIST) ως US FIPS PUB 197 (FIPS 197) στις 26 Νοεμβρίου 2001 μετά από μια διετή διαδικασία τυποποίησης στην οποία υποβλήθηκαν και αξιολογήθηκαν δεκαπέντε ανταγωνιστικά σχέδια πριν επιλεγεί η Rijndael ως η πλέον κατάλληλος αλγόριθμος κρυπτογράφησης.
Επιδόσεις αλγόριθμου κρυπτογράφησης
Πολλοί αλγόριθμοι κρυπτογράφησης υπάρχουν και είναι κατάλληλοι για διαφορετικούς σκοπούς-τα δύο κύρια χαρακτηριστικά που προσδιορίζουν και διαφοροποιούν έναν αλγόριθμο κρυπτογράφησης από το άλλο είναι η ικανότητά του να εξασφαλίζει τα προστατευμένα δεδομένα από τις επιθέσεις και την ταχύτητα και την αποτελεσματικότητά του.
Ως καλό παράδειγμα της διαφοράς ταχύτητας μεταξύ διαφορετικών τύπων κρυπτογράφησης, μπορείτε να χρησιμοποιήσετε το βοηθητικό πρόγραμμα συγκριτικής αξιολόγησης που είναι ενσωματωμένο στον οδηγό δημιουργίας τόμων της TrueCrypt - όπως μπορείτε να δείτε, το AES είναι μακράν ο γρηγορότερος τύπος ισχυρής κρυπτογράφησης.
Υπάρχουν τόσο πιο αργές και ταχύτερες μέθοδοι κρυπτογράφησης, και όλες είναι κατάλληλες για διαφορετικούς σκοπούς. Εάν απλώς προσπαθείτε να αποκρυπτογραφήσετε ένα μικρό κομμάτι δεδομένων κάθε τόσο συχνά, μπορείτε να αντέξετε οικονομικά να χρησιμοποιήσετε την ισχυρότερη δυνατή κρυπτογράφηση ή ακόμη και να την κρυπτογραφήσετε δύο φορές με διαφορετικούς τύπους κρυπτογράφησης. Αν χρειάζεστε ταχύτητα, πιθανότατα θέλετε να πάτε με AES.
Για περισσότερες πληροφορίες σχετικά με τη συγκριτική αξιολόγηση διαφορετικών τύπων κρυπτογράφησης, ανατρέξτε σε μια αναφορά από το Πανεπιστήμιο της Ουάσινγκτον του Σαιντ Λούις, όπου έκαναν έναν τόνο δοκιμών σε διαφορετικές ρουτίνες και εξήγησαν όλα αυτά σε μια πολύ περίεργη εγγραφή.
Τύποι σύγχρονης κρυπτογράφησης
Όλοι οι φανταστικοί αλγόριθμοι κρυπτογράφησης στους οποίους έχουμε μιλήσει προηγουμένως χρησιμοποιούνται κυρίως για δύο διαφορετικούς τύπους κρυπτογράφησης:
- Αλγόριθμοι συμμετρικού κλειδιού χρησιμοποιήστε σχετικά ή ταυτόσημα κλειδιά κρυπτογράφησης για κρυπτογράφηση και αποκρυπτογράφηση.
- Αλγόριθμοι ασύμμετρου κλειδιού χρησιμοποιήστε διαφορετικά κλειδιά για κρυπτογράφηση και αποκρυπτογράφηση - αυτό συνήθως αναφέρεται ως κρυπτογραφία δημόσιου κλειδιού.
Συμμετρική κρυπτογράφηση κλειδιού
Για να εξηγήσουμε αυτήν την έννοια, θα χρησιμοποιήσουμε τη μεταφορά της ταχυδρομικής υπηρεσίας που περιγράφεται στη Wikipedia για να κατανοήσουμε πώς λειτουργούν οι συμμετρικοί αλγόριθμοι κλειδιών.
Η Αλίκη βάζει το μυστικό της μήνυμα σε ένα κουτί και κλειδώνει το κουτί χρησιμοποιώντας ένα λουκέτο στο οποίο έχει ένα κλειδί. Στη συνέχεια στέλνει το κουτί στον Μπομπ μέσω τακτικού ταχυδρομείου. Όταν ο Bob παίρνει το κιβώτιο, χρησιμοποιεί ένα πανομοιότυπο αντίγραφο του κλειδιού της Alice (το οποίο κατά κάποιον τρόπο απέκτησε προηγουμένως, ίσως με μια συνάντηση πρόσωπο με πρόσωπο) για να ανοίξει το κιβώτιο και να διαβάσει το μήνυμα. Ο Bob μπορεί στη συνέχεια να χρησιμοποιήσει το ίδιο λουκέτο για να στείλει τη μυστική του απάντηση.
Οι αλγόριθμοι συμμετρικού κλειδιού μπορούν να χωριστούν σε κρυπτογράφους ρευμάτων και κρυπτογράφηση κρυπτογραφημένων ψηφιακών κρυπτών κρυπτογραφούν τα δυαδικά ψηφία ενός μηνύματος κάθε φορά και οι κρυπτογραφητές παίρνουν ένα αριθμό bit, συχνά σε μπλοκ των 64 δυφίων κάθε φορά, και κρυπτογραφούν τα μια ενιαία μονάδα. Υπάρχουν πολλοί διαφορετικοί αλγόριθμοι από τους οποίους μπορείτε να επιλέξετε - οι πιο δημοφιλείς και καλά σεβαστοί συμμετρικοί αλγόριθμοι περιλαμβάνουν τα Twofish, Serpent, AES (Rijndael), Blowfish, CAST5, RC4, TDES και IDEA.
Ασύμμετρη κρυπτογράφηση
Σε ένα σύστημα ασύμμετρου κλειδιού, ο Bob και η Alice έχουν ξεχωριστά λουκέτα, αντί για το μονό λουκέτο με πολλαπλά κλειδιά από το συμμετρικό παράδειγμα. Σημείωση: αυτό είναι, φυσικά, ένα υπερβολικά απλοποιημένο παράδειγμα του πώς λειτουργεί πραγματικά, το οποίο είναι πολύ πιο περίπλοκο, αλλά θα πάρετε τη γενική ιδέα.
Κατ 'αρχάς, η Αλίκη ζητά από τον Bob να στείλει το ανοιχτό λουκέτο σε το μέσω τακτικού ταχυδρομείου, κρατώντας το κλειδί για τον εαυτό του. Όταν η Αλίκη τη λαμβάνει, το χρησιμοποιεί για να κλειδώσει ένα κιβώτιο που περιέχει το μήνυμά της και στέλνει το κλειδωμένο κιβώτιο στον Μπομπ. Ο Bob μπορεί στη συνέχεια να ξεκλειδώσει το κιβώτιο με το κλειδί του και να διαβάσει το μήνυμα από την Αλίκη. Για να απαντήσει, ο Bob πρέπει ομοίως να βρει το ανοιχτό λουκέτο της Alice για να κλειδώσει το κουτί πριν τον στείλει πίσω σε αυτήν.
Το κρίσιμο πλεονέκτημα σε ένα ασύμμετρο σύστημα κλειδιών είναι ότι ο Bob και η Alice δεν χρειάζεται ποτέ να στείλουν ένα αντίγραφο των κλειδιών τους μεταξύ τους. Αυτό εμποδίζει ένα τρίτο μέρος (ίσως, στο παράδειγμα, έναν διεφθαρμένο ταχυδρομικό εργάτη) να αντιγράψει ένα κλειδί ενώ βρίσκεται σε διαμετακόμιση, επιτρέποντας στον εν λόγω τρίτο να κατασκοπεύει όλα τα μελλοντικά μηνύματα που στέλνονται μεταξύ της Alice και του Bob. Επιπλέον, εάν ο Bob ήταν απρόσεκτος και επέτρεψε σε κάποιον άλλον να αντιγράψει του κλειδιά, τα μηνύματα της Αλίκης στον Μπόμπ θα διακυβεύονταν, αλλά τα μηνύματα της Αλίκης σε άλλους ανθρώπους θα παραμείνουν μυστικά, καθώς οι άλλοι θα παρέχουν διαφορετικά λουκέτα για να χρησιμοποιήσουν την Αλίκη.
Η ασύμμετρη κρυπτογράφηση χρησιμοποιεί διαφορετικά κλειδιά για κρυπτογράφηση και αποκρυπτογράφηση. Ο παραλήπτης του μηνύματος δημιουργεί ένα ιδιωτικό κλειδί και ένα δημόσιο κλειδί. Το δημόσιο κλειδί διανέμεται μεταξύ των αποστολέων μηνυμάτων και χρησιμοποιούν το δημόσιο κλειδί για την κρυπτογράφηση του μηνύματος. Ο παραλήπτης χρησιμοποιεί το ιδιωτικό κλειδί του για κρυπτογραφημένα μηνύματα που έχουν κρυπτογραφηθεί χρησιμοποιώντας το δημόσιο κλειδί του παραλήπτη.
Υπάρχει ένα σημαντικό πλεονέκτημα για την κρυπτογράφηση με αυτόν τον τρόπο σε σύγκριση με την συμμετρική κρυπτογράφηση. Δεν χρειάζεται να στείλουμε τίποτα μυστικό (όπως το κλειδί κρυπτογράφησης ή τον κωδικό πρόσβασης) σε ένα ανασφαλές κανάλι. Το δημόσιο κλειδί σας βγαίνει στον κόσμο - δεν είναι μυστικό και δεν χρειάζεται να είναι. Το ιδιωτικό σας κλειδί μπορεί να παραμείνει άνετο και άνετο στον προσωπικό σας υπολογιστή, από όπου το δημιούργησε - ποτέ δεν πρέπει να στέλνεται μέσω ηλεκτρονικού ταχυδρομείου οπουδήποτε ή να διαβάζεται από εισβολείς.
Πώς η κρυπτογράφηση εξασφαλίζει την επικοινωνία στον Ιστό
Για πολλά χρόνια, το πρωτόκολλο SSL (Secure Sockets Layer) εξασφάλιζε τις συναλλαγές στο διαδίκτυο χρησιμοποιώντας κρυπτογράφηση μεταξύ του προγράμματος περιήγησης ιστού και ενός διακομιστή ιστού, προστατεύοντάς σας από οποιονδήποτε μπορεί να περιπλέξει στο δίκτυο στη μέση.
Το ίδιο το SSL είναι εννοιολογικά αρκετά απλό. Αρχίζει όταν το πρόγραμμα περιήγησης ζητά μια ασφαλή σελίδα (συνήθως https: //)
Ο διακομιστής ιστού στέλνει το δημόσιο κλειδί του με το πιστοποιητικό του.
Το πρόγραμμα περιήγησης ελέγχει ότι το πιστοποιητικό εκδόθηκε από ένα αξιόπιστο μέρος (συνήθως μια αξιόπιστη αρχική ΑΠ), ότι το πιστοποιητικό εξακολουθεί να είναι έγκυρο και ότι το πιστοποιητικό σχετίζεται με τον ιστότοπο που επικοινωνήσατε.
Στη συνέχεια, το πρόγραμμα περιήγησης χρησιμοποιεί το δημόσιο κλειδί για την κρυπτογράφηση ενός τυχαίου συμμετρικού κλειδιού κρυπτογράφησης και το στέλνει στον διακομιστή με την απαιτούμενη κρυπτογραφημένη διεύθυνση URL καθώς και άλλα κρυπτογραφημένα δεδομένα http.
Ο εξυπηρετητής ιστού αποκρυπτογραφεί το συμμετρικό κλειδί κρυπτογράφησης χρησιμοποιώντας το ιδιωτικό του κλειδί και χρησιμοποιεί το συμμετρικό κλειδί του προγράμματος περιήγησης για να αποκρυπτογραφήσει τα δεδομένα URL και http.
Ο διακομιστής ιστού στέλνει πίσω τα απαιτούμενα έγγραφα html και τα δεδομένα http κρυπτογραφημένα με το συμμετρικό κλειδί του προγράμματος περιήγησης. Ο φυλλομετρητής αποκρυπτογραφεί τα δεδομένα http και html χρησιμοποιώντας το συμμετρικό κλειδί και εμφανίζει τις πληροφορίες.
Και τώρα μπορείτε να αγοράσετε με σιγουριά το στοιχείο eBay που πραγματικά δεν χρειάζεστε.
Μάθατε τίποτα?
Εάν το κάνατε τόσο μακριά, βρισκόμαστε στο τέλος του μακρού μας ταξιδιού στην κατανόηση της κρυπτογράφησης και λίγο από το πώς λειτουργεί - ξεκινώντας από τις πρώτες ημέρες της κρυπτογράφησης με τους Έλληνες και τους Ρωμαίους, την άνοδο του Lucifer και τελικά πώς Το SSL χρησιμοποιεί ασύμμετρη και συμμετρική κρυπτογράφηση για να σας βοηθήσει να αγοράσετε αυτό το χνουδωτό ροζ λαγουδάκι στο eBay.
Είμαστε μεγάλοι οπαδοί της κρυπτογράφησης εδώ στο How-To Geek και έχουμε καλύψει πολλούς διαφορετικούς τρόπους για να κάνουμε πράγματα όπως:
- Ξεκινώντας με το TrueCrypt (για την ασφάλεια των δεδομένων σας)
- Προσθήκη αυτόματης κρυπτογράφησης ιστοτόπων στον Firefox
- Το BitLocker To Go Κρυπτογραφεί φορητές μονάδες λάμψης στα Windows 7
- Πώς να ασφαλίσετε τον υπολογιστή σας Linux με την κρυπτογράφηση του σκληρού σας δίσκου
- Προσθέστε επιλογές κρυπτογράφησης / αποκρυπτογράφησης σε Windows 7 / Vista Μενού δεξιού κλικ
- Ξεκινώντας με την κρυπτογράφηση μονάδων δίσκου TrueCrypt σε Mac OS X
Φυσικά η κρυπτογράφηση είναι πολύ περίπλοκο ένα θέμα για να εξηγήσει πραγματικά τα πάντα. Μας χάσαμε κάτι σημαντικό; Μη διστάσετε να δώσετε κάποια γνώση στους συναδέλφους αναγνώστες σας στα σχόλια.