370 likes | 579 Views
Κρυπτογραφία: Βασικά θέματα και εφαρμογές. Δρ Ελευθέριος Μπόζιος mpozios@auth.gr 2310993081. Κρυπτογραφία - Κρυπτανάλυση. Εννοιες Plaintext Ciphertext Encryption Key. Κρυπτογραφία - Κρυπτανάλυση.
E N D
Κρυπτογραφία: Βασικά θέματα και εφαρμογές Δρ Ελευθέριος Μπόζιος mpozios@auth.gr 2310993081
Κρυπτογραφία - Κρυπτανάλυση Εννοιες • Plaintext • Ciphertext • Encryption Key
Κρυπτογραφία - Κρυπτανάλυση • Μυστικότητα (secrecy). Η κρυπτογραφημένη πληροφορία θα πρέπει να είναι προσιτή μόνο στο πρόσωπο που κατέχει το μυστικό της αποκρυπτογράφησης του κώδικα. • Πιστοποίηση (authentication). Θα πρέπει ο παραλήπτης ενός μηνύματος να μπορεί να βεβαιωθεί για την προέλευσή του, αποκλείοντας την περίπτωση να χρησιμοποιεί κάποιος την ταυτότητα άλλου. • Ακεραιότητα (integrity). Θα πρέπει να μπορεί ο παραλήπτης να βεβαιώνεται ότι τα δεδομένα που παρέλαβε δεν τροποποιήθηκαν κατά την μεταφορά. • Ταυτοποίηση (non-repudiation). Δεν θα πρέπει να είναι δυνατόν για τον αποστολέα ενός μηνύματος να αρνηθεί αργότερα την πράξη του.
Κρυπτογραφία - Κρυπτανάλυση Οι εφαρμογές είναι πολλές και ποικίλες: • Ασφαλείς δικτυακές επικοινωνίες. • Ασφαλής αποθήκευση αρχείων. • Ασφαλές ηλεκτρονικό ταχυδρομείο. • Ασφαλές ηλεκτρονικό εμπόριο.
Κατηγορίες κρυπτογραφικών συστημάτων • Συμμετρικά συστήματα ή συστήματα μυστικού κλειδιού EK(M)=C DK(C)=M
Stream Ciphers Παραγωγή συμβολοσειράς δυαδικών ψηφίων r1, r2, r3 ... rn... • Κρυπτογράφηση : ci = mi XOR ri • Αποκρυπτογράφηση : mi = ci XOR ri
Βασικοί Αλγόριθμοι Συμμετρικής Κρυπτογράφησης
Τι είναι ο αλγόριθμος AES ; AES = Advanced Encryption Standard Το AES είναι ένα πρότυπο ασφαλείας, για την κρυπτογράφηση ηλεκτρονικών/ψηφιακών δεδομένων Θεσπίστηκε από το NIST (National Institute of Security Technologies) των ΗΠΑ, έπειτα από διαγωνισμό το 1997 διαφόρων αλγόριθμων. Το ισχύων DES (Data Encryption Standard), ήταν αρκετά παλιό και πλέον ευάλωτο σε επιθέσεις από τους όλο και ισχυρότερους Η/Υ. Τον Φεβρουάριο του 2000 εκδόθηκε το FIPS-197 (Federal Information Processing Standard) σύμφωνα με το οποίο ο αλγόριθμος Rijndeal ήταν η βάση του AES.
Ο διαγωνισμός του NIST Μέχρι το Αύγουστο του 1998 είχαν αποσταλεί 15 αλγόριθμοι για ανάλυση και αξιολόγηση. Κατόπιν περαιτέρω αξιολόγησης το 1999 έμειναν 5 “finalist”, οι: MARS, RC6, Rijndael, Serpent και Twofish Τον Οκτώβριο του 1999 τα αποτελέσματα της αξιολόγησης είχαν ως εξής:
AES = Advanced Encryption Standard Ο AES κρυπτογραφεί δεδομένα σε blocks βάσει κλειδιού. Τα blocks είναι μεγέθους 128 bit και το κλειδί είναι ποικίλου μεγέθους, 128, 192 και 256 bit. Είναι είναι ένας επαναληπτικός αλγόριθμος blocks (πινάκων). Σε κάθε εφαρμογή της επανάληψης οι μετατροπές γίνονται σε έναν ενδιάμεσο πίνακα, των αποκαλούμενο State. Στο τέλος της διαδικασίας ο State γίνεται η παραγόμενη έξοδος Ο αλγόριθμος Rijndael, η βάση του AES, υποστηρίζει και δεδομένα σε blocks 192 και 256bit, με όλους τους δυνατούς συνδυασμούς κλειδιών. Το AES δέχεται σαν είσοδο μόνο blocks των 128bit.
Πρότυπο Κρυπτογράφησης Δεδομένων (Data Encryption Standard [DES])
Σχηματική λειτουργία του ενός γύρου του DES
Λειτουργία DES • ECB Electronic Code Book (κανονική λειτουργία) • CBC Cipher Block Chaining - Τα 64 bit block προτού να κρυπτογραφηθούν γίνεται XOR με το ciphertext του προηγούμενου block.
Triple DES • DES EEE3 - 3 encryption -3 διαφορετικά κλειδιά. • DES EDE3 - Encryption - decryption - encryption - 3 διαφορετικά κλειδιά. • DES EEE2 και EDE2 όπως τα προηγούμενα αλλά το πρώτο και το τρίτο στάδιο έχουν ίδια κλειδιά.
Σχέση Μήκους Κλειδιού και Χρόνου Ανάλυσης
Παραλλαγές DES RC2 - RC4 Υλοποίηση με λογισμικό - Γρηγορότερα του DES. Μεταβλητό μέγεθοςκλειδιού 40bits – 256bits. Αποτελεί τον περισσότερο ευρέως αναπτυσσόμενο stream cipher σε εφαρμογές λογισμικού λόγω της απλότητας και της αποδοτικότητάς του RC5 Μεταβλητό μέγεθος Block 32, 64, 128 Μεταβλητό μέγεθοςκλειδιού 0 - 2048 μεταβλητός αριθμός κύκλων 0 -255 IDEA Μέγεθος Block 64 Μέγεθοςκλειδιού 128 Αριθμός κύκλων 8
Ασύμμετρα κρυπτοσυστήματα ή συστήματα δημοσίου κλειδιού. • Η κρυπτογράφηση με δημόσιο κλειδί δηλώνεται με την σχέση: EKpub(M)=C Παρόλο που τα δύο κλειδιά είναι διαφορετικά, η αποκρυπτογράφηση με το αντίστοιχο ιδιωτικό κλειδί δίνεται από τη σχέση: DKpriv(C)=M
Συνοπτική περιγραφή του αλγόριθμου MIT ή RSA
Συνοπτική περιγραφή του αλγόριθμου MIT ή RSA Π.Χ. p = 3 , q = 11 -> n = 33 , z = 20, k =5 AΝ ΕΠΙΛΕΓΕΙ d = 7 -> e = 3 AN P = 19 -> C = P3 (mod33) -> C = 28 KAI P =C7 (mod 33) -> C = 19 AN ΟΜΩΣ p KAI q ΠΡΟΣΕΓΓΙΖΟΥΝ ΤΟ 10100 ΤΟΤΕ n ΠΕΡΙΠΟΥ 10200 ΚΑΙ ΚΑΘΕ ΜΠΛΟΚ ΧΑΡΑΚΤΗΡΩΝ ΘΑ ΕΙΝΑΙ 664 ΒΙΤS (2664 ΠΕΡΙΠΟΥ 10200) H 83 ΧΑΡΑΚΤΗΡΕΣ ΤΩΝ 8 ΒΙΤS.
Κρυπτανάλυση • Προσβολή βάσει κρυπτογραφήματος (ciphertext-onlyattack) • Προσβολή γνωστού κειμένου (known-plaintextattack) • Προσβολή επιλεγμένου κειμένου (chosen-plaintextattack). • Προσβολή προσαρμόσιμου επιλεγμένου κειμένου (adaptive-chosen-plaintextattack). • Προσβολή επιλεγμένου κρυπτογραφήματος (chosen-ciphertextattack).
Προσβολή αλγόριθμου κρυπτογράφησης • Απόλυτο σπάσιμο (totalbreak). • Καθολική ανάλυση (globaldeduction). • Περιπτωσιακή ή τοπική ανάλυση (instance ή localdeduction). • Απόκτηση πληροφοριών (informationdeduction).
Πολυπλοκότητα επίθεσης • Πολυπλοκότητα δεδομένων (datacomplexity). Η απαιτούμενη για την επίθεση ποσότητα δεδομένων. • Υπολογιστική πολυπλοκότητα (processingcomplexity). Ο χρόνος που διαρκεί η επίθεση. Συχνά καλείται και παράγοντας εργασίας (work factor). • Αποθηκευτικές ανάγκες (storagerequirements). Η απαιτούμενη για την επίθεση ποσότητα μνήμης.
Εφαρμογές της Κρυπτογραφίας • Ασφαλής προσπέλαση • Ψηφιακές υπογραφές • Ηλεκτρονική μεταβίβαση δεδομένων • Electronic Data Interchange (EDI) • Ηλεκτρονικές πληρωμές
Τα συστατικά της υποδομής δημόσιου κλειδιού PKI • Ηαρχήπιστοποίησης [Certification Authority (CA)] • Ηαρχήεγγραφής [Registration Authority (RA)] • Οι πελάτες της υποδομής δημόσιου κλειδιού (Clients) • Τα ψηφιακά πιστοποιητικά (Digital certificates) • Το σύστημα διανομής πιστοποιητικών (Certificate Distribution System) • Αποθήκη πιστοποιητικών (Certificate repository)
Σύγχρονες Εφαρμογές RC4 • Ασύρματα δίκτυα: Πρωτόκολλο WEP (Wired Equivalent Privacy)- 802.11b, WPA2 (Wi-Fi Protected Access) – 802.11i. • Διαδίκτυο – Συνδέσεις SSL/TLS. • Απομακρυσμένη διασύνδεση SSH (Secure Shell). • Microsoft Windows • MPPE (Microsoft Point to Point Encryption), συνδέσεις PPP και PPTP στα Εικονικά Δίκτυα (VPNs). • Oracle Secure SQL. • Και σε πολλές άλλες εφαρμογές λογισμικού. π.χ. Adobe • Acrobat (128-bit), RSA Secure PC(128-bit). • Είναι επί του παρόντος ο πιο ευρέως χρησιμοποιούμενος stream cipher.
Ψηφιακές υπογραφές • Ψηφιακή υπογραφή με χρήση δημοσίου κλειδιού • Ψηφιακή υπογραφή με DSA • Αυθεντικοποίηση μηνύματος με χρήση CHECKSUMS • Αυθεντικοποίηση μηνύματος με χρήση Hash συναρτήσεις
Ψηφιακή υπογραφή– έλεγχος εγκυρότητας