26
ΤΕΙ Κρητης Τμημα Εφαρμοσμενης Πληροφορικης Και Πολυμεσων ΤΕΙ Κρήτης ΕΠΠ Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων Fysarakis Konstantinos, PhD [email protected] ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ

ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ · 2017. 11. 30. · Εργαστηριακές Ασκήσεις •Με τη χρήση του εργαλείου CryptToolνα εκτελεστούν

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ · 2017. 11. 30. · Εργαστηριακές Ασκήσεις •Με τη χρήση του εργαλείου CryptToolνα εκτελεστούν

ΤΕΙ Κρητης Τµηµα Εφαρµοσµενης Πληροφορικης Και Πολυµεσων

ΤΕΙ Κρήτης – ΕΠΠ

Εργαστήριο Ασφάλεια Πληροφοριακών

Συστηµάτων

Fysarakis Konstantinos, [email protected]

ΑΣΥΜΜΕΤΡΗΚΡΥΠΤΟΓΡΑΦΙΑ

Page 2: ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ · 2017. 11. 30. · Εργαστηριακές Ασκήσεις •Με τη χρήση του εργαλείου CryptToolνα εκτελεστούν

Εισαγωγή

• Η Aσύµµετρη Kρυπτογραφία ή ΚρυπτογραφίαΔηµοσίου Κλειδιού χρησιµοποιεί δύοδιαφορετικά κλειδιά για την κρυπτογράφησηκαι αποκρυπτογράφηση.

• Eπινοήθηκε στο τέλος της δεκαετίας του 1970από τους Whitfield Diffie και Martin Hellmanκαι παρέχει έναν εντελώς διαφορετικό µοντέλοδιαχείρισης των κλειδιών κρυπτογράφησης.

Page 3: ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ · 2017. 11. 30. · Εργαστηριακές Ασκήσεις •Με τη χρήση του εργαλείου CryptToolνα εκτελεστούν

Εισαγωγή

• Κάθε χρήστης έχει στην κατοχή του ένα ζεύγοςκλειδιών, το ένα καλείται δηµόσια κλείδα και τοάλλο καλείται ιδιωτική κλείδα.

• Η δηµόσια κλείδα δηµοσιοποιείται, ενώ ηιδιωτική κλείδα κρατείται µυστική. Η ιδιωτικήκλείδα δεν µεταδίδεται ποτέ στο δίκτυο και όλεςοι επικοινωνίες βασίζονται στην δηµόσιακλείδα.

Page 4: ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ · 2017. 11. 30. · Εργαστηριακές Ασκήσεις •Με τη χρήση του εργαλείου CryptToolνα εκτελεστούν

Εισαγωγή

• Η ανάγκη ο αποστολέας και ο παραλήπτης ναµοιράζονται το ίδιο κλειδί εξαφανίζεται και µαζί καιπολλά προβλήµατα που θα δούµε παρακάτω.

• Η µόνη απαίτηση της ασύµµετρης κρυπτογραφίας είναιη εµπιστεύσιµη και επιβεβαιωµένη συσχέτιση τωνδηµόσιων κλείδων µε τους κατόχους τους ώστε να µηνείναι δυνατή η σκόπιµη ή µη πλαστοπροσωπία.

• Η ασύµµετρη κρυπτογράφηση µπορεί ναχρησιµοποιηθεί όχι µόνο για κρυπτογράφηση, αλλά καιγια παραγωγή ψηφιακών υπογραφών.

Page 5: ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ · 2017. 11. 30. · Εργαστηριακές Ασκήσεις •Με τη χρήση του εργαλείου CryptToolνα εκτελεστούν

Εισαγωγή

• Η ιδιωτική κλείδα είναι µαθηµατικάσυνδεδεµένη µε την δηµόσια κλείδα. Τυπικά,λοιπόν, είναι δυνατόν να νικηθεί ένα τέτοιοκρυπτοσύστηµα ανακτώντας την ιδιωτικήκλείδα από την δηµόσια.

• Η επίλυση αυτού του προβλήµατος είναι πολύδύσκολη και συνήθως απαιτεί τηνπαραγοντοποίηση ενός µεγάλου αριθµού.

Page 6: ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ · 2017. 11. 30. · Εργαστηριακές Ασκήσεις •Με τη χρήση του εργαλείου CryptToolνα εκτελεστούν

Εισαγωγή

• Η κρυπτογράφηση µε χρήση της ασύµµετρηςκρυπτογραφίας γίνεται ως εξής:▫ όταν ο χρήστης Α θέλει να στείλει ένα µυστικό

µήνυµα στον χρήστη Β, χρησιµοποιεί την δηµόσιακλείδα του Β για να κρυπτογραφήσει το µήνυµα καιέπειτα το στέλνει στον Β.▫ Ο χρήστης Β, αφού παραλάβει το µήνυµα, κάνειχρήση της ιδιωτικής του κλείδας για να τοαποκρυπτογραφήσει.

