Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
ΔημοσίευσεΘήρων Πολίτης Τροποποιήθηκε πριν 8 χρόνια
1
1 Ψηφιακές Υπογραφές (Digital Signatures)
2
2 Ψηφιακές υπογραφές (Digital signatures) “ψηφιακός” (“digital”): αποτελείται από ακολουθίες ψηφίων –Συμπέρασμα: οτιδήποτε ψηφιακό μπορεί να αντιγραφεί π.χ., αντιγράφοντας ένα ψηφίο τη φορά: αφού μπορούμε να το διαβάσουμε, μπορούμε και να το αντιγράψουμε “υπογραφή” (“signature”): σχήμα που να μπορεί να διαβαστεί αλλά (στόχος είναι) να μη μπορεί να αντιγραφεί από κανέναν άλλον εκτός από τον συγγραφέα της Πώς μπορεί να δημιουργηθεί ψηφιακή υπογραφή που να μη μπορεί να αντιγραφεί;
3
3 Πού χρησιμοποιούνται ψηφιακές υπογραφές; Σκέψη 1: για ό,τι και οι κλασσικές υπογραφές σε χαρτί π.χ., σε επιταγές ή άλλα νομικά έγγραφα Σκέψη 2: μάλλον όχι… αφού όταν κάνουμε πληρωμή είτε με πιστωτική κάρτα είτε με online τραπεζική συναλλαγή δεν υπογράφουμε πουθενά… –Πιστωτικές κάρτες: δεν απαιτούν υπογραφή –Online τραπεζικές συναλλαγές: απαιτούν όνομα σύνδεσης και κωδικό για να πιστοποιηθεί η ταυτότητά μας και δεν απαιτείται υπογραφή για πραγματοποίηση πληρωμών
4
4 Πού χρησιμοποιούνται ψηφιακές υπογραφές; Συνήθως οι άλλοι υπογράφουν το υλικό που μάς στέλνουν, δεν υπογράφουμε εμείς το υλικό που στέλνουμε… χωρίς βέβαια να το καταλαβαίνουμε αφού οι ψηφιακές υπογραφές επαληθεύονται αυτόματα από τον υπολογιστή μας –Όταν κατεβάζουμε λογισμικό από το internet, το πρόγραμμα πλοήγησης που χρησιμοποιούμε (Internet Εxplorer, Firefox, Chrome, …) πιθανώς ελέγχει αν το λογισμικό έχει έγκυρη ψηφιακή υπογραφή και παρουσιάζει προειδοποίηση όπως οι παρακάτω
5
5
6
6 Πού χρησιμοποιούνται ψηφιακές υπογραφές; Αν το λογισμικό έχει έγκυρη ψηφιακή υπογραφή ο υπολογιστής μπορεί να πει με σιγουριά το όνομα της εταιρείας που έφτιαξε το λογισμικό – αυτό φυσικά δεν εγγυάται ότι το λογισμικό είναι ασφαλές αλλά τουλάχιστον μπορούμε να πάρουμε απόφαση για το αν θα το κατεβάσουμε με βάση την εμπιστοσύνη που έχουμε στη συγκεκριμένη εταιρεία Αν το λογισμικό δεν έχει έγκυρη ψηφιακή υπογραφή ή αν δεν έχει καμμία υπογραφή δεν έχουμε καμμία διαβεβαίωση για την πηγή του λογισμικού – μπορεί φυσικά το λογισμικό να φτιάχτηκε από κάποιο άτομο που δεν είχε χρόνο ή κίνητρο να δημιουργήσει μια ψηφιακή υπογραφή, οπότε εναπόκειται σε εμάς να αποφασίσουμε αν εμπιστευόμαστε ή όχι το συγκεκριμένο λογισμικό
7
7 Πού χρησιμοποιούνται ψηφιακές υπογραφές; Οι ψηφιακές υπογραφές χρησιμοποιούνται κυρίως σε πακέτα λογισμικού Επιπλέον, ο υπολογιστής μας λαμβάνει και επαληθεύει συνεχώς ψηφιακές υπογραφές επειδή συχνά χρησιμοποιούμενα πρωτόκολλα στο internet χρησιμοποιούν ψηφιακές υπογραφές για να επαληθεύσουν την ταυτότητα των υπολογιστών με τους οποίους αλληλεπιδρούμε –Ασφαλείς εξυπηρετητές (servers) των οποίων η διεύθυνση ξεκινάει με “https” συνήθως στέλνουν στον υπολογιστή μας ένα ψηφιακά υπογεγραμμένο πιστοποιητικό πριν εγκαθιδρυθεί ασφαλής σύνδεση Ψηφιακές υπογραφές χρησιμοποιούνται για την επαλήθευση της γνησιότητας πολλών τμημάτων λογισμικού όπως επιπρόσθετων προγραμμάτων (plugins) για προγράμματα πλοήγησης στο internet –Ίσως έχετε δει τέτοια μηνύματα όταν πλοηγήστε στο web Όταν κάποια websites μάς ζητάνε να γράψουμε το όνομά μας σε κάποια online φόρμα σαν υπογραφή, αυτό ΔΕΝ είναι ψηφιακή υπογραφή –Τέτοιου είδους υπογραφή μπορεί εξάλλου απλούστατα να πλαστογραφηθεί από οποιονδήποτε γνωρίζει το όνομά μας Θα δούμε στη συνέχεια πώς μπορούν να δημιουργηθούν ψηφιακές υπογραφές που δεν μπορούν να πλαστογραφηθούν
8
8 Συνηθισμένες υπογραφές Όταν χρησιμοποιούμε τις παραδοσιακές υπογραφές σε χαρτί, αποσκοπούμε στο να επικυρώσουμε έγγραφα – και φυσικά κάτι τέτοιο προϋποθέτει την ύπαρξη κι άλλων μερών (π.χ., ατόμων) –Φανταστείτε ότι βρίσκουμε ένα χαρτί που λέει ότι “Υπόσχομαι να δώσω €100 στην Κατερίνα. Υπογραφή, Εύη” –Πώς μπορούμε να επαληθεύσουμε ότι πράγματι η Εύη υπέγραψε αυτό το έγγραφο; –Απάντηση: χρειαζόμαστε κάποιο αρχείο υπογραφών που ξέρουμε ότι είναι αληθές όπου μπορούμε να ελέγξουμε ότι η υπογραφή της Εύης είναι αυθεντική Στην πραγματικότητα, οργανισμοί όπως τράπεζες και υπηρεσίες παίζουν αυτό το ρόλο: κρατάνε πράγματι αρχεία με τις υπογραφές των πελατών τους τα οποία μπορούν να ελεγχθούν αν χρειαστεί –Υποθέτουμε ότι στο δικό μας σενάριο ο οργανισμός που εμπιστευόμαστε καλείται “τράπεζα χειρόγραφων υπογραφών” και κρατάει αντίγραφο από τις υπογραφές ατόμων
9
9 Χαρτί με χειρόγραφη υπογραφή Τράπεζα που φυλάσσει τις ταυτότητες των πελατών της μαζί με δείγματα χειρόγραφων υπογραφών τους τράπεζα χειρόγραφων υπογραφών Εύη Σταύρος Κατερίνα Evi Stavros Katerina Υπόσχομαι να δώσω €100 στην Κατερίνα. Υπογραφή Εύη Evi
10
10 Συνηθισμένες υπογραφές Για να επαληθεύσουμε την υπογραφή της Εύης αρκεί να πάμε στην τράπεζα χειρόγραφων υπογραφών και να ελέγξουμε την υπογραφή της Εύης Στο σημείο αυτό κάνουμε δύο σημαντικές υποθέσεις: –1. υποθέτουμε ότι η τράπεζα είναι αξιόπιστη: θεωρητικά θα μπορούσαν οι υπάλληλοι της τράπεζας χειρόγραφων υπογραφών να τροποποιήσουν την υπογραφή της Εύης με την υπογραφή κάποιου άλλου… –2. υποθέτουμε ότι κάποιος κακόβουλος δεν μπορεί να πλαστογραφήσει την υπογραφή της Εύης: κάτι τέτοιο δεν είναι γενικά αληθές αφού κάποιος πλαστογράφος μπορεί εύκολα να αναπαράγει μια υπογραφή Όπως θα δούμε στη συνέχεια, οι ψηφιακές υπογραφές ΔΕΝ είναι δυνατόν να πλαστογραφηθούν
11
11 Υπογραφή με χρήση λουκέτου Ξεχνάμε τις χειρόγραφες υπογραφές και υιοθετούμε μια νέα μέθοδο διαπίστωσης της γνησιότητας εγγράφων που βασίζεται στη χρήση λουκέτων, κλειδιών και κλειδωμένων κουτιών –Κάθε συμμετέχων (δηλ., στο παράδειγμά μας η Εύη, ο Σταύρος και η Κατερίνα) λαμβάνει μεγάλο αριθμό λουκέτων: λουκέτα που δίνονται στο ίδιο άτομο είναι ίδια μεταξύ τους –Τα λουκέτα κάθε συμμετέχοντος ανοίγουν αποκλειστικά από τον ίδιον (δεν μπορεί να τα ξεκλειδώσει κανείς άλλος) –Όλα τα λουκέτα έχουν το εξής μη συνηθισμένο χαρακτηριστικό: έχουν βιομετρικό αισθητήρα που διασφαλίζει ότι μόνο ο κάτοχός τους μπορεί να τα ξεκλειδώσει (κάθε συμμετέχων μπορεί να ξεκλειδώσει τα δικά του λουκέτα αλλά κανενός άλλου) Αυτές είναι οι αρχικές υποθέσεις για την ιδέα της “χρήσης φυσικών λουκέτων”
12
12 Με βάση την ιδέα της χρήσης φυσικών λουκέτων, κάθε συμμετέχων διαθέτει μεγάλο αριθμό λουκέτων και κλειδιών και μόνο αυτός μπορεί να ξεκλειδώσει τα δικά του λουκέτα Εύη
13
13 Υπογραφή με χρήση λουκέτου Υποθέτουμε ότι η Εύη χρωστάει στη Κατερίνα €100 και η Κατερίνα θέλει να το καταγράψει με επαληθεύσιμο τρόπο: θέλει δηλ., ένα έγγραφο σαν αυτό που είδαμε αλλά χωρίς χειρόγραφη υπογραφή η Εύη φτιάχνει ένα έγγραφο που δηλώνει ότι “η Εύη θα δώσει €100 στη Κατερίνα” και το τοποθετεί σε ένα κουτί με λουκέτο, το κλειδώνει με ένα από τα λουκέτα της και δίνει το κλειδωμένο κουτί στη Κατερίνα: το κλειδωμένο κουτί αποτελεί τώρα την υπογραφή για το έγγραφο –Παρατήρηση: θα ήταν καλή ιδέα είτε η Κατερίνα είτε κάποιος άλλος αξιόπιστος μάρτυρας να παρακολουθεί τη διαδικασία δημιουργίας της υπογραφής: αλλιώς η Εύη θα μπορούσε να τοποθετήσει ένα άσχετο έγγραφο στο κουτί
14
14 Για να φτιάξει μια επαληθεύσιμη υπογραφή με χρήση φυσικού λουκέτου, η Εύη τοποθετεί αντίγραφο του εγγράφου σε ένα κουτί το οποίο κλειδώνει με ένα από τα δικά της λουκέτα Εύη Η Εύη υπόσχεται να δώσει €100 στην Κατερίνα.
15
15 Υπογραφή με χρήση λουκέτου Πώς μπορεί τώρα η Κατερίνα να πιστοποιήσει τη γνησιότητα του εγγράφου της Εύης; Αν κάποιος άλλος ή ακόμα και η ίδια η Εύη αρνηθεί τη γνησιότητα του εγγράφου η Κατερίνα μπορεί να πει “Ok Εύη, δως μου ένα από τα κλειδιά σου και θα προσπαθήσω να ανοίξω το κλειδωμένο κουτί με αυτό” Παρουσία της Εύης και άλλων μαρτύρων, η Κατερίνα ξεκλειδώνει το λουκέτο και εμφανίζει το περιεχόμενο του κουτιού και παρατηρεί: “Εύη, αφού είσαι το μόνο άτομο με πρόσβαση σε λουκέτα που ανοίγουν με αυτό το κλειδί κανείς άλλος δεν μπορεί να είναι υπεύθυνος για τα περιεχόμενα του κουτιού. Επομένως, εσύ έγραψες το σημείωμα και το τοποθέτησες στο κουτί και μου χρωστάς €100!” Αυτή η μέθοδος πιστοποίησης γνησιότητας είναι πρακτική και ισχυρή: το μόνο πρόβλημα είναι ότι απαιτεί τη συνεργασία της Εύης: πριν να μπορέσει η Κατερίνα να αποδείξει οτιδήποτε πρέπει η Εύη να της δανείσει ένα από τα κλειδιά της –Φυσικά η Εύη θα μπορούσε να αρνηθεί ή να προσποιηθεί ότι συνεργάζεται και να δώσει κλειδί που δεν ανοίγει το λουκέτο ισχυριζόμενη ότι το έγγραφο τοποθετήθηκε στο κουτί χωρίς δική της γνώση ή συναίνεση
16
16 Υπογραφή με χρήση λουκέτου Για να αποτρέψουμε την Εύη από το να ισχυριστεί ότι δεν κλείδωσε αυτή το κουτί, χρειαζόμαστε ένα τρίτο εμπιστευόμενο μέρος όπως μία τράπεζα που να φυλάσσει κλειδιά Τώρα οι συμμετέχοντες δίνουν στην τράπεζα ένα κλειδί που ανοίγει τα δικά τους λουκέτα –Οπότε αν η Κατερίνα χρειαστεί να αποδείξει ότι η Εύη έγραψε το έγγραφο πηγαίνει το κουτί στην τράπεζα παρουσία κάποιου μάρτυρα και το ξεκλειδώνει εκεί με το κλειδί της Εύης –Το ότι το κουτί ανοίγει αποδεικνύει ότι μόνο η Εύη μπορεί να είναι υπεύθυνη για το περιεχόμενο του κουτιού και ότι το κουτί περιέχει το έγγραφο του οποίου τη γνησιότητα προσπαθεί να αποδείξει η Κατερίνα Τράπεζα Αποθήκευσης κλειδιών Εύη Σταύρος Κατερίνα Εύη Σταύρος Κατερίνα
17
17 Πώς χρησιμοποιούνται οι ψηφιακές υπογραφές; Σχήματα από http://www.eett.gr/opencms/opencms/EETT/Electronic_Communications/DigitalSignatures/IntroEsign.html
18
18 Υπογραφή με χρήση πολλαπλασιαστικού λουκέτου Η ιδέα με τα κλειδιά και τα λουκέτα που μόλις περιγράψαμε αποτελεί την απαραίτητη προσέγγιση για τις ψηφιακές υπογραφές Προφανώς, δεν μπορούμε να χρησιμοποιούμε λουκέτα και κλειδιά για υπογραφές που πρέπει να μεταδοθούν ηλεκτρονικά… Θα αντικαταστήσουμε επομένως λουκέτα και κλειδιά με ανάλογα μαθηματικά αντικείμενα που μπορούν να αναπαρασταθούν ψηφιακά –Τα λουκέτα θα αναπαρασταθούν από αριθμούς –Το κλείδωμα/ξεκλείδωμά τους θα αναπαρασταθεί από πολλαπλασιασμό με αριθμητική ρολογιού (που ουσιαστικά κάνει χρήση υπολοίπων διαιρέσεων)
19
19 Υπογραφή με χρήση πολλαπλασιαστικού λουκέτου Οι υπολογιστές για να δημιουργήσουν ψηφιακές υπογραφές που δεν μπορούν να πλαστογραφηθούν χρησιμοποιούν τεράστια μεγέθη ρολογιού συνήθως μήκους δεκάδων ή εκατοντάδων ψηφίων Εμείς για χάρη του παραδείγματος θα χρησιμοποιήσουμε μέγεθος ρολογιού 11 – δείτε στην επόμενη διαφάνεια έναν πίνακα που περιέχει όλες τις τιμές που προκύπτουν από πολλαπλασιασμό αριθμών μικρότερων του 11 –Τότε για να υπολογίζουμε το 7 × 5 κάνουμε πρώτα τον υπολογισμό με κανονική αριθμητική: 7 × 5 = 35 και στη συνέχεια λαμβάνουμε το υπόλοιπο της διαίρεσης με 11 που είναι 2 (35=3*11+2) –Κοιτάζοντας στον πίνακα στη γραμμή 7 και τη στήλη 5 (ή ανάποδα στήλη 7, γραμμή 5) βλέπουμε ότι το αποτέλεσμα είναι πράγματι 2
20
20 Πίνακας πολλαπλασιασμού για μέγεθος ρολογιού 11 Κάθε κελί προκύπτει ως: (γραμμή*στήλη)mod 11, δηλ., κρατάμε το υπόλοιπο της διαίρεσης (γραμμή*στήλη)/11 12345678910 1123456789 22468 13579 3369147 258 44815926 37 55 49382716 661728394 5 773 6295184 8852 741963 997531 8642 987654321
21
21 Υπογραφή με χρήση πολλαπλασιαστικού λουκέτου Μέχρι τώρα αναζητούσαμε τρόπους για να υπογράψει η Εύη ένα μήνυμα προς την Κατερίνα το οποίο ήταν γραμμένο στα αγγλικά Από εδώ και πέρα θα δουλεύουμε μόνο με αριθμούς και τα μηνύματα θα είναι «μεταφρασμένα» σε ακολουθίες αριθμών (αφού είναι πάντα δυνατόν να μεταφραστούν ακολουθίες αριθμών σε γράμματα και αντίστροφα) Υποθέτουμε ότι το μήνυμα που θέλει να υπογράψει η Εύη είναι εξαιρετικά σύντομο, π.χ., ένα μόνο ψηφίο – πώς θα το κάνει με χρήση της ιδέας του πολλαπλασιαστικού λουκέτου; η Εύη χρειάζεται ένα λουκέτο και ένα κλειδί που να το ξεκλειδώνει –Επιλέγει πρώτα μέγεθος ρολογιού –Μετά επιλέγει κάποιον αριθμό μικρότερο από το μέγεθος ρολογιού σαν το αριθμητικό της λουκέτο (στην πραγματικότητα, κάποιοι αριθμοί είναι καλύτεροι): υποθέτουμε ότι η Εύη διαλέγει μέγεθος ρολογιού 11 και για λουκέτο τον αριθμό 6
22
22 Το μήνυμα που θέλουμε να υπογράψουμε είναι ο αριθμός 5, το λουκέτο είναι ένας άλλος αριθμός, το 6 και η διαδικασία κλειδώματος αντιστοιχεί σε πολλαπλασιασμό με δοσμένο μέγεθος ρολογιού: το τελικό αποτέλεσμα, δηλ., ο αριθμός 8 αποτελεί την ψηφιακή υπογραφή για το μήνυμα Η Εύη θα δώσει €100 στην Κατερίνα. Η Εύη θα δώσει €100 στην Κατερίνα. Εύη μήνυμα λουκέτο υπογραφή Πολλαπλασιασμός με 6, Με μέγεθος ρολογιού 11
23
23 Υπογραφή με χρήση πολλαπλασιαστικού λουκέτου Πώς κλειδώνει η Εύη το μήνυμά της στο κουτί χρησιμοποιώντας το λουκέτο της; Μέσω πολλαπλασιασμού ως εξής: η κλειδωμένη εκδοχή του μηνύματός της είναι το λουκέτο της πολλαπλασιασμένο με το μήνυμα (χρησιμοποιώντας μέγεθος ρολογιού 11) Υποθέτουμε ότι το μήνυμα της Εύης είναι το “5” Το “κλειδωμένο” μήνυμά της θα είναι το 6 × 5, που με χρήση μεγέθους ρολογιού 11 είναι το 8 που αποτελεί και την ψηφιακή υπογραφή της Εύης
24
24 Υπογραφή με χρήση πολλαπλασιαστικού λουκέτου Πώς μπορούμε να ξεκλειδώσουμε το κλειδωμένο μήνυμα; Χρησιμοποιώντας κάποιου είδους μαθηματικό κλειδί Η ιδέα είναι να ξαναχρησιμοποιήσουμε πολλαπλασιασμό με χρήση αριθμητικής ρολογιού αλλά αυτή τη φορά θα πολλαπλασιάσουμε με διαφορετικό αριθμό ειδικά επιλεγμένο –η Εύη χρησιμοποιεί μέγεθος ρολογιού 11 και σα λουκέτο τον αριθμό 6 –Αποδεικνύεται ότι το κλειδί που ξεκλειδώνει το μήνυμα είναι το 2 – ΓΙΑΤΙ; 1=μέγεθος ρολογιού*k+λουκέτο*κλειδί (1=11*(-1)+6*κλειδί) –Για να δούμε αν ισχύει αλήθεια αυτό: ξεκλειδώνουμε το κλειδωμένο μήνυμα πολλαπλασιάζοντας με το κλειδί –η Εύη κλείδωσε το μήνυμα 5 με το λουκέτο 6 και έλαβε το κλειδωμένο μήνυμα ή αλλιώς την ψηφιακή υπογραφή 8 –Για να ξεκλειδώσουμε, παίρνουμε το 8 και το πολλαπλασιάζουμε με το κλειδί 2 που δίνει 5 με χρήση αριθμητικής ρολογιού μεγέθους 11 Δείτε επίσης ότι το μήνυμα “3” γίνεται “7” όταν κλειδωθεί και ξεκλειδώνεται σε “3” όταν χρησιμοποιηθεί το κλειδί Όμοια, το μήνυμα “2” γίνεται “1” όταν κλειδωθεί και ξεκλειδώνεται σε “2” όταν χρησιμοποιηθεί το κλειδί
25
25 Η διαδικασία κλειδώματος παράγει μια ψηφιακή υπογραφή ενώ η διαδικασία ξεκλειδώματος παράγει ένα μήνυμα: αν το ξεκλειδωμένο μήνυμα ταιριάζει με το αρχικό, η ψηφιακή υπογραφή επαληθεύεται και πιστοποιείται η γνησιότητα του αρχικού μηνύματος – αλλιώς το αρχικό μήνυμα έχει πλαστογραφηθεί Η Εύη θα δώσει €100 στην Κατερίνα. Η Εύη θα δώσει €100 στην Κατερίνα. Η Εύη θα δώσει €100 στην Κατερίνα. Εύη Πολλαπλασιασμός με 6, Με μέγεθος ρολογιού 11 Πολλαπλασιασμός με 6, Με μέγεθος ρολογιού 11 Πολλαπλασιασμός με 6, Με μέγεθος ρολογιού 11 Πολλαπλασιασμός με 2, Με μέγεθος ρολογιού 11 Πολλαπλασιασμός με 2, Με μέγεθος ρολογιού 11 Πολλαπλασιασμός με 2, Με μέγεθος ρολογιού 11 μήνυμαλουκέτουπογραφήκλειδίεπαληθευμένη υπογραφή
26
26 Υπογραφή με χρήση πολλαπλασιαστικού λουκέτου Στο σχήμα της επόμενης διαφάνειας η τιμή του λουκέτου είναι 9 και η τιμή του αντίστοιχου κλειδιού είναι το 5 (τιμή ρολογιού =11) Στο πρώτο παράδειγμα το μήνυμα είναι το “4” και η ψηφιακή του υπογραφή το “3” – η υπογραφή ξεκλειδώνεται δίνοντας το “4” που ταιριάζει με το αρχικό μήνυμα η υπογραφή είναι γνήσια Στο δεύτερο παράδειγμα το μήνυμα είναι το “8” και η ψηφιακή υπογραφή το “6” Στο τελευταίο παράδειγμα η ψηφιακή υπογραφή είναι πλαστογραφημένη: το μήνυμα είναι το “8” αλλά η υπογραφή του είναι το “7” – η υπογραφή όταν ξεκλειδωθεί δίνει το “2” που δεν ταιριάζει με το αρχικό μήνυμα…
27
27 Δείτε πώς ανιχνεύεται πλαστογραφημένη ψηφιακή υπογραφή: Στα παραδείγματα χρησιμοποιείται το 9 σα λουκέτο και το 5 σαν κλειδί (τιμή ρολογιού =11) Οι πρώτες δύο υπογραφές είναι γνήσιες ενώ η τρίτη πλαστογραφημένη ΜήνυμαΨηφιακή υπογραφήΞεκλειδωμένη υπογραφή Ταιριάζει με το μήνυμα; Πλαστογραφημένη υπογραφή; Για την αυθεντική υπογραφή, πολλαπλασιάζουμε το μήνυμα με τιμή λουκέτου 9. Για πλαστογράφηση, διαλέγουμε τυχαίο αριθμό. Για να ξεκλειδώσουμε την υπογραφή, πολλαπλασιάζουμε με τιμή κλειδιού 5. 434ΝΑΙΟΧΙ 868ΝΑΙΟΧΙ 872ΟΧΙ!ΝΑΙ!
28
28 Υπογραφή με χρήση πολλαπλασιαστικού λουκέτου Στο αρχικό σενάριο με τα φυσικά λουκέτα και κλειδιά, τα λουκέτα είχαν βιομετρικούς αισθητήρες για να αποτραπεί η χρήση τους από άλλους που δεν είναι κάτοχοί τους Το ίδιο ισχύει και για τα πολλαπλασιαστικά λουκέτα και κλειδιά: η Εύη κρατάει κρυφό τον αριθμό του λουκέτου της: κάθε φορά που υπογράφει ένα μήνυμα μπορεί να αποκαλύψει και το μήνυμα και την ψηφιακή υπογραφή αλλά όχι τον αριθμό λουκέτου που χρησιμοποίησε για να παράγει την υπογραφή η Εύη πρέπει να κρατήσει επίσης κρυφά το μέγεθος ρολογιού και το αριθμητικό της κλειδί; ΟΧΙ –η Εύη μπορεί να ανακοινώσει το μέγεθος ρολογιού και το κλειδί (π.χ. σε ένα website) χωρίς να αποδυναμώσει τον τρόπο επαλήθευσης της γνησιότητας της υπογραφής της: όποιος γνωρίζει το μέγεθος ρολογιού και το κλειδί μπορεί να διαπιστώσει τη γνησιότητα της υπογραφής της Εύης
29
29 Υπογραφή με χρήση πολλαπλασιαστικού λουκέτου Η μέθοδος αυτή εξαλείφει την ανάγκη ύπαρξης εμπιστευόμενης τράπεζας που υπήρχε τόσο στις χειρόγραφες υπογραφές όσο και στις υπογραφές με φυσικό λουκέτο-κλειδί; ΟΧΙ Χωρίς την ύπαρξη εμπιστευόμενης τράπεζας: –η Εύη θα μπορούσε να διαδώσει ψεύτικη τιμή κλειδιού κάνοντας τις υπογραφές της να εμφανίζονται άκυρες –Επιπλέον, οι εχθροί της Εύης θα μπορούσαν να δημιουργήσουν νέο αριθμητικό λουκέτο και αντίστοιχο αριθμητικό κλειδί, να ανακοινώσουν σε ένα website το κλειδί σα στοιχείο της Εύης και στη συνέχεια να υπογράφουν ψηφιακά κάθε μήνυμα που θέλουν με χρήση του νέου αριθμητικού λουκέτου τους: καθένας που πιστεύει ότι το νέο κλειδί ανήκει στη Εύη θα πιστέψει ότι το μήνυμα των εχθρών της υπεγράφη από την ίδια τη Εύη Η τράπεζα δεν διατηρεί κρυφό το κλειδί και το μέγεθος ρολογιού της Εύης αλλά αποτελεί την εμπιστευόμενη οντότητα για την τιμή του αριθμητικού κλειδιού και του μεγέθους ρολογιού της Εύης
30
30 Τράπεζα αριθμητικών κλειδιών Ο ρόλος της δεν είναι να κρατάει κρυφά τα αριθμητικά κλειδιά και τα μεγέθη ρολογιών. Η τράπεζα αποτελεί την εμπιστευόμενη αρχή για να λάβει κανείς το πραγματικό κλειδί και το πραγματικό μέγεθος ρολογιού για κάθε άτομο και αποκαλύπτει αυτή την πληροφορία ελεύθερα σε όποιον τη ζητήσει. τράπεζα αριθμητικών κλειδιών Εύη 112 Σταύρος 4135 Κατερίνα 2318 μέγεθος ρολογιού αριθμητικό κλειδί όνομα
31
31 Υπογραφή με χρήση πολλαπλασιαστικού λουκέτου Τα αριθμητικά λουκέτα είναι ιδιωτικά - τα αριθμητικά κλειδιά και μεγέθη ρολογιού είναι δημόσια –αν και ακούγεται περίεργο κλειδί να διατίθεται δημόσια θυμηθείτε ότι στο σενάριο με τα φυσικά λουκέτα και κλειδιά, η τράπεζα κρατούσε αντίγραφο του κλειδιού της Εύης και το δάνειζε σε όποιον ήθελε να ελέγξει τη γνησιότητα της υπογραφής της Εύης – κι εκεί το κλειδί ήταν κατά μία έννοια δημόσιο: το ίδιο ισχύει και για τα αριθμητικά κλειδιά Τι γίνεται αν θέλουμε να υπογράψουμε μήνυμα με περισσότερα τους ενός ψηφία; –Λύση 1: χρησιμοποιούμε πολύ μεγαλύτερο μέγεθος ρολογιού: αν π.χ., χρησιμοποιήσουμε ρολόι 100 ψηφίων ακριβώς οι ίδιες μέθοδοι μάς επιτρέπουν να υπογράψουμε μηνύματα των 100 ψηφίων με υπογραφές των 100 ψηφίων –Λύση 2: μηνύματα με περισσότερους από 100 χαρακτήρες μπορούν να τεμαχιστούν σε τμήματα των 100 χαρακτήρων και καθένα να υπογραφεί ξεχωριστά –Λύση 3: υπάρχει και καλύτερος τρόπος να γίνει το (2): αποδεικνύεται ότι μεγάλα μηνύματα προκειμένου να υπογραφούν μπορούν να «χωρέσουν» σε ένα μόνο τμήμα π.χ., 100 ψηφίων με εφαρμογή μετασχηματισμού που είναι γνωστός ως κρυπτογραφική συνάρτηση κατακερματισμού (cryptographic hash function) Έχουμε ξανασυναντήσει τις κρυπτογραφικές συναρτήσεις κατακερματισμού σα μέθοδο αθροίσματος ελέγχου (checksum) της ορθότητας μεγάλων μηνυμάτων Η ιδέα χρήση των κρυπτογραφικών συναρτήσεων κατακερματισμού είναι η εξής: μεγάλα μηνύματα μετατρέπονται σε μικρότερα πριν υπογραφούν και επομένως αρκετά μεγάλα μηνύματα όπως πακέτα λογισμικού μπορούν να υπογραφούν αποδοτικά
32
32 Υπογραφή με χρήση πολλαπλασιαστικού λουκέτου Από πού προέρχονται τα αριθμητικά λουκέτα και κλειδιά; Για πλήρη εξήγηση απαιτείται γνώση Θεωρίας Αριθμών αλλά συνοπτικά η ουσία είναι η εξής: –Αν το μέγεθος ρολογιού είναι πρώτος αριθμός τότε κάθε θετική τιμή μικρότερη από το μέγεθος του ρολογιού μπορεί να δουλέψει σα λουκέτο – διαφορετικά η κατάσταση είναι πιο περίπλοκη Πρώτος είναι ένας αριθμός όταν που δεν έχει άλλους διαιρέτες εκτός από τον εαυτό του και τη μονάδα (το μέγεθος ρολογιού 11 που χρησιμοποιούμε είναι πράγματι πρώτος αριθμός)
33
33 Υπογραφή με χρήση πολλαπλασιαστικού λουκέτου Άρα εύκολα διαλέγουμε αριθμητικό λουκέτο ειδικά αν το μέγεθος ρολογιού είναι πρώτος αριθμός Μετά πρέπει να καθορίσουμε κι ένα αριθμητικό κλειδί: αυτό αποτελεί ένα πολύ ενδιαφέρον, πολύ παλιό μαθηματικό πρόβλημα του οποίου η λύση είναι γνωστή αιώνες πριν και η βασική ιδέα της είναι ακόμα πιο παλιά: πρόκειται για τεχνική που είναι γνωστή ως ο εκτεταμένος αλγόριθμος του Ευκλείδη και παρουσιάστηκε από τον ίδιον περισσότερο από 2000 χρόνια πριν Επομένως, δεδομένης μιας τιμής λουκέτου, ο υπολογιστής μας βρίσκει αντίστοιχη τιμή κλειδιού χρησιμοποιώντας τον εκτεταμένο αλγόριθμο του Ευκλείδη: 1=μέγεθος ρολογιού*k+λουκέτο*κλειδί
34
34 Υπογραφή με χρήση πολλαπλασιαστικού λουκέτου Συνοψίζοντας, ποια είναι η ακολουθία στην πολλαπλασιαστική προσέγγιση; –Οι τιμές λουκέτων είναι ιδιωτικές δηλ., μυστικές –Ο συμμετέχων σε σχήμα δημιουργίας ψηφιακών υπογραφών επιλέγει χωρίς περιορισμούς μέγεθος ρολογιού που ανακοινώνεται δημόσια και τιμή λουκέτου που παραμένει ιδιωτική και στη συνέχεια παράγει ένα αντίστοιχο κλειδί με χρήση υπολογιστή (μέσω του εκτεταμένου αλγόριθμου του Ευκλείδη για την περίπτωση των πολλαπλασιαστικών κλειδιών) –Το κλειδί αποθηκεύεται σε μια εμπιστευόμενη τράπεζα η οποία το αποκαλύπτει σε οποιονδήποτε το ζητάει Το πρόβλημα με την πολλαπλασιαστική προσέγγιση είναι ότι η ιδέα που χρησιμοποιείται για την παραγωγή του κλειδιού (δηλ., ο εκτεταμένος αλγόριθμος του Ευκλείδη) μπορεί να χρησιμοποιηθεί και αντίστροφα: με την ίδια τεχνική μπορεί ένας υπολογιστής να παράγει τιμή λουκέτου που αντιστοιχεί σε δοσμένη τιμή κλειδιού –Επομένως: αφού οι τιμές των κλειδιών είναι δημόσιες, οι υποτιθέμενες μυστικές τιμές λουκέτων μπορούν να υπολογιστούν από τον καθένα –Κατά συνέπεια, από τη στιγμή που γνωρίζουμε την τιμή του λουκέτου κάποιου μπορούμε να πλαστογραφήσουμε την ψηφιακή του υπογραφή
35
Διαλέγει και ανακοινώνει μέγεθος ρολογιού (πρώτος αριθμός): 11 Διαλέγει και κρατάει κρυφή τιμή λουκέτου (αριθμός μικρότερος από μέγεθος ρολογιού): 6 Υπολογίζει κλειδί και το δίνει στην τράπεζα: 1=μέγεθος ρολογιού*k+λουκέτο*κλειδί 1=11*(-1)+6*κλειδί κλειδί =2 Δημιουργεί ψηφιακή υπογραφή για το μήνυμα 5: 5*τιμή λουκέτου mod μέγεθος ρολογιού=5*6mod11= 30mod11=8 Στέλνει δημόσια το μήνυμα και την ψηφιακή του υπογραφή Αποστολέας Μέγεθος ρολογιού: 11 Κλειδί: 2 Στέλνει: (5,8) Παραλήπτης Παίρνει το (5,8), ξεχωρίζει το μήνυμα = 5 από την ψηφιακή υπογραφή του αποστολέα = 8 Θέλει να διαπιστώσει αν πράγματι ο αποστολέας υπέγραψε ψηφιακά το μήνυμα… Ξεκλειδώνει την ψηφιακή υπογραφή: (μήνυμα*κλειδί)modμέγεθος ρολογιού=(8*2)mod11=16mod11=5 Το 5 ταιριάζει με το μήνυμα πράγματι ο αποστολέας υπέγραψε το μήνυμα Κακόβουλος υποκλοπέας Θέλει να βρει το λουκέτο του αποστολέα… Υπολογίζει κάθε πιθανό λουκέτο για το οποίο ισχύει: 1=μέγεθος ρολογιού*k+λουκέτο*κλειδί Η τιμή του λουκέτου του αποστολέα είναι αυτή για την οποία ισχύει: μήνυμα*τιμή λουκέτου mod μέγεθος ρολογιού = 5*τιμή λουκέτου mod 11 = 8 Internet
36
36 Υπογραφή με χρήση εκθετικού λουκέτου Στη συνέχεια, θα παρουσιάσουμε μία αναβάθμιση του πολλαπλασιαστικού συστήματος παραγωγής ψηφιακών υπογραφών που είδαμε σε ένα νέο που είναι γνωστό με το όνομα RSA και είναι αυτό που χρησιμοποιείται στην πράξη Το νέο σύστημα χρησιμοποιεί αντί για τον πολλαπλασιασμό την πράξη ύψωση σε δύναμη (την έχουμε ξαναδεί όταν συζητήσαμε την κρυπτογράφηση με χρήση δημοσίου κλειδιού - public key cryptography PKC) σε συνδυασμό με αριθμητική ρολογιού –3 4 (“3 εις την 4”) σημαίνει 3×3x3×3 –Στην έκφραση 3 4, το 4 καλείται εκθέτης ή δύναμη και το 3 καλείται βάση –Η διαδικασία ύψωσης μίας βάσης σε έναν εκθέτη καλείται “ύψωση σε δύναμη” (“exponentiation”) Στα παραδείγματα που θα παρουσιάσουμε στη συνέχεια χρησιμοποιείται μέγεθος ρολογιού 22 και οι εκθέτες 3 και 7
37
37 Υπογραφή με χρήση εκθετικού λουκέτου Δείτε τον πίνακα για ύψωση σε δύναμη 3 και 7 με μέγεθος ρολογιού 22 –Ασχολούμαστε με τη γραμμή n = 4 –Χωρίς τη χρήση αριθμητικής ρολογιού, 4 3 = 4 × 4 × 4 = 64 –Με χρήση αριθμητικής ρολογιού μεγέθους 22, παρατηρούμε ότι το 22 χωράει στο 64 δύο φορές (δίνοντας 44) και μένουν 20 –Επομένως, 4 3 mod22=20 Όμοια, προκύπτουν και οι άλλες τιμές του πίνακα
38
38 Υπογραφή με χρήση εκθετικού λουκέτου Το νέο σύστημα δουλεύει όπως και το πολλαπλασιαστικό με τη μόνη διαφορά ότι: αντί να κλειδώνουμε και να ξεκλειδώνουμε μηνύματα με χρήση πολλαπλασιασμού, τώρα χρησιμοποιούμε ύψωση σε δύναμη (όπως και πριν) η Εύη επιλέγει πρώτα ένα μέγεθος ρολογιού και το ανακοινώνει δημόσια: εδώ το μέγεθος ρολογιού είναι 22 Μετά επιλέγει μια μυστική τιμή λουκέτου που μπορεί να είναι οποιοσδήποτε αριθμός μικρότερος του μεγέθους ρολογιού: εδώ επιλέγεται για τιμή λουκέτου το 3 Μετά χρησιμοποιεί τον υπολογιστή για να υπολογίσει την τιμή του κλειδιού για δοσμένη τιμή λουκέτου και μεγέθους ρολογιού (ο υπολογιστής μπορεί να υπολογίσει πολύ γρήγορα το κλειδί με χρήση πολύ γνωστής μαθηματικής τεχνικής): εδώ, για τιμή λουκέτου 3, η τιμή του κλειδιού προκύπτει ότι είναι 7
39
39 Υπογραφή με χρήση εκθετικού λουκέτου Αν το αρχικό μήνυμα είναι το “4” η ψηφιακή υπογραφή είναι “20” –Υψώνουμε το μήνυμα σε δύναμη ίση με την τιμή του λουκέτου δηλ., υπολογίζουμε το 4 3 που με χρήση αριθμητικής ρολογιού μεγέθους 22 δίνει 20 Όταν η Κατερίνα θέλει να επαληθεύσει την ψηφιακή υπογραφή της Εύης που είναι “20”: –Ζητάει από την τράπεζα τις τιμές του μεγέθους ρολογιού και του κλειδιού που χρησιμοποιεί η Εύη –η Κατερίνα παίρνει την ψηφιακή υπογραφή, υψώνει στη δύναμη του κλειδιού και κρατάει το υπόλοιπο της διαίρεσης με το μέγεθος του ρολογιού λαμβάνοντας τελικά : 20 7 = 4 –Αν το αποτέλεσμα ταιριάζει με το αρχικό μήνυμα, η ψηφιακή υπογραφή είναι γνήσια
40
40 Κλείδωμα και ξεκλείδωμα μηνυμάτων με χρήση ύψωσης σε δύναμη Η Εύη θα δώσει €100 στην Κατερίνα. Η Εύη θα δώσει €100 στην Κατερίνα. Η Εύη θα δώσει €100 στην Κατερίνα. Εύη Ύψωση σε δύναμη 3, Με μέγεθος ρολογιού 22 Ύψωση σε δύναμη 3, Με μέγεθος ρολογιού 22 Ύψωση σε δύναμη 3, Με μέγεθος ρολογιού 22 Ύψωση σε δύναμη 7, Με μέγεθος ρολογιού 22 Ύψωση σε δύναμη 7, Με μέγεθος ρολογιού 22 Ύψωση σε δύναμη 7, Με μέγεθος ρολογιού 22 μήνυμαλουκέτουπογραφήκλειδίεπαληθευμένη υπογραφή 4 8 7 20 6 13 4 8 7
41
41 Υπογραφή με χρήση εκθετικού λουκέτου Δείτε στον επόμενο πίνακα πώς γίνεται η επαλήθευση ψηφιακών υπογραφών Στα δύο πρώτα παραδείγματα, οι ψηφιακές υπογραφές είναι γνήσιες Στο τρίτο παράδειγμα, το μήνυμα είναι “8” και η ψηφιακή υπογραφή “9” –Ξεκλειδώνοντάς το χρησιμοποιώντας το κλειδί και το μέγεθος του ρολογιού, παίρνουμε 9 7 mod22 = 15, που ΔΕΝ ταιριάζει με το αρχικό μήνυμα η ψηφιακή υπογραφή έχει πλαστογραφηθεί ΜήνυμαΨηφιακή υπογραφήΞεκλειδωμένη υπογραφή Ταιριάζει με το μήνυμα; Πλαστογραφημένη υπογραφή; Για την αυθεντική υπογραφή, υψώνουμε το μήνυμα σε δύναμη ίση με την τιμή λουκέτου 3. Για πλαστογράφηση, διαλέγουμε τυχαίο αριθμό. Για να ξεκλειδώσουμε την υπογραφή, υψώνουμε σε δύναμη ίση με την τιμή κλειδιού 7. 4204ΝΑΙΟΧΙ 868ΝΑΙΟΧΙ 8915ΟΧΙ!ΝΑΙ!
42
Διαλέγει και ανακοινώνει μέγεθος ρολογιού (γινόμενο δύο πρώτων αριθμών p,q): 2*11=22 Υπολογίζει και κρατάει δευτερεύον μέγεθος ρολογιού: (p-1)*(q-1)=1*10=10 Διαλέγει και κρατάει κρυφή τιμή λουκέτου (αριθμός μικρότερος από μέγεθος ρολογιού): 3 Υπολογίζει κλειδί και το δίνει στην τράπεζα: κλειδί=(δευτερεύον μέγεθος ρολογιού*λ+1)/λουκέτο= (10*λ+1)/3, για το μικρότερο λ κλειδί= (10*2+1)/3=21/3=7 Δημιουργεί ψηφιακή υπογραφή για το μήνυμα 4: 4 τιμή λουκέτου mod μέγεθος ρολογιού=4 3 mod22=64mod22=20 Στέλνει δημόσια το μήνυμα και την ψηφιακή του υπογραφή Αποστολέας (πρωτεύον) Μέγεθος ρολογιού: 22 Κλειδί: 7 Στέλνει: (4,20) Παραλήπτης Παίρνει το (4,20), ξεχωρίζει το μήνυμα = 4 από την ψηφιακή υπογραφή του αποστολέα = 20 Θέλει να διαπιστώσει αν πράγματι ο αποστολέας υπέγραψε ψηφιακά το μήνυμα… Ξεκλειδώνει την ψηφιακή υπογραφή: (υπογεγραμμένο μήνυμα κλειδί )mod μέγεθος ρολογιού=(20 7 )mod22=1280000000mod22=4 Το 4 ταιριάζει με το μήνυμα πράγματι ο αποστολέας υπέγραψε το μήνυμα Κακόβουλος υποκλοπέας Θέλει να βρει το λουκέτο του αποστολέα… Πρέπει να προσδιορίσει τους πρώτους p και q τέτοιους ώστε p*q= μέγεθος ρολογιού (δηλ., να παραγοντοποιήσει το μέγεθος του ρολογιού) για να βρει το δευτερεύον μέγεθος ρολογιού Να υπολογίσει κάθε πιθανό λουκέτο ώστε κλειδί=(δευτερεύον μέγεθος ρολογιού*λ+1)/λουκέτο Η τιμή του λουκέτου του αποστολέα είναι αυτή για την οποία ισχύει: μήνυμα τιμή λουκέτου mod μέγεθος ρολογιού= 4 τιμή λουκέτου mod 22=20 Internet
43
43 Δημιουργία και επαλήθευση ψηφιακής υπογραφής Συνοπτικά: Η χρήση της ηλεκτρονικής υπογραφής περιλαμβάνει δύο διαδικασίες: τη δημιουργία της υπογραφής και την επαλήθευσή της Αποστολέας 1. Ο αποστολέας χρησιμοποιώντας κάποιον αλγόριθμο κατακερματισμού (one way hash) δημιουργεί τη σύνοψη του μηνύματος (message digest) που θέλει να στείλει. Ανεξάρτητα από το μέγεθος του μηνύματος, αυτό που θα παραχθεί θα είναι μία συγκεκριμένου μήκους σειρά ψηφίων 2. Με το ιδιωτικό του κλειδί (λουκέτο), ο αποστολέας κρυπτογραφεί τη σύνοψη. Αυτό που παράγεται είναι η ψηφιακή υπογραφή. Η υπογραφή είναι ουσιαστικά μία σειρά ψηφίων συγκεκριμένου πλήθους 3. Η κρυπτογραφημένη σύνοψη (ψηφιακή υπογραφή) προσαρτάται στο κείμενο και το μήνυμα με τη ψηφιακή υπογραφή μεταδίδονται μέσω του δικτύου (σημειώνεται ότι ο αποστολέας αν επιθυμεί μπορεί να κρυπτογραφήσει το μήνυμά του με το δημόσιο κλειδί του παραλήπτη) Παραλήπτης 1. Ο παραλήπτης αποσπά από το μήνυμα την ψηφιακή υπογραφή (κρυπτογραφημένη, με το ιδιωτικό κλειδί του αποστολέα, σύνοψη) 2. Εφαρμόζοντας στο μήνυμα που έλαβε τον ίδιο αλγόριθμο κατακερματισμού, ο παραλήπτης δημιουργεί τη σύνοψη του μηνύματος 3. Στη συνέχεια, αποκρυπτογραφεί την κρυπτογραφημένη σύνοψη του μηνύματος (ψηφιακή υπογραφή) με το δημόσιο κλειδί του αποστολέα 4. Συγκρίνονται οι δύο συνόψεις και αν βρεθούν ίδιες, αυτό σημαίνει ότι το μήνυμα που έλαβε ο παραλήπτης είναι ακέραιο. Αν το μήνυμα έχει μεταβληθεί, η σύνοψη που θα παράγει ο παραλήπτης θα είναι διαφορετική από την σύνοψη που έχει κρυπτογραφηθεί
44
Δημιουργία ψηφιακής υπογραφής Σχήματα από http://www.eett.gr/opencms/opencms/EETT/Electronic_Communications/DigitalSignatures/IntroEsign.html
45
Επαλήθευση ψηφιακής υπογραφής Σχήματα από http://www.eett.gr/opencms/opencms/EETT/Electronic_Communications/DigitalSignatures/IntroEsign.html
46
46 Σύστημα RSA για παραγωγή ψηφιακών υπογραφών Αυτό το σύστημα παραγωγής ψηφιακών υπογραφών με εκθετικά λουκέτα και εκθετικά κλειδιά καλείται RSA από τα αρχικά των εφευρετών του Ronald Rivest, Adi Shamir, και Leonard Adleman, που το πρωτοδημοσίευσαν τη δεκαετία του 1970 Το σύστημα RSA είναι και τρόπος κρυπτογράφησης με χρήση δημοσίου κλειδιού και τρόπος παραγωγής ψηφιακών υπογραφών Αυτό δεν αποτελεί σύμπτωση: υπάρχει βαθιά θεωρητική σχέση μεταξύ αλγορίθμων κρυπτογράφησης με χρήση δημοσίου κλειδιού και αλγορίθμων παραγωγής ψηφιακών υπογραφών
47
47 Σύστημα RSA για παραγωγή ψηφιακών υπογραφών Η πιο σημαντική ιδιότητα του συστήματος RSA είναι ότι: ένας συμμετέχων μπορεί εύκολα να υπολογίσει κατάλληλο κλειδί από τη στιγμή που έχει επιλεχθεί τιμή λουκέτου ΑΛΛΑ είναι αδύνατον (με την τρέχουσα τεχνολογία) να αντιστραφεί η διαδικασία: αν είναι γνωστό το κλειδί και το μέγεθος ρολογιού δεν μπορούμε να υπολογίσουμε την αντίστοιχη τιμή λουκέτου Η ιδιότητα αυτή διορθώνει την αδυναμία του αντίστοιχου πολλαπλασιαστικού συστήματος –Αυτό αποτελεί εικασία μιας και κανείς δεν γνωρίζει σίγουρα (δεν έχει παρουσιαστεί τυπική απόδειξη) αν ο αλγόριθμος RSA είναι πραγματικά ασφαλής –Η απάντηση εξαρτάται από ένα αρχαίο άλυτο μαθηματικό πρόβλημα – την ακέραια παραγοντοποίηση - και ένα πρόσφατο πολύ ενδιαφέρον πεδίο στην τομή της φυσικής και της επιστήμης των υπολογιστών – τον κβαντικό υπολογισμό (quantum computing)
48
48 Ασφάλεια του RSA Η ασφάλεια ενός συστήματος ψηφιακών υπογραφών καθορίζεται από την απάντηση στην ερώτηση: “Μπορούν οι εχθροί μας να πλαστογραφήσουν την υπογραφή μας;” Ειδικότερα για τον RSA, η ερώτηση μετατρέπεται σε: “Μπορούν οι εχθροί μας να υπολογίσουν τη μυστική τιμή λουκέτου μου, γνωρίζοντας το μέγεθος ρολογιού και το κλειδί που χρησιμοποιούμε;” Η απάντηση είναι ΝΑΙ –Είναι πάντα δυνατόν να υπολογίσουμε την τιμή λουκέτου με επανειλημμένες προσπάθειες μέχρι να πετύχουμε τη σωστή: Μάς δίνεται ένα μήνυμα, ένα μέγεθος κλειδιού και μια ψηφιακή υπογραφή Γνωρίζουμε ότι η τιμή λουκέτου είναι μικρότερη από το μέγεθος του ρολογιού Επομένως μπορούμε να δοκιμάσουμε κάθε πιθανή τιμή λουκέτου μέχρι να βρούμε αυτή που παράγει τη σωστή ψηφιακή υπογραφή: δοκιμάζουμε να υψώσουμε το μήνυμα σε κάθε πιθανή τιμή λουκέτου μέχρι να πάρουμε την υπογραφή που θέλουμε –ΟΜΩΣ – στην πράξη – ο RSA χρησιμοποιεί τεράστιες τιμές μεγέθους ρολογιού με μήκος χιλιάδων ψηφίων ακόμα και ο ταχύτερος υπαρκτός υπερυπολογιστής θα χρειαζόταν τρισεκατομμύρια χρόνια για να δοκιμάσει όλες τις πιθανές τιμές λουκέτου Άρα, η ερώτηση δεν είναι αν κάποιος εχθρός μπορεί να υπολογίσει την τιμή λουκέτου μας με κάθε πιθανό τρόπο ΑΛΛΑ αν μπορεί να το κάνει αρκετά αποδοτικά ώστε να συνιστά απειλή στην πράξη –Αν η καλύτερη μέθοδος του εχθρού είναι εξαντλητική δοκιμή όλων των πιθανών τιμών – μέθοδος γνωστή και ως brute force (ωμή βία) - μπορούμε πάντα να επιλέγουμε μέγεθος ρολογιού αρκετά μεγάλο ώστε να εξουδετερώσουμε πρακτικά την επίθεση –Αν ο εχθρός διαθέτει τεχνική που λειτουργεί πολύ πιο αποδοτικά από την τεχνική brute force τότε μάλλον πρέπει να ανησυχούμε…
49
49 Ασφάλεια του RSA Η πολλαπλασιαστική μέθοδος παραγωγής ψηφιακών υπογραφών είναι μη ασφαλής για τον εξής λόγο: Μπορεί εύκολα να αντιστραφεί ΓΙΑΤΙ; –Αυτός που υπογράφει διαλέγει τιμή λουκέτου και μετά υπολογίζει τιμή κλειδιού με χρήση του εκτεταμένου αλγόριθμου του Ευκλείδη Οι ενδεχόμενοι εχθροί δεν χρειάζεται να καταφύγουν στη μέθοδο brute force (να ψάξουν δηλ., μία – μία όλες τις πιθανές λύσεις) για να αναστρέψουν τη διαδικασία: ο εκτεταμένος αλγόριθμος του Ευκλείδη μπορεί να υπολογίσει την τιμή λουκέτου όταν δίνεται το κλειδί –…και φυσικά ο εκτεταμένος αλγόριθμος του Ευκλείδη είναι πολύ πιο αποδοτικός από τη brute force αναζήτηση
50
50 Σχέση RSA και παραγοντοποίησης Πώς επιλέγεται το μέγεθος ρολογιού του RSA; –Πρώτος αριθμός: αριθμός που διαιρείται μόνο με τον εαυτό του και τη μονάδα (π.χ., ο 31 είναι πρώτος γιατί 1 × 31 είναι ο μόνος τρόπος να παραχθεί ο 31 σα γινόμενο δύο αριθμών αλλά ο 33 δεν είναι πρώτος αφού 33 = 3 × 11) Πώς η Εύη μπορεί να παράγει μέγεθος ρολογιού για τον RSA; –Πρέπει αρχικά να διαλέξει δύο μεγάλους πρώτους αριθμούς (συνήθως ο καθένας θα έχει μήκος εκατοντάδων ψηφίων): έστω ότι επιλέγει τους πρώτους αριθμούς 2 και 11 –Μετά τους πολλαπλασιάζει και λαμβάνει το μέγεθος του ρολογιού που για το παράδειγμά μας είναι 2 × 11 = 22 –Γνωρίζουμε ότι το μέγεθος του ρολογιού θα ανακοινωθεί δημόσια μαζί με την τιμή κλειδιού της Εύης ΟΜΩΣ οι δύο πρώτοι παράγοντες που έδωσαν το μέγεθος ρολογιού παραμένουν μυστικοί και μόνο η Εύη τους γνωρίζει –Η μαθηματική τεκμηρίωση του RSA παρέχει στη Εύη μία μέθοδο για να χρησιμοποιεί αυτούς τους δύο πρώτους αριθμούς για να μπορεί να υπολογίζει τιμή λουκέτου από τιμή κλειδιού και αντίστροφα
51
51 Σχέση RSA και παραγοντοποίησης Οι εχθροί της Εύης δεν μπορούν να υπολογίσουν τη μυστική τιμή λουκέτου του χρησιμοποιώντας δημόσια διαθέσιμη πληροφορία (το μέγεθος ρολογιού και την τιμή του κλειδιού) Αν γνώριζαν τους δύο πρώτους παράγοντες του μεγέθους του ρολογιού, θα μπορούσαν εύκολα να υπολογίσουν τη μυστική τιμή λουκέτου Οι εχθροί της Εύης μπορούν να πλαστογραφήσουν την υπογραφή της αν μπορούν να παραγοντοποιήσουν το μέγεθος του ρολογιού (υπάρχουν φυσικά και άλλοι τρόποι) Στο παράδειγμά μας, η παραγοντοποίηση του μεγέθους του ρολογιού (και επομένως το σπάσιμο του συστήματος παραγωγής ψηφιακών υπογραφών) γίνεται απλά: είναι γνωστό ότι 22 = 2 × 11... –Αλλά όταν το μέγεθος του ρολογιού είναι εκατοντάδες ή χιλιάδες ψηφία, η εύρεση των παραγόντων είναι ένα εξαιρετικά δύσκολο πρόβλημα (που λέγεται ακέραια παραγοντοποίηση (“integer factorization”)) –Έχει μελετηθεί για αιώνες, αλλά κανείς δεν έχει βρει γενική μέθοδο λύσης του που να δουλεύει αρκετά αποδοτικά ώστε να αποτελεί κίνδυνο για ένα συνηθισμένο μέγεθος ρολογιού που χρησιμοποιεί ο RSA
52
H Eύη επιλέγει δύο πρώτους αριθμούς (2 και 11 στο παράδειγμα) και τους πολλαπλασιάζει για να παράγει κάποιο μέγεθος ρολογιού (22) το οποίο καλούμε “πρωτεύον” μέγεθος ρολογιού. Μετά, η Εύη αφαιρεί 1 από καθέναν από τους αρχικούς πρώτους αριθμούς και πολλαπλασιάζει τα αποτελέσματα λαμβάνοντας έτσι το “δευτερεύον” μέγεθος ρολογιού. Στο παράδειγμα, η Εύη παίρνει 1 και 10 αφού αφαιρέσει 1 από κάθε αρχικό πρώτο αριθμό, επομένως το δευτερεύον μέγεθος ρολογιού είναι 1 × 10 = 10. Μετά, η Εύη επιλέγει λουκέτο και κλειδί σύμφωνα με το πολλαπλασιαστικό σύστημα αλλά χρησιμοποιεί το δευτερεύον μέγεθος ρολογιού αντί για το πρωτεύον. Υποθέτουμε ότι η Εύη επιλέγει το 3 σα λουκέτο της. Με χρήση του δευτερεύοντος μεγέθους ρολογιού που είναι 10, το αντίστοιχο πολλαπλασιαστικό κλειδί είναι το 7 (γιατί: βρίσκω το μικρότερο λ για το οποίο είναι: (3*κλειδί-1)mod μέγεθος δευτερεύοντος ρολογιού=0 3*κλειδί-1=10*λ κλειδί =(10*λ+1)/10). Εύκολα διαπιστώνουμε ότι αυτό δουλεύει: το μήνυμα “8” κλειδώνεται σε 8 × 3 = 24, ή “4” με μέγεθος ρολογιού 10. Ξεκλειδώνοντας το “4” με το κλειδί δίνει 4 × 7 = 28, που είναι “8” με χρήση ρολογιού ίσου μεγέθους με αυτό που χρησιμοποιήθηκε στο αρχικό μήνυμα. Τώρα, η Εύη παίρνει το πολλαπλασιαστικό λουκέτο και το κλειδί που μόλις επιλέχθηκαν και τα χρησιμοποιεί σαν εκθετικό λουκέτο και κλειδί στο σύστημα RSA. Οι τιμές τους θα χρησιμοποιηθούν σαν εκθέτες με το πρωτεύον μέγεθος ρολογιού που είναι 22. Δευτερεύον μέγεθος ρολογιού Πρωτεύον μέγεθος ρολογιού πρώτος αφαιρούμε 1
53
53 Σχέση RSA και παραγοντοποίησης Η ιστορία των μαθηματικών είναι διανθισμένη με άλυτα προβλήματα που γοήτευσαν και μόνο με ιδιότητές τους και ενέπνευσαν για βαθιά έρευνα παρά την απώλεια πρακτικής εφαρμογής Κατά παράξενο τρόπο, πολλά από αυτά τα πολύ ενδιαφέροντα αλλά προφανώς «άχρηστα» προβλήματα αποδείχτηκαν αργότερα να έχουν τεράστια πρακτική σημασία γεγονός που ανακαλύφθηκε αφού τα προβλήματα αυτά είχαν μελετηθεί για αιώνες Ένα από αυτά τα προβλήματα είναι και η παραγοντοποίηση ακεραίων
54
54 Σχέση RSA και παραγοντοποίησης Οι πρώτες ερευνητικές προσπάθειες για το πρόβλημα της παραγοντοποίησης ακεραίων έγιναν το 17 ο αιώνα από τους μαθηματικούς Fermat και Mersenne Οι Euler και Gauss – άλλοι δύο σπουδαίοι μαθηματικοί – συνεισέφεραν στους αιώνες που ακολούθησαν και πολλοί άλλοι έχτισαν πάνω στη δουλειά τους Αλλά μέχρι την ανακάλυψη της κρυπτογράφησης δημοσίου κλειδιού στη δεκαετία του 1970 δεν είχε συνειδητοποιηθεί η δυσκολία της παραγοντοποίησης μεγάλων ακεραίων –Προφανώς, οποιοσδήποτε ανακαλύψει αποδοτικό αλγόριθμο παραγοντοποίησης μεγάλων ακεραίων θα μπορεί να πλαστογραφήσει ψηφιακές υπογραφές κατά βούληση –Φυσικά από το 1970, έχουν προταθεί και πολλά άλλα συστήματα ψηφιακών υπογραφών που βασίζονται στη δυσκολία κάποιου άλλου θεμελιώδους μαθηματικού προβλήματος, οπότε η ανακάλυψη αποδοτικού αλγορίθμου παραγοντοποίησης θα καταρρίψει μόνο συστήματα που μοιάζουν με το RSA
55
55 Σχέση RSA και παραγοντοποίησης Ισχύει βέβαια ότι κανένα από τα συστήματα παραγωγής ψηφιακών υπογραφών δεν έχει αποδειχθεί ασφαλές: καθένα βασίζεται σε κάποιο προφανώς δύσκολο και πολυμελετημένο μαθηματικό πρόβλημα για το οποίο οι θεωρητικοί δεν έχουν μπορέσει να αποδείξουν ότι δεν υπάρχει αποδοτική λύση Επομένως, αν και οι ειδικοί το θεωρούν εξαιρετικά απίθανο, ενδέχεται καθένα από τα κρυπτογραφικά συστήματα ή τα συστήματα παραγωγής ψηφιακών υπογραφών να καταρριφθεί οποιαδήποτε στιγμή
56
56 Σχέση RSA με Κβαντικούς Υπολογιστές Δεδομένο: στην κβαντική μηχανική, η κίνηση των αντικειμένων καθορίζεται από πιθανότητες σε αντίθεση με τους ντετερμινιστικούς νόμους της κλασικής φυσικής Κατά συνέπεια, αν φτιάξουμε έναν υπολογιστή από τμήματα που υπακούν στους νόμους της κβαντικής μηχανικής οι τιμές που θα υπολογίζει θα καθορίζονται από πιθανότητες και δεν θα είναι ακολουθίες σίγουρων τιμών από 0 και 1 που παράγει ένας κλασικός υπολογιστής Ένας κβαντικός υπολογιστής αποθηκεύει πολλές διαφορετικές τιμές ταυτόχρονα: οι διαφορετικές τιμές έχουν διαφορετικές πιθανότητες αλλά μέχρι να απαιτήσουμε από τον υπολογιστή να δώσει τελική απάντηση, οι τιμές αυτές υπάρχουν ταυτόχρονα Αυτό σημαίνει ότι ένας κβαντικός υπολογιστής μπορεί να υπολογίσει πολλές διαφορετικές πιθανές απαντήσεις ταυτόχρονα Για ειδικούς τύπους προβλημάτων μπορούμε να χρησιμοποιήσουμε “brute force” προσέγγιση για να δοκιμάσουμε όλες τις πιθανές λύσεις ταυτόχρονα!
57
Chip της εταιρείας D-Wave Systems Inc.. Ο επεξεργαστής D-Wave χρησιμοποιεί 128 υπεραγώγιμα λογικά στοιχεία που επιδεικνύουν ελέγξιμους και ρυθμιζόμενους συνδυασμούς για την εκτέλεση υπολογισμών.
58
58 Σχέση RSA με Κβαντικούς Υπολογιστές Η ιδέα αυτή δουλεύει για συγκεκριμένους τύπους προβλημάτων ένα από τα οποία είναι και η παραγοντοποίηση ακεραίων που μπορεί να πραγματοποιηθεί με πολύ μεγαλύτερη αποδοτικότητα σε κβαντικούς υπολογιστές από ό,τι σε κλασικούς Αν μπορούσαμε να κατασκευάσουμε κβαντικό υπολογιστή ικανό να χειρίζεται αριθμούς με χιλιάδες ψηφία, θα μπορούσαμε να πλαστογραφήσουμε υπογραφές RSA: θα παραγοντοποιούσαμε το δημόσιο μέγεθος ρολογιού, θα χρησιμοποιούσαμε τους παράγοντες για να καθορίσουμε το δευτερεύον μέγεθος ρολογιού και θα το χρησιμοποιούσαμε για να καθορίσουμε το μυστικό λουκέτο από την τιμή του δημοσίου κλειδιού Βέβαια η θεωρία των κβαντικών υπολογιστών είναι πολύ πιο προχωρημένη από την αντίστοιχη πρακτική εξέλιξή τους Ερευνητές έχουν καταφέρει να φτιάξουν πραγματικούς κβαντικούς υπολογιστές, αλλά η μεγαλύτερη παραγοντοποίηση που έκαναν με κβαντικό υπολογιστή μέχρι τώρα ήταν η 15 = 3 × 5… Και πρέπει να λυθούν πολλά πρακτικά προβλήματα πριν γίνει δυνατή η κατασκευή μεγαλύτερων κβαντικών υπολογιστών και κανείς δεν γνωρίζει αν και πότε κάτι τέτοιο θα γίνει
59
59 Ψηφιακές υπογραφές στην πράξη Χρήστες όπως εμείς δεν έχουν μεγάλη ανάγκη από ψηφιακές υπογραφές: ίσως μερικοί κάπως προχωρημένοι να τις χρησιμοποιούν στα e-mail τους αλλά για τους περισσότερους από εμάς η βασική χρήση των ψηφιακών υπογραφών γίνεται για επαλήθευση υλικού που κατεβάζουμε από το internet Το πιο προφανές παράδειγμα είναι όταν κατεβάζουμε νέο λογισμικό από το internet: αν το λογισμικό είναι υπογεγραμμένο ο υπολογιστής ξεκλειδώνει την υπογραφή χρησιμοποιώντας το δημόσιο κλειδί του υπογράφοντος και συγκρίνει το αποτέλεσμα με το “μήνυμα” του υπογράφοντος, δηλ., το ίδιο το λογισμικό –Στην πράξη, το λογισμικό μειώνεται σε ένα πολύ μικρότερο μήνυμα πριν υπογραφεί Αν η ξεκλειδωμένη υπογραφή ταιριάζει με το λογισμικό προχωράμε αλλιώς παροτρυνόμαστε να ξανασκεφτούμε τι θέλουμε να κάνουμε
60
60 Ψηφιακές υπογραφές στην πράξη Οι αξιόπιστες τράπεζες που φυλάσσουν το δημόσιο κλειδί και το δημόσιο μέγεθος ρολογιού κάθε υπογράφοντα είναι στην πραγματικότητα αξιόπιστοι οργανισμοί που αποθηκεύουν δημόσια κλειδιά και ονομάζονται αρχές πιστοποίησης Οι αρχές πιστοποίησης διατηρούν εξυπηρετητές (servers) οι οποίοι μπορούν να προσπελασθούν ηλεκτρονικά και από τους οποίους μπορούμε να κατεβάσουμε δημόσια κλειδιά Όταν ο υπολογιστής μας λαμβάνει μία ψηφιακή υπογραφή αυτή θα συνοδεύεται και από πληροφορία για το από ποια αρχή πιστοποίησης θα πρέπει να αναζητηθεί το δημόσιο κλειδί του υπογράφοντος
61
61 Ψηφιακές υπογραφές στην πράξη Αλλά πώς μπορούμε να είμαστε σίγουροι ότι μπορούμε να εμπιστευθούμε την αρχή πιστοποίησης; Αυτό που γίνεται είναι να μεταφέρεται το πρόβλημα επαλήθευσης της ταυτότητας ενός οργανισμού (π.χ., της εταιρείας NanoSoft.com που μάς έστειλε το λογισμικό) στο πρόβλημα επαλήθευσης της ταυτότητας ενός άλλου οργανισμού (της αρχής πιστοποίησης π.χ., της TrustMe Inc.) Αυτός με τη σειρά του μάς παραπέμπει σε κάποια άλλη αρχή πιστοποίησης (π.χ., την εταιρεία PleaseTrustUs Ltd.) για επαλήθευση πάλι μέσω ψηφιακής υπογραφής Αυτή η αλυσίδα εμπιστοσύνης μπορεί να επεκτείνεται συνεχώς αλλά το πρόβλημα παραμένει: να εμπιστευθούμε τον οργανισμό στο τέλος της αλυσίδας; Συγκεκριμένοι οργανισμοί έχουν επίσημα αναγνωριστεί σαν πηγαίες αρχές πιστοποίησης – μερικοί από τους πιο γνωστούς είναι οι VeriSign, GlobalSign και GeoTrust –Πληροφορίες για επικοινωνία με κάποιους αυτούς (καθώς και διευθύνσεις internet και δημόσια κλειδιά) υπάρχει προεγκατεστημένη στα προγράμματα πλοήγησης που χρησιμοποιούμε κι έτσι η αλυσίδα εμπιστοσύνης σταματάει σε ένα εμπιστεύσιμο σημείο
62
62 Αλυσίδα εμπιστοσύνης για την απόκτηση κλειδιών που απαιτούνται για την επαλήθευση ψηφιακών υπογραφών πάρε κλειδί από πάρε κλειδί από πάρε κλειδί από κλειδί προ-αποθηκευμένο στο browser
63
63 Ένα παράδοξο αναλύθηκε Η φράση “ψηφιακή υπογραφή” αποτελεί σχήμα οξύμωρο: κάθε τι ψηφιακό μπορεί να αντιγραφεί - όμως μια ψηφιακή υπογραφή θα πρέπει να είναι αδύνατον να αντιγραφεί Πώς λύθηκε τελικά αυτό το παράδοξο; Η απάντηση είναι ότι μια ψηφιακή υπογραφή βασίζεται (i) σε ένα μυστικό που είναι γνωστό μόνο στον υπογράφοντα και (ii) στο μήνυμα που υπογράφεται Το μυστικό που αποκαλέσαμε λουκέτο παραμένει το ίδιο για κάθε μήνυμα που υπογράφεται από συγκεκριμένη οντότητα αλλά η υπογραφή είναι διαφορετική για κάθε μήνυμα Επομένως, το ότι καθένας μπορεί εύκολα να αντιγράψει την υπογραφή είναι άσχετο: η υπογραφή δεν μπορεί να μεταφερθεί σε διαφορετικό μήνυμα οπότε και να την αντιγράψουμε δεν κερδίζουμε κάτι… Οι ψηφιακές υπογραφές έχουν τεράστια πρακτική σημασία: χωρίς αυτές δεν θα υπήρχε το internet όπως το γνωρίζουμε: τα δεδομένα υα μπορούσαν να ανταλλάσσονται με ασφάλεια με χρήση κρυπτογραφίας αλλά θα ήταν εξαιρετικά δύσκολο να επαληθευθεί η πηγή των λαμβανόμενων δεδομένων
64
64 Εφαρμογή Δείτε πώς μπορεί να εισαχθεί και να αφαιρεθεί ψηφιακή υπογραφή σε αρχείο Word ή Excel στο Office 2007 –http://office.microsoft.com/en-us/word- help/add-or-remove-a-digital-signature-in- office-documents-HA010099768.aspxhttp://office.microsoft.com/en-us/word- help/add-or-remove-a-digital-signature-in- office-documents-HA010099768.aspx
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.