Ψηφιακές Υπογραφές. Παναγιώτης Γροντάς - Άρης Παγουρτζής 09/12/2016. ΕΜΠ - Κρυπτογραφία - ( )

Σχετικά έγγραφα
Ψηφιακές Υπογραφές. Παναγιώτης Γροντάς - Άρης Παγουρτζής. ΕΜΠ - Κρυπτογραφία - ( ) 28/11/2017. Digital Signatures 1 / 57

Κρυπτογραφικά Πρωτόκολλα

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

Επιθέσεις και Ασφάλεια Κρυπτοσυστημάτων

Εφαρμοσμένη Κρυπτογραφία Ι

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών Ασφάλεια Δεδομένων.

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

Κρυπτοσυστήματα Διακριτού Λογαρίθμου

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 11η Διάλεξη: Ασφάλεια στο Web

Εισαγωγή στην επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών. Aσφάλεια

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. Δ Εξάμηνο

Εισαγωγή στην επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών. Aσφάλεια

Οι απειλές. Απόρρητο επικοινωνίας. Αρχές ασφάλειας δεδομένων. Απόρρητο (privacy) Μέσω κρυπτογράφησης

Ψηφιακές Υπογραφές. Άρης Παγουρτζής Στάθης Ζάχος. Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

Εισαγωγή στην επιστήμη της Πληροφορικής και των. Aσφάλεια

Ψηφιακά Πιστοποιητικά Ψηφιακές Υπογραφές

Ηλεκτρονικό εμπόριο. HE 7 Τεχνολογίες ασφάλειας

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

Ψηφιακά Πιστοποιητικά Ψηφιακές Υπογραφές

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

Κρυπτοσύστημα RSA (Rivest, Shamir, Adlemann, 1977) Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

Το κρυπτοσύστημα RSA

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο

Το κρυπτοσύστημα RSA

1 Ψηφιακές Υπογραφές. 1.1 Η συνάρτηση RSA : Η ύψωση στην e-οστή δύναμη στο Z n. Κρυπτογραφία: Αρχές και πρωτόκολλα Διάλεξη 6. Καθηγητής Α.

Κρυπτογραφία. MAC - Γνησιότητα/Ακεραιότητα μηνύματος. Πέτρος Ποτίκας

Κρυπτογραφία Δημοσίου Κλειδιού

Ασφάλεια Υπολογιστικών Συστηµάτων

Κεφάλαιο 8. Συναρτήσεις Σύνοψης. 8.1 Εισαγωγή

Κρυπτογραφία. MAC - Γνησιότητα/Ακεραιότητα μηνύματος. Πέτρος Ποτίκας

Αλγόριθµοι δηµόσιου κλειδιού

Κρυπτογραφία. MAC - Γνησιότητα/Ακεραιότητα μηνύματος. Πέτρος Ποτίκας

8.3.4 Τεχνικές Ασφάλειας Συμμετρική Κρυπτογράφηση Ασυμμετρική Κρυπτογράφηση Ψηφιακές Υπογραφές

Εισαγωγή στην Κρυπτολογία 3. Ασφάλεια Τηλεπικοινωνιακών Συστημάτων Κωδικός DIΤ114 Σταύρος ΝΙΚΟΛΟΠΟΥΛΟΣ

Κρυπτογραφία. MAC - Γνησιότητα/Ακεραιότητα μηνύματος. Πέτρος Ποτίκας

Cryptography and Network Security Chapter 13. Fifth Edition by William Stallings

ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή 2. Θεωρία αριθμών Αλγεβρικές δομές 3. Οι κρυπταλγόριθμοι και οι ιδιότητές τους

Κρυπτοσυστήματα Διακριτού Λογαρίθμου

1. Τι είναι ακεραιότητα δεδομένων, με ποιους μηχανισμούς επιτυγχάνετε κ πότε θα χρησιμοποιούσατε τον καθένα εξ αυτών;

ρ. Κ. Σ. Χειλάς, ίκτυα Η/Υ ΙΙΙ, Τ.Ε.Ι. Σερρών, 2007

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

Διαχείριση Ασφάλειας και Εμπιστοσύνης σε Πολιτισμικά Περιβάλλοντα

Εισαγωγή στην Κρυπτογραφία και τις Ψηφιακές Υπογραφές

ΠΡΟΣΤΑΣΙΑ ΠΡΟΣΩΠΙΚΩΝ ΔΕΔΟΜΕΝΩΝ ΣΤΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΘΩΣ ΚΑΙ ΣΤΟ ΔΙΑΔΙΚΤΥΟ

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. Κρυπτογραφία. Εισαγωγή. Χρήστος Ξενάκης

Κρυπτογραφία. Κεφάλαιο 4 Αλγόριθμοι Δημοσίου Κλειδιού (ή ασύμμετροι αλγόριθμοι)

ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ(Θ)

Threshold Cryptography Algorithms. Εργασία στα πλαίσια του μαθήματος Τεχνολογίες Υπολογιστικού Νέφους

Κεφάλαιο 21. Κρυπτογραφία δημόσιου κλειδιού και πιστοποίηση ταυτότητας μηνυμάτων

Κρυπτογραφία. Κεφάλαιο 1 Γενική επισκόπηση

ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ(Θ)

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

Εφαρμοσμένη Κρυπτογραφία Ι

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. Δ Εξάμηνο

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. Κρυπτογραφία. Ασύμμετρη Κρυπτογραφία. Χρήστος Ξενάκης

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. Δ Εξάμηνο

Κρυπτοσυστήματα Διακριτού Λογαρίθμου

Τεχνική Ανάλυση των η-υπογραφών & των η-πιστοποιητικών

ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΑΚΥΒΕΡΝΗΣΗ ΣΤΗΝ ΕΕ

Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων. Συναρτήσεις Κατακερματισμού

Το κρυπτοσύστημα RSA. Παναγιώτης Γροντάς - Άρης Παγουρτζής 20/11/2018. ΕΜΠ - Κρυπτογραφία ( ) RSA 1 / 51

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. Κρυπτογραφία. Διαχείριση κλειδιών. Χρήστος Ξενάκης

Εφαρμοσμένη Κρυπτογραφία Ι

Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων. PGP (Pretty Good Privacy)

Ασφάλεια στο Ηλεκτρονικό Επιχειρείν. ΤΕΙ Δυτικής Ελλάδας Τμήμα Διοίκησης Επιχειρήσεων - Πάτρα Κουτσονίκος Γιάννης

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο. Ψηφιακή Υπογραφή και Αυθεντικοποίηση Μηνύματος

Ασφάλεια Πληροφοριακών Συστημάτων

El Gamal Αλγόριθμος. Κώστας Λιμνιώτης Κρυπτογραφία - Εργαστηριακό μάθημα 7 2

KΕΦΑΛΑΙΟ 5 ΨΗΦΙΑΚΕΣ ΥΠΟΓΡΑΦΕΣ

Hash Functions. μεγεθος h = H(M) ολους. στο μηνυμα. στο συγκεκριμενο hash (one-way property)

Μοντέλα και Αποδείξεις Ασφάλειας στην Κρυπτογραφία

Αριθμοθεωρητικοί Αλγόριθμοι

Cryptography and Network Security Chapter 9. Fifth Edition by William Stallings

Κρυπτογραφία. Κωνσταντίνου Ελισάβετ

Διαχείριση Ασφάλειας και Εμπιστοσύνης σε Πολιτισμικά Περιβάλλοντα

Κρυπτογραφικά Πρωτόκολλα

W i. Subset Sum Μια παραλλαγή του προβλήματος knapsack είναι το πρόβλημα Subset Sum, το οποίο δεν λαμβάνει υπόψιν την αξία των αντικειμένων:

Παύλος Εφραιμίδης. Βασικές Έννοιες Κρυπτογραφίας. Ασφ Υπολ Συστ

ΕΠΛ 674: Εργαστήριο 1 Ασφάλεια Επικοινωνιακών Συστημάτων - Κρυπτογραφία

Κρυπτογραφία. Κρυπτοσυστήματα ροής. Πέτρος Ποτίκας. Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Την αποδοχή του κειμένου από τον υπογράφοντα και την συμφωνία του με αυτό.

Κρυπτογραφικά πρωτόκολλα και τεχνικές

ΠΡΟΣΤΑΣΙΑ ΠΡΟΣΩΠΙΚΩΝ ΔΕΔΟΜΕΝΩΝ ΣΤΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΘΩΣ ΚΑΙ ΣΤΟ ΔΙΑΔΙΚΤΥΟ

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ

Ασφάλεια Πληροφοριακών Συστημάτων

κρυπτογραϕία Ψηφιακή ασφάλεια και ιδιωτικότητα Γεώργιος Σπαθούλας Msc Πληροφορική και υπολογιστική βιοιατρική Πανεπιστήμιο Θεσσαλίας

Χρήστος Ξενάκης Τμήμα Ψηφιακών Συστημάτων Πανεπιστήμιο Πειραιά

Εφαρμοσμένη Κρυπτογραφία Ι

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

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

YΒΡΙΔΙΚΗ ΚΡΥΠΤΟΓΡΑΦΙΑ

ΕΠΑΝΑΛΗΠΤΙΚΟ ΤΕΣΤ ΣΤΗΝ ΕΝΟΤΗΤΑ

Public Key Cryptography. Dimitris Mitropoulos

ΑΣΦΑΛΕΙΑ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ (Βασικά Θέματα Κρυπτογραφίας Συμμετρική & Ασύμμετρη Κρυπτογραφία-Ακεραιότητα)

Κεφάλαια 2&21. Συναρτήσεις κατακερματισμού Πιστοποίηση ταυτότητας μηνυμάτων

Παύλος Εφραιμίδης. Βασικές Έννοιες Κρυπτογραφίας. Ασφ Υπολ Συστ

Κρυπτογραφία. Μονόδρομες συναρτήσεις - Συναρτήσεις σύνοψης. Άρης Παγουρτζής - Πέτρος Ποτίκας

Πληροφορική Ι. Μάθημα 10 ο Ασφάλεια. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Δρ. Γκόγκος Χρήστος

Transcript:

Ψηφιακές Υπογραφές Παναγιώτης Γροντάς - Άρης Παγουρτζής ΕΜΠ - Κρυπτογραφία - (2016-2017) 09/12/2016 1 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Περιεχόμενα Ορισμός - Μοντελοποίηση Ασφάλειας Ψηφιακές Υπογραφές RSA Επιθέσεις - Παραλλαγές Το μοντέλο του τυχαίου μαντείου Ψηφιακές Υπογραφές ElGamal-DSA-ECDSA Υποδομή Δημοσίου Κλειδιού Διαμοιρασμός Απορρήτων (Secret sharing) 2 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Εισαγωγή - Το πρόβλημα Αποφυγή MITM attacks σε DHKE Ακεραιότητα: Το μήνυμα είναι αυτό που έστειλε ο αποστολέας Αυθεντικοποίηση: Το μήνυμα το έστειλε αυτός που φαίνεται ως αποστολέας Μία λύση: MACs Μειονεκτήματα συμμετρικής κρυπτογραφίας 3 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Ψηφιακές υπογραφές-ασύμμετρα MACs Ο αποστολέας (υπογράφων S) εκτελεί αλγόριθμο KeyGen και παράγει τα (key sign, key ver ) Το κλειδί επαλήθευσης πρέπει να είναι δημόσιο Το κλειδί υπογραφής πρέπει να διατηρείται μυστικό Δημοσιοποιεί το κλειδί επαλήθευσης (web site, κατάλογο) Πριν την αποστολή υπογράφει το μήνυμα (με το key sign ) παράγοντας την υπογραφή σ Αποστέλλει το ζεύγος (m, σ) Η υπογραφή εξαρτάται από το μήνυμα Η υπογραφή είναι άχρηστη χωρίς το μήνυμα Ο παραλήπτης (επαληθεύων V ) ελέγχει αν η υπογραφή που έλαβε είναι έγκυρη (με το key ver ) 4 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Πλεονεκτήματα Εύκολη διανομή κλειδιού Δημόσια Επαληθευσιμότητα Δεν επαληθεύει μόνο ο παραλήπτης Μη αποκήρυξη (non repudiation) Εσωτερικός αντίπαλος Ο υπογράφων δεν μπορεί να αρνηθεί τις υπογραφές του Επιπλέον λειτουργίες Αυθεντικοποίηση χρηστών (λόγω κατοχής του ιδιωτικού κλειδού) Ανωνυμία (τυφλές υπογραφές) Αντιπροσωπεία από ομάδα (ομαδικές υπογραφές)... 5 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Μειονεκτήματα Λύσαμε το πρόβλημα διανομής κλειδιού Δημιουργήσαμε το πρόβλημα αυθεντικότητας κλειδιού Πώς είμαστε σίγουροι πως το ζεύγος κλειδιών αντιστοιχεί όντως στον S; Πώς είμαστε σίγουροι πώς το key sign ήταν στην κατοχή του S κατά τη δημιουργία της υπογραφής; 6 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Ορισμός Σχήμα Υπογραφής Μια τριάδα από αλγόριθμους KeyGen(1 λ ) = (key sign, key ver ) Sign(key sign, m) = σ, m {0, 1} Verify(key ver, m, σ) {0, 1} Ορθότητα Verify(key ver, m, Sign(key sign, m)) = 1 Έγκυρες υπογραφές: ικανοποιούν την απαίτηση της ορθότητας 7 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Επιθέσεις Πλαστογραφία(Forgery) O A με δεδομένα το δημόσιο κλειδί επαλήθευσης και ένα μήνυμα παράγει μια έγκυρη υπογραφή χωρίς την συμμετοχή του S. Είδη Επιθέσεων Καθολική πλαστογράφηση: Ο A μπορεί να παράγει έγκυρες υπογραφές σε όποιο μήνυμα θέλει ( κατοχή ιδιωτικού κλειδιού) Επιλεκτική πλαστογράφηση: Ο A μπορεί να παράγει 1 έγκυρη υπογραφή σε μήνυμα (με νόημα) της επιλογής του Υπαρξιακή πλαστογράφηση: Ο A μπορεί να παράγει 1 έγκυρη υπογραφή (τυχαία bits) σε τυχαίο μήνυμα 8 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Αντίπαλοι I Είδη Αντιπάλων Παθητικός (passive): Απλά γνωρίζει το κλειδί επαλήθευσης και ζεύγη μηνυμάτων, έγκυρων υπογραφών Ενεργός (active): Μπορεί να αποκτήσει έγκυρες υπογραφές σε μηνύματα της επιλογής του Ενεργός με προσαρμοστικότητα (adaptive active): Μπορεί να αποκτήσει έγκυρες υπογραφές σε μηνύματα της επιλογής του που εξαρτώνται από προηγουμενες έγκυρες υπογραφές 9 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Αντίπαλοι II Ασφάλεια ως προς τον δυνατότερο αντίπαλο - ευκολότερη επίθεση Διαισθητικά Ένα σχήμα υπογραφής είναι ασφαλές αν δεν επιτρέπει σε έναν ενεργό αντίπαλο με προσαρμοστικότητα να επιτύχει υπαρξιακή πλαστογράφηση 10 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Ορισμός Ασφάλειας Το παιχνίδι πλαστογράφησης Forge Game Ο S εκτελεί τον αλγόριθμο KeyGen(1 λ ) και παράγει τα (pk, sk) Ο A έχει πρόσβαση σε ένα μαντειο υπογραφών Sign(sk, ) με το οποίο αποκτά ένα σύνολο έγκυρων υπογραφών Q = {(m i, σ i )} γιατί στην πραγματική ζωή μπορεί να χρησιμοποιήσει παλιότερες υπογραφές O A επιλέγει ένα μήνυμα m και παράγει το ζεύγος (m, σ) Forge Game(A) = 1 Verify(key ver, m, σ) = 1 (m, σ) Q O A κερδίζει το παιχνίδι αν Pr[Forge Game(A) = 1] = non negl(λ) 11 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Ψηφιακές Υπογραφές RSA Δημιουργία Κλειδιών: KeyGen(1 λ ) = (d, (e, n)) n = p q, p, q πρώτοι αριθμοί λ 2 bits Επιλογή e ώστε gcd(e, φ(n)) = 1 d = e 1 (mod φ(n)) με EGCD Υπογραφή - Αποκρυπτογράφηση Sign(d, m) = m d mod n Επαλήθευση - Κρυπτογράφηση Verify((e, n), m, σ) = σ e =? m (mod n) Ορθότητα Verify((e, n), m, m d mod n) = m d e = m (mod n)...αλλά καθόλου ασφάλεια 12 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Επίθεση Χωρίς Μήνυμα (No message attack) O A έχει στη διάθεση του δημόσιο κλειδί (e, n) Q = - δεν υποβάλλονται μηνύματα για υπογραφή Επιλογή τυχαίου σ Z n Kρυπτογράφηση σ: σ e mod n = m Το ζεύγος (m, σ) είναι έγκυρο και Q O A κερδίζει με πιθανότητα 1 Έχει νόημα; - Ναι, το m μπορεί να είναι αποτέλεσμα κωδικοποίησης 13 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Επίθεση Επιλεγμένων Μηνυμάτων (Chosen message attack) O A έχει στη διάθεση του δημόσιο κλειδί (e, n) και θέλει να πλαστογραφήσει υπογραφή για m Z n O A χρησιμοποιώντας το μαντείο αποκτά τις υπογραφές 2 μηνυμάτων Q = {(m 1, σ 1 ), ( m m 1, σ 2 )} με m 1 R Z n Υπολογισμός σ = σ 1 σ 2 = m d 1 ( m m 1 ) d = m d mod n H σ είναι έγκυρη υπογραφή για το m και Q 14 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

RSA - FDH (Full Domain Hash) I Δημιουργία Κλειδιών: KeyGen(1 λ ) = (d, (e, n)) N = p q, p, q πρώτοι αριθμοί λ 2 bits Επιλογή e ώστε gcd(e, φ(n)) = 1 d = e 1 (mod φ(n)) με EGCD Χρήση δημόσια διαθέσιμης τυχαίας συνάρτησης H : {0, 1} Z n Υπογραφή Υπολογισμός H(m) Sign(d, m) = H(m) d mod n Επαλήθευση Υπολογισμός H(m) Verify((e, N), m, σ) = σ e =? H(m) (mod N) 15 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

RSA - FDH (Full Domain Hash) II Ορθότητα Verify((e, N), m, H(m) d ) = H(m) d e = H(m) (mod N) Υλοποίηση: συνάρτηση σύνοψης με δυσκολία εύρεσης συγκρούσεων Πλεονέκτημα: Μπορεί να χρησιμοποιηθεί για υπογραφή τυχαίων συμβολοσειρών και όχι μόνο στοιχείων του Z n 16 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

RSA - FDH (Full Domain Hash) III Επίθεση χωρίς μήνυμα Επιλογή τυχαίου σ Z n Η κρυπτογράφηση δίνει τη σύνοψη h = σ e mod n όχι το μήνυμα Για το μήνυμα πρέπει m : H(m) = h Δυσκολία αντιστροφής 17 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

RSA - FDH (Full Domain Hash) IV Επίθεση επιλεγμένων μηνυμάτων O A έχει στη διάθεση του δημόσιο κλειδί (e, n) και θέλει να πλαστογραφήσει υπογραφή για m Z n O A χρησιμοποιώντας το μαντείο αποκτά τις υπογραφές 2 μηνυμάτων Q = {(m 1, σ 1 ), ( m m 1, σ 2 )} με m 1 R Z n Υπολογισμός σ = σ 1 σ 2 = H(m 1 )H( m m 1 ) Δυσκολία αντιστροφής Απόδειξη Ασφάλειας: Πρέπει η H να δίνει τυχαίες τιμές Αρκούν οι ιδιότητες τους (one-way-ness, collision resistance); ΟΧΙ Το μοντέλο του τυχαίου μαντείου (M. Bellare, P. Rogaway, -1993) 18 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Συναρτήσεις σύνοψης ως τυχαίες συναρτήσεις - informal Θεωρητικά θα θέλαμε να συμπεριφέρονται ως τυχαίες συναρτήσεις Πρακτικά όμως:αδύνατον να κατασκευαστούν Συνάρτηση H : {0, 1} n {0, 1} l(n) Κατασκευή ως πίνακας τιμών: Απαιτούνται 2 n γραμμές Έισοδος Έξοδος 0 00 r 1 0 01 r 2 1 11 r l(n) Συμπίεση: Μείωση τυχαιότητας Ακόμα και να μπορούσαν να κατασκευαστούν αδύνατη αποθήκευση εκθετική αποτίμηση (μη αποδεκτή και για χρήστη και για αντίπαλο) 19 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Συναρτήσεις σύνοψης και αποδείξεις ασφάλειας I Τυχαίο Μαντείο - Αφαιρετική αναπαράσταση συνάρτησης σύνοψης Μαύρο κουτί - απαντάει σε ερωτήσεις (Τέλεια) Ασφάλεια στο κανάλι επικοινωνίας (μοντελοποίηση τοπικής αποτίμησης) Είναι συνάρτηση (ίδια είσοδος - ίδια έξοδος σε κάθε κλήση) Είναι συνάρτηση σύνοψης (υπάρχουν συγκρούσεις - αλλά είναι δύσκολο να βρεθούν) 20 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Συναρτήσεις σύνοψης και αποδείξεις ασφάλειας II Lazy Evaluation Εσωτερικός πίνακας - αρχικά άδειος Για κάθε ερώτηση: έλεγχος αν έχει ήδη απαντηθεί Αν ναι, τότε ανάκτηση της απάντησης Αν όχι, απάντηση με τυχαία τιμή και αποθήκευση για μελλοντική αναφορά 21 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Συναρτήσεις σύνοψης και αποδείξεις ασφάλειας III Αποδείξεις στο μοντέλο τυχαίου μαντείου (Bellare - Rogaway) Ο A νομίζει ότι αλληλεπιδρά με το τυχαίο μαντείο Στην πραγματικότητα το προσομοιώνει η αναγωγή (programmability) Μπορούμε να μάθουμε τις ερωτήσεις του A Στο πραγματικό πρωτόκολλο το τυχαίο μαντείο αντικαθίσταται από μία πραγματική συνάρτηση (πχ. SHA256) 22 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Απόδειξη Ασφάλειας Hashed RSA Theorem Αν το πρόβλημα RSA είναι δύσκολο, τότε οι υπογραφές Hashed RSA παρέχουν ασφάλεια έναντι πλαστογράφησης στο μοντέλο του τυχαίου μαντείου. Γενική κατασκευή: Ο A μπορεί να κατασκευάσει πλαστογράφηση υπογραφής Κατασκευή B που με χρήση του A και ενός τυχαίου μαντείου μπορεί να αντιστρέψει το RSA Είσοδος B Δημόσιο κλειδί (e, N) Στοιχείο y Z n Έξοδος B x = y 1 e 23 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Απόδειξη Ασφάλειας Hashed RSA Επίθεση χωρίς μήνυμα I Υπόθεση Για την πλαστογράφηση (m, σ) έχει προηγουμένως ερωτηθεί στο μαντείο το H(m) Συνέπεια Εφόσον η πλαστογράφηση είναι έγκυρη υπογραφή πρέπει σ e = H(m) Άρα σ = H(m) 1 e 24 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Απόδειξη Ασφάλειας Hashed RSA Επίθεση χωρίς μήνυμα II Ο B προωθεί το (e, N) στον A O A κάνει q = poly(λ) ερωτήσεις στο μαντείο για μηνύματα {m i } q i=1 και λαμβάνει τις απαντήσεις {H(m i)} q i=1 r Z n Ο B επιλέγει τυχαία μία ερώτηση και αντικαθιστά την απάντηση (mi ) με το y Ο B ελπίζει ότι στο (mi ) θα γίνει η πλαστογράφηση Αν έχει δίκιο, τότε ο A εξάγει την πλαστογραφία (m, σ) με πιθανότητα p Δηλαδή: σ e = y σ = y 1 e Ο B προωθεί το σ στην έξοδο Με πιθανότητα επιτυχίας p q θα ισχύει σ = y 1 e Αν p αμελητέο τότε p q αμελητέο 25 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Απόδειξη Ασφάλειας Hashed RSA Επίθεση χωρίς μήνυμα III 26 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Απόδειξη Ασφάλειας Hashed RSA Επίθεση επιλεγμένου μηνύματος I Σενάριο A πρέπει να υπολογίσει έγκυρες υπογραφές Ζητάει συνόψεις και υπογραφές από τον B Συνόψεις: το τυχαίο μαντείο Υπογραφές: Πρέπει να τις απαντήσει ο B...χωρίς το ιδιωτικό κλειδί Λύση Αντικατάσταση H(m) με σ e για γνωστό σ Τετριμμένη επαλήθευση σ e = σ e (= H(m)) 27 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Απόδειξη Ασφάλειας Hashed RSA Επίθεση επιλεγμένου μηνύματος II Ο B προωθεί το (e, N) στον A O A κάνει q ερωτήσεις στο μαντείο για μηνύματα {m i } q i=1 Κάθε ερώτηση απαντάται από τον B ως εξής: Επιλέγει τυχαίο σ i Z n Υπολογίζει y i = H(m i ) = σi e mod N Επιστρέφει y i Aποθηκεύει τις τριάδες T = (m i, y i, σ i ) O A ζητάει υπογραφές Για κάθε σύνοψη y i γίνεται αναζήτηση στον T για την τριάδα και επιστρέφεται το σ i Οι υπογραφές είναι έγκυρες αφού σ e i = y i Ο B μαντεύει ποιο ερώτημα στο RO θα οδηγήσει στην πλαστογράφηση. Το απαντάει με y Για το συγκεκριμένο δεν θα ζητηθεί υπογραφή, αλλά το σ θα παραχθεί από τον A (πλαστογράφηση) 28 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Απόδειξη Ασφάλειας Hashed RSA Επίθεση επιλεγμένου μηνύματος III Για να είναι έγκυρη η πλαστογράφημενη υπογραφή πρέπει σ e = y,δηλαδή σ = y 1 e Πιθανότητα επιτυχίας A p και πιθανότητα επιτυχίας B p q Αν p αμελητέο τότε p q αμελητέο 29 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Απόδειξη Ασφάλειας Hashed RSA Επίθεση επιλεγμένου μηνύματος IV 30 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Το μοντέλο του τυχαίου μαντείου - κριτική Μειονεκτήματα Άχρηστη απόδειξη - Καμία πραγματική συνάρτηση H δεν είναι random oracle Εσωτερική χρήση - Δεν φαίνονται οι τιμές στις οποίες αποτιμάται Programmability - Η περιγραφή της συνάρτησης είναι σταθερή στην πραγματικότητα Ύπαρξη θεωρητικών σχημάτων τα οποία αποδεικνύονται ασφαλή, αλλά οποιαδήποτε κατασκευή τους είναι μη ασφαλής Πλεονεκτήματα Απόδειξη με χρήση τυχαίου μαντείου είναι καλύτερη από απουσία απόδειξης Η μόνη αδυναμία: η συνάρτηση σύνοψης Δεν υπάρχουν πραγματικές επιθέσεις που να έχουν εκμεταλλευτεί την απόδειξη μέσω τυχαίου μαντείου 31 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Σχήμα Υπογραφής ElGamal I Δημιουργία Κλειδιών: Επιλογή πρώτου p. Δουλεύουμε στο Z p ΠΡΟΣΟΧΗ! Επιλογή γεννήτορα g Επιλογή x {2 p 2} και υπολογισμός του y = g x (mod p) Δημόσιο κλειδί (p, g, y), ιδιωτικό κλειδί x. Υπογραφή Μηνύματος m Επιλογή τυχαίου k Z p 1. gcd(k, p 1) = 1 Υπολογισμός r = g k mod p s = (m xr)k 1 mod (p 1) Υπογραφή είναι:(r, s) Δύο ακέραιοι μεγέθους O( p ) 32 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Σχήμα Υπογραφής ElGamal II Επαλήθευση υπογραφής { στο m 1, y r r s g m (mod p) Verify(y, m, (r, s)) = 0, y r r s g m (mod p) και k < p Ορθότητα y r r s g xr g ks = g xr+ks g m (mod p) το οποίο ισχύει λόγω της κατασκευής του s 33 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Παρατηρήσεις Πιθανοτικό σχήμα υπογραφής - πολλές έγκυρες υπογραφές για ένα μήνυμα m (τυχαίο k) Η συνάρτηση επαλήθευσης δέχεται οποιαδήποτε από αυτές ως έγκυρη Χειρισμός Τυχαιότητας Το τυχαία επιλεγμένο k πρέπει να κρατείται κρυφό H επανάληψη της χρήσης του ίδιου k καθιστά για τον A εφικτό τον υπολογισμό του 34 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Επίθεση επανάληψης κλειδιού Χρήση ίδιου εφήμερου κλειδιού στην υπογραφή δύο μηνυμάτων m 1, m 2 sign(x, m 1 ) = (r, s 1 ) με s 1 = (m 1 xr)k 1 sign(x, m 2 ) = (r, s 2 ) με s 2 = (m 2 xr)k 1 Αφαιρούμε κατά μέλη: s 1 s 2 = (m 1 m 2 )k 1 Υπάρχουν d = gcd(s 1 s 2, p 1) λύσεις της μορφής k = m 1 m 2 s 1 s 2 1 d d + i p 1 d mod p 1, i {0,, d 1} Δοκιμή όλων των k ως προς το γνωστό r Yπολογισμός ιδιωτικού κλειδιού 35 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Ασφάλεια έναντι πλαστογράφησης I Στόχος: g xr r s g m (mod p) 1 Επιλέγω m και προσπαθώ να βρώ r, s για έγκυρη υπογραφή Επιλέγω r, ψάχνω s. Πρέπει r s g m g xr (mod p) (επίλυση DLP). Επιλέγω s, ψάχνω r. Πρέπει: g xr g m r s (mod p) Ανοιχτό πρόβλημα - δε γνωρίζουμε σχέση με DLP 2 Επιλέγω r και s, ψάχνω m: DLP ξανά. 36 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Ασφάλεια έναντι πλαστογράφησης II 3 Κατασκευή r, s, m ταυτόχρονα. Επιλέγω i, j με 0 i, j p 2, και gcd(j, p 1) = 1 και θέτω: r = g i (g x ) j mod p s = r j 1 mod p 1 m = r i j 1 mod p 1 Τα (r,s) επαληθεύουν την υπογραφή Εφικτό σενάριο, δίνει υπογραφή για τυχαίο m Aντιμετώπιση με redundancy function / hash function 37 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Πρότυπο Ψηφιακής Υπογραφής (Digital Signature Standard DSS) Βασικά Στοιχεία NIST, 1991. Παραλλαγή του ElGamal, μικρότερο μέγεθος υπογραφής. Ιδέα: λειτουργία σε μια υποομάδα της Z p, τάξης 2 160. Τα r, s είναι εκθέτες δυνάμεων του γεννήτορα της υποομάδας. 38 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Παραγωγή κλειδιών DSS 1 Επιλογή πρώτων q μεγέθους 160-bit και p μεγέθους n-bit, n = 64λ, λ = 8, 9, 10,..., 16, με q (p 1). 2 Εύρεση g γεννήτορα της υποομάδας τάξης q του Z p 3 Επιλογή ιδιωτικού κλειδιού x Z q. 4 Υπολογισμός g x mod p. Δημόσιο κλειδί: (p, q, g, y), y = g x mod p. Ιδιωτικό κλειδί: x. 39 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

DSS:Δημιουργία υπογραφής 1 Ο υπογράφων επιλέγει έναν τυχαίο ακέραιο k, 1 k (q 1). 2 Υπολογίζει τα r = (g k mod p) mod q s = (H(m) + x r)k 1 mod q 3 Αν συμβεί r, s 0 (mod q) η διαδικασία επαναλαμβάνεται 4 Υπογραφή: (r, s). 40 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

DSS:Επαλήθευση υπογραφής DSA Ο B υπολογίζει: h = H(m) e 1 = s 1 h mod q e 2 = rs 1 mod q Verify(y, m, (r, s)) = 1 (g e 1 (y) e 2 mod p) mod q = r Ορθότητα g e 1 (y) e 2 = g hs 1 g xrs 1 g hs 1 +xrs 1 = g (h+xr)s 1 = g kss 1 = g k (modp mod q) 41 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Ψηφιακές Υπογραφές - ECDSA I Δημιουργία κλειδιών Δημόσια Διαθέσιμες Παράμετροι: (p, a, b, #E, q, G) Ιδιωτικό κλειδί: Ένας τυχαίος ακέραιος x {1,, q 1} Δημόσιο κλειδί: Το σημείο Y = xg E 42 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Ψηφιακές Υπογραφές - ECDSA II Υπογραφή Υπολογισμός σύνοψης του μηνύματος h = H(M) και προσαρμογή της στο [0,, q 1] Επιλογή τυχαίου αριθμού k στο σύνολο {1,, q 1} Υπoλογισμός του σημείου P = kg = (x P, y P ). Υπολογισμός του r = x P mod q Αν r = 0 (mod q) τότε επιλέγεται καινούριο k και η διαδικασία επαναλαμβάνεται. Υπολογισμός του s = k 1 (h + r x) mod q Αν s = 0 τότε επιλέγεται καινούριο k και η διαδικασία επαναλαμβάνεται. Η υπογραφή είναι το ζεύγος (r, s) 43 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Ψηφιακές Υπογραφές - ECDSA III Επαλήθευση Υπολογισμός του u 1 = s 1 h mod q Υπολογισμός του u 2 = s 1 r mod q Υπολογισμός του σημείου P = u 1 G + u 2 Y H υπογραφή είναι έγκυρη αν r = x P (mod q) Ορθότητα: Υπολογισμός ίδιου σημείου με 2 τρόπους Υπογραφή P = kg Επαλήθευση P = u 1 G + u 2 Y P = u 1 G + u 2 Y = s 1 (h + rx)g = k(h + rx) 1 (h + rx)g = kg = P 44 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Πρακτική χρήση ψηφιακών υπογραφών Διαφορά Συμμετρικών - Ασύμμετρων Κρυπτοσυστημάτων Συμμετρικά: Δύσκολη διανομή, Εύκολη Αυθεντικότητα (λόγω φυσικών υποθέσεων) Ασύμμετρα: Εύκολη διανομή, Δύσκολη Αυθεντικότητα Αντιστοιχία (?) Ταυτότητας Χρήστη - Δημοσίου, Ιδιωτικού Κλειδιού (binding) Ενεργός αντίπαλος - Πλαστοπροσωπία - αλλαγή κλειδιών Απαραίτητη η διασφάλιση για χρήση σε ευρεία κλίμακα Δεν υπάρχει λύση που να δουλεύει θεωρητικά και πρακτικά Στην πράξη: μετάθεση του προβλήματος με μείωση της έκτασης (αρκεί 1 αυθεντικό κλειδί) 45 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Αρχές Πιστοποίησης (Certification Authorities - CAs) Έμπιστες Τρίτες Οντότητες - (Πάροχοι Υπηρεσιών Πιστοποίησης) Πιστοποίηση Αντιστοιχίας Ταυτότητας Κλειδιών Εγγυάται ότι το δημόσιο κλειδί όντως αντιστοιχεί στον χρήστη Πώς; Υπογράφοντας ψηφιακά τo ζεύγος (ID, PK ID ) Πλεονέκτημα: Μείωση κλειδιών που πρέπει να αποκτήσουμε με έμπτιστο τρόπο Μόνο το κλειδί της CA Για τα υπόλοιπα εγγύαται το πιστοποιητικό Μειονέκτημα Ποιος εγγυάται την σχέση κλειδιών-ταυτότητας για την CA; Η ίδια! (υπογράφει η ίδια μία δήλωση για τον εαυτό της) ή μια άλλη ανώτερη αρχή πιστοποίησης! 46 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Ιεραρχική Οργάνωση Αρχών Πιστοποίησης Ενδιάμεσες Αρχές: Υπογραφή από ανώτερη αρχή Ριζικές (Root) Αρχές: Υπογράφουν μόνες τους Συνήθως 3-4 επίπεδα 47 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Υποδομή Δημοσίου Κλειδιού Οργάνωση των αρχών πιστοποίησης και των σχετικών υπηρεσιών Loren Kohnfelder, MIT BSc thesis, 1978 Ευρεία προτυποποίηση (ITU X.500, RFC 6818) Πρόσβαση σε υπηρεσίες καταλόγου X.509: Συσχέτιση οντότητας με δημόσιο κλειδί Ψηφιακό Πιστοποιητικό: Δήλωση σχέσης κλειδιού - ονόματος Επιπλέον πληροφορίες για την επαλήθευση 48 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Πιστοποιητικό X.509 - Δομή 49 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Πιστοποιητικό X.509 - Παράδειγμα 50 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Απόκτηση πιστοποιητικών Προεγκατάσταση στο λειτουργικό σύστημα Προεγκατάσταση στον περιηγητή Απόκτηση από αρχείο/ιστοσελίδα Απόκτηση από νομική οντότητα (εταιρεία, κράτος) 51 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Αρχές Πιστοποίησης - Άλλες υπηρεσίες Διάδοση Πιστοποιητικών σε αποθετήρια Εγγραφή-Επαλήθευση Ταυτότητας Χρηστών Δημιουργία κρυπτογραφικών κλειδιών (αυστηρές προδιαγραφές ασφάλειας) Ανάκληση Πιστοποιητικών - Ενημέρωση Χρονοσήμανση - Αρχειοθέτηση 52 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Ανάκληση Πιστοποιητικών Άκυρα πιστοποιητικά Απώλεια κλειδιού υπογραφής, Αλλαγή Στοιχείων Υποκειμένου, Ενημέρωση Χρηστών με 2 τρόπους Certificate Revocation Lists (CRL): Μαύρη λίστα από SN για πιστοποιητικά που δεν ισχύουν Υπογεγραμμένη από την CA Ανάκτηση σε τακτά χρονικά διαστήματα Πεδίο CDP OCSP (Online Certificate Status Protocol) Ερώτηση στην CA για ισχύ πιστοποιητικού H CA συμμετέχει σε κάθε συναλλαγή 53 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Εναλλακτικές Προσεγγίσεις I Ομότιμη έκδοση και επαλήθευση ταυτότητας (web of trust) Κάθε χρήστης είναι CA Υπογράφει αντιστοιχίες που γνωρίζει Λήψη πιστοποιητικών μόνο από γνωστούς χρήστες O κάθε χρήστης εγγυάται για τους γνωστούς του PGP 54 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Εναλλακτικές Προσεγγίσεις II Identity based cryptography Signatures:Shamir 1984 Encryption:Boneh-Franklin (2001) Οποιοδήποτε όνομα κάποιου χρήστη πχ. email είναι η ταυτότητα Δεν χρειάζεται διανομή κλειδιού Χρειάζεται κεντρική TTP Παράγει τα ιδιωτικά κλειδιά από την ταυτότητα 55 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Identity based signatures TTP έχει κλειδί RSA ((e, n), d) Δημιουργία ιδιωτικού κλειδιού από ταυτότητα χρήστη id Υπογραφή σύνοψης της ταυτότητας k = H(id) d mod n Ασφαλής Διανομή στον κάτοχο Υπογραφή από χρήστη id Επιλογή τυχαίου r t = r e mod n s = k r H(m t) mod n Επαλήθευση υπογραφής με την ταυτότητα: Έλεγχος αν: H(id)t H(m t) = s e Ορθότητα: H(id)t H(m t) = k e r eh(m t) = s e 56 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Διαμοιρασμός απορρήτων - Εισαγωγή Το πρόβλημα Κλειδιά: κρίσιμα κρυπτογραφικά δεδομένα (όχι τα μόνα) Για παράδειγμα: ιδιωτικό κλειδί Δύναμη αποκρυπτογράφησης Δύναμη υπογραφής Λύση Δεν θέλουμε να είναι στην φυσική κατοχή μίας οντότητας (μόνο) Διαμοιρασμός απορρήτων (Secret Sharing) Επιπλέον Βασικό συστατικό Secure Multi Party Computation 57 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Additive secret sharing Έστω (G, +) μια ομάδα και s G το μυστικό το οποίο θέλουμε να μοιράσουμε σε n παίκτες Διαλέγουμε τυχαία s 1, s n 1 G Θέτουμε s n = s n 1 i=1 s i Μοιράζουμε τα {s i } n i=1 στους παίκτες Ανακατασκευή s = n i=1 s i Πρόβλημα: Ένας παίκτης μπορεί να ακυρώσει την ανακατασκευή 58 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Threshold Secret Sharing (t, n) threshold secret sharing Ένα μυστικό s πρέπει να μοιραστεί σε n παίκτες P 1, P 2, P n ώστε: Οποιοδήποτε υποσύνολο από τουλάχιστον t + 1 παίκτες να μπορεί να το ανακτήσει Κανένα υποσύνολο με t παίκτες να μην μπορεί Υπόθεση Εμπιστεύομαστε τον διανομέα D και τους παίκτες 59 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Shamir Secret Sharing I Πολυωνυμική παρεμβολή Έστω ένα πολυώνυμο βαθμού t: f (x) = a 0 + a 1 x + + a t x t Μπορεί να ανακατασκευαστεί από t + 1 σημεία (x i, f (x i )) με διαφορετικές τετμημένες Υπάρχουν άπειρα πολυώνυμα βαθμού t + 1 που περνούν από t + 1 τέτοια σημεία Ανάκτηση πολυωνύμου: συντελεστές Lagrange λ i (x) = t k=0,k i x x k x i x k Προκύπτει το L(x) = t i=0 y iλ i (x) = y 0 λ 0 (x) + y 1 λ 1 (x) + y t λ t (x) Αποδεικνύεται ότι είναι μοναδικό L = f 60 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Shamir Secret Sharing II 61 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Shamir Secret Sharing III Εφαρμογή στο διαμοιρασμό απορρήτων Υποθέτουμε ότι διαθέτουμε έναν έμπιστο διανομέα: Επιλέγει και δημοσιοποιεί ένα πρώτο p Επιλέγει t συντελεστές ενός πολυωνύμου βαθμού t {a t, a 1 } R Z p Θέτει ως σταθερό όρο το μυστικό s Προκύπτει το πολυώνυμο f (x) = a t x t + a t 1 x t 1 + + a 1 x + s (mod p) f (0) = s Μοιράζει στον παίκτη i την τιμή (i, f (i)) 62 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Shamir Secret Sharing IV Ανακατασκευή Παρατήρηση: Δεν μας ενδιαφέρει να υπολογίσουμε το πολυώνυμο f αλλά το f (0) Κάθε παίκτης i υπολογίζει τους συντελεστές Lagrange λ i (0) = t+1 k k=1,k i i k mod p t + 1 παίκτες μπορούν να υπολογίσουν το f (0) ως: t+1 i=1 f (i)λ i(0) mod p Ανακτούν το μυστικό υπολογίζοντας το p(0) 63 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Παρατηρήσεις I Πληροφοριοθεωρητική ασφάλεια αν ο αντίπαλος διαθέτει λιγότερα μερίδια Μπορούν να προστεθούν εύκολα καινούρια μερίδια, χωρίς να αλλάξουν τα παλιά: Υπολογισμός νέων σημείων Εύκολη αντικατάσταση μεριδίων: Υπολογισμός νέων σημείων (πρέπει να γίνει ασφαλής καταστροφή των παλιών) Σημαντικοί παίκτες: περισσότερα από ένα μερίδια Αλλαγή Μεριδίων: Τροποποίηση πολυωνύμου χωρίς να αλλάξει το μυστικό Ομομορφικές ιδιότητες (άθροισμά πολυωνύμων είναι πολυώνυμο) s 1 + s 2 = f (0) + g(0) = (f + g)(0) 64 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Παρατηρήσεις II Μειονεκτήματα: Εμπιστοσύνη Κακόβουλος διανομέας: Λανθασμένα μερίδια σε τμήμα των παικτών Κακόβουλος παίκτης: Παροχή λανθασμένων μεριδίων κατά τη διάρκεια της ανακατασκευής Λύση: Συνδυασμός με σχήμα δέσμευσης (Verifiable Secret Sharing) Ο διανομέας μαζί με τα μερίδια παρέχει και δεσμεύσεις για τους συντελεστές Οι παίκτες επαληθεύουν ότι οι δεσμεύσεις δίνουν το σημείο τους 65 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Εφαρμογή: Threshold ElGamal I Δημιουργία Κλειδιών Επιλογή δύο μεγάλων πρώτων p, q ώστε q (p 1) Επιλογή της υποομάδας τάξης q του Z και γεννήτορα g Επιλογή τυχαίου x Z q Κανονικός υπολογισμός δημοσίου κλειδιού y = g x mod p Χρήση σχήματος Shamir για διαμοιρασμό του ιδιωτικού x (mod q) Αποτέλεσμα KeyGen(1 λ ) = (y, {i, f (i)} n i=1 ) Κρυπτογράφηση Κανονικά Encrypt(y, m) = (G, M) = (g r, m y r ) 66 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Εφαρμογή: Threshold ElGamal II Αποκρυπτογράφηση Σε δύο βήματα 1 Αποκρυπτογράφηση μεριδίων Κάθε παίκτης υπολογίζει και δημοσιοποιεί το c i = G f (i) mod p 2 Συνδυασμός Συγκεντρώνονται t + 1 αποκρυπτογραφημένα μερίδια (i, c i) τα οποία συνδυάζονται ως: C = i c λ i (0) i = i όπου λ i οι συντελεστές Lagrange Αποκρυπτογράφηση ως: G f (i)λ i (0) = G i f (i)λ i (0)) = G f (0) = 67 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές M C G x

Παρατηρήσεις Υπολογιστική ασφάλεια ως προς τα c i Ίδια κρυπτογράφηση Αποκρυπτογράφηση χωρίς ανακατασκευή του ιδιωτικού κλειδιού (δυνατότητα επαναχρησιμοποίησης) 68 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές

Βιβλιογραφία I 1 St. Zachos and Aris Pagourtzis. Στοιχεία Θεωρίας Αριθμών και Εφαρμογές στην Κρυπτογραφία. Πανεπιστημιακές Σημειώσεις 2 Jonathan Katz and Yehuda Lindell. Introduction to Modern Cryptography (Chapman and Hall/Crc Cryptography and Network Security Series). Chapman and Hall/CRC, 2007 3 Paar, Christof, and Jan Pelzl. Understanding cryptography: a textbook for students and practitioners. Springer Science-Business Media, 2009. 4 Kiayias, Aggelos Cryptography primitives and protocols, UoA, 2015 5 Nigel Smart. Introduction to cryptography 6 M. Green What is the Random Oracle Model and why should you care? 7 M. Bellare, P. Rogaway, (1993). Random Oracles are Practical: A Paradigm for Designing Efficient Protocols. ACM Conference on Computer and Communications Security: 62 73. 8 R. Canetti, O. Goldreich, and S. Halevi. The random oracle methodology, revisited. Journal of the ACM, 51(4):557 594, 2004. 9 Adi Shamir, How to share a secret. Communications of the ACM 22.11 (1979): 612-613. 10 Helger Lipmaa, 79.159 Cryptography and Data Security, 24.03.2004 Lecture 9: Secret Sharing, Threshold Cryptography, MPC 11 J. Kuhn The Mathematics of Secret Sharing 69 / 69 (ΕΜΠ - Κρυπτογραφία - (2016-2017)) Ψηφιακές Υπογραφές