Page 7: ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ · 2017. 11. 30. · Εργαστηριακές Ασκήσεις •Με τη χρήση του εργαλείου CryptToolνα εκτελεστούν

Εισαγωγή

• Κανένας που "ακούει" την σύνδεση δεν µπορείνα αποκρυπτογραφήσει το µήνυµα.

• Οποιοσδήποτε έχει την δηµόσια κλείδα του Βµπορεί να του στείλει µήνυµα και µόνο αυτόςµπορεί να το διαβάσει γιατί είναι ο µόνο πουγνωρίζει την ιδιωτική κλείδα.

Page 8: ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ · 2017. 11. 30. · Εργαστηριακές Ασκήσεις •Με τη χρήση του εργαλείου CryptToolνα εκτελεστούν

Εισαγωγή

• Πλεονεκτήµατα▫ Λύση στο πρόβληµα µεταφοράς-διαχείρισης τουιδιωτικού κλειδιού των συµµετρικών αλγορίθµων▫ Μόνο το µυστικό κλειδί πρέπει να κρατηθεί κρυφό▫ Εύκολη διαχείριση κλειδιών µε τη βοήθεια µιας τρίτηςεµπιστευτικής οντότητας▫ Είναι πιο αποτελεσµατικοί σε ψηφιακές υπογραφέςλόγω της διαχείρισης των κλειδιών και λόγω τουµεγέθους του κλειδιού επιβεβαίωσης της υπογραφής.

• Μειονεκτήµατα▫ Είναι χαρακτηριστικά πιο αργά σε σχέση µε τασυµµετρικά κρυπτοσυστήµατα.▫ Το µέγεθος των κλειδιών.

Page 9: ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ · 2017. 11. 30. · Εργαστηριακές Ασκήσεις •Με τη χρήση του εργαλείου CryptToolνα εκτελεστούν

Αλγόριθµοι Ασύµµετρης Κρυπτογραφίας

Page 10: ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ · 2017. 11. 30. · Εργαστηριακές Ασκήσεις •Με τη χρήση του εργαλείου CryptToolνα εκτελεστούν

RSA

• Το σύστηµα RSA είναι ένα σύστηµαασύµµετρης κρυπτογραφίας που προσφέρεικρυπτογράφηση και ψηφιακές υπογραφές.

• Αναπτύχθηκε το 1977 από τους Ron Rivest, AdiShamir και Leonard Adleman. Από τα αρχικάτων επιθέτων τους προέρχεται το ακρωνύµιοRSA.

• Κλειδιά µεγέθους 1024 - 2048 bits, συνήθως.

Page 11: ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ · 2017. 11. 30. · Εργαστηριακές Ασκήσεις •Με τη χρήση του εργαλείου CryptToolνα εκτελεστούν

Shamir, Rivest, Adleman

Page 12: ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ · 2017. 11. 30. · Εργαστηριακές Ασκήσεις •Με τη χρήση του εργαλείου CryptToolνα εκτελεστούν

Modulo Arithmetic

• Eίναι ένα αριθµητικό σύστηµα για ακεραίουςστο οποίο το αποτέλεσµα µίας πράξης δεν είναιδυνατό να είναι µεγαλύτερο από µια δεδοµένητιµή.▫ Γνωστό παράδειγµα είναι η χρήση του

24ωρου ρολογιού, (αριθµητική modulo), οιώρες αρχίζουν να ξαναµετράνε από την αρχήόταν φτάσουν στο 24

Page 13: ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ · 2017. 11. 30. · Εργαστηριακές Ασκήσεις •Με τη χρήση του εργαλείου CryptToolνα εκτελεστούν

RSA

• Το RSA λειτουργεί ως εξής:▫ Παίρνουµε δύο µεγάλους πρώτους αριθµούς p,q.

� Στα µαθηµατικά, πρώτος αριθµός είναι ένας φυσικός αριθµόςπου έχει ακριβώς 2 διαφορετικούς φυσικούς διαιρέτες: το 1και τον εαυτό του

▫ Υπολογίζουµε το γινόµενο τους n = pq. Το n καλείταισυντελεστής συστήµατος.▫ Διαλέγουµε ένα αριθµό e µικρότερο του n και τέτοιο,ώστε e και (p-1)(q-1) να µην έχουν κοινούς διαιρέτεςεκτός του 1.▫ Βρίσκουµε έναν άλλο αριθµό d, ώστε (ed-1) ναδιαιρείται από το (p-1)(q-1). Το d είναι το αντίστροφοτου e mod(p-1)(q-1)

Page 14: ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ · 2017. 11. 30. · Εργαστηριακές Ασκήσεις •Με τη χρήση του εργαλείου CryptToolνα εκτελεστούν

RSA

• Τα ζευγάρια (n,e) και (n,d) καλούνται δηµόσιακλείδα και ιδιωτική κλείδα, αντίστοιχα.

• Όλα τα µέρη του ιδιωτικού κλειδιού πρέπει νακρατηθούν µυστικά

• Τα p και q είναι ευαίσθητα καθώς από αυτάπαράγεται το n και επιτρέπουν τον υπολογισµότου d δεδοµένου του e

Page 15: ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ · 2017. 11. 30. · Εργαστηριακές Ασκήσεις •Με τη χρήση του εργαλείου CryptToolνα εκτελεστούν

RSA

• Είναι δύσκολο να βρεθεί η ιδιωτική κλείδα d από τηνδηµόσια κλείδα e. Αυτό θα απαιτούσε την εύρεση τωνδιαιρετέων του αριθµού n, δηλαδή των αριθµών p και q.Ο n είναι πολύ µεγάλος και επειδή είναι πρώτος, θα έχειµόνο δύο πρώτους διαιρέτες. Άρα η εύρεση τωνδιαιρετέων είναι πολύ δύσκολη έως και αδύνατη.

• Στο δυσεπίλυτο αυτό πρόβληµα βασίζεται το σύστηµαRSA.

• Η ανακάλυψη µιας εύκολης µεθόδου επίλυσης τουπροβλήµατος θα αχρήστευε το RSA

Page 16: ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ · 2017. 11. 30. · Εργαστηριακές Ασκήσεις •Με τη χρήση του εργαλείου CryptToolνα εκτελεστούν

RSA

• Με το RSA η κρυπτογράφηση και η πιστοποίησηταυτότητας πραγµατοποιούνται χωρίς των κοινή χρήσηιδιωτικών κλείδων.

• Ο καθένας χρησιµοποιεί µόνο την δικιά του ιδιωτικήκλείδα ή την δηµόσια κλείδα οποιουδήποτε άλλου.

• Όλοι µπορούν να στείλουν ένα κρυπτογραφηµένοµήνυµα ή να επαληθεύσουν µια υπογραφή, αλλά µόνο οκάτοχος της σωστής ιδιωτικής κλείδας µπορεί νααποκρυπτογραφήσει ή να υπογράψει ένα µήνυµα.

Page 17: ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ · 2017. 11. 30. · Εργαστηριακές Ασκήσεις •Με τη χρήση του εργαλείου CryptToolνα εκτελεστούν

Κρυπτογράφηση µε τον RSA

• Έστω ο χρήστης Α που θέλει να στείλεικρυπτογραφηµένο στον χρήστη Β ένα έγγραφο:▫ Ο Α κρυπτογραφεί το έγγραφο µε την εξής εξίσωση:� c = me mod n, όπου (n,e) είναι η δηµόσια κλείδα τουΒ.

▫ Ο Β, όταν παραλάβει το µήνυµα θα εφαρµόσει τηνεξής εξίσωση:� m = cd mod n, όπου (n,d) η ιδιωτική κλείδα του Β.▫ Η µαθηµατική σχέση που συνδέει το e και το dεξασφαλίζει το γεγονός ότι ο Β αποκρυπτογραφεί τοµήνυµα. Αφού µόνο ο Β ξέρει το d, µόνο αυτός µπορείνα αποκρυπτογραφήσει το µήνυµα.

Page 18: ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ · 2017. 11. 30. · Εργαστηριακές Ασκήσεις •Με τη χρήση του εργαλείου CryptToolνα εκτελεστούν

Παράδειγµα RSA

• Παραγωγή κλειδιού:▫ Επιλογή πρώτων αριθµών: p=17 & q=11▫ Υπολογισµός του n = pq =17×11=187▫ Υπολογισµός του (p–1)(q-1)=16×10=160▫ Επιλογή του e τέτοιου ώστε Μ.Κ.Δ.(e,160)=1� Επιλογή e=7▫ Προσδιορισµός του d τέτοιου ώστε de=1 mod 160 και d <

160� Η τιµή είναι d=23 µιας και 23×7=161= 1×160+1▫ Δηµόσιο κλειδί = {187, 7}▫ Ιδιωτικό κλειδί = {187,23}

Page 19: ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ · 2017. 11. 30. · Εργαστηριακές Ασκήσεις •Με τη χρήση του εργαλείου CryptToolνα εκτελεστούν

Παράδειγµα RSA

• Κρυπτογράφηση/Αποκρυπτογρά-φησηΜηνύµατος▫ Δεδοµένου µηνύµατοςM = 88 (88<187)▫ Κρυπτογράφηση:� C = 887 mod 187 = 11▫ Αποκρυπτογράφηση:� M = 1123 mod 187 = 88

Page 20: ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ · 2017. 11. 30. · Εργαστηριακές Ασκήσεις •Με τη χρήση του εργαλείου CryptToolνα εκτελεστούν

Ψηφιακές Υπογραφές µε τον RSA

• Ας υποθέσουµε, τώρα, ότι ο Α θέλει να στείλειµήνυµα στον Β µε τέτοιον τρόπο ώστε ο Β ναείναι σίγουρος ότι το µήνυµα είναι αυθεντικόκαι δεν έχει µεταβληθεί.▫ Ο Α υπογράφει το έγγραφο µε ως εξής: s = md mod n,όπου d και n είναι η ιδιωτική κλείδα του Α.▫ Για να επαληθεύσει την υπογραφή ο Β εκτελεί τηνπράξη: m = se mod n, όπου e και n η δηµόσια κλείδατου Α.

Page 21: ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ · 2017. 11. 30. · Εργαστηριακές Ασκήσεις •Με τη χρήση του εργαλείου CryptToolνα εκτελεστούν

Παράδειγµα RSA #2

• Για τον RSA επιλέγουµε p=3, q=5 έτσι ώστε n=15. Έπειτα επιλέγουµε e=3.

• Θέλουµε να κρυπτογραφήσουµε τη λέξη CAT.

• Χρησιµοποιούµε ASCII για να γράψουµε τη λέξη CAT σαν σειρά από 21 bits. ▫ CAT à 100001110000011010100� C à 1000011� A à 1000001 � T à 1010100

Page 22: ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ · 2017. 11. 30. · Εργαστηριακές Ασκήσεις •Με τη χρήση του εργαλείου CryptToolνα εκτελεστούν

Παράδειγµα RSA #2

• Χωρίζουµε τη σειρά που προκύπτει: ▫ 100001110000011010100

• ...σε 7 µπλοκ των 3 bits:▫ 100 001 110 000 011 010 100

• ...και γράφουµε το καθένα από αυτά ως ακέραιο από το 0 εώς το 7:▫ 100 001 110 000 011 010 100▫ 4 1 6 0 3 2 4

Page 23: ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ · 2017. 11. 30. · Εργαστηριακές Ασκήσεις •Με τη χρήση του εργαλείου CryptToolνα εκτελεστούν

Παράδειγµα RSA #2

• Έχουµε: ▫ Δηµόσιο κλειδί: (15, 3)▫ Ιδιωτικό κλειδί: (15, 9)

• Κρυπτογράφηση:▫ C = me (mod n)

• Άρα:▫ C = me (mod n) = 43 (mod 15) = 4▫ 13 (mod 15) = 1▫ 63 (mod 15) = 6▫ 03 (mod 15) = 0▫ 33 (mod 15) = 12▫ 23 (mod 15) = 2▫ 43 (mod 15) = 4

Page 24: ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ · 2017. 11. 30. · Εργαστηριακές Ασκήσεις •Με τη χρήση του εργαλείου CryptToolνα εκτελεστούν

Παράδειγµα RSA #2

• Τελικά...▫ Αρχικό: � 4 1 6 0 3 2 4▫ Κρυπτογραφηµένο:� 4 1 6 0 12 2 4

Page 25: ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ · 2017. 11. 30. · Εργαστηριακές Ασκήσεις •Με τη χρήση του εργαλείου CryptToolνα εκτελεστούν

Εργαστηριακές Ασκήσεις•Με τη χρήση του εργαλείου CryptTool να εκτελεστούν οι ακόλουθες ασκήσεις▫ Δηµιουργία ενός ασύµµετρου ζεύγους κλειδιών▫ Κρυπτογράφηση του κειµένου που δηµιουργήθηκε µε τη χρήση του ασύµµετρου αλγορίθµου RSA. ▫ Αποκρυπτογράφηση του κρυπτογραφήµατος που προέκυψε.

• RSA Demonstration• Factorization of number• Attack on small secret keys

Page 26: ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ · 2017. 11. 30. · Εργαστηριακές Ασκήσεις •Με τη χρήση του εργαλείου CryptToolνα εκτελεστούν

4η Εργαστηριακή Άσκηση

Για τον RSA επιλέγουμε p=3, q=5 έτσι ώστε n=15. Έπειτα επιλέγουμε e=3.

a) Χρησιμοποιήστε ASCII-to-Binary για να γράψετε τη λέξη DOG σανσειρά από 21 bits.

b) Διαιρέστε τη σειρά που προκύπτει σε 7 μπλοκ των 3 bits και γράψτεκαθένα από αυτά ως ακέραιο από το 0 εώς το 7.

c) Κρυπτογραφήστε καθένα από τα μπλοκ με χρήση του RSA (με n=15και e=3) και αναφέρετε το αποτέλεσμα.

Η απάντηση πρέπει να είναι 7 ακέραιοι αριθμοί από το 0 εώς το 14.

DEADLINE: 7 Δεκεμβρίου 2